From 4b910dc912d4691b47e6482f7e009cafd4eac907 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BF=97=E5=AE=87?= Date: Mon, 4 Mar 2019 20:04:12 +0800 Subject: [PATCH] first implementation of skywire mainnet --- CONTRIBUTE.md | 9 + Makefile | 23 + README.md | 145 + ROADMAP.md | 12 + cmd/apps/chat/README.org | 44 + cmd/apps/chat/chat.go | 150 + cmd/apps/chat/static.go | 262 + cmd/apps/chat/static/index.html | 215 + cmd/apps/helloworld/helloworld.go | 64 + cmd/apps/therealproxy-client/README.org | 8 + .../therealproxy-client.go | 49 + cmd/apps/therealproxy/README.org | 50 + cmd/apps/therealproxy/therealproxy.go | 31 + cmd/apps/therealssh-client/README.org | 6 + .../therealssh-client/therealssh-client.go | 38 + cmd/apps/therealssh/README.org | 62 + cmd/apps/therealssh/therealssh.go | 56 + cmd/manager-node/README.md | 15 + cmd/manager-node/commands/root.go | 94 + cmd/manager-node/manager-node.go | 10 + .../manager-node.postman_collection.json | 788 + cmd/skywire-cli/README.org | 8 + cmd/skywire-cli/commands/app.go | 115 + cmd/skywire-cli/commands/config.go | 85 + .../commands/messaging-discovery.go | 85 + cmd/skywire-cli/commands/root.go | 58 + cmd/skywire-cli/commands/route-finder.go | 73 + cmd/skywire-cli/commands/rules.go | 239 + .../commands/transport-discovery.go | 99 + cmd/skywire-cli/commands/transports.go | 208 + cmd/skywire-cli/skywire-cli.go | 10 + cmd/skywire-node/commands/root.go | 72 + cmd/skywire-node/config.json | 40 + cmd/skywire-node/skywire-node.go | 10 + cmd/therealssh-cli/README.org | 5 + cmd/therealssh-cli/commands/root.go | 142 + cmd/therealssh-cli/therealssh-cli.go | 12 + go.mod | 24 + go.sum | 53 + internal/httpauth/auth.go | 82 + internal/httpauth/client.go | 179 + internal/httpauth/client_test.go | 48 + internal/httputil/json.go | 45 + internal/ioutil/ack.go | 268 + internal/ioutil/ack_test.go | 152 + internal/ioutil/len_read_writer.go | 61 + internal/ioutil/len_read_writer_test.go | 54 + internal/noise/dh.go | 37 + internal/noise/net.go | 257 + internal/noise/net_test.go | 342 + internal/noise/noise.go | 164 + internal/noise/noise_test.go | 122 + internal/noise/read_writer.go | 170 + internal/noise/read_writer_test.go | 196 + internal/therealproxy/client.go | 75 + internal/therealproxy/server.go | 65 + internal/therealproxy/server_test.go | 66 + internal/therealssh/auth.go | 85 + internal/therealssh/auth_test.go | 42 + internal/therealssh/chan_list.go | 54 + internal/therealssh/channel.go | 288 + internal/therealssh/channel_pty_test.go | 92 + internal/therealssh/channel_test.go | 126 + internal/therealssh/client.go | 265 + internal/therealssh/client_test.go | 146 + internal/therealssh/server.go | 180 + internal/therealssh/server_test.go | 108 + internal/therealssh/session.go | 127 + internal/therealssh/shell.go | 20 + internal/therealssh/shell_darwin.go | 25 + pkg/app/app.go | 285 + pkg/app/app_test.go | 254 + pkg/app/conn.go | 126 + pkg/app/conn_test.go | 92 + pkg/app/packet.go | 38 + pkg/app/protocol.go | 208 + pkg/app/protocol_test.go | 102 + pkg/cipher/cipher.go | 220 + pkg/cipher/cipher_test.go | 82 + pkg/manager/node.go | 528 + pkg/manager/rpc_client.go | 370 + pkg/messaging-discovery/client/client.go | 169 + ...ient_available_servers_integration_test.go | 100 + .../client_clear_entry_integration_test.go | 109 + .../client/client_entry_integration_test.go | 99 + .../client/client_mock_test.go | 355 + .../client_set_entry_integration_test.go | 127 + .../client_update_entry_integration_test.go | 114 + pkg/messaging-discovery/client/entry.go | 263 + pkg/messaging-discovery/client/entry_test.go | 279 + .../client/examples/client_test.go | 89 + .../client/http_message.go | 22 + pkg/messaging-discovery/client/testing.go | 102 + pkg/messaging/README.md | 301 + pkg/messaging/callbacks.go | 21 + pkg/messaging/chan_list.go | 62 + pkg/messaging/channel.go | 221 + pkg/messaging/channel_test.go | 156 + pkg/messaging/client.go | 394 + pkg/messaging/client_test.go | 202 + pkg/messaging/frame.go | 151 + pkg/messaging/handshake.go | 188 + pkg/messaging/handshake_test.go | 135 + pkg/messaging/link.go | 187 + pkg/messaging/link_test.go | 159 + pkg/messaging/pool.go | 227 + pkg/messaging/pool_test.go | 156 + pkg/node/config.go | 166 + pkg/node/config_test.go | 116 + pkg/node/node.go | 467 + pkg/node/node_test.go | 254 + pkg/node/rpc.go | 269 + pkg/node/rpc_test.go | 284 + pkg/route-finder/client/client.go | 131 + pkg/route-finder/client/mock.go | 49 + pkg/router/app_manager.go | 99 + pkg/router/app_manager_test.go | 144 + pkg/router/loop_list.go | 57 + pkg/router/managed_routing_table.go | 51 + pkg/router/managed_routing_table_test.go | 39 + pkg/router/port_list.go | 72 + pkg/router/port_manager.go | 104 + pkg/router/port_manager_test.go | 66 + pkg/router/route_manager.go | 207 + pkg/router/route_manager_test.go | 200 + pkg/router/router.go | 493 + pkg/router/router_test.go | 884 + pkg/routing/boltdb_routing_table.go | 152 + pkg/routing/boltdb_routing_table_test.go | 25 + pkg/routing/loop.go | 41 + pkg/routing/packet.go | 40 + pkg/routing/packet_test.go | 20 + pkg/routing/route.go | 34 + pkg/routing/routing_table.go | 112 + pkg/routing/routing_table_test.go | 50 + pkg/routing/rule.go | 193 + pkg/routing/rule_test.go | 41 + pkg/setup/protocol.go | 240 + pkg/transport-discovery/client/client.go | 171 + pkg/transport-discovery/client/client_test.go | 230 + pkg/transport/discovery.go | 97 + pkg/transport/entry.go | 112 + pkg/transport/handshake.go | 124 + pkg/transport/handshake_test.go | 209 + pkg/transport/log.go | 91 + pkg/transport/log_test.go | 41 + pkg/transport/managed_transport.go | 106 + pkg/transport/manager.go | 393 + pkg/transport/manager_test.go | 213 + pkg/transport/mock.go | 144 + pkg/transport/tcp_transport.go | 197 + pkg/transport/tcp_transport_test.go | 92 + pkg/transport/transport.go | 55 + vendor/github.com/armon/go-socks5/.gitignore | 22 + vendor/github.com/armon/go-socks5/.travis.yml | 4 + vendor/github.com/armon/go-socks5/LICENSE | 20 + vendor/github.com/armon/go-socks5/README.md | 45 + vendor/github.com/armon/go-socks5/auth.go | 151 + .../github.com/armon/go-socks5/credentials.go | 17 + vendor/github.com/armon/go-socks5/request.go | 364 + vendor/github.com/armon/go-socks5/resolver.go | 23 + vendor/github.com/armon/go-socks5/ruleset.go | 41 + vendor/github.com/armon/go-socks5/socks5.go | 169 + vendor/github.com/davecgh/go-spew/LICENSE | 15 + .../github.com/davecgh/go-spew/spew/bypass.go | 145 + .../davecgh/go-spew/spew/bypasssafe.go | 38 + .../github.com/davecgh/go-spew/spew/common.go | 341 + .../github.com/davecgh/go-spew/spew/config.go | 306 + vendor/github.com/davecgh/go-spew/spew/doc.go | 211 + .../github.com/davecgh/go-spew/spew/dump.go | 509 + .../github.com/davecgh/go-spew/spew/format.go | 419 + .../github.com/davecgh/go-spew/spew/spew.go | 148 + vendor/github.com/flynn/noise/.travis.yml | 10 + vendor/github.com/flynn/noise/CONTRIBUTING.md | 1 + vendor/github.com/flynn/noise/LICENSE | 29 + vendor/github.com/flynn/noise/README.md | 5 + vendor/github.com/flynn/noise/cipher_suite.go | 225 + vendor/github.com/flynn/noise/hkdf.go | 49 + vendor/github.com/flynn/noise/patterns.go | 141 + vendor/github.com/flynn/noise/state.go | 510 + vendor/github.com/flynn/noise/vectors.txt | 28640 ++++++++++++++++ vendor/github.com/go-chi/chi/.gitignore | 3 + vendor/github.com/go-chi/chi/.travis.yml | 17 + vendor/github.com/go-chi/chi/CHANGELOG.md | 139 + vendor/github.com/go-chi/chi/CONTRIBUTING.md | 31 + vendor/github.com/go-chi/chi/LICENSE | 20 + vendor/github.com/go-chi/chi/README.md | 438 + vendor/github.com/go-chi/chi/chain.go | 49 + vendor/github.com/go-chi/chi/chi.go | 134 + vendor/github.com/go-chi/chi/context.go | 161 + .../go-chi/chi/middleware/compress.go | 275 + .../go-chi/chi/middleware/content_charset.go | 51 + .../go-chi/chi/middleware/content_type.go | 45 + .../go-chi/chi/middleware/get_head.go | 39 + .../go-chi/chi/middleware/heartbeat.go | 26 + .../go-chi/chi/middleware/logger.go | 158 + .../go-chi/chi/middleware/middleware.go | 12 + .../go-chi/chi/middleware/nocache.go | 58 + .../go-chi/chi/middleware/profiler.go | 55 + .../go-chi/chi/middleware/realip.go | 54 + .../go-chi/chi/middleware/recoverer.go | 39 + .../go-chi/chi/middleware/request_id.go | 92 + .../github.com/go-chi/chi/middleware/strip.go | 56 + .../go-chi/chi/middleware/terminal.go | 63 + .../go-chi/chi/middleware/throttle.go | 101 + .../go-chi/chi/middleware/timeout.go | 49 + .../go-chi/chi/middleware/url_format.go | 72 + .../github.com/go-chi/chi/middleware/value.go | 17 + .../go-chi/chi/middleware/wrap_writer.go | 183 + vendor/github.com/go-chi/chi/mux.go | 460 + vendor/github.com/go-chi/chi/tree.go | 847 + vendor/github.com/google/uuid/.travis.yml | 9 + vendor/github.com/google/uuid/CONTRIBUTING.md | 10 + vendor/github.com/google/uuid/CONTRIBUTORS | 9 + vendor/github.com/google/uuid/LICENSE | 27 + vendor/github.com/google/uuid/README.md | 19 + vendor/github.com/google/uuid/dce.go | 80 + vendor/github.com/google/uuid/doc.go | 12 + vendor/github.com/google/uuid/go.mod | 1 + vendor/github.com/google/uuid/hash.go | 53 + vendor/github.com/google/uuid/marshal.go | 37 + vendor/github.com/google/uuid/node.go | 89 + vendor/github.com/google/uuid/node_js.go | 12 + vendor/github.com/google/uuid/node_net.go | 33 + vendor/github.com/google/uuid/sql.go | 59 + vendor/github.com/google/uuid/time.go | 123 + vendor/github.com/google/uuid/util.go | 43 + vendor/github.com/google/uuid/uuid.go | 245 + vendor/github.com/google/uuid/version1.go | 44 + vendor/github.com/google/uuid/version4.go | 38 + vendor/github.com/hashicorp/yamux/.gitignore | 23 + vendor/github.com/hashicorp/yamux/LICENSE | 362 + vendor/github.com/hashicorp/yamux/README.md | 86 + vendor/github.com/hashicorp/yamux/addr.go | 60 + vendor/github.com/hashicorp/yamux/const.go | 157 + vendor/github.com/hashicorp/yamux/go.mod | 1 + vendor/github.com/hashicorp/yamux/mux.go | 98 + vendor/github.com/hashicorp/yamux/session.go | 653 + vendor/github.com/hashicorp/yamux/spec.md | 140 + vendor/github.com/hashicorp/yamux/stream.go | 470 + vendor/github.com/hashicorp/yamux/util.go | 43 + .../inconshreveable/mousetrap/LICENSE | 13 + .../inconshreveable/mousetrap/README.md | 23 + .../inconshreveable/mousetrap/trap_others.go | 15 + .../inconshreveable/mousetrap/trap_windows.go | 98 + .../mousetrap/trap_windows_1.4.go | 46 + .../go-windows-terminal-sequences/LICENSE | 9 + .../go-windows-terminal-sequences/README.md | 40 + .../go-windows-terminal-sequences/go.mod | 1 + .../sequences.go | 36 + vendor/github.com/kr/pty/.gitignore | 4 + vendor/github.com/kr/pty/License | 23 + vendor/github.com/kr/pty/README.md | 100 + vendor/github.com/kr/pty/doc.go | 16 + vendor/github.com/kr/pty/ioctl.go | 13 + vendor/github.com/kr/pty/ioctl_bsd.go | 39 + vendor/github.com/kr/pty/mktypes.bash | 19 + vendor/github.com/kr/pty/pty_darwin.go | 65 + vendor/github.com/kr/pty/pty_dragonfly.go | 80 + vendor/github.com/kr/pty/pty_freebsd.go | 78 + vendor/github.com/kr/pty/pty_linux.go | 51 + vendor/github.com/kr/pty/pty_openbsd.go | 33 + vendor/github.com/kr/pty/pty_unsupported.go | 11 + vendor/github.com/kr/pty/run.go | 50 + vendor/github.com/kr/pty/types.go | 10 + vendor/github.com/kr/pty/types_dragonfly.go | 17 + vendor/github.com/kr/pty/types_freebsd.go | 15 + vendor/github.com/kr/pty/types_openbsd.go | 14 + vendor/github.com/kr/pty/util.go | 64 + vendor/github.com/kr/pty/ztypes_386.go | 9 + vendor/github.com/kr/pty/ztypes_amd64.go | 9 + vendor/github.com/kr/pty/ztypes_arm.go | 9 + vendor/github.com/kr/pty/ztypes_arm64.go | 11 + .../kr/pty/ztypes_dragonfly_amd64.go | 14 + .../github.com/kr/pty/ztypes_freebsd_386.go | 13 + .../github.com/kr/pty/ztypes_freebsd_amd64.go | 14 + .../github.com/kr/pty/ztypes_freebsd_arm.go | 13 + vendor/github.com/kr/pty/ztypes_mipsx.go | 12 + .../github.com/kr/pty/ztypes_openbsd_386.go | 13 + .../github.com/kr/pty/ztypes_openbsd_amd64.go | 13 + vendor/github.com/kr/pty/ztypes_ppc64.go | 11 + vendor/github.com/kr/pty/ztypes_ppc64le.go | 11 + vendor/github.com/kr/pty/ztypes_s390x.go | 11 + .../github.com/mattn/go-colorable/.travis.yml | 9 + vendor/github.com/mattn/go-colorable/LICENSE | 21 + .../github.com/mattn/go-colorable/README.md | 48 + .../mattn/go-colorable/colorable_appengine.go | 29 + .../mattn/go-colorable/colorable_others.go | 30 + .../mattn/go-colorable/colorable_windows.go | 980 + .../mattn/go-colorable/noncolorable.go | 55 + vendor/github.com/mattn/go-isatty/.travis.yml | 13 + vendor/github.com/mattn/go-isatty/LICENSE | 9 + vendor/github.com/mattn/go-isatty/README.md | 50 + vendor/github.com/mattn/go-isatty/doc.go | 2 + .../mattn/go-isatty/isatty_appengine.go | 15 + .../github.com/mattn/go-isatty/isatty_bsd.go | 18 + .../mattn/go-isatty/isatty_linux.go | 18 + .../mattn/go-isatty/isatty_linux_ppc64x.go | 19 + .../mattn/go-isatty/isatty_others.go | 10 + .../mattn/go-isatty/isatty_solaris.go | 16 + .../mattn/go-isatty/isatty_windows.go | 94 + vendor/github.com/mgutz/ansi/.gitignore | 1 + vendor/github.com/mgutz/ansi/LICENSE | 9 + vendor/github.com/mgutz/ansi/README.md | 121 + vendor/github.com/mgutz/ansi/ansi.go | 285 + vendor/github.com/mgutz/ansi/doc.go | 65 + vendor/github.com/mgutz/ansi/print.go | 57 + .../github.com/mitchellh/go-homedir/LICENSE | 21 + .../github.com/mitchellh/go-homedir/README.md | 14 + vendor/github.com/mitchellh/go-homedir/go.mod | 1 + .../mitchellh/go-homedir/homedir.go | 167 + vendor/github.com/pmezard/go-difflib/LICENSE | 27 + .../pmezard/go-difflib/difflib/difflib.go | 772 + vendor/github.com/sirupsen/logrus/.gitignore | 2 + vendor/github.com/sirupsen/logrus/.travis.yml | 52 + .../github.com/sirupsen/logrus/CHANGELOG.md | 165 + vendor/github.com/sirupsen/logrus/LICENSE | 21 + vendor/github.com/sirupsen/logrus/README.md | 494 + vendor/github.com/sirupsen/logrus/alt_exit.go | 64 + .../github.com/sirupsen/logrus/appveyor.yml | 14 + vendor/github.com/sirupsen/logrus/doc.go | 26 + vendor/github.com/sirupsen/logrus/entry.go | 393 + vendor/github.com/sirupsen/logrus/exported.go | 219 + .../github.com/sirupsen/logrus/formatter.go | 78 + vendor/github.com/sirupsen/logrus/go.mod | 11 + vendor/github.com/sirupsen/logrus/go.sum | 15 + vendor/github.com/sirupsen/logrus/hooks.go | 34 + .../sirupsen/logrus/json_formatter.go | 105 + vendor/github.com/sirupsen/logrus/logger.go | 343 + vendor/github.com/sirupsen/logrus/logrus.go | 186 + .../sirupsen/logrus/terminal_check_aix.go | 9 + .../logrus/terminal_check_appengine.go | 11 + .../sirupsen/logrus/terminal_check_js.go | 11 + .../logrus/terminal_check_notappengine.go | 19 + .../sirupsen/logrus/terminal_check_windows.go | 20 + .../sirupsen/logrus/terminal_notwindows.go | 8 + .../sirupsen/logrus/terminal_windows.go | 18 + .../sirupsen/logrus/text_formatter.go | 273 + vendor/github.com/sirupsen/logrus/writer.go | 64 + .../skycoin/skycoin/src/cipher/address.go | 183 + .../skycoin/skycoin/src/cipher/base58/LICENSE | 24 + .../skycoin/src/cipher/base58/LICENSE_old | 27 + .../skycoin/src/cipher/base58/README.md | 47 + .../skycoin/src/cipher/base58/base58.go | 178 + .../skycoin/src/cipher/base58/base58_old.go | 190 + .../skycoin/skycoin/src/cipher/bitcoin.go | 195 + .../skycoin/skycoin/src/cipher/crypto.go | 696 + .../skycoin/skycoin/src/cipher/hash.go | 204 + .../src/cipher/ripemd160/ripemd160block.go | 161 + .../skycoin/src/cipher/ripemd160/ripmd_160.go | 121 + .../skycoin/src/cipher/secp256k1-go/README.md | 5 + .../src/cipher/secp256k1-go/secp256_rand.go | 151 + .../cipher/secp256k1-go/secp256k1-go2/COPYING | 4 + .../secp256k1-go/secp256k1-go2/README.md | 5 + .../cipher/secp256k1-go/secp256k1-go2/ec.go | 328 + .../secp256k1-go/secp256k1-go2/field.go | 744 + .../cipher/secp256k1-go/secp256k1-go2/num.go | 111 + .../secp256k1-go/secp256k1-go2/secp256k1.go | 60 + .../cipher/secp256k1-go/secp256k1-go2/sig.go | 234 + .../cipher/secp256k1-go/secp256k1-go2/xy.go | 265 + .../cipher/secp256k1-go/secp256k1-go2/xyz.go | 387 + .../secp256k1-go/secp256k1-go2/z_consts.go | 9356 +++++ .../secp256k1-go/secp256k1-go2/z_init.go | 113 + .../src/cipher/secp256k1-go/secp256k1.go | 522 + .../skycoin/src/util/logging/formatter.go | 441 + .../skycoin/skycoin/src/util/logging/hooks.go | 44 + .../skycoin/src/util/logging/logger.go | 71 + .../skycoin/src/util/logging/logging.go | 79 + vendor/github.com/spf13/cobra/.gitignore | 36 + vendor/github.com/spf13/cobra/.mailmap | 3 + vendor/github.com/spf13/cobra/.travis.yml | 21 + vendor/github.com/spf13/cobra/LICENSE.txt | 174 + vendor/github.com/spf13/cobra/README.md | 736 + vendor/github.com/spf13/cobra/args.go | 89 + .../spf13/cobra/bash_completions.go | 584 + .../spf13/cobra/bash_completions.md | 221 + vendor/github.com/spf13/cobra/cobra.go | 200 + vendor/github.com/spf13/cobra/command.go | 1517 + .../github.com/spf13/cobra/command_notwin.go | 5 + vendor/github.com/spf13/cobra/command_win.go | 20 + .../github.com/spf13/cobra/zsh_completions.go | 126 + vendor/github.com/spf13/pflag/.gitignore | 2 + vendor/github.com/spf13/pflag/.travis.yml | 21 + vendor/github.com/spf13/pflag/LICENSE | 28 + vendor/github.com/spf13/pflag/README.md | 296 + vendor/github.com/spf13/pflag/bool.go | 94 + vendor/github.com/spf13/pflag/bool_slice.go | 147 + vendor/github.com/spf13/pflag/bytes.go | 209 + vendor/github.com/spf13/pflag/count.go | 96 + vendor/github.com/spf13/pflag/duration.go | 86 + .../github.com/spf13/pflag/duration_slice.go | 128 + vendor/github.com/spf13/pflag/flag.go | 1227 + vendor/github.com/spf13/pflag/float32.go | 88 + vendor/github.com/spf13/pflag/float64.go | 84 + vendor/github.com/spf13/pflag/golangflag.go | 105 + vendor/github.com/spf13/pflag/int.go | 84 + vendor/github.com/spf13/pflag/int16.go | 88 + vendor/github.com/spf13/pflag/int32.go | 88 + vendor/github.com/spf13/pflag/int64.go | 84 + vendor/github.com/spf13/pflag/int8.go | 88 + vendor/github.com/spf13/pflag/int_slice.go | 128 + vendor/github.com/spf13/pflag/ip.go | 94 + vendor/github.com/spf13/pflag/ip_slice.go | 148 + vendor/github.com/spf13/pflag/ipmask.go | 122 + vendor/github.com/spf13/pflag/ipnet.go | 98 + vendor/github.com/spf13/pflag/string.go | 80 + vendor/github.com/spf13/pflag/string_array.go | 103 + vendor/github.com/spf13/pflag/string_slice.go | 149 + .../github.com/spf13/pflag/string_to_int.go | 149 + .../spf13/pflag/string_to_string.go | 160 + vendor/github.com/spf13/pflag/uint.go | 88 + vendor/github.com/spf13/pflag/uint16.go | 88 + vendor/github.com/spf13/pflag/uint32.go | 88 + vendor/github.com/spf13/pflag/uint64.go | 88 + vendor/github.com/spf13/pflag/uint8.go | 88 + vendor/github.com/spf13/pflag/uint_slice.go | 126 + vendor/github.com/stretchr/testify/LICENSE | 21 + .../testify/assert/assertion_format.go | 484 + .../testify/assert/assertion_format.go.tmpl | 5 + .../testify/assert/assertion_forward.go | 956 + .../testify/assert/assertion_forward.go.tmpl | 5 + .../stretchr/testify/assert/assertions.go | 1416 + .../github.com/stretchr/testify/assert/doc.go | 45 + .../stretchr/testify/assert/errors.go | 10 + .../testify/assert/forward_assertions.go | 16 + .../testify/assert/http_assertions.go | 143 + .../stretchr/testify/require/doc.go | 28 + .../testify/require/forward_requirements.go | 16 + .../stretchr/testify/require/require.go | 1227 + .../stretchr/testify/require/require.go.tmpl | 6 + .../testify/require/require_forward.go | 957 + .../testify/require/require_forward.go.tmpl | 5 + .../stretchr/testify/require/requirements.go | 29 + vendor/go.etcd.io/bbolt/.gitignore | 5 + vendor/go.etcd.io/bbolt/.travis.yml | 17 + vendor/go.etcd.io/bbolt/LICENSE | 20 + vendor/go.etcd.io/bbolt/Makefile | 38 + vendor/go.etcd.io/bbolt/README.md | 954 + vendor/go.etcd.io/bbolt/bolt_386.go | 10 + vendor/go.etcd.io/bbolt/bolt_amd64.go | 10 + vendor/go.etcd.io/bbolt/bolt_arm.go | 28 + vendor/go.etcd.io/bbolt/bolt_arm64.go | 12 + vendor/go.etcd.io/bbolt/bolt_linux.go | 10 + vendor/go.etcd.io/bbolt/bolt_mips64x.go | 12 + vendor/go.etcd.io/bbolt/bolt_mipsx.go | 12 + vendor/go.etcd.io/bbolt/bolt_openbsd.go | 27 + vendor/go.etcd.io/bbolt/bolt_ppc.go | 12 + vendor/go.etcd.io/bbolt/bolt_ppc64.go | 12 + vendor/go.etcd.io/bbolt/bolt_ppc64le.go | 12 + vendor/go.etcd.io/bbolt/bolt_s390x.go | 12 + vendor/go.etcd.io/bbolt/bolt_unix.go | 93 + vendor/go.etcd.io/bbolt/bolt_unix_solaris.go | 88 + vendor/go.etcd.io/bbolt/bolt_windows.go | 141 + vendor/go.etcd.io/bbolt/boltsync_unix.go | 8 + vendor/go.etcd.io/bbolt/bucket.go | 775 + vendor/go.etcd.io/bbolt/cursor.go | 396 + vendor/go.etcd.io/bbolt/db.go | 1164 + vendor/go.etcd.io/bbolt/doc.go | 44 + vendor/go.etcd.io/bbolt/errors.go | 71 + vendor/go.etcd.io/bbolt/freelist.go | 370 + vendor/go.etcd.io/bbolt/freelist_hmap.go | 178 + vendor/go.etcd.io/bbolt/node.go | 604 + vendor/go.etcd.io/bbolt/page.go | 197 + vendor/go.etcd.io/bbolt/tx.go | 707 + vendor/golang.org/x/crypto/AUTHORS | 3 + vendor/golang.org/x/crypto/CONTRIBUTORS | 3 + vendor/golang.org/x/crypto/LICENSE | 27 + vendor/golang.org/x/crypto/PATENTS | 22 + vendor/golang.org/x/crypto/blake2b/blake2b.go | 289 + .../x/crypto/blake2b/blake2bAVX2_amd64.go | 37 + .../x/crypto/blake2b/blake2bAVX2_amd64.s | 750 + .../x/crypto/blake2b/blake2b_amd64.go | 24 + .../x/crypto/blake2b/blake2b_amd64.s | 281 + .../x/crypto/blake2b/blake2b_generic.go | 179 + .../x/crypto/blake2b/blake2b_ref.go | 11 + vendor/golang.org/x/crypto/blake2b/blake2x.go | 177 + .../golang.org/x/crypto/blake2b/register.go | 32 + vendor/golang.org/x/crypto/blake2s/blake2s.go | 244 + .../x/crypto/blake2s/blake2s_386.go | 32 + .../golang.org/x/crypto/blake2s/blake2s_386.s | 435 + .../x/crypto/blake2s/blake2s_amd64.go | 37 + .../x/crypto/blake2s/blake2s_amd64.s | 438 + .../x/crypto/blake2s/blake2s_generic.go | 174 + .../x/crypto/blake2s/blake2s_ref.go | 17 + vendor/golang.org/x/crypto/blake2s/blake2x.go | 178 + .../golang.org/x/crypto/blake2s/register.go | 21 + .../chacha20poly1305/chacha20poly1305.go | 101 + .../chacha20poly1305_amd64.go | 86 + .../chacha20poly1305/chacha20poly1305_amd64.s | 2695 ++ .../chacha20poly1305_generic.go | 81 + .../chacha20poly1305_noasm.go | 15 + .../chacha20poly1305/xchacha20poly1305.go | 104 + .../x/crypto/curve25519/const_amd64.h | 8 + .../x/crypto/curve25519/const_amd64.s | 20 + .../x/crypto/curve25519/cswap_amd64.s | 65 + .../x/crypto/curve25519/curve25519.go | 834 + vendor/golang.org/x/crypto/curve25519/doc.go | 23 + .../x/crypto/curve25519/freeze_amd64.s | 73 + .../x/crypto/curve25519/ladderstep_amd64.s | 1377 + .../x/crypto/curve25519/mont25519_amd64.go | 240 + .../x/crypto/curve25519/mul_amd64.s | 169 + .../x/crypto/curve25519/square_amd64.s | 132 + .../x/crypto/internal/chacha20/asm_arm64.s | 308 + .../crypto/internal/chacha20/chacha_arm64.go | 31 + .../internal/chacha20/chacha_generic.go | 264 + .../crypto/internal/chacha20/chacha_noasm.go | 16 + .../crypto/internal/chacha20/chacha_s390x.go | 30 + .../x/crypto/internal/chacha20/chacha_s390x.s | 283 + .../x/crypto/internal/chacha20/xor.go | 43 + .../x/crypto/internal/subtle/aliasing.go | 32 + .../internal/subtle/aliasing_appengine.go | 35 + .../golang.org/x/crypto/poly1305/poly1305.go | 33 + .../golang.org/x/crypto/poly1305/sum_amd64.go | 22 + .../golang.org/x/crypto/poly1305/sum_amd64.s | 125 + .../golang.org/x/crypto/poly1305/sum_arm.go | 22 + vendor/golang.org/x/crypto/poly1305/sum_arm.s | 427 + .../golang.org/x/crypto/poly1305/sum_noasm.go | 14 + .../golang.org/x/crypto/poly1305/sum_ref.go | 139 + .../golang.org/x/crypto/poly1305/sum_s390x.go | 49 + .../golang.org/x/crypto/poly1305/sum_s390x.s | 400 + .../x/crypto/poly1305/sum_vmsl_s390x.s | 931 + .../x/crypto/ssh/terminal/terminal.go | 955 + .../golang.org/x/crypto/ssh/terminal/util.go | 114 + .../x/crypto/ssh/terminal/util_aix.go | 12 + .../x/crypto/ssh/terminal/util_bsd.go | 12 + .../x/crypto/ssh/terminal/util_linux.go | 10 + .../x/crypto/ssh/terminal/util_plan9.go | 58 + .../x/crypto/ssh/terminal/util_solaris.go | 124 + .../x/crypto/ssh/terminal/util_windows.go | 103 + vendor/golang.org/x/net/AUTHORS | 3 + vendor/golang.org/x/net/CONTRIBUTORS | 3 + vendor/golang.org/x/net/LICENSE | 27 + vendor/golang.org/x/net/PATENTS | 22 + vendor/golang.org/x/net/context/context.go | 56 + vendor/golang.org/x/net/context/go17.go | 72 + vendor/golang.org/x/net/context/go19.go | 20 + vendor/golang.org/x/net/context/pre_go17.go | 300 + vendor/golang.org/x/net/context/pre_go19.go | 109 + .../golang.org/x/net/internal/socks/client.go | 168 + .../golang.org/x/net/internal/socks/socks.go | 317 + vendor/golang.org/x/net/proxy/direct.go | 18 + vendor/golang.org/x/net/proxy/per_host.go | 140 + vendor/golang.org/x/net/proxy/proxy.go | 139 + vendor/golang.org/x/net/proxy/socks5.go | 36 + vendor/golang.org/x/sys/AUTHORS | 3 + vendor/golang.org/x/sys/CONTRIBUTORS | 3 + vendor/golang.org/x/sys/LICENSE | 27 + vendor/golang.org/x/sys/PATENTS | 22 + vendor/golang.org/x/sys/cpu/byteorder.go | 30 + vendor/golang.org/x/sys/cpu/cpu.go | 89 + vendor/golang.org/x/sys/cpu/cpu_arm.go | 9 + vendor/golang.org/x/sys/cpu/cpu_gc_x86.go | 16 + vendor/golang.org/x/sys/cpu/cpu_gccgo.c | 43 + vendor/golang.org/x/sys/cpu/cpu_gccgo.go | 26 + vendor/golang.org/x/sys/cpu/cpu_linux.go | 55 + .../golang.org/x/sys/cpu/cpu_linux_arm64.go | 67 + vendor/golang.org/x/sys/cpu/cpu_mips64x.go | 11 + vendor/golang.org/x/sys/cpu/cpu_mipsx.go | 11 + .../golang.org/x/sys/cpu/cpu_other_arm64.go | 11 + vendor/golang.org/x/sys/cpu/cpu_ppc64x.go | 32 + vendor/golang.org/x/sys/cpu/cpu_s390x.go | 9 + vendor/golang.org/x/sys/cpu/cpu_x86.go | 57 + vendor/golang.org/x/sys/cpu/cpu_x86.s | 27 + vendor/golang.org/x/sys/unix/.gitignore | 2 + vendor/golang.org/x/sys/unix/README.md | 173 + .../golang.org/x/sys/unix/affinity_linux.go | 124 + vendor/golang.org/x/sys/unix/aliases.go | 14 + vendor/golang.org/x/sys/unix/asm_aix_ppc64.s | 17 + vendor/golang.org/x/sys/unix/asm_darwin_386.s | 29 + .../golang.org/x/sys/unix/asm_darwin_amd64.s | 29 + vendor/golang.org/x/sys/unix/asm_darwin_arm.s | 30 + .../golang.org/x/sys/unix/asm_darwin_arm64.s | 30 + .../x/sys/unix/asm_dragonfly_amd64.s | 29 + .../golang.org/x/sys/unix/asm_freebsd_386.s | 29 + .../golang.org/x/sys/unix/asm_freebsd_amd64.s | 29 + .../golang.org/x/sys/unix/asm_freebsd_arm.s | 29 + .../golang.org/x/sys/unix/asm_freebsd_arm64.s | 29 + vendor/golang.org/x/sys/unix/asm_linux_386.s | 65 + .../golang.org/x/sys/unix/asm_linux_amd64.s | 57 + vendor/golang.org/x/sys/unix/asm_linux_arm.s | 56 + .../golang.org/x/sys/unix/asm_linux_arm64.s | 52 + .../golang.org/x/sys/unix/asm_linux_mips64x.s | 56 + .../golang.org/x/sys/unix/asm_linux_mipsx.s | 54 + .../golang.org/x/sys/unix/asm_linux_ppc64x.s | 44 + .../golang.org/x/sys/unix/asm_linux_s390x.s | 56 + vendor/golang.org/x/sys/unix/asm_netbsd_386.s | 29 + .../golang.org/x/sys/unix/asm_netbsd_amd64.s | 29 + vendor/golang.org/x/sys/unix/asm_netbsd_arm.s | 29 + .../golang.org/x/sys/unix/asm_netbsd_arm64.s | 29 + .../golang.org/x/sys/unix/asm_openbsd_386.s | 29 + .../golang.org/x/sys/unix/asm_openbsd_amd64.s | 29 + .../golang.org/x/sys/unix/asm_openbsd_arm.s | 29 + .../golang.org/x/sys/unix/asm_solaris_amd64.s | 17 + .../golang.org/x/sys/unix/bluetooth_linux.go | 35 + vendor/golang.org/x/sys/unix/cap_freebsd.go | 195 + vendor/golang.org/x/sys/unix/constants.go | 13 + vendor/golang.org/x/sys/unix/dev_aix_ppc.go | 27 + vendor/golang.org/x/sys/unix/dev_aix_ppc64.go | 29 + vendor/golang.org/x/sys/unix/dev_darwin.go | 24 + vendor/golang.org/x/sys/unix/dev_dragonfly.go | 30 + vendor/golang.org/x/sys/unix/dev_freebsd.go | 30 + vendor/golang.org/x/sys/unix/dev_linux.go | 42 + vendor/golang.org/x/sys/unix/dev_netbsd.go | 29 + vendor/golang.org/x/sys/unix/dev_openbsd.go | 29 + vendor/golang.org/x/sys/unix/dirent.go | 17 + vendor/golang.org/x/sys/unix/endian_big.go | 9 + vendor/golang.org/x/sys/unix/endian_little.go | 9 + vendor/golang.org/x/sys/unix/env_unix.go | 31 + .../x/sys/unix/errors_freebsd_386.go | 227 + .../x/sys/unix/errors_freebsd_amd64.go | 227 + .../x/sys/unix/errors_freebsd_arm.go | 226 + vendor/golang.org/x/sys/unix/fcntl.go | 32 + vendor/golang.org/x/sys/unix/fcntl_darwin.go | 18 + .../x/sys/unix/fcntl_linux_32bit.go | 13 + vendor/golang.org/x/sys/unix/gccgo.go | 62 + vendor/golang.org/x/sys/unix/gccgo_c.c | 39 + .../x/sys/unix/gccgo_linux_amd64.go | 20 + vendor/golang.org/x/sys/unix/ioctl.go | 30 + vendor/golang.org/x/sys/unix/mkall.sh | 214 + vendor/golang.org/x/sys/unix/mkasm_darwin.go | 61 + vendor/golang.org/x/sys/unix/mkerrors.sh | 657 + vendor/golang.org/x/sys/unix/mkpost.go | 106 + vendor/golang.org/x/sys/unix/mksyscall.go | 402 + .../x/sys/unix/mksyscall_aix_ppc.go | 404 + .../x/sys/unix/mksyscall_aix_ppc64.go | 602 + .../x/sys/unix/mksyscall_solaris.go | 335 + .../golang.org/x/sys/unix/mksysctl_openbsd.pl | 265 + vendor/golang.org/x/sys/unix/mksysnum.go | 190 + .../golang.org/x/sys/unix/openbsd_pledge.go | 166 + .../golang.org/x/sys/unix/openbsd_unveil.go | 44 + vendor/golang.org/x/sys/unix/pagesize_unix.go | 15 + vendor/golang.org/x/sys/unix/race.go | 30 + vendor/golang.org/x/sys/unix/race0.go | 25 + .../golang.org/x/sys/unix/sockcmsg_linux.go | 36 + vendor/golang.org/x/sys/unix/sockcmsg_unix.go | 117 + vendor/golang.org/x/sys/unix/str.go | 26 + vendor/golang.org/x/sys/unix/syscall.go | 54 + vendor/golang.org/x/sys/unix/syscall_aix.go | 547 + .../golang.org/x/sys/unix/syscall_aix_ppc.go | 34 + .../x/sys/unix/syscall_aix_ppc64.go | 34 + vendor/golang.org/x/sys/unix/syscall_bsd.go | 624 + .../golang.org/x/sys/unix/syscall_darwin.go | 689 + .../x/sys/unix/syscall_darwin_386.go | 63 + .../x/sys/unix/syscall_darwin_amd64.go | 63 + .../x/sys/unix/syscall_darwin_arm.go | 64 + .../x/sys/unix/syscall_darwin_arm64.go | 66 + .../x/sys/unix/syscall_darwin_libSystem.go | 31 + .../x/sys/unix/syscall_dragonfly.go | 539 + .../x/sys/unix/syscall_dragonfly_amd64.go | 52 + .../golang.org/x/sys/unix/syscall_freebsd.go | 824 + .../x/sys/unix/syscall_freebsd_386.go | 52 + .../x/sys/unix/syscall_freebsd_amd64.go | 52 + .../x/sys/unix/syscall_freebsd_arm.go | 52 + .../x/sys/unix/syscall_freebsd_arm64.go | 52 + vendor/golang.org/x/sys/unix/syscall_linux.go | 1717 + .../x/sys/unix/syscall_linux_386.go | 386 + .../x/sys/unix/syscall_linux_amd64.go | 190 + .../x/sys/unix/syscall_linux_amd64_gc.go | 13 + .../x/sys/unix/syscall_linux_arm.go | 268 + .../x/sys/unix/syscall_linux_arm64.go | 210 + .../golang.org/x/sys/unix/syscall_linux_gc.go | 14 + .../x/sys/unix/syscall_linux_gc_386.go | 16 + .../x/sys/unix/syscall_linux_gccgo_386.go | 30 + .../x/sys/unix/syscall_linux_gccgo_arm.go | 20 + .../x/sys/unix/syscall_linux_mips64x.go | 222 + .../x/sys/unix/syscall_linux_mipsx.go | 234 + .../x/sys/unix/syscall_linux_ppc64x.go | 152 + .../x/sys/unix/syscall_linux_riscv64.go | 213 + .../x/sys/unix/syscall_linux_s390x.go | 338 + .../x/sys/unix/syscall_linux_sparc64.go | 147 + .../golang.org/x/sys/unix/syscall_netbsd.go | 622 + .../x/sys/unix/syscall_netbsd_386.go | 33 + .../x/sys/unix/syscall_netbsd_amd64.go | 33 + .../x/sys/unix/syscall_netbsd_arm.go | 33 + .../x/sys/unix/syscall_netbsd_arm64.go | 33 + .../golang.org/x/sys/unix/syscall_openbsd.go | 399 + .../x/sys/unix/syscall_openbsd_386.go | 37 + .../x/sys/unix/syscall_openbsd_amd64.go | 37 + .../x/sys/unix/syscall_openbsd_arm.go | 37 + .../golang.org/x/sys/unix/syscall_solaris.go | 737 + .../x/sys/unix/syscall_solaris_amd64.go | 23 + vendor/golang.org/x/sys/unix/syscall_unix.go | 379 + .../golang.org/x/sys/unix/syscall_unix_gc.go | 15 + .../x/sys/unix/syscall_unix_gc_ppc64x.go | 24 + vendor/golang.org/x/sys/unix/timestruct.go | 82 + vendor/golang.org/x/sys/unix/types_aix.go | 236 + vendor/golang.org/x/sys/unix/types_darwin.go | 277 + .../golang.org/x/sys/unix/types_dragonfly.go | 263 + vendor/golang.org/x/sys/unix/types_freebsd.go | 356 + vendor/golang.org/x/sys/unix/types_netbsd.go | 289 + vendor/golang.org/x/sys/unix/types_openbsd.go | 276 + vendor/golang.org/x/sys/unix/types_solaris.go | 266 + vendor/golang.org/x/sys/unix/xattr_bsd.go | 240 + .../golang.org/x/sys/unix/zerrors_aix_ppc.go | 1372 + .../x/sys/unix/zerrors_aix_ppc64.go | 1373 + .../x/sys/unix/zerrors_darwin_386.go | 1783 + .../x/sys/unix/zerrors_darwin_amd64.go | 1783 + .../x/sys/unix/zerrors_darwin_arm.go | 1783 + .../x/sys/unix/zerrors_darwin_arm64.go | 1783 + .../x/sys/unix/zerrors_dragonfly_amd64.go | 1650 + .../x/sys/unix/zerrors_freebsd_386.go | 1793 + .../x/sys/unix/zerrors_freebsd_amd64.go | 1794 + .../x/sys/unix/zerrors_freebsd_arm.go | 1802 + .../x/sys/unix/zerrors_freebsd_arm64.go | 1794 + .../x/sys/unix/zerrors_linux_386.go | 2782 ++ .../x/sys/unix/zerrors_linux_amd64.go | 2782 ++ .../x/sys/unix/zerrors_linux_arm.go | 2788 ++ .../x/sys/unix/zerrors_linux_arm64.go | 2773 ++ .../x/sys/unix/zerrors_linux_mips.go | 2789 ++ .../x/sys/unix/zerrors_linux_mips64.go | 2789 ++ .../x/sys/unix/zerrors_linux_mips64le.go | 2789 ++ .../x/sys/unix/zerrors_linux_mipsle.go | 2789 ++ .../x/sys/unix/zerrors_linux_ppc64.go | 2844 ++ .../x/sys/unix/zerrors_linux_ppc64le.go | 2844 ++ .../x/sys/unix/zerrors_linux_riscv64.go | 2769 ++ .../x/sys/unix/zerrors_linux_s390x.go | 2842 ++ .../x/sys/unix/zerrors_linux_sparc64.go | 2838 ++ .../x/sys/unix/zerrors_netbsd_386.go | 1772 + .../x/sys/unix/zerrors_netbsd_amd64.go | 1762 + .../x/sys/unix/zerrors_netbsd_arm.go | 1751 + .../x/sys/unix/zerrors_netbsd_arm64.go | 1762 + .../x/sys/unix/zerrors_openbsd_386.go | 1654 + .../x/sys/unix/zerrors_openbsd_amd64.go | 1765 + .../x/sys/unix/zerrors_openbsd_arm.go | 1656 + .../x/sys/unix/zerrors_solaris_amd64.go | 1532 + .../golang.org/x/sys/unix/zptrace386_linux.go | 80 + .../golang.org/x/sys/unix/zptracearm_linux.go | 41 + .../x/sys/unix/zptracemips_linux.go | 50 + .../x/sys/unix/zptracemipsle_linux.go | 50 + .../golang.org/x/sys/unix/zsyscall_aix_ppc.go | 1450 + .../x/sys/unix/zsyscall_aix_ppc64.go | 1408 + .../x/sys/unix/zsyscall_aix_ppc64_gc.go | 1162 + .../x/sys/unix/zsyscall_aix_ppc64_gccgo.go | 1042 + .../x/sys/unix/zsyscall_darwin_386.1_11.go | 1810 + .../x/sys/unix/zsyscall_darwin_386.go | 2505 ++ .../x/sys/unix/zsyscall_darwin_386.s | 284 + .../x/sys/unix/zsyscall_darwin_amd64.1_11.go | 1810 + .../x/sys/unix/zsyscall_darwin_amd64.go | 2520 ++ .../x/sys/unix/zsyscall_darwin_amd64.s | 286 + .../x/sys/unix/zsyscall_darwin_arm.1_11.go | 1793 + .../x/sys/unix/zsyscall_darwin_arm.go | 2483 ++ .../x/sys/unix/zsyscall_darwin_arm.s | 282 + .../x/sys/unix/zsyscall_darwin_arm64.1_11.go | 1793 + .../x/sys/unix/zsyscall_darwin_arm64.go | 2483 ++ .../x/sys/unix/zsyscall_darwin_arm64.s | 282 + .../x/sys/unix/zsyscall_dragonfly_amd64.go | 1659 + .../x/sys/unix/zsyscall_freebsd_386.go | 2015 ++ .../x/sys/unix/zsyscall_freebsd_amd64.go | 2015 ++ .../x/sys/unix/zsyscall_freebsd_arm.go | 2015 ++ .../x/sys/unix/zsyscall_freebsd_arm64.go | 2015 ++ .../x/sys/unix/zsyscall_linux_386.go | 2199 ++ .../x/sys/unix/zsyscall_linux_amd64.go | 2366 ++ .../x/sys/unix/zsyscall_linux_arm.go | 2311 ++ .../x/sys/unix/zsyscall_linux_arm64.go | 2208 ++ .../x/sys/unix/zsyscall_linux_mips.go | 2379 ++ .../x/sys/unix/zsyscall_linux_mips64.go | 2350 ++ .../x/sys/unix/zsyscall_linux_mips64le.go | 2350 ++ .../x/sys/unix/zsyscall_linux_mipsle.go | 2379 ++ .../x/sys/unix/zsyscall_linux_ppc64.go | 2428 ++ .../x/sys/unix/zsyscall_linux_ppc64le.go | 2428 ++ .../x/sys/unix/zsyscall_linux_riscv64.go | 2188 ++ .../x/sys/unix/zsyscall_linux_s390x.go | 2198 ++ .../x/sys/unix/zsyscall_linux_sparc64.go | 2361 ++ .../x/sys/unix/zsyscall_netbsd_386.go | 1826 + .../x/sys/unix/zsyscall_netbsd_amd64.go | 1826 + .../x/sys/unix/zsyscall_netbsd_arm.go | 1826 + .../x/sys/unix/zsyscall_netbsd_arm64.go | 1826 + .../x/sys/unix/zsyscall_openbsd_386.go | 1692 + .../x/sys/unix/zsyscall_openbsd_amd64.go | 1692 + .../x/sys/unix/zsyscall_openbsd_arm.go | 1692 + .../x/sys/unix/zsyscall_solaris_amd64.go | 1953 ++ .../x/sys/unix/zsysctl_openbsd_386.go | 270 + .../x/sys/unix/zsysctl_openbsd_amd64.go | 270 + .../x/sys/unix/zsysctl_openbsd_arm.go | 270 + .../x/sys/unix/zsysnum_darwin_386.go | 436 + .../x/sys/unix/zsysnum_darwin_amd64.go | 438 + .../x/sys/unix/zsysnum_darwin_arm.go | 436 + .../x/sys/unix/zsysnum_darwin_arm64.go | 436 + .../x/sys/unix/zsysnum_dragonfly_amd64.go | 315 + .../x/sys/unix/zsysnum_freebsd_386.go | 403 + .../x/sys/unix/zsysnum_freebsd_amd64.go | 403 + .../x/sys/unix/zsysnum_freebsd_arm.go | 403 + .../x/sys/unix/zsysnum_freebsd_arm64.go | 395 + .../x/sys/unix/zsysnum_linux_386.go | 392 + .../x/sys/unix/zsysnum_linux_amd64.go | 344 + .../x/sys/unix/zsysnum_linux_arm.go | 364 + .../x/sys/unix/zsysnum_linux_arm64.go | 288 + .../x/sys/unix/zsysnum_linux_mips.go | 377 + .../x/sys/unix/zsysnum_linux_mips64.go | 337 + .../x/sys/unix/zsysnum_linux_mips64le.go | 337 + .../x/sys/unix/zsysnum_linux_mipsle.go | 377 + .../x/sys/unix/zsysnum_linux_ppc64.go | 375 + .../x/sys/unix/zsysnum_linux_ppc64le.go | 375 + .../x/sys/unix/zsysnum_linux_riscv64.go | 287 + .../x/sys/unix/zsysnum_linux_s390x.go | 337 + .../x/sys/unix/zsysnum_linux_sparc64.go | 350 + .../x/sys/unix/zsysnum_netbsd_386.go | 274 + .../x/sys/unix/zsysnum_netbsd_amd64.go | 274 + .../x/sys/unix/zsysnum_netbsd_arm.go | 274 + .../x/sys/unix/zsysnum_netbsd_arm64.go | 274 + .../x/sys/unix/zsysnum_openbsd_386.go | 218 + .../x/sys/unix/zsysnum_openbsd_amd64.go | 218 + .../x/sys/unix/zsysnum_openbsd_arm.go | 218 + .../golang.org/x/sys/unix/ztypes_aix_ppc.go | 345 + .../golang.org/x/sys/unix/ztypes_aix_ppc64.go | 354 + .../x/sys/unix/ztypes_darwin_386.go | 489 + .../x/sys/unix/ztypes_darwin_amd64.go | 499 + .../x/sys/unix/ztypes_darwin_arm.go | 490 + .../x/sys/unix/ztypes_darwin_arm64.go | 499 + .../x/sys/unix/ztypes_dragonfly_amd64.go | 469 + .../x/sys/unix/ztypes_freebsd_386.go | 603 + .../x/sys/unix/ztypes_freebsd_amd64.go | 602 + .../x/sys/unix/ztypes_freebsd_arm.go | 602 + .../x/sys/unix/ztypes_freebsd_arm64.go | 602 + .../golang.org/x/sys/unix/ztypes_linux_386.go | 2027 ++ .../x/sys/unix/ztypes_linux_amd64.go | 2040 ++ .../golang.org/x/sys/unix/ztypes_linux_arm.go | 2018 ++ .../x/sys/unix/ztypes_linux_arm64.go | 2019 ++ .../x/sys/unix/ztypes_linux_mips.go | 2024 ++ .../x/sys/unix/ztypes_linux_mips64.go | 2021 ++ .../x/sys/unix/ztypes_linux_mips64le.go | 2021 ++ .../x/sys/unix/ztypes_linux_mipsle.go | 2024 ++ .../x/sys/unix/ztypes_linux_ppc64.go | 2029 ++ .../x/sys/unix/ztypes_linux_ppc64le.go | 2029 ++ .../x/sys/unix/ztypes_linux_riscv64.go | 2046 ++ .../x/sys/unix/ztypes_linux_s390x.go | 2043 ++ .../x/sys/unix/ztypes_linux_sparc64.go | 2024 ++ .../x/sys/unix/ztypes_netbsd_386.go | 465 + .../x/sys/unix/ztypes_netbsd_amd64.go | 472 + .../x/sys/unix/ztypes_netbsd_arm.go | 470 + .../x/sys/unix/ztypes_netbsd_arm64.go | 472 + .../x/sys/unix/ztypes_openbsd_386.go | 560 + .../x/sys/unix/ztypes_openbsd_amd64.go | 560 + .../x/sys/unix/ztypes_openbsd_arm.go | 561 + .../x/sys/unix/ztypes_solaris_amd64.go | 442 + vendor/golang.org/x/sys/windows/aliases.go | 13 + .../x/sys/windows/asm_windows_386.s | 13 + .../x/sys/windows/asm_windows_amd64.s | 13 + .../x/sys/windows/asm_windows_arm.s | 11 + .../golang.org/x/sys/windows/dll_windows.go | 378 + .../golang.org/x/sys/windows/env_windows.go | 29 + vendor/golang.org/x/sys/windows/eventlog.go | 20 + .../golang.org/x/sys/windows/exec_windows.go | 97 + .../x/sys/windows/memory_windows.go | 26 + vendor/golang.org/x/sys/windows/mksyscall.go | 7 + vendor/golang.org/x/sys/windows/race.go | 30 + vendor/golang.org/x/sys/windows/race0.go | 25 + .../x/sys/windows/security_windows.go | 478 + vendor/golang.org/x/sys/windows/service.go | 183 + vendor/golang.org/x/sys/windows/str.go | 22 + vendor/golang.org/x/sys/windows/syscall.go | 74 + .../x/sys/windows/syscall_windows.go | 1218 + .../golang.org/x/sys/windows/types_windows.go | 1469 + .../x/sys/windows/types_windows_386.go | 22 + .../x/sys/windows/types_windows_amd64.go | 22 + .../x/sys/windows/types_windows_arm.go | 22 + .../x/sys/windows/zsyscall_windows.go | 2720 ++ vendor/modules.txt | 64 + 858 files changed, 337978 insertions(+) create mode 100644 CONTRIBUTE.md create mode 100644 Makefile create mode 100644 README.md create mode 100644 ROADMAP.md create mode 100644 cmd/apps/chat/README.org create mode 100644 cmd/apps/chat/chat.go create mode 100644 cmd/apps/chat/static.go create mode 100644 cmd/apps/chat/static/index.html create mode 100644 cmd/apps/helloworld/helloworld.go create mode 100644 cmd/apps/therealproxy-client/README.org create mode 100644 cmd/apps/therealproxy-client/therealproxy-client.go create mode 100644 cmd/apps/therealproxy/README.org create mode 100644 cmd/apps/therealproxy/therealproxy.go create mode 100644 cmd/apps/therealssh-client/README.org create mode 100644 cmd/apps/therealssh-client/therealssh-client.go create mode 100644 cmd/apps/therealssh/README.org create mode 100644 cmd/apps/therealssh/therealssh.go create mode 100644 cmd/manager-node/README.md create mode 100644 cmd/manager-node/commands/root.go create mode 100644 cmd/manager-node/manager-node.go create mode 100644 cmd/manager-node/manager-node.postman_collection.json create mode 100644 cmd/skywire-cli/README.org create mode 100644 cmd/skywire-cli/commands/app.go create mode 100644 cmd/skywire-cli/commands/config.go create mode 100644 cmd/skywire-cli/commands/messaging-discovery.go create mode 100644 cmd/skywire-cli/commands/root.go create mode 100644 cmd/skywire-cli/commands/route-finder.go create mode 100644 cmd/skywire-cli/commands/rules.go create mode 100644 cmd/skywire-cli/commands/transport-discovery.go create mode 100644 cmd/skywire-cli/commands/transports.go create mode 100644 cmd/skywire-cli/skywire-cli.go create mode 100644 cmd/skywire-node/commands/root.go create mode 100644 cmd/skywire-node/config.json create mode 100644 cmd/skywire-node/skywire-node.go create mode 100644 cmd/therealssh-cli/README.org create mode 100644 cmd/therealssh-cli/commands/root.go create mode 100644 cmd/therealssh-cli/therealssh-cli.go create mode 100644 go.mod create mode 100644 go.sum create mode 100644 internal/httpauth/auth.go create mode 100644 internal/httpauth/client.go create mode 100644 internal/httpauth/client_test.go create mode 100644 internal/httputil/json.go create mode 100644 internal/ioutil/ack.go create mode 100644 internal/ioutil/ack_test.go create mode 100644 internal/ioutil/len_read_writer.go create mode 100644 internal/ioutil/len_read_writer_test.go create mode 100644 internal/noise/dh.go create mode 100644 internal/noise/net.go create mode 100644 internal/noise/net_test.go create mode 100644 internal/noise/noise.go create mode 100644 internal/noise/noise_test.go create mode 100644 internal/noise/read_writer.go create mode 100644 internal/noise/read_writer_test.go create mode 100644 internal/therealproxy/client.go create mode 100644 internal/therealproxy/server.go create mode 100644 internal/therealproxy/server_test.go create mode 100644 internal/therealssh/auth.go create mode 100644 internal/therealssh/auth_test.go create mode 100644 internal/therealssh/chan_list.go create mode 100644 internal/therealssh/channel.go create mode 100644 internal/therealssh/channel_pty_test.go create mode 100644 internal/therealssh/channel_test.go create mode 100644 internal/therealssh/client.go create mode 100644 internal/therealssh/client_test.go create mode 100644 internal/therealssh/server.go create mode 100644 internal/therealssh/server_test.go create mode 100644 internal/therealssh/session.go create mode 100644 internal/therealssh/shell.go create mode 100644 internal/therealssh/shell_darwin.go create mode 100644 pkg/app/app.go create mode 100644 pkg/app/app_test.go create mode 100644 pkg/app/conn.go create mode 100644 pkg/app/conn_test.go create mode 100644 pkg/app/packet.go create mode 100644 pkg/app/protocol.go create mode 100644 pkg/app/protocol_test.go create mode 100644 pkg/cipher/cipher.go create mode 100644 pkg/cipher/cipher_test.go create mode 100644 pkg/manager/node.go create mode 100644 pkg/manager/rpc_client.go create mode 100644 pkg/messaging-discovery/client/client.go create mode 100644 pkg/messaging-discovery/client/client_available_servers_integration_test.go create mode 100644 pkg/messaging-discovery/client/client_clear_entry_integration_test.go create mode 100644 pkg/messaging-discovery/client/client_entry_integration_test.go create mode 100644 pkg/messaging-discovery/client/client_mock_test.go create mode 100644 pkg/messaging-discovery/client/client_set_entry_integration_test.go create mode 100644 pkg/messaging-discovery/client/client_update_entry_integration_test.go create mode 100644 pkg/messaging-discovery/client/entry.go create mode 100644 pkg/messaging-discovery/client/entry_test.go create mode 100644 pkg/messaging-discovery/client/examples/client_test.go create mode 100644 pkg/messaging-discovery/client/http_message.go create mode 100644 pkg/messaging-discovery/client/testing.go create mode 100644 pkg/messaging/README.md create mode 100644 pkg/messaging/callbacks.go create mode 100644 pkg/messaging/chan_list.go create mode 100644 pkg/messaging/channel.go create mode 100644 pkg/messaging/channel_test.go create mode 100644 pkg/messaging/client.go create mode 100644 pkg/messaging/client_test.go create mode 100644 pkg/messaging/frame.go create mode 100644 pkg/messaging/handshake.go create mode 100644 pkg/messaging/handshake_test.go create mode 100644 pkg/messaging/link.go create mode 100644 pkg/messaging/link_test.go create mode 100644 pkg/messaging/pool.go create mode 100644 pkg/messaging/pool_test.go create mode 100644 pkg/node/config.go create mode 100644 pkg/node/config_test.go create mode 100644 pkg/node/node.go create mode 100644 pkg/node/node_test.go create mode 100644 pkg/node/rpc.go create mode 100644 pkg/node/rpc_test.go create mode 100644 pkg/route-finder/client/client.go create mode 100644 pkg/route-finder/client/mock.go create mode 100644 pkg/router/app_manager.go create mode 100644 pkg/router/app_manager_test.go create mode 100644 pkg/router/loop_list.go create mode 100644 pkg/router/managed_routing_table.go create mode 100644 pkg/router/managed_routing_table_test.go create mode 100644 pkg/router/port_list.go create mode 100644 pkg/router/port_manager.go create mode 100644 pkg/router/port_manager_test.go create mode 100644 pkg/router/route_manager.go create mode 100644 pkg/router/route_manager_test.go create mode 100644 pkg/router/router.go create mode 100644 pkg/router/router_test.go create mode 100644 pkg/routing/boltdb_routing_table.go create mode 100644 pkg/routing/boltdb_routing_table_test.go create mode 100644 pkg/routing/loop.go create mode 100644 pkg/routing/packet.go create mode 100644 pkg/routing/packet_test.go create mode 100644 pkg/routing/route.go create mode 100644 pkg/routing/routing_table.go create mode 100644 pkg/routing/routing_table_test.go create mode 100644 pkg/routing/rule.go create mode 100644 pkg/routing/rule_test.go create mode 100644 pkg/setup/protocol.go create mode 100644 pkg/transport-discovery/client/client.go create mode 100644 pkg/transport-discovery/client/client_test.go create mode 100644 pkg/transport/discovery.go create mode 100644 pkg/transport/entry.go create mode 100644 pkg/transport/handshake.go create mode 100644 pkg/transport/handshake_test.go create mode 100644 pkg/transport/log.go create mode 100644 pkg/transport/log_test.go create mode 100644 pkg/transport/managed_transport.go create mode 100644 pkg/transport/manager.go create mode 100644 pkg/transport/manager_test.go create mode 100644 pkg/transport/mock.go create mode 100644 pkg/transport/tcp_transport.go create mode 100644 pkg/transport/tcp_transport_test.go create mode 100644 pkg/transport/transport.go create mode 100644 vendor/github.com/armon/go-socks5/.gitignore create mode 100644 vendor/github.com/armon/go-socks5/.travis.yml create mode 100644 vendor/github.com/armon/go-socks5/LICENSE create mode 100644 vendor/github.com/armon/go-socks5/README.md create mode 100644 vendor/github.com/armon/go-socks5/auth.go create mode 100644 vendor/github.com/armon/go-socks5/credentials.go create mode 100644 vendor/github.com/armon/go-socks5/request.go create mode 100644 vendor/github.com/armon/go-socks5/resolver.go create mode 100644 vendor/github.com/armon/go-socks5/ruleset.go create mode 100644 vendor/github.com/armon/go-socks5/socks5.go create mode 100644 vendor/github.com/davecgh/go-spew/LICENSE create mode 100644 vendor/github.com/davecgh/go-spew/spew/bypass.go create mode 100644 vendor/github.com/davecgh/go-spew/spew/bypasssafe.go create mode 100644 vendor/github.com/davecgh/go-spew/spew/common.go create mode 100644 vendor/github.com/davecgh/go-spew/spew/config.go create mode 100644 vendor/github.com/davecgh/go-spew/spew/doc.go create mode 100644 vendor/github.com/davecgh/go-spew/spew/dump.go create mode 100644 vendor/github.com/davecgh/go-spew/spew/format.go create mode 100644 vendor/github.com/davecgh/go-spew/spew/spew.go create mode 100644 vendor/github.com/flynn/noise/.travis.yml create mode 100644 vendor/github.com/flynn/noise/CONTRIBUTING.md create mode 100644 vendor/github.com/flynn/noise/LICENSE create mode 100644 vendor/github.com/flynn/noise/README.md create mode 100644 vendor/github.com/flynn/noise/cipher_suite.go create mode 100644 vendor/github.com/flynn/noise/hkdf.go create mode 100644 vendor/github.com/flynn/noise/patterns.go create mode 100644 vendor/github.com/flynn/noise/state.go create mode 100644 vendor/github.com/flynn/noise/vectors.txt create mode 100644 vendor/github.com/go-chi/chi/.gitignore create mode 100644 vendor/github.com/go-chi/chi/.travis.yml create mode 100644 vendor/github.com/go-chi/chi/CHANGELOG.md create mode 100644 vendor/github.com/go-chi/chi/CONTRIBUTING.md create mode 100644 vendor/github.com/go-chi/chi/LICENSE create mode 100644 vendor/github.com/go-chi/chi/README.md create mode 100644 vendor/github.com/go-chi/chi/chain.go create mode 100644 vendor/github.com/go-chi/chi/chi.go create mode 100644 vendor/github.com/go-chi/chi/context.go create mode 100644 vendor/github.com/go-chi/chi/middleware/compress.go create mode 100644 vendor/github.com/go-chi/chi/middleware/content_charset.go create mode 100644 vendor/github.com/go-chi/chi/middleware/content_type.go create mode 100644 vendor/github.com/go-chi/chi/middleware/get_head.go create mode 100644 vendor/github.com/go-chi/chi/middleware/heartbeat.go create mode 100644 vendor/github.com/go-chi/chi/middleware/logger.go create mode 100644 vendor/github.com/go-chi/chi/middleware/middleware.go create mode 100644 vendor/github.com/go-chi/chi/middleware/nocache.go create mode 100644 vendor/github.com/go-chi/chi/middleware/profiler.go create mode 100644 vendor/github.com/go-chi/chi/middleware/realip.go create mode 100644 vendor/github.com/go-chi/chi/middleware/recoverer.go create mode 100644 vendor/github.com/go-chi/chi/middleware/request_id.go create mode 100644 vendor/github.com/go-chi/chi/middleware/strip.go create mode 100644 vendor/github.com/go-chi/chi/middleware/terminal.go create mode 100644 vendor/github.com/go-chi/chi/middleware/throttle.go create mode 100644 vendor/github.com/go-chi/chi/middleware/timeout.go create mode 100644 vendor/github.com/go-chi/chi/middleware/url_format.go create mode 100644 vendor/github.com/go-chi/chi/middleware/value.go create mode 100644 vendor/github.com/go-chi/chi/middleware/wrap_writer.go create mode 100644 vendor/github.com/go-chi/chi/mux.go create mode 100644 vendor/github.com/go-chi/chi/tree.go create mode 100644 vendor/github.com/google/uuid/.travis.yml create mode 100644 vendor/github.com/google/uuid/CONTRIBUTING.md create mode 100644 vendor/github.com/google/uuid/CONTRIBUTORS create mode 100644 vendor/github.com/google/uuid/LICENSE create mode 100644 vendor/github.com/google/uuid/README.md create mode 100644 vendor/github.com/google/uuid/dce.go create mode 100644 vendor/github.com/google/uuid/doc.go create mode 100644 vendor/github.com/google/uuid/go.mod create mode 100644 vendor/github.com/google/uuid/hash.go create mode 100644 vendor/github.com/google/uuid/marshal.go create mode 100644 vendor/github.com/google/uuid/node.go create mode 100644 vendor/github.com/google/uuid/node_js.go create mode 100644 vendor/github.com/google/uuid/node_net.go create mode 100644 vendor/github.com/google/uuid/sql.go create mode 100644 vendor/github.com/google/uuid/time.go create mode 100644 vendor/github.com/google/uuid/util.go create mode 100644 vendor/github.com/google/uuid/uuid.go create mode 100644 vendor/github.com/google/uuid/version1.go create mode 100644 vendor/github.com/google/uuid/version4.go create mode 100644 vendor/github.com/hashicorp/yamux/.gitignore create mode 100644 vendor/github.com/hashicorp/yamux/LICENSE create mode 100644 vendor/github.com/hashicorp/yamux/README.md create mode 100644 vendor/github.com/hashicorp/yamux/addr.go create mode 100644 vendor/github.com/hashicorp/yamux/const.go create mode 100644 vendor/github.com/hashicorp/yamux/go.mod create mode 100644 vendor/github.com/hashicorp/yamux/mux.go create mode 100644 vendor/github.com/hashicorp/yamux/session.go create mode 100644 vendor/github.com/hashicorp/yamux/spec.md create mode 100644 vendor/github.com/hashicorp/yamux/stream.go create mode 100644 vendor/github.com/hashicorp/yamux/util.go create mode 100644 vendor/github.com/inconshreveable/mousetrap/LICENSE create mode 100644 vendor/github.com/inconshreveable/mousetrap/README.md create mode 100644 vendor/github.com/inconshreveable/mousetrap/trap_others.go create mode 100644 vendor/github.com/inconshreveable/mousetrap/trap_windows.go create mode 100644 vendor/github.com/inconshreveable/mousetrap/trap_windows_1.4.go create mode 100644 vendor/github.com/konsorten/go-windows-terminal-sequences/LICENSE create mode 100644 vendor/github.com/konsorten/go-windows-terminal-sequences/README.md create mode 100644 vendor/github.com/konsorten/go-windows-terminal-sequences/go.mod create mode 100644 vendor/github.com/konsorten/go-windows-terminal-sequences/sequences.go create mode 100644 vendor/github.com/kr/pty/.gitignore create mode 100644 vendor/github.com/kr/pty/License create mode 100644 vendor/github.com/kr/pty/README.md create mode 100644 vendor/github.com/kr/pty/doc.go create mode 100644 vendor/github.com/kr/pty/ioctl.go create mode 100644 vendor/github.com/kr/pty/ioctl_bsd.go create mode 100644 vendor/github.com/kr/pty/mktypes.bash create mode 100644 vendor/github.com/kr/pty/pty_darwin.go create mode 100644 vendor/github.com/kr/pty/pty_dragonfly.go create mode 100644 vendor/github.com/kr/pty/pty_freebsd.go create mode 100644 vendor/github.com/kr/pty/pty_linux.go create mode 100644 vendor/github.com/kr/pty/pty_openbsd.go create mode 100644 vendor/github.com/kr/pty/pty_unsupported.go create mode 100644 vendor/github.com/kr/pty/run.go create mode 100644 vendor/github.com/kr/pty/types.go create mode 100644 vendor/github.com/kr/pty/types_dragonfly.go create mode 100644 vendor/github.com/kr/pty/types_freebsd.go create mode 100644 vendor/github.com/kr/pty/types_openbsd.go create mode 100644 vendor/github.com/kr/pty/util.go create mode 100644 vendor/github.com/kr/pty/ztypes_386.go create mode 100644 vendor/github.com/kr/pty/ztypes_amd64.go create mode 100644 vendor/github.com/kr/pty/ztypes_arm.go create mode 100644 vendor/github.com/kr/pty/ztypes_arm64.go create mode 100644 vendor/github.com/kr/pty/ztypes_dragonfly_amd64.go create mode 100644 vendor/github.com/kr/pty/ztypes_freebsd_386.go create mode 100644 vendor/github.com/kr/pty/ztypes_freebsd_amd64.go create mode 100644 vendor/github.com/kr/pty/ztypes_freebsd_arm.go create mode 100644 vendor/github.com/kr/pty/ztypes_mipsx.go create mode 100644 vendor/github.com/kr/pty/ztypes_openbsd_386.go create mode 100644 vendor/github.com/kr/pty/ztypes_openbsd_amd64.go create mode 100644 vendor/github.com/kr/pty/ztypes_ppc64.go create mode 100644 vendor/github.com/kr/pty/ztypes_ppc64le.go create mode 100644 vendor/github.com/kr/pty/ztypes_s390x.go create mode 100644 vendor/github.com/mattn/go-colorable/.travis.yml create mode 100644 vendor/github.com/mattn/go-colorable/LICENSE create mode 100644 vendor/github.com/mattn/go-colorable/README.md create mode 100644 vendor/github.com/mattn/go-colorable/colorable_appengine.go create mode 100644 vendor/github.com/mattn/go-colorable/colorable_others.go create mode 100644 vendor/github.com/mattn/go-colorable/colorable_windows.go create mode 100644 vendor/github.com/mattn/go-colorable/noncolorable.go create mode 100644 vendor/github.com/mattn/go-isatty/.travis.yml create mode 100644 vendor/github.com/mattn/go-isatty/LICENSE create mode 100644 vendor/github.com/mattn/go-isatty/README.md create mode 100644 vendor/github.com/mattn/go-isatty/doc.go create mode 100644 vendor/github.com/mattn/go-isatty/isatty_appengine.go create mode 100644 vendor/github.com/mattn/go-isatty/isatty_bsd.go create mode 100644 vendor/github.com/mattn/go-isatty/isatty_linux.go create mode 100644 vendor/github.com/mattn/go-isatty/isatty_linux_ppc64x.go create mode 100644 vendor/github.com/mattn/go-isatty/isatty_others.go create mode 100644 vendor/github.com/mattn/go-isatty/isatty_solaris.go create mode 100644 vendor/github.com/mattn/go-isatty/isatty_windows.go create mode 100644 vendor/github.com/mgutz/ansi/.gitignore create mode 100644 vendor/github.com/mgutz/ansi/LICENSE create mode 100644 vendor/github.com/mgutz/ansi/README.md create mode 100644 vendor/github.com/mgutz/ansi/ansi.go create mode 100644 vendor/github.com/mgutz/ansi/doc.go create mode 100644 vendor/github.com/mgutz/ansi/print.go create mode 100644 vendor/github.com/mitchellh/go-homedir/LICENSE create mode 100644 vendor/github.com/mitchellh/go-homedir/README.md create mode 100644 vendor/github.com/mitchellh/go-homedir/go.mod create mode 100644 vendor/github.com/mitchellh/go-homedir/homedir.go create mode 100644 vendor/github.com/pmezard/go-difflib/LICENSE create mode 100644 vendor/github.com/pmezard/go-difflib/difflib/difflib.go create mode 100644 vendor/github.com/sirupsen/logrus/.gitignore create mode 100644 vendor/github.com/sirupsen/logrus/.travis.yml create mode 100644 vendor/github.com/sirupsen/logrus/CHANGELOG.md create mode 100644 vendor/github.com/sirupsen/logrus/LICENSE create mode 100644 vendor/github.com/sirupsen/logrus/README.md create mode 100644 vendor/github.com/sirupsen/logrus/alt_exit.go create mode 100644 vendor/github.com/sirupsen/logrus/appveyor.yml create mode 100644 vendor/github.com/sirupsen/logrus/doc.go create mode 100644 vendor/github.com/sirupsen/logrus/entry.go create mode 100644 vendor/github.com/sirupsen/logrus/exported.go create mode 100644 vendor/github.com/sirupsen/logrus/formatter.go create mode 100644 vendor/github.com/sirupsen/logrus/go.mod create mode 100644 vendor/github.com/sirupsen/logrus/go.sum create mode 100644 vendor/github.com/sirupsen/logrus/hooks.go create mode 100644 vendor/github.com/sirupsen/logrus/json_formatter.go create mode 100644 vendor/github.com/sirupsen/logrus/logger.go create mode 100644 vendor/github.com/sirupsen/logrus/logrus.go create mode 100644 vendor/github.com/sirupsen/logrus/terminal_check_aix.go create mode 100644 vendor/github.com/sirupsen/logrus/terminal_check_appengine.go create mode 100644 vendor/github.com/sirupsen/logrus/terminal_check_js.go create mode 100644 vendor/github.com/sirupsen/logrus/terminal_check_notappengine.go create mode 100644 vendor/github.com/sirupsen/logrus/terminal_check_windows.go create mode 100644 vendor/github.com/sirupsen/logrus/terminal_notwindows.go create mode 100644 vendor/github.com/sirupsen/logrus/terminal_windows.go create mode 100644 vendor/github.com/sirupsen/logrus/text_formatter.go create mode 100644 vendor/github.com/sirupsen/logrus/writer.go create mode 100644 vendor/github.com/skycoin/skycoin/src/cipher/address.go create mode 100644 vendor/github.com/skycoin/skycoin/src/cipher/base58/LICENSE create mode 100644 vendor/github.com/skycoin/skycoin/src/cipher/base58/LICENSE_old create mode 100644 vendor/github.com/skycoin/skycoin/src/cipher/base58/README.md create mode 100644 vendor/github.com/skycoin/skycoin/src/cipher/base58/base58.go create mode 100644 vendor/github.com/skycoin/skycoin/src/cipher/base58/base58_old.go create mode 100644 vendor/github.com/skycoin/skycoin/src/cipher/bitcoin.go create mode 100644 vendor/github.com/skycoin/skycoin/src/cipher/crypto.go create mode 100644 vendor/github.com/skycoin/skycoin/src/cipher/hash.go create mode 100644 vendor/github.com/skycoin/skycoin/src/cipher/ripemd160/ripemd160block.go create mode 100644 vendor/github.com/skycoin/skycoin/src/cipher/ripemd160/ripmd_160.go create mode 100644 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/README.md create mode 100644 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256_rand.go create mode 100644 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/COPYING create mode 100644 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/README.md create mode 100644 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/ec.go create mode 100644 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/field.go create mode 100644 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/num.go create mode 100644 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/secp256k1.go create mode 100644 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/sig.go create mode 100644 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/xy.go create mode 100644 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/xyz.go create mode 100644 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/z_consts.go create mode 100644 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/z_init.go create mode 100644 vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1.go create mode 100644 vendor/github.com/skycoin/skycoin/src/util/logging/formatter.go create mode 100644 vendor/github.com/skycoin/skycoin/src/util/logging/hooks.go create mode 100644 vendor/github.com/skycoin/skycoin/src/util/logging/logger.go create mode 100644 vendor/github.com/skycoin/skycoin/src/util/logging/logging.go create mode 100644 vendor/github.com/spf13/cobra/.gitignore create mode 100644 vendor/github.com/spf13/cobra/.mailmap create mode 100644 vendor/github.com/spf13/cobra/.travis.yml create mode 100644 vendor/github.com/spf13/cobra/LICENSE.txt create mode 100644 vendor/github.com/spf13/cobra/README.md create mode 100644 vendor/github.com/spf13/cobra/args.go create mode 100644 vendor/github.com/spf13/cobra/bash_completions.go create mode 100644 vendor/github.com/spf13/cobra/bash_completions.md create mode 100644 vendor/github.com/spf13/cobra/cobra.go create mode 100644 vendor/github.com/spf13/cobra/command.go create mode 100644 vendor/github.com/spf13/cobra/command_notwin.go create mode 100644 vendor/github.com/spf13/cobra/command_win.go create mode 100644 vendor/github.com/spf13/cobra/zsh_completions.go create mode 100644 vendor/github.com/spf13/pflag/.gitignore create mode 100644 vendor/github.com/spf13/pflag/.travis.yml create mode 100644 vendor/github.com/spf13/pflag/LICENSE create mode 100644 vendor/github.com/spf13/pflag/README.md create mode 100644 vendor/github.com/spf13/pflag/bool.go create mode 100644 vendor/github.com/spf13/pflag/bool_slice.go create mode 100644 vendor/github.com/spf13/pflag/bytes.go create mode 100644 vendor/github.com/spf13/pflag/count.go create mode 100644 vendor/github.com/spf13/pflag/duration.go create mode 100644 vendor/github.com/spf13/pflag/duration_slice.go create mode 100644 vendor/github.com/spf13/pflag/flag.go create mode 100644 vendor/github.com/spf13/pflag/float32.go create mode 100644 vendor/github.com/spf13/pflag/float64.go create mode 100644 vendor/github.com/spf13/pflag/golangflag.go create mode 100644 vendor/github.com/spf13/pflag/int.go create mode 100644 vendor/github.com/spf13/pflag/int16.go create mode 100644 vendor/github.com/spf13/pflag/int32.go create mode 100644 vendor/github.com/spf13/pflag/int64.go create mode 100644 vendor/github.com/spf13/pflag/int8.go create mode 100644 vendor/github.com/spf13/pflag/int_slice.go create mode 100644 vendor/github.com/spf13/pflag/ip.go create mode 100644 vendor/github.com/spf13/pflag/ip_slice.go create mode 100644 vendor/github.com/spf13/pflag/ipmask.go create mode 100644 vendor/github.com/spf13/pflag/ipnet.go create mode 100644 vendor/github.com/spf13/pflag/string.go create mode 100644 vendor/github.com/spf13/pflag/string_array.go create mode 100644 vendor/github.com/spf13/pflag/string_slice.go create mode 100644 vendor/github.com/spf13/pflag/string_to_int.go create mode 100644 vendor/github.com/spf13/pflag/string_to_string.go create mode 100644 vendor/github.com/spf13/pflag/uint.go create mode 100644 vendor/github.com/spf13/pflag/uint16.go create mode 100644 vendor/github.com/spf13/pflag/uint32.go create mode 100644 vendor/github.com/spf13/pflag/uint64.go create mode 100644 vendor/github.com/spf13/pflag/uint8.go create mode 100644 vendor/github.com/spf13/pflag/uint_slice.go create mode 100644 vendor/github.com/stretchr/testify/LICENSE create mode 100644 vendor/github.com/stretchr/testify/assert/assertion_format.go create mode 100644 vendor/github.com/stretchr/testify/assert/assertion_format.go.tmpl create mode 100644 vendor/github.com/stretchr/testify/assert/assertion_forward.go create mode 100644 vendor/github.com/stretchr/testify/assert/assertion_forward.go.tmpl create mode 100644 vendor/github.com/stretchr/testify/assert/assertions.go create mode 100644 vendor/github.com/stretchr/testify/assert/doc.go create mode 100644 vendor/github.com/stretchr/testify/assert/errors.go create mode 100644 vendor/github.com/stretchr/testify/assert/forward_assertions.go create mode 100644 vendor/github.com/stretchr/testify/assert/http_assertions.go create mode 100644 vendor/github.com/stretchr/testify/require/doc.go create mode 100644 vendor/github.com/stretchr/testify/require/forward_requirements.go create mode 100644 vendor/github.com/stretchr/testify/require/require.go create mode 100644 vendor/github.com/stretchr/testify/require/require.go.tmpl create mode 100644 vendor/github.com/stretchr/testify/require/require_forward.go create mode 100644 vendor/github.com/stretchr/testify/require/require_forward.go.tmpl create mode 100644 vendor/github.com/stretchr/testify/require/requirements.go create mode 100644 vendor/go.etcd.io/bbolt/.gitignore create mode 100644 vendor/go.etcd.io/bbolt/.travis.yml create mode 100644 vendor/go.etcd.io/bbolt/LICENSE create mode 100644 vendor/go.etcd.io/bbolt/Makefile create mode 100644 vendor/go.etcd.io/bbolt/README.md create mode 100644 vendor/go.etcd.io/bbolt/bolt_386.go create mode 100644 vendor/go.etcd.io/bbolt/bolt_amd64.go create mode 100644 vendor/go.etcd.io/bbolt/bolt_arm.go create mode 100644 vendor/go.etcd.io/bbolt/bolt_arm64.go create mode 100644 vendor/go.etcd.io/bbolt/bolt_linux.go create mode 100644 vendor/go.etcd.io/bbolt/bolt_mips64x.go create mode 100644 vendor/go.etcd.io/bbolt/bolt_mipsx.go create mode 100644 vendor/go.etcd.io/bbolt/bolt_openbsd.go create mode 100644 vendor/go.etcd.io/bbolt/bolt_ppc.go create mode 100644 vendor/go.etcd.io/bbolt/bolt_ppc64.go create mode 100644 vendor/go.etcd.io/bbolt/bolt_ppc64le.go create mode 100644 vendor/go.etcd.io/bbolt/bolt_s390x.go create mode 100644 vendor/go.etcd.io/bbolt/bolt_unix.go create mode 100644 vendor/go.etcd.io/bbolt/bolt_unix_solaris.go create mode 100644 vendor/go.etcd.io/bbolt/bolt_windows.go create mode 100644 vendor/go.etcd.io/bbolt/boltsync_unix.go create mode 100644 vendor/go.etcd.io/bbolt/bucket.go create mode 100644 vendor/go.etcd.io/bbolt/cursor.go create mode 100644 vendor/go.etcd.io/bbolt/db.go create mode 100644 vendor/go.etcd.io/bbolt/doc.go create mode 100644 vendor/go.etcd.io/bbolt/errors.go create mode 100644 vendor/go.etcd.io/bbolt/freelist.go create mode 100644 vendor/go.etcd.io/bbolt/freelist_hmap.go create mode 100644 vendor/go.etcd.io/bbolt/node.go create mode 100644 vendor/go.etcd.io/bbolt/page.go create mode 100644 vendor/go.etcd.io/bbolt/tx.go create mode 100644 vendor/golang.org/x/crypto/AUTHORS create mode 100644 vendor/golang.org/x/crypto/CONTRIBUTORS create mode 100644 vendor/golang.org/x/crypto/LICENSE create mode 100644 vendor/golang.org/x/crypto/PATENTS create mode 100644 vendor/golang.org/x/crypto/blake2b/blake2b.go create mode 100644 vendor/golang.org/x/crypto/blake2b/blake2bAVX2_amd64.go create mode 100644 vendor/golang.org/x/crypto/blake2b/blake2bAVX2_amd64.s create mode 100644 vendor/golang.org/x/crypto/blake2b/blake2b_amd64.go create mode 100644 vendor/golang.org/x/crypto/blake2b/blake2b_amd64.s create mode 100644 vendor/golang.org/x/crypto/blake2b/blake2b_generic.go create mode 100644 vendor/golang.org/x/crypto/blake2b/blake2b_ref.go create mode 100644 vendor/golang.org/x/crypto/blake2b/blake2x.go create mode 100644 vendor/golang.org/x/crypto/blake2b/register.go create mode 100644 vendor/golang.org/x/crypto/blake2s/blake2s.go create mode 100644 vendor/golang.org/x/crypto/blake2s/blake2s_386.go create mode 100644 vendor/golang.org/x/crypto/blake2s/blake2s_386.s create mode 100644 vendor/golang.org/x/crypto/blake2s/blake2s_amd64.go create mode 100644 vendor/golang.org/x/crypto/blake2s/blake2s_amd64.s create mode 100644 vendor/golang.org/x/crypto/blake2s/blake2s_generic.go create mode 100644 vendor/golang.org/x/crypto/blake2s/blake2s_ref.go create mode 100644 vendor/golang.org/x/crypto/blake2s/blake2x.go create mode 100644 vendor/golang.org/x/crypto/blake2s/register.go create mode 100644 vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305.go create mode 100644 vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.go create mode 100644 vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.s create mode 100644 vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_generic.go create mode 100644 vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_noasm.go create mode 100644 vendor/golang.org/x/crypto/chacha20poly1305/xchacha20poly1305.go create mode 100644 vendor/golang.org/x/crypto/curve25519/const_amd64.h create mode 100644 vendor/golang.org/x/crypto/curve25519/const_amd64.s create mode 100644 vendor/golang.org/x/crypto/curve25519/cswap_amd64.s create mode 100644 vendor/golang.org/x/crypto/curve25519/curve25519.go create mode 100644 vendor/golang.org/x/crypto/curve25519/doc.go create mode 100644 vendor/golang.org/x/crypto/curve25519/freeze_amd64.s create mode 100644 vendor/golang.org/x/crypto/curve25519/ladderstep_amd64.s create mode 100644 vendor/golang.org/x/crypto/curve25519/mont25519_amd64.go create mode 100644 vendor/golang.org/x/crypto/curve25519/mul_amd64.s create mode 100644 vendor/golang.org/x/crypto/curve25519/square_amd64.s create mode 100644 vendor/golang.org/x/crypto/internal/chacha20/asm_arm64.s create mode 100644 vendor/golang.org/x/crypto/internal/chacha20/chacha_arm64.go create mode 100644 vendor/golang.org/x/crypto/internal/chacha20/chacha_generic.go create mode 100644 vendor/golang.org/x/crypto/internal/chacha20/chacha_noasm.go create mode 100644 vendor/golang.org/x/crypto/internal/chacha20/chacha_s390x.go create mode 100644 vendor/golang.org/x/crypto/internal/chacha20/chacha_s390x.s create mode 100644 vendor/golang.org/x/crypto/internal/chacha20/xor.go create mode 100644 vendor/golang.org/x/crypto/internal/subtle/aliasing.go create mode 100644 vendor/golang.org/x/crypto/internal/subtle/aliasing_appengine.go create mode 100644 vendor/golang.org/x/crypto/poly1305/poly1305.go create mode 100644 vendor/golang.org/x/crypto/poly1305/sum_amd64.go create mode 100644 vendor/golang.org/x/crypto/poly1305/sum_amd64.s create mode 100644 vendor/golang.org/x/crypto/poly1305/sum_arm.go create mode 100644 vendor/golang.org/x/crypto/poly1305/sum_arm.s create mode 100644 vendor/golang.org/x/crypto/poly1305/sum_noasm.go create mode 100644 vendor/golang.org/x/crypto/poly1305/sum_ref.go create mode 100644 vendor/golang.org/x/crypto/poly1305/sum_s390x.go create mode 100644 vendor/golang.org/x/crypto/poly1305/sum_s390x.s create mode 100644 vendor/golang.org/x/crypto/poly1305/sum_vmsl_s390x.s create mode 100644 vendor/golang.org/x/crypto/ssh/terminal/terminal.go create mode 100644 vendor/golang.org/x/crypto/ssh/terminal/util.go create mode 100644 vendor/golang.org/x/crypto/ssh/terminal/util_aix.go create mode 100644 vendor/golang.org/x/crypto/ssh/terminal/util_bsd.go create mode 100644 vendor/golang.org/x/crypto/ssh/terminal/util_linux.go create mode 100644 vendor/golang.org/x/crypto/ssh/terminal/util_plan9.go create mode 100644 vendor/golang.org/x/crypto/ssh/terminal/util_solaris.go create mode 100644 vendor/golang.org/x/crypto/ssh/terminal/util_windows.go create mode 100644 vendor/golang.org/x/net/AUTHORS create mode 100644 vendor/golang.org/x/net/CONTRIBUTORS create mode 100644 vendor/golang.org/x/net/LICENSE create mode 100644 vendor/golang.org/x/net/PATENTS create mode 100644 vendor/golang.org/x/net/context/context.go create mode 100644 vendor/golang.org/x/net/context/go17.go create mode 100644 vendor/golang.org/x/net/context/go19.go create mode 100644 vendor/golang.org/x/net/context/pre_go17.go create mode 100644 vendor/golang.org/x/net/context/pre_go19.go create mode 100644 vendor/golang.org/x/net/internal/socks/client.go create mode 100644 vendor/golang.org/x/net/internal/socks/socks.go create mode 100644 vendor/golang.org/x/net/proxy/direct.go create mode 100644 vendor/golang.org/x/net/proxy/per_host.go create mode 100644 vendor/golang.org/x/net/proxy/proxy.go create mode 100644 vendor/golang.org/x/net/proxy/socks5.go create mode 100644 vendor/golang.org/x/sys/AUTHORS create mode 100644 vendor/golang.org/x/sys/CONTRIBUTORS create mode 100644 vendor/golang.org/x/sys/LICENSE create mode 100644 vendor/golang.org/x/sys/PATENTS create mode 100644 vendor/golang.org/x/sys/cpu/byteorder.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_arm.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_gc_x86.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_gccgo.c create mode 100644 vendor/golang.org/x/sys/cpu/cpu_gccgo.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_linux.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_linux_arm64.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_mips64x.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_mipsx.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_other_arm64.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_ppc64x.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_s390x.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_x86.go create mode 100644 vendor/golang.org/x/sys/cpu/cpu_x86.s create mode 100644 vendor/golang.org/x/sys/unix/.gitignore create mode 100644 vendor/golang.org/x/sys/unix/README.md create mode 100644 vendor/golang.org/x/sys/unix/affinity_linux.go create mode 100644 vendor/golang.org/x/sys/unix/aliases.go create mode 100644 vendor/golang.org/x/sys/unix/asm_aix_ppc64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_darwin_386.s create mode 100644 vendor/golang.org/x/sys/unix/asm_darwin_amd64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_darwin_arm.s create mode 100644 vendor/golang.org/x/sys/unix/asm_darwin_arm64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_freebsd_386.s create mode 100644 vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_freebsd_arm.s create mode 100644 vendor/golang.org/x/sys/unix/asm_freebsd_arm64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_386.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_amd64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_arm.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_arm64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_mips64x.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_mipsx.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_s390x.s create mode 100644 vendor/golang.org/x/sys/unix/asm_netbsd_386.s create mode 100644 vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_netbsd_arm.s create mode 100644 vendor/golang.org/x/sys/unix/asm_netbsd_arm64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_openbsd_386.s create mode 100644 vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_openbsd_arm.s create mode 100644 vendor/golang.org/x/sys/unix/asm_solaris_amd64.s create mode 100644 vendor/golang.org/x/sys/unix/bluetooth_linux.go create mode 100644 vendor/golang.org/x/sys/unix/cap_freebsd.go create mode 100644 vendor/golang.org/x/sys/unix/constants.go create mode 100644 vendor/golang.org/x/sys/unix/dev_aix_ppc.go create mode 100644 vendor/golang.org/x/sys/unix/dev_aix_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/dev_darwin.go create mode 100644 vendor/golang.org/x/sys/unix/dev_dragonfly.go create mode 100644 vendor/golang.org/x/sys/unix/dev_freebsd.go create mode 100644 vendor/golang.org/x/sys/unix/dev_linux.go create mode 100644 vendor/golang.org/x/sys/unix/dev_netbsd.go create mode 100644 vendor/golang.org/x/sys/unix/dev_openbsd.go create mode 100644 vendor/golang.org/x/sys/unix/dirent.go create mode 100644 vendor/golang.org/x/sys/unix/endian_big.go create mode 100644 vendor/golang.org/x/sys/unix/endian_little.go create mode 100644 vendor/golang.org/x/sys/unix/env_unix.go create mode 100644 vendor/golang.org/x/sys/unix/errors_freebsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/errors_freebsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/fcntl.go create mode 100644 vendor/golang.org/x/sys/unix/fcntl_darwin.go create mode 100644 vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go create mode 100644 vendor/golang.org/x/sys/unix/gccgo.go create mode 100644 vendor/golang.org/x/sys/unix/gccgo_c.c create mode 100644 vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ioctl.go create mode 100644 vendor/golang.org/x/sys/unix/mkall.sh create mode 100644 vendor/golang.org/x/sys/unix/mkasm_darwin.go create mode 100644 vendor/golang.org/x/sys/unix/mkerrors.sh create mode 100644 vendor/golang.org/x/sys/unix/mkpost.go create mode 100644 vendor/golang.org/x/sys/unix/mksyscall.go create mode 100644 vendor/golang.org/x/sys/unix/mksyscall_aix_ppc.go create mode 100644 vendor/golang.org/x/sys/unix/mksyscall_aix_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/mksyscall_solaris.go create mode 100644 vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl create mode 100644 vendor/golang.org/x/sys/unix/mksysnum.go create mode 100644 vendor/golang.org/x/sys/unix/openbsd_pledge.go create mode 100644 vendor/golang.org/x/sys/unix/openbsd_unveil.go create mode 100644 vendor/golang.org/x/sys/unix/pagesize_unix.go create mode 100644 vendor/golang.org/x/sys/unix/race.go create mode 100644 vendor/golang.org/x/sys/unix/race0.go create mode 100644 vendor/golang.org/x/sys/unix/sockcmsg_linux.go create mode 100644 vendor/golang.org/x/sys/unix/sockcmsg_unix.go create mode 100644 vendor/golang.org/x/sys/unix/str.go create mode 100644 vendor/golang.org/x/sys/unix/syscall.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_aix.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_aix_ppc.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_bsd.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_386.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_arm.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_dragonfly.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_386.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_arm.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_gc.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_s390x.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_solaris.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_unix.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_unix_gc.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go create mode 100644 vendor/golang.org/x/sys/unix/timestruct.go create mode 100644 vendor/golang.org/x/sys/unix/types_aix.go create mode 100644 vendor/golang.org/x/sys/unix/types_darwin.go create mode 100644 vendor/golang.org/x/sys/unix/types_dragonfly.go create mode 100644 vendor/golang.org/x/sys/unix/types_freebsd.go create mode 100644 vendor/golang.org/x/sys/unix/types_netbsd.go create mode 100644 vendor/golang.org/x/sys/unix/types_openbsd.go create mode 100644 vendor/golang.org/x/sys/unix/types_solaris.go create mode 100644 vendor/golang.org/x/sys/unix/xattr_bsd.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_darwin_386.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_386.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_mips.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zptrace386_linux.go create mode 100644 vendor/golang.org/x/sys/unix/zptracearm_linux.go create mode 100644 vendor/golang.org/x/sys/unix/zptracemips_linux.go create mode 100644 vendor/golang.org/x/sys/unix/zptracemipsle_linux.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_11.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_386.s create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_11.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_11.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.s create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_11.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_386.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_386.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_arm.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_mips.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go create mode 100644 vendor/golang.org/x/sys/windows/aliases.go create mode 100644 vendor/golang.org/x/sys/windows/asm_windows_386.s create mode 100644 vendor/golang.org/x/sys/windows/asm_windows_amd64.s create mode 100644 vendor/golang.org/x/sys/windows/asm_windows_arm.s create mode 100644 vendor/golang.org/x/sys/windows/dll_windows.go create mode 100644 vendor/golang.org/x/sys/windows/env_windows.go create mode 100644 vendor/golang.org/x/sys/windows/eventlog.go create mode 100644 vendor/golang.org/x/sys/windows/exec_windows.go create mode 100644 vendor/golang.org/x/sys/windows/memory_windows.go create mode 100644 vendor/golang.org/x/sys/windows/mksyscall.go create mode 100644 vendor/golang.org/x/sys/windows/race.go create mode 100644 vendor/golang.org/x/sys/windows/race0.go create mode 100644 vendor/golang.org/x/sys/windows/security_windows.go create mode 100644 vendor/golang.org/x/sys/windows/service.go create mode 100644 vendor/golang.org/x/sys/windows/str.go create mode 100644 vendor/golang.org/x/sys/windows/syscall.go create mode 100644 vendor/golang.org/x/sys/windows/syscall_windows.go create mode 100644 vendor/golang.org/x/sys/windows/types_windows.go create mode 100644 vendor/golang.org/x/sys/windows/types_windows_386.go create mode 100644 vendor/golang.org/x/sys/windows/types_windows_amd64.go create mode 100644 vendor/golang.org/x/sys/windows/types_windows_arm.go create mode 100644 vendor/golang.org/x/sys/windows/zsyscall_windows.go create mode 100644 vendor/modules.txt diff --git a/CONTRIBUTE.md b/CONTRIBUTE.md new file mode 100644 index 000000000..2ef2729d0 --- /dev/null +++ b/CONTRIBUTE.md @@ -0,0 +1,9 @@ +# How to help: + +Interested developers can help by running the software and using the applications to test the functionality. They can file bug +issues in case something is not working. Bug issues should include a description of the bug, steps to reproduce and should +have [Mainnet] in the title so they can be filtered more easily. We will fix bugs as soon as possible. + +As soon as the documentation is released, we will provide guides on how to help the development of Skywire, whether it is a +new transport implementation or an application developed on Skywire. Bounties will be available for completion of certain +tasks. diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..e41513d94 --- /dev/null +++ b/Makefile @@ -0,0 +1,23 @@ +lint: ## Run linters. Use make install-linters first. + GO111MODULE=on vendorcheck ./... + GO111MODULE=on golangci-lint run -c .golangci.yml ./... + # The govet version in golangci-lint is out of date and has spurious warnings, run it separately + GO111MODULE=on go vet -all ./... + +install-linters: ## Install linters + go get -u github.com/FiloSottile/vendorcheck + # For some reason this install method is not recommended, see https://github.com/golangci/golangci-lint#install + # However, they suggest `curl ... | bash` which we should not do + go get -u github.com/golangci/golangci-lint/cmd/golangci-lint + +format: ## Formats the code. Must have goimports installed (use make install-linters). + goimports -w -local github.com/skycoin/skywire ./pkg + goimports -w -local github.com/skycoin/skywire ./cmd + goimports -w -local github.com/skycoin/skywire ./internal + +dep: ## sorts dependencies + GO111MODULE=on go mod vendor -v + +test: ## Run tests for net + GO111MODULE=on go test -race -tags no_ci -cover -timeout=5m ./internal/... + GO111MODULE=on go test -race -tags no_ci -cover -timeout=5m ./pkg/... diff --git a/README.md b/README.md new file mode 100644 index 000000000..1cc045269 --- /dev/null +++ b/README.md @@ -0,0 +1,145 @@ +[![Build Status](https://travis-ci.com/watercompany/skywire.svg?token=QxVQj6gVZDzoFxD2YG65&branch=master)](https://travis-ci.com/watercompany/skywire) + +# Skywire Mainnet - Public Test Phase + +## Notes on this release + +This is a public testing version of the Skywire mainnet and is intended for developers use to find bugs only. It is not yet intended to replace the testnet and miners should not install this software on their miners or they may lose their reward eligibility. + +The software is still under heavy development and the current version is intended for public testing purposes only. A GUI interface and various guides on how to use Skywire, application development on Skywire and contribution policies will follow in the near future. For now this version of the software can be used by developers to test the functionality and file bug issues to help the development. + +## Architecture + +Skywire is a decentralized and private network. Skywire separates the data and control plane of the network and assigns the tasks of network coordination and administration to dedicated services, while the nodes follow the rules that were created by the control plane and execute them. + +The core of Skywire is the Skywire node which hosts applications and is the gateway to use the network. It establishes connections, called transports, to other nodes, requests the setup of routes and forwards packets for other nodes on a route. The Skywire node exposes an API to applications for using the networking protocol of Skywire. + +In order to detach control plane tasks from the network nodes, there are 3 other services that maintain a picture of the network topology, calculate routes (currently based on the number of hops, but will be extended to other metrics) and set the routing rules on the nodes. + +The transport discovery maintains a picture of the network topology, by allowing Skywire nodes to advertise transports that they established with other nodes. It also allows to upload a status to indicate whether a given transport is currently working or not. + +On the basis of this information the route finder calculates the most efficient route in the network. Nodes request a route to a given public key and the route finder will calculate the best route and return the transports that the packet will be sent over to reach the intended node. + +This information is sent from a node to the Setup Node, which sets the routing rules in all nodes along a route. Skywire nodes determine, which nodes they accept routing rules from, so only a whitelisted node can send routing rules to a node in the network. The only information the Skywire node gets for routing is a Routing ID and an associated rule that defines which transport to send a packet to (or to consume the packet). Therefore nodes along a route only know the last and next hop along the route, but not where the packet originates from and where it is sent to. Skywire supports source routing, so nodes can specify a path that a packet is supposed to take in the network. + +There are currently two types of transports that nodes can use. The messaging transport is a transport between two nodes that uses an intermediary messaging server to relay packets between them. The connection to a specific node and the connection to a messaging server is facilitated by a discovery service, that allows nodes to advertise the messaging servers over which they can be contacted. This transport is used by the setup node to send routing rules and can be used for other applications as well. It allows nodes behind NATs to communicate. The second transport type is TCP, which sets up a connection between two servers with a public IP. More transport types will be supported in the future and custom transport implementations can be written for specific use cases. + +## Build and run + +### Requirements + +Skywire requires a version of [golang](https://golang.org/) with [go modules](https://github.com/golang/go/wiki/Modules) support. + +### Build + +```bash +# Clone. +$ git clone https://github.com/skycoin/skywire +$ cd skywire +$ git checkout mainnet-develop + +# Install skywire-node, skywire-cli, manager-node and therealssh-cli +$ GO111MODULE=on go install ./cmd/skywire-node ./cmd/skywire-cli ./cmd/manager-node ./cmd/therealssh-cli + +# Setup run folder. +mkdir skywire +mkdir apps + +# Build apps. +$ GO111MODULE=on go build -o ./apps/chat.v1.0 ./cmd/apps/chat +$ GO111MODULE=on go build -o ./apps/helloworld.v1.0 ./cmd/apps/helloworld +$ GO111MODULE=on go build -o ./apps/therealproxy.v1.0 ./cmd/apps/therealproxy +$ GO111MODULE=on go build -o ./apps/therealproxy-client.v1.0 ./cmd/apps/therealproxy-client +$ GO111MODULE=on go build -o ./apps/therealssh.v1.0 ./cmd/apps/therealssh +$ GO111MODULE=on go build -o ./apps/therealssh-client.v1.0 ./cmd/apps/therealssh-client + +# Generate default json config. +$ skywire-cli config +``` + +### Run `skywire-node` + +`skywire-node` hosts apps, proxies app's requests to remote nodes and exposes communication API that apps can use to implement communication protocols. App binaries are spawned by the node, communication between node and app is performed via unix pipes provided on app startup. + +```bash +# Run skywire-node. It takes one argument; the path of a configuration file (`skywire.json` if unspecified). +$ skywire-node skywire.json +``` + +### Run `skywire-cli` + +The `skywire-cli` tool is used to control the `skywire-node`. Refer to the help menu for usage: + +```bash +$ skywire-cli -h + +# Command Line Interface for skywire +# +# Usage: +# skywire-cli [command] +# +# Available Commands: +# app app management operations +# config Generate default config file +# help Help about any command +# messaging-discovery manage operations with messaging discovery api +# route-finder manage operations with route finder api +# routing-rules manages operations with routing rules +# transport-discovery manage operations with transport discovery api +# transports manages transports related operations +# +# Flags: +# -h, --help help for skywire-cli +# --rpc string RPC server address (default "localhost:3435") +# +# Use "skywire-cli [command] --help" for more information about a command. +``` + +### Apps + +After `skywire-node` is up and running with default environment, default apps are run with the configuration specified in `skywire.json`. Refer to the following for usage of the default apps: + +- [Chat](/cmd/apps/chat) +- [Hello World](/cmd/apps/helloworld) +- [The Real Proxy](/cmd/apps/therealproxy) ([Client](/cmd/apps/therealproxy-client)) +- [The Real SSH](/cmd/apps/therealssh) ([Client](/cmd/apps/therealssh-client)) + +### Transports + +In order for a local Skywire App to communicate with an App running on a remote Skywire node, a transport to that remote Skywire node needs to be established. + +Transports can be established via the `skywire-cli`. + +```bash +# Establish transport to `0276ad1c5e77d7945ad6343a3c36a8014f463653b3375b6e02ebeaa3a21d89e881`. +$ skywire-cli transports add 0276ad1c5e77d7945ad6343a3c36a8014f463653b3375b6e02ebeaa3a21d89e881 + +# List established transports. +$ skywire-cli transports list +``` + +## App programming API + +App is a generic binary that can be executed by the node. On app +startup node will open pair of unix pipes that will be used for +communication between app and node. `app` packages exposes +communication API over the pipe. + +```golang +// Config defines configuration parameters for App +&app.Config{AppName: "helloworld", AppVersion: "1.0", ProtocolVersion: "0.0.1"} +// Setup setups app using default pair of pipes +func Setup(config *Config) (*App, error) {} + +// Accept awaits for incoming loop confirmation request from a Node and +// returns net.Conn for a received loop. +func (app *App) Accept() (net.Conn, error) {} + +// Addr implements net.Addr for App connections. +&Addr{PubKey: pk, Port: 12} +// Dial sends create loop request to a Node and returns net.Conn for created loop. +func (app *App) Dial(raddr *Addr) (net.Conn, error) {} + +// Close implements io.Closer for App. +func (app *App) Close() error {} +``` diff --git a/ROADMAP.md b/ROADMAP.md new file mode 100644 index 000000000..b2d4da6b6 --- /dev/null +++ b/ROADMAP.md @@ -0,0 +1,12 @@ +# Next steps: + +Detailed documentation of the software will follow soon and will be updated as the development continues. The next development steps are: + +- [ ] implement bandwidth settlement for monetization of network services +- [ ] CHB / CoinJoin +- [ ] new UI for the manager +- [ ] Remote manager that allows management of unlimited nodes from anywhere +- [ ] Run CXO on Skywire +- [ ] Create service discovery for peer discovery +- [ ] Documentation and guides on development on Skywire, application development, how to use it and the architecture itself +- [ ] Integrate Skywire with package manager diff --git a/cmd/apps/chat/README.org b/cmd/apps/chat/README.org new file mode 100644 index 000000000..8d202aedd --- /dev/null +++ b/cmd/apps/chat/README.org @@ -0,0 +1,44 @@ +* Skywire Chat app + +Chat implements basic text messaging between skywire nodes. Messaging +UI is exposed via web interface. Chat only supports one WEB client +user at a time. + +** Local setup + +Create 2 node config files: + +~skywire1.json~ +#+BEGIN_SRC js + "apps": [ + { + "app": "chat", + "version": "1.0", + "auto_start": true, + "port": 1 + } + ] +#+END_SRC + +~skywire2.json~ +#+BEGIN_SRC js + "apps": [ + { + "app": "chat", + "version": "1.0", + "auto_start": true, + "port": 1, + "args": ["-addr", ":8001"] + } + ] +#+END_SRC + +Compile binaries and start 2 nodes: + +#+BEGIN_SRC bash +$ go build -o apps/chat.v1.0 ./cmd/apps/chat +$ ./skywire-node skywire1.json +$ ./skywire-node skywire2.json +#+END_SRC + +Chat interface will be available on ports ~8000~ and ~8001~. diff --git a/cmd/apps/chat/chat.go b/cmd/apps/chat/chat.go new file mode 100644 index 000000000..6f1f63ee3 --- /dev/null +++ b/cmd/apps/chat/chat.go @@ -0,0 +1,150 @@ +//go:generate esc -o static.go -prefix static static + +/* +chat app for skywire node +*/ +package main + +import ( + "encoding/json" + "flag" + "fmt" + "log" + "net" + "net/http" + "sync" + + "github.com/skycoin/skywire/pkg/app" + "github.com/skycoin/skywire/pkg/cipher" +) + +var addr = flag.String("addr", ":8000", "address to bind") + +var ( + chatApp *app.App + clientChan chan string + chatConns map[cipher.PubKey]net.Conn + connsMu sync.Mutex +) + +func main() { + flag.Parse() + + var err error + config := &app.Config{AppName: "chat", AppVersion: "1.0", ProtocolVersion: "0.0.1"} + chatApp, err = app.Setup(config) + if err != nil { + log.Fatal("Setup failure: ", err) + } + defer chatApp.Close() + + chatConns = make(map[cipher.PubKey]net.Conn) + go listenLoop() + + http.Handle("/", http.FileServer(FS(false))) + http.HandleFunc("/message", messageHandler) + http.HandleFunc("/sse", sseHandler) + + log.Println("Serving HTTP on", *addr) + log.Fatal(http.ListenAndServe(*addr, nil)) +} + +func listenLoop() { + for { + conn, err := chatApp.Accept() + if err != nil { + log.Println("failed to accept conn: ", err) + return + } + + raddr := conn.RemoteAddr().(*app.Addr) + connsMu.Lock() + chatConns[raddr.PubKey] = conn + connsMu.Unlock() + + go handleConn(conn) + } +} + +func handleConn(conn net.Conn) { + raddr := conn.RemoteAddr().(*app.Addr) + for { + buf := make([]byte, 32*1024) + n, err := conn.Read(buf) + if err != nil { + log.Println("failed to read packet: ", err) + return + } + + clientMsg, _ := json.Marshal(map[string]string{"sender": raddr.PubKey.Hex(), "message": string(buf[:n])}) // nolint + select { + case clientChan <- string(clientMsg): + default: + } + } +} + +func messageHandler(w http.ResponseWriter, req *http.Request) { + data := map[string]string{} + if err := json.NewDecoder(req.Body).Decode(&data); err != nil { + http.Error(w, err.Error(), http.StatusBadRequest) + return + } + + pk := cipher.PubKey{} + if err := pk.UnmarshalText([]byte(data["recipient"])); err != nil { + http.Error(w, err.Error(), http.StatusBadRequest) + return + } + + addr := &app.Addr{PubKey: pk, Port: 1} + connsMu.Lock() + conn := chatConns[pk] + connsMu.Unlock() + + if conn == nil { + var err error + conn, err = chatApp.Dial(addr) + if err != nil { + http.Error(w, err.Error(), http.StatusBadRequest) + return + } + + connsMu.Lock() + chatConns[pk] = conn + connsMu.Unlock() + + go handleConn(conn) + } + + if _, err := conn.Write([]byte(data["message"])); err != nil { + http.Error(w, err.Error(), http.StatusBadRequest) + return + } +} + +func sseHandler(w http.ResponseWriter, req *http.Request) { + f, ok := w.(http.Flusher) + if !ok { + http.Error(w, "Streaming unsupported!", http.StatusBadRequest) + return + } + + clientChan = make(chan string) + go func() { + <-req.Context().Done() + close(clientChan) + clientChan = nil + log.Println("SSE connection were closed.") + }() + + w.Header().Set("Content-Type", "text/event-stream") + w.Header().Set("Cache-Control", "no-cache") + w.Header().Set("Connection", "keep-alive") + w.Header().Set("Transfer-Encoding", "chunked") + + for msg := range clientChan { + fmt.Fprintf(w, "data: %s\n\n", msg) + f.Flush() + } +} diff --git a/cmd/apps/chat/static.go b/cmd/apps/chat/static.go new file mode 100644 index 000000000..d03fbaeac --- /dev/null +++ b/cmd/apps/chat/static.go @@ -0,0 +1,262 @@ +// Code generated by "esc -o static.go -prefix static static"; DO NOT EDIT. + +package main + +import ( + "bytes" + "compress/gzip" + "encoding/base64" + "fmt" + "io" + "io/ioutil" + "net/http" + "os" + "path" + "sync" + "time" +) + +type _escLocalFS struct{} + +var _escLocal _escLocalFS + +type _escStaticFS struct{} + +var _escStatic _escStaticFS + +type _escDirectory struct { + fs http.FileSystem + name string +} + +type _escFile struct { + compressed string + size int64 + modtime int64 + local string + isDir bool + + once sync.Once + data []byte + name string +} + +func (_escLocalFS) Open(name string) (http.File, error) { + f, present := _escData[path.Clean(name)] + if !present { + return nil, os.ErrNotExist + } + return os.Open(f.local) +} + +func (_escStaticFS) prepare(name string) (*_escFile, error) { + f, present := _escData[path.Clean(name)] + if !present { + return nil, os.ErrNotExist + } + var err error + f.once.Do(func() { + f.name = path.Base(name) + if f.size == 0 { + return + } + var gr *gzip.Reader + b64 := base64.NewDecoder(base64.StdEncoding, bytes.NewBufferString(f.compressed)) + gr, err = gzip.NewReader(b64) + if err != nil { + return + } + f.data, err = ioutil.ReadAll(gr) + }) + if err != nil { + return nil, err + } + return f, nil +} + +func (fs _escStaticFS) Open(name string) (http.File, error) { + f, err := fs.prepare(name) + if err != nil { + return nil, err + } + return f.File() +} + +func (dir _escDirectory) Open(name string) (http.File, error) { + return dir.fs.Open(dir.name + name) +} + +func (f *_escFile) File() (http.File, error) { + type httpFile struct { + *bytes.Reader + *_escFile + } + return &httpFile{ + Reader: bytes.NewReader(f.data), + _escFile: f, + }, nil +} + +func (f *_escFile) Close() error { + return nil +} + +func (f *_escFile) Readdir(count int) ([]os.FileInfo, error) { + if !f.isDir { + return nil, fmt.Errorf(" escFile.Readdir: '%s' is not directory", f.name) + } + + fis, ok := _escDirs[f.local] + if !ok { + return nil, fmt.Errorf(" escFile.Readdir: '%s' is directory, but we have no info about content of this dir, local=%s", f.name, f.local) + } + limit := count + if count <= 0 || limit > len(fis) { + limit = len(fis) + } + + if len(fis) == 0 && count > 0 { + return nil, io.EOF + } + + return []os.FileInfo(fis[0:limit]), nil +} + +func (f *_escFile) Stat() (os.FileInfo, error) { + return f, nil +} + +func (f *_escFile) Name() string { + return f.name +} + +func (f *_escFile) Size() int64 { + return f.size +} + +func (f *_escFile) Mode() os.FileMode { + return 0 +} + +func (f *_escFile) ModTime() time.Time { + return time.Unix(f.modtime, 0) +} + +func (f *_escFile) IsDir() bool { + return f.isDir +} + +func (f *_escFile) Sys() interface{} { + return f +} + +// FS returns a http.Filesystem for the embedded assets. If useLocal is true, +// the filesystem's contents are instead used. +func FS(useLocal bool) http.FileSystem { + if useLocal { + return _escLocal + } + return _escStatic +} + +// Dir returns a http.Filesystem for the embedded assets on a given prefix dir. +// If useLocal is true, the filesystem's contents are instead used. +func Dir(useLocal bool, name string) http.FileSystem { + if useLocal { + return _escDirectory{fs: _escLocal, name: name} + } + return _escDirectory{fs: _escStatic, name: name} +} + +// FSByte returns the named file from the embedded assets. If useLocal is +// true, the filesystem's contents are instead used. +func FSByte(useLocal bool, name string) ([]byte, error) { + if useLocal { + f, err := _escLocal.Open(name) + if err != nil { + return nil, err + } + b, err := ioutil.ReadAll(f) + _ = f.Close() + return b, err + } + f, err := _escStatic.prepare(name) + if err != nil { + return nil, err + } + return f.data, nil +} + +// FSMustByte is the same as FSByte, but panics if name is not present. +func FSMustByte(useLocal bool, name string) []byte { + b, err := FSByte(useLocal, name) + if err != nil { + panic(err) + } + return b +} + +// FSString is the string version of FSByte. +func FSString(useLocal bool, name string) (string, error) { + b, err := FSByte(useLocal, name) + return string(b), err +} + +// FSMustString is the string version of FSMustByte. +func FSMustString(useLocal bool, name string) string { + return string(FSMustByte(useLocal, name)) +} + +var _escData = map[string]*_escFile{ + + "/index.html": { + name: "index.html", + local: "static/index.html", + size: 5829, + modtime: 1540421522, + compressed: ` +H4sIAAAAAAAC/7xYW2/jxhV+9684Sy9CCbEo2Wu7CUWqSNst0iKbFHWAPiyMeEQeiYMdzrAzQ9uqoP9e +zPBOkbLSBSo/iJzLuXznOxc5eBeLSO8yhESnbHVxEZhvYIRvQwe5s7oACBIksXkACFLUBKKESIU6dHK9 +mX3nrC6KPU01w9WfE6LhhywL5sV7uan0zryYZ6sK9sWz+WwE17MNSSnb+aAIVzOFkm6WvROK/gd9uP6Q +vbZ2IsGE9OHy/v6+XD0UGmEt4l1bS0xVxsjOhw3DtoSU8lmCdJtoH64Xi+ekvUfklnIfFq21NYm+bKXI +eezD5e3d3fX9bU8zaavV+KpnMUZCEk0F94ELjscOUJ6gpLonKe/gxKjSMwvkkZSMxDHl266lfesrqZ6i +Ma6JPAcd8zqLqcSosD4SLE9568ALjXXiw83NohOX2qBrTAfC9f335Gbdx82TGNGMItcz42qHIgxffbg+ +cm6mRdbWMSaK0ba08u5aaC3SvoniGeWGiRcfEhrH2PE1oRpnKiORjcCLJNmyF+nmNjJGM0XVG5YRj0Sa +PiPsK3CslmVzIUqIXovX03D8z/GrSeJ96MDQpnlhUWtPyBjlTJKY5sqHmzrytc0pKkW2eBTHEVp0/RmW +YkLYc/P4JNWYQkw0tpWWFL27G6wccRyP6bXSMB2Qdf3hdpjuC1h4d/8PPjVlsSoIMiXsDU88hTxG2XDt +8vo+iu6JQXL4gsQI6XPnymZz+93t/Rj4KiP8NFVLrGYMN7pPhJJZxdZN9gpKMBrD5ebe/I15txEyPaeY +NVE6QfZLxAGu2zrTMuiYNZRnuf5semloIvd4Fgj+EV3K2iTLhjSAjg/XQ3aclZgtI1W+TmnXzK5RcDOO +USceX2eazZFcM8q7bW2gYNo4/y4XFt4fWr3BTiLzehQJ5sVkYx7NtFDOOMS0R4gYUSp0ylbplKMLBNaG +crNrmQOCFxaFDskyL5JINP6zOjPRCVXTJUjUueSwIUzhspYLEFjHwDrmGAY5kDESYSJYjDJ0PnKNErJ8 +zWgEX3DnwHzkcmGEA8+E5Rg63zbGz42d9VvOgMYtL5Rz7Jgpvc4qmOesRGdu4anGupRQXl0q+5TTl19m +aSO9XdYr2UPwttO7D64pZJ+K/a8F9l+SaoSdyCWUGs+G9gF5PIhuMDfI1MNvJGmmy3PWObBj8r7djbjS +Mo+0kJNpe8N2goSqJg0UhPD5cXnqCITAc8aGzlTRgBD2h5NClLcR8iOJkomEcFVs/kbiuGG0nE6HJPym +FD7ka+P1GiftI1VOm09f1BtOe1mukomcnvLps3wcwiYWUZ4i194W9UeG5vFPu7/FE7eR7k49yjnKH3/9 +9BN8G3bvm89TwOgqIJBI3ITOZc3l93sJYRj28f8juMVY54IPrnsw9I0Yjb5U7GUY6bdKw/u9PARzsgrm +jK6eTsBYJUKqtkcwWmIV1v5MUoQQUrX1NlKk1m43RddYWwwG1tqq5bvLIUmWfk/v90aKVgbSH0Uu1WTq +afGgJeXbydTLSPygidSTmytwF+704LcvfKI81/jWlaflRVc/3cCktv1dZfs338C7PlUoj1geo6qPT49g +acjaoWF9oef74eJMSlVUPItQ/UJnBihnFZj5dfV+r9UhmNvnANOGb3UoD4YhlcEHP5hjugrM+FUum1J3 +COZ2paDQCIO66TpMICVyGRn2cHyBj8/I9YNdmbhzpdDt41Uc9wQvXYMQCnaGq6FIFDpiogmE8PeHX372 +MiKVJbRnVvvimzuN/D1o5Vvz/kI0XoFBxbcyy6n3yk7U5VJ177A8wYs6r4rv6djZuv60tD0WBWvk6mEk +m/szA7KReLRLPbLPi0fPtqTlOTW0eh8u3t2yPHS2bXC/kg0YfNSakFlujlXpf+codw9WrpA/MDZxq9/I +7rRuSfa3RrgC8+3ZlPiJKu1JTMUzTqrie9SfkLUOkzhuTi6/JsFDcN2TjamLwWPtRqq2NiUGOGey5TAO +ezP+jHLECj/Bjg3qKKk9cq9gDynqRMQ+uP/45eFX96r4L5pfpKSypZpudpN9Qz+/F96rKiN9q/5gfDjO +Gk8nyCfSTCGD9aAq9xKVJ75Mx46cXwZMq6jy39q1HJf4e9L/vGifqgRddtahGqJUTQRApvAUKAY346xp +sQZp82ygJgylnjz9lVCGMWhhedRE7P3e9oyn6ZiRh+PlwfBGxDALG5VYgTPtMrpD7BfKY/HikSwr+4wZ +kifT6mdbPUQH8+LXWjAv/mn93wAAAP//aOzW6sUWAAA= +`, + }, + + "/": { + name: "/", + local: `static`, + isDir: true, + }, +} + +var _escDirs = map[string][]os.FileInfo{ + + "static": { + _escData["/index.html"], + }, +} diff --git a/cmd/apps/chat/static/index.html b/cmd/apps/chat/static/index.html new file mode 100644 index 000000000..184f7aa50 --- /dev/null +++ b/cmd/apps/chat/static/index.html @@ -0,0 +1,215 @@ + + + + + + + Chat App + + + + + + + +
+ + +
+ + +
+
+ + + + diff --git a/cmd/apps/helloworld/helloworld.go b/cmd/apps/helloworld/helloworld.go new file mode 100644 index 000000000..dfc79581d --- /dev/null +++ b/cmd/apps/helloworld/helloworld.go @@ -0,0 +1,64 @@ +/* +simple client server app for skywire node testing +*/ +package main + +import ( + "log" + "os" + + "github.com/skycoin/skywire/pkg/app" + "github.com/skycoin/skywire/pkg/cipher" +) + +func main() { + helloworldApp, err := app.Setup(&app.Config{AppName: "helloworld", AppVersion: "1.0", ProtocolVersion: "0.0.1"}) + if err != nil { + log.Fatal("Setup failure: ", err) + } + defer helloworldApp.Close() + + if len(os.Args) == 1 { + log.Println("listening for incoming connections") + for { + conn, err := helloworldApp.Accept() + if err != nil { + log.Fatal("Failed to accept conn: ", err) + } + + log.Println("got new connection from:", conn.RemoteAddr()) + go func() { + buf := make([]byte, 4) + if _, err := conn.Read(buf); err != nil { + log.Println("Failed to read remote data: ", err) + } + + log.Printf("Message from %s: %s", conn.RemoteAddr().String(), string(buf)) + if _, err := conn.Write([]byte("pong")); err != nil { + log.Println("Failed to write to a remote node: ", err) + } + }() + } + } + + remotePK := cipher.PubKey{} + if err := remotePK.UnmarshalText([]byte(os.Args[1])); err != nil { + log.Fatal("Failed to construct PubKey: ", err, os.Args[1]) + } + + conn, err := helloworldApp.Dial(&app.Addr{PubKey: remotePK, Port: 10}) + if err != nil { + log.Fatal("Failed to open remote conn: ", err) + } + + if _, err := conn.Write([]byte("ping")); err != nil { + log.Fatal("Failed to write to a remote node: ", err) + } + + buf := make([]byte, 4) + if _, err = conn.Read(buf); err != nil { + log.Fatal("Failed to read remote data: ", err) + } + + log.Printf("Message from %s: %s", conn.RemoteAddr().String(), string(buf)) +} diff --git a/cmd/apps/therealproxy-client/README.org b/cmd/apps/therealproxy-client/README.org new file mode 100644 index 000000000..04e056cde --- /dev/null +++ b/cmd/apps/therealproxy-client/README.org @@ -0,0 +1,8 @@ +* Skywire SOCKS5 proxy client app + +~therealproxy-client~ app implements client for the SOCKS5 app. It +opens persistent ~skywire~ connection to the configured remote node +and local TCP port, all incoming TCP traffics is forwarded to the +~skywire~ connection. Any conventional SOCKS5 client should be able to +connect to the proxy client. Please check docs for ~therealproxy~ app +for further instructions. diff --git a/cmd/apps/therealproxy-client/therealproxy-client.go b/cmd/apps/therealproxy-client/therealproxy-client.go new file mode 100644 index 000000000..698990b54 --- /dev/null +++ b/cmd/apps/therealproxy-client/therealproxy-client.go @@ -0,0 +1,49 @@ +/* +proxy client app for skywire node +*/ +package main + +import ( + "flag" + "log" + + "github.com/skycoin/skywire/internal/therealproxy" + "github.com/skycoin/skywire/pkg/app" + "github.com/skycoin/skywire/pkg/cipher" +) + +const socksPort = 3 + +func main() { + var addr = flag.String("addr", ":1080", "Client address to listen on") + var serverPK = flag.String("srv", "", "PubKey of the server to connect to") + flag.Parse() + + config := &app.Config{AppName: "therealproxy-client", AppVersion: "1.0", ProtocolVersion: "0.0.1"} + socksApp, err := app.Setup(config) + if err != nil { + log.Fatal("Setup failure: ", err) + } + defer socksApp.Close() + + if *serverPK == "" { + log.Fatal("Invalid server PubKey") + } + + pk := cipher.PubKey{} + if err := pk.UnmarshalText([]byte(*serverPK)); err != nil { + log.Fatal("Invalid server PubKey: ", err) + } + + conn, err := socksApp.Dial(&app.Addr{PubKey: pk, Port: uint16(socksPort)}) + if err != nil { + log.Fatal("Failed to dial to a server: ", err) + } + + client, err := therealproxy.NewClient(conn) + if err != nil { + log.Fatal("Failed to create a new client: ", err) + } + + log.Fatal(client.ListenAndServe(*addr)) +} diff --git a/cmd/apps/therealproxy/README.org b/cmd/apps/therealproxy/README.org new file mode 100644 index 000000000..320e9cc1e --- /dev/null +++ b/cmd/apps/therealproxy/README.org @@ -0,0 +1,50 @@ +* Skywire SOCKS5 proxy app + +~therealproxy~ app implements SOCKS5 functionality over skywire +net. Any conventional SOCKS5 client should be able to connect to the +proxy client. + +** Local setup + +Create 2 node config files: + +~skywire1.json~ +#+BEGIN_SRC js + "apps": [ + { + "app": "therealproxy", + "version": "1.0", + "auto_start": true, + "port": 3, + "args": ["-passcode", "123456"] + } + ] +#+END_SRC + +~skywire2.json~ +#+BEGIN_SRC js + "apps": [ + { + "app": "therealproxy-client", + "version": "1.0", + "auto_start": true, + "port": 33, + "args": ["-srv", "024ec47420176680816e0406250e7156465e4531f5b26057c9f6297bb0303558c7"] + } + ] +#+END_SRC + +Compile binaries and start 2 nodes: + +#+BEGIN_SRC bash +$ go build -o apps/therealproxy.v1.0 ./cmd/apps/therealproxy +$ go build -o apps/therealproxy-client.v1.0 ./cmd/apps/therealproxy-client +$ ./skywire-node skywire1.json +$ ./skywire-node skywire2.json +#+END_SRC + +You should be able to connect to a secondary node via ~curl~: + +#+BEGIN_SRC bash +$ curl -v -x socks5://123456:@localhost:1080 https://api.ipify.org +#+END_SRC diff --git a/cmd/apps/therealproxy/therealproxy.go b/cmd/apps/therealproxy/therealproxy.go new file mode 100644 index 000000000..3aa0ca99b --- /dev/null +++ b/cmd/apps/therealproxy/therealproxy.go @@ -0,0 +1,31 @@ +/* +proxy server app for skywire node +*/ +package main + +import ( + "flag" + "log" + + "github.com/skycoin/skywire/internal/therealproxy" + "github.com/skycoin/skywire/pkg/app" +) + +func main() { + var passcode = flag.String("passcode", "", "Authorise user against this passcode") + flag.Parse() + + config := &app.Config{AppName: "therealproxy", AppVersion: "1.0", ProtocolVersion: "0.0.1"} + socksApp, err := app.Setup(config) + if err != nil { + log.Fatal("Setup failure: ", err) + } + defer socksApp.Close() + + srv, err := therealproxy.NewServer(*passcode) + if err != nil { + log.Fatal("Failed to create a new server: ", err) + } + + log.Fatal(srv.Serve(socksApp)) +} diff --git a/cmd/apps/therealssh-client/README.org b/cmd/apps/therealssh-client/README.org new file mode 100644 index 000000000..551e74dd5 --- /dev/null +++ b/cmd/apps/therealssh-client/README.org @@ -0,0 +1,6 @@ +* Skywire SSH client app + +~therealssh-client~ app implements client for the SSH app. It starts +RCP interface for ~therealssh-cli~ and handles incoming requests to +the remote node via ~skywire~ connection. Please check docs for +~therealssh~ app for further instructions. diff --git a/cmd/apps/therealssh-client/therealssh-client.go b/cmd/apps/therealssh-client/therealssh-client.go new file mode 100644 index 000000000..66421c04f --- /dev/null +++ b/cmd/apps/therealssh-client/therealssh-client.go @@ -0,0 +1,38 @@ +/* +ssh client app for skywire node +*/ +package main + +import ( + "flag" + "log" + "net/http" + + ssh "github.com/skycoin/skywire/internal/therealssh" + "github.com/skycoin/skywire/pkg/app" +) + +func main() { + var rpcAddr = flag.String("rpc", ":2222", "Client RPC address to listen on") + var debug = flag.Bool("debug", false, "enable debug messages") + flag.Parse() + + config := &app.Config{AppName: "therealssh-client", AppVersion: "1.0", ProtocolVersion: "0.0.1"} + sshApp, err := app.Setup(config) + if err != nil { + log.Fatal("Setup failure: ", err) + } + defer sshApp.Close() + + ssh.Debug = *debug + + rpc, client, err := ssh.NewClient(*rpcAddr, sshApp) + if err != nil { + log.Fatal("Client setup failure: ", err) + } + defer client.Close() + + if err := http.Serve(rpc, nil); err != nil { + log.Fatal("Failed to start RPC interface: ", err) + } +} diff --git a/cmd/apps/therealssh/README.org b/cmd/apps/therealssh/README.org new file mode 100644 index 000000000..e47928f69 --- /dev/null +++ b/cmd/apps/therealssh/README.org @@ -0,0 +1,62 @@ +* Skywire SSH app + +~therealssh~ app implements SSH functionality over skywire +net. ~therealssh-cli~ is used to initiate communication via client RPC +exposed by ~therealssh~ app. ~therealssh~ app implements common SSH +operations: starting remote shell and executing commands +remotely. PubKey whitelisting is performed by adding public key to the +authentication file (~$HOME/.therealssh/authorized_keys~ by default). + +** Local setup + +Create 2 node config files: + +~skywire1.json~ +#+BEGIN_SRC js + "apps": [ + { + "app": "therealssh", + "version": "1.0", + "auto_start": true, + "port": 2 + } + ] +#+END_SRC + +~skywire2.json~ +#+BEGIN_SRC js + "apps": [ + { + "app": "therealssh-client", + "version": "1.0", + "auto_start": true, + "port": 22 + } + ] +#+END_SRC + +Compile binaries and start 2 nodes: + +#+BEGIN_SRC bash +$ go build -o apps/therealssh.v1.0 ./cmd/apps/therealssh +$ go build -o apps/therealssh-client.v1.0 ./cmd/apps/therealssh-client +$ go build ./cmd/therealssh-cli +$ ./skywire-node skywire1.json +$ ./skywire-node skywire2.json +#+END_SRC + +Add public key of the second node to the auth file: + +#+BEGIN_SRC bash +$ mkdir ~/.therealssh +$ echo "0348c941c5015a05c455ff238af2e57fb8f914c399aab604e9abb5b32b91a4c1fe" > ~/.therealssh/authorized_keys +#+END_SRC + +Connect to the first node using CLI: + +#+BEGIN_SRC bash +$ ./therealssh-cli 024ec47420176680816e0406250e7156465e4531f5b26057c9f6297bb0303558c7 +#+END_SRC + +This should get you to the local folder of the ~therealssh~ app, which +will indicate that you are seeing remote PTY session. diff --git a/cmd/apps/therealssh/therealssh.go b/cmd/apps/therealssh/therealssh.go new file mode 100644 index 000000000..eeca8621f --- /dev/null +++ b/cmd/apps/therealssh/therealssh.go @@ -0,0 +1,56 @@ +/* +ssh server app for skywire node +*/ +package main + +import ( + "flag" + "log" + + homedir "github.com/mitchellh/go-homedir" + + ssh "github.com/skycoin/skywire/internal/therealssh" + "github.com/skycoin/skywire/pkg/app" +) + +func main() { + var authFile = flag.String("auth", "~/.therealssh/authorized_keys", "Auth file location. Should contain one PubKey per line.") + var debug = flag.Bool("debug", false, "enable debug messages") + + flag.Parse() + + config := &app.Config{AppName: "therealssh", AppVersion: "1.0", ProtocolVersion: "0.0.1"} + sshApp, err := app.Setup(config) + if err != nil { + log.Fatal("Setup failure: ", err) + } + defer sshApp.Close() + + path, err := homedir.Expand(*authFile) + if err != nil { + log.Fatal("Failed to resolve auth file path: ", err) + } + + ssh.Debug = *debug + + auth, err := ssh.NewFileAuthorizer(path) + if err != nil { + log.Fatal("Failed to setup Authoriser: ", err) + } + + server := ssh.NewServer(auth) + defer server.Close() + + for { + conn, err := sshApp.Accept() + if err != nil { + log.Fatal("failed to receive packet: ", err) + } + + go func() { + if err := server.Serve(conn); err != nil { + log.Println("Failed to serve conn:", err) + } + }() + } +} diff --git a/cmd/manager-node/README.md b/cmd/manager-node/README.md new file mode 100644 index 000000000..d11417156 --- /dev/null +++ b/cmd/manager-node/README.md @@ -0,0 +1,15 @@ +# Manager Node + +Manager node exposes node management operations via web API. + +**Run with mock data:** + +```bash +$ manager-node --mock +``` + +By default, the RESTful API is served on `:8080`. + +## Endpoints Documentation + +Endpoints are documented in the provided [Postman](https://www.getpostman.com/) file: `manager-node.postman_collection.json`. diff --git a/cmd/manager-node/commands/root.go b/cmd/manager-node/commands/root.go new file mode 100644 index 000000000..806a3b8ce --- /dev/null +++ b/cmd/manager-node/commands/root.go @@ -0,0 +1,94 @@ +package commands + +import ( + "fmt" + "net" + "net/http" + "os" + + "github.com/skycoin/skycoin/src/util/logging" + "github.com/spf13/cobra" + + "github.com/skycoin/skywire/pkg/cipher" + + "github.com/skycoin/skywire/pkg/manager" +) + +var ( + pk cipher.PubKey + sk cipher.SecKey + rpcAddr string + httpAddr string + mock bool + mockNodes int + mockMaxTps int + mockMaxRoutes int + + log = logging.MustGetLogger("manager-node") +) + +func init() { + rootCmd.PersistentFlags().Var(&pk, "pk", "manager node's public key") + rootCmd.PersistentFlags().Var(&sk, "sk", "manager node's secret key") + rootCmd.PersistentFlags().StringVar(&httpAddr, "http-addr", ":8080", "address to serve HTTP RESTful API and Web interface") + + rootCmd.Flags().StringVar(&rpcAddr, "rpc-addr", ":7080", "address to serve RPC client interface") + rootCmd.Flags().BoolVar(&mock, "mock", false, "whether to run manager node with mock data") + rootCmd.Flags().IntVar(&mockNodes, "mock-nodes", 5, "number of app nodes to have in mock mode") + rootCmd.Flags().IntVar(&mockMaxTps, "mock-max-tps", 10, "max number of transports per mock app node") + rootCmd.Flags().IntVar(&mockMaxRoutes, "mock-max-routes", 10, "max number of routes per node") +} + +var rootCmd = &cobra.Command{ + Use: "manager-node", + Short: "Manages Skywire App Nodes", + PreRun: func(_ *cobra.Command, _ []string) { + if pk.Null() && sk.Null() { + pk, sk = cipher.GenerateKeyPair() + log.Println("No keys are set. Randomly generating...") + } + cPK, err := sk.PubKey() + if err != nil { + log.Fatalln("Key pair check failed:", err) + } + if cPK != pk { + log.Fatalln("SK and PK provided do not match.") + } + log.Println("PK:", pk) + log.Println("SK:", sk) + }, + Run: func(_ *cobra.Command, _ []string) { + m := manager.NewNode(pk, sk) + go func() { + l, err := net.Listen("tcp", rpcAddr) + if err != nil { + log.Fatalln("Failed to bind tcp port:", err) + } + if err := m.ServeRPC(l); err != nil { + log.Fatalln("Failed to serve RPC:", err) + } + }() + if mock { + err := m.AddMockData(&manager.MockConfig{ + Nodes: mockNodes, + MaxTpsPerNode: mockMaxTps, + MaxRoutesPerNode: mockMaxRoutes, + }) + if err != nil { + log.Fatalln("Failed to add mock data:", err) + } + } + if err := http.ListenAndServe(httpAddr, m); err != nil { + log.Fatalln("Manager exited with error:", err) + } + log.Println("Good bye!") + }, +} + +// Execute executes root CLI command. +func Execute() { + if err := rootCmd.Execute(); err != nil { + fmt.Println(err) + os.Exit(1) + } +} diff --git a/cmd/manager-node/manager-node.go b/cmd/manager-node/manager-node.go new file mode 100644 index 000000000..2cd0c64cc --- /dev/null +++ b/cmd/manager-node/manager-node.go @@ -0,0 +1,10 @@ +/* +skywire management node +*/ +package main + +import "github.com/skycoin/skywire/cmd/manager-node/commands" + +func main() { + commands.Execute() +} diff --git a/cmd/manager-node/manager-node.postman_collection.json b/cmd/manager-node/manager-node.postman_collection.json new file mode 100644 index 000000000..776f84d8b --- /dev/null +++ b/cmd/manager-node/manager-node.postman_collection.json @@ -0,0 +1,788 @@ +{ + "info": { + "_postman_id": "daa8ec31-db75-4e92-b637-c5117644bfa8", + "name": "Skywire Manager Node", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" + }, + "item": [ + { + "name": "/api/nodes", + "request": { + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "http://localhost:8080/api/nodes", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "nodes" + ] + }, + "description": "Provides a summary of all connected app nodes." + }, + "response": [ + { + "name": "/api/nodes", + "originalRequest": { + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "http://localhost:8080/api/nodes", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "nodes" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Date", + "value": "Wed, 13 Feb 2019 00:43:57 GMT" + }, + { + "key": "Transfer-Encoding", + "value": "chunked" + } + ], + "cookie": [], + "body": "[\n {\n \"local_pk\": \"02500488fc25814e55e6c740537ed14ca677aebe8a883681bae718a36516a7b0a2\",\n \"apps\": [\n {\n \"name\": \"foo.v1.0\",\n \"autostart\": false,\n \"port\": 10,\n \"status\": 0\n },\n {\n \"name\": \"bar.v2.0\",\n \"autostart\": false,\n \"port\": 20,\n \"status\": 0\n }\n ],\n \"transports\": [\n {\n \"id\": \"3fb65ceb-0cd3-484c-8a9c-21617a06c6dd\",\n \"local_pk\": \"02500488fc25814e55e6c740537ed14ca677aebe8a883681bae718a36516a7b0a2\",\n \"remote_pk\": \"028825991ec52e8f135b9cf9c9f740698644ea2f2144e43a537ad416601ee1d905\",\n \"type\": \"native\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"4cf57b61-8a31-4c8f-b328-b2533978c4e1\",\n \"local_pk\": \"02500488fc25814e55e6c740537ed14ca677aebe8a883681bae718a36516a7b0a2\",\n \"remote_pk\": \"02af5570345c43715442aabdc72de8faecbccc38058fa3be88da8d85afb95762e6\",\n \"type\": \"messaging\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"0d2d208f-8e10-4bb4-ada5-58ffa4256723\",\n \"local_pk\": \"02500488fc25814e55e6c740537ed14ca677aebe8a883681bae718a36516a7b0a2\",\n \"remote_pk\": \"034b60e92c40f566e38753fd0e4bc680a0811d25bee949cb5fee4006e42599d6cd\",\n \"type\": \"messaging\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"b1afc8fd-cb62-4993-9b5e-79267cdcf557\",\n \"local_pk\": \"02500488fc25814e55e6c740537ed14ca677aebe8a883681bae718a36516a7b0a2\",\n \"remote_pk\": \"02add975773c2b1429368c961b9159c14de7662f8185ac5cbf173161e4b9f32937\",\n \"type\": \"messaging\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"43301e4e-594a-422a-b7b1-7a27e39050a8\",\n \"local_pk\": \"02500488fc25814e55e6c740537ed14ca677aebe8a883681bae718a36516a7b0a2\",\n \"remote_pk\": \"029e32e79f1a57aa42704d3d88618ef8458b12a8f897dbbb7eecec0a411820f7d4\",\n \"type\": \"messaging\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"2d92ce65-8e2f-45b9-be29-3057951f4821\",\n \"local_pk\": \"02500488fc25814e55e6c740537ed14ca677aebe8a883681bae718a36516a7b0a2\",\n \"remote_pk\": \"037f94a6071e7cb5edd8039cef0269ba43e48ab290e6144c4195d05478d5b446fb\",\n \"type\": \"native\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"1046b7a7-50ec-4795-91cd-a2fed648f305\",\n \"local_pk\": \"02500488fc25814e55e6c740537ed14ca677aebe8a883681bae718a36516a7b0a2\",\n \"remote_pk\": \"021a12b4514cadb248f65cb4c3b3c9eb32f631e1b9470509c44cd05758021cc32a\",\n \"type\": \"messaging\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n }\n ]\n },\n {\n \"local_pk\": \"03d9ea0420cb9750b475e23f3f629a0eb521f9d94e1cc544abd76b87bf42ad71a5\",\n \"apps\": [\n {\n \"name\": \"foo.v1.0\",\n \"autostart\": false,\n \"port\": 10,\n \"status\": 0\n },\n {\n \"name\": \"bar.v2.0\",\n \"autostart\": false,\n \"port\": 20,\n \"status\": 0\n }\n ],\n \"transports\": [\n {\n \"id\": \"2c3b35b3-866d-4931-b7b5-a67d59e3df42\",\n \"local_pk\": \"03d9ea0420cb9750b475e23f3f629a0eb521f9d94e1cc544abd76b87bf42ad71a5\",\n \"remote_pk\": \"03371b181c5faee70eb040c038c006e6642aa432d8072047348ae087519f3cc684\",\n \"type\": \"native\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"1744577b-e36b-468f-ba34-93d2614ff6e0\",\n \"local_pk\": \"03d9ea0420cb9750b475e23f3f629a0eb521f9d94e1cc544abd76b87bf42ad71a5\",\n \"remote_pk\": \"0289b6e477ebcda18a190e2a545e4606a70abdb724b676a60cea496f3a170334bc\",\n \"type\": \"native\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"c744dd91-d309-451a-b3aa-b452795e6551\",\n \"local_pk\": \"03d9ea0420cb9750b475e23f3f629a0eb521f9d94e1cc544abd76b87bf42ad71a5\",\n \"remote_pk\": \"02de6056801854c18538dde4b1be096f3fae25c7fe9092d86ad3cd9812a4d91630\",\n \"type\": \"messaging\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"24a6a15c-ae24-4e5d-826f-789d7c564016\",\n \"local_pk\": \"03d9ea0420cb9750b475e23f3f629a0eb521f9d94e1cc544abd76b87bf42ad71a5\",\n \"remote_pk\": \"0302f17f7dec96e7750ce771937e689e26ffd9366e7bd4d34832c8572d1d8a320e\",\n \"type\": \"native\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"5011d6cb-0a46-4131-aa2a-a78b2e02e269\",\n \"local_pk\": \"03d9ea0420cb9750b475e23f3f629a0eb521f9d94e1cc544abd76b87bf42ad71a5\",\n \"remote_pk\": \"0200730f65fd7b15a184de1d68305f3e7ca813ef7b7678cbead104b59459a44a49\",\n \"type\": \"native\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"b5a795d8-ac72-497b-baa3-454adf6e036d\",\n \"local_pk\": \"03d9ea0420cb9750b475e23f3f629a0eb521f9d94e1cc544abd76b87bf42ad71a5\",\n \"remote_pk\": \"03fa52ac4e875d61d4e12bee02264b8030b927194e8ecb41ebc7e6e97c1de542e6\",\n \"type\": \"native\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"97b7ff16-a06d-4bb3-b22f-56550ce81bcf\",\n \"local_pk\": \"03d9ea0420cb9750b475e23f3f629a0eb521f9d94e1cc544abd76b87bf42ad71a5\",\n \"remote_pk\": \"03bf84c5cd8cdc85406bee299001b6e2991920118a978e186bb9d7f7adf4b9a22b\",\n \"type\": \"native\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n }\n ]\n },\n {\n \"local_pk\": \"0301b27adf2954a9f97c443c478e48253a707e7b467d0c0c0ba7a2091fa8ec6145\",\n \"apps\": [\n {\n \"name\": \"foo.v1.0\",\n \"autostart\": false,\n \"port\": 10,\n \"status\": 0\n },\n {\n \"name\": \"bar.v2.0\",\n \"autostart\": false,\n \"port\": 20,\n \"status\": 0\n }\n ],\n \"transports\": [\n {\n \"id\": \"fdb47e4e-64a4-4001-9213-4b7e53560dc1\",\n \"local_pk\": \"0301b27adf2954a9f97c443c478e48253a707e7b467d0c0c0ba7a2091fa8ec6145\",\n \"remote_pk\": \"0207ddf45bb57b4ef7a5c7b76b89464677569dcb585cf8627c788f3d44a3870e5e\",\n \"type\": \"messaging\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"b0294a2f-6f57-4f2b-8624-c1ae5b347b31\",\n \"local_pk\": \"0301b27adf2954a9f97c443c478e48253a707e7b467d0c0c0ba7a2091fa8ec6145\",\n \"remote_pk\": \"032dbd4f2b2531db9fbd23f3e53365c7ade63d08154025af7d94e7a7b6d715f4d8\",\n \"type\": \"native\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"81579b6e-d8a7-4cab-b2f2-3ba72a8eae83\",\n \"local_pk\": \"0301b27adf2954a9f97c443c478e48253a707e7b467d0c0c0ba7a2091fa8ec6145\",\n \"remote_pk\": \"02b4bcabcaaef410f6b9744715a77e8442e7849452e7202a408daccc4b1c63622b\",\n \"type\": \"native\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"bee8e0ad-8190-4c8b-8323-9680bda05580\",\n \"local_pk\": \"0301b27adf2954a9f97c443c478e48253a707e7b467d0c0c0ba7a2091fa8ec6145\",\n \"remote_pk\": \"03f2cf69c598c4981a12f665e3b288f9a39d260a883217ed278b0bfc9871faecb4\",\n \"type\": \"native\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"339c3342-0285-454f-b1af-d328a2790767\",\n \"local_pk\": \"0301b27adf2954a9f97c443c478e48253a707e7b467d0c0c0ba7a2091fa8ec6145\",\n \"remote_pk\": \"02017acb7de8041df23508a82ed2d49ded03f000d19bc000eb120db80a793664f6\",\n \"type\": \"native\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"8be92ca7-795b-44f6-9c3c-b364cff45bd4\",\n \"local_pk\": \"0301b27adf2954a9f97c443c478e48253a707e7b467d0c0c0ba7a2091fa8ec6145\",\n \"remote_pk\": \"03bd2e96d3b56037bfd179b400a5f4953d46467e4913d1c4322c66c1bec11158be\",\n \"type\": \"native\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n }\n ]\n },\n {\n \"local_pk\": \"03e26b70fa8de90444128d78909e10331683be7d304452def6f88ef13d19e2e22d\",\n \"apps\": [\n {\n \"name\": \"foo.v1.0\",\n \"autostart\": false,\n \"port\": 10,\n \"status\": 0\n },\n {\n \"name\": \"bar.v2.0\",\n \"autostart\": false,\n \"port\": 20,\n \"status\": 0\n }\n ],\n \"transports\": null\n },\n {\n \"local_pk\": \"03c497380efd87e19208bb484ee322ede1e091b2a0b653e6d25475f641602376a9\",\n \"apps\": [\n {\n \"name\": \"foo.v1.0\",\n \"autostart\": false,\n \"port\": 10,\n \"status\": 0\n },\n {\n \"name\": \"bar.v2.0\",\n \"autostart\": false,\n \"port\": 20,\n \"status\": 0\n }\n ],\n \"transports\": [\n {\n \"id\": \"f40a8665-8687-461d-971a-2c93d234a449\",\n \"local_pk\": \"03c497380efd87e19208bb484ee322ede1e091b2a0b653e6d25475f641602376a9\",\n \"remote_pk\": \"03455586704d340771740533b3b5fff25656877e5f1b9118245e3d7a9f1cd46fb8\",\n \"type\": \"messaging\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"a350e9e0-4cf9-4121-b5a6-65733264f7a4\",\n \"local_pk\": \"03c497380efd87e19208bb484ee322ede1e091b2a0b653e6d25475f641602376a9\",\n \"remote_pk\": \"02bcd9e9540b7779b189841baa73cde2aaff4ae734acd4873155d9f578c69eb5d5\",\n \"type\": \"native\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"f7852f53-6758-40c5-b42d-d94331f3d82a\",\n \"local_pk\": \"03c497380efd87e19208bb484ee322ede1e091b2a0b653e6d25475f641602376a9\",\n \"remote_pk\": \"0392ff06c76763808a9a3d43e5cdc8dfbbbd01efb7b58c1fc315208498cc95807c\",\n \"type\": \"messaging\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n }\n ]\n }\n]" + } + ] + }, + { + "name": "/api/nodes/{pk}", + "request": { + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "http://localhost:8080/api/nodes/021c535e45756c63151820c8f31bfbb0efd6d7d49305e133e1650aae889d60ff02", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "nodes", + "021c535e45756c63151820c8f31bfbb0efd6d7d49305e133e1650aae889d60ff02" + ], + "query": [ + { + "key": "", + "value": "", + "disabled": true + } + ] + }, + "description": "Provides a summary of a given connected app node of public key." + }, + "response": [ + { + "name": "/api/nodes/:pk", + "originalRequest": { + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "http://localhost:8080/api/nodes/02500488fc25814e55e6c740537ed14ca677aebe8a883681bae718a36516a7b0a2", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "nodes", + "02500488fc25814e55e6c740537ed14ca677aebe8a883681bae718a36516a7b0a2" + ], + "query": [ + { + "key": "", + "value": "", + "disabled": true + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Date", + "value": "Wed, 13 Feb 2019 00:47:03 GMT" + }, + { + "key": "Transfer-Encoding", + "value": "chunked" + } + ], + "cookie": [], + "body": "{\n \"local_pk\": \"02500488fc25814e55e6c740537ed14ca677aebe8a883681bae718a36516a7b0a2\",\n \"apps\": [\n {\n \"name\": \"foo.v1.0\",\n \"autostart\": false,\n \"port\": 10,\n \"status\": 0\n },\n {\n \"name\": \"bar.v2.0\",\n \"autostart\": false,\n \"port\": 20,\n \"status\": 0\n }\n ],\n \"transports\": [\n {\n \"id\": \"3fb65ceb-0cd3-484c-8a9c-21617a06c6dd\",\n \"local_pk\": \"02500488fc25814e55e6c740537ed14ca677aebe8a883681bae718a36516a7b0a2\",\n \"remote_pk\": \"028825991ec52e8f135b9cf9c9f740698644ea2f2144e43a537ad416601ee1d905\",\n \"type\": \"native\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"4cf57b61-8a31-4c8f-b328-b2533978c4e1\",\n \"local_pk\": \"02500488fc25814e55e6c740537ed14ca677aebe8a883681bae718a36516a7b0a2\",\n \"remote_pk\": \"02af5570345c43715442aabdc72de8faecbccc38058fa3be88da8d85afb95762e6\",\n \"type\": \"messaging\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"0d2d208f-8e10-4bb4-ada5-58ffa4256723\",\n \"local_pk\": \"02500488fc25814e55e6c740537ed14ca677aebe8a883681bae718a36516a7b0a2\",\n \"remote_pk\": \"034b60e92c40f566e38753fd0e4bc680a0811d25bee949cb5fee4006e42599d6cd\",\n \"type\": \"messaging\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"b1afc8fd-cb62-4993-9b5e-79267cdcf557\",\n \"local_pk\": \"02500488fc25814e55e6c740537ed14ca677aebe8a883681bae718a36516a7b0a2\",\n \"remote_pk\": \"02add975773c2b1429368c961b9159c14de7662f8185ac5cbf173161e4b9f32937\",\n \"type\": \"messaging\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"43301e4e-594a-422a-b7b1-7a27e39050a8\",\n \"local_pk\": \"02500488fc25814e55e6c740537ed14ca677aebe8a883681bae718a36516a7b0a2\",\n \"remote_pk\": \"029e32e79f1a57aa42704d3d88618ef8458b12a8f897dbbb7eecec0a411820f7d4\",\n \"type\": \"messaging\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"2d92ce65-8e2f-45b9-be29-3057951f4821\",\n \"local_pk\": \"02500488fc25814e55e6c740537ed14ca677aebe8a883681bae718a36516a7b0a2\",\n \"remote_pk\": \"037f94a6071e7cb5edd8039cef0269ba43e48ab290e6144c4195d05478d5b446fb\",\n \"type\": \"native\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"1046b7a7-50ec-4795-91cd-a2fed648f305\",\n \"local_pk\": \"02500488fc25814e55e6c740537ed14ca677aebe8a883681bae718a36516a7b0a2\",\n \"remote_pk\": \"021a12b4514cadb248f65cb4c3b3c9eb32f631e1b9470509c44cd05758021cc32a\",\n \"type\": \"messaging\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n }\n ]\n}" + } + ] + }, + { + "name": "/api/nodes/{pk}/apps", + "request": { + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "http://localhost:8080/api/nodes/021c535e45756c63151820c8f31bfbb0efd6d7d49305e133e1650aae889d60ff02/apps", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "nodes", + "021c535e45756c63151820c8f31bfbb0efd6d7d49305e133e1650aae889d60ff02", + "apps" + ] + }, + "description": "Provides a summary of an AppNode's apps." + }, + "response": [ + { + "name": "/api/nodes/:pk/apps", + "originalRequest": { + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "http://localhost:8080/api/nodes/02500488fc25814e55e6c740537ed14ca677aebe8a883681bae718a36516a7b0a2/apps", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "nodes", + "02500488fc25814e55e6c740537ed14ca677aebe8a883681bae718a36516a7b0a2", + "apps" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Date", + "value": "Wed, 13 Feb 2019 00:48:55 GMT" + }, + { + "key": "Content-Length", + "value": "119" + } + ], + "cookie": [], + "body": "[\n {\n \"name\": \"foo.v1.0\",\n \"autostart\": false,\n \"port\": 10,\n \"status\": 0\n },\n {\n \"name\": \"bar.v2.0\",\n \"autostart\": false,\n \"port\": 20,\n \"status\": 0\n }\n]" + } + ] + }, + { + "name": "/api/nodes/{pk}/apps/{app}", + "request": { + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "http://localhost:8080/api/nodes/021c535e45756c63151820c8f31bfbb0efd6d7d49305e133e1650aae889d60ff02/apps/foo.v1.0", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "nodes", + "021c535e45756c63151820c8f31bfbb0efd6d7d49305e133e1650aae889d60ff02", + "apps", + "foo.v1.0" + ] + }, + "description": "Starts an app on an AppNode." + }, + "response": [ + { + "name": "/api/nodes/:pk/apps/:app/start", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "http://localhost:8080/api/nodes/02500488fc25814e55e6c740537ed14ca677aebe8a883681bae718a36516a7b0a2/apps/foo.v1.0/start", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "nodes", + "02500488fc25814e55e6c740537ed14ca677aebe8a883681bae718a36516a7b0a2", + "apps", + "foo.v1.0", + "start" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Date", + "value": "Wed, 13 Feb 2019 00:50:40 GMT" + }, + { + "key": "Content-Length", + "value": "130" + } + ], + "cookie": [], + "body": "{\n \"node\": \"02500488fc25814e55e6c740537ed14ca677aebe8a883681bae718a36516a7b0a2\",\n \"app\": \"foo.v1.0\",\n \"command\": \"StartApp\",\n \"success\": true\n}" + } + ] + }, + { + "name": "/api/nodes/{pk}/apps/{app}", + "request": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "value": "application/json", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\"autostart\": true,\n\t\"status\": 1\n}" + }, + "url": { + "raw": "http://localhost:8080/api/nodes/023ab9f45c0eb3625f9848a9ff6822c6d0965a94d3e7955f1869f38153df0e5b64/apps/foo.v1.0", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "nodes", + "023ab9f45c0eb3625f9848a9ff6822c6d0965a94d3e7955f1869f38153df0e5b64", + "apps", + "foo.v1.0" + ] + }, + "description": "Starts an app on an AppNode." + }, + "response": [ + { + "name": "/api/nodes/{pk}/apps/{app}", + "originalRequest": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "value": "application/json", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\"autostart\": true,\n\t\"status\": 1\n}" + }, + "url": { + "raw": "http://localhost:8080/api/nodes/023ab9f45c0eb3625f9848a9ff6822c6d0965a94d3e7955f1869f38153df0e5b64/apps/foo.v1.0", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "nodes", + "023ab9f45c0eb3625f9848a9ff6822c6d0965a94d3e7955f1869f38153df0e5b64", + "apps", + "foo.v1.0" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Date", + "value": "Sun, 17 Feb 2019 10:37:17 GMT" + }, + { + "key": "Content-Length", + "value": "58" + } + ], + "cookie": [], + "body": "{\n \"name\": \"foo.v1.0\",\n \"autostart\": true,\n \"port\": 10,\n \"status\": 0\n}" + } + ] + }, + { + "name": "/api/nodes/{pk}/transport-types", + "request": { + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "http://localhost:8080/api/nodes/023ab9f45c0eb3625f9848a9ff6822c6d0965a94d3e7955f1869f38153df0e5b64/transport-types", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "nodes", + "023ab9f45c0eb3625f9848a9ff6822c6d0965a94d3e7955f1869f38153df0e5b64", + "transport-types" + ] + }, + "description": "Lists supported transport types of the given AppNode." + }, + "response": [ + { + "name": "/api/nodes/:pk/transport-types", + "originalRequest": { + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "http://localhost:8080/api/nodes/039337a306ffbd6a7495f79b65aec91ce65756e4fd1cb2cd726840b2eee4fa59c2/transport-types", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "nodes", + "039337a306ffbd6a7495f79b65aec91ce65756e4fd1cb2cd726840b2eee4fa59c2", + "transport-types" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Date", + "value": "Wed, 13 Feb 2019 01:14:08 GMT" + }, + { + "key": "Content-Length", + "value": "22" + } + ], + "cookie": [], + "body": "[\n \"messaging\",\n \"native\"\n]" + } + ] + }, + { + "name": "/api/nodes/{pk}/transports", + "request": { + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "http://localhost:8080/api/nodes/023ab9f45c0eb3625f9848a9ff6822c6d0965a94d3e7955f1869f38153df0e5b64/transports?logs=true", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "nodes", + "023ab9f45c0eb3625f9848a9ff6822c6d0965a94d3e7955f1869f38153df0e5b64", + "transports" + ], + "query": [ + { + "key": "logs", + "value": "true", + "description": "whether to show with logs." + } + ] + }, + "description": "List transports of given AppNode." + }, + "response": [ + { + "name": "/api/nodes/:pk/transports", + "originalRequest": { + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "http://localhost:8080/api/nodes/039337a306ffbd6a7495f79b65aec91ce65756e4fd1cb2cd726840b2eee4fa59c2/transports?logs=true", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "nodes", + "039337a306ffbd6a7495f79b65aec91ce65756e4fd1cb2cd726840b2eee4fa59c2", + "transports" + ], + "query": [ + { + "key": "logs", + "value": "true", + "description": "whether to show with logs." + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Date", + "value": "Wed, 13 Feb 2019 01:15:50 GMT" + }, + { + "key": "Transfer-Encoding", + "value": "chunked" + } + ], + "cookie": [], + "body": "[\n {\n \"id\": \"e86f4d67-eb22-4d1c-8c27-8f021051a5cf\",\n \"local_pk\": \"039337a306ffbd6a7495f79b65aec91ce65756e4fd1cb2cd726840b2eee4fa59c2\",\n \"remote_pk\": \"028684d27d1c9bc36406da560d3f75a295a54ad0649d54eb3437655d8524bbe279\",\n \"type\": \"messaging\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"2ff2d608-fe14-4c17-938c-3af8afd053ae\",\n \"local_pk\": \"039337a306ffbd6a7495f79b65aec91ce65756e4fd1cb2cd726840b2eee4fa59c2\",\n \"remote_pk\": \"02a2f9b005ce53b77499e73eb4b67d60807a32d1616615809408150d2ff2631da8\",\n \"type\": \"messaging\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"50142ec9-027d-490d-ba86-e335b6ffffa0\",\n \"local_pk\": \"039337a306ffbd6a7495f79b65aec91ce65756e4fd1cb2cd726840b2eee4fa59c2\",\n \"remote_pk\": \"02d2b79b0e37671e8da948ddb7a51b24096a7b7fe3a64403f78ab031816b3009f3\",\n \"type\": \"native\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"85a60d18-f1a3-45b1-b7cc-8906c95dfdb0\",\n \"local_pk\": \"039337a306ffbd6a7495f79b65aec91ce65756e4fd1cb2cd726840b2eee4fa59c2\",\n \"remote_pk\": \"02c5015450d929bb38c496505f3781d671a11f108cecc0ef6f4a9ff6cf841e5bcf\",\n \"type\": \"messaging\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"16575562-14c4-492d-9112-dc9f9d3f201d\",\n \"local_pk\": \"039337a306ffbd6a7495f79b65aec91ce65756e4fd1cb2cd726840b2eee4fa59c2\",\n \"remote_pk\": \"0206ad1343becba521d66ce58b72b2fd8592c998f05ce6fb82a8ab44f3583f9023\",\n \"type\": \"messaging\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"d0fa7457-e887-406e-ac84-e009fe6df490\",\n \"local_pk\": \"039337a306ffbd6a7495f79b65aec91ce65756e4fd1cb2cd726840b2eee4fa59c2\",\n \"remote_pk\": \"026202dd7119e8f0635ff1adb52e826fc107472319033db47dbff428b66d3474ae\",\n \"type\": \"native\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"236d2c10-5d92-4d64-b66a-42e2a60ac231\",\n \"local_pk\": \"039337a306ffbd6a7495f79b65aec91ce65756e4fd1cb2cd726840b2eee4fa59c2\",\n \"remote_pk\": \"020906cf03d1037149150f3d4d06b242d3fa5a3ee6fc25edef6373061176ad5279\",\n \"type\": \"native\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n },\n {\n \"id\": \"03c845c9-57b0-4b84-a184-70f952497a8a\",\n \"local_pk\": \"039337a306ffbd6a7495f79b65aec91ce65756e4fd1cb2cd726840b2eee4fa59c2\",\n \"remote_pk\": \"0254cffd054fa00fa4c89f2b9d2ee3a52b69641bfd4a9e5ce59f5c086adf8d2e1e\",\n \"type\": \"native\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n }\n]" + } + ] + }, + { + "name": "/api/nodes/{pk}/transports", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "value": "application/json", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\"remote_pk\": \"03c497380efd87e19208bb484ee322ede1e091b2a0b653e6d25475f641602376a9\",\n\t\"transport_type\": \"native\",\n\t\"public\": true\n}" + }, + "url": { + "raw": "http://localhost:8080/api/nodes/023ab9f45c0eb3625f9848a9ff6822c6d0965a94d3e7955f1869f38153df0e5b64/transports", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "nodes", + "023ab9f45c0eb3625f9848a9ff6822c6d0965a94d3e7955f1869f38153df0e5b64", + "transports" + ] + }, + "description": "Adds a transport to a given AppNode." + }, + "response": [ + { + "name": "POST /api/nodes/transports", + "originalRequest": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "value": "application/json", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\"remote_pk\": \"03c497380efd87e19208bb484ee322ede1e091b2a0b653e6d25475f641602376a9\",\n\t\"transport_type\": \"native\",\n\t\"public\": true\n}" + }, + "url": { + "raw": "http://localhost:8080/api/nodes/039337a306ffbd6a7495f79b65aec91ce65756e4fd1cb2cd726840b2eee4fa59c2/transports", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "nodes", + "039337a306ffbd6a7495f79b65aec91ce65756e4fd1cb2cd726840b2eee4fa59c2", + "transports" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Date", + "value": "Wed, 13 Feb 2019 01:19:01 GMT" + }, + { + "key": "Content-Length", + "value": "258" + } + ], + "cookie": [], + "body": "{\n \"id\": \"7a4236d4-8ae4-478c-acd7-e3577d730a49\",\n \"local_pk\": \"039337a306ffbd6a7495f79b65aec91ce65756e4fd1cb2cd726840b2eee4fa59c2\",\n \"remote_pk\": \"03c497380efd87e19208bb484ee322ede1e091b2a0b653e6d25475f641602376a9\",\n \"type\": \"native\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n}" + } + ] + }, + { + "name": "/api/nodes/{pk}/transports/{tid}", + "request": { + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "http://localhost:8080/api/nodes/023ab9f45c0eb3625f9848a9ff6822c6d0965a94d3e7955f1869f38153df0e5b64/transports/70836b44-f6e5-4c17-a5e8-e1cbef89a10f", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "nodes", + "023ab9f45c0eb3625f9848a9ff6822c6d0965a94d3e7955f1869f38153df0e5b64", + "transports", + "70836b44-f6e5-4c17-a5e8-e1cbef89a10f" + ] + }, + "description": "Obtains summary of transport of given TransportID and AppNode." + }, + "response": [ + { + "name": "/api/nodes/:pk/transports/:tid", + "originalRequest": { + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "http://localhost:8080/api/nodes/039337a306ffbd6a7495f79b65aec91ce65756e4fd1cb2cd726840b2eee4fa59c2/transports/2ff2d608-fe14-4c17-938c-3af8afd053ae", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "nodes", + "039337a306ffbd6a7495f79b65aec91ce65756e4fd1cb2cd726840b2eee4fa59c2", + "transports", + "2ff2d608-fe14-4c17-938c-3af8afd053ae" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Date", + "value": "Wed, 13 Feb 2019 01:23:06 GMT" + }, + { + "key": "Content-Length", + "value": "261" + } + ], + "cookie": [], + "body": "{\n \"id\": \"2ff2d608-fe14-4c17-938c-3af8afd053ae\",\n \"local_pk\": \"039337a306ffbd6a7495f79b65aec91ce65756e4fd1cb2cd726840b2eee4fa59c2\",\n \"remote_pk\": \"02a2f9b005ce53b77499e73eb4b67d60807a32d1616615809408150d2ff2631da8\",\n \"type\": \"messaging\",\n \"log\": {\n \"received\": null,\n \"sent\": null\n }\n}" + } + ] + }, + { + "name": "DELETE /api/nodes/{pk}/transports/{tid}", + "request": { + "method": "DELETE", + "header": [], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "http://localhost:8080/api/nodes/023ab9f45c0eb3625f9848a9ff6822c6d0965a94d3e7955f1869f38153df0e5b64/transports/d5ace20e-06c8-4867-bda2-9449459a9e5a", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "nodes", + "023ab9f45c0eb3625f9848a9ff6822c6d0965a94d3e7955f1869f38153df0e5b64", + "transports", + "d5ace20e-06c8-4867-bda2-9449459a9e5a" + ] + }, + "description": "Removes transport of given TransportID and AppNode." + }, + "response": [ + { + "name": "DELETE /api/nodes/:pk/transports/:tid", + "originalRequest": { + "method": "DELETE", + "header": [], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "http://localhost:8080/api/nodes/039337a306ffbd6a7495f79b65aec91ce65756e4fd1cb2cd726840b2eee4fa59c2/transports/2ff2d608-fe14-4c17-938c-3af8afd053ae", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "8080", + "path": [ + "api", + "nodes", + "039337a306ffbd6a7495f79b65aec91ce65756e4fd1cb2cd726840b2eee4fa59c2", + "transports", + "2ff2d608-fe14-4c17-938c-3af8afd053ae" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Date", + "value": "Wed, 13 Feb 2019 01:24:20 GMT" + }, + { + "key": "Content-Length", + "value": "171" + } + ], + "cookie": [], + "body": "{\n \"node\": \"039337a306ffbd6a7495f79b65aec91ce65756e4fd1cb2cd726840b2eee4fa59c2\",\n \"transport\": \"2ff2d608-fe14-4c17-938c-3af8afd053ae\",\n \"command\": \"RemoveTransport\",\n \"success\": true\n}" + } + ] + } + ] +} \ No newline at end of file diff --git a/cmd/skywire-cli/README.org b/cmd/skywire-cli/README.org new file mode 100644 index 000000000..2ff98adfe --- /dev/null +++ b/cmd/skywire-cli/README.org @@ -0,0 +1,8 @@ +* CLI for skywire node + +~skywire-cli~ implements management commands for ~skywire~ node via +RPC interface. + +** Available commands + +TODO: add commands diff --git a/cmd/skywire-cli/commands/app.go b/cmd/skywire-cli/commands/app.go new file mode 100644 index 000000000..1f40f064c --- /dev/null +++ b/cmd/skywire-cli/commands/app.go @@ -0,0 +1,115 @@ +package commands + +import ( + "fmt" + "os" + "strconv" + "text/tabwriter" + + "github.com/spf13/cobra" + + "github.com/skycoin/skywire/pkg/node" +) + +type appCmds struct { + root *cobra.Command + list *cobra.Command + start *cobra.Command + stop *cobra.Command + setAuto *cobra.Command +} + +func newAppCmds() *cobra.Command { + a := &appCmds{} + a.initRoot() + a.initList() + a.initStart() + a.initStop() + a.initAuto() + + a.root.AddCommand(a.list) + a.root.AddCommand(a.start) + a.root.AddCommand(a.stop) + a.root.AddCommand(a.setAuto) + + return a.root +} + +func (a *appCmds) initRoot() { + a.root = &cobra.Command{ + Use: "app", + Short: "app management operations", + } +} + +func (a *appCmds) initList() { + a.list = &cobra.Command{ + Use: "list", + Short: "returns list of apps registered on the node", + Run: func(_ *cobra.Command, _ []string) { + states, err := client().Apps() + catch(err) + + w := tabwriter.NewWriter(os.Stdout, 0, 0, 5, ' ', tabwriter.TabIndent) + _, err = fmt.Fprintln(w, "app\tports\tauto_start\tstatus") + catch(err) + + for _, state := range states { + status := "stopped" + if state.Status == node.AppStatusRunning { + status = "running" + } + + _, err = fmt.Fprintf(w, "%s\t%s\t%t\t%s\n", state.Name, strconv.Itoa(int(state.Port)), state.AutoStart, status) + catch(err) + } + + catch(w.Flush()) + }, + } +} + +func (a *appCmds) initStart() { + a.start = &cobra.Command{ + Use: "start [name]", + Short: "starts a Skywire app with given name", + Args: cobra.MinimumNArgs(1), + Run: func(_ *cobra.Command, args []string) { + catch(client().StartApp(args[0])) + fmt.Println("OK") + }, + } +} + +func (a *appCmds) initStop() { + a.stop = &cobra.Command{ + Use: "stop [name]", + Short: "stops a Skywire app with given name", + Args: cobra.MinimumNArgs(1), + Run: func(_ *cobra.Command, args []string) { + catch(client().StopApp(args[0])) + fmt.Println("OK") + }, + } +} + +func (a *appCmds) initAuto() { + a.setAuto = &cobra.Command{ + Use: "set-auto [name] [on|off]", + Short: "sets the auto-start flag on a Skywire app with given name", + Args: cobra.MinimumNArgs(2), + Run: func(_ *cobra.Command, args []string) { + var autostart bool + switch args[1] { + case "on": + autostart = true + case "off": + autostart = false + default: + catch(fmt.Errorf("invalid args[1] value: %s", args[1])) + } + catch(client().SetAutoStart(args[0], autostart)) + fmt.Println("OK") + }, + } +} diff --git a/cmd/skywire-cli/commands/config.go b/cmd/skywire-cli/commands/config.go new file mode 100644 index 000000000..f46e5ce67 --- /dev/null +++ b/cmd/skywire-cli/commands/config.go @@ -0,0 +1,85 @@ +package commands + +import ( + "encoding/base64" + "encoding/json" + "log" + "os" + + "github.com/spf13/cobra" + + "github.com/skycoin/skywire/pkg/cipher" + "github.com/skycoin/skywire/pkg/node" +) + +var configCmd = &cobra.Command{ + Use: "config [skywire.json]", + Short: "Generate default config file", + Run: func(_ *cobra.Command, args []string) { + configFile := "skywire.json" + if len(args) > 0 { + configFile = args[0] + } + + conf := defaultConfig() + confFile, err := os.OpenFile(configFile, os.O_RDWR|os.O_CREATE, 0600) + if err != nil { + log.Fatal("Failed to create config files: ", err) + } + + enc := json.NewEncoder(confFile) + enc.SetIndent("", " ") + if err := enc.Encode(conf); err != nil { + log.Fatal("Failed to encode json config: ", err) + } + + log.Println("Done!") + }, +} + +func defaultConfig() *node.Config { + conf := &node.Config{} + conf.Version = "1.0" + + pk, sk := cipher.GenerateKeyPair() + conf.Node.StaticPubKey = pk + conf.Node.StaticSecKey = sk + + conf.Messaging.Discovery = "https://messaging.discovery.skywire.skycoin.net" + conf.Messaging.ServerCount = 1 + + passcode := base64.StdEncoding.EncodeToString(cipher.RandByte(8)) + conf.Apps = []node.AppConfig{ + {App: "chat", Version: "1.0", Port: 1, AutoStart: true, Args: []string{}}, + {App: "therealssh", Version: "1.0", Port: 2, AutoStart: true, Args: []string{}}, + {App: "therealssh-client", Version: "1.0", Port: 22, AutoStart: true, Args: []string{}}, + {App: "therealproxy", Version: "1.0", Port: 3, AutoStart: true, Args: []string{"-passcode", passcode}}, + } + conf.TrustedNodes = []cipher.PubKey{} + + conf.Transport.Discovery = "https://transport.discovery.skywire.skycoin.net" + conf.Transport.LogStore.Type = "file" + conf.Transport.LogStore.Location = "./skywire/transport_logs" + + conf.Routing.RouteFinder = "https://routefinder.skywire.skycoin.net/" + sPK := cipher.PubKey{} + sPK.UnmarshalText([]byte("0324579f003e6b4048bae2def4365e634d8e0e3054a20fc7af49daf2a179658557")) // nolint: errcheck + conf.Routing.SetupNodes = []cipher.PubKey{sPK} + conf.Routing.Table.Type = "boltdb" + conf.Routing.Table.Location = "./skywire/routing.db" + + conf.ManagerNodes = []node.ManagerConfig{} + + conf.AppsPath = "./apps" + conf.LocalPath = "./local" + + conf.LogLevel = "info" + + conf.Interfaces.RPCAddress = "localhost:3436" + + return conf +} + +func init() { + rootCmd.AddCommand(configCmd) +} diff --git a/cmd/skywire-cli/commands/messaging-discovery.go b/cmd/skywire-cli/commands/messaging-discovery.go new file mode 100644 index 000000000..97812540a --- /dev/null +++ b/cmd/skywire-cli/commands/messaging-discovery.go @@ -0,0 +1,85 @@ +package commands + +import ( + "context" + "fmt" + "time" + + "github.com/spf13/cobra" + + "github.com/skycoin/skywire/pkg/cipher" + mdClient "github.com/skycoin/skywire/pkg/messaging-discovery/client" +) + +type messagingDiscoveryCmds struct { + flags struct { + addr string + } + + root *cobra.Command + entry *cobra.Command + getAvailableServers *cobra.Command +} + +func newMessagingDiscoveryCmds() *cobra.Command { + m := &messagingDiscoveryCmds{} + m.initRoot() + m.initEntry() + m.initGetAvailableServers() + + m.root.AddCommand(m.entry) + m.root.AddCommand(m.getAvailableServers) + + return m.root +} + +func (m *messagingDiscoveryCmds) initRoot() { + m.root = &cobra.Command{ + Use: "messaging-discovery", + Short: "manage operations with messaging discovery api", + } + + m.root.Flags().StringVar(&m.flags.addr, "addr", + "localhost:9090", "address of messaging discovery server") +} + +func (m *messagingDiscoveryCmds) initEntry() { + m.entry = &cobra.Command{ + Use: "entry [node-public-key]", + Short: "fetch entry from messaging-discovery instance", + Args: cobra.MinimumNArgs(1), + Run: func(_ *cobra.Command, args []string) { + c := mdClient.NewHTTP("http://" + m.flags.addr) + pk := cipher.PubKey{} + catch(pk.Set(args[0])) + + ctx, cancel := context.WithTimeout(context.Background(), time.Second*10) + defer cancel() + + entry, err := c.Entry(ctx, pk) + catch(err) + + fmt.Println(entry) + }, + } +} + +func (m *messagingDiscoveryCmds) initGetAvailableServers() { + m.getAvailableServers = &cobra.Command{ + Use: "available-servers", + Short: "fetch available servers from messaging-discovery instance", + Run: func(_ *cobra.Command, _ []string) { + c := mdClient.NewHTTP("http://" + m.flags.addr) + + ctx, cancel := context.WithTimeout(context.Background(), time.Second*10) + defer cancel() + + entries, err := c.AvailableServers(ctx) + catch(err) + + for _, entry := range entries { + fmt.Println(entry) + } + }, + } +} diff --git a/cmd/skywire-cli/commands/root.go b/cmd/skywire-cli/commands/root.go new file mode 100644 index 000000000..7e246c817 --- /dev/null +++ b/cmd/skywire-cli/commands/root.go @@ -0,0 +1,58 @@ +package commands + +import ( + "fmt" + "log" + "net/rpc" + "os" + + "github.com/spf13/cobra" + + "github.com/skycoin/skywire/pkg/manager" + "github.com/skycoin/skywire/pkg/node" +) + +var rpcAddr string + +func init() { + rootCmd.AddCommand(newAppCmds()) + + rootCmd.AddCommand(newRouteFinderCmds()) + + rootCmd.AddCommand(newTransportDiscoveryCmds()) + + rootCmd.AddCommand(newMessagingDiscoveryCmds()) + + rootCmd.AddCommand(newTransportsCmds()) + + rootCmd.AddCommand(newRoutingRulesCmds()) +} + +func client() node.RPCClient { + client, err := rpc.Dial("tcp", rpcAddr) + if err != nil { + log.Fatal("RPC connection failed:", err) + } + return manager.NewRPCClient(client, node.RPCPrefix) +} + +func catch(err error) { + if err != nil { + log.Fatal(err) + } +} + +var rootCmd = &cobra.Command{ + Use: "skywire-cli", + Short: "Command Line Interface for skywire", +} + +// Execute executes root CLI command. +func Execute() { + rootCmd.PersistentFlags().StringVarP(&rpcAddr, "rpc", "", "localhost:3436", "RPC server address") + + if err := rootCmd.Execute(); err != nil { + fmt.Println(err) + os.Exit(1) + } +} diff --git a/cmd/skywire-cli/commands/route-finder.go b/cmd/skywire-cli/commands/route-finder.go new file mode 100644 index 000000000..08134c089 --- /dev/null +++ b/cmd/skywire-cli/commands/route-finder.go @@ -0,0 +1,73 @@ +package commands + +import ( + "fmt" + + "github.com/spf13/cobra" + + "github.com/skycoin/skywire/pkg/cipher" + routeFinder "github.com/skycoin/skywire/pkg/route-finder/client" +) + +type routeFinderCmds struct { + root *cobra.Command + routes *cobra.Command + routesFlags struct { + minHops uint16 + maxHops uint16 + address string + } +} + +func newRouteFinderCmds() *cobra.Command { + r := &routeFinderCmds{} + r.initRootCMD() + r.initRoutesCMD() + r.initRoutesFlags() + + r.root.AddCommand(r.routes) + + return r.root +} + +func (r *routeFinderCmds) initRootCMD() { + r.root = &cobra.Command{ + Use: "route-finder", + Short: "manage operations with route finder api", + } +} + +func (r *routeFinderCmds) initRoutesCMD() { + r.routes = &cobra.Command{ + Use: "routes [public-key-node-1] [public-key-node-2]", + Short: "returns routes between two given nodes", + Args: cobra.MinimumNArgs(2), + Run: func(_ *cobra.Command, args []string) { + rfc := routeFinder.NewHTTP("http://" + r.routesFlags.address) + originNode := cipher.PubKey{} + destinyNode := cipher.PubKey{} + err := originNode.Set(args[0]) + catch(err) + + err = destinyNode.Set(args[1]) + catch(err) + + forward, reverse, err := rfc.PairedRoutes(originNode, destinyNode, + r.routesFlags.minHops, r.routesFlags.maxHops) + catch(err) + fmt.Println("forward: ", forward) + fmt.Println("reverse: ", reverse) + }, + } +} + +func (r *routeFinderCmds) initRoutesFlags() { + r.routes.Flags().Uint16Var(&r.routesFlags.minHops, "min-hops", + 1, "min hops for the returning routeFinderRoutesCmd") + + r.routes.Flags().Uint16Var(&r.routesFlags.maxHops, "max-hops", + 1000, "max hops for the returning routeFinderRoutesCmd") + + r.routes.Flags().StringVar(&r.routesFlags.address, "addr", + "localhost:9092", "address in which to contact route finder service") +} diff --git a/cmd/skywire-cli/commands/rules.go b/cmd/skywire-cli/commands/rules.go new file mode 100644 index 000000000..5f5b8d2e5 --- /dev/null +++ b/cmd/skywire-cli/commands/rules.go @@ -0,0 +1,239 @@ +package commands + +import ( + "fmt" + "strconv" + + "github.com/spf13/cobra" + + "time" + + "github.com/google/uuid" + + "io" + "os" + "text/tabwriter" + + "github.com/skycoin/skywire/pkg/cipher" + "github.com/skycoin/skywire/pkg/node" + "github.com/skycoin/skywire/pkg/routing" +) + +type routingRulesCmds struct { + root *cobra.Command + list *cobra.Command + info *cobra.Command + rm *cobra.Command +} + +// addCmds refers to "add [app|forward]" sub-command +type addCmds struct { + root *cobra.Command + app *cobra.Command + appFlags struct { + expireAfter time.Duration + remotePort uint16 + localPort uint16 + } + + forward *cobra.Command + forwardFlags struct { + expireAfter time.Duration + } +} + +func newRoutingRulesCmds() *cobra.Command { + r := &routingRulesCmds{} + r.initRoot() + r.initList() + r.initInfo() + r.initRm() + + r.root.AddCommand(r.list) + r.root.AddCommand(r.info) + r.root.AddCommand(r.rm) + r.root.AddCommand(newAddCmds()) + + return r.root +} + +func (r *routingRulesCmds) tabPrint(rules ...*node.RoutingEntry) { + w := r.createWriter() + + for _, rule := range rules { + if rule.Value.Summary().AppFields != nil { + r.tabPrintAppRule(w, rule.Key, rule.Value.Summary()) + } else { + r.tabPrintForwardRule(w, rule.Key, rule.Value.Summary()) + } + } + + catch(w.Flush()) +} + +func (r *routingRulesCmds) tabPrintSingleRule(id routing.RouteID, s *routing.RuleSummary) { + w := r.createWriter() + if s.AppFields != nil { + r.tabPrintAppRule(w, id, s) + } else { + r.tabPrintForwardRule(w, id, s) + } + + w.Flush() +} + +func (r *routingRulesCmds) createWriter() *tabwriter.Writer { + w := tabwriter.NewWriter(os.Stdout, 0, 0, 5, ' ', tabwriter.TabIndent) + _, err := fmt.Fprintln(w, "id\ttype\tlocal-port\tremote-port\tremote-pk\tresp-id\tnext-route-id\tnext-transport-id\texpire-at") + catch(err) + + return w +} + +func (r *routingRulesCmds) tabPrintAppRule(w io.Writer, id routing.RouteID, s *routing.RuleSummary) { + _, err := fmt.Fprintf(w, "%d\t%s\t%d\t%d\t%s\t%d\t%s\t%s\t%s\n", id, s.Type, s.AppFields.LocalPort, + s.AppFields.RemotePort, s.AppFields.RemotePK, s.AppFields.RespRID, "-", "-", s.ExpireAt) + catch(err) +} + +func (r *routingRulesCmds) tabPrintForwardRule(w io.Writer, id routing.RouteID, s *routing.RuleSummary) { + _, err := fmt.Fprintf(w, "%d\t%s\t%s\t%s\t%s\t%s\t%d\t%s\t%s\n", id, s.Type, "-", + "-", "-", "-", s.ForwardFields.NextRID, s.ForwardFields.NextTID, s.ExpireAt) + catch(err) +} + +func (r *routingRulesCmds) initRoot() { + r.root = &cobra.Command{ + Use: "routing-rules [sub-command]", + Short: "manages operations with routing rules", + } +} + +func (r *routingRulesCmds) initList() { + r.list = &cobra.Command{ + Use: "list", + Short: "print the list of current routing rules", + Run: func(_ *cobra.Command, _ []string) { + rules, err := client().RoutingRules() + catch(err) + + r.tabPrint(rules...) + }, + } +} + +func (r *routingRulesCmds) initInfo() { + r.info = &cobra.Command{ + Use: "info [routing-rule-id]", + Short: "returns information about the routing-rule referenced by it's id", + Args: cobra.MinimumNArgs(1), + Run: func(_ *cobra.Command, args []string) { + id, err := strconv.ParseUint(args[0], 10, 32) + catch(err) + + rule, err := client().RoutingRule(routing.RouteID(id)) + catch(err) + + r.tabPrintSingleRule(rule.RouteID(), rule.Summary()) + }, + } +} + +func (r *routingRulesCmds) initRm() { + r.rm = &cobra.Command{ + Use: "rm [routing-rule-id]", + Short: "removes given routing-rule by it's id", + Args: cobra.MinimumNArgs(1), + Run: func(_ *cobra.Command, args []string) { + id, err := strconv.ParseUint(args[0], 10, 32) + catch(err) + + catch(client().RemoveRoutingRule(routing.RouteID(id))) + + fmt.Println("OK") + }, + } +} + +func newAddCmds() *cobra.Command { + a := &addCmds{} + a.addRoot() + a.addApp() + a.addForward() + + a.root.AddCommand(a.app) + a.root.AddCommand(a.forward) + + return a.root +} + +func (a *addCmds) addRoot() { + a.root = &cobra.Command{ + Use: "add [app|forward]", + Short: "adds a new rule", + } +} + +func (a *addCmds) addApp() { + a.app = &cobra.Command{ + Use: "app [route-id] [remote-pk]", + Short: "adds an app rule", + Args: cobra.MinimumNArgs(2), + Run: func(_ *cobra.Command, args []string) { + id, err := strconv.ParseUint(args[0], 10, 32) + catch(err) + + pk := cipher.PubKey{} + catch(pk.Set(args[1])) + + rule := routing.AppRule(time.Now().Add(a.appFlags.expireAfter), + routing.RouteID(id), pk, a.appFlags.remotePort, a.appFlags.localPort) + + resID, err := client().AddRoutingRule(rule) + catch(err) + + fmt.Println("id: ", resID) + }, + } + + a.bindAddAppFlags() +} + +func (a *addCmds) bindAddAppFlags() { + a.app.Flags().DurationVar(&a.appFlags.expireAfter, "expire", 10000*time.Hour, + "duration after which rule will expire") + a.app.Flags().Uint16Var(&a.appFlags.localPort, "local-port", 80, + "local port of the rule") + a.app.Flags().Uint16Var(&a.appFlags.remotePort, "remote-port", 80, + "remote port of the rule") +} + +func (a *addCmds) addForward() { + a.forward = &cobra.Command{ + Use: "forward [next-route-id] [next-transport-id]", + Short: "adds a forward rule", + Args: cobra.MinimumNArgs(2), + Run: func(_ *cobra.Command, args []string) { + routeID, err := strconv.ParseUint(args[0], 10, 32) + catch(err) + + nTrID, err := uuid.Parse(args[1]) + catch(err) + + rule := routing.ForwardRule(time.Now().Add(a.forwardFlags.expireAfter), + routing.RouteID(routeID), nTrID) + + id, err := client().AddRoutingRule(rule) + catch(err) + + fmt.Println("id: ", id) + }, + } + + a.bindAddForwardFlags() +} + +func (a *addCmds) bindAddForwardFlags() { + a.forward.Flags().DurationVar(&a.forwardFlags.expireAfter, "expire", 10000*time.Hour, + "duration after which rule will expire") +} diff --git a/cmd/skywire-cli/commands/transport-discovery.go b/cmd/skywire-cli/commands/transport-discovery.go new file mode 100644 index 000000000..9b8a76d74 --- /dev/null +++ b/cmd/skywire-cli/commands/transport-discovery.go @@ -0,0 +1,99 @@ +package commands + +import ( + "github.com/spf13/cobra" + + "context" + "fmt" + "time" + + "github.com/google/uuid" + + "github.com/skycoin/skywire/pkg/cipher" + trClient "github.com/skycoin/skywire/pkg/transport-discovery/client" +) + +type transportDiscoveryCMD struct { + root *cobra.Command + transportByID *cobra.Command + transportByEdge *cobra.Command + + flags struct { + addr string + } +} + +func newTransportDiscoveryCmds() *cobra.Command { + t := &transportDiscoveryCMD{} + t.initRoot() + t.initGetTransportByID() + t.initGetTransportByEdge() + + t.root.AddCommand(t.transportByID) + t.root.AddCommand(t.transportByEdge) + + return t.root +} + +func (t *transportDiscoveryCMD) initRoot() { + t.root = &cobra.Command{ + Use: "transport-discovery", + Short: "manage operations with transport discovery api", + } + + t.root.Flags().StringVar(&t.flags.addr, "addr", + "localhost:9091", "address of transport discovery server") +} + +func (t *transportDiscoveryCMD) initGetTransportByID() { + t.transportByID = &cobra.Command{ + Use: "id [id]", + Short: "return information related to the transport referred by it's ID", + Args: cobra.MinimumNArgs(1), + Run: func(_ *cobra.Command, args []string) { + pk, sk := cipher.GenerateKeyPair() + + tdc, err := trClient.NewHTTP("http://"+t.flags.addr, pk, sk) + catch(err) + + id, err := uuid.Parse(args[0]) + catch(err) + + ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) + defer cancel() + + entry, err := tdc.GetTransportByID(ctx, id) + catch(err) + + fmt.Println(entry) + }, + } +} + +func (t *transportDiscoveryCMD) initGetTransportByEdge() { + t.transportByEdge = &cobra.Command{ + Use: "edge [edge-public-key]", + Short: "return information related to the transport referred by it's edge pk", + Args: cobra.MinimumNArgs(1), + Run: func(_ *cobra.Command, args []string) { + pk, sk := cipher.GenerateKeyPair() + + tdc, err := trClient.NewHTTP("http://"+t.flags.addr, pk, sk) + catch(err) + + edgePK := cipher.PubKey{} + catch(edgePK.Set(args[0])) + + ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) + defer cancel() + + entries, err := tdc.GetTransportsByEdge(ctx, edgePK) + catch(err) + + for _, entry := range entries { + fmt.Println(entry) + } + }, + } + +} diff --git a/cmd/skywire-cli/commands/transports.go b/cmd/skywire-cli/commands/transports.go new file mode 100644 index 000000000..702ca2294 --- /dev/null +++ b/cmd/skywire-cli/commands/transports.go @@ -0,0 +1,208 @@ +package commands + +import ( + "fmt" + "strings" + + "github.com/google/uuid" + "github.com/spf13/cobra" + + "os" + "text/tabwriter" + + "github.com/skycoin/skywire/pkg/cipher" + "github.com/skycoin/skywire/pkg/node" +) + +type transportsCMD struct { + root *cobra.Command + types *cobra.Command // client.TransportTypes + list *cobra.Command // client.Transports + listFlags struct { + typesFilter []string + pksFilter pkSlice + logs bool + } + + add *cobra.Command // client.TransportAdd + addFlags struct { + transportType string + public bool + } + + summary *cobra.Command // client.Transport + rm *cobra.Command // client.RemoveTransport +} + +type pkSlice []cipher.PubKey + +// String implements stringer +func (p pkSlice) String() string { + res := "pubkey list:\n" + for _, pk := range p { + res += fmt.Sprintf("\t%s\n", pk) + } + + return res +} + +// Set implements pflag.Value +func (p *pkSlice) Set(list string) error { + parsedList := strings.Split(list, " ") + + for _, s := range parsedList { + pk := cipher.PubKey{} + if err := pk.Set(s); err != nil { + return err + } + *p = append(*p, pk) + } + + return nil +} + +// Type implements pflag.Value +func (p pkSlice) Type() string { + return "[]transport.Pubkey" +} + +func newTransportsCmds() *cobra.Command { + t := &transportsCMD{} + t.initRoot() + t.initTypes() + t.initList() + t.initAdd() + t.initRm() + t.initSummary() + + t.root.AddCommand(t.types) + t.root.AddCommand(t.list) + t.root.AddCommand(t.add) + t.root.AddCommand(t.rm) + t.root.AddCommand(t.summary) + + return t.root +} + +func (t *transportsCMD) tabPrint(trList ...*node.TransportSummary) { + w := tabwriter.NewWriter(os.Stdout, 0, 0, 5, ' ', tabwriter.TabIndent) + _, err := fmt.Fprintln(w, "type\tid\tlocal\tremote") + catch(err) + + for _, tr := range trList { + _, err = fmt.Fprintf(w, "%s\t%s\t%s\t%s\n", tr.Type, tr.ID, tr.Local, + tr.Remote) + catch(err) + } + + catch(w.Flush()) +} + +func (t *transportsCMD) initRoot() { + t.root = &cobra.Command{ + Use: "transports", + Short: "manages transports related operations", + } +} + +func (t *transportsCMD) initTypes() { + t.types = &cobra.Command{ + Use: "types", + Short: "display available types", + Run: func(_ *cobra.Command, _ []string) { + types, err := client().TransportTypes() + catch(err) + + for _, t := range types { + fmt.Println(t) + } + }, + } +} + +func (t *transportsCMD) initList() { + t.list = &cobra.Command{ + Use: "list", + Short: "lists the available transports with optional filter flags", + Run: func(_ *cobra.Command, _ []string) { + transports, err := client().Transports(t.listFlags.typesFilter, + t.listFlags.pksFilter, t.listFlags.logs) + + catch(err) + + t.tabPrint(transports...) + }, + } + + t.bindListFlags() +} + +func (t *transportsCMD) bindListFlags() { + t.list.Flags().StringSliceVar(&t.listFlags.typesFilter, "types", []string{}, + "list of transport's type to filter by") + t.list.Flags().Var(&t.listFlags.pksFilter, "pks", + "list of transport's public keys filter by") + t.list.Flags().BoolVar(&t.listFlags.logs, "v", false, + "whether to print logs or not") +} + +func (t *transportsCMD) initAdd() { + t.add = &cobra.Command{ + Use: "add [transport-public-key]", + Short: "adds a new transport", + Args: cobra.MinimumNArgs(1), + Run: func(_ *cobra.Command, args []string) { + pk := cipher.PubKey{} + catch(pk.Set(args[0])) + + tr, err := client().AddTransport(pk, + t.addFlags.transportType, t.addFlags.public) + + catch(err) + + t.tabPrint(tr) + }, + } + + t.bindAddFlags() +} + +func (t *transportsCMD) bindAddFlags() { + t.add.Flags().StringVar(&t.addFlags.transportType, "type", "messaging", + "type of the transport to add") + t.add.Flags().BoolVar(&t.addFlags.public, "public", true, + "whether to add the transport as public or private") +} + +func (t *transportsCMD) initRm() { + t.rm = &cobra.Command{ + Use: "rm [id]", + Short: "removes transport with given id", + Args: cobra.MinimumNArgs(1), + Run: func(_ *cobra.Command, args []string) { + id, err := uuid.Parse(args[0]) + catch(err) + + catch(client().RemoveTransport(id)) + + fmt.Println("OK") + }, + } +} + +func (t *transportsCMD) initSummary() { + t.summary = &cobra.Command{ + Use: "summary [id]", + Short: "returns summary of given transport by id", + Args: cobra.MinimumNArgs(1), + Run: func(_ *cobra.Command, args []string) { + id, err := uuid.Parse(args[0]) + catch(err) + + s, err := client().Transport(id) + catch(err) + + t.tabPrint(s) + }, + } +} diff --git a/cmd/skywire-cli/skywire-cli.go b/cmd/skywire-cli/skywire-cli.go new file mode 100644 index 000000000..7a3aa2c1e --- /dev/null +++ b/cmd/skywire-cli/skywire-cli.go @@ -0,0 +1,10 @@ +/* +CLI for skywire node +*/ +package main + +import "github.com/skycoin/skywire/cmd/skywire-cli/commands" + +func main() { + commands.Execute() +} diff --git a/cmd/skywire-node/commands/root.go b/cmd/skywire-node/commands/root.go new file mode 100644 index 000000000..aac57eb32 --- /dev/null +++ b/cmd/skywire-node/commands/root.go @@ -0,0 +1,72 @@ +package commands + +import ( + "encoding/json" + "log" + "os" + "os/signal" + "strings" + "syscall" + "time" + + "github.com/spf13/cobra" + + "github.com/skycoin/skywire/pkg/node" +) + +var rootCmd = &cobra.Command{ + Use: "skywire-node [skywire.json]", + Short: "App Node for skywire", + Run: func(_ *cobra.Command, args []string) { + configFile := "skywire.json" + if len(args) > 0 { + configFile = args[0] + } + + file, err := os.Open(configFile) + if err != nil { + log.Fatalf("Failed to open config: %s", err) + } + + conf := &node.Config{} + if err := json.NewDecoder(file).Decode(&conf); err != nil { + log.Fatalf("Failed to decode %s: %s", configFile, err) + } + + node, err := node.NewNode(conf) + if err != nil { + log.Fatal("Failed to initialise node: ", err) + } + + go func() { + if err := node.Start(); err != nil { + log.Fatal("Failed to start node: ", err) + } + }() + + ch := make(chan os.Signal, 2) + signal.Notify(ch, []os.Signal{syscall.SIGINT, syscall.SIGTERM, syscall.SIGQUIT}...) + <-ch + go func() { + select { + case <-time.After(10 * time.Second): + log.Fatal("Timeout reached: terminating") + case s := <-ch: + log.Fatalf("Received signal %s: terminating", s) + } + }() + + if err := node.Close(); err != nil { + if !strings.Contains(err.Error(), "closed") { + log.Fatal("Failed to close node: ", err) + } + } + }, +} + +// Execute executes root CLI command. +func Execute() { + if err := rootCmd.Execute(); err != nil { + log.Fatal(err) + } +} diff --git a/cmd/skywire-node/config.json b/cmd/skywire-node/config.json new file mode 100644 index 000000000..80e7745e5 --- /dev/null +++ b/cmd/skywire-node/config.json @@ -0,0 +1,40 @@ +{ + "version": "1.0", + "node": { + "static_public_key": "024ec47420176680816e0406250e7156465e4531f5b26057c9f6297bb0303558c7", + "static_secret_key": "42bca4df2f3189b28872d40e6c61aacd5e85b8e91f8fea65780af27c142419e5" + }, + "messaging": { + "server": false, + "public": true, + "discovery": "http://skywire.skycoin.net:8001", + "delegated_servers": [ + "03a714db33a696a1202de568485234d5035935040bd85a87925568e3ddd100f1e3", + "02709cebf98a35431407068ee0740233224795315e3b218054431da80d9c827f07", + "03cf6b2ab045aa96d39a58cc087177d1d94944f61a131ec4a69327d5007a8e9953" + ], + "server_count": 5 + }, + "apps": [ + { + "app": "chat", + "version": "1.0", + "auto_start": true, + "ports": [1] + }, + { + "app": "therealssh-server", + "auto_start": true, + "ports": [2] + } + ], + "messaging_path": "./messaging", + "apps_path": "./apps", + "local_path": "./local", + "interfaces": { + "messaging": ":3434", + "http": ":80", + "https": false, + "rpc": ":3435" + } +} diff --git a/cmd/skywire-node/skywire-node.go b/cmd/skywire-node/skywire-node.go new file mode 100644 index 000000000..8e4fd143e --- /dev/null +++ b/cmd/skywire-node/skywire-node.go @@ -0,0 +1,10 @@ +/* +skywire application node +*/ +package main + +import "github.com/skycoin/skywire/cmd/skywire-node/commands" + +func main() { + commands.Execute() +} diff --git a/cmd/therealssh-cli/README.org b/cmd/therealssh-cli/README.org new file mode 100644 index 000000000..2f6c110f6 --- /dev/null +++ b/cmd/therealssh-cli/README.org @@ -0,0 +1,5 @@ +* CLI for SSH app + +~therealssh-cli~ implements PTY related operations for SSH app. It +connects to SSH client's RPC server, configures terminal for raw pty +data and handles pty data exchange. diff --git a/cmd/therealssh-cli/commands/root.go b/cmd/therealssh-cli/commands/root.go new file mode 100644 index 000000000..aff40b405 --- /dev/null +++ b/cmd/therealssh-cli/commands/root.go @@ -0,0 +1,142 @@ +package commands + +import ( + "fmt" + "io" + "log" + "net" + "net/rpc" + "os" + "os/signal" + "os/user" + "strings" + "syscall" + "time" + + "github.com/kr/pty" + "github.com/spf13/cobra" + "golang.org/x/crypto/ssh/terminal" + + "github.com/skycoin/skywire/pkg/cipher" + + ssh "github.com/skycoin/skywire/internal/therealssh" +) + +var ( + rpcAddr string +) + +var rootCmd = &cobra.Command{ + Use: "therealssh-cli [user@]remotePK [command] [args...]", + Short: "Client for the therealssh-client app", + Args: cobra.MinimumNArgs(1), + Run: func(_ *cobra.Command, args []string) { + client, err := rpc.DialHTTP("tcp", rpcAddr) + if err != nil { + log.Fatal("RPC connection failed:", err) + } + + size, err := pty.GetsizeFull(os.Stdin) + if err != nil { + log.Fatal("Failed to get TTY size:", err) + } + + username, pk, err := resolveUser(args[0]) + if err != nil { + log.Fatal("Invalid user/pk pair: ", err) + } + + remotePK := cipher.PubKey{} + if err := remotePK.UnmarshalText([]byte(pk)); err != nil { + log.Fatal("Invalid remote PubKey: ", err) + } + + ptyArgs := &ssh.RequestPTYArgs{Username: username, RemotePK: remotePK, Size: size} + var channelID uint32 + if err := client.Call("RPCClient.RequestPTY", ptyArgs, &channelID); err != nil { + log.Fatal("Failed to request PTY:", err) + } + defer client.Call("RPCClient.Close", &channelID, nil) // nolint: errcheck + + var socketPath string + execArgs := &ssh.ExecArgs{ChannelID: channelID, CommandWithArgs: args[1:]} + if err := client.Call("RPCClient.Exec", execArgs, &socketPath); err != nil { + log.Fatal("Failed to start shell:", err) + } + + var conn net.Conn + for i := 0; i < 5; i++ { + conn, err = net.DialUnix("unix", nil, &net.UnixAddr{Name: socketPath, Net: "unix"}) + if err == nil { + break + } + + time.Sleep(time.Second) + } + if err != nil { + log.Fatal("Failed dial ssh socket:", err) + } + + ch := make(chan os.Signal) + signal.Notify(ch, syscall.SIGWINCH) + go func() { + for range ch { + size, err := pty.GetsizeFull(os.Stdin) + if err != nil { + log.Println("Failed to change pty size: ", err) + return + } + + var result int + if err := client.Call("RPCClient.WindowChange", &ssh.WindowChangeArgs{ChannelID: channelID, Size: size}, &result); err != nil { + log.Println("Failed to change pty size: ", err) + } + } + }() + + oldState, err := terminal.MakeRaw(int(os.Stdin.Fd())) + if err != nil { + log.Fatal("Failed to set terminal to raw mode:", err) + } + defer terminal.Restore(int(os.Stdin.Fd()), oldState) // nolint + + go func() { + if _, err := io.Copy(conn, os.Stdin); err != nil { + log.Fatal("Failed to write to ssh socket:", err) + } + }() + + if _, err := io.Copy(os.Stdout, conn); err != nil { + log.Fatal("Failed to read from ssh socket:", err) + } + }, +} + +func resolveUser(arg string) (username string, pk string, err error) { + components := strings.Split(arg, "@") + if len(components) == 1 { + if u, uErr := user.Current(); uErr != nil { + err = fmt.Errorf("failed to resolve current user: %s", uErr) + } else { + username = u.Username + pk = components[0] + } + + return + } + + username = components[0] + pk = components[1] + return +} + +func init() { + rootCmd.Flags().StringVarP(&rpcAddr, "rpc", "", ":2222", "RPC address to connect to") +} + +// Execute executes root CLI command. +func Execute() { + if err := rootCmd.Execute(); err != nil { + log.Fatal(err) + } +} diff --git a/cmd/therealssh-cli/therealssh-cli.go b/cmd/therealssh-cli/therealssh-cli.go new file mode 100644 index 000000000..56dd20d10 --- /dev/null +++ b/cmd/therealssh-cli/therealssh-cli.go @@ -0,0 +1,12 @@ +/* +CLI for SSH app +*/ +package main + +import ( + "github.com/skycoin/skywire/cmd/therealssh-cli/commands" +) + +func main() { + commands.Execute() +} diff --git a/go.mod b/go.mod new file mode 100644 index 000000000..f4006c47c --- /dev/null +++ b/go.mod @@ -0,0 +1,24 @@ +module github.com/skycoin/skywire + +require ( + github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 + github.com/flynn/noise v0.0.0-20180327030543-2492fe189ae6 + github.com/go-chi/chi v4.0.1+incompatible + github.com/google/uuid v1.1.0 + github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d + github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/kr/pty v1.1.3 + github.com/mattn/go-colorable v0.1.0 // indirect + github.com/mattn/go-isatty v0.0.4 // indirect + github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b // indirect + github.com/mitchellh/go-homedir v1.1.0 + github.com/sirupsen/logrus v1.3.0 // indirect + github.com/skycoin/skycoin v0.25.1 + github.com/spf13/cobra v0.0.3 + github.com/spf13/pflag v1.0.3 // indirect + github.com/stretchr/testify v1.3.0 + go.etcd.io/bbolt v1.3.2 + golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2 + golang.org/x/net v0.0.0-20190213061140-3a22650c66bd + golang.org/x/sys v0.0.0-20190220154126-629670e5acc5 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 000000000..14920faf7 --- /dev/null +++ b/go.sum @@ -0,0 +1,53 @@ +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= +github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/flynn/noise v0.0.0-20180327030543-2492fe189ae6 h1:u/UEqS66A5ckRmS4yNpjmVH56sVtS/RfclBAYocb4as= +github.com/flynn/noise v0.0.0-20180327030543-2492fe189ae6/go.mod h1:1i71OnUq3iUe1ma7Lr6yG6/rjvM3emb6yoL7xLFzcVQ= +github.com/go-chi/chi v4.0.1+incompatible h1:RSRC5qmFPtO90t7pTL0DBMNpZFsb/sHF3RXVlDgFisA= +github.com/go-chi/chi v4.0.1+incompatible/go.mod h1:eB3wogJHnLi3x/kFX2A+IbTBlXxmMeXJVKy9tTv1XzQ= +github.com/google/uuid v1.1.0 h1:Jf4mxPC/ziBnoPIdpQdPJ9OeiomAUHLvxmPRSPH9m4s= +github.com/google/uuid v1.1.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d h1:kJCB4vdITiW1eC1vq2e6IsrXKrZit1bv/TDYFGMp4BQ= +github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= +github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/pty v1.1.3 h1:/Um6a/ZmD5tF7peoOJ5oN5KMQ0DrGVQSXLNwyckutPk= +github.com/kr/pty v1.1.3/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/mattn/go-colorable v0.1.0 h1:v2XXALHHh6zHfYTJ+cSkwtyffnaOyR1MXaA91mTrb8o= +github.com/mattn/go-colorable v0.1.0/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-isatty v0.0.4 h1:bnP0vzxcAdeI1zdubAl5PjU6zsERjGZb7raWodagDYs= +github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b h1:j7+1HpAFS1zy5+Q4qx1fWh90gTKwiN4QCGoY9TWyyO4= +github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= +github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/sirupsen/logrus v1.3.0 h1:hI/7Q+DtNZ2kINb6qt/lS+IyXnHQe9e90POfeewL/ME= +github.com/sirupsen/logrus v1.3.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/skycoin/skycoin v0.25.1 h1:4tYXHiTX00pFydjUWHmqSnAYfrJ59xsa9pfmEu7tki8= +github.com/skycoin/skycoin v0.25.1/go.mod h1:78nHjQzd8KG0jJJVL/j0xMmrihXi70ti63fh8vXScJw= +github.com/spf13/cobra v0.0.3 h1:ZlrZ4XsMRm04Fr5pSFxBgfND2EBVa1nLpiy1stUsX/8= +github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +go.etcd.io/bbolt v1.3.2 h1:Z/90sZLPOeCy2PwprqkFa25PdkusRzaj9P8zm/KNyvk= +go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2 h1:NwxKRvbkH5MsNkvOtPZi3/3kmI8CAzs3mtv+GLQMkNo= +golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd h1:HuTn7WObtcDo9uEEU7rEqL0jYthdXAmZ6PP+meazmaU= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190220154126-629670e5acc5 h1:3Nsfe5Xa1wTt01QxlAFIY5j9ycDtS+d7mhvI8ZY5bn0= +golang.org/x/sys v0.0.0-20190220154126-629670e5acc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= diff --git a/internal/httpauth/auth.go b/internal/httpauth/auth.go new file mode 100644 index 000000000..a004e9036 --- /dev/null +++ b/internal/httpauth/auth.go @@ -0,0 +1,82 @@ +package httpauth + +import ( + "errors" + "fmt" + "net/http" + "strconv" + + "github.com/skycoin/skywire/pkg/cipher" +) + +// Nonce is used to sign requests in order to avoid replay attack +type Nonce uint64 + +func (n Nonce) String() string { return fmt.Sprintf("%d", n) } + +// Auth holds authentication mandatory values +type Auth struct { + Key cipher.PubKey + Nonce Nonce + Sig cipher.Sig +} + +// AuthFromHeaders attempts to extract auth from request header +func AuthFromHeaders(hdr http.Header) (*Auth, error) { + a := &Auth{} + var v string + + if v = hdr.Get("SW-Public"); v == "" { + return nil, errors.New("SW-Public missing") + } + key := cipher.PubKey{} + if err := key.UnmarshalText([]byte(v)); err != nil { + return nil, fmt.Errorf("Error parsing SW-Public: %s", err.Error()) + } + a.Key = key + + if v = hdr.Get("SW-Sig"); v == "" { + return nil, errors.New("SW-Sig missing") + } + sig := cipher.Sig{} + if err := sig.UnmarshalText([]byte(v)); err != nil { + return nil, fmt.Errorf("Error parsing SW-Sig:'%s': %s", v, err.Error()) + } + a.Sig = sig + + nonceStr := hdr.Get("SW-Nonce") + if nonceStr == "" { + return nil, errors.New("SW-Nonce missing") + } + nonceUint, err := strconv.ParseUint(nonceStr, 10, 64) + if err != nil { + if numErr, ok := err.(*strconv.NumError); ok { + return nil, fmt.Errorf("Error parsing SW-Nonce: %s", numErr.Err.Error()) + } + + return nil, fmt.Errorf("Error parsing SW-Nonce: %s", err.Error()) + } + a.Nonce = Nonce(nonceUint) + + return a, nil +} + +// Verify verifies signature of a payload. +func (a *Auth) Verify(in []byte) error { + return Verify(in, a.Nonce, a.Key, a.Sig) +} + +// PayloadWithNonce returns the concatenation of payload and nonce. +func PayloadWithNonce(payload []byte, nonce Nonce) []byte { + return []byte(fmt.Sprintf("%s%d", string(payload), nonce)) +} + +// Sign signs the Hash of payload and nonce +func Sign(payload []byte, nonce Nonce, sec cipher.SecKey) (cipher.Sig, error) { + return cipher.SignPayload(PayloadWithNonce(payload, nonce), sec) +} + +// Verify verifies the signature of the hash of payload and nonce +func Verify(payload []byte, nonce Nonce, pub cipher.PubKey, sig cipher.Sig) error { + return cipher.VerifyPubKeySignedPayload(pub, sig, PayloadWithNonce(payload, nonce)) +} diff --git a/internal/httpauth/client.go b/internal/httpauth/client.go new file mode 100644 index 000000000..614034f99 --- /dev/null +++ b/internal/httpauth/client.go @@ -0,0 +1,179 @@ +package httpauth + +import ( + "bytes" + "context" + "encoding/json" + "errors" + "fmt" + "io" + "io/ioutil" + "net/http" + "net/url" + "strconv" + "strings" + "sync/atomic" + + "github.com/skycoin/skywire/pkg/cipher" +) + +// NextNonceResponse represents a ServeHTTP response for json encoding +type NextNonceResponse struct { + Edge cipher.PubKey `json:"edge"` + NextNonce Nonce `json:"next_nonce"` +} + +// HTTPResponse represents the http response struct +type HTTPResponse struct { + Error *HTTPError `json:"error,omitempty"` + Data interface{} `json:"data,omitempty"` +} + +// HTTPError is included in an HTTPResponse +type HTTPError struct { + Message string `json:"message"` + Code int `json:"code"` +} + +// Client implements Client for auth services. +type Client struct { + client http.Client + key cipher.PubKey + sec cipher.SecKey + Addr string // sanitized address of the client, which may differ from addr used in NewClient + nonce uint64 +} + +// NewClient creates a new client setting a public key to the client to be used for Auth. +// When keys are set, the client will sign request before submitting. +// The signature information is transmitted in the header using: +// * SW-Public: The specified public key +// * SW-Nonce: The nonce for that public key +// * SW-Sig: The signature of the payload + the nonce +func NewClient(ctx context.Context, addr string, key cipher.PubKey, sec cipher.SecKey) (*Client, error) { + c := &Client{ + client: http.Client{}, + key: key, + sec: sec, + Addr: sanitizedAddr(addr), + } + + // request server for a nonce + nonce, err := c.Nonce(ctx, c.key) + if err != nil { + return nil, err + } + c.nonce = uint64(nonce) + + return c, nil +} + +// Do performs a new authenticated Request and returns the response. Internally, if the request was +// successful nonce is incremented +func (c *Client) Do(req *http.Request) (*http.Response, error) { + req.Header.Add("SW-Public", c.key.Hex()) + + // use nonce, later, if no err from req update such nonce + req.Header.Add("SW-Nonce", strconv.FormatUint(uint64(c.getCurrentNonce()), 10)) + + body := make([]byte, 0) + if req.ContentLength != 0 { + auxBody, err := ioutil.ReadAll(req.Body) + if err != nil { + return nil, err + } + req.Body.Close() + req.Body = ioutil.NopCloser(bytes.NewBuffer(auxBody)) + body = auxBody + } + sign, err := Sign(body, c.getCurrentNonce(), c.sec) + if err != nil { + return nil, err + } + + req.Header.Add("SW-Sig", sign.Hex()) + + res, err := c.client.Do(req) + if err != nil { + return nil, err + } + + if res.StatusCode == http.StatusOK { + c.incrementNonce() + } + + return res, nil +} + +// Nonce calls the remote API to retrieve the next expected nonce +func (c *Client) Nonce(ctx context.Context, key cipher.PubKey) (Nonce, error) { + req, err := http.NewRequest(http.MethodGet, c.Addr+"/security/nonces/"+key.Hex(), nil) + if err != nil { + return 0, err + } + req = req.WithContext(ctx) + + resp, err := c.client.Do(req) + if err != nil { + return 0, err + } + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + return 0, fmt.Errorf("error getting current nonce: status: %d <- %v", resp.StatusCode, extractError(resp.Body)) + } + + var nr NextNonceResponse + if err := json.NewDecoder(resp.Body).Decode(&nr); err != nil { + return 0, err + } + + return Nonce(nr.NextNonce), nil +} + +// SetNonce sets client current nonce to given nonce +func (c *Client) SetNonce(n Nonce) { + atomic.StoreUint64(&c.nonce, uint64(n)) +} + +func (c *Client) getCurrentNonce() Nonce { + return Nonce(c.nonce) +} + +func (c *Client) incrementNonce() { + atomic.AddUint64(&c.nonce, 1) +} + +func sanitizedAddr(addr string) string { + if addr == "" { + return "http://localhost" + } + + u, err := url.Parse(addr) + if err != nil { + return "http://localhost" + } + + if u.Scheme == "" { + u.Scheme = "http" + } + + u.Path = strings.TrimSuffix(u.Path, "/") + return u.String() +} + +// extractError returns the decoded error message from Body. +func extractError(r io.Reader) error { + var serverError HTTPResponse + + body, err := ioutil.ReadAll(r) + if err != nil { + return err + } + + if err := json.Unmarshal(body, &serverError); err != nil { + return errors.New(string(body)) + } + + return errors.New(serverError.Error.Message) +} diff --git a/internal/httpauth/client_test.go b/internal/httpauth/client_test.go new file mode 100644 index 000000000..70a95eb64 --- /dev/null +++ b/internal/httpauth/client_test.go @@ -0,0 +1,48 @@ +package httpauth + +import ( + "context" + "encoding/json" + "fmt" + "io/ioutil" + "net/http" + "net/http/httptest" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/cipher" +) + +func TestClient(t *testing.T) { + pk, sk := cipher.GenerateKeyPair() + + ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if r.URL.String() == fmt.Sprintf("/security/nonces/%s", pk) { + json.NewEncoder(w).Encode(&NextNonceResponse{pk, 1}) // nolint: errcheck + } else { + require.Equal(t, "1", r.Header.Get("Sw-Nonce")) + require.Equal(t, pk.Hex(), r.Header.Get("Sw-Public")) + sig := cipher.Sig{} + require.NoError(t, sig.UnmarshalText([]byte(r.Header.Get("Sw-Sig")))) + require.NoError(t, cipher.VerifyPubKeySignedPayload(pk, sig, PayloadWithNonce([]byte{}, 1))) + fmt.Fprintln(w, "Hello, client") + } + })) + defer ts.Close() + + c, err := NewClient(context.TODO(), ts.URL, pk, sk) + require.NoError(t, err) + + req, err := http.NewRequest("GET", ts.URL+"/foo", nil) + require.NoError(t, err) + res, err := c.Do(req) + require.NoError(t, err) + + b, err := ioutil.ReadAll(res.Body) + require.NoError(t, err) + res.Body.Close() + assert.Equal(t, []byte("Hello, client\n"), b) + assert.Equal(t, uint64(2), c.nonce) +} diff --git a/internal/httputil/json.go b/internal/httputil/json.go new file mode 100644 index 000000000..3a968dc6e --- /dev/null +++ b/internal/httputil/json.go @@ -0,0 +1,45 @@ +package httputil + +import ( + "encoding/json" + "fmt" + "net/http" +) + +// WriteJSON writes a json object on a http.ResponseWriter with the given code, +// panics on marshaling error +func WriteJSON(w http.ResponseWriter, r *http.Request, code int, v interface{}) { + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(code) + enc := json.NewEncoder(w) + if pretty, _ := BoolFromQuery(r, "pretty", false); pretty { //nolint:errcheck + enc.SetIndent("", " ") + } + if err, ok := v.(error); ok { + v = map[string]interface{}{"error": err.Error()} + } + if err := json.NewEncoder(w).Encode(v); err != nil { + panic(err) + } +} + +// ReadJSON reads the request body to a json object. +func ReadJSON(r *http.Request, v interface{}) error { + dec := json.NewDecoder(r.Body) + dec.DisallowUnknownFields() + return dec.Decode(v) +} + +// BoolFromQuery obtains a boolean from a query entry. +func BoolFromQuery(r *http.Request, key string, defaultVal bool) (bool, error) { + switch q := r.URL.Query().Get(key); q { + case "true", "on", "1": + return true, nil + case "false", "off", "0": + return false, nil + case "": + return defaultVal, nil + default: + return false, fmt.Errorf("invalid '%s' query value of '%s'", key, q) + } +} diff --git a/internal/ioutil/ack.go b/internal/ioutil/ack.go new file mode 100644 index 000000000..be5bad8ec --- /dev/null +++ b/internal/ioutil/ack.go @@ -0,0 +1,268 @@ +package ioutil + +import ( + "bytes" + "errors" + "io" + "math" + "sync" + "time" + + "github.com/skycoin/skywire/pkg/cipher" +) + +// DataPacketType defines types of data packets. +type DataPacketType byte + +const ( + // DataPacketPayload represents Payload data packet. + DataPacketPayload DataPacketType = iota + // DataPacketAck represents Ack data packet. + DataPacketAck +) + +// ErrClosed is the error used for read or write operations on a closed ReadWriter. +var ErrClosed = errors.New("read/write: closed") + +// AckReadWriter is an io.ReadWriter wrapper that implements ack logic +// for writes. Writes are blocked till Ack packets are received, CRC +// check is performed using SHA256. Ack packets are either sent along +// with subsequent writes or flushed each ackInterval. +type AckReadWriter struct { + rw io.ReadWriteCloser + + sndAcks *ackList + rcvAcks *ackList + + readChan chan []byte + errChan chan error + buf *bytes.Buffer + doneChan chan struct{} + ackInterval time.Duration +} + +// NewAckReadWriter constructs a new AckReadWriter. +func NewAckReadWriter(rw io.ReadWriteCloser, ackInterval time.Duration) *AckReadWriter { + arw := &AckReadWriter{ + rw: rw, + sndAcks: newAckList(), + rcvAcks: newAckList(), + doneChan: make(chan struct{}), + readChan: make(chan []byte), + errChan: make(chan error), + ackInterval: ackInterval, + buf: new(bytes.Buffer), + } + go arw.serveLoop() + return arw +} + +func (arw *AckReadWriter) Write(p []byte) (n int, err error) { + errCh := make(chan error) + seq := arw.sndAcks.push(&ack{errCh, cipher.SumSHA256(p)}) + packet := append([]byte{byte(DataPacketPayload), seq}, p...) + + _, _, buf := arw.ackPacket() + buf = append(buf, packet...) + n, err = arw.rw.Write(buf) + if err != nil { + return + } + + if n != len(buf) { + err = io.ErrShortWrite + return + } + + select { + case <-arw.doneChan: + return 0, ErrClosed + case err = <-errCh: + return len(p), err + } +} + +func (arw *AckReadWriter) Read(p []byte) (n int, err error) { + if arw.buf.Len() != 0 { + return arw.buf.Read(p) + } + + select { + case <-arw.doneChan: + return 0, io.EOF + case err := <-arw.errChan: + return 0, err + case data, more := <-arw.readChan: + if !more { + return 0, io.EOF + } + + time.AfterFunc(arw.ackInterval, arw.flush) + + if len(data) > len(p) { + if _, err := arw.buf.Write(data[len(p):]); err != nil { + return 0, io.ErrShortBuffer + } + + return copy(p, data[:len(p)]), nil + } + + return copy(p, data), nil + } +} + +// Close implements io.Closer for AckReadWriter. +func (arw *AckReadWriter) Close() error { + select { + case <-arw.doneChan: + default: + arw.flush() + close(arw.doneChan) + close(arw.readChan) + } + + return arw.rw.Close() +} + +func (arw *AckReadWriter) serveLoop() { + buf := make([]byte, 100*1024) + for { + n, err := arw.rw.Read(buf) + if err != nil { + select { + case <-arw.doneChan: + case arw.errChan <- err: + } + return + } + + data := buf[:n] + for { + if len(data) == 0 || DataPacketType(data[0]) == DataPacketPayload { + break + } + + go arw.confirm(data[1], data[2:34]) + data = data[34:] + } + + if len(data) == 0 { + continue + } + + arw.rcvAcks.set(data[1], &ack{nil, cipher.SumSHA256(data[2:])}) + go func() { + select { + case <-arw.doneChan: + case arw.readChan <- data[2:]: + } + }() + } +} + +func (arw *AckReadWriter) ackPacket() ([]byte, []*ack, []byte) { + buf := make([]byte, 0) + acks := make([]*ack, 0) + seqs := make([]byte, 0) + for { + seq, ack := arw.rcvAcks.pull() + if ack == nil { + break + } + + buf = append([]byte{byte(DataPacketAck), seq}, ack.hash[:]...) + acks = append(acks, ack) + seqs = append(seqs, seq) + } + + return seqs, acks, buf +} + +func (arw *AckReadWriter) confirm(seq byte, hash []byte) { + ack := arw.sndAcks.remove(seq) + if ack == nil { + return + } + + rcvHash, err := cipher.SHA256FromBytes(hash) + if err != nil { + ack.errChan <- err + return + } + + if ack.hash != rcvHash { + ack.errChan <- errors.New("invalid CRC") + } + + ack.errChan <- nil +} + +func (arw *AckReadWriter) flush() { + seqs, acks, p := arw.ackPacket() + if len(p) == 0 { + return + } + + if _, err := arw.rw.Write(p); err != nil { + for idx, ack := range acks { + arw.rcvAcks.set(seqs[idx], ack) + } + } +} + +type ack struct { + errChan chan error + hash cipher.SHA256 +} + +type ackList struct { + sync.Mutex + + acks []*ack +} + +func newAckList() *ackList { + return &ackList{acks: make([]*ack, math.MaxUint8)} +} + +func (al *ackList) push(a *ack) byte { + al.Lock() + defer al.Unlock() + + for i := byte(0); i < math.MaxUint8; i++ { + if al.acks[i] == nil { + al.acks[i] = a + return i + } + } + + panic("too many packets in flight") +} + +func (al *ackList) pull() (byte, *ack) { + al.Lock() + defer al.Unlock() + + for seq, ack := range al.acks { + if ack != nil { + al.acks[seq] = nil + return byte(seq), ack + } + } + + return 0, nil +} + +func (al *ackList) set(seq byte, a *ack) { + al.Lock() + al.acks[seq] = a + al.Unlock() +} + +func (al *ackList) remove(seq byte) *ack { + al.Lock() + a := al.acks[seq] + al.acks[seq] = nil + al.Unlock() + return a +} diff --git a/internal/ioutil/ack_test.go b/internal/ioutil/ack_test.go new file mode 100644 index 000000000..3c2a21205 --- /dev/null +++ b/internal/ioutil/ack_test.go @@ -0,0 +1,152 @@ +package ioutil + +import ( + "io" + "net" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/cipher" +) + +func TestAckReadWriter(t *testing.T) { + in, out := net.Pipe() + rw1 := NewAckReadWriter(in, 100*time.Millisecond) + rw2 := NewAckReadWriter(out, 100*time.Millisecond) + + errCh := make(chan error) + go func() { + _, err := rw1.Write([]byte("foo")) + errCh <- err + }() + + buf := make([]byte, 3) + n, err := rw2.Read(buf) + require.NoError(t, err) + assert.Equal(t, 3, n) + assert.Equal(t, []byte("foo"), buf) + + errCh2 := make(chan error) + go func() { + _, err = rw2.Write([]byte("bar")) + errCh2 <- err + }() + + require.NoError(t, <-errCh) + + buf = make([]byte, 3) + n, err = rw1.Read(buf) + require.NoError(t, err) + assert.Equal(t, 3, n) + assert.Equal(t, []byte("bar"), buf) + + require.NoError(t, rw1.Close()) + require.NoError(t, <-errCh2) + require.NoError(t, rw2.Close()) +} + +func TestAckReadWriterCRCFailure(t *testing.T) { + in, out := net.Pipe() + rw1 := NewAckReadWriter(in, 100*time.Millisecond) + rw2 := NewAckReadWriter(out, 100*time.Millisecond) + + errCh := make(chan error) + go func() { + _, err := rw1.Write([]byte("foo")) + errCh <- err + }() + + buf := make([]byte, 3) + n, err := rw2.Read(buf) + require.NoError(t, err) + assert.Equal(t, 3, n) + assert.Equal(t, []byte("foo"), buf) + + rw2.rcvAcks.set(0, &ack{nil, cipher.SumSHA256([]byte("bar"))}) + + go rw2.Write([]byte("bar")) // nolint: errcheck + + err = <-errCh + require.Error(t, err) + assert.Equal(t, "invalid CRC", err.Error()) + + buf = make([]byte, 3) + n, err = rw1.Read(buf) + require.NoError(t, err) + assert.Equal(t, 3, n) + assert.Equal(t, []byte("bar"), buf) + + require.NoError(t, rw1.Close()) + require.NoError(t, rw2.Close()) +} + +func TestAckReadWriterFlushOnClose(t *testing.T) { + in, out := net.Pipe() + rw1 := NewAckReadWriter(in, 100*time.Millisecond) + rw2 := NewAckReadWriter(out, 100*time.Millisecond) + + errCh := make(chan error) + go func() { + _, err := rw1.Write([]byte("foo")) + errCh <- err + }() + + buf := make([]byte, 3) + n, err := rw2.Read(buf) + require.NoError(t, err) + assert.Equal(t, 3, n) + assert.Equal(t, []byte("foo"), buf) + + require.NoError(t, rw2.Close()) + require.NoError(t, <-errCh) + + require.NoError(t, rw1.Close()) +} + +func TestAckReadWriterPartialRead(t *testing.T) { + in, out := net.Pipe() + rw1 := NewAckReadWriter(in, 100*time.Millisecond) + rw2 := NewAckReadWriter(out, 100*time.Millisecond) + + errCh := make(chan error) + go func() { + _, err := rw1.Write([]byte("foo")) + errCh <- err + }() + + buf := make([]byte, 2) + n, err := rw2.Read(buf) + require.NoError(t, err) + assert.Equal(t, 2, n) + assert.Equal(t, []byte("fo"), buf) + + n, err = rw2.Read(buf) + require.NoError(t, err) + assert.Equal(t, 1, n) + assert.Equal(t, []byte("o"), buf[:n]) + + require.NoError(t, rw2.Close()) + require.NoError(t, rw1.Close()) +} + +func TestAckReadWriterReadError(t *testing.T) { + in, out := net.Pipe() + rw := NewAckReadWriter(in, 100*time.Millisecond) + + errCh := make(chan error) + go func() { + _, err := rw.Read([]byte{}) + errCh <- err + }() + + require.NoError(t, out.Close()) + + err := <-errCh + require.Error(t, err) + assert.Equal(t, io.EOF, err) + + require.NoError(t, rw.Close()) +} diff --git a/internal/ioutil/len_read_writer.go b/internal/ioutil/len_read_writer.go new file mode 100644 index 000000000..8b3a7d779 --- /dev/null +++ b/internal/ioutil/len_read_writer.go @@ -0,0 +1,61 @@ +package ioutil + +import ( + "bytes" + "encoding/binary" + "io" +) + +// LenReadWriter writes len prepended packets and always reads whole +// packet. If read buffer is smaller than packet, LenReadWriter will +// buffer unread part and will return it first in subsequent reads. +type LenReadWriter struct { + io.ReadWriter + buf *bytes.Buffer +} + +// NewLenReadWriter constructs a new LenReadWriter. +func NewLenReadWriter(rw io.ReadWriter) *LenReadWriter { + return &LenReadWriter{rw, new(bytes.Buffer)} +} + +// ReadPacket returns single received len prepended packet. +func (rw *LenReadWriter) ReadPacket() (data []byte, err error) { + var size uint16 + if err = binary.Read(rw.ReadWriter, binary.BigEndian, &size); err != nil { + return + } + + data = make([]byte, size) + _, err = io.ReadFull(rw.ReadWriter, data) + return data, err +} + +func (rw *LenReadWriter) Read(p []byte) (n int, err error) { + if rw.buf.Len() != 0 { + return rw.buf.Read(p) + } + + var data []byte + data, err = rw.ReadPacket() + if err != nil { + return + } + + if len(data) > len(p) { + if _, err := rw.buf.Write(data[len(p):]); err != nil { + return 0, io.ErrShortBuffer + } + + return copy(p, data[:len(p)]), nil + } + + return copy(p, data), nil +} + +func (rw *LenReadWriter) Write(p []byte) (n int, err error) { + buf := make([]byte, 2) + binary.BigEndian.PutUint16(buf, uint16(len(p))) + n, err = rw.ReadWriter.Write(append(buf, p...)) + return n - 2, err +} diff --git a/internal/ioutil/len_read_writer_test.go b/internal/ioutil/len_read_writer_test.go new file mode 100644 index 000000000..66476f3ff --- /dev/null +++ b/internal/ioutil/len_read_writer_test.go @@ -0,0 +1,54 @@ +package ioutil + +import ( + "net" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func TestLenReadWriter(t *testing.T) { + in, out := net.Pipe() + rwIn := NewLenReadWriter(in) + rwOut := NewLenReadWriter(out) + + errCh := make(chan error) + go func() { + _, err := rwIn.Write([]byte("foo")) + errCh <- err + }() + + buf := make([]byte, 2) + n, err := rwOut.Read(buf) + require.NoError(t, err) + require.NoError(t, <-errCh) + assert.Equal(t, 2, n) + assert.Equal(t, []byte("fo"), buf) + + buf = make([]byte, 2) + n, err = rwOut.Read(buf) + require.NoError(t, err) + assert.Equal(t, 1, n) + assert.Equal(t, []byte("o"), buf[:n]) + + go func() { + _, err := rwIn.Write([]byte("foo")) + errCh <- err + }() + + packet, err := rwOut.ReadPacket() + require.NoError(t, err) + require.NoError(t, <-errCh) + assert.Equal(t, []byte("foo"), packet) + + go func() { + _, err := rwOut.ReadPacket() + errCh <- err + }() + + n, err = rwIn.Write([]byte("bar")) + require.NoError(t, err) + require.NoError(t, <-errCh) + assert.Equal(t, 3, n) +} diff --git a/internal/noise/dh.go b/internal/noise/dh.go new file mode 100644 index 000000000..6da7ab693 --- /dev/null +++ b/internal/noise/dh.go @@ -0,0 +1,37 @@ +package noise + +import ( + "io" + + "github.com/flynn/noise" + "github.com/skycoin/skycoin/src/cipher" +) + +// Secp256k1 implements `noise.DHFunc`. +type Secp256k1 struct{} + +// GenerateKeypair helps to implement `noise.DHFunc`. +func (Secp256k1) GenerateKeypair(_ io.Reader) (noise.DHKey, error) { + pk, sk := cipher.GenerateKeyPair() + return noise.DHKey{ + Private: sk[:], + Public: pk[:], + }, nil +} + +// DH helps to implement `noise.DHFunc`. +func (Secp256k1) DH(sk, pk []byte) []byte { + return append( + cipher.MustECDH(cipher.MustNewPubKey(pk), cipher.MustNewSecKey(sk)), + byte(0)) +} + +// DHLen helps to implement `noise.DHFunc`. +func (Secp256k1) DHLen() int { + return 33 +} + +// DHName helps to implement `noise.DHFunc`. +func (Secp256k1) DHName() string { + return "Secp256k1" +} diff --git a/internal/noise/net.go b/internal/noise/net.go new file mode 100644 index 000000000..06a4659df --- /dev/null +++ b/internal/noise/net.go @@ -0,0 +1,257 @@ +package noise + +import ( + "bytes" + "errors" + "math" + "net" + "net/rpc" + "sync" + "time" + + "github.com/flynn/noise" + + "github.com/skycoin/skywire/pkg/cipher" +) + +var ( + // ErrAlreadyServing is returned when an operation fails due to an operation + // that is currently running. + ErrAlreadyServing = errors.New("already serving") + + // ErrPacketTooBig occurs when data is too large. + ErrPacketTooBig = errors.New("data too large to contain within a packet") + + // HandshakeXK is the XK handshake pattern. + HandshakeXK = noise.HandshakeXK + + // HandshakeKK is the KK handshake pattern. + HandshakeKK = noise.HandshakeKK +) + +// RPCClientDialer attempts to redial to a remotely served RPCClient. +// It exposes an RPCServer to the remote server. +// The connection is encrypted via noise. +type RPCClientDialer struct { + config Config + pattern noise.HandshakePattern + addr string + conn net.Conn + mu sync.Mutex + done chan struct{} // nil: loop is not running, non-nil: loop is running. +} + +// NewRPCClientDialer creates a new RPCClientDialer. +func NewRPCClientDialer(addr string, pattern noise.HandshakePattern, config Config) *RPCClientDialer { + return &RPCClientDialer{config: config, pattern: pattern, addr: addr} +} + +// Run repeatedly dials to remote until a successful connection is established. +// It exposes a RPC Server. +// It will return if Close is called or crypto fails. +func (d *RPCClientDialer) Run(srv *rpc.Server, retry time.Duration) error { + if ok := d.setDone(); !ok { + return ErrAlreadyServing + } + for { + if err := d.establishConn(); err != nil { + // Only return if not network error. + if _, ok := err.(net.Error); !ok { + return err + } + } else { + // Only serve when then dial succeeds. + srv.ServeConn(d.conn) + d.setConn(nil) + } + select { + case <-d.done: + d.clearDone() + return nil + case <-time.After(retry): + } + } +} + +// Close closes the handler. +func (d *RPCClientDialer) Close() (err error) { + d.mu.Lock() + if d.done != nil { + close(d.done) + } + if d.conn != nil { + err = d.conn.Close() + } + d.mu.Unlock() + return +} + +// This operation should be atomic, hence protected by mutex. +func (d *RPCClientDialer) establishConn() error { + d.mu.Lock() + defer d.mu.Unlock() + + conn, err := net.Dial("tcp", d.addr) + if err != nil { + return err + } + ns, err := New(d.pattern, d.config) + if err != nil { + return err + } + conn, err = WrapConn(conn, ns, time.Second*5) + if err != nil { + return err + } + d.conn = conn + return nil +} + +func (d *RPCClientDialer) setConn(conn net.Conn) { + d.mu.Lock() + d.conn = conn + d.mu.Unlock() +} + +func (d *RPCClientDialer) setDone() (ok bool) { + d.mu.Lock() + if ok = d.done == nil; ok { + d.done = make(chan struct{}) + } + d.mu.Unlock() + return +} + +func (d *RPCClientDialer) clearDone() { + d.mu.Lock() + d.done = nil + d.mu.Unlock() +} + +// Addr is the address of a either an AppNode or ManagerNode. +type Addr struct { + PK cipher.PubKey + Addr net.Addr +} + +// Network returns the network type. +func (a Addr) Network() string { + return "noise" +} + +// String implements fmt.Stringer +func (a Addr) String() string { + return a.Addr.String() + "(" + a.PK.Hex() + ")" +} + +// Conn wraps a net.Conn and encrypts the connection with noise. +type Conn struct { + net.Conn + buf bytes.Buffer + rMu sync.Mutex + wMu sync.Mutex + ns *ReadWriter +} + +// WrapConn wraps a provided net.Conn with noise. +func WrapConn(conn net.Conn, ns *Noise, hsTimeout time.Duration) (*Conn, error) { + rw := NewReadWriter(conn, ns) + if err := rw.Handshake(hsTimeout); err != nil { + return nil, err + } + return &Conn{Conn: conn, ns: rw}, nil +} + +// Read reads from the noise-encrypted connection. +func (c *Conn) Read(b []byte) (int, error) { + c.rMu.Lock() + defer c.rMu.Unlock() + // First check buffer. + if c.buf.Len() > 0 { + return c.buf.Read(b) + } + // Grab packet, and copy to 'b'. + // If packet is too large, copy len(b) and Write the rest to buffer. + plainText, err := c.ns.ReadPacketUnsafe() + if err != nil { + return 0, err + } + n := copy(b, plainText) + if n < len(plainText) { + c.buf.Write(plainText[n:]) // Will panic if buffer is too large. + } + return n, nil +} + +// Write writes to the noise-encrypted connection. +func (c *Conn) Write(b []byte) (int, error) { + if len(b) > math.MaxUint16 { + return 0, ErrPacketTooBig + } + c.wMu.Lock() + defer c.wMu.Unlock() + if _, err := c.ns.WriteUnsafe(b); err != nil { + return 0, err + } + return len(b), nil +} + +// LocalAddr returns the local address of the connection. +func (c *Conn) LocalAddr() net.Addr { + return &Addr{ + PK: c.ns.LocalStatic(), + Addr: c.Conn.LocalAddr(), + } +} + +// RemoteAddr returns the remote address of the connection. +func (c *Conn) RemoteAddr() net.Addr { + return &Addr{ + PK: c.ns.RemoteStatic(), + Addr: c.Conn.RemoteAddr(), + } +} + +// Listener accepts incoming connections and encrypts with noise. +type Listener struct { + net.Listener + pk cipher.PubKey + sk cipher.SecKey + init bool + pattern noise.HandshakePattern +} + +// WrapListener wraps a listener and encrypts incoming connections with noise. +func WrapListener(lis net.Listener, pk cipher.PubKey, sk cipher.SecKey, init bool, pattern noise.HandshakePattern) *Listener { + return &Listener{Listener: lis, pk: pk, sk: sk, init: init, pattern: pattern} +} + +// Accept calls Accept from the underlying net.Listener and encrypts the +// obtained net.Conn with noise. +func (ml *Listener) Accept() (net.Conn, error) { + conn, err := ml.Listener.Accept() + if err != nil { + return nil, err + } + ns, err := New(ml.pattern, Config{ + LocalPK: ml.pk, + LocalSK: ml.sk, + Initiator: ml.init, + }) + if err != nil { + return nil, err + } + rw := NewReadWriter(conn, ns) + if err := rw.Handshake(time.Second * 10); err != nil { + return nil, err + } + return &Conn{Conn: conn, ns: rw}, nil +} + +// Addr returns the local address of the noise-encrypted Listener. +func (ml *Listener) Addr() net.Addr { + return &Addr{ + PK: ml.pk, + Addr: ml.Listener.Addr(), + } +} diff --git a/internal/noise/net_test.go b/internal/noise/net_test.go new file mode 100644 index 000000000..1462f86b3 --- /dev/null +++ b/internal/noise/net_test.go @@ -0,0 +1,342 @@ +package noise + +import ( + "fmt" + "io" + "log" + "net" + "net/rpc" + "sync" + "testing" + "time" + + "github.com/flynn/noise" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/cipher" +) + +type TestRPC struct{} + +type AddIn struct{ A, B int } + +func (r *TestRPC) Add(in *AddIn, out *int) error { + *out = in.A + in.B + return nil +} + +func TestRPCClientDialer(t *testing.T) { + var ( + pattern = HandshakeXK + ) + + svr := rpc.NewServer() + require.NoError(t, svr.Register(new(TestRPC))) + + lPK, lSK := cipher.GenerateKeyPair() + var l net.Listener + var lAddr string + + setup := func() { + if len(lAddr) == 0 { + lAddr = ":0" + } + var err error + + l, err = net.Listen("tcp", lAddr) + require.NoError(t, err) + + l = WrapListener(l, lPK, lSK, false, pattern) + lAddr = l.Addr().(*Addr).Addr.String() + t.Logf("Listening on %s", lAddr) + } + + teardown := func() { + if l != nil { + require.NoError(t, l.Close()) + l = nil + } + } + + t.Run("RunRetry", func(t *testing.T) { + setup() + defer teardown() // Just in case of failure. + + const reconCount = 5 + const retry = time.Second / 4 + + dPK, dSK := cipher.GenerateKeyPair() + d := NewRPCClientDialer(lAddr, pattern, Config{ + LocalPK: dPK, + LocalSK: dSK, + RemotePK: lPK, + Initiator: true, + }) + dDone := make(chan error, 1) + + go func() { + dDone <- d.Run(svr, retry) + close(dDone) + }() + + for i := 0; i < reconCount; i++ { + teardown() + time.Sleep(retry * 2) // Dialer shouldn't quit retrying in this time. + setup() + + conn, err := l.Accept() + require.NoError(t, err) + + in, out := &AddIn{A: i, B: i}, new(int) + require.NoError(t, rpc.NewClient(conn).Call("TestRPC.Add", in, out)) + require.Equal(t, in.A+in.B, *out) + require.NoError(t, conn.Close()) + } + + _ = d.Close() + require.NoError(t, <-dDone) + }) +} + +func TestConn(t *testing.T) { + type Result struct { + N int + Err error + } + + const timeout = time.Second + + aPK, aSK := cipher.GenerateKeyPair() + bPK, bSK := cipher.GenerateKeyPair() + + aNs, err := XKAndSecp256k1(Config{LocalPK: aPK, LocalSK: aSK, RemotePK: bPK, Initiator: true}) + require.NoError(t, err) + bNs, err := XKAndSecp256k1(Config{LocalPK: bPK, LocalSK: bSK, Initiator: false}) + require.NoError(t, err) + + aConn, bConn := net.Pipe() + defer func() { _, _ = aConn.Close(), bConn.Close() }() + + aRW := NewReadWriter(aConn, aNs) + bRW := NewReadWriter(bConn, bNs) + + errChan := make(chan error, 2) + go func() { errChan <- aRW.Handshake(timeout) }() + go func() { errChan <- bRW.Handshake(timeout) }() + require.NoError(t, <-errChan) + require.NoError(t, <-errChan) + close(errChan) + + a := &Conn{Conn: aConn, ns: aRW} + b := &Conn{Conn: bConn, ns: bRW} + + t.Run("ReadWrite", func(t *testing.T) { + aResults := make(chan Result) + bResults := make(chan Result) + + for i := 0; i < 10; i++ { + msgAtoB := []byte(fmt.Sprintf("this is message %d from A for B", i)) + + go func() { + n, err := a.Write(msgAtoB) + aResults <- Result{N: n, Err: err} + }() + + receivedMsgAtoB := make([]byte, len(msgAtoB)) + n, err := io.ReadFull(b, receivedMsgAtoB) + require.Equal(t, len(msgAtoB), n) + require.NoError(t, err) + + aResult := <-aResults + require.Equal(t, len(msgAtoB), aResult.N) + require.NoError(t, aResult.Err) + + msgBtoA := []byte(fmt.Sprintf("this is message %d from B for A", i)) + + go func() { + n, err := b.Write(msgAtoB) + bResults <- Result{N: n, Err: err} + }() + + receivedMsgBtoA := make([]byte, len(msgBtoA)) + n, err = io.ReadFull(a, receivedMsgBtoA) + require.Equal(t, len(msgBtoA), n) + require.NoError(t, err) + + bResult := <-bResults + require.Equal(t, len(msgBtoA), bResult.N) + require.NoError(t, bResult.Err) + } + }) + + t.Run("ReadWriteConcurrent", func(t *testing.T) { + type ReadResult struct { + Msg string + N int + Err error + } + const ( + MsgCount = 100 + MsgLen = 4 + ) + var ( + aMap = make(map[string]struct{}) + bMap = make(map[string]struct{}) + aWrites = make(chan Result, MsgCount) + bWrites = make(chan Result, MsgCount) + aReads = make(chan ReadResult, MsgCount) + bReads = make(chan ReadResult, MsgCount) + ) + randSleep := func() { time.Sleep(time.Duration(cipher.RandByte(1)[0]) / 255 * time.Second) } + + for i := 0; i < MsgCount; i++ { + msg := fmt.Sprintf("%4d", i) + go func() { + randSleep() + n, err := a.Write([]byte(msg)) + aWrites <- Result{N: n, Err: err} + }() + go func() { + randSleep() + n, err := b.Write([]byte(msg)) + bWrites <- Result{N: n, Err: err} + }() + go func() { + randSleep() + msg := make([]byte, MsgLen) + n, err := io.ReadFull(a, msg) + aReads <- ReadResult{Msg: string(msg), N: n, Err: err} + }() + go func() { + randSleep() + msg := make([]byte, MsgLen) + n, err := io.ReadFull(b, msg) + bReads <- ReadResult{Msg: string(msg), N: n, Err: err} + }() + } + + for i := 0; i < MsgCount; i++ { + aWrite := <-aWrites + require.NoError(t, aWrite.Err) + require.Equal(t, MsgLen, aWrite.N) + + bWrite := <-bWrites + require.NoError(t, bWrite.Err) + require.Equal(t, MsgLen, bWrite.N) + + aRead := <-aReads + require.NoError(t, aRead.Err) + require.Equal(t, MsgLen, aRead.N) + _, aHas := aMap[aRead.Msg] + require.False(t, aHas) + aMap[aRead.Msg] = struct{}{} + + bRead := <-bReads + require.NoError(t, bRead.Err) + require.Equal(t, MsgLen, bRead.N) + _, bHas := bMap[bRead.Msg] + require.False(t, bHas) + bMap[bRead.Msg] = struct{}{} + } + + require.Len(t, aMap, MsgCount) + require.Len(t, bMap, MsgCount) + }) + + t.Run("ReadWriteIrregular", func(t *testing.T) { + const segLen = 100 + const segCount = 1000 + + aResults := make([]Result, segCount) + + msg := cipher.RandByte(segLen * segCount) + + wg := new(sync.WaitGroup) + wg.Add(1) + go func() { + for i := 0; i < segCount; i++ { + n, err := a.Write(msg[i*segLen : (i+1)*segLen]) + aResults[i] = Result{N: n, Err: err} + } + wg.Done() + }() + + msgResult := make([]byte, len(msg)) + _, err := io.ReadFull(b, msgResult) + require.NoError(t, err) + require.Equal(t, msg, msgResult) + + wg.Wait() + + for i, r := range aResults { + require.NoError(t, r.Err, i) + require.Equal(t, segLen, r.N, i) + } + }) +} + +func TestListener(t *testing.T) { + const ( + connCount = 10 + msg = "Hello, world!" + timeout = time.Second + ) + var ( + pattern = noise.HandshakeXK + ) + + dialAndWrite := func(remote cipher.PubKey, addr string) error { + pk, sk := cipher.GenerateKeyPair() + conn, err := net.Dial("tcp", addr) + if err != nil { + return err + } + ns, err := New(pattern, Config{LocalPK: pk, LocalSK: sk, RemotePK: remote, Initiator: true}) + if err != nil { + return err + } + conn, err = WrapConn(conn, ns, timeout) + if err != nil { + return err + } + _, err = conn.Write([]byte(msg)) + if err != nil { + return err + } + return conn.Close() + } + + lPK, lSK := cipher.GenerateKeyPair() + l, err := net.Listen("tcp", "") + require.NoError(t, err) + defer l.Close() + + l = WrapListener(l, lPK, lSK, false, pattern) + addr := l.Addr().(*Addr) + + t.Run("Accept", func(t *testing.T) { + hResults := make([]error, connCount) + wg := new(sync.WaitGroup) + wg.Add(1) + go func() { + for i := 0; i < connCount; i++ { + hResults[i] = dialAndWrite(lPK, addr.Addr.String()) + } + wg.Done() + }() + for i := 0; i < connCount; i++ { + lConn, err := l.Accept() + require.NoError(t, err) + rec := make([]byte, len(msg)) + n, err := io.ReadFull(lConn, rec) + log.Printf("Accept('%s'): received: '%s'", lConn.RemoteAddr(), string(rec)) + require.Equal(t, len(msg), n) + require.NoError(t, err) + require.NoError(t, lConn.Close()) + } + wg.Wait() + for i := 0; i < connCount; i++ { + require.NoError(t, hResults[i]) + } + }) +} diff --git a/internal/noise/noise.go b/internal/noise/noise.go new file mode 100644 index 000000000..ab0d82620 --- /dev/null +++ b/internal/noise/noise.go @@ -0,0 +1,164 @@ +package noise + +import ( + "crypto/rand" + "sync" + "sync/atomic" + + "github.com/flynn/noise" + + "github.com/skycoin/skywire/pkg/cipher" +) + +// packetsTillRekey is the number of packages after which we want to rekey for the noise protocol +const packetsTillRekey = 10 + +// Config hold noise parameters. +type Config struct { + LocalPK cipher.PubKey // Local instance static public key. + LocalSK cipher.SecKey // Local instance static secret key. + RemotePK cipher.PubKey // Remote instance static public key. + Initiator bool // Whether the local instance initiates the connection. +} + +// Noise handles the handshake and the frame's cryptography. +type Noise struct { + pk cipher.PubKey + sk cipher.SecKey + init bool + + pattern noise.HandshakePattern + hs *noise.HandshakeState + enc *noise.CipherState + dec *noise.CipherState + + encN uint32 + decN uint32 + + encMu sync.Mutex + decMu sync.Mutex +} + +// New creates a new Noise with: +// - provided pattern for handshake. +// - Secp256k1 for the curve. +func New(pattern noise.HandshakePattern, config Config) (*Noise, error) { + nc := noise.Config{ + CipherSuite: noise.NewCipherSuite(Secp256k1{}, noise.CipherChaChaPoly, noise.HashSHA256), + Random: rand.Reader, + Pattern: pattern, + Initiator: config.Initiator, + StaticKeypair: noise.DHKey{ + Public: config.LocalPK[:], + Private: config.LocalSK[:], + }, + } + if !config.RemotePK.Null() { + nc.PeerStatic = config.RemotePK[:] + } + + hs, err := noise.NewHandshakeState(nc) + if err != nil { + return nil, err + } + return &Noise{ + pk: config.LocalPK, + sk: config.LocalSK, + init: config.Initiator, + pattern: pattern, + hs: hs, + }, nil +} + +// KKAndSecp256k1 creates a new Noise with: +// - KK pattern for handshake. +// - Secp256k1 for the curve. +func KKAndSecp256k1(config Config) (*Noise, error) { + return New(noise.HandshakeKK, config) +} + +// XKAndSecp256k1 creates a new Noise with: +// - XK pattern for handshake. +// - Secp256 for the curve. +func XKAndSecp256k1(config Config) (*Noise, error) { + return New(noise.HandshakeXK, config) +} + +// HandshakeMessage generates handshake message for a current handshake state. +func (ns *Noise) HandshakeMessage() (res []byte, err error) { + if ns.hs.MessageIndex() < len(ns.pattern.Messages)-1 { + res, _, _, err = ns.hs.WriteMessage(nil, nil) + return + } + + res, ns.dec, ns.enc, err = ns.hs.WriteMessage(nil, nil) + return res, err +} + +// ProcessMessage processes a received handshake message and appends the payload. +func (ns *Noise) ProcessMessage(msg []byte) (err error) { + if ns.hs.MessageIndex() < len(ns.pattern.Messages)-1 { + _, _, _, err = ns.hs.ReadMessage(nil, msg) + return + } + + _, ns.enc, ns.dec, err = ns.hs.ReadMessage(nil, msg) + return err +} + +// LocalStatic returns the local static public key. +func (ns *Noise) LocalStatic() cipher.PubKey { + return ns.pk +} + +// RemoteStatic returns the remote static public key. +func (ns *Noise) RemoteStatic() cipher.PubKey { + pk, err := cipher.NewPubKey(ns.hs.PeerStatic()) + if err != nil { + panic(err) + } + return cipher.PubKey(pk) +} + +// EncryptUnsafe encrypts plaintext without interlocking, should only +// be used with external lock. +func (ns *Noise) EncryptUnsafe(plaintext []byte) []byte { + atomic.AddUint32(&ns.encN, 1) + if atomic.CompareAndSwapUint32(&ns.encN, packetsTillRekey, 0) { + ns.enc.Rekey() + } + + return ns.enc.Encrypt(nil, nil, plaintext) +} + +// Encrypt encrypts plaintext. +func (ns *Noise) Encrypt(plaintext []byte) []byte { + ns.encMu.Lock() + res := ns.EncryptUnsafe(plaintext) + ns.encMu.Unlock() + return res +} + +// DecryptUnsafe decrypts ciphertext without interlocking, should only +// be used with external lock. +func (ns *Noise) DecryptUnsafe(ciphertext []byte) ([]byte, error) { + atomic.AddUint32(&ns.decN, 1) + if atomic.CompareAndSwapUint32(&ns.decN, packetsTillRekey, 0) { + ns.dec.Rekey() + } + + return ns.dec.Decrypt(nil, nil, ciphertext) +} + +// Decrypt decrypts ciphertext. +func (ns *Noise) Decrypt(ciphertext []byte) ([]byte, error) { + ns.decMu.Lock() + res, err := ns.DecryptUnsafe(ciphertext) + ns.decMu.Unlock() + return res, err +} + +// HandshakeFinished indicate whether handshake was completed. +func (ns *Noise) HandshakeFinished() bool { + return ns.hs.MessageIndex() == len(ns.pattern.Messages) +} diff --git a/internal/noise/noise_test.go b/internal/noise/noise_test.go new file mode 100644 index 000000000..fd7a11d3e --- /dev/null +++ b/internal/noise/noise_test.go @@ -0,0 +1,122 @@ +package noise + +import ( + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/cipher" +) + +func TestKKAndSecp256k1(t *testing.T) { + pkI, skI := cipher.GenerateKeyPair() + pkR, skR := cipher.GenerateKeyPair() + + confI := Config{ + LocalPK: pkI, + LocalSK: skI, + RemotePK: pkR, + Initiator: true, + } + + confR := Config{ + LocalPK: pkR, + LocalSK: skR, + RemotePK: pkI, + Initiator: false, + } + + nI, err := KKAndSecp256k1(confI) + require.NoError(t, err) + + nR, err := KKAndSecp256k1(confR) + require.NoError(t, err) + + // -> e, es + msg, err := nI.HandshakeMessage() + require.NoError(t, err) + require.Error(t, nR.ProcessMessage(append(msg, 1))) + require.NoError(t, nR.ProcessMessage(msg)) + + // <- e, ee + msg, err = nR.HandshakeMessage() + require.NoError(t, err) + require.Error(t, nI.ProcessMessage(append(msg, 1))) + require.NoError(t, nI.ProcessMessage(msg)) + + require.True(t, nI.HandshakeFinished()) + require.True(t, nR.HandshakeFinished()) + + encrypted := nI.Encrypt([]byte("foo")) + decrypted, err := nR.Decrypt(encrypted) + require.NoError(t, err) + assert.Equal(t, []byte("foo"), decrypted) + + encrypted = nR.Encrypt([]byte("bar")) + decrypted, err = nI.Decrypt(encrypted) + require.NoError(t, err) + assert.Equal(t, []byte("bar"), decrypted) + + encrypted = nI.EncryptUnsafe([]byte("baz")) + decrypted, err = nR.DecryptUnsafe(encrypted) + require.NoError(t, err) + assert.Equal(t, []byte("baz"), decrypted) +} + +func TestXKAndSecp256k1(t *testing.T) { + pkI, skI := cipher.GenerateKeyPair() + pkR, skR := cipher.GenerateKeyPair() + + confI := Config{ + LocalPK: pkI, + LocalSK: skI, + RemotePK: pkR, + Initiator: true, + } + + confR := Config{ + LocalPK: pkR, + LocalSK: skR, + Initiator: false, + } + + nI, err := XKAndSecp256k1(confI) + require.NoError(t, err) + + nR, err := XKAndSecp256k1(confR) + require.NoError(t, err) + + // -> e, es + msg, err := nI.HandshakeMessage() + require.NoError(t, err) + require.NoError(t, nR.ProcessMessage(msg)) + + // <- e, ee + msg, err = nR.HandshakeMessage() + require.NoError(t, err) + require.NoError(t, nI.ProcessMessage(msg)) + + // -> s, se + msg, err = nI.HandshakeMessage() + require.NoError(t, err) + require.NoError(t, nR.ProcessMessage(msg)) + + require.True(t, nI.HandshakeFinished()) + require.True(t, nR.HandshakeFinished()) + + encrypted := nI.Encrypt([]byte("foo")) + decrypted, err := nR.Decrypt(encrypted) + require.NoError(t, err) + assert.Equal(t, []byte("foo"), decrypted) + + encrypted = nR.Encrypt([]byte("bar")) + decrypted, err = nI.Decrypt(encrypted) + require.NoError(t, err) + assert.Equal(t, []byte("bar"), decrypted) + + encrypted = nI.EncryptUnsafe([]byte("baz")) + decrypted, err = nR.DecryptUnsafe(encrypted) + require.NoError(t, err) + assert.Equal(t, []byte("baz"), decrypted) +} diff --git a/internal/noise/read_writer.go b/internal/noise/read_writer.go new file mode 100644 index 000000000..317fe0d7f --- /dev/null +++ b/internal/noise/read_writer.go @@ -0,0 +1,170 @@ +package noise + +import ( + "errors" + "io" + "time" + + "github.com/skycoin/skywire/internal/ioutil" + "github.com/skycoin/skywire/pkg/cipher" +) + +// ReadWriter implements noise encrypted read writer. +type ReadWriter struct { + lrw *ioutil.LenReadWriter + ns *Noise +} + +// NewReadWriter constructs a new ReadWriter. +func NewReadWriter(rw io.ReadWriter, ns *Noise) *ReadWriter { + return &ReadWriter{ioutil.NewLenReadWriter(rw), ns} +} + +// ReadPacket returns single received len prepended packet. +func (rw *ReadWriter) ReadPacket() (data []byte, err error) { + data, err = rw.lrw.ReadPacket() + if err != nil { + return + } + + return rw.ns.Decrypt(data) +} + +// ReadPacketUnsafe returns single received len prepended packet using DecryptUnsafe. +func (rw *ReadWriter) ReadPacketUnsafe() (data []byte, err error) { + data, err = rw.lrw.ReadPacket() + if err != nil { + return + } + + return rw.ns.DecryptUnsafe(data) +} + +func (rw *ReadWriter) Read(p []byte) (n int, err error) { + var data []byte + data, err = rw.ReadPacket() + if err != nil { + return + } + + if len(data) > len(p) { + err = io.ErrShortBuffer + return + } + + return copy(p, data), nil +} + +// WriteUnsafe implements io.Writer using EncryptUnsafe. +func (rw *ReadWriter) WriteUnsafe(p []byte) (n int, err error) { + encrypted := rw.ns.EncryptUnsafe(p) + n, err = rw.lrw.Write(encrypted) + if n != len(encrypted) { + err = io.ErrShortWrite + return + } + return len(p), err +} + +func (rw *ReadWriter) Write(p []byte) (n int, err error) { + encrypted := rw.ns.Encrypt(p) + n, err = rw.lrw.Write(encrypted) + if n != len(encrypted) { + err = io.ErrShortWrite + return + } + return len(p), err +} + +// Handshake performs a Noise handshake using the provided io.ReadWriter. +func (rw *ReadWriter) Handshake(hsTimeout time.Duration) error { + doneChan := make(chan error) + go func() { + if rw.ns.init { + doneChan <- rw.initiatorHandshake() + } else { + doneChan <- rw.responderHandshake() + } + }() + + select { + case err := <-doneChan: + return err + case <-time.After(hsTimeout): + return errors.New("timeout") + } +} + +// LocalStatic returns the local static public key. +func (rw *ReadWriter) LocalStatic() cipher.PubKey { + return rw.ns.LocalStatic() +} + +// RemoteStatic returns the remote static public key. +func (rw *ReadWriter) RemoteStatic() cipher.PubKey { + return rw.ns.RemoteStatic() +} + +func (rw *ReadWriter) initiatorHandshake() error { + for { + msg, err := rw.ns.HandshakeMessage() + if err != nil { + return err + } + + if _, err := rw.lrw.Write(msg); err != nil { + return err + } + + if rw.ns.HandshakeFinished() { + break + } + + res, err := rw.lrw.ReadPacket() + if err != nil { + return err + } + + if err = rw.ns.ProcessMessage(res); err != nil { + return err + } + + if rw.ns.HandshakeFinished() { + break + } + } + + return nil +} + +func (rw *ReadWriter) responderHandshake() error { + for { + msg, err := rw.lrw.ReadPacket() + if err != nil { + return err + } + + if err := rw.ns.ProcessMessage(msg); err != nil { + return err + } + + if rw.ns.HandshakeFinished() { + break + } + + res, err := rw.ns.HandshakeMessage() + if err != nil { + return err + } + + if _, err := rw.lrw.Write(res); err != nil { + return err + } + + if rw.ns.HandshakeFinished() { + break + } + } + + return nil +} diff --git a/internal/noise/read_writer_test.go b/internal/noise/read_writer_test.go new file mode 100644 index 000000000..12a2696fb --- /dev/null +++ b/internal/noise/read_writer_test.go @@ -0,0 +1,196 @@ +package noise + +import ( + "errors" + "fmt" + "net" + "sync" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/cipher" +) + +func TestReadWriterKKPattern(t *testing.T) { + pkI, skI := cipher.GenerateKeyPair() + pkR, skR := cipher.GenerateKeyPair() + + confI := Config{ + LocalPK: pkI, + LocalSK: skI, + RemotePK: pkR, + Initiator: true, + } + + confR := Config{ + LocalPK: pkR, + LocalSK: skR, + RemotePK: pkI, + Initiator: false, + } + + nI, err := KKAndSecp256k1(confI) + require.NoError(t, err) + + nR, err := KKAndSecp256k1(confR) + require.NoError(t, err) + + connI, connR := net.Pipe() + rwI := NewReadWriter(connI, nI) + rwR := NewReadWriter(connR, nR) + + errCh := make(chan error) + go func() { errCh <- rwR.Handshake(time.Second) }() + require.NoError(t, rwI.Handshake(time.Second)) + require.NoError(t, <-errCh) + + go func() { + _, err := rwI.Write([]byte("foo")) + errCh <- err + }() + + buf := make([]byte, 3) + n, err := rwR.Read(buf) + require.NoError(t, err) + require.NoError(t, <-errCh) + assert.Equal(t, 3, n) + assert.Equal(t, []byte("foo"), buf) + + go func() { + _, err := rwI.Read(buf) + errCh <- err + }() + + n, err = rwR.Write([]byte("bar")) + require.NoError(t, err) + require.NoError(t, <-errCh) + assert.Equal(t, 3, n) + assert.Equal(t, []byte("bar"), buf) +} + +func TestReadWriterXKPattern(t *testing.T) { + pkI, skI := cipher.GenerateKeyPair() + pkR, skR := cipher.GenerateKeyPair() + + confI := Config{ + LocalPK: pkI, + LocalSK: skI, + RemotePK: pkR, + Initiator: true, + } + + confR := Config{ + LocalPK: pkR, + LocalSK: skR, + Initiator: false, + } + + nI, err := XKAndSecp256k1(confI) + require.NoError(t, err) + + nR, err := XKAndSecp256k1(confR) + require.NoError(t, err) + + connI, connR := net.Pipe() + rwI := NewReadWriter(connI, nI) + rwR := NewReadWriter(connR, nR) + + errCh := make(chan error) + go func() { errCh <- rwR.Handshake(time.Second) }() + require.NoError(t, rwI.Handshake(time.Second)) + require.NoError(t, <-errCh) + + go func() { + _, err := rwI.Write([]byte("foo")) + errCh <- err + }() + + buf := make([]byte, 3) + n, err := rwR.Read(buf) + require.NoError(t, err) + require.NoError(t, <-errCh) + assert.Equal(t, 3, n) + assert.Equal(t, []byte("foo"), buf) + + go func() { + _, err := rwI.Read(buf) + errCh <- err + }() + + n, err = rwR.Write([]byte("bar")) + require.NoError(t, err) + require.NoError(t, <-errCh) + assert.Equal(t, 3, n) + assert.Equal(t, []byte("bar"), buf) +} + +func TestReadWriterConcurrentTCP(t *testing.T) { + const readCount = 15 + readErrs := make([]error, readCount) + writeErrs := make([]error, readCount) + msg := []byte("foo") + + errNoOp := errors.New("no operation") + for i := 0; i < readCount; i++ { + readErrs[i] = errNoOp + writeErrs[i] = errNoOp + } + + l, err := net.Listen("tcp", ":0") // nolint: gosec + require.NoError(t, err) + defer l.Close() + + var wg sync.WaitGroup + wg.Add(1) + go func() { + conn, err := l.Accept() + if err != nil { + return + } + + var rwg sync.WaitGroup + for i := 0; i < readCount; i++ { + rwg.Add(1) + go func(idx int, c net.Conn) { + buf := make([]byte, 3) + if _, err := c.Read(buf); err != nil { + readErrs[idx] = err + } + + if string(buf) != "foo" { + readErrs[idx] = errors.New("invalid message") + } + + readErrs[idx] = nil + rwg.Done() + }(i, conn) + } + rwg.Wait() + wg.Done() + }() + + conn, err := net.Dial("tcp", l.Addr().String()) + require.NoError(t, err) + defer conn.Close() + + for i := 0; i < readCount; i++ { + wg.Add(1) + go func(idx int, c net.Conn) { + if _, err := c.Write(msg); err != nil { + writeErrs[idx] = err + } + + writeErrs[idx] = nil + wg.Done() + }(i, conn) + } + wg.Wait() + + for i := 0; i < readCount; i++ { + require.NoError(t, readErrs[i], fmt.Sprintf("read #%d", i)) + require.NoError(t, writeErrs[i], fmt.Sprintf("write #%d", i)) + } +} diff --git a/internal/therealproxy/client.go b/internal/therealproxy/client.go new file mode 100644 index 000000000..8b249d558 --- /dev/null +++ b/internal/therealproxy/client.go @@ -0,0 +1,75 @@ +package therealproxy + +import ( + "fmt" + "io" + "log" + "net" + + "github.com/hashicorp/yamux" +) + +// Client implement multiplexing proxy client using yamux. +type Client struct { + session *yamux.Session + listener net.Listener +} + +// NewClient constructs a new Client. +func NewClient(conn net.Conn) (*Client, error) { + session, err := yamux.Client(conn, nil) + if err != nil { + return nil, fmt.Errorf("yamux: %s", err) + } + + return &Client{session: session}, nil +} + +// ListenAndServe start tcp listener on addr and proxies incoming +// connection to a remote proxy server. +func (c *Client) ListenAndServe(addr string) error { + l, err := net.Listen("tcp", addr) + if err != nil { + return fmt.Errorf("listen: %s", err) + } + + c.listener = l + for { + conn, err := l.Accept() + if err != nil { + return fmt.Errorf("accept: %s", err) + } + + stream, err := c.session.Open() + if err != nil { + return fmt.Errorf("yamux: %s", err) + } + + go func() { + errCh := make(chan error, 2) + go func() { + _, err := io.Copy(stream, conn) + errCh <- err + }() + + go func() { + _, err := io.Copy(conn, stream) + errCh <- err + }() + + for err := range errCh { + conn.Close() + stream.Close() + + if err != nil { + log.Println("Copy error:", err) + } + } + }() + } +} + +// Close implement io.Closer. +func (c *Client) Close() error { + return c.listener.Close() +} diff --git a/internal/therealproxy/server.go b/internal/therealproxy/server.go new file mode 100644 index 000000000..f16cb3903 --- /dev/null +++ b/internal/therealproxy/server.go @@ -0,0 +1,65 @@ +package therealproxy + +import ( + "fmt" + "log" + "net" + + socks5 "github.com/armon/go-socks5" + "github.com/hashicorp/yamux" +) + +// Server implements multiplexing proxy server using yamux. +type Server struct { + socks *socks5.Server + listener net.Listener +} + +// NewServer constructs a new Server. +func NewServer(passcode string) (*Server, error) { + var credentials socks5.CredentialStore + if passcode != "" { + credentials = passcodeCredentials(passcode) + } + + s, err := socks5.New(&socks5.Config{Credentials: credentials}) + if err != nil { + return nil, fmt.Errorf("socks5: %s", err) + } + + return &Server{socks: s}, nil +} + +// Serve accept connections from listener and serves socks5 proxy for +// the incoming connections. +func (s *Server) Serve(l net.Listener) error { + s.listener = l + for { + conn, err := l.Accept() + if err != nil { + return fmt.Errorf("accept: %s", err) + } + + session, err := yamux.Server(conn, nil) + if err != nil { + return fmt.Errorf("yamux: %s", err) + } + + go func() { + if err := s.socks.Serve(session); err != nil { + log.Println("Failed to start SOCKS5 server:", err) + } + }() + } +} + +// Close implement io.Closer. +func (s *Server) Close() error { + return s.listener.Close() +} + +type passcodeCredentials string + +func (s passcodeCredentials) Valid(user, password string) bool { + return user == string(s) || password == string(s) +} diff --git a/internal/therealproxy/server_test.go b/internal/therealproxy/server_test.go new file mode 100644 index 000000000..b7f85ae9c --- /dev/null +++ b/internal/therealproxy/server_test.go @@ -0,0 +1,66 @@ +package therealproxy + +import ( + "fmt" + "io/ioutil" + "net" + "net/http" + "net/http/httptest" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "golang.org/x/net/proxy" +) + +func TestProxy(t *testing.T) { + srv, err := NewServer("") + require.NoError(t, err) + + l, err := net.Listen("tcp", ":10081") // nolint: gosec + require.NoError(t, err) + + errChan := make(chan error) + go func() { + errChan <- srv.Serve(l) + }() + + time.Sleep(100 * time.Millisecond) + + conn, err := net.Dial("tcp", ":10081") + require.NoError(t, err) + + client, err := NewClient(conn) + require.NoError(t, err) + + errChan2 := make(chan error) + go func() { + errChan2 <- client.ListenAndServe(":10080") + }() + + time.Sleep(100 * time.Millisecond) + + proxyDial, err := proxy.SOCKS5("tcp", ":10080", nil, proxy.Direct) + require.NoError(t, err) + + ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + fmt.Fprintln(w, "Hello, client") + })) + defer ts.Close() + + c := &http.Client{Transport: &http.Transport{Dial: proxyDial.Dial}} + res, err := c.Get(ts.URL) + require.NoError(t, err) + + msg, err := ioutil.ReadAll(res.Body) + require.NoError(t, err) + require.NoError(t, res.Body.Close()) + assert.Equal(t, "Hello, client\n", string(msg)) + + require.NoError(t, client.Close()) + require.NoError(t, srv.Close()) + + <-errChan2 + <-errChan +} diff --git a/internal/therealssh/auth.go b/internal/therealssh/auth.go new file mode 100644 index 000000000..a8e25f50e --- /dev/null +++ b/internal/therealssh/auth.go @@ -0,0 +1,85 @@ +package therealssh + +import ( + "bufio" + "errors" + "fmt" + "os" + "path/filepath" + + "github.com/skycoin/skywire/pkg/cipher" +) + +// Authorizer defines interface for authorization providers. +type Authorizer interface { + Authorize(pk cipher.PubKey) error +} + +// ListAuthorizer performs authorization against static list. +type ListAuthorizer struct { + AuthorizedKeys []cipher.PubKey +} + +// Authorize implements Authorizer for ListAuthorizer +func (auth *ListAuthorizer) Authorize(remotePK cipher.PubKey) error { + for _, key := range auth.AuthorizedKeys { + if remotePK == key { + return nil + } + } + + return errors.New("unknown PubKey") +} + +// FileAuthorizer performs authorization against file that has PubKey per line. +type FileAuthorizer struct { + authFile *os.File +} + +// NewFileAuthorizer constructs new FileAuthorizer +func NewFileAuthorizer(authFile string) (*FileAuthorizer, error) { + path, err := filepath.Abs(authFile) + if err != nil { + return nil, fmt.Errorf("failed to resolve auth file path: %s", err) + } + + f, err := os.Open(path) + if err != nil { + if os.IsNotExist(err) { + if err := os.MkdirAll(filepath.Dir(path), 0700); err != nil { + return nil, fmt.Errorf("failed to create auth file: %s", err) + } + if f, err = os.Create(path); err != nil { + return nil, fmt.Errorf("failed to create auth file: %s", err) + } + } else { + return nil, fmt.Errorf("failed to open auth file: %s", err) + } + } + + return &FileAuthorizer{f}, nil +} + +// Close releases underlying file pointer. +func (auth *FileAuthorizer) Close() error { + return auth.authFile.Close() +} + +// Authorize implements Authorizer for FileAuthorizer +func (auth *FileAuthorizer) Authorize(remotePK cipher.PubKey) error { + defer auth.authFile.Seek(0, 0) // nolint + + hexPK := remotePK.Hex() + scanner := bufio.NewScanner(auth.authFile) + for scanner.Scan() { + if hexPK == scanner.Text() { + return nil + } + } + + if err := scanner.Err(); err != nil { + return fmt.Errorf("failed to read from auth file: %s", err) + } + + return errors.New("unknown PubKey") +} diff --git a/internal/therealssh/auth_test.go b/internal/therealssh/auth_test.go new file mode 100644 index 000000000..221c217a3 --- /dev/null +++ b/internal/therealssh/auth_test.go @@ -0,0 +1,42 @@ +package therealssh + +import ( + "io/ioutil" + "os" + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/cipher" +) + +func TestListAuthoriser(t *testing.T) { + pk, _ := cipher.GenerateKeyPair() + auth := &ListAuthorizer{[]cipher.PubKey{pk}} + require.Error(t, auth.Authorize(cipher.PubKey{})) + require.NoError(t, auth.Authorize(pk)) +} + +func TestFileAuthoriser(t *testing.T) { + pk, _ := cipher.GenerateKeyPair() + anotherPK, _ := cipher.GenerateKeyPair() + + tmpfile, err := ioutil.TempFile("", "authorized_keys") + require.NoError(t, err) + defer os.Remove(tmpfile.Name()) + + _, err = tmpfile.Write([]byte(pk.Hex() + "\n")) + require.NoError(t, err) + + auth, err := NewFileAuthorizer(tmpfile.Name()) + require.NoError(t, err) + + require.Error(t, auth.Authorize(anotherPK)) + require.NoError(t, auth.Authorize(pk)) + + _, err = tmpfile.Write([]byte(anotherPK.Hex() + "\n")) + require.NoError(t, err) + + require.NoError(t, auth.Authorize(anotherPK)) + require.NoError(t, auth.Authorize(pk)) +} diff --git a/internal/therealssh/chan_list.go b/internal/therealssh/chan_list.go new file mode 100644 index 000000000..0fdd85671 --- /dev/null +++ b/internal/therealssh/chan_list.go @@ -0,0 +1,54 @@ +package therealssh + +import "sync" + +type chanList struct { + sync.Mutex + + chans []*Channel +} + +func newChanList() *chanList { + return &chanList{chans: []*Channel{}} +} + +func (c *chanList) add(channel *Channel) uint32 { + c.Lock() + defer c.Unlock() + + for i := range c.chans { + if c.chans[i] == nil { + c.chans[i] = channel + return uint32(i) + } + } + + c.chans = append(c.chans, channel) + return uint32(len(c.chans) - 1) +} + +func (c *chanList) getChannel(id uint32) *Channel { + c.Lock() + defer c.Unlock() + + if id < uint32(len(c.chans)) { + return c.chans[id] + } + + return nil +} + +func (c *chanList) dropAll() []*Channel { + c.Lock() + defer c.Unlock() + var r []*Channel + + for _, ch := range c.chans { + if ch == nil { + continue + } + r = append(r, ch) + } + c.chans = nil + return r +} diff --git a/internal/therealssh/channel.go b/internal/therealssh/channel.go new file mode 100644 index 000000000..1141222e1 --- /dev/null +++ b/internal/therealssh/channel.go @@ -0,0 +1,288 @@ +package therealssh + +import ( + "encoding/binary" + "errors" + "fmt" + "io" + "log" + "net" + "os" + "os/user" + "path/filepath" + "strings" + + "github.com/kr/pty" + + "github.com/skycoin/skywire/pkg/cipher" + + "github.com/skycoin/skywire/pkg/app" +) + +// Port reserved for therealssh app +const Port = 2 + +// Debug enables debug messages. +var Debug = false + +// Channel defines communication channel parameters. +type Channel struct { + RemoteID uint32 + RemoteAddr *app.Addr + + conn net.Conn + msgCh chan []byte + + session *Session + listener *net.UnixListener + dataCh chan []byte +} + +// OpenChannel constructs new Channel with empty Session. +func OpenChannel(remoteID uint32, remoteAddr *app.Addr, conn net.Conn) *Channel { + return &Channel{RemoteID: remoteID, conn: conn, RemoteAddr: remoteAddr, msgCh: make(chan []byte), dataCh: make(chan []byte)} +} + +// OpenClientChannel constructs new client Channel with empty Session. +func OpenClientChannel(remoteID uint32, remotePK cipher.PubKey, conn net.Conn) *Channel { + ch := OpenChannel(remoteID, &app.Addr{PubKey: remotePK, Port: Port}, conn) + return ch +} + +// Send sends command message. +func (c *Channel) Send(cmd CommandType, payload []byte) error { + data := appendU32([]byte{byte(cmd)}, c.RemoteID) + _, err := c.conn.Write(append(data, payload...)) + return err +} + +func (c *Channel) Read(p []byte) (int, error) { + data, more := <-c.dataCh + if !more { + return 0, io.EOF + } + + return copy(p, data), nil +} + +func (c *Channel) Write(p []byte) (n int, err error) { + n = len(p) + err = c.Send(CmdChannelData, p) + return +} + +// Request sends request message and waits for response. +func (c *Channel) Request(requestType RequestType, payload []byte) ([]byte, error) { + debug("sending request %x", requestType) + req := append([]byte{byte(requestType)}, payload...) + + if err := c.Send(CmdChannelRequest, req); err != nil { + return nil, fmt.Errorf("request failure: %s", err) + } + + data := <-c.msgCh + if data[0] == ResponseFail { + return nil, fmt.Errorf("request failure: %s", string(data[1:])) + } + + return data[1:], nil +} + +// Serve starts request handling loop. +func (c *Channel) Serve() error { + for data := range c.msgCh { + var err error + debug("new request %x", data[0]) + switch RequestType(data[0]) { + case RequestPTY: + var u *user.User + u, err = user.Lookup(string(data[17:])) + if err != nil { + break + } + + cols := binary.BigEndian.Uint32(data[1:]) + rows := binary.BigEndian.Uint32(data[5:]) + width := binary.BigEndian.Uint32(data[9:]) + height := binary.BigEndian.Uint32(data[13:]) + size := &pty.Winsize{Cols: uint16(cols), Rows: uint16(rows), X: uint16(width), Y: uint16(height)} + err = c.OpenPTY(u, size) + case RequestShell: + err = c.Shell() + case RequestExec: + err = c.Start(string(data[1:])) + case RequestWindowChange: + cols := binary.BigEndian.Uint32(data[1:]) + rows := binary.BigEndian.Uint32(data[5:]) + width := binary.BigEndian.Uint32(data[9:]) + height := binary.BigEndian.Uint32(data[13:]) + err = c.WindowChange(&pty.Winsize{Cols: uint16(cols), Rows: uint16(rows), X: uint16(width), Y: uint16(height)}) + } + + var res []byte + if err != nil { + res = append([]byte{ResponseFail}, []byte(err.Error())...) + } else { + res = []byte{ResponseConfirm} + } + + if err := c.Send(CmdChannelResponse, res); err != nil { + return fmt.Errorf("failed to respond: %s", err) + } + } + + return nil +} + +// SocketPath returns unix socket location. This socket is normally +// used by the CLI to exchange PTY data with a client app. +func (c *Channel) SocketPath() string { + return filepath.Join(os.TempDir(), fmt.Sprintf("therealsshd-%d", c.RemoteID)) +} + +// ServeSocket starts socket handling loop. +func (c *Channel) ServeSocket() error { + os.Remove(c.SocketPath()) + debug("waiting for new socket connections on: %s", c.SocketPath()) + l, err := net.ListenUnix("unix", &net.UnixAddr{Name: c.SocketPath(), Net: "unix"}) + if err != nil { + return fmt.Errorf("failed to open unix socket: %s", err) + } + + c.listener = l + conn, err := l.AcceptUnix() + if err != nil { + return fmt.Errorf("failed to accept connection: %s", err) + } + + debug("got new socket connection") + defer func() { + conn.Close() + c.listener.Close() + c.listener = nil + os.Remove(c.SocketPath()) + }() + + go func() { + if _, err := io.Copy(c, conn); err != nil && !strings.Contains(err.Error(), "use of closed network connection") { + log.Println("failed to write to server:", err) + return + } + }() + + if _, err := io.Copy(conn, c); err != nil { + return fmt.Errorf("failed to write to client: %s", err) + } + + return nil +} + +// OpenPTY creates new PTY Session for the Channel. +func (c *Channel) OpenPTY(user *user.User, sz *pty.Winsize) (err error) { + if c.session != nil { + return errors.New("session is already started") + } + + debug("starting new session for %s with %#v", user.Username, sz) + c.session, err = OpenSession(user, sz) + if err != nil { + c.session = nil + return + } + + return +} + +// Shell starts shell process on Channel's PTY session. +func (c *Channel) Shell() error { + return c.Start("shell") +} + +// Start executes provided command on Channel's PTY session. +func (c *Channel) Start(command string) error { + if c.session == nil { + return errors.New("session is not started") + } + + go func() { + if err := c.serveSession(); err != nil { + log.Println("Session failure:", err) + } + }() + + debug("starting new pty process %s", command) + return c.session.Start(command) +} + +func (c *Channel) serveSession() error { + defer func() { + c.Send(CmdChannelServerClose, nil) // nolint + c.Close() + }() + + go func() { + if _, err := io.Copy(c.session, c); err != nil { + log.Println("PTY copy: ", err) + return + } + }() + + _, err := io.Copy(c, c.session) + if err != nil && !strings.Contains(err.Error(), "input/output error") { + return fmt.Errorf("client copy: %s", err) + } + + return nil +} + +// WindowChange resize PTY Session size. +func (c *Channel) WindowChange(sz *pty.Winsize) error { + if c.session == nil { + return errors.New("session is not started") + } + + return c.session.WindowChange(sz) +} + +// Close safely closes Channel resources. +func (c *Channel) Close() error { + select { + case <-c.dataCh: + default: + close(c.dataCh) + } + close(c.msgCh) + + var sErr, lErr error + if c.session != nil { + sErr = c.session.Close() + } + + if c.listener != nil { + lErr = c.listener.Close() + } + + if sErr != nil { + return sErr + } + + if lErr != nil { + return lErr + } + + return nil +} + +func debug(format string, v ...interface{}) { + if !Debug { + return + } + + log.Printf(format, v...) +} + +func appendU32(buf []byte, n uint32) []byte { + uintBuf := make([]byte, 4) + binary.BigEndian.PutUint32(uintBuf[0:], n) + return append(buf, uintBuf...) +} diff --git a/internal/therealssh/channel_pty_test.go b/internal/therealssh/channel_pty_test.go new file mode 100644 index 000000000..ed00c55f0 --- /dev/null +++ b/internal/therealssh/channel_pty_test.go @@ -0,0 +1,92 @@ +// +build !no_ci + +package therealssh + +import ( + "net" + "os/user" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/cipher" + + "github.com/skycoin/skywire/pkg/app" +) + +func TestChannelServe(t *testing.T) { + in, out := net.Pipe() + ch := OpenChannel(1, &app.Addr{PubKey: cipher.PubKey{}, Port: Port}, in) + + errCh := make(chan error) + go func() { + errCh <- ch.Serve() + }() + + req := appendU32([]byte{byte(RequestPTY)}, 10) + req = appendU32(req, 20) + req = appendU32(req, 0) + req = appendU32(req, 0) + u, err := user.Current() + require.NoError(t, err) + req = append(req, []byte(u.Username)...) + ch.msgCh <- req + time.Sleep(100 * time.Millisecond) + + buf := make([]byte, 6) + _, err = out.Read(buf) + require.NoError(t, err) + assert.Equal(t, byte(CmdChannelResponse), buf[0]) + assert.Equal(t, byte(ResponseConfirm), buf[5]) + + require.NotNil(t, ch.session) + + ch.msgCh <- []byte{byte(RequestShell)} + time.Sleep(100 * time.Millisecond) + + buf = make([]byte, 6) + _, err = out.Read(buf) + require.NoError(t, err) + assert.Equal(t, byte(CmdChannelResponse), buf[0]) + assert.Equal(t, byte(ResponseConfirm), buf[5]) + + buf = make([]byte, 10) + _, err = out.Read(buf) + require.NoError(t, err) + assert.Equal(t, byte(CmdChannelData), buf[0]) + assert.NotNil(t, buf[5:]) + + require.NotNil(t, ch.dataCh) + ch.dataCh <- []byte("echo foo\n") + time.Sleep(100 * time.Millisecond) + + buf = make([]byte, 15) + _, err = out.Read(buf) + require.NoError(t, err) + assert.Equal(t, byte(CmdChannelData), buf[0]) + assert.Contains(t, string(buf[5:]), "echo foo") + + buf = make([]byte, 15) + _, err = out.Read(buf) + require.NoError(t, err) + assert.Equal(t, byte(CmdChannelData), buf[0]) + assert.Contains(t, string(buf[5:]), "foo") + + req = appendU32([]byte{byte(RequestWindowChange)}, 40) + req = appendU32(req, 50) + req = appendU32(req, 0) + req = appendU32(req, 0) + ch.msgCh <- req + time.Sleep(100 * time.Millisecond) + + buf = make([]byte, 6) + _, err = out.Read(buf) + require.NoError(t, err) + assert.Equal(t, byte(CmdChannelResponse), buf[0]) + assert.Equal(t, byte(ResponseConfirm), buf[5]) + + require.NoError(t, ch.Close()) + require.NoError(t, <-errCh) +} diff --git a/internal/therealssh/channel_test.go b/internal/therealssh/channel_test.go new file mode 100644 index 000000000..fbb657a50 --- /dev/null +++ b/internal/therealssh/channel_test.go @@ -0,0 +1,126 @@ +package therealssh + +import ( + "encoding/binary" + "io" + "net" + "os" + "path/filepath" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/cipher" + + "github.com/skycoin/skywire/pkg/app" +) + +func TestChannelSendWrite(t *testing.T) { + pk, _ := cipher.GenerateKeyPair() + in, out := net.Pipe() + ch := OpenChannel(1, &app.Addr{PubKey: pk, Port: Port}, in) + + errCh := make(chan error) + go func() { + errCh <- ch.Send(CmdChannelOpen, []byte("foo")) + }() + + buf := make([]byte, 8) + _, err := out.Read(buf) + require.NoError(t, err) + require.NoError(t, <-errCh) + assert.Equal(t, byte(CmdChannelOpen), buf[0]) + assert.Equal(t, uint32(1), binary.BigEndian.Uint32(buf[1:])) + assert.Equal(t, []byte("foo"), buf[5:]) + + go func() { + _, err := ch.Write([]byte("foo")) + errCh <- err + }() + + buf = make([]byte, 8) + _, err = out.Read(buf) + require.NoError(t, err) + require.NoError(t, <-errCh) + assert.Equal(t, byte(CmdChannelData), buf[0]) + assert.Equal(t, []byte("foo"), buf[5:]) +} + +func TestChannelRead(t *testing.T) { + ch := OpenChannel(1, &app.Addr{PubKey: cipher.PubKey{}, Port: Port}, nil) + + buf := make([]byte, 3) + go func() { + ch.dataCh <- []byte("foo") + }() + + _, err := ch.Read(buf) + require.NoError(t, err) + assert.Equal(t, []byte("foo"), buf) + + close(ch.dataCh) + _, err = ch.Read(buf) + require.Error(t, err) + assert.Equal(t, io.EOF, err) +} + +func TestChannelRequest(t *testing.T) { + in, out := net.Pipe() + ch := OpenChannel(1, &app.Addr{PubKey: cipher.PubKey{}, Port: Port}, in) + + type data struct { + res []byte + err error + } + resCh := make(chan data) + go func() { + res, err := ch.Request(RequestPTY, []byte("foo")) + resCh <- data{res, err} + }() + + buf := make([]byte, 9) + _, err := out.Read(buf) + require.NoError(t, err) + assert.Equal(t, byte(CmdChannelOpen), buf[5]) + assert.Equal(t, []byte("foo"), buf[6:]) + + ch.msgCh <- []byte{ResponseConfirm, 0x4} + d := <-resCh + require.NoError(t, d.err) + assert.Equal(t, []byte{0x4}, d.res) +} + +func TestChannelServeSocket(t *testing.T) { + in, out := net.Pipe() + ch := OpenChannel(1, &app.Addr{PubKey: cipher.PubKey{}, Port: Port}, in) + + assert.Equal(t, filepath.Join(os.TempDir(), "therealsshd-1"), ch.SocketPath()) + + go func() { ch.ServeSocket() }() // nolint + + time.Sleep(100 * time.Millisecond) + conn, err := net.DialUnix("unix", nil, &net.UnixAddr{Name: ch.SocketPath(), Net: "unix"}) + require.NoError(t, err) + + _, err = conn.Write([]byte("foo")) + require.NoError(t, err) + time.Sleep(100 * time.Millisecond) + + buf := make([]byte, 8) + _, err = out.Read(buf) + require.NoError(t, err) + assert.Equal(t, byte(CmdChannelData), buf[0]) + assert.Equal(t, []byte("foo"), buf[5:]) + + ch.dataCh <- []byte("bar") + time.Sleep(100 * time.Millisecond) + + buf = make([]byte, 3) + _, err = conn.Read(buf) + require.NoError(t, err) + assert.Equal(t, []byte("bar"), buf) + + require.NoError(t, ch.Close()) +} diff --git a/internal/therealssh/client.go b/internal/therealssh/client.go new file mode 100644 index 000000000..9028133ee --- /dev/null +++ b/internal/therealssh/client.go @@ -0,0 +1,265 @@ +package therealssh + +import ( + "encoding/binary" + "errors" + "fmt" + "io" + "log" + "net" + "net/rpc" + "strings" + + "github.com/kr/pty" + + "github.com/skycoin/skywire/pkg/cipher" + + "github.com/skycoin/skywire/pkg/app" +) + +// Dialer dials to a remote node. +type Dialer interface { + Dial(raddr *app.Addr) (net.Conn, error) +} + +// Client proxies CLI's requests to a remote server. Control messages +// are sent via RPC interface. PTY data is exchanged via unix socket. +type Client struct { + dialer Dialer + chans *chanList +} + +// NewClient construct new RPC listener and Client from a given RPC address and app dialer. +func NewClient(rpcAddr string, d Dialer) (net.Listener, *Client, error) { + client := &Client{chans: newChanList(), dialer: d} + rpcClient := &RPCClient{client} + if err := rpc.Register(rpcClient); err != nil { + return nil, nil, fmt.Errorf("RPC register failure: %s", err) + } + rpc.HandleHTTP() + l, err := net.Listen("tcp", rpcAddr) + if err != nil { + return nil, nil, fmt.Errorf("RPC listen failure: %s", err) + } + + return l, client, nil +} + +// OpenChannel requests new Channel on the remote Server. +func (c *Client) OpenChannel(remotePK cipher.PubKey) (localID uint32, channel *Channel, cErr error) { + conn, err := c.dialer.Dial(&app.Addr{PubKey: remotePK, Port: Port}) + if err != nil { + cErr = fmt.Errorf("dial failed: %s", err) + return + } + + channel = OpenClientChannel(0, remotePK, conn) + debug("sending channel open command") + localID = c.chans.add(channel) + req := appendU32([]byte{byte(CmdChannelOpen)}, localID) + if _, err := conn.Write(req); err != nil { + cErr = fmt.Errorf("failed to send open channel request: %s", err) + return + } + + go func() { + if err := c.serveConn(conn); err != nil { + log.Println(err) + } + }() + + debug("waiting for channel open response") + data := <-channel.msgCh + debug("got channel open response") + if data[0] == ResponseFail { + cErr = fmt.Errorf("failed to open channel: %s", string(data[1:])) + return + } + + channel.RemoteID = binary.BigEndian.Uint32(data[1:]) + return localID, channel, cErr +} + +func (c *Client) resolveChannel(remotePK cipher.PubKey, localID uint32) (*Channel, error) { + channel := c.chans.getChannel(localID) + if channel == nil { + return nil, errors.New("channel is not opened") + } + + if channel.RemoteAddr.PubKey != remotePK { + return nil, errors.New("unauthorized") + } + + return channel, nil +} + +// Route defines routing rules for received App messages. +func (c *Client) serveConn(conn net.Conn) error { + for { + buf := make([]byte, 32*1024) + n, err := conn.Read(buf) + if err != nil { + if err == io.EOF { + return nil + } + return err + } + + raddr := conn.RemoteAddr().(*app.Addr) + payload := buf[:n] + + if len(payload) < 5 { + return errors.New("corrupted payload") + } + + channel, err := c.resolveChannel(raddr.PubKey, binary.BigEndian.Uint32(payload[1:])) + if err != nil { + return err + } + + data := payload[5:] + debug("got new command: %x", payload[0]) + switch CommandType(payload[0]) { + case CmdChannelOpenResponse, CmdChannelResponse: + channel.msgCh <- data + case CmdChannelData: + channel.dataCh <- data + case CmdChannelServerClose: + err = channel.Close() + default: + err = fmt.Errorf("unknown command: %x", payload[0]) + } + + if err != nil { + return err + } + } +} + +// Close closes all opened channels. +func (c *Client) Close() error { + for _, channel := range c.chans.dropAll() { + channel.Close() + } + + return nil +} + +// RPCClient exposes Client's methods via RPC interface. +type RPCClient struct { + c *Client +} + +// RequestPTY defines RPC request for a new PTY session. +func (rpc *RPCClient) RequestPTY(args *RequestPTYArgs, channelID *uint32) error { + debug("requesting SSH channel") + localID, channel, err := rpc.c.OpenChannel(args.RemotePK) + if err != nil { + return err + } + + debug("requesting PTY session") + if _, err := channel.Request(RequestPTY, args.ToBinary()); err != nil { + return fmt.Errorf("PTY request failure: %s", err) + } + + *channelID = localID + return nil +} + +// Exec defines new remote execution RPC request. +func (rpc *RPCClient) Exec(args *ExecArgs, socketPath *string) error { + channel := rpc.c.chans.getChannel(args.ChannelID) + if channel == nil { + return errors.New("unknown channel") + } + + debug("requesting shell process") + if args.CommandWithArgs == nil { + if _, err := channel.Request(RequestShell, nil); err != nil { + return fmt.Errorf("Shell request failure: %s", err) + } + } else { + if _, err := channel.Request(RequestExec, args.ToBinary()); err != nil { + return fmt.Errorf("Shell request failure: %s", err) + } + } + + waitCh := make(chan bool) + go func() { + debug("starting socket listener") + waitCh <- true + if err := channel.ServeSocket(); err != nil { + log.Println("Session failure:", err) + } + }() + + *socketPath = channel.SocketPath() + <-waitCh + return nil +} + +// WindowChange defines window size change RPC request. +func (rpc *RPCClient) WindowChange(args *WindowChangeArgs, _ *int) error { + channel := rpc.c.chans.getChannel(args.ChannelID) + if channel == nil { + return errors.New("unknown channel") + } + + if _, err := channel.Request(RequestWindowChange, args.ToBinary()); err != nil { + return fmt.Errorf("window change request failure: %s", err) + } + + return nil +} + +// Close defines close client RPC request. +func (rpc *RPCClient) Close(channelID *uint32, _ *struct{}) error { + channel := rpc.c.chans.getChannel(*channelID) + if channel == nil { + return errors.New("unknown channel") + } + + return channel.conn.Close() +} + +// RequestPTYArgs defines RequestPTY request parameters. +type RequestPTYArgs struct { + Username string + RemotePK cipher.PubKey + Size *pty.Winsize +} + +// ToBinary returns binary representation of Args. +func (args *RequestPTYArgs) ToBinary() []byte { + req := appendU32([]byte{}, uint32(args.Size.Cols)) + req = appendU32(req, uint32(args.Size.Rows)) + req = appendU32(req, uint32(args.Size.X)) + req = appendU32(req, uint32(args.Size.Y)) + return append(req, []byte(args.Username)...) +} + +// ExecArgs represents Exec response parameters. +type ExecArgs struct { + ChannelID uint32 + CommandWithArgs []string +} + +// ToBinary returns binary representation of Args. +func (args *ExecArgs) ToBinary() []byte { + return append([]byte{}, []byte(strings.Join(args.CommandWithArgs, " "))...) +} + +// WindowChangeArgs defines WindowChange request parameters. +type WindowChangeArgs struct { + ChannelID uint32 + Size *pty.Winsize +} + +// ToBinary returns binary representation of Args. +func (args *WindowChangeArgs) ToBinary() []byte { + req := appendU32([]byte{}, uint32(args.Size.Cols)) + req = appendU32(req, uint32(args.Size.Rows)) + req = appendU32(req, uint32(args.Size.X)) + return appendU32(req, uint32(args.Size.Y)) +} diff --git a/internal/therealssh/client_test.go b/internal/therealssh/client_test.go new file mode 100644 index 000000000..09a333b58 --- /dev/null +++ b/internal/therealssh/client_test.go @@ -0,0 +1,146 @@ +package therealssh + +import ( + "encoding/binary" + "net" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/cipher" + + "github.com/skycoin/skywire/pkg/app" +) + +func TestClientOpenChannel(t *testing.T) { + pk, _ := cipher.GenerateKeyPair() + conn, dialer := newPipeDialer() + c := &Client{dialer, newChanList()} + + type data struct { + ch *Channel + err error + } + resCh := make(chan data) + go func() { + _, ch, err := c.OpenChannel(pk) + resCh <- data{ch, err} + }() + + time.Sleep(100 * time.Millisecond) + buf := make([]byte, 5) + _, err := conn.Read(buf) + require.NoError(t, err) + assert.Equal(t, byte(CmdChannelOpen), buf[0]) + assert.Equal(t, uint32(0), binary.BigEndian.Uint32(buf[1:])) + + ch := c.chans.getChannel(0) + require.NotNil(t, ch) + ch.msgCh <- appendU32([]byte{ResponseConfirm}, 4) + + d := <-resCh + require.NoError(t, d.err) + require.NotNil(t, d.ch) + assert.Equal(t, uint32(4), d.ch.RemoteID) + assert.Equal(t, pk, d.ch.RemoteAddr.PubKey) +} + +func TestClientHandleResponse(t *testing.T) { + pk, _ := cipher.GenerateKeyPair() + c := &Client{nil, newChanList()} + in, out := net.Pipe() + errCh := make(chan error) + go func() { + errCh <- c.serveConn(&mockConn{out, &app.Addr{PubKey: pk, Port: Port}}) + }() + + _, err := in.Write(appendU32([]byte{byte(CmdChannelResponse)}, 0)) + require.NoError(t, err) + assert.Equal(t, "channel is not opened", (<-errCh).Error()) + + go func() { + errCh <- c.serveConn(&mockConn{out, &app.Addr{PubKey: cipher.PubKey{}, Port: Port}}) + }() + + ch := OpenChannel(4, &app.Addr{PubKey: pk, Port: Port}, nil) + c.chans.add(ch) + + _, err = in.Write(appendU32([]byte{byte(CmdChannelResponse)}, 0)) + require.NoError(t, err) + assert.Equal(t, "unauthorized", (<-errCh).Error()) + + go func() { + errCh <- c.serveConn(&mockConn{out, &app.Addr{PubKey: pk, Port: Port}}) + }() + dataCh := make(chan []byte) + go func() { + dataCh <- <-ch.msgCh + }() + + data := append(appendU32([]byte{byte(CmdChannelResponse)}, 0), []byte("foo")...) + _, err = in.Write(data) + require.NoError(t, err) + assert.Equal(t, []byte("foo"), <-dataCh) +} + +func TestClientHandleData(t *testing.T) { + pk, _ := cipher.GenerateKeyPair() + c := &Client{nil, newChanList()} + in, out := net.Pipe() + errCh := make(chan error) + go func() { + errCh <- c.serveConn(&mockConn{out, &app.Addr{PubKey: pk, Port: Port}}) + }() + + _, err := in.Write(appendU32([]byte{byte(CmdChannelData)}, 0)) + require.NoError(t, err) + assert.Equal(t, "channel is not opened", (<-errCh).Error()) + + go func() { + errCh <- c.serveConn(&mockConn{out, &app.Addr{PubKey: cipher.PubKey{}, Port: Port}}) + }() + + ch := OpenChannel(4, &app.Addr{PubKey: pk, Port: Port}, nil) + c.chans.add(ch) + + _, err = in.Write(appendU32([]byte{byte(CmdChannelData)}, 0)) + require.NoError(t, err) + assert.Equal(t, "unauthorized", (<-errCh).Error()) + + go func() { + errCh <- c.serveConn(&mockConn{out, &app.Addr{PubKey: pk, Port: Port}}) + }() + dataCh := make(chan []byte) + go func() { + dataCh <- <-ch.dataCh + }() + + data := append(appendU32([]byte{byte(CmdChannelData)}, 0), []byte("foo")...) + _, err = in.Write(data) + require.NoError(t, err) + assert.Equal(t, []byte("foo"), <-dataCh) +} + +type pipeDialer struct { + conn net.Conn +} + +func newPipeDialer() (net.Conn, *pipeDialer) { + in, out := net.Pipe() + return out, &pipeDialer{in} +} + +func (d *pipeDialer) Dial(raddr *app.Addr) (net.Conn, error) { + return d.conn, nil +} + +type mockConn struct { + net.Conn + addr *app.Addr +} + +func (conn *mockConn) RemoteAddr() net.Addr { + return conn.addr +} diff --git a/internal/therealssh/server.go b/internal/therealssh/server.go new file mode 100644 index 000000000..ba7b788ae --- /dev/null +++ b/internal/therealssh/server.go @@ -0,0 +1,180 @@ +package therealssh + +import ( + "encoding/binary" + "errors" + "fmt" + "io" + "log" + "net" + + "github.com/skycoin/skywire/pkg/app" + "github.com/skycoin/skywire/pkg/cipher" +) + +// CommandType represents global protocol messages. +type CommandType byte + +const ( + // CmdChannelOpen represents channel open message. + CmdChannelOpen CommandType = iota + // CmdChannelOpenResponse represents channel open response message. + CmdChannelOpenResponse + // CmdChannelRequest represents request message. + CmdChannelRequest + // CmdChannelResponse represents response message. + CmdChannelResponse + // CmdChannelData represents data message. + CmdChannelData + // CmdChannelServerClose represents server message about closing channel. + CmdChannelServerClose +) + +// RequestType represents channel requests types. +type RequestType byte + +const ( + // RequestPTY represents request for new PTY session. + RequestPTY RequestType = iota + // RequestShell represents request for new shell. + RequestShell + // RequestExec represents request for new process. + RequestExec + // RequestWindowChange represents request for PTY size change. + RequestWindowChange +) + +const ( + // ResponseFail represents failed response. + ResponseFail byte = iota + // ResponseConfirm represents successful response. + ResponseConfirm +) + +var responseUnauthorised = append([]byte{ResponseFail}, []byte("unauthorised")...) + +// Server handles remote PTY data exchange. +type Server struct { + auth Authorizer + chans *chanList +} + +// NewServer constructs new Server. +func NewServer(auth Authorizer) *Server { + return &Server{auth, newChanList()} +} + +// OpenChannel opens new client channel. +func (s *Server) OpenChannel(remoteAddr *app.Addr, remoteID uint32, conn net.Conn) error { + debug("opening new channel") + channel := OpenChannel(remoteID, remoteAddr, conn) + var res []byte + + if s.auth.Authorize(remoteAddr.PubKey) != nil { + res = responseUnauthorised + } else { + res = appendU32([]byte{ResponseConfirm}, s.chans.add(channel)) + } + + debug("sending response") + if err := channel.Send(CmdChannelOpenResponse, res); err != nil { + channel.Close() + return fmt.Errorf("channel response failure: %s", err) + } + + go func() { + debug("listening for channel requests") + if err := channel.Serve(); err != nil { + log.Println("channel failure:", err) + } + }() + + return nil +} + +// HandleRequest implements multiplexing logic for request messages. +func (s *Server) HandleRequest(remotePK cipher.PubKey, localID uint32, data []byte) error { + channel := s.chans.getChannel(localID) + if channel == nil { + return errors.New("channel is not opened") + } + + if s.auth.Authorize(remotePK) != nil || channel.RemoteAddr.PubKey != remotePK { + if err := channel.Send(CmdChannelResponse, responseUnauthorised); err != nil { + log.Println("failed to send response: ", err) + } + return nil + } + + channel.msgCh <- data + return nil +} + +// HandleData implements multiplexing logic for data messages. +func (s *Server) HandleData(remotePK cipher.PubKey, localID uint32, data []byte) error { + channel := s.chans.getChannel(localID) + if channel == nil { + return errors.New("channel is not opened") + } + + if s.auth.Authorize(remotePK) != nil || channel.RemoteAddr.PubKey != remotePK { + return errors.New("unauthorised") + } + + if channel.session == nil { + return errors.New("session is not started") + } + + channel.dataCh <- data + return nil +} + +// Serve defines routing rules for received App messages. +func (s *Server) Serve(conn net.Conn) error { + for { + buf := make([]byte, 32*1024) + n, err := conn.Read(buf) + if err != nil { + if err == io.EOF { + return nil + } + + return err + } + + raddr := conn.RemoteAddr().(*app.Addr) + payload := buf[:n] + + if len(payload) < 5 { + return errors.New("corrupted payload") + } + + payloadID := binary.BigEndian.Uint32(payload[1:]) + data := payload[5:] + + debug("got new command: %x", payload[0]) + switch CommandType(payload[0]) { + case CmdChannelOpen: + err = s.OpenChannel(raddr, payloadID, conn) + case CmdChannelRequest: + err = s.HandleRequest(raddr.PubKey, payloadID, data) + case CmdChannelData: + err = s.HandleData(raddr.PubKey, payloadID, data) + default: + err = fmt.Errorf("unknown command: %x", payload[0]) + } + + if err != nil { + return err + } + } +} + +// Close closes all opened channels. +func (s *Server) Close() error { + for _, channel := range s.chans.dropAll() { + channel.Close() + } + + return nil +} diff --git a/internal/therealssh/server_test.go b/internal/therealssh/server_test.go new file mode 100644 index 000000000..a83b77410 --- /dev/null +++ b/internal/therealssh/server_test.go @@ -0,0 +1,108 @@ +package therealssh + +import ( + "encoding/binary" + "net" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/cipher" + + "github.com/skycoin/skywire/pkg/app" +) + +func TestServerOpenChannel(t *testing.T) { + pk, _ := cipher.GenerateKeyPair() + s := NewServer(&ListAuthorizer{[]cipher.PubKey{pk}}) + + in, out := net.Pipe() + errCh := make(chan error) + go func() { + errCh <- s.OpenChannel(&app.Addr{PubKey: cipher.PubKey{}, Port: Port}, 4, in) + }() + + buf := make([]byte, 18) + _, err := out.Read(buf) + require.NoError(t, err) + require.NoError(t, <-errCh) + assert.Equal(t, byte(CmdChannelOpenResponse), buf[0]) + assert.Equal(t, byte(ResponseFail), buf[5]) + assert.Equal(t, []byte("unauthorised"), buf[6:]) + + go func() { + errCh <- s.OpenChannel(&app.Addr{PubKey: pk, Port: Port}, 4, in) + }() + + buf = make([]byte, 10) + _, err = out.Read(buf) + require.NoError(t, err) + require.NoError(t, <-errCh) + assert.Equal(t, byte(CmdChannelOpenResponse), buf[0]) + assert.Equal(t, byte(ResponseConfirm), buf[5]) + assert.Equal(t, uint32(0), binary.BigEndian.Uint32(buf[6:])) +} + +func TestServerHandleRequest(t *testing.T) { + pk, _ := cipher.GenerateKeyPair() + s := NewServer(&ListAuthorizer{[]cipher.PubKey{pk}}) + + err := s.HandleRequest(pk, 0, []byte("foo")) + require.Error(t, err) + assert.Equal(t, "channel is not opened", err.Error()) + + in, out := net.Pipe() + ch := OpenChannel(4, &app.Addr{PubKey: pk, Port: Port}, in) + s.chans.add(ch) + + errCh := make(chan error) + go func() { + errCh <- s.HandleRequest(cipher.PubKey{}, 0, []byte("foo")) + }() + + buf := make([]byte, 18) + _, err = out.Read(buf) + require.NoError(t, err) + require.NoError(t, <-errCh) + assert.Equal(t, byte(CmdChannelResponse), buf[0]) + assert.Equal(t, byte(ResponseFail), buf[5]) + assert.Equal(t, []byte("unauthorised"), buf[6:]) + + dataCh := make(chan []byte) + go func() { + dataCh <- <-ch.msgCh + }() + + require.NoError(t, s.HandleRequest(pk, 0, []byte("foo"))) + assert.Equal(t, []byte("foo"), <-dataCh) +} + +func TestServerHandleData(t *testing.T) { + pk, _ := cipher.GenerateKeyPair() + s := NewServer(&ListAuthorizer{[]cipher.PubKey{pk}}) + + err := s.HandleData(pk, 0, []byte("foo")) + require.Error(t, err) + assert.Equal(t, "channel is not opened", err.Error()) + + ch := OpenChannel(4, &app.Addr{PubKey: pk, Port: Port}, nil) + s.chans.add(ch) + + err = s.HandleData(cipher.PubKey{}, 0, []byte("foo")) + require.Error(t, err) + assert.Equal(t, "unauthorised", err.Error()) + + err = s.HandleData(pk, 0, []byte("foo")) + require.Error(t, err) + assert.Equal(t, "session is not started", err.Error()) + + ch.session = &Session{} + dataCh := make(chan []byte) + go func() { + dataCh <- <-ch.dataCh + }() + + require.NoError(t, s.HandleData(pk, 0, []byte("foo"))) + assert.Equal(t, []byte("foo"), <-dataCh) +} diff --git a/internal/therealssh/session.go b/internal/therealssh/session.go new file mode 100644 index 000000000..555beeb0d --- /dev/null +++ b/internal/therealssh/session.go @@ -0,0 +1,127 @@ +package therealssh + +import ( + "fmt" + "os" + "os/exec" + "os/user" + "strconv" + "strings" + "syscall" + + "github.com/kr/pty" +) + +// Session represents PTY sessions. Channel normally handles Session's lifecycle. +type Session struct { + pty, tty *os.File + + user *user.User + cmd *exec.Cmd +} + +// OpenSession constructs new PTY sessions. +func OpenSession(user *user.User, sz *pty.Winsize) (s *Session, err error) { + s = &Session{user: user} + s.pty, s.tty, err = pty.Open() + if err != nil { + err = fmt.Errorf("failed to open PTY: %s", err) + return + } + + if sz == nil { + return + } + + if err = pty.Setsize(s.pty, sz); err != nil { + s.Close() + err = fmt.Errorf("failed to set PTY size: %s", err) + } + + return +} + +// Start executes command on Session's PTY. +func (s *Session) Start(command string) (err error) { + defer s.tty.Close() + + if command == "shell" { + if command, err = resolveShell(s.user); err != nil { + return err + } + } + + components := strings.Split(command, " ") + cmd := exec.Command(components[0], components[1:]...) // nolint + cmd.Dir = s.user.HomeDir + cmd.Stdout = s.tty + cmd.Stdin = s.tty + cmd.Stderr = s.tty + if cmd.SysProcAttr == nil { + cmd.SysProcAttr = &syscall.SysProcAttr{} + } + cmd.SysProcAttr.Setctty = true + cmd.SysProcAttr.Setsid = true + cmd.SysProcAttr.Credential = s.credentials() + + s.cmd = cmd + return cmd.Start() +} + +// Wait for pty process to exit. +func (s *Session) Wait() error { + if s.cmd == nil { + return nil + } + + return s.cmd.Wait() +} + +// WindowChange resize PTY Session size. +func (s *Session) WindowChange(sz *pty.Winsize) error { + if err := pty.Setsize(s.pty, sz); err != nil { + return fmt.Errorf("failed to set PTY size: %s", err) + } + + return nil +} + +func (s *Session) credentials() *syscall.Credential { + if s.user == nil { + return nil + } + + u, err := user.Current() + if err != nil { + return nil + } + + if u.Uid == s.user.Uid { + return nil + } + + uid, err := strconv.Atoi(s.user.Uid) + if err != nil { + return nil + } + + gid, err := strconv.Atoi(s.user.Gid) + if err != nil { + return nil + } + + return &syscall.Credential{Uid: uint32(uid), Gid: uint32(gid)} +} + +func (s *Session) Write(p []byte) (int, error) { + return s.pty.Write(p) +} + +func (s *Session) Read(p []byte) (int, error) { + return s.pty.Read(p) +} + +// Close releases PTY resources. +func (s *Session) Close() error { + return s.pty.Close() +} diff --git a/internal/therealssh/shell.go b/internal/therealssh/shell.go new file mode 100644 index 000000000..d752f3678 --- /dev/null +++ b/internal/therealssh/shell.go @@ -0,0 +1,20 @@ +// +build dragonfly freebsd linux netbsd openbsd + +package therealssh + +import ( + "fmt" + "os/exec" + "os/user" + "strings" +) + +func resolveShell(u *user.User) (string, error) { + out, err := exec.Command("getent", "passwd", u.Uid).Output() // nolint + if err != nil { + return "", fmt.Errorf("getent failure: %s", err) + } + + ent := strings.Split(strings.TrimSuffix(string(out), "\n"), ":") + return ent[6], nil +} diff --git a/internal/therealssh/shell_darwin.go b/internal/therealssh/shell_darwin.go new file mode 100644 index 000000000..b1dd41eae --- /dev/null +++ b/internal/therealssh/shell_darwin.go @@ -0,0 +1,25 @@ +package therealssh + +import ( + "fmt" + "os/exec" + "os/user" + "regexp" +) + +func resolveShell(u *user.User) (string, error) { + dir := "Local/Default/Users/" + u.Username + out, err := exec.Command("dscl", "localhost", "-read", dir, "UserShell").Output() + if err != nil { + return "", err + } + + re := regexp.MustCompile("UserShell: (/[^ ]+)\n") + matched := re.FindStringSubmatch(string(out)) + shell := matched[1] + if shell == "" { + return "", fmt.Errorf("Invalid output: %s", string(out)) + } + + return shell, nil +} diff --git a/pkg/app/app.go b/pkg/app/app.go new file mode 100644 index 000000000..5b0d70d98 --- /dev/null +++ b/pkg/app/app.go @@ -0,0 +1,285 @@ +/* +Package app implements app to node communication interface. +*/ +package app + +import ( + "encoding/json" + "errors" + "fmt" + "io" + "net" + "os" + "os/exec" + "path/filepath" + "sync" + "time" + + "github.com/skycoin/skywire/internal/ioutil" +) + +const ( + // DefaultIn holds value of inFd for Apps setup via Node + DefaultIn = uintptr(3) + + // DefaultOut holds value of outFd for Apps setup via Node + DefaultOut = uintptr(4) +) + +// Config defines configuration parameters for App +type Config struct { + AppName string `json:"app-name"` + AppVersion string `json:"app-version"` + ProtocolVersion string `json:"protocol-version"` +} + +// App represents client side in app's client-server communication +// interface. +type App struct { + config Config + proto *Protocol + + acceptChan chan [2]*Addr + doneChan chan struct{} + + conns map[LoopAddr]io.ReadWriteCloser + mu sync.Mutex +} + +// Command setups pipe connection and returns *exec.Cmd for an App +// with initialized connection. +func Command(config *Config, appsPath string, args []string) (net.Conn, *exec.Cmd, error) { + srvConn, clientConn, err := OpenPipeConn() + if err != nil { + return nil, nil, fmt.Errorf("failed to open piped connection: %s", err) + } + + binaryPath := filepath.Join(appsPath, fmt.Sprintf("%s.v%s", config.AppName, config.AppVersion)) + cmd := exec.Command(binaryPath, args...) + cmd.ExtraFiles = []*os.File{clientConn.inFile, clientConn.outFile} + + return srvConn, cmd, nil +} + +// SetupFromPipe connects to a pipe, starts protocol loop and performs +// initialization request with the Server. +func SetupFromPipe(config *Config, inFD, outFD uintptr) (*App, error) { + pipeConn, err := NewPipeConn(inFD, outFD) + if err != nil { + return nil, fmt.Errorf("failed to open pipe: %s", err) + } + + app := &App{ + config: *config, + proto: NewProtocol(pipeConn), + acceptChan: make(chan [2]*Addr), + doneChan: make(chan struct{}), + conns: make(map[LoopAddr]io.ReadWriteCloser), + } + + go app.handleProto() + + if err := app.proto.Send(FrameInit, config, nil); err != nil { + app.Close() + return nil, fmt.Errorf("INIT handshake failed: %s", err) + } + + return app, nil +} + +// Setup setups app using default pair of pipes +func Setup(config *Config) (*App, error) { + return SetupFromPipe(config, DefaultIn, DefaultOut) +} + +// Close implements io.Closer for an App. +func (app *App) Close() error { + select { + case <-app.doneChan: // already closed + default: + close(app.doneChan) + } + + app.mu.Lock() + for addr, conn := range app.conns { + app.proto.Send(FrameClose, &addr, nil) // nolint: errcheck + conn.Close() + } + app.mu.Unlock() + + return app.proto.Close() +} + +// Accept awaits for incoming loop confirmation request from a Node and +// returns net.Conn for received loop. +func (app *App) Accept() (net.Conn, error) { + addrs := <-app.acceptChan + laddr := addrs[0] + raddr := addrs[1] + + addr := &LoopAddr{laddr.Port, *raddr} + conn, out := net.Pipe() + app.mu.Lock() + app.conns[*addr] = conn + app.mu.Unlock() + go app.serveConn(addr, conn) + return newAppConn(out, laddr, raddr), nil +} + +// Dial sends create loop request to a Node and returns net.Conn for created loop. +func (app *App) Dial(raddr *Addr) (net.Conn, error) { + laddr := &Addr{} + err := app.proto.Send(FrameCreateLoop, raddr, laddr) + if err != nil { + return nil, err + } + + addr := &LoopAddr{laddr.Port, *raddr} + conn, out := net.Pipe() + app.mu.Lock() + app.conns[*addr] = conn + app.mu.Unlock() + go app.serveConn(addr, conn) + return newAppConn(out, laddr, raddr), nil +} + +// Addr returns empty Addr, implements net.Listener. +func (app *App) Addr() net.Addr { + return &Addr{} +} + +func (app *App) handleProto() { + err := app.proto.Serve(func(frame Frame, payload []byte) (res interface{}, err error) { + switch frame { + case FrameConfirmLoop: + err = app.confirmLoop(payload) + case FrameSend: + err = app.forwardPacket(payload) + case FrameClose: + err = app.closeConn(payload) + default: + err = errors.New("unexpected frame") + } + + return res, err + }) + + if err != nil { + return + } +} + +func (app *App) serveConn(addr *LoopAddr, conn io.ReadWriteCloser) { + for { + buf := make([]byte, 32*1024) + n, err := conn.Read(buf) + if err != nil { + break + } + + packet := &Packet{Addr: addr, Payload: buf[:n]} + if err := app.proto.Send(FrameSend, packet, nil); err != nil { + break + } + } + + if app.conns[*addr] != nil { + app.proto.Send(FrameClose, &addr, nil) // nolint: errcheck + } + + app.mu.Lock() + delete(app.conns, *addr) + app.mu.Unlock() +} + +func (app *App) forwardPacket(data []byte) error { + packet := &Packet{} + if err := json.Unmarshal(data, packet); err != nil { + return err + } + + app.mu.Lock() + conn := app.conns[*packet.Addr] + app.mu.Unlock() + + if conn == nil { + return errors.New("no listeners") + } + + _, err := conn.Write(packet.Payload) + return err +} + +func (app *App) closeConn(data []byte) error { + addr := &LoopAddr{} + if err := json.Unmarshal(data, addr); err != nil { + return err + } + + app.mu.Lock() + conn := app.conns[*addr] + delete(app.conns, *addr) + app.mu.Unlock() + + if conn == nil { + return nil + } + + return conn.Close() +} + +func (app *App) confirmLoop(data []byte) error { + addrs := [2]*Addr{} + if err := json.Unmarshal(data, &addrs); err != nil { + return err + } + + laddr := addrs[0] + raddr := addrs[1] + + app.mu.Lock() + conn := app.conns[LoopAddr{laddr.Port, *raddr}] + app.mu.Unlock() + + if conn != nil { + return errors.New("loop is already created") + } + + select { + case app.acceptChan <- addrs: + default: + } + + return nil +} + +type appConn struct { + net.Conn + rw *ioutil.AckReadWriter + laddr *Addr + raddr *Addr +} + +func newAppConn(conn net.Conn, laddr, raddr *Addr) *appConn { + return &appConn{conn, ioutil.NewAckReadWriter(conn, 100*time.Millisecond), laddr, raddr} +} + +func (conn *appConn) LocalAddr() net.Addr { + return conn.laddr +} + +func (conn *appConn) RemoteAddr() net.Addr { + return conn.raddr +} + +func (conn *appConn) Write(p []byte) (n int, err error) { + return conn.rw.Write(p) +} + +func (conn *appConn) Read(p []byte) (n int, err error) { + return conn.rw.Read(p) +} + +func (conn *appConn) Close() error { + return conn.rw.Close() +} diff --git a/pkg/app/app_test.go b/pkg/app/app_test.go new file mode 100644 index 000000000..f6a16261d --- /dev/null +++ b/pkg/app/app_test.go @@ -0,0 +1,254 @@ +package app + +import ( + "encoding/json" + "errors" + "io" + "net" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/cipher" +) + +func TestAppDial(t *testing.T) { + lpk, _ := cipher.GenerateKeyPair() + rpk, _ := cipher.GenerateKeyPair() + + in, out := net.Pipe() + proto := NewProtocol(out) + app := &App{proto: NewProtocol(in), conns: make(map[LoopAddr]io.ReadWriteCloser)} + go app.handleProto() + + dataCh := make(chan []byte) + go proto.Serve(func(f Frame, p []byte) (interface{}, error) { // nolint: errcheck + if f == FrameCreateLoop { + return &Addr{PubKey: lpk, Port: 2}, nil + } + + if f == FrameClose { + go func() { dataCh <- p }() + return nil, nil + } + + return nil, errors.New("unexpected frame") + }) + conn, err := app.Dial(&Addr{PubKey: rpk, Port: 3}) + require.NoError(t, err) + require.NotNil(t, conn) + assert.Equal(t, rpk.Hex()+":3", conn.RemoteAddr().String()) + assert.Equal(t, lpk.Hex()+":2", conn.LocalAddr().String()) + + require.NotNil(t, app.conns[LoopAddr{2, Addr{rpk, 3}}]) + require.NoError(t, conn.Close()) + + time.Sleep(100 * time.Millisecond) + + addr := &LoopAddr{} + require.NoError(t, json.Unmarshal(<-dataCh, addr)) + assert.Equal(t, uint16(2), addr.Port) + assert.Equal(t, rpk, addr.Remote.PubKey) + assert.Equal(t, uint16(3), addr.Remote.Port) + + app.mu.Lock() + require.Len(t, app.conns, 0) + app.mu.Unlock() + require.NoError(t, proto.Close()) +} + +func TestAppAccept(t *testing.T) { + lpk, _ := cipher.GenerateKeyPair() + rpk, _ := cipher.GenerateKeyPair() + in, out := net.Pipe() + app := &App{proto: NewProtocol(in), acceptChan: make(chan [2]*Addr), conns: make(map[LoopAddr]io.ReadWriteCloser)} + go app.handleProto() + + proto := NewProtocol(out) + go proto.Serve(nil) // nolint: errcheck + + connCh := make(chan net.Conn) + errCh := make(chan error) + go func() { + conn, err := app.Accept() + errCh <- err + connCh <- conn + }() + + require.NoError(t, proto.Send(FrameConfirmLoop, [2]*Addr{&Addr{lpk, 2}, &Addr{rpk, 3}}, nil)) + + require.NoError(t, <-errCh) + conn := <-connCh + require.NotNil(t, conn) + assert.Equal(t, rpk.Hex()+":3", conn.RemoteAddr().String()) + assert.Equal(t, lpk.Hex()+":2", conn.LocalAddr().String()) + require.Len(t, app.conns, 1) + + go func() { + conn, err := app.Accept() + errCh <- err + connCh <- conn + }() + + require.NoError(t, proto.Send(FrameConfirmLoop, [2]*Addr{&Addr{lpk, 2}, &Addr{rpk, 2}}, nil)) + + require.NoError(t, <-errCh) + conn = <-connCh + require.NotNil(t, conn) + assert.Equal(t, rpk.Hex()+":2", conn.RemoteAddr().String()) + assert.Equal(t, lpk.Hex()+":2", conn.LocalAddr().String()) + require.Len(t, app.conns, 2) +} + +func TestAppWrite(t *testing.T) { + rpk, _ := cipher.GenerateKeyPair() + in, out := net.Pipe() + appIn, appOut := net.Pipe() + app := &App{proto: NewProtocol(in)} + go app.handleProto() + go app.serveConn(&LoopAddr{2, Addr{rpk, 3}}, appIn) + + proto := NewProtocol(out) + dataCh := make(chan []byte) + go func() { + proto.Serve(func(f Frame, p []byte) (interface{}, error) { // nolint: errcheck + if f != FrameSend { + return nil, errors.New("unexpected frame") + } + + go func() { dataCh <- p }() + return nil, nil + }) + }() + + n, err := appOut.Write([]byte("foo")) + require.NoError(t, err) + assert.Equal(t, 3, n) + + packet := &Packet{} + require.NoError(t, json.Unmarshal(<-dataCh, packet)) + assert.Equal(t, rpk, packet.Addr.Remote.PubKey) + assert.Equal(t, uint16(3), packet.Addr.Remote.Port) + assert.Equal(t, uint16(2), packet.Addr.Port) + assert.Equal(t, []byte("foo"), packet.Payload) + + require.NoError(t, proto.Close()) + require.NoError(t, appOut.Close()) +} + +func TestAppRead(t *testing.T) { + pk, _ := cipher.GenerateKeyPair() + in, out := net.Pipe() + appIn, appOut := net.Pipe() + app := &App{proto: NewProtocol(in), conns: map[LoopAddr]io.ReadWriteCloser{LoopAddr{2, Addr{pk, 3}}: appIn}} + go app.handleProto() + + proto := NewProtocol(out) + go proto.Serve(nil) // nolint: errcheck + + errCh := make(chan error) + go func() { + errCh <- proto.Send(FrameSend, &Packet{&LoopAddr{2, Addr{pk, 3}}, []byte("foo")}, nil) + }() + + buf := make([]byte, 3) + n, err := appOut.Read(buf) + require.NoError(t, err) + assert.Equal(t, 3, n) + assert.Equal(t, []byte("foo"), buf) + + require.NoError(t, <-errCh) + + require.NoError(t, proto.Close()) + require.NoError(t, appOut.Close()) +} + +func TestAppSetup(t *testing.T) { + srvConn, clientConn, err := OpenPipeConn() + require.NoError(t, err) + + srvConn.SetDeadline(time.Now().Add(time.Second)) // nolint: errcheck + clientConn.SetDeadline(time.Now().Add(time.Second)) // nolint: errcheck + + proto := NewProtocol(srvConn) + dataCh := make(chan []byte) + go proto.Serve(func(f Frame, p []byte) (interface{}, error) { // nolint: errcheck, unparam + if f != FrameInit { + return nil, errors.New("unexpected frame") + } + + go func() { dataCh <- p }() + return nil, nil + }) + + inFd, outFd := clientConn.Fd() + _, err = SetupFromPipe(&Config{AppName: "foo", AppVersion: "0.0.1", ProtocolVersion: "0.0.1"}, inFd, outFd) + require.NoError(t, err) + + config := &Config{} + require.NoError(t, json.Unmarshal(<-dataCh, config)) + assert.Equal(t, "foo", config.AppName) + assert.Equal(t, "0.0.1", config.AppVersion) + assert.Equal(t, "0.0.1", config.ProtocolVersion) + + require.NoError(t, proto.Close()) +} + +func TestAppCloseConn(t *testing.T) { + pk, _ := cipher.GenerateKeyPair() + in, out := net.Pipe() + appIn, appOut := net.Pipe() + app := &App{proto: NewProtocol(in), conns: map[LoopAddr]io.ReadWriteCloser{LoopAddr{2, Addr{pk, 3}}: appIn}} + go app.handleProto() + + proto := NewProtocol(out) + go proto.Serve(nil) // nolint: errcheck + + errCh := make(chan error) + go func() { + errCh <- proto.Send(FrameClose, &LoopAddr{2, Addr{pk, 3}}, nil) + }() + + _, err := appOut.Read(make([]byte, 3)) + require.Equal(t, io.EOF, err) + require.Len(t, app.conns, 0) +} + +func TestAppClose(t *testing.T) { + pk, _ := cipher.GenerateKeyPair() + in, out := net.Pipe() + appIn, appOut := net.Pipe() + app := &App{proto: NewProtocol(in), conns: map[LoopAddr]io.ReadWriteCloser{LoopAddr{2, Addr{pk, 3}}: appIn}, doneChan: make(chan struct{})} + go app.handleProto() + + proto := NewProtocol(out) + dataCh := make(chan []byte) + go proto.Serve(func(f Frame, p []byte) (interface{}, error) { // nolint: errcheck, unparam + if f != FrameClose { + return nil, errors.New("unexpected frame") + } + + go func() { dataCh <- p }() + return nil, nil + }) + + require.NoError(t, app.Close()) + + _, err := appOut.Read(make([]byte, 3)) + require.Equal(t, io.EOF, err) + + addr := &LoopAddr{} + require.NoError(t, json.Unmarshal(<-dataCh, addr)) + assert.Equal(t, uint16(2), addr.Port) + assert.Equal(t, pk, addr.Remote.PubKey) + assert.Equal(t, uint16(3), addr.Remote.Port) +} + +func TestAppCommand(t *testing.T) { + conn, cmd, err := Command(&Config{}, "/apps", nil) + require.NoError(t, err) + assert.NotNil(t, conn) + assert.NotNil(t, cmd) +} diff --git a/pkg/app/conn.go b/pkg/app/conn.go new file mode 100644 index 000000000..4bc792710 --- /dev/null +++ b/pkg/app/conn.go @@ -0,0 +1,126 @@ +package app + +import ( + "fmt" + "net" + "os" + "time" +) + +// PipeAddr implements net.Addr for PipeConn. +type PipeAddr struct { + pipePath string +} + +// Network returns custom pipe Network type. +func (pa *PipeAddr) Network() string { + return "pipe" +} + +func (pa *PipeAddr) String() string { + return pa.pipePath +} + +// PipeConn implements net.Conn interface over a pair of unix pipes. +type PipeConn struct { + inFile *os.File + outFile *os.File +} + +// OpenPipeConn creates a pair of unix pipe and setups PipeConn over +// that pair. +func OpenPipeConn() (srvConn *PipeConn, clientConn *PipeConn, err error) { + srvIn, clientOut, err := os.Pipe() + if err != nil { + err = fmt.Errorf("failed to open server pipe: %s", err) + return + } + + clientIn, srvOut, err := os.Pipe() + if err != nil { + err = fmt.Errorf("failed to open client pipe: %s", err) + return + } + + clientConn = &PipeConn{clientIn, clientOut} + srvConn = &PipeConn{srvIn, srvOut} + return srvConn, clientConn, err +} + +// NewPipeConn constructs new PipeConn from already opened pipe fds. +func NewPipeConn(inFd, outFd uintptr) (*PipeConn, error) { + inFile := os.NewFile(inFd, "|0") + if _, err := inFile.Stat(); os.IsNotExist(err) { + return nil, fmt.Errorf("inFile does not exist") + } + + outFile := os.NewFile(outFd, "|1") + if _, err := outFile.Stat(); os.IsNotExist(err) { + return nil, fmt.Errorf("outFile does not exist") + } + + return &PipeConn{inFile, outFile}, nil +} + +func (conn *PipeConn) Read(b []byte) (n int, err error) { + return conn.inFile.Read(b) +} + +func (conn *PipeConn) Write(b []byte) (n int, err error) { + return conn.outFile.Write(b) +} + +// Close closes the connection. +func (conn *PipeConn) Close() error { + inErr := conn.inFile.Close() + outErr := conn.outFile.Close() + if inErr != nil { + return fmt.Errorf("failed to close input pipe: %s", inErr) + } + + if outErr != nil { + return fmt.Errorf("failed to close output pipe: %s", outErr) + } + + return nil +} + +// LocalAddr returns the local network address. +func (conn *PipeConn) LocalAddr() net.Addr { + return &PipeAddr{conn.inFile.Name()} +} + +// RemoteAddr returns the remote network address. +func (conn *PipeConn) RemoteAddr() net.Addr { + return &PipeAddr{conn.outFile.Name()} +} + +// SetDeadline implements the Conn SetDeadline method. +func (conn *PipeConn) SetDeadline(t time.Time) error { + if err := conn.inFile.SetDeadline(t); err != nil { + return fmt.Errorf("failed to set input pipe deadline: %s", err) + } + + if err := conn.outFile.SetDeadline(t); err != nil { + return fmt.Errorf("failed to set out pipe deadline: %s", err) + } + + return nil +} + +// SetReadDeadline implements the Conn SetReadDeadline method. +func (conn *PipeConn) SetReadDeadline(t time.Time) error { + return conn.inFile.SetDeadline(t) +} + +// SetWriteDeadline implements the Conn SetWriteDeadline method. +func (conn *PipeConn) SetWriteDeadline(t time.Time) error { + return conn.outFile.SetDeadline(t) +} + +// Fd returns file descriptors for a pipe pair +func (conn *PipeConn) Fd() (inFd uintptr, outFd uintptr) { + inFd = conn.inFile.Fd() + outFd = conn.outFile.Fd() + return +} diff --git a/pkg/app/conn_test.go b/pkg/app/conn_test.go new file mode 100644 index 000000000..4d4e580af --- /dev/null +++ b/pkg/app/conn_test.go @@ -0,0 +1,92 @@ +package app + +import ( + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func TestPipeConn(t *testing.T) { + srv, client, err := OpenPipeConn() + require.NoError(t, err) + + t.Run("server can communicate with client", func(t *testing.T) { + n, err := srv.Write([]byte("foo")) + require.NoError(t, err) + assert.Equal(t, 3, n) + + buf := make([]byte, 3) + n, err = client.Read(buf) + require.NoError(t, err) + assert.Equal(t, 3, n) + assert.Equal(t, []byte("foo"), buf) + }) + + t.Run("client can communicate with server", func(t *testing.T) { + n, err := client.Write([]byte("foo")) + require.NoError(t, err) + assert.Equal(t, 3, n) + + buf := make([]byte, 3) + n, err = srv.Read(buf) + require.NoError(t, err) + assert.Equal(t, 3, n) + assert.Equal(t, []byte("foo"), buf) + }) + + t.Run("returns valid addresses", func(t *testing.T) { + require.NotNil(t, srv.LocalAddr()) + require.NotNil(t, srv.RemoteAddr()) + + require.NotNil(t, client.LocalAddr()) + require.NotNil(t, client.RemoteAddr()) + }) + + t.Run("can set deadlines", func(t *testing.T) { + deadline := time.Now().Add(500 * time.Millisecond) + + require.NoError(t, srv.SetDeadline(deadline)) + require.NoError(t, srv.SetReadDeadline(deadline)) + require.NoError(t, srv.SetWriteDeadline(deadline)) + + require.NoError(t, client.SetDeadline(deadline)) + require.NoError(t, client.SetReadDeadline(deadline)) + require.NoError(t, client.SetWriteDeadline(deadline)) + }) + + t.Run("deadline failures", func(t *testing.T) { + buf := make([]byte, 4) + _, err := srv.Read(buf) + require.Error(t, err) + assert.Contains(t, err.Error(), "i/o timeout") + + _, err = client.Read(buf) + require.Error(t, err) + assert.Contains(t, err.Error(), "i/o timeout") + }) + + t.Run("returns Fds", func(t *testing.T) { + in, out := srv.Fd() + assert.NotNil(t, in) + assert.NotNil(t, out) + + in, out = client.Fd() + assert.NotNil(t, in) + assert.NotNil(t, out) + }) + + t.Run("can re-init from Fds", func(t *testing.T) { + _, err := NewPipeConn(srv.Fd()) + assert.NoError(t, err) + + _, err = NewPipeConn(client.Fd()) + assert.NoError(t, err) + }) + + t.Run("can close", func(t *testing.T) { + require.NoError(t, srv.Close()) + require.NoError(t, client.Close()) + }) +} diff --git a/pkg/app/packet.go b/pkg/app/packet.go new file mode 100644 index 000000000..fe00c6892 --- /dev/null +++ b/pkg/app/packet.go @@ -0,0 +1,38 @@ +package app + +import ( + "fmt" + + "github.com/skycoin/skywire/pkg/cipher" +) + +// LoopAddr stores addressing parameters of a loop packets. +type LoopAddr struct { + Port uint16 `json:"port"` + Remote Addr `json:"remote"` +} + +func (l *LoopAddr) String() string { + return fmt.Sprintf(":%d <-> %s:%d", l.Port, l.Remote.PubKey, l.Remote.Port) +} + +// Packet represents message exchanged between App and Node. +type Packet struct { + Addr *LoopAddr `json:"addr"` + Payload []byte `json:"payload"` +} + +// Addr implements net.Addr for App connections. +type Addr struct { + PubKey cipher.PubKey `json:"pk"` + Port uint16 `json:"port"` +} + +// Network returns custom skywire Network type. +func (addr *Addr) Network() string { + return "skywire" +} + +func (addr *Addr) String() string { + return fmt.Sprintf("%s:%d", addr.PubKey, addr.Port) +} diff --git a/pkg/app/protocol.go b/pkg/app/protocol.go new file mode 100644 index 000000000..2df873493 --- /dev/null +++ b/pkg/app/protocol.go @@ -0,0 +1,208 @@ +package app + +import ( + "encoding/binary" + "encoding/json" + "errors" + "fmt" + "io" + "strings" + "sync" +) + +// Frame defines type for all App frames. +type Frame byte + +func (f Frame) String() string { + switch f { + case FrameInit: + return "Init" + case FrameCreateLoop: + return "CreateLoop" + case FrameConfirmLoop: + return "ConfirmLoop" + case FrameSend: + return "Send" + case FrameClose: + return "Close" + } + + return fmt.Sprintf("Unknown(%d)", f) +} + +const ( + // FrameInit represents Init frame type. + FrameInit Frame = iota + // FrameCreateLoop represents CreateLoop request frame type. + FrameCreateLoop + // FrameConfirmLoop represents ConfirmLoop request frame type. + FrameConfirmLoop + // FrameSend represents Send frame type. + FrameSend + // FrameClose represents Close frame type + FrameClose + + // FrameFailure represents frame type for failed requests. + FrameFailure = 0xfe + // FrameSuccess represents frame type for successful requests. + FrameSuccess = 0xff +) + +// Protocol implements full-duplex protocol for App to Node communication. +type Protocol struct { + rw io.ReadWriteCloser + chans *chanList +} + +// NewProtocol constructs a new Protocol. +func NewProtocol(rw io.ReadWriteCloser) *Protocol { + return &Protocol{rw, &chanList{chans: map[byte]chan []byte{}}} +} + +// Send sends command Frame with payload and awaits for response. +func (p *Protocol) Send(cmd Frame, payload, res interface{}) error { + id, resChan := p.chans.add() + if err := p.writeFrame(cmd, id, payload); err != nil { + return err + } + + frame, more := <-resChan + if !more { + return io.EOF + } + + if Frame(frame[0]) == FrameFailure { + return errors.New(string(frame[2:])) + } + + if res == nil { + return nil + } + + return json.Unmarshal(frame[2:], res) +} + +// Serve reads incoming frame, passes it to the handleFunc and writes results. +func (p *Protocol) Serve(handleFunc func(Frame, []byte) (interface{}, error)) error { + for { + frame, err := p.readFrame() + if err != nil { + if err == io.EOF || strings.Contains(err.Error(), "closed") { + return nil + } + + return err + } + + fType := Frame(frame[0]) + id := frame[1] + + var resChan chan []byte + if fType == FrameFailure || fType == FrameSuccess { + resChan = p.chans.pull(id) + if resChan == nil { + continue + } + resChan <- frame + continue + } + + go func() { + if handleFunc == nil { + p.writeFrame(FrameSuccess, id, nil) // nolint: errcheck + return + } + + res, err := handleFunc(fType, frame[2:]) + if err != nil { + p.writeFrame(FrameFailure, id, err) // nolint: errcheck + return + } + + p.writeFrame(FrameSuccess, id, res) // nolint: errcheck + }() + } +} + +// Close closes underlying ReadWriter. +func (p *Protocol) Close() error { + p.chans.closeAll() + return p.rw.Close() +} + +func (p *Protocol) writeFrame(frame Frame, id byte, payload interface{}) (err error) { + var data []byte + if err, ok := payload.(error); ok { + data = []byte(err.Error()) + } else { + data, err = json.Marshal(payload) + if err != nil { + return err + } + } + + packet := append([]byte{byte(frame), id}, data...) + buf := make([]byte, 2) + binary.BigEndian.PutUint16(buf, uint16(len(packet))) + _, err = p.rw.Write(append(buf, packet...)) + return err +} + +func (p *Protocol) readFrame() (frame []byte, err error) { + size := make([]byte, 2) + if _, err = io.ReadFull(p.rw, size); err != nil { + return + } + + frame = make([]byte, binary.BigEndian.Uint16(size)) + if _, err = io.ReadFull(p.rw, frame); err != nil { + return + } + + return frame, nil +} + +type chanList struct { + sync.Mutex + + chans map[byte]chan []byte +} + +func (c *chanList) add() (byte, chan []byte) { + c.Lock() + defer c.Unlock() + + ch := make(chan []byte) + for i := byte(0); i < 255; i++ { + if c.chans[i] == nil { + c.chans[i] = ch + return i, ch + } + } + + panic("no free channels") +} + +func (c *chanList) pull(id byte) chan []byte { + c.Lock() + ch := c.chans[id] + delete(c.chans, id) + c.Unlock() + + return ch +} + +func (c *chanList) closeAll() { + c.Lock() + defer c.Unlock() + + for _, ch := range c.chans { + if ch == nil { + continue + } + + close(ch) + } + + c.chans = make(map[byte]chan []byte) +} diff --git a/pkg/app/protocol_test.go b/pkg/app/protocol_test.go new file mode 100644 index 000000000..527bcb52e --- /dev/null +++ b/pkg/app/protocol_test.go @@ -0,0 +1,102 @@ +package app + +import ( + "errors" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func TestProtocol(t *testing.T) { + rw1, rw2, err := OpenPipeConn() + require.NoError(t, err) + proto1 := NewProtocol(rw1) + proto2 := NewProtocol(rw2) + + errCh1 := make(chan error) + go func() { + errCh1 <- proto1.Serve(func(f Frame, _ []byte) (interface{}, error) { + if f != FrameSend { + return nil, errors.New("unexpected frame") + } + + return nil, nil + }) + }() + + errCh2 := make(chan error) + go func() { + errCh2 <- proto2.Serve(func(f Frame, _ []byte) (interface{}, error) { + if f != FrameCreateLoop { + return nil, errors.New("unexpected frame") + } + + return nil, nil + }) + }() + + errCh3 := make(chan error) + go func() { + errCh3 <- proto1.Send(FrameCreateLoop, "foo", nil) + }() + + errCh4 := make(chan error) + go func() { + errCh4 <- proto2.Send(FrameSend, "foo", nil) + }() + + errCh5 := make(chan error) + go func() { + errCh5 <- proto1.Send(FrameSend, "foo", nil) + }() + + require.NoError(t, <-errCh3) + require.NoError(t, <-errCh4) + err = <-errCh5 + require.Error(t, err) + assert.Equal(t, "unexpected frame", err.Error()) + + require.NoError(t, proto1.Close()) + require.NoError(t, proto2.Close()) + + require.NoError(t, <-errCh1) + require.NoError(t, <-errCh2) +} + +func TestProtocolParallel(t *testing.T) { + rw1, rw2, err := OpenPipeConn() + require.NoError(t, err) + proto1 := NewProtocol(rw1) + proto2 := NewProtocol(rw2) + + errCh1 := make(chan error) + go func() { + errCh1 <- proto1.Serve(func(f Frame, _ []byte) (interface{}, error) { + if f != FrameCreateLoop { + return nil, errors.New("unexpected frame") + } + + return nil, proto1.Send(FrameConfirmLoop, "foo", nil) + }) + }() + + errCh2 := make(chan error) + go func() { + errCh2 <- proto2.Serve(func(f Frame, _ []byte) (interface{}, error) { + if f != FrameConfirmLoop { + return nil, errors.New("unexpected frame") + } + + return nil, nil + }) + }() + + require.NoError(t, proto2.Send(FrameCreateLoop, "foo", nil)) + + require.NoError(t, proto1.Close()) + require.NoError(t, proto2.Close()) + + require.NoError(t, <-errCh1) + require.NoError(t, <-errCh2) +} diff --git a/pkg/cipher/cipher.go b/pkg/cipher/cipher.go new file mode 100644 index 000000000..ef075f227 --- /dev/null +++ b/pkg/cipher/cipher.go @@ -0,0 +1,220 @@ +// Package cipher implements common golang encoding interfaces for +// github.com/skycoin/skycoin/src/cipher +package cipher + +import "github.com/skycoin/skycoin/src/cipher" + +func init() { + cipher.DebugLevel2 = false // DebugLevel2 causes ECDH to be really slow +} + +// GenerateKeyPair creates key pair +func GenerateKeyPair() (PubKey, SecKey) { + pk, sk := cipher.GenerateKeyPair() + return PubKey(pk), SecKey(sk) +} + +// GenerateDeterministicKeyPair generates deterministic key pair +func GenerateDeterministicKeyPair(seed []byte) (PubKey, SecKey, error) { + pk, sk, err := cipher.GenerateDeterministicKeyPair(seed) + return PubKey(pk), SecKey(sk), err +} + +// NewPubKey converts []byte to a PubKey +func NewPubKey(b []byte) (PubKey, error) { + pk, err := cipher.NewPubKey(b) + return PubKey(pk), err +} + +// PubKey is a wrapper type for cipher.PubKey that implements common +// golang interfaces. +type PubKey cipher.PubKey + +// Hex returns a hex encoded PubKey string +func (pk PubKey) Hex() string { + return cipher.PubKey(pk).Hex() +} + +// Null returns true if PubKey is the null PubKey +func (pk PubKey) Null() bool { + return cipher.PubKey(pk).Null() +} + +// String implements fmt.Stringer for PubKey. Returns Hex representation. +func (pk PubKey) String() string { + return pk.Hex() +} + +// Set implements pflag.Value for PubKey. +func (pk *PubKey) Set(s string) error { + cPK, err := cipher.PubKeyFromHex(s) + if err != nil { + return err + } + *pk = PubKey(cPK) + return nil +} + +// Type implements pflag.Value for PubKey. +func (pk PubKey) Type() string { + return "cipher.PubKey" +} + +// MarshalText implements encoding.TextMarshaler. +func (pk PubKey) MarshalText() ([]byte, error) { + return []byte(pk.Hex()), nil +} + +// UnmarshalText implements encoding.TextUnmarshaler. +func (pk *PubKey) UnmarshalText(data []byte) error { + dPK, err := cipher.PubKeyFromHex(string(data)) + if err == nil { + *pk = PubKey(dPK) + } + return err +} + +// MarshalBinary implements encoding.BinaryMarshaler. +func (pk PubKey) MarshalBinary() ([]byte, error) { + return pk[:], nil +} + +// UnmarshalBinary implements encoding.BinaryUnmarshaler. +func (pk *PubKey) UnmarshalBinary(data []byte) error { + dPK, err := cipher.NewPubKey(data) + if err == nil { + *pk = PubKey(dPK) + } + return err +} + +// SecKey is a wrapper type for cipher.SecKey that implements common +// golang interfaces. +type SecKey cipher.SecKey + +// Hex returns a hex encoded SecKey string +func (sk SecKey) Hex() string { + return cipher.SecKey(sk).Hex() +} + +// Null returns true if SecKey is the null SecKey. +func (sk SecKey) Null() bool { + return cipher.SecKey(sk).Null() +} + +// String implements fmt.Stringer for SecKey. Returns Hex representation. +func (sk SecKey) String() string { + return sk.Hex() +} + +// Set implements pflag.Value for SecKey. +func (sk *SecKey) Set(s string) error { + cSK, err := cipher.SecKeyFromHex(s) + if err != nil { + return err + } + *sk = SecKey(cSK) + return nil +} + +// Type implements pflag.Value for SecKey. +func (sk *SecKey) Type() string { + return "cipher.SecKey" +} + +// MarshalText implements encoding.TextMarshaler. +func (sk SecKey) MarshalText() ([]byte, error) { + return []byte(sk.Hex()), nil +} + +// UnmarshalText implements encoding.TextUnmarshaler. +func (sk *SecKey) UnmarshalText(data []byte) error { + dSK, err := cipher.SecKeyFromHex(string(data)) + if err == nil { + *sk = SecKey(dSK) + } + return err +} + +// MarshalBinary implements encoding.BinaryMarshaler. +func (sk SecKey) MarshalBinary() ([]byte, error) { + return sk[:], nil +} + +// UnmarshalBinary implements encoding.BinaryUnmarshaler. +func (sk *SecKey) UnmarshalBinary(data []byte) error { + dSK, err := cipher.NewSecKey(data) + if err == nil { + *sk = SecKey(dSK) + } + return err +} + +// PubKey recovers the public key for a secret key +func (sk SecKey) PubKey() (PubKey, error) { + pk, err := cipher.PubKeyFromSecKey(cipher.SecKey(sk)) + return PubKey(pk), err +} + +// Sig is a wrapper type for cipher.Sig that implements common golang interfaces. +type Sig cipher.Sig + +// Hex returns a hex encoded Sig string +func (sig Sig) Hex() string { + return cipher.Sig(sig).Hex() +} + +// String implements fmt.Stringer for Sig. Returns Hex representation. +func (sig Sig) String() string { + return sig.Hex() +} + +// Null returns true if Sig is a null Sig +func (sig Sig) Null() bool { + return sig == Sig{} +} + +// MarshalText implements encoding.TextMarshaler. +func (sig Sig) MarshalText() ([]byte, error) { + return []byte(sig.Hex()), nil +} + +// UnmarshalText implements encoding.TextUnmarshaler. +func (sig *Sig) UnmarshalText(data []byte) error { + dSig, err := cipher.SigFromHex(string(data)) + if err == nil { + *sig = Sig(dSig) + } + return err +} + +// SignPayload creates Sig for payload using SHA256 +func SignPayload(payload []byte, sec SecKey) (Sig, error) { + sig, err := cipher.SignHash(cipher.SumSHA256(payload), cipher.SecKey(sec)) + return Sig(sig), err +} + +// VerifyPubKeySignedPayload verifies that SHA256 hash of the payload was signed by PubKey +func VerifyPubKeySignedPayload(pubkey PubKey, sig Sig, payload []byte) error { + return cipher.VerifyPubKeySignedHash(cipher.PubKey(pubkey), cipher.Sig(sig), cipher.SumSHA256(payload)) +} + +// RandByte returns rand N bytes +func RandByte(n int) []byte { + return cipher.RandByte(n) +} + +// SHA256 is a wrapper type for cipher.SHA256 that implements common +// golang interfaces. +type SHA256 cipher.SHA256 + +// SHA256FromBytes converts []byte to SHA256 +func SHA256FromBytes(b []byte) (SHA256, error) { + h, err := cipher.SHA256FromBytes(b) + return SHA256(h), err +} + +// SumSHA256 sum sha256 +func SumSHA256(b []byte) SHA256 { + return SHA256(cipher.SumSHA256(b)) +} diff --git a/pkg/cipher/cipher_test.go b/pkg/cipher/cipher_test.go new file mode 100644 index 000000000..de39c70be --- /dev/null +++ b/pkg/cipher/cipher_test.go @@ -0,0 +1,82 @@ +package cipher + +import ( + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func TestPubKeyString(t *testing.T) { + p, _ := GenerateKeyPair() + require.Equal(t, p.Hex(), p.String()) +} + +func TestPubKeyTextMarshaller(t *testing.T) { + p, _ := GenerateKeyPair() + h, err := p.MarshalText() + require.NoError(t, err) + + var p2 PubKey + err = p2.UnmarshalText(h) + require.NoError(t, err) + require.Equal(t, p, p2) +} + +func TestPubKeyBinaryMarshaller(t *testing.T) { + p, _ := GenerateKeyPair() + b, err := p.MarshalBinary() + require.NoError(t, err) + + var p2 PubKey + err = p2.UnmarshalBinary(b) + require.NoError(t, err) + require.Equal(t, p, p2) +} + +func TestSecKeyString(t *testing.T) { + _, s := GenerateKeyPair() + require.Equal(t, s.Hex(), s.String()) +} + +func TestSecKeyTextMarshaller(t *testing.T) { + _, s := GenerateKeyPair() + h, err := s.MarshalText() + require.NoError(t, err) + + var s2 SecKey + err = s2.UnmarshalText(h) + require.NoError(t, err) + require.Equal(t, s, s2) +} + +func TestSecKeyBinaryMarshaller(t *testing.T) { + _, s := GenerateKeyPair() + b, err := s.MarshalBinary() + require.NoError(t, err) + + var s2 SecKey + err = s2.UnmarshalBinary(b) + require.NoError(t, err) + require.Equal(t, s, s2) +} + +func TestSigString(t *testing.T) { + _, sk := GenerateKeyPair() + sig, err := SignPayload([]byte("foo"), sk) + require.NoError(t, err) + assert.Equal(t, sig.Hex(), sig.String()) +} + +func TestSigTextMarshaller(t *testing.T) { + _, sk := GenerateKeyPair() + sig, err := SignPayload([]byte("foo"), sk) + require.NoError(t, err) + h, err := sig.MarshalText() + require.NoError(t, err) + + var sig2 Sig + err = sig2.UnmarshalText(h) + require.NoError(t, err) + assert.Equal(t, sig, sig2) +} diff --git a/pkg/manager/node.go b/pkg/manager/node.go new file mode 100644 index 000000000..f803eddb5 --- /dev/null +++ b/pkg/manager/node.go @@ -0,0 +1,528 @@ +// Package manager implements management node +package manager + +import ( + "encoding/hex" + "errors" + "fmt" + "log" + "math/rand" + "net" + "net/http" + "net/rpc" + "strconv" + "sync" + "time" + + "github.com/go-chi/chi" + "github.com/go-chi/chi/middleware" + "github.com/google/uuid" + + "github.com/skycoin/skywire/pkg/cipher" + + "github.com/skycoin/skywire/internal/httputil" + "github.com/skycoin/skywire/internal/noise" + "github.com/skycoin/skywire/pkg/node" + "github.com/skycoin/skywire/pkg/routing" +) + +// Node manages AppNodes. +type Node struct { + pk cipher.PubKey + sk cipher.SecKey + nodes map[cipher.PubKey]node.RPCClient // connected remote nodes. + mu *sync.RWMutex +} + +// NewNode creates a new Node. +func NewNode(pk cipher.PubKey, sk cipher.SecKey) *Node { + return &Node{ + pk: pk, + sk: sk, + nodes: make(map[cipher.PubKey]node.RPCClient), + mu: new(sync.RWMutex), + } +} + +// ServeRPC serves RPC of a Node. +func (m *Node) ServeRPC(lis net.Listener) error { + for { + conn, err := noise.WrapListener(lis, m.pk, m.sk, false, noise.HandshakeXK).Accept() + if err != nil { + return err + } + addr := conn.RemoteAddr().(*noise.Addr) + m.mu.RLock() + m.nodes[addr.PK] = NewRPCClient(rpc.NewClient(conn), node.RPCPrefix) + m.mu.RUnlock() + } +} + +// MockConfig configures how mock data is to be added. +type MockConfig struct { + Nodes int + MaxTpsPerNode int + MaxRoutesPerNode int +} + +// AddMockData adds mock data to Manager Node. +func (m *Node) AddMockData(config *MockConfig) error { + r := rand.New(rand.NewSource(time.Now().UnixNano())) + for i := 0; i < config.Nodes; i++ { + client := NewMockRPCClient(r, config.MaxTpsPerNode, config.MaxRoutesPerNode).(*mockRPCClient) + m.mu.Lock() + m.nodes[client.s.PubKey] = client + m.mu.Unlock() + } + return nil +} + +// ServeHTTP implements http.Handler +func (m *Node) ServeHTTP(w http.ResponseWriter, r *http.Request) { + mux := chi.NewRouter() + + mux.Use(middleware.Timeout(time.Second * 30)) + mux.Use(middleware.Logger) + + mux.Mount("/api", m.apiRouter()) + + mux.ServeHTTP(w, r) +} + +func (m *Node) apiRouter() http.Handler { + r := chi.NewRouter() + + r.Get("/nodes", m.getNodes()) + r.Get("/nodes/{pk}", m.getNode()) + + r.Get("/nodes/{pk}/apps", m.getApps()) + r.Get("/nodes/{pk}/apps/{app}", m.getApp()) + r.Put("/nodes/{pk}/apps/{app}", m.putApp()) + + r.Get("/nodes/{pk}/transport-types", m.getTransportTypes()) + + r.Get("/nodes/{pk}/transports", m.getTransports()) + r.Post("/nodes/{pk}/transports", m.postTransport()) + r.Get("/nodes/{pk}/transports/{tid}", m.getTransport()) + r.Delete("/nodes/{pk}/transports/{tid}", m.deleteTransport()) + + r.Get("/nodes/{pk}/routes", m.getRoutes()) + r.Post("/nodes/{pk}/routes", m.postRoute()) + r.Get("/nodes/{pk}/routes/{rid}", m.getRoute()) + r.Put("/nodes/{pk}/routes/{rid}", m.putRoute()) + r.Delete("/nodes/{pk}/routes/{rid}", m.deleteRoute()) + + return r +} + +// provides summary of all nodes. +func (m *Node) getNodes() http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + var summaries []*node.Summary + m.mu.RLock() + for pk, c := range m.nodes { + summary, err := c.Summary() + if err != nil { + log.Printf("failed to obtain summary from AppNode with pk %s. Error: %v", pk, err) + summary = &node.Summary{PubKey: pk} + } + summaries = append(summaries, summary) + } + m.mu.RUnlock() + httputil.WriteJSON(w, r, http.StatusOK, summaries) + } +} + +// provides summary of single node. +func (m *Node) getNode() http.HandlerFunc { + return m.ctxNode(func(w http.ResponseWriter, r *http.Request, ctx nodeCtx) { + summary, err := ctx.RPC.Summary() + if err != nil { + httputil.WriteJSON(w, r, http.StatusInternalServerError, err) + return + } + httputil.WriteJSON(w, r, http.StatusOK, summary) + }) +} + +// returns app summaries of a given node of pk +func (m *Node) getApps() http.HandlerFunc { + return m.ctxNode(func(w http.ResponseWriter, r *http.Request, ctx nodeCtx) { + apps, err := ctx.RPC.Apps() + if err != nil { + httputil.WriteJSON(w, r, http.StatusInternalServerError, err) + return + } + httputil.WriteJSON(w, r, http.StatusOK, apps) + }) +} + +// returns an app summary of a given node's pk and app name +func (m *Node) getApp() http.HandlerFunc { + return m.ctxApp(func(w http.ResponseWriter, r *http.Request, ctx appCtx) { + httputil.WriteJSON(w, r, http.StatusOK, ctx.App) + }) +} + +func (m *Node) putApp() http.HandlerFunc { + return m.ctxApp(func(w http.ResponseWriter, r *http.Request, ctx appCtx) { + var reqBody struct { + Autostart *bool `json:"autostart,omitempty"` + Status *int `json:"status,omitempty"` + } + if err := httputil.ReadJSON(r, &reqBody); err != nil { + httputil.WriteJSON(w, r, http.StatusBadRequest, err) + return + } + if reqBody.Autostart != nil { + if *reqBody.Autostart != ctx.App.AutoStart { + if err := ctx.RPC.SetAutoStart(ctx.App.Name, *reqBody.Autostart); err != nil { + httputil.WriteJSON(w, r, http.StatusInternalServerError, err) + return + } + } + } + if reqBody.Status != nil { + if *reqBody.Status == 0 { + if err := ctx.RPC.StopApp(ctx.App.Name); err != nil { + httputil.WriteJSON(w, r, http.StatusInternalServerError, err) + return + } + } else if *reqBody.Status == 1 { + if err := ctx.RPC.StartApp(ctx.App.Name); err != nil { + httputil.WriteJSON(w, r, http.StatusInternalServerError, err) + return + } + } else { + httputil.WriteJSON(w, r, http.StatusBadRequest, + fmt.Errorf("value of 'status' field is %d when expecting 0 or 1", *reqBody.Status)) + return + } + } + httputil.WriteJSON(w, r, http.StatusOK, ctx.App) + }) +} + +func (m *Node) getTransportTypes() http.HandlerFunc { + return m.ctxNode(func(w http.ResponseWriter, r *http.Request, ctx nodeCtx) { + types, err := ctx.RPC.TransportTypes() + if err != nil { + httputil.WriteJSON(w, r, http.StatusInternalServerError, err) + return + } + httputil.WriteJSON(w, r, http.StatusOK, types) + }) +} + +func (m *Node) getTransports() http.HandlerFunc { + return m.ctxNode(func(w http.ResponseWriter, r *http.Request, ctx nodeCtx) { + var ( + qTypes []string + qPKs []cipher.PubKey + qLogs bool + ) + var err error + qTypes = strSliceFromQuery(r, "type", nil) + if qPKs, err = pkSliceFromQuery(r, "pk", nil); err != nil { + httputil.WriteJSON(w, r, http.StatusBadRequest, err) + return + } + if qLogs, err = httputil.BoolFromQuery(r, "logs", true); err != nil { + httputil.WriteJSON(w, r, http.StatusBadRequest, err) + return + } + transports, err := ctx.RPC.Transports(qTypes, qPKs, qLogs) + if err != nil { + httputil.WriteJSON(w, r, http.StatusInternalServerError, err) + return + } + httputil.WriteJSON(w, r, http.StatusOK, transports) + }) +} + +func (m *Node) postTransport() http.HandlerFunc { + return m.ctxNode(func(w http.ResponseWriter, r *http.Request, ctx nodeCtx) { + var reqBody struct { + Remote cipher.PubKey `json:"remote_pk"` + TpType string `json:"transport_type"` + Public bool `json:"public"` + } + if err := httputil.ReadJSON(r, &reqBody); err != nil { + httputil.WriteJSON(w, r, http.StatusBadRequest, err) + return + } + summary, err := ctx.RPC.AddTransport(reqBody.Remote, reqBody.TpType, reqBody.Public) + if err != nil { + httputil.WriteJSON(w, r, http.StatusInternalServerError, err) + return + } + httputil.WriteJSON(w, r, http.StatusOK, summary) + }) +} + +func (m *Node) getTransport() http.HandlerFunc { + return m.ctxTransport(func(w http.ResponseWriter, r *http.Request, ctx transportCtx) { + httputil.WriteJSON(w, r, http.StatusOK, ctx.Tp) + }) +} + +func (m *Node) deleteTransport() http.HandlerFunc { + return m.ctxTransport(func(w http.ResponseWriter, r *http.Request, ctx transportCtx) { + if err := ctx.RPC.RemoveTransport(ctx.Tp.ID); err != nil { + httputil.WriteJSON(w, r, http.StatusInternalServerError, err) + return + } + httputil.WriteJSON(w, r, http.StatusOK, true) + }) +} + +type routingRuleResp struct { + Key routing.RouteID `json:"key"` + Rule string `json:"rule"` + Summary *routing.RuleSummary `json:"rule_summary,omitempty"` +} + +func makeRoutingRuleResp(key routing.RouteID, rule routing.Rule, summary bool) routingRuleResp { + resp := routingRuleResp{ + Key: key, + Rule: hex.EncodeToString(rule), + } + if summary { + resp.Summary = rule.Summary() + } + return resp +} + +func (m *Node) getRoutes() http.HandlerFunc { + return m.ctxNode(func(w http.ResponseWriter, r *http.Request, ctx nodeCtx) { + qSummary, err := httputil.BoolFromQuery(r, "summary", false) + if err != nil { + httputil.WriteJSON(w, r, http.StatusBadRequest, err) + return + } + rules, err := ctx.RPC.RoutingRules() + if err != nil { + httputil.WriteJSON(w, r, http.StatusInternalServerError, err) + return + } + resp := make([]routingRuleResp, len(rules)) + for i, rule := range rules { + resp[i] = makeRoutingRuleResp(rule.Key, rule.Value, qSummary) + } + httputil.WriteJSON(w, r, http.StatusOK, resp) + }) +} + +func (m *Node) postRoute() http.HandlerFunc { + return m.ctxNode(func(w http.ResponseWriter, r *http.Request, ctx nodeCtx) { + var summary routing.RuleSummary + if err := httputil.ReadJSON(r, &summary); err != nil { + httputil.WriteJSON(w, r, http.StatusBadRequest, err) + return + } + rule, err := summary.ToRule() + if err != nil { + httputil.WriteJSON(w, r, http.StatusBadRequest, err) + return + } + tid, err := ctx.RPC.AddRoutingRule(rule) + if err != nil { + httputil.WriteJSON(w, r, http.StatusInternalServerError, err) + return + } + httputil.WriteJSON(w, r, http.StatusOK, makeRoutingRuleResp(tid, rule, true)) + }) +} + +func (m *Node) getRoute() http.HandlerFunc { + return m.ctxRoute(func(w http.ResponseWriter, r *http.Request, ctx routeCtx) { + qSummary, err := httputil.BoolFromQuery(r, "summary", true) + if err != nil { + httputil.WriteJSON(w, r, http.StatusBadRequest, err) + return + } + rule, err := ctx.RPC.RoutingRule(ctx.RtKey) + if err != nil { + httputil.WriteJSON(w, r, http.StatusNotFound, err) + return + } + httputil.WriteJSON(w, r, http.StatusOK, makeRoutingRuleResp(ctx.RtKey, rule, qSummary)) + }) +} + +func (m *Node) putRoute() http.HandlerFunc { + return m.ctxRoute(func(w http.ResponseWriter, r *http.Request, ctx routeCtx) { + var summary routing.RuleSummary + if err := httputil.ReadJSON(r, &summary); err != nil { + httputil.WriteJSON(w, r, http.StatusBadRequest, err) + return + } + rule, err := summary.ToRule() + if err != nil { + httputil.WriteJSON(w, r, http.StatusBadRequest, err) + return + } + if err := ctx.RPC.SetRoutingRule(ctx.RtKey, rule); err != nil { + httputil.WriteJSON(w, r, http.StatusInternalServerError, err) + return + } + httputil.WriteJSON(w, r, http.StatusOK, makeRoutingRuleResp(ctx.RtKey, rule, true)) + }) +} + +func (m *Node) deleteRoute() http.HandlerFunc { + return m.ctxRoute(func(w http.ResponseWriter, r *http.Request, ctx routeCtx) { + if err := ctx.RPC.RemoveRoutingRule(ctx.RtKey); err != nil { + httputil.WriteJSON(w, r, http.StatusNotFound, err) + return + } + httputil.WriteJSON(w, r, http.StatusOK, true) + }) +} + +/* + <<< Helper functions >>> +*/ + +func (m *Node) client(pk cipher.PubKey) (node.RPCClient, bool) { + m.mu.RLock() + client, ok := m.nodes[pk] + m.mu.RUnlock() + return client, ok +} + +func pkFromParam(r *http.Request, key string) (cipher.PubKey, error) { + pk := cipher.PubKey{} + err := pk.UnmarshalText([]byte(chi.URLParam(r, key))) + return cipher.PubKey(pk), err +} + +func uuidFromParam(r *http.Request, key string) (uuid.UUID, error) { + return uuid.Parse(chi.URLParam(r, key)) +} + +func ridFromParam(r *http.Request, key string) (routing.RouteID, error) { + rid, err := strconv.ParseUint(chi.URLParam(r, key), 10, 32) + if err != nil { + return 0, errors.New("invalid route ID provided") + } + return routing.RouteID(rid), nil +} + +func strSliceFromQuery(r *http.Request, key string, defaultVal []string) []string { + slice, ok := r.URL.Query()[key] + if !ok { + return defaultVal + } + return slice +} + +func pkSliceFromQuery(r *http.Request, key string, defaultVal []cipher.PubKey) ([]cipher.PubKey, error) { + qPKs, ok := r.URL.Query()[key] + if !ok { + return defaultVal, nil + } + pks := make([]cipher.PubKey, len(qPKs)) + for i, qPK := range qPKs { + pk := cipher.PubKey{} + if err := pk.UnmarshalText([]byte(qPK)); err != nil { + return nil, err + } + pks[i] = cipher.PubKey(pk) + } + return pks, nil +} + +type nodeCtx struct { + PK cipher.PubKey + RPC node.RPCClient +} + +type nodeHandlerFunc func(w http.ResponseWriter, r *http.Request, ctx nodeCtx) + +func (m *Node) ctxNode(next nodeHandlerFunc) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + pk, err := pkFromParam(r, "pk") + if err != nil { + httputil.WriteJSON(w, r, http.StatusBadRequest, err) + return + } + client, ok := m.client(pk) + if !ok { + httputil.WriteJSON(w, r, http.StatusNotFound, fmt.Errorf("node of pk '%s' not found", pk)) + return + } + next(w, r, nodeCtx{PK: pk, RPC: client}) + } +} + +type appCtx struct { + nodeCtx + App *node.AppState +} + +type appHandlerFunc func(w http.ResponseWriter, r *http.Request, ctx appCtx) + +func (m *Node) ctxApp(next appHandlerFunc) http.HandlerFunc { + return m.ctxNode(func(w http.ResponseWriter, r *http.Request, ctx nodeCtx) { + appName := chi.URLParam(r, "app") + apps, err := ctx.RPC.Apps() + if err != nil { + httputil.WriteJSON(w, r, http.StatusInternalServerError, err) + return + } + for _, app := range apps { + if app.Name == appName { + next(w, r, appCtx{nodeCtx: ctx, App: app}) + return + } + } + httputil.WriteJSON(w, r, http.StatusNotFound, + fmt.Errorf("can not find app of name %s from node %s", appName, ctx.PK)) + }) +} + +type transportCtx struct { + nodeCtx + Tp *node.TransportSummary +} + +type transportHandlerFunc func(w http.ResponseWriter, r *http.Request, ctx transportCtx) + +func (m *Node) ctxTransport(next transportHandlerFunc) http.HandlerFunc { + return m.ctxNode(func(w http.ResponseWriter, r *http.Request, ctx nodeCtx) { + tid, err := uuidFromParam(r, "tid") + if err != nil { + httputil.WriteJSON(w, r, http.StatusBadRequest, err) + return + } + tp, err := ctx.RPC.Transport(tid) + if err != nil { + if err.Error() == node.ErrNotFound.Error() { + httputil.WriteJSON(w, r, http.StatusNotFound, + fmt.Errorf("transport of ID %s is not found", tid)) + return + } + httputil.WriteJSON(w, r, http.StatusInternalServerError, err) + return + } + next(w, r, transportCtx{nodeCtx: ctx, Tp: tp}) + }) +} + +type routeCtx struct { + nodeCtx + RtKey routing.RouteID +} + +type routeHandlerFunc func(w http.ResponseWriter, r *http.Request, ctx routeCtx) + +func (m *Node) ctxRoute(next routeHandlerFunc) http.HandlerFunc { + return m.ctxNode(func(w http.ResponseWriter, r *http.Request, ctx nodeCtx) { + rid, err := ridFromParam(r, "key") + if err != nil { + httputil.WriteJSON(w, r, http.StatusBadRequest, err) + } + next(w, r, routeCtx{nodeCtx: ctx, RtKey: rid}) + }) +} diff --git a/pkg/manager/rpc_client.go b/pkg/manager/rpc_client.go new file mode 100644 index 000000000..42765b11f --- /dev/null +++ b/pkg/manager/rpc_client.go @@ -0,0 +1,370 @@ +package manager + +import ( + "encoding/binary" + "fmt" + "math/rand" + "net/rpc" + "sync" + "time" + + "github.com/google/uuid" + + "github.com/skycoin/skywire/pkg/cipher" + "github.com/skycoin/skywire/pkg/node" + "github.com/skycoin/skywire/pkg/routing" + "github.com/skycoin/skywire/pkg/transport" +) + +// RPCClient provides methods to call an RPC Server. +// It implements node.RPCClient +type rpcClient struct { + client *rpc.Client + prefix string +} + +// NewRPCClient creates a new RPCClient. +func NewRPCClient(rc *rpc.Client, prefix string) node.RPCClient { + return &rpcClient{client: rc, prefix: prefix} +} + +// Call calls the internal rpc.Client with the serviceMethod arg prefixed. +func (rc *rpcClient) Call(method string, args, reply interface{}) error { + return rc.client.Call(rc.prefix+"."+method, args, reply) +} + +// Summary calls Summary. +func (rc *rpcClient) Summary() (*node.Summary, error) { + out := new(node.Summary) + err := rc.Call("Summary", &struct{}{}, out) + return out, err +} + +// Apps calls Apps. +func (rc *rpcClient) Apps() ([]*node.AppState, error) { + states := make([]*node.AppState, 0) + err := rc.Call("Apps", &struct{}{}, &states) + return states, err +} + +// StartApp calls StartApp. +func (rc *rpcClient) StartApp(appName string) error { + return rc.Call("StartApp", &appName, &struct{}{}) +} + +// StopApp calls StopApp. +func (rc *rpcClient) StopApp(appName string) error { + return rc.Call("StopApp", &appName, &struct{}{}) +} + +// SetAutoStart calls SetAutoStart. +func (rc *rpcClient) SetAutoStart(appName string, autostart bool) error { + return rc.Call("SetAutoStart", &node.SetAutoStartIn{ + AppName: appName, + AutoStart: autostart, + }, &struct{}{}) +} + +// TransportTypes calls TransportTypes. +func (rc *rpcClient) TransportTypes() ([]string, error) { + var types []string + err := rc.Call("TransportTypes", &struct{}{}, &types) + return types, err +} + +// Transports calls Transports. +func (rc *rpcClient) Transports(types []string, pks []cipher.PubKey, logs bool) ([]*node.TransportSummary, error) { + var transports []*node.TransportSummary + err := rc.Call("Transports", &node.TransportsIn{ + FilterTypes: types, + FilterPubKeys: pks, + ShowLogs: logs, + }, &transports) + return transports, err +} + +// Transport calls Transport. +func (rc *rpcClient) Transport(tid uuid.UUID) (*node.TransportSummary, error) { + var summary node.TransportSummary + err := rc.Call("Transport", &tid, &summary) + return &summary, err +} + +// AddTransport calls AddTransport. +func (rc *rpcClient) AddTransport(remote cipher.PubKey, tpType string, public bool) (*node.TransportSummary, error) { + var summary node.TransportSummary + err := rc.Call("AddTransport", &node.AddTransportIn{ + RemotePK: remote, + TpType: tpType, + Public: public, + }, &summary) + return &summary, err +} + +// RemoveTransport calls RemoveTransport. +func (rc *rpcClient) RemoveTransport(tid uuid.UUID) error { + return rc.Call("RemoveTransport", &tid, &struct{}{}) +} + +// RoutingRules calls RoutingRules. +func (rc *rpcClient) RoutingRules() ([]*node.RoutingEntry, error) { + var entries []*node.RoutingEntry + err := rc.Call("RoutingRules", &struct{}{}, &entries) + return entries, err +} + +// RoutingRule calls RoutingRule. +func (rc *rpcClient) RoutingRule(key routing.RouteID) (routing.Rule, error) { + var rule routing.Rule + err := rc.Call("RoutingRule", &key, &rule) + return rule, err +} + +// AddRoutingRule calls AddRoutingRule. +func (rc *rpcClient) AddRoutingRule(rule routing.Rule) (routing.RouteID, error) { + var tid routing.RouteID + err := rc.Call("AddRoutingRule", &rule, &tid) + return tid, err +} + +// SetRoutingRule calls SetRoutingRule. +func (rc *rpcClient) SetRoutingRule(key routing.RouteID, rule routing.Rule) error { + return rc.Call("SetRoutingRule", &node.RoutingEntry{Key: key, Value: rule}, &struct{}{}) +} + +// RemoveRoutingRule calls RemoveRoutingRule. +func (rc *rpcClient) RemoveRoutingRule(key routing.RouteID) error { + return rc.Call("RemoveRoutingRule", &key, &struct{}{}) +} + +// MockRPCClient mocks node.RPCClient. +type mockRPCClient struct { + s *node.Summary + tpTypes []string + rt routing.Table + sync.RWMutex +} + +// NewMockRPCClient creates a new mock RPCClient. +func NewMockRPCClient(r *rand.Rand, maxTps int, maxRules int) node.RPCClient { + types := []string{"messaging", "native"} + localPK, _ := cipher.GenerateKeyPair() + tps := make([]*node.TransportSummary, r.Intn(maxTps+1)) + for i := range tps { + remotePK, _ := cipher.GenerateKeyPair() + tps[i] = &node.TransportSummary{ + ID: uuid.New(), + Local: localPK, + Remote: remotePK, + Type: types[r.Int()%len(types)], + Log: new(transport.LogEntry), + } + } + rt := routing.InMemoryRoutingTable() + ruleExp := time.Now().Add(time.Hour * 24) + for i := 0; i < r.Intn(maxRules+1); i++ { + remotePK, _ := cipher.GenerateKeyPair() + var rule routing.Rule + if r.Int()%2 == 0 { + var lpRaw, rpRaw [2]byte + r.Read(lpRaw[:]) + r.Read(rpRaw[:]) + lp := binary.BigEndian.Uint16(lpRaw[:]) + rp := binary.BigEndian.Uint16(rpRaw[:]) + rule = routing.AppRule(ruleExp, routing.RouteID(r.Uint32()), remotePK, rp, lp) + } else { + rule = routing.ForwardRule(ruleExp, routing.RouteID(r.Uint32()), uuid.New()) + } + if _, err := rt.AddRule(rule); err != nil { + panic(err) + } + } + return &mockRPCClient{ + s: &node.Summary{ + PubKey: localPK, + Apps: []*node.AppState{ + {Name: "foo.v1.0", AutoStart: false, Port: 10}, + {Name: "bar.v2.0", AutoStart: false, Port: 20}, + }, + Transports: tps, + }, + tpTypes: types, + rt: rt, + } +} + +func (mc *mockRPCClient) do(write bool, f func() error) error { + if write { + mc.Lock() + defer mc.Unlock() + } else { + mc.RLock() + defer mc.RUnlock() + } + return f() +} + +// Summary implements RPCClient. +func (mc *mockRPCClient) Summary() (*node.Summary, error) { + var out node.Summary + err := mc.do(false, func() error { + out.PubKey = mc.s.PubKey + for _, app := range mc.s.Apps { + out.Apps = append(out.Apps, &(*app)) + } + for _, tp := range mc.s.Transports { + out.Transports = append(out.Transports, &(*tp)) + } + return nil + }) + return &out, err +} + +// Apps implements RPCClient. +func (mc *mockRPCClient) Apps() ([]*node.AppState, error) { + var apps []*node.AppState + err := mc.do(false, func() error { + for _, app := range mc.s.Apps { + apps = append(apps, &(*app)) + } + return nil + }) + return apps, err +} + +// StartApp implements RPCClient. +func (*mockRPCClient) StartApp(string) error { + return nil +} + +// StopApp implements RPCClient. +func (*mockRPCClient) StopApp(string) error { + return nil +} + +// SetAutoStart implements RPCClient. +func (mc *mockRPCClient) SetAutoStart(appName string, autostart bool) error { + return mc.do(true, func() error { + for _, app := range mc.s.Apps { + if app.Name == appName { + app.AutoStart = autostart + return nil + } + } + return fmt.Errorf("app of name '%s' does not exist", appName) + }) +} + +// TransportTypes implements RPCClient. +func (mc *mockRPCClient) TransportTypes() ([]string, error) { + return mc.tpTypes, nil +} + +// Transports implements RPCClient. +func (mc *mockRPCClient) Transports(types []string, pks []cipher.PubKey, logs bool) ([]*node.TransportSummary, error) { + var summaries []*node.TransportSummary + err := mc.do(false, func() error { + for _, tp := range mc.s.Transports { + if types != nil { + for _, reqT := range types { + if tp.Type == reqT { + goto TypeOK + } + } + continue + } + TypeOK: + if pks != nil { + for _, reqPK := range pks { + if tp.Remote == reqPK || tp.Local == reqPK { + goto PubKeyOK + } + } + continue + } + PubKeyOK: + if !logs { + temp := *tp + temp.Log = nil + summaries = append(summaries, &temp) + } else { + summaries = append(summaries, &(*tp)) + } + } + return nil + }) + return summaries, err +} + +// Transport implements RPCClient. +func (mc *mockRPCClient) Transport(tid uuid.UUID) (*node.TransportSummary, error) { + var summary node.TransportSummary + err := mc.do(false, func() error { + for _, tp := range mc.s.Transports { + if tp.ID == tid { + summary = *tp + return nil + } + } + return fmt.Errorf("transport of id '%s' is not found", tid) + }) + return &summary, err +} + +// AddTransport implements RPCClient. +func (mc *mockRPCClient) AddTransport(remote cipher.PubKey, tpType string, public bool) (*node.TransportSummary, error) { + summary := &node.TransportSummary{ + ID: uuid.New(), + Local: mc.s.PubKey, + Remote: remote, + Type: tpType, + Log: new(transport.LogEntry), + } + return summary, mc.do(true, func() error { + mc.s.Transports = append(mc.s.Transports, summary) + return nil + }) +} + +// RemoveTransport implements RPCClient. +func (mc *mockRPCClient) RemoveTransport(tid uuid.UUID) error { + return mc.do(true, func() error { + for i, tp := range mc.s.Transports { + if tp.ID == tid { + mc.s.Transports = append(mc.s.Transports[:i], mc.s.Transports[i+1:]...) + return nil + } + } + return fmt.Errorf("transport of id '%s' is not found", tid) + }) +} + +// RoutingRules implements RPCClient. +func (mc *mockRPCClient) RoutingRules() ([]*node.RoutingEntry, error) { + var entries []*node.RoutingEntry + err := mc.rt.RangeRules(func(routeID routing.RouteID, rule routing.Rule) (next bool) { + entries = append(entries, &node.RoutingEntry{Key: routeID, Value: rule}) + return true + }) + return entries, err +} + +// RoutingRule implements RPCClient. +func (mc *mockRPCClient) RoutingRule(key routing.RouteID) (routing.Rule, error) { + return mc.rt.Rule(key) +} + +// AddRoutingRule implements RPCClient. +func (mc *mockRPCClient) AddRoutingRule(rule routing.Rule) (routing.RouteID, error) { + return mc.rt.AddRule(rule) +} + +// SetRoutingRule implements RPCClient. +func (mc *mockRPCClient) SetRoutingRule(key routing.RouteID, rule routing.Rule) error { + return mc.rt.SetRule(key, rule) +} + +// RemoveRoutingRule implements RPCClient. +func (mc *mockRPCClient) RemoveRoutingRule(key routing.RouteID) error { + return mc.rt.DeleteRules(key) +} diff --git a/pkg/messaging-discovery/client/client.go b/pkg/messaging-discovery/client/client.go new file mode 100644 index 000000000..cef0331be --- /dev/null +++ b/pkg/messaging-discovery/client/client.go @@ -0,0 +1,169 @@ +// Package client implements client for messaging discovery. +package client + +import ( + "bytes" + "context" + "encoding/json" + "errors" + "fmt" + "io/ioutil" + "net/http" + "time" + + "github.com/skycoin/skywire/pkg/cipher" +) + +// APIClient implements messaging discovery API client. +type APIClient interface { + Entry(context.Context, cipher.PubKey) (*Entry, error) + SetEntry(context.Context, *Entry) error + UpdateEntry(context.Context, cipher.SecKey, *Entry) error + AvailableServers(context.Context) ([]*Entry, error) +} + +// HTTPClient represents a client that communicates with a messaging-discovery service through http, it +// implements APIClient +type httpClient struct { + client http.Client + address string +} + +// NewHTTP constructs a new APIClient that communicates with discovery via http. +func NewHTTP(address string) APIClient { + return &httpClient{ + client: http.Client{}, + address: address, + } +} + +// Entry retrieves an entry associated with the given public key. +func (c *httpClient) Entry(ctx context.Context, publicKey cipher.PubKey) (*Entry, error) { + var entry Entry + endpoint := fmt.Sprintf("%s/messaging-discovery/entry/%s", c.address, publicKey) + + req, err := http.NewRequest(http.MethodGet, endpoint, nil) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + + resp, err := c.client.Do(req) + if err != nil { + return nil, err + } + + defer resp.Body.Close() + + // if the response is an error it will be codified as an HTTPMessage + if resp.StatusCode != http.StatusOK { + var message HTTPMessage + err = json.NewDecoder(resp.Body).Decode(&message) + if err != nil { + return nil, err + } + + return nil, errors.New(message.String()) + } + + err = json.NewDecoder(resp.Body).Decode(&entry) + if err != nil { + return nil, err + } + + return &entry, nil +} + +// SetEntry creates a new Entry. +func (c *httpClient) SetEntry(ctx context.Context, e *Entry) error { + endpoint := c.address + "/messaging-discovery/entry/" + marshaledEntry, err := json.Marshal(e) + if err != nil { + return err + } + + req, err := http.NewRequest(http.MethodPost, endpoint, bytes.NewBuffer(marshaledEntry)) + if err != nil { + return err + } + req = req.WithContext(ctx) + + req.Header.Set("Content-Type", "application/json") + + resp, err := c.client.Do(req) + if err != nil { + return err + } + + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + var httpResponse HTTPMessage + + bodyBytes, err := ioutil.ReadAll(resp.Body) + if err != nil { + return err + } + err = json.Unmarshal(bodyBytes, &httpResponse) + if err != nil { + return err + } + + return errors.New(httpResponse.String()) + } + return nil +} + +// UpdateEntry updates Entry in messaging discovery. +func (c *httpClient) UpdateEntry(ctx context.Context, sk cipher.SecKey, e *Entry) error { + e.Sequence++ + e.Timestamp = time.Now().UnixNano() + err := e.Sign(sk) + if err != nil { + return err + } + + err = c.SetEntry(ctx, e) + if err != nil { + e.Sequence-- + } + + return err +} + +// AvailableServers returns list of available servers. +func (c *httpClient) AvailableServers(ctx context.Context) ([]*Entry, error) { + var entries []*Entry + endpoint := c.address + "/messaging-discovery/available_servers" + + req, err := http.NewRequest(http.MethodGet, endpoint, nil) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + + resp, err := c.client.Do(req) + if err != nil { + return nil, err + } + + defer resp.Body.Close() + + // if the response is an error it will be codified as an HTTPMessage + if resp.StatusCode != http.StatusOK { + var message HTTPMessage + err = json.NewDecoder(resp.Body).Decode(&message) + if err != nil { + return nil, err + } + + return nil, errors.New(message.String()) + } + + err = json.NewDecoder(resp.Body).Decode(&entries) + if err != nil { + return nil, err + } + + return entries, nil +} diff --git a/pkg/messaging-discovery/client/client_available_servers_integration_test.go b/pkg/messaging-discovery/client/client_available_servers_integration_test.go new file mode 100644 index 000000000..e75e4545d --- /dev/null +++ b/pkg/messaging-discovery/client/client_available_servers_integration_test.go @@ -0,0 +1,100 @@ +// +build integration + +package client_test + +import ( + "context" + "fmt" + "net" + "sort" + "testing" + + "github.com/stretchr/testify/assert" + + "github.com/skycoin/skywire/pkg/cipher" + "github.com/skycoin/skywire/pkg/messaging-discovery/api" + "github.com/skycoin/skywire/pkg/messaging-discovery/client" + "github.com/skycoin/skywire/pkg/messaging-discovery/store" +) + +func TestGetAvailableServers(t *testing.T) { + var apiServerAddress string + var mockStore store.Storer + + mockStore = store.NewStore("mock", "") + apiServer := api.New(mockStore, 5) + + // get a free port + listener, err := net.Listen("tcp", ":0") + if err != nil { + panic(err) + } + apiServerAddress = fmt.Sprintf("http://localhost:%d", listener.Addr().(*net.TCPAddr).Port) + + go func() { + apiServer.Start(listener) + }() + + pk, sk := cipher.GenerateKeyPair() + serverStaticPk, _ := cipher.GenerateKeyPair() + ephemeralPk1, ephemeralSk1 := cipher.GenerateKeyPair() + ephemeralPk2, ephemeralSk2 := cipher.GenerateKeyPair() + baseEntry := newTestEntry(pk, serverStaticPk, ephemeralPk1, ephemeralPk2) + + cases := []struct { + name string + databaseAndEntriesPrehook func(store.Storer, *[]*client.Entry) + responseIsError bool + errorMessage client.HTTPMessage + }{ + { + name: "get 3 server entries", + responseIsError: false, + databaseAndEntriesPrehook: func(db store.Storer, entries *[]*client.Entry) { + var entry1, entry2, entry3 client.Entry + client.Copy(&entry1, &baseEntry) + client.Copy(&entry2, &baseEntry) + client.Copy(&entry3, &baseEntry) + + entry1.Sign(sk) + entry2.Keys.Static = ephemeralPk1 + entry2.Sign(ephemeralSk1) + entry3.Keys.Static = ephemeralPk2 + entry3.Sign(ephemeralSk2) + + db.SetEntry(context.Background(), &entry1) + db.SetEntry(context.Background(), &entry2) + db.SetEntry(context.Background(), &entry3) + + *entries = append(*entries, &entry1, &entry2, &entry3) + }, + }, + { + name: "get no entries", + responseIsError: false, + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + clientServer := client.New(apiServerAddress) + mockStore.(*store.MockStore).Clear() + expectedEntries := []*client.Entry{} + + if tc.databaseAndEntriesPrehook != nil { + tc.databaseAndEntriesPrehook(mockStore, &expectedEntries) + } + + entries, err := clientServer.AvailableServers(context.TODO()) + + if !tc.responseIsError { + assert.NoError(t, err) + sort.Slice(expectedEntries, func(i, j int) bool { return expectedEntries[i].Keys.Static > expectedEntries[j].Keys.Static }) + sort.Slice(entries, func(i, j int) bool { return entries[i].Keys.Static > entries[j].Keys.Static }) + assert.EqualValues(t, expectedEntries, entries) + } else { + assert.Equal(t, tc.errorMessage.String(), err.Error()) + } + }) + } +} diff --git a/pkg/messaging-discovery/client/client_clear_entry_integration_test.go b/pkg/messaging-discovery/client/client_clear_entry_integration_test.go new file mode 100644 index 000000000..b45652fac --- /dev/null +++ b/pkg/messaging-discovery/client/client_clear_entry_integration_test.go @@ -0,0 +1,109 @@ +// +build integration + +package client_test + +import ( + "context" + "fmt" + "net" + "net/http" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/cipher" + + "github.com/skycoin/skywire/pkg/messaging-discovery/api" + "github.com/skycoin/skywire/pkg/messaging-discovery/client" + "github.com/skycoin/skywire/pkg/messaging-discovery/store" +) + +func TestClearEntriesEndpoint(t *testing.T) { + var apiServerAddress string + var mockStore store.Storer + + mockStore = store.NewStore("mock", "") + apiServer := api.New(mockStore, 5) + + // get a free port + listener, err := net.Listen("tcp", ":0") + if err != nil { + panic(err) + } + apiServerAddress = fmt.Sprintf("http://localhost:%d", listener.Addr().(*net.TCPAddr).Port) + + go func() { + apiServer.Start(listener) + }() + + pk, sk := cipher.GenerateKeyPair() + serverStaticPk, _ := cipher.GenerateKeyPair() + ephemeralPk1, ephemeralSk1 := cipher.GenerateKeyPair() + ephemeralPk2, _ := cipher.GenerateKeyPair() + baseEntry := newTestEntry(pk, serverStaticPk, ephemeralPk1, ephemeralPk2) + baseEntry.Sign(sk) + + mockStore.SetEntry(context.TODO(), &baseEntry) + + cases := []struct { + name string + httpResponse client.HTTPMessage + publicKey cipher.PubKey + secretKey cipher.SecKey + responseShouldError bool + entryPreHook func(entry *client.Entry) + storerPreHook func(*testing.T, store.Storer, *client.Entry) + }{ + + { + name: "clear client a client entry should succeed", + responseShouldError: false, + publicKey: pk, + secretKey: sk, + storerPreHook: func(t *testing.T, s store.Storer, e *client.Entry) { + err := s.SetEntry(context.TODO(), e) + require.NoError(t, err) + }, + }, + { + name: "clear an entry of key we don't own should error", + responseShouldError: true, + httpResponse: client.HTTPMessage{Code: http.StatusUnauthorized, Message: client.ErrUnauthorized.Error()}, + publicKey: pk, + secretKey: ephemeralSk1, + storerPreHook: func(t *testing.T, s store.Storer, e *client.Entry) { + err := s.SetEntry(context.TODO(), e) + require.NoError(t, err) + e.Client = nil + e.Keys.Ephemerals = nil + }, + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + clientServer := client.New(apiServerAddress) + entry := baseEntry + + if tc.entryPreHook != nil { + tc.entryPreHook(&entry) + } + + mockStore.(*store.MockStore).Clear() + + if tc.storerPreHook != nil { + tc.storerPreHook(t, mockStore, &entry) + } + + err := clientServer.ClearEntry(context.TODO(), tc.secretKey, tc.publicKey) + + if tc.responseShouldError { + assert.Error(t, err) + assert.Equal(t, tc.httpResponse.String(), err.Error()) + } else { + assert.NoError(t, err) + } + }) + } +} diff --git a/pkg/messaging-discovery/client/client_entry_integration_test.go b/pkg/messaging-discovery/client/client_entry_integration_test.go new file mode 100644 index 000000000..5bf913446 --- /dev/null +++ b/pkg/messaging-discovery/client/client_entry_integration_test.go @@ -0,0 +1,99 @@ +// +build integration + +package client_test + +import ( + "context" + "fmt" + "net" + "net/http" + "testing" + + "github.com/stretchr/testify/assert" + + "github.com/skycoin/skywire/pkg/cipher" + + "github.com/skycoin/skywire/pkg/messaging-discovery/api" + "github.com/skycoin/skywire/pkg/messaging-discovery/client" + "github.com/skycoin/skywire/pkg/messaging-discovery/store" +) + +func TestEntriesEndpoint(t *testing.T) { + var apiServerAddress string + var mockStore store.Storer + + mockStore = store.NewStore("mock", "") + apiServer := api.New(mockStore, 5) + + // get a free port + listener, err := net.Listen("tcp", ":0") + if err != nil { + panic(err) + } + apiServerAddress = fmt.Sprintf("http://localhost:%d", listener.Addr().(*net.TCPAddr).Port) + + go func() { + apiServer.Start(listener) + }() + + pk, sk := cipher.GenerateKeyPair() + serverStaticPk, _ := cipher.GenerateKeyPair() + ephemeralPk1, _ := cipher.GenerateKeyPair() + ephemeralPk2, _ := cipher.GenerateKeyPair() + baseEntry := newTestEntry(pk, serverStaticPk, ephemeralPk1, ephemeralPk2) + + cases := []struct { + name string + httpResponse client.HTTPMessage + publicKey cipher.PubKey + responseIsEntry bool + entry client.Entry + entryPreHook func(*client.Entry) + storerPreHook func(store.Storer, *client.Entry) + }{ + { + name: "get entry", + publicKey: pk, + responseIsEntry: true, + entry: baseEntry, + entryPreHook: func(e *client.Entry) { + e.Sign(sk) + }, + storerPreHook: func(s store.Storer, e *client.Entry) { + s.SetEntry(context.Background(), e) + }, + }, + { + name: "get not valid entry", + publicKey: pk, + responseIsEntry: false, + httpResponse: client.HTTPMessage{Code: http.StatusNotFound, Message: client.ErrKeyNotFound.Error()}, + entry: baseEntry, + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + clientServer := client.New(apiServerAddress) + + if tc.entryPreHook != nil { + tc.entryPreHook(&tc.entry) + } + + mockStore.(*store.MockStore).Clear() + + if tc.storerPreHook != nil { + tc.storerPreHook(mockStore, &tc.entry) + } + + entry, err := clientServer.Entry(context.TODO(), tc.publicKey) + if tc.responseIsEntry { + assert.NoError(t, err) + assert.Equal(t, &tc.entry, entry) + } else { + assert.Equal(t, tc.httpResponse.String(), err.Error()) + } + + }) + } +} diff --git a/pkg/messaging-discovery/client/client_mock_test.go b/pkg/messaging-discovery/client/client_mock_test.go new file mode 100644 index 000000000..f407b8600 --- /dev/null +++ b/pkg/messaging-discovery/client/client_mock_test.go @@ -0,0 +1,355 @@ +package client_test + +import ( + "context" + "fmt" + "net/http" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/cipher" + + "github.com/skycoin/skywire/pkg/messaging-discovery/client" +) + +func TestNewMockGetAvailableServers(t *testing.T) { + pk, sk := cipher.GenerateKeyPair() + baseEntry := client.Entry{ + Static: pk, + Timestamp: time.Now().Unix(), + Client: &client.Client{}, + Server: &client.Server{ + Address: "localhost:8080", + AvailableConnections: 3, + }, + Version: "0", + Sequence: 1, + } + + cases := []struct { + name string + databaseAndEntriesPrehook func(*testing.T, client.APIClient, *[]*client.Entry) + responseIsError bool + errorMessage client.HTTPMessage + }{ + { + name: "get 3 server entries", + responseIsError: false, + databaseAndEntriesPrehook: func(t *testing.T, mockClient client.APIClient, entries *[]*client.Entry) { + entry1 := baseEntry + entry2 := baseEntry + entry3 := baseEntry + + err := entry1.Sign(sk) + require.NoError(t, err) + err = mockClient.SetEntry(context.TODO(), &entry1) + require.NoError(t, err) + + pk1, sk1 := cipher.GenerateKeyPair() + entry2.Static = pk1 + err = entry2.Sign(sk1) + require.NoError(t, err) + err = mockClient.SetEntry(context.TODO(), &entry2) + require.NoError(t, err) + + pk2, sk2 := cipher.GenerateKeyPair() + entry3.Static = pk2 + err = entry3.Sign(sk2) + require.NoError(t, err) + err = mockClient.SetEntry(context.TODO(), &entry3) + require.NoError(t, err) + + *entries = append(*entries, &entry1, &entry2, &entry3) + }, + }, + { + name: "get no entries", + responseIsError: false, + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + clientServer := client.NewMock() + expectedEntries := []*client.Entry{} + + if tc.databaseAndEntriesPrehook != nil { + tc.databaseAndEntriesPrehook(t, clientServer, &expectedEntries) + } + + entries, err := clientServer.AvailableServers(context.TODO()) + + if !tc.responseIsError { + assert.NoError(t, err) + assert.Equal(t, expectedEntries, entries) + } else { + assert.Equal(t, tc.errorMessage.String(), err.Error()) + } + }) + } +} + +func TestNewMockEntriesEndpoint(t *testing.T) { + pk, sk := cipher.GenerateKeyPair() + baseEntry := newTestEntry(pk) + + cases := []struct { + name string + httpResponse client.HTTPMessage + publicKey cipher.PubKey + responseIsEntry bool + entry client.Entry + entryPreHook func(*testing.T, *client.Entry) + storerPreHook func(*testing.T, client.APIClient, *client.Entry) + }{ + { + name: "get entry", + publicKey: pk, + responseIsEntry: true, + entry: baseEntry, + entryPreHook: func(t *testing.T, e *client.Entry) { + err := e.Sign(sk) + require.NoError(t, err) + }, + storerPreHook: func(t *testing.T, apiClient client.APIClient, e *client.Entry) { + err := apiClient.SetEntry(context.TODO(), e) + require.NoError(t, err) + }, + }, + { + name: "get not valid entry", + publicKey: pk, + responseIsEntry: false, + httpResponse: client.HTTPMessage{Code: http.StatusNotFound, Message: client.ErrKeyNotFound.Error()}, + entry: baseEntry, + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + clientServer := client.NewMock() + + if tc.entryPreHook != nil { + tc.entryPreHook(t, &tc.entry) + } + + if tc.storerPreHook != nil { + tc.storerPreHook(t, clientServer, &tc.entry) + } + + entry, err := clientServer.Entry(context.TODO(), tc.publicKey) + if tc.responseIsEntry { + assert.NoError(t, err) + assert.Equal(t, &tc.entry, entry) + } else { + assert.Equal(t, tc.httpResponse.String(), err.Error()) + } + + }) + } +} + +func TestNewMockSetEntriesEndpoint(t *testing.T) { + pk, sk := cipher.GenerateKeyPair() + _, ephemeralSk1 := cipher.GenerateKeyPair() + baseEntry := newTestEntry(pk) + + cases := []struct { + name string + httpResponse client.HTTPMessage + responseShouldError bool + entryPreHook func(t *testing.T, entry *client.Entry) + storerPreHook func(*testing.T, client.APIClient, *client.Entry) + }{ + + { + name: "set entry right", + responseShouldError: false, + entryPreHook: func(t *testing.T, e *client.Entry) { + err := e.Sign(sk) + require.NoError(t, err) + }, + }, + { + name: "set entry iteration", + responseShouldError: false, + entryPreHook: func(t *testing.T, e *client.Entry) { + err := e.Sign(sk) + require.NoError(t, err) + }, + storerPreHook: func(t *testing.T, s client.APIClient, e *client.Entry) { + var oldEntry client.Entry + client.Copy(&oldEntry, e) + fmt.Println(oldEntry.Static) + oldEntry.Sequence = 0 + err := oldEntry.Sign(sk) + require.NoError(t, err) + err = s.SetEntry(context.TODO(), &oldEntry) + require.NoError(t, err) + e.Sequence = 1 + e.Timestamp += 3 + err = e.Sign(sk) + require.NoError(t, err) + }, + }, + { + name: "set entry iteration wrong sequence", + responseShouldError: true, + httpResponse: client.HTTPMessage{Code: http.StatusUnprocessableEntity, Message: client.ErrValidationWrongSequence.Error()}, + entryPreHook: func(t *testing.T, e *client.Entry) { + err := e.Sign(sk) + require.NoError(t, err) + }, + storerPreHook: func(t *testing.T, s client.APIClient, e *client.Entry) { + e.Sequence = 2 + err := s.SetEntry(context.TODO(), e) + require.NoError(t, err) + }, + }, + { + name: "set entry iteration unauthorized", + responseShouldError: true, + httpResponse: client.HTTPMessage{Code: http.StatusUnauthorized, Message: client.ErrUnauthorized.Error()}, + entryPreHook: func(t *testing.T, e *client.Entry) { + err := e.Sign(sk) + require.NoError(t, err) + }, + storerPreHook: func(t *testing.T, s client.APIClient, e *client.Entry) { + e.Sequence = 0 + err := s.SetEntry(context.TODO(), e) + require.NoError(t, err) + e.Signature = "" + e.Sequence = 1 + e.Timestamp += 3 + err = e.Sign(ephemeralSk1) + require.NoError(t, err) + }, + }, + } + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + clientServer := client.NewMock() + var entry client.Entry + client.Copy(&entry, &baseEntry) + + if tc.entryPreHook != nil { + tc.entryPreHook(t, &entry) + } + + if tc.storerPreHook != nil { + tc.storerPreHook(t, clientServer, &entry) + } + + fmt.Println("key in: ", entry.Static) + err := clientServer.SetEntry(context.TODO(), &entry) + + if tc.responseShouldError { + assert.Error(t, err) + } else { + assert.NoError(t, err) + } + + }) + } +} + +func TestNewMockUpdateEntriesEndpoint(t *testing.T) { + pk, sk := cipher.GenerateKeyPair() + _, ephemeralSk1 := cipher.GenerateKeyPair() + baseEntry := newTestEntry(pk) + err := baseEntry.Sign(sk) + require.NoError(t, err) + + cases := []struct { + name string + secretKey cipher.SecKey + responseShouldError bool + entryPreHook func(entry *client.Entry) + storerPreHook func(client.APIClient, *client.Entry) + }{ + + { + name: "update entry iteration", + responseShouldError: false, + secretKey: sk, + storerPreHook: func(apiClient client.APIClient, e *client.Entry) { + e.Server.Address = "different one" + }, + }, + { + name: "update entry unauthorized", + responseShouldError: true, + secretKey: ephemeralSk1, + storerPreHook: func(apiClient client.APIClient, e *client.Entry) { + e.Server.Address = "different one" + }, + }, + } + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + clientServer := client.NewMock() + err := clientServer.SetEntry(context.TODO(), &baseEntry) + require.NoError(t, err) + + entry := baseEntry + + if tc.entryPreHook != nil { + tc.entryPreHook(&entry) + } + + if tc.storerPreHook != nil { + tc.storerPreHook(clientServer, &entry) + } + + err = clientServer.UpdateEntry(context.TODO(), tc.secretKey, &entry) + + if tc.responseShouldError { + assert.Error(t, err) + } else { + assert.NoError(t, err) + } + + }) + } +} + +func TestNewMockUpdateEntrySequence(t *testing.T) { + clientServer := client.NewMock() + pk, sk := cipher.GenerateKeyPair() + entry := &client.Entry{ + Sequence: 0, + Static: pk, + } + + err := clientServer.UpdateEntry(context.TODO(), sk, entry) + require.NoError(t, err) + + v1Entry, err := clientServer.Entry(context.TODO(), pk) + require.NoError(t, err) + + err = clientServer.UpdateEntry(context.TODO(), sk, entry) + require.NoError(t, err) + + v2Entry, err := clientServer.Entry(context.TODO(), pk) + require.NoError(t, err) + + assert.NotEqual(t, v1Entry.Sequence, v2Entry.Sequence) +} + +func newTestEntry(pk cipher.PubKey) client.Entry { + baseEntry := client.Entry{ + Static: pk, + Timestamp: time.Now().UnixNano(), + Client: &client.Client{}, + Server: &client.Server{ + Address: "localhost:8080", + AvailableConnections: 3, + }, + Version: "0", + Sequence: 0, + } + return baseEntry +} diff --git a/pkg/messaging-discovery/client/client_set_entry_integration_test.go b/pkg/messaging-discovery/client/client_set_entry_integration_test.go new file mode 100644 index 000000000..2c3cbbd67 --- /dev/null +++ b/pkg/messaging-discovery/client/client_set_entry_integration_test.go @@ -0,0 +1,127 @@ +// +build integration + +package client_test + +import ( + "context" + "fmt" + "net" + "net/http" + "testing" + + "github.com/stretchr/testify/assert" + + "github.com/skycoin/skywire/pkg/cipher" + "github.com/skycoin/skywire/pkg/messaging-discovery/api" + "github.com/skycoin/skywire/pkg/messaging-discovery/client" + "github.com/skycoin/skywire/pkg/messaging-discovery/store" +) + +func TestSetEntriesEndpoint(t *testing.T) { + var apiServerAddress string + var mockStore store.Storer + + mockStore = store.NewStore("mock", "") + apiServer := api.New(mockStore, 5) + + // get a free port + listener, err := net.Listen("tcp", ":0") + if err != nil { + panic(err) + } + apiServerAddress = fmt.Sprintf("http://localhost:%d", listener.Addr().(*net.TCPAddr).Port) + + go func() { + apiServer.Start(listener) + }() + + pk, sk := cipher.GenerateKeyPair() + serverStaticPk, _ := cipher.GenerateKeyPair() + ephemeralPk1, ephemeralSk1 := cipher.GenerateKeyPair() + ephemeralPk2, _ := cipher.GenerateKeyPair() + baseEntry := newTestEntry(pk, serverStaticPk, ephemeralPk1, ephemeralPk2) + + cases := []struct { + name string + httpResponse client.HTTPMessage + responseShouldError bool + entryPreHook func(entry *client.Entry) + storerPreHook func(store.Storer, *client.Entry) + }{ + + { + name: "set entry right", + responseShouldError: false, + entryPreHook: func(e *client.Entry) { + e.Sign(sk) + }, + }, + { + name: "set entry iteration", + responseShouldError: false, + entryPreHook: func(e *client.Entry) { + e.Sign(sk) + }, + storerPreHook: func(s store.Storer, e *client.Entry) { + e.Sequence = 0 + s.SetEntry(context.Background(), e) + e.Sequence = 1 + e.Timestamp += 3 + }, + }, + { + name: "set entry iteration wrong sequence", + responseShouldError: true, + httpResponse: client.HTTPMessage{Code: http.StatusUnprocessableEntity, Message: client.ErrValidationWrongSequence.Error()}, + entryPreHook: func(e *client.Entry) { + e.Sign(sk) + }, + storerPreHook: func(s store.Storer, e *client.Entry) { + e.Sequence = 2 + s.SetEntry(context.Background(), e) + }, + }, + { + name: "set entry iteration unauthorized", + responseShouldError: true, + httpResponse: client.HTTPMessage{Code: http.StatusUnauthorized, Message: client.ErrUnauthorized.Error()}, + entryPreHook: func(e *client.Entry) { + e.Sign(sk) + }, + storerPreHook: func(s store.Storer, e *client.Entry) { + e.Sequence = 0 + s.SetEntry(context.Background(), e) + e.Signature = "" + e.Sequence = 1 + e.Timestamp += 3 + e.Sign(ephemeralSk1) + }, + }, + } + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + clientServer := client.New(apiServerAddress) + entry := baseEntry + + if tc.entryPreHook != nil { + tc.entryPreHook(&entry) + } + + mockStore.(*store.MockStore).Clear() + + if tc.storerPreHook != nil { + tc.storerPreHook(mockStore, &entry) + } + + err := clientServer.SetEntry(context.TODO(), &entry) + + if tc.responseShouldError { + assert.Error(t, err) + assert.Equal(t, tc.httpResponse.String(), err.Error()) + } else { + assert.NoError(t, err) + } + + }) + } +} diff --git a/pkg/messaging-discovery/client/client_update_entry_integration_test.go b/pkg/messaging-discovery/client/client_update_entry_integration_test.go new file mode 100644 index 000000000..4cbe29cb1 --- /dev/null +++ b/pkg/messaging-discovery/client/client_update_entry_integration_test.go @@ -0,0 +1,114 @@ +// +build integration + +package client_test + +import ( + "context" + "fmt" + "net" + "net/http" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/cipher" + "github.com/skycoin/skywire/pkg/messaging-discovery/api" + "github.com/skycoin/skywire/pkg/messaging-discovery/client" + "github.com/skycoin/skywire/pkg/messaging-discovery/store" +) + +func TestUpdateEntriesEndpoint(t *testing.T) { + var apiServerAddress string + var mockStore store.Storer + + mockStore = store.NewStore("mock", "") + apiServer := api.New(mockStore, 5) + + // get a free port + listener, err := net.Listen("tcp", ":0") + if err != nil { + panic(err) + } + apiServerAddress = fmt.Sprintf("http://localhost:%d", listener.Addr().(*net.TCPAddr).Port) + + go func() { + apiServer.Start(listener) + }() + + pk, sk := cipher.GenerateKeyPair() + serverStaticPk, _ := cipher.GenerateKeyPair() + ephemeralPk1, ephemeralSk1 := cipher.GenerateKeyPair() + ephemeralPk2, _ := cipher.GenerateKeyPair() + baseEntry := newTestEntry(pk, serverStaticPk, ephemeralPk1, ephemeralPk2) + baseEntry.Sign(sk) + + mockStore.SetEntry(context.TODO(), &baseEntry) + + cases := []struct { + name string + httpResponse client.HTTPMessage + secretKey cipher.SecKey + responseShouldError bool + entryPreHook func(entry *client.Entry) + storerPreHook func(*testing.T, store.Storer, *client.Entry) + }{ + + { + name: "update entry iteration", + responseShouldError: false, + secretKey: sk, + storerPreHook: func(t *testing.T, s store.Storer, e *client.Entry) { + err := s.SetEntry(context.TODO(), e) + require.NoError(t, err) + e.Server.Address = "different one" + }, + }, + { + name: "update a client entry with no ephemerals", + responseShouldError: false, + secretKey: sk, + storerPreHook: func(t *testing.T, s store.Storer, e *client.Entry) { + err := s.SetEntry(context.TODO(), e) + require.NoError(t, err) + e.Server = nil + e.Keys.Ephemerals = nil + }, + }, + { + name: "update entry unauthorized", + responseShouldError: true, + secretKey: ephemeralSk1, + httpResponse: client.HTTPMessage{Code: http.StatusUnauthorized, Message: client.ErrUnauthorized.Error()}, + storerPreHook: func(t *testing.T, s store.Storer, e *client.Entry) { + e.Server.Address = "different one" + }, + }, + } + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + clientServer := client.New(apiServerAddress) + entry := baseEntry + + if tc.entryPreHook != nil { + tc.entryPreHook(&entry) + } + + mockStore.(*store.MockStore).Clear() + + if tc.storerPreHook != nil { + tc.storerPreHook(t, mockStore, &entry) + } + + err := clientServer.UpdateEntry(context.TODO(), tc.secretKey, &entry) + + if tc.responseShouldError { + assert.Error(t, err) + assert.Equal(t, tc.httpResponse.String(), err.Error()) + } else { + assert.NoError(t, err) + } + + }) + } +} diff --git a/pkg/messaging-discovery/client/entry.go b/pkg/messaging-discovery/client/entry.go new file mode 100644 index 000000000..73bd79a0b --- /dev/null +++ b/pkg/messaging-discovery/client/entry.go @@ -0,0 +1,263 @@ +package client + +import ( + "encoding/json" + "errors" + "fmt" + "time" + + "strings" + + "github.com/skycoin/skywire/pkg/cipher" +) + +const currentVersion = "0.0.1" + +// nolint +var ( + ErrKeyNotFound = errors.New("entry of public key is not found") + ErrUnexpected = errors.New("something unexpected happened") + ErrUnauthorized = errors.New("invalid signature") + ErrBadInput = errors.New("error bad input") + ErrValidationNonZeroSequence = NewEntryValidationError("new entry has non-zero sequence") + ErrValidationNilEphemerals = NewEntryValidationError("entry of client instance has nil ephemeral keys") + ErrValidationNilKeys = NewEntryValidationError("entry Keys is nil") + ErrValidationNonNilEphemerals = NewEntryValidationError("entry of server instance has non nil Keys.Ephemerals field") + ErrValidationNoSignature = NewEntryValidationError("entry has no signature") + ErrValidationNoVersion = NewEntryValidationError("entry has no version") + ErrValidationNoClientOrServer = NewEntryValidationError("entry has neither client or server field") + ErrValidationWrongSequence = NewEntryValidationError("sequence field of new entry is not sequence of old entry + 1") + ErrValidationWrongTime = NewEntryValidationError("previous entry timestamp is not set before current entry timestamp") +) + +// EntryValidationError represents transient error caused by invalid +// data in Entry +type EntryValidationError struct { + Cause string +} + +// NewEntryValidationError constructs a new validation error. +func NewEntryValidationError(cause string) error { + return EntryValidationError{cause} +} + +func (e EntryValidationError) Error() string { + return fmt.Sprintf("entry validation error: %s", e.Cause) +} + +// Entry represents a Messaging Node's entry in the Discovery database. +type Entry struct { + // The data structure's version. + Version string `json:"version"` + + // An Entry of a given public key may need to iterate. This is the iteration sequence. + Sequence uint64 `json:"sequence"` + + // Timestamp of the current iteration. + Timestamp int64 `json:"timestamp"` + + // Static public key of an instance. + Static cipher.PubKey `json:"static"` + + // Contains the instance's client meta if it's to be advertised as a Messaging Client. + Client *Client `json:"client,omitempty"` + + // Contains the instance's server meta if it's to be advertised as a Messaging Server. + Server *Server `json:"server,omitempty"` + + // Signature for proving authenticity of an Entry. + Signature string `json:"signature,omitempty"` +} + +func (e *Entry) String() string { + res := "" + res += fmt.Sprintf("\tversion: %s\n", e.Version) + res += fmt.Sprintf("\tsequence: %d\n", e.Sequence) + res += fmt.Sprintf("\tregistered at: %d\n", e.Timestamp) + res += fmt.Sprintf("\tstatic public key: %s\n", e.Static) + res += fmt.Sprintf("\tsignature: %s\n", e.Signature) + + if e.Client != nil { + indentedStr := strings.Replace(e.Client.String(), "\n\t", "\n\t\t\t", -1) + res += fmt.Sprintf("\tentry is registered as client. Related info: \n\t\t%s\n", indentedStr) + } + + if e.Server != nil { + indentedStr := strings.Replace(e.Server.String(), "\n\t", "\n\t\t", -1) + res += fmt.Sprintf("\tentry is registered as server. Related info: \n\t%s\n", indentedStr) + } + + return res +} + +// Client contains parameters for Client instances. +type Client struct { + // DelegatedServers contains a list of delegated servers represented by their public keys. + DelegatedServers []cipher.PubKey `json:"delegated_servers"` +} + +// String implements stringer +func (c *Client) String() string { + res := "delegated servers: \n" + + for _, ds := range c.DelegatedServers { + res += fmt.Sprintf("\t%s\n", ds) + } + + return res +} + +// Server contains parameters for Server instances. +type Server struct { + // IPv4 or IPv6 public address of the Messaging Server. + Address string `json:"address"` + + // Port in which the Messaging Server is listening for connections. + Port string `json:"port"` + + // Number of connections still available. + AvailableConnections int `json:"available_connections"` +} + +// String implements stringer +func (s *Server) String() string { + res := fmt.Sprintf("\taddress: %s\n", s.Address) + res += fmt.Sprintf("\tport: %s\n", s.Port) + res += fmt.Sprintf("\tavailable connections: %d\n", s.AvailableConnections) + + return res +} + +// NewClientEntry is a convenience function that returns a valid client entry, but this entry +// should be signed with the private key before sending it to the server +func NewClientEntry(pubkey cipher.PubKey, sequence uint64, delegatedServers []cipher.PubKey) *Entry { + return &Entry{ + Version: currentVersion, + Sequence: sequence, + Client: &Client{delegatedServers}, + Static: pubkey, + Timestamp: time.Now().UnixNano(), + } +} + +// NewServerEntry constructs a new Server entry. +func NewServerEntry(pubkey cipher.PubKey, sequence uint64, address string, conns int) *Entry { + return &Entry{ + Version: currentVersion, + Sequence: sequence, + Server: &Server{Address: address, AvailableConnections: conns}, + Static: pubkey, + Timestamp: time.Now().UnixNano(), + } +} + +// VerifySignature check if signature matches to Entry's PubKey. +func (e *Entry) VerifySignature() error { + entry := *e + + // Get and parse signature + signature := cipher.Sig{} + err := signature.UnmarshalText([]byte(e.Signature)) + if err != nil { + return err + } + + // Set signature field to zero-value + entry.Signature = "" + + // Get hash of the entry + entryJSON, err := json.Marshal(entry) + if err != nil { + return err + } + + return cipher.VerifyPubKeySignedPayload(cipher.PubKey(e.Static), signature, entryJSON) +} + +// Sign signs Entry with provided SecKey. +func (e *Entry) Sign(sk cipher.SecKey) error { + // Clear previous signature, in case there was any + e.Signature = "" + + entryJSON, err := json.Marshal(e) + if err != nil { + return err + } + + sig, err := cipher.SignPayload(entryJSON, cipher.SecKey(sk)) + if err != nil { + return err + } + e.Signature = sig.Hex() + return nil +} + +// Validate checks if entry is valid. +func (e *Entry) Validate() error { + // Must have version + if e.Version == "" { + return ErrValidationNoVersion + } + // Must be signed + if e.Signature == "" { + return ErrValidationNoSignature + } + + // A record must have either client or server record + if e.Client == nil && e.Server == nil { + return ErrValidationNoClientOrServer + } + + // The Keys field must exist + if e.Static.Null() { + return ErrValidationNilKeys + } + + return nil +} + +// ValidateIteration verifies Entry's Sequence against nextEntry. +func (e *Entry) ValidateIteration(nextEntry *Entry) error { + + // Sequence value must be {previous_sequence} + 1 + if e.Sequence != nextEntry.Sequence-1 { + return ErrValidationWrongSequence + } + + currentTimeStamp := time.Unix(e.Timestamp, 0) + + nextTimeStamp := time.Unix(nextEntry.Timestamp, 0) + + if !currentTimeStamp.Before(nextTimeStamp) { + return ErrValidationWrongTime + } + + return nil +} + +// Copy performs a deep copy of two entries. It is safe to use with empty entries +func Copy(dst, src *Entry) { + if dst.Server == nil && src.Server != nil { + dst.Server = &Server{} + } + if dst.Client == nil && src.Client != nil { + dst.Client = &Client{} + } + + if src.Server == nil { + dst.Server = nil + } else { + *dst.Server = *src.Server + } + if src.Client == nil { + dst.Client = nil + } else { + *dst.Client = *src.Client + } + + dst.Static = src.Static + dst.Signature = src.Signature + dst.Version = src.Version + dst.Sequence = src.Sequence + dst.Timestamp = src.Timestamp +} diff --git a/pkg/messaging-discovery/client/entry_test.go b/pkg/messaging-discovery/client/entry_test.go new file mode 100644 index 000000000..77acd992b --- /dev/null +++ b/pkg/messaging-discovery/client/entry_test.go @@ -0,0 +1,279 @@ +package client_test + +import ( + "fmt" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/cipher" + + "github.com/skycoin/skywire/pkg/messaging-discovery/client" +) + +func TestNewClientEntryIsValid(t *testing.T) { + pk, sk := cipher.GenerateKeyPair() + + cases := []struct { + name string + entry func() *client.Entry + }{ + { + name: "NewClientEntry is valid", + entry: func() *client.Entry { + return client.NewClientEntry(pk, 0, nil) + }, + }, + { + name: "NewServerEntry is valid", + entry: func() *client.Entry { + return client.NewServerEntry(pk, 0, "localhost:8080", 5) + }, + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + entry := tc.entry() + err := entry.Sign(sk) + require.NoError(t, err) + + err = entry.Validate() + + assert.NoError(t, err) + }) + } +} + +func TestVerifySignature(t *testing.T) { + // Arrange + // Create keys and signed entry + pk, sk := cipher.GenerateKeyPair() + wrongPk, _ := cipher.GenerateKeyPair() + + entry := newTestEntry(pk) + + err := entry.Sign(sk) + require.NoError(t, err) + + // Action + err = entry.VerifySignature() + + // Assert + assert.Nil(t, err) + + // Action + entry.Static = wrongPk + err = entry.VerifySignature() + + // Assert + assert.NotNilf(t, err, "this signature must not be valid") +} + +func TestValidateRightEntry(t *testing.T) { + // Arrange + // Create keys and signed entry + pk, sk := cipher.GenerateKeyPair() + + validEntry := newTestEntry(pk) + err := validEntry.Sign(sk) + require.NoError(t, err) + + // Action + err = validEntry.Validate() + assert.Nil(t, err) +} + +func TestValidateNonKeysEntry(t *testing.T) { + // Arrange + // Create keys and signed entry + _, sk := cipher.GenerateKeyPair() + nonKeysEntry := client.Entry{ + Timestamp: time.Now().Unix(), + Client: &client.Client{}, + Server: &client.Server{ + Address: "localhost:8080", + AvailableConnections: 3, + }, + Version: "0", + Sequence: 0, + } + err := nonKeysEntry.Sign(sk) + require.NoError(t, err) + + // Action + err = nonKeysEntry.Validate() + assert.NotNil(t, err) +} + +func TestValidateNonClientNonServerEntry(t *testing.T) { + // Arrange + // Create keys and signed entry + _, sk := cipher.GenerateKeyPair() + nonClientNonServerEntry := client.Entry{ + Timestamp: time.Now().Unix(), + Version: "0", + Sequence: 0, + } + err := nonClientNonServerEntry.Sign(sk) + require.NoError(t, err) + + // Action + err = nonClientNonServerEntry.Validate() + assert.NotNil(t, err) +} + +func TestValidateNonSignedEntry(t *testing.T) { + // Arrange + // Create keys and signed entry + nonClientNonServerEntry := client.Entry{ + Timestamp: time.Now().Unix(), + Version: "0", + Sequence: 0, + } + + // Action + err := nonClientNonServerEntry.Validate() + assert.NotNil(t, err) +} + +func TestValidateIteration(t *testing.T) { + // Arrange + // Create keys and two entries + pk, sk := cipher.GenerateKeyPair() + + entryPrevious := newTestEntry(pk) + entryNext := newTestEntry(pk) + entryNext.Sequence = 1 + err := entryPrevious.Sign(sk) + require.NoError(t, err) + + // Action + err = entryPrevious.ValidateIteration(&entryNext) + + // Assert + assert.NoError(t, err) +} + +func TestValidateIterationEmptyClient(t *testing.T) { + // Arrange + // Create keys and two entries + pk, sk := cipher.GenerateKeyPair() + + entryPrevious := newTestEntry(pk) + err := entryPrevious.Sign(sk) + require.NoError(t, err) + entryNext := newTestEntry(pk) + entryNext.Sequence = 1 + err = entryNext.Sign(sk) + require.NoError(t, err) + + // Action + errValidation := entryNext.Validate() + errIteration := entryPrevious.ValidateIteration(&entryNext) + + // Assert + assert.NoError(t, errValidation) + assert.NoError(t, errIteration) +} + +func TestValidateIterationWrongSequence(t *testing.T) { + // Arrange + // Create keys and two entries + pk, sk := cipher.GenerateKeyPair() + + entryPrevious := newTestEntry(pk) + entryPrevious.Sequence = 2 + err := entryPrevious.Sign(sk) + require.NoError(t, err) + entryNext := newTestEntry(pk) + err = entryNext.Sign(sk) + require.NoError(t, err) + + // Action + err = entryPrevious.ValidateIteration(&entryNext) + + // Assert + assert.NotNil(t, err) +} + +func TestValidateIterationWrongTime(t *testing.T) { + // Arrange + // Create keys and two entries + pk, sk := cipher.GenerateKeyPair() + + entryPrevious := newTestEntry(pk) + err := entryPrevious.Sign(sk) + require.NoError(t, err) + entryNext := newTestEntry(pk) + entryNext.Timestamp -= 3 + err = entryNext.Sign(sk) + require.NoError(t, err) + + // Action + err = entryPrevious.ValidateIteration(&entryNext) + + // Assert + assert.NotNil(t, err) +} + +func TestCopy(t *testing.T) { + pk, sk := cipher.GenerateKeyPair() + entry := newTestEntry(pk) + err := entry.Sign(sk) + require.NoError(t, err) + + cases := []struct { + name string + src *client.Entry + dst *client.Entry + }{ + { + name: "must copy values for client, server and keys", + src: &entry, + dst: &client.Entry{ + Client: &client.Client{}, + Server: &client.Server{Address: "s", AvailableConnections: 0}, + Static: cipher.PubKey{}, + Timestamp: 3, + Sequence: 0, + Version: "0", + Signature: "s", + }, + }, + { + name: "must accept dst empty entry", + src: &entry, + dst: &client.Entry{}, + }, + { + name: "must accept src empty entry", + src: &client.Entry{}, + dst: &client.Entry{ + Client: &client.Client{}, + Server: &client.Server{Address: "s", AvailableConnections: 0}, + Static: cipher.PubKey{}, + Timestamp: 3, + Sequence: 0, + Version: "0", + Signature: "s", + }, + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + client.Copy(tc.dst, tc.src) + + assert.EqualValues(t, tc.src, tc.dst) + if tc.dst.Server != nil { + assert.NotEqual(t, fmt.Sprintf("%p", tc.dst.Server), fmt.Sprintf("%p", tc.src.Server)) + } + if tc.dst.Client != nil { + assert.NotEqual(t, fmt.Sprintf("%p", tc.dst.Client), fmt.Sprintf("%p", tc.src.Client)) + } + }) + } +} diff --git a/pkg/messaging-discovery/client/examples/client_test.go b/pkg/messaging-discovery/client/examples/client_test.go new file mode 100644 index 000000000..db15dcdb2 --- /dev/null +++ b/pkg/messaging-discovery/client/examples/client_test.go @@ -0,0 +1,89 @@ +// +build integration + +package client_test + +import ( + "context" + "fmt" + + "github.com/skycoin/skywire/pkg/messaging-discovery/client" + "github.com/skycoin/skywire/pkg/transport" +) + +func Example() { + // Connects the client to a local messaging-discovery server listening in port 8080 + apiClient := client.New("http://localhost:8080") + + // Create keypairs to use with the Client entry + pk, sk := transport.GenerateDeterministicKeyPair([]byte(`example`)) + + // Create client metadata + clientData := client.NewClient(nil, nil) + + // Create ephemeral keys metadata + ephemeralKeys := []client.ServerKeys{ + client.NewEphemeralKeys("ephemeralKey1", "staticServerKey"), + client.NewEphemeralKeys("ephemeralKey2", "staticServerKey"), + } + + // Create client entry, which iteration sequence is 0 + entry := client.NewClientEntry(pk, 0, clientData, ephemeralKeys) + + // Use the secret key to sign the entry + entry.Sign(sk) + + // Use the client to set the new entry in the messaging-discovery server + err := apiClient.SetEntry(context.TODO(), entry) + if err != nil { + panic(err) + } + + // Use the client to retrieve the entry associated to the public key + retrievedEntry, err := apiClient.Entry(context.TODO(), pk) + if err != nil { + panic(err) + } + + fmt.Println("original entry pk: ", entry.Keys.Static) + fmt.Println("recovered entry pk: ", retrievedEntry.Keys.Static) + + // You can also update the entry calling update entry method + // Internally it will update the sequence and re-sign the entry before calling set + entry.Version = "1" + apiClient.UpdateEntry(context.TODO(), sk, entry) + + retrievedEntry, err = apiClient.Entry(context.TODO(), pk) + if err != nil { + panic(err) + } + + fmt.Println("version of retrieved entry: ", retrievedEntry.Version) + + // Create a server entry, this one will update the previous entry + // associated with the public key, we set the iteration sequence to 1 + serverData := client.NewServer("localhost:8080", 5) + serverEntry := client.NewServerEntry(pk, 1, serverData) + serverEntry.Sign(sk) + + // Update the server entry + err = apiClient.UpdateEntry(context.TODO(), sk, serverEntry) + if err != nil { + panic(err) + } + + // Use the client library to retrieve an array of server entries from the messaging-discovery server + entries, err := apiClient.AvailableServers(context.TODO()) + if err != nil { + panic(err) + } + + fmt.Println("server entry pk: ", serverEntry.Keys.Static) + fmt.Println("retrieved server entry pk: ", entries[0].Keys.Static) + + // Output: + // original entry pk: 02ca451b007ee2f00324fb95475d5a194b1b7a15dbf61c728ec97168ad03f9bdd8 + // recovered entry pk: 02ca451b007ee2f00324fb95475d5a194b1b7a15dbf61c728ec97168ad03f9bdd8 + // version of retrieved entry: 1 + // server entry pk: 02ca451b007ee2f00324fb95475d5a194b1b7a15dbf61c728ec97168ad03f9bdd8 + // retrieved server entry pk: 02ca451b007ee2f00324fb95475d5a194b1b7a15dbf61c728ec97168ad03f9bdd8 +} diff --git a/pkg/messaging-discovery/client/http_message.go b/pkg/messaging-discovery/client/http_message.go new file mode 100644 index 000000000..6d50604a8 --- /dev/null +++ b/pkg/messaging-discovery/client/http_message.go @@ -0,0 +1,22 @@ +package client + +import ( + "fmt" + "net/http" +) + +// Exposed Http messages +var ( + MsgEntrySet = HTTPMessage{Code: http.StatusOK, Message: "wrote a new entry"} + MsgEntryUpdated = HTTPMessage{Code: http.StatusOK, Message: "wrote new entry iteration"} +) + +// HTTPMessage represents a message to be returned as an http response +type HTTPMessage struct { + Message string `json:"message"` + Code int `json:"code"` +} + +func (h HTTPMessage) String() string { + return fmt.Sprintf("status code: %d. message: %s", h.Code, h.Message) +} diff --git a/pkg/messaging-discovery/client/testing.go b/pkg/messaging-discovery/client/testing.go new file mode 100644 index 000000000..8fd77ade4 --- /dev/null +++ b/pkg/messaging-discovery/client/testing.go @@ -0,0 +1,102 @@ +package client + +import ( + "context" + "errors" + "net/http" + "sync" + "time" + + "github.com/skycoin/skywire/pkg/cipher" +) + +// MockClient is an APIClient mock. The mock doesn't reply with the same errors as the +// real client, and it mimics it's functionality not being 100% accurate. +type mockClient struct { + entriesLock sync.RWMutex + listLock sync.RWMutex + entries map[string]Entry + list []*Entry +} + +// NewMock constructs a new mock APIClient. +func NewMock() APIClient { + return &mockClient{ + entries: make(map[string]Entry), + list: []*Entry{}, + } +} + +func (m *mockClient) entry(key string) (Entry, bool) { + m.entriesLock.RLock() + defer m.entriesLock.RUnlock() + + e, ok := m.entries[key] + return e, ok +} + +func (m *mockClient) setEntry(key string, entry Entry) { + m.entriesLock.Lock() + defer m.entriesLock.Unlock() + + m.entries[key] = entry +} + +func (m *mockClient) setServer(entry *Entry) { + m.listLock.Lock() + defer m.listLock.Unlock() + + m.list = append(m.list, entry) +} + +// Entry returns the mock client static public key associated entry +func (m *mockClient) Entry(ctx context.Context, publicKey cipher.PubKey) (*Entry, error) { + entry, ok := m.entry(publicKey.Hex()) + if !ok { + return nil, errors.New(HTTPMessage{ErrKeyNotFound.Error(), http.StatusNotFound}.String()) + } + res := &Entry{} + Copy(res, &entry) + return res, nil +} + +// SetEntry sets an entry on the APIClient mock +func (m *mockClient) SetEntry(ctx context.Context, e *Entry) error { + previousEntry, ok := m.entry(e.Static.Hex()) + if ok { + err := previousEntry.ValidateIteration(e) + if err != nil { + return err + } + err = e.VerifySignature() + if err != nil { + return err + } + } + + m.setEntry(e.Static.Hex(), *e) + if e.Server != nil { + m.setServer(e) + } + + return nil +} + +// UpdateEntry updates a previously set entry +func (m *mockClient) UpdateEntry(ctx context.Context, sk cipher.SecKey, e *Entry) error { + e.Sequence++ + e.Timestamp = time.Now().UnixNano() + err := e.Sign(sk) + if err != nil { + return err + } + + return m.SetEntry(ctx, e) +} + +// AvailableServers returns all the servers that the APIClient mock has +func (m *mockClient) AvailableServers(ctx context.Context) ([]*Entry, error) { + m.listLock.RLock() + defer m.listLock.RUnlock() + return m.list, nil +} diff --git a/pkg/messaging/README.md b/pkg/messaging/README.md new file mode 100644 index 000000000..8815eea89 --- /dev/null +++ b/pkg/messaging/README.md @@ -0,0 +1,301 @@ +# skywire-node +Implementation of a Skywire Node. + +A instance is configured through the next configuration structure: + +```go +type Config struct { + Client bool // Whether this node is to act as a Messaging Client. + Server bool // Whether this node is to act as a Messaging Server. + Public bool // Whether this node is to be advertised in Discovery. + CommandLine bool // Whether this node allows command-line interactions via RPC. + + DiscoveryAddresses []string // Addresses of the Discovery nodes in which the Messaging Node is to use. + ListenRPC string // RPC Listening Address for command-line. + ListenTCP string // (Server only) TCP Listening address of this Messaging Node. + + StaticPubKey cipher.PubKey // StaticID public key which identifies the node. + StaticSecKey cipher.SecKey // StaticID secret key which identifies the node. + + DelegatedServers []cipher.PubKey // (Client only) Messaging Servers to connect to first. + ServerCount int // (Client only) Number of Messaging Servers to connect to initially. +} +``` + +A instance contains the following fields: + +```go + config *Config + clients *InterestedClients + pool *net.Pool + entry *client.Entry + discoveryClient client.APIClient + associatedEntries map[cipher.PubKey]*client.Entry + linker *keyLinker + deliveryPool *deliveryPool +``` + +Where: + +1. `config` is the previously mentioned configuration. +2. `clients` is a set of Interested Clients. +Interested clients are: +Clients that this instance has attempted to send a message to. +Clients that had previously sent an acknowledge message to this instance. +3. `pool` holds a pool of connections, we use the method `pool.Get` +every time we need to retrieve a connection using either a public key +or an ephemeral public key. +4. `entry` holds a messaging-discovery entry that represents the current instance. An +initial entry is created by calling `createInitialEntry` function during +instance initialization. Every time that a client instance connects to new nodes +or drops connections to other nodes the entry must be updated with the +new list of ephemeral keys. After that the entry in messaging-discovery should +also be updated. +5. `discoveryClient` holds a client instance connecting to a messaging-discovery +instance, through it we can Set, Update or Recover entries from +messaging-discovery. +6. `associatedEntries` holds a map that allows the instance to recover a +previously retrieved from messaging-discovery entry given the public key of a +instance. Entries that are not related anymore should be deleted. +7. `linker` is a struct that allows to recover the static key associated +with a given ephemeral key. It has the methods `StaticOfEphemeral`, +`SetLink` and `RemoveLink`. +8. `deliveryPool` is a struct that allows to keep track of which servers +we have tried to rely a message through when trying to send a segment +to a given client (indexed by their static public key). Is used for +retry logic purposes, also keep tracks of the segment ID that should be +used in the message to be delivered to said client and holds data that +allows to recreate the message we are trying to deliver using a +different server as a rely. Has the methods: +`Delete`, `GetLastWorkingEphemeral`, `TryGetNewEphemeral` and +`GetDestinationData`. + +# Code structure + +#### Files +- `api_client`: contains client code for communication with the RPC +server. +- `api_gateway`: contains an implementation of an RPC API gateway, it +uses the data types contained in rpc directory. Uses grpc and protocol +buffers, though it also exposes an interface for the Gateway to allow +different implementations. +- `delivery_pool`: contains delivery pool implementation. +- `delivery_pool_test`: contains delivery_pool unit tests. +- `handlers`: contains the instance handlers, those are fired when a given +message type is received or upon specific events: +```go + callbacks := &node.Callbacks{ + BasicForwardResponseClient: func(_ *node.Node, _ *net.Conn, srcPort, dstPort uint16) { + // code. Fired when a basic forward response is received by a client node + }, + BasicForward: func(node *Node, conn *net.Conn, sender cipher.PubKey, srcPort, dstPort uint16, payload []byte) (ack bool) { + // code. Fired when a basic forward segment is received by a client node + }, + BasicForwardResponseServer: func(node *Node, conn *net.Conn) { + // code. Fired when a basic forward response is received by a server node + }, + Close: func(node *Node, conn *net.Conn) { + // code. Fired when a connection is closed + }, + } +``` +We can pass these callbacks to the instance on startup with `instance.Start(callbacks)` +- `handlers_test`: contains handlers unit tests. +- `header`: contains implementations for the [header](#header) and its [flags](#flags). +- `header_test`: contains header and flags unit tests. +- `interested_clients`: interested clients implementation. Currently +not used. +- `instance`: instance's core code as well as linker implementation. +- `node_start`: startup code for client and server instance. +- `node_test`: contains unit tests for the instance, currently tests the +correct creation of a messaging-discovery entry that represents the instance. +- `segment`: contains [basic forward](#basic-forward) and [basic forward response](#basic-forward-response) segments +implementation. +- `segment_test`: contains segments unit tests. +- `text_cipher`: contains "PlainText" implementation, which allows +encoding/decoding for plain text that is embedded in the segment. +- `text_cipher_test`: contains text cipher unit tests. + +# Installation +Vendoring directory is provided, but dependencies can be rebuild with [dep](https://golang.github.io/dep/docs/installation.html) by running the command `dep ensure` + +To build the binaries: +```bash +go install ./pkg/... +``` +After that you should have a binary called messaging-discovery-service in your `$GOPATH` + +# Usage + +**command line applications** + +There are 3 command line applications related to instance: `messaging-client`, +`simple-server` and `client-cli`. + +`simple-server`: Starts a instance server, which needs to connect to a +skywire messaging-discovery server. The server will rely messages between clients. + + -a value, --address value tcp address of the client to listen (default: "localhost:8080") + -d value, --discovery value discovery address which the server needs to connect (default: "http://localhost:9090") + --help, -h show help + --version, -v print the version + +`messaging-client`: Starts a instance client server. The client needs to +connect to a messaging-discovery server plus at least one server instance. + + -a value, --address value tcp address of the client to listen (default: "localhost:8080") + --discovery value discovery address which the server needs to connect (default: "http://localhost:9090") + --help, -h show help + --version, -v print the version + +`client-cli`: Is a command line utility to interact with instance clients, +so far it allows to send messages from one client to another relied by +server nodes. + +Right now client-cli has only a sub-command available: `send-message`, +which accept the following options: + + -p value, --public-key value public key of the target node that we are sending the message to + -c value, --client-address value tcp address of the client node that exposes an rpc server (default: "localhost:8080") + -d value, --dst-port value destination node port (default: 8080) + -s value, --src-port value source node port (default: 8080) + +**usage example** + +First of all, assuming that you have compiled the binaries and they +are available through your $PATH, we can setup at least one instance server. + +As a prerequisite we are assuming that there is a messaging-discovery instance running +in "localhost:9090". + +```bash +simple-server -a "localhost:8080" -d "localhost:9090" +``` +You should be able to see something like that after running the command, +(the instance will initialize with a different public key): + +```bash +[2018-10-12T16:19:54+08:00] INFO [app]: server started with public key: 02a409e5652290009e5a37aea1dc3b4c99c871228c8d0032a96d3515c44a684c3b +[2018-10-12T16:19:54+08:00] INFO [node]: server started. Listening in localhost:8080 +``` + +Now we can setup a couple client nodes: + +```bash +simple-client --discovery "localhost:9090" -a "localhost:8081" +``` + +As an output of this command you should be able to see something like +that: + +```bash +[2018-10-12T16:28:22+08:00] INFO [app]: server started with public key: 03b4dea1197c62f988d7ac8f29c35d4753a6f6d867491ada3c6143eecb9b01684e +[2018-10-12T16:28:22+08:00] DEBUG [node]: current pool (ephemeral key pairs): +[2018-10-12T16:28:22+08:00] DEBUG [node]: my ephemeral: 032a5915284d9c0994e06cbf7e09d613c817b8f79a857f75f4ebcb2a16a810d118 +[2018-10-12T16:28:22+08:00] DEBUG [node]: remote ephemeral: 03e6e9a99b70cacf2bc58f7b8304b221418e1139fdb86fe0ae8fc74909d1abc4e4 +[2018-10-12T16:28:22+08:00] INFO [node]: server started. Listening in localhost:8081 +``` + +Then we start a second instance: + +```bash +simple-client --discovery "localhost:9090" -a "localhost:8082" +``` + +Output: + +```bash +[2018-10-12T16:41:46+08:00] INFO [app]: server started with public key: 0292e3af45a5aafb523c4033bb3f3d6736a87a2ae1b05a5406f4618931ec5a8cee +[2018-10-12T16:41:46+08:00] DEBUG [node]: current pool (ephemeral key pairs): +[2018-10-12T16:41:46+08:00] DEBUG [node]: my ephemeral: 025719dd14f9e571c22ec387754bb06a8f7a1eb58e7cda0131ed0d62642fd4e0be +[2018-10-12T16:41:46+08:00] DEBUG [node]: remote ephemeral: 03fd3b146910e8bf99cfd4cd991fe4281bd46b584b4893860eb68be1c9ce41b899 +[2018-10-12T16:41:46+08:00] INFO [node]: server started. Listening in localhost:8082 +``` + +Now we can effectively send messages from one client instance to another by +using the client-cli to tell one instance which message to deliver to a +destination instance, we will tell which destination instance by using the +destination client public key: + +```bash +client-cli send-message -c "localhost:8081" -p "0292e3af45a5aafb523c4033bb3f3d6736a87a2ae1b05a5406f4618931ec5a8cee" "Hi, I'm node 1 :)" +``` + +With this command we are telling client on localhost:8081 to say +"Hi, I'm instance 1 :)" to the client instance which public key is +"0292e3af45a5aafb523c4033bb3f3d6736a87a2ae1b05a5406f4618931ec5a8cee". + +If everything goes well we will see something like this: +```bash +[2018-10-12T16:49:46+08:00] INFO [app]: message delivered +``` + +Then if we check the logs for the client instance listening in +"localhost:8081" we can see these logs: + +```bash +[2018-10-12T16:49:19+08:00] INFO [node]: entry recovered from discovery has ephemeral keys: [{025719dd14f9e571c22ec387754bb06a8f7a1eb58e7cda0131ed0d62642fd4e0be 02a409e5652290009e5a37aea1dc3b4c99c871228c8d0032a96d3515c44a684c3b}] +[2018-10-12T16:49:19+08:00] INFO [node]: found a server to rely with pk: 02a409e5652290009e5a37aea1dc3b4c99c871228c8d0032a96d3515c44a684c3b +[2018-10-12T16:49:19+08:00] DEBUG [node]: ciphered message with shared secret product of these keys: +[2018-10-12T16:49:19+08:00] DEBUG [node]: remote public ephemeral: 025719dd14f9e571c22ec387754bb06a8f7a1eb58e7cda0131ed0d62642fd4e0be +[2018-10-12T16:49:19+08:00] DEBUG [node]: local private ephemeral: f0e08a346d54e54b8210b58e0ba1ab42afec0fdc74015010ff83bc4f5adf56a4 +[2018-10-12T16:49:19+08:00] INFO [node]: sending payload which header receiver is: 025719dd14f9e571c22ec387754bb06a8f7a1eb58e7cda0131ed0d62642fd4e0be +[2018-10-12T16:49:19+08:00] DEBUG [node]: ClientOnBasicForwardResponse called +[2018-10-12T16:49:19+08:00] INFO [node]: segment acknowledged by receiver +[2018-10-12T16:49:19+08:00] DEBUG [node]: ClientOnBasicForwardResponse processed +``` + +On the other hand if we look at the client instance at "localhost:8082" we +will be able to see these logs: + +```bash +[2018-10-12T16:49:19+08:00] DEBUG [node]: ciphered message with shared secret product of these keys: +[2018-10-12T16:49:19+08:00] DEBUG [node]: remote public ephemeral: 032a5915284d9c0994e06cbf7e09d613c817b8f79a857f75f4ebcb2a16a810d118 +[2018-10-12T16:49:19+08:00] DEBUG [node]: local private ephemeral: 121459f0b1f4c0016bbb743b39dab0554e640dc1a7a571840260a854b673214e +[2018-10-12T16:49:19+08:00] INFO [node]: received segment number 0 with message: Hi, I'm node 1 :) +``` + +And finally if we look at the instance server logs we can see how it relied +the message to the destination client and the response to the caller: + +```bash +[2018-10-12T16:49:19+08:00] DEBUG [node]: ServerOnBasicForward called +[2018-10-12T16:49:19+08:00] DEBUG [node]: BasicForwardAction relied +[2018-10-12T16:49:19+08:00] DEBUG [node]: ServerOnBasicForwardResponse called +[2018-10-12T16:49:19+08:00] DEBUG [node]: BasicForwardResponseAction relied +``` + +### Data structures +Basic Forward: + +| Field Name | Size (in bytes) | Description | +| ---------- | --------------- | ----------- | +| Header | 75 | Includes Sender and Receiver ephemeral keys and a segment ID. | +| CipherText | ~ | `chacha20poly1305` AEAD-Encrypted. Uses the Header field as AD, and the segment ID as the nonce. Data should have a 64 byte prefix that has Sender and Receiver static keys and ports. | + +Basic Forward Response: + +| Field Name | Size (in bytes) | Description | +| ---------- | --------------- | ----------- | +| Flags | 1 | Contain the flags for the segment. | +| Sender | 33 | Ephemeral public key of a Sender. | +| Receiver | 33 | Ephemeral public key of a Receiver. | +| Segment ID | 8 | An big-endian encoded uint64 integer that uniquely identifies a segment. | + +Header: + +| Field Name | Size (in bytes) | Description | +| ---------- | --------------- | ----------- | +| Sender Static | 33 | The static public key of the Sender. | +| Receiver Static | 33 | The static public key of the Receiver. | +| Sender Port | 2 | uint16 port of the Sender. | +| Receiver Port | 2 | uint16 port of the Receiver. | +| Payload | ~ | The actual payload to be delivered. | + +Flags: +The "Flags" field has 8 possible bits to use. The following are defined: +- bit 0 & 1 (`RESP_CODE`) : + - `00` - Unspecified Response / Rejected by Local Messaging Client. + - `01` - Accepted by Remote Messaging Client. + - `10` - Rejected by Messaging Server. + - `11` - Rejected by Remote Messaging Server. \ No newline at end of file diff --git a/pkg/messaging/callbacks.go b/pkg/messaging/callbacks.go new file mode 100644 index 000000000..b4235d6bf --- /dev/null +++ b/pkg/messaging/callbacks.go @@ -0,0 +1,21 @@ +package messaging + +type ( + // HandshakeCompleteAction triggers when a handshake is completed successfully. + HandshakeCompleteAction func(conn *Link) + + // FrameAction triggers when a connection receives a non-predefined frame. + // If an error is returned, the connection is closed and the 'Close' callback is triggered. + FrameAction func(conn *Link, dt FrameType, body []byte) error + + // TCPCloseAction triggers when we receive a connection closure. + // 'remote' determines whether the closure is requested remotely or locally. + TCPCloseAction func(conn *Link, remote bool) + + // Callbacks contains callbacks. + Callbacks struct { + HandshakeComplete HandshakeCompleteAction + Data FrameAction + Close TCPCloseAction + } +) diff --git a/pkg/messaging/chan_list.go b/pkg/messaging/chan_list.go new file mode 100644 index 000000000..22594353b --- /dev/null +++ b/pkg/messaging/chan_list.go @@ -0,0 +1,62 @@ +package messaging + +import "sync" + +type chanList struct { + sync.Mutex + + chans map[byte]*channel +} + +func newChanList() *chanList { + return &chanList{chans: map[byte]*channel{}} +} + +func (c *chanList) add(channel *channel) byte { + c.Lock() + defer c.Unlock() + + for i := byte(0); i < 255; i++ { + if c.chans[i] == nil { + c.chans[i] = channel + return i + } + } + + panic("no free channels") +} + +func (c *chanList) set(id byte, channel *channel) { + c.Lock() + c.chans[id] = channel + c.Unlock() +} + +func (c *chanList) get(id byte) *channel { + c.Lock() + ch := c.chans[id] + c.Unlock() + + return ch +} + +func (c *chanList) remove(id byte) { + c.Lock() + delete(c.chans, id) + c.Unlock() +} + +func (c *chanList) dropAll() []*channel { + c.Lock() + defer c.Unlock() + var r []*channel + + for _, ch := range c.chans { + if ch == nil { + continue + } + r = append(r, ch) + } + c.chans = nil + return r +} diff --git a/pkg/messaging/channel.go b/pkg/messaging/channel.go new file mode 100644 index 000000000..fc0018634 --- /dev/null +++ b/pkg/messaging/channel.go @@ -0,0 +1,221 @@ +package messaging + +import ( + "bytes" + "context" + "encoding/binary" + "io" + "time" + + "github.com/skycoin/skywire/internal/ioutil" + "github.com/skycoin/skywire/internal/noise" + "github.com/skycoin/skywire/pkg/cipher" +) + +type channel struct { + ID byte + remotePK cipher.PubKey + link *Link + buf *bytes.Buffer + + deadline time.Time + closed bool + + waitChan chan bool + readChan chan []byte + closeChan chan struct{} + doneChan chan struct{} + + noise *noise.Noise +} + +func newChannel(initiator bool, secKey cipher.SecKey, remote cipher.PubKey, link *Link) (*channel, error) { + noiseConf := noise.Config{ + LocalSK: secKey, + LocalPK: link.Local(), + RemotePK: remote, + Initiator: initiator, + } + noiseInstance, err := noise.KKAndSecp256k1(noiseConf) + if err != nil { + return nil, err + } + + return &channel{ + remotePK: remote, + link: link, + buf: new(bytes.Buffer), + waitChan: make(chan bool), + readChan: make(chan []byte), + closeChan: make(chan struct{}), + doneChan: make(chan struct{}), + noise: noiseInstance, + }, nil +} + +func (c *channel) Read(p []byte) (n int, err error) { + if c.buf.Len() != 0 { + return c.buf.Read(p) + } + + ctx := context.Background() + var cancel context.CancelFunc + if time.Until(c.deadline) > 0 { + ctx, cancel = context.WithDeadline(ctx, c.deadline) + defer cancel() + } + + return c.readEncrypted(ctx, p) +} + +func (c *channel) Write(p []byte) (n int, err error) { + if c.closed { + return 0, ErrChannelClosed + } + + ctx := context.Background() + var cancel context.CancelFunc + if time.Until(c.deadline) > 0 { + ctx, cancel = context.WithDeadline(ctx, c.deadline) + defer cancel() + } + + writeChan := make(chan struct { + int + error + }) + go func() { + data := c.noise.Encrypt(p) + buf := make([]byte, 2) + binary.BigEndian.PutUint16(buf, uint16(len(data))) + n, err := c.link.Send(c.ID, append(buf, data...)) + writeChan <- struct { + int + error + }{n - (len(data) - len(p) + 2), err} + }() + + select { + case w := <-writeChan: + return w.int, w.error + case <-ctx.Done(): + return 0, ErrDeadlineExceeded + } +} + +func (c *channel) Close() error { + if c.closed { + return ErrChannelClosed + } + + if _, err := c.link.SendCloseChannel(c.ID); err != nil { + return err + } + + c.closed = true + + select { + case <-c.closeChan: + case <-time.After(time.Second): + } + + c.close() + return nil +} + +func (c *channel) Local() cipher.PubKey { + return c.link.Local() +} + +func (c *channel) Remote() cipher.PubKey { + return c.remotePK +} + +func (c *channel) SetDeadline(t time.Time) error { + c.deadline = t + return nil +} + +func (c *channel) Type() string { + return "messaging" +} + +func (c *channel) close() { + select { + case <-c.doneChan: + default: + close(c.doneChan) + close(c.readChan) + close(c.closeChan) + } +} + +func (c *channel) readEncrypted(ctx context.Context, p []byte) (n int, err error) { + buf := new(bytes.Buffer) + readAtLeast := func(d []byte) (int, error) { + for { + if buf.Len() >= len(d) { + return buf.Read(d) + } + + select { + case in, more := <-c.readChan: + if !more { + return 0, io.EOF + } + + if _, err := buf.Write(in); err != nil { + return 0, err + } + case <-ctx.Done(): + return 0, ErrDeadlineExceeded + } + } + } + + size := make([]byte, 2) + if _, err := readAtLeast(size); err != nil { + return 0, err + } + + encrypted := make([]byte, binary.BigEndian.Uint16(size)) + if _, err := readAtLeast(encrypted); err != nil { + return 0, err + } + + data, err := c.noise.Decrypt(encrypted) + if err != nil { + return 0, err + } + + if len(data) > len(p) { + if _, err := c.buf.Write(data[len(p):]); err != nil { + return 0, io.ErrShortBuffer + } + + return copy(p, data[:len(p)]), nil + } + + return copy(p, data), nil +} + +type ackedChannel struct { + *channel + rw *ioutil.AckReadWriter +} + +func newAckedChannel(c *channel) *ackedChannel { + return &ackedChannel{c, ioutil.NewAckReadWriter(c, 100*time.Millisecond)} +} + +func (c *ackedChannel) Write(p []byte) (n int, err error) { + return c.rw.Write(p) +} + +func (c *ackedChannel) Read(p []byte) (n int, err error) { + return c.rw.Read(p) +} + +func (c *ackedChannel) Close() error { + return c.rw.Close() +} diff --git a/pkg/messaging/channel_test.go b/pkg/messaging/channel_test.go new file mode 100644 index 000000000..c519f1816 --- /dev/null +++ b/pkg/messaging/channel_test.go @@ -0,0 +1,156 @@ +package messaging + +import ( + "encoding/binary" + "io" + "net" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/cipher" + + "github.com/skycoin/skywire/internal/noise" +) + +func TestChannelRead(t *testing.T) { + remotePK, remoteSK := cipher.GenerateKeyPair() + pk, sk := cipher.GenerateKeyPair() + + in, _ := net.Pipe() + l, err := NewLink(in, &LinkConfig{Public: pk}, nil) + require.NoError(t, err) + + c, err := newChannel(true, sk, remotePK, l) + require.NoError(t, err) + + rn := handshakeChannel(t, c, remotePK, remoteSK) + + buf := make([]byte, 2) + c.SetDeadline(time.Now().Add(100 * time.Millisecond)) // nolint + _, err = c.Read(buf) + require.Equal(t, ErrDeadlineExceeded, err) + + go func() { + data := rn.Encrypt([]byte("foo")) + buf := make([]byte, 2) + binary.BigEndian.PutUint16(buf, uint16(len(data))) + buf = append(buf, data...) + c.readChan <- buf[0:3] + c.readChan <- buf[3:] + + data = rn.Encrypt([]byte("foo")) + buf = make([]byte, 2) + binary.BigEndian.PutUint16(buf, uint16(len(data))) + buf = append(buf, data...) + c.readChan <- buf + c.close() + }() + + buf = make([]byte, 3) + n, err := c.Read(buf) + require.NoError(t, err) + assert.Equal(t, 3, n) + assert.Equal(t, []byte("foo"), buf) + + buf = make([]byte, 2) + n, err = c.Read(buf) + require.NoError(t, err) + assert.Equal(t, 2, n) + assert.Equal(t, []byte("fo"), buf) + + buf = make([]byte, 2) + n, err = c.Read(buf) + require.NoError(t, err) + assert.Equal(t, 1, n) + assert.Equal(t, []byte("o"), buf[:n]) + + _, err = c.Read(buf) + require.Equal(t, io.EOF, err) +} + +func TestChannelWrite(t *testing.T) { + remotePK, remoteSK := cipher.GenerateKeyPair() + pk, sk := cipher.GenerateKeyPair() + + in, out := net.Pipe() + l, err := NewLink(in, &LinkConfig{Public: pk}, nil) + require.NoError(t, err) + + c, err := newChannel(true, sk, remotePK, l) + require.NoError(t, err) + c.ID = 10 + + rn := handshakeChannel(t, c, remotePK, remoteSK) + + buf := make([]byte, 25) + go out.Read(buf) // nolint + n, err := c.Write([]byte("foo")) + require.NoError(t, err) + assert.Equal(t, 3, n) + + assert.Equal(t, FrameTypeSend, FrameType(buf[2])) + assert.Equal(t, byte(10), buf[3]) + require.Equal(t, uint16(19), binary.BigEndian.Uint16(buf[4:])) + + data, err := rn.Decrypt(buf[6:]) + require.NoError(t, err) + assert.Equal(t, []byte("foo"), data) + + c.SetDeadline(time.Now().Add(100 * time.Millisecond)) // nolint + _, err = c.Write([]byte("foo")) + require.Equal(t, ErrDeadlineExceeded, err) + + c.closed = true + _, err = c.Write([]byte("foo")) + require.Equal(t, ErrChannelClosed, err) +} + +func TestChannelClose(t *testing.T) { + remotePK, remoteSK := cipher.GenerateKeyPair() + pk, sk := cipher.GenerateKeyPair() + + in, out := net.Pipe() + l, err := NewLink(in, &LinkConfig{Public: pk}, nil) + require.NoError(t, err) + + c, err := newChannel(true, sk, remotePK, l) + require.NoError(t, err) + c.ID = 10 + + handshakeChannel(t, c, remotePK, remoteSK) + + require.NoError(t, c.SetDeadline(time.Now().Add(100*time.Millisecond))) + + buf := make([]byte, 4) + go out.Read(buf) // nolint + require.NoError(t, c.Close()) + assert.Equal(t, FrameTypeCloseChannel, FrameType(buf[2])) + assert.Equal(t, byte(10), buf[3]) +} + +func handshakeChannel(t *testing.T, c *channel, pk cipher.PubKey, sk cipher.SecKey) *noise.Noise { + t.Helper() + + noiseConf := noise.Config{ + LocalSK: sk, + LocalPK: pk, + RemotePK: c.Local(), + Initiator: false, + } + + n, err := noise.KKAndSecp256k1(noiseConf) + require.NoError(t, err) + + msg, err := c.noise.HandshakeMessage() + require.NoError(t, err) + + require.NoError(t, n.ProcessMessage(msg)) + msg, err = n.HandshakeMessage() + require.NoError(t, err) + + require.NoError(t, c.noise.ProcessMessage(msg)) + return n +} diff --git a/pkg/messaging/client.go b/pkg/messaging/client.go new file mode 100644 index 000000000..795b384a9 --- /dev/null +++ b/pkg/messaging/client.go @@ -0,0 +1,394 @@ +// Package messaging implements messaging communication. Messaging +// communication is performed between 2 nodes using intermediate relay +// server, node discovery is performed using messaging discovery. +package messaging + +import ( + "context" + "encoding/hex" + "errors" + "fmt" + "net" + "sync" + + "github.com/skycoin/skycoin/src/util/logging" + + "github.com/skycoin/skywire/pkg/cipher" + + "github.com/skycoin/skywire/pkg/messaging-discovery/client" + "github.com/skycoin/skywire/pkg/transport" +) + +var ( + // ErrNoSrv indicate that remote client does not have DelegatedServers in entry. + ErrNoSrv = errors.New("remote has no DelegatedServers") + // ErrRejected indicates that ChannelOpen frame was rejected by remote server. + ErrRejected = errors.New("rejected") + // ErrChannelClosed indicates that underlying channel is being closed and writes are prohibited. + ErrChannelClosed = errors.New("channel closed") + // ErrDeadlineExceeded indicates that read/write operation failed due to timeout. + ErrDeadlineExceeded = errors.New("deadline exceeded") + // ErrClientClosed indicates that client is closed and not accepting new connections. + ErrClientClosed = errors.New("client closed") +) + +type clientLink struct { + link *Link + chans *chanList +} + +// Client sends messages to remote client nodes via relay Server. +type Client struct { + Logger *logging.Logger + + pubKey cipher.PubKey + secKey cipher.SecKey + dc client.APIClient + pool *Pool + + links map[cipher.PubKey]*clientLink + mu sync.RWMutex + + newChan chan *channel + doneChan chan struct{} +} + +// NewClient constructs a new Client. +func NewClient(pubKey cipher.PubKey, secKey cipher.SecKey, discoveryClient client.APIClient) *Client { + c := &Client{ + Logger: logging.MustGetLogger("messenger"), + pubKey: pubKey, + secKey: secKey, + dc: discoveryClient, + links: make(map[cipher.PubKey]*clientLink), + newChan: make(chan *channel), + doneChan: make(chan struct{}), + } + config := &LinkConfig{ + Public: c.pubKey, + Secret: c.secKey, + HandshakeTimeout: DefaultHandshakeTimeout, + } + c.pool = NewPool(config, &Callbacks{ + Data: c.onData, + Close: c.onClose, + }) + + return c +} + +// ConnectToInitialServers tries to connect to at most serverCount servers. +func (c *Client) ConnectToInitialServers(ctx context.Context, serverCount int) error { + if serverCount == 0 { + return nil + } + + entries, err := c.dc.AvailableServers(ctx) + if err != nil { + return fmt.Errorf("servers are not available: %s", err) + } + + for _, entry := range entries { + if len(c.links) > serverCount { + break + } + + if _, err := c.link(entry.Static, entry.Server.Address); err != nil { + c.Logger.Warnf("Failed to connect to the server %s: %s", entry.Static, err) + } + } + + if len(c.links) == 0 { + return fmt.Errorf("servers are not available: all servers failed") + } + + if err := c.setEntry(ctx); err != nil { + return fmt.Errorf("entry update failure: %s", err) + } + + return nil +} + +// Accept accepts a remotely-initiated Transport. +func (c *Client) Accept(ctx context.Context) (transport.Transport, error) { + select { + case ch, more := <-c.newChan: + if !more { + return nil, ErrClientClosed + } + return newAckedChannel(ch), nil + case <-ctx.Done(): + return nil, ctx.Err() + } +} + +// Dial initiates a Transport with a remote node. +func (c *Client) Dial(ctx context.Context, remote cipher.PubKey) (transport.Transport, error) { + entry, err := c.dc.Entry(ctx, remote) + if err != nil { + return nil, fmt.Errorf("get entry failure: %s", err) + } + + if entry.Client.DelegatedServers == nil || len(entry.Client.DelegatedServers) == 0 { + return nil, ErrNoSrv + } + + clientLink, err := c.ensureLink(ctx, entry.Client.DelegatedServers) + if err != nil { + return nil, fmt.Errorf("link failure: %s", err) + } + + channel, err := newChannel(true, c.secKey, remote, clientLink.link) + if err != nil { + return nil, fmt.Errorf("noise setup: %s", err) + } + channel.ID = clientLink.chans.add(channel) + + msg, err := channel.noise.HandshakeMessage() + if err != nil { + return nil, fmt.Errorf("noise handshake: %s", err) + } + + if _, err := clientLink.link.SendOpenChannel(channel.ID, remote, msg); err != nil { + return nil, fmt.Errorf("failed to open channel: %s", err) + } + + select { + case result := <-channel.waitChan: + if !result { + return nil, ErrRejected + } + case <-ctx.Done(): + return nil, ctx.Err() + } + + c.Logger.Infof("Opened new channel ID %d with %s", channel.ID, remote) + return newAckedChannel(channel), nil +} + +// Local returns the local public key. +func (c *Client) Local() cipher.PubKey { + return c.pubKey +} + +// Type returns the Transport type. +func (c *Client) Type() string { + return "messaging" +} + +// Close closes underlying link pool. +func (c *Client) Close() error { + c.Logger.Info("Closing link pool") + select { + case <-c.doneChan: + default: + close(c.doneChan) + close(c.newChan) + } + return c.pool.Close() +} + +func (c *Client) setEntry(ctx context.Context) error { + c.Logger.Info("Updating discovery entry") + serverPKs := []cipher.PubKey{} + c.mu.RLock() + for pk := range c.links { + serverPKs = append(serverPKs, pk) + } + c.mu.RUnlock() + + entry, err := c.dc.Entry(ctx, c.pubKey) + if err != nil { + entry = client.NewClientEntry(c.pubKey, 0, serverPKs) + if err := entry.Sign(c.secKey); err != nil { + return err + } + + return c.dc.SetEntry(ctx, entry) + } + + entry.Client.DelegatedServers = serverPKs + return c.dc.UpdateEntry(ctx, c.secKey, entry) +} + +func (c *Client) link(remotePK cipher.PubKey, addr string) (*clientLink, error) { + conn, err := net.Dial("tcp", addr) + if err != nil { + return nil, err + } + l, err := c.pool.Initiate(conn, remotePK) + if err != nil && err != ErrConnExists { + return nil, err + } + + c.Logger.Infof("Opened new link with the server %s", remotePK) + clientLink := &clientLink{l, newChanList()} + c.mu.Lock() + c.links[remotePK] = clientLink + c.mu.Unlock() + return clientLink, nil +} + +func (c *Client) ensureLink(ctx context.Context, serverList []cipher.PubKey) (*clientLink, error) { + for _, serverPK := range serverList { + if l := c.getLink(serverPK); l != nil { + return l, nil + } + } + + serverPK := serverList[0] + serverEntry, err := c.dc.Entry(ctx, serverPK) + if err != nil { + return nil, fmt.Errorf("get server failure: %s", err) + } + + l, err := c.link(serverPK, serverEntry.Server.Address) + if err != nil { + return nil, err + } + + if err := c.setEntry(ctx); err != nil { + return nil, fmt.Errorf("entry update failure: %s", err) + } + + return l, nil +} + +func (c *Client) getLink(remotePK cipher.PubKey) *clientLink { + c.mu.RLock() + l := c.links[remotePK] + c.mu.RUnlock() + return l +} + +func (c *Client) onData(l *Link, frameType FrameType, body []byte) error { + remotePK := l.Remote() + if len(body) == 0 { + c.Logger.Warnf("Invalid packet from %s: empty body", remotePK) + return nil + } + + clientLink := c.getLink(l.Remote()) + channelID := body[0] + var sendErr error + + c.Logger.Debugf("New frame %s from %s@%d", frameType, remotePK, channelID) + if frameType == FrameTypeOpenChannel { + if msg, err := c.openChannel(channelID, body[1:34], body[34:], clientLink); err != nil { + c.Logger.Warnf("Failed to open new channel for %s: %s", remotePK, err) + _, sendErr = l.SendChannelClosed(channelID) + } else { + c.Logger.Infof("Opened new channel ID %d with %s", channelID, hex.EncodeToString(body[1:34])) + _, sendErr = l.SendChannelOpened(channelID, msg) + } + + return c.warnSendError(remotePK, sendErr) + } + + channel := clientLink.chans.get(channelID) + if channel == nil { + if frameType != FrameTypeChannelClosed && frameType != FrameTypeCloseChannel { + c.Logger.Warnf("Frame for unknown channel %d from %s", channelID, remotePK) + } + return nil + } + + switch frameType { + case FrameTypeCloseChannel: + clientLink.chans.remove(channelID) + _, sendErr = l.SendChannelClosed(channelID) + c.Logger.Debugf("Closed channel ID %d", channelID) + case FrameTypeChannelOpened: + if err := channel.noise.ProcessMessage(body[1:]); err != nil { + sendErr = fmt.Errorf("noise handshake: %s", err) + } + + select { + case channel.waitChan <- true: + default: + } + case FrameTypeChannelClosed: + select { + case channel.waitChan <- false: + case channel.closeChan <- struct{}{}: + clientLink.chans.remove(channelID) + default: + } + case FrameTypeSend: + go func() { + select { + case <-c.doneChan: + case <-channel.doneChan: + case channel.readChan <- body[1:]: + } + }() + } + + return c.warnSendError(remotePK, sendErr) +} + +func (c *Client) onClose(l *Link, remote bool) { + remotePK := l.Remote() + c.Logger.Infof("Closing link with the server %s", remotePK) + + c.mu.RLock() + chanLink := c.links[remotePK] + c.mu.RUnlock() + + for _, channel := range chanLink.chans.dropAll() { + channel.close() + } + + c.mu.Lock() + delete(c.links, remotePK) + c.mu.Unlock() + + if err := c.setEntry(context.Background()); err != nil { + c.Logger.Warnf("Failed to update entry: %s", err) + } +} + +func (c *Client) openChannel(channelID byte, remotePK []byte, msg []byte, chanLink *clientLink) ([]byte, error) { + channel := chanLink.chans.get(channelID) + if channel != nil { + return nil, errors.New("channel is already opened") + } + + pubKey, err := cipher.NewPubKey(remotePK) + if err != nil { + return nil, err + } + channel, err = newChannel(false, c.secKey, pubKey, chanLink.link) + if err != nil { + return nil, fmt.Errorf("noise setup: %s", err) + } + + channel.ID = channelID + chanLink.chans.set(channelID, channel) + + if err := channel.noise.ProcessMessage(msg); err != nil { + return nil, fmt.Errorf("noise handshake: %s", err) + } + + go func() { + select { + case <-c.doneChan: + case c.newChan <- channel: + } + }() + + res, err := channel.noise.HandshakeMessage() + if err != nil { + return nil, fmt.Errorf("noise handshake: %s", err) + } + + return res, nil +} + +func (c *Client) warnSendError(remote cipher.PubKey, err error) error { + if err != nil { + c.Logger.Warnf("Failed to send frame to %s: %s", remote, err) + } + + return nil +} diff --git a/pkg/messaging/client_test.go b/pkg/messaging/client_test.go new file mode 100644 index 000000000..2a8925300 --- /dev/null +++ b/pkg/messaging/client_test.go @@ -0,0 +1,202 @@ +package messaging + +import ( + "context" + "errors" + "net" + "os" + "sync" + "testing" + "time" + + "github.com/skycoin/skycoin/src/util/logging" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/cipher" + "github.com/skycoin/skywire/pkg/messaging-discovery/client" + "github.com/skycoin/skywire/pkg/transport" +) + +func TestMain(m *testing.M) { + lvl, _ := logging.LevelFromString("error") // nolint: errcheck + logging.SetLevel(lvl) + os.Exit(m.Run()) +} + +func TestClientConnectInitialServers(t *testing.T) { + pk, sk := cipher.GenerateKeyPair() + discovery := client.NewMock() + c := NewClient(pk, sk, discovery) + + srv, err := newMockServer(discovery) + require.NoError(t, err) + + time.Sleep(100 * time.Millisecond) + + require.NoError(t, c.ConnectToInitialServers(context.TODO(), 1)) + c.mu.RLock() + require.Len(t, c.links, 1) + c.mu.RUnlock() + + entry, err := discovery.Entry(context.TODO(), pk) + require.NoError(t, err) + assert.Len(t, entry.Client.DelegatedServers, 1) + assert.Equal(t, srv.config.Public, entry.Client.DelegatedServers[0]) + + require.NoError(t, srv.Close()) + time.Sleep(100 * time.Millisecond) + + c.mu.RLock() + require.Len(t, c.links, 0) + c.mu.RUnlock() + + entry, err = discovery.Entry(context.TODO(), pk) + require.NoError(t, err) + require.Len(t, entry.Client.DelegatedServers, 0) +} + +func TestClientDial(t *testing.T) { + pk, sk := cipher.GenerateKeyPair() + discovery := client.NewMock() + c := NewClient(pk, sk, discovery) + + srv, err := newMockServer(discovery) + require.NoError(t, err) + srvPK := srv.config.Public + + time.Sleep(100 * time.Millisecond) + + anotherPK, anotherSK := cipher.GenerateKeyPair() + anotherClient := NewClient(anotherPK, anotherSK, discovery) + require.NoError(t, anotherClient.ConnectToInitialServers(context.TODO(), 1)) + + var anotherTr transport.Transport + anotherErrCh := make(chan error) + go func() { + t, err := anotherClient.Accept(context.TODO()) + anotherTr = t + anotherErrCh <- err + }() + + var tr transport.Transport + errCh := make(chan error) + go func() { + t, err := c.Dial(context.TODO(), anotherPK) + tr = t + errCh <- err + }() + + time.Sleep(100 * time.Millisecond) + + require.NoError(t, <-errCh) + require.NotNil(t, c.getLink(srvPK).chans.get(0)) + + entry, err := discovery.Entry(context.TODO(), pk) + require.NoError(t, err) + require.Len(t, entry.Client.DelegatedServers, 1) + + require.NoError(t, <-anotherErrCh) + require.NotNil(t, anotherClient.getLink(srvPK).chans.get(0)) + + go tr.Write([]byte("foo")) // nolint: errcheck + + buf := make([]byte, 3) + n, err := anotherTr.Read(buf) + require.NoError(t, err) + assert.Equal(t, 3, n) + assert.Equal(t, []byte("foo"), buf) + + go anotherTr.Write([]byte("bar")) // nolint: errcheck + + buf = make([]byte, 3) + n, err = tr.Read(buf) + require.NoError(t, err) + assert.Equal(t, 3, n) + assert.Equal(t, []byte("bar"), buf) + + require.NoError(t, anotherTr.Close()) + require.NoError(t, tr.Close()) + + time.Sleep(100 * time.Millisecond) + + // require.Nil(t, c.getLink(srvPK).chans.get(0)) + require.Nil(t, anotherClient.getLink(srvPK).chans.get(0)) +} + +type mockServer struct { + *Pool + + links []*Link + mu sync.Mutex +} + +func newMockServer(discovery client.APIClient) (*mockServer, error) { + pk, sk := cipher.GenerateKeyPair() + srv := &mockServer{} + pool := NewPool(DefaultLinkConfig(), &Callbacks{ + HandshakeComplete: srv.onHandshake, + Data: srv.onData, + }) + pool.config.Public = pk + pool.config.Secret = sk + + l, err := net.Listen("tcp", "127.0.0.1:0") + if err != nil { + return nil, err + } + go pool.Respond(l) // nolint: errcheck + + entry := client.NewServerEntry(pk, 0, l.Addr().String(), 10) + if err := entry.Sign(sk); err != nil { + return nil, err + } + if err := discovery.SetEntry(context.TODO(), entry); err != nil { + return nil, err + } + + srv.Pool = pool + return srv, nil +} + +func (s *mockServer) onHandshake(l *Link) { + s.mu.Lock() + s.links = append(s.links, l) + s.mu.Unlock() +} + +func (s *mockServer) onData(l *Link, frameType FrameType, body []byte) error { + ol, err := s.oppositeLink(l) + if err != nil { + return err + } + + channelID := body[0] + switch frameType { + case FrameTypeOpenChannel: + _, err = ol.SendOpenChannel(channelID, l.Remote(), body[34:]) + case FrameTypeChannelOpened: + _, err = ol.SendChannelOpened(channelID, body[1:]) + case FrameTypeCloseChannel: + l.SendChannelClosed(channelID) // nolint + _, err = ol.SendCloseChannel(channelID) + case FrameTypeChannelClosed: + _, err = ol.SendChannelClosed(channelID) + case FrameTypeSend: + _, err = ol.Send(channelID, body[1:]) + } + + return err +} + +func (s *mockServer) oppositeLink(l *Link) (*Link, error) { + s.mu.Lock() + defer s.mu.Unlock() + for _, link := range s.links { + if link != l { + return link, nil + } + } + + return nil, errors.New("unknown link") +} diff --git a/pkg/messaging/frame.go b/pkg/messaging/frame.go new file mode 100644 index 000000000..b70220183 --- /dev/null +++ b/pkg/messaging/frame.go @@ -0,0 +1,151 @@ +package messaging + +import ( + "encoding/binary" + "errors" + "fmt" + "io" +) + +const ( + // MaxDataBodySize defines the maximum payload body size. + MaxDataBodySize = 65518 +) + +var ( + // ErrDataTypeUnknown occurs when the data type is unknown. + ErrDataTypeUnknown = errors.New("data type unknown and unregistered") + + // ErrDataTooLarge occurs when the data is too large. + ErrDataTooLarge = errors.New("data too large") + + // ErrDataTooSmall occurs when the data is too small. + ErrDataTooSmall = errors.New("data too small") + + // ErrHandshakeFailed occurs when a handshake fails. + ErrHandshakeFailed = errors.New("handshake failed") // TODO(evanlinjin): Make this a struct. +) + +// FrameType determines the type of payload. +type FrameType byte + +func (f FrameType) String() string { + switch f { + case FrameTypeOpenChannel: + return "OpenChannel" + case FrameTypeChannelOpened: + return "ChannelOpened" + case FrameTypeCloseChannel: + return "CloseChannel" + case FrameTypeChannelClosed: + return "ChannelClosed" + case FrameTypeSend: + return "Send" + } + + return fmt.Sprintf("Unknown(%d)", f) +} + +const ( + // FrameTypeOpenChannel defines frame for OpenChannel packet. + FrameTypeOpenChannel FrameType = iota + // FrameTypeChannelOpened defines frame for ChannelOpened packet. + FrameTypeChannelOpened + // FrameTypeCloseChannel defines frame for CloseChannel packet. + FrameTypeCloseChannel + // FrameTypeChannelClosed defines frame for ChannelClosed packet. + FrameTypeChannelClosed + // FrameTypeSend defines frame for Send packet. + FrameTypeSend +) + +/* + <<< DATA >>> +*/ + +// Frame is structures as follows: +// - FrameType (1 byte) +// - FrameBody ([0,65518] bytes) +type Frame []byte + +// MakeFrame makes a data with given type and body. +func MakeFrame(t FrameType, body []byte) Frame { + p := make(Frame, len(body)+1) + p[0] = byte(t) + copy(p[1:], body) + return p +} + +// CheckSize checks the size of the data. +func (p Frame) CheckSize() error { + if len(p) < 1 { + return ErrDataTooSmall + } + if len(p) > MaxDataBodySize+1 { + return ErrDataTooLarge + } + return nil +} + +// Type returns the data type. +func (p Frame) Type() FrameType { + return FrameType(p[0]) +} + +// Body returns the data body. +func (p Frame) Body() []byte { + return p[1:] +} + +/* + <<< FRAME >>> +*/ + +// WriteFrame writes a frame to a given Writer. +// A frame is structured as follows: +// - FrameSize (2 bytes) +// - FrameType (1 byte) +// - ChannelID (1 byte) +// - Data ([3,65535] bytes) +func WriteFrame(w io.Writer, data Frame) (int, error) { + if err := data.CheckSize(); err != nil { + return 0, err + } + var ( + size = uint16(len(data)) + packet = make([]byte, len(data)+2) + ) + binary.BigEndian.PutUint16(packet[:2], size) + copy(packet[2:], data) + n, err := w.Write(packet) + return n - 4, err +} + +// ReadFrame read and decrypts data from a reader. +func ReadFrame(r io.Reader) (Frame, int, error) { + // determine encrypted data size + size, err := readUint16(r) + if err != nil { + return Frame{}, 0, err + } + if size > MaxDataBodySize { + return Frame{}, 0, ErrDataTooLarge + } + // decrypt data + plainText := make([]byte, size) + n, err := io.ReadFull(r, plainText) + if err != nil { + return Frame{}, 0, err + } + + // return results + return Frame(plainText), n + 2, nil +} + +func readUint16(r io.Reader) (uint16, error) { + v := make([]byte, 2) + if _, err := io.ReadFull(r, v); err != nil { + return 0, err + } + return binary.BigEndian.Uint16(v), nil +} diff --git a/pkg/messaging/handshake.go b/pkg/messaging/handshake.go new file mode 100644 index 000000000..6adcfc20e --- /dev/null +++ b/pkg/messaging/handshake.go @@ -0,0 +1,188 @@ +package messaging + +import ( + "encoding/hex" + "encoding/json" + "errors" + "fmt" + "time" + + "github.com/skycoin/skywire/pkg/cipher" +) + +// HandshakeNonceSize defines size of the nonce used in handshake. +const HandshakeNonceSize = 16 + +type sigType = byte + +const ( + sig1 sigType = iota + sig2 +) + +type handshakeFrame struct { + Version string `json:"version"` + Initiator cipher.PubKey `json:"initiator"` + Responder cipher.PubKey `json:"responder"` + Nonce string `json:"nonce"` + Sig1 cipher.Sig `json:"sig1,omitempty"` + Sig2 cipher.Sig `json:"sig2,omitempty"` + Accepted bool `json:"accepted,omitempty"` +} + +func newHandshakeFrame(initiator, responder cipher.PubKey) *handshakeFrame { + nonce := cipher.RandByte(HandshakeNonceSize) + return &handshakeFrame{ + Version: "0.1", + Initiator: initiator, + Responder: responder, + Nonce: hex.EncodeToString(nonce), + } +} + +func (p *handshakeFrame) toBinary() ([]byte, error) { + nonce, err := hex.DecodeString(p.Nonce) + if err != nil { + return nil, err + } + + buf := append([]byte(p.Version), p.Initiator[:]...) + buf = append(buf, p.Responder[:]...) + buf = append(buf, nonce...) + + if p.Sig1.Null() { + return buf, nil + } + + buf = append(buf, p.Sig1[:]...) + + if p.Sig2.Null() { + return buf, nil + } + + buf = append(buf, p.Sig2[:]...) + + return buf, nil +} + +func (p *handshakeFrame) signature(secKey cipher.SecKey) (sig cipher.Sig, err error) { + var bPayload []byte + bPayload, err = p.toBinary() + if err != nil { + return + } + + sig, err = cipher.SignPayload(bPayload, secKey) + if err != nil { + return + } + + return sig, err +} + +func (p *handshakeFrame) verifySignature(sig cipher.Sig, sigType sigType) error { + var pk cipher.PubKey + if sigType == sig1 { + pk = p.Responder + } else { + pk = p.Initiator + } + + bPayload, err := p.toBinary() + if err != nil { + return err + } + + return cipher.VerifyPubKeySignedPayload(pk, sig, bPayload) +} + +// Handshake represents a set of actions that an instance performs to complete a handshake. +type Handshake func(dec *json.Decoder, enc *json.Encoder) error + +// Do performs a handshake with a given timeout. +// Non-nil error is returned on failure. +func (handshake Handshake) Do(dec *json.Decoder, enc *json.Encoder, timeout time.Duration) (err error) { + errCh := make(chan error, 1) + go func() { + errCh <- handshake(dec, enc) + }() + select { + case err = <-errCh: + return err + case <-time.After(timeout): + return ErrHandshakeFailed + } +} + +func initiatorHandshake(c *LinkConfig) Handshake { + return func(dec *json.Decoder, enc *json.Encoder) error { + frame := newHandshakeFrame(c.Public, c.Remote) + if err := enc.Encode(frame); err != nil { + return err + } + + var resFrame *handshakeFrame + var err error + if err := dec.Decode(&resFrame); err != nil { + return err + } + + if err := frame.verifySignature(resFrame.Sig1, sig1); err != nil { + return fmt.Errorf("invalid sig1: %s", err) + } + + if resFrame.Sig2, err = resFrame.signature(c.Secret); err != nil { + return fmt.Errorf("failed to make sig2: %s", err) + } + + if err := enc.Encode(resFrame); err != nil { + return err + } + + if err := dec.Decode(&resFrame); err != nil { + return err + } + + if !resFrame.Accepted { + return errors.New("rejected") + } + + return nil + } +} + +func responderHandshake(c *LinkConfig) Handshake { + return func(dec *json.Decoder, enc *json.Encoder) error { + var frame *handshakeFrame + var err error + + if err := dec.Decode(&frame); err != nil { + return err + } + + if frame.Sig1, err = frame.signature(c.Secret); err != nil { + return fmt.Errorf("failed to make sig1: %s", err) + } + + if err := enc.Encode(frame); err != nil { + return err + } + + var resFrame *handshakeFrame + if err := dec.Decode(&resFrame); err != nil { + return err + } + + if err := frame.verifySignature(resFrame.Sig2, sig2); err != nil { + return fmt.Errorf("invalid sig2: %s", err) + } + + resFrame.Accepted = true + if err := enc.Encode(resFrame); err != nil { + return err + } + + c.Remote = frame.Initiator + return nil + } +} diff --git a/pkg/messaging/handshake_test.go b/pkg/messaging/handshake_test.go new file mode 100644 index 000000000..e5c79a53b --- /dev/null +++ b/pkg/messaging/handshake_test.go @@ -0,0 +1,135 @@ +package messaging + +import ( + "encoding/json" + "net" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/cipher" +) + +const handshakeTimeout = time.Second + +func TestHandshakeFrame(t *testing.T) { + initPK, initSK := cipher.GenerateKeyPair() + respPK, respSK := cipher.GenerateKeyPair() + frame := newHandshakeFrame(initPK, respPK) + + p, err := frame.toBinary() + require.NoError(t, err) + require.Len(t, p, 3+33+33+16) + + s1, err := frame.signature(respSK) + require.NoError(t, err) + require.NoError(t, frame.verifySignature(s1, sig1)) + + frame.Sig1 = s1 + p, err = frame.toBinary() + require.NoError(t, err) + require.Len(t, p, 3+33+33+16+65) + + s2, err := frame.signature(initSK) + require.NoError(t, err) + require.NoError(t, frame.verifySignature(s2, sig2)) + + frame.Sig2 = s2 + p, err = frame.toBinary() + require.NoError(t, err) + require.Len(t, p, 3+33+33+16+65+65) +} + +func TestHandshake(t *testing.T) { + initPK, initSK := cipher.GenerateKeyPair() + respPK, respSK := cipher.GenerateKeyPair() + initConf := &LinkConfig{ + Public: initPK, + Secret: initSK, + Remote: respPK, + } + respConf := &LinkConfig{ + Public: respPK, + Secret: respSK, + } + + initHandshake := initiatorHandshake(initConf) + respHandshake := responderHandshake(respConf) + + initNet, respNet := net.Pipe() + errCh := make(chan error) + go func() { + errCh <- respHandshake.Do(json.NewDecoder(respNet), json.NewEncoder(respNet), handshakeTimeout) + }() + + err := initHandshake.Do(json.NewDecoder(initNet), json.NewEncoder(initNet), handshakeTimeout) + require.NoError(t, err) + require.NoError(t, <-errCh) + assert.Equal(t, initPK, respConf.Remote) +} + +func TestHandshakeInvalidResponder(t *testing.T) { + initPK, initSK := cipher.GenerateKeyPair() + respPK, respSK := cipher.GenerateKeyPair() + anotherPK, _ := cipher.GenerateKeyPair() + initConf := &LinkConfig{ + Public: initPK, + Secret: initSK, + Remote: anotherPK, + } + respConf := &LinkConfig{ + Public: respPK, + Secret: respSK, + } + + initHandshake := initiatorHandshake(initConf) + respHandshake := responderHandshake(respConf) + + initNet, respNet := net.Pipe() + errCh := make(chan error) + go func() { + errCh <- respHandshake.Do(json.NewDecoder(respNet), json.NewEncoder(respNet), handshakeTimeout) + }() + + err := initHandshake.Do(json.NewDecoder(initNet), json.NewEncoder(initNet), handshakeTimeout) + require.Error(t, err) + assert.Equal(t, "invalid sig1: Recovered pubkey does not match pubkey", err.Error()) + + err = <-errCh + require.Error(t, err) + assert.Equal(t, "handshake failed", err.Error()) +} + +func TestHandshakeInvalidInitiator(t *testing.T) { + initPK, _ := cipher.GenerateKeyPair() + respPK, respSK := cipher.GenerateKeyPair() + _, anotherSK := cipher.GenerateKeyPair() + initConf := &LinkConfig{ + Public: initPK, + Secret: anotherSK, + Remote: respPK, + } + respConf := &LinkConfig{ + Public: respPK, + Secret: respSK, + } + + initHandshake := initiatorHandshake(initConf) + respHandshake := responderHandshake(respConf) + + initNet, respNet := net.Pipe() + errCh := make(chan error) + go func() { + errCh <- respHandshake.Do(json.NewDecoder(respNet), json.NewEncoder(respNet), handshakeTimeout) + }() + + err := initHandshake.Do(json.NewDecoder(initNet), json.NewEncoder(initNet), handshakeTimeout) + require.Error(t, err) + assert.Equal(t, "handshake failed", err.Error()) + + err = <-errCh + require.Error(t, err) + assert.Equal(t, "invalid sig2: Recovered pubkey does not match pubkey", err.Error()) +} diff --git a/pkg/messaging/link.go b/pkg/messaging/link.go new file mode 100644 index 000000000..6cd9942be --- /dev/null +++ b/pkg/messaging/link.go @@ -0,0 +1,187 @@ +package messaging + +import ( + "encoding/json" + "fmt" + "io" + "sync" + "time" + + "github.com/skycoin/skycoin/src/util/logging" + + "github.com/skycoin/skywire/pkg/cipher" +) + +const ( + // DefaultHandshakeTimeout represents the default handshake timeout. + DefaultHandshakeTimeout = time.Second * 3 +) + +// LinkConfig represents the common config of a connection. +type LinkConfig struct { + Public cipher.PubKey + Secret cipher.SecKey + Remote cipher.PubKey // Public static key of the remote instance. + HandshakeTimeout time.Duration + Logger *logging.Logger + Initiator bool // Whether the local instance initiates the connection. +} + +// DefaultLinkConfig returns a connection configuration with default values. +func DefaultLinkConfig() *LinkConfig { + return &LinkConfig{ + HandshakeTimeout: DefaultHandshakeTimeout, + Logger: logging.MustGetLogger("link"), + } +} + +// Link represents a messaging connection in the perspective of an instance. +type Link struct { + rw io.ReadWriteCloser + config *LinkConfig + callbacks *Callbacks +} + +// NewLink creates a new Link. +func NewLink(rw io.ReadWriteCloser, config *LinkConfig, callbacks *Callbacks) (*Link, error) { + return &Link{ + rw: rw, + config: config, + callbacks: callbacks, + }, nil +} + +func (c *Link) logf(format string, a ...interface{}) { + if c.config.Logger != nil { + prefix := fmt.Sprintf("[%s::%s]", + c.config.Public, + c.config.Remote) + c.config.Logger.Info(prefix, fmt.Sprintf(format, a...)) + } +} + +// Open performs a handshake with the remote instance and attempts to establish a connection. +func (c *Link) Open(wg *sync.WaitGroup) error { + var handshake Handshake + if c.config.Initiator { + handshake = initiatorHandshake(c.config) + } else { + handshake = responderHandshake(c.config) + } + + // Perform handshake. + if err := handshake.Do(json.NewDecoder(c.rw), json.NewEncoder(c.rw), c.config.HandshakeTimeout); err != nil { + return err + } + + // Handshake complete callback. + c.callbacks.HandshakeComplete(c) + + // Event loops. + var done = make(chan struct{}) + wg.Add(1) + go func() { + // Exits when connection is closed. + if err := c.readLoop(); err != nil { + c.logf("CLOSED: err(%v)", err) + } + // TODO(evanlinjin): Determine if the 'close' is initiated from remote instance. + c.callbacks.Close(c, false) + close(done) + wg.Done() + }() + + return nil +} + +// Close closes the connection with the remote instance. +func (c *Link) Close() error { + return c.rw.Close() +} + +// SendOpenChannel sends OpenChannel request. +func (c *Link) SendOpenChannel(channelID byte, remotePK cipher.PubKey, noiseMsg []byte) (int, error) { + payload := append([]byte{channelID}, remotePK[:]...) + return c.writeFrame(FrameTypeOpenChannel, append(payload, noiseMsg...)) +} + +// SendChannelOpened sends ChannelOpened frame. +func (c *Link) SendChannelOpened(channelID byte, noiseMsg []byte) (int, error) { + return c.writeFrame(FrameTypeChannelOpened, append([]byte{channelID}, noiseMsg...)) +} + +// SendCloseChannel sends CloseChannel request. +func (c *Link) SendCloseChannel(channelID byte) (int, error) { + return c.writeFrame(FrameTypeCloseChannel, []byte{channelID}) +} + +// SendChannelClosed sends ChannelClosed frame. +func (c *Link) SendChannelClosed(channelID byte) (int, error) { + return c.writeFrame(FrameTypeChannelClosed, []byte{channelID}) +} + +// Send sends data frame. +func (c *Link) Send(channelID byte, body []byte) (int, error) { + return c.writeFrame(FrameTypeSend, append([]byte{channelID}, body...)) +} + +// Config returns the instance's read-only configuration. +func (c *Link) Config() *LinkConfig { + return c.config +} + +// Local returns the local PubKey. +func (c *Link) Local() cipher.PubKey { + return c.config.Public +} + +// Remote returns the remote PubKey. +func (c *Link) Remote() cipher.PubKey { + return c.config.Remote +} + +// Initiator returns whether the current instance is the initiator. +func (c *Link) Initiator() bool { + return c.config.Initiator +} + +// event loop that processing packets +// runs after handshake +func (c *Link) readLoop() error { + for { + switch err := c.handleData(ReadFrame(c.rw)); err { + case nil: + continue + case io.EOF: + return nil + default: + return err + } + } +} + +func (c *Link) handleData(payload Frame, n int, err error) error { + if err != nil { + return err + } + t, b := payload.Type(), payload.Body() + c.logf("RECEIVED: type(%d) bytes(%d)", t, n) + if err := c.readFrame(t, b); err != nil { + return err + } + return nil +} + +func (c *Link) writeFrame(t FrameType, body []byte) (int, error) { + payload := MakeFrame(t, body) + n, err := WriteFrame(c.rw, payload) + if err != nil { + return 0, err + } + c.logf(" SENT: type(%d) bytes(%d)", t, n) + return n, nil +} + +func (c *Link) readFrame(dt FrameType, body []byte) error { + return c.callbacks.Data(c, dt, body) +} diff --git a/pkg/messaging/link_test.go b/pkg/messaging/link_test.go new file mode 100644 index 000000000..c7b5439fc --- /dev/null +++ b/pkg/messaging/link_test.go @@ -0,0 +1,159 @@ +package messaging + +import ( + "fmt" + "io" + "sync" + "testing" + + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/cipher" +) + +var ( + initPK, initSK = genKeyPair("initiator seed") + respPK, respSK = genKeyPair("responder seed") +) + +func genKeyPair(seed string) (cipher.PubKey, cipher.SecKey) { + pk, sk, err := cipher.GenerateDeterministicKeyPair([]byte(seed)) + if err != nil { + panic(err) + } + return pk, sk +} + +type callbacksModifier func(cb *Callbacks) + +type mockReadWriteCloser struct { + reader io.ReadCloser + writer io.WriteCloser +} + +func (rw mockReadWriteCloser) Read(p []byte) (n int, err error) { + return rw.reader.Read(p) +} + +func (rw mockReadWriteCloser) Write(p []byte) (n int, err error) { + return rw.writer.Write(p) +} + +func (rw mockReadWriteCloser) Close() error { + if err := rw.writer.Close(); err != nil { + return err + } + if err := rw.reader.Close(); err != nil { + return err + } + return nil +} + +func makeMockPipe() (a, b mockReadWriteCloser) { + a.reader, b.writer = io.Pipe() + b.reader, a.writer = io.Pipe() + return +} + +func makeConnPair(t *testing.T, + initPK, respPK cipher.PubKey, + initSK, respSK cipher.SecKey, + modifyInit, modifyResp callbacksModifier, +) (initConn *Link, respConn *Link) { + + initNet, respNet := makeMockPipe() + + initConfig := DefaultLinkConfig() + initConfig.Public = initPK + initConfig.Secret = initSK + initConfig.Remote = respPK + initConfig.Initiator = true + + respConfig := DefaultLinkConfig() + respConfig.Public = respPK + respConfig.Secret = respSK + + initCB := connCallbacks() + modifyInit(initCB) + + respCB := connCallbacks() + modifyResp(respCB) + + initConn, err := NewLink(&initNet, initConfig, initCB) + require.NoError(t, err) + + respConn, err = NewLink(&respNet, respConfig, respCB) + require.NoError(t, err) + + return initConn, respConn +} + +func TestNewConn(t *testing.T) { + // An initiator and responder can send messages to one another. + t.Run("send_messages_back_and_forth", func(t *testing.T) { + const expectedMsgCount = 10000 + + msgsWG := new(sync.WaitGroup) // records the send and receive event of each msg. + msgsWG.Add(expectedMsgCount * 2) // 10000 msgs x (send event + receive event) + + initConn, respConn := makeConnPair(t, + initPK, respPK, + initSK, respSK, + func(cb *Callbacks) { // Initiator callbacks. + cb.Data = func(conn *Link, dt FrameType, body []byte) error { + msgsWG.Done() + return nil + } + }, + func(cb *Callbacks) { // Responder callbacks. + cb.Data = func(conn *Link, dt FrameType, body []byte) error { + msgsWG.Done() + _, err := conn.Send(1, []byte(fmt.Sprintf("got msg: %s", string(body)))) + return err + } + }, + ) + + initConnOpenDone := make(chan error) + connsWG := new(sync.WaitGroup) + go func() { initConnOpenDone <- initConn.Open(connsWG) }() + require.NoError(t, respConn.Open(connsWG)) + require.NoError(t, <-initConnOpenDone) + + for i := 0; i < expectedMsgCount; i++ { + msg := fmt.Sprintf("Hello world %d!", i) + _, err := initConn.Send(1, []byte(msg)) + require.NoError(t, err) + } + + msgsWG.Wait() + + require.NoError(t, initConn.Close()) + connsWG.Wait() + }) +} + +func connHandshakeCompleteAction() HandshakeCompleteAction { + return func(conn *Link) {} +} + +func connMessageAction() FrameAction { + return func(conn *Link, dt FrameType, body []byte) error { + conn.logf("%s", string(body)) + return nil + } +} + +func connCloseAction() TCPCloseAction { + return func(conn *Link, remote bool) { + conn.logf("connection closed: Remote(%v)", remote) + } +} + +func connCallbacks() *Callbacks { + return &Callbacks{ + HandshakeComplete: connHandshakeCompleteAction(), + Data: connMessageAction(), + Close: connCloseAction(), + } +} diff --git a/pkg/messaging/pool.go b/pkg/messaging/pool.go new file mode 100644 index 000000000..122706768 --- /dev/null +++ b/pkg/messaging/pool.go @@ -0,0 +1,227 @@ +package messaging + +import ( + "errors" + "net" + "sync" + + "github.com/skycoin/skywire/pkg/cipher" +) + +var ( + // ErrConnExists occurs when a connection already exists. + ErrConnExists = errors.New("connection already exists") + + // ErrAlreadyListening occurs when a pool already has a listener. + ErrAlreadyListening = errors.New("pool is already listening") + + // ErrPoolClosed is returned by the Respond method after a call to Close. + ErrPoolClosed = errors.New("pool closed") +) + +// Pool represents a connection pool. +type Pool struct { + config *LinkConfig + conns map[cipher.PubKey]*Link + mux sync.RWMutex + wg sync.WaitGroup + + listenerMutex sync.RWMutex + listener net.Listener + + callbacks *Callbacks + doneChan chan struct{} +} + +// NewPool creates a new Pool. +func NewPool(config *LinkConfig, callbacks *Callbacks) *Pool { + var pool Pool + if config == nil { + config = DefaultLinkConfig() + } + pool.config = config + pool.conns = make(map[cipher.PubKey]*Link) + pool.callbacks = &Callbacks{ + HandshakeComplete: pool.handshakeCompleteAction(callbacks.HandshakeComplete), + Data: pool.messageAction(callbacks.Data), + Close: pool.closeAction(callbacks.Close), + } + pool.doneChan = make(chan struct{}) + return &pool +} + +// Initiate initiates a connection to a remote party. +func (p *Pool) Initiate(conn net.Conn, remoteID cipher.PubKey) (*Link, error) { + if link, ok := p.Link(remoteID); ok { + return link, ErrConnExists + } + link, err := NewLink(conn, + &LinkConfig{ + Public: p.config.Public, + Secret: p.config.Secret, + HandshakeTimeout: p.config.HandshakeTimeout, + Logger: p.config.Logger, + Remote: remoteID, + Initiator: true, + }, + p.callbacks) + if err != nil { + return nil, err + } + if err := link.Open(&p.wg); err != nil { + return nil, err + } + return link, nil +} + +// Listener returns the current listener used by the pool. +func (p *Pool) Listener() net.Listener { + p.listenerMutex.RLock() + defer p.listenerMutex.RUnlock() + return p.listener +} + +// Respond responds to remotely initiated connections accepting connections from the given net.Listener. +// This is a blocking call. +func (p *Pool) Respond(l net.Listener) error { + p.listenerMutex.Lock() + if p.listener != nil { + p.listenerMutex.Unlock() + return ErrAlreadyListening + } + p.listener = l + p.listenerMutex.Unlock() + + for { + c, err := p.listener.Accept() + if err != nil { + select { + case <-p.doneChan: + return ErrPoolClosed + default: + } + + return err + } + var conn *Link + conn, err = NewLink(c, + &LinkConfig{ + Public: p.config.Public, + Secret: p.config.Secret, + HandshakeTimeout: p.config.HandshakeTimeout, + Logger: p.config.Logger, + }, + p.callbacks) + if err != nil { + return err + } + // TODO(evanlinjin): Deal with a connection's failure. + _ = conn.Open(&p.wg) // nolint + } +} + +// Close closes the Pool. +func (p *Pool) Close() error { + p.closeDoneChan() + p.listenerMutex.Lock() + if p.listener != nil { + p.listener.Close() + } + p.listenerMutex.Unlock() + + p.mux.Lock() + for _, conn := range p.conns { + conn.Close() + } + p.mux.Unlock() + p.wg.Wait() + return nil +} + +// Link returns a connection of a given remote static public key. +func (p *Pool) Link(id cipher.PubKey) (*Link, bool) { + p.mux.RLock() + conn, ok := p.conns[id] + p.mux.RUnlock() + return conn, ok +} + +// All obtains all connections within pool. +func (p *Pool) All() []*Link { + p.mux.RLock() + out := make([]*Link, len(p.conns)) + i := 0 + for _, conn := range p.conns { + out[i] = conn + i++ + } + p.mux.RUnlock() + return out +} + +// ConnAction performs an action on a connection. +// If ok is true, ConnAction is to be called on the next connection. +type ConnAction func(id cipher.PubKey, conn *Link) (ok bool) + +// Range ranges over all connections within pool and exits on caller's instruction. +func (p *Pool) Range(action ConnAction) error { + p.mux.RLock() + for id, conn := range p.conns { + if ok := action(id, conn); !ok { + break + } + } + p.mux.RUnlock() + return nil +} + +func (p *Pool) setConn(id cipher.PubKey, conn *Link) { + p.mux.Lock() + p.conns[id] = conn + p.mux.Unlock() +} + +func (p *Pool) delConn(id cipher.PubKey) { + p.mux.Lock() + delete(p.conns, id) + p.mux.Unlock() +} + +func (p *Pool) closeDoneChan() { + select { + case <-p.doneChan: // already closed + default: + close(p.doneChan) + } +} + +func (p *Pool) handshakeCompleteAction(action HandshakeCompleteAction) HandshakeCompleteAction { + if action == nil { + action = func(conn *Link) {} + } + return func(conn *Link) { + p.setConn(conn.Remote(), conn) + action(conn) + } +} + +func (p *Pool) messageAction(action FrameAction) FrameAction { + if action == nil { + action = func(conn *Link, dt FrameType, body []byte) error { + return nil + } + } + return func(conn *Link, dt FrameType, body []byte) error { + return action(conn, dt, body) + } +} + +func (p *Pool) closeAction(action TCPCloseAction) TCPCloseAction { + if action == nil { + action = func(conn *Link, remote bool) {} + } + return func(conn *Link, remote bool) { + p.delConn(conn.Remote()) + action(conn, remote) + } +} diff --git a/pkg/messaging/pool_test.go b/pkg/messaging/pool_test.go new file mode 100644 index 000000000..00c5cc835 --- /dev/null +++ b/pkg/messaging/pool_test.go @@ -0,0 +1,156 @@ +package messaging + +import ( + "encoding/binary" + "net" + "sync" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/cipher" +) + +func generateResponderPool(t *testing.T, msgAction FrameAction) *Pool { + responder := NewPool(DefaultLinkConfig(), &Callbacks{Data: msgAction}) + pk, sk := cipher.GenerateKeyPair() + responder.config.Public = pk + responder.config.Secret = sk + + l, err := net.Listen("tcp", "127.0.0.1:0") + require.NoError(t, err) + go func() { + err := responder.Respond(l) + if err != nil && err != ErrPoolClosed { + t.Log(err) + } + }() + return responder +} + +func generateInitiatorPool(msgAction FrameAction) *Pool { + initiator := NewPool(DefaultLinkConfig(), &Callbacks{Data: msgAction}) + pk, sk := cipher.GenerateKeyPair() + initiator.config.Public = pk + initiator.config.Secret = sk + return initiator +} + +func TestNewPool(t *testing.T) { + const ( + Initiators = 10 + MsgsPerInitiator = 20 + MsgLen = 200 + ) + + var results [Initiators * MsgsPerInitiator][2][]byte + + wg := new(sync.WaitGroup) + wg.Add(Initiators * MsgsPerInitiator) + + responder := generateResponderPool(t, func(_ *Link, _ FrameType, msg []byte) error { + results[binary.BigEndian.Uint32(msg[1:5])][1] = msg[1:] + wg.Done() + return nil + }) + + for i := 0; i < Initiators; i++ { + initiator := generateInitiatorPool(connMessageAction()) + conn, err := net.Dial("tcp", responder.Listener().Addr().String()) + require.NoError(t, err) + link, err := initiator.Initiate(conn, responder.config.Public) + require.NoError(t, err) + + go func(i int, initiator *Pool, conn *Link) { + for j := 0; j < MsgsPerInitiator; j++ { + + msg := cipher.RandByte(MsgLen) + + resultsIdx := i*MsgsPerInitiator + j + binary.BigEndian.PutUint32(msg[:4], uint32(resultsIdx)) + + results[i*MsgsPerInitiator+j][0] = msg + + _, err = conn.Send(1, msg) + if err != nil { + t.Error(err) + } + } + initiator.Close() + }(i, initiator, link) + } + + wg.Wait() + + for _, result := range results { + assert.Equal(t, result[0], result[1]) + } + + responder.Close() +} + +func TestPool_Range(t *testing.T) { + const ( + InitiatorCount = 5 + ) + + responder := generateResponderPool(t, func(_ *Link, _ FrameType, _ []byte) error { return nil }) + + var initiators []*Pool + for i := 0; i < InitiatorCount; i++ { + initiator := generateInitiatorPool(connMessageAction()) + conn, err := net.Dial("tcp", responder.Listener().Addr().String()) + require.NoError(t, err) + _, err = initiator.Initiate(conn, responder.config.Public) + require.NoError(t, err) + initiators = append(initiators, initiator) + } + + time.Sleep(100 * time.Millisecond) + + // Expect 10 connections. + count := int(0) + err := responder.Range(func(_ cipher.PubKey, _ *Link) bool { + count++ + return true + }) + + require.NoError(t, err) + require.Equal(t, InitiatorCount, count) + + for _, initiator := range initiators { + initiator.Close() + } + responder.Close() +} + +func TestPool_All(t *testing.T) { + const ( + InitiatorCount = 5 + ) + + responder := generateResponderPool(t, func(_ *Link, _ FrameType, _ []byte) error { return nil }) + + var initiators []*Pool + for i := 0; i < InitiatorCount; i++ { + initiator := generateInitiatorPool(connMessageAction()) + conn, err := net.Dial("tcp", responder.Listener().Addr().String()) + require.NoError(t, err) + _, err = initiator.Initiate(conn, responder.config.Public) + require.NoError(t, err) + initiators = append(initiators, initiator) + } + + time.Sleep(100 * time.Millisecond) + + // Expect 10 connections. + all := responder.All() + require.Equal(t, InitiatorCount, len(all)) + + for _, initiator := range initiators { + initiator.Close() + } + responder.Close() +} diff --git a/pkg/node/config.go b/pkg/node/config.go new file mode 100644 index 000000000..f884b9f28 --- /dev/null +++ b/pkg/node/config.go @@ -0,0 +1,166 @@ +package node + +import ( + "errors" + "fmt" + "os" + "path/filepath" + + "github.com/skycoin/skywire/pkg/cipher" + mClient "github.com/skycoin/skywire/pkg/messaging-discovery/client" + "github.com/skycoin/skywire/pkg/routing" + "github.com/skycoin/skywire/pkg/transport" + trClient "github.com/skycoin/skywire/pkg/transport-discovery/client" +) + +// Config defines configuration parameters for Node. +type Config struct { + Version string `json:"version"` + + Node struct { + StaticPubKey cipher.PubKey `json:"static_public_key"` + StaticSecKey cipher.SecKey `json:"static_secret_key"` + } `json:"node"` + + Messaging struct { + Discovery string `json:"discovery"` + ServerCount int `json:"server_count"` + } `json:"messaging"` + + Transport struct { + Discovery string `json:"discovery"` + LogStore struct { + Type string `json:"type"` + Location string `json:"location"` + } `json:"log_store"` + } `json:"transport"` + + Routing struct { + SetupNodes []cipher.PubKey `json:"setup_nodes"` + RouteFinder string `json:"route_finder"` + Table struct { + Type string `json:"type"` + Location string `json:"location"` + } `json:"table"` + } `json:"routing"` + + Apps []AppConfig `json:"apps"` + + TrustedNodes []cipher.PubKey `json:"trusted_nodes"` + ManagerNodes []ManagerConfig `json:"manager_nodes"` + + AppsPath string `json:"apps_path"` + LocalPath string `json:"local_path"` + + LogLevel string `json:"log_level"` + + Interfaces InterfaceConfig `json:"interfaces"` +} + +// MessagingDiscovery returns messaging discovery client. +func (c *Config) MessagingDiscovery() (mClient.APIClient, error) { + msgConfig := c.Messaging + + if msgConfig.Discovery == "" { + return nil, errors.New("empty discovery") + } + + return mClient.NewHTTP(msgConfig.Discovery), nil +} + +// TransportDiscovery returns transport discovery client. +func (c *Config) TransportDiscovery() (transport.DiscoveryClient, error) { + if c.Transport.Discovery == "" { + return nil, errors.New("empty transport_discovery") + } + + return trClient.NewHTTP(c.Transport.Discovery, c.Node.StaticPubKey, c.Node.StaticSecKey) +} + +// TransportLogStore returns configure transport.LogStore. +func (c *Config) TransportLogStore() transport.LogStore { + if c.Transport.LogStore.Type == "file" { + return transport.FileTransportLogStore(c.Transport.LogStore.Location) + } + + return transport.InMemoryTransportLogStore() +} + +// RoutingTable returns configure routing.Table. +func (c *Config) RoutingTable() (routing.Table, error) { + if c.Routing.Table.Type == "boltdb" { + return routing.BoltDBRoutingTable(c.Routing.Table.Location) + } + + return routing.InMemoryRoutingTable(), nil +} + +// AppsConfig decodes AppsConfig from a local json config file. +func (c *Config) AppsConfig() ([]AppConfig, error) { + apps := []AppConfig{} + for _, app := range c.Apps { + if app.Version == "" { + app.Version = c.Version + } + apps = append(apps, app) + } + + return apps, nil +} + +// AppsDir returns absolute path for directory with application +// binaries. Directory will be created if necessary. +func (c *Config) AppsDir() (string, error) { + if c.AppsPath == "" { + return "", errors.New("empty AppsPath") + } + + return ensureDir(c.AppsPath) +} + +// LocalDir returns absolute path for app work directory. Directory +// will be created if necessary. +func (c *Config) LocalDir() (string, error) { + if c.LocalPath == "" { + return "", errors.New("empty AppsPath") + } + + return ensureDir(c.LocalPath) +} + +func ensureDir(path string) (string, error) { + absPath, err := filepath.Abs(path) + if err != nil { + return "", fmt.Errorf("failed to expand path: %s", err) + } + + if _, err := os.Stat(absPath); !os.IsNotExist(err) { + return absPath, nil + } + + if err := os.MkdirAll(absPath, 0750); err != nil { + return "", fmt.Errorf("failed to create dir: %s", err) + } + + return absPath, nil +} + +// ManagerConfig represents a connection to a manager. +type ManagerConfig struct { + PubKey cipher.PubKey `json:"public_key"` + Addr string `json:"address"` +} + +// AppConfig defines app startup parameters. +type AppConfig struct { + Version string `json:"version"` + App string `json:"app"` + AutoStart bool `json:"auto_start"` + Port uint16 `json:"port"` + Args []string `json:"args"` +} + +// InterfaceConfig defines listening interfaces for skywire Node. +type InterfaceConfig struct { + RPCAddress string `json:"rpc"` // RPC address and port for command-line interface (leave blank to disable RPC interface). +} diff --git a/pkg/node/config_test.go b/pkg/node/config_test.go new file mode 100644 index 000000000..034ab2f1a --- /dev/null +++ b/pkg/node/config_test.go @@ -0,0 +1,116 @@ +package node + +import ( + "encoding/json" + "io/ioutil" + "net/http" + "net/http/httptest" + "os" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/internal/httpauth" + "github.com/skycoin/skywire/pkg/cipher" +) + +func TestMessagingDiscovery(t *testing.T) { + conf := Config{} + conf.Messaging.Discovery = "skywire.skycoin.net:8001" + conf.Messaging.ServerCount = 10 + + discovery, err := conf.MessagingDiscovery() + require.NoError(t, err) + + assert.NotNil(t, discovery) +} + +func TestTransportDiscovery(t *testing.T) { + pk, _ := cipher.GenerateKeyPair() + srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + json.NewEncoder(w).Encode(&httpauth.NextNonceResponse{Edge: pk, NextNonce: 1}) // nolint: errcheck + })) + defer srv.Close() + + conf := Config{} + conf.Transport.Discovery = srv.URL + + discovery, err := conf.TransportDiscovery() + require.NoError(t, err) + + assert.NotNil(t, discovery) +} + +func TestTransportLogStore(t *testing.T) { + conf := Config{} + conf.Transport.LogStore.Type = "file" + conf.Routing.Table.Location = "/foo" + require.NotNil(t, conf.TransportLogStore()) + + conf.Transport.LogStore.Type = "memory" + conf.Routing.Table.Location = "" + require.NotNil(t, conf.TransportLogStore()) +} + +func TestRoutingTable(t *testing.T) { + tmpfile, err := ioutil.TempFile("", "routing") + require.NoError(t, err) + defer os.Remove(tmpfile.Name()) + + conf := Config{} + conf.Routing.Table.Type = "boltdb" + conf.Routing.Table.Location = tmpfile.Name() + _, err = conf.RoutingTable() + require.NoError(t, err) + + conf.Routing.Table.Type = "memory" + conf.Routing.Table.Location = "" + _, err = conf.RoutingTable() + require.NoError(t, err) +} + +func TestAppsConfig(t *testing.T) { + conf := Config{Version: "1.0"} + conf.Apps = []AppConfig{ + {App: "foo", Version: "1.1", Port: 1}, + {App: "bar", AutoStart: true, Port: 2}, + } + + appsConf, err := conf.AppsConfig() + require.NoError(t, err) + + app1 := appsConf[0] + assert.Equal(t, "foo", app1.App) + assert.Equal(t, "1.1", app1.Version) + assert.Equal(t, uint16(1), app1.Port) + assert.False(t, app1.AutoStart) + + app2 := appsConf[1] + assert.Equal(t, "bar", app2.App) + assert.Equal(t, "1.0", app2.Version) + assert.Equal(t, uint16(2), app2.Port) + assert.True(t, app2.AutoStart) +} + +func TestAppsDir(t *testing.T) { + conf := Config{AppsPath: "apps"} + dir, err := conf.AppsDir() + require.NoError(t, err) + + defer os.Remove(dir) + + _, err = os.Stat(dir) + assert.NoError(t, err) +} + +func TestLocalDir(t *testing.T) { + conf := Config{LocalPath: "local"} + dir, err := conf.LocalDir() + require.NoError(t, err) + + defer os.Remove(dir) + + _, err = os.Stat(dir) + assert.NoError(t, err) +} diff --git a/pkg/node/node.go b/pkg/node/node.go new file mode 100644 index 000000000..8bb91255c --- /dev/null +++ b/pkg/node/node.go @@ -0,0 +1,467 @@ +// Package node implements skywire node. +package node + +import ( + "context" + "errors" + "fmt" + "io" + "net" + "net/rpc" + "os" + "os/exec" + "path/filepath" + "sync" + "syscall" + "time" + + "github.com/skycoin/skycoin/src/util/logging" + + "github.com/skycoin/skywire/internal/noise" + "github.com/skycoin/skywire/pkg/app" + "github.com/skycoin/skywire/pkg/messaging" + routeFinder "github.com/skycoin/skywire/pkg/route-finder/client" + "github.com/skycoin/skywire/pkg/router" + "github.com/skycoin/skywire/pkg/routing" + "github.com/skycoin/skywire/pkg/transport" +) + +// AppStatus defines running status of an App. +type AppStatus int + +const ( + // AppStatusStopped represents status of a stopped App. + AppStatusStopped AppStatus = iota + + // AppStatusRunning represents status of a running App. + AppStatusRunning +) + +// ErrUnknownApp represents lookup error for App related calls. +var ErrUnknownApp = errors.New("unknown app") + +const supportedProtocolVersion = "0.0.1" + +var reservedPorts = map[uint16]string{0: "router", 1: "chat", 2: "therealssh", 3: "therealproxy"} + +// AppState defines state parameters for a registered App. +type AppState struct { + Name string `json:"name"` + AutoStart bool `json:"autostart"` + Port uint16 `json:"port"` + Status AppStatus `json:"status"` +} + +type appExecuter interface { + Start(cmd *exec.Cmd) (int, error) + Stop(pid int) error + Wait(cmd *exec.Cmd) error +} + +type appBind struct { + conn net.Conn + pid int +} + +// PacketRouter performs routing of the skywire packets. +type PacketRouter interface { + io.Closer + Serve(ctx context.Context) error + ServeApp(conn net.Conn, port uint16, appConf *app.Config) error +} + +// Node provides messaging runtime for Apps by setting up all +// necessary connections and performing messaging gateway functions. +type Node struct { + config *Config + router PacketRouter + messenger *messaging.Client + tm *transport.Manager + rt routing.Table + executer appExecuter + + Logger *logging.MasterLogger + logger *logging.Logger + + appsPath string + localPath string + appsConf []AppConfig + + startedMu sync.RWMutex + startedApps map[string]*appBind + + rpcListener net.Listener + rpcDialers []*noise.RPCClientDialer +} + +// NewNode constructs new Node. +func NewNode(config *Config) (*Node, error) { + node := &Node{ + config: config, + executer: newOSExecuter(), + startedApps: make(map[string]*appBind), + } + + node.Logger = logging.NewMasterLogger() + node.logger = node.Logger.PackageLogger("skywire") + + pk := config.Node.StaticPubKey + sk := config.Node.StaticSecKey + mDiscovery, err := config.MessagingDiscovery() + if err != nil { + return nil, fmt.Errorf("invalid MessagingConfig: %s", err) + } + + node.messenger = messaging.NewClient(pk, sk, mDiscovery) + node.messenger.Logger = node.Logger.PackageLogger("messenger") + + trDiscovery, err := config.TransportDiscovery() + if err != nil { + return nil, fmt.Errorf("invalid MessagingConfig: %s", err) + } + tmConfig := &transport.ManagerConfig{ + PubKey: pk, SecKey: sk, + DiscoveryClient: trDiscovery, + LogStore: config.TransportLogStore(), + DefaultNodes: config.TrustedNodes, + } + node.tm, err = transport.NewManager(tmConfig, node.messenger) + if err != nil { + return nil, fmt.Errorf("transport manager: %s", err) + } + node.tm.Logger = node.Logger.PackageLogger("trmanager") + + node.rt, err = config.RoutingTable() + if err != nil { + return nil, fmt.Errorf("routing table: %s", err) + } + rConfig := &router.Config{ + Logger: node.Logger.PackageLogger("router"), + PubKey: pk, + SecKey: sk, + TransportManager: node.tm, + RoutingTable: node.rt, + RouteFinder: routeFinder.NewHTTP(config.Routing.RouteFinder), + SetupNodes: config.Routing.SetupNodes, + } + r := router.New(rConfig) + node.router = r + + node.appsConf, err = config.AppsConfig() + if err != nil { + return nil, fmt.Errorf("invalid AppsConfig: %s", err) + } + + node.appsPath, err = config.AppsDir() + if err != nil { + return nil, fmt.Errorf("invalid AppsPath: %s", err) + } + + node.localPath, err = config.LocalDir() + if err != nil { + return nil, fmt.Errorf("invalid LocalPath: %s", err) + } + + if lvl, err := logging.LevelFromString(config.LogLevel); err == nil { + node.Logger.SetLevel(lvl) + } + + if config.Interfaces.RPCAddress != "" { + l, err := net.Listen("tcp", config.Interfaces.RPCAddress) + if err != nil { + return nil, fmt.Errorf("failed to setup RPC listener: %s", err) + } + node.rpcListener = l + } + node.rpcDialers = make([]*noise.RPCClientDialer, len(config.ManagerNodes)) + for i, entry := range config.ManagerNodes { + node.rpcDialers[i] = noise.NewRPCClientDialer(entry.Addr, noise.HandshakeXK, noise.Config{ + LocalPK: pk, + LocalSK: sk, + RemotePK: entry.PubKey, + Initiator: true, + }) + } + + return node, err +} + +// Start spawns auto-started Apps, starts router and RPC interfaces . +func (node *Node) Start() error { + ctx := context.Background() + err := node.messenger.ConnectToInitialServers(ctx, node.config.Messaging.ServerCount) + if err != nil { + return fmt.Errorf("messaging: %s", err) + } + node.logger.Info("Connected to messaging servers") + + node.tm.ReconnectTransports(ctx) + node.tm.CreateDefaultTransports(ctx) + + for _, ac := range node.appsConf { + if !ac.AutoStart { + continue + } + + go func(a AppConfig) { + if err := node.SpawnApp(&a, nil); err != nil { + node.logger.Warnf("Failed to start %s: %s\n", a.App, err) + } + }(ac) + } + + rpcSvr := rpc.NewServer() + if err := rpcSvr.RegisterName(RPCPrefix, &RPC{node: node}); err != nil { + return fmt.Errorf("rpc server created failed: %s", err) + } + if node.rpcListener != nil { + node.logger.Info("Starting RPC interface on ", node.rpcListener.Addr()) + go rpcSvr.Accept(node.rpcListener) + } + for _, dialer := range node.rpcDialers { + go func(dialer *noise.RPCClientDialer) { + if err := dialer.Run(rpcSvr, time.Second); err != nil { + node.logger.Errorf("Dialer exited with error: %v", err) + } + }(dialer) + } + + node.logger.Info("Starting packet router") + if err := node.router.Serve(ctx); err != nil { + return fmt.Errorf("failed to start Node: %s", err) + } + + return nil +} + +// Close safely stops spawned Apps and messaging Node. +func (node *Node) Close() (err error) { + if node.rpcListener != nil { + node.logger.Info("Stopping RPC interface") + if rpcErr := node.rpcListener.Close(); rpcErr != nil && err == nil { + err = rpcErr + } + } + for _, dialer := range node.rpcDialers { + err = dialer.Close() + } + + node.startedMu.Lock() + for app, bind := range node.startedApps { + if appErr := node.stopApp(app, bind); appErr != nil && err == nil { + err = appErr + } + } + node.startedMu.Unlock() + + if node.rpcListener != nil { + node.logger.Info("Stopping RPC interface") + if rpcErr := node.rpcListener.Close(); rpcErr != nil && err == nil { + err = rpcErr + } + } + + node.logger.Info("Stopping router") + if msgErr := node.router.Close(); msgErr != nil && err == nil { + err = msgErr + } + + return err +} + +// Apps returns list of AppStates for all registered apps. +func (node *Node) Apps() []*AppState { + res := []*AppState{} + for _, app := range node.appsConf { + state := &AppState{app.App, app.AutoStart, app.Port, AppStatusStopped} + node.startedMu.RLock() + if node.startedApps[app.App] != nil { + state.Status = AppStatusRunning + } + node.startedMu.RUnlock() + + res = append(res, state) + } + + return res +} + +// StartApp starts registered App. +func (node *Node) StartApp(appName string) error { + for _, app := range node.appsConf { + if app.App == appName { + startCh := make(chan struct{}) + go func() { + if err := node.SpawnApp(&app, startCh); err != nil { + node.logger.Warnf("Failed to start app %s: %s", appName, err) + } + }() + + <-startCh + return nil + } + } + + return ErrUnknownApp +} + +// SpawnApp configures and starts new App. +func (node *Node) SpawnApp(config *AppConfig, startCh chan<- struct{}) error { + node.logger.Infof("Starting %s.v%s", config.App, config.Version) + conn, cmd, err := app.Command( + &app.Config{ProtocolVersion: supportedProtocolVersion, AppName: config.App, AppVersion: config.Version}, + node.appsPath, + config.Args, + ) + if err != nil { + return fmt.Errorf("failed to initialise App server: %s", err) + } + + bind := &appBind{conn, -1} + if app, ok := reservedPorts[config.Port]; ok && app != config.App { + return fmt.Errorf("can't bind to reserved port %d", config.Port) + } + + node.startedMu.Lock() + if node.startedApps[config.App] != nil { + node.startedMu.Unlock() + return fmt.Errorf("App %s is already started", config.App) + } + + node.startedApps[config.App] = bind + node.startedMu.Unlock() + + // TODO: make PackageLogger return *Entry. FieldLogger doesn't expose Writer. + logger := node.logger.WithField("_module", fmt.Sprintf("%s.v%s", config.App, config.Version)).Writer() + defer logger.Close() + + cmd.Stdout = logger + cmd.Stderr = logger + cmd.Dir = filepath.Join(node.localPath, config.App, fmt.Sprintf("v%s", config.Version)) + if _, err := ensureDir(cmd.Dir); err != nil { + return err + } + + appCh := make(chan error) + go func() { + pid, err := node.executer.Start(cmd) + if err != nil { + appCh <- err + return + } + + node.startedMu.Lock() + bind.pid = pid + node.startedMu.Unlock() + appCh <- node.executer.Wait(cmd) + }() + + srvCh := make(chan error) + go func() { + srvCh <- node.router.ServeApp(conn, config.Port, &app.Config{AppName: config.App, AppVersion: config.Version}) + }() + + if startCh != nil { + startCh <- struct{}{} + } + + var appErr error + select { + case err := <-appCh: + if err != nil { + if _, ok := err.(*exec.ExitError); !ok { + appErr = fmt.Errorf("failed to run app executable: %s", err) + } + } + case err := <-srvCh: + if err != nil { + appErr = fmt.Errorf("failed to start communication server: %s", err) + } + } + + node.startedMu.Lock() + delete(node.startedApps, config.App) + node.startedMu.Unlock() + + return appErr +} + +// StopApp stops running App. +func (node *Node) StopApp(appName string) error { + node.startedMu.Lock() + bind := node.startedApps[appName] + node.startedMu.Unlock() + + if bind == nil { + return ErrUnknownApp + } + + return node.stopApp(appName, bind) +} + +// SetAutoStart sets an app to auto start or not. +func (node *Node) SetAutoStart(appName string, autoStart bool) error { + for i, ac := range node.appsConf { + if ac.App == appName { + node.appsConf[i].AutoStart = autoStart + return nil + } + } + return ErrUnknownApp +} + +func (node *Node) stopApp(app string, bind *appBind) (err error) { + node.logger.Infof("Stopping app %s and closing ports", app) + + if excErr := node.executer.Stop(bind.pid); excErr != nil && err == nil { + node.logger.Warn("Failed to stop app: ", excErr) + err = excErr + } + + if srvErr := bind.conn.Close(); srvErr != nil && err == nil { + node.logger.Warnf("Failed to close App conn: %s", srvErr) + err = srvErr + } + + return err +} + +type osExecuter struct { + processes []*os.Process + mu sync.Mutex +} + +func newOSExecuter() *osExecuter { + return &osExecuter{processes: make([]*os.Process, 0)} +} + +func (exc *osExecuter) Start(cmd *exec.Cmd) (int, error) { + if err := cmd.Start(); err != nil { + return -1, err + } + exc.mu.Lock() + exc.processes = append(exc.processes, cmd.Process) + exc.mu.Unlock() + return cmd.Process.Pid, nil +} + +func (exc *osExecuter) Stop(pid int) (err error) { + exc.mu.Lock() + defer exc.mu.Unlock() + + for _, process := range exc.processes { + if process.Pid != pid { + continue + } + + if sigErr := process.Signal(syscall.SIGTERM); sigErr != nil && err == nil { + err = sigErr + } + } + + return err +} + +func (exc *osExecuter) Wait(cmd *exec.Cmd) error { + return cmd.Wait() +} diff --git a/pkg/node/node_test.go b/pkg/node/node_test.go new file mode 100644 index 000000000..3a7c42ad0 --- /dev/null +++ b/pkg/node/node_test.go @@ -0,0 +1,254 @@ +package node + +import ( + "context" + "encoding/json" + "errors" + "net" + "os" + "os/exec" + "sync" + "testing" + "time" + + "net/http" + "net/http/httptest" + + "github.com/skycoin/skycoin/src/util/logging" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/cipher" + + "github.com/skycoin/skywire/internal/httpauth" + "github.com/skycoin/skywire/pkg/app" + "github.com/skycoin/skywire/pkg/messaging" + "github.com/skycoin/skywire/pkg/messaging-discovery/client" + "github.com/skycoin/skywire/pkg/transport" +) + +func TestMain(m *testing.M) { + lvl, _ := logging.LevelFromString("error") // nolint: errcheck + logging.SetLevel(lvl) + os.Exit(m.Run()) +} + +func TestNewNode(t *testing.T) { + pk, sk := cipher.GenerateKeyPair() + srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + json.NewEncoder(w).Encode(&httpauth.NextNonceResponse{Edge: pk, NextNonce: 1}) // nolint: errcheck + })) + defer srv.Close() + + conf := Config{Version: "1.0", LocalPath: "local", AppsPath: "apps"} + conf.Node.StaticPubKey = pk + conf.Node.StaticSecKey = sk + conf.Messaging.Discovery = "http://skywire.skycoin.net:8001" + conf.Messaging.ServerCount = 10 + conf.Transport.Discovery = srv.URL + conf.Apps = []AppConfig{ + {App: "foo", Version: "1.1", Port: 1}, + {App: "bar", AutoStart: true, Port: 2}, + } + + defer os.RemoveAll("local") + + node, err := NewNode(&conf) + require.NoError(t, err) + + assert.NotNil(t, node.router) + assert.NotNil(t, node.appsConf) + assert.NotNil(t, node.appsPath) + assert.NotNil(t, node.localPath) + assert.NotNil(t, node.startedApps) +} + +func TestNodeStartClose(t *testing.T) { + r := new(mockRouter) + executer := &MockExecuter{} + conf := []AppConfig{ + {App: "chat", Version: "1.0", AutoStart: true, Port: 1}, + {App: "foo", Version: "1.0", AutoStart: false}, + } + defer os.RemoveAll("chat") + node := &Node{config: &Config{}, router: r, executer: executer, appsConf: conf, + startedApps: map[string]*appBind{}, logger: logging.MustGetLogger("test")} + node.messenger = messaging.NewClient(cipher.PubKey{}, cipher.SecKey{}, client.NewMock()) + var err error + + tmConf := &transport.ManagerConfig{PubKey: cipher.PubKey{}, DiscoveryClient: transport.NewDiscoveryMock()} + node.tm, err = transport.NewManager(tmConf, node.messenger) + require.NoError(t, err) + + errCh := make(chan error) + go func() { + errCh <- node.Start() + }() + + time.Sleep(100 * time.Millisecond) + require.NoError(t, node.Close()) + require.True(t, r.didClose) + require.NoError(t, <-errCh) + + require.Len(t, executer.cmds, 1) + assert.Equal(t, "chat.v1.0", executer.cmds[0].Path) + assert.Equal(t, "chat/v1.0", executer.cmds[0].Dir) +} + +func TestNodeSpawnApp(t *testing.T) { + r := new(mockRouter) + executer := &MockExecuter{} + defer os.RemoveAll("chat") + apps := []AppConfig{{App: "chat", Version: "1.0", AutoStart: false, Port: 10, Args: []string{"foo"}}} + node := &Node{router: r, executer: executer, appsConf: apps, startedApps: map[string]*appBind{}, logger: logging.MustGetLogger("test")} + + require.NoError(t, node.StartApp("chat")) + time.Sleep(100 * time.Millisecond) + + require.NotNil(t, node.startedApps["chat"]) + + executer.Lock() + require.Len(t, executer.cmds, 1) + assert.Equal(t, "chat.v1.0", executer.cmds[0].Path) + assert.Equal(t, "chat/v1.0", executer.cmds[0].Dir) + assert.Equal(t, []string{"chat.v1.0", "foo"}, executer.cmds[0].Args) + executer.Unlock() + + ports := r.Ports() + require.Len(t, ports, 1) + assert.Equal(t, uint16(10), ports[0]) + + require.NoError(t, node.StopApp("chat")) +} + +func TestNodeSpawnAppValidations(t *testing.T) { + conn, _ := net.Pipe() + r := new(mockRouter) + executer := &MockExecuter{err: errors.New("foo")} + defer os.RemoveAll("chat") + node := &Node{router: r, executer: executer, + startedApps: map[string]*appBind{"chat": {conn, 10}}, + logger: logging.MustGetLogger("test")} + + cases := []struct { + conf *AppConfig + err string + }{ + {&AppConfig{App: "chat", Version: "1.0", Port: 2}, "can't bind to reserved port 2"}, + {&AppConfig{App: "chat", Version: "1.0", Port: 10}, "App chat is already started"}, + {&AppConfig{App: "foo", Version: "1.0", Port: 11}, "failed to run app executable: foo"}, + } + + for _, c := range cases { + t.Run(c.err, func(t *testing.T) { + errCh := make(chan error) + go func() { + errCh <- node.SpawnApp(c.conf, nil) + }() + + time.Sleep(100 * time.Millisecond) + require.NoError(t, node.Close()) + err := <-errCh + require.Error(t, err) + assert.Equal(t, c.err, err.Error()) + }) + } +} + +type MockExecuter struct { + sync.Mutex + err error + cmds []*exec.Cmd + stopCh chan struct{} +} + +func (exc *MockExecuter) Start(cmd *exec.Cmd) (int, error) { + exc.Lock() + defer exc.Unlock() + if exc.stopCh != nil { + return -1, errors.New("already executing") + } + + exc.stopCh = make(chan struct{}) + + if exc.err != nil { + return -1, exc.err + } + + if exc.cmds == nil { + exc.cmds = make([]*exec.Cmd, 0) + } + + exc.cmds = append(exc.cmds, cmd) + + return 10, nil +} + +func (exc *MockExecuter) Stop(pid int) error { + exc.Lock() + if exc.stopCh != nil { + select { + case <-exc.stopCh: + default: + close(exc.stopCh) + } + } + exc.Unlock() + return nil +} + +func (exc *MockExecuter) Wait(cmd *exec.Cmd) error { + <-exc.stopCh + return nil +} + +type mockRouter struct { + sync.Mutex + + ports []uint16 + + didStart bool + didClose bool + + errChan chan error +} + +func (r *mockRouter) Ports() []uint16 { + r.Lock() + p := r.ports + r.Unlock() + return p +} + +func (r *mockRouter) Serve(_ context.Context) error { + r.didStart = true + return nil +} + +func (r *mockRouter) ServeApp(conn net.Conn, port uint16, appConf *app.Config) error { + r.Lock() + if r.ports == nil { + r.ports = []uint16{} + } + + r.ports = append(r.ports, port) + r.Unlock() + + if r.errChan == nil { + r.Lock() + r.errChan = make(chan error) + r.Unlock() + } + + return <-r.errChan +} + +func (r *mockRouter) Close() error { + r.didClose = true + r.Lock() + if r.errChan != nil { + close(r.errChan) + } + r.Unlock() + return nil +} diff --git a/pkg/node/rpc.go b/pkg/node/rpc.go new file mode 100644 index 000000000..d9de8bb92 --- /dev/null +++ b/pkg/node/rpc.go @@ -0,0 +1,269 @@ +package node + +import ( + "context" + "errors" + "time" + + "github.com/google/uuid" + + "github.com/skycoin/skywire/pkg/cipher" + + "github.com/skycoin/skywire/pkg/routing" + "github.com/skycoin/skywire/pkg/transport" +) + +const ( + // RPCPrefix is the prefix used with all RPC calls. + RPCPrefix = "app-node" +) + +var ( + // ErrInvalidInput occurs when an input is invalid. + ErrInvalidInput = errors.New("invalid input") + + // ErrNotImplemented occurs when a method is not implemented. + ErrNotImplemented = errors.New("not implemented") + + // ErrNotFound is returned when a requested resource is not found. + ErrNotFound = errors.New("not found") +) + +// RPC defines RPC methods for Node. +type RPC struct { + node *Node +} + +// RPCClient represents a RPC Client implementation. +type RPCClient interface { + Summary() (*Summary, error) + + Apps() ([]*AppState, error) + StartApp(appName string) error + StopApp(appName string) error + SetAutoStart(appName string, autostart bool) error + + TransportTypes() ([]string, error) + Transports(types []string, pks []cipher.PubKey, logs bool) ([]*TransportSummary, error) + Transport(tid uuid.UUID) (*TransportSummary, error) + AddTransport(remote cipher.PubKey, tpType string, public bool) (*TransportSummary, error) + RemoveTransport(tid uuid.UUID) error + + RoutingRules() ([]*RoutingEntry, error) + RoutingRule(key routing.RouteID) (routing.Rule, error) + AddRoutingRule(rule routing.Rule) (routing.RouteID, error) + SetRoutingRule(key routing.RouteID, rule routing.Rule) error + RemoveRoutingRule(key routing.RouteID) error +} + +/* + <<< NODE SUMMARY >>> +*/ + +// TransportSummary summarizes a Transport. +type TransportSummary struct { + ID uuid.UUID `json:"id"` + Local cipher.PubKey `json:"local_pk"` + Remote cipher.PubKey `json:"remote_pk"` + Type string `json:"type"` + Log *transport.LogEntry `json:"log,omitempty"` +} + +func newTransportSummary(tp *transport.ManagedTransport, includeLogs bool) *TransportSummary { + summary := TransportSummary{ + ID: tp.ID, + Local: tp.Local(), + Remote: tp.Remote(), + Type: tp.Type(), + } + if includeLogs { + summary.Log = tp.LogEntry + } + return &summary +} + +// Summary provides a summary of an AppNode. +type Summary struct { + PubKey cipher.PubKey `json:"local_pk"` + Apps []*AppState `json:"apps"` + Transports []*TransportSummary `json:"transports"` + RoutesCount int `json:"routes_count"` +} + +// Summary provides a summary of the AppNode. +func (r *RPC) Summary(_ *struct{}, out *Summary) error { + var summaries []*TransportSummary + r.node.tm.WalkTransports(func(tp *transport.ManagedTransport) bool { + summaries = append(summaries, newTransportSummary(tp, false)) + return true + }) + *out = Summary{ + PubKey: r.node.config.Node.StaticPubKey, + Apps: r.node.Apps(), + Transports: summaries, + RoutesCount: r.node.rt.Count(), + } + return nil +} + +/* + <<< APP MANAGEMENT >>> +*/ + +// Apps returns list of Apps registered on the Node. +func (r *RPC) Apps(_ *struct{}, reply *[]*AppState) error { + *reply = r.node.Apps() + return nil +} + +// StartApp start App with provided name. +func (r *RPC) StartApp(name *string, _ *struct{}) error { + return r.node.StartApp(*name) +} + +// StopApp stops App with provided name. +func (r *RPC) StopApp(name *string, _ *struct{}) error { + return r.node.StopApp(*name) +} + +// SetAutoStartIn is input for SetAutoStart. +type SetAutoStartIn struct { + AppName string + AutoStart bool +} + +// SetAutoStart sets auto-start settings for an app. +func (r *RPC) SetAutoStart(in *SetAutoStartIn, _ *struct{}) error { + return r.node.SetAutoStart(in.AppName, in.AutoStart) +} + +/* + <<< TRANSPORT MANAGEMENT >>> +*/ + +// TransportTypes lists all transport types supported by the Node. +func (r *RPC) TransportTypes(_ *struct{}, out *[]string) error { + *out = r.node.tm.Factories() + return nil +} + +// TransportsIn is input for Transports. +type TransportsIn struct { + FilterTypes []string + FilterPubKeys []cipher.PubKey + ShowLogs bool +} + +// Transports lists Transports of the Node and provides a summary of each. +func (r *RPC) Transports(in *TransportsIn, out *[]*TransportSummary) error { + typeIncluded := func(tType string) bool { + if in.FilterTypes != nil { + for _, ft := range in.FilterTypes { + if tType == ft { + return true + } + } + return false + } + return true + } + pkIncluded := func(localPK, remotePK cipher.PubKey) bool { + if in.FilterPubKeys != nil { + for _, fpk := range in.FilterPubKeys { + if localPK == fpk || remotePK == fpk { + return true + } + } + return false + } + return true + } + r.node.tm.WalkTransports(func(tp *transport.ManagedTransport) bool { + if typeIncluded(tp.Type()) && pkIncluded(tp.Local(), tp.Remote()) { + *out = append(*out, newTransportSummary(tp, in.ShowLogs)) + } + return true + }) + return nil +} + +// Transport obtains a Transport Summary of Transport of given Transport ID. +func (r *RPC) Transport(in *uuid.UUID, out *TransportSummary) error { + tp := r.node.tm.Transport(*in) + if tp == nil { + return ErrNotFound + } + *out = *newTransportSummary(tp, true) + return nil +} + +// AddTransportIn is input for AddTransport. +type AddTransportIn struct { + RemotePK cipher.PubKey + TpType string + Public bool +} + +// AddTransport creates a transport for the node. +func (r *RPC) AddTransport(in *AddTransportIn, out *TransportSummary) error { + ctx, cancel := context.WithTimeout(context.Background(), time.Second*5) + defer cancel() + tp, err := r.node.tm.CreateTransport(ctx, in.RemotePK, in.TpType, in.Public) + if err != nil { + return err + } + *out = *newTransportSummary(tp, false) + return nil +} + +// RemoveTransport removes a Transport from the node. +func (r *RPC) RemoveTransport(tid *uuid.UUID, _ *struct{}) error { + return r.node.tm.DeleteTransport(*tid) +} + +/* + <<< ROUTES MANAGEMENT >>> +*/ + +// RoutingEntry represents an RoutingTable's entry. +type RoutingEntry struct { + Key routing.RouteID + Value routing.Rule +} + +// RoutingRules obtains all routing rules of the RoutingTable. +func (r *RPC) RoutingRules(_ *struct{}, out *[]*RoutingEntry) error { + return r.node.rt.RangeRules(func(routeID routing.RouteID, rule routing.Rule) (next bool) { + *out = append(*out, &RoutingEntry{Key: routeID, Value: rule}) + return true + }) +} + +// RoutingRule obtains a routing rule of given RouteID. +func (r *RPC) RoutingRule(key *routing.RouteID, rule *routing.Rule) error { + var err error + *rule, err = r.node.rt.Rule(*key) + return err +} + +// AddRoutingRule adds a RoutingRule and returns a Key in which the rule is stored under. +func (r *RPC) AddRoutingRule(rule *routing.Rule, routeID *routing.RouteID) error { + var err error + *routeID, err = r.node.rt.AddRule(*rule) + return err +} + +// SetRoutingRule sets a routing rule. +func (r *RPC) SetRoutingRule(in *RoutingEntry, out *struct{}) error { + return r.node.rt.SetRule(in.Key, in.Value) +} + +// RemoveRoutingRule removes a RoutingRule based on given RouteID key. +func (r *RPC) RemoveRoutingRule(key *routing.RouteID, _ *struct{}) error { + return r.node.rt.DeleteRules(*key) +} + +/* + <<< LOOPS MANAGEMENT >>> + >>> TODO(evanlinjin): Implement. +*/ diff --git a/pkg/node/rpc_test.go b/pkg/node/rpc_test.go new file mode 100644 index 000000000..26569791b --- /dev/null +++ b/pkg/node/rpc_test.go @@ -0,0 +1,284 @@ +package node + +import ( + "context" + "encoding/json" + "net" + "net/rpc" + "os" + "testing" + "time" + + "github.com/google/uuid" + "github.com/skycoin/skycoin/src/util/logging" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/cipher" + + "github.com/skycoin/skywire/pkg/routing" + "github.com/skycoin/skywire/pkg/transport" +) + +func TestListApps(t *testing.T) { + apps := []AppConfig{ + {App: "foo", AutoStart: false, Port: 10}, + {App: "bar", AutoStart: true, Port: 11}, + } + + sApps := map[string]*appBind{ + "bar": {}, + } + rpc := &RPC{&Node{appsConf: apps, startedApps: sApps}} + + var reply []*AppState + require.NoError(t, rpc.Apps(nil, &reply)) + require.Len(t, reply, 2) + + app1 := reply[0] + assert.Equal(t, "foo", app1.Name) + assert.False(t, app1.AutoStart) + assert.Equal(t, uint16(10), app1.Port) + assert.Equal(t, AppStatusStopped, app1.Status) + + app2 := reply[1] + assert.Equal(t, "bar", app2.Name) + assert.True(t, app2.AutoStart) + assert.Equal(t, uint16(11), app2.Port) + assert.Equal(t, AppStatusRunning, app2.Status) +} + +func TestStartStopApp(t *testing.T) { + router := new(mockRouter) + executer := new(MockExecuter) + defer os.RemoveAll("chat") + + apps := []AppConfig{{App: "foo", Version: "1.0", AutoStart: false, Port: 10}} + node := &Node{router: router, executer: executer, appsConf: apps, startedApps: map[string]*appBind{}, logger: logging.MustGetLogger("test")} + + rpc := &RPC{node: node} + unknownApp := "bar" + app := "foo" + + err := rpc.StartApp(&unknownApp, nil) + require.Error(t, err) + assert.Equal(t, ErrUnknownApp, err) + + require.NoError(t, rpc.StartApp(&app, nil)) + time.Sleep(100 * time.Millisecond) + + executer.Lock() + require.Len(t, executer.cmds, 1) + assert.Equal(t, "foo.v1.0", executer.cmds[0].Path) + assert.Equal(t, "foo/v1.0", executer.cmds[0].Dir) + executer.Unlock() + node.startedMu.Lock() + assert.NotNil(t, node.startedApps["foo"]) + node.startedMu.Unlock() + + err = rpc.StopApp(&unknownApp, nil) + require.Error(t, err) + assert.Equal(t, ErrUnknownApp, err) + + require.NoError(t, rpc.StopApp(&app, nil)) + time.Sleep(100 * time.Millisecond) + + node.startedMu.Lock() + assert.Nil(t, node.startedApps["foo"]) + node.startedMu.Unlock() +} + +func mockTransportManagers() (pk1, pk2 cipher.PubKey, m1, m2 *transport.Manager, errCh chan error, err error) { + discovery := transport.NewDiscoveryMock() + logs := transport.InMemoryTransportLogStore() + + var sk1, sk2 cipher.SecKey + pk1, sk1 = cipher.GenerateKeyPair() + pk2, sk2 = cipher.GenerateKeyPair() + + c1 := &transport.ManagerConfig{PubKey: pk1, SecKey: sk1, DiscoveryClient: discovery, LogStore: logs} + c2 := &transport.ManagerConfig{PubKey: pk2, SecKey: sk2, DiscoveryClient: discovery, LogStore: logs} + + f1, f2 := transport.NewMockFactory(pk1, pk2) + + if m1, err = transport.NewManager(c1, f1); err != nil { + return + } + if m2, err = transport.NewManager(c2, f2); err != nil { + return + } + + errCh = make(chan error) + go func() { errCh <- m1.Serve(context.TODO()) }() + go func() { errCh <- m2.Serve(context.TODO()) }() + + return +} + +func TestRPC(t *testing.T) { + r := new(mockRouter) + executer := new(MockExecuter) + defer os.RemoveAll("chat") + + pk1, _, tm1, tm2, errCh, err := mockTransportManagers() + require.NoError(t, err) + defer func() { + require.NoError(t, tm1.Close()) + require.NoError(t, tm2.Close()) + require.NoError(t, <-errCh) + require.NoError(t, <-errCh) + }() + + _, err = tm2.CreateTransport(context.TODO(), pk1, "mock", true) + require.NoError(t, err) + + apps := []AppConfig{ + {App: "foo", Version: "1.0", AutoStart: false, Port: 10}, + {App: "bar", Version: "2.0", AutoStart: false, Port: 20}, + } + conf := &Config{} + conf.Node.StaticPubKey = pk1 + node := &Node{ + config: conf, + router: r, + tm: tm1, + rt: routing.InMemoryRoutingTable(), + executer: executer, + appsConf: apps, + startedApps: map[string]*appBind{}, + logger: logging.MustGetLogger("test"), + } + + require.NoError(t, node.StartApp("foo")) + require.NoError(t, node.StartApp("bar")) + + gateway := &RPC{node: node} + + sConn, cConn := net.Pipe() + defer func() { + require.NoError(t, sConn.Close()) + require.NoError(t, cConn.Close()) + }() + + svr := rpc.NewServer() + require.NoError(t, svr.RegisterName(RPCPrefix, gateway)) + go svr.ServeConn(sConn) + + //client := RPCClient{Client: rpc.NewClient(cConn)} + + print := func(t *testing.T, name string, v interface{}) { + j, err := json.MarshalIndent(v, name+": ", " ") + require.NoError(t, err) + t.Log(string(j)) + } + + t.Run("Summary", func(t *testing.T) { + test := func(t *testing.T, summary *Summary) { + assert.Equal(t, pk1, summary.PubKey) + assert.Len(t, summary.Apps, 2) + assert.Len(t, summary.Transports, 1) + print(t, "Summary", summary) + } + t.Run("RPCServer", func(t *testing.T) { + var summary Summary + require.NoError(t, gateway.Summary(&struct{}{}, &summary)) + test(t, &summary) + }) + //t.Run("RPCClient", func(t *testing.T) { + // summary, err := client.Summary() + // require.NoError(t, err) + // test(t, summary) + //}) + }) + + t.Run("Apps", func(t *testing.T) { + test := func(t *testing.T, apps []*AppState) { + assert.Len(t, apps, 2) + print(t, "Apps", apps) + } + t.Run("RPCServer", func(t *testing.T) { + var apps []*AppState + require.NoError(t, gateway.Apps(&struct{}{}, &apps)) + test(t, apps) + }) + //t.Run("RPCClient", func(t *testing.T) { + // apps, err := client.Apps() + // require.NoError(t, err) + // test(t, apps) + //}) + }) + + // TODO(evanlinjin): For some reason, this freezes. + //t.Run("StopStartApp", func(t *testing.T) { + // appName := "foo" + // require.NoError(t, gateway.StopApp(&appName, &struct{}{})) + // require.NoError(t, gateway.StartApp(&appName, &struct{}{})) + // require.NoError(t, client.StopApp(appName)) + // require.NoError(t, client.StartApp(appName)) + //}) + + t.Run("SetAutoStart", func(t *testing.T) { + unknownAppName := "whoAmI" + appName := "foo" + + in1 := SetAutoStartIn{AppName: unknownAppName, AutoStart: true} + in2 := SetAutoStartIn{AppName: appName, AutoStart: true} + in3 := SetAutoStartIn{AppName: appName, AutoStart: false} + + // Test with RPC Server + + err := gateway.SetAutoStart(&in1, &struct{}{}) + require.Error(t, err) + assert.Equal(t, ErrUnknownApp, err) + + require.NoError(t, gateway.SetAutoStart(&in2, &struct{}{})) + assert.True(t, node.appsConf[0].AutoStart) + + require.NoError(t, gateway.SetAutoStart(&in3, &struct{}{})) + assert.False(t, node.appsConf[0].AutoStart) + + // Test with RPC Client + + //err = client.SetAutoStart(in1.AppName, in1.AutoStart) + //require.Error(t, err) + //assert.Equal(t, ErrUnknownApp.Error(), err.Error()) + // + //require.NoError(t, client.SetAutoStart(in2.AppName, in2.AutoStart)) + //assert.True(t, node.appsConf[0].AutoStart) + // + //require.NoError(t, client.SetAutoStart(in3.AppName, in3.AutoStart)) + //assert.False(t, node.appsConf[0].AutoStart) + }) + + t.Run("TransportTypes", func(t *testing.T) { + in := TransportsIn{ShowLogs: true} + + var out []*TransportSummary + require.NoError(t, gateway.Transports(&in, &out)) + assert.Len(t, out, 1) + assert.Equal(t, "mock", out[0].Type) + + //out2, err := client.Transports(in.FilterTypes, in.FilterPubKeys, in.ShowLogs) + //require.NoError(t, err) + //assert.Equal(t, out, out2) + }) + + t.Run("Transport", func(t *testing.T) { + var ids []uuid.UUID + node.tm.WalkTransports(func(tp *transport.ManagedTransport) bool { + ids = append(ids, tp.ID) + return true + }) + + for _, id := range ids { + var summary TransportSummary + require.NoError(t, gateway.Transport(&id, &summary)) + + //summary2, err := client.Transport(id) + //require.NoError(t, err) + //require.Equal(t, summary, *summary2) + } + }) + + // TODO: Test add/remove transports +} diff --git a/pkg/route-finder/client/client.go b/pkg/route-finder/client/client.go new file mode 100644 index 000000000..d11813cb9 --- /dev/null +++ b/pkg/route-finder/client/client.go @@ -0,0 +1,131 @@ +// Package client implement client for route finder. +package client + +import ( + "bytes" + "context" + "encoding/json" + "errors" + "net/http" + "net/url" + "strings" + "time" + + "github.com/skycoin/skywire/pkg/cipher" + "github.com/skycoin/skywire/pkg/routing" +) + +const contextTimeout = 10 * time.Second + +// GetRoutesRequest parses json body for /routes endpoint request +type GetRoutesRequest struct { + SrcPK cipher.PubKey `json:"src_pk,omitempty"` + DstPK cipher.PubKey `json:"dst_pk,omitempty"` + MinHops uint16 `json:"min_hops,omitempty"` + MaxHops uint16 `json:"max_hops,omitempty"` +} + +// GetRoutesResponse encodes the json body of /routes response +type GetRoutesResponse struct { + Forward []routing.Route `json:"forward"` + Reverse []routing.Route `json:"response"` +} + +// HTTPResponse represents http response struct +type HTTPResponse struct { + Error *HTTPError `json:"error,omitempty"` + Data interface{} `json:"data,omitempty"` +} + +// HTTPError is included in an HTTPResponse +type HTTPError struct { + Message string `json:"message"` + Code int `json:"code"` +} + +// Client implements route finding operations. +type Client interface { + PairedRoutes(source, destiny cipher.PubKey, minHops, maxHops uint16) ([]routing.Route, []routing.Route, error) +} + +// APIClient implements Client interface +type apiClient struct { + addr string + client http.Client +} + +// NewHTTP constructs new Client that communicates over http. +func NewHTTP(addr string) Client { + return &apiClient{ + addr: sanitizedAddr(addr), + client: http.Client{}, + } +} + +// PairedRoutes returns routes from source skywire node to destiny, that has at least the given minHops and as much +// the given maxHops as well as the reverse routes from destiny to source. +func (c *apiClient) PairedRoutes(source, destiny cipher.PubKey, minHops, maxHops uint16) ([]routing.Route, []routing.Route, error) { + requestBody := &GetRoutesRequest{ + SrcPK: source, + DstPK: destiny, + MinHops: minHops, + MaxHops: maxHops, + } + marshaledBody, err := json.Marshal(requestBody) + if err != nil { + return nil, nil, err + } + + req, err := http.NewRequest(http.MethodGet, c.addr+"/routes", bytes.NewBuffer(marshaledBody)) + if err != nil { + return nil, nil, err + } + req.Header.Set("Content-Type", "application/json") + ctx, cancel := context.WithTimeout(context.Background(), contextTimeout) + defer cancel() + req = req.WithContext(ctx) + + res, err := c.client.Do(req) + if err != nil { + return nil, nil, err + } + + if res.StatusCode != http.StatusOK { + var apiErr HTTPResponse + + err = json.NewDecoder(res.Body).Decode(&apiErr) + if err != nil { + return nil, nil, err + } + defer res.Body.Close() + + return nil, nil, errors.New(apiErr.Error.Message) + } + + var routes GetRoutesResponse + err = json.NewDecoder(res.Body).Decode(&routes) + if err != nil { + return nil, nil, err + } + defer res.Body.Close() + + return routes.Forward, routes.Reverse, nil +} + +func sanitizedAddr(addr string) string { + if addr == "" { + return "http://localhost" + } + + u, err := url.Parse(addr) + if err != nil { + return "http://localhost" + } + + if u.Scheme == "" { + u.Scheme = "http" + } + + u.Path = strings.TrimSuffix(u.Path, "/") + return u.String() +} diff --git a/pkg/route-finder/client/mock.go b/pkg/route-finder/client/mock.go new file mode 100644 index 000000000..25b2ace7b --- /dev/null +++ b/pkg/route-finder/client/mock.go @@ -0,0 +1,49 @@ +package client + +import ( + "github.com/google/uuid" + + "github.com/skycoin/skywire/pkg/cipher" + "github.com/skycoin/skywire/pkg/routing" +) + +// MockClient implements mock route finder client. +type mockClient struct { + err error +} + +// NewMock constructs a new mock Client. +func NewMock() Client { + return &mockClient{} +} + +// SetError assigns error that will be return on the next call to a +// public method. +func (r *mockClient) SetError(err error) { + r.err = err +} + +// PairedRoutes implements Clien for MockClient +func (r *mockClient) PairedRoutes(src, dst cipher.PubKey, minHops, maxHops uint16) ([]routing.Route, []routing.Route, error) { + if r.err != nil { + return nil, nil, r.err + } + + return []routing.Route{ + { + &routing.Hop{ + From: src, + To: dst, + Transport: uuid.New(), + }, + }, + }, []routing.Route{ + { + &routing.Hop{ + From: src, + To: dst, + Transport: uuid.New(), + }, + }, + }, nil +} diff --git a/pkg/router/app_manager.go b/pkg/router/app_manager.go new file mode 100644 index 000000000..49565f85c --- /dev/null +++ b/pkg/router/app_manager.go @@ -0,0 +1,99 @@ +package router + +import ( + "encoding/json" + "errors" + + "github.com/skycoin/skycoin/src/util/logging" + + "github.com/skycoin/skywire/pkg/app" +) + +const supportedProtocolVersion = "0.0.1" + +type appCallbacks struct { + CreateLoop func(conn *app.Protocol, raddr *app.Addr) (laddr *app.Addr, err error) + CloseLoop func(conn *app.Protocol, addr *app.LoopAddr) error + Forward func(conn *app.Protocol, packet *app.Packet) error +} + +type appManager struct { + Logger *logging.Logger + + proto *app.Protocol + appConf *app.Config + callbacks *appCallbacks +} + +func (am *appManager) Serve() error { + return am.proto.Serve(func(frame app.Frame, payload []byte) (res interface{}, err error) { + am.Logger.Infof("Got new App request with type %s: %s", frame, string(payload)) + switch frame { + case app.FrameInit: + err = am.initApp(payload) + case app.FrameCreateLoop: + res, err = am.setupLoop(payload) + case app.FrameClose: + err = am.handleCloseLoop(payload) + case app.FrameSend: + err = am.forwardAppPacket(payload) + default: + err = errors.New("unexpected frame") + } + + if err != nil { + am.Logger.Infof("App request with type %s failed: %s", frame, err) + } + + return res, err + }) +} + +func (am *appManager) initApp(payload []byte) error { + config := &app.Config{} + if err := json.Unmarshal(payload, config); err != nil { + return errors.New("invalid Init payload") + } + + if config.ProtocolVersion != supportedProtocolVersion { + return errors.New("unsupported protocol version") + } + + if am.appConf.AppName != config.AppName { + return errors.New("unexpected app") + } + + if am.appConf.AppVersion != config.AppVersion { + return errors.New("unexpected app version") + } + + am.Logger.Infof("Handshaked new connection with the app %s.v%s", config.AppName, config.AppVersion) + return nil +} + +func (am *appManager) setupLoop(payload []byte) (*app.Addr, error) { + raddr := &app.Addr{} + if err := json.Unmarshal(payload, raddr); err != nil { + return nil, err + } + + return am.callbacks.CreateLoop(am.proto, raddr) +} + +func (am *appManager) handleCloseLoop(payload []byte) error { + addr := &app.LoopAddr{} + if err := json.Unmarshal(payload, addr); err != nil { + return err + } + + return am.callbacks.CloseLoop(am.proto, addr) +} + +func (am *appManager) forwardAppPacket(payload []byte) error { + packet := &app.Packet{} + if err := json.Unmarshal(payload, packet); err != nil { + return err + } + + return am.callbacks.Forward(am.proto, packet) +} diff --git a/pkg/router/app_manager_test.go b/pkg/router/app_manager_test.go new file mode 100644 index 000000000..66f3ea793 --- /dev/null +++ b/pkg/router/app_manager_test.go @@ -0,0 +1,144 @@ +package router + +import ( + "net" + "testing" + + "github.com/skycoin/skycoin/src/util/logging" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/app" + "github.com/skycoin/skywire/pkg/cipher" +) + +func TestAppManagerInit(t *testing.T) { + in, out := net.Pipe() + am := &appManager{ + logging.MustGetLogger("routesetup"), + app.NewProtocol(out), + &app.Config{AppName: "foo", AppVersion: "0.0.1"}, + nil, + } + + srvCh := make(chan error) + go func() { srvCh <- am.Serve() }() + + proto := app.NewProtocol(in) + go proto.Serve(nil) // nolint: errcheck + + tcs := []struct { + conf *app.Config + err string + }{ + {&app.Config{AppName: "foo", AppVersion: "0.0.1", ProtocolVersion: "0.0.2"}, "unsupported protocol version"}, + {&app.Config{AppName: "foo", AppVersion: "0.0.2", ProtocolVersion: "0.0.1"}, "unexpected app version"}, + {&app.Config{AppName: "bar", AppVersion: "0.0.1", ProtocolVersion: "0.0.1"}, "unexpected app"}, + } + + for _, tc := range tcs { + t.Run(tc.err, func(t *testing.T) { + err := proto.Send(app.FrameInit, tc.conf, nil) + require.Error(t, err) + assert.Equal(t, tc.err, err.Error()) + }) + } + + err := proto.Send(app.FrameInit, &app.Config{AppName: "foo", AppVersion: "0.0.1", ProtocolVersion: "0.0.1"}, nil) + require.NoError(t, err) + + require.NoError(t, in.Close()) + require.NoError(t, <-srvCh) +} + +func TestAppManagerSetupLoop(t *testing.T) { + in, out := net.Pipe() + am := &appManager{ + logging.MustGetLogger("routesetup"), + app.NewProtocol(out), + &app.Config{AppName: "foo", AppVersion: "0.0.1"}, + &appCallbacks{ + CreateLoop: func(conn *app.Protocol, raddr *app.Addr) (laddr *app.Addr, err error) { + return raddr, nil + }, + }, + } + + srvCh := make(chan error) + go func() { srvCh <- am.Serve() }() + + proto := app.NewProtocol(in) + go proto.Serve(nil) // nolint: errcheck + + var laddr *app.Addr + pk, _ := cipher.GenerateKeyPair() + raddr := &app.Addr{PubKey: pk, Port: 3} + err := proto.Send(app.FrameCreateLoop, raddr, &laddr) + require.NoError(t, err) + assert.Equal(t, raddr, laddr) + + require.NoError(t, in.Close()) + require.NoError(t, <-srvCh) +} + +func TestAppManagerCloseLoop(t *testing.T) { + in, out := net.Pipe() + var inAddr *app.LoopAddr + am := &appManager{ + logging.MustGetLogger("routesetup"), + app.NewProtocol(out), + &app.Config{AppName: "foo", AppVersion: "0.0.1"}, + &appCallbacks{ + CloseLoop: func(conn *app.Protocol, addr *app.LoopAddr) error { + inAddr = addr + return nil + }, + }, + } + + srvCh := make(chan error) + go func() { srvCh <- am.Serve() }() + + proto := app.NewProtocol(in) + go proto.Serve(nil) // nolint: errcheck + + pk, _ := cipher.GenerateKeyPair() + addr := &app.LoopAddr{Port: 2, Remote: app.Addr{PubKey: pk, Port: 3}} + err := proto.Send(app.FrameClose, addr, nil) + require.NoError(t, err) + assert.Equal(t, addr, inAddr) + + require.NoError(t, in.Close()) + require.NoError(t, <-srvCh) +} + +func TestAppManagerForward(t *testing.T) { + in, out := net.Pipe() + var inPacket *app.Packet + am := &appManager{ + logging.MustGetLogger("routesetup"), + app.NewProtocol(out), + &app.Config{AppName: "foo", AppVersion: "0.0.1"}, + &appCallbacks{ + Forward: func(conn *app.Protocol, packet *app.Packet) error { + inPacket = packet + return nil + }, + }, + } + + srvCh := make(chan error) + go func() { srvCh <- am.Serve() }() + + proto := app.NewProtocol(in) + go proto.Serve(nil) // nolint: errcheck + + pk, _ := cipher.GenerateKeyPair() + packet := &app.Packet{Payload: []byte("foo"), Addr: &app.LoopAddr{Port: 2, Remote: app.Addr{PubKey: pk, Port: 3}}} + err := proto.Send(app.FrameSend, packet, nil) + require.NoError(t, err) + assert.Equal(t, packet, inPacket) + + require.NoError(t, in.Close()) + require.NoError(t, <-srvCh) +} diff --git a/pkg/router/loop_list.go b/pkg/router/loop_list.go new file mode 100644 index 000000000..cd33ebdfd --- /dev/null +++ b/pkg/router/loop_list.go @@ -0,0 +1,57 @@ +package router + +import ( + "sync" + + "github.com/google/uuid" + + "github.com/skycoin/skywire/internal/noise" + "github.com/skycoin/skywire/pkg/app" + "github.com/skycoin/skywire/pkg/routing" +) + +type loop struct { + trID uuid.UUID + routeID routing.RouteID + noise *noise.Noise +} + +type loopList struct { + sync.Mutex + + loops map[app.Addr]*loop +} + +func newLoopList() *loopList { + return &loopList{loops: make(map[app.Addr]*loop)} +} + +func (ll *loopList) get(addr *app.Addr) *loop { + ll.Lock() + l := ll.loops[*addr] + ll.Unlock() + + return l +} + +func (ll *loopList) set(addr *app.Addr, l *loop) { + ll.Lock() + ll.loops[*addr] = l + ll.Unlock() +} + +func (ll *loopList) remove(addr *app.Addr) { + ll.Lock() + delete(ll.loops, *addr) + ll.Unlock() +} + +func (ll *loopList) dropAll() []app.Addr { + r := make([]app.Addr, 0) + ll.Lock() + for addr := range ll.loops { + r = append(r, addr) + } + ll.Unlock() + return r +} diff --git a/pkg/router/managed_routing_table.go b/pkg/router/managed_routing_table.go new file mode 100644 index 000000000..48d400439 --- /dev/null +++ b/pkg/router/managed_routing_table.go @@ -0,0 +1,51 @@ +package router + +import ( + "sync" + "time" + + "github.com/skycoin/skywire/pkg/routing" +) + +var routeKeepalive = 10 * time.Minute // interval to keep active expired routes + +type managedRoutingTable struct { + routing.Table + + activity map[routing.RouteID]time.Time + mu sync.Mutex +} + +func manageRoutingTable(rt routing.Table) *managedRoutingTable { + return &managedRoutingTable{ + Table: rt, + activity: make(map[routing.RouteID]time.Time), + } +} + +func (rt *managedRoutingTable) Rule(routeID routing.RouteID) (routing.Rule, error) { + rt.mu.Lock() + rt.activity[routeID] = time.Now() + rt.mu.Unlock() + return rt.Table.Rule(routeID) +} + +func (rt *managedRoutingTable) Cleanup() error { + expiredIDs := []routing.RouteID{} + rt.mu.Lock() + err := rt.RangeRules(func(routeID routing.RouteID, rule routing.Rule) bool { + if rule.ExpireAt().Before(time.Now()) { + if lastActivity, ok := rt.activity[routeID]; !ok || time.Since(lastActivity) > routeKeepalive { + expiredIDs = append(expiredIDs, routeID) + } + } + return true + }) + rt.mu.Unlock() + + if err != nil { + return err + } + + return rt.DeleteRules(expiredIDs...) +} diff --git a/pkg/router/managed_routing_table_test.go b/pkg/router/managed_routing_table_test.go new file mode 100644 index 000000000..0d0de7579 --- /dev/null +++ b/pkg/router/managed_routing_table_test.go @@ -0,0 +1,39 @@ +package router + +import ( + "testing" + "time" + + "github.com/google/uuid" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/routing" +) + +func TestManagedRoutingTableCleanup(t *testing.T) { + rt := manageRoutingTable(routing.InMemoryRoutingTable()) + + _, err := rt.AddRule(routing.ForwardRule(time.Now().Add(time.Hour), 3, uuid.New())) + require.NoError(t, err) + + id, err := rt.AddRule(routing.ForwardRule(time.Now().Add(-time.Hour), 3, uuid.New())) + require.NoError(t, err) + + id2, err := rt.AddRule(routing.ForwardRule(time.Now().Add(-time.Hour), 3, uuid.New())) + require.NoError(t, err) + + assert.Equal(t, 3, rt.Count()) + + _, err = rt.Rule(id) + require.NoError(t, err) + + assert.NotNil(t, rt.activity[id]) + + require.NoError(t, rt.Cleanup()) + assert.Equal(t, 2, rt.Count()) + + rule, err := rt.Rule(id2) + require.NoError(t, err) + assert.Nil(t, rule) +} diff --git a/pkg/router/port_list.go b/pkg/router/port_list.go new file mode 100644 index 000000000..b2732c9a3 --- /dev/null +++ b/pkg/router/port_list.go @@ -0,0 +1,72 @@ +package router + +import ( + "math" + "sync" + + "github.com/skycoin/skywire/pkg/app" +) + +type portBind struct { + conn *app.Protocol + loops *loopList +} + +type portList struct { + sync.Mutex + + minPort uint16 + ports map[uint16]*portBind +} + +func newPortList(minPort uint16) *portList { + return &portList{minPort: minPort, ports: make(map[uint16]*portBind, minPort)} +} + +func (pl *portList) all() map[uint16]*portBind { + r := make(map[uint16]*portBind) + pl.Lock() + for port, bind := range pl.ports { + r[port] = bind + } + pl.Unlock() + + return r +} + +func (pl *portList) add(b *portBind) uint16 { + pl.Lock() + defer pl.Unlock() + + for i := uint16(pl.minPort); i < math.MaxUint16; i++ { + if pl.ports[i] == nil { + pl.ports[i] = b + return i + } + } + + panic("no free ports") +} + +func (pl *portList) set(port uint16, b *portBind) { + pl.Lock() + pl.ports[port] = b + pl.Unlock() +} + +func (pl *portList) get(port uint16) *portBind { + pl.Lock() + l := pl.ports[port] + pl.Unlock() + + return l +} + +func (pl *portList) remove(port uint16) *portBind { + pl.Lock() + b := pl.ports[port] + delete(pl.ports, port) + pl.Unlock() + + return b +} diff --git a/pkg/router/port_manager.go b/pkg/router/port_manager.go new file mode 100644 index 000000000..f16c3f6e2 --- /dev/null +++ b/pkg/router/port_manager.go @@ -0,0 +1,104 @@ +package router + +import ( + "errors" + "fmt" + + "github.com/skycoin/skywire/pkg/app" +) + +type portManager struct { + ports *portList +} + +func newPortManager(minPort uint16) *portManager { + return &portManager{newPortList(minPort)} +} + +func (pm *portManager) Alloc(conn *app.Protocol) uint16 { + b := &portBind{conn, newLoopList()} + return pm.ports.add(b) +} + +func (pm *portManager) Open(port uint16, proto *app.Protocol) error { + if pm.ports.get(port) != nil { + return fmt.Errorf("port %d is already bound", port) + } + + pm.ports.set(port, &portBind{proto, newLoopList()}) + return nil +} + +func (pm *portManager) SetLoop(port uint16, raddr *app.Addr, l *loop) error { + b := pm.ports.get(port) + if b == nil { + return errors.New("port is not bound") + } + + b.loops.set(raddr, l) + return nil +} + +func (pm *portManager) AppConns() []*app.Protocol { + res := []*app.Protocol{} + set := map[*app.Protocol]struct{}{} + for _, bind := range pm.ports.all() { + if _, ok := set[bind.conn]; !ok { + res = append(res, bind.conn) + set[bind.conn] = struct{}{} + } + } + return res +} + +func (pm *portManager) AppPorts(appConn *app.Protocol) []uint16 { + res := []uint16{} + for port, bind := range pm.ports.all() { + if bind.conn == appConn { + res = append(res, port) + } + } + return res +} + +func (pm *portManager) Close(port uint16) []app.Addr { + b := pm.ports.remove(port) + if b == nil { + return nil + } + + return b.loops.dropAll() +} + +func (pm *portManager) RemoveLoop(port uint16, raddr *app.Addr) error { + b, err := pm.Get(port) + if err != nil { + return err + } + + b.loops.remove(raddr) + return nil +} + +func (pm *portManager) Get(port uint16) (*portBind, error) { + b := pm.ports.get(port) + if b == nil { + return nil, errors.New("port is not bound") + } + + return b, nil +} + +func (pm *portManager) GetLoop(port uint16, raddr *app.Addr) (*loop, error) { + b, err := pm.Get(port) + if err != nil { + return nil, err + } + + l := b.loops.get(raddr) + if l == nil { + return nil, errors.New("unknown loop") + } + + return l, nil +} diff --git a/pkg/router/port_manager_test.go b/pkg/router/port_manager_test.go new file mode 100644 index 000000000..b1a634a5c --- /dev/null +++ b/pkg/router/port_manager_test.go @@ -0,0 +1,66 @@ +package router + +import ( + "net" + "sort" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/app" + "github.com/skycoin/skywire/pkg/cipher" +) + +func TestPortManager(t *testing.T) { + pm := newPortManager(10) + + in, _ := net.Pipe() + proto := app.NewProtocol(in) + + p1 := pm.Alloc(proto) + assert.Equal(t, uint16(10), p1) + + require.Error(t, pm.Open(10, proto)) + require.NoError(t, pm.Open(8, proto)) + require.Error(t, pm.Open(8, proto)) + + pk, _ := cipher.GenerateKeyPair() + raddr := &app.Addr{PubKey: pk, Port: 3} + require.NoError(t, pm.SetLoop(8, raddr, &loop{})) + require.Error(t, pm.SetLoop(7, raddr, &loop{})) + + assert.Equal(t, []*app.Protocol{proto}, pm.AppConns()) + + ports := pm.AppPorts(proto) + sort.Slice(ports, func(i, j int) bool { return ports[i] < ports[j] }) + assert.Equal(t, []uint16{8, 10}, ports) + + b, err := pm.Get(10) + require.NoError(t, err) + require.NotNil(t, b) + + _, err = pm.Get(7) + require.Error(t, err) + + l, err := pm.GetLoop(8, raddr) + require.NoError(t, err) + require.NotNil(t, l) + + _, err = pm.GetLoop(10, raddr) + require.Error(t, err) + + _, err = pm.GetLoop(7, raddr) + require.Error(t, err) + + require.Error(t, pm.RemoveLoop(7, raddr)) + require.NoError(t, pm.RemoveLoop(8, raddr)) + _, err = pm.GetLoop(8, raddr) + require.Error(t, err) + + require.NoError(t, pm.SetLoop(8, raddr, &loop{})) + + assert.Empty(t, pm.Close(10)) + assert.Empty(t, pm.Close(7)) + assert.Equal(t, []app.Addr{*raddr}, pm.Close(8)) +} diff --git a/pkg/router/route_manager.go b/pkg/router/route_manager.go new file mode 100644 index 000000000..417155f7a --- /dev/null +++ b/pkg/router/route_manager.go @@ -0,0 +1,207 @@ +package router + +import ( + "encoding/json" + "errors" + "fmt" + "io" + "time" + + "github.com/skycoin/skycoin/src/util/logging" + + "github.com/skycoin/skywire/pkg/app" + "github.com/skycoin/skywire/pkg/routing" + "github.com/skycoin/skywire/pkg/setup" +) + +type setupCallbacks struct { + ConfirmLoop func(addr *app.LoopAddr, rule routing.Rule, noiseMsg []byte) (noiseRes []byte, err error) + LoopClosed func(addr *app.LoopAddr) error +} + +type routeManager struct { + Logger *logging.Logger + + rt *managedRoutingTable + callbacks *setupCallbacks +} + +func (rm *routeManager) GetRule(routeID routing.RouteID) (routing.Rule, error) { + rule, err := rm.rt.Rule(routeID) + if err != nil { + return nil, fmt.Errorf("routing table: %s", err) + } + + if rule == nil { + return nil, errors.New("unknown RouteID") + } + + if rule.ExpireAt().Before(time.Now()) { + return nil, errors.New("expired routing rule") + } + + return rule, nil +} + +func (rm *routeManager) RemoveLoopRule(addr *app.LoopAddr) error { + var appRouteID routing.RouteID + var appRule routing.Rule + err := rm.rt.RangeRules(func(routeID routing.RouteID, rule routing.Rule) bool { + if rule.Type() != routing.RuleApp || rule.RemotePK() != addr.Remote.PubKey || + rule.RemotePort() != addr.Remote.Port || rule.LocalPort() != addr.Port { + return true + } + + appRouteID = routeID + appRule = rule + return false + }) + if err != nil { + return fmt.Errorf("routing table: %s", err) + } + + if len(appRule) == 0 { + return nil + } + + if err = rm.rt.DeleteRules(appRouteID); err != nil { + return fmt.Errorf("routing table: %s", err) + } + + return nil +} + +func (rm *routeManager) Serve(rw io.ReadWriter) error { + proto := setup.NewProtocol(rw) + sp, data, err := proto.ReadPacket() + if err != nil { + return err + } + + rm.Logger.Infof("Got new Setup request with type %s", sp) + + var res interface{} + switch sp { + case setup.PacketAddRules: + res, err = rm.addRoutingRules(data) + case setup.PacketDeleteRules: + res, err = rm.deleteRoutingRules(data) + case setup.PacketConfirmLoop: + res, err = rm.confirmLoop(data) + case setup.PacketLoopClosed: + err = rm.loopClosed(data) + default: + err = errors.New("unknown foundation packet") + } + + if err != nil { + rm.Logger.Infof("Setup request with type %s failed: %s", sp, err) + return proto.Respond(err) + } + + return proto.Respond(res) +} + +func (rm *routeManager) addRoutingRules(data []byte) ([]routing.RouteID, error) { + rules := []routing.Rule{} + if err := json.Unmarshal(data, &rules); err != nil { + return nil, err + } + + res := make([]routing.RouteID, len(rules)) + for idx, rule := range rules { + routeID, err := rm.rt.AddRule(rule) + if err != nil { + return nil, fmt.Errorf("routing table: %s", err) + } + + res[idx] = routeID + rm.Logger.Infof("Added new Routing Rule with ID %d %s", routeID, rule) + } + + return res, nil +} + +func (rm *routeManager) deleteRoutingRules(data []byte) ([]routing.RouteID, error) { + ruleIDs := []routing.RouteID{} + if err := json.Unmarshal(data, &ruleIDs); err != nil { + return nil, err + } + + err := rm.rt.DeleteRules(ruleIDs...) + if err != nil { + return nil, fmt.Errorf("routing table: %s", err) + } + + rm.Logger.Infof("Removed Routing Rules with IDs %s", ruleIDs) + return ruleIDs, nil +} + +func (rm *routeManager) confirmLoop(data []byte) (noiseRes []byte, err error) { + ld := setup.LoopData{} + if err = json.Unmarshal(data, &ld); err != nil { + return + } + + raddr := &app.Addr{PubKey: ld.RemotePK, Port: ld.RemotePort} + + var appRouteID routing.RouteID + var appRule routing.Rule + err = rm.rt.RangeRules(func(routeID routing.RouteID, rule routing.Rule) bool { + if rule.Type() != routing.RuleApp || rule.RemotePK() != ld.RemotePK || + rule.RemotePort() != ld.RemotePort || rule.LocalPort() != ld.LocalPort { + return true + } + + appRouteID = routeID + appRule = rule + return false + }) + if err != nil { + err = fmt.Errorf("routing table: %s", err) + return + } + + if appRule == nil { + err = errors.New("unknown loop") + return + } + + rule, err := rm.rt.Rule(ld.RouteID) + if err != nil { + err = fmt.Errorf("routing table: %s", err) + return + } + + if rule.Type() != routing.RuleForward { + err = errors.New("reverse rule is not forward") + return + } + + msg, err := rm.callbacks.ConfirmLoop(&app.LoopAddr{Port: ld.LocalPort, Remote: *raddr}, rule, ld.NoiseMessage) + if err != nil { + err = fmt.Errorf("confirm: %s", err) + return + } + + rm.Logger.Infof("Setting reverse route ID %d for rule with ID %d", ld.RouteID, appRouteID) + appRule.SetRouteID(ld.RouteID) + if rErr := rm.rt.SetRule(appRouteID, appRule); rErr != nil { + err = fmt.Errorf("routing table: %s", rErr) + return + } + + rm.Logger.Infof("Confirmed loop with %s:%d", ld.RemotePK, ld.RemotePort) + return msg, nil +} + +func (rm *routeManager) loopClosed(data []byte) error { + ld := &setup.LoopData{} + if err := json.Unmarshal(data, ld); err != nil { + return err + } + + raddr := &app.Addr{PubKey: ld.RemotePK, Port: ld.RemotePort} + addr := &app.LoopAddr{Port: ld.LocalPort, Remote: *raddr} + return rm.callbacks.LoopClosed(addr) +} diff --git a/pkg/router/route_manager_test.go b/pkg/router/route_manager_test.go new file mode 100644 index 000000000..31196583e --- /dev/null +++ b/pkg/router/route_manager_test.go @@ -0,0 +1,200 @@ +package router + +import ( + "net" + "testing" + "time" + + "github.com/google/uuid" + "github.com/skycoin/skycoin/src/util/logging" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/app" + "github.com/skycoin/skywire/pkg/cipher" + "github.com/skycoin/skywire/pkg/routing" + "github.com/skycoin/skywire/pkg/setup" +) + +func TestRouteManagerGetRule(t *testing.T) { + rt := manageRoutingTable(routing.InMemoryRoutingTable()) + rm := &routeManager{logging.MustGetLogger("routesetup"), rt, nil} + + expiredRule := routing.ForwardRule(time.Now().Add(-10*time.Minute), 3, uuid.New()) + expiredID, err := rt.AddRule(expiredRule) + require.NoError(t, err) + + rule := routing.ForwardRule(time.Now().Add(10*time.Minute), 3, uuid.New()) + id, err := rt.AddRule(rule) + require.NoError(t, err) + + _, err = rm.GetRule(expiredID) + require.Error(t, err) + + _, err = rm.GetRule(123) + require.Error(t, err) + + r, err := rm.GetRule(id) + require.NoError(t, err) + assert.Equal(t, rule, r) +} + +func TestRouteManagerRemoveLoopRule(t *testing.T) { + rt := manageRoutingTable(routing.InMemoryRoutingTable()) + rm := &routeManager{logging.MustGetLogger("routesetup"), rt, nil} + + pk, _ := cipher.GenerateKeyPair() + rule := routing.AppRule(time.Now(), 3, pk, 3, 2) + _, err := rt.AddRule(rule) + require.NoError(t, err) + + addr := &app.LoopAddr{Port: 3, Remote: app.Addr{PubKey: pk, Port: 3}} + require.NoError(t, rm.RemoveLoopRule(addr)) + assert.Equal(t, 1, rt.Count()) + + addr = &app.LoopAddr{Port: 2, Remote: app.Addr{PubKey: pk, Port: 3}} + require.NoError(t, rm.RemoveLoopRule(addr)) + assert.Equal(t, 0, rt.Count()) +} + +func TestRouteManagerAddRemoveRule(t *testing.T) { + rt := manageRoutingTable(routing.InMemoryRoutingTable()) + rm := &routeManager{logging.MustGetLogger("routesetup"), rt, nil} + + in, out := net.Pipe() + errCh := make(chan error) + go func() { + errCh <- rm.Serve(out) + }() + + proto := setup.NewProtocol(in) + + rule := routing.ForwardRule(time.Now(), 3, uuid.New()) + id, err := proto.AddRule(rule) + require.NoError(t, err) + assert.Equal(t, routing.RouteID(1), id) + + assert.Equal(t, 1, rt.Count()) + r, err := rt.Rule(id) + require.NoError(t, err) + assert.Equal(t, rule, r) + + require.NoError(t, in.Close()) + require.NoError(t, <-errCh) +} + +func TestRouteManagerDeleteRules(t *testing.T) { + rt := manageRoutingTable(routing.InMemoryRoutingTable()) + rm := &routeManager{logging.MustGetLogger("routesetup"), rt, nil} + + in, out := net.Pipe() + errCh := make(chan error) + go func() { + errCh <- rm.Serve(out) + }() + + proto := setup.NewProtocol(in) + + rule := routing.ForwardRule(time.Now(), 3, uuid.New()) + id, err := rt.AddRule(rule) + require.NoError(t, err) + assert.Equal(t, 1, rt.Count()) + + require.NoError(t, proto.DeleteRule(id)) + assert.Equal(t, 0, rt.Count()) + + require.NoError(t, in.Close()) + require.NoError(t, <-errCh) +} + +func TestRouteManagerConfirmLoop(t *testing.T) { + rt := manageRoutingTable(routing.InMemoryRoutingTable()) + var inAddr *app.LoopAddr + var inRule routing.Rule + var noiseMsg []byte + callbacks := &setupCallbacks{ + ConfirmLoop: func(addr *app.LoopAddr, rule routing.Rule, nMsg []byte) (noiseRes []byte, err error) { + inAddr = addr + inRule = rule + noiseMsg = nMsg + return []byte("foo"), nil + }, + } + rm := &routeManager{logging.MustGetLogger("routesetup"), rt, callbacks} + + in, out := net.Pipe() + errCh := make(chan error) + go func() { + errCh <- rm.Serve(out) + }() + + proto := setup.NewProtocol(in) + pk, _ := cipher.GenerateKeyPair() + rule := routing.AppRule(time.Now(), 3, pk, 3, 2) + require.NoError(t, rt.SetRule(2, rule)) + + rule = routing.ForwardRule(time.Now(), 3, uuid.New()) + require.NoError(t, rt.SetRule(1, rule)) + + ld := &setup.LoopData{ + RemotePK: pk, + RemotePort: 3, + LocalPort: 2, + RouteID: 1, + NoiseMessage: []byte("bar"), + } + noiseRes, err := proto.ConfirmLoop(ld) + require.NoError(t, err) + assert.Equal(t, []byte("foo"), noiseRes) + assert.Equal(t, []byte("bar"), noiseMsg) + assert.Equal(t, rule, inRule) + assert.Equal(t, uint16(2), inAddr.Port) + assert.Equal(t, uint16(3), inAddr.Remote.Port) + assert.Equal(t, pk, inAddr.Remote.PubKey) + + require.NoError(t, in.Close()) + require.NoError(t, <-errCh) +} + +func TestRouteManagerLoopClosed(t *testing.T) { + rt := manageRoutingTable(routing.InMemoryRoutingTable()) + var inAddr *app.LoopAddr + callbacks := &setupCallbacks{ + LoopClosed: func(addr *app.LoopAddr) error { + inAddr = addr + return nil + }, + } + rm := &routeManager{logging.MustGetLogger("routesetup"), rt, callbacks} + + in, out := net.Pipe() + errCh := make(chan error) + go func() { + errCh <- rm.Serve(out) + }() + + proto := setup.NewProtocol(in) + + pk, _ := cipher.GenerateKeyPair() + + rule := routing.AppRule(time.Now(), 3, pk, 3, 2) + require.NoError(t, rt.SetRule(2, rule)) + + rule = routing.ForwardRule(time.Now(), 3, uuid.New()) + require.NoError(t, rt.SetRule(1, rule)) + + ld := &setup.LoopData{ + RemotePK: pk, + RemotePort: 3, + LocalPort: 2, + RouteID: 1, + NoiseMessage: []byte("bar"), + } + require.NoError(t, proto.LoopClosed(ld)) + assert.Equal(t, uint16(2), inAddr.Port) + assert.Equal(t, uint16(3), inAddr.Remote.Port) + assert.Equal(t, pk, inAddr.Remote.PubKey) + + require.NoError(t, in.Close()) + require.NoError(t, <-errCh) +} diff --git a/pkg/router/router.go b/pkg/router/router.go new file mode 100644 index 000000000..a55843907 --- /dev/null +++ b/pkg/router/router.go @@ -0,0 +1,493 @@ +// Package router implements package router for skywire node. +package router + +import ( + "context" + "errors" + "fmt" + "io" + "net" + "sync" + "time" + + "github.com/skycoin/skycoin/src/util/logging" + + "github.com/skycoin/skywire/pkg/cipher" + + "github.com/skycoin/skywire/internal/noise" + "github.com/skycoin/skywire/pkg/app" + routeFinder "github.com/skycoin/skywire/pkg/route-finder/client" + "github.com/skycoin/skywire/pkg/routing" + "github.com/skycoin/skywire/pkg/setup" + "github.com/skycoin/skywire/pkg/transport" +) + +const ( + routeTTL = 2 * time.Hour // default expiration interval for routes + minHops = 0 + maxHops = 50 +) + +// Config configures Router. +type Config struct { + Logger *logging.Logger + PubKey cipher.PubKey + SecKey cipher.SecKey + TransportManager *transport.Manager + RoutingTable routing.Table + RouteFinder routeFinder.Client + SetupNodes []cipher.PubKey +} + +// Router implements node.PacketRouter. It manages routing table by +// communicating with setup nodes, forward packets according to local +// rules and manages loops for apps. +type Router struct { + Logger *logging.Logger + + config *Config + tm *transport.Manager + pm *portManager + rm *routeManager + + expiryTicker *time.Ticker + wg sync.WaitGroup + + staticPorts map[uint16]struct{} + mu sync.Mutex +} + +// New constructs a new Router. +func New(config *Config) *Router { + r := &Router{ + Logger: config.Logger, + tm: config.TransportManager, + pm: newPortManager(10), + config: config, + expiryTicker: time.NewTicker(10 * time.Minute), + staticPorts: make(map[uint16]struct{}), + } + callbacks := &setupCallbacks{ + ConfirmLoop: r.confirmLoop, + LoopClosed: r.loopClosed, + } + r.rm = &routeManager{r.Logger, manageRoutingTable(config.RoutingTable), callbacks} + return r +} + +// Serve starts transport listening loop. +func (r *Router) Serve(ctx context.Context) error { + acceptCh, dialCh := r.tm.Observe() + go func() { + for tr := range acceptCh { + go func(t transport.Transport) { + for { + var err error + if r.isSetupTransport(t) { + err = r.rm.Serve(t) + } else { + err = r.serveTransport(t) + } + + if err != nil { + if err != io.EOF { + r.Logger.Warnf("Stopped serving Transport: %s", err) + } + return + } + } + }(tr) + } + }() + + go func() { + for tr := range dialCh { + if r.isSetupTransport(tr) { + continue + } + + go func(t transport.Transport) { + for { + if err := r.serveTransport(t); err != nil { + if err != io.EOF { + r.Logger.Warnf("Stopped serving Transport: %s", err) + } + return + } + } + }(tr) + } + }() + + go func() { + for range r.expiryTicker.C { + if err := r.rm.rt.Cleanup(); err != nil { + r.Logger.Warnf("Failed to expiry routes: %s", err) + } + } + }() + + r.Logger.Info("Starting router") + return r.tm.Serve(ctx) +} + +// ServeApp handles App packets from the App connection on provided port. +func (r *Router) ServeApp(conn net.Conn, port uint16, appConf *app.Config) error { + r.wg.Add(1) + defer r.wg.Done() + + proto := app.NewProtocol(conn) + if err := r.pm.Open(port, proto); err != nil { + return err + } + + r.mu.Lock() + r.staticPorts[port] = struct{}{} + r.mu.Unlock() + + callbacks := &appCallbacks{ + CreateLoop: r.requestLoop, + CloseLoop: r.closeLoop, + Forward: r.forwardAppPacket, + } + am := &appManager{r.Logger, proto, appConf, callbacks} + err := am.Serve() + + for _, port := range r.pm.AppPorts(proto) { + for _, addr := range r.pm.Close(port) { + r.closeLoop(proto, &app.LoopAddr{Port: port, Remote: addr}) // nolint: errcheck + } + } + + r.mu.Lock() + delete(r.staticPorts, port) + r.mu.Unlock() + + if err == io.EOF { + return nil + } + + return err +} + +// Close safely stops Router. +func (r *Router) Close() error { + r.Logger.Info("Closing all App connections and Loops") + r.expiryTicker.Stop() + + for _, conn := range r.pm.AppConns() { + conn.Close() + } + + r.wg.Wait() + return r.tm.Close() +} + +func (r *Router) serveTransport(tr transport.Transport) error { + packet := make(routing.Packet, 6) + if _, err := io.ReadFull(tr, packet); err != nil { + return err + } + + payload := make([]byte, packet.Size()) + if _, err := io.ReadFull(tr, payload); err != nil { + return err + } + + rule, err := r.rm.GetRule(packet.RouteID()) + if err != nil { + return err + } + + r.Logger.Infof("Got new remote packet with route ID %d. Using rule: %s", packet.RouteID(), rule) + if rule.Type() == routing.RuleForward { + return r.forwardPacket(payload, rule) + } + + return r.consumePacket(payload, rule) +} + +func (r *Router) forwardPacket(payload []byte, rule routing.Rule) error { + packet := routing.MakePacket(rule.RouteID(), payload) + tr := r.tm.Transport(rule.TransportID()) + if tr == nil { + return errors.New("unknown transport") + } + + if _, err := tr.Write(packet); err != nil { + return err + } + + r.Logger.Infof("Forwarded packet via Transport %s using rule %d", rule.TransportID(), rule.RouteID()) + return nil +} + +func (r *Router) consumePacket(payload []byte, rule routing.Rule) error { + raddr := &app.Addr{PubKey: rule.RemotePK(), Port: rule.RemotePort()} + l, err := r.pm.GetLoop(rule.LocalPort(), raddr) + if err != nil { + return errors.New("unknown loop") + } + + data, err := l.noise.Decrypt(payload) + if err != nil { + return fmt.Errorf("noise: %s", err) + } + + p := &app.Packet{Addr: &app.LoopAddr{Port: rule.LocalPort(), Remote: *raddr}, Payload: data} + b, _ := r.pm.Get(rule.LocalPort()) // nolint: errcheck + if err := b.conn.Send(app.FrameSend, p, nil); err != nil { + return err + } + + r.Logger.Infof("Forwarded packet to App on Port %d", rule.LocalPort()) + return nil +} + +func (r *Router) forwardAppPacket(appConn *app.Protocol, packet *app.Packet) error { + if packet.Addr.Remote.PubKey == r.config.PubKey { + return r.forwardLocalAppPacket(packet) + } + + l, err := r.pm.GetLoop(packet.Addr.Port, &packet.Addr.Remote) + if err != nil { + return err + } + + tr := r.tm.Transport(l.trID) + if tr == nil { + return errors.New("unknown transport") + } + + p := routing.MakePacket(l.routeID, l.noise.Encrypt(packet.Payload)) + r.Logger.Infof("Forwarded App packet from LocalPort %d using route ID %d", packet.Addr.Port, l.routeID) + _, err = tr.Write(p) + return err +} + +func (r *Router) forwardLocalAppPacket(packet *app.Packet) error { + b, err := r.pm.Get(packet.Addr.Remote.Port) + if err != nil { + return nil + } + + p := &app.Packet{ + Addr: &app.LoopAddr{ + Port: packet.Addr.Remote.Port, + Remote: app.Addr{PubKey: packet.Addr.Remote.PubKey, Port: packet.Addr.Port}, + }, + Payload: packet.Payload, + } + return b.conn.Send(app.FrameSend, p, nil) +} + +func (r *Router) requestLoop(appConn *app.Protocol, raddr *app.Addr) (*app.Addr, error) { + r.Logger.Infof("Requesting new loop to %s", raddr) + nConf := noise.Config{ + LocalSK: r.config.SecKey, + LocalPK: r.config.PubKey, + RemotePK: raddr.PubKey, + Initiator: true, + } + ni, err := noise.KKAndSecp256k1(nConf) + if err != nil { + return nil, fmt.Errorf("noise: %s", err) + } + + msg, err := ni.HandshakeMessage() + if err != nil { + return nil, fmt.Errorf("noise handshake: %s", err) + } + + lport := r.pm.Alloc(appConn) + if err := r.pm.SetLoop(lport, raddr, &loop{noise: ni}); err != nil { + return nil, err + } + + laddr := &app.Addr{PubKey: r.config.PubKey, Port: lport} + if raddr.PubKey == r.config.PubKey { + if err := r.confirmLocalLoop(laddr, raddr); err != nil { + return nil, fmt.Errorf("confirm: %s", err) + } + r.Logger.Infof("Created local loop on port %d", laddr.Port) + return laddr, nil + } + + forwardRoute, reverseRoute, err := r.fetchBestRoutes(laddr.PubKey, raddr.PubKey) + if err != nil { + return nil, fmt.Errorf("route finder: %s", err) + } + + l := &routing.Loop{LocalPort: laddr.Port, RemotePort: raddr.Port, + NoiseMessage: msg, ExpireAt: time.Now().Add(routeTTL), + Forward: forwardRoute, Reverse: reverseRoute} + + proto, tr, err := r.setupProto(context.Background()) + if err != nil { + return nil, err + } + defer tr.Close() + + if err := proto.CreateLoop(l); err != nil { + return nil, fmt.Errorf("route setup: %s", err) + } + + r.Logger.Infof("Created new loop to %s on port %d", raddr, laddr.Port) + return laddr, nil +} + +func (r *Router) confirmLocalLoop(laddr, raddr *app.Addr) error { + b, err := r.pm.Get(raddr.Port) + if err != nil { + return err + } + + addrs := [2]*app.Addr{raddr, laddr} + if err = b.conn.Send(app.FrameConfirmLoop, addrs, nil); err != nil { + return err + } + + return nil +} + +func (r *Router) confirmLoop(addr *app.LoopAddr, rule routing.Rule, noiseMsg []byte) ([]byte, error) { + b, err := r.pm.Get(addr.Port) + if err != nil { + return nil, err + } + + ni, msg, err := r.advanceNoiseHandshake(addr, noiseMsg) + if err != nil { + return nil, fmt.Errorf("noise handshake: %s", err) + } + + if err := r.pm.SetLoop(addr.Port, &addr.Remote, &loop{rule.TransportID(), rule.RouteID(), ni}); err != nil { + return nil, err + } + + addrs := [2]*app.Addr{&app.Addr{PubKey: r.config.PubKey, Port: addr.Port}, &addr.Remote} + if err = b.conn.Send(app.FrameConfirmLoop, addrs, nil); err != nil { + r.Logger.Warnf("Failed to notify App about new loop: %s", err) + } + + return msg, nil +} + +func (r *Router) closeLoop(appConn *app.Protocol, addr *app.LoopAddr) error { + if err := r.destroyLoop(addr); err != nil { + r.Logger.Warnf("Failed to remove loop: %s", err) + } + + proto, tr, err := r.setupProto(context.Background()) + if err != nil { + return err + } + defer tr.Close() + + ld := &setup.LoopData{RemotePK: addr.Remote.PubKey, RemotePort: addr.Remote.Port, LocalPort: addr.Port} + if err := proto.CloseLoop(ld); err != nil { + return fmt.Errorf("route setup: %s", err) + } + + r.Logger.Infof("Closed loop %s", addr) + return nil +} + +func (r *Router) loopClosed(addr *app.LoopAddr) error { + b, err := r.pm.Get(addr.Port) + if err != nil { + return nil + } + + if err := r.destroyLoop(addr); err != nil { + r.Logger.Warnf("Failed to remove loop: %s", err) + } + + if err := b.conn.Send(app.FrameClose, addr, nil); err != nil { + return err + } + + r.Logger.Infof("Closed loop %s", addr) + return nil +} + +func (r *Router) destroyLoop(addr *app.LoopAddr) error { + r.mu.Lock() + _, ok := r.staticPorts[addr.Port] + r.mu.Unlock() + + if ok { + r.pm.RemoveLoop(addr.Port, &addr.Remote) // nolint: errcheck + } else { + r.pm.Close(addr.Port) + } + + return r.rm.RemoveLoopRule(addr) +} + +func (r *Router) setupProto(ctx context.Context) (proto *setup.Protocol, tr transport.Transport, err error) { + if len(r.config.SetupNodes) == 0 { + err = errors.New("route setup: no nodes") + return + } + + tr, err = r.tm.CreateTransport(ctx, r.config.SetupNodes[0], "messaging", false) + if err != nil { + err = fmt.Errorf("transport: %s", err) + return + } + + proto = setup.NewProtocol(tr) + return +} + +func (r *Router) fetchBestRoutes(source, destination cipher.PubKey) (routing.Route, routing.Route, error) { + r.Logger.Infof("Requesting new routes from %s to %s", source, destination) + forwardRoutes, reverseRoutes, err := r.config.RouteFinder.PairedRoutes(source, destination, minHops, maxHops) + if err != nil { + return nil, nil, err + } + + r.Logger.Infof("Found routes Forward: %s. Reverse %s", forwardRoutes, reverseRoutes) + return forwardRoutes[0], reverseRoutes[0], nil +} + +func (r *Router) advanceNoiseHandshake(addr *app.LoopAddr, noiseMsg []byte) (ni *noise.Noise, noiseRes []byte, err error) { + var l *loop + l, _ = r.pm.GetLoop(addr.Port, &addr.Remote) // nolint: errcheck + + if l != nil && l.routeID != 0 { + err = errors.New("loop already exist") + return + } + + if l != nil && l.noise != nil { + return l.noise, nil, l.noise.ProcessMessage(noiseMsg) + } + + nConf := noise.Config{ + LocalSK: r.config.SecKey, + LocalPK: r.config.PubKey, + RemotePK: addr.Remote.PubKey, + Initiator: false, + } + ni, err = noise.KKAndSecp256k1(nConf) + if err != nil { + return + } + if err = ni.ProcessMessage(noiseMsg); err != nil { + return + } + noiseRes, err = ni.HandshakeMessage() + return +} + +func (r *Router) isSetupTransport(tr transport.Transport) bool { + for _, pk := range r.config.SetupNodes { + if tr.Remote() == pk { + return true + } + } + + return false +} diff --git a/pkg/router/router_test.go b/pkg/router/router_test.go new file mode 100644 index 000000000..d5e0a5374 --- /dev/null +++ b/pkg/router/router_test.go @@ -0,0 +1,884 @@ +package router + +import ( + "context" + "encoding/json" + "errors" + "net" + "os" + "testing" + "time" + + "github.com/skycoin/skycoin/src/util/logging" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/cipher" + + "github.com/skycoin/skywire/internal/noise" + "github.com/skycoin/skywire/pkg/app" + routeFinder "github.com/skycoin/skywire/pkg/route-finder/client" + "github.com/skycoin/skywire/pkg/routing" + "github.com/skycoin/skywire/pkg/setup" + "github.com/skycoin/skywire/pkg/transport" +) + +func TestMain(m *testing.M) { + lvl, _ := logging.LevelFromString("error") // nolint: errcheck + logging.SetLevel(lvl) + os.Exit(m.Run()) +} + +func TestRouterForwarding(t *testing.T) { + client := transport.NewDiscoveryMock() + logStore := transport.InMemoryTransportLogStore() + + pk1, sk1 := cipher.GenerateKeyPair() + pk2, sk2 := cipher.GenerateKeyPair() + pk3, sk3 := cipher.GenerateKeyPair() + + c1 := &transport.ManagerConfig{PubKey: pk1, SecKey: sk1, DiscoveryClient: client, LogStore: logStore} + c2 := &transport.ManagerConfig{PubKey: pk2, SecKey: sk2, DiscoveryClient: client, LogStore: logStore} + c3 := &transport.ManagerConfig{PubKey: pk3, SecKey: sk3, DiscoveryClient: client, LogStore: logStore} + + f1, f2 := transport.NewMockFactory(pk1, pk2) + f3, f4 := transport.NewMockFactory(pk2, pk3) + f3.SetType("mock2") + f4.SetType("mock2") + + m1, err := transport.NewManager(c1, f1) + require.NoError(t, err) + + m2, err := transport.NewManager(c2, f2, f3) + require.NoError(t, err) + + m3, err := transport.NewManager(c3, f4) + require.NoError(t, err) + + rt := routing.InMemoryRoutingTable() + conf := &Config{ + Logger: logging.MustGetLogger("routesetup"), + PubKey: pk2, + SecKey: sk2, + TransportManager: m2, + RoutingTable: rt, + } + r := New(conf) + errCh := make(chan error) + go func() { + errCh <- r.Serve(context.TODO()) + }() + + tr1, err := m1.CreateTransport(context.TODO(), pk2, "mock", true) + require.NoError(t, err) + + tr3, err := m3.CreateTransport(context.TODO(), pk2, "mock2", true) + require.NoError(t, err) + + rule := routing.ForwardRule(time.Now().Add(time.Hour), 4, tr3.ID) + routeID, err := rt.AddRule(rule) + require.NoError(t, err) + + time.Sleep(100 * time.Millisecond) + + _, err = tr1.Write(routing.MakePacket(routeID, []byte("foo"))) + require.NoError(t, err) + + packet := make(routing.Packet, 9) + _, err = tr3.Read(packet) + require.NoError(t, err) + assert.Equal(t, uint16(3), packet.Size()) + assert.Equal(t, routing.RouteID(4), packet.RouteID()) + assert.Equal(t, []byte("foo"), packet.Payload()) + + require.NoError(t, m1.Close()) + require.NoError(t, m3.Close()) + + time.Sleep(100 * time.Millisecond) + + require.NoError(t, r.Close()) + require.NoError(t, <-errCh) +} + +func TestRouterAppInit(t *testing.T) { + client := transport.NewDiscoveryMock() + logStore := transport.InMemoryTransportLogStore() + + pk1, sk1 := cipher.GenerateKeyPair() + c1 := &transport.ManagerConfig{PubKey: pk1, SecKey: sk1, DiscoveryClient: client, LogStore: logStore} + + m1, err := transport.NewManager(c1) + require.NoError(t, err) + + conf := &Config{ + Logger: logging.MustGetLogger("routesetup"), + PubKey: pk1, + SecKey: sk1, + TransportManager: m1, + } + r := New(conf) + rw, rwIn := net.Pipe() + errCh := make(chan error) + go func() { + errCh <- r.ServeApp(rwIn, 10, &app.Config{AppName: "foo", AppVersion: "0.0.1"}) + }() + + proto := app.NewProtocol(rw) + go proto.Serve(nil) // nolint: errcheck + + require.NoError(t, proto.Send(app.FrameInit, &app.Config{AppName: "foo", AppVersion: "0.0.1", ProtocolVersion: "0.0.1"}, nil)) + require.Error(t, proto.Send(app.FrameInit, &app.Config{AppName: "foo1", AppVersion: "0.0.1", ProtocolVersion: "0.0.1"}, nil)) + + require.NoError(t, proto.Close()) + require.NoError(t, r.Close()) + require.NoError(t, <-errCh) +} + +func TestRouterApp(t *testing.T) { + client := transport.NewDiscoveryMock() + logStore := transport.InMemoryTransportLogStore() + + pk1, sk1 := cipher.GenerateKeyPair() + pk2, sk2 := cipher.GenerateKeyPair() + + c1 := &transport.ManagerConfig{PubKey: pk1, SecKey: sk1, DiscoveryClient: client, LogStore: logStore} + c2 := &transport.ManagerConfig{PubKey: pk2, SecKey: sk2, DiscoveryClient: client, LogStore: logStore} + + f1, f2 := transport.NewMockFactory(pk1, pk2) + m1, err := transport.NewManager(c1, f1) + require.NoError(t, err) + + m2, err := transport.NewManager(c2, f2) + require.NoError(t, err) + + go m2.Serve(context.TODO()) // nolint + + rt := routing.InMemoryRoutingTable() + conf := &Config{ + Logger: logging.MustGetLogger("routesetup"), + PubKey: pk1, + SecKey: sk1, + TransportManager: m1, + RoutingTable: rt, + } + r := New(conf) + errCh := make(chan error) + go func() { + errCh <- r.Serve(context.TODO()) + }() + + rw, rwIn := net.Pipe() + go r.ServeApp(rwIn, 6, &app.Config{}) // nolint: errcheck + proto := app.NewProtocol(rw) + dataCh := make(chan []byte) + go proto.Serve(func(_ app.Frame, p []byte) (interface{}, error) { // nolint: errcheck,unparam + go func() { dataCh <- p }() + return nil, nil + }) + + time.Sleep(100 * time.Millisecond) + + tr, err := m1.CreateTransport(context.TODO(), pk2, "mock", true) + require.NoError(t, err) + + rule := routing.AppRule(time.Now().Add(time.Hour), 4, pk2, 5, 6) + routeID, err := rt.AddRule(rule) + require.NoError(t, err) + + ni1, ni2 := noiseInstances(t, pk1, pk2, sk1, sk2) + raddr := &app.Addr{PubKey: pk2, Port: 5} + require.NoError(t, r.pm.SetLoop(6, raddr, &loop{tr.ID, 4, ni1})) + + tr2 := m2.Transport(tr.ID) + go proto.Send(app.FrameSend, &app.Packet{Addr: &app.LoopAddr{Port: 6, Remote: *raddr}, Payload: []byte("bar")}, nil) // nolint: errcheck + + packet := make(routing.Packet, 25) + _, err = tr2.Read(packet) + require.NoError(t, err) + assert.Equal(t, uint16(19), packet.Size()) + assert.Equal(t, routing.RouteID(4), packet.RouteID()) + decrypted, err := ni2.Decrypt(packet.Payload()) + require.NoError(t, err) + assert.Equal(t, []byte("bar"), decrypted) + + _, err = tr2.Write(routing.MakePacket(routeID, ni2.Encrypt([]byte("foo")))) + require.NoError(t, err) + + time.Sleep(100 * time.Millisecond) + + aPacket := &app.Packet{} + require.NoError(t, json.Unmarshal(<-dataCh, aPacket)) + assert.Equal(t, pk2, aPacket.Addr.Remote.PubKey) + assert.Equal(t, uint16(5), aPacket.Addr.Remote.Port) + assert.Equal(t, uint16(6), aPacket.Addr.Port) + assert.Equal(t, []byte("foo"), aPacket.Payload) + + require.NoError(t, r.Close()) + require.NoError(t, <-errCh) +} + +func TestRouterLocalApp(t *testing.T) { + client := transport.NewDiscoveryMock() + logStore := transport.InMemoryTransportLogStore() + + pk, sk := cipher.GenerateKeyPair() + m, err := transport.NewManager(&transport.ManagerConfig{PubKey: pk, SecKey: sk, DiscoveryClient: client, LogStore: logStore}) + require.NoError(t, err) + + conf := &Config{ + Logger: logging.MustGetLogger("routesetup"), + PubKey: pk, + SecKey: sk, + TransportManager: m, + RoutingTable: routing.InMemoryRoutingTable(), + } + r := New(conf) + errCh := make(chan error) + go func() { + errCh <- r.Serve(context.TODO()) + }() + + rw1, rw1In := net.Pipe() + go r.ServeApp(rw1In, 5, &app.Config{}) // nolint: errcheck + proto1 := app.NewProtocol(rw1) + go proto1.Serve(nil) // nolint: errcheck + + rw2, rw2In := net.Pipe() + go r.ServeApp(rw2In, 6, &app.Config{}) // nolint: errcheck + proto2 := app.NewProtocol(rw2) + dataCh := make(chan []byte) + go proto2.Serve(func(_ app.Frame, p []byte) (interface{}, error) { // nolint: errcheck,unparam + go func() { dataCh <- p }() + return nil, nil + }) + + go proto1.Send(app.FrameSend, &app.Packet{Addr: &app.LoopAddr{Port: 5, Remote: app.Addr{PubKey: pk, Port: 6}}, Payload: []byte("foo")}, nil) // nolint: errcheck + + time.Sleep(100 * time.Millisecond) + + packet := &app.Packet{} + require.NoError(t, json.Unmarshal(<-dataCh, packet)) + require.NoError(t, err) + assert.Equal(t, pk, packet.Addr.Remote.PubKey) + assert.Equal(t, uint16(5), packet.Addr.Remote.Port) + assert.Equal(t, uint16(6), packet.Addr.Port) + assert.Equal(t, []byte("foo"), packet.Payload) + + require.NoError(t, r.Close()) + require.NoError(t, <-errCh) +} + +func TestRouterSetup(t *testing.T) { + client := transport.NewDiscoveryMock() + logStore := transport.InMemoryTransportLogStore() + + pk1, sk1 := cipher.GenerateKeyPair() + pk2, sk2 := cipher.GenerateKeyPair() + + c1 := &transport.ManagerConfig{PubKey: pk1, SecKey: sk1, DiscoveryClient: client, LogStore: logStore} + c2 := &transport.ManagerConfig{PubKey: pk2, SecKey: sk2, DiscoveryClient: client, LogStore: logStore} + + f1, f2 := transport.NewMockFactory(pk1, pk2) + m1, err := transport.NewManager(c1, f1) + require.NoError(t, err) + + m2, err := transport.NewManager(c2, f2) + require.NoError(t, err) + + rt := routing.InMemoryRoutingTable() + conf := &Config{ + Logger: logging.MustGetLogger("routesetup"), + PubKey: pk1, + SecKey: sk1, + TransportManager: m1, + RoutingTable: rt, + SetupNodes: []cipher.PubKey{pk2}, + } + r := New(conf) + errCh := make(chan error) + go func() { + errCh <- r.Serve(context.TODO()) + }() + + tr, err := m2.CreateTransport(context.TODO(), pk1, "mock", false) + require.NoError(t, err) + sProto := setup.NewProtocol(tr) + + rw1, rwIn1 := net.Pipe() + go r.ServeApp(rwIn1, 2, &app.Config{}) // nolint: errcheck + proto1 := app.NewProtocol(rw1) + dataCh := make(chan []byte) + go proto1.Serve(func(_ app.Frame, p []byte) (interface{}, error) { // nolint: errcheck,unparam + go func() { dataCh <- p }() + return nil, nil + }) + + rw2, rwIn2 := net.Pipe() + go r.ServeApp(rwIn2, 4, &app.Config{}) // nolint: errcheck + proto2 := app.NewProtocol(rw2) + go proto2.Serve(func(_ app.Frame, p []byte) (interface{}, error) { // nolint: errcheck,unparam + go func() { dataCh <- p }() + return nil, nil + }) + + var routeID routing.RouteID + t.Run("add route", func(t *testing.T) { + routeID, err = sProto.AddRule(routing.ForwardRule(time.Now().Add(time.Hour), 2, tr.ID)) + require.NoError(t, err) + + rule, err := rt.Rule(routeID) + require.NoError(t, err) + assert.Equal(t, routing.RouteID(2), rule.RouteID()) + assert.Equal(t, tr.ID, rule.TransportID()) + }) + + t.Run("confirm loop - responder", func(t *testing.T) { + confI := noise.Config{ + LocalSK: sk2, + LocalPK: pk2, + RemotePK: pk1, + Initiator: true, + } + + ni, err := noise.KKAndSecp256k1(confI) + require.NoError(t, err) + msg, err := ni.HandshakeMessage() + require.NoError(t, err) + + time.Sleep(100 * time.Millisecond) + + appRouteID, err := sProto.AddRule(routing.AppRule(time.Now().Add(time.Hour), 0, pk2, 1, 2)) + require.NoError(t, err) + + noiseRes, err := sProto.ConfirmLoop(&setup.LoopData{RemotePK: pk2, RemotePort: 1, LocalPort: 2, RouteID: routeID, NoiseMessage: msg}) + require.NoError(t, err) + + rule, err := rt.Rule(appRouteID) + require.NoError(t, err) + assert.Equal(t, routeID, rule.RouteID()) + _, err = r.pm.Get(2) + require.NoError(t, err) + loop, err := r.pm.GetLoop(2, &app.Addr{PubKey: pk2, Port: 1}) + require.NoError(t, err) + require.NotNil(t, loop) + assert.Equal(t, tr.ID, loop.trID) + assert.Equal(t, routing.RouteID(2), loop.routeID) + + addrs := [2]*app.Addr{} + require.NoError(t, json.Unmarshal(<-dataCh, &addrs)) + require.NoError(t, err) + assert.Equal(t, pk1, addrs[0].PubKey) + assert.Equal(t, uint16(2), addrs[0].Port) + assert.Equal(t, pk2, addrs[1].PubKey) + assert.Equal(t, uint16(1), addrs[1].Port) + + require.NoError(t, ni.ProcessMessage(noiseRes)) + }) + + t.Run("confirm loop - initiator", func(t *testing.T) { + confI := noise.Config{ + LocalSK: sk1, + LocalPK: pk1, + RemotePK: pk2, + Initiator: true, + } + + ni, err := noise.KKAndSecp256k1(confI) + require.NoError(t, err) + msg, err := ni.HandshakeMessage() + require.NoError(t, err) + + confR := noise.Config{ + LocalSK: sk2, + LocalPK: pk2, + RemotePK: pk1, + Initiator: false, + } + + nr, err := noise.KKAndSecp256k1(confR) + require.NoError(t, err) + require.NoError(t, nr.ProcessMessage(msg)) + noiseRes, err := nr.HandshakeMessage() + require.NoError(t, err) + + time.Sleep(100 * time.Millisecond) + + require.NoError(t, r.pm.SetLoop(4, &app.Addr{PubKey: pk2, Port: 3}, &loop{noise: ni})) + + appRouteID, err := sProto.AddRule(routing.AppRule(time.Now().Add(time.Hour), 0, pk2, 3, 4)) + require.NoError(t, err) + + _, err = sProto.ConfirmLoop(&setup.LoopData{RemotePK: pk2, RemotePort: 3, LocalPort: 4, RouteID: routeID, NoiseMessage: noiseRes}) + require.NoError(t, err) + + rule, err := rt.Rule(appRouteID) + require.NoError(t, err) + assert.Equal(t, routeID, rule.RouteID()) + l, err := r.pm.GetLoop(2, &app.Addr{PubKey: pk2, Port: 1}) + require.NoError(t, err) + require.NotNil(t, l) + assert.Equal(t, tr.ID, l.trID) + assert.Equal(t, routing.RouteID(2), l.routeID) + + addrs := [2]*app.Addr{} + require.NoError(t, json.Unmarshal(<-dataCh, &addrs)) + require.NoError(t, err) + assert.Equal(t, pk1, addrs[0].PubKey) + assert.Equal(t, uint16(4), addrs[0].Port) + assert.Equal(t, pk2, addrs[1].PubKey) + assert.Equal(t, uint16(3), addrs[1].Port) + }) + + t.Run("loop closed", func(t *testing.T) { + rule, err := rt.Rule(3) + require.NoError(t, err) + require.NotNil(t, rule) + assert.Equal(t, routing.RuleApp, rule.Type()) + + require.NoError(t, sProto.LoopClosed(&setup.LoopData{RemotePK: pk2, RemotePort: 3, LocalPort: 4})) + time.Sleep(100 * time.Millisecond) + + _, err = r.pm.GetLoop(4, &app.Addr{PubKey: pk2, Port: 3}) + require.Error(t, err) + _, err = r.pm.Get(4) + require.NoError(t, err) + + rule, err = rt.Rule(3) + require.NoError(t, err) + require.Nil(t, rule) + }) + + t.Run("delete rule", func(t *testing.T) { + require.NoError(t, sProto.DeleteRule(routeID)) + + rule, err := rt.Rule(routeID) + require.NoError(t, err) + assert.Nil(t, rule) + }) +} + +func TestRouterSetupLoop(t *testing.T) { + client := transport.NewDiscoveryMock() + logStore := transport.InMemoryTransportLogStore() + + pk1, sk1 := cipher.GenerateKeyPair() + pk2, sk2 := cipher.GenerateKeyPair() + + f1, f2 := transport.NewMockFactory(pk1, pk2) + f1.SetType("messaging") + f2.SetType("messaging") + + m1, err := transport.NewManager(&transport.ManagerConfig{PubKey: pk1, SecKey: sk1, DiscoveryClient: client, LogStore: logStore}, f1) + require.NoError(t, err) + + m2, err := transport.NewManager(&transport.ManagerConfig{PubKey: pk2, SecKey: sk2, DiscoveryClient: client, LogStore: logStore}, f2) + require.NoError(t, err) + go m2.Serve(context.TODO()) // nolint: errcheck + + conf := &Config{ + Logger: logging.MustGetLogger("routesetup"), + PubKey: pk1, + SecKey: sk1, + TransportManager: m1, + RoutingTable: routing.InMemoryRoutingTable(), + RouteFinder: routeFinder.NewMock(), + SetupNodes: []cipher.PubKey{pk2}, + } + r := New(conf) + errCh := make(chan error) + go func() { + acceptCh, _ := m2.Observe() + tr := <-acceptCh + + proto := setup.NewProtocol(tr) + p, data, err := proto.ReadPacket() + if err != nil { + errCh <- err + return + } + + if p != setup.PacketCreateLoop { + errCh <- errors.New("unknown command") + return + } + + l := &routing.Loop{} + if err := json.Unmarshal(data, l); err != nil { + errCh <- err + return + } + + if l.LocalPort != 10 || l.RemotePort != 6 { + errCh <- errors.New("invalid payload") + return + } + + errCh <- proto.Respond([]byte{}) + }() + + rw, rwIn := net.Pipe() + go r.ServeApp(rwIn, 5, &app.Config{}) // nolint: errcheck + proto := app.NewProtocol(rw) + go proto.Serve(nil) // nolint: errcheck + + addr := &app.Addr{} + require.NoError(t, proto.Send(app.FrameCreateLoop, &app.Addr{PubKey: pk2, Port: 6}, addr)) + + require.NoError(t, <-errCh) + ll, err := r.pm.GetLoop(10, &app.Addr{PubKey: pk2, Port: 6}) + require.NoError(t, err) + require.NotNil(t, ll) + require.NotNil(t, ll.noise) + + assert.Equal(t, pk1, addr.PubKey) + assert.Equal(t, uint16(10), addr.Port) +} + +func TestRouterSetupLoopLocal(t *testing.T) { + pk, sk := cipher.GenerateKeyPair() + conf := &Config{ + Logger: logging.MustGetLogger("routesetup"), + PubKey: pk, + SecKey: sk, + } + r := New(conf) + + rw, rwIn := net.Pipe() + go r.ServeApp(rwIn, 5, &app.Config{}) // nolint: errcheck + proto := app.NewProtocol(rw) + go proto.Serve(nil) // nolint: errcheck + + addr := &app.Addr{} + require.NoError(t, proto.Send(app.FrameCreateLoop, &app.Addr{PubKey: pk, Port: 5}, addr)) + + ll, err := r.pm.GetLoop(10, &app.Addr{PubKey: pk, Port: 5}) + require.NoError(t, err) + require.NotNil(t, ll) + + assert.Equal(t, pk, addr.PubKey) + assert.Equal(t, uint16(10), addr.Port) +} + +func TestRouterCloseLoop(t *testing.T) { + client := transport.NewDiscoveryMock() + logStore := transport.InMemoryTransportLogStore() + + pk1, sk1 := cipher.GenerateKeyPair() + pk2, sk2 := cipher.GenerateKeyPair() + pk3, _ := cipher.GenerateKeyPair() + + f1, f2 := transport.NewMockFactory(pk1, pk2) + f1.SetType("messaging") + + m1, err := transport.NewManager(&transport.ManagerConfig{PubKey: pk1, SecKey: sk1, DiscoveryClient: client, LogStore: logStore}, f1) + require.NoError(t, err) + + m2, err := transport.NewManager(&transport.ManagerConfig{PubKey: pk2, SecKey: sk2, DiscoveryClient: client, LogStore: logStore}, f2) + require.NoError(t, err) + go m2.Serve(context.TODO()) // nolint: errcheck + + rt := routing.InMemoryRoutingTable() + rule := routing.AppRule(time.Now().Add(time.Hour), 4, pk3, 6, 5) + routeID, err := rt.AddRule(rule) + require.NoError(t, err) + + conf := &Config{ + Logger: logging.MustGetLogger("routesetup"), + PubKey: pk1, + SecKey: sk1, + TransportManager: m1, + RoutingTable: rt, + SetupNodes: []cipher.PubKey{pk2}, + } + r := New(conf) + errCh := make(chan error) + go func() { + acceptCh, _ := m2.Observe() + tr := <-acceptCh + + proto := setup.NewProtocol(tr) + p, data, err := proto.ReadPacket() + if err != nil { + errCh <- err + return + } + + if p != setup.PacketCloseLoop { + errCh <- errors.New("unknown command") + return + } + + ld := &setup.LoopData{} + if err := json.Unmarshal(data, ld); err != nil { + errCh <- err + return + } + + if ld.LocalPort != 5 || ld.RemotePort != 6 || ld.RemotePK != pk3 { + errCh <- errors.New("invalid payload") + return + } + + errCh <- proto.Respond([]byte{}) + }() + + rw, rwIn := net.Pipe() + go r.ServeApp(rwIn, 5, &app.Config{}) // nolint: errcheck + proto := app.NewProtocol(rw) + go proto.Serve(nil) // nolint: errcheck + + time.Sleep(100 * time.Millisecond) + + raddr := &app.Addr{PubKey: pk3, Port: 6} + require.NoError(t, r.pm.SetLoop(5, raddr, &loop{})) + + require.NoError(t, proto.Send(app.FrameClose, &app.LoopAddr{Port: 5, Remote: *raddr}, nil)) + + time.Sleep(100 * time.Millisecond) + + require.NoError(t, <-errCh) + _, err = r.pm.GetLoop(5, &app.Addr{PubKey: pk3, Port: 6}) + require.Error(t, err) + _, err = r.pm.Get(5) + require.NoError(t, err) + + rule, err = rt.Rule(routeID) + require.NoError(t, err) + require.Nil(t, rule) +} + +func TestRouterCloseLoopOnAppClose(t *testing.T) { + client := transport.NewDiscoveryMock() + logStore := transport.InMemoryTransportLogStore() + + pk1, sk1 := cipher.GenerateKeyPair() + pk2, sk2 := cipher.GenerateKeyPair() + pk3, _ := cipher.GenerateKeyPair() + + f1, f2 := transport.NewMockFactory(pk1, pk2) + f1.SetType("messaging") + + m1, err := transport.NewManager(&transport.ManagerConfig{PubKey: pk1, SecKey: sk1, DiscoveryClient: client, LogStore: logStore}, f1) + require.NoError(t, err) + + m2, err := transport.NewManager(&transport.ManagerConfig{PubKey: pk2, SecKey: sk2, DiscoveryClient: client, LogStore: logStore}, f2) + require.NoError(t, err) + go m2.Serve(context.TODO()) // nolint: errcheck + + rt := routing.InMemoryRoutingTable() + rule := routing.AppRule(time.Now().Add(time.Hour), 4, pk3, 6, 5) + routeID, err := rt.AddRule(rule) + require.NoError(t, err) + + conf := &Config{ + Logger: logging.MustGetLogger("routesetup"), + PubKey: pk1, + SecKey: sk1, + TransportManager: m1, + RoutingTable: rt, + SetupNodes: []cipher.PubKey{pk2}, + } + r := New(conf) + errCh := make(chan error) + go func() { + acceptCh, _ := m2.Observe() + tr := <-acceptCh + + proto := setup.NewProtocol(tr) + p, data, err := proto.ReadPacket() + if err != nil { + errCh <- err + return + } + + if p != setup.PacketCloseLoop { + errCh <- errors.New("unknown command") + return + } + + ld := &setup.LoopData{} + if err := json.Unmarshal(data, ld); err != nil { + errCh <- err + return + } + + if ld.LocalPort != 5 || ld.RemotePort != 6 || ld.RemotePK != pk3 { + errCh <- errors.New("invalid payload") + return + } + + errCh <- proto.Respond([]byte{}) + }() + + rw, rwIn := net.Pipe() + go r.ServeApp(rwIn, 5, &app.Config{}) // nolint: errcheck + proto := app.NewProtocol(rw) + go proto.Serve(nil) // nolint: errcheck + + time.Sleep(100 * time.Millisecond) + + raddr := &app.Addr{PubKey: pk3, Port: 6} + require.NoError(t, r.pm.SetLoop(5, raddr, &loop{})) + + require.NoError(t, rw.Close()) + + time.Sleep(100 * time.Millisecond) + + require.NoError(t, <-errCh) + _, err = r.pm.Get(5) + require.Error(t, err) + + rule, err = rt.Rule(routeID) + require.NoError(t, err) + require.Nil(t, rule) +} + +func TestRouterCloseLoopOnRouterClose(t *testing.T) { + client := transport.NewDiscoveryMock() + logStore := transport.InMemoryTransportLogStore() + + pk1, sk1 := cipher.GenerateKeyPair() + pk2, sk2 := cipher.GenerateKeyPair() + pk3, _ := cipher.GenerateKeyPair() + + f1, f2 := transport.NewMockFactory(pk1, pk2) + f1.SetType("messaging") + + m1, err := transport.NewManager(&transport.ManagerConfig{PubKey: pk1, SecKey: sk1, DiscoveryClient: client, LogStore: logStore}, f1) + require.NoError(t, err) + + m2, err := transport.NewManager(&transport.ManagerConfig{PubKey: pk2, SecKey: sk2, DiscoveryClient: client, LogStore: logStore}, f2) + require.NoError(t, err) + go m2.Serve(context.TODO()) // nolint: errcheck + + rt := routing.InMemoryRoutingTable() + rule := routing.AppRule(time.Now().Add(time.Hour), 4, pk3, 6, 5) + routeID, err := rt.AddRule(rule) + require.NoError(t, err) + + conf := &Config{ + Logger: logging.MustGetLogger("routesetup"), + PubKey: pk1, + SecKey: sk1, + TransportManager: m1, + RoutingTable: rt, + SetupNodes: []cipher.PubKey{pk2}, + } + r := New(conf) + errCh := make(chan error) + go func() { + acceptCh, _ := m2.Observe() + tr := <-acceptCh + + proto := setup.NewProtocol(tr) + p, data, err := proto.ReadPacket() + if err != nil { + errCh <- err + return + } + + if p != setup.PacketCloseLoop { + errCh <- errors.New("unknown command") + return + } + + ld := &setup.LoopData{} + if err := json.Unmarshal(data, ld); err != nil { + errCh <- err + return + } + + if ld.LocalPort != 5 || ld.RemotePort != 6 || ld.RemotePK != pk3 { + errCh <- errors.New("invalid payload") + return + } + + errCh <- proto.Respond([]byte{}) + }() + + rw, rwIn := net.Pipe() + go r.ServeApp(rwIn, 5, &app.Config{}) // nolint: errcheck + proto := app.NewProtocol(rw) + go proto.Serve(nil) // nolint: errcheck + + time.Sleep(100 * time.Millisecond) + + raddr := &app.Addr{PubKey: pk3, Port: 6} + require.NoError(t, r.pm.SetLoop(5, raddr, &loop{})) + + require.NoError(t, r.Close()) + + time.Sleep(100 * time.Millisecond) + + require.NoError(t, <-errCh) + _, err = r.pm.Get(5) + require.Error(t, err) + + rule, err = rt.Rule(routeID) + require.NoError(t, err) + require.Nil(t, rule) +} + +func TestRouterRouteExpiration(t *testing.T) { + client := transport.NewDiscoveryMock() + logStore := transport.InMemoryTransportLogStore() + + pk, sk := cipher.GenerateKeyPair() + m, err := transport.NewManager(&transport.ManagerConfig{PubKey: pk, SecKey: sk, DiscoveryClient: client, LogStore: logStore}) + require.NoError(t, err) + + rt := routing.InMemoryRoutingTable() + _, err = rt.AddRule(routing.AppRule(time.Now().Add(-time.Hour), 4, pk, 6, 5)) + require.NoError(t, err) + assert.Equal(t, 1, rt.Count()) + + conf := &Config{ + Logger: logging.MustGetLogger("routesetup"), + PubKey: pk, + SecKey: sk, + TransportManager: m, + RoutingTable: rt, + } + r := New(conf) + r.expiryTicker = time.NewTicker(100 * time.Millisecond) + go r.Serve(context.TODO()) // nolint + + time.Sleep(110 * time.Millisecond) + + assert.Equal(t, 0, rt.Count()) + require.NoError(t, r.Close()) +} + +func noiseInstances(t *testing.T, pkI, pkR cipher.PubKey, skI, skR cipher.SecKey) (ni, nr *noise.Noise) { + t.Helper() + + var err error + confI := noise.Config{ + LocalSK: skI, + LocalPK: pkI, + RemotePK: pkR, + Initiator: true, + } + + confR := noise.Config{ + LocalSK: skR, + LocalPK: pkR, + RemotePK: pkI, + Initiator: false, + } + + ni, err = noise.KKAndSecp256k1(confI) + require.NoError(t, err) + + nr, err = noise.KKAndSecp256k1(confR) + require.NoError(t, err) + + msg, err := ni.HandshakeMessage() + require.NoError(t, err) + require.NoError(t, nr.ProcessMessage(msg)) + + res, err := nr.HandshakeMessage() + require.NoError(t, err) + require.NoError(t, ni.ProcessMessage(res)) + return ni, nr +} diff --git a/pkg/routing/boltdb_routing_table.go b/pkg/routing/boltdb_routing_table.go new file mode 100644 index 000000000..0c045fdfc --- /dev/null +++ b/pkg/routing/boltdb_routing_table.go @@ -0,0 +1,152 @@ +package routing + +import ( + "encoding/binary" + "errors" + "fmt" + "math" + + bolt "go.etcd.io/bbolt" +) + +var boltDBBucket = []byte("routing") + +// BoltDBRoutingTable implements RoutingTable on top of BoltDB. +type boltDBRoutingTable struct { + db *bolt.DB +} + +// BoltDBRoutingTable consturcts a new BoldDBRoutingTable. +func BoltDBRoutingTable(path string) (Table, error) { + db, err := bolt.Open(path, 0600, nil) + if err != nil { + return nil, err + } + + err = db.Update(func(tx *bolt.Tx) error { + if _, err := tx.CreateBucketIfNotExists(boltDBBucket); err != nil { + return fmt.Errorf("failed to create bucket: %s", err) + } + + return nil + }) + if err != nil { + return nil, err + } + + return &boltDBRoutingTable{db}, nil +} + +// AddRule adds routing rule to the table and returns assigned Route ID. +func (rt *boltDBRoutingTable) AddRule(rule Rule) (routeID RouteID, err error) { + err = rt.db.Update(func(tx *bolt.Tx) error { + b := tx.Bucket(boltDBBucket) + nextID, _ := b.NextSequence() // nolint + + if nextID > math.MaxUint32 { + return errors.New("no available routeIDs") + } + + routeID = RouteID(nextID) + return b.Put(binaryID(routeID), []byte(rule)) + }) + + return routeID, err +} + +// SetRule sets RoutingRule for a given RouteID. +func (rt *boltDBRoutingTable) SetRule(routeID RouteID, rule Rule) error { + return rt.db.Update(func(tx *bolt.Tx) error { + b := tx.Bucket(boltDBBucket) + + return b.Put(binaryID(routeID), []byte(rule)) + }) +} + +// Rule returns RoutingRule with a given RouteID. +func (rt *boltDBRoutingTable) Rule(routeID RouteID) (Rule, error) { + var rule Rule + err := rt.db.View(func(tx *bolt.Tx) error { // nolint: unparam + b := tx.Bucket(boltDBBucket) + rule = b.Get(binaryID(routeID)) + return nil + }) + + return rule, err +} + +// RangeRules iterates over all rules and yields values to the rangeFunc until `next` is false. +func (rt *boltDBRoutingTable) RangeRules(rangeFunc RangeFunc) error { + return rt.db.View(func(tx *bolt.Tx) error { // nolint: unparam + b := tx.Bucket(boltDBBucket) + b.ForEach(func(k, v []byte) error { // nolint + if !rangeFunc(RouteID(binary.BigEndian.Uint32(k)), v) { + return errors.New("iterator stopped") + } + + return nil + }) + return nil + }) +} + +// Rules returns RoutingRules for a given RouteIDs. +func (rt *boltDBRoutingTable) Rules(routeIDs ...RouteID) (rules []Rule, err error) { + rules = []Rule{} + err = rt.db.View(func(tx *bolt.Tx) error { // nolint: unparam + b := tx.Bucket(boltDBBucket) + + for _, routeID := range routeIDs { + rule := b.Get(binaryID(routeID)) + if rule != nil { + rules = append(rules, rule) + } + } + return nil + }) + + return rules, err +} + +// DeleteRules removes RoutingRules with a given a RouteIDs. +func (rt *boltDBRoutingTable) DeleteRules(routeIDs ...RouteID) error { + return rt.db.Update(func(tx *bolt.Tx) error { + b := tx.Bucket(boltDBBucket) + + var dErr error + for _, routeID := range routeIDs { + if err := b.Delete(binaryID(routeID)); err != nil { + dErr = err + } + } + + return dErr + }) +} + +// Count returns the number of routing rules stored. +func (rt *boltDBRoutingTable) Count() (count int) { + err := rt.db.View(func(tx *bolt.Tx) error { // nolint: unparam + b := tx.Bucket(boltDBBucket) + + stats := b.Stats() + count = int(stats.KeyN) + return nil + }) + if err != nil { + return 0 + } + + return count +} + +// Close closes underlying BoltDB instance. +func (rt *boltDBRoutingTable) Close() error { + return rt.db.Close() +} + +func binaryID(v RouteID) []byte { + b := make([]byte, 4) + binary.BigEndian.PutUint32(b, uint32(v)) + return b +} diff --git a/pkg/routing/boltdb_routing_table_test.go b/pkg/routing/boltdb_routing_table_test.go new file mode 100644 index 000000000..554ab899a --- /dev/null +++ b/pkg/routing/boltdb_routing_table_test.go @@ -0,0 +1,25 @@ +package routing + +import ( + "io/ioutil" + "log" + "os" + "testing" + + "github.com/stretchr/testify/require" +) + +func TestBoltDBRoutingTable(t *testing.T) { + dbfile, err := ioutil.TempFile("", "routes.db") + require.NoError(t, err) + if err != nil { + log.Fatal(err) + } + + defer os.Remove(dbfile.Name()) + + tbl, err := BoltDBRoutingTable(dbfile.Name()) + require.NoError(t, err) + + RoutingTableSuite(t, tbl) +} diff --git a/pkg/routing/loop.go b/pkg/routing/loop.go new file mode 100644 index 000000000..f5e9f7dde --- /dev/null +++ b/pkg/routing/loop.go @@ -0,0 +1,41 @@ +package routing + +import ( + "fmt" + "time" + + "github.com/skycoin/skywire/pkg/cipher" +) + +// Loop defines a loop over a pair of routes. +type Loop struct { + LocalPort uint16 + RemotePort uint16 + Forward Route + Reverse Route + ExpireAt time.Time + NoiseMessage []byte +} + +// Initiator returns initiator of the Loop. +func (l *Loop) Initiator() cipher.PubKey { + if len(l.Forward) == 0 { + panic("empty forward route") + } + + return l.Forward[0].From +} + +// Responder returns responder of the Loop. +func (l *Loop) Responder() cipher.PubKey { + if len(l.Reverse) == 0 { + panic("empty reverse route") + } + + return l.Reverse[0].From +} + +func (l *Loop) String() string { + return fmt.Sprintf("lport: %d. rport: %d. routes: %s/%s. expire at %s", + l.LocalPort, l.RemotePort, l.Forward, l.Reverse, l.ExpireAt) +} diff --git a/pkg/routing/packet.go b/pkg/routing/packet.go new file mode 100644 index 000000000..c152a4c9d --- /dev/null +++ b/pkg/routing/packet.go @@ -0,0 +1,40 @@ +package routing + +import ( + "encoding/binary" + "math" +) + +// RouteID represents ID of a Route in a Packet. +type RouteID uint32 + +// Packet defines generic packet recognized by all skywire nodes. +type Packet []byte + +// MakePacket constructs a new Packet. If payload size is more than +// uint16, PutUvarint will panic. +func MakePacket(id RouteID, payload []byte) Packet { + if len(payload) > math.MaxUint16 { + panic("packet size exceeded") + } + + packet := make([]byte, 6) + binary.BigEndian.PutUint16(packet, uint16(len(payload))) + binary.BigEndian.PutUint32(packet[2:], uint32(id)) + return Packet(append(packet, payload...)) +} + +// Size returns Packet's payload size. +func (p Packet) Size() uint16 { + return binary.BigEndian.Uint16(p) +} + +// RouteID returns RouteID from a Packet. +func (p Packet) RouteID() RouteID { + return RouteID(binary.BigEndian.Uint32(p[2:])) +} + +// Payload returns payload from a Packet. +func (p Packet) Payload() []byte { + return p[6:] +} diff --git a/pkg/routing/packet_test.go b/pkg/routing/packet_test.go new file mode 100644 index 000000000..2558da29c --- /dev/null +++ b/pkg/routing/packet_test.go @@ -0,0 +1,20 @@ +package routing + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestMakePacket(t *testing.T) { + packet := MakePacket(2, []byte("foo")) + assert.Equal( + t, + []byte{0x0, 0x3, 0x0, 0x0, 0x0, 0x2, 0x66, 0x6f, 0x6f}, + []byte(packet), + ) + + assert.Equal(t, uint16(3), packet.Size()) + assert.Equal(t, RouteID(2), packet.RouteID()) + assert.Equal(t, []byte("foo"), packet.Payload()) +} diff --git a/pkg/routing/route.go b/pkg/routing/route.go new file mode 100644 index 000000000..7ba480210 --- /dev/null +++ b/pkg/routing/route.go @@ -0,0 +1,34 @@ +// Package routing defines routing related entities and management +// operations. +package routing + +import ( + "fmt" + + "github.com/google/uuid" + + "github.com/skycoin/skywire/pkg/cipher" +) + +// Hop defines a route hop between 2 nodes. +type Hop struct { + From cipher.PubKey + To cipher.PubKey + Transport uuid.UUID +} + +func (h Hop) String() string { + return fmt.Sprintf("%s -> %s @ %s", h.From, h.To, h.Transport) +} + +// Route is a succession of transport entries that denotes a path from source node to destination node +type Route []*Hop + +func (r Route) String() string { + res := "\n" + for _, hop := range r { + res += fmt.Sprintf("\t%s\n", hop) + } + + return res +} diff --git a/pkg/routing/routing_table.go b/pkg/routing/routing_table.go new file mode 100644 index 000000000..b63e3f110 --- /dev/null +++ b/pkg/routing/routing_table.go @@ -0,0 +1,112 @@ +package routing + +import ( + "errors" + "math" + "sync" + "sync/atomic" +) + +// RangeFunc is used by RangeRules to iterate over rules. +type RangeFunc func(routeID RouteID, rule Rule) (next bool) + +// Table represents a routing table implementation. +type Table interface { + // AddRule adds a new RoutingRules to the table and returns assigned RouteID. + AddRule(rule Rule) (routeID RouteID, err error) + + // SetRule sets RoutingRule for a given RouteID. + SetRule(routeID RouteID, rule Rule) error + + // Rule returns RoutingRule with a given RouteID. + Rule(routeID RouteID) (Rule, error) + + // DeleteRules removes RoutingRules with a given a RouteIDs. + DeleteRules(routeIDs ...RouteID) error + + // RangeRules iterates over all rules and yields values to the rangeFunc until `next` is false. + RangeRules(rangeFunc RangeFunc) error + + // Count returns the number of RoutingRule entries stored. + Count() int + + // Close safely closes routing table. + Close() error +} + +type inMemoryRoutingTable struct { + sync.RWMutex + + nextID uint32 + rules map[RouteID]Rule +} + +// InMemoryRoutingTable return in-memory RoutingTable implementation. +func InMemoryRoutingTable() Table { + return &inMemoryRoutingTable{ + rules: map[RouteID]Rule{}, + } +} + +func (rt *inMemoryRoutingTable) AddRule(rule Rule) (routeID RouteID, err error) { + if routeID == math.MaxUint32 { + return 0, errors.New("no available routeIDs") + } + + routeID = RouteID(atomic.AddUint32(&rt.nextID, 1)) + + rt.Lock() + rt.rules[routeID] = rule + rt.Unlock() + + return routeID, nil +} + +func (rt *inMemoryRoutingTable) SetRule(routeID RouteID, rule Rule) error { + rt.Lock() + rt.rules[routeID] = rule + rt.Unlock() + + return nil +} + +func (rt *inMemoryRoutingTable) Rule(routeID RouteID) (Rule, error) { + rt.RLock() + rule := rt.rules[routeID] + rt.RUnlock() + + return rule, nil +} + +func (rt *inMemoryRoutingTable) RangeRules(rangeFunc RangeFunc) error { + rt.RLock() + for routeID, rule := range rt.rules { + if !rangeFunc(routeID, rule) { + break + } + } + rt.RUnlock() + + return nil +} + +func (rt *inMemoryRoutingTable) DeleteRules(routeIDs ...RouteID) error { + rt.Lock() + for _, routeID := range routeIDs { + delete(rt.rules, routeID) + } + rt.Unlock() + + return nil +} + +func (rt *inMemoryRoutingTable) Count() int { + rt.RLock() + count := len(rt.rules) + rt.RUnlock() + return count +} + +func (rt *inMemoryRoutingTable) Close() error { + return nil +} diff --git a/pkg/routing/routing_table_test.go b/pkg/routing/routing_table_test.go new file mode 100644 index 000000000..396ffa6c2 --- /dev/null +++ b/pkg/routing/routing_table_test.go @@ -0,0 +1,50 @@ +package routing + +import ( + "testing" + "time" + + "github.com/google/uuid" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func RoutingTableSuite(t *testing.T, tbl Table) { + t.Helper() + + rule := ForwardRule(time.Now(), 2, uuid.New()) + id, err := tbl.AddRule(rule) + require.NoError(t, err) + + assert.Equal(t, 1, tbl.Count()) + + r, err := tbl.Rule(id) + require.NoError(t, err) + assert.Equal(t, rule, r) + + rule2 := ForwardRule(time.Now(), 3, uuid.New()) + id2, err := tbl.AddRule(rule2) + require.NoError(t, err) + + assert.Equal(t, 2, tbl.Count()) + + require.NoError(t, tbl.SetRule(id2, rule)) + r, err = tbl.Rule(id2) + require.NoError(t, err) + assert.Equal(t, rule, r) + + ids := []RouteID{} + err = tbl.RangeRules(func(routeID RouteID, _ Rule) bool { + ids = append(ids, routeID) + return true + }) + require.NoError(t, err) + require.ElementsMatch(t, []RouteID{id, id2}, ids) + + require.NoError(t, tbl.DeleteRules(id, id2)) + assert.Equal(t, 0, tbl.Count()) +} + +func TestRoutingTable(t *testing.T) { + RoutingTableSuite(t, InMemoryRoutingTable()) +} diff --git a/pkg/routing/rule.go b/pkg/routing/rule.go new file mode 100644 index 000000000..47efee7eb --- /dev/null +++ b/pkg/routing/rule.go @@ -0,0 +1,193 @@ +package routing + +import ( + "encoding/binary" + "errors" + "fmt" + "time" + + "github.com/google/uuid" + + "github.com/skycoin/skywire/pkg/cipher" +) + +// RuleType defines type of a routing rule +type RuleType byte + +func (rt RuleType) String() string { + switch rt { + case RuleApp: + return "App" + case RuleForward: + return "Forward" + } + + return fmt.Sprintf("Unknown(%d)", rt) +} + +const ( + // RuleApp defines App routing rule type. + RuleApp RuleType = iota + // RuleForward defines Forward routing rule type. + RuleForward +) + +// Rule represents a rule in a RoutingTable. +type Rule []byte + +// ExpireAt returns rule's expiration time. +func (r Rule) ExpireAt() time.Time { + ts := binary.BigEndian.Uint64(r) + return time.Unix(int64(ts), 0) +} + +// Type returns type of a rule. +func (r Rule) Type() RuleType { + return RuleType(r[8]) +} + +// RouteID returns RouteID from the rule: reverse ID for an app rule +// and next ID for a forward rule. +func (r Rule) RouteID() RouteID { + return RouteID(binary.BigEndian.Uint32(r[9:])) +} + +// SetRouteID sets RouteID for the rule: reverse ID for an app rule +// and next ID for a forward rule. +func (r Rule) SetRouteID(routeID RouteID) { + binary.BigEndian.PutUint32(r[9:], uint32(routeID)) +} + +// TransportID returns next transport ID for a forward rule. +func (r Rule) TransportID() uuid.UUID { + if r.Type() != RuleForward { + panic("invalid rule") + } + return uuid.Must(uuid.FromBytes(r[13:])) +} + +// RemotePK returns remove PK for an app rule. +func (r Rule) RemotePK() cipher.PubKey { + if r.Type() != RuleApp { + panic("invalid rule") + } + + pk := cipher.PubKey{} + pk.UnmarshalBinary(r[13:46]) // nolint: errcheck + return pk +} + +// RemotePort returns remote Port for an app rule. +func (r Rule) RemotePort() uint16 { + if r.Type() != RuleApp { + panic("invalid rule") + } + return binary.BigEndian.Uint16(r[46:]) +} + +// LocalPort returns local Port for an app rule. +func (r Rule) LocalPort() uint16 { + if r.Type() != RuleApp { + panic("invalid rule") + } + return binary.BigEndian.Uint16(r[48:]) +} + +func (r Rule) String() string { + if r.Type() == RuleApp { + return fmt.Sprintf("App: ", + r.RouteID(), r.RemotePK(), r.RemotePort(), r.LocalPort()) + } + + return fmt.Sprintf("Forward: ", r.RouteID(), r.TransportID()) +} + +// RuleAppFields summarizes App fields of a RoutingRule. +type RuleAppFields struct { + RespRID RouteID `json:"resp_rid"` + RemotePK cipher.PubKey `json:"remote_pk"` + RemotePort uint16 `json:"remote_port"` + LocalPort uint16 `json:"local_port"` +} + +// RuleForwardFields summarizes Forward fields of a RoutingRule. +type RuleForwardFields struct { + NextRID RouteID `json:"next_rid"` + NextTID uuid.UUID `json:"next_tid"` +} + +// RuleSummary provides a summary of a RoutingRule. +type RuleSummary struct { + ExpireAt time.Time `json:"expire_at"` + Type RuleType `json:"rule_type"` + AppFields *RuleAppFields `json:"app_fields,omitempty"` + ForwardFields *RuleForwardFields `json:"forward_fields,omitempty"` +} + +// ToRule converts RoutingRuleSummary to RoutingRule. +func (rs *RuleSummary) ToRule() (Rule, error) { + if rs.Type == RuleApp && rs.AppFields != nil && rs.ForwardFields == nil { + f := rs.AppFields + return AppRule(rs.ExpireAt, f.RespRID, f.RemotePK, f.RemotePort, f.LocalPort), nil + } + if rs.Type == RuleForward && rs.AppFields == nil && rs.ForwardFields != nil { + f := rs.ForwardFields + return ForwardRule(rs.ExpireAt, f.NextRID, f.NextTID), nil + } + return nil, errors.New("invalid routing rule summary") +} + +// Summary returns the RoutingRule's summary. +func (r Rule) Summary() *RuleSummary { + summary := RuleSummary{ + ExpireAt: r.ExpireAt(), + Type: r.Type(), + } + if summary.Type == RuleApp { + summary.AppFields = &RuleAppFields{ + RespRID: r.RouteID(), + RemotePK: r.RemotePK(), + RemotePort: r.RemotePort(), + LocalPort: r.LocalPort(), + } + } else { + summary.ForwardFields = &RuleForwardFields{ + NextRID: r.RouteID(), + NextTID: r.TransportID(), + } + } + return &summary +} + +// AppRule constructs a new consume RoutingRule. +func AppRule(expireAt time.Time, respRoute RouteID, remotePK cipher.PubKey, remotePort, localPort uint16) Rule { + rule := make([]byte, 13) + if expireAt.Unix() <= time.Now().Unix() { + binary.BigEndian.PutUint64(rule[0:], 0) + } else { + binary.BigEndian.PutUint64(rule[0:], uint64(expireAt.Unix())) + } + + rule[8] = byte(RuleApp) + binary.BigEndian.PutUint32(rule[9:], uint32(respRoute)) + rule = append(rule, remotePK[:]...) + rule = append(rule, 0, 0, 0, 0) + binary.BigEndian.PutUint16(rule[46:], remotePort) + binary.BigEndian.PutUint16(rule[48:], localPort) + return Rule(rule) +} + +// ForwardRule constructs a new forward RoutingRule. +func ForwardRule(expireAt time.Time, nextRoute RouteID, nextTrID uuid.UUID) Rule { + rule := make([]byte, 13) + if expireAt.Unix() <= time.Now().Unix() { + binary.BigEndian.PutUint64(rule[0:], 0) + } else { + binary.BigEndian.PutUint64(rule[0:], uint64(expireAt.Unix())) + } + + rule[8] = byte(RuleForward) + binary.BigEndian.PutUint32(rule[9:], uint32(nextRoute)) + rule = append(rule, nextTrID[:]...) + return Rule(rule) +} diff --git a/pkg/routing/rule_test.go b/pkg/routing/rule_test.go new file mode 100644 index 000000000..4b1036d0e --- /dev/null +++ b/pkg/routing/rule_test.go @@ -0,0 +1,41 @@ +package routing + +import ( + "testing" + "time" + + "github.com/google/uuid" + "github.com/stretchr/testify/assert" + + "github.com/skycoin/skywire/pkg/cipher" +) + +func TestAppRule(t *testing.T) { + expireAt := time.Now().Add(2 * time.Minute) + pk, _ := cipher.GenerateKeyPair() + rule := AppRule(expireAt, 2, pk, 3, 4) + + assert.Equal(t, expireAt.Unix(), rule.ExpireAt().Unix()) + assert.Equal(t, RuleApp, rule.Type()) + assert.Equal(t, RouteID(2), rule.RouteID()) + assert.Equal(t, pk, rule.RemotePK()) + assert.Equal(t, uint16(3), rule.RemotePort()) + assert.Equal(t, uint16(4), rule.LocalPort()) + + rule.SetRouteID(3) + assert.Equal(t, RouteID(3), rule.RouteID()) +} + +func TestForwardRule(t *testing.T) { + trID := uuid.New() + expireAt := time.Now().Add(2 * time.Minute) + rule := ForwardRule(expireAt, 2, trID) + + assert.Equal(t, expireAt.Unix(), rule.ExpireAt().Unix()) + assert.Equal(t, RuleForward, rule.Type()) + assert.Equal(t, RouteID(2), rule.RouteID()) + assert.Equal(t, trID, rule.TransportID()) + + rule.SetRouteID(3) + assert.Equal(t, RouteID(3), rule.RouteID()) +} diff --git a/pkg/setup/protocol.go b/pkg/setup/protocol.go new file mode 100644 index 000000000..b3eeeabe1 --- /dev/null +++ b/pkg/setup/protocol.go @@ -0,0 +1,240 @@ +// Package setup defines setup node protocol. +package setup + +import ( + "encoding/binary" + "encoding/json" + "errors" + "fmt" + "io" + + "github.com/skycoin/skywire/pkg/cipher" + "github.com/skycoin/skywire/pkg/routing" +) + +// Packet defines type of a setup packet +type Packet byte + +func (sp Packet) String() string { + switch sp { + case PacketAddRules: + return "AddRules" + case PacketDeleteRules: + return "DeleteRules" + case PacketCreateLoop: + return "CreateLoop" + case PacketConfirmLoop: + return "ConfirmLoop" + case PacketCloseLoop: + return "CloseLoop" + case PacketLoopClosed: + return "LoopClosed" + } + + return fmt.Sprintf("Unknown(%d)", sp) +} + +const ( + // PacketAddRules represents AddRules foundation packet. + PacketAddRules Packet = iota + // PacketDeleteRules represents DeleteRules foundation packet. + PacketDeleteRules + // PacketCreateLoop represents CreateLoop foundation packet. + PacketCreateLoop + // PacketConfirmLoop represents ConfirmLoop foundation packet. + PacketConfirmLoop + // PacketCloseLoop represents CloseLoop foundation packet. + PacketCloseLoop + // PacketLoopClosed represents LoopClosed foundation packet. + PacketLoopClosed + + // ResponseFailure represents failure response for a foundation packet. + ResponseFailure = 0xfe + // ResponseSuccess represents successful response for a foundation packet. + ResponseSuccess = 0xff +) + +// LoopData stores loop confirmation request data. +type LoopData struct { + RemotePK cipher.PubKey `json:"remote-pk"` + RemotePort uint16 `json:"remote-port"` + LocalPort uint16 `json:"local-port"` + RouteID routing.RouteID `json:"resp-rid,omitempty"` + NoiseMessage []byte `json:"noise-msg,omitempty"` +} + +// Protocol defines routes setup protocol. +type Protocol struct { + rw io.ReadWriter +} + +// NewProtocol constructs a new Protocol. +func NewProtocol(rw io.ReadWriter) *Protocol { + return &Protocol{rw} +} + +// ReadPacket reads a single setup packet. +func (p *Protocol) ReadPacket() (Packet, []byte, error) { + frame, err := p.readFrame() + if err != nil { + return 0, nil, err + } + + return Packet(frame[0]), frame[1:], nil +} + +// Respond sends response to the remote node. +func (p *Protocol) Respond(res interface{}) error { + if err, ok := res.(error); ok { + return p.sendCMD(ResponseFailure, err) + } + + return p.sendCMD(ResponseSuccess, res) +} + +// AddRule sends AddRule setup request. +func (p *Protocol) AddRule(rule routing.Rule) (routeID routing.RouteID, err error) { + if err = p.sendCMD(PacketAddRules, []routing.Rule{rule}); err != nil { + return 0, err + } + + res := []routing.RouteID{} + if err = p.readRes(&res); err != nil { + return 0, err + } + + if len(res) == 0 { + return 0, errors.New("empty response") + } + + return res[0], nil +} + +// DeleteRule sends DeleteRule setup request. +func (p *Protocol) DeleteRule(routeID routing.RouteID) error { + if err := p.sendCMD(PacketDeleteRules, []routing.RouteID{routeID}); err != nil { + return err + } + + res := []routing.RouteID{} + if err := p.readRes(&res); err != nil { + return err + } + + if len(res) == 0 { + return errors.New("empty response") + } + + return nil +} + +// CreateLoop sends CreateLoop setup request. +func (p *Protocol) CreateLoop(l *routing.Loop) error { + if err := p.sendCMD(PacketCreateLoop, l); err != nil { + return err + } + + if err := p.readRes(nil); err != nil { + return err + } + + return nil +} + +// ConfirmLoop sends ConfirmLoop setup request. +func (p *Protocol) ConfirmLoop(l *LoopData) (noiseRes []byte, err error) { + if err = p.sendCMD(PacketConfirmLoop, l); err != nil { + return + } + + res := []byte{} + if err = p.readRes(&res); err != nil { + return + } + + return res, nil +} + +// CloseLoop sends CloseLoop setup request. +func (p *Protocol) CloseLoop(l *LoopData) error { + if err := p.sendCMD(PacketCloseLoop, l); err != nil { + return err + } + + if err := p.readRes(nil); err != nil { + return err + } + + return nil +} + +// LoopClosed sends LoopClosed setup request. +func (p *Protocol) LoopClosed(l *LoopData) error { + if err := p.sendCMD(PacketLoopClosed, l); err != nil { + return err + } + + if err := p.readRes(nil); err != nil { + return err + } + + return nil +} + +func (p *Protocol) readRes(payload interface{}) error { + frame, err := p.readFrame() + if err != nil { + return err + } + + if frame[0] == ResponseFailure { + return errors.New(string(frame[1:])) + } + + if payload == nil { + return nil + } + + if err = json.Unmarshal(frame[1:], payload); err != nil { + return err + } + + return nil +} + +func (p *Protocol) readFrame() ([]byte, error) { + size := make([]byte, 2) + if _, err := io.ReadFull(p.rw, size); err != nil { + return nil, err + } + + frame := make([]byte, binary.BigEndian.Uint16(size)) + _, err := io.ReadFull(p.rw, frame) + if err != nil { + return nil, err + } + + if len(frame) == 0 { + return nil, errors.New("empty frame") + } + + return frame, nil +} + +func (p *Protocol) sendCMD(cmdType Packet, payload interface{}) error { + var data []byte + if err, ok := payload.(error); ok { + data = []byte(err.Error()) + } else { + data, err = json.Marshal(payload) + if err != nil { + return err + } + } + + packet := append([]byte{byte(cmdType)}, data...) + buf := make([]byte, 2) + binary.BigEndian.PutUint16(buf, uint16(len(packet))) + _, err := p.rw.Write(append(buf, packet...)) + return err +} diff --git a/pkg/transport-discovery/client/client.go b/pkg/transport-discovery/client/client.go new file mode 100644 index 000000000..507bf2ad6 --- /dev/null +++ b/pkg/transport-discovery/client/client.go @@ -0,0 +1,171 @@ +// Package client implements transport discovery client +package client + +import ( + "bytes" + "context" + "encoding/json" + "errors" + "fmt" + "io" + "io/ioutil" + "net/http" + + "github.com/google/uuid" + + "github.com/skycoin/skywire/pkg/cipher" + + "github.com/skycoin/skywire/internal/httpauth" + "github.com/skycoin/skywire/pkg/transport" +) + +// Error is the object returned to the client when there's an error. +type Error struct { + Error string `json:"error"` +} + +// apiClient implements Client for discovery API. +type apiClient struct { + client *httpauth.Client + key cipher.PubKey + sec cipher.SecKey +} + +// NewHTTP creates a new client setting a public key to the client to be used for auth. +// When keys are set, the client will sign request before submitting. +// The signature information is transmitted in the header using: +// * SW-Public: The specified public key +// * SW-Nonce: The nonce for that public key +// * SW-Sig: The signature of the payload + the nonce +func NewHTTP(addr string, key cipher.PubKey, sec cipher.SecKey) (transport.DiscoveryClient, error) { + client, err := httpauth.NewClient(context.Background(), addr, key, sec) + if err != nil { + return nil, fmt.Errorf("httpauth: %s", err) + } + + return &apiClient{client: client, key: key, sec: sec}, nil +} + +// Post performs a POST request. +func (c *apiClient) Post(ctx context.Context, path string, payload interface{}) (*http.Response, error) { + body := bytes.NewBuffer(nil) + if err := json.NewEncoder(body).Encode(payload); err != nil { + return nil, err + } + + req, err := http.NewRequest("POST", c.client.Addr+path, body) + if err != nil { + return nil, err + } + + return c.client.Do(req.WithContext(ctx)) +} + +// Get performs a new GET request. +func (c *apiClient) Get(ctx context.Context, path string) (*http.Response, error) { + req, err := http.NewRequest("GET", c.client.Addr+path, new(bytes.Buffer)) + if err != nil { + return nil, err + } + + return c.client.Do(req.WithContext(ctx)) +} + +// RegisterTransports registers new Transports. +func (c *apiClient) RegisterTransports(ctx context.Context, entries ...*transport.SignedEntry) error { + if len(entries) == 0 { + return nil + } + + resp, err := c.Post(ctx, "/transports/", entries) + if err != nil { + return err + } + defer resp.Body.Close() + + if resp.StatusCode == http.StatusCreated { + return nil + } + + return fmt.Errorf("status: %d, error: %v", resp.StatusCode, extractError(resp.Body)) +} + +// GetTransportByID returns Transport for corresponding ID. +func (c *apiClient) GetTransportByID(ctx context.Context, id uuid.UUID) (*transport.EntryWithStatus, error) { + resp, err := c.Get(ctx, fmt.Sprintf("/transports/id:%s", id.String())) + if err != nil { + return nil, err + } + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + return nil, fmt.Errorf("status: %d, error: %v", resp.StatusCode, extractError(resp.Body)) + } + + entry := &transport.EntryWithStatus{} + if err := json.NewDecoder(resp.Body).Decode(entry); err != nil { + return nil, fmt.Errorf("json: %s", err) + } + + return entry, nil +} + +// GetTransportsByEdge returns all Transports registered for the edge. +func (c *apiClient) GetTransportsByEdge(ctx context.Context, pk cipher.PubKey) ([]*transport.EntryWithStatus, error) { + resp, err := c.Get(ctx, fmt.Sprintf("/transports/edge:%s", pk)) + if err != nil { + return nil, err + } + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + return nil, fmt.Errorf("status: %d, error: %v", resp.StatusCode, extractError(resp.Body)) + } + + entry := []*transport.EntryWithStatus{} + if err := json.NewDecoder(resp.Body).Decode(&entry); err != nil { + return nil, fmt.Errorf("json: %s", err) + } + + return entry, nil +} + +// UpdateStatuses updates statuses of transports in discovery. +func (c *apiClient) UpdateStatuses(ctx context.Context, statuses ...*transport.Status) ([]*transport.EntryWithStatus, error) { + if len(statuses) == 0 { + return nil, nil + } + + resp, err := c.Post(ctx, "/statuses", statuses) + if err != nil { + return nil, err + } + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + return nil, fmt.Errorf("status: %d, error: %v", resp.StatusCode, extractError(resp.Body)) + } + + entries := []*transport.EntryWithStatus{} + if err := json.NewDecoder(resp.Body).Decode(&entries); err != nil { + return nil, fmt.Errorf("json: %s", err) + } + + return entries, nil +} + +// extractError returns the decoded error message from Body. +func extractError(r io.Reader) error { + var apiError Error + + body, err := ioutil.ReadAll(r) + if err != nil { + return err + } + + if err := json.Unmarshal(body, &apiError); err != nil { + return errors.New(string(body)) + } + + return errors.New(apiError.Error) +} diff --git a/pkg/transport-discovery/client/client_test.go b/pkg/transport-discovery/client/client_test.go new file mode 100644 index 000000000..11dca0f00 --- /dev/null +++ b/pkg/transport-discovery/client/client_test.go @@ -0,0 +1,230 @@ +package client + +import ( + "bytes" + "context" + "encoding/json" + "fmt" + "net/http" + "net/http/httptest" + "sync" + "testing" + + "github.com/google/uuid" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/cipher" + + "github.com/skycoin/skywire/internal/httpauth" + "github.com/skycoin/skywire/pkg/transport" +) + +var testPubKey, testSecKey = cipher.GenerateKeyPair() + +func newTestEntry() *transport.Entry { + pk1, _ := cipher.GenerateKeyPair() + return &transport.Entry{ + ID: uuid.New(), + Edges: [2]cipher.PubKey{pk1, testPubKey}, + Type: "messaging", + Public: true, + } +} + +func TestClientAuth(t *testing.T) { + wg := sync.WaitGroup{} + + srv := httptest.NewServer(http.HandlerFunc( + func(w http.ResponseWriter, r *http.Request) { + switch url := r.URL.String(); url { + case "/": + defer wg.Done() + assert.Equal(t, testPubKey.Hex(), r.Header.Get("SW-Public")) + assert.Equal(t, "1", r.Header.Get("SW-Nonce")) + assert.NotEmpty(t, r.Header.Get("SW-Sig")) // TODO: check for the right key + + case fmt.Sprintf("/security/nonces/%s", testPubKey): + fmt.Fprintf(w, `{"edge": "%s", "next_nonce": 1}`, testPubKey) + + default: + t.Errorf("Don't know how to handle URL = '%s'", url) + } + }, + )) + defer srv.Close() + + client, err := NewHTTP(srv.URL, testPubKey, testSecKey) + require.NoError(t, err) + c := client.(*apiClient) + + wg.Add(1) + _, err = c.Post(context.Background(), "/", bytes.NewBufferString("test payload")) + require.NoError(t, err) + + wg.Wait() +} + +func TestRegisterTransportResponses(t *testing.T) { + wg := sync.WaitGroup{} + + tests := []struct { + name string + handler func(w http.ResponseWriter, r *http.Request) + assert func(err error) + }{ + { + "StatusCreated", + func(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusCreated) }, + func(err error) { require.NoError(t, err) }, + }, + { + "StatusOK", + func(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusOK) }, + func(err error) { require.Error(t, err) }, + }, + { + "StatusInternalServerError", + func(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusInternalServerError) }, + func(err error) { require.Error(t, err) }, + }, + { + "JSONError", + func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusInternalServerError) + require.NoError(t, json.NewEncoder(w).Encode(Error{Error: "boom"})) + }, + func(err error) { + require.Error(t, err) + assert.Contains(t, err.Error(), "status: 500") + assert.Contains(t, err.Error(), "error: boom") + }, + }, + { + "NonJSONError", + func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusInternalServerError) + fmt.Fprintf(w, "boom") + }, + func(err error) { + require.Error(t, err) + assert.Contains(t, err.Error(), "status: 500") + assert.Contains(t, err.Error(), "error: boom") + }, + }, + { + "Request", + func(w http.ResponseWriter, r *http.Request) { + assert.Equal(t, "POST", r.Method) + assert.Equal(t, "/transports/", r.URL.String()) + }, + nil, + }, + } + + for _, test := range tests { + t.Run(test.name, func(_ *testing.T) { + wg.Add(1) + + srv := httptest.NewServer(authHandler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + defer wg.Done() + test.handler(w, r) + }))) + defer srv.Close() + + c, err := NewHTTP(srv.URL, testPubKey, testSecKey) + require.NoError(t, err) + err = c.RegisterTransports(context.Background(), &transport.SignedEntry{}) + if test.assert != nil { + test.assert(err) + } + + wg.Wait() + }) + } +} + +func TestRegisterTransports(t *testing.T) { + sEntry := &transport.SignedEntry{Entry: newTestEntry(), Signatures: [2]cipher.Sig{}} + + srv := httptest.NewServer(authHandler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + assert.Equal(t, "/transports/", r.URL.String()) + entries := []*transport.SignedEntry{} + require.NoError(t, json.NewDecoder(r.Body).Decode(&entries)) + require.Len(t, entries, 1) + assert.Equal(t, sEntry.Entry, entries[0].Entry) + w.WriteHeader(http.StatusCreated) + }))) + defer srv.Close() + + c, err := NewHTTP(srv.URL, testPubKey, testSecKey) + require.NoError(t, err) + require.NoError(t, c.RegisterTransports(context.Background(), sEntry)) +} + +func TestGetTransportByID(t *testing.T) { + entry := &transport.EntryWithStatus{Entry: newTestEntry(), IsUp: true} + srv := httptest.NewServer(authHandler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + assert.Equal(t, fmt.Sprintf("/transports/id:%s", entry.Entry.ID), r.URL.String()) + json.NewEncoder(w).Encode(entry) // nolint: errcheck + }))) + defer srv.Close() + + c, err := NewHTTP(srv.URL, testPubKey, testSecKey) + require.NoError(t, err) + resEntry, err := c.GetTransportByID(context.Background(), entry.Entry.ID) + require.NoError(t, err) + + assert.Equal(t, entry.Entry, resEntry.Entry) + assert.True(t, entry.IsUp) +} + +func TestGetTransportsByEdge(t *testing.T) { + entry := &transport.EntryWithStatus{Entry: newTestEntry(), IsUp: true} + srv := httptest.NewServer(authHandler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + assert.Equal(t, fmt.Sprintf("/transports/edge:%s", entry.Entry.Edges[0]), r.URL.String()) + json.NewEncoder(w).Encode([]*transport.EntryWithStatus{entry}) // nolint: errcheck + }))) + defer srv.Close() + + c, err := NewHTTP(srv.URL, testPubKey, testSecKey) + require.NoError(t, err) + entries, err := c.GetTransportsByEdge(context.Background(), entry.Entry.Edges[0]) + require.NoError(t, err) + + require.Len(t, entries, 1) + assert.Equal(t, entry.Entry, entries[0].Entry) + assert.True(t, entries[0].IsUp) +} + +func TestUpdateStatuses(t *testing.T) { + entry := &transport.EntryWithStatus{Entry: newTestEntry(), IsUp: true} + srv := httptest.NewServer(authHandler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + assert.Equal(t, "/statuses", r.URL.String()) + statuses := []*transport.Status{} + require.NoError(t, json.NewDecoder(r.Body).Decode(&statuses)) + require.Len(t, statuses, 1) + assert.Equal(t, entry.Entry.ID, statuses[0].ID) + json.NewEncoder(w).Encode([]*transport.EntryWithStatus{entry}) // nolint: errcheck + }))) + defer srv.Close() + + c, err := NewHTTP(srv.URL, testPubKey, testSecKey) + require.NoError(t, err) + entries, err := c.UpdateStatuses(context.Background(), &transport.Status{ID: entry.Entry.ID, IsUp: false}) + require.NoError(t, err) + + require.Len(t, entries, 1) + assert.Equal(t, entry.Entry, entries[0].Entry) +} + +func authHandler(next http.Handler) http.Handler { + m := http.NewServeMux() + m.Handle("/security/nonces/", http.HandlerFunc( + func(w http.ResponseWriter, r *http.Request) { + json.NewEncoder(w).Encode(&httpauth.NextNonceResponse{Edge: testPubKey, NextNonce: 1}) // nolint: errcheck + }, + )) + m.Handle("/", next) + return m +} diff --git a/pkg/transport/discovery.go b/pkg/transport/discovery.go new file mode 100644 index 000000000..c458f5ce4 --- /dev/null +++ b/pkg/transport/discovery.go @@ -0,0 +1,97 @@ +package transport + +import ( + "context" + "errors" + "sync" + "time" + + "github.com/google/uuid" + + "github.com/skycoin/skywire/pkg/cipher" +) + +// DiscoveryClient performs Transport discovery operations. +type DiscoveryClient interface { + RegisterTransports(ctx context.Context, entries ...*SignedEntry) error + GetTransportByID(ctx context.Context, id uuid.UUID) (*EntryWithStatus, error) + GetTransportsByEdge(ctx context.Context, pk cipher.PubKey) ([]*EntryWithStatus, error) + UpdateStatuses(ctx context.Context, statuses ...*Status) ([]*EntryWithStatus, error) +} + +type mockDiscoveryClient struct { + sync.Mutex + entries map[uuid.UUID]EntryWithStatus +} + +// NewDiscoveryMock construct a new mock transport discovery client. +func NewDiscoveryMock() DiscoveryClient { + return &mockDiscoveryClient{entries: map[uuid.UUID]EntryWithStatus{}} +} + +func (td *mockDiscoveryClient) RegisterTransports(ctx context.Context, entries ...*SignedEntry) error { + td.Lock() + for _, entry := range entries { + entryWithStatus := &EntryWithStatus{ + Entry: entry.Entry, + IsUp: true, + Registered: time.Now().Unix(), + Statuses: [2]bool{true, true}, + } + td.entries[entry.Entry.ID] = *entryWithStatus + entry.Registered = entryWithStatus.Registered + } + td.Unlock() + + return nil +} + +func (td *mockDiscoveryClient) GetTransportByID(ctx context.Context, id uuid.UUID) (*EntryWithStatus, error) { + td.Lock() + entry, ok := td.entries[id] + td.Unlock() + + if !ok { + return nil, errors.New("transport not found") + } + + e := &EntryWithStatus{} + *e = entry + return e, nil +} + +func (td *mockDiscoveryClient) GetTransportsByEdge(ctx context.Context, pk cipher.PubKey) ([]*EntryWithStatus, error) { + td.Lock() + res := []*EntryWithStatus{} + for _, entry := range td.entries { + if entry.Entry.Edges[0] == pk || entry.Entry.Edges[1] == pk { + e := &EntryWithStatus{} + *e = entry + res = append(res, e) + } + } + td.Unlock() + + if len(res) == 0 { + return nil, nil + } + + return res, nil +} + +func (td *mockDiscoveryClient) UpdateStatuses(ctx context.Context, statuses ...*Status) ([]*EntryWithStatus, error) { + res := []*EntryWithStatus{} + for _, status := range statuses { + entry, err := td.GetTransportByID(ctx, status.ID) + if err != nil { + return nil, err + } + + td.Lock() + entry.IsUp = status.IsUp + td.entries[status.ID] = *entry + td.Unlock() + } + + return res, nil +} diff --git a/pkg/transport/entry.go b/pkg/transport/entry.go new file mode 100644 index 000000000..1df61e05a --- /dev/null +++ b/pkg/transport/entry.go @@ -0,0 +1,112 @@ +package transport + +import ( + "fmt" + "strings" + + "github.com/google/uuid" + + "github.com/skycoin/skywire/pkg/cipher" +) + +// Entry is the unsigned representation of a Transport. +type Entry struct { + + // ID is the Transport ID that uniquely identifies the Transport. + ID uuid.UUID `json:"t_id"` + + // Edges contains the public keys of the Transport's edge nodes (should only have 2 edges and the least-significant edge should come first). + Edges [2]cipher.PubKey `json:"edges"` + + // Type represents the transport type. + Type string `json:"type"` + + // Public determines whether the transport is to be exposed to other nodes or not. + // Public transports are to be registered in the Transport Discovery. + Public bool `json:"public"` +} + +// String implements stringer +func (e *Entry) String() string { + res := "" + if e.Public { + res += fmt.Sprintf("visibility: public\n") + } else { + res += fmt.Sprintf("visibility: private\n") + } + res += fmt.Sprintf("\ttype: %s\n", e.Type) + res += fmt.Sprintf("\tid: %s\n", e.ID) + res += fmt.Sprintf("\tedges:\n") + res += fmt.Sprintf("\t\tedge 1: %s\n", e.Edges[0]) + res += fmt.Sprintf("\t\tedge 2: %s\n", e.Edges[1]) + + return res +} + +// ToBinary returns binary representation of a Signature. +func (e *Entry) ToBinary() []byte { + bEntry := e.ID[:] + for _, edge := range e.Edges { + bEntry = append(bEntry, edge[:]...) + } + return append(bEntry, []byte(e.Type)...) +} + +// Signature returns signature for Entry calculated from binary +// representation. +func (e *Entry) Signature(secKey cipher.SecKey) cipher.Sig { + sig, err := cipher.SignPayload(e.ToBinary(), secKey) + if err != nil { + panic(err) + } + return sig +} + +// SignedEntry holds an Entry and it's associated signatures. +// The signatures should be ordered as the contained 'Entry.Edges'. +type SignedEntry struct { + Entry *Entry `json:"entry"` + Signatures [2]cipher.Sig `json:"signatures"` + Registered int64 `json:"registered,omitempty"` +} + +// Status represents the current state of a Transport from the perspective +// from a Transport's single edge. Each Transport will have two perspectives; +// one from each of it's edges. +type Status struct { + + // ID is the Transport ID that identifies the Transport that this status is regarding. + ID uuid.UUID `json:"t_id"` + + // IsUp represents whether the Transport is up. + // A Transport that is down will fail to forward Packets. + IsUp bool `json:"is_up"` + + // Updated is the epoch timestamp of when the status is last updated. + Updated int64 `json:"updated,omitempty"` +} + +// EntryWithStatus stores Entry and Statuses returned by both Edges. +type EntryWithStatus struct { + Entry *Entry `json:"entry"` + IsUp bool `json:"is_up"` + Registered int64 `json:"registered"` + Statuses [2]bool `json:"statuses"` +} + +// String implements stringer +func (e *EntryWithStatus) String() string { + res := "entry:\n" + res += fmt.Sprintf("\tregistered at: %d\n", e.Registered) + res += fmt.Sprintf("\tstatus returned by edge 1: %t\n", e.Statuses[0]) + res += fmt.Sprintf("\tstatus returned by edge 2: %t\n", e.Statuses[1]) + if e.IsUp { + res += fmt.Sprintf("\ttransport: up\n") + } else { + res += fmt.Sprintf("\ttransport: down\n") + } + indentedStr := strings.Replace(e.Entry.String(), "\n\t", "\n\t\t", -1) + res += fmt.Sprintf("\ttransport info: \n\t\t%s", indentedStr) + + return res +} diff --git a/pkg/transport/handshake.go b/pkg/transport/handshake.go new file mode 100644 index 000000000..dd784b4df --- /dev/null +++ b/pkg/transport/handshake.go @@ -0,0 +1,124 @@ +package transport + +import ( + "context" + "encoding/json" + "errors" + "fmt" + "time" + + "github.com/google/uuid" + + "github.com/skycoin/skywire/pkg/cipher" +) + +type settlementHandshake func(tm *Manager, tr Transport) (*Entry, error) + +func (handshake settlementHandshake) Do(tm *Manager, tr Transport, timeout time.Duration) (*Entry, error) { + var entry *Entry + errCh := make(chan error, 1) + go func() { + e, err := handshake(tm, tr) + entry = e + errCh <- err + }() + select { + case err := <-errCh: + return entry, err + case <-time.After(timeout): + return nil, errors.New("deadline exceeded") + } +} + +func settlementInitiatorHandshake(id uuid.UUID, public bool) settlementHandshake { + return func(tm *Manager, tr Transport) (*Entry, error) { + entry := &Entry{ + ID: id, + Edges: [2]cipher.PubKey{tr.Local(), tr.Remote()}, + Type: tr.Type(), + Public: public, + } + + newEntry := id == uuid.UUID{} + if newEntry { + entry.ID = uuid.New() + } + + sEntry := &SignedEntry{Entry: entry, Signatures: [2]cipher.Sig{entry.Signature(tm.config.SecKey)}} + if err := json.NewEncoder(tr).Encode(sEntry); err != nil { + return nil, fmt.Errorf("write: %s", err) + } + + if err := json.NewDecoder(tr).Decode(sEntry); err != nil { + return nil, fmt.Errorf("read: %s", err) + } + + if err := verifySig(sEntry, 1, tr.Remote()); err != nil { + return nil, err + } + + if newEntry { + tm.addEntry(entry) + } + + return sEntry.Entry, nil + } +} + +func settlementResponderHandshake(tm *Manager, tr Transport) (*Entry, error) { + sEntry := &SignedEntry{} + if err := json.NewDecoder(tr).Decode(sEntry); err != nil { + return nil, fmt.Errorf("read: %s", err) + } + + if err := validateEntry(sEntry, tr); err != nil { + return nil, err + } + + sEntry.Signatures[1] = sEntry.Entry.Signature(tm.config.SecKey) + newEntry := tm.walkEntries(func(e *Entry) bool { return *e == *sEntry.Entry }) == nil + + var err error + if sEntry.Entry.Public { + if !newEntry { + _, err = tm.config.DiscoveryClient.UpdateStatuses(context.Background(), &Status{ID: sEntry.Entry.ID, IsUp: true}) + } else { + err = tm.config.DiscoveryClient.RegisterTransports(context.Background(), sEntry) + } + } + + if err != nil { + return nil, fmt.Errorf("entry set: %s", err) + } + + if err := json.NewEncoder(tr).Encode(sEntry); err != nil { + return nil, fmt.Errorf("write: %s", err) + } + + if newEntry { + tm.addEntry(sEntry.Entry) + } + + return sEntry.Entry, nil +} + +func validateEntry(sEntry *SignedEntry, tr Transport) error { + entry := sEntry.Entry + if entry.Type != tr.Type() { + return errors.New("invalid entry type") + } + + if entry.Edges != [2]cipher.PubKey{tr.Remote(), tr.Local()} { + return errors.New("invalid entry edges") + } + + if sEntry.Signatures[0].Null() { + return errors.New("invalid entry signature") + } + + return verifySig(sEntry, 0, tr.Remote()) +} + +func verifySig(sEntry *SignedEntry, idx int, pk cipher.PubKey) error { + return cipher.VerifyPubKeySignedPayload(pk, sEntry.Signatures[idx], sEntry.Entry.ToBinary()) +} diff --git a/pkg/transport/handshake_test.go b/pkg/transport/handshake_test.go new file mode 100644 index 000000000..d22ab462a --- /dev/null +++ b/pkg/transport/handshake_test.go @@ -0,0 +1,209 @@ +package transport + +import ( + "context" + "net" + "testing" + + "github.com/google/uuid" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/cipher" +) + +func TestSettlementHandshake(t *testing.T) { + client := NewDiscoveryMock() + + pk1, sk1 := cipher.GenerateKeyPair() + pk2, sk2 := cipher.GenerateKeyPair() + + in, out := net.Pipe() + tr1 := NewMockTransport(in, pk1, pk2) + tr2 := NewMockTransport(out, pk2, pk1) + + m1, err := NewManager(&ManagerConfig{SecKey: sk1, DiscoveryClient: client}) + require.NoError(t, err) + m2, err := NewManager(&ManagerConfig{SecKey: sk2, DiscoveryClient: client}) + require.NoError(t, err) + + errCh := make(chan error) + var resEntry *Entry + go func() { + e, err := settlementResponderHandshake(m2, tr2) + resEntry = e + errCh <- err + }() + + entry, err := settlementInitiatorHandshake(uuid.UUID{}, true)(m1, tr1) + require.NoError(t, <-errCh) + require.NoError(t, err) + + require.NotNil(t, resEntry) + require.NotNil(t, entry) + + assert.Equal(t, entry.ID, resEntry.ID) + dEntry, err := client.GetTransportByID(context.TODO(), entry.ID) + require.NoError(t, err) + + assert.Equal(t, entry, dEntry.Entry) +} + +func TestSettlementHandshakeInvalidSig(t *testing.T) { + client := NewDiscoveryMock() + + pk1, sk1 := cipher.GenerateKeyPair() + pk2, sk2 := cipher.GenerateKeyPair() + + in, out := net.Pipe() + tr1 := NewMockTransport(in, pk1, pk2) + tr2 := NewMockTransport(out, pk2, pk1) + + m1, err := NewManager(&ManagerConfig{SecKey: sk1, DiscoveryClient: client}) + require.NoError(t, err) + m2, err := NewManager(&ManagerConfig{SecKey: sk2, DiscoveryClient: client}) + require.NoError(t, err) + + go settlementInitiatorHandshake(uuid.UUID{}, true)(m2, tr1) // nolint: errcheck + _, err = settlementResponderHandshake(m2, tr2) + require.Error(t, err) + assert.Equal(t, "Recovered pubkey does not match pubkey", err.Error()) + + in, out = net.Pipe() + tr1 = NewMockTransport(in, pk1, pk2) + tr2 = NewMockTransport(out, pk2, pk1) + + go settlementResponderHandshake(m1, tr2) // nolint: errcheck + _, err = settlementInitiatorHandshake(uuid.UUID{}, true)(m1, tr1) + require.Error(t, err) + assert.Equal(t, "Recovered pubkey does not match pubkey", err.Error()) +} + +func TestSettlementHandshakePrivate(t *testing.T) { + client := NewDiscoveryMock() + + pk1, sk1 := cipher.GenerateKeyPair() + pk2, sk2 := cipher.GenerateKeyPair() + + in, out := net.Pipe() + tr1 := NewMockTransport(in, pk1, pk2) + tr2 := NewMockTransport(out, pk2, pk1) + + m1, err := NewManager(&ManagerConfig{SecKey: sk1, DiscoveryClient: client}) + require.NoError(t, err) + m2, err := NewManager(&ManagerConfig{SecKey: sk2, DiscoveryClient: client}) + require.NoError(t, err) + + errCh := make(chan error) + var resEntry *Entry + go func() { + e, err := settlementResponderHandshake(m2, tr2) + resEntry = e + errCh <- err + }() + + entry, err := settlementInitiatorHandshake(uuid.UUID{}, false)(m1, tr1) + require.NoError(t, <-errCh) + require.NoError(t, err) + + require.NotNil(t, resEntry) + require.NotNil(t, entry) + + assert.Equal(t, entry.ID, resEntry.ID) + _, err = client.GetTransportByID(context.TODO(), entry.ID) + require.Error(t, err) +} + +func TestSettlementHandshakeExistingTransport(t *testing.T) { + client := NewDiscoveryMock() + + pk1, sk1 := cipher.GenerateKeyPair() + pk2, sk2 := cipher.GenerateKeyPair() + + in, out := net.Pipe() + tr1 := NewMockTransport(in, pk1, pk2) + tr2 := NewMockTransport(out, pk2, pk1) + + m1, err := NewManager(&ManagerConfig{SecKey: sk1, DiscoveryClient: client}) + require.NoError(t, err) + m2, err := NewManager(&ManagerConfig{SecKey: sk2, DiscoveryClient: client}) + require.NoError(t, err) + + entry := &Entry{ + ID: uuid.New(), + Edges: [2]cipher.PubKey{pk1, pk2}, + Type: "mock", + Public: true, + } + + m1.entries = append(m1.entries, entry) + m2.entries = append(m2.entries, entry) + require.NoError(t, client.RegisterTransports(context.TODO(), &SignedEntry{Entry: entry})) + _, err = client.UpdateStatuses(context.Background(), &Status{ID: entry.ID, IsUp: false}) + require.NoError(t, err) + + errCh := make(chan error) + var resEntry *Entry + go func() { + e, err := settlementResponderHandshake(m2, tr2) + resEntry = e + errCh <- err + }() + + entry, err = settlementInitiatorHandshake(entry.ID, true)(m1, tr1) + require.NoError(t, <-errCh) + require.NoError(t, err) + + require.NotNil(t, resEntry) + require.NotNil(t, entry) + + assert.Equal(t, entry.ID, resEntry.ID) + dEntry, err := client.GetTransportByID(context.TODO(), entry.ID) + require.NoError(t, err) + + assert.True(t, dEntry.IsUp) +} + +func TestValidateEntry(t *testing.T) { + pk1, sk1 := cipher.GenerateKeyPair() + pk2, sk2 := cipher.GenerateKeyPair() + tr := NewMockTransport(nil, pk1, pk2) + + entry := &Entry{Type: "mock", Edges: [2]cipher.PubKey{pk2, pk1}} + tcs := []struct { + sEntry *SignedEntry + err string + }{ + { + &SignedEntry{Entry: &Entry{Type: "foo"}}, + "invalid entry type", + }, + { + &SignedEntry{Entry: &Entry{Type: "mock", Edges: [2]cipher.PubKey{pk1, pk2}}}, + "invalid entry edges", + }, + { + &SignedEntry{Entry: &Entry{Type: "mock", Edges: [2]cipher.PubKey{pk2, pk1}}}, + "invalid entry signature", + }, + { + &SignedEntry{Entry: entry, Signatures: [2]cipher.Sig{}}, + "invalid entry signature", + }, + { + &SignedEntry{Entry: entry, Signatures: [2]cipher.Sig{entry.Signature(sk1)}}, + "Recovered pubkey does not match pubkey", + }, + } + + for _, tc := range tcs { + t.Run(tc.err, func(t *testing.T) { + err := validateEntry(tc.sEntry, tr) + require.Error(t, err) + assert.Equal(t, tc.err, err.Error()) + }) + } + + sEntry := &SignedEntry{Entry: entry, Signatures: [2]cipher.Sig{entry.Signature(sk2)}} + require.NoError(t, validateEntry(sEntry, tr)) +} diff --git a/pkg/transport/log.go b/pkg/transport/log.go new file mode 100644 index 000000000..1494ba69b --- /dev/null +++ b/pkg/transport/log.go @@ -0,0 +1,91 @@ +package transport + +import ( + "encoding/json" + "fmt" + "math/big" + "os" + "path/filepath" + "sync" + + "github.com/google/uuid" +) + +// LogEntry represents a logging entry for a given Transport. +// The entry is updated every time a packet is received or sent. +type LogEntry struct { + ReceivedBytes *big.Int `json:"received"` // Total received bytes. + SentBytes *big.Int `json:"sent"` // Total sent bytes. +} + +// LogStore stores transport log entries. +type LogStore interface { + Entry(id uuid.UUID) (*LogEntry, error) + Record(id uuid.UUID, entry *LogEntry) error +} + +type inMemoryTransportLogStore struct { + entries map[uuid.UUID]*LogEntry + mu sync.Mutex +} + +// InMemoryTransportLogStore implements in-memory TransportLogStore. +func InMemoryTransportLogStore() LogStore { + return &inMemoryTransportLogStore{ + entries: map[uuid.UUID]*LogEntry{}, + } +} + +func (tls *inMemoryTransportLogStore) Entry(id uuid.UUID) (*LogEntry, error) { + tls.mu.Lock() + entry := tls.entries[id] + tls.mu.Unlock() + + return entry, nil +} + +func (tls *inMemoryTransportLogStore) Record(id uuid.UUID, entry *LogEntry) error { + tls.mu.Lock() + if tls.entries == nil { + tls.entries = make(map[uuid.UUID]*LogEntry) + } + tls.entries[id] = entry + tls.mu.Unlock() + return nil +} + +type fileTransportLogStore struct { + dir string +} + +// FileTransportLogStore implements file TransportLogStore. +func FileTransportLogStore(dir string) LogStore { + return &fileTransportLogStore{dir} +} + +func (tls *fileTransportLogStore) Entry(id uuid.UUID) (*LogEntry, error) { + f, err := os.Open(filepath.Join(tls.dir, fmt.Sprintf("%s.log", id))) + if err != nil { + return nil, fmt.Errorf("open: %s", err) + } + + entry := &LogEntry{} + if err := json.NewDecoder(f).Decode(entry); err != nil { + return nil, fmt.Errorf("json: %s", err) + } + + return entry, nil +} + +func (tls *fileTransportLogStore) Record(id uuid.UUID, entry *LogEntry) error { + f, err := os.OpenFile(filepath.Join(tls.dir, fmt.Sprintf("%s.log", id)), os.O_RDWR|os.O_CREATE, 0600) + if err != nil { + return fmt.Errorf("open: %s", err) + } + + if err := json.NewEncoder(f).Encode(entry); err != nil { + return fmt.Errorf("json: %s", err) + } + + return nil +} diff --git a/pkg/transport/log_test.go b/pkg/transport/log_test.go new file mode 100644 index 000000000..12036183b --- /dev/null +++ b/pkg/transport/log_test.go @@ -0,0 +1,41 @@ +package transport + +import ( + "io/ioutil" + "math/big" + "os" + "testing" + + "github.com/google/uuid" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func testTransportLogStore(t *testing.T, logStore LogStore) { + t.Helper() + + id1 := uuid.New() + entry1 := &LogEntry{big.NewInt(100), big.NewInt(200)} + id2 := uuid.New() + entry2 := &LogEntry{big.NewInt(300), big.NewInt(400)} + + require.NoError(t, logStore.Record(id1, entry1)) + require.NoError(t, logStore.Record(id2, entry2)) + + entry, err := logStore.Entry(id2) + require.NoError(t, err) + assert.Equal(t, int64(300), entry.ReceivedBytes.Int64()) + assert.Equal(t, int64(400), entry.SentBytes.Int64()) +} + +func TestInMemoryTransportLogStore(t *testing.T) { + testTransportLogStore(t, InMemoryTransportLogStore()) +} + +func TestFileTransportLogStore(t *testing.T) { + dir, err := ioutil.TempDir("", "log_store") + require.NoError(t, err) + defer os.RemoveAll(dir) + + testTransportLogStore(t, FileTransportLogStore(dir)) +} diff --git a/pkg/transport/managed_transport.go b/pkg/transport/managed_transport.go new file mode 100644 index 000000000..29ac43e56 --- /dev/null +++ b/pkg/transport/managed_transport.go @@ -0,0 +1,106 @@ +package transport + +import ( + "math/big" + "sync" + + "github.com/google/uuid" +) + +// ManagedTransport is a wrapper transport. It stores status and ID of +// the Transport and can notify about network errors. +type ManagedTransport struct { + Transport + ID uuid.UUID + Public bool + LogEntry *LogEntry + + doneChan chan struct{} + errChan chan error + mu sync.RWMutex + + readLogChan chan int + writeLogChan chan int +} + +func newManagedTransport(id uuid.UUID, tr Transport, public bool) *ManagedTransport { + return &ManagedTransport{ + ID: id, + Transport: tr, + Public: public, + doneChan: make(chan struct{}), + errChan: make(chan error), + readLogChan: make(chan int), + writeLogChan: make(chan int), + LogEntry: &LogEntry{new(big.Int), new(big.Int)}, + } +} + +// Read reads using underlying +func (tr *ManagedTransport) Read(p []byte) (n int, err error) { + tr.mu.RLock() + n, err = tr.Transport.Read(p) + tr.mu.RUnlock() + if err == nil { + select { + case <-tr.doneChan: + return + case tr.readLogChan <- n: + } + + return + } + + select { + case <-tr.doneChan: + return + case tr.errChan <- err: + } + + return +} + +// Write writes to an underlying +func (tr *ManagedTransport) Write(p []byte) (n int, err error) { + tr.mu.RLock() + n, err = tr.Transport.Write(p) + tr.mu.RUnlock() + if err == nil { + select { + case <-tr.doneChan: + return + case tr.writeLogChan <- n: + } + + return + } + + select { + case <-tr.doneChan: + return + case tr.errChan <- err: + } + + return +} + +// Close closes underlying +func (tr *ManagedTransport) Close() error { + tr.mu.RLock() + err := tr.Transport.Close() + tr.mu.RUnlock() + + select { + case <-tr.doneChan: + default: + close(tr.doneChan) + } + + return err +} + +func (tr *ManagedTransport) updateTransport(newTr Transport) { + tr.mu.Lock() + tr.Transport = newTr + tr.mu.Unlock() +} diff --git a/pkg/transport/manager.go b/pkg/transport/manager.go new file mode 100644 index 000000000..c214da842 --- /dev/null +++ b/pkg/transport/manager.go @@ -0,0 +1,393 @@ +package transport + +import ( + "context" + "errors" + "math/big" + "strings" + "sync" + "time" + + "github.com/google/uuid" + "github.com/skycoin/skycoin/src/util/logging" + + "github.com/skycoin/skywire/pkg/cipher" +) + +// ManagerConfig configures a Manager. +type ManagerConfig struct { + PubKey cipher.PubKey + SecKey cipher.SecKey + DiscoveryClient DiscoveryClient + LogStore LogStore + DefaultNodes []cipher.PubKey // Nodes to automatically connect to +} + +// Manager manages Transports. +type Manager struct { + Logger *logging.Logger + + config *ManagerConfig + factories map[string]Factory + transports map[uuid.UUID]*ManagedTransport + entries []*Entry + + doneChan chan struct{} + acceptedTrChan chan *ManagedTransport + dialedTrChan chan *ManagedTransport + mu sync.RWMutex +} + +// NewManager creates a Manager with the provided configuration and transport factories. +// 'factories' should be ordered by preference. +func NewManager(config *ManagerConfig, factories ...Factory) (*Manager, error) { + entries, _ := config.DiscoveryClient.GetTransportsByEdge(context.Background(), config.PubKey) // nolint + + mEntries := []*Entry{} + for _, entry := range entries { + mEntries = append(mEntries, entry.Entry) + } + + fMap := make(map[string]Factory) + for _, factory := range factories { + fMap[factory.Type()] = factory + } + + return &Manager{ + Logger: logging.MustGetLogger("trmanager"), + config: config, + factories: fMap, + transports: make(map[uuid.UUID]*ManagedTransport), + entries: mEntries, + acceptedTrChan: make(chan *ManagedTransport, 10), + dialedTrChan: make(chan *ManagedTransport, 10), + doneChan: make(chan struct{}), + }, nil +} + +// Observe returns channel for notifications about new Transport +// registration. Only single observer is supported. +func (tm *Manager) Observe() (accept <-chan *ManagedTransport, dial <-chan *ManagedTransport) { + dialCh := make(chan *ManagedTransport) + acceptCh := make(chan *ManagedTransport) + go func() { + for { + select { + case <-tm.doneChan: + close(dialCh) + close(acceptCh) + return + case tr := <-tm.acceptedTrChan: + acceptCh <- tr + case tr := <-tm.dialedTrChan: + dialCh <- tr + } + } + }() + return acceptCh, dialCh +} + +// Factories returns all the factory types contained within the TransportManager. +func (tm *Manager) Factories() []string { + fTypes, i := make([]string, len(tm.factories)), 0 + for _, f := range tm.factories { + fTypes[i], i = f.Type(), i+1 + } + return fTypes +} + +// Transport obtains a Transport via a given Transport ID. +func (tm *Manager) Transport(id uuid.UUID) *ManagedTransport { + tm.mu.RLock() + tr := tm.transports[id] + tm.mu.RUnlock() + return tr +} + +// WalkTransports ranges through all transports. +func (tm *Manager) WalkTransports(walk func(tp *ManagedTransport) bool) { + tm.mu.RLock() + for _, tp := range tm.transports { + if ok := walk(tp); !ok { + break + } + } + tm.mu.RUnlock() +} + +// ReconnectTransports tries to reconnect previously established transports. +func (tm *Manager) ReconnectTransports(ctx context.Context) { + tm.mu.RLock() + entries := tm.entries + tm.mu.RUnlock() + for _, entry := range entries { + if entry.Edges[0] != tm.config.PubKey { + continue + } + + if tm.Transport(entry.ID) != nil { + continue + } + + _, err := tm.createTransport(ctx, entry.Edges[1], entry.Type, entry.ID, entry.Public) + if err != nil { + tm.Logger.Warnf("Failed to re-establish transport: %s", err) + continue + } + + if _, err := tm.config.DiscoveryClient.UpdateStatuses(ctx, &Status{ID: entry.ID, IsUp: true}); err != nil { + tm.Logger.Warnf("Failed to change transport status: %s", err) + } + } +} + +// CreateDefaultTransports created transports to DefaultNodes if they don't exist. +func (tm *Manager) CreateDefaultTransports(ctx context.Context) { + for _, pk := range tm.config.DefaultNodes { + exist := false + tm.WalkTransports(func(tr *ManagedTransport) bool { + if tr.Remote() == pk { + exist = true + return false + } + return true + }) + if exist { + continue + } + _, err := tm.CreateTransport(ctx, pk, "messaging", true) + if err != nil { + tm.Logger.Warnf("Failed to establish transport to a node %s: %s", pk, err) + } + } +} + +// Serve runs listening loop across all registered factories. +func (tm *Manager) Serve(ctx context.Context) error { + tm.ReconnectTransports(ctx) + tm.CreateDefaultTransports(ctx) + + var wg sync.WaitGroup + for _, factory := range tm.factories { + wg.Add(1) + go func(f Factory) { + defer wg.Done() + for { + select { + case <-ctx.Done(): + return + case <-tm.doneChan: + return + default: + if _, err := tm.acceptTransport(ctx, f); err != nil { + if strings.Contains(err.Error(), "closed") { + return + } + + tm.Logger.Warnf("Failed to accept connection: %s", err) + } + } + } + }(factory) + } + + tm.Logger.Info("Starting transport manager") + wg.Wait() + return nil +} + +// CreateTransport begins to attempt to establish transports to the given 'remote' node. +func (tm *Manager) CreateTransport(ctx context.Context, remote cipher.PubKey, tpType string, public bool) (*ManagedTransport, error) { + return tm.createTransport(ctx, remote, tpType, uuid.UUID{}, public) +} + +// DeleteTransport disconnects and removes the Transport of Transport ID. +func (tm *Manager) DeleteTransport(id uuid.UUID) error { + tm.mu.Lock() + tr := tm.transports[id] + delete(tm.transports, id) + tm.mu.Unlock() + + if _, err := tm.config.DiscoveryClient.UpdateStatuses(context.Background(), &Status{ID: id, IsUp: false}); err != nil { + tm.Logger.Warnf("Failed to change transport status: %s", err) + } + + tm.Logger.Infof("De-registered transport %s", id) + if tr != nil { + return tr.Close() + } + + return nil +} + +// Close closes opened transports and registered factories. +func (tm *Manager) Close() error { + for _, f := range tm.factories { + f.Close() + } + + tm.Logger.Info("Closing transport manager") + tm.mu.RLock() + close(tm.doneChan) + statuses := make([]*Status, 0) + for _, tr := range tm.transports { + if !tr.Public { + continue + } + statuses = append(statuses, &Status{ID: tr.ID, IsUp: false}) + tr.Close() + } + tm.transports = make(map[uuid.UUID]*ManagedTransport) + tm.mu.RUnlock() + + if _, err := tm.config.DiscoveryClient.UpdateStatuses(context.Background(), statuses...); err != nil { + tm.Logger.Warnf("Failed to change transport status: %s", err) + } + + return nil +} + +func (tm *Manager) createTransport(ctx context.Context, remote cipher.PubKey, tpType string, id uuid.UUID, public bool) (*ManagedTransport, error) { + factory := tm.factories[tpType] + if factory == nil { + return nil, errors.New("unknown transport type") + } + + tr, entry, err := tm.dialTransport(ctx, factory, remote, id, public) + if err != nil { + return nil, err + } + + tm.Logger.Infof("Dialed to %s using %s factory. Transport ID: %s", remote, tpType, entry.ID) + managedTr := newManagedTransport(entry.ID, tr, entry.Public) + tm.mu.Lock() + tm.transports[entry.ID] = managedTr + select { + case <-tm.doneChan: + case tm.dialedTrChan <- managedTr: + default: + } + tm.mu.Unlock() + + go func() { + select { + case <-managedTr.doneChan: + tm.Logger.Infof("Transport %s closed", managedTr.ID) + return + case <-tm.doneChan: + tm.Logger.Infof("Transport %s closed", managedTr.ID) + return + case err := <-managedTr.errChan: + tm.Logger.Infof("Transport %s failed with error: %s. Re-dialing...", managedTr.ID, err) + tr, _, err := tm.dialTransport(ctx, factory, remote, managedTr.ID, public) + if err != nil { + tm.Logger.Infof("Failed to re-dial Transport %s: %s", managedTr.ID, err) + if err := tm.DeleteTransport(managedTr.ID); err != nil { + tm.Logger.Warnf("Failed to delete transport: %s", err) + } + } else { + managedTr.updateTransport(tr) + } + } + }() + + go tm.manageTransportLogs(managedTr) + + return managedTr, nil +} + +func (tm *Manager) dialTransport(ctx context.Context, factory Factory, remote cipher.PubKey, id uuid.UUID, public bool) (Transport, *Entry, error) { + tr, err := factory.Dial(ctx, remote) + if err != nil { + return nil, nil, err + } + + entry, err := settlementInitiatorHandshake(id, public).Do(tm, tr, time.Minute) + if err != nil { + tr.Close() + return nil, nil, err + } + + return tr, entry, nil +} + +func (tm *Manager) acceptTransport(ctx context.Context, factory Factory) (*ManagedTransport, error) { + tr, err := factory.Accept(ctx) + if err != nil { + return nil, err + } + + var handshake settlementHandshake = settlementResponderHandshake + entry, err := handshake.Do(tm, tr, time.Minute) + if err != nil { + tr.Close() + return nil, err + } + + tm.Logger.Infof("Accepted new transport with type %s from %s. ID: %s", factory.Type(), tr.Remote(), entry.ID) + managedTr := newManagedTransport(entry.ID, tr, entry.Public) + tm.mu.Lock() + tm.transports[entry.ID] = managedTr + select { + case <-tm.doneChan: + case tm.acceptedTrChan <- managedTr: + default: + } + tm.mu.Unlock() + + go func() { + select { + case <-managedTr.doneChan: + tm.Logger.Infof("Transport %s closed", managedTr.ID) + return + case <-tm.doneChan: + tm.Logger.Infof("Transport %s closed", managedTr.ID) + return + case err := <-managedTr.errChan: + tm.Logger.Infof("Transport %s failed with error: %s. Re-dialing...", managedTr.ID, err) + if err := tm.DeleteTransport(entry.ID); err != nil { + tm.Logger.Warnf("Failed to delete transport: %s", err) + } + } + }() + + go tm.manageTransportLogs(managedTr) + + return managedTr, nil +} + +func (tm *Manager) walkEntries(walkFunc func(*Entry) bool) *Entry { + tm.mu.Lock() + defer tm.mu.Unlock() + + for _, entry := range tm.entries { + if walkFunc(entry) { + return entry + } + } + + return nil +} + +func (tm *Manager) addEntry(entry *Entry) { + tm.mu.Lock() + tm.entries = append(tm.entries, entry) + tm.mu.Unlock() +} + +func (tm *Manager) manageTransportLogs(tr *ManagedTransport) { + for { + select { + case <-tr.doneChan: + return + case n := <-tr.readLogChan: + tr.LogEntry.ReceivedBytes.Add(tr.LogEntry.ReceivedBytes, big.NewInt(int64(n))) + case n := <-tr.writeLogChan: + tr.LogEntry.SentBytes.Add(tr.LogEntry.SentBytes, big.NewInt(int64(n))) + } + + if err := tm.config.LogStore.Record(tr.ID, tr.LogEntry); err != nil { + tm.Logger.Warnf("Failed to record log entry: %s", err) + } + } +} diff --git a/pkg/transport/manager_test.go b/pkg/transport/manager_test.go new file mode 100644 index 000000000..a7155517d --- /dev/null +++ b/pkg/transport/manager_test.go @@ -0,0 +1,213 @@ +package transport + +import ( + "context" + "io" + "sync" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/cipher" +) + +func TestTransportManger(t *testing.T) { + client := NewDiscoveryMock() + logStore := InMemoryTransportLogStore() + + pk1, sk1 := cipher.GenerateKeyPair() + pk2, sk2 := cipher.GenerateKeyPair() + + c1 := &ManagerConfig{pk1, sk1, client, logStore, nil} + c2 := &ManagerConfig{pk2, sk2, client, logStore, nil} + + f1, f2 := NewMockFactory(pk1, pk2) + m1, err := NewManager(c1, f1) + require.NoError(t, err) + + assert.Equal(t, []string{"mock"}, m1.Factories()) + + errCh := make(chan error) + go func() { + errCh <- m1.Serve(context.TODO()) + }() + + m2, err := NewManager(c2, f2) + require.NoError(t, err) + + var mu sync.Mutex + m1Observed := uint32(0) + acceptCh, _ := m1.Observe() + go func() { + for range acceptCh { + mu.Lock() + m1Observed++ + mu.Unlock() + } + }() + + m2Observed := uint32(0) + _, dialCh := m2.Observe() + go func() { + for range dialCh { + mu.Lock() + m2Observed++ + mu.Unlock() + } + }() + + tr2, err := m2.CreateTransport(context.TODO(), pk1, "mock", true) + require.NoError(t, err) + + tr1 := m1.Transport(tr2.ID) + require.NotNil(t, tr1) + + dEntry, err := client.GetTransportByID(context.TODO(), tr2.ID) + require.NoError(t, err) + assert.Equal(t, [2]cipher.PubKey{pk2, pk1}, dEntry.Entry.Edges) + assert.True(t, dEntry.IsUp) + + require.NoError(t, m1.DeleteTransport(tr1.ID)) + dEntry, err = client.GetTransportByID(context.TODO(), tr1.ID) + require.NoError(t, err) + assert.False(t, dEntry.IsUp) + + buf := make([]byte, 3) + _, err = tr2.Read(buf) + require.Equal(t, io.EOF, err) + + time.Sleep(time.Second) + + dEntry, err = client.GetTransportByID(context.TODO(), tr1.ID) + require.NoError(t, err) + assert.True(t, dEntry.IsUp) + + require.NoError(t, m2.DeleteTransport(tr2.ID)) + dEntry, err = client.GetTransportByID(context.TODO(), tr2.ID) + require.NoError(t, err) + assert.False(t, dEntry.IsUp) + + require.NoError(t, m2.Close()) + require.NoError(t, m1.Close()) + require.NoError(t, <-errCh) + + time.Sleep(100 * time.Millisecond) + + mu.Lock() + assert.Equal(t, uint32(2), m1Observed) + assert.Equal(t, uint32(1), m2Observed) + mu.Unlock() +} + +func TestTransportMangerReEstablishTransports(t *testing.T) { + client := NewDiscoveryMock() + logStore := InMemoryTransportLogStore() + + pk1, sk1 := cipher.GenerateKeyPair() + pk2, sk2 := cipher.GenerateKeyPair() + + c1 := &ManagerConfig{pk1, sk1, client, logStore, nil} + c2 := &ManagerConfig{pk2, sk2, client, logStore, nil} + + f1, f2 := NewMockFactory(pk1, pk2) + m1, err := NewManager(c1, f1) + require.NoError(t, err) + + assert.Equal(t, []string{"mock"}, m1.Factories()) + + errCh := make(chan error) + go func() { + errCh <- m1.Serve(context.TODO()) + }() + + m2, err := NewManager(c2, f2) + require.NoError(t, err) + + tr2, err := m2.CreateTransport(context.TODO(), pk1, "mock", true) + require.NoError(t, err) + + tr1 := m1.Transport(tr2.ID) + require.NotNil(t, tr1) + + dEntry, err := client.GetTransportByID(context.TODO(), tr2.ID) + require.NoError(t, err) + assert.Equal(t, [2]cipher.PubKey{pk2, pk1}, dEntry.Entry.Edges) + assert.True(t, dEntry.IsUp) + + require.NoError(t, m2.Close()) + + dEntry, err = client.GetTransportByID(context.TODO(), tr2.ID) + require.NoError(t, err) + assert.False(t, dEntry.IsUp) + + m2, err = NewManager(c2, f2) + require.NoError(t, err) + go m2.Serve(context.TODO()) // nolint + + time.Sleep(time.Second) + + dEntry, err = client.GetTransportByID(context.TODO(), tr2.ID) + require.NoError(t, err) + assert.True(t, dEntry.IsUp) + + require.NoError(t, m2.Close()) + require.NoError(t, m1.Close()) + require.NoError(t, <-errCh) +} + +func TestTransportMangerLogs(t *testing.T) { + client := NewDiscoveryMock() + logStore1 := InMemoryTransportLogStore() + logStore2 := InMemoryTransportLogStore() + + pk1, sk1 := cipher.GenerateKeyPair() + pk2, sk2 := cipher.GenerateKeyPair() + + c1 := &ManagerConfig{pk1, sk1, client, logStore1, nil} + c2 := &ManagerConfig{pk2, sk2, client, logStore2, nil} + + f1, f2 := NewMockFactory(pk1, pk2) + m1, err := NewManager(c1, f1) + require.NoError(t, err) + + assert.Equal(t, []string{"mock"}, m1.Factories()) + + errCh := make(chan error) + go func() { + errCh <- m1.Serve(context.TODO()) + }() + + m2, err := NewManager(c2, f2) + require.NoError(t, err) + + tr2, err := m2.CreateTransport(context.TODO(), pk1, "mock", true) + require.NoError(t, err) + + time.Sleep(100 * time.Millisecond) + + tr1 := m1.Transport(tr2.ID) + require.NotNil(t, tr1) + + go tr1.Write([]byte("foo")) // nolint + buf := make([]byte, 3) + _, err = tr2.Read(buf) + require.NoError(t, err) + + time.Sleep(100 * time.Millisecond) + + entry1, err := logStore1.Entry(tr1.ID) + require.NoError(t, err) + assert.Equal(t, uint64(3), entry1.SentBytes.Uint64()) + assert.Equal(t, uint64(0), entry1.ReceivedBytes.Uint64()) + + entry2, err := logStore2.Entry(tr1.ID) + require.NoError(t, err) + assert.Equal(t, uint64(0), entry2.SentBytes.Uint64()) + assert.Equal(t, uint64(3), entry2.ReceivedBytes.Uint64()) + + require.NoError(t, m2.Close()) + require.NoError(t, m1.Close()) + require.NoError(t, <-errCh) +} diff --git a/pkg/transport/mock.go b/pkg/transport/mock.go new file mode 100644 index 000000000..7c6baf26b --- /dev/null +++ b/pkg/transport/mock.go @@ -0,0 +1,144 @@ +package transport + +import ( + "context" + "errors" + "io" + "net" + "time" + + "github.com/skycoin/skywire/pkg/cipher" +) + +// ErrTransportCommunicationTimeout represent timeout error for a mock transport. +var ErrTransportCommunicationTimeout = errors.New("transport communication operation timed out") + +type fConn struct { + net.Conn + cipher.PubKey +} + +// MockFactory implements Factory over net.Pipe connections. +type MockFactory struct { + local cipher.PubKey + in chan *fConn + out chan *fConn + fType string +} + +// NewMockFactory constructs a pair of MockFactories. +func NewMockFactory(local, remote cipher.PubKey) (*MockFactory, *MockFactory) { + in := make(chan *fConn) + out := make(chan *fConn) + return &MockFactory{local, in, out, "mock"}, &MockFactory{remote, out, in, "mock"} +} + +// SetType sets type of transport. +func (f *MockFactory) SetType(fType string) { + f.fType = fType +} + +// Accept waits for new net.Conn notification from another MockFactory. +func (f *MockFactory) Accept(ctx context.Context) (Transport, error) { + conn, more := <-f.in + if !more { + return nil, errors.New("factory: closed") + } + return NewMockTransport(conn, f.local, conn.PubKey), nil +} + +// Dial creates pair of net.Conn via net.Pipe and passes one end to another MockFactory. +func (f *MockFactory) Dial(ctx context.Context, remote cipher.PubKey) (Transport, error) { + in, out := net.Pipe() + f.out <- &fConn{in, f.local} + return NewMockTransport(out, f.local, remote), nil +} + +// Close closes notification channel between a pair of MockFactories. +func (f *MockFactory) Close() error { + select { + case <-f.in: + default: + close(f.in) + } + return nil +} + +// Local returns a local PubKey of the Factory. +func (f *MockFactory) Local() cipher.PubKey { + return f.local +} + +// Type returns type of the Factory. +func (f *MockFactory) Type() string { + return f.fType +} + +// MockTransport is a transport that accepts custom writers and readers to use them in Read and Write +// operations +type MockTransport struct { + rw io.ReadWriteCloser + local cipher.PubKey + remote cipher.PubKey + context context.Context +} + +// NewMockTransport creates a transport with the given secret key and remote public key, taking a writer +// and a reader that will be used in the Write and Read operation +func NewMockTransport(rw io.ReadWriteCloser, local, remote cipher.PubKey) *MockTransport { + return &MockTransport{rw, local, remote, context.Background()} +} + +// Read implements reader for mock transport +func (m *MockTransport) Read(p []byte) (n int, err error) { + select { + case <-m.context.Done(): + return 0, ErrTransportCommunicationTimeout + default: + return m.rw.Read(p) + } +} + +// Write implements writer for mock transport +func (m *MockTransport) Write(p []byte) (n int, err error) { + select { + case <-m.context.Done(): + return 0, ErrTransportCommunicationTimeout + default: + return m.rw.Write(p) + } +} + +// Close implements closer for mock transport +func (m *MockTransport) Close() error { + return m.rw.Close() +} + +// Local returns the local static public key +func (m *MockTransport) Local() cipher.PubKey { + return m.local +} + +// Remote returns the remote public key fo the mock transport +func (m *MockTransport) Remote() cipher.PubKey { + return m.remote +} + +// SetDeadline sets a deadline for the write/read operations of the mock transport +func (m *MockTransport) SetDeadline(t time.Time) error { + // nolint + ctx, cancel := context.WithDeadline(m.context, t) + m.context = ctx + + go func(cancel context.CancelFunc) { + time.Sleep(time.Until(t)) + cancel() + }(cancel) + + return nil +} + +// Type returns the type of the mock transport +func (m *MockTransport) Type() string { + return "mock" +} diff --git a/pkg/transport/tcp_transport.go b/pkg/transport/tcp_transport.go new file mode 100644 index 000000000..701b5e518 --- /dev/null +++ b/pkg/transport/tcp_transport.go @@ -0,0 +1,197 @@ +package transport + +import ( + "bufio" + "context" + "errors" + "net" + "os" + "path/filepath" + "strings" + + "github.com/skycoin/skywire/pkg/cipher" +) + +// ErrUnknownRemote returned for connection attempts for remotes +// missing from the translation table. +var ErrUnknownRemote = errors.New("unknown remote") + +// TCPFactory implements Factory over TCP connection. +type TCPFactory struct { + l *net.TCPListener + lpk cipher.PubKey + pkt PubKeyTable +} + +// NewTCPFactory constructs a new TCP Factory. +func NewTCPFactory(lpk cipher.PubKey, pkt PubKeyTable, l *net.TCPListener) Factory { + return &TCPFactory{l, lpk, pkt} +} + +// Accept accepts a remotely-initiated Transport. +func (f *TCPFactory) Accept(ctx context.Context) (Transport, error) { + conn, err := f.l.AcceptTCP() + if err != nil { + return nil, err + } + + raddr := conn.RemoteAddr().(*net.TCPAddr) + rpk := f.pkt.RemotePK(raddr.IP) + if rpk.Null() { + return nil, ErrUnknownRemote + } + + return &TCPTransport{conn, f.lpk, rpk}, nil +} + +// Dial initiates a Transport with a remote node. +func (f *TCPFactory) Dial(ctx context.Context, remote cipher.PubKey) (Transport, error) { + raddr := f.pkt.RemoteAddr(remote) + if raddr == nil { + return nil, ErrUnknownRemote + } + + conn, err := net.DialTCP("tcp", nil, raddr) + if err != nil { + return nil, err + } + + return &TCPTransport{conn, f.lpk, remote}, nil +} + +// Close implements io.Closer +func (f *TCPFactory) Close() error { + return f.l.Close() +} + +// Local returns the local public key. +func (f *TCPFactory) Local() cipher.PubKey { + return f.lpk +} + +// Type returns the Transport type. +func (f *TCPFactory) Type() string { + return "tcp" +} + +// TCPTransport implements Transport over TCP connection. +type TCPTransport struct { + *net.TCPConn + lpk cipher.PubKey + rpk cipher.PubKey +} + +// Local returns the local transport edge's public key. +func (tr *TCPTransport) Local() cipher.PubKey { + return tr.lpk +} + +// Remote returns the remote transport edge's public key. +func (tr *TCPTransport) Remote() cipher.PubKey { + return tr.rpk +} + +// Type returns the string representation of the transport type. +func (tr *TCPTransport) Type() string { + return "tcp" +} + +// PubKeyTable provides translation between remote PubKey and TCPAddr. +type PubKeyTable interface { + RemoteAddr(remotePK cipher.PubKey) *net.TCPAddr + RemotePK(remoteIP net.IP) cipher.PubKey +} + +type inMemoryPKTable struct { + entries map[cipher.PubKey]*net.TCPAddr +} + +// InMemoryPubKeyTable returns in memory implementation of the PubKeyTable. +func InMemoryPubKeyTable(entries map[cipher.PubKey]*net.TCPAddr) PubKeyTable { + return &inMemoryPKTable{entries} +} + +func (t *inMemoryPKTable) RemoteAddr(remotePK cipher.PubKey) *net.TCPAddr { + return t.entries[remotePK] +} + +func (t *inMemoryPKTable) RemotePK(remoteIP net.IP) cipher.PubKey { + for pk, addr := range t.entries { + if addr.IP.String() == remoteIP.String() { + return pk + } + } + + return cipher.PubKey{} +} + +type filePKTable struct { + dbFile *os.File +} + +// FilePubKeyTable returns file based implementation of the PubKeyTable. +func FilePubKeyTable(dbFile string) (PubKeyTable, error) { + path, err := filepath.Abs(dbFile) + if err != nil { + return nil, err + } + + f, err := os.Open(path) + if err != nil { + return nil, err + } + + return &filePKTable{f}, nil +} + +func (t *filePKTable) RemoteAddr(remotePK cipher.PubKey) *net.TCPAddr { + var raddr *net.TCPAddr + t.Seek(func(pk cipher.PubKey, addr *net.TCPAddr) bool { + if pk == remotePK { + raddr = addr + return true + } + + return false + }) + return raddr +} + +func (t *filePKTable) RemotePK(remoteIP net.IP) cipher.PubKey { + var rpk cipher.PubKey + t.Seek(func(pk cipher.PubKey, addr *net.TCPAddr) bool { + if remoteIP.String() == addr.IP.String() { + rpk = pk + return true + } + + return false + }) + return rpk +} + +func (t *filePKTable) Seek(seekFunc func(pk cipher.PubKey, addr *net.TCPAddr) bool) { + defer t.dbFile.Seek(0, 0) // nolint + + scanner := bufio.NewScanner(t.dbFile) + for scanner.Scan() { + components := strings.Fields(scanner.Text()) + if len(components) != 2 { + continue + } + + pk := cipher.PubKey{} + if err := pk.UnmarshalText([]byte(components[0])); err != nil { + continue + } + + addr, err := net.ResolveTCPAddr("tcp", components[1]) + if err != nil { + continue + } + + if seekFunc(pk, addr) { + return + } + } +} diff --git a/pkg/transport/tcp_transport_test.go b/pkg/transport/tcp_transport_test.go new file mode 100644 index 000000000..bdb1d3ab6 --- /dev/null +++ b/pkg/transport/tcp_transport_test.go @@ -0,0 +1,92 @@ +package transport + +import ( + "context" + "fmt" + "io/ioutil" + "net" + "os" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/skycoin/skywire/pkg/cipher" +) + +func TestTCPFactory(t *testing.T) { + pk1, _ := cipher.GenerateKeyPair() + pk2, _ := cipher.GenerateKeyPair() + + addr1, err := net.ResolveTCPAddr("tcp", "127.0.0.1:9000") + require.NoError(t, err) + l1, err := net.ListenTCP("tcp", addr1) + require.NoError(t, err) + + addr2, err := net.ResolveTCPAddr("tcp", "127.0.0.1:9001") + require.NoError(t, err) + l2, err := net.ListenTCP("tcp", addr2) + require.NoError(t, err) + + pkt1 := InMemoryPubKeyTable(map[cipher.PubKey]*net.TCPAddr{pk2: addr2}) + pkt2 := InMemoryPubKeyTable(map[cipher.PubKey]*net.TCPAddr{pk1: addr1}) + + f1 := NewTCPFactory(pk1, pkt1, l1) + errCh := make(chan error) + go func() { + tr, err := f1.Accept(context.TODO()) + if err != nil { + errCh <- err + return + } + + if _, err := tr.Write([]byte("foo")); err != nil { + errCh <- err + return + } + + errCh <- nil + }() + + f2 := NewTCPFactory(pk2, pkt2, l2) + assert.Equal(t, "tcp", f2.Type()) + assert.Equal(t, pk2, f2.Local()) + + tr, err := f2.Dial(context.TODO(), pk1) + require.NoError(t, err) + assert.Equal(t, "tcp", tr.Type()) + assert.Equal(t, pk2, tr.Local()) + assert.Equal(t, pk1, tr.Remote()) + + buf := make([]byte, 3) + _, err = tr.Read(buf) + require.NoError(t, err) + assert.Equal(t, []byte("foo"), buf) + + require.NoError(t, tr.Close()) + require.NoError(t, f2.Close()) + require.NoError(t, f1.Close()) +} + +func TestFilePKTable(t *testing.T) { + pk, _ := cipher.GenerateKeyPair() + + tmpfile, err := ioutil.TempFile("", "pktable") + require.NoError(t, err) + defer os.Remove(tmpfile.Name()) + + addr, err := net.ResolveTCPAddr("tcp", "127.0.0.1:9000") + require.NoError(t, err) + + _, err = tmpfile.Write([]byte(fmt.Sprintf("%s\t%s\n", pk, addr))) + require.NoError(t, err) + + pkt, err := FilePubKeyTable(tmpfile.Name()) + require.NoError(t, err) + + raddr := pkt.RemoteAddr(pk) + assert.Equal(t, addr, raddr) + + rpk := pkt.RemotePK(addr.IP) + assert.Equal(t, pk, rpk) +} diff --git a/pkg/transport/transport.go b/pkg/transport/transport.go new file mode 100644 index 000000000..e9e4981fd --- /dev/null +++ b/pkg/transport/transport.go @@ -0,0 +1,55 @@ +// Package transport defines transport related entities and management +// operations. +package transport + +import ( + "context" + "time" + + "github.com/skycoin/skywire/pkg/cipher" +) + +// Transport represents communication between two nodes via a single hop. +type Transport interface { + + // Read implements io.Reader + Read(p []byte) (n int, err error) + + // Write implements io.Writer + Write(p []byte) (n int, err error) + + // Close implements io.Closer + Close() error + + // Local returns the local transport edge's public key. + Local() cipher.PubKey + + // Remote returns the remote transport edge's public key. + Remote() cipher.PubKey + + // SetDeadline functions the same as that from net.Conn + // With a Transport, we don't have a distinction between write and read timeouts. + SetDeadline(t time.Time) error + + // Type returns the string representation of the transport type. + Type() string +} + +// Factory generates Transports of a certain type. +type Factory interface { + + // Accept accepts a remotely-initiated Transport. + Accept(ctx context.Context) (Transport, error) + + // Dial initiates a Transport with a remote node. + Dial(ctx context.Context, remote cipher.PubKey) (Transport, error) + + // Close implements io.Closer + Close() error + + // Local returns the local public key. + Local() cipher.PubKey + + // Type returns the Transport type. + Type() string +} diff --git a/vendor/github.com/armon/go-socks5/.gitignore b/vendor/github.com/armon/go-socks5/.gitignore new file mode 100644 index 000000000..00268614f --- /dev/null +++ b/vendor/github.com/armon/go-socks5/.gitignore @@ -0,0 +1,22 @@ +# Compiled Object files, Static and Dynamic libs (Shared Objects) +*.o +*.a +*.so + +# Folders +_obj +_test + +# Architecture specific extensions/prefixes +*.[568vq] +[568vq].out + +*.cgo1.go +*.cgo2.c +_cgo_defun.c +_cgo_gotypes.go +_cgo_export.* + +_testmain.go + +*.exe diff --git a/vendor/github.com/armon/go-socks5/.travis.yml b/vendor/github.com/armon/go-socks5/.travis.yml new file mode 100644 index 000000000..8d61700ec --- /dev/null +++ b/vendor/github.com/armon/go-socks5/.travis.yml @@ -0,0 +1,4 @@ +language: go +go: + - 1.1 + - tip diff --git a/vendor/github.com/armon/go-socks5/LICENSE b/vendor/github.com/armon/go-socks5/LICENSE new file mode 100644 index 000000000..a5df10e67 --- /dev/null +++ b/vendor/github.com/armon/go-socks5/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2014 Armon Dadgar + +Permission 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: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE 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. diff --git a/vendor/github.com/armon/go-socks5/README.md b/vendor/github.com/armon/go-socks5/README.md new file mode 100644 index 000000000..9cd15635d --- /dev/null +++ b/vendor/github.com/armon/go-socks5/README.md @@ -0,0 +1,45 @@ +go-socks5 [![Build Status](https://travis-ci.org/armon/go-socks5.png)](https://travis-ci.org/armon/go-socks5) +========= + +Provides the `socks5` package that implements a [SOCKS5 server](http://en.wikipedia.org/wiki/SOCKS). +SOCKS (Secure Sockets) is used to route traffic between a client and server through +an intermediate proxy layer. This can be used to bypass firewalls or NATs. + +Feature +======= + +The package has the following features: +* "No Auth" mode +* User/Password authentication +* Support for the CONNECT command +* Rules to do granular filtering of commands +* Custom DNS resolution +* Unit tests + +TODO +==== + +The package still needs the following: +* Support for the BIND command +* Support for the ASSOCIATE command + + +Example +======= + +Below is a simple example of usage + +```go +// Create a SOCKS5 server +conf := &socks5.Config{} +server, err := socks5.New(conf) +if err != nil { + panic(err) +} + +// Create SOCKS5 proxy on localhost port 8000 +if err := server.ListenAndServe("tcp", "127.0.0.1:8000"); err != nil { + panic(err) +} +``` + diff --git a/vendor/github.com/armon/go-socks5/auth.go b/vendor/github.com/armon/go-socks5/auth.go new file mode 100644 index 000000000..7811e2aaf --- /dev/null +++ b/vendor/github.com/armon/go-socks5/auth.go @@ -0,0 +1,151 @@ +package socks5 + +import ( + "fmt" + "io" +) + +const ( + NoAuth = uint8(0) + noAcceptable = uint8(255) + UserPassAuth = uint8(2) + userAuthVersion = uint8(1) + authSuccess = uint8(0) + authFailure = uint8(1) +) + +var ( + UserAuthFailed = fmt.Errorf("User authentication failed") + NoSupportedAuth = fmt.Errorf("No supported authentication mechanism") +) + +// A Request encapsulates authentication state provided +// during negotiation +type AuthContext struct { + // Provided auth method + Method uint8 + // Payload provided during negotiation. + // Keys depend on the used auth method. + // For UserPassauth contains Username + Payload map[string]string +} + +type Authenticator interface { + Authenticate(reader io.Reader, writer io.Writer) (*AuthContext, error) + GetCode() uint8 +} + +// NoAuthAuthenticator is used to handle the "No Authentication" mode +type NoAuthAuthenticator struct{} + +func (a NoAuthAuthenticator) GetCode() uint8 { + return NoAuth +} + +func (a NoAuthAuthenticator) Authenticate(reader io.Reader, writer io.Writer) (*AuthContext, error) { + _, err := writer.Write([]byte{socks5Version, NoAuth}) + return &AuthContext{NoAuth, nil}, err +} + +// UserPassAuthenticator is used to handle username/password based +// authentication +type UserPassAuthenticator struct { + Credentials CredentialStore +} + +func (a UserPassAuthenticator) GetCode() uint8 { + return UserPassAuth +} + +func (a UserPassAuthenticator) Authenticate(reader io.Reader, writer io.Writer) (*AuthContext, error) { + // Tell the client to use user/pass auth + if _, err := writer.Write([]byte{socks5Version, UserPassAuth}); err != nil { + return nil, err + } + + // Get the version and username length + header := []byte{0, 0} + if _, err := io.ReadAtLeast(reader, header, 2); err != nil { + return nil, err + } + + // Ensure we are compatible + if header[0] != userAuthVersion { + return nil, fmt.Errorf("Unsupported auth version: %v", header[0]) + } + + // Get the user name + userLen := int(header[1]) + user := make([]byte, userLen) + if _, err := io.ReadAtLeast(reader, user, userLen); err != nil { + return nil, err + } + + // Get the password length + if _, err := reader.Read(header[:1]); err != nil { + return nil, err + } + + // Get the password + passLen := int(header[0]) + pass := make([]byte, passLen) + if _, err := io.ReadAtLeast(reader, pass, passLen); err != nil { + return nil, err + } + + // Verify the password + if a.Credentials.Valid(string(user), string(pass)) { + if _, err := writer.Write([]byte{userAuthVersion, authSuccess}); err != nil { + return nil, err + } + } else { + if _, err := writer.Write([]byte{userAuthVersion, authFailure}); err != nil { + return nil, err + } + return nil, UserAuthFailed + } + + // Done + return &AuthContext{UserPassAuth, map[string]string{"Username": string(user)}}, nil +} + +// authenticate is used to handle connection authentication +func (s *Server) authenticate(conn io.Writer, bufConn io.Reader) (*AuthContext, error) { + // Get the methods + methods, err := readMethods(bufConn) + if err != nil { + return nil, fmt.Errorf("Failed to get auth methods: %v", err) + } + + // Select a usable method + for _, method := range methods { + cator, found := s.authMethods[method] + if found { + return cator.Authenticate(bufConn, conn) + } + } + + // No usable method found + return nil, noAcceptableAuth(conn) +} + +// noAcceptableAuth is used to handle when we have no eligible +// authentication mechanism +func noAcceptableAuth(conn io.Writer) error { + conn.Write([]byte{socks5Version, noAcceptable}) + return NoSupportedAuth +} + +// readMethods is used to read the number of methods +// and proceeding auth methods +func readMethods(r io.Reader) ([]byte, error) { + header := []byte{0} + if _, err := r.Read(header); err != nil { + return nil, err + } + + numMethods := int(header[0]) + methods := make([]byte, numMethods) + _, err := io.ReadAtLeast(r, methods, numMethods) + return methods, err +} diff --git a/vendor/github.com/armon/go-socks5/credentials.go b/vendor/github.com/armon/go-socks5/credentials.go new file mode 100644 index 000000000..966642738 --- /dev/null +++ b/vendor/github.com/armon/go-socks5/credentials.go @@ -0,0 +1,17 @@ +package socks5 + +// CredentialStore is used to support user/pass authentication +type CredentialStore interface { + Valid(user, password string) bool +} + +// StaticCredentials enables using a map directly as a credential store +type StaticCredentials map[string]string + +func (s StaticCredentials) Valid(user, password string) bool { + pass, ok := s[user] + if !ok { + return false + } + return password == pass +} diff --git a/vendor/github.com/armon/go-socks5/request.go b/vendor/github.com/armon/go-socks5/request.go new file mode 100644 index 000000000..b615fcbed --- /dev/null +++ b/vendor/github.com/armon/go-socks5/request.go @@ -0,0 +1,364 @@ +package socks5 + +import ( + "fmt" + "io" + "net" + "strconv" + "strings" + + "golang.org/x/net/context" +) + +const ( + ConnectCommand = uint8(1) + BindCommand = uint8(2) + AssociateCommand = uint8(3) + ipv4Address = uint8(1) + fqdnAddress = uint8(3) + ipv6Address = uint8(4) +) + +const ( + successReply uint8 = iota + serverFailure + ruleFailure + networkUnreachable + hostUnreachable + connectionRefused + ttlExpired + commandNotSupported + addrTypeNotSupported +) + +var ( + unrecognizedAddrType = fmt.Errorf("Unrecognized address type") +) + +// AddressRewriter is used to rewrite a destination transparently +type AddressRewriter interface { + Rewrite(ctx context.Context, request *Request) (context.Context, *AddrSpec) +} + +// AddrSpec is used to return the target AddrSpec +// which may be specified as IPv4, IPv6, or a FQDN +type AddrSpec struct { + FQDN string + IP net.IP + Port int +} + +func (a *AddrSpec) String() string { + if a.FQDN != "" { + return fmt.Sprintf("%s (%s):%d", a.FQDN, a.IP, a.Port) + } + return fmt.Sprintf("%s:%d", a.IP, a.Port) +} + +// Address returns a string suitable to dial; prefer returning IP-based +// address, fallback to FQDN +func (a AddrSpec) Address() string { + if 0 != len(a.IP) { + return net.JoinHostPort(a.IP.String(), strconv.Itoa(a.Port)) + } + return net.JoinHostPort(a.FQDN, strconv.Itoa(a.Port)) +} + +// A Request represents request received by a server +type Request struct { + // Protocol version + Version uint8 + // Requested command + Command uint8 + // AuthContext provided during negotiation + AuthContext *AuthContext + // AddrSpec of the the network that sent the request + RemoteAddr *AddrSpec + // AddrSpec of the desired destination + DestAddr *AddrSpec + // AddrSpec of the actual destination (might be affected by rewrite) + realDestAddr *AddrSpec + bufConn io.Reader +} + +type conn interface { + Write([]byte) (int, error) + RemoteAddr() net.Addr +} + +// NewRequest creates a new Request from the tcp connection +func NewRequest(bufConn io.Reader) (*Request, error) { + // Read the version byte + header := []byte{0, 0, 0} + if _, err := io.ReadAtLeast(bufConn, header, 3); err != nil { + return nil, fmt.Errorf("Failed to get command version: %v", err) + } + + // Ensure we are compatible + if header[0] != socks5Version { + return nil, fmt.Errorf("Unsupported command version: %v", header[0]) + } + + // Read in the destination address + dest, err := readAddrSpec(bufConn) + if err != nil { + return nil, err + } + + request := &Request{ + Version: socks5Version, + Command: header[1], + DestAddr: dest, + bufConn: bufConn, + } + + return request, nil +} + +// handleRequest is used for request processing after authentication +func (s *Server) handleRequest(req *Request, conn conn) error { + ctx := context.Background() + + // Resolve the address if we have a FQDN + dest := req.DestAddr + if dest.FQDN != "" { + ctx_, addr, err := s.config.Resolver.Resolve(ctx, dest.FQDN) + if err != nil { + if err := sendReply(conn, hostUnreachable, nil); err != nil { + return fmt.Errorf("Failed to send reply: %v", err) + } + return fmt.Errorf("Failed to resolve destination '%v': %v", dest.FQDN, err) + } + ctx = ctx_ + dest.IP = addr + } + + // Apply any address rewrites + req.realDestAddr = req.DestAddr + if s.config.Rewriter != nil { + ctx, req.realDestAddr = s.config.Rewriter.Rewrite(ctx, req) + } + + // Switch on the command + switch req.Command { + case ConnectCommand: + return s.handleConnect(ctx, conn, req) + case BindCommand: + return s.handleBind(ctx, conn, req) + case AssociateCommand: + return s.handleAssociate(ctx, conn, req) + default: + if err := sendReply(conn, commandNotSupported, nil); err != nil { + return fmt.Errorf("Failed to send reply: %v", err) + } + return fmt.Errorf("Unsupported command: %v", req.Command) + } +} + +// handleConnect is used to handle a connect command +func (s *Server) handleConnect(ctx context.Context, conn conn, req *Request) error { + // Check if this is allowed + if ctx_, ok := s.config.Rules.Allow(ctx, req); !ok { + if err := sendReply(conn, ruleFailure, nil); err != nil { + return fmt.Errorf("Failed to send reply: %v", err) + } + return fmt.Errorf("Connect to %v blocked by rules", req.DestAddr) + } else { + ctx = ctx_ + } + + // Attempt to connect + dial := s.config.Dial + if dial == nil { + dial = func(ctx context.Context, net_, addr string) (net.Conn, error) { + return net.Dial(net_, addr) + } + } + target, err := dial(ctx, "tcp", req.realDestAddr.Address()) + if err != nil { + msg := err.Error() + resp := hostUnreachable + if strings.Contains(msg, "refused") { + resp = connectionRefused + } else if strings.Contains(msg, "network is unreachable") { + resp = networkUnreachable + } + if err := sendReply(conn, resp, nil); err != nil { + return fmt.Errorf("Failed to send reply: %v", err) + } + return fmt.Errorf("Connect to %v failed: %v", req.DestAddr, err) + } + defer target.Close() + + // Send success + local := target.LocalAddr().(*net.TCPAddr) + bind := AddrSpec{IP: local.IP, Port: local.Port} + if err := sendReply(conn, successReply, &bind); err != nil { + return fmt.Errorf("Failed to send reply: %v", err) + } + + // Start proxying + errCh := make(chan error, 2) + go proxy(target, req.bufConn, errCh) + go proxy(conn, target, errCh) + + // Wait + for i := 0; i < 2; i++ { + e := <-errCh + if e != nil { + // return from this function closes target (and conn). + return e + } + } + return nil +} + +// handleBind is used to handle a connect command +func (s *Server) handleBind(ctx context.Context, conn conn, req *Request) error { + // Check if this is allowed + if ctx_, ok := s.config.Rules.Allow(ctx, req); !ok { + if err := sendReply(conn, ruleFailure, nil); err != nil { + return fmt.Errorf("Failed to send reply: %v", err) + } + return fmt.Errorf("Bind to %v blocked by rules", req.DestAddr) + } else { + ctx = ctx_ + } + + // TODO: Support bind + if err := sendReply(conn, commandNotSupported, nil); err != nil { + return fmt.Errorf("Failed to send reply: %v", err) + } + return nil +} + +// handleAssociate is used to handle a connect command +func (s *Server) handleAssociate(ctx context.Context, conn conn, req *Request) error { + // Check if this is allowed + if ctx_, ok := s.config.Rules.Allow(ctx, req); !ok { + if err := sendReply(conn, ruleFailure, nil); err != nil { + return fmt.Errorf("Failed to send reply: %v", err) + } + return fmt.Errorf("Associate to %v blocked by rules", req.DestAddr) + } else { + ctx = ctx_ + } + + // TODO: Support associate + if err := sendReply(conn, commandNotSupported, nil); err != nil { + return fmt.Errorf("Failed to send reply: %v", err) + } + return nil +} + +// readAddrSpec is used to read AddrSpec. +// Expects an address type byte, follwed by the address and port +func readAddrSpec(r io.Reader) (*AddrSpec, error) { + d := &AddrSpec{} + + // Get the address type + addrType := []byte{0} + if _, err := r.Read(addrType); err != nil { + return nil, err + } + + // Handle on a per type basis + switch addrType[0] { + case ipv4Address: + addr := make([]byte, 4) + if _, err := io.ReadAtLeast(r, addr, len(addr)); err != nil { + return nil, err + } + d.IP = net.IP(addr) + + case ipv6Address: + addr := make([]byte, 16) + if _, err := io.ReadAtLeast(r, addr, len(addr)); err != nil { + return nil, err + } + d.IP = net.IP(addr) + + case fqdnAddress: + if _, err := r.Read(addrType); err != nil { + return nil, err + } + addrLen := int(addrType[0]) + fqdn := make([]byte, addrLen) + if _, err := io.ReadAtLeast(r, fqdn, addrLen); err != nil { + return nil, err + } + d.FQDN = string(fqdn) + + default: + return nil, unrecognizedAddrType + } + + // Read the port + port := []byte{0, 0} + if _, err := io.ReadAtLeast(r, port, 2); err != nil { + return nil, err + } + d.Port = (int(port[0]) << 8) | int(port[1]) + + return d, nil +} + +// sendReply is used to send a reply message +func sendReply(w io.Writer, resp uint8, addr *AddrSpec) error { + // Format the address + var addrType uint8 + var addrBody []byte + var addrPort uint16 + switch { + case addr == nil: + addrType = ipv4Address + addrBody = []byte{0, 0, 0, 0} + addrPort = 0 + + case addr.FQDN != "": + addrType = fqdnAddress + addrBody = append([]byte{byte(len(addr.FQDN))}, addr.FQDN...) + addrPort = uint16(addr.Port) + + case addr.IP.To4() != nil: + addrType = ipv4Address + addrBody = []byte(addr.IP.To4()) + addrPort = uint16(addr.Port) + + case addr.IP.To16() != nil: + addrType = ipv6Address + addrBody = []byte(addr.IP.To16()) + addrPort = uint16(addr.Port) + + default: + return fmt.Errorf("Failed to format address: %v", addr) + } + + // Format the message + msg := make([]byte, 6+len(addrBody)) + msg[0] = socks5Version + msg[1] = resp + msg[2] = 0 // Reserved + msg[3] = addrType + copy(msg[4:], addrBody) + msg[4+len(addrBody)] = byte(addrPort >> 8) + msg[4+len(addrBody)+1] = byte(addrPort & 0xff) + + // Send the message + _, err := w.Write(msg) + return err +} + +type closeWriter interface { + CloseWrite() error +} + +// proxy is used to suffle data from src to destination, and sends errors +// down a dedicated channel +func proxy(dst io.Writer, src io.Reader, errCh chan error) { + _, err := io.Copy(dst, src) + if tcpConn, ok := dst.(closeWriter); ok { + tcpConn.CloseWrite() + } + errCh <- err +} diff --git a/vendor/github.com/armon/go-socks5/resolver.go b/vendor/github.com/armon/go-socks5/resolver.go new file mode 100644 index 000000000..b75a5c4da --- /dev/null +++ b/vendor/github.com/armon/go-socks5/resolver.go @@ -0,0 +1,23 @@ +package socks5 + +import ( + "net" + + "golang.org/x/net/context" +) + +// NameResolver is used to implement custom name resolution +type NameResolver interface { + Resolve(ctx context.Context, name string) (context.Context, net.IP, error) +} + +// DNSResolver uses the system DNS to resolve host names +type DNSResolver struct{} + +func (d DNSResolver) Resolve(ctx context.Context, name string) (context.Context, net.IP, error) { + addr, err := net.ResolveIPAddr("ip", name) + if err != nil { + return ctx, nil, err + } + return ctx, addr.IP, err +} diff --git a/vendor/github.com/armon/go-socks5/ruleset.go b/vendor/github.com/armon/go-socks5/ruleset.go new file mode 100644 index 000000000..ba0e3538e --- /dev/null +++ b/vendor/github.com/armon/go-socks5/ruleset.go @@ -0,0 +1,41 @@ +package socks5 + +import ( + "golang.org/x/net/context" +) + +// RuleSet is used to provide custom rules to allow or prohibit actions +type RuleSet interface { + Allow(ctx context.Context, req *Request) (context.Context, bool) +} + +// PermitAll returns a RuleSet which allows all types of connections +func PermitAll() RuleSet { + return &PermitCommand{true, true, true} +} + +// PermitNone returns a RuleSet which disallows all types of connections +func PermitNone() RuleSet { + return &PermitCommand{false, false, false} +} + +// PermitCommand is an implementation of the RuleSet which +// enables filtering supported commands +type PermitCommand struct { + EnableConnect bool + EnableBind bool + EnableAssociate bool +} + +func (p *PermitCommand) Allow(ctx context.Context, req *Request) (context.Context, bool) { + switch req.Command { + case ConnectCommand: + return ctx, p.EnableConnect + case BindCommand: + return ctx, p.EnableBind + case AssociateCommand: + return ctx, p.EnableAssociate + } + + return ctx, false +} diff --git a/vendor/github.com/armon/go-socks5/socks5.go b/vendor/github.com/armon/go-socks5/socks5.go new file mode 100644 index 000000000..a17be68f4 --- /dev/null +++ b/vendor/github.com/armon/go-socks5/socks5.go @@ -0,0 +1,169 @@ +package socks5 + +import ( + "bufio" + "fmt" + "log" + "net" + "os" + + "golang.org/x/net/context" +) + +const ( + socks5Version = uint8(5) +) + +// Config is used to setup and configure a Server +type Config struct { + // AuthMethods can be provided to implement custom authentication + // By default, "auth-less" mode is enabled. + // For password-based auth use UserPassAuthenticator. + AuthMethods []Authenticator + + // If provided, username/password authentication is enabled, + // by appending a UserPassAuthenticator to AuthMethods. If not provided, + // and AUthMethods is nil, then "auth-less" mode is enabled. + Credentials CredentialStore + + // Resolver can be provided to do custom name resolution. + // Defaults to DNSResolver if not provided. + Resolver NameResolver + + // Rules is provided to enable custom logic around permitting + // various commands. If not provided, PermitAll is used. + Rules RuleSet + + // Rewriter can be used to transparently rewrite addresses. + // This is invoked before the RuleSet is invoked. + // Defaults to NoRewrite. + Rewriter AddressRewriter + + // BindIP is used for bind or udp associate + BindIP net.IP + + // Logger can be used to provide a custom log target. + // Defaults to stdout. + Logger *log.Logger + + // Optional function for dialing out + Dial func(ctx context.Context, network, addr string) (net.Conn, error) +} + +// Server is reponsible for accepting connections and handling +// the details of the SOCKS5 protocol +type Server struct { + config *Config + authMethods map[uint8]Authenticator +} + +// New creates a new Server and potentially returns an error +func New(conf *Config) (*Server, error) { + // Ensure we have at least one authentication method enabled + if len(conf.AuthMethods) == 0 { + if conf.Credentials != nil { + conf.AuthMethods = []Authenticator{&UserPassAuthenticator{conf.Credentials}} + } else { + conf.AuthMethods = []Authenticator{&NoAuthAuthenticator{}} + } + } + + // Ensure we have a DNS resolver + if conf.Resolver == nil { + conf.Resolver = DNSResolver{} + } + + // Ensure we have a rule set + if conf.Rules == nil { + conf.Rules = PermitAll() + } + + // Ensure we have a log target + if conf.Logger == nil { + conf.Logger = log.New(os.Stdout, "", log.LstdFlags) + } + + server := &Server{ + config: conf, + } + + server.authMethods = make(map[uint8]Authenticator) + + for _, a := range conf.AuthMethods { + server.authMethods[a.GetCode()] = a + } + + return server, nil +} + +// ListenAndServe is used to create a listener and serve on it +func (s *Server) ListenAndServe(network, addr string) error { + l, err := net.Listen(network, addr) + if err != nil { + return err + } + return s.Serve(l) +} + +// Serve is used to serve connections from a listener +func (s *Server) Serve(l net.Listener) error { + for { + conn, err := l.Accept() + if err != nil { + return err + } + go s.ServeConn(conn) + } + return nil +} + +// ServeConn is used to serve a single connection. +func (s *Server) ServeConn(conn net.Conn) error { + defer conn.Close() + bufConn := bufio.NewReader(conn) + + // Read the version byte + version := []byte{0} + if _, err := bufConn.Read(version); err != nil { + s.config.Logger.Printf("[ERR] socks: Failed to get version byte: %v", err) + return err + } + + // Ensure we are compatible + if version[0] != socks5Version { + err := fmt.Errorf("Unsupported SOCKS version: %v", version) + s.config.Logger.Printf("[ERR] socks: %v", err) + return err + } + + // Authenticate the connection + authContext, err := s.authenticate(conn, bufConn) + if err != nil { + err = fmt.Errorf("Failed to authenticate: %v", err) + s.config.Logger.Printf("[ERR] socks: %v", err) + return err + } + + request, err := NewRequest(bufConn) + if err != nil { + if err == unrecognizedAddrType { + if err := sendReply(conn, addrTypeNotSupported, nil); err != nil { + return fmt.Errorf("Failed to send reply: %v", err) + } + } + return fmt.Errorf("Failed to read destination address: %v", err) + } + request.AuthContext = authContext + if client, ok := conn.RemoteAddr().(*net.TCPAddr); ok { + request.RemoteAddr = &AddrSpec{IP: client.IP, Port: client.Port} + } + + // Process the client request + if err := s.handleRequest(request, conn); err != nil { + err = fmt.Errorf("Failed to handle request: %v", err) + s.config.Logger.Printf("[ERR] socks: %v", err) + return err + } + + return nil +} diff --git a/vendor/github.com/davecgh/go-spew/LICENSE b/vendor/github.com/davecgh/go-spew/LICENSE new file mode 100644 index 000000000..bc52e96f2 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/LICENSE @@ -0,0 +1,15 @@ +ISC License + +Copyright (c) 2012-2016 Dave Collins + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/vendor/github.com/davecgh/go-spew/spew/bypass.go b/vendor/github.com/davecgh/go-spew/spew/bypass.go new file mode 100644 index 000000000..792994785 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/bypass.go @@ -0,0 +1,145 @@ +// Copyright (c) 2015-2016 Dave Collins +// +// Permission to use, copy, modify, and distribute this software for any +// purpose with or without fee is hereby granted, provided that the above +// copyright notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +// NOTE: Due to the following build constraints, this file will only be compiled +// when the code is not running on Google App Engine, compiled by GopherJS, and +// "-tags safe" is not added to the go build command line. The "disableunsafe" +// tag is deprecated and thus should not be used. +// Go versions prior to 1.4 are disabled because they use a different layout +// for interfaces which make the implementation of unsafeReflectValue more complex. +// +build !js,!appengine,!safe,!disableunsafe,go1.4 + +package spew + +import ( + "reflect" + "unsafe" +) + +const ( + // UnsafeDisabled is a build-time constant which specifies whether or + // not access to the unsafe package is available. + UnsafeDisabled = false + + // ptrSize is the size of a pointer on the current arch. + ptrSize = unsafe.Sizeof((*byte)(nil)) +) + +type flag uintptr + +var ( + // flagRO indicates whether the value field of a reflect.Value + // is read-only. + flagRO flag + + // flagAddr indicates whether the address of the reflect.Value's + // value may be taken. + flagAddr flag +) + +// flagKindMask holds the bits that make up the kind +// part of the flags field. In all the supported versions, +// it is in the lower 5 bits. +const flagKindMask = flag(0x1f) + +// Different versions of Go have used different +// bit layouts for the flags type. This table +// records the known combinations. +var okFlags = []struct { + ro, addr flag +}{{ + // From Go 1.4 to 1.5 + ro: 1 << 5, + addr: 1 << 7, +}, { + // Up to Go tip. + ro: 1<<5 | 1<<6, + addr: 1 << 8, +}} + +var flagValOffset = func() uintptr { + field, ok := reflect.TypeOf(reflect.Value{}).FieldByName("flag") + if !ok { + panic("reflect.Value has no flag field") + } + return field.Offset +}() + +// flagField returns a pointer to the flag field of a reflect.Value. +func flagField(v *reflect.Value) *flag { + return (*flag)(unsafe.Pointer(uintptr(unsafe.Pointer(v)) + flagValOffset)) +} + +// unsafeReflectValue converts the passed reflect.Value into a one that bypasses +// the typical safety restrictions preventing access to unaddressable and +// unexported data. It works by digging the raw pointer to the underlying +// value out of the protected value and generating a new unprotected (unsafe) +// reflect.Value to it. +// +// This allows us to check for implementations of the Stringer and error +// interfaces to be used for pretty printing ordinarily unaddressable and +// inaccessible values such as unexported struct fields. +func unsafeReflectValue(v reflect.Value) reflect.Value { + if !v.IsValid() || (v.CanInterface() && v.CanAddr()) { + return v + } + flagFieldPtr := flagField(&v) + *flagFieldPtr &^= flagRO + *flagFieldPtr |= flagAddr + return v +} + +// Sanity checks against future reflect package changes +// to the type or semantics of the Value.flag field. +func init() { + field, ok := reflect.TypeOf(reflect.Value{}).FieldByName("flag") + if !ok { + panic("reflect.Value has no flag field") + } + if field.Type.Kind() != reflect.TypeOf(flag(0)).Kind() { + panic("reflect.Value flag field has changed kind") + } + type t0 int + var t struct { + A t0 + // t0 will have flagEmbedRO set. + t0 + // a will have flagStickyRO set + a t0 + } + vA := reflect.ValueOf(t).FieldByName("A") + va := reflect.ValueOf(t).FieldByName("a") + vt0 := reflect.ValueOf(t).FieldByName("t0") + + // Infer flagRO from the difference between the flags + // for the (otherwise identical) fields in t. + flagPublic := *flagField(&vA) + flagWithRO := *flagField(&va) | *flagField(&vt0) + flagRO = flagPublic ^ flagWithRO + + // Infer flagAddr from the difference between a value + // taken from a pointer and not. + vPtrA := reflect.ValueOf(&t).Elem().FieldByName("A") + flagNoPtr := *flagField(&vA) + flagPtr := *flagField(&vPtrA) + flagAddr = flagNoPtr ^ flagPtr + + // Check that the inferred flags tally with one of the known versions. + for _, f := range okFlags { + if flagRO == f.ro && flagAddr == f.addr { + return + } + } + panic("reflect.Value read-only flag has changed semantics") +} diff --git a/vendor/github.com/davecgh/go-spew/spew/bypasssafe.go b/vendor/github.com/davecgh/go-spew/spew/bypasssafe.go new file mode 100644 index 000000000..205c28d68 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/bypasssafe.go @@ -0,0 +1,38 @@ +// Copyright (c) 2015-2016 Dave Collins +// +// Permission to use, copy, modify, and distribute this software for any +// purpose with or without fee is hereby granted, provided that the above +// copyright notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +// NOTE: Due to the following build constraints, this file will only be compiled +// when the code is running on Google App Engine, compiled by GopherJS, or +// "-tags safe" is added to the go build command line. The "disableunsafe" +// tag is deprecated and thus should not be used. +// +build js appengine safe disableunsafe !go1.4 + +package spew + +import "reflect" + +const ( + // UnsafeDisabled is a build-time constant which specifies whether or + // not access to the unsafe package is available. + UnsafeDisabled = true +) + +// unsafeReflectValue typically converts the passed reflect.Value into a one +// that bypasses the typical safety restrictions preventing access to +// unaddressable and unexported data. However, doing this relies on access to +// the unsafe package. This is a stub version which simply returns the passed +// reflect.Value when the unsafe package is not available. +func unsafeReflectValue(v reflect.Value) reflect.Value { + return v +} diff --git a/vendor/github.com/davecgh/go-spew/spew/common.go b/vendor/github.com/davecgh/go-spew/spew/common.go new file mode 100644 index 000000000..1be8ce945 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/common.go @@ -0,0 +1,341 @@ +/* + * Copyright (c) 2013-2016 Dave Collins + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +package spew + +import ( + "bytes" + "fmt" + "io" + "reflect" + "sort" + "strconv" +) + +// Some constants in the form of bytes to avoid string overhead. This mirrors +// the technique used in the fmt package. +var ( + panicBytes = []byte("(PANIC=") + plusBytes = []byte("+") + iBytes = []byte("i") + trueBytes = []byte("true") + falseBytes = []byte("false") + interfaceBytes = []byte("(interface {})") + commaNewlineBytes = []byte(",\n") + newlineBytes = []byte("\n") + openBraceBytes = []byte("{") + openBraceNewlineBytes = []byte("{\n") + closeBraceBytes = []byte("}") + asteriskBytes = []byte("*") + colonBytes = []byte(":") + colonSpaceBytes = []byte(": ") + openParenBytes = []byte("(") + closeParenBytes = []byte(")") + spaceBytes = []byte(" ") + pointerChainBytes = []byte("->") + nilAngleBytes = []byte("") + maxNewlineBytes = []byte("\n") + maxShortBytes = []byte("") + circularBytes = []byte("") + circularShortBytes = []byte("") + invalidAngleBytes = []byte("") + openBracketBytes = []byte("[") + closeBracketBytes = []byte("]") + percentBytes = []byte("%") + precisionBytes = []byte(".") + openAngleBytes = []byte("<") + closeAngleBytes = []byte(">") + openMapBytes = []byte("map[") + closeMapBytes = []byte("]") + lenEqualsBytes = []byte("len=") + capEqualsBytes = []byte("cap=") +) + +// hexDigits is used to map a decimal value to a hex digit. +var hexDigits = "0123456789abcdef" + +// catchPanic handles any panics that might occur during the handleMethods +// calls. +func catchPanic(w io.Writer, v reflect.Value) { + if err := recover(); err != nil { + w.Write(panicBytes) + fmt.Fprintf(w, "%v", err) + w.Write(closeParenBytes) + } +} + +// handleMethods attempts to call the Error and String methods on the underlying +// type the passed reflect.Value represents and outputes the result to Writer w. +// +// It handles panics in any called methods by catching and displaying the error +// as the formatted value. +func handleMethods(cs *ConfigState, w io.Writer, v reflect.Value) (handled bool) { + // We need an interface to check if the type implements the error or + // Stringer interface. However, the reflect package won't give us an + // interface on certain things like unexported struct fields in order + // to enforce visibility rules. We use unsafe, when it's available, + // to bypass these restrictions since this package does not mutate the + // values. + if !v.CanInterface() { + if UnsafeDisabled { + return false + } + + v = unsafeReflectValue(v) + } + + // Choose whether or not to do error and Stringer interface lookups against + // the base type or a pointer to the base type depending on settings. + // Technically calling one of these methods with a pointer receiver can + // mutate the value, however, types which choose to satisify an error or + // Stringer interface with a pointer receiver should not be mutating their + // state inside these interface methods. + if !cs.DisablePointerMethods && !UnsafeDisabled && !v.CanAddr() { + v = unsafeReflectValue(v) + } + if v.CanAddr() { + v = v.Addr() + } + + // Is it an error or Stringer? + switch iface := v.Interface().(type) { + case error: + defer catchPanic(w, v) + if cs.ContinueOnMethod { + w.Write(openParenBytes) + w.Write([]byte(iface.Error())) + w.Write(closeParenBytes) + w.Write(spaceBytes) + return false + } + + w.Write([]byte(iface.Error())) + return true + + case fmt.Stringer: + defer catchPanic(w, v) + if cs.ContinueOnMethod { + w.Write(openParenBytes) + w.Write([]byte(iface.String())) + w.Write(closeParenBytes) + w.Write(spaceBytes) + return false + } + w.Write([]byte(iface.String())) + return true + } + return false +} + +// printBool outputs a boolean value as true or false to Writer w. +func printBool(w io.Writer, val bool) { + if val { + w.Write(trueBytes) + } else { + w.Write(falseBytes) + } +} + +// printInt outputs a signed integer value to Writer w. +func printInt(w io.Writer, val int64, base int) { + w.Write([]byte(strconv.FormatInt(val, base))) +} + +// printUint outputs an unsigned integer value to Writer w. +func printUint(w io.Writer, val uint64, base int) { + w.Write([]byte(strconv.FormatUint(val, base))) +} + +// printFloat outputs a floating point value using the specified precision, +// which is expected to be 32 or 64bit, to Writer w. +func printFloat(w io.Writer, val float64, precision int) { + w.Write([]byte(strconv.FormatFloat(val, 'g', -1, precision))) +} + +// printComplex outputs a complex value using the specified float precision +// for the real and imaginary parts to Writer w. +func printComplex(w io.Writer, c complex128, floatPrecision int) { + r := real(c) + w.Write(openParenBytes) + w.Write([]byte(strconv.FormatFloat(r, 'g', -1, floatPrecision))) + i := imag(c) + if i >= 0 { + w.Write(plusBytes) + } + w.Write([]byte(strconv.FormatFloat(i, 'g', -1, floatPrecision))) + w.Write(iBytes) + w.Write(closeParenBytes) +} + +// printHexPtr outputs a uintptr formatted as hexadecimal with a leading '0x' +// prefix to Writer w. +func printHexPtr(w io.Writer, p uintptr) { + // Null pointer. + num := uint64(p) + if num == 0 { + w.Write(nilAngleBytes) + return + } + + // Max uint64 is 16 bytes in hex + 2 bytes for '0x' prefix + buf := make([]byte, 18) + + // It's simpler to construct the hex string right to left. + base := uint64(16) + i := len(buf) - 1 + for num >= base { + buf[i] = hexDigits[num%base] + num /= base + i-- + } + buf[i] = hexDigits[num] + + // Add '0x' prefix. + i-- + buf[i] = 'x' + i-- + buf[i] = '0' + + // Strip unused leading bytes. + buf = buf[i:] + w.Write(buf) +} + +// valuesSorter implements sort.Interface to allow a slice of reflect.Value +// elements to be sorted. +type valuesSorter struct { + values []reflect.Value + strings []string // either nil or same len and values + cs *ConfigState +} + +// newValuesSorter initializes a valuesSorter instance, which holds a set of +// surrogate keys on which the data should be sorted. It uses flags in +// ConfigState to decide if and how to populate those surrogate keys. +func newValuesSorter(values []reflect.Value, cs *ConfigState) sort.Interface { + vs := &valuesSorter{values: values, cs: cs} + if canSortSimply(vs.values[0].Kind()) { + return vs + } + if !cs.DisableMethods { + vs.strings = make([]string, len(values)) + for i := range vs.values { + b := bytes.Buffer{} + if !handleMethods(cs, &b, vs.values[i]) { + vs.strings = nil + break + } + vs.strings[i] = b.String() + } + } + if vs.strings == nil && cs.SpewKeys { + vs.strings = make([]string, len(values)) + for i := range vs.values { + vs.strings[i] = Sprintf("%#v", vs.values[i].Interface()) + } + } + return vs +} + +// canSortSimply tests whether a reflect.Kind is a primitive that can be sorted +// directly, or whether it should be considered for sorting by surrogate keys +// (if the ConfigState allows it). +func canSortSimply(kind reflect.Kind) bool { + // This switch parallels valueSortLess, except for the default case. + switch kind { + case reflect.Bool: + return true + case reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int: + return true + case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint: + return true + case reflect.Float32, reflect.Float64: + return true + case reflect.String: + return true + case reflect.Uintptr: + return true + case reflect.Array: + return true + } + return false +} + +// Len returns the number of values in the slice. It is part of the +// sort.Interface implementation. +func (s *valuesSorter) Len() int { + return len(s.values) +} + +// Swap swaps the values at the passed indices. It is part of the +// sort.Interface implementation. +func (s *valuesSorter) Swap(i, j int) { + s.values[i], s.values[j] = s.values[j], s.values[i] + if s.strings != nil { + s.strings[i], s.strings[j] = s.strings[j], s.strings[i] + } +} + +// valueSortLess returns whether the first value should sort before the second +// value. It is used by valueSorter.Less as part of the sort.Interface +// implementation. +func valueSortLess(a, b reflect.Value) bool { + switch a.Kind() { + case reflect.Bool: + return !a.Bool() && b.Bool() + case reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int: + return a.Int() < b.Int() + case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint: + return a.Uint() < b.Uint() + case reflect.Float32, reflect.Float64: + return a.Float() < b.Float() + case reflect.String: + return a.String() < b.String() + case reflect.Uintptr: + return a.Uint() < b.Uint() + case reflect.Array: + // Compare the contents of both arrays. + l := a.Len() + for i := 0; i < l; i++ { + av := a.Index(i) + bv := b.Index(i) + if av.Interface() == bv.Interface() { + continue + } + return valueSortLess(av, bv) + } + } + return a.String() < b.String() +} + +// Less returns whether the value at index i should sort before the +// value at index j. It is part of the sort.Interface implementation. +func (s *valuesSorter) Less(i, j int) bool { + if s.strings == nil { + return valueSortLess(s.values[i], s.values[j]) + } + return s.strings[i] < s.strings[j] +} + +// sortValues is a sort function that handles both native types and any type that +// can be converted to error or Stringer. Other inputs are sorted according to +// their Value.String() value to ensure display stability. +func sortValues(values []reflect.Value, cs *ConfigState) { + if len(values) == 0 { + return + } + sort.Sort(newValuesSorter(values, cs)) +} diff --git a/vendor/github.com/davecgh/go-spew/spew/config.go b/vendor/github.com/davecgh/go-spew/spew/config.go new file mode 100644 index 000000000..2e3d22f31 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/config.go @@ -0,0 +1,306 @@ +/* + * Copyright (c) 2013-2016 Dave Collins + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +package spew + +import ( + "bytes" + "fmt" + "io" + "os" +) + +// ConfigState houses the configuration options used by spew to format and +// display values. There is a global instance, Config, that is used to control +// all top-level Formatter and Dump functionality. Each ConfigState instance +// provides methods equivalent to the top-level functions. +// +// The zero value for ConfigState provides no indentation. You would typically +// want to set it to a space or a tab. +// +// Alternatively, you can use NewDefaultConfig to get a ConfigState instance +// with default settings. See the documentation of NewDefaultConfig for default +// values. +type ConfigState struct { + // Indent specifies the string to use for each indentation level. The + // global config instance that all top-level functions use set this to a + // single space by default. If you would like more indentation, you might + // set this to a tab with "\t" or perhaps two spaces with " ". + Indent string + + // MaxDepth controls the maximum number of levels to descend into nested + // data structures. The default, 0, means there is no limit. + // + // NOTE: Circular data structures are properly detected, so it is not + // necessary to set this value unless you specifically want to limit deeply + // nested data structures. + MaxDepth int + + // DisableMethods specifies whether or not error and Stringer interfaces are + // invoked for types that implement them. + DisableMethods bool + + // DisablePointerMethods specifies whether or not to check for and invoke + // error and Stringer interfaces on types which only accept a pointer + // receiver when the current type is not a pointer. + // + // NOTE: This might be an unsafe action since calling one of these methods + // with a pointer receiver could technically mutate the value, however, + // in practice, types which choose to satisify an error or Stringer + // interface with a pointer receiver should not be mutating their state + // inside these interface methods. As a result, this option relies on + // access to the unsafe package, so it will not have any effect when + // running in environments without access to the unsafe package such as + // Google App Engine or with the "safe" build tag specified. + DisablePointerMethods bool + + // DisablePointerAddresses specifies whether to disable the printing of + // pointer addresses. This is useful when diffing data structures in tests. + DisablePointerAddresses bool + + // DisableCapacities specifies whether to disable the printing of capacities + // for arrays, slices, maps and channels. This is useful when diffing + // data structures in tests. + DisableCapacities bool + + // ContinueOnMethod specifies whether or not recursion should continue once + // a custom error or Stringer interface is invoked. The default, false, + // means it will print the results of invoking the custom error or Stringer + // interface and return immediately instead of continuing to recurse into + // the internals of the data type. + // + // NOTE: This flag does not have any effect if method invocation is disabled + // via the DisableMethods or DisablePointerMethods options. + ContinueOnMethod bool + + // SortKeys specifies map keys should be sorted before being printed. Use + // this to have a more deterministic, diffable output. Note that only + // native types (bool, int, uint, floats, uintptr and string) and types + // that support the error or Stringer interfaces (if methods are + // enabled) are supported, with other types sorted according to the + // reflect.Value.String() output which guarantees display stability. + SortKeys bool + + // SpewKeys specifies that, as a last resort attempt, map keys should + // be spewed to strings and sorted by those strings. This is only + // considered if SortKeys is true. + SpewKeys bool +} + +// Config is the active configuration of the top-level functions. +// The configuration can be changed by modifying the contents of spew.Config. +var Config = ConfigState{Indent: " "} + +// Errorf is a wrapper for fmt.Errorf that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the formatted string as a value that satisfies error. See NewFormatter +// for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Errorf(format, c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Errorf(format string, a ...interface{}) (err error) { + return fmt.Errorf(format, c.convertArgs(a)...) +} + +// Fprint is a wrapper for fmt.Fprint that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Fprint(w, c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Fprint(w io.Writer, a ...interface{}) (n int, err error) { + return fmt.Fprint(w, c.convertArgs(a)...) +} + +// Fprintf is a wrapper for fmt.Fprintf that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Fprintf(w, format, c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error) { + return fmt.Fprintf(w, format, c.convertArgs(a)...) +} + +// Fprintln is a wrapper for fmt.Fprintln that treats each argument as if it +// passed with a Formatter interface returned by c.NewFormatter. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Fprintln(w, c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Fprintln(w io.Writer, a ...interface{}) (n int, err error) { + return fmt.Fprintln(w, c.convertArgs(a)...) +} + +// Print is a wrapper for fmt.Print that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Print(c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Print(a ...interface{}) (n int, err error) { + return fmt.Print(c.convertArgs(a)...) +} + +// Printf is a wrapper for fmt.Printf that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Printf(format, c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Printf(format string, a ...interface{}) (n int, err error) { + return fmt.Printf(format, c.convertArgs(a)...) +} + +// Println is a wrapper for fmt.Println that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Println(c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Println(a ...interface{}) (n int, err error) { + return fmt.Println(c.convertArgs(a)...) +} + +// Sprint is a wrapper for fmt.Sprint that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the resulting string. See NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Sprint(c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Sprint(a ...interface{}) string { + return fmt.Sprint(c.convertArgs(a)...) +} + +// Sprintf is a wrapper for fmt.Sprintf that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the resulting string. See NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Sprintf(format, c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Sprintf(format string, a ...interface{}) string { + return fmt.Sprintf(format, c.convertArgs(a)...) +} + +// Sprintln is a wrapper for fmt.Sprintln that treats each argument as if it +// were passed with a Formatter interface returned by c.NewFormatter. It +// returns the resulting string. See NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Sprintln(c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Sprintln(a ...interface{}) string { + return fmt.Sprintln(c.convertArgs(a)...) +} + +/* +NewFormatter returns a custom formatter that satisfies the fmt.Formatter +interface. As a result, it integrates cleanly with standard fmt package +printing functions. The formatter is useful for inline printing of smaller data +types similar to the standard %v format specifier. + +The custom formatter only responds to the %v (most compact), %+v (adds pointer +addresses), %#v (adds types), and %#+v (adds types and pointer addresses) verb +combinations. Any other verbs such as %x and %q will be sent to the the +standard fmt package for formatting. In addition, the custom formatter ignores +the width and precision arguments (however they will still work on the format +specifiers not handled by the custom formatter). + +Typically this function shouldn't be called directly. It is much easier to make +use of the custom formatter by calling one of the convenience functions such as +c.Printf, c.Println, or c.Printf. +*/ +func (c *ConfigState) NewFormatter(v interface{}) fmt.Formatter { + return newFormatter(c, v) +} + +// Fdump formats and displays the passed arguments to io.Writer w. It formats +// exactly the same as Dump. +func (c *ConfigState) Fdump(w io.Writer, a ...interface{}) { + fdump(c, w, a...) +} + +/* +Dump displays the passed parameters to standard out with newlines, customizable +indentation, and additional debug information such as complete types and all +pointer addresses used to indirect to the final value. It provides the +following features over the built-in printing facilities provided by the fmt +package: + + * Pointers are dereferenced and followed + * Circular data structures are detected and handled properly + * Custom Stringer/error interfaces are optionally invoked, including + on unexported types + * Custom types which only implement the Stringer/error interfaces via + a pointer receiver are optionally invoked when passing non-pointer + variables + * Byte arrays and slices are dumped like the hexdump -C command which + includes offsets, byte values in hex, and ASCII output + +The configuration options are controlled by modifying the public members +of c. See ConfigState for options documentation. + +See Fdump if you would prefer dumping to an arbitrary io.Writer or Sdump to +get the formatted result as a string. +*/ +func (c *ConfigState) Dump(a ...interface{}) { + fdump(c, os.Stdout, a...) +} + +// Sdump returns a string with the passed arguments formatted exactly the same +// as Dump. +func (c *ConfigState) Sdump(a ...interface{}) string { + var buf bytes.Buffer + fdump(c, &buf, a...) + return buf.String() +} + +// convertArgs accepts a slice of arguments and returns a slice of the same +// length with each argument converted to a spew Formatter interface using +// the ConfigState associated with s. +func (c *ConfigState) convertArgs(args []interface{}) (formatters []interface{}) { + formatters = make([]interface{}, len(args)) + for index, arg := range args { + formatters[index] = newFormatter(c, arg) + } + return formatters +} + +// NewDefaultConfig returns a ConfigState with the following default settings. +// +// Indent: " " +// MaxDepth: 0 +// DisableMethods: false +// DisablePointerMethods: false +// ContinueOnMethod: false +// SortKeys: false +func NewDefaultConfig() *ConfigState { + return &ConfigState{Indent: " "} +} diff --git a/vendor/github.com/davecgh/go-spew/spew/doc.go b/vendor/github.com/davecgh/go-spew/spew/doc.go new file mode 100644 index 000000000..aacaac6f1 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/doc.go @@ -0,0 +1,211 @@ +/* + * Copyright (c) 2013-2016 Dave Collins + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* +Package spew implements a deep pretty printer for Go data structures to aid in +debugging. + +A quick overview of the additional features spew provides over the built-in +printing facilities for Go data types are as follows: + + * Pointers are dereferenced and followed + * Circular data structures are detected and handled properly + * Custom Stringer/error interfaces are optionally invoked, including + on unexported types + * Custom types which only implement the Stringer/error interfaces via + a pointer receiver are optionally invoked when passing non-pointer + variables + * Byte arrays and slices are dumped like the hexdump -C command which + includes offsets, byte values in hex, and ASCII output (only when using + Dump style) + +There are two different approaches spew allows for dumping Go data structures: + + * Dump style which prints with newlines, customizable indentation, + and additional debug information such as types and all pointer addresses + used to indirect to the final value + * A custom Formatter interface that integrates cleanly with the standard fmt + package and replaces %v, %+v, %#v, and %#+v to provide inline printing + similar to the default %v while providing the additional functionality + outlined above and passing unsupported format verbs such as %x and %q + along to fmt + +Quick Start + +This section demonstrates how to quickly get started with spew. See the +sections below for further details on formatting and configuration options. + +To dump a variable with full newlines, indentation, type, and pointer +information use Dump, Fdump, or Sdump: + spew.Dump(myVar1, myVar2, ...) + spew.Fdump(someWriter, myVar1, myVar2, ...) + str := spew.Sdump(myVar1, myVar2, ...) + +Alternatively, if you would prefer to use format strings with a compacted inline +printing style, use the convenience wrappers Printf, Fprintf, etc with +%v (most compact), %+v (adds pointer addresses), %#v (adds types), or +%#+v (adds types and pointer addresses): + spew.Printf("myVar1: %v -- myVar2: %+v", myVar1, myVar2) + spew.Printf("myVar3: %#v -- myVar4: %#+v", myVar3, myVar4) + spew.Fprintf(someWriter, "myVar1: %v -- myVar2: %+v", myVar1, myVar2) + spew.Fprintf(someWriter, "myVar3: %#v -- myVar4: %#+v", myVar3, myVar4) + +Configuration Options + +Configuration of spew is handled by fields in the ConfigState type. For +convenience, all of the top-level functions use a global state available +via the spew.Config global. + +It is also possible to create a ConfigState instance that provides methods +equivalent to the top-level functions. This allows concurrent configuration +options. See the ConfigState documentation for more details. + +The following configuration options are available: + * Indent + String to use for each indentation level for Dump functions. + It is a single space by default. A popular alternative is "\t". + + * MaxDepth + Maximum number of levels to descend into nested data structures. + There is no limit by default. + + * DisableMethods + Disables invocation of error and Stringer interface methods. + Method invocation is enabled by default. + + * DisablePointerMethods + Disables invocation of error and Stringer interface methods on types + which only accept pointer receivers from non-pointer variables. + Pointer method invocation is enabled by default. + + * DisablePointerAddresses + DisablePointerAddresses specifies whether to disable the printing of + pointer addresses. This is useful when diffing data structures in tests. + + * DisableCapacities + DisableCapacities specifies whether to disable the printing of + capacities for arrays, slices, maps and channels. This is useful when + diffing data structures in tests. + + * ContinueOnMethod + Enables recursion into types after invoking error and Stringer interface + methods. Recursion after method invocation is disabled by default. + + * SortKeys + Specifies map keys should be sorted before being printed. Use + this to have a more deterministic, diffable output. Note that + only native types (bool, int, uint, floats, uintptr and string) + and types which implement error or Stringer interfaces are + supported with other types sorted according to the + reflect.Value.String() output which guarantees display + stability. Natural map order is used by default. + + * SpewKeys + Specifies that, as a last resort attempt, map keys should be + spewed to strings and sorted by those strings. This is only + considered if SortKeys is true. + +Dump Usage + +Simply call spew.Dump with a list of variables you want to dump: + + spew.Dump(myVar1, myVar2, ...) + +You may also call spew.Fdump if you would prefer to output to an arbitrary +io.Writer. For example, to dump to standard error: + + spew.Fdump(os.Stderr, myVar1, myVar2, ...) + +A third option is to call spew.Sdump to get the formatted output as a string: + + str := spew.Sdump(myVar1, myVar2, ...) + +Sample Dump Output + +See the Dump example for details on the setup of the types and variables being +shown here. + + (main.Foo) { + unexportedField: (*main.Bar)(0xf84002e210)({ + flag: (main.Flag) flagTwo, + data: (uintptr) + }), + ExportedField: (map[interface {}]interface {}) (len=1) { + (string) (len=3) "one": (bool) true + } + } + +Byte (and uint8) arrays and slices are displayed uniquely like the hexdump -C +command as shown. + ([]uint8) (len=32 cap=32) { + 00000000 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 |............... | + 00000010 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 |!"#$%&'()*+,-./0| + 00000020 31 32 |12| + } + +Custom Formatter + +Spew provides a custom formatter that implements the fmt.Formatter interface +so that it integrates cleanly with standard fmt package printing functions. The +formatter is useful for inline printing of smaller data types similar to the +standard %v format specifier. + +The custom formatter only responds to the %v (most compact), %+v (adds pointer +addresses), %#v (adds types), or %#+v (adds types and pointer addresses) verb +combinations. Any other verbs such as %x and %q will be sent to the the +standard fmt package for formatting. In addition, the custom formatter ignores +the width and precision arguments (however they will still work on the format +specifiers not handled by the custom formatter). + +Custom Formatter Usage + +The simplest way to make use of the spew custom formatter is to call one of the +convenience functions such as spew.Printf, spew.Println, or spew.Printf. The +functions have syntax you are most likely already familiar with: + + spew.Printf("myVar1: %v -- myVar2: %+v", myVar1, myVar2) + spew.Printf("myVar3: %#v -- myVar4: %#+v", myVar3, myVar4) + spew.Println(myVar, myVar2) + spew.Fprintf(os.Stderr, "myVar1: %v -- myVar2: %+v", myVar1, myVar2) + spew.Fprintf(os.Stderr, "myVar3: %#v -- myVar4: %#+v", myVar3, myVar4) + +See the Index for the full list convenience functions. + +Sample Formatter Output + +Double pointer to a uint8: + %v: <**>5 + %+v: <**>(0xf8400420d0->0xf8400420c8)5 + %#v: (**uint8)5 + %#+v: (**uint8)(0xf8400420d0->0xf8400420c8)5 + +Pointer to circular struct with a uint8 field and a pointer to itself: + %v: <*>{1 <*>} + %+v: <*>(0xf84003e260){ui8:1 c:<*>(0xf84003e260)} + %#v: (*main.circular){ui8:(uint8)1 c:(*main.circular)} + %#+v: (*main.circular)(0xf84003e260){ui8:(uint8)1 c:(*main.circular)(0xf84003e260)} + +See the Printf example for details on the setup of variables being shown +here. + +Errors + +Since it is possible for custom Stringer/error interfaces to panic, spew +detects them and handles them internally by printing the panic information +inline with the output. Since spew is intended to provide deep pretty printing +capabilities on structures, it intentionally does not return any errors. +*/ +package spew diff --git a/vendor/github.com/davecgh/go-spew/spew/dump.go b/vendor/github.com/davecgh/go-spew/spew/dump.go new file mode 100644 index 000000000..f78d89fc1 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/dump.go @@ -0,0 +1,509 @@ +/* + * Copyright (c) 2013-2016 Dave Collins + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +package spew + +import ( + "bytes" + "encoding/hex" + "fmt" + "io" + "os" + "reflect" + "regexp" + "strconv" + "strings" +) + +var ( + // uint8Type is a reflect.Type representing a uint8. It is used to + // convert cgo types to uint8 slices for hexdumping. + uint8Type = reflect.TypeOf(uint8(0)) + + // cCharRE is a regular expression that matches a cgo char. + // It is used to detect character arrays to hexdump them. + cCharRE = regexp.MustCompile(`^.*\._Ctype_char$`) + + // cUnsignedCharRE is a regular expression that matches a cgo unsigned + // char. It is used to detect unsigned character arrays to hexdump + // them. + cUnsignedCharRE = regexp.MustCompile(`^.*\._Ctype_unsignedchar$`) + + // cUint8tCharRE is a regular expression that matches a cgo uint8_t. + // It is used to detect uint8_t arrays to hexdump them. + cUint8tCharRE = regexp.MustCompile(`^.*\._Ctype_uint8_t$`) +) + +// dumpState contains information about the state of a dump operation. +type dumpState struct { + w io.Writer + depth int + pointers map[uintptr]int + ignoreNextType bool + ignoreNextIndent bool + cs *ConfigState +} + +// indent performs indentation according to the depth level and cs.Indent +// option. +func (d *dumpState) indent() { + if d.ignoreNextIndent { + d.ignoreNextIndent = false + return + } + d.w.Write(bytes.Repeat([]byte(d.cs.Indent), d.depth)) +} + +// unpackValue returns values inside of non-nil interfaces when possible. +// This is useful for data types like structs, arrays, slices, and maps which +// can contain varying types packed inside an interface. +func (d *dumpState) unpackValue(v reflect.Value) reflect.Value { + if v.Kind() == reflect.Interface && !v.IsNil() { + v = v.Elem() + } + return v +} + +// dumpPtr handles formatting of pointers by indirecting them as necessary. +func (d *dumpState) dumpPtr(v reflect.Value) { + // Remove pointers at or below the current depth from map used to detect + // circular refs. + for k, depth := range d.pointers { + if depth >= d.depth { + delete(d.pointers, k) + } + } + + // Keep list of all dereferenced pointers to show later. + pointerChain := make([]uintptr, 0) + + // Figure out how many levels of indirection there are by dereferencing + // pointers and unpacking interfaces down the chain while detecting circular + // references. + nilFound := false + cycleFound := false + indirects := 0 + ve := v + for ve.Kind() == reflect.Ptr { + if ve.IsNil() { + nilFound = true + break + } + indirects++ + addr := ve.Pointer() + pointerChain = append(pointerChain, addr) + if pd, ok := d.pointers[addr]; ok && pd < d.depth { + cycleFound = true + indirects-- + break + } + d.pointers[addr] = d.depth + + ve = ve.Elem() + if ve.Kind() == reflect.Interface { + if ve.IsNil() { + nilFound = true + break + } + ve = ve.Elem() + } + } + + // Display type information. + d.w.Write(openParenBytes) + d.w.Write(bytes.Repeat(asteriskBytes, indirects)) + d.w.Write([]byte(ve.Type().String())) + d.w.Write(closeParenBytes) + + // Display pointer information. + if !d.cs.DisablePointerAddresses && len(pointerChain) > 0 { + d.w.Write(openParenBytes) + for i, addr := range pointerChain { + if i > 0 { + d.w.Write(pointerChainBytes) + } + printHexPtr(d.w, addr) + } + d.w.Write(closeParenBytes) + } + + // Display dereferenced value. + d.w.Write(openParenBytes) + switch { + case nilFound: + d.w.Write(nilAngleBytes) + + case cycleFound: + d.w.Write(circularBytes) + + default: + d.ignoreNextType = true + d.dump(ve) + } + d.w.Write(closeParenBytes) +} + +// dumpSlice handles formatting of arrays and slices. Byte (uint8 under +// reflection) arrays and slices are dumped in hexdump -C fashion. +func (d *dumpState) dumpSlice(v reflect.Value) { + // Determine whether this type should be hex dumped or not. Also, + // for types which should be hexdumped, try to use the underlying data + // first, then fall back to trying to convert them to a uint8 slice. + var buf []uint8 + doConvert := false + doHexDump := false + numEntries := v.Len() + if numEntries > 0 { + vt := v.Index(0).Type() + vts := vt.String() + switch { + // C types that need to be converted. + case cCharRE.MatchString(vts): + fallthrough + case cUnsignedCharRE.MatchString(vts): + fallthrough + case cUint8tCharRE.MatchString(vts): + doConvert = true + + // Try to use existing uint8 slices and fall back to converting + // and copying if that fails. + case vt.Kind() == reflect.Uint8: + // We need an addressable interface to convert the type + // to a byte slice. However, the reflect package won't + // give us an interface on certain things like + // unexported struct fields in order to enforce + // visibility rules. We use unsafe, when available, to + // bypass these restrictions since this package does not + // mutate the values. + vs := v + if !vs.CanInterface() || !vs.CanAddr() { + vs = unsafeReflectValue(vs) + } + if !UnsafeDisabled { + vs = vs.Slice(0, numEntries) + + // Use the existing uint8 slice if it can be + // type asserted. + iface := vs.Interface() + if slice, ok := iface.([]uint8); ok { + buf = slice + doHexDump = true + break + } + } + + // The underlying data needs to be converted if it can't + // be type asserted to a uint8 slice. + doConvert = true + } + + // Copy and convert the underlying type if needed. + if doConvert && vt.ConvertibleTo(uint8Type) { + // Convert and copy each element into a uint8 byte + // slice. + buf = make([]uint8, numEntries) + for i := 0; i < numEntries; i++ { + vv := v.Index(i) + buf[i] = uint8(vv.Convert(uint8Type).Uint()) + } + doHexDump = true + } + } + + // Hexdump the entire slice as needed. + if doHexDump { + indent := strings.Repeat(d.cs.Indent, d.depth) + str := indent + hex.Dump(buf) + str = strings.Replace(str, "\n", "\n"+indent, -1) + str = strings.TrimRight(str, d.cs.Indent) + d.w.Write([]byte(str)) + return + } + + // Recursively call dump for each item. + for i := 0; i < numEntries; i++ { + d.dump(d.unpackValue(v.Index(i))) + if i < (numEntries - 1) { + d.w.Write(commaNewlineBytes) + } else { + d.w.Write(newlineBytes) + } + } +} + +// dump is the main workhorse for dumping a value. It uses the passed reflect +// value to figure out what kind of object we are dealing with and formats it +// appropriately. It is a recursive function, however circular data structures +// are detected and handled properly. +func (d *dumpState) dump(v reflect.Value) { + // Handle invalid reflect values immediately. + kind := v.Kind() + if kind == reflect.Invalid { + d.w.Write(invalidAngleBytes) + return + } + + // Handle pointers specially. + if kind == reflect.Ptr { + d.indent() + d.dumpPtr(v) + return + } + + // Print type information unless already handled elsewhere. + if !d.ignoreNextType { + d.indent() + d.w.Write(openParenBytes) + d.w.Write([]byte(v.Type().String())) + d.w.Write(closeParenBytes) + d.w.Write(spaceBytes) + } + d.ignoreNextType = false + + // Display length and capacity if the built-in len and cap functions + // work with the value's kind and the len/cap itself is non-zero. + valueLen, valueCap := 0, 0 + switch v.Kind() { + case reflect.Array, reflect.Slice, reflect.Chan: + valueLen, valueCap = v.Len(), v.Cap() + case reflect.Map, reflect.String: + valueLen = v.Len() + } + if valueLen != 0 || !d.cs.DisableCapacities && valueCap != 0 { + d.w.Write(openParenBytes) + if valueLen != 0 { + d.w.Write(lenEqualsBytes) + printInt(d.w, int64(valueLen), 10) + } + if !d.cs.DisableCapacities && valueCap != 0 { + if valueLen != 0 { + d.w.Write(spaceBytes) + } + d.w.Write(capEqualsBytes) + printInt(d.w, int64(valueCap), 10) + } + d.w.Write(closeParenBytes) + d.w.Write(spaceBytes) + } + + // Call Stringer/error interfaces if they exist and the handle methods flag + // is enabled + if !d.cs.DisableMethods { + if (kind != reflect.Invalid) && (kind != reflect.Interface) { + if handled := handleMethods(d.cs, d.w, v); handled { + return + } + } + } + + switch kind { + case reflect.Invalid: + // Do nothing. We should never get here since invalid has already + // been handled above. + + case reflect.Bool: + printBool(d.w, v.Bool()) + + case reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int: + printInt(d.w, v.Int(), 10) + + case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint: + printUint(d.w, v.Uint(), 10) + + case reflect.Float32: + printFloat(d.w, v.Float(), 32) + + case reflect.Float64: + printFloat(d.w, v.Float(), 64) + + case reflect.Complex64: + printComplex(d.w, v.Complex(), 32) + + case reflect.Complex128: + printComplex(d.w, v.Complex(), 64) + + case reflect.Slice: + if v.IsNil() { + d.w.Write(nilAngleBytes) + break + } + fallthrough + + case reflect.Array: + d.w.Write(openBraceNewlineBytes) + d.depth++ + if (d.cs.MaxDepth != 0) && (d.depth > d.cs.MaxDepth) { + d.indent() + d.w.Write(maxNewlineBytes) + } else { + d.dumpSlice(v) + } + d.depth-- + d.indent() + d.w.Write(closeBraceBytes) + + case reflect.String: + d.w.Write([]byte(strconv.Quote(v.String()))) + + case reflect.Interface: + // The only time we should get here is for nil interfaces due to + // unpackValue calls. + if v.IsNil() { + d.w.Write(nilAngleBytes) + } + + case reflect.Ptr: + // Do nothing. We should never get here since pointers have already + // been handled above. + + case reflect.Map: + // nil maps should be indicated as different than empty maps + if v.IsNil() { + d.w.Write(nilAngleBytes) + break + } + + d.w.Write(openBraceNewlineBytes) + d.depth++ + if (d.cs.MaxDepth != 0) && (d.depth > d.cs.MaxDepth) { + d.indent() + d.w.Write(maxNewlineBytes) + } else { + numEntries := v.Len() + keys := v.MapKeys() + if d.cs.SortKeys { + sortValues(keys, d.cs) + } + for i, key := range keys { + d.dump(d.unpackValue(key)) + d.w.Write(colonSpaceBytes) + d.ignoreNextIndent = true + d.dump(d.unpackValue(v.MapIndex(key))) + if i < (numEntries - 1) { + d.w.Write(commaNewlineBytes) + } else { + d.w.Write(newlineBytes) + } + } + } + d.depth-- + d.indent() + d.w.Write(closeBraceBytes) + + case reflect.Struct: + d.w.Write(openBraceNewlineBytes) + d.depth++ + if (d.cs.MaxDepth != 0) && (d.depth > d.cs.MaxDepth) { + d.indent() + d.w.Write(maxNewlineBytes) + } else { + vt := v.Type() + numFields := v.NumField() + for i := 0; i < numFields; i++ { + d.indent() + vtf := vt.Field(i) + d.w.Write([]byte(vtf.Name)) + d.w.Write(colonSpaceBytes) + d.ignoreNextIndent = true + d.dump(d.unpackValue(v.Field(i))) + if i < (numFields - 1) { + d.w.Write(commaNewlineBytes) + } else { + d.w.Write(newlineBytes) + } + } + } + d.depth-- + d.indent() + d.w.Write(closeBraceBytes) + + case reflect.Uintptr: + printHexPtr(d.w, uintptr(v.Uint())) + + case reflect.UnsafePointer, reflect.Chan, reflect.Func: + printHexPtr(d.w, v.Pointer()) + + // There were not any other types at the time this code was written, but + // fall back to letting the default fmt package handle it in case any new + // types are added. + default: + if v.CanInterface() { + fmt.Fprintf(d.w, "%v", v.Interface()) + } else { + fmt.Fprintf(d.w, "%v", v.String()) + } + } +} + +// fdump is a helper function to consolidate the logic from the various public +// methods which take varying writers and config states. +func fdump(cs *ConfigState, w io.Writer, a ...interface{}) { + for _, arg := range a { + if arg == nil { + w.Write(interfaceBytes) + w.Write(spaceBytes) + w.Write(nilAngleBytes) + w.Write(newlineBytes) + continue + } + + d := dumpState{w: w, cs: cs} + d.pointers = make(map[uintptr]int) + d.dump(reflect.ValueOf(arg)) + d.w.Write(newlineBytes) + } +} + +// Fdump formats and displays the passed arguments to io.Writer w. It formats +// exactly the same as Dump. +func Fdump(w io.Writer, a ...interface{}) { + fdump(&Config, w, a...) +} + +// Sdump returns a string with the passed arguments formatted exactly the same +// as Dump. +func Sdump(a ...interface{}) string { + var buf bytes.Buffer + fdump(&Config, &buf, a...) + return buf.String() +} + +/* +Dump displays the passed parameters to standard out with newlines, customizable +indentation, and additional debug information such as complete types and all +pointer addresses used to indirect to the final value. It provides the +following features over the built-in printing facilities provided by the fmt +package: + + * Pointers are dereferenced and followed + * Circular data structures are detected and handled properly + * Custom Stringer/error interfaces are optionally invoked, including + on unexported types + * Custom types which only implement the Stringer/error interfaces via + a pointer receiver are optionally invoked when passing non-pointer + variables + * Byte arrays and slices are dumped like the hexdump -C command which + includes offsets, byte values in hex, and ASCII output + +The configuration options are controlled by an exported package global, +spew.Config. See ConfigState for options documentation. + +See Fdump if you would prefer dumping to an arbitrary io.Writer or Sdump to +get the formatted result as a string. +*/ +func Dump(a ...interface{}) { + fdump(&Config, os.Stdout, a...) +} diff --git a/vendor/github.com/davecgh/go-spew/spew/format.go b/vendor/github.com/davecgh/go-spew/spew/format.go new file mode 100644 index 000000000..b04edb7d7 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/format.go @@ -0,0 +1,419 @@ +/* + * Copyright (c) 2013-2016 Dave Collins + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +package spew + +import ( + "bytes" + "fmt" + "reflect" + "strconv" + "strings" +) + +// supportedFlags is a list of all the character flags supported by fmt package. +const supportedFlags = "0-+# " + +// formatState implements the fmt.Formatter interface and contains information +// about the state of a formatting operation. The NewFormatter function can +// be used to get a new Formatter which can be used directly as arguments +// in standard fmt package printing calls. +type formatState struct { + value interface{} + fs fmt.State + depth int + pointers map[uintptr]int + ignoreNextType bool + cs *ConfigState +} + +// buildDefaultFormat recreates the original format string without precision +// and width information to pass in to fmt.Sprintf in the case of an +// unrecognized type. Unless new types are added to the language, this +// function won't ever be called. +func (f *formatState) buildDefaultFormat() (format string) { + buf := bytes.NewBuffer(percentBytes) + + for _, flag := range supportedFlags { + if f.fs.Flag(int(flag)) { + buf.WriteRune(flag) + } + } + + buf.WriteRune('v') + + format = buf.String() + return format +} + +// constructOrigFormat recreates the original format string including precision +// and width information to pass along to the standard fmt package. This allows +// automatic deferral of all format strings this package doesn't support. +func (f *formatState) constructOrigFormat(verb rune) (format string) { + buf := bytes.NewBuffer(percentBytes) + + for _, flag := range supportedFlags { + if f.fs.Flag(int(flag)) { + buf.WriteRune(flag) + } + } + + if width, ok := f.fs.Width(); ok { + buf.WriteString(strconv.Itoa(width)) + } + + if precision, ok := f.fs.Precision(); ok { + buf.Write(precisionBytes) + buf.WriteString(strconv.Itoa(precision)) + } + + buf.WriteRune(verb) + + format = buf.String() + return format +} + +// unpackValue returns values inside of non-nil interfaces when possible and +// ensures that types for values which have been unpacked from an interface +// are displayed when the show types flag is also set. +// This is useful for data types like structs, arrays, slices, and maps which +// can contain varying types packed inside an interface. +func (f *formatState) unpackValue(v reflect.Value) reflect.Value { + if v.Kind() == reflect.Interface { + f.ignoreNextType = false + if !v.IsNil() { + v = v.Elem() + } + } + return v +} + +// formatPtr handles formatting of pointers by indirecting them as necessary. +func (f *formatState) formatPtr(v reflect.Value) { + // Display nil if top level pointer is nil. + showTypes := f.fs.Flag('#') + if v.IsNil() && (!showTypes || f.ignoreNextType) { + f.fs.Write(nilAngleBytes) + return + } + + // Remove pointers at or below the current depth from map used to detect + // circular refs. + for k, depth := range f.pointers { + if depth >= f.depth { + delete(f.pointers, k) + } + } + + // Keep list of all dereferenced pointers to possibly show later. + pointerChain := make([]uintptr, 0) + + // Figure out how many levels of indirection there are by derferencing + // pointers and unpacking interfaces down the chain while detecting circular + // references. + nilFound := false + cycleFound := false + indirects := 0 + ve := v + for ve.Kind() == reflect.Ptr { + if ve.IsNil() { + nilFound = true + break + } + indirects++ + addr := ve.Pointer() + pointerChain = append(pointerChain, addr) + if pd, ok := f.pointers[addr]; ok && pd < f.depth { + cycleFound = true + indirects-- + break + } + f.pointers[addr] = f.depth + + ve = ve.Elem() + if ve.Kind() == reflect.Interface { + if ve.IsNil() { + nilFound = true + break + } + ve = ve.Elem() + } + } + + // Display type or indirection level depending on flags. + if showTypes && !f.ignoreNextType { + f.fs.Write(openParenBytes) + f.fs.Write(bytes.Repeat(asteriskBytes, indirects)) + f.fs.Write([]byte(ve.Type().String())) + f.fs.Write(closeParenBytes) + } else { + if nilFound || cycleFound { + indirects += strings.Count(ve.Type().String(), "*") + } + f.fs.Write(openAngleBytes) + f.fs.Write([]byte(strings.Repeat("*", indirects))) + f.fs.Write(closeAngleBytes) + } + + // Display pointer information depending on flags. + if f.fs.Flag('+') && (len(pointerChain) > 0) { + f.fs.Write(openParenBytes) + for i, addr := range pointerChain { + if i > 0 { + f.fs.Write(pointerChainBytes) + } + printHexPtr(f.fs, addr) + } + f.fs.Write(closeParenBytes) + } + + // Display dereferenced value. + switch { + case nilFound: + f.fs.Write(nilAngleBytes) + + case cycleFound: + f.fs.Write(circularShortBytes) + + default: + f.ignoreNextType = true + f.format(ve) + } +} + +// format is the main workhorse for providing the Formatter interface. It +// uses the passed reflect value to figure out what kind of object we are +// dealing with and formats it appropriately. It is a recursive function, +// however circular data structures are detected and handled properly. +func (f *formatState) format(v reflect.Value) { + // Handle invalid reflect values immediately. + kind := v.Kind() + if kind == reflect.Invalid { + f.fs.Write(invalidAngleBytes) + return + } + + // Handle pointers specially. + if kind == reflect.Ptr { + f.formatPtr(v) + return + } + + // Print type information unless already handled elsewhere. + if !f.ignoreNextType && f.fs.Flag('#') { + f.fs.Write(openParenBytes) + f.fs.Write([]byte(v.Type().String())) + f.fs.Write(closeParenBytes) + } + f.ignoreNextType = false + + // Call Stringer/error interfaces if they exist and the handle methods + // flag is enabled. + if !f.cs.DisableMethods { + if (kind != reflect.Invalid) && (kind != reflect.Interface) { + if handled := handleMethods(f.cs, f.fs, v); handled { + return + } + } + } + + switch kind { + case reflect.Invalid: + // Do nothing. We should never get here since invalid has already + // been handled above. + + case reflect.Bool: + printBool(f.fs, v.Bool()) + + case reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int: + printInt(f.fs, v.Int(), 10) + + case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint: + printUint(f.fs, v.Uint(), 10) + + case reflect.Float32: + printFloat(f.fs, v.Float(), 32) + + case reflect.Float64: + printFloat(f.fs, v.Float(), 64) + + case reflect.Complex64: + printComplex(f.fs, v.Complex(), 32) + + case reflect.Complex128: + printComplex(f.fs, v.Complex(), 64) + + case reflect.Slice: + if v.IsNil() { + f.fs.Write(nilAngleBytes) + break + } + fallthrough + + case reflect.Array: + f.fs.Write(openBracketBytes) + f.depth++ + if (f.cs.MaxDepth != 0) && (f.depth > f.cs.MaxDepth) { + f.fs.Write(maxShortBytes) + } else { + numEntries := v.Len() + for i := 0; i < numEntries; i++ { + if i > 0 { + f.fs.Write(spaceBytes) + } + f.ignoreNextType = true + f.format(f.unpackValue(v.Index(i))) + } + } + f.depth-- + f.fs.Write(closeBracketBytes) + + case reflect.String: + f.fs.Write([]byte(v.String())) + + case reflect.Interface: + // The only time we should get here is for nil interfaces due to + // unpackValue calls. + if v.IsNil() { + f.fs.Write(nilAngleBytes) + } + + case reflect.Ptr: + // Do nothing. We should never get here since pointers have already + // been handled above. + + case reflect.Map: + // nil maps should be indicated as different than empty maps + if v.IsNil() { + f.fs.Write(nilAngleBytes) + break + } + + f.fs.Write(openMapBytes) + f.depth++ + if (f.cs.MaxDepth != 0) && (f.depth > f.cs.MaxDepth) { + f.fs.Write(maxShortBytes) + } else { + keys := v.MapKeys() + if f.cs.SortKeys { + sortValues(keys, f.cs) + } + for i, key := range keys { + if i > 0 { + f.fs.Write(spaceBytes) + } + f.ignoreNextType = true + f.format(f.unpackValue(key)) + f.fs.Write(colonBytes) + f.ignoreNextType = true + f.format(f.unpackValue(v.MapIndex(key))) + } + } + f.depth-- + f.fs.Write(closeMapBytes) + + case reflect.Struct: + numFields := v.NumField() + f.fs.Write(openBraceBytes) + f.depth++ + if (f.cs.MaxDepth != 0) && (f.depth > f.cs.MaxDepth) { + f.fs.Write(maxShortBytes) + } else { + vt := v.Type() + for i := 0; i < numFields; i++ { + if i > 0 { + f.fs.Write(spaceBytes) + } + vtf := vt.Field(i) + if f.fs.Flag('+') || f.fs.Flag('#') { + f.fs.Write([]byte(vtf.Name)) + f.fs.Write(colonBytes) + } + f.format(f.unpackValue(v.Field(i))) + } + } + f.depth-- + f.fs.Write(closeBraceBytes) + + case reflect.Uintptr: + printHexPtr(f.fs, uintptr(v.Uint())) + + case reflect.UnsafePointer, reflect.Chan, reflect.Func: + printHexPtr(f.fs, v.Pointer()) + + // There were not any other types at the time this code was written, but + // fall back to letting the default fmt package handle it if any get added. + default: + format := f.buildDefaultFormat() + if v.CanInterface() { + fmt.Fprintf(f.fs, format, v.Interface()) + } else { + fmt.Fprintf(f.fs, format, v.String()) + } + } +} + +// Format satisfies the fmt.Formatter interface. See NewFormatter for usage +// details. +func (f *formatState) Format(fs fmt.State, verb rune) { + f.fs = fs + + // Use standard formatting for verbs that are not v. + if verb != 'v' { + format := f.constructOrigFormat(verb) + fmt.Fprintf(fs, format, f.value) + return + } + + if f.value == nil { + if fs.Flag('#') { + fs.Write(interfaceBytes) + } + fs.Write(nilAngleBytes) + return + } + + f.format(reflect.ValueOf(f.value)) +} + +// newFormatter is a helper function to consolidate the logic from the various +// public methods which take varying config states. +func newFormatter(cs *ConfigState, v interface{}) fmt.Formatter { + fs := &formatState{value: v, cs: cs} + fs.pointers = make(map[uintptr]int) + return fs +} + +/* +NewFormatter returns a custom formatter that satisfies the fmt.Formatter +interface. As a result, it integrates cleanly with standard fmt package +printing functions. The formatter is useful for inline printing of smaller data +types similar to the standard %v format specifier. + +The custom formatter only responds to the %v (most compact), %+v (adds pointer +addresses), %#v (adds types), or %#+v (adds types and pointer addresses) verb +combinations. Any other verbs such as %x and %q will be sent to the the +standard fmt package for formatting. In addition, the custom formatter ignores +the width and precision arguments (however they will still work on the format +specifiers not handled by the custom formatter). + +Typically this function shouldn't be called directly. It is much easier to make +use of the custom formatter by calling one of the convenience functions such as +Printf, Println, or Fprintf. +*/ +func NewFormatter(v interface{}) fmt.Formatter { + return newFormatter(&Config, v) +} diff --git a/vendor/github.com/davecgh/go-spew/spew/spew.go b/vendor/github.com/davecgh/go-spew/spew/spew.go new file mode 100644 index 000000000..32c0e3388 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/spew.go @@ -0,0 +1,148 @@ +/* + * Copyright (c) 2013-2016 Dave Collins + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +package spew + +import ( + "fmt" + "io" +) + +// Errorf is a wrapper for fmt.Errorf that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the formatted string as a value that satisfies error. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Errorf(format, spew.NewFormatter(a), spew.NewFormatter(b)) +func Errorf(format string, a ...interface{}) (err error) { + return fmt.Errorf(format, convertArgs(a)...) +} + +// Fprint is a wrapper for fmt.Fprint that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Fprint(w, spew.NewFormatter(a), spew.NewFormatter(b)) +func Fprint(w io.Writer, a ...interface{}) (n int, err error) { + return fmt.Fprint(w, convertArgs(a)...) +} + +// Fprintf is a wrapper for fmt.Fprintf that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Fprintf(w, format, spew.NewFormatter(a), spew.NewFormatter(b)) +func Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error) { + return fmt.Fprintf(w, format, convertArgs(a)...) +} + +// Fprintln is a wrapper for fmt.Fprintln that treats each argument as if it +// passed with a default Formatter interface returned by NewFormatter. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Fprintln(w, spew.NewFormatter(a), spew.NewFormatter(b)) +func Fprintln(w io.Writer, a ...interface{}) (n int, err error) { + return fmt.Fprintln(w, convertArgs(a)...) +} + +// Print is a wrapper for fmt.Print that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Print(spew.NewFormatter(a), spew.NewFormatter(b)) +func Print(a ...interface{}) (n int, err error) { + return fmt.Print(convertArgs(a)...) +} + +// Printf is a wrapper for fmt.Printf that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Printf(format, spew.NewFormatter(a), spew.NewFormatter(b)) +func Printf(format string, a ...interface{}) (n int, err error) { + return fmt.Printf(format, convertArgs(a)...) +} + +// Println is a wrapper for fmt.Println that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Println(spew.NewFormatter(a), spew.NewFormatter(b)) +func Println(a ...interface{}) (n int, err error) { + return fmt.Println(convertArgs(a)...) +} + +// Sprint is a wrapper for fmt.Sprint that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the resulting string. See NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Sprint(spew.NewFormatter(a), spew.NewFormatter(b)) +func Sprint(a ...interface{}) string { + return fmt.Sprint(convertArgs(a)...) +} + +// Sprintf is a wrapper for fmt.Sprintf that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the resulting string. See NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Sprintf(format, spew.NewFormatter(a), spew.NewFormatter(b)) +func Sprintf(format string, a ...interface{}) string { + return fmt.Sprintf(format, convertArgs(a)...) +} + +// Sprintln is a wrapper for fmt.Sprintln that treats each argument as if it +// were passed with a default Formatter interface returned by NewFormatter. It +// returns the resulting string. See NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Sprintln(spew.NewFormatter(a), spew.NewFormatter(b)) +func Sprintln(a ...interface{}) string { + return fmt.Sprintln(convertArgs(a)...) +} + +// convertArgs accepts a slice of arguments and returns a slice of the same +// length with each argument converted to a default spew Formatter interface. +func convertArgs(args []interface{}) (formatters []interface{}) { + formatters = make([]interface{}, len(args)) + for index, arg := range args { + formatters[index] = NewFormatter(arg) + } + return formatters +} diff --git a/vendor/github.com/flynn/noise/.travis.yml b/vendor/github.com/flynn/noise/.travis.yml new file mode 100644 index 000000000..0c69fa4e0 --- /dev/null +++ b/vendor/github.com/flynn/noise/.travis.yml @@ -0,0 +1,10 @@ +language: go +go: + - 1.6.2 + - tip + +sudo: false + +matrix: + allow_failures: + - go: tip diff --git a/vendor/github.com/flynn/noise/CONTRIBUTING.md b/vendor/github.com/flynn/noise/CONTRIBUTING.md new file mode 100644 index 000000000..71b39ce26 --- /dev/null +++ b/vendor/github.com/flynn/noise/CONTRIBUTING.md @@ -0,0 +1 @@ +See the [Flynn contributing guide](https://flynn.io/docs/contributing). diff --git a/vendor/github.com/flynn/noise/LICENSE b/vendor/github.com/flynn/noise/LICENSE new file mode 100644 index 000000000..c1398eb3e --- /dev/null +++ b/vendor/github.com/flynn/noise/LICENSE @@ -0,0 +1,29 @@ +Flynn® is a trademark of Prime Directive, Inc. + +Copyright (c) 2015 Prime Directive, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Prime Directive, Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/flynn/noise/README.md b/vendor/github.com/flynn/noise/README.md new file mode 100644 index 000000000..1a4499faa --- /dev/null +++ b/vendor/github.com/flynn/noise/README.md @@ -0,0 +1,5 @@ +# noise [![GoDoc](https://godoc.org/github.com/flynn/noise?status.svg)](https://godoc.org/github.com/flynn/noise) [![Build Status](https://travis-ci.org/flynn/noise.svg?branch=master)](https://travis-ci.org/flynn/noise) + +This is a Go package that implements the [Noise Protocol +Framework](https://noiseprotocol.org). See [the +documentation](https://godoc.org/github.com/flynn/noise) for usage information. diff --git a/vendor/github.com/flynn/noise/cipher_suite.go b/vendor/github.com/flynn/noise/cipher_suite.go new file mode 100644 index 000000000..30987055a --- /dev/null +++ b/vendor/github.com/flynn/noise/cipher_suite.go @@ -0,0 +1,225 @@ +package noise + +import ( + "crypto/aes" + "crypto/cipher" + "crypto/rand" + "crypto/sha256" + "crypto/sha512" + "encoding/binary" + "hash" + "io" + + "golang.org/x/crypto/blake2b" + "golang.org/x/crypto/blake2s" + "golang.org/x/crypto/chacha20poly1305" + "golang.org/x/crypto/curve25519" +) + +// A DHKey is a keypair used for Diffie-Hellman key agreement. +type DHKey struct { + Private []byte + Public []byte +} + +// A DHFunc implements Diffie-Hellman key agreement. +type DHFunc interface { + // GenerateKeypair generates a new keypair using random as a source of + // entropy. + GenerateKeypair(random io.Reader) (DHKey, error) + + // DH performs a Diffie-Hellman calculation between the provided private and + // public keys and returns the result. + DH(privkey, pubkey []byte) []byte + + // DHLen is the number of bytes returned by DH. + DHLen() int + + // DHName is the name of the DH function. + DHName() string +} + +// A HashFunc implements a cryptographic hash function. +type HashFunc interface { + // Hash returns a hash state. + Hash() hash.Hash + + // HashName is the name of the hash function. + HashName() string +} + +// A CipherFunc implements an AEAD symmetric cipher. +type CipherFunc interface { + // Cipher initializes the algorithm with the provided key and returns a Cipher. + Cipher(k [32]byte) Cipher + + // CipherName is the name of the cipher. + CipherName() string +} + +// A Cipher is a AEAD cipher that has been initialized with a key. +type Cipher interface { + // Encrypt encrypts the provided plaintext with a nonce and then appends the + // ciphertext to out along with an authentication tag over the ciphertext + // and optional authenticated data. + Encrypt(out []byte, n uint64, ad, plaintext []byte) []byte + + // Decrypt authenticates the ciphertext and optional authenticated data and + // then decrypts the provided ciphertext using the provided nonce and + // appends it to out. + Decrypt(out []byte, n uint64, ad, ciphertext []byte) ([]byte, error) +} + +// A CipherSuite is a set of cryptographic primitives used in a Noise protocol. +// It should be constructed with NewCipherSuite. +type CipherSuite interface { + DHFunc + CipherFunc + HashFunc + Name() []byte +} + +// NewCipherSuite returns a CipherSuite constructed from the specified +// primitives. +func NewCipherSuite(dh DHFunc, c CipherFunc, h HashFunc) CipherSuite { + return ciphersuite{ + DHFunc: dh, + CipherFunc: c, + HashFunc: h, + name: []byte(dh.DHName() + "_" + c.CipherName() + "_" + h.HashName()), + } +} + +type ciphersuite struct { + DHFunc + CipherFunc + HashFunc + name []byte +} + +func (s ciphersuite) Name() []byte { return s.name } + +// DH25519 is the Curve25519 ECDH function. +var DH25519 DHFunc = dh25519{} + +type dh25519 struct{} + +func (dh25519) GenerateKeypair(rng io.Reader) (DHKey, error) { + var pubkey, privkey [32]byte + if rng == nil { + rng = rand.Reader + } + if _, err := io.ReadFull(rng, privkey[:]); err != nil { + return DHKey{}, err + } + curve25519.ScalarBaseMult(&pubkey, &privkey) + return DHKey{Private: privkey[:], Public: pubkey[:]}, nil +} + +func (dh25519) DH(privkey, pubkey []byte) []byte { + var dst, in, base [32]byte + copy(in[:], privkey) + copy(base[:], pubkey) + curve25519.ScalarMult(&dst, &in, &base) + return dst[:] +} + +func (dh25519) DHLen() int { return 32 } +func (dh25519) DHName() string { return "25519" } + +type cipherFn struct { + fn func([32]byte) Cipher + name string +} + +func (c cipherFn) Cipher(k [32]byte) Cipher { return c.fn(k) } +func (c cipherFn) CipherName() string { return c.name } + +// CipherAESGCM is the AES256-GCM AEAD cipher. +var CipherAESGCM CipherFunc = cipherFn{cipherAESGCM, "AESGCM"} + +func cipherAESGCM(k [32]byte) Cipher { + c, err := aes.NewCipher(k[:]) + if err != nil { + panic(err) + } + gcm, err := cipher.NewGCM(c) + if err != nil { + panic(err) + } + return aeadCipher{ + gcm, + func(n uint64) []byte { + var nonce [12]byte + binary.BigEndian.PutUint64(nonce[4:], n) + return nonce[:] + }, + } +} + +// CipherChaChaPoly is the ChaCha20-Poly1305 AEAD cipher construction. +var CipherChaChaPoly CipherFunc = cipherFn{cipherChaChaPoly, "ChaChaPoly"} + +func cipherChaChaPoly(k [32]byte) Cipher { + c, err := chacha20poly1305.New(k[:]) + if err != nil { + panic(err) + } + return aeadCipher{ + c, + func(n uint64) []byte { + var nonce [12]byte + binary.LittleEndian.PutUint64(nonce[4:], n) + return nonce[:] + }, + } +} + +type aeadCipher struct { + cipher.AEAD + nonce func(uint64) []byte +} + +func (c aeadCipher) Encrypt(out []byte, n uint64, ad, plaintext []byte) []byte { + return c.Seal(out, c.nonce(n), plaintext, ad) +} + +func (c aeadCipher) Decrypt(out []byte, n uint64, ad, ciphertext []byte) ([]byte, error) { + return c.Open(out, c.nonce(n), ciphertext, ad) +} + +type hashFn struct { + fn func() hash.Hash + name string +} + +func (h hashFn) Hash() hash.Hash { return h.fn() } +func (h hashFn) HashName() string { return h.name } + +// HashSHA256 is the SHA-256 hash function. +var HashSHA256 HashFunc = hashFn{sha256.New, "SHA256"} + +// HashSHA512 is the SHA-512 hash function. +var HashSHA512 HashFunc = hashFn{sha512.New, "SHA512"} + +func blake2bNew() hash.Hash { + h, err := blake2b.New512(nil) + if err != nil { + panic(err) + } + return h +} + +// HashBLAKE2b is the BLAKE2b hash function. +var HashBLAKE2b HashFunc = hashFn{blake2bNew, "BLAKE2b"} + +func blake2sNew() hash.Hash { + h, err := blake2s.New256(nil) + if err != nil { + panic(err) + } + return h +} + +// HashBLAKE2s is the BLAKE2s hash function. +var HashBLAKE2s HashFunc = hashFn{blake2sNew, "BLAKE2s"} diff --git a/vendor/github.com/flynn/noise/hkdf.go b/vendor/github.com/flynn/noise/hkdf.go new file mode 100644 index 000000000..2ea494f5f --- /dev/null +++ b/vendor/github.com/flynn/noise/hkdf.go @@ -0,0 +1,49 @@ +package noise + +import ( + "crypto/hmac" + "hash" +) + +func hkdf(h func() hash.Hash, outputs int, out1, out2, out3, chainingKey, inputKeyMaterial []byte) ([]byte, []byte, []byte) { + if len(out1) > 0 { + panic("len(out1) > 0") + } + if len(out2) > 0 { + panic("len(out2) > 0") + } + if len(out3) > 0 { + panic("len(out3) > 0") + } + if outputs > 3 { + panic("outputs > 3") + } + + tempMAC := hmac.New(h, chainingKey) + tempMAC.Write(inputKeyMaterial) + tempKey := tempMAC.Sum(out2) + + out1MAC := hmac.New(h, tempKey) + out1MAC.Write([]byte{0x01}) + out1 = out1MAC.Sum(out1) + + if outputs == 1 { + return out1, nil, nil + } + + out2MAC := hmac.New(h, tempKey) + out2MAC.Write(out1) + out2MAC.Write([]byte{0x02}) + out2 = out2MAC.Sum(out2) + + if outputs == 2 { + return out1, out2, nil + } + + out3MAC := hmac.New(h, tempKey) + out3MAC.Write(out2) + out3MAC.Write([]byte{0x03}) + out3 = out3MAC.Sum(out3) + + return out1, out2, out3 +} diff --git a/vendor/github.com/flynn/noise/patterns.go b/vendor/github.com/flynn/noise/patterns.go new file mode 100644 index 000000000..094cf38bf --- /dev/null +++ b/vendor/github.com/flynn/noise/patterns.go @@ -0,0 +1,141 @@ +package noise + +var HandshakeNN = HandshakePattern{ + Name: "NN", + Messages: [][]MessagePattern{ + {MessagePatternE}, + {MessagePatternE, MessagePatternDHEE}, + }, +} + +var HandshakeKN = HandshakePattern{ + Name: "KN", + InitiatorPreMessages: []MessagePattern{MessagePatternS}, + Messages: [][]MessagePattern{ + {MessagePatternE}, + {MessagePatternE, MessagePatternDHEE, MessagePatternDHSE}, + }, +} + +var HandshakeNK = HandshakePattern{ + Name: "NK", + ResponderPreMessages: []MessagePattern{MessagePatternS}, + Messages: [][]MessagePattern{ + {MessagePatternE, MessagePatternDHES}, + {MessagePatternE, MessagePatternDHEE}, + }, +} + +var HandshakeKK = HandshakePattern{ + Name: "KK", + InitiatorPreMessages: []MessagePattern{MessagePatternS}, + ResponderPreMessages: []MessagePattern{MessagePatternS}, + Messages: [][]MessagePattern{ + {MessagePatternE, MessagePatternDHES, MessagePatternDHSS}, + {MessagePatternE, MessagePatternDHEE, MessagePatternDHSE}, + }, +} + +var HandshakeNX = HandshakePattern{ + Name: "NX", + Messages: [][]MessagePattern{ + {MessagePatternE}, + {MessagePatternE, MessagePatternDHEE, MessagePatternS, MessagePatternDHES}, + }, +} + +var HandshakeKX = HandshakePattern{ + Name: "KX", + InitiatorPreMessages: []MessagePattern{MessagePatternS}, + Messages: [][]MessagePattern{ + {MessagePatternE}, + {MessagePatternE, MessagePatternDHEE, MessagePatternDHSE, MessagePatternS, MessagePatternDHES}, + }, +} + +var HandshakeXN = HandshakePattern{ + Name: "XN", + Messages: [][]MessagePattern{ + {MessagePatternE}, + {MessagePatternE, MessagePatternDHEE}, + {MessagePatternS, MessagePatternDHSE}, + }, +} + +var HandshakeIN = HandshakePattern{ + Name: "IN", + Messages: [][]MessagePattern{ + {MessagePatternE, MessagePatternS}, + {MessagePatternE, MessagePatternDHEE, MessagePatternDHSE}, + }, +} + +var HandshakeXK = HandshakePattern{ + Name: "XK", + ResponderPreMessages: []MessagePattern{MessagePatternS}, + Messages: [][]MessagePattern{ + {MessagePatternE, MessagePatternDHES}, + {MessagePatternE, MessagePatternDHEE}, + {MessagePatternS, MessagePatternDHSE}, + }, +} + +var HandshakeIK = HandshakePattern{ + Name: "IK", + ResponderPreMessages: []MessagePattern{MessagePatternS}, + Messages: [][]MessagePattern{ + {MessagePatternE, MessagePatternDHES, MessagePatternS, MessagePatternDHSS}, + {MessagePatternE, MessagePatternDHEE, MessagePatternDHSE}, + }, +} + +var HandshakeXX = HandshakePattern{ + Name: "XX", + Messages: [][]MessagePattern{ + {MessagePatternE}, + {MessagePatternE, MessagePatternDHEE, MessagePatternS, MessagePatternDHES}, + {MessagePatternS, MessagePatternDHSE}, + }, +} + +var HandshakeXXfallback = HandshakePattern{ + Name: "XXfallback", + ResponderPreMessages: []MessagePattern{MessagePatternE}, + Messages: [][]MessagePattern{ + {MessagePatternE, MessagePatternDHEE, MessagePatternS, MessagePatternDHSE}, + {MessagePatternS, MessagePatternDHES}, + }, +} + +var HandshakeIX = HandshakePattern{ + Name: "IX", + Messages: [][]MessagePattern{ + {MessagePatternE, MessagePatternS}, + {MessagePatternE, MessagePatternDHEE, MessagePatternDHSE, MessagePatternS, MessagePatternDHES}, + }, +} + +var HandshakeN = HandshakePattern{ + Name: "N", + ResponderPreMessages: []MessagePattern{MessagePatternS}, + Messages: [][]MessagePattern{ + {MessagePatternE, MessagePatternDHES}, + }, +} + +var HandshakeK = HandshakePattern{ + Name: "K", + InitiatorPreMessages: []MessagePattern{MessagePatternS}, + ResponderPreMessages: []MessagePattern{MessagePatternS}, + Messages: [][]MessagePattern{ + {MessagePatternE, MessagePatternDHES, MessagePatternDHSS}, + }, +} + +var HandshakeX = HandshakePattern{ + Name: "X", + ResponderPreMessages: []MessagePattern{MessagePatternS}, + Messages: [][]MessagePattern{ + {MessagePatternE, MessagePatternDHES, MessagePatternS, MessagePatternDHSS}, + }, +} diff --git a/vendor/github.com/flynn/noise/state.go b/vendor/github.com/flynn/noise/state.go new file mode 100644 index 000000000..8ce7c567c --- /dev/null +++ b/vendor/github.com/flynn/noise/state.go @@ -0,0 +1,510 @@ +// Package noise implements the Noise Protocol Framework. +// +// Noise is a low-level framework for building crypto protocols. Noise protocols +// support mutual and optional authentication, identity hiding, forward secrecy, +// zero round-trip encryption, and other advanced features. For more details, +// visit https://noiseprotocol.org. +package noise + +import ( + "crypto/rand" + "errors" + "fmt" + "io" + "math" +) + +// A CipherState provides symmetric encryption and decryption after a successful +// handshake. +type CipherState struct { + cs CipherSuite + c Cipher + k [32]byte + n uint64 + + invalid bool +} + +// Encrypt encrypts the plaintext and then appends the ciphertext and an +// authentication tag across the ciphertext and optional authenticated data to +// out. This method automatically increments the nonce after every call, so +// messages must be decrypted in the same order. +func (s *CipherState) Encrypt(out, ad, plaintext []byte) []byte { + if s.invalid { + panic("noise: CipherSuite has been copied, state is invalid") + } + out = s.c.Encrypt(out, s.n, ad, plaintext) + s.n++ + return out +} + +// Decrypt checks the authenticity of the ciphertext and authenticated data and +// then decrypts and appends the plaintext to out. This method automatically +// increments the nonce after every call, messages must be provided in the same +// order that they were encrypted with no missing messages. +func (s *CipherState) Decrypt(out, ad, ciphertext []byte) ([]byte, error) { + if s.invalid { + panic("noise: CipherSuite has been copied, state is invalid") + } + out, err := s.c.Decrypt(out, s.n, ad, ciphertext) + s.n++ + return out, err +} + +// Cipher returns the low-level symmetric encryption primitive. It should only +// be used if nonces need to be managed manually, for example with a network +// protocol that can deliver out-of-order messages. This is dangerous, users +// must ensure that they are incrementing a nonce after every encrypt operation. +// After calling this method, it is an error to call Encrypt/Decrypt on the +// CipherState. +func (s *CipherState) Cipher() Cipher { + s.invalid = true + return s.c +} + +func (s *CipherState) Rekey() { + var zeros [32]byte + var out []byte + out = s.c.Encrypt(out, math.MaxUint64, []byte{}, zeros[:]) + copy(s.k[:], out[:32]) + s.c = s.cs.Cipher(s.k) +} + +type symmetricState struct { + CipherState + hasK bool + ck []byte + h []byte + + prevCK []byte + prevH []byte +} + +func (s *symmetricState) InitializeSymmetric(handshakeName []byte) { + h := s.cs.Hash() + if len(handshakeName) <= h.Size() { + s.h = make([]byte, h.Size()) + copy(s.h, handshakeName) + } else { + h.Write(handshakeName) + s.h = h.Sum(nil) + } + s.ck = make([]byte, len(s.h)) + copy(s.ck, s.h) +} + +func (s *symmetricState) MixKey(dhOutput []byte) { + s.n = 0 + s.hasK = true + var hk []byte + s.ck, hk, _ = hkdf(s.cs.Hash, 2, s.ck[:0], s.k[:0], nil, s.ck, dhOutput) + copy(s.k[:], hk) + s.c = s.cs.Cipher(s.k) +} + +func (s *symmetricState) MixHash(data []byte) { + h := s.cs.Hash() + h.Write(s.h) + h.Write(data) + s.h = h.Sum(s.h[:0]) +} + +func (s *symmetricState) MixKeyAndHash(data []byte) { + var hk []byte + var temp []byte + s.ck, temp, hk = hkdf(s.cs.Hash, 3, s.ck[:0], temp, s.k[:0], s.ck, data) + s.MixHash(temp) + copy(s.k[:], hk) + s.c = s.cs.Cipher(s.k) + s.n = 0 + s.hasK = true +} + +func (s *symmetricState) EncryptAndHash(out, plaintext []byte) []byte { + if !s.hasK { + s.MixHash(plaintext) + return append(out, plaintext...) + } + ciphertext := s.Encrypt(out, s.h, plaintext) + s.MixHash(ciphertext[len(out):]) + return ciphertext +} + +func (s *symmetricState) DecryptAndHash(out, data []byte) ([]byte, error) { + if !s.hasK { + s.MixHash(data) + return append(out, data...), nil + } + plaintext, err := s.Decrypt(out, s.h, data) + if err != nil { + return nil, err + } + s.MixHash(data) + return plaintext, nil +} + +func (s *symmetricState) Split() (*CipherState, *CipherState) { + s1, s2 := &CipherState{cs: s.cs}, &CipherState{cs: s.cs} + hk1, hk2, _ := hkdf(s.cs.Hash, 2, s1.k[:0], s2.k[:0], nil, s.ck, nil) + copy(s1.k[:], hk1) + copy(s2.k[:], hk2) + s1.c = s.cs.Cipher(s1.k) + s2.c = s.cs.Cipher(s2.k) + return s1, s2 +} + +func (s *symmetricState) Checkpoint() { + if len(s.ck) > cap(s.prevCK) { + s.prevCK = make([]byte, len(s.ck)) + } + s.prevCK = s.prevCK[:len(s.ck)] + copy(s.prevCK, s.ck) + + if len(s.h) > cap(s.prevH) { + s.prevH = make([]byte, len(s.h)) + } + s.prevH = s.prevH[:len(s.h)] + copy(s.prevH, s.h) +} + +func (s *symmetricState) Rollback() { + s.ck = s.ck[:len(s.prevCK)] + copy(s.ck, s.prevCK) + s.h = s.h[:len(s.prevH)] + copy(s.h, s.prevH) +} + +// A MessagePattern is a single message or operation used in a Noise handshake. +type MessagePattern int + +// A HandshakePattern is a list of messages and operations that are used to +// perform a specific Noise handshake. +type HandshakePattern struct { + Name string + InitiatorPreMessages []MessagePattern + ResponderPreMessages []MessagePattern + Messages [][]MessagePattern +} + +const ( + MessagePatternS MessagePattern = iota + MessagePatternE + MessagePatternDHEE + MessagePatternDHES + MessagePatternDHSE + MessagePatternDHSS + MessagePatternPSK +) + +// MaxMsgLen is the maximum number of bytes that can be sent in a single Noise +// message. +const MaxMsgLen = 65535 + +// A HandshakeState tracks the state of a Noise handshake. It may be discarded +// after the handshake is complete. +type HandshakeState struct { + ss symmetricState + s DHKey // local static keypair + e DHKey // local ephemeral keypair + rs []byte // remote party's static public key + re []byte // remote party's ephemeral public key + psk []byte // preshared key, maybe zero length + messagePatterns [][]MessagePattern + shouldWrite bool + initiator bool + msgIdx int + rng io.Reader +} + +// A Config provides the details necessary to process a Noise handshake. It is +// never modified by this package, and can be reused. +type Config struct { + // CipherSuite is the set of cryptographic primitives that will be used. + CipherSuite CipherSuite + + // Random is the source for cryptographically appropriate random bytes. If + // zero, it is automatically configured. + Random io.Reader + + // Pattern is the pattern for the handshake. + Pattern HandshakePattern + + // Initiator must be true if the first message in the handshake will be sent + // by this peer. + Initiator bool + + // Prologue is an optional message that has already be communicated and must + // be identical on both sides for the handshake to succeed. + Prologue []byte + + // PresharedKey is the optional preshared key for the handshake. + PresharedKey []byte + + // PresharedKeyPlacement specifies the placement position of the PSK token + // when PresharedKey is specified + PresharedKeyPlacement int + + // StaticKeypair is this peer's static keypair, required if part of the + // handshake. + StaticKeypair DHKey + + // EphemeralKeypair is this peer's ephemeral keypair that was provided as + // a pre-message in the handshake. + EphemeralKeypair DHKey + + // PeerStatic is the static public key of the remote peer that was provided + // as a pre-message in the handshake. + PeerStatic []byte + + // PeerEphemeral is the ephemeral public key of the remote peer that was + // provided as a pre-message in the handshake. + PeerEphemeral []byte +} + +// NewHandshakeState starts a new handshake using the provided configuration. +func NewHandshakeState(c Config) (*HandshakeState, error) { + hs := &HandshakeState{ + s: c.StaticKeypair, + e: c.EphemeralKeypair, + rs: c.PeerStatic, + psk: c.PresharedKey, + messagePatterns: c.Pattern.Messages, + shouldWrite: c.Initiator, + initiator: c.Initiator, + rng: c.Random, + } + if hs.rng == nil { + hs.rng = rand.Reader + } + if len(c.PeerEphemeral) > 0 { + hs.re = make([]byte, len(c.PeerEphemeral)) + copy(hs.re, c.PeerEphemeral) + } + hs.ss.cs = c.CipherSuite + pskModifier := "" + if len(hs.psk) > 0 { + if len(hs.psk) != 32 { + return nil, errors.New("noise: specification mandates 256-bit preshared keys") + } + pskModifier = fmt.Sprintf("psk%d", c.PresharedKeyPlacement) + hs.messagePatterns = append([][]MessagePattern(nil), hs.messagePatterns...) + if c.PresharedKeyPlacement == 0 { + hs.messagePatterns[0] = append([]MessagePattern{MessagePatternPSK}, hs.messagePatterns[0]...) + } else { + hs.messagePatterns[c.PresharedKeyPlacement-1] = append(hs.messagePatterns[c.PresharedKeyPlacement-1], MessagePatternPSK) + } + } + hs.ss.InitializeSymmetric([]byte("Noise_" + c.Pattern.Name + pskModifier + "_" + string(hs.ss.cs.Name()))) + hs.ss.MixHash(c.Prologue) + for _, m := range c.Pattern.InitiatorPreMessages { + switch { + case c.Initiator && m == MessagePatternS: + hs.ss.MixHash(hs.s.Public) + case c.Initiator && m == MessagePatternE: + hs.ss.MixHash(hs.e.Public) + case !c.Initiator && m == MessagePatternS: + hs.ss.MixHash(hs.rs) + case !c.Initiator && m == MessagePatternE: + hs.ss.MixHash(hs.re) + } + } + for _, m := range c.Pattern.ResponderPreMessages { + switch { + case !c.Initiator && m == MessagePatternS: + hs.ss.MixHash(hs.s.Public) + case !c.Initiator && m == MessagePatternE: + hs.ss.MixHash(hs.e.Public) + case c.Initiator && m == MessagePatternS: + hs.ss.MixHash(hs.rs) + case c.Initiator && m == MessagePatternE: + hs.ss.MixHash(hs.re) + } + } + return hs, nil +} + +// WriteMessage appends a handshake message to out. The message will include the +// optional payload if provided. If the handshake is completed by the call, two +// CipherStates will be returned, one is used for encryption of messages to the +// remote peer, the other is used for decryption of messages from the remote +// peer. It is an error to call this method out of sync with the handshake +// pattern. +func (s *HandshakeState) WriteMessage(out, payload []byte) ([]byte, *CipherState, *CipherState, error) { + if !s.shouldWrite { + return nil, nil, nil, errors.New("noise: unexpected call to WriteMessage should be ReadMessage") + } + if s.msgIdx > len(s.messagePatterns)-1 { + return nil, nil, nil, errors.New("noise: no handshake messages left") + } + if len(payload) > MaxMsgLen { + return nil, nil, nil, errors.New("noise: message is too long") + } + + for _, msg := range s.messagePatterns[s.msgIdx] { + switch msg { + case MessagePatternE: + e, err := s.ss.cs.GenerateKeypair(s.rng) + if err != nil { + return nil, nil, nil, err + } + s.e = e + out = append(out, s.e.Public...) + s.ss.MixHash(s.e.Public) + if len(s.psk) > 0 { + s.ss.MixKey(s.e.Public) + } + case MessagePatternS: + if len(s.s.Public) == 0 { + return nil, nil, nil, errors.New("noise: invalid state, s.Public is nil") + } + out = s.ss.EncryptAndHash(out, s.s.Public) + case MessagePatternDHEE: + s.ss.MixKey(s.ss.cs.DH(s.e.Private, s.re)) + case MessagePatternDHES: + if s.initiator { + s.ss.MixKey(s.ss.cs.DH(s.e.Private, s.rs)) + } else { + s.ss.MixKey(s.ss.cs.DH(s.s.Private, s.re)) + } + case MessagePatternDHSE: + if s.initiator { + s.ss.MixKey(s.ss.cs.DH(s.s.Private, s.re)) + } else { + s.ss.MixKey(s.ss.cs.DH(s.e.Private, s.rs)) + } + case MessagePatternDHSS: + s.ss.MixKey(s.ss.cs.DH(s.s.Private, s.rs)) + case MessagePatternPSK: + s.ss.MixKeyAndHash(s.psk) + } + } + s.shouldWrite = false + s.msgIdx++ + out = s.ss.EncryptAndHash(out, payload) + + if s.msgIdx >= len(s.messagePatterns) { + cs1, cs2 := s.ss.Split() + return out, cs1, cs2, nil + } + + return out, nil, nil, nil +} + +// ErrShortMessage is returned by ReadMessage if a message is not as long as it should be. +var ErrShortMessage = errors.New("noise: message is too short") + +// ReadMessage processes a received handshake message and appends the payload, +// if any to out. If the handshake is completed by the call, two CipherStates +// will be returned, one is used for encryption of messages to the remote peer, +// the other is used for decryption of messages from the remote peer. It is an +// error to call this method out of sync with the handshake pattern. +func (s *HandshakeState) ReadMessage(out, message []byte) ([]byte, *CipherState, *CipherState, error) { + if s.shouldWrite { + return nil, nil, nil, errors.New("noise: unexpected call to ReadMessage should be WriteMessage") + } + if s.msgIdx > len(s.messagePatterns)-1 { + return nil, nil, nil, errors.New("noise: no handshake messages left") + } + + s.ss.Checkpoint() + + var err error + for _, msg := range s.messagePatterns[s.msgIdx] { + switch msg { + case MessagePatternE, MessagePatternS: + expected := s.ss.cs.DHLen() + if msg == MessagePatternS && s.ss.hasK { + expected += 16 + } + if len(message) < expected { + return nil, nil, nil, ErrShortMessage + } + switch msg { + case MessagePatternE: + if cap(s.re) < s.ss.cs.DHLen() { + s.re = make([]byte, s.ss.cs.DHLen()) + } + s.re = s.re[:s.ss.cs.DHLen()] + copy(s.re, message) + s.ss.MixHash(s.re) + if len(s.psk) > 0 { + s.ss.MixKey(s.re) + } + case MessagePatternS: + if len(s.rs) > 0 { + return nil, nil, nil, errors.New("noise: invalid state, rs is not nil") + } + s.rs, err = s.ss.DecryptAndHash(s.rs[:0], message[:expected]) + } + if err != nil { + s.ss.Rollback() + return nil, nil, nil, err + } + message = message[expected:] + case MessagePatternDHEE: + s.ss.MixKey(s.ss.cs.DH(s.e.Private, s.re)) + case MessagePatternDHES: + if s.initiator { + s.ss.MixKey(s.ss.cs.DH(s.e.Private, s.rs)) + } else { + s.ss.MixKey(s.ss.cs.DH(s.s.Private, s.re)) + } + case MessagePatternDHSE: + if s.initiator { + s.ss.MixKey(s.ss.cs.DH(s.s.Private, s.re)) + } else { + s.ss.MixKey(s.ss.cs.DH(s.e.Private, s.rs)) + } + case MessagePatternDHSS: + s.ss.MixKey(s.ss.cs.DH(s.s.Private, s.rs)) + case MessagePatternPSK: + s.ss.MixKeyAndHash(s.psk) + } + } + out, err = s.ss.DecryptAndHash(out, message) + if err != nil { + s.ss.Rollback() + return nil, nil, nil, err + } + s.shouldWrite = true + s.msgIdx++ + + if s.msgIdx >= len(s.messagePatterns) { + cs1, cs2 := s.ss.Split() + return out, cs1, cs2, nil + } + + return out, nil, nil, nil +} + +// ChannelBinding provides a value that uniquely identifies the session and can +// be used as a channel binding. It is an error to call this method before the +// handshake is complete. +func (s *HandshakeState) ChannelBinding() []byte { + return s.ss.h +} + +// PeerStatic returns the static key provided by the remote peer during +// a handshake. It is an error to call this method if a handshake message +// containing a static key has not been read. +func (s *HandshakeState) PeerStatic() []byte { + return s.rs +} + +// MessageIndex returns the current handshake message id +func (s *HandshakeState) MessageIndex() int { + return s.msgIdx +} + +// PeerEphemeral returns the ephemeral key provided by the remote peer during +// a handshake. It is an error to call this method if a handshake message +// containing a static key has not been read. +func (s *HandshakeState) PeerEphemeral() []byte { + return s.re +} + +// LocalEphemeral returns the local ephemeral key pair generated during +// a handshake. +func (s *HandshakeState) LocalEphemeral() DHKey { + return s.e +} diff --git a/vendor/github.com/flynn/noise/vectors.txt b/vendor/github.com/flynn/noise/vectors.txt new file mode 100644 index 000000000..344ab7558 --- /dev/null +++ b/vendor/github.com/flynn/noise/vectors.txt @@ -0,0 +1,28640 @@ +handshake=Noise_NN_25519_AESGCM_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667cc0d7b4540fd183ba30ecbd3f464f16 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a0193b62b90fb3497108ec8adcc340a49ebb0a07f1654d71f7e38361f57ba5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b2afdcb051e896fa5b6a23def5ee6bdd6032f1b39b2d22ef7da01857648389 + +handshake=Noise_NNpsk0_25519_AESGCM_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544833316e6c21d899aec6c5f0c6e85e13 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d3ec4419885d86e6d7310fb1d2263afd +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6a7b199c69a64cc2ea3c556cf17489fd2ae452d3f3c2a0871cebd327fc31c6 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e58d43e0c69d8c15df523586b2c58ca40cb0472b5b3775f1cca807fee28a71 + +handshake=Noise_NNpsk1_25519_AESGCM_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254da8ea488f6163eeccb6d3836ec6ccefd +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666f14491c4b69e43af265c51f3c3c09a7 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=84a7c955143ce45834b0acdef085054ab1a321668d7045dafc67b3e189f66d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=44cb770629debcb89480285522a1fd693b666884f7758f6f864c09c538c119 + +handshake=Noise_NNpsk2_25519_AESGCM_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625407418737b0236214775b43573cb13a23 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f6a7d8b64f54b20c5f93066303fb3170 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=84c7ad0cff2af00d6c12896f0230233a99e1abeaef043747035d9a38c06f9e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4bdd4800b3abd620ce9f4c519428acf7912af8b6507aa3befecce2444d2614 + +handshake=Noise_NN_25519_AESGCM_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663d8d136c2fcf7ecd3c3d631843bc33819e3a01f9b58040751011 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a0193b62b90fb3497108ec8adcc340a49ebb0a07f1654d71f7e38361f57ba5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b2afdcb051e896fa5b6a23def5ee6bdd6032f1b39b2d22ef7da01857648389 + +handshake=Noise_NNpsk0_25519_AESGCM_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d2f8054fcaf80f34700607e4422560b0626b1bc69e65290f6437 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e21a3177614fce09f014bde7e996fb8c8300777068e6fd2aa7c4 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6a7b199c69a64cc2ea3c556cf17489fd2ae452d3f3c2a0871cebd327fc31c6 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e58d43e0c69d8c15df523586b2c58ca40cb0472b5b3775f1cca807fee28a71 + +handshake=Noise_NNpsk1_25519_AESGCM_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254422cb9f10bb05f92da10138bc8c286b5aa2f756e90b8edf48acb +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d48f5698c6af1a7d6f1c5755e27285251fe4aa9074a3ba30c3ca +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=84a7c955143ce45834b0acdef085054ab1a321668d7045dafc67b3e189f66d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=44cb770629debcb89480285522a1fd693b666884f7758f6f864c09c538c119 + +handshake=Noise_NNpsk2_25519_AESGCM_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547bddd25c5d196f5110f02adbbd877b69e8a86f44e2aaa0ee24aa +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ad1970fd7307e7594135cfec5a24fac90fc08bc1b0f393ec250c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=84c7ad0cff2af00d6c12896f0230233a99e1abeaef043747035d9a38c06f9e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4bdd4800b3abd620ce9f4c519428acf7912af8b6507aa3befecce2444d2614 + +handshake=Noise_NN_25519_AESGCM_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662529efae98611941ab23ad370919a7f5 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a0193b62b90fb3497108ec8adcc340a49ebb0a07f1654d71f7e38361f57ba5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b2afdcb051e896fa5b6a23def5ee6bdd6032f1b39b2d22ef7da01857648389 + +handshake=Noise_NNpsk0_25519_AESGCM_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625486959ba2f588031f633a6c0e54a14ae5 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c8783e80be055a8f51e32418393af7cd +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6a7b199c69a64cc2ea3c556cf17489fd2ae452d3f3c2a0871cebd327fc31c6 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e58d43e0c69d8c15df523586b2c58ca40cb0472b5b3775f1cca807fee28a71 + +handshake=Noise_NNpsk1_25519_AESGCM_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a0328c29b33470d04740e97e9514cbcd +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668badb8f25007a52eef9d16009be2c712 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=84a7c955143ce45834b0acdef085054ab1a321668d7045dafc67b3e189f66d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=44cb770629debcb89480285522a1fd693b666884f7758f6f864c09c538c119 + +handshake=Noise_NNpsk2_25519_AESGCM_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540dae00c4de099415fc994fe385a4c2e5 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666a126d2d8d2dff1221cb69310cca148f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=84c7ad0cff2af00d6c12896f0230233a99e1abeaef043747035d9a38c06f9e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4bdd4800b3abd620ce9f4c519428acf7912af8b6507aa3befecce2444d2614 + +handshake=Noise_NN_25519_AESGCM_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663d8d136c2fcf7ecd3c3d4c93591205092db481f2a901eb96f06c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a0193b62b90fb3497108ec8adcc340a49ebb0a07f1654d71f7e38361f57ba5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b2afdcb051e896fa5b6a23def5ee6bdd6032f1b39b2d22ef7da01857648389 + +handshake=Noise_NNpsk0_25519_AESGCM_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d2f8054fcaf80f347006e0fc25590a31fd33c4626fe59283ea40 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e21a3177614fce09f014af55e853ed6b88b0e4628e071b23e905 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6a7b199c69a64cc2ea3c556cf17489fd2ae452d3f3c2a0871cebd327fc31c6 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e58d43e0c69d8c15df523586b2c58ca40cb0472b5b3775f1cca807fee28a71 + +handshake=Noise_NNpsk1_25519_AESGCM_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254422cb9f10bb05f92da1086ba7a3f7fdeede2360802fce2bab641 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d48f5698c6af1a7d6f1cce81b2d248ccdd0f13d7c85b6b61d30a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=84a7c955143ce45834b0acdef085054ab1a321668d7045dafc67b3e189f66d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=44cb770629debcb89480285522a1fd693b666884f7758f6f864c09c538c119 + +handshake=Noise_NNpsk2_25519_AESGCM_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547bddd25c5d196f5110f0e47e04cd720aa46674d274f35cc9219a +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ad1970fd7307e7594135c3fbe2866e29c265002153e2342cf6a0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=84c7ad0cff2af00d6c12896f0230233a99e1abeaef043747035d9a38c06f9e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4bdd4800b3abd620ce9f4c519428acf7912af8b6507aa3befecce2444d2614 + +handshake=Noise_KN_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466827d5016baa63241017945dea7aeb9be +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d8eb7e92e6ffa800b669953e5a1b99fe268df1161d7293a1c1836f7dd2d55b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=009f1432e8414277b5ddf687ae0daf50f76e24c5ed30b0d1e4af53544c70ad + +handshake=Noise_KNpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254169cf5ede5a37b6318901ccb41cfc0e6 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846625bfff2e7a6576de4563a805d0cc79ad +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e3cfa09d18879571feb6c1b8656bd2c1768f636b70f269473f795eb26efe04 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=a2f6c5b843b9306af62414b072ef527322ee7c77fcbdcf3774c85a0f62ee29 + +handshake=Noise_KNpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542b4b5f5a0d01587d693384d5fa9b816d +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e2b2821c8dd067005f3942c533057774 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=2eba684f829bd3225ffd18163e51830268c3107086c6a5c6c8861324a84118 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=00b6cddef82e1313dd1f4a5e2e63aff31c9a39160698ee7b81b00e72c20082 + +handshake=Noise_KNpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543212e39efee8148627b3aeb4e1a997d2 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c1a5d67a8aa44d84bc1d1310365f02a5 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=17bb34185e6ca8171a04f52a87e4b372b2a0c871444050890b9e6d64775a30 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d607e4acbb0b137bb7956fe26d648088a9865b25376513351b0ed019e5c098 + +handshake=Noise_KN_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fc79472c53cf5dde06848020738862f3268987d895428bdd974b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d8eb7e92e6ffa800b669953e5a1b99fe268df1161d7293a1c1836f7dd2d55b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=009f1432e8414277b5ddf687ae0daf50f76e24c5ed30b0d1e4af53544c70ad + +handshake=Noise_KNpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d65483c2c037a3715bfd2e8bceb4633a3758a492725e6cb94082 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466653bddb937e507c9febf96843ce9aedca6013fb23cd2c54fd3cf +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e3cfa09d18879571feb6c1b8656bd2c1768f636b70f269473f795eb26efe04 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=a2f6c5b843b9306af62414b072ef527322ee7c77fcbdcf3774c85a0f62ee29 + +handshake=Noise_KNpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c7207c975f3cc6901b9d650f4f768838f45cb1899c96808a8b7c +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664685702a41068df357c8ba5150d0e340cde8073a959298579680 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=2eba684f829bd3225ffd18163e51830268c3107086c6a5c6c8861324a84118 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=00b6cddef82e1313dd1f4a5e2e63aff31c9a39160698ee7b81b00e72c20082 + +handshake=Noise_KNpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d109459bac52bf108d0aeee64b8e84f04273f7423b0ae575df25 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665d5f1ae785b46ce05fded66b0c412e1d35aea492cdafed0410eb +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=17bb34185e6ca8171a04f52a87e4b372b2a0c871444050890b9e6d64775a30 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d607e4acbb0b137bb7956fe26d648088a9865b25376513351b0ed019e5c098 + +handshake=Noise_KN_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f4f7f9d6b31a498dbd6a5e3507e7dc97 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d8eb7e92e6ffa800b669953e5a1b99fe268df1161d7293a1c1836f7dd2d55b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=009f1432e8414277b5ddf687ae0daf50f76e24c5ed30b0d1e4af53544c70ad + +handshake=Noise_KNpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625439382eef6b7cd99fa9cd2ff31146a7e7 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fbb960fdc82cf9a7808990194e3c706b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e3cfa09d18879571feb6c1b8656bd2c1768f636b70f269473f795eb26efe04 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=a2f6c5b843b9306af62414b072ef527322ee7c77fcbdcf3774c85a0f62ee29 + +handshake=Noise_KNpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625404c68e7f550e27c9cc7b2c2edb4de4a7 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669ac747a0a01f904299ac44304fb4c552 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=2eba684f829bd3225ffd18163e51830268c3107086c6a5c6c8861324a84118 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=00b6cddef82e1313dd1f4a5e2e63aff31c9a39160698ee7b81b00e72c20082 + +handshake=Noise_KNpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254546bebfef90b0b870b4e9596efcc7447 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664c8f298e9f683830ecef7654eac5efae +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=17bb34185e6ca8171a04f52a87e4b372b2a0c871444050890b9e6d64775a30 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d607e4acbb0b137bb7956fe26d648088a9865b25376513351b0ed019e5c098 + +handshake=Noise_KN_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fc79472c53cf5dde06842c7bbaddce7a78d729b83d1579fee94c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d8eb7e92e6ffa800b669953e5a1b99fe268df1161d7293a1c1836f7dd2d55b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=009f1432e8414277b5ddf687ae0daf50f76e24c5ed30b0d1e4af53544c70ad + +handshake=Noise_KNpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d65483c2c037a3715bfd42574061e8d814661165acbf6eedb5c6 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466653bddb937e507c9febfa60df671aeed8ee66f0e986dfeaa0865 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e3cfa09d18879571feb6c1b8656bd2c1768f636b70f269473f795eb26efe04 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=a2f6c5b843b9306af62414b072ef527322ee7c77fcbdcf3774c85a0f62ee29 + +handshake=Noise_KNpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c7207c975f3cc6901b9da3e1a6491825efcc2dd70646ab8cb898 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664685702a41068df357c8a9d8abd0235d963ad2dcf235a6f353f5 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=2eba684f829bd3225ffd18163e51830268c3107086c6a5c6c8861324a84118 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=00b6cddef82e1313dd1f4a5e2e63aff31c9a39160698ee7b81b00e72c20082 + +handshake=Noise_KNpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d109459bac52bf108d0a86488e517a3e603907489b5fc4a7311b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665d5f1ae785b46ce05fdea603c6ef38009c36fe4846c921c6326b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=17bb34185e6ca8171a04f52a87e4b372b2a0c871444050890b9e6d64775a30 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d607e4acbb0b137bb7956fe26d648088a9865b25376513351b0ed019e5c098 + +handshake=Noise_NK_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625418e3e3b9a33b9d5f680ee08fbf20d03f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a2c11719e1aac7b6b2efc4871618f8bf +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=95922788fcef822a17b42f450fa14d05d8e6a4377ca0aea3b4804f03db74a2 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0976cd4a786c253b37489b6bc3867b2df0dddf9f939b218da54092c6d3eca4 + +handshake=Noise_NKpsk0_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f965755a00eab9d92efbcdfbcc9e3b63 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c07c73cd24ea666246bc2ce129914dd3 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=093acd47149fadf3574dd440428181edf9c61cc4a1b5ef815e8b779f1bbf40 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2b8e170039917a61d4fe8acbd2147d50afafc32070458b51b666225614f364 + +handshake=Noise_NKpsk1_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625461500ecd7d2df0e7b6517f899a562cdd +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660c7c4d7f118e1fe8345ffceee554dc1b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=51fd5d7489dae3d6a99766db0afe89c1d19ed91a80b1bb64f94e747360fd2c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=be24f94a04505c8ab51768a80b388f2758ddab3b2fa3eebfeaceeff0130d78 + +handshake=Noise_NKpsk2_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625498189a3c42ac5c0817de56867c43b2e5 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668f7ced987ac0a5d56835254fc6374a82 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d848f074d3d766c1a7770c51ceba699a16ad262790fc279e7dd2fcccfd4dca +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=51f74c4a80c3768dd6476fbb9c599efe5491567af3d18c8415d9d017821004 + +handshake=Noise_NK_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546cfcd5c91dd95543a236cd276e885b5c7a1c3890ca630f06543e +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b3f3dd3e34414275ad733b2a5593f9b31485eecd7c12413912a9 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=95922788fcef822a17b42f450fa14d05d8e6a4377ca0aea3b4804f03db74a2 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0976cd4a786c253b37489b6bc3867b2df0dddf9f939b218da54092c6d3eca4 + +handshake=Noise_NKpsk0_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625485932c8c7615c8263798b4f9d548cb656be5a4eb30cd9a0485c9 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466cce9cb21a513f9de326cba676712ee32441eb2146407fba7b57e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=093acd47149fadf3574dd440428181edf9c61cc4a1b5ef815e8b779f1bbf40 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2b8e170039917a61d4fe8acbd2147d50afafc32070458b51b666225614f364 + +handshake=Noise_NKpsk1_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543f74b70b971271ffb3efb21dfeb1ea4ec9039c91a237de4027a5 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669920e429a6643b44e75fa65798b735a87d8c1edbd6013455a404 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=51fd5d7489dae3d6a99766db0afe89c1d19ed91a80b1bb64f94e747360fd2c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=be24f94a04505c8ab51768a80b388f2758ddab3b2fa3eebfeaceeff0130d78 + +handshake=Noise_NKpsk2_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254537ac869369393768b2148856b6ab4aa465dbf8b6ff26007937a +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846695f32217406ccaa2da8f4a639bd9b5656007964aeaf74c7c377d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d848f074d3d766c1a7770c51ceba699a16ad262790fc279e7dd2fcccfd4dca +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=51f74c4a80c3768dd6476fbb9c599efe5491567af3d18c8415d9d017821004 + +handshake=Noise_NK_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f256569b87bb96d615490cfa4ca93b30 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664918946d495163ba4efd4dfea52402eb +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=95922788fcef822a17b42f450fa14d05d8e6a4377ca0aea3b4804f03db74a2 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0976cd4a786c253b37489b6bc3867b2df0dddf9f939b218da54092c6d3eca4 + +handshake=Noise_NKpsk0_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e6679a09e77ede865a31906c6f3c9537 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466833a2e7d79a0dbfc47f93bd7c4442646 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=093acd47149fadf3574dd440428181edf9c61cc4a1b5ef815e8b779f1bbf40 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2b8e170039917a61d4fe8acbd2147d50afafc32070458b51b666225614f364 + +handshake=Noise_NKpsk1_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625402b4cfd1e0bc207c3f2a5459c6993328 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466065a03c65cc319c55bde1813028060ce +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=51fd5d7489dae3d6a99766db0afe89c1d19ed91a80b1bb64f94e747360fd2c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=be24f94a04505c8ab51768a80b388f2758ddab3b2fa3eebfeaceeff0130d78 + +handshake=Noise_NKpsk2_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546de0aeb2f4a18513ac55eea1fbbe4de8 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846626379fd9720128b0dbbaa6734fd5b9e0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d848f074d3d766c1a7770c51ceba699a16ad262790fc279e7dd2fcccfd4dca +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=51f74c4a80c3768dd6476fbb9c599efe5491567af3d18c8415d9d017821004 + +handshake=Noise_NK_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546cfcd5c91dd95543a2363b9bd07c092d8fff14687e5f48b43afc +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b3f3dd3e34414275ad73c9d7e1d03e86e1580404241350ed9ab1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=95922788fcef822a17b42f450fa14d05d8e6a4377ca0aea3b4804f03db74a2 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0976cd4a786c253b37489b6bc3867b2df0dddf9f939b218da54092c6d3eca4 + +handshake=Noise_NKpsk0_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625485932c8c7615c82637987b6d1508724221d9ac49e27a147f5b20 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466cce9cb21a513f9de326ccb24b4012111db3db7d41383ad139bf4 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=093acd47149fadf3574dd440428181edf9c61cc4a1b5ef815e8b779f1bbf40 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2b8e170039917a61d4fe8acbd2147d50afafc32070458b51b666225614f364 + +handshake=Noise_NKpsk1_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543f74b70b971271ffb3ef260b21a3f29655bee689e501c2a16b89 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669920e429a6643b44e75f92aa79146466904a0217560ee27b49df +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=51fd5d7489dae3d6a99766db0afe89c1d19ed91a80b1bb64f94e747360fd2c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=be24f94a04505c8ab51768a80b388f2758ddab3b2fa3eebfeaceeff0130d78 + +handshake=Noise_NKpsk2_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254537ac869369393768b21c12506b70b078d6cb28378d02e8d93af +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846695f32217406ccaa2da8ffcd2908a04cb425c65daad407f91f131 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d848f074d3d766c1a7770c51ceba699a16ad262790fc279e7dd2fcccfd4dca +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=51f74c4a80c3768dd6476fbb9c599efe5491567af3d18c8415d9d017821004 + +handshake=Noise_KK_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543f53f25dc2eca97efae6a4a4b847de06 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660f506ffcf6b2781821b24b70b8fad884 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0e79035855cdea04bc833d5ff63291042c6e12b0ac55ef2c4096deed1cbac2 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=c6dbcc2ac8f85338732b71a58f4c3be89bdfa7b2da8a8506ec4f1d2d9299a0 + +handshake=Noise_KKpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f8ec97c143e2e9193574ea4989ebc3a2 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668021ddcdb7eb8e89d8034de9248af340 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=13f09ec7877b005731a876958cec004a7f9c2734e971828082db441ce001c1 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=cf3a9cb9da7eb9bea19447b1f9bea60ac70124dfef886e9b82cd52f748c682 + +handshake=Noise_KKpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542a366ea33985fc1669836b873058f89a +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664aad05b9467f884f79f963ec5febb35f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=96252868cb85131fc634b43f37c135da2b02902158369ec7a8e6b45b246732 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=52822ad96c98c7ebcf68cafe91b6f18929aad75af5424a973cdb0f004b3832 + +handshake=Noise_KKpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b7cf6c9cefd4f1fb33dddd9f27acdb20 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661fe30c2f7bbae74d87402b1cd73c4862 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d219ab65f4416d18e67f501afa99f43009c0a1c2c78427b1dcbdd6cf020928 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=1c6b3e31392287e06fcc5a885ea8690e39a2d3d54e23f5aeca14fca3c2f053 + +handshake=Noise_KK_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f076403f2e0cdd201c5aae9d1539c9ad90262eefea9c90a5397b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f12abbcda56565bf3fa3254fe35ad97f3e9d5e25aa296741ec3e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0e79035855cdea04bc833d5ff63291042c6e12b0ac55ef2c4096deed1cbac2 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=c6dbcc2ac8f85338732b71a58f4c3be89bdfa7b2da8a8506ec4f1d2d9299a0 + +handshake=Noise_KKpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625413c6b4c495bbc7b95432907247ab38b5bb507bcf4f32abbd490e +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466169cfd28ccd38213e17be5b967a6ff6de85f6949f26824243711 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=13f09ec7877b005731a876958cec004a7f9c2734e971828082db441ce001c1 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=cf3a9cb9da7eb9bea19447b1f9bea60ac70124dfef886e9b82cd52f748c682 + +handshake=Noise_KKpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f45eb20acd443feff46beebe27c56ffdd58063a70d706f8640c6 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d510ee9dd1b542ca5a0d0c5756779245766d964eef8f34867872 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=96252868cb85131fc634b43f37c135da2b02902158369ec7a8e6b45b246732 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=52822ad96c98c7ebcf68cafe91b6f18929aad75af5424a973cdb0f004b3832 + +handshake=Noise_KKpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540590c32754712b9ce391e4773cd5b7c761ef65b6cb530ab10d8f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f1bd851e93bfded9a6c7d56b6672e23bdc4a53bdc9e10961b1f0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d219ab65f4416d18e67f501afa99f43009c0a1c2c78427b1dcbdd6cf020928 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=1c6b3e31392287e06fcc5a885ea8690e39a2d3d54e23f5aeca14fca3c2f053 + +handshake=Noise_KK_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d05f754c90d580f21b243391fe987af4 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f8f3babbd403b9665488570810b364dd +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0e79035855cdea04bc833d5ff63291042c6e12b0ac55ef2c4096deed1cbac2 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=c6dbcc2ac8f85338732b71a58f4c3be89bdfa7b2da8a8506ec4f1d2d9299a0 + +handshake=Noise_KKpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625420f8e0f9c7579f754ce9b5e05f5cee81 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b05668d3dcd247a08e099cbeb58174df +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=13f09ec7877b005731a876958cec004a7f9c2734e971828082db441ce001c1 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=cf3a9cb9da7eb9bea19447b1f9bea60ac70124dfef886e9b82cd52f748c682 + +handshake=Noise_KKpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546bfe451377763da7a318dbfc124530f9 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662f550d35da0ef73348c5f2a8be605444 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=96252868cb85131fc634b43f37c135da2b02902158369ec7a8e6b45b246732 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=52822ad96c98c7ebcf68cafe91b6f18929aad75af5424a973cdb0f004b3832 + +handshake=Noise_KKpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625456ad94f8b8869d6b972be9a552537a3c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466dfd7a0cc157b4afc52ff249d573f1358 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d219ab65f4416d18e67f501afa99f43009c0a1c2c78427b1dcbdd6cf020928 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=1c6b3e31392287e06fcc5a885ea8690e39a2d3d54e23f5aeca14fca3c2f053 + +handshake=Noise_KK_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f076403f2e0cdd201c5a743d4aab448e6e3b29d4aa05628a5cbd +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f12abbcda56565bf3fa37b196488daf515b7434096aa1638346b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0e79035855cdea04bc833d5ff63291042c6e12b0ac55ef2c4096deed1cbac2 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=c6dbcc2ac8f85338732b71a58f4c3be89bdfa7b2da8a8506ec4f1d2d9299a0 + +handshake=Noise_KKpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625413c6b4c495bbc7b95432535cc6716834442ddae5e177d5bfd397 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466169cfd28ccd38213e17b518f78c70703c52b0d8d51d4479b557a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=13f09ec7877b005731a876958cec004a7f9c2734e971828082db441ce001c1 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=cf3a9cb9da7eb9bea19447b1f9bea60ac70124dfef886e9b82cd52f748c682 + +handshake=Noise_KKpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f45eb20acd443feff46b315ad0366d803b7da09e6b84e12c1064 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d510ee9dd1b542ca5a0dca75e69bc396eea2dadec726382e2030 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=96252868cb85131fc634b43f37c135da2b02902158369ec7a8e6b45b246732 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=52822ad96c98c7ebcf68cafe91b6f18929aad75af5424a973cdb0f004b3832 + +handshake=Noise_KKpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540590c32754712b9ce391bf35caa325f1ed107ec12d5cb4fc49af +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f1bd851e93bfded9a6c776e0614d573731a40e7f562f6f3c067f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d219ab65f4416d18e67f501afa99f43009c0a1c2c78427b1dcbdd6cf020928 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=1c6b3e31392287e06fcc5a885ea8690e39a2d3d54e23f5aeca14fca3c2f053 + +handshake=Noise_NX_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ba1de7566c661eeed804d8fba1bcf3071d59a4a7ee2095ae6e8d813b554ad81ee45f4a4b6c2e8cd75b923c050e1330749b0c56fbae778fd91060bca3512061cf +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=947e1b1a2798ef97094d7dbccd7244c92baf5e4d8b0e7ed5da78fbe1fdac76 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ed42482e9b09e2f97dc931e1444f9d7a8b51241108b41cab53474327500596 + +handshake=Noise_NXpsk0_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254600c4a8eb4f41bafda4465f2e9e34bae +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661aa7a9691509a04c46a6ce79f30fdbc377a2158ca3967df0ea4b1bb18532ca8737927e184c0605e9641bc3974b037282ceae988c87be4c68494c1d4f2b705cb2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=309e81a1ec83fd198e19b766e75f5e3a6ee55cd7b0119955211dcfcfdd0dae +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=92ac33cb48df9677f9a6528346e17cd89855368535e8ee3c8252291d7820a4 + +handshake=Noise_NXpsk1_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545b83011e8a447059f5a20533e49339a7 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466afe68fdc6ad2df579fc8c4647c9daa9bccf146281b1fd8a0c4a193c206e89182236eb3f634d1c039759312597c6b3d48389b835f65abd51fd8e9a844fcfa9d89 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=bd4ff6855a94bfd208d12eab8a615bd648d2e255bbca66ef2dcf95b6f64051 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=72f8827c79760073df771af24d5577a294e6c91391de79ad375277b91c899e + +handshake=Noise_NXpsk2_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c32f9f7340e786f655274b1d55dddeb1 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466483412f9b4501d6e091c567f54851490683ba20583a2d46f9e46a34e1aef4d4f027e98fac3b55d80b833ac43e55d84d2597fbd6906b2ce5c0101b0c992bd7816 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4e6a4d111017cdfee460438955caf3234610c1971e06d1143ca16c7b407a96 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0f24650c4c6aa4a0ac25f0def8ac28890c64ad3bd787f101be1f6f3d868288 + +handshake=Noise_NX_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ba1de7566c661eeed804d8fba1bcf3071d59a4a7ee2095ae6e8d813b554ad81e4ad1b2e3dc131f7decf35551aaa64803118efe076183e491cbc8dbfa9e20298f8603da282b6cbbf303c8 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=947e1b1a2798ef97094d7dbccd7244c92baf5e4d8b0e7ed5da78fbe1fdac76 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ed42482e9b09e2f97dc931e1444f9d7a8b51241108b41cab53474327500596 + +handshake=Noise_NXpsk0_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254dc8c612be768de5f7f3df631297f55b318248d15e3475c151d8d +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661aa7a9691509a04c46a6ce79f30fdbc377a2158ca3967df0ea4b1bb18532ca87a13b25dfb83dac18a8cbac87c6bc6992ef497397067bba94fb3a96ca3a1020c00a2ae479f2e60e977d68 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=309e81a1ec83fd198e19b766e75f5e3a6ee55cd7b0119955211dcfcfdd0dae +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=92ac33cb48df9677f9a6528346e17cd89855368535e8ee3c8252291d7820a4 + +handshake=Noise_NXpsk1_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547bb202abc57006587591d4d467cc7bcbd58800e3d148ce4963e9 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466afe68fdc6ad2df579fc8c4647c9daa9bccf146281b1fd8a0c4a193c206e89182e71c52c2ee8ffc027ee7460754ec704fb0f338043a3e469bd74c850e7f4502269fd8e69922b3ec7f014c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=bd4ff6855a94bfd208d12eab8a615bd648d2e255bbca66ef2dcf95b6f64051 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=72f8827c79760073df771af24d5577a294e6c91391de79ad375277b91c899e + +handshake=Noise_NXpsk2_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254cb0e968d6f6cf4ffa7b1a168a144a90d468d117045bcdac9ce2b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466483412f9b4501d6e091c567f54851490683ba20583a2d46f9e46a34e1aef4d4f2f0c8a081791c4ee0f5abb8697ffc0c99562af1f3e104d1bc04df1b1a17a2ead35a5b569377336e90470 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4e6a4d111017cdfee460438955caf3234610c1971e06d1143ca16c7b407a96 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0f24650c4c6aa4a0ac25f0def8ac28890c64ad3bd787f101be1f6f3d868288 + +handshake=Noise_NX_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ba1de7566c661eeed804d8fba1bcf3071d59a4a7ee2095ae6e8d813b554ad81e607b7c6987c60ff865c745b0c6ef765be0580f5484546cf94bd3ecb0d2298226 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=947e1b1a2798ef97094d7dbccd7244c92baf5e4d8b0e7ed5da78fbe1fdac76 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ed42482e9b09e2f97dc931e1444f9d7a8b51241108b41cab53474327500596 + +handshake=Noise_NXpsk0_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625470fd0f29b580ff883963cdee7776787b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661aa7a9691509a04c46a6ce79f30fdbc377a2158ca3967df0ea4b1bb18532ca87d439f889f15a1819502b8356523b4d3a14b3906db2105a3a567cecce7699b721 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=309e81a1ec83fd198e19b766e75f5e3a6ee55cd7b0119955211dcfcfdd0dae +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=92ac33cb48df9677f9a6528346e17cd89855368535e8ee3c8252291d7820a4 + +handshake=Noise_NXpsk1_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ead4aca71459776346063860fc9dacef +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466afe68fdc6ad2df579fc8c4647c9daa9bccf146281b1fd8a0c4a193c206e8918205f730787beb926375b224bdd8c3ffd2b485a3a2e44ac9e33de0e3160438b266 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=bd4ff6855a94bfd208d12eab8a615bd648d2e255bbca66ef2dcf95b6f64051 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=72f8827c79760073df771af24d5577a294e6c91391de79ad375277b91c899e + +handshake=Noise_NXpsk2_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549d596409946ef9c77e9c61aaeaaad31b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466483412f9b4501d6e091c567f54851490683ba20583a2d46f9e46a34e1aef4d4fd1622b6c789a6df165149281d1be9449a04338eb661d26528df109a269ed2a5d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4e6a4d111017cdfee460438955caf3234610c1971e06d1143ca16c7b407a96 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0f24650c4c6aa4a0ac25f0def8ac28890c64ad3bd787f101be1f6f3d868288 + +handshake=Noise_NX_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ba1de7566c661eeed804d8fba1bcf3071d59a4a7ee2095ae6e8d813b554ad81eb15e8bfeea1d1766c1ca995bf2fc89f8118efe076183e491cbc8f2e50c3b6af6238ec0e37daffb0cc742 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=947e1b1a2798ef97094d7dbccd7244c92baf5e4d8b0e7ed5da78fbe1fdac76 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ed42482e9b09e2f97dc931e1444f9d7a8b51241108b41cab53474327500596 + +handshake=Noise_NXpsk0_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254dc8c612be768de5f7f3d2d79705307fcaf69908c306a29c5e2e2 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661aa7a9691509a04c46a6ce79f30fdbc377a2158ca3967df0ea4b1bb18532ca87cd254354d4669c66db55d59ea0db0c57ef497397067bba94fb3a75d3a3b3804d73a62887f06cd31b17dc +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=309e81a1ec83fd198e19b766e75f5e3a6ee55cd7b0119955211dcfcfdd0dae +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=92ac33cb48df9677f9a6528346e17cd89855368535e8ee3c8252291d7820a4 + +handshake=Noise_NXpsk1_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547bb202abc57006587591865999d0fba3fb1daa6f307a1c5a69b9 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466afe68fdc6ad2df579fc8c4647c9daa9bccf146281b1fd8a0c4a193c206e89182883437826964719dfe774885fd82ed85b0f338043a3e469bd74c03833e4d31c6c4197118b2d0c23fe394 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=bd4ff6855a94bfd208d12eab8a615bd648d2e255bbca66ef2dcf95b6f64051 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=72f8827c79760073df771af24d5577a294e6c91391de79ad375277b91c899e + +handshake=Noise_NXpsk2_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254cb0e968d6f6cf4ffa7b18efe9bd452f1b893c8e960b8be69195b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466483412f9b4501d6e091c567f54851490683ba20583a2d46f9e46a34e1aef4d4fe228d02a04c8e97aca8ccf320bd8132d9562af1f3e104d1bc04dbc27c527aa4edf080cdd9962779f7718 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4e6a4d111017cdfee460438955caf3234610c1971e06d1143ca16c7b407a96 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0f24650c4c6aa4a0ac25f0def8ac28890c64ad3bd787f101be1f6f3d868288 + +handshake=Noise_KX_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846651b9d60eb501f5efa797765be5facecd1b54777890c04bcbd4c363392ec8020c6574a4c4d6b72b0eb5e4f7ddfa581d58df144e59de159afb7c8c8c882873e8f6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=cef18cc9c074b7b65b0876c13b23ac88a40d8f0508e88ce059511c69cafe8e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2cb3ee4126b92633a230fa828a5d01e20577ad6957dbab9f547a0d321da1aa + +handshake=Noise_KXpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254fd769263bccd79587c7f736e1359352c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668140b6d6d8f57a44ea44a8faf051f109ab23fa8a11571923ab169aa41f1c145acaa50a4110b116973a047dc46fda6e45e79872d9a133db8635d3ef5f62c67f8c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=741d43d667af84da98ce714d05b47f025f58390989a6017c317d906d89cef3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=03cd0d03692885e37a8b0b6163e094c9a8d5a62383c15a0d43af0505985d69 + +handshake=Noise_KXpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625494e6dc9266f412da8940e5f1ed2928a1 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a0bfaa51f5148f03b052ef9bcbe0a78ff41c171a105e9928b8eca5683674c22961d70956f724006d7c2c5f64c58fcc8b9e6d7c434b2bc8dfe67a122758b866ed +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=57271ed33c4dc921dde89c5e7920df0ab2a58361b19e4d6383e650da99e7fd +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4719d03ef8bd3d51202cb10d97d8ed9a449b928b50944e20fc749fdd36882a + +handshake=Noise_KXpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c9c7f6571bb640878ca69055b410af39 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664eb43ac79c1a09d29d9ee9abd60d01f24e07f95c9b57e6b228513d3b911a6bc5ad29b67154c895c55dca9525049a9c88bb1d43a542bd18b0ad443deb912abfdd +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=97fb83aaf881a57aef8a2ee5c92067bfb12be1ca9ff96ec05801a17ab59dc1 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5980f6c58e2c33192316ff9db9684a41f98cff4c921dd99d10a147888cab96 + +handshake=Noise_KX_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846651b9d60eb501f5efa797765be5facecd1b54777890c04bcbd4c363392ec8020cffea7b7816cc8d3cbba422da8c5039188ad2715f430663cbef349f687f0f01cc0840853c3dd4a03ce7bc +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=cef18cc9c074b7b65b0876c13b23ac88a40d8f0508e88ce059511c69cafe8e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2cb3ee4126b92633a230fa828a5d01e20577ad6957dbab9f547a0d321da1aa + +handshake=Noise_KXpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625479403368521b32d522b60c39847630ecef1bd89c190bd2cb44fb +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668140b6d6d8f57a44ea44a8faf051f109ab23fa8a11571923ab169aa41f1c145a32241706d4690b505402baf8a06ac03dc72401f783edd06f26aaa98ca33150b3f574651a160baec40c13 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=741d43d667af84da98ce714d05b47f025f58390989a6017c317d906d89cef3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=03cd0d03692885e37a8b0b6163e094c9a8d5a62383c15a0d43af0505985d69 + +handshake=Noise_KXpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625456816aec771748a363fa2a63e3ea0a5168ce09326a42f6efc8b8 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a0bfaa51f5148f03b052ef9bcbe0a78ff41c171a105e9928b8eca5683674c229549745c7795addacbbf9c25b7cc5137f185ab372ec13f203d0fe6467406ad4cc76392bb4aee1f7c753b8 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=57271ed33c4dc921dde89c5e7920df0ab2a58361b19e4d6383e650da99e7fd +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4719d03ef8bd3d51202cb10d97d8ed9a449b928b50944e20fc749fdd36882a + +handshake=Noise_KXpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625403f860c4b0e5d136c74ff866a7ebba59b63ddf4984282f9a193c +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664eb43ac79c1a09d29d9ee9abd60d01f24e07f95c9b57e6b228513d3b911a6bc58b6457503d60ae02750d4fddc6a3866ed9e2b7b665ba695e83536460bf805b4ed26df8efe3af02fd4d67 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=97fb83aaf881a57aef8a2ee5c92067bfb12be1ca9ff96ec05801a17ab59dc1 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5980f6c58e2c33192316ff9db9684a41f98cff4c921dd99d10a147888cab96 + +handshake=Noise_KX_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846651b9d60eb501f5efa797765be5facecd1b54777890c04bcbd4c363392ec8020c59dd8e8bebc235878d857c6d84f0a5338eb5d49142fed0d622590da2f9ea200d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=cef18cc9c074b7b65b0876c13b23ac88a40d8f0508e88ce059511c69cafe8e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2cb3ee4126b92633a230fa828a5d01e20577ad6957dbab9f547a0d321da1aa + +handshake=Noise_KXpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540fbdb18c265d797f42d7536d571f3473 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668140b6d6d8f57a44ea44a8faf051f109ab23fa8a11571923ab169aa41f1c145ad1708830ccf11c7e12c15ae550ba6b9ce92e7a01beb8af9f1ce00af37806dd10 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=741d43d667af84da98ce714d05b47f025f58390989a6017c317d906d89cef3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=03cd0d03692885e37a8b0b6163e094c9a8d5a62383c15a0d43af0505985d69 + +handshake=Noise_KXpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546046313eb7d85b39691f62081c58167c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a0bfaa51f5148f03b052ef9bcbe0a78ff41c171a105e9928b8eca5683674c229fc6c0e0e58ca821feb64676b38238320161795720ff76f68a12f005fcb10d883 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=57271ed33c4dc921dde89c5e7920df0ab2a58361b19e4d6383e650da99e7fd +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4719d03ef8bd3d51202cb10d97d8ed9a449b928b50944e20fc749fdd36882a + +handshake=Noise_KXpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548b60f0d634971bb203b652ba1967b61a +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664eb43ac79c1a09d29d9ee9abd60d01f24e07f95c9b57e6b228513d3b911a6bc5e426a250b6d1851e0988cc7e1e3d719f9b071823a8e301e71894a3e769e1e9fa +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=97fb83aaf881a57aef8a2ee5c92067bfb12be1ca9ff96ec05801a17ab59dc1 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5980f6c58e2c33192316ff9db9684a41f98cff4c921dd99d10a147888cab96 + +handshake=Noise_KX_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846651b9d60eb501f5efa797765be5facecd1b54777890c04bcbd4c363392ec8020c7c436998be9c91ef0b5bf378deb15d158ad2715f430663cbef34c07c8fffbbe6e1d06b86643854167c10 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=cef18cc9c074b7b65b0876c13b23ac88a40d8f0508e88ce059511c69cafe8e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2cb3ee4126b92633a230fa828a5d01e20577ad6957dbab9f547a0d321da1aa + +handshake=Noise_KXpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625479403368521b32d522b66108a91f0ee0630b01d5e9d75894e97b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668140b6d6d8f57a44ea44a8faf051f109ab23fa8a11571923ab169aa41f1c145a15a68caffb32e07426fb150508d5a8edc72401f783edd06f26aa8076fe78659e21041dd0d33c189cefe9 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=741d43d667af84da98ce714d05b47f025f58390989a6017c317d906d89cef3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=03cd0d03692885e37a8b0b6163e094c9a8d5a62383c15a0d43af0505985d69 + +handshake=Noise_KXpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625456816aec771748a363fa549a17755a6b8c1bd2ba5e506be3c0ad +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a0bfaa51f5148f03b052ef9bcbe0a78ff41c171a105e9928b8eca5683674c22927af6ddc7a690cdb4d5a2980f751f89a185ab372ec13f203d0fea95291c45a6bd1ecd8d7646b9d8232d1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=57271ed33c4dc921dde89c5e7920df0ab2a58361b19e4d6383e650da99e7fd +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4719d03ef8bd3d51202cb10d97d8ed9a449b928b50944e20fc749fdd36882a + +handshake=Noise_KXpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625403f860c4b0e5d136c74f34c13ce247013edb3c379e4a24ac14df +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664eb43ac79c1a09d29d9ee9abd60d01f24e07f95c9b57e6b228513d3b911a6bc5668549e52bbb134d9ff2d80daea26b9dd9e2b7b665ba695e83538dfe52c654f53bcdc88eea727bffe4ce +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=97fb83aaf881a57aef8a2ee5c92067bfb12be1ca9ff96ec05801a17ab59dc1 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5980f6c58e2c33192316ff9db9684a41f98cff4c921dd99d10a147888cab96 + +handshake=Noise_XN_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661b40ea2c38a51f959025c4dccfa89109 +msg_2_payload= +msg_2_ciphertext=503a8b472892ad3f5b51559452113c16ed3e184c13f944444437a34e31f439ff6700164dde01a283d026e511c871c6f0e8020d7872c914f667606b55934e2e99 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=6233ac2185ec7af41983156d39699d8449548f0b481d6d0749496ffa362e5e +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=085d31a2a8dfa0451b2080d1b516bf21503bd2abba540af2b97baad8ac7d60 + +handshake=Noise_XNpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254be60dc15acd4d448e54a81c36031b2bd +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f001d2d0138680be35a3b247be41ddf9 +msg_2_payload= +msg_2_ciphertext=644acc467adf3b0fcf528112daa6473b5f7eccfda6f35e43c8ceacc5b36fdbe783cb198473d625c010ec9b15dbc16f4f484ee5e9afd0030c14ad672c27888cc5 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=89cbd646aeb2f177e721951f251ba49fa3301858d90e126b2624f075d4f129 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=20943736018249bb86246c5e6abc05a43318177fd1acf9f17fdbe66f0c8786 + +handshake=Noise_XNpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541b7a6a865a363291e581c34bc35c8365 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b37f01c70f05506d6dac3d469cf12970 +msg_2_payload= +msg_2_ciphertext=b6247d8e9b00e51c28e179223285ba39a6d8a8cf6e9d30da6d45046a5bcc46ead5bd76c082595e3fa851fa68b226fed2f0e36857ce2b2c1bb6db5d1def71c553 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=8823a52a7820f4427e8bd2d71aee13f17e979b1095e2602f212c1a0fde7f8d +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=ed15c9431df4f8e30c7d69d8fcc1f3cba62eff9b8f0dca8439b1e63185873e + +handshake=Noise_XNpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542d0c7264b68d5dc48dec2efebac21eb5 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666ccb5e6f7f8a43fcc7c08ceb60ebd6dd +msg_2_payload= +msg_2_ciphertext=87cb6974ecc3d5ae746b5ad5a13889eeb64930c8b2d75ab050cea76ff88b0daf2cdaeaedd0347d1e3ea45daae0d82d651f6e5570c6f9ffb03740c5029abbd1d9 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=da8087eb4a0c87e6500c27c335fa688af01ce4ab4293ae99bd8457b38d33c2 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=7e8a728afbddb6786dcead1803d0a8cefb780f66989efcc00512c0c0b84e86 + +handshake=Noise_XNpsk3_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a3b49c63b28e53c4ca60d9665141307f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663354690faf83da25e878325a2005f1c9 +msg_2_payload= +msg_2_ciphertext=f63edbeb454c2df86a311f7f3d7491fe197f6d6afa7a23b1c875ba31c93d2941a13e8327f351cec361b5967dab1ea7ce283091fe45f7139d7632d9a3d927737a +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=54db3e36bce2d3a19395309650bd3014b7e71eb3f2708a2b13adee825d2577 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=fb8ea9164c2c727cbdab7ad21c485b2fd73d7dbe30d39482241ab93994aea2 + +handshake=Noise_XN_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846612f372d7f26b78d4c7c9c9f08c104df736cc02ea331c83c6498d +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=503a8b472892ad3f5b51559452113c16ed3e184c13f944444437a34e31f439ff87991616ec896946bdfd5a2ff7ecab30b1d5d90b0180e4020e32b2905fa1fdf1abf0e17903d0fa11bd8d +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=6233ac2185ec7af41983156d39699d8449548f0b481d6d0749496ffa362e5e +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=085d31a2a8dfa0451b2080d1b516bf21503bd2abba540af2b97baad8ac7d60 + +handshake=Noise_XNpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625405e10984cac2c8b9431e3e5025938df4e39c942478bcc2722a54 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664981c8d4906f552b923dffdde5a30fb4fd30cceb9091ef913503 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=644acc467adf3b0fcf528112daa6473b5f7eccfda6f35e43c8ceacc5b36fdbe77f7303d2484e680d0dcf1703bd006df162029804a05248513696b861f3a2d2627f36c2cb683bbbf99ddd +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=89cbd646aeb2f177e721951f251ba49fa3301858d90e126b2624f075d4f129 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=20943736018249bb86246c5e6abc05a43318177fd1acf9f17fdbe66f0c8786 + +handshake=Noise_XNpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c524c8eec1e25e136d78dc60a45cf7fb50893415f65319efb637 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466428012d547892abee56b6fc69ba0315682828117b88eb1fdab61 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=b6247d8e9b00e51c28e179223285ba39a6d8a8cf6e9d30da6d45046a5bcc46eabecda5d2c25c7b10b66f093bf41749a97a849041926ab49c36be5cadaf10f95a92bd053872927102b2d5 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=8823a52a7820f4427e8bd2d71aee13f17e979b1095e2602f212c1a0fde7f8d +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=ed15c9431df4f8e30c7d69d8fcc1f3cba62eff9b8f0dca8439b1e63185873e + +handshake=Noise_XNpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254785623d13d7d90f0389866c83a7a233d82456b10229518acb15b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d20b83210dbf4e12a39779088407fd878b5cee5e2b6f76a833ac +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=87cb6974ecc3d5ae746b5ad5a13889eeb64930c8b2d75ab050cea76ff88b0daf4fcff82bc91dec08d2fdc0da7c49231e2861bb4a561c81a29395619f3a27ba934977dc7d0a1334dbf516 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=da8087eb4a0c87e6500c27c335fa688af01ce4ab4293ae99bd8457b38d33c2 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=7e8a728afbddb6786dcead1803d0a8cefb780f66989efcc00512c0c0b84e86 + +handshake=Noise_XNpsk3_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e23359ef5f50e0c7c53b5611a0d5eba739ae40af2b928c454691 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663c23b78afaf9c3b0446d9fa54f1e1f8f7d2f79e8c53500e85fcc +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=f63edbeb454c2df86a311f7f3d7491fe197f6d6afa7a23b1c875ba31c93d294145cee44b4f3577448b2097fb2e75b732499943c385cd7d2e878c8b49fb5e7ccbb54cc89cd47e5e0b68c9 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=54db3e36bce2d3a19395309650bd3014b7e71eb3f2708a2b13adee825d2577 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=fb8ea9164c2c727cbdab7ad21c485b2fd73d7dbe30d39482241ab93994aea2 + +handshake=Noise_XN_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e7d5bc062725904d0e112526293811b9 +msg_2_payload= +msg_2_ciphertext=503a8b472892ad3f5b51559452113c16ed3e184c13f944444437a34e31f439ff302f7d08f2b456cefb4b1898b3d59dc7b2c227d1b5776db819a910a3ada6f410 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=6233ac2185ec7af41983156d39699d8449548f0b481d6d0749496ffa362e5e +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=085d31a2a8dfa0451b2080d1b516bf21503bd2abba540af2b97baad8ac7d60 + +handshake=Noise_XNpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f1aa09b43530ef5ef8da92a470629df9 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665e93ce32ae9ed58913085363e1d5a366 +msg_2_payload= +msg_2_ciphertext=644acc467adf3b0fcf528112daa6473b5f7eccfda6f35e43c8ceacc5b36fdbe7e560c143da89678734b80155a6ffa08c02183ae0fa0cfb2ee8a2bd6576b2c8e7 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=89cbd646aeb2f177e721951f251ba49fa3301858d90e126b2624f075d4f129 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=20943736018249bb86246c5e6abc05a43318177fd1acf9f17fdbe66f0c8786 + +handshake=Noise_XNpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254dbdd21afbcb5201f3293e6b9b0b21741 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846619cb4d03a0688af431c043c964cc5d0c +msg_2_payload= +msg_2_ciphertext=b6247d8e9b00e51c28e179223285ba39a6d8a8cf6e9d30da6d45046a5bcc46ea39962cc6c99fbf9cb381353ee8374245874d4c279a323370bbb6373a8a000e16 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=8823a52a7820f4427e8bd2d71aee13f17e979b1095e2602f212c1a0fde7f8d +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=ed15c9431df4f8e30c7d69d8fcc1f3cba62eff9b8f0dca8439b1e63185873e + +handshake=Noise_XNpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b1bd021ed3e3e5d4807ada02f9645d74 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846692b94bc6537d2fed9a3c770b66591637 +msg_2_payload= +msg_2_ciphertext=87cb6974ecc3d5ae746b5ad5a13889eeb64930c8b2d75ab050cea76ff88b0daf415213045fc25050c65d660b1e1b6a8589a8c628892a21e02b5c3f0ea78c5e9f +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=da8087eb4a0c87e6500c27c335fa688af01ce4ab4293ae99bd8457b38d33c2 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=7e8a728afbddb6786dcead1803d0a8cefb780f66989efcc00512c0c0b84e86 + +handshake=Noise_XNpsk3_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549c583a80c1b9c72ff4fcab5c6642a61b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d97987c73974b0eaf6f990ab6e715b69 +msg_2_payload= +msg_2_ciphertext=f63edbeb454c2df86a311f7f3d7491fe197f6d6afa7a23b1c875ba31c93d294125e1b2c36a4607e8a34670736750fee5ac7d0a002482b07d7cc4a69115c88d30 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=54db3e36bce2d3a19395309650bd3014b7e71eb3f2708a2b13adee825d2577 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=fb8ea9164c2c727cbdab7ad21c485b2fd73d7dbe30d39482241ab93994aea2 + +handshake=Noise_XN_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846612f372d7f26b78d4c7c93deca890b478737fefc1db77d4a70c7d +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=503a8b472892ad3f5b51559452113c16ed3e184c13f944444437a34e31f439ffb3cda7ae4d197b2eba686c6de1039e57b1d5d90b0180e4020e325aade631cb7d75d78cb7a4be982b0e4a +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=6233ac2185ec7af41983156d39699d8449548f0b481d6d0749496ffa362e5e +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=085d31a2a8dfa0451b2080d1b516bf21503bd2abba540af2b97baad8ac7d60 + +handshake=Noise_XNpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625405e10984cac2c8b9431ef429d0a9e1e987fa9ab72ed768d453d2 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664981c8d4906f552b923d648b1adfd98463b7de620c3809e54270 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=644acc467adf3b0fcf528112daa6473b5f7eccfda6f35e43c8ceacc5b36fdbe7befd4b86277538e5733008c9b549f39962029804a0524851369631704b259e55bf9c511ac01893651c08 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=89cbd646aeb2f177e721951f251ba49fa3301858d90e126b2624f075d4f129 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=20943736018249bb86246c5e6abc05a43318177fd1acf9f17fdbe66f0c8786 + +handshake=Noise_XNpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c524c8eec1e25e136d780cd029d91adbe0f2524363dd016b477d +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466428012d547892abee56b0265f0c9fe99b596e2291d0a3d9d0d3e +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=b6247d8e9b00e51c28e179223285ba39a6d8a8cf6e9d30da6d45046a5bcc46ea33c71af82b774d8fb8295a28eef160217a849041926ab49c36be63429a9c3a37f6fe3914421b8a79e348 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=8823a52a7820f4427e8bd2d71aee13f17e979b1095e2602f212c1a0fde7f8d +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=ed15c9431df4f8e30c7d69d8fcc1f3cba62eff9b8f0dca8439b1e63185873e + +handshake=Noise_XNpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254785623d13d7d90f03898f7fee58afe50dae23444110a6e7e9cd0 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d20b83210dbf4e12a3972ece13ca75b4160abaac01fb0cbdbcbd +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=87cb6974ecc3d5ae746b5ad5a13889eeb64930c8b2d75ab050cea76ff88b0dafb71f25d3022bce2ac10652c064ebf0d32861bb4a561c81a29395a72e17a57f370259c04f0d0cb3899d80 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=da8087eb4a0c87e6500c27c335fa688af01ce4ab4293ae99bd8457b38d33c2 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=7e8a728afbddb6786dcead1803d0a8cefb780f66989efcc00512c0c0b84e86 + +handshake=Noise_XNpsk3_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e23359ef5f50e0c7c53b7d4820e2923b0f9f60feec7466841622 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663c23b78afaf9c3b0446d2b9018a12da1972a41e5aca5b0374147 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=f63edbeb454c2df86a311f7f3d7491fe197f6d6afa7a23b1c875ba31c93d2941b0f3595d303a638fc757eb81d7841a4a499943c385cd7d2e878c8d0d9ef63936a3804cdc64aabd99e829 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=54db3e36bce2d3a19395309650bd3014b7e71eb3f2708a2b13adee825d2577 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=fb8ea9164c2c727cbdab7ad21c485b2fd73d7dbe30d39482241ab93994aea2 + +handshake=Noise_IN_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466cdeb70e577c726fba1c682d0cc9d58dc +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=942a03a9fbd149d80f827d68acb020b98a2988435155931aa6e87780e1ae0e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6c22a69895e4c940bed283b9a10ce57d83f09683827a283fda77d75d086c6e + +handshake=Noise_INpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547c265cb3ca07c422159c05da5508b509330a9d97d67a3a8fea09e53fe4965fa404a45a7a007c03ec5b18911e3e5a11d686325db0c406eac3d84e1e705cd7e1c0 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846669eeb99c25d0285113c571b33c777dc2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=702284b311f0bab378528420b7a5a4e829737ee3e6daf41517fda5fdfeadfb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=52c5ed9e8e2fe3bb2a870b47b1380ef94a8578d3a895f4e799720902699fca + +handshake=Noise_INpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544d56bb0c1876cf3c43d9e4704c3695912692be106f89aefc5f9a82faa4b8ed6d21fd0416e483d32cc8774dfcfdd0d384b277fc77f8a612755a568224a86f48e6 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846610fab43afb44de3edfc9d3039020a09b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=594ecdb1619d52ce6094d23485ce71d1ba806bb3297be3e2aa8031b51f3fb9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=703336a1f5ae2eff07442bbbe4797fb864c8038a890332e943234fe11e92e7 + +handshake=Noise_INpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c9b90bf88a0b8849c338ddcba137cc03b951bd2dc177071ee618d38f18d8171576e80df2eb20134ea61ecca66d604826193d3940232859387a7e6ab57d74bb41 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665f13b26b4e47f377f079cba555e2c2e7 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=75c8cda123eca519ddae68fd5de69ae61696a8147e06b1b057478de9ca4dd0 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=477468334e5fe3fd833bedbdaa22c7030e03eb531402dd48df9ce98182ef08 + +handshake=Noise_IN_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e081945b5d5301fe42dadb6da0f788260c6252af7f41e986c5c2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=942a03a9fbd149d80f827d68acb020b98a2988435155931aa6e87780e1ae0e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6c22a69895e4c940bed283b9a10ce57d83f09683827a283fda77d75d086c6e + +handshake=Noise_INpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547c265cb3ca07c422159c05da5508b509330a9d97d67a3a8fea09e53fe4965fa404a45a7a007c03ec5b18911e3e5a11d609022778b13fa7b2d13986844231dd445a7fdf2deced73ed7dc6 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466245acc39d32cd111269cd3b4981cd32d0fc1dd3dbcd10c2ccd00 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=702284b311f0bab378528420b7a5a4e829737ee3e6daf41517fda5fdfeadfb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=52c5ed9e8e2fe3bb2a870b47b1380ef94a8578d3a895f4e799720902699fca + +handshake=Noise_INpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544d56bb0c1876cf3c43d9e4704c3695912692be106f89aefc5f9a82faa4b8ed6d21fd0416e483d32cc8774dfcfdd0d3849494d756adea0eee2f87617f98ac7dedd0342f13f2437853cac6 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bb85a80b70fd80c7647ad87182859bce0d29d69890b8fddcad49 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=594ecdb1619d52ce6094d23485ce71d1ba806bb3297be3e2aa8031b51f3fb9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=703336a1f5ae2eff07442bbbe4797fb864c8038a890332e943234fe11e92e7 + +handshake=Noise_INpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c9b90bf88a0b8849c338ddcba137cc03b951bd2dc177071ee618d38f18d8171576e80df2eb20134ea61ecca66d60482696650307415ef3e84d9de5db5ddbb0c6edb37e0652d8f8a58b7b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bda119e70ff1a807b1f5c259b407bd4480b60a637c4e94aed69b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=75c8cda123eca519ddae68fd5de69ae61696a8147e06b1b057478de9ca4dd0 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=477468334e5fe3fd833bedbdaa22c7030e03eb531402dd48df9ce98182ef08 + +handshake=Noise_IN_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b8070f1a05f109f179e7d3cb6327b9ff +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=942a03a9fbd149d80f827d68acb020b98a2988435155931aa6e87780e1ae0e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6c22a69895e4c940bed283b9a10ce57d83f09683827a283fda77d75d086c6e + +handshake=Noise_INpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547c265cb3ca07c422159c05da5508b509330a9d97d67a3a8fea09e53fe4965fa459403c6046385d6af1f458771895e2fab6c321b290160c5bd68c6a7c621388ad +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661e03dc287297fc7ff86bc8c7810284ea +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=702284b311f0bab378528420b7a5a4e829737ee3e6daf41517fda5fdfeadfb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=52c5ed9e8e2fe3bb2a870b47b1380ef94a8578d3a895f4e799720902699fca + +handshake=Noise_INpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544d56bb0c1876cf3c43d9e4704c3695912692be106f89aefc5f9a82faa4b8ed6d83c17fa055704307c8811d1b0e0ad295f02971305459fdd7f965b0feb5b7ab6b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846628f89ed04b07e0e9e94742792dc39554 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=594ecdb1619d52ce6094d23485ce71d1ba806bb3297be3e2aa8031b51f3fb9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=703336a1f5ae2eff07442bbbe4797fb864c8038a890332e943234fe11e92e7 + +handshake=Noise_INpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c9b90bf88a0b8849c338ddcba137cc03b951bd2dc177071ee618d38f18d8171506626ab4985988f259d4b3030f1cecd90c4c6d1aa93d4213ad6adf172946bd3e +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663096c40b47d26caec9bce34e223bc3db +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=75c8cda123eca519ddae68fd5de69ae61696a8147e06b1b057478de9ca4dd0 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=477468334e5fe3fd833bedbdaa22c7030e03eb531402dd48df9ce98182ef08 + +handshake=Noise_IN_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e081945b5d5301fe42dabcc010cb04cf66f06d25106d39cc52c8 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=942a03a9fbd149d80f827d68acb020b98a2988435155931aa6e87780e1ae0e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6c22a69895e4c940bed283b9a10ce57d83f09683827a283fda77d75d086c6e + +handshake=Noise_INpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547c265cb3ca07c422159c05da5508b509330a9d97d67a3a8fea09e53fe4965fa459403c6046385d6af1f458771895e2fa09022778b13fa7b2d1391f421b1293b7d5da70d030b158d7cc98 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466245acc39d32cd111269c53d0795705caaf644f5bd95501f560b9 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=702284b311f0bab378528420b7a5a4e829737ee3e6daf41517fda5fdfeadfb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=52c5ed9e8e2fe3bb2a870b47b1380ef94a8578d3a895f4e799720902699fca + +handshake=Noise_INpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544d56bb0c1876cf3c43d9e4704c3695912692be106f89aefc5f9a82faa4b8ed6d83c17fa055704307c8811d1b0e0ad2959494d756adea0eee2f8785d82292d8f8ed078e246a2fb78d65e1 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bb85a80b70fd80c7647ae5822e9159b0bef8a8d773460386dc8b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=594ecdb1619d52ce6094d23485ce71d1ba806bb3297be3e2aa8031b51f3fb9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=703336a1f5ae2eff07442bbbe4797fb864c8038a890332e943234fe11e92e7 + +handshake=Noise_INpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c9b90bf88a0b8849c338ddcba137cc03b951bd2dc177071ee618d38f18d8171506626ab4985988f259d4b3030f1cecd996650307415ef3e84d9d01a03ce746f46e4a8128825ca5788c4a +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bda119e70ff1a807b1f540d5adbfebb77d74f37e87a47d4df9a0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=75c8cda123eca519ddae68fd5de69ae61696a8147e06b1b057478de9ca4dd0 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=477468334e5fe3fd833bedbdaa22c7030e03eb531402dd48df9ce98182ef08 + +handshake=Noise_XK_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c050317e287f01c5a4a9f6f37a94856a +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ea8cc87b9a11903d7f303d57269ff01c +msg_2_payload= +msg_2_ciphertext=065a23c2f62fb1bed15cb6ecbd9267c0dc7524d31ee9367258f443517df4b46717fa1a7d40a1fe3f74d4072a798f56f68670975962e5e284bdbc195ce67b8083 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=7043c98fbdd02d209268778851ae3117aa9cb3b29737867eb75e0718e8acfa +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=21069488a4bddda5c5211d9c5b80c1c5e42c4e65e5cd3040c613272ac05c07 + +handshake=Noise_XKpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f2190213b518df1b9dc5abd926f7f12e +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664beb6a04f3934e2aa1ce0eecdac1fda7 +msg_2_payload= +msg_2_ciphertext=f2fccf5e2aa6632808766b744399eb8a442020fcc5d2a516b5faa1a6b3561ca556b896b594f7c06e6228c1e05d4a3d1cc6c648d7bafbf389b519577c9a89945d +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=c18790dcb28ed5ebef55be13986db9dd2b9ed2133da67d370de3f1334ac9fc +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=808fe9194364bc33125f5a83c2cece78bbc1e85d7eabbc015dbd9b661e8a75 + +handshake=Noise_XKpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625486461e79ac43ef4a2cfea92f000ded06 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846602646e9b0c0f3a8cdf4bb57b005e9237 +msg_2_payload= +msg_2_ciphertext=f67e4c95336d43f8f72939e99f678331124ae5f5d9bd5e40a41ddded5a0a1b12ede3d82b8736b89315c15e0f4afeef04516b890c51b8302bb5a325bec3ecfba9 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=5b12ab52b1ee79a1114c3407e153f320863dfc86a0d98764f62651c50e2ede +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=c5f2aed3a22d04a2107aca55f25a31366bc246ed6b52d3e71a413409d3e1ce + +handshake=Noise_XKpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d5b4ca0da34839493aa0ac72dd63d23b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466805f13e0cb0646004ef00f7da87a5766 +msg_2_payload= +msg_2_ciphertext=0bb72e926efbf321955a792b7ccb45a295c6d5f031f59648c9662b709a8df50723987232b9f4da9ca839b69be56589a440adc771cc7e3c6f62aefb962d0ca355 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=974c226eca2032beaa7dc8e9ee1ac58e566cb305fbc79cca8ffa77eb6a02d0 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=94e1425470776282f7e9751698cc7ba2ae5dc0cb3c8d9b189021f6b94e65ec + +handshake=Noise_XKpsk3_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254fe849be95b0f77879a684979c7af0544 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846682d5e55e0f9af1439418f4fbd8f974e2 +msg_2_payload= +msg_2_ciphertext=c1a1778bfba62342d38b2dc7c5042d7e809efc74a6d780d2d7589673e27a3a1a31e539e0855f6ea1b0ff3d61a12da8e10959cb26e02e0815e3ec5a58808352ae +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=f4b75252b4249d95ebbc815bee87953b2bc4d6bc1ca89237d9196ab363b7fe +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=f0a47d13ace24e87f0b5319eea0bc141a410d4d1ae2705e4a0dc5fd168c867 + +handshake=Noise_XK_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254496dd4fd65bcb73030e1a50f16936b093497a8bde429c662e917 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ea95f04183becb2895dabdafa5b7d048a62812a4cdc993d14f40 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=065a23c2f62fb1bed15cb6ecbd9267c0dc7524d31ee9367258f443517df4b467b299f23b7566cb23e20882c3ec1a0f6aad26e0baa7ec90d7741c99f08177caf8918d56c694da03de81bd +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=7043c98fbdd02d209268778851ae3117aa9cb3b29737867eb75e0718e8acfa +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=21069488a4bddda5c5211d9c5b80c1c5e42c4e65e5cd3040c613272ac05c07 + +handshake=Noise_XKpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542423e50f21aff9ad1af4d952df961bc129edc38ab98728a8e058 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846654da6d875f5739c5ad31fb962eb44d8e77fb94b5bf87722578a6 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=f2fccf5e2aa6632808766b744399eb8a442020fcc5d2a516b5faa1a6b3561ca5b56f60bb281bd60c6cb5312f4584d043b1d0c753b4af23154da6f47b34d3b8e7aca54c7dfbf9f8f14796 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=c18790dcb28ed5ebef55be13986db9dd2b9ed2133da67d370de3f1334ac9fc +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=808fe9194364bc33125f5a83c2cece78bbc1e85d7eabbc015dbd9b661e8a75 + +handshake=Noise_XKpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545e026b56dc562c44666a4b04568f0485cef1c5067b4484d10d7c +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466020430cef83f07cba7618e4b4de18d8f43a09e70021b8d5c701d +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=f67e4c95336d43f8f72939e99f678331124ae5f5d9bd5e40a41ddded5a0a1b12a73c4e9ad20e003306bf0682e5c662c2eadb761ca33e775aea82e39bce172ef4fdf75a28142fc4375066 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=5b12ab52b1ee79a1114c3407e153f320863dfc86a0d98764f62651c50e2ede +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=c5f2aed3a22d04a2107aca55f25a31366bc246ed6b52d3e71a413409d3e1ce + +handshake=Noise_XKpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625429519d9da85dd8bb5090f154872c67bb1a86e0ecd5dc14d0dd77 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660f4d74c505f803c540657f2f648cf45b3ec7222c71c4d9b8574e +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=0bb72e926efbf321955a792b7ccb45a295c6d5f031f59648c9662b709a8df5075091175fc7e05098a89b8eb66fcbcc153ceb21a2f48b1ad5b7f41c741e6ebde723a3f28fa1cdca225fdd +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=974c226eca2032beaa7dc8e9ee1ac58e566cb305fbc79cca8ffa77eb6a02d0 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=94e1425470776282f7e9751698cc7ba2ae5dc0cb3c8d9b189021f6b94e65ec + +handshake=Noise_XKpsk3_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a6f963df7b04718a9a3aecf6f1900be93d1d923389bd9009f140 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a13bb0d71fd337f74bd5d2c13987667845b0ac7dc84cdbc516c1 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=c1a1778bfba62342d38b2dc7c5042d7e809efc74a6d780d2d7589673e27a3a1a27c2812e02c1c55e91c5143c3dc09ec208eab30f236b34955872b84b93506853f91d7e0a0fa565b63612 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=f4b75252b4249d95ebbc815bee87953b2bc4d6bc1ca89237d9196ab363b7fe +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=f0a47d13ace24e87f0b5319eea0bc141a410d4d1ae2705e4a0dc5fd168c867 + +handshake=Noise_XK_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254adeaa7a4d551515273fda940aa4a5c8a +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ef86a45510611db0c587343c9bc1598a +msg_2_payload= +msg_2_ciphertext=065a23c2f62fb1bed15cb6ecbd9267c0dc7524d31ee9367258f443517df4b467af8e83092060a7ae3419acc16ff01de79bd94e38a1517cc2bec944e49148c8fb +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=7043c98fbdd02d209268778851ae3117aa9cb3b29737867eb75e0718e8acfa +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=21069488a4bddda5c5211d9c5b80c1c5e42c4e65e5cd3040c613272ac05c07 + +handshake=Noise_XKpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254629272b173021b86c6bb347f567e0a6f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466173b83666da49fc7fd72ff392de6600b +msg_2_payload= +msg_2_ciphertext=f2fccf5e2aa6632808766b744399eb8a442020fcc5d2a516b5faa1a6b3561ca51e31645083c4afd11906f23987a4afbf39430cf3f5285787fa12bff00fd46615 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=c18790dcb28ed5ebef55be13986db9dd2b9ed2133da67d370de3f1334ac9fc +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=808fe9194364bc33125f5a83c2cece78bbc1e85d7eabbc015dbd9b661e8a75 + +handshake=Noise_XKpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254bf1c11388fc68b4c1d166db401a26682 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669560df6a9977cbf93d0a0cea6aa07b63 +msg_2_payload= +msg_2_ciphertext=f67e4c95336d43f8f72939e99f678331124ae5f5d9bd5e40a41ddded5a0a1b128dce5e889350cf0ab7bdddbb06a6751c2f2c12b5cf714cf4d2e18eece5562d83 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=5b12ab52b1ee79a1114c3407e153f320863dfc86a0d98764f62651c50e2ede +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=c5f2aed3a22d04a2107aca55f25a31366bc246ed6b52d3e71a413409d3e1ce + +handshake=Noise_XKpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c9fe5233a2995e81a524c16aad452566 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466071dd09d6ce273e11d8798d8b12d2ce9 +msg_2_payload= +msg_2_ciphertext=0bb72e926efbf321955a792b7ccb45a295c6d5f031f59648c9662b709a8df50744a858e35dc73078e6dddca9a9697eb0dfc90b9ed958f8f0655807591acea472 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=974c226eca2032beaa7dc8e9ee1ac58e566cb305fbc79cca8ffa77eb6a02d0 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=94e1425470776282f7e9751698cc7ba2ae5dc0cb3c8d9b189021f6b94e65ec + +handshake=Noise_XKpsk3_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b9f5585baf18efad7e93d7dec1071901 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a99a71b8f92e54977d070f1f10271671 +msg_2_payload= +msg_2_ciphertext=c1a1778bfba62342d38b2dc7c5042d7e809efc74a6d780d2d7589673e27a3a1a730cd354af59adfbfa3e6ec4bd08bc99aff4955676fbde51360f35a9a510f72b +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=f4b75252b4249d95ebbc815bee87953b2bc4d6bc1ca89237d9196ab363b7fe +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=f0a47d13ace24e87f0b5319eea0bc141a410d4d1ae2705e4a0dc5fd168c867 + +handshake=Noise_XK_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254496dd4fd65bcb73030e122934282a79fa89a268ffff61fb58356 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ea95f04183becb2895daa2e377fc2cb1b7500945abce23064a11 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=065a23c2f62fb1bed15cb6ecbd9267c0dc7524d31ee9367258f443517df4b46762a479a461f55eba0779622a07538dabad26e0baa7ec90d7741c5aa49162b67b7a86591ed7080b6b60f6 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=7043c98fbdd02d209268778851ae3117aa9cb3b29737867eb75e0718e8acfa +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=21069488a4bddda5c5211d9c5b80c1c5e42c4e65e5cd3040c613272ac05c07 + +handshake=Noise_XKpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542423e50f21aff9ad1af4c5a676bf5dc0f8a46df2ed5acfecfae6 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846654da6d875f5739c5ad31647583fd0cf33e43619573396b31e006 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=f2fccf5e2aa6632808766b744399eb8a442020fcc5d2a516b5faa1a6b3561ca54e6e5e30d1fd0fa830ee2ce7be13e55ab1d0c753b4af23154da6432ba9b1bde756e4eba9c12bfb132acd +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=c18790dcb28ed5ebef55be13986db9dd2b9ed2133da67d370de3f1334ac9fc +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=808fe9194364bc33125f5a83c2cece78bbc1e85d7eabbc015dbd9b661e8a75 + +handshake=Noise_XKpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545e026b56dc562c44666a0b32c0f7ef20395ed050bf7ce26fe0dd +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466020430cef83f07cba7613bcc24dd903e5ade856baf212f0f228c +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=f67e4c95336d43f8f72939e99f678331124ae5f5d9bd5e40a41ddded5a0a1b12a912e09376977a94197b3cc225e0e569eadb761ca33e775aea82d000ceefd76c3ff19449df3a1af2f503 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=5b12ab52b1ee79a1114c3407e153f320863dfc86a0d98764f62651c50e2ede +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=c5f2aed3a22d04a2107aca55f25a31366bc246ed6b52d3e71a413409d3e1ce + +handshake=Noise_XKpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625429519d9da85dd8bb5090f9c0bc4acb54b3ba8a24ec56fa5f4ba0 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660f4d74c505f803c54065e454d0a3bdf2ef4a40b24693c281ae2a +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=0bb72e926efbf321955a792b7ccb45a295c6d5f031f59648c9662b709a8df5072540b38091cd1530656d7015185d682f3ceb21a2f48b1ad5b7f4094a2660dedd7fafa40dc6febe793f19 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=974c226eca2032beaa7dc8e9ee1ac58e566cb305fbc79cca8ffa77eb6a02d0 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=94e1425470776282f7e9751698cc7ba2ae5dc0cb3c8d9b189021f6b94e65ec + +handshake=Noise_XKpsk3_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a6f963df7b04718a9a3a3e16e953cef0de71cf553539d8859d24 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a13bb0d71fd337f74bd528c12f0b90fde211edca976ede0a3292 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=c1a1778bfba62342d38b2dc7c5042d7e809efc74a6d780d2d7589673e27a3a1a5fdd43d30c8689a043ef99c917b9f36308eab30f236b34955872cb86d6b3e197c9e019fc833ba40868a2 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=f4b75252b4249d95ebbc815bee87953b2bc4d6bc1ca89237d9196ab363b7fe +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=f0a47d13ace24e87f0b5319eea0bc141a410d4d1ae2705e4a0dc5fd168c867 + +handshake=Noise_IK_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625419d6fab175300a577115c701c41ed681373f0432f81d3bf8676bd05216cd1919ba2eaa418fdd8e09ae59d7cf57869de42789c3b9ca915c2cacf009f9d0e4436e +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846623c019a124da3f096e964fe624cf65db +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=80a75e75c8e8d2e9c2a6c7bc6e550c4997d6d2b45429a530821c4aa5d36f27 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b8475410da62a98493d33a1e669f8f56dd8f61d449b53bd375299c3435424a + +handshake=Noise_IKpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254694ead724bb690ad27ce3893ebd8394b455e44e362122cce141b66200c2ac5a3db8bb908bbf1254f7f74801e5058e5e819dd00881b21a04144c1824606c0c078 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466dc8096770cbc501e31c8d2275ea75642 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=2471b2688160616fc0bd108fde1be5848e763d448a018f8f9052697444a95a +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e48f8d2d66ccb8f59321228086764d403dac49de50617604bd4e1399ec7714 + +handshake=Noise_IKpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d090a76917ed86b1ca3f8af8ac5c0803d5b3b290ab95fa415d8bf2f9200a59fc34c54450e0a71f213dbb91f5a5843c28a1b1e94ea7a8c729788b074f894477f7 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846635c80f45db0193be6c76fa63c43b2230 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=245e2f9694b825a856dc97709fcc450870d23dd07637b57d21268ad60016e4 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=977eb8234bef8ece7a14c771fa5019aae42c0f4655d4e1ffbfdb4a96def193 + +handshake=Noise_IKpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540322be5210eec7e84567f5b4ad376b908b7c38a587eb71776e0661a6ca9f3ef251962835db06e694781bcf163d3cb38dfe6ffdada1fcf40492123fd5eae6c0c9 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f9d3c922ccf0a76efc90a08b4d23df61 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c033f4a3312af700a5a655f6992bcad095ceb5af11b02027cecd87ef65738c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=3363987af8578ae96cb358858a859ef8060129a05d85700d8a9c4955c599c1 + +handshake=Noise_IK_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625419d6fab175300a577115c701c41ed681373f0432f81d3bf8676bd05216cd1919ba2eaa418fdd8e09ae59d7cf57869de4e6d8177aa9777fe9b843100e255aee76034f61b96b52af38660c +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846658a7bb8caac509783390e5a04df4a3ca570b2bcdf65f8c1c40cd +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=80a75e75c8e8d2e9c2a6c7bc6e550c4997d6d2b45429a530821c4aa5d36f27 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b8475410da62a98493d33a1e669f8f56dd8f61d449b53bd375299c3435424a + +handshake=Noise_IKpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254694ead724bb690ad27ce3893ebd8394b455e44e362122cce141b66200c2ac5a3db8bb908bbf1254f7f74801e5058e5e817106241219f60be8d1a7770f3def3c59038d187a53c0362f190 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f6bef292d60d7dd4c6d157f33e863b7b6d53ba0113ae21d8deea +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=2471b2688160616fc0bd108fde1be5848e763d448a018f8f9052697444a95a +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e48f8d2d66ccb8f59321228086764d403dac49de50617604bd4e1399ec7714 + +handshake=Noise_IKpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d090a76917ed86b1ca3f8af8ac5c0803d5b3b290ab95fa415d8bf2f9200a59fc34c54450e0a71f213dbb91f5a5843c28720b9cbc2e1f0e39ae53c6fe9b31a70aa73d77909aafd3d3c36b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c92aa230bccd4126f41b8aa35f2c0e1b7d53e57df197dc13feb7 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=245e2f9694b825a856dc97709fcc450870d23dd07637b57d21268ad60016e4 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=977eb8234bef8ece7a14c771fa5019aae42c0f4655d4e1ffbfdb4a96def193 + +handshake=Noise_IKpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540322be5210eec7e84567f5b4ad376b908b7c38a587eb71776e0661a6ca9f3ef251962835db06e694781bcf163d3cb38d2dbe7ee0a408573e5466e702c802dce4b432bd175dff1a5caae4 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466574ad0a465f5fa10665727be848a181ffd21211d5aa7d5be8e28 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c033f4a3312af700a5a655f6992bcad095ceb5af11b02027cecd87ef65738c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=3363987af8578ae96cb358858a859ef8060129a05d85700d8a9c4955c599c1 + +handshake=Noise_IK_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625419d6fab175300a577115c701c41ed681373f0432f81d3bf8676bd05216cd1919e61b75ccef0c0cf0b216fcdf371d0859ab50373f8c7b70a239f8cc8318e6075b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bb50a12b50b0b1b43fc6725181315302 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=80a75e75c8e8d2e9c2a6c7bc6e550c4997d6d2b45429a530821c4aa5d36f27 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b8475410da62a98493d33a1e669f8f56dd8f61d449b53bd375299c3435424a + +handshake=Noise_IKpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254694ead724bb690ad27ce3893ebd8394b455e44e362122cce141b66200c2ac5a340048ce6c8456ff4837c29fe67256f81c751b0c269239a167fbf0300dfb648a3 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846666d2b48b1cea39effcb0d05417086092 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=2471b2688160616fc0bd108fde1be5848e763d448a018f8f9052697444a95a +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e48f8d2d66ccb8f59321228086764d403dac49de50617604bd4e1399ec7714 + +handshake=Noise_IKpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d090a76917ed86b1ca3f8af8ac5c0803d5b3b290ab95fa415d8bf2f9200a59fc0aef8b6d695b38b638d8a84ff6029bfa1389fc6a2c64763e1546d48733e7a69f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846681140ff7535a34e76cec240241c16675 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=245e2f9694b825a856dc97709fcc450870d23dd07637b57d21268ad60016e4 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=977eb8234bef8ece7a14c771fa5019aae42c0f4655d4e1ffbfdb4a96def193 + +handshake=Noise_IKpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540322be5210eec7e84567f5b4ad376b908b7c38a587eb71776e0661a6ca9f3ef2da7e079ebdd84739c3bce2764827999b754f95e803096d0591567119765f495e +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466848adcd10e9bc9826df50f4b6bc66b29 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c033f4a3312af700a5a655f6992bcad095ceb5af11b02027cecd87ef65738c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=3363987af8578ae96cb358858a859ef8060129a05d85700d8a9c4955c599c1 + +handshake=Noise_IK_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625419d6fab175300a577115c701c41ed681373f0432f81d3bf8676bd05216cd1919e61b75ccef0c0cf0b216fcdf371d0859e6d8177aa9777fe9b8435bb6f8202c3acd9051a9aee0a63e76f6 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846658a7bb8caac5097833909e90778571d34ce0e5b6ea4c3a76f102 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=80a75e75c8e8d2e9c2a6c7bc6e550c4997d6d2b45429a530821c4aa5d36f27 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b8475410da62a98493d33a1e669f8f56dd8f61d449b53bd375299c3435424a + +handshake=Noise_IKpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254694ead724bb690ad27ce3893ebd8394b455e44e362122cce141b66200c2ac5a340048ce6c8456ff4837c29fe67256f8117106241219f60be8d1ad5cce3624dd12b08c8095b0abfe558a2 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f6bef292d60d7dd4c6d103923a164717d1f2c43d4a0be832d29f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=2471b2688160616fc0bd108fde1be5848e763d448a018f8f9052697444a95a +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e48f8d2d66ccb8f59321228086764d403dac49de50617604bd4e1399ec7714 + +handshake=Noise_IKpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d090a76917ed86b1ca3f8af8ac5c0803d5b3b290ab95fa415d8bf2f9200a59fc0aef8b6d695b38b638d8a84ff6029bfa720b9cbc2e1f0e39ae53481de7823a9ec40e8e82d4e52bdbe833 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c92aa230bccd4126f41bba00c0183e8a92b2d41d3874e2d39c67 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=245e2f9694b825a856dc97709fcc450870d23dd07637b57d21268ad60016e4 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=977eb8234bef8ece7a14c771fa5019aae42c0f4655d4e1ffbfdb4a96def193 + +handshake=Noise_IKpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540322be5210eec7e84567f5b4ad376b908b7c38a587eb71776e0661a6ca9f3ef2da7e079ebdd84739c3bce2764827999b2dbe7ee0a408573e5466b25ab358115f0cafc7c888119dfb98cc +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466574ad0a465f5fa106657b9f7927e737f39dbed9fe3bf511849f9 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c033f4a3312af700a5a655f6992bcad095ceb5af11b02027cecd87ef65738c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=3363987af8578ae96cb358858a859ef8060129a05d85700d8a9c4955c599c1 + +handshake=Noise_XX_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665393019dbd6f438795da206db0886610b26108e424142c2e9b5fd1f7ea70cde8767ce62d7e3c0e9bcefe4ab872c0505b9e824df091b74ffe10a2b32809cab21f +msg_2_payload= +msg_2_ciphertext=e610eadc4b00c17708bf223f29a66f02342fbedf6c0044736544b9271821ae40e70144cecd9d265dffdc5bb8e051c3f83db32a425e04d8f510c58a43325fbc56 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=9ea1da1ec3bfecfffab213e537ed1791bfa887dd9c631351b3f63d6315ab9a +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=217c5111fad7afde33bd28abaff3def88a57ab50515115d23a10f28621f842 + +handshake=Noise_XXpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547f10774870f2c18bd60e3a1629fee0e9 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466807dca8877a33959186ac0181ac963a7dd13a134ae4a2191da2bedd96911f7b1f2d8f840385aff491d71970b02691ec2ab2beffd1b374db8c8f15cabcb3fddf5 +msg_2_payload= +msg_2_ciphertext=099fd29f5cad05f9d2c9be076d04e80a092e181fa13a4e844386e360defdca4ea1c15be27443d30d40db0e319f9e614f40a41d90532d7a3684ebc440d9bb73eb +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=99521768e8b75eae6d56db072601817fd0606206ca444b02f911562521e4fd +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=ab15274dff9f222379cd9feac0e4a82b7fb61fc0c79372dd9c07d283b1e765 + +handshake=Noise_XXpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b6dcbceafe33638fea90c80dd1e8d203 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667017a62eaf03e7998188e6751f9fcac8bc79848fad62102c1936a2af6aef691c0d9fd04c9fe5018b678e0a6d7333ffaa5860ab1d5bc128e25eff7403eaa53864 +msg_2_payload= +msg_2_ciphertext=8f83154157fddfe88c38ce42a13b74127986fd61dc310450deb5ff6a181fa057639b6fba5e0842781640b7b7c5cf8bdf19ee4436359d40f4214c59aaa2971736 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=776c311a7a1a1a31a0fa9950b6435a8116fc986c30aefb84b1de1a1ea3e0cf +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=c79820d7cd308ba3da226008598c022aeb8f084dde84fee307293a3634e331 + +handshake=Noise_XXpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544cff7d0c96d894314bd03f327cbac98f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bc9f39c99cf603e2db23dbe9ce2adec44a572047d4a1d3f8c0df894e11f5bd7fa2fdaa0856557bcc2c4276a81ce70f63fa33069acf2dc7b13f505aa0cfda1372 +msg_2_payload= +msg_2_ciphertext=b58fc4f341feab3fe253ee6489ad653afe49fcc6eea1f18a892b1a8febc146eed9bacb291dfc7a05015e8a9ff6c4aea6f5090a8fe040a0628bf348f670144762 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=fc4829fa5f449a9aca1577156e58691997a90a5a55b7aa6401257535595eb9 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=b069da251403dba1f073a2fea640f5a8cc91d1f012a01c1fa87435a8492030 + +handshake=Noise_XXpsk3_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e3443cc5cde4af71a33c6b56cbc00ea8 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bb1259f77345353d70dcef1e97d161dd9c3324e72b46203ebe87dcb40159eb6683aae01b5e9a0d3b45f0cc22a1eba217aa52f541c089a733541cbace7919e264 +msg_2_payload= +msg_2_ciphertext=a702c30239110afbb8afacb639f961e5c2574c3fe59ee6069c0f5f5414ea249379e58f0d514bb0f277ffe5ae6e6aecf9f4c58681a8586ac9878e6b9a086f4e40 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=187cadad4158250d0af49c2aea3bedc34aee2cc962336fbe649527ca78e48c +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=91de652b73884e25506003fe72969748b9092a4518be9c6e4911a52b60375f + +handshake=Noise_XX_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665393019dbd6f438795da206db0886610b26108e424142c2e9b5fd1f7ea70cde8c9f29dcec8d3ab554f4a5330657867fe4917917195c8cf360e08d6dc5f71baf875ec6e3bfc7afda4c9c2 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=e610eadc4b00c17708bf223f29a66f02342fbedf6c0044736544b9271821ae40232c55cd96d1350af861f6a04978f7d5e070c07602c6b84d25a331242a71c50ae31dd4c164267fd48bd2 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=9ea1da1ec3bfecfffab213e537ed1791bfa887dd9c631351b3f63d6315ab9a +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=217c5111fad7afde33bd28abaff3def88a57ab50515115d23a10f28621f842 + +handshake=Noise_XXpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542dfece4dae76dc5ac85cb897862e0637e7403c75bb5761111b83 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466807dca8877a33959186ac0181ac963a7dd13a134ae4a2191da2bedd96911f7b1549721eaf8b8212a701886c355be87e686ae9e443b823f0d58eceab3e52ff4d365f9b6793b5a6e913e82 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=099fd29f5cad05f9d2c9be076d04e80a092e181fa13a4e844386e360defdca4e476fccf79130a33fd25244336598bf55637ea8dea2acb6fd2e6c98213519f6f2d25947620be6979e3858 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=99521768e8b75eae6d56db072601817fd0606206ca444b02f911562521e4fd +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=ab15274dff9f222379cd9feac0e4a82b7fb61fc0c79372dd9c07d283b1e765 + +handshake=Noise_XXpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548b1c5b18c538c8c63ca5d317942e39790c9a490ec0349924c9f1 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667017a62eaf03e7998188e6751f9fcac8bc79848fad62102c1936a2af6aef691c0ad62dc8498b97040b8a96630d1c68a6f8fbe4180e999511b4e3bfa3e0ae626aa97e13adc6eeaa2d4310 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=8f83154157fddfe88c38ce42a13b74127986fd61dc310450deb5ff6a181fa057acf4829f9429fc717589b9998148cf0580a72833458eaac993ba86ca4314f11ac370f7fb7a1d92360504 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=776c311a7a1a1a31a0fa9950b6435a8116fc986c30aefb84b1de1a1ea3e0cf +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=c79820d7cd308ba3da226008598c022aeb8f084dde84fee307293a3634e331 + +handshake=Noise_XXpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625444c72fdfcc26b692b2435ad02e6c7f0c07226d2edd62204fbe9c +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bc9f39c99cf603e2db23dbe9ce2adec44a572047d4a1d3f8c0df894e11f5bd7f45cdfbefb68a646406aebe4c1987a2686d93f50fbd193f60379e3691036e92cb41993381816ab66d1ea3 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=b58fc4f341feab3fe253ee6489ad653afe49fcc6eea1f18a892b1a8febc146ee526267e460783c68aefd8a71354f3919ae4d3c4c228a97bbbbef8021883cd1832050c4b17c7b02155569 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=fc4829fa5f449a9aca1577156e58691997a90a5a55b7aa6401257535595eb9 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=b069da251403dba1f073a2fea640f5a8cc91d1f012a01c1fa87435a8492030 + +handshake=Noise_XXpsk3_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545d791aebd7b1ff3a73ba5c27944833f62facffa3b38f7ec45f9f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bb1259f77345353d70dcef1e97d161dd9c3324e72b46203ebe87dcb40159eb66954fa813c5770391ff0e4006fa005462b1bfa8057f6e8f62584a272b0eec13b6cf6a75a736ddf5d0d3cd +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=a702c30239110afbb8afacb639f961e5c2574c3fe59ee6069c0f5f5414ea2493ab8dbfb3e1f6148b9c0d93e8d9ebf5183e3be30d1cb36cf2cd66eccebe0493ead2ba5f2bfae0d821ce21 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=187cadad4158250d0af49c2aea3bedc34aee2cc962336fbe649527ca78e48c +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=91de652b73884e25506003fe72969748b9092a4518be9c6e4911a52b60375f + +handshake=Noise_XX_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665393019dbd6f438795da206db0886610b26108e424142c2e9b5fd1f7ea70cde8545f22cc3b52e6cf83a9266ed4850a7a3460f29794110cc1e4c4b5241c939f90 +msg_2_payload= +msg_2_ciphertext=e610eadc4b00c17708bf223f29a66f02342fbedf6c0044736544b9271821ae406561124920ea641646ea97786397ad23ab2f0dbf49fc3e46328b481b0924438c +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=9ea1da1ec3bfecfffab213e537ed1791bfa887dd9c631351b3f63d6315ab9a +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=217c5111fad7afde33bd28abaff3def88a57ab50515115d23a10f28621f842 + +handshake=Noise_XXpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254fbf84632d6f2ee3f0f542ed012795e4a +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466807dca8877a33959186ac0181ac963a7dd13a134ae4a2191da2bedd96911f7b1aaf8f55fffe1c50fc9ee9c46feba7bf8b04117ac48bc436c3818f5ec5ee45db1 +msg_2_payload= +msg_2_ciphertext=099fd29f5cad05f9d2c9be076d04e80a092e181fa13a4e844386e360defdca4e9b9f67a4e8a1de4333f67defea7fd8f4e39466651c8681fea507cfa7f3bfe155 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=99521768e8b75eae6d56db072601817fd0606206ca444b02f911562521e4fd +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=ab15274dff9f222379cd9feac0e4a82b7fb61fc0c79372dd9c07d283b1e765 + +handshake=Noise_XXpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254709a9d93b489223c7fa509f35c2c19af +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667017a62eaf03e7998188e6751f9fcac8bc79848fad62102c1936a2af6aef691c503cbdb4cdc7d576fc13f89c8322308ebed27aa285cc83ac65c8ba19224c22a7 +msg_2_payload= +msg_2_ciphertext=8f83154157fddfe88c38ce42a13b74127986fd61dc310450deb5ff6a181fa0574ab7d599dfa195ed182e163ebd919f8648105379593b3f75dc78fd0dd274bbec +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=776c311a7a1a1a31a0fa9950b6435a8116fc986c30aefb84b1de1a1ea3e0cf +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=c79820d7cd308ba3da226008598c022aeb8f084dde84fee307293a3634e331 + +handshake=Noise_XXpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254bdfc6a80d9f928922f8dd436a4005e3c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bc9f39c99cf603e2db23dbe9ce2adec44a572047d4a1d3f8c0df894e11f5bd7f29af04d33962ddd8a7c6a4c775f29008ef90fbab2ec1b7782668304fcd060294 +msg_2_payload= +msg_2_ciphertext=b58fc4f341feab3fe253ee6489ad653afe49fcc6eea1f18a892b1a8febc146ee0decb17e6bf529ac042e8ec4b2226614d28c6c9477b1f2d0bdbee3b53eaaac81 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=fc4829fa5f449a9aca1577156e58691997a90a5a55b7aa6401257535595eb9 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=b069da251403dba1f073a2fea640f5a8cc91d1f012a01c1fa87435a8492030 + +handshake=Noise_XXpsk3_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545b2f4adfa73e9ba5320d7dad00152ab9 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bb1259f77345353d70dcef1e97d161dd9c3324e72b46203ebe87dcb40159eb666198ef90bf6d0b1a0e76374ae604ac12c54156a8210758dea8c50d8720b4533f +msg_2_payload= +msg_2_ciphertext=a702c30239110afbb8afacb639f961e5c2574c3fe59ee6069c0f5f5414ea2493bf47ccd868daf2dc792d2a6493790f4a804d0508de91173260899064d056c042 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=187cadad4158250d0af49c2aea3bedc34aee2cc962336fbe649527ca78e48c +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=91de652b73884e25506003fe72969748b9092a4518be9c6e4911a52b60375f + +handshake=Noise_XX_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665393019dbd6f438795da206db0886610b26108e424142c2e9b5fd1f7ea70cde847f6866f15c3cd3f864f7ed682f1711a4917917195c8cf360e080035dfa88af5c6e9b820278e6016f7d7 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=e610eadc4b00c17708bf223f29a66f02342fbedf6c0044736544b9271821ae403bbe475185a4a265a50e1d43bdaeee7fe070c07602c6b84d25a3b4064af5be30115a052069038f5002a3 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=9ea1da1ec3bfecfffab213e537ed1791bfa887dd9c631351b3f63d6315ab9a +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=217c5111fad7afde33bd28abaff3def88a57ab50515115d23a10f28621f842 + +handshake=Noise_XXpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542dfece4dae76dc5ac85c1825d578f5381e8a6ca0ff8b782f9c86 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466807dca8877a33959186ac0181ac963a7dd13a134ae4a2191da2bedd96911f7b103f1588855356691eb8e399bd3cfd5f486ae9e443b823f0d58ec04fb2ea6275da3194a478e2d24af9a23 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=099fd29f5cad05f9d2c9be076d04e80a092e181fa13a4e844386e360defdca4e8223254ae6ec8e2f94404c1b2cfbf633637ea8dea2acb6fd2e6cf013d5bcd43885c658750a9d5af5c7ec +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=99521768e8b75eae6d56db072601817fd0606206ca444b02f911562521e4fd +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=ab15274dff9f222379cd9feac0e4a82b7fb61fc0c79372dd9c07d283b1e765 + +handshake=Noise_XXpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548b1c5b18c538c8c63ca5dd70a54c15168915bf5edbab2df12bf2 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667017a62eaf03e7998188e6751f9fcac8bc79848fad62102c1936a2af6aef691c29dfd353ee7b2c1ac5031544aa7e2814f8fbe4180e999511b4e32e3fa0a009cdc7b9c20ce6b5787f9fcf +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=8f83154157fddfe88c38ce42a13b74127986fd61dc310450deb5ff6a181fa057d96927eaac505ff481efa6f1c092dd1880a72833458eaac993ba5e19641750e4f2195fa3af7b5f369a1a +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=776c311a7a1a1a31a0fa9950b6435a8116fc986c30aefb84b1de1a1ea3e0cf +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=c79820d7cd308ba3da226008598c022aeb8f084dde84fee307293a3634e331 + +handshake=Noise_XXpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625444c72fdfcc26b692b243fd1e0d69cd5735b9af404ae7ddc7f15e +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bc9f39c99cf603e2db23dbe9ce2adec44a572047d4a1d3f8c0df894e11f5bd7f9ed5a62a0d63ccfc5b60d1420eb1d4ac6d93f50fbd193f60379e2140cdb6860d1460b007be5c8064da95 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=b58fc4f341feab3fe253ee6489ad653afe49fcc6eea1f18a892b1a8febc146ee309032b5b433c34b4982844c2cc0e449ae4d3c4c228a97bbbbef52a9e44f4a52de079ba231a6b68a45c9 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=fc4829fa5f449a9aca1577156e58691997a90a5a55b7aa6401257535595eb9 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=b069da251403dba1f073a2fea640f5a8cc91d1f012a01c1fa87435a8492030 + +handshake=Noise_XXpsk3_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545d791aebd7b1ff3a73ba67c693699d548895df3e86b1204b11fe +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bb1259f77345353d70dcef1e97d161dd9c3324e72b46203ebe87dcb40159eb6603c900a563c48b22719b49f31437cfe9b1bfa8057f6e8f62584a5a0257c9eede97ecbafd2890e6551923 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=a702c30239110afbb8afacb639f961e5c2574c3fe59ee6069c0f5f5414ea2493462db30239ac36a9b70292f81f30fb9d3e3be30d1cb36cf2cd66b2c4bb6a84a19a1a06ab7ba66b78b51d +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=187cadad4158250d0af49c2aea3bedc34aee2cc962336fbe649527ca78e48c +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=91de652b73884e25506003fe72969748b9092a4518be9c6e4911a52b60375f + +handshake=Noise_IX_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466dafa2f50bec421c6e061a97013b8d9d582911be531e7e463f108e9389c74d589e2173945cfe456788f1608bdbf6a9c2b34c089108e662e613ac961e8dbc9973b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=40c12ccfdf59f44d7cfc8c7dfe8a1bf739107c31aebcfc9f4caee7dc9099c1 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=c3beff2f2144bb23f7fae6fd03578c40f1ef01140d1721a9e895958d52d749 + +handshake=Noise_IXpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a91f197ee337c37f7558ccd2074c61fa06784cb2e6325bde19d184ae68e6e2f7c5fbaa3a25628896bcd7c942ae437a7a87c84b7586565643e6ee0655cda423d7 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661b13bcef5c9664ec91e1fe0a4cc3e93850404c874f059b5f5b83d938d3f52f3e20d6a62ed81ee66161a8c14b2863f63ca88e762840a3c3700c6b382593438f14 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=55e01923ed15f82aaf69393cd6b0d110fd22ba39dcf8207e5c8fb4195a70b2 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5f5e31e3d5052cfc8537d909b3a5fcc1ccb0cab5d18d251ebeef84a4b1291e + +handshake=Noise_IXpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541e878f7607084d4358e3208e796d5ee88ad8308f9923074721451e423633bc5d1e769a44d8f7165f9ea0fd7975979d4fdbeff3a05fc29dddb9a32a6f56f3a181 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662e0bb8499ca20b384a845a39c290e882f1265f343e60402d87f7f0a692cef64aed150f315e4e68d26f4660e3466e88ee0495de1450357491205f38deb68cc300 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=5d4fce475e4aecd6ab801c48e89b67c13944bfa41cfc1626fafdf6cec81ca3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ed29ef74538577291ee8371eaca37b99b83075b1bb24f983424bb7a25c9c86 + +handshake=Noise_IXpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625459d797d678b29e8942571b69bc6342f0db2a1e4ec05bbfb2463649f5975c40086e1ad80e495a50a4f4542fe96b7616dce2a7cc1f2e96e85edceb2682deb0dac0 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466745c5b31c6f91c0cc8c3ae7c831e8bb738ef935be56395d0873b630272c030e86d6c4411d18d8fbcf7778e8d4ca089246f78101a9d83e153aab291dfaca58c94 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d3ac1bd570b82aabc14ba11621d5fd435b751272ebe757406ff922de938d5c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=a198c97f2c167512d40ab32fbb13c9e32ae975836561a5829ba67500cbb6da + +handshake=Noise_IX_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466dafa2f50bec421c6e061a97013b8d9d582911be531e7e463f108e9389c74d589194a720639279eaac9d876aa00c2ece2e8761a2ca307ad49797cd0cea8728f2de0b353ea74d3206276e7 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=40c12ccfdf59f44d7cfc8c7dfe8a1bf739107c31aebcfc9f4caee7dc9099c1 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=c3beff2f2144bb23f7fae6fd03578c40f1ef01140d1721a9e895958d52d749 + +handshake=Noise_IXpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a91f197ee337c37f7558ccd2074c61fa06784cb2e6325bde19d184ae68e6e2f7c5fbaa3a25628896bcd7c942ae437a7aaf6d3b1fcdb3d8b4b960dfb37a0ba15ad240169da3792d74764f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661b13bcef5c9664ec91e1fe0a4cc3e93850404c874f059b5f5b83d938d3f52f3ea6c0faf70b81e4686242650bcbb0c110a9cac6dcfc56cd3154b1e658fe0219a8b54d08d5d6e41d78d2b2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=55e01923ed15f82aaf69393cd6b0d110fd22ba39dcf8207e5c8fb4195a70b2 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5f5e31e3d5052cfc8537d909b3a5fcc1ccb0cab5d18d251ebeef84a4b1291e + +handshake=Noise_IXpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541e878f7607084d4358e3208e796d5ee88ad8308f9923074721451e423633bc5d1e769a44d8f7165f9ea0fd7975979d4fc0e1d27b58cf97cb222256a1edd2ab44b910c8140d4e2b4690e0 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662e0bb8499ca20b384a845a39c290e882f1265f343e60402d87f7f0a692cef64a66496d0efa8152e6bfe8a2a2f01c2372ffce0d6e6c24e5933f5c8ef7a18d167e99f292e70e7d023e5d58 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=5d4fce475e4aecd6ab801c48e89b67c13944bfa41cfc1626fafdf6cec81ca3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ed29ef74538577291ee8371eaca37b99b83075b1bb24f983424bb7a25c9c86 + +handshake=Noise_IXpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625459d797d678b29e8942571b69bc6342f0db2a1e4ec05bbfb2463649f5975c40086e1ad80e495a50a4f4542fe96b7616dc9416d6c2f17c1f823e517767c4777936ee38c25aa7909362a631 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466745c5b31c6f91c0cc8c3ae7c831e8bb738ef935be56395d0873b630272c030e82a6e818375056d17651f621b08a6ca2f3a9706957d7bf986e2612cbb0ea0f3bcf6bc5f2120a9335a4c17 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d3ac1bd570b82aabc14ba11621d5fd435b751272ebe757406ff922de938d5c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=a198c97f2c167512d40ab32fbb13c9e32ae975836561a5829ba67500cbb6da + +handshake=Noise_IX_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466dafa2f50bec421c6e061a97013b8d9d582911be531e7e463f108e9389c74d589086054f914b582ee1157d334cc2285b0040b4468e33e04ac80cb099169d516d8 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=40c12ccfdf59f44d7cfc8c7dfe8a1bf739107c31aebcfc9f4caee7dc9099c1 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=c3beff2f2144bb23f7fae6fd03578c40f1ef01140d1721a9e895958d52d749 + +handshake=Noise_IXpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a91f197ee337c37f7558ccd2074c61fa06784cb2e6325bde19d184ae68e6e2f7127226d6423aee99c69f7fe7f1519f7bdef89bc28f30e4d31bd0144c659a67f8 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661b13bcef5c9664ec91e1fe0a4cc3e93850404c874f059b5f5b83d938d3f52f3e3d7958a73d23d96ff791d7a09dd76b4faf040e5aae642241824179c0d8283d12 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=55e01923ed15f82aaf69393cd6b0d110fd22ba39dcf8207e5c8fb4195a70b2 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5f5e31e3d5052cfc8537d909b3a5fcc1ccb0cab5d18d251ebeef84a4b1291e + +handshake=Noise_IXpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541e878f7607084d4358e3208e796d5ee88ad8308f9923074721451e423633bc5d36dc199e0216a43e03de5bf3c64456a06356b5f1cccee247341e7139c92f79c6 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662e0bb8499ca20b384a845a39c290e882f1265f343e60402d87f7f0a692cef64af697b08e044030d3090eaaed4751659063846cc79067c9c33723a8becb43f6cd +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=5d4fce475e4aecd6ab801c48e89b67c13944bfa41cfc1626fafdf6cec81ca3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ed29ef74538577291ee8371eaca37b99b83075b1bb24f983424bb7a25c9c86 + +handshake=Noise_IXpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625459d797d678b29e8942571b69bc6342f0db2a1e4ec05bbfb2463649f5975c4008bca99e5fe64bd7f59f9c37a10403d8d14b1615d40596696d4e6c3b32a55fbf4b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466745c5b31c6f91c0cc8c3ae7c831e8bb738ef935be56395d0873b630272c030e85aa03f2d4d61e222a2ebdef29b4652d1dbabae33699f4f0aac9ad1000e5d5e58 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d3ac1bd570b82aabc14ba11621d5fd435b751272ebe757406ff922de938d5c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=a198c97f2c167512d40ab32fbb13c9e32ae975836561a5829ba67500cbb6da + +handshake=Noise_IX_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466dafa2f50bec421c6e061a97013b8d9d582911be531e7e463f108e9389c74d58943c11157db485d61bcaa6d51bcd3251fe8761a2ca307ad49797cecb71b657aee8eec2c351eb5368ef14f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=40c12ccfdf59f44d7cfc8c7dfe8a1bf739107c31aebcfc9f4caee7dc9099c1 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=c3beff2f2144bb23f7fae6fd03578c40f1ef01140d1721a9e895958d52d749 + +handshake=Noise_IXpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a91f197ee337c37f7558ccd2074c61fa06784cb2e6325bde19d184ae68e6e2f7127226d6423aee99c69f7fe7f1519f7baf6d3b1fcdb3d8b4b9600be4f2dfc45f94e73292417c3764424e +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661b13bcef5c9664ec91e1fe0a4cc3e93850404c874f059b5f5b83d938d3f52f3ea278af51752e31746b5e7a8e38fbfb4aa9cac6dcfc56cd3154b18cb5958a8adfbab8090a26084474ccc9 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=55e01923ed15f82aaf69393cd6b0d110fd22ba39dcf8207e5c8fb4195a70b2 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5f5e31e3d5052cfc8537d909b3a5fcc1ccb0cab5d18d251ebeef84a4b1291e + +handshake=Noise_IXpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541e878f7607084d4358e3208e796d5ee88ad8308f9923074721451e423633bc5d36dc199e0216a43e03de5bf3c64456a0c0e1d27b58cf97cb2222ca38d777b3404140852ac27381a72b65 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662e0bb8499ca20b384a845a39c290e882f1265f343e60402d87f7f0a692cef64aefb82f6c91194d02d31b7e243b5266deffce0d6e6c24e5933f5c1055c6cd239df4ac4a2b751ac57172a6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=5d4fce475e4aecd6ab801c48e89b67c13944bfa41cfc1626fafdf6cec81ca3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ed29ef74538577291ee8371eaca37b99b83075b1bb24f983424bb7a25c9c86 + +handshake=Noise_IXpsk2_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625459d797d678b29e8942571b69bc6342f0db2a1e4ec05bbfb2463649f5975c4008bca99e5fe64bd7f59f9c37a10403d8d19416d6c2f17c1f823e51ea085f223d835b5cdb3dbbc997748dd0 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466745c5b31c6f91c0cc8c3ae7c831e8bb738ef935be56395d0873b630272c030e8112d7dfed0b36fbd90f66a4865905ff13a9706957d7bf986e2615ddc0e1023ec5831d8b1c3a6bca38ee6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d3ac1bd570b82aabc14ba11621d5fd435b751272ebe757406ff922de938d5c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=a198c97f2c167512d40ab32fbb13c9e32ae975836561a5829ba67500cbb6da + +handshake=Noise_N_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625471bcc2ec91fac5d2551b8a08e39ae5ab +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=374a734846ea8b76251255d17bae5b5313087ff42afa23ed42a5b5bf325804 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=922037b8012e37d18adb6827375085f06f034888ea3f625dfc91d424334290 + +handshake=Noise_Npsk0_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254340a10ebcc2642dfbcf5af7f2bf975a9 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=e20e59bdd4cb2aa25691345a5b462b2cf85084b15643091c4fc173f16dc5d7 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=68c7d8986c79c6f8b4589765ef1cc903024c6e8759bf05776335d9e065abe7 + +handshake=Noise_Npsk1_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254bd29db2d71093718be3c9068ae19b028 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=3caf03e7b531dd629d062fa119ea14d08939bf79327005f276b9a99c5400f0 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=4638116fe8341f36f69c2e646687fd4f6b5b5f10dec581a9ca8202f016f8f8 + +handshake=Noise_N_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254df115f83f13b64589fecddf876dd30eb9ba694948e5169479513 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=374a734846ea8b76251255d17bae5b5313087ff42afa23ed42a5b5bf325804 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=922037b8012e37d18adb6827375085f06f034888ea3f625dfc91d424334290 + +handshake=Noise_Npsk0_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625406dd68c4f13f48b25468230d7cef980524e27eaabc8ba348da29 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=e20e59bdd4cb2aa25691345a5b462b2cf85084b15643091c4fc173f16dc5d7 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=68c7d8986c79c6f8b4589765ef1cc903024c6e8759bf05776335d9e065abe7 + +handshake=Noise_Npsk1_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c13a66d1ae511893d991fdd6649d5aa540467596b854ff69e59e +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=3caf03e7b531dd629d062fa119ea14d08939bf79327005f276b9a99c5400f0 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=4638116fe8341f36f69c2e646687fd4f6b5b5f10dec581a9ca8202f016f8f8 + +handshake=Noise_N_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ceb26e62698f0a9d16577f5fcb929fb3 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=374a734846ea8b76251255d17bae5b5313087ff42afa23ed42a5b5bf325804 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=922037b8012e37d18adb6827375085f06f034888ea3f625dfc91d424334290 + +handshake=Noise_Npsk0_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c84f374576798a9ac7c4e4f3d6fb1660 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=e20e59bdd4cb2aa25691345a5b462b2cf85084b15643091c4fc173f16dc5d7 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=68c7d8986c79c6f8b4589765ef1cc903024c6e8759bf05776335d9e065abe7 + +handshake=Noise_Npsk1_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545b20f16a10cf8aec5558e9615c798606 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=3caf03e7b531dd629d062fa119ea14d08939bf79327005f276b9a99c5400f0 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=4638116fe8341f36f69c2e646687fd4f6b5b5f10dec581a9ca8202f016f8f8 + +handshake=Noise_N_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254df115f83f13b64589fec852ae179184185e9d29fed35f4d235dc +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=374a734846ea8b76251255d17bae5b5313087ff42afa23ed42a5b5bf325804 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=922037b8012e37d18adb6827375085f06f034888ea3f625dfc91d424334290 + +handshake=Noise_Npsk0_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625406dd68c4f13f48b25468727d65e4f2c438542b1a8181a53dcc73 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=e20e59bdd4cb2aa25691345a5b462b2cf85084b15643091c4fc173f16dc5d7 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=68c7d8986c79c6f8b4589765ef1cc903024c6e8759bf05776335d9e065abe7 + +handshake=Noise_Npsk1_25519_AESGCM_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c13a66d1ae511893d9916e916af9cabdd72bf1d4e58c91685c96 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=3caf03e7b531dd629d062fa119ea14d08939bf79327005f276b9a99c5400f0 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=4638116fe8341f36f69c2e646687fd4f6b5b5f10dec581a9ca8202f016f8f8 + +handshake=Noise_K_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254cc4041bbf40e26aea2c61f36b29dfda1 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=aca1ae00ed718c11ae8f91c3c289db54dca4fba284098248984158f4afb15a +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=334cde4d2b9e7189be333e05c4e8ca8cbe9a7e9e3170dc61abf51906f95f9b + +handshake=Noise_Kpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f6463591c0d8b8fd209cf3c80579bfed +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=7736979bc1fc8d5c7d42c92ea41ee59e97d59faafe791a2e3d58c8e8fb9929 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=03236fadebc8f6a18ecb878d1ac2b78a3cf0e0024d0fb5d8b9d105ea194980 + +handshake=Noise_Kpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254443d03b8955d57e4fcbdf961645c0db9 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=1429bc785fdc4adc51006b72f574c963bc97309e22feb0b54f8b944292af3b +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=c74d5a471091962d858c65542df842172e2e95a85bfe0eea2c6be86c8bfd89 + +handshake=Noise_K_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625428f2b400a063dbdce02b182da650e11fdf8ee63bffbdb9263e2d +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=aca1ae00ed718c11ae8f91c3c289db54dca4fba284098248984158f4afb15a +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=334cde4d2b9e7189be333e05c4e8ca8cbe9a7e9e3170dc61abf51906f95f9b + +handshake=Noise_Kpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c2b61d59cbbc7e45c9743b816be7edfacba1a21c0b4ea6499687 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=7736979bc1fc8d5c7d42c92ea41ee59e97d59faafe791a2e3d58c8e8fb9929 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=03236fadebc8f6a18ecb878d1ac2b78a3cf0e0024d0fb5d8b9d105ea194980 + +handshake=Noise_Kpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549b08ff5e93b809df01a6974598eabce902b5dca3bef8fdd0ae9f +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=1429bc785fdc4adc51006b72f574c963bc97309e22feb0b54f8b944292af3b +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=c74d5a471091962d858c65542df842172e2e95a85bfe0eea2c6be86c8bfd89 + +handshake=Noise_K_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545452dfe8670e01ec6c7ddf716617ac9e +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=aca1ae00ed718c11ae8f91c3c289db54dca4fba284098248984158f4afb15a +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=334cde4d2b9e7189be333e05c4e8ca8cbe9a7e9e3170dc61abf51906f95f9b + +handshake=Noise_Kpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254091a3df37d8ffa0d9c758bac64d545e2 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=7736979bc1fc8d5c7d42c92ea41ee59e97d59faafe791a2e3d58c8e8fb9929 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=03236fadebc8f6a18ecb878d1ac2b78a3cf0e0024d0fb5d8b9d105ea194980 + +handshake=Noise_Kpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625467fbf473495da6b5e23acf5bb6fe9b22 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=1429bc785fdc4adc51006b72f574c963bc97309e22feb0b54f8b944292af3b +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=c74d5a471091962d858c65542df842172e2e95a85bfe0eea2c6be86c8bfd89 + +handshake=Noise_K_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625428f2b400a063dbdce02b5c28836b6e5fda2325068eb862efefce +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=aca1ae00ed718c11ae8f91c3c289db54dca4fba284098248984158f4afb15a +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=334cde4d2b9e7189be333e05c4e8ca8cbe9a7e9e3170dc61abf51906f95f9b + +handshake=Noise_Kpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c2b61d59cbbc7e45c974869c028f5d84ed2aef938dd851ef00bd +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=7736979bc1fc8d5c7d42c92ea41ee59e97d59faafe791a2e3d58c8e8fb9929 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=03236fadebc8f6a18ecb878d1ac2b78a3cf0e0024d0fb5d8b9d105ea194980 + +handshake=Noise_Kpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549b08ff5e93b809df01a6287cee688e3c750260ad541a39378ee2 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=1429bc785fdc4adc51006b72f574c963bc97309e22feb0b54f8b944292af3b +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=c74d5a471091962d858c65542df842172e2e95a85bfe0eea2c6be86c8bfd89 + +handshake=Noise_X_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625427b9e233a46e236bc3b949c842a23bd75b3d6d717dbf3aa4a3cfaa59a42e6a50f3540c9b1fdc8ca68fb6b8f9081e9b28194a52a70998dd4ec3fc2088ad06f966 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=601398a290497a3ecf22851d05f53b34fa1fc4a47a0371df1f5c540a1ecf61 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=04edfc327b91e91bb67f5a069e5afbf154ebcf196baf843dce5d22f58f04e7 + +handshake=Noise_Xpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254806e8e97beb9d15190981ce5f4080aeb28c7e1c743a3d676a62c14f688c70a7c7ea2fe760f1224179cc5e79e1e6510512dda2314f768816ac53546834a0e3615 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=d3fabb12ea23bcec3493f543912515d7ad5ed8e58e9a9998ae5044d2f27c32 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=5b47a6a68e47e6c22c90a55fb3bff11a8a0bbb84813887d2d7ba0e96dfd36c + +handshake=Noise_Xpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546fa09d3ca0fdbbc71df8bb16ff941b7488f0c070e770859b7026d4058df16697a5eb1d97cf498e8a907dd916557c3564006c7097ab7bb6106508c504c44b9cbc +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=48b987b047342448756adb8c63d3e45f96b4be90f221b0406ab00e95f7219c +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=451d0097fdecb5f4a7e61ef341bdb66a8bbdaf5b1a650d05e7b0f5e29f26ac + +handshake=Noise_X_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625427b9e233a46e236bc3b949c842a23bd75b3d6d717dbf3aa4a3cfaa59a42e6a50f3540c9b1fdc8ca68fb6b8f9081e9b28ea4c05b652dbf8aff85830c628e63acd02c85425c685c650b07e +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=601398a290497a3ecf22851d05f53b34fa1fc4a47a0371df1f5c540a1ecf61 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=04edfc327b91e91bb67f5a069e5afbf154ebcf196baf843dce5d22f58f04e7 + +handshake=Noise_Xpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254806e8e97beb9d15190981ce5f4080aeb28c7e1c743a3d676a62c14f688c70a7c7ea2fe760f1224179cc5e79e1e651051ab45b08deb5664fd49b358927839000e24fd90d598c3c57ee99d +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=d3fabb12ea23bcec3493f543912515d7ad5ed8e58e9a9998ae5044d2f27c32 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=5b47a6a68e47e6c22c90a55fb3bff11a8a0bbb84813887d2d7ba0e96dfd36c + +handshake=Noise_Xpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546fa09d3ca0fdbbc71df8bb16ff941b7488f0c070e770859b7026d4058df16697a5eb1d97cf498e8a907dd916557c3564f54ded2eef286aa4c8f398f33f44b433c3e830e471f72ed3db02 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=48b987b047342448756adb8c63d3e45f96b4be90f221b0406ab00e95f7219c +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=451d0097fdecb5f4a7e61ef341bdb66a8bbdaf5b1a650d05e7b0f5e29f26ac + +handshake=Noise_X_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625427b9e233a46e236bc3b949c842a23bd75b3d6d717dbf3aa4a3cfaa59a42e6a50e9a53f4b77ba9c212a5ca41f911c099159e23701989c18e59ba9ffc746d06b61 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=601398a290497a3ecf22851d05f53b34fa1fc4a47a0371df1f5c540a1ecf61 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=04edfc327b91e91bb67f5a069e5afbf154ebcf196baf843dce5d22f58f04e7 + +handshake=Noise_Xpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254806e8e97beb9d15190981ce5f4080aeb28c7e1c743a3d676a62c14f688c70a7c70240353a0960993446dad6546c6a59e0df5ae06d7bc29f93ccdcc03a66ed9e5 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=d3fabb12ea23bcec3493f543912515d7ad5ed8e58e9a9998ae5044d2f27c32 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=5b47a6a68e47e6c22c90a55fb3bff11a8a0bbb84813887d2d7ba0e96dfd36c + +handshake=Noise_Xpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546fa09d3ca0fdbbc71df8bb16ff941b7488f0c070e770859b7026d4058df16697a6910630c6924a577f719acb8ee3181ca49a434aad229419e4f52a88ba17496e +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=48b987b047342448756adb8c63d3e45f96b4be90f221b0406ab00e95f7219c +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=451d0097fdecb5f4a7e61ef341bdb66a8bbdaf5b1a650d05e7b0f5e29f26ac + +handshake=Noise_X_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625427b9e233a46e236bc3b949c842a23bd75b3d6d717dbf3aa4a3cfaa59a42e6a50e9a53f4b77ba9c212a5ca41f911c0991ea4c05b652dbf8aff858319c0516c6e9079711b89e419c5825b1 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=601398a290497a3ecf22851d05f53b34fa1fc4a47a0371df1f5c540a1ecf61 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=04edfc327b91e91bb67f5a069e5afbf154ebcf196baf843dce5d22f58f04e7 + +handshake=Noise_Xpsk0_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254806e8e97beb9d15190981ce5f4080aeb28c7e1c743a3d676a62c14f688c70a7c70240353a0960993446dad6546c6a59eab45b08deb5664fd49b37733e0f59b46f6a5688e03dc408d5133 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=d3fabb12ea23bcec3493f543912515d7ad5ed8e58e9a9998ae5044d2f27c32 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=5b47a6a68e47e6c22c90a55fb3bff11a8a0bbb84813887d2d7ba0e96dfd36c + +handshake=Noise_Xpsk1_25519_AESGCM_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546fa09d3ca0fdbbc71df8bb16ff941b7488f0c070e770859b7026d4058df16697a6910630c6924a577f719acb8ee3181cf54ded2eef286aa4c8f37ef95f1e47c89dc3f7afa0b2effc7d5a +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=48b987b047342448756adb8c63d3e45f96b4be90f221b0406ab00e95f7219c +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=451d0097fdecb5f4a7e61ef341bdb66a8bbdaf5b1a650d05e7b0f5e29f26ac + +handshake=Noise_NN_25519_AESGCM_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466546c757b1dee39fe34639f8e59d36b90 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=9a465eef7a497d636aacec6f177a46820045154c6dc21cc887158ff7178f5f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=a889eab9dcbdd768c92201eb7092fb3e9e2d1c87321fe70f6bd261b21a9aa1 + +handshake=Noise_NNpsk0_25519_AESGCM_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544ee81f7b223bb25827a6c6c707001dd3 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b0e7e624ccf4642b46e401e8b574cfa1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=2c2a25a39ec72b321405393e10c51caec56f8da5af863eb3d5875cbc99afe9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=31d8991d2ddb026d6ea7e4a1b1bf6388d87fa21d793547514f645d4724523a + +handshake=Noise_NNpsk1_25519_AESGCM_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e4ed6d14e51cbd37289127ac1c818458 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846604d0bbf97d4b0d35616ddd8e3293e340 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=293dbf6b4293997b1f3609daa237dcf09ec2a79911ef69d311075b231f83cb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=89ef11a27e48c5d96b7d4562a8ef782ede9b361e0efe9faacc97c90d361058 + +handshake=Noise_NNpsk2_25519_AESGCM_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254da9fb0ab9e465a7ae90061d62fc67048 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fa2036b0d82fc4c002454692a98cf138 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=5375de65fffa56df1d6e3e66a913430fe313c3418fdeda2e43afb34efd29c7 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=979f3f045a786f9677281e84a4a5df198ec6a826f5969acc228ab6d1cda049 + +handshake=Noise_NN_25519_AESGCM_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466295bdf92326b33d62ca816fc6e8d84b579611812fea2df8204c8 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=9a465eef7a497d636aacec6f177a46820045154c6dc21cc887158ff7178f5f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=a889eab9dcbdd768c92201eb7092fb3e9e2d1c87321fe70f6bd261b21a9aa1 + +handshake=Noise_NNpsk0_25519_AESGCM_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625437af6d133d63144ae694f990d6e209b9fc4b7cd0f5ca1307e06b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466823c7e1e048fa3767e86e0d471622865d0683936feec93cb113c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=2c2a25a39ec72b321405393e10c51caec56f8da5af863eb3d5875cbc99afe9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=31d8991d2ddb026d6ea7e4a1b1bf6388d87fa21d793547514f645d4724523a + +handshake=Noise_NNpsk1_25519_AESGCM_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b4d6af33ed485a97c7b78e7d1348afa4323f56148bcd00e812d4 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664410c5cc3bcf499527e4b6a7df87d8b5007c28b75228d5a62a41 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=293dbf6b4293997b1f3609daa237dcf09ec2a79911ef69d311075b231f83cb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=89ef11a27e48c5d96b7d4562a8ef782ede9b361e0efe9faacc97c90d361058 + +handshake=Noise_NNpsk2_25519_AESGCM_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543e1214c67afb95f49d730eb2108ee24b3d646e4aff196aafde03 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846646e5b3a50b77fce5d9d013a0cc1d6bb43389bd89bfae89fdffc6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=5375de65fffa56df1d6e3e66a913430fe313c3418fdeda2e43afb34efd29c7 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=979f3f045a786f9677281e84a4a5df198ec6a826f5969acc228ab6d1cda049 + +handshake=Noise_NN_25519_AESGCM_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466cf2b3d8441501153c7ad77fff102d4ad +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=9a465eef7a497d636aacec6f177a46820045154c6dc21cc887158ff7178f5f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=a889eab9dcbdd768c92201eb7092fb3e9e2d1c87321fe70f6bd261b21a9aa1 + +handshake=Noise_NNpsk0_25519_AESGCM_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e1f68ba6e11a996f2eaf8e6cb3b13ffa +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662175601186f38e8e4a7912983c06a531 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=2c2a25a39ec72b321405393e10c51caec56f8da5af863eb3d5875cbc99afe9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=31d8991d2ddb026d6ea7e4a1b1bf6388d87fa21d793547514f645d4724523a + +handshake=Noise_NNpsk1_25519_AESGCM_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625400265a786349e17fbf3e17b4741a0f71 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ad5a7a0e7c3373008afa12e20e32f4bc +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=293dbf6b4293997b1f3609daa237dcf09ec2a79911ef69d311075b231f83cb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=89ef11a27e48c5d96b7d4562a8ef782ede9b361e0efe9faacc97c90d361058 + +handshake=Noise_NNpsk2_25519_AESGCM_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540d8253a4f31ebf4711fa4bad845bf9d0 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ec4107be3f3458a3c348dfda74cb2480 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=5375de65fffa56df1d6e3e66a913430fe313c3418fdeda2e43afb34efd29c7 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=979f3f045a786f9677281e84a4a5df198ec6a826f5969acc228ab6d1cda049 + +handshake=Noise_NN_25519_AESGCM_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466295bdf92326b33d62ca8984f94b14878d51ba9ce00d1d3ff8a2d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=9a465eef7a497d636aacec6f177a46820045154c6dc21cc887158ff7178f5f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=a889eab9dcbdd768c92201eb7092fb3e9e2d1c87321fe70f6bd261b21a9aa1 + +handshake=Noise_NNpsk0_25519_AESGCM_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625437af6d133d63144ae6948b6affd3e6efdabe0650147eedb0be22 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466823c7e1e048fa3767e86d07cedbf0af0e30b9bf2390a8a6891c5 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=2c2a25a39ec72b321405393e10c51caec56f8da5af863eb3d5875cbc99afe9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=31d8991d2ddb026d6ea7e4a1b1bf6388d87fa21d793547514f645d4724523a + +handshake=Noise_NNpsk1_25519_AESGCM_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b4d6af33ed485a97c7b76404c4af6bd734344a8deb859a576eb0 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664410c5cc3bcf499527e474b5995606d95c03e01d927792b13f20 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=293dbf6b4293997b1f3609daa237dcf09ec2a79911ef69d311075b231f83cb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=89ef11a27e48c5d96b7d4562a8ef782ede9b361e0efe9faacc97c90d361058 + +handshake=Noise_NNpsk2_25519_AESGCM_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543e1214c67afb95f49d731e6796c13bf0aff823ea8ff9d0a0c167 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846646e5b3a50b77fce5d9d054b5a59fddb6f6f965ad8a102b98c3e7 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=5375de65fffa56df1d6e3e66a913430fe313c3418fdeda2e43afb34efd29c7 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=979f3f045a786f9677281e84a4a5df198ec6a826f5969acc228ab6d1cda049 + +handshake=Noise_KN_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f72c1a277693fd38269f8a99291c5da2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7f85b724b0d10b19b9f18ba74dc10bc28c187a1505e32a1b7ddb76fc381c60 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=7b27b15d8102e55eb6b5e7c02d5c1309289aa197b383424bb8d70268d1270f + +handshake=Noise_KNpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544b68b11ecf5211c5fda412733efd29ca +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663cbd6e15bfac1b01f644ac427edfc442 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c41244c39a4dc4bbd816e4383b36aeb29b39b1a4cd3375c8ee7db0f744b131 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=cbcc5c8eedfe981223357f4d43f13be03b9c6ee905ad052bb319a97d31e22c + +handshake=Noise_KNpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ed5eac382bc8e0e9fd781c2da8b87220 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466176a5de05f62ccb244d937a1aa4740e4 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=90abc79cc783c1390801576ba8ef427a7cc56945b010efdd7b649ad1dbf654 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=a414c63f43213f517dbe5b9ca2fe9013e406135d0b085f6718825d67d1b829 + +handshake=Noise_KNpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c0bb61207231b261590226d6bd0ae06f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c2392623d2b637e821625b49207eeb58 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=aaaeaecd7573c689b8d4ccbc5770cb22d0af475f726df807fc07e57aca7fe8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=1ee45b0cdba6411256525be9e7e44e1042d2c5402d080fdd0de28944e38b2a + +handshake=Noise_KN_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d680843f299d5b026581d284e8e375b8d3fb53a0e005ce9714f7 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7f85b724b0d10b19b9f18ba74dc10bc28c187a1505e32a1b7ddb76fc381c60 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=7b27b15d8102e55eb6b5e7c02d5c1309289aa197b383424bb8d70268d1270f + +handshake=Noise_KNpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c078e4e4c58ada7cb779610e8a2238b1012f7082cb66c772cfc9 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ab8d646d386089d58257871d3f64ce46e5a812c674583d1ccdf4 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c41244c39a4dc4bbd816e4383b36aeb29b39b1a4cd3375c8ee7db0f744b131 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=cbcc5c8eedfe981223357f4d43f13be03b9c6ee905ad052bb319a97d31e22c + +handshake=Noise_KNpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254484735eb56d9c231711a4a49f1b0e91368939fe01abaafeda157 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466955eb77ae3722bb9b8c14c019d2261382b06c17e895bfe86f3dc +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=90abc79cc783c1390801576ba8ef427a7cc56945b010efdd7b649ad1dbf654 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=a414c63f43213f517dbe5b9ca2fe9013e406135d0b085f6718825d67d1b829 + +handshake=Noise_KNpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254222c68cd4874356be9500e89b00ff544ace940b5729f086c3219 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f47863d9cb0059460bd645d3cf5c91821534a353e6358b048322 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=aaaeaecd7573c689b8d4ccbc5770cb22d0af475f726df807fc07e57aca7fe8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=1ee45b0cdba6411256525be9e7e44e1042d2c5402d080fdd0de28944e38b2a + +handshake=Noise_KN_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466edfd9f5e801b157d7af36200f0962b2a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7f85b724b0d10b19b9f18ba74dc10bc28c187a1505e32a1b7ddb76fc381c60 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=7b27b15d8102e55eb6b5e7c02d5c1309289aa197b383424bb8d70268d1270f + +handshake=Noise_KNpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254017d026ae69e905da4fa3527befbe8a1 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c903feabcdd078005d691951aa948363 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c41244c39a4dc4bbd816e4383b36aeb29b39b1a4cd3375c8ee7db0f744b131 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=cbcc5c8eedfe981223357f4d43f13be03b9c6ee905ad052bb319a97d31e22c + +handshake=Noise_KNpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d1ff777c50a19ec441934658f96590fb +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846654b54d2e6cdea2573e3a4b7e84607e8f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=90abc79cc783c1390801576ba8ef427a7cc56945b010efdd7b649ad1dbf654 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=a414c63f43213f517dbe5b9ca2fe9013e406135d0b085f6718825d67d1b829 + +handshake=Noise_KNpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d845f0d6e394c2c4577a7543e7e781c4 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665445832471db03c2530f8279f43e913b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=aaaeaecd7573c689b8d4ccbc5770cb22d0af475f726df807fc07e57aca7fe8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=1ee45b0cdba6411256525be9e7e44e1042d2c5402d080fdd0de28944e38b2a + +handshake=Noise_KN_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d680843f299d5b0265815e4064f0df3ea5eeef9535edc1a29e1b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7f85b724b0d10b19b9f18ba74dc10bc28c187a1505e32a1b7ddb76fc381c60 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=7b27b15d8102e55eb6b5e7c02d5c1309289aa197b383424bb8d70268d1270f + +handshake=Noise_KNpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c078e4e4c58ada7cb779bd109ef1e5c961b7ffb99ec6d65744b0 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ab8d646d386089d5825772141b5d91cba7a101d5ce077f7eec01 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c41244c39a4dc4bbd816e4383b36aeb29b39b1a4cd3375c8ee7db0f744b131 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=cbcc5c8eedfe981223357f4d43f13be03b9c6ee905ad052bb319a97d31e22c + +handshake=Noise_KNpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254484735eb56d9c231711a830caaff9108765bb21ac3cfc49d99eb +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466955eb77ae3722bb9b8c17991fc2b411ec54030c87e11b2f67cf1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=90abc79cc783c1390801576ba8ef427a7cc56945b010efdd7b649ad1dbf654 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=a414c63f43213f517dbe5b9ca2fe9013e406135d0b085f6718825d67d1b829 + +handshake=Noise_KNpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254222c68cd4874356be9509397dc032d89ade799a5a2591d9a6b32 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f47863d9cb0059460bd69e5cf4f459a34ce682b7e725dbbedae3 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=aaaeaecd7573c689b8d4ccbc5770cb22d0af475f726df807fc07e57aca7fe8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=1ee45b0cdba6411256525be9e7e44e1042d2c5402d080fdd0de28944e38b2a + +handshake=Noise_NK_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f4de59ddee9ea99d5e8aa53446f9bac9 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846600c26d78fb1fda00ee777962da982403 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=3c3b3e1a1b22cdec195cb8c43f3d694269cd55421d0895cca7696e8c298c1c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=13d838829d7fb57425535f1586944638fc6bbf339797c76dca3220ef1ac3c6 + +handshake=Noise_NKpsk0_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625442eba9e36fd2c74a614ad95028e3f5a0 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c4add52345e59d58759ba764f67ed9bc +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=977b3bc4c37ed85bb2f14db182740fe80d5f46a53fdc0a94ab5c45c457524e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0c2b02468bfcafd95de5eb7f367545a23c4569540a3ad7c8f586f9df3906ca + +handshake=Noise_NKpsk1_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545bea413ae247b1489d5d76dc47a98732 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846680c1ccc3ceb11995d9a9c688519e916c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=dafa613d0ecf78ca534bf648499e98d5d3b22807a64149f12b45f27b397b16 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=917876a5cd379ec833d3b8e3bae24aaba92e63c316d40872b543fb60f9ad16 + +handshake=Noise_NKpsk2_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c4be6444813fede19be6aef74e85031c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846607ef2728f791c670472e5a41e1e6b31f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=eaf9eace39e81e51a53ae9eabd917d2605ce13bdcf089338a62b554225f230 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d0c1580eea13c076581792052cc5ea1617c4093fd54657130b273ccb55f1b9 + +handshake=Noise_NK_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254479d6d76c8b559feebf4a71f42ce483ff0cf117f668906babd12 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846621612afe71fb7bc67dafcd0d83506c6becdad3daac83d5b90b24 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=3c3b3e1a1b22cdec195cb8c43f3d694269cd55421d0895cca7696e8c298c1c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=13d838829d7fb57425535f1586944638fc6bbf339797c76dca3220ef1ac3c6 + +handshake=Noise_NKpsk0_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625410bac85a9bf99c7fdd478913e038b7ccc97518c9cad9e1533646 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e2cc032cc4ae7da4eda9f47aa7c37ad99015588c190bac9a8387 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=977b3bc4c37ed85bb2f14db182740fe80d5f46a53fdc0a94ab5c45c457524e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0c2b02468bfcafd95de5eb7f367545a23c4569540a3ad7c8f586f9df3906ca + +handshake=Noise_NKpsk1_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625482751e4f02de3f742d89f17b30414fb1151dd7eb34dba83103cf +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664376773ce777a22ce76c89b02c0c992849ecf119f5ecddb511c6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=dafa613d0ecf78ca534bf648499e98d5d3b22807a64149f12b45f27b397b16 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=917876a5cd379ec833d3b8e3bae24aaba92e63c316d40872b543fb60f9ad16 + +handshake=Noise_NKpsk2_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542d0dcc1bd68cfc5ae3bd0b87c08f23c69ce1b3cccd83f5204db1 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466df4695624544314012baea976075677efc6eb4417112883ebd7c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=eaf9eace39e81e51a53ae9eabd917d2605ce13bdcf089338a62b554225f230 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d0c1580eea13c076581792052cc5ea1617c4093fd54657130b273ccb55f1b9 + +handshake=Noise_NK_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254bccd4635d2891ae46fa388fcb277b5bb +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668479b6648e2a13c0900168a46748457f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=3c3b3e1a1b22cdec195cb8c43f3d694269cd55421d0895cca7696e8c298c1c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=13d838829d7fb57425535f1586944638fc6bbf339797c76dca3220ef1ac3c6 + +handshake=Noise_NKpsk0_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625446261dfdaaf4ca0a1e51254bbf6b3a71 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a1fae0771c98fdec558518fc919cbd4f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=977b3bc4c37ed85bb2f14db182740fe80d5f46a53fdc0a94ab5c45c457524e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0c2b02468bfcafd95de5eb7f367545a23c4569540a3ad7c8f586f9df3906ca + +handshake=Noise_NKpsk1_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ac3a9c9d8550f06f3de2b891e96395cb +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bf809f989b8fbf9c10f6d31438caa613 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=dafa613d0ecf78ca534bf648499e98d5d3b22807a64149f12b45f27b397b16 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=917876a5cd379ec833d3b8e3bae24aaba92e63c316d40872b543fb60f9ad16 + +handshake=Noise_NKpsk2_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b9b01234febc4f0392461ae38c5ee4a8 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846661ff269ec62bf942fe8d6c85a773b1d2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=eaf9eace39e81e51a53ae9eabd917d2605ce13bdcf089338a62b554225f230 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d0c1580eea13c076581792052cc5ea1617c4093fd54657130b273ccb55f1b9 + +handshake=Noise_NK_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254479d6d76c8b559feebf467ad4b7003f368eb3929dca92e160bad +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846621612afe71fb7bc67daf8931a9010b74ab201a6ab9a6224cc78d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=3c3b3e1a1b22cdec195cb8c43f3d694269cd55421d0895cca7696e8c298c1c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=13d838829d7fb57425535f1586944638fc6bbf339797c76dca3220ef1ac3c6 + +handshake=Noise_NKpsk0_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625410bac85a9bf99c7fdd476360ac387c559fc40fa57bc0de8f2b03 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e2cc032cc4ae7da4eda923f9aad27b1e981be207dc57be28e47c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=977b3bc4c37ed85bb2f14db182740fe80d5f46a53fdc0a94ab5c45c457524e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0c2b02468bfcafd95de5eb7f367545a23c4569540a3ad7c8f586f9df3906ca + +handshake=Noise_NKpsk1_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625482751e4f02de3f742d89bba6ef6aea9975aae58faccbb8541cf7 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664376773ce777a22ce76c25463e4d298635ca65941beae4337859 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=dafa613d0ecf78ca534bf648499e98d5d3b22807a64149f12b45f27b397b16 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=917876a5cd379ec833d3b8e3bae24aaba92e63c316d40872b543fb60f9ad16 + +handshake=Noise_NKpsk2_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542d0dcc1bd68cfc5ae3bd27ac7960aa606e9dec412a6c64323ea2 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466df4695624544314012ba66257a4a39bb5b6289e32409329b7bda +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=eaf9eace39e81e51a53ae9eabd917d2605ce13bdcf089338a62b554225f230 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d0c1580eea13c076581792052cc5ea1617c4093fd54657130b273ccb55f1b9 + +handshake=Noise_KK_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254cbe8f77ad210ff754922c56591edaf17 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b9198d85a19fe670094c3f65b567f3b5 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6b689fca5f9af8029b40d692f66dab834d9b1ad71ef02e12f0ec068a93ba55 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=126650ec27e76d0de04fc556ef662a4a0cd619b62daacd5110dc43bfe1c1ba + +handshake=Noise_KKpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254cfc494240128ca1a452dedf604a4aa1c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e88e00d5fc2996457fd334c4f011f7cc +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d15b43ffc8c33b514f6b1d1cb5a9baac7bb9e8ab7fa60db501342d4369c737 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6bd6bdae40d6880a9cf6572e48db7cde278aa1dedd855791167a093d62b2dc + +handshake=Noise_KKpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625437534665c31a179f15fb392f7617e6b4 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846651a78581524074d4053423c2a7380160 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=5ee8fab16de07e20d98cd7a3cfcd72d229520670746f1fcaaa1127c729994d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ee6791cd8c9a12ecd260c7efcf6d0b094f05828949743f7f1da36d2fead3bd + +handshake=Noise_KKpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625493708ed5d90a001924c0e673e87cb122 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669f5abbd68865b250dfbf71912d44074b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0304f4a07a39789848204b1ac1fe2004f035cbb474b1e3f4f11b6f09aaff19 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=14bb951739a8ed231acc6348dcbe342ea124dd4d53a4a463ef415ebd15cb0d + +handshake=Noise_KK_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254983397660911ddae03feba9474c170c3f303fd4d39625083903a +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466beeba4b2e28bbb5d84eea1eb61d690d124b95b3c9f26a166fb5f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6b689fca5f9af8029b40d692f66dab834d9b1ad71ef02e12f0ec068a93ba55 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=126650ec27e76d0de04fc556ef662a4a0cd619b62daacd5110dc43bfe1c1ba + +handshake=Noise_KKpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625432687ae9f41a125bbb260be5b0199fb6934a0986470429e21cc4 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466678c53d1c8fb7d77e1c7ad887a31a56e2c7281c1bcb3bd549a7d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d15b43ffc8c33b514f6b1d1cb5a9baac7bb9e8ab7fa60db501342d4369c737 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6bd6bdae40d6880a9cf6572e48db7cde278aa1dedd855791167a093d62b2dc + +handshake=Noise_KKpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548b75e1a1de629bd7bac048614be9ce38bd0c0f0100160ff1dcd5 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664bf2a2da8c86239618ed75c5a3a80f84f18e853c86a6c6137b98 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=5ee8fab16de07e20d98cd7a3cfcd72d229520670746f1fcaaa1127c729994d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ee6791cd8c9a12ecd260c7efcf6d0b094f05828949743f7f1da36d2fead3bd + +handshake=Noise_KKpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254797f85753395023883c29179f22e141c07c0d0940712f6c0224f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663fc5041accf40fbcf106a268de93fd43bd8ce67eec5bec522977 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0304f4a07a39789848204b1ac1fe2004f035cbb474b1e3f4f11b6f09aaff19 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=14bb951739a8ed231acc6348dcbe342ea124dd4d53a4a463ef415ebd15cb0d + +handshake=Noise_KK_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625481294976bf2915b8d25846e070a8faf3 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846683c72d35f421d61ea833ffb5a5ececc1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6b689fca5f9af8029b40d692f66dab834d9b1ad71ef02e12f0ec068a93ba55 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=126650ec27e76d0de04fc556ef662a4a0cd619b62daacd5110dc43bfe1c1ba + +handshake=Noise_KKpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545511775bf252b7b7798b5aa47a6d2bf4 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e6927b5da0967848b5cca6d9441ea950 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d15b43ffc8c33b514f6b1d1cb5a9baac7bb9e8ab7fa60db501342d4369c737 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6bd6bdae40d6880a9cf6572e48db7cde278aa1dedd855791167a093d62b2dc + +handshake=Noise_KKpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254782f9ea5e938f3a83cd596e21dc38f26 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466108c204a27ee44abec42ab2e2155c7f1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=5ee8fab16de07e20d98cd7a3cfcd72d229520670746f1fcaaa1127c729994d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ee6791cd8c9a12ecd260c7efcf6d0b094f05828949743f7f1da36d2fead3bd + +handshake=Noise_KKpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546cfe8fea278b52605acdaed61a076cff +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661aea6d52c5f57bdb87846f3b20633e01 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0304f4a07a39789848204b1ac1fe2004f035cbb474b1e3f4f11b6f09aaff19 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=14bb951739a8ed231acc6348dcbe342ea124dd4d53a4a463ef415ebd15cb0d + +handshake=Noise_KK_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254983397660911ddae03fe246b376afbd5d094b0fa701a84bdcd3e +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466beeba4b2e28bbb5d84ee8142c6b37c508edf518dbad16a09b062 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6b689fca5f9af8029b40d692f66dab834d9b1ad71ef02e12f0ec068a93ba55 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=126650ec27e76d0de04fc556ef662a4a0cd619b62daacd5110dc43bfe1c1ba + +handshake=Noise_KKpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625432687ae9f41a125bbb266304cfeeda44b8ac9eb1338ef6f186a7 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466678c53d1c8fb7d77e1c79d4704436e55e97648d81807db8a43ba +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d15b43ffc8c33b514f6b1d1cb5a9baac7bb9e8ab7fa60db501342d4369c737 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6bd6bdae40d6880a9cf6572e48db7cde278aa1dedd855791167a093d62b2dc + +handshake=Noise_KKpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548b75e1a1de629bd7bac046d9df733cd3c96d735b2b5338c09281 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664bf2a2da8c86239618ed437962b82a34484359e590b7252d01b7 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=5ee8fab16de07e20d98cd7a3cfcd72d229520670746f1fcaaa1127c729994d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ee6791cd8c9a12ecd260c7efcf6d0b094f05828949743f7f1da36d2fead3bd + +handshake=Noise_KKpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254797f85753395023883c2c7495a1b13f1976fa9ebbf898a1054d0 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663fc5041accf40fbcf106a311f7eaa3ab0eb5bef5f28fa9ef0055 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0304f4a07a39789848204b1ac1fe2004f035cbb474b1e3f4f11b6f09aaff19 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=14bb951739a8ed231acc6348dcbe342ea124dd4d53a4a463ef415ebd15cb0d + +handshake=Noise_NX_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ac104e4413b3e6091ab98f8902f898f750341010fc28130905edcfa84df5b5ff78b8851e94c6c17bd270a7a37e6708c2d69210ebf8c5da2c7babd825d14ba61a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=50f23b250835f62aeee57429ea276cce9ce465b1fa5bd01cb8041bc9ae7722 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=681c16d92b2ed840ea2096ee1445c6d699f71659c0aa98c115fd2be24a4e6a + +handshake=Noise_NXpsk0_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254128719fddfb85978a91462e8016a3b7c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666c4fbd20d2daae06cfee3a4044de5f045844d2d23c127c77abb5006a1727e9b0d65cf665ef2c2cf4b9b6abc1b2eb38c3795451e327b76fb59eb66315301bc415 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e8a9c8176161c87470eb1bbe4a5ffe8bd08cc293b80f57f244c10ddbbe368d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=38d5a75a6dd18e71d5f6555c7edeac938ed79a312ac10077fd8fc8d82ad81b + +handshake=Noise_NXpsk1_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f68a3d756a50740b15842b4246d40c9 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661d6f6e3ddf23875e0592cb924daf3d8126d3008e0d245a8ced1dbfb1286387dedccda427697bf1517a2ce36d5d4dfab9647ec2d26dee1cf6281f4b3217c2e7be +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0253fb688077f49bb12859d7f33c3988a23b855e14bb9963008bb5e8ada039 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d296bf8aac74a67761c7c5666f2922d68ab6e431aa6b4004b9fd8cd626cbee + +handshake=Noise_NXpsk2_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a3a8c0e25d9cbfd7880c6d3feacf6066 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fc485d9c0d76abdbc722684433571ab05ce22a12c92fb1ef81296edd14429f57af4cb353cb580e67a53f1d03fc6c7bede73fcb3b753dc767dfc38016c3dc3102 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8b285956fce83786691fb9e5a48f6571ee16435da742caa84e27606c8c0417 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=43a9eb08fe5a95969a4eb076b238e5eba3913319b0b74142bc47a35b1fcace + +handshake=Noise_NX_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ac104e4413b3e6091ab98f8902f898f750341010fc28130905edcfa84df5b5ff50d0f6181f350f6b280c29e87598a257ff5df3365fc12cae7322ea77df156a499836d833f1c218000c9f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=50f23b250835f62aeee57429ea276cce9ce465b1fa5bd01cb8041bc9ae7722 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=681c16d92b2ed840ea2096ee1445c6d699f71659c0aa98c115fd2be24a4e6a + +handshake=Noise_NXpsk0_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544c087d6fe10c8862ed749092cff7288bbb82d14d6c00f86f0974 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666c4fbd20d2daae06cfee3a4044de5f045844d2d23c127c77abb5006a1727e9b07e867dd2c4ea66642d27c3ae9feeaea47089b9aede3e5674a1829bd4a5d8b3b057de516d4bf5318a2fa9 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e8a9c8176161c87470eb1bbe4a5ffe8bd08cc293b80f57f244c10ddbbe368d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=38d5a75a6dd18e71d5f6555c7edeac938ed79a312ac10077fd8fc8d82ad81b + +handshake=Noise_NXpsk1_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549b88c66c5db16c076955495c7289c3499a801ca5a1840f075d1e +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661d6f6e3ddf23875e0592cb924daf3d8126d3008e0d245a8ced1dbfb1286387de90ab182bc2fb03dd6955f7ae27b74c7077b45b9ff2a8c8130a47ece321f582f42765af8ce6cecc9dab7f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0253fb688077f49bb12859d7f33c3988a23b855e14bb9963008bb5e8ada039 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d296bf8aac74a67761c7c5666f2922d68ab6e431aa6b4004b9fd8cd626cbee + +handshake=Noise_NXpsk2_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254dad9df4c8fe65e76706807c4b6f3261a2ab9dd864826a4105018 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fc485d9c0d76abdbc722684433571ab05ce22a12c92fb1ef81296edd14429f57352b4c17d9ec7183cafe3bed352923f60758d553d3fe9be0c2f52ed6cbe5bc8146067bee786a4921f2b4 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8b285956fce83786691fb9e5a48f6571ee16435da742caa84e27606c8c0417 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=43a9eb08fe5a95969a4eb076b238e5eba3913319b0b74142bc47a35b1fcace + +handshake=Noise_NX_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ac104e4413b3e6091ab98f8902f898f750341010fc28130905edcfa84df5b5fffd5c64064a663cc1f8f0e59775f3d93db4e7d95dd77b5928935227a3bbfef59a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=50f23b250835f62aeee57429ea276cce9ce465b1fa5bd01cb8041bc9ae7722 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=681c16d92b2ed840ea2096ee1445c6d699f71659c0aa98c115fd2be24a4e6a + +handshake=Noise_NXpsk0_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545386451c97b61e92eddb55d435aa604f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666c4fbd20d2daae06cfee3a4044de5f045844d2d23c127c77abb5006a1727e9b0fb77c4cfa310f7eb93a6b23b45f1c6dfc7b695808fdeb14bbcdf420040e859a3 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e8a9c8176161c87470eb1bbe4a5ffe8bd08cc293b80f57f244c10ddbbe368d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=38d5a75a6dd18e71d5f6555c7edeac938ed79a312ac10077fd8fc8d82ad81b + +handshake=Noise_NXpsk1_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e6b06ac4ec214355f45fa8353f935109 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661d6f6e3ddf23875e0592cb924daf3d8126d3008e0d245a8ced1dbfb1286387de45b77dee817b10ee56198c4aeb08eaf24446e360a7d53fff28c2d680bbfd97ae +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0253fb688077f49bb12859d7f33c3988a23b855e14bb9963008bb5e8ada039 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d296bf8aac74a67761c7c5666f2922d68ab6e431aa6b4004b9fd8cd626cbee + +handshake=Noise_NXpsk2_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254006ef9622a9fef1a70a559a801e0b3c5 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fc485d9c0d76abdbc722684433571ab05ce22a12c92fb1ef81296edd14429f571c5eeee49093a423c6b4acd63e27a510e1abef38197787ac2ec2d692f837e495 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8b285956fce83786691fb9e5a48f6571ee16435da742caa84e27606c8c0417 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=43a9eb08fe5a95969a4eb076b238e5eba3913319b0b74142bc47a35b1fcace + +handshake=Noise_NX_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ac104e4413b3e6091ab98f8902f898f750341010fc28130905edcfa84df5b5ff10abab009c4e0ae9e6fe931c4b3a2db2ff5df3365fc12cae7322c0d6356a6fd2ae2b72c9b68520749403 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=50f23b250835f62aeee57429ea276cce9ce465b1fa5bd01cb8041bc9ae7722 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=681c16d92b2ed840ea2096ee1445c6d699f71659c0aa98c115fd2be24a4e6a + +handshake=Noise_NXpsk0_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544c087d6fe10c8862ed7448bb4f10327d492edf33de25e98a29f0 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666c4fbd20d2daae06cfee3a4044de5f045844d2d23c127c77abb5006a1727e9b0cb6829c168ec40755cb9791148c71e9b7089b9aede3e5674a182ddb40f356db56ba4f9af3bd611e9c363 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e8a9c8176161c87470eb1bbe4a5ffe8bd08cc293b80f57f244c10ddbbe368d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=38d5a75a6dd18e71d5f6555c7edeac938ed79a312ac10077fd8fc8d82ad81b + +handshake=Noise_NXpsk1_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549b88c66c5db16c0769556dd7aaeacf1e9daf99473ed45b7449e5 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661d6f6e3ddf23875e0592cb924daf3d8126d3008e0d245a8ced1dbfb1286387de97e23ace6ec8210a1f5045c76214305477b45b9ff2a8c8130a47b7170d66956ae33fd7bcce1e8df4c94f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0253fb688077f49bb12859d7f33c3988a23b855e14bb9963008bb5e8ada039 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d296bf8aac74a67761c7c5666f2922d68ab6e431aa6b4004b9fd8cd626cbee + +handshake=Noise_NXpsk2_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254dad9df4c8fe65e767068bdb6e296baddfa4c82b21bbcc228d06f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fc485d9c0d76abdbc722684433571ab05ce22a12c92fb1ef81296edd14429f57ee712f3e89a116cf1ad6e3ad414d7a320758d553d3fe9be0c2f5b3bf317650ef3f796be8958b8619f595 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8b285956fce83786691fb9e5a48f6571ee16435da742caa84e27606c8c0417 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=43a9eb08fe5a95969a4eb076b238e5eba3913319b0b74142bc47a35b1fcace + +handshake=Noise_KX_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846672f4561972c0066d2edb9ec3f6e06061d9efd85e8e09eea4f7b55e051881ed2d461f07a142019054861b74148fc944f2e8d3d02e24ba2ac639ffb67a06cf941c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b455e7160f810c5bc83b94c63932a10a218f6558daa7c9408d619d960d2796 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f2afc54621ee01e366836724674abfef6e64777e77ec15067c04d59d9209a4 + +handshake=Noise_KXpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548430ae3a453831ae8a72cf799518925e +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846616cadc6a5849f99f04d636b30b52105083d64100bee3bb0069b4f03ee5528920b0e6c7d5cd255c95ce396140e6463b697b3fef9bb639280d1e8ef58e2cc57896 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=95f4eba61bd217fca6eeac0a5a0a96f68e11a0d0c49dd2e288a8e4e2b17feb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=7df0beb173488e9c5778a1af08cbff1aa3337839a0ece825a2a502a0b05bc0 + +handshake=Noise_KXpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545c23b090b7eba082e987ffde36222281 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ea2829785aa59d7e2f1df56d98f6239f2a267a4c2001acb54d556932c40595e08d08fa0a460ac311e155c1961457907cc0a4d7e1108630ca5899c30604b20475 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=db708006c85bb5c1cdb6fab482f0179cb466ef1ac02d2a5d897ab5e93cda4e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8a2c4b83b0a27cce3a7347e01d5d11e47a2979bc41d5b8c4b7419640ef6afd + +handshake=Noise_KXpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625450e8db962a84fca6873e83064a5444db +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846661d4c7b7bc2b1ee4596b72cc8f00e533cfe7c236f9b8deb95ad7fd92c14165e5a8d3903706ccda48ece8fff18fd25fcbc7742a1ecbd81dee525c0bc58eb20fe0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=41c1facc56421dd154d1435a4f33d5b5a243d389e0b460bdf6ea6362a8dcb1 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=3aaefa2606543d87e25894c5eaed9eed40ceca80106c62822593046c03ae39 + +handshake=Noise_KX_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846672f4561972c0066d2edb9ec3f6e06061d9efd85e8e09eea4f7b55e051881ed2d3c473a344d1071574c284e14408c92b58539d798b2be574927e85b225447321ee1eca1a9e701c541dfc4 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b455e7160f810c5bc83b94c63932a10a218f6558daa7c9408d619d960d2796 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f2afc54621ee01e366836724674abfef6e64777e77ec15067c04d59d9209a4 + +handshake=Noise_KXpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541a278e53378151225fdc24a27a0350908629f692f9235d8b579a +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846616cadc6a5849f99f04d636b30b52105083d64100bee3bb0069b4f03ee55289202bbe89689c2b31e623a1ff6083a686213eb28814fe4ae279902deca97b1bf6dd106c9b325fda721e8e45 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=95f4eba61bd217fca6eeac0a5a0a96f68e11a0d0c49dd2e288a8e4e2b17feb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=7df0beb173488e9c5778a1af08cbff1aa3337839a0ece825a2a502a0b05bc0 + +handshake=Noise_KXpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541963a6cc03347872d41cd292b29b87d22c488ec89f15cadc0304 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ea2829785aa59d7e2f1df56d98f6239f2a267a4c2001acb54d556932c40595e0ff2d81ce4e2b85ccd5b50e3d9385951e978f1e633d310614bfa6c9af1eb5389105299f943c88ef268de0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=db708006c85bb5c1cdb6fab482f0179cb466ef1ac02d2a5d897ab5e93cda4e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8a2c4b83b0a27cce3a7347e01d5d11e47a2979bc41d5b8c4b7419640ef6afd + +handshake=Noise_KXpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b687a1a128f62ce6ad4869118737b15a42084f3c92aebc30d267 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846661d4c7b7bc2b1ee4596b72cc8f00e533cfe7c236f9b8deb95ad7fd92c14165e50a8d064f224ac761b6d7c1c6c8eb50293f03deb388775b780f1a4d2ab7129b40773b857884e7fa3781ba +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=41c1facc56421dd154d1435a4f33d5b5a243d389e0b460bdf6ea6362a8dcb1 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=3aaefa2606543d87e25894c5eaed9eed40ceca80106c62822593046c03ae39 + +handshake=Noise_KX_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846672f4561972c0066d2edb9ec3f6e06061d9efd85e8e09eea4f7b55e051881ed2d1d615544c66e1cb785f80a256fa65b2fa178f825837d657176e150e7ce6f245c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b455e7160f810c5bc83b94c63932a10a218f6558daa7c9408d619d960d2796 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f2afc54621ee01e366836724674abfef6e64777e77ec15067c04d59d9209a4 + +handshake=Noise_KXpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f158d8a926103237627624b7994e5cea +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846616cadc6a5849f99f04d636b30b52105083d64100bee3bb0069b4f03ee55289209cd64d6c3bbcf800f969aa8df01d86fe7072004c1b4554700eb5909209e0dab7 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=95f4eba61bd217fca6eeac0a5a0a96f68e11a0d0c49dd2e288a8e4e2b17feb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=7df0beb173488e9c5778a1af08cbff1aa3337839a0ece825a2a502a0b05bc0 + +handshake=Noise_KXpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543d791c8f0b6f7c80957817be26d2892d +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ea2829785aa59d7e2f1df56d98f6239f2a267a4c2001acb54d556932c40595e00680a79b2539691fef9292119bcf76716a9952ab10be0f6024bf192f1769921a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=db708006c85bb5c1cdb6fab482f0179cb466ef1ac02d2a5d897ab5e93cda4e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8a2c4b83b0a27cce3a7347e01d5d11e47a2979bc41d5b8c4b7419640ef6afd + +handshake=Noise_KXpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b9a3396c47f801921ad02dbae48fc985 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846661d4c7b7bc2b1ee4596b72cc8f00e533cfe7c236f9b8deb95ad7fd92c14165e594f70660f3cee9026c4f1dbad7e0f4ad0cbf817f2b3cb5e211e95723c228e6a8 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=41c1facc56421dd154d1435a4f33d5b5a243d389e0b460bdf6ea6362a8dcb1 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=3aaefa2606543d87e25894c5eaed9eed40ceca80106c62822593046c03ae39 + +handshake=Noise_KX_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846672f4561972c0066d2edb9ec3f6e06061d9efd85e8e09eea4f7b55e051881ed2dc41c3031529d4ad19d8b7d219ee949ba8539d798b2be574927e893bc2be2e90d5f23a332ce63e9b6af53 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b455e7160f810c5bc83b94c63932a10a218f6558daa7c9408d619d960d2796 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f2afc54621ee01e366836724674abfef6e64777e77ec15067c04d59d9209a4 + +handshake=Noise_KXpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541a278e53378151225fdcdac5afdbdd2dc7dedc8295b2873efbe7 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846616cadc6a5849f99f04d636b30b52105083d64100bee3bb0069b4f03ee55289203975f934fe65246ce4d017fc344204863eb28814fe4ae279902d812f17f5fdeec17d2be7cfe9c15fe371 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=95f4eba61bd217fca6eeac0a5a0a96f68e11a0d0c49dd2e288a8e4e2b17feb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=7df0beb173488e9c5778a1af08cbff1aa3337839a0ece825a2a502a0b05bc0 + +handshake=Noise_KXpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541963a6cc03347872d41c5e0ed0f6f3e8e1bb772a98ffc1f921a3 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ea2829785aa59d7e2f1df56d98f6239f2a267a4c2001acb54d556932c40595e0add7a52cc2a82263c610384ed971faaf978f1e633d310614bfa6c7981a371f1daaf7743d4b65531bfac4 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=db708006c85bb5c1cdb6fab482f0179cb466ef1ac02d2a5d897ab5e93cda4e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8a2c4b83b0a27cce3a7347e01d5d11e47a2979bc41d5b8c4b7419640ef6afd + +handshake=Noise_KXpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b687a1a128f62ce6ad483da6460c40931a96fa6bd046991ec6fa +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846661d4c7b7bc2b1ee4596b72cc8f00e533cfe7c236f9b8deb95ad7fd92c14165e5c17fef40ec942d9af58b9f2084f7d7343f03deb388775b780f1a06a1f31cd098cde068559214e75a9613 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=41c1facc56421dd154d1435a4f33d5b5a243d389e0b460bdf6ea6362a8dcb1 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=3aaefa2606543d87e25894c5eaed9eed40ceca80106c62822593046c03ae39 + +handshake=Noise_XN_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667ebc7d2d516cca269396ef67d295ec39 +msg_2_payload= +msg_2_ciphertext=1ab983aef2af5558802d787fec340c612a9332b5ad54d9d76bea87516becc239cae582f922483a710bdadf4d3d4104b83912d0022b4c80366819f93508567e42 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=d195f8befc66baa201a18c4064909ebe8502e0f9b5e961314b61fd125d247d +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=86591937ccc7873fb61286c7d019e73daf8b40ec33dcc9d1fffe1c9a16dd4c + +handshake=Noise_XNpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d6ce88b9c3416bd1b1fd48bd564b7d8b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662736201c798b5d138492b71ca9303c38 +msg_2_payload= +msg_2_ciphertext=b1fa0b5e1310eb981ee2e54af06f5f88b5a9d0140be4b3bc6b2946a937e40d7ffcc250ffbcda3b2f9620ebf6eac14a59a1210630e2445733f2e46646501b9357 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=553b9158015420d2b4692c4b30b0fb26ade7adfa1fcbcc182e90b7244054b3 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=2383835c704affed54b3525f4d7f63064538ce838cd706c9197aff8881fb31 + +handshake=Noise_XNpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254967f2f01403b1579c67ebc37850a3984 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667d7227bc0115068aaaad4d8b7fc66cdb +msg_2_payload= +msg_2_ciphertext=8d7c08550caffdd7302901d1ef368326f22321a4511debccbbd532ccb7d96f286ec78fbd90058b6b4e4a015560082c19ca281643f095da37cf820411c2d087d0 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=eb2dbb2a68310558e3a1ca71a2257cd6f28ddfd99fa854dc8011d812e90101 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=80c84ea17aa9f0d18602ab87eb20259a858074a95e5f076907e632667db5fb + +handshake=Noise_XNpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546ca3cd19431029b33d5dca3bc873f8bb +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e0071d3b01d6039361134ab45ac8b078 +msg_2_payload= +msg_2_ciphertext=57d0d36040aea7cc919054c726a651796718f907af000923de50022aac735ff60d17220a0c76cc92c0f6fbd59b2137d761b604bd4022323157834edcf5e479a9 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=078228238d9d65d53d9910156e32b61af70cac329a27000c3968d942f325af +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=eaa3e5c640ca8998164b6fa6e2c3546393076d09e3f87493d20b91f3fbadd2 + +handshake=Noise_XNpsk3_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547cbc94fd1c4c0d0998ff4e6d7a365759 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a9868d34a16223d571df967ef2c2a815 +msg_2_payload= +msg_2_ciphertext=83cbff8b883cab6302654c8d6d6e50a3e7323d9024018c648cf98824f0e880ab5995de92829e6723630bac7f2f6ab19656155b0561d7998e25c283903c34fece +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=62620d455bce603e36d0e324deb5ae87a2a3ac98b56a0de4b3cd02e98e285e +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=37668ce320aa3b29cd5dd49bfc5fd63474ff03fade3bf0dde6164fa0030b64 + +handshake=Noise_XN_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669bc42f905f6cea8c6d21736310fecc3db8d9b6e67b39bdfeaf21 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=1ab983aef2af5558802d787fec340c612a9332b5ad54d9d76bea87516becc239d9d0e972486a926167ac22ff38795bb8d5ff457d78cb9ee139f97cf0aa00153beac61936bd612bd689fe +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=d195f8befc66baa201a18c4064909ebe8502e0f9b5e961314b61fd125d247d +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=86591937ccc7873fb61286c7d019e73daf8b40ec33dcc9d1fffe1c9a16dd4c + +handshake=Noise_XNpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254383b83be44ec842dd3006898b7004b470de5cd728369d9d0bbb7 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665933b46f951a73becfa372a5ae6db01ed6238a0edb6dbf4c6cd4 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=b1fa0b5e1310eb981ee2e54af06f5f88b5a9d0140be4b3bc6b2946a937e40d7faf234bc6d125f13bbc03b3123995036cb9e89a78f9efa643f1cdd386afe537a04caf8573a64da952a302 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=553b9158015420d2b4692c4b30b0fb26ade7adfa1fcbcc182e90b7244054b3 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=2383835c704affed54b3525f4d7f63064538ce838cd706c9197aff8881fb31 + +handshake=Noise_XNpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625447a625a9ed5dd10375d8ee2e1a8b6de55f4bb41c7afd0ba7530f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661977595c1b822311d2db73d33c2217e9e61c48015261e4bf2ccb +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=8d7c08550caffdd7302901d1ef368326f22321a4511debccbbd532ccb7d96f28a88b4c55350214e5105354ff79021a3346fe0bfca84667d86819739dbee501a7a7ad383e6ac4fc93d3a4 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=eb2dbb2a68310558e3a1ca71a2257cd6f28ddfd99fa854dc8011d812e90101 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=80c84ea17aa9f0d18602ab87eb20259a858074a95e5f076907e632667db5fb + +handshake=Noise_XNpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540dc8226f2f99fa7085ced52daea87b8eba61c0a8bceba13e8296 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c9fd0e03c736f0dbe83784fd835dbcccc6aa205422101c0b7562 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=57d0d36040aea7cc919054c726a651796718f907af000923de50022aac735ff6dc185e9cc4a822dc22082b1e9c705d953214f3e01388aa3cd4912e5cde0319b158974a4c910c12436a81 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=078228238d9d65d53d9910156e32b61af70cac329a27000c3968d942f325af +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=eaa3e5c640ca8998164b6fa6e2c3546393076d09e3f87493d20b91f3fbadd2 + +handshake=Noise_XNpsk3_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546c1aa61ab88ff9a43d1c80d505b1c6efb80ce50a5643b362d0df +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661588ca3f0797a06d1b63b044f56d827811dcbc1f646a8def6f2d +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=83cbff8b883cab6302654c8d6d6e50a3e7323d9024018c648cf98824f0e880abe8fa324069e8d159ca0a8dc4b0cafdecd4d7fe0f1353b05c118a548b145e78bb26f3b9d520fe9b4d1514 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=62620d455bce603e36d0e324deb5ae87a2a3ac98b56a0de4b3cd02e98e285e +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=37668ce320aa3b29cd5dd49bfc5fd63474ff03fade3bf0dde6164fa0030b64 + +handshake=Noise_XN_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c9e8710f7b46475111899a331cb6d0a7 +msg_2_payload= +msg_2_ciphertext=1ab983aef2af5558802d787fec340c612a9332b5ad54d9d76bea87516becc239067cd1d54113d19c1f71c83a1edf288d743f8a931b93cb162a125f6042ef548f +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=d195f8befc66baa201a18c4064909ebe8502e0f9b5e961314b61fd125d247d +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=86591937ccc7873fb61286c7d019e73daf8b40ec33dcc9d1fffe1c9a16dd4c + +handshake=Noise_XNpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547a92e7a29e352f7a1fdbf917a7d408fb +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c95d0a8a41a3cfbe098066ef8799cedc +msg_2_payload= +msg_2_ciphertext=b1fa0b5e1310eb981ee2e54af06f5f88b5a9d0140be4b3bc6b2946a937e40d7f7c035f20b8c89981b5d78bd802ffcbf57049af8a3bf01842bf9401424fbc2522 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=553b9158015420d2b4692c4b30b0fb26ade7adfa1fcbcc182e90b7244054b3 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=2383835c704affed54b3525f4d7f63064538ce838cd706c9197aff8881fb31 + +handshake=Noise_XNpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549e5174a2db0e02e89ce6700b7f724e98 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e3f9c5d3216d0bbc1c9732c02fb6d958 +msg_2_payload= +msg_2_ciphertext=8d7c08550caffdd7302901d1ef368326f22321a4511debccbbd532ccb7d96f2866581032bd9ef4ec605c89f9a9c11d3c934b44c76b19fb9e874055521d8c2126 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=eb2dbb2a68310558e3a1ca71a2257cd6f28ddfd99fa854dc8011d812e90101 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=80c84ea17aa9f0d18602ab87eb20259a858074a95e5f076907e632667db5fb + +handshake=Noise_XNpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625463a521446358f262e7d5a60de7721239 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b360a6b915076e4a46f0df191ef44a2a +msg_2_payload= +msg_2_ciphertext=57d0d36040aea7cc919054c726a651796718f907af000923de50022aac735ff63edb6b8db36b3614c4a99a8f0439dd35a25669a26992d38212997d2e2b956544 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=078228238d9d65d53d9910156e32b61af70cac329a27000c3968d942f325af +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=eaa3e5c640ca8998164b6fa6e2c3546393076d09e3f87493d20b91f3fbadd2 + +handshake=Noise_XNpsk3_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a4e95d8a6ec9259c7fd75328ebf841c3 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846667d638565845ccfec1044160484c0212 +msg_2_payload= +msg_2_ciphertext=83cbff8b883cab6302654c8d6d6e50a3e7323d9024018c648cf98824f0e880abb946e9e4e1a540c904ceae9d7fc3a3e23df2179a425d076051527f20bd5c157d +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=62620d455bce603e36d0e324deb5ae87a2a3ac98b56a0de4b3cd02e98e285e +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=37668ce320aa3b29cd5dd49bfc5fd63474ff03fade3bf0dde6164fa0030b64 + +handshake=Noise_XN_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669bc42f905f6cea8c6d2152688b2db7a4a5e6bad2eb5e6bb6d67f +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=1ab983aef2af5558802d787fec340c612a9332b5ad54d9d76bea87516becc2394be6087d956d1e4a61de19f946b938e2d5ff457d78cb9ee139f9ce920104afac59a4bcdd664d58ab4463 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=d195f8befc66baa201a18c4064909ebe8502e0f9b5e961314b61fd125d247d +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=86591937ccc7873fb61286c7d019e73daf8b40ec33dcc9d1fffe1c9a16dd4c + +handshake=Noise_XNpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254383b83be44ec842dd30040829f1859c3e6575f749244de0bf9df +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665933b46f951a73becfa39241e5fb3addacb4201d1c842fdc6574 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=b1fa0b5e1310eb981ee2e54af06f5f88b5a9d0140be4b3bc6b2946a937e40d7fdafd771902eb11c326abd30b61887b86b9e89a78f9efa643f1cd8bf6e2fca221a8f95cd1b592d021fdb4 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=553b9158015420d2b4692c4b30b0fb26ade7adfa1fcbcc182e90b7244054b3 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=2383835c704affed54b3525f4d7f63064538ce838cd706c9197aff8881fb31 + +handshake=Noise_XNpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625447a625a9ed5dd10375d810bbf4dbff81da99b343d240f9c1992d +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661977595c1b822311d2db413251d1961135b14cb2786f7a030b70 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=8d7c08550caffdd7302901d1ef368326f22321a4511debccbbd532ccb7d96f28cd00b064a19fdb50dd2e68909f34604546fe0bfca84667d8681934aa1779b419c87ead0d4ef509d932ac +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=eb2dbb2a68310558e3a1ca71a2257cd6f28ddfd99fa854dc8011d812e90101 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=80c84ea17aa9f0d18602ab87eb20259a858074a95e5f076907e632667db5fb + +handshake=Noise_XNpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540dc8226f2f99fa7085cec3a3e87c17df7992d06de1d5c72dea3f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c9fd0e03c736f0dbe8371d3f702aab8074e52ade0b150397a2cd +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=57d0d36040aea7cc919054c726a651796718f907af000923de50022aac735ff670a9f1e667c41afe15ce41ee90c3a6d83214f3e01388aa3cd4913253f8982aa4c23b7af239ac6e88ce91 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=078228238d9d65d53d9910156e32b61af70cac329a27000c3968d942f325af +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=eaa3e5c640ca8998164b6fa6e2c3546393076d09e3f87493d20b91f3fbadd2 + +handshake=Noise_XNpsk3_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546c1aa61ab88ff9a43d1ca8c9a354f488d3f1cd4c6f8efd232fd5 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661588ca3f0797a06d1b636d50b498f7a84254af07424ed1b25094 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=83cbff8b883cab6302654c8d6d6e50a3e7323d9024018c648cf98824f0e880abf4c9c1c27f2965b5afe799f44cb4f89cd4d7fe0f1353b05c118a7017a7949d7f7851ece83e0bf5e9fb6f +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=62620d455bce603e36d0e324deb5ae87a2a3ac98b56a0de4b3cd02e98e285e +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=37668ce320aa3b29cd5dd49bfc5fd63474ff03fade3bf0dde6164fa0030b64 + +handshake=Noise_IN_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c9ab17086eb52ba02f54fe48b11cf7ae +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d4e08cc4a109b93413b9f2b93a90c3b52d328130346ae8a7a65693bbdfffb3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2bf0d845c35d0b63452e9477083d9c35feb7263cebf00828ce84fba88f94c0 + +handshake=Noise_INpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625405262b1f9b84cdb310908a65b2d6408f13ec9efef6a1b52c2bf0daaffe1e42204de45bf028283b88c60ab5cc2745b8e8c6cf4e30f5e4d01f7a36153c4d2028b1 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fcf90b48cc4034aefda82a6593ca634e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7d8f33663563115c594ca28b2fe01e8dae1cf498b312ceb4c18fc55a005cc6 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=36f1d5c7339b870e822497f1a014c1032e3268d62ea5bc7f80264b2de3535d + +handshake=Noise_INpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c205846663809a031f5a191bd9323566dc3c824c7273fa31a5fc1d54a8e951aa4f4a2c01331090fe2dc47358b134f4983e57f6e050a654d43575149488e4d962 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660f9cecdffa97451986964e6b181e2961 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=79d1215e41ae753d5c8dafc474355e4b7af8ec2d84f13444f3d1c7bea75e53 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=216ecf739142ee4ce72573b4e79f765df31be2022377fee7e9847f558a6187 + +handshake=Noise_INpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541906307774eb6ae1a18c731b2af6d9bcf09b69e5b9b66678a3b968edb6550e7dc123f2506c770de516702097583503973ef95ff80d31b363f0e2637b8df344c7 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ac222e4b2d2f6d105228f1f6eaab97ff +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=f18b76b773ad92a0551eaaccac2822ef7c89e2e4141b493494a5671432e538 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b500b236900edd4ce3a74e0f021fc0b93bb677a8a0417996474ad1b3ad40f8 + +handshake=Noise_IN_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466578e11ef9be6d820631037dc05abdcb236c57a2567ba93669ab0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d4e08cc4a109b93413b9f2b93a90c3b52d328130346ae8a7a65693bbdfffb3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2bf0d845c35d0b63452e9477083d9c35feb7263cebf00828ce84fba88f94c0 + +handshake=Noise_INpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625405262b1f9b84cdb310908a65b2d6408f13ec9efef6a1b52c2bf0daaffe1e42204de45bf028283b88c60ab5cc2745b8e87016ea492791838b92f00800e636883dc626eb2f3895011a139e +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466217778ef3116b94146df592ed848106664bcbfff47169058bda2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7d8f33663563115c594ca28b2fe01e8dae1cf498b312ceb4c18fc55a005cc6 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=36f1d5c7339b870e822497f1a014c1032e3268d62ea5bc7f80264b2de3535d + +handshake=Noise_INpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c205846663809a031f5a191bd9323566dc3c824c7273fa31a5fc1d54a8e951aa4f4a2c01331090fe2dc47358b134f4985722e0d190fada548c133472917187cdb527644e700547c52b28 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466471b4496207cea9199841fc64e1bb1b5b788be9d1689e4540867 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=79d1215e41ae753d5c8dafc474355e4b7af8ec2d84f13444f3d1c7bea75e53 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=216ecf739142ee4ce72573b4e79f765df31be2022377fee7e9847f558a6187 + +handshake=Noise_INpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541906307774eb6ae1a18c731b2af6d9bcf09b69e5b9b66678a3b968edb6550e7dc123f2506c770de516702097583503971cf56370e4abe94a9f67eda71c22f885de116aa378e1cd96eced +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846643ad2c9a96755f8efbbcf40b385fe808da55ab103c66dd8c1542 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=f18b76b773ad92a0551eaaccac2822ef7c89e2e4141b493494a5671432e538 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b500b236900edd4ce3a74e0f021fc0b93bb677a8a0417996474ad1b3ad40f8 + +handshake=Noise_IN_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846648988f7cb5d85b5c5c03e276b86fe50f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d4e08cc4a109b93413b9f2b93a90c3b52d328130346ae8a7a65693bbdfffb3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2bf0d845c35d0b63452e9477083d9c35feb7263cebf00828ce84fba88f94c0 + +handshake=Noise_INpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625405262b1f9b84cdb310908a65b2d6408f13ec9efef6a1b52c2bf0daaffe1e422032e60c283f594634358c6ade5821244600d8d2e6dea60137b4f10b074ba7193d +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b1e5ecbcc832e6ac1a8414797bb920cb +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7d8f33663563115c594ca28b2fe01e8dae1cf498b312ceb4c18fc55a005cc6 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=36f1d5c7339b870e822497f1a014c1032e3268d62ea5bc7f80264b2de3535d + +handshake=Noise_INpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c205846663809a031f5a191bd9323566dc3c824c7273fa31a5fc1d54a8e951aa6ec025aad0d8f9cb26a27d5d1176d9a994077aab03b577f2e8039e4366bc6245 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d663e6ac3d33e23ad323622c476fe906 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=79d1215e41ae753d5c8dafc474355e4b7af8ec2d84f13444f3d1c7bea75e53 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=216ecf739142ee4ce72573b4e79f765df31be2022377fee7e9847f558a6187 + +handshake=Noise_INpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541906307774eb6ae1a18c731b2af6d9bcf09b69e5b9b66678a3b968edb6550e7dfee517c34ceeba54fee005b95e94e05103161169f40b807a26d7d3bf013b7f85 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664813a5e72f6b66ec89e411840f84ba80 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=f18b76b773ad92a0551eaaccac2822ef7c89e2e4141b493494a5671432e538 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b500b236900edd4ce3a74e0f021fc0b93bb677a8a0417996474ad1b3ad40f8 + +handshake=Noise_IN_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466578e11ef9be6d82063107b23e9a7cdafd87a02d15059693b866a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d4e08cc4a109b93413b9f2b93a90c3b52d328130346ae8a7a65693bbdfffb3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2bf0d845c35d0b63452e9477083d9c35feb7263cebf00828ce84fba88f94c0 + +handshake=Noise_INpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625405262b1f9b84cdb310908a65b2d6408f13ec9efef6a1b52c2bf0daaffe1e422032e60c283f594634358c6ade582124467016ea492791838b92f08ea1ce07ac1c29aaca2ba2e6be8aae6f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466217778ef3116b94146df5f06a4a59dfcbb765ff9ffaf65d3063d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7d8f33663563115c594ca28b2fe01e8dae1cf498b312ceb4c18fc55a005cc6 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=36f1d5c7339b870e822497f1a014c1032e3268d62ea5bc7f80264b2de3535d + +handshake=Noise_INpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c205846663809a031f5a191bd9323566dc3c824c7273fa31a5fc1d54a8e951aa6ec025aad0d8f9cb26a27d5d1176d9a95722e0d190fada548c13cebafccf5db40ddec9c8ee4edbf85e68 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466471b4496207cea9199840fb7d1bf618aa15eb0b74b90a0a8f9b4 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=79d1215e41ae753d5c8dafc474355e4b7af8ec2d84f13444f3d1c7bea75e53 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=216ecf739142ee4ce72573b4e79f765df31be2022377fee7e9847f558a6187 + +handshake=Noise_INpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541906307774eb6ae1a18c731b2af6d9bcf09b69e5b9b66678a3b968edb6550e7dfee517c34ceeba54fee005b95e94e0511cf56370e4abe94a9f67f486bb56720c1832a61683a3ebde2eec +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846643ad2c9a96755f8efbbcab063bc3e701c9facb3668c1589ea2d6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=f18b76b773ad92a0551eaaccac2822ef7c89e2e4141b493494a5671432e538 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b500b236900edd4ce3a74e0f021fc0b93bb677a8a0417996474ad1b3ad40f8 + +handshake=Noise_XK_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543fba394be81d461ec599092e9a40c636 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a35be554752bb77f40ac980146ef9278 +msg_2_payload= +msg_2_ciphertext=5e88a8a22bc7df4d8b6c85eaa581a819ec04c6588a193d2af0de37da0e24a50f5b0d67595a3683f9866af793c510e046dc9c0208b821af4c16a9f2678739fc1e +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=e1b55532068a924fa7cd262612a53c9eb0b4925df7819a9afe61509d63a879 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=94b7b8c259658fd03b54749fdd35464a286a6ba9cc9ff76833f20736f632db + +handshake=Noise_XKpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254628f0972a8c6dffd9b1f6b0a9c692591 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846662111ca7ab008976bb43e298b4703b93 +msg_2_payload= +msg_2_ciphertext=b0582dab6c55505ee245bc3b96ea140a212c8fbc6d0c6a6dea3b66264af8080a9d84d415bacadb301ac578f87f03cc2a39d9f3a2d69b434c539916222b7571ba +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=b21379d73f20b8effdf93a82f86a09520c92cd743a4323b1f048fad80e3ccf +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=85a2892049d45dac297850412a71011489b13831bbc1eb3551361d1a81866b + +handshake=Noise_XKpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254084e3679207acaf00c8676cf14887de0 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663c5452c9722f395c25e4f50ed320d648 +msg_2_payload= +msg_2_ciphertext=5270bd250e9904a246463d7d975d9724fa0c1fca24e20f8cc19143e7f37ae1b6fdf66ce9da187377f6eac6601c773cc7a6e523730abc032a0739dffa836a2833 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=3e92cd13d2b9922ccfff54653579cb0e8153c3adbe0ef016ff62c30e5aec77 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=9c7f77109e64326d3c01369a3542137cfec0e8bb550fe4f16211a7d0d5aa47 + +handshake=Noise_XKpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625460572f2e213e1bab8056917df9f342a9 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e2cfb743b4c24761d3e753548ffcf885 +msg_2_payload= +msg_2_ciphertext=742c8b64404bd353aed4f94bd8608eaf78dc3be24690bf93956dac0021c8d510c830e3307d1325cfc6fe40abea2205adbc648ae8591fa6beb570b50ebf18dc30 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=55d51d54c345abe9038b8b5b1032052740bee5daacb8812810eed8e1086c4c +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=52f5cf6aa3f6c12c3d8333f70bfde158d17af6c68ab496010b6ac61d404a5c + +handshake=Noise_XKpsk3_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f3c24b47ca37d062ffa5a82d96a68807 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f7fa4fbea714e7bb8cde3e281568e80c +msg_2_payload= +msg_2_ciphertext=657cf68657783f22da2bc73c370cf967b4e5113479533ff00447e6e1e0d61c8ea86453b71ca934e88c911840807682451a674a5237f6a5c037d4500bdbbdf51b +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=a5bb42f69e02b04f540695c05ec8af9ba7f8075e540d9a4721a72b900dda50 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=57fe584b6806f892abc12e9876cb93f2dee7e798a2da2b40d18cedc51abde6 + +handshake=Noise_XK_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548a7b8f977e8c05a05432685828169a203a60e39b9f2ae22a38bc +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466816d6c440357f5acf5b0689176d7379fc88d59144d34dcc9cc43 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=5e88a8a22bc7df4d8b6c85eaa581a819ec04c6588a193d2af0de37da0e24a50fc2e1d713b3c03faace1207f0a7cbd91d23e7d0c62d67c1eea84bb3c94fe9c525d4f7b8eb287df3fa5000 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=e1b55532068a924fa7cd262612a53c9eb0b4925df7819a9afe61509d63a879 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=94b7b8c259658fd03b54749fdd35464a286a6ba9cc9ff76833f20736f632db + +handshake=Noise_XKpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625484c6d0554a6f76969dc0d53cda23f1a6a755b9966554422ea3d1 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ad94991fe04bd330625d6e16d5591e3c47d0b024feb6e4faffe5 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=b0582dab6c55505ee245bc3b96ea140a212c8fbc6d0c6a6dea3b66264af8080ae490f4575fb9dfc85eb6a5a6bd873cb77d8ce8c82106d98c8f5218537ffbe88be703fccb23407f75eb97 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=b21379d73f20b8effdf93a82f86a09520c92cd743a4323b1f048fad80e3ccf +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=85a2892049d45dac297850412a71011489b13831bbc1eb3551361d1a81866b + +handshake=Noise_XKpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c82ce3a8b803326d6ad5368ea48b1b880b3f85fb62587176c112 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466085d6eef93d49287bd6a6ae8bb1773d38bcd556e1cca019bfb56 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=5270bd250e9904a246463d7d975d9724fa0c1fca24e20f8cc19143e7f37ae1b63f620a0e7bbaab400c6aff6549b4fe530636c9f422fd45b76bcfd99fa4fe05ad57bc2af01e4b1378342b +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=3e92cd13d2b9922ccfff54653579cb0e8153c3adbe0ef016ff62c30e5aec77 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=9c7f77109e64326d3c01369a3542137cfec0e8bb550fe4f16211a7d0d5aa47 + +handshake=Noise_XKpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f03a092dcf31be305b9897ffb1f6edf78c2308b7592e5ede5f8c +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d0c7547b9c1200bbf993ceaf07ee3e0ba1d21990c63c685bc2a6 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=742c8b64404bd353aed4f94bd8608eaf78dc3be24690bf93956dac0021c8d510c2f90f4e9157a1fb23a07e4ab218fbd2c0a6193184866cc4aa968cc9423ef3ed3cc4d3ee747f6db3d699 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=55d51d54c345abe9038b8b5b1032052740bee5daacb8812810eed8e1086c4c +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=52f5cf6aa3f6c12c3d8333f70bfde158d17af6c68ab496010b6ac61d404a5c + +handshake=Noise_XKpsk3_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549275659638adc4f810a217d9688cebda3ee76c41146fa6168000 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fad2e1206a13940ab0a339bb718fb50563add7e0f42ad5af3df2 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=657cf68657783f22da2bc73c370cf967b4e5113479533ff00447e6e1e0d61c8eac532982ce7784fe5b9fae18ee9f925bfc243ca41c6ddf6483a9126ea991130f96ead988170ae534d021 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=a5bb42f69e02b04f540695c05ec8af9ba7f8075e540d9a4721a72b900dda50 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=57fe584b6806f892abc12e9876cb93f2dee7e798a2da2b40d18cedc51abde6 + +handshake=Noise_XK_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625494382079878f98f580c3b1cbb5aa1b3e +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669d6a740fa022b801a82f6d8f736a9221 +msg_2_payload= +msg_2_ciphertext=5e88a8a22bc7df4d8b6c85eaa581a819ec04c6588a193d2af0de37da0e24a50f3e9d35ee86621e9543a33614ab4c3cc9290c2266378883ed491d6b583fe98670 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=e1b55532068a924fa7cd262612a53c9eb0b4925df7819a9afe61509d63a879 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=94b7b8c259658fd03b54749fdd35464a286a6ba9cc9ff76833f20736f632db + +handshake=Noise_XKpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254eac55cae26f24fb5d8f6d6ecd3030fe6 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466071d80399439d99784391a3f08e6077c +msg_2_payload= +msg_2_ciphertext=b0582dab6c55505ee245bc3b96ea140a212c8fbc6d0c6a6dea3b66264af8080a7d55b3c0d87324d18eb0ee39b4ea01f13b6ad45ac612e2620433447bd81a2eaf +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=b21379d73f20b8effdf93a82f86a09520c92cd743a4323b1f048fad80e3ccf +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=85a2892049d45dac297850412a71011489b13831bbc1eb3551361d1a81866b + +handshake=Noise_XKpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544d0ac9cf6374b5c793b64b5a9ffc7804 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466085a04d90bcc1a7539025325baf625d7 +msg_2_payload= +msg_2_ciphertext=5270bd250e9904a246463d7d975d9724fa0c1fca24e20f8cc19143e7f37ae1b64eb9bef8ea1419bcd7af3d017cc79d9f05407aeb86089e683f4a54a6eedee93f +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=3e92cd13d2b9922ccfff54653579cb0e8153c3adbe0ef016ff62c30e5aec77 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=9c7f77109e64326d3c01369a3542137cfec0e8bb550fe4f16211a7d0d5aa47 + +handshake=Noise_XKpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f5919b8e1ea6d8c820f3b1c6caf4b63f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f99ad158af497a66373342a7d9d6a334 +msg_2_payload= +msg_2_ciphertext=742c8b64404bd353aed4f94bd8608eaf78dc3be24690bf93956dac0021c8d510e1cba1d6ecb7d9b857bd55d75bf1dc283feda9825d97b4676885a73def70af6c +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=55d51d54c345abe9038b8b5b1032052740bee5daacb8812810eed8e1086c4c +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=52f5cf6aa3f6c12c3d8333f70bfde158d17af6c68ab496010b6ac61d404a5c + +handshake=Noise_XKpsk3_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542519fd1f858e3a27f27f361b9dd33448 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f1fee192dcc5bf08085d8b1630667a75 +msg_2_payload= +msg_2_ciphertext=657cf68657783f22da2bc73c370cf967b4e5113479533ff00447e6e1e0d61c8e90638cf47a9917c2d26d5e142f43e865b9923804b74a9431395b925c3692cb24 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=a5bb42f69e02b04f540695c05ec8af9ba7f8075e540d9a4721a72b900dda50 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=57fe584b6806f892abc12e9876cb93f2dee7e798a2da2b40d18cedc51abde6 + +handshake=Noise_XK_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548a7b8f977e8c05a05432384387977b5f322fefd1d838f7dbfb34 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466816d6c440357f5acf5b028b67758e280315cf45f994e4fe6554c +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=5e88a8a22bc7df4d8b6c85eaa581a819ec04c6588a193d2af0de37da0e24a50f8511d619d0aa5bddb2055dcab48f6b9023e7d0c62d67c1eea84b026b254bb79a8146b32f2f46c52b1e77 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=e1b55532068a924fa7cd262612a53c9eb0b4925df7819a9afe61509d63a879 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=94b7b8c259658fd03b54749fdd35464a286a6ba9cc9ff76833f20736f632db + +handshake=Noise_XKpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625484c6d0554a6f76969dc069ea2dc2c034193fde8cac677ff7ae34 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ad94991fe04bd330625dff6616b01f49f3ed5e0a2473ead205e3 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=b0582dab6c55505ee245bc3b96ea140a212c8fbc6d0c6a6dea3b66264af8080ac968116f28605c3eacb50d76624af7d07d8ce8c82106d98c8f52ba9db10cdb3d6865cd0b1c0e8eddec9d +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=b21379d73f20b8effdf93a82f86a09520c92cd743a4323b1f048fad80e3ccf +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=85a2892049d45dac297850412a71011489b13831bbc1eb3551361d1a81866b + +handshake=Noise_XKpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c82ce3a8b803326d6ad594b0b2bf72cd7c4995188e472049026b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466085d6eef93d49287bd6a7c369b1904dcfdc7c6e7d9357d9cfb86 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=5270bd250e9904a246463d7d975d9724fa0c1fca24e20f8cc19143e7f37ae1b6362e57e3ca4cdc1a1dffa9673c33c5540636c9f422fd45b76bcf9d68cf255ebeb4a0dfdea896da2507aa +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=3e92cd13d2b9922ccfff54653579cb0e8153c3adbe0ef016ff62c30e5aec77 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=9c7f77109e64326d3c01369a3542137cfec0e8bb550fe4f16211a7d0d5aa47 + +handshake=Noise_XKpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f03a092dcf31be305b98d6673fc3049849936cf71b2ba8ecd768 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d0c7547b9c1200bbf9930021049e741e2109d9d17b27430a657f +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=742c8b64404bd353aed4f94bd8608eaf78dc3be24690bf93956dac0021c8d51068f966046fa835ceffab9f61156a0cb3c0a6193184866cc4aa96ee286092d40b1c200cb6a721ab5d5239 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=55d51d54c345abe9038b8b5b1032052740bee5daacb8812810eed8e1086c4c +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=52f5cf6aa3f6c12c3d8333f70bfde158d17af6c68ab496010b6ac61d404a5c + +handshake=Noise_XKpsk3_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549275659638adc4f810a22ecfa8d82eb64d6ba6dafa2ec5b48a85 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fad2e1206a13940ab0a3de71ac02f268e91fecdff42dc0f28930 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=657cf68657783f22da2bc73c370cf967b4e5113479533ff00447e6e1e0d61c8e5b2baf8950ce6c43c591dc1fc413e067fc243ca41c6ddf6483a965a1e55a1e106bac94c5f89d82405bed +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=a5bb42f69e02b04f540695c05ec8af9ba7f8075e540d9a4721a72b900dda50 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=57fe584b6806f892abc12e9876cb93f2dee7e798a2da2b40d18cedc51abde6 + +handshake=Noise_IK_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e4c987aee1def7f4451e94e52f2edcf3f88abd36f9a83613afec5cfba3d156ca3241a67c80714c7daf3a9695237fa6a4516a56c98ff0cb2136a1ecfa5987db0c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666e25d3e0f17564403749cb3472eec222 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=410d4ee9df61c268dddeee01e9035a81d099b7560f1d565624cddb19ccdea7 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=29c70c4ff6224a7472bb3ef9a786470ec1982e798ba7f5b5c201e705652893 + +handshake=Noise_IKpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546b6d56750cabed6b4793bbd0a78c250ac5e2c53aa8df8fe0dbf15189011623c31add3ba342c9a3fb5240aa60aed3fd2994802c34a962c15dcd90edcb5102cf74 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669342a3df6cec558ad000387398eccccc +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=76071f1a7fb9d854f0e0395d7ad43deedbfbaa09b6ea187f565f6c009021ba +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=49bde06081a37ef1bdf6670df3b2a2c3879505befdf77187d44f8f125f2d2e + +handshake=Noise_IKpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625442c6abbd4f501864a318f49084d6edc465d6025bf9bfa58f08855e3924c965535125a8f083041204dad6d4fdbdf4c0a23088b534967aea9b6b9ec67ff60dee46 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663a536a2718f2256fb71d2b3e3e5ba163 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b723cbfbb75b3039c733be62919a5dc997419469b0a4efd0d12cb1937fb5df +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=91532e9187412d8c91f8bf3064080b68d73bd677ed63ddfb60d7ac0ed6cc04 + +handshake=Noise_IKpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254575510fd1ee7b381c333b77018908687c0a9aea3af69511201e97caa4a743e105d069f494432d8859fc610b81fed1f5e249dac1a2217ff72505457f145fda872 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466cdbfa3b6cd68bdbc191a6441920da40d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c0a06e03b33924f95bede35f78563a6ec56fa623cc46cf09f55fc08ed8011d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d1f5f192af4b598d2e29afd9105617216708839d508f2073784a18a6a6fa6a + +handshake=Noise_IK_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e4c987aee1def7f4451e94e52f2edcf3f88abd36f9a83613afec5cfba3d156ca3241a67c80714c7daf3a9695237fa6a466154654a805c143d8a92a12ba607ce52fa4921f215ec4b41789 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b54fb4d11ab95fa5013849718dfcbfb57b0aa6d423cc6b1e5c74 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=410d4ee9df61c268dddeee01e9035a81d099b7560f1d565624cddb19ccdea7 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=29c70c4ff6224a7472bb3ef9a786470ec1982e798ba7f5b5c201e705652893 + +handshake=Noise_IKpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546b6d56750cabed6b4793bbd0a78c250ac5e2c53aa8df8fe0dbf15189011623c31add3ba342c9a3fb5240aa60aed3fd29aab66f9942bb0346812f1f380a6216514fc7f1ee5c4e064bbd26 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846672547a8e33283d797b8c1a6219c6904161528f9da68ac5ab35db +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=76071f1a7fb9d854f0e0395d7ad43deedbfbaa09b6ea187f565f6c009021ba +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=49bde06081a37ef1bdf6670df3b2a2c3879505befdf77187d44f8f125f2d2e + +handshake=Noise_IKpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625442c6abbd4f501864a318f49084d6edc465d6025bf9bfa58f08855e3924c965535125a8f083041204dad6d4fdbdf4c0a27282a568a006a2474d8305595ab4f5cf185f555b3369608e9f39 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846650bf4a2aba8abe046d9ddb3d73ca2c8754fea6c5fc5af7f07538 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b723cbfbb75b3039c733be62919a5dc997419469b0a4efd0d12cb1937fb5df +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=91532e9187412d8c91f8bf3064080b68d73bd677ed63ddfb60d7ac0ed6cc04 + +handshake=Noise_IKpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254575510fd1ee7b381c333b77018908687c0a9aea3af69511201e97caa4a743e105d069f494432d8859fc610b81fed1f5efc5c147038b683952ec2099209d2146ad862d95293ec3c38175d +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d9312e9888b0b56ce23cb101090c86a3a7f5e0f4df15ee88b3ee +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c0a06e03b33924f95bede35f78563a6ec56fa623cc46cf09f55fc08ed8011d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d1f5f192af4b598d2e29afd9105617216708839d508f2073784a18a6a6fa6a + +handshake=Noise_IK_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e4c987aee1def7f4451e94e52f2edcf3f88abd36f9a83613afec5cfba3d156ca23c0cff39fe89439ce3a8aa083ba16fb93ea47b2f5e9b5b64b91f53e6c3cdf12 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846604e05abd3e92d415e1b7c232d6e91964 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=410d4ee9df61c268dddeee01e9035a81d099b7560f1d565624cddb19ccdea7 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=29c70c4ff6224a7472bb3ef9a786470ec1982e798ba7f5b5c201e705652893 + +handshake=Noise_IKpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546b6d56750cabed6b4793bbd0a78c250ac5e2c53aa8df8fe0dbf15189011623c31c03513c168584cbece10798ab45fc2ac41aacfc87f02840a8e1df005b094a9b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466642b389be08a294dcb65f508382fac63 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=76071f1a7fb9d854f0e0395d7ad43deedbfbaa09b6ea187f565f6c009021ba +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=49bde06081a37ef1bdf6670df3b2a2c3879505befdf77187d44f8f125f2d2e + +handshake=Noise_IKpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625442c6abbd4f501864a318f49084d6edc465d6025bf9bfa58f08855e3924c965531dcb0438a43fefd352e9e6a79b98bd1b2c476b239cbe1cbcbbb5ddfa78064e40 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846692389a661fad3c014072134790eeeff6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b723cbfbb75b3039c733be62919a5dc997419469b0a4efd0d12cb1937fb5df +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=91532e9187412d8c91f8bf3064080b68d73bd677ed63ddfb60d7ac0ed6cc04 + +handshake=Noise_IKpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254575510fd1ee7b381c333b77018908687c0a9aea3af69511201e97caa4a743e103248ca4db0040cfd5fdc65d4dcf88051c39cb96747255580863f7a34c7bc56f7 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ed376bd9b78fd69ba3b5a38d84c93fd1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c0a06e03b33924f95bede35f78563a6ec56fa623cc46cf09f55fc08ed8011d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d1f5f192af4b598d2e29afd9105617216708839d508f2073784a18a6a6fa6a + +handshake=Noise_IK_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e4c987aee1def7f4451e94e52f2edcf3f88abd36f9a83613afec5cfba3d156ca23c0cff39fe89439ce3a8aa083ba16fb66154654a805c143d8a926195b37d8d08a4fcdefff201de9f069 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b54fb4d11ab95fa50138358319a81593d62664ca0ad72f63c8d5 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=410d4ee9df61c268dddeee01e9035a81d099b7560f1d565624cddb19ccdea7 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=29c70c4ff6224a7472bb3ef9a786470ec1982e798ba7f5b5c201e705652893 + +handshake=Noise_IKpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546b6d56750cabed6b4793bbd0a78c250ac5e2c53aa8df8fe0dbf15189011623c31c03513c168584cbece10798ab45fc2aaab66f9942bb0346812f14630b559db512874d6eca353bdb7135 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846672547a8e33283d797b8c646ae93be9f51723c08fc117b388c36c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=76071f1a7fb9d854f0e0395d7ad43deedbfbaa09b6ea187f565f6c009021ba +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=49bde06081a37ef1bdf6670df3b2a2c3879505befdf77187d44f8f125f2d2e + +handshake=Noise_IKpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625442c6abbd4f501864a318f49084d6edc465d6025bf9bfa58f08855e3924c965531dcb0438a43fefd352e9e6a79b98bd1b7282a568a006a2474d83f1e95944af542ae2a5c246afa7b1242a +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846650bf4a2aba8abe046d9d847c49963b2b21211eb16f5bb7b42cf9 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b723cbfbb75b3039c733be62919a5dc997419469b0a4efd0d12cb1937fb5df +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=91532e9187412d8c91f8bf3064080b68d73bd677ed63ddfb60d7ac0ed6cc04 + +handshake=Noise_IKpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254575510fd1ee7b381c333b77018908687c0a9aea3af69511201e97caa4a743e103248ca4db0040cfd5fdc65d4dcf88051fc5c147038b683952ec2a1de96b1f5804dc4dd69ce7bbe8de7ab +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d9312e9888b0b56ce23cedf9537317b8b0121d90405c3e5e89df +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c0a06e03b33924f95bede35f78563a6ec56fa623cc46cf09f55fc08ed8011d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d1f5f192af4b598d2e29afd9105617216708839d508f2073784a18a6a6fa6a + +handshake=Noise_XX_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466881a9849f98286c79700c48c40e6667ce14ce8baabdf27b51fb80d248c2d56a65be777dc2ad2438d794410a91e1542a138b33b73a5ff808ecff2e90952defca9 +msg_2_payload= +msg_2_ciphertext=a0c7c991f077df03c26762bb80c9dc4c830c71a012dc1a002363a684c659a3487c8a7c790075c7a5ac8de6fe1ccc7363d39bea6035a91323f511f662ee40d9de +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=d52095f5c41973904a84746d988f0e424ec0832c3257cb4675eab76c4c197f +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=86e1a5d80c71d13bde2e6b2559ecc953b97939de528e1ae166a64540265918 + +handshake=Noise_XXpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625494973748946c53f4c3f0db3c62e50099 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466289a21b67ebcd303874b2b58d5ad4c6aa597823a9fdb77f2a5206bd199cefd0afa1402a0672f9df8bbbe4c6dc9e40fee220c5650cf918735768cbb4d0304bace +msg_2_payload= +msg_2_ciphertext=72e8d243ded18bf346c63e43042561f1f7eea7d61e499ba2e51f6819a5c556ce2a5e04c824b6c100e0a798bba881e39592214a04d798571575590d2490a76084 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=c8c6894b90eb696c12292043bbb40f9a328aa548a3d0a3f71ef025a9b504f2 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=fb30fc91a2a3fe04b50793a90835418f73173af49782a9655469ef389b0f8b + +handshake=Noise_XXpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625477ffea436edf0c2502c18ab6c5ea925c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661bb41bc44a3c6bf571d96d127cc540711c9d29c6b5225a7ca69f1a8eba6ba143c76b96f3a32b34d0a54da910155fb59ca7e36e03928fb6b456c7a0a6d8cd6bcc +msg_2_payload= +msg_2_ciphertext=68bbb40ac1a9fa5f73a62c7619412ceeef08851e539edae876d22a77589b714b29fc73ebc63fd53703760dfb5b113f810304b5bb64f002f0b9c005f5109bf09b +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=b80aad9eee02c2105326ce8b8742f79c648df188075c60ce036070737da384 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=a90ba8d19bd5fcac4dab5203f7ad6311a0b2ba489b05dbe7718d06a0fbc001 + +handshake=Noise_XXpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b142f929c44494d1a0458dcce84eb647 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667e309552812f7796950972a8683660efcd19841b13a0f8b4e73ff2283d4240da0f3bc5a07c22a22b596eff3de2e5f32ffd0a5573ecd32dddd5996bfa5dcf6cb5 +msg_2_payload= +msg_2_ciphertext=42f39db26ff8d341399e35badb4d01392349af4a4d9ccc8fa34dedf38bb22fa0dc88a7767b9a4fa2ed8c03164ddad3762f658cd9af264c06ba838caee5b5924c +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=b5b7e08b5f8473fcfb9ea1d921aca681d220045c2c99c052067cab897f57a5 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=68f4d64bdc52e4db8618374df2693239e2abfb769adce30ba36709ce94b09d + +handshake=Noise_XXpsk3_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548eb7890b9ae7c832d44eb674f849b235 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663a5c4a9bed2e487576db434ac38ce4e27e65e3aa233acd74dd5ff515a90ce1ed94189db4ce2e6ab986fa649ad0ce12cc986cba0a6f543f5781327884b9160eec +msg_2_payload= +msg_2_ciphertext=5c234f66a0c1f8603e407c1aa7d44a6121e170b15a28d903e58fbe52d03111690e20f382d3b0a221cadcb887ec014029a54bcf1904980c34b4a3b23194ca4860 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=15d59f30f156bfa9065631ed3cb2342e82fb2cf850e0ed2a37b5d21caacce3 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=252a53c772510b5322ed3ff20b30d1e3d2d370e6684bf640201ad04b613b02 + +handshake=Noise_XX_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466881a9849f98286c79700c48c40e6667ce14ce8baabdf27b51fb80d248c2d56a6d35f521ebb5ab02d7db36ad16024c4f73cf130e8e1cb1b62a54aae4524ddefdb92d2eb92b80c99d9dff8 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=a0c7c991f077df03c26762bb80c9dc4c830c71a012dc1a002363a684c659a3483672cd61275f36c652ad0226320581534b172fee0f1c41b654c5884d78edc65fda9770c1ba6e96ffd7ff +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=d52095f5c41973904a84746d988f0e424ec0832c3257cb4675eab76c4c197f +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=86e1a5d80c71d13bde2e6b2559ecc953b97939de528e1ae166a64540265918 + +handshake=Noise_XXpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548481c4600f085d1c599bb7c9826aa10f1b0d6ff4167bb1824989 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466289a21b67ebcd303874b2b58d5ad4c6aa597823a9fdb77f2a5206bd199cefd0ab2d2062f3146f66ddc482f2f08dcae5c42dbd90643a806d4efd3565e01a0441cd9d8711b2e53f6328308 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=72e8d243ded18bf346c63e43042561f1f7eea7d61e499ba2e51f6819a5c556ce815d16cb6e27ec20aedeedcba498f2be70fa8af7396bc363498528a37b435784f4802d9ffa89f8f4149a +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=c8c6894b90eb696c12292043bbb40f9a328aa548a3d0a3f71ef025a9b504f2 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=fb30fc91a2a3fe04b50793a90835418f73173af49782a9655469ef389b0f8b + +handshake=Noise_XXpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542c0b0e441f5fa603216153e4aec070f29385fdeda4a5a812f1ba +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661bb41bc44a3c6bf571d96d127cc540711c9d29c6b5225a7ca69f1a8eba6ba1433eb446aea3823040decee92311318e59e89c2ba5f9c3bb8bae87f18ad6a2cbc3385f74e2908927bfa971 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=68bbb40ac1a9fa5f73a62c7619412ceeef08851e539edae876d22a77589b714b37b451c385c4004eeb865c67ea744f95bd6dddfc711abc8dd6d43636752808a6aa598904665ea8adc38c +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=b80aad9eee02c2105326ce8b8742f79c648df188075c60ce036070737da384 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=a90ba8d19bd5fcac4dab5203f7ad6311a0b2ba489b05dbe7718d06a0fbc001 + +handshake=Noise_XXpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254aaf69bdfb1097bc7ef7434c8f6b361d3c56765dfc22ff727fda7 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667e309552812f7796950972a8683660efcd19841b13a0f8b4e73ff2283d4240da30a2370fbbb64cc5290c58f4b1384bfb236d208257a60fdea450b3fa9a436f78914a07c1556ed6ee1626 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=42f39db26ff8d341399e35badb4d01392349af4a4d9ccc8fa34dedf38bb22fa045dab2ec12ba7a2c3648f1f3b838659f7ff333033cc7d08e83621a3c06ba34a810cb6f196149579160b1 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=b5b7e08b5f8473fcfb9ea1d921aca681d220045c2c99c052067cab897f57a5 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=68f4d64bdc52e4db8618374df2693239e2abfb769adce30ba36709ce94b09d + +handshake=Noise_XXpsk3_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a7c911d94ce4484b53ba5071c24ac9bc5450ae8c596d0f81b28f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663a5c4a9bed2e487576db434ac38ce4e27e65e3aa233acd74dd5ff515a90ce1ed7c9313a3a276333eec17fbd506ae3517e58f3e80b076f721352751eb6389ba9c629325042ede03308001 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=5c234f66a0c1f8603e407c1aa7d44a6121e170b15a28d903e58fbe52d03111691892f24cc3ab41fc4cc57e270fc4dc61d449cc67794d27fa94cbafc9d3144cbda3f0099a09043f63a0df +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=15d59f30f156bfa9065631ed3cb2342e82fb2cf850e0ed2a37b5d21caacce3 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=252a53c772510b5322ed3ff20b30d1e3d2d370e6684bf640201ad04b613b02 + +handshake=Noise_XX_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466881a9849f98286c79700c48c40e6667ce14ce8baabdf27b51fb80d248c2d56a603c1a5efe2c15f405d2aff0296f0dbcf6069f8aca95b8c7a930fb910d8032f87 +msg_2_payload= +msg_2_ciphertext=a0c7c991f077df03c26762bb80c9dc4c830c71a012dc1a002363a684c659a348ee08e3a592efd47624fd916ad05e0240000f553c46da776c0323202e72efebf2 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=d52095f5c41973904a84746d988f0e424ec0832c3257cb4675eab76c4c197f +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=86e1a5d80c71d13bde2e6b2559ecc953b97939de528e1ae166a64540265918 + +handshake=Noise_XXpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549b618e6f51bc8446b0ddfcbec9b3734a +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466289a21b67ebcd303874b2b58d5ad4c6aa597823a9fdb77f2a5206bd199cefd0ac4e0efeeeae405223369ce0be060b3aaf167673c34a317c406380ae734fe4b1f +msg_2_payload= +msg_2_ciphertext=72e8d243ded18bf346c63e43042561f1f7eea7d61e499ba2e51f6819a5c556ce6ffa24ddbaa0238ab82e992c850c29e8b51d12483c258a10b9bb026c8a801247 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=c8c6894b90eb696c12292043bbb40f9a328aa548a3d0a3f71ef025a9b504f2 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=fb30fc91a2a3fe04b50793a90835418f73173af49782a9655469ef389b0f8b + +handshake=Noise_XXpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ab765d8d10260f702bba6591780b98dc +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661bb41bc44a3c6bf571d96d127cc540711c9d29c6b5225a7ca69f1a8eba6ba143cd1aca7fb41b0ddd8031a718b144492ce2f62f7d6ef980460e65216c20f9c7e7 +msg_2_payload= +msg_2_ciphertext=68bbb40ac1a9fa5f73a62c7619412ceeef08851e539edae876d22a77589b714b82eccf7bc87129c069f11a8cc539a147bc1efeccfa736f370deef88a0acc8784 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=b80aad9eee02c2105326ce8b8742f79c648df188075c60ce036070737da384 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=a90ba8d19bd5fcac4dab5203f7ad6311a0b2ba489b05dbe7718d06a0fbc001 + +handshake=Noise_XXpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ff7a4d153ade1ea6e96c452a20a8e3bc +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667e309552812f7796950972a8683660efcd19841b13a0f8b4e73ff2283d4240dac7bb45f67bb45b70fb4d2ebb27cc04b6ee40c5754c3a4f2692e05c045968574b +msg_2_payload= +msg_2_ciphertext=42f39db26ff8d341399e35badb4d01392349af4a4d9ccc8fa34dedf38bb22fa05e4d9f9a35ea24dccc479fbc9e2a65efcb4872b86cd77d8422fdfa7ee43a052e +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=b5b7e08b5f8473fcfb9ea1d921aca681d220045c2c99c052067cab897f57a5 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=68f4d64bdc52e4db8618374df2693239e2abfb769adce30ba36709ce94b09d + +handshake=Noise_XXpsk3_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625453a789a04c5ca870fc4e845827e25976 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663a5c4a9bed2e487576db434ac38ce4e27e65e3aa233acd74dd5ff515a90ce1ed33f7a9ba95b680aabfdcd6faf180864ccfa6e32cf5dd2015069240ad2bde63dc +msg_2_payload= +msg_2_ciphertext=5c234f66a0c1f8603e407c1aa7d44a6121e170b15a28d903e58fbe52d031116938bd08876647a8f9b53897ba3b993bc00824f3e9ad26f887175203ddd58e400e +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=15d59f30f156bfa9065631ed3cb2342e82fb2cf850e0ed2a37b5d21caacce3 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=252a53c772510b5322ed3ff20b30d1e3d2d370e6684bf640201ad04b613b02 + +handshake=Noise_XX_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466881a9849f98286c79700c48c40e6667ce14ce8baabdf27b51fb80d248c2d56a6760edec0b63677b285a157e0c68bd18f3cf130e8e1cb1b62a54aec0aa715200fa9e0095e353bd5cc6c99 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=a0c7c991f077df03c26762bb80c9dc4c830c71a012dc1a002363a684c659a348806b2304b1b50e1273f35f0e9c1fb86b4b172fee0f1c41b654c5ea91e10467f8911bcd6ff4fd0df18794 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=d52095f5c41973904a84746d988f0e424ec0832c3257cb4675eab76c4c197f +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=86e1a5d80c71d13bde2e6b2559ecc953b97939de528e1ae166a64540265918 + +handshake=Noise_XXpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548481c4600f085d1c599b05cb00d2513b8084b6169bfc5bb7c585 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466289a21b67ebcd303874b2b58d5ad4c6aa597823a9fdb77f2a5206bd199cefd0a6b7ae867af93fabe3076dd8e7e0eb2d342dbd90643a806d4efd3cd2e89fa996d73ad84120ea05d413ad7 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=72e8d243ded18bf346c63e43042561f1f7eea7d61e499ba2e51f6819a5c556ced607e93b2dfaa12a116a8ed4abdfde1370fa8af7396bc36349858ddaaf9086bf4bbc1bbaf725de27b117 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=c8c6894b90eb696c12292043bbb40f9a328aa548a3d0a3f71ef025a9b504f2 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=fb30fc91a2a3fe04b50793a90835418f73173af49782a9655469ef389b0f8b + +handshake=Noise_XXpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542c0b0e441f5fa60321617cd5aaa5126df6112f9fd7d4a4060d0f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661bb41bc44a3c6bf571d96d127cc540711c9d29c6b5225a7ca69f1a8eba6ba143c81802b4196029f4dd49cda7a9667171e89c2ba5f9c3bb8bae87d62743fbd6c41b29b90e28abe5c53789 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=68bbb40ac1a9fa5f73a62c7619412ceeef08851e539edae876d22a77589b714b64215da6697d5de8b5859e3a18fa350cbd6dddfc711abc8dd6d44805dd2117144b1abdcbfa863f2724c6 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=b80aad9eee02c2105326ce8b8742f79c648df188075c60ce036070737da384 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=a90ba8d19bd5fcac4dab5203f7ad6311a0b2ba489b05dbe7718d06a0fbc001 + +handshake=Noise_XXpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254aaf69bdfb1097bc7ef744544458a0e3b93b54da858c0219c4f9c +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667e309552812f7796950972a8683660efcd19841b13a0f8b4e73ff2283d4240da4aad79ffed55b9f1d7e9257f49e341c6236d208257a60fdea4509d21ea64a04dae01a87b8fc3c7c564aa +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=42f39db26ff8d341399e35badb4d01392349af4a4d9ccc8fa34dedf38bb22fa06e9d56dd6bee77cbb228ac33eac073e67ff333033cc7d08e836232bfc71b12fed59ee9c98d159775d03e +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=b5b7e08b5f8473fcfb9ea1d921aca681d220045c2c99c052067cab897f57a5 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=68f4d64bdc52e4db8618374df2693239e2abfb769adce30ba36709ce94b09d + +handshake=Noise_XXpsk3_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a7c911d94ce4484b53ba1d3eb5d88b66cf8083a3af2f7cbe4ef7 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663a5c4a9bed2e487576db434ac38ce4e27e65e3aa233acd74dd5ff515a90ce1edb208e022f907532a068c7498e0aaea01e58f3e80b076f721352785c23cf88eb4fff0dce143e9eea6735b +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=5c234f66a0c1f8603e407c1aa7d44a6121e170b15a28d903e58fbe52d031116999fbc2a23fe6dd1a2e8347383b1add8bd449cc67794d27fa94cb501bb6b0dcf7e6704b3f454f28b7ca74 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=15d59f30f156bfa9065631ed3cb2342e82fb2cf850e0ed2a37b5d21caacce3 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=252a53c772510b5322ed3ff20b30d1e3d2d370e6684bf640201ad04b613b02 + +handshake=Noise_IX_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f1ce2a834dd79601d96e93cd87f9cb5ab910a94dc1c3aff65cc8a8bbfaa3f92d5f27af354133ca719324555c65ffd2c1d2e472871b0412ac82c4816c798656cc +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=9466b89d06e6480bd641be5427af829d10cb3587147334a8cb22d12be0a8c0 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=988653bd8c786f07f5fd3978d4b4c2ef5fcc54e922bdc51a3bfebf88775773 + +handshake=Noise_IXpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e17609d47e41aefd58600f2429a4079e30bc7c7a54960092f478e3a8b2ac897e5d02f331ca4f071810c4400747db69f287bb7bd2613b9bb9696f1d0332ffb49f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665b8c37f4b30ec0d0e7bd2c2df58f36c5c07cf55d88f33c1f25e4a7028d4ebf27e6499b388d97612d0d8e3d843613fcc10c85952bdb9f6ff4e6224a6673acf072 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d897592021d2ac4f4d5806105f48371c29282a6a72ec4f5774248ffa172dab +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=53c1f9f52e81ed46781adf8ea6bdd05c62b6e4f504cea15bacb669e4c41cde + +handshake=Noise_IXpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e0e42ae7efaf198ba4628458bbd2824d836e24f1c558674ce8a6718178a8df958bff6c92b1f83c27b67e9c635956e1e37e2949990529f155b14bbd460b2c8207 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846664ad11b977ffd27f6732871a81fdea7702e2867e4953a6268ef1ac334632de746ac9811a6548b94151edf998a1c6f8a42f28cc714bc91e0baf43948a61acaf54 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4933a12a52fcc1e5088e9cc6811d542e3a8bafd64b821795fed855c8c07d98 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=fb9d7a40d84a9f6e1cbf0a74b327d0ce75b191ad37cb6a333730e196a2b95d + +handshake=Noise_IXpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547ef2ddaa7167ce00a9dae6705805e8745f6dcbfc15a0fdb870a2a1d5a2248ccb625ad8a5a599f93caf0cb7c9108cb22aa3d483270bc7b0049b0a04a352df3999 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846642fbf7969708ccb5848f5e2c10ad358337b3581e939885f51562ea7973968931934c8bb5c7a2fe76a9afff12ef17bf773abfb17d03ba3f70b59672de1948cda8 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7ccfa4fa03625064a116414a6ee0409c6d6c0f5398fb68aef65e271d8efad9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=571d9e1c4ff1f12c8cfbdfecb1d040d0dc86a41ab6efff8af515db514a2120 + +handshake=Noise_IX_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f1ce2a834dd79601d96e93cd87f9cb5ab910a94dc1c3aff65cc8a8bbfaa3f92d13220a1c98e2da8ff11520cdaf69c8edb270e4f47968b021af7801dd1a7ea41817d4107a6784b31d7a25 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=9466b89d06e6480bd641be5427af829d10cb3587147334a8cb22d12be0a8c0 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=988653bd8c786f07f5fd3978d4b4c2ef5fcc54e922bdc51a3bfebf88775773 + +handshake=Noise_IXpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e17609d47e41aefd58600f2429a4079e30bc7c7a54960092f478e3a8b2ac897e5d02f331ca4f071810c4400747db69f2a960f5fe61a3d4eb096bda1618b89957324fa42142a4479e58d8 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665b8c37f4b30ec0d0e7bd2c2df58f36c5c07cf55d88f33c1f25e4a7028d4ebf27d47ef437c44564d6b9824c813474b23c75ec7a42f32f740ddeb7cb029e46da19400b0548da6fa9d33040 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d897592021d2ac4f4d5806105f48371c29282a6a72ec4f5774248ffa172dab +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=53c1f9f52e81ed46781adf8ea6bdd05c62b6e4f504cea15bacb669e4c41cde + +handshake=Noise_IXpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e0e42ae7efaf198ba4628458bbd2824d836e24f1c558674ce8a6718178a8df958bff6c92b1f83c27b67e9c635956e1e3ea0ae732463351778665fb6c549220bda51ca4dab499127b2e90 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846664ad11b977ffd27f6732871a81fdea7702e2867e4953a6268ef1ac334632de742025999d290bfb83d5e00b52aeca7dcd506a082856b65911e0cc85a7d923d2285550161acb482e4ee0d1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4933a12a52fcc1e5088e9cc6811d542e3a8bafd64b821795fed855c8c07d98 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=fb9d7a40d84a9f6e1cbf0a74b327d0ce75b191ad37cb6a333730e196a2b95d + +handshake=Noise_IXpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547ef2ddaa7167ce00a9dae6705805e8745f6dcbfc15a0fdb870a2a1d5a2248ccb625ad8a5a599f93caf0cb7c9108cb22ac70f73b4d75fe9d0d019cab3ef8980a988842f9351e17a45d19b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846642fbf7969708ccb5848f5e2c10ad358337b3581e939885f51562ea797396893193f4a2cd2f7319f95f91545a426303b6f353dc9027ccba95e44993f61a51cf71b82a4af7d8f51471419f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7ccfa4fa03625064a116414a6ee0409c6d6c0f5398fb68aef65e271d8efad9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=571d9e1c4ff1f12c8cfbdfecb1d040d0dc86a41ab6efff8af515db514a2120 + +handshake=Noise_IX_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f1ce2a834dd79601d96e93cd87f9cb5ab910a94dc1c3aff65cc8a8bbfaa3f92d3ee79db4b8ef12dff465ece323fd782781b410bdbe128fac6ed4aafa2e5d1036 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=9466b89d06e6480bd641be5427af829d10cb3587147334a8cb22d12be0a8c0 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=988653bd8c786f07f5fd3978d4b4c2ef5fcc54e922bdc51a3bfebf88775773 + +handshake=Noise_IXpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e17609d47e41aefd58600f2429a4079e30bc7c7a54960092f478e3a8b2ac897e0f793c7eca1b142371f5c7adcd39ef2d85d2cc45261b4c844d26a700b8080a71 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665b8c37f4b30ec0d0e7bd2c2df58f36c5c07cf55d88f33c1f25e4a7028d4ebf27f63b0c7c9fc405892f9a45dbb3136db02e186f41f5852fcb61148c13c2faaf05 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d897592021d2ac4f4d5806105f48371c29282a6a72ec4f5774248ffa172dab +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=53c1f9f52e81ed46781adf8ea6bdd05c62b6e4f504cea15bacb669e4c41cde + +handshake=Noise_IXpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e0e42ae7efaf198ba4628458bbd2824d836e24f1c558674ce8a6718178a8df95a92bf930313b0c166e327b6df9e230fd99f3adef07e10e98d8a6cc5cfcdcefd2 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846664ad11b977ffd27f6732871a81fdea7702e2867e4953a6268ef1ac334632de74f47e0a7d1f82839c24edf89e23718f37aa90feb7e4b0172a8c7efff3c9950443 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4933a12a52fcc1e5088e9cc6811d542e3a8bafd64b821795fed855c8c07d98 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=fb9d7a40d84a9f6e1cbf0a74b327d0ce75b191ad37cb6a333730e196a2b95d + +handshake=Noise_IXpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547ef2ddaa7167ce00a9dae6705805e8745f6dcbfc15a0fdb870a2a1d5a2248ccb39325f84a4fef594c2b2505ed80a82f52d378b7ebd94fca5ed054c5d4b25e62f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846642fbf7969708ccb5848f5e2c10ad358337b3581e939885f51562ea7973968931420324746210e7aba862fcae3756f99d879260a2abc0e93d159e764c3945cf3b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7ccfa4fa03625064a116414a6ee0409c6d6c0f5398fb68aef65e271d8efad9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=571d9e1c4ff1f12c8cfbdfecb1d040d0dc86a41ab6efff8af515db514a2120 + +handshake=Noise_IX_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f1ce2a834dd79601d96e93cd87f9cb5ab910a94dc1c3aff65cc8a8bbfaa3f92d75c33e2c9a58e7a754fa198b475f15a1b270e4f47968b021af78afd7c7783d1c26ef47324aa3e92a9b2a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=9466b89d06e6480bd641be5427af829d10cb3587147334a8cb22d12be0a8c0 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=988653bd8c786f07f5fd3978d4b4c2ef5fcc54e922bdc51a3bfebf88775773 + +handshake=Noise_IXpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e17609d47e41aefd58600f2429a4079e30bc7c7a54960092f478e3a8b2ac897e0f793c7eca1b142371f5c7adcd39ef2da960f5fe61a3d4eb096b2d9222aa6220a4baede9117fd8b82f70 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665b8c37f4b30ec0d0e7bd2c2df58f36c5c07cf55d88f33c1f25e4a7028d4ebf273fa04865b7cd6c2c521234163b0cf18975ec7a42f32f740ddeb7bcabc5810784ac068eaf9430c51a17f7 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d897592021d2ac4f4d5806105f48371c29282a6a72ec4f5774248ffa172dab +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=53c1f9f52e81ed46781adf8ea6bdd05c62b6e4f504cea15bacb669e4c41cde + +handshake=Noise_IXpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e0e42ae7efaf198ba4628458bbd2824d836e24f1c558674ce8a6718178a8df95a92bf930313b0c166e327b6df9e230fdea0ae732463351778665999485bd22d3214b8adf6b4789850649 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846664ad11b977ffd27f6732871a81fdea7702e2867e4953a6268ef1ac334632de74804554e9834e401fd69f2fe7a4a65824506a082856b65911e0cc771287e7443e22c12bc684a7d034728b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4933a12a52fcc1e5088e9cc6811d542e3a8bafd64b821795fed855c8c07d98 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=fb9d7a40d84a9f6e1cbf0a74b327d0ce75b191ad37cb6a333730e196a2b95d + +handshake=Noise_IXpsk2_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547ef2ddaa7167ce00a9dae6705805e8745f6dcbfc15a0fdb870a2a1d5a2248ccb39325f84a4fef594c2b2505ed80a82f5c70f73b4d75fe9d0d0195324b867f091e0873e8ce23e989739f5 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846642fbf7969708ccb5848f5e2c10ad358337b3581e939885f51562ea797396893112d7906e33b4b68026c9dd8783d6f307f353dc9027ccba95e449ab7b3308c2a2f866863cad318e811cb6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7ccfa4fa03625064a116414a6ee0409c6d6c0f5398fb68aef65e271d8efad9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=571d9e1c4ff1f12c8cfbdfecb1d040d0dc86a41ab6efff8af515db514a2120 + +handshake=Noise_N_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a69eac07dc78694d6a30a4c7f2120bc4 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=53dc944be58d1292365d6a5096b1d990353d826dd51e0cfeef9820d480d814 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=0ac777bf15a2f8e9ae4c0fd7d53aa4b6b61cbb33ea1e64f726aa51cb6c3b57 + +handshake=Noise_Npsk0_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548ee4ea4ef70d80e3be3383136c01dba7 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=7b2521d4d92735ed21e8ef9b635353c6cbbe6ba708e234d8d30c593af6091c +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=5a66f48e7581384a50a8a6197a76a21fe6e109f3b3c9c89cd335845970a875 + +handshake=Noise_Npsk1_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254341b1bfc14a6369937b021c81f3b19a0 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=f2a1148bdbfaf3843292d3ad1d665cb11a83f1a412c3f9c04f6b876a91ff00 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=caa8b41e1b5d2289d4f8e91ee4587dbc6335873e1a9b1f9f4a220d3cbbdd2d + +handshake=Noise_N_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254059099a62768f40676c0696be1c8076e4620fb27faad0ae8abb2 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=53dc944be58d1292365d6a5096b1d990353d826dd51e0cfeef9820d480d814 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=0ac777bf15a2f8e9ae4c0fd7d53aa4b6b61cbb33ea1e64f726aa51cb6c3b57 + +handshake=Noise_Npsk0_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254cff66e55f9165514342e82b98a436b78c1172bd9a5d44538c499 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=7b2521d4d92735ed21e8ef9b635353c6cbbe6ba708e234d8d30c593af6091c +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=5a66f48e7581384a50a8a6197a76a21fe6e109f3b3c9c89cd335845970a875 + +handshake=Noise_Npsk1_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542bf8c34c79ce1dd4da49f8ed9dfdbbe608500f4aeb3610f2ebf5 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=f2a1148bdbfaf3843292d3ad1d665cb11a83f1a412c3f9c04f6b876a91ff00 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=caa8b41e1b5d2289d4f8e91ee4587dbc6335873e1a9b1f9f4a220d3cbbdd2d + +handshake=Noise_N_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c927ef8c933450ef29c8fe116405cad6 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=53dc944be58d1292365d6a5096b1d990353d826dd51e0cfeef9820d480d814 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=0ac777bf15a2f8e9ae4c0fd7d53aa4b6b61cbb33ea1e64f726aa51cb6c3b57 + +handshake=Noise_Npsk0_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254fba424bfce5fb315d8c4452c719600d4 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=7b2521d4d92735ed21e8ef9b635353c6cbbe6ba708e234d8d30c593af6091c +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=5a66f48e7581384a50a8a6197a76a21fe6e109f3b3c9c89cd335845970a875 + +handshake=Noise_Npsk1_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e88eae4b737047e2ebd9a57e4179dee4 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=f2a1148bdbfaf3843292d3ad1d665cb11a83f1a412c3f9c04f6b876a91ff00 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=caa8b41e1b5d2289d4f8e91ee4587dbc6335873e1a9b1f9f4a220d3cbbdd2d + +handshake=Noise_N_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254059099a62768f40676c0ad747e00bc4abdc4e547b5d64a203faa +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=53dc944be58d1292365d6a5096b1d990353d826dd51e0cfeef9820d480d814 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=0ac777bf15a2f8e9ae4c0fd7d53aa4b6b61cbb33ea1e64f726aa51cb6c3b57 + +handshake=Noise_Npsk0_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254cff66e55f9165514342e009262a3b2d4fb0efd940a5ae53f42f7 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=7b2521d4d92735ed21e8ef9b635353c6cbbe6ba708e234d8d30c593af6091c +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=5a66f48e7581384a50a8a6197a76a21fe6e109f3b3c9c89cd335845970a875 + +handshake=Noise_Npsk1_25519_AESGCM_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542bf8c34c79ce1dd4da4984d89bde8e3c00ff7204e7e3e7845bf3 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=f2a1148bdbfaf3843292d3ad1d665cb11a83f1a412c3f9c04f6b876a91ff00 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=caa8b41e1b5d2289d4f8e91ee4587dbc6335873e1a9b1f9f4a220d3cbbdd2d + +handshake=Noise_K_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d181b2326033180d1efb21521b324a92 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=344e43356f1c93c5c345ff96d7671dc700a99d4c1a1e74a1fa6658219a7297 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=93a8163f0e969702549d39bae62a6f15eee1416ad8c1cbd5b545d77145cb16 + +handshake=Noise_Kpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543f880385cbbd4e4627713122b83ca89e +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=b60ace60531354a67160d9606e0db5d1a2a5949c7cd4bad2ab72bded373f09 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=8de8b083b7c4450eadd4d2303cdff7325a8bd5fc54cb13054148818922c255 + +handshake=Noise_Kpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254bbd32e924225d5cd2f1e57426c23b774 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=13d2fe35d850dd95b05d9368e3cb118febf832bbc8d80810838747b10cbefc +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=970e52003f0ec0f427e4221354eb9ed099864d15a59ae15ed0b732843eb7c8 + +handshake=Noise_K_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c5672a9d770969769874994bbccf28d4db2f626566d3c3216351 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=344e43356f1c93c5c345ff96d7671dc700a99d4c1a1e74a1fa6658219a7297 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=93a8163f0e969702549d39bae62a6f15eee1416ad8c1cbd5b545d77145cb16 + +handshake=Noise_Kpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544d8c11d84ff6ad4c09d4701841b7e57b976b0012be26f3a63234 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=b60ace60531354a67160d9606e0db5d1a2a5949c7cd4bad2ab72bded373f09 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=8de8b083b7c4450eadd4d2303cdff7325a8bd5fc54cb13054148818922c255 + +handshake=Noise_Kpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f6b065ba9cc0c626743f51ce46f94d811eb9452378e4517d832e +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=13d2fe35d850dd95b05d9368e3cb118febf832bbc8d80810838747b10cbefc +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=970e52003f0ec0f427e4221354eb9ed099864d15a59ae15ed0b732843eb7c8 + +handshake=Noise_K_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254915e0cc0990344b65cbda0733b24186c +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=344e43356f1c93c5c345ff96d7671dc700a99d4c1a1e74a1fa6658219a7297 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=93a8163f0e969702549d39bae62a6f15eee1416ad8c1cbd5b545d77145cb16 + +handshake=Noise_Kpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254beaf955b2e97b63a40e509e098e86d26 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=b60ace60531354a67160d9606e0db5d1a2a5949c7cd4bad2ab72bded373f09 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=8de8b083b7c4450eadd4d2303cdff7325a8bd5fc54cb13054148818922c255 + +handshake=Noise_Kpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625406637d84bb2b8bacf583b157b5e2db6e +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=13d2fe35d850dd95b05d9368e3cb118febf832bbc8d80810838747b10cbefc +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=970e52003f0ec0f427e4221354eb9ed099864d15a59ae15ed0b732843eb7c8 + +handshake=Noise_K_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c5672a9d7709697698742cd70ec0be61893c6605698abea0e701 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=344e43356f1c93c5c345ff96d7671dc700a99d4c1a1e74a1fa6658219a7297 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=93a8163f0e969702549d39bae62a6f15eee1416ad8c1cbd5b545d77145cb16 + +handshake=Noise_Kpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544d8c11d84ff6ad4c09d4d1c82d14bc3fcc12126c67b2a0b7ed61 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=b60ace60531354a67160d9606e0db5d1a2a5949c7cd4bad2ab72bded373f09 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=8de8b083b7c4450eadd4d2303cdff7325a8bd5fc54cb13054148818922c255 + +handshake=Noise_Kpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f6b065ba9cc0c626743f16dad8f22e8694edcec128ad0134b91f +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=13d2fe35d850dd95b05d9368e3cb118febf832bbc8d80810838747b10cbefc +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=970e52003f0ec0f427e4221354eb9ed099864d15a59ae15ed0b732843eb7c8 + +handshake=Noise_X_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544bd123345f7c3f54a2b7c20f234b39aad2ea1bf7a9b83b82620158c18e0389f8faca2f68c69790e392e0e18c31f2b1e5db5eb720b8c88350be14c8c7f54b4e1c +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=1b4ae7e3fcfa6e15ab023def9162a31e3e34d0842a03269981ad4e7ec16542 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=51198ccfa5d72f8049fcfc80df71db7dcd5e35cda3f9f38684354627f9ee9d + +handshake=Noise_Xpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254aea0c63d48d3b1d736b7c1aeae341160ba086d700161ae82ade3efff3235629ffd81d4a1b1e1fb50581c51d774c3293777a02a6bc95c753c273c08d942da964f +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=36d0a83e220c3b0e9715e79ac127f50619a62397c7709f43121aa880b0242c +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=b132a81c4a9cbd2029363179f168112b8b245a15ac51be366f4cb2f09e8f60 + +handshake=Noise_Xpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625464d0a2b152420f100932269d5d383be29d5262c4287efbfc1a4689f88752b5e8e8564a7291e383dc088028b58775c5f40d61430c88439f36b3d04e1cfce91092 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=e5abf632a1e20300ec96b8849b1debe07702a0474191af8ec95d2120703ac0 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=0094ea104502c9337f6fdc742e949099f369f0f4c83a9327686b5fa3a39cb3 + +handshake=Noise_X_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544bd123345f7c3f54a2b7c20f234b39aad2ea1bf7a9b83b82620158c18e0389f8faca2f68c69790e392e0e18c31f2b1e5f22a97888834b9a0660e1fcdf45922e722d35e0d2441810979d3 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=1b4ae7e3fcfa6e15ab023def9162a31e3e34d0842a03269981ad4e7ec16542 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=51198ccfa5d72f8049fcfc80df71db7dcd5e35cda3f9f38684354627f9ee9d + +handshake=Noise_Xpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254aea0c63d48d3b1d736b7c1aeae341160ba086d700161ae82ade3efff3235629ffd81d4a1b1e1fb50581c51d774c32937c1f988f1ae61819d1b63d42fa696048336ad771ced9bc5c747b1 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=36d0a83e220c3b0e9715e79ac127f50619a62397c7709f43121aa880b0242c +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=b132a81c4a9cbd2029363179f168112b8b245a15ac51be366f4cb2f09e8f60 + +handshake=Noise_Xpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625464d0a2b152420f100932269d5d383be29d5262c4287efbfc1a4689f88752b5e8e8564a7291e383dc088028b58775c5f4ef2c2f22b87d9c53accd687b92f198179e55ccc3ca701513b918 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=e5abf632a1e20300ec96b8849b1debe07702a0474191af8ec95d2120703ac0 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=0094ea104502c9337f6fdc742e949099f369f0f4c83a9327686b5fa3a39cb3 + +handshake=Noise_X_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544bd123345f7c3f54a2b7c20f234b39aad2ea1bf7a9b83b82620158c18e0389f897297750c1904bab4b5e0f28f2e027d71c9e88c0032221aa15011a8e4c78dffc +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=1b4ae7e3fcfa6e15ab023def9162a31e3e34d0842a03269981ad4e7ec16542 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=51198ccfa5d72f8049fcfc80df71db7dcd5e35cda3f9f38684354627f9ee9d + +handshake=Noise_Xpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254aea0c63d48d3b1d736b7c1aeae341160ba086d700161ae82ade3efff3235629f35e7632c0bd24a52daa0b948ba567229614147a2f9fec0650804c14558e7a4e3 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=36d0a83e220c3b0e9715e79ac127f50619a62397c7709f43121aa880b0242c +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=b132a81c4a9cbd2029363179f168112b8b245a15ac51be366f4cb2f09e8f60 + +handshake=Noise_Xpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625464d0a2b152420f100932269d5d383be29d5262c4287efbfc1a4689f88752b5e86e5ef46c6d25996ebdb230b7431be817301ae3797b93cccfc4ecdf5ca4689916 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=e5abf632a1e20300ec96b8849b1debe07702a0474191af8ec95d2120703ac0 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=0094ea104502c9337f6fdc742e949099f369f0f4c83a9327686b5fa3a39cb3 + +handshake=Noise_X_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544bd123345f7c3f54a2b7c20f234b39aad2ea1bf7a9b83b82620158c18e0389f897297750c1904bab4b5e0f28f2e027d7f22a97888834b9a0660ee508b5c4c7f95b0d4d162d91e1123466 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=1b4ae7e3fcfa6e15ab023def9162a31e3e34d0842a03269981ad4e7ec16542 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=51198ccfa5d72f8049fcfc80df71db7dcd5e35cda3f9f38684354627f9ee9d + +handshake=Noise_Xpsk0_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254aea0c63d48d3b1d736b7c1aeae341160ba086d700161ae82ade3efff3235629f35e7632c0bd24a52daa0b948ba567229c1f988f1ae61819d1b637fb839283a338b00f93f9a7808911c16 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=36d0a83e220c3b0e9715e79ac127f50619a62397c7709f43121aa880b0242c +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=b132a81c4a9cbd2029363179f168112b8b245a15ac51be366f4cb2f09e8f60 + +handshake=Noise_Xpsk1_25519_AESGCM_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625464d0a2b152420f100932269d5d383be29d5262c4287efbfc1a4689f88752b5e86e5ef46c6d25996ebdb230b7431be817ef2c2f22b87d9c53accd25f4ff987e5fab341d7f7fb4079e5c4b +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=e5abf632a1e20300ec96b8849b1debe07702a0474191af8ec95d2120703ac0 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=0094ea104502c9337f6fdc742e949099f369f0f4c83a9327686b5fa3a39cb3 + +handshake=Noise_NN_25519_AESGCM_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846696b4bba7da775d1f343d26e248da47ba +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0f2b3e233b31e5fb721769574df39f8da857cd538d2823ed04707c4f1efe2b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=bf606bbb94c9f27e8f8387140224a52189f3e5e131d5f9763f9ee83ffef688 + +handshake=Noise_NNpsk0_25519_AESGCM_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254317efadec3a319c5f4d92f4acde560c7 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466755e7b455979bcf38ee9cf17a3b996b6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7fad8a5bf89774b591341ae6b5f9b53d55e70b6307fdb4fe2eee39c0e5bb79 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2da7ec97f80353b4fb9e44a0979a222e6cb7ec3d75b89ecca9a4d9aa7703b5 + +handshake=Noise_NNpsk1_25519_AESGCM_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ee343cd0b23aa39fd8cf07b1298ec783 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846651f5fc391bfbfd847e43586ac95db7e9 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ad35e3ff791bbe3445b2bca0705f592f16908809ecc6d06940d6409849c628 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=11feae6a0fb8493a4abbb530087f1d3835c4c62caecbe6f3f4dda89627825f + +handshake=Noise_NNpsk2_25519_AESGCM_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625420a46675e8df604263bf11b7ac75590c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660bda10fa532c04667c79bda41d186c00 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=bf2a56dc6366625ce68d4911f73aa10b2257c1b46ec516e590c5f94e10e9b4 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=32d8849f8e77aaed40a8294d693acb51de2e22b290b24c779f5019595363f3 + +handshake=Noise_NN_25519_AESGCM_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a1385f964ae07e077013e92cfd34fa4d13aea47ab078af9d7bdc +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0f2b3e233b31e5fb721769574df39f8da857cd538d2823ed04707c4f1efe2b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=bf606bbb94c9f27e8f8387140224a52189f3e5e131d5f9763f9ee83ffef688 + +handshake=Noise_NNpsk0_25519_AESGCM_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254edb3ec0cb095fb513bfbb9898c1bdfb76968a05c706c7ccbbb3f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662f83f60a9da988d4cc0930126af5a85bcd6e46e1706d1e757c81 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7fad8a5bf89774b591341ae6b5f9b53d55e70b6307fdb4fe2eee39c0e5bb79 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2da7ec97f80353b4fb9e44a0979a222e6cb7ec3d75b89ecca9a4d9aa7703b5 + +handshake=Noise_NNpsk1_25519_AESGCM_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e18839475af8ae23cf85a15b391081786c60fb05ff38ff3a8166 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466493e02eaf3d3ce6c53105380003732a243a3a3519b790373372a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ad35e3ff791bbe3445b2bca0705f592f16908809ecc6d06940d6409849c628 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=11feae6a0fb8493a4abbb530087f1d3835c4c62caecbe6f3f4dda89627825f + +handshake=Noise_NNpsk2_25519_AESGCM_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e1ff8dc8fdbd3f5808a80493765e14512c58fa7091d993fbb79b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662ac11941a34258aed21d24c8ad4afccf638c0549785ab2b0dfa7 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=bf2a56dc6366625ce68d4911f73aa10b2257c1b46ec516e590c5f94e10e9b4 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=32d8849f8e77aaed40a8294d693acb51de2e22b290b24c779f5019595363f3 + +handshake=Noise_NN_25519_AESGCM_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664614a00ba4ea44ad9bf92954701ac9e1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0f2b3e233b31e5fb721769574df39f8da857cd538d2823ed04707c4f1efe2b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=bf606bbb94c9f27e8f8387140224a52189f3e5e131d5f9763f9ee83ffef688 + +handshake=Noise_NNpsk0_25519_AESGCM_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625449313df1e7a1c4ae4b9f1e8920d00062 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466968db1bd797c81f1b67b2592fb59a167 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7fad8a5bf89774b591341ae6b5f9b53d55e70b6307fdb4fe2eee39c0e5bb79 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2da7ec97f80353b4fb9e44a0979a222e6cb7ec3d75b89ecca9a4d9aa7703b5 + +handshake=Noise_NNpsk1_25519_AESGCM_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547f4d9e059d99a30cba39936c52fa6083 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667292e76b7244b2db0c173bab2da777a9 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ad35e3ff791bbe3445b2bca0705f592f16908809ecc6d06940d6409849c628 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=11feae6a0fb8493a4abbb530087f1d3835c4c62caecbe6f3f4dda89627825f + +handshake=Noise_NNpsk2_25519_AESGCM_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540206ed2f7e2e7b5ad6db890bceeb2c33 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bbbf52db7d5d3002630dbe3b9e02cd98 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=bf2a56dc6366625ce68d4911f73aa10b2257c1b46ec516e590c5f94e10e9b4 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=32d8849f8e77aaed40a8294d693acb51de2e22b290b24c779f5019595363f3 + +handshake=Noise_NN_25519_AESGCM_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a1385f964ae07e0770131cf56bbcd8d5bd8379757412d0040b43 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0f2b3e233b31e5fb721769574df39f8da857cd538d2823ed04707c4f1efe2b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=bf606bbb94c9f27e8f8387140224a52189f3e5e131d5f9763f9ee83ffef688 + +handshake=Noise_NNpsk0_25519_AESGCM_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254edb3ec0cb095fb513bfbbcecd94c12bd9847fd51060c21c2911b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662f83f60a9da988d4cc09b5792492a4e9b6409b7bc382d937669e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7fad8a5bf89774b591341ae6b5f9b53d55e70b6307fdb4fe2eee39c0e5bb79 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2da7ec97f80353b4fb9e44a0979a222e6cb7ec3d75b89ecca9a4d9aa7703b5 + +handshake=Noise_NNpsk1_25519_AESGCM_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e18839475af8ae23cf8593f99990833b96cecbed3efd278a3ccb +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466493e02eaf3d3ce6c53103983ea03c55afa71148423e8f70f8361 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ad35e3ff791bbe3445b2bca0705f592f16908809ecc6d06940d6409849c628 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=11feae6a0fb8493a4abbb530087f1d3835c4c62caecbe6f3f4dda89627825f + +handshake=Noise_NNpsk2_25519_AESGCM_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e1ff8dc8fdbd3f5808a811debd72175c932bd7fa62ebdb9b2873 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662ac11941a34258aed21df1cd88b8c9f1a3c167e11a517c3e0152 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=bf2a56dc6366625ce68d4911f73aa10b2257c1b46ec516e590c5f94e10e9b4 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=32d8849f8e77aaed40a8294d693acb51de2e22b290b24c779f5019595363f3 + +handshake=Noise_KN_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b231ab182aea5eb5058a6125ac8458a7 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=fa26e5cb486370ec737fd513a5cd5d0fe7d017427cab2b85eaf5047ace1c56 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f7a9d96f5c7568769bdd7ce20df60b523b4b52280a088a5e2ab56711a80714 + +handshake=Noise_KNpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ec0b218b090f45287bb2306c93544b4c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d0b9cffb44e4b2eeac1b962afcc87a27 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=52e8407c63693cd38f27a5315b73673dc02e994ef3f5c4713bf6638e95ce08 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f76678abb5d0cabbfa56bc6440c645fe8b1f05fc3e009b7414563e906ba769 + +handshake=Noise_KNpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e8239d9793920e4c2d84ed8d8324b94b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666d84a1c9d27bc55b48b65cadb4a4d89c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d79d5ec5a8232269e46915e59d094941db2dcb0b171290dfed713b4446f6cb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=9c65816526946ffbdf3aac6904c4a12dcf5e447c7c30ecd25095493cea7790 + +handshake=Noise_KNpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254991b83d25a380fe7648c0dfcb9c155ab +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846652987ffb3b9f76e78d7121db589f4ac5 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=1a1745e5a72f77f23188f4ba70bf52e6129ad531108fdc545e5dee96bedbb4 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=05ced6b098b70097cf392ead659322b4f18485dc75bf8c6bf327debd0bf4cb + +handshake=Noise_KN_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846645fa9c2a20a197a1e0baa22bafe33ee7acaedae932270b7c48f2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=fa26e5cb486370ec737fd513a5cd5d0fe7d017427cab2b85eaf5047ace1c56 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f7a9d96f5c7568769bdd7ce20df60b523b4b52280a088a5e2ab56711a80714 + +handshake=Noise_KNpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625452c9fd84d58429beb1142b609a4863e7041b426ebeb347907ae7 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f2455d2b3e74bed0cd965ad0906fdd426f1f658e2e90003dcf9e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=52e8407c63693cd38f27a5315b73673dc02e994ef3f5c4713bf6638e95ce08 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f76678abb5d0cabbfa56bc6440c645fe8b1f05fc3e009b7414563e906ba769 + +handshake=Noise_KNpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ce64f2a88f1e649de9503e6795ef215a1267bfc8c90aff062f8b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846623473963f18489e7c72234cee6d9a25976d89cb354d713db977b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d79d5ec5a8232269e46915e59d094941db2dcb0b171290dfed713b4446f6cb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=9c65816526946ffbdf3aac6904c4a12dcf5e447c7c30ecd25095493cea7790 + +handshake=Noise_KNpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548934c4e0268ed95c36d59d1129ecca39a1fb209dcbdf02a852d9 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d4c687fac239e7d047928455aebf3d2b12e36ac54e367376775c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=1a1745e5a72f77f23188f4ba70bf52e6129ad531108fdc545e5dee96bedbb4 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=05ced6b098b70097cf392ead659322b4f18485dc75bf8c6bf327debd0bf4cb + +handshake=Noise_KN_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665d5971fcd8cf63d49da6f97e147f93f8 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=fa26e5cb486370ec737fd513a5cd5d0fe7d017427cab2b85eaf5047ace1c56 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f7a9d96f5c7568769bdd7ce20df60b523b4b52280a088a5e2ab56711a80714 + +handshake=Noise_KNpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b86660a966446b42c03bed0de0739ce2 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669f66fc60ac521937d189e4c5d6833ff6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=52e8407c63693cd38f27a5315b73673dc02e994ef3f5c4713bf6638e95ce08 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f76678abb5d0cabbfa56bc6440c645fe8b1f05fc3e009b7414563e906ba769 + +handshake=Noise_KNpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254af63f6d98ab7abc10e584fbb1dadf03b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b8886f47e72b4d191b73e37aea007e84 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d79d5ec5a8232269e46915e59d094941db2dcb0b171290dfed713b4446f6cb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=9c65816526946ffbdf3aac6904c4a12dcf5e447c7c30ecd25095493cea7790 + +handshake=Noise_KNpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541e87f4eb6b35ffc2d7221c85e4fff91d +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846607c20d3da79461e2b289a02a047412ce +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=1a1745e5a72f77f23188f4ba70bf52e6129ad531108fdc545e5dee96bedbb4 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=05ced6b098b70097cf392ead659322b4f18485dc75bf8c6bf327debd0bf4cb + +handshake=Noise_KN_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846645fa9c2a20a197a1e0ba6bdff6753dbb6f06d4b3a58514071d26 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=fa26e5cb486370ec737fd513a5cd5d0fe7d017427cab2b85eaf5047ace1c56 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f7a9d96f5c7568769bdd7ce20df60b523b4b52280a088a5e2ab56711a80714 + +handshake=Noise_KNpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625452c9fd84d58429beb11458dae7d43d88d2bbf86bb4a4fea48851 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f2455d2b3e74bed0cd9697e5ae9b35f12f75d6837474b5847bcf +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=52e8407c63693cd38f27a5315b73673dc02e994ef3f5c4713bf6638e95ce08 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f76678abb5d0cabbfa56bc6440c645fe8b1f05fc3e009b7414563e906ba769 + +handshake=Noise_KNpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ce64f2a88f1e649de9500f9bb110a1d4ab30625d3d655b0102e9 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846623473963f18489e7c722561310a8b8d53b0cf6bd13b75020efd0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d79d5ec5a8232269e46915e59d094941db2dcb0b171290dfed713b4446f6cb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=9c65816526946ffbdf3aac6904c4a12dcf5e447c7c30ecd25095493cea7790 + +handshake=Noise_KNpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548934c4e0268ed95c36d512d38ce5801c5f03b18df72af6fbc19c +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d4c687fac239e7d04792a57bdb3a881474ad1192de0356b25394 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=1a1745e5a72f77f23188f4ba70bf52e6129ad531108fdc545e5dee96bedbb4 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=05ced6b098b70097cf392ead659322b4f18485dc75bf8c6bf327debd0bf4cb + +handshake=Noise_NK_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625492cd9880ad23415b7d45ccc2b211e37a +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665f57bb37f938df25d18d7f89288ae666 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4863a837542483bc5c39fe8dfcbae600696475bfdab8ae04beaa8e18cd1145 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ad73bc7f009fbd5df1bb517bfa9d9d5e262d056e50804f8bddb283d58befc2 + +handshake=Noise_NKpsk0_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254242e465816d0858d06f47e335a09badb +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846671f0a338acc3bde7238080dbb9973db1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e64f0f84675e48b7a0058285affc1fab6b836ac80b34e164082d18412d8a73 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f2b2c8eab1a9fa483ab8b572c934cc44f2d41aa9dc4c536a1ddddea478da58 + +handshake=Noise_NKpsk1_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254620e726e3d7f18b8f25aede17cdfcfc8 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846694d057301ab3e2f829e2432060dba030 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6df2429f1df587b56005e87298149cba35aa88ee298469397ea2f4b942dd63 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4c7c8dbbad29b112d7602b04c8e22edb7eb74db82f6f776ea077a5f6690fbc + +handshake=Noise_NKpsk2_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541b074aab7776a1c52afe9b249fced5c0 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846696313d3b21b1f68940958623dcca1294 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a3082562d366ded0f178cf1d204e4e53db5736e66ec10eb0c866a37e654d15 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=60a2f051f6f113e03215df5a29be54632358fd03a7d3dc49e0771fe6c0d2b0 + +handshake=Noise_NK_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f0908050e933b7b9347e67893173878d10adab8cf0a44ce2a3f1 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846618559bbbc6d87c6cb0347e9b2bbbf21fe5d8af2c7ce5ee0d82e0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4863a837542483bc5c39fe8dfcbae600696475bfdab8ae04beaa8e18cd1145 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ad73bc7f009fbd5df1bb517bfa9d9d5e262d056e50804f8bddb283d58befc2 + +handshake=Noise_NKpsk0_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e51a799a96f84a256118fdc303fec0ed8998042d5dd9556ae77c +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846687204b49e4a67b7b4ca7cd645ff191190a3ca23e92be635c8585 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e64f0f84675e48b7a0058285affc1fab6b836ac80b34e164082d18412d8a73 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f2b2c8eab1a9fa483ab8b572c934cc44f2d41aa9dc4c536a1ddddea478da58 + +handshake=Noise_NKpsk1_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254de5deba8d0093296a30ef145e306b54d8bc4a3969c7afb2b0677 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d26056f711dacca0102501cb818f217ca8fb2563e79ad50daa19 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6df2429f1df587b56005e87298149cba35aa88ee298469397ea2f4b942dd63 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4c7c8dbbad29b112d7602b04c8e22edb7eb74db82f6f776ea077a5f6690fbc + +handshake=Noise_NKpsk2_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254976601e4078212f0b67b7352b3d82247b7412614ac64b5b73e33 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661d05dac14245dacbe1ce8860abf4e4e9c39a079a99de750d3cc0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a3082562d366ded0f178cf1d204e4e53db5736e66ec10eb0c866a37e654d15 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=60a2f051f6f113e03215df5a29be54632358fd03a7d3dc49e0771fe6c0d2b0 + +handshake=Noise_NK_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c3a1fd96effa4a96c2d4d2ea49fa51b4 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fe5aaf6d285a1b2eb29a83b4041f8a9f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4863a837542483bc5c39fe8dfcbae600696475bfdab8ae04beaa8e18cd1145 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ad73bc7f009fbd5df1bb517bfa9d9d5e262d056e50804f8bddb283d58befc2 + +handshake=Noise_NKpsk0_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541f8d95af05ef4f548190140e105fcdd2 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fe1e5b2875f805c4c7afe1276551ac33 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e64f0f84675e48b7a0058285affc1fab6b836ac80b34e164082d18412d8a73 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f2b2c8eab1a9fa483ab8b572c934cc44f2d41aa9dc4c536a1ddddea478da58 + +handshake=Noise_NKpsk1_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541cf92667ae758693dd2b7399cd15c401 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d345d580e11e4c26c7ebfbee575455e9 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6df2429f1df587b56005e87298149cba35aa88ee298469397ea2f4b942dd63 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4c7c8dbbad29b112d7602b04c8e22edb7eb74db82f6f776ea077a5f6690fbc + +handshake=Noise_NKpsk2_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254879ef3d63c164584553d294c6d91d571 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f6f430402252f77e17be906eaf0b20eb +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a3082562d366ded0f178cf1d204e4e53db5736e66ec10eb0c866a37e654d15 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=60a2f051f6f113e03215df5a29be54632358fd03a7d3dc49e0771fe6c0d2b0 + +handshake=Noise_NK_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f0908050e933b7b9347e44301dc6d6ca7d4b0ce776f3a5d90c38 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846618559bbbc6d87c6cb03495d7531bcb04bb2c87bb444037256131 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4863a837542483bc5c39fe8dfcbae600696475bfdab8ae04beaa8e18cd1145 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ad73bc7f009fbd5df1bb517bfa9d9d5e262d056e50804f8bddb283d58befc2 + +handshake=Noise_NKpsk0_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e51a799a96f84a25611826e1b4d3a08e33859de2e2edaa19276c +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846687204b49e4a67b7b4ca7e048fc2bd060f346d69f4fa196666869 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e64f0f84675e48b7a0058285affc1fab6b836ac80b34e164082d18412d8a73 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f2b2c8eab1a9fa483ab8b572c934cc44f2d41aa9dc4c536a1ddddea478da58 + +handshake=Noise_NKpsk1_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254de5deba8d0093296a30e16abbe1699580f3543369780626f053b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d26056f711dacca01025391e489dd6b23eb6f17f68551e051e17 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6df2429f1df587b56005e87298149cba35aa88ee298469397ea2f4b942dd63 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4c7c8dbbad29b112d7602b04c8e22edb7eb74db82f6f776ea077a5f6690fbc + +handshake=Noise_NKpsk2_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254976601e4078212f0b67b3067d831eba76e2c57e6e4f5d0e5e2bb +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661d05dac14245dacbe1ceb5b28b786b8224cdf48be55fc33b7f9e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a3082562d366ded0f178cf1d204e4e53db5736e66ec10eb0c866a37e654d15 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=60a2f051f6f113e03215df5a29be54632358fd03a7d3dc49e0771fe6c0d2b0 + +handshake=Noise_KK_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254559236449548b149c86010ab38a7f593 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466cb6a3f46c1a9e3740e073e00c1278116 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=12833dc9ced7ce2bd117611fb110e611bc98f046edd326de308589b085aec1 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=fc60d948d36347b0907c4ab7f180becf7427ef90bb45e71eb35503a2a77271 + +handshake=Noise_KKpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b2feab58971b2b7754c4ce9c28c926e8 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466570f0cf3fa53a65d939d10b1642c2b53 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8bf212c1518bfc1bcb836c5fe6f669aff33ac43ef009c4a8ec7276ccd7fd1e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ff7971613fb38b2ceff9e02ab8bbef225ec3cf67b862f6edd347d64868d589 + +handshake=Noise_KKpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b254229e7b1620584147ca90cb8b10f5 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663967c7ece58722039816225411448d25 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0f0c4ac1a0669c88f81275a19747e2947aafe72519b9f9acf69a1853369b81 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5cb84c8fb19d854105cdccfcf0d69f4b2022e872c1a8825fa459a8da32c574 + +handshake=Noise_KKpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625471902189942423b5e706181d24bd3da6 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466670e12b11fa0a2fc1efa881c5b3c5d60 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a6a1cea393611538d818a6e0ad35dba2df91c82dc22142061d38de575a1be8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=850511dc2048fec84f31a5ddbbacc370f515c762a439bc4064953b3a60d1c3 + +handshake=Noise_KK_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254142884550c3a5bbba542498fe2a2e3a42ae03427648d643f2ffa +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466cf84137217e17d4ad6644f9f0c5a674e3acd0fa5cd6b82cf17a5 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=12833dc9ced7ce2bd117611fb110e611bc98f046edd326de308589b085aec1 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=fc60d948d36347b0907c4ab7f180becf7427ef90bb45e71eb35503a2a77271 + +handshake=Noise_KKpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625424595376448ec2517751f60303af508d12946b045ec39c9f603d +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b72308d275634efa109e4144199e333ac5c65da8025b13ba4993 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8bf212c1518bfc1bcb836c5fe6f669aff33ac43ef009c4a8ec7276ccd7fd1e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ff7971613fb38b2ceff9e02ab8bbef225ec3cf67b862f6edd347d64868d589 + +handshake=Noise_KKpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546ce1b92921238f610b81af38c19ef2fa4eb392fae936496df41d +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d2b19549f76d4caa90b4e495ba5af97e098cadfdd780d76d76f0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0f0c4ac1a0669c88f81275a19747e2947aafe72519b9f9acf69a1853369b81 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5cb84c8fb19d854105cdccfcf0d69f4b2022e872c1a8825fa459a8da32c574 + +handshake=Noise_KKpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543127c95b934bb1414f3123125be999be4d09da6b81e0cc56ae20 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846662111f0c62246c844c4f7d015feb0c15934e2b3b4a838f789485 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a6a1cea393611538d818a6e0ad35dba2df91c82dc22142061d38de575a1be8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=850511dc2048fec84f31a5ddbbacc370f515c762a439bc4064953b3a60d1c3 + +handshake=Noise_KK_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548cafd0193d81be006185db284ec2d871 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d0afb2bac37e2e2d9c68db47d4036c22 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=12833dc9ced7ce2bd117611fb110e611bc98f046edd326de308589b085aec1 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=fc60d948d36347b0907c4ab7f180becf7427ef90bb45e71eb35503a2a77271 + +handshake=Noise_KKpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549235d028fae66b4f1e4dccfb170d03f8 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d0928131e420581b197828694275da40 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8bf212c1518bfc1bcb836c5fe6f669aff33ac43ef009c4a8ec7276ccd7fd1e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ff7971613fb38b2ceff9e02ab8bbef225ec3cf67b862f6edd347d64868d589 + +handshake=Noise_KKpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542f62675567432d076a0e477c3cf14615 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662095be79364e992976531966ba961c94 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0f0c4ac1a0669c88f81275a19747e2947aafe72519b9f9acf69a1853369b81 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5cb84c8fb19d854105cdccfcf0d69f4b2022e872c1a8825fa459a8da32c574 + +handshake=Noise_KKpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540dc6b77672c010e87e1636b5d1da2360 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c86fc32118e4ace4d027a4522d94d9d0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a6a1cea393611538d818a6e0ad35dba2df91c82dc22142061d38de575a1be8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=850511dc2048fec84f31a5ddbbacc370f515c762a439bc4064953b3a60d1c3 + +handshake=Noise_KK_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254142884550c3a5bbba542d6529e3c81cc3f6ce831243b3346b035 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466cf84137217e17d4ad6640ddd193fa49edc3b9fb577a2c7a8296c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=12833dc9ced7ce2bd117611fb110e611bc98f046edd326de308589b085aec1 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=fc60d948d36347b0907c4ab7f180becf7427ef90bb45e71eb35503a2a77271 + +handshake=Noise_KKpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625424595376448ec2517751fb29003363a17cb6d53130cc3125c606 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b72308d275634efa109eaf94f98070fefad6378fa12be3916c5d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8bf212c1518bfc1bcb836c5fe6f669aff33ac43ef009c4a8ec7276ccd7fd1e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ff7971613fb38b2ceff9e02ab8bbef225ec3cf67b862f6edd347d64868d589 + +handshake=Noise_KKpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546ce1b92921238f610b819d25ee0e9a4161cfae2e38cb26b28809 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d2b19549f76d4caa90b4f153ed8bf441a8a8ee9d18587bb6f6d0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0f0c4ac1a0669c88f81275a19747e2947aafe72519b9f9acf69a1853369b81 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5cb84c8fb19d854105cdccfcf0d69f4b2022e872c1a8825fa459a8da32c574 + +handshake=Noise_KKpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543127c95b934bb1414f31387bd610396d2cc4f94ea7aa7135f8dc +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846662111f0c62246c844c4f136c97d8afb760c73f285dcb7f366545 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a6a1cea393611538d818a6e0ad35dba2df91c82dc22142061d38de575a1be8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=850511dc2048fec84f31a5ddbbacc370f515c762a439bc4064953b3a60d1c3 + +handshake=Noise_NX_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664c97f89674eace3b56f9d5fb417a8ff75418944771131814c57a29365b15b48bca3f3ce4a7f4e53112bf6ef3bdf7f964a0cfd9784f9efcd4c52a446c50c555a7 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=2ea99baffa3692333bc13d7af3e454bf9acae4d796013d1ff35c0678ee84e7 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=789c1800de969242141310282d5b91629248bdf66631e3b45e7b8c2207ff89 + +handshake=Noise_NXpsk0_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ab929c145cf0c1c676452b550524b5e8 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846637d8b8996a822fcfe7e5b0d643443ffdc9ede527b1163f4b0dc6daf2322831ceefd299f1510d6504b291d8bcd98ff5cd96ce4ce180517d440d58c057749bee68 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=38a8c7da03d0c27bfe3051c07c463722d336ebac343c864773be3b5b559f72 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6e6cb9df11c3f09dd93c34bf894ab97f1a0375ffe48719f83e201d35a9ecfd + +handshake=Noise_NXpsk1_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625482eadd90b062837066000cd5e2896e72 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663f756d65f4f5ee577e6b0d67d96f7aa2ff3ceb944f3abaf9587b4fa8511edd9ec6cf250413b660aa38b93a65f8e4acaf51406c51b75d4b6622e81c30e4bf5f7e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ccfd7afc1ab48b43dc8768ee6912d7e72799002904654b41f797d7c3f88e09 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=743635953fe8aef503710cdc126dbe837a53d24ab0413f469f720689f7cbfe + +handshake=Noise_NXpsk2_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254407912b4ed86d5812b6b2d9d6c0c9e33 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846628135288ad23fb032bc1ee5c922fbfe7fbb69668b9480571f36552e43984d6c7fbb160a0867a8e086fb093630e10460ccdf5e0b7f7135bb5871b31518976d993 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=92eb54dd636d5ca48c96325fecb8b92b31a40cad65edca5c6602fbf71f4397 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d13070af6c2bac6cc30637e54b8fe2ed1a5030c624e4b691c9fdd2e4c42ae2 + +handshake=Noise_NX_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664c97f89674eace3b56f9d5fb417a8ff75418944771131814c57a29365b15b48b2a593850eb6e640bdf72e859d3e6d378a72eb960dcbbb05601c67d08ca00bcf0d473e958a30b311e179a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=2ea99baffa3692333bc13d7af3e454bf9acae4d796013d1ff35c0678ee84e7 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=789c1800de969242141310282d5b91629248bdf66631e3b45e7b8c2207ff89 + +handshake=Noise_NXpsk0_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254bc226ac1952daf37daccafd280d738f198a8829e1fcbd4be1c95 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846637d8b8996a822fcfe7e5b0d643443ffdc9ede527b1163f4b0dc6daf2322831ce525bf68b693695fba0cc6e523a646896093271a3cb9c1ed45414b7cf0f501cc694dd21e19994b7181d27 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=38a8c7da03d0c27bfe3051c07c463722d336ebac343c864773be3b5b559f72 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6e6cb9df11c3f09dd93c34bf894ab97f1a0375ffe48719f83e201d35a9ecfd + +handshake=Noise_NXpsk1_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254561fea27227285c680b595365022f8742ce5869972e379fa1b8a +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663f756d65f4f5ee577e6b0d67d96f7aa2ff3ceb944f3abaf9587b4fa8511edd9e1a721a420612fbd0c23865f4bfbca2ec8930db64dacc0b33e0b529391699f00e32e8524ab9ac3e59e4f9 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ccfd7afc1ab48b43dc8768ee6912d7e72799002904654b41f797d7c3f88e09 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=743635953fe8aef503710cdc126dbe837a53d24ab0413f469f720689f7cbfe + +handshake=Noise_NXpsk2_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625406509ecaf4beb0e75208c257af685179db7a99e146ed89d8e60a +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846628135288ad23fb032bc1ee5c922fbfe7fbb69668b9480571f36552e43984d6c7fd154ee04b21546f594953ca8d7753ace88e3c6d9dc176114056980d5c6ffe52778163ff1e4fe114605c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=92eb54dd636d5ca48c96325fecb8b92b31a40cad65edca5c6602fbf71f4397 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d13070af6c2bac6cc30637e54b8fe2ed1a5030c624e4b691c9fdd2e4c42ae2 + +handshake=Noise_NX_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664c97f89674eace3b56f9d5fb417a8ff75418944771131814c57a29365b15b48b79b4c07534af976280cbab579afc3f9cd0526a61d1adc06ef7359cf6e64ede9d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=2ea99baffa3692333bc13d7af3e454bf9acae4d796013d1ff35c0678ee84e7 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=789c1800de969242141310282d5b91629248bdf66631e3b45e7b8c2207ff89 + +handshake=Noise_NXpsk0_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e2cead811ebab45234d6015348300217 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846637d8b8996a822fcfe7e5b0d643443ffdc9ede527b1163f4b0dc6daf2322831ceb8bdffc1fb9e2f056f5924ddb7a079c5d7a0dd8ba258a660986cda0b0fb82865 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=38a8c7da03d0c27bfe3051c07c463722d336ebac343c864773be3b5b559f72 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6e6cb9df11c3f09dd93c34bf894ab97f1a0375ffe48719f83e201d35a9ecfd + +handshake=Noise_NXpsk1_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f39bc63b0a4dd6191e4289f80a68c16f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663f756d65f4f5ee577e6b0d67d96f7aa2ff3ceb944f3abaf9587b4fa8511edd9e719735f519b112f0f590ca884ba289f8b8977d3a36530e5d79baf821cace360a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ccfd7afc1ab48b43dc8768ee6912d7e72799002904654b41f797d7c3f88e09 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=743635953fe8aef503710cdc126dbe837a53d24ab0413f469f720689f7cbfe + +handshake=Noise_NXpsk2_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541c3f341235ad4e85cdfff4007e328673 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846628135288ad23fb032bc1ee5c922fbfe7fbb69668b9480571f36552e43984d6c72b962f3774ebc05cb6d6810641c40c14ac72883a7bf88a59f7f771d54e9f978e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=92eb54dd636d5ca48c96325fecb8b92b31a40cad65edca5c6602fbf71f4397 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d13070af6c2bac6cc30637e54b8fe2ed1a5030c624e4b691c9fdd2e4c42ae2 + +handshake=Noise_NX_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664c97f89674eace3b56f9d5fb417a8ff75418944771131814c57a29365b15b48befea2db797f55a7ad5a71d072c64f323a72eb960dcbbb05601c6ca9847c52cb0cd36528e3c656343f4b6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=2ea99baffa3692333bc13d7af3e454bf9acae4d796013d1ff35c0678ee84e7 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=789c1800de969242141310282d5b91629248bdf66631e3b45e7b8c2207ff89 + +handshake=Noise_NXpsk0_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254bc226ac1952daf37dacce78ea0cfd6b5afe05702919e81f51f7a +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846637d8b8996a822fcfe7e5b0d643443ffdc9ede527b1163f4b0dc6daf2322831cecb38d9a801b214d126a66f637984d09c093271a3cb9c1ed4541471b1923c474467a450d3dc13d7be7bb4 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=38a8c7da03d0c27bfe3051c07c463722d336ebac343c864773be3b5b559f72 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6e6cb9df11c3f09dd93c34bf894ab97f1a0375ffe48719f83e201d35a9ecfd + +handshake=Noise_NXpsk1_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254561fea27227285c680b5754de721d3c3568396f3d10ccc48ea7f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663f756d65f4f5ee577e6b0d67d96f7aa2ff3ceb944f3abaf9587b4fa8511edd9eb6b62b52923328c4a7cf9daf752282f58930db64dacc0b33e0b5eed6945d0bb7b4809f6caaeb6e5d03d4 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ccfd7afc1ab48b43dc8768ee6912d7e72799002904654b41f797d7c3f88e09 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=743635953fe8aef503710cdc126dbe837a53d24ab0413f469f720689f7cbfe + +handshake=Noise_NXpsk2_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625406509ecaf4beb0e752085be87b067f55e9c0d7500f9b4e626a18 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846628135288ad23fb032bc1ee5c922fbfe7fbb69668b9480571f36552e43984d6c749a43f9525b52730c1483dc2d4f707c9e88e3c6d9dc176114056694fa32638eda14593e6fefc5c276cda +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=92eb54dd636d5ca48c96325fecb8b92b31a40cad65edca5c6602fbf71f4397 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d13070af6c2bac6cc30637e54b8fe2ed1a5030c624e4b691c9fdd2e4c42ae2 + +handshake=Noise_KX_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846645f7f537bba7b00980084360bc2a659d49462e51c7aac16f5974c5fcc3abd6f05f7ed6592d8f264aa7f21684cad38af385cfe03524ba2327236490bf28542d7f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=42b90acd27dcf671c7d1f62b4ecceb4825c5ce3bd8c44f5957ef56822bf50f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=45ddb566084ceec6fc0adc2e814ff0c6d07ae69e7248f0551c198b71a0d783 + +handshake=Noise_KXpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548544e4275a97c99ec7854f30013ee77f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a61295b2a49e6bd40fc40e1a1f28ac34130cac3377f7343efb28e1b707a2299659cb923f1f226e2978fd4733e78a8223a7a694eaeac15deff1b257a8ffd29d2c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=422e6f132671f31c057aa12609a08e6b971f81cd27be000592cd40301af11e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=55484c7bd5558711b44c2a32e603b34964dc0e927db52282255636934440f0 + +handshake=Noise_KXpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e9b221e00cdcbb650b72e970ff83babb +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d0f71c06a5716d87cbb5d97a45053222a6d60e07a582ce9dce1155d4fcaa192fb519550ab9024a779c2636ab49bf3ba56dab990ce321a23b1280c59bce5ce4dd +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a2c799c936e5eba4d7d21ac769ae2a887414f8f9b3d2220952f64ca948411d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4947d1bc4ccf44d845765ed79859094e2bf493b78c605ae3be52e5c4a03173 + +handshake=Noise_KXpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b7d1ddd1aca55c78b5120a7f4cf4d092 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e441b3d7203d59162fdf03aecb1e9abc3fc65c102f49d381190d2ce7d9396fb02c53f0a687a80ff806d2c1953981b2023b75750f4a37944f1938b03cdf278b9b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=fd13dbc237f374adb0ecb695c24ad344784f57393b09efafe0aef543a510ff +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=76e66c4f498fccd441d67019c0e9274449c9c2711054daa2dc1ad1b2e302c9 + +handshake=Noise_KX_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846645f7f537bba7b00980084360bc2a659d49462e51c7aac16f5974c5fcc3abd6f0d0784ff6a1efe6404d97729b19faf7bf96e2147355ad9eae84ed96d9b0276e18f4c96d3a563f50dd6bc6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=42b90acd27dcf671c7d1f62b4ecceb4825c5ce3bd8c44f5957ef56822bf50f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=45ddb566084ceec6fc0adc2e814ff0c6d07ae69e7248f0551c198b71a0d783 + +handshake=Noise_KXpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b006bf285e1cc8449eefb4803696a072f96625e392032412ac7b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a61295b2a49e6bd40fc40e1a1f28ac34130cac3377f7343efb28e1b707a22996043e592d42da12d8eecdd160890c22ca8ee70aa30463a615c058d6e9c5a3740a312c13c8ee955dcdf6cc +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=422e6f132671f31c057aa12609a08e6b971f81cd27be000592cd40301af11e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=55484c7bd5558711b44c2a32e603b34964dc0e927db52282255636934440f0 + +handshake=Noise_KXpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540fe2a78085f7d670d1705b765c61bda640f638b04934aff5d2df +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d0f71c06a5716d87cbb5d97a45053222a6d60e07a582ce9dce1155d4fcaa192ffd8284d74683b696a160b63590b75addda2fa2fffc3c20e6b1b1a6239f770840ffc3245f7e0bac0b134b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a2c799c936e5eba4d7d21ac769ae2a887414f8f9b3d2220952f64ca948411d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4947d1bc4ccf44d845765ed79859094e2bf493b78c605ae3be52e5c4a03173 + +handshake=Noise_KXpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548908a58a36d8dc3bee25fb17d21656ca9d006c84e231e9391a54 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e441b3d7203d59162fdf03aecb1e9abc3fc65c102f49d381190d2ce7d9396fb09b82de351bf3309dcc311af9eaf338c126bfd57f36960aa25616ae53b38a2081e943aeed082c3d3a00a4 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=fd13dbc237f374adb0ecb695c24ad344784f57393b09efafe0aef543a510ff +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=76e66c4f498fccd441d67019c0e9274449c9c2711054daa2dc1ad1b2e302c9 + +handshake=Noise_KX_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846645f7f537bba7b00980084360bc2a659d49462e51c7aac16f5974c5fcc3abd6f008d091837372254d9904e61d91b53baa4e6613a4a57cf930b2e4fc137a1f8a0f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=42b90acd27dcf671c7d1f62b4ecceb4825c5ce3bd8c44f5957ef56822bf50f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=45ddb566084ceec6fc0adc2e814ff0c6d07ae69e7248f0551c198b71a0d783 + +handshake=Noise_KXpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541e114d4616248178fa6a52bebfa79fb8 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a61295b2a49e6bd40fc40e1a1f28ac34130cac3377f7343efb28e1b707a22996e0565a8630f96f31796cd72f87e78d69075097a2f17b4f37a7945a2bdea2ceef +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=422e6f132671f31c057aa12609a08e6b971f81cd27be000592cd40301af11e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=55484c7bd5558711b44c2a32e603b34964dc0e927db52282255636934440f0 + +handshake=Noise_KXpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d57e59a6963d53021f5bfcd757ae8b39 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d0f71c06a5716d87cbb5d97a45053222a6d60e07a582ce9dce1155d4fcaa192fa0d104f5bc8e28c5f959f1a55333a948ba80cbdebd704e58e1f6b05d8eff2ba1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a2c799c936e5eba4d7d21ac769ae2a887414f8f9b3d2220952f64ca948411d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4947d1bc4ccf44d845765ed79859094e2bf493b78c605ae3be52e5c4a03173 + +handshake=Noise_KXpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541326b4b1cbb8a627c7e589b8c8fdcc16 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e441b3d7203d59162fdf03aecb1e9abc3fc65c102f49d381190d2ce7d9396fb05b27cd488484ecb9437e1737a38fc727b7010d60deda8b391d9d0f72d20d5c75 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=fd13dbc237f374adb0ecb695c24ad344784f57393b09efafe0aef543a510ff +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=76e66c4f498fccd441d67019c0e9274449c9c2711054daa2dc1ad1b2e302c9 + +handshake=Noise_KX_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846645f7f537bba7b00980084360bc2a659d49462e51c7aac16f5974c5fcc3abd6f09af46abfbaeb6c9a0231e7469a859de896e2147355ad9eae84ed9a52883bed02d1ec49e1ae5ca88674a2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=42b90acd27dcf671c7d1f62b4ecceb4825c5ce3bd8c44f5957ef56822bf50f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=45ddb566084ceec6fc0adc2e814ff0c6d07ae69e7248f0551c198b71a0d783 + +handshake=Noise_KXpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b006bf285e1cc8449eef9d8fc5d2f9c711e1987b7781167bbce8 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a61295b2a49e6bd40fc40e1a1f28ac34130cac3377f7343efb28e1b707a22996c8d1923fde7f66216702d15a384adb718ee70aa30463a615c058779d93896d68e450351480fe181da78d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=422e6f132671f31c057aa12609a08e6b971f81cd27be000592cd40301af11e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=55484c7bd5558711b44c2a32e603b34964dc0e927db52282255636934440f0 + +handshake=Noise_KXpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540fe2a78085f7d670d1700d3c687f29c6956ddd271352b018d110 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d0f71c06a5716d87cbb5d97a45053222a6d60e07a582ce9dce1155d4fcaa192fb691b582e5aad280c365586d54fb8d21da2fa2fffc3c20e6b1b1e333d00ab6b0bdd0ce17e547e8763bbc +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a2c799c936e5eba4d7d21ac769ae2a887414f8f9b3d2220952f64ca948411d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4947d1bc4ccf44d845765ed79859094e2bf493b78c605ae3be52e5c4a03173 + +handshake=Noise_KXpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548908a58a36d8dc3bee258dc3cc2bff1ebac4572450a310136fee +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e441b3d7203d59162fdf03aecb1e9abc3fc65c102f49d381190d2ce7d9396fb0e670c75a1572c5ed4b7c4e18d7163a1226bfd57f36960aa25616a6fb8b27806eb6782f97b72d49760bed +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=fd13dbc237f374adb0ecb695c24ad344784f57393b09efafe0aef543a510ff +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=76e66c4f498fccd441d67019c0e9274449c9c2711054daa2dc1ad1b2e302c9 + +handshake=Noise_XN_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b7d8187d170dc771df11b75334183868 +msg_2_payload= +msg_2_ciphertext=486ffb188e214980067c5ce19591b4f1b1497b971e30ec91d31bd5c18b2373eac8edba0652ee3830483af64f81eacbe644efedbbd6c6734d1aa3f9c1461a8576 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=226c1a7a3eb2ff97ae113d905d56489f5e91b56ad36d333552fdac29ff293b +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=5569f84032223b1fcb28d9def11fc807b8225089859bc49d3a44662b5bc6c5 + +handshake=Noise_XNpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540b4e435539b8778fc984a53142ed1d34 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b4d4b525b6a1fe1a4464adbff47ccec3 +msg_2_payload= +msg_2_ciphertext=deb852db81c970c53f0a9a457e8b31cb53509a146199636fcd465c9eebac538ef5ec27d761da511083aae47bc8ec9960bf67814876f646456759f6eec5d88c6c +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=0b8b61050fed8c393461e28e7173106096d992680a0a8fca2c5bec37cf37cf +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=9ad22402add33878374568727e1dba89ed39b3a7f35cd144b7caa45785aee7 + +handshake=Noise_XNpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540e408809b80401244941dccac4134cce +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660b85c6e758641aea77c2ad7f6144cad0 +msg_2_payload= +msg_2_ciphertext=332d57a13424aceba27618d8fe8b6de96775b8398e39238994a737fe68fa680962032e627ce9923882a92f67c0200ea13206085252dcc1647aefb4ecbdedda58 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=8e7251e6b6625a32bf85fac6b5e34f833254989fc5aa63cf11fa032af49245 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=f05530f84856a293384329c4ce0f0798bc4410a52046d7edfdd4d2ec05948f + +handshake=Noise_XNpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545477d3a3ba67a624953cebab6b281d08 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e071471a5398a3bd50445adca4df941e +msg_2_payload= +msg_2_ciphertext=027fe3c8ca06bd4f6e10c6388005c09ce6c0f4b298ab7f3a15c158c15337d93773846a9cd490ea54b678e1ffd60fe5012ddb586af2f165ae0cb7170dc06346c6 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=e9acbdf9ffd865c840598217601d320c40073cc16cd7ab5e106c4d37d26987 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=3f7a01de8c7b17dc99849ff8fa6aa8c6b8c43f6ce86203d745ef09c6c010b2 + +handshake=Noise_XNpsk3_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543f6a7217dc75ca41c3911066ee0c5906 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846681afbb042c41e679d53667fd78ea7e5d +msg_2_payload= +msg_2_ciphertext=e506abe8229dce20fb1e15484b101bff86d8d5431f6c63f434ee31d67021a62a943306cd45edf878bc45efc723919fa751dfae61f5b3180d8202fe6efaaddd63 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=ce3255a6c24fb66e413c8543cb8f09d97f1750639337c5c322fbf37a2cd501 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=d96d7282e64170d7fc4074bca3d778f7f165116cf28fe5e74fa7b330e7e400 + +handshake=Noise_XN_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660f377bb64185a9cf7ce1e379602e74ba38c07c1c2a026e64c5c0 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=486ffb188e214980067c5ce19591b4f1b1497b971e30ec91d31bd5c18b2373ea0643c46b29a4dde3164a69a808d90fc150d900caad0def5ed10015cb05452802c0bcfc5bfba885906427 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=226c1a7a3eb2ff97ae113d905d56489f5e91b56ad36d333552fdac29ff293b +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=5569f84032223b1fcb28d9def11fc807b8225089859bc49d3a44662b5bc6c5 + +handshake=Noise_XNpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541f57ad03ee30a67ff8595ba7dfaec76aff61a89df1685273c8f9 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466335cb281f418f7ba439a5c4908155e68796ecca86a44354e6302 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=deb852db81c970c53f0a9a457e8b31cb53509a146199636fcd465c9eebac538ee70af9fc35a0bd839e0fbbceb2ceb941e19257a7b6f06c69994a69538ef20315caef2035d664312e94a8 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=0b8b61050fed8c393461e28e7173106096d992680a0a8fca2c5bec37cf37cf +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=9ad22402add33878374568727e1dba89ed39b3a7f35cd144b7caa45785aee7 + +handshake=Noise_XNpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542c69b0ed12a80ca70a0fe657a10cb63cd99468f1acbd8224dd3a +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466305a1f920e8c82b47fa496c53a37ca8b20b660ee4b0773293763 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=332d57a13424aceba27618d8fe8b6de96775b8398e39238994a737fe68fa6809a3f1b6876708addc7a53f4ebef97a9c3b6452c76d8dfe69b69b7e66522dbabb18e487eef49646e903148 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=8e7251e6b6625a32bf85fac6b5e34f833254989fc5aa63cf11fa032af49245 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=f05530f84856a293384329c4ce0f0798bc4410a52046d7edfdd4d2ec05948f + +handshake=Noise_XNpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543247f4ea8236ed9947cc1415f9206c59465f532b848a94591cc9 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c40676ef641ec2b2b6fa7e9334283fdd4229bed03af0d6e991ca +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=027fe3c8ca06bd4f6e10c6388005c09ce6c0f4b298ab7f3a15c158c15337d937872b1ede7375d1ad8ea688f5c5b9beadd1213591f5456e0c3dc7f839a6dade8a748b51a74090cb670467 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=e9acbdf9ffd865c840598217601d320c40073cc16cd7ab5e106c4d37d26987 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=3f7a01de8c7b17dc99849ff8fa6aa8c6b8c43f6ce86203d745ef09c6c010b2 + +handshake=Noise_XNpsk3_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544892c27a1b4e4768d4e362aac34f05fdad78747fc1cce5c6e338 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466612e19645b49e373cff7e818c5721ae3c024a618d2d66b2e5d18 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=e506abe8229dce20fb1e15484b101bff86d8d5431f6c63f434ee31d67021a62aeb922a2abac14eecd904de08848e215259172644930ac13ed24d67d1916560d540a7b1ca02a6b926819d +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=ce3255a6c24fb66e413c8543cb8f09d97f1750639337c5c322fbf37a2cd501 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=d96d7282e64170d7fc4074bca3d778f7f165116cf28fe5e74fa7b330e7e400 + +handshake=Noise_XN_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669d3c26f842cdf05230729fc44c7a617c +msg_2_payload= +msg_2_ciphertext=486ffb188e214980067c5ce19591b4f1b1497b971e30ec91d31bd5c18b2373eac5b11685a2f87b7ac31c1a4b49778680d8620b814c325c89cf286565822004aa +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=226c1a7a3eb2ff97ae113d905d56489f5e91b56ad36d333552fdac29ff293b +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=5569f84032223b1fcb28d9def11fc807b8225089859bc49d3a44662b5bc6c5 + +handshake=Noise_XNpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c44b17b7d0bf45d77e5f96b055ab6fe9 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466eadbd5bfbb94389829adc583de19d424 +msg_2_payload= +msg_2_ciphertext=deb852db81c970c53f0a9a457e8b31cb53509a146199636fcd465c9eebac538ee6bff14bc3846ad6f76e5e0a90bbc6dd7960a92ae9c64e42a2eb40900a6f4cd5 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=0b8b61050fed8c393461e28e7173106096d992680a0a8fca2c5bec37cf37cf +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=9ad22402add33878374568727e1dba89ed39b3a7f35cd144b7caa45785aee7 + +handshake=Noise_XNpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b2097565e2f0b03f343ad91768d3314e +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669fc5e675e71a75698278b4300d53e87b +msg_2_payload= +msg_2_ciphertext=332d57a13424aceba27618d8fe8b6de96775b8398e39238994a737fe68fa6809311fb0f9264244e60cb48b4b6058629f30afa9f509bbd838d24ef120770e1cc8 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=8e7251e6b6625a32bf85fac6b5e34f833254989fc5aa63cf11fa032af49245 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=f05530f84856a293384329c4ce0f0798bc4410a52046d7edfdd4d2ec05948f + +handshake=Noise_XNpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547ffc3fa91240b5932693ed3b9db99d7c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660acd02cb99ac2db8313b5182b3179b3b +msg_2_payload= +msg_2_ciphertext=027fe3c8ca06bd4f6e10c6388005c09ce6c0f4b298ab7f3a15c158c15337d93738742ee35f8cfbd59e125a8035b560c9f20867cc11dd0b27e4df6fa43326c234 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=e9acbdf9ffd865c840598217601d320c40073cc16cd7ab5e106c4d37d26987 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=3f7a01de8c7b17dc99849ff8fa6aa8c6b8c43f6ce86203d745ef09c6c010b2 + +handshake=Noise_XNpsk3_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e6146b34b323c78f9818412261244901 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f451ca4aecda85a294a53bce469d770d +msg_2_payload= +msg_2_ciphertext=e506abe8229dce20fb1e15484b101bff86d8d5431f6c63f434ee31d67021a62ac5c7fef3e518ee12feee90444548094aa9b60bfbc5d1e32de454077812a6e3c9 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=ce3255a6c24fb66e413c8543cb8f09d97f1750639337c5c322fbf37a2cd501 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=d96d7282e64170d7fc4074bca3d778f7f165116cf28fe5e74fa7b330e7e400 + +handshake=Noise_XN_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660f377bb64185a9cf7ce16283bd3daf6d9c0ba6c497733575cc6c +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=486ffb188e214980067c5ce19591b4f1b1497b971e30ec91d31bd5c18b2373ea663e0df03962627965e5fcaa901f5dff50d900caad0def5ed1006938800ab47acddce47a5db586f73fc5 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=226c1a7a3eb2ff97ae113d905d56489f5e91b56ad36d333552fdac29ff293b +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=5569f84032223b1fcb28d9def11fc807b8225089859bc49d3a44662b5bc6c5 + +handshake=Noise_XNpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541f57ad03ee30a67ff85978adde877f716279533e0a2229a4aab7 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466335cb281f418f7ba439abe510d34d9184008ae80207850403aa6 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=deb852db81c970c53f0a9a457e8b31cb53509a146199636fcd465c9eebac538ec7e4e29b1af4f63c31a16d9f340a38b8e19257a7b6f06c69994a70c8c156b8ebcaab740791146667087c +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=0b8b61050fed8c393461e28e7173106096d992680a0a8fca2c5bec37cf37cf +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=9ad22402add33878374568727e1dba89ed39b3a7f35cd144b7caa45785aee7 + +handshake=Noise_XNpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542c69b0ed12a80ca70a0f8816914cd7fb3040fd3220ca32168832 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466305a1f920e8c82b47fa444a556e2e6905911b42f7d3f12eef8d1 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=332d57a13424aceba27618d8fe8b6de96775b8398e39238994a737fe68fa6809906b387fbc92454cb8e3ce80aa3ce2d1b6452c76d8dfe69b69b752a7b14c6e906bb630d10bfb0708286e +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=8e7251e6b6625a32bf85fac6b5e34f833254989fc5aa63cf11fa032af49245 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=f05530f84856a293384329c4ce0f0798bc4410a52046d7edfdd4d2ec05948f + +handshake=Noise_XNpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543247f4ea8236ed9947cc4a8d0fece6a150beb0461a04c507ad2f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c40676ef641ec2b2b6faec1bf71f0b73312bd4d55c65fb531c84 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=027fe3c8ca06bd4f6e10c6388005c09ce6c0f4b298ab7f3a15c158c15337d93775dc62f002272f6904411b71bd08dbc6d1213591f5456e0c3dc79ac833bef0e945cd83a245502521d272 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=e9acbdf9ffd865c840598217601d320c40073cc16cd7ab5e106c4d37d26987 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=3f7a01de8c7b17dc99849ff8fa6aa8c6b8c43f6ce86203d745ef09c6c010b2 + +handshake=Noise_XNpsk3_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544892c27a1b4e4768d4e3f54bce40707a191b272b69140d3400f9 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466612e19645b49e373cff732ad5876325b056b774da6e2856fcc76 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=e506abe8229dce20fb1e15484b101bff86d8d5431f6c63f434ee31d67021a62a5274f6f82b572bcc2ccc52af86d6615c59172644930ac13ed24d153f267d66d2b3dcb2236a3719f343bf +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=ce3255a6c24fb66e413c8543cb8f09d97f1750639337c5c322fbf37a2cd501 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=d96d7282e64170d7fc4074bca3d778f7f165116cf28fe5e74fa7b330e7e400 + +handshake=Noise_IN_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466659213d4ce7051561fa9c93bb500a945 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=19a1c0a20452d8a44b7254cab212c1ff1098a0651a73ab58812290a0d9baee +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=01c7222fc0c22585ce1032e012d225e0fc53213dabde8f5dfc15ea2f5173ea + +handshake=Noise_INpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625426df4f9c2999bafe403964ea11975f86af2d3f459ca54211b55e0b49a37beb70989b57c41d71288d7a645427e31f0cb2dcbb4db539c677da4af178d31053d13a +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fc20123316e7891f44ad163404fe4a4c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=84725e6c75c8c0b1b97c0e28ee7b19b576c6a60866bd79dd3131d5ee51c24b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8590802179dc26ea74bfc6a974cf1ff0e3b2873d1d35056fd1ff7864f9a644 + +handshake=Noise_INpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625481808305f9d7b92b5ea8b8862b86f62c20567a3bd4dc220e0ccf2fc62558f235f4678aaae2b806b4a90aae519295ec01a41b4407fe9d17f084c2ddda16124140 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846663791a12da21572632f46c02df0a7406 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=84f2db9466d00f52a3fc9f0ee6c04d3424921a32d74e43ab7b257e2df0dcbe +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=7770c9796a35e3e0d64d35adc860ce54d86eebe105e3755636ae56b0e5fa08 + +handshake=Noise_INpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625441fcbd1030f49b2f467e42d08b039c8155bf36a93cf9933e2a8e39f0f0b5c49eaef35880826277e28a79b5eef2b86e0128f1343d8389fca6107a00d2091138bb +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b53337b2ea8b7ee8ddf33c94e6759ac2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ce2558df09ff72b190aeae3894c7a7c1151a9b52117ee855995f2695ce43ec +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8eb7770ec52590ee4f3803a3872fc02a6587d149f84deef14fb72ebd4d5316 + +handshake=Noise_IN_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466711652c1b7ae42adf79af77d71534b43a53dcf922ba05ae2ac7b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=19a1c0a20452d8a44b7254cab212c1ff1098a0651a73ab58812290a0d9baee +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=01c7222fc0c22585ce1032e012d225e0fc53213dabde8f5dfc15ea2f5173ea + +handshake=Noise_INpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625426df4f9c2999bafe403964ea11975f86af2d3f459ca54211b55e0b49a37beb70989b57c41d71288d7a645427e31f0cb232047a7659ec1068a88fe5cb7ea21be467b78d47b7baaa05dd34 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667981f9efb8ad730403563a2f5370ba187c5246e8c27ada9bf8cd +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=84725e6c75c8c0b1b97c0e28ee7b19b576c6a60866bd79dd3131d5ee51c24b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8590802179dc26ea74bfc6a974cf1ff0e3b2873d1d35056fd1ff7864f9a644 + +handshake=Noise_INpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625481808305f9d7b92b5ea8b8862b86f62c20567a3bd4dc220e0ccf2fc62558f235f4678aaae2b806b4a90aae519295ec01ba8237f6d9105d8c7474d97f153c5ecfabcef174ccba4e2a9bb3 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a4757a7db35fc286d20a61dd38f374ceecfa44f66620f277856c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=84f2db9466d00f52a3fc9f0ee6c04d3424921a32d74e43ab7b257e2df0dcbe +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=7770c9796a35e3e0d64d35adc860ce54d86eebe105e3755636ae56b0e5fa08 + +handshake=Noise_INpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625441fcbd1030f49b2f467e42d08b039c8155bf36a93cf9933e2a8e39f0f0b5c49eaef35880826277e28a79b5eef2b86e01c6a207bd5e919c675a0d17f7e14db1a8f0e8579e6b1d2e095981 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668a013bee4be51ef49d047f6d038c5a2b395957690fabaaf40d07 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ce2558df09ff72b190aeae3894c7a7c1151a9b52117ee855995f2695ce43ec +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8eb7770ec52590ee4f3803a3872fc02a6587d149f84deef14fb72ebd4d5316 + +handshake=Noise_IN_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e7150a9dca189b7510ad6a70e6729e8a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=19a1c0a20452d8a44b7254cab212c1ff1098a0651a73ab58812290a0d9baee +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=01c7222fc0c22585ce1032e012d225e0fc53213dabde8f5dfc15ea2f5173ea + +handshake=Noise_INpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625426df4f9c2999bafe403964ea11975f86af2d3f459ca54211b55e0b49a37beb70342f60d7e017a9e508697e93d78355b626535fa190a36dfeb02ac6a7fdbd31d4 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466caf39580058278ca5b56e3e092908720 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=84725e6c75c8c0b1b97c0e28ee7b19b576c6a60866bd79dd3131d5ee51c24b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8590802179dc26ea74bfc6a974cf1ff0e3b2873d1d35056fd1ff7864f9a644 + +handshake=Noise_INpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625481808305f9d7b92b5ea8b8862b86f62c20567a3bd4dc220e0ccf2fc62558f235ecc21fa53263c3bb8c5ea661ed2cf0737c66bc33295664c78a4aa3223be0f3fa +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666a306aae194994874c7879ee8810f5a1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=84f2db9466d00f52a3fc9f0ee6c04d3424921a32d74e43ab7b257e2df0dcbe +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=7770c9796a35e3e0d64d35adc860ce54d86eebe105e3755636ae56b0e5fa08 + +handshake=Noise_INpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625441fcbd1030f49b2f467e42d08b039c8155bf36a93cf9933e2a8e39f0f0b5c49e63b930768aafd11bace041ce31e6a2ec456951153dbc13db98f6e98ddeb32dbd +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846646c106fc6f2c865265abbb262b1bdbf6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ce2558df09ff72b190aeae3894c7a7c1151a9b52117ee855995f2695ce43ec +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8eb7770ec52590ee4f3803a3872fc02a6587d149f84deef14fb72ebd4d5316 + +handshake=Noise_IN_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466711652c1b7ae42adf79ab3dc343dc9ace7a3bfccac12de3d193e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=19a1c0a20452d8a44b7254cab212c1ff1098a0651a73ab58812290a0d9baee +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=01c7222fc0c22585ce1032e012d225e0fc53213dabde8f5dfc15ea2f5173ea + +handshake=Noise_INpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625426df4f9c2999bafe403964ea11975f86af2d3f459ca54211b55e0b49a37beb70342f60d7e017a9e508697e93d78355b632047a7659ec1068a88ff75c4bc0591d93395bd4e06b6e8754e6 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667981f9efb8ad730403567813ca21163470293e3c6fc41b4ff0b4 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=84725e6c75c8c0b1b97c0e28ee7b19b576c6a60866bd79dd3131d5ee51c24b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8590802179dc26ea74bfc6a974cf1ff0e3b2873d1d35056fd1ff7864f9a644 + +handshake=Noise_INpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625481808305f9d7b92b5ea8b8862b86f62c20567a3bd4dc220e0ccf2fc62558f235ecc21fa53263c3bb8c5ea661ed2cf073ba8237f6d9105d8c74744d93349fc84b57b4fc980737d4759e01 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a4757a7db35fc286d20a1fcad775e56c67beb054c7f519c576d3 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=84f2db9466d00f52a3fc9f0ee6c04d3424921a32d74e43ab7b257e2df0dcbe +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=7770c9796a35e3e0d64d35adc860ce54d86eebe105e3755636ae56b0e5fa08 + +handshake=Noise_INpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625441fcbd1030f49b2f467e42d08b039c8155bf36a93cf9933e2a8e39f0f0b5c49e63b930768aafd11bace041ce31e6a2ecc6a207bd5e919c675a0d4c6555c46b7ad60a6449338078640754 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668a013bee4be51ef49d04e4373184dee4d8c2281669b66728d233 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ce2558df09ff72b190aeae3894c7a7c1151a9b52117ee855995f2695ce43ec +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8eb7770ec52590ee4f3803a3872fc02a6587d149f84deef14fb72ebd4d5316 + +handshake=Noise_XK_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d7fcb95d9da87e0af29cde0d6a5f287b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466800ac1687176d90bc6dbdf12863c0537 +msg_2_payload= +msg_2_ciphertext=92d38f089b41f951d834dddd45dbe5578c4021370d7e1a9478a94746309363a29763127dc08fe1cb8dc065082573ee096c7dc4e1c36837953f4916fc7b19dd03 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=2415b54e0f4f9843d8ef7a77448791fbb4c3c1335e88c0fc9f0ca1a48996b4 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=3653f1a64137245561ea386294c3c0954715d3e1f4b85effccbe2d1c43475f + +handshake=Noise_XKpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625445c2cc340ab6003689ddce8eada9ceae +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466214e4e1d6596bc62ea7cd6275cddfc39 +msg_2_payload= +msg_2_ciphertext=969813a2bee54c8d740a7f931ccff98baa6416e7cb8508e45e71e9e3932508ace41c99953f1325ad580dcf7a989586edfa0b6ee8ef46e5463098f735198874ff +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=839b155ed75c4053ce6a815306226060349a013205fc9418aa2e5a05e37fa7 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=40dba082e6da9293e21b496c9e74c7978542ba104874a6331fe12168b67099 + +handshake=Noise_XKpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543421b40e4c4da5824f33d5ed970d4c72 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466878d6a9f1192586ed358e91ee5cc1649 +msg_2_payload= +msg_2_ciphertext=8c1add204692080de004b0a79d901205d9ffbdbf7c23f1514c5ef9b3df2d4f71a9c91cc9c8ed052dbe6b8094ea588ec5cc703fc8be9632d41756df774ff82907 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=5700577bd6d3c9d2d1c0a2a5fed1c4de71869859a03099dfeb03bd981ace7d +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=2ec9ab876956dd0f236c33bca7c4b91ca0e3108a7c03f666bb04ef89e17d02 + +handshake=Noise_XKpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b396f9a7b3a726986fab49e66bb7c0f4 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d2ee8fa782dfe01926052719a57dbdfa +msg_2_payload= +msg_2_ciphertext=7c6c099d0438335855eeaa6c87ab89415079528c4d87469b62959bc66189837a43b24f63b056b84462dabb2d4be549a20f11a5bd4bcce092df24f07d4d69e22a +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=3fd3d739b18b4fc970e126c41893b2739f3d30b49d67035184b72dd87a838f +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=562d5785a73f04b43264dc1e800df65988cc7aeec98090a77f256c0dea1305 + +handshake=Noise_XKpsk3_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d4aa8d15cf148942f35d8bdf1c9f2c05 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bc0625a4f8b32dc5a768fd83880c493e +msg_2_payload= +msg_2_ciphertext=3f8f3799dfea7cd0b81bb96415f330d3e3f48ad1fc352c0b153cbbb230e97ab018a17ec22c9f3c5545f201227668b6536d82c4e45e3adfa8d4161327b89ca439 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=86042248607aea3d2a79be1388836b47969b9142baea780518c4c44e525d0a +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=7916c1051c9968838d6217df3ece55302168b2c76d4e69c7460e24535a50d9 + +handshake=Noise_XK_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254776fe5c02a96e95f6fc556ee66374ae786b903528d1b295d7522 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846676130dd92e35bd3dfea9939c3c01914d86fca24d8f05612dd2d7 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=92d38f089b41f951d834dddd45dbe5578c4021370d7e1a9478a94746309363a2485c5233cd0a9b22da8a2729920c6b3a9c61297320c75dc288dc9270fd8679c519e87538ecc20b18e9aa +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=2415b54e0f4f9843d8ef7a77448791fbb4c3c1335e88c0fc9f0ca1a48996b4 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=3653f1a64137245561ea386294c3c0954715d3e1f4b85effccbe2d1c43475f + +handshake=Noise_XKpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254098b5c955eb34a1b4c11491a1f25da104f9c12a6560e4a3a0200 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b3fa1fabeefa5b4f170db9a8eaa1888997cd3da3b60c71ba397c +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=969813a2bee54c8d740a7f931ccff98baa6416e7cb8508e45e71e9e3932508acd7b63294dde8d5c5bbea7739f023f46211824e8ba66e2079622d5865f7db5720f0291f54435b44d00169 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=839b155ed75c4053ce6a815306226060349a013205fc9418aa2e5a05e37fa7 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=40dba082e6da9293e21b496c9e74c7978542ba104874a6331fe12168b67099 + +handshake=Noise_XKpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548b5ab168f947be648453704b3b95edcfd75bec637735a93a2fb2 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661aa93bf01cd6e3e7f949ca31898cfa6d2556c8377ac6193d5cfd +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=8c1add204692080de004b0a79d901205d9ffbdbf7c23f1514c5ef9b3df2d4f711dcebb94fb27d3f54b01284f85fd7ef6037e46e0de1b083d799cca20dd026b4bd3773a7a117e4f9c5692 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=5700577bd6d3c9d2d1c0a2a5fed1c4de71869859a03099dfeb03bd981ace7d +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=2ec9ab876956dd0f236c33bca7c4b91ca0e3108a7c03f666bb04ef89e17d02 + +handshake=Noise_XKpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545720b91a9dcab61c37b8814561cda01c19a5f7bfea89802537d1 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c8a84bf5a002e9e393ff048a9a6b9cf1f09d44b4aaa089d2640e +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=7c6c099d0438335855eeaa6c87ab89415079528c4d87469b62959bc66189837a0ead89bdd77510a4f3e8fd591d591345386ce238a665fe32d93ed7c485fab009e51b239ebcacf940abbe +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=3fd3d739b18b4fc970e126c41893b2739f3d30b49d67035184b72dd87a838f +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=562d5785a73f04b43264dc1e800df65988cc7aeec98090a77f256c0dea1305 + +handshake=Noise_XKpsk3_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254bf7b785a3e9cc3a60cfa3d1704700697f33e32e082282b754d78 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a867c4b84b57de8e777468abbf7194d6daedca28b6a2122b1249 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=3f8f3799dfea7cd0b81bb96415f330d3e3f48ad1fc352c0b153cbbb230e97ab02b4a3292e06f079eeb610e5d7ac8438a1c93d192615dfb4da0b725cd90e7976e2f26faad75511b079923 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=86042248607aea3d2a79be1388836b47969b9142baea780518c4c44e525d0a +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=7916c1051c9968838d6217df3ece55302168b2c76d4e69c7460e24535a50d9 + +handshake=Noise_XK_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254dc4410806334bcafc02c5f0288cba55f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ae416864308a4715413b37adefce89bb +msg_2_payload= +msg_2_ciphertext=92d38f089b41f951d834dddd45dbe5578c4021370d7e1a9478a94746309363a227f611ff53b50b0d3218258cf499c7fd9e8957ea5c45de361b798573cedf448c +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=2415b54e0f4f9843d8ef7a77448791fbb4c3c1335e88c0fc9f0ca1a48996b4 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=3653f1a64137245561ea386294c3c0954715d3e1f4b85effccbe2d1c43475f + +handshake=Noise_XKpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f48adffda573b586253f36b35ae765f6 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846609630930c7e2c7cde8bd1c87e650eba8 +msg_2_payload= +msg_2_ciphertext=969813a2bee54c8d740a7f931ccff98baa6416e7cb8508e45e71e9e3932508ac1fbd3cbb304e67b87c76c4e11c571046ba79b4fd1fc6b3d4ba4a5fc9b2077171 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=839b155ed75c4053ce6a815306226060349a013205fc9418aa2e5a05e37fa7 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=40dba082e6da9293e21b496c9e74c7978542ba104874a6331fe12168b67099 + +handshake=Noise_XKpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ad3cb547b0f1ba018228d6d48b1302d6 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466363e99dcad427a100c62c4fca6743d44 +msg_2_payload= +msg_2_ciphertext=8c1add204692080de004b0a79d901205d9ffbdbf7c23f1514c5ef9b3df2d4f712c00e0a7262263bc0fa2f498110f3023d6d614065bd937c3dcc68aa42afb9f53 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=5700577bd6d3c9d2d1c0a2a5fed1c4de71869859a03099dfeb03bd981ace7d +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=2ec9ab876956dd0f236c33bca7c4b91ca0e3108a7c03f666bb04ef89e17d02 + +handshake=Noise_XKpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d1b0d8db64424f07a17edfe37cd6ecbb +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662600630bebba156d21b4352295cf1587 +msg_2_payload= +msg_2_ciphertext=7c6c099d0438335855eeaa6c87ab89415079528c4d87469b62959bc66189837a5300ba1f27066ab0f8ac8ff29be25d7e9e38b5a86438cc7efc8a58302284255a +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=3fd3d739b18b4fc970e126c41893b2739f3d30b49d67035184b72dd87a838f +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=562d5785a73f04b43264dc1e800df65988cc7aeec98090a77f256c0dea1305 + +handshake=Noise_XKpsk3_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c6abbd65f6352017e41b0526f935d4fa +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f7e5ebfdda054bed9fe6a6234d6a7c2a +msg_2_payload= +msg_2_ciphertext=3f8f3799dfea7cd0b81bb96415f330d3e3f48ad1fc352c0b153cbbb230e97ab0d6f8f274d7ee267767e3e543ad1fbc4ec3ce0f6dd3939eb8a98e87dabbf62d75 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=86042248607aea3d2a79be1388836b47969b9142baea780518c4c44e525d0a +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=7916c1051c9968838d6217df3ece55302168b2c76d4e69c7460e24535a50d9 + +handshake=Noise_XK_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254776fe5c02a96e95f6fc57a9232ae7515f60452f85bcbe3e6f292 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846676130dd92e35bd3dfea9dcd8a750ba80f0fd88e6996bcee6f1c1 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=92d38f089b41f951d834dddd45dbe5578c4021370d7e1a9478a94746309363a278d070e8c58bf3524d8f197ab037fdcb9c61297320c75dc288dc39f19360875d6111c307664b3a0bf0ac +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=2415b54e0f4f9843d8ef7a77448791fbb4c3c1335e88c0fc9f0ca1a48996b4 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=3653f1a64137245561ea386294c3c0954715d3e1f4b85effccbe2d1c43475f + +handshake=Noise_XKpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254098b5c955eb34a1b4c110d747d4a36bf21cb8bc8c804f71c68f0 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b3fa1fabeefa5b4f170d48ee6e86ab0f45624d5a3a909b3a9b11 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=969813a2bee54c8d740a7f931ccff98baa6416e7cb8508e45e71e9e3932508acc694f7a253f0ce275ea72ee17d008b7f11824e8ba66e2079622d9ef5fb46dc9543ea8892f8f24d34aaba +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=839b155ed75c4053ce6a815306226060349a013205fc9418aa2e5a05e37fa7 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=40dba082e6da9293e21b496c9e74c7978542ba104874a6331fe12168b67099 + +handshake=Noise_XKpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548b5ab168f947be648453c179b7a5f141728783b58a14c7856fbe +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661aa93bf01cd6e3e7f949145e514380905712cb7cb7c81fdcc1b4 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=8c1add204692080de004b0a79d901205d9ffbdbf7c23f1514c5ef9b3df2d4f71a2ed70c8feada07998dbcdd38ca4a29a037e46e0de1b083d799cf6ab0c35ba161be8e6beb6a93c5e4dbc +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=5700577bd6d3c9d2d1c0a2a5fed1c4de71869859a03099dfeb03bd981ace7d +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=2ec9ab876956dd0f236c33bca7c4b91ca0e3108a7c03f666bb04ef89e17d02 + +handshake=Noise_XKpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545720b91a9dcab61c37b8fdab24849c2062acdd29252d4b53b370 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c8a84bf5a002e9e393ffda17842e6b4e3cb0f50b0225f5fc489f +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=7c6c099d0438335855eeaa6c87ab89415079528c4d87469b62959bc66189837ae6e466d4af2f9686cb8df36fc22fd85f386ce238a665fe32d93e355fda6cff6b81c94b84931e25c047a9 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=3fd3d739b18b4fc970e126c41893b2739f3d30b49d67035184b72dd87a838f +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=562d5785a73f04b43264dc1e800df65988cc7aeec98090a77f256c0dea1305 + +handshake=Noise_XKpsk3_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254bf7b785a3e9cc3a60cfa1fae5337fa8886d55a06d82e213d5459 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a867c4b84b57de8e7774f3198fd17a166131b3ecfd7ae59d1406 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=3f8f3799dfea7cd0b81bb96415f330d3e3f48ad1fc352c0b153cbbb230e97ab0608a59baf1cd8cbf237675a276c86abc1c93d192615dfb4da0b736a363083920a7853b3732d4aa37de18 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=86042248607aea3d2a79be1388836b47969b9142baea780518c4c44e525d0a +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=7916c1051c9968838d6217df3ece55302168b2c76d4e69c7460e24535a50d9 + +handshake=Noise_IK_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a38fd17d3ecfc034b8662c49ba22d8558729800e0313b725febfb2ec77bd84a2bf740c07e5cfd9d0a2d377198bb3e525fa18b100686908255ea1150d9a8001ca +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669f9a4611a8a2078190bdb54616a8918f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c69889e3504ff2c2199e28029aea578cd758b4214a3c8b83f92b5ee66670ef +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=36198b611040f132bd465de67099a9ddf9dfe3f23bd1f2d30c943b26c3fb5a + +handshake=Noise_IKpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b9d7e098f29f8d60de3d6535f46b2d89cb9366382ef8243cbf9c650eab2dc27f01d46a576445054a4d2e2df4b1f220cce5e9325db888b8d29e5d8f4fd9a77fe0 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663ebddc558f82c368423bc3e5e00700f2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=116b1de8e063d67a8d8c5be83a7f444168b60447df326749434d22cf39ffb1 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=035f0315fdae44c8c718fa8509fc00c55ea3f4e322a500888874b90593f113 + +handshake=Noise_IKpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540b5b9c6666fe0610f8de010548ef7b2c1ff9cfdcd2a35d7257c0f14cf6b65792b0e9536d43e2b8d36cf8ac0d1e756d4757cb9f9f3bdd55b5cfdb5954d3063844 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660da82bcd895d1b8199ddcb12ab5ddfca +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=1cce3a32168d9494773586dbc7599e2c94e401f0936e3696e91b8a00209601 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2f113c945e331cd45962508eee9d01907800a7b4f611d2d5264fdeb96a81ff + +handshake=Noise_IKpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540193347cd7c4197ad710ce0f36a4c24fc4da2c0b271e51f178b900abb6361298e62d4d75c6fe9a49584fe9ca40f5cd5e60c071e7738477042185ec854f83b76e +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466af3fef0028d1964b618ae069d56fb155 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=1f941586981ee8e35546c4c825ae5b59f085ec1ac261c913667246bc609496 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=c7df30218d05a737fb405b7067cfd591d593d111fe1847d086ae37e806dda8 + +handshake=Noise_IK_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a38fd17d3ecfc034b8662c49ba22d8558729800e0313b725febfb2ec77bd84a2bf740c07e5cfd9d0a2d377198bb3e525e9cee2fc198c757f297517fc5be735549e54d9d557fc96f7c5ff +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bb139fe5e49c4d60a6ecd193505e01bdb218399d78150c11ce8d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c69889e3504ff2c2199e28029aea578cd758b4214a3c8b83f92b5ee66670ef +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=36198b611040f132bd465de67099a9ddf9dfe3f23bd1f2d30c943b26c3fb5a + +handshake=Noise_IKpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b9d7e098f29f8d60de3d6535f46b2d89cb9366382ef8243cbf9c650eab2dc27f01d46a576445054a4d2e2df4b1f220ccbcbfc9a0cec566f4a3969cbd5264c8e59adf9c11031617ce7d24 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f0e11f5f201496d65ded674476b0378052ce43ff98321c35654d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=116b1de8e063d67a8d8c5be83a7f444168b60447df326749434d22cf39ffb1 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=035f0315fdae44c8c718fa8509fc00c55ea3f4e322a500888874b90593f113 + +handshake=Noise_IKpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540b5b9c6666fe0610f8de010548ef7b2c1ff9cfdcd2a35d7257c0f14cf6b65792b0e9536d43e2b8d36cf8ac0d1e756d47c6cf8ace27084be59885bf4844fadfd9dfc1592f3179058ea7bc +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660e207c946b72c6e772588dbd81244e6e87253cf9703c4156ed65 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=1cce3a32168d9494773586dbc7599e2c94e401f0936e3696e91b8a00209601 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2f113c945e331cd45962508eee9d01907800a7b4f611d2d5264fdeb96a81ff + +handshake=Noise_IKpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540193347cd7c4197ad710ce0f36a4c24fc4da2c0b271e51f178b900abb6361298e62d4d75c6fe9a49584fe9ca40f5cd5ea873d705aef61f8a6af29492c9e58fa7bc5094ff240e4edb4aa4 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ee3ad6bce0a3efbf171d998ea2f0255498e25d9bce8287eb8da8 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=1f941586981ee8e35546c4c825ae5b59f085ec1ac261c913667246bc609496 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=c7df30218d05a737fb405b7067cfd591d593d111fe1847d086ae37e806dda8 + +handshake=Noise_IK_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a38fd17d3ecfc034b8662c49ba22d8558729800e0313b725febfb2ec77bd84a2108f69d924cca3b15ef92569d7ec2cdd6548391e29b99f96e7b5a5091b8a9f93 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846657c9117c74762c3957ec726fa608e616 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c69889e3504ff2c2199e28029aea578cd758b4214a3c8b83f92b5ee66670ef +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=36198b611040f132bd465de67099a9ddf9dfe3f23bd1f2d30c943b26c3fb5a + +handshake=Noise_IKpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b9d7e098f29f8d60de3d6535f46b2d89cb9366382ef8243cbf9c650eab2dc27fbad3ba213848dbb944b7105fdd6ab12b7fe76265452d31ddd7f0f01fe0eec744 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667f44a254be52605ed2a0053cc0650c99 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=116b1de8e063d67a8d8c5be83a7f444168b60447df326749434d22cf39ffb1 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=035f0315fdae44c8c718fa8509fc00c55ea3f4e322a500888874b90593f113 + +handshake=Noise_IKpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540b5b9c6666fe0610f8de010548ef7b2c1ff9cfdcd2a35d7257c0f14cf6b6579241f7b7d690f1bded3fca5448cc406d3e1005ef58c3ccd169ec72b2f7c4caa8b6 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846605b9566b5b0f3deb72a002560de9d6bc +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=1cce3a32168d9494773586dbc7599e2c94e401f0936e3696e91b8a00209601 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2f113c945e331cd45962508eee9d01907800a7b4f611d2d5264fdeb96a81ff + +handshake=Noise_IKpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540193347cd7c4197ad710ce0f36a4c24fc4da2c0b271e51f178b900abb636129853d2066d323ef55180074e4e958c318e1bd8c9457e081991c320902e9eca0b16 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466934c3609b2ea20856de72db441812028 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=1f941586981ee8e35546c4c825ae5b59f085ec1ac261c913667246bc609496 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=c7df30218d05a737fb405b7067cfd591d593d111fe1847d086ae37e806dda8 + +handshake=Noise_IK_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a38fd17d3ecfc034b8662c49ba22d8558729800e0313b725febfb2ec77bd84a2108f69d924cca3b15ef92569d7ec2cdde9cee2fc198c757f2975da3efa4e0d0fe13a9991b9411ba4c0e2 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bb139fe5e49c4d60a6ec8c83fb024bc79e49670113142aa6c652 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c69889e3504ff2c2199e28029aea578cd758b4214a3c8b83f92b5ee66670ef +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=36198b611040f132bd465de67099a9ddf9dfe3f23bd1f2d30c943b26c3fb5a + +handshake=Noise_IKpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b9d7e098f29f8d60de3d6535f46b2d89cb9366382ef8243cbf9c650eab2dc27fbad3ba213848dbb944b7105fdd6ab12bbcbfc9a0cec566f4a39606ee8a4f74c5bab0347ec3820d2283e5 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f0e11f5f201496d65ded4b10d20841f311688cda5dc987c59676 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=116b1de8e063d67a8d8c5be83a7f444168b60447df326749434d22cf39ffb1 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=035f0315fdae44c8c718fa8509fc00c55ea3f4e322a500888874b90593f113 + +handshake=Noise_IKpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540b5b9c6666fe0610f8de010548ef7b2c1ff9cfdcd2a35d7257c0f14cf6b6579241f7b7d690f1bded3fca5448cc406d3ec6cf8ace27084be59885e4091c5bc209109dda7507f4d707739b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660e207c946b72c6e77258c2aadc838c8dc6ef181eec060394556c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=1cce3a32168d9494773586dbc7599e2c94e401f0936e3696e91b8a00209601 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2f113c945e331cd45962508eee9d01907800a7b4f611d2d5264fdeb96a81ff + +handshake=Noise_IKpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540193347cd7c4197ad710ce0f36a4c24fc4da2c0b271e51f178b900abb636129853d2066d323ef55180074e4e958c318ea873d705aef61f8a6af212d4915462886947dcbffa4ffeb7444d +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ee3ad6bce0a3efbf171dc4555c0b4c715a52ac5e3c7f2e249d3e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=1f941586981ee8e35546c4c825ae5b59f085ec1ac261c913667246bc609496 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=c7df30218d05a737fb405b7067cfd591d593d111fe1847d086ae37e806dda8 + +handshake=Noise_XX_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466aaf8bd6d4f4015e5465aea27ce9bfe2f9cfeb1b38ee28d45032fe0b31e0ed19185e606afae8d39560d71c245a09c231c58f90ea85bc24bfda03e505c65b792c3 +msg_2_payload= +msg_2_ciphertext=d91be69fde3995104e4827d77d5162d8757250d035b74525efccce98e892ed62d34f840a4785fe4cc548a096f803652e4fbe69376911d114fd5e11c994720434 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=55ac89364861faed9538fe931a2bf90878fa10072b3c5e520b733728948e1c +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=4a9308221816fe917b617d45c8a1f8bdb8adafec2bb9ab2f8bd6b1627bf9e1 + +handshake=Noise_XXpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625402675bce88ab5a820c99ea9fddb39f02 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466581a3db6c8617d78b487458dfc00147b77d9a8f9d55d33fa54e9a099348118f922577a9a42ebe899869e0a3c8c9311d4232fd9b2bb0fdc2c004994d87467c928 +msg_2_payload= +msg_2_ciphertext=4f14513ce6f321d3e3cb4585286a18c666e6b3777ae346a7480f09dca7af5575e88a84a7d6f8a2e72183e95e71bc8d3f22b1d51f739ea46e9429f03e4491eb26 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=53f77a183580b9f1fbcef4857976951cff9f90e21cca7a4fe7cddd5303b23f +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=f25166ac4cc0f48a5e9a1af15f86c0a4b065a0c587aaadbcfb76ca98540431 + +handshake=Noise_XXpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625485c5ada7d6d53105c13610ffcf41d7a4 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c5c243ed69e6c32a5c5016b1b66676d6076aede0fd2df3c89b58f2df5a3ed2cf603ab6a12b364a8b0f64fec5081f97aeaeb9a99414e7b0eb091667e33c7d8f6c +msg_2_payload= +msg_2_ciphertext=77f77a124d513addd8faed07d38add6dc885d466a1f3f259847430780d121ac5272da5fda9f0a5f69039d94ebe69d0b526e42143bd74f784fc79fd2210c0d5a3 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=dd96a733132ce4bf0bb7f1fbffffd0e2cc805e2b2bc5b4c14684d1370e93fe +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=73803758314e6aa57533c404442d54e9f3c6f94157c41d2d82cf608158473e + +handshake=Noise_XXpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625479170a96b76ee24ab783821e5383da8a +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665239caf37bac645326193f36abf47c49b4568ab9ea3933a8dab0a835393c23e3a4a9a936fef8c1d46b9a591a9684ffec5b876aecad0fcdeaa22a6d7b6bc8bbdf +msg_2_payload= +msg_2_ciphertext=561aa523426011b76cd099db2c038f6405739eee844f4f59da33c6c315bebf276d70e2ea113233792b32d752c6d4a256fad013cfee5f910ee4922b5a7720b2e0 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=c188211012160a32e31359391f5d3bd9ebe2af466c2c3759d36d7f1b723a53 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=330f1b1616e11def88c53fefeede6e62e5c89414516dc4f3eb55cc0a6dd244 + +handshake=Noise_XXpsk3_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b448543164c221df43ad2e76d7dce619 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466eb1b0ba3208b9285c46d88de673268c0a9c11d1372df5c12348027d7b20d33e3678bcacb6dc7ecffae94384891ee38abeccb20a835ddbf929d0a313fb26d4ee4 +msg_2_payload= +msg_2_ciphertext=6008678f2ef024bf48e09a421bfa274e0e134657e952b07b9628b88938f8489ae1bd41cf9f2af850d9e4186aef156e71671537a7673853392bddc33c073f660d +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=f0fdc970b0edc1b34eff18de0753b76a4c407c63c75dfa31b7718a25bd9852 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=058345e46ccb2548fdff3835a49a67f7470b5e1d7c58b338e64ca4350b3bca + +handshake=Noise_XX_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466aaf8bd6d4f4015e5465aea27ce9bfe2f9cfeb1b38ee28d45032fe0b31e0ed191f5384372c5963ff9a47437d7781bbfa1ede85376a07ee6cffe47f4274e311338859dfb4dd4f0d9c1e87e +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=d91be69fde3995104e4827d77d5162d8757250d035b74525efccce98e892ed6200f9ea261e7e296827a6c5ad76d3b0686ca99d40ed5aa6600279a77e9a5c80b22f889c3fd74d83cba873 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=55ac89364861faed9538fe931a2bf90878fa10072b3c5e520b733728948e1c +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=4a9308221816fe917b617d45c8a1f8bdb8adafec2bb9ab2f8bd6b1627bf9e1 + +handshake=Noise_XXpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625487982e3421ad43f420890fc6fa445fbebaa29d42f83357832fb2 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466581a3db6c8617d78b487458dfc00147b77d9a8f9d55d33fa54e9a099348118f9392dc0274cf7b028ba762c5bbe82c31d42ee5e297273ad7654acf25c798d67773c0bc7b485759cba4f41 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=4f14513ce6f321d3e3cb4585286a18c666e6b3777ae346a7480f09dca7af55753d6822524406cfeee550f231c0b3a3b01127f4f272356b921ee0e01d4ae239d3eb7d8c357eee3630d1ac +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=53f77a183580b9f1fbcef4857976951cff9f90e21cca7a4fe7cddd5303b23f +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=f25166ac4cc0f48a5e9a1af15f86c0a4b065a0c587aaadbcfb76ca98540431 + +handshake=Noise_XXpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c13c5b571263574d9b570c55e7e151b9425c1fe13510b467e0de +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c5c243ed69e6c32a5c5016b1b66676d6076aede0fd2df3c89b58f2df5a3ed2cf028f9a03a230cf08755d11147bd6ff8cfb9620d663d5ed048229b50d9724a4c96edcde2b208246ff5fad +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=77f77a124d513addd8faed07d38add6dc885d466a1f3f259847430780d121ac5b9097846c12a911d82fcc7a70dd5ae5901e3130a6fb48336ebc6f4d4504624ec357f34d47b896400dadb +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=dd96a733132ce4bf0bb7f1fbffffd0e2cc805e2b2bc5b4c14684d1370e93fe +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=73803758314e6aa57533c404442d54e9f3c6f94157c41d2d82cf608158473e + +handshake=Noise_XXpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547101213fa5a9485d131330b0dad493c48c4ae6e125226c1171f6 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665239caf37bac645326193f36abf47c49b4568ab9ea3933a8dab0a835393c23e35235d08e2daad3a980adadad2fe14cc641a92e52f86d0316b33e490ee1569451313789c5c25b4bed70be +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=561aa523426011b76cd099db2c038f6405739eee844f4f59da33c6c315bebf27a86ff32a01f76e4dcfbe1cff50fa777dc99480af6b625530f264c850117ba858360c0d519c4a1ca747fa +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=c188211012160a32e31359391f5d3bd9ebe2af466c2c3759d36d7f1b723a53 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=330f1b1616e11def88c53fefeede6e62e5c89414516dc4f3eb55cc0a6dd244 + +handshake=Noise_XXpsk3_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ce80c6f31a908077340a4584cf6faa69c9d1076e89096c43a500 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466eb1b0ba3208b9285c46d88de673268c0a9c11d1372df5c12348027d7b20d33e3f1dc618f2ee5f89bf2d6693b74596bf6ffa8d86d9c0976834a4b87c0a380495a89999ec6de2c885e64d4 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=6008678f2ef024bf48e09a421bfa274e0e134657e952b07b9628b88938f8489a42d6827d04601ecd23c946828baed03cb9ce7cabcf4646be4769f43bbf0e7bc04e369a6800d2b22856f9 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=f0fdc970b0edc1b34eff18de0753b76a4c407c63c75dfa31b7718a25bd9852 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=058345e46ccb2548fdff3835a49a67f7470b5e1d7c58b338e64ca4350b3bca + +handshake=Noise_XX_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466aaf8bd6d4f4015e5465aea27ce9bfe2f9cfeb1b38ee28d45032fe0b31e0ed19188c15754675bdf966090bf821a49f1578a512a2abb9c0aab546dbe471a5eafa8 +msg_2_payload= +msg_2_ciphertext=d91be69fde3995104e4827d77d5162d8757250d035b74525efccce98e892ed6266fdf087797c505e45b50a46d6c0bccc9fc689102189cf5dc55ddd007ae7ae95 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=55ac89364861faed9538fe931a2bf90878fa10072b3c5e520b733728948e1c +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=4a9308221816fe917b617d45c8a1f8bdb8adafec2bb9ab2f8bd6b1627bf9e1 + +handshake=Noise_XXpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c61a84f1a6f875a80930f90f6f24c98e +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466581a3db6c8617d78b487458dfc00147b77d9a8f9d55d33fa54e9a099348118f95fdf6b5e53f9941c830ed2b01b858b1cae8d9a2026d27b784b650536adc06b0a +msg_2_payload= +msg_2_ciphertext=4f14513ce6f321d3e3cb4585286a18c666e6b3777ae346a7480f09dca7af55757f81040aaf7fa96ac14f973829c5f53b5c315baabb32d581cffff9457e8b9660 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=53f77a183580b9f1fbcef4857976951cff9f90e21cca7a4fe7cddd5303b23f +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=f25166ac4cc0f48a5e9a1af15f86c0a4b065a0c587aaadbcfb76ca98540431 + +handshake=Noise_XXpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547d0b7163177636e07746a0985baa1bde +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c5c243ed69e6c32a5c5016b1b66676d6076aede0fd2df3c89b58f2df5a3ed2cf106bc5908bfbab97630dda6e089b6aabac42302aaa36328231a8f5ce210973f3 +msg_2_payload= +msg_2_ciphertext=77f77a124d513addd8faed07d38add6dc885d466a1f3f259847430780d121ac59d643454a8e9f7309150a019ecbd2c5eb6fd18674276f048feb2e80e0b428dd0 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=dd96a733132ce4bf0bb7f1fbffffd0e2cc805e2b2bc5b4c14684d1370e93fe +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=73803758314e6aa57533c404442d54e9f3c6f94157c41d2d82cf608158473e + +handshake=Noise_XXpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d3009e8a46eae769bf4bc5725b082568 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665239caf37bac645326193f36abf47c49b4568ab9ea3933a8dab0a835393c23e3a19c252ee839914581c912acd79e8b9d3e045cc120fa53182cd22a4b3ec551b4 +msg_2_payload= +msg_2_ciphertext=561aa523426011b76cd099db2c038f6405739eee844f4f59da33c6c315bebf2742413b1948478b5bf0a2331b765d1f5d93006650dec2aa4e51d16b0a4f9ed84f +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=c188211012160a32e31359391f5d3bd9ebe2af466c2c3759d36d7f1b723a53 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=330f1b1616e11def88c53fefeede6e62e5c89414516dc4f3eb55cc0a6dd244 + +handshake=Noise_XXpsk3_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c7995d341b626e9de9e7b8f09441a8a7 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466eb1b0ba3208b9285c46d88de673268c0a9c11d1372df5c12348027d7b20d33e3b04a922618a0b8b1b247a4746b7b3d100cdb2fe21f40d48dbba03ef0fdeaee2b +msg_2_payload= +msg_2_ciphertext=6008678f2ef024bf48e09a421bfa274e0e134657e952b07b9628b88938f8489a810f13458ca37c4cf1ab45090357408af6d8938f5c1d45d9bc7b5c07665a6b4b +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=f0fdc970b0edc1b34eff18de0753b76a4c407c63c75dfa31b7718a25bd9852 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=058345e46ccb2548fdff3835a49a67f7470b5e1d7c58b338e64ca4350b3bca + +handshake=Noise_XX_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466aaf8bd6d4f4015e5465aea27ce9bfe2f9cfeb1b38ee28d45032fe0b31e0ed191ffc04dfc10ecd2efabbf30685693bcdcede85376a07ee6cffe47f51e2ae72a25058bc75b4b1293b32811 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=d91be69fde3995104e4827d77d5162d8757250d035b74525efccce98e892ed62c58bfde86a5512485175dec124b4c4ed6ca99d40ed5aa6600279bfbec5148741711eb6ad6fad14206c21 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=55ac89364861faed9538fe931a2bf90878fa10072b3c5e520b733728948e1c +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=4a9308221816fe917b617d45c8a1f8bdb8adafec2bb9ab2f8bd6b1627bf9e1 + +handshake=Noise_XXpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625487982e3421ad43f420896f297a503188b235e25f5b56dcfd99ab +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466581a3db6c8617d78b487458dfc00147b77d9a8f9d55d33fa54e9a099348118f9521624cfc2d1ee318b7bce45260d590542ee5e297273ad7654ac556ccc7b6279a69733d6803d5b982594 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=4f14513ce6f321d3e3cb4585286a18c666e6b3777ae346a7480f09dca7af5575a5f197a33764d3271cca1b3c345f51c31127f4f272356b921ee0a462f08c85c527b4e4935625e3fc88ff +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=53f77a183580b9f1fbcef4857976951cff9f90e21cca7a4fe7cddd5303b23f +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=f25166ac4cc0f48a5e9a1af15f86c0a4b065a0c587aaadbcfb76ca98540431 + +handshake=Noise_XXpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c13c5b571263574d9b5726f56ea9aea8cc317511bfa8cf5e2e1f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c5c243ed69e6c32a5c5016b1b66676d6076aede0fd2df3c89b58f2df5a3ed2cfc938f3dab94aee2e67ff7d9e578192a2fb9620d663d5ed0482297f2455ba11c3289db6b3286384edc470 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=77f77a124d513addd8faed07d38add6dc885d466a1f3f259847430780d121ac51abfc6c6a39ce2c55a3b56fd63456b5901e3130a6fb48336ebc671ee2c5dde5da9dd4211c69d2a7c0347 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=dd96a733132ce4bf0bb7f1fbffffd0e2cc805e2b2bc5b4c14684d1370e93fe +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=73803758314e6aa57533c404442d54e9f3c6f94157c41d2d82cf608158473e + +handshake=Noise_XXpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547101213fa5a9485d131331cc470c9c3a47b65d4dd9bfe832ccb8 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665239caf37bac645326193f36abf47c49b4568ab9ea3933a8dab0a835393c23e3313ca4fa5c74e7a3f687a0d725e5db2641a92e52f86d0316b33e286176bad79badc46cb1e846e93a94f5 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=561aa523426011b76cd099db2c038f6405739eee844f4f59da33c6c315bebf27e342e9ce2aa8d9d9b87f72a0cfa70c2ac99480af6b625530f264be548caae99ab6f8c4f6e199fb0faf40 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=c188211012160a32e31359391f5d3bd9ebe2af466c2c3759d36d7f1b723a53 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=330f1b1616e11def88c53fefeede6e62e5c89414516dc4f3eb55cc0a6dd244 + +handshake=Noise_XXpsk3_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ce80c6f31a908077340a967f7f3c97956cdff82835c308ff284f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466eb1b0ba3208b9285c46d88de673268c0a9c11d1372df5c12348027d7b20d33e33ac38234778daf6c29e41aa50404fd91ffa8d86d9c0976834a4b8710815760185846df07e7ce9d95fa50 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=6008678f2ef024bf48e09a421bfa274e0e134657e952b07b9628b88938f8489ae12fc5cc1631fe08b8526b92f6348454b9ce7cabcf4646be47698ec1a10e0324a73b83e15a85d15ea053 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=f0fdc970b0edc1b34eff18de0753b76a4c407c63c75dfa31b7718a25bd9852 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=058345e46ccb2548fdff3835a49a67f7470b5e1d7c58b338e64ca4350b3bca + +handshake=Noise_IX_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466622476f6dc13fa05c82e29cf98e37d7c1e7aa9ea2ab7f341ba1db3e536ab9af93cc8bb3b47ed05ed3f678780e0294be50c0ed95f97a0ef014d45ef36ad2a6c5c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ee8c647ae002695d09b4ff7719085f820510f5a00c52e8b45b44a4a84d3689 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=a1fd2b44a73bc70a207f970b6a6843e7247110f3be8d14a41507a506f03d63 + +handshake=Noise_IXpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625431e791109f10371f8305b72a88065b517025301ef523d9962d49201d5de6e03c8bc1c4d453575f9090a9070b8d2e27260315853452593e9bc82684a3f764a93b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c3a98ae9b8944c2e04b14098f75624c9649bc20d92b4fb9feb450c5adea13242b5e9e5187d7abe391fbc3a654f9042eeeaf3495b08b3450da47f9d5bded12a25 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=96e8b979ac204a4c22fdb58e70f10a889d0ceb52a777e75376846e3e403903 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0d019e644bbdcc10bdc2443d0d12fd11a3d2122140ee3a01ef7c938726df92 + +handshake=Noise_IXpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254074d28976125a685694f6e4d9f29f2dad768122fac65114c256e3280ff7fac212c40d51848089066523ed4026ecbf4e5ed14ca5590c1ed214fbfd90f0356ed13 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bc1b623297e2182c3fc0e0c16f6799309650dd06e4b3e6004d30842f8fd46a1115a937ef532eecd9383d07a136a4177ef2ce37c2ed1d9f0ab601b1401b958217 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=16b0e85f7d29c70b5b3c6e087496d10c8b6f491eaf1d1a29d1988ab2d9a963 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=006069daef25a0d1b668145368fdd76e61a0aed53c7109f45bb6632b6155c7 + +handshake=Noise_IXpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254707384f2d1b60403d6983f48cdd2d54ef6d6201bd7b042556a09f4f21189e79550dec3d76dd8bb9657244ebc557e0fd1bff35cb50b8b64c9658a686404899b85 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b980bf81bae21ec3c711890b8af89330c505cb0a91b17caf3fd343fd318cb6010831177fec17f21da68af33d1d8c9909cd8236240afcd56f5f9d70f090b812f2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=387c61a76a79957e3f99d5dba4d89b098652201ea26220e961953955512f27 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=81c3b9c80cd9d312e0208e596ffb917cc56971bab803eb6cfab729ddb91e01 + +handshake=Noise_IX_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466622476f6dc13fa05c82e29cf98e37d7c1e7aa9ea2ab7f341ba1db3e536ab9af9d587c9ce59c0b5c278f67832116b7cc3863bdda85e4ea48d3401af232d6f738e3d27d3971c464ae019da +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ee8c647ae002695d09b4ff7719085f820510f5a00c52e8b45b44a4a84d3689 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=a1fd2b44a73bc70a207f970b6a6843e7247110f3be8d14a41507a506f03d63 + +handshake=Noise_IXpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625431e791109f10371f8305b72a88065b517025301ef523d9962d49201d5de6e03c8bc1c4d453575f9090a9070b8d2e2726db0b7bef43ed75985760735cdb3ccf94f6799816a1bd407543c3 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c3a98ae9b8944c2e04b14098f75624c9649bc20d92b4fb9feb450c5adea13242eef1dcae8547d04ec9cf15988accc82d4bee7c7f595716a7855c9e8e0dbd78e2baefbaa4ee1de38bf3a9 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=96e8b979ac204a4c22fdb58e70f10a889d0ceb52a777e75376846e3e403903 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0d019e644bbdcc10bdc2443d0d12fd11a3d2122140ee3a01ef7c938726df92 + +handshake=Noise_IXpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254074d28976125a685694f6e4d9f29f2dad768122fac65114c256e3280ff7fac212c40d51848089066523ed4026ecbf4e5311f872ca6e591f4b57ca869841735ab09d7cff59de84efbcbfe +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bc1b623297e2182c3fc0e0c16f6799309650dd06e4b3e6004d30842f8fd46a1118b39882825db18d1a6f1e11c33189f75096fc90d3eb24eed3204a21588804fbf5bc658546c38809ebf2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=16b0e85f7d29c70b5b3c6e087496d10c8b6f491eaf1d1a29d1988ab2d9a963 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=006069daef25a0d1b668145368fdd76e61a0aed53c7109f45bb6632b6155c7 + +handshake=Noise_IXpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254707384f2d1b60403d6983f48cdd2d54ef6d6201bd7b042556a09f4f21189e79550dec3d76dd8bb9657244ebc557e0fd1abf9112523840039f52508eb47ad4896afc7ec7b61f0946286aa +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b980bf81bae21ec3c711890b8af89330c505cb0a91b17caf3fd343fd318cb6019e547161afe678cea50333bd13f79208b80461c0e0c3d43a8780339640a33c5894699b57245fcab80c22 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=387c61a76a79957e3f99d5dba4d89b098652201ea26220e961953955512f27 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=81c3b9c80cd9d312e0208e596ffb917cc56971bab803eb6cfab729ddb91e01 + +handshake=Noise_IX_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466622476f6dc13fa05c82e29cf98e37d7c1e7aa9ea2ab7f341ba1db3e536ab9af930a67ac8e3f12fd042fcd87fedac96d10e9b513fce9dfa7034fa01b91e268d3b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ee8c647ae002695d09b4ff7719085f820510f5a00c52e8b45b44a4a84d3689 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=a1fd2b44a73bc70a207f970b6a6843e7247110f3be8d14a41507a506f03d63 + +handshake=Noise_IXpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625431e791109f10371f8305b72a88065b517025301ef523d9962d49201d5de6e03c87375bdd6fe082a2538efee6d0aca07cf6da198785e60eb9eda10515d4de2c05 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c3a98ae9b8944c2e04b14098f75624c9649bc20d92b4fb9feb450c5adea13242cefd4fe51aee2d3e8a57497962d253f52fda8e4799e79cabd5b97126107f51ef +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=96e8b979ac204a4c22fdb58e70f10a889d0ceb52a777e75376846e3e403903 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0d019e644bbdcc10bdc2443d0d12fd11a3d2122140ee3a01ef7c938726df92 + +handshake=Noise_IXpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254074d28976125a685694f6e4d9f29f2dad768122fac65114c256e3280ff7fac212288a529637006c9cdf63983295b55d008a5b13d51883b6d510ce07db1e0ab29 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bc1b623297e2182c3fc0e0c16f6799309650dd06e4b3e6004d30842f8fd46a11ac55526f15c640cf8454ba6f133edbefea975b2d2a2cf13d43c07b29046905a0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=16b0e85f7d29c70b5b3c6e087496d10c8b6f491eaf1d1a29d1988ab2d9a963 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=006069daef25a0d1b668145368fdd76e61a0aed53c7109f45bb6632b6155c7 + +handshake=Noise_IXpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254707384f2d1b60403d6983f48cdd2d54ef6d6201bd7b042556a09f4f21189e795a4d70b030812e4f3c7df3faff6cf7997ce1cf5b41dc8f39c10f7a6c8160325ba +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b980bf81bae21ec3c711890b8af89330c505cb0a91b17caf3fd343fd318cb601ce71053a753dc4a395c38bee2f9c65d9371aac75c9b11cd59c3d9c8040cc8c1a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=387c61a76a79957e3f99d5dba4d89b098652201ea26220e961953955512f27 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=81c3b9c80cd9d312e0208e596ffb917cc56971bab803eb6cfab729ddb91e01 + +handshake=Noise_IX_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466622476f6dc13fa05c82e29cf98e37d7c1e7aa9ea2ab7f341ba1db3e536ab9af9cf8d0caf69ea6d6d9fe863f135d765dc863bdda85e4ea48d340128833ce0029b5e80c4902e07ca963cc6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ee8c647ae002695d09b4ff7719085f820510f5a00c52e8b45b44a4a84d3689 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=a1fd2b44a73bc70a207f970b6a6843e7247110f3be8d14a41507a506f03d63 + +handshake=Noise_IXpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625431e791109f10371f8305b72a88065b517025301ef523d9962d49201d5de6e03c87375bdd6fe082a2538efee6d0aca07cdb0b7bef43ed759857605b1c8a4434514ba7ff980a94999f767b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c3a98ae9b8944c2e04b14098f75624c9649bc20d92b4fb9feb450c5adea132421dff6426674f95b9cca665bf38c8a2664bee7c7f595716a7855ce3a01c256df89227a7f03ae351c54d1c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=96e8b979ac204a4c22fdb58e70f10a889d0ceb52a777e75376846e3e403903 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0d019e644bbdcc10bdc2443d0d12fd11a3d2122140ee3a01ef7c938726df92 + +handshake=Noise_IXpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254074d28976125a685694f6e4d9f29f2dad768122fac65114c256e3280ff7fac212288a529637006c9cdf63983295b55d0311f872ca6e591f4b57cc52c513c2541cad183c73557e8de3884 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bc1b623297e2182c3fc0e0c16f6799309650dd06e4b3e6004d30842f8fd46a1165270d8bc779d74b6158d1ad0382aeab5096fc90d3eb24eed320925d70db3a28b6913b2184f99d534c83 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=16b0e85f7d29c70b5b3c6e087496d10c8b6f491eaf1d1a29d1988ab2d9a963 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=006069daef25a0d1b668145368fdd76e61a0aed53c7109f45bb6632b6155c7 + +handshake=Noise_IXpsk2_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254707384f2d1b60403d6983f48cdd2d54ef6d6201bd7b042556a09f4f21189e795a4d70b030812e4f3c7df3faff6cf7997abf9112523840039f525ad5950e38bc095c149086d5a40ae31ef +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b980bf81bae21ec3c711890b8af89330c505cb0a91b17caf3fd343fd318cb60191ee54eae17fa342a351b1b09dce4265b80461c0e0c3d43a87803fd715ab4c27017bb4cf345588a80109 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=387c61a76a79957e3f99d5dba4d89b098652201ea26220e961953955512f27 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=81c3b9c80cd9d312e0208e596ffb917cc56971bab803eb6cfab729ddb91e01 + +handshake=Noise_N_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e6359a5d6c7a1d170a912f5fe2c9edca +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=f5bf9f4283f184acb247e55708b728b70ec83427200de1900a41e685e7f2c2 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=ebe3aeca2bc09cd4f4168e8a33186aace3fca9d05ec0380c258e4124a8ae01 + +handshake=Noise_Npsk0_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625438817726d5cb633f2f7039e327d8d659 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=bb3c765be9629a576747028e7a7916e1a4b30ebf768c5417e431bfd32aceb7 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=4f792448e97c8c5cbc0ddbc2f6df569f02a6de080d72d9e766c2cae2706e45 + +handshake=Noise_Npsk1_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e6e56e8d7384aa396e1e8a0517e02a6c +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=91363a8183aa963e9d8e2ffbb446e41caf9a089628b68726b35ec8a9ea65f5 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=a72d808b3ec5344cabf496ba6c02af8caff4b518b8d7c37a03dd69e560baf0 + +handshake=Noise_N_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254fa097823bab1ebd1506811991b670155aa82a4cd8b4bbe761b5c +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=f5bf9f4283f184acb247e55708b728b70ec83427200de1900a41e685e7f2c2 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=ebe3aeca2bc09cd4f4168e8a33186aace3fca9d05ec0380c258e4124a8ae01 + +handshake=Noise_Npsk0_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625484649fcef92dec96507574eb9cec727f5f7da8ff6886fd70ac2c +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=bb3c765be9629a576747028e7a7916e1a4b30ebf768c5417e431bfd32aceb7 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=4f792448e97c8c5cbc0ddbc2f6df569f02a6de080d72d9e766c2cae2706e45 + +handshake=Noise_Npsk1_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254be7a2d6947cc9358be204acc063aea95100411f5fd0cc3985b3d +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=91363a8183aa963e9d8e2ffbb446e41caf9a089628b68726b35ec8a9ea65f5 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=a72d808b3ec5344cabf496ba6c02af8caff4b518b8d7c37a03dd69e560baf0 + +handshake=Noise_N_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549430a045cd2d4d6811150b99292daae4 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=f5bf9f4283f184acb247e55708b728b70ec83427200de1900a41e685e7f2c2 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=ebe3aeca2bc09cd4f4168e8a33186aace3fca9d05ec0380c258e4124a8ae01 + +handshake=Noise_Npsk0_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540ac0e3d45b1948f681e1682ebee5dd45 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=bb3c765be9629a576747028e7a7916e1a4b30ebf768c5417e431bfd32aceb7 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=4f792448e97c8c5cbc0ddbc2f6df569f02a6de080d72d9e766c2cae2706e45 + +handshake=Noise_Npsk1_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541ec9db97d69c252fc8f8742e0f4a7e1e +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=91363a8183aa963e9d8e2ffbb446e41caf9a089628b68726b35ec8a9ea65f5 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=a72d808b3ec5344cabf496ba6c02af8caff4b518b8d7c37a03dd69e560baf0 + +handshake=Noise_N_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254fa097823bab1ebd15068f4572f11b906f0509166173a6e4a6273 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=f5bf9f4283f184acb247e55708b728b70ec83427200de1900a41e685e7f2c2 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=ebe3aeca2bc09cd4f4168e8a33186aace3fca9d05ec0380c258e4124a8ae01 + +handshake=Noise_Npsk0_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625484649fcef92dec965075fe2be8f7e95575f16fc60eda06edfe27 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=bb3c765be9629a576747028e7a7916e1a4b30ebf768c5417e431bfd32aceb7 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=4f792448e97c8c5cbc0ddbc2f6df569f02a6de080d72d9e766c2cae2706e45 + +handshake=Noise_Npsk1_25519_AESGCM_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254be7a2d6947cc9358be205a810af7eb9e663eea8ecfec02cb8641 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=91363a8183aa963e9d8e2ffbb446e41caf9a089628b68726b35ec8a9ea65f5 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=a72d808b3ec5344cabf496ba6c02af8caff4b518b8d7c37a03dd69e560baf0 + +handshake=Noise_K_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541f6065d2dbb9baa86605ebf7b6c743a9 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=46685f7f48e63d44f5cd878e8344a49e8cb366489ceaf4a3665f7e50be6658 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=67b542a893449da5c0d811252a061e86d78e6f38e8dfd6ea91758c5efee3cb + +handshake=Noise_Kpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ce3f329cc91477035bf61c0cdc30e80b +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=606a2840cc2a7cc01e93500ddd06b165aa23af8f31fb02968ea815ff4be3de +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=9a68c42768a4e608ffc81120222f6b93950d5c7af8438e81fc6422c1f6de6a + +handshake=Noise_Kpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254063e3bccc72c13cd3469bb230e1384c2 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=c1c4aaf379d5ba311247236fd68665336ab954fefc742cc9151032b2a5639f +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=d94fcde08550aa28096d526b2054a32f79a9232837b2a9596e8b1054f680b9 + +handshake=Noise_K_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254bcc436a2edb74613f5e73ff0cbfda5cb0e6cc1eb2164829c4d34 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=46685f7f48e63d44f5cd878e8344a49e8cb366489ceaf4a3665f7e50be6658 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=67b542a893449da5c0d811252a061e86d78e6f38e8dfd6ea91758c5efee3cb + +handshake=Noise_Kpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254565f2ca67c2a0bd9e036531691ac9362bc81d923f9384405fd05 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=606a2840cc2a7cc01e93500ddd06b165aa23af8f31fb02968ea815ff4be3de +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=9a68c42768a4e608ffc81120222f6b93950d5c7af8438e81fc6422c1f6de6a + +handshake=Noise_Kpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254eb8d7c30c00e0fae542623b3ed495873dcc8fc25596a3c04aa5c +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=c1c4aaf379d5ba311247236fd68665336ab954fefc742cc9151032b2a5639f +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=d94fcde08550aa28096d526b2054a32f79a9232837b2a9596e8b1054f680b9 + +handshake=Noise_K_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d40e94b2d13927059aa1e609ffd168e3 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=46685f7f48e63d44f5cd878e8344a49e8cb366489ceaf4a3665f7e50be6658 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=67b542a893449da5c0d811252a061e86d78e6f38e8dfd6ea91758c5efee3cb + +handshake=Noise_Kpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f091ca3d19682d9ec8aa47bae87c888 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=606a2840cc2a7cc01e93500ddd06b165aa23af8f31fb02968ea815ff4be3de +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=9a68c42768a4e608ffc81120222f6b93950d5c7af8438e81fc6422c1f6de6a + +handshake=Noise_Kpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542cc66e189a62c266ec1d89ab60e6e640 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=c1c4aaf379d5ba311247236fd68665336ab954fefc742cc9151032b2a5639f +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=d94fcde08550aa28096d526b2054a32f79a9232837b2a9596e8b1054f680b9 + +handshake=Noise_K_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254bcc436a2edb74613f5e745b38fa18699422bcccdcd0af79b7e35 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=46685f7f48e63d44f5cd878e8344a49e8cb366489ceaf4a3665f7e50be6658 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=67b542a893449da5c0d811252a061e86d78e6f38e8dfd6ea91758c5efee3cb + +handshake=Noise_Kpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254565f2ca67c2a0bd9e036467bf9073d8c7351ac13f4798b62a054 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=606a2840cc2a7cc01e93500ddd06b165aa23af8f31fb02968ea815ff4be3de +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=9a68c42768a4e608ffc81120222f6b93950d5c7af8438e81fc6422c1f6de6a + +handshake=Noise_Kpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254eb8d7c30c00e0fae54265f2bff17b2e288bfccc3bb76c742beb0 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=c1c4aaf379d5ba311247236fd68665336ab954fefc742cc9151032b2a5639f +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=d94fcde08550aa28096d526b2054a32f79a9232837b2a9596e8b1054f680b9 + +handshake=Noise_X_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ae50825004becfffe1a179be72c6e15ccc2c72727385ce02b8235b081e61aa049e281d25a75a66c83a48e736491cbb7044ddf558abb9fcaaf6157619f41dff9f +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=1948e447f76f5337534c280ebd220db961d6ebb9bd12db223de7528605c36f +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=135cfc52de19616945aa2ad6c5cc04849608eafee2ff4222c013aa0b23dc33 + +handshake=Noise_Xpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c7375b5a510999c4b39fda0567b848eb149f5699752369183239db664fa14e63e9a9b61dd5971684104852bf16a5d13947ea7f52a91ebb7e98b1462f76bbab87 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=0f71c21b1edfb5eedb2f0bf2afc333854ad3b88d85bdb1dcbabc200c86adca +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=484530df1518ec3798f235162c2d8d98c40bb8896cf863debc51f1ea53b76b + +handshake=Noise_Xpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f3b3c704067dc33efce5bd9217dddd65a82aee230acfd966320c92d40c5f1fe596e9b54f6f0847c5c9f5e06f542c0a8332ae17acafabae272de40b560072b9cc +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=7f8089c4143e918f5755a613565b3412da583f1d1e45d1eb0b0162ae75aed8 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=6f73460c11922e7f77b5661ddcc7bc4e6bd7d8749cd2181aa6c99d5b5e20fe + +handshake=Noise_X_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ae50825004becfffe1a179be72c6e15ccc2c72727385ce02b8235b081e61aa049e281d25a75a66c83a48e736491cbb70d04b408e4e1b9f2f0dd80ae2871d7857bc4d057f3fb66808c320 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=1948e447f76f5337534c280ebd220db961d6ebb9bd12db223de7528605c36f +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=135cfc52de19616945aa2ad6c5cc04849608eafee2ff4222c013aa0b23dc33 + +handshake=Noise_Xpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c7375b5a510999c4b39fda0567b848eb149f5699752369183239db664fa14e63e9a9b61dd5971684104852bf16a5d139025417449f82c85ee89977abd0d750fe80c47e9b228ed26e5c7c +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=0f71c21b1edfb5eedb2f0bf2afc333854ad3b88d85bdb1dcbabc200c86adca +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=484530df1518ec3798f235162c2d8d98c40bb8896cf863debc51f1ea53b76b + +handshake=Noise_Xpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f3b3c704067dc33efce5bd9217dddd65a82aee230acfd966320c92d40c5f1fe596e9b54f6f0847c5c9f5e06f542c0a838469063891941b5b191c47ee925457eb3c054db3c14f48666732 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=7f8089c4143e918f5755a613565b3412da583f1d1e45d1eb0b0162ae75aed8 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=6f73460c11922e7f77b5661ddcc7bc4e6bd7d8749cd2181aa6c99d5b5e20fe + +handshake=Noise_X_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ae50825004becfffe1a179be72c6e15ccc2c72727385ce02b8235b081e61aa04279392a66a24958e4c789de27a5a0e99960ea42aafb2efaf1f6062a89b3ac3bd +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=1948e447f76f5337534c280ebd220db961d6ebb9bd12db223de7528605c36f +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=135cfc52de19616945aa2ad6c5cc04849608eafee2ff4222c013aa0b23dc33 + +handshake=Noise_Xpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c7375b5a510999c4b39fda0567b848eb149f5699752369183239db664fa14e63302f42f2022e000bdbfc75716f88b8221e6e2aefeffac88f8436a601947a28aa +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=0f71c21b1edfb5eedb2f0bf2afc333854ad3b88d85bdb1dcbabc200c86adca +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=484530df1518ec3798f235162c2d8d98c40bb8896cf863debc51f1ea53b76b + +handshake=Noise_Xpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f3b3c704067dc33efce5bd9217dddd65a82aee230acfd966320c92d40c5f1fe59c14457d6a0815656bce5597e12c212ddea7c3b7f9ad5802e672eff6e7aaf628 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=7f8089c4143e918f5755a613565b3412da583f1d1e45d1eb0b0162ae75aed8 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=6f73460c11922e7f77b5661ddcc7bc4e6bd7d8749cd2181aa6c99d5b5e20fe + +handshake=Noise_X_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ae50825004becfffe1a179be72c6e15ccc2c72727385ce02b8235b081e61aa04279392a66a24958e4c789de27a5a0e99d04b408e4e1b9f2f0dd8b324d4802cfb3c954c58df50ce19a54c +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=1948e447f76f5337534c280ebd220db961d6ebb9bd12db223de7528605c36f +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=135cfc52de19616945aa2ad6c5cc04849608eafee2ff4222c013aa0b23dc33 + +handshake=Noise_Xpsk0_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c7375b5a510999c4b39fda0567b848eb149f5699752369183239db664fa14e63302f42f2022e000bdbfc75716f88b822025417449f82c85ee8999a9d0502c5154f52f57239a43338ebd2 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=0f71c21b1edfb5eedb2f0bf2afc333854ad3b88d85bdb1dcbabc200c86adca +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=484530df1518ec3798f235162c2d8d98c40bb8896cf863debc51f1ea53b76b + +handshake=Noise_Xpsk1_25519_AESGCM_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f3b3c704067dc33efce5bd9217dddd65a82aee230acfd966320c92d40c5f1fe59c14457d6a0815656bce5597e12c212d8469063891941b5b191cfce15fda4e83fcf8fb9065f9c55e22fc +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=7f8089c4143e918f5755a613565b3412da583f1d1e45d1eb0b0162ae75aed8 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=6f73460c11922e7f77b5661ddcc7bc4e6bd7d8749cd2181aa6c99d5b5e20fe + +handshake=Noise_NN_25519_AESGCM_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846683a0dd518c7d9a09bc8500bc2e868187 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0909e697fc6dca9ffceffebee77c39187c353d4256d66f6d42ff5d6a8b5bcd +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0770576631856631b449818953d4252baf1cf8d49d718ce220b9173567fc97 + +handshake=Noise_NNpsk0_25519_AESGCM_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541535fb045bd97504725efe47351fd5d8 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e0bd9f3000f0f276e99bdc78a91a30ca +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7bb01e54840881ef4911b030602c665e4799652c4260b32f67119716cf2dac +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=63c4c131b3c079eb101cf9cd03627e5d50e693513402efb26d5f46d62ba1e0 + +handshake=Noise_NNpsk1_25519_AESGCM_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254febbb98d9ec54939c9cd08f15df12c9d +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a233b33fe34e7a3cf0d34cc475ced00d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8617a57d1a212d915a093ba691465321b3a5e83a2a09334bc17a66e07f340b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=bbddd9a51a1fe99634ea09790bfab387047c0bee2b540cbaa009e4b33f547d + +handshake=Noise_NNpsk2_25519_AESGCM_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542383ccc8749a96890523a8c5c90c3b3a +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846620c5d7fc3e102d94a2bcab25721f32c4 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a924b18a801dad51bf702aa50f87d8f3e2d3e54cb76c94493f5305768f5f64 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0c94546ec021695355755f7e82ce1a12679f8df2d5a5b6e533c4cdc645a5f9 + +handshake=Noise_NN_25519_AESGCM_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846626cb189266923cb8ce8e4c5203887255b709071d34ae3fb80274 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0909e697fc6dca9ffceffebee77c39187c353d4256d66f6d42ff5d6a8b5bcd +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0770576631856631b449818953d4252baf1cf8d49d718ce220b9173567fc97 + +handshake=Noise_NNpsk0_25519_AESGCM_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625499813d4f7cdbccb39053e17bb5fcb237d3308481578cdf766e14 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665a507bc4cb8222edadcbb119a863c7e86363718152651d0ce152 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7bb01e54840881ef4911b030602c665e4799652c4260b32f67119716cf2dac +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=63c4c131b3c079eb101cf9cd03627e5d50e693513402efb26d5f46d62ba1e0 + +handshake=Noise_NNpsk1_25519_AESGCM_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254294dfe9247d7b2223638cfbb18fa8d5f4fca0215e7d473ee39aa +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846638d4e172b074863b2c8ec44bba6907b80112d0d2358b4abb6e55 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8617a57d1a212d915a093ba691465321b3a5e83a2a09334bc17a66e07f340b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=bbddd9a51a1fe99634ea09790bfab387047c0bee2b540cbaa009e4b33f547d + +handshake=Noise_NNpsk2_25519_AESGCM_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541b462c2b118f585719b4c4853b82356500feb45573d40dfdd474 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664f09893c38c139765e44808080e1dacdc75c32e596a79f72f0ee +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a924b18a801dad51bf702aa50f87d8f3e2d3e54cb76c94493f5305768f5f64 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0c94546ec021695355755f7e82ce1a12679f8df2d5a5b6e533c4cdc645a5f9 + +handshake=Noise_NN_25519_AESGCM_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c70a91b5ce390b4d2002c46c6e2a3248 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0909e697fc6dca9ffceffebee77c39187c353d4256d66f6d42ff5d6a8b5bcd +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0770576631856631b449818953d4252baf1cf8d49d718ce220b9173567fc97 + +handshake=Noise_NNpsk0_25519_AESGCM_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a5fa9343b5a5a66947027412f3520c9b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663ba0d0f5cf7fc7257567f2f27c2fd627 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7bb01e54840881ef4911b030602c665e4799652c4260b32f67119716cf2dac +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=63c4c131b3c079eb101cf9cd03627e5d50e693513402efb26d5f46d62ba1e0 + +handshake=Noise_NNpsk1_25519_AESGCM_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254cedfcc8eac13a24e1e689e3cfc7baf62 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d387cd8664f5037d39aac8746ccd06b9 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8617a57d1a212d915a093ba691465321b3a5e83a2a09334bc17a66e07f340b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=bbddd9a51a1fe99634ea09790bfab387047c0bee2b540cbaa009e4b33f547d + +handshake=Noise_NNpsk2_25519_AESGCM_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540ec56f5161a8755374b1848c641eddc3 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466478d9b9fb165b8eb3f4b6718e1f1e245 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a924b18a801dad51bf702aa50f87d8f3e2d3e54cb76c94493f5305768f5f64 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0c94546ec021695355755f7e82ce1a12679f8df2d5a5b6e533c4cdc645a5f9 + +handshake=Noise_NN_25519_AESGCM_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846626cb189266923cb8ce8e3fc80aa75d92678f6bfe13be7ff6aed1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0909e697fc6dca9ffceffebee77c39187c353d4256d66f6d42ff5d6a8b5bcd +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0770576631856631b449818953d4252baf1cf8d49d718ce220b9173567fc97 + +handshake=Noise_NNpsk0_25519_AESGCM_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625499813d4f7cdbccb39053c90fa0232673ba28f11c1e925324c845 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665a507bc4cb8222edadcb8a3c7dd94841834ec807680c5446d280 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7bb01e54840881ef4911b030602c665e4799652c4260b32f67119716cf2dac +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=63c4c131b3c079eb101cf9cd03627e5d50e693513402efb26d5f46d62ba1e0 + +handshake=Noise_NNpsk1_25519_AESGCM_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254294dfe9247d7b2223638957faf2dd1bd18941b394140015d37ed +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846638d4e172b074863b2c8e80ee9b319d2677512167577c8d105ecb +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8617a57d1a212d915a093ba691465321b3a5e83a2a09334bc17a66e07f340b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=bbddd9a51a1fe99634ea09790bfab387047c0bee2b540cbaa009e4b33f547d + +handshake=Noise_NNpsk2_25519_AESGCM_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541b462c2b118f585719b4d2c84f08adfde3c8f24735ec8df3c5d7 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664f09893c38c139765e44f2d6a49210f05ada099fb05937f7aa5b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a924b18a801dad51bf702aa50f87d8f3e2d3e54cb76c94493f5305768f5f64 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0c94546ec021695355755f7e82ce1a12679f8df2d5a5b6e533c4cdc645a5f9 + +handshake=Noise_KN_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846664441190c10b03429a717dd68392cbc8 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6e0b143fbe681fc040a0a32845a6766583a5b8b4615d43ef71a3345aa54e0e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8dc5ed06a9e9017a62f1aa3a25421a3264272044251bd7ac02e849872891ae + +handshake=Noise_KNpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a3c3f95a1f27a264236e3ef44c8e4dde +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466facb3853ea6a08b4de16f555048fa04b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=bc4c502252e5db42ab745807e689b501dddc0840bd276eb455d6ea1b6a9d8a +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5cdd0dea469b39b46374e168adb6948bc0ec1b132381214394dd3d98d4e7c3 + +handshake=Noise_KNpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545926fa51ad53d91b7a4f033a897a8930 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661cb9f7cae8dc0045a8d861c5ddfa6aef +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=3af9773fcd5a612c186cf94c7b5e3d008c40d036be9227cf8f90a90bf59cdb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=60f7a4448202b3535ab559b4a2b28583bf8475c4858b16e4460733a3b44bef + +handshake=Noise_KNpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625401d487a4cde829a7e46047baadfa8d75 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ed06a23fee4f0d95820c4e1f3cbea303 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=415377cf4fe494b8bad397ec42f85401f9a11edfd752e6aaa30a5951e8c5b4 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=9562176c1eb69374a4186d61cda01ec132b826ae9e1644869a1fd5c93fde04 + +handshake=Noise_KN_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846678409b14b108da18bef6fbe76cd430200b471f2df5b968638a83 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6e0b143fbe681fc040a0a32845a6766583a5b8b4615d43ef71a3345aa54e0e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8dc5ed06a9e9017a62f1aa3a25421a3264272044251bd7ac02e849872891ae + +handshake=Noise_KNpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ac9a08aee31a00906e2c62ee6d06c88657479d8e51978da1bf21 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d46bd6b98eb3ca668bacae3ee77e683c19ca06381ae1ac2f32ff +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=bc4c502252e5db42ab745807e689b501dddc0840bd276eb455d6ea1b6a9d8a +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5cdd0dea469b39b46374e168adb6948bc0ec1b132381214394dd3d98d4e7c3 + +handshake=Noise_KNpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f29b85c3ab64ada6747a6dab2e1e7a4cd26cdc28eb5a00cc1083 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661ea48045213d2c8ac201ebab565e2df47e1a3e5fa9c13c674bff +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=3af9773fcd5a612c186cf94c7b5e3d008c40d036be9227cf8f90a90bf59cdb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=60f7a4448202b3535ab559b4a2b28583bf8475c4858b16e4460733a3b44bef + +handshake=Noise_KNpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c5328cfba6436415d31dd4d5a50775cff355cb2d891dbbbf2af5 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466325031532f718417152caa21e8709f94486d527f4c2b946ebacd +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=415377cf4fe494b8bad397ec42f85401f9a11edfd752e6aaa30a5951e8c5b4 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=9562176c1eb69374a4186d61cda01ec132b826ae9e1644869a1fd5c93fde04 + +handshake=Noise_KN_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fe09eb752d902e72e41d1b0daeb64844 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6e0b143fbe681fc040a0a32845a6766583a5b8b4615d43ef71a3345aa54e0e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8dc5ed06a9e9017a62f1aa3a25421a3264272044251bd7ac02e849872891ae + +handshake=Noise_KNpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540776f384d8dcbb0929c9ee5b13e3f0bd +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846689bd16f0e54d870dcbf293d64cb12ec5 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=bc4c502252e5db42ab745807e689b501dddc0840bd276eb455d6ea1b6a9d8a +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5cdd0dea469b39b46374e168adb6948bc0ec1b132381214394dd3d98d4e7c3 + +handshake=Noise_KNpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625417510ed9f5b0c12079db76a8aa285424 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c716e009a9464a48d138b46f035805e0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=3af9773fcd5a612c186cf94c7b5e3d008c40d036be9227cf8f90a90bf59cdb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=60f7a4448202b3535ab559b4a2b28583bf8475c4858b16e4460733a3b44bef + +handshake=Noise_KNpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c32a9ede6e1cbd9b00610e80d2fdb2ea +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662d90cba0b594c0e4e0a7c96bb616f298 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=415377cf4fe494b8bad397ec42f85401f9a11edfd752e6aaa30a5951e8c5b4 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=9562176c1eb69374a4186d61cda01ec132b826ae9e1644869a1fd5c93fde04 + +handshake=Noise_KN_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846678409b14b108da18bef6fc2974baa4e86c3595efbe635b98b3e2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6e0b143fbe681fc040a0a32845a6766583a5b8b4615d43ef71a3345aa54e0e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8dc5ed06a9e9017a62f1aa3a25421a3264272044251bd7ac02e849872891ae + +handshake=Noise_KNpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ac9a08aee31a00906e2c8929167672a0faf33aacb6f2e727797f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d46bd6b98eb3ca668bacb80eebd706c1b753a568ab393636daef +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=bc4c502252e5db42ab745807e689b501dddc0840bd276eb455d6ea1b6a9d8a +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5cdd0dea469b39b46374e168adb6948bc0ec1b132381214394dd3d98d4e7c3 + +handshake=Noise_KNpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f29b85c3ab64ada6747a071c3c7927ef1c434aa4b4269d189234 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661ea48045213d2c8ac201e6357b0a142b0804024efe755a596501 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=3af9773fcd5a612c186cf94c7b5e3d008c40d036be9227cf8f90a90bf59cdb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=60f7a4448202b3535ab559b4a2b28583bf8475c4858b16e4460733a3b44bef + +handshake=Noise_KNpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c5328cfba6436415d31d40a72370f1f0b6ac748bae773d61cf5f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466325031532f718417152cd4e5e44d98111867943972554a320228 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=415377cf4fe494b8bad397ec42f85401f9a11edfd752e6aaa30a5951e8c5b4 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=9562176c1eb69374a4186d61cda01ec132b826ae9e1644869a1fd5c93fde04 + +handshake=Noise_NK_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540aca6f817356230937ac107dff4a8f06 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663ad767eba25b2c944082016459215cb2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a6f4e53c8e82abdc1877317ee614b2cf1c36694a48536e932f5d5970709c23 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4d08651c70754decf41c8b79d1fe8e8da60cdf64cbb521ab1f5be171617988 + +handshake=Noise_NKpsk0_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546e8a8ab143d0babd5bb2974dfd62d421 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fa53f63f7b00b20da8a8a24a249b8d00 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e73eb987000909cc3ce02566091760e69f524f23372277fbd94d2b335ee020 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0e503113b6f99ce899fee344347bcc59165d827f4982c9a0af6f53c45608ce + +handshake=Noise_NKpsk1_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625467403733097e5ba8c0684832b42d212b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663c43292db7e2a865604940ab900ec307 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=f3415ea0c9132c69c06f29873d9192a0910a6763addfc4e306b13c4e06c57c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=c61e0bcc08bc9e2571eabbd48f192ecc3e846463f3b05c4cae6ffa956dce72 + +handshake=Noise_NKpsk2_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f00172caeafa67f00bcf4b6a286d653c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fe2a80ce5f664bdeef527317284ef4b6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ed4dfff4fbbf57c63acf124128f12d3323706cd4212796f13ba3391f83e249 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8009206bac08e514df2c83e3238bf92c5dc209430cbecb936b1a93813de1dc + +handshake=Noise_NK_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254bdf08b60ecbebcc2f5068183649b76c2cc2674fd4d580911729d +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466dacd38c1ad625caa0a4720445c6ac87f16e4b09d8a27489483fa +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a6f4e53c8e82abdc1877317ee614b2cf1c36694a48536e932f5d5970709c23 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4d08651c70754decf41c8b79d1fe8e8da60cdf64cbb521ab1f5be171617988 + +handshake=Noise_NKpsk0_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548bf52c4caaaaacfe7a715566f9652044280280d56a5301e3d4f7 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846694cf846b0941f8f8a46354a686838fa6efbeff8490cd3279ce6e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e73eb987000909cc3ce02566091760e69f524f23372277fbd94d2b335ee020 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0e503113b6f99ce899fee344347bcc59165d827f4982c9a0af6f53c45608ce + +handshake=Noise_NKpsk1_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625437ad3a66b77c777309c59e3ffb70fdaaa1998f0ea6a7fea4aaf7 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662e4888b3081c3c5f198244d6a8245e8cbe0d843b4885374b5823 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=f3415ea0c9132c69c06f29873d9192a0910a6763addfc4e306b13c4e06c57c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=c61e0bcc08bc9e2571eabbd48f192ecc3e846463f3b05c4cae6ffa956dce72 + +handshake=Noise_NKpsk2_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546f881ee2ccd20f3d6a748ee7bd31867d252abc83c3a2e810bc01 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466cc2683e6a737d2a339a6de63b341afc6e6da4f2e6acc295ba0c5 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ed4dfff4fbbf57c63acf124128f12d3323706cd4212796f13ba3391f83e249 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8009206bac08e514df2c83e3238bf92c5dc209430cbecb936b1a93813de1dc + +handshake=Noise_NK_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625418771dd05bb254570cd36afecdd1f06b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466cc535116cff2a6e84875769de7d118fa +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a6f4e53c8e82abdc1877317ee614b2cf1c36694a48536e932f5d5970709c23 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4d08651c70754decf41c8b79d1fe8e8da60cdf64cbb521ab1f5be171617988 + +handshake=Noise_NKpsk0_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254235c1295c64674e9d24b1ac8387ceff0 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f95d8632a153e1ba48ba7c604ac95c2c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e73eb987000909cc3ce02566091760e69f524f23372277fbd94d2b335ee020 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0e503113b6f99ce899fee344347bcc59165d827f4982c9a0af6f53c45608ce + +handshake=Noise_NKpsk1_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547bb352c4574bffe38b6f2fd437245349 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b4d595560f6d4bab34135d6d5f0e95b9 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=f3415ea0c9132c69c06f29873d9192a0910a6763addfc4e306b13c4e06c57c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=c61e0bcc08bc9e2571eabbd48f192ecc3e846463f3b05c4cae6ffa956dce72 + +handshake=Noise_NKpsk2_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625412175e79501bbdb8f9c34f832d70faf5 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660faec0e7d65e6e02e540a12f372524de +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ed4dfff4fbbf57c63acf124128f12d3323706cd4212796f13ba3391f83e249 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8009206bac08e514df2c83e3238bf92c5dc209430cbecb936b1a93813de1dc + +handshake=Noise_NK_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254bdf08b60ecbebcc2f5066ba2dc101956c40473b8c6dfbc24f58b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466dacd38c1ad625caa0a4702d85babf3841256b5660d3228dc121c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a6f4e53c8e82abdc1877317ee614b2cf1c36694a48536e932f5d5970709c23 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4d08651c70754decf41c8b79d1fe8e8da60cdf64cbb521ab1f5be171617988 + +handshake=Noise_NKpsk0_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548bf52c4caaaaacfe7a71f5e1496c23adbee3020d4eb45211637a +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846694cf846b0941f8f8a463cfc791d89367bcce3320c4f0460a91b9 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e73eb987000909cc3ce02566091760e69f524f23372277fbd94d2b335ee020 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0e503113b6f99ce899fee344347bcc59165d827f4982c9a0af6f53c45608ce + +handshake=Noise_NKpsk1_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625437ad3a66b77c777309c5d7683c6082c82b5adb434c70325029cc +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662e4888b3081c3c5f1982d5856d4940dbdd17c07b285e331dce60 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=f3415ea0c9132c69c06f29873d9192a0910a6763addfc4e306b13c4e06c57c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=c61e0bcc08bc9e2571eabbd48f192ecc3e846463f3b05c4cae6ffa956dce72 + +handshake=Noise_NKpsk2_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546f881ee2ccd20f3d6a74cad4c7694924e6494b10399373d97cd1 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466cc2683e6a737d2a339a62c5b55ccd5da93091e0295f94ae259b7 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ed4dfff4fbbf57c63acf124128f12d3323706cd4212796f13ba3391f83e249 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8009206bac08e514df2c83e3238bf92c5dc209430cbecb936b1a93813de1dc + +handshake=Noise_KK_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544cfcee5c7fcaf9d598c33703fd0c2776 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665e6949aaa57066895baf7ab83e004ae5 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=31f8fb1587255c4b0dd700a9b6c8f43f8a784c2b182fd9c90e236708314b5d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e536a299bf11d6abe9d3a94183d029f1eb3e12e11b3dab41e21789869dcc93 + +handshake=Noise_KKpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549b23f41fd589eccd4f092f268f28d26b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846660c9d890cdde369d3d997ed453e687da +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=91e44c0d5d9cd28abf7c8b30bb2e3d0550239b9e17953d9f089ec3d930df27 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2e741b2768bfd0bbfeda04cbd22add5afa67b677a3b01af28dbaf63159b9bc + +handshake=Noise_KKpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a0c920d6078d924f12ff949a21dc7538 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846682eb33bc6a6c88a84d4dc18a5d637337 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d95cc1c999c97bbeedd5c7ec4652084d4b62a16f82500d755aa618eb4a53e5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=868d5fcee2fc24e0449b05781857718f8a52fa5c7e3e91e31835579480126c + +handshake=Noise_KKpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542c378d98d2cbcf1bd35e56b9dc028451 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466222d4ef8c802a217923cc92c7d12ff70 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=fe234b7f281411b7c6b3d7b75466259f4e5f05c12ba78c04f44432f0fba361 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=9e35422ab4388dd10073b1a0ef26ad00041372fdf968809e67f56f1b6ef723 + +handshake=Noise_KK_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548b607e12f23e87019e6edd5ff907e3244c4faabde9dd7f413268 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667f550ee88c31bb77034f6b25459148fe70370546a6e427b27260 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=31f8fb1587255c4b0dd700a9b6c8f43f8a784c2b182fd9c90e236708314b5d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e536a299bf11d6abe9d3a94183d029f1eb3e12e11b3dab41e21789869dcc93 + +handshake=Noise_KKpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254aa72dba4eb5155d2465ab23ff1c5f93b23534b5f3e4af45250fd +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846662d579964a47442efacbe7a4d3d39194eeb4b540be23480bad21 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=91e44c0d5d9cd28abf7c8b30bb2e3d0550239b9e17953d9f089ec3d930df27 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2e741b2768bfd0bbfeda04cbd22add5afa67b677a3b01af28dbaf63159b9bc + +handshake=Noise_KKpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549e185b6bf0ab96577514a994636c9f591469389a01313efd8bd2 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466678170eb78b10bba2423cc2a8177294aae0ef03d0baaf925d9d7 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d95cc1c999c97bbeedd5c7ec4652084d4b62a16f82500d755aa618eb4a53e5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=868d5fcee2fc24e0449b05781857718f8a52fa5c7e3e91e31835579480126c + +handshake=Noise_KKpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254669c71c550b8a43b3435e62f9eb9a7e2b5b4ee7736ec81cd5b48 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466728e2a0d6eeceaee629ad6b31058960aaf8a1c97905808a811a4 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=fe234b7f281411b7c6b3d7b75466259f4e5f05c12ba78c04f44432f0fba361 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=9e35422ab4388dd10073b1a0ef26ad00041372fdf968809e67f56f1b6ef723 + +handshake=Noise_KK_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254287c6242f3601fc5c1bb6fcb4624c2c7 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466643b4a8d96d6ecdbe3237ac65f97c9d1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=31f8fb1587255c4b0dd700a9b6c8f43f8a784c2b182fd9c90e236708314b5d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e536a299bf11d6abe9d3a94183d029f1eb3e12e11b3dab41e21789869dcc93 + +handshake=Noise_KKpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625418e6f83705c0ba5686b5e6c6fde73696 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bb489365fc40d89e5eefae396f974201 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=91e44c0d5d9cd28abf7c8b30bb2e3d0550239b9e17953d9f089ec3d930df27 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2e741b2768bfd0bbfeda04cbd22add5afa67b677a3b01af28dbaf63159b9bc + +handshake=Noise_KKpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544bf11255412b8f2aa4998140f01f99d1 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fe35b699e1018d03d289945c4b2e7f42 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d95cc1c999c97bbeedd5c7ec4652084d4b62a16f82500d755aa618eb4a53e5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=868d5fcee2fc24e0449b05781857718f8a52fa5c7e3e91e31835579480126c + +handshake=Noise_KKpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b5821e0e9c8793543c024b5cd1f2db2d +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663ee55655094444f57d6b2e120a31c73e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=fe234b7f281411b7c6b3d7b75466259f4e5f05c12ba78c04f44432f0fba361 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=9e35422ab4388dd10073b1a0ef26ad00041372fdf968809e67f56f1b6ef723 + +handshake=Noise_KK_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548b607e12f23e87019e6eb13b92b5c3d17ba0183cb1389dcef1a6 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667f550ee88c31bb77034f98d4889d5f34812eb534a2eca91ba158 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=31f8fb1587255c4b0dd700a9b6c8f43f8a784c2b182fd9c90e236708314b5d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e536a299bf11d6abe9d3a94183d029f1eb3e12e11b3dab41e21789869dcc93 + +handshake=Noise_KKpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254aa72dba4eb5155d2465a99e91f15ca6c1ffa47e49328ada51b0e +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846662d579964a47442efacb52b05a270d3e7875aa8266a03076750c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=91e44c0d5d9cd28abf7c8b30bb2e3d0550239b9e17953d9f089ec3d930df27 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2e741b2768bfd0bbfeda04cbd22add5afa67b677a3b01af28dbaf63159b9bc + +handshake=Noise_KKpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549e185b6bf0ab965775140f26a11fb5f259000251c39c78189511 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466678170eb78b10bba2423c39edf7b3642c622754f7e6de1afc949 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d95cc1c999c97bbeedd5c7ec4652084d4b62a16f82500d755aa618eb4a53e5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=868d5fcee2fc24e0449b05781857718f8a52fa5c7e3e91e31835579480126c + +handshake=Noise_KKpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254669c71c550b8a43b34354d21b89675f5c3ab513ce0b34156462e +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466728e2a0d6eeceaee629a7e4b94070395666bc89812f54a5e443b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=fe234b7f281411b7c6b3d7b75466259f4e5f05c12ba78c04f44432f0fba361 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=9e35422ab4388dd10073b1a0ef26ad00041372fdf968809e67f56f1b6ef723 + +handshake=Noise_NX_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663cab12734ea8f3f71a191dc053eb280e1760e951ba66c23b2d5d090d325f2bd154f933398586078af56948c397a8e522e525a530c01555483befa16d03b0a992 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8436ee9176feeba72f40eaf8763e62578ad131ddaf3d0e4706f669b0746370 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=cc209ffad0968216785972cf62f4288fee898e542b62dba05cf740beac6912 + +handshake=Noise_NXpsk0_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625407406c210acab2efa5a752bfc7f60f6a +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e6de020041b1ed9cc0abc1ec10ffd7aab8841f05b32505bd9a4a111e3384642a8ae942b131e5cd1ffcf44770a663898c20a38eefe33480f356b9e87337056524 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6a6eb79d6d2329043f6df6945f6b8dc1fad535c008f4393fb464323f179da8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=58ba0042ea02ac6e21a075a4249ac396af30b38fd6db7209070b5594313a5d + +handshake=Noise_NXpsk1_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e3b84ba49e616863bae44f4ccf12dea5 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660fe07338f262359efd7e66ec1129694e277c126937f27237c19af6dfb8fe373329bfbb3fbcca0bee5b4c9b396fc871dcecb0833e162796fde3b1a82e245eff47 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e614e802e27f6218560f56fc3ac90afefc38855e54605b1ab8477408c4289c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=7799c71060564989f88dcde89adbc68df6298afc5816cf5ccb1a3810ddd471 + +handshake=Noise_NXpsk2_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d98d5b739c87988f54e7981441d55055 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466945048334654701f49de37c70d567af745ec79534fc7a5b274085e6c60e07f98190ba719c270cec77adeb7bf9def9aec80a7e9b7aab8bb527908ce5ed0cb1549 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=18369c84a08bfe295c0b04773443e42ed07f8361d2fdc2d0c59dcd21284f76 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e02c82141ccd4004caf2e15e112a0660475627f19400491c41468abdf04fb2 + +handshake=Noise_NX_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663cab12734ea8f3f71a191dc053eb280e1760e951ba66c23b2d5d090d325f2bd11c587cf45dd929e588e534b20082a5d02cf02b2b4188e655d60b9cb741196cbcef63ecdd5afa9805fee5 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8436ee9176feeba72f40eaf8763e62578ad131ddaf3d0e4706f669b0746370 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=cc209ffad0968216785972cf62f4288fee898e542b62dba05cf740beac6912 + +handshake=Noise_NXpsk0_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254fa0a83212633a12d6bccc46857f520db476dcaf663e969d2c865 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e6de020041b1ed9cc0abc1ec10ffd7aab8841f05b32505bd9a4a111e3384642ad3b251d1a6eba26ecafaea916748c17a9c70de5e1fa6e0dd0b9954871761e1d485353b35615d6062a17a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6a6eb79d6d2329043f6df6945f6b8dc1fad535c008f4393fb464323f179da8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=58ba0042ea02ac6e21a075a4249ac396af30b38fd6db7209070b5594313a5d + +handshake=Noise_NXpsk1_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f6807e4adc8d6dbb87a05381de4d11f6c8f24c89895fffea5d44 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660fe07338f262359efd7e66ec1129694e277c126937f27237c19af6dfb8fe3733bfde55feb1e178d339b71b6843e8ad41ac5976d65bcc430454e87115cb8ed1f8af531005196898fbdd0a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e614e802e27f6218560f56fc3ac90afefc38855e54605b1ab8477408c4289c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=7799c71060564989f88dcde89adbc68df6298afc5816cf5ccb1a3810ddd471 + +handshake=Noise_NXpsk2_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625458a2a3b6fdb1de5fbee4c4d1b909cc23178033a2176354938109 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466945048334654701f49de37c70d567af745ec79534fc7a5b274085e6c60e07f98137e010d13a87401d82cf9fa31debe616dfea637d445322350acc39cce7c5750354fae351fa25d85aedf +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=18369c84a08bfe295c0b04773443e42ed07f8361d2fdc2d0c59dcd21284f76 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e02c82141ccd4004caf2e15e112a0660475627f19400491c41468abdf04fb2 + +handshake=Noise_NX_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663cab12734ea8f3f71a191dc053eb280e1760e951ba66c23b2d5d090d325f2bd180a5ed192be8c4a710ac09ab86735c9d3242bc60c5111ea1e046d3d44a56357b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8436ee9176feeba72f40eaf8763e62578ad131ddaf3d0e4706f669b0746370 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=cc209ffad0968216785972cf62f4288fee898e542b62dba05cf740beac6912 + +handshake=Noise_NXpsk0_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546f0bbfa57497b723e7b2df35f66e5b49 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e6de020041b1ed9cc0abc1ec10ffd7aab8841f05b32505bd9a4a111e3384642a5689f8f05401600a5b6d74e118644166f25301de37703a013fdad04de6aaddf8 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6a6eb79d6d2329043f6df6945f6b8dc1fad535c008f4393fb464323f179da8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=58ba0042ea02ac6e21a075a4249ac396af30b38fd6db7209070b5594313a5d + +handshake=Noise_NXpsk1_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547e8ba6bebe1a900604e09647da4bea6b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660fe07338f262359efd7e66ec1129694e277c126937f27237c19af6dfb8fe37332b83b975639a4c5476e4b308afe63b3d7e0502681de388787adaccb7912c594c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e614e802e27f6218560f56fc3ac90afefc38855e54605b1ab8477408c4289c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=7799c71060564989f88dcde89adbc68df6298afc5816cf5ccb1a3810ddd471 + +handshake=Noise_NXpsk2_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254abd5c4dbcd9bec08f5785ceef88c8c2f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466945048334654701f49de37c70d567af745ec79534fc7a5b274085e6c60e07f987241469b3c8de0e1b02a94b215ead3207a8c188be0a5c7677e33d1d765308d42 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=18369c84a08bfe295c0b04773443e42ed07f8361d2fdc2d0c59dcd21284f76 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e02c82141ccd4004caf2e15e112a0660475627f19400491c41468abdf04fb2 + +handshake=Noise_NX_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663cab12734ea8f3f71a191dc053eb280e1760e951ba66c23b2d5d090d325f2bd1819782ed84cf6815a49c0186e95910d22cf02b2b4188e655d60b3f1f5941cce7dec8fa01ce3c55c671c2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8436ee9176feeba72f40eaf8763e62578ad131ddaf3d0e4706f669b0746370 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=cc209ffad0968216785972cf62f4288fee898e542b62dba05cf740beac6912 + +handshake=Noise_NXpsk0_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254fa0a83212633a12d6bcc9a6171915f8250f6e22ee5eb9935005c +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e6de020041b1ed9cc0abc1ec10ffd7aab8841f05b32505bd9a4a111e3384642a7b72e559f79e16ba912e9e42d693318d9c70de5e1fa6e0dd0b99aee00aea4e091c9c78558b0dda450750 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6a6eb79d6d2329043f6df6945f6b8dc1fad535c008f4393fb464323f179da8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=58ba0042ea02ac6e21a075a4249ac396af30b38fd6db7209070b5594313a5d + +handshake=Noise_NXpsk1_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f6807e4adc8d6dbb87a0ae8cdebfa23da36d298070b955c319ab +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660fe07338f262359efd7e66ec1129694e277c126937f27237c19af6dfb8fe37332302e237cbffd3e19f431a1cc57ea233ac5976d65bcc430454e825bf561eaaac606af413730ed8b93383 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e614e802e27f6218560f56fc3ac90afefc38855e54605b1ab8477408c4289c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=7799c71060564989f88dcde89adbc68df6298afc5816cf5ccb1a3810ddd471 + +handshake=Noise_NXpsk2_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625458a2a3b6fdb1de5fbee4e074465318c6eb7e520349b275865007 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466945048334654701f49de37c70d567af745ec79534fc7a5b274085e6c60e07f98412430a46f760ec9e1a6849c01302cda6dfea637d445322350acca1bb1953e282c6dca68169edb531404 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=18369c84a08bfe295c0b04773443e42ed07f8361d2fdc2d0c59dcd21284f76 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e02c82141ccd4004caf2e15e112a0660475627f19400491c41468abdf04fb2 + +handshake=Noise_KX_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d750365e947a92608f1c492f6d7a07b738ad37cd00e241497371929a94c4e6d02ec1185f23719493931cc5fa4ab2f7fb197acfe601403b4cdc967bd4cfbfaa89 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=120302ad872ca2e8e3b44a5b25ee43323ebf5abc3ac15cb6cb5a5b6367f06d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8e276ab45beaadc196449e0137fc9c45531a4452153b1ef0f732caa7e9fe65 + +handshake=Noise_KXpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625468f71c2faf195aa778d37d4cc2859372 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d2a0c08410deab404ac28d06fd35af5d5a1f7b45db9be3842df0988cf20cc7f433847dca55766a1df984e2d6387336ee54acbd608d81d44911b68d22f18ca5af +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c406f3b52c73e6224bd731a3ff48b84c28ce5208cab54fd266e27003a925a3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=05e22b85e52a23eabb16edc9afae206d59c234922e75f8385e65db5a56bfe8 + +handshake=Noise_KXpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549dd6608dbfbdd3cf57c0f8169912c0ae +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466106146b159cbf91766e59566ea4c89cadf4b72f33418c93919793fdf6c00642117d43f701bda94e37d0cac2bc4490ff97557188ed6165537241084fa6609d7dd +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8a3ddb48d59389bdac13a351f63d1f47e3aae4e56f849ca12f48195e751e15 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=625c80ee8afe830d7944fc7c33bf51077d94cc75433369d849f42d63edb751 + +handshake=Noise_KXpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625419f548b86c9a3238c72eb37b232d8679 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a08a362949425a6abadf4e80b05db9449b0dbdbfbec6eb5220f535d9356f58a304f0c8066c9d955713b561b2925ee07af6f62f0a218a78ca75d68e0c84fb3350 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=42f348cf45b8ad1afbc3001151fde2c70109ea3c5cfb69d3de99fb5ffae827 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6f68b6f3d97446f0e6510305eca839209f57506f3a02cbf38280352ea0e1a1 + +handshake=Noise_KX_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d750365e947a92608f1c492f6d7a07b738ad37cd00e241497371929a94c4e6d0c4391a81757745480b7942495aa1f6650aa5c2a82a32eef9e381e107cbdb021584921e8a54aca1ba1cd7 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=120302ad872ca2e8e3b44a5b25ee43323ebf5abc3ac15cb6cb5a5b6367f06d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8e276ab45beaadc196449e0137fc9c45531a4452153b1ef0f732caa7e9fe65 + +handshake=Noise_KXpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625413c4eabc370d35e3b373f9fab0cc0bbee8b4f32d3409f7cb4ead +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d2a0c08410deab404ac28d06fd35af5d5a1f7b45db9be3842df0988cf20cc7f4290baa0275f98fb151d5b19cdab8b58a59abc604fa23da55cb1bd4704b68e91f690a23973a314a9f5dca +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c406f3b52c73e6224bd731a3ff48b84c28ce5208cab54fd266e27003a925a3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=05e22b85e52a23eabb16edc9afae206d59c234922e75f8385e65db5a56bfe8 + +handshake=Noise_KXpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b0f32759f1f61814826cbb693d34eb145f02a963fa85a6ab4009 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466106146b159cbf91766e59566ea4c89cadf4b72f33418c93919793fdf6c0064213f1f0f4c663b52091ac62d3acf442a74f5b738a71ccc543faf343b8dc949b31c79e37545eb8764d036de +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8a3ddb48d59389bdac13a351f63d1f47e3aae4e56f849ca12f48195e751e15 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=625c80ee8afe830d7944fc7c33bf51077d94cc75433369d849f42d63edb751 + +handshake=Noise_KXpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547b501815e69557bb5cf7c66a8311d8e798bab5eb7f85ec9fa07c +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a08a362949425a6abadf4e80b05db9449b0dbdbfbec6eb5220f535d9356f58a3588e06ea64363458b186ea7df3d01e7b69d1855ec9bd0fbf751bc2ef6243ff5bffd1225474d6bfef9e36 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=42f348cf45b8ad1afbc3001151fde2c70109ea3c5cfb69d3de99fb5ffae827 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6f68b6f3d97446f0e6510305eca839209f57506f3a02cbf38280352ea0e1a1 + +handshake=Noise_KX_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d750365e947a92608f1c492f6d7a07b738ad37cd00e241497371929a94c4e6d0bc0e94d7a1cacca75268186bde15c7b68d93f6743aa9942f32dc4996837c5a4f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=120302ad872ca2e8e3b44a5b25ee43323ebf5abc3ac15cb6cb5a5b6367f06d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8e276ab45beaadc196449e0137fc9c45531a4452153b1ef0f732caa7e9fe65 + +handshake=Noise_KXpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a5b967e598dfffe9edb3f022904f70e0 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d2a0c08410deab404ac28d06fd35af5d5a1f7b45db9be3842df0988cf20cc7f461dfc24838b85365bfdf871c46adb9b14154a3cf4d24f5da0de13d84b0661caf +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c406f3b52c73e6224bd731a3ff48b84c28ce5208cab54fd266e27003a925a3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=05e22b85e52a23eabb16edc9afae206d59c234922e75f8385e65db5a56bfe8 + +handshake=Noise_KXpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544e148e82b52660be5c80f764a5d85cae +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466106146b159cbf91766e59566ea4c89cadf4b72f33418c93919793fdf6c006421036d52401f286d5f4f2dbcf1abcca8b1e076366728cc163d434715979894289f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8a3ddb48d59389bdac13a351f63d1f47e3aae4e56f849ca12f48195e751e15 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=625c80ee8afe830d7944fc7c33bf51077d94cc75433369d849f42d63edb751 + +handshake=Noise_KXpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625435474615c969451fe17e73448a5e9cdf +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a08a362949425a6abadf4e80b05db9449b0dbdbfbec6eb5220f535d9356f58a37944ba3ebea3c35d041afeb9fd2eb648073e2e9fb6f39243f7c010c41a3b0dd3 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=42f348cf45b8ad1afbc3001151fde2c70109ea3c5cfb69d3de99fb5ffae827 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6f68b6f3d97446f0e6510305eca839209f57506f3a02cbf38280352ea0e1a1 + +handshake=Noise_KX_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d750365e947a92608f1c492f6d7a07b738ad37cd00e241497371929a94c4e6d0f60083401ee9c6620039c34566f38f0b0aa5c2a82a32eef9e381ae8acf215c4525e92c68a6c3f7bbd537 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=120302ad872ca2e8e3b44a5b25ee43323ebf5abc3ac15cb6cb5a5b6367f06d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8e276ab45beaadc196449e0137fc9c45531a4452153b1ef0f732caa7e9fe65 + +handshake=Noise_KXpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625413c4eabc370d35e3b37348719e87dc9f4a12d1ac3b597b94a40d +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d2a0c08410deab404ac28d06fd35af5d5a1f7b45db9be3842df0988cf20cc7f47e0091dd10704dd2b2f1e8b9eb51168459abc604fa23da55cb1b05a5dd2f586a0557c0e207704830f000 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c406f3b52c73e6224bd731a3ff48b84c28ce5208cab54fd266e27003a925a3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=05e22b85e52a23eabb16edc9afae206d59c234922e75f8385e65db5a56bfe8 + +handshake=Noise_KXpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b0f32759f1f61814826c4976c6e28b0a7ea7abac5d434a636617 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466106146b159cbf91766e59566ea4c89cadf4b72f33418c93919793fdf6c006421188de02a0d30be64807108e8e1f6bbacf5b738a71ccc543faf34078d7e42f606594a2058747095b8657f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8a3ddb48d59389bdac13a351f63d1f47e3aae4e56f849ca12f48195e751e15 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=625c80ee8afe830d7944fc7c33bf51077d94cc75433369d849f42d63edb751 + +handshake=Noise_KXpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547b501815e69557bb5cf7dcdf6a40f62bd8c34a0dd2f667bb010a +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a08a362949425a6abadf4e80b05db9449b0dbdbfbec6eb5220f535d9356f58a378ff6d119df2343b7960b727fe2ffaaf69d1855ec9bd0fbf751b71ac4833b739b3e246b9b5441cad9fd2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=42f348cf45b8ad1afbc3001151fde2c70109ea3c5cfb69d3de99fb5ffae827 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6f68b6f3d97446f0e6510305eca839209f57506f3a02cbf38280352ea0e1a1 + +handshake=Noise_XN_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466988474c4bc814eac3a4eb6e448d4acd0 +msg_2_payload= +msg_2_ciphertext=b1a131ae945d7cccbc46e74eed3289875967c9b743dff16c2cc404ee27cbeb70af25ce82007ae6deba2a37e1085023fe89248b5245916d6450c4e4582068dcba +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=b5812ae8d9c624ecb85f39515859c1cccff15caf017bb91db106b46c6924ef +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=20231a53dcc59ca97eeaa2a43394e5b4fc073716896e9a3ccac9387ea01243 + +handshake=Noise_XNpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541878c2328b45e172f0dfbad0e3b3aa68 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663471c9d8776d5e49564cab43e9e79186 +msg_2_payload= +msg_2_ciphertext=a87b061dff06c9a56457e1d6a4c7c4df6b8769f343c1f1b33551f6bcc263c848e3be3328718b68bed193c51fb11ff996efc661808169b463ce1248ae676f50cd +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=a5956d8aae09289cdb03185f9b63de52f1447a79e307c6e604ccf817253a5f +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=6cda6e68ed4b4402b9ae56caf4d16db4f994a5ddcf65aa9f3a915307089859 + +handshake=Noise_XNpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254139465c03bc36f484cfc79b470d666cd +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466704ab2dc4aeb2a61d5782c0778070e8b +msg_2_payload= +msg_2_ciphertext=c816ad72c489e34b006988edc566f969ed71de0eb8f1254e5ec39eae02f27426058b160cd6bf1f495b6b0256fc2466f5471a45880c790198bdd1dbb448d53e4c +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=913446cef1a493a0fd96acdd702f5d772a9842c8545a96a4ef91b068eaafeb +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=5cc60635e934808c5a577baf0287316c34364c95667ad380a0b8fc4c9a3ad4 + +handshake=Noise_XNpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254088fae778f2f23315be81b8c5bbf4199 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846691de153aa38c996296165b23e39e4ba5 +msg_2_payload= +msg_2_ciphertext=c44848a758d20c51f1207057a6b75b5c30742221577758d0dd6f4d2ec7265b6991ca389832770d6646645f078ebfacfb4ef98fb67b22ef093c90b2b2de7261f5 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=454db968e85c0aa2018661c23973686005f5add451ae7bef0eba43ca978ebb +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=660a63b91e195715c181bfc04c12d6141dd1f0a6f3b77be74dbbf4a0aae7e6 + +handshake=Noise_XNpsk3_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625451e1b61a8dbb4cb8e33299a9f717cc7b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664ee2b9a6fb5aa8606f177824e9fed5bc +msg_2_payload= +msg_2_ciphertext=9f5dd4a9797066f984199e97e45af174bf8cd61adfdcd0fe178e495304bf52954113aaa5963a11be301b4034533fe0d142d11f4408aa61eb1be560849c3fdf1f +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=c40a299a4178ef3fc65641b39fab602d4d0112e4df25ef5ee667101280053f +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=0d80b82f62dba76f15ae04b55da791d5e7e1ec6c2c0a66762188e3c7f69815 + +handshake=Noise_XN_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668ebd9d2110458ed54d5d12597a6218330b3fcbdfb59963b6c0cd +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=b1a131ae945d7cccbc46e74eed3289875967c9b743dff16c2cc404ee27cbeb707987c7eb9fb15e7b3425014e33ee2bdedede11aff10daa4794db8599579ba04348824534044c310360ee +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=b5812ae8d9c624ecb85f39515859c1cccff15caf017bb91db106b46c6924ef +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=20231a53dcc59ca97eeaa2a43394e5b4fc073716896e9a3ccac9387ea01243 + +handshake=Noise_XNpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625453bcb5ed740103515a70dccc5027f82ea16645c2cf12a4d0418e +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fe5ae95f4d654f81ba88e2da3c9073cf753f83fcaa3392795c2b +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=a87b061dff06c9a56457e1d6a4c7c4df6b8769f343c1f1b33551f6bcc263c848ccd48e7a836de5a78f57ca660f9b0c0ae4019430d508e72e8b027a3dba64aa2421c14568bc5612ca39fe +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=a5956d8aae09289cdb03185f9b63de52f1447a79e307c6e604ccf817253a5f +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=6cda6e68ed4b4402b9ae56caf4d16db4f994a5ddcf65aa9f3a915307089859 + +handshake=Noise_XNpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254abe5c0277ce6547f2ef97887cb94162fc9ab8cf6ea2cb46f493b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667ba91997827a5f176569ff971962880e2b25094007ac03a8d95e +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=c816ad72c489e34b006988edc566f969ed71de0eb8f1254e5ec39eae02f274269138a3ae41d01e9d650a02787f12d35d15ec0e8394c3c28c4a208d01b35e9f6a29f2b30436827358e296 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=913446cef1a493a0fd96acdd702f5d772a9842c8545a96a4ef91b068eaafeb +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=5cc60635e934808c5a577baf0287316c34364c95667ad380a0b8fc4c9a3ad4 + +handshake=Noise_XNpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625430c66d8c51d826469cb0ed6da6f0e4a3b46262b84ecf63e0174f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846684ab0ec2868afa8fd41a339d9585c2be4aef7c24748d994e3ff8 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=c44848a758d20c51f1207057a6b75b5c30742221577758d0dd6f4d2ec7265b6901bdc2e6295cb723ece5a0204021b93950d7406e563d02635e25b6656e46e0d84ac375737476397453f2 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=454db968e85c0aa2018661c23973686005f5add451ae7bef0eba43ca978ebb +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=660a63b91e195715c181bfc04c12d6141dd1f0a6f3b77be74dbbf4a0aae7e6 + +handshake=Noise_XNpsk3_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c47ebd8ffeb5672cb656bbfc0dec33c35496395a6db41a88417d +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846672c56c783089c040fd9a9a3a568f1b9e6a28bf847f3e0bc30c3d +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=9f5dd4a9797066f984199e97e45af174bf8cd61adfdcd0fe178e495304bf5295104af70ebac3b9df92578c538c2392360020415ec8cf0ee4c2dbbe42223069e1c1deb42a2959eea770f8 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=c40a299a4178ef3fc65641b39fab602d4d0112e4df25ef5ee667101280053f +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=0d80b82f62dba76f15ae04b55da791d5e7e1ec6c2c0a66762188e3c7f69815 + +handshake=Noise_XN_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846673271030e0003fb2df82539007eca645 +msg_2_payload= +msg_2_ciphertext=b1a131ae945d7cccbc46e74eed3289875967c9b743dff16c2cc404ee27cbeb70e4c109520e2d30a41c95652cd08b77d4df4a342bd396735eab5e28b47620ab8a +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=b5812ae8d9c624ecb85f39515859c1cccff15caf017bb91db106b46c6924ef +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=20231a53dcc59ca97eeaa2a43394e5b4fc073716896e9a3ccac9387ea01243 + +handshake=Noise_XNpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625436c9321ebf714c9519214b097526e929 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664745d67a61913ce52d624f8df114c9b0 +msg_2_payload= +msg_2_ciphertext=a87b061dff06c9a56457e1d6a4c7c4df6b8769f343c1f1b33551f6bcc263c8483b4480058a82d425f3e43396950abbc58cd5097f9b26a79b0074d50200d2aa9b +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=a5956d8aae09289cdb03185f9b63de52f1447a79e307c6e604ccf817253a5f +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=6cda6e68ed4b4402b9ae56caf4d16db4f994a5ddcf65aa9f3a915307089859 + +handshake=Noise_XNpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544ad2c659c6e1ca08e814589f0b4ab8da +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d34fd899cd1663695b2898236c3e0b5f +msg_2_payload= +msg_2_ciphertext=c816ad72c489e34b006988edc566f969ed71de0eb8f1254e5ec39eae02f27426a7a4a69a02c7173a0ed58f36ef99bb7ed04b7ea534f8cfdc3df971fc5d83d612 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=913446cef1a493a0fd96acdd702f5d772a9842c8545a96a4ef91b068eaafeb +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=5cc60635e934808c5a577baf0287316c34364c95667ad380a0b8fc4c9a3ad4 + +handshake=Noise_XNpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b0d6eb79c92622a3a96d2cbde54d5ee1 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846613d3b417279df8b6bf62ea4c898c1ccf +msg_2_payload= +msg_2_ciphertext=c44848a758d20c51f1207057a6b75b5c30742221577758d0dd6f4d2ec7265b692d513bf753446df5d0cdcb2ca7b812e2f2fe48a691a82468faac983edca29a53 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=454db968e85c0aa2018661c23973686005f5add451ae7bef0eba43ca978ebb +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=660a63b91e195715c181bfc04c12d6141dd1f0a6f3b77be74dbbf4a0aae7e6 + +handshake=Noise_XNpsk3_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544c00554c4225bf63afcbbf37eaf0bb7c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846686ba345caf5f9a6c1af1d61c0ebebabb +msg_2_payload= +msg_2_ciphertext=9f5dd4a9797066f984199e97e45af174bf8cd61adfdcd0fe178e495304bf52954b0996fc15cbe197806147e53701f6b3449a291a4fa39281652e1089230529c1 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=c40a299a4178ef3fc65641b39fab602d4d0112e4df25ef5ee667101280053f +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=0d80b82f62dba76f15ae04b55da791d5e7e1ec6c2c0a66762188e3c7f69815 + +handshake=Noise_XN_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668ebd9d2110458ed54d5ddccba5d5ecd3cbc9839829239a072d47 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=b1a131ae945d7cccbc46e74eed3289875967c9b743dff16c2cc404ee27cbeb70087cae99cdb9325ed5d8e298eaa530a2dede11aff10daa4794db4e83b79ef22753e3dbe12caeb949dc6d +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=b5812ae8d9c624ecb85f39515859c1cccff15caf017bb91db106b46c6924ef +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=20231a53dcc59ca97eeaa2a43394e5b4fc073716896e9a3ccac9387ea01243 + +handshake=Noise_XNpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625453bcb5ed740103515a707998faf9a6f44cdee5b6d00344ad53e7 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fe5ae95f4d654f81ba8861439ac7a95d1f953ba67f3842a18432 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=a87b061dff06c9a56457e1d6a4c7c4df6b8769f343c1f1b33551f6bcc263c8482aa326dc128555199a32b5d152079b5be4019430d508e72e8b028ee24bf4b647ecb32c58f90e9bbeed5c +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=a5956d8aae09289cdb03185f9b63de52f1447a79e307c6e604ccf817253a5f +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=6cda6e68ed4b4402b9ae56caf4d16db4f994a5ddcf65aa9f3a915307089859 + +handshake=Noise_XNpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254abe5c0277ce6547f2ef907329e13b94de50d15352ae9d78508e3 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667ba91997827a5f176569ed5acaf721d9134fae48f89e345f6656 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=c816ad72c489e34b006988edc566f969ed71de0eb8f1254e5ec39eae02f27426df4e9fc31bfc969eb43577d1a4b8fe5b15ec0e8394c3c28c4a201364d8f1cc36146d4e71612d0ac7bb7a +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=913446cef1a493a0fd96acdd702f5d772a9842c8545a96a4ef91b068eaafeb +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=5cc60635e934808c5a577baf0287316c34364c95667ad380a0b8fc4c9a3ad4 + +handshake=Noise_XNpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625430c66d8c51d826469cb091809304068a4c45b31d201e3d6984d9 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846684ab0ec2868afa8fd41a8364284dcac1f6504dcbfb64f7fc2c89 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=c44848a758d20c51f1207057a6b75b5c30742221577758d0dd6f4d2ec7265b6955b7fbb5a9569540fb2894de52721ca250d7406e563d02635e2538f99a17e3c60de4afdc7f6845d12ffb +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=454db968e85c0aa2018661c23973686005f5add451ae7bef0eba43ca978ebb +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=660a63b91e195715c181bfc04c12d6141dd1f0a6f3b77be74dbbf4a0aae7e6 + +handshake=Noise_XNpsk3_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c47ebd8ffeb5672cb6563d3b2e8a24f22064c2824778c9ee1e1d +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846672c56c783089c040fd9aaf2198289d220313c7d715b060de7d11 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=9f5dd4a9797066f984199e97e45af174bf8cd61adfdcd0fe178e495304bf5295949f59aa6dcd20a9c8878b89303af7390020415ec8cf0ee4c2dbf425b90a723b4e45f296f6dd79243adf +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=c40a299a4178ef3fc65641b39fab602d4d0112e4df25ef5ee667101280053f +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=0d80b82f62dba76f15ae04b55da791d5e7e1ec6c2c0a66762188e3c7f69815 + +handshake=Noise_IN_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466dc3a487d9accc35b9ae9b1c394217018 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a19d6a777dfbe1012232727ad0c04cb68d76b903dcc87dd505b85bab3e5433 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ce308865d60653f9e63cab1f039b63261ed5c37d1369020db0b2d8965a4b5a + +handshake=Noise_INpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254fa66a1d13c5e040a571cb62797f389f0bdc93b9d6a3d2916377e9def67461897b1fc44f1e9763665e80e00027d1f18182163f1ddd3634dd27996f029a73bad65 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a15c2ffd0b6dde640803eab560d0a319 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=412466f3e30dbe8a0fcf5c7623ca89cf12aa18f0032261d8dbdb01ddfd9722 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0c261cf8d2744677ee33080e07dec1fae865dcd42ce44f0bd11deb0103d46f + +handshake=Noise_INpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543d0a33a5ca38ecd21362d671912fda8b15c33d39b4fd6a201ccaffd930371ec7ca83d762b357eb53be91392561c46d05fe177f9abe3298172695f49d07143787 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846626f2dd6ee861f026bd4f332a4a7cf281 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a0ca0780e8b14b25ac4c10c848700fcfe6eb3375a79646f0246140ce0a38f7 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ba8833e1c68886ac6610c85f6577fa357a6342e9af3a631c0af908e8f1b4a6 + +handshake=Noise_INpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549261456b2aeb37966de232efa6cfc0d4d53fdcd7b9dc13c6f5969bf113c23f3b4a99c06df30d020a9918405444e90c798f56c43c2f6ee53a95f35c013df24cf1 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669e0f90ae816bc5861579e1fc3dac31cf +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=5035ddbf91e81c481603d0a90e76a9afda117318298b758ff0be2645129d8e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6cfd82e4b22fdd8a45c4c3778c385cda5e05538d7bf300b9dc6d11be818d71 + +handshake=Noise_IN_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846680415c34cf9cd2fcc5ff07ff0515d320986d75947d3e92887e33 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a19d6a777dfbe1012232727ad0c04cb68d76b903dcc87dd505b85bab3e5433 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ce308865d60653f9e63cab1f039b63261ed5c37d1369020db0b2d8965a4b5a + +handshake=Noise_INpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254fa66a1d13c5e040a571cb62797f389f0bdc93b9d6a3d2916377e9def67461897b1fc44f1e9763665e80e00027d1f18184d5e8c562d7176a44745bc732b92f1f6a47b8fee4fc04ebb0d7b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e210d10ffdd00b89c314bd8e118bbcf655d41d25db568d805ada +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=412466f3e30dbe8a0fcf5c7623ca89cf12aa18f0032261d8dbdb01ddfd9722 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0c261cf8d2744677ee33080e07dec1fae865dcd42ce44f0bd11deb0103d46f + +handshake=Noise_INpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543d0a33a5ca38ecd21362d671912fda8b15c33d39b4fd6a201ccaffd930371ec7ca83d762b357eb53be91392561c46d05f58ed688af22ea17c28eae9ad84b58de5d775f4cb08d73316c88 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c6649a9c5a7cc255713f1e47aa65ea192f550a54ba3d420afe5f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a0ca0780e8b14b25ac4c10c848700fcfe6eb3375a79646f0246140ce0a38f7 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ba8833e1c68886ac6610c85f6577fa357a6342e9af3a631c0af908e8f1b4a6 + +handshake=Noise_INpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549261456b2aeb37966de232efa6cfc0d4d53fdcd7b9dc13c6f5969bf113c23f3b4a99c06df30d020a9918405444e90c797485540b3e84439995285bfd581df450b29769fc6b2de211a440 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669238932916977e5aa74ab7b5f3db22ac8b916a65a3c33075008f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=5035ddbf91e81c481603d0a90e76a9afda117318298b758ff0be2645129d8e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6cfd82e4b22fdd8a45c4c3778c385cda5e05538d7bf300b9dc6d11be818d71 + +handshake=Noise_IN_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e1250b022b6dd38ae0ef98de771c551f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a19d6a777dfbe1012232727ad0c04cb68d76b903dcc87dd505b85bab3e5433 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ce308865d60653f9e63cab1f039b63261ed5c37d1369020db0b2d8965a4b5a + +handshake=Noise_INpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254fa66a1d13c5e040a571cb62797f389f0bdc93b9d6a3d2916377e9def674618979df913c2e470e1e1533482ddd46d9009f84515ec8c05d6089bef6b0db4701428 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466de2ebdfc7517338ef3e808c6a357f034 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=412466f3e30dbe8a0fcf5c7623ca89cf12aa18f0032261d8dbdb01ddfd9722 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0c261cf8d2744677ee33080e07dec1fae865dcd42ce44f0bd11deb0103d46f + +handshake=Noise_INpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543d0a33a5ca38ecd21362d671912fda8b15c33d39b4fd6a201ccaffd930371ec7a7632ec505c484737048c2713e259053d774d5a366f33a64a9369065c6e07b67 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ef84513938c77cb34209e0d1d2bc52bc +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a0ca0780e8b14b25ac4c10c848700fcfe6eb3375a79646f0246140ce0a38f7 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ba8833e1c68886ac6610c85f6577fa357a6342e9af3a631c0af908e8f1b4a6 + +handshake=Noise_INpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549261456b2aeb37966de232efa6cfc0d4d53fdcd7b9dc13c6f5969bf113c23f3b414349604be5302d44a87c1de3df2357e5ee5528292efb2e05ae15c414969849 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667915d63c972f647573c2255d86bd0916 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=5035ddbf91e81c481603d0a90e76a9afda117318298b758ff0be2645129d8e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6cfd82e4b22fdd8a45c4c3778c385cda5e05538d7bf300b9dc6d11be818d71 + +handshake=Noise_IN_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846680415c34cf9cd2fcc5ff02c8f4f0e18740f9a54b24ff9f09a690 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a19d6a777dfbe1012232727ad0c04cb68d76b903dcc87dd505b85bab3e5433 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ce308865d60653f9e63cab1f039b63261ed5c37d1369020db0b2d8965a4b5a + +handshake=Noise_INpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254fa66a1d13c5e040a571cb62797f389f0bdc93b9d6a3d2916377e9def674618979df913c2e470e1e1533482ddd46d90094d5e8c562d7176a447450da75537282462cc96b900debc7e749d +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e210d10ffdd00b89c3148aa8c3a69d47184af76d60acfec093c2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=412466f3e30dbe8a0fcf5c7623ca89cf12aa18f0032261d8dbdb01ddfd9722 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0c261cf8d2744677ee33080e07dec1fae865dcd42ce44f0bd11deb0103d46f + +handshake=Noise_INpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543d0a33a5ca38ecd21362d671912fda8b15c33d39b4fd6a201ccaffd930371ec7a7632ec505c484737048c2713e259053f58ed688af22ea17c28e8271a57ef385d1c0c409eb563b360eeb +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c6649a9c5a7cc255713fa8b7c1d04992e2c3b3af30d5daa82c25 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a0ca0780e8b14b25ac4c10c848700fcfe6eb3375a79646f0246140ce0a38f7 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ba8833e1c68886ac6610c85f6577fa357a6342e9af3a631c0af908e8f1b4a6 + +handshake=Noise_INpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549261456b2aeb37966de232efa6cfc0d4d53fdcd7b9dc13c6f5969bf113c23f3b414349604be5302d44a87c1de3df23577485540b3e844399952860995d9d1c90781fe677edc6d35867e7 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669238932916977e5aa74aafe1d638562cec623b848e26b4df7a71 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=5035ddbf91e81c481603d0a90e76a9afda117318298b758ff0be2645129d8e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6cfd82e4b22fdd8a45c4c3778c385cda5e05538d7bf300b9dc6d11be818d71 + +handshake=Noise_XK_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625490210797b3a07855f135b5bdbbddf165 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664733671042d65e0eb2ff0a9e7a9c7c9f +msg_2_payload= +msg_2_ciphertext=4324e614b0f53d138eaa88364af70c285c29f6f0a39a9205a67e60c4abe97668fd8020f0feee69a839100d5f262cb9314c619d97600d2e7acef6d5d39a7489fb +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=7a58f180a45f63401657a7a4817ac5c34dae211e1fbafcb8c42aaccb6c4fd5 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=e39cc5c38f30dd358deed825a045e77c96c856d9957b5eed88c6704cd113b3 + +handshake=Noise_XKpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548e209c79c8ea8a562a17a10307c60e87 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669498034db343934e058df83380897eab +msg_2_payload= +msg_2_ciphertext=e7ee54258e880e01a57de43cacc12c5799e34ed9beb0e3d0d64dfc3d0e1dd0bfc27656f27cc417501e9769a73d8143adba8e31493d7415a5c58cbebd6c35c278 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=d85c66f45b68d04f1317197985ebbd021defdcec3bc7902c940754c7fe7175 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=d6b2f036e6cac49e862ccbcbfd359ea858a7c8e3cff228506758633ec53276 + +handshake=Noise_XKpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547ce9d900de63dd0b5e9b840ad3f12149 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466088ad43090816c338733ba917a3a1853 +msg_2_payload= +msg_2_ciphertext=5008b6f662503afac70502840b3520d72b641a06dbc77426475b0b83eac6aa18e595fca7739b5985df46c9dea693614d5e44c50f9c9541ce7b80be0547c94050 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=60abaa1cdd2f173576adcd2f93d5d5737c4ef63598ee3ff6c006a6eb3c9266 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=61261512d684c773a79724182988e8382cd571a3d6aa4703cf1a17a0550204 + +handshake=Noise_XKpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f5ae1b7c7a2c2d21366d159eba7965a5 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466381bc604f56a554d4660ed44ff9b67b0 +msg_2_payload= +msg_2_ciphertext=aa2b2e3078aa0054ca436df384c021f5bef28fbe3a9fb6608fc8f0e5a9a1faff3e12483b03fa8a28bf453b2ad69e18fb28624c08b45c1117694bfa6bd86a8d15 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=25ff84a3cb83d33bdf1559428a7d55ff15bdb042db3c85321346e2894a70f9 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=8be89bcd7bf5bc0326872bf15216c83b19df6d3f14b2744fa60138e364646c + +handshake=Noise_XKpsk3_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625474ef4fdbe6a15dbbd752aba5a6cba0b9 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466229f6b33b965af8a156dfa1a75e674d3 +msg_2_payload= +msg_2_ciphertext=75ef1297edb57f0efa872372675293bc721ecb4f58ee1d87012ff7069f4ff38b2f4c335d892fc2d7dd639a86382703c9d3ef7e99a00f439f51c51e804b0ea502 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=8e2c8d3c21594d58f0d7da8d4d40cb0b47ca6b0831e5f8f4ae66966aea4c8d +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=6cba677284723c05166976ceb2146d2978e38f17e102780c71cf11416272c8 + +handshake=Noise_XK_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254663eea19e1c296b8b49ff4f25ea226b3a7deb26fd267bf07d26c +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b29eebb8f9cd52c9835ec61f24bce5cf57eeb626ad1f9f23b3ac +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=4324e614b0f53d138eaa88364af70c285c29f6f0a39a9205a67e60c4abe97668ce4e19a9e6ffb5c7faee8b79e3abe64f8bc983cb75059b3f3901d2dad6001f5d28fa78aa8749effe3566 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=7a58f180a45f63401657a7a4817ac5c34dae211e1fbafcb8c42aaccb6c4fd5 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=e39cc5c38f30dd358deed825a045e77c96c856d9957b5eed88c6704cd113b3 + +handshake=Noise_XKpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544063ca1a8f35a6c0d7fb694032a174907330e3a3c8c6c2ffe073 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bbd683767d4eabfb2908900e264d6e56078f380975020348fe3e +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=e7ee54258e880e01a57de43cacc12c5799e34ed9beb0e3d0d64dfc3d0e1dd0bf3dd4e97663863b3a0ed3e3db5ecdce7e9dceae07adfa85906cfdb8fb73388c85dbd34a6b2e80067d9a18 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=d85c66f45b68d04f1317197985ebbd021defdcec3bc7902c940754c7fe7175 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=d6b2f036e6cac49e862ccbcbfd359ea858a7c8e3cff228506758633ec53276 + +handshake=Noise_XKpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c0e58be3d117a08f563f1b81ddddf832cf92b0ef2ac7afaabead +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660e4d7c7e528beab53894c8d0ff81686928997ec6472ed87c94a2 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=5008b6f662503afac70502840b3520d72b641a06dbc77426475b0b83eac6aa18447f5e5fbac32f7d1f206e82fc21319380bba5482b6c23826fbdb993b5aa8af89b038ed837de8a0c1c86 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=60abaa1cdd2f173576adcd2f93d5d5737c4ef63598ee3ff6c006a6eb3c9266 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=61261512d684c773a79724182988e8382cd571a3d6aa4703cf1a17a0550204 + +handshake=Noise_XKpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c0ff9243a441a9a38229d6b3a8cf3d920e7215c68d36e0d392bd +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846633ca26c2f74a980f4014d7fb2dcecb2bd4d68077063b0f28b1d3 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=aa2b2e3078aa0054ca436df384c021f5bef28fbe3a9fb6608fc8f0e5a9a1faffe4c3fdf4acfdc9d13750e31c72452fa0df12674bfe6a8e2c907ef9cf91cc273f486ee62cb02ff54a4c50 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=25ff84a3cb83d33bdf1559428a7d55ff15bdb042db3c85321346e2894a70f9 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=8be89bcd7bf5bc0326872bf15216c83b19df6d3f14b2744fa60138e364646c + +handshake=Noise_XKpsk3_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545137f1f9a9ec7de03e77d735c92d8b4621ce96029727f4178386 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846610ae8c7cae2e22da73ff83374fcf9057e91f2f0cff1887955750 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=75ef1297edb57f0efa872372675293bc721ecb4f58ee1d87012ff7069f4ff38b4cf30e167d4b617817cda8df5a9762d97a7771f21e0af8ae4f3a7b85e1cf9d28d325c6eba8b7380c0c89 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=8e2c8d3c21594d58f0d7da8d4d40cb0b47ca6b0831e5f8f4ae66966aea4c8d +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=6cba677284723c05166976ceb2146d2978e38f17e102780c71cf11416272c8 + +handshake=Noise_XK_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254541b04eabcea3087b9ca2dde2bb9278b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466dba3bcbb6e7023a137e00ac858b48e1c +msg_2_payload= +msg_2_ciphertext=4324e614b0f53d138eaa88364af70c285c29f6f0a39a9205a67e60c4abe9766882cd224050fe4084445cdc1250c47ca5bd039aa3a101885f18e12a2504722fb2 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=7a58f180a45f63401657a7a4817ac5c34dae211e1fbafcb8c42aaccb6c4fd5 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=e39cc5c38f30dd358deed825a045e77c96c856d9957b5eed88c6704cd113b3 + +handshake=Noise_XKpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549fe2024079bf5448d04ff45c33883985 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846666048bf15fae44ad97f00d62dc0ca8c3 +msg_2_payload= +msg_2_ciphertext=e7ee54258e880e01a57de43cacc12c5799e34ed9beb0e3d0d64dfc3d0e1dd0bf75984919ae5741b23644ff3d5379b7d2f08ebe5fb8a95356cfe7ac933b9e153e +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=d85c66f45b68d04f1317197985ebbd021defdcec3bc7902c940754c7fe7175 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=d6b2f036e6cac49e862ccbcbfd359ea858a7c8e3cff228506758633ec53276 + +handshake=Noise_XKpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254073ecb95033a08aac58e5d4222c1d762 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846600b9141e162440a021c65a0e1787cddd +msg_2_payload= +msg_2_ciphertext=5008b6f662503afac70502840b3520d72b641a06dbc77426475b0b83eac6aa18e6282572b9342ee071855fcad25c59582b9cad4e1fa63e8b977961b724790442 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=60abaa1cdd2f173576adcd2f93d5d5737c4ef63598ee3ff6c006a6eb3c9266 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=61261512d684c773a79724182988e8382cd571a3d6aa4703cf1a17a0550204 + +handshake=Noise_XKpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625473f4564e2d12165fbde2a66c10c71dfc +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669a8598e26a4635a2164c15ff96b58cd2 +msg_2_payload= +msg_2_ciphertext=aa2b2e3078aa0054ca436df384c021f5bef28fbe3a9fb6608fc8f0e5a9a1faffdadbbe77cdc53902d9c627a96d91e19e99c72e2e38997d762ac9d6a303edde2b +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=25ff84a3cb83d33bdf1559428a7d55ff15bdb042db3c85321346e2894a70f9 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=8be89bcd7bf5bc0326872bf15216c83b19df6d3f14b2744fa60138e364646c + +handshake=Noise_XKpsk3_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b60e0abb01bd15d9cd344d3cdd15c2d5 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662b0cf24cc6e33371991db9b3108b9d6b +msg_2_payload= +msg_2_ciphertext=75ef1297edb57f0efa872372675293bc721ecb4f58ee1d87012ff7069f4ff38bca915837e93948a9025a72c5121b0b2b7a1570e1385464d6abf1a2cbc4d84317 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=8e2c8d3c21594d58f0d7da8d4d40cb0b47ca6b0831e5f8f4ae66966aea4c8d +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=6cba677284723c05166976ceb2146d2978e38f17e102780c71cf11416272c8 + +handshake=Noise_XK_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254663eea19e1c296b8b49fa9de083783ed78ff77354e0c74a80c28 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b29eebb8f9cd52c9835edda6bcf005b8af266497370cbfc77918 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=4324e614b0f53d138eaa88364af70c285c29f6f0a39a9205a67e60c4abe97668cadfa01051a709bff5eae2aac59313848bc983cb75059b3f390193b7a441c87d8dd707dc80571891d57f +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=7a58f180a45f63401657a7a4817ac5c34dae211e1fbafcb8c42aaccb6c4fd5 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=e39cc5c38f30dd358deed825a045e77c96c856d9957b5eed88c6704cd113b3 + +handshake=Noise_XKpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544063ca1a8f35a6c0d7fb9e4cc482e8a6fde1e919208d6269551a +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bbd683767d4eabfb29083fa0b3dd013a95ba81ed9e86311a47b5 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=e7ee54258e880e01a57de43cacc12c5799e34ed9beb0e3d0d64dfc3d0e1dd0bfc7e980ef5998136bcd7bfbfcaf00cece9dceae07adfa85906cfd90b300640ce55073fea11e49d65b58a7 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=d85c66f45b68d04f1317197985ebbd021defdcec3bc7902c940754c7fe7175 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=d6b2f036e6cac49e862ccbcbfd359ea858a7c8e3cff228506758633ec53276 + +handshake=Noise_XKpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c0e58be3d117a08f563f53f3a5664587644826ada8ee48f341f8 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660e4d7c7e528beab538949b0a4dfa1f4e76cedf36a18562938ab5 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=5008b6f662503afac70502840b3520d72b641a06dbc77426475b0b83eac6aa1864cb6767a84466710caabc06396c6f0c80bba5482b6c23826fbd1718760e473df19cb475db068c6f27a5 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=60abaa1cdd2f173576adcd2f93d5d5737c4ef63598ee3ff6c006a6eb3c9266 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=61261512d684c773a79724182988e8382cd571a3d6aa4703cf1a17a0550204 + +handshake=Noise_XKpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c0ff9243a441a9a382292d3a1ef648bb687800b915d240d9ffc8 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846633ca26c2f74a980f401496b5665615f33b58499e2fdd6e8459cf +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=aa2b2e3078aa0054ca436df384c021f5bef28fbe3a9fb6608fc8f0e5a9a1faff11d841e395a8e26fd37d79d0bcff4df5df12674bfe6a8e2c907ed4286b8b168f2850b7637f300043bd4d +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=25ff84a3cb83d33bdf1559428a7d55ff15bdb042db3c85321346e2894a70f9 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=8be89bcd7bf5bc0326872bf15216c83b19df6d3f14b2744fa60138e364646c + +handshake=Noise_XKpsk3_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545137f1f9a9ec7de03e77a2420c1f8a782a7bca8e52b1399c965a +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846610ae8c7cae2e22da73ff72bcd1043396c62063feb4d2fe3d51b1 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=75ef1297edb57f0efa872372675293bc721ecb4f58ee1d87012ff7069f4ff38b97ca82a1274c25acfe90da6b5786935e7a7771f21e0af8ae4f3aa4c970e4b172a655b63d8ad90e34e721 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=8e2c8d3c21594d58f0d7da8d4d40cb0b47ca6b0831e5f8f4ae66966aea4c8d +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=6cba677284723c05166976ceb2146d2978e38f17e102780c71cf11416272c8 + +handshake=Noise_IK_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254bd4f4131b33d738f4a2a299ee097f618811345c8fa0eb3de9fe75154b23f79e215fc093d990c4fa35c77f418515fe85be7f82ea4475e5b11703a89b904e605aa +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846616d4da51a337934aee3e82bab0b7b1f3 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b57093f3d1261319399a1150d5a937f3ef1a27415d2f9581d3bc0143eedefe +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=fe045568d1f521838b2eb348e07f26cd10332485732fb821ff8841ccc3b9d1 + +handshake=Noise_IKpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c073edcce60db134899fe51feb700d92514276978d84cd27efe39f2691af2d4a4e00cf64ca504a736cb3ff448a4d8c080ffacdaeaae20f3b1c45ea6126104349 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466977bbfed6c53f8859e41fab61954c171 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=323a0be447f4985589dea6ff8f3f4d27d810be1e96862868332a4ad903a060 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=109670cd7de301fe4d6c3621935bc2d935db08c60b76f7096015ebcb0f5679 + +handshake=Noise_IKpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254afb4846f0ab102f56af491cdd2855b8a556936a17ac486c0f6446da6cafb19712c35fb1e5423b76643bb22c685d832c2ebc7bf156bda45e70d222cf1662298cf +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662331a84da0076216b8d52a48f33ca4c3 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=1cb7c2b91b71ce817e0958bed36b5644996d8f2c63e4667627792127def75e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=56320be0ca19a8b310230dca8e09b0002288e86e297286ca5810e913102170 + +handshake=Noise_IKpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625496931a9f8e5df3b9bfb984905e85191f366b770652f2222b7fa15c23eb721eafa6062da36f9201533e196a95894eddf0bedf2a6a3e7d7bf100418c962dcde379 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846624f9e1f6148f690211e6ec55b0f3869c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4a5d72c8e755787497f85fc22c91244a26efe8edb79806caf15e0c128b5e01 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f31be3c70e06897a35d0167821f144b438b6a3fda809f20fca377895727730 + +handshake=Noise_IK_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254bd4f4131b33d738f4a2a299ee097f618811345c8fa0eb3de9fe75154b23f79e215fc093d990c4fa35c77f418515fe85b718a16e03b74978aee0e5fb0a382318c1438e588b4c6f5fb435e +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bca07c8ea8d3db6803fa9cde7f2e8285562927a1503fe8922e8f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b57093f3d1261319399a1150d5a937f3ef1a27415d2f9581d3bc0143eedefe +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=fe045568d1f521838b2eb348e07f26cd10332485732fb821ff8841ccc3b9d1 + +handshake=Noise_IKpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c073edcce60db134899fe51feb700d92514276978d84cd27efe39f2691af2d4a4e00cf64ca504a736cb3ff448a4d8c0867cea5eea88023df452cbd6b03ecc3e05a8fe9bf4255c6622fa4 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660fce1dc5223bdd289d0d5e218041462316be826c29ac6ad53228 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=323a0be447f4985589dea6ff8f3f4d27d810be1e96862868332a4ad903a060 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=109670cd7de301fe4d6c3621935bc2d935db08c60b76f7096015ebcb0f5679 + +handshake=Noise_IKpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254afb4846f0ab102f56af491cdd2855b8a556936a17ac486c0f6446da6cafb19712c35fb1e5423b76643bb22c685d832c29265090973e176e6ac4c49efeed0b41313413ba672358263aaf6 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d6edc0252eaef96ad7802d71e982070ec80e6f0a48142a405110 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=1cb7c2b91b71ce817e0958bed36b5644996d8f2c63e4667627792127def75e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=56320be0ca19a8b310230dca8e09b0002288e86e297286ca5810e913102170 + +handshake=Noise_IKpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625496931a9f8e5df3b9bfb984905e85191f366b770652f2222b7fa15c23eb721eafa6062da36f9201533e196a95894eddf0498cac29da3dc9ae306cf2959f1d510f60b60a555c52e5d4a1db +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466cf6f8562c58cda4461146db7e93a0dea4f1dc60792564dca6a0e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4a5d72c8e755787497f85fc22c91244a26efe8edb79806caf15e0c128b5e01 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f31be3c70e06897a35d0167821f144b438b6a3fda809f20fca377895727730 + +handshake=Noise_IK_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254bd4f4131b33d738f4a2a299ee097f618811345c8fa0eb3de9fe75154b23f79e25007dbe6b36cbdfdf4a9cce3f365862218ecd1fdae9317673e275392f9bb54c8 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846657ca3004795589e226d50586a9c501ab +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b57093f3d1261319399a1150d5a937f3ef1a27415d2f9581d3bc0143eedefe +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=fe045568d1f521838b2eb348e07f26cd10332485732fb821ff8841ccc3b9d1 + +handshake=Noise_IKpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c073edcce60db134899fe51feb700d92514276978d84cd27efe39f2691af2d4add525786f0b5486403c99532773cf71d38cc92838b0b5546b6ea89dd572bc610 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a1a2385682ab40ed7eec1047d6311d6e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=323a0be447f4985589dea6ff8f3f4d27d810be1e96862868332a4ad903a060 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=109670cd7de301fe4d6c3621935bc2d935db08c60b76f7096015ebcb0f5679 + +handshake=Noise_IKpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254afb4846f0ab102f56af491cdd2855b8a556936a17ac486c0f6446da6cafb1971afe73d2065190e650c2770cc69910e9c2fb119cda3e97199c7b025201f5af03a +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846676715a250c8d851c337934ea53c5cfba +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=1cb7c2b91b71ce817e0958bed36b5644996d8f2c63e4667627792127def75e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=56320be0ca19a8b310230dca8e09b0002288e86e297286ca5810e913102170 + +handshake=Noise_IKpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625496931a9f8e5df3b9bfb984905e85191f366b770652f2222b7fa15c23eb721eaf0e22fb53171332b0d6d9cbd79d3f14211b141792d05aec8bface5ab036a34ab2 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661994f62b38af687a844bb6c574a61ee8 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4a5d72c8e755787497f85fc22c91244a26efe8edb79806caf15e0c128b5e01 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f31be3c70e06897a35d0167821f144b438b6a3fda809f20fca377895727730 + +handshake=Noise_IK_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254bd4f4131b33d738f4a2a299ee097f618811345c8fa0eb3de9fe75154b23f79e25007dbe6b36cbdfdf4a9cce3f3658622718a16e03b74978aee0e485864a129d991809e531504fe89590e +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bca07c8ea8d3db6803fadea87e1a26dd748e73277a458ef6379a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b57093f3d1261319399a1150d5a937f3ef1a27415d2f9581d3bc0143eedefe +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=fe045568d1f521838b2eb348e07f26cd10332485732fb821ff8841ccc3b9d1 + +handshake=Noise_IKpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c073edcce60db134899fe51feb700d92514276978d84cd27efe39f2691af2d4add525786f0b5486403c99532773cf71d67cea5eea88023df452c1a2188b56660ad8a4a43693fff90497a +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660fce1dc5223bdd289d0d0b6dabc844dbacd0c7bc02535162cde6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=323a0be447f4985589dea6ff8f3f4d27d810be1e96862868332a4ad903a060 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=109670cd7de301fe4d6c3621935bc2d935db08c60b76f7096015ebcb0f5679 + +handshake=Noise_IKpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254afb4846f0ab102f56af491cdd2855b8a556936a17ac486c0f6446da6cafb1971afe73d2065190e650c2770cc69910e9c9265090973e176e6ac4cf5cd4db3bf6527f987a742a2c83252d9 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d6edc0252eaef96ad780ac004ef914e91c2a81181764334ca856 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=1cb7c2b91b71ce817e0958bed36b5644996d8f2c63e4667627792127def75e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=56320be0ca19a8b310230dca8e09b0002288e86e297286ca5810e913102170 + +handshake=Noise_IKpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625496931a9f8e5df3b9bfb984905e85191f366b770652f2222b7fa15c23eb721eaf0e22fb53171332b0d6d9cbd79d3f1421498cac29da3dc9ae306c19babad8b3a5f6d7be72eca9272f7667 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466cf6f8562c58cda446114b33c5291da3398dc9b9485610b524536 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4a5d72c8e755787497f85fc22c91244a26efe8edb79806caf15e0c128b5e01 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f31be3c70e06897a35d0167821f144b438b6a3fda809f20fca377895727730 + +handshake=Noise_XX_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c558f251b38f5770b20bfe770709ec1aa6e0aa1a2d8b4485e51667a91055ceed52213b8314b06ae8c63d9c596e2cdcb332ca2b99b3a8a6e7f71d1b1e62340fb3 +msg_2_payload= +msg_2_ciphertext=c0eef7241004fcad6fb84daa25d9a8921a8da60da9b8b39f387667e98069e72fea2a13ea74822183fae1d17df8a490e5ea7ab72edd2bce950758a4482447f664 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=bb9dd5494e382306a88f8f32a4bb268cad2632353dd13aad364dc7493c4561 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=5e5ac356a3234cee842c6f719fa0657d35b69bcfe51e2edf5534c4276b7131 + +handshake=Noise_XXpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541eac09194c019139be771f49b620c91c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846641342d97be7d620d656cff580ca58e8f11cc5001702990645cd09164242e8540a93a21344bede93c4d681e24a59314512bfcafee190ed63806ed3fa4b3aa541e +msg_2_payload= +msg_2_ciphertext=2e8196d00b701c2f09f141b1c4ccc47e9dca2922bd2491c34cd76b8c3d337e0841879b74366ade47342c3153e4c3dfef93cd1184d6ea2f44fbed3b705b9c569e +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=7d2b55d4b79d038d8398d42d75bbf870e77ab1d73ba429e188da7010317c89 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=c6c2a7901abf013a515ab87928fb7e7d87207ae956668e0e9795fffc08b25c + +handshake=Noise_XXpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545126b622432ac37eabd44b8b671853ad +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667c40d55b0bfa624fa6b23f02030ffaefe7925a9bd87194f8c4fe9d930dc959ec1d5f0b9d992fd41eb1eec03fe61d1b12fb4812e5f0b96645e5e4769146fa8671 +msg_2_payload= +msg_2_ciphertext=249a8e4d794c3c6df1b51eda2254f2653b19d99d124278a759abe483bb6d7906caadfe742ab3308406c369d18c95def0250afccdc7434602b5b38a1d49c710af +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=f5a6516b19d933d6c0a5dc8c0145ce39e9dfac207ff6fa5c654d49bc6b1ab0 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=73464d1a429f4c20cbeb5d668e17cb5ec4158eea21db21bd2432f8b4733813 + +handshake=Noise_XXpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544d08b0eb94fee5f11568817855354556 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662906b946c77f56bfe59790f6704d3506d892dec0ba85771b18f8d371e23e2970e2e534ad4921563e1560ea5696496cc68ca7fcca73011070e324a5d9505b9f6c +msg_2_payload= +msg_2_ciphertext=72cc9fc9a204b27abb198bdf41e73002d1b348de18ca66cd2574193a06fd9c64253f7755e1975ad268d0f0cc6adae8a43bd3dcf7d9246691c31cdf435c0a887d +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=1dcab75cb31e3e6d0e761090558ef90578435d3543a53ff7abca20ee152a82 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=86e26d4813675ea40de3cbbf14a4b80e6299422374ef84a3ee6d45b8f0e7b8 + +handshake=Noise_XXpsk3_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544c13ab819ea6ed3499570aef3a388eb8 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668e7a60ef8fbfa562e6542a22ef5e4944d733237508bf157ed4492e233b46162085060ee627d35f17b178d9519d9e86802c82d79abc624b8e2a82fb6b5bc0223d +msg_2_payload= +msg_2_ciphertext=16fa408d9a67b448377f6a27288d735f09088bd0493bbab602a0b3608b648138f95c9f1d5651729782ce22578543f6c0e6deb733cdab22a589c91b92d0a79954 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=c45aa274ed25812f1a749351bcc6f968d834f8e2bb7008119c58fbe7a9eedd +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=53fd1fc7eecbbf238f3b67111f718da5d85381a0de6009a46e5a415e5f75ac + +handshake=Noise_XX_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c558f251b38f5770b20bfe770709ec1aa6e0aa1a2d8b4485e51667a91055ceedff4f63d2d8eca379c401e83654b61786843c6dd463d2f588ba12d1d142fceeafa8131dab9e00214566b7 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=c0eef7241004fcad6fb84daa25d9a8921a8da60da9b8b39f387667e98069e72f2ac97f4079de25d8760541b7be628fd8427be5ec64387fbf2f983fa7989f88310b47d6d2577980a7d4b9 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=bb9dd5494e382306a88f8f32a4bb268cad2632353dd13aad364dc7493c4561 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=5e5ac356a3234cee842c6f719fa0657d35b69bcfe51e2edf5534c4276b7131 + +handshake=Noise_XXpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625443dbdf007bb4875a4d95f427ceac82a818307571a82a9888f324 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846641342d97be7d620d656cff580ca58e8f11cc5001702990645cd09164242e8540e4eb0518983a8996373abbfb7c83473780c6f834d01a5e023cf450299ef1a361f11092a75e7d11a1950e +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=2e8196d00b701c2f09f141b1c4ccc47e9dca2922bd2491c34cd76b8c3d337e0810775c9452ed0bc21fad36d99cd9b325a5a1e299a65623fcf08b62aba10a58909d5c7c1eaa45ed50cf6c +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=7d2b55d4b79d038d8398d42d75bbf870e77ab1d73ba429e188da7010317c89 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=c6c2a7901abf013a515ab87928fb7e7d87207ae956668e0e9795fffc08b25c + +handshake=Noise_XXpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254909b4be38128fa1ee3821ec8256c9961c713bccb82aa844d7d6e +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667c40d55b0bfa624fa6b23f02030ffaefe7925a9bd87194f8c4fe9d930dc959ecbfa439481180c1fa2665a4dfc37855fdfae5baae64f2b1cb55fbec0507a6882974c58a4e9ed063d24a59 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=249a8e4d794c3c6df1b51eda2254f2653b19d99d124278a759abe483bb6d79067ded5abf82f76071cc900b5b99e49c2ce2e7127ee75d79d77d23cf7943689beae674993aca9ded6a0581 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=f5a6516b19d933d6c0a5dc8c0145ce39e9dfac207ff6fa5c654d49bc6b1ab0 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=73464d1a429f4c20cbeb5d668e17cb5ec4158eea21db21bd2432f8b4733813 + +handshake=Noise_XXpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543d46c611dff6b8421ca04cbf2dc1a71bd2f17e9aca5cb3d47f1e +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662906b946c77f56bfe59790f6704d3506d892dec0ba85771b18f8d371e23e2970d9eca6cec4744d6c0d01c4588b8c47becfec6d91b61f265adeb8e7d237be6c4970cf47183143be50cce6 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=72cc9fc9a204b27abb198bdf41e73002d1b348de18ca66cd2574193a06fd9c646ba5b239f740c3f5824d818974348687ed71162b3d3104ca4aa588973e50ce241ccbeb9494a17e72f74c +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=1dcab75cb31e3e6d0e761090558ef90578435d3543a53ff7abca20ee152a82 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=86e26d4813675ea40de3cbbf14a4b80e6299422374ef84a3ee6d45b8f0e7b8 + +handshake=Noise_XXpsk3_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254425bfa36e76a8838d5d964c082e46b0fb8bbee7bb0d8efe882e2 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668e7a60ef8fbfa562e6542a22ef5e4944d733237508bf157ed4492e233b461620fcbd9a9234eacd67a25d0ad5a7818bcd53bc6adbd943656eceefd701de1c68ca75ad16693e0205b3f3e5 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=16fa408d9a67b448377f6a27288d735f09088bd0493bbab602a0b3608b648138429bf29a9ffe33163d05345fec308712f7c3bb2fffecbdf00ca7d0ede3768f41d5774259f7fd971dc4d4 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=c45aa274ed25812f1a749351bcc6f968d834f8e2bb7008119c58fbe7a9eedd +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=53fd1fc7eecbbf238f3b67111f718da5d85381a0de6009a46e5a415e5f75ac + +handshake=Noise_XX_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c558f251b38f5770b20bfe770709ec1aa6e0aa1a2d8b4485e51667a91055ceeddce4ec65c8701bb8e394894acf42ee631f9e735b3cf68b830731abfe45e4c578 +msg_2_payload= +msg_2_ciphertext=c0eef7241004fcad6fb84daa25d9a8921a8da60da9b8b39f387667e98069e72f6e03e7676577b7c2e23edc932cb7269d60ab5a53084cd3cbf9d26bc420f65426 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=bb9dd5494e382306a88f8f32a4bb268cad2632353dd13aad364dc7493c4561 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=5e5ac356a3234cee842c6f719fa0657d35b69bcfe51e2edf5534c4276b7131 + +handshake=Noise_XXpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549c3e79e8d77ebc7c8096364ee6641264 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846641342d97be7d620d656cff580ca58e8f11cc5001702990645cd09164242e854007095bac0754ea0e3575efa81d8bd1dc73256f79cf94429ec4097a84cefb4ae2 +msg_2_payload= +msg_2_ciphertext=2e8196d00b701c2f09f141b1c4ccc47e9dca2922bd2491c34cd76b8c3d337e08ee24c6f9c32e75df9c0ffee981226a1917a55e32f4dffd80f8c6291883af6de5 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=7d2b55d4b79d038d8398d42d75bbf870e77ab1d73ba429e188da7010317c89 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=c6c2a7901abf013a515ab87928fb7e7d87207ae956668e0e9795fffc08b25c + +handshake=Noise_XXpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d637e75932c13066f7d9ae8202e434e9 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667c40d55b0bfa624fa6b23f02030ffaefe7925a9bd87194f8c4fe9d930dc959ec7f0d1d6e6ef7fe8e9d099b7283e8e4c00793986c521afd21ced3bffc6ef3ec23 +msg_2_payload= +msg_2_ciphertext=249a8e4d794c3c6df1b51eda2254f2653b19d99d124278a759abe483bb6d7906bc6104737c7e8072b6b9c1b2742699495e478b0434d240b3989a1d4df21a7009 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=f5a6516b19d933d6c0a5dc8c0145ce39e9dfac207ff6fa5c654d49bc6b1ab0 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=73464d1a429f4c20cbeb5d668e17cb5ec4158eea21db21bd2432f8b4733813 + +handshake=Noise_XXpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543c9c4f5f492c2bd6298624dbc89f8cec +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662906b946c77f56bfe59790f6704d3506d892dec0ba85771b18f8d371e23e297005331f9cf890ae50499c20de44cb81ec82cdda938bc9693f36ed9ea63fa36e44 +msg_2_payload= +msg_2_ciphertext=72cc9fc9a204b27abb198bdf41e73002d1b348de18ca66cd2574193a06fd9c64b71437f9cf75d18d4ee5a748568c35ed76c8a0a7e52917864f65947f8c6950b4 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=1dcab75cb31e3e6d0e761090558ef90578435d3543a53ff7abca20ee152a82 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=86e26d4813675ea40de3cbbf14a4b80e6299422374ef84a3ee6d45b8f0e7b8 + +handshake=Noise_XXpsk3_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549891f0cad0f98f78af16e0c6bfc729d3 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668e7a60ef8fbfa562e6542a22ef5e4944d733237508bf157ed4492e233b461620eea5a18ee7d4c6aebc3be1649b7c94aff64dcd3aac9bc1ca5e4419d281669075 +msg_2_payload= +msg_2_ciphertext=16fa408d9a67b448377f6a27288d735f09088bd0493bbab602a0b3608b64813893f6fdc1de28aa54d076a1cf4b3e86ef9c6348a34f8ecddb9c3797184ffb4d08 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=c45aa274ed25812f1a749351bcc6f968d834f8e2bb7008119c58fbe7a9eedd +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=53fd1fc7eecbbf238f3b67111f718da5d85381a0de6009a46e5a415e5f75ac + +handshake=Noise_XX_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c558f251b38f5770b20bfe770709ec1aa6e0aa1a2d8b4485e51667a91055ceed9c32712c57e5aa04f65932b60b4c6064843c6dd463d2f588ba128cd76050bb6209711df3294879ad0e11 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=c0eef7241004fcad6fb84daa25d9a8921a8da60da9b8b39f387667e98069e72f9bd63447f97b7741e373ebbf9015ddd9427be5ec64387fbf2f98ea4a70997c58ecb2fe807114cabb46ae +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=bb9dd5494e382306a88f8f32a4bb268cad2632353dd13aad364dc7493c4561 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=5e5ac356a3234cee842c6f719fa0657d35b69bcfe51e2edf5534c4276b7131 + +handshake=Noise_XXpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625443dbdf007bb4875a4d95a73282156c90715757356ed75e725b2b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846641342d97be7d620d656cff580ca58e8f11cc5001702990645cd09164242e8540661edb60a6a8540e6c5e82f0bd95ab8b80c6f834d01a5e023cf46b51e3b2c9796244f4791c4f4c2ad9f7 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=2e8196d00b701c2f09f141b1c4ccc47e9dca2922bd2491c34cd76b8c3d337e08d7d5063ef629525d81a06e1ad0e8ce06a5a1e299a65623fcf08b6be25d3c554898997726450ccbb56652 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=7d2b55d4b79d038d8398d42d75bbf870e77ab1d73ba429e188da7010317c89 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=c6c2a7901abf013a515ab87928fb7e7d87207ae956668e0e9795fffc08b25c + +handshake=Noise_XXpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254909b4be38128fa1ee382b46bfbe2630124202d4749ea2d06487d +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667c40d55b0bfa624fa6b23f02030ffaefe7925a9bd87194f8c4fe9d930dc959ec216aa6b7d41596b4f9e4905f412771befae5baae64f2b1cb55fbae113857fc75634d33125ef64c8515c5 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=249a8e4d794c3c6df1b51eda2254f2653b19d99d124278a759abe483bb6d7906375331eb14a43a9eed6ab1c848203e14e2e7127ee75d79d77d23068fe13e799ae21be2a6521f159608b9 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=f5a6516b19d933d6c0a5dc8c0145ce39e9dfac207ff6fa5c654d49bc6b1ab0 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=73464d1a429f4c20cbeb5d668e17cb5ec4158eea21db21bd2432f8b4733813 + +handshake=Noise_XXpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543d46c611dff6b8421ca09dc79567842ed38928256a9a35128c20 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662906b946c77f56bfe59790f6704d3506d892dec0ba85771b18f8d371e23e2970c8bc8b2a9fcbe96bcaf5dbb53d958841cfec6d91b61f265adeb8b93fde4f1c6d12a5a66fbd65265c67af +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=72cc9fc9a204b27abb198bdf41e73002d1b348de18ca66cd2574193a06fd9c64aa0e01924994fa145ddb10417d16aa53ed71162b3d3104ca4aa578762e51724a97e08b1762d715c7f9c0 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=1dcab75cb31e3e6d0e761090558ef90578435d3543a53ff7abca20ee152a82 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=86e26d4813675ea40de3cbbf14a4b80e6299422374ef84a3ee6d45b8f0e7b8 + +handshake=Noise_XXpsk3_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254425bfa36e76a8838d5d9f71f26594bce0a57407a4b1760b814ee +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668e7a60ef8fbfa562e6542a22ef5e4944d733237508bf157ed4492e233b461620be67b52b7bd6053e7767ac64fd91e8df53bc6adbd943656eceef1daadc583828bf9580dc9229e5f87205 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=16fa408d9a67b448377f6a27288d735f09088bd0493bbab602a0b3608b6481380c5cf5a0a5a5b91aa942222b90b489a8f7c3bb2fffecbdf00ca7642bb47f1258177d174797f4d9846494 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=c45aa274ed25812f1a749351bcc6f968d834f8e2bb7008119c58fbe7a9eedd +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=53fd1fc7eecbbf238f3b67111f718da5d85381a0de6009a46e5a415e5f75ac + +handshake=Noise_IX_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466001a448f30a50045a3773283db2513353903f4e248a9b3e2b5c24afb272fe857d7489eb482f3634ac012c7f90637184f3c37d3bbb3cc1741696ea3e8780db3dc +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=121b6531c524e613f3b3cfbb08e2c23c11c43ac1715e9f074f01a4fd038e1c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=1f24c3924ad3d79ceca2efb690500b560e43de2cbc367e1deeecfd983b270b + +handshake=Noise_IXpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549d7ce1d656b5eb9151fba77523378e964f2a8ef91720a611902132d691741271c3d3307b904253d8254a28d98887e407b04239c1c15396fb45fcaa651bb12bf1 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666133c831594ab52216dd0807616b26056d0e80f5f6d8fa91fe77e5060db7db9506ef4df925af2c7834a634db720a835ea0afd35264770fa0ce4a40ffc2f3a45b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=39b2227addce43c4691d21674f9695c6a09b112c8222b306075e9515e2c867 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6b01cb18b13f46a8816cdaeac1e8dd93f014affb39fa763aaeebf771b43de4 + +handshake=Noise_IXpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625468f5566d63685e265e45046bc696c9c9f0bebd8cf1052c95805155d8c0ee4db5cba654e668d672097727bedb322262c15da304f0ff23ecd5e0bacfd141a2a1e7 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c84ed22bb5a1c2a86915757631e35fb2eca787ddbcdc8ea4bc4e20a1f5887efd0a7b4ba3ca44e42bdd7c2ceacda3c85a5dce29603d296ae093a193bf17a4c46a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=3c49de16ee26037dfe6b9b489f9786a584f44b08821bb5dab44b0e371f6e26 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8771d4351bfa2cb24c5497b8c5a6f5a01a29bd27056c00a29617c7f625689f + +handshake=Noise_IXpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254fb6c82215400d2057e6eaa9938cbc77e3fa904df7d3a80b104eff6484b5eb2f92c52ff4d51ef8590bf8b3c7e42ccaf36f5203e5b6cc1255385dd1f7edf0b20a1 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466aba779821e4e49f52ea4e5fb0ffb8788943f1e50d4fec498230f3d22f119831af4fd75ac2f666d09c5840305632216f6193fdc63d5648e114fa44662ae78d9a7 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7af8e7b931417440cdea7240873bf94dd43a92641167a9f984560f56481ea4 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=69a6c04db91b2a176d92b6c51b47f5b476e7ae15302e4782e0bc4c7e1b37ae + +handshake=Noise_IX_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466001a448f30a50045a3773283db2513353903f4e248a9b3e2b5c24afb272fe8577b273d51b51d4b8ca49ad87e8e1b52025713f6ad6dc975e0f86b25a35b74fc3555e1c91994f94c043080 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=121b6531c524e613f3b3cfbb08e2c23c11c43ac1715e9f074f01a4fd038e1c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=1f24c3924ad3d79ceca2efb690500b560e43de2cbc367e1deeecfd983b270b + +handshake=Noise_IXpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549d7ce1d656b5eb9151fba77523378e964f2a8ef91720a611902132d691741271c3d3307b904253d8254a28d98887e407a44b0c1e24a560d89e223072156a69a1fb99a798d1683d6e9674 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666133c831594ab52216dd0807616b26056d0e80f5f6d8fa91fe77e5060db7db959c490fe4c98dec54c73b93b3f3150aa522d0889bee5a6675b46a219b8c197bd38a409b0319cb18d13ae4 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=39b2227addce43c4691d21674f9695c6a09b112c8222b306075e9515e2c867 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6b01cb18b13f46a8816cdaeac1e8dd93f014affb39fa763aaeebf771b43de4 + +handshake=Noise_IXpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625468f5566d63685e265e45046bc696c9c9f0bebd8cf1052c95805155d8c0ee4db5cba654e668d672097727bedb322262c19b4d7142a128929d49c3b558f781c4bf9189d05b178cc7a04ca2 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c84ed22bb5a1c2a86915757631e35fb2eca787ddbcdc8ea4bc4e20a1f5887efd9c442f3f6e1e52cf41e96a7b85d31a56bc3b2c8d31f40ca8ac16064518b495caba81820a1c73ba43f2d4 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=3c49de16ee26037dfe6b9b489f9786a584f44b08821bb5dab44b0e371f6e26 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8771d4351bfa2cb24c5497b8c5a6f5a01a29bd27056c00a29617c7f625689f + +handshake=Noise_IXpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254fb6c82215400d2057e6eaa9938cbc77e3fa904df7d3a80b104eff6484b5eb2f92c52ff4d51ef8590bf8b3c7e42ccaf367f8e9c43fadcbe94ec0166219dfa665bf065f286bf0d7684aed6 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466aba779821e4e49f52ea4e5fb0ffb8788943f1e50d4fec498230f3d22f119831a81a9001883959687765f997fcf2e6880f3da82537df7241288faa0075350c178c7a4651dd554b2aeb564 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7af8e7b931417440cdea7240873bf94dd43a92641167a9f984560f56481ea4 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=69a6c04db91b2a176d92b6c51b47f5b476e7ae15302e4782e0bc4c7e1b37ae + +handshake=Noise_IX_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466001a448f30a50045a3773283db2513353903f4e248a9b3e2b5c24afb272fe857972736c91937300c3a33d0f45f84967554fbd34e74a3ed2da8aa7b187755c58a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=121b6531c524e613f3b3cfbb08e2c23c11c43ac1715e9f074f01a4fd038e1c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=1f24c3924ad3d79ceca2efb690500b560e43de2cbc367e1deeecfd983b270b + +handshake=Noise_IXpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549d7ce1d656b5eb9151fba77523378e964f2a8ef91720a611902132d691741271d228ca8491bbf257394442a722a705173bbe4efea8677818654b390540df1a18 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666133c831594ab52216dd0807616b26056d0e80f5f6d8fa91fe77e5060db7db959871017b10f8c4b3f1042d2d2932b77bfbb57f9756768ad417cd6f7b111a57e3 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=39b2227addce43c4691d21674f9695c6a09b112c8222b306075e9515e2c867 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6b01cb18b13f46a8816cdaeac1e8dd93f014affb39fa763aaeebf771b43de4 + +handshake=Noise_IXpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625468f5566d63685e265e45046bc696c9c9f0bebd8cf1052c95805155d8c0ee4db525fa6858eff76b69343b28ced0e7ba02e849f7f3fa7ff70d856f2b3a18a127cd +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c84ed22bb5a1c2a86915757631e35fb2eca787ddbcdc8ea4bc4e20a1f5887efda53329c4f4b7540d09ad79bbc106dc0513cce4751ea0b78fef76ccd03cbbb3d8 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=3c49de16ee26037dfe6b9b489f9786a584f44b08821bb5dab44b0e371f6e26 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8771d4351bfa2cb24c5497b8c5a6f5a01a29bd27056c00a29617c7f625689f + +handshake=Noise_IXpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254fb6c82215400d2057e6eaa9938cbc77e3fa904df7d3a80b104eff6484b5eb2f925cc71907dbef4fd4df1218a622a5b54a6eeaa63623e51a50e9cc6b5a65f2230 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466aba779821e4e49f52ea4e5fb0ffb8788943f1e50d4fec498230f3d22f119831aafd335e73319c4c1d0b67c713fed38346e88c2f18e65fdf3ac90a5a703d753ed +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7af8e7b931417440cdea7240873bf94dd43a92641167a9f984560f56481ea4 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=69a6c04db91b2a176d92b6c51b47f5b476e7ae15302e4782e0bc4c7e1b37ae + +handshake=Noise_IX_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466001a448f30a50045a3773283db2513353903f4e248a9b3e2b5c24afb272fe857fb091b2195012c08b0b140bc35cb12735713f6ad6dc975e0f86b731f028f7626e597b40d8649f718297c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=121b6531c524e613f3b3cfbb08e2c23c11c43ac1715e9f074f01a4fd038e1c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=1f24c3924ad3d79ceca2efb690500b560e43de2cbc367e1deeecfd983b270b + +handshake=Noise_IXpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549d7ce1d656b5eb9151fba77523378e964f2a8ef91720a611902132d691741271d228ca8491bbf257394442a722a70517a44b0c1e24a560d89e225feaed436f2e1b4ebf905774414df4f8 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666133c831594ab52216dd0807616b26056d0e80f5f6d8fa91fe77e5060db7db954fd203f0c9d25c3e926672269f2dbe4722d0889bee5a6675b46a801f7f1978b39a17e75bc3505313a9d6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=39b2227addce43c4691d21674f9695c6a09b112c8222b306075e9515e2c867 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6b01cb18b13f46a8816cdaeac1e8dd93f014affb39fa763aaeebf771b43de4 + +handshake=Noise_IXpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625468f5566d63685e265e45046bc696c9c9f0bebd8cf1052c95805155d8c0ee4db525fa6858eff76b69343b28ced0e7ba029b4d7142a128929d49c31c75b3d55df3ac834bd50fc48e781bc5 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c84ed22bb5a1c2a86915757631e35fb2eca787ddbcdc8ea4bc4e20a1f5887efd81f8705b7fd1ac44e0db631f6498740ebc3b2c8d31f40ca8ac163346c04b5cc1dcbe242c18dfde5322eb +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=3c49de16ee26037dfe6b9b489f9786a584f44b08821bb5dab44b0e371f6e26 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8771d4351bfa2cb24c5497b8c5a6f5a01a29bd27056c00a29617c7f625689f + +handshake=Noise_IXpsk2_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254fb6c82215400d2057e6eaa9938cbc77e3fa904df7d3a80b104eff6484b5eb2f925cc71907dbef4fd4df1218a622a5b547f8e9c43fadcbe94ec013ac799c77b3b0a6a8dcd4a311473ee22 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466aba779821e4e49f52ea4e5fb0ffb8788943f1e50d4fec498230f3d22f119831a48658943f9d91741e1a33103e775e920f3da82537df7241288fab18a128e3c84939f20abf92374bef607 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7af8e7b931417440cdea7240873bf94dd43a92641167a9f984560f56481ea4 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=69a6c04db91b2a176d92b6c51b47f5b476e7ae15302e4782e0bc4c7e1b37ae + +handshake=Noise_N_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541f79dccb3aa4d5b94432bafca11574ed +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=6c123bcb14329bcb133fce1b378e7b3b46e2d98b58e3dae5bf6ef38f77d2a5 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=9e1891da8d5c3333d5c4e85dc726a52356d2908013a234f353acb3922a9230 + +handshake=Noise_Npsk0_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254345e04d65d31b4503b548304455bbd46 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=d634a8f886d4f0d9ed43ca28dae0b7dbe47f19dfd6fb51cd16e66be0213c8e +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=33775b15e461621ce9a5e20c50221231d8e230484d44e2c37438200771bfbb + +handshake=Noise_Npsk1_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254fe78ed820f4450ab1348aad583dda57e +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=79568cdbca6a38933f2240f37ce995f44ec540f8a3ab1e31c66da6bfe8b0eb +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=ff319a896146cb627b7e9bcc087307ab7b5cd09b675fc762fefdb743eefef3 + +handshake=Noise_N_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625442f641b74b61890f33bd3becef41f81f69923bf63c60b1cc6231 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=6c123bcb14329bcb133fce1b378e7b3b46e2d98b58e3dae5bf6ef38f77d2a5 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=9e1891da8d5c3333d5c4e85dc726a52356d2908013a234f353acb3922a9230 + +handshake=Noise_Npsk0_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f3f4ecd437c593a22cfb64af15662f4bd7e6ef03a841d0260e66 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=d634a8f886d4f0d9ed43ca28dae0b7dbe47f19dfd6fb51cd16e66be0213c8e +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=33775b15e461621ce9a5e20c50221231d8e230484d44e2c37438200771bfbb + +handshake=Noise_Npsk1_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254619e5aa215267f135b43473fcae9566b9e67882d44789b29e9da +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=79568cdbca6a38933f2240f37ce995f44ec540f8a3ab1e31c66da6bfe8b0eb +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=ff319a896146cb627b7e9bcc087307ab7b5cd09b675fc762fefdb743eefef3 + +handshake=Noise_N_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547c2d612458dea09c1056ae723f545f1f +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=6c123bcb14329bcb133fce1b378e7b3b46e2d98b58e3dae5bf6ef38f77d2a5 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=9e1891da8d5c3333d5c4e85dc726a52356d2908013a234f353acb3922a9230 + +handshake=Noise_Npsk0_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a12e1251ccb886f1d3d363a48195a860 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=d634a8f886d4f0d9ed43ca28dae0b7dbe47f19dfd6fb51cd16e66be0213c8e +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=33775b15e461621ce9a5e20c50221231d8e230484d44e2c37438200771bfbb + +handshake=Noise_Npsk1_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546b5f9c84b3c1c392a387aa90ed926280 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=79568cdbca6a38933f2240f37ce995f44ec540f8a3ab1e31c66da6bfe8b0eb +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=ff319a896146cb627b7e9bcc087307ab7b5cd09b675fc762fefdb743eefef3 + +handshake=Noise_N_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625442f641b74b61890f33bd4391759de0d03df2ad8026a68f4190b0 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=6c123bcb14329bcb133fce1b378e7b3b46e2d98b58e3dae5bf6ef38f77d2a5 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=9e1891da8d5c3333d5c4e85dc726a52356d2908013a234f353acb3922a9230 + +handshake=Noise_Npsk0_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f3f4ecd437c593a22cfb0bac55293cc03f1617a481ede42ab62b +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=d634a8f886d4f0d9ed43ca28dae0b7dbe47f19dfd6fb51cd16e66be0213c8e +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=33775b15e461621ce9a5e20c50221231d8e230484d44e2c37438200771bfbb + +handshake=Noise_Npsk1_25519_AESGCM_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254619e5aa215267f135b435e993029733e9d969d29343938c1b1df +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=79568cdbca6a38933f2240f37ce995f44ec540f8a3ab1e31c66da6bfe8b0eb +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=ff319a896146cb627b7e9bcc087307ab7b5cd09b675fc762fefdb743eefef3 + +handshake=Noise_K_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625438e26a348a6cfdbcb07102e8e5091989 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=b9d11027b8d5c0684f197d3d013eb85af4156198273288daeef8221e3b9a4d +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=74c2881e55dcbee999ade00f6c433a35d60371a3cf651bc1c5617cc397cb87 + +handshake=Noise_Kpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254bbc991897e496d88cc4713aa52d34443 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=11f82fb066f3635d85a8f9a98ea5b67c400485a089a4abb74834e2e5a57f4d +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=eb8febbc984e0c0b8d92d59025912cbed4c7a5986a0c1ee61dbc64565f3228 + +handshake=Noise_Kpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545b9bdef6f6b2b03db5c430f4eea428fd +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=2ea39abe8e5e7dde6c727f9a970b1cc5f0db6c5825feb620dc4e40fefea543 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=8018b274983cbc58f5036d2ce8c0d8833634c86b0d85bd6a038a8036e0621d + +handshake=Noise_K_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e6608d0e457383df16f84fb3a03c9d986dfd2441f69eab6586e9 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=b9d11027b8d5c0684f197d3d013eb85af4156198273288daeef8221e3b9a4d +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=74c2881e55dcbee999ade00f6c433a35d60371a3cf651bc1c5617cc397cb87 + +handshake=Noise_Kpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625408d9b97427847c9e21cfa5fa926792c424bac2922df0b6719ca4 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=11f82fb066f3635d85a8f9a98ea5b67c400485a089a4abb74834e2e5a57f4d +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=eb8febbc984e0c0b8d92d59025912cbed4c7a5986a0c1ee61dbc64565f3228 + +handshake=Noise_Kpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547fefbe317b025d36f640f51d6d0ab59af487b829a06968eda96c +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=2ea39abe8e5e7dde6c727f9a970b1cc5f0db6c5825feb620dc4e40fefea543 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=8018b274983cbc58f5036d2ce8c0d8833634c86b0d85bd6a038a8036e0621d + +handshake=Noise_K_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254176d7116aaeb842d6dcf237932eccf03 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=b9d11027b8d5c0684f197d3d013eb85af4156198273288daeef8221e3b9a4d +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=74c2881e55dcbee999ade00f6c433a35d60371a3cf651bc1c5617cc397cb87 + +handshake=Noise_Kpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c610aa4b7520958544adaf4375afc3de +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=11f82fb066f3635d85a8f9a98ea5b67c400485a089a4abb74834e2e5a57f4d +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=eb8febbc984e0c0b8d92d59025912cbed4c7a5986a0c1ee61dbc64565f3228 + +handshake=Noise_Kpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625499a8f592f261e9b5339c8f477cc9c16c +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=2ea39abe8e5e7dde6c727f9a970b1cc5f0db6c5825feb620dc4e40fefea543 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=8018b274983cbc58f5036d2ce8c0d8833634c86b0d85bd6a038a8036e0621d + +handshake=Noise_K_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e6608d0e457383df16f88fad0f657acae9f22fe892786cb660b2 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=b9d11027b8d5c0684f197d3d013eb85af4156198273288daeef8221e3b9a4d +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=74c2881e55dcbee999ade00f6c433a35d60371a3cf651bc1c5617cc397cb87 + +handshake=Noise_Kpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625408d9b97427847c9e21cf912833fff74a652fa343036dfb1b41ea +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=11f82fb066f3635d85a8f9a98ea5b67c400485a089a4abb74834e2e5a57f4d +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=eb8febbc984e0c0b8d92d59025912cbed4c7a5986a0c1ee61dbc64565f3228 + +handshake=Noise_Kpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547fefbe317b025d36f6408925984d138fde176f4a9733c7706df9 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=2ea39abe8e5e7dde6c727f9a970b1cc5f0db6c5825feb620dc4e40fefea543 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=8018b274983cbc58f5036d2ce8c0d8833634c86b0d85bd6a038a8036e0621d + +handshake=Noise_X_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545730809282cfc06c3f895a7660f5bb7725583f11e5566e698a972505841076fd193070f26567584ddb9a11f44c37722efa4689cece4fd7b57371b7aa56233e27 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=458838a0dd2fb593e0264aa8f65ecf54a29227215742be16065db5a9e64ae0 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=ce36ae61d167896842a9117b31ed88845c34ea868ce4f99075df0eb388dbbe + +handshake=Noise_Xpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541401f93c17b8761a54f7a233e20fae86a9858038716057a8a1376d708c390e5c8395e377b11f0ebc06500cc47602c4c7a4f348296b28740fe8b5e84a8c02db6c +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=1085833cf5bcf7446d55ec7a8a07af2752b57b729e2dd6ca882b946d00b4fe +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=bcbb6258caa407556855bf3236705c6f24003ebb2c79ba707afef937cfadcd + +handshake=Noise_Xpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625447657edc39b8a745cd59d07d6e5a2c003c7f9b3e3643af88ca131edbc5578f4a636583b0b613417ec497846b87dfa005cc61f92786e7692362934a0eed2484c4 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=0843a331ef88666075f33de5baa1a3cb426f0d4b16de1ff591a6f2e467d07b +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=a6edf21b63c3d67b27e4235f7c6249153c182cb5fd0bab4e2113c4aecc4017 + +handshake=Noise_X_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545730809282cfc06c3f895a7660f5bb7725583f11e5566e698a972505841076fd193070f26567584ddb9a11f44c37722e155570cd162d7626fdd606a44acba5181f943a9576dc6c0787cb +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=458838a0dd2fb593e0264aa8f65ecf54a29227215742be16065db5a9e64ae0 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=ce36ae61d167896842a9117b31ed88845c34ea868ce4f99075df0eb388dbbe + +handshake=Noise_Xpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541401f93c17b8761a54f7a233e20fae86a9858038716057a8a1376d708c390e5c8395e377b11f0ebc06500cc47602c4c755841fd865669d89825061d5fca07ba66ed0abc4f4218f4d6899 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=1085833cf5bcf7446d55ec7a8a07af2752b57b729e2dd6ca882b946d00b4fe +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=bcbb6258caa407556855bf3236705c6f24003ebb2c79ba707afef937cfadcd + +handshake=Noise_Xpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625447657edc39b8a745cd59d07d6e5a2c003c7f9b3e3643af88ca131edbc5578f4a636583b0b613417ec497846b87dfa00568b6e7db7a7e3dd0e5ab3dc13a2e726a95e9487330354b79556a +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=0843a331ef88666075f33de5baa1a3cb426f0d4b16de1ff591a6f2e467d07b +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=a6edf21b63c3d67b27e4235f7c6249153c182cb5fd0bab4e2113c4aecc4017 + +handshake=Noise_X_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545730809282cfc06c3f895a7660f5bb7725583f11e5566e698a972505841076fd287c0bb778052148eed1a556d5a39611dac85f63cdb36c055a0b62f0488fb1eb +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=458838a0dd2fb593e0264aa8f65ecf54a29227215742be16065db5a9e64ae0 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=ce36ae61d167896842a9117b31ed88845c34ea868ce4f99075df0eb388dbbe + +handshake=Noise_Xpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541401f93c17b8761a54f7a233e20fae86a9858038716057a8a1376d708c390e5ca20d0296245bd7bde6f607b09dcb7b244553d8e657f7683cd076f4dda56f8300 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=1085833cf5bcf7446d55ec7a8a07af2752b57b729e2dd6ca882b946d00b4fe +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=bcbb6258caa407556855bf3236705c6f24003ebb2c79ba707afef937cfadcd + +handshake=Noise_Xpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625447657edc39b8a745cd59d07d6e5a2c003c7f9b3e3643af88ca131edbc5578f4a3d88a7587a88291fced6580a9485994229bf2b68b22e0364494c2ce92e253ffa +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=0843a331ef88666075f33de5baa1a3cb426f0d4b16de1ff591a6f2e467d07b +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=a6edf21b63c3d67b27e4235f7c6249153c182cb5fd0bab4e2113c4aecc4017 + +handshake=Noise_X_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545730809282cfc06c3f895a7660f5bb7725583f11e5566e698a972505841076fd287c0bb778052148eed1a556d5a39611155570cd162d7626fdd63547ad497b220e81b9ff2557f057f698 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=458838a0dd2fb593e0264aa8f65ecf54a29227215742be16065db5a9e64ae0 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=ce36ae61d167896842a9117b31ed88845c34ea868ce4f99075df0eb388dbbe + +handshake=Noise_Xpsk0_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541401f93c17b8761a54f7a233e20fae86a9858038716057a8a1376d708c390e5ca20d0296245bd7bde6f607b09dcb7b2455841fd865669d8982503fad6c369df182f624375e02b6537b80 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=1085833cf5bcf7446d55ec7a8a07af2752b57b729e2dd6ca882b946d00b4fe +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=bcbb6258caa407556855bf3236705c6f24003ebb2c79ba707afef937cfadcd + +handshake=Noise_Xpsk1_25519_AESGCM_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625447657edc39b8a745cd59d07d6e5a2c003c7f9b3e3643af88ca131edbc5578f4a3d88a7587a88291fced6580a9485994268b6e7db7a7e3dd0e5ab679b5d4402ec2c50e88cda1c46aa7811 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=0843a331ef88666075f33de5baa1a3cb426f0d4b16de1ff591a6f2e467d07b +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=a6edf21b63c3d67b27e4235f7c6249153c182cb5fd0bab4e2113c4aecc4017 + +handshake=Noise_NN_25519_ChaChaPoly_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b9a74f6724441623af038022288c2556 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=96cd46be111804586a935795eeb4ce62bdec121048a10520b00266b22722eb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=fe2bc534e31964c0bd56337223e921565e39dbc5f156aa04766ced4689a2a2 + +handshake=Noise_NNpsk0_25519_ChaChaPoly_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e7136508cb8178281204abd62e9f2a3e +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466922f3b7824001193c077abd8b7a73030 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b349a522c145762c7c737ac1d1425ce1fb25c7cca626177ee4ceed3cd6fb3d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b41e24399dc3f1ad2faf82868700e4bf31bb89f6616e1d6a92802bb8ad80d6 + +handshake=Noise_NNpsk1_25519_ChaChaPoly_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ee9d033f6e676839de40170aca012002 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fa780f5014acbab4d9e8a60099774b2f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=75c86e1615188d3feae514a908523ccbbce6f0b0fa368c0dbac6ddf01b6571 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=3b27b0caca5899086a3ebfb80a0651a18f1af75c9f71f3b3818a0170c8e615 + +handshake=Noise_NNpsk2_25519_ChaChaPoly_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254649f81a8f7cd2ee213caf437abedbbf5 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f61e2ebde3648ba1353298a7b8f99454 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=eb1a9999225c8a03f6c053d24da26df330c7b2ac6315c5aeff9a4c2893d9e3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=17aecb7454199636aa7e8a44b7e51b5dc6729b39faddd2739bc66d8cbf07be + +handshake=Noise_NN_25519_ChaChaPoly_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bb598b7e636e9475d9a7d3111d7a7f3929f0f4c47293613c173f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=96cd46be111804586a935795eeb4ce62bdec121048a10520b00266b22722eb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=fe2bc534e31964c0bd56337223e921565e39dbc5f156aa04766ced4689a2a2 + +handshake=Noise_NNpsk0_25519_ChaChaPoly_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547c78f22f8cea986f934a675201c7f431a539e50c9be46986fa89 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666913ea64c74c2f63ee5e814fda25301b9508e4685ee02e9852fd +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b349a522c145762c7c737ac1d1425ce1fb25c7cca626177ee4ceed3cd6fb3d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b41e24399dc3f1ad2faf82868700e4bf31bb89f6616e1d6a92802bb8ad80d6 + +handshake=Noise_NNpsk1_25519_ChaChaPoly_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d14f69b3b9d75ea1662d0ce4daecd3845bd11582aebf2fba3e99 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466961705fd812d19815374d102e749b09e623ad659a7a3afef8415 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=75c86e1615188d3feae514a908523ccbbce6f0b0fa368c0dbac6ddf01b6571 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=3b27b0caca5899086a3ebfb80a0651a18f1af75c9f71f3b3818a0170c8e615 + +handshake=Noise_NNpsk2_25519_ChaChaPoly_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ba71add3db8e76dddcfecd52c7db8b92e7b993407c57d909b7f9 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665aeaba3e8ae057890d222d19af245e23209100a4b501ca82f843 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=eb1a9999225c8a03f6c053d24da26df330c7b2ac6315c5aeff9a4c2893d9e3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=17aecb7454199636aa7e8a44b7e51b5dc6729b39faddd2739bc66d8cbf07be + +handshake=Noise_NN_25519_ChaChaPoly_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665cda04f69d491f9bf509e632fc1a20dd +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=96cd46be111804586a935795eeb4ce62bdec121048a10520b00266b22722eb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=fe2bc534e31964c0bd56337223e921565e39dbc5f156aa04766ced4689a2a2 + +handshake=Noise_NNpsk0_25519_ChaChaPoly_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546e96a20116b68fd776478e81d11779ca +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846666f51bc44f88917daa53fb4529499b55 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b349a522c145762c7c737ac1d1425ce1fb25c7cca626177ee4ceed3cd6fb3d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b41e24399dc3f1ad2faf82868700e4bf31bb89f6616e1d6a92802bb8ad80d6 + +handshake=Noise_NNpsk1_25519_ChaChaPoly_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545860fa411dfa26d26f2128f7e347eaf9 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662d6b25a63eb7741de46ecfe91e243f6f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=75c86e1615188d3feae514a908523ccbbce6f0b0fa368c0dbac6ddf01b6571 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=3b27b0caca5899086a3ebfb80a0651a18f1af75c9f71f3b3818a0170c8e615 + +handshake=Noise_NNpsk2_25519_ChaChaPoly_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254358bf186163f6d621580cf909c191a7c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b382c809faae2b2874cd218c7b075c96 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=eb1a9999225c8a03f6c053d24da26df330c7b2ac6315c5aeff9a4c2893d9e3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=17aecb7454199636aa7e8a44b7e51b5dc6729b39faddd2739bc66d8cbf07be + +handshake=Noise_NN_25519_ChaChaPoly_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bb598b7e636e9475d9a74243a419c31324b40cc77cc7a7ea3b24 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=96cd46be111804586a935795eeb4ce62bdec121048a10520b00266b22722eb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=fe2bc534e31964c0bd56337223e921565e39dbc5f156aa04766ced4689a2a2 + +handshake=Noise_NNpsk0_25519_ChaChaPoly_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547c78f22f8cea986f934ab17c2484a24a990a6473d588a4f20e99 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666913ea64c74c2f63ee5e32a5358320d459322d624c9ccc975fa0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b349a522c145762c7c737ac1d1425ce1fb25c7cca626177ee4ceed3cd6fb3d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b41e24399dc3f1ad2faf82868700e4bf31bb89f6616e1d6a92802bb8ad80d6 + +handshake=Noise_NNpsk1_25519_ChaChaPoly_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d14f69b3b9d75ea1662d338ce00a4c4454f04db11957c29b45ba +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466961705fd812d198153745358e4e1e28b5a350b1f7abd0f271620 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=75c86e1615188d3feae514a908523ccbbce6f0b0fa368c0dbac6ddf01b6571 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=3b27b0caca5899086a3ebfb80a0651a18f1af75c9f71f3b3818a0170c8e615 + +handshake=Noise_NNpsk2_25519_ChaChaPoly_SHA256 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ba71add3db8e76dddcfe83087861219e26e6f5b0b682e6758cdd +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665aeaba3e8ae057890d221b12297799709eb36b11f4fd7366a4b2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=eb1a9999225c8a03f6c053d24da26df330c7b2ac6315c5aeff9a4c2893d9e3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=17aecb7454199636aa7e8a44b7e51b5dc6729b39faddd2739bc66d8cbf07be + +handshake=Noise_KN_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f99627c2b9a34dc2e78efc21ea6d09e0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=440ade028b567ce045b4a367bc7644ba49ff120f2e704abe4be8ce31a43c0f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=644df69c08e6c5b832b7b34b54a7e616efc276686ea257ca570c7b0af25e03 + +handshake=Noise_KNpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549d36baa6dbd5bae534893a1691872bff +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466eec752b6d790962a0adb9fa92948a16f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=58d034db684b5b9548fa8a2596d5ef48bdc0827f3c936757f824f25190410c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5987d3cbe26bcf75946a86d0555108608e7ed18325dd60fe7d4fd200ee741d + +handshake=Noise_KNpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545c1042a1c7e8f74e1c96e053fc8ca7d4 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466458d2cdf33b1fbee339147985abf0afa +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7474619bc60a98042cc7bce09f4f631f20af421de18fc434457e2fb7f9e48e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=00783db976d144d85fb4dbb341e908748eb0bc90123fcf4162b10cd34277ef + +handshake=Noise_KNpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541c91264cfdb8fc6b8804d45a55b62a8b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846696ab554cdc752c12efb617a2bbb548d0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d65a6ebbe3f38a2f2de8529b5203ed2668cbcefc48219fce3f2414bf3b2bdb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=cdef5b6bd32cdca6ebfe2a3b697caadc3099b9e820eb1c9d27d28b6ed99138 + +handshake=Noise_KN_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c39ce1d8e1bc7d551d60e0f13021b569aaf063bbfbaeb5df1d48 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=440ade028b567ce045b4a367bc7644ba49ff120f2e704abe4be8ce31a43c0f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=644df69c08e6c5b832b7b34b54a7e616efc276686ea257ca570c7b0af25e03 + +handshake=Noise_KNpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d9e492b73ab5e7b411ca24b530505ed9f9a7434b7fb9e3942543 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466faed543a83225ae87e5f7b9ed811dd5a5bea64334ddf210e18b4 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=58d034db684b5b9548fa8a2596d5ef48bdc0827f3c936757f824f25190410c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5987d3cbe26bcf75946a86d0555108608e7ed18325dd60fe7d4fd200ee741d + +handshake=Noise_KNpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548b78fe393615d3918bb58f0884d2d372e53e4851ce80e67fe922 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466273122b0e5f91c8b4a7ef2d5a964eb79bc00a41011e068557be1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7474619bc60a98042cc7bce09f4f631f20af421de18fc434457e2fb7f9e48e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=00783db976d144d85fb4dbb341e908748eb0bc90123fcf4162b10cd34277ef + +handshake=Noise_KNpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d738849e4f8635b57bf99e438b655ab0cdd92b50c3eb8a38fa47 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466874006ee8e970d1140a893ddd52de47e27b95d0f17bd424122fd +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d65a6ebbe3f38a2f2de8529b5203ed2668cbcefc48219fce3f2414bf3b2bdb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=cdef5b6bd32cdca6ebfe2a3b697caadc3099b9e820eb1c9d27d28b6ed99138 + +handshake=Noise_KN_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667f658a41f0ba1afd9c3df2bc05eb14e0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=440ade028b567ce045b4a367bc7644ba49ff120f2e704abe4be8ce31a43c0f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=644df69c08e6c5b832b7b34b54a7e616efc276686ea257ca570c7b0af25e03 + +handshake=Noise_KNpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544914ec3c41b58c96b596001a8abe3938 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668f00eba16f40a2355d414ed7b0bab565 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=58d034db684b5b9548fa8a2596d5ef48bdc0827f3c936757f824f25190410c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5987d3cbe26bcf75946a86d0555108608e7ed18325dd60fe7d4fd200ee741d + +handshake=Noise_KNpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a01257cd75ea9e8e2fe8a59205962271 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846680d63539016c3cf1e09fe3440be095d6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7474619bc60a98042cc7bce09f4f631f20af421de18fc434457e2fb7f9e48e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=00783db976d144d85fb4dbb341e908748eb0bc90123fcf4162b10cd34277ef + +handshake=Noise_KNpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254677a7c6247070ec793bfa8ea24a40134 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466931ff9b08ae6a9b92eab49565d39c990 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d65a6ebbe3f38a2f2de8529b5203ed2668cbcefc48219fce3f2414bf3b2bdb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=cdef5b6bd32cdca6ebfe2a3b697caadc3099b9e820eb1c9d27d28b6ed99138 + +handshake=Noise_KN_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c39ce1d8e1bc7d551d6096fc00a1fb421a5a36483878f3112caa +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=440ade028b567ce045b4a367bc7644ba49ff120f2e704abe4be8ce31a43c0f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=644df69c08e6c5b832b7b34b54a7e616efc276686ea257ca570c7b0af25e03 + +handshake=Noise_KNpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d9e492b73ab5e7b411ca38a73ec25f1334931010f25867aa8dd2 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466faed543a83225ae87e5f4fa930e2a1af4d46cb19721cc97cddd9 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=58d034db684b5b9548fa8a2596d5ef48bdc0827f3c936757f824f25190410c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5987d3cbe26bcf75946a86d0555108608e7ed18325dd60fe7d4fd200ee741d + +handshake=Noise_KNpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548b78fe393615d3918bb584c160d00bae8672e05bb010987c999f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466273122b0e5f91c8b4a7e9e8a59e9c89269df77d30fbeaec514c2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7474619bc60a98042cc7bce09f4f631f20af421de18fc434457e2fb7f9e48e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=00783db976d144d85fb4dbb341e908748eb0bc90123fcf4162b10cd34277ef + +handshake=Noise_KNpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d738849e4f8635b57bf9f7c2d1cce4db786552b21fc809e097b9 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466874006ee8e970d1140a8eee4c4694467251fe8db35416cf00ff2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d65a6ebbe3f38a2f2de8529b5203ed2668cbcefc48219fce3f2414bf3b2bdb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=cdef5b6bd32cdca6ebfe2a3b697caadc3099b9e820eb1c9d27d28b6ed99138 + +handshake=Noise_NK_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254bb9e8fd1c92e99737291c111956e17ab +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d97cd906e611b305ce4c22ffd315b750 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=9cfd3ddea89d9f445475098f834e572ec4a8c5e9be740dd92831ef6cf6fd9e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5db2eb7c7b37b33cd42fd321e05d9048c9be3efa0ae3a8c76724307e7562ff + +handshake=Noise_NKpsk0_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254718a7d4c2e3c99dbf622a533aee2274f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c286f86f4a7cfd2b81fe3d1444add3f2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=01d0ab0f394923f44c3abad69154757bbf902c64c5219bf8c624d69b11c959 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2c2a431db9e64c43b6c0a520547bdd8e1368358c099345ab4969f1bb4a9299 + +handshake=Noise_NKpsk1_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254afc9110414941f0b3fa72bd395095718 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669c069692405e7802986d04a3d2430961 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7d7766291245b52e9d504ca48bc3fb1118bdf46179c1b9bd32c925493533b3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=11a8d0014a1f8b258deb81bed19ea97bec009031d6a7a374eba5528490926c + +handshake=Noise_NKpsk2_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f93a440c4497c8dc01d655826bc1e042 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846680f0334cb21d5a78f12947bb80c7735b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6647abf5c995fb4b851bfd63c8e699286071c1fc2559764335c6329e2bea0f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=89e20c2dca7e4c2202aa731271c5d2081164c86e7b365ca98465961e7113a6 + +handshake=Noise_NK_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543e44c6b6a0a9a28f5daf1796ae55886ff960a634ddc73b72e7b0 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666e1a02e46e9053fa2a81f648b1fee43c438299bba0e77bc34d08 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=9cfd3ddea89d9f445475098f834e572ec4a8c5e9be740dd92831ef6cf6fd9e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5db2eb7c7b37b33cd42fd321e05d9048c9be3efa0ae3a8c76724307e7562ff + +handshake=Noise_NKpsk0_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ca3238dddb5256cd690a81f68c59b5d5216a7806cc1e63fcdceb +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660aa92dceb01712153f8dbce8ba3752e32b0a055a3f56a4900e58 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=01d0ab0f394923f44c3abad69154757bbf902c64c5219bf8c624d69b11c959 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2c2a431db9e64c43b6c0a520547bdd8e1368358c099345ab4969f1bb4a9299 + +handshake=Noise_NKpsk1_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b74e16d251935c4ba865774bfc2d3703bf09fe397d41b70e66b0 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466668442074729cbc1afdd21edaed1bd0c2bfe8b0bbd4797e22a73 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7d7766291245b52e9d504ca48bc3fb1118bdf46179c1b9bd32c925493533b3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=11a8d0014a1f8b258deb81bed19ea97bec009031d6a7a374eba5528490926c + +handshake=Noise_NKpsk2_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545b3af61cb5aa81f19c8ece0651d022203328454673d001ede6b8 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bf9e6c127466353179c7c004f953f2584b10238b823e7cc5e97c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6647abf5c995fb4b851bfd63c8e699286071c1fc2559764335c6329e2bea0f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=89e20c2dca7e4c2202aa731271c5d2081164c86e7b365ca98465961e7113a6 + +handshake=Noise_NK_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254660f1a4e72e678e4b0bcacd08c2cc9f4 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669b3dc8f07dd44673e4833fc90ce1164e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=9cfd3ddea89d9f445475098f834e572ec4a8c5e9be740dd92831ef6cf6fd9e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5db2eb7c7b37b33cd42fd321e05d9048c9be3efa0ae3a8c76724307e7562ff + +handshake=Noise_NKpsk0_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625460387695ddb6a97647f93847e8923922 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466dd59aa9c3ee7803c98e3651db6b3e81b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=01d0ab0f394923f44c3abad69154757bbf902c64c5219bf8c624d69b11c959 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2c2a431db9e64c43b6c0a520547bdd8e1368358c099345ab4969f1bb4a9299 + +handshake=Noise_NKpsk1_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544259ae3d24d8665ff7ce9256b701954c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c3d5626dcdd6dbd0ef679f92fa2f4518 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7d7766291245b52e9d504ca48bc3fb1118bdf46179c1b9bd32c925493533b3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=11a8d0014a1f8b258deb81bed19ea97bec009031d6a7a374eba5528490926c + +handshake=Noise_NKpsk2_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b9cfbfa816d97f7a4c47a7a9f8ecc6ac +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661629749d9a9c1558d3a8027a81a7b97f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6647abf5c995fb4b851bfd63c8e699286071c1fc2559764335c6329e2bea0f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=89e20c2dca7e4c2202aa731271c5d2081164c86e7b365ca98465961e7113a6 + +handshake=Noise_NK_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543e44c6b6a0a9a28f5dafb35dfe4f2cf52995fadd57f0a4006d1c +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666e1a02e46e9053fa2a81414fd4a5bd34dbd73cb3a6e1b896bce6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=9cfd3ddea89d9f445475098f834e572ec4a8c5e9be740dd92831ef6cf6fd9e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5db2eb7c7b37b33cd42fd321e05d9048c9be3efa0ae3a8c76724307e7562ff + +handshake=Noise_NKpsk0_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ca3238dddb5256cd690ae943692a4c055f22d3dd834ea90edfd8 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660aa92dceb01712153f8d214f8f71c03c898cbd891e751f10d132 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=01d0ab0f394923f44c3abad69154757bbf902c64c5219bf8c624d69b11c959 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2c2a431db9e64c43b6c0a520547bdd8e1368358c099345ab4969f1bb4a9299 + +handshake=Noise_NKpsk1_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b74e16d251935c4ba86516dfd74e045ff1c291281bcaa9362d00 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466668442074729cbc1afddf5f76f8ec753aa54926873c9096709c3 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7d7766291245b52e9d504ca48bc3fb1118bdf46179c1b9bd32c925493533b3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=11a8d0014a1f8b258deb81bed19ea97bec009031d6a7a374eba5528490926c + +handshake=Noise_NKpsk2_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545b3af61cb5aa81f19c8e33d34af062c6a72f793a6612ed12887f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bf9e6c127466353179c7c97611f0c4ac0ac3142512e76f650851 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6647abf5c995fb4b851bfd63c8e699286071c1fc2559764335c6329e2bea0f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=89e20c2dca7e4c2202aa731271c5d2081164c86e7b365ca98465961e7113a6 + +handshake=Noise_KK_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254de3641cda8802b636ee7afe370f7e34e +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e4c15cda24dee01c5c60ef6c4d6b92b3 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ab44bf778165ad086eaebbb994df826628b3fe26ad310642480a1b2af8fc23 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=baacf816b83aaeb15954621113f8e0603cb79168fe6308b87413004beee4d2 + +handshake=Noise_KKpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625498bf0afa6ad430bef2179595b80f00af +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660bc0a013b37277dafd0e2a2073ac3cc0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=fe6f6f749a1495883a1715674543c2ebe56c1cb674d4f4e47f9086553700ce +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=7a88c03c458db5b49827d899535210ba453d7dfc0f76a661b8cad08cf967ef + +handshake=Noise_KKpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625482f300522a0b96d0e03c3d41f98f6030 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846652279732a99893f3b89cf55f3784a3b5 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=de7af56efebaae1c6a616b624b39a441d8b82e09a2f2a30531a7c30441e6eb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=408aae72aaa26f98d436f4a64c34ea26baa1802548774b8f14cff3d1891895 + +handshake=Noise_KKpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f76e9ef85e5bc141f0d2ac73c491af69 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466479ea79a1a541cbc7eb522078716e1d4 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=cdafd1b6afea01667934ed26de85e3a200927343f534ccee0bdab0fbbe5aee +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2c4b0bdb11291ee7b67616af3c37e7a9f8c400c715e7f9142a620db4fd3e05 + +handshake=Noise_KK_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254558809aaeff03abdf354a87685ef23c3191ad86ae0c81bbaafa8 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f7c3b2f7cef28a2f21245150a4abd05d6404ab474c115c578ea5 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ab44bf778165ad086eaebbb994df826628b3fe26ad310642480a1b2af8fc23 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=baacf816b83aaeb15954621113f8e0603cb79168fe6308b87413004beee4d2 + +handshake=Noise_KKpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b999c716e2b5ebd7dddc18c68985cfb4351b19d5aa51e6b6a3d9 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ad07cf9d7d4c88039123d1fae114ca14da9754cad2103495e943 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=fe6f6f749a1495883a1715674543c2ebe56c1cb674d4f4e47f9086553700ce +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=7a88c03c458db5b49827d899535210ba453d7dfc0f76a661b8cad08cf967ef + +handshake=Noise_KKpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541a96b079a0d93c9c8a155898e5985630a9b1f023773114dabe32 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466677a31f9e25c3322951402efef0b854d68e456565be88e0d51a2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=de7af56efebaae1c6a616b624b39a441d8b82e09a2f2a30531a7c30441e6eb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=408aae72aaa26f98d436f4a64c34ea26baa1802548774b8f14cff3d1891895 + +handshake=Noise_KKpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543d75d4599f7a207000b95e3ba21772976160bc0d0e9d849b969b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669ba2c1c12e0ae525b5442707aa5ea703c57d8aa875aa18ed909a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=cdafd1b6afea01667934ed26de85e3a200927343f534ccee0bdab0fbbe5aee +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2c4b0bdb11291ee7b67616af3c37e7a9f8c400c715e7f9142a620db4fd3e05 + +handshake=Noise_KK_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c2b1750e0c698c0a6112819f9c76fc36 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846680da3b11f10f1a9b7790d0edd4dffbaf +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ab44bf778165ad086eaebbb994df826628b3fe26ad310642480a1b2af8fc23 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=baacf816b83aaeb15954621113f8e0603cb79168fe6308b87413004beee4d2 + +handshake=Noise_KKpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543dbdbd15ce16ebbd5cbe94c31693a31d +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c6530671018ea8a0fc755a25fc2567ce +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=fe6f6f749a1495883a1715674543c2ebe56c1cb674d4f4e47f9086553700ce +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=7a88c03c458db5b49827d899535210ba453d7dfc0f76a661b8cad08cf967ef + +handshake=Noise_KKpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254840a997d6af2ba012dd07b2df7798fee +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ca8bb47ff4a43848304c6d2edcf068dd +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=de7af56efebaae1c6a616b624b39a441d8b82e09a2f2a30531a7c30441e6eb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=408aae72aaa26f98d436f4a64c34ea26baa1802548774b8f14cff3d1891895 + +handshake=Noise_KKpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625482752d661cd7555efeb06de81c9c7440 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466faf6abfeb8c57688af793a94b8b59903 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=cdafd1b6afea01667934ed26de85e3a200927343f534ccee0bdab0fbbe5aee +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2c4b0bdb11291ee7b67616af3c37e7a9f8c400c715e7f9142a620db4fd3e05 + +handshake=Noise_KK_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254558809aaeff03abdf354ad47d26523f1b98b5ce386c3b066ff53 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f7c3b2f7cef28a2f212487967f4b709e22ff452dcb68821a10aa +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ab44bf778165ad086eaebbb994df826628b3fe26ad310642480a1b2af8fc23 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=baacf816b83aaeb15954621113f8e0603cb79168fe6308b87413004beee4d2 + +handshake=Noise_KKpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b999c716e2b5ebd7dddc071a74c7c4c9cb80ac268b23a5284fc2 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ad07cf9d7d4c88039123b962375716b252dc4ad12cfe6f5d4bb8 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=fe6f6f749a1495883a1715674543c2ebe56c1cb674d4f4e47f9086553700ce +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=7a88c03c458db5b49827d899535210ba453d7dfc0f76a661b8cad08cf967ef + +handshake=Noise_KKpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541a96b079a0d93c9c8a154abc656a5b149ecbeb06e87583b65868 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466677a31f9e25c33229514bb8c7076d4faff8789a0e351738b86fd +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=de7af56efebaae1c6a616b624b39a441d8b82e09a2f2a30531a7c30441e6eb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=408aae72aaa26f98d436f4a64c34ea26baa1802548774b8f14cff3d1891895 + +handshake=Noise_KKpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543d75d4599f7a207000b9c74a6e5fb64546dabaea326eae41e103 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669ba2c1c12e0ae525b54442c957df906bb8905ee7620374ebf0b2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=cdafd1b6afea01667934ed26de85e3a200927343f534ccee0bdab0fbbe5aee +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2c4b0bdb11291ee7b67616af3c37e7a9f8c400c715e7f9142a620db4fd3e05 + +handshake=Noise_NX_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846686b5f4e8c51a605bcb276206a6df60ae938b905adaf29a2dae4a4951bbd9ac64830ab64f2329646560b930979ff52da8dda7c0677c502dba13c078b5afd1bf11 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=92613cda6ccb2936449efb8ff870b5a4536f5734a4e31056d38101230762e8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ed89355072429afe6c3442ba7af66f6647499291bab58d40f6a392e79ff80a + +handshake=Noise_NXpsk0_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a9ee73b4288fdbc31cb51797c65fbaa9 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664f6b8c9a95aeb764b26cf8c501bacc34e529749e4f6ae88920bd387fabb8637dcde2392baf3709659849325856ac9cf356aaefe992efcb4f9ab2a3970fbb99f5 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=48a1263c75d2406120b1a37c67ea6dbfd419846d447bb9561f7b2e59e519fb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=73b72d691daf65626d78168e0ed56bea89856f26a9dafe3e9bfc9eb6e0f31d + +handshake=Noise_NXpsk1_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254630415173b9f1928701ff2289f37d561 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846605a586d5481fff45caeea1cd0655af37781458d66a4815875d47b78c96a3a12d093a0dc166d20f0c3214a4626b9e66336caf89021d364d65e4772bc8f1321040 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0939720a26cecdc36b1c4026bd90b3dbcf385f01e559ca5a0a0d3e873490e5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4d4d6c20c1864598f66f01fe45acc18f5bda9ffa8df1ef6ceb816767b89a58 + +handshake=Noise_NXpsk2_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254162c9c2f5940535c6bfd1f890e60408d +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466353ad209b6a362c223414b1d0a03e9e81e22fa4caeb6b362260fbfe5c128631598e58eba6e707e7d2222949ee232b54ebf61e33970b46cd4eeac807a2f0cf192 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a4e0c92d865ded40ef3c75ba54bdf98e66a5a0f2518d3b0a7f6f0282f2b20a +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=295ed0f56eb5f31822f8d9555d259cad3287f00b0a190e11039c84931c3da5 + +handshake=Noise_NX_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846686b5f4e8c51a605bcb276206a6df60ae938b905adaf29a2dae4a4951bbd9ac64ab58309bc12c2c6833badcfdd3d7ff0761dbe60d6d29ade8507d29fb2bc4117057fc8179e6fbef5007ad +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=92613cda6ccb2936449efb8ff870b5a4536f5734a4e31056d38101230762e8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ed89355072429afe6c3442ba7af66f6647499291bab58d40f6a392e79ff80a + +handshake=Noise_NXpsk0_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e9015cba2a23b0096a05011567485f6bf02291236c1a148210fc +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664f6b8c9a95aeb764b26cf8c501bacc34e529749e4f6ae88920bd387fabb8637dd40f5cfab465b3b2502a36bd5eb32fcfcd18d09a129a297e8b6ec14c40f49ddefba21635f51fb72aa086 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=48a1263c75d2406120b1a37c67ea6dbfd419846d447bb9561f7b2e59e519fb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=73b72d691daf65626d78168e0ed56bea89856f26a9dafe3e9bfc9eb6e0f31d + +handshake=Noise_NXpsk1_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546f39612d4d40b9e9cfdc3a11c3356eeff3ebf41fbfaeeef9aa39 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846605a586d5481fff45caeea1cd0655af37781458d66a4815875d47b78c96a3a12d555e64b1d866a2cc146e4d71d56b0bacf2c3abdcf587228060f0a41bb179568b9c95191f7bdb9ab94e9d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0939720a26cecdc36b1c4026bd90b3dbcf385f01e559ca5a0a0d3e873490e5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4d4d6c20c1864598f66f01fe45acc18f5bda9ffa8df1ef6ceb816767b89a58 + +handshake=Noise_NXpsk2_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625438e8bbb2574005b8a72c7fc4a5455835244356622ed2cdbbd68d +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466353ad209b6a362c223414b1d0a03e9e81e22fa4caeb6b362260fbfe5c1286315de9dafc57e6d45a3fbd49aced15f14ce967be96d154f36efe24015a68924e69b7c9135349ce6264f6c59 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a4e0c92d865ded40ef3c75ba54bdf98e66a5a0f2518d3b0a7f6f0282f2b20a +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=295ed0f56eb5f31822f8d9555d259cad3287f00b0a190e11039c84931c3da5 + +handshake=Noise_NX_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846686b5f4e8c51a605bcb276206a6df60ae938b905adaf29a2dae4a4951bbd9ac64609b51f99bea30ec0bbedbd1007843d83c9763a959b00ab5cab5ba49eafb3e2e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=92613cda6ccb2936449efb8ff870b5a4536f5734a4e31056d38101230762e8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ed89355072429afe6c3442ba7af66f6647499291bab58d40f6a392e79ff80a + +handshake=Noise_NXpsk0_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d93a8a6ccad06b8a39521b804712e760 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664f6b8c9a95aeb764b26cf8c501bacc34e529749e4f6ae88920bd387fabb8637d74d1f7e7e208bab05d20d4b685ce7dbd7c3ac274d2fc417b9ea17fca299290ea +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=48a1263c75d2406120b1a37c67ea6dbfd419846d447bb9561f7b2e59e519fb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=73b72d691daf65626d78168e0ed56bea89856f26a9dafe3e9bfc9eb6e0f31d + +handshake=Noise_NXpsk1_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254921fe5c4bb90760e53d6faf1a0740c79 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846605a586d5481fff45caeea1cd0655af37781458d66a4815875d47b78c96a3a12d92c26414634b717744bf686cda3a086e2a5f112e7b50193a0981c9052b26b95a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0939720a26cecdc36b1c4026bd90b3dbcf385f01e559ca5a0a0d3e873490e5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4d4d6c20c1864598f66f01fe45acc18f5bda9ffa8df1ef6ceb816767b89a58 + +handshake=Noise_NXpsk2_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a816c865955730f32f7955893a0d7f2e +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466353ad209b6a362c223414b1d0a03e9e81e22fa4caeb6b362260fbfe5c128631555051ef062c98db54b470d1e15b0050171b4b5a3b57703c66b018918176481dd +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a4e0c92d865ded40ef3c75ba54bdf98e66a5a0f2518d3b0a7f6f0282f2b20a +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=295ed0f56eb5f31822f8d9555d259cad3287f00b0a190e11039c84931c3da5 + +handshake=Noise_NX_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846686b5f4e8c51a605bcb276206a6df60ae938b905adaf29a2dae4a4951bbd9ac640fc955b72cd7be36df1431bc363bf15b61dbe60d6d29ade8507d549c2b17ff58629ba542d5129adf100f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=92613cda6ccb2936449efb8ff870b5a4536f5734a4e31056d38101230762e8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ed89355072429afe6c3442ba7af66f6647499291bab58d40f6a392e79ff80a + +handshake=Noise_NXpsk0_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e9015cba2a23b0096a053a030712430d2c4b67068f03021e228f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664f6b8c9a95aeb764b26cf8c501bacc34e529749e4f6ae88920bd387fabb8637da2ba3faccfe2faa68a3139e1c8447a55cd18d09a129a297e8b6eae2479c85097b112227d3a5f8c151535 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=48a1263c75d2406120b1a37c67ea6dbfd419846d447bb9561f7b2e59e519fb +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=73b72d691daf65626d78168e0ed56bea89856f26a9dafe3e9bfc9eb6e0f31d + +handshake=Noise_NXpsk1_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546f39612d4d40b9e9cfdc571de866bca651aafdc036069e6287ee +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846605a586d5481fff45caeea1cd0655af37781458d66a4815875d47b78c96a3a12d10417dc13d71a4453495b69c0892beb5f2c3abdcf587228060f0258e113345473d901ace83f9bdbd0b41 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0939720a26cecdc36b1c4026bd90b3dbcf385f01e559ca5a0a0d3e873490e5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4d4d6c20c1864598f66f01fe45acc18f5bda9ffa8df1ef6ceb816767b89a58 + +handshake=Noise_NXpsk2_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625438e8bbb2574005b8a72cea9f0f940e1159de27b869b82e9779f0 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466353ad209b6a362c223414b1d0a03e9e81e22fa4caeb6b362260fbfe5c1286315e1f3a591d5886270af814b41d8bacb7a967be96d154f36efe240b4f5bbe437a4669d354ec3f988467b16 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a4e0c92d865ded40ef3c75ba54bdf98e66a5a0f2518d3b0a7f6f0282f2b20a +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=295ed0f56eb5f31822f8d9555d259cad3287f00b0a190e11039c84931c3da5 + +handshake=Noise_KX_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846622be88163c561546e4bed5f7edf59c4a66de1b08618f33e5795acaac602ccefed747d2332f470a6322d692464a05fcd67cba64be6a7e2398b84f0874a7d27c38 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0bdd14922642db2bd89e286bac9a93db23f5677f0c21a2504d12a30ba345c9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=01d6ba6fa72b364f3595ecd4fcfd2163c6419dcaaf81400f2a2475841bf0d8 + +handshake=Noise_KXpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d46828feccb106fce1347259efe3d560 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e10980f3530a4aaf3535bcd0434d86038c899f9f7eaa14ec3b953dfccd14f38eeceda506dac5ffaa99ff52fe7504945eb9b6072986d1e7120e06d3c1972f7180 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=10541bac3d4a63122a37a4f7b5dcfcc525e1181fc5dd8acc49d47583d318a8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=863dcf756c35668a469a0b54d4e1dfe6c8eb5731fefa8fd1ea01ee193ca65a + +handshake=Noise_KXpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254239128e9c724ebca8616533a70d2437b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666502920f436afe0924fb9e2089dae0157d3aece8be75d5e40c6c32324963763a5208664eb984e338151d464d04f944b15fc0cf85a10bb0c55d8971abe75aa2b3 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=f4df46901c83ffc83cb5a2b8e3f551f94413e760c545fe690c376fcc67d2c6 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6ae230f4066266b0d5acbd1f88e9a369008a22f37234bb29edccccd574835b + +handshake=Noise_KXpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254016d9bce67aca6fbde6cd635a26a793b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665707e22c0421b4143fb60cdb66d4abe8e9f9f96622ed7415a4bef49e881e6259ec92755a87cf9ae7807a98d2b99b2886a6afd2cf42f6ec465d945fceeaa6ca42 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ccf1e63eb05b5935b3925d91e55cc46e95c883af0c86ceb81b44679d63b8df +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=bfb507e53620a99a87de6c5118a296da629e71582b4315d3f9d276cd6d8123 + +handshake=Noise_KX_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846622be88163c561546e4bed5f7edf59c4a66de1b08618f33e5795acaac602ccefea1671c0794e5e89f47225379b721d4ec0bff04812072f6475715344dbbf02f94c684290d67dbdbc8207d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0bdd14922642db2bd89e286bac9a93db23f5677f0c21a2504d12a30ba345c9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=01d6ba6fa72b364f3595ecd4fcfd2163c6419dcaaf81400f2a2475841bf0d8 + +handshake=Noise_KXpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c3e81f3136465c96cebd9ede3119a58997cc9451cb028c655ffe +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e10980f3530a4aaf3535bcd0434d86038c899f9f7eaa14ec3b953dfccd14f38e945d19af90678c770e7fa5b44cf2f028a97d8dcafbf2716d9afdcfbbcb54a91f9a244f39bdc24b915afe +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=10541bac3d4a63122a37a4f7b5dcfcc525e1181fc5dd8acc49d47583d318a8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=863dcf756c35668a469a0b54d4e1dfe6c8eb5731fefa8fd1ea01ee193ca65a + +handshake=Noise_KXpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254326b26fa793456510d57c3fbdb793f6b4b818a362b84c1b66c8f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666502920f436afe0924fb9e2089dae0157d3aece8be75d5e40c6c32324963763a4a342ec239c8c23d581a3c32e692458a71115f8a46511990d9df9e566c592c7cd453946d482d1b0471ca +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=f4df46901c83ffc83cb5a2b8e3f551f94413e760c545fe690c376fcc67d2c6 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6ae230f4066266b0d5acbd1f88e9a369008a22f37234bb29edccccd574835b + +handshake=Noise_KXpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548ae113e0354a922eba4fcd8f1779c9e2a7e299b5dd36d51a3a88 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665707e22c0421b4143fb60cdb66d4abe8e9f9f96622ed7415a4bef49e881e62592ad072445cec53458b1a2afe797bd4b04144407359790a257fcb9ab38935582670d3355072c7f3df624b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ccf1e63eb05b5935b3925d91e55cc46e95c883af0c86ceb81b44679d63b8df +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=bfb507e53620a99a87de6c5118a296da629e71582b4315d3f9d276cd6d8123 + +handshake=Noise_KX_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846622be88163c561546e4bed5f7edf59c4a66de1b08618f33e5795acaac602ccefe8ac78598314baf570622d86009c726c36d35cf3d7a7d73b97b17feb38c3b39d8 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0bdd14922642db2bd89e286bac9a93db23f5677f0c21a2504d12a30ba345c9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=01d6ba6fa72b364f3595ecd4fcfd2163c6419dcaaf81400f2a2475841bf0d8 + +handshake=Noise_KXpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254af3f8d444ba03713f5022a823e640a91 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e10980f3530a4aaf3535bcd0434d86038c899f9f7eaa14ec3b953dfccd14f38e10d88a49863b30c39deeac932734a107a7dcd046a5c72e44ffe7568799d921d8 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=10541bac3d4a63122a37a4f7b5dcfcc525e1181fc5dd8acc49d47583d318a8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=863dcf756c35668a469a0b54d4e1dfe6c8eb5731fefa8fd1ea01ee193ca65a + +handshake=Noise_KXpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625400e84c01aaed5f725ab7f61e29eeb91b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666502920f436afe0924fb9e2089dae0157d3aece8be75d5e40c6c32324963763a9c046b9524fcbdb33f1659ae34847bf2b199c8870b646a54304818f51af06071 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=f4df46901c83ffc83cb5a2b8e3f551f94413e760c545fe690c376fcc67d2c6 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6ae230f4066266b0d5acbd1f88e9a369008a22f37234bb29edccccd574835b + +handshake=Noise_KXpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e705ff1f11873ffc5d577a6a5cf567e0 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665707e22c0421b4143fb60cdb66d4abe8e9f9f96622ed7415a4bef49e881e62597f5a32f7d06d14b6f025a25d9c5c4d4757d58ed15d8db3099ad8e3eb486f924c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ccf1e63eb05b5935b3925d91e55cc46e95c883af0c86ceb81b44679d63b8df +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=bfb507e53620a99a87de6c5118a296da629e71582b4315d3f9d276cd6d8123 + +handshake=Noise_KX_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846622be88163c561546e4bed5f7edf59c4a66de1b08618f33e5795acaac602ccefee3df782d6947d1c911aac6358c29ee3a0bff04812072f6475715256b60c70ed7efb0e39e3228d109cc28 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0bdd14922642db2bd89e286bac9a93db23f5677f0c21a2504d12a30ba345c9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=01d6ba6fa72b364f3595ecd4fcfd2163c6419dcaaf81400f2a2475841bf0d8 + +handshake=Noise_KXpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c3e81f3136465c96cebdfe53333e37d04b3ecfc1ce18c24d8655 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e10980f3530a4aaf3535bcd0434d86038c899f9f7eaa14ec3b953dfccd14f38e0d9282cf7902b2cf30bdc567ba9b58c2a97d8dcafbf2716d9afd88d956892efd1b1f7e4e9e43e5d33812 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=10541bac3d4a63122a37a4f7b5dcfcc525e1181fc5dd8acc49d47583d318a8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=863dcf756c35668a469a0b54d4e1dfe6c8eb5731fefa8fd1ea01ee193ca65a + +handshake=Noise_KXpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254326b26fa793456510d5783814b7b0b910fa84f2e03549260a3ff +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666502920f436afe0924fb9e2089dae0157d3aece8be75d5e40c6c32324963763a9e52ca3691a9bb4da162c6b52f63a33d71115f8a46511990d9dfae8beae37024a6d8f9d64a13ed725a88 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=f4df46901c83ffc83cb5a2b8e3f551f94413e760c545fe690c376fcc67d2c6 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6ae230f4066266b0d5acbd1f88e9a369008a22f37234bb29edccccd574835b + +handshake=Noise_KXpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548ae113e0354a922eba4f54c106d22ef8b5012baa9d3f6282043e +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665707e22c0421b4143fb60cdb66d4abe8e9f9f96622ed7415a4bef49e881e62598c2243a2c57862be374df2bcf1dca08b4144407359790a257fcb737585008b71d92634ed2e0006947bf3 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ccf1e63eb05b5935b3925d91e55cc46e95c883af0c86ceb81b44679d63b8df +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=bfb507e53620a99a87de6c5118a296da629e71582b4315d3f9d276cd6d8123 + +handshake=Noise_XN_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466421a842962910af6f41bae34e0432825 +msg_2_payload= +msg_2_ciphertext=90ec9aa1d942e2a4659f38aa2c3aaea30db7c881779be22b7a75216bfc85f5b9a89cc47f2214dfe6ef4dbfcde419e1b976d89bde05869c2d4f63411b62d9e1aa +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=a3a03ed5f7e2e7f28a52c981ec059601e1f159914f3f3cd9a2c6c4430dd720 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=014e0d10df4f445f70e49bd6c70f73559fb941fd476c2a024a3c41faa85fd5 + +handshake=Noise_XNpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d18427cf1cf5b8d6efedc50e72f98d61 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a868b8ef62dddac660ccbd0ef5a2f638 +msg_2_payload= +msg_2_ciphertext=711758abed5d3a6ac8da8b44e5c5e8172fc2ac0d276c26869df19a6d7692bc215109dd8465dccae346b7c3244b8dec4bb0b920dd013a869726939ae290787a03 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=e70cfd7879dcb0954e022417341a5610ffa95efe16d46fd0a009ec563ead28 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=a3cf3d1c5147d0674557713d2bb5cee2dd14b19fb068191ccbae7f2eb37d15 + +handshake=Noise_XNpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254adaac346cc6dc2d8445919ef7814b47e +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466dc9fdacd87762acf1ffc1fc0030efbdf +msg_2_payload= +msg_2_ciphertext=ed69ae5a01433c142b45a612ad047ea28ea5fb892aec8502d2301d25379af0062277dc4aa770beb5920c299388f21f64076253ef99811b89c4c4d095baa9b663 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=0466462e068b7a45a52f923a3ff92045c003d75c0abfb5fef22e50930cdf0b +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=b1e2d80773770ecd305c15a6eb937794aacc757668d6a35c0b6b757c3661d9 + +handshake=Noise_XNpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541a0f3449ec3aefd8d282186f3cbf6d2c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c6de47296cd1a124ae1bede32568b2eb +msg_2_payload= +msg_2_ciphertext=8c4f737e9523fc333fd7790a0da924aa5e9102815e6e58470ebfcb225505442f17316a2cfa8a0e08d6e8c61612390b023ead1a6e918977666182bf060f6e1f32 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=36b805eb8ae644d22dcd34bded50eb1d9ef8492011dfa55686877643444bf7 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=a623e85f1faa8a611b90e0267b9849cd137835c068773781c6020f6c29760e + +handshake=Noise_XNpsk3_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547b1edc47b836d1657bba9ae2905187f9 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665288e35fd769417d86673fe39856df48 +msg_2_payload= +msg_2_ciphertext=f9de295774dd85031fbfc643d31a9b8d22ad1c59c8c692f8fc24131ca25245d54aaa337b7f7543c27e2e7cece2034a3db47e10ce55ddb3e0500fc0707275b6a2 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=94d5355cbc643ba0617f5cb48d4dbc0bdd474526acea6a03788ffd875ed37c +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=d1ad326bfcc585060bd2b228a417401e532ebc5379b65d120a4c490131b02a + +handshake=Noise_XN_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466922d0c0809fbcd211f3ea7a49bd48d7d21b00709e8be9a1224e8 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=90ec9aa1d942e2a4659f38aa2c3aaea30db7c881779be22b7a75216bfc85f5b9ef116e53e5dd64ea8edb4fe0b9f020503103e387380039fd95ec75f82879c19b87bc1551964b8f019c8a +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=a3a03ed5f7e2e7f28a52c981ec059601e1f159914f3f3cd9a2c6c4430dd720 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=014e0d10df4f445f70e49bd6c70f73559fb941fd476c2a024a3c41faa85fd5 + +handshake=Noise_XNpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544c40f70b1887c5e34173b42f5026cd011744f344d83d07fef6cb +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846622f0479024f9448013d11ed7cb13158b680cbd558e5f3ddd79c3 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=711758abed5d3a6ac8da8b44e5c5e8172fc2ac0d276c26869df19a6d7692bc21b951c8a293b10a8f53d3df938218ba8f669a67d1173c5f07ed10faebb25bf8d08eb5cf41230028d4f802 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=e70cfd7879dcb0954e022417341a5610ffa95efe16d46fd0a009ec563ead28 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=a3cf3d1c5147d0674557713d2bb5cee2dd14b19fb068191ccbae7f2eb37d15 + +handshake=Noise_XNpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254379bde1d982cb2c03b9125fd7ec573360c0d9eec0f0edc62514e +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846647abc11d0a30e8f48bee07a92bcc55f96d90613992ed2d1134d8 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=ed69ae5a01433c142b45a612ad047ea28ea5fb892aec8502d2301d25379af00620ccb49ae6217d2b906749a1d0901aa8245792e450b5a4856e2163b939b2113c20dcc1f6f962a4553e9e +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=0466462e068b7a45a52f923a3ff92045c003d75c0abfb5fef22e50930cdf0b +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=b1e2d80773770ecd305c15a6eb937794aacc757668d6a35c0b6b757c3661d9 + +handshake=Noise_XNpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ab4c7101ed3993f615d370a8828e83d1b95e936d6543b31cf738 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c0aa4588158d1d69aacd89d72b0212efd61f553f5b46dced9288 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=8c4f737e9523fc333fd7790a0da924aa5e9102815e6e58470ebfcb225505442fcb02ed71bba2e642e3c673513f3086f2eabc32362bb438fa2719088bbc8b17eb0ab94995f4ef2b2e8240 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=36b805eb8ae644d22dcd34bded50eb1d9ef8492011dfa55686877643444bf7 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=a623e85f1faa8a611b90e0267b9849cd137835c068773781c6020f6c29760e + +handshake=Noise_XNpsk3_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f9c15e88f3b35e1fb6ee32fc27e793d457328549cf440cf21bc8 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466dccf8bea81d7143217517e7f8889214aa825fde0c0f5f3730b04 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=f9de295774dd85031fbfc643d31a9b8d22ad1c59c8c692f8fc24131ca25245d511898ead584b2dff13d737c764a1068c5d79d90ea348d9a29e201390c72628151e1ec8ae3064c1847ff8 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=94d5355cbc643ba0617f5cb48d4dbc0bdd474526acea6a03788ffd875ed37c +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=d1ad326bfcc585060bd2b228a417401e532ebc5379b65d120a4c490131b02a + +handshake=Noise_XN_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466afdc554dbb2a7201c412bb437be1c270 +msg_2_payload= +msg_2_ciphertext=90ec9aa1d942e2a4659f38aa2c3aaea30db7c881779be22b7a75216bfc85f5b9ea8fcff35f027e4a4d34061afc8f293f1cc2d2845ad0e6c60fb28cd6a97ee7c9 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=a3a03ed5f7e2e7f28a52c981ec059601e1f159914f3f3cd9a2c6c4430dd720 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=014e0d10df4f445f70e49bd6c70f73559fb941fd476c2a024a3c41faa85fd5 + +handshake=Noise_XNpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547efeb1446d33829e9121e2dd88d5890e +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663a379fc907edb2d482c7cfd079c9061e +msg_2_payload= +msg_2_ciphertext=711758abed5d3a6ac8da8b44e5c5e8172fc2ac0d276c26869df19a6d7692bc21b2dbb6994af1e68351ca08a13d7aaacc314eb77d44983a1b8c0e73c6452cdbdd +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=e70cfd7879dcb0954e022417341a5610ffa95efe16d46fd0a009ec563ead28 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=a3cf3d1c5147d0674557713d2bb5cee2dd14b19fb068191ccbae7f2eb37d15 + +handshake=Noise_XNpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625482b27dc5a03ff90f7101dc91e98e48d5 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f6c92addd63257386faff8abe78e38b0 +msg_2_payload= +msg_2_ciphertext=ed69ae5a01433c142b45a612ad047ea28ea5fb892aec8502d2301d25379af006b1f0245bcfdf0581add0bd95d520f601f53d08bc3407f230a562a42d9ffda18e +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=0466462e068b7a45a52f923a3ff92045c003d75c0abfb5fef22e50930cdf0b +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=b1e2d80773770ecd305c15a6eb937794aacc757668d6a35c0b6b757c3661d9 + +handshake=Noise_XNpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625417f654a5baf18317e0cbe73b91ab38e4 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846655bb48ca5581a0f31d217afbb880f4b2 +msg_2_payload= +msg_2_ciphertext=8c4f737e9523fc333fd7790a0da924aa5e9102815e6e58470ebfcb225505442fe7f943ccead5ea1eddbdafc92b73898d7b606fcfd0aef45e783d25f42f380a71 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=36b805eb8ae644d22dcd34bded50eb1d9ef8492011dfa55686877643444bf7 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=a623e85f1faa8a611b90e0267b9849cd137835c068773781c6020f6c29760e + +handshake=Noise_XNpsk3_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254edefc841a615045a125f9dca19e4587b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846640df4f3bd14e278b1fe26af20aec9e2d +msg_2_payload= +msg_2_ciphertext=f9de295774dd85031fbfc643d31a9b8d22ad1c59c8c692f8fc24131ca25245d55076475f2e0d77cf754774a9f1fbc7fc540731fe9a5acfbee5ec79b48fb9cef3 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=94d5355cbc643ba0617f5cb48d4dbc0bdd474526acea6a03788ffd875ed37c +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=d1ad326bfcc585060bd2b228a417401e532ebc5379b65d120a4c490131b02a + +handshake=Noise_XN_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466922d0c0809fbcd211f3e38dde4eba0b653d54097896cd7d5dbd0 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=90ec9aa1d942e2a4659f38aa2c3aaea30db7c881779be22b7a75216bfc85f5b90c44c7fe245a16301dd8dc8addcc5ca23103e387380039fd95ecb996d7be061eb5ff1fc53559cd9e193d +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=a3a03ed5f7e2e7f28a52c981ec059601e1f159914f3f3cd9a2c6c4430dd720 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=014e0d10df4f445f70e49bd6c70f73559fb941fd476c2a024a3c41faa85fd5 + +handshake=Noise_XNpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544c40f70b1887c5e3417316dcb4d39a81bfcdc6d54853afdc3136 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846622f0479024f9448013d1c4dd5c46e912265bc7f262f8f9b87d4d +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=711758abed5d3a6ac8da8b44e5c5e8172fc2ac0d276c26869df19a6d7692bc2143d3856c18125b39f327923b49af097a669a67d1173c5f07ed10aa46ec9fbe18ede3cfb2e7f69d677010 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=e70cfd7879dcb0954e022417341a5610ffa95efe16d46fd0a009ec563ead28 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=a3cf3d1c5147d0674557713d2bb5cee2dd14b19fb068191ccbae7f2eb37d15 + +handshake=Noise_XNpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254379bde1d982cb2c03b91964cd0759fe82fed89182aeee56f18e6 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846647abc11d0a30e8f48bee4cdda0ba985e7d4b29a633657c339893 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=ed69ae5a01433c142b45a612ad047ea28ea5fb892aec8502d2301d25379af0068a312038d318ec92ac5eb587e9d8f84c245792e450b5a4856e219aa62777c215570307456d87365a897c +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=0466462e068b7a45a52f923a3ff92045c003d75c0abfb5fef22e50930cdf0b +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=b1e2d80773770ecd305c15a6eb937794aacc757668d6a35c0b6b757c3661d9 + +handshake=Noise_XNpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ab4c7101ed3993f615d302da475cd0a6b0e5c40bf650a8570877 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c0aa4588158d1d69aacd8a86346e8a06ae02b5364f1564f3c056 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=8c4f737e9523fc333fd7790a0da924aa5e9102815e6e58470ebfcb225505442f6da9381647d31eb43af101b61460abefeabc32362bb438fa2719426f5763a62850870e17dabdd9d6efa5 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=36b805eb8ae644d22dcd34bded50eb1d9ef8492011dfa55686877643444bf7 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=a623e85f1faa8a611b90e0267b9849cd137835c068773781c6020f6c29760e + +handshake=Noise_XNpsk3_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f9c15e88f3b35e1fb6eeb3f05c99e382cdc86df79a4fa2da66c4 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466dccf8bea81d714321751aafc0f0c02a7ba7ee4cca458c4ddd539 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=f9de295774dd85031fbfc643d31a9b8d22ad1c59c8c692f8fc24131ca25245d5c8d46971e69149e03da88ddf49bee3175d79d90ea348d9a29e20f6290a1735c098a32f1be67db24cf40b +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=94d5355cbc643ba0617f5cb48d4dbc0bdd474526acea6a03788ffd875ed37c +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=d1ad326bfcc585060bd2b228a417401e532ebc5379b65d120a4c490131b02a + +handshake=Noise_IN_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c841939357934ea06e78f5e8e698684d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=2bd30250706a1499562e15fa575c2a5fa7a3c0629af62e55b05201f5ee9a88 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8d24c99e0e9d13c7a8ea87e782a85620a2d9cfffdb51fcbfbb9f47bedb1d7a + +handshake=Noise_INpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e6392475570fd5848881a9e38debf0e3ef40f0f089c76a43dadf1559adb12f96c20d7b69e8333944ccf04538f378771335ff7c6937772e71fee4cbdd504774cc +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f612bd5240c0b09912b38443ae23b80a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8ee45a004c4c4dea075b1b53c6336c68b12499a8014ec4d159edb4d8d2d61b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=c0ac2d8afe9d104aa19e725b419512b446d379380b524430ad69251033b740 + +handshake=Noise_INpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625412d935cd6b08a35c8ac9d91c82849b1318050ce5ccaeb3ff03a74fc657a862f0e9e1fcc385f2dd4e16efd6f9122f15e8d094df35f7d9fa9bbae5bb7737a4537b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d973603676b783cc27f40ddc2248b573 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ebdd5b2ca6c67d29b7d2a99fc6f852211df419b41ac7aa73b6afed124aefe8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=40560f67839ab4d6af1857af31b623678ff4247bfd4fe52c298519e4b37748 + +handshake=Noise_INpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625487f7d8fbdfe8f1b1391dda5c06ec57e068ee0de9e260a3b48444e0ec45ba243ba02332c9e0e6c9faa1c008ebffde52607c9d8d921ca2f9e8bef5846584dd0d27 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846656d415e8c837b3c9793297af04684d7d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=aae275159d2a9c8f77e94377242515e9c6faa83a1479dbcb7881dbd29f0fb2 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4d567ed8546efc8c4efd024eb3ff7a80a2e7a3c2cb15be8d00269e7dfb0e6c + +handshake=Noise_IN_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e06c1cbe16f8d6eb194e341725b655563795ebd72a92f673016a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=2bd30250706a1499562e15fa575c2a5fa7a3c0629af62e55b05201f5ee9a88 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8d24c99e0e9d13c7a8ea87e782a85620a2d9cfffdb51fcbfbb9f47bedb1d7a + +handshake=Noise_INpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e6392475570fd5848881a9e38debf0e3ef40f0f089c76a43dadf1559adb12f96c20d7b69e8333944ccf04538f3787713a3f341409341bc2633a44d0d0cffc67cb924c5f817986201f89f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846697a1574e379eb22d4ed6c9bb37a249152f86f772c0b6b0405714 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8ee45a004c4c4dea075b1b53c6336c68b12499a8014ec4d159edb4d8d2d61b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=c0ac2d8afe9d104aa19e725b419512b446d379380b524430ad69251033b740 + +handshake=Noise_INpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625412d935cd6b08a35c8ac9d91c82849b1318050ce5ccaeb3ff03a74fc657a862f0e9e1fcc385f2dd4e16efd6f9122f15e8dc20bd3b6d2a59bacce24fe77d836c67f156db32f914abf48a6c +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466480c53c0cd421691e09cf8c71845481d77f82da21ab4404e01cd +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ebdd5b2ca6c67d29b7d2a99fc6f852211df419b41ac7aa73b6afed124aefe8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=40560f67839ab4d6af1857af31b623678ff4247bfd4fe52c298519e4b37748 + +handshake=Noise_INpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625487f7d8fbdfe8f1b1391dda5c06ec57e068ee0de9e260a3b48444e0ec45ba243ba02332c9e0e6c9faa1c008ebffde52601555b3462a986b29bd0d0aca61ce824686b5ee49ec4a48ca8e7f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661f6cfea732227f439b5149a4d581b9ecd78c6c61b944aad00f7b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=aae275159d2a9c8f77e94377242515e9c6faa83a1479dbcb7881dbd29f0fb2 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4d567ed8546efc8c4efd024eb3ff7a80a2e7a3c2cb15be8d00269e7dfb0e6c + +handshake=Noise_IN_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846699119bc615749ecd1e6e7d1ac6d1977c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=2bd30250706a1499562e15fa575c2a5fa7a3c0629af62e55b05201f5ee9a88 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8d24c99e0e9d13c7a8ea87e782a85620a2d9cfffdb51fcbfbb9f47bedb1d7a + +handshake=Noise_INpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e6392475570fd5848881a9e38debf0e3ef40f0f089c76a43dadf1559adb12f963da30abf52e7bfc3b55a0209fcc0f7a175871e2e30e8450989365002aca269b2 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662b230f643036ec899a5a4f68d9d7044e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8ee45a004c4c4dea075b1b53c6336c68b12499a8014ec4d159edb4d8d2d61b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=c0ac2d8afe9d104aa19e725b419512b446d379380b524430ad69251033b740 + +handshake=Noise_INpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625412d935cd6b08a35c8ac9d91c82849b1318050ce5ccaeb3ff03a74fc657a862f07ab83b4c64b03c9e2033777cbb1312bbcdfbbe5ff2fdaf57ef374eff49d47fc6 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466cfc8f480e99a7c4c2ca19519a93b555e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ebdd5b2ca6c67d29b7d2a99fc6f852211df419b41ac7aa73b6afed124aefe8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=40560f67839ab4d6af1857af31b623678ff4247bfd4fe52c298519e4b37748 + +handshake=Noise_INpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625487f7d8fbdfe8f1b1391dda5c06ec57e068ee0de9e260a3b48444e0ec45ba243b5fca98a7970812685deaf53e7ffb1575eb3f3daecc6f33e17d11d5301ab96b7b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665e39de767762c2beb6d96b26e84dbac6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=aae275159d2a9c8f77e94377242515e9c6faa83a1479dbcb7881dbd29f0fb2 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4d567ed8546efc8c4efd024eb3ff7a80a2e7a3c2cb15be8d00269e7dfb0e6c + +handshake=Noise_IN_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e06c1cbe16f8d6eb194ee5323d1b620bf0b6767e08d8027ee9e7 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=2bd30250706a1499562e15fa575c2a5fa7a3c0629af62e55b05201f5ee9a88 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8d24c99e0e9d13c7a8ea87e782a85620a2d9cfffdb51fcbfbb9f47bedb1d7a + +handshake=Noise_INpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e6392475570fd5848881a9e38debf0e3ef40f0f089c76a43dadf1559adb12f963da30abf52e7bfc3b55a0209fcc0f7a1a3f341409341bc2633a483e8bf7bea8307e6dc21c16519a91cbd +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846697a1574e379eb22d4ed66f506c2ec0fe5994eea0f25cced08528 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8ee45a004c4c4dea075b1b53c6336c68b12499a8014ec4d159edb4d8d2d61b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=c0ac2d8afe9d104aa19e725b419512b446d379380b524430ad69251033b740 + +handshake=Noise_INpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625412d935cd6b08a35c8ac9d91c82849b1318050ce5ccaeb3ff03a74fc657a862f07ab83b4c64b03c9e2033777cbb1312bbdc20bd3b6d2a59bacce207c6e3a1f515317eb137612cb3d35409 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466480c53c0cd421691e09cc75414f28abdc13ecc8b13cc73692825 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ebdd5b2ca6c67d29b7d2a99fc6f852211df419b41ac7aa73b6afed124aefe8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=40560f67839ab4d6af1857af31b623678ff4247bfd4fe52c298519e4b37748 + +handshake=Noise_INpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625487f7d8fbdfe8f1b1391dda5c06ec57e068ee0de9e260a3b48444e0ec45ba243b5fca98a7970812685deaf53e7ffb15751555b3462a986b29bd0d93839bd9528630f52982f870bfd48f38 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661f6cfea732227f439b51131d5eeb7da02a5d2293f0ecd9d4183a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=aae275159d2a9c8f77e94377242515e9c6faa83a1479dbcb7881dbd29f0fb2 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4d567ed8546efc8c4efd024eb3ff7a80a2e7a3c2cb15be8d00269e7dfb0e6c + +handshake=Noise_XK_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549963aa4003cb0f60f51f7f8b1c0e6a9c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846630166c893dafe95f71d102a8ac640a52 +msg_2_payload= +msg_2_ciphertext=24a819b832ab7a11dd1464c2baf72f2c49e0665757911662ab11495a5fd4437e0abe01f5c07176e776e02716c4cb98a005ec4c884c4dc7500d2d9b99e9670ab3 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=e8b0f2fc220f7edc287a91ba45c76f6da1327405789dc61e31a649f57d6d93 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=ed6901a7cd973e880242b047fc86da03b498e8ed8e9838d6f3d107420dfcd9 + +handshake=Noise_XKpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542bd753046e7314ec3133494e382b7a24 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b2ea43a59356b0531b01cd1572eb7dda +msg_2_payload= +msg_2_ciphertext=2d53813722d086e90ea67567c62e7363b8ac9207c580da580ef863a83ff27bcc7ad8b275fc0893de2d6b29ac0abce0a944491d09b7da32b734090a98c2c6845d +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=84ae2612b7e30a08826858696ffe58b04409582f7f61a9fd89b8da7436540d +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=1909701a9f7ef6101bd2399cbdb58ce6a2fe375265d1b31599480046a21c40 + +handshake=Noise_XKpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b29b3029f6d95e9dd623a64fdf0ffaf0 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662671dcf4fe27e8fd1c025e45e28d31c1 +msg_2_payload= +msg_2_ciphertext=b9cbb82dfbae55029e5f8fde96d8295f8e132adaf171665e7e1e2ae82598eeb3cf1a6d2a1e4f9b60273187384d328fe084441b93fdfff3c58e76947db2e3293b +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=66909973ba7571691166adc1cba72feaf1870d0fe1a71372421114b227bafb +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=a6113e6302cfedcdc0439a2606a06d1a6f0053306d188a8d0aee1a630a5e15 + +handshake=Noise_XKpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542720ac573d81470b7a09238c46ff7bb7 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c760c8dd0d16469689650665b8a1f189 +msg_2_payload= +msg_2_ciphertext=efe0329519660a84a2a418b869683458a06342db2cd97684000854900aa0274f5529a3d47b81a76d31e483f431b8bffd2c592e06ee566085a6cca7b48a904e74 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=b9bad622368e64fbacab57ce79a664941d75ff62778de9757ca00f96ac58af +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=5d8a8111907d497e9905d883cfca75175f6bc39d0ae332fd3bdd6031d569cd + +handshake=Noise_XKpsk3_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e29da5e10212297d03bea07586a8960e +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660a6c9b67beafadf4560b3ef5e8024902 +msg_2_payload= +msg_2_ciphertext=7e44891d25df444c83119a57b2d12d38ba30c73ae1b3894959bde4a3beddeabd73ad111c22c79bf0b7f5bf854d220e6cae35a1fa0b46e3244bedec61067b3ea0 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=784797cf5ced552a14a2bce97597b2b65d3508f7aeca0bf669b54ffd1b6d71 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=e5d7034b907fdced33489bb43015d216dad917aea17d4c410e24e5e6c0f24f + +handshake=Noise_XK_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540c4e6c2fa1de96ff5794a3f905720f0fa07aa85019d1138cfb87 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e3186922b93e29c4a8f4d1c4e448467cbed9a9a4dd2ec38c1ab4 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=24a819b832ab7a11dd1464c2baf72f2c49e0665757911662ab11495a5fd4437e2a7ab6eac00781f1afcc98a4a72d60deed954c511b2929288a7115b740e75dd4c4eb940229b3abb9dae6 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=e8b0f2fc220f7edc287a91ba45c76f6da1327405789dc61e31a649f57d6d93 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=ed6901a7cd973e880242b047fc86da03b498e8ed8e9838d6f3d107420dfcd9 + +handshake=Noise_XKpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f642fb7c3aae91f49563f6ac1b84370b1c71b22b294ab8fbc0e3 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466744cd29d79ec8af7a4cfe521cfe0f2b373b489b428532ebc08f0 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=2d53813722d086e90ea67567c62e7363b8ac9207c580da580ef863a83ff27bcc1af9bbcbafee583d2692f2dfe82545cd693b7e89832715ec64be608745e0e529c0d90c60e037991dddd4 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=84ae2612b7e30a08826858696ffe58b04409582f7f61a9fd89b8da7436540d +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=1909701a9f7ef6101bd2399cbdb58ce6a2fe375265d1b31599480046a21c40 + +handshake=Noise_XKpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541d470c86e081f6c44d8b73ba2be130caf21500fe997f61f5d5ad +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846641d7543c89c33909dac24b427d715fc5b85633f07b6e1148b976 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=b9cbb82dfbae55029e5f8fde96d8295f8e132adaf171665e7e1e2ae82598eeb32e9e7173605c5adb7581f57cfa5d89d24d2d7e8c228739a46f3fa0fe6261c0ee83b9d083fa913f88221a +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=66909973ba7571691166adc1cba72feaf1870d0fe1a71372421114b227bafb +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=a6113e6302cfedcdc0439a2606a06d1a6f0053306d188a8d0aee1a630a5e15 + +handshake=Noise_XKpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545be852e934eda94d7e61eaf39ea402c8db0c77433a9251cb654f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466aa809bd7a0a842c28f35d10bc7cdfb061053952aaf8482c57e60 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=efe0329519660a84a2a418b869683458a06342db2cd97684000854900aa0274f907ff4a42648255711c7be088ad03d8c09f5ccd0fd217383120ea6a650101e5b09e4478d40bc614c6ad3 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=b9bad622368e64fbacab57ce79a664941d75ff62778de9757ca00f96ac58af +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=5d8a8111907d497e9905d883cfca75175f6bc39d0ae332fd3bdd6031d569cd + +handshake=Noise_XKpsk3_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254313d1c2a3e4aaebf8a13d13077b5d6aa7fd8cd93ada82e139ce9 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663c387e2bc40b834219ff11f5ff429d83c9e01741eaa4435fe3eb +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=7e44891d25df444c83119a57b2d12d38ba30c73ae1b3894959bde4a3beddeabd12aad42cd41d78dae898b163db19600f28c4e2910f865045f0341124d69b9f5b0cd2d2518ef701ce559d +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=784797cf5ced552a14a2bce97597b2b65d3508f7aeca0bf669b54ffd1b6d71 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=e5d7034b907fdced33489bb43015d216dad917aea17d4c410e24e5e6c0f24f + +handshake=Noise_XK_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548d6383ab07befc895d34bfab2c20bb25 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667607d670be43da5c6ecbd567171a0113 +msg_2_payload= +msg_2_ciphertext=24a819b832ab7a11dd1464c2baf72f2c49e0665757911662ab11495a5fd4437e79e34779a2989c930f3b98e0fbc5dc1f059efd8983ccf4319dcdc99374e5d193 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=e8b0f2fc220f7edc287a91ba45c76f6da1327405789dc61e31a649f57d6d93 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=ed6901a7cd973e880242b047fc86da03b498e8ed8e9838d6f3d107420dfcd9 + +handshake=Noise_XKpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546b813fb56423cef52924214450ca79a0 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d81b686856f42a493326b1407010180e +msg_2_payload= +msg_2_ciphertext=2d53813722d086e90ea67567c62e7363b8ac9207c580da580ef863a83ff27bcc5a15b5094d3448614cf0e63d2dda3be9d3ba315f1f1a805c414db06ffe663fbd +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=84ae2612b7e30a08826858696ffe58b04409582f7f61a9fd89b8da7436540d +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=1909701a9f7ef6101bd2399cbdb58ce6a2fe375265d1b31599480046a21c40 + +handshake=Noise_XKpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b32bc1b6ebb0501ed71168bbdeeb9318 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c2e9c14cbb5200d147b6c8f489c05c42 +msg_2_payload= +msg_2_ciphertext=b9cbb82dfbae55029e5f8fde96d8295f8e132adaf171665e7e1e2ae82598eeb3c51ae537252a89cb6ceb1ecf331c89b3190c3517e90bff4ada05101678e8679d +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=66909973ba7571691166adc1cba72feaf1870d0fe1a71372421114b227bafb +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=a6113e6302cfedcdc0439a2606a06d1a6f0053306d188a8d0aee1a630a5e15 + +handshake=Noise_XKpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c75ef7d4eb006f9a21368b1260f350c9 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466539edf21f03d684bfc564ebd12168bc1 +msg_2_payload= +msg_2_ciphertext=efe0329519660a84a2a418b869683458a06342db2cd97684000854900aa0274f593132dee4feea416b20df934a782f8de96321e62cc97693d5bf3521c64717a4 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=b9bad622368e64fbacab57ce79a664941d75ff62778de9757ca00f96ac58af +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=5d8a8111907d497e9905d883cfca75175f6bc39d0ae332fd3bdd6031d569cd + +handshake=Noise_XKpsk3_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254957d3b5c945018bb3bfe5ed1350eadcb +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846664a86c797bdd9e60c061831340fa2afe +msg_2_payload= +msg_2_ciphertext=7e44891d25df444c83119a57b2d12d38ba30c73ae1b3894959bde4a3beddeabd0e05d74b64b68f9da9e4751f6eabac15bfc46a0e4909b3a90f6033848e316060 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=784797cf5ced552a14a2bce97597b2b65d3508f7aeca0bf669b54ffd1b6d71 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=e5d7034b907fdced33489bb43015d216dad917aea17d4c410e24e5e6c0f24f + +handshake=Noise_XK_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540c4e6c2fa1de96ff57949c01e13796236098242159a3226d7efc +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e3186922b93e29c4a8f481bf540b7b9425152ed77d3ac32b6d5f +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=24a819b832ab7a11dd1464c2baf72f2c49e0665757911662ab11495a5fd4437e0fe2fb0506b390ab1e1527e2765e53dbed954c511b2929288a71525a716ce72aa94bca5bb136a6e3f02a +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=e8b0f2fc220f7edc287a91ba45c76f6da1327405789dc61e31a649f57d6d93 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=ed6901a7cd973e880242b047fc86da03b498e8ed8e9838d6f3d107420dfcd9 + +handshake=Noise_XKpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f642fb7c3aae91f49563f25c1b81e11ff9e6d6baaa12f93db4e8 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466744cd29d79ec8af7a4cf81de742a83ee52d471a819e16e3d4a6d +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=2d53813722d086e90ea67567c62e7363b8ac9207c580da580ef863a83ff27bcc4568150efc37962fd4465366a61ebe29693b7e89832715ec64be7037e15af89fa2d1a1b6b34ff222e70f +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=84ae2612b7e30a08826858696ffe58b04409582f7f61a9fd89b8da7436540d +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=1909701a9f7ef6101bd2399cbdb58ce6a2fe375265d1b31599480046a21c40 + +handshake=Noise_XKpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541d470c86e081f6c44d8b89b84f8d57dae2408286970cef550461 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846641d7543c89c33909dac270471bfdfb14c212b05e9e1d89108c3c +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=b9cbb82dfbae55029e5f8fde96d8295f8e132adaf171665e7e1e2ae82598eeb3320cd9243495f571dc2b26a545c13efe4d2d7e8c228739a46f3fce27869ab41e1a1f674f9554ec4fc8be +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=66909973ba7571691166adc1cba72feaf1870d0fe1a71372421114b227bafb +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=a6113e6302cfedcdc0439a2606a06d1a6f0053306d188a8d0aee1a630a5e15 + +handshake=Noise_XKpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545be852e934eda94d7e61afc8c49437cb522881b7b27897ae8443 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466aa809bd7a0a842c28f350858fa12e20248091009ca7e2a5e1470 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=efe0329519660a84a2a418b869683458a06342db2cd97684000854900aa0274f701af0cafe1731d286886a8b99ef51ff09f5ccd0fd217383120e173a10693d93478e668e1f4db49fc09e +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=b9bad622368e64fbacab57ce79a664941d75ff62778de9757ca00f96ac58af +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=5d8a8111907d497e9905d883cfca75175f6bc39d0ae332fd3bdd6031d569cd + +handshake=Noise_XKpsk3_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254313d1c2a3e4aaebf8a13761a0eaa2344e96fa3cf99b0f43756f7 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663c387e2bc40b834219ff7fd28443b5731f8122fee058af7270bd +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=7e44891d25df444c83119a57b2d12d38ba30c73ae1b3894959bde4a3beddeabd5d5617889062645c78eeb9ba04f1a58828c4e2910f865045f03473dcfec07ba5a485641d0cb0c8986388 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=784797cf5ced552a14a2bce97597b2b65d3508f7aeca0bf669b54ffd1b6d71 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=e5d7034b907fdced33489bb43015d216dad917aea17d4c410e24e5e6c0f24f + +handshake=Noise_IK_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544f8445e5dc2467b1e32653192d05dee85c4781bf0dd8d33ceebb5905a7a069f09e0d3f2cad1c842930a762eb75e52827f01d2c85189d527644b3221b4c3fc5cc +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466aabfe2e5b1650bbaa88e33679893fc77 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=226ca869f2777611f37350a7ab446f650c0cfe2855b7f020ce658bcf100f2d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=90d84d69cd44829283b05d684879b53b8d714e51619b601438a1ae67caacd9 + +handshake=Noise_IKpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542723c3e2684abdc13656c8196a8dbd704eae2b5029b57d6f1387e1cf81cf8d968b42ff98eb66e9325f8a9bdf8f16f340c2cdae84d473830429e7d3e4b6731149 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846665a7ee5c74f123200a6d63a482c11412 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=fd57c203d5a1b8ae62c297614b5d71668c52ab4e70c1cbbc52c0538a069ccd +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4cca33eb83505243974e576cbd818c98d3b346ff5c3374fac028ff153a4e9b + +handshake=Noise_IKpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b4a9c4176c417784b1ee28a0f323750682da959b44f9d8e06a07f757567492fa9c485c377303672a2809b5a5bb0f90133dfe4b427300d7bb2519877180db9826 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bd7e6a1364b08460dccf8961a117a93a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4492510a2b642757ad4089fda1333476635f5e8d984d8de917325a480380c8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=1e263d17ead44ed55677c2a12b11a3c9b625d3aa9f128b279cd5e281d5a8d9 + +handshake=Noise_IKpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545bdb2d5031ac09dcb167ccedf2898899c56e3e963e1e707a4df1bed7f3f9594b80af8aa87faa8e0f7b1b9c32a49360cd3dbf48c162520192f875fbe743e38cea +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662a35d5a9542bd4d8d2f2f4f1784e9ba5 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=abbc8826715c00752948d22874560b57dc102dbf6c3dd853037efdd9499ad0 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f80bad7ea7c64490f8123d2728a176c3afb97a59f197c7b1be246b7cd3eb1d + +handshake=Noise_IK_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544f8445e5dc2467b1e32653192d05dee85c4781bf0dd8d33ceebb5905a7a069f09e0d3f2cad1c842930a762eb75e528270337527f958f92050deefa1892482d74328fee90d08201bba3cc +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466cb4a35db52355821787bb891112ba10f4d3dfe08b27d634db8af +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=226ca869f2777611f37350a7ab446f650c0cfe2855b7f020ce658bcf100f2d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=90d84d69cd44829283b05d684879b53b8d714e51619b601438a1ae67caacd9 + +handshake=Noise_IKpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542723c3e2684abdc13656c8196a8dbd704eae2b5029b57d6f1387e1cf81cf8d968b42ff98eb66e9325f8a9bdf8f16f3406cad606d45c38082aaf0636e8e77d36ee0b14bbd18c11b0fc688 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a3cacf615ab82f05d73a4699120208b2e421656f8dcba114854e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=fd57c203d5a1b8ae62c297614b5d71668c52ab4e70c1cbbc52c0538a069ccd +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4cca33eb83505243974e576cbd818c98d3b346ff5c3374fac028ff153a4e9b + +handshake=Noise_IKpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b4a9c4176c417784b1ee28a0f323750682da959b44f9d8e06a07f757567492fa9c485c377303672a2809b5a5bb0f9013363eebbdb99964a60f81048f750a3e578d215067a83d2699d584 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e07ee913ea981e364239c3d829a9b1851d249f6fcd440f660431 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4492510a2b642757ad4089fda1333476635f5e8d984d8de917325a480380c8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=1e263d17ead44ed55677c2a12b11a3c9b625d3aa9f128b279cd5e281d5a8d9 + +handshake=Noise_IKpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545bdb2d5031ac09dcb167ccedf2898899c56e3e963e1e707a4df1bed7f3f9594b80af8aa87faa8e0f7b1b9c32a49360cdd218fc428fc8457cdf1952ae4c8d5ba601f8bf9547bc4e3b5083 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b86d10d43f68d1d0667499f113d9a91c468559a52225e8f34d8c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=abbc8826715c00752948d22874560b57dc102dbf6c3dd853037efdd9499ad0 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f80bad7ea7c64490f8123d2728a176c3afb97a59f197c7b1be246b7cd3eb1d + +handshake=Noise_IK_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544f8445e5dc2467b1e32653192d05dee85c4781bf0dd8d33ceebb5905a7a069f0d6bc97dbce6f8f0ee33d49311a72d0f8c4ef8ef3bc70ccb18fd61ad67dde7eda +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466787857f66c036e974ef9d6335d2ccc5f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=226ca869f2777611f37350a7ab446f650c0cfe2855b7f020ce658bcf100f2d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=90d84d69cd44829283b05d684879b53b8d714e51619b601438a1ae67caacd9 + +handshake=Noise_IKpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542723c3e2684abdc13656c8196a8dbd704eae2b5029b57d6f1387e1cf81cf8d96ae04ae107f5c4eac43b568cb7ee3bb0702cf064b9c887261c27b217dec189ba5 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a5746ea5e335f63000f8f28190f79185 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=fd57c203d5a1b8ae62c297614b5d71668c52ab4e70c1cbbc52c0538a069ccd +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4cca33eb83505243974e576cbd818c98d3b346ff5c3374fac028ff153a4e9b + +handshake=Noise_IKpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b4a9c4176c417784b1ee28a0f323750682da959b44f9d8e06a07f757567492fa875cb562717ab59a6cc44f6b90abbc692e57a72d368bbac4c15f2b26390fca38 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660a90cdf82790ca5709564a1a8ec6bd28 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4492510a2b642757ad4089fda1333476635f5e8d984d8de917325a480380c8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=1e263d17ead44ed55677c2a12b11a3c9b625d3aa9f128b279cd5e281d5a8d9 + +handshake=Noise_IKpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545bdb2d5031ac09dcb167ccedf2898899c56e3e963e1e707a4df1bed7f3f9594b873a288972e606ec27a89d7805c31c4ce0ff7bf1ff67795d842e014a3c8ee6f7 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bb0445e37867bb67c516312c2a21c06f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=abbc8826715c00752948d22874560b57dc102dbf6c3dd853037efdd9499ad0 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f80bad7ea7c64490f8123d2728a176c3afb97a59f197c7b1be246b7cd3eb1d + +handshake=Noise_IK_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544f8445e5dc2467b1e32653192d05dee85c4781bf0dd8d33ceebb5905a7a069f0d6bc97dbce6f8f0ee33d49311a72d0f80337527f958f92050deee33c19777fa17306346367055751bb3f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466cb4a35db52355821787bb67f33957e7809370c44d33538ad5a42 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=226ca869f2777611f37350a7ab446f650c0cfe2855b7f020ce658bcf100f2d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=90d84d69cd44829283b05d684879b53b8d714e51619b601438a1ae67caacd9 + +handshake=Noise_IKpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542723c3e2684abdc13656c8196a8dbd704eae2b5029b57d6f1387e1cf81cf8d96ae04ae107f5c4eac43b568cb7ee3bb076cad606d45c38082aaf08ff5dab57e5a624f16bf3630c2c5f104 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a3cacf615ab82f05d73a50c3841ebf6bba91d1631bb4a33552e6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=fd57c203d5a1b8ae62c297614b5d71668c52ab4e70c1cbbc52c0538a069ccd +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4cca33eb83505243974e576cbd818c98d3b346ff5c3374fac028ff153a4e9b + +handshake=Noise_IKpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b4a9c4176c417784b1ee28a0f323750682da959b44f9d8e06a07f757567492fa875cb562717ab59a6cc44f6b90abbc69363eebbdb99964a60f81d1bdca6741998d3df66cc4c3f7a20991 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e07ee913ea981e364239b86129146a0dcf47f65877606625369d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4492510a2b642757ad4089fda1333476635f5e8d984d8de917325a480380c8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=1e263d17ead44ed55677c2a12b11a3c9b625d3aa9f128b279cd5e281d5a8d9 + +handshake=Noise_IKpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545bdb2d5031ac09dcb167ccedf2898899c56e3e963e1e707a4df1bed7f3f9594b873a288972e606ec27a89d7805c31c4cd218fc428fc8457cdf1976bed363286c0e199a5df2a8dc631f33 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b86d10d43f68d1d06674b4ceee887769c53e3b7a239e76287e1f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=abbc8826715c00752948d22874560b57dc102dbf6c3dd853037efdd9499ad0 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f80bad7ea7c64490f8123d2728a176c3afb97a59f197c7b1be246b7cd3eb1d + +handshake=Noise_XX_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663414af878d3e46a2f58911a816d6e8346d4ea17a6f2a0bb4ef4ed56c133cff4560a34e36ea82109f26cf2e5a5caf992b608d55c747f615e5a3425a7a19eefb8f +msg_2_payload= +msg_2_ciphertext=87f864c11ba449f46a0a4f4e2eacbb7b0457784f4fca1937f572c93603e9c4d97e5ea11b16f3968710b23a3be3202dc1b5e1ce3c963347491e74f5c0768a9b42 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=a52ef02ba60e12696d1d6b9ef4245c88fca757b6134ad6e76b56e310a6adf6 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=2445aa438ebd649281c636cc7269ca82f1d9023d72520943aeabf909cdf521 + +handshake=Noise_XXpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254555f63b2499511e3b299a5649351a5b7 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846622df46c0ac1e0fc71795a84e37cc0e963d131c8e84c02cd5cfcfe8def3fe128b324ab54fd3be59ac143dfdc68996211170078c960e051d6ed971da20bde0fcf1 +msg_2_payload= +msg_2_ciphertext=462127adbe047db3d1fce0581b5447d99b606c591545a7719132e0c91fe93d123be3fe89ffd8af56e02cefda863080ecee5651dcecddde76b8237c66740d7c8f +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=75fff8afebd2f14da1cac9cc5b5201395cdf2ad65f3a97804e360c16f4e2ac +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=150cc85f79f9ca0f0730b8b4707805ed1969ff6b2770a5d466cd2754802805 + +handshake=Noise_XXpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549f27cade2b6f2db14f582e49cfbfc068 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667f0f30704cd806d42849595f4e39d8ace7b1f7ab9c62c9ccaf7284b3d8ce0d88286de6a5c75efd3ada339fd7ba335dee5fe0151a61f7decdabe8fab42d807358 +msg_2_payload= +msg_2_ciphertext=3709db3d2b87c711bdd3ef87e62edd8a2775482a4421a58fb5eeb106861e98d24c021634f68b6fa8a9c2f48161e190714c2a2d90a55d2dc32f33fcbaf5afc67c +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=61eaa2290029bcde241e90efb965beeb7837ec5441928800275670fdb058de +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=ee55ef942191e45cf5bcea014c4a0c71f0780ff6095ff93f467e7a746e264c + +handshake=Noise_XXpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625462f2d89ffb750657573d23edc7c79728 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c9996f0e38eded0281a0f505a4f2473b114924724e374c408b3ba103abc7ffbf72bf9b5f5f37f1a8ee33e4708c1f35d54d93fc2a553004be11b9a6ad56d03f30 +msg_2_payload= +msg_2_ciphertext=4744625f46dfce9240a5b1927393fd862a2520366f4df66de4b75019d201de92f3bd1d11aef54b65374c268c0ec19d34ec1fff795f07ef7065932e5983ee2e84 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=70847317d915af289e3ff17e5d66e4b4b0020d1bd997b8bb17cfa15710db0b +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=ad071b14d700e2789c1251f57e3b1e455e3f3be012d7ab6abce986b536ba21 + +handshake=Noise_XXpsk3_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254648d756cb03de7ad06e87f9a577c00de +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846696a7a5454cc70bb4eec2a2f7c616c143564ff1ae149458f9e70afb3498be7a88c9feda8ece3bb7d846bd57a37fc9cf362b7d090998d862bd82fcf9a19cf154e1 +msg_2_payload= +msg_2_ciphertext=f5b6224ea13577089dc14b20ca8e90d0cedede4faff50348d4d0a0f941182ad787d1e72132665f8402f660af90e07e671606bb5a4931d244dfa6590809fac237 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=5e80fec73b32f6ff466aa5addbc2b16e2cf062f09c36796ecb2efcc35cac99 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=df3c8983cb9f286df65e57d0010dc65eeca3bca44b6b240da8ebf92be581cd + +handshake=Noise_XX_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663414af878d3e46a2f58911a816d6e8346d4ea17a6f2a0bb4ef4ed56c133cff4572e7a2ba5123ac30618b3d205f5c2d17f50cbca216483ac56bcc78e33bf520303278db641e5e731b2e3a +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=87f864c11ba449f46a0a4f4e2eacbb7b0457784f4fca1937f572c93603e9c4d9f27e318e43ba630594c4d08eeb3b36d97c7377a2f4f9144b2f0c8095ad92140505b2ab53eff244b14138 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=a52ef02ba60e12696d1d6b9ef4245c88fca757b6134ad6e76b56e310a6adf6 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=2445aa438ebd649281c636cc7269ca82f1d9023d72520943aeabf909cdf521 + +handshake=Noise_XXpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547f533cf20723ac4407c8e51516d7c7382d8aa777424dba78813d +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846622df46c0ac1e0fc71795a84e37cc0e963d131c8e84c02cd5cfcfe8def3fe128b1146c1820dc4d08bf16b5c682badf2ef2dc6c1642ae7e8ae8c8e1e38a06064341a604c21b70227181c04 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=462127adbe047db3d1fce0581b5447d99b606c591545a7719132e0c91fe93d122132c2cde2bc69209884f77756f265744111b0bfa4fdeb4704a42c7f8750279908327b545416cf81f828 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=75fff8afebd2f14da1cac9cc5b5201395cdf2ad65f3a97804e360c16f4e2ac +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=150cc85f79f9ca0f0730b8b4707805ed1969ff6b2770a5d466cd2754802805 + +handshake=Noise_XXpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625409f815b8eb0dbb46e73f8ce514a7791c712e94ffe307fd7bdd4a +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667f0f30704cd806d42849595f4e39d8ace7b1f7ab9c62c9ccaf7284b3d8ce0d88a5374047a547b592a9391e74bfd6c960d6a978c9e0cba95a40c5c091ef030556a3b10bd4c6c77fd99d75 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=3709db3d2b87c711bdd3ef87e62edd8a2775482a4421a58fb5eeb106861e98d238c8b1696e695be5da9242acf392b5f4bc587962ef21463d1a0691f4042790868d59492e1d9e75a7787e +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=61eaa2290029bcde241e90efb965beeb7837ec5441928800275670fdb058de +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=ee55ef942191e45cf5bcea014c4a0c71f0780ff6095ff93f467e7a746e264c + +handshake=Noise_XXpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544968e874077ca381c1f03927174d090dc0c513b1eae87abbd728 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c9996f0e38eded0281a0f505a4f2473b114924724e374c408b3ba103abc7ffbf8b7a8d7dff4aabdae96b83924c164accf0e6d093aa11303cacf7f18b3898ffa9cf9491aa2cd3174edfca +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=4744625f46dfce9240a5b1927393fd862a2520366f4df66de4b75019d201de92d10c61a7bd2f3d460924354137751a0dd24b1336d8119acacd578c7bd6c02cd1d839990b572e4fd78e8a +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=70847317d915af289e3ff17e5d66e4b4b0020d1bd997b8bb17cfa15710db0b +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=ad071b14d700e2789c1251f57e3b1e455e3f3be012d7ab6abce986b536ba21 + +handshake=Noise_XXpsk3_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254653658a6a90feb6404ce396c157f0cbec50fbaf2015658068d1d +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846696a7a5454cc70bb4eec2a2f7c616c143564ff1ae149458f9e70afb3498be7a885650c9453eb8927a88bd3f8cac964759dde1bfec74551b1f083a60ac9c0c8a1d5e96dedbdc3c38ab235a +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=f5b6224ea13577089dc14b20ca8e90d0cedede4faff50348d4d0a0f941182ad72fbb6b3609cbfa5bc7a578aa8c377e42734c20e3dd6c03cf438ae0fb6d287fa76ca661ba86195afa81c9 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=5e80fec73b32f6ff466aa5addbc2b16e2cf062f09c36796ecb2efcc35cac99 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=df3c8983cb9f286df65e57d0010dc65eeca3bca44b6b240da8ebf92be581cd + +handshake=Noise_XX_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663414af878d3e46a2f58911a816d6e8346d4ea17a6f2a0bb4ef4ed56c133cff4588f043d1e49a3289b1beeab8f96b0551a48cddf9f38b1a12e46c6908644198f3 +msg_2_payload= +msg_2_ciphertext=87f864c11ba449f46a0a4f4e2eacbb7b0457784f4fca1937f572c93603e9c4d95a04fa1f1c41fb3f00d496f242c1e44ce5b749b3d54bf74cea2dad086d601fb6 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=a52ef02ba60e12696d1d6b9ef4245c88fca757b6134ad6e76b56e310a6adf6 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=2445aa438ebd649281c636cc7269ca82f1d9023d72520943aeabf909cdf521 + +handshake=Noise_XXpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625454a218352d64c1f8c239416ccb542aec +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846622df46c0ac1e0fc71795a84e37cc0e963d131c8e84c02cd5cfcfe8def3fe128b58733b0ab529b3f48ed3fbe90840f1a27404f52be696831ccb795d1bdee31d33 +msg_2_payload= +msg_2_ciphertext=462127adbe047db3d1fce0581b5447d99b606c591545a7719132e0c91fe93d12fb91ca67cf72f381bab072bd9e6efef157067416654408489b43ba2fb6173b66 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=75fff8afebd2f14da1cac9cc5b5201395cdf2ad65f3a97804e360c16f4e2ac +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=150cc85f79f9ca0f0730b8b4707805ed1969ff6b2770a5d466cd2754802805 + +handshake=Noise_XXpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254441dc6d59be427b50c47033cb28b1c92 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667f0f30704cd806d42849595f4e39d8ace7b1f7ab9c62c9ccaf7284b3d8ce0d88e1c910791fa4ba183633c2d95c5511f60fe2e339a2e21ec0a6a603fa905d0531 +msg_2_payload= +msg_2_ciphertext=3709db3d2b87c711bdd3ef87e62edd8a2775482a4421a58fb5eeb106861e98d28aff4797b2780ca5d92c6497403bc2b0f953fee8dc7394a793f853dd11a05bac +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=61eaa2290029bcde241e90efb965beeb7837ec5441928800275670fdb058de +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=ee55ef942191e45cf5bcea014c4a0c71f0780ff6095ff93f467e7a746e264c + +handshake=Noise_XXpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e93da98d3dd0111950d413e23d3e1a83 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c9996f0e38eded0281a0f505a4f2473b114924724e374c408b3ba103abc7ffbfe9dfce15c311b11d4afa7fe50516980d178eca6d8594391837b5aab867168be5 +msg_2_payload= +msg_2_ciphertext=4744625f46dfce9240a5b1927393fd862a2520366f4df66de4b75019d201de924ab1208d037ee21e2d2f9cfd17678f49bf474350e7da4ef109e569e66507b8b0 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=70847317d915af289e3ff17e5d66e4b4b0020d1bd997b8bb17cfa15710db0b +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=ad071b14d700e2789c1251f57e3b1e455e3f3be012d7ab6abce986b536ba21 + +handshake=Noise_XXpsk3_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545e4d090b68903a328013b0fa37a209a1 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846696a7a5454cc70bb4eec2a2f7c616c143564ff1ae149458f9e70afb3498be7a886885719af8aa799a244c80558b556ef67ec5874230e5290454ca35afef8df8d3 +msg_2_payload= +msg_2_ciphertext=f5b6224ea13577089dc14b20ca8e90d0cedede4faff50348d4d0a0f941182ad72a09d91f8664f8edfd904cb24e0666f9f40168c1c94b381251b6ca43dad53170 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=5e80fec73b32f6ff466aa5addbc2b16e2cf062f09c36796ecb2efcc35cac99 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=df3c8983cb9f286df65e57d0010dc65eeca3bca44b6b240da8ebf92be581cd + +handshake=Noise_XX_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663414af878d3e46a2f58911a816d6e8346d4ea17a6f2a0bb4ef4ed56c133cff4545958c588d17d6373e0c1dcfa3755d37f50cbca216483ac56bcc98f5095870aa814ba40c08079c11f087 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=87f864c11ba449f46a0a4f4e2eacbb7b0457784f4fca1937f572c93603e9c4d9c1e9a1a313d02b78871cfd178a521a4c7c7377a2f4f9144b2f0ccedc84d379151b466741e4b266db6023 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=a52ef02ba60e12696d1d6b9ef4245c88fca757b6134ad6e76b56e310a6adf6 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=2445aa438ebd649281c636cc7269ca82f1d9023d72520943aeabf909cdf521 + +handshake=Noise_XXpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547f533cf20723ac4407c87f43dc5dc6f6d1867a322a706af81adb +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846622df46c0ac1e0fc71795a84e37cc0e963d131c8e84c02cd5cfcfe8def3fe128b59d623ffc18ae67b1acba43eb87910b02dc6c1642ae7e8ae8c8e861ed15d8d6b65ff99f73d8286cc9819 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=462127adbe047db3d1fce0581b5447d99b606c591545a7719132e0c91fe93d1294b31017013e8ac0a697b42922a5fe204111b0bfa4fdeb4704a4b5492137b40088f810ee4d1a58882e25 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=75fff8afebd2f14da1cac9cc5b5201395cdf2ad65f3a97804e360c16f4e2ac +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=150cc85f79f9ca0f0730b8b4707805ed1969ff6b2770a5d466cd2754802805 + +handshake=Noise_XXpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625409f815b8eb0dbb46e73ff10061ce4f668e7ad525d48d24612e49 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667f0f30704cd806d42849595f4e39d8ace7b1f7ab9c62c9ccaf7284b3d8ce0d887fbc3e2f5ffd90a03e00af190dfee90ad6a978c9e0cba95a40c5af61409fd89acea9efe61cc3c5626453 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=3709db3d2b87c711bdd3ef87e62edd8a2775482a4421a58fb5eeb106861e98d2840ca8244e6063975c878004aa7ee991bc587962ef21463d1a0615316bea7af1a6b102acfd9bc4e8b07e +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=61eaa2290029bcde241e90efb965beeb7837ec5441928800275670fdb058de +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=ee55ef942191e45cf5bcea014c4a0c71f0780ff6095ff93f467e7a746e264c + +handshake=Noise_XXpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544968e874077ca381c1f0127df29420b859cf36b5383c2d8d986b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c9996f0e38eded0281a0f505a4f2473b114924724e374c408b3ba103abc7ffbf8bc919f41c651555a9d4d5809975e676f0e6d093aa11303cacf701682c1dadd3666c1e965a3158618a30 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=4744625f46dfce9240a5b1927393fd862a2520366f4df66de4b75019d201de92891230ebf50cc2d52029ad960d7fa613d24b1336d8119acacd5745ce1ba24faa91d6cf7be217ff6799ad +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=70847317d915af289e3ff17e5d66e4b4b0020d1bd997b8bb17cfa15710db0b +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=ad071b14d700e2789c1251f57e3b1e455e3f3be012d7ab6abce986b536ba21 + +handshake=Noise_XXpsk3_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254653658a6a90feb6404ce2902887f0faf388ff019393d23fd4976 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846696a7a5454cc70bb4eec2a2f7c616c143564ff1ae149458f9e70afb3498be7a886ed5d694d493c5867cb2c232205e46bddde1bfec74551b1f083a86e220331181777ca16a1bad616dff5f +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=f5b6224ea13577089dc14b20ca8e90d0cedede4faff50348d4d0a0f941182ad7e65025d045c6ff1f63a8b63ffe90710e734c20e3dd6c03cf438a6ce9aa9775b05dd5d3b729a9ac78d811 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=5e80fec73b32f6ff466aa5addbc2b16e2cf062f09c36796ecb2efcc35cac99 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=df3c8983cb9f286df65e57d0010dc65eeca3bca44b6b240da8ebf92be581cd + +handshake=Noise_IX_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466baeb82eef5d1debeac9be97240e60145fdad9ac337e2baa15d6854385bd82377fcf6c76dd0c35c7f0584b41c85d1755ee1f64c58f0abf28c8fb79b1c0cd572a6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ef23146b5edecd2339995fe7f8c597ffa673d06b2671a323d881b1c39f5cef +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=9fb1b190c31c93d2822df95c20f1117eb3f4c2999c51d704e855f30458bfb7 + +handshake=Noise_IXpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a5fcb82f22fdab798026f0ccb9a6b6ce96e3facfeae51b2908db5b849c0c78cc9bda6dc05a548079571ea4f597884520ecaf65860091dada12b09c4fd30ebb0c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466661e5bec7e323f7e6117cdeef3622006331b5aad001e33c600478db7b40375e92db6dd6a1dcc1e7e3e32d0d959f2ac8d568d7c482043bf965577f51ca516a3ed +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=74de2cd580b07af1ec00ef46206cf8eabb9cd289c10eee2b37e25978fd7748 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=db8795447bbc6d58b7b3d37814c8c351d8dcbeba8e201c2e5f5af7978d1e32 + +handshake=Noise_IXpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545667d83bcfa7dbb6ee159dde3afffea915ce4084462fc02f7f7dc86c2d338a9877fda5a8ccdda8ad14afbfc2708af4a4b210164cc720e7ec1a915daafebc046a +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f04c5f04c9ae8992c210cb0193a52ae8c081c44f33ab1490df3e3c344eb1457cdf92517e1a679b2db5c4b7c71e3f6ec7452bb6a2cd4d989ac3ca0f1ec97974f4 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b2590aa4f81a2fbc961d60abede55cc6a4a64a40f7bcd1642f0a31daace3fd +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=82b96b24e3c63563ddab16453506322429609077c4182022c6b9ed126e172a + +handshake=Noise_IXpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a4ef04eabc08e997b45b56825904b887b21cd99b04ad3be0304d7f2f81aac60b41283ee452d1546934cac576e8955322e1252e893e3e959ff36ada8319d66a9c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a3ea1d0b422826e11b94b492b338fd5ef4f90d1a91a637e37c10d0ff7df19c2bdd0ced026d6c2a81cd55b68e7ec63f0f8eff1e2c8cc593e2f36ad5b936a2114a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c6623366838f79936add41938a2f31cc6703b7e7cebc2ec958f116a45842ae +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4c84d7d2f82cc2bf54b06aef1e2bf49bec5305d72fb5fd19754a3dce298c74 + +handshake=Noise_IX_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466baeb82eef5d1debeac9be97240e60145fdad9ac337e2baa15d6854385bd823772aaa75c6cb27ba27acecd7fc13321c5b9ddfb64a50666d8ca7cbdf3fba5ccc87407789e701a194fb7074 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ef23146b5edecd2339995fe7f8c597ffa673d06b2671a323d881b1c39f5cef +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=9fb1b190c31c93d2822df95c20f1117eb3f4c2999c51d704e855f30458bfb7 + +handshake=Noise_IXpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a5fcb82f22fdab798026f0ccb9a6b6ce96e3facfeae51b2908db5b849c0c78cc9bda6dc05a548079571ea4f597884520b4de8177eb0303296be6e30ab7d21fecf59931884498725a1dfa +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466661e5bec7e323f7e6117cdeef3622006331b5aad001e33c600478db7b40375e9be6315eee09348312435e12a927633c97ee6317754ea54d27027f3a339474da27661a016ba09d64d389d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=74de2cd580b07af1ec00ef46206cf8eabb9cd289c10eee2b37e25978fd7748 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=db8795447bbc6d58b7b3d37814c8c351d8dcbeba8e201c2e5f5af7978d1e32 + +handshake=Noise_IXpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545667d83bcfa7dbb6ee159dde3afffea915ce4084462fc02f7f7dc86c2d338a9877fda5a8ccdda8ad14afbfc2708af4a4fad9d759fcfb82f875d04a0b6ef6b58b9b8e94892f6f41c64ad7 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f04c5f04c9ae8992c210cb0193a52ae8c081c44f33ab1490df3e3c344eb1457c03cc143af8a7a996dfada325c42dfa443aabe1beb17534cca091197b65ea331e7cdb9846e2d55825db62 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b2590aa4f81a2fbc961d60abede55cc6a4a64a40f7bcd1642f0a31daace3fd +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=82b96b24e3c63563ddab16453506322429609077c4182022c6b9ed126e172a + +handshake=Noise_IXpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a4ef04eabc08e997b45b56825904b887b21cd99b04ad3be0304d7f2f81aac60b41283ee452d1546934cac576e895532296a873828dcafe77b1f902e978dd2aaca2da191591f1ed576d41 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a3ea1d0b422826e11b94b492b338fd5ef4f90d1a91a637e37c10d0ff7df19c2bf798adb221973ad40ff6bce68049acc745ebeb84d712067b160edcf4970d12bda37dbeacc9b95197d871 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c6623366838f79936add41938a2f31cc6703b7e7cebc2ec958f116a45842ae +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4c84d7d2f82cc2bf54b06aef1e2bf49bec5305d72fb5fd19754a3dce298c74 + +handshake=Noise_IX_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466baeb82eef5d1debeac9be97240e60145fdad9ac337e2baa15d6854385bd823773396a0eee6acf05ca7aa5378bf4288454fc680db8e956a38853e04e6014dce60 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ef23146b5edecd2339995fe7f8c597ffa673d06b2671a323d881b1c39f5cef +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=9fb1b190c31c93d2822df95c20f1117eb3f4c2999c51d704e855f30458bfb7 + +handshake=Noise_IXpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a5fcb82f22fdab798026f0ccb9a6b6ce96e3facfeae51b2908db5b849c0c78cc832059e6aa8a847f2d0f96394e935903a7b5bdc38dc307c36c560744dedf674c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466661e5bec7e323f7e6117cdeef3622006331b5aad001e33c600478db7b40375e9fd6d8b2f9574f9ea404a6ecbeb282f8f112e62e65ae0c5117a2409ffdd9c87bd +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=74de2cd580b07af1ec00ef46206cf8eabb9cd289c10eee2b37e25978fd7748 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=db8795447bbc6d58b7b3d37814c8c351d8dcbeba8e201c2e5f5af7978d1e32 + +handshake=Noise_IXpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545667d83bcfa7dbb6ee159dde3afffea915ce4084462fc02f7f7dc86c2d338a98e01aeac3a330e93ed7024c2417abe12b8b941d28126267f9ec338fb268badb92 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f04c5f04c9ae8992c210cb0193a52ae8c081c44f33ab1490df3e3c344eb1457c60a8f15129cf89e14206666494b093758fbe507fcae17bee288b08f9c85ee4eb +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b2590aa4f81a2fbc961d60abede55cc6a4a64a40f7bcd1642f0a31daace3fd +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=82b96b24e3c63563ddab16453506322429609077c4182022c6b9ed126e172a + +handshake=Noise_IXpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a4ef04eabc08e997b45b56825904b887b21cd99b04ad3be0304d7f2f81aac60bee28a96afdcf5ddb9834f24b3adbca9ffb34820535b9ef395d9ec74be0b6c463 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a3ea1d0b422826e11b94b492b338fd5ef4f90d1a91a637e37c10d0ff7df19c2bdf754927b06ad75f9854618fc90be5bfa7832aea81c319f6f370c0ea61c71610 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c6623366838f79936add41938a2f31cc6703b7e7cebc2ec958f116a45842ae +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4c84d7d2f82cc2bf54b06aef1e2bf49bec5305d72fb5fd19754a3dce298c74 + +handshake=Noise_IX_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466baeb82eef5d1debeac9be97240e60145fdad9ac337e2baa15d6854385bd823778a69f5de7c91c7049e8a7deb8f146a4f9ddfb64a50666d8ca7cb72de7c28b6e89745666dda39138f879b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ef23146b5edecd2339995fe7f8c597ffa673d06b2671a323d881b1c39f5cef +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=9fb1b190c31c93d2822df95c20f1117eb3f4c2999c51d704e855f30458bfb7 + +handshake=Noise_IXpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a5fcb82f22fdab798026f0ccb9a6b6ce96e3facfeae51b2908db5b849c0c78cc832059e6aa8a847f2d0f96394e935903b4de8177eb0303296be67e9e3ad1409bd062f3aba1c7c477040b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466661e5bec7e323f7e6117cdeef3622006331b5aad001e33c600478db7b40375e9737c4d6dd044d38d9ffd2dd2dab050917ee6317754ea54d2702741888f20c82d956a7bb993de16de0d14 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=74de2cd580b07af1ec00ef46206cf8eabb9cd289c10eee2b37e25978fd7748 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=db8795447bbc6d58b7b3d37814c8c351d8dcbeba8e201c2e5f5af7978d1e32 + +handshake=Noise_IXpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545667d83bcfa7dbb6ee159dde3afffea915ce4084462fc02f7f7dc86c2d338a98e01aeac3a330e93ed7024c2417abe12bfad9d759fcfb82f875d0c8a2111c403741010bf0636ee681033a +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f04c5f04c9ae8992c210cb0193a52ae8c081c44f33ab1490df3e3c344eb1457c5132a645f88ee1276193c0bcb3c09d433aabe1beb17534cca09105fea7ab6384f007948b20ea8639f0cd +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b2590aa4f81a2fbc961d60abede55cc6a4a64a40f7bcd1642f0a31daace3fd +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=82b96b24e3c63563ddab16453506322429609077c4182022c6b9ed126e172a + +handshake=Noise_IXpsk2_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a4ef04eabc08e997b45b56825904b887b21cd99b04ad3be0304d7f2f81aac60bee28a96afdcf5ddb9834f24b3adbca9f96a873828dcafe77b1f9e3d5a83968ebd8ec79b57e9771a568f5 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a3ea1d0b422826e11b94b492b338fd5ef4f90d1a91a637e37c10d0ff7df19c2b0099aaa3c996f372406528a3a794d3ff45ebeb84d712067b160e85632580c15161e5fa9cc27ac7e74016 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c6623366838f79936add41938a2f31cc6703b7e7cebc2ec958f116a45842ae +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4c84d7d2f82cc2bf54b06aef1e2bf49bec5305d72fb5fd19754a3dce298c74 + +handshake=Noise_N_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625466758477eb5e8e0b273460a89ef8d8bb +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=2e89db912502b14e9dbf21dc062b494ac2e25f2010ba86f246759fdb8bd990 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=505ffc87ec9cca139162b049416af8ca811e7044897d399912f9a139ac65ec + +handshake=Noise_Npsk0_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625404ec6da801ab66f5e59f874f002af309 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=bf4151a9d4b9f4250c91542ee802a0701692a141344edb1ef3e831a8210e1c +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=c1dc8651b5c1d3f4189f858a7972bfd62a4123530c64d4239457fa7e46c10a + +handshake=Noise_Npsk1_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546d32a96bccf7b2b063e7745276a99f6e +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=6b24bc0b584f4ca451495cdddeed74727d03f88fc561227b4cf2486f3bb360 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=60f010c122da08e08781f409477350a6da336e03bf3eb266693b581dd61826 + +handshake=Noise_N_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a703e3bfcc38dbdb465b7d5ded3686008b3ff4c92f20e9fe4b44 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=2e89db912502b14e9dbf21dc062b494ac2e25f2010ba86f246759fdb8bd990 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=505ffc87ec9cca139162b049416af8ca811e7044897d399912f9a139ac65ec + +handshake=Noise_Npsk0_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625457027708cda785ef784def1e032c2ffbbcbed3108edbbb565140 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=bf4151a9d4b9f4250c91542ee802a0701692a141344edb1ef3e831a8210e1c +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=c1dc8651b5c1d3f4189f858a7972bfd62a4123530c64d4239457fa7e46c10a + +handshake=Noise_Npsk1_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625407e786c1a8d1e6880cf0c8ce414c8d2dbf57be2fd7c3152586df +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=6b24bc0b584f4ca451495cdddeed74727d03f88fc561227b4cf2486f3bb360 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=60f010c122da08e08781f409477350a6da336e03bf3eb266693b581dd61826 + +handshake=Noise_N_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625439e0d27ade0e68178eedc32a520154b9 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=2e89db912502b14e9dbf21dc062b494ac2e25f2010ba86f246759fdb8bd990 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=505ffc87ec9cca139162b049416af8ca811e7044897d399912f9a139ac65ec + +handshake=Noise_Npsk0_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c1180d93ec09b5da7a888f7b5b9e9d6e +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=bf4151a9d4b9f4250c91542ee802a0701692a141344edb1ef3e831a8210e1c +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=c1dc8651b5c1d3f4189f858a7972bfd62a4123530c64d4239457fa7e46c10a + +handshake=Noise_Npsk1_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547d8ce635d32999d4ca2bb00175c04248 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=6b24bc0b584f4ca451495cdddeed74727d03f88fc561227b4cf2486f3bb360 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=60f010c122da08e08781f409477350a6da336e03bf3eb266693b581dd61826 + +handshake=Noise_N_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a703e3bfcc38dbdb465bc83726dbcf8aa4764c684931d2985245 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=2e89db912502b14e9dbf21dc062b494ac2e25f2010ba86f246759fdb8bd990 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=505ffc87ec9cca139162b049416af8ca811e7044897d399912f9a139ac65ec + +handshake=Noise_Npsk0_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625457027708cda785ef784de0eed7a36afc2fad22523e691cd155e5 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=bf4151a9d4b9f4250c91542ee802a0701692a141344edb1ef3e831a8210e1c +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=c1dc8651b5c1d3f4189f858a7972bfd62a4123530c64d4239457fa7e46c10a + +handshake=Noise_Npsk1_25519_ChaChaPoly_SHA256 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625407e786c1a8d1e6880cf049f2b82299602ae37ab12f077040a55a +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=6b24bc0b584f4ca451495cdddeed74727d03f88fc561227b4cf2486f3bb360 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=60f010c122da08e08781f409477350a6da336e03bf3eb266693b581dd61826 + +handshake=Noise_K_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254af724161ce8037f690f587990caba741 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=af4b5c9ff0d0b31da602bb6e7153edd095bd37fa83b0a35768d6ac024bc746 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=a5f0b377dfd3489f3f151959508a84f19530d5cb0ea8226f2481f7839d2be5 + +handshake=Noise_Kpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547a2e747346812f333b2884928033af07 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=548e6dc3b25bc8d0916603d1b74d6755aeb9664c5d890466d385e7dc918acb +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=b43de84e2dbaaa14fdec24a4f7cc2dad954be8427ffea5b736d623b75ac878 + +handshake=Noise_Kpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543754db2fc9cc2ef2f59756219f19fdf4 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=8c47be8aaf7c41ae38280e5e38cd42f5c57e55f0bae05b5088c448ca737cac +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=03fac31b503fe58810962b52ddd9ad9fb8ff709d88926115d593bb790be465 + +handshake=Noise_K_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b8cae311a5f3367e2170caf5c7ae0947b49ced8a3b7a99f10460 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=af4b5c9ff0d0b31da602bb6e7153edd095bd37fa83b0a35768d6ac024bc746 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=a5f0b377dfd3489f3f151959508a84f19530d5cb0ea8226f2481f7839d2be5 + +handshake=Noise_Kpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541a844cd1a19651421cc5f0a672d6629f1bcebe5fd2691c65df09 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=548e6dc3b25bc8d0916603d1b74d6755aeb9664c5d890466d385e7dc918acb +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=b43de84e2dbaaa14fdec24a4f7cc2dad954be8427ffea5b736d623b75ac878 + +handshake=Noise_Kpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542e79d636b2cfc26e6d3b795a2db7f448dd03f4a5053d35f31b5e +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=8c47be8aaf7c41ae38280e5e38cd42f5c57e55f0bae05b5088c448ca737cac +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=03fac31b503fe58810962b52ddd9ad9fb8ff709d88926115d593bb790be465 + +handshake=Noise_K_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254061ee6934752ad8113f86fbb135a5833 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=af4b5c9ff0d0b31da602bb6e7153edd095bd37fa83b0a35768d6ac024bc746 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=a5f0b377dfd3489f3f151959508a84f19530d5cb0ea8226f2481f7839d2be5 + +handshake=Noise_Kpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548960d9a2b168215cea4307684febf3a7 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=548e6dc3b25bc8d0916603d1b74d6755aeb9664c5d890466d385e7dc918acb +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=b43de84e2dbaaa14fdec24a4f7cc2dad954be8427ffea5b736d623b75ac878 + +handshake=Noise_Kpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254fffe9d4e3bde9e0560276f13d2c04674 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=8c47be8aaf7c41ae38280e5e38cd42f5c57e55f0bae05b5088c448ca737cac +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=03fac31b503fe58810962b52ddd9ad9fb8ff709d88926115d593bb790be465 + +handshake=Noise_K_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b8cae311a5f3367e21709e6be52d6fd8abf20e2708f50165f7ba +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=af4b5c9ff0d0b31da602bb6e7153edd095bd37fa83b0a35768d6ac024bc746 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=a5f0b377dfd3489f3f151959508a84f19530d5cb0ea8226f2481f7839d2be5 + +handshake=Noise_Kpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541a844cd1a19651421cc510d96aa4ac452dc98839e9311bb36fd9 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=548e6dc3b25bc8d0916603d1b74d6755aeb9664c5d890466d385e7dc918acb +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=b43de84e2dbaaa14fdec24a4f7cc2dad954be8427ffea5b736d623b75ac878 + +handshake=Noise_Kpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542e79d636b2cfc26e6d3b936366095e5a0447b667b6c1ae8d7887 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=8c47be8aaf7c41ae38280e5e38cd42f5c57e55f0bae05b5088c448ca737cac +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=03fac31b503fe58810962b52ddd9ad9fb8ff709d88926115d593bb790be465 + +handshake=Noise_X_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548cccfba3094925ef50f41bb45d6e69936ad15fcba0c3479a46afb577d3459497de729f4d8d615d5886e52f4f888dd49490ed46957206fa937490058feca88e4c +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=2e04749040fde470ab93dda9ca2d7dc69896d0c564d0898755a09830735187 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=11ca4c30bd3b563c23f5a5ae83844d038b1ae8ac7ed4e7e788ad9cdfb56c39 + +handshake=Noise_Xpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546a25d60fc3551b45b422660fc5330a9a9a211a4c015192a4cb45f9e2736c0e75bb78c9f2817412a0d0644ce590aa15f91ed91cc1bf4db059be00aaea12d8ee2e +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=6f84a4ede3160b3464efec0b87051e3555832871ffb6b3f3549461507068cf +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=83ac689c3ac344c2b7fbbaacc8d655c9ff0a1a89458b12ceb4510e80b5f9da + +handshake=Noise_Xpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625433e53e3ef1c689e4802f9453dd73c9402aa8072a810f934f7a466d2ede7d8ca7f8d22e80734349ab2e4fef536d0bc40c860a78498c16248c6d4121c7c68cd5e9 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=131094feaa8cbacb6c348050711162cf8d44b13e8de882c98410e7d3981d51 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=15fcd4e117342b9e651d6ab5048fd549fb38093e21fd369e1c6e630fbe9d24 + +handshake=Noise_X_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548cccfba3094925ef50f41bb45d6e69936ad15fcba0c3479a46afb577d3459497de729f4d8d615d5886e52f4f888dd49486d56a823c51b82cc9bbf955b0358da74bdd0b077ee1f02b887f +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=2e04749040fde470ab93dda9ca2d7dc69896d0c564d0898755a09830735187 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=11ca4c30bd3b563c23f5a5ae83844d038b1ae8ac7ed4e7e788ad9cdfb56c39 + +handshake=Noise_Xpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546a25d60fc3551b45b422660fc5330a9a9a211a4c015192a4cb45f9e2736c0e75bb78c9f2817412a0d0644ce590aa15f961bd13d0da02b4849bacd8ac61dcfa5bef1e7f6befb9ccdb30c1 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=6f84a4ede3160b3464efec0b87051e3555832871ffb6b3f3549461507068cf +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=83ac689c3ac344c2b7fbbaacc8d655c9ff0a1a89458b12ceb4510e80b5f9da + +handshake=Noise_Xpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625433e53e3ef1c689e4802f9453dd73c9402aa8072a810f934f7a466d2ede7d8ca7f8d22e80734349ab2e4fef536d0bc40c425ca4e756799dee05a7ed4e89dfa0920c4a847773f25c044e12 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=131094feaa8cbacb6c348050711162cf8d44b13e8de882c98410e7d3981d51 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=15fcd4e117342b9e651d6ab5048fd549fb38093e21fd369e1c6e630fbe9d24 + +handshake=Noise_X_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548cccfba3094925ef50f41bb45d6e69936ad15fcba0c3479a46afb577d3459497a2b1b0c7f3c1107df1feeb7d2e340fd8d5f49ce97438f6953faa0fd6fa333a9e +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=2e04749040fde470ab93dda9ca2d7dc69896d0c564d0898755a09830735187 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=11ca4c30bd3b563c23f5a5ae83844d038b1ae8ac7ed4e7e788ad9cdfb56c39 + +handshake=Noise_Xpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546a25d60fc3551b45b422660fc5330a9a9a211a4c015192a4cb45f9e2736c0e75f6af9abf7f31d35f75534eac6e1181ed73faa6a26a1c01055d98b0f42b3e70d6 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=6f84a4ede3160b3464efec0b87051e3555832871ffb6b3f3549461507068cf +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=83ac689c3ac344c2b7fbbaacc8d655c9ff0a1a89458b12ceb4510e80b5f9da + +handshake=Noise_Xpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625433e53e3ef1c689e4802f9453dd73c9402aa8072a810f934f7a466d2ede7d8ca79f78c9011a748444af8a1d2ac4beffd3606f6e6109b0940a1b63b3f6d67e62d9 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=131094feaa8cbacb6c348050711162cf8d44b13e8de882c98410e7d3981d51 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=15fcd4e117342b9e651d6ab5048fd549fb38093e21fd369e1c6e630fbe9d24 + +handshake=Noise_X_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548cccfba3094925ef50f41bb45d6e69936ad15fcba0c3479a46afb577d3459497a2b1b0c7f3c1107df1feeb7d2e340fd886d56a823c51b82cc9bbef609fcb249aa5dc6bfae8b03f645e11 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=2e04749040fde470ab93dda9ca2d7dc69896d0c564d0898755a09830735187 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=11ca4c30bd3b563c23f5a5ae83844d038b1ae8ac7ed4e7e788ad9cdfb56c39 + +handshake=Noise_Xpsk0_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546a25d60fc3551b45b422660fc5330a9a9a211a4c015192a4cb45f9e2736c0e75f6af9abf7f31d35f75534eac6e1181ed61bd13d0da02b4849bac05762a942acd1f8196a3e9abd1804c1a +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=6f84a4ede3160b3464efec0b87051e3555832871ffb6b3f3549461507068cf +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=83ac689c3ac344c2b7fbbaacc8d655c9ff0a1a89458b12ceb4510e80b5f9da + +handshake=Noise_Xpsk1_25519_ChaChaPoly_SHA256 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625433e53e3ef1c689e4802f9453dd73c9402aa8072a810f934f7a466d2ede7d8ca79f78c9011a748444af8a1d2ac4beffd3425ca4e756799dee05a737edccc12925ee623b4305c3410a3753 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=131094feaa8cbacb6c348050711162cf8d44b13e8de882c98410e7d3981d51 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=15fcd4e117342b9e651d6ab5048fd549fb38093e21fd369e1c6e630fbe9d24 + +handshake=Noise_NN_25519_ChaChaPoly_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f8006a097c5b557f4464c7b27dbd8e35 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=984f97fa7c1125c40ac0c3bb124e9a60fe179997c677873ab695f7b19ac262 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6826eeac32a5efc75cb0fcbdc9833c4fdcbad4923c77064f83ee7dfbdc288f + +handshake=Noise_NNpsk0_25519_ChaChaPoly_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254974676d1695ef76c90de21fd792bcbbf +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664295530903147b2ef9fa23131d315e89 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0613a33b46a7b58b27aee0341bb301c9ab995009b4cc5184fbb5a8cf7be53d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5cab31d679356097d8d190df5c068dee6e2ba4e4c275fd81e25c019bf65f6d + +handshake=Noise_NNpsk1_25519_ChaChaPoly_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d74b5809b1cc7872a9b81f4042b3e795 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660541a69fa4c2c12112d7506b314c7c3f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=abf9e02663066047949fc2b5618d5ac5e2c078cdb011b7ed7a8f97aa4436b0 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d85667b02a4a35a2c701afbca632f1c94741b2fc3345220d6b74af80134ca9 + +handshake=Noise_NNpsk2_25519_ChaChaPoly_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254aaf57bcc7f1092854b42b9d236a4c004 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466159739894d9652a3509deb14b3a10299 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=be2eff0ceb13ed28f46bd59b64b8acb937ada777ee557f6147111e9fbc5d25 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=79c9684daee2cdbf5117ccd166e2da4ef6bfd9c7babc9ab75e5d3665518cbd + +handshake=Noise_NN_25519_ChaChaPoly_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466114578170ac333f0a403ad4d13e744e5040f7f860764f72ede92 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=984f97fa7c1125c40ac0c3bb124e9a60fe179997c677873ab695f7b19ac262 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6826eeac32a5efc75cb0fcbdc9833c4fdcbad4923c77064f83ee7dfbdc288f + +handshake=Noise_NNpsk0_25519_ChaChaPoly_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541c2a9acfae038fa688b36a860ce3cab6de204e5286be35d42db1 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846633d99a5f182be11e1105b85168c151b4b5551d5ef3ade5e59ce2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0613a33b46a7b58b27aee0341bb301c9ab995009b4cc5184fbb5a8cf7be53d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5cab31d679356097d8d190df5c068dee6e2ba4e4c275fd81e25c019bf65f6d + +handshake=Noise_NNpsk1_25519_ChaChaPoly_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541686d22f6e5298997dc0c473114ab1dc6e02dc2355872726df0e +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466402b1ffabe29fc69e1daad0ecafe3a6282d4ad0aeb7ee6625e2c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=abf9e02663066047949fc2b5618d5ac5e2c078cdb011b7ed7a8f97aa4436b0 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d85667b02a4a35a2c701afbca632f1c94741b2fc3345220d6b74af80134ca9 + +handshake=Noise_NNpsk2_25519_ChaChaPoly_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b3a376dcfce9e9147a0616a720fd3172ecb619f17eccdc9005ab +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846693b56fc7a048915c8251b5382ce54df64c1d362e477150d6a07b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=be2eff0ceb13ed28f46bd59b64b8acb937ada777ee557f6147111e9fbc5d25 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=79c9684daee2cdbf5117ccd166e2da4ef6bfd9c7babc9ab75e5d3665518cbd + +handshake=Noise_NN_25519_ChaChaPoly_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667cc7b2813fbd918f730af3e151d18ebc +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=984f97fa7c1125c40ac0c3bb124e9a60fe179997c677873ab695f7b19ac262 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6826eeac32a5efc75cb0fcbdc9833c4fdcbad4923c77064f83ee7dfbdc288f + +handshake=Noise_NNpsk0_25519_ChaChaPoly_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c6e9ea5266f8fe353cd01f932b2a7804 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466dbb235f1ab9dc24f035f317418338415 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0613a33b46a7b58b27aee0341bb301c9ab995009b4cc5184fbb5a8cf7be53d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5cab31d679356097d8d190df5c068dee6e2ba4e4c275fd81e25c019bf65f6d + +handshake=Noise_NNpsk1_25519_ChaChaPoly_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ee047aa2f9f98eabb4e2e09bb1970c42 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466241ec162167033e63b0abca7874e3355 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=abf9e02663066047949fc2b5618d5ac5e2c078cdb011b7ed7a8f97aa4436b0 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d85667b02a4a35a2c701afbca632f1c94741b2fc3345220d6b74af80134ca9 + +handshake=Noise_NNpsk2_25519_ChaChaPoly_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625451990afd47d5cff7607df29d7e08b05c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663bf1d1f0f5c435b3018b3c8ba0a625c1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=be2eff0ceb13ed28f46bd59b64b8acb937ada777ee557f6147111e9fbc5d25 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=79c9684daee2cdbf5117ccd166e2da4ef6bfd9c7babc9ab75e5d3665518cbd + +handshake=Noise_NN_25519_ChaChaPoly_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466114578170ac333f0a4036ded1f916a042a8b557f6b850f608d5f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=984f97fa7c1125c40ac0c3bb124e9a60fe179997c677873ab695f7b19ac262 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6826eeac32a5efc75cb0fcbdc9833c4fdcbad4923c77064f83ee7dfbdc288f + +handshake=Noise_NNpsk0_25519_ChaChaPoly_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541c2a9acfae038fa688b361ef2dab5318ec6e764eeaeb60312d9b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846633d99a5f182be11e11056d6f69deb26bfc780001cca9428c875d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0613a33b46a7b58b27aee0341bb301c9ab995009b4cc5184fbb5a8cf7be53d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5cab31d679356097d8d190df5c068dee6e2ba4e4c275fd81e25c019bf65f6d + +handshake=Noise_NNpsk1_25519_ChaChaPoly_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541686d22f6e5298997dc08d43269f7d5bae51225e05e672adaef1 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466402b1ffabe29fc69e1da4133d3c9e013bc17c3e78f908ce4c654 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=abf9e02663066047949fc2b5618d5ac5e2c078cdb011b7ed7a8f97aa4436b0 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d85667b02a4a35a2c701afbca632f1c94741b2fc3345220d6b74af80134ca9 + +handshake=Noise_NNpsk2_25519_ChaChaPoly_SHA512 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b3a376dcfce9e9147a06727bb95b42b46c2791a6e07c1824a5af +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846693b56fc7a048915c8251fd399101582872eab051fbe3bc3ef39c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=be2eff0ceb13ed28f46bd59b64b8acb937ada777ee557f6147111e9fbc5d25 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=79c9684daee2cdbf5117ccd166e2da4ef6bfd9c7babc9ab75e5d3665518cbd + +handshake=Noise_KN_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a05b47c8265d4ab0222de8450c1a67fc +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7f3c9fbbd304f284cbf067f089801a6cbdefa9ec68ce8a186b3ec6198eff1b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e4508095fd5fa73c415d881b7b7b5519a522c358eaee583f65379a82746c72 + +handshake=Noise_KNpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a605358c47ddb81dd2a4c82b4c275e2d +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ce6754e492246db11d29b0ebfd513bc4 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=216cfab041942d740699e1d9b13b70be15efd1842776ae8bbbcff63e5ab6f3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4f390f1ed96ab34cc1ad8e419f44afb39d6c152556d04fd8285e16480f4542 + +handshake=Noise_KNpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541786642ee04970b496f2d5463b0aabb0 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846647a2b31a6688efaff36c8fa66ee16eac +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d71742981c22266f55a203db331274afe42f2fcbb53cd54743f0eb4b09112b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=896562cb84ade13be47e2cd28b0244f4006df84781d971b8ddd0383395adc0 + +handshake=Noise_KNpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625490b21825eee9e45abc6ff262aca6e634 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846684e4d22747f1a8b988b94cb283b34885 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=bfe4815658302d4f593705a806e1102e3a2a0a36dc847aa612586a035edaa3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=dc23a01b665cafc7c1baafeda8e705ee9e0f8a0f1f4c9b89814cb747274c08 + +handshake=Noise_KN_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ac57ebc5143d3134c5674a209111f914f49e33f0c29b6e232822 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7f3c9fbbd304f284cbf067f089801a6cbdefa9ec68ce8a186b3ec6198eff1b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e4508095fd5fa73c415d881b7b7b5519a522c358eaee583f65379a82746c72 + +handshake=Noise_KNpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543cd51e47fb9aa475e18e123b157d4e9ee222e358cc22e19916a3 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846647dfb3375c1e7beabafacf5cd875d25dbfbe5d5fd5762503b6cc +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=216cfab041942d740699e1d9b13b70be15efd1842776ae8bbbcff63e5ab6f3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4f390f1ed96ab34cc1ad8e419f44afb39d6c152556d04fd8285e16480f4542 + +handshake=Noise_KNpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543fb5766cc4bc875a8c94708eed1c40bad1376f555482ee213c4c +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466eeb430d11573629ee9f48689ee97e44a23404b52878c01f8129d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d71742981c22266f55a203db331274afe42f2fcbb53cd54743f0eb4b09112b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=896562cb84ade13be47e2cd28b0244f4006df84781d971b8ddd0383395adc0 + +handshake=Noise_KNpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254033b7a5813ca73b834666f8c07644ac14f8bccffe995d2ded587 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c95ee12179a4d001f6e0beb00425609cf2cd7a7f17766a623f53 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=bfe4815658302d4f593705a806e1102e3a2a0a36dc847aa612586a035edaa3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=dc23a01b665cafc7c1baafeda8e705ee9e0f8a0f1f4c9b89814cb747274c08 + +handshake=Noise_KN_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669d58ab3ea3c810e67a9e0bc3f8b31cad +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7f3c9fbbd304f284cbf067f089801a6cbdefa9ec68ce8a186b3ec6198eff1b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e4508095fd5fa73c415d881b7b7b5519a522c358eaee583f65379a82746c72 + +handshake=Noise_KNpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254028d29d14a56c53b7db28781e4b8e0ec +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669ce4da10e934ba7a166a6518c4d9fd18 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=216cfab041942d740699e1d9b13b70be15efd1842776ae8bbbcff63e5ab6f3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4f390f1ed96ab34cc1ad8e419f44afb39d6c152556d04fd8285e16480f4542 + +handshake=Noise_KNpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625413e83f08edd08acd29015742d043f59b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466cab3cb9abaebcd0b566d2d3fdc38039a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d71742981c22266f55a203db331274afe42f2fcbb53cd54743f0eb4b09112b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=896562cb84ade13be47e2cd28b0244f4006df84781d971b8ddd0383395adc0 + +handshake=Noise_KNpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625493a48efb4ac89aafa2eba5be4722b098 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846639b3e3cb2a7a8813f232329758728863 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=bfe4815658302d4f593705a806e1102e3a2a0a36dc847aa612586a035edaa3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=dc23a01b665cafc7c1baafeda8e705ee9e0f8a0f1f4c9b89814cb747274c08 + +handshake=Noise_KN_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ac57ebc5143d3134c567adc45d5a0da7645b723d3653a951aa1a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7f3c9fbbd304f284cbf067f089801a6cbdefa9ec68ce8a186b3ec6198eff1b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e4508095fd5fa73c415d881b7b7b5519a522c358eaee583f65379a82746c72 + +handshake=Noise_KNpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543cd51e47fb9aa475e18e4b5ca06c89b89d86120b3a6925871f0b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846647dfb3375c1e7beabafaaf3082b2bafc8456a2751912500c2a3a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=216cfab041942d740699e1d9b13b70be15efd1842776ae8bbbcff63e5ab6f3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4f390f1ed96ab34cc1ad8e419f44afb39d6c152556d04fd8285e16480f4542 + +handshake=Noise_KNpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543fb5766cc4bc875a8c94660ba2bf08b944693946e4d1842d6003 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466eeb430d11573629ee9f4be8a75aae8683f5d5e87a90e4581f68e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d71742981c22266f55a203db331274afe42f2fcbb53cd54743f0eb4b09112b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=896562cb84ade13be47e2cd28b0244f4006df84781d971b8ddd0383395adc0 + +handshake=Noise_KNpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254033b7a5813ca73b83466231a71a631b5aaa173c4529f435385b7 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c95ee12179a4d001f6e0b2073ec8b7c064daad044fdc8e3f9f2a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=bfe4815658302d4f593705a806e1102e3a2a0a36dc847aa612586a035edaa3 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=dc23a01b665cafc7c1baafeda8e705ee9e0f8a0f1f4c9b89814cb747274c08 + +handshake=Noise_NK_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541ae9c9a6658068e796f1609d0738cf24 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666a553cbfe29b06c54b679290a63b357e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e81871e9c00f0153758cddbae509bd548b0f5a02eab4751107842ef6b6a93c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=16cbc8684ec246d78a72c6421aa737ed4441ac751cdd4510617decffe89dfd + +handshake=Noise_NKpsk0_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254098cdd7308257dd69233ab7d725ee8bc +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668edb3682137234dad14a8b4c8866e03d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7cb6cbbbddfefdc4d030ab94ab2aab13422ef4d87e054a08bb10da446c6f36 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e3926ab002f3c5051150d49e11388040a8397644b461aed00fad63e8023241 + +handshake=Noise_NKpsk1_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254cbd6c6755faedda9da18ea3a14dbb128 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664c48eb806966bdd24e98fe421b3d4815 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=1193e531aed0c1f9c475668bc5420beb3ee15f3520931d4a283185763289fa +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d4b9ff958655454654452cfc613b0b9a7fd7dac8aae5f1f0382edba43b0d1a + +handshake=Noise_NKpsk2_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625486bf3bfeb6861b365528620b68992d7b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668acd99b4cbc7ce0c14ff2be16afc02bf +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=65fd72393fd5065a54fa40313eaf8b7a052631aaf3f7368622f909aff8f4e8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=28de903b3a3f50fd29d23549b726ddeb4c16f7db17c1757b4dd8d54ecfd8a2 + +handshake=Noise_NK_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625490f8f004794122bca779d9bedcc39b7bfb88883f6a56029320aa +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e93b0314d9d7741d4e27466c0dd7656cf06185f352ffe422a67d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e81871e9c00f0153758cddbae509bd548b0f5a02eab4751107842ef6b6a93c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=16cbc8684ec246d78a72c6421aa737ed4441ac751cdd4510617decffe89dfd + +handshake=Noise_NKpsk0_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254686ba4c18195ad7d41e9992316453c355d139541985ab5a3966f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d153be7723be9f8b575546cf935485ad9ab67635c3570d782a7a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7cb6cbbbddfefdc4d030ab94ab2aab13422ef4d87e054a08bb10da446c6f36 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e3926ab002f3c5051150d49e11388040a8397644b461aed00fad63e8023241 + +handshake=Noise_NKpsk1_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254210d5de7949ae573f825864efec44aec7e75233f354d162612d0 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c58fd6fcb9ef1553a6b2f2800aeb72958e3cc8bbb74a7d21b9b2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=1193e531aed0c1f9c475668bc5420beb3ee15f3520931d4a283185763289fa +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d4b9ff958655454654452cfc613b0b9a7fd7dac8aae5f1f0382edba43b0d1a + +handshake=Noise_NKpsk2_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541c009a07ab83cf19c6e7f8cdce6b7810b8fd94271ebe94286d91 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ef6e6049aca18b319ec85d018f1abc9f9b886f0291177f84af35 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=65fd72393fd5065a54fa40313eaf8b7a052631aaf3f7368622f909aff8f4e8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=28de903b3a3f50fd29d23549b726ddeb4c16f7db17c1757b4dd8d54ecfd8a2 + +handshake=Noise_NK_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e84c76e8c7b65cb632b4b7e044462340 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665e44b83033cf4b6c0632338348ba3010 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e81871e9c00f0153758cddbae509bd548b0f5a02eab4751107842ef6b6a93c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=16cbc8684ec246d78a72c6421aa737ed4441ac751cdd4510617decffe89dfd + +handshake=Noise_NKpsk0_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254078dc0cb4f3e257498b0326b749ed738 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846611a2822f0742f8b8d78d49e4826d4768 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7cb6cbbbddfefdc4d030ab94ab2aab13422ef4d87e054a08bb10da446c6f36 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e3926ab002f3c5051150d49e11388040a8397644b461aed00fad63e8023241 + +handshake=Noise_NKpsk1_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e2f9cfc860db48368e8e7b088ac14ac9 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663518375638c3a6f8b52d108e2eca0c65 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=1193e531aed0c1f9c475668bc5420beb3ee15f3520931d4a283185763289fa +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d4b9ff958655454654452cfc613b0b9a7fd7dac8aae5f1f0382edba43b0d1a + +handshake=Noise_NKpsk2_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625492ab9d1af417323e2bc1b5d5ab5a9795 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846626b056d1f03521f4218c4e423a14182b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=65fd72393fd5065a54fa40313eaf8b7a052631aaf3f7368622f909aff8f4e8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=28de903b3a3f50fd29d23549b726ddeb4c16f7db17c1757b4dd8d54ecfd8a2 + +handshake=Noise_NK_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625490f8f004794122bca7798750ae0cdabd48361711c1194a3a80ac +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e93b0314d9d7741d4e27e87d0ce6e3fe0f2b2b1c073a577dde57 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e81871e9c00f0153758cddbae509bd548b0f5a02eab4751107842ef6b6a93c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=16cbc8684ec246d78a72c6421aa737ed4441ac751cdd4510617decffe89dfd + +handshake=Noise_NKpsk0_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254686ba4c18195ad7d41e9353c11fdf8f2db2246391ecb8dd0fdf1 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d153be7723be9f8b575534d2a1f435076015a844d771ca0cf06b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7cb6cbbbddfefdc4d030ab94ab2aab13422ef4d87e054a08bb10da446c6f36 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e3926ab002f3c5051150d49e11388040a8397644b461aed00fad63e8023241 + +handshake=Noise_NKpsk1_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254210d5de7949ae573f825ac5a5aebcfe6558f9de711f803dca24a +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c58fd6fcb9ef1553a6b208182eca4927db5b6ebede70e11c926f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=1193e531aed0c1f9c475668bc5420beb3ee15f3520931d4a283185763289fa +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d4b9ff958655454654452cfc613b0b9a7fd7dac8aae5f1f0382edba43b0d1a + +handshake=Noise_NKpsk2_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541c009a07ab83cf19c6e7468cbd4dd5693d61810307b3a1037ca2 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ef6e6049aca18b319ec8175c93ded5a053ed7324261bb7944cee +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=65fd72393fd5065a54fa40313eaf8b7a052631aaf3f7368622f909aff8f4e8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=28de903b3a3f50fd29d23549b726ddeb4c16f7db17c1757b4dd8d54ecfd8a2 + +handshake=Noise_KK_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625422ed6d5d012d0c7b8b7c91b303b2eeaa +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667db7a98eb9c50939d9d424becba2cfe4 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0dc5775f180ebbca24ba2dbedf7df763974789fffe201a7158f92c61c21e56 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=94573c8b800345c65607ec7bd2244bcd871c8e73247b6835ad35334257460c + +handshake=Noise_KKpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625435c738ecdc74a3da8ba56685cbda15fb +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e6f50e396f3bfa2a91db76cf3550b57a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=cb7d802310849d2cbcb2bf628d5b5be8694cff1cd9d9fe4d88270315550664 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8c51f3b2a7bdef2910114236378b9d97d5b0a5054f3e6e0b93d9ba1439a314 + +handshake=Noise_KKpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542aa38a5f7583c960333ffdb92f005d72 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b3a625b74b537cdd5581ca17b2d20c91 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=14e6e930733e777341e6bb7ec522f24f7aff05b125bf49d45b5150d2c8eee8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=39a6c784e7e5f91d33ba6200a4bfb333e9e5d5974e89b8c92f7cca58641e98 + +handshake=Noise_KKpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ac287025515a5ec183f396ac7626bceb +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466680cff1a53276ab7f03431d5fe2ddf49 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=1ee2a40d2d547aa1ecff9085d876d61bef6d5faa010db3e983313e28a84176 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=022620f1e6e067f7af42f407df7b37bfe24da7a7d79d91f3d3278bee00809f + +handshake=Noise_KK_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625439201e9eaf437b4be19b1452073cf37e9fad03973780eb051f13 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669d683ff6a052688a4bf54d599e036fb4cf5d8c4fe35628270a9a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0dc5775f180ebbca24ba2dbedf7df763974789fffe201a7158f92c61c21e56 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=94573c8b800345c65607ec7bd2244bcd871c8e73247b6835ad35334257460c + +handshake=Noise_KKpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c7d83c70d4f86e56a84f48e3f71d9451d09c606773101e89a3fa +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662d99936cb48465009334c1afddb55f62072449be590183a496b7 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=cb7d802310849d2cbcb2bf628d5b5be8694cff1cd9d9fe4d88270315550664 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8c51f3b2a7bdef2910114236378b9d97d5b0a5054f3e6e0b93d9ba1439a314 + +handshake=Noise_KKpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625428bddcbf220404e1f3344e37fae6b2b658565e8322fde73aae4a +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b6be75c4a8160a18b20eafa7a5919dbc8dab95aa27d4604038ec +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=14e6e930733e777341e6bb7ec522f24f7aff05b125bf49d45b5150d2c8eee8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=39a6c784e7e5f91d33ba6200a4bfb333e9e5d5974e89b8c92f7cca58641e98 + +handshake=Noise_KKpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254dcbb401e89f43c8af94bbdf465fb33a6d47244a2b418f7946bf4 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466766cf40c486fe6860ad473d82a2500671ef59ee6cd2096af1427 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=1ee2a40d2d547aa1ecff9085d876d61bef6d5faa010db3e983313e28a84176 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=022620f1e6e067f7af42f407df7b37bfe24da7a7d79d91f3d3278bee00809f + +handshake=Noise_KK_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546100613cdbb5fe7b350dc52dba01d51c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846613f7bc06352a6a111cf882cbb90fb733 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0dc5775f180ebbca24ba2dbedf7df763974789fffe201a7158f92c61c21e56 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=94573c8b800345c65607ec7bd2244bcd871c8e73247b6835ad35334257460c + +handshake=Noise_KKpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254186a15c02343bc4dd83d048fa63f5304 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665e19c67762e245b10dd4f42441152693 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=cb7d802310849d2cbcb2bf628d5b5be8694cff1cd9d9fe4d88270315550664 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8c51f3b2a7bdef2910114236378b9d97d5b0a5054f3e6e0b93d9ba1439a314 + +handshake=Noise_KKpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254aafd5f671a619fdf23e78fdde0739a99 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846608923bb663020fcbd98f46f96b19838e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=14e6e930733e777341e6bb7ec522f24f7aff05b125bf49d45b5150d2c8eee8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=39a6c784e7e5f91d33ba6200a4bfb333e9e5d5974e89b8c92f7cca58641e98 + +handshake=Noise_KKpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b612c908afa3994b259f7bbe6f61d48b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660200b1bebc05ec930091302b462ee495 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=1ee2a40d2d547aa1ecff9085d876d61bef6d5faa010db3e983313e28a84176 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=022620f1e6e067f7af42f407df7b37bfe24da7a7d79d91f3d3278bee00809f + +handshake=Noise_KK_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625439201e9eaf437b4be19be0e1fd46345e956541b7a79bedfc0a44 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669d683ff6a052688a4bf5d08f5e907b60839eaf900ab19faff7b3 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0dc5775f180ebbca24ba2dbedf7df763974789fffe201a7158f92c61c21e56 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=94573c8b800345c65607ec7bd2244bcd871c8e73247b6835ad35334257460c + +handshake=Noise_KKpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c7d83c70d4f86e56a84f27bf60c3bd52c62f0ee0b8dd9fc54d94 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662d99936cb484650093346699bf1d8c0806c839532d2d8ab258d1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=cb7d802310849d2cbcb2bf628d5b5be8694cff1cd9d9fe4d88270315550664 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8c51f3b2a7bdef2910114236378b9d97d5b0a5054f3e6e0b93d9ba1439a314 + +handshake=Noise_KKpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625428bddcbf220404e1f3342045d5a40b989d199aea6a10b95443af +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b6be75c4a8160a18b20ed33cc111a2da1ba4ad020106b496a765 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=14e6e930733e777341e6bb7ec522f24f7aff05b125bf49d45b5150d2c8eee8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=39a6c784e7e5f91d33ba6200a4bfb333e9e5d5974e89b8c92f7cca58641e98 + +handshake=Noise_KKpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254dcbb401e89f43c8af94bc27709f8e7ea9d2baeacbe96f51e4d92 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466766cf40c486fe6860ad4ed44c066c8102966ab34d3e295b04ebe +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=1ee2a40d2d547aa1ecff9085d876d61bef6d5faa010db3e983313e28a84176 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=022620f1e6e067f7af42f407df7b37bfe24da7a7d79d91f3d3278bee00809f + +handshake=Noise_NX_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846646b94b876aef590a75654b6ad3759d4a2b887f24780015b9f52dce3318747d1421273ee37fab11ec0e19b97e016019eba398fd0234f4f397c37869498760e015 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b5d17fa3d357b71df323fb36fe9468c8b8231d52687d3ab34e943d5176559f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=9604b7d4aeb5d2d669004203e5ea36a496185d60aa484d843de5ce6504fcf2 + +handshake=Noise_NXpsk0_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625486484f9dc39cfcb069ca0a6b4fb53898 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466073c7b8893efddc83a6550268f1f2b58b810514f8ceb8839db90f8bd9c2d88e8839bdfbf351f047acabb381fb6432cc1098d42a95e5226dd40e64b67fa0d021f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b29d746b8d07a50fb43cde476703b870b5d9ef75e760dbb38548ff5449b74b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=575261f1aece9f5960ed5e51ecafb480adef5c1b681509cc73270b63b0cc58 + +handshake=Noise_NXpsk1_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b9f6b397b7e8f8dc1bc7e73b0c61286f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466df854f551297c8c948841769640157bb0a68e959679f8956f3f078956be2c39c8de3427a96c0db5628e54857e7e316efc2d4ea29d8ecd50c31bd439f99a75736 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d1dcb9b1e4dbba2386624a124bb1539e391e890c463a8940127ae765eb6aee +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6334f69a2c9bcf6c7c1aff16f653da4b241ce641ebb859f456923670bd0c35 + +handshake=Noise_NXpsk2_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547bc9eeadef9d1cd0dbc4a06e004c06b6 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e758b813c78910a7246ba02fa2bf78f1f91df195e41d33fd94c03e51aa35750983a79f279c5845431d6ec30e9122d07d1b1a2f219ef8ff8fe043ca9e6e8e0f2e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e8e98a23dc6de8edee0529f80f7d14be0774f42c6d90fbc56d0d5d27b9c207 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=9de92b1e88a0cb7794854160cae0f948c366287194e571c8e0922554cb78bb + +handshake=Noise_NX_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846646b94b876aef590a75654b6ad3759d4a2b887f24780015b9f52dce3318747d14fe963b90ba2e278d62c50e22832a691765f20777ea751a010257b1616a6de3043e332e8e891e5d4afdeb +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b5d17fa3d357b71df323fb36fe9468c8b8231d52687d3ab34e943d5176559f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=9604b7d4aeb5d2d669004203e5ea36a496185d60aa484d843de5ce6504fcf2 + +handshake=Noise_NXpsk0_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541b57ff52600948c125f4a5c4d387d7cef809d8036fd40ed2e108 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466073c7b8893efddc83a6550268f1f2b58b810514f8ceb8839db90f8bd9c2d88e8b4a4972b01bd3a29057bd6f1e9e5b90570f6cb66d26bb6164e544dc248a26347b3c7f87d473ee01ba434 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b29d746b8d07a50fb43cde476703b870b5d9ef75e760dbb38548ff5449b74b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=575261f1aece9f5960ed5e51ecafb480adef5c1b681509cc73270b63b0cc58 + +handshake=Noise_NXpsk1_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f512badfe5247731af42e55b1324f361c190926302ffdbc1eef7 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466df854f551297c8c948841769640157bb0a68e959679f8956f3f078956be2c39c940b3d894e4d2f72db33c47e6355d445f4b4456e5d2ea966b4bf8bcdb5dfe2c29aa68488b3f82d5526d7 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d1dcb9b1e4dbba2386624a124bb1539e391e890c463a8940127ae765eb6aee +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6334f69a2c9bcf6c7c1aff16f653da4b241ce641ebb859f456923670bd0c35 + +handshake=Noise_NXpsk2_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547664a776a6da240a65ab7b2c75ed4cd21f507d1d609e65f11a74 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e758b813c78910a7246ba02fa2bf78f1f91df195e41d33fd94c03e51aa357509868f2beb823e19c97840ee2171198d4c02d416c7ca47cee015daa374cc9074a2c53a48a516d5f467572b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e8e98a23dc6de8edee0529f80f7d14be0774f42c6d90fbc56d0d5d27b9c207 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=9de92b1e88a0cb7794854160cae0f948c366287194e571c8e0922554cb78bb + +handshake=Noise_NX_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846646b94b876aef590a75654b6ad3759d4a2b887f24780015b9f52dce3318747d1480c897964b162ef9638256026c093979aa00d4334a90f1ec65206e5102364b7e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b5d17fa3d357b71df323fb36fe9468c8b8231d52687d3ab34e943d5176559f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=9604b7d4aeb5d2d669004203e5ea36a496185d60aa484d843de5ce6504fcf2 + +handshake=Noise_NXpsk0_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548cc277e07714f923bddfbe134b7cdcb7 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466073c7b8893efddc83a6550268f1f2b58b810514f8ceb8839db90f8bd9c2d88e89d03c776cd7ec28d70e84e6c387ef70b0e46454c8b950550860815a2ee213171 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b29d746b8d07a50fb43cde476703b870b5d9ef75e760dbb38548ff5449b74b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=575261f1aece9f5960ed5e51ecafb480adef5c1b681509cc73270b63b0cc58 + +handshake=Noise_NXpsk1_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254aabe871c6705c33c5e6812e239569c08 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466df854f551297c8c948841769640157bb0a68e959679f8956f3f078956be2c39cd24b6200d5fbe33debec8cbb3a4a266b69ef965c80b1a345caac03508e6a462f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d1dcb9b1e4dbba2386624a124bb1539e391e890c463a8940127ae765eb6aee +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6334f69a2c9bcf6c7c1aff16f653da4b241ce641ebb859f456923670bd0c35 + +handshake=Noise_NXpsk2_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545fb3c95fcffb1e687a983bf52c73e46e +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e758b813c78910a7246ba02fa2bf78f1f91df195e41d33fd94c03e51aa3575090102a531c19850c4c0a6e9e7831a97553a0c85ba8f73d9e895f7af081c5a2d20 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e8e98a23dc6de8edee0529f80f7d14be0774f42c6d90fbc56d0d5d27b9c207 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=9de92b1e88a0cb7794854160cae0f948c366287194e571c8e0922554cb78bb + +handshake=Noise_NX_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846646b94b876aef590a75654b6ad3759d4a2b887f24780015b9f52dce3318747d14a02d1af836b904cdc2331de53846c36b65f20777ea751a010257af5106dbf27395fbb55e705de1c21894 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b5d17fa3d357b71df323fb36fe9468c8b8231d52687d3ab34e943d5176559f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=9604b7d4aeb5d2d669004203e5ea36a496185d60aa484d843de5ce6504fcf2 + +handshake=Noise_NXpsk0_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541b57ff52600948c125f44b02653596239ee0c152247266ab71ff +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466073c7b8893efddc83a6550268f1f2b58b810514f8ceb8839db90f8bd9c2d88e85de4226713c8a68e15e259379d0bf3c870f6cb66d26bb6164e54d4475c4f7b4f79f00db1d34e4897233a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b29d746b8d07a50fb43cde476703b870b5d9ef75e760dbb38548ff5449b74b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=575261f1aece9f5960ed5e51ecafb480adef5c1b681509cc73270b63b0cc58 + +handshake=Noise_NXpsk1_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f512badfe5247731af4236af5558ff1540b60219e82ed4fee868 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466df854f551297c8c948841769640157bb0a68e959679f8956f3f078956be2c39c385c53c43c3ffc2b5bbea33db14dbec3f4b4456e5d2ea966b4bfb56f3cb874d5c7b23b76b52ec0f9ac32 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d1dcb9b1e4dbba2386624a124bb1539e391e890c463a8940127ae765eb6aee +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6334f69a2c9bcf6c7c1aff16f653da4b241ce641ebb859f456923670bd0c35 + +handshake=Noise_NXpsk2_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547664a776a6da240a65aba904f90d1eaa5f44454c7cb850438789 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e758b813c78910a7246ba02fa2bf78f1f91df195e41d33fd94c03e51aa35750948e563125f88f23f662a24cab0ae857302d416c7ca47cee015dad0910b515661e0062e9f13e5bff3b05e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e8e98a23dc6de8edee0529f80f7d14be0774f42c6d90fbc56d0d5d27b9c207 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=9de92b1e88a0cb7794854160cae0f948c366287194e571c8e0922554cb78bb + +handshake=Noise_KX_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846698119b787fffa4ac2c31f25455c130cf4de25f7384a93535288b79d7da78ad57dcedde22e3c3bfbdd4123468b03f56acebb709800aaf11ff0a383891f7e13e7f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=645d87cb21d68205c5d1d5ace656933772726dc15677fa66ecbb0d9e7c4a76 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f5021dc910cb1c6c6c1789bc0e1383e616b8a0706ce7e8c9de0038b94c7ae3 + +handshake=Noise_KXpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625420c520dc8393601629a9a4b0442dde86 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ff370f61dd7f82942851279f7749a086d1bf8d2975f632a8917f266aeb7a015ed99da110b6f09d00c39aad859dbca8df6235fbb88c5ef51a8e680b281421f61c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c7b22671faef802e2d77369ee735381ed398d69c460aaacf316284f3ef9aad +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=af44c5d5da5673e25de13a9f767e492ee14e50d7866252021d594b50de5482 + +handshake=Noise_KXpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254171daeee62ba0080fa7246ee5640d14a +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c234402484dec5e7c50aa677ecc860e1006ed5575482ccc537336b0c0810c9761e8591300938fc3dd8280a499b8effe7b0f575edc0525bb334884f1c5a7f8a5d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=522cff6137e48e907204736ed64baeff2a255653a1f54cfc85c1fcb89a38e7 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=a0e5114517474c8aea753cd6286906b640d6504e446cc65840f91c2ae4ff2d + +handshake=Noise_KXpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625437cad4dcdeaad9e6c772f632ef0f0219 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662fe9957e4a8cf74cd95f22436f4cf0e40492e620ecef46cd0927053bea29b9fc3a446d8a8476c205ad279277e78b42fa40ab44a17da0ea17c7bdc385c52156d3 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a8c3c1697a1444f8aaf5c1f30f8f47fe5f2edc883495d0a5fa03b5be468105 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=272a63fdf5bc0dac82c112f669218e7c0f49708ce1c24fcc16eaec673c8ffb + +handshake=Noise_KX_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846698119b787fffa4ac2c31f25455c130cf4de25f7384a93535288b79d7da78ad576c29eb2fc4fc0373ed8cf04ebe98c88763f453e22f5bf4fea56930d1b112a72635a554fb65faa2ac41b7 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=645d87cb21d68205c5d1d5ace656933772726dc15677fa66ecbb0d9e7c4a76 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f5021dc910cb1c6c6c1789bc0e1383e616b8a0706ce7e8c9de0038b94c7ae3 + +handshake=Noise_KXpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548c42693ab9b2b64f32e396a1c5c1cf40666e2447991b4301219a +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ff370f61dd7f82942851279f7749a086d1bf8d2975f632a8917f266aeb7a015ed112c9698130c8f77715bb1606ee158a1bf0561b47f1fa3358fd7f873c8fb725b873f32a3a2b74818ad5 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c7b22671faef802e2d77369ee735381ed398d69c460aaacf316284f3ef9aad +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=af44c5d5da5673e25de13a9f767e492ee14e50d7866252021d594b50de5482 + +handshake=Noise_KXpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625429641c04894b9a11f27d044ce0cd6700c86d74b6c6b2e0a36631 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c234402484dec5e7c50aa677ecc860e1006ed5575482ccc537336b0c0810c97614f780867dcfa660718c9445ddb0b18adb74ab7d4bb6da9bebc94b680fa2005464fb98609980ad19a71b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=522cff6137e48e907204736ed64baeff2a255653a1f54cfc85c1fcb89a38e7 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=a0e5114517474c8aea753cd6286906b640d6504e446cc65840f91c2ae4ff2d + +handshake=Noise_KXpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540a6409e4470fb6ff0e4814ec0d6311dcbdebc35784830d1fbed8 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662fe9957e4a8cf74cd95f22436f4cf0e40492e620ecef46cd0927053bea29b9fcfdc326f3f799fa284adde53c57a64e92a31ea878b11cc8a07a211d9d1a425caf0a49fb0a54759b386248 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a8c3c1697a1444f8aaf5c1f30f8f47fe5f2edc883495d0a5fa03b5be468105 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=272a63fdf5bc0dac82c112f669218e7c0f49708ce1c24fcc16eaec673c8ffb + +handshake=Noise_KX_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846698119b787fffa4ac2c31f25455c130cf4de25f7384a93535288b79d7da78ad57be7743fad001edc79215121d52d586527894eb7516dbd70d353c8174849e3fb7 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=645d87cb21d68205c5d1d5ace656933772726dc15677fa66ecbb0d9e7c4a76 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f5021dc910cb1c6c6c1789bc0e1383e616b8a0706ce7e8c9de0038b94c7ae3 + +handshake=Noise_KXpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625447b7249372647d750def52e1c5e505de +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ff370f61dd7f82942851279f7749a086d1bf8d2975f632a8917f266aeb7a015e37746122f2158189601b656f82a28272f471a98dd3e9cb92f15dcb31b2d61afe +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c7b22671faef802e2d77369ee735381ed398d69c460aaacf316284f3ef9aad +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=af44c5d5da5673e25de13a9f767e492ee14e50d7866252021d594b50de5482 + +handshake=Noise_KXpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549a46b6cc19675c81a7c17e59ae2fbb77 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c234402484dec5e7c50aa677ecc860e1006ed5575482ccc537336b0c0810c976a3e88fa64138fea30ee9b5dfb5f7edf054d75d4cb3788e22dc531cf95b5e2f48 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=522cff6137e48e907204736ed64baeff2a255653a1f54cfc85c1fcb89a38e7 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=a0e5114517474c8aea753cd6286906b640d6504e446cc65840f91c2ae4ff2d + +handshake=Noise_KXpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625419b10036434a604f7ad315181f250980 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662fe9957e4a8cf74cd95f22436f4cf0e40492e620ecef46cd0927053bea29b9fc64f37ec0795f68ed37302d9790f1282a4e9570c27bc6fba150347584f533aa77 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a8c3c1697a1444f8aaf5c1f30f8f47fe5f2edc883495d0a5fa03b5be468105 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=272a63fdf5bc0dac82c112f669218e7c0f49708ce1c24fcc16eaec673c8ffb + +handshake=Noise_KX_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846698119b787fffa4ac2c31f25455c130cf4de25f7384a93535288b79d7da78ad57d1ec426cdbfc40cc5b485727b8e8243463f453e22f5bf4fea56964b42c087e66e0d151039f27af53d4fd +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=645d87cb21d68205c5d1d5ace656933772726dc15677fa66ecbb0d9e7c4a76 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f5021dc910cb1c6c6c1789bc0e1383e616b8a0706ce7e8c9de0038b94c7ae3 + +handshake=Noise_KXpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548c42693ab9b2b64f32e3c4cfe206c4b91682f9f8f6936fc9afbe +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ff370f61dd7f82942851279f7749a086d1bf8d2975f632a8917f266aeb7a015ee7c5ca712002095e484838ae25fd75461bf0561b47f1fa3358fdf8e83366ddb4923b44739185cea05565 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c7b22671faef802e2d77369ee735381ed398d69c460aaacf316284f3ef9aad +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=af44c5d5da5673e25de13a9f767e492ee14e50d7866252021d594b50de5482 + +handshake=Noise_KXpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625429641c04894b9a11f27da81cd77c9a037dcdb91e7d38713655de +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c234402484dec5e7c50aa677ecc860e1006ed5575482ccc537336b0c0810c9761e984ed70366c1429556ad81e7ffc621db74ab7d4bb6da9bebc94678f2c759019dd38f17f4672db5fe6b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=522cff6137e48e907204736ed64baeff2a255653a1f54cfc85c1fcb89a38e7 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=a0e5114517474c8aea753cd6286906b640d6504e446cc65840f91c2ae4ff2d + +handshake=Noise_KXpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540a6409e4470fb6ff0e4867ac27fa94e39def5fb9cff692b08053 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662fe9957e4a8cf74cd95f22436f4cf0e40492e620ecef46cd0927053bea29b9fc80694fe3959f5da3630331671ddae3d5a31ea878b11cc8a07a219cbdbb73011e081a82623aefd7500ebb +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a8c3c1697a1444f8aaf5c1f30f8f47fe5f2edc883495d0a5fa03b5be468105 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=272a63fdf5bc0dac82c112f669218e7c0f49708ce1c24fcc16eaec673c8ffb + +handshake=Noise_XN_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846629c447f1d9897b8983f6a3622b9c68fe +msg_2_payload= +msg_2_ciphertext=037099440bbf00ed48e8e128d88e1ef2306f1b6e68f27fa225aa4b712d77baf46f0739cd1a8302353862f0a47b0e0326ba6101e1defbff83190d7a9a5d6804ef +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=9c818555ad9a26b3635d18f4056dc23fbb91c3d3a7a0ec77b01ad01542bccc +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=5e55862d8ebce08d0f83f774fc665146e3de69dd2642884d8613c7a93fd698 + +handshake=Noise_XNpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254cb40ef0aeb7dd7bc5077878685c5d5c2 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466662ed487400777ba45d66cf3440a55f0 +msg_2_payload= +msg_2_ciphertext=8d8c26c8c2048e031c6315e24093d4ad18b7efff7595b086239c24068e3db491158bca797fa3d1cd50f571d9474b70a0e8f28e47668d42c7845f1f26ca01b513 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=899e34bc0ead03fba60e56cfd11cbb3790834e6d5c23a10dfa0b93acccc900 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=6e85b7d7a6c44fb89e92477ec4caf02ef9abaede5a43eb303676eb7dc4f6e9 + +handshake=Noise_XNpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254cedb8e556eabaa5203ac7a28c0b4e4c5 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665b07ffa8c845133bf13d3121173e1bcc +msg_2_payload= +msg_2_ciphertext=77d0e47e4dbb723e616b6f24738e459ea8e98a574f6e59732204f0363e69879fa204c34f701074ac88a7230eb5bb640377590cc82ec8b0809bd3725523fbaf57 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=c651eedb26764976c359cd8f3b7e6c6cf61dec2a8e9e7cdabed1e0e5ae7cde +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=caf2c606303c4d12eddf43c5bb8330e86230cb2d8bab3dcf4eadd40776acc1 + +handshake=Noise_XNpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254aea85d73fe6523d3273aac24fa0e5d53 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ecbcd4c6ef7f7346437007c3c8806348 +msg_2_payload= +msg_2_ciphertext=2c5a5be592acde69362c483d714504e4fb32031199e3b8e7c9052ce199b3b045c12ba87c6a67e96f8de387e729f342425dbfadf39264e46ef3e5f25f4e1f74c0 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=dd75543aed4fbaaa884e485c7f3f7847c2dd2c5dd6c669d81399bad151b357 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=aaf79ee8c46da36c2998983b081475ce0c55c22a2c03b6f5c36c6714ac589a + +handshake=Noise_XNpsk3_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254126f87830ce7792290f4bc27fe31e18f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466db3adfc1817b0e0bc47050f0819a7466 +msg_2_payload= +msg_2_ciphertext=b009c459289fb3451ce340c21aefbeab59707c472c0b532e3758a1fdb21962b2d0a81254c169e20fbd5bdb89cfa3f70a1d1ca9b11bcaac5f3834bdf2ad356f02 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=76ec40c6107efb6f7a22addff790390d82eef906568d70ee8ad03d8bc70fe5 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=4d4e7a4916c6202c5c7d4cfc502fc7d26f5ad42c9a93023a07dc09e47297e7 + +handshake=Noise_XN_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a14dd9325bc6f396704c351c6d783fbecc244a54327404ddafd9 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=037099440bbf00ed48e8e128d88e1ef2306f1b6e68f27fa225aa4b712d77baf4edf2cffd49eea54222e7ab2220acf3b59a894802e80e97ef1c968acf6dac24b595997fcfb560aca4ed67 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=9c818555ad9a26b3635d18f4056dc23fbb91c3d3a7a0ec77b01ad01542bccc +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=5e55862d8ebce08d0f83f774fc665146e3de69dd2642884d8613c7a93fd698 + +handshake=Noise_XNpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c66d55a16b9cb77895dc7098d55af8e40e8916d8d6a818367b4e +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b78d0157146db12f98a9434b8402daab60240651f013edbeddbd +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=8d8c26c8c2048e031c6315e24093d4ad18b7efff7595b086239c24068e3db491f8dca2295ae4b6746a616e7b5ce038761ca387a1f28499c8efff252ccb4522e99e32ef4ef38e16d0a09e +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=899e34bc0ead03fba60e56cfd11cbb3790834e6d5c23a10dfa0b93acccc900 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=6e85b7d7a6c44fb89e92477ec4caf02ef9abaede5a43eb303676eb7dc4f6e9 + +handshake=Noise_XNpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625431ae431ebbf2fffee5c4f57d02c3f9bb6b86194e99431ccb2e78 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b5554432a018960a5dde37d862e2213837997c77d9bc99d4ae00 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=77d0e47e4dbb723e616b6f24738e459ea8e98a574f6e59732204f0363e69879fe9339af66e60b3bc4ad0d76a2b361e608ad399d3f9c470db77081b15a7e8cd34345207714fc9c00567be +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=c651eedb26764976c359cd8f3b7e6c6cf61dec2a8e9e7cdabed1e0e5ae7cde +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=caf2c606303c4d12eddf43c5bb8330e86230cb2d8bab3dcf4eadd40776acc1 + +handshake=Noise_XNpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d0fbe4d8c565b9a59d3664c055d51254e7a5c460f2b1d79b1512 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665489a70f5e1b78b65e0e6276106d69d27c1703e5143194ab570b +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=2c5a5be592acde69362c483d714504e4fb32031199e3b8e7c9052ce199b3b04525aa23a3f117933aeb082d5a6afac8943f9258c2910cd02a610abd7cbb58b5134d2648a1e871a937d77e +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=dd75543aed4fbaaa884e485c7f3f7847c2dd2c5dd6c669d81399bad151b357 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=aaf79ee8c46da36c2998983b081475ce0c55c22a2c03b6f5c36c6714ac589a + +handshake=Noise_XNpsk3_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254736a9b818f8f6c3819ac393d6b7f7854db18caf10ce923e83f8e +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b84cd00d3fb44ad35659ffa23a7536b54efc59aa2044b07586ad +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=b009c459289fb3451ce340c21aefbeab59707c472c0b532e3758a1fdb21962b27523093bcb2a3dfce853b494d6ea805a5fc329d60b8aee3304bec99837f50477fe78a4b351f61883d824 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=76ec40c6107efb6f7a22addff790390d82eef906568d70ee8ad03d8bc70fe5 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=4d4e7a4916c6202c5c7d4cfc502fc7d26f5ad42c9a93023a07dc09e47297e7 + +handshake=Noise_XN_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fdd2b7bd566405af7fc55d1ea22eb9a0 +msg_2_payload= +msg_2_ciphertext=037099440bbf00ed48e8e128d88e1ef2306f1b6e68f27fa225aa4b712d77baf42d2aeaa369a2453ca4fac292728eb176f185485e89192e67e6533e3be6e62fd6 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=9c818555ad9a26b3635d18f4056dc23fbb91c3d3a7a0ec77b01ad01542bccc +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=5e55862d8ebce08d0f83f774fc665146e3de69dd2642884d8613c7a93fd698 + +handshake=Noise_XNpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254438d0cdbd30fa2a6212df592afa39463 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f70c2b60d3681c4ae1464b219d601939 +msg_2_payload= +msg_2_ciphertext=8d8c26c8c2048e031c6315e24093d4ad18b7efff7595b086239c24068e3db491bd66a891f64d386afd67ae979156a33405ea115b17b0bcbbbb410662d5000700 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=899e34bc0ead03fba60e56cfd11cbb3790834e6d5c23a10dfa0b93acccc900 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=6e85b7d7a6c44fb89e92477ec4caf02ef9abaede5a43eb303676eb7dc4f6e9 + +handshake=Noise_XNpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548a5d22bc1f57918704666014d605651c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846640f652850ce7973035f8662ede800b3d +msg_2_payload= +msg_2_ciphertext=77d0e47e4dbb723e616b6f24738e459ea8e98a574f6e59732204f0363e69879fefe52aedafb1eb16cd73b9bf018195ac6115f19155faf159940e8934c48fc3d2 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=c651eedb26764976c359cd8f3b7e6c6cf61dec2a8e9e7cdabed1e0e5ae7cde +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=caf2c606303c4d12eddf43c5bb8330e86230cb2d8bab3dcf4eadd40776acc1 + +handshake=Noise_XNpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625415541c87fdd7cc758cddf3d74585ddfd +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662f44198fd9ebd0ef63b19c0a319d954e +msg_2_payload= +msg_2_ciphertext=2c5a5be592acde69362c483d714504e4fb32031199e3b8e7c9052ce199b3b04520cbdc05aa35762b015bcbe72ee32c53f88973ca7a77023b599f7c12fc177a49 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=dd75543aed4fbaaa884e485c7f3f7847c2dd2c5dd6c669d81399bad151b357 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=aaf79ee8c46da36c2998983b081475ce0c55c22a2c03b6f5c36c6714ac589a + +handshake=Noise_XNpsk3_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543cd5f617b6935cd7c18512eb96cab112 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b64a7ac6d3a4f90d88f77ecee3edfc23 +msg_2_payload= +msg_2_ciphertext=b009c459289fb3451ce340c21aefbeab59707c472c0b532e3758a1fdb21962b2f228fcc2420f9dd59b93ab17cd64307b10077ab83231601f42d55bf8b11d5eaf +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=76ec40c6107efb6f7a22addff790390d82eef906568d70ee8ad03d8bc70fe5 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=4d4e7a4916c6202c5c7d4cfc502fc7d26f5ad42c9a93023a07dc09e47297e7 + +handshake=Noise_XN_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a14dd9325bc6f396704c83029bb8ee2c682ddefcc95ab27a5705 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=037099440bbf00ed48e8e128d88e1ef2306f1b6e68f27fa225aa4b712d77baf4f298f5dd39297c240ab2ea3bcf06a08d9a894802e80e97ef1c9692f95413dbbb7a274f5b3c8379785a73 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=9c818555ad9a26b3635d18f4056dc23fbb91c3d3a7a0ec77b01ad01542bccc +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=5e55862d8ebce08d0f83f774fc665146e3de69dd2642884d8613c7a93fd698 + +handshake=Noise_XNpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c66d55a16b9cb77895dc547b0a9dacd026081933e9a2f5ba3316 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b78d0157146db12f98a92d0d04ad4f6bcf0eb10295eadb3ce68d +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=8d8c26c8c2048e031c6315e24093d4ad18b7efff7595b086239c24068e3db491ab26939a8b927dd8b6899c1ef8cd05681ca387a1f28499c8efffe90b8a20b0d0c5492cd30da15886983f +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=899e34bc0ead03fba60e56cfd11cbb3790834e6d5c23a10dfa0b93acccc900 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=6e85b7d7a6c44fb89e92477ec4caf02ef9abaede5a43eb303676eb7dc4f6e9 + +handshake=Noise_XNpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625431ae431ebbf2fffee5c46dc4fe2e28e420faeb5d7d6fdcd9fd1e +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b5554432a018960a5ddea9dc4722dafccb155ccec727f7e117db +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=77d0e47e4dbb723e616b6f24738e459ea8e98a574f6e59732204f0363e69879fb33359c30072d3d679a758fafa47b4a88ad399d3f9c470db7708825d5a32cede80e83b39da876ebd32ec +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=c651eedb26764976c359cd8f3b7e6c6cf61dec2a8e9e7cdabed1e0e5ae7cde +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=caf2c606303c4d12eddf43c5bb8330e86230cb2d8bab3dcf4eadd40776acc1 + +handshake=Noise_XNpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d0fbe4d8c565b9a59d36c37761f6baf2fadacb82f65cdcb0e7a0 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665489a70f5e1b78b65e0ed210acf243c4cd719fe17329c873d089 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=2c5a5be592acde69362c483d714504e4fb32031199e3b8e7c9052ce199b3b0457cc90677431269e0be999225605d0e473f9258c2910cd02a610afb1a9d02f62b1a42252cc3490723e384 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=dd75543aed4fbaaa884e485c7f3f7847c2dd2c5dd6c669d81399bad151b357 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=aaf79ee8c46da36c2998983b081475ce0c55c22a2c03b6f5c36c6714ac589a + +handshake=Noise_XNpsk3_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254736a9b818f8f6c3819ac0ececbf4e29bd4ffb897c3d0f6ba0fb5 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b84cd00d3fb44ad35659d39abc84ea30dc658b3e678aa780bd53 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=b009c459289fb3451ce340c21aefbeab59707c472c0b532e3758a1fdb21962b297cbe2138dce7b9a8078056e25c2ea8f5fc329d60b8aee3304be7e07903593cb5c9efad256bf8e06381c +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=76ec40c6107efb6f7a22addff790390d82eef906568d70ee8ad03d8bc70fe5 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=4d4e7a4916c6202c5c7d4cfc502fc7d26f5ad42c9a93023a07dc09e47297e7 + +handshake=Noise_IN_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666e3f19dc99a2257db910145fa6e54aef +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=9ccb684459ec247c656f7a9c582a018aac429546bdee1199a1ed61ba49fc64 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=39614a2f4324d2407d903c372a779b30fd32fae1c5b6d69cdc0877cae101ff + +handshake=Noise_INpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625471caa66028f64280a10cdb259a0f0ee1c59b656bb9366bd2a76f8e42a9bebed7872be750256a0ce3dd0b8d85daee1094b8ed982f1c2a6657ff978086d16874d4 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661c71ad2acb743655448c1b44eb19eb7f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=524b10cf461ef1f535017e250c8fe51471fb22093f7aef578485f282f7af0e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6d27cc209baae7deb036ff0c7c45a3c0c7b86d1949ff81570da6e319323c08 + +handshake=Noise_INpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541ce4cd9b7ed42c5afaac1903aa6b83bf2665bf49b278784bed2a8d8ca87f34402fdb485d8cfde58838035a57e1ba4e8da2957ac4c7de5d2725b56092d25a7177 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660e1884abae5c79aec17fe6ba6b321f1c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=9afced7a00a7d235716c18a3cd21737541e0ce919babee1b4106da009fd889 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=65783176595aba309742bfdf98f1c699ee18b65e091571ff41ef7f3e658b4d + +handshake=Noise_INpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549138f71daf8a8ccad5990ffd2d892da9fbcf2b41c95e11f1d48ed3ade358c32f7ea8eeaabc9629b368b2e98e0f3733be7225d72099f7df6538e48a8c60dce748 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f10361bb35702893ddbf2c2c632d849c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=be487fd9db2f9d9dd8ecb6a2c071a8ebcf71e344d535ecb0376efc8890726d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e43bb8a33bdf3307795da4a4d99d691922794058217d4c4902cef80d1b94ed + +handshake=Noise_IN_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466883df2067301b17472bc17c3aea78ff04f20412f5f100390fd79 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=9ccb684459ec247c656f7a9c582a018aac429546bdee1199a1ed61ba49fc64 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=39614a2f4324d2407d903c372a779b30fd32fae1c5b6d69cdc0877cae101ff + +handshake=Noise_INpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625471caa66028f64280a10cdb259a0f0ee1c59b656bb9366bd2a76f8e42a9bebed7872be750256a0ce3dd0b8d85daee109442a2e41e0634afc367f0ce923a70cf9bd6c4db73bb0a0803f10d +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663536123ea26b1bfcf393c34e3298477c533893ebfc51cbf9193b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=524b10cf461ef1f535017e250c8fe51471fb22093f7aef578485f282f7af0e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6d27cc209baae7deb036ff0c7c45a3c0c7b86d1949ff81570da6e319323c08 + +handshake=Noise_INpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541ce4cd9b7ed42c5afaac1903aa6b83bf2665bf49b278784bed2a8d8ca87f34402fdb485d8cfde58838035a57e1ba4e8d14e124433912c24fe0422740d71e57f17e357266751d7d99aba3 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662fd0bf78bd69757b645a2d07e6a5fe7582a47bdfba1bbcb3cacc +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=9afced7a00a7d235716c18a3cd21737541e0ce919babee1b4106da009fd889 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=65783176595aba309742bfdf98f1c699ee18b65e091571ff41ef7f3e658b4d + +handshake=Noise_INpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549138f71daf8a8ccad5990ffd2d892da9fbcf2b41c95e11f1d48ed3ade358c32f7ea8eeaabc9629b368b2e98e0f3733bede18b3b48a6276edf76a81785394b60e6d181d0b55147e05997d +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667e3677d51882a717bfafeb6e28ceb9957567363ba37c8a809db0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=be487fd9db2f9d9dd8ecb6a2c071a8ebcf71e344d535ecb0376efc8890726d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e43bb8a33bdf3307795da4a4d99d691922794058217d4c4902cef80d1b94ed + +handshake=Noise_IN_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663030d12e83fc1c593b562909667508fb +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=9ccb684459ec247c656f7a9c582a018aac429546bdee1199a1ed61ba49fc64 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=39614a2f4324d2407d903c372a779b30fd32fae1c5b6d69cdc0877cae101ff + +handshake=Noise_INpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625471caa66028f64280a10cdb259a0f0ee1c59b656bb9366bd2a76f8e42a9bebed7305e7a3c409dd4ba92d3fc3f3f8d763c46d6344acf2941446c9812a1286cb04d +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666d7c1191cd68a34ba4b64c5e58c972a0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=524b10cf461ef1f535017e250c8fe51471fb22093f7aef578485f282f7af0e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6d27cc209baae7deb036ff0c7c45a3c0c7b86d1949ff81570da6e319323c08 + +handshake=Noise_INpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541ce4cd9b7ed42c5afaac1903aa6b83bf2665bf49b278784bed2a8d8ca87f3440ed8d78ab07ed6b569d0fc538be2a8220c6b583f1bffa1acc148370953f45cd11 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846621ddef7c2f3b01b8748714bdab2937fd +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=9afced7a00a7d235716c18a3cd21737541e0ce919babee1b4106da009fd889 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=65783176595aba309742bfdf98f1c699ee18b65e091571ff41ef7f3e658b4d + +handshake=Noise_INpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549138f71daf8a8ccad5990ffd2d892da9fbcf2b41c95e11f1d48ed3ade358c32fcd3bed0595f69641adbfdd57ab1dc085a124a2b362fb05d05f1e655d15fa290f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664a4abe3680fc325b700f59d5c46985d1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=be487fd9db2f9d9dd8ecb6a2c071a8ebcf71e344d535ecb0376efc8890726d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e43bb8a33bdf3307795da4a4d99d691922794058217d4c4902cef80d1b94ed + +handshake=Noise_IN_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466883df2067301b17472bc62ad68cabba7bc80654d521b7a892865 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=9ccb684459ec247c656f7a9c582a018aac429546bdee1199a1ed61ba49fc64 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=39614a2f4324d2407d903c372a779b30fd32fae1c5b6d69cdc0877cae101ff + +handshake=Noise_INpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625471caa66028f64280a10cdb259a0f0ee1c59b656bb9366bd2a76f8e42a9bebed7305e7a3c409dd4ba92d3fc3f3f8d763c42a2e41e0634afc367f0dde3a61bd4a359193386bca6e46e72b1 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663536123ea26b1bfcf393b8cca304c5aa1b4646aad82de257ebcf +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=524b10cf461ef1f535017e250c8fe51471fb22093f7aef578485f282f7af0e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6d27cc209baae7deb036ff0c7c45a3c0c7b86d1949ff81570da6e319323c08 + +handshake=Noise_INpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541ce4cd9b7ed42c5afaac1903aa6b83bf2665bf49b278784bed2a8d8ca87f3440ed8d78ab07ed6b569d0fc538be2a822014e124433912c24fe042705ce2c0d3705e137ee0734f70240170 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662fd0bf78bd69757b645ad82bb4ce6c5bab13a549bfe52cdc2135 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=9afced7a00a7d235716c18a3cd21737541e0ce919babee1b4106da009fd889 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=65783176595aba309742bfdf98f1c699ee18b65e091571ff41ef7f3e658b4d + +handshake=Noise_INpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549138f71daf8a8ccad5990ffd2d892da9fbcf2b41c95e11f1d48ed3ade358c32fcd3bed0595f69641adbfdd57ab1dc085de18b3b48a6276edf76ae73f5ad4478d00547bf6d0cf9f6a4121 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667e3677d51882a717bfaf6fa3e9f062a27f45029aa7e50a76aa13 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=be487fd9db2f9d9dd8ecb6a2c071a8ebcf71e344d535ecb0376efc8890726d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e43bb8a33bdf3307795da4a4d99d691922794058217d4c4902cef80d1b94ed + +handshake=Noise_XK_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254808088fc0cc85acaa69a883a6b10211a +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466286fbb8efb3a91d14bf3df8a8558e549 +msg_2_payload= +msg_2_ciphertext=eb0b6ca5591599c72f921ad0ee2f37097eb0ff39f6d0b68a2db79458821fa52e94b656504f3b4b0b18ac3fb1621728400aff3211b974726a9a12b35dfc30d1fb +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=ee724c997ff942b0191c1e6f5dd0b63dd2dcdddbe740adc75cbe972e6e817f +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=1062ec47c7b6feeedcf8a18eca1349f029c9e101ce51063070050e22b42459 + +handshake=Noise_XKpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549a21cfbb9f17fa94ba7f0772b63bfd04 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667497196f76f843d812307b6e089bd401 +msg_2_payload= +msg_2_ciphertext=917f0f36d76ff8028268bd926d6386e350b2f199ca77092c2426a264fb27e6de6720440ea0d07d2f6db823d03b00178e002b4eb9e68e18c6bf602ba2f95631ce +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=ece23a617f504b3555121ff562b205ddc2f7f7bce45500f4c4754f3c13b37f +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=523dc14e40b73b52c0383053ae49138119ed42714c9bb554f01090708218f5 + +handshake=Noise_XKpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545fc5fd96bdd2ee25cbd02439e074689c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666e8ddad12bc56173163ea9ff4442e7d6 +msg_2_payload= +msg_2_ciphertext=da322a93e2ace2fb5424e6105985a4fb09cc20e95dea52a6871c20a5f0630e00b00d58799260c01562b7c62a16c5540facfad1e8a3876299cc921579b2525925 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=3d0d4a2d2dc5e9718cf69433752c64f55741eb64656f0cadc04fd0c0e3dfb1 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=f25107eb349768fddc230bcb47918d0dbef1e9dd0441a8b5fd47ee3db5be24 + +handshake=Noise_XKpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546ebbf33e299ae9c4d3ecdadc5d8e81f1 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466abbff32c51bb4b66b1ef2a158c4c9be1 +msg_2_payload= +msg_2_ciphertext=b0a26ddc196850030b2daea0618577de52cd4b1f96707c49a36c7eaf9bf1bc34f87fea270ff9864d9bd971fa4f5a703d5d0eb7bdb0335875617837d3b4c07c6a +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=6213b458869a66251d0fc561e406fe4053d82027e1178b7927f06911ec3a5c +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=3c70914788bc2c254e99114ae697f665d34346627857042c0594027ea4d0a6 + +handshake=Noise_XKpsk3_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f1b593f13b4cd41cea65b28e468b0b3 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466712b4787510ebbf87c665cb9e83ff555 +msg_2_payload= +msg_2_ciphertext=cb3ddcf291a8c6b1af42ad1562902f60b3e7e51aa0f6343391e32e745e1169e751ab42db60d7551e53009c4af681fce89c0305248e2b5de621e3d3540e18c992 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=88c083dea66b4e394e6eb1a2be53b312843d8ca646a33ccfbb3ed35b3daa53 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=6732c169f023972e0e83c494bdb771ab5ba60fe609610da42d8fd752cee3aa + +handshake=Noise_XK_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254513029d2b4b8b9fe5f9f31b454bddd12afca1145e94ba04df016 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466952886df4d27c408e437cfe25cdf30274e59b83f527df211d907 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=eb0b6ca5591599c72f921ad0ee2f37097eb0ff39f6d0b68a2db79458821fa52e6ea3fc0ebc929c08541fa3d84ba852dec9476064b9a9203e8e3fe3834bc45201e24e6b1c19f0039bd0a3 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=ee724c997ff942b0191c1e6f5dd0b63dd2dcdddbe740adc75cbe972e6e817f +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=1062ec47c7b6feeedcf8a18eca1349f029c9e101ce51063070050e22b42459 + +handshake=Noise_XKpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547b59e69f28ee958ea6ec286d88a478df18c37c290409b2f305fc +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846655be0dd1239ef6aacc00e2ce0033ef9570ae5b1cffdb3d9d3665 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=917f0f36d76ff8028268bd926d6386e350b2f199ca77092c2426a264fb27e6def31d422a36ba3e3b6347f914a24ebf9e92483ea0ae34710f38b31b7585040107da201115c7f61909ec55 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=ece23a617f504b3555121ff562b205ddc2f7f7bce45500f4c4754f3c13b37f +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=523dc14e40b73b52c0383053ae49138119ed42714c9bb554f01090708218f5 + +handshake=Noise_XKpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625488a0b01ef66d73b2fb0a07321d83f1680059c05be6fc73edc288 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846628eb3b4c42ce0e4b53d9eb540dbff9cff29fad9648742f88b0e1 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=da322a93e2ace2fb5424e6105985a4fb09cc20e95dea52a6871c20a5f0630e000afa05043632f4e6947eb243c2f4cabe10ec74c7fc4899c810657c6bb56e2fecbe312e445a29caf8f322 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=3d0d4a2d2dc5e9718cf69433752c64f55741eb64656f0cadc04fd0c0e3dfb1 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=f25107eb349768fddc230bcb47918d0dbef1e9dd0441a8b5fd47ee3db5be24 + +handshake=Noise_XKpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c3c1632d409d0c434982a274e3c5fb542081635f8a21000e4c9d +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466cf994581db893a145c65da8ae390d2ec36b8710553712ff8eec1 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=b0a26ddc196850030b2daea0618577de52cd4b1f96707c49a36c7eaf9bf1bc34b54b17adec69bae75235275b00362611dc862adcd710a1c7224b3f630b4b4c849e193738a6bdc24c4b5e +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=6213b458869a66251d0fc561e406fe4053d82027e1178b7927f06911ec3a5c +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=3c70914788bc2c254e99114ae697f665d34346627857042c0594027ea4d0a6 + +handshake=Noise_XKpsk3_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254800450454355b9d11d4bdb67aaee48e1576aab47af4286a78e66 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d0a4fd69aab20cdafe7c937b951e8590276356a5453e89e5da1d +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=cb3ddcf291a8c6b1af42ad1562902f60b3e7e51aa0f6343391e32e745e1169e78d6ae76bedbaa0e2ec33f27dd63397beba6045f20fae93dfb40afbbf27dc991c624bacb8d90acdf47b60 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=88c083dea66b4e394e6eb1a2be53b312843d8ca646a33ccfbb3ed35b3daa53 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=6732c169f023972e0e83c494bdb771ab5ba60fe609610da42d8fd752cee3aa + +handshake=Noise_XK_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625412016aff62eaff30a75a5c0c2d0042a0 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fa6d908607c010a4e27f592aa3e77db0 +msg_2_payload= +msg_2_ciphertext=eb0b6ca5591599c72f921ad0ee2f37097eb0ff39f6d0b68a2db79458821fa52e15a80d50e518ff27cdad772e19a43917bb69687b02856c53a828c04ed8ff57b4 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=ee724c997ff942b0191c1e6f5dd0b63dd2dcdddbe740adc75cbe972e6e817f +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=1062ec47c7b6feeedcf8a18eca1349f029c9e101ce51063070050e22b42459 + +handshake=Noise_XKpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545024b4b7b169e3f9e56a785643af64db +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f8734d1674650e362c81c6c774638696 +msg_2_payload= +msg_2_ciphertext=917f0f36d76ff8028268bd926d6386e350b2f199ca77092c2426a264fb27e6de6d0830f27670e86e0517c7b7e3fefb0681306e548e88b9a1879970348fca1541 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=ece23a617f504b3555121ff562b205ddc2f7f7bce45500f4c4754f3c13b37f +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=523dc14e40b73b52c0383053ae49138119ed42714c9bb554f01090708218f5 + +handshake=Noise_XKpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547667b794a46490293262417fee000006 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665ba9cdd7eab34372accb31399188da5b +msg_2_payload= +msg_2_ciphertext=da322a93e2ace2fb5424e6105985a4fb09cc20e95dea52a6871c20a5f0630e0042e34692374f7e53b893d8509eb32f7fd8b548fc1e3a5a90eebdb7ccf6bff0a5 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=3d0d4a2d2dc5e9718cf69433752c64f55741eb64656f0cadc04fd0c0e3dfb1 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=f25107eb349768fddc230bcb47918d0dbef1e9dd0441a8b5fd47ee3db5be24 + +handshake=Noise_XKpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544eca8fcfb3e6e255215ded2bcd48afbf +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846603fddfe0f6ae65fa28cc181cd81faeee +msg_2_payload= +msg_2_ciphertext=b0a26ddc196850030b2daea0618577de52cd4b1f96707c49a36c7eaf9bf1bc34b1202b8bffd5ed08e5de027c5b84a7158fe52e8f576bb6882f758bacd60f3c83 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=6213b458869a66251d0fc561e406fe4053d82027e1178b7927f06911ec3a5c +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=3c70914788bc2c254e99114ae697f665d34346627857042c0594027ea4d0a6 + +handshake=Noise_XKpsk3_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625440285ac3362d63eb8ced07422fb6cf25 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846681421bc40d383c443bc45dd96b4ef485 +msg_2_payload= +msg_2_ciphertext=cb3ddcf291a8c6b1af42ad1562902f60b3e7e51aa0f6343391e32e745e1169e7ebdfbe67365243ee68f0efb0d5717e1b69daddf1284769341892aa3a4710b976 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=88c083dea66b4e394e6eb1a2be53b312843d8ca646a33ccfbb3ed35b3daa53 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=6732c169f023972e0e83c494bdb771ab5ba60fe609610da42d8fd752cee3aa + +handshake=Noise_XK_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254513029d2b4b8b9fe5f9ff602b54bab72e3edd208f6f0abed927b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466952886df4d27c408e437397eab406b5d57694f8cae1bfa84a7dd +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=eb0b6ca5591599c72f921ad0ee2f37097eb0ff39f6d0b68a2db79458821fa52e06b2be633d0635b9d56d487202e4204ac9476064b9a9203e8e3f70353e310a53186c458753fda9a9ea81 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=ee724c997ff942b0191c1e6f5dd0b63dd2dcdddbe740adc75cbe972e6e817f +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=1062ec47c7b6feeedcf8a18eca1349f029c9e101ce51063070050e22b42459 + +handshake=Noise_XKpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547b59e69f28ee958ea6ece01b095ca48313f07a8deb1640007c88 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846655be0dd1239ef6aacc00d4f1a20d1b426381eadad2ad8428dfe4 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=917f0f36d76ff8028268bd926d6386e350b2f199ca77092c2426a264fb27e6de0d2bfdd01ecd6c54321b7e27497573ed92483ea0ae34710f38b335d4132f6bafcccfaf6c60009cba4ea3 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=ece23a617f504b3555121ff562b205ddc2f7f7bce45500f4c4754f3c13b37f +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=523dc14e40b73b52c0383053ae49138119ed42714c9bb554f01090708218f5 + +handshake=Noise_XKpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625488a0b01ef66d73b2fb0a89359dbca1e95a546531ed9387f06e59 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846628eb3b4c42ce0e4b53d9622ca4eca51b9978eb0ae4617fe43b7b +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=da322a93e2ace2fb5424e6105985a4fb09cc20e95dea52a6871c20a5f0630e00dd49f57036508780d776a79187d98f9d10ec74c7fc4899c8106536d6a7ec0636185ac76582c8fbef94a3 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=3d0d4a2d2dc5e9718cf69433752c64f55741eb64656f0cadc04fd0c0e3dfb1 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=f25107eb349768fddc230bcb47918d0dbef1e9dd0441a8b5fd47ee3db5be24 + +handshake=Noise_XKpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c3c1632d409d0c43498218e8e9e0d575ff260499ad54f0342435 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466cf994581db893a145c65a7c7d45d5a2b7d10e3ebaa4c84fef736 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=b0a26ddc196850030b2daea0618577de52cd4b1f96707c49a36c7eaf9bf1bc3443eef8be3e6057a7169b08e1a0054fe2dc862adcd710a1c7224b58933c565f2d339fe7bb2b5d1e53d1cd +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=6213b458869a66251d0fc561e406fe4053d82027e1178b7927f06911ec3a5c +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=3c70914788bc2c254e99114ae697f665d34346627857042c0594027ea4d0a6 + +handshake=Noise_XKpsk3_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254800450454355b9d11d4b81a05f9e0cbfc6e5086837041b04d043 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d0a4fd69aab20cdafe7cc5e114e8ebd132e1a2afca39d3c1729c +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=cb3ddcf291a8c6b1af42ad1562902f60b3e7e51aa0f6343391e32e745e1169e76a3b6eadf256a4f2e5c0eff96d18d97aba6045f20fae93dfb40aa1374c50db5b917c4e6bab8c41f9b9ac +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=88c083dea66b4e394e6eb1a2be53b312843d8ca646a33ccfbb3ed35b3daa53 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=6732c169f023972e0e83c494bdb771ab5ba60fe609610da42d8fd752cee3aa + +handshake=Noise_IK_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549e5f11977b6b44e9245c67330f3e51de6fc540b9b740f21673e7eb5dccadbfb1208a0530f27f8b630c81e3cf775e9d2b632ab3ac64125105a17a6a7173315506 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660cc75863504a0d3eef43e5ea39e1a698 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=17185d8a376d58b3119840b99b784085186a622ba32b1ede9c99f2751509e9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=db1d6ba1f8fad6b62e7d3f421a413389d609e5ec601b65e5bfa110c7f0c733 + +handshake=Noise_IKpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ba236852ef2b3162575105b0b33d4c6dd100842740d0c9be12622a57ee373e2cf63cca3e01b4a6ed0db101472ee9d420b0bbb911a0cc3bd5e7972ea44fecee8b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665322064e503c875ffec58103e63c3a86 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c01ee1d733b16ed26b81d16bcbdfefe0583f6bb7b917d205ea6590b6e34b1c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=cbb884cb5c480ba6f73efa28c9c17633385e48355918a67989a5171e51e85b + +handshake=Noise_IKpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625458f289ffe3283f14bdf492ec8bdb979b13c98eb5d07a8f7eb9d121303d8d200f0a159e84f04aec162883d80f6ee185e80cdc9aa5d86d9bcc163cc0033b8d33e2 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668c918bfc3507fd1385ab27e3a4dba0a0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=64fd4d007240834917ec1660292c5605562acd3ce322544f477dd84c47aadc +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=49969eca3ef61dd7c049da3a2b2f4170475d452e81ee61cf637e5c2e17905d + +handshake=Noise_IKpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ce891740b98a5f5c16f135436cb725e1fe702acd4c5a1d5cb4d2c528d4574b93b59172cabb2f8a6274486923c7d6693be2d801740a3b06edd5a0278816d3bfbd +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466cc8e335580292058f46ced567b9ff86a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c53f53e2030e27fb57f8cda4c39ed1da26bf58966b52d7dc404876539062bd +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6f28b6a586437b0c6f7a3571b9267a65f6e3bab0fee53e71037355fa3a4008 + +handshake=Noise_IK_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549e5f11977b6b44e9245c67330f3e51de6fc540b9b740f21673e7eb5dccadbfb1208a0530f27f8b630c81e3cf775e9d2bb312954cec80357f078868c439a5fd9b464f38adf2f6e56a0f5a +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b65172025a9545030cfab48a24e4de47e0f9574129c6458722cb +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=17185d8a376d58b3119840b99b784085186a622ba32b1ede9c99f2751509e9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=db1d6ba1f8fad6b62e7d3f421a413389d609e5ec601b65e5bfa110c7f0c733 + +handshake=Noise_IKpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ba236852ef2b3162575105b0b33d4c6dd100842740d0c9be12622a57ee373e2cf63cca3e01b4a6ed0db101472ee9d420f3f538a30d6559cac7dd4a4f14a567547f6d6a98e2233bc08a3b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846690b49233385ad8dfcc23a7eaf53e993748e215d961aaa6aee8e6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c01ee1d733b16ed26b81d16bcbdfefe0583f6bb7b917d205ea6590b6e34b1c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=cbb884cb5c480ba6f73efa28c9c17633385e48355918a67989a5171e51e85b + +handshake=Noise_IKpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625458f289ffe3283f14bdf492ec8bdb979b13c98eb5d07a8f7eb9d121303d8d200f0a159e84f04aec162883d80f6ee185e8cb7e0fa59d5f1b87833688fba8e81572e05bcc5347dc4754e004 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662e7aec10cef4cebc40f678fd4b38db7f49b542d3ed6061e099ea +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=64fd4d007240834917ec1660292c5605562acd3ce322544f477dd84c47aadc +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=49969eca3ef61dd7c049da3a2b2f4170475d452e81ee61cf637e5c2e17905d + +handshake=Noise_IKpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ce891740b98a5f5c16f135436cb725e1fe702acd4c5a1d5cb4d2c528d4574b93b59172cabb2f8a6274486923c7d6693bee9fd1e8b3e88194ca3b46f2b2ed2549b5ca881c5ae0fcfa0b30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664065db2bb1884c3e44120d9374fa0fa4cc695182408697948940 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c53f53e2030e27fb57f8cda4c39ed1da26bf58966b52d7dc404876539062bd +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6f28b6a586437b0c6f7a3571b9267a65f6e3bab0fee53e71037355fa3a4008 + +handshake=Noise_IK_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549e5f11977b6b44e9245c67330f3e51de6fc540b9b740f21673e7eb5dccadbfb18620823a2dc5df3eef9552dbfa3eaef69c1c7e045b0905bce8961fb9dc3b9154 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846671319c9183c5b8207cbfd8af0063cdc7 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=17185d8a376d58b3119840b99b784085186a622ba32b1ede9c99f2751509e9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=db1d6ba1f8fad6b62e7d3f421a413389d609e5ec601b65e5bfa110c7f0c733 + +handshake=Noise_IKpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ba236852ef2b3162575105b0b33d4c6dd100842740d0c9be12622a57ee373e2c9090737e80f23255017e7412f0e35b41d3bb273dcb080bb680e05542b200ddf0 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668ea7124d61b15a2af4db1649c7f5c67f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c01ee1d733b16ed26b81d16bcbdfefe0583f6bb7b917d205ea6590b6e34b1c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=cbb884cb5c480ba6f73efa28c9c17633385e48355918a67989a5171e51e85b + +handshake=Noise_IKpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625458f289ffe3283f14bdf492ec8bdb979b13c98eb5d07a8f7eb9d121303d8d200f16acadcde5e3e159322f07d637fb82466ffffcee8c135ff2d3468091ad1ac965 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660a9c9ba7901c8cc2095933f61539ebaf +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=64fd4d007240834917ec1660292c5605562acd3ce322544f477dd84c47aadc +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=49969eca3ef61dd7c049da3a2b2f4170475d452e81ee61cf637e5c2e17905d + +handshake=Noise_IKpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ce891740b98a5f5c16f135436cb725e1fe702acd4c5a1d5cb4d2c528d4574b9335f9e93f8bc1c9fe0bf9e671e91604472252ac533a0b7673a69e050fc6c555f9 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846625ce0bc015e15cc05f95114e8615e107 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c53f53e2030e27fb57f8cda4c39ed1da26bf58966b52d7dc404876539062bd +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6f28b6a586437b0c6f7a3571b9267a65f6e3bab0fee53e71037355fa3a4008 + +handshake=Noise_IK_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549e5f11977b6b44e9245c67330f3e51de6fc540b9b740f21673e7eb5dccadbfb18620823a2dc5df3eef9552dbfa3eaef6b312954cec80357f07882a687c02e62bd6e56c8fe017f2463049 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b65172025a9545030cfaaa2d22caa6cc27ccf97a1e6b683f6b7c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=17185d8a376d58b3119840b99b784085186a622ba32b1ede9c99f2751509e9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=db1d6ba1f8fad6b62e7d3f421a413389d609e5ec601b65e5bfa110c7f0c733 + +handshake=Noise_IKpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ba236852ef2b3162575105b0b33d4c6dd100842740d0c9be12622a57ee373e2c9090737e80f23255017e7412f0e35b41f3f538a30d6559cac7dd68f4009e9b60995b9c26ef2ad7b301d1 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846690b49233385ad8dfcc23ec9268f5fbc7595e89a031ce59fa882f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c01ee1d733b16ed26b81d16bcbdfefe0583f6bb7b917d205ea6590b6e34b1c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=cbb884cb5c480ba6f73efa28c9c17633385e48355918a67989a5171e51e85b + +handshake=Noise_IKpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625458f289ffe3283f14bdf492ec8bdb979b13c98eb5d07a8f7eb9d121303d8d200f16acadcde5e3e159322f07d637fb8246cb7e0fa59d5f1b8783366849fcc7d25b2490e6ea2b7cce88d13e +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662e7aec10cef4cebc40f61a8390b590d6bb5e55e5aa8f45bda184 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=64fd4d007240834917ec1660292c5605562acd3ce322544f477dd84c47aadc +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=49969eca3ef61dd7c049da3a2b2f4170475d452e81ee61cf637e5c2e17905d + +handshake=Noise_IKpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ce891740b98a5f5c16f135436cb725e1fe702acd4c5a1d5cb4d2c528d4574b9335f9e93f8bc1c9fe0bf9e671e9160447ee9fd1e8b3e88194ca3b7dd0c0f15d5ba12f1280b747e9755206 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664065db2bb1884c3e44120e547598980a2e5918807a5273b89cd7 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c53f53e2030e27fb57f8cda4c39ed1da26bf58966b52d7dc404876539062bd +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6f28b6a586437b0c6f7a3571b9267a65f6e3bab0fee53e71037355fa3a4008 + +handshake=Noise_XX_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846692e5b8dda95b4ec55e42c2cbded11735474b3612a895298bcb02e8469353fe827273e4a7aadfc1aa32578b46bce2006fe1482f062e2f27e43ad23e67a304c030 +msg_2_payload= +msg_2_ciphertext=ac3087e2342498dfa6606faf700dc5782b9612bdbc8bbb67a87181baac2d693d2f8df70600534bcbd389bbbf733550ae3e7e9a78f80aafa70d6211640223800d +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=2dcb8503b438910b2a2ffcf242ef705e6cce2d25bd30444402427981ee2064 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=56d2ce5c1e7e28b7406b99aff512114313b811e17c0af6497baa906165ba31 + +handshake=Noise_XXpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f2f462471c5d60ba0088de4eff15e53c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466be325d2fad8902f6af1f3b2b5acc9eab588b638e7e6c2e488d433d28690843f2d911861dc176203f80dba4198ac1786a916a77181cb8c24178d9ec84f88f5d4e +msg_2_payload= +msg_2_ciphertext=1e65fa56a639797ffe77d0d2951c4e2b3ec3ff11878bc08d9d1907247b9b01ab58a8c21ea7a521466a81d82e0fc7b5a624bcbc25fd46682f7588ed21c5edb914 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=d38f1c0a508dd95e6a8a567c8931a8637bad28b91d9564bd9c8fa23deaa220 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=895cf67ef6bc4e9116cff01e1891ecfc3413847ff1aa6c81ff9caf5d917a7b + +handshake=Noise_XXpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d54b25e517e5d9d9d1443c747c2b31d5 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666dfab3251da0797a6fde63e3bfeca2f0f74fa7162dd3825426965c0f2a0fc90a5657879f6810cfc3709e05e9153b2ae7fdfe94a9d8b2da4c04e0500e8ea8b94a +msg_2_payload= +msg_2_ciphertext=4a7ae3d865ae62214d81c67bc6134402ddb479fabf4bbd95f70dcd744d48e91d8a9ab3aeff5a6a45eeb8476ece42c0e3c1023fb1af8e1670fba5eb5dbc1fb648 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=d3ec65abb14824f326728eef1a0d957839c2a31fcf8f6a8444c3ad12e92565 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=4bc899aa61919f501f103187883abc24ba96d80bb9152d4b04fd09763384f8 + +handshake=Noise_XXpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625440589b2466ae4b8ae6b6656661608de6 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663ea4d8909862193d7f28ce230e8f8fdd52e2c7c32b59cc81b8c8b869025e7645ba40ad8ca10cfa1e971c4da023e7343d02a8c1c65b1d68eefae2f4714fc10f7b +msg_2_payload= +msg_2_ciphertext=e37f84e33bdb15ba63178cff0ea5946e4aa4f71e86ea0b3dd8e885baa63ead5591d0e50d96ad81a539e2ee63a5dec7710cc7e4dab085c993c022b961e3b500ce +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=337c476f38adead5eec91eb6e27edbedd33f5cf702e885c67b25e06fed6475 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=f7f94c1464b63d63b099af6faec4a3bbbf861b5bd04314135a5bb666d2e57a + +handshake=Noise_XXpsk3_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a399eeb57fa150bf0903a5144931cfed +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466af613726ed79ba171d0ba959f0bafc5949f8e4279fa836af1dac74632da07426cfde6cd9c24984229cef63503e25d9720f21fcd6aeca15edc259b59d5dbde2be +msg_2_payload= +msg_2_ciphertext=435c3d4404fb904058992c956972c09b477b3d5465f8dfaf487205d7c8024e7a7fc6bb767df7acc8c6b2150a1a07c368f2dc33bea0ceb8c05fd775f32d85a0a5 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=ea30f606b3b7b47433ec08e91298daef7df94faae71de0c396f7a3b194ed78 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=f2d28fa9662bd3bc6486d0e2fc2376eca51a747e66357baedf1e36d3b9b804 + +handshake=Noise_XX_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846692e5b8dda95b4ec55e42c2cbded11735474b3612a895298bcb02e8469353fe8268dd0a1354f3b23c3da9b4f11e91e2f8d221c75462cbc2798cc0fa8e4cfe53cd1edc4717ec17d20245fd +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=ac3087e2342498dfa6606faf700dc5782b9612bdbc8bbb67a87181baac2d693d629aba6b7f84dd26889cc9605e02f2cb5a36853cf1f1ced5ddda5564922cc4ba1e5d7286a0b9794ef6f5 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=2dcb8503b438910b2a2ffcf242ef705e6cce2d25bd30444402427981ee2064 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=56d2ce5c1e7e28b7406b99aff512114313b811e17c0af6497baa906165ba31 + +handshake=Noise_XXpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254866d809eebe6c3d84a3f1d85990e9a886d6b0aca260582337b30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466be325d2fad8902f6af1f3b2b5acc9eab588b638e7e6c2e488d433d28690843f28a0cc0e544065513f76cdf148c3e1b87938775bd82c3a86e2267643e455d0cd71cc1053717bcab764e28 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=1e65fa56a639797ffe77d0d2951c4e2b3ec3ff11878bc08d9d1907247b9b01ab5c812d0fa094b7e823d8ad0c260f119d1350ee3e4725f68b581b3f2a51751ac34b9b9a8b8f6a7f811aab +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=d38f1c0a508dd95e6a8a567c8931a8637bad28b91d9564bd9c8fa23deaa220 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=895cf67ef6bc4e9116cff01e1891ecfc3413847ff1aa6c81ff9caf5d917a7b + +handshake=Noise_XXpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254542b41136533a8304a77a255707e1a2d8a823ed6c045fee9e548 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666dfab3251da0797a6fde63e3bfeca2f0f74fa7162dd3825426965c0f2a0fc90ab99e5b81af6b8c0a448f4d1c2d79369223cac5251a120ab78a722e8f74107f28c718b5af7e4523d15d01 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=4a7ae3d865ae62214d81c67bc6134402ddb479fabf4bbd95f70dcd744d48e91df4b7bbf5ef4c57a0b340788a746ab69d32f2011af09a5b12c1466af4789c7b7b084f8a56786af64de04d +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=d3ec65abb14824f326728eef1a0d957839c2a31fcf8f6a8444c3ad12e92565 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=4bc899aa61919f501f103187883abc24ba96d80bb9152d4b04fd09763384f8 + +handshake=Noise_XXpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254da6c52ee1b045a9cfeb401e860c6f8dad9c4750c4a15b09958ef +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663ea4d8909862193d7f28ce230e8f8fdd52e2c7c32b59cc81b8c8b869025e76457e2e64fcc610a96b70b4ef648b07d4437992e6627c6b6b97687f6315ae3f979f0b6ad6c4e8ce8ece2787 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=e37f84e33bdb15ba63178cff0ea5946e4aa4f71e86ea0b3dd8e885baa63ead559885db6405390f86a481ce9e6793d889cf8779569d616597b16fb3efef2f3436535accde8af36f5cf983 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=337c476f38adead5eec91eb6e27edbedd33f5cf702e885c67b25e06fed6475 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=f7f94c1464b63d63b099af6faec4a3bbbf861b5bd04314135a5bb666d2e57a + +handshake=Noise_XXpsk3_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254cd5279aefbfc171ce82b4ca5c1044ed8a6734a0de58708aa79b6 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466af613726ed79ba171d0ba959f0bafc5949f8e4279fa836af1dac74632da07426611a76229186c4cb7020d89b58290d9d5b5bc0b66a4c643d9ecf43a5bfe4bf1052483c506b154561e9c2 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=435c3d4404fb904058992c956972c09b477b3d5465f8dfaf487205d7c8024e7a8e896e684314ab8e896610a945dedb8366ac8fc47095844e8da0305964ea0cc5b74114a419fa1facd127 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=ea30f606b3b7b47433ec08e91298daef7df94faae71de0c396f7a3b194ed78 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=f2d28fa9662bd3bc6486d0e2fc2376eca51a747e66357baedf1e36d3b9b804 + +handshake=Noise_XX_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846692e5b8dda95b4ec55e42c2cbded11735474b3612a895298bcb02e8469353fe823d2f9b86e9a08534663b376f8eba4ce7bb56a4e82647d6c17a846c7ea69f9c70 +msg_2_payload= +msg_2_ciphertext=ac3087e2342498dfa6606faf700dc5782b9612bdbc8bbb67a87181baac2d693d73dccbe0d8c4858d1508ebdcb753a5e60f5622374a46e41efb00eba64f71113f +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=2dcb8503b438910b2a2ffcf242ef705e6cce2d25bd30444402427981ee2064 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=56d2ce5c1e7e28b7406b99aff512114313b811e17c0af6497baa906165ba31 + +handshake=Noise_XXpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254afe230e0e90c70cbc586925eab0f8afa +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466be325d2fad8902f6af1f3b2b5acc9eab588b638e7e6c2e488d433d28690843f2318f800a32467ae4ab2051e240291a1bd6993f00169a8ea675e5bb5cba5a139d +msg_2_payload= +msg_2_ciphertext=1e65fa56a639797ffe77d0d2951c4e2b3ec3ff11878bc08d9d1907247b9b01ab03f64171d19600f941ad6056814141f00c5b5d6d041e3474254413ee1bfd117f +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=d38f1c0a508dd95e6a8a567c8931a8637bad28b91d9564bd9c8fa23deaa220 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=895cf67ef6bc4e9116cff01e1891ecfc3413847ff1aa6c81ff9caf5d917a7b + +handshake=Noise_XXpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625435f58b36487f42de4284c58ba543921c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666dfab3251da0797a6fde63e3bfeca2f0f74fa7162dd3825426965c0f2a0fc90aab54d72f4e993321086d6f6159502b24510534eaf9fa26e099f93814480a7c00 +msg_2_payload= +msg_2_ciphertext=4a7ae3d865ae62214d81c67bc6134402ddb479fabf4bbd95f70dcd744d48e91dc2f7c8ba426fc407af6fcbdbefc136f348937198e636b5dfbabbdfbb9e2bcc4a +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=d3ec65abb14824f326728eef1a0d957839c2a31fcf8f6a8444c3ad12e92565 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=4bc899aa61919f501f103187883abc24ba96d80bb9152d4b04fd09763384f8 + +handshake=Noise_XXpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625420e4dc62070a9aebab2b6572e2ae4b98 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663ea4d8909862193d7f28ce230e8f8fdd52e2c7c32b59cc81b8c8b869025e7645ee5f681862f0dec10f9dc8d8e96c07b155da7f7b101977ae1d19f12b407a34fb +msg_2_payload= +msg_2_ciphertext=e37f84e33bdb15ba63178cff0ea5946e4aa4f71e86ea0b3dd8e885baa63ead55940ca69900d62a3186db3105276b15f56ef7fd1c850ac561e7363a523d92ed6e +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=337c476f38adead5eec91eb6e27edbedd33f5cf702e885c67b25e06fed6475 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=f7f94c1464b63d63b099af6faec4a3bbbf861b5bd04314135a5bb666d2e57a + +handshake=Noise_XXpsk3_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b7a040ac300959fe34bfe71e0d24f6a0 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466af613726ed79ba171d0ba959f0bafc5949f8e4279fa836af1dac74632da07426888d44c76f124e6bb39acc5176271a3e6319e1de8c126261dc7185d14cab1c5e +msg_2_payload= +msg_2_ciphertext=435c3d4404fb904058992c956972c09b477b3d5465f8dfaf487205d7c8024e7a91ab16e67d24b1fdef4dff4b9bf6c76fe01aa2da79da940839db82cf0c8dd98b +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=ea30f606b3b7b47433ec08e91298daef7df94faae71de0c396f7a3b194ed78 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=f2d28fa9662bd3bc6486d0e2fc2376eca51a747e66357baedf1e36d3b9b804 + +handshake=Noise_XX_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846692e5b8dda95b4ec55e42c2cbded11735474b3612a895298bcb02e8469353fe82b4cd9a14f8ead39d89dfbc1caa392541d221c75462cbc2798cc052f73a84342b5476620ae41849b8965c +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=ac3087e2342498dfa6606faf700dc5782b9612bdbc8bbb67a87181baac2d693d79ea79b6110288f4e89aae84921c40605a36853cf1f1ced5ddda854ea5ce29deb956bd1c54de796b357f +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=2dcb8503b438910b2a2ffcf242ef705e6cce2d25bd30444402427981ee2064 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=56d2ce5c1e7e28b7406b99aff512114313b811e17c0af6497baa906165ba31 + +handshake=Noise_XXpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254866d809eebe6c3d84a3ff5b7f9842209a6bb025a5804dc0de2bb +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466be325d2fad8902f6af1f3b2b5acc9eab588b638e7e6c2e488d433d28690843f206009fabe86c879f8d9e2738ee4ed4d2938775bd82c3a86e2267c5764cd7abd871e6263afcc404a5e0a1 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=1e65fa56a639797ffe77d0d2951c4e2b3ec3ff11878bc08d9d1907247b9b01ab46af6720d3d054872b900594d8b526601350ee3e4725f68b581b62bcc4a3a13247dcbceb4e8a9650d90c +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=d38f1c0a508dd95e6a8a567c8931a8637bad28b91d9564bd9c8fa23deaa220 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=895cf67ef6bc4e9116cff01e1891ecfc3413847ff1aa6c81ff9caf5d917a7b + +handshake=Noise_XXpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254542b41136533a8304a77b81b6dfdf040484761f3ccafe691e75d +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666dfab3251da0797a6fde63e3bfeca2f0f74fa7162dd3825426965c0f2a0fc90a5dec9479f1ad2799fbd27fdb7fdc056523cac5251a120ab78a72461a4e9de89b862c7414fa11fd5bb881 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=4a7ae3d865ae62214d81c67bc6134402ddb479fabf4bbd95f70dcd744d48e91d0583c25739292883c9333532c4da5f3032f2011af09a5b12c1468e7b1eab09321a31a1d2ff6796ac80d3 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=d3ec65abb14824f326728eef1a0d957839c2a31fcf8f6a8444c3ad12e92565 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=4bc899aa61919f501f103187883abc24ba96d80bb9152d4b04fd09763384f8 + +handshake=Noise_XXpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254da6c52ee1b045a9cfeb44ece894131cd8d2fb1213bbeca79f626 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663ea4d8909862193d7f28ce230e8f8fdd52e2c7c32b59cc81b8c8b869025e764501a2be4cd48b63a3c74802e86d9b8bd37992e6627c6b6b97687f53a407d8b6afdd43d633c2daebaafc14 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=e37f84e33bdb15ba63178cff0ea5946e4aa4f71e86ea0b3dd8e885baa63ead5575db230303120a1dde9a88d5cbd4ff98cf8779569d616597b16f4a9f5ef1dd4f26463290e83402284a14 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=337c476f38adead5eec91eb6e27edbedd33f5cf702e885c67b25e06fed6475 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=f7f94c1464b63d63b099af6faec4a3bbbf861b5bd04314135a5bb666d2e57a + +handshake=Noise_XXpsk3_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254cd5279aefbfc171ce82b89a9045aed50568afa724bb8f9c0a540 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466af613726ed79ba171d0ba959f0bafc5949f8e4279fa836af1dac74632da07426822f55cfb4baec5d5626d45e9dec6fa85b5bc0b66a4c643d9ecfa433cca204d22000ae309809dbcd2507 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=435c3d4404fb904058992c956972c09b477b3d5465f8dfaf487205d7c8024e7ad29ffdd53f3a0921483a26ab29377e2e66ac8fc47095844e8da0f4e9b114d0ba5db5685ab45d76a7e03c +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=ea30f606b3b7b47433ec08e91298daef7df94faae71de0c396f7a3b194ed78 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=f2d28fa9662bd3bc6486d0e2fc2376eca51a747e66357baedf1e36d3b9b804 + +handshake=Noise_IX_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466695d6599121fe2a7334d2c97732a3ffadbcfd7e6bdb2544697bb5f00916ee3fc5705ded2ea5e74dc4cccd271b3b170c018ece669ee8eb50c1183697979a87056 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=26615f8c05cfc06ba45d92c919ac3646b75c5b98ccc6bf7be435f660303233 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=246f084e1984bada028bdd5706659a090073f4e900983ae7f43938081d0e6c + +handshake=Noise_IXpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f23d888fc466096221d018369dbfd469e8982fe06d5f5403cf73cbae43506d4c019dc3f0ddbe6a8e4cedc9663bbc0666e2e8003f39416bd73417eeacb429f0d3 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846666dbaa36ddf907742a80f1551f8b7d380adbf8039ff57bf43ffe5f1c2315caca03d159b9f20ec197dade265afb859e24ed346fbf36ad4ac6f225c06a83bb5f7b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ba368d3ceaeb7b4ddea9fa0ec3f6af47bce36ec342a0be54a2bd08e7b57a31 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=003d182934bbbfb5ba808d6e335bf7d155504ae7a7d5f5288d2af34bb05e08 + +handshake=Noise_IXpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254730f4c1d260b464346081cd7e638a961153cb165f87bd25c9b26c250e5bb880805b009cde612246770287ee104db35f1ec3dbb8330fb8854782bc70cf926c466 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466129a73114e12a289af04ec9af3e8a49cfc343ba36ce522267a3eedb9971791a6e3a11e74aec9f653fe66e3498ec3f0ba924cdd5b28c0b701b834909dfc1b440d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=96efc6df0548c32e43ca4c59eeb2559626095079ecb0ba2be9c8fd6628d844 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6f9e72631a890074a8b30f623968e914862330f34ec4e2aa36f6f7b987a3d6 + +handshake=Noise_IXpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254336c06ececc68c95a721a5e1108b1d2c29397707cbf738e7a8849fd2ff08d62951cd48325d28bb67c3280fca55c91275b3ef8f17b7ca1768f171c2071903c43f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846691aaca91f9159a9bd67aa886e00a54088edc28c8d38e3a34870cc34fb1305b2a13bd55a7a8052b97ab1bc4ccdcabba822d611d461660deabf4584d1747a222d3 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=44f1bd491d21b3e3fe06273ce11e6530122d7314ec4fa74994ee55481f5133 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=bf9875d0094449a70e60dd5577ed61d03ae2e86b775aca74bf2723ea6b969c + +handshake=Noise_IX_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466695d6599121fe2a7334d2c97732a3ffadbcfd7e6bdb2544697bb5f00916ee3fce9879d0ed150af9f2be81aa51c039e9e7b5773f45de6318af93f86d0dc96b99df12aaa638be5a625ff49 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=26615f8c05cfc06ba45d92c919ac3646b75c5b98ccc6bf7be435f660303233 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=246f084e1984bada028bdd5706659a090073f4e900983ae7f43938081d0e6c + +handshake=Noise_IXpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f23d888fc466096221d018369dbfd469e8982fe06d5f5403cf73cbae43506d4c019dc3f0ddbe6a8e4cedc9663bbc06667559f6ca4f3be7e578e55edf0c66945d61065236620e451730ff +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846666dbaa36ddf907742a80f1551f8b7d380adbf8039ff57bf43ffe5f1c2315caca5703a32de32a3a7099780894de955a6bf797d76ea657debdad89256c8b7f7c131759900ed8fd0c936cfc +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ba368d3ceaeb7b4ddea9fa0ec3f6af47bce36ec342a0be54a2bd08e7b57a31 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=003d182934bbbfb5ba808d6e335bf7d155504ae7a7d5f5288d2af34bb05e08 + +handshake=Noise_IXpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254730f4c1d260b464346081cd7e638a961153cb165f87bd25c9b26c250e5bb880805b009cde612246770287ee104db35f1431211b554223603a05e313043e051745116e15077094aecb596 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466129a73114e12a289af04ec9af3e8a49cfc343ba36ce522267a3eedb9971791a6611fbcdf30357d8d3157a9926c75108d9f704ccf6c61778c12e3a158605089315ee6d9e1a254a26bb385 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=96efc6df0548c32e43ca4c59eeb2559626095079ecb0ba2be9c8fd6628d844 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6f9e72631a890074a8b30f623968e914862330f34ec4e2aa36f6f7b987a3d6 + +handshake=Noise_IXpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254336c06ececc68c95a721a5e1108b1d2c29397707cbf738e7a8849fd2ff08d62951cd48325d28bb67c3280fca55c91275c719b81dc74cf8887220c7858051cacaba08461b443c9f1feafb +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846691aaca91f9159a9bd67aa886e00a54088edc28c8d38e3a34870cc34fb1305b2a98c853dfa8e2b13ca3b2dc061fac3c4ca42326a5f8d40c491c9882c14928b0297a6fbd17ed86e3f78aeb +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=44f1bd491d21b3e3fe06273ce11e6530122d7314ec4fa74994ee55481f5133 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=bf9875d0094449a70e60dd5577ed61d03ae2e86b775aca74bf2723ea6b969c + +handshake=Noise_IX_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466695d6599121fe2a7334d2c97732a3ffadbcfd7e6bdb2544697bb5f00916ee3fc981a97e21a035372344bf5ebc58d4530952e0f70491280e937fb043e18e01fb8 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=26615f8c05cfc06ba45d92c919ac3646b75c5b98ccc6bf7be435f660303233 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=246f084e1984bada028bdd5706659a090073f4e900983ae7f43938081d0e6c + +handshake=Noise_IXpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f23d888fc466096221d018369dbfd469e8982fe06d5f5403cf73cbae43506d4cb086b2a59e2bb0559d03edd7967de46e777870db5fccba82efee379f4f94d817 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846666dbaa36ddf907742a80f1551f8b7d380adbf8039ff57bf43ffe5f1c2315cacaa000b86e59b363dacc8df47185202e71703a31598ae5f209900b544b0987af1b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ba368d3ceaeb7b4ddea9fa0ec3f6af47bce36ec342a0be54a2bd08e7b57a31 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=003d182934bbbfb5ba808d6e335bf7d155504ae7a7d5f5288d2af34bb05e08 + +handshake=Noise_IXpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254730f4c1d260b464346081cd7e638a961153cb165f87bd25c9b26c250e5bb8808adf190271445d27f405095fbc3ca27432bdcd0313238417d7c0ce916683bfc8b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466129a73114e12a289af04ec9af3e8a49cfc343ba36ce522267a3eedb9971791a64831f0ac2613dc6820e61293eb7baff3ff9eba1ad801121c6ba483dc43bda464 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=96efc6df0548c32e43ca4c59eeb2559626095079ecb0ba2be9c8fd6628d844 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6f9e72631a890074a8b30f623968e914862330f34ec4e2aa36f6f7b987a3d6 + +handshake=Noise_IXpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254336c06ececc68c95a721a5e1108b1d2c29397707cbf738e7a8849fd2ff08d6298b3f30233695772355e7b3ade8dbffbf41c5cc96f06413594b6659405f516a29 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846691aaca91f9159a9bd67aa886e00a54088edc28c8d38e3a34870cc34fb1305b2a1e81847f6b95142f0026a5496a0cb373b7224ba5692bc0abfa9eec46109c87a6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=44f1bd491d21b3e3fe06273ce11e6530122d7314ec4fa74994ee55481f5133 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=bf9875d0094449a70e60dd5577ed61d03ae2e86b775aca74bf2723ea6b969c + +handshake=Noise_IX_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466695d6599121fe2a7334d2c97732a3ffadbcfd7e6bdb2544697bb5f00916ee3fcda75b86dcdcf6cc8b4e52dd9265dc2aa7b5773f45de6318af93ff0f4c52d30c8278d3298434c05beadb4 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=26615f8c05cfc06ba45d92c919ac3646b75c5b98ccc6bf7be435f660303233 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=246f084e1984bada028bdd5706659a090073f4e900983ae7f43938081d0e6c + +handshake=Noise_IXpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f23d888fc466096221d018369dbfd469e8982fe06d5f5403cf73cbae43506d4cb086b2a59e2bb0559d03edd7967de46e7559f6ca4f3be7e578e57882e381692562156135cf8c334308f6 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846666dbaa36ddf907742a80f1551f8b7d380adbf8039ff57bf43ffe5f1c2315caca12ad93e06bd127bda9ad1020b877118ef797d76ea657debdad897fcbc0953710f13696878e2c1a2869a0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ba368d3ceaeb7b4ddea9fa0ec3f6af47bce36ec342a0be54a2bd08e7b57a31 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=003d182934bbbfb5ba808d6e335bf7d155504ae7a7d5f5288d2af34bb05e08 + +handshake=Noise_IXpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254730f4c1d260b464346081cd7e638a961153cb165f87bd25c9b26c250e5bb8808adf190271445d27f405095fbc3ca2743431211b554223603a05ef4b04acb4fe69dc9d150400ad9c28cfc +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466129a73114e12a289af04ec9af3e8a49cfc343ba36ce522267a3eedb9971791a621701ef5f70366820249aa58206ec5179f704ccf6c61778c12e34b86cd99e8c7f6ec4cd08217427f2b2b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=96efc6df0548c32e43ca4c59eeb2559626095079ecb0ba2be9c8fd6628d844 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6f9e72631a890074a8b30f623968e914862330f34ec4e2aa36f6f7b987a3d6 + +handshake=Noise_IXpsk2_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254336c06ececc68c95a721a5e1108b1d2c29397707cbf738e7a8849fd2ff08d6298b3f30233695772355e7b3ade8dbffbfc719b81dc74cf888722001f7c5dba307a6158a32b4636f5810dc +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846691aaca91f9159a9bd67aa886e00a54088edc28c8d38e3a34870cc34fb1305b2a0e75e6be1bec100d6573dcea97d99441a42326a5f8d40c491c9835c2d1f6e87f227b143834e678763257 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=44f1bd491d21b3e3fe06273ce11e6530122d7314ec4fa74994ee55481f5133 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=bf9875d0094449a70e60dd5577ed61d03ae2e86b775aca74bf2723ea6b969c + +handshake=Noise_N_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625481e3638895f74c7f2fb79478a8b1ef0b +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=94858a8929ec3029eee24ac3b9430a0ad960324b465ebf1e4a4e5b42d5578d +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=0d950d3e8b3b1c1e92f0672fa29e408ff3051ceb7ab03a61419559a6772f08 + +handshake=Noise_Npsk0_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625464629b177388333c8d175896ab297935 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=33da6aeec7478a08f7878c62fd7fcc88165cf1bf47953546ac1b64fb183258 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=3376b3ceedfdeaf78df87cfaeabbe7a3b4cb1ffb9ee72b05a36aaa4fea99ee + +handshake=Noise_Npsk1_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625450b0f423d7d637d7a460b86a48cc487b +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=e33fa900c0dcebe93bce0408696d13866c780766f0c670a3932b0d05c1c69b +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=c06aac8a526a8b995fafc59f9ffe856c8316d9fd97db9ba322bd4dbc940158 + +handshake=Noise_N_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548d5c068cc55c86ec3234b490d40afc4cf4d6263378881c946d7f +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=94858a8929ec3029eee24ac3b9430a0ad960324b465ebf1e4a4e5b42d5578d +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=0d950d3e8b3b1c1e92f0672fa29e408ff3051ceb7ab03a61419559a6772f08 + +handshake=Noise_Npsk0_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f8dbb976f32d75fe4f1fdd32667b33832835533005266a53712b +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=33da6aeec7478a08f7878c62fd7fcc88165cf1bf47953546ac1b64fb183258 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=3376b3ceedfdeaf78df87cfaeabbe7a3b4cb1ffb9ee72b05a36aaa4fea99ee + +handshake=Noise_Npsk1_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254354f2847f89991ee82660859ba99e38c0b65beffa762a956db43 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=e33fa900c0dcebe93bce0408696d13866c780766f0c670a3932b0d05c1c69b +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=c06aac8a526a8b995fafc59f9ffe856c8316d9fd97db9ba322bd4dbc940158 + +handshake=Noise_N_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254dc989d32c66a940d8f3bb092ec1cc39b +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=94858a8929ec3029eee24ac3b9430a0ad960324b465ebf1e4a4e5b42d5578d +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=0d950d3e8b3b1c1e92f0672fa29e408ff3051ceb7ab03a61419559a6772f08 + +handshake=Noise_Npsk0_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254adb2ef9e38153b82ab826cf2c293d2e2 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=33da6aeec7478a08f7878c62fd7fcc88165cf1bf47953546ac1b64fb183258 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=3376b3ceedfdeaf78df87cfaeabbe7a3b4cb1ffb9ee72b05a36aaa4fea99ee + +handshake=Noise_Npsk1_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d8a9ac9ddfea0fd3f61053e5cce9c468 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=e33fa900c0dcebe93bce0408696d13866c780766f0c670a3932b0d05c1c69b +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=c06aac8a526a8b995fafc59f9ffe856c8316d9fd97db9ba322bd4dbc940158 + +handshake=Noise_N_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548d5c068cc55c86ec32343e3869720328a5659aa70ee82a7e2153 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=94858a8929ec3029eee24ac3b9430a0ad960324b465ebf1e4a4e5b42d5578d +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=0d950d3e8b3b1c1e92f0672fa29e408ff3051ceb7ab03a61419559a6772f08 + +handshake=Noise_Npsk0_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f8dbb976f32d75fe4f1fcbe700b9013b07745aafab8bf4e2fa7b +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=33da6aeec7478a08f7878c62fd7fcc88165cf1bf47953546ac1b64fb183258 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=3376b3ceedfdeaf78df87cfaeabbe7a3b4cb1ffb9ee72b05a36aaa4fea99ee + +handshake=Noise_Npsk1_25519_ChaChaPoly_SHA512 +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254354f2847f89991ee82666c5a1d2c330638acc769bec02338bfb4 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=e33fa900c0dcebe93bce0408696d13866c780766f0c670a3932b0d05c1c69b +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=c06aac8a526a8b995fafc59f9ffe856c8316d9fd97db9ba322bd4dbc940158 + +handshake=Noise_K_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f6c00a2c6c7b4e047404cd845438f31d +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=8f37d99ddd83fcfad851544fadbbd9f83a21cb504f79a040f0db0ef406a2cb +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=8b69be08bbd320ce82a65b1ac6013f3aada9a0e64e53b0f9de55a83e0fd4e2 + +handshake=Noise_Kpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545b743993c03a39ed2078fe83cacb0005 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=5df379aa748528b394de3a483c10bfa9b2fd420d2d5a7247be18b9b71b1741 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=73a0c4086f45b89ac5ac48564363e3cce8449b2d2c7cf71adadb6258119771 + +handshake=Noise_Kpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254af5df3705094e65fd6345071bdb48771 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=c63f46ef1a4531b36b6d9d933fc6d97a929ba3fce60a9523228c4df6745d30 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=daa224045edb5559f94be878b2de124313b1e157fa49295925143dca42782b + +handshake=Noise_K_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541f0499b194617954a3a80fecc4b0b687b2dcfaca93c170ec8133 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=8f37d99ddd83fcfad851544fadbbd9f83a21cb504f79a040f0db0ef406a2cb +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=8b69be08bbd320ce82a65b1ac6013f3aada9a0e64e53b0f9de55a83e0fd4e2 + +handshake=Noise_Kpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549832db195cc1e003857c7f520d021430e9ae20a35b9e906b8f7e +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=5df379aa748528b394de3a483c10bfa9b2fd420d2d5a7247be18b9b71b1741 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=73a0c4086f45b89ac5ac48564363e3cce8449b2d2c7cf71adadb6258119771 + +handshake=Noise_Kpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549ad2b6a5f66290516660e12f3f66ba36a904982d33fe8ed8f15e +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=c63f46ef1a4531b36b6d9d933fc6d97a929ba3fce60a9523228c4df6745d30 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=daa224045edb5559f94be878b2de124313b1e157fa49295925143dca42782b + +handshake=Noise_K_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254fef72b48f3aac25836d9eb5b379c8a5b +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=8f37d99ddd83fcfad851544fadbbd9f83a21cb504f79a040f0db0ef406a2cb +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=8b69be08bbd320ce82a65b1ac6013f3aada9a0e64e53b0f9de55a83e0fd4e2 + +handshake=Noise_Kpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548ae6fc65d6fc0d280734065c183cc02b +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=5df379aa748528b394de3a483c10bfa9b2fd420d2d5a7247be18b9b71b1741 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=73a0c4086f45b89ac5ac48564363e3cce8449b2d2c7cf71adadb6258119771 + +handshake=Noise_Kpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f13e539dc67cfd7c8bed15eb755b3e70 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=c63f46ef1a4531b36b6d9d933fc6d97a929ba3fce60a9523228c4df6745d30 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=daa224045edb5559f94be878b2de124313b1e157fa49295925143dca42782b + +handshake=Noise_K_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541f0499b194617954a3a8ba6d2ccb66ba883621b78eb1ccb78060 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=8f37d99ddd83fcfad851544fadbbd9f83a21cb504f79a040f0db0ef406a2cb +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=8b69be08bbd320ce82a65b1ac6013f3aada9a0e64e53b0f9de55a83e0fd4e2 + +handshake=Noise_Kpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549832db195cc1e003857cf56e834a296df1104de185a7b9129a7e +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=5df379aa748528b394de3a483c10bfa9b2fd420d2d5a7247be18b9b71b1741 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=73a0c4086f45b89ac5ac48564363e3cce8449b2d2c7cf71adadb6258119771 + +handshake=Noise_Kpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549ad2b6a5f66290516660fc7bf731ab1516ae6fe1723e6a8fbaeb +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=c63f46ef1a4531b36b6d9d933fc6d97a929ba3fce60a9523228c4df6745d30 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=daa224045edb5559f94be878b2de124313b1e157fa49295925143dca42782b + +handshake=Noise_X_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254376c7107f9eb405171d2d1f3d248bce446063fa27b4685471cef3d72d2da8dea4a3e192003851247b8cd95003cccd0c58e96de55d37979fb46e5a502a7e8d6e7 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=95cd22713f4dc63780f443ddf8c584322d1f2e280dae8418c8a526a594e842 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=9e0f68ed156a13caecfc626ac6ab7516853fd098bc61c56216c95b8d7fc398 + +handshake=Noise_Xpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542be0098b3b9dab8f530c810961603ba2f6a822cc78ac7eee268859f4df844553d30e3740165e3ae647bc0b502ee8e56a192bd7a7e255d12c4856c0d56857b688 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=c08a79e514742f8589a1ebe18591620d753a930a6f712a8e052fde4f0eee37 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=b2515711f8ce760c177220035b0693e0402e8b243720c39c2fa5c63d8fe506 + +handshake=Noise_Xpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254da919bbbd48942dc8dbb313ccfdf9cbe55ada3842eecc44363f68c7f277f40b9cb22eab3c5e8a67218d9e1d23c7c3b468f6237c9a41c4b7e67549484fb3d2ebc +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=e5c617be1a77e3328ced09ee748203bbb7afb29b2c84fb20cf3b3a6d638197 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=0c7261852346c160ee7df5a37ac9f3bad96737b841a6d544b39f3052e0dddd + +handshake=Noise_X_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254376c7107f9eb405171d2d1f3d248bce446063fa27b4685471cef3d72d2da8dea4a3e192003851247b8cd95003cccd0c552a973c425d8f07f60648804b7601dca1fdf628e900475030723 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=95cd22713f4dc63780f443ddf8c584322d1f2e280dae8418c8a526a594e842 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=9e0f68ed156a13caecfc626ac6ab7516853fd098bc61c56216c95b8d7fc398 + +handshake=Noise_Xpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542be0098b3b9dab8f530c810961603ba2f6a822cc78ac7eee268859f4df844553d30e3740165e3ae647bc0b502ee8e56a81596dfb309c93b19d1534841d06d77ec854aab3070121504346 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=c08a79e514742f8589a1ebe18591620d753a930a6f712a8e052fde4f0eee37 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=b2515711f8ce760c177220035b0693e0402e8b243720c39c2fa5c63d8fe506 + +handshake=Noise_Xpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254da919bbbd48942dc8dbb313ccfdf9cbe55ada3842eecc44363f68c7f277f40b9cb22eab3c5e8a67218d9e1d23c7c3b467b9fb8b2dd85bd90458553d745936beb7be4fbadae7aca179b16 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=e5c617be1a77e3328ced09ee748203bbb7afb29b2c84fb20cf3b3a6d638197 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=0c7261852346c160ee7df5a37ac9f3bad96737b841a6d544b39f3052e0dddd + +handshake=Noise_X_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254376c7107f9eb405171d2d1f3d248bce446063fa27b4685471cef3d72d2da8deaa15d6a63c69270eccce4c01bcc449c6fcb8d33e0971f84f0bdd310d557ae81d8 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=95cd22713f4dc63780f443ddf8c584322d1f2e280dae8418c8a526a594e842 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=9e0f68ed156a13caecfc626ac6ab7516853fd098bc61c56216c95b8d7fc398 + +handshake=Noise_Xpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542be0098b3b9dab8f530c810961603ba2f6a822cc78ac7eee268859f4df844553b33f9d2a4423e9a802ff89a058ed672f49301da562d43c4e84803ece0442d767 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=c08a79e514742f8589a1ebe18591620d753a930a6f712a8e052fde4f0eee37 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=b2515711f8ce760c177220035b0693e0402e8b243720c39c2fa5c63d8fe506 + +handshake=Noise_Xpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254da919bbbd48942dc8dbb313ccfdf9cbe55ada3842eecc44363f68c7f277f40b92bc84021a9f0cea4dcd51d10b9ddc776d8d7d0db81f5ed7985751fe2e2aea0ec +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=e5c617be1a77e3328ced09ee748203bbb7afb29b2c84fb20cf3b3a6d638197 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=0c7261852346c160ee7df5a37ac9f3bad96737b841a6d544b39f3052e0dddd + +handshake=Noise_X_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254376c7107f9eb405171d2d1f3d248bce446063fa27b4685471cef3d72d2da8deaa15d6a63c69270eccce4c01bcc449c6f52a973c425d8f07f606498675011335ab87e026edc45c947accd +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=95cd22713f4dc63780f443ddf8c584322d1f2e280dae8418c8a526a594e842 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=9e0f68ed156a13caecfc626ac6ab7516853fd098bc61c56216c95b8d7fc398 + +handshake=Noise_Xpsk0_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542be0098b3b9dab8f530c810961603ba2f6a822cc78ac7eee268859f4df844553b33f9d2a4423e9a802ff89a058ed672f81596dfb309c93b19d158cb77e84c978a3dcb608c6ecac6c2c5d +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=c08a79e514742f8589a1ebe18591620d753a930a6f712a8e052fde4f0eee37 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=b2515711f8ce760c177220035b0693e0402e8b243720c39c2fa5c63d8fe506 + +handshake=Noise_Xpsk1_25519_ChaChaPoly_SHA512 +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254da919bbbd48942dc8dbb313ccfdf9cbe55ada3842eecc44363f68c7f277f40b92bc84021a9f0cea4dcd51d10b9ddc7767b9fb8b2dd85bd904585a11cd434469ceca29de06fb9079d0a05 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=e5c617be1a77e3328ced09ee748203bbb7afb29b2c84fb20cf3b3a6d638197 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=0c7261852346c160ee7df5a37ac9f3bad96737b841a6d544b39f3052e0dddd + +handshake=Noise_NN_25519_ChaChaPoly_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664630f67598da3b42143a952be366791b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=13d25f218f99a206fea16ec00da9ffa85d826e945ff96cf5c809557d8ac3d5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f59ee5daa0c96f469ccbd54f22f1dc6e414db878e9802d9a60bbf66b17c2fa + +handshake=Noise_NNpsk0_25519_ChaChaPoly_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545ca945ccbc84a56bec9c401b36132676 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f0eb7ac83b0774a9e2869b41e7740303 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7811d68572ef1cef95b8a84abaa2c04c52c65b6bc7717b20d7d0937fbdd792 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ccf5caaaee5fd10189d055e7c7e73eff5c50c424c5186ba83af5921864b95f + +handshake=Noise_NNpsk1_25519_ChaChaPoly_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254eaad96f18f5a9a198b4236625eb25933 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666b172d38e2412c0ae2590dfdbe5e0832 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=627eff0c6f895f05f005ae386f2e3bd0f04a2ce1b308c09a9a7efc24b593d5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=57ebc9b6d2d2352741b60d2e221cc05b660997799e0589257dcbaa6ab8a453 + +handshake=Noise_NNpsk2_25519_ChaChaPoly_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254bcc2d28dc4fef41f14c5105e63af938f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846615dfc62d0cb9e27f1e7249fd3bd7a20a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=235d6e8d0ce1821b0a800f12b932240ca563d9246f535102faff2ce267bc2d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=454fc5046d2d0b78b7b7bf94edd69a124fc244e9ddc61f8991051192723e34 + +handshake=Noise_NN_25519_ChaChaPoly_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c86b9a678485762fc7a4f979bbd9953460114cd3b560182ebd35 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=13d25f218f99a206fea16ec00da9ffa85d826e945ff96cf5c809557d8ac3d5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f59ee5daa0c96f469ccbd54f22f1dc6e414db878e9802d9a60bbf66b17c2fa + +handshake=Noise_NNpsk0_25519_ChaChaPoly_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544291e8e0931ad8b16a789c6570707bcf7b224b7690859f627dfb +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466871d4367360b3a22ef391c1824a2fc2ef48f53b399433fb6ef10 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7811d68572ef1cef95b8a84abaa2c04c52c65b6bc7717b20d7d0937fbdd792 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ccf5caaaee5fd10189d055e7c7e73eff5c50c424c5186ba83af5921864b95f + +handshake=Noise_NNpsk1_25519_ChaChaPoly_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546f77e811ab35561749225514a9041dd60f0971cb6c16a595992a +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c0a44d4d21ef21ccaca66bf95c85c71b4176f2e082084e86f9c1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=627eff0c6f895f05f005ae386f2e3bd0f04a2ce1b308c09a9a7efc24b593d5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=57ebc9b6d2d2352741b60d2e221cc05b660997799e0589257dcbaa6ab8a453 + +handshake=Noise_NNpsk2_25519_ChaChaPoly_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254224ae179b2e475df7ec45848ad251c75c093fdcb0eccb715accb +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661ce2f4a22491191e59e782267d686152bb0931d0d95282be7d62 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=235d6e8d0ce1821b0a800f12b932240ca563d9246f535102faff2ce267bc2d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=454fc5046d2d0b78b7b7bf94edd69a124fc244e9ddc61f8991051192723e34 + +handshake=Noise_NN_25519_ChaChaPoly_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a632ac4e20596b74a3ba081cade4076b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=13d25f218f99a206fea16ec00da9ffa85d826e945ff96cf5c809557d8ac3d5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f59ee5daa0c96f469ccbd54f22f1dc6e414db878e9802d9a60bbf66b17c2fa + +handshake=Noise_NNpsk0_25519_ChaChaPoly_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b06ef00a4d70a332e9d2d7ee208915d8 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a69b59729468a7560df3f44a73e23793 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7811d68572ef1cef95b8a84abaa2c04c52c65b6bc7717b20d7d0937fbdd792 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ccf5caaaee5fd10189d055e7c7e73eff5c50c424c5186ba83af5921864b95f + +handshake=Noise_NNpsk1_25519_ChaChaPoly_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ce1d92d2350fbee302be9be3ad3c64da +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fa472236809ef20090d9cdcddcf53b3f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=627eff0c6f895f05f005ae386f2e3bd0f04a2ce1b308c09a9a7efc24b593d5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=57ebc9b6d2d2352741b60d2e221cc05b660997799e0589257dcbaa6ab8a453 + +handshake=Noise_NNpsk2_25519_ChaChaPoly_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545d25ad5a9ff63b9a03b1283e53ee3b47 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660d15867c6e1e33cb806e7213c2070fb2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=235d6e8d0ce1821b0a800f12b932240ca563d9246f535102faff2ce267bc2d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=454fc5046d2d0b78b7b7bf94edd69a124fc244e9ddc61f8991051192723e34 + +handshake=Noise_NN_25519_ChaChaPoly_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c86b9a678485762fc7a42265d67a1ab87c705687b414166c9df1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=13d25f218f99a206fea16ec00da9ffa85d826e945ff96cf5c809557d8ac3d5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f59ee5daa0c96f469ccbd54f22f1dc6e414db878e9802d9a60bbf66b17c2fa + +handshake=Noise_NNpsk0_25519_ChaChaPoly_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544291e8e0931ad8b16a78a94b1c635dbd71a5ac125379e105b3de +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466871d4367360b3a22ef39d1de21e1ff59b1753271ca93e5511e28 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=7811d68572ef1cef95b8a84abaa2c04c52c65b6bc7717b20d7d0937fbdd792 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ccf5caaaee5fd10189d055e7c7e73eff5c50c424c5186ba83af5921864b95f + +handshake=Noise_NNpsk1_25519_ChaChaPoly_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546f77e811ab355617492204d2720b9e3cf1b1aec5da0fcaa6bf91 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c0a44d4d21ef21ccaca686386a2bf51e7354e7af59917d9b6643 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=627eff0c6f895f05f005ae386f2e3bd0f04a2ce1b308c09a9a7efc24b593d5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=57ebc9b6d2d2352741b60d2e221cc05b660997799e0589257dcbaa6ab8a453 + +handshake=Noise_NNpsk2_25519_ChaChaPoly_BLAKE2b +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254224ae179b2e475df7ec4a184c97251967b804a044fdfd2aea7d6 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661ce2f4a22491191e59e7076f9aedbd9c6be1c26f94ef4491cd5a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=235d6e8d0ce1821b0a800f12b932240ca563d9246f535102faff2ce267bc2d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=454fc5046d2d0b78b7b7bf94edd69a124fc244e9ddc61f8991051192723e34 + +handshake=Noise_KN_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a2f457bc3aff4cffba8148122b472e8d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c096947fe48821afe851ee5ab92bb0df988463d57ba4b283ec431ff8661cd0 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=75bc0377d0436cff22226d1136c0690df2727247cc08bcb1bacd5515bc0b03 + +handshake=Noise_KNpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625405d8c5acffb92564fbf7452d9342b1f2 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846612a034b4785dad8a1de7e4ef2d8db776 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=84e4d0e9a8d546be134bd8d93e6d4ef9fe83b7fc8503ed1d6a3495db3a35b6 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ae361ebb5e7ae9d1fdad4c00b920379f19fca1eb3997bcccda85a6308b47bd + +handshake=Noise_KNpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c1ea9f3ccd34beeeaa8e540bc7eb9f54 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466efd17f977051f84913f28c6129853611 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e5ccaaeb804ee27f31fb09b68d42fe6b940367fcb4f3591d2fd82b72024edc +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5afd726057fe1cb681ee905558ed76fbe22239fcbcf8f39970d6ad48ab4f51 + +handshake=Noise_KNpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544d5cff5d8b30c51e9adc0b19105c1313 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846687e6f622354e5f80d7cef534378f3090 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e33a92b005c91179ff2a9f0e179b0c972f9b388541bd5c62c379cc05d0ec80 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e73a4ead0be8bd5e1dac776d7d88f6bda655f69da442b99ba0742dc5905d57 + +handshake=Noise_KN_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846692e0f0cadb3c591903a8bf99a59da7cf9db265b8ae6b75dc23da +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c096947fe48821afe851ee5ab92bb0df988463d57ba4b283ec431ff8661cd0 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=75bc0377d0436cff22226d1136c0690df2727247cc08bcb1bacd5515bc0b03 + +handshake=Noise_KNpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c50efd8dcd4dc214c8054a27dc861e4fd0b7593e07254b0ee129 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ccf4b6474627f408499a1bbe8979e087d3029557416e4804d234 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=84e4d0e9a8d546be134bd8d93e6d4ef9fe83b7fc8503ed1d6a3495db3a35b6 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ae361ebb5e7ae9d1fdad4c00b920379f19fca1eb3997bcccda85a6308b47bd + +handshake=Noise_KNpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545b869eb72ca64cc2d6827db97a739536c13cbabd38989507992b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663fe7d7cee5f0380f6c801eab927dd4639ffd11e2c2bcb2e9e4b1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e5ccaaeb804ee27f31fb09b68d42fe6b940367fcb4f3591d2fd82b72024edc +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5afd726057fe1cb681ee905558ed76fbe22239fcbcf8f39970d6ad48ab4f51 + +handshake=Noise_KNpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625421ec5b7f100436755fcc7344c07f39d3b204fcb238e868e30f8f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846645e9ac3e449c0f53b6793b6526cdfa0d8960b745aa88cb98b4c1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e33a92b005c91179ff2a9f0e179b0c972f9b388541bd5c62c379cc05d0ec80 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e73a4ead0be8bd5e1dac776d7d88f6bda655f69da442b99ba0742dc5905d57 + +handshake=Noise_KN_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d1ac871da6795cd1bf42f6e4778eba0e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c096947fe48821afe851ee5ab92bb0df988463d57ba4b283ec431ff8661cd0 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=75bc0377d0436cff22226d1136c0690df2727247cc08bcb1bacd5515bc0b03 + +handshake=Noise_KNpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625476ee8d7f3a1828d84dcbf1fcc8a4a2af +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662f8bb2f6eb8e944455239c3883d5baa9 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=84e4d0e9a8d546be134bd8d93e6d4ef9fe83b7fc8503ed1d6a3495db3a35b6 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ae361ebb5e7ae9d1fdad4c00b920379f19fca1eb3997bcccda85a6308b47bd + +handshake=Noise_KNpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254044d66fd5be6f6f903529a08c91ca7a8 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b28a402e90013fb224a3cdc6885ab50e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e5ccaaeb804ee27f31fb09b68d42fe6b940367fcb4f3591d2fd82b72024edc +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5afd726057fe1cb681ee905558ed76fbe22239fcbcf8f39970d6ad48ab4f51 + +handshake=Noise_KNpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f48976f8e36a771ae749f67142338313 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466110f04a5d3f770028208831ad8973e78 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e33a92b005c91179ff2a9f0e179b0c972f9b388541bd5c62c379cc05d0ec80 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e73a4ead0be8bd5e1dac776d7d88f6bda655f69da442b99ba0742dc5905d57 + +handshake=Noise_KN_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846692e0f0cadb3c591903a8ddab209d656baadf356263026a58bd22 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c096947fe48821afe851ee5ab92bb0df988463d57ba4b283ec431ff8661cd0 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=75bc0377d0436cff22226d1136c0690df2727247cc08bcb1bacd5515bc0b03 + +handshake=Noise_KNpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c50efd8dcd4dc214c805058c30240a610132a8a3910453e655d5 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ccf4b6474627f408499acbcf8ca41dedf91ee38353404982353a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=84e4d0e9a8d546be134bd8d93e6d4ef9fe83b7fc8503ed1d6a3495db3a35b6 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ae361ebb5e7ae9d1fdad4c00b920379f19fca1eb3997bcccda85a6308b47bd + +handshake=Noise_KNpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545b869eb72ca64cc2d682cb6669a21f17801f9ae01c063e4ddc66 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663fe7d7cee5f0380f6c8054b28c1be92664a53099215dd224c2a6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e5ccaaeb804ee27f31fb09b68d42fe6b940367fcb4f3591d2fd82b72024edc +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5afd726057fe1cb681ee905558ed76fbe22239fcbcf8f39970d6ad48ab4f51 + +handshake=Noise_KNpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625421ec5b7f100436755fcc5821bb3b0e9440da589fba503939929d +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846645e9ac3e449c0f53b6793ad3c38088fe2a9a1687817650d29825 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e33a92b005c91179ff2a9f0e179b0c972f9b388541bd5c62c379cc05d0ec80 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e73a4ead0be8bd5e1dac776d7d88f6bda655f69da442b99ba0742dc5905d57 + +handshake=Noise_NK_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c6e796fa47f064296ace520223eb1dd4 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846676512fffc7284353c50e8f1e50b945fb +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=02e58bb367d2215eee3ce2e3a92143cab6b06f86312014629c8eba7d0e38e5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0ba20925776dbb39ccd4cdce82047b8d60db1ffc2f0acad621ef0d9009aca0 + +handshake=Noise_NKpsk0_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547760d42a506aaa5170e068f630688a53 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664ff57dc460faf9957ccc215c82625f72 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=815fb4a13763ec1687575d026446fb266cc4559a2e093563cd567c1928f829 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ef3d9cab1bedc9b8c09ecc5d236462d60fd9a9422e8784d32f31ab27ca422e + +handshake=Noise_NKpsk1_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542c3389c93d1cbbd6c6f019414066af3e +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664893d38851f50347bf1ce3de9524655f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=110a8f74722cb3993b524fb420736083bf5289a21c683b579810d9109d5c9b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=22b76dbeef407b045457a05be6485cc69046d41ddfc4cf527be814ff661dbd + +handshake=Noise_NKpsk2_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254faa23cff30269a31a11f5b42c9162604 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e9b51f8946c2ae367b2d20ce054ef95e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=09fe0a7fa8ec12cf6456d2d0a55b78880b6ee9334179cedf36b8216b0b179b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e79a394c1e746f3dae6a5f2cb32ca5a20604059585ebb6c339012c9de90641 + +handshake=Noise_NK_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c81819c82320a3cf8a849bd2e79390bde13b992be00ca8465386 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661a77bcc3ed425db85bd9597b6a0d34435d1010cb1b0a3d984f96 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=02e58bb367d2215eee3ce2e3a92143cab6b06f86312014629c8eba7d0e38e5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0ba20925776dbb39ccd4cdce82047b8d60db1ffc2f0acad621ef0d9009aca0 + +handshake=Noise_NKpsk0_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ef2398290ba5d346eb19be574fc6ccce0965514c9aa58262d397 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663b5e2c4787084bef7e3a09ee94b7c2173313452ed41413a3efa1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=815fb4a13763ec1687575d026446fb266cc4559a2e093563cd567c1928f829 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ef3d9cab1bedc9b8c09ecc5d236462d60fd9a9422e8784d32f31ab27ca422e + +handshake=Noise_NKpsk1_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625437705fd6001f9d8fcdd2add594d12af9de7abea9a566426838ca +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666af1d6140fb3e3cd79fa80d74125e9148a2fae4a01fa69759c41 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=110a8f74722cb3993b524fb420736083bf5289a21c683b579810d9109d5c9b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=22b76dbeef407b045457a05be6485cc69046d41ddfc4cf527be814ff661dbd + +handshake=Noise_NKpsk2_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542990e960017d439237f507eb9a110ea1c15cd1961db0eee83129 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846633b80c1088b1489016fc9f7b244968820f26c348bc378f826c69 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=09fe0a7fa8ec12cf6456d2d0a55b78880b6ee9334179cedf36b8216b0b179b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e79a394c1e746f3dae6a5f2cb32ca5a20604059585ebb6c339012c9de90641 + +handshake=Noise_NK_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625459b23e6596ccfc1d861e44965c248bc3 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f16a3ac5548d7e8b622e26baf3f256a1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=02e58bb367d2215eee3ce2e3a92143cab6b06f86312014629c8eba7d0e38e5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0ba20925776dbb39ccd4cdce82047b8d60db1ffc2f0acad621ef0d9009aca0 + +handshake=Noise_NKpsk0_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541bc20995406cf070cdbd007ba8de8fc3 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666fff7b379bd0814d6ab0f7d1cdf32e59 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=815fb4a13763ec1687575d026446fb266cc4559a2e093563cd567c1928f829 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ef3d9cab1bedc9b8c09ecc5d236462d60fd9a9422e8784d32f31ab27ca422e + +handshake=Noise_NKpsk1_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254526352a52eb702c0846d41e845f956e6 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665d3bcbb1d75f8239e7dd48fd00e023ba +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=110a8f74722cb3993b524fb420736083bf5289a21c683b579810d9109d5c9b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=22b76dbeef407b045457a05be6485cc69046d41ddfc4cf527be814ff661dbd + +handshake=Noise_NKpsk2_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540c54a88750132ccc7d2606ccd647e158 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b5570e4eb7f95e64466aa037c73e745e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=09fe0a7fa8ec12cf6456d2d0a55b78880b6ee9334179cedf36b8216b0b179b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e79a394c1e746f3dae6a5f2cb32ca5a20604059585ebb6c339012c9de90641 + +handshake=Noise_NK_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c81819c82320a3cf8a848138f5e224a7535afb46defe7d87553c +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661a77bcc3ed425db85bd942db11c4661841c59bc54d0800472873 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=02e58bb367d2215eee3ce2e3a92143cab6b06f86312014629c8eba7d0e38e5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0ba20925776dbb39ccd4cdce82047b8d60db1ffc2f0acad621ef0d9009aca0 + +handshake=Noise_NKpsk0_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ef2398290ba5d346eb19c7fc80387a124bee9c89251344667fc0 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663b5e2c4787084bef7e3a6061d1819ecd024f00bf02c2e6acf677 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=815fb4a13763ec1687575d026446fb266cc4559a2e093563cd567c1928f829 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ef3d9cab1bedc9b8c09ecc5d236462d60fd9a9422e8784d32f31ab27ca422e + +handshake=Noise_NKpsk1_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625437705fd6001f9d8fcdd2730a8aedfe5a4471d07b97371d534f57 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666af1d6140fb3e3cd79fa4642e8c5891b3c04a8128d5f3cd3a845 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=110a8f74722cb3993b524fb420736083bf5289a21c683b579810d9109d5c9b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=22b76dbeef407b045457a05be6485cc69046d41ddfc4cf527be814ff661dbd + +handshake=Noise_NKpsk2_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542990e960017d439237f52c524921d226d4977c7c5f80fe55e3c7 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846633b80c1088b1489016fceccf88e99c39eb84390e2d6c09747f91 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=09fe0a7fa8ec12cf6456d2d0a55b78880b6ee9334179cedf36b8216b0b179b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=e79a394c1e746f3dae6a5f2cb32ca5a20604059585ebb6c339012c9de90641 + +handshake=Noise_KK_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540add9701c614f83639fc5b8469a824e1 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466adae6f9cdefe2c94ee03225c37604b0a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=3dc2f873e6658db54bb9c572f74b4c1cf45ad75c65239938a138836f952884 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8e3bc17a298d558e3a06e40efb7b7fb5c96c4aa1d5e4d5f787d2515e14b998 + +handshake=Noise_KKpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546610e2230ff1f3183d48afe4781ff0f6 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466727d1d82190773d3282167eb6e957f08 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4c270a853bd1c257e47c627efd4b79e3530ba09c1d52d5b17a2b3692c1f1c7 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ae75589da7fee8dd69c1b09e67a2c1f7e6eacaee8014dd93276961df209a42 + +handshake=Noise_KKpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254fef2b62435793bda6a4c4aad05ae8b4a +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667b3cb7dfdc05036e035075c3154d5f32 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=fe3643f10e3112865a008a1c5c10c54896ca6d88c8d90914f94dd6fac138cd +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=403d08bf236b73390ed2923cd3c1ff651185bbe29b564d2cb40a4675b6cbfc + +handshake=Noise_KKpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546dec2771909ce9080044dd47d7e2ba76 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846619249b3f50f0f8542659ce99e21cb636 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=30f5556b007aaf32d4952968082ba5217423797071e81cdd569b73a8725017 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2dc14afd5ebf1485e853ba62a6180a64707caa20165712e8d495c8c603e97f + +handshake=Noise_KK_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549c28485b9d3a6a7ca1e70af530f049309a3b19da102d864d1599 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846626c79bad0b5abe023979c227b9eb46738a33dbc12faa4ab64df0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=3dc2f873e6658db54bb9c572f74b4c1cf45ad75c65239938a138836f952884 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8e3bc17a298d558e3a06e40efb7b7fb5c96c4aa1d5e4d5f787d2515e14b998 + +handshake=Noise_KKpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549c643b3d339ed91764914480f545d04a1cdf9982ed7e7e1286a7 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466418f1875550e6432799a2eb9a92fcb4fc53bad4bb8aa1dc3f3ca +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4c270a853bd1c257e47c627efd4b79e3530ba09c1d52d5b17a2b3692c1f1c7 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ae75589da7fee8dd69c1b09e67a2c1f7e6eacaee8014dd93276961df209a42 + +handshake=Noise_KKpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545e50e3aef221429fa8e8134dcc000d3ce8f0a959f9b5cc273dbc +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665a65999701c16a9ae50ffe150f59674b235dcf3a3d6ea1d5d91f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=fe3643f10e3112865a008a1c5c10c54896ca6d88c8d90914f94dd6fac138cd +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=403d08bf236b73390ed2923cd3c1ff651185bbe29b564d2cb40a4675b6cbfc + +handshake=Noise_KKpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ea662b9896170d9582a6150ca6343873bc78f15cbd3060355e29 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666c2eeab8af4a3f66ba3d1a3e4b4acc9f606878c661b2ba31a4ec +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=30f5556b007aaf32d4952968082ba5217423797071e81cdd569b73a8725017 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2dc14afd5ebf1485e853ba62a6180a64707caa20165712e8d495c8c603e97f + +handshake=Noise_KK_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543e047c5ed566988814daa1e9e4605341 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664938a09e1060496bb538cb5f75115a31 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=3dc2f873e6658db54bb9c572f74b4c1cf45ad75c65239938a138836f952884 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8e3bc17a298d558e3a06e40efb7b7fb5c96c4aa1d5e4d5f787d2515e14b998 + +handshake=Noise_KKpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545df1c569503f51071bdf5cd13746f1f6 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660fb79e8c546d18b5aedcec17dd1b7ae3 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4c270a853bd1c257e47c627efd4b79e3530ba09c1d52d5b17a2b3692c1f1c7 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ae75589da7fee8dd69c1b09e67a2c1f7e6eacaee8014dd93276961df209a42 + +handshake=Noise_KKpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254edd4fe26947e07493993cad56c107e29 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662480512f17f4dda812ba7e8c02b84333 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=fe3643f10e3112865a008a1c5c10c54896ca6d88c8d90914f94dd6fac138cd +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=403d08bf236b73390ed2923cd3c1ff651185bbe29b564d2cb40a4675b6cbfc + +handshake=Noise_KKpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b2d96179cc834d3bf1192c8cd4e7c1f0 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846624d094f7cde5f0b1561205f0a58cb4e1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=30f5556b007aaf32d4952968082ba5217423797071e81cdd569b73a8725017 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2dc14afd5ebf1485e853ba62a6180a64707caa20165712e8d495c8c603e97f + +handshake=Noise_KK_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549c28485b9d3a6a7ca1e7ae04c80a14d382f1e9a8b3932548ecfa +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846626c79bad0b5abe023979ebedf6784eaba92e4bbc6ade0a638027 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=3dc2f873e6658db54bb9c572f74b4c1cf45ad75c65239938a138836f952884 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8e3bc17a298d558e3a06e40efb7b7fb5c96c4aa1d5e4d5f787d2515e14b998 + +handshake=Noise_KKpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549c643b3d339ed91764918cbf74d28fc8719e73556b95fb8700c3 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466418f1875550e6432799a6d7ab709f63bdae8d6d2c952226eb8e2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4c270a853bd1c257e47c627efd4b79e3530ba09c1d52d5b17a2b3692c1f1c7 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ae75589da7fee8dd69c1b09e67a2c1f7e6eacaee8014dd93276961df209a42 + +handshake=Noise_KKpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545e50e3aef221429fa8e881b96f072d239b26dfd0155e0757eda9 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665a65999701c16a9ae50fd52f26c48089f42e1c84202264bba4d3 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=fe3643f10e3112865a008a1c5c10c54896ca6d88c8d90914f94dd6fac138cd +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=403d08bf236b73390ed2923cd3c1ff651185bbe29b564d2cb40a4675b6cbfc + +handshake=Noise_KKpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ea662b9896170d9582a69f28efbf005006e6d922df48806ea391 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666c2eeab8af4a3f66ba3df608254030f07adb8a353054b309566a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=30f5556b007aaf32d4952968082ba5217423797071e81cdd569b73a8725017 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2dc14afd5ebf1485e853ba62a6180a64707caa20165712e8d495c8c603e97f + +handshake=Noise_NX_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661001bf5d654afd000b60a48982a7f8f16bad1946aefa20866c7c142a94c472233b64ed63dfc7555c854c43e68cd95f6d1475061fe795ea1e30f1cf6d8077235a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b9e79f9d8263bcf07bbcc8e8729039c8cce829d3be34aa7f1414aef1312e2e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=cb46d49add7c73f9a1bc9c2bb015e114ff3c23aaff62326cd077f3d54d3d8d + +handshake=Noise_NXpsk0_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d1cb2f10981522e83aae2312213c754f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665fd1624f32ed036ff7fc7f8c27ff605eba031dca8f50f0750e420763654f319c02737a43b9d5d56fd312fbd3e875bf695b546491b9a5d4f0a3866dd74079bdc1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=9057ac2b936c434d8bd9a5f926136918b98c36c73d65ae6e092509dc0f7d1d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6434f211fcaa13b60694f51d53bd2d058231706b393d76016e6fb18500796a + +handshake=Noise_NXpsk1_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544f135b82ef3c887c3a1f13fa66bdd6ff +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d6f1bac5db9338604250bf5aea410705dab380ac8d53e05070aa26bd4e8adba93f296cffaa1f2ed206645b81e91e706bbcfd9abe7465b3eed22b53984a1dac07 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=2681c5a5a71b1a764618ffe8265b55b0262a8dc0e579ea417b506565587609 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b512c5f3481260755d59236bcf47d03b49096fbfb58f4f01d3e57e93aa8a80 + +handshake=Noise_NXpsk2_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e5854b1e81cbb8cc49dc98173b9cefd0 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466492d0eb95d7c0b7d7e02e0057dab75d823438caf0ca19e7b8f550466c9e5ec10c36f9e3ab39e90ce475d2ce2f81d912655d8d21d8ee3c26ca6111bb3bdc449e0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=87c279f5b3cab2d36d5d53adfef24f41f8f0ad59541d80cfeb3d32a9373ab4 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=163c5ca8ea00dd3b81b2b494e038ad57c26277be9a54efbf0b491eb34621ea + +handshake=Noise_NX_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661001bf5d654afd000b60a48982a7f8f16bad1946aefa20866c7c142a94c47223b18e3f707c460fbaa28865ad9d668ea9abda0084c02e273674c44fe10712a87cf1f039a7c62b617178f0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b9e79f9d8263bcf07bbcc8e8729039c8cce829d3be34aa7f1414aef1312e2e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=cb46d49add7c73f9a1bc9c2bb015e114ff3c23aaff62326cd077f3d54d3d8d + +handshake=Noise_NXpsk0_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625447633918cf073418422f340bfd1bc8db323c006435cbeb4e766f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665fd1624f32ed036ff7fc7f8c27ff605eba031dca8f50f0750e420763654f319c306334979630201ed10c494d6e98c7599c97ed31e367ab91ae6752af9d3e7f0f310b1a68839b57f3af4b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=9057ac2b936c434d8bd9a5f926136918b98c36c73d65ae6e092509dc0f7d1d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6434f211fcaa13b60694f51d53bd2d058231706b393d76016e6fb18500796a + +handshake=Noise_NXpsk1_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254feeb1e12496f2e4e099574f80191ac09276f3f7e5e523e91eb01 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d6f1bac5db9338604250bf5aea410705dab380ac8d53e05070aa26bd4e8adba9725f545c2be3115608bd82e9ecc664e335683343957a81560b3c30b947654f0cf1b4d8a7f75fe3b6766e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=2681c5a5a71b1a764618ffe8265b55b0262a8dc0e579ea417b506565587609 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b512c5f3481260755d59236bcf47d03b49096fbfb58f4f01d3e57e93aa8a80 + +handshake=Noise_NXpsk2_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548c01fe1c6c49957de78d150a12bc0a4299e0fce95818fcf28e50 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466492d0eb95d7c0b7d7e02e0057dab75d823438caf0ca19e7b8f550466c9e5ec1064d3270ff07b4c418f9960259ec303f31e374382eb37dddd0343063ec69b9f6a1cb2126f82a678d8b5fa +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=87c279f5b3cab2d36d5d53adfef24f41f8f0ad59541d80cfeb3d32a9373ab4 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=163c5ca8ea00dd3b81b2b494e038ad57c26277be9a54efbf0b491eb34621ea + +handshake=Noise_NX_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661001bf5d654afd000b60a48982a7f8f16bad1946aefa20866c7c142a94c47223332bc232984079635e54eb96a835e148dc8d60cae839375194f9c7b0ddc8c951 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b9e79f9d8263bcf07bbcc8e8729039c8cce829d3be34aa7f1414aef1312e2e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=cb46d49add7c73f9a1bc9c2bb015e114ff3c23aaff62326cd077f3d54d3d8d + +handshake=Noise_NXpsk0_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545276316a0ed49eab2fa9c4d911322382 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665fd1624f32ed036ff7fc7f8c27ff605eba031dca8f50f0750e420763654f319c3ca35ccf8d081dd3bc901f4a5d13c8f683208c9cd51ac4c469753652411a6a2b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=9057ac2b936c434d8bd9a5f926136918b98c36c73d65ae6e092509dc0f7d1d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6434f211fcaa13b60694f51d53bd2d058231706b393d76016e6fb18500796a + +handshake=Noise_NXpsk1_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254043225c8bd9663ef3ef17c4f3a01688a +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d6f1bac5db9338604250bf5aea410705dab380ac8d53e05070aa26bd4e8adba90e3e28528791e262d6447fc135a62b6ef174eca6f83586e29efebf0d211d6c17 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=2681c5a5a71b1a764618ffe8265b55b0262a8dc0e579ea417b506565587609 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b512c5f3481260755d59236bcf47d03b49096fbfb58f4f01d3e57e93aa8a80 + +handshake=Noise_NXpsk2_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549f846d3cf079683dacbc4b63ad6c0a01 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466492d0eb95d7c0b7d7e02e0057dab75d823438caf0ca19e7b8f550466c9e5ec10dcff0ef61dd99720eed6968a3a5f9ebc124df4a7e622f4aaa27dbf6803ab23d4 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=87c279f5b3cab2d36d5d53adfef24f41f8f0ad59541d80cfeb3d32a9373ab4 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=163c5ca8ea00dd3b81b2b494e038ad57c26277be9a54efbf0b491eb34621ea + +handshake=Noise_NX_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661001bf5d654afd000b60a48982a7f8f16bad1946aefa20866c7c142a94c47223888ddf72adf7001627f8ed91dd333d25abda0084c02e273674c4f5a1c2f6bc0ba9c95969fa9346fbaf1f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b9e79f9d8263bcf07bbcc8e8729039c8cce829d3be34aa7f1414aef1312e2e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=cb46d49add7c73f9a1bc9c2bb015e114ff3c23aaff62326cd077f3d54d3d8d + +handshake=Noise_NXpsk0_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625447633918cf073418422f4e800c64262116b557756d3917dea3b0 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665fd1624f32ed036ff7fc7f8c27ff605eba031dca8f50f0750e420763654f319c22fc74d15ca64b517e5b7d93d4786c339c97ed31e367ab91ae6763a0ae92a90d8db97f341fa0af4b2922 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=9057ac2b936c434d8bd9a5f926136918b98c36c73d65ae6e092509dc0f7d1d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=6434f211fcaa13b60694f51d53bd2d058231706b393d76016e6fb18500796a + +handshake=Noise_NXpsk1_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254feeb1e12496f2e4e0995be8115bad42c6477a3b1b28252a81fbe +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d6f1bac5db9338604250bf5aea410705dab380ac8d53e05070aa26bd4e8adba9259737628f54586b0c82e86c3d58105635683343957a81560b3c76df030794ccb6677d91b03c63198fed +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=2681c5a5a71b1a764618ffe8265b55b0262a8dc0e579ea417b506565587609 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b512c5f3481260755d59236bcf47d03b49096fbfb58f4f01d3e57e93aa8a80 + +handshake=Noise_NXpsk2_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548c01fe1c6c49957de78d567452df11303abb4e72c68fd934013b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466492d0eb95d7c0b7d7e02e0057dab75d823438caf0ca19e7b8f550466c9e5ec1089cb6312ea00184d8e4823521c7542711e374382eb37dddd03434e498cfe49446d13a1f17641c62d74be +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=87c279f5b3cab2d36d5d53adfef24f41f8f0ad59541d80cfeb3d32a9373ab4 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=163c5ca8ea00dd3b81b2b494e038ad57c26277be9a54efbf0b491eb34621ea + +handshake=Noise_KX_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466179eeb7aae5b20dec5995bc6a5d6e2bb9ba4230601424a00e6db617861aa71450288e5ec4f28f4623eb6bdb44b3157684d77cd66463f11069c7d976244bc728d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c2bb1a0510ab355a2510ff3004b60eca89d1719792c5debfe35e8bacd3a22b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8b38dc71a41266bb63183e45bc3e44f8f57fe720828cbc1296dc6bfc7d2557 + +handshake=Noise_KXpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254939dacc481851a259b90b407652ca87c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d3c3067c9805256d1dc3e4270df2edf92b5490b88dfc45ad9d5a48b23d181af0dcad241275390b064c4b453d071f8e4ad6d2515685b25744b80f8e6f4a4abb7c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=f7b885d922743399857f09ed19c19ca8a4e74cd85eda575b12444f1fed058f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2686fb37d67ed89179e0b5d0af77792ee6cf1a9b7e169af39512daeb1d20d3 + +handshake=Noise_KXpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547062e9cf5576fc2b4c124d9ce66a28a0 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668632910f8bae8e626c3c3ee7de1bc07dc38d0186546649ae93933bdc7edb0a65a46196ceff28ba865581ec2563330a8ce8891f325f8a478efc4c955d2eb6a37d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=115fea697d7bcade2ef9a2d597bd4084a517fe809ecc0741ce9dd61c98fb90 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=c85e6c4d4331ad8ed2db83a7e9406ac663299046ea7582b1f5e2cc4c7c935d + +handshake=Noise_KXpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545d1f4bb51a8be81e03d55eddabf13fbb +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669cd62d93703ab4f915f66c4c10b254212de4a53b3d95a63ea962f6d35da0d9542ccb4b9b10b069dfaaf134297079a71db28c4babf29d84b7d8f8227826600fc9 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=409d4523fe0934586527baa3e12f1d4f5052096478e56e84c175fcc9b6625f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b7d53fd728a2b440653f65a1facc49bcad6ca6e0a78972c4271b8518290c91 + +handshake=Noise_KX_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466179eeb7aae5b20dec5995bc6a5d6e2bb9ba4230601424a00e6db617861aa71457d13eafd308a55b40ab5f394b4a062f11647d7c3399446edcb98c15fd689f9a1130785bb45bb91377c1c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c2bb1a0510ab355a2510ff3004b60eca89d1719792c5debfe35e8bacd3a22b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8b38dc71a41266bb63183e45bc3e44f8f57fe720828cbc1296dc6bfc7d2557 + +handshake=Noise_KXpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542a49dcf4c8364f330f2c4096746db3b89b22d735da6a239394a2 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d3c3067c9805256d1dc3e4270df2edf92b5490b88dfc45ad9d5a48b23d181af0d2bb9743fc882ac69de65ea6a60888a59d4fff629fa819bbff1024925852f1686ee8cf6c72c230c97381 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=f7b885d922743399857f09ed19c19ca8a4e74cd85eda575b12444f1fed058f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2686fb37d67ed89179e0b5d0af77792ee6cf1a9b7e169af39512daeb1d20d3 + +handshake=Noise_KXpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543a9230768ed98f32a31dd2e8e4ebd76f2e0ca3824a4c211aeda0 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668632910f8bae8e626c3c3ee7de1bc07dc38d0186546649ae93933bdc7edb0a651dbc7414ce613441d019292b1c34b8d0c3b6f6d04e36d77d8232f885f117d61218b74ceee4bb683247d0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=115fea697d7bcade2ef9a2d597bd4084a517fe809ecc0741ce9dd61c98fb90 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=c85e6c4d4331ad8ed2db83a7e9406ac663299046ea7582b1f5e2cc4c7c935d + +handshake=Noise_KXpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545c320f73198c23651d414b71ef96c3edcc0e4e02d78b3359ff30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669cd62d93703ab4f915f66c4c10b254212de4a53b3d95a63ea962f6d35da0d9544a9cb36f29d81bffa4d9168eea4b4d5391296c52ec0585c8deeef0425f8728304a8f10ad563280a2f1d4 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=409d4523fe0934586527baa3e12f1d4f5052096478e56e84c175fcc9b6625f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b7d53fd728a2b440653f65a1facc49bcad6ca6e0a78972c4271b8518290c91 + +handshake=Noise_KX_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466179eeb7aae5b20dec5995bc6a5d6e2bb9ba4230601424a00e6db617861aa71458e36527aef883c8c96b8f626909171994d85960ab8d14303beb35b5df7204a10 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c2bb1a0510ab355a2510ff3004b60eca89d1719792c5debfe35e8bacd3a22b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8b38dc71a41266bb63183e45bc3e44f8f57fe720828cbc1296dc6bfc7d2557 + +handshake=Noise_KXpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f39aef73df6fe3c5f28de40ce7f759a0 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d3c3067c9805256d1dc3e4270df2edf92b5490b88dfc45ad9d5a48b23d181af05d9187615bf9c1d9b1e5d7779bcee0bdcbb351df0b5b450a6ffcb11a5287109c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=f7b885d922743399857f09ed19c19ca8a4e74cd85eda575b12444f1fed058f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2686fb37d67ed89179e0b5d0af77792ee6cf1a9b7e169af39512daeb1d20d3 + +handshake=Noise_KXpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f39c39bdeb9989b9352beb67fbb47db0 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668632910f8bae8e626c3c3ee7de1bc07dc38d0186546649ae93933bdc7edb0a65c6f3b964c11299306556d0df66e428db049c2698e430f4f642b228c12e8b196d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=115fea697d7bcade2ef9a2d597bd4084a517fe809ecc0741ce9dd61c98fb90 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=c85e6c4d4331ad8ed2db83a7e9406ac663299046ea7582b1f5e2cc4c7c935d + +handshake=Noise_KXpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625492e67987c1b2adc0152f1442ae64a66d +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669cd62d93703ab4f915f66c4c10b254212de4a53b3d95a63ea962f6d35da0d954f1d3d37785abc0bc28d3e37a0d3df4fbcea0bc3b6f47926decd3d4b98ea0990f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=409d4523fe0934586527baa3e12f1d4f5052096478e56e84c175fcc9b6625f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b7d53fd728a2b440653f65a1facc49bcad6ca6e0a78972c4271b8518290c91 + +handshake=Noise_KX_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466179eeb7aae5b20dec5995bc6a5d6e2bb9ba4230601424a00e6db617861aa7145dda1510598297081009b0fc99622410c1647d7c3399446edcb98da03e57385e8faac62bdc41eadcecb8b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c2bb1a0510ab355a2510ff3004b60eca89d1719792c5debfe35e8bacd3a22b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8b38dc71a41266bb63183e45bc3e44f8f57fe720828cbc1296dc6bfc7d2557 + +handshake=Noise_KXpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542a49dcf4c8364f330f2c15d431db17f7b786d48c641fbe6400e2 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d3c3067c9805256d1dc3e4270df2edf92b5490b88dfc45ad9d5a48b23d181af0d9b183f5fbd413da83c7c79e1bd427b09d4fff629fa819bbff108d80d0b71ab1d99b7c818456879b06b6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=f7b885d922743399857f09ed19c19ca8a4e74cd85eda575b12444f1fed058f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2686fb37d67ed89179e0b5d0af77792ee6cf1a9b7e169af39512daeb1d20d3 + +handshake=Noise_KXpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543a9230768ed98f32a31d857e0da9b9145a8da70a019517797d63 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668632910f8bae8e626c3c3ee7de1bc07dc38d0186546649ae93933bdc7edb0a6546e65dee7b9d77f189d5f5fa8ee92552c3b6f6d04e36d77d82327b7f5cb50529fd6b2174e66a7148312f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=115fea697d7bcade2ef9a2d597bd4084a517fe809ecc0741ce9dd61c98fb90 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=c85e6c4d4331ad8ed2db83a7e9406ac663299046ea7582b1f5e2cc4c7c935d + +handshake=Noise_KXpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545c320f73198c23651d417f6af622e2c553d933c8c67756f925b4 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669cd62d93703ab4f915f66c4c10b254212de4a53b3d95a63ea962f6d35da0d954aa7c44244e9ce82031d2825a5dcd0c5c91296c52ec0585c8deee38dff35af0421f67c4a806b7f4f49d47 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=409d4523fe0934586527baa3e12f1d4f5052096478e56e84c175fcc9b6625f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b7d53fd728a2b440653f65a1facc49bcad6ca6e0a78972c4271b8518290c91 + +handshake=Noise_XN_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660bee8aa990598c582bf25ff21b457e80 +msg_2_payload= +msg_2_ciphertext=291e0f5e79575df990b58e317022d3c6c864164d559dcb77ceb88a02eba2e0a422aa0bc47de0c7b744c10a26b0f4de12ca28ba39eb4266bbe53ef915a869eb69 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=f9972897d0a22fd3ab4f7df758c17201e716d92495d7e798597ca633fcfa79 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=663a74b07d26987f1aaea566c63fed3ab905d0549d4cbbba95998087711e7b + +handshake=Noise_XNpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254157c844130c0ac1a8cd295ab5c2863f2 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d0ccb8f5058ba0a1fe9e0d072bb75403 +msg_2_payload= +msg_2_ciphertext=dd296759956a201688e8438b5452e3224f22f3ce9a0c57b37a16b930b0dc6ce29ed8196b7ab499814a3cf0cd656a4959302475376a205bb9aee6b4d6d6af5210 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=b8f919e1619e002fc009c8201390385e887e9cef040b20b93d6d92525060af +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=813ffe58a1028b85472449f2e7612dce5751dcc2ad70d889e91018a148fc69 + +handshake=Noise_XNpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625456e86321f5117e2826a5ad00441de277 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662634d4221d0ec8fdda4507d9dcf91e08 +msg_2_payload= +msg_2_ciphertext=3a7a393db716dc075d961ce4109c2af6f7e5dcd35c0b947bf30c01936a6b4b36f1129b52c3bd379d90a216a63b3675a482fb307672a7e95517889addfc1cc0c5 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=97f376dd10bbfe09c7570b3514ff97a15fb7d7cefc2b25f5ce5a67dcd1cf67 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=9669b636c25732803353c3c1e70508120e8b6896a2fb5edab54f831d162db6 + +handshake=Noise_XNpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549b78be66b1f2e09771269003303a25c1 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846606fea2bb9b9e69e297b06911a5d0d1c8 +msg_2_payload= +msg_2_ciphertext=f4364f3c48d2280a28b5a0cc4dbbdf75ae5efff3e129e5beff1ea88c7f501b9fd178457c94ad442beb3afa4f915c3ecb6a48f6a0ff1692761575a7903144b8f7 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=e6c2fa29df53fe75a34bea7633a930df3aa8c62e20accf544277163022c037 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=94ec62cb132c7c7ec8d99d702072fe1f9e1602bdca45023e8d3db9db63237d + +handshake=Noise_XNpsk3_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a723d539c7b582ffdf1a53288cadbb26 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669a62c45ef5d3c92b21360e796d4c197a +msg_2_payload= +msg_2_ciphertext=1e9a2da1ec0430295c3b8b7e1888bcb09293f61e62dfbdb29707348a95bdce2904ce827fd5330e814ba2346712de095e110c5aedd3543a74e86afa9d2cab6f83 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=9307b428397906f7e529cf6dd1bdf53f782a88f89a250c18dc83d57c9992dd +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=8b1a7574e6cee466e01ba7f20e6cf372188b6294b43823ebc4c4c8a753b6e0 + +handshake=Noise_XN_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ea98bff8eb4696d6d3c0e4f70aba310a675391aaf82e0804fa79 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=291e0f5e79575df990b58e317022d3c6c864164d559dcb77ceb88a02eba2e0a499f907c37ae8e0c3aaffe34553249753254343342ae4704d7c23cd8a77a1807441d2c7501369bb467126 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=f9972897d0a22fd3ab4f7df758c17201e716d92495d7e798597ca633fcfa79 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=663a74b07d26987f1aaea566c63fed3ab905d0549d4cbbba95998087711e7b + +handshake=Noise_XNpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ae18211db1dcdc553413922091f72d9ced221e2acda5a660f9b7 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b660d1ecf94c4595dd57f654d3a0f19cccd9b63570f79de6c96e +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=dd296759956a201688e8438b5452e3224f22f3ce9a0c57b37a16b930b0dc6ce2a537ae7c3f8105a2d3205317f8106e9257c07ceb5be90bcae241636ec9f1d1403c7d54fdb497a925991f +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=b8f919e1619e002fc009c8201390385e887e9cef040b20b93d6d92525060af +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=813ffe58a1028b85472449f2e7612dce5751dcc2ad70d889e91018a148fc69 + +handshake=Noise_XNpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625467ec45c3d546c1618f39adc8f13e3f35a17f633a753012f9aa29 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a92e7cbd80b059556fffcbb169e97c1bde48cfcac32e1368920f +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=3a7a393db716dc075d961ce4109c2af6f7e5dcd35c0b947bf30c01936a6b4b36982e61825971d574332da023645bb288e766c9dbe21f85a458860f34d47d5087b3e701cc52600fa760ce +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=97f376dd10bbfe09c7570b3514ff97a15fb7d7cefc2b25f5ce5a67dcd1cf67 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=9669b636c25732803353c3c1e70508120e8b6896a2fb5edab54f831d162db6 + +handshake=Noise_XNpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625419c32a8d476aa90292e1d2946f42be7dd73161301ecdd5168423 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665c79e23e35136c510c909b68a7bf6508d04d169d772f42b5bc0e +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=f4364f3c48d2280a28b5a0cc4dbbdf75ae5efff3e129e5beff1ea88c7f501b9f1c3c70937fadc804f6b89718241ae97906d8bfebdb39bfd7b9fe0871270ae98eb13d651ecec51bc2d66e +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=e6c2fa29df53fe75a34bea7633a930df3aa8c62e20accf544277163022c037 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=94ec62cb132c7c7ec8d99d702072fe1f9e1602bdca45023e8d3db9db63237d + +handshake=Noise_XNpsk3_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549974e0c1a1b524048c2bab05845477ddee545b9e24a00fa921d8 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663070ecf7cc85144673b2911307e9d0e3ed49482c84a7a59d3334 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=1e9a2da1ec0430295c3b8b7e1888bcb09293f61e62dfbdb29707348a95bdce2923776b5ee769a4928746f064091987a2d97a14c5bf5c035f4991be19871e8779eb5a753c6d99be0a20d1 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=9307b428397906f7e529cf6dd1bdf53f782a88f89a250c18dc83d57c9992dd +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=8b1a7574e6cee466e01ba7f20e6cf372188b6294b43823ebc4c4c8a753b6e0 + +handshake=Noise_XN_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ffcf5f753467c7c2b694d4eb00d1baaf +msg_2_payload= +msg_2_ciphertext=291e0f5e79575df990b58e317022d3c6c864164d559dcb77ceb88a02eba2e0a42fb1e938d3fb06653176bc867442b318b3360a8f9ebdc1524fe34b0d01725fc8 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=f9972897d0a22fd3ab4f7df758c17201e716d92495d7e798597ca633fcfa79 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=663a74b07d26987f1aaea566c63fed3ab905d0549d4cbbba95998087711e7b + +handshake=Noise_XNpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254fac3c8bd046a3e9d0b38ccd7698c7db6 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665270ac63c46e1a1e26719e5752918e22 +msg_2_payload= +msg_2_ciphertext=dd296759956a201688e8438b5452e3224f22f3ce9a0c57b37a16b930b0dc6ce2d2a1fcad32691cfbd2db34ffb0eb021e5d7f48acb637ce70ed33921ee3ca689f +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=b8f919e1619e002fc009c8201390385e887e9cef040b20b93d6d92525060af +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=813ffe58a1028b85472449f2e7612dce5751dcc2ad70d889e91018a148fc69 + +handshake=Noise_XNpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625435b9059703f0f637c4ead9348dc36f16 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669a201926a025f16da73a7cdf456738ce +msg_2_payload= +msg_2_ciphertext=3a7a393db716dc075d961ce4109c2af6f7e5dcd35c0b947bf30c01936a6b4b36a1cd9d2d29d8df1cae8a102e26684ead172e71f633ff50d7d7c573c35152b6c7 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=97f376dd10bbfe09c7570b3514ff97a15fb7d7cefc2b25f5ce5a67dcd1cf67 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=9669b636c25732803353c3c1e70508120e8b6896a2fb5edab54f831d162db6 + +handshake=Noise_XNpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541da3f1038dde89dca976e36d13d38cb8 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661f04fde9d6d3ca84c7f1c7167cb63357 +msg_2_payload= +msg_2_ciphertext=f4364f3c48d2280a28b5a0cc4dbbdf75ae5efff3e129e5beff1ea88c7f501b9fd634eda749f434e721ff28d808524bd37f20a0c93e065a591c9272510869a9e1 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=e6c2fa29df53fe75a34bea7633a930df3aa8c62e20accf544277163022c037 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=94ec62cb132c7c7ec8d99d702072fe1f9e1602bdca45023e8d3db9db63237d + +handshake=Noise_XNpsk3_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254991d7378909ba56f867c5a46cb280527 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b7d7d49c8cdbf29b0e5a7f486c7d774f +msg_2_payload= +msg_2_ciphertext=1e9a2da1ec0430295c3b8b7e1888bcb09293f61e62dfbdb29707348a95bdce29a4fd3c75a1f27bda13b92eeb81995531e73aaf41be201edd340e9decbcce9b42 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=9307b428397906f7e529cf6dd1bdf53f782a88f89a250c18dc83d57c9992dd +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=8b1a7574e6cee466e01ba7f20e6cf372188b6294b43823ebc4c4c8a753b6e0 + +handshake=Noise_XN_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ea98bff8eb4696d6d3c004ce0d42550c2b03ee2612ca6e9eec18 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=291e0f5e79575df990b58e317022d3c6c864164d559dcb77ceb88a02eba2e0a4db2f87efd55abe5bb4ea2f0003a2497c254343342ae4704d7c233e1bd4602b35f158072774208aca6994 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=f9972897d0a22fd3ab4f7df758c17201e716d92495d7e798597ca633fcfa79 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=663a74b07d26987f1aaea566c63fed3ab905d0549d4cbbba95998087711e7b + +handshake=Noise_XNpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ae18211db1dcdc55341394577371548dcdaddb6157b5753662ae +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b660d1ecf94c4595dd5712cccfbae9909b1ab004f4f12bff3a33 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=dd296759956a201688e8438b5452e3224f22f3ce9a0c57b37a16b930b0dc6ce298cc5dd18599c844fea755c57ed3c85257c07ceb5be90bcae241fee76d9fbcd17295f12f3fa2ec616528 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=b8f919e1619e002fc009c8201390385e887e9cef040b20b93d6d92525060af +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=813ffe58a1028b85472449f2e7612dce5751dcc2ad70d889e91018a148fc69 + +handshake=Noise_XNpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625467ec45c3d546c1618f393067aed902b79b0759bf968282a2c103 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a92e7cbd80b059556fff5b12b14c05770aff36bcc9ebc7ddeee2 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=3a7a393db716dc075d961ce4109c2af6f7e5dcd35c0b947bf30c01936a6b4b36dd253a46b8575151d8867881d28453aee766c9dbe21f85a4588624fa9b30ac191ca69a7bfffa584f28a4 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=97f376dd10bbfe09c7570b3514ff97a15fb7d7cefc2b25f5ce5a67dcd1cf67 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=9669b636c25732803353c3c1e70508120e8b6896a2fb5edab54f831d162db6 + +handshake=Noise_XNpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625419c32a8d476aa90292e13801b5d6071e1336ffd6ea151b596406 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665c79e23e35136c510c9085f9ab38ad9a3ad5ef10537e6dc8d07c +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=f4364f3c48d2280a28b5a0cc4dbbdf75ae5efff3e129e5beff1ea88c7f501b9f3e33f6dfc8d3fe6635968a6600df1d6406d8bfebdb39bfd7b9fed61850abbf511f0095bcb77843c3d61b +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=e6c2fa29df53fe75a34bea7633a930df3aa8c62e20accf544277163022c037 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=94ec62cb132c7c7ec8d99d702072fe1f9e1602bdca45023e8d3db9db63237d + +handshake=Noise_XNpsk3_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549974e0c1a1b524048c2b37c669f275837a99381fa77f882cfbc2 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663070ecf7cc85144673b207ee9a47874207daa4bf8a066372efbb +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=1e9a2da1ec0430295c3b8b7e1888bcb09293f61e62dfbdb29707348a95bdce292304418a554352333e6b377871f2d1e8d97a14c5bf5c035f4991b48c2c8ad26971d51de56abfc8ef0295 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=9307b428397906f7e529cf6dd1bdf53f782a88f89a250c18dc83d57c9992dd +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=8b1a7574e6cee466e01ba7f20e6cf372188b6294b43823ebc4c4c8a753b6e0 + +handshake=Noise_IN_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ceaaefa2a1d4a51bc7f72a564d71bc35 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=830ff5384b15750877d9469ab3b96e768a5e2fb618f00ca1e32da37d165221 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=832c1dca2a6b7c02b170c8d8cdec75e14983c8eae7ce6a07cc3392853455a9 + +handshake=Noise_INpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547f70fa944b4bcd3d0d716f20a1eb95435666a15bb48ee700b648d33cef9f93019e0f8047ef1c51f2a5ff1cd3bcd30b6721663f533a5f40592962147438962718 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662ee035a51c82be8d63659f7a3dcb7efb +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=76707435fd3a637b4f9628bed8250d212f363d49580ee23c3edb82bc538cd2 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5afb8fe565768ec14254b79c64316cdd3895062d4533d37634fa8f3f273cb3 + +handshake=Noise_INpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e8e12229cd4637c3412fe01f0b06cbbed1697731baf0add84a48598d80045cf16f2a56cf605314390dbffd940401319897aa7f01a4e35a1fe1e509be03f8d287 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660244d36287cc5719d495d63952e4bb9b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=781eb466f56d8404382803362e53dbfeab396f39e8614f70fd644325ce1803 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=86bfba9287f9d6663701546e14ccbad7b7e24be798aaf3f43a36a855d7ca62 + +handshake=Noise_INpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541af3a1c3bc570ea6628903b6958854f3ccf77420136473d50d9ec58570d6ad5c4e176ab1a556abfa6141ec06d5ebe92ae95582f12402263635e5ddc2ab70d6d2 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846620e5ec2a4f6ef544a3d54fa9185006e1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ce130309e71e17105be8aa8b21f6f46258b99dae8d8818db759ea80677f64d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4f2a1afcbfd92475f02b92eed96533323b3771c0c9833bbd87dd84373a89bc + +handshake=Noise_IN_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661df866ef53fc2daf09cd18e25f560f54e710d97f93f341248ad1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=830ff5384b15750877d9469ab3b96e768a5e2fb618f00ca1e32da37d165221 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=832c1dca2a6b7c02b170c8d8cdec75e14983c8eae7ce6a07cc3392853455a9 + +handshake=Noise_INpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547f70fa944b4bcd3d0d716f20a1eb95435666a15bb48ee700b648d33cef9f93019e0f8047ef1c51f2a5ff1cd3bcd30b673d3b9677d899fc7f3d4b1258c0ff0ec33195ae6869722122a130 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466511d7d7f1904de2a67a43753ae73743bfca8e1aac9dfacb410ed +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=76707435fd3a637b4f9628bed8250d212f363d49580ee23c3edb82bc538cd2 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5afb8fe565768ec14254b79c64316cdd3895062d4533d37634fa8f3f273cb3 + +handshake=Noise_INpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e8e12229cd4637c3412fe01f0b06cbbed1697731baf0add84a48598d80045cf16f2a56cf605314390dbffd9404013198a9436856dc49b27a0698cb3ff57e3a14cbb3a80397fc12b67135 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846694b4c5866a584c0a70d8bee74ef35f21d601f7d4b9699b0a2c67 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=781eb466f56d8404382803362e53dbfeab396f39e8614f70fd644325ce1803 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=86bfba9287f9d6663701546e14ccbad7b7e24be798aaf3f43a36a855d7ca62 + +handshake=Noise_INpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541af3a1c3bc570ea6628903b6958854f3ccf77420136473d50d9ec58570d6ad5c4e176ab1a556abfa6141ec06d5ebe92ae3533b3481ea038673f4428b39a64a07fc333516e98346439cd0 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846603fa37b0787d046e5b39334226f42b1c63b64cb45dd4a9b095eb +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ce130309e71e17105be8aa8b21f6f46258b99dae8d8818db759ea80677f64d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4f2a1afcbfd92475f02b92eed96533323b3771c0c9833bbd87dd84373a89bc + +handshake=Noise_IN_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666660569f7c7fcd07d8e9d1a7c3634f60 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=830ff5384b15750877d9469ab3b96e768a5e2fb618f00ca1e32da37d165221 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=832c1dca2a6b7c02b170c8d8cdec75e14983c8eae7ce6a07cc3392853455a9 + +handshake=Noise_INpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547f70fa944b4bcd3d0d716f20a1eb95435666a15bb48ee700b648d33cef9f930187a4370f2d9e5767873b7171e38897f591b606a1131011cee4173a3db7e22891 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f48a955b0b5cd099e7df95661e2862ad +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=76707435fd3a637b4f9628bed8250d212f363d49580ee23c3edb82bc538cd2 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5afb8fe565768ec14254b79c64316cdd3895062d4533d37634fa8f3f273cb3 + +handshake=Noise_INpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e8e12229cd4637c3412fe01f0b06cbbed1697731baf0add84a48598d80045cf11aaf3ee7de388d106596fdd48f72dd649b6b876b67bb13aeba09c64daf11ecd1 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466060c96c5c428dca80c960fe9dd5a6ca8 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=781eb466f56d8404382803362e53dbfeab396f39e8614f70fd644325ce1803 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=86bfba9287f9d6663701546e14ccbad7b7e24be798aaf3f43a36a855d7ca62 + +handshake=Noise_INpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541af3a1c3bc570ea6628903b6958854f3ccf77420136473d50d9ec58570d6ad5cc18eb20f16747975cab6ac45d73488d66cc7b0294a6220498d30ba8bcf4f3952 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846644c3cae20a10acfac961f89a75b787df +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ce130309e71e17105be8aa8b21f6f46258b99dae8d8818db759ea80677f64d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4f2a1afcbfd92475f02b92eed96533323b3771c0c9833bbd87dd84373a89bc + +handshake=Noise_IN_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661df866ef53fc2daf09cdb07952c281cdcc4480337d476e359f64 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=830ff5384b15750877d9469ab3b96e768a5e2fb618f00ca1e32da37d165221 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=832c1dca2a6b7c02b170c8d8cdec75e14983c8eae7ce6a07cc3392853455a9 + +handshake=Noise_INpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547f70fa944b4bcd3d0d716f20a1eb95435666a15bb48ee700b648d33cef9f930187a4370f2d9e5767873b7171e38897f53d3b9677d899fc7f3d4b2a7f9618049af0a0133f690fec587926 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466511d7d7f1904de2a67a437e109b3089a6a3efa6d5fe753113a09 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=76707435fd3a637b4f9628bed8250d212f363d49580ee23c3edb82bc538cd2 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5afb8fe565768ec14254b79c64316cdd3895062d4533d37634fa8f3f273cb3 + +handshake=Noise_INpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e8e12229cd4637c3412fe01f0b06cbbed1697731baf0add84a48598d80045cf11aaf3ee7de388d106596fdd48f72dd64a9436856dc49b27a0698e39b1a331575f7dbc783c4b27db56d56 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846694b4c5866a584c0a70d80f9608c9ab477dd6be32ca78b3452e7a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=781eb466f56d8404382803362e53dbfeab396f39e8614f70fd644325ce1803 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=86bfba9287f9d6663701546e14ccbad7b7e24be798aaf3f43a36a855d7ca62 + +handshake=Noise_INpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541af3a1c3bc570ea6628903b6958854f3ccf77420136473d50d9ec58570d6ad5cc18eb20f16747975cab6ac45d73488d6e3533b3481ea038673f4bae24ae04bf0f379985ae3359e56cf1d +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846603fa37b0787d046e5b39156540f78e37ab584d177787c7570713 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ce130309e71e17105be8aa8b21f6f46258b99dae8d8818db759ea80677f64d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4f2a1afcbfd92475f02b92eed96533323b3771c0c9833bbd87dd84373a89bc + +handshake=Noise_XK_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a8121f6d88933f372d3d8558ba96c6a0 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660b117a47d5ea6ba03a4e8a00f4bc0e88 +msg_2_payload= +msg_2_ciphertext=2a607b984bb2614e9c6b84c0a735f9cd1e4bf3ff01edf33d6626f16ac1f12f0c5230239edb11e337d70427365bb94949ce7fda351e4f8ca43da1e91c0559d921 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=af719ddf29a7df759e00d10bf397d6e72d961dfa146e38a48e8856747db349 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=01cb205a382fe3800d1194755b30433dc1250c4e9ab65581919777e1e31862 + +handshake=Noise_XKpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e5f2f445afe0d790bd2631a553574915 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846641ccb8f7db404e7089382d696e3f2043 +msg_2_payload= +msg_2_ciphertext=10fd75cdb4d7a71ef3d8713d7d3ee0fe77eefaac88a1cc0e8fb1c8598830a26ca429ae726b1c48e9af560b971005eccd788717c413004ef0a0fc54b26fc39d72 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=6c00201f24d7406b7a41e346011509fc9726bf3cd3fcb0099f893241f292a5 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=4385be501f1af8ec43aeb67163036606dba4b666f59e77f89ce03b86efaf3a + +handshake=Noise_XKpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543336582f35b4811afc0009c5bfe23fb6 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f0b2cda351a7491a1a8d233f694a900f +msg_2_payload= +msg_2_ciphertext=d9ecc3d1ca57c998fe713d129c081b9b8ad9ce9a519179902a57600b30ce6f5cd976176cc09af329cc934132ef8e22b2ad160e39304ec60451a20c5d535db720 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=fd90a09b18aca3fb4322a97ba23a61973ef7a0617af12ac48a9a1ce3a59cdc +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=b139c0e387155e21af5751ced5df67d118e4ec857c5aad862bc90a024853bc + +handshake=Noise_XKpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545a532081892316ccc914c1f41b95fd32 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846620d7abc3c895614c290126a72d27e586 +msg_2_payload= +msg_2_ciphertext=d3a8c16bc7ec7a53b13ed69e7307bfedb166350efaafad356bbe13865f8305b4271fa9f8941fbb5227e2e99ca7272ad4cf688f2a831138f199cfd07f2048b360 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=8b8306bca22f2ba97f257b5658a95c6c17aeb73208ac47adb53e6f34f32dda +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=3ccc1f6d694e1f807baa7077c3917823fd3d5d0c1acb9a819dc2ecea0740d3 + +handshake=Noise_XKpsk3_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625467ece9526c5e98a95ef06540641ce080 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846669b9f0e8b083bd61a6ee3c2d1376b7ce +msg_2_payload= +msg_2_ciphertext=cb86a2b771eb68b697b00603224426b59b2e4cc522c385955fe80b89936fdc879d6ceedd6144d1f246e83474db6628e531eef9b73bece378cef0d0783c520c44 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=9961ea7152c68324f433f74f14cf453872f922c078365f6eb72d1eaab869ed +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=57c5a35b57323a4841a2535029c297d298028e10e798e0fbcca41110ff6bc1 + +handshake=Noise_XK_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f6cb6fe7e80444bb3154cc8c6ee7d1303de77495fc986b7ede43 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846671a438132a5b2eb4b6a07e26cde62f24cc303c50baebbc111c88 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=2a607b984bb2614e9c6b84c0a735f9cd1e4bf3ff01edf33d6626f16ac1f12f0cbae76bfc135b5828a7ff27f023ea59cc8dc0802c5d9d369d77f4bcf1bdd8a6c3205c28db784528897fcc +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=af719ddf29a7df759e00d10bf397d6e72d961dfa146e38a48e8856747db349 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=01cb205a382fe3800d1194755b30433dc1250c4e9ab65581919777e1e31862 + +handshake=Noise_XKpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546b45ff089253cdcc224ba73eab621cc196ddf50935e457ea5640 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667d787668fb251e9de3b703c7a10f7f6541db12cfde30137eb731 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=10fd75cdb4d7a71ef3d8713d7d3ee0fe77eefaac88a1cc0e8fb1c8598830a26c3a7a94677b6f6971a918b1f6142f0f8add5ea9a3086edd1694264640113dafd9941831d9f8e59458af6c +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=6c00201f24d7406b7a41e346011509fc9726bf3cd3fcb0099f893241f292a5 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=4385be501f1af8ec43aeb67163036606dba4b666f59e77f89ce03b86efaf3a + +handshake=Noise_XKpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f7aa65da5c5393de3c5535e15dbfb46a665260e9f00887efb923 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466578656f83336512ba12d91d1410dee12011adad4e28674496199 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=d9ecc3d1ca57c998fe713d129c081b9b8ad9ce9a519179902a57600b30ce6f5c761b50e9f3ba0c4d57466b8b7f36c21246578936ef0f0cde78ec9962c6dc167becb1bb4943c865e84f44 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=fd90a09b18aca3fb4322a97ba23a61973ef7a0617af12ac48a9a1ce3a59cdc +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=b139c0e387155e21af5751ced5df67d118e4ec857c5aad862bc90a024853bc + +handshake=Noise_XKpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540e6f56acb931ce6a0d25e1f25351be198ed759a1ef122e6a47c5 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bc88a17b8b5854bac07fd6b2a163ca81ce377f77ed9a6565f2ff +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=d3a8c16bc7ec7a53b13ed69e7307bfedb166350efaafad356bbe13865f8305b479ef186dc0bf7da9b3969fc460549a4f75ef7aedc759cb34d7baf24c96274d5de3ea057059bf346967bb +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=8b8306bca22f2ba97f257b5658a95c6c17aeb73208ac47adb53e6f34f32dda +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=3ccc1f6d694e1f807baa7077c3917823fd3d5d0c1acb9a819dc2ecea0740d3 + +handshake=Noise_XKpsk3_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ef3e6a97158d33a0e062f662ee40189264748f8f4669b195157a +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e69d80c877ed191a57840a873d4d140ed15adb13fc5e0faceae5 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=cb86a2b771eb68b697b00603224426b59b2e4cc522c385955fe80b89936fdc8768b3221f7eb3474b3a397b412566a083eae667065d5d8520f96dc500ef05901b2c97eb3e257b5b641688 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=9961ea7152c68324f433f74f14cf453872f922c078365f6eb72d1eaab869ed +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=57c5a35b57323a4841a2535029c297d298028e10e798e0fbcca41110ff6bc1 + +handshake=Noise_XK_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254956f94f7a6fcc381776893a9419a1391 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662dcab0911950a5414c1739ef201b0d59 +msg_2_payload= +msg_2_ciphertext=2a607b984bb2614e9c6b84c0a735f9cd1e4bf3ff01edf33d6626f16ac1f12f0ce46707d4054136e38d139c40429a1c7bdfe2618fcd66e1d1c993a5d724149ad3 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=af719ddf29a7df759e00d10bf397d6e72d961dfa146e38a48e8856747db349 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=01cb205a382fe3800d1194755b30433dc1250c4e9ab65581919777e1e31862 + +handshake=Noise_XKpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625480f041b1faae93dc9ad4e24164074a72 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466049ae30e300696665182cd0c2c5a3333 +msg_2_payload= +msg_2_ciphertext=10fd75cdb4d7a71ef3d8713d7d3ee0fe77eefaac88a1cc0e8fb1c8598830a26c27529778073a3c1eca1366f61e1e6df01f4c362cabd86d507f717372d3b42cde +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=6c00201f24d7406b7a41e346011509fc9726bf3cd3fcb0099f893241f292a5 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=4385be501f1af8ec43aeb67163036606dba4b666f59e77f89ce03b86efaf3a + +handshake=Noise_XKpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625459b3fc3e146bee1bedd48d2e529619c9 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d8091dc1177e44919beeef55f461c8f5 +msg_2_payload= +msg_2_ciphertext=d9ecc3d1ca57c998fe713d129c081b9b8ad9ce9a519179902a57600b30ce6f5c82a04833784ccfb5e9722ca5241a6755c3cbc5f3606b84da1baa6576e7b927d8 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=fd90a09b18aca3fb4322a97ba23a61973ef7a0617af12ac48a9a1ce3a59cdc +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=b139c0e387155e21af5751ced5df67d118e4ec857c5aad862bc90a024853bc + +handshake=Noise_XKpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254de5fed603c0f5e7048cde4754accb939 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664a79bd841524585be070029e87cf5b17 +msg_2_payload= +msg_2_ciphertext=d3a8c16bc7ec7a53b13ed69e7307bfedb166350efaafad356bbe13865f8305b4c5551963da60c1367a4ddb92d1aeebab7f9e1068c5b07e44cd6de3b644761c55 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=8b8306bca22f2ba97f257b5658a95c6c17aeb73208ac47adb53e6f34f32dda +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=3ccc1f6d694e1f807baa7077c3917823fd3d5d0c1acb9a819dc2ecea0740d3 + +handshake=Noise_XKpsk3_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a20106c4f0d2e1d15b488b9120d587a7 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664cb1d6364acf843b72742c6e40fb7816 +msg_2_payload= +msg_2_ciphertext=cb86a2b771eb68b697b00603224426b59b2e4cc522c385955fe80b89936fdc876f2d10e9970e2e2a05abf249856727901c01817fcd79e7bb15ca824f74e20dbb +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=9961ea7152c68324f433f74f14cf453872f922c078365f6eb72d1eaab869ed +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=57c5a35b57323a4841a2535029c297d298028e10e798e0fbcca41110ff6bc1 + +handshake=Noise_XK_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f6cb6fe7e80444bb315499a7f5f08590af0d50a5359f99e54dbe +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846671a438132a5b2eb4b6a09e2096243969b42b4b9a198dc894d2e9 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=2a607b984bb2614e9c6b84c0a735f9cd1e4bf3ff01edf33d6626f16ac1f12f0c0912c9cd375503ce9e805b172ad0d4698dc0802c5d9d369d77f4ade77f73640bd9d60f3899f36dfde35b +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=af719ddf29a7df759e00d10bf397d6e72d961dfa146e38a48e8856747db349 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=01cb205a382fe3800d1194755b30433dc1250c4e9ab65581919777e1e31862 + +handshake=Noise_XKpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546b45ff089253cdcc224b4eb91d5554d75cc6efe1975d9068377a +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667d787668fb251e9de3b7940a90cd22958f5cbf27ca154b6b22de +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=10fd75cdb4d7a71ef3d8713d7d3ee0fe77eefaac88a1cc0e8fb1c8598830a26ceb2af92575fa2c196715cdff6e5a2bd2dd5ea9a3086edd169426bb9c6f9f3ef69ab1bca891788d793838 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=6c00201f24d7406b7a41e346011509fc9726bf3cd3fcb0099f893241f292a5 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=4385be501f1af8ec43aeb67163036606dba4b666f59e77f89ce03b86efaf3a + +handshake=Noise_XKpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f7aa65da5c5393de3c5548df4e50beec4d5d686ea0a58b5d7c07 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466578656f83336512ba12ddb9299155eb66d8b8c563c46b2650045 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=d9ecc3d1ca57c998fe713d129c081b9b8ad9ce9a519179902a57600b30ce6f5c7c893705678fdd420468b74e00732ced46578936ef0f0cde78ec005dc5d6cedeee43ee05dcddc151e174 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=fd90a09b18aca3fb4322a97ba23a61973ef7a0617af12ac48a9a1ce3a59cdc +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=b139c0e387155e21af5751ced5df67d118e4ec857c5aad862bc90a024853bc + +handshake=Noise_XKpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540e6f56acb931ce6a0d25a7d58f03a624f2edffe6889a3cc1bdb4 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bc88a17b8b5854bac07f57eb97d0e6556bd36bf0765632a4a0d9 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=d3a8c16bc7ec7a53b13ed69e7307bfedb166350efaafad356bbe13865f8305b495169d8ddfd2ce2b08da7fb2185ad2f975ef7aedc759cb34d7ba5b6a6521406803adf71d8e3f467e6b5e +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=8b8306bca22f2ba97f257b5658a95c6c17aeb73208ac47adb53e6f34f32dda +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=3ccc1f6d694e1f807baa7077c3917823fd3d5d0c1acb9a819dc2ecea0740d3 + +handshake=Noise_XKpsk3_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ef3e6a97158d33a0e062dfd67d4d95e6b70c838462a3c8f93c11 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e69d80c877ed191a5784108e0821d062d135c79ecd1e1d32e495 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=cb86a2b771eb68b697b00603224426b59b2e4cc522c385955fe80b89936fdc879e3d3e2544d69c1bfcb5c318fcadaf1beae667065d5d8520f96da952f2d9dd6784e56b3af33f9e2f6a7d +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=9961ea7152c68324f433f74f14cf453872f922c078365f6eb72d1eaab869ed +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=57c5a35b57323a4841a2535029c297d298028e10e798e0fbcca41110ff6bc1 + +handshake=Noise_IK_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625471316e70ec2670fe80a4529101864a5dac3d5f9c0924e8d38cecd60c54adbaa284b6111d7779c4ee7bb9c56da492e5a80972d99ccbf7d9068e6e90a7a73a01e9 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666953a0bb0be9e3cb75769d93c5a16090 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=dc52cf04c64e4b750c00444789e41cb1abe496381a2d1b42303b231e809437 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4e39fa2317aba599efd3f7a7ca1de12dfae13bc630cc8768ce6326894fb250 + +handshake=Noise_IKpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548a773d92dab8d730d4809faed6fbf25151dc4609a2020980934c02fa2026e50395c19e290fc2b0ebd1926e25516eaa74382fef41e27d86725aac235f5ec54486 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667c6f4245d9e5b32e9e357b2b8858590d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=186910b9f7f96154beaaa85cd7bc247243468524c12329a05a42ca5a36c68f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=cd2f07315236b6e428120a37bbfaab7b1c58f4d55a2242e02c6e7bb943500b + +handshake=Noise_IKpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540d9201affcf03e61b649d92ff393eb2ee186823f5369731162b2f772cfc6371bcbe8d7e19394282f1efe8a67e2b8322dbcac776930e9ed0a112705ef2f6f2fb6 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846645235dc77860e6902834d55b53616e13 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c64fdb57aa336721d15fb7ab26fe477cda48a1bf9e0ad3bc4cd554b0740b7e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b7601a7f5ac11f9241580f13b13d47a05b9e0ac4a31aa9229b455d6850f6f4 + +handshake=Noise_IKpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b62f8e1b309574de35d98d9a4088e6919c1849b2c5254dcbca5494537cb4a72988a30055e89f105e4a2ec94ffe1e01b210d70746671e7bffca493129849aeff4 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466aa41d4650249b9c0c26cbc1ce87e8c1f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=f4c177d26066f6951689eeb7dba6199b0a71514482d9fd58cab9c9da5ebe95 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=15e2992826a7c63bdc9c36c422f0625aa3cddb283aaf9aea44444d8ffdbe82 + +handshake=Noise_IK_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625471316e70ec2670fe80a4529101864a5dac3d5f9c0924e8d38cecd60c54adbaa284b6111d7779c4ee7bb9c56da492e5a86e5ed547305fd8e63d0c6f2932f3a5c642bda3b85699cfd4af02 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b0981ce42d3aee24e400cc2d7c0851db983a76950d68ac02018e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=dc52cf04c64e4b750c00444789e41cb1abe496381a2d1b42303b231e809437 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4e39fa2317aba599efd3f7a7ca1de12dfae13bc630cc8768ce6326894fb250 + +handshake=Noise_IKpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548a773d92dab8d730d4809faed6fbf25151dc4609a2020980934c02fa2026e50395c19e290fc2b0ebd1926e25516eaa74a8c2db362d37b8bd047718944128a324cc8464b8770aa0edb54d +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fa4432021f183c112445ce9dd4839730062f80545088527f6ab7 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=186910b9f7f96154beaaa85cd7bc247243468524c12329a05a42ca5a36c68f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=cd2f07315236b6e428120a37bbfaab7b1c58f4d55a2242e02c6e7bb943500b + +handshake=Noise_IKpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540d9201affcf03e61b649d92ff393eb2ee186823f5369731162b2f772cfc6371bcbe8d7e19394282f1efe8a67e2b8322d2307641fa5171d2e6a90b7327908bd3a4c0ba2647c9fbf326342 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f6777d6ce0d20a6334912c2cce256a5baafbb4981cb3b57e2b7f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c64fdb57aa336721d15fb7ab26fe477cda48a1bf9e0ad3bc4cd554b0740b7e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b7601a7f5ac11f9241580f13b13d47a05b9e0ac4a31aa9229b455d6850f6f4 + +handshake=Noise_IKpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b62f8e1b309574de35d98d9a4088e6919c1849b2c5254dcbca5494537cb4a72988a30055e89f105e4a2ec94ffe1e01b2e07148a37250771da813ab2d25f8ebfd885dbf1a2d381a28b36e +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846655590e80a4cbf7b11a80ddd081ca9aca27a45d1ad37939362f98 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=f4c177d26066f6951689eeb7dba6199b0a71514482d9fd58cab9c9da5ebe95 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=15e2992826a7c63bdc9c36c422f0625aa3cddb283aaf9aea44444d8ffdbe82 + +handshake=Noise_IK_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625471316e70ec2670fe80a4529101864a5dac3d5f9c0924e8d38cecd60c54adbaa2f602a28ed62afc1421fb6217fa8bb34ec2ffe02e3cde39a920ebf369ebc4d7e2 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662b2ab0ecf235887681b76ad519b29032 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=dc52cf04c64e4b750c00444789e41cb1abe496381a2d1b42303b231e809437 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4e39fa2317aba599efd3f7a7ca1de12dfae13bc630cc8768ce6326894fb250 + +handshake=Noise_IKpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548a773d92dab8d730d4809faed6fbf25151dc4609a2020980934c02fa2026e5035a6b8c83d8d35b4be37728726934df7fa54ca976c7ac99763b5b503dedabf110 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667c2bd068de83287251c4332dfaf109e3 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=186910b9f7f96154beaaa85cd7bc247243468524c12329a05a42ca5a36c68f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=cd2f07315236b6e428120a37bbfaab7b1c58f4d55a2242e02c6e7bb943500b + +handshake=Noise_IKpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540d9201affcf03e61b649d92ff393eb2ee186823f5369731162b2f772cfc6371b56d4c205efdaadafe7ad43991634897df8a65cce5462ff5edf7a3cb303d23cb5 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c1bd3e2fdbb59170ea903582e5173315 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c64fdb57aa336721d15fb7ab26fe477cda48a1bf9e0ad3bc4cd554b0740b7e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b7601a7f5ac11f9241580f13b13d47a05b9e0ac4a31aa9229b455d6850f6f4 + +handshake=Noise_IKpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b62f8e1b309574de35d98d9a4088e6919c1849b2c5254dcbca5494537cb4a7295084dc6a278b90d5443be18249717177d5e8e7d7aa1d5047cac7e122ceb801eb +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667276e5a1b63d8f369009fcbf44acc6b9 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=f4c177d26066f6951689eeb7dba6199b0a71514482d9fd58cab9c9da5ebe95 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=15e2992826a7c63bdc9c36c422f0625aa3cddb283aaf9aea44444d8ffdbe82 + +handshake=Noise_IK_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625471316e70ec2670fe80a4529101864a5dac3d5f9c0924e8d38cecd60c54adbaa2f602a28ed62afc1421fb6217fa8bb34e6e5ed547305fd8e63d0c7272edad8555d9482a258f9fcd94b9b2 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b0981ce42d3aee24e4004d6ea9acd8a847242a19f3f0f4cb0976 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=dc52cf04c64e4b750c00444789e41cb1abe496381a2d1b42303b231e809437 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4e39fa2317aba599efd3f7a7ca1de12dfae13bc630cc8768ce6326894fb250 + +handshake=Noise_IKpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548a773d92dab8d730d4809faed6fbf25151dc4609a2020980934c02fa2026e5035a6b8c83d8d35b4be37728726934df7fa8c2db362d37b8bd047781dee28aded1f414d2c10d890fa2eba1 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fa4432021f183c112445d6ff055cdbdc1b47a925e1550a0242a2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=186910b9f7f96154beaaa85cd7bc247243468524c12329a05a42ca5a36c68f +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=cd2f07315236b6e428120a37bbfaab7b1c58f4d55a2242e02c6e7bb943500b + +handshake=Noise_IKpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540d9201affcf03e61b649d92ff393eb2ee186823f5369731162b2f772cfc6371b56d4c205efdaadafe7ad43991634897d2307641fa5171d2e6a90d2f10229135bee69c5e8987beeaff24e +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f6777d6ce0d20a633491e32380e0bba416095b23e6c06497fd0c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c64fdb57aa336721d15fb7ab26fe477cda48a1bf9e0ad3bc4cd554b0740b7e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b7601a7f5ac11f9241580f13b13d47a05b9e0ac4a31aa9229b455d6850f6f4 + +handshake=Noise_IKpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b62f8e1b309574de35d98d9a4088e6919c1849b2c5254dcbca5494537cb4a7295084dc6a278b90d5443be18249717177e07148a37250771da813c0db249d31475e830bbcc50ce9aeab43 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846655590e80a4cbf7b11a803755ea3f2276bcb10438d218a79e05cf +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=f4c177d26066f6951689eeb7dba6199b0a71514482d9fd58cab9c9da5ebe95 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=15e2992826a7c63bdc9c36c422f0625aa3cddb283aaf9aea44444d8ffdbe82 + +handshake=Noise_XX_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b0b018e349141e1b16c68fe9a6cb1183c260c44bb83c93a140953ad45612b8c64bb3b17125ca3fb8cf0cd955affd684b70d7a73e49f11219837f16d3f7544832 +msg_2_payload= +msg_2_ciphertext=b4c5f23f127237b5a80ac12f3a3548fe46c39172f6b180eb1e023e6e19e283eeb2c9403c731010215a57c3149b0f7aaec1f10503228b36cd1662e940ecc38fd5 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=adcafe99678efda6f3d8c84a8fd41a63bb2cfc85aa6eb8ff3dbf724496b03e +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=51d5c55fb055dc171c4bf7618270e30b393601f44f3a0abd7c276b63093c1a + +handshake=Noise_XXpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e89ad728d1b3555e8affba774c455ecf +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466def8302a4ce14b6d8679764f5605d198853b8968688d7432e591c0371dbd9c271e7509b3366c251d193c2b6173162f24bfb214c9912e36dbc2bebcd0c5a41310 +msg_2_payload= +msg_2_ciphertext=7ae518aa6a3882fac6b6d6fcd88954cccf404ea1aa2a075d533916de39720ebbd5a2fc7c5df275e6d9ac02a752f651f67f737345e8c1310db32861d8fb0233f9 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=fd0638db68611323934a1dc1c26175ddc9abfbf887629ce59b4303156bcaa1 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=3d9c9f74481ef29d381234288ecb1d26afa997692fff8407cbf6da726a5725 + +handshake=Noise_XXpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254fa223f36e9139a40a9551700c5636675 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ce56429bffb894f3369b30a544d455d8f184f93f9c842bbe985dde8e576dd8eed8438aa1768e3aa2b4ad1bebf0a92b156771c02032ed9387687cca42cb786162 +msg_2_payload= +msg_2_ciphertext=4897d20141b9271678aeff91ee7005ca77d69a228f23d79eb6ac67cecef3224f6f88b8b1d486e5d50a397d526deb513cf18ed7a50ff9722cef519cfdd08f2ed8 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=4c7e74911721ae8c0678065a0f6ad8fb1297a21f6754b38e266eee19d0ad2a +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=475800d09b8bf0421df0e7679d3cd21b814fd6dff0fb9c46dbc5376c6122e4 + +handshake=Noise_XXpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a0282a4879cb0deb654bdede7e9be90b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661e036fa970ffb21503a0108b83c0bd72003bb6d4a97179484514ff7ef45ec9eb9bdbfd37a4b660583fab7b211f1b3503b00b5e97afc5b32665b370e6478b524d +msg_2_payload= +msg_2_ciphertext=94ed14201939c7bb4572b20adf4082cd6bb82f70f3c8de3316bc33f5eae48cd9ddd25dc1383725178c8598f5fba81ebb96531a3239965542dbb5b6788e6c69ff +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=86774279eb88fc06ae6805d0b449a143cdfe04a11fc7a429277b968cabe3bf +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=b1f80227766841582344bc541607b227d94329c13eacc906aa8d505877ba86 + +handshake=Noise_XXpsk3_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254813e50d4de1a8d4e0d61efe2041f7ca6 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f05a4cb6e4cb79e094bd585a0b9fbc734db005568fc515c58c9fde6291e3e29220fbe03545fe15b4e8e1acca1559b4b2de52d9ae55517db0f969b67cfd1a046a +msg_2_payload= +msg_2_ciphertext=8651088810f5c175e542fa61507d8cfac7670c9c1f1e3eb7c8fcfa1e632b0d466be2a1a293e4da8f69787704224eafe4849020203ee23d283e335821b48f1adf +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=ff43d872c9028bdb9c54fa2c87bf427cd7fdf53b281d89649f183629b8f2e9 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=50ca5d06223b9346bc628ee151bf174732e4afc56fe3fca4baff4173abe983 + +handshake=Noise_XX_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b0b018e349141e1b16c68fe9a6cb1183c260c44bb83c93a140953ad45612b8c6c9a7ce6964ece59add85b2606ced1d6d19d85b03583048e0c2c9a492b15d90479c7b9af68fb1a47696d5 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=b4c5f23f127237b5a80ac12f3a3548fe46c39172f6b180eb1e023e6e19e283eec8b71c2ce9c0e29ca1766034c2c8feb14cb940f335a08c03246384d70b9a8ae83fd96cea468098f1f8d9 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=adcafe99678efda6f3d8c84a8fd41a63bb2cfc85aa6eb8ff3dbf724496b03e +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=51d5c55fb055dc171c4bf7618270e30b393601f44f3a0abd7c276b63093c1a + +handshake=Noise_XXpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541fe2db7a97bbe9c0027b7090cb11725f0947318b6d1f1ad08ce7 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466def8302a4ce14b6d8679764f5605d198853b8968688d7432e591c0371dbd9c27e50840bb3f7e4c87ca8f5414ba3078aa5c032641bc1cdaccd5aa58bfd328b2972ff47f99ced9a6b7aef3 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=7ae518aa6a3882fac6b6d6fcd88954cccf404ea1aa2a075d533916de39720ebb186eba1bc5bdad09bcab5739864ca692519efda7f74013ae0602622d1accdeb04f261e1eb1ada91b5a00 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=fd0638db68611323934a1dc1c26175ddc9abfbf887629ce59b4303156bcaa1 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=3d9c9f74481ef29d381234288ecb1d26afa997692fff8407cbf6da726a5725 + +handshake=Noise_XXpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625483cfed638fb3c56f6e445c3225fd44968f7a179313516eb5c1a9 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ce56429bffb894f3369b30a544d455d8f184f93f9c842bbe985dde8e576dd8eef9072a865ec6acd45a95e6d5699cf88ab1adaf886733195012b10e6cd5389e4046ec7b8620170cceaf17 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=4897d20141b9271678aeff91ee7005ca77d69a228f23d79eb6ac67cecef3224f04191a5af016de4910629179a06d26cadb2c8b23157b86216ebf371933ed5d042b8b69d9b202f343b7c2 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=4c7e74911721ae8c0678065a0f6ad8fb1297a21f6754b38e266eee19d0ad2a +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=475800d09b8bf0421df0e7679d3cd21b814fd6dff0fb9c46dbc5376c6122e4 + +handshake=Noise_XXpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540f55bdaaa880fc12facbe60813c0db272c15e442ff0938e3533a +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661e036fa970ffb21503a0108b83c0bd72003bb6d4a97179484514ff7ef45ec9eb2c798e8efacdd62b6bf5244df69c8c3aa2494f38471537cc5d6b6504593989137c09964cbdfe9eb3d3e9 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=94ed14201939c7bb4572b20adf4082cd6bb82f70f3c8de3316bc33f5eae48cd99924bd9d5a06fe3a5583f3a383313d93e7a7158f06660cce13843fa445d1bf333858f033b9294adcacf0 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=86774279eb88fc06ae6805d0b449a143cdfe04a11fc7a429277b968cabe3bf +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=b1f80227766841582344bc541607b227d94329c13eacc906aa8d505877ba86 + +handshake=Noise_XXpsk3_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541bb344a916e3fe400ded24cb3fa734c93f22004e92da97dbce1d +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f05a4cb6e4cb79e094bd585a0b9fbc734db005568fc515c58c9fde6291e3e2928d5c8ea8af6ef701c52ab3e57ada1d472451c80484377ba18cd7418f721d9d21744f1ad65da0279a66fb +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=8651088810f5c175e542fa61507d8cfac7670c9c1f1e3eb7c8fcfa1e632b0d4638dea852a90ce28331a393758df509cdfaeeeceaa062fd82e223c30f70e0e273f7d7dbf386acf966ddf8 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=ff43d872c9028bdb9c54fa2c87bf427cd7fdf53b281d89649f183629b8f2e9 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=50ca5d06223b9346bc628ee151bf174732e4afc56fe3fca4baff4173abe983 + +handshake=Noise_XX_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b0b018e349141e1b16c68fe9a6cb1183c260c44bb83c93a140953ad45612b8c67f6ad77fe0172d65f35620f8d6f0b8db7eaf545a402e665786d189c5c7e2bef0 +msg_2_payload= +msg_2_ciphertext=b4c5f23f127237b5a80ac12f3a3548fe46c39172f6b180eb1e023e6e19e283eed57a951543a0ab0645958f932e50a2743423286e6494f7c453bed71b63a1bb91 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=adcafe99678efda6f3d8c84a8fd41a63bb2cfc85aa6eb8ff3dbf724496b03e +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=51d5c55fb055dc171c4bf7618270e30b393601f44f3a0abd7c276b63093c1a + +handshake=Noise_XXpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254daabd705d9da7c80c426df55902fb9cc +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466def8302a4ce14b6d8679764f5605d198853b8968688d7432e591c0371dbd9c27c142d82a45eca7997eeec4e81381209cd1cc75dc52230a6ad5dc90432748d6df +msg_2_payload= +msg_2_ciphertext=7ae518aa6a3882fac6b6d6fcd88954cccf404ea1aa2a075d533916de39720ebb5a679823352dc4b0bbbb47c9dc418fbf6185f09c57410138d19557733bdfd046 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=fd0638db68611323934a1dc1c26175ddc9abfbf887629ce59b4303156bcaa1 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=3d9c9f74481ef29d381234288ecb1d26afa997692fff8407cbf6da726a5725 + +handshake=Noise_XXpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546693cc146b829f659b3a3a6f36062417 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ce56429bffb894f3369b30a544d455d8f184f93f9c842bbe985dde8e576dd8eee6e90c6418f739bec226dd5fa5dcd4cc0f4524e463ccf85bcef7c086833474b4 +msg_2_payload= +msg_2_ciphertext=4897d20141b9271678aeff91ee7005ca77d69a228f23d79eb6ac67cecef3224fce9e99b2d8ffbd7aec4d8c8df6c5a172de9a9714a6af6b1234f1620b8645e579 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=4c7e74911721ae8c0678065a0f6ad8fb1297a21f6754b38e266eee19d0ad2a +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=475800d09b8bf0421df0e7679d3cd21b814fd6dff0fb9c46dbc5376c6122e4 + +handshake=Noise_XXpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254774c69f7d11f794ed54a4bf91f16fd2d +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661e036fa970ffb21503a0108b83c0bd72003bb6d4a97179484514ff7ef45ec9eb96af227896014838fc1945263ff54bd5375932b16efea120c62ed8a315420f6c +msg_2_payload= +msg_2_ciphertext=94ed14201939c7bb4572b20adf4082cd6bb82f70f3c8de3316bc33f5eae48cd9e6d85d2c7f133960dc1f8e448a65d585cea1481e2d35d543ea5429a592eabe47 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=86774279eb88fc06ae6805d0b449a143cdfe04a11fc7a429277b968cabe3bf +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=b1f80227766841582344bc541607b227d94329c13eacc906aa8d505877ba86 + +handshake=Noise_XXpsk3_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541c21324e86ac7d65b7dc06cf3b651e32 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f05a4cb6e4cb79e094bd585a0b9fbc734db005568fc515c58c9fde6291e3e292a276b6138dab236a57f9a781388562c174bef9f634ada92d349e837ac7ccd978 +msg_2_payload= +msg_2_ciphertext=8651088810f5c175e542fa61507d8cfac7670c9c1f1e3eb7c8fcfa1e632b0d46bb08fbcd509f32a5dfabbf43a22dbc5e5002092ca11ba0dddc4faedad0330f85 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=ff43d872c9028bdb9c54fa2c87bf427cd7fdf53b281d89649f183629b8f2e9 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=50ca5d06223b9346bc628ee151bf174732e4afc56fe3fca4baff4173abe983 + +handshake=Noise_XX_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b0b018e349141e1b16c68fe9a6cb1183c260c44bb83c93a140953ad45612b8c682f5a2957440f5f83a39a24e5cb2627919d85b03583048e0c2c936d254bb86813590fe0b415b3271c451 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=b4c5f23f127237b5a80ac12f3a3548fe46c39172f6b180eb1e023e6e19e283eee243c226bfded175cebcfe8ec14f27024cb940f335a08c032463eeca3f18039cd75586b07daff31c4dff +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=adcafe99678efda6f3d8c84a8fd41a63bb2cfc85aa6eb8ff3dbf724496b03e +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=51d5c55fb055dc171c4bf7618270e30b393601f44f3a0abd7c276b63093c1a + +handshake=Noise_XXpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541fe2db7a97bbe9c0027b1f62071910cfd2266573bb14a7de4342 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466def8302a4ce14b6d8679764f5605d198853b8968688d7432e591c0371dbd9c27c0e397d4a328006c00af1dc428f95bc55c032641bc1cdaccd5aae41c3d70b1d39ac256cf6c07a7430831 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=7ae518aa6a3882fac6b6d6fcd88954cccf404ea1aa2a075d533916de39720ebb1eaeb854d104e73a1406c7ff4ad6beed519efda7f74013ae060269ba43ed1a294c9c44cff50595ad1324 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=fd0638db68611323934a1dc1c26175ddc9abfbf887629ce59b4303156bcaa1 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=3d9c9f74481ef29d381234288ecb1d26afa997692fff8407cbf6da726a5725 + +handshake=Noise_XXpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625483cfed638fb3c56f6e443f8097c23fee7a3b76149d56e41918a5 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ce56429bffb894f3369b30a544d455d8f184f93f9c842bbe985dde8e576dd8ee8ca69106df75e49f29eaae67fa71a409b1adaf886733195012b157ffd83ea7ae659b0902222ed9440be7 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=4897d20141b9271678aeff91ee7005ca77d69a228f23d79eb6ac67cecef3224fc3f318361519b4d6ffa8722b937eda33db2c8b23157b86216ebf80415aa89e935fb92101ea57f6ec5669 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=4c7e74911721ae8c0678065a0f6ad8fb1297a21f6754b38e266eee19d0ad2a +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=475800d09b8bf0421df0e7679d3cd21b814fd6dff0fb9c46dbc5376c6122e4 + +handshake=Noise_XXpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540f55bdaaa880fc12facb47d5793c5c9c2c879cfb8cb55945655f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661e036fa970ffb21503a0108b83c0bd72003bb6d4a97179484514ff7ef45ec9eb07357830807daf32b9a32297a1a9878da2494f38471537cc5d6bd4192f5f3078085f0533aa0e75686fba +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=94ed14201939c7bb4572b20adf4082cd6bb82f70f3c8de3316bc33f5eae48cd9b530622c64695f7e4ce8f79b3ef119fbe7a7158f06660cce138493700e351a7a22ae1bb11889ae401722 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=86774279eb88fc06ae6805d0b449a143cdfe04a11fc7a429277b968cabe3bf +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=b1f80227766841582344bc541607b227d94329c13eacc906aa8d505877ba86 + +handshake=Noise_XXpsk3_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541bb344a916e3fe400dedd2a7371c38b355300008ffe1f92c5321 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f05a4cb6e4cb79e094bd585a0b9fbc734db005568fc515c58c9fde6291e3e2920a77f6c331f2b9e51cb445ebaa762dd12451c80484377ba18cd74ca6e49295ef6417ad4b265ac043c90e +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=8651088810f5c175e542fa61507d8cfac7670c9c1f1e3eb7c8fcfa1e632b0d46f22ae59817305950a50b328539a252ccfaeeeceaa062fd82e2237a114a9d10610aa66213ef7dbb4f0ebc +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=ff43d872c9028bdb9c54fa2c87bf427cd7fdf53b281d89649f183629b8f2e9 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=50ca5d06223b9346bc628ee151bf174732e4afc56fe3fca4baff4173abe983 + +handshake=Noise_IX_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660d08c6ebb96e008cec2c0c4667d8488bfa63fb9542b9543bf2f44452ddfca2d7b47846f7c23a61ba89e3005c17a3da874f0113c4bcaef064e33c7388076221f1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4ce1063a2c24a067d32c33bc634f9164349ff4d51e2f736aa8ddfe7d85dbde +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=1e8ec223c4616b42db4b40ac577af6937537a779ffc4517314c4c90e6c6bec + +handshake=Noise_IXpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b63d4823ec3c33b747175212d3fa59c7320419f05114fa56bc49c588ce3efae0f7a0096cf97cac10155a9af45a6fa4a568a065542312cfca94b12f8721a77ee9 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663960d18951259c9250ca1804369d267c7a61ba56041491bbe42dac780957c6c53b4073645443610174b25add1f889f59292b4d5756ee87a43c557907cefe7ee3 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b9c8ed9bfe0b9016461bf4ab1d3f56b261cbd5f0c9a165184fcfbe28af3968 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=81bfdb36c9b8d755d0ebe25f87edd262896108dfa2b073c0814093f7d2ebd8 + +handshake=Noise_IXpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e48b3f70e18e77885fa9aacad3100d7678a827d00fb563dcd477899b1ee1d89e23ecb8f2999013a2043036cea9c6d610ab3d9d45672d615f56e14a907a6626ef +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ba047e6e3ee18a0dcb8a530689f90df6155ccc5cb33a0b378c4885b36c315b433e6294711d4def132673d121030ade3f074c8ce7ac45822d01166f7efabff8a0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=f98369e9445c5882aa703756b77e75713ba3004075fa24c018653a1b4d103b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d842e68c723ec899be6e97299547bfae1c1c2666c328a4cc939f33d2be6eb3 + +handshake=Noise_IXpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c3be70df2112be564394441fab73a3d1ea8cffbf282cb7e2fba6d4bf93eb3d0e546334907b6a75b27e91ddf1f4bb8265c5dbe3134d556ccda881f6735a439202 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f6538498df27580b5a8ce84806413a0bb3fef6548807b7675d415b295a36312997861b158cfe7287bc38d8d22edc615342716e16b46f10a0099c7c8d5984039a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8bd6813d28352fec1b43d31a7c1f39f37c4800d82a6281fcfc81eae0b97d3b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=7b1ea910350e67ec24ed0f3c557ff265133851bdafd4c7aea32ba5a7624f13 + +handshake=Noise_IX_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660d08c6ebb96e008cec2c0c4667d8488bfa63fb9542b9543bf2f44452ddfca2d7e4427f5970f26a10fd1072dbd7a0836bbd3886d3f59490443484ed8534285770555656ca00988f52612d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4ce1063a2c24a067d32c33bc634f9164349ff4d51e2f736aa8ddfe7d85dbde +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=1e8ec223c4616b42db4b40ac577af6937537a779ffc4517314c4c90e6c6bec + +handshake=Noise_IXpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b63d4823ec3c33b747175212d3fa59c7320419f05114fa56bc49c588ce3efae0f7a0096cf97cac10155a9af45a6fa4a522e8eb3d61d2bb8d5009943c3bf446f032c0b794ddc1c18d137e +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663960d18951259c9250ca1804369d267c7a61ba56041491bbe42dac780957c6c521f538e34bfd357ad7040f461cb64b9987381dbd1f2b9a676c279d5af171ea9f30c5941cb2be937e43c9 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b9c8ed9bfe0b9016461bf4ab1d3f56b261cbd5f0c9a165184fcfbe28af3968 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=81bfdb36c9b8d755d0ebe25f87edd262896108dfa2b073c0814093f7d2ebd8 + +handshake=Noise_IXpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e48b3f70e18e77885fa9aacad3100d7678a827d00fb563dcd477899b1ee1d89e23ecb8f2999013a2043036cea9c6d61031e9c7b4162140f5829894388eee5bce7e93baee3ce0bf4190a0 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ba047e6e3ee18a0dcb8a530689f90df6155ccc5cb33a0b378c4885b36c315b435561f0ef42c5ba5a40979f0841216806b326e04a2da36a9011b2a694ff283f0fd98a630d79dbce95ab02 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=f98369e9445c5882aa703756b77e75713ba3004075fa24c018653a1b4d103b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d842e68c723ec899be6e97299547bfae1c1c2666c328a4cc939f33d2be6eb3 + +handshake=Noise_IXpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c3be70df2112be564394441fab73a3d1ea8cffbf282cb7e2fba6d4bf93eb3d0e546334907b6a75b27e91ddf1f4bb8265b68b7fea24bfbe6d185a29b30f2a103349aa2e37f6c2f1278168 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f6538498df27580b5a8ce84806413a0bb3fef6548807b7675d415b295a3631293868d42d5504ab97a0d82a50cb83c2bf74206d4835e15686aa2abf992b7b0d27c5415c83cde596788278 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8bd6813d28352fec1b43d31a7c1f39f37c4800d82a6281fcfc81eae0b97d3b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=7b1ea910350e67ec24ed0f3c557ff265133851bdafd4c7aea32ba5a7624f13 + +handshake=Noise_IX_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660d08c6ebb96e008cec2c0c4667d8488bfa63fb9542b9543bf2f44452ddfca2d7f2ef33da3c18e4950b1cfe62f4c883d97c018436fa3d37069cb5911316e08700 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4ce1063a2c24a067d32c33bc634f9164349ff4d51e2f736aa8ddfe7d85dbde +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=1e8ec223c4616b42db4b40ac577af6937537a779ffc4517314c4c90e6c6bec + +handshake=Noise_IXpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b63d4823ec3c33b747175212d3fa59c7320419f05114fa56bc49c588ce3efae0bd8ff356da1943afb6db2e8cb9fd67d0125c3c87b9c83ee8cce6e92d25387b4e +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663960d18951259c9250ca1804369d267c7a61ba56041491bbe42dac780957c6c55061e844b5ab6cd23a97fee163cfb3db7b4faa27b08a1ca24b0a681294fe9bb1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b9c8ed9bfe0b9016461bf4ab1d3f56b261cbd5f0c9a165184fcfbe28af3968 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=81bfdb36c9b8d755d0ebe25f87edd262896108dfa2b073c0814093f7d2ebd8 + +handshake=Noise_IXpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e48b3f70e18e77885fa9aacad3100d7678a827d00fb563dcd477899b1ee1d89e980889cb7bf25f6f4be3551e27e1ea7d9f2719d05e33dada3b7b1a5721c6142a +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ba047e6e3ee18a0dcb8a530689f90df6155ccc5cb33a0b378c4885b36c315b43ee2d0ae05c3381ef19d6552e4c379c9e3455f5369feb06f5b823512a752550a6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=f98369e9445c5882aa703756b77e75713ba3004075fa24c018653a1b4d103b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d842e68c723ec899be6e97299547bfae1c1c2666c328a4cc939f33d2be6eb3 + +handshake=Noise_IXpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c3be70df2112be564394441fab73a3d1ea8cffbf282cb7e2fba6d4bf93eb3d0e50d15abf5a511b499f4bb2364105d9762588d57b6b4cef7251a82d36e5a85394 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f6538498df27580b5a8ce84806413a0bb3fef6548807b7675d415b295a3631299a0f8e43b9e338ca409665b3d31f4276ee5a9ba840a56170f1c28b57685cd310 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8bd6813d28352fec1b43d31a7c1f39f37c4800d82a6281fcfc81eae0b97d3b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=7b1ea910350e67ec24ed0f3c557ff265133851bdafd4c7aea32ba5a7624f13 + +handshake=Noise_IX_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660d08c6ebb96e008cec2c0c4667d8488bfa63fb9542b9543bf2f44452ddfca2d7e7b3d10d1bec4db060cc81ac11981c86bd3886d3f59490443484f9dff1092bbff7dcf06981d28b28afaf +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4ce1063a2c24a067d32c33bc634f9164349ff4d51e2f736aa8ddfe7d85dbde +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=1e8ec223c4616b42db4b40ac577af6937537a779ffc4517314c4c90e6c6bec + +handshake=Noise_IXpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b63d4823ec3c33b747175212d3fa59c7320419f05114fa56bc49c588ce3efae0bd8ff356da1943afb6db2e8cb9fd67d022e8eb3d61d2bb8d5009413d916e50ebf18eaeb1c662609b9507 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663960d18951259c9250ca1804369d267c7a61ba56041491bbe42dac780957c6c5196c019b9d174ed3dcaa53099503522a87381dbd1f2b9a676c27b5ac5b1513fbc5623bdc039536108225 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=b9c8ed9bfe0b9016461bf4ab1d3f56b261cbd5f0c9a165184fcfbe28af3968 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=81bfdb36c9b8d755d0ebe25f87edd262896108dfa2b073c0814093f7d2ebd8 + +handshake=Noise_IXpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e48b3f70e18e77885fa9aacad3100d7678a827d00fb563dcd477899b1ee1d89e980889cb7bf25f6f4be3551e27e1ea7d31e9c7b4162140f582989fb19a400cb8e233d3c9e389e6178779 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ba047e6e3ee18a0dcb8a530689f90df6155ccc5cb33a0b378c4885b36c315b4322b0f462158e15814a1bde609953f95db326e04a2da36a9011b27061e58c38b18c508dc98a28a96bd47d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=f98369e9445c5882aa703756b77e75713ba3004075fa24c018653a1b4d103b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d842e68c723ec899be6e97299547bfae1c1c2666c328a4cc939f33d2be6eb3 + +handshake=Noise_IXpsk2_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c3be70df2112be564394441fab73a3d1ea8cffbf282cb7e2fba6d4bf93eb3d0e50d15abf5a511b499f4bb2364105d976b68b7fea24bfbe6d185a5c40f1b38412d69a8edfb30ae69c37b2 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f6538498df27580b5a8ce84806413a0bb3fef6548807b7675d415b295a36312906e14d4e13ee44c451ac33dd85c6494674206d4835e15686aa2a956b0924d35a221d4b7181d71a7acb72 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8bd6813d28352fec1b43d31a7c1f39f37c4800d82a6281fcfc81eae0b97d3b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=7b1ea910350e67ec24ed0f3c557ff265133851bdafd4c7aea32ba5a7624f13 + +handshake=Noise_N_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b62d68267d71003dd2ec89177e7a80e3 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=073e37ccc3b3b5f301022426e60a9fe42344451b0c246c7c3c52e90200becd +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=13d07f95326d21c8df6cc06e039928135e3e0ce76c0ac29c1af3af17f9f209 + +handshake=Noise_Npsk0_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c7ecad40ae43136bb00e644faf111fee +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=e80199955235b10ef537be4e4ece03b89e395270f354863329a81623fe31c4 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=4223b3fdafd3b6e8362de55b3af3e442fe88d22174d266b7098f6d1f3d54dd + +handshake=Noise_Npsk1_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625484bee855d8aaadb550fd7368ce11dae9 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=44098386e9c10ee7805cd6c24acfa0e883439cab2955227546351f2d0b98d2 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=bbba498b110eeed6a4a8db59b425539b45f08454356ec2e9c332d77880488c + +handshake=Noise_N_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254609e1a34b71f412922516c43c0e318eacbab4c4d9944d7320797 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=073e37ccc3b3b5f301022426e60a9fe42344451b0c246c7c3c52e90200becd +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=13d07f95326d21c8df6cc06e039928135e3e0ce76c0ac29c1af3af17f9f209 + +handshake=Noise_Npsk0_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254acceaed8b3a21db94a655c36c11a60a8bb89df76cff84a34015e +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=e80199955235b10ef537be4e4ece03b89e395270f354863329a81623fe31c4 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=4223b3fdafd3b6e8362de55b3af3e442fe88d22174d266b7098f6d1f3d54dd + +handshake=Noise_Npsk1_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544c8a0cbbea89e5ae2aabf7a0ff0cab75f79795fe12ca51560061 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=44098386e9c10ee7805cd6c24acfa0e883439cab2955227546351f2d0b98d2 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=bbba498b110eeed6a4a8db59b425539b45f08454356ec2e9c332d77880488c + +handshake=Noise_N_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625419e9c7e045efa93cdbf8951bde24f518 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=073e37ccc3b3b5f301022426e60a9fe42344451b0c246c7c3c52e90200becd +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=13d07f95326d21c8df6cc06e039928135e3e0ce76c0ac29c1af3af17f9f209 + +handshake=Noise_Npsk0_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625423626274f79a73c1a08d4f8b3740dc65 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=e80199955235b10ef537be4e4ece03b89e395270f354863329a81623fe31c4 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=4223b3fdafd3b6e8362de55b3af3e442fe88d22174d266b7098f6d1f3d54dd + +handshake=Noise_Npsk1_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d7f8985f5a07f3b6134b3eb461d07c79 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=44098386e9c10ee7805cd6c24acfa0e883439cab2955227546351f2d0b98d2 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=bbba498b110eeed6a4a8db59b425539b45f08454356ec2e9c332d77880488c + +handshake=Noise_N_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254609e1a34b71f412922514c3e94964753215ede1067c59472f88c +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=073e37ccc3b3b5f301022426e60a9fe42344451b0c246c7c3c52e90200becd +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=13d07f95326d21c8df6cc06e039928135e3e0ce76c0ac29c1af3af17f9f209 + +handshake=Noise_Npsk0_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254acceaed8b3a21db94a65700f1c5dab0d3b1eac91132e3ab6eebe +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=e80199955235b10ef537be4e4ece03b89e395270f354863329a81623fe31c4 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=4223b3fdafd3b6e8362de55b3af3e442fe88d22174d266b7098f6d1f3d54dd + +handshake=Noise_Npsk1_25519_ChaChaPoly_BLAKE2b +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544c8a0cbbea89e5ae2aab126c87f8777b9b68d5b545fb3b2f398f +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=44098386e9c10ee7805cd6c24acfa0e883439cab2955227546351f2d0b98d2 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=bbba498b110eeed6a4a8db59b425539b45f08454356ec2e9c332d77880488c + +handshake=Noise_K_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254bbe42ea4bcf66d6f758a4c188bf4bc91 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=084290d5043c3b6948d4921b6077beb8b735be5abb710c15d603fbe6a8837a +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=3bc6edaa3068acffde7c0e48a284fcc85e5a53eed67eebfc269b39a61d4fab + +handshake=Noise_Kpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a213fa659c7a882c575df816336d8be4 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=4c0b6eb320ffdd0fc360e131a2743b8da960103c65a8574894dab9baebddbb +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=0d78bbe8c396fcee4ec8845d3212997c19c03686fedd94fe7ad7083f8fccb1 + +handshake=Noise_Kpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f14e85fd8ba7aba75b5a1a46a90667e1 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=393b40808649ae3cfe543634928e71fcc0db659c41c8a5bfa0463f8d097617 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=768b4c83f5e7bdf3236786bcaf620e2f72c314ee77dca21ea045a5e8ded973 + +handshake=Noise_K_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549be6f2a5fceed9834cd66790fbc903926c448bc59b48b2154dd6 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=084290d5043c3b6948d4921b6077beb8b735be5abb710c15d603fbe6a8837a +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=3bc6edaa3068acffde7c0e48a284fcc85e5a53eed67eebfc269b39a61d4fab + +handshake=Noise_Kpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541f6ab56ef38ff35798fe8f0f4d134086e57f446a2345b1191ea4 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=4c0b6eb320ffdd0fc360e131a2743b8da960103c65a8574894dab9baebddbb +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=0d78bbe8c396fcee4ec8845d3212997c19c03686fedd94fe7ad7083f8fccb1 + +handshake=Noise_Kpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543bef9db972e2e6c71558809e51ae65d7420c45bdc240f8abd816 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=393b40808649ae3cfe543634928e71fcc0db659c41c8a5bfa0463f8d097617 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=768b4c83f5e7bdf3236786bcaf620e2f72c314ee77dca21ea045a5e8ded973 + +handshake=Noise_K_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542b78acccc816e4c2f5f9699184235c74 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=084290d5043c3b6948d4921b6077beb8b735be5abb710c15d603fbe6a8837a +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=3bc6edaa3068acffde7c0e48a284fcc85e5a53eed67eebfc269b39a61d4fab + +handshake=Noise_Kpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254036e6f1d1a3deae5b6a6a0082f91b971 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=4c0b6eb320ffdd0fc360e131a2743b8da960103c65a8574894dab9baebddbb +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=0d78bbe8c396fcee4ec8845d3212997c19c03686fedd94fe7ad7083f8fccb1 + +handshake=Noise_Kpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542fba2f565d1471d00632cf0be54aaf62 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=393b40808649ae3cfe543634928e71fcc0db659c41c8a5bfa0463f8d097617 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=768b4c83f5e7bdf3236786bcaf620e2f72c314ee77dca21ea045a5e8ded973 + +handshake=Noise_K_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549be6f2a5fceed9834cd62141f0bbf0f39ae2eac726587cc06702 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=084290d5043c3b6948d4921b6077beb8b735be5abb710c15d603fbe6a8837a +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=3bc6edaa3068acffde7c0e48a284fcc85e5a53eed67eebfc269b39a61d4fab + +handshake=Noise_Kpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541f6ab56ef38ff35798feb9a0e6306cecfbf9d320ae214ca7ffa4 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=4c0b6eb320ffdd0fc360e131a2743b8da960103c65a8574894dab9baebddbb +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=0d78bbe8c396fcee4ec8845d3212997c19c03686fedd94fe7ad7083f8fccb1 + +handshake=Noise_Kpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543bef9db972e2e6c71558a57e72719d6994322c7eba68ffb7ef1d +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=393b40808649ae3cfe543634928e71fcc0db659c41c8a5bfa0463f8d097617 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=768b4c83f5e7bdf3236786bcaf620e2f72c314ee77dca21ea045a5e8ded973 + +handshake=Noise_X_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544fd54b64a44cca6205b19aa279c8056ac51f96cf3d758067d237f87128e15a4c4148bd36ab1729cacb085be81f3480b4354206c59a07e41330ad15f95124cafa +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=5876a3382ed90f78c1b3e6fcc88722443a39185cf5e5cda8ab5801aaf69cab +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=7c0c69826778f7c46a4a344ae33d3c0ed24c6d3be7fd57c2dc63ef4f23655f + +handshake=Noise_Xpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254bb88bc8f1d5b95ff9b457b11932e08c4bf7737b9597e5dc4ced87cd5c0887080e2fee14b04294b61597f5e910bad3abf548e5e3e756da213e59a1707ed1994c5 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=27d554df29f82a035d188e8fac392e112e2155f4fb2d7efb097a7c4c92ae8b +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=75d225f9a1c43f07a06f35ea7ad7ae7ca2e485fb080e7be7125995b7ca2263 + +handshake=Noise_Xpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a613c9d0d0c7df0be15c578383f68146433aac97b59474cda1ba8aede82a04e58cd86fc4c305ad8471f0bfa4bc5cae2cd4cbf0bdcdcee3c1c7a411ede4b5cb19 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=38a911620b7d62cc36bdb2c5bd3f1f53c7b135ba945f890838208dd1ac3a60 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=0687c7ac818efa9d4eb42085ac0531050094895a11ab5c62f4c49ff0f7da16 + +handshake=Noise_X_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544fd54b64a44cca6205b19aa279c8056ac51f96cf3d758067d237f87128e15a4c4148bd36ab1729cacb085be81f3480b4155fb51d817c41fe84d19fea4db898d03d6d178d62bb9d9673a0 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=5876a3382ed90f78c1b3e6fcc88722443a39185cf5e5cda8ab5801aaf69cab +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=7c0c69826778f7c46a4a344ae33d3c0ed24c6d3be7fd57c2dc63ef4f23655f + +handshake=Noise_Xpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254bb88bc8f1d5b95ff9b457b11932e08c4bf7737b9597e5dc4ced87cd5c0887080e2fee14b04294b61597f5e910bad3abf14a6559af2e96ddafc7e68c916704cffd7863bc38c69a17f28b6 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=27d554df29f82a035d188e8fac392e112e2155f4fb2d7efb097a7c4c92ae8b +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=75d225f9a1c43f07a06f35ea7ad7ae7ca2e485fb080e7be7125995b7ca2263 + +handshake=Noise_Xpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a613c9d0d0c7df0be15c578383f68146433aac97b59474cda1ba8aede82a04e58cd86fc4c305ad8471f0bfa4bc5cae2c4b81d112e3e7d0d726c849388581cc9b879a98224acb457c68b7 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=38a911620b7d62cc36bdb2c5bd3f1f53c7b135ba945f890838208dd1ac3a60 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=0687c7ac818efa9d4eb42085ac0531050094895a11ab5c62f4c49ff0f7da16 + +handshake=Noise_X_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544fd54b64a44cca6205b19aa279c8056ac51f96cf3d758067d237f87128e15a4c7166621c380455d9dbf411bd450cdb4b05c3f2a27cbec817ffe9647f2a18afd9 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=5876a3382ed90f78c1b3e6fcc88722443a39185cf5e5cda8ab5801aaf69cab +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=7c0c69826778f7c46a4a344ae33d3c0ed24c6d3be7fd57c2dc63ef4f23655f + +handshake=Noise_Xpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254bb88bc8f1d5b95ff9b457b11932e08c4bf7737b9597e5dc4ced87cd5c08870808e9bdae01e07f17b6fa915c3d91ed7d3547d6d73c86caa69fb94fed060c14382 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=27d554df29f82a035d188e8fac392e112e2155f4fb2d7efb097a7c4c92ae8b +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=75d225f9a1c43f07a06f35ea7ad7ae7ca2e485fb080e7be7125995b7ca2263 + +handshake=Noise_Xpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a613c9d0d0c7df0be15c578383f68146433aac97b59474cda1ba8aede82a04e544d764e5f67a403d442e16be3807b5d5f5f2bdf9e39234ca23c3a2d94b6c46f3 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=38a911620b7d62cc36bdb2c5bd3f1f53c7b135ba945f890838208dd1ac3a60 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=0687c7ac818efa9d4eb42085ac0531050094895a11ab5c62f4c49ff0f7da16 + +handshake=Noise_X_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544fd54b64a44cca6205b19aa279c8056ac51f96cf3d758067d237f87128e15a4c7166621c380455d9dbf411bd450cdb4b155fb51d817c41fe84d1c532e9d9b1ae823f499ea722badc77e4 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=5876a3382ed90f78c1b3e6fcc88722443a39185cf5e5cda8ab5801aaf69cab +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=7c0c69826778f7c46a4a344ae33d3c0ed24c6d3be7fd57c2dc63ef4f23655f + +handshake=Noise_Xpsk0_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254bb88bc8f1d5b95ff9b457b11932e08c4bf7737b9597e5dc4ced87cd5c08870808e9bdae01e07f17b6fa915c3d91ed7d314a6559af2e96ddafc7ed897a4125cd575976d0cdd5e33aca3fc +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=27d554df29f82a035d188e8fac392e112e2155f4fb2d7efb097a7c4c92ae8b +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=75d225f9a1c43f07a06f35ea7ad7ae7ca2e485fb080e7be7125995b7ca2263 + +handshake=Noise_Xpsk1_25519_ChaChaPoly_BLAKE2b +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a613c9d0d0c7df0be15c578383f68146433aac97b59474cda1ba8aede82a04e544d764e5f67a403d442e16be3807b5d54b81d112e3e7d0d726c8af41b189b719d2efe35796a636de31d9 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=38a911620b7d62cc36bdb2c5bd3f1f53c7b135ba945f890838208dd1ac3a60 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=0687c7ac818efa9d4eb42085ac0531050094895a11ab5c62f4c49ff0f7da16 + +handshake=Noise_NN_25519_ChaChaPoly_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d6b2af1b6bc7ab3bb3c96b892afbaf49 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e693375ca5a2a0ff37a4b36662433ecc789e8a04887751ac3b0bb070039726 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=821cbd91e90a763bc70ac3cdee3bd2fb4b9dcd0e7cc3a066b85811c0c55c10 + +handshake=Noise_NNpsk0_25519_ChaChaPoly_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625429e02e0aff3585ba34213b02ce0584b1 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667e40f02cbf3aba406c8b3556958221ef +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=45229f0fb23ccd92b0554c5be976ab8ccecf5f1e7503af4c5a1e4e45d35dd5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=fcf39b68313e893f9682801d60aee12337d52a64661af37a0366b7924d1657 + +handshake=Noise_NNpsk1_25519_ChaChaPoly_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540d6ecb3df1991eeb786683cac2d3f982 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660a5dcf3414a6c779bd8881e8852bc849 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ff900c6284287621348a3f116e7d1cb4fa64dffb7904a8332b36377381eafd +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d49b01235ee41b7bb4b32de0b258be2280dcf68262b690fef7f0511bdb52d1 + +handshake=Noise_NNpsk2_25519_ChaChaPoly_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254296fa023d848fab1af54ab8d08d37448 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b6e42d67d8cea5e983a691e0658fac72 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=98fd5ab58a3ad920b59dd500179a238f715af6d3b0d6d4a1801fad5e3c8dc5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4deac6ad723c4459d22e13e42c68b1b87c98cea7c470d684acd1c238be8398 + +handshake=Noise_NN_25519_ChaChaPoly_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669274a4f99ffbbcd930fb758f8ed76cc03fe9ad85a0fc5556f701 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e693375ca5a2a0ff37a4b36662433ecc789e8a04887751ac3b0bb070039726 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=821cbd91e90a763bc70ac3cdee3bd2fb4b9dcd0e7cc3a066b85811c0c55c10 + +handshake=Noise_NNpsk0_25519_ChaChaPoly_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b8766d12729c594966e9e1234f04bdf152052d9085b3df49d3b9 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846633188335572849c06f2196f49d512745d01ddf3748851abb18e5 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=45229f0fb23ccd92b0554c5be976ab8ccecf5f1e7503af4c5a1e4e45d35dd5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=fcf39b68313e893f9682801d60aee12337d52a64661af37a0366b7924d1657 + +handshake=Noise_NNpsk1_25519_ChaChaPoly_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c65e819d0b4074ef005311ac1d8ddc01b50aec437a3e07b27f15 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466da135105806675a56c11b4d9eb8f1bf2f93503003b148160977b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ff900c6284287621348a3f116e7d1cb4fa64dffb7904a8332b36377381eafd +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d49b01235ee41b7bb4b32de0b258be2280dcf68262b690fef7f0511bdb52d1 + +handshake=Noise_NNpsk2_25519_ChaChaPoly_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549c5cfd6799fc937000b5133e782ef3af066bce5532efe254878b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668a48263708b02a2508c92e6d37091d7805917886430d81cbf539 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=98fd5ab58a3ad920b59dd500179a238f715af6d3b0d6d4a1801fad5e3c8dc5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4deac6ad723c4459d22e13e42c68b1b87c98cea7c470d684acd1c238be8398 + +handshake=Noise_NN_25519_ChaChaPoly_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663116eefd4bce9076d9dcae0406a1e895 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e693375ca5a2a0ff37a4b36662433ecc789e8a04887751ac3b0bb070039726 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=821cbd91e90a763bc70ac3cdee3bd2fb4b9dcd0e7cc3a066b85811c0c55c10 + +handshake=Noise_NNpsk0_25519_ChaChaPoly_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254df955d65e85408302701c443b9876628 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466073acc4aae4797305f3a5014902f0389 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=45229f0fb23ccd92b0554c5be976ab8ccecf5f1e7503af4c5a1e4e45d35dd5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=fcf39b68313e893f9682801d60aee12337d52a64661af37a0366b7924d1657 + +handshake=Noise_NNpsk1_25519_ChaChaPoly_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543bc1046f99db530d13c0e9d8c4b8972a +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d259d8e58663d8fdc8ee8a76f38aedb4 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ff900c6284287621348a3f116e7d1cb4fa64dffb7904a8332b36377381eafd +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d49b01235ee41b7bb4b32de0b258be2280dcf68262b690fef7f0511bdb52d1 + +handshake=Noise_NNpsk2_25519_ChaChaPoly_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547b5ec929ff746b2951ad02dcb8e1d328 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f1470d8024e4f3ed2f729669ad158aed +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=98fd5ab58a3ad920b59dd500179a238f715af6d3b0d6d4a1801fad5e3c8dc5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4deac6ad723c4459d22e13e42c68b1b87c98cea7c470d684acd1c238be8398 + +handshake=Noise_NN_25519_ChaChaPoly_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669274a4f99ffbbcd930fb9d5f607de66556bd116615a94643140d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e693375ca5a2a0ff37a4b36662433ecc789e8a04887751ac3b0bb070039726 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=821cbd91e90a763bc70ac3cdee3bd2fb4b9dcd0e7cc3a066b85811c0c55c10 + +handshake=Noise_NNpsk0_25519_ChaChaPoly_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b8766d12729c594966e9df5831055ca8c424d8ca8f3f2a6fbeac +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846633188335572849c06f2123581c51160861c0049f3bb291bd9e3f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=45229f0fb23ccd92b0554c5be976ab8ccecf5f1e7503af4c5a1e4e45d35dd5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=fcf39b68313e893f9682801d60aee12337d52a64661af37a0366b7924d1657 + +handshake=Noise_NNpsk1_25519_ChaChaPoly_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c65e819d0b4074ef00531acf9a294d769a2eae079b342632d219 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466da135105806675a56c116abd2f66bf544bd00009d1f973865921 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ff900c6284287621348a3f116e7d1cb4fa64dffb7904a8332b36377381eafd +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d49b01235ee41b7bb4b32de0b258be2280dcf68262b690fef7f0511bdb52d1 + +handshake=Noise_NNpsk2_25519_ChaChaPoly_BLAKE2s +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549c5cfd6799fc937000b54a31dc936d6b1bd4e8676cdcc42b1bf3 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668a48263708b02a2508c97593c7ffd766732eba2768eab8536d6f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=98fd5ab58a3ad920b59dd500179a238f715af6d3b0d6d4a1801fad5e3c8dc5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4deac6ad723c4459d22e13e42c68b1b87c98cea7c470d684acd1c238be8398 + +handshake=Noise_KN_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662996b770a8beee5210ae2ee2d93339cd +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=53437efbfb1f92fe43ae72099eb65358797dd48886cb9671975797e3f579ca +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=44bd43feee10b6715272dcc8826de7e866dc27f7e3dfb7148b4824eb226aea + +handshake=Noise_KNpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625406f76c7e9f1f456d70bf867e2c44a6c2 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466f0b70f196c5e9dbe5bc086b4be3e425a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8b98df9fba3f2887f5616371dbfeee8ee63dcc2830f8cf7a58ebf593ccf728 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5d9d130f122419ba52d847d0099b0155e7e4ea9fe0ff4b4b2bef3a0f9bb75a + +handshake=Noise_KNpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b00aef15e78c2222b23f921a2940819b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846656bc91e33dd792081f01fe00c118bf9f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8f8dac7f5d54982068e3293e629a3ecdb58d6780b15240f4f9dd7157b04c3c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=3bcd3a3be774bdaf617db13ae419cd4542b1d1796f7c3ef01f6dd56f210fa1 + +handshake=Noise_KNpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254066270b88eaeaa86e505970da02d2c2c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668b803871150207af0a9bbb9a7532ff88 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e0a9264ac293727a86412dcb3c3293a0abf9283468cc94a78c30b457ae6e97 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4886d3f446d6daba42fc5eea04ccc91ed077abd0db4925ef076daf5b0f3cd4 + +handshake=Noise_KN_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661cd505ea2a9f4ba454a661b2979075e9c575359c8f2543677d42 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=53437efbfb1f92fe43ae72099eb65358797dd48886cb9671975797e3f579ca +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=44bd43feee10b6715272dcc8826de7e866dc27f7e3dfb7148b4824eb226aea + +handshake=Noise_KNpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254fdc73e2c2e717296f86029e72318cac7f1ffc79284aa8bd938cf +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846604563dac6ba8bdec8a444aa53f3da950706868979722e1df493a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8b98df9fba3f2887f5616371dbfeee8ee63dcc2830f8cf7a58ebf593ccf728 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5d9d130f122419ba52d847d0099b0155e7e4ea9fe0ff4b4b2bef3a0f9bb75a + +handshake=Noise_KNpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548aefbdd261500e340336114bd4696e9be890d9ff0fc44ea383c1 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ae024a90f2448f1ee801f6cbe7b9b5999fcebe5c8c19366db677 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8f8dac7f5d54982068e3293e629a3ecdb58d6780b15240f4f9dd7157b04c3c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=3bcd3a3be774bdaf617db13ae419cd4542b1d1796f7c3ef01f6dd56f210fa1 + +handshake=Noise_KNpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541798c5f0ce19bfeeb8e18af1f7646b1f78b4e2fe25e9c4aa503f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b4179026203db247901b5b2ad69041a6c10a2c5c39b06f619c7e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e0a9264ac293727a86412dcb3c3293a0abf9283468cc94a78c30b457ae6e97 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4886d3f446d6daba42fc5eea04ccc91ed077abd0db4925ef076daf5b0f3cd4 + +handshake=Noise_KN_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846667203848cd4c9ae0b133522056dba949 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=53437efbfb1f92fe43ae72099eb65358797dd48886cb9671975797e3f579ca +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=44bd43feee10b6715272dcc8826de7e866dc27f7e3dfb7148b4824eb226aea + +handshake=Noise_KNpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662540949d3d2cd0eaca6b6506a09b263fe4a +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664404e85e9fb434e0d2218ff52fe95fd7 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8b98df9fba3f2887f5616371dbfeee8ee63dcc2830f8cf7a58ebf593ccf728 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5d9d130f122419ba52d847d0099b0155e7e4ea9fe0ff4b4b2bef3a0f9bb75a + +handshake=Noise_KNpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f0f5d97c2da7cf61e0d3948154ba74e4 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466099137f9449e7fa478c3ed1fdab515ea +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8f8dac7f5d54982068e3293e629a3ecdb58d6780b15240f4f9dd7157b04c3c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=3bcd3a3be774bdaf617db13ae419cd4542b1d1796f7c3ef01f6dd56f210fa1 + +handshake=Noise_KNpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254098b9b5f3f97855bdbf6058d616bfe58 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ed1898e3f24678b9217c3c2ce1cfb437 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e0a9264ac293727a86412dcb3c3293a0abf9283468cc94a78c30b457ae6e97 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4886d3f446d6daba42fc5eea04ccc91ed077abd0db4925ef076daf5b0f3cd4 + +handshake=Noise_KN_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661cd505ea2a9f4ba454a673b09a4a33ce505f13351254cce920a6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=53437efbfb1f92fe43ae72099eb65358797dd48886cb9671975797e3f579ca +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=44bd43feee10b6715272dcc8826de7e866dc27f7e3dfb7148b4824eb226aea + +handshake=Noise_KNpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254fdc73e2c2e717296f860f1ce209564649b4c8c5b08a054956d53 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846604563dac6ba8bdec8a44ca483cb93b9ae929ac1d197021cf2085 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8b98df9fba3f2887f5616371dbfeee8ee63dcc2830f8cf7a58ebf593ccf728 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5d9d130f122419ba52d847d0099b0155e7e4ea9fe0ff4b4b2bef3a0f9bb75a + +handshake=Noise_KNpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548aefbdd261500e340336f649ecfec1f202ce87c63b9ebcf86561 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ae024a90f2448f1ee801ea786081533c8eb3243d2bf0d737ba6c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=8f8dac7f5d54982068e3293e629a3ecdb58d6780b15240f4f9dd7157b04c3c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=3bcd3a3be774bdaf617db13ae419cd4542b1d1796f7c3ef01f6dd56f210fa1 + +handshake=Noise_KNpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541798c5f0ce19bfeeb8e177a3c5e381a60f5e06de14a6e67d0371 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b4179026203db247901b1e7fb2131d14bfa00e9a72203580ecee +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=e0a9264ac293727a86412dcb3c3293a0abf9283468cc94a78c30b457ae6e97 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=4886d3f446d6daba42fc5eea04ccc91ed077abd0db4925ef076daf5b0f3cd4 + +handshake=Noise_NK_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c796bf92e018434c9b2146fab78f30d0 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466cb3abc71944afc6463300a32ba99b33d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=56a475d3db0d0d5931542a93e3cd57c7dc51b29fc6d0a7cea41aea05d99fe5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5c239eb65b5f0d0641f6c6c20aec65646626249f9194e4211a2f8e761c2d72 + +handshake=Noise_NKpsk0_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541c9047e5f60f5b21c65fa8ff35c46e4f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466cf1d49363de74d70a9f0cdbaa3310eda +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a6593eb8dd060da72b612dd4128b4fef345d58c2e8cc2764dff574a3094fe9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b7ce16bfa101adc89a7773ffd08c545634f59d9035cabadef5f5ce941351d4 + +handshake=Noise_NKpsk1_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625444240d38699667b5d6c608f41fdee5a6 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661379efd5a3414a48873a1d9b88af74a7 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=2e97c7a30baa66eb2eef35ac21f0985cb7139c68c681119ac87dd8864ab50e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2d441a28146d89109afcebf7fb254715a4937c1b775ed048735c301b7c15ba + +handshake=Noise_NKpsk2_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f944f03a16bec0d4ede15bbf507f7e25 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846634632482a2c45167231236b170f1fbc1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=93bb4e3dd1995295277446d3010fc7299dd2d1f283d7ce9ee8934d1caa60ef +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d7ce2e01658cebe3086b25ae67c184cbb26e4855bc9c03a82c149948ea9a4e + +handshake=Noise_NK_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254bc7e9bcabcd39b9278b329a24d91072a9948a6cab4205f4c2d25 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466060fcddff00afaa37fd10ae19782d5eda54dc6d0af0a1ae34816 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=56a475d3db0d0d5931542a93e3cd57c7dc51b29fc6d0a7cea41aea05d99fe5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5c239eb65b5f0d0641f6c6c20aec65646626249f9194e4211a2f8e761c2d72 + +handshake=Noise_NKpsk0_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544e94ec05dc68a1daa22d31bf607f134c66047ce9b78516559d77 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466281b734b3aba9427cddf7bb7d3165127146b88235d7d9f276e66 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a6593eb8dd060da72b612dd4128b4fef345d58c2e8cc2764dff574a3094fe9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b7ce16bfa101adc89a7773ffd08c545634f59d9035cabadef5f5ce941351d4 + +handshake=Noise_NKpsk1_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b844c29336d91edab89a73e74bb4a4964c09b0449b950f67ede8 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660e1784da1b96e7a4a7d7bee4668e1c37f9e61052c4553d7a1339 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=2e97c7a30baa66eb2eef35ac21f0985cb7139c68c681119ac87dd8864ab50e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2d441a28146d89109afcebf7fb254715a4937c1b775ed048735c301b7c15ba + +handshake=Noise_NKpsk2_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541c1384003bc26279ca3c0030d4aaf3b3dd795108bd34df2f6607 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663780ee06ece35bbfb120e4f2070358151d0642cb542d816754a5 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=93bb4e3dd1995295277446d3010fc7299dd2d1f283d7ce9ee8934d1caa60ef +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d7ce2e01658cebe3086b25ae67c184cbb26e4855bc9c03a82c149948ea9a4e + +handshake=Noise_NK_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c25868d2b2a31aa03b91b342e3a0f010 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d3bd657df804422777533bd275e14c99 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=56a475d3db0d0d5931542a93e3cd57c7dc51b29fc6d0a7cea41aea05d99fe5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5c239eb65b5f0d0641f6c6c20aec65646626249f9194e4211a2f8e761c2d72 + +handshake=Noise_NKpsk0_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544490043bc9ee1f9b37b487bd5c239c9f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846659153640b1bffc0da68baa51d62f821c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a6593eb8dd060da72b612dd4128b4fef345d58c2e8cc2764dff574a3094fe9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b7ce16bfa101adc89a7773ffd08c545634f59d9035cabadef5f5ce941351d4 + +handshake=Noise_NKpsk1_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d438f5822dfd27a43ada58efc5977708 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466117ef4bc881b704cfb87d2c0e95fa683 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=2e97c7a30baa66eb2eef35ac21f0985cb7139c68c681119ac87dd8864ab50e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2d441a28146d89109afcebf7fb254715a4937c1b775ed048735c301b7c15ba + +handshake=Noise_NKpsk2_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ae324e3db885a891345f300591c39991 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466158ae4d81ce5d413184b62ecbf1db7d6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=93bb4e3dd1995295277446d3010fc7299dd2d1f283d7ce9ee8934d1caa60ef +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d7ce2e01658cebe3086b25ae67c184cbb26e4855bc9c03a82c149948ea9a4e + +handshake=Noise_NK_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254bc7e9bcabcd39b9278b37f9892f7dec16e155389121da24e1fad +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466060fcddff00afaa37fd11c440d18031d7f9a735d2dd1ea6bfe24 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=56a475d3db0d0d5931542a93e3cd57c7dc51b29fc6d0a7cea41aea05d99fe5 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5c239eb65b5f0d0641f6c6c20aec65646626249f9194e4211a2f8e761c2d72 + +handshake=Noise_NKpsk0_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544e94ec05dc68a1daa22de47ad3b7f3e2e17d0b302fa6890ea67f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466281b734b3aba9427cddf3c94b9f572f110a02b5e52acab758e34 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a6593eb8dd060da72b612dd4128b4fef345d58c2e8cc2764dff574a3094fe9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b7ce16bfa101adc89a7773ffd08c545634f59d9035cabadef5f5ce941351d4 + +handshake=Noise_NKpsk1_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b844c29336d91edab89a43bfc3fe933ccd161c24839025e6c72d +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660e1784da1b96e7a4a7d743449335246823acd49e72750ccfa6fa +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=2e97c7a30baa66eb2eef35ac21f0985cb7139c68c681119ac87dd8864ab50e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=2d441a28146d89109afcebf7fb254715a4937c1b775ed048735c301b7c15ba + +handshake=Noise_NKpsk2_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541c1384003bc26279ca3cb125ee90cc218132fdbf93455a891a92 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663780ee06ece35bbfb120dda59c0d7f0226547003e9db0016a4ab +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=93bb4e3dd1995295277446d3010fc7299dd2d1f283d7ce9ee8934d1caa60ef +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d7ce2e01658cebe3086b25ae67c184cbb26e4855bc9c03a82c149948ea9a4e + +handshake=Noise_KK_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d8021192b02d5946c7e1e789d60c9c06 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466388958d71fa742cfe4c44b889e03b468 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=674d3b19a02535626dfcb13bd383509b715566cf53e9f31ac161944d38b7c1 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=aefd829d861f03d0d8c4bfedbb520f7c1837a46e2e1b26896063783b1cba4b + +handshake=Noise_KKpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625402790d4c1ebce1325c633c1f1ea80ad4 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fe65d3f16b8c5ccf188f663b2183c2fd +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=42e238b4b6180654120bdb79734c6bbf8d47cc49f94689740b89443a5f809c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=556615110f73692755058a5f80d58f952a3eecccd14006edf6dcff48f44b5a + +handshake=Noise_KKpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a8a2e2a6065a7666ddee18705efd8639 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b3385c8f08a91f06deff7077b00932f4 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=19e26089ed5d9ec2cd5a9488c012880c76670e7b6ef405e518a658008f829c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=32a0cd0ddbbe90796cde8048bc59f2c3544948b03e6675e4ae0437baf0df06 + +handshake=Noise_KKpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254eace755c4d02a6492ec15bc6fb76ca61 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846637b28fc3206f049e0d7ee41b124c12dd +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a0136e8d63fc19792c4a64e752e7de2ee2b61eb0ae0298595363785c8f653d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=fbb11e69ee5a33728ed2823c05a6fa19dc7d73d6af4467e990e87941bd582f + +handshake=Noise_KK_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625419aad3185cdd8cf655a1e5c3dd7a90657bf4c873bac45f7f8225 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668f22a41cfad6486600f09fe2698e50cc3657fc2261cd5b29f73c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=674d3b19a02535626dfcb13bd383509b715566cf53e9f31ac161944d38b7c1 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=aefd829d861f03d0d8c4bfedbb520f7c1837a46e2e1b26896063783b1cba4b + +handshake=Noise_KKpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c98a7a53fef3f35c47556529a7f0d50cb2a15c56501f76d59e09 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666d587d79056823bbadec39dee9aa9580e4f45bcf104f273ea3b1 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=42e238b4b6180654120bdb79734c6bbf8d47cc49f94689740b89443a5f809c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=556615110f73692755058a5f80d58f952a3eecccd14006edf6dcff48f44b5a + +handshake=Noise_KKpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543deac12a288a3ffb2541fd331a5da4e660281d6803a335926020 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846639f393a7a74357488e1fbb252c4678b320a0f82ec35209798870 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=19e26089ed5d9ec2cd5a9488c012880c76670e7b6ef405e518a658008f829c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=32a0cd0ddbbe90796cde8048bc59f2c3544948b03e6675e4ae0437baf0df06 + +handshake=Noise_KKpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254935aac7f2c79135a1ae9ad51b5ce8d469acc4b9630f97992db02 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b1b80dee04d5354522d814e28e9e074e1cd71345e2fe6c0e8725 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a0136e8d63fc19792c4a64e752e7de2ee2b61eb0ae0298595363785c8f653d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=fbb11e69ee5a33728ed2823c05a6fa19dc7d73d6af4467e990e87941bd582f + +handshake=Noise_KK_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625494c0722b15726c73e42293762f1f231b +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668b06fbd531249a47de97b5d0a1d28204 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=674d3b19a02535626dfcb13bd383509b715566cf53e9f31ac161944d38b7c1 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=aefd829d861f03d0d8c4bfedbb520f7c1837a46e2e1b26896063783b1cba4b + +handshake=Noise_KKpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254df63a84e581cf0ee95c5bee20b388692 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c9172f26d7b9526845b62124cc08260e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=42e238b4b6180654120bdb79734c6bbf8d47cc49f94689740b89443a5f809c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=556615110f73692755058a5f80d58f952a3eecccd14006edf6dcff48f44b5a + +handshake=Noise_KKpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546b84654df558648f7477ce7e3408ce12 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fe1815dab93dffb8ae0b5f9134ddc4de +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=19e26089ed5d9ec2cd5a9488c012880c76670e7b6ef405e518a658008f829c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=32a0cd0ddbbe90796cde8048bc59f2c3544948b03e6675e4ae0437baf0df06 + +handshake=Noise_KKpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545f1e8dfaa017156a4d6b5d8c99129763 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466902a71bf779743a6844bd76f6c8bf029 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a0136e8d63fc19792c4a64e752e7de2ee2b61eb0ae0298595363785c8f653d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=fbb11e69ee5a33728ed2823c05a6fa19dc7d73d6af4467e990e87941bd582f + +handshake=Noise_KK_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625419aad3185cdd8cf655a139d31873c6117854954b8fd22d9e6489 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668f22a41cfad6486600f0fbb4ae670da71c5206d2817405a505d7 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=674d3b19a02535626dfcb13bd383509b715566cf53e9f31ac161944d38b7c1 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=aefd829d861f03d0d8c4bfedbb520f7c1837a46e2e1b26896063783b1cba4b + +handshake=Noise_KKpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c98a7a53fef3f35c4755296b675ec07df2f17c802c6264ef8d4a +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666d587d79056823bbadec72c5647701d2468995235e0e2dfa6130 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=42e238b4b6180654120bdb79734c6bbf8d47cc49f94689740b89443a5f809c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=556615110f73692755058a5f80d58f952a3eecccd14006edf6dcff48f44b5a + +handshake=Noise_KKpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543deac12a288a3ffb25418beeca17308cd9c7c9931d1ab774f12f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846639f393a7a74357488e1f1ba5d4c24b572488251c32b03de1ab63 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=19e26089ed5d9ec2cd5a9488c012880c76670e7b6ef405e518a658008f829c +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=32a0cd0ddbbe90796cde8048bc59f2c3544948b03e6675e4ae0437baf0df06 + +handshake=Noise_KKpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254935aac7f2c79135a1ae93f52e8f9b4b46fb2393b2bdacb48565c +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b1b80dee04d5354522d85eed0973dca2d7cee4415256eac4724d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=a0136e8d63fc19792c4a64e752e7de2ee2b61eb0ae0298595363785c8f653d +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=fbb11e69ee5a33728ed2823c05a6fa19dc7d73d6af4467e990e87941bd582f + +handshake=Noise_NX_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662fa9441324a92794acc0183591dd9d557e9d2251ff81cb8e7b6a34939ac4036f7d53a2007a3c8f072b93fd48bc802cb515be42a451820b25defc737ce7e3a02e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ab1d23a9f710a0149ddbb596f968be2ed7afbdc065d8fed5168472f4e0c263 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=173b29d07b7e78108bab3bf145eba669861543b85910a5d60e101d1b57ca02 + +handshake=Noise_NXpsk0_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254fbe8dfe276679b474bd9e513b64634df +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e15aaba5d9237372cd606332278a7fafe502bf5da959448b7aba91aa233b84269c46c3dc622e69a9460016f8e316da4ce33ff43f9a694008b6ea9c4733b37c5b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d669f1665b76c5081948c04c3f8fcdadbedb03fc0bf735bccead480c9d07d8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f1bbc916980b6e57f5c73900c8c3a59e793ec656a08153f0907ddd48c32656 + +handshake=Noise_NXpsk1_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f921f0b4cdcc7390e29c00352a70c592 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c275a8088f895e9da65446a1e0f546af2cb58f8ca255a901d607c04862c05d4e714660c2232771711e2f32a3d7d1fc99b177e7ea52743ae3aff0ac71c858c32d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6d6afdf7b42a9b89cb2d10db38215064e496f4a7b4a6ed07a6c3ca9079121b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=22fa156f8584ac9649c136dc97aadc118b2228ead75adb7a613bad01296099 + +handshake=Noise_NXpsk2_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625456287ced9403b4417a01582209846ee8 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a1cd0d53bab3c8076ab5f5c8dc0b79628e1e24b179f2b9e83dd9a891c527a2381bfb9a4a59efab9610fe21a425f698732f6a98356e740fb037f721ba9858e9b9 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0ca7d068c7d39806366bbf7e93af4348300523ce01d7e96c89de8e4fbb9ca8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=a7675930bc1cefe9a1f84f535b3b583cefcfac329838e7bb176f226570f7a6 + +handshake=Noise_NX_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662fa9441324a92794acc0183591dd9d557e9d2251ff81cb8e7b6a34939ac4036f40ffb1456c9e640da7023f3fd1a4082eb2be7bcc73a2ab41fc9d67482e64e47f175e3ab4b97fda1ff7cf +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ab1d23a9f710a0149ddbb596f968be2ed7afbdc065d8fed5168472f4e0c263 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=173b29d07b7e78108bab3bf145eba669861543b85910a5d60e101d1b57ca02 + +handshake=Noise_NXpsk0_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549466b62462582414c580a5d26559f913770e8ff43e82d1d11c2a +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e15aaba5d9237372cd606332278a7fafe502bf5da959448b7aba91aa233b8426256c0bce8d8a8a48e6749218b6bf4d1fbc50c9616d0018183df12bc6a32a5ae685e786e15ae420fdf1ea +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d669f1665b76c5081948c04c3f8fcdadbedb03fc0bf735bccead480c9d07d8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f1bbc916980b6e57f5c73900c8c3a59e793ec656a08153f0907ddd48c32656 + +handshake=Noise_NXpsk1_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254dbd5e20809d301052b4953b63dab04cbb1bdca9ce948132bc6a1 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c275a8088f895e9da65446a1e0f546af2cb58f8ca255a901d607c04862c05d4e24b1f1a06cbbd9ca58c102cf6df58054a0cc0aee27153e563b6628d04492ddabf898e9d3dc88cb05caf9 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6d6afdf7b42a9b89cb2d10db38215064e496f4a7b4a6ed07a6c3ca9079121b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=22fa156f8584ac9649c136dc97aadc118b2228ead75adb7a613bad01296099 + +handshake=Noise_NXpsk2_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625414fde92796c7eb025037438eeacbdcb2c0c94f049ba861860b0e +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a1cd0d53bab3c8076ab5f5c8dc0b79628e1e24b179f2b9e83dd9a891c527a238ba5e4798d9a8c59fe6c7a32b28904c7c29b8a81fc40825e8f546253cd908c607f8a37a276f13e12db216 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0ca7d068c7d39806366bbf7e93af4348300523ce01d7e96c89de8e4fbb9ca8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=a7675930bc1cefe9a1f84f535b3b583cefcfac329838e7bb176f226570f7a6 + +handshake=Noise_NX_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662fa9441324a92794acc0183591dd9d557e9d2251ff81cb8e7b6a34939ac4036f8651a0e993975aeea53e4113ada3b7d80688689fa70e534841d31e505db9fc63 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ab1d23a9f710a0149ddbb596f968be2ed7afbdc065d8fed5168472f4e0c263 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=173b29d07b7e78108bab3bf145eba669861543b85910a5d60e101d1b57ca02 + +handshake=Noise_NXpsk0_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541c6e2b9c9a65d9194cb1f369e1afd5e4 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e15aaba5d9237372cd606332278a7fafe502bf5da959448b7aba91aa233b842681582921e2a265120960fdd7a5c4863d4c3ca740b0fdea11e84d42a79641712c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d669f1665b76c5081948c04c3f8fcdadbedb03fc0bf735bccead480c9d07d8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f1bbc916980b6e57f5c73900c8c3a59e793ec656a08153f0907ddd48c32656 + +handshake=Noise_NXpsk1_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254acd1745c885149a64ce7f3481dee508a +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c275a8088f895e9da65446a1e0f546af2cb58f8ca255a901d607c04862c05d4e2bc44f07f0001ff465418b2180d8b01c70915587643ff6e707d27eb1203bebf0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6d6afdf7b42a9b89cb2d10db38215064e496f4a7b4a6ed07a6c3ca9079121b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=22fa156f8584ac9649c136dc97aadc118b2228ead75adb7a613bad01296099 + +handshake=Noise_NXpsk2_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254435325bcaf808e2b1a57d1e0cfadda3a +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a1cd0d53bab3c8076ab5f5c8dc0b79628e1e24b179f2b9e83dd9a891c527a238e295e298959aeaec8ba42bb0c2fccc99632cbcccec4341a272657bbb1e6589bd +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0ca7d068c7d39806366bbf7e93af4348300523ce01d7e96c89de8e4fbb9ca8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=a7675930bc1cefe9a1f84f535b3b583cefcfac329838e7bb176f226570f7a6 + +handshake=Noise_NX_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662fa9441324a92794acc0183591dd9d557e9d2251ff81cb8e7b6a34939ac4036fbd4d474a60b9243549e661a23fbe6818b2be7bcc73a2ab41fc9dc20c5b432f6d1d06b2f0d17c51070d3a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=ab1d23a9f710a0149ddbb596f968be2ed7afbdc065d8fed5168472f4e0c263 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=173b29d07b7e78108bab3bf145eba669861543b85910a5d60e101d1b57ca02 + +handshake=Noise_NXpsk0_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549466b62462582414c580478ce9b85bd9aa77e54f67f4dd6c5d82 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e15aaba5d9237372cd606332278a7fafe502bf5da959448b7aba91aa233b84269fc00380622f9c2cbdcac0ed827cdd4cbc50c9616d0018183df16dc0cdbe1194bbeb74960015ce712022 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d669f1665b76c5081948c04c3f8fcdadbedb03fc0bf735bccead480c9d07d8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=f1bbc916980b6e57f5c73900c8c3a59e793ec656a08153f0907ddd48c32656 + +handshake=Noise_NXpsk1_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254dbd5e20809d301052b493609a928ec2fe986655186f645a7791c +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c275a8088f895e9da65446a1e0f546af2cb58f8ca255a901d607c04862c05d4e7fbc9e638653a16fd2d3f653dc377ccca0cc0aee27153e563b668fcabf727f2fe6d5dd0dda9dd235599d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6d6afdf7b42a9b89cb2d10db38215064e496f4a7b4a6ed07a6c3ca9079121b +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=22fa156f8584ac9649c136dc97aadc118b2228ead75adb7a613bad01296099 + +handshake=Noise_NXpsk2_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625414fde92796c7eb025037e305fb9a4b18616d971a36b6852f7315 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a1cd0d53bab3c8076ab5f5c8dc0b79628e1e24b179f2b9e83dd9a891c527a238b0b828d5c244b4c3c239b1c7b2ddbab729b8a81fc40825e8f5466d7e958a84ff6b12e1af4fbba9a29b50 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=0ca7d068c7d39806366bbf7e93af4348300523ce01d7e96c89de8e4fbb9ca8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=a7675930bc1cefe9a1f84f535b3b583cefcfac329838e7bb176f226570f7a6 + +handshake=Noise_KX_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664da461bfc2d7e228776700246eecb12bc654b92fef771afb5c6c6645648e11d847f40b2d552be046c38b3882103e86fc283c15084a8b61fd16d83e556498ec48 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=f2705e50e8767f26211b34d7fed7756365369d16d09beb7c2242bf73344bdf +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5d5a714198d09c66a53b7430a506394c4fc09cf01ba87a63be5cc6a3950971 + +handshake=Noise_KXpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a708d17c82987917466c1283e27a5243 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466dade0aaee91efc2a450b6473fb57348ce567f479f3434272157f7a1c1e9c910c7561bf41b5d645b6ddc9fed8e78bee6123322e497d2a8304888aadfdf2827cac +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=37146cfbb188da3bfa49c5395f5efe6192d71715dad654f752818b62cd4cf8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5c1087fdfc98033ebd073c253f5cd07c491e345b60eb2db754b6081bda1264 + +handshake=Noise_KXpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541b2c9cd52bff4bc2f41a75e8e23b4eed +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846633507ddc0579de7fbe76c684d63e57d543196a324296bc48cd1c7c4573daf945cf06ccbe204667df4aceffdeb4414bf94d1357942e5206de77985c5cdd40844e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=1b7d27ab5b443523ae268ca3d793470450e01704618a971ca391b115ac6c98 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=62ea5681b380e2a9c1a386ba08bca2ded5a8a6f596841dacce9d9f25c51ad1 + +handshake=Noise_KXpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e3680648d1d20449b7c0aea4203871b0 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b217bad95312cabcc05c2faa1d4c06b0e11b9dcb71f1e37e6970a55e24352b61482a9701a39f039df362b5cbc297a1b5b5769b45d14697675b25c72ec6f41fb6 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4c63441220a5aea59a924dc2f03c5f19d6dbf065d3f1fbeffb8c2a9443eba4 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=12296e1c0a21fd13cbe935d4bff4855f097bfa6b56a5220b8bed38c222a82b + +handshake=Noise_KX_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664da461bfc2d7e228776700246eecb12bc654b92fef771afb5c6c6645648e11d85f7ae53e16f2f8b10e6f6f77e6b737d17e65818a7649a0dd819b8b79f1e8aadf3dab7f4ccfdb86dbd5b4 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=f2705e50e8767f26211b34d7fed7756365369d16d09beb7c2242bf73344bdf +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5d5a714198d09c66a53b7430a506394c4fc09cf01ba87a63be5cc6a3950971 + +handshake=Noise_KXpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254aa9944ef5862e98b59774e7c724731a7c9ad55bb23e759b6155e +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466dade0aaee91efc2a450b6473fb57348ce567f479f3434272157f7a1c1e9c910c26475971134b2de5ed2acfcc024a4126fa5a09cfc607150eab573e9d106f9c538e33d45efaa6f7bcb45e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=37146cfbb188da3bfa49c5395f5efe6192d71715dad654f752818b62cd4cf8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5c1087fdfc98033ebd073c253f5cd07c491e345b60eb2db754b6081bda1264 + +handshake=Noise_KXpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254852022ca0041d1875ce9c1e0a87166a72b54e2be548b4fb70b10 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846633507ddc0579de7fbe76c684d63e57d543196a324296bc48cd1c7c4573daf945617479de0875fba178c5c9adf3280df5cfc231db12d274de858364a5245306776132c263d487322b63f8 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=1b7d27ab5b443523ae268ca3d793470450e01704618a971ca391b115ac6c98 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=62ea5681b380e2a9c1a386ba08bca2ded5a8a6f596841dacce9d9f25c51ad1 + +handshake=Noise_KXpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254db02872b3c4193584b69762d97fb9f89abbdd582b7f8e5dc6e22 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b217bad95312cabcc05c2faa1d4c06b0e11b9dcb71f1e37e6970a55e24352b612c433e36f398b4e463e0d77434f8ad9e7ed2ee1f9beeed0a3e868ad2d0f36605870fbacd13fae104a316 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4c63441220a5aea59a924dc2f03c5f19d6dbf065d3f1fbeffb8c2a9443eba4 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=12296e1c0a21fd13cbe935d4bff4855f097bfa6b56a5220b8bed38c222a82b + +handshake=Noise_KX_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664da461bfc2d7e228776700246eecb12bc654b92fef771afb5c6c6645648e11d8b0cfe2f8e48e009af03e6420e5f0dfab42491c7c224bb630b73d159ef7ff18a8 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=f2705e50e8767f26211b34d7fed7756365369d16d09beb7c2242bf73344bdf +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5d5a714198d09c66a53b7430a506394c4fc09cf01ba87a63be5cc6a3950971 + +handshake=Noise_KXpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625467be4845bb485599879d5d2744ffc023 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466dade0aaee91efc2a450b6473fb57348ce567f479f3434272157f7a1c1e9c910c8cd74cab21809c5bf9ae94a3e74d9bd17fafd70a1360983530c8574e62567f74 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=37146cfbb188da3bfa49c5395f5efe6192d71715dad654f752818b62cd4cf8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5c1087fdfc98033ebd073c253f5cd07c491e345b60eb2db754b6081bda1264 + +handshake=Noise_KXpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a32d10e5390ce2550ad276761ef7889f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846633507ddc0579de7fbe76c684d63e57d543196a324296bc48cd1c7c4573daf945c1ee27fed069cbac9996f122e1180aabed9b592cbde022e46d84a11941ec1527 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=1b7d27ab5b443523ae268ca3d793470450e01704618a971ca391b115ac6c98 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=62ea5681b380e2a9c1a386ba08bca2ded5a8a6f596841dacce9d9f25c51ad1 + +handshake=Noise_KXpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a8e1f464d3fd4aca7a283f32c0d816e2 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b217bad95312cabcc05c2faa1d4c06b0e11b9dcb71f1e37e6970a55e24352b61c7fe2e8c86a9322bb9d26850cf0727c55e3172f310413bb5addfba93df599150 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4c63441220a5aea59a924dc2f03c5f19d6dbf065d3f1fbeffb8c2a9443eba4 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=12296e1c0a21fd13cbe935d4bff4855f097bfa6b56a5220b8bed38c222a82b + +handshake=Noise_KX_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664da461bfc2d7e228776700246eecb12bc654b92fef771afb5c6c6645648e11d8d792d9531d4982940eb0f25d701902557e65818a7649a0dd819b2669d91c8e90827d6252b0855edaee1c +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=f2705e50e8767f26211b34d7fed7756365369d16d09beb7c2242bf73344bdf +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5d5a714198d09c66a53b7430a506394c4fc09cf01ba87a63be5cc6a3950971 + +handshake=Noise_KXpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254aa9944ef5862e98b5977fc452078277dd82650680c3709420ece +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466dade0aaee91efc2a450b6473fb57348ce567f479f3434272157f7a1c1e9c910cf73243ef2c5e6e04886629ee23126d86fa5a09cfc607150eab57ab0e1c47090e4d87caebb8180cc5dcde +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=37146cfbb188da3bfa49c5395f5efe6192d71715dad654f752818b62cd4cf8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=5c1087fdfc98033ebd073c253f5cd07c491e345b60eb2db754b6081bda1264 + +handshake=Noise_KXpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254852022ca0041d1875ce967af157e5a16f3b94544b7e3f6559950 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846633507ddc0579de7fbe76c684d63e57d543196a324296bc48cd1c7c4573daf9450e09353924859de4e199926441bb4f4fcfc231db12d274de858332825a59715f48ae8b81da85503919df +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=1b7d27ab5b443523ae268ca3d793470450e01704618a971ca391b115ac6c98 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=62ea5681b380e2a9c1a386ba08bca2ded5a8a6f596841dacce9d9f25c51ad1 + +handshake=Noise_KXpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254db02872b3c4193584b69e13c7bfd4702fbbf8be5dec60f1f1a2b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b217bad95312cabcc05c2faa1d4c06b0e11b9dcb71f1e37e6970a55e24352b617c6c0a311097ecff8bb1f324e9802f137ed2ee1f9beeed0a3e869b49f84fc648bc5733d5fe944589a4f0 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=4c63441220a5aea59a924dc2f03c5f19d6dbf065d3f1fbeffb8c2a9443eba4 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=12296e1c0a21fd13cbe935d4bff4855f097bfa6b56a5220b8bed38c222a82b + +handshake=Noise_XN_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667c3bcb8aa57d16c472e5884f7f10d713 +msg_2_payload= +msg_2_ciphertext=3fd53af07c2c674ca7cf182726641c4c02d7c8d3b0dfecdafecf43b741fac77b9cb60225da2079f22ff4bd57a995175986d65b89a24315d2300e04f08b1214c3 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=3907e2136f0103c819943689cceace3d4f5428bedab749d25ae8afdaf5ef74 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=99cce8f25e45b84ea11bb53afa95131a80faed0345ed3f328b830166eaed5a + +handshake=Noise_XNpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e536bf7659b705b260e11326d088608d +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466384980e3852095d08dd4418f4b9d766a +msg_2_payload= +msg_2_ciphertext=f336d406e1f75f3ffd3865c92ce137c55e37dc49e27210e05254c2ec3ad7ee4a1199e9838d05b8562d459f0be3ed09e900a3967b6ac1bf68178cbf4f4f521b9f +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=dee33db18e140806fbdc44c4f3b2d7860948d4cc1938dae2dd41e13146756d +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=284090b027f87c4dd51fe38650b3703a08b06dd9022e6d2ffc7f2b04a28459 + +handshake=Noise_XNpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d5bdd95205c45c1e7b522000e02ae624 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667ac2f4af89e151b584a2b7cedf3b98af +msg_2_payload= +msg_2_ciphertext=0d06059800951529977ab99abf46011735b52bc602ed118b505e013091719a081d41709ebae85b753a5e4a220c6de5a175240be1b0ff56d32ccd60374d607b55 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=0d616739d9678ba60390dfb5a27c4f636820ea559fcd84a049ce5c785cbee3 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=6f68ab6c0bffe6cebc38e8351dbd50541a4e645e765db0b3582db6711216e2 + +handshake=Noise_XNpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545ced8cfad93ee839f831bf40f350d394 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846636c9388f83f1d795eba433e3a85f6b71 +msg_2_payload= +msg_2_ciphertext=6ffc44aa06250c17e707f2496732412ed194ea271ed8d0db223b9db3cec1719c4ee79d0d034be157e33048185c964495b331be70f390d09d6d63b7d21b3bc0cf +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=1d203dde50bb9c29b43ea61990dc7f33af190af9c04ca8e2dde93314f17e83 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=78be8aa2d277eb4e3dfb5e3f8de1b46b8bf8a0369ed052fde5c5ddb35f3d1b + +handshake=Noise_XNpsk3_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662549ab9834e132b8bb4879a23b62843fcbf +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bb3e012f72892b7e941bce96ca2ea563 +msg_2_payload= +msg_2_ciphertext=c533dd475d8136b5aeaa4c5113f90ad850eb9f23b6b4c6101f361d28ae49237bdfd0f3ef74d4d4dba6327fde952c82d924aa3af517292ccf6a663aedafb523ae +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=e2eac4b51925c4c1a6d132387b7e72cdb73d43a28e5a77d0792fa9741803ef +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=bd4e9d62222743b195d68b066ec04f67fdc2303d73abf6fbd9a2256d3a03aa + +handshake=Noise_XN_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846668e545d2dc0b6d33da9fd24ad31b9b33f8a2bd66c94ffc254f41 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=3fd53af07c2c674ca7cf182726641c4c02d7c8d3b0dfecdafecf43b741fac77bcfa35e90e3132d80034ed9b23241a0efd3f7500318405c3518dba6b669ea10904eba266c29ab90fc722f +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=3907e2136f0103c819943689cceace3d4f5428bedab749d25ae8afdaf5ef74 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=99cce8f25e45b84ea11bb53afa95131a80faed0345ed3f328b830166eaed5a + +handshake=Noise_XNpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a9ea932312f389043a091fca6aea3f0dd2859c7c60729aa8c714 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466473a0058daa80d9c2e3d297344328bfcfa46eb6b8e4022a115b5 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=f336d406e1f75f3ffd3865c92ce137c55e37dc49e27210e05254c2ec3ad7ee4a99bac244d3d9414db9516c6eaa31537bbf7fdff96934ac26427ec01d5f97303ba310f8b5d310f5590972 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=dee33db18e140806fbdc44c4f3b2d7860948d4cc1938dae2dd41e13146756d +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=284090b027f87c4dd51fe38650b3703a08b06dd9022e6d2ffc7f2b04a28459 + +handshake=Noise_XNpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a47374f2616d600032043446710da74f47e21009109681b36f63 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846622ec1deae64ffca2c0e9a4719b0ac129654a6acec3acfdf100a8 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=0d06059800951529977ab99abf46011735b52bc602ed118b505e013091719a0818a72afc1a92deb5ac2e19e428bc75ec462350558a18072bb0fb30156b1ea8a40a2c70af2e9bf20ad691 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=0d616739d9678ba60390dfb5a27c4f636820ea559fcd84a049ce5c785cbee3 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=6f68ab6c0bffe6cebc38e8351dbd50541a4e645e765db0b3582db6711216e2 + +handshake=Noise_XNpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625400c129b407b0e1a7e81cd0856da2332b21089505096cb0f590c5 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e5d916dabcaa33741dd98e41128d5e0f20a6a45671f3d1848c2b +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=6ffc44aa06250c17e707f2496732412ed194ea271ed8d0db223b9db3cec1719cc83c5ae88e63fc64b2dfff43b873a068b95e7190573128cae00b528948bb3b6e234c1e93e9612e96e781 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=1d203dde50bb9c29b43ea61990dc7f33af190af9c04ca8e2dde93314f17e83 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=78be8aa2d277eb4e3dfb5e3f8de1b46b8bf8a0369ed052fde5c5ddb35f3d1b + +handshake=Noise_XNpsk3_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254abb638c9b7f9e37475bc13b640bcd2413ef6ac24ddfc1b375856 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661b1d6ab5f61f9808b5ba36778c746d1dd4ef83c6344dab022aab +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=c533dd475d8136b5aeaa4c5113f90ad850eb9f23b6b4c6101f361d28ae49237b5a205d18fc908864cac4b3687c9bab1160a25c00f34525741269fff47fe9804b1ea44f2af599eda0f6a3 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=e2eac4b51925c4c1a6d132387b7e72cdb73d43a28e5a77d0792fa9741803ef +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=bd4e9d62222743b195d68b066ec04f67fdc2303d73abf6fbd9a2256d3a03aa + +handshake=Noise_XN_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466608b752c761dbdbff13c1cf118a78012 +msg_2_payload= +msg_2_ciphertext=3fd53af07c2c674ca7cf182726641c4c02d7c8d3b0dfecdafecf43b741fac77b5d6677b9332a441dfa111bc6567e02e3f00da36393accef162e17752f5678f96 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=3907e2136f0103c819943689cceace3d4f5428bedab749d25ae8afdaf5ef74 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=99cce8f25e45b84ea11bb53afa95131a80faed0345ed3f328b830166eaed5a + +handshake=Noise_XNpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ec1ea27017f8e7707f18f51064fd2add +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466802a509fd08046ae49f47f74a4e0ccc6 +msg_2_payload= +msg_2_ciphertext=f336d406e1f75f3ffd3865c92ce137c55e37dc49e27210e05254c2ec3ad7ee4a1684c6ebf8ef1e82a68eb2b50a3099ed665dc1639b91800662be46495764ae43 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=dee33db18e140806fbdc44c4f3b2d7860948d4cc1938dae2dd41e13146756d +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=284090b027f87c4dd51fe38650b3703a08b06dd9022e6d2ffc7f2b04a28459 + +handshake=Noise_XNpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547cab3a68cd70802365a6f31f3bd5404e +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846661068b4ce2fe89e3b22be23143b20354 +msg_2_payload= +msg_2_ciphertext=0d06059800951529977ab99abf46011735b52bc602ed118b505e013091719a085ee2b4469aa934e1e0120d07cb930ba2333bdc2aebcb22fb4a1ce4237331866d +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=0d616739d9678ba60390dfb5a27c4f636820ea559fcd84a049ce5c785cbee3 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=6f68ab6c0bffe6cebc38e8351dbd50541a4e645e765db0b3582db6711216e2 + +handshake=Noise_XNpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ce578828a73922e9e4dffa89512bc9a2 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466de48548f3293ba62560009b242fee319 +msg_2_payload= +msg_2_ciphertext=6ffc44aa06250c17e707f2496732412ed194ea271ed8d0db223b9db3cec1719c17ea0785e8debcf3099f7d5eedf069ed765e74a75a323ab224a3738a926ce4fa +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=1d203dde50bb9c29b43ea61990dc7f33af190af9c04ca8e2dde93314f17e83 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=78be8aa2d277eb4e3dfb5e3f8de1b46b8bf8a0369ed052fde5c5ddb35f3d1b + +handshake=Noise_XNpsk3_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542242c47f31f968ccc897da360e62a083 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662f7cedc69bd3185e75f1b4d3809a6402 +msg_2_payload= +msg_2_ciphertext=c533dd475d8136b5aeaa4c5113f90ad850eb9f23b6b4c6101f361d28ae49237bb9f6442a7516ac401971a31b8079c7f66626d3685e14f06a107bec76b02d16a1 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=e2eac4b51925c4c1a6d132387b7e72cdb73d43a28e5a77d0792fa9741803ef +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=bd4e9d62222743b195d68b066ec04f67fdc2303d73abf6fbd9a2256d3a03aa + +handshake=Noise_XN_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846668e545d2dc0b6d33da9f921c05aa32b4aa4dd9d7b520452ff0d3 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=3fd53af07c2c674ca7cf182726641c4c02d7c8d3b0dfecdafecf43b741fac77b589759479eeb6de299615797705822d6d3f7500318405c3518db94f99a9ee65a5cbdfc4901fe80c7d645 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=3907e2136f0103c819943689cceace3d4f5428bedab749d25ae8afdaf5ef74 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=99cce8f25e45b84ea11bb53afa95131a80faed0345ed3f328b830166eaed5a + +handshake=Noise_XNpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a9ea932312f389043a0905f635244ebed0c959d850a67d2bfcdb +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466473a0058daa80d9c2e3dcab025910801eed3e0cdb0fb880d3d6b +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=f336d406e1f75f3ffd3865c92ce137c55e37dc49e27210e05254c2ec3ad7ee4a368bf01b9da36e4ce6b554e8b73dab13bf7fdff96934ac26427ebbb2701fc32e0ffccb9c3bb8b0aefb75 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=dee33db18e140806fbdc44c4f3b2d7860948d4cc1938dae2dd41e13146756d +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=284090b027f87c4dd51fe38650b3703a08b06dd9022e6d2ffc7f2b04a28459 + +handshake=Noise_XNpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a47374f2616d600032047892120a00630119ec5dc6a4442dda22 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846622ec1deae64ffca2c0e9c34fa5a2bbf1968c6d2c1d80fc911a28 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=0d06059800951529977ab99abf46011735b52bc602ed118b505e013091719a08f99960c571a1598776bac8555377f9d7462350558a18072bb0fbed68cd772ec5bc4899aeffa332303bfb +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=0d616739d9678ba60390dfb5a27c4f636820ea559fcd84a049ce5c785cbee3 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=6f68ab6c0bffe6cebc38e8351dbd50541a4e645e765db0b3582db6711216e2 + +handshake=Noise_XNpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625400c129b407b0e1a7e81ca404bfbae707682f2c14be89ae10c1d8 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466e5d916dabcaa33741dd926fadac6a68a33856977d6b9809f174b +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=6ffc44aa06250c17e707f2496732412ed194ea271ed8d0db223b9db3cec1719ce8e013412dd540377d8d28be4b70dc54b95e7190573128cae00b52f12a95c947a65121d7b922ba35ef3d +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=1d203dde50bb9c29b43ea61990dc7f33af190af9c04ca8e2dde93314f17e83 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=78be8aa2d277eb4e3dfb5e3f8de1b46b8bf8a0369ed052fde5c5ddb35f3d1b + +handshake=Noise_XNpsk3_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254abb638c9b7f9e37475bc49791331a682b67199936ecb513e38c6 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484661b1d6ab5f61f9808b5bac4d0141615d581366e86cf1c7c01310b +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=c533dd475d8136b5aeaa4c5113f90ad850eb9f23b6b4c6101f361d28ae49237b7fb184f15e468b37794ce697f1bc1ec960a25c00f34525741269d02c60c542110a1f17bd4fda90a7b3bf +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=e2eac4b51925c4c1a6d132387b7e72cdb73d43a28e5a77d0792fa9741803ef +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=bd4e9d62222743b195d68b066ec04f67fdc2303d73abf6fbd9a2256d3a03aa + +handshake=Noise_IN_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bf81cc58fc81923794e9cb78b175e98f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=19cc2591829276b739f9f5b1deb652104dc294700bfa4bff444556a1eb66a8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=79d57fd9146cc45d81a557ccb290399035dee037ad22c8371fb245eea2a937 + +handshake=Noise_INpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543e53b95e290bf8014fe7d452af24a73fec879b75957a17db1f438bcc24f70495334d65fed40a1f58a9a10cebb1fad680bc94b53651dc947759b6c639ef74b6de +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666fcc7926e731cd7c4fd845094bb80e47 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c2355e5c0f0d55bab43293892b2560f6d625596a578d4688a84723a0e97afa +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=33747bd7e8cd49233efc2b656b41a9ef65fbd5435320b83260b3ab33d71b1e + +handshake=Noise_INpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625452bc63f42d0ef66c39248c5cfdc031cacb4c05da27eac1e2da9dc4e76a8c85c97398cb24c0e3770a64c92be982b477907c6ec27d84ab39aa5182d2a2c372cdae +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846667dfafc165b8d7c12f5b3dfdb65a3e2d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=336f4092772f3176d10c7bc03010e9b478b4cac44381de9ebe043c1ef5a46e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=06926f4dab3ecdf3d21d9e823d767be93e539cdb751c196465d0b05721229c + +handshake=Noise_INpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541905fbbca99a3dae4a0e7dfc37f07ea4a5e4482ed7639d9c957eac004eb91b1964d790510ea069614527929196d827e38e8026e56b9e9d4fecf24dc12ee4556c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666ef6fc0cfd40f5cc18f051ab1a038f20 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=435fd3ce23b58ba31718d8851ab789a904d59c6aad42259d48a9ce3966fde9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b1703823277c5285e8d3dbb9f6d5e87b77eb8a80f12ceea78de50f0a39a6c9 + +handshake=Noise_IN_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b7f5acb19587ea6253e2dd0e216a6edd1deb1c0e132cd18977f3 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=19cc2591829276b739f9f5b1deb652104dc294700bfa4bff444556a1eb66a8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=79d57fd9146cc45d81a557ccb290399035dee037ad22c8371fb245eea2a937 + +handshake=Noise_INpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543e53b95e290bf8014fe7d452af24a73fec879b75957a17db1f438bcc24f70495334d65fed40a1f58a9a10cebb1fad68014380d2bea0381c1510e67e5d0b8776c202c821ae1403340c30a +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664a001ad9502defe28afd10d518c7a7c7500451e748ac3a7af324 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c2355e5c0f0d55bab43293892b2560f6d625596a578d4688a84723a0e97afa +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=33747bd7e8cd49233efc2b656b41a9ef65fbd5435320b83260b3ab33d71b1e + +handshake=Noise_INpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625452bc63f42d0ef66c39248c5cfdc031cacb4c05da27eac1e2da9dc4e76a8c85c97398cb24c0e3770a64c92be982b47790eb1556d2552e1ad7246336cdd4e094fd89ddefeca031320b6331 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663554a6fc7e2cb03ff28cd7c1b199ee0b0e112ed1e01545886262 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=336f4092772f3176d10c7bc03010e9b478b4cac44381de9ebe043c1ef5a46e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=06926f4dab3ecdf3d21d9e823d767be93e539cdb751c196465d0b05721229c + +handshake=Noise_INpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541905fbbca99a3dae4a0e7dfc37f07ea4a5e4482ed7639d9c957eac004eb91b1964d790510ea069614527929196d827e3359e9010a82b92594f4d8f37f110d89ddea2428fd23087113089 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ff02318aba77b517f05b7b59fa9e11a4838e31504dfe99625976 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=435fd3ce23b58ba31718d8851ab789a904d59c6aad42259d48a9ce3966fde9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b1703823277c5285e8d3dbb9f6d5e87b77eb8a80f12ceea78de50f0a39a6c9 + +handshake=Noise_IN_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846632e0ebbe49f1eb985aae92e521edf80e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=19cc2591829276b739f9f5b1deb652104dc294700bfa4bff444556a1eb66a8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=79d57fd9146cc45d81a557ccb290399035dee037ad22c8371fb245eea2a937 + +handshake=Noise_INpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543e53b95e290bf8014fe7d452af24a73fec879b75957a17db1f438bcc24f70495155c30fea666bba0fc0ae69c4c3892c154dcfb7b599413a962eeb3d24ad9e8e2 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466276df8c1ea699ceec119c8325ba3eac3 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c2355e5c0f0d55bab43293892b2560f6d625596a578d4688a84723a0e97afa +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=33747bd7e8cd49233efc2b656b41a9ef65fbd5435320b83260b3ab33d71b1e + +handshake=Noise_INpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625452bc63f42d0ef66c39248c5cfdc031cacb4c05da27eac1e2da9dc4e76a8c85c90450ae312299b436e3950e316d28b5c0ad15e29ba03f6668dcde2109f6c74e97 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c12c9edb807ded3c07db4936d0c7e41e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=336f4092772f3176d10c7bc03010e9b478b4cac44381de9ebe043c1ef5a46e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=06926f4dab3ecdf3d21d9e823d767be93e539cdb751c196465d0b05721229c + +handshake=Noise_INpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541905fbbca99a3dae4a0e7dfc37f07ea4a5e4482ed7639d9c957eac004eb91b195ce984c7b5582ba0dfcb498774dc44f5ab63c89ec6b9ac8067f9267dcc1a63f1 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fe750a4d7c95a9f0882b1a9c26a77542 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=435fd3ce23b58ba31718d8851ab789a904d59c6aad42259d48a9ce3966fde9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b1703823277c5285e8d3dbb9f6d5e87b77eb8a80f12ceea78de50f0a39a6c9 + +handshake=Noise_IN_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b7f5acb19587ea6253e2e4d6e53530bd10bc9560791f93b225c8 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=19cc2591829276b739f9f5b1deb652104dc294700bfa4bff444556a1eb66a8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=79d57fd9146cc45d81a557ccb290399035dee037ad22c8371fb245eea2a937 + +handshake=Noise_INpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543e53b95e290bf8014fe7d452af24a73fec879b75957a17db1f438bcc24f70495155c30fea666bba0fc0ae69c4c3892c114380d2bea0381c1510e3621bfe83997a122e8107ba562249f8f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664a001ad9502defe28afde0277a125ce29e71973a85532a8d4437 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c2355e5c0f0d55bab43293892b2560f6d625596a578d4688a84723a0e97afa +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=33747bd7e8cd49233efc2b656b41a9ef65fbd5435320b83260b3ab33d71b1e + +handshake=Noise_INpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625452bc63f42d0ef66c39248c5cfdc031cacb4c05da27eac1e2da9dc4e76a8c85c90450ae312299b436e3950e316d28b5c0eb1556d2552e1ad724636fb85f3717f9e7f063b35b54e8a07412 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663554a6fc7e2cb03ff28c38dbd0beb45568b0a1252e49dccd5410 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=336f4092772f3176d10c7bc03010e9b478b4cac44381de9ebe043c1ef5a46e +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=06926f4dab3ecdf3d21d9e823d767be93e539cdb751c196465d0b05721229c + +handshake=Noise_INpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541905fbbca99a3dae4a0e7dfc37f07ea4a5e4482ed7639d9c957eac004eb91b195ce984c7b5582ba0dfcb498774dc44f5359e9010a82b92594f4d9fa434710f0c79fda3a3b18a0c7a626f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ff02318aba77b517f05b2125921d4c162f0a05516ccd87df7a84 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=435fd3ce23b58ba31718d8851ab789a904d59c6aad42259d48a9ce3966fde9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=b1703823277c5285e8d3dbb9f6d5e87b77eb8a80f12ceea78de50f0a39a6c9 + +handshake=Noise_XK_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254a653390edbd86ba1c020a9938137fa5f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484663f75cb8ff03cce740b876919370edaa2 +msg_2_payload= +msg_2_ciphertext=2fabfb16fc114fed3616c271dbf12733184f4d2e32201ffb233a4720d451cd31e29677f21209b0009b0b1751417adb13b14852eb831d09f8061228cdce3b8dea +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=15b8fdb578ed7fadbd4f6fc87fd48cd3c786ca4ac3ce3a68708ec72147b8c9 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=9525d9e2805470da9ec648070a03e1a5e87f0c858565adbdcf7c38d3dca90e + +handshake=Noise_XKpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254cd9f6810800376a24aff6e6e1af0db21 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466a8a4486855810a350255ae76b501d6ff +msg_2_payload= +msg_2_ciphertext=7028e105675b2294d5887e5fece5ebcad0d304fc21046b7463b3bd763f84268c46023e2baf50dd6f9adac086bada593553f9324b2c733a4f06a3eeab0424f569 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=82acd07ad6c33e3e715daa31868d729a55825b1c88d55a46a9eab5984755d6 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=03d80857afae5021107843912a238783a83fa86c35a2000fa1b58b3828dd98 + +handshake=Noise_XKpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c10dc3cf777958d4979adbb06f3b9de3 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668bef5c4d7ee2b435fbf3ad3aac2162fa +msg_2_payload= +msg_2_ciphertext=a77384941d395fe334060bb6480ade2cbcf4787451f6d2e8cf2c258a33e91ffae12717b78c58f43727101d020a47768034b2c8893276d463971268f0d3cda130 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=815e08cd47c188260e00166f020b2a990a8a7c31f2f6e5e64362bba39e0d8b +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=e13c3fd28fef752772f6a9b8c56eb26866fc1004b98f3644bbbe85829d7b48 + +handshake=Noise_XKpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547848a2c529eaf0a68b9583558097b0ba +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666f94344ffb9f6d96ce88e539b7f12aa7 +msg_2_payload= +msg_2_ciphertext=0c3c7a6dc99c66a026afd6caea5b4dd660846e936276107a6f114081a82408355d8e017c861668b5d83ded9d2fad8b003fb449e8a4abc3e752f974663c1b5a69 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=bbf2d5f1ea82093b94e17ba2ebaa8bed2318ba50f2449b673b41b93458c247 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=afdff82cfe53ed8c4bab4d50c197b8e23c67889a2230289e6f6fb7db7a2d56 + +handshake=Noise_XKpsk3_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662545489e9d87d5dbcedc653141983ec53ac +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846613383e82ec3683f2232ca1ad16f74418 +msg_2_payload= +msg_2_ciphertext=8b7820818afedd08897101cc1e914a29767619f3e142be2673ea7ddbe042c1fa3e9dcab07b0991c815e8158f679f13e7cdd71538cd3b1e69b2360994b768dcbb +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=9c5dd0584674d0fd555d3ba42a4c27756e954bc3aa6dc9fd0d237fbb6479c0 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=ea6edad32c0e8f948cd8b94072116377acff3cab42e2de8558f89b662dfa15 + +handshake=Noise_XK_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254dd159df0538d164882c09160a2ccd10fdba42242c074145b85da +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664cf8cecb0ff80106624fb53f0e47e10871a53d4fca0e13a87e57 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=2fabfb16fc114fed3616c271dbf12733184f4d2e32201ffb233a4720d451cd3114f0f2256fce5a731ed038a1872211679d370b0a85ae6dbf66952ead8564d9f458001c1e8732de89a6c2 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=15b8fdb578ed7fadbd4f6fc87fd48cd3c786ca4ac3ce3a68708ec72147b8c9 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=9525d9e2805470da9ec648070a03e1a5e87f0c858565adbdcf7c38d3dca90e + +handshake=Noise_XKpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542f8e3453a219c2f379b8ba373dfe48bf5c3202ee7119c5d3c1c4 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669f1384f1028d68ed124f2f6e70a6f125ff5ed65a35ba6050e3c9 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=7028e105675b2294d5887e5fece5ebcad0d304fc21046b7463b3bd763f84268ca70070170e3cc469c667dbcab5091d33fd527b0687d9dbe7a2f97c52db0cac5fed733ce2236fe4adca5e +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=82acd07ad6c33e3e715daa31868d729a55825b1c88d55a46a9eab5984755d6 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=03d80857afae5021107843912a238783a83fa86c35a2000fa1b58b3828dd98 + +handshake=Noise_XKpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254dee2c560cb410ffe557c7183216c289cc5f28c4b9884a67e1607 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d19c8f7fd48e7049046c83cdc13c43a33efa46793e06ff39a406 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=a77384941d395fe334060bb6480ade2cbcf4787451f6d2e8cf2c258a33e91ffa3f37dc25d204f2a58f13726a1188e2697d93f7f672b4b6c4d43b8031cba8f8cb8ba90020fac4807a0b5a +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=815e08cd47c188260e00166f020b2a990a8a7c31f2f6e5e64362bba39e0d8b +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=e13c3fd28fef752772f6a9b8c56eb26866fc1004b98f3644bbbe85829d7b48 + +handshake=Noise_XKpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542cfbefa92d7f5e6f4b3b0ec725ab9f2caa61217f018017366e84 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ded51642e5afbb65c7319672be181c2fe9d0e1679f09b04d0567 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=0c3c7a6dc99c66a026afd6caea5b4dd660846e936276107a6f114081a8240835255ad05e56c29a0f610ad13af2654759af0102ceda60fd259afc75f6e45742b54c5f6a3fccfd7eb8780f +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=bbf2d5f1ea82093b94e17ba2ebaa8bed2318ba50f2449b673b41b93458c247 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=afdff82cfe53ed8c4bab4d50c197b8e23c67889a2230289e6f6fb7db7a2d56 + +handshake=Noise_XKpsk3_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d150e2ff1a6fa2da4dacf29dbeead64fd190af0015c8fb958ca2 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846666426ad661ac863b4d54d09062ee2be0fd87bf3025af79cae760 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=8b7820818afedd08897101cc1e914a29767619f3e142be2673ea7ddbe042c1fa401508f2f0a1db803daf9b9dabc72da48d62b45f1d64ba4b228fd30c887432718cae875d3e1651cdb662 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=9c5dd0584674d0fd555d3ba42a4c27756e954bc3aa6dc9fd0d237fbb6479c0 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=ea6edad32c0e8f948cd8b94072116377acff3cab42e2de8558f89b662dfa15 + +handshake=Noise_XK_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f38769232d1dfdd5d2687e83d2e0722e +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466baeeae11a657b216c68c30892d7708ca +msg_2_payload= +msg_2_ciphertext=2fabfb16fc114fed3616c271dbf12733184f4d2e32201ffb233a4720d451cd317fa53017d00d6195b1d0d2797a44f7efccfdafd47eccfcf025779b8f44a7d231 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=15b8fdb578ed7fadbd4f6fc87fd48cd3c786ca4ac3ce3a68708ec72147b8c9 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=9525d9e2805470da9ec648070a03e1a5e87f0c858565adbdcf7c38d3dca90e + +handshake=Noise_XKpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662547f46575b56bf06e0df4be5276bd1a0c7 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665065366a41253ccb091ecff34c0979bb +msg_2_payload= +msg_2_ciphertext=7028e105675b2294d5887e5fece5ebcad0d304fc21046b7463b3bd763f84268c719a26b97ebda8d8abe1262257c00c7ff6f6066751983529bd8749ca571c8fbf +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=82acd07ad6c33e3e715daa31868d729a55825b1c88d55a46a9eab5984755d6 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=03d80857afae5021107843912a238783a83fa86c35a2000fa1b58b3828dd98 + +handshake=Noise_XKpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625491a6d13954cfdca1f8554bb6699a070e +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484662b9b293403bc2d22af87254356ae6354 +msg_2_payload= +msg_2_ciphertext=a77384941d395fe334060bb6480ade2cbcf4787451f6d2e8cf2c258a33e91ffaa3ebf5fc392cf84011e8f30ca986e88c71f87a8b6ee1cf45cf59350de8c6c2bc +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=815e08cd47c188260e00166f020b2a990a8a7c31f2f6e5e64362bba39e0d8b +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=e13c3fd28fef752772f6a9b8c56eb26866fc1004b98f3644bbbe85829d7b48 + +handshake=Noise_XKpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ef901c59fd43f24720cea36c3a803354 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666dbb6ee57b791434d47ca6cacfc16de8 +msg_2_payload= +msg_2_ciphertext=0c3c7a6dc99c66a026afd6caea5b4dd660846e936276107a6f114081a8240835a162ae2b6521112c8c7e1ee5e0d21aabca690cbe1cf8983e08b5ac867a436a39 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=bbf2d5f1ea82093b94e17ba2ebaa8bed2318ba50f2449b673b41b93458c247 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=afdff82cfe53ed8c4bab4d50c197b8e23c67889a2230289e6f6fb7db7a2d56 + +handshake=Noise_XKpsk3_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d75595f126007d31a32e936c9f50a722 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484666ef153dd2970c7fb3131dd89abc724c5 +msg_2_payload= +msg_2_ciphertext=8b7820818afedd08897101cc1e914a29767619f3e142be2673ea7ddbe042c1fa00386746b5ce8ac0e980a01f2b343db441b92b41e67266483c04995455d216e2 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=9c5dd0584674d0fd555d3ba42a4c27756e954bc3aa6dc9fd0d237fbb6479c0 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=ea6edad32c0e8f948cd8b94072116377acff3cab42e2de8558f89b662dfa15 + +handshake=Noise_XK_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254dd159df0538d164882c0fb3ac1bb4cc6ac4e27c464f5951e809e +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484664cf8cecb0ff80106624ffd90b3f32f5bb8299f54bf3028c19ce6 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=2fabfb16fc114fed3616c271dbf12733184f4d2e32201ffb233a4720d451cd31ffd8366c726d4ef7dced16efc4444f469d370b0a85ae6dbf669562da562cd93a0b837b24b7e9570fd611 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=15b8fdb578ed7fadbd4f6fc87fd48cd3c786ca4ac3ce3a68708ec72147b8c9 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=9525d9e2805470da9ec648070a03e1a5e87f0c858565adbdcf7c38d3dca90e + +handshake=Noise_XKpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542f8e3453a219c2f379b8845259d60e5064b9b764387f19e57a73 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484669f1384f1028d68ed124fee35586dd6c739118976ef139b637969 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=7028e105675b2294d5887e5fece5ebcad0d304fc21046b7463b3bd763f84268c6c24589c7b12bd43d47552ad5b599b2efd527b0687d9dbe7a2f966185b50ce95791245b2ae475cfd4e0e +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=82acd07ad6c33e3e715daa31868d729a55825b1c88d55a46a9eab5984755d6 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=03d80857afae5021107843912a238783a83fa86c35a2000fa1b58b3828dd98 + +handshake=Noise_XKpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254dee2c560cb410ffe557cc9abb419d3d4e715a2e71e00a177b6e2 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d19c8f7fd48e7049046c3725c324e1401dfb282d5cb6dd93c6b2 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=a77384941d395fe334060bb6480ade2cbcf4787451f6d2e8cf2c258a33e91ffaea6f9945a4ff4bcd5158727fa220f9487d93f7f672b4b6c4d43bd9fc3db8793f773ca7fd9200e25ace0e +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=815e08cd47c188260e00166f020b2a990a8a7c31f2f6e5e64362bba39e0d8b +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=e13c3fd28fef752772f6a9b8c56eb26866fc1004b98f3644bbbe85829d7b48 + +handshake=Noise_XKpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542cfbefa92d7f5e6f4b3be913e231b431c8f7c670ce206137b712 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466ded51642e5afbb65c731ed84a8d985f37bfd26a39083898cd550 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=0c3c7a6dc99c66a026afd6caea5b4dd660846e936276107a6f114081a82408355f93a02f1599bc3ff07b5da28c8ce4c7af0102ceda60fd259afcf6b6bda42e3270e8b1eb62f1706161af +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=bbf2d5f1ea82093b94e17ba2ebaa8bed2318ba50f2449b673b41b93458c247 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=afdff82cfe53ed8c4bab4d50c197b8e23c67889a2230289e6f6fb7db7a2d56 + +handshake=Noise_XKpsk3_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d150e2ff1a6fa2da4daccb89941440200125a36b9ce7441faa58 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846666426ad661ac863b4d54145127461138fe6018095b64e3f815e8 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=8b7820818afedd08897101cc1e914a29767619f3e142be2673ea7ddbe042c1fa6274c8474632d69fe1d7e8690676e85f8d62b45f1d64ba4b228f758259e5fa9b9082e4f6ff39682d48fc +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=9c5dd0584674d0fd555d3ba42a4c27756e954bc3aa6dc9fd0d237fbb6479c0 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=ea6edad32c0e8f948cd8b94072116377acff3cab42e2de8558f89b662dfa15 + +handshake=Noise_IK_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c9f0dff42c86abe5677abe74f6c87301577dbc1f3ffb2213827ca694a057fdbbff7f7350265fe61102c24d7d7a7e960ba8b90a679895087c7d28b1d6703f9727 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846622bf9c6171ddd4c8f682080b03504eee +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=595694f9be48f03790f699455c84578b31d14a7baedfd736d73c53f66a5657 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=621ae446b11fda3cf08e56102dac9324dee37a4e536cdc878e8b454d98bcf2 + +handshake=Noise_IKpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254df1f9b7f2814e2464394f35e13e46862cb009157dc0352d710c45376c6cd254409aebd0d5d8e544c64903917c911a5d9d4bb710801ef83ed8e190bd0a6090cae +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c1340c42411f7ad45a1c59bfd7d26c73 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=58a23ba181962ac5c0fafdf3c45870d1d8ba060076a80550ced748c69e6cc7 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ef66353b5543937ee497369867d9559a0166a817be50780a7677583341cccf + +handshake=Noise_IKpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548aac9b7e52346a4de47756a681e5a97c720eef8b7faf4d312878c47eca4a0a014ddfe09618c12aed20e55a9e01da8a86b945c4f772011cb87a1bf9cadbd0519c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b8a7518e223985d3fb21a297aaeeafb7 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=01b3d709f2acd4b0d95de75506da47ad980c471f2afd3a436cdc59f5605a4a +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d2d77f0af04d0086e77a59b4d5a4428115f60ef95ee23a56683e35a29dcb00 + +handshake=Noise_IKpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d06f15f78ad0914d9715147bb5a5004b27345a838bab4aa8bc5f144afc2cf4cca972105ba526e8c92b759e028200e766f827aa12a04ecbc0bdcd9e574e007945 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668c46d966ca4fe339f9e47fd25f68de8a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6013ea114b4c4884afb82bf029f72f924bd8a32c487a15a1cef4855ba234be +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8a2e7119635e41a35b7e64e0adac5483b66b1a9827895124ea07d58440b654 + +handshake=Noise_IK_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c9f0dff42c86abe5677abe74f6c87301577dbc1f3ffb2213827ca694a057fdbbff7f7350265fe61102c24d7d7a7e960b7316fcb3b0687be852fd2fba8969816fbfaa8b459d0b59e8a42f +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667f1d8bd2b9b659695f9077e7062bb0b9e7c08fd627913be183c3 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=595694f9be48f03790f699455c84578b31d14a7baedfd736d73c53f66a5657 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=621ae446b11fda3cf08e56102dac9324dee37a4e536cdc878e8b454d98bcf2 + +handshake=Noise_IKpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254df1f9b7f2814e2464394f35e13e46862cb009157dc0352d710c45376c6cd254409aebd0d5d8e544c64903917c911a5d908eafc7023007a5f9bcba4a414770c8f280fedba65efe10044c1 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466768fb8842b9bf487b26ed03ae92c46697145f7bd53a8fdb5b0f2 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=58a23ba181962ac5c0fafdf3c45870d1d8ba060076a80550ced748c69e6cc7 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ef66353b5543937ee497369867d9559a0166a817be50780a7677583341cccf + +handshake=Noise_IKpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548aac9b7e52346a4de47756a681e5a97c720eef8b7faf4d312878c47eca4a0a014ddfe09618c12aed20e55a9e01da8a86e47b72ebc70cede5e0b107af9e843b201edc40459ed5ddfc7632 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b5f98fed60b91df5d962379393574db5b001d76865569f45c20e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=01b3d709f2acd4b0d95de75506da47ad980c471f2afd3a436cdc59f5605a4a +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d2d77f0af04d0086e77a59b4d5a4428115f60ef95ee23a56683e35a29dcb00 + +handshake=Noise_IKpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d06f15f78ad0914d9715147bb5a5004b27345a838bab4aa8bc5f144afc2cf4cca972105ba526e8c92b759e028200e7666a3d77b86f9aa87dcfe685e771e38b97d3c5996368c663051641 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466168e6913e78d7a2b04b2f3d5529e73e953bafe6c7ce2b1005367 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6013ea114b4c4884afb82bf029f72f924bd8a32c487a15a1cef4855ba234be +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8a2e7119635e41a35b7e64e0adac5483b66b1a9827895124ea07d58440b654 + +handshake=Noise_IK_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c9f0dff42c86abe5677abe74f6c87301577dbc1f3ffb2213827ca694a057fdbbacac81d639bfae65c7827558f90acd27f14e182372e5bee2fa04eca3d32f09a9 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466bbaba571a4d366dfe3958808b6a298f9 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=595694f9be48f03790f699455c84578b31d14a7baedfd736d73c53f66a5657 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=621ae446b11fda3cf08e56102dac9324dee37a4e536cdc878e8b454d98bcf2 + +handshake=Noise_IKpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254df1f9b7f2814e2464394f35e13e46862cb009157dc0352d710c45376c6cd25444c70354abe531df791866bd75aa9b66d93bd99b148497ff8dd02a120c19d03d6 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484668e13033b701c665877ce0455cb6c0ac7 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=58a23ba181962ac5c0fafdf3c45870d1d8ba060076a80550ced748c69e6cc7 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ef66353b5543937ee497369867d9559a0166a817be50780a7677583341cccf + +handshake=Noise_IKpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548aac9b7e52346a4de47756a681e5a97c720eef8b7faf4d312878c47eca4a0a01eb23f043b5a6a476be780e530597c25629f0ce0f8d269e01315d8e15f7abab45 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846665ff976798fecbf095b0dd885e8ea88f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=01b3d709f2acd4b0d95de75506da47ad980c471f2afd3a436cdc59f5605a4a +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d2d77f0af04d0086e77a59b4d5a4428115f60ef95ee23a56683e35a29dcb00 + +handshake=Noise_IKpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d06f15f78ad0914d9715147bb5a5004b27345a838bab4aa8bc5f144afc2cf4ccb88f9ea1ebd99e94b76e50af7eee0e59549f4f47de925ee65c9dee48f8990082 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484665db536cf97f15c6ece2431fc1c0057b4 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6013ea114b4c4884afb82bf029f72f924bd8a32c487a15a1cef4855ba234be +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8a2e7119635e41a35b7e64e0adac5483b66b1a9827895124ea07d58440b654 + +handshake=Noise_IK_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c9f0dff42c86abe5677abe74f6c87301577dbc1f3ffb2213827ca694a057fdbbacac81d639bfae65c7827558f90acd277316fcb3b0687be852fd7e392456bb6cbe070c749f1bd7c55fc2 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484667f1d8bd2b9b659695f90e35beaf5a5f5f1e7c83aa3194a2430cd +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=595694f9be48f03790f699455c84578b31d14a7baedfd736d73c53f66a5657 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=621ae446b11fda3cf08e56102dac9324dee37a4e536cdc878e8b454d98bcf2 + +handshake=Noise_IKpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254df1f9b7f2814e2464394f35e13e46862cb009157dc0352d710c45376c6cd25444c70354abe531df791866bd75aa9b66d08eafc7023007a5f9bcb8ee5cc55c0598e868acab1c02d9940cc +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466768fb8842b9bf487b26ebb07b2a3d6a12d28f27f2e833b2bf498 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=58a23ba181962ac5c0fafdf3c45870d1d8ba060076a80550ced748c69e6cc7 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=ef66353b5543937ee497369867d9559a0166a817be50780a7677583341cccf + +handshake=Noise_IKpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548aac9b7e52346a4de47756a681e5a97c720eef8b7faf4d312878c47eca4a0a01eb23f043b5a6a476be780e530597c256e47b72ebc70cede5e0b1d7616523787a70c730858ab01037164b +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466b5f98fed60b91df5d962e3be6a027433a7179f44c7a09ee68b93 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=01b3d709f2acd4b0d95de75506da47ad980c471f2afd3a436cdc59f5605a4a +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=d2d77f0af04d0086e77a59b4d5a4428115f60ef95ee23a56683e35a29dcb00 + +handshake=Noise_IKpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d06f15f78ad0914d9715147bb5a5004b27345a838bab4aa8bc5f144afc2cf4ccb88f9ea1ebd99e94b76e50af7eee0e596a3d77b86f9aa87dcfe61d972bc6f34d0e93751d1260fa6bf0fe +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466168e6913e78d7a2b04b2b154c5149032d1c2584051bdcf04db1d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=6013ea114b4c4884afb82bf029f72f924bd8a32c487a15a1cef4855ba234be +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=8a2e7119635e41a35b7e64e0adac5483b66b1a9827895124ea07d58440b654 + +handshake=Noise_XX_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c7f9c130891d2fcc2454ad9808ce708c7fde0ef21e72e985c38a6ed8cdaadcd96586759f804d4fa61b89ea5b36cb9b3eb1eab4273f15b629e3508d6f11a78c6d +msg_2_payload= +msg_2_ciphertext=e42e3908de4cd096b8b86320dfe9d03127451fdbfc423fd9ef86b4659fae03c86a279a2a864a1429147865a5dba40deed136252f2229fc5c4bcd2d5ec2efbfc2 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=7086fc0466ee7523680d09ff7c272e2a2817a6e2d6c4ec1c209506506e8957 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=e3beadf28ea871a3be666f43eaf457d030e538eb371ba48076a7db36a9a1bf + +handshake=Noise_XXpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254637a307a63f9200c59b8a1a68ec0c19c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c0b9b0b4eee99d0667e049946fdcf25326ac013cdc4b28db9729186ee6609fb9238d6aa51a6202bf8eb11457923ff8ffc6b10385eca5da0f31f1259829d93a5f +msg_2_payload= +msg_2_ciphertext=612715579e991a6981e74d1e0bfd18932aa28f66fe336867c6d3174d3c4bf4af869f42fe4ac7551684c587ac550cc4c68c3548b1ba0ca04c689acb7c8be3b7fe +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=c7241ad514c2c32d238263e4d45ba84d20cbe01ff02dda02e5a77bcb058e23 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=8faddc8172ce807cf234a378a2fd7524446ea3aad4864580d126a4c3852b9d + +handshake=Noise_XXpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254d34be1d87db84255cd585f5b08c19fae +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660f7b3af6bee5a32d2cbc5fc98e2a038b06f0d7bd8f729fa5fc96261bd82d8e2000d07ca3e3d445871aa11fd2b6b30949fc1c8ed49bdacb1dba32a4e7390b605b +msg_2_payload= +msg_2_ciphertext=329e3f756fa718b350bc245530e8eaf1656bd2453e27eac247c6ef17a9786c2740ef1b2b23ad9b104d5dd69381c51e7cc345caf8910c716648d998cfecabd13a +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=7897e21dd79636f43041a385c40e411e9545fafcc7460390a0f5bca87f43d2 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=c10882fc0a0c8abab4d609fabccaef31ab4a243b98bd69e8da2f4f4198d12a + +handshake=Noise_XXpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548ea420fcf251ddf13312a5336a636df2 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c1668235fca77e57f6b45e06441594cc4406092be47e85a4d0f04f5dd32d98f31452429b89d4d57066ff1dd64a90b41433e30ba4faf693d4eb8ae1a44176fe83 +msg_2_payload= +msg_2_ciphertext=30aea91ba89fda848b53828e1f7945fea8d996a165f077a5500c8418765d11c565611ced43dafc735dda9c270ef928e609050f44c8fbf4eae939a52a60a2a027 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=1e7459e1dc3d1df643ad73799ce1d5594ca16f7cab5e7740b0b140828fd5be +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=b394b3d1392c8477446a5f29188f626d8c994794ed94abe3fc552b5aa0ad11 + +handshake=Noise_XXpsk3_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625410441c3e70cb5de58ffd0e9996504e13 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d6a3135623749084e7af54bdb3cbefc74483b5a11791e66803483ca71b7a1cb944867eb451bbf862d7d9ca5fb44711f5945f302feafd0a9e67925eaa3c1f1199 +msg_2_payload= +msg_2_ciphertext=27f05826a4958e7232360fc6f2d5742baa781214efa55d1adfbbe6526577bfee007f1169498002cf0af19c559cb34ebb22fbf2c5136d87142b1474343bc3ea5b +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=6964e5f2c89c4cc61086163641d1b0af9ecfb4c3596726e00ad65361db462e +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=cf239ff75b592d7dcf14cb9d91cc682b9f216c8b98871a9e53461f0cd027de + +handshake=Noise_XX_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c7f9c130891d2fcc2454ad9808ce708c7fde0ef21e72e985c38a6ed8cdaadcd9c0e3ed9de7ec29f5c2988dab99fc75b461f5532ce998f718c56fe4ae560e9b71afacf18e82fbda729ee6 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=e42e3908de4cd096b8b86320dfe9d03127451fdbfc423fd9ef86b4659fae03c8498dfa777a39cf59d06c8cf8230f924bf6cfb3372d0d7f9f5da0a2795066e1e7f5b7bc545578661f6731 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=7086fc0466ee7523680d09ff7c272e2a2817a6e2d6c4ec1c209506506e8957 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=e3beadf28ea871a3be666f43eaf457d030e538eb371ba48076a7db36a9a1bf + +handshake=Noise_XXpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f53528fc2e5e3678841da8d3020d1ec9c3cde9525f1fa034d263 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c0b9b0b4eee99d0667e049946fdcf25326ac013cdc4b28db9729186ee6609fb9f1f42327774c03ebe566c0d4451875ca7a5cc2fc30fc4ce18187f6191c16b819f7b7e93a783733b2483c +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=612715579e991a6981e74d1e0bfd18932aa28f66fe336867c6d3174d3c4bf4af852f4aa53299efc837c5f348c327791c370a74a98c31960c68497294ff2fadbe88a06a2dc157a6e8f4b5 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=c7241ad514c2c32d238263e4d45ba84d20cbe01ff02dda02e5a77bcb058e23 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=8faddc8172ce807cf234a378a2fd7524446ea3aad4864580d126a4c3852b9d + +handshake=Noise_XXpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543c0d303a380071b3f64d12c29167c26ba0e640746a6b8ba79305 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660f7b3af6bee5a32d2cbc5fc98e2a038b06f0d7bd8f729fa5fc96261bd82d8e208f25674cb6b70a200d2773ed5d26726ef327de53771ebf95f72dbe4eb60a939da4c801ae9b397a739be3 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=329e3f756fa718b350bc245530e8eaf1656bd2453e27eac247c6ef17a9786c276b61061945ebca80b7a12f5ea2ee8a618aca4353c7b301862fe3e98463e63541b5b37e6d60834f1ac93a +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=7897e21dd79636f43041a385c40e411e9545fafcc7460390a0f5bca87f43d2 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=c10882fc0a0c8abab4d609fabccaef31ab4a243b98bd69e8da2f4f4198d12a + +handshake=Noise_XXpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625428c6a800c7db6b39e3450a615dd5ec514a71fef6e19fffb2ba77 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c1668235fca77e57f6b45e06441594cc4406092be47e85a4d0f04f5dd32d98f38e968429f5c0735705cb897466c6a5927df7727229d5eb23876d72e07bede789d5cbe84c97f01e06e215 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=30aea91ba89fda848b53828e1f7945fea8d996a165f077a5500c8418765d11c5db9d493f47f3c1cb8eaef381dbd62541f3f1ef96eb7fe2c084eee4325981743b32763c37cad6f075a705 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=1e7459e1dc3d1df643ad73799ce1d5594ca16f7cab5e7740b0b140828fd5be +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=b394b3d1392c8477446a5f29188f626d8c994794ed94abe3fc552b5aa0ad11 + +handshake=Noise_XXpsk3_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544fd0dcd87f6b5d78fedd77bad2dad7505040b02a60540121bef1 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d6a3135623749084e7af54bdb3cbefc74483b5a11791e66803483ca71b7a1cb9f3b1428ccdd741432a5ec46572ea0fa4fe7df0a60a03a8c732ae28e216c38bd7e79d1a1bfa105f955962 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=27f05826a4958e7232360fc6f2d5742baa781214efa55d1adfbbe6526577bfee490e79236f3622a63511108ce030215cc454a891d33df307ce816ea28bd4af41a015f265e9ff7386bfce +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=6964e5f2c89c4cc61086163641d1b0af9ecfb4c3596726e00ad65361db462e +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=cf239ff75b592d7dcf14cb9d91cc682b9f216c8b98871a9e53461f0cd027de + +handshake=Noise_XX_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c7f9c130891d2fcc2454ad9808ce708c7fde0ef21e72e985c38a6ed8cdaadcd95d49ccad379691a89b57368d70add1bd30d7757d21b91f1b9981ac3f6cc36f79 +msg_2_payload= +msg_2_ciphertext=e42e3908de4cd096b8b86320dfe9d03127451fdbfc423fd9ef86b4659fae03c8e7b0c7c5612fc71db82f4f8ab985fab34ef5d36e101b730d9ff6de037479f032 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=7086fc0466ee7523680d09ff7c272e2a2817a6e2d6c4ec1c209506506e8957 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=e3beadf28ea871a3be666f43eaf457d030e538eb371ba48076a7db36a9a1bf + +handshake=Noise_XXpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541835db57f7afd1d49daa50c8dc8ba362 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c0b9b0b4eee99d0667e049946fdcf25326ac013cdc4b28db9729186ee6609fb99d6f9cabe4bd5995c2bd8f0dea901e842c96b0e0d0839dba70a8308aef5f58e9 +msg_2_payload= +msg_2_ciphertext=612715579e991a6981e74d1e0bfd18932aa28f66fe336867c6d3174d3c4bf4af12bedb42b816abea75e6374d29d1b39eaf86a9610e4634e7d910e01c816c6095 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=c7241ad514c2c32d238263e4d45ba84d20cbe01ff02dda02e5a77bcb058e23 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=8faddc8172ce807cf234a378a2fd7524446ea3aad4864580d126a4c3852b9d + +handshake=Noise_XXpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b83f0653b90ed8bb7584c0ff87006639 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660f7b3af6bee5a32d2cbc5fc98e2a038b06f0d7bd8f729fa5fc96261bd82d8e20f4488fb816701391c8df57e872539cd159761d30a1d98f0bfa7867e955354fd5 +msg_2_payload= +msg_2_ciphertext=329e3f756fa718b350bc245530e8eaf1656bd2453e27eac247c6ef17a9786c27e6df7fa01c7b0ac1513c4082a90f5d44f970035277371c0148f6df35cec05a03 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=7897e21dd79636f43041a385c40e411e9545fafcc7460390a0f5bca87f43d2 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=c10882fc0a0c8abab4d609fabccaef31ab4a243b98bd69e8da2f4f4198d12a + +handshake=Noise_XXpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625490eb6876e3e3d7653ca69b60a1be5d08 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c1668235fca77e57f6b45e06441594cc4406092be47e85a4d0f04f5dd32d98f38b5a7e29c891e1ec1cde1853a90cdd71ca86e8c8aaa3fd5617885957703a416a +msg_2_payload= +msg_2_ciphertext=30aea91ba89fda848b53828e1f7945fea8d996a165f077a5500c8418765d11c59e79cee877ef08bef46befc971b96c29a19b56b05df43b6c83feca470821f6fd +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=1e7459e1dc3d1df643ad73799ce1d5594ca16f7cab5e7740b0b140828fd5be +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=b394b3d1392c8477446a5f29188f626d8c994794ed94abe3fc552b5aa0ad11 + +handshake=Noise_XXpsk3_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543518fec3fe15f34315c2e73630b2c3f1 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d6a3135623749084e7af54bdb3cbefc74483b5a11791e66803483ca71b7a1cb97aeeb7d0720410c02c8d66601baf98737746c6975b8e2024e175a8441ef186b2 +msg_2_payload= +msg_2_ciphertext=27f05826a4958e7232360fc6f2d5742baa781214efa55d1adfbbe6526577bfee4a8842024f9763c5020dbb90dac8e3a0fd3b44e4acf9e6e959c4f72a4549db0a +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=6964e5f2c89c4cc61086163641d1b0af9ecfb4c3596726e00ad65361db462e +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=cf239ff75b592d7dcf14cb9d91cc682b9f216c8b98871a9e53461f0cd027de + +handshake=Noise_XX_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c7f9c130891d2fcc2454ad9808ce708c7fde0ef21e72e985c38a6ed8cdaadcd9e07ed4c7d77e83b721e41d9bb2a8b57761f5532ce998f718c56f18083ab9e2f47c3f7f545a5eabbc4ece +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=e42e3908de4cd096b8b86320dfe9d03127451fdbfc423fd9ef86b4659fae03c897f77a2af21f5ce18cde8740fe9e5912f6cfb3372d0d7f9f5da0d9be88017bb339b951c56929f77fe9d6 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=7086fc0466ee7523680d09ff7c272e2a2817a6e2d6c4ec1c209506506e8957 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=e3beadf28ea871a3be666f43eaf457d030e538eb371ba48076a7db36a9a1bf + +handshake=Noise_XXpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f53528fc2e5e3678841db24a2abbe656a347e2116aab72adcf37 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c0b9b0b4eee99d0667e049946fdcf25326ac013cdc4b28db9729186ee6609fb92e9751b1eacd771ac88dc4c7d4efb1c27a5cc2fc30fc4ce181878bc63aff8a4baf6b4ad054cbff26334a +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=612715579e991a6981e74d1e0bfd18932aa28f66fe336867c6d3174d3c4bf4afdf33b3790ad59aa73526df9169e40433370a74a98c31960c68493f3d69a2ca0c03be3bf415520e40ce31 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=c7241ad514c2c32d238263e4d45ba84d20cbe01ff02dda02e5a77bcb058e23 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=8faddc8172ce807cf234a378a2fd7524446ea3aad4864580d126a4c3852b9d + +handshake=Noise_XXpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662543c0d303a380071b3f64db0a10b87a34e6e9a7dd07f38de42e2db +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d484660f7b3af6bee5a32d2cbc5fc98e2a038b06f0d7bd8f729fa5fc96261bd82d8e20f35ffcf131b4144444f8f4c1f2620cfaf327de53771ebf95f72dc1e5f96e3b88065ebc617fd26402c9b9 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=329e3f756fa718b350bc245530e8eaf1656bd2453e27eac247c6ef17a9786c276d69f49b2c4489657ca8d3bafa6d847b8aca4353c7b301862fe306a37fb7e182b5a52adbb6b9bb5e75f8 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=7897e21dd79636f43041a385c40e411e9545fafcc7460390a0f5bca87f43d2 +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=c10882fc0a0c8abab4d609fabccaef31ab4a243b98bd69e8da2f4f4198d12a + +handshake=Noise_XXpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625428c6a800c7db6b39e3456d482f8c37e883c3ff240c77407256ac +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c1668235fca77e57f6b45e06441594cc4406092be47e85a4d0f04f5dd32d98f3093e9ada779e2aa06db725fb3f6bb18d7df7727229d5eb23876d530f89eb23a25a8e657c790f0c6a3128 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=30aea91ba89fda848b53828e1f7945fea8d996a165f077a5500c8418765d11c574f126a002bc70955d52879ea92abc5cf3f1ef96eb7fe2c084eebb273c797e0f31af83f23e200defd60c +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=1e7459e1dc3d1df643ad73799ce1d5594ca16f7cab5e7740b0b140828fd5be +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=b394b3d1392c8477446a5f29188f626d8c994794ed94abe3fc552b5aa0ad11 + +handshake=Noise_XXpsk3_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662544fd0dcd87f6b5d78feddd20bcb8ab9ed16ac202410f730729c74 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466d6a3135623749084e7af54bdb3cbefc74483b5a11791e66803483ca71b7a1cb9415f46d643edb50ac242a475f8c3b60dfe7df0a60a03a8c732ae2747ed5de74ce5ba4eca1461b96283f4 +msg_2_payload=746573745f6d73675f32 +msg_2_ciphertext=27f05826a4958e7232360fc6f2d5742baa781214efa55d1adfbbe6526577bfeec049bd84112dd940b7032911a753f227c454a891d33df307ce814db7b657f732eb230e8da83fea82aa08 +msg_3_payload=79656c6c6f777375626d6172696e65 +msg_3_ciphertext=6964e5f2c89c4cc61086163641d1b0af9ecfb4c3596726e00ad65361db462e +msg_4_payload=7375626d6172696e6579656c6c6f77 +msg_4_ciphertext=cf239ff75b592d7dcf14cb9d91cc682b9f216c8b98871a9e53461f0cd027de + +handshake=Noise_IX_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c9a6ba5eae47a4d838d82ae3cd62251af0f1e6561062710eca57757b8ad283b372716c241fa1daee4dd462c761e0425e0ef756d1491dcb62a578fc7be19148b9 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d33ecf8cf6b6428cb123ddb57a17c81105eee893bed02870ba1fbe6a1fd6d8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=768afdad2e41013ef4720530fcaa3d78e8ab569d26b0df12aaba81f7353512 + +handshake=Noise_IXpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625445eb1ca694ab03673651916b0017d230de3ad7bec80178587a26cf011486e05c5f9d359fbc1f76fbf7ca2c8b84d9d1964814e298cb91ecd67f0240ea0b75796c +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846687c4d59dec1d3e06688dc736d0cb9008a19970e60b830d3e57e452410646cf1be3362a206b49cc56fea54f9463949d52c84bfcc53b95c30bb748d62feca70b7f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c8b4e40dfbb834b84698bd810a695f53df3e2fd87cc00f58f139a90acd8721 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0182920f0cd37284f23171456739dd8a0fa6e38eebfae65def58ce6507fcec + +handshake=Noise_IXpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254df0b149f68024ee0ecf15ad91c77430ce795c414352304ac1bb084a4c0f130ba06cc6c0158963bb90e57eac11fba5916dcc9df48f406180374090384031b625a +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fe09a991daffe55c5da738860a7d81bd177afbd7afe306fd613ada65429cf6c08d457bb2eaff8385941e7bc7d790d6aa94b7fddf5a53f7945849e9d60dfb258b +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=00d2de63815b9ab20f34eceb6457673528ac7ab7335ae3dd19e1c64f02617a +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=7cb533f4e91d2b30dd83ffb04134da913889a87bb67f0fe7eacad3a1e9e3b3 + +handshake=Noise_IXpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b4f026b6a4f4ff262e84c007e9ab72d1759dec524c7cc49daf31c9492c7aeb0ddb9f254bb6a8fc936e688df5bce734ebd80e1dd76f5e935bed228edfa3f57c5f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846695096a7c980419c321b55005e4a475252a5d36b6ee249e905d52297d498190ce746238c4a665bac4b004d86dd8cea050e4b10fcceb9a533c7bdaa217b1b2506d +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=07cb1f697855511a505ef14bd8f64516c52a3d95c11e170f665f932f69dfe9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=208dc9c1918b14a9bbcbd7ff8aac5ab2b1c0f93f6fc2067eef0f9a2226b8b9 + +handshake=Noise_IX_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c9a6ba5eae47a4d838d82ae3cd62251af0f1e6561062710eca57757b8ad283b353b8d7e41e40a97fd3c64c6d7ad830398411c2332b438406f5eed2edffdbb4095be726c191c27edd8b9e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d33ecf8cf6b6428cb123ddb57a17c81105eee893bed02870ba1fbe6a1fd6d8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=768afdad2e41013ef4720530fcaa3d78e8ab569d26b0df12aaba81f7353512 + +handshake=Noise_IXpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625445eb1ca694ab03673651916b0017d230de3ad7bec80178587a26cf011486e05c5f9d359fbc1f76fbf7ca2c8b84d9d1962bab2967e9e5759d88986ed70a527512da1d915f8c44240076a1 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846687c4d59dec1d3e06688dc736d0cb9008a19970e60b830d3e57e452410646cf1b9b0d5180cde01a3d7c7091a2b67c0f5499a102f9755ed624fafb8acf4ddc5a604b8c4964d51b7df77e70 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c8b4e40dfbb834b84698bd810a695f53df3e2fd87cc00f58f139a90acd8721 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0182920f0cd37284f23171456739dd8a0fa6e38eebfae65def58ce6507fcec + +handshake=Noise_IXpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254df0b149f68024ee0ecf15ad91c77430ce795c414352304ac1bb084a4c0f130ba06cc6c0158963bb90e57eac11fba59161bdcabdf6727d20f67112b770e7ace62894baf635ad65689a0ff +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fe09a991daffe55c5da738860a7d81bd177afbd7afe306fd613ada65429cf6c0e9c1bf5439c447bfb9793fbfc2f70a8aa9d85baf1604ea68faf729344153cf0f8c58c344a669cae3415a +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=00d2de63815b9ab20f34eceb6457673528ac7ab7335ae3dd19e1c64f02617a +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=7cb533f4e91d2b30dd83ffb04134da913889a87bb67f0fe7eacad3a1e9e3b3 + +handshake=Noise_IXpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b4f026b6a4f4ff262e84c007e9ab72d1759dec524c7cc49daf31c9492c7aeb0ddb9f254bb6a8fc936e688df5bce734ebf197e884f1d72ae2dc61ddb527bb6219b060996c76db675a7048 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846695096a7c980419c321b55005e4a475252a5d36b6ee249e905d52297d498190ce798ec02880c5a544226355351584c7bdd8227543b8f716af2e70de5ef4426f1bf14ac4cccfcbb295d51e +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=07cb1f697855511a505ef14bd8f64516c52a3d95c11e170f665f932f69dfe9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=208dc9c1918b14a9bbcbd7ff8aac5ab2b1c0f93f6fc2067eef0f9a2226b8b9 + +handshake=Noise_IX_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c9a6ba5eae47a4d838d82ae3cd62251af0f1e6561062710eca57757b8ad283b3939a848593731b3ab7151893c61d09b22dc69ee03508f3df6021d1f02a67f420 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d33ecf8cf6b6428cb123ddb57a17c81105eee893bed02870ba1fbe6a1fd6d8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=768afdad2e41013ef4720530fcaa3d78e8ab569d26b0df12aaba81f7353512 + +handshake=Noise_IXpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625445eb1ca694ab03673651916b0017d230de3ad7bec80178587a26cf011486e05c71f19b555215765ed472763000933b07049951734c1414b84c7ecdd163bdf8d0 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846687c4d59dec1d3e06688dc736d0cb9008a19970e60b830d3e57e452410646cf1bcc1b178351d0bb46e8e1cfc2e2ec2c925a3007eed6f1d2e8a910ce5bc0dd8873 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c8b4e40dfbb834b84698bd810a695f53df3e2fd87cc00f58f139a90acd8721 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0182920f0cd37284f23171456739dd8a0fa6e38eebfae65def58ce6507fcec + +handshake=Noise_IXpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254df0b149f68024ee0ecf15ad91c77430ce795c414352304ac1bb084a4c0f130ba29eef9ca8c4fccfbbf3959cf63da6a89e144ab2cb9c3dbbfcd37434f6d7a9e19 +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fe09a991daffe55c5da738860a7d81bd177afbd7afe306fd613ada65429cf6c0e1e890e1a5ef0d9557ba19f1a7e1aea1e6a071fc644a03ff3f5e127da3f15098 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=00d2de63815b9ab20f34eceb6457673528ac7ab7335ae3dd19e1c64f02617a +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=7cb533f4e91d2b30dd83ffb04134da913889a87bb67f0fe7eacad3a1e9e3b3 + +handshake=Noise_IXpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b4f026b6a4f4ff262e84c007e9ab72d1759dec524c7cc49daf31c9492c7aeb0da29c805edd125123f24ff0c3a68995581266147e7092a934d6386daad38bb46e +msg_1_payload= +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846695096a7c980419c321b55005e4a475252a5d36b6ee249e905d52297d498190cea526a51e27a95def76e556a85518ad342fca05d39d1498205790f19f4a8cb060 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=07cb1f697855511a505ef14bd8f64516c52a3d95c11e170f665f932f69dfe9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=208dc9c1918b14a9bbcbd7ff8aac5ab2b1c0f93f6fc2067eef0f9a2226b8b9 + +handshake=Noise_IX_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662548f40c5adb68f25624ae5b214ea767a6ec94d829d3d7b5e1ad1ba6f3e2138285f746573745f6d73675f30 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466c9a6ba5eae47a4d838d82ae3cd62251af0f1e6561062710eca57757b8ad283b30a21d13abc61b4563586358ef166f2248411c2332b438406f5ee901e916db484003c3f2fb91742430d01 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=d33ecf8cf6b6428cb123ddb57a17c81105eee893bed02870ba1fbe6a1fd6d8 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=768afdad2e41013ef4720530fcaa3d78e8ab569d26b0df12aaba81f7353512 + +handshake=Noise_IXpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625445eb1ca694ab03673651916b0017d230de3ad7bec80178587a26cf011486e05c71f19b555215765ed472763000933b072bab2967e9e5759d8898095fcf5303dd11e652a29718c9d539e2 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846687c4d59dec1d3e06688dc736d0cb9008a19970e60b830d3e57e452410646cf1b1fa414ef2cf021e372c6f36b5f22040d99a102f9755ed624fafbea2c3f10be616abb8ea5db833ee24747 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=c8b4e40dfbb834b84698bd810a695f53df3e2fd87cc00f58f139a90acd8721 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=0182920f0cd37284f23171456739dd8a0fa6e38eebfae65def58ce6507fcec + +handshake=Noise_IXpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254df0b149f68024ee0ecf15ad91c77430ce795c414352304ac1bb084a4c0f130ba29eef9ca8c4fccfbbf3959cf63da6a891bdcabdf6727d20f6711779ed5d37d6def025ef48873391e6ab0 +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d48466fe09a991daffe55c5da738860a7d81bd177afbd7afe306fd613ada65429cf6c0dd8aaade8f4a82c0b661cd30c8384de7a9d85baf1604ea68faf7a6f6436d208a84c38b3126e2aa27dc9f +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=00d2de63815b9ab20f34eceb6457673528ac7ab7335ae3dd19e1c64f02617a +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=7cb533f4e91d2b30dd83ffb04134da913889a87bb67f0fe7eacad3a1e9e3b3 + +handshake=Noise_IXpsk2_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b4f026b6a4f4ff262e84c007e9ab72d1759dec524c7cc49daf31c9492c7aeb0da29c805edd125123f24ff0c3a6899558f197e884f1d72ae2dc61acbfdea65978a80d9bc549cf41a3d82a +msg_1_payload=746573745f6d73675f31 +msg_1_ciphertext=64b101b1d0be5a8704bd078f9895001fc03e8e9f9522f188dd128d9846d4846695096a7c980419c321b55005e4a475252a5d36b6ee249e905d52297d498190cee847fe1489e3150d1a19187f638c4d11d8227543b8f716af2e7024523702533cfe92e40f47e8a0a69157 +msg_2_payload=79656c6c6f777375626d6172696e65 +msg_2_ciphertext=07cb1f697855511a505ef14bd8f64516c52a3d95c11e170f665f932f69dfe9 +msg_3_payload=7375626d6172696e6579656c6c6f77 +msg_3_ciphertext=208dc9c1918b14a9bbcbd7ff8aac5ab2b1c0f93f6fc2067eef0f9a2226b8b9 + +handshake=Noise_N_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546ba6ae849a52fad21a8cef186539f029 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=a003941c6d2ae21678d1cae7b5723e9a3ae85c4e29a451baa136ddac80778b +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=bf8afb4d3362b8931b247215132eed804ccad21b25f1441cfd9bc6d04c4f3d + +handshake=Noise_Npsk0_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662542df7894ef4fa3e94ca5276eab168727b +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=16d2415b0d883665ecf46e0ba404ee2044dc6b3df56b7df7c1304bcd623c0a +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=5df813ad71e1af04b9ec69398890d674cf813768405c26ca45e9cb5ec105c8 + +handshake=Noise_Npsk1_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625426e4002dbe75546cc56a2909b47cdabf +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=b786593ecbd2d7233981e3b00cf1bdc5b6660264160e2180126c6e8696866f +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=96e589406d121007fc36dedd74e3df90bb6616475b3d4efe8590cd9f514555 + +handshake=Noise_N_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ae81c7528e1cf6662cf3c3b00e02f8bba0bdfdb1bd359c71d2a5 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=a003941c6d2ae21678d1cae7b5723e9a3ae85c4e29a451baa136ddac80778b +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=bf8afb4d3362b8931b247215132eed804ccad21b25f1441cfd9bc6d04c4f3d + +handshake=Noise_Npsk0_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625400b9c1c865b68c526bbb861fc8415527e725b3bbabf2f533a153 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=16d2415b0d883665ecf46e0ba404ee2044dc6b3df56b7df7c1304bcd623c0a +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=5df813ad71e1af04b9ec69398890d674cf813768405c26ca45e9cb5ec105c8 + +handshake=Noise_Npsk1_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c0410bca876435926147c6c772d2fd56a305cea24df5a92b0387 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=b786593ecbd2d7233981e3b00cf1bdc5b6660264160e2180126c6e8696866f +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=96e589406d121007fc36dedd74e3df90bb6616475b3d4efe8590cd9f514555 + +handshake=Noise_N_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c597be68f3073fb654b56ecbf3206468 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=a003941c6d2ae21678d1cae7b5723e9a3ae85c4e29a451baa136ddac80778b +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=bf8afb4d3362b8931b247215132eed804ccad21b25f1441cfd9bc6d04c4f3d + +handshake=Noise_Npsk0_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254f73370fe6616ec4bbeb7ccbb4243848b +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=16d2415b0d883665ecf46e0ba404ee2044dc6b3df56b7df7c1304bcd623c0a +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=5df813ad71e1af04b9ec69398890d674cf813768405c26ca45e9cb5ec105c8 + +handshake=Noise_Npsk1_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ce659aaaf6e53b6e8a81af68308411bd +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=b786593ecbd2d7233981e3b00cf1bdc5b6660264160e2180126c6e8696866f +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=96e589406d121007fc36dedd74e3df90bb6616475b3d4efe8590cd9f514555 + +handshake=Noise_N_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254ae81c7528e1cf6662cf390a71ae79e4927b62e8f1c66496d38c2 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=a003941c6d2ae21678d1cae7b5723e9a3ae85c4e29a451baa136ddac80778b +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=bf8afb4d3362b8931b247215132eed804ccad21b25f1441cfd9bc6d04c4f3d + +handshake=Noise_Npsk0_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625400b9c1c865b68c526bbb514ef34c653a58e9eec7dc694ea16530 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=16d2415b0d883665ecf46e0ba404ee2044dc6b3df56b7df7c1304bcd623c0a +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=5df813ad71e1af04b9ec69398890d674cf813768405c26ca45e9cb5ec105c8 + +handshake=Noise_Npsk1_25519_ChaChaPoly_BLAKE2s +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c0410bca876435926147347ce6c3e96c11793463645346d91fe5 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=b786593ecbd2d7233981e3b00cf1bdc5b6660264160e2180126c6e8696866f +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=96e589406d121007fc36dedd74e3df90bb6616475b3d4efe8590cd9f514555 + +handshake=Noise_K_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625429ab50aa4698f977eb619f20fa5db0c5 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=a191382d64297aedea686db4812eb3415ac6a86b283fa7df9091fe8d985d11 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=006d0e38f3d94cad78e0bc2e7fc323764dd28e4e03fbbe4196bd641fa6faf5 + +handshake=Noise_Kpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254805170152d8a6f9ed4598a42bbfb3637 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=e5b53ff47dd6e5708f40d5172b280f8679e6a9147bd2ba4de1e9226079a711 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=5053800ab937c3b66bf646bcc4424fd90246c6e0543d79496f4ae90c466077 + +handshake=Noise_Kpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625483e428f0be402913dab92da7d61d36a0 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=d94826f00577ca4eeb5b4e24221c558421b4041de30a0d9549d6d5aedd618a +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=0752d5018d967b25613a660c4181bc0eaae495d838bd82b7137b756ca80903 + +handshake=Noise_K_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b9404e5db0f97c582cc85908ec714e1ab58dc4d2a93b13af4017 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=a191382d64297aedea686db4812eb3415ac6a86b283fa7df9091fe8d985d11 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=006d0e38f3d94cad78e0bc2e7fc323764dd28e4e03fbbe4196bd641fa6faf5 + +handshake=Noise_Kpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625438985084386baffdc03450537b149c888a450033abd5481a43a3 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=e5b53ff47dd6e5708f40d5172b280f8679e6a9147bd2ba4de1e9226079a711 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=5053800ab937c3b66bf646bcc4424fd90246c6e0543d79496f4ae90c466077 + +handshake=Noise_Kpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c5cbbe00c4ef8b94141683ed6b916bbc89ec939994431cb3b3b8 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=d94826f00577ca4eeb5b4e24221c558421b4041de30a0d9549d6d5aedd618a +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=0752d5018d967b25613a660c4181bc0eaae495d838bd82b7137b756ca80903 + +handshake=Noise_K_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625403eb57d94fe18fcc9932deecd7afc348 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=a191382d64297aedea686db4812eb3415ac6a86b283fa7df9091fe8d985d11 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=006d0e38f3d94cad78e0bc2e7fc323764dd28e4e03fbbe4196bd641fa6faf5 + +handshake=Noise_Kpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662546873f10aa744f5ec809baade7f9bb124 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=e5b53ff47dd6e5708f40d5172b280f8679e6a9147bd2ba4de1e9226079a711 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=5053800ab937c3b66bf646bcc4424fd90246c6e0543d79496f4ae90c466077 + +handshake=Noise_Kpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd1662541ce699524536e124a049f0ac3797dd8b +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=d94826f00577ca4eeb5b4e24221c558421b4041de30a0d9549d6d5aedd618a +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=0752d5018d967b25613a660c4181bc0eaae495d838bd82b7137b756ca80903 + +handshake=Noise_K_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254b9404e5db0f97c582cc8df110972e1eea4a2774b24609ba244af +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=a191382d64297aedea686db4812eb3415ac6a86b283fa7df9091fe8d985d11 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=006d0e38f3d94cad78e0bc2e7fc323764dd28e4e03fbbe4196bd641fa6faf5 + +handshake=Noise_Kpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625438985084386baffdc034255c43ea3072077583dcfc973d58c3e3 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=e5b53ff47dd6e5708f40d5172b280f8679e6a9147bd2ba4de1e9226079a711 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=5053800ab937c3b66bf646bcc4424fd90246c6e0543d79496f4ae90c466077 + +handshake=Noise_Kpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254c5cbbe00c4ef8b9414167a0c6551ed240bd41866f4fa78e24f01 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=d94826f00577ca4eeb5b4e24221c558421b4041de30a0d9549d6d5aedd618a +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=0752d5018d967b25613a660c4181bc0eaae495d838bd82b7137b756ca80903 + +handshake=Noise_X_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e933e249a2b9389d67db3718637dd177b70511492d1f0476ab4d5fd966c29305593cce12ffb7e757e59f61a6cf8b004cff5020d551732a789d5d654a38e1ba49 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=302ae88697158440e6875b65aa5c5b0d58c3f14ac706bdd3ed593df4ad69cf +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=8da82f0086a25cb390515103ba49260c5d5471528042200d920979798ea8b8 + +handshake=Noise_Xpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e740ec34d06c470dcef511761c3f5721297c428d33234ec9e185ac7e0273bbf47bb2b8db785e7662e22b409878754858abe462deb213910f24ad63e3bb1233c3 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=a74dc1186c0173a331100c9e1a2640ea95ce9ad6d3c8579ff9275679595e23 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=adf0f9718742ec49f04cab59ff0370bb070358cbdf7973d05b688cdf050ad3 + +handshake=Noise_Xpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625499e50a484c198a8e9f4d6088d46c7657b70036d4e7177346ad1bbfc541b4635bae691e6043118519cd750217f4a278cb4ef463ad8be55fa547a17e495d8eb506 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=c072a15ff3c5fe832398d8ea04c5a4657edb9ad855d857089bc4322d1f1b06 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=836be31bdf36237a7bdd3fd243d64403f7060dfd569abde5cc3b11e4273cd5 + +handshake=Noise_X_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e933e249a2b9389d67db3718637dd177b70511492d1f0476ab4d5fd966c29305593cce12ffb7e757e59f61a6cf8b004c77e13ebf8bab668da83118e92ef7ef36200c950d49677914286b +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=302ae88697158440e6875b65aa5c5b0d58c3f14ac706bdd3ed593df4ad69cf +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=8da82f0086a25cb390515103ba49260c5d5471528042200d920979798ea8b8 + +handshake=Noise_Xpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e740ec34d06c470dcef511761c3f5721297c428d33234ec9e185ac7e0273bbf47bb2b8db785e7662e22b409878754858a02d92d874953c00b104ac73405c5a4396415788611a588d4cea +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=a74dc1186c0173a331100c9e1a2640ea95ce9ad6d3c8579ff9275679595e23 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=adf0f9718742ec49f04cab59ff0370bb070358cbdf7973d05b688cdf050ad3 + +handshake=Noise_Xpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625499e50a484c198a8e9f4d6088d46c7657b70036d4e7177346ad1bbfc541b4635bae691e6043118519cd750217f4a278cbf9fb2f5702b2af7923f51b0bdea86b1de41e1a92e49c8db1d0d7 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=c072a15ff3c5fe832398d8ea04c5a4657edb9ad855d857089bc4322d1f1b06 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=836be31bdf36237a7bdd3fd243d64403f7060dfd569abde5cc3b11e4273cd5 + +handshake=Noise_X_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e933e249a2b9389d67db3718637dd177b70511492d1f0476ab4d5fd966c29305587cfc935e18d8203d1bf8063842077af6b082f7be8dcc45df8cc97a3c73aec6 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=302ae88697158440e6875b65aa5c5b0d58c3f14ac706bdd3ed593df4ad69cf +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=8da82f0086a25cb390515103ba49260c5d5471528042200d920979798ea8b8 + +handshake=Noise_Xpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e740ec34d06c470dcef511761c3f5721297c428d33234ec9e185ac7e0273bbf470d1b6e261225308b65bfbcae66da68d3ecdf4e7a3f747fe4916dd970ad935ef +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=a74dc1186c0173a331100c9e1a2640ea95ce9ad6d3c8579ff9275679595e23 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=adf0f9718742ec49f04cab59ff0370bb070358cbdf7973d05b688cdf050ad3 + +handshake=Noise_Xpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload= +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625499e50a484c198a8e9f4d6088d46c7657b70036d4e7177346ad1bbfc541b4635b9f5b13ed3dbfa3e43f09d1c80e6cd2d65018ebc5f7b995fc2b92d89961216c4d +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=c072a15ff3c5fe832398d8ea04c5a4657edb9ad855d857089bc4322d1f1b06 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=836be31bdf36237a7bdd3fd243d64403f7060dfd569abde5cc3b11e4273cd5 + +handshake=Noise_X_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e933e249a2b9389d67db3718637dd177b70511492d1f0476ab4d5fd966c29305587cfc935e18d8203d1bf8063842077a77e13ebf8bab668da831ddabbe4f889713498154527b51f921bd +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=302ae88697158440e6875b65aa5c5b0d58c3f14ac706bdd3ed593df4ad69cf +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=8da82f0086a25cb390515103ba49260c5d5471528042200d920979798ea8b8 + +handshake=Noise_Xpsk0_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254e740ec34d06c470dcef511761c3f5721297c428d33234ec9e185ac7e0273bbf470d1b6e261225308b65bfbcae66da68da02d92d874953c00b1048bea5c82f7f3d4e020e34f42b266ec8a +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=a74dc1186c0173a331100c9e1a2640ea95ce9ad6d3c8579ff9275679595e23 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=adf0f9718742ec49f04cab59ff0370bb070358cbdf7973d05b688cdf050ad3 + +handshake=Noise_Xpsk1_25519_ChaChaPoly_BLAKE2s +init_static=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +resp_static=0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 +gen_init_ephemeral=202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f +gen_resp_ephemeral=4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60 +prologue=6e6f74736563726574 +preshared_key=2176657279736563726574766572797365637265747665727973656372657421 +msg_0_payload=746573745f6d73675f30 +msg_0_ciphertext=358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd16625499e50a484c198a8e9f4d6088d46c7657b70036d4e7177346ad1bbfc541b4635b9f5b13ed3dbfa3e43f09d1c80e6cd2d6f9fb2f5702b2af7923f59ea23e8f1e61c7ca0bdc7ce430b3e2b4 +msg_1_payload=79656c6c6f777375626d6172696e65 +msg_1_ciphertext=c072a15ff3c5fe832398d8ea04c5a4657edb9ad855d857089bc4322d1f1b06 +msg_2_payload=7375626d6172696e6579656c6c6f77 +msg_2_ciphertext=836be31bdf36237a7bdd3fd243d64403f7060dfd569abde5cc3b11e4273cd5 + diff --git a/vendor/github.com/go-chi/chi/.gitignore b/vendor/github.com/go-chi/chi/.gitignore new file mode 100644 index 000000000..ba22c99a9 --- /dev/null +++ b/vendor/github.com/go-chi/chi/.gitignore @@ -0,0 +1,3 @@ +.idea +*.sw? +.vscode diff --git a/vendor/github.com/go-chi/chi/.travis.yml b/vendor/github.com/go-chi/chi/.travis.yml new file mode 100644 index 000000000..44ecf0d78 --- /dev/null +++ b/vendor/github.com/go-chi/chi/.travis.yml @@ -0,0 +1,17 @@ +language: go + +go: + - 1.10.x + - 1.11.x + +script: + - go get -d -t ./... + - go vet ./... + - go test ./... + - > + go_version=$(go version); + if [ ${go_version:13:4} = "1.11" ]; then + go get -u golang.org/x/tools/cmd/goimports; + goimports -d -e ./ | grep '.*' && { echo; echo "Aborting due to non-empty goimports output."; exit 1; } || :; + fi + diff --git a/vendor/github.com/go-chi/chi/CHANGELOG.md b/vendor/github.com/go-chi/chi/CHANGELOG.md new file mode 100644 index 000000000..d03e40c64 --- /dev/null +++ b/vendor/github.com/go-chi/chi/CHANGELOG.md @@ -0,0 +1,139 @@ +# Changelog + +## v4.0.0 (2019-01-10) + +- chi v4 requires Go 1.10.3+ (or Go 1.9.7+) - we have deprecated support for Go 1.7 and 1.8 +- router: respond with 404 on router with no routes (#362) +- router: additional check to ensure wildcard is at the end of a url pattern (#333) +- middleware: deprecate use of http.CloseNotifier (#347) +- middleware: fix RedirectSlashes to include query params on redirect (#334) +- History of changes: see https://github.com/go-chi/chi/compare/v3.3.4...v4.0.0 + + +## v3.3.4 (2019-01-07) + +- Minor middleware improvements. No changes to core library/router. Moving v3 into its +- own branch as a version of chi for Go 1.7, 1.8, 1.9, 1.10, 1.11 +- History of changes: see https://github.com/go-chi/chi/compare/v3.3.3...v3.3.4 + + +## v3.3.3 (2018-08-27) + +- Minor release +- See https://github.com/go-chi/chi/compare/v3.3.2...v3.3.3 + + +## v3.3.2 (2017-12-22) + +- Support to route trailing slashes on mounted sub-routers (#281) +- middleware: new `ContentCharset` to check matching charsets. Thank you + @csucu for your community contribution! + + +## v3.3.1 (2017-11-20) + +- middleware: new `AllowContentType` handler for explicit whitelist of accepted request Content-Types +- middleware: new `SetHeader` handler for short-hand middleware to set a response header key/value +- Minor bug fixes + + +## v3.3.0 (2017-10-10) + +- New chi.RegisterMethod(method) to add support for custom HTTP methods, see _examples/custom-method for usage +- Deprecated LINK and UNLINK methods from the default list, please use `chi.RegisterMethod("LINK")` and `chi.RegisterMethod("UNLINK")` in an `init()` function + + +## v3.2.1 (2017-08-31) + +- Add new `Match(rctx *Context, method, path string) bool` method to `Routes` interface + and `Mux`. Match searches the mux's routing tree for a handler that matches the method/path +- Add new `RouteMethod` to `*Context` +- Add new `Routes` pointer to `*Context` +- Add new `middleware.GetHead` to route missing HEAD requests to GET handler +- Updated benchmarks (see README) + + +## v3.1.5 (2017-08-02) + +- Setup golint and go vet for the project +- As per golint, we've redefined `func ServerBaseContext(h http.Handler, baseCtx context.Context) http.Handler` + to `func ServerBaseContext(baseCtx context.Context, h http.Handler) http.Handler` + + +## v3.1.0 (2017-07-10) + +- Fix a few minor issues after v3 release +- Move `docgen` sub-pkg to https://github.com/go-chi/docgen +- Move `render` sub-pkg to https://github.com/go-chi/render +- Add new `URLFormat` handler to chi/middleware sub-pkg to make working with url mime + suffixes easier, ie. parsing `/articles/1.json` and `/articles/1.xml`. See comments in + https://github.com/go-chi/chi/blob/master/middleware/url_format.go for example usage. + + +## v3.0.0 (2017-06-21) + +- Major update to chi library with many exciting updates, but also some *breaking changes* +- URL parameter syntax changed from `/:id` to `/{id}` for even more flexible routing, such as + `/articles/{month}-{day}-{year}-{slug}`, `/articles/{id}`, and `/articles/{id}.{ext}` on the + same router +- Support for regexp for routing patterns, in the form of `/{paramKey:regExp}` for example: + `r.Get("/articles/{name:[a-z]+}", h)` and `chi.URLParam(r, "name")` +- Add `Method` and `MethodFunc` to `chi.Router` to allow routing definitions such as + `r.Method("GET", "/", h)` which provides a cleaner interface for custom handlers like + in `_examples/custom-handler` +- Deprecating `mux#FileServer` helper function. Instead, we encourage users to create their + own using file handler with the stdlib, see `_examples/fileserver` for an example +- Add support for LINK/UNLINK http methods via `r.Method()` and `r.MethodFunc()` +- Moved the chi project to its own organization, to allow chi-related community packages to + be easily discovered and supported, at: https://github.com/go-chi +- *NOTE:* please update your import paths to `"github.com/go-chi/chi"` +- *NOTE:* chi v2 is still available at https://github.com/go-chi/chi/tree/v2 + + +## v2.1.0 (2017-03-30) + +- Minor improvements and update to the chi core library +- Introduced a brand new `chi/render` sub-package to complete the story of building + APIs to offer a pattern for managing well-defined request / response payloads. Please + check out the updated `_examples/rest` example for how it works. +- Added `MethodNotAllowed(h http.HandlerFunc)` to chi.Router interface + + +## v2.0.0 (2017-01-06) + +- After many months of v2 being in an RC state with many companies and users running it in + production, the inclusion of some improvements to the middlewares, we are very pleased to + announce v2.0.0 of chi. + + +## v2.0.0-rc1 (2016-07-26) + +- Huge update! chi v2 is a large refactor targetting Go 1.7+. As of Go 1.7, the popular + community `"net/context"` package has been included in the standard library as `"context"` and + utilized by `"net/http"` and `http.Request` to managing deadlines, cancelation signals and other + request-scoped values. We're very excited about the new context addition and are proud to + introduce chi v2, a minimal and powerful routing package for building large HTTP services, + with zero external dependencies. Chi focuses on idiomatic design and encourages the use of + stdlib HTTP handlers and middlwares. +- chi v2 deprecates its `chi.Handler` interface and requires `http.Handler` or `http.HandlerFunc` +- chi v2 stores URL routing parameters and patterns in the standard request context: `r.Context()` +- chi v2 lower-level routing context is accessible by `chi.RouteContext(r.Context()) *chi.Context`, + which provides direct access to URL routing parameters, the routing path and the matching + routing patterns. +- Users upgrading from chi v1 to v2, need to: + 1. Update the old chi.Handler signature, `func(ctx context.Context, w http.ResponseWriter, r *http.Request)` to + the standard http.Handler: `func(w http.ResponseWriter, r *http.Request)` + 2. Use `chi.URLParam(r *http.Request, paramKey string) string` + or `URLParamFromCtx(ctx context.Context, paramKey string) string` to access a url parameter value + + +## v1.0.0 (2016-07-01) + +- Released chi v1 stable https://github.com/go-chi/chi/tree/v1.0.0 for Go 1.6 and older. + + +## v0.9.0 (2016-03-31) + +- Reuse context objects via sync.Pool for zero-allocation routing [#33](https://github.com/go-chi/chi/pull/33) +- BREAKING NOTE: due to subtle API changes, previously `chi.URLParams(ctx)["id"]` used to access url parameters + has changed to: `chi.URLParam(ctx, "id")` diff --git a/vendor/github.com/go-chi/chi/CONTRIBUTING.md b/vendor/github.com/go-chi/chi/CONTRIBUTING.md new file mode 100644 index 000000000..c0ac2dfe8 --- /dev/null +++ b/vendor/github.com/go-chi/chi/CONTRIBUTING.md @@ -0,0 +1,31 @@ +# Contributing + +## Prerequisites + +1. [Install Go][go-install]. +2. Download the sources and switch the working directory: + + ```bash + go get -u -d github.com/go-chi/chi + cd $GOPATH/src/github.com/go-chi/chi + ``` + +## Submitting a Pull Request + +A typical workflow is: + +1. [Fork the repository.][fork] [This tip maybe also helpful.][go-fork-tip] +2. [Create a topic branch.][branch] +3. Add tests for your change. +4. Run `go test`. If your tests pass, return to the step 3. +5. Implement the change and ensure the steps from the previous step pass. +6. Run `goimports -w .`, to ensure the new code conforms to Go formatting guideline. +7. [Add, commit and push your changes.][git-help] +8. [Submit a pull request.][pull-req] + +[go-install]: https://golang.org/doc/install +[go-fork-tip]: http://blog.campoy.cat/2014/03/github-and-go-forking-pull-requests-and.html +[fork]: https://help.github.com/articles/fork-a-repo +[branch]: http://learn.github.com/p/branching.html +[git-help]: https://guides.github.com +[pull-req]: https://help.github.com/articles/using-pull-requests diff --git a/vendor/github.com/go-chi/chi/LICENSE b/vendor/github.com/go-chi/chi/LICENSE new file mode 100644 index 000000000..d99f02ffa --- /dev/null +++ b/vendor/github.com/go-chi/chi/LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2015-present Peter Kieltyka (https://github.com/pkieltyka), Google Inc. + +MIT License + +Permission 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: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE 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. diff --git a/vendor/github.com/go-chi/chi/README.md b/vendor/github.com/go-chi/chi/README.md new file mode 100644 index 000000000..d36d4db53 --- /dev/null +++ b/vendor/github.com/go-chi/chi/README.md @@ -0,0 +1,438 @@ +# chi + + +[![GoDoc Widget]][GoDoc] [![Travis Widget]][Travis] + +`chi` is a lightweight, idiomatic and composable router for building Go HTTP services. It's +especially good at helping you write large REST API services that are kept maintainable as your +project grows and changes. `chi` is built on the new `context` package introduced in Go 1.7 to +handle signaling, cancelation and request-scoped values across a handler chain. + +The focus of the project has been to seek out an elegant and comfortable design for writing +REST API servers, written during the development of the Pressly API service that powers our +public API service, which in turn powers all of our client-side applications. + +The key considerations of chi's design are: project structure, maintainability, standard http +handlers (stdlib-only), developer productivity, and deconstructing a large system into many small +parts. The core router `github.com/go-chi/chi` is quite small (less than 1000 LOC), but we've also +included some useful/optional subpackages: [middleware](/middleware), [render](https://github.com/go-chi/render) and [docgen](https://github.com/go-chi/docgen). We hope you enjoy it too! + +## Install + +`go get -u github.com/go-chi/chi` + + +## Features + +* **Lightweight** - cloc'd in ~1000 LOC for the chi router +* **Fast** - yes, see [benchmarks](#benchmarks) +* **100% compatible with net/http** - use any http or middleware pkg in the ecosystem that is also compatible with `net/http` +* **Designed for modular/composable APIs** - middlewares, inline middlewares, route groups and subrouter mounting +* **Context control** - built on new `context` package, providing value chaining, cancelations and timeouts +* **Robust** - in production at Pressly, CloudFlare, Heroku, 99Designs, and many others (see [discussion](https://github.com/go-chi/chi/issues/91)) +* **Doc generation** - `docgen` auto-generates routing documentation from your source to JSON or Markdown +* **No external dependencies** - plain ol' Go stdlib + net/http + + +## Examples + +See [_examples/](https://github.com/go-chi/chi/blob/master/_examples/) for a variety of examples. + + +**As easy as:** + +```go +package main + +import ( + "net/http" + "github.com/go-chi/chi" +) + +func main() { + r := chi.NewRouter() + r.Get("/", func(w http.ResponseWriter, r *http.Request) { + w.Write([]byte("welcome")) + }) + http.ListenAndServe(":3000", r) +} +``` + +**REST Preview:** + +Here is a little preview of how routing looks like with chi. Also take a look at the generated routing docs +in JSON ([routes.json](https://github.com/go-chi/chi/blob/master/_examples/rest/routes.json)) and in +Markdown ([routes.md](https://github.com/go-chi/chi/blob/master/_examples/rest/routes.md)). + +I highly recommend reading the source of the [examples](https://github.com/go-chi/chi/blob/master/_examples/) listed +above, they will show you all the features of chi and serve as a good form of documentation. + +```go +import ( + //... + "context" + "github.com/go-chi/chi" + "github.com/go-chi/chi/middleware" +) + +func main() { + r := chi.NewRouter() + + // A good base middleware stack + r.Use(middleware.RequestID) + r.Use(middleware.RealIP) + r.Use(middleware.Logger) + r.Use(middleware.Recoverer) + + // Set a timeout value on the request context (ctx), that will signal + // through ctx.Done() that the request has timed out and further + // processing should be stopped. + r.Use(middleware.Timeout(60 * time.Second)) + + r.Get("/", func(w http.ResponseWriter, r *http.Request) { + w.Write([]byte("hi")) + }) + + // RESTy routes for "articles" resource + r.Route("/articles", func(r chi.Router) { + r.With(paginate).Get("/", listArticles) // GET /articles + r.With(paginate).Get("/{month}-{day}-{year}", listArticlesByDate) // GET /articles/01-16-2017 + + r.Post("/", createArticle) // POST /articles + r.Get("/search", searchArticles) // GET /articles/search + + // Regexp url parameters: + r.Get("/{articleSlug:[a-z-]+}", getArticleBySlug) // GET /articles/home-is-toronto + + // Subrouters: + r.Route("/{articleID}", func(r chi.Router) { + r.Use(ArticleCtx) + r.Get("/", getArticle) // GET /articles/123 + r.Put("/", updateArticle) // PUT /articles/123 + r.Delete("/", deleteArticle) // DELETE /articles/123 + }) + }) + + // Mount the admin sub-router + r.Mount("/admin", adminRouter()) + + http.ListenAndServe(":3333", r) +} + +func ArticleCtx(next http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + articleID := chi.URLParam(r, "articleID") + article, err := dbGetArticle(articleID) + if err != nil { + http.Error(w, http.StatusText(404), 404) + return + } + ctx := context.WithValue(r.Context(), "article", article) + next.ServeHTTP(w, r.WithContext(ctx)) + }) +} + +func getArticle(w http.ResponseWriter, r *http.Request) { + ctx := r.Context() + article, ok := ctx.Value("article").(*Article) + if !ok { + http.Error(w, http.StatusText(422), 422) + return + } + w.Write([]byte(fmt.Sprintf("title:%s", article.Title))) +} + +// A completely separate router for administrator routes +func adminRouter() http.Handler { + r := chi.NewRouter() + r.Use(AdminOnly) + r.Get("/", adminIndex) + r.Get("/accounts", adminListAccounts) + return r +} + +func AdminOnly(next http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + ctx := r.Context() + perm, ok := ctx.Value("acl.permission").(YourPermissionType) + if !ok || !perm.IsAdmin() { + http.Error(w, http.StatusText(403), 403) + return + } + next.ServeHTTP(w, r) + }) +} +``` + + +## Router design + +chi's router is based on a kind of [Patricia Radix trie](https://en.wikipedia.org/wiki/Radix_tree). +The router is fully compatible with `net/http`. + +Built on top of the tree is the `Router` interface: + +```go +// Router consisting of the core routing methods used by chi's Mux, +// using only the standard net/http. +type Router interface { + http.Handler + Routes + + // Use appends one of more middlewares onto the Router stack. + Use(middlewares ...func(http.Handler) http.Handler) + + // With adds inline middlewares for an endpoint handler. + With(middlewares ...func(http.Handler) http.Handler) Router + + // Group adds a new inline-Router along the current routing + // path, with a fresh middleware stack for the inline-Router. + Group(fn func(r Router)) Router + + // Route mounts a sub-Router along a `pattern`` string. + Route(pattern string, fn func(r Router)) Router + + // Mount attaches another http.Handler along ./pattern/* + Mount(pattern string, h http.Handler) + + // Handle and HandleFunc adds routes for `pattern` that matches + // all HTTP methods. + Handle(pattern string, h http.Handler) + HandleFunc(pattern string, h http.HandlerFunc) + + // Method and MethodFunc adds routes for `pattern` that matches + // the `method` HTTP method. + Method(method, pattern string, h http.Handler) + MethodFunc(method, pattern string, h http.HandlerFunc) + + // HTTP-method routing along `pattern` + Connect(pattern string, h http.HandlerFunc) + Delete(pattern string, h http.HandlerFunc) + Get(pattern string, h http.HandlerFunc) + Head(pattern string, h http.HandlerFunc) + Options(pattern string, h http.HandlerFunc) + Patch(pattern string, h http.HandlerFunc) + Post(pattern string, h http.HandlerFunc) + Put(pattern string, h http.HandlerFunc) + Trace(pattern string, h http.HandlerFunc) + + // NotFound defines a handler to respond whenever a route could + // not be found. + NotFound(h http.HandlerFunc) + + // MethodNotAllowed defines a handler to respond whenever a method is + // not allowed. + MethodNotAllowed(h http.HandlerFunc) +} + +// Routes interface adds two methods for router traversal, which is also +// used by the github.com/go-chi/docgen package to generate documentation for Routers. +type Routes interface { + // Routes returns the routing tree in an easily traversable structure. + Routes() []Route + + // Middlewares returns the list of middlewares in use by the router. + Middlewares() Middlewares + + // Match searches the routing tree for a handler that matches + // the method/path - similar to routing a http request, but without + // executing the handler thereafter. + Match(rctx *Context, method, path string) bool +} +``` + +Each routing method accepts a URL `pattern` and chain of `handlers`. The URL pattern +supports named params (ie. `/users/{userID}`) and wildcards (ie. `/admin/*`). URL parameters +can be fetched at runtime by calling `chi.URLParam(r, "userID")` for named parameters +and `chi.URLParam(r, "*")` for a wildcard parameter. + + +### Middleware handlers + +chi's middlewares are just stdlib net/http middleware handlers. There is nothing special +about them, which means the router and all the tooling is designed to be compatible and +friendly with any middleware in the community. This offers much better extensibility and reuse +of packages and is at the heart of chi's purpose. + +Here is an example of a standard net/http middleware handler using the new request context +available in Go. This middleware sets a hypothetical user identifier on the request +context and calls the next handler in the chain. + +```go +// HTTP middleware setting a value on the request context +func MyMiddleware(next http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + ctx := context.WithValue(r.Context(), "user", "123") + next.ServeHTTP(w, r.WithContext(ctx)) + }) +} +``` + + +### Request handlers + +chi uses standard net/http request handlers. This little snippet is an example of a http.Handler +func that reads a user identifier from the request context - hypothetically, identifying +the user sending an authenticated request, validated+set by a previous middleware handler. + +```go +// HTTP handler accessing data from the request context. +func MyRequestHandler(w http.ResponseWriter, r *http.Request) { + user := r.Context().Value("user").(string) + w.Write([]byte(fmt.Sprintf("hi %s", user))) +} +``` + + +### URL parameters + +chi's router parses and stores URL parameters right onto the request context. Here is +an example of how to access URL params in your net/http handlers. And of course, middlewares +are able to access the same information. + +```go +// HTTP handler accessing the url routing parameters. +func MyRequestHandler(w http.ResponseWriter, r *http.Request) { + userID := chi.URLParam(r, "userID") // from a route like /users/{userID} + + ctx := r.Context() + key := ctx.Value("key").(string) + + w.Write([]byte(fmt.Sprintf("hi %v, %v", userID, key))) +} +``` + + +## Middlewares + +chi comes equipped with an optional `middleware` package, providing a suite of standard +`net/http` middlewares. Please note, any middleware in the ecosystem that is also compatible +with `net/http` can be used with chi's mux. + +### Core middlewares + +----------------------------------------------------------------------------------------------------------- +| chi/middleware Handler | description | +|:----------------------|:--------------------------------------------------------------------------------- +| AllowContentType | Explicit whitelist of accepted request Content-Types | +| Compress | Gzip compression for clients that accept compressed responses | +| GetHead | Automatically route undefined HEAD requests to GET handlers | +| Heartbeat | Monitoring endpoint to check the servers pulse | +| Logger | Logs the start and end of each request with the elapsed processing time | +| NoCache | Sets response headers to prevent clients from caching | +| Profiler | Easily attach net/http/pprof to your routers | +| RealIP | Sets a http.Request's RemoteAddr to either X-Forwarded-For or X-Real-IP | +| Recoverer | Gracefully absorb panics and prints the stack trace | +| RequestID | Injects a request ID into the context of each request | +| RedirectSlashes | Redirect slashes on routing paths | +| SetHeader | Short-hand middleware to set a response header key/value | +| StripSlashes | Strip slashes on routing paths | +| Throttle | Puts a ceiling on the number of concurrent requests | +| Timeout | Signals to the request context when the timeout deadline is reached | +| URLFormat | Parse extension from url and put it on request context | +| WithValue | Short-hand middleware to set a key/value on the request context | +----------------------------------------------------------------------------------------------------------- + +### Auxiliary middlewares & packages + +Please see https://github.com/go-chi for additional packages. + +-------------------------------------------------------------------------------------------------------------------- +| package | description | +|:---------------------------------------------------|:------------------------------------------------------------- +| [cors](https://github.com/go-chi/cors) | Cross-origin resource sharing (CORS) | +| [docgen](https://github.com/go-chi/docgen) | Print chi.Router routes at runtime | +| [jwtauth](https://github.com/go-chi/jwtauth) | JWT authentication | +| [hostrouter](https://github.com/go-chi/hostrouter) | Domain/host based request routing | +| [httpcoala](https://github.com/go-chi/httpcoala) | HTTP request coalescer | +| [chi-authz](https://github.com/casbin/chi-authz) | Request ACL via https://github.com/hsluoyz/casbin | +| [phi](https://github.com/fate-lovely/phi) | Port chi to [fasthttp](https://github.com/valyala/fasthttp) | +-------------------------------------------------------------------------------------------------------------------- + +please [submit a PR](./CONTRIBUTING.md) if you'd like to include a link to a chi-compatible middleware + + +## context? + +`context` is a tiny pkg that provides simple interface to signal context across call stacks +and goroutines. It was originally written by [Sameer Ajmani](https://github.com/Sajmani) +and is available in stdlib since go1.7. + +Learn more at https://blog.golang.org/context + +and.. +* Docs: https://golang.org/pkg/context +* Source: https://github.com/golang/go/tree/master/src/context + + +## Benchmarks + +The benchmark suite: https://github.com/pkieltyka/go-http-routing-benchmark + +Results as of Jan 9, 2019 with Go 1.11.4 on Linux X1 Carbon laptop + +```shell +BenchmarkChi_Param 3000000 475 ns/op 432 B/op 3 allocs/op +BenchmarkChi_Param5 2000000 696 ns/op 432 B/op 3 allocs/op +BenchmarkChi_Param20 1000000 1275 ns/op 432 B/op 3 allocs/op +BenchmarkChi_ParamWrite 3000000 505 ns/op 432 B/op 3 allocs/op +BenchmarkChi_GithubStatic 3000000 508 ns/op 432 B/op 3 allocs/op +BenchmarkChi_GithubParam 2000000 669 ns/op 432 B/op 3 allocs/op +BenchmarkChi_GithubAll 10000 134627 ns/op 87699 B/op 609 allocs/op +BenchmarkChi_GPlusStatic 3000000 402 ns/op 432 B/op 3 allocs/op +BenchmarkChi_GPlusParam 3000000 500 ns/op 432 B/op 3 allocs/op +BenchmarkChi_GPlus2Params 3000000 586 ns/op 432 B/op 3 allocs/op +BenchmarkChi_GPlusAll 200000 7237 ns/op 5616 B/op 39 allocs/op +BenchmarkChi_ParseStatic 3000000 408 ns/op 432 B/op 3 allocs/op +BenchmarkChi_ParseParam 3000000 488 ns/op 432 B/op 3 allocs/op +BenchmarkChi_Parse2Params 3000000 551 ns/op 432 B/op 3 allocs/op +BenchmarkChi_ParseAll 100000 13508 ns/op 11232 B/op 78 allocs/op +BenchmarkChi_StaticAll 20000 81933 ns/op 67826 B/op 471 allocs/op +``` + +Comparison with other routers: https://gist.github.com/pkieltyka/123032f12052520aaccab752bd3e78cc + +NOTE: the allocs in the benchmark above are from the calls to http.Request's +`WithContext(context.Context)` method that clones the http.Request, sets the `Context()` +on the duplicated (alloc'd) request and returns it the new request object. This is just +how setting context on a request in Go works. + + +## Credits + +* Carl Jackson for https://github.com/zenazn/goji + * Parts of chi's thinking comes from goji, and chi's middleware package + sources from goji. +* Armon Dadgar for https://github.com/armon/go-radix +* Contributions: [@VojtechVitek](https://github.com/VojtechVitek) + +We'll be more than happy to see [your contributions](./CONTRIBUTING.md)! + + +## Beyond REST + +chi is just a http router that lets you decompose request handling into many smaller layers. +Many companies including Pressly.com (of course) use chi to write REST services for their public +APIs. But, REST is just a convention for managing state via HTTP, and there's a lot of other pieces +required to write a complete client-server system or network of microservices. + +Looking ahead beyond REST, I also recommend some newer works in the field coming from +[gRPC](https://github.com/grpc/grpc-go), [NATS](https://nats.io), [go-kit](https://github.com/go-kit/kit) +and even [graphql](https://github.com/graphql-go/graphql). They're all pretty cool with their +own unique approaches and benefits. Specifically, I'd look at gRPC since it makes client-server +communication feel like a single program on a single computer, no need to hand-write a client library +and the request/response payloads are typed contracts. NATS is pretty amazing too as a super +fast and lightweight pub-sub transport that can speak protobufs, with nice service discovery - +an excellent combination with gRPC. + + +## License + +Copyright (c) 2015-present [Peter Kieltyka](https://github.com/pkieltyka) + +Licensed under [MIT License](./LICENSE) + +[GoDoc]: https://godoc.org/github.com/go-chi/chi +[GoDoc Widget]: https://godoc.org/github.com/go-chi/chi?status.svg +[Travis]: https://travis-ci.org/go-chi/chi +[Travis Widget]: https://travis-ci.org/go-chi/chi.svg?branch=master diff --git a/vendor/github.com/go-chi/chi/chain.go b/vendor/github.com/go-chi/chi/chain.go new file mode 100644 index 000000000..88e684613 --- /dev/null +++ b/vendor/github.com/go-chi/chi/chain.go @@ -0,0 +1,49 @@ +package chi + +import "net/http" + +// Chain returns a Middlewares type from a slice of middleware handlers. +func Chain(middlewares ...func(http.Handler) http.Handler) Middlewares { + return Middlewares(middlewares) +} + +// Handler builds and returns a http.Handler from the chain of middlewares, +// with `h http.Handler` as the final handler. +func (mws Middlewares) Handler(h http.Handler) http.Handler { + return &ChainHandler{mws, h, chain(mws, h)} +} + +// HandlerFunc builds and returns a http.Handler from the chain of middlewares, +// with `h http.Handler` as the final handler. +func (mws Middlewares) HandlerFunc(h http.HandlerFunc) http.Handler { + return &ChainHandler{mws, h, chain(mws, h)} +} + +// ChainHandler is a http.Handler with support for handler composition and +// execution. +type ChainHandler struct { + Middlewares Middlewares + Endpoint http.Handler + chain http.Handler +} + +func (c *ChainHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { + c.chain.ServeHTTP(w, r) +} + +// chain builds a http.Handler composed of an inline middleware stack and endpoint +// handler in the order they are passed. +func chain(middlewares []func(http.Handler) http.Handler, endpoint http.Handler) http.Handler { + // Return ahead of time if there aren't any middlewares for the chain + if len(middlewares) == 0 { + return endpoint + } + + // Wrap the end handler with the middleware chain + h := middlewares[len(middlewares)-1](endpoint) + for i := len(middlewares) - 2; i >= 0; i-- { + h = middlewares[i](h) + } + + return h +} diff --git a/vendor/github.com/go-chi/chi/chi.go b/vendor/github.com/go-chi/chi/chi.go new file mode 100644 index 000000000..9962229d0 --- /dev/null +++ b/vendor/github.com/go-chi/chi/chi.go @@ -0,0 +1,134 @@ +// +// Package chi is a small, idiomatic and composable router for building HTTP services. +// +// chi requires Go 1.7 or newer. +// +// Example: +// package main +// +// import ( +// "net/http" +// +// "github.com/go-chi/chi" +// "github.com/go-chi/chi/middleware" +// ) +// +// func main() { +// r := chi.NewRouter() +// r.Use(middleware.Logger) +// r.Use(middleware.Recoverer) +// +// r.Get("/", func(w http.ResponseWriter, r *http.Request) { +// w.Write([]byte("root.")) +// }) +// +// http.ListenAndServe(":3333", r) +// } +// +// See github.com/go-chi/chi/_examples/ for more in-depth examples. +// +// URL patterns allow for easy matching of path components in HTTP +// requests. The matching components can then be accessed using +// chi.URLParam(). All patterns must begin with a slash. +// +// A simple named placeholder {name} matches any sequence of characters +// up to the next / or the end of the URL. Trailing slashes on paths must +// be handled explicitly. +// +// A placeholder with a name followed by a colon allows a regular +// expression match, for example {number:\\d+}. The regular expression +// syntax is Go's normal regexp RE2 syntax, except that regular expressions +// including { or } are not supported, and / will never be +// matched. An anonymous regexp pattern is allowed, using an empty string +// before the colon in the placeholder, such as {:\\d+} +// +// The special placeholder of asterisk matches the rest of the requested +// URL. Any trailing characters in the pattern are ignored. This is the only +// placeholder which will match / characters. +// +// Examples: +// "/user/{name}" matches "/user/jsmith" but not "/user/jsmith/info" or "/user/jsmith/" +// "/user/{name}/info" matches "/user/jsmith/info" +// "/page/*" matches "/page/intro/latest" +// "/page/*/index" also matches "/page/intro/latest" +// "/date/{yyyy:\\d\\d\\d\\d}/{mm:\\d\\d}/{dd:\\d\\d}" matches "/date/2017/04/01" +// +package chi + +import "net/http" + +// NewRouter returns a new Mux object that implements the Router interface. +func NewRouter() *Mux { + return NewMux() +} + +// Router consisting of the core routing methods used by chi's Mux, +// using only the standard net/http. +type Router interface { + http.Handler + Routes + + // Use appends one of more middlewares onto the Router stack. + Use(middlewares ...func(http.Handler) http.Handler) + + // With adds inline middlewares for an endpoint handler. + With(middlewares ...func(http.Handler) http.Handler) Router + + // Group adds a new inline-Router along the current routing + // path, with a fresh middleware stack for the inline-Router. + Group(fn func(r Router)) Router + + // Route mounts a sub-Router along a `pattern`` string. + Route(pattern string, fn func(r Router)) Router + + // Mount attaches another http.Handler along ./pattern/* + Mount(pattern string, h http.Handler) + + // Handle and HandleFunc adds routes for `pattern` that matches + // all HTTP methods. + Handle(pattern string, h http.Handler) + HandleFunc(pattern string, h http.HandlerFunc) + + // Method and MethodFunc adds routes for `pattern` that matches + // the `method` HTTP method. + Method(method, pattern string, h http.Handler) + MethodFunc(method, pattern string, h http.HandlerFunc) + + // HTTP-method routing along `pattern` + Connect(pattern string, h http.HandlerFunc) + Delete(pattern string, h http.HandlerFunc) + Get(pattern string, h http.HandlerFunc) + Head(pattern string, h http.HandlerFunc) + Options(pattern string, h http.HandlerFunc) + Patch(pattern string, h http.HandlerFunc) + Post(pattern string, h http.HandlerFunc) + Put(pattern string, h http.HandlerFunc) + Trace(pattern string, h http.HandlerFunc) + + // NotFound defines a handler to respond whenever a route could + // not be found. + NotFound(h http.HandlerFunc) + + // MethodNotAllowed defines a handler to respond whenever a method is + // not allowed. + MethodNotAllowed(h http.HandlerFunc) +} + +// Routes interface adds two methods for router traversal, which is also +// used by the `docgen` subpackage to generation documentation for Routers. +type Routes interface { + // Routes returns the routing tree in an easily traversable structure. + Routes() []Route + + // Middlewares returns the list of middlewares in use by the router. + Middlewares() Middlewares + + // Match searches the routing tree for a handler that matches + // the method/path - similar to routing a http request, but without + // executing the handler thereafter. + Match(rctx *Context, method, path string) bool +} + +// Middlewares type is a slice of standard middleware handlers with methods +// to compose middleware chains and http.Handler's. +type Middlewares []func(http.Handler) http.Handler diff --git a/vendor/github.com/go-chi/chi/context.go b/vendor/github.com/go-chi/chi/context.go new file mode 100644 index 000000000..229c9cbfb --- /dev/null +++ b/vendor/github.com/go-chi/chi/context.go @@ -0,0 +1,161 @@ +package chi + +import ( + "context" + "net" + "net/http" + "strings" +) + +var ( + // RouteCtxKey is the context.Context key to store the request context. + RouteCtxKey = &contextKey{"RouteContext"} +) + +// Context is the default routing context set on the root node of a +// request context to track route patterns, URL parameters and +// an optional routing path. +type Context struct { + Routes Routes + + // Routing path/method override used during the route search. + // See Mux#routeHTTP method. + RoutePath string + RouteMethod string + + // Routing pattern stack throughout the lifecycle of the request, + // across all connected routers. It is a record of all matching + // patterns across a stack of sub-routers. + RoutePatterns []string + + // URLParams are the stack of routeParams captured during the + // routing lifecycle across a stack of sub-routers. + URLParams RouteParams + + // The endpoint routing pattern that matched the request URI path + // or `RoutePath` of the current sub-router. This value will update + // during the lifecycle of a request passing through a stack of + // sub-routers. + routePattern string + + // Route parameters matched for the current sub-router. It is + // intentionally unexported so it cant be tampered. + routeParams RouteParams + + // methodNotAllowed hint + methodNotAllowed bool +} + +// NewRouteContext returns a new routing Context object. +func NewRouteContext() *Context { + return &Context{} +} + +// Reset a routing context to its initial state. +func (x *Context) Reset() { + x.Routes = nil + x.RoutePath = "" + x.RouteMethod = "" + x.RoutePatterns = x.RoutePatterns[:0] + x.URLParams.Keys = x.URLParams.Keys[:0] + x.URLParams.Values = x.URLParams.Values[:0] + + x.routePattern = "" + x.routeParams.Keys = x.routeParams.Keys[:0] + x.routeParams.Values = x.routeParams.Values[:0] + x.methodNotAllowed = false +} + +// URLParam returns the corresponding URL parameter value from the request +// routing context. +func (x *Context) URLParam(key string) string { + for k := len(x.URLParams.Keys) - 1; k >= 0; k-- { + if x.URLParams.Keys[k] == key { + return x.URLParams.Values[k] + } + } + return "" +} + +// RoutePattern builds the routing pattern string for the particular +// request, at the particular point during routing. This means, the value +// will change throughout the execution of a request in a router. That is +// why its advised to only use this value after calling the next handler. +// +// For example, +// +// func Instrument(next http.Handler) http.Handler { +// return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { +// next.ServeHTTP(w, r) +// routePattern := chi.RouteContext(r.Context()).RoutePattern() +// measure(w, r, routePattern) +// }) +// } +func (x *Context) RoutePattern() string { + routePattern := strings.Join(x.RoutePatterns, "") + return strings.Replace(routePattern, "/*/", "/", -1) +} + +// RouteContext returns chi's routing Context object from a +// http.Request Context. +func RouteContext(ctx context.Context) *Context { + return ctx.Value(RouteCtxKey).(*Context) +} + +// URLParam returns the url parameter from a http.Request object. +func URLParam(r *http.Request, key string) string { + if rctx := RouteContext(r.Context()); rctx != nil { + return rctx.URLParam(key) + } + return "" +} + +// URLParamFromCtx returns the url parameter from a http.Request Context. +func URLParamFromCtx(ctx context.Context, key string) string { + if rctx := RouteContext(ctx); rctx != nil { + return rctx.URLParam(key) + } + return "" +} + +// RouteParams is a structure to track URL routing parameters efficiently. +type RouteParams struct { + Keys, Values []string +} + +// Add will append a URL parameter to the end of the route param +func (s *RouteParams) Add(key, value string) { + (*s).Keys = append((*s).Keys, key) + (*s).Values = append((*s).Values, value) +} + +// ServerBaseContext wraps an http.Handler to set the request context to the +// `baseCtx`. +func ServerBaseContext(baseCtx context.Context, h http.Handler) http.Handler { + fn := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + ctx := r.Context() + baseCtx := baseCtx + + // Copy over default net/http server context keys + if v, ok := ctx.Value(http.ServerContextKey).(*http.Server); ok { + baseCtx = context.WithValue(baseCtx, http.ServerContextKey, v) + } + if v, ok := ctx.Value(http.LocalAddrContextKey).(net.Addr); ok { + baseCtx = context.WithValue(baseCtx, http.LocalAddrContextKey, v) + } + + h.ServeHTTP(w, r.WithContext(baseCtx)) + }) + return fn +} + +// contextKey is a value for use with context.WithValue. It's used as +// a pointer so it fits in an interface{} without allocation. This technique +// for defining context keys was copied from Go 1.7's new use of context in net/http. +type contextKey struct { + name string +} + +func (k *contextKey) String() string { + return "chi context value " + k.name +} diff --git a/vendor/github.com/go-chi/chi/middleware/compress.go b/vendor/github.com/go-chi/chi/middleware/compress.go new file mode 100644 index 000000000..966e5e375 --- /dev/null +++ b/vendor/github.com/go-chi/chi/middleware/compress.go @@ -0,0 +1,275 @@ +package middleware + +import ( + "bufio" + "compress/flate" + "compress/gzip" + "errors" + "io" + "net" + "net/http" + "strings" +) + +var encoders = map[string]EncoderFunc{} + +var encodingPrecedence = []string{"br", "gzip", "deflate"} + +func init() { + // TODO: + // lzma: Opera. + // sdch: Chrome, Android. Gzip output + dictionary header. + // br: Brotli, see https://github.com/go-chi/chi/pull/326 + + // TODO: Exception for old MSIE browsers that can't handle non-HTML? + // https://zoompf.com/blog/2012/02/lose-the-wait-http-compression + SetEncoder("gzip", encoderGzip) + + // HTTP 1.1 "deflate" (RFC 2616) stands for DEFLATE data (RFC 1951) + // wrapped with zlib (RFC 1950). The zlib wrapper uses Adler-32 + // checksum compared to CRC-32 used in "gzip" and thus is faster. + // + // But.. some old browsers (MSIE, Safari 5.1) incorrectly expect + // raw DEFLATE data only, without the mentioned zlib wrapper. + // Because of this major confusion, most modern browsers try it + // both ways, first looking for zlib headers. + // Quote by Mark Adler: http://stackoverflow.com/a/9186091/385548 + // + // The list of browsers having problems is quite big, see: + // http://zoompf.com/blog/2012/02/lose-the-wait-http-compression + // https://web.archive.org/web/20120321182910/http://www.vervestudios.co/projects/compression-tests/results + // + // That's why we prefer gzip over deflate. It's just more reliable + // and not significantly slower than gzip. + SetEncoder("deflate", encoderDeflate) + + // NOTE: Not implemented, intentionally: + // case "compress": // LZW. Deprecated. + // case "bzip2": // Too slow on-the-fly. + // case "zopfli": // Too slow on-the-fly. + // case "xz": // Too slow on-the-fly. +} + +// An EncoderFunc is a function that wraps the provided ResponseWriter with a +// streaming compression algorithm and returns it. +// +// In case of failure, the function should return nil. +type EncoderFunc func(w http.ResponseWriter, level int) io.Writer + +// SetEncoder can be used to set the implementation of a compression algorithm. +// +// The encoding should be a standardised identifier. See: +// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding +// +// For example, add the Brotli algortithm: +// +// import brotli_enc "gopkg.in/kothar/brotli-go.v0/enc" +// +// middleware.SetEncoder("br", func(w http.ResponseWriter, level int) io.Writer { +// params := brotli_enc.NewBrotliParams() +// params.SetQuality(level) +// return brotli_enc.NewBrotliWriter(params, w) +// }) +func SetEncoder(encoding string, fn EncoderFunc) { + encoding = strings.ToLower(encoding) + if encoding == "" { + panic("the encoding can not be empty") + } + if fn == nil { + panic("attempted to set a nil encoder function") + } + encoders[encoding] = fn + + var e string + for _, v := range encodingPrecedence { + if v == encoding { + e = v + } + } + + if e == "" { + encodingPrecedence = append([]string{e}, encodingPrecedence...) + } +} + +var defaultContentTypes = map[string]struct{}{ + "text/html": {}, + "text/css": {}, + "text/plain": {}, + "text/javascript": {}, + "application/javascript": {}, + "application/x-javascript": {}, + "application/json": {}, + "application/atom+xml": {}, + "application/rss+xml": {}, + "image/svg+xml": {}, +} + +// DefaultCompress is a middleware that compresses response +// body of predefined content types to a data format based +// on Accept-Encoding request header. It uses a default +// compression level. +func DefaultCompress(next http.Handler) http.Handler { + return Compress(flate.DefaultCompression)(next) +} + +// Compress is a middleware that compresses response +// body of a given content types to a data format based +// on Accept-Encoding request header. It uses a given +// compression level. +// +// NOTE: make sure to set the Content-Type header on your response +// otherwise this middleware will not compress the response body. For ex, in +// your handler you should set w.Header().Set("Content-Type", http.DetectContentType(yourBody)) +// or set it manually. +func Compress(level int, types ...string) func(next http.Handler) http.Handler { + contentTypes := defaultContentTypes + if len(types) > 0 { + contentTypes = make(map[string]struct{}, len(types)) + for _, t := range types { + contentTypes[t] = struct{}{} + } + } + + return func(next http.Handler) http.Handler { + fn := func(w http.ResponseWriter, r *http.Request) { + encoder, encoding := selectEncoder(r.Header) + + cw := &compressResponseWriter{ + ResponseWriter: w, + w: w, + contentTypes: contentTypes, + encoder: encoder, + encoding: encoding, + level: level, + } + defer cw.Close() + + next.ServeHTTP(cw, r) + } + + return http.HandlerFunc(fn) + } +} + +func selectEncoder(h http.Header) (EncoderFunc, string) { + header := h.Get("Accept-Encoding") + + // Parse the names of all accepted algorithms from the header. + accepted := strings.Split(strings.ToLower(header), ",") + + // Find supported encoder by accepted list by precedence + for _, name := range encodingPrecedence { + if fn, ok := encoders[name]; ok && matchAcceptEncoding(accepted, name) { + return fn, name + } + } + + // No encoder found to match the accepted encoding + return nil, "" +} + +func matchAcceptEncoding(accepted []string, encoding string) bool { + for _, v := range accepted { + if strings.Index(v, encoding) >= 0 { + return true + } + } + return false +} + +type compressResponseWriter struct { + http.ResponseWriter + w io.Writer + encoder EncoderFunc + encoding string + contentTypes map[string]struct{} + level int + wroteHeader bool +} + +func (w *compressResponseWriter) WriteHeader(code int) { + if w.wroteHeader { + return + } + w.wroteHeader = true + defer w.ResponseWriter.WriteHeader(code) + + // Already compressed data? + if w.Header().Get("Content-Encoding") != "" { + return + } + + // Parse the first part of the Content-Type response header. + contentType := "" + parts := strings.Split(w.Header().Get("Content-Type"), ";") + if len(parts) > 0 { + contentType = parts[0] + } + + // Is the content type compressable? + if _, ok := w.contentTypes[contentType]; !ok { + return + } + + if w.encoder != nil && w.encoding != "" { + if wr := w.encoder(w.ResponseWriter, w.level); wr != nil { + w.w = wr + w.Header().Set("Content-Encoding", w.encoding) + + // The content-length after compression is unknown + w.Header().Del("Content-Length") + } + } +} + +func (w *compressResponseWriter) Write(p []byte) (int, error) { + if !w.wroteHeader { + w.ResponseWriter.WriteHeader(http.StatusOK) + } + + return w.w.Write(p) +} + +func (w *compressResponseWriter) Flush() { + if f, ok := w.w.(http.Flusher); ok { + f.Flush() + } +} + +func (w *compressResponseWriter) Hijack() (net.Conn, *bufio.ReadWriter, error) { + if hj, ok := w.w.(http.Hijacker); ok { + return hj.Hijack() + } + return nil, nil, errors.New("chi/middleware: http.Hijacker is unavailable on the writer") +} + +func (w *compressResponseWriter) Push(target string, opts *http.PushOptions) error { + if ps, ok := w.w.(http.Pusher); ok { + return ps.Push(target, opts) + } + return errors.New("chi/middleware: http.Pusher is unavailable on the writer") +} + +func (w *compressResponseWriter) Close() error { + if c, ok := w.w.(io.WriteCloser); ok { + return c.Close() + } + return errors.New("chi/middleware: io.WriteCloser is unavailable on the writer") +} + +func encoderGzip(w http.ResponseWriter, level int) io.Writer { + gw, err := gzip.NewWriterLevel(w, level) + if err != nil { + return nil + } + return gw +} + +func encoderDeflate(w http.ResponseWriter, level int) io.Writer { + dw, err := flate.NewWriter(w, level) + if err != nil { + return nil + } + return dw +} diff --git a/vendor/github.com/go-chi/chi/middleware/content_charset.go b/vendor/github.com/go-chi/chi/middleware/content_charset.go new file mode 100644 index 000000000..07b5ce6f6 --- /dev/null +++ b/vendor/github.com/go-chi/chi/middleware/content_charset.go @@ -0,0 +1,51 @@ +package middleware + +import ( + "net/http" + "strings" +) + +// ContentCharset generates a handler that writes a 415 Unsupported Media Type response if none of the charsets match. +// An empty charset will allow requests with no Content-Type header or no specified charset. +func ContentCharset(charsets ...string) func(next http.Handler) http.Handler { + for i, c := range charsets { + charsets[i] = strings.ToLower(c) + } + + return func(next http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if !contentEncoding(r.Header.Get("Content-Type"), charsets...) { + w.WriteHeader(http.StatusUnsupportedMediaType) + return + } + + next.ServeHTTP(w, r) + }) + } +} + +// Check the content encoding against a list of acceptable values. +func contentEncoding(ce string, charsets ...string) bool { + _, ce = split(strings.ToLower(ce), ";") + _, ce = split(ce, "charset=") + ce, _ = split(ce, ";") + for _, c := range charsets { + if ce == c { + return true + } + } + + return false +} + +// Split a string in two parts, cleaning any whitespace. +func split(str, sep string) (string, string) { + var a, b string + var parts = strings.SplitN(str, sep, 2) + a = strings.TrimSpace(parts[0]) + if len(parts) == 2 { + b = strings.TrimSpace(parts[1]) + } + + return a, b +} diff --git a/vendor/github.com/go-chi/chi/middleware/content_type.go b/vendor/github.com/go-chi/chi/middleware/content_type.go new file mode 100644 index 000000000..3a2dc20af --- /dev/null +++ b/vendor/github.com/go-chi/chi/middleware/content_type.go @@ -0,0 +1,45 @@ +package middleware + +import ( + "net/http" + "strings" +) + +// SetHeader is a convenience handler to set a response header key/value +func SetHeader(key, value string) func(next http.Handler) http.Handler { + return func(next http.Handler) http.Handler { + fn := func(w http.ResponseWriter, r *http.Request) { + w.Header().Set(key, value) + next.ServeHTTP(w, r) + } + return http.HandlerFunc(fn) + } +} + +// AllowContentType enforces a whitelist of request Content-Types otherwise responds +// with a 415 Unsupported Media Type status. +func AllowContentType(contentTypes ...string) func(next http.Handler) http.Handler { + cT := []string{} + for _, t := range contentTypes { + cT = append(cT, strings.ToLower(t)) + } + + return func(next http.Handler) http.Handler { + fn := func(w http.ResponseWriter, r *http.Request) { + s := strings.ToLower(strings.TrimSpace(r.Header.Get("Content-Type"))) + if i := strings.Index(s, ";"); i > -1 { + s = s[0:i] + } + + for _, t := range cT { + if t == s { + next.ServeHTTP(w, r) + return + } + } + + w.WriteHeader(http.StatusUnsupportedMediaType) + } + return http.HandlerFunc(fn) + } +} diff --git a/vendor/github.com/go-chi/chi/middleware/get_head.go b/vendor/github.com/go-chi/chi/middleware/get_head.go new file mode 100644 index 000000000..86068a96d --- /dev/null +++ b/vendor/github.com/go-chi/chi/middleware/get_head.go @@ -0,0 +1,39 @@ +package middleware + +import ( + "net/http" + + "github.com/go-chi/chi" +) + +// GetHead automatically route undefined HEAD requests to GET handlers. +func GetHead(next http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if r.Method == "HEAD" { + rctx := chi.RouteContext(r.Context()) + routePath := rctx.RoutePath + if routePath == "" { + if r.URL.RawPath != "" { + routePath = r.URL.RawPath + } else { + routePath = r.URL.Path + } + } + + // Temporary routing context to look-ahead before routing the request + tctx := chi.NewRouteContext() + + // Attempt to find a HEAD handler for the routing path, if not found, traverse + // the router as through its a GET route, but proceed with the request + // with the HEAD method. + if !rctx.Routes.Match(tctx, "HEAD", routePath) { + rctx.RouteMethod = "GET" + rctx.RoutePath = routePath + next.ServeHTTP(w, r) + return + } + } + + next.ServeHTTP(w, r) + }) +} diff --git a/vendor/github.com/go-chi/chi/middleware/heartbeat.go b/vendor/github.com/go-chi/chi/middleware/heartbeat.go new file mode 100644 index 000000000..fe822fb53 --- /dev/null +++ b/vendor/github.com/go-chi/chi/middleware/heartbeat.go @@ -0,0 +1,26 @@ +package middleware + +import ( + "net/http" + "strings" +) + +// Heartbeat endpoint middleware useful to setting up a path like +// `/ping` that load balancers or uptime testing external services +// can make a request before hitting any routes. It's also convenient +// to place this above ACL middlewares as well. +func Heartbeat(endpoint string) func(http.Handler) http.Handler { + f := func(h http.Handler) http.Handler { + fn := func(w http.ResponseWriter, r *http.Request) { + if r.Method == "GET" && strings.EqualFold(r.URL.Path, endpoint) { + w.Header().Set("Content-Type", "text/plain") + w.WriteHeader(http.StatusOK) + w.Write([]byte(".")) + return + } + h.ServeHTTP(w, r) + } + return http.HandlerFunc(fn) + } + return f +} diff --git a/vendor/github.com/go-chi/chi/middleware/logger.go b/vendor/github.com/go-chi/chi/middleware/logger.go new file mode 100644 index 000000000..9f119d565 --- /dev/null +++ b/vendor/github.com/go-chi/chi/middleware/logger.go @@ -0,0 +1,158 @@ +package middleware + +import ( + "bytes" + "context" + "log" + "net/http" + "os" + "time" +) + +var ( + // LogEntryCtxKey is the context.Context key to store the request log entry. + LogEntryCtxKey = &contextKey{"LogEntry"} + + // DefaultLogger is called by the Logger middleware handler to log each request. + // Its made a package-level variable so that it can be reconfigured for custom + // logging configurations. + DefaultLogger = RequestLogger(&DefaultLogFormatter{Logger: log.New(os.Stdout, "", log.LstdFlags), NoColor: false}) +) + +// Logger is a middleware that logs the start and end of each request, along +// with some useful data about what was requested, what the response status was, +// and how long it took to return. When standard output is a TTY, Logger will +// print in color, otherwise it will print in black and white. Logger prints a +// request ID if one is provided. +// +// Alternatively, look at https://github.com/pressly/lg and the `lg.RequestLogger` +// middleware pkg. +func Logger(next http.Handler) http.Handler { + return DefaultLogger(next) +} + +// RequestLogger returns a logger handler using a custom LogFormatter. +func RequestLogger(f LogFormatter) func(next http.Handler) http.Handler { + return func(next http.Handler) http.Handler { + fn := func(w http.ResponseWriter, r *http.Request) { + entry := f.NewLogEntry(r) + ww := NewWrapResponseWriter(w, r.ProtoMajor) + + t1 := time.Now() + defer func() { + entry.Write(ww.Status(), ww.BytesWritten(), time.Since(t1)) + }() + + next.ServeHTTP(ww, WithLogEntry(r, entry)) + } + return http.HandlerFunc(fn) + } +} + +// LogFormatter initiates the beginning of a new LogEntry per request. +// See DefaultLogFormatter for an example implementation. +type LogFormatter interface { + NewLogEntry(r *http.Request) LogEntry +} + +// LogEntry records the final log when a request completes. +// See defaultLogEntry for an example implementation. +type LogEntry interface { + Write(status, bytes int, elapsed time.Duration) + Panic(v interface{}, stack []byte) +} + +// GetLogEntry returns the in-context LogEntry for a request. +func GetLogEntry(r *http.Request) LogEntry { + entry, _ := r.Context().Value(LogEntryCtxKey).(LogEntry) + return entry +} + +// WithLogEntry sets the in-context LogEntry for a request. +func WithLogEntry(r *http.Request, entry LogEntry) *http.Request { + r = r.WithContext(context.WithValue(r.Context(), LogEntryCtxKey, entry)) + return r +} + +// LoggerInterface accepts printing to stdlib logger or compatible logger. +type LoggerInterface interface { + Print(v ...interface{}) +} + +// DefaultLogFormatter is a simple logger that implements a LogFormatter. +type DefaultLogFormatter struct { + Logger LoggerInterface + NoColor bool +} + +// NewLogEntry creates a new LogEntry for the request. +func (l *DefaultLogFormatter) NewLogEntry(r *http.Request) LogEntry { + useColor := !l.NoColor + entry := &defaultLogEntry{ + DefaultLogFormatter: l, + request: r, + buf: &bytes.Buffer{}, + useColor: useColor, + } + + reqID := GetReqID(r.Context()) + if reqID != "" { + cW(entry.buf, useColor, nYellow, "[%s] ", reqID) + } + cW(entry.buf, useColor, nCyan, "\"") + cW(entry.buf, useColor, bMagenta, "%s ", r.Method) + + scheme := "http" + if r.TLS != nil { + scheme = "https" + } + cW(entry.buf, useColor, nCyan, "%s://%s%s %s\" ", scheme, r.Host, r.RequestURI, r.Proto) + + entry.buf.WriteString("from ") + entry.buf.WriteString(r.RemoteAddr) + entry.buf.WriteString(" - ") + + return entry +} + +type defaultLogEntry struct { + *DefaultLogFormatter + request *http.Request + buf *bytes.Buffer + useColor bool +} + +func (l *defaultLogEntry) Write(status, bytes int, elapsed time.Duration) { + switch { + case status < 200: + cW(l.buf, l.useColor, bBlue, "%03d", status) + case status < 300: + cW(l.buf, l.useColor, bGreen, "%03d", status) + case status < 400: + cW(l.buf, l.useColor, bCyan, "%03d", status) + case status < 500: + cW(l.buf, l.useColor, bYellow, "%03d", status) + default: + cW(l.buf, l.useColor, bRed, "%03d", status) + } + + cW(l.buf, l.useColor, bBlue, " %dB", bytes) + + l.buf.WriteString(" in ") + if elapsed < 500*time.Millisecond { + cW(l.buf, l.useColor, nGreen, "%s", elapsed) + } else if elapsed < 5*time.Second { + cW(l.buf, l.useColor, nYellow, "%s", elapsed) + } else { + cW(l.buf, l.useColor, nRed, "%s", elapsed) + } + + l.Logger.Print(l.buf.String()) +} + +func (l *defaultLogEntry) Panic(v interface{}, stack []byte) { + panicEntry := l.NewLogEntry(l.request).(*defaultLogEntry) + cW(panicEntry.buf, l.useColor, bRed, "panic: %+v", v) + l.Logger.Print(panicEntry.buf.String()) + l.Logger.Print(string(stack)) +} diff --git a/vendor/github.com/go-chi/chi/middleware/middleware.go b/vendor/github.com/go-chi/chi/middleware/middleware.go new file mode 100644 index 000000000..be6a44fad --- /dev/null +++ b/vendor/github.com/go-chi/chi/middleware/middleware.go @@ -0,0 +1,12 @@ +package middleware + +// contextKey is a value for use with context.WithValue. It's used as +// a pointer so it fits in an interface{} without allocation. This technique +// for defining context keys was copied from Go 1.7's new use of context in net/http. +type contextKey struct { + name string +} + +func (k *contextKey) String() string { + return "chi/middleware context value " + k.name +} diff --git a/vendor/github.com/go-chi/chi/middleware/nocache.go b/vendor/github.com/go-chi/chi/middleware/nocache.go new file mode 100644 index 000000000..2412829e1 --- /dev/null +++ b/vendor/github.com/go-chi/chi/middleware/nocache.go @@ -0,0 +1,58 @@ +package middleware + +// Ported from Goji's middleware, source: +// https://github.com/zenazn/goji/tree/master/web/middleware + +import ( + "net/http" + "time" +) + +// Unix epoch time +var epoch = time.Unix(0, 0).Format(time.RFC1123) + +// Taken from https://github.com/mytrile/nocache +var noCacheHeaders = map[string]string{ + "Expires": epoch, + "Cache-Control": "no-cache, no-store, no-transform, must-revalidate, private, max-age=0", + "Pragma": "no-cache", + "X-Accel-Expires": "0", +} + +var etagHeaders = []string{ + "ETag", + "If-Modified-Since", + "If-Match", + "If-None-Match", + "If-Range", + "If-Unmodified-Since", +} + +// NoCache is a simple piece of middleware that sets a number of HTTP headers to prevent +// a router (or subrouter) from being cached by an upstream proxy and/or client. +// +// As per http://wiki.nginx.org/HttpProxyModule - NoCache sets: +// Expires: Thu, 01 Jan 1970 00:00:00 UTC +// Cache-Control: no-cache, private, max-age=0 +// X-Accel-Expires: 0 +// Pragma: no-cache (for HTTP/1.0 proxies/clients) +func NoCache(h http.Handler) http.Handler { + fn := func(w http.ResponseWriter, r *http.Request) { + + // Delete any ETag headers that may have been set + for _, v := range etagHeaders { + if r.Header.Get(v) != "" { + r.Header.Del(v) + } + } + + // Set our NoCache headers + for k, v := range noCacheHeaders { + w.Header().Set(k, v) + } + + h.ServeHTTP(w, r) + } + + return http.HandlerFunc(fn) +} diff --git a/vendor/github.com/go-chi/chi/middleware/profiler.go b/vendor/github.com/go-chi/chi/middleware/profiler.go new file mode 100644 index 000000000..1d44b8259 --- /dev/null +++ b/vendor/github.com/go-chi/chi/middleware/profiler.go @@ -0,0 +1,55 @@ +package middleware + +import ( + "expvar" + "fmt" + "net/http" + "net/http/pprof" + + "github.com/go-chi/chi" +) + +// Profiler is a convenient subrouter used for mounting net/http/pprof. ie. +// +// func MyService() http.Handler { +// r := chi.NewRouter() +// // ..middlewares +// r.Mount("/debug", middleware.Profiler()) +// // ..routes +// return r +// } +func Profiler() http.Handler { + r := chi.NewRouter() + r.Use(NoCache) + + r.Get("/", func(w http.ResponseWriter, r *http.Request) { + http.Redirect(w, r, r.RequestURI+"/pprof/", 301) + }) + r.HandleFunc("/pprof", func(w http.ResponseWriter, r *http.Request) { + http.Redirect(w, r, r.RequestURI+"/", 301) + }) + + r.HandleFunc("/pprof/*", pprof.Index) + r.HandleFunc("/pprof/cmdline", pprof.Cmdline) + r.HandleFunc("/pprof/profile", pprof.Profile) + r.HandleFunc("/pprof/symbol", pprof.Symbol) + r.HandleFunc("/pprof/trace", pprof.Trace) + r.HandleFunc("/vars", expVars) + + return r +} + +// Replicated from expvar.go as not public. +func expVars(w http.ResponseWriter, r *http.Request) { + first := true + w.Header().Set("Content-Type", "application/json") + fmt.Fprintf(w, "{\n") + expvar.Do(func(kv expvar.KeyValue) { + if !first { + fmt.Fprintf(w, ",\n") + } + first = false + fmt.Fprintf(w, "%q: %s", kv.Key, kv.Value) + }) + fmt.Fprintf(w, "\n}\n") +} diff --git a/vendor/github.com/go-chi/chi/middleware/realip.go b/vendor/github.com/go-chi/chi/middleware/realip.go new file mode 100644 index 000000000..146c2b0a0 --- /dev/null +++ b/vendor/github.com/go-chi/chi/middleware/realip.go @@ -0,0 +1,54 @@ +package middleware + +// Ported from Goji's middleware, source: +// https://github.com/zenazn/goji/tree/master/web/middleware + +import ( + "net/http" + "strings" +) + +var xForwardedFor = http.CanonicalHeaderKey("X-Forwarded-For") +var xRealIP = http.CanonicalHeaderKey("X-Real-IP") + +// RealIP is a middleware that sets a http.Request's RemoteAddr to the results +// of parsing either the X-Forwarded-For header or the X-Real-IP header (in that +// order). +// +// This middleware should be inserted fairly early in the middleware stack to +// ensure that subsequent layers (e.g., request loggers) which examine the +// RemoteAddr will see the intended value. +// +// You should only use this middleware if you can trust the headers passed to +// you (in particular, the two headers this middleware uses), for example +// because you have placed a reverse proxy like HAProxy or nginx in front of +// chi. If your reverse proxies are configured to pass along arbitrary header +// values from the client, or if you use this middleware without a reverse +// proxy, malicious clients will be able to make you very sad (or, depending on +// how you're using RemoteAddr, vulnerable to an attack of some sort). +func RealIP(h http.Handler) http.Handler { + fn := func(w http.ResponseWriter, r *http.Request) { + if rip := realIP(r); rip != "" { + r.RemoteAddr = rip + } + h.ServeHTTP(w, r) + } + + return http.HandlerFunc(fn) +} + +func realIP(r *http.Request) string { + var ip string + + if xff := r.Header.Get(xForwardedFor); xff != "" { + i := strings.Index(xff, ", ") + if i == -1 { + i = len(xff) + } + ip = xff[:i] + } else if xrip := r.Header.Get(xRealIP); xrip != "" { + ip = xrip + } + + return ip +} diff --git a/vendor/github.com/go-chi/chi/middleware/recoverer.go b/vendor/github.com/go-chi/chi/middleware/recoverer.go new file mode 100644 index 000000000..57fc3eb9d --- /dev/null +++ b/vendor/github.com/go-chi/chi/middleware/recoverer.go @@ -0,0 +1,39 @@ +package middleware + +// The original work was derived from Goji's middleware, source: +// https://github.com/zenazn/goji/tree/master/web/middleware + +import ( + "fmt" + "net/http" + "os" + "runtime/debug" +) + +// Recoverer is a middleware that recovers from panics, logs the panic (and a +// backtrace), and returns a HTTP 500 (Internal Server Error) status if +// possible. Recoverer prints a request ID if one is provided. +// +// Alternatively, look at https://github.com/pressly/lg middleware pkgs. +func Recoverer(next http.Handler) http.Handler { + fn := func(w http.ResponseWriter, r *http.Request) { + defer func() { + if rvr := recover(); rvr != nil { + + logEntry := GetLogEntry(r) + if logEntry != nil { + logEntry.Panic(rvr, debug.Stack()) + } else { + fmt.Fprintf(os.Stderr, "Panic: %+v\n", rvr) + debug.PrintStack() + } + + http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError) + } + }() + + next.ServeHTTP(w, r) + } + + return http.HandlerFunc(fn) +} diff --git a/vendor/github.com/go-chi/chi/middleware/request_id.go b/vendor/github.com/go-chi/chi/middleware/request_id.go new file mode 100644 index 000000000..65b58f633 --- /dev/null +++ b/vendor/github.com/go-chi/chi/middleware/request_id.go @@ -0,0 +1,92 @@ +package middleware + +// Ported from Goji's middleware, source: +// https://github.com/zenazn/goji/tree/master/web/middleware + +import ( + "context" + "crypto/rand" + "encoding/base64" + "fmt" + "net/http" + "os" + "strings" + "sync/atomic" +) + +// Key to use when setting the request ID. +type ctxKeyRequestID int + +// RequestIDKey is the key that holds the unique request ID in a request context. +const RequestIDKey ctxKeyRequestID = 0 + +var prefix string +var reqid uint64 + +// A quick note on the statistics here: we're trying to calculate the chance that +// two randomly generated base62 prefixes will collide. We use the formula from +// http://en.wikipedia.org/wiki/Birthday_problem +// +// P[m, n] \approx 1 - e^{-m^2/2n} +// +// We ballpark an upper bound for $m$ by imagining (for whatever reason) a server +// that restarts every second over 10 years, for $m = 86400 * 365 * 10 = 315360000$ +// +// For a $k$ character base-62 identifier, we have $n(k) = 62^k$ +// +// Plugging this in, we find $P[m, n(10)] \approx 5.75%$, which is good enough for +// our purposes, and is surely more than anyone would ever need in practice -- a +// process that is rebooted a handful of times a day for a hundred years has less +// than a millionth of a percent chance of generating two colliding IDs. + +func init() { + hostname, err := os.Hostname() + if hostname == "" || err != nil { + hostname = "localhost" + } + var buf [12]byte + var b64 string + for len(b64) < 10 { + rand.Read(buf[:]) + b64 = base64.StdEncoding.EncodeToString(buf[:]) + b64 = strings.NewReplacer("+", "", "/", "").Replace(b64) + } + + prefix = fmt.Sprintf("%s/%s", hostname, b64[0:10]) +} + +// RequestID is a middleware that injects a request ID into the context of each +// request. A request ID is a string of the form "host.example.com/random-0001", +// where "random" is a base62 random string that uniquely identifies this go +// process, and where the last number is an atomically incremented request +// counter. +func RequestID(next http.Handler) http.Handler { + fn := func(w http.ResponseWriter, r *http.Request) { + ctx := r.Context() + requestID := r.Header.Get("X-Request-Id") + if requestID == "" { + myid := atomic.AddUint64(&reqid, 1) + requestID = fmt.Sprintf("%s-%06d", prefix, myid) + } + ctx = context.WithValue(ctx, RequestIDKey, requestID) + next.ServeHTTP(w, r.WithContext(ctx)) + } + return http.HandlerFunc(fn) +} + +// GetReqID returns a request ID from the given context if one is present. +// Returns the empty string if a request ID cannot be found. +func GetReqID(ctx context.Context) string { + if ctx == nil { + return "" + } + if reqID, ok := ctx.Value(RequestIDKey).(string); ok { + return reqID + } + return "" +} + +// NextRequestID generates the next request ID in the sequence. +func NextRequestID() uint64 { + return atomic.AddUint64(&reqid, 1) +} diff --git a/vendor/github.com/go-chi/chi/middleware/strip.go b/vendor/github.com/go-chi/chi/middleware/strip.go new file mode 100644 index 000000000..2b8b1842a --- /dev/null +++ b/vendor/github.com/go-chi/chi/middleware/strip.go @@ -0,0 +1,56 @@ +package middleware + +import ( + "fmt" + "net/http" + + "github.com/go-chi/chi" +) + +// StripSlashes is a middleware that will match request paths with a trailing +// slash, strip it from the path and continue routing through the mux, if a route +// matches, then it will serve the handler. +func StripSlashes(next http.Handler) http.Handler { + fn := func(w http.ResponseWriter, r *http.Request) { + var path string + rctx := chi.RouteContext(r.Context()) + if rctx.RoutePath != "" { + path = rctx.RoutePath + } else { + path = r.URL.Path + } + if len(path) > 1 && path[len(path)-1] == '/' { + rctx.RoutePath = path[:len(path)-1] + } + next.ServeHTTP(w, r) + } + return http.HandlerFunc(fn) +} + +// RedirectSlashes is a middleware that will match request paths with a trailing +// slash and redirect to the same path, less the trailing slash. +// +// NOTE: RedirectSlashes middleware is *incompatible* with http.FileServer, +// see https://github.com/go-chi/chi/issues/343 +func RedirectSlashes(next http.Handler) http.Handler { + fn := func(w http.ResponseWriter, r *http.Request) { + var path string + rctx := chi.RouteContext(r.Context()) + if rctx.RoutePath != "" { + path = rctx.RoutePath + } else { + path = r.URL.Path + } + if len(path) > 1 && path[len(path)-1] == '/' { + if r.URL.RawQuery != "" { + path = fmt.Sprintf("%s?%s", path[:len(path)-1], r.URL.RawQuery) + } else { + path = path[:len(path)-1] + } + http.Redirect(w, r, path, 301) + return + } + next.ServeHTTP(w, r) + } + return http.HandlerFunc(fn) +} diff --git a/vendor/github.com/go-chi/chi/middleware/terminal.go b/vendor/github.com/go-chi/chi/middleware/terminal.go new file mode 100644 index 000000000..a5d424100 --- /dev/null +++ b/vendor/github.com/go-chi/chi/middleware/terminal.go @@ -0,0 +1,63 @@ +package middleware + +// Ported from Goji's middleware, source: +// https://github.com/zenazn/goji/tree/master/web/middleware + +import ( + "fmt" + "io" + "os" +) + +var ( + // Normal colors + nBlack = []byte{'\033', '[', '3', '0', 'm'} + nRed = []byte{'\033', '[', '3', '1', 'm'} + nGreen = []byte{'\033', '[', '3', '2', 'm'} + nYellow = []byte{'\033', '[', '3', '3', 'm'} + nBlue = []byte{'\033', '[', '3', '4', 'm'} + nMagenta = []byte{'\033', '[', '3', '5', 'm'} + nCyan = []byte{'\033', '[', '3', '6', 'm'} + nWhite = []byte{'\033', '[', '3', '7', 'm'} + // Bright colors + bBlack = []byte{'\033', '[', '3', '0', ';', '1', 'm'} + bRed = []byte{'\033', '[', '3', '1', ';', '1', 'm'} + bGreen = []byte{'\033', '[', '3', '2', ';', '1', 'm'} + bYellow = []byte{'\033', '[', '3', '3', ';', '1', 'm'} + bBlue = []byte{'\033', '[', '3', '4', ';', '1', 'm'} + bMagenta = []byte{'\033', '[', '3', '5', ';', '1', 'm'} + bCyan = []byte{'\033', '[', '3', '6', ';', '1', 'm'} + bWhite = []byte{'\033', '[', '3', '7', ';', '1', 'm'} + + reset = []byte{'\033', '[', '0', 'm'} +) + +var isTTY bool + +func init() { + // This is sort of cheating: if stdout is a character device, we assume + // that means it's a TTY. Unfortunately, there are many non-TTY + // character devices, but fortunately stdout is rarely set to any of + // them. + // + // We could solve this properly by pulling in a dependency on + // code.google.com/p/go.crypto/ssh/terminal, for instance, but as a + // heuristic for whether to print in color or in black-and-white, I'd + // really rather not. + fi, err := os.Stdout.Stat() + if err == nil { + m := os.ModeDevice | os.ModeCharDevice + isTTY = fi.Mode()&m == m + } +} + +// colorWrite +func cW(w io.Writer, useColor bool, color []byte, s string, args ...interface{}) { + if isTTY && useColor { + w.Write(color) + } + fmt.Fprintf(w, s, args...) + if isTTY && useColor { + w.Write(reset) + } +} diff --git a/vendor/github.com/go-chi/chi/middleware/throttle.go b/vendor/github.com/go-chi/chi/middleware/throttle.go new file mode 100644 index 000000000..d935e2ce6 --- /dev/null +++ b/vendor/github.com/go-chi/chi/middleware/throttle.go @@ -0,0 +1,101 @@ +package middleware + +import ( + "net/http" + "time" +) + +const ( + errCapacityExceeded = "Server capacity exceeded." + errTimedOut = "Timed out while waiting for a pending request to complete." + errContextCanceled = "Context was canceled." +) + +var ( + defaultBacklogTimeout = time.Second * 60 +) + +// Throttle is a middleware that limits number of currently processed requests +// at a time. +func Throttle(limit int) func(http.Handler) http.Handler { + return ThrottleBacklog(limit, 0, defaultBacklogTimeout) +} + +// ThrottleBacklog is a middleware that limits number of currently processed +// requests at a time and provides a backlog for holding a finite number of +// pending requests. +func ThrottleBacklog(limit int, backlogLimit int, backlogTimeout time.Duration) func(http.Handler) http.Handler { + if limit < 1 { + panic("chi/middleware: Throttle expects limit > 0") + } + + if backlogLimit < 0 { + panic("chi/middleware: Throttle expects backlogLimit to be positive") + } + + t := throttler{ + tokens: make(chan token, limit), + backlogTokens: make(chan token, limit+backlogLimit), + backlogTimeout: backlogTimeout, + } + + // Filling tokens. + for i := 0; i < limit+backlogLimit; i++ { + if i < limit { + t.tokens <- token{} + } + t.backlogTokens <- token{} + } + + fn := func(h http.Handler) http.Handler { + t.h = h + return &t + } + + return fn +} + +// token represents a request that is being processed. +type token struct{} + +// throttler limits number of currently processed requests at a time. +type throttler struct { + h http.Handler + tokens chan token + backlogTokens chan token + backlogTimeout time.Duration +} + +// ServeHTTP is the primary throttler request handler +func (t *throttler) ServeHTTP(w http.ResponseWriter, r *http.Request) { + ctx := r.Context() + select { + case <-ctx.Done(): + http.Error(w, errContextCanceled, http.StatusServiceUnavailable) + return + case btok := <-t.backlogTokens: + timer := time.NewTimer(t.backlogTimeout) + + defer func() { + t.backlogTokens <- btok + }() + + select { + case <-timer.C: + http.Error(w, errTimedOut, http.StatusServiceUnavailable) + return + case <-ctx.Done(): + http.Error(w, errContextCanceled, http.StatusServiceUnavailable) + return + case tok := <-t.tokens: + defer func() { + t.tokens <- tok + }() + t.h.ServeHTTP(w, r) + } + return + default: + http.Error(w, errCapacityExceeded, http.StatusServiceUnavailable) + return + } +} diff --git a/vendor/github.com/go-chi/chi/middleware/timeout.go b/vendor/github.com/go-chi/chi/middleware/timeout.go new file mode 100644 index 000000000..8e373536c --- /dev/null +++ b/vendor/github.com/go-chi/chi/middleware/timeout.go @@ -0,0 +1,49 @@ +package middleware + +import ( + "context" + "net/http" + "time" +) + +// Timeout is a middleware that cancels ctx after a given timeout and return +// a 504 Gateway Timeout error to the client. +// +// It's required that you select the ctx.Done() channel to check for the signal +// if the context has reached its deadline and return, otherwise the timeout +// signal will be just ignored. +// +// ie. a route/handler may look like: +// +// r.Get("/long", func(w http.ResponseWriter, r *http.Request) { +// ctx := r.Context() +// processTime := time.Duration(rand.Intn(4)+1) * time.Second +// +// select { +// case <-ctx.Done(): +// return +// +// case <-time.After(processTime): +// // The above channel simulates some hard work. +// } +// +// w.Write([]byte("done")) +// }) +// +func Timeout(timeout time.Duration) func(next http.Handler) http.Handler { + return func(next http.Handler) http.Handler { + fn := func(w http.ResponseWriter, r *http.Request) { + ctx, cancel := context.WithTimeout(r.Context(), timeout) + defer func() { + cancel() + if ctx.Err() == context.DeadlineExceeded { + w.WriteHeader(http.StatusGatewayTimeout) + } + }() + + r = r.WithContext(ctx) + next.ServeHTTP(w, r) + } + return http.HandlerFunc(fn) + } +} diff --git a/vendor/github.com/go-chi/chi/middleware/url_format.go b/vendor/github.com/go-chi/chi/middleware/url_format.go new file mode 100644 index 000000000..5749e4f32 --- /dev/null +++ b/vendor/github.com/go-chi/chi/middleware/url_format.go @@ -0,0 +1,72 @@ +package middleware + +import ( + "context" + "net/http" + "strings" + + "github.com/go-chi/chi" +) + +var ( + // URLFormatCtxKey is the context.Context key to store the URL format data + // for a request. + URLFormatCtxKey = &contextKey{"URLFormat"} +) + +// URLFormat is a middleware that parses the url extension from a request path and stores it +// on the context as a string under the key `middleware.URLFormatCtxKey`. The middleware will +// trim the suffix from the routing path and continue routing. +// +// Routers should not include a url parameter for the suffix when using this middleware. +// +// Sample usage.. for url paths: `/articles/1`, `/articles/1.json` and `/articles/1.xml` +// +// func routes() http.Handler { +// r := chi.NewRouter() +// r.Use(middleware.URLFormat) +// +// r.Get("/articles/{id}", ListArticles) +// +// return r +// } +// +// func ListArticles(w http.ResponseWriter, r *http.Request) { +// urlFormat, _ := r.Context().Value(middleware.URLFormatCtxKey).(string) +// +// switch urlFormat { +// case "json": +// render.JSON(w, r, articles) +// case "xml:" +// render.XML(w, r, articles) +// default: +// render.JSON(w, r, articles) +// } +// } +// +func URLFormat(next http.Handler) http.Handler { + fn := func(w http.ResponseWriter, r *http.Request) { + ctx := r.Context() + + var format string + path := r.URL.Path + + if strings.Index(path, ".") > 0 { + base := strings.LastIndex(path, "/") + idx := strings.Index(path[base:], ".") + + if idx > 0 { + idx += base + format = path[idx+1:] + + rctx := chi.RouteContext(r.Context()) + rctx.RoutePath = path[:idx] + } + } + + r = r.WithContext(context.WithValue(ctx, URLFormatCtxKey, format)) + + next.ServeHTTP(w, r) + } + return http.HandlerFunc(fn) +} diff --git a/vendor/github.com/go-chi/chi/middleware/value.go b/vendor/github.com/go-chi/chi/middleware/value.go new file mode 100644 index 000000000..fbbd0393f --- /dev/null +++ b/vendor/github.com/go-chi/chi/middleware/value.go @@ -0,0 +1,17 @@ +package middleware + +import ( + "context" + "net/http" +) + +// WithValue is a middleware that sets a given key/value in a context chain. +func WithValue(key interface{}, val interface{}) func(next http.Handler) http.Handler { + return func(next http.Handler) http.Handler { + fn := func(w http.ResponseWriter, r *http.Request) { + r = r.WithContext(context.WithValue(r.Context(), key, val)) + next.ServeHTTP(w, r) + } + return http.HandlerFunc(fn) + } +} diff --git a/vendor/github.com/go-chi/chi/middleware/wrap_writer.go b/vendor/github.com/go-chi/chi/middleware/wrap_writer.go new file mode 100644 index 000000000..5e5594f8d --- /dev/null +++ b/vendor/github.com/go-chi/chi/middleware/wrap_writer.go @@ -0,0 +1,183 @@ +package middleware + +// The original work was derived from Goji's middleware, source: +// https://github.com/zenazn/goji/tree/master/web/middleware + +import ( + "bufio" + "io" + "net" + "net/http" +) + +// NewWrapResponseWriter wraps an http.ResponseWriter, returning a proxy that allows you to +// hook into various parts of the response process. +func NewWrapResponseWriter(w http.ResponseWriter, protoMajor int) WrapResponseWriter { + _, fl := w.(http.Flusher) + + bw := basicWriter{ResponseWriter: w} + + if protoMajor == 2 { + _, ps := w.(http.Pusher) + if fl && ps { + return &http2FancyWriter{bw} + } + } else { + _, hj := w.(http.Hijacker) + _, rf := w.(io.ReaderFrom) + if fl && hj && rf { + return &httpFancyWriter{bw} + } + } + if fl { + return &flushWriter{bw} + } + + return &bw +} + +// WrapResponseWriter is a proxy around an http.ResponseWriter that allows you to hook +// into various parts of the response process. +type WrapResponseWriter interface { + http.ResponseWriter + // Status returns the HTTP status of the request, or 0 if one has not + // yet been sent. + Status() int + // BytesWritten returns the total number of bytes sent to the client. + BytesWritten() int + // Tee causes the response body to be written to the given io.Writer in + // addition to proxying the writes through. Only one io.Writer can be + // tee'd to at once: setting a second one will overwrite the first. + // Writes will be sent to the proxy before being written to this + // io.Writer. It is illegal for the tee'd writer to be modified + // concurrently with writes. + Tee(io.Writer) + // Unwrap returns the original proxied target. + Unwrap() http.ResponseWriter +} + +// basicWriter wraps a http.ResponseWriter that implements the minimal +// http.ResponseWriter interface. +type basicWriter struct { + http.ResponseWriter + wroteHeader bool + code int + bytes int + tee io.Writer +} + +func (b *basicWriter) WriteHeader(code int) { + if !b.wroteHeader { + b.code = code + b.wroteHeader = true + b.ResponseWriter.WriteHeader(code) + } +} + +func (b *basicWriter) Write(buf []byte) (int, error) { + b.WriteHeader(http.StatusOK) + n, err := b.ResponseWriter.Write(buf) + if b.tee != nil { + _, err2 := b.tee.Write(buf[:n]) + // Prefer errors generated by the proxied writer. + if err == nil { + err = err2 + } + } + b.bytes += n + return n, err +} + +func (b *basicWriter) maybeWriteHeader() { + if !b.wroteHeader { + b.WriteHeader(http.StatusOK) + } +} + +func (b *basicWriter) Status() int { + return b.code +} + +func (b *basicWriter) BytesWritten() int { + return b.bytes +} + +func (b *basicWriter) Tee(w io.Writer) { + b.tee = w +} + +func (b *basicWriter) Unwrap() http.ResponseWriter { + return b.ResponseWriter +} + +type flushWriter struct { + basicWriter +} + +func (f *flushWriter) Flush() { + f.wroteHeader = true + + fl := f.basicWriter.ResponseWriter.(http.Flusher) + fl.Flush() +} + +var _ http.Flusher = &flushWriter{} + +// httpFancyWriter is a HTTP writer that additionally satisfies +// http.Flusher, http.Hijacker, and io.ReaderFrom. It exists for the common case +// of wrapping the http.ResponseWriter that package http gives you, in order to +// make the proxied object support the full method set of the proxied object. +type httpFancyWriter struct { + basicWriter +} + +func (f *httpFancyWriter) Flush() { + f.wroteHeader = true + + fl := f.basicWriter.ResponseWriter.(http.Flusher) + fl.Flush() +} + +func (f *httpFancyWriter) Hijack() (net.Conn, *bufio.ReadWriter, error) { + hj := f.basicWriter.ResponseWriter.(http.Hijacker) + return hj.Hijack() +} + +func (f *http2FancyWriter) Push(target string, opts *http.PushOptions) error { + return f.basicWriter.ResponseWriter.(http.Pusher).Push(target, opts) +} + +func (f *httpFancyWriter) ReadFrom(r io.Reader) (int64, error) { + if f.basicWriter.tee != nil { + n, err := io.Copy(&f.basicWriter, r) + f.basicWriter.bytes += int(n) + return n, err + } + rf := f.basicWriter.ResponseWriter.(io.ReaderFrom) + f.basicWriter.maybeWriteHeader() + n, err := rf.ReadFrom(r) + f.basicWriter.bytes += int(n) + return n, err +} + +var _ http.Flusher = &httpFancyWriter{} +var _ http.Hijacker = &httpFancyWriter{} +var _ http.Pusher = &http2FancyWriter{} +var _ io.ReaderFrom = &httpFancyWriter{} + +// http2FancyWriter is a HTTP2 writer that additionally satisfies +// http.Flusher, and io.ReaderFrom. It exists for the common case +// of wrapping the http.ResponseWriter that package http gives you, in order to +// make the proxied object support the full method set of the proxied object. +type http2FancyWriter struct { + basicWriter +} + +func (f *http2FancyWriter) Flush() { + f.wroteHeader = true + + fl := f.basicWriter.ResponseWriter.(http.Flusher) + fl.Flush() +} + +var _ http.Flusher = &http2FancyWriter{} diff --git a/vendor/github.com/go-chi/chi/mux.go b/vendor/github.com/go-chi/chi/mux.go new file mode 100644 index 000000000..e553287e4 --- /dev/null +++ b/vendor/github.com/go-chi/chi/mux.go @@ -0,0 +1,460 @@ +package chi + +import ( + "context" + "fmt" + "net/http" + "strings" + "sync" +) + +var _ Router = &Mux{} + +// Mux is a simple HTTP route multiplexer that parses a request path, +// records any URL params, and executes an end handler. It implements +// the http.Handler interface and is friendly with the standard library. +// +// Mux is designed to be fast, minimal and offer a powerful API for building +// modular and composable HTTP services with a large set of handlers. It's +// particularly useful for writing large REST API services that break a handler +// into many smaller parts composed of middlewares and end handlers. +type Mux struct { + // The radix trie router + tree *node + + // The middleware stack + middlewares []func(http.Handler) http.Handler + + // Controls the behaviour of middleware chain generation when a mux + // is registered as an inline group inside another mux. + inline bool + parent *Mux + + // The computed mux handler made of the chained middleware stack and + // the tree router + handler http.Handler + + // Routing context pool + pool *sync.Pool + + // Custom route not found handler + notFoundHandler http.HandlerFunc + + // Custom method not allowed handler + methodNotAllowedHandler http.HandlerFunc +} + +// NewMux returns a newly initialized Mux object that implements the Router +// interface. +func NewMux() *Mux { + mux := &Mux{tree: &node{}, pool: &sync.Pool{}} + mux.pool.New = func() interface{} { + return NewRouteContext() + } + return mux +} + +// ServeHTTP is the single method of the http.Handler interface that makes +// Mux interoperable with the standard library. It uses a sync.Pool to get and +// reuse routing contexts for each request. +func (mx *Mux) ServeHTTP(w http.ResponseWriter, r *http.Request) { + // Ensure the mux has some routes defined on the mux + if mx.handler == nil { + mx.NotFoundHandler().ServeHTTP(w, r) + return + } + + // Check if a routing context already exists from a parent router. + rctx, _ := r.Context().Value(RouteCtxKey).(*Context) + if rctx != nil { + mx.handler.ServeHTTP(w, r) + return + } + + // Fetch a RouteContext object from the sync pool, and call the computed + // mx.handler that is comprised of mx.middlewares + mx.routeHTTP. + // Once the request is finished, reset the routing context and put it back + // into the pool for reuse from another request. + rctx = mx.pool.Get().(*Context) + rctx.Reset() + rctx.Routes = mx + r = r.WithContext(context.WithValue(r.Context(), RouteCtxKey, rctx)) + mx.handler.ServeHTTP(w, r) + mx.pool.Put(rctx) +} + +// Use appends a middleware handler to the Mux middleware stack. +// +// The middleware stack for any Mux will execute before searching for a matching +// route to a specific handler, which provides opportunity to respond early, +// change the course of the request execution, or set request-scoped values for +// the next http.Handler. +func (mx *Mux) Use(middlewares ...func(http.Handler) http.Handler) { + if mx.handler != nil { + panic("chi: all middlewares must be defined before routes on a mux") + } + mx.middlewares = append(mx.middlewares, middlewares...) +} + +// Handle adds the route `pattern` that matches any http method to +// execute the `handler` http.Handler. +func (mx *Mux) Handle(pattern string, handler http.Handler) { + mx.handle(mALL, pattern, handler) +} + +// HandleFunc adds the route `pattern` that matches any http method to +// execute the `handlerFn` http.HandlerFunc. +func (mx *Mux) HandleFunc(pattern string, handlerFn http.HandlerFunc) { + mx.handle(mALL, pattern, handlerFn) +} + +// Method adds the route `pattern` that matches `method` http method to +// execute the `handler` http.Handler. +func (mx *Mux) Method(method, pattern string, handler http.Handler) { + m, ok := methodMap[strings.ToUpper(method)] + if !ok { + panic(fmt.Sprintf("chi: '%s' http method is not supported.", method)) + } + mx.handle(m, pattern, handler) +} + +// MethodFunc adds the route `pattern` that matches `method` http method to +// execute the `handlerFn` http.HandlerFunc. +func (mx *Mux) MethodFunc(method, pattern string, handlerFn http.HandlerFunc) { + mx.Method(method, pattern, handlerFn) +} + +// Connect adds the route `pattern` that matches a CONNECT http method to +// execute the `handlerFn` http.HandlerFunc. +func (mx *Mux) Connect(pattern string, handlerFn http.HandlerFunc) { + mx.handle(mCONNECT, pattern, handlerFn) +} + +// Delete adds the route `pattern` that matches a DELETE http method to +// execute the `handlerFn` http.HandlerFunc. +func (mx *Mux) Delete(pattern string, handlerFn http.HandlerFunc) { + mx.handle(mDELETE, pattern, handlerFn) +} + +// Get adds the route `pattern` that matches a GET http method to +// execute the `handlerFn` http.HandlerFunc. +func (mx *Mux) Get(pattern string, handlerFn http.HandlerFunc) { + mx.handle(mGET, pattern, handlerFn) +} + +// Head adds the route `pattern` that matches a HEAD http method to +// execute the `handlerFn` http.HandlerFunc. +func (mx *Mux) Head(pattern string, handlerFn http.HandlerFunc) { + mx.handle(mHEAD, pattern, handlerFn) +} + +// Options adds the route `pattern` that matches a OPTIONS http method to +// execute the `handlerFn` http.HandlerFunc. +func (mx *Mux) Options(pattern string, handlerFn http.HandlerFunc) { + mx.handle(mOPTIONS, pattern, handlerFn) +} + +// Patch adds the route `pattern` that matches a PATCH http method to +// execute the `handlerFn` http.HandlerFunc. +func (mx *Mux) Patch(pattern string, handlerFn http.HandlerFunc) { + mx.handle(mPATCH, pattern, handlerFn) +} + +// Post adds the route `pattern` that matches a POST http method to +// execute the `handlerFn` http.HandlerFunc. +func (mx *Mux) Post(pattern string, handlerFn http.HandlerFunc) { + mx.handle(mPOST, pattern, handlerFn) +} + +// Put adds the route `pattern` that matches a PUT http method to +// execute the `handlerFn` http.HandlerFunc. +func (mx *Mux) Put(pattern string, handlerFn http.HandlerFunc) { + mx.handle(mPUT, pattern, handlerFn) +} + +// Trace adds the route `pattern` that matches a TRACE http method to +// execute the `handlerFn` http.HandlerFunc. +func (mx *Mux) Trace(pattern string, handlerFn http.HandlerFunc) { + mx.handle(mTRACE, pattern, handlerFn) +} + +// NotFound sets a custom http.HandlerFunc for routing paths that could +// not be found. The default 404 handler is `http.NotFound`. +func (mx *Mux) NotFound(handlerFn http.HandlerFunc) { + // Build NotFound handler chain + m := mx + hFn := handlerFn + if mx.inline && mx.parent != nil { + m = mx.parent + hFn = Chain(mx.middlewares...).HandlerFunc(hFn).ServeHTTP + } + + // Update the notFoundHandler from this point forward + m.notFoundHandler = hFn + m.updateSubRoutes(func(subMux *Mux) { + if subMux.notFoundHandler == nil { + subMux.NotFound(hFn) + } + }) +} + +// MethodNotAllowed sets a custom http.HandlerFunc for routing paths where the +// method is unresolved. The default handler returns a 405 with an empty body. +func (mx *Mux) MethodNotAllowed(handlerFn http.HandlerFunc) { + // Build MethodNotAllowed handler chain + m := mx + hFn := handlerFn + if mx.inline && mx.parent != nil { + m = mx.parent + hFn = Chain(mx.middlewares...).HandlerFunc(hFn).ServeHTTP + } + + // Update the methodNotAllowedHandler from this point forward + m.methodNotAllowedHandler = hFn + m.updateSubRoutes(func(subMux *Mux) { + if subMux.methodNotAllowedHandler == nil { + subMux.MethodNotAllowed(hFn) + } + }) +} + +// With adds inline middlewares for an endpoint handler. +func (mx *Mux) With(middlewares ...func(http.Handler) http.Handler) Router { + // Similarly as in handle(), we must build the mux handler once further + // middleware registration isn't allowed for this stack, like now. + if !mx.inline && mx.handler == nil { + mx.buildRouteHandler() + } + + // Copy middlewares from parent inline muxs + var mws Middlewares + if mx.inline { + mws = make(Middlewares, len(mx.middlewares)) + copy(mws, mx.middlewares) + } + mws = append(mws, middlewares...) + + im := &Mux{pool: mx.pool, inline: true, parent: mx, tree: mx.tree, middlewares: mws} + + return im +} + +// Group creates a new inline-Mux with a fresh middleware stack. It's useful +// for a group of handlers along the same routing path that use an additional +// set of middlewares. See _examples/. +func (mx *Mux) Group(fn func(r Router)) Router { + im := mx.With().(*Mux) + if fn != nil { + fn(im) + } + return im +} + +// Route creates a new Mux with a fresh middleware stack and mounts it +// along the `pattern` as a subrouter. Effectively, this is a short-hand +// call to Mount. See _examples/. +func (mx *Mux) Route(pattern string, fn func(r Router)) Router { + subRouter := NewRouter() + if fn != nil { + fn(subRouter) + } + mx.Mount(pattern, subRouter) + return subRouter +} + +// Mount attaches another http.Handler or chi Router as a subrouter along a routing +// path. It's very useful to split up a large API as many independent routers and +// compose them as a single service using Mount. See _examples/. +// +// Note that Mount() simply sets a wildcard along the `pattern` that will continue +// routing at the `handler`, which in most cases is another chi.Router. As a result, +// if you define two Mount() routes on the exact same pattern the mount will panic. +func (mx *Mux) Mount(pattern string, handler http.Handler) { + // Provide runtime safety for ensuring a pattern isn't mounted on an existing + // routing pattern. + if mx.tree.findPattern(pattern+"*") || mx.tree.findPattern(pattern+"/*") { + panic(fmt.Sprintf("chi: attempting to Mount() a handler on an existing path, '%s'", pattern)) + } + + // Assign sub-Router's with the parent not found & method not allowed handler if not specified. + subr, ok := handler.(*Mux) + if ok && subr.notFoundHandler == nil && mx.notFoundHandler != nil { + subr.NotFound(mx.notFoundHandler) + } + if ok && subr.methodNotAllowedHandler == nil && mx.methodNotAllowedHandler != nil { + subr.MethodNotAllowed(mx.methodNotAllowedHandler) + } + + // Wrap the sub-router in a handlerFunc to scope the request path for routing. + mountHandler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + rctx := RouteContext(r.Context()) + rctx.RoutePath = mx.nextRoutePath(rctx) + handler.ServeHTTP(w, r) + }) + + if pattern == "" || pattern[len(pattern)-1] != '/' { + mx.handle(mALL|mSTUB, pattern, mountHandler) + mx.handle(mALL|mSTUB, pattern+"/", mountHandler) + pattern += "/" + } + + method := mALL + subroutes, _ := handler.(Routes) + if subroutes != nil { + method |= mSTUB + } + n := mx.handle(method, pattern+"*", mountHandler) + + if subroutes != nil { + n.subroutes = subroutes + } +} + +// Routes returns a slice of routing information from the tree, +// useful for traversing available routes of a router. +func (mx *Mux) Routes() []Route { + return mx.tree.routes() +} + +// Middlewares returns a slice of middleware handler functions. +func (mx *Mux) Middlewares() Middlewares { + return mx.middlewares +} + +// Match searches the routing tree for a handler that matches the method/path. +// It's similar to routing a http request, but without executing the handler +// thereafter. +// +// Note: the *Context state is updated during execution, so manage +// the state carefully or make a NewRouteContext(). +func (mx *Mux) Match(rctx *Context, method, path string) bool { + m, ok := methodMap[method] + if !ok { + return false + } + + node, _, h := mx.tree.FindRoute(rctx, m, path) + + if node != nil && node.subroutes != nil { + rctx.RoutePath = mx.nextRoutePath(rctx) + return node.subroutes.Match(rctx, method, rctx.RoutePath) + } + + return h != nil +} + +// NotFoundHandler returns the default Mux 404 responder whenever a route +// cannot be found. +func (mx *Mux) NotFoundHandler() http.HandlerFunc { + if mx.notFoundHandler != nil { + return mx.notFoundHandler + } + return http.NotFound +} + +// MethodNotAllowedHandler returns the default Mux 405 responder whenever +// a method cannot be resolved for a route. +func (mx *Mux) MethodNotAllowedHandler() http.HandlerFunc { + if mx.methodNotAllowedHandler != nil { + return mx.methodNotAllowedHandler + } + return methodNotAllowedHandler +} + +// buildRouteHandler builds the single mux handler that is a chain of the middleware +// stack, as defined by calls to Use(), and the tree router (Mux) itself. After this +// point, no other middlewares can be registered on this Mux's stack. But you can still +// compose additional middlewares via Group()'s or using a chained middleware handler. +func (mx *Mux) buildRouteHandler() { + mx.handler = chain(mx.middlewares, http.HandlerFunc(mx.routeHTTP)) +} + +// handle registers a http.Handler in the routing tree for a particular http method +// and routing pattern. +func (mx *Mux) handle(method methodTyp, pattern string, handler http.Handler) *node { + if len(pattern) == 0 || pattern[0] != '/' { + panic(fmt.Sprintf("chi: routing pattern must begin with '/' in '%s'", pattern)) + } + + // Build the final routing handler for this Mux. + if !mx.inline && mx.handler == nil { + mx.buildRouteHandler() + } + + // Build endpoint handler with inline middlewares for the route + var h http.Handler + if mx.inline { + mx.handler = http.HandlerFunc(mx.routeHTTP) + h = Chain(mx.middlewares...).Handler(handler) + } else { + h = handler + } + + // Add the endpoint to the tree and return the node + return mx.tree.InsertRoute(method, pattern, h) +} + +// routeHTTP routes a http.Request through the Mux routing tree to serve +// the matching handler for a particular http method. +func (mx *Mux) routeHTTP(w http.ResponseWriter, r *http.Request) { + // Grab the route context object + rctx := r.Context().Value(RouteCtxKey).(*Context) + + // The request routing path + routePath := rctx.RoutePath + if routePath == "" { + if r.URL.RawPath != "" { + routePath = r.URL.RawPath + } else { + routePath = r.URL.Path + } + } + + // Check if method is supported by chi + if rctx.RouteMethod == "" { + rctx.RouteMethod = r.Method + } + method, ok := methodMap[rctx.RouteMethod] + if !ok { + mx.MethodNotAllowedHandler().ServeHTTP(w, r) + return + } + + // Find the route + if _, _, h := mx.tree.FindRoute(rctx, method, routePath); h != nil { + h.ServeHTTP(w, r) + return + } + if rctx.methodNotAllowed { + mx.MethodNotAllowedHandler().ServeHTTP(w, r) + } else { + mx.NotFoundHandler().ServeHTTP(w, r) + } +} + +func (mx *Mux) nextRoutePath(rctx *Context) string { + routePath := "/" + nx := len(rctx.routeParams.Keys) - 1 // index of last param in list + if nx >= 0 && rctx.routeParams.Keys[nx] == "*" && len(rctx.routeParams.Values) > nx { + routePath += rctx.routeParams.Values[nx] + } + return routePath +} + +// Recursively update data on child routers. +func (mx *Mux) updateSubRoutes(fn func(subMux *Mux)) { + for _, r := range mx.tree.routes() { + subMux, ok := r.SubRoutes.(*Mux) + if !ok { + continue + } + fn(subMux) + } +} + +// methodNotAllowedHandler is a helper function to respond with a 405, +// method not allowed. +func methodNotAllowedHandler(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(405) + w.Write(nil) +} diff --git a/vendor/github.com/go-chi/chi/tree.go b/vendor/github.com/go-chi/chi/tree.go new file mode 100644 index 000000000..4dce0a3d8 --- /dev/null +++ b/vendor/github.com/go-chi/chi/tree.go @@ -0,0 +1,847 @@ +package chi + +// Radix tree implementation below is a based on the original work by +// Armon Dadgar in https://github.com/armon/go-radix/blob/master/radix.go +// (MIT licensed). It's been heavily modified for use as a HTTP routing tree. + +import ( + "fmt" + "math" + "net/http" + "regexp" + "sort" + "strconv" + "strings" +) + +type methodTyp int + +const ( + mSTUB methodTyp = 1 << iota + mCONNECT + mDELETE + mGET + mHEAD + mOPTIONS + mPATCH + mPOST + mPUT + mTRACE +) + +var mALL = mCONNECT | mDELETE | mGET | mHEAD | + mOPTIONS | mPATCH | mPOST | mPUT | mTRACE + +var methodMap = map[string]methodTyp{ + http.MethodConnect: mCONNECT, + http.MethodDelete: mDELETE, + http.MethodGet: mGET, + http.MethodHead: mHEAD, + http.MethodOptions: mOPTIONS, + http.MethodPatch: mPATCH, + http.MethodPost: mPOST, + http.MethodPut: mPUT, + http.MethodTrace: mTRACE, +} + +// RegisterMethod adds support for custom HTTP method handlers, available +// via Router#Method and Router#MethodFunc +func RegisterMethod(method string) { + if method == "" { + return + } + method = strings.ToUpper(method) + if _, ok := methodMap[method]; ok { + return + } + n := len(methodMap) + if n > strconv.IntSize { + panic(fmt.Sprintf("chi: max number of methods reached (%d)", strconv.IntSize)) + } + mt := methodTyp(math.Exp2(float64(n))) + methodMap[method] = mt + mALL |= mt +} + +type nodeTyp uint8 + +const ( + ntStatic nodeTyp = iota // /home + ntRegexp // /{id:[0-9]+} + ntParam // /{user} + ntCatchAll // /api/v1/* +) + +type node struct { + // node type: static, regexp, param, catchAll + typ nodeTyp + + // first byte of the prefix + label byte + + // first byte of the child prefix + tail byte + + // prefix is the common prefix we ignore + prefix string + + // regexp matcher for regexp nodes + rex *regexp.Regexp + + // HTTP handler endpoints on the leaf node + endpoints endpoints + + // subroutes on the leaf node + subroutes Routes + + // child nodes should be stored in-order for iteration, + // in groups of the node type. + children [ntCatchAll + 1]nodes +} + +// endpoints is a mapping of http method constants to handlers +// for a given route. +type endpoints map[methodTyp]*endpoint + +type endpoint struct { + // endpoint handler + handler http.Handler + + // pattern is the routing pattern for handler nodes + pattern string + + // parameter keys recorded on handler nodes + paramKeys []string +} + +func (s endpoints) Value(method methodTyp) *endpoint { + mh, ok := s[method] + if !ok { + mh = &endpoint{} + s[method] = mh + } + return mh +} + +func (n *node) InsertRoute(method methodTyp, pattern string, handler http.Handler) *node { + var parent *node + search := pattern + + for { + // Handle key exhaustion + if len(search) == 0 { + // Insert or update the node's leaf handler + n.setEndpoint(method, handler, pattern) + return n + } + + // We're going to be searching for a wild node next, + // in this case, we need to get the tail + var label = search[0] + var segTail byte + var segEndIdx int + var segTyp nodeTyp + var segRexpat string + if label == '{' || label == '*' { + segTyp, _, segRexpat, segTail, _, segEndIdx = patNextSegment(search) + } + + var prefix string + if segTyp == ntRegexp { + prefix = segRexpat + } + + // Look for the edge to attach to + parent = n + n = n.getEdge(segTyp, label, segTail, prefix) + + // No edge, create one + if n == nil { + child := &node{label: label, tail: segTail, prefix: search} + hn := parent.addChild(child, search) + hn.setEndpoint(method, handler, pattern) + + return hn + } + + // Found an edge to match the pattern + + if n.typ > ntStatic { + // We found a param node, trim the param from the search path and continue. + // This param/wild pattern segment would already be on the tree from a previous + // call to addChild when creating a new node. + search = search[segEndIdx:] + continue + } + + // Static nodes fall below here. + // Determine longest prefix of the search key on match. + commonPrefix := longestPrefix(search, n.prefix) + if commonPrefix == len(n.prefix) { + // the common prefix is as long as the current node's prefix we're attempting to insert. + // keep the search going. + search = search[commonPrefix:] + continue + } + + // Split the node + child := &node{ + typ: ntStatic, + prefix: search[:commonPrefix], + } + parent.replaceChild(search[0], segTail, child) + + // Restore the existing node + n.label = n.prefix[commonPrefix] + n.prefix = n.prefix[commonPrefix:] + child.addChild(n, n.prefix) + + // If the new key is a subset, set the method/handler on this node and finish. + search = search[commonPrefix:] + if len(search) == 0 { + child.setEndpoint(method, handler, pattern) + return child + } + + // Create a new edge for the node + subchild := &node{ + typ: ntStatic, + label: search[0], + prefix: search, + } + hn := child.addChild(subchild, search) + hn.setEndpoint(method, handler, pattern) + return hn + } +} + +// addChild appends the new `child` node to the tree using the `pattern` as the trie key. +// For a URL router like chi's, we split the static, param, regexp and wildcard segments +// into different nodes. In addition, addChild will recursively call itself until every +// pattern segment is added to the url pattern tree as individual nodes, depending on type. +func (n *node) addChild(child *node, prefix string) *node { + search := prefix + + // handler leaf node added to the tree is the child. + // this may be overridden later down the flow + hn := child + + // Parse next segment + segTyp, _, segRexpat, segTail, segStartIdx, segEndIdx := patNextSegment(search) + + // Add child depending on next up segment + switch segTyp { + + case ntStatic: + // Search prefix is all static (that is, has no params in path) + // noop + + default: + // Search prefix contains a param, regexp or wildcard + + if segTyp == ntRegexp { + rex, err := regexp.Compile(segRexpat) + if err != nil { + panic(fmt.Sprintf("chi: invalid regexp pattern '%s' in route param", segRexpat)) + } + child.prefix = segRexpat + child.rex = rex + } + + if segStartIdx == 0 { + // Route starts with a param + child.typ = segTyp + + if segTyp == ntCatchAll { + segStartIdx = -1 + } else { + segStartIdx = segEndIdx + } + if segStartIdx < 0 { + segStartIdx = len(search) + } + child.tail = segTail // for params, we set the tail + + if segStartIdx != len(search) { + // add static edge for the remaining part, split the end. + // its not possible to have adjacent param nodes, so its certainly + // going to be a static node next. + + search = search[segStartIdx:] // advance search position + + nn := &node{ + typ: ntStatic, + label: search[0], + prefix: search, + } + hn = child.addChild(nn, search) + } + + } else if segStartIdx > 0 { + // Route has some param + + // starts with a static segment + child.typ = ntStatic + child.prefix = search[:segStartIdx] + child.rex = nil + + // add the param edge node + search = search[segStartIdx:] + + nn := &node{ + typ: segTyp, + label: search[0], + tail: segTail, + } + hn = child.addChild(nn, search) + + } + } + + n.children[child.typ] = append(n.children[child.typ], child) + n.children[child.typ].Sort() + return hn +} + +func (n *node) replaceChild(label, tail byte, child *node) { + for i := 0; i < len(n.children[child.typ]); i++ { + if n.children[child.typ][i].label == label && n.children[child.typ][i].tail == tail { + n.children[child.typ][i] = child + n.children[child.typ][i].label = label + n.children[child.typ][i].tail = tail + return + } + } + panic("chi: replacing missing child") +} + +func (n *node) getEdge(ntyp nodeTyp, label, tail byte, prefix string) *node { + nds := n.children[ntyp] + for i := 0; i < len(nds); i++ { + if nds[i].label == label && nds[i].tail == tail { + if ntyp == ntRegexp && nds[i].prefix != prefix { + continue + } + return nds[i] + } + } + return nil +} + +func (n *node) setEndpoint(method methodTyp, handler http.Handler, pattern string) { + // Set the handler for the method type on the node + if n.endpoints == nil { + n.endpoints = make(endpoints, 0) + } + + paramKeys := patParamKeys(pattern) + + if method&mSTUB == mSTUB { + n.endpoints.Value(mSTUB).handler = handler + } + if method&mALL == mALL { + h := n.endpoints.Value(mALL) + h.handler = handler + h.pattern = pattern + h.paramKeys = paramKeys + for _, m := range methodMap { + h := n.endpoints.Value(m) + h.handler = handler + h.pattern = pattern + h.paramKeys = paramKeys + } + } else { + h := n.endpoints.Value(method) + h.handler = handler + h.pattern = pattern + h.paramKeys = paramKeys + } +} + +func (n *node) FindRoute(rctx *Context, method methodTyp, path string) (*node, endpoints, http.Handler) { + // Reset the context routing pattern and params + rctx.routePattern = "" + rctx.routeParams.Keys = rctx.routeParams.Keys[:0] + rctx.routeParams.Values = rctx.routeParams.Values[:0] + + // Find the routing handlers for the path + rn := n.findRoute(rctx, method, path) + if rn == nil { + return nil, nil, nil + } + + // Record the routing params in the request lifecycle + rctx.URLParams.Keys = append(rctx.URLParams.Keys, rctx.routeParams.Keys...) + rctx.URLParams.Values = append(rctx.URLParams.Values, rctx.routeParams.Values...) + + // Record the routing pattern in the request lifecycle + if rn.endpoints[method].pattern != "" { + rctx.routePattern = rn.endpoints[method].pattern + rctx.RoutePatterns = append(rctx.RoutePatterns, rctx.routePattern) + } + + return rn, rn.endpoints, rn.endpoints[method].handler +} + +// Recursive edge traversal by checking all nodeTyp groups along the way. +// It's like searching through a multi-dimensional radix trie. +func (n *node) findRoute(rctx *Context, method methodTyp, path string) *node { + nn := n + search := path + + for t, nds := range nn.children { + ntyp := nodeTyp(t) + if len(nds) == 0 { + continue + } + + var xn *node + xsearch := search + + var label byte + if search != "" { + label = search[0] + } + + switch ntyp { + case ntStatic: + xn = nds.findEdge(label) + if xn == nil || !strings.HasPrefix(xsearch, xn.prefix) { + continue + } + xsearch = xsearch[len(xn.prefix):] + + case ntParam, ntRegexp: + // short-circuit and return no matching route for empty param values + if xsearch == "" { + continue + } + + // serially loop through each node grouped by the tail delimiter + for idx := 0; idx < len(nds); idx++ { + xn = nds[idx] + + // label for param nodes is the delimiter byte + p := strings.IndexByte(xsearch, xn.tail) + + if p < 0 { + if xn.tail == '/' { + p = len(xsearch) + } else { + continue + } + } + + if ntyp == ntRegexp && xn.rex != nil { + if xn.rex.Match([]byte(xsearch[:p])) == false { + continue + } + } else if strings.IndexByte(xsearch[:p], '/') != -1 { + // avoid a match across path segments + continue + } + + rctx.routeParams.Values = append(rctx.routeParams.Values, xsearch[:p]) + xsearch = xsearch[p:] + break + } + + default: + // catch-all nodes + rctx.routeParams.Values = append(rctx.routeParams.Values, search) + xn = nds[0] + xsearch = "" + } + + if xn == nil { + continue + } + + // did we find it yet? + if len(xsearch) == 0 { + if xn.isLeaf() { + h, _ := xn.endpoints[method] + if h != nil && h.handler != nil { + rctx.routeParams.Keys = append(rctx.routeParams.Keys, h.paramKeys...) + return xn + } + + // flag that the routing context found a route, but not a corresponding + // supported method + rctx.methodNotAllowed = true + } + } + + // recursively find the next node.. + fin := xn.findRoute(rctx, method, xsearch) + if fin != nil { + return fin + } + + // Did not find final handler, let's remove the param here if it was set + if xn.typ > ntStatic { + if len(rctx.routeParams.Values) > 0 { + rctx.routeParams.Values = rctx.routeParams.Values[:len(rctx.routeParams.Values)-1] + } + } + + } + + return nil +} + +func (n *node) findEdge(ntyp nodeTyp, label byte) *node { + nds := n.children[ntyp] + num := len(nds) + idx := 0 + + switch ntyp { + case ntStatic, ntParam, ntRegexp: + i, j := 0, num-1 + for i <= j { + idx = i + (j-i)/2 + if label > nds[idx].label { + i = idx + 1 + } else if label < nds[idx].label { + j = idx - 1 + } else { + i = num // breaks cond + } + } + if nds[idx].label != label { + return nil + } + return nds[idx] + + default: // catch all + return nds[idx] + } +} + +func (n *node) isEmpty() bool { + for _, nds := range n.children { + if len(nds) > 0 { + return false + } + } + return true +} + +func (n *node) isLeaf() bool { + return n.endpoints != nil +} + +func (n *node) findPattern(pattern string) bool { + nn := n + for _, nds := range nn.children { + if len(nds) == 0 { + continue + } + + n = nn.findEdge(nds[0].typ, pattern[0]) + if n == nil { + continue + } + + var idx int + var xpattern string + + switch n.typ { + case ntStatic: + idx = longestPrefix(pattern, n.prefix) + if idx < len(n.prefix) { + continue + } + + case ntParam, ntRegexp: + idx = strings.IndexByte(pattern, '}') + 1 + + case ntCatchAll: + idx = longestPrefix(pattern, "*") + + default: + panic("chi: unknown node type") + } + + xpattern = pattern[idx:] + if len(xpattern) == 0 { + return true + } + + return n.findPattern(xpattern) + } + return false +} + +func (n *node) routes() []Route { + rts := []Route{} + + n.walk(func(eps endpoints, subroutes Routes) bool { + if eps[mSTUB] != nil && eps[mSTUB].handler != nil && subroutes == nil { + return false + } + + // Group methodHandlers by unique patterns + pats := make(map[string]endpoints, 0) + + for mt, h := range eps { + if h.pattern == "" { + continue + } + p, ok := pats[h.pattern] + if !ok { + p = endpoints{} + pats[h.pattern] = p + } + p[mt] = h + } + + for p, mh := range pats { + hs := make(map[string]http.Handler, 0) + if mh[mALL] != nil && mh[mALL].handler != nil { + hs["*"] = mh[mALL].handler + } + + for mt, h := range mh { + if h.handler == nil { + continue + } + m := methodTypString(mt) + if m == "" { + continue + } + hs[m] = h.handler + } + + rt := Route{p, hs, subroutes} + rts = append(rts, rt) + } + + return false + }) + + return rts +} + +func (n *node) walk(fn func(eps endpoints, subroutes Routes) bool) bool { + // Visit the leaf values if any + if (n.endpoints != nil || n.subroutes != nil) && fn(n.endpoints, n.subroutes) { + return true + } + + // Recurse on the children + for _, ns := range n.children { + for _, cn := range ns { + if cn.walk(fn) { + return true + } + } + } + return false +} + +// patNextSegment returns the next segment details from a pattern: +// node type, param key, regexp string, param tail byte, param starting index, param ending index +func patNextSegment(pattern string) (nodeTyp, string, string, byte, int, int) { + ps := strings.Index(pattern, "{") + ws := strings.Index(pattern, "*") + + if ps < 0 && ws < 0 { + return ntStatic, "", "", 0, 0, len(pattern) // we return the entire thing + } + + // Sanity check + if ws >= 0 && ws != len(pattern)-1 { + panic("chi: wildcard '*' must be the last value in a route. trim trailing text or use a '{param}' instead") + } + if ps >= 0 && ws >= 0 && ws < ps { + panic("chi: wildcard '*' must be the last pattern in a route, otherwise use a '{param}'") + } + + var tail byte = '/' // Default endpoint tail to / byte + + if ps >= 0 { + // Param/Regexp pattern is next + nt := ntParam + + // Read to closing } taking into account opens and closes in curl count (cc) + cc := 0 + pe := ps + for i, c := range pattern[ps:] { + if c == '{' { + cc++ + } else if c == '}' { + cc-- + if cc == 0 { + pe = ps + i + break + } + } + } + if pe == ps { + panic("chi: route param closing delimiter '}' is missing") + } + + key := pattern[ps+1 : pe] + pe++ // set end to next position + + if pe < len(pattern) { + tail = pattern[pe] + } + + var rexpat string + if idx := strings.Index(key, ":"); idx >= 0 { + nt = ntRegexp + rexpat = key[idx+1:] + key = key[:idx] + } + + if len(rexpat) > 0 { + if rexpat[0] != '^' { + rexpat = "^" + rexpat + } + if rexpat[len(rexpat)-1] != '$' { + rexpat = rexpat + "$" + } + } + + return nt, key, rexpat, tail, ps, pe + } + + // Wildcard pattern as finale + // TODO: should we panic if there is stuff after the * ??? + return ntCatchAll, "*", "", 0, ws, len(pattern) +} + +func patParamKeys(pattern string) []string { + pat := pattern + paramKeys := []string{} + for { + ptyp, paramKey, _, _, _, e := patNextSegment(pat) + if ptyp == ntStatic { + return paramKeys + } + for i := 0; i < len(paramKeys); i++ { + if paramKeys[i] == paramKey { + panic(fmt.Sprintf("chi: routing pattern '%s' contains duplicate param key, '%s'", pattern, paramKey)) + } + } + paramKeys = append(paramKeys, paramKey) + pat = pat[e:] + } +} + +// longestPrefix finds the length of the shared prefix +// of two strings +func longestPrefix(k1, k2 string) int { + max := len(k1) + if l := len(k2); l < max { + max = l + } + var i int + for i = 0; i < max; i++ { + if k1[i] != k2[i] { + break + } + } + return i +} + +func methodTypString(method methodTyp) string { + for s, t := range methodMap { + if method == t { + return s + } + } + return "" +} + +type nodes []*node + +// Sort the list of nodes by label +func (ns nodes) Sort() { sort.Sort(ns); ns.tailSort() } +func (ns nodes) Len() int { return len(ns) } +func (ns nodes) Swap(i, j int) { ns[i], ns[j] = ns[j], ns[i] } +func (ns nodes) Less(i, j int) bool { return ns[i].label < ns[j].label } + +// tailSort pushes nodes with '/' as the tail to the end of the list for param nodes. +// The list order determines the traversal order. +func (ns nodes) tailSort() { + for i := len(ns) - 1; i >= 0; i-- { + if ns[i].typ > ntStatic && ns[i].tail == '/' { + ns.Swap(i, len(ns)-1) + return + } + } +} + +func (ns nodes) findEdge(label byte) *node { + num := len(ns) + idx := 0 + i, j := 0, num-1 + for i <= j { + idx = i + (j-i)/2 + if label > ns[idx].label { + i = idx + 1 + } else if label < ns[idx].label { + j = idx - 1 + } else { + i = num // breaks cond + } + } + if ns[idx].label != label { + return nil + } + return ns[idx] +} + +// Route describes the details of a routing handler. +type Route struct { + Pattern string + Handlers map[string]http.Handler + SubRoutes Routes +} + +// WalkFunc is the type of the function called for each method and route visited by Walk. +type WalkFunc func(method string, route string, handler http.Handler, middlewares ...func(http.Handler) http.Handler) error + +// Walk walks any router tree that implements Routes interface. +func Walk(r Routes, walkFn WalkFunc) error { + return walk(r, walkFn, "") +} + +func walk(r Routes, walkFn WalkFunc, parentRoute string, parentMw ...func(http.Handler) http.Handler) error { + for _, route := range r.Routes() { + mws := make([]func(http.Handler) http.Handler, len(parentMw)) + copy(mws, parentMw) + mws = append(mws, r.Middlewares()...) + + if route.SubRoutes != nil { + if err := walk(route.SubRoutes, walkFn, parentRoute+route.Pattern, mws...); err != nil { + return err + } + continue + } + + for method, handler := range route.Handlers { + if method == "*" { + // Ignore a "catchAll" method, since we pass down all the specific methods for each route. + continue + } + + fullRoute := parentRoute + route.Pattern + + if chain, ok := handler.(*ChainHandler); ok { + if err := walkFn(method, fullRoute, chain.Endpoint, append(mws, chain.Middlewares...)...); err != nil { + return err + } + } else { + if err := walkFn(method, fullRoute, handler, mws...); err != nil { + return err + } + } + } + } + + return nil +} diff --git a/vendor/github.com/google/uuid/.travis.yml b/vendor/github.com/google/uuid/.travis.yml new file mode 100644 index 000000000..d8156a60b --- /dev/null +++ b/vendor/github.com/google/uuid/.travis.yml @@ -0,0 +1,9 @@ +language: go + +go: + - 1.4.3 + - 1.5.3 + - tip + +script: + - go test -v ./... diff --git a/vendor/github.com/google/uuid/CONTRIBUTING.md b/vendor/github.com/google/uuid/CONTRIBUTING.md new file mode 100644 index 000000000..04fdf09f1 --- /dev/null +++ b/vendor/github.com/google/uuid/CONTRIBUTING.md @@ -0,0 +1,10 @@ +# How to contribute + +We definitely welcome patches and contribution to this project! + +### Legal requirements + +In order to protect both you and ourselves, you will need to sign the +[Contributor License Agreement](https://cla.developers.google.com/clas). + +You may have already signed it for other Google projects. diff --git a/vendor/github.com/google/uuid/CONTRIBUTORS b/vendor/github.com/google/uuid/CONTRIBUTORS new file mode 100644 index 000000000..b4bb97f6b --- /dev/null +++ b/vendor/github.com/google/uuid/CONTRIBUTORS @@ -0,0 +1,9 @@ +Paul Borman +bmatsuo +shawnps +theory +jboverfelt +dsymonds +cd1 +wallclockbuilder +dansouza diff --git a/vendor/github.com/google/uuid/LICENSE b/vendor/github.com/google/uuid/LICENSE new file mode 100644 index 000000000..5dc68268d --- /dev/null +++ b/vendor/github.com/google/uuid/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2009,2014 Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/google/uuid/README.md b/vendor/github.com/google/uuid/README.md new file mode 100644 index 000000000..9d92c11f1 --- /dev/null +++ b/vendor/github.com/google/uuid/README.md @@ -0,0 +1,19 @@ +# uuid ![build status](https://travis-ci.org/google/uuid.svg?branch=master) +The uuid package generates and inspects UUIDs based on +[RFC 4122](http://tools.ietf.org/html/rfc4122) +and DCE 1.1: Authentication and Security Services. + +This package is based on the github.com/pborman/uuid package (previously named +code.google.com/p/go-uuid). It differs from these earlier packages in that +a UUID is a 16 byte array rather than a byte slice. One loss due to this +change is the ability to represent an invalid UUID (vs a NIL UUID). + +###### Install +`go get github.com/google/uuid` + +###### Documentation +[![GoDoc](https://godoc.org/github.com/google/uuid?status.svg)](http://godoc.org/github.com/google/uuid) + +Full `go doc` style documentation for the package can be viewed online without +installing this package by using the GoDoc site here: +http://godoc.org/github.com/google/uuid diff --git a/vendor/github.com/google/uuid/dce.go b/vendor/github.com/google/uuid/dce.go new file mode 100644 index 000000000..fa820b9d3 --- /dev/null +++ b/vendor/github.com/google/uuid/dce.go @@ -0,0 +1,80 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import ( + "encoding/binary" + "fmt" + "os" +) + +// A Domain represents a Version 2 domain +type Domain byte + +// Domain constants for DCE Security (Version 2) UUIDs. +const ( + Person = Domain(0) + Group = Domain(1) + Org = Domain(2) +) + +// NewDCESecurity returns a DCE Security (Version 2) UUID. +// +// The domain should be one of Person, Group or Org. +// On a POSIX system the id should be the users UID for the Person +// domain and the users GID for the Group. The meaning of id for +// the domain Org or on non-POSIX systems is site defined. +// +// For a given domain/id pair the same token may be returned for up to +// 7 minutes and 10 seconds. +func NewDCESecurity(domain Domain, id uint32) (UUID, error) { + uuid, err := NewUUID() + if err == nil { + uuid[6] = (uuid[6] & 0x0f) | 0x20 // Version 2 + uuid[9] = byte(domain) + binary.BigEndian.PutUint32(uuid[0:], id) + } + return uuid, err +} + +// NewDCEPerson returns a DCE Security (Version 2) UUID in the person +// domain with the id returned by os.Getuid. +// +// NewDCESecurity(Person, uint32(os.Getuid())) +func NewDCEPerson() (UUID, error) { + return NewDCESecurity(Person, uint32(os.Getuid())) +} + +// NewDCEGroup returns a DCE Security (Version 2) UUID in the group +// domain with the id returned by os.Getgid. +// +// NewDCESecurity(Group, uint32(os.Getgid())) +func NewDCEGroup() (UUID, error) { + return NewDCESecurity(Group, uint32(os.Getgid())) +} + +// Domain returns the domain for a Version 2 UUID. Domains are only defined +// for Version 2 UUIDs. +func (uuid UUID) Domain() Domain { + return Domain(uuid[9]) +} + +// ID returns the id for a Version 2 UUID. IDs are only defined for Version 2 +// UUIDs. +func (uuid UUID) ID() uint32 { + return binary.BigEndian.Uint32(uuid[0:4]) +} + +func (d Domain) String() string { + switch d { + case Person: + return "Person" + case Group: + return "Group" + case Org: + return "Org" + } + return fmt.Sprintf("Domain%d", int(d)) +} diff --git a/vendor/github.com/google/uuid/doc.go b/vendor/github.com/google/uuid/doc.go new file mode 100644 index 000000000..5b8a4b9af --- /dev/null +++ b/vendor/github.com/google/uuid/doc.go @@ -0,0 +1,12 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package uuid generates and inspects UUIDs. +// +// UUIDs are based on RFC 4122 and DCE 1.1: Authentication and Security +// Services. +// +// A UUID is a 16 byte (128 bit) array. UUIDs may be used as keys to +// maps or compared directly. +package uuid diff --git a/vendor/github.com/google/uuid/go.mod b/vendor/github.com/google/uuid/go.mod new file mode 100644 index 000000000..fc84cd79d --- /dev/null +++ b/vendor/github.com/google/uuid/go.mod @@ -0,0 +1 @@ +module github.com/google/uuid diff --git a/vendor/github.com/google/uuid/hash.go b/vendor/github.com/google/uuid/hash.go new file mode 100644 index 000000000..b17461631 --- /dev/null +++ b/vendor/github.com/google/uuid/hash.go @@ -0,0 +1,53 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import ( + "crypto/md5" + "crypto/sha1" + "hash" +) + +// Well known namespace IDs and UUIDs +var ( + NameSpaceDNS = Must(Parse("6ba7b810-9dad-11d1-80b4-00c04fd430c8")) + NameSpaceURL = Must(Parse("6ba7b811-9dad-11d1-80b4-00c04fd430c8")) + NameSpaceOID = Must(Parse("6ba7b812-9dad-11d1-80b4-00c04fd430c8")) + NameSpaceX500 = Must(Parse("6ba7b814-9dad-11d1-80b4-00c04fd430c8")) + Nil UUID // empty UUID, all zeros +) + +// NewHash returns a new UUID derived from the hash of space concatenated with +// data generated by h. The hash should be at least 16 byte in length. The +// first 16 bytes of the hash are used to form the UUID. The version of the +// UUID will be the lower 4 bits of version. NewHash is used to implement +// NewMD5 and NewSHA1. +func NewHash(h hash.Hash, space UUID, data []byte, version int) UUID { + h.Reset() + h.Write(space[:]) + h.Write(data) + s := h.Sum(nil) + var uuid UUID + copy(uuid[:], s) + uuid[6] = (uuid[6] & 0x0f) | uint8((version&0xf)<<4) + uuid[8] = (uuid[8] & 0x3f) | 0x80 // RFC 4122 variant + return uuid +} + +// NewMD5 returns a new MD5 (Version 3) UUID based on the +// supplied name space and data. It is the same as calling: +// +// NewHash(md5.New(), space, data, 3) +func NewMD5(space UUID, data []byte) UUID { + return NewHash(md5.New(), space, data, 3) +} + +// NewSHA1 returns a new SHA1 (Version 5) UUID based on the +// supplied name space and data. It is the same as calling: +// +// NewHash(sha1.New(), space, data, 5) +func NewSHA1(space UUID, data []byte) UUID { + return NewHash(sha1.New(), space, data, 5) +} diff --git a/vendor/github.com/google/uuid/marshal.go b/vendor/github.com/google/uuid/marshal.go new file mode 100644 index 000000000..7f9e0c6c0 --- /dev/null +++ b/vendor/github.com/google/uuid/marshal.go @@ -0,0 +1,37 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import "fmt" + +// MarshalText implements encoding.TextMarshaler. +func (uuid UUID) MarshalText() ([]byte, error) { + var js [36]byte + encodeHex(js[:], uuid) + return js[:], nil +} + +// UnmarshalText implements encoding.TextUnmarshaler. +func (uuid *UUID) UnmarshalText(data []byte) error { + id, err := ParseBytes(data) + if err == nil { + *uuid = id + } + return err +} + +// MarshalBinary implements encoding.BinaryMarshaler. +func (uuid UUID) MarshalBinary() ([]byte, error) { + return uuid[:], nil +} + +// UnmarshalBinary implements encoding.BinaryUnmarshaler. +func (uuid *UUID) UnmarshalBinary(data []byte) error { + if len(data) != 16 { + return fmt.Errorf("invalid UUID (got %d bytes)", len(data)) + } + copy(uuid[:], data) + return nil +} diff --git a/vendor/github.com/google/uuid/node.go b/vendor/github.com/google/uuid/node.go new file mode 100644 index 000000000..3e4e90dc4 --- /dev/null +++ b/vendor/github.com/google/uuid/node.go @@ -0,0 +1,89 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import ( + "sync" +) + +var ( + nodeMu sync.Mutex + ifname string // name of interface being used + nodeID [6]byte // hardware for version 1 UUIDs + zeroID [6]byte // nodeID with only 0's +) + +// NodeInterface returns the name of the interface from which the NodeID was +// derived. The interface "user" is returned if the NodeID was set by +// SetNodeID. +func NodeInterface() string { + defer nodeMu.Unlock() + nodeMu.Lock() + return ifname +} + +// SetNodeInterface selects the hardware address to be used for Version 1 UUIDs. +// If name is "" then the first usable interface found will be used or a random +// Node ID will be generated. If a named interface cannot be found then false +// is returned. +// +// SetNodeInterface never fails when name is "". +func SetNodeInterface(name string) bool { + defer nodeMu.Unlock() + nodeMu.Lock() + return setNodeInterface(name) +} + +func setNodeInterface(name string) bool { + iname, addr := getHardwareInterface(name) // null implementation for js + if iname != "" && addr != nil { + ifname = iname + copy(nodeID[:], addr) + return true + } + + // We found no interfaces with a valid hardware address. If name + // does not specify a specific interface generate a random Node ID + // (section 4.1.6) + if name == "" { + randomBits(nodeID[:]) + return true + } + return false +} + +// NodeID returns a slice of a copy of the current Node ID, setting the Node ID +// if not already set. +func NodeID() []byte { + defer nodeMu.Unlock() + nodeMu.Lock() + if nodeID == zeroID { + setNodeInterface("") + } + nid := nodeID + return nid[:] +} + +// SetNodeID sets the Node ID to be used for Version 1 UUIDs. The first 6 bytes +// of id are used. If id is less than 6 bytes then false is returned and the +// Node ID is not set. +func SetNodeID(id []byte) bool { + if len(id) < 6 { + return false + } + defer nodeMu.Unlock() + nodeMu.Lock() + copy(nodeID[:], id) + ifname = "user" + return true +} + +// NodeID returns the 6 byte node id encoded in uuid. It returns nil if uuid is +// not valid. The NodeID is only well defined for version 1 and 2 UUIDs. +func (uuid UUID) NodeID() []byte { + var node [6]byte + copy(node[:], uuid[10:]) + return node[:] +} diff --git a/vendor/github.com/google/uuid/node_js.go b/vendor/github.com/google/uuid/node_js.go new file mode 100644 index 000000000..24b78edc9 --- /dev/null +++ b/vendor/github.com/google/uuid/node_js.go @@ -0,0 +1,12 @@ +// Copyright 2017 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build js + +package uuid + +// getHardwareInterface returns nil values for the JS version of the code. +// This remvoves the "net" dependency, because it is not used in the browser. +// Using the "net" library inflates the size of the transpiled JS code by 673k bytes. +func getHardwareInterface(name string) (string, []byte) { return "", nil } diff --git a/vendor/github.com/google/uuid/node_net.go b/vendor/github.com/google/uuid/node_net.go new file mode 100644 index 000000000..0cbbcddbd --- /dev/null +++ b/vendor/github.com/google/uuid/node_net.go @@ -0,0 +1,33 @@ +// Copyright 2017 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !js + +package uuid + +import "net" + +var interfaces []net.Interface // cached list of interfaces + +// getHardwareInterface returns the name and hardware address of interface name. +// If name is "" then the name and hardware address of one of the system's +// interfaces is returned. If no interfaces are found (name does not exist or +// there are no interfaces) then "", nil is returned. +// +// Only addresses of at least 6 bytes are returned. +func getHardwareInterface(name string) (string, []byte) { + if interfaces == nil { + var err error + interfaces, err = net.Interfaces() + if err != nil { + return "", nil + } + } + for _, ifs := range interfaces { + if len(ifs.HardwareAddr) >= 6 && (name == "" || name == ifs.Name) { + return ifs.Name, ifs.HardwareAddr + } + } + return "", nil +} diff --git a/vendor/github.com/google/uuid/sql.go b/vendor/github.com/google/uuid/sql.go new file mode 100644 index 000000000..f326b54db --- /dev/null +++ b/vendor/github.com/google/uuid/sql.go @@ -0,0 +1,59 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import ( + "database/sql/driver" + "fmt" +) + +// Scan implements sql.Scanner so UUIDs can be read from databases transparently +// Currently, database types that map to string and []byte are supported. Please +// consult database-specific driver documentation for matching types. +func (uuid *UUID) Scan(src interface{}) error { + switch src := src.(type) { + case nil: + return nil + + case string: + // if an empty UUID comes from a table, we return a null UUID + if src == "" { + return nil + } + + // see Parse for required string format + u, err := Parse(src) + if err != nil { + return fmt.Errorf("Scan: %v", err) + } + + *uuid = u + + case []byte: + // if an empty UUID comes from a table, we return a null UUID + if len(src) == 0 { + return nil + } + + // assumes a simple slice of bytes if 16 bytes + // otherwise attempts to parse + if len(src) != 16 { + return uuid.Scan(string(src)) + } + copy((*uuid)[:], src) + + default: + return fmt.Errorf("Scan: unable to scan type %T into UUID", src) + } + + return nil +} + +// Value implements sql.Valuer so that UUIDs can be written to databases +// transparently. Currently, UUIDs map to strings. Please consult +// database-specific driver documentation for matching types. +func (uuid UUID) Value() (driver.Value, error) { + return uuid.String(), nil +} diff --git a/vendor/github.com/google/uuid/time.go b/vendor/github.com/google/uuid/time.go new file mode 100644 index 000000000..e6ef06cdc --- /dev/null +++ b/vendor/github.com/google/uuid/time.go @@ -0,0 +1,123 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import ( + "encoding/binary" + "sync" + "time" +) + +// A Time represents a time as the number of 100's of nanoseconds since 15 Oct +// 1582. +type Time int64 + +const ( + lillian = 2299160 // Julian day of 15 Oct 1582 + unix = 2440587 // Julian day of 1 Jan 1970 + epoch = unix - lillian // Days between epochs + g1582 = epoch * 86400 // seconds between epochs + g1582ns100 = g1582 * 10000000 // 100s of a nanoseconds between epochs +) + +var ( + timeMu sync.Mutex + lasttime uint64 // last time we returned + clockSeq uint16 // clock sequence for this run + + timeNow = time.Now // for testing +) + +// UnixTime converts t the number of seconds and nanoseconds using the Unix +// epoch of 1 Jan 1970. +func (t Time) UnixTime() (sec, nsec int64) { + sec = int64(t - g1582ns100) + nsec = (sec % 10000000) * 100 + sec /= 10000000 + return sec, nsec +} + +// GetTime returns the current Time (100s of nanoseconds since 15 Oct 1582) and +// clock sequence as well as adjusting the clock sequence as needed. An error +// is returned if the current time cannot be determined. +func GetTime() (Time, uint16, error) { + defer timeMu.Unlock() + timeMu.Lock() + return getTime() +} + +func getTime() (Time, uint16, error) { + t := timeNow() + + // If we don't have a clock sequence already, set one. + if clockSeq == 0 { + setClockSequence(-1) + } + now := uint64(t.UnixNano()/100) + g1582ns100 + + // If time has gone backwards with this clock sequence then we + // increment the clock sequence + if now <= lasttime { + clockSeq = ((clockSeq + 1) & 0x3fff) | 0x8000 + } + lasttime = now + return Time(now), clockSeq, nil +} + +// ClockSequence returns the current clock sequence, generating one if not +// already set. The clock sequence is only used for Version 1 UUIDs. +// +// The uuid package does not use global static storage for the clock sequence or +// the last time a UUID was generated. Unless SetClockSequence is used, a new +// random clock sequence is generated the first time a clock sequence is +// requested by ClockSequence, GetTime, or NewUUID. (section 4.2.1.1) +func ClockSequence() int { + defer timeMu.Unlock() + timeMu.Lock() + return clockSequence() +} + +func clockSequence() int { + if clockSeq == 0 { + setClockSequence(-1) + } + return int(clockSeq & 0x3fff) +} + +// SetClockSequence sets the clock sequence to the lower 14 bits of seq. Setting to +// -1 causes a new sequence to be generated. +func SetClockSequence(seq int) { + defer timeMu.Unlock() + timeMu.Lock() + setClockSequence(seq) +} + +func setClockSequence(seq int) { + if seq == -1 { + var b [2]byte + randomBits(b[:]) // clock sequence + seq = int(b[0])<<8 | int(b[1]) + } + oldSeq := clockSeq + clockSeq = uint16(seq&0x3fff) | 0x8000 // Set our variant + if oldSeq != clockSeq { + lasttime = 0 + } +} + +// Time returns the time in 100s of nanoseconds since 15 Oct 1582 encoded in +// uuid. The time is only defined for version 1 and 2 UUIDs. +func (uuid UUID) Time() Time { + time := int64(binary.BigEndian.Uint32(uuid[0:4])) + time |= int64(binary.BigEndian.Uint16(uuid[4:6])) << 32 + time |= int64(binary.BigEndian.Uint16(uuid[6:8])&0xfff) << 48 + return Time(time) +} + +// ClockSequence returns the clock sequence encoded in uuid. +// The clock sequence is only well defined for version 1 and 2 UUIDs. +func (uuid UUID) ClockSequence() int { + return int(binary.BigEndian.Uint16(uuid[8:10])) & 0x3fff +} diff --git a/vendor/github.com/google/uuid/util.go b/vendor/github.com/google/uuid/util.go new file mode 100644 index 000000000..5ea6c7378 --- /dev/null +++ b/vendor/github.com/google/uuid/util.go @@ -0,0 +1,43 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import ( + "io" +) + +// randomBits completely fills slice b with random data. +func randomBits(b []byte) { + if _, err := io.ReadFull(rander, b); err != nil { + panic(err.Error()) // rand should never fail + } +} + +// xvalues returns the value of a byte as a hexadecimal digit or 255. +var xvalues = [256]byte{ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 255, 255, 255, 255, 255, 255, + 255, 10, 11, 12, 13, 14, 15, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 10, 11, 12, 13, 14, 15, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, +} + +// xtob converts hex characters x1 and x2 into a byte. +func xtob(x1, x2 byte) (byte, bool) { + b1 := xvalues[x1] + b2 := xvalues[x2] + return (b1 << 4) | b2, b1 != 255 && b2 != 255 +} diff --git a/vendor/github.com/google/uuid/uuid.go b/vendor/github.com/google/uuid/uuid.go new file mode 100644 index 000000000..524404cc5 --- /dev/null +++ b/vendor/github.com/google/uuid/uuid.go @@ -0,0 +1,245 @@ +// Copyright 2018 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import ( + "bytes" + "crypto/rand" + "encoding/hex" + "errors" + "fmt" + "io" + "strings" +) + +// A UUID is a 128 bit (16 byte) Universal Unique IDentifier as defined in RFC +// 4122. +type UUID [16]byte + +// A Version represents a UUID's version. +type Version byte + +// A Variant represents a UUID's variant. +type Variant byte + +// Constants returned by Variant. +const ( + Invalid = Variant(iota) // Invalid UUID + RFC4122 // The variant specified in RFC4122 + Reserved // Reserved, NCS backward compatibility. + Microsoft // Reserved, Microsoft Corporation backward compatibility. + Future // Reserved for future definition. +) + +var rander = rand.Reader // random function + +// Parse decodes s into a UUID or returns an error. Both the standard UUID +// forms of xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx and +// urn:uuid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx are decoded as well as the +// Microsoft encoding {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} and the raw hex +// encoding: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. +func Parse(s string) (UUID, error) { + var uuid UUID + switch len(s) { + // xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + case 36: + + // urn:uuid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + case 36 + 9: + if strings.ToLower(s[:9]) != "urn:uuid:" { + return uuid, fmt.Errorf("invalid urn prefix: %q", s[:9]) + } + s = s[9:] + + // {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} + case 36 + 2: + s = s[1:] + + // xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + case 32: + var ok bool + for i := range uuid { + uuid[i], ok = xtob(s[i*2], s[i*2+1]) + if !ok { + return uuid, errors.New("invalid UUID format") + } + } + return uuid, nil + default: + return uuid, fmt.Errorf("invalid UUID length: %d", len(s)) + } + // s is now at least 36 bytes long + // it must be of the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + if s[8] != '-' || s[13] != '-' || s[18] != '-' || s[23] != '-' { + return uuid, errors.New("invalid UUID format") + } + for i, x := range [16]int{ + 0, 2, 4, 6, + 9, 11, + 14, 16, + 19, 21, + 24, 26, 28, 30, 32, 34} { + v, ok := xtob(s[x], s[x+1]) + if !ok { + return uuid, errors.New("invalid UUID format") + } + uuid[i] = v + } + return uuid, nil +} + +// ParseBytes is like Parse, except it parses a byte slice instead of a string. +func ParseBytes(b []byte) (UUID, error) { + var uuid UUID + switch len(b) { + case 36: // xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + case 36 + 9: // urn:uuid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + if !bytes.Equal(bytes.ToLower(b[:9]), []byte("urn:uuid:")) { + return uuid, fmt.Errorf("invalid urn prefix: %q", b[:9]) + } + b = b[9:] + case 36 + 2: // {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} + b = b[1:] + case 32: // xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + var ok bool + for i := 0; i < 32; i += 2 { + uuid[i/2], ok = xtob(b[i], b[i+1]) + if !ok { + return uuid, errors.New("invalid UUID format") + } + } + return uuid, nil + default: + return uuid, fmt.Errorf("invalid UUID length: %d", len(b)) + } + // s is now at least 36 bytes long + // it must be of the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + if b[8] != '-' || b[13] != '-' || b[18] != '-' || b[23] != '-' { + return uuid, errors.New("invalid UUID format") + } + for i, x := range [16]int{ + 0, 2, 4, 6, + 9, 11, + 14, 16, + 19, 21, + 24, 26, 28, 30, 32, 34} { + v, ok := xtob(b[x], b[x+1]) + if !ok { + return uuid, errors.New("invalid UUID format") + } + uuid[i] = v + } + return uuid, nil +} + +// MustParse is like Parse but panics if the string cannot be parsed. +// It simplifies safe initialization of global variables holding compiled UUIDs. +func MustParse(s string) UUID { + uuid, err := Parse(s) + if err != nil { + panic(`uuid: Parse(` + s + `): ` + err.Error()) + } + return uuid +} + +// FromBytes creates a new UUID from a byte slice. Returns an error if the slice +// does not have a length of 16. The bytes are copied from the slice. +func FromBytes(b []byte) (uuid UUID, err error) { + err = uuid.UnmarshalBinary(b) + return uuid, err +} + +// Must returns uuid if err is nil and panics otherwise. +func Must(uuid UUID, err error) UUID { + if err != nil { + panic(err) + } + return uuid +} + +// String returns the string form of uuid, xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx +// , or "" if uuid is invalid. +func (uuid UUID) String() string { + var buf [36]byte + encodeHex(buf[:], uuid) + return string(buf[:]) +} + +// URN returns the RFC 2141 URN form of uuid, +// urn:uuid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, or "" if uuid is invalid. +func (uuid UUID) URN() string { + var buf [36 + 9]byte + copy(buf[:], "urn:uuid:") + encodeHex(buf[9:], uuid) + return string(buf[:]) +} + +func encodeHex(dst []byte, uuid UUID) { + hex.Encode(dst, uuid[:4]) + dst[8] = '-' + hex.Encode(dst[9:13], uuid[4:6]) + dst[13] = '-' + hex.Encode(dst[14:18], uuid[6:8]) + dst[18] = '-' + hex.Encode(dst[19:23], uuid[8:10]) + dst[23] = '-' + hex.Encode(dst[24:], uuid[10:]) +} + +// Variant returns the variant encoded in uuid. +func (uuid UUID) Variant() Variant { + switch { + case (uuid[8] & 0xc0) == 0x80: + return RFC4122 + case (uuid[8] & 0xe0) == 0xc0: + return Microsoft + case (uuid[8] & 0xe0) == 0xe0: + return Future + default: + return Reserved + } +} + +// Version returns the version of uuid. +func (uuid UUID) Version() Version { + return Version(uuid[6] >> 4) +} + +func (v Version) String() string { + if v > 15 { + return fmt.Sprintf("BAD_VERSION_%d", v) + } + return fmt.Sprintf("VERSION_%d", v) +} + +func (v Variant) String() string { + switch v { + case RFC4122: + return "RFC4122" + case Reserved: + return "Reserved" + case Microsoft: + return "Microsoft" + case Future: + return "Future" + case Invalid: + return "Invalid" + } + return fmt.Sprintf("BadVariant%d", int(v)) +} + +// SetRand sets the random number generator to r, which implements io.Reader. +// If r.Read returns an error when the package requests random data then +// a panic will be issued. +// +// Calling SetRand with nil sets the random number generator to the default +// generator. +func SetRand(r io.Reader) { + if r == nil { + rander = rand.Reader + return + } + rander = r +} diff --git a/vendor/github.com/google/uuid/version1.go b/vendor/github.com/google/uuid/version1.go new file mode 100644 index 000000000..199a1ac65 --- /dev/null +++ b/vendor/github.com/google/uuid/version1.go @@ -0,0 +1,44 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import ( + "encoding/binary" +) + +// NewUUID returns a Version 1 UUID based on the current NodeID and clock +// sequence, and the current time. If the NodeID has not been set by SetNodeID +// or SetNodeInterface then it will be set automatically. If the NodeID cannot +// be set NewUUID returns nil. If clock sequence has not been set by +// SetClockSequence then it will be set automatically. If GetTime fails to +// return the current NewUUID returns nil and an error. +// +// In most cases, New should be used. +func NewUUID() (UUID, error) { + nodeMu.Lock() + if nodeID == zeroID { + setNodeInterface("") + } + nodeMu.Unlock() + + var uuid UUID + now, seq, err := GetTime() + if err != nil { + return uuid, err + } + + timeLow := uint32(now & 0xffffffff) + timeMid := uint16((now >> 32) & 0xffff) + timeHi := uint16((now >> 48) & 0x0fff) + timeHi |= 0x1000 // Version 1 + + binary.BigEndian.PutUint32(uuid[0:], timeLow) + binary.BigEndian.PutUint16(uuid[4:], timeMid) + binary.BigEndian.PutUint16(uuid[6:], timeHi) + binary.BigEndian.PutUint16(uuid[8:], seq) + copy(uuid[10:], nodeID[:]) + + return uuid, nil +} diff --git a/vendor/github.com/google/uuid/version4.go b/vendor/github.com/google/uuid/version4.go new file mode 100644 index 000000000..84af91c9f --- /dev/null +++ b/vendor/github.com/google/uuid/version4.go @@ -0,0 +1,38 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import "io" + +// New creates a new random UUID or panics. New is equivalent to +// the expression +// +// uuid.Must(uuid.NewRandom()) +func New() UUID { + return Must(NewRandom()) +} + +// NewRandom returns a Random (Version 4) UUID. +// +// The strength of the UUIDs is based on the strength of the crypto/rand +// package. +// +// A note about uniqueness derived from the UUID Wikipedia entry: +// +// Randomly generated UUIDs have 122 random bits. One's annual risk of being +// hit by a meteorite is estimated to be one chance in 17 billion, that +// means the probability is about 0.00000000006 (6 × 10−11), +// equivalent to the odds of creating a few tens of trillions of UUIDs in a +// year and having one duplicate. +func NewRandom() (UUID, error) { + var uuid UUID + _, err := io.ReadFull(rander, uuid[:]) + if err != nil { + return Nil, err + } + uuid[6] = (uuid[6] & 0x0f) | 0x40 // Version 4 + uuid[8] = (uuid[8] & 0x3f) | 0x80 // Variant is 10 + return uuid, nil +} diff --git a/vendor/github.com/hashicorp/yamux/.gitignore b/vendor/github.com/hashicorp/yamux/.gitignore new file mode 100644 index 000000000..836562412 --- /dev/null +++ b/vendor/github.com/hashicorp/yamux/.gitignore @@ -0,0 +1,23 @@ +# Compiled Object files, Static and Dynamic libs (Shared Objects) +*.o +*.a +*.so + +# Folders +_obj +_test + +# Architecture specific extensions/prefixes +*.[568vq] +[568vq].out + +*.cgo1.go +*.cgo2.c +_cgo_defun.c +_cgo_gotypes.go +_cgo_export.* + +_testmain.go + +*.exe +*.test diff --git a/vendor/github.com/hashicorp/yamux/LICENSE b/vendor/github.com/hashicorp/yamux/LICENSE new file mode 100644 index 000000000..f0e5c79e1 --- /dev/null +++ b/vendor/github.com/hashicorp/yamux/LICENSE @@ -0,0 +1,362 @@ +Mozilla Public License, version 2.0 + +1. Definitions + +1.1. "Contributor" + + means each individual or legal entity that creates, contributes to the + creation of, or owns Covered Software. + +1.2. "Contributor Version" + + means the combination of the Contributions of others (if any) used by a + Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + + means Source Code Form to which the initial Contributor has attached the + notice in Exhibit A, the Executable Form of such Source Code Form, and + Modifications of such Source Code Form, in each case including portions + thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + a. that the initial Contributor has attached the notice described in + Exhibit B to the Covered Software; or + + b. that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the terms of + a Secondary License. + +1.6. "Executable Form" + + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + + means a work that combines Covered Software with other material, in a + separate file or files, that is not Covered Software. + +1.8. "License" + + means this document. + +1.9. "Licensable" + + means having the right to grant, to the maximum extent possible, whether + at the time of the initial grant or subsequently, any and all of the + rights conveyed by this License. + +1.10. "Modifications" + + means any of the following: + + a. any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered Software; or + + b. any new file in Source Code Form that contains any Covered Software. + +1.11. "Patent Claims" of a Contributor + + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the License, + by the making, using, selling, offering for sale, having made, import, + or transfer of either its Contributions or its Contributor Version. + +1.12. "Secondary License" + + means either the GNU General Public License, Version 2.0, the GNU Lesser + General Public License, Version 2.1, the GNU Affero General Public + License, Version 3.0, or any later versions of those licenses. + +1.13. "Source Code Form" + + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that controls, is + controlled by, or is under common control with You. For purposes of this + definition, "control" means (a) the power, direct or indirect, to cause + the direction or management of such entity, whether by contract or + otherwise, or (b) ownership of more than fifty percent (50%) of the + outstanding shares or beneficial ownership of such entity. + + +2. License Grants and Conditions + +2.1. Grants + + Each Contributor hereby grants You a world-wide, royalty-free, + non-exclusive license: + + a. under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + + b. under Patent Claims of such Contributor to make, use, sell, offer for + sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + + The licenses granted in Section 2.1 with respect to any Contribution + become effective for each Contribution on the date the Contributor first + distributes such Contribution. + +2.3. Limitations on Grant Scope + + The licenses granted in this Section 2 are the only rights granted under + this License. No additional rights or licenses will be implied from the + distribution or licensing of Covered Software under this License. + Notwithstanding Section 2.1(b) above, no patent license is granted by a + Contributor: + + a. for any code that a Contributor has removed from Covered Software; or + + b. for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + + c. under Patent Claims infringed by Covered Software in the absence of + its Contributions. + + This License does not grant any rights in the trademarks, service marks, + or logos of any Contributor (except as may be necessary to comply with + the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + + No Contributor makes additional grants as a result of Your choice to + distribute the Covered Software under a subsequent version of this + License (see Section 10.2) or under the terms of a Secondary License (if + permitted under the terms of Section 3.3). + +2.5. Representation + + Each Contributor represents that the Contributor believes its + Contributions are its original creation(s) or it has sufficient rights to + grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + + This License is not intended to limit any rights You have under + applicable copyright doctrines of fair use, fair dealing, or other + equivalents. + +2.7. Conditions + + Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in + Section 2.1. + + +3. Responsibilities + +3.1. Distribution of Source Form + + All distribution of Covered Software in Source Code Form, including any + Modifications that You create or to which You contribute, must be under + the terms of this License. You must inform recipients that the Source + Code Form of the Covered Software is governed by the terms of this + License, and how they can obtain a copy of this License. You may not + attempt to alter or restrict the recipients' rights in the Source Code + Form. + +3.2. Distribution of Executable Form + + If You distribute Covered Software in Executable Form then: + + a. such Covered Software must also be made available in Source Code Form, + as described in Section 3.1, and You must inform recipients of the + Executable Form how they can obtain a copy of such Source Code Form by + reasonable means in a timely manner, at a charge no more than the cost + of distribution to the recipient; and + + b. You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter the + recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + + You may create and distribute a Larger Work under terms of Your choice, + provided that You also comply with the requirements of this License for + the Covered Software. If the Larger Work is a combination of Covered + Software with a work governed by one or more Secondary Licenses, and the + Covered Software is not Incompatible With Secondary Licenses, this + License permits You to additionally distribute such Covered Software + under the terms of such Secondary License(s), so that the recipient of + the Larger Work may, at their option, further distribute the Covered + Software under the terms of either this License or such Secondary + License(s). + +3.4. Notices + + You may not remove or alter the substance of any license notices + (including copyright notices, patent notices, disclaimers of warranty, or + limitations of liability) contained within the Source Code Form of the + Covered Software, except that You may alter any license notices to the + extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + + You may choose to offer, and to charge a fee for, warranty, support, + indemnity or liability obligations to one or more recipients of Covered + Software. However, You may do so only on Your own behalf, and not on + behalf of any Contributor. You must make it absolutely clear that any + such warranty, support, indemnity, or liability obligation is offered by + You alone, and You hereby agree to indemnify every Contributor for any + liability incurred by such Contributor as a result of warranty, support, + indemnity or liability terms You offer. You may include additional + disclaimers of warranty and limitations of liability specific to any + jurisdiction. + +4. Inability to Comply Due to Statute or Regulation + + If it is impossible for You to comply with any of the terms of this License + with respect to some or all of the Covered Software due to statute, + judicial order, or regulation then You must: (a) comply with the terms of + this License to the maximum extent possible; and (b) describe the + limitations and the code they affect. Such description must be placed in a + text file included with all distributions of the Covered Software under + this License. Except to the extent prohibited by statute or regulation, + such description must be sufficiently detailed for a recipient of ordinary + skill to be able to understand it. + +5. Termination + +5.1. The rights granted under this License will terminate automatically if You + fail to comply with any of its terms. However, if You become compliant, + then the rights granted under this License from a particular Contributor + are reinstated (a) provisionally, unless and until such Contributor + explicitly and finally terminates Your grants, and (b) on an ongoing + basis, if such Contributor fails to notify You of the non-compliance by + some reasonable means prior to 60 days after You have come back into + compliance. Moreover, Your grants from a particular Contributor are + reinstated on an ongoing basis if such Contributor notifies You of the + non-compliance by some reasonable means, this is the first time You have + received notice of non-compliance with this License from such + Contributor, and You become compliant prior to 30 days after Your receipt + of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent + infringement claim (excluding declaratory judgment actions, + counter-claims, and cross-claims) alleging that a Contributor Version + directly or indirectly infringes any patent, then the rights granted to + You by any and all Contributors for the Covered Software under Section + 2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user + license agreements (excluding distributors and resellers) which have been + validly granted by You or Your distributors under this License prior to + termination shall survive termination. + +6. Disclaimer of Warranty + + Covered Software is provided under this License on an "as is" basis, + without warranty of any kind, either expressed, implied, or statutory, + including, without limitation, warranties that the Covered Software is free + of defects, merchantable, fit for a particular purpose or non-infringing. + The entire risk as to the quality and performance of the Covered Software + is with You. Should any Covered Software prove defective in any respect, + You (not any Contributor) assume the cost of any necessary servicing, + repair, or correction. This disclaimer of warranty constitutes an essential + part of this License. No use of any Covered Software is authorized under + this License except under this disclaimer. + +7. Limitation of Liability + + Under no circumstances and under no legal theory, whether tort (including + negligence), contract, or otherwise, shall any Contributor, or anyone who + distributes Covered Software as permitted above, be liable to You for any + direct, indirect, special, incidental, or consequential damages of any + character including, without limitation, damages for lost profits, loss of + goodwill, work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses, even if such party shall have been + informed of the possibility of such damages. This limitation of liability + shall not apply to liability for death or personal injury resulting from + such party's negligence to the extent applicable law prohibits such + limitation. Some jurisdictions do not allow the exclusion or limitation of + incidental or consequential damages, so this exclusion and limitation may + not apply to You. + +8. Litigation + + Any litigation relating to this License may be brought only in the courts + of a jurisdiction where the defendant maintains its principal place of + business and such litigation shall be governed by laws of that + jurisdiction, without reference to its conflict-of-law provisions. Nothing + in this Section shall prevent a party's ability to bring cross-claims or + counter-claims. + +9. Miscellaneous + + This License represents the complete agreement concerning the subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. Any law or regulation which provides that + the language of a contract shall be construed against the drafter shall not + be used to construe this License against a Contributor. + + +10. Versions of the License + +10.1. New Versions + + Mozilla Foundation is the license steward. Except as provided in Section + 10.3, no one other than the license steward has the right to modify or + publish new versions of this License. Each version will be given a + distinguishing version number. + +10.2. Effect of New Versions + + You may distribute the Covered Software under the terms of the version + of the License under which You originally received the Covered Software, + or under the terms of any subsequent version published by the license + steward. + +10.3. Modified Versions + + If you create software not governed by this License, and you want to + create a new license for such software, you may create and use a + modified version of this License if you rename the license and remove + any references to the name of the license steward (except to note that + such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary + Licenses If You choose to distribute Source Code Form that is + Incompatible With Secondary Licenses under the terms of this version of + the License, the notice described in Exhibit B of this License must be + attached. + +Exhibit A - Source Code Form License Notice + + This Source Code Form is subject to the + terms of the Mozilla Public License, v. + 2.0. If a copy of the MPL was not + distributed with this file, You can + obtain one at + http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular file, +then You may include the notice in a location (such as a LICENSE file in a +relevant directory) where a recipient would be likely to look for such a +notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice + + This Source Code Form is "Incompatible + With Secondary Licenses", as defined by + the Mozilla Public License, v. 2.0. \ No newline at end of file diff --git a/vendor/github.com/hashicorp/yamux/README.md b/vendor/github.com/hashicorp/yamux/README.md new file mode 100644 index 000000000..d4db7fc99 --- /dev/null +++ b/vendor/github.com/hashicorp/yamux/README.md @@ -0,0 +1,86 @@ +# Yamux + +Yamux (Yet another Multiplexer) is a multiplexing library for Golang. +It relies on an underlying connection to provide reliability +and ordering, such as TCP or Unix domain sockets, and provides +stream-oriented multiplexing. It is inspired by SPDY but is not +interoperable with it. + +Yamux features include: + +* Bi-directional streams + * Streams can be opened by either client or server + * Useful for NAT traversal + * Server-side push support +* Flow control + * Avoid starvation + * Back-pressure to prevent overwhelming a receiver +* Keep Alives + * Enables persistent connections over a load balancer +* Efficient + * Enables thousands of logical streams with low overhead + +## Documentation + +For complete documentation, see the associated [Godoc](http://godoc.org/github.com/hashicorp/yamux). + +## Specification + +The full specification for Yamux is provided in the `spec.md` file. +It can be used as a guide to implementors of interoperable libraries. + +## Usage + +Using Yamux is remarkably simple: + +```go + +func client() { + // Get a TCP connection + conn, err := net.Dial(...) + if err != nil { + panic(err) + } + + // Setup client side of yamux + session, err := yamux.Client(conn, nil) + if err != nil { + panic(err) + } + + // Open a new stream + stream, err := session.Open() + if err != nil { + panic(err) + } + + // Stream implements net.Conn + stream.Write([]byte("ping")) +} + +func server() { + // Accept a TCP connection + conn, err := listener.Accept() + if err != nil { + panic(err) + } + + // Setup server side of yamux + session, err := yamux.Server(conn, nil) + if err != nil { + panic(err) + } + + // Accept a stream + stream, err := session.Accept() + if err != nil { + panic(err) + } + + // Listen for a message + buf := make([]byte, 4) + stream.Read(buf) +} + +``` + diff --git a/vendor/github.com/hashicorp/yamux/addr.go b/vendor/github.com/hashicorp/yamux/addr.go new file mode 100644 index 000000000..be6ebca9c --- /dev/null +++ b/vendor/github.com/hashicorp/yamux/addr.go @@ -0,0 +1,60 @@ +package yamux + +import ( + "fmt" + "net" +) + +// hasAddr is used to get the address from the underlying connection +type hasAddr interface { + LocalAddr() net.Addr + RemoteAddr() net.Addr +} + +// yamuxAddr is used when we cannot get the underlying address +type yamuxAddr struct { + Addr string +} + +func (*yamuxAddr) Network() string { + return "yamux" +} + +func (y *yamuxAddr) String() string { + return fmt.Sprintf("yamux:%s", y.Addr) +} + +// Addr is used to get the address of the listener. +func (s *Session) Addr() net.Addr { + return s.LocalAddr() +} + +// LocalAddr is used to get the local address of the +// underlying connection. +func (s *Session) LocalAddr() net.Addr { + addr, ok := s.conn.(hasAddr) + if !ok { + return &yamuxAddr{"local"} + } + return addr.LocalAddr() +} + +// RemoteAddr is used to get the address of remote end +// of the underlying connection +func (s *Session) RemoteAddr() net.Addr { + addr, ok := s.conn.(hasAddr) + if !ok { + return &yamuxAddr{"remote"} + } + return addr.RemoteAddr() +} + +// LocalAddr returns the local address +func (s *Stream) LocalAddr() net.Addr { + return s.session.LocalAddr() +} + +// LocalAddr returns the remote address +func (s *Stream) RemoteAddr() net.Addr { + return s.session.RemoteAddr() +} diff --git a/vendor/github.com/hashicorp/yamux/const.go b/vendor/github.com/hashicorp/yamux/const.go new file mode 100644 index 000000000..4f5293828 --- /dev/null +++ b/vendor/github.com/hashicorp/yamux/const.go @@ -0,0 +1,157 @@ +package yamux + +import ( + "encoding/binary" + "fmt" +) + +var ( + // ErrInvalidVersion means we received a frame with an + // invalid version + ErrInvalidVersion = fmt.Errorf("invalid protocol version") + + // ErrInvalidMsgType means we received a frame with an + // invalid message type + ErrInvalidMsgType = fmt.Errorf("invalid msg type") + + // ErrSessionShutdown is used if there is a shutdown during + // an operation + ErrSessionShutdown = fmt.Errorf("session shutdown") + + // ErrStreamsExhausted is returned if we have no more + // stream ids to issue + ErrStreamsExhausted = fmt.Errorf("streams exhausted") + + // ErrDuplicateStream is used if a duplicate stream is + // opened inbound + ErrDuplicateStream = fmt.Errorf("duplicate stream initiated") + + // ErrReceiveWindowExceeded indicates the window was exceeded + ErrRecvWindowExceeded = fmt.Errorf("recv window exceeded") + + // ErrTimeout is used when we reach an IO deadline + ErrTimeout = fmt.Errorf("i/o deadline reached") + + // ErrStreamClosed is returned when using a closed stream + ErrStreamClosed = fmt.Errorf("stream closed") + + // ErrUnexpectedFlag is set when we get an unexpected flag + ErrUnexpectedFlag = fmt.Errorf("unexpected flag") + + // ErrRemoteGoAway is used when we get a go away from the other side + ErrRemoteGoAway = fmt.Errorf("remote end is not accepting connections") + + // ErrConnectionReset is sent if a stream is reset. This can happen + // if the backlog is exceeded, or if there was a remote GoAway. + ErrConnectionReset = fmt.Errorf("connection reset") + + // ErrConnectionWriteTimeout indicates that we hit the "safety valve" + // timeout writing to the underlying stream connection. + ErrConnectionWriteTimeout = fmt.Errorf("connection write timeout") + + // ErrKeepAliveTimeout is sent if a missed keepalive caused the stream close + ErrKeepAliveTimeout = fmt.Errorf("keepalive timeout") +) + +const ( + // protoVersion is the only version we support + protoVersion uint8 = 0 +) + +const ( + // Data is used for data frames. They are followed + // by length bytes worth of payload. + typeData uint8 = iota + + // WindowUpdate is used to change the window of + // a given stream. The length indicates the delta + // update to the window. + typeWindowUpdate + + // Ping is sent as a keep-alive or to measure + // the RTT. The StreamID and Length value are echoed + // back in the response. + typePing + + // GoAway is sent to terminate a session. The StreamID + // should be 0 and the length is an error code. + typeGoAway +) + +const ( + // SYN is sent to signal a new stream. May + // be sent with a data payload + flagSYN uint16 = 1 << iota + + // ACK is sent to acknowledge a new stream. May + // be sent with a data payload + flagACK + + // FIN is sent to half-close the given stream. + // May be sent with a data payload. + flagFIN + + // RST is used to hard close a given stream. + flagRST +) + +const ( + // initialStreamWindow is the initial stream window size + initialStreamWindow uint32 = 256 * 1024 +) + +const ( + // goAwayNormal is sent on a normal termination + goAwayNormal uint32 = iota + + // goAwayProtoErr sent on a protocol error + goAwayProtoErr + + // goAwayInternalErr sent on an internal error + goAwayInternalErr +) + +const ( + sizeOfVersion = 1 + sizeOfType = 1 + sizeOfFlags = 2 + sizeOfStreamID = 4 + sizeOfLength = 4 + headerSize = sizeOfVersion + sizeOfType + sizeOfFlags + + sizeOfStreamID + sizeOfLength +) + +type header []byte + +func (h header) Version() uint8 { + return h[0] +} + +func (h header) MsgType() uint8 { + return h[1] +} + +func (h header) Flags() uint16 { + return binary.BigEndian.Uint16(h[2:4]) +} + +func (h header) StreamID() uint32 { + return binary.BigEndian.Uint32(h[4:8]) +} + +func (h header) Length() uint32 { + return binary.BigEndian.Uint32(h[8:12]) +} + +func (h header) String() string { + return fmt.Sprintf("Vsn:%d Type:%d Flags:%d StreamID:%d Length:%d", + h.Version(), h.MsgType(), h.Flags(), h.StreamID(), h.Length()) +} + +func (h header) encode(msgType uint8, flags uint16, streamID uint32, length uint32) { + h[0] = protoVersion + h[1] = msgType + binary.BigEndian.PutUint16(h[2:4], flags) + binary.BigEndian.PutUint32(h[4:8], streamID) + binary.BigEndian.PutUint32(h[8:12], length) +} diff --git a/vendor/github.com/hashicorp/yamux/go.mod b/vendor/github.com/hashicorp/yamux/go.mod new file mode 100644 index 000000000..672a0e581 --- /dev/null +++ b/vendor/github.com/hashicorp/yamux/go.mod @@ -0,0 +1 @@ +module github.com/hashicorp/yamux diff --git a/vendor/github.com/hashicorp/yamux/mux.go b/vendor/github.com/hashicorp/yamux/mux.go new file mode 100644 index 000000000..18a078c8a --- /dev/null +++ b/vendor/github.com/hashicorp/yamux/mux.go @@ -0,0 +1,98 @@ +package yamux + +import ( + "fmt" + "io" + "log" + "os" + "time" +) + +// Config is used to tune the Yamux session +type Config struct { + // AcceptBacklog is used to limit how many streams may be + // waiting an accept. + AcceptBacklog int + + // EnableKeepalive is used to do a period keep alive + // messages using a ping. + EnableKeepAlive bool + + // KeepAliveInterval is how often to perform the keep alive + KeepAliveInterval time.Duration + + // ConnectionWriteTimeout is meant to be a "safety valve" timeout after + // we which will suspect a problem with the underlying connection and + // close it. This is only applied to writes, where's there's generally + // an expectation that things will move along quickly. + ConnectionWriteTimeout time.Duration + + // MaxStreamWindowSize is used to control the maximum + // window size that we allow for a stream. + MaxStreamWindowSize uint32 + + // LogOutput is used to control the log destination. Either Logger or + // LogOutput can be set, not both. + LogOutput io.Writer + + // Logger is used to pass in the logger to be used. Either Logger or + // LogOutput can be set, not both. + Logger *log.Logger +} + +// DefaultConfig is used to return a default configuration +func DefaultConfig() *Config { + return &Config{ + AcceptBacklog: 256, + EnableKeepAlive: true, + KeepAliveInterval: 30 * time.Second, + ConnectionWriteTimeout: 10 * time.Second, + MaxStreamWindowSize: initialStreamWindow, + LogOutput: os.Stderr, + } +} + +// VerifyConfig is used to verify the sanity of configuration +func VerifyConfig(config *Config) error { + if config.AcceptBacklog <= 0 { + return fmt.Errorf("backlog must be positive") + } + if config.KeepAliveInterval == 0 { + return fmt.Errorf("keep-alive interval must be positive") + } + if config.MaxStreamWindowSize < initialStreamWindow { + return fmt.Errorf("MaxStreamWindowSize must be larger than %d", initialStreamWindow) + } + if config.LogOutput != nil && config.Logger != nil { + return fmt.Errorf("both Logger and LogOutput may not be set, select one") + } else if config.LogOutput == nil && config.Logger == nil { + return fmt.Errorf("one of Logger or LogOutput must be set, select one") + } + return nil +} + +// Server is used to initialize a new server-side connection. +// There must be at most one server-side connection. If a nil config is +// provided, the DefaultConfiguration will be used. +func Server(conn io.ReadWriteCloser, config *Config) (*Session, error) { + if config == nil { + config = DefaultConfig() + } + if err := VerifyConfig(config); err != nil { + return nil, err + } + return newSession(config, conn, false), nil +} + +// Client is used to initialize a new client-side connection. +// There must be at most one client-side connection. +func Client(conn io.ReadWriteCloser, config *Config) (*Session, error) { + if config == nil { + config = DefaultConfig() + } + + if err := VerifyConfig(config); err != nil { + return nil, err + } + return newSession(config, conn, true), nil +} diff --git a/vendor/github.com/hashicorp/yamux/session.go b/vendor/github.com/hashicorp/yamux/session.go new file mode 100644 index 000000000..a80ddec35 --- /dev/null +++ b/vendor/github.com/hashicorp/yamux/session.go @@ -0,0 +1,653 @@ +package yamux + +import ( + "bufio" + "fmt" + "io" + "io/ioutil" + "log" + "math" + "net" + "strings" + "sync" + "sync/atomic" + "time" +) + +// Session is used to wrap a reliable ordered connection and to +// multiplex it into multiple streams. +type Session struct { + // remoteGoAway indicates the remote side does + // not want futher connections. Must be first for alignment. + remoteGoAway int32 + + // localGoAway indicates that we should stop + // accepting futher connections. Must be first for alignment. + localGoAway int32 + + // nextStreamID is the next stream we should + // send. This depends if we are a client/server. + nextStreamID uint32 + + // config holds our configuration + config *Config + + // logger is used for our logs + logger *log.Logger + + // conn is the underlying connection + conn io.ReadWriteCloser + + // bufRead is a buffered reader + bufRead *bufio.Reader + + // pings is used to track inflight pings + pings map[uint32]chan struct{} + pingID uint32 + pingLock sync.Mutex + + // streams maps a stream id to a stream, and inflight has an entry + // for any outgoing stream that has not yet been established. Both are + // protected by streamLock. + streams map[uint32]*Stream + inflight map[uint32]struct{} + streamLock sync.Mutex + + // synCh acts like a semaphore. It is sized to the AcceptBacklog which + // is assumed to be symmetric between the client and server. This allows + // the client to avoid exceeding the backlog and instead blocks the open. + synCh chan struct{} + + // acceptCh is used to pass ready streams to the client + acceptCh chan *Stream + + // sendCh is used to mark a stream as ready to send, + // or to send a header out directly. + sendCh chan sendReady + + // recvDoneCh is closed when recv() exits to avoid a race + // between stream registration and stream shutdown + recvDoneCh chan struct{} + + // shutdown is used to safely close a session + shutdown bool + shutdownErr error + shutdownCh chan struct{} + shutdownLock sync.Mutex +} + +// sendReady is used to either mark a stream as ready +// or to directly send a header +type sendReady struct { + Hdr []byte + Body io.Reader + Err chan error +} + +// newSession is used to construct a new session +func newSession(config *Config, conn io.ReadWriteCloser, client bool) *Session { + logger := config.Logger + if logger == nil { + logger = log.New(config.LogOutput, "", log.LstdFlags) + } + + s := &Session{ + config: config, + logger: logger, + conn: conn, + bufRead: bufio.NewReader(conn), + pings: make(map[uint32]chan struct{}), + streams: make(map[uint32]*Stream), + inflight: make(map[uint32]struct{}), + synCh: make(chan struct{}, config.AcceptBacklog), + acceptCh: make(chan *Stream, config.AcceptBacklog), + sendCh: make(chan sendReady, 64), + recvDoneCh: make(chan struct{}), + shutdownCh: make(chan struct{}), + } + if client { + s.nextStreamID = 1 + } else { + s.nextStreamID = 2 + } + go s.recv() + go s.send() + if config.EnableKeepAlive { + go s.keepalive() + } + return s +} + +// IsClosed does a safe check to see if we have shutdown +func (s *Session) IsClosed() bool { + select { + case <-s.shutdownCh: + return true + default: + return false + } +} + +// CloseChan returns a read-only channel which is closed as +// soon as the session is closed. +func (s *Session) CloseChan() <-chan struct{} { + return s.shutdownCh +} + +// NumStreams returns the number of currently open streams +func (s *Session) NumStreams() int { + s.streamLock.Lock() + num := len(s.streams) + s.streamLock.Unlock() + return num +} + +// Open is used to create a new stream as a net.Conn +func (s *Session) Open() (net.Conn, error) { + conn, err := s.OpenStream() + if err != nil { + return nil, err + } + return conn, nil +} + +// OpenStream is used to create a new stream +func (s *Session) OpenStream() (*Stream, error) { + if s.IsClosed() { + return nil, ErrSessionShutdown + } + if atomic.LoadInt32(&s.remoteGoAway) == 1 { + return nil, ErrRemoteGoAway + } + + // Block if we have too many inflight SYNs + select { + case s.synCh <- struct{}{}: + case <-s.shutdownCh: + return nil, ErrSessionShutdown + } + +GET_ID: + // Get an ID, and check for stream exhaustion + id := atomic.LoadUint32(&s.nextStreamID) + if id >= math.MaxUint32-1 { + return nil, ErrStreamsExhausted + } + if !atomic.CompareAndSwapUint32(&s.nextStreamID, id, id+2) { + goto GET_ID + } + + // Register the stream + stream := newStream(s, id, streamInit) + s.streamLock.Lock() + s.streams[id] = stream + s.inflight[id] = struct{}{} + s.streamLock.Unlock() + + // Send the window update to create + if err := stream.sendWindowUpdate(); err != nil { + select { + case <-s.synCh: + default: + s.logger.Printf("[ERR] yamux: aborted stream open without inflight syn semaphore") + } + return nil, err + } + return stream, nil +} + +// Accept is used to block until the next available stream +// is ready to be accepted. +func (s *Session) Accept() (net.Conn, error) { + conn, err := s.AcceptStream() + if err != nil { + return nil, err + } + return conn, err +} + +// AcceptStream is used to block until the next available stream +// is ready to be accepted. +func (s *Session) AcceptStream() (*Stream, error) { + select { + case stream := <-s.acceptCh: + if err := stream.sendWindowUpdate(); err != nil { + return nil, err + } + return stream, nil + case <-s.shutdownCh: + return nil, s.shutdownErr + } +} + +// Close is used to close the session and all streams. +// Attempts to send a GoAway before closing the connection. +func (s *Session) Close() error { + s.shutdownLock.Lock() + defer s.shutdownLock.Unlock() + + if s.shutdown { + return nil + } + s.shutdown = true + if s.shutdownErr == nil { + s.shutdownErr = ErrSessionShutdown + } + close(s.shutdownCh) + s.conn.Close() + <-s.recvDoneCh + + s.streamLock.Lock() + defer s.streamLock.Unlock() + for _, stream := range s.streams { + stream.forceClose() + } + return nil +} + +// exitErr is used to handle an error that is causing the +// session to terminate. +func (s *Session) exitErr(err error) { + s.shutdownLock.Lock() + if s.shutdownErr == nil { + s.shutdownErr = err + } + s.shutdownLock.Unlock() + s.Close() +} + +// GoAway can be used to prevent accepting further +// connections. It does not close the underlying conn. +func (s *Session) GoAway() error { + return s.waitForSend(s.goAway(goAwayNormal), nil) +} + +// goAway is used to send a goAway message +func (s *Session) goAway(reason uint32) header { + atomic.SwapInt32(&s.localGoAway, 1) + hdr := header(make([]byte, headerSize)) + hdr.encode(typeGoAway, 0, 0, reason) + return hdr +} + +// Ping is used to measure the RTT response time +func (s *Session) Ping() (time.Duration, error) { + // Get a channel for the ping + ch := make(chan struct{}) + + // Get a new ping id, mark as pending + s.pingLock.Lock() + id := s.pingID + s.pingID++ + s.pings[id] = ch + s.pingLock.Unlock() + + // Send the ping request + hdr := header(make([]byte, headerSize)) + hdr.encode(typePing, flagSYN, 0, id) + if err := s.waitForSend(hdr, nil); err != nil { + return 0, err + } + + // Wait for a response + start := time.Now() + select { + case <-ch: + case <-time.After(s.config.ConnectionWriteTimeout): + s.pingLock.Lock() + delete(s.pings, id) // Ignore it if a response comes later. + s.pingLock.Unlock() + return 0, ErrTimeout + case <-s.shutdownCh: + return 0, ErrSessionShutdown + } + + // Compute the RTT + return time.Now().Sub(start), nil +} + +// keepalive is a long running goroutine that periodically does +// a ping to keep the connection alive. +func (s *Session) keepalive() { + for { + select { + case <-time.After(s.config.KeepAliveInterval): + _, err := s.Ping() + if err != nil { + if err != ErrSessionShutdown { + s.logger.Printf("[ERR] yamux: keepalive failed: %v", err) + s.exitErr(ErrKeepAliveTimeout) + } + return + } + case <-s.shutdownCh: + return + } + } +} + +// waitForSendErr waits to send a header, checking for a potential shutdown +func (s *Session) waitForSend(hdr header, body io.Reader) error { + errCh := make(chan error, 1) + return s.waitForSendErr(hdr, body, errCh) +} + +// waitForSendErr waits to send a header with optional data, checking for a +// potential shutdown. Since there's the expectation that sends can happen +// in a timely manner, we enforce the connection write timeout here. +func (s *Session) waitForSendErr(hdr header, body io.Reader, errCh chan error) error { + t := timerPool.Get() + timer := t.(*time.Timer) + timer.Reset(s.config.ConnectionWriteTimeout) + defer func() { + timer.Stop() + select { + case <-timer.C: + default: + } + timerPool.Put(t) + }() + + ready := sendReady{Hdr: hdr, Body: body, Err: errCh} + select { + case s.sendCh <- ready: + case <-s.shutdownCh: + return ErrSessionShutdown + case <-timer.C: + return ErrConnectionWriteTimeout + } + + select { + case err := <-errCh: + return err + case <-s.shutdownCh: + return ErrSessionShutdown + case <-timer.C: + return ErrConnectionWriteTimeout + } +} + +// sendNoWait does a send without waiting. Since there's the expectation that +// the send happens right here, we enforce the connection write timeout if we +// can't queue the header to be sent. +func (s *Session) sendNoWait(hdr header) error { + t := timerPool.Get() + timer := t.(*time.Timer) + timer.Reset(s.config.ConnectionWriteTimeout) + defer func() { + timer.Stop() + select { + case <-timer.C: + default: + } + timerPool.Put(t) + }() + + select { + case s.sendCh <- sendReady{Hdr: hdr}: + return nil + case <-s.shutdownCh: + return ErrSessionShutdown + case <-timer.C: + return ErrConnectionWriteTimeout + } +} + +// send is a long running goroutine that sends data +func (s *Session) send() { + for { + select { + case ready := <-s.sendCh: + // Send a header if ready + if ready.Hdr != nil { + sent := 0 + for sent < len(ready.Hdr) { + n, err := s.conn.Write(ready.Hdr[sent:]) + if err != nil { + s.logger.Printf("[ERR] yamux: Failed to write header: %v", err) + asyncSendErr(ready.Err, err) + s.exitErr(err) + return + } + sent += n + } + } + + // Send data from a body if given + if ready.Body != nil { + _, err := io.Copy(s.conn, ready.Body) + if err != nil { + s.logger.Printf("[ERR] yamux: Failed to write body: %v", err) + asyncSendErr(ready.Err, err) + s.exitErr(err) + return + } + } + + // No error, successful send + asyncSendErr(ready.Err, nil) + case <-s.shutdownCh: + return + } + } +} + +// recv is a long running goroutine that accepts new data +func (s *Session) recv() { + if err := s.recvLoop(); err != nil { + s.exitErr(err) + } +} + +// Ensure that the index of the handler (typeData/typeWindowUpdate/etc) matches the message type +var ( + handlers = []func(*Session, header) error{ + typeData: (*Session).handleStreamMessage, + typeWindowUpdate: (*Session).handleStreamMessage, + typePing: (*Session).handlePing, + typeGoAway: (*Session).handleGoAway, + } +) + +// recvLoop continues to receive data until a fatal error is encountered +func (s *Session) recvLoop() error { + defer close(s.recvDoneCh) + hdr := header(make([]byte, headerSize)) + for { + // Read the header + if _, err := io.ReadFull(s.bufRead, hdr); err != nil { + if err != io.EOF && !strings.Contains(err.Error(), "closed") && !strings.Contains(err.Error(), "reset by peer") { + s.logger.Printf("[ERR] yamux: Failed to read header: %v", err) + } + return err + } + + // Verify the version + if hdr.Version() != protoVersion { + s.logger.Printf("[ERR] yamux: Invalid protocol version: %d", hdr.Version()) + return ErrInvalidVersion + } + + mt := hdr.MsgType() + if mt < typeData || mt > typeGoAway { + return ErrInvalidMsgType + } + + if err := handlers[mt](s, hdr); err != nil { + return err + } + } +} + +// handleStreamMessage handles either a data or window update frame +func (s *Session) handleStreamMessage(hdr header) error { + // Check for a new stream creation + id := hdr.StreamID() + flags := hdr.Flags() + if flags&flagSYN == flagSYN { + if err := s.incomingStream(id); err != nil { + return err + } + } + + // Get the stream + s.streamLock.Lock() + stream := s.streams[id] + s.streamLock.Unlock() + + // If we do not have a stream, likely we sent a RST + if stream == nil { + // Drain any data on the wire + if hdr.MsgType() == typeData && hdr.Length() > 0 { + s.logger.Printf("[WARN] yamux: Discarding data for stream: %d", id) + if _, err := io.CopyN(ioutil.Discard, s.bufRead, int64(hdr.Length())); err != nil { + s.logger.Printf("[ERR] yamux: Failed to discard data: %v", err) + return nil + } + } else { + s.logger.Printf("[WARN] yamux: frame for missing stream: %v", hdr) + } + return nil + } + + // Check if this is a window update + if hdr.MsgType() == typeWindowUpdate { + if err := stream.incrSendWindow(hdr, flags); err != nil { + if sendErr := s.sendNoWait(s.goAway(goAwayProtoErr)); sendErr != nil { + s.logger.Printf("[WARN] yamux: failed to send go away: %v", sendErr) + } + return err + } + return nil + } + + // Read the new data + if err := stream.readData(hdr, flags, s.bufRead); err != nil { + if sendErr := s.sendNoWait(s.goAway(goAwayProtoErr)); sendErr != nil { + s.logger.Printf("[WARN] yamux: failed to send go away: %v", sendErr) + } + return err + } + return nil +} + +// handlePing is invokde for a typePing frame +func (s *Session) handlePing(hdr header) error { + flags := hdr.Flags() + pingID := hdr.Length() + + // Check if this is a query, respond back in a separate context so we + // don't interfere with the receiving thread blocking for the write. + if flags&flagSYN == flagSYN { + go func() { + hdr := header(make([]byte, headerSize)) + hdr.encode(typePing, flagACK, 0, pingID) + if err := s.sendNoWait(hdr); err != nil { + s.logger.Printf("[WARN] yamux: failed to send ping reply: %v", err) + } + }() + return nil + } + + // Handle a response + s.pingLock.Lock() + ch := s.pings[pingID] + if ch != nil { + delete(s.pings, pingID) + close(ch) + } + s.pingLock.Unlock() + return nil +} + +// handleGoAway is invokde for a typeGoAway frame +func (s *Session) handleGoAway(hdr header) error { + code := hdr.Length() + switch code { + case goAwayNormal: + atomic.SwapInt32(&s.remoteGoAway, 1) + case goAwayProtoErr: + s.logger.Printf("[ERR] yamux: received protocol error go away") + return fmt.Errorf("yamux protocol error") + case goAwayInternalErr: + s.logger.Printf("[ERR] yamux: received internal error go away") + return fmt.Errorf("remote yamux internal error") + default: + s.logger.Printf("[ERR] yamux: received unexpected go away") + return fmt.Errorf("unexpected go away received") + } + return nil +} + +// incomingStream is used to create a new incoming stream +func (s *Session) incomingStream(id uint32) error { + // Reject immediately if we are doing a go away + if atomic.LoadInt32(&s.localGoAway) == 1 { + hdr := header(make([]byte, headerSize)) + hdr.encode(typeWindowUpdate, flagRST, id, 0) + return s.sendNoWait(hdr) + } + + // Allocate a new stream + stream := newStream(s, id, streamSYNReceived) + + s.streamLock.Lock() + defer s.streamLock.Unlock() + + // Check if stream already exists + if _, ok := s.streams[id]; ok { + s.logger.Printf("[ERR] yamux: duplicate stream declared") + if sendErr := s.sendNoWait(s.goAway(goAwayProtoErr)); sendErr != nil { + s.logger.Printf("[WARN] yamux: failed to send go away: %v", sendErr) + } + return ErrDuplicateStream + } + + // Register the stream + s.streams[id] = stream + + // Check if we've exceeded the backlog + select { + case s.acceptCh <- stream: + return nil + default: + // Backlog exceeded! RST the stream + s.logger.Printf("[WARN] yamux: backlog exceeded, forcing connection reset") + delete(s.streams, id) + stream.sendHdr.encode(typeWindowUpdate, flagRST, id, 0) + return s.sendNoWait(stream.sendHdr) + } +} + +// closeStream is used to close a stream once both sides have +// issued a close. If there was an in-flight SYN and the stream +// was not yet established, then this will give the credit back. +func (s *Session) closeStream(id uint32) { + s.streamLock.Lock() + if _, ok := s.inflight[id]; ok { + select { + case <-s.synCh: + default: + s.logger.Printf("[ERR] yamux: SYN tracking out of sync") + } + } + delete(s.streams, id) + s.streamLock.Unlock() +} + +// establishStream is used to mark a stream that was in the +// SYN Sent state as established. +func (s *Session) establishStream(id uint32) { + s.streamLock.Lock() + if _, ok := s.inflight[id]; ok { + delete(s.inflight, id) + } else { + s.logger.Printf("[ERR] yamux: established stream without inflight SYN (no tracking entry)") + } + select { + case <-s.synCh: + default: + s.logger.Printf("[ERR] yamux: established stream without inflight SYN (didn't have semaphore)") + } + s.streamLock.Unlock() +} diff --git a/vendor/github.com/hashicorp/yamux/spec.md b/vendor/github.com/hashicorp/yamux/spec.md new file mode 100644 index 000000000..183d797bd --- /dev/null +++ b/vendor/github.com/hashicorp/yamux/spec.md @@ -0,0 +1,140 @@ +# Specification + +We use this document to detail the internal specification of Yamux. +This is used both as a guide for implementing Yamux, but also for +alternative interoperable libraries to be built. + +# Framing + +Yamux uses a streaming connection underneath, but imposes a message +framing so that it can be shared between many logical streams. Each +frame contains a header like: + +* Version (8 bits) +* Type (8 bits) +* Flags (16 bits) +* StreamID (32 bits) +* Length (32 bits) + +This means that each header has a 12 byte overhead. +All fields are encoded in network order (big endian). +Each field is described below: + +## Version Field + +The version field is used for future backward compatibility. At the +current time, the field is always set to 0, to indicate the initial +version. + +## Type Field + +The type field is used to switch the frame message type. The following +message types are supported: + +* 0x0 Data - Used to transmit data. May transmit zero length payloads + depending on the flags. + +* 0x1 Window Update - Used to updated the senders receive window size. + This is used to implement per-session flow control. + +* 0x2 Ping - Used to measure RTT. It can also be used to heart-beat + and do keep-alives over TCP. + +* 0x3 Go Away - Used to close a session. + +## Flag Field + +The flags field is used to provide additional information related +to the message type. The following flags are supported: + +* 0x1 SYN - Signals the start of a new stream. May be sent with a data or + window update message. Also sent with a ping to indicate outbound. + +* 0x2 ACK - Acknowledges the start of a new stream. May be sent with a data + or window update message. Also sent with a ping to indicate response. + +* 0x4 FIN - Performs a half-close of a stream. May be sent with a data + message or window update. + +* 0x8 RST - Reset a stream immediately. May be sent with a data or + window update message. + +## StreamID Field + +The StreamID field is used to identify the logical stream the frame +is addressing. The client side should use odd ID's, and the server even. +This prevents any collisions. Additionally, the 0 ID is reserved to represent +the session. + +Both Ping and Go Away messages should always use the 0 StreamID. + +## Length Field + +The meaning of the length field depends on the message type: + +* Data - provides the length of bytes following the header +* Window update - provides a delta update to the window size +* Ping - Contains an opaque value, echoed back +* Go Away - Contains an error code + +# Message Flow + +There is no explicit connection setup, as Yamux relies on an underlying +transport to be provided. However, there is a distinction between client +and server side of the connection. + +## Opening a stream + +To open a stream, an initial data or window update frame is sent +with a new StreamID. The SYN flag should be set to signal a new stream. + +The receiver must then reply with either a data or window update frame +with the StreamID along with the ACK flag to accept the stream or with +the RST flag to reject the stream. + +Because we are relying on the reliable stream underneath, a connection +can begin sending data once the SYN flag is sent. The corresponding +ACK does not need to be received. This is particularly well suited +for an RPC system where a client wants to open a stream and immediately +fire a request without waiting for the RTT of the ACK. + +This does introduce the possibility of a connection being rejected +after data has been sent already. This is a slight semantic difference +from TCP, where the conection cannot be refused after it is opened. +Clients should be prepared to handle this by checking for an error +that indicates a RST was received. + +## Closing a stream + +To close a stream, either side sends a data or window update frame +along with the FIN flag. This does a half-close indicating the sender +will send no further data. + +Once both sides have closed the connection, the stream is closed. + +Alternatively, if an error occurs, the RST flag can be used to +hard close a stream immediately. + +## Flow Control + +When Yamux is initially starts each stream with a 256KB window size. +There is no window size for the session. + +To prevent the streams from stalling, window update frames should be +sent regularly. Yamux can be configured to provide a larger limit for +windows sizes. Both sides assume the initial 256KB window, but can +immediately send a window update as part of the SYN/ACK indicating a +larger window. + +Both sides should track the number of bytes sent in Data frames +only, as only they are tracked as part of the window size. + +## Session termination + +When a session is being terminated, the Go Away message should +be sent. The Length should be set to one of the following to +provide an error code: + +* 0x0 Normal termination +* 0x1 Protocol error +* 0x2 Internal error diff --git a/vendor/github.com/hashicorp/yamux/stream.go b/vendor/github.com/hashicorp/yamux/stream.go new file mode 100644 index 000000000..aa2391973 --- /dev/null +++ b/vendor/github.com/hashicorp/yamux/stream.go @@ -0,0 +1,470 @@ +package yamux + +import ( + "bytes" + "io" + "sync" + "sync/atomic" + "time" +) + +type streamState int + +const ( + streamInit streamState = iota + streamSYNSent + streamSYNReceived + streamEstablished + streamLocalClose + streamRemoteClose + streamClosed + streamReset +) + +// Stream is used to represent a logical stream +// within a session. +type Stream struct { + recvWindow uint32 + sendWindow uint32 + + id uint32 + session *Session + + state streamState + stateLock sync.Mutex + + recvBuf *bytes.Buffer + recvLock sync.Mutex + + controlHdr header + controlErr chan error + controlHdrLock sync.Mutex + + sendHdr header + sendErr chan error + sendLock sync.Mutex + + recvNotifyCh chan struct{} + sendNotifyCh chan struct{} + + readDeadline atomic.Value // time.Time + writeDeadline atomic.Value // time.Time +} + +// newStream is used to construct a new stream within +// a given session for an ID +func newStream(session *Session, id uint32, state streamState) *Stream { + s := &Stream{ + id: id, + session: session, + state: state, + controlHdr: header(make([]byte, headerSize)), + controlErr: make(chan error, 1), + sendHdr: header(make([]byte, headerSize)), + sendErr: make(chan error, 1), + recvWindow: initialStreamWindow, + sendWindow: initialStreamWindow, + recvNotifyCh: make(chan struct{}, 1), + sendNotifyCh: make(chan struct{}, 1), + } + s.readDeadline.Store(time.Time{}) + s.writeDeadline.Store(time.Time{}) + return s +} + +// Session returns the associated stream session +func (s *Stream) Session() *Session { + return s.session +} + +// StreamID returns the ID of this stream +func (s *Stream) StreamID() uint32 { + return s.id +} + +// Read is used to read from the stream +func (s *Stream) Read(b []byte) (n int, err error) { + defer asyncNotify(s.recvNotifyCh) +START: + s.stateLock.Lock() + switch s.state { + case streamLocalClose: + fallthrough + case streamRemoteClose: + fallthrough + case streamClosed: + s.recvLock.Lock() + if s.recvBuf == nil || s.recvBuf.Len() == 0 { + s.recvLock.Unlock() + s.stateLock.Unlock() + return 0, io.EOF + } + s.recvLock.Unlock() + case streamReset: + s.stateLock.Unlock() + return 0, ErrConnectionReset + } + s.stateLock.Unlock() + + // If there is no data available, block + s.recvLock.Lock() + if s.recvBuf == nil || s.recvBuf.Len() == 0 { + s.recvLock.Unlock() + goto WAIT + } + + // Read any bytes + n, _ = s.recvBuf.Read(b) + s.recvLock.Unlock() + + // Send a window update potentially + err = s.sendWindowUpdate() + return n, err + +WAIT: + var timeout <-chan time.Time + var timer *time.Timer + readDeadline := s.readDeadline.Load().(time.Time) + if !readDeadline.IsZero() { + delay := readDeadline.Sub(time.Now()) + timer = time.NewTimer(delay) + timeout = timer.C + } + select { + case <-s.recvNotifyCh: + if timer != nil { + timer.Stop() + } + goto START + case <-timeout: + return 0, ErrTimeout + } +} + +// Write is used to write to the stream +func (s *Stream) Write(b []byte) (n int, err error) { + s.sendLock.Lock() + defer s.sendLock.Unlock() + total := 0 + for total < len(b) { + n, err := s.write(b[total:]) + total += n + if err != nil { + return total, err + } + } + return total, nil +} + +// write is used to write to the stream, may return on +// a short write. +func (s *Stream) write(b []byte) (n int, err error) { + var flags uint16 + var max uint32 + var body io.Reader +START: + s.stateLock.Lock() + switch s.state { + case streamLocalClose: + fallthrough + case streamClosed: + s.stateLock.Unlock() + return 0, ErrStreamClosed + case streamReset: + s.stateLock.Unlock() + return 0, ErrConnectionReset + } + s.stateLock.Unlock() + + // If there is no data available, block + window := atomic.LoadUint32(&s.sendWindow) + if window == 0 { + goto WAIT + } + + // Determine the flags if any + flags = s.sendFlags() + + // Send up to our send window + max = min(window, uint32(len(b))) + body = bytes.NewReader(b[:max]) + + // Send the header + s.sendHdr.encode(typeData, flags, s.id, max) + if err = s.session.waitForSendErr(s.sendHdr, body, s.sendErr); err != nil { + return 0, err + } + + // Reduce our send window + atomic.AddUint32(&s.sendWindow, ^uint32(max-1)) + + // Unlock + return int(max), err + +WAIT: + var timeout <-chan time.Time + writeDeadline := s.writeDeadline.Load().(time.Time) + if !writeDeadline.IsZero() { + delay := writeDeadline.Sub(time.Now()) + timeout = time.After(delay) + } + select { + case <-s.sendNotifyCh: + goto START + case <-timeout: + return 0, ErrTimeout + } + return 0, nil +} + +// sendFlags determines any flags that are appropriate +// based on the current stream state +func (s *Stream) sendFlags() uint16 { + s.stateLock.Lock() + defer s.stateLock.Unlock() + var flags uint16 + switch s.state { + case streamInit: + flags |= flagSYN + s.state = streamSYNSent + case streamSYNReceived: + flags |= flagACK + s.state = streamEstablished + } + return flags +} + +// sendWindowUpdate potentially sends a window update enabling +// further writes to take place. Must be invoked with the lock. +func (s *Stream) sendWindowUpdate() error { + s.controlHdrLock.Lock() + defer s.controlHdrLock.Unlock() + + // Determine the delta update + max := s.session.config.MaxStreamWindowSize + var bufLen uint32 + s.recvLock.Lock() + if s.recvBuf != nil { + bufLen = uint32(s.recvBuf.Len()) + } + delta := (max - bufLen) - s.recvWindow + + // Determine the flags if any + flags := s.sendFlags() + + // Check if we can omit the update + if delta < (max/2) && flags == 0 { + s.recvLock.Unlock() + return nil + } + + // Update our window + s.recvWindow += delta + s.recvLock.Unlock() + + // Send the header + s.controlHdr.encode(typeWindowUpdate, flags, s.id, delta) + if err := s.session.waitForSendErr(s.controlHdr, nil, s.controlErr); err != nil { + return err + } + return nil +} + +// sendClose is used to send a FIN +func (s *Stream) sendClose() error { + s.controlHdrLock.Lock() + defer s.controlHdrLock.Unlock() + + flags := s.sendFlags() + flags |= flagFIN + s.controlHdr.encode(typeWindowUpdate, flags, s.id, 0) + if err := s.session.waitForSendErr(s.controlHdr, nil, s.controlErr); err != nil { + return err + } + return nil +} + +// Close is used to close the stream +func (s *Stream) Close() error { + closeStream := false + s.stateLock.Lock() + switch s.state { + // Opened means we need to signal a close + case streamSYNSent: + fallthrough + case streamSYNReceived: + fallthrough + case streamEstablished: + s.state = streamLocalClose + goto SEND_CLOSE + + case streamLocalClose: + case streamRemoteClose: + s.state = streamClosed + closeStream = true + goto SEND_CLOSE + + case streamClosed: + case streamReset: + default: + panic("unhandled state") + } + s.stateLock.Unlock() + return nil +SEND_CLOSE: + s.stateLock.Unlock() + s.sendClose() + s.notifyWaiting() + if closeStream { + s.session.closeStream(s.id) + } + return nil +} + +// forceClose is used for when the session is exiting +func (s *Stream) forceClose() { + s.stateLock.Lock() + s.state = streamClosed + s.stateLock.Unlock() + s.notifyWaiting() +} + +// processFlags is used to update the state of the stream +// based on set flags, if any. Lock must be held +func (s *Stream) processFlags(flags uint16) error { + // Close the stream without holding the state lock + closeStream := false + defer func() { + if closeStream { + s.session.closeStream(s.id) + } + }() + + s.stateLock.Lock() + defer s.stateLock.Unlock() + if flags&flagACK == flagACK { + if s.state == streamSYNSent { + s.state = streamEstablished + } + s.session.establishStream(s.id) + } + if flags&flagFIN == flagFIN { + switch s.state { + case streamSYNSent: + fallthrough + case streamSYNReceived: + fallthrough + case streamEstablished: + s.state = streamRemoteClose + s.notifyWaiting() + case streamLocalClose: + s.state = streamClosed + closeStream = true + s.notifyWaiting() + default: + s.session.logger.Printf("[ERR] yamux: unexpected FIN flag in state %d", s.state) + return ErrUnexpectedFlag + } + } + if flags&flagRST == flagRST { + s.state = streamReset + closeStream = true + s.notifyWaiting() + } + return nil +} + +// notifyWaiting notifies all the waiting channels +func (s *Stream) notifyWaiting() { + asyncNotify(s.recvNotifyCh) + asyncNotify(s.sendNotifyCh) +} + +// incrSendWindow updates the size of our send window +func (s *Stream) incrSendWindow(hdr header, flags uint16) error { + if err := s.processFlags(flags); err != nil { + return err + } + + // Increase window, unblock a sender + atomic.AddUint32(&s.sendWindow, hdr.Length()) + asyncNotify(s.sendNotifyCh) + return nil +} + +// readData is used to handle a data frame +func (s *Stream) readData(hdr header, flags uint16, conn io.Reader) error { + if err := s.processFlags(flags); err != nil { + return err + } + + // Check that our recv window is not exceeded + length := hdr.Length() + if length == 0 { + return nil + } + + // Wrap in a limited reader + conn = &io.LimitedReader{R: conn, N: int64(length)} + + // Copy into buffer + s.recvLock.Lock() + + if length > s.recvWindow { + s.session.logger.Printf("[ERR] yamux: receive window exceeded (stream: %d, remain: %d, recv: %d)", s.id, s.recvWindow, length) + return ErrRecvWindowExceeded + } + + if s.recvBuf == nil { + // Allocate the receive buffer just-in-time to fit the full data frame. + // This way we can read in the whole packet without further allocations. + s.recvBuf = bytes.NewBuffer(make([]byte, 0, length)) + } + if _, err := io.Copy(s.recvBuf, conn); err != nil { + s.session.logger.Printf("[ERR] yamux: Failed to read stream data: %v", err) + s.recvLock.Unlock() + return err + } + + // Decrement the receive window + s.recvWindow -= length + s.recvLock.Unlock() + + // Unblock any readers + asyncNotify(s.recvNotifyCh) + return nil +} + +// SetDeadline sets the read and write deadlines +func (s *Stream) SetDeadline(t time.Time) error { + if err := s.SetReadDeadline(t); err != nil { + return err + } + if err := s.SetWriteDeadline(t); err != nil { + return err + } + return nil +} + +// SetReadDeadline sets the deadline for future Read calls. +func (s *Stream) SetReadDeadline(t time.Time) error { + s.readDeadline.Store(t) + return nil +} + +// SetWriteDeadline sets the deadline for future Write calls +func (s *Stream) SetWriteDeadline(t time.Time) error { + s.writeDeadline.Store(t) + return nil +} + +// Shrink is used to compact the amount of buffers utilized +// This is useful when using Yamux in a connection pool to reduce +// the idle memory utilization. +func (s *Stream) Shrink() { + s.recvLock.Lock() + if s.recvBuf != nil && s.recvBuf.Len() == 0 { + s.recvBuf = nil + } + s.recvLock.Unlock() +} diff --git a/vendor/github.com/hashicorp/yamux/util.go b/vendor/github.com/hashicorp/yamux/util.go new file mode 100644 index 000000000..8a73e9249 --- /dev/null +++ b/vendor/github.com/hashicorp/yamux/util.go @@ -0,0 +1,43 @@ +package yamux + +import ( + "sync" + "time" +) + +var ( + timerPool = &sync.Pool{ + New: func() interface{} { + timer := time.NewTimer(time.Hour * 1e6) + timer.Stop() + return timer + }, + } +) + +// asyncSendErr is used to try an async send of an error +func asyncSendErr(ch chan error, err error) { + if ch == nil { + return + } + select { + case ch <- err: + default: + } +} + +// asyncNotify is used to signal a waiting goroutine +func asyncNotify(ch chan struct{}) { + select { + case ch <- struct{}{}: + default: + } +} + +// min computes the minimum of two values +func min(a, b uint32) uint32 { + if a < b { + return a + } + return b +} diff --git a/vendor/github.com/inconshreveable/mousetrap/LICENSE b/vendor/github.com/inconshreveable/mousetrap/LICENSE new file mode 100644 index 000000000..5f0d1fb6a --- /dev/null +++ b/vendor/github.com/inconshreveable/mousetrap/LICENSE @@ -0,0 +1,13 @@ +Copyright 2014 Alan Shreve + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/vendor/github.com/inconshreveable/mousetrap/README.md b/vendor/github.com/inconshreveable/mousetrap/README.md new file mode 100644 index 000000000..7a950d177 --- /dev/null +++ b/vendor/github.com/inconshreveable/mousetrap/README.md @@ -0,0 +1,23 @@ +# mousetrap + +mousetrap is a tiny library that answers a single question. + +On a Windows machine, was the process invoked by someone double clicking on +the executable file while browsing in explorer? + +### Motivation + +Windows developers unfamiliar with command line tools will often "double-click" +the executable for a tool. Because most CLI tools print the help and then exit +when invoked without arguments, this is often very frustrating for those users. + +mousetrap provides a way to detect these invocations so that you can provide +more helpful behavior and instructions on how to run the CLI tool. To see what +this looks like, both from an organizational and a technical perspective, see +https://inconshreveable.com/09-09-2014/sweat-the-small-stuff/ + +### The interface + +The library exposes a single interface: + + func StartedByExplorer() (bool) diff --git a/vendor/github.com/inconshreveable/mousetrap/trap_others.go b/vendor/github.com/inconshreveable/mousetrap/trap_others.go new file mode 100644 index 000000000..9d2d8a4ba --- /dev/null +++ b/vendor/github.com/inconshreveable/mousetrap/trap_others.go @@ -0,0 +1,15 @@ +// +build !windows + +package mousetrap + +// StartedByExplorer returns true if the program was invoked by the user +// double-clicking on the executable from explorer.exe +// +// It is conservative and returns false if any of the internal calls fail. +// It does not guarantee that the program was run from a terminal. It only can tell you +// whether it was launched from explorer.exe +// +// On non-Windows platforms, it always returns false. +func StartedByExplorer() bool { + return false +} diff --git a/vendor/github.com/inconshreveable/mousetrap/trap_windows.go b/vendor/github.com/inconshreveable/mousetrap/trap_windows.go new file mode 100644 index 000000000..336142a5e --- /dev/null +++ b/vendor/github.com/inconshreveable/mousetrap/trap_windows.go @@ -0,0 +1,98 @@ +// +build windows +// +build !go1.4 + +package mousetrap + +import ( + "fmt" + "os" + "syscall" + "unsafe" +) + +const ( + // defined by the Win32 API + th32cs_snapprocess uintptr = 0x2 +) + +var ( + kernel = syscall.MustLoadDLL("kernel32.dll") + CreateToolhelp32Snapshot = kernel.MustFindProc("CreateToolhelp32Snapshot") + Process32First = kernel.MustFindProc("Process32FirstW") + Process32Next = kernel.MustFindProc("Process32NextW") +) + +// ProcessEntry32 structure defined by the Win32 API +type processEntry32 struct { + dwSize uint32 + cntUsage uint32 + th32ProcessID uint32 + th32DefaultHeapID int + th32ModuleID uint32 + cntThreads uint32 + th32ParentProcessID uint32 + pcPriClassBase int32 + dwFlags uint32 + szExeFile [syscall.MAX_PATH]uint16 +} + +func getProcessEntry(pid int) (pe *processEntry32, err error) { + snapshot, _, e1 := CreateToolhelp32Snapshot.Call(th32cs_snapprocess, uintptr(0)) + if snapshot == uintptr(syscall.InvalidHandle) { + err = fmt.Errorf("CreateToolhelp32Snapshot: %v", e1) + return + } + defer syscall.CloseHandle(syscall.Handle(snapshot)) + + var processEntry processEntry32 + processEntry.dwSize = uint32(unsafe.Sizeof(processEntry)) + ok, _, e1 := Process32First.Call(snapshot, uintptr(unsafe.Pointer(&processEntry))) + if ok == 0 { + err = fmt.Errorf("Process32First: %v", e1) + return + } + + for { + if processEntry.th32ProcessID == uint32(pid) { + pe = &processEntry + return + } + + ok, _, e1 = Process32Next.Call(snapshot, uintptr(unsafe.Pointer(&processEntry))) + if ok == 0 { + err = fmt.Errorf("Process32Next: %v", e1) + return + } + } +} + +func getppid() (pid int, err error) { + pe, err := getProcessEntry(os.Getpid()) + if err != nil { + return + } + + pid = int(pe.th32ParentProcessID) + return +} + +// StartedByExplorer returns true if the program was invoked by the user double-clicking +// on the executable from explorer.exe +// +// It is conservative and returns false if any of the internal calls fail. +// It does not guarantee that the program was run from a terminal. It only can tell you +// whether it was launched from explorer.exe +func StartedByExplorer() bool { + ppid, err := getppid() + if err != nil { + return false + } + + pe, err := getProcessEntry(ppid) + if err != nil { + return false + } + + name := syscall.UTF16ToString(pe.szExeFile[:]) + return name == "explorer.exe" +} diff --git a/vendor/github.com/inconshreveable/mousetrap/trap_windows_1.4.go b/vendor/github.com/inconshreveable/mousetrap/trap_windows_1.4.go new file mode 100644 index 000000000..9a28e57c3 --- /dev/null +++ b/vendor/github.com/inconshreveable/mousetrap/trap_windows_1.4.go @@ -0,0 +1,46 @@ +// +build windows +// +build go1.4 + +package mousetrap + +import ( + "os" + "syscall" + "unsafe" +) + +func getProcessEntry(pid int) (*syscall.ProcessEntry32, error) { + snapshot, err := syscall.CreateToolhelp32Snapshot(syscall.TH32CS_SNAPPROCESS, 0) + if err != nil { + return nil, err + } + defer syscall.CloseHandle(snapshot) + var procEntry syscall.ProcessEntry32 + procEntry.Size = uint32(unsafe.Sizeof(procEntry)) + if err = syscall.Process32First(snapshot, &procEntry); err != nil { + return nil, err + } + for { + if procEntry.ProcessID == uint32(pid) { + return &procEntry, nil + } + err = syscall.Process32Next(snapshot, &procEntry) + if err != nil { + return nil, err + } + } +} + +// StartedByExplorer returns true if the program was invoked by the user double-clicking +// on the executable from explorer.exe +// +// It is conservative and returns false if any of the internal calls fail. +// It does not guarantee that the program was run from a terminal. It only can tell you +// whether it was launched from explorer.exe +func StartedByExplorer() bool { + pe, err := getProcessEntry(os.Getppid()) + if err != nil { + return false + } + return "explorer.exe" == syscall.UTF16ToString(pe.ExeFile[:]) +} diff --git a/vendor/github.com/konsorten/go-windows-terminal-sequences/LICENSE b/vendor/github.com/konsorten/go-windows-terminal-sequences/LICENSE new file mode 100644 index 000000000..14127cd83 --- /dev/null +++ b/vendor/github.com/konsorten/go-windows-terminal-sequences/LICENSE @@ -0,0 +1,9 @@ +(The MIT License) + +Copyright (c) 2017 marvin + konsorten GmbH (open-source@konsorten.de) + +Permission 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: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE 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. diff --git a/vendor/github.com/konsorten/go-windows-terminal-sequences/README.md b/vendor/github.com/konsorten/go-windows-terminal-sequences/README.md new file mode 100644 index 000000000..949b77e30 --- /dev/null +++ b/vendor/github.com/konsorten/go-windows-terminal-sequences/README.md @@ -0,0 +1,40 @@ +# Windows Terminal Sequences + +This library allow for enabling Windows terminal color support for Go. + +See [Console Virtual Terminal Sequences](https://docs.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences) for details. + +## Usage + +```go +import ( + "syscall" + + sequences "github.com/konsorten/go-windows-terminal-sequences" +) + +func main() { + sequences.EnableVirtualTerminalProcessing(syscall.Stdout, true) +} + +``` + +## Authors + +The tool is sponsored by the [marvin + konsorten GmbH](http://www.konsorten.de). + +We thank all the authors who provided code to this library: + +* Felix Kollmann + +## License + +(The MIT License) + +Copyright (c) 2018 marvin + konsorten GmbH (open-source@konsorten.de) + +Permission 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: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE 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. diff --git a/vendor/github.com/konsorten/go-windows-terminal-sequences/go.mod b/vendor/github.com/konsorten/go-windows-terminal-sequences/go.mod new file mode 100644 index 000000000..716c61312 --- /dev/null +++ b/vendor/github.com/konsorten/go-windows-terminal-sequences/go.mod @@ -0,0 +1 @@ +module github.com/konsorten/go-windows-terminal-sequences diff --git a/vendor/github.com/konsorten/go-windows-terminal-sequences/sequences.go b/vendor/github.com/konsorten/go-windows-terminal-sequences/sequences.go new file mode 100644 index 000000000..ef18d8f97 --- /dev/null +++ b/vendor/github.com/konsorten/go-windows-terminal-sequences/sequences.go @@ -0,0 +1,36 @@ +// +build windows + +package sequences + +import ( + "syscall" + "unsafe" +) + +var ( + kernel32Dll *syscall.LazyDLL = syscall.NewLazyDLL("Kernel32.dll") + setConsoleMode *syscall.LazyProc = kernel32Dll.NewProc("SetConsoleMode") +) + +func EnableVirtualTerminalProcessing(stream syscall.Handle, enable bool) error { + const ENABLE_VIRTUAL_TERMINAL_PROCESSING uint32 = 0x4 + + var mode uint32 + err := syscall.GetConsoleMode(syscall.Stdout, &mode) + if err != nil { + return err + } + + if enable { + mode |= ENABLE_VIRTUAL_TERMINAL_PROCESSING + } else { + mode &^= ENABLE_VIRTUAL_TERMINAL_PROCESSING + } + + ret, _, err := setConsoleMode.Call(uintptr(unsafe.Pointer(stream)), uintptr(mode)) + if ret == 0 { + return err + } + + return nil +} diff --git a/vendor/github.com/kr/pty/.gitignore b/vendor/github.com/kr/pty/.gitignore new file mode 100644 index 000000000..1f0a99f2f --- /dev/null +++ b/vendor/github.com/kr/pty/.gitignore @@ -0,0 +1,4 @@ +[568].out +_go* +_test* +_obj diff --git a/vendor/github.com/kr/pty/License b/vendor/github.com/kr/pty/License new file mode 100644 index 000000000..6b7558b6b --- /dev/null +++ b/vendor/github.com/kr/pty/License @@ -0,0 +1,23 @@ +Copyright (c) 2011 Keith Rarick + +Permission 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: + +The above copyright notice and this permission notice shall +be included in all copies or substantial portions of the +Software. + +THE 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. diff --git a/vendor/github.com/kr/pty/README.md b/vendor/github.com/kr/pty/README.md new file mode 100644 index 000000000..f9bb002e0 --- /dev/null +++ b/vendor/github.com/kr/pty/README.md @@ -0,0 +1,100 @@ +# pty + +Pty is a Go package for using unix pseudo-terminals. + +## Install + + go get github.com/kr/pty + +## Example + +### Command + +```go +package main + +import ( + "github.com/kr/pty" + "io" + "os" + "os/exec" +) + +func main() { + c := exec.Command("grep", "--color=auto", "bar") + f, err := pty.Start(c) + if err != nil { + panic(err) + } + + go func() { + f.Write([]byte("foo\n")) + f.Write([]byte("bar\n")) + f.Write([]byte("baz\n")) + f.Write([]byte{4}) // EOT + }() + io.Copy(os.Stdout, f) +} +``` + +### Shell + +```go +package main + +import ( + "io" + "log" + "os" + "os/exec" + "os/signal" + "syscall" + + "github.com/kr/pty" + "golang.org/x/crypto/ssh/terminal" +) + +func test() error { + // Create arbitrary command. + c := exec.Command("bash") + + // Start the command with a pty. + ptmx, err := pty.Start(c) + if err != nil { + return err + } + // Make sure to close the pty at the end. + defer func() { _ = ptmx.Close() }() // Best effort. + + // Handle pty size. + ch := make(chan os.Signal, 1) + signal.Notify(ch, syscall.SIGWINCH) + go func() { + for range ch { + if err := pty.InheritSize(os.Stdin, ptmx); err != nil { + log.Printf("error resizing pty: %s", err) + } + } + }() + ch <- syscall.SIGWINCH // Initial resize. + + // Set stdin in raw mode. + oldState, err := terminal.MakeRaw(int(os.Stdin.Fd())) + if err != nil { + panic(err) + } + defer func() { _ = terminal.Restore(int(os.Stdin.Fd()), oldState) }() // Best effort. + + // Copy stdin to the pty and the pty to stdout. + go func() { _, _ = io.Copy(ptmx, os.Stdin) }() + _, _ = io.Copy(os.Stdout, ptmx) + + return nil +} + +func main() { + if err := test(); err != nil { + log.Fatal(err) + } +} +``` diff --git a/vendor/github.com/kr/pty/doc.go b/vendor/github.com/kr/pty/doc.go new file mode 100644 index 000000000..190cfbea9 --- /dev/null +++ b/vendor/github.com/kr/pty/doc.go @@ -0,0 +1,16 @@ +// Package pty provides functions for working with Unix terminals. +package pty + +import ( + "errors" + "os" +) + +// ErrUnsupported is returned if a function is not +// available on the current platform. +var ErrUnsupported = errors.New("unsupported") + +// Opens a pty and its corresponding tty. +func Open() (pty, tty *os.File, err error) { + return open() +} diff --git a/vendor/github.com/kr/pty/ioctl.go b/vendor/github.com/kr/pty/ioctl.go new file mode 100644 index 000000000..c57c19e7e --- /dev/null +++ b/vendor/github.com/kr/pty/ioctl.go @@ -0,0 +1,13 @@ +// +build !windows + +package pty + +import "syscall" + +func ioctl(fd, cmd, ptr uintptr) error { + _, _, e := syscall.Syscall(syscall.SYS_IOCTL, fd, cmd, ptr) + if e != 0 { + return e + } + return nil +} diff --git a/vendor/github.com/kr/pty/ioctl_bsd.go b/vendor/github.com/kr/pty/ioctl_bsd.go new file mode 100644 index 000000000..73b12c53c --- /dev/null +++ b/vendor/github.com/kr/pty/ioctl_bsd.go @@ -0,0 +1,39 @@ +// +build darwin dragonfly freebsd netbsd openbsd + +package pty + +// from +const ( + _IOC_VOID uintptr = 0x20000000 + _IOC_OUT uintptr = 0x40000000 + _IOC_IN uintptr = 0x80000000 + _IOC_IN_OUT uintptr = _IOC_OUT | _IOC_IN + _IOC_DIRMASK = _IOC_VOID | _IOC_OUT | _IOC_IN + + _IOC_PARAM_SHIFT = 13 + _IOC_PARAM_MASK = (1 << _IOC_PARAM_SHIFT) - 1 +) + +func _IOC_PARM_LEN(ioctl uintptr) uintptr { + return (ioctl >> 16) & _IOC_PARAM_MASK +} + +func _IOC(inout uintptr, group byte, ioctl_num uintptr, param_len uintptr) uintptr { + return inout | (param_len&_IOC_PARAM_MASK)<<16 | uintptr(group)<<8 | ioctl_num +} + +func _IO(group byte, ioctl_num uintptr) uintptr { + return _IOC(_IOC_VOID, group, ioctl_num, 0) +} + +func _IOR(group byte, ioctl_num uintptr, param_len uintptr) uintptr { + return _IOC(_IOC_OUT, group, ioctl_num, param_len) +} + +func _IOW(group byte, ioctl_num uintptr, param_len uintptr) uintptr { + return _IOC(_IOC_IN, group, ioctl_num, param_len) +} + +func _IOWR(group byte, ioctl_num uintptr, param_len uintptr) uintptr { + return _IOC(_IOC_IN_OUT, group, ioctl_num, param_len) +} diff --git a/vendor/github.com/kr/pty/mktypes.bash b/vendor/github.com/kr/pty/mktypes.bash new file mode 100644 index 000000000..82ee16721 --- /dev/null +++ b/vendor/github.com/kr/pty/mktypes.bash @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + +GOOSARCH="${GOOS}_${GOARCH}" +case "$GOOSARCH" in +_* | *_ | _) + echo 'undefined $GOOS_$GOARCH:' "$GOOSARCH" 1>&2 + exit 1 + ;; +esac + +GODEFS="go tool cgo -godefs" + +$GODEFS types.go |gofmt > ztypes_$GOARCH.go + +case $GOOS in +freebsd|dragonfly|openbsd) + $GODEFS types_$GOOS.go |gofmt > ztypes_$GOOSARCH.go + ;; +esac diff --git a/vendor/github.com/kr/pty/pty_darwin.go b/vendor/github.com/kr/pty/pty_darwin.go new file mode 100644 index 000000000..6344b6b0e --- /dev/null +++ b/vendor/github.com/kr/pty/pty_darwin.go @@ -0,0 +1,65 @@ +package pty + +import ( + "errors" + "os" + "syscall" + "unsafe" +) + +func open() (pty, tty *os.File, err error) { + pFD, err := syscall.Open("/dev/ptmx", syscall.O_RDWR|syscall.O_CLOEXEC, 0) + if err != nil { + return nil, nil, err + } + p := os.NewFile(uintptr(pFD), "/dev/ptmx") + // In case of error after this point, make sure we close the ptmx fd. + defer func() { + if err != nil { + _ = p.Close() // Best effort. + } + }() + + sname, err := ptsname(p) + if err != nil { + return nil, nil, err + } + + if err := grantpt(p); err != nil { + return nil, nil, err + } + + if err := unlockpt(p); err != nil { + return nil, nil, err + } + + t, err := os.OpenFile(sname, os.O_RDWR, 0) + if err != nil { + return nil, nil, err + } + return p, t, nil +} + +func ptsname(f *os.File) (string, error) { + n := make([]byte, _IOC_PARM_LEN(syscall.TIOCPTYGNAME)) + + err := ioctl(f.Fd(), syscall.TIOCPTYGNAME, uintptr(unsafe.Pointer(&n[0]))) + if err != nil { + return "", err + } + + for i, c := range n { + if c == 0 { + return string(n[:i]), nil + } + } + return "", errors.New("TIOCPTYGNAME string not NUL-terminated") +} + +func grantpt(f *os.File) error { + return ioctl(f.Fd(), syscall.TIOCPTYGRANT, 0) +} + +func unlockpt(f *os.File) error { + return ioctl(f.Fd(), syscall.TIOCPTYUNLK, 0) +} diff --git a/vendor/github.com/kr/pty/pty_dragonfly.go b/vendor/github.com/kr/pty/pty_dragonfly.go new file mode 100644 index 000000000..b7d1f20f2 --- /dev/null +++ b/vendor/github.com/kr/pty/pty_dragonfly.go @@ -0,0 +1,80 @@ +package pty + +import ( + "errors" + "os" + "strings" + "syscall" + "unsafe" +) + +// same code as pty_darwin.go +func open() (pty, tty *os.File, err error) { + p, err := os.OpenFile("/dev/ptmx", os.O_RDWR, 0) + if err != nil { + return nil, nil, err + } + // In case of error after this point, make sure we close the ptmx fd. + defer func() { + if err != nil { + _ = p.Close() // Best effort. + } + }() + + sname, err := ptsname(p) + if err != nil { + return nil, nil, err + } + + if err := grantpt(p); err != nil { + return nil, nil, err + } + + if err := unlockpt(p); err != nil { + return nil, nil, err + } + + t, err := os.OpenFile(sname, os.O_RDWR, 0) + if err != nil { + return nil, nil, err + } + return p, t, nil +} + +func grantpt(f *os.File) error { + _, err := isptmaster(f.Fd()) + return err +} + +func unlockpt(f *os.File) error { + _, err := isptmaster(f.Fd()) + return err +} + +func isptmaster(fd uintptr) (bool, error) { + err := ioctl(fd, syscall.TIOCISPTMASTER, 0) + return err == nil, err +} + +var ( + emptyFiodgnameArg fiodgnameArg + ioctl_FIODNAME = _IOW('f', 120, unsafe.Sizeof(emptyFiodgnameArg)) +) + +func ptsname(f *os.File) (string, error) { + name := make([]byte, _C_SPECNAMELEN) + fa := fiodgnameArg{Name: (*byte)(unsafe.Pointer(&name[0])), Len: _C_SPECNAMELEN, Pad_cgo_0: [4]byte{0, 0, 0, 0}} + + err := ioctl(f.Fd(), ioctl_FIODNAME, uintptr(unsafe.Pointer(&fa))) + if err != nil { + return "", err + } + + for i, c := range name { + if c == 0 { + s := "/dev/" + string(name[:i]) + return strings.Replace(s, "ptm", "pts", -1), nil + } + } + return "", errors.New("TIOCPTYGNAME string not NUL-terminated") +} diff --git a/vendor/github.com/kr/pty/pty_freebsd.go b/vendor/github.com/kr/pty/pty_freebsd.go new file mode 100644 index 000000000..63b6d9133 --- /dev/null +++ b/vendor/github.com/kr/pty/pty_freebsd.go @@ -0,0 +1,78 @@ +package pty + +import ( + "errors" + "os" + "syscall" + "unsafe" +) + +func posixOpenpt(oflag int) (fd int, err error) { + r0, _, e1 := syscall.Syscall(syscall.SYS_POSIX_OPENPT, uintptr(oflag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = e1 + } + return fd, err +} + +func open() (pty, tty *os.File, err error) { + fd, err := posixOpenpt(syscall.O_RDWR | syscall.O_CLOEXEC) + if err != nil { + return nil, nil, err + } + p := os.NewFile(uintptr(fd), "/dev/pts") + // In case of error after this point, make sure we close the pts fd. + defer func() { + if err != nil { + _ = p.Close() // Best effort. + } + }() + + sname, err := ptsname(p) + if err != nil { + return nil, nil, err + } + + t, err := os.OpenFile("/dev/"+sname, os.O_RDWR, 0) + if err != nil { + return nil, nil, err + } + return p, t, nil +} + +func isptmaster(fd uintptr) (bool, error) { + err := ioctl(fd, syscall.TIOCPTMASTER, 0) + return err == nil, err +} + +var ( + emptyFiodgnameArg fiodgnameArg + ioctlFIODGNAME = _IOW('f', 120, unsafe.Sizeof(emptyFiodgnameArg)) +) + +func ptsname(f *os.File) (string, error) { + master, err := isptmaster(f.Fd()) + if err != nil { + return "", err + } + if !master { + return "", syscall.EINVAL + } + + const n = _C_SPECNAMELEN + 1 + var ( + buf = make([]byte, n) + arg = fiodgnameArg{Len: n, Buf: (*byte)(unsafe.Pointer(&buf[0]))} + ) + if err := ioctl(f.Fd(), ioctlFIODGNAME, uintptr(unsafe.Pointer(&arg))); err != nil { + return "", err + } + + for i, c := range buf { + if c == 0 { + return string(buf[:i]), nil + } + } + return "", errors.New("FIODGNAME string not NUL-terminated") +} diff --git a/vendor/github.com/kr/pty/pty_linux.go b/vendor/github.com/kr/pty/pty_linux.go new file mode 100644 index 000000000..296dd2129 --- /dev/null +++ b/vendor/github.com/kr/pty/pty_linux.go @@ -0,0 +1,51 @@ +package pty + +import ( + "os" + "strconv" + "syscall" + "unsafe" +) + +func open() (pty, tty *os.File, err error) { + p, err := os.OpenFile("/dev/ptmx", os.O_RDWR, 0) + if err != nil { + return nil, nil, err + } + // In case of error after this point, make sure we close the ptmx fd. + defer func() { + if err != nil { + _ = p.Close() // Best effort. + } + }() + + sname, err := ptsname(p) + if err != nil { + return nil, nil, err + } + + if err := unlockpt(p); err != nil { + return nil, nil, err + } + + t, err := os.OpenFile(sname, os.O_RDWR|syscall.O_NOCTTY, 0) + if err != nil { + return nil, nil, err + } + return p, t, nil +} + +func ptsname(f *os.File) (string, error) { + var n _C_uint + err := ioctl(f.Fd(), syscall.TIOCGPTN, uintptr(unsafe.Pointer(&n))) + if err != nil { + return "", err + } + return "/dev/pts/" + strconv.Itoa(int(n)), nil +} + +func unlockpt(f *os.File) error { + var u _C_int + // use TIOCSPTLCK with a zero valued arg to clear the slave pty lock + return ioctl(f.Fd(), syscall.TIOCSPTLCK, uintptr(unsafe.Pointer(&u))) +} diff --git a/vendor/github.com/kr/pty/pty_openbsd.go b/vendor/github.com/kr/pty/pty_openbsd.go new file mode 100644 index 000000000..6e7aeae7c --- /dev/null +++ b/vendor/github.com/kr/pty/pty_openbsd.go @@ -0,0 +1,33 @@ +package pty + +import ( + "os" + "syscall" + "unsafe" +) + +func open() (pty, tty *os.File, err error) { + /* + * from ptm(4): + * The PTMGET command allocates a free pseudo terminal, changes its + * ownership to the caller, revokes the access privileges for all previous + * users, opens the file descriptors for the master and slave devices and + * returns them to the caller in struct ptmget. + */ + + p, err := os.OpenFile("/dev/ptm", os.O_RDWR|syscall.O_CLOEXEC, 0) + if err != nil { + return nil, nil, err + } + defer p.Close() + + var ptm ptmget + if err := ioctl(p.Fd(), uintptr(ioctl_PTMGET), uintptr(unsafe.Pointer(&ptm))); err != nil { + return nil, nil, err + } + + pty = os.NewFile(uintptr(ptm.Cfd), "/dev/ptm") + tty = os.NewFile(uintptr(ptm.Sfd), "/dev/ptm") + + return pty, tty, nil +} diff --git a/vendor/github.com/kr/pty/pty_unsupported.go b/vendor/github.com/kr/pty/pty_unsupported.go new file mode 100644 index 000000000..9a3e721bc --- /dev/null +++ b/vendor/github.com/kr/pty/pty_unsupported.go @@ -0,0 +1,11 @@ +// +build !linux,!darwin,!freebsd,!dragonfly,!openbsd + +package pty + +import ( + "os" +) + +func open() (pty, tty *os.File, err error) { + return nil, nil, ErrUnsupported +} diff --git a/vendor/github.com/kr/pty/run.go b/vendor/github.com/kr/pty/run.go new file mode 100644 index 000000000..2d7f96119 --- /dev/null +++ b/vendor/github.com/kr/pty/run.go @@ -0,0 +1,50 @@ +// +build !windows + +package pty + +import ( + "os" + "os/exec" + "syscall" +) + +// Start assigns a pseudo-terminal tty os.File to c.Stdin, c.Stdout, +// and c.Stderr, calls c.Start, and returns the File of the tty's +// corresponding pty. +func Start(c *exec.Cmd) (pty *os.File, err error) { + return StartWithSize(c, nil) +} + +// StartWithSize assigns a pseudo-terminal tty os.File to c.Stdin, c.Stdout, +// and c.Stderr, calls c.Start, and returns the File of the tty's +// corresponding pty. +// +// This will resize the pty to the specified size before starting the command +func StartWithSize(c *exec.Cmd, sz *Winsize) (pty *os.File, err error) { + pty, tty, err := Open() + if err != nil { + return nil, err + } + defer tty.Close() + if sz != nil { + err = Setsize(pty, sz) + if err != nil { + pty.Close() + return nil, err + } + } + c.Stdout = tty + c.Stdin = tty + c.Stderr = tty + if c.SysProcAttr == nil { + c.SysProcAttr = &syscall.SysProcAttr{} + } + c.SysProcAttr.Setctty = true + c.SysProcAttr.Setsid = true + err = c.Start() + if err != nil { + pty.Close() + return nil, err + } + return pty, err +} diff --git a/vendor/github.com/kr/pty/types.go b/vendor/github.com/kr/pty/types.go new file mode 100644 index 000000000..5aecb6bcd --- /dev/null +++ b/vendor/github.com/kr/pty/types.go @@ -0,0 +1,10 @@ +// +build ignore + +package pty + +import "C" + +type ( + _C_int C.int + _C_uint C.uint +) diff --git a/vendor/github.com/kr/pty/types_dragonfly.go b/vendor/github.com/kr/pty/types_dragonfly.go new file mode 100644 index 000000000..5c0493b85 --- /dev/null +++ b/vendor/github.com/kr/pty/types_dragonfly.go @@ -0,0 +1,17 @@ +// +build ignore + +package pty + +/* +#define _KERNEL +#include +#include +#include +*/ +import "C" + +const ( + _C_SPECNAMELEN = C.SPECNAMELEN /* max length of devicename */ +) + +type fiodgnameArg C.struct_fiodname_args diff --git a/vendor/github.com/kr/pty/types_freebsd.go b/vendor/github.com/kr/pty/types_freebsd.go new file mode 100644 index 000000000..ce3eb9518 --- /dev/null +++ b/vendor/github.com/kr/pty/types_freebsd.go @@ -0,0 +1,15 @@ +// +build ignore + +package pty + +/* +#include +#include +*/ +import "C" + +const ( + _C_SPECNAMELEN = C.SPECNAMELEN /* max length of devicename */ +) + +type fiodgnameArg C.struct_fiodgname_arg diff --git a/vendor/github.com/kr/pty/types_openbsd.go b/vendor/github.com/kr/pty/types_openbsd.go new file mode 100644 index 000000000..47701b5f9 --- /dev/null +++ b/vendor/github.com/kr/pty/types_openbsd.go @@ -0,0 +1,14 @@ +// +build ignore + +package pty + +/* +#include +#include +#include +*/ +import "C" + +type ptmget C.struct_ptmget + +var ioctl_PTMGET = C.PTMGET diff --git a/vendor/github.com/kr/pty/util.go b/vendor/github.com/kr/pty/util.go new file mode 100644 index 000000000..68a8584cf --- /dev/null +++ b/vendor/github.com/kr/pty/util.go @@ -0,0 +1,64 @@ +// +build !windows + +package pty + +import ( + "os" + "syscall" + "unsafe" +) + +// InheritSize applies the terminal size of master to slave. This should be run +// in a signal handler for syscall.SIGWINCH to automatically resize the slave when +// the master receives a window size change notification. +func InheritSize(master, slave *os.File) error { + size, err := GetsizeFull(master) + if err != nil { + return err + } + err = Setsize(slave, size) + if err != nil { + return err + } + return nil +} + +// Setsize resizes t to s. +func Setsize(t *os.File, ws *Winsize) error { + return windowRectCall(ws, t.Fd(), syscall.TIOCSWINSZ) +} + +// GetsizeFull returns the full terminal size description. +func GetsizeFull(t *os.File) (size *Winsize, err error) { + var ws Winsize + err = windowRectCall(&ws, t.Fd(), syscall.TIOCGWINSZ) + return &ws, err +} + +// Getsize returns the number of rows (lines) and cols (positions +// in each line) in terminal t. +func Getsize(t *os.File) (rows, cols int, err error) { + ws, err := GetsizeFull(t) + return int(ws.Rows), int(ws.Cols), err +} + +// Winsize describes the terminal size. +type Winsize struct { + Rows uint16 // ws_row: Number of rows (in cells) + Cols uint16 // ws_col: Number of columns (in cells) + X uint16 // ws_xpixel: Width in pixels + Y uint16 // ws_ypixel: Height in pixels +} + +func windowRectCall(ws *Winsize, fd, a2 uintptr) error { + _, _, errno := syscall.Syscall( + syscall.SYS_IOCTL, + fd, + a2, + uintptr(unsafe.Pointer(ws)), + ) + if errno != 0 { + return syscall.Errno(errno) + } + return nil +} diff --git a/vendor/github.com/kr/pty/ztypes_386.go b/vendor/github.com/kr/pty/ztypes_386.go new file mode 100644 index 000000000..ff0b8fd83 --- /dev/null +++ b/vendor/github.com/kr/pty/ztypes_386.go @@ -0,0 +1,9 @@ +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs types.go + +package pty + +type ( + _C_int int32 + _C_uint uint32 +) diff --git a/vendor/github.com/kr/pty/ztypes_amd64.go b/vendor/github.com/kr/pty/ztypes_amd64.go new file mode 100644 index 000000000..ff0b8fd83 --- /dev/null +++ b/vendor/github.com/kr/pty/ztypes_amd64.go @@ -0,0 +1,9 @@ +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs types.go + +package pty + +type ( + _C_int int32 + _C_uint uint32 +) diff --git a/vendor/github.com/kr/pty/ztypes_arm.go b/vendor/github.com/kr/pty/ztypes_arm.go new file mode 100644 index 000000000..ff0b8fd83 --- /dev/null +++ b/vendor/github.com/kr/pty/ztypes_arm.go @@ -0,0 +1,9 @@ +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs types.go + +package pty + +type ( + _C_int int32 + _C_uint uint32 +) diff --git a/vendor/github.com/kr/pty/ztypes_arm64.go b/vendor/github.com/kr/pty/ztypes_arm64.go new file mode 100644 index 000000000..6c29a4b91 --- /dev/null +++ b/vendor/github.com/kr/pty/ztypes_arm64.go @@ -0,0 +1,11 @@ +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs types.go + +// +build arm64 + +package pty + +type ( + _C_int int32 + _C_uint uint32 +) diff --git a/vendor/github.com/kr/pty/ztypes_dragonfly_amd64.go b/vendor/github.com/kr/pty/ztypes_dragonfly_amd64.go new file mode 100644 index 000000000..6b0ba037f --- /dev/null +++ b/vendor/github.com/kr/pty/ztypes_dragonfly_amd64.go @@ -0,0 +1,14 @@ +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs types_dragonfly.go + +package pty + +const ( + _C_SPECNAMELEN = 0x3f +) + +type fiodgnameArg struct { + Name *byte + Len uint32 + Pad_cgo_0 [4]byte +} diff --git a/vendor/github.com/kr/pty/ztypes_freebsd_386.go b/vendor/github.com/kr/pty/ztypes_freebsd_386.go new file mode 100644 index 000000000..d9975374e --- /dev/null +++ b/vendor/github.com/kr/pty/ztypes_freebsd_386.go @@ -0,0 +1,13 @@ +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs types_freebsd.go + +package pty + +const ( + _C_SPECNAMELEN = 0x3f +) + +type fiodgnameArg struct { + Len int32 + Buf *byte +} diff --git a/vendor/github.com/kr/pty/ztypes_freebsd_amd64.go b/vendor/github.com/kr/pty/ztypes_freebsd_amd64.go new file mode 100644 index 000000000..5fa102fcd --- /dev/null +++ b/vendor/github.com/kr/pty/ztypes_freebsd_amd64.go @@ -0,0 +1,14 @@ +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs types_freebsd.go + +package pty + +const ( + _C_SPECNAMELEN = 0x3f +) + +type fiodgnameArg struct { + Len int32 + Pad_cgo_0 [4]byte + Buf *byte +} diff --git a/vendor/github.com/kr/pty/ztypes_freebsd_arm.go b/vendor/github.com/kr/pty/ztypes_freebsd_arm.go new file mode 100644 index 000000000..d9975374e --- /dev/null +++ b/vendor/github.com/kr/pty/ztypes_freebsd_arm.go @@ -0,0 +1,13 @@ +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs types_freebsd.go + +package pty + +const ( + _C_SPECNAMELEN = 0x3f +) + +type fiodgnameArg struct { + Len int32 + Buf *byte +} diff --git a/vendor/github.com/kr/pty/ztypes_mipsx.go b/vendor/github.com/kr/pty/ztypes_mipsx.go new file mode 100644 index 000000000..f0ce74086 --- /dev/null +++ b/vendor/github.com/kr/pty/ztypes_mipsx.go @@ -0,0 +1,12 @@ +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs types.go + +// +build linux +// +build mips mipsle mips64 mips64le + +package pty + +type ( + _C_int int32 + _C_uint uint32 +) diff --git a/vendor/github.com/kr/pty/ztypes_openbsd_386.go b/vendor/github.com/kr/pty/ztypes_openbsd_386.go new file mode 100644 index 000000000..ccb3aab9a --- /dev/null +++ b/vendor/github.com/kr/pty/ztypes_openbsd_386.go @@ -0,0 +1,13 @@ +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs types_openbsd.go + +package pty + +type ptmget struct { + Cfd int32 + Sfd int32 + Cn [16]int8 + Sn [16]int8 +} + +var ioctl_PTMGET = 0x40287401 diff --git a/vendor/github.com/kr/pty/ztypes_openbsd_amd64.go b/vendor/github.com/kr/pty/ztypes_openbsd_amd64.go new file mode 100644 index 000000000..e67051688 --- /dev/null +++ b/vendor/github.com/kr/pty/ztypes_openbsd_amd64.go @@ -0,0 +1,13 @@ +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs types_openbsd.go + +package pty + +type ptmget struct { + Cfd int32 + Sfd int32 + Cn [16]int8 + Sn [16]int8 +} + +var ioctl_PTMGET = 0x40287401 diff --git a/vendor/github.com/kr/pty/ztypes_ppc64.go b/vendor/github.com/kr/pty/ztypes_ppc64.go new file mode 100644 index 000000000..4e1af8431 --- /dev/null +++ b/vendor/github.com/kr/pty/ztypes_ppc64.go @@ -0,0 +1,11 @@ +// +build ppc64 + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs types.go + +package pty + +type ( + _C_int int32 + _C_uint uint32 +) diff --git a/vendor/github.com/kr/pty/ztypes_ppc64le.go b/vendor/github.com/kr/pty/ztypes_ppc64le.go new file mode 100644 index 000000000..e6780f4e2 --- /dev/null +++ b/vendor/github.com/kr/pty/ztypes_ppc64le.go @@ -0,0 +1,11 @@ +// +build ppc64le + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs types.go + +package pty + +type ( + _C_int int32 + _C_uint uint32 +) diff --git a/vendor/github.com/kr/pty/ztypes_s390x.go b/vendor/github.com/kr/pty/ztypes_s390x.go new file mode 100644 index 000000000..a7452b61c --- /dev/null +++ b/vendor/github.com/kr/pty/ztypes_s390x.go @@ -0,0 +1,11 @@ +// +build s390x + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs types.go + +package pty + +type ( + _C_int int32 + _C_uint uint32 +) diff --git a/vendor/github.com/mattn/go-colorable/.travis.yml b/vendor/github.com/mattn/go-colorable/.travis.yml new file mode 100644 index 000000000..98db8f060 --- /dev/null +++ b/vendor/github.com/mattn/go-colorable/.travis.yml @@ -0,0 +1,9 @@ +language: go +go: + - tip + +before_install: + - go get github.com/mattn/goveralls + - go get golang.org/x/tools/cmd/cover +script: + - $HOME/gopath/bin/goveralls -repotoken xnXqRGwgW3SXIguzxf90ZSK1GPYZPaGrw diff --git a/vendor/github.com/mattn/go-colorable/LICENSE b/vendor/github.com/mattn/go-colorable/LICENSE new file mode 100644 index 000000000..91b5cef30 --- /dev/null +++ b/vendor/github.com/mattn/go-colorable/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Yasuhiro Matsumoto + +Permission 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: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE 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. diff --git a/vendor/github.com/mattn/go-colorable/README.md b/vendor/github.com/mattn/go-colorable/README.md new file mode 100644 index 000000000..56729a92c --- /dev/null +++ b/vendor/github.com/mattn/go-colorable/README.md @@ -0,0 +1,48 @@ +# go-colorable + +[![Godoc Reference](https://godoc.org/github.com/mattn/go-colorable?status.svg)](http://godoc.org/github.com/mattn/go-colorable) +[![Build Status](https://travis-ci.org/mattn/go-colorable.svg?branch=master)](https://travis-ci.org/mattn/go-colorable) +[![Coverage Status](https://coveralls.io/repos/github/mattn/go-colorable/badge.svg?branch=master)](https://coveralls.io/github/mattn/go-colorable?branch=master) +[![Go Report Card](https://goreportcard.com/badge/mattn/go-colorable)](https://goreportcard.com/report/mattn/go-colorable) + +Colorable writer for windows. + +For example, most of logger packages doesn't show colors on windows. (I know we can do it with ansicon. But I don't want.) +This package is possible to handle escape sequence for ansi color on windows. + +## Too Bad! + +![](https://raw.githubusercontent.com/mattn/go-colorable/gh-pages/bad.png) + + +## So Good! + +![](https://raw.githubusercontent.com/mattn/go-colorable/gh-pages/good.png) + +## Usage + +```go +logrus.SetFormatter(&logrus.TextFormatter{ForceColors: true}) +logrus.SetOutput(colorable.NewColorableStdout()) + +logrus.Info("succeeded") +logrus.Warn("not correct") +logrus.Error("something error") +logrus.Fatal("panic") +``` + +You can compile above code on non-windows OSs. + +## Installation + +``` +$ go get github.com/mattn/go-colorable +``` + +# License + +MIT + +# Author + +Yasuhiro Matsumoto (a.k.a mattn) diff --git a/vendor/github.com/mattn/go-colorable/colorable_appengine.go b/vendor/github.com/mattn/go-colorable/colorable_appengine.go new file mode 100644 index 000000000..1f28d773d --- /dev/null +++ b/vendor/github.com/mattn/go-colorable/colorable_appengine.go @@ -0,0 +1,29 @@ +// +build appengine + +package colorable + +import ( + "io" + "os" + + _ "github.com/mattn/go-isatty" +) + +// NewColorable return new instance of Writer which handle escape sequence. +func NewColorable(file *os.File) io.Writer { + if file == nil { + panic("nil passed instead of *os.File to NewColorable()") + } + + return file +} + +// NewColorableStdout return new instance of Writer which handle escape sequence for stdout. +func NewColorableStdout() io.Writer { + return os.Stdout +} + +// NewColorableStderr return new instance of Writer which handle escape sequence for stderr. +func NewColorableStderr() io.Writer { + return os.Stderr +} diff --git a/vendor/github.com/mattn/go-colorable/colorable_others.go b/vendor/github.com/mattn/go-colorable/colorable_others.go new file mode 100644 index 000000000..887f203dc --- /dev/null +++ b/vendor/github.com/mattn/go-colorable/colorable_others.go @@ -0,0 +1,30 @@ +// +build !windows +// +build !appengine + +package colorable + +import ( + "io" + "os" + + _ "github.com/mattn/go-isatty" +) + +// NewColorable return new instance of Writer which handle escape sequence. +func NewColorable(file *os.File) io.Writer { + if file == nil { + panic("nil passed instead of *os.File to NewColorable()") + } + + return file +} + +// NewColorableStdout return new instance of Writer which handle escape sequence for stdout. +func NewColorableStdout() io.Writer { + return os.Stdout +} + +// NewColorableStderr return new instance of Writer which handle escape sequence for stderr. +func NewColorableStderr() io.Writer { + return os.Stderr +} diff --git a/vendor/github.com/mattn/go-colorable/colorable_windows.go b/vendor/github.com/mattn/go-colorable/colorable_windows.go new file mode 100644 index 000000000..404e10ca0 --- /dev/null +++ b/vendor/github.com/mattn/go-colorable/colorable_windows.go @@ -0,0 +1,980 @@ +// +build windows +// +build !appengine + +package colorable + +import ( + "bytes" + "io" + "math" + "os" + "strconv" + "strings" + "syscall" + "unsafe" + + "github.com/mattn/go-isatty" +) + +const ( + foregroundBlue = 0x1 + foregroundGreen = 0x2 + foregroundRed = 0x4 + foregroundIntensity = 0x8 + foregroundMask = (foregroundRed | foregroundBlue | foregroundGreen | foregroundIntensity) + backgroundBlue = 0x10 + backgroundGreen = 0x20 + backgroundRed = 0x40 + backgroundIntensity = 0x80 + backgroundMask = (backgroundRed | backgroundBlue | backgroundGreen | backgroundIntensity) +) + +const ( + genericRead = 0x80000000 + genericWrite = 0x40000000 +) + +const ( + consoleTextmodeBuffer = 0x1 +) + +type wchar uint16 +type short int16 +type dword uint32 +type word uint16 + +type coord struct { + x short + y short +} + +type smallRect struct { + left short + top short + right short + bottom short +} + +type consoleScreenBufferInfo struct { + size coord + cursorPosition coord + attributes word + window smallRect + maximumWindowSize coord +} + +type consoleCursorInfo struct { + size dword + visible int32 +} + +var ( + kernel32 = syscall.NewLazyDLL("kernel32.dll") + procGetConsoleScreenBufferInfo = kernel32.NewProc("GetConsoleScreenBufferInfo") + procSetConsoleTextAttribute = kernel32.NewProc("SetConsoleTextAttribute") + procSetConsoleCursorPosition = kernel32.NewProc("SetConsoleCursorPosition") + procFillConsoleOutputCharacter = kernel32.NewProc("FillConsoleOutputCharacterW") + procFillConsoleOutputAttribute = kernel32.NewProc("FillConsoleOutputAttribute") + procGetConsoleCursorInfo = kernel32.NewProc("GetConsoleCursorInfo") + procSetConsoleCursorInfo = kernel32.NewProc("SetConsoleCursorInfo") + procSetConsoleTitle = kernel32.NewProc("SetConsoleTitleW") + procCreateConsoleScreenBuffer = kernel32.NewProc("CreateConsoleScreenBuffer") +) + +// Writer provide colorable Writer to the console +type Writer struct { + out io.Writer + handle syscall.Handle + althandle syscall.Handle + oldattr word + oldpos coord + rest bytes.Buffer +} + +// NewColorable return new instance of Writer which handle escape sequence from File. +func NewColorable(file *os.File) io.Writer { + if file == nil { + panic("nil passed instead of *os.File to NewColorable()") + } + + if isatty.IsTerminal(file.Fd()) { + var csbi consoleScreenBufferInfo + handle := syscall.Handle(file.Fd()) + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + return &Writer{out: file, handle: handle, oldattr: csbi.attributes, oldpos: coord{0, 0}} + } + return file +} + +// NewColorableStdout return new instance of Writer which handle escape sequence for stdout. +func NewColorableStdout() io.Writer { + return NewColorable(os.Stdout) +} + +// NewColorableStderr return new instance of Writer which handle escape sequence for stderr. +func NewColorableStderr() io.Writer { + return NewColorable(os.Stderr) +} + +var color256 = map[int]int{ + 0: 0x000000, + 1: 0x800000, + 2: 0x008000, + 3: 0x808000, + 4: 0x000080, + 5: 0x800080, + 6: 0x008080, + 7: 0xc0c0c0, + 8: 0x808080, + 9: 0xff0000, + 10: 0x00ff00, + 11: 0xffff00, + 12: 0x0000ff, + 13: 0xff00ff, + 14: 0x00ffff, + 15: 0xffffff, + 16: 0x000000, + 17: 0x00005f, + 18: 0x000087, + 19: 0x0000af, + 20: 0x0000d7, + 21: 0x0000ff, + 22: 0x005f00, + 23: 0x005f5f, + 24: 0x005f87, + 25: 0x005faf, + 26: 0x005fd7, + 27: 0x005fff, + 28: 0x008700, + 29: 0x00875f, + 30: 0x008787, + 31: 0x0087af, + 32: 0x0087d7, + 33: 0x0087ff, + 34: 0x00af00, + 35: 0x00af5f, + 36: 0x00af87, + 37: 0x00afaf, + 38: 0x00afd7, + 39: 0x00afff, + 40: 0x00d700, + 41: 0x00d75f, + 42: 0x00d787, + 43: 0x00d7af, + 44: 0x00d7d7, + 45: 0x00d7ff, + 46: 0x00ff00, + 47: 0x00ff5f, + 48: 0x00ff87, + 49: 0x00ffaf, + 50: 0x00ffd7, + 51: 0x00ffff, + 52: 0x5f0000, + 53: 0x5f005f, + 54: 0x5f0087, + 55: 0x5f00af, + 56: 0x5f00d7, + 57: 0x5f00ff, + 58: 0x5f5f00, + 59: 0x5f5f5f, + 60: 0x5f5f87, + 61: 0x5f5faf, + 62: 0x5f5fd7, + 63: 0x5f5fff, + 64: 0x5f8700, + 65: 0x5f875f, + 66: 0x5f8787, + 67: 0x5f87af, + 68: 0x5f87d7, + 69: 0x5f87ff, + 70: 0x5faf00, + 71: 0x5faf5f, + 72: 0x5faf87, + 73: 0x5fafaf, + 74: 0x5fafd7, + 75: 0x5fafff, + 76: 0x5fd700, + 77: 0x5fd75f, + 78: 0x5fd787, + 79: 0x5fd7af, + 80: 0x5fd7d7, + 81: 0x5fd7ff, + 82: 0x5fff00, + 83: 0x5fff5f, + 84: 0x5fff87, + 85: 0x5fffaf, + 86: 0x5fffd7, + 87: 0x5fffff, + 88: 0x870000, + 89: 0x87005f, + 90: 0x870087, + 91: 0x8700af, + 92: 0x8700d7, + 93: 0x8700ff, + 94: 0x875f00, + 95: 0x875f5f, + 96: 0x875f87, + 97: 0x875faf, + 98: 0x875fd7, + 99: 0x875fff, + 100: 0x878700, + 101: 0x87875f, + 102: 0x878787, + 103: 0x8787af, + 104: 0x8787d7, + 105: 0x8787ff, + 106: 0x87af00, + 107: 0x87af5f, + 108: 0x87af87, + 109: 0x87afaf, + 110: 0x87afd7, + 111: 0x87afff, + 112: 0x87d700, + 113: 0x87d75f, + 114: 0x87d787, + 115: 0x87d7af, + 116: 0x87d7d7, + 117: 0x87d7ff, + 118: 0x87ff00, + 119: 0x87ff5f, + 120: 0x87ff87, + 121: 0x87ffaf, + 122: 0x87ffd7, + 123: 0x87ffff, + 124: 0xaf0000, + 125: 0xaf005f, + 126: 0xaf0087, + 127: 0xaf00af, + 128: 0xaf00d7, + 129: 0xaf00ff, + 130: 0xaf5f00, + 131: 0xaf5f5f, + 132: 0xaf5f87, + 133: 0xaf5faf, + 134: 0xaf5fd7, + 135: 0xaf5fff, + 136: 0xaf8700, + 137: 0xaf875f, + 138: 0xaf8787, + 139: 0xaf87af, + 140: 0xaf87d7, + 141: 0xaf87ff, + 142: 0xafaf00, + 143: 0xafaf5f, + 144: 0xafaf87, + 145: 0xafafaf, + 146: 0xafafd7, + 147: 0xafafff, + 148: 0xafd700, + 149: 0xafd75f, + 150: 0xafd787, + 151: 0xafd7af, + 152: 0xafd7d7, + 153: 0xafd7ff, + 154: 0xafff00, + 155: 0xafff5f, + 156: 0xafff87, + 157: 0xafffaf, + 158: 0xafffd7, + 159: 0xafffff, + 160: 0xd70000, + 161: 0xd7005f, + 162: 0xd70087, + 163: 0xd700af, + 164: 0xd700d7, + 165: 0xd700ff, + 166: 0xd75f00, + 167: 0xd75f5f, + 168: 0xd75f87, + 169: 0xd75faf, + 170: 0xd75fd7, + 171: 0xd75fff, + 172: 0xd78700, + 173: 0xd7875f, + 174: 0xd78787, + 175: 0xd787af, + 176: 0xd787d7, + 177: 0xd787ff, + 178: 0xd7af00, + 179: 0xd7af5f, + 180: 0xd7af87, + 181: 0xd7afaf, + 182: 0xd7afd7, + 183: 0xd7afff, + 184: 0xd7d700, + 185: 0xd7d75f, + 186: 0xd7d787, + 187: 0xd7d7af, + 188: 0xd7d7d7, + 189: 0xd7d7ff, + 190: 0xd7ff00, + 191: 0xd7ff5f, + 192: 0xd7ff87, + 193: 0xd7ffaf, + 194: 0xd7ffd7, + 195: 0xd7ffff, + 196: 0xff0000, + 197: 0xff005f, + 198: 0xff0087, + 199: 0xff00af, + 200: 0xff00d7, + 201: 0xff00ff, + 202: 0xff5f00, + 203: 0xff5f5f, + 204: 0xff5f87, + 205: 0xff5faf, + 206: 0xff5fd7, + 207: 0xff5fff, + 208: 0xff8700, + 209: 0xff875f, + 210: 0xff8787, + 211: 0xff87af, + 212: 0xff87d7, + 213: 0xff87ff, + 214: 0xffaf00, + 215: 0xffaf5f, + 216: 0xffaf87, + 217: 0xffafaf, + 218: 0xffafd7, + 219: 0xffafff, + 220: 0xffd700, + 221: 0xffd75f, + 222: 0xffd787, + 223: 0xffd7af, + 224: 0xffd7d7, + 225: 0xffd7ff, + 226: 0xffff00, + 227: 0xffff5f, + 228: 0xffff87, + 229: 0xffffaf, + 230: 0xffffd7, + 231: 0xffffff, + 232: 0x080808, + 233: 0x121212, + 234: 0x1c1c1c, + 235: 0x262626, + 236: 0x303030, + 237: 0x3a3a3a, + 238: 0x444444, + 239: 0x4e4e4e, + 240: 0x585858, + 241: 0x626262, + 242: 0x6c6c6c, + 243: 0x767676, + 244: 0x808080, + 245: 0x8a8a8a, + 246: 0x949494, + 247: 0x9e9e9e, + 248: 0xa8a8a8, + 249: 0xb2b2b2, + 250: 0xbcbcbc, + 251: 0xc6c6c6, + 252: 0xd0d0d0, + 253: 0xdadada, + 254: 0xe4e4e4, + 255: 0xeeeeee, +} + +// `\033]0;TITLESTR\007` +func doTitleSequence(er *bytes.Reader) error { + var c byte + var err error + + c, err = er.ReadByte() + if err != nil { + return err + } + if c != '0' && c != '2' { + return nil + } + c, err = er.ReadByte() + if err != nil { + return err + } + if c != ';' { + return nil + } + title := make([]byte, 0, 80) + for { + c, err = er.ReadByte() + if err != nil { + return err + } + if c == 0x07 || c == '\n' { + break + } + title = append(title, c) + } + if len(title) > 0 { + title8, err := syscall.UTF16PtrFromString(string(title)) + if err == nil { + procSetConsoleTitle.Call(uintptr(unsafe.Pointer(title8))) + } + } + return nil +} + +// Write write data on console +func (w *Writer) Write(data []byte) (n int, err error) { + var csbi consoleScreenBufferInfo + procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi))) + + handle := w.handle + + var er *bytes.Reader + if w.rest.Len() > 0 { + var rest bytes.Buffer + w.rest.WriteTo(&rest) + w.rest.Reset() + rest.Write(data) + er = bytes.NewReader(rest.Bytes()) + } else { + er = bytes.NewReader(data) + } + var bw [1]byte +loop: + for { + c1, err := er.ReadByte() + if err != nil { + break loop + } + if c1 != 0x1b { + bw[0] = c1 + w.out.Write(bw[:]) + continue + } + c2, err := er.ReadByte() + if err != nil { + break loop + } + + switch c2 { + case '>': + continue + case ']': + w.rest.WriteByte(c1) + w.rest.WriteByte(c2) + er.WriteTo(&w.rest) + if bytes.IndexByte(w.rest.Bytes(), 0x07) == -1 { + break loop + } + er = bytes.NewReader(w.rest.Bytes()[2:]) + err := doTitleSequence(er) + if err != nil { + break loop + } + w.rest.Reset() + continue + // https://github.com/mattn/go-colorable/issues/27 + case '7': + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + w.oldpos = csbi.cursorPosition + continue + case '8': + procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&w.oldpos))) + continue + case 0x5b: + // execute part after switch + default: + continue + } + + w.rest.WriteByte(c1) + w.rest.WriteByte(c2) + er.WriteTo(&w.rest) + + var buf bytes.Buffer + var m byte + for i, c := range w.rest.Bytes()[2:] { + if ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || c == '@' { + m = c + er = bytes.NewReader(w.rest.Bytes()[2+i+1:]) + w.rest.Reset() + break + } + buf.Write([]byte(string(c))) + } + if m == 0 { + break loop + } + + switch m { + case 'A': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.y -= short(n) + procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'B': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.y += short(n) + procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'C': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.x += short(n) + procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'D': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.x -= short(n) + if csbi.cursorPosition.x < 0 { + csbi.cursorPosition.x = 0 + } + procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'E': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.x = 0 + csbi.cursorPosition.y += short(n) + procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'F': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.x = 0 + csbi.cursorPosition.y -= short(n) + procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'G': + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + csbi.cursorPosition.x = short(n - 1) + procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'H', 'f': + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + if buf.Len() > 0 { + token := strings.Split(buf.String(), ";") + switch len(token) { + case 1: + n1, err := strconv.Atoi(token[0]) + if err != nil { + continue + } + csbi.cursorPosition.y = short(n1 - 1) + case 2: + n1, err := strconv.Atoi(token[0]) + if err != nil { + continue + } + n2, err := strconv.Atoi(token[1]) + if err != nil { + continue + } + csbi.cursorPosition.x = short(n2 - 1) + csbi.cursorPosition.y = short(n1 - 1) + } + } else { + csbi.cursorPosition.y = 0 + } + procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition))) + case 'J': + n := 0 + if buf.Len() > 0 { + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + } + var count, written dword + var cursor coord + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + switch n { + case 0: + cursor = coord{x: csbi.cursorPosition.x, y: csbi.cursorPosition.y} + count = dword(csbi.size.x) - dword(csbi.cursorPosition.x) + dword(csbi.size.y-csbi.cursorPosition.y)*dword(csbi.size.x) + case 1: + cursor = coord{x: csbi.window.left, y: csbi.window.top} + count = dword(csbi.size.x) - dword(csbi.cursorPosition.x) + dword(csbi.window.top-csbi.cursorPosition.y)*dword(csbi.size.x) + case 2: + cursor = coord{x: csbi.window.left, y: csbi.window.top} + count = dword(csbi.size.x) - dword(csbi.cursorPosition.x) + dword(csbi.size.y-csbi.cursorPosition.y)*dword(csbi.size.x) + } + procFillConsoleOutputCharacter.Call(uintptr(handle), uintptr(' '), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) + procFillConsoleOutputAttribute.Call(uintptr(handle), uintptr(csbi.attributes), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) + case 'K': + n := 0 + if buf.Len() > 0 { + n, err = strconv.Atoi(buf.String()) + if err != nil { + continue + } + } + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + var cursor coord + var count, written dword + switch n { + case 0: + cursor = coord{x: csbi.cursorPosition.x, y: csbi.cursorPosition.y} + count = dword(csbi.size.x - csbi.cursorPosition.x) + case 1: + cursor = coord{x: csbi.window.left, y: csbi.cursorPosition.y} + count = dword(csbi.size.x - csbi.cursorPosition.x) + case 2: + cursor = coord{x: csbi.window.left, y: csbi.cursorPosition.y} + count = dword(csbi.size.x) + } + procFillConsoleOutputCharacter.Call(uintptr(handle), uintptr(' '), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) + procFillConsoleOutputAttribute.Call(uintptr(handle), uintptr(csbi.attributes), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written))) + case 'm': + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + attr := csbi.attributes + cs := buf.String() + if cs == "" { + procSetConsoleTextAttribute.Call(uintptr(handle), uintptr(w.oldattr)) + continue + } + token := strings.Split(cs, ";") + for i := 0; i < len(token); i++ { + ns := token[i] + if n, err = strconv.Atoi(ns); err == nil { + switch { + case n == 0 || n == 100: + attr = w.oldattr + case 1 <= n && n <= 5: + attr |= foregroundIntensity + case n == 7: + attr = ((attr & foregroundMask) << 4) | ((attr & backgroundMask) >> 4) + case n == 22 || n == 25: + attr |= foregroundIntensity + case n == 27: + attr = ((attr & foregroundMask) << 4) | ((attr & backgroundMask) >> 4) + case 30 <= n && n <= 37: + attr &= backgroundMask + if (n-30)&1 != 0 { + attr |= foregroundRed + } + if (n-30)&2 != 0 { + attr |= foregroundGreen + } + if (n-30)&4 != 0 { + attr |= foregroundBlue + } + case n == 38: // set foreground color. + if i < len(token)-2 && (token[i+1] == "5" || token[i+1] == "05") { + if n256, err := strconv.Atoi(token[i+2]); err == nil { + if n256foreAttr == nil { + n256setup() + } + attr &= backgroundMask + attr |= n256foreAttr[n256] + i += 2 + } + } else if len(token) == 5 && token[i+1] == "2" { + var r, g, b int + r, _ = strconv.Atoi(token[i+2]) + g, _ = strconv.Atoi(token[i+3]) + b, _ = strconv.Atoi(token[i+4]) + i += 4 + if r > 127 { + attr |= foregroundRed + } + if g > 127 { + attr |= foregroundGreen + } + if b > 127 { + attr |= foregroundBlue + } + } else { + attr = attr & (w.oldattr & backgroundMask) + } + case n == 39: // reset foreground color. + attr &= backgroundMask + attr |= w.oldattr & foregroundMask + case 40 <= n && n <= 47: + attr &= foregroundMask + if (n-40)&1 != 0 { + attr |= backgroundRed + } + if (n-40)&2 != 0 { + attr |= backgroundGreen + } + if (n-40)&4 != 0 { + attr |= backgroundBlue + } + case n == 48: // set background color. + if i < len(token)-2 && token[i+1] == "5" { + if n256, err := strconv.Atoi(token[i+2]); err == nil { + if n256backAttr == nil { + n256setup() + } + attr &= foregroundMask + attr |= n256backAttr[n256] + i += 2 + } + } else if len(token) == 5 && token[i+1] == "2" { + var r, g, b int + r, _ = strconv.Atoi(token[i+2]) + g, _ = strconv.Atoi(token[i+3]) + b, _ = strconv.Atoi(token[i+4]) + i += 4 + if r > 127 { + attr |= backgroundRed + } + if g > 127 { + attr |= backgroundGreen + } + if b > 127 { + attr |= backgroundBlue + } + } else { + attr = attr & (w.oldattr & foregroundMask) + } + case n == 49: // reset foreground color. + attr &= foregroundMask + attr |= w.oldattr & backgroundMask + case 90 <= n && n <= 97: + attr = (attr & backgroundMask) + attr |= foregroundIntensity + if (n-90)&1 != 0 { + attr |= foregroundRed + } + if (n-90)&2 != 0 { + attr |= foregroundGreen + } + if (n-90)&4 != 0 { + attr |= foregroundBlue + } + case 100 <= n && n <= 107: + attr = (attr & foregroundMask) + attr |= backgroundIntensity + if (n-100)&1 != 0 { + attr |= backgroundRed + } + if (n-100)&2 != 0 { + attr |= backgroundGreen + } + if (n-100)&4 != 0 { + attr |= backgroundBlue + } + } + procSetConsoleTextAttribute.Call(uintptr(handle), uintptr(attr)) + } + } + case 'h': + var ci consoleCursorInfo + cs := buf.String() + if cs == "5>" { + procGetConsoleCursorInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&ci))) + ci.visible = 0 + procSetConsoleCursorInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&ci))) + } else if cs == "?25" { + procGetConsoleCursorInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&ci))) + ci.visible = 1 + procSetConsoleCursorInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&ci))) + } else if cs == "?1049" { + if w.althandle == 0 { + h, _, _ := procCreateConsoleScreenBuffer.Call(uintptr(genericRead|genericWrite), 0, 0, uintptr(consoleTextmodeBuffer), 0, 0) + w.althandle = syscall.Handle(h) + if w.althandle != 0 { + handle = w.althandle + } + } + } + case 'l': + var ci consoleCursorInfo + cs := buf.String() + if cs == "5>" { + procGetConsoleCursorInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&ci))) + ci.visible = 1 + procSetConsoleCursorInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&ci))) + } else if cs == "?25" { + procGetConsoleCursorInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&ci))) + ci.visible = 0 + procSetConsoleCursorInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&ci))) + } else if cs == "?1049" { + if w.althandle != 0 { + syscall.CloseHandle(w.althandle) + w.althandle = 0 + handle = w.handle + } + } + case 's': + procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi))) + w.oldpos = csbi.cursorPosition + case 'u': + procSetConsoleCursorPosition.Call(uintptr(handle), *(*uintptr)(unsafe.Pointer(&w.oldpos))) + } + } + + return len(data), nil +} + +type consoleColor struct { + rgb int + red bool + green bool + blue bool + intensity bool +} + +func (c consoleColor) foregroundAttr() (attr word) { + if c.red { + attr |= foregroundRed + } + if c.green { + attr |= foregroundGreen + } + if c.blue { + attr |= foregroundBlue + } + if c.intensity { + attr |= foregroundIntensity + } + return +} + +func (c consoleColor) backgroundAttr() (attr word) { + if c.red { + attr |= backgroundRed + } + if c.green { + attr |= backgroundGreen + } + if c.blue { + attr |= backgroundBlue + } + if c.intensity { + attr |= backgroundIntensity + } + return +} + +var color16 = []consoleColor{ + {0x000000, false, false, false, false}, + {0x000080, false, false, true, false}, + {0x008000, false, true, false, false}, + {0x008080, false, true, true, false}, + {0x800000, true, false, false, false}, + {0x800080, true, false, true, false}, + {0x808000, true, true, false, false}, + {0xc0c0c0, true, true, true, false}, + {0x808080, false, false, false, true}, + {0x0000ff, false, false, true, true}, + {0x00ff00, false, true, false, true}, + {0x00ffff, false, true, true, true}, + {0xff0000, true, false, false, true}, + {0xff00ff, true, false, true, true}, + {0xffff00, true, true, false, true}, + {0xffffff, true, true, true, true}, +} + +type hsv struct { + h, s, v float32 +} + +func (a hsv) dist(b hsv) float32 { + dh := a.h - b.h + switch { + case dh > 0.5: + dh = 1 - dh + case dh < -0.5: + dh = -1 - dh + } + ds := a.s - b.s + dv := a.v - b.v + return float32(math.Sqrt(float64(dh*dh + ds*ds + dv*dv))) +} + +func toHSV(rgb int) hsv { + r, g, b := float32((rgb&0xFF0000)>>16)/256.0, + float32((rgb&0x00FF00)>>8)/256.0, + float32(rgb&0x0000FF)/256.0 + min, max := minmax3f(r, g, b) + h := max - min + if h > 0 { + if max == r { + h = (g - b) / h + if h < 0 { + h += 6 + } + } else if max == g { + h = 2 + (b-r)/h + } else { + h = 4 + (r-g)/h + } + } + h /= 6.0 + s := max - min + if max != 0 { + s /= max + } + v := max + return hsv{h: h, s: s, v: v} +} + +type hsvTable []hsv + +func toHSVTable(rgbTable []consoleColor) hsvTable { + t := make(hsvTable, len(rgbTable)) + for i, c := range rgbTable { + t[i] = toHSV(c.rgb) + } + return t +} + +func (t hsvTable) find(rgb int) consoleColor { + hsv := toHSV(rgb) + n := 7 + l := float32(5.0) + for i, p := range t { + d := hsv.dist(p) + if d < l { + l, n = d, i + } + } + return color16[n] +} + +func minmax3f(a, b, c float32) (min, max float32) { + if a < b { + if b < c { + return a, c + } else if a < c { + return a, b + } else { + return c, b + } + } else { + if a < c { + return b, c + } else if b < c { + return b, a + } else { + return c, a + } + } +} + +var n256foreAttr []word +var n256backAttr []word + +func n256setup() { + n256foreAttr = make([]word, 256) + n256backAttr = make([]word, 256) + t := toHSVTable(color16) + for i, rgb := range color256 { + c := t.find(rgb) + n256foreAttr[i] = c.foregroundAttr() + n256backAttr[i] = c.backgroundAttr() + } +} diff --git a/vendor/github.com/mattn/go-colorable/noncolorable.go b/vendor/github.com/mattn/go-colorable/noncolorable.go new file mode 100644 index 000000000..9721e16f4 --- /dev/null +++ b/vendor/github.com/mattn/go-colorable/noncolorable.go @@ -0,0 +1,55 @@ +package colorable + +import ( + "bytes" + "io" +) + +// NonColorable hold writer but remove escape sequence. +type NonColorable struct { + out io.Writer +} + +// NewNonColorable return new instance of Writer which remove escape sequence from Writer. +func NewNonColorable(w io.Writer) io.Writer { + return &NonColorable{out: w} +} + +// Write write data on console +func (w *NonColorable) Write(data []byte) (n int, err error) { + er := bytes.NewReader(data) + var bw [1]byte +loop: + for { + c1, err := er.ReadByte() + if err != nil { + break loop + } + if c1 != 0x1b { + bw[0] = c1 + w.out.Write(bw[:]) + continue + } + c2, err := er.ReadByte() + if err != nil { + break loop + } + if c2 != 0x5b { + continue + } + + var buf bytes.Buffer + for { + c, err := er.ReadByte() + if err != nil { + break loop + } + if ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || c == '@' { + break + } + buf.Write([]byte(string(c))) + } + } + + return len(data), nil +} diff --git a/vendor/github.com/mattn/go-isatty/.travis.yml b/vendor/github.com/mattn/go-isatty/.travis.yml new file mode 100644 index 000000000..5597e026d --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/.travis.yml @@ -0,0 +1,13 @@ +language: go +go: + - tip + +os: + - linux + - osx + +before_install: + - go get github.com/mattn/goveralls + - go get golang.org/x/tools/cmd/cover +script: + - $HOME/gopath/bin/goveralls -repotoken 3gHdORO5k5ziZcWMBxnd9LrMZaJs8m9x5 diff --git a/vendor/github.com/mattn/go-isatty/LICENSE b/vendor/github.com/mattn/go-isatty/LICENSE new file mode 100644 index 000000000..65dc692b6 --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/LICENSE @@ -0,0 +1,9 @@ +Copyright (c) Yasuhiro MATSUMOTO + +MIT License (Expat) + +Permission 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: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE 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. diff --git a/vendor/github.com/mattn/go-isatty/README.md b/vendor/github.com/mattn/go-isatty/README.md new file mode 100644 index 000000000..1e69004bb --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/README.md @@ -0,0 +1,50 @@ +# go-isatty + +[![Godoc Reference](https://godoc.org/github.com/mattn/go-isatty?status.svg)](http://godoc.org/github.com/mattn/go-isatty) +[![Build Status](https://travis-ci.org/mattn/go-isatty.svg?branch=master)](https://travis-ci.org/mattn/go-isatty) +[![Coverage Status](https://coveralls.io/repos/github/mattn/go-isatty/badge.svg?branch=master)](https://coveralls.io/github/mattn/go-isatty?branch=master) +[![Go Report Card](https://goreportcard.com/badge/mattn/go-isatty)](https://goreportcard.com/report/mattn/go-isatty) + +isatty for golang + +## Usage + +```go +package main + +import ( + "fmt" + "github.com/mattn/go-isatty" + "os" +) + +func main() { + if isatty.IsTerminal(os.Stdout.Fd()) { + fmt.Println("Is Terminal") + } else if isatty.IsCygwinTerminal(os.Stdout.Fd()) { + fmt.Println("Is Cygwin/MSYS2 Terminal") + } else { + fmt.Println("Is Not Terminal") + } +} +``` + +## Installation + +``` +$ go get github.com/mattn/go-isatty +``` + +## License + +MIT + +## Author + +Yasuhiro Matsumoto (a.k.a mattn) + +## Thanks + +* k-takata: base idea for IsCygwinTerminal + + https://github.com/k-takata/go-iscygpty diff --git a/vendor/github.com/mattn/go-isatty/doc.go b/vendor/github.com/mattn/go-isatty/doc.go new file mode 100644 index 000000000..17d4f90eb --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/doc.go @@ -0,0 +1,2 @@ +// Package isatty implements interface to isatty +package isatty diff --git a/vendor/github.com/mattn/go-isatty/isatty_appengine.go b/vendor/github.com/mattn/go-isatty/isatty_appengine.go new file mode 100644 index 000000000..9584a9884 --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/isatty_appengine.go @@ -0,0 +1,15 @@ +// +build appengine + +package isatty + +// IsTerminal returns true if the file descriptor is terminal which +// is always false on on appengine classic which is a sandboxed PaaS. +func IsTerminal(fd uintptr) bool { + return false +} + +// IsCygwinTerminal() return true if the file descriptor is a cygwin or msys2 +// terminal. This is also always false on this environment. +func IsCygwinTerminal(fd uintptr) bool { + return false +} diff --git a/vendor/github.com/mattn/go-isatty/isatty_bsd.go b/vendor/github.com/mattn/go-isatty/isatty_bsd.go new file mode 100644 index 000000000..42f2514d1 --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/isatty_bsd.go @@ -0,0 +1,18 @@ +// +build darwin freebsd openbsd netbsd dragonfly +// +build !appengine + +package isatty + +import ( + "syscall" + "unsafe" +) + +const ioctlReadTermios = syscall.TIOCGETA + +// IsTerminal return true if the file descriptor is terminal. +func IsTerminal(fd uintptr) bool { + var termios syscall.Termios + _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) + return err == 0 +} diff --git a/vendor/github.com/mattn/go-isatty/isatty_linux.go b/vendor/github.com/mattn/go-isatty/isatty_linux.go new file mode 100644 index 000000000..7384cf991 --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/isatty_linux.go @@ -0,0 +1,18 @@ +// +build linux +// +build !appengine,!ppc64,!ppc64le + +package isatty + +import ( + "syscall" + "unsafe" +) + +const ioctlReadTermios = syscall.TCGETS + +// IsTerminal return true if the file descriptor is terminal. +func IsTerminal(fd uintptr) bool { + var termios syscall.Termios + _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) + return err == 0 +} diff --git a/vendor/github.com/mattn/go-isatty/isatty_linux_ppc64x.go b/vendor/github.com/mattn/go-isatty/isatty_linux_ppc64x.go new file mode 100644 index 000000000..44e5d2130 --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/isatty_linux_ppc64x.go @@ -0,0 +1,19 @@ +// +build linux +// +build ppc64 ppc64le + +package isatty + +import ( + "unsafe" + + syscall "golang.org/x/sys/unix" +) + +const ioctlReadTermios = syscall.TCGETS + +// IsTerminal return true if the file descriptor is terminal. +func IsTerminal(fd uintptr) bool { + var termios syscall.Termios + _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) + return err == 0 +} diff --git a/vendor/github.com/mattn/go-isatty/isatty_others.go b/vendor/github.com/mattn/go-isatty/isatty_others.go new file mode 100644 index 000000000..9d8b4a599 --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/isatty_others.go @@ -0,0 +1,10 @@ +// +build !windows +// +build !appengine + +package isatty + +// IsCygwinTerminal return true if the file descriptor is a cygwin or msys2 +// terminal. This is also always false on this environment. +func IsCygwinTerminal(fd uintptr) bool { + return false +} diff --git a/vendor/github.com/mattn/go-isatty/isatty_solaris.go b/vendor/github.com/mattn/go-isatty/isatty_solaris.go new file mode 100644 index 000000000..1f0c6bf53 --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/isatty_solaris.go @@ -0,0 +1,16 @@ +// +build solaris +// +build !appengine + +package isatty + +import ( + "golang.org/x/sys/unix" +) + +// IsTerminal returns true if the given file descriptor is a terminal. +// see: http://src.illumos.org/source/xref/illumos-gate/usr/src/lib/libbc/libc/gen/common/isatty.c +func IsTerminal(fd uintptr) bool { + var termio unix.Termio + err := unix.IoctlSetTermio(int(fd), unix.TCGETA, &termio) + return err == nil +} diff --git a/vendor/github.com/mattn/go-isatty/isatty_windows.go b/vendor/github.com/mattn/go-isatty/isatty_windows.go new file mode 100644 index 000000000..af51cbcaa --- /dev/null +++ b/vendor/github.com/mattn/go-isatty/isatty_windows.go @@ -0,0 +1,94 @@ +// +build windows +// +build !appengine + +package isatty + +import ( + "strings" + "syscall" + "unicode/utf16" + "unsafe" +) + +const ( + fileNameInfo uintptr = 2 + fileTypePipe = 3 +) + +var ( + kernel32 = syscall.NewLazyDLL("kernel32.dll") + procGetConsoleMode = kernel32.NewProc("GetConsoleMode") + procGetFileInformationByHandleEx = kernel32.NewProc("GetFileInformationByHandleEx") + procGetFileType = kernel32.NewProc("GetFileType") +) + +func init() { + // Check if GetFileInformationByHandleEx is available. + if procGetFileInformationByHandleEx.Find() != nil { + procGetFileInformationByHandleEx = nil + } +} + +// IsTerminal return true if the file descriptor is terminal. +func IsTerminal(fd uintptr) bool { + var st uint32 + r, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, fd, uintptr(unsafe.Pointer(&st)), 0) + return r != 0 && e == 0 +} + +// Check pipe name is used for cygwin/msys2 pty. +// Cygwin/MSYS2 PTY has a name like: +// \{cygwin,msys}-XXXXXXXXXXXXXXXX-ptyN-{from,to}-master +func isCygwinPipeName(name string) bool { + token := strings.Split(name, "-") + if len(token) < 5 { + return false + } + + if token[0] != `\msys` && token[0] != `\cygwin` { + return false + } + + if token[1] == "" { + return false + } + + if !strings.HasPrefix(token[2], "pty") { + return false + } + + if token[3] != `from` && token[3] != `to` { + return false + } + + if token[4] != "master" { + return false + } + + return true +} + +// IsCygwinTerminal() return true if the file descriptor is a cygwin or msys2 +// terminal. +func IsCygwinTerminal(fd uintptr) bool { + if procGetFileInformationByHandleEx == nil { + return false + } + + // Cygwin/msys's pty is a pipe. + ft, _, e := syscall.Syscall(procGetFileType.Addr(), 1, fd, 0, 0) + if ft != fileTypePipe || e != 0 { + return false + } + + var buf [2 + syscall.MAX_PATH]uint16 + r, _, e := syscall.Syscall6(procGetFileInformationByHandleEx.Addr(), + 4, fd, fileNameInfo, uintptr(unsafe.Pointer(&buf)), + uintptr(len(buf)*2), 0, 0) + if r == 0 || e != 0 { + return false + } + + l := *(*uint32)(unsafe.Pointer(&buf)) + return isCygwinPipeName(string(utf16.Decode(buf[2 : 2+l/2]))) +} diff --git a/vendor/github.com/mgutz/ansi/.gitignore b/vendor/github.com/mgutz/ansi/.gitignore new file mode 100644 index 000000000..9ed3b07ce --- /dev/null +++ b/vendor/github.com/mgutz/ansi/.gitignore @@ -0,0 +1 @@ +*.test diff --git a/vendor/github.com/mgutz/ansi/LICENSE b/vendor/github.com/mgutz/ansi/LICENSE new file mode 100644 index 000000000..06ce0c3b5 --- /dev/null +++ b/vendor/github.com/mgutz/ansi/LICENSE @@ -0,0 +1,9 @@ +The MIT License (MIT) +Copyright (c) 2013 Mario L. Gutierrez + +Permission 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: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE 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. + diff --git a/vendor/github.com/mgutz/ansi/README.md b/vendor/github.com/mgutz/ansi/README.md new file mode 100644 index 000000000..8f8e20b7e --- /dev/null +++ b/vendor/github.com/mgutz/ansi/README.md @@ -0,0 +1,121 @@ +# ansi + +Package ansi is a small, fast library to create ANSI colored strings and codes. + +## Install + +Get it + +```sh +go get -u github.com/mgutz/ansi +``` + +## Example + +```go +import "github.com/mgutz/ansi" + +// colorize a string, SLOW +msg := ansi.Color("foo", "red+b:white") + +// create a FAST closure function to avoid computation of ANSI code +phosphorize := ansi.ColorFunc("green+h:black") +msg = phosphorize("Bring back the 80s!") +msg2 := phospohorize("Look, I'm a CRT!") + +// cache escape codes and build strings manually +lime := ansi.ColorCode("green+h:black") +reset := ansi.ColorCode("reset") + +fmt.Println(lime, "Bring back the 80s!", reset) +``` + +Other examples + +```go +Color(s, "red") // red +Color(s, "red+b") // red bold +Color(s, "red+B") // red blinking +Color(s, "red+u") // red underline +Color(s, "red+bh") // red bold bright +Color(s, "red:white") // red on white +Color(s, "red+b:white+h") // red bold on white bright +Color(s, "red+B:white+h") // red blink on white bright +Color(s, "off") // turn off ansi codes +``` + +To view color combinations, from project directory in terminal. + +```sh +go test +``` + +## Style format + +```go +"foregroundColor+attributes:backgroundColor+attributes" +``` + +Colors + +* black +* red +* green +* yellow +* blue +* magenta +* cyan +* white +* 0...255 (256 colors) + +Foreground Attributes + +* B = Blink +* b = bold +* h = high intensity (bright) +* i = inverse +* s = strikethrough +* u = underline + +Background Attributes + +* h = high intensity (bright) + +## Constants + +* ansi.Reset +* ansi.DefaultBG +* ansi.DefaultFG +* ansi.Black +* ansi.Red +* ansi.Green +* ansi.Yellow +* ansi.Blue +* ansi.Magenta +* ansi.Cyan +* ansi.White +* ansi.LightBlack +* ansi.LightRed +* ansi.LightGreen +* ansi.LightYellow +* ansi.LightBlue +* ansi.LightMagenta +* ansi.LightCyan +* ansi.LightWhite + +## References + +Wikipedia ANSI escape codes [Colors](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors) + +General [tips and formatting](http://misc.flogisoft.com/bash/tip_colors_and_formatting) + +What about support on Windows? Use [colorable by mattn](https://github.com/mattn/go-colorable). +Ansi and colorable are used by [logxi](https://github.com/mgutz/logxi) to support logging in +color on Windows. + +## MIT License + +Copyright (c) 2013 Mario Gutierrez mario@mgutz.com + +See the file LICENSE for copying permission. + diff --git a/vendor/github.com/mgutz/ansi/ansi.go b/vendor/github.com/mgutz/ansi/ansi.go new file mode 100644 index 000000000..dc0413649 --- /dev/null +++ b/vendor/github.com/mgutz/ansi/ansi.go @@ -0,0 +1,285 @@ +package ansi + +import ( + "bytes" + "fmt" + "strconv" + "strings" +) + +const ( + black = iota + red + green + yellow + blue + magenta + cyan + white + defaultt = 9 + + normalIntensityFG = 30 + highIntensityFG = 90 + normalIntensityBG = 40 + highIntensityBG = 100 + + start = "\033[" + bold = "1;" + blink = "5;" + underline = "4;" + inverse = "7;" + strikethrough = "9;" + + // Reset is the ANSI reset escape sequence + Reset = "\033[0m" + // DefaultBG is the default background + DefaultBG = "\033[49m" + // DefaultFG is the default foreground + DefaultFG = "\033[39m" +) + +// Black FG +var Black string + +// Red FG +var Red string + +// Green FG +var Green string + +// Yellow FG +var Yellow string + +// Blue FG +var Blue string + +// Magenta FG +var Magenta string + +// Cyan FG +var Cyan string + +// White FG +var White string + +// LightBlack FG +var LightBlack string + +// LightRed FG +var LightRed string + +// LightGreen FG +var LightGreen string + +// LightYellow FG +var LightYellow string + +// LightBlue FG +var LightBlue string + +// LightMagenta FG +var LightMagenta string + +// LightCyan FG +var LightCyan string + +// LightWhite FG +var LightWhite string + +var ( + plain = false + // Colors maps common color names to their ANSI color code. + Colors = map[string]int{ + "black": black, + "red": red, + "green": green, + "yellow": yellow, + "blue": blue, + "magenta": magenta, + "cyan": cyan, + "white": white, + "default": defaultt, + } +) + +func init() { + for i := 0; i < 256; i++ { + Colors[strconv.Itoa(i)] = i + } + + Black = ColorCode("black") + Red = ColorCode("red") + Green = ColorCode("green") + Yellow = ColorCode("yellow") + Blue = ColorCode("blue") + Magenta = ColorCode("magenta") + Cyan = ColorCode("cyan") + White = ColorCode("white") + LightBlack = ColorCode("black+h") + LightRed = ColorCode("red+h") + LightGreen = ColorCode("green+h") + LightYellow = ColorCode("yellow+h") + LightBlue = ColorCode("blue+h") + LightMagenta = ColorCode("magenta+h") + LightCyan = ColorCode("cyan+h") + LightWhite = ColorCode("white+h") +} + +// ColorCode returns the ANSI color color code for style. +func ColorCode(style string) string { + return colorCode(style).String() +} + +// Gets the ANSI color code for a style. +func colorCode(style string) *bytes.Buffer { + buf := bytes.NewBufferString("") + if plain || style == "" { + return buf + } + if style == "reset" { + buf.WriteString(Reset) + return buf + } else if style == "off" { + return buf + } + + foregroundBackground := strings.Split(style, ":") + foreground := strings.Split(foregroundBackground[0], "+") + fgKey := foreground[0] + fg := Colors[fgKey] + fgStyle := "" + if len(foreground) > 1 { + fgStyle = foreground[1] + } + + bg, bgStyle := "", "" + + if len(foregroundBackground) > 1 { + background := strings.Split(foregroundBackground[1], "+") + bg = background[0] + if len(background) > 1 { + bgStyle = background[1] + } + } + + buf.WriteString(start) + base := normalIntensityFG + if len(fgStyle) > 0 { + if strings.Contains(fgStyle, "b") { + buf.WriteString(bold) + } + if strings.Contains(fgStyle, "B") { + buf.WriteString(blink) + } + if strings.Contains(fgStyle, "u") { + buf.WriteString(underline) + } + if strings.Contains(fgStyle, "i") { + buf.WriteString(inverse) + } + if strings.Contains(fgStyle, "s") { + buf.WriteString(strikethrough) + } + if strings.Contains(fgStyle, "h") { + base = highIntensityFG + } + } + + // if 256-color + n, err := strconv.Atoi(fgKey) + if err == nil { + fmt.Fprintf(buf, "38;5;%d;", n) + } else { + fmt.Fprintf(buf, "%d;", base+fg) + } + + base = normalIntensityBG + if len(bg) > 0 { + if strings.Contains(bgStyle, "h") { + base = highIntensityBG + } + // if 256-color + n, err := strconv.Atoi(bg) + if err == nil { + fmt.Fprintf(buf, "48;5;%d;", n) + } else { + fmt.Fprintf(buf, "%d;", base+Colors[bg]) + } + } + + // remove last ";" + buf.Truncate(buf.Len() - 1) + buf.WriteRune('m') + return buf +} + +// Color colors a string based on the ANSI color code for style. +func Color(s, style string) string { + if plain || len(style) < 1 { + return s + } + buf := colorCode(style) + buf.WriteString(s) + buf.WriteString(Reset) + return buf.String() +} + +// ColorFunc creates a closure to avoid computation ANSI color code. +func ColorFunc(style string) func(string) string { + if style == "" { + return func(s string) string { + return s + } + } + color := ColorCode(style) + return func(s string) string { + if plain || s == "" { + return s + } + buf := bytes.NewBufferString(color) + buf.WriteString(s) + buf.WriteString(Reset) + result := buf.String() + return result + } +} + +// DisableColors disables ANSI color codes. The default is false (colors are on). +func DisableColors(disable bool) { + plain = disable + if plain { + Black = "" + Red = "" + Green = "" + Yellow = "" + Blue = "" + Magenta = "" + Cyan = "" + White = "" + LightBlack = "" + LightRed = "" + LightGreen = "" + LightYellow = "" + LightBlue = "" + LightMagenta = "" + LightCyan = "" + LightWhite = "" + } else { + Black = ColorCode("black") + Red = ColorCode("red") + Green = ColorCode("green") + Yellow = ColorCode("yellow") + Blue = ColorCode("blue") + Magenta = ColorCode("magenta") + Cyan = ColorCode("cyan") + White = ColorCode("white") + LightBlack = ColorCode("black+h") + LightRed = ColorCode("red+h") + LightGreen = ColorCode("green+h") + LightYellow = ColorCode("yellow+h") + LightBlue = ColorCode("blue+h") + LightMagenta = ColorCode("magenta+h") + LightCyan = ColorCode("cyan+h") + LightWhite = ColorCode("white+h") + } +} diff --git a/vendor/github.com/mgutz/ansi/doc.go b/vendor/github.com/mgutz/ansi/doc.go new file mode 100644 index 000000000..43c217e11 --- /dev/null +++ b/vendor/github.com/mgutz/ansi/doc.go @@ -0,0 +1,65 @@ +/* +Package ansi is a small, fast library to create ANSI colored strings and codes. + +Installation + + # this installs the color viewer and the package + go get -u github.com/mgutz/ansi/cmd/ansi-mgutz + +Example + + // colorize a string, SLOW + msg := ansi.Color("foo", "red+b:white") + + // create a closure to avoid recalculating ANSI code compilation + phosphorize := ansi.ColorFunc("green+h:black") + msg = phosphorize("Bring back the 80s!") + msg2 := phospohorize("Look, I'm a CRT!") + + // cache escape codes and build strings manually + lime := ansi.ColorCode("green+h:black") + reset := ansi.ColorCode("reset") + + fmt.Println(lime, "Bring back the 80s!", reset) + +Other examples + + Color(s, "red") // red + Color(s, "red+b") // red bold + Color(s, "red+B") // red blinking + Color(s, "red+u") // red underline + Color(s, "red+bh") // red bold bright + Color(s, "red:white") // red on white + Color(s, "red+b:white+h") // red bold on white bright + Color(s, "red+B:white+h") // red blink on white bright + +To view color combinations, from terminal + + ansi-mgutz + +Style format + + "foregroundColor+attributes:backgroundColor+attributes" + +Colors + + black + red + green + yellow + blue + magenta + cyan + white + +Attributes + + b = bold foreground + B = Blink foreground + u = underline foreground + h = high intensity (bright) foreground, background + i = inverse + +Wikipedia ANSI escape codes [Colors](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors) +*/ +package ansi diff --git a/vendor/github.com/mgutz/ansi/print.go b/vendor/github.com/mgutz/ansi/print.go new file mode 100644 index 000000000..806f436bb --- /dev/null +++ b/vendor/github.com/mgutz/ansi/print.go @@ -0,0 +1,57 @@ +package ansi + +import ( + "fmt" + "sort" + + colorable "github.com/mattn/go-colorable" +) + +// PrintStyles prints all style combinations to the terminal. +func PrintStyles() { + // for compatibility with Windows, not needed for *nix + stdout := colorable.NewColorableStdout() + + bgColors := []string{ + "", + ":black", + ":red", + ":green", + ":yellow", + ":blue", + ":magenta", + ":cyan", + ":white", + } + + keys := make([]string, 0, len(Colors)) + for k := range Colors { + keys = append(keys, k) + } + + sort.Sort(sort.StringSlice(keys)) + + for _, fg := range keys { + for _, bg := range bgColors { + fmt.Fprintln(stdout, padColor(fg, []string{"" + bg, "+b" + bg, "+bh" + bg, "+u" + bg})) + fmt.Fprintln(stdout, padColor(fg, []string{"+s" + bg, "+i" + bg})) + fmt.Fprintln(stdout, padColor(fg, []string{"+uh" + bg, "+B" + bg, "+Bb" + bg /* backgrounds */, "" + bg + "+h"})) + fmt.Fprintln(stdout, padColor(fg, []string{"+b" + bg + "+h", "+bh" + bg + "+h", "+u" + bg + "+h", "+uh" + bg + "+h"})) + } + } +} + +func pad(s string, length int) string { + for len(s) < length { + s += " " + } + return s +} + +func padColor(color string, styles []string) string { + buffer := "" + for _, style := range styles { + buffer += Color(pad(color+style, 20), color+style) + } + return buffer +} diff --git a/vendor/github.com/mitchellh/go-homedir/LICENSE b/vendor/github.com/mitchellh/go-homedir/LICENSE new file mode 100644 index 000000000..f9c841a51 --- /dev/null +++ b/vendor/github.com/mitchellh/go-homedir/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2013 Mitchell Hashimoto + +Permission 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: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE 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. diff --git a/vendor/github.com/mitchellh/go-homedir/README.md b/vendor/github.com/mitchellh/go-homedir/README.md new file mode 100644 index 000000000..d70706d5b --- /dev/null +++ b/vendor/github.com/mitchellh/go-homedir/README.md @@ -0,0 +1,14 @@ +# go-homedir + +This is a Go library for detecting the user's home directory without +the use of cgo, so the library can be used in cross-compilation environments. + +Usage is incredibly simple, just call `homedir.Dir()` to get the home directory +for a user, and `homedir.Expand()` to expand the `~` in a path to the home +directory. + +**Why not just use `os/user`?** The built-in `os/user` package requires +cgo on Darwin systems. This means that any Go code that uses that package +cannot cross compile. But 99% of the time the use for `os/user` is just to +retrieve the home directory, which we can do for the current user without +cgo. This library does that, enabling cross-compilation. diff --git a/vendor/github.com/mitchellh/go-homedir/go.mod b/vendor/github.com/mitchellh/go-homedir/go.mod new file mode 100644 index 000000000..7efa09a04 --- /dev/null +++ b/vendor/github.com/mitchellh/go-homedir/go.mod @@ -0,0 +1 @@ +module github.com/mitchellh/go-homedir diff --git a/vendor/github.com/mitchellh/go-homedir/homedir.go b/vendor/github.com/mitchellh/go-homedir/homedir.go new file mode 100644 index 000000000..25378537e --- /dev/null +++ b/vendor/github.com/mitchellh/go-homedir/homedir.go @@ -0,0 +1,167 @@ +package homedir + +import ( + "bytes" + "errors" + "os" + "os/exec" + "path/filepath" + "runtime" + "strconv" + "strings" + "sync" +) + +// DisableCache will disable caching of the home directory. Caching is enabled +// by default. +var DisableCache bool + +var homedirCache string +var cacheLock sync.RWMutex + +// Dir returns the home directory for the executing user. +// +// This uses an OS-specific method for discovering the home directory. +// An error is returned if a home directory cannot be detected. +func Dir() (string, error) { + if !DisableCache { + cacheLock.RLock() + cached := homedirCache + cacheLock.RUnlock() + if cached != "" { + return cached, nil + } + } + + cacheLock.Lock() + defer cacheLock.Unlock() + + var result string + var err error + if runtime.GOOS == "windows" { + result, err = dirWindows() + } else { + // Unix-like system, so just assume Unix + result, err = dirUnix() + } + + if err != nil { + return "", err + } + homedirCache = result + return result, nil +} + +// Expand expands the path to include the home directory if the path +// is prefixed with `~`. If it isn't prefixed with `~`, the path is +// returned as-is. +func Expand(path string) (string, error) { + if len(path) == 0 { + return path, nil + } + + if path[0] != '~' { + return path, nil + } + + if len(path) > 1 && path[1] != '/' && path[1] != '\\' { + return "", errors.New("cannot expand user-specific home dir") + } + + dir, err := Dir() + if err != nil { + return "", err + } + + return filepath.Join(dir, path[1:]), nil +} + +// Reset clears the cache, forcing the next call to Dir to re-detect +// the home directory. This generally never has to be called, but can be +// useful in tests if you're modifying the home directory via the HOME +// env var or something. +func Reset() { + cacheLock.Lock() + defer cacheLock.Unlock() + homedirCache = "" +} + +func dirUnix() (string, error) { + homeEnv := "HOME" + if runtime.GOOS == "plan9" { + // On plan9, env vars are lowercase. + homeEnv = "home" + } + + // First prefer the HOME environmental variable + if home := os.Getenv(homeEnv); home != "" { + return home, nil + } + + var stdout bytes.Buffer + + // If that fails, try OS specific commands + if runtime.GOOS == "darwin" { + cmd := exec.Command("sh", "-c", `dscl -q . -read /Users/"$(whoami)" NFSHomeDirectory | sed 's/^[^ ]*: //'`) + cmd.Stdout = &stdout + if err := cmd.Run(); err == nil { + result := strings.TrimSpace(stdout.String()) + if result != "" { + return result, nil + } + } + } else { + cmd := exec.Command("getent", "passwd", strconv.Itoa(os.Getuid())) + cmd.Stdout = &stdout + if err := cmd.Run(); err != nil { + // If the error is ErrNotFound, we ignore it. Otherwise, return it. + if err != exec.ErrNotFound { + return "", err + } + } else { + if passwd := strings.TrimSpace(stdout.String()); passwd != "" { + // username:password:uid:gid:gecos:home:shell + passwdParts := strings.SplitN(passwd, ":", 7) + if len(passwdParts) > 5 { + return passwdParts[5], nil + } + } + } + } + + // If all else fails, try the shell + stdout.Reset() + cmd := exec.Command("sh", "-c", "cd && pwd") + cmd.Stdout = &stdout + if err := cmd.Run(); err != nil { + return "", err + } + + result := strings.TrimSpace(stdout.String()) + if result == "" { + return "", errors.New("blank output when reading home directory") + } + + return result, nil +} + +func dirWindows() (string, error) { + // First prefer the HOME environmental variable + if home := os.Getenv("HOME"); home != "" { + return home, nil + } + + // Prefer standard environment variable USERPROFILE + if home := os.Getenv("USERPROFILE"); home != "" { + return home, nil + } + + drive := os.Getenv("HOMEDRIVE") + path := os.Getenv("HOMEPATH") + home := drive + path + if drive == "" || path == "" { + return "", errors.New("HOMEDRIVE, HOMEPATH, or USERPROFILE are blank") + } + + return home, nil +} diff --git a/vendor/github.com/pmezard/go-difflib/LICENSE b/vendor/github.com/pmezard/go-difflib/LICENSE new file mode 100644 index 000000000..c67dad612 --- /dev/null +++ b/vendor/github.com/pmezard/go-difflib/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2013, Patrick Mezard +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. + The names of its contributors may not be used to endorse or promote +products derived from this software without specific prior written +permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/pmezard/go-difflib/difflib/difflib.go b/vendor/github.com/pmezard/go-difflib/difflib/difflib.go new file mode 100644 index 000000000..003e99fad --- /dev/null +++ b/vendor/github.com/pmezard/go-difflib/difflib/difflib.go @@ -0,0 +1,772 @@ +// Package difflib is a partial port of Python difflib module. +// +// It provides tools to compare sequences of strings and generate textual diffs. +// +// The following class and functions have been ported: +// +// - SequenceMatcher +// +// - unified_diff +// +// - context_diff +// +// Getting unified diffs was the main goal of the port. Keep in mind this code +// is mostly suitable to output text differences in a human friendly way, there +// are no guarantees generated diffs are consumable by patch(1). +package difflib + +import ( + "bufio" + "bytes" + "fmt" + "io" + "strings" +) + +func min(a, b int) int { + if a < b { + return a + } + return b +} + +func max(a, b int) int { + if a > b { + return a + } + return b +} + +func calculateRatio(matches, length int) float64 { + if length > 0 { + return 2.0 * float64(matches) / float64(length) + } + return 1.0 +} + +type Match struct { + A int + B int + Size int +} + +type OpCode struct { + Tag byte + I1 int + I2 int + J1 int + J2 int +} + +// SequenceMatcher compares sequence of strings. The basic +// algorithm predates, and is a little fancier than, an algorithm +// published in the late 1980's by Ratcliff and Obershelp under the +// hyperbolic name "gestalt pattern matching". The basic idea is to find +// the longest contiguous matching subsequence that contains no "junk" +// elements (R-O doesn't address junk). The same idea is then applied +// recursively to the pieces of the sequences to the left and to the right +// of the matching subsequence. This does not yield minimal edit +// sequences, but does tend to yield matches that "look right" to people. +// +// SequenceMatcher tries to compute a "human-friendly diff" between two +// sequences. Unlike e.g. UNIX(tm) diff, the fundamental notion is the +// longest *contiguous* & junk-free matching subsequence. That's what +// catches peoples' eyes. The Windows(tm) windiff has another interesting +// notion, pairing up elements that appear uniquely in each sequence. +// That, and the method here, appear to yield more intuitive difference +// reports than does diff. This method appears to be the least vulnerable +// to synching up on blocks of "junk lines", though (like blank lines in +// ordinary text files, or maybe "

" lines in HTML files). That may be +// because this is the only method of the 3 that has a *concept* of +// "junk" . +// +// Timing: Basic R-O is cubic time worst case and quadratic time expected +// case. SequenceMatcher is quadratic time for the worst case and has +// expected-case behavior dependent in a complicated way on how many +// elements the sequences have in common; best case time is linear. +type SequenceMatcher struct { + a []string + b []string + b2j map[string][]int + IsJunk func(string) bool + autoJunk bool + bJunk map[string]struct{} + matchingBlocks []Match + fullBCount map[string]int + bPopular map[string]struct{} + opCodes []OpCode +} + +func NewMatcher(a, b []string) *SequenceMatcher { + m := SequenceMatcher{autoJunk: true} + m.SetSeqs(a, b) + return &m +} + +func NewMatcherWithJunk(a, b []string, autoJunk bool, + isJunk func(string) bool) *SequenceMatcher { + + m := SequenceMatcher{IsJunk: isJunk, autoJunk: autoJunk} + m.SetSeqs(a, b) + return &m +} + +// Set two sequences to be compared. +func (m *SequenceMatcher) SetSeqs(a, b []string) { + m.SetSeq1(a) + m.SetSeq2(b) +} + +// Set the first sequence to be compared. The second sequence to be compared is +// not changed. +// +// SequenceMatcher computes and caches detailed information about the second +// sequence, so if you want to compare one sequence S against many sequences, +// use .SetSeq2(s) once and call .SetSeq1(x) repeatedly for each of the other +// sequences. +// +// See also SetSeqs() and SetSeq2(). +func (m *SequenceMatcher) SetSeq1(a []string) { + if &a == &m.a { + return + } + m.a = a + m.matchingBlocks = nil + m.opCodes = nil +} + +// Set the second sequence to be compared. The first sequence to be compared is +// not changed. +func (m *SequenceMatcher) SetSeq2(b []string) { + if &b == &m.b { + return + } + m.b = b + m.matchingBlocks = nil + m.opCodes = nil + m.fullBCount = nil + m.chainB() +} + +func (m *SequenceMatcher) chainB() { + // Populate line -> index mapping + b2j := map[string][]int{} + for i, s := range m.b { + indices := b2j[s] + indices = append(indices, i) + b2j[s] = indices + } + + // Purge junk elements + m.bJunk = map[string]struct{}{} + if m.IsJunk != nil { + junk := m.bJunk + for s, _ := range b2j { + if m.IsJunk(s) { + junk[s] = struct{}{} + } + } + for s, _ := range junk { + delete(b2j, s) + } + } + + // Purge remaining popular elements + popular := map[string]struct{}{} + n := len(m.b) + if m.autoJunk && n >= 200 { + ntest := n/100 + 1 + for s, indices := range b2j { + if len(indices) > ntest { + popular[s] = struct{}{} + } + } + for s, _ := range popular { + delete(b2j, s) + } + } + m.bPopular = popular + m.b2j = b2j +} + +func (m *SequenceMatcher) isBJunk(s string) bool { + _, ok := m.bJunk[s] + return ok +} + +// Find longest matching block in a[alo:ahi] and b[blo:bhi]. +// +// If IsJunk is not defined: +// +// Return (i,j,k) such that a[i:i+k] is equal to b[j:j+k], where +// alo <= i <= i+k <= ahi +// blo <= j <= j+k <= bhi +// and for all (i',j',k') meeting those conditions, +// k >= k' +// i <= i' +// and if i == i', j <= j' +// +// In other words, of all maximal matching blocks, return one that +// starts earliest in a, and of all those maximal matching blocks that +// start earliest in a, return the one that starts earliest in b. +// +// If IsJunk is defined, first the longest matching block is +// determined as above, but with the additional restriction that no +// junk element appears in the block. Then that block is extended as +// far as possible by matching (only) junk elements on both sides. So +// the resulting block never matches on junk except as identical junk +// happens to be adjacent to an "interesting" match. +// +// If no blocks match, return (alo, blo, 0). +func (m *SequenceMatcher) findLongestMatch(alo, ahi, blo, bhi int) Match { + // CAUTION: stripping common prefix or suffix would be incorrect. + // E.g., + // ab + // acab + // Longest matching block is "ab", but if common prefix is + // stripped, it's "a" (tied with "b"). UNIX(tm) diff does so + // strip, so ends up claiming that ab is changed to acab by + // inserting "ca" in the middle. That's minimal but unintuitive: + // "it's obvious" that someone inserted "ac" at the front. + // Windiff ends up at the same place as diff, but by pairing up + // the unique 'b's and then matching the first two 'a's. + besti, bestj, bestsize := alo, blo, 0 + + // find longest junk-free match + // during an iteration of the loop, j2len[j] = length of longest + // junk-free match ending with a[i-1] and b[j] + j2len := map[int]int{} + for i := alo; i != ahi; i++ { + // look at all instances of a[i] in b; note that because + // b2j has no junk keys, the loop is skipped if a[i] is junk + newj2len := map[int]int{} + for _, j := range m.b2j[m.a[i]] { + // a[i] matches b[j] + if j < blo { + continue + } + if j >= bhi { + break + } + k := j2len[j-1] + 1 + newj2len[j] = k + if k > bestsize { + besti, bestj, bestsize = i-k+1, j-k+1, k + } + } + j2len = newj2len + } + + // Extend the best by non-junk elements on each end. In particular, + // "popular" non-junk elements aren't in b2j, which greatly speeds + // the inner loop above, but also means "the best" match so far + // doesn't contain any junk *or* popular non-junk elements. + for besti > alo && bestj > blo && !m.isBJunk(m.b[bestj-1]) && + m.a[besti-1] == m.b[bestj-1] { + besti, bestj, bestsize = besti-1, bestj-1, bestsize+1 + } + for besti+bestsize < ahi && bestj+bestsize < bhi && + !m.isBJunk(m.b[bestj+bestsize]) && + m.a[besti+bestsize] == m.b[bestj+bestsize] { + bestsize += 1 + } + + // Now that we have a wholly interesting match (albeit possibly + // empty!), we may as well suck up the matching junk on each + // side of it too. Can't think of a good reason not to, and it + // saves post-processing the (possibly considerable) expense of + // figuring out what to do with it. In the case of an empty + // interesting match, this is clearly the right thing to do, + // because no other kind of match is possible in the regions. + for besti > alo && bestj > blo && m.isBJunk(m.b[bestj-1]) && + m.a[besti-1] == m.b[bestj-1] { + besti, bestj, bestsize = besti-1, bestj-1, bestsize+1 + } + for besti+bestsize < ahi && bestj+bestsize < bhi && + m.isBJunk(m.b[bestj+bestsize]) && + m.a[besti+bestsize] == m.b[bestj+bestsize] { + bestsize += 1 + } + + return Match{A: besti, B: bestj, Size: bestsize} +} + +// Return list of triples describing matching subsequences. +// +// Each triple is of the form (i, j, n), and means that +// a[i:i+n] == b[j:j+n]. The triples are monotonically increasing in +// i and in j. It's also guaranteed that if (i, j, n) and (i', j', n') are +// adjacent triples in the list, and the second is not the last triple in the +// list, then i+n != i' or j+n != j'. IOW, adjacent triples never describe +// adjacent equal blocks. +// +// The last triple is a dummy, (len(a), len(b), 0), and is the only +// triple with n==0. +func (m *SequenceMatcher) GetMatchingBlocks() []Match { + if m.matchingBlocks != nil { + return m.matchingBlocks + } + + var matchBlocks func(alo, ahi, blo, bhi int, matched []Match) []Match + matchBlocks = func(alo, ahi, blo, bhi int, matched []Match) []Match { + match := m.findLongestMatch(alo, ahi, blo, bhi) + i, j, k := match.A, match.B, match.Size + if match.Size > 0 { + if alo < i && blo < j { + matched = matchBlocks(alo, i, blo, j, matched) + } + matched = append(matched, match) + if i+k < ahi && j+k < bhi { + matched = matchBlocks(i+k, ahi, j+k, bhi, matched) + } + } + return matched + } + matched := matchBlocks(0, len(m.a), 0, len(m.b), nil) + + // It's possible that we have adjacent equal blocks in the + // matching_blocks list now. + nonAdjacent := []Match{} + i1, j1, k1 := 0, 0, 0 + for _, b := range matched { + // Is this block adjacent to i1, j1, k1? + i2, j2, k2 := b.A, b.B, b.Size + if i1+k1 == i2 && j1+k1 == j2 { + // Yes, so collapse them -- this just increases the length of + // the first block by the length of the second, and the first + // block so lengthened remains the block to compare against. + k1 += k2 + } else { + // Not adjacent. Remember the first block (k1==0 means it's + // the dummy we started with), and make the second block the + // new block to compare against. + if k1 > 0 { + nonAdjacent = append(nonAdjacent, Match{i1, j1, k1}) + } + i1, j1, k1 = i2, j2, k2 + } + } + if k1 > 0 { + nonAdjacent = append(nonAdjacent, Match{i1, j1, k1}) + } + + nonAdjacent = append(nonAdjacent, Match{len(m.a), len(m.b), 0}) + m.matchingBlocks = nonAdjacent + return m.matchingBlocks +} + +// Return list of 5-tuples describing how to turn a into b. +// +// Each tuple is of the form (tag, i1, i2, j1, j2). The first tuple +// has i1 == j1 == 0, and remaining tuples have i1 == the i2 from the +// tuple preceding it, and likewise for j1 == the previous j2. +// +// The tags are characters, with these meanings: +// +// 'r' (replace): a[i1:i2] should be replaced by b[j1:j2] +// +// 'd' (delete): a[i1:i2] should be deleted, j1==j2 in this case. +// +// 'i' (insert): b[j1:j2] should be inserted at a[i1:i1], i1==i2 in this case. +// +// 'e' (equal): a[i1:i2] == b[j1:j2] +func (m *SequenceMatcher) GetOpCodes() []OpCode { + if m.opCodes != nil { + return m.opCodes + } + i, j := 0, 0 + matching := m.GetMatchingBlocks() + opCodes := make([]OpCode, 0, len(matching)) + for _, m := range matching { + // invariant: we've pumped out correct diffs to change + // a[:i] into b[:j], and the next matching block is + // a[ai:ai+size] == b[bj:bj+size]. So we need to pump + // out a diff to change a[i:ai] into b[j:bj], pump out + // the matching block, and move (i,j) beyond the match + ai, bj, size := m.A, m.B, m.Size + tag := byte(0) + if i < ai && j < bj { + tag = 'r' + } else if i < ai { + tag = 'd' + } else if j < bj { + tag = 'i' + } + if tag > 0 { + opCodes = append(opCodes, OpCode{tag, i, ai, j, bj}) + } + i, j = ai+size, bj+size + // the list of matching blocks is terminated by a + // sentinel with size 0 + if size > 0 { + opCodes = append(opCodes, OpCode{'e', ai, i, bj, j}) + } + } + m.opCodes = opCodes + return m.opCodes +} + +// Isolate change clusters by eliminating ranges with no changes. +// +// Return a generator of groups with up to n lines of context. +// Each group is in the same format as returned by GetOpCodes(). +func (m *SequenceMatcher) GetGroupedOpCodes(n int) [][]OpCode { + if n < 0 { + n = 3 + } + codes := m.GetOpCodes() + if len(codes) == 0 { + codes = []OpCode{OpCode{'e', 0, 1, 0, 1}} + } + // Fixup leading and trailing groups if they show no changes. + if codes[0].Tag == 'e' { + c := codes[0] + i1, i2, j1, j2 := c.I1, c.I2, c.J1, c.J2 + codes[0] = OpCode{c.Tag, max(i1, i2-n), i2, max(j1, j2-n), j2} + } + if codes[len(codes)-1].Tag == 'e' { + c := codes[len(codes)-1] + i1, i2, j1, j2 := c.I1, c.I2, c.J1, c.J2 + codes[len(codes)-1] = OpCode{c.Tag, i1, min(i2, i1+n), j1, min(j2, j1+n)} + } + nn := n + n + groups := [][]OpCode{} + group := []OpCode{} + for _, c := range codes { + i1, i2, j1, j2 := c.I1, c.I2, c.J1, c.J2 + // End the current group and start a new one whenever + // there is a large range with no changes. + if c.Tag == 'e' && i2-i1 > nn { + group = append(group, OpCode{c.Tag, i1, min(i2, i1+n), + j1, min(j2, j1+n)}) + groups = append(groups, group) + group = []OpCode{} + i1, j1 = max(i1, i2-n), max(j1, j2-n) + } + group = append(group, OpCode{c.Tag, i1, i2, j1, j2}) + } + if len(group) > 0 && !(len(group) == 1 && group[0].Tag == 'e') { + groups = append(groups, group) + } + return groups +} + +// Return a measure of the sequences' similarity (float in [0,1]). +// +// Where T is the total number of elements in both sequences, and +// M is the number of matches, this is 2.0*M / T. +// Note that this is 1 if the sequences are identical, and 0 if +// they have nothing in common. +// +// .Ratio() is expensive to compute if you haven't already computed +// .GetMatchingBlocks() or .GetOpCodes(), in which case you may +// want to try .QuickRatio() or .RealQuickRation() first to get an +// upper bound. +func (m *SequenceMatcher) Ratio() float64 { + matches := 0 + for _, m := range m.GetMatchingBlocks() { + matches += m.Size + } + return calculateRatio(matches, len(m.a)+len(m.b)) +} + +// Return an upper bound on ratio() relatively quickly. +// +// This isn't defined beyond that it is an upper bound on .Ratio(), and +// is faster to compute. +func (m *SequenceMatcher) QuickRatio() float64 { + // viewing a and b as multisets, set matches to the cardinality + // of their intersection; this counts the number of matches + // without regard to order, so is clearly an upper bound + if m.fullBCount == nil { + m.fullBCount = map[string]int{} + for _, s := range m.b { + m.fullBCount[s] = m.fullBCount[s] + 1 + } + } + + // avail[x] is the number of times x appears in 'b' less the + // number of times we've seen it in 'a' so far ... kinda + avail := map[string]int{} + matches := 0 + for _, s := range m.a { + n, ok := avail[s] + if !ok { + n = m.fullBCount[s] + } + avail[s] = n - 1 + if n > 0 { + matches += 1 + } + } + return calculateRatio(matches, len(m.a)+len(m.b)) +} + +// Return an upper bound on ratio() very quickly. +// +// This isn't defined beyond that it is an upper bound on .Ratio(), and +// is faster to compute than either .Ratio() or .QuickRatio(). +func (m *SequenceMatcher) RealQuickRatio() float64 { + la, lb := len(m.a), len(m.b) + return calculateRatio(min(la, lb), la+lb) +} + +// Convert range to the "ed" format +func formatRangeUnified(start, stop int) string { + // Per the diff spec at http://www.unix.org/single_unix_specification/ + beginning := start + 1 // lines start numbering with one + length := stop - start + if length == 1 { + return fmt.Sprintf("%d", beginning) + } + if length == 0 { + beginning -= 1 // empty ranges begin at line just before the range + } + return fmt.Sprintf("%d,%d", beginning, length) +} + +// Unified diff parameters +type UnifiedDiff struct { + A []string // First sequence lines + FromFile string // First file name + FromDate string // First file time + B []string // Second sequence lines + ToFile string // Second file name + ToDate string // Second file time + Eol string // Headers end of line, defaults to LF + Context int // Number of context lines +} + +// Compare two sequences of lines; generate the delta as a unified diff. +// +// Unified diffs are a compact way of showing line changes and a few +// lines of context. The number of context lines is set by 'n' which +// defaults to three. +// +// By default, the diff control lines (those with ---, +++, or @@) are +// created with a trailing newline. This is helpful so that inputs +// created from file.readlines() result in diffs that are suitable for +// file.writelines() since both the inputs and outputs have trailing +// newlines. +// +// For inputs that do not have trailing newlines, set the lineterm +// argument to "" so that the output will be uniformly newline free. +// +// The unidiff format normally has a header for filenames and modification +// times. Any or all of these may be specified using strings for +// 'fromfile', 'tofile', 'fromfiledate', and 'tofiledate'. +// The modification times are normally expressed in the ISO 8601 format. +func WriteUnifiedDiff(writer io.Writer, diff UnifiedDiff) error { + buf := bufio.NewWriter(writer) + defer buf.Flush() + wf := func(format string, args ...interface{}) error { + _, err := buf.WriteString(fmt.Sprintf(format, args...)) + return err + } + ws := func(s string) error { + _, err := buf.WriteString(s) + return err + } + + if len(diff.Eol) == 0 { + diff.Eol = "\n" + } + + started := false + m := NewMatcher(diff.A, diff.B) + for _, g := range m.GetGroupedOpCodes(diff.Context) { + if !started { + started = true + fromDate := "" + if len(diff.FromDate) > 0 { + fromDate = "\t" + diff.FromDate + } + toDate := "" + if len(diff.ToDate) > 0 { + toDate = "\t" + diff.ToDate + } + if diff.FromFile != "" || diff.ToFile != "" { + err := wf("--- %s%s%s", diff.FromFile, fromDate, diff.Eol) + if err != nil { + return err + } + err = wf("+++ %s%s%s", diff.ToFile, toDate, diff.Eol) + if err != nil { + return err + } + } + } + first, last := g[0], g[len(g)-1] + range1 := formatRangeUnified(first.I1, last.I2) + range2 := formatRangeUnified(first.J1, last.J2) + if err := wf("@@ -%s +%s @@%s", range1, range2, diff.Eol); err != nil { + return err + } + for _, c := range g { + i1, i2, j1, j2 := c.I1, c.I2, c.J1, c.J2 + if c.Tag == 'e' { + for _, line := range diff.A[i1:i2] { + if err := ws(" " + line); err != nil { + return err + } + } + continue + } + if c.Tag == 'r' || c.Tag == 'd' { + for _, line := range diff.A[i1:i2] { + if err := ws("-" + line); err != nil { + return err + } + } + } + if c.Tag == 'r' || c.Tag == 'i' { + for _, line := range diff.B[j1:j2] { + if err := ws("+" + line); err != nil { + return err + } + } + } + } + } + return nil +} + +// Like WriteUnifiedDiff but returns the diff a string. +func GetUnifiedDiffString(diff UnifiedDiff) (string, error) { + w := &bytes.Buffer{} + err := WriteUnifiedDiff(w, diff) + return string(w.Bytes()), err +} + +// Convert range to the "ed" format. +func formatRangeContext(start, stop int) string { + // Per the diff spec at http://www.unix.org/single_unix_specification/ + beginning := start + 1 // lines start numbering with one + length := stop - start + if length == 0 { + beginning -= 1 // empty ranges begin at line just before the range + } + if length <= 1 { + return fmt.Sprintf("%d", beginning) + } + return fmt.Sprintf("%d,%d", beginning, beginning+length-1) +} + +type ContextDiff UnifiedDiff + +// Compare two sequences of lines; generate the delta as a context diff. +// +// Context diffs are a compact way of showing line changes and a few +// lines of context. The number of context lines is set by diff.Context +// which defaults to three. +// +// By default, the diff control lines (those with *** or ---) are +// created with a trailing newline. +// +// For inputs that do not have trailing newlines, set the diff.Eol +// argument to "" so that the output will be uniformly newline free. +// +// The context diff format normally has a header for filenames and +// modification times. Any or all of these may be specified using +// strings for diff.FromFile, diff.ToFile, diff.FromDate, diff.ToDate. +// The modification times are normally expressed in the ISO 8601 format. +// If not specified, the strings default to blanks. +func WriteContextDiff(writer io.Writer, diff ContextDiff) error { + buf := bufio.NewWriter(writer) + defer buf.Flush() + var diffErr error + wf := func(format string, args ...interface{}) { + _, err := buf.WriteString(fmt.Sprintf(format, args...)) + if diffErr == nil && err != nil { + diffErr = err + } + } + ws := func(s string) { + _, err := buf.WriteString(s) + if diffErr == nil && err != nil { + diffErr = err + } + } + + if len(diff.Eol) == 0 { + diff.Eol = "\n" + } + + prefix := map[byte]string{ + 'i': "+ ", + 'd': "- ", + 'r': "! ", + 'e': " ", + } + + started := false + m := NewMatcher(diff.A, diff.B) + for _, g := range m.GetGroupedOpCodes(diff.Context) { + if !started { + started = true + fromDate := "" + if len(diff.FromDate) > 0 { + fromDate = "\t" + diff.FromDate + } + toDate := "" + if len(diff.ToDate) > 0 { + toDate = "\t" + diff.ToDate + } + if diff.FromFile != "" || diff.ToFile != "" { + wf("*** %s%s%s", diff.FromFile, fromDate, diff.Eol) + wf("--- %s%s%s", diff.ToFile, toDate, diff.Eol) + } + } + + first, last := g[0], g[len(g)-1] + ws("***************" + diff.Eol) + + range1 := formatRangeContext(first.I1, last.I2) + wf("*** %s ****%s", range1, diff.Eol) + for _, c := range g { + if c.Tag == 'r' || c.Tag == 'd' { + for _, cc := range g { + if cc.Tag == 'i' { + continue + } + for _, line := range diff.A[cc.I1:cc.I2] { + ws(prefix[cc.Tag] + line) + } + } + break + } + } + + range2 := formatRangeContext(first.J1, last.J2) + wf("--- %s ----%s", range2, diff.Eol) + for _, c := range g { + if c.Tag == 'r' || c.Tag == 'i' { + for _, cc := range g { + if cc.Tag == 'd' { + continue + } + for _, line := range diff.B[cc.J1:cc.J2] { + ws(prefix[cc.Tag] + line) + } + } + break + } + } + } + return diffErr +} + +// Like WriteContextDiff but returns the diff a string. +func GetContextDiffString(diff ContextDiff) (string, error) { + w := &bytes.Buffer{} + err := WriteContextDiff(w, diff) + return string(w.Bytes()), err +} + +// Split a string on "\n" while preserving them. The output can be used +// as input for UnifiedDiff and ContextDiff structures. +func SplitLines(s string) []string { + lines := strings.SplitAfter(s, "\n") + lines[len(lines)-1] += "\n" + return lines +} diff --git a/vendor/github.com/sirupsen/logrus/.gitignore b/vendor/github.com/sirupsen/logrus/.gitignore new file mode 100644 index 000000000..6b7d7d1e8 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/.gitignore @@ -0,0 +1,2 @@ +logrus +vendor diff --git a/vendor/github.com/sirupsen/logrus/.travis.yml b/vendor/github.com/sirupsen/logrus/.travis.yml new file mode 100644 index 000000000..a8f154515 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/.travis.yml @@ -0,0 +1,52 @@ +language: go +go_import_path: github.com/sirupsen/logrus +env: + - GOMAXPROCS=4 GORACE=halt_on_error=1 +matrix: + include: + - go: 1.10.x + install: + - go get github.com/stretchr/testify/assert + - go get golang.org/x/crypto/ssh/terminal + - go get golang.org/x/sys/unix + - go get golang.org/x/sys/windows + script: + - go test -race -v ./... + - go: 1.11.x + env: GO111MODULE=on + install: + - go mod download + script: + - go test -race -v ./... + - go: 1.11.x + env: GO111MODULE=off + install: + - go get github.com/stretchr/testify/assert + - go get golang.org/x/crypto/ssh/terminal + - go get golang.org/x/sys/unix + - go get golang.org/x/sys/windows + script: + - go test -race -v ./... + - go: 1.10.x + install: + - go get github.com/stretchr/testify/assert + - go get golang.org/x/crypto/ssh/terminal + - go get golang.org/x/sys/unix + - go get golang.org/x/sys/windows + script: + - go test -race -v -tags appengine ./... + - go: 1.11.x + env: GO111MODULE=on + install: + - go mod download + script: + - go test -race -v -tags appengine ./... + - go: 1.11.x + env: GO111MODULE=off + install: + - go get github.com/stretchr/testify/assert + - go get golang.org/x/crypto/ssh/terminal + - go get golang.org/x/sys/unix + - go get golang.org/x/sys/windows + script: + - go test -race -v -tags appengine ./... diff --git a/vendor/github.com/sirupsen/logrus/CHANGELOG.md b/vendor/github.com/sirupsen/logrus/CHANGELOG.md new file mode 100644 index 000000000..cb85d9f9f --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/CHANGELOG.md @@ -0,0 +1,165 @@ +# 1.2.0 +This new release introduces: + * A new method `SetReportCaller` in the `Logger` to enable the file, line and calling function from which the trace has been issued + * A new trace level named `Trace` whose level is below `Debug` + * A configurable exit function to be called upon a Fatal trace + * The `Level` object now implements `encoding.TextUnmarshaler` interface + +# 1.1.1 +This is a bug fix release. + * fix the build break on Solaris + * don't drop a whole trace in JSONFormatter when a field param is a function pointer which can not be serialized + +# 1.1.0 +This new release introduces: + * several fixes: + * a fix for a race condition on entry formatting + * proper cleanup of previously used entries before putting them back in the pool + * the extra new line at the end of message in text formatter has been removed + * a new global public API to check if a level is activated: IsLevelEnabled + * the following methods have been added to the Logger object + * IsLevelEnabled + * SetFormatter + * SetOutput + * ReplaceHooks + * introduction of go module + * an indent configuration for the json formatter + * output colour support for windows + * the field sort function is now configurable for text formatter + * the CLICOLOR and CLICOLOR\_FORCE environment variable support in text formater + +# 1.0.6 + +This new release introduces: + * a new api WithTime which allows to easily force the time of the log entry + which is mostly useful for logger wrapper + * a fix reverting the immutability of the entry given as parameter to the hooks + a new configuration field of the json formatter in order to put all the fields + in a nested dictionnary + * a new SetOutput method in the Logger + * a new configuration of the textformatter to configure the name of the default keys + * a new configuration of the text formatter to disable the level truncation + +# 1.0.5 + +* Fix hooks race (#707) +* Fix panic deadlock (#695) + +# 1.0.4 + +* Fix race when adding hooks (#612) +* Fix terminal check in AppEngine (#635) + +# 1.0.3 + +* Replace example files with testable examples + +# 1.0.2 + +* bug: quote non-string values in text formatter (#583) +* Make (*Logger) SetLevel a public method + +# 1.0.1 + +* bug: fix escaping in text formatter (#575) + +# 1.0.0 + +* Officially changed name to lower-case +* bug: colors on Windows 10 (#541) +* bug: fix race in accessing level (#512) + +# 0.11.5 + +* feature: add writer and writerlevel to entry (#372) + +# 0.11.4 + +* bug: fix undefined variable on solaris (#493) + +# 0.11.3 + +* formatter: configure quoting of empty values (#484) +* formatter: configure quoting character (default is `"`) (#484) +* bug: fix not importing io correctly in non-linux environments (#481) + +# 0.11.2 + +* bug: fix windows terminal detection (#476) + +# 0.11.1 + +* bug: fix tty detection with custom out (#471) + +# 0.11.0 + +* performance: Use bufferpool to allocate (#370) +* terminal: terminal detection for app-engine (#343) +* feature: exit handler (#375) + +# 0.10.0 + +* feature: Add a test hook (#180) +* feature: `ParseLevel` is now case-insensitive (#326) +* feature: `FieldLogger` interface that generalizes `Logger` and `Entry` (#308) +* performance: avoid re-allocations on `WithFields` (#335) + +# 0.9.0 + +* logrus/text_formatter: don't emit empty msg +* logrus/hooks/airbrake: move out of main repository +* logrus/hooks/sentry: move out of main repository +* logrus/hooks/papertrail: move out of main repository +* logrus/hooks/bugsnag: move out of main repository +* logrus/core: run tests with `-race` +* logrus/core: detect TTY based on `stderr` +* logrus/core: support `WithError` on logger +* logrus/core: Solaris support + +# 0.8.7 + +* logrus/core: fix possible race (#216) +* logrus/doc: small typo fixes and doc improvements + + +# 0.8.6 + +* hooks/raven: allow passing an initialized client + +# 0.8.5 + +* logrus/core: revert #208 + +# 0.8.4 + +* formatter/text: fix data race (#218) + +# 0.8.3 + +* logrus/core: fix entry log level (#208) +* logrus/core: improve performance of text formatter by 40% +* logrus/core: expose `LevelHooks` type +* logrus/core: add support for DragonflyBSD and NetBSD +* formatter/text: print structs more verbosely + +# 0.8.2 + +* logrus: fix more Fatal family functions + +# 0.8.1 + +* logrus: fix not exiting on `Fatalf` and `Fatalln` + +# 0.8.0 + +* logrus: defaults to stderr instead of stdout +* hooks/sentry: add special field for `*http.Request` +* formatter/text: ignore Windows for colors + +# 0.7.3 + +* formatter/\*: allow configuration of timestamp layout + +# 0.7.2 + +* formatter/text: Add configuration option for time format (#158) diff --git a/vendor/github.com/sirupsen/logrus/LICENSE b/vendor/github.com/sirupsen/logrus/LICENSE new file mode 100644 index 000000000..f090cb42f --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Simon Eskildsen + +Permission 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: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE 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. diff --git a/vendor/github.com/sirupsen/logrus/README.md b/vendor/github.com/sirupsen/logrus/README.md new file mode 100644 index 000000000..398731055 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/README.md @@ -0,0 +1,494 @@ +# Logrus :walrus: [![Build Status](https://travis-ci.org/sirupsen/logrus.svg?branch=master)](https://travis-ci.org/sirupsen/logrus) [![GoDoc](https://godoc.org/github.com/sirupsen/logrus?status.svg)](https://godoc.org/github.com/sirupsen/logrus) + +Logrus is a structured logger for Go (golang), completely API compatible with +the standard library logger. + +**Seeing weird case-sensitive problems?** It's in the past been possible to +import Logrus as both upper- and lower-case. Due to the Go package environment, +this caused issues in the community and we needed a standard. Some environments +experienced problems with the upper-case variant, so the lower-case was decided. +Everything using `logrus` will need to use the lower-case: +`github.com/sirupsen/logrus`. Any package that isn't, should be changed. + +To fix Glide, see [these +comments](https://github.com/sirupsen/logrus/issues/553#issuecomment-306591437). +For an in-depth explanation of the casing issue, see [this +comment](https://github.com/sirupsen/logrus/issues/570#issuecomment-313933276). + +**Are you interested in assisting in maintaining Logrus?** Currently I have a +lot of obligations, and I am unable to provide Logrus with the maintainership it +needs. If you'd like to help, please reach out to me at `simon at author's +username dot com`. + +Nicely color-coded in development (when a TTY is attached, otherwise just +plain text): + +![Colored](http://i.imgur.com/PY7qMwd.png) + +With `log.SetFormatter(&log.JSONFormatter{})`, for easy parsing by logstash +or Splunk: + +```json +{"animal":"walrus","level":"info","msg":"A group of walrus emerges from the +ocean","size":10,"time":"2014-03-10 19:57:38.562264131 -0400 EDT"} + +{"level":"warning","msg":"The group's number increased tremendously!", +"number":122,"omg":true,"time":"2014-03-10 19:57:38.562471297 -0400 EDT"} + +{"animal":"walrus","level":"info","msg":"A giant walrus appears!", +"size":10,"time":"2014-03-10 19:57:38.562500591 -0400 EDT"} + +{"animal":"walrus","level":"info","msg":"Tremendously sized cow enters the ocean.", +"size":9,"time":"2014-03-10 19:57:38.562527896 -0400 EDT"} + +{"level":"fatal","msg":"The ice breaks!","number":100,"omg":true, +"time":"2014-03-10 19:57:38.562543128 -0400 EDT"} +``` + +With the default `log.SetFormatter(&log.TextFormatter{})` when a TTY is not +attached, the output is compatible with the +[logfmt](http://godoc.org/github.com/kr/logfmt) format: + +```text +time="2015-03-26T01:27:38-04:00" level=debug msg="Started observing beach" animal=walrus number=8 +time="2015-03-26T01:27:38-04:00" level=info msg="A group of walrus emerges from the ocean" animal=walrus size=10 +time="2015-03-26T01:27:38-04:00" level=warning msg="The group's number increased tremendously!" number=122 omg=true +time="2015-03-26T01:27:38-04:00" level=debug msg="Temperature changes" temperature=-4 +time="2015-03-26T01:27:38-04:00" level=panic msg="It's over 9000!" animal=orca size=9009 +time="2015-03-26T01:27:38-04:00" level=fatal msg="The ice breaks!" err=&{0x2082280c0 map[animal:orca size:9009] 2015-03-26 01:27:38.441574009 -0400 EDT panic It's over 9000!} number=100 omg=true +``` +To ensure this behaviour even if a TTY is attached, set your formatter as follows: + +```go + log.SetFormatter(&log.TextFormatter{ + DisableColors: true, + FullTimestamp: true, + }) +``` + +#### Logging Method Name + +If you wish to add the calling method as a field, instruct the logger via: +```go +log.SetReportCaller(true) +``` +This adds the caller as 'method' like so: + +```json +{"animal":"penguin","level":"fatal","method":"github.com/sirupsen/arcticcreatures.migrate","msg":"a penguin swims by", +"time":"2014-03-10 19:57:38.562543129 -0400 EDT"} +``` + +```text +time="2015-03-26T01:27:38-04:00" level=fatal method=github.com/sirupsen/arcticcreatures.migrate msg="a penguin swims by" animal=penguin +``` +Note that this does add measurable overhead - the cost will depend on the version of Go, but is +between 20 and 40% in recent tests with 1.6 and 1.7. You can validate this in your +environment via benchmarks: +``` +go test -bench=.*CallerTracing +``` + + +#### Case-sensitivity + +The organization's name was changed to lower-case--and this will not be changed +back. If you are getting import conflicts due to case sensitivity, please use +the lower-case import: `github.com/sirupsen/logrus`. + +#### Example + +The simplest way to use Logrus is simply the package-level exported logger: + +```go +package main + +import ( + log "github.com/sirupsen/logrus" +) + +func main() { + log.WithFields(log.Fields{ + "animal": "walrus", + }).Info("A walrus appears") +} +``` + +Note that it's completely api-compatible with the stdlib logger, so you can +replace your `log` imports everywhere with `log "github.com/sirupsen/logrus"` +and you'll now have the flexibility of Logrus. You can customize it all you +want: + +```go +package main + +import ( + "os" + log "github.com/sirupsen/logrus" +) + +func init() { + // Log as JSON instead of the default ASCII formatter. + log.SetFormatter(&log.JSONFormatter{}) + + // Output to stdout instead of the default stderr + // Can be any io.Writer, see below for File example + log.SetOutput(os.Stdout) + + // Only log the warning severity or above. + log.SetLevel(log.WarnLevel) +} + +func main() { + log.WithFields(log.Fields{ + "animal": "walrus", + "size": 10, + }).Info("A group of walrus emerges from the ocean") + + log.WithFields(log.Fields{ + "omg": true, + "number": 122, + }).Warn("The group's number increased tremendously!") + + log.WithFields(log.Fields{ + "omg": true, + "number": 100, + }).Fatal("The ice breaks!") + + // A common pattern is to re-use fields between logging statements by re-using + // the logrus.Entry returned from WithFields() + contextLogger := log.WithFields(log.Fields{ + "common": "this is a common field", + "other": "I also should be logged always", + }) + + contextLogger.Info("I'll be logged with common and other field") + contextLogger.Info("Me too") +} +``` + +For more advanced usage such as logging to multiple locations from the same +application, you can also create an instance of the `logrus` Logger: + +```go +package main + +import ( + "os" + "github.com/sirupsen/logrus" +) + +// Create a new instance of the logger. You can have any number of instances. +var log = logrus.New() + +func main() { + // The API for setting attributes is a little different than the package level + // exported logger. See Godoc. + log.Out = os.Stdout + + // You could set this to any `io.Writer` such as a file + // file, err := os.OpenFile("logrus.log", os.O_CREATE|os.O_WRONLY, 0666) + // if err == nil { + // log.Out = file + // } else { + // log.Info("Failed to log to file, using default stderr") + // } + + log.WithFields(logrus.Fields{ + "animal": "walrus", + "size": 10, + }).Info("A group of walrus emerges from the ocean") +} +``` + +#### Fields + +Logrus encourages careful, structured logging through logging fields instead of +long, unparseable error messages. For example, instead of: `log.Fatalf("Failed +to send event %s to topic %s with key %d")`, you should log the much more +discoverable: + +```go +log.WithFields(log.Fields{ + "event": event, + "topic": topic, + "key": key, +}).Fatal("Failed to send event") +``` + +We've found this API forces you to think about logging in a way that produces +much more useful logging messages. We've been in countless situations where just +a single added field to a log statement that was already there would've saved us +hours. The `WithFields` call is optional. + +In general, with Logrus using any of the `printf`-family functions should be +seen as a hint you should add a field, however, you can still use the +`printf`-family functions with Logrus. + +#### Default Fields + +Often it's helpful to have fields _always_ attached to log statements in an +application or parts of one. For example, you may want to always log the +`request_id` and `user_ip` in the context of a request. Instead of writing +`log.WithFields(log.Fields{"request_id": request_id, "user_ip": user_ip})` on +every line, you can create a `logrus.Entry` to pass around instead: + +```go +requestLogger := log.WithFields(log.Fields{"request_id": request_id, "user_ip": user_ip}) +requestLogger.Info("something happened on that request") # will log request_id and user_ip +requestLogger.Warn("something not great happened") +``` + +#### Hooks + +You can add hooks for logging levels. For example to send errors to an exception +tracking service on `Error`, `Fatal` and `Panic`, info to StatsD or log to +multiple places simultaneously, e.g. syslog. + +Logrus comes with [built-in hooks](hooks/). Add those, or your custom hook, in +`init`: + +```go +import ( + log "github.com/sirupsen/logrus" + "gopkg.in/gemnasium/logrus-airbrake-hook.v2" // the package is named "airbrake" + logrus_syslog "github.com/sirupsen/logrus/hooks/syslog" + "log/syslog" +) + +func init() { + + // Use the Airbrake hook to report errors that have Error severity or above to + // an exception tracker. You can create custom hooks, see the Hooks section. + log.AddHook(airbrake.NewHook(123, "xyz", "production")) + + hook, err := logrus_syslog.NewSyslogHook("udp", "localhost:514", syslog.LOG_INFO, "") + if err != nil { + log.Error("Unable to connect to local syslog daemon") + } else { + log.AddHook(hook) + } +} +``` +Note: Syslog hook also support connecting to local syslog (Ex. "/dev/log" or "/var/run/syslog" or "/var/run/log"). For the detail, please check the [syslog hook README](hooks/syslog/README.md). + +A list of currently known of service hook can be found in this wiki [page](https://github.com/sirupsen/logrus/wiki/Hooks) + + +#### Level logging + +Logrus has seven logging levels: Trace, Debug, Info, Warning, Error, Fatal and Panic. + +```go +log.Trace("Something very low level.") +log.Debug("Useful debugging information.") +log.Info("Something noteworthy happened!") +log.Warn("You should probably take a look at this.") +log.Error("Something failed but I'm not quitting.") +// Calls os.Exit(1) after logging +log.Fatal("Bye.") +// Calls panic() after logging +log.Panic("I'm bailing.") +``` + +You can set the logging level on a `Logger`, then it will only log entries with +that severity or anything above it: + +```go +// Will log anything that is info or above (warn, error, fatal, panic). Default. +log.SetLevel(log.InfoLevel) +``` + +It may be useful to set `log.Level = logrus.DebugLevel` in a debug or verbose +environment if your application has that. + +#### Entries + +Besides the fields added with `WithField` or `WithFields` some fields are +automatically added to all logging events: + +1. `time`. The timestamp when the entry was created. +2. `msg`. The logging message passed to `{Info,Warn,Error,Fatal,Panic}` after + the `AddFields` call. E.g. `Failed to send event.` +3. `level`. The logging level. E.g. `info`. + +#### Environments + +Logrus has no notion of environment. + +If you wish for hooks and formatters to only be used in specific environments, +you should handle that yourself. For example, if your application has a global +variable `Environment`, which is a string representation of the environment you +could do: + +```go +import ( + log "github.com/sirupsen/logrus" +) + +init() { + // do something here to set environment depending on an environment variable + // or command-line flag + if Environment == "production" { + log.SetFormatter(&log.JSONFormatter{}) + } else { + // The TextFormatter is default, you don't actually have to do this. + log.SetFormatter(&log.TextFormatter{}) + } +} +``` + +This configuration is how `logrus` was intended to be used, but JSON in +production is mostly only useful if you do log aggregation with tools like +Splunk or Logstash. + +#### Formatters + +The built-in logging formatters are: + +* `logrus.TextFormatter`. Logs the event in colors if stdout is a tty, otherwise + without colors. + * *Note:* to force colored output when there is no TTY, set the `ForceColors` + field to `true`. To force no colored output even if there is a TTY set the + `DisableColors` field to `true`. For Windows, see + [github.com/mattn/go-colorable](https://github.com/mattn/go-colorable). + * When colors are enabled, levels are truncated to 4 characters by default. To disable + truncation set the `DisableLevelTruncation` field to `true`. + * All options are listed in the [generated docs](https://godoc.org/github.com/sirupsen/logrus#TextFormatter). +* `logrus.JSONFormatter`. Logs fields as JSON. + * All options are listed in the [generated docs](https://godoc.org/github.com/sirupsen/logrus#JSONFormatter). + +Third party logging formatters: + +* [`FluentdFormatter`](https://github.com/joonix/log). Formats entries that can be parsed by Kubernetes and Google Container Engine. +* [`GELF`](https://github.com/fabienm/go-logrus-formatters). Formats entries so they comply to Graylog's [GELF 1.1 specification](http://docs.graylog.org/en/2.4/pages/gelf.html). +* [`logstash`](https://github.com/bshuster-repo/logrus-logstash-hook). Logs fields as [Logstash](http://logstash.net) Events. +* [`prefixed`](https://github.com/x-cray/logrus-prefixed-formatter). Displays log entry source along with alternative layout. +* [`zalgo`](https://github.com/aybabtme/logzalgo). Invoking the P͉̫o̳̼̊w̖͈̰͎e̬͔̭͂r͚̼̹̲ ̫͓͉̳͈ō̠͕͖̚f̝͍̠ ͕̲̞͖͑Z̖̫̤̫ͪa͉̬͈̗l͖͎g̳̥o̰̥̅!̣͔̲̻͊̄ ̙̘̦̹̦. + +You can define your formatter by implementing the `Formatter` interface, +requiring a `Format` method. `Format` takes an `*Entry`. `entry.Data` is a +`Fields` type (`map[string]interface{}`) with all your fields as well as the +default ones (see Entries section above): + +```go +type MyJSONFormatter struct { +} + +log.SetFormatter(new(MyJSONFormatter)) + +func (f *MyJSONFormatter) Format(entry *Entry) ([]byte, error) { + // Note this doesn't include Time, Level and Message which are available on + // the Entry. Consult `godoc` on information about those fields or read the + // source of the official loggers. + serialized, err := json.Marshal(entry.Data) + if err != nil { + return nil, fmt.Errorf("Failed to marshal fields to JSON, %v", err) + } + return append(serialized, '\n'), nil +} +``` + +#### Logger as an `io.Writer` + +Logrus can be transformed into an `io.Writer`. That writer is the end of an `io.Pipe` and it is your responsibility to close it. + +```go +w := logger.Writer() +defer w.Close() + +srv := http.Server{ + // create a stdlib log.Logger that writes to + // logrus.Logger. + ErrorLog: log.New(w, "", 0), +} +``` + +Each line written to that writer will be printed the usual way, using formatters +and hooks. The level for those entries is `info`. + +This means that we can override the standard library logger easily: + +```go +logger := logrus.New() +logger.Formatter = &logrus.JSONFormatter{} + +// Use logrus for standard log output +// Note that `log` here references stdlib's log +// Not logrus imported under the name `log`. +log.SetOutput(logger.Writer()) +``` + +#### Rotation + +Log rotation is not provided with Logrus. Log rotation should be done by an +external program (like `logrotate(8)`) that can compress and delete old log +entries. It should not be a feature of the application-level logger. + +#### Tools + +| Tool | Description | +| ---- | ----------- | +|[Logrus Mate](https://github.com/gogap/logrus_mate)|Logrus mate is a tool for Logrus to manage loggers, you can initial logger's level, hook and formatter by config file, the logger will generated with different config at different environment.| +|[Logrus Viper Helper](https://github.com/heirko/go-contrib/tree/master/logrusHelper)|An Helper around Logrus to wrap with spf13/Viper to load configuration with fangs! And to simplify Logrus configuration use some behavior of [Logrus Mate](https://github.com/gogap/logrus_mate). [sample](https://github.com/heirko/iris-contrib/blob/master/middleware/logrus-logger/example) | + +#### Testing + +Logrus has a built in facility for asserting the presence of log messages. This is implemented through the `test` hook and provides: + +* decorators for existing logger (`test.NewLocal` and `test.NewGlobal`) which basically just add the `test` hook +* a test logger (`test.NewNullLogger`) that just records log messages (and does not output any): + +```go +import( + "github.com/sirupsen/logrus" + "github.com/sirupsen/logrus/hooks/test" + "github.com/stretchr/testify/assert" + "testing" +) + +func TestSomething(t*testing.T){ + logger, hook := test.NewNullLogger() + logger.Error("Helloerror") + + assert.Equal(t, 1, len(hook.Entries)) + assert.Equal(t, logrus.ErrorLevel, hook.LastEntry().Level) + assert.Equal(t, "Helloerror", hook.LastEntry().Message) + + hook.Reset() + assert.Nil(t, hook.LastEntry()) +} +``` + +#### Fatal handlers + +Logrus can register one or more functions that will be called when any `fatal` +level message is logged. The registered handlers will be executed before +logrus performs a `os.Exit(1)`. This behavior may be helpful if callers need +to gracefully shutdown. Unlike a `panic("Something went wrong...")` call which can be intercepted with a deferred `recover` a call to `os.Exit(1)` can not be intercepted. + +``` +... +handler := func() { + // gracefully shutdown something... +} +logrus.RegisterExitHandler(handler) +... +``` + +#### Thread safety + +By default, Logger is protected by a mutex for concurrent writes. The mutex is held when calling hooks and writing logs. +If you are sure such locking is not needed, you can call logger.SetNoLock() to disable the locking. + +Situation when locking is not needed includes: + +* You have no hooks registered, or hooks calling is already thread-safe. + +* Writing to logger.Out is already thread-safe, for example: + + 1) logger.Out is protected by locks. + + 2) logger.Out is a os.File handler opened with `O_APPEND` flag, and every write is smaller than 4k. (This allow multi-thread/multi-process writing) + + (Refer to http://www.notthewizard.com/2014/06/17/are-files-appends-really-atomic/) diff --git a/vendor/github.com/sirupsen/logrus/alt_exit.go b/vendor/github.com/sirupsen/logrus/alt_exit.go new file mode 100644 index 000000000..8af90637a --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/alt_exit.go @@ -0,0 +1,64 @@ +package logrus + +// The following code was sourced and modified from the +// https://github.com/tebeka/atexit package governed by the following license: +// +// Copyright (c) 2012 Miki Tebeka . +// +// Permission 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: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE 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. + +import ( + "fmt" + "os" +) + +var handlers = []func(){} + +func runHandler(handler func()) { + defer func() { + if err := recover(); err != nil { + fmt.Fprintln(os.Stderr, "Error: Logrus exit handler error:", err) + } + }() + + handler() +} + +func runHandlers() { + for _, handler := range handlers { + runHandler(handler) + } +} + +// Exit runs all the Logrus atexit handlers and then terminates the program using os.Exit(code) +func Exit(code int) { + runHandlers() + os.Exit(code) +} + +// RegisterExitHandler adds a Logrus Exit handler, call logrus.Exit to invoke +// all handlers. The handlers will also be invoked when any Fatal log entry is +// made. +// +// This method is useful when a caller wishes to use logrus to log a fatal +// message but also needs to gracefully shutdown. An example usecase could be +// closing database connections, or sending a alert that the application is +// closing. +func RegisterExitHandler(handler func()) { + handlers = append(handlers, handler) +} diff --git a/vendor/github.com/sirupsen/logrus/appveyor.yml b/vendor/github.com/sirupsen/logrus/appveyor.yml new file mode 100644 index 000000000..96c2ce15f --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/appveyor.yml @@ -0,0 +1,14 @@ +version: "{build}" +platform: x64 +clone_folder: c:\gopath\src\github.com\sirupsen\logrus +environment: + GOPATH: c:\gopath +branches: + only: + - master +install: + - set PATH=%GOPATH%\bin;c:\go\bin;%PATH% + - go version +build_script: + - go get -t + - go test diff --git a/vendor/github.com/sirupsen/logrus/doc.go b/vendor/github.com/sirupsen/logrus/doc.go new file mode 100644 index 000000000..da67aba06 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/doc.go @@ -0,0 +1,26 @@ +/* +Package logrus is a structured logger for Go, completely API compatible with the standard library logger. + + +The simplest way to use Logrus is simply the package-level exported logger: + + package main + + import ( + log "github.com/sirupsen/logrus" + ) + + func main() { + log.WithFields(log.Fields{ + "animal": "walrus", + "number": 1, + "size": 10, + }).Info("A walrus appears") + } + +Output: + time="2015-09-07T08:48:33Z" level=info msg="A walrus appears" animal=walrus number=1 size=10 + +For a full guide visit https://github.com/sirupsen/logrus +*/ +package logrus diff --git a/vendor/github.com/sirupsen/logrus/entry.go b/vendor/github.com/sirupsen/logrus/entry.go new file mode 100644 index 000000000..df6d188de --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/entry.go @@ -0,0 +1,393 @@ +package logrus + +import ( + "bytes" + "fmt" + "os" + "reflect" + "runtime" + "strings" + "sync" + "time" +) + +var ( + bufferPool *sync.Pool + + // qualified package name, cached at first use + logrusPackage string + + // Positions in the call stack when tracing to report the calling method + minimumCallerDepth int + + // Used for caller information initialisation + callerInitOnce sync.Once +) + +const ( + maximumCallerDepth int = 25 + knownLogrusFrames int = 4 +) + +func init() { + bufferPool = &sync.Pool{ + New: func() interface{} { + return new(bytes.Buffer) + }, + } + + // start at the bottom of the stack before the package-name cache is primed + minimumCallerDepth = 1 +} + +// Defines the key when adding errors using WithError. +var ErrorKey = "error" + +// An entry is the final or intermediate Logrus logging entry. It contains all +// the fields passed with WithField{,s}. It's finally logged when Trace, Debug, +// Info, Warn, Error, Fatal or Panic is called on it. These objects can be +// reused and passed around as much as you wish to avoid field duplication. +type Entry struct { + Logger *Logger + + // Contains all the fields set by the user. + Data Fields + + // Time at which the log entry was created + Time time.Time + + // Level the log entry was logged at: Trace, Debug, Info, Warn, Error, Fatal or Panic + // This field will be set on entry firing and the value will be equal to the one in Logger struct field. + Level Level + + // Calling method, with package name + Caller *runtime.Frame + + // Message passed to Trace, Debug, Info, Warn, Error, Fatal or Panic + Message string + + // When formatter is called in entry.log(), a Buffer may be set to entry + Buffer *bytes.Buffer + + // err may contain a field formatting error + err string +} + +func NewEntry(logger *Logger) *Entry { + return &Entry{ + Logger: logger, + // Default is three fields, plus one optional. Give a little extra room. + Data: make(Fields, 6), + } +} + +// Returns the string representation from the reader and ultimately the +// formatter. +func (entry *Entry) String() (string, error) { + serialized, err := entry.Logger.Formatter.Format(entry) + if err != nil { + return "", err + } + str := string(serialized) + return str, nil +} + +// Add an error as single field (using the key defined in ErrorKey) to the Entry. +func (entry *Entry) WithError(err error) *Entry { + return entry.WithField(ErrorKey, err) +} + +// Add a single field to the Entry. +func (entry *Entry) WithField(key string, value interface{}) *Entry { + return entry.WithFields(Fields{key: value}) +} + +// Add a map of fields to the Entry. +func (entry *Entry) WithFields(fields Fields) *Entry { + data := make(Fields, len(entry.Data)+len(fields)) + for k, v := range entry.Data { + data[k] = v + } + fieldErr := entry.err + for k, v := range fields { + isErrField := false + if t := reflect.TypeOf(v); t != nil { + switch t.Kind() { + case reflect.Func: + isErrField = true + case reflect.Ptr: + isErrField = t.Elem().Kind() == reflect.Func + } + } + if isErrField { + tmp := fmt.Sprintf("can not add field %q", k) + if fieldErr != "" { + fieldErr = entry.err + ", " + tmp + } else { + fieldErr = tmp + } + } else { + data[k] = v + } + } + return &Entry{Logger: entry.Logger, Data: data, Time: entry.Time, err: fieldErr} +} + +// Overrides the time of the Entry. +func (entry *Entry) WithTime(t time.Time) *Entry { + return &Entry{Logger: entry.Logger, Data: entry.Data, Time: t, err: entry.err} +} + +// getPackageName reduces a fully qualified function name to the package name +// There really ought to be to be a better way... +func getPackageName(f string) string { + for { + lastPeriod := strings.LastIndex(f, ".") + lastSlash := strings.LastIndex(f, "/") + if lastPeriod > lastSlash { + f = f[:lastPeriod] + } else { + break + } + } + + return f +} + +// getCaller retrieves the name of the first non-logrus calling function +func getCaller() *runtime.Frame { + // Restrict the lookback frames to avoid runaway lookups + pcs := make([]uintptr, maximumCallerDepth) + depth := runtime.Callers(minimumCallerDepth, pcs) + frames := runtime.CallersFrames(pcs[:depth]) + + // cache this package's fully-qualified name + callerInitOnce.Do(func() { + logrusPackage = getPackageName(runtime.FuncForPC(pcs[0]).Name()) + + // now that we have the cache, we can skip a minimum count of known-logrus functions + // XXX this is dubious, the number of frames may vary store an entry in a logger interface + minimumCallerDepth = knownLogrusFrames + }) + + for f, again := frames.Next(); again; f, again = frames.Next() { + pkg := getPackageName(f.Function) + + // If the caller isn't part of this package, we're done + if pkg != logrusPackage { + return &f + } + } + + // if we got here, we failed to find the caller's context + return nil +} + +func (entry Entry) HasCaller() (has bool) { + return entry.Logger != nil && + entry.Logger.ReportCaller && + entry.Caller != nil +} + +// This function is not declared with a pointer value because otherwise +// race conditions will occur when using multiple goroutines +func (entry Entry) log(level Level, msg string) { + var buffer *bytes.Buffer + + // Default to now, but allow users to override if they want. + // + // We don't have to worry about polluting future calls to Entry#log() + // with this assignment because this function is declared with a + // non-pointer receiver. + if entry.Time.IsZero() { + entry.Time = time.Now() + } + + entry.Level = level + entry.Message = msg + if entry.Logger.ReportCaller { + entry.Caller = getCaller() + } + + entry.fireHooks() + + buffer = bufferPool.Get().(*bytes.Buffer) + buffer.Reset() + defer bufferPool.Put(buffer) + entry.Buffer = buffer + + entry.write() + + entry.Buffer = nil + + // To avoid Entry#log() returning a value that only would make sense for + // panic() to use in Entry#Panic(), we avoid the allocation by checking + // directly here. + if level <= PanicLevel { + panic(&entry) + } +} + +func (entry *Entry) fireHooks() { + entry.Logger.mu.Lock() + defer entry.Logger.mu.Unlock() + err := entry.Logger.Hooks.Fire(entry.Level, entry) + if err != nil { + fmt.Fprintf(os.Stderr, "Failed to fire hook: %v\n", err) + } +} + +func (entry *Entry) write() { + entry.Logger.mu.Lock() + defer entry.Logger.mu.Unlock() + serialized, err := entry.Logger.Formatter.Format(entry) + if err != nil { + fmt.Fprintf(os.Stderr, "Failed to obtain reader, %v\n", err) + } else { + _, err = entry.Logger.Out.Write(serialized) + if err != nil { + fmt.Fprintf(os.Stderr, "Failed to write to log, %v\n", err) + } + } +} + +func (entry *Entry) Log(level Level, args ...interface{}) { + if entry.Logger.IsLevelEnabled(level) { + entry.log(level, fmt.Sprint(args...)) + } +} + +func (entry *Entry) Trace(args ...interface{}) { + entry.Log(TraceLevel, args...) +} + +func (entry *Entry) Debug(args ...interface{}) { + entry.Log(DebugLevel, args...) +} + +func (entry *Entry) Print(args ...interface{}) { + entry.Info(args...) +} + +func (entry *Entry) Info(args ...interface{}) { + entry.Log(InfoLevel, args...) +} + +func (entry *Entry) Warn(args ...interface{}) { + entry.Log(WarnLevel, args...) +} + +func (entry *Entry) Warning(args ...interface{}) { + entry.Warn(args...) +} + +func (entry *Entry) Error(args ...interface{}) { + entry.Log(ErrorLevel, args...) +} + +func (entry *Entry) Fatal(args ...interface{}) { + entry.Log(FatalLevel, args...) + entry.Logger.Exit(1) +} + +func (entry *Entry) Panic(args ...interface{}) { + entry.Log(PanicLevel, args...) + panic(fmt.Sprint(args...)) +} + +// Entry Printf family functions + +func (entry *Entry) Logf(level Level, format string, args ...interface{}) { + entry.Log(level, fmt.Sprintf(format, args...)) +} + +func (entry *Entry) Tracef(format string, args ...interface{}) { + entry.Logf(TraceLevel, format, args...) +} + +func (entry *Entry) Debugf(format string, args ...interface{}) { + entry.Logf(DebugLevel, format, args...) +} + +func (entry *Entry) Infof(format string, args ...interface{}) { + entry.Logf(InfoLevel, format, args...) +} + +func (entry *Entry) Printf(format string, args ...interface{}) { + entry.Infof(format, args...) +} + +func (entry *Entry) Warnf(format string, args ...interface{}) { + entry.Logf(WarnLevel, format, args...) +} + +func (entry *Entry) Warningf(format string, args ...interface{}) { + entry.Warnf(format, args...) +} + +func (entry *Entry) Errorf(format string, args ...interface{}) { + entry.Logf(ErrorLevel, format, args...) +} + +func (entry *Entry) Fatalf(format string, args ...interface{}) { + entry.Logf(FatalLevel, format, args...) + entry.Logger.Exit(1) +} + +func (entry *Entry) Panicf(format string, args ...interface{}) { + entry.Logf(PanicLevel, format, args...) +} + +// Entry Println family functions + +func (entry *Entry) Logln(level Level, args ...interface{}) { + if entry.Logger.IsLevelEnabled(level) { + entry.Log(level, entry.sprintlnn(args...)) + } +} + +func (entry *Entry) Traceln(args ...interface{}) { + entry.Logln(TraceLevel, args...) +} + +func (entry *Entry) Debugln(args ...interface{}) { + entry.Logln(DebugLevel, args...) +} + +func (entry *Entry) Infoln(args ...interface{}) { + entry.Logln(InfoLevel, args...) +} + +func (entry *Entry) Println(args ...interface{}) { + entry.Infoln(args...) +} + +func (entry *Entry) Warnln(args ...interface{}) { + entry.Logln(WarnLevel, args...) +} + +func (entry *Entry) Warningln(args ...interface{}) { + entry.Warnln(args...) +} + +func (entry *Entry) Errorln(args ...interface{}) { + entry.Logln(ErrorLevel, args...) +} + +func (entry *Entry) Fatalln(args ...interface{}) { + entry.Logln(FatalLevel, args...) + entry.Logger.Exit(1) +} + +func (entry *Entry) Panicln(args ...interface{}) { + entry.Logln(PanicLevel, args...) +} + +// Sprintlnn => Sprint no newline. This is to get the behavior of how +// fmt.Sprintln where spaces are always added between operands, regardless of +// their type. Instead of vendoring the Sprintln implementation to spare a +// string allocation, we do the simplest thing. +func (entry *Entry) sprintlnn(args ...interface{}) string { + msg := fmt.Sprintln(args...) + return msg[:len(msg)-1] +} diff --git a/vendor/github.com/sirupsen/logrus/exported.go b/vendor/github.com/sirupsen/logrus/exported.go new file mode 100644 index 000000000..7342613c3 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/exported.go @@ -0,0 +1,219 @@ +package logrus + +import ( + "io" + "time" +) + +var ( + // std is the name of the standard logger in stdlib `log` + std = New() +) + +func StandardLogger() *Logger { + return std +} + +// SetOutput sets the standard logger output. +func SetOutput(out io.Writer) { + std.SetOutput(out) +} + +// SetFormatter sets the standard logger formatter. +func SetFormatter(formatter Formatter) { + std.SetFormatter(formatter) +} + +// SetReportCaller sets whether the standard logger will include the calling +// method as a field. +func SetReportCaller(include bool) { + std.SetReportCaller(include) +} + +// SetLevel sets the standard logger level. +func SetLevel(level Level) { + std.SetLevel(level) +} + +// GetLevel returns the standard logger level. +func GetLevel() Level { + return std.GetLevel() +} + +// IsLevelEnabled checks if the log level of the standard logger is greater than the level param +func IsLevelEnabled(level Level) bool { + return std.IsLevelEnabled(level) +} + +// AddHook adds a hook to the standard logger hooks. +func AddHook(hook Hook) { + std.AddHook(hook) +} + +// WithError creates an entry from the standard logger and adds an error to it, using the value defined in ErrorKey as key. +func WithError(err error) *Entry { + return std.WithField(ErrorKey, err) +} + +// WithField creates an entry from the standard logger and adds a field to +// it. If you want multiple fields, use `WithFields`. +// +// Note that it doesn't log until you call Debug, Print, Info, Warn, Fatal +// or Panic on the Entry it returns. +func WithField(key string, value interface{}) *Entry { + return std.WithField(key, value) +} + +// WithFields creates an entry from the standard logger and adds multiple +// fields to it. This is simply a helper for `WithField`, invoking it +// once for each field. +// +// Note that it doesn't log until you call Debug, Print, Info, Warn, Fatal +// or Panic on the Entry it returns. +func WithFields(fields Fields) *Entry { + return std.WithFields(fields) +} + +// WithTime creats an entry from the standard logger and overrides the time of +// logs generated with it. +// +// Note that it doesn't log until you call Debug, Print, Info, Warn, Fatal +// or Panic on the Entry it returns. +func WithTime(t time.Time) *Entry { + return std.WithTime(t) +} + +// Trace logs a message at level Trace on the standard logger. +func Trace(args ...interface{}) { + std.Trace(args...) +} + +// Debug logs a message at level Debug on the standard logger. +func Debug(args ...interface{}) { + std.Debug(args...) +} + +// Print logs a message at level Info on the standard logger. +func Print(args ...interface{}) { + std.Print(args...) +} + +// Info logs a message at level Info on the standard logger. +func Info(args ...interface{}) { + std.Info(args...) +} + +// Warn logs a message at level Warn on the standard logger. +func Warn(args ...interface{}) { + std.Warn(args...) +} + +// Warning logs a message at level Warn on the standard logger. +func Warning(args ...interface{}) { + std.Warning(args...) +} + +// Error logs a message at level Error on the standard logger. +func Error(args ...interface{}) { + std.Error(args...) +} + +// Panic logs a message at level Panic on the standard logger. +func Panic(args ...interface{}) { + std.Panic(args...) +} + +// Fatal logs a message at level Fatal on the standard logger then the process will exit with status set to 1. +func Fatal(args ...interface{}) { + std.Fatal(args...) +} + +// Tracef logs a message at level Trace on the standard logger. +func Tracef(format string, args ...interface{}) { + std.Tracef(format, args...) +} + +// Debugf logs a message at level Debug on the standard logger. +func Debugf(format string, args ...interface{}) { + std.Debugf(format, args...) +} + +// Printf logs a message at level Info on the standard logger. +func Printf(format string, args ...interface{}) { + std.Printf(format, args...) +} + +// Infof logs a message at level Info on the standard logger. +func Infof(format string, args ...interface{}) { + std.Infof(format, args...) +} + +// Warnf logs a message at level Warn on the standard logger. +func Warnf(format string, args ...interface{}) { + std.Warnf(format, args...) +} + +// Warningf logs a message at level Warn on the standard logger. +func Warningf(format string, args ...interface{}) { + std.Warningf(format, args...) +} + +// Errorf logs a message at level Error on the standard logger. +func Errorf(format string, args ...interface{}) { + std.Errorf(format, args...) +} + +// Panicf logs a message at level Panic on the standard logger. +func Panicf(format string, args ...interface{}) { + std.Panicf(format, args...) +} + +// Fatalf logs a message at level Fatal on the standard logger then the process will exit with status set to 1. +func Fatalf(format string, args ...interface{}) { + std.Fatalf(format, args...) +} + +// Traceln logs a message at level Trace on the standard logger. +func Traceln(args ...interface{}) { + std.Traceln(args...) +} + +// Debugln logs a message at level Debug on the standard logger. +func Debugln(args ...interface{}) { + std.Debugln(args...) +} + +// Println logs a message at level Info on the standard logger. +func Println(args ...interface{}) { + std.Println(args...) +} + +// Infoln logs a message at level Info on the standard logger. +func Infoln(args ...interface{}) { + std.Infoln(args...) +} + +// Warnln logs a message at level Warn on the standard logger. +func Warnln(args ...interface{}) { + std.Warnln(args...) +} + +// Warningln logs a message at level Warn on the standard logger. +func Warningln(args ...interface{}) { + std.Warningln(args...) +} + +// Errorln logs a message at level Error on the standard logger. +func Errorln(args ...interface{}) { + std.Errorln(args...) +} + +// Panicln logs a message at level Panic on the standard logger. +func Panicln(args ...interface{}) { + std.Panicln(args...) +} + +// Fatalln logs a message at level Fatal on the standard logger then the process will exit with status set to 1. +func Fatalln(args ...interface{}) { + std.Fatalln(args...) +} diff --git a/vendor/github.com/sirupsen/logrus/formatter.go b/vendor/github.com/sirupsen/logrus/formatter.go new file mode 100644 index 000000000..408883773 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/formatter.go @@ -0,0 +1,78 @@ +package logrus + +import "time" + +// Default key names for the default fields +const ( + defaultTimestampFormat = time.RFC3339 + FieldKeyMsg = "msg" + FieldKeyLevel = "level" + FieldKeyTime = "time" + FieldKeyLogrusError = "logrus_error" + FieldKeyFunc = "func" + FieldKeyFile = "file" +) + +// The Formatter interface is used to implement a custom Formatter. It takes an +// `Entry`. It exposes all the fields, including the default ones: +// +// * `entry.Data["msg"]`. The message passed from Info, Warn, Error .. +// * `entry.Data["time"]`. The timestamp. +// * `entry.Data["level"]. The level the entry was logged at. +// +// Any additional fields added with `WithField` or `WithFields` are also in +// `entry.Data`. Format is expected to return an array of bytes which are then +// logged to `logger.Out`. +type Formatter interface { + Format(*Entry) ([]byte, error) +} + +// This is to not silently overwrite `time`, `msg`, `func` and `level` fields when +// dumping it. If this code wasn't there doing: +// +// logrus.WithField("level", 1).Info("hello") +// +// Would just silently drop the user provided level. Instead with this code +// it'll logged as: +// +// {"level": "info", "fields.level": 1, "msg": "hello", "time": "..."} +// +// It's not exported because it's still using Data in an opinionated way. It's to +// avoid code duplication between the two default formatters. +func prefixFieldClashes(data Fields, fieldMap FieldMap, reportCaller bool) { + timeKey := fieldMap.resolve(FieldKeyTime) + if t, ok := data[timeKey]; ok { + data["fields."+timeKey] = t + delete(data, timeKey) + } + + msgKey := fieldMap.resolve(FieldKeyMsg) + if m, ok := data[msgKey]; ok { + data["fields."+msgKey] = m + delete(data, msgKey) + } + + levelKey := fieldMap.resolve(FieldKeyLevel) + if l, ok := data[levelKey]; ok { + data["fields."+levelKey] = l + delete(data, levelKey) + } + + logrusErrKey := fieldMap.resolve(FieldKeyLogrusError) + if l, ok := data[logrusErrKey]; ok { + data["fields."+logrusErrKey] = l + delete(data, logrusErrKey) + } + + // If reportCaller is not set, 'func' will not conflict. + if reportCaller { + funcKey := fieldMap.resolve(FieldKeyFunc) + if l, ok := data[funcKey]; ok { + data["fields."+funcKey] = l + } + fileKey := fieldMap.resolve(FieldKeyFile) + if l, ok := data[fileKey]; ok { + data["fields."+fileKey] = l + } + } +} diff --git a/vendor/github.com/sirupsen/logrus/go.mod b/vendor/github.com/sirupsen/logrus/go.mod new file mode 100644 index 000000000..94574cc63 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/go.mod @@ -0,0 +1,11 @@ +module github.com/sirupsen/logrus + +require ( + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/konsorten/go-windows-terminal-sequences v1.0.1 + github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/stretchr/objx v0.1.1 // indirect + github.com/stretchr/testify v1.2.2 + golang.org/x/crypto v0.0.0-20180904163835-0709b304e793 + golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33 +) diff --git a/vendor/github.com/sirupsen/logrus/go.sum b/vendor/github.com/sirupsen/logrus/go.sum new file mode 100644 index 000000000..133d34ae1 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/go.sum @@ -0,0 +1,15 @@ +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/konsorten/go-windows-terminal-sequences v0.0.0-20180402223658-b729f2633dfe h1:CHRGQ8V7OlCYtwaKPJi3iA7J+YdNKdo8j7nG5IgDhjs= +github.com/konsorten/go-windows-terminal-sequences v0.0.0-20180402223658-b729f2633dfe/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.1 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793 h1:u+LnwYTOOW7Ukr/fppxEb1Nwz0AtPflrblfvUudpo+I= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33 h1:I6FyU15t786LL7oL/hn43zqTuEGr4PN7F4XJ1p4E3Y8= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= diff --git a/vendor/github.com/sirupsen/logrus/hooks.go b/vendor/github.com/sirupsen/logrus/hooks.go new file mode 100644 index 000000000..3f151cdc3 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/hooks.go @@ -0,0 +1,34 @@ +package logrus + +// A hook to be fired when logging on the logging levels returned from +// `Levels()` on your implementation of the interface. Note that this is not +// fired in a goroutine or a channel with workers, you should handle such +// functionality yourself if your call is non-blocking and you don't wish for +// the logging calls for levels returned from `Levels()` to block. +type Hook interface { + Levels() []Level + Fire(*Entry) error +} + +// Internal type for storing the hooks on a logger instance. +type LevelHooks map[Level][]Hook + +// Add a hook to an instance of logger. This is called with +// `log.Hooks.Add(new(MyHook))` where `MyHook` implements the `Hook` interface. +func (hooks LevelHooks) Add(hook Hook) { + for _, level := range hook.Levels() { + hooks[level] = append(hooks[level], hook) + } +} + +// Fire all the hooks for the passed level. Used by `entry.log` to fire +// appropriate hooks for a log entry. +func (hooks LevelHooks) Fire(level Level, entry *Entry) error { + for _, hook := range hooks[level] { + if err := hook.Fire(entry); err != nil { + return err + } + } + + return nil +} diff --git a/vendor/github.com/sirupsen/logrus/json_formatter.go b/vendor/github.com/sirupsen/logrus/json_formatter.go new file mode 100644 index 000000000..260575359 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/json_formatter.go @@ -0,0 +1,105 @@ +package logrus + +import ( + "bytes" + "encoding/json" + "fmt" +) + +type fieldKey string + +// FieldMap allows customization of the key names for default fields. +type FieldMap map[fieldKey]string + +func (f FieldMap) resolve(key fieldKey) string { + if k, ok := f[key]; ok { + return k + } + + return string(key) +} + +// JSONFormatter formats logs into parsable json +type JSONFormatter struct { + // TimestampFormat sets the format used for marshaling timestamps. + TimestampFormat string + + // DisableTimestamp allows disabling automatic timestamps in output + DisableTimestamp bool + + // DataKey allows users to put all the log entry parameters into a nested dictionary at a given key. + DataKey string + + // FieldMap allows users to customize the names of keys for default fields. + // As an example: + // formatter := &JSONFormatter{ + // FieldMap: FieldMap{ + // FieldKeyTime: "@timestamp", + // FieldKeyLevel: "@level", + // FieldKeyMsg: "@message", + // FieldKeyFunc: "@caller", + // }, + // } + FieldMap FieldMap + + // PrettyPrint will indent all json logs + PrettyPrint bool +} + +// Format renders a single log entry +func (f *JSONFormatter) Format(entry *Entry) ([]byte, error) { + data := make(Fields, len(entry.Data)+4) + for k, v := range entry.Data { + switch v := v.(type) { + case error: + // Otherwise errors are ignored by `encoding/json` + // https://github.com/sirupsen/logrus/issues/137 + data[k] = v.Error() + default: + data[k] = v + } + } + + if f.DataKey != "" { + newData := make(Fields, 4) + newData[f.DataKey] = data + data = newData + } + + prefixFieldClashes(data, f.FieldMap, entry.HasCaller()) + + timestampFormat := f.TimestampFormat + if timestampFormat == "" { + timestampFormat = defaultTimestampFormat + } + + if entry.err != "" { + data[f.FieldMap.resolve(FieldKeyLogrusError)] = entry.err + } + if !f.DisableTimestamp { + data[f.FieldMap.resolve(FieldKeyTime)] = entry.Time.Format(timestampFormat) + } + data[f.FieldMap.resolve(FieldKeyMsg)] = entry.Message + data[f.FieldMap.resolve(FieldKeyLevel)] = entry.Level.String() + if entry.HasCaller() { + data[f.FieldMap.resolve(FieldKeyFunc)] = entry.Caller.Function + data[f.FieldMap.resolve(FieldKeyFile)] = fmt.Sprintf("%s:%d", entry.Caller.File, entry.Caller.Line) + } + + var b *bytes.Buffer + if entry.Buffer != nil { + b = entry.Buffer + } else { + b = &bytes.Buffer{} + } + + encoder := json.NewEncoder(b) + if f.PrettyPrint { + encoder.SetIndent("", " ") + } + if err := encoder.Encode(data); err != nil { + return nil, fmt.Errorf("Failed to marshal fields to JSON, %v", err) + } + + return b.Bytes(), nil +} diff --git a/vendor/github.com/sirupsen/logrus/logger.go b/vendor/github.com/sirupsen/logrus/logger.go new file mode 100644 index 000000000..9bf64e22a --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/logger.go @@ -0,0 +1,343 @@ +package logrus + +import ( + "io" + "os" + "sync" + "sync/atomic" + "time" +) + +type Logger struct { + // The logs are `io.Copy`'d to this in a mutex. It's common to set this to a + // file, or leave it default which is `os.Stderr`. You can also set this to + // something more adventurous, such as logging to Kafka. + Out io.Writer + // Hooks for the logger instance. These allow firing events based on logging + // levels and log entries. For example, to send errors to an error tracking + // service, log to StatsD or dump the core on fatal errors. + Hooks LevelHooks + // All log entries pass through the formatter before logged to Out. The + // included formatters are `TextFormatter` and `JSONFormatter` for which + // TextFormatter is the default. In development (when a TTY is attached) it + // logs with colors, but to a file it wouldn't. You can easily implement your + // own that implements the `Formatter` interface, see the `README` or included + // formatters for examples. + Formatter Formatter + + // Flag for whether to log caller info (off by default) + ReportCaller bool + + // The logging level the logger should log at. This is typically (and defaults + // to) `logrus.Info`, which allows Info(), Warn(), Error() and Fatal() to be + // logged. + Level Level + // Used to sync writing to the log. Locking is enabled by Default + mu MutexWrap + // Reusable empty entry + entryPool sync.Pool + // Function to exit the application, defaults to `os.Exit()` + ExitFunc exitFunc +} + +type exitFunc func(int) + +type MutexWrap struct { + lock sync.Mutex + disabled bool +} + +func (mw *MutexWrap) Lock() { + if !mw.disabled { + mw.lock.Lock() + } +} + +func (mw *MutexWrap) Unlock() { + if !mw.disabled { + mw.lock.Unlock() + } +} + +func (mw *MutexWrap) Disable() { + mw.disabled = true +} + +// Creates a new logger. Configuration should be set by changing `Formatter`, +// `Out` and `Hooks` directly on the default logger instance. You can also just +// instantiate your own: +// +// var log = &Logger{ +// Out: os.Stderr, +// Formatter: new(JSONFormatter), +// Hooks: make(LevelHooks), +// Level: logrus.DebugLevel, +// } +// +// It's recommended to make this a global instance called `log`. +func New() *Logger { + return &Logger{ + Out: os.Stderr, + Formatter: new(TextFormatter), + Hooks: make(LevelHooks), + Level: InfoLevel, + ExitFunc: os.Exit, + ReportCaller: false, + } +} + +func (logger *Logger) newEntry() *Entry { + entry, ok := logger.entryPool.Get().(*Entry) + if ok { + return entry + } + return NewEntry(logger) +} + +func (logger *Logger) releaseEntry(entry *Entry) { + entry.Data = map[string]interface{}{} + logger.entryPool.Put(entry) +} + +// Adds a field to the log entry, note that it doesn't log until you call +// Debug, Print, Info, Warn, Error, Fatal or Panic. It only creates a log entry. +// If you want multiple fields, use `WithFields`. +func (logger *Logger) WithField(key string, value interface{}) *Entry { + entry := logger.newEntry() + defer logger.releaseEntry(entry) + return entry.WithField(key, value) +} + +// Adds a struct of fields to the log entry. All it does is call `WithField` for +// each `Field`. +func (logger *Logger) WithFields(fields Fields) *Entry { + entry := logger.newEntry() + defer logger.releaseEntry(entry) + return entry.WithFields(fields) +} + +// Add an error as single field to the log entry. All it does is call +// `WithError` for the given `error`. +func (logger *Logger) WithError(err error) *Entry { + entry := logger.newEntry() + defer logger.releaseEntry(entry) + return entry.WithError(err) +} + +// Overrides the time of the log entry. +func (logger *Logger) WithTime(t time.Time) *Entry { + entry := logger.newEntry() + defer logger.releaseEntry(entry) + return entry.WithTime(t) +} + +func (logger *Logger) Logf(level Level, format string, args ...interface{}) { + if logger.IsLevelEnabled(level) { + entry := logger.newEntry() + entry.Logf(level, format, args...) + logger.releaseEntry(entry) + } +} + +func (logger *Logger) Tracef(format string, args ...interface{}) { + logger.Logf(TraceLevel, format, args...) +} + +func (logger *Logger) Debugf(format string, args ...interface{}) { + logger.Logf(DebugLevel, format, args...) +} + +func (logger *Logger) Infof(format string, args ...interface{}) { + logger.Logf(InfoLevel, format, args...) +} + +func (logger *Logger) Printf(format string, args ...interface{}) { + entry := logger.newEntry() + entry.Printf(format, args...) + logger.releaseEntry(entry) +} + +func (logger *Logger) Warnf(format string, args ...interface{}) { + logger.Logf(WarnLevel, format, args...) +} + +func (logger *Logger) Warningf(format string, args ...interface{}) { + logger.Warnf(format, args...) +} + +func (logger *Logger) Errorf(format string, args ...interface{}) { + logger.Logf(ErrorLevel, format, args...) +} + +func (logger *Logger) Fatalf(format string, args ...interface{}) { + logger.Logf(FatalLevel, format, args...) + logger.Exit(1) +} + +func (logger *Logger) Panicf(format string, args ...interface{}) { + logger.Logf(PanicLevel, format, args...) +} + +func (logger *Logger) Log(level Level, args ...interface{}) { + if logger.IsLevelEnabled(level) { + entry := logger.newEntry() + entry.Log(level, args...) + logger.releaseEntry(entry) + } +} + +func (logger *Logger) Trace(args ...interface{}) { + logger.Log(TraceLevel, args...) +} + +func (logger *Logger) Debug(args ...interface{}) { + logger.Log(DebugLevel, args...) +} + +func (logger *Logger) Info(args ...interface{}) { + logger.Log(InfoLevel, args...) +} + +func (logger *Logger) Print(args ...interface{}) { + entry := logger.newEntry() + entry.Info(args...) + logger.releaseEntry(entry) +} + +func (logger *Logger) Warn(args ...interface{}) { + logger.Log(WarnLevel, args...) +} + +func (logger *Logger) Warning(args ...interface{}) { + logger.Warn(args...) +} + +func (logger *Logger) Error(args ...interface{}) { + logger.Log(ErrorLevel, args...) +} + +func (logger *Logger) Fatal(args ...interface{}) { + logger.Log(FatalLevel, args...) + logger.Exit(1) +} + +func (logger *Logger) Panic(args ...interface{}) { + logger.Log(PanicLevel, args...) +} + +func (logger *Logger) Logln(level Level, args ...interface{}) { + if logger.IsLevelEnabled(level) { + entry := logger.newEntry() + entry.Logln(level, args...) + logger.releaseEntry(entry) + } +} + +func (logger *Logger) Traceln(args ...interface{}) { + logger.Logln(TraceLevel, args...) +} + +func (logger *Logger) Debugln(args ...interface{}) { + logger.Logln(DebugLevel, args...) +} + +func (logger *Logger) Infoln(args ...interface{}) { + logger.Logln(InfoLevel, args...) +} + +func (logger *Logger) Println(args ...interface{}) { + entry := logger.newEntry() + entry.Println(args...) + logger.releaseEntry(entry) +} + +func (logger *Logger) Warnln(args ...interface{}) { + logger.Logln(WarnLevel, args...) +} + +func (logger *Logger) Warningln(args ...interface{}) { + logger.Warn(args...) +} + +func (logger *Logger) Errorln(args ...interface{}) { + logger.Logln(ErrorLevel, args...) +} + +func (logger *Logger) Fatalln(args ...interface{}) { + logger.Logln(FatalLevel, args...) + logger.Exit(1) +} + +func (logger *Logger) Panicln(args ...interface{}) { + logger.Logln(PanicLevel, args...) +} + +func (logger *Logger) Exit(code int) { + runHandlers() + if logger.ExitFunc == nil { + logger.ExitFunc = os.Exit + } + logger.ExitFunc(code) +} + +//When file is opened with appending mode, it's safe to +//write concurrently to a file (within 4k message on Linux). +//In these cases user can choose to disable the lock. +func (logger *Logger) SetNoLock() { + logger.mu.Disable() +} + +func (logger *Logger) level() Level { + return Level(atomic.LoadUint32((*uint32)(&logger.Level))) +} + +// SetLevel sets the logger level. +func (logger *Logger) SetLevel(level Level) { + atomic.StoreUint32((*uint32)(&logger.Level), uint32(level)) +} + +// GetLevel returns the logger level. +func (logger *Logger) GetLevel() Level { + return logger.level() +} + +// AddHook adds a hook to the logger hooks. +func (logger *Logger) AddHook(hook Hook) { + logger.mu.Lock() + defer logger.mu.Unlock() + logger.Hooks.Add(hook) +} + +// IsLevelEnabled checks if the log level of the logger is greater than the level param +func (logger *Logger) IsLevelEnabled(level Level) bool { + return logger.level() >= level +} + +// SetFormatter sets the logger formatter. +func (logger *Logger) SetFormatter(formatter Formatter) { + logger.mu.Lock() + defer logger.mu.Unlock() + logger.Formatter = formatter +} + +// SetOutput sets the logger output. +func (logger *Logger) SetOutput(output io.Writer) { + logger.mu.Lock() + defer logger.mu.Unlock() + logger.Out = output +} + +func (logger *Logger) SetReportCaller(reportCaller bool) { + logger.mu.Lock() + defer logger.mu.Unlock() + logger.ReportCaller = reportCaller +} + +// ReplaceHooks replaces the logger hooks and returns the old ones +func (logger *Logger) ReplaceHooks(hooks LevelHooks) LevelHooks { + logger.mu.Lock() + oldHooks := logger.Hooks + logger.Hooks = hooks + logger.mu.Unlock() + return oldHooks +} diff --git a/vendor/github.com/sirupsen/logrus/logrus.go b/vendor/github.com/sirupsen/logrus/logrus.go new file mode 100644 index 000000000..c1ca88990 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/logrus.go @@ -0,0 +1,186 @@ +package logrus + +import ( + "fmt" + "log" + "strings" +) + +// Fields type, used to pass to `WithFields`. +type Fields map[string]interface{} + +// Level type +type Level uint32 + +// Convert the Level to a string. E.g. PanicLevel becomes "panic". +func (level Level) String() string { + if b, err := level.MarshalText(); err == nil { + return string(b) + } else { + return "unknown" + } +} + +// ParseLevel takes a string level and returns the Logrus log level constant. +func ParseLevel(lvl string) (Level, error) { + switch strings.ToLower(lvl) { + case "panic": + return PanicLevel, nil + case "fatal": + return FatalLevel, nil + case "error": + return ErrorLevel, nil + case "warn", "warning": + return WarnLevel, nil + case "info": + return InfoLevel, nil + case "debug": + return DebugLevel, nil + case "trace": + return TraceLevel, nil + } + + var l Level + return l, fmt.Errorf("not a valid logrus Level: %q", lvl) +} + +// UnmarshalText implements encoding.TextUnmarshaler. +func (level *Level) UnmarshalText(text []byte) error { + l, err := ParseLevel(string(text)) + if err != nil { + return err + } + + *level = Level(l) + + return nil +} + +func (level Level) MarshalText() ([]byte, error) { + switch level { + case TraceLevel: + return []byte("trace"), nil + case DebugLevel: + return []byte("debug"), nil + case InfoLevel: + return []byte("info"), nil + case WarnLevel: + return []byte("warning"), nil + case ErrorLevel: + return []byte("error"), nil + case FatalLevel: + return []byte("fatal"), nil + case PanicLevel: + return []byte("panic"), nil + } + + return nil, fmt.Errorf("not a valid lorus level %q", level) +} + +// A constant exposing all logging levels +var AllLevels = []Level{ + PanicLevel, + FatalLevel, + ErrorLevel, + WarnLevel, + InfoLevel, + DebugLevel, + TraceLevel, +} + +// These are the different logging levels. You can set the logging level to log +// on your instance of logger, obtained with `logrus.New()`. +const ( + // PanicLevel level, highest level of severity. Logs and then calls panic with the + // message passed to Debug, Info, ... + PanicLevel Level = iota + // FatalLevel level. Logs and then calls `logger.Exit(1)`. It will exit even if the + // logging level is set to Panic. + FatalLevel + // ErrorLevel level. Logs. Used for errors that should definitely be noted. + // Commonly used for hooks to send errors to an error tracking service. + ErrorLevel + // WarnLevel level. Non-critical entries that deserve eyes. + WarnLevel + // InfoLevel level. General operational entries about what's going on inside the + // application. + InfoLevel + // DebugLevel level. Usually only enabled when debugging. Very verbose logging. + DebugLevel + // TraceLevel level. Designates finer-grained informational events than the Debug. + TraceLevel +) + +// Won't compile if StdLogger can't be realized by a log.Logger +var ( + _ StdLogger = &log.Logger{} + _ StdLogger = &Entry{} + _ StdLogger = &Logger{} +) + +// StdLogger is what your logrus-enabled library should take, that way +// it'll accept a stdlib logger and a logrus logger. There's no standard +// interface, this is the closest we get, unfortunately. +type StdLogger interface { + Print(...interface{}) + Printf(string, ...interface{}) + Println(...interface{}) + + Fatal(...interface{}) + Fatalf(string, ...interface{}) + Fatalln(...interface{}) + + Panic(...interface{}) + Panicf(string, ...interface{}) + Panicln(...interface{}) +} + +// The FieldLogger interface generalizes the Entry and Logger types +type FieldLogger interface { + WithField(key string, value interface{}) *Entry + WithFields(fields Fields) *Entry + WithError(err error) *Entry + + Debugf(format string, args ...interface{}) + Infof(format string, args ...interface{}) + Printf(format string, args ...interface{}) + Warnf(format string, args ...interface{}) + Warningf(format string, args ...interface{}) + Errorf(format string, args ...interface{}) + Fatalf(format string, args ...interface{}) + Panicf(format string, args ...interface{}) + + Debug(args ...interface{}) + Info(args ...interface{}) + Print(args ...interface{}) + Warn(args ...interface{}) + Warning(args ...interface{}) + Error(args ...interface{}) + Fatal(args ...interface{}) + Panic(args ...interface{}) + + Debugln(args ...interface{}) + Infoln(args ...interface{}) + Println(args ...interface{}) + Warnln(args ...interface{}) + Warningln(args ...interface{}) + Errorln(args ...interface{}) + Fatalln(args ...interface{}) + Panicln(args ...interface{}) + + // IsDebugEnabled() bool + // IsInfoEnabled() bool + // IsWarnEnabled() bool + // IsErrorEnabled() bool + // IsFatalEnabled() bool + // IsPanicEnabled() bool +} + +// Ext1FieldLogger (the first extension to FieldLogger) is superfluous, it is +// here for consistancy. Do not use. Use Logger or Entry instead. +type Ext1FieldLogger interface { + FieldLogger + Tracef(format string, args ...interface{}) + Trace(args ...interface{}) + Traceln(args ...interface{}) +} diff --git a/vendor/github.com/sirupsen/logrus/terminal_check_aix.go b/vendor/github.com/sirupsen/logrus/terminal_check_aix.go new file mode 100644 index 000000000..04fdb7ba3 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/terminal_check_aix.go @@ -0,0 +1,9 @@ +// +build !appengine,!js,!windows,aix + +package logrus + +import "io" + +func checkIfTerminal(w io.Writer) bool { + return false +} diff --git a/vendor/github.com/sirupsen/logrus/terminal_check_appengine.go b/vendor/github.com/sirupsen/logrus/terminal_check_appengine.go new file mode 100644 index 000000000..2403de981 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/terminal_check_appengine.go @@ -0,0 +1,11 @@ +// +build appengine + +package logrus + +import ( + "io" +) + +func checkIfTerminal(w io.Writer) bool { + return true +} diff --git a/vendor/github.com/sirupsen/logrus/terminal_check_js.go b/vendor/github.com/sirupsen/logrus/terminal_check_js.go new file mode 100644 index 000000000..0c209750a --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/terminal_check_js.go @@ -0,0 +1,11 @@ +// +build js + +package logrus + +import ( + "io" +) + +func checkIfTerminal(w io.Writer) bool { + return false +} diff --git a/vendor/github.com/sirupsen/logrus/terminal_check_notappengine.go b/vendor/github.com/sirupsen/logrus/terminal_check_notappengine.go new file mode 100644 index 000000000..d46556509 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/terminal_check_notappengine.go @@ -0,0 +1,19 @@ +// +build !appengine,!js,!windows,!aix + +package logrus + +import ( + "io" + "os" + + "golang.org/x/crypto/ssh/terminal" +) + +func checkIfTerminal(w io.Writer) bool { + switch v := w.(type) { + case *os.File: + return terminal.IsTerminal(int(v.Fd())) + default: + return false + } +} diff --git a/vendor/github.com/sirupsen/logrus/terminal_check_windows.go b/vendor/github.com/sirupsen/logrus/terminal_check_windows.go new file mode 100644 index 000000000..3b9d2864c --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/terminal_check_windows.go @@ -0,0 +1,20 @@ +// +build !appengine,!js,windows + +package logrus + +import ( + "io" + "os" + "syscall" +) + +func checkIfTerminal(w io.Writer) bool { + switch v := w.(type) { + case *os.File: + var mode uint32 + err := syscall.GetConsoleMode(syscall.Handle(v.Fd()), &mode) + return err == nil + default: + return false + } +} diff --git a/vendor/github.com/sirupsen/logrus/terminal_notwindows.go b/vendor/github.com/sirupsen/logrus/terminal_notwindows.go new file mode 100644 index 000000000..3dbd23720 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/terminal_notwindows.go @@ -0,0 +1,8 @@ +// +build !windows + +package logrus + +import "io" + +func initTerminal(w io.Writer) { +} diff --git a/vendor/github.com/sirupsen/logrus/terminal_windows.go b/vendor/github.com/sirupsen/logrus/terminal_windows.go new file mode 100644 index 000000000..b4ef5286c --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/terminal_windows.go @@ -0,0 +1,18 @@ +// +build !appengine,!js,windows + +package logrus + +import ( + "io" + "os" + "syscall" + + sequences "github.com/konsorten/go-windows-terminal-sequences" +) + +func initTerminal(w io.Writer) { + switch v := w.(type) { + case *os.File: + sequences.EnableVirtualTerminalProcessing(syscall.Handle(v.Fd()), true) + } +} diff --git a/vendor/github.com/sirupsen/logrus/text_formatter.go b/vendor/github.com/sirupsen/logrus/text_formatter.go new file mode 100644 index 000000000..fb21649c9 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/text_formatter.go @@ -0,0 +1,273 @@ +package logrus + +import ( + "bytes" + "fmt" + "os" + "runtime" + "sort" + "strings" + "sync" + "time" +) + +const ( + nocolor = 0 + red = 31 + green = 32 + yellow = 33 + blue = 36 + gray = 37 +) + +var ( + baseTimestamp time.Time + emptyFieldMap FieldMap +) + +func init() { + baseTimestamp = time.Now() +} + +// TextFormatter formats logs into text +type TextFormatter struct { + // Set to true to bypass checking for a TTY before outputting colors. + ForceColors bool + + // Force disabling colors. + DisableColors bool + + // Override coloring based on CLICOLOR and CLICOLOR_FORCE. - https://bixense.com/clicolors/ + EnvironmentOverrideColors bool + + // Disable timestamp logging. useful when output is redirected to logging + // system that already adds timestamps. + DisableTimestamp bool + + // Enable logging the full timestamp when a TTY is attached instead of just + // the time passed since beginning of execution. + FullTimestamp bool + + // TimestampFormat to use for display when a full timestamp is printed + TimestampFormat string + + // The fields are sorted by default for a consistent output. For applications + // that log extremely frequently and don't use the JSON formatter this may not + // be desired. + DisableSorting bool + + // The keys sorting function, when uninitialized it uses sort.Strings. + SortingFunc func([]string) + + // Disables the truncation of the level text to 4 characters. + DisableLevelTruncation bool + + // QuoteEmptyFields will wrap empty fields in quotes if true + QuoteEmptyFields bool + + // Whether the logger's out is to a terminal + isTerminal bool + + // FieldMap allows users to customize the names of keys for default fields. + // As an example: + // formatter := &TextFormatter{ + // FieldMap: FieldMap{ + // FieldKeyTime: "@timestamp", + // FieldKeyLevel: "@level", + // FieldKeyMsg: "@message"}} + FieldMap FieldMap + + terminalInitOnce sync.Once +} + +func (f *TextFormatter) init(entry *Entry) { + if entry.Logger != nil { + f.isTerminal = checkIfTerminal(entry.Logger.Out) + + if f.isTerminal { + initTerminal(entry.Logger.Out) + } + } +} + +func (f *TextFormatter) isColored() bool { + isColored := f.ForceColors || (f.isTerminal && (runtime.GOOS != "windows")) + + if f.EnvironmentOverrideColors { + if force, ok := os.LookupEnv("CLICOLOR_FORCE"); ok && force != "0" { + isColored = true + } else if ok && force == "0" { + isColored = false + } else if os.Getenv("CLICOLOR") == "0" { + isColored = false + } + } + + return isColored && !f.DisableColors +} + +// Format renders a single log entry +func (f *TextFormatter) Format(entry *Entry) ([]byte, error) { + data := make(Fields) + for k, v := range entry.Data { + data[k] = v + } + prefixFieldClashes(data, f.FieldMap, entry.HasCaller()) + keys := make([]string, 0, len(data)) + for k := range data { + keys = append(keys, k) + } + + fixedKeys := make([]string, 0, 4+len(data)) + if !f.DisableTimestamp { + fixedKeys = append(fixedKeys, f.FieldMap.resolve(FieldKeyTime)) + } + fixedKeys = append(fixedKeys, f.FieldMap.resolve(FieldKeyLevel)) + if entry.Message != "" { + fixedKeys = append(fixedKeys, f.FieldMap.resolve(FieldKeyMsg)) + } + if entry.err != "" { + fixedKeys = append(fixedKeys, f.FieldMap.resolve(FieldKeyLogrusError)) + } + if entry.HasCaller() { + fixedKeys = append(fixedKeys, + f.FieldMap.resolve(FieldKeyFunc), f.FieldMap.resolve(FieldKeyFile)) + } + + if !f.DisableSorting { + if f.SortingFunc == nil { + sort.Strings(keys) + fixedKeys = append(fixedKeys, keys...) + } else { + if !f.isColored() { + fixedKeys = append(fixedKeys, keys...) + f.SortingFunc(fixedKeys) + } else { + f.SortingFunc(keys) + } + } + } else { + fixedKeys = append(fixedKeys, keys...) + } + + var b *bytes.Buffer + if entry.Buffer != nil { + b = entry.Buffer + } else { + b = &bytes.Buffer{} + } + + f.terminalInitOnce.Do(func() { f.init(entry) }) + + timestampFormat := f.TimestampFormat + if timestampFormat == "" { + timestampFormat = defaultTimestampFormat + } + if f.isColored() { + f.printColored(b, entry, keys, data, timestampFormat) + } else { + for _, key := range fixedKeys { + var value interface{} + switch { + case key == f.FieldMap.resolve(FieldKeyTime): + value = entry.Time.Format(timestampFormat) + case key == f.FieldMap.resolve(FieldKeyLevel): + value = entry.Level.String() + case key == f.FieldMap.resolve(FieldKeyMsg): + value = entry.Message + case key == f.FieldMap.resolve(FieldKeyLogrusError): + value = entry.err + case key == f.FieldMap.resolve(FieldKeyFunc) && entry.HasCaller(): + value = entry.Caller.Function + case key == f.FieldMap.resolve(FieldKeyFile) && entry.HasCaller(): + value = fmt.Sprintf("%s:%d", entry.Caller.File, entry.Caller.Line) + default: + value = data[key] + } + f.appendKeyValue(b, key, value) + } + } + + b.WriteByte('\n') + return b.Bytes(), nil +} + +func (f *TextFormatter) printColored(b *bytes.Buffer, entry *Entry, keys []string, data Fields, timestampFormat string) { + var levelColor int + switch entry.Level { + case DebugLevel, TraceLevel: + levelColor = gray + case WarnLevel: + levelColor = yellow + case ErrorLevel, FatalLevel, PanicLevel: + levelColor = red + default: + levelColor = blue + } + + levelText := strings.ToUpper(entry.Level.String()) + if !f.DisableLevelTruncation { + levelText = levelText[0:4] + } + + // Remove a single newline if it already exists in the message to keep + // the behavior of logrus text_formatter the same as the stdlib log package + entry.Message = strings.TrimSuffix(entry.Message, "\n") + + caller := "" + + if entry.HasCaller() { + caller = fmt.Sprintf("%s:%d %s()", + entry.Caller.File, entry.Caller.Line, entry.Caller.Function) + } + + if f.DisableTimestamp { + fmt.Fprintf(b, "\x1b[%dm%s\x1b[0m%s %-44s ", levelColor, levelText, caller, entry.Message) + } else if !f.FullTimestamp { + fmt.Fprintf(b, "\x1b[%dm%s\x1b[0m[%04d]%s %-44s ", levelColor, levelText, int(entry.Time.Sub(baseTimestamp)/time.Second), caller, entry.Message) + } else { + fmt.Fprintf(b, "\x1b[%dm%s\x1b[0m[%s]%s %-44s ", levelColor, levelText, entry.Time.Format(timestampFormat), caller, entry.Message) + } + for _, k := range keys { + v := data[k] + fmt.Fprintf(b, " \x1b[%dm%s\x1b[0m=", levelColor, k) + f.appendValue(b, v) + } +} + +func (f *TextFormatter) needsQuoting(text string) bool { + if f.QuoteEmptyFields && len(text) == 0 { + return true + } + for _, ch := range text { + if !((ch >= 'a' && ch <= 'z') || + (ch >= 'A' && ch <= 'Z') || + (ch >= '0' && ch <= '9') || + ch == '-' || ch == '.' || ch == '_' || ch == '/' || ch == '@' || ch == '^' || ch == '+') { + return true + } + } + return false +} + +func (f *TextFormatter) appendKeyValue(b *bytes.Buffer, key string, value interface{}) { + if b.Len() > 0 { + b.WriteByte(' ') + } + b.WriteString(key) + b.WriteByte('=') + f.appendValue(b, value) +} + +func (f *TextFormatter) appendValue(b *bytes.Buffer, value interface{}) { + stringVal, ok := value.(string) + if !ok { + stringVal = fmt.Sprint(value) + } + + if !f.needsQuoting(stringVal) { + b.WriteString(stringVal) + } else { + b.WriteString(fmt.Sprintf("%q", stringVal)) + } +} diff --git a/vendor/github.com/sirupsen/logrus/writer.go b/vendor/github.com/sirupsen/logrus/writer.go new file mode 100644 index 000000000..9e1f75135 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/writer.go @@ -0,0 +1,64 @@ +package logrus + +import ( + "bufio" + "io" + "runtime" +) + +func (logger *Logger) Writer() *io.PipeWriter { + return logger.WriterLevel(InfoLevel) +} + +func (logger *Logger) WriterLevel(level Level) *io.PipeWriter { + return NewEntry(logger).WriterLevel(level) +} + +func (entry *Entry) Writer() *io.PipeWriter { + return entry.WriterLevel(InfoLevel) +} + +func (entry *Entry) WriterLevel(level Level) *io.PipeWriter { + reader, writer := io.Pipe() + + var printFunc func(args ...interface{}) + + switch level { + case TraceLevel: + printFunc = entry.Trace + case DebugLevel: + printFunc = entry.Debug + case InfoLevel: + printFunc = entry.Info + case WarnLevel: + printFunc = entry.Warn + case ErrorLevel: + printFunc = entry.Error + case FatalLevel: + printFunc = entry.Fatal + case PanicLevel: + printFunc = entry.Panic + default: + printFunc = entry.Print + } + + go entry.writerScanner(reader, printFunc) + runtime.SetFinalizer(writer, writerFinalizer) + + return writer +} + +func (entry *Entry) writerScanner(reader *io.PipeReader, printFunc func(args ...interface{})) { + scanner := bufio.NewScanner(reader) + for scanner.Scan() { + printFunc(scanner.Text()) + } + if err := scanner.Err(); err != nil { + entry.Errorf("Error while reading from Writer: %s", err) + } + reader.Close() +} + +func writerFinalizer(writer *io.PipeWriter) { + writer.Close() +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/address.go b/vendor/github.com/skycoin/skycoin/src/cipher/address.go new file mode 100644 index 000000000..b5d93275b --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/address.go @@ -0,0 +1,183 @@ +package cipher + +import ( + "errors" + "log" + + "github.com/skycoin/skycoin/src/cipher/base58" +) + +var ( + // ErrAddressInvalidLength Unexpected size of address bytes buffer + ErrAddressInvalidLength = errors.New("Invalid address length") + // ErrAddressInvalidChecksum Computed checksum did not match expected value + ErrAddressInvalidChecksum = errors.New("Invalid checksum") + // ErrAddressInvalidVersion Unsupported address version value + ErrAddressInvalidVersion = errors.New("Address version invalid") + // ErrAddressInvalidPubKey Public key invalid for address + ErrAddressInvalidPubKey = errors.New("Public key invalid for address") + // ErrAddressInvalidFirstByte Invalid first byte in wallet import format string + ErrAddressInvalidFirstByte = errors.New("first byte invalid") + // ErrAddressInvalidLastByte 33rd byte in wallet import format string is invalid + ErrAddressInvalidLastByte = errors.New("invalid 33rd byte") +) + +/* +Addresses are the Ripemd160 of the double SHA256 of the public key +- public key must be in compressed format + +In the block chain the address is 20+1 bytes +- the first byte is the version byte +- the next twenty bytes are RIPMD160(SHA256(SHA256(pubkey))) + +In base 58 format the address is 20+1+4 bytes +- the first 20 bytes are RIPMD160(SHA256(SHA256(pubkey))). +-- this is to allow for any prefix in vanity addresses +- the next byte is the version byte +- the next 4 bytes are a checksum +-- the first 4 bytes of the SHA256 of the 21 bytes that come before + +*/ + +// Checksum 4 bytes +type Checksum [4]byte + +// Addresser defines an interface for cryptocurrency addresses +type Addresser interface { + Bytes() []byte + String() string + Checksum() Checksum + Verify(PubKey) error + Null() bool +} + +// PubKeyRipemd160 returns ripemd160(sha256(sha256(pubkey))) +func PubKeyRipemd160(pubKey PubKey) Ripemd160 { + r1 := SumSHA256(pubKey[:]) + r2 := SumSHA256(r1[:]) + return HashRipemd160(r2[:]) +} + +// Address version is after Key to enable better vanity address generation +// Address struct is a 25 byte with a 20 byte public key hash, 1 byte address +// type and 4 byte checksum. +type Address struct { + Version byte //1 byte + Key Ripemd160 //20 byte pubkey hash +} + +// AddressFromPubKey creates Address from PubKey as ripemd160(sha256(sha256(pubkey))) +func AddressFromPubKey(pubKey PubKey) Address { + return Address{ + Version: 0, + Key: PubKeyRipemd160(pubKey), + } +} + +// AddressFromSecKey generates address from secret key +func AddressFromSecKey(secKey SecKey) (Address, error) { + p, err := PubKeyFromSecKey(secKey) + if err != nil { + return Address{}, err + } + return AddressFromPubKey(p), nil +} + +// MustAddressFromSecKey generates address from secret key, panics on error +func MustAddressFromSecKey(secKey SecKey) Address { + return AddressFromPubKey(MustPubKeyFromSecKey(secKey)) +} + +// DecodeBase58Address creates an Address from its base58 encoding +func DecodeBase58Address(addr string) (Address, error) { + b, err := base58.Decode(addr) + if err != nil { + return Address{}, err + } + return AddressFromBytes(b) +} + +// MustDecodeBase58Address creates an Address from its base58 encoding, panics on error +func MustDecodeBase58Address(addr string) Address { + a, err := DecodeBase58Address(addr) + if err != nil { + log.Panicf("Invalid address %s: %v", addr, err) + } + return a +} + +// AddressFromBytes converts []byte to an Address +func AddressFromBytes(b []byte) (Address, error) { + if len(b) != 20+1+4 { + return Address{}, ErrAddressInvalidLength + } + a := Address{} + copy(a.Key[0:20], b[0:20]) + a.Version = b[20] + + chksum := a.Checksum() + var checksum [4]byte + copy(checksum[0:4], b[21:25]) + + if checksum != chksum { + return Address{}, ErrAddressInvalidChecksum + } + + if a.Version != 0 { + return Address{}, ErrAddressInvalidVersion + } + + return a, nil +} + +// MustAddressFromBytes converts []byte to an Address, panics on error +func MustAddressFromBytes(b []byte) Address { + addr, err := AddressFromBytes(b) + if err != nil { + log.Panic(err) + } + + return addr +} + +// Null returns true if the address is null (0x0000....) +func (addr Address) Null() bool { + return addr == Address{} +} + +// Bytes return address as a byte slice +func (addr Address) Bytes() []byte { + b := make([]byte, 20+1+4) + copy(b[0:20], addr.Key[0:20]) + b[20] = addr.Version + chksum := addr.Checksum() + copy(b[21:25], chksum[0:4]) + return b +} + +// Verify checks that the address appears valid for the public key +func (addr Address) Verify(pubKey PubKey) error { + if addr.Version != 0x00 { + return ErrAddressInvalidVersion + } + + if addr.Key != PubKeyRipemd160(pubKey) { + return ErrAddressInvalidPubKey + } + + return nil +} + +// String address as Base58 encoded string +func (addr Address) String() string { + return string(base58.Encode(addr.Bytes())) +} + +// Checksum returns Address Checksum which is the first 4 bytes of sha256(key+version) +func (addr Address) Checksum() Checksum { + r1 := append(addr.Key[:], []byte{addr.Version}...) + r2 := SumSHA256(r1[:]) + c := Checksum{} + copy(c[:], r2[:len(c)]) + return c +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/base58/LICENSE b/vendor/github.com/skycoin/skycoin/src/cipher/base58/LICENSE new file mode 100644 index 000000000..9d58fbb4d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/base58/LICENSE @@ -0,0 +1,24 @@ +MIT License + +Copyright (c) 2017 Denis Subbotin +Copyright (c) 2017 Nika Jones +Copyright (c) 2017 Philip Schlump +Copyright (c) 2019 gz-c + +Permission 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: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE 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. diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/base58/LICENSE_old b/vendor/github.com/skycoin/skycoin/src/cipher/base58/LICENSE_old new file mode 100644 index 000000000..58da01b3f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/base58/LICENSE_old @@ -0,0 +1,27 @@ +Copyright (c) 2012 ThePiachu. All rights reserved. +Copyright (c) 2019 gz-c, Skycoin developers. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * The name of ThePiachu may not be used to endorse or promote products +derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/base58/README.md b/vendor/github.com/skycoin/skycoin/src/cipher/base58/README.md new file mode 100644 index 000000000..5042659ad --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/base58/README.md @@ -0,0 +1,47 @@ +# Fast Implementation of Base58 encoding + +[![GoDoc](https://godoc.org/github.com/skycoin/skycoin/src/cipher/base58?status.svg)](https://godoc.org/github.com/skycoin/skycoin/src/cipher/base58) + +Fast implementation of base58 encoding in Go. + +This code is a fork of https://github.com/mr-tron/base58 + +Base algorithm is copied from https://github.com/trezor/trezor-crypto/blob/master/base58.c +Which was copied from an older version of libbase58 https://github.com/bitcoin/libbase58 + +## Performance + +Other base58 golang libraries use `big.Int` which has a lot of malloc overhead and shows up as a common bottleneck when profiling. + +This version removes the use of `big.Int`. + +## Usage example + +```go +package main + +import ( + "fmt" + "os" + + "github.com/skycoin/skycoin/src/cipher/base58" +) + +func main() { + encoded := "1QCaxc8hutpdZ62iKZsn1TCG3nh7uPZojq" + bin, err := base58.Decode(encoded) + if err != nil { + fmt.Println("Decode error:", err) + os.Exit(1) + } + + chk := base58.Encode(bin) + if encoded == string(chk) { + fmt.Println("Successfully decoded then re-encoded") + } +} +``` + +## base58-old + +The old base58 code is retained here as a reference and used in tests to compare the output is equivalent. diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/base58/base58.go b/vendor/github.com/skycoin/skycoin/src/cipher/base58/base58.go new file mode 100644 index 000000000..c18ae5a88 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/base58/base58.go @@ -0,0 +1,178 @@ +package base58 + +import ( + "errors" + "fmt" +) + +var ( + // ErrInvalidChar Invalid base58 character + ErrInvalidChar = errors.New("Invalid base58 character") + // ErrInvalidString Invalid base58 string + ErrInvalidString = errors.New("Invalid base58 string") +) + +// Alphabet is a a b58 alphabet. +type Alphabet struct { + decode [128]int8 + encode [58]byte +} + +// NewAlphabet creates a new alphabet from the passed string. +// +// It panics if the passed string is not 58 bytes long or isn't valid ASCII. +func NewAlphabet(s string) *Alphabet { + if len(s) != 58 { + panic("base58 alphabets must be 58 bytes long") + } + + ret := &Alphabet{} + + copy(ret.encode[:], s) + + for i := range ret.decode { + ret.decode[i] = -1 + } + for i, b := range ret.encode { + ret.decode[b] = int8(i) + } + + return ret +} + +// btcAlphabet is the bitcoin base58 alphabet. +var btcAlphabet = NewAlphabet("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz") + +// Encode encodes the passed bytes into a base58 encoded string. +func Encode(bin []byte) string { + return fastBase58EncodingAlphabet(bin, btcAlphabet) +} + +// fastBase58EncodingAlphabet encodes the passed bytes into a base58 encoded +// string with the passed alphabet. +func fastBase58EncodingAlphabet(bin []byte, alphabet *Alphabet) string { + binsz := len(bin) + var i, j, zcount, high int + var carry uint32 + + for zcount < binsz && bin[zcount] == 0 { + zcount++ + } + + size := (binsz-zcount)*138/100 + 1 + var buf = make([]uint32, size) + + high = size - 1 + for i = zcount; i < binsz; i++ { + j = size - 1 + for carry = uint32(bin[i]); j > high || carry != 0; j-- { + carry += buf[j] << 8 + buf[j] = carry % 58 + carry /= 58 + } + high = j + } + + for j = 0; j < size && buf[j] == 0; j++ { + } + + var b58 = make([]byte, size-j+zcount) + + if zcount != 0 { + for i = 0; i < zcount; i++ { + b58[i] = '1' + } + } + + for i = zcount; j < size; i++ { + b58[i] = alphabet.encode[buf[j]] + j++ + } + + return string(b58) +} + +// Decode decodes the base58 encoded bytes. +func Decode(str string) ([]byte, error) { + return fastBase58DecodingAlphabet(str, btcAlphabet) +} + +// fastBase58DecodingAlphabet decodes the base58 encoded bytes using the given +// b58 alphabet. +func fastBase58DecodingAlphabet(str string, alphabet *Alphabet) ([]byte, error) { + if len(str) == 0 { + return nil, ErrInvalidString + } + + var ( + t, c uint64 + zmask uint32 + zcount int + + b58u = []rune(str) + b58sz = len(b58u) + + outisz = (b58sz + 3) >> 2 + binu = make([]byte, (b58sz+3)*3) + bytesleft = b58sz & 3 + ) + + if bytesleft > 0 { + zmask = 0xffffffff << uint32(bytesleft*8) + } else { + bytesleft = 4 + } + + var outi = make([]uint32, outisz) + + for i := 0; i < b58sz && b58u[i] == '1'; i++ { + zcount++ + } + + for _, r := range b58u { + if r > 127 { + return nil, ErrInvalidChar + } + if alphabet.decode[r] == -1 { + return nil, ErrInvalidChar + } + + c = uint64(alphabet.decode[r]) + + for j := outisz - 1; j >= 0; j-- { + t = uint64(outi[j])*58 + c + c = (t >> 32) & 0x3f + outi[j] = uint32(t & 0xffffffff) + } + + // Neither of these should occur because the buffer is allocated ourselves + if c > 0 { + return nil, fmt.Errorf("output number too big (carry to the next int32)") + } + + if outi[0]&zmask != 0 { + return nil, fmt.Errorf("output number too big (last int32 filled too far)") + } + } + + var j, cnt int + for j, cnt = 0, 0; j < outisz; j++ { + for mask := byte(bytesleft-1) * 8; mask <= 0x18; mask, cnt = mask-8, cnt+1 { + binu[cnt] = byte(outi[j] >> mask) + } + if j == 0 { + bytesleft = 4 // because it could be less than 4 the first time through + } + } + + for n, v := range binu { + if v > 0 { + start := n - zcount + if start < 0 { + start = 0 + } + return binu[start:cnt], nil + } + } + return binu[:cnt], nil +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/base58/base58_old.go b/vendor/github.com/skycoin/skycoin/src/cipher/base58/base58_old.go new file mode 100644 index 000000000..ffa4bca5c --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/base58/base58_old.go @@ -0,0 +1,190 @@ +// Copyright 2011 ThePiachu. All rights reserved. +// Copyright 2019 gz-c, Skycoin developers. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package base58 + +import ( + "errors" + "fmt" + "math/big" +) + +//alphabet used by Bitcoins +var alphabet = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz" + +var ( + // errInvalidBase58Char Invalid base58 character + errInvalidBase58Char = errors.New("Invalid base58 character") + // errInvalidBase58String Invalid base58 string + errInvalidBase58String = errors.New("Invalid base58 string") + // errInvalidBase58Length Invalid base58 length + errInvalidBase58Length = errors.New("base58 invalid length") +) + +// oldBase58 type to hold the oldBase58 string +type oldBase58 string + +//reverse alphabet used for quckly converting base58 strings into numbers +var revalp = map[string]int{ + "1": 0, "2": 1, "3": 2, "4": 3, "5": 4, "6": 5, "7": 6, "8": 7, "9": 8, "A": 9, + "B": 10, "C": 11, "D": 12, "E": 13, "F": 14, "G": 15, "H": 16, "J": 17, "K": 18, "L": 19, + "M": 20, "N": 21, "P": 22, "Q": 23, "R": 24, "S": 25, "T": 26, "U": 27, "V": 28, "W": 29, + "X": 30, "Y": 31, "Z": 32, "a": 33, "b": 34, "c": 35, "d": 36, "e": 37, "f": 38, "g": 39, + "h": 40, "i": 41, "j": 42, "k": 43, "m": 44, "n": 45, "o": 46, "p": 47, "q": 48, "r": 49, + "s": 50, "t": 51, "u": 52, "v": 53, "w": 54, "x": 55, "y": 56, "z": 57, +} + +// oldHex2Big converts hex to big +func oldHex2Big(b []byte) *big.Int { + answer := big.NewInt(0) + + for i := 0; i < len(b); i++ { + answer.Lsh(answer, 8) + answer.Add(answer, big.NewInt(int64(b[i]))) + } + + return answer +} + +// ToBig convert base58 to big.Int +func (b oldBase58) ToBig() (*big.Int, error) { + answer := new(big.Int) + for i := 0; i < len(b); i++ { + answer.Mul(answer, big.NewInt(58)) //multiply current value by 58 + c, ok := revalp[string(b[i:i+1])] + if !ok { + return nil, errInvalidBase58Char + } + answer.Add(answer, big.NewInt(int64(c))) //add value of the current letter + } + return answer, nil +} + +// ToInt converts base58 to int +func (b oldBase58) ToInt() (int, error) { + answer := 0 + for i := 0; i < len(b); i++ { + answer *= 58 //multiply current value by 58 + c, ok := revalp[string(b[i:i+1])] + if !ok { + return 0, errInvalidBase58Char + } + answer += c //add value of the current letter + } + return answer, nil +} + +//ToHex converts base58 to hex bytes +func (b oldBase58) ToHex() ([]byte, error) { + value, err := b.ToBig() //convert to big.Int + if err != nil { + return nil, err + } + oneCount := 0 + bs := string(b) + if len(bs) == 0 { + return nil, fmt.Errorf("%v - len(bs) == 0", errInvalidBase58String) + } + for bs[oneCount] == '1' { + oneCount++ + if oneCount >= len(bs) { + return nil, fmt.Errorf("%v - oneCount >= len(bs)", errInvalidBase58String) + } + } + //convert big.Int to bytes + return append(make([]byte, oneCount), value.Bytes()...), nil +} + +// Base582Big converts base58 to big +func (b oldBase58) Base582Big() (*big.Int, error) { + answer := new(big.Int) + for i := 0; i < len(b); i++ { + answer.Mul(answer, big.NewInt(58)) //multiply current value by 58 + c, ok := revalp[string(b[i:i+1])] + if !ok { + return nil, errInvalidBase58Char + } + answer.Add(answer, big.NewInt(int64(c))) //add value of the current letter + } + return answer, nil +} + +// Base582Int converts base58 to int +func (b oldBase58) Base582Int() (int, error) { + answer := 0 + for i := 0; i < len(b); i++ { + answer *= 58 //multiply current value by 58 + c, ok := revalp[string(b[i:i+1])] + if !ok { + return 0, errInvalidBase58Char + } + answer += c //add value of the current letter + } + return answer, nil +} + +// oldBase582Hex converts base58 to hex bytes +func oldBase582Hex(b string) ([]byte, error) { + return oldBase58(b).ToHex() +} + +// BitHex converts base58 to hexes used by Bitcoins (keeping the zeroes on the front, 25 bytes long) +func (b oldBase58) BitHex() ([]byte, error) { + value, err := b.ToBig() //convert to big.Int + if err != nil { + return nil, err + } + + tmp := value.Bytes() //convert to hex bytes + if len(tmp) == 25 { //if it is exactly 25 bytes, return + return tmp, nil + } else if len(tmp) > 25 { //if it is longer than 25, return nothing + return nil, errInvalidBase58Length + } + answer := make([]byte, 25) //make 25 byte container + for i := 0; i < len(tmp); i++ { //copy converted bytes + answer[24-i] = tmp[len(tmp)-1-i] + } + return answer, nil +} + +// oldBig2Base58 encodes big.Int to base58 string +func oldBig2Base58(val *big.Int) oldBase58 { + answer := "" + valCopy := new(big.Int).Abs(val) //copies big.Int + + if val.Cmp(big.NewInt(0)) <= 0 { //if it is less than 0, returns empty string + return oldBase58("") + } + + tmpStr := "" + tmp := new(big.Int) + for valCopy.Cmp(big.NewInt(0)) > 0 { //converts the number into base58 + tmp.Mod(valCopy, big.NewInt(58)) //takes modulo 58 value + valCopy.Div(valCopy, big.NewInt(58)) //divides the rest by 58 + tmpStr += alphabet[tmp.Int64() : tmp.Int64()+1] //encodes + } + for i := (len(tmpStr) - 1); i > -1; i-- { + answer += tmpStr[i : i+1] //reverses the order + } + return oldBase58(answer) //returns +} + +// oldHex2Base58 encodes hex bytes into base58 +func oldHex2Base58(val []byte) oldBase58 { + tmp := oldBig2Base58(oldHex2Big(val)) //encoding of the number without zeroes in front + + //looking for zeros at the beginning + i := 0 + for i = 0; val[i] == 0 && i < len(val); i++ { + } + answer := "" + for j := 0; j < i; j++ { //adds zeroes from the front + answer += alphabet[0:1] + } + answer += string(tmp) //concatenates + + return oldBase58(answer) //returns +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/bitcoin.go b/vendor/github.com/skycoin/skycoin/src/cipher/bitcoin.go new file mode 100644 index 000000000..e601d5a2c --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/bitcoin.go @@ -0,0 +1,195 @@ +package cipher + +import ( + "bytes" + "errors" + "log" + + "github.com/skycoin/skycoin/src/cipher/base58" +) + +var ( + // ErrInvalidLength Unexpected size of string or bytes buffer + ErrInvalidLength = errors.New("Invalid length") + // ErrBitcoinWIFInvalidFirstByte Unexpected value (!= 0x80) of first byte in Bitcoin Wallet Import Format + ErrBitcoinWIFInvalidFirstByte = errors.New("Bitcoin WIF: First byte invalid") + // ErrBitcoinWIFInvalidSuffix Unexpected value (!= 0x01) of 33rd byte in Bitcoin Wallet Import Format + ErrBitcoinWIFInvalidSuffix = errors.New("Bitcoin WIF: Invalid 33rd byte") + // ErrBitcoinWIFInvalidChecksum Invalid Checksum in Bitcoin WIF address + ErrBitcoinWIFInvalidChecksum = errors.New("Bitcoin WIF: Checksum fail") +) + +// BitcoinAddress is a bitcoin address +type BitcoinAddress struct { + Version byte // 1 byte + Key Ripemd160 // 20 byte pubkey hash +} + +// BitcoinPubKeyRipemd160 returns ripemd160(sha256(key)) +func BitcoinPubKeyRipemd160(pubKey PubKey) Ripemd160 { + r1 := SumSHA256(pubKey[:]) + return HashRipemd160(r1[:]) +} + +// BitcoinAddressFromPubKey creates a mainnet (version 0) BitcoinAddress from PubKey as ripemd160(sha256(pubkey))) +func BitcoinAddressFromPubKey(pubKey PubKey) BitcoinAddress { + return BitcoinAddress{ + Version: 0, + Key: BitcoinPubKeyRipemd160(pubKey), + } +} + +// BitcoinAddressFromSecKey generates a BitcoinAddress from SecKey +func BitcoinAddressFromSecKey(secKey SecKey) (BitcoinAddress, error) { + p, err := PubKeyFromSecKey(secKey) + if err != nil { + return BitcoinAddress{}, err + } + return BitcoinAddressFromPubKey(p), nil +} + +// MustBitcoinAddressFromSecKey generates a BitcoinAddress from SecKey, panics on error +func MustBitcoinAddressFromSecKey(secKey SecKey) BitcoinAddress { + return BitcoinAddressFromPubKey(MustPubKeyFromSecKey(secKey)) +} + +// DecodeBase58BitcoinAddress creates a BitcoinAddress from its base58 encoding +func DecodeBase58BitcoinAddress(addr string) (BitcoinAddress, error) { + b, err := base58.Decode(addr) + if err != nil { + return BitcoinAddress{}, err + } + return BitcoinAddressFromBytes(b) +} + +// MustDecodeBase58BitcoinAddress creates a BitcoinAddress from its base58 encoding, panics on error +func MustDecodeBase58BitcoinAddress(addr string) BitcoinAddress { + a, err := DecodeBase58BitcoinAddress(addr) + if err != nil { + log.Panicf("Invalid bitcoin address %s: %v", addr, err) + } + return a +} + +// BitcoinAddressFromBytes converts []byte to a BitcoinAddress. Only supports mainnet (version 0) addresses. +func BitcoinAddressFromBytes(b []byte) (BitcoinAddress, error) { + if len(b) != 20+1+4 { + return BitcoinAddress{}, ErrAddressInvalidLength + } + a := BitcoinAddress{} + copy(a.Key[0:20], b[1:21]) + a.Version = b[0] + + var checksum [4]byte + copy(checksum[0:4], b[21:25]) + + if checksum != a.Checksum() { + return BitcoinAddress{}, ErrAddressInvalidChecksum + } + + // BitcoinAddress only supports mainnet addresses for now + if a.Version != 0 { + return BitcoinAddress{}, ErrAddressInvalidVersion + } + + return a, nil +} + +// MustBitcoinAddressFromBytes converts []byte to a BitcoinAddress, panics on error +func MustBitcoinAddressFromBytes(b []byte) BitcoinAddress { + addr, err := BitcoinAddressFromBytes(b) + if err != nil { + log.Panic(err) + } + + return addr +} + +// Null returns true if the address is null (0x0000....) +func (addr BitcoinAddress) Null() bool { + return addr == BitcoinAddress{} +} + +// Bytes returns bitcoin address as byte slice +func (addr BitcoinAddress) Bytes() []byte { + b := make([]byte, 20+1+4) + b[0] = addr.Version + copy(b[1:21], addr.Key[0:20]) + chksum := addr.Checksum() + copy(b[21:25], chksum[0:4]) + return b +} + +// Verify checks that the bitcoin address appears valid for the public key +func (addr BitcoinAddress) Verify(key PubKey) error { + // BitcoinAddress only supports mainnet addresses for now + if addr.Version != 0x00 { + return ErrAddressInvalidVersion + } + if addr.Key != BitcoinPubKeyRipemd160(key) { + return ErrAddressInvalidPubKey + } + return nil +} + +// String convert bitcoin address to hex string +func (addr BitcoinAddress) String() string { + return string(base58.Encode(addr.Bytes())) +} + +// Checksum returns a bitcoin address Checksum which is the first 4 bytes of sha256(sha256(version+key)) +func (addr BitcoinAddress) Checksum() Checksum { + r1 := append([]byte{addr.Version}, addr.Key[:]...) + r2 := DoubleSHA256(r1[:]) + c := Checksum{} + copy(c[:], r2[:len(c)]) + return c +} + +// BitcoinWalletImportFormatFromSeckey exports seckey in wallet import format +// key must be compressed +func BitcoinWalletImportFormatFromSeckey(seckey SecKey) string { + b1 := append([]byte{byte(0x80)}, seckey[:]...) + b2 := append(b1[:], []byte{0x01}...) + b3 := DoubleSHA256(b2) //checksum + b4 := append(b2, b3[0:4]...) + return string(base58.Encode(b4)) +} + +// SecKeyFromBitcoinWalletImportFormat extracts a seckey from the bitcoin wallet import format +func SecKeyFromBitcoinWalletImportFormat(input string) (SecKey, error) { + b, err := base58.Decode(input) + if err != nil { + return SecKey{}, err + } + + //1+32+1+4 + if len(b) != 38 { + return SecKey{}, ErrInvalidLength + } + if b[0] != 0x80 { + return SecKey{}, ErrBitcoinWIFInvalidFirstByte + } + + if b[1+32] != 0x01 { + return SecKey{}, ErrBitcoinWIFInvalidSuffix + } + + b2 := DoubleSHA256(b[0:34]) + chksum := b[34:38] + + if !bytes.Equal(chksum, b2[0:4]) { + return SecKey{}, ErrBitcoinWIFInvalidChecksum + } + + return NewSecKey(b[1:33]) +} + +// MustSecKeyFromBitcoinWalletImportFormat extracts a seckey from the bitcoin wallet import format, panics on error +func MustSecKeyFromBitcoinWalletImportFormat(input string) SecKey { + seckey, err := SecKeyFromBitcoinWalletImportFormat(input) + if err != nil { + log.Panicf("MustSecKeyFromBitcoinWalletImportFormat, invalid seckey, %v", err) + } + return seckey +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/crypto.go b/vendor/github.com/skycoin/skycoin/src/cipher/crypto.go new file mode 100644 index 000000000..073b0566e --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/crypto.go @@ -0,0 +1,696 @@ +/* +Package cipher implements cryptographic methods. + +These methods include: + +* Public and private key generation +* Address generation +* Signing + +Private keys are secp256k1 keys. Addresses are base58 encoded. + +All dependencies are either from the go stdlib, or are manually vendored +below this package. This manual vendoring ensures that the exact same dependencies +are used by any user of this package, regardless of their gopath. +*/ +package cipher + +import ( + "crypto/sha256" + "encoding/hex" + "errors" + "fmt" + "hash" + "log" + "time" + + "github.com/skycoin/skycoin/src/cipher/ripemd160" + "github.com/skycoin/skycoin/src/cipher/secp256k1-go" +) + +var ( + // DebugLevel1 debug level one + DebugLevel1 = true //checks for extremely unlikely conditions (10e-40) + // DebugLevel2 debug level two + DebugLevel2 = true //enable checks for impossible conditions + + // ErrInvalidLengthPubKey Invalid public key length + ErrInvalidLengthPubKey = errors.New("Invalid public key length") + // ErrPubKeyFromNullSecKey Attempt to load null seckey, unsafe + ErrPubKeyFromNullSecKey = errors.New("Attempt to load null seckey, unsafe") + // ErrPubKeyFromBadSecKey PubKeyFromSecKey, pubkey recovery failed. Function + ErrPubKeyFromBadSecKey = errors.New("PubKeyFromSecKey, pubkey recovery failed. Function assumes seckey is valid. Check seckey") + // ErrInvalidLengthSecKey Invalid secret key length + ErrInvalidLengthSecKey = errors.New("Invalid secret key length") + // ErrECHDInvalidPubKey ECDH invalid pubkey input + ErrECHDInvalidPubKey = errors.New("ECDH invalid pubkey input") + // ErrECHDInvalidSecKey ECDH invalid seckey input + ErrECHDInvalidSecKey = errors.New("ECDH invalid seckey input") + // ErrInvalidLengthSig Invalid signature length + ErrInvalidLengthSig = errors.New("Invalid signature length") + // ErrInvalidPubKey Invalid public key + ErrInvalidPubKey = errors.New("Invalid public key") + // ErrInvalidSecKey Invalid public key + ErrInvalidSecKey = errors.New("Invalid secret key") + // ErrInvalidSig Invalid signature + ErrInvalidSig = errors.New("Invalid signature") + // ErrInvalidSigPubKeyRecovery could not recover pubkey from sig + ErrInvalidSigPubKeyRecovery = errors.New("Failed to recover pubkey from signature") + // ErrInvalidAddressForSig the address derived from the pubkey recovered from the signature does not match a provided address + ErrInvalidAddressForSig = errors.New("Address does not match recovered signing address") + // ErrInvalidHashForSig Signature invalid for hash + ErrInvalidHashForSig = errors.New("Signature not valid for hash") + // ErrPubKeyRecoverMismatch Recovered pubkey does not match pubkey + ErrPubKeyRecoverMismatch = errors.New("Recovered pubkey does not match pubkey") + // ErrInvalidSigInvalidPubKey VerifySignedHash, secp256k1.VerifyPubkey failed + ErrInvalidSigInvalidPubKey = errors.New("VerifySignedHash, secp256k1.VerifyPubkey failed") + // ErrInvalidSigValidity VerifySignedHash, VerifySignatureValidity failed + ErrInvalidSigValidity = errors.New("VerifySignedHash, VerifySignatureValidity failed") + // ErrInvalidSigForMessage Invalid signature for this message + ErrInvalidSigForMessage = errors.New("Invalid signature for this message") + // ErrInvalidSecKyVerification Seckey secp256k1 verification failed + ErrInvalidSecKyVerification = errors.New("Seckey verification failed") + // ErrNullPubKeyFromSecKey Impossible error, TestSecKey, nil pubkey recovered + ErrNullPubKeyFromSecKey = errors.New("impossible error, TestSecKey, nil pubkey recovered") + // ErrInvalidDerivedPubKeyFromSecKey impossible error, TestSecKey, Derived Pubkey verification failed + ErrInvalidDerivedPubKeyFromSecKey = errors.New("impossible error, TestSecKey, Derived Pubkey verification failed") + // ErrInvalidPubKeyFromHash Recovered pubkey does not match signed hash + ErrInvalidPubKeyFromHash = errors.New("Recovered pubkey does not match signed hash") + // ErrPubKeyFromSecKeyMismatch impossible error TestSecKey, pubkey does not match recovered pubkey + ErrPubKeyFromSecKeyMismatch = errors.New("impossible error TestSecKey, pubkey does not match recovered pubkey") + // ErrEmptySeed Seed input is empty + ErrEmptySeed = errors.New("Seed input is empty") +) + +// PubKey public key +type PubKey [33]byte + +// RandByte returns rand N bytes +func RandByte(n int) []byte { + return secp256k1.RandByte(n) +} + +// NewPubKey converts []byte to a PubKey +func NewPubKey(b []byte) (PubKey, error) { + p := PubKey{} + if len(b) != len(p) { + return PubKey{}, ErrInvalidLengthPubKey + } + copy(p[:], b[:]) + + if err := p.Verify(); err != nil { + return PubKey{}, err + } + + return p, nil +} + +// MustNewPubKey converts []byte to a PubKey, panics on error +func MustNewPubKey(b []byte) PubKey { + p, err := NewPubKey(b) + if err != nil { + log.Panic(err) + } + return p +} + +// PubKeyFromHex generates PubKey from hex string +func PubKeyFromHex(s string) (PubKey, error) { + b, err := hex.DecodeString(s) + if err != nil { + return PubKey{}, ErrInvalidPubKey + } + return NewPubKey(b) +} + +// MustPubKeyFromHex decodes a hex encoded PubKey, panics on error +func MustPubKeyFromHex(s string) PubKey { + b, err := hex.DecodeString(s) + if err != nil { + log.Panic(err) + } + return MustNewPubKey(b) +} + +// PubKeyFromSecKey recovers the public key for a secret key +func PubKeyFromSecKey(seckey SecKey) (PubKey, error) { + if seckey == (SecKey{}) { + return PubKey{}, ErrPubKeyFromNullSecKey + } + + b := secp256k1.PubkeyFromSeckey(seckey[:]) + if b == nil { + return PubKey{}, ErrPubKeyFromBadSecKey + } + + return NewPubKey(b) +} + +// MustPubKeyFromSecKey recovers the public key for a secret key. Panics on error. +func MustPubKeyFromSecKey(seckey SecKey) PubKey { + pk, err := PubKeyFromSecKey(seckey) + if err != nil { + log.Panic(err) + } + return pk +} + +// PubKeyFromSig recovers the public key from a signed hash +func PubKeyFromSig(sig Sig, hash SHA256) (PubKey, error) { + rawPubKey := secp256k1.RecoverPubkey(hash[:], sig[:]) + if rawPubKey == nil { + return PubKey{}, ErrInvalidSigPubKeyRecovery + } + return NewPubKey(rawPubKey) +} + +// MustPubKeyFromSig recovers the public key from a signed hash, panics on error +func MustPubKeyFromSig(sig Sig, hash SHA256) PubKey { + pk, err := PubKeyFromSig(sig, hash) + if err != nil { + log.Panic(err) + } + return pk +} + +// Verify attempts to determine if pubkey is valid. Returns nil on success +func (pk PubKey) Verify() error { + if secp256k1.VerifyPubkey(pk[:]) != 1 { + return ErrInvalidPubKey + } + return nil +} + +// Hex returns a hex encoded PubKey string +func (pk PubKey) Hex() string { + return hex.EncodeToString(pk[:]) +} + +// Null returns true if PubKey is the null PubKey +func (pk PubKey) Null() bool { + return pk == PubKey{} +} + +// SecKey secret key +type SecKey [32]byte + +// NewSecKey converts []byte to a SecKey +func NewSecKey(b []byte) (SecKey, error) { + p := SecKey{} + if len(b) != len(p) { + return SecKey{}, ErrInvalidLengthSecKey + } + copy(p[:], b[:]) + + // Disable the DebugLevel2 check here because it is too slow. + // If desired, perform the full Verify() check after using this method + if err := p.verify(false); err != nil { + return SecKey{}, err + } + + return p, nil +} + +// MustNewSecKey converts []byte to a SecKey. Panics is []byte is not the exact size +func MustNewSecKey(b []byte) SecKey { + p, err := NewSecKey(b) + if err != nil { + log.Panic(err) + } + return p +} + +// MustSecKeyFromHex decodes a hex encoded SecKey, or panics +func MustSecKeyFromHex(s string) SecKey { + b, err := hex.DecodeString(s) + if err != nil { + log.Panic(err) + } + return MustNewSecKey(b) +} + +// SecKeyFromHex decodes a hex encoded SecKey, or panics +func SecKeyFromHex(s string) (SecKey, error) { + b, err := hex.DecodeString(s) + if err != nil { + return SecKey{}, ErrInvalidSecKey + } + return NewSecKey(b) +} + +// Verify attempts to determine if SecKey is valid. Returns nil on success. +// If DebugLevel2, will do additional sanity checking +func (sk SecKey) Verify() error { + return sk.verify(DebugLevel2) +} + +func (sk SecKey) verify(debugLevel2Check bool) error { + if secp256k1.VerifySeckey(sk[:]) != 1 { + return ErrInvalidSecKey + } + + if debugLevel2Check { + if err := CheckSecKey(sk); err != nil { + log.Panicf("DebugLevel2, WARNING CRYPTO ARMAGEDDON: %v", err) + } + } + + return nil +} + +// Hex returns a hex encoded SecKey string +func (sk SecKey) Hex() string { + return hex.EncodeToString(sk[:]) +} + +// Null returns true if SecKey is the null SecKey +func (sk SecKey) Null() bool { + return sk == SecKey{} +} + +//ECDH generates a shared secret +// A: pub1,sec1 +// B: pub2,sec2 +// person A sends their public key pub1 +// person B sends an emphameral pubkey pub2 +// person A computes cipher.ECDH(pub2, sec1) +// person B computes cipher.ECDH(pub1, sec2) +// cipher.ECDH(pub2, sec1) equals cipher.ECDH(pub1, sec2) +// This is their shared secret +func ECDH(pub PubKey, sec SecKey) ([]byte, error) { + if err := pub.Verify(); err != nil { + return nil, ErrECHDInvalidPubKey + } + + // Don't perform the DebugLevel2 verification check for the secret key, + // it is too slow to use in an ECDH context and is not important for that use case + if err := sec.verify(false); err != nil { + return nil, ErrECHDInvalidSecKey + } + + buff := secp256k1.ECDH(pub[:], sec[:]) + ret := SumSHA256(buff) // hash this so they cant screw up + return ret[:], nil +} + +// MustECDH calls ECDH and panics on error +func MustECDH(pub PubKey, sec SecKey) []byte { + r, err := ECDH(pub, sec) + if err != nil { + log.Panic(err) + } + return r +} + +// Sig signature +type Sig [64 + 1]byte //64 byte signature with 1 byte for key recovery + +// NewSig converts []byte to a Sig +func NewSig(b []byte) (Sig, error) { + s := Sig{} + if len(b) != len(s) { + return Sig{}, ErrInvalidLengthSig + } + copy(s[:], b[:]) + return s, nil +} + +// MustNewSig converts []byte to a Sig. Panics is []byte is not the exact size +func MustNewSig(b []byte) Sig { + s := Sig{} + if len(b) != len(s) { + log.Panic("Invalid signature length") + } + copy(s[:], b[:]) + return s +} + +// SigFromHex converts a hex string to a signature +func SigFromHex(s string) (Sig, error) { + b, err := hex.DecodeString(s) + if err != nil { + return Sig{}, ErrInvalidSig + } + return NewSig(b) +} + +// MustSigFromHex converts a hex string to a signature, panics on error +func MustSigFromHex(s string) Sig { + sig, err := SigFromHex(s) + if err != nil { + log.Panic(err) + } + return sig +} + +// Hex converts signature to hex string +func (s Sig) Hex() string { + return hex.EncodeToString(s[:]) +} + +// SignHash sign hash +func SignHash(hash SHA256, sec SecKey) (Sig, error) { + if secp256k1.VerifySeckey(sec[:]) != 1 { + // can't use sec.Verify() because that calls SignHash again, with DebugLevel2 set + return Sig{}, ErrInvalidSecKey + } + + s := secp256k1.Sign(hash[:], sec[:]) + + sig, err := NewSig(s) + if err != nil { + return Sig{}, err + } + + if DebugLevel2 || DebugLevel1 { + // Guard against coin loss; + // if the generated signature is somehow invalid, coins would be lost, + // make sure that the signature is valid + pubkey, err := PubKeyFromSig(sig, hash) + if err != nil { + log.Panic("SignHash error: pubkey from sig recovery failure") + } + if VerifyPubKeySignedHash(pubkey, sig, hash) != nil { + log.Panic("SignHash error: secp256k1.Sign returned non-null invalid non-null signature") + } + if VerifyAddressSignedHash(AddressFromPubKey(pubkey), sig, hash) != nil { + log.Panic("SignHash error: VerifyAddressSignedHash failed for signature") + } + } + + return sig, nil +} + +// MustSignHash sign hash, panics on error +func MustSignHash(hash SHA256, sec SecKey) Sig { + sig, err := SignHash(hash, sec) + if err != nil { + log.Panic(err) + } + return sig +} + +// VerifyAddressSignedHash checks whether PubKey corresponding to address hash signed hash +// - recovers the PubKey from sig and hash +// - fail if PubKey cannot be be recovered +// - computes the address from the PubKey +// - fail if recovered address does not match PubKey hash +// - verify that signature is valid for hash for PubKey +func VerifyAddressSignedHash(address Address, sig Sig, hash SHA256) error { + rawPubKey := secp256k1.RecoverPubkey(hash[:], sig[:]) + if rawPubKey == nil { + return ErrInvalidSigPubKeyRecovery + } + + pubKey, err := NewPubKey(rawPubKey) + if err != nil { + return err + } + + if address != AddressFromPubKey(pubKey) { + return ErrInvalidAddressForSig + } + + if secp256k1.VerifySignature(hash[:], sig[:], rawPubKey[:]) != 1 { + return ErrInvalidHashForSig + } + + return nil +} + +// VerifyPubKeySignedHash verifies that hash was signed by PubKey +func VerifyPubKeySignedHash(pubkey PubKey, sig Sig, hash SHA256) error { + pubkeyRec, err := PubKeyFromSig(sig, hash) // recovered pubkey + if err != nil { + return ErrInvalidSigPubKeyRecovery + } + if pubkeyRec != pubkey { + return ErrPubKeyRecoverMismatch + } + if secp256k1.VerifyPubkey(pubkey[:]) != 1 { + if DebugLevel2 { + if secp256k1.VerifySignature(hash[:], sig[:], pubkey[:]) == 1 { + log.Panic("VerifyPubKeySignedHash warning, invalid pubkey is valid for signature") + } + } + return ErrInvalidSigInvalidPubKey + } + if secp256k1.VerifySignatureValidity(sig[:]) != 1 { + return ErrInvalidSigValidity + } + if secp256k1.VerifySignature(hash[:], sig[:], pubkey[:]) != 1 { + return ErrInvalidSigForMessage + } + return nil +} + +// VerifySignedHash this only checks that the signature can be converted to a public key +// Since there is no pubkey or address argument, it cannot check that the +// signature is valid in that context. +func VerifySignedHash(sig Sig, hash SHA256) error { + rawPubKey := secp256k1.RecoverPubkey(hash[:], sig[:]) + if rawPubKey == nil { + return ErrInvalidSigPubKeyRecovery + } + if secp256k1.VerifySignature(hash[:], sig[:], rawPubKey) != 1 { + return ErrInvalidHashForSig + } + return nil +} + +// GenerateKeyPair creates key pair +func GenerateKeyPair() (PubKey, SecKey) { + public, secret := secp256k1.GenerateKeyPair() + + secKey, err := NewSecKey(secret) + if err != nil { + log.Panicf("GenerateKeyPair: secp256k1.GenerateKeyPair returned invalid secKey: %v", err) + } + + pubKey, err := NewPubKey(public) + if err != nil { + log.Panicf("GenerateKeyPair: secp256k1.GenerateKeyPair returned invalid pubKey: %v", err) + } + + if DebugLevel1 { + if err := CheckSecKey(secKey); err != nil { + log.Panicf("DebugLevel1, GenerateKeyPair, generated private key failed CheckSecKey: %v", err) + } + + if MustPubKeyFromSecKey(secKey) != pubKey { + log.Panic("DebugLevel1, GenerateKeyPair, public key does not match private key") + } + } + + return pubKey, secKey +} + +// GenerateDeterministicKeyPair generates deterministic key pair +func GenerateDeterministicKeyPair(seed []byte) (PubKey, SecKey, error) { + if len(seed) == 0 { + return PubKey{}, SecKey{}, ErrEmptySeed + } + + public, secret := secp256k1.GenerateDeterministicKeyPair(seed) + + secKey, err := NewSecKey(secret) + if err != nil { + log.Panicf("GenerateDeterministicKeyPair: secp256k1.GenerateDeterministicKeyPair returned invalid secKey: %v", err) + } + + pubKey, err := NewPubKey(public) + if err != nil { + log.Panicf("GenerateDeterministicKeyPair: secp256k1.GenerateDeterministicKeyPair returned invalid pubKey: %v", err) + } + + if DebugLevel1 { + if err := CheckSecKey(secKey); err != nil { + log.Panicf("DebugLevel1, GenerateDeterministicKeyPair, CheckSecKey failed: %v", err) + } + + if MustPubKeyFromSecKey(secKey) != pubKey { + log.Panic("DebugLevel1, GenerateDeterministicKeyPair, public key does not match private key") + } + } + + return pubKey, secKey, nil +} + +// MustGenerateDeterministicKeyPair generates deterministic key pair, panics on error +func MustGenerateDeterministicKeyPair(seed []byte) (PubKey, SecKey) { + p, s, err := GenerateDeterministicKeyPair(seed) + if err != nil { + log.Panic(err) + } + return p, s +} + +// DeterministicKeyPairIterator takes SHA256 value, returns a new +// SHA256 value and publickey and private key. Apply multiple times +// feeding the SHA256 value back into generate sequence of keys +func DeterministicKeyPairIterator(seed []byte) ([]byte, PubKey, SecKey, error) { + if len(seed) == 0 { + return nil, PubKey{}, SecKey{}, ErrEmptySeed + } + + hash, public, secret := secp256k1.DeterministicKeyPairIterator(seed) + + secKey := MustNewSecKey(secret) + pubKey := MustNewPubKey(public) + + if DebugLevel1 { + if err := CheckSecKey(secKey); err != nil { + log.Panicf("DebugLevel1, DeterministicKeyPairIterator, CheckSecKey failed: %v", err) + } + + if MustPubKeyFromSecKey(secKey) != pubKey { + log.Panic("DebugLevel1, DeterministicKeyPairIterator, public key does not match private key") + } + } + + return hash, pubKey, secKey, nil +} + +// MustDeterministicKeyPairIterator takes SHA256 value, returns a new +// SHA256 value and publickey and private key. Apply multiple times +// feeding the SHA256 value back into generate sequence of keys, panics on error +func MustDeterministicKeyPairIterator(seed []byte) ([]byte, PubKey, SecKey) { + hash, p, s, err := DeterministicKeyPairIterator(seed) + if err != nil { + log.Panic(err) + } + return hash, p, s +} + +// GenerateDeterministicKeyPairs returns sequence of n private keys from initial seed +func GenerateDeterministicKeyPairs(seed []byte, n int) ([]SecKey, error) { + _, keys, err := GenerateDeterministicKeyPairsSeed(seed, n) + return keys, err +} + +// MustGenerateDeterministicKeyPairs returns sequence of n private keys from initial seed, panics on error +func MustGenerateDeterministicKeyPairs(seed []byte, n int) []SecKey { + keys, err := GenerateDeterministicKeyPairs(seed, n) + if err != nil { + log.Panic(err) + } + return keys +} + +// GenerateDeterministicKeyPairsSeed returns sequence of n private keys from initial seed, and return the new seed +func GenerateDeterministicKeyPairsSeed(seed []byte, n int) ([]byte, []SecKey, error) { + var keys []SecKey + var seckey SecKey + for i := 0; i < n; i++ { + var err error + seed, _, seckey, err = DeterministicKeyPairIterator(seed) + if err != nil { + return nil, nil, err + } + keys = append(keys, seckey) + } + return seed, keys, nil +} + +// MustGenerateDeterministicKeyPairsSeed returns sequence of n private keys from initial seed, and return the new seed +func MustGenerateDeterministicKeyPairsSeed(seed []byte, n int) ([]byte, []SecKey) { + newSeed, keys, err := GenerateDeterministicKeyPairsSeed(seed, n) + if err != nil { + log.Panic(err) + } + return newSeed, keys +} + +// CheckSecKey test seckey hash +func CheckSecKey(seckey SecKey) error { + hash := SumSHA256([]byte(time.Now().String())) + return CheckSecKeyHash(seckey, hash) +} + +// CheckSecKeyHash performs a series of tests to determine if a seckey is valid. +// All generated keys and keys loaded from disc must pass the CheckSecKey suite. +// TestPrivKey returns error if a key fails any test in the test suite. +func CheckSecKeyHash(seckey SecKey, hash SHA256) error { + // check seckey with verify + if secp256k1.VerifySeckey(seckey[:]) != 1 { + return ErrInvalidSecKyVerification + } + + // check pubkey recovery + pubkey, err := PubKeyFromSecKey(seckey) + if err != nil { + return fmt.Errorf("PubKeyFromSecKey failed: %v", err) + } + if pubkey == (PubKey{}) { + return ErrNullPubKeyFromSecKey + } + // verify recovered pubkey + if secp256k1.VerifyPubkey(pubkey[:]) != 1 { + return ErrInvalidDerivedPubKeyFromSecKey + } + + // check signature production + sig, err := SignHash(hash, seckey) + if err != nil { + return fmt.Errorf("SignHash failed: %v", err) + } + + pubkey2, err := PubKeyFromSig(sig, hash) + if err != nil { + return fmt.Errorf("PubKeyFromSig failed: %v", err) + } + if pubkey != pubkey2 { + return ErrInvalidPubKeyFromHash + } + + // check pubkey recovered from sig + recoveredPubkey, err := PubKeyFromSig(sig, hash) + if err != nil { + return fmt.Errorf("impossible error, CheckSecKeyHash, pubkey recovery from signature failed: %v", err) + } + if pubkey != recoveredPubkey { + return ErrPubKeyFromSecKeyMismatch + } + + // verify produced signature + err = VerifyPubKeySignedHash(pubkey, sig, hash) + if err != nil { + return fmt.Errorf("impossible error, CheckSecKeyHash, VerifyPubKeySignedHash failed for sig: %v", err) + } + + // verify VerifyAddressSignedHash + addr := AddressFromPubKey(pubkey) + err = VerifyAddressSignedHash(addr, sig, hash) + if err != nil { + return fmt.Errorf("impossible error CheckSecKeyHash, VerifyAddressSignedHash Failed, should not get this far: %v", err) + } + + // verify VerifySignedHash + err = VerifySignedHash(sig, hash) + if err != nil { + return fmt.Errorf("VerifySignedHash failed: %v", err) + } + + return nil +} + +func init() { + ripemd160HashPool = make(chan hash.Hash, ripemd160HashPoolSize) + for i := 0; i < ripemd160HashPoolSize; i++ { + ripemd160HashPool <- ripemd160.New() + } + + sha256HashPool = make(chan hash.Hash, sha256HashPoolSize) + for i := 0; i < sha256HashPoolSize; i++ { + sha256HashPool <- sha256.New() + } + + // Do not allow program to start if crypto tests fail + pubkey, seckey := GenerateKeyPair() + if err := CheckSecKey(seckey); err != nil { + log.Fatalf("CRYPTOGRAPHIC INTEGRITY CHECK FAILED: TERMINATING PROGRAM TO PROTECT COINS: %v", err) + } + if MustPubKeyFromSecKey(seckey) != pubkey { + log.Fatal("DebugLevel1, GenerateKeyPair, public key does not match private key") + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/hash.go b/vendor/github.com/skycoin/skycoin/src/cipher/hash.go new file mode 100644 index 000000000..5d169ae58 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/hash.go @@ -0,0 +1,204 @@ +package cipher + +import ( + "encoding/hex" + "errors" + "hash" + "log" +) + +var ( + // Memory pool for hashes + sha256HashPoolSize = 30 + sha256HashPool chan hash.Hash + ripemd160HashPoolSize = 30 + ripemd160HashPool chan hash.Hash +) + +var ( + // ErrInvalidLengthRipemd160 Invalid ripemd160 length + ErrInvalidLengthRipemd160 = errors.New("Invalid ripemd160 length") + // ErrInvalidLengthSHA256 Invalid sha256 length + ErrInvalidLengthSHA256 = errors.New("Invalid sha256 length") + // ErrInvalidHexLength Invalid hex length + ErrInvalidHexLength = errors.New("Invalid hex length") + // ErrInvalidBytesLength Invalid bytes length + ErrInvalidBytesLength = errors.New("Invalid bytes length") +) + +// Ripemd160 ripemd160 +type Ripemd160 [20]byte + +// MustSet sets value, panics on error +func (rd *Ripemd160) MustSet(b []byte) { + if len(b) != 20 { + log.Panic(ErrInvalidLengthRipemd160) + } + copy(rd[:], b[:]) +} + +// Set sets value +func (rd *Ripemd160) Set(b []byte) error { + if len(b) != 20 { + return ErrInvalidLengthRipemd160 + } + copy(rd[:], b[:]) + return nil +} + +// Ripemd160FromBytes converts []byte to Ripemd160 +func Ripemd160FromBytes(b []byte) (Ripemd160, error) { + h := Ripemd160{} + err := h.Set(b) + return h, err +} + +// MustRipemd160FromBytes converts []byte to Ripemd160, panics on error +func MustRipemd160FromBytes(b []byte) Ripemd160 { + h := Ripemd160{} + h.MustSet(b) + return h +} + +// HashRipemd160 hash data to Ripemd160 +func HashRipemd160(data []byte) Ripemd160 { + ripemd160Hash := <-ripemd160HashPool + ripemd160Hash.Reset() + // ripemd160.Write never returns an error + ripemd160Hash.Write(data) // nolint: errcheck + sum := ripemd160Hash.Sum(nil) + ripemd160HashPool <- ripemd160Hash + + h := Ripemd160{} + h.MustSet(sum) + return h +} + +// SHA256 32 bytes +type SHA256 [32]byte + +// MustSet sets value, panics on error +func (g *SHA256) MustSet(b []byte) { + if len(b) != 32 { + panic(ErrInvalidLengthSHA256) + } + copy(g[:], b[:]) +} + +// Set sets value +func (g *SHA256) Set(b []byte) error { + if len(b) != 32 { + return ErrInvalidLengthSHA256 + } + copy(g[:], b[:]) + return nil +} + +// Hex encode sha256 to hex string +func (g SHA256) Hex() string { + return hex.EncodeToString(g[:]) +} + +// Null returns true if the hash is null (0x0000..) +func (g SHA256) Null() bool { + return g == SHA256{} +} + +// Xor xor +func (g *SHA256) Xor(b SHA256) SHA256 { + c := SHA256{} + for i := 0; i < 32; i++ { + c[i] = g[i] ^ b[i] + } + return c +} + +// SHA256FromHex decodes a hex encoded SHA256 hash to bytes +func SHA256FromHex(hs string) (SHA256, error) { + h := SHA256{} + b, err := hex.DecodeString(hs) + if err != nil { + return h, err + } + if len(b) != len(h) { + return h, ErrInvalidHexLength + } + h.MustSet(b) + return h, nil +} + +// MustSHA256FromHex decodes a hex encoded SHA256 hash to bytes, panics on error +func MustSHA256FromHex(hs string) SHA256 { + h, err := SHA256FromHex(hs) + if err != nil { + log.Panic(err) + } + return h +} + +// SHA256FromBytes converts []byte to SHA256 +func SHA256FromBytes(b []byte) (SHA256, error) { + h := SHA256{} + err := h.Set(b) + return h, err +} + +// MustSHA256FromBytes converts []byte to SHA256, panics on error +func MustSHA256FromBytes(b []byte) SHA256 { + h := SHA256{} + h.MustSet(b) + return h +} + +// SumSHA256 sum sha256 +func SumSHA256(b []byte) SHA256 { + sha256Hash := <-sha256HashPool + sha256Hash.Reset() + // sha256.Write never returns an error + sha256Hash.Write(b) // nolint: errcheck + sum := sha256Hash.Sum(nil) + sha256HashPool <- sha256Hash + + h := SHA256{} + h.MustSet(sum) + return h +} + +// DoubleSHA256 double SHA256 +func DoubleSHA256(b []byte) SHA256 { + h1 := SumSHA256(b) + h2 := SumSHA256(h1[:]) + return h2 +} + +// AddSHA256 returns the SHA256 hash of to two concatenated hashes +func AddSHA256(a SHA256, b SHA256) SHA256 { + c := append(a[:], b[:]...) + return SumSHA256(c) +} + +// Returns the next highest power of 2 above n, if n is not already a +// power of 2 +func nextPowerOfTwo(n uint64) uint64 { + var k uint64 = 1 + for k < n { + k *= 2 + } + return k +} + +// Merkle computes the merkle root of a hash array +// Array of hashes is padded with 0 hashes until next power of 2 +func Merkle(h0 []SHA256) SHA256 { + lh := uint64(len(h0)) + np := nextPowerOfTwo(lh) + h1 := append(h0, make([]SHA256, np-lh)...) + for len(h1) != 1 { + h2 := make([]SHA256, len(h1)/2) + for i := 0; i < len(h2); i++ { + h2[i] = AddSHA256(h1[2*i], h1[2*i+1]) + } + h1 = h2 + } + return h1[0] +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/ripemd160/ripemd160block.go b/vendor/github.com/skycoin/skycoin/src/cipher/ripemd160/ripemd160block.go new file mode 100644 index 000000000..4195209e0 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/ripemd160/ripemd160block.go @@ -0,0 +1,161 @@ +// Copyright 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// RIPEMD-160 block step. +// In its own file so that a faster assembly or C version +// can be substituted easily. + +package ripemd160 + +// work buffer indices and roll amounts for one line +var _n = [80]uint{ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, + 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, + 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, + 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13, +} + +var _r = [80]uint{ + 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, + 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, + 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, + 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, + 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6, +} + +// same for the other parallel one +var n_ = [80]uint{ // nolint: golint + 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, + 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, + 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, + 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, + 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11, +} + +var r_ = [80]uint{ // nolint: golint + 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, + 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, + 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, + 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, + 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11, +} + +func _Block(md *digest, p []byte) int { + n := 0 + var x [16]uint32 + var alpha, beta uint32 + for len(p) >= BlockSize { + a, b, c, d, e := md.s[0], md.s[1], md.s[2], md.s[3], md.s[4] + aa, bb, cc, dd, ee := a, b, c, d, e + j := 0 + for i := 0; i < 16; i++ { + x[i] = uint32(p[j]) | uint32(p[j+1])<<8 | uint32(p[j+2])<<16 | uint32(p[j+3])<<24 + j += 4 + } + + // round 1 + i := 0 + for i < 16 { + alpha = a + (b ^ c ^ d) + x[_n[i]] + s := _r[i] + alpha = (alpha<>(32-s)) + e + beta = c<<10 | c>>22 + a, b, c, d, e = e, alpha, b, beta, d + + // parallel line + alpha = aa + (bb ^ (cc | ^dd)) + x[n_[i]] + 0x50a28be6 + s = r_[i] + alpha = (alpha<>(32-s)) + ee + beta = cc<<10 | cc>>22 + aa, bb, cc, dd, ee = ee, alpha, bb, beta, dd + + i++ + } + + // round 2 + for i < 32 { + alpha = a + (b&c | ^b&d) + x[_n[i]] + 0x5a827999 + s := _r[i] + alpha = (alpha<>(32-s)) + e + beta = c<<10 | c>>22 + a, b, c, d, e = e, alpha, b, beta, d + + // parallel line + alpha = aa + (bb&dd | cc&^dd) + x[n_[i]] + 0x5c4dd124 + s = r_[i] + alpha = (alpha<>(32-s)) + ee + beta = cc<<10 | cc>>22 + aa, bb, cc, dd, ee = ee, alpha, bb, beta, dd + + i++ + } + + // round 3 + for i < 48 { + alpha = a + (b | ^c ^ d) + x[_n[i]] + 0x6ed9eba1 + s := _r[i] + alpha = (alpha<>(32-s)) + e + beta = c<<10 | c>>22 + a, b, c, d, e = e, alpha, b, beta, d + + // parallel line + alpha = aa + (bb | ^cc ^ dd) + x[n_[i]] + 0x6d703ef3 + s = r_[i] + alpha = (alpha<>(32-s)) + ee + beta = cc<<10 | cc>>22 + aa, bb, cc, dd, ee = ee, alpha, bb, beta, dd + + i++ + } + + // round 4 + for i < 64 { + alpha = a + (b&d | c&^d) + x[_n[i]] + 0x8f1bbcdc + s := _r[i] + alpha = (alpha<>(32-s)) + e + beta = c<<10 | c>>22 + a, b, c, d, e = e, alpha, b, beta, d + + // parallel line + alpha = aa + (bb&cc | ^bb&dd) + x[n_[i]] + 0x7a6d76e9 + s = r_[i] + alpha = (alpha<>(32-s)) + ee + beta = cc<<10 | cc>>22 + aa, bb, cc, dd, ee = ee, alpha, bb, beta, dd + + i++ + } + + // round 5 + for i < 80 { + alpha = a + (b ^ (c | ^d)) + x[_n[i]] + 0xa953fd4e + s := _r[i] + alpha = (alpha<>(32-s)) + e + beta = c<<10 | c>>22 + a, b, c, d, e = e, alpha, b, beta, d + + // parallel line + alpha = aa + (bb ^ cc ^ dd) + x[n_[i]] + s = r_[i] + alpha = (alpha<>(32-s)) + ee + beta = cc<<10 | cc>>22 + aa, bb, cc, dd, ee = ee, alpha, bb, beta, dd + + i++ + } + + // combine results + dd += c + md.s[1] + md.s[1] = md.s[2] + d + ee + md.s[2] = md.s[3] + e + aa + md.s[3] = md.s[4] + a + bb + md.s[4] = md.s[0] + b + cc + md.s[0] = dd + + p = p[BlockSize:] + n += BlockSize + } + return n +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/ripemd160/ripmd_160.go b/vendor/github.com/skycoin/skycoin/src/cipher/ripemd160/ripmd_160.go new file mode 100644 index 000000000..f9e4f05d1 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/ripemd160/ripmd_160.go @@ -0,0 +1,121 @@ +// Copyright 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package ripemd160 implements the RIPEMD-160 hash algorithm. +package ripemd160 + +// RIPEMD-160 is designed by by Hans Dobbertin, Antoon Bosselaers, and Bart +// Preneel with specifications available at: +// http://homes.esat.kuleuven.be/~cosicart/pdf/AB-9601/AB-9601.pdf. + +import ( + "crypto" + "hash" +) + +func init() { + crypto.RegisterHash(crypto.RIPEMD160, New) +} + +// Size is the size of the checksum in bytes. +const Size = 20 + +// BlockSize is the block size of the hash algorithm in bytes. +const BlockSize = 64 + +const ( + _s0 = 0x67452301 + _s1 = 0xefcdab89 + _s2 = 0x98badcfe + _s3 = 0x10325476 + _s4 = 0xc3d2e1f0 +) + +// digest represents the partial evaluation of a checksum. +type digest struct { + s [5]uint32 // running context + x [BlockSize]byte // temporary buffer + nx int // index into x + tc uint64 // total count of bytes processed +} + +func (d *digest) Reset() { + d.s[0], d.s[1], d.s[2], d.s[3], d.s[4] = _s0, _s1, _s2, _s3, _s4 + d.nx = 0 + d.tc = 0 +} + +// New returns a new hash.Hash computing the checksum. +func New() hash.Hash { + result := new(digest) + result.Reset() + return result +} + +func (d *digest) Size() int { return Size } + +func (d *digest) BlockSize() int { return BlockSize } + +func (d *digest) Write(p []byte) (nn int, err error) { + nn = len(p) + d.tc += uint64(nn) + if d.nx > 0 { + n := len(p) + if n > BlockSize-d.nx { + n = BlockSize - d.nx + } + for i := 0; i < n; i++ { + d.x[d.nx+i] = p[i] + } + d.nx += n + if d.nx == BlockSize { + _Block(d, d.x[0:]) + d.nx = 0 + } + p = p[n:] + } + n := _Block(d, p) + p = p[n:] + if len(p) > 0 { + d.nx = copy(d.x[:], p) + } + return +} + +func (d0 *digest) Sum(in []byte) []byte { // nolint: golint + // Make a copy of d0 so that caller can keep writing and summing. + d := *d0 + + // Padding. Add a 1 bit and 0 bits until 56 bytes mod 64. + tc := d.tc + var tmp [64]byte + tmp[0] = 0x80 + if tc%64 < 56 { + + d.Write(tmp[0 : 56-tc%64]) // nolint: errcheck,gosec + } else { + d.Write(tmp[0 : 64+56-tc%64]) // nolint: errcheck,gosec + } + + // Length in bits. + tc <<= 3 + for i := uint(0); i < 8; i++ { + tmp[i] = byte(tc >> (8 * i)) + } + d.Write(tmp[0:8]) // nolint: errcheck,gosec + + if d.nx != 0 { + panic("d.nx != 0") + } + + var digest [Size]byte + for i, s := range d.s { + digest[i*4] = byte(s) + digest[i*4+1] = byte(s >> 8) + digest[i*4+2] = byte(s >> 16) + digest[i*4+3] = byte(s >> 24) + } + + return append(in, digest[:]...) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/README.md b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/README.md new file mode 100644 index 000000000..6bbf7f4f6 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/README.md @@ -0,0 +1,5 @@ +# secp256k1-go + +golang secp256k1 library + +Implements cryptographic operations for the secp256k1 ECDSA curve used by Bitcoin. diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256_rand.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256_rand.go new file mode 100644 index 000000000..972fe7dfb --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256_rand.go @@ -0,0 +1,151 @@ +package secp256k1 + +import ( + crand "crypto/rand" + "crypto/sha256" //secure, system random number generator + "hash" + "io" + "log" + "os" + "strconv" + "strings" + "sync" + "time" +) + +var ( + // Memory pool for SHA256 hashes + sha256HashPoolSize = 30 + sha256HashPool chan hash.Hash +) + +// SumSHA256 sum sha256 +func SumSHA256(b []byte) []byte { + sha256Hash := <-sha256HashPool + sha256Hash.Reset() + // sha256.Write never returns an error + sha256Hash.Write(b) // nolint: errcheck + sum := sha256Hash.Sum(nil) + sha256HashPool <- sha256Hash + return sum[:] +} + +/* +Entropy pool needs +- state (an array of bytes) +- a compression function (two 256 bit blocks to single block) +- a mixing function across the pool + +- Xor is safe, as it cannot make value less random +-- apply compression function, then xor with current value +-- + +*/ + +// EntropyPool entropy pool +type EntropyPool struct { + Ent [32]byte // 256 bit accumulator + lock sync.Mutex +} + +// Mix256 mixes in 256 bits, outputs 256 bits +func (ep *EntropyPool) Mix256(in []byte) (out []byte) { + // hash input + val1 := SumSHA256(in) + // return value + ep.lock.Lock() + val2 := SumSHA256(append(val1, ep.Ent[:]...)) + // next ent value + val3 := SumSHA256(append(val1, val2...)) + + for i := 0; i < 32; i++ { + ep.Ent[i] = val3[i] + val3[i] = 0x00 + } + ep.lock.Unlock() + + return val2 +} + +// Mix take in N bytes, salts, return N +func (ep *EntropyPool) Mix(in []byte) []byte { + length := len(in) - len(in)%32 + 32 + buff := make([]byte, length) + for i := 0; i < len(in); i++ { + buff[i] = in[i] + } + iterations := (len(in) / 32) + 1 + for i := 0; i < iterations; i++ { + tmp := ep.Mix256(buff[32*i : 32+32*i]) //32 byte slice + for j := 0; j < 32; j++ { + buff[i*32+j] = tmp[j] + } + } + return buff[:len(in)] +} + +/* +Note: + +- On windows cryto/rand uses CrytoGenRandom which uses RC4 which is insecure +- Android random number generator is known to be insecure. +- Linux uses /dev/urandom , which is thought to be secure and uses entropy pool + +Therefore the output is salted. +*/ + +/* +Note: + +Should allow pseudo-random mode for repeatability for certain types of tests +*/ + +var _ent EntropyPool + +// seed pseudo random number generator with +// - hash of system time in nano seconds +// - hash of system environmental variables +// - hash of process id +func init() { + // init the hash reuse pool + sha256HashPool = make(chan hash.Hash, sha256HashPoolSize) + for i := 0; i < sha256HashPoolSize; i++ { + sha256HashPool <- sha256.New() + } + + seed1 := []byte(strconv.FormatUint(uint64(time.Now().UnixNano()), 16)) + seed2 := []byte(strings.Join(os.Environ(), "")) + seed3 := []byte(strconv.FormatUint(uint64(os.Getpid()), 16)) + + seed4 := make([]byte, 256) + _, err := io.ReadFull(crand.Reader, seed4) // system secure random number generator + if err != nil { + log.Panic(err) + } + + // seed entropy pool + _ent.Mix256(seed1) + _ent.Mix256(seed2) + _ent.Mix256(seed3) + _ent.Mix256(seed4) +} + +// RandByte Secure Random number generator for forwards security +// On Unix-like systems, Reader reads from /dev/urandom. +// On Windows systems, Reader uses the CryptGenRandom API. +// Pseudo-random sequence, seeded from program start time, environmental variables, +// and process id is mixed in for forward security. Future version should use entropy pool +func RandByte(n int) []byte { + buff := make([]byte, n) + _, err := io.ReadFull(crand.Reader, buff) // system secure random number generator + if err != nil { + log.Panic(err) + } + + // XORing in sequence, cannot reduce security (even if sequence is bad/known/non-random) + buff2 := _ent.Mix(buff) + for i := 0; i < n; i++ { + buff[i] ^= buff2[i] + } + return buff +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/COPYING b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/COPYING new file mode 100644 index 000000000..a7fd60bbe --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/COPYING @@ -0,0 +1,4 @@ +This single package (secp256k1) is distributed with the same license as +the original C implementation by sipa: + + * https://github.com/bitcoin/secp256k1/blob/master/COPYING diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/README.md b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/README.md new file mode 100644 index 000000000..f0466f40f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/README.md @@ -0,0 +1,5 @@ +Implementation of this package has been based on source code created by Pieter Wuille. + + * https://github.com/bitcoin/secp256k1 + +Modified by HaltingState \ No newline at end of file diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/ec.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/ec.go new file mode 100644 index 000000000..04b3efc53 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/ec.go @@ -0,0 +1,328 @@ +package secp256k1go + +import ( + //"encoding/hex" + "bytes" + "log" +) + +// func ecdsaVerify(pubkey, sig, msg []byte) int { +// var m Number +// var s Signature +// m.SetBytes(msg) + +// log.Println("pubkey len is", len(pubkey)) + +// var q XY +// if !q.ParsePubkey(pubkey) { +// return -1 +// } + +// //if s.ParseBytes(sig) < 0 { +// // return -2 +// //} +// if len(pubkey) != 32 { +// return -2 +// } +// if len(sig) != 64 { +// return -3 +// } + +// if !s.Verify(&q, &m) { +// return 0 +// } +// return 1 +// } + +// // Verify verifies ecdsa +// func Verify(k, s, m []byte) bool { +// return ecdsaVerify(k, s, m) == 1 +// } + +// DecompressPoint decompresses point +func DecompressPoint(X []byte, off bool, Y []byte) { + var rx, ry, c, x2, x3 Field + rx.SetB32(X) + rx.Sqr(&x2) + rx.Mul(&x3, &x2) + c.SetInt(7) + c.SetAdd(&x3) + c.Sqrt(&ry) + ry.Normalize() + if ry.IsOdd() != off { + ry.Negate(&ry, 1) + } + ry.Normalize() + ry.GetB32(Y) +} + +//TODO: change signature to []byte type +/* +func RecoverPublicKey2(sig Signature, h []byte, recid int, pubkey *XY) int { + //var sig Signature + var msg Number + + if sig.R.Sign() <= 0 || sig.R.Cmp(&TheCurve.Order.Int) >= 0 { + if sig.R.Sign() == 0 { + return -10 + } + if sig.R.Sign() <= 0 { + return -11 + } + if sig.R.Cmp(&TheCurve.Order.Int) >= 0 { + return -12 + } + return -1 + } + if sig.S.Sign() <= 0 || sig.S.Cmp(&TheCurve.Order.Int) >= 0 { + return -2 + } + + msg.SetBytes(h) + if !sig.Recover(pubkey, &msg, recid) { + return -3 + } + return 1 +} +*/ +//TODO: deprecate +/* +func RecoverPublicKey(r, s, h []byte, recid int, pubkey *XY) bool { + var sig Signature + var msg Number + sig.R.SetBytes(r) + if sig.R.Sign() <= 0 || sig.R.Cmp(&TheCurve.Order.Int) >= 0 { + return false + } + sig.S.SetBytes(s) + if sig.S.Sign() <= 0 || sig.S.Cmp(&TheCurve.Order.Int) >= 0 { + return false + } + msg.SetBytes(h) + if !sig.Recover(pubkey, &msg, recid) { + return false + } + return true +} +*/ + +// RecoverPublicKey nil on error +// returns error code +func RecoverPublicKey(sigByte []byte, h []byte, recid int) ([]byte, int) { + + var pubkey XY + + if len(sigByte) != 64 { + log.Panic("must pass in 64 byte pubkey") + } + + var sig Signature + sig.ParseBytes(sigByte[0:64]) + + //var sig Signature + var msg Number + + if sig.R.Sign() <= 0 || sig.R.Cmp(&TheCurve.Order.Int) >= 0 { + if sig.R.Sign() == 0 { + return nil, -1 + } + if sig.R.Sign() <= 0 { + return nil, -2 + } + if sig.R.Cmp(&TheCurve.Order.Int) >= 0 { + return nil, -3 + } + return nil, -4 + } + if sig.S.Sign() <= 0 || sig.S.Cmp(&TheCurve.Order.Int) >= 0 { + return nil, -5 + } + + msg.SetBytes(h) + if !sig.Recover(&pubkey, &msg, recid) { + return nil, -6 + } + + return pubkey.Bytes(), 1 +} + +// Multiply standard EC multiplacation k(xy) +// xy - is the standarized public key format (33 or 65 bytes long) +// out - should be the buffer for 33 bytes (1st byte will be set to either 02 or 03) +// TODO: change out to return type +func Multiply(xy, k []byte) []byte { + var pk XY + var xyz XYZ + var na, nzero Number + if !pk.ParsePubkey(xy) { + return nil + } + xyz.SetXY(&pk) + na.SetBytes(k) + xyz.ECmult(&xyz, &na, &nzero) + pk.SetXYZ(&xyz) + + if !pk.IsValid() { + log.Panic() + } + return pk.GetPublicKey() +} + +// Multiply k by G +// returns public key +// return nil on error, but never returns nil +// 33 bytes out + +/* +func BaseMultiply2(k []byte) []byte { + var r XYZ + var n Number + var pk XY + n.SetBytes(k) + ECmultGen(&r, &n) + pk.SetXYZ(&r) + if !pk.IsValid() { + log.Panic() + } + + return pk.GetPublicKey() +} +*/ + +//test assumptions +func _pubkeyTest(pk XY) { + + if !pk.IsValid() { + log.Panic("IMPOSSIBLE3: pubkey invalid") + } + var pk2 XY + retb := pk2.ParsePubkey(pk.Bytes()) + if !retb { + log.Panic("IMPOSSIBLE2: parse failed") + } + if !pk2.IsValid() { + log.Panic("IMPOSSIBLE3: parse failed non valid key") + } + if PubkeyIsValid(pk2.Bytes()) != 1 { + log.Panic("IMPOSSIBLE4: pubkey failed") + } +} + +// BaseMultiply base multiply +func BaseMultiply(k []byte) []byte { + var r XYZ + var n Number + var pk XY + n.SetBytes(k) + ECmultGen(&r, &n) + pk.SetXYZ(&r) + if !pk.IsValid() { + log.Panic() //should not occur + } + + _pubkeyTest(pk) + + return pk.Bytes() +} + +// BaseMultiplyAdd out = G*k + xy +// TODO: switch to returning output as []byte +// nil on error +// 33 byte out +func BaseMultiplyAdd(xy, k []byte) []byte { + var r XYZ + var n Number + var pk XY + if !pk.ParsePubkey(xy) { + return nil + } + n.SetBytes(k) + ECmultGen(&r, &n) + r.AddXY(&r, &pk) + pk.SetXYZ(&r) + + _pubkeyTest(pk) + return pk.Bytes() +} + +// GeneratePublicKey returns nil on failure +//crash rather than fail +func GeneratePublicKey(k []byte) []byte { + + //log.Panic() + if len(k) != 32 { + log.Panic() + } + var r XYZ + var n Number + var pk XY + + //must not be zero + //must not be negative + //must be less than order of curve + n.SetBytes(k) + if n.Sign() <= 0 || n.Cmp(&TheCurve.Order.Int) >= 0 { + log.Panic("only call for valid seckey, check that seckey is valid first") + return nil + } + ECmultGen(&r, &n) + pk.SetXYZ(&r) + if !pk.IsValid() { + log.Panic() //should not occur + } + _pubkeyTest(pk) + return pk.Bytes() +} + +// SeckeyIsValid 1 on success +// must not be zero +// must not be negative +// must be less than order of curve +func SeckeyIsValid(seckey []byte) int { + if len(seckey) != 32 { + log.Panic() + } + var n Number + n.SetBytes(seckey) + //must not be zero + //must not be negative + //must be less than order of curve + if n.Sign() <= 0 { + return -1 + } + if n.Cmp(&TheCurve.Order.Int) >= 0 { + return -2 + } + return 1 +} + +// PubkeyIsValid returns 1 on success +func PubkeyIsValid(pubkey []byte) int { + if len(pubkey) != 33 { + log.Panic() //do not permit invalid length inputs + return -2 + } + var pubTest XY + ok := pubTest.ParsePubkey(pubkey) + if !ok { + //log.Panic("PubkeyIsValid, ERROR: pubkey parse fail, bad pubkey from private key") + return -1 + } + if !bytes.Equal(pubTest.Bytes(), pubkey) { + log.Panic("pubkey parses but serialize/deserialize roundtrip fails") + } + //this fails + //if !pub_test.IsValid() { + // return -2 + //} + return 1 +} + +/* +Note: +- choose random private key +- generate public key +- call "IsValid()" on the public key + + +*/ diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/field.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/field.go new file mode 100644 index 000000000..c87e5e69f --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/field.go @@ -0,0 +1,744 @@ +package secp256k1go + +import ( + "encoding/hex" + "fmt" + "math/big" +) + +// Field represents the signature field +type Field struct { + n [10]uint32 +} + +// String returns the hex string of the field +func (fd *Field) String() string { + var tmp [32]byte + b := *fd + b.Normalize() + b.GetB32(tmp[:]) + return hex.EncodeToString(tmp[:]) +} + +// Print shows the hex string of the field +func (fd *Field) Print(lab string) { + fmt.Println(lab+":", fd.String()) +} + +// GetBig returns big int +func (fd *Field) GetBig() (r *big.Int) { + fd.Normalize() + r = new(big.Int) + var tmp [32]byte + fd.GetB32(tmp[:]) + r.SetBytes(tmp[:]) + return +} + +// SetB32 sets +func (fd *Field) SetB32(a []byte) { + fd.n[0] = 0 + fd.n[1] = 0 + fd.n[2] = 0 + fd.n[3] = 0 + fd.n[4] = 0 + fd.n[5] = 0 + fd.n[6] = 0 + fd.n[7] = 0 + fd.n[8] = 0 + fd.n[9] = 0 + var v uint32 + for i := uint(0); i < 32; i++ { + for j := uint(0); j < 4; j++ { + limb := (8*i + 2*j) / 26 + shift := (8*i + 2*j) % 26 + v = (uint32)((a[31-i]>>(2*j))&0x3) << shift + fd.n[limb] |= v + } + } +} + +// SetBytes sets bytes +func (fd *Field) SetBytes(a []byte) { + if len(a) > 32 { + panic("too many bytes to set") + } + if len(a) == 32 { + fd.SetB32(a) + } else { + var buf [32]byte + copy(buf[32-len(a):], a) + fd.SetB32(buf[:]) + } +} + +// SetHex sets field in hex string +func (fd *Field) SetHex(s string) { + d, err := hex.DecodeString(s) + if err != nil { + panic(err) + } + fd.SetBytes(d) +} + +// IsOdd check if odd +func (fd *Field) IsOdd() bool { + return (fd.n[0] & 1) != 0 +} + +// IsZero check if field is zero +func (fd *Field) IsZero() bool { + return (fd.n[0] == 0 && fd.n[1] == 0 && fd.n[2] == 0 && fd.n[3] == 0 && fd.n[4] == 0 && fd.n[5] == 0 && fd.n[6] == 0 && fd.n[7] == 0 && fd.n[8] == 0 && fd.n[9] == 0) +} + +// SetInt set fields with an int value +func (fd *Field) SetInt(a uint32) { + fd.n[0] = a + fd.n[1] = 0 + fd.n[2] = 0 + fd.n[3] = 0 + fd.n[4] = 0 + fd.n[5] = 0 + fd.n[6] = 0 + fd.n[7] = 0 + fd.n[8] = 0 + fd.n[9] = 0 +} + +// Normalize normalize the field +func (fd *Field) Normalize() { + c := fd.n[0] + t0 := c & 0x3FFFFFF + c = (c >> 26) + fd.n[1] + t1 := c & 0x3FFFFFF + c = (c >> 26) + fd.n[2] + t2 := c & 0x3FFFFFF + c = (c >> 26) + fd.n[3] + t3 := c & 0x3FFFFFF + c = (c >> 26) + fd.n[4] + t4 := c & 0x3FFFFFF + c = (c >> 26) + fd.n[5] + t5 := c & 0x3FFFFFF + c = (c >> 26) + fd.n[6] + t6 := c & 0x3FFFFFF + c = (c >> 26) + fd.n[7] + t7 := c & 0x3FFFFFF + c = (c >> 26) + fd.n[8] + t8 := c & 0x3FFFFFF + c = (c >> 26) + fd.n[9] + t9 := c & 0x03FFFFF + c >>= 22 + + // The following code will not modify the t's if c is initially 0. + d := c*0x3D1 + t0 + t0 = d & 0x3FFFFFF + d = (d >> 26) + t1 + c*0x40 + t1 = d & 0x3FFFFFF + d = (d >> 26) + t2 + t2 = d & 0x3FFFFFF + d = (d >> 26) + t3 + t3 = d & 0x3FFFFFF + d = (d >> 26) + t4 + t4 = d & 0x3FFFFFF + d = (d >> 26) + t5 + t5 = d & 0x3FFFFFF + d = (d >> 26) + t6 + t6 = d & 0x3FFFFFF + d = (d >> 26) + t7 + t7 = d & 0x3FFFFFF + d = (d >> 26) + t8 + t8 = d & 0x3FFFFFF + d = (d >> 26) + t9 + t9 = d & 0x03FFFFF + + // Subtract p if result >= p + low := (uint64(t1) << 26) | uint64(t0) + //mask := uint64(-(int64)((t9 < 0x03FFFFF) | (t8 < 0x3FFFFFF) | (t7 < 0x3FFFFFF) | (t6 < 0x3FFFFFF) | (t5 < 0x3FFFFFF) | (t4 < 0x3FFFFFF) | (t3 < 0x3FFFFFF) | (t2 < 0x3FFFFFF) | (low < 0xFFFFEFFFFFC2F))) + var mask uint64 + if (t9 < 0x03FFFFF) || + (t8 < 0x3FFFFFF) || + (t7 < 0x3FFFFFF) || + (t6 < 0x3FFFFFF) || + (t5 < 0x3FFFFFF) || + (t4 < 0x3FFFFFF) || + (t3 < 0x3FFFFFF) || + (t2 < 0x3FFFFFF) || + (low < 0xFFFFEFFFFFC2F) { + mask = 0xFFFFFFFFFFFFFFFF + } + t9 &= uint32(mask) + t8 &= uint32(mask) + t7 &= uint32(mask) + t6 &= uint32(mask) + t5 &= uint32(mask) + t4 &= uint32(mask) + t3 &= uint32(mask) + t2 &= uint32(mask) + low -= ((mask ^ 0xFFFFFFFFFFFFFFFF) & 0xFFFFEFFFFFC2F) + + // push internal variables back + fd.n[0] = uint32(low) & 0x3FFFFFF + fd.n[1] = uint32(low>>26) & 0x3FFFFFF + fd.n[2] = t2 + fd.n[3] = t3 + fd.n[4] = t4 + fd.n[5] = t5 + fd.n[6] = t6 + fd.n[7] = t7 + fd.n[8] = t8 + fd.n[9] = t9 +} + +// GetB32 get B32, TODO: need further explanation +func (fd *Field) GetB32(r []byte) { + var i, j, c, limb, shift uint32 + for i = 0; i < 32; i++ { + c = 0 + for j = 0; j < 4; j++ { + limb = (8*i + 2*j) / 26 + shift = (8*i + 2*j) % 26 + c |= ((fd.n[limb] >> shift) & 0x3) << (2 * j) + } + r[31-i] = byte(c) + } +} + +// Equals check if field is the same as the given one +func (fd *Field) Equals(b *Field) bool { + return (fd.n[0] == b.n[0] && fd.n[1] == b.n[1] && fd.n[2] == b.n[2] && fd.n[3] == b.n[3] && fd.n[4] == b.n[4] && + fd.n[5] == b.n[5] && fd.n[6] == b.n[6] && fd.n[7] == b.n[7] && fd.n[8] == b.n[8] && fd.n[9] == b.n[9]) +} + +// SetAdd adds value to corresponding fields +func (fd *Field) SetAdd(a *Field) { + fd.n[0] += a.n[0] + fd.n[1] += a.n[1] + fd.n[2] += a.n[2] + fd.n[3] += a.n[3] + fd.n[4] += a.n[4] + fd.n[5] += a.n[5] + fd.n[6] += a.n[6] + fd.n[7] += a.n[7] + fd.n[8] += a.n[8] + fd.n[9] += a.n[9] +} + +// MulInt multiples the fields +func (fd *Field) MulInt(a uint32) { + fd.n[0] *= a + fd.n[1] *= a + fd.n[2] *= a + fd.n[3] *= a + fd.n[4] *= a + fd.n[5] *= a + fd.n[6] *= a + fd.n[7] *= a + fd.n[8] *= a + fd.n[9] *= a +} + +// Negate caculate the negate +func (fd *Field) Negate(r *Field, m uint32) { + r.n[0] = 0x3FFFC2F*(m+1) - fd.n[0] + r.n[1] = 0x3FFFFBF*(m+1) - fd.n[1] + r.n[2] = 0x3FFFFFF*(m+1) - fd.n[2] + r.n[3] = 0x3FFFFFF*(m+1) - fd.n[3] + r.n[4] = 0x3FFFFFF*(m+1) - fd.n[4] + r.n[5] = 0x3FFFFFF*(m+1) - fd.n[5] + r.n[6] = 0x3FFFFFF*(m+1) - fd.n[6] + r.n[7] = 0x3FFFFFF*(m+1) - fd.n[7] + r.n[8] = 0x3FFFFFF*(m+1) - fd.n[8] + r.n[9] = 0x03FFFFF*(m+1) - fd.n[9] +} + +// Inv new algo by peterdettman - https://github.com/sipa/TheCurve/pull/19 +func (fd *Field) Inv(r *Field) { + var x2, x3, x6, x9, x11, x22, x44, x88, x176, x220, x223, t1 Field + var j int + + fd.Sqr(&x2) + x2.Mul(&x2, fd) + + x2.Sqr(&x3) + x3.Mul(&x3, fd) + + x3.Sqr(&x6) + x6.Sqr(&x6) + x6.Sqr(&x6) + x6.Mul(&x6, &x3) + + x6.Sqr(&x9) + x9.Sqr(&x9) + x9.Sqr(&x9) + x9.Mul(&x9, &x3) + + x9.Sqr(&x11) + x11.Sqr(&x11) + x11.Mul(&x11, &x2) + + x11.Sqr(&x22) + for j = 1; j < 11; j++ { + x22.Sqr(&x22) + } + x22.Mul(&x22, &x11) + + x22.Sqr(&x44) + for j = 1; j < 22; j++ { + x44.Sqr(&x44) + } + x44.Mul(&x44, &x22) + + x44.Sqr(&x88) + for j = 1; j < 44; j++ { + x88.Sqr(&x88) + } + x88.Mul(&x88, &x44) + + x88.Sqr(&x176) + for j = 1; j < 88; j++ { + x176.Sqr(&x176) + } + x176.Mul(&x176, &x88) + + x176.Sqr(&x220) + for j = 1; j < 44; j++ { + x220.Sqr(&x220) + } + x220.Mul(&x220, &x44) + + x220.Sqr(&x223) + x223.Sqr(&x223) + x223.Sqr(&x223) + x223.Mul(&x223, &x3) + + x223.Sqr(&t1) + for j = 1; j < 23; j++ { + t1.Sqr(&t1) + } + t1.Mul(&t1, &x22) + t1.Sqr(&t1) + t1.Sqr(&t1) + t1.Sqr(&t1) + t1.Sqr(&t1) + t1.Sqr(&t1) + t1.Mul(&t1, fd) + t1.Sqr(&t1) + t1.Sqr(&t1) + t1.Sqr(&t1) + t1.Mul(&t1, &x2) + t1.Sqr(&t1) + t1.Sqr(&t1) + t1.Mul(r, fd) +} + +// Sqrt new algo by peterdettman - https://github.com/sipa/TheCurve/pull/19 +func (fd *Field) Sqrt(r *Field) { + var x2, x3, x6, x9, x11, x22, x44, x88, x176, x220, x223, t1 Field + var j int + + fd.Sqr(&x2) + x2.Mul(&x2, fd) + + x2.Sqr(&x3) + x3.Mul(&x3, fd) + + x3.Sqr(&x6) + x6.Sqr(&x6) + x6.Sqr(&x6) + x6.Mul(&x6, &x3) + + x6.Sqr(&x9) + x9.Sqr(&x9) + x9.Sqr(&x9) + x9.Mul(&x9, &x3) + + x9.Sqr(&x11) + x11.Sqr(&x11) + x11.Mul(&x11, &x2) + + x11.Sqr(&x22) + for j = 1; j < 11; j++ { + x22.Sqr(&x22) + } + x22.Mul(&x22, &x11) + + x22.Sqr(&x44) + for j = 1; j < 22; j++ { + x44.Sqr(&x44) + } + x44.Mul(&x44, &x22) + + x44.Sqr(&x88) + for j = 1; j < 44; j++ { + x88.Sqr(&x88) + } + x88.Mul(&x88, &x44) + + x88.Sqr(&x176) + for j = 1; j < 88; j++ { + x176.Sqr(&x176) + } + x176.Mul(&x176, &x88) + + x176.Sqr(&x220) + for j = 1; j < 44; j++ { + x220.Sqr(&x220) + } + x220.Mul(&x220, &x44) + + x220.Sqr(&x223) + x223.Sqr(&x223) + x223.Sqr(&x223) + x223.Mul(&x223, &x3) + + x223.Sqr(&t1) + for j = 1; j < 23; j++ { + t1.Sqr(&t1) + } + t1.Mul(&t1, &x22) + for j = 0; j < 6; j++ { + t1.Sqr(&t1) + } + t1.Mul(&t1, &x2) + t1.Sqr(&t1) + t1.Sqr(r) +} + +// InvVar ... +func (fd *Field) InvVar(r *Field) { + var b [32]byte + c := *fd + c.Normalize() + c.GetB32(b[:]) + var n Number + n.SetBytes(b[:]) + n.modInv(&n, &TheCurve.p) + r.SetBytes(n.Bytes()) +} + +// Mul ... +func (fd *Field) Mul(r, b *Field) { + var c, d uint64 + var t0, t1, t2, t3, t4, t5, t6 uint64 + var t7, t8, t9, t10, t11, t12, t13 uint64 + var t14, t15, t16, t17, t18, t19 uint64 + + c = uint64(fd.n[0]) * uint64(b.n[0]) + t0 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[0])*uint64(b.n[1]) + + uint64(fd.n[1])*uint64(b.n[0]) + t1 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[0])*uint64(b.n[2]) + + uint64(fd.n[1])*uint64(b.n[1]) + + uint64(fd.n[2])*uint64(b.n[0]) + t2 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[0])*uint64(b.n[3]) + + uint64(fd.n[1])*uint64(b.n[2]) + + uint64(fd.n[2])*uint64(b.n[1]) + + uint64(fd.n[3])*uint64(b.n[0]) + t3 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[0])*uint64(b.n[4]) + + uint64(fd.n[1])*uint64(b.n[3]) + + uint64(fd.n[2])*uint64(b.n[2]) + + uint64(fd.n[3])*uint64(b.n[1]) + + uint64(fd.n[4])*uint64(b.n[0]) + t4 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[0])*uint64(b.n[5]) + + uint64(fd.n[1])*uint64(b.n[4]) + + uint64(fd.n[2])*uint64(b.n[3]) + + uint64(fd.n[3])*uint64(b.n[2]) + + uint64(fd.n[4])*uint64(b.n[1]) + + uint64(fd.n[5])*uint64(b.n[0]) + t5 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[0])*uint64(b.n[6]) + + uint64(fd.n[1])*uint64(b.n[5]) + + uint64(fd.n[2])*uint64(b.n[4]) + + uint64(fd.n[3])*uint64(b.n[3]) + + uint64(fd.n[4])*uint64(b.n[2]) + + uint64(fd.n[5])*uint64(b.n[1]) + + uint64(fd.n[6])*uint64(b.n[0]) + t6 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[0])*uint64(b.n[7]) + + uint64(fd.n[1])*uint64(b.n[6]) + + uint64(fd.n[2])*uint64(b.n[5]) + + uint64(fd.n[3])*uint64(b.n[4]) + + uint64(fd.n[4])*uint64(b.n[3]) + + uint64(fd.n[5])*uint64(b.n[2]) + + uint64(fd.n[6])*uint64(b.n[1]) + + uint64(fd.n[7])*uint64(b.n[0]) + t7 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[0])*uint64(b.n[8]) + + uint64(fd.n[1])*uint64(b.n[7]) + + uint64(fd.n[2])*uint64(b.n[6]) + + uint64(fd.n[3])*uint64(b.n[5]) + + uint64(fd.n[4])*uint64(b.n[4]) + + uint64(fd.n[5])*uint64(b.n[3]) + + uint64(fd.n[6])*uint64(b.n[2]) + + uint64(fd.n[7])*uint64(b.n[1]) + + uint64(fd.n[8])*uint64(b.n[0]) + t8 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[0])*uint64(b.n[9]) + + uint64(fd.n[1])*uint64(b.n[8]) + + uint64(fd.n[2])*uint64(b.n[7]) + + uint64(fd.n[3])*uint64(b.n[6]) + + uint64(fd.n[4])*uint64(b.n[5]) + + uint64(fd.n[5])*uint64(b.n[4]) + + uint64(fd.n[6])*uint64(b.n[3]) + + uint64(fd.n[7])*uint64(b.n[2]) + + uint64(fd.n[8])*uint64(b.n[1]) + + uint64(fd.n[9])*uint64(b.n[0]) + t9 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[1])*uint64(b.n[9]) + + uint64(fd.n[2])*uint64(b.n[8]) + + uint64(fd.n[3])*uint64(b.n[7]) + + uint64(fd.n[4])*uint64(b.n[6]) + + uint64(fd.n[5])*uint64(b.n[5]) + + uint64(fd.n[6])*uint64(b.n[4]) + + uint64(fd.n[7])*uint64(b.n[3]) + + uint64(fd.n[8])*uint64(b.n[2]) + + uint64(fd.n[9])*uint64(b.n[1]) + t10 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[2])*uint64(b.n[9]) + + uint64(fd.n[3])*uint64(b.n[8]) + + uint64(fd.n[4])*uint64(b.n[7]) + + uint64(fd.n[5])*uint64(b.n[6]) + + uint64(fd.n[6])*uint64(b.n[5]) + + uint64(fd.n[7])*uint64(b.n[4]) + + uint64(fd.n[8])*uint64(b.n[3]) + + uint64(fd.n[9])*uint64(b.n[2]) + t11 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[3])*uint64(b.n[9]) + + uint64(fd.n[4])*uint64(b.n[8]) + + uint64(fd.n[5])*uint64(b.n[7]) + + uint64(fd.n[6])*uint64(b.n[6]) + + uint64(fd.n[7])*uint64(b.n[5]) + + uint64(fd.n[8])*uint64(b.n[4]) + + uint64(fd.n[9])*uint64(b.n[3]) + t12 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[4])*uint64(b.n[9]) + + uint64(fd.n[5])*uint64(b.n[8]) + + uint64(fd.n[6])*uint64(b.n[7]) + + uint64(fd.n[7])*uint64(b.n[6]) + + uint64(fd.n[8])*uint64(b.n[5]) + + uint64(fd.n[9])*uint64(b.n[4]) + t13 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[5])*uint64(b.n[9]) + + uint64(fd.n[6])*uint64(b.n[8]) + + uint64(fd.n[7])*uint64(b.n[7]) + + uint64(fd.n[8])*uint64(b.n[6]) + + uint64(fd.n[9])*uint64(b.n[5]) + t14 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[6])*uint64(b.n[9]) + + uint64(fd.n[7])*uint64(b.n[8]) + + uint64(fd.n[8])*uint64(b.n[7]) + + uint64(fd.n[9])*uint64(b.n[6]) + t15 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[7])*uint64(b.n[9]) + + uint64(fd.n[8])*uint64(b.n[8]) + + uint64(fd.n[9])*uint64(b.n[7]) + t16 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[8])*uint64(b.n[9]) + + uint64(fd.n[9])*uint64(b.n[8]) + t17 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[9])*uint64(b.n[9]) + t18 = c & 0x3FFFFFF + c = c >> 26 + t19 = c + + c = t0 + t10*0x3D10 + t0 = c & 0x3FFFFFF + c = c >> 26 + c = c + t1 + t10*0x400 + t11*0x3D10 + t1 = c & 0x3FFFFFF + c = c >> 26 + c = c + t2 + t11*0x400 + t12*0x3D10 + t2 = c & 0x3FFFFFF + c = c >> 26 + c = c + t3 + t12*0x400 + t13*0x3D10 + r.n[3] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t4 + t13*0x400 + t14*0x3D10 + r.n[4] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t5 + t14*0x400 + t15*0x3D10 + r.n[5] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t6 + t15*0x400 + t16*0x3D10 + r.n[6] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t7 + t16*0x400 + t17*0x3D10 + r.n[7] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t8 + t17*0x400 + t18*0x3D10 + r.n[8] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t9 + t18*0x400 + t19*0x1000003D10 + r.n[9] = uint32(c) & 0x03FFFFF + c = c >> 22 + d = t0 + c*0x3D1 + r.n[0] = uint32(d) & 0x3FFFFFF + d = d >> 26 + d = d + t1 + c*0x40 + r.n[1] = uint32(d) & 0x3FFFFFF + d = d >> 26 + r.n[2] = uint32(t2 + d) +} + +// Sqr ... +func (fd *Field) Sqr(r *Field) { + var c, d uint64 + var t0, t1, t2, t3, t4, t5, t6 uint64 + var t7, t8, t9, t10, t11, t12, t13 uint64 + var t14, t15, t16, t17, t18, t19 uint64 + + c = uint64(fd.n[0]) * uint64(fd.n[0]) + t0 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[0])*2)*uint64(fd.n[1]) + t1 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[0])*2)*uint64(fd.n[2]) + + uint64(fd.n[1])*uint64(fd.n[1]) + t2 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[0])*2)*uint64(fd.n[3]) + + (uint64(fd.n[1])*2)*uint64(fd.n[2]) + t3 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[0])*2)*uint64(fd.n[4]) + + (uint64(fd.n[1])*2)*uint64(fd.n[3]) + + uint64(fd.n[2])*uint64(fd.n[2]) + t4 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[0])*2)*uint64(fd.n[5]) + + (uint64(fd.n[1])*2)*uint64(fd.n[4]) + + (uint64(fd.n[2])*2)*uint64(fd.n[3]) + t5 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[0])*2)*uint64(fd.n[6]) + + (uint64(fd.n[1])*2)*uint64(fd.n[5]) + + (uint64(fd.n[2])*2)*uint64(fd.n[4]) + + uint64(fd.n[3])*uint64(fd.n[3]) + t6 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[0])*2)*uint64(fd.n[7]) + + (uint64(fd.n[1])*2)*uint64(fd.n[6]) + + (uint64(fd.n[2])*2)*uint64(fd.n[5]) + + (uint64(fd.n[3])*2)*uint64(fd.n[4]) + t7 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[0])*2)*uint64(fd.n[8]) + + (uint64(fd.n[1])*2)*uint64(fd.n[7]) + + (uint64(fd.n[2])*2)*uint64(fd.n[6]) + + (uint64(fd.n[3])*2)*uint64(fd.n[5]) + + uint64(fd.n[4])*uint64(fd.n[4]) + t8 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[0])*2)*uint64(fd.n[9]) + + (uint64(fd.n[1])*2)*uint64(fd.n[8]) + + (uint64(fd.n[2])*2)*uint64(fd.n[7]) + + (uint64(fd.n[3])*2)*uint64(fd.n[6]) + + (uint64(fd.n[4])*2)*uint64(fd.n[5]) + t9 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[1])*2)*uint64(fd.n[9]) + + (uint64(fd.n[2])*2)*uint64(fd.n[8]) + + (uint64(fd.n[3])*2)*uint64(fd.n[7]) + + (uint64(fd.n[4])*2)*uint64(fd.n[6]) + + uint64(fd.n[5])*uint64(fd.n[5]) + t10 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[2])*2)*uint64(fd.n[9]) + + (uint64(fd.n[3])*2)*uint64(fd.n[8]) + + (uint64(fd.n[4])*2)*uint64(fd.n[7]) + + (uint64(fd.n[5])*2)*uint64(fd.n[6]) + t11 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[3])*2)*uint64(fd.n[9]) + + (uint64(fd.n[4])*2)*uint64(fd.n[8]) + + (uint64(fd.n[5])*2)*uint64(fd.n[7]) + + uint64(fd.n[6])*uint64(fd.n[6]) + t12 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[4])*2)*uint64(fd.n[9]) + + (uint64(fd.n[5])*2)*uint64(fd.n[8]) + + (uint64(fd.n[6])*2)*uint64(fd.n[7]) + t13 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[5])*2)*uint64(fd.n[9]) + + (uint64(fd.n[6])*2)*uint64(fd.n[8]) + + uint64(fd.n[7])*uint64(fd.n[7]) + t14 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[6])*2)*uint64(fd.n[9]) + + (uint64(fd.n[7])*2)*uint64(fd.n[8]) + t15 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[7])*2)*uint64(fd.n[9]) + + uint64(fd.n[8])*uint64(fd.n[8]) + t16 = c & 0x3FFFFFF + c = c >> 26 + c = c + (uint64(fd.n[8])*2)*uint64(fd.n[9]) + t17 = c & 0x3FFFFFF + c = c >> 26 + c = c + uint64(fd.n[9])*uint64(fd.n[9]) + t18 = c & 0x3FFFFFF + c = c >> 26 + t19 = c + + c = t0 + t10*0x3D10 + t0 = c & 0x3FFFFFF + c = c >> 26 + c = c + t1 + t10*0x400 + t11*0x3D10 + t1 = c & 0x3FFFFFF + c = c >> 26 + c = c + t2 + t11*0x400 + t12*0x3D10 + t2 = c & 0x3FFFFFF + c = c >> 26 + c = c + t3 + t12*0x400 + t13*0x3D10 + r.n[3] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t4 + t13*0x400 + t14*0x3D10 + r.n[4] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t5 + t14*0x400 + t15*0x3D10 + r.n[5] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t6 + t15*0x400 + t16*0x3D10 + r.n[6] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t7 + t16*0x400 + t17*0x3D10 + r.n[7] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t8 + t17*0x400 + t18*0x3D10 + r.n[8] = uint32(c) & 0x3FFFFFF + c = c >> 26 + c = c + t9 + t18*0x400 + t19*0x1000003D10 + r.n[9] = uint32(c) & 0x03FFFFF + c = c >> 22 + d = t0 + c*0x3D1 + r.n[0] = uint32(d) & 0x3FFFFFF + d = d >> 26 + d = d + t1 + c*0x40 + r.n[1] = uint32(d) & 0x3FFFFFF + d = d >> 26 + r.n[2] = uint32(t2 + d) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/num.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/num.go new file mode 100644 index 000000000..ddefceb69 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/num.go @@ -0,0 +1,111 @@ +package secp256k1go + +import ( + "encoding/hex" + "fmt" + "math/big" +) + +var ( + // BigInt1 represents big int with value 1 + BigInt1 = new(big.Int).SetInt64(1) +) + +// Number wraps the big.Int +type Number struct { + big.Int +} + +// Print prints the label with hex number string +func (num *Number) Print(label string) { + fmt.Println(label, hex.EncodeToString(num.Bytes())) +} + +func (num *Number) modMul(a, b, m *Number) { + num.Mul(&a.Int, &b.Int) + num.Mod(&num.Int, &m.Int) +} + +func (num *Number) modInv(a, b *Number) { + num.ModInverse(&a.Int, &b.Int) +} + +func (num *Number) mod(a *Number) { + num.Mod(&num.Int, &a.Int) +} + +// SetHex sets number from string +func (num *Number) SetHex(s string) { + num.SetString(s, 16) +} + +//SetBytes and GetBytes are inherited by default +//added +//func (a *Number) SetBytes(b []byte) { +// a.SetBytes(b) +//} + +func (num *Number) maskBits(bits uint) { + mask := new(big.Int).Lsh(BigInt1, bits) + mask.Sub(mask, BigInt1) + num.Int.And(&num.Int, mask) +} + +func (num *Number) splitExp(r1, r2 *Number) { + var bnc1, bnc2, bnn2, bnt1, bnt2 Number + + bnn2.Int.Rsh(&TheCurve.Order.Int, 1) + + bnc1.Mul(&num.Int, &TheCurve.a1b2.Int) + bnc1.Add(&bnc1.Int, &bnn2.Int) + bnc1.Div(&bnc1.Int, &TheCurve.Order.Int) + + bnc2.Mul(&num.Int, &TheCurve.b1.Int) + bnc2.Add(&bnc2.Int, &bnn2.Int) + bnc2.Div(&bnc2.Int, &TheCurve.Order.Int) + + bnt1.Mul(&bnc1.Int, &TheCurve.a1b2.Int) + bnt2.Mul(&bnc2.Int, &TheCurve.a2.Int) + bnt1.Add(&bnt1.Int, &bnt2.Int) + r1.Sub(&num.Int, &bnt1.Int) + + bnt1.Mul(&bnc1.Int, &TheCurve.b1.Int) + bnt2.Mul(&bnc2.Int, &TheCurve.a1b2.Int) + r2.Sub(&bnt1.Int, &bnt2.Int) +} + +func (num *Number) split(rl, rh *Number, bits uint) { // nolint: unparam + rl.Int.Set(&num.Int) + rh.Int.Rsh(&rl.Int, bits) + rl.maskBits(bits) +} + +func (num *Number) rsh(bits uint) { // nolint: unparam + num.Rsh(&num.Int, bits) +} + +func (num *Number) inc() { + num.Add(&num.Int, BigInt1) +} + +func (num *Number) rshX(bits uint) (res int) { + res = int(new(big.Int).And(&num.Int, new(big.Int).SetUint64((1< le { + panic("buffer too small") + } + if len(bts) == le { + return bts + } + return append(make([]byte, le-len(bts)), bts...) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/secp256k1.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/secp256k1.go new file mode 100644 index 000000000..55ce1da30 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/secp256k1.go @@ -0,0 +1,60 @@ +/* +Package secp256k1go implements the underlying secp256k1 primitives +*/ +package secp256k1go + +const winA = 5 +const winG = 14 +const forceLowS = true // At the output of the Sign() function + +// TheCurve represents curve +var TheCurve struct { + Order, halfOrder Number + G XY + beta Field + lambda, a1b2, b1, a2 Number + p Number +} + +func initContants() { + TheCurve.Order.SetBytes([]byte{ + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, + 0xBA, 0xAE, 0xDC, 0xE6, 0xAF, 0x48, 0xA0, 0x3B, 0xBF, 0xD2, 0x5E, 0x8C, 0xD0, 0x36, 0x41, 0x41}) + + TheCurve.halfOrder.SetBytes([]byte{ + 0X7F, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF, + 0X5D, 0X57, 0X6E, 0X73, 0X57, 0XA4, 0X50, 0X1D, 0XDF, 0XE9, 0X2F, 0X46, 0X68, 0X1B, 0X20, 0XA0}) + + TheCurve.p.SetBytes([]byte{ + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFC, 0x2F}) + + TheCurve.G.X.SetB32([]byte{ + 0x79, 0xBE, 0x66, 0x7E, 0xF9, 0xDC, 0xBB, 0xAC, 0x55, 0xA0, 0x62, 0x95, 0xCE, 0x87, 0x0B, 0x07, + 0x02, 0x9B, 0xFC, 0xDB, 0x2D, 0xCE, 0x28, 0xD9, 0x59, 0xF2, 0x81, 0x5B, 0x16, 0xF8, 0x17, 0x98}) + + TheCurve.G.Y.SetB32([]byte{ + 0x48, 0x3A, 0xDA, 0x77, 0x26, 0xA3, 0xC4, 0x65, 0x5D, 0xA4, 0xFB, 0xFC, 0x0E, 0x11, 0x08, 0xA8, + 0xFD, 0x17, 0xB4, 0x48, 0xA6, 0x85, 0x54, 0x19, 0x9C, 0x47, 0xD0, 0x8F, 0xFB, 0x10, 0xD4, 0xB8}) + + TheCurve.lambda.SetBytes([]byte{ + 0x53, 0x63, 0xad, 0x4c, 0xc0, 0x5c, 0x30, 0xe0, 0xa5, 0x26, 0x1c, 0x02, 0x88, 0x12, 0x64, 0x5a, + 0x12, 0x2e, 0x22, 0xea, 0x20, 0x81, 0x66, 0x78, 0xdf, 0x02, 0x96, 0x7c, 0x1b, 0x23, 0xbd, 0x72}) + + TheCurve.beta.SetB32([]byte{ + 0x7a, 0xe9, 0x6a, 0x2b, 0x65, 0x7c, 0x07, 0x10, 0x6e, 0x64, 0x47, 0x9e, 0xac, 0x34, 0x34, 0xe9, + 0x9c, 0xf0, 0x49, 0x75, 0x12, 0xf5, 0x89, 0x95, 0xc1, 0x39, 0x6c, 0x28, 0x71, 0x95, 0x01, 0xee}) + + TheCurve.a1b2.SetBytes([]byte{ + 0x30, 0x86, 0xd2, 0x21, 0xa7, 0xd4, 0x6b, 0xcd, 0xe8, 0x6c, 0x90, 0xe4, 0x92, 0x84, 0xeb, 0x15}) + + TheCurve.b1.SetBytes([]byte{ + 0xe4, 0x43, 0x7e, 0xd6, 0x01, 0x0e, 0x88, 0x28, 0x6f, 0x54, 0x7f, 0xa9, 0x0a, 0xbf, 0xe4, 0xc3}) + + TheCurve.a2.SetBytes([]byte{ + 0x01, 0x14, 0xca, 0x50, 0xf7, 0xa8, 0xe2, 0xf3, 0xf6, 0x57, 0xc1, 0x10, 0x8d, 0x9d, 0x44, 0xcf, 0xd8}) +} + +func init() { + initContants() +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/sig.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/sig.go new file mode 100644 index 000000000..dac0fc520 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/sig.go @@ -0,0 +1,234 @@ +package secp256k1go + +import ( + "bytes" + "encoding/hex" + "fmt" + "log" +) + +// Signature represents the signature +type Signature struct { + R, S Number +} + +// Print prints the signature +func (sig *Signature) Print(lab string) { + fmt.Println(lab+".R:", hex.EncodeToString(sig.R.Bytes())) + fmt.Println(lab+".S:", hex.EncodeToString(sig.S.Bytes())) +} + +// Verify verify the signature +func (sig *Signature) Verify(pubkey *XY, message *Number) (ret bool) { + var r2 Number + ret = sig.recompute(&r2, pubkey, message) && sig.R.Cmp(&r2.Int) == 0 + return +} + +func (sig *Signature) recompute(r2 *Number, pubkey *XY, message *Number) (ret bool) { + var sn, u1, u2 Number + + sn.modInv(&sig.S, &TheCurve.Order) + u1.modMul(&sn, message, &TheCurve.Order) + u2.modMul(&sn, &sig.R, &TheCurve.Order) + + var pr, pubkeyj XYZ + pubkeyj.SetXY(pubkey) + + pubkeyj.ECmult(&pr, &u2, &u1) + if !pr.IsInfinity() { + var xr Field + pr.getX(&xr) + xr.Normalize() + var xrb [32]byte + xr.GetB32(xrb[:]) + r2.SetBytes(xrb[:]) + r2.Mod(&r2.Int, &TheCurve.Order.Int) + ret = true + } + + return +} + +// Recover TODO: return type, or nil on failure +func (sig *Signature) Recover(pubkey *XY, m *Number, recid int) (ret bool) { + var rx, rn, u1, u2 Number + var fx Field + var X XY + var xj, qj XYZ + + rx.Set(&sig.R.Int) + if (recid & 2) != 0 { + rx.Add(&rx.Int, &TheCurve.Order.Int) + if rx.Cmp(&TheCurve.p.Int) >= 0 { + return false + } + } + + fx.SetB32(rx.getBin(32)) + + X.SetXO(&fx, (recid&1) != 0) + if !X.IsValid() { + return false + } + + xj.SetXY(&X) + rn.modInv(&sig.R, &TheCurve.Order) + u1.modMul(&rn, m, &TheCurve.Order) + u1.Sub(&TheCurve.Order.Int, &u1.Int) + u2.modMul(&rn, &sig.S, &TheCurve.Order) + xj.ECmult(&qj, &u2, &u1) + pubkey.SetXYZ(&qj) + + return true +} + +// Sign signs the signature +func (sig *Signature) Sign(seckey, message, nonce *Number, recid *int) int { + var r XY + var rp XYZ + var n Number + var b [32]byte + + ECmultGen(&rp, nonce) + r.SetXYZ(&rp) + r.X.Normalize() + r.Y.Normalize() + r.X.GetB32(b[:]) + sig.R.SetBytes(b[:]) + if recid != nil { + *recid = 0 + if sig.R.Cmp(&TheCurve.Order.Int) >= 0 { + *recid |= 2 + } + if r.Y.IsOdd() { + *recid |= 1 + } + } + sig.R.mod(&TheCurve.Order) + n.modMul(&sig.R, seckey, &TheCurve.Order) + n.Add(&n.Int, &message.Int) + n.mod(&TheCurve.Order) + sig.S.modInv(nonce, &TheCurve.Order) + sig.S.modMul(&sig.S, &n, &TheCurve.Order) + if sig.S.Sign() == 0 { + return 0 + } + if sig.S.IsOdd() { + sig.S.Sub(&TheCurve.Order.Int, &sig.S.Int) + if recid != nil { + *recid ^= 1 + } + } + + if forceLowS && sig.S.Cmp(&TheCurve.halfOrder.Int) == 1 { + sig.S.Sub(&TheCurve.Order.Int, &sig.S.Int) + if recid != nil { + *recid ^= 1 + } + } + + return 1 +} + +/* +//uncompressed Signature Parsing in DER +func (r *Signature) ParseBytes(sig []byte) int { + if sig[0] != 0x30 || len(sig) < 5 { + return -1 + } + + lenr := int(sig[3]) + if lenr == 0 || 5+lenr >= len(sig) || sig[lenr+4] != 0x02 { + return -1 + } + + lens := int(sig[lenr+5]) + if lens == 0 || int(sig[1]) != lenr+lens+4 || lenr+lens+6 > len(sig) || sig[2] != 0x02 { + return -1 + } + + r.R.SetBytes(sig[4 : 4+lenr]) + r.S.SetBytes(sig[6+lenr : 6+lenr+lens]) + return 6 + lenr + lens +} +*/ + +/* +//uncompressed Signature parsing in DER +func (sig *Signature) Bytes() []byte { + r := sig.R.Bytes() + if r[0] >= 0x80 { + r = append([]byte{0}, r...) + } + s := sig.S.Bytes() + if s[0] >= 0x80 { + s = append([]byte{0}, s...) + } + res := new(bytes.Buffer) + res.WriteByte(0x30) + res.WriteByte(byte(4 + len(r) + len(s))) + res.WriteByte(0x02) + res.WriteByte(byte(len(r))) + res.Write(r) + res.WriteByte(0x02) + res.WriteByte(byte(len(s))) + res.Write(s) + return res.Bytes() +} +*/ + +// ParseBytes compressed signature parsing +func (sig *Signature) ParseBytes(v []byte) { + if len(v) != 64 { + log.Panic() + } + sig.R.SetBytes(v[0:32]) + sig.S.SetBytes(v[32:64]) +} + +//secp256k1_num_get_bin(sig64, 32, &sig.r); +//secp256k1_num_get_bin(sig64 + 32, 32, &sig.s); + +// Bytes compressed signature parsing +func (sig *Signature) Bytes() []byte { + r := sig.R.Bytes() //endianess + s := sig.S.Bytes() //endianess + + for len(r) < 32 { + r = append([]byte{0}, r...) + } + for len(s) < 32 { + s = append([]byte{0}, s...) + } + + if len(r) != 32 || len(s) != 32 { + log.Panicf("signature size invalid: %d, %d", len(r), len(s)) + } + + res := new(bytes.Buffer) + if _, err := res.Write(r); err != nil { + panic(err) + } + if _, err := res.Write(s); err != nil { + panic(err) + } + + //test + if true { + ret := res.Bytes() + var sig2 Signature + sig2.ParseBytes(ret) + if !bytes.Equal(sig.R.Bytes(), sig2.R.Bytes()) { + log.Panic("serialization failed 1") + } + if !bytes.Equal(sig.S.Bytes(), sig2.S.Bytes()) { + log.Panic("serialization failed 2") + } + } + + if len(res.Bytes()) != 64 { + log.Panic() + } + return res.Bytes() +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/xy.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/xy.go new file mode 100644 index 000000000..15aea02a1 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/xy.go @@ -0,0 +1,265 @@ +package secp256k1go + +import ( + "fmt" + "log" +) + +// XY TODO... +type XY struct { + X, Y Field + Infinity bool +} + +// Print prints the xy +func (xy *XY) Print(lab string) { + if xy.Infinity { + fmt.Println(lab + " - Infinity") + return + } + fmt.Println(lab+".X:", xy.X.String()) + fmt.Println(lab+".Y:", xy.Y.String()) +} + +//edited + +/* + if (size == 33 && (pub[0] == 0x02 || pub[0] == 0x03)) { + secp256k1_fe_t x; + secp256k1_fe_set_b32(&x, pub+1); + return secp256k1_ge_set_xo(elem, &x, pub[0] == 0x03); + } else if (size == 65 && (pub[0] == 0x04 || pub[0] == 0x06 || pub[0] == 0x07)) { + secp256k1_fe_t x, y; + secp256k1_fe_set_b32(&x, pub+1); + secp256k1_fe_set_b32(&y, pub+33); + secp256k1_ge_set_xy(elem, &x, &y); + if ((pub[0] == 0x06 || pub[0] == 0x07) && secp256k1_fe_is_odd(&y) != (pub[0] == 0x07)) + return 0; + return secp256k1_ge_is_valid(elem); + } +*/ +//All compact keys appear to be valid by construction, but may fail +//is valid check + +// ParsePubkey WARNING: for compact signatures, will succeed unconditionally +//however, elem.IsValid will fail +func (xy *XY) ParsePubkey(pub []byte) bool { + if len(pub) != 33 { + log.Panic("pubkey len must be 33, len is ", len(pub)) // do not permit invalid length inputs + return false + } + if len(pub) == 33 && (pub[0] == 0x02 || pub[0] == 0x03) { + xy.X.SetB32(pub[1:33]) + xy.SetXO(&xy.X, pub[0] == 0x03) + } else { + return false + } + //THIS FAILS + //reenable later + //if !elem.IsValid() { + // return false + //} + + /* + else if len(pub) == 65 && (pub[0] == 0x04 || pub[0] == 0x06 || pub[0] == 0x07) { + elem.X.SetB32(pub[1:33]) + elem.Y.SetB32(pub[33:65]) + if (pub[0] == 0x06 || pub[0] == 0x07) && elem.Y.IsOdd() != (pub[0] == 0x07) { + return false + } + } + */ + return true +} + +// Bytes Returns serialized key in in compressed format: "<02> ", +// eventually "<03> " +//33 bytes +func (xy XY) Bytes() []byte { + xy.X.Normalize() // See GitHub issue #15 + + raw := make([]byte, 33) + if xy.Y.IsOdd() { + raw[0] = 0x03 + } else { + raw[0] = 0x02 + } + xy.X.GetB32(raw[1:]) + return raw +} + +// BytesUncompressed returns serialized key in uncompressed format "<04> " +//65 bytes +func (xy *XY) BytesUncompressed() (raw []byte) { + xy.X.Normalize() // See GitHub issue #15 + xy.Y.Normalize() // See GitHub issue #15 + + raw = make([]byte, 65) + raw[0] = 0x04 + xy.X.GetB32(raw[1:33]) + xy.Y.GetB32(raw[33:65]) + return +} + +// SetXY sets x y fields +func (xy *XY) SetXY(X, Y *Field) { + xy.Infinity = false + xy.X = *X + xy.Y = *Y +} + +/* +int static secp256k1_ecdsa_pubkey_parse(secp256k1_ge_t *elem, const unsigned char *pub, int size) { + if (size == 33 && (pub[0] == 0x02 || pub[0] == 0x03)) { + secp256k1_fe_t x; + secp256k1_fe_set_b32(&x, pub+1); + return secp256k1_ge_set_xo(elem, &x, pub[0] == 0x03); + } else if (size == 65 && (pub[0] == 0x04 || pub[0] == 0x06 || pub[0] == 0x07)) { + secp256k1_fe_t x, y; + secp256k1_fe_set_b32(&x, pub+1); + secp256k1_fe_set_b32(&y, pub+33); + secp256k1_ge_set_xy(elem, &x, &y); + if ((pub[0] == 0x06 || pub[0] == 0x07) && secp256k1_fe_is_odd(&y) != (pub[0] == 0x07)) + return 0; + return secp256k1_ge_is_valid(elem); + } else { + return 0; + } +} +*/ + +// if (size == 33 && (pub[0] == 0x02 || pub[0] == 0x03)) { +// secp256k1_fe_t x; +// secp256k1_fe_set_b32(&x, pub+1); +// return secp256k1_ge_set_xo(elem, &x, pub[0] == 0x03); + +// IsValid checks if valid +func (xy *XY) IsValid() bool { + if xy.Infinity { + return false + } + var y2, x3, c Field + xy.Y.Sqr(&y2) + xy.X.Sqr(&x3) + x3.Mul(&x3, &xy.X) + c.SetInt(7) + x3.SetAdd(&c) + y2.Normalize() + x3.Normalize() + return y2.Equals(&x3) +} + +// SetXYZ sets X Y Z fields +func (xy *XY) SetXYZ(a *XYZ) { + var z2, z3 Field + a.Z.InvVar(&a.Z) + a.Z.Sqr(&z2) + a.Z.Mul(&z3, &z2) + a.X.Mul(&a.X, &z2) + a.Y.Mul(&a.Y, &z3) + a.Z.SetInt(1) + xy.Infinity = a.Infinity + xy.X = a.X + xy.Y = a.Y +} + +func (xy *XY) precomp(w int) (pre []XY) { // nolint: unused,megacheck + pre = make([]XY, (1 << (uint(w) - 2))) + pre[0] = *xy + var X, d, tmp XYZ + X.SetXY(xy) + X.Double(&d) + for i := 1; i < len(pre); i++ { + d.AddXY(&tmp, &pre[i-1]) + pre[i].SetXYZ(&tmp) + } + return +} + +// Neg caculates negate +func (xy *XY) Neg(r *XY) { + r.Infinity = xy.Infinity + r.X = xy.X + r.Y = xy.Y + r.Y.Normalize() + r.Y.Negate(&r.Y, 1) +} + +/* +int static secp256k1_ge_set_xo(secp256k1_ge_t *r, const secp256k1_fe_t *x, int odd) { + r->x = *x; + secp256k1_fe_t x2; secp256k1_fe_sqr(&x2, x); + secp256k1_fe_t x3; secp256k1_fe_mul(&x3, x, &x2); + r->infinity = 0; + secp256k1_fe_t c; secp256k1_fe_set_int(&c, 7); + secp256k1_fe_add(&c, &x3); + if (!secp256k1_fe_sqrt(&r->y, &c)) + return 0; + secp256k1_fe_normalize(&r->y); + if (secp256k1_fe_is_odd(&r->y) != odd) + secp256k1_fe_negate(&r->y, &r->y, 1); + return 1; +} +*/ + +// SetXO sets +func (xy *XY) SetXO(X *Field, odd bool) { + var c, x2, x3 Field + xy.X = *X + X.Sqr(&x2) + X.Mul(&x3, &x2) + xy.Infinity = false + c.SetInt(7) + c.SetAdd(&x3) + c.Sqrt(&xy.Y) //does not return, can fail + if xy.Y.IsOdd() != odd { + xy.Y.Negate(&xy.Y, 1) + } + + //r.X.Normalize() // See GitHub issue #15 + xy.Y.Normalize() +} + +// AddXY adds xy +func (xy *XY) AddXY(a *XY) { + var xyz XYZ + xyz.SetXY(xy) + xyz.AddXY(&xyz, a) + xy.SetXYZ(&xyz) +} + +/* +func (pk *XY) GetPublicKey() []byte { + var out []byte = make([]byte, 65, 65) + pk.X.GetB32(out[1:33]) + if len(out) == 65 { + out[0] = 0x04 + pk.Y.GetB32(out[33:65]) + } else { + if pk.Y.IsOdd() { + out[0] = 0x03 + } else { + out[0] = 0x02 + } + } + return out +} +*/ + +// GetPublicKey use compact format +//returns only 33 bytes +//same as bytes() +//TODO: deprecate, replace with .Bytes() +func (xy *XY) GetPublicKey() []byte { + return xy.Bytes() + /* + var out []byte = make([]byte, 33, 33) + pk.X.GetB32(out[1:33]) + if pk.Y.IsOdd() { + out[0] = 0x03 + } else { + out[0] = 0x02 + } + return out + */ +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/xyz.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/xyz.go new file mode 100644 index 000000000..7fffdd59d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/xyz.go @@ -0,0 +1,387 @@ +package secp256k1go + +import ( + "fmt" + // "encoding/hex" +) + +// XYZ contains xyz fields +type XYZ struct { + X, Y, Z Field + Infinity bool +} + +// Print prints xyz +func (xyz XYZ) Print(lab string) { + if xyz.Infinity { + fmt.Println(lab + " - INFINITY") + return + } + fmt.Println(lab+".X", xyz.X.String()) + fmt.Println(lab+".Y", xyz.Y.String()) + fmt.Println(lab+".Z", xyz.Z.String()) +} + +// SetXY sets xy +func (xyz *XYZ) SetXY(a *XY) { + xyz.Infinity = a.Infinity + xyz.X = a.X + xyz.Y = a.Y + xyz.Z.SetInt(1) +} + +// IsInfinity check if xyz is infinity +func (xyz *XYZ) IsInfinity() bool { + return xyz.Infinity +} + +// IsValid check if xyz is valid +func (xyz *XYZ) IsValid() bool { + if xyz.Infinity { + return false + } + var y2, x3, z2, z6 Field + xyz.Y.Sqr(&y2) + xyz.X.Sqr(&x3) + x3.Mul(&x3, &xyz.X) + xyz.Z.Sqr(&z2) + z2.Sqr(&z6) + z6.Mul(&z6, &z2) + z6.MulInt(7) + x3.SetAdd(&z6) + y2.Normalize() + x3.Normalize() + return y2.Equals(&x3) +} + +func (xyz *XYZ) getX(r *Field) { + var zi2 Field + xyz.Z.InvVar(&zi2) + zi2.Sqr(&zi2) + xyz.X.Mul(r, &zi2) +} + +// Normalize normalize all fields +func (xyz *XYZ) Normalize() { + xyz.X.Normalize() + xyz.Y.Normalize() + xyz.Z.Normalize() +} + +// Equals checks if equal +func (xyz *XYZ) Equals(b *XYZ) bool { + if xyz.Infinity != b.Infinity { + return false + } + // TODO: is the normalize really needed here? + xyz.Normalize() + b.Normalize() + return xyz.X.Equals(&b.X) && xyz.Y.Equals(&b.Y) && xyz.Z.Equals(&b.Z) +} + +func (xyz *XYZ) precomp(w int) (pre []XYZ) { // nolint: unparam + var d XYZ + pre = make([]XYZ, (1 << (uint(w) - 2))) + pre[0] = *xyz + pre[0].Double(&d) + for i := 1; i < len(pre); i++ { + d.Add(&pre[i], &pre[i-1]) + } + return +} + +func ecmultWnaf(wnaf []int, a *Number, w uint) (ret int) { + var zeroes uint + var X Number + X.Set(&a.Int) + + for X.Sign() != 0 { + for X.Bit(0) == 0 { + zeroes++ + X.rsh(1) + } + word := X.rshX(w) + for zeroes > 0 { + wnaf[ret] = 0 + ret++ + zeroes-- + } + if (word & (1 << (w - 1))) != 0 { + X.inc() + wnaf[ret] = (word - (1 << w)) + } else { + wnaf[ret] = word + } + zeroes = w - 1 + ret++ + } + return +} + +// ECmult r = na*a + ng*G +func (xyz *XYZ) ECmult(r *XYZ, na, ng *Number) { + var na1, naLam, ng1, ng128 Number + + // split na into na_1 and na_lam (where na = na_1 + na_lam*lambda, and na_1 and na_lam are ~128 bit) + na.splitExp(&na1, &naLam) + + // split ng into ng_1 and ng_128 (where gn = gn_1 + gn_128*2^128, and gn_1 and gn_128 are ~128 bit) + ng.split(&ng1, &ng128, 128) + + // build wnaf representation for na_1, na_lam, ng_1, ng_128 + var wnafNa1, wnafNaLam, wnafNg1, wnafNg128 [129]int + bitsNa1 := ecmultWnaf(wnafNa1[:], &na1, winA) + bitsNaLam := ecmultWnaf(wnafNaLam[:], &naLam, winA) + bitsNg1 := ecmultWnaf(wnafNg1[:], &ng1, winG) + bitsNg128 := ecmultWnaf(wnafNg128[:], &ng128, winG) + + // calculate a_lam = a*lambda + var aLam XYZ + xyz.mulLambda(&aLam) + + // calculate odd multiples of a and a_lam + preA1 := xyz.precomp(winA) + preALam := aLam.precomp(winA) + + bits := bitsNa1 + if bitsNaLam > bits { + bits = bitsNaLam + } + if bitsNg1 > bits { + bits = bitsNg1 + } + if bitsNg128 > bits { + bits = bitsNg128 + } + + r.Infinity = true + + var tmpj XYZ + var tmpa XY + var n int + + for i := bits - 1; i >= 0; i-- { + r.Double(r) + + if i < bitsNa1 { + n = wnafNa1[i] + if n > 0 { + r.Add(r, &preA1[((n)-1)/2]) + } else if n != 0 { + preA1[(-(n)-1)/2].Neg(&tmpj) + r.Add(r, &tmpj) + } + } + + if i < bitsNaLam { + n = wnafNaLam[i] + if n > 0 { + r.Add(r, &preALam[((n)-1)/2]) + } else if n != 0 { + preALam[(-(n)-1)/2].Neg(&tmpj) + r.Add(r, &tmpj) + } + } + + if i < bitsNg1 { + n = wnafNg1[i] + if n > 0 { + r.AddXY(r, &preG[((n)-1)/2]) + } else if n != 0 { + preG[(-(n)-1)/2].Neg(&tmpa) + r.AddXY(r, &tmpa) + } + } + + if i < bitsNg128 { + n = wnafNg128[i] + if n > 0 { + r.AddXY(r, &preG128[((n)-1)/2]) + } else if n != 0 { + preG128[(-(n)-1)/2].Neg(&tmpa) + r.AddXY(r, &tmpa) + } + } + } +} + +// Neg caculate neg +func (xyz *XYZ) Neg(r *XYZ) { + r.Infinity = xyz.Infinity + r.X = xyz.X + r.Y = xyz.Y + r.Z = xyz.Z + r.Y.Normalize() + r.Y.Negate(&r.Y, 1) +} + +func (xyz *XYZ) mulLambda(r *XYZ) { + *r = *xyz + r.X.Mul(&r.X, &TheCurve.beta) +} + +// Double cacule double +func (xyz *XYZ) Double(r *XYZ) { + var t1, t2, t3, t4, t5 Field + + t5 = xyz.Y + t5.Normalize() + if xyz.Infinity || t5.IsZero() { + r.Infinity = true + return + } + + t5.Mul(&r.Z, &xyz.Z) + r.Z.MulInt(2) + xyz.X.Sqr(&t1) + t1.MulInt(3) + t1.Sqr(&t2) + t5.Sqr(&t3) + t3.MulInt(2) + t3.Sqr(&t4) + t4.MulInt(2) + xyz.X.Mul(&t3, &t3) + r.X = t3 + r.X.MulInt(4) + r.X.Negate(&r.X, 4) + r.X.SetAdd(&t2) + t2.Negate(&t2, 1) + t3.MulInt(6) + t3.SetAdd(&t2) + t1.Mul(&r.Y, &t3) + t4.Negate(&t2, 2) + r.Y.SetAdd(&t2) + r.Infinity = false +} + +// AddXY adds XY +func (xyz *XYZ) AddXY(r *XYZ, b *XY) { + if xyz.Infinity { + r.Infinity = b.Infinity + r.X = b.X + r.Y = b.Y + r.Z.SetInt(1) + return + } + if b.Infinity { + *r = *xyz + return + } + r.Infinity = false + var z12, u1, u2, s1, s2 Field + xyz.Z.Sqr(&z12) + u1 = xyz.X + u1.Normalize() + b.X.Mul(&u2, &z12) + s1 = xyz.Y + s1.Normalize() + b.Y.Mul(&s2, &z12) + s2.Mul(&s2, &xyz.Z) + u1.Normalize() + u2.Normalize() + + if u1.Equals(&u2) { + s1.Normalize() + s2.Normalize() + if s1.Equals(&s2) { + xyz.Double(r) + } else { + r.Infinity = true + } + return + } + + var h, i, i2, h2, h3, t Field + u1.Negate(&h, 1) + h.SetAdd(&u2) + s1.Negate(&i, 1) + i.SetAdd(&s2) + i.Sqr(&i2) + h.Sqr(&h2) + h.Mul(&h3, &h2) + r.Z = xyz.Z + r.Z.Mul(&r.Z, &h) + u1.Mul(&t, &h2) + r.X = t + r.X.MulInt(2) + r.X.SetAdd(&h3) + r.X.Negate(&r.X, 3) + r.X.SetAdd(&i2) + r.X.Negate(&r.Y, 5) + r.Y.SetAdd(&t) + r.Y.Mul(&r.Y, &i) + h3.Mul(&h3, &s1) + h3.Negate(&h3, 1) + r.Y.SetAdd(&h3) +} + +// Add adds value +func (xyz *XYZ) Add(r, b *XYZ) { + if xyz.Infinity { + *r = *b + return + } + if b.Infinity { + *r = *xyz + return + } + r.Infinity = false + var z22, z12, u1, u2, s1, s2 Field + + b.Z.Sqr(&z22) + xyz.Z.Sqr(&z12) + xyz.X.Mul(&u1, &z22) + b.X.Mul(&u2, &z12) + xyz.Y.Mul(&s1, &z22) + s1.Mul(&s1, &b.Z) + b.Y.Mul(&s2, &z12) + s2.Mul(&s2, &xyz.Z) + u1.Normalize() + u2.Normalize() + if u1.Equals(&u2) { + s1.Normalize() + s2.Normalize() + if s1.Equals(&s2) { + xyz.Double(r) + } else { + r.Infinity = true + } + return + } + var h, i, i2, h2, h3, t Field + + u1.Negate(&h, 1) + h.SetAdd(&u2) + s1.Negate(&i, 1) + i.SetAdd(&s2) + i.Sqr(&i2) + h.Sqr(&h2) + h.Mul(&h3, &h2) + xyz.Z.Mul(&r.Z, &b.Z) + r.Z.Mul(&r.Z, &h) + u1.Mul(&t, &h2) + r.X = t + r.X.MulInt(2) + r.X.SetAdd(&h3) + r.X.Negate(&r.X, 3) + r.X.SetAdd(&i2) + r.X.Negate(&r.Y, 5) + r.Y.SetAdd(&t) + r.Y.Mul(&r.Y, &i) + h3.Mul(&h3, &s1) + h3.Negate(&h3, 1) + r.Y.SetAdd(&h3) +} + +// ECmultGen r = a*G +//TODO: Change to returning result +//TODO: input should not be pointer +func ECmultGen(r *XYZ, a *Number) { + var n Number + n.Set(&a.Int) + r.SetXY(&prec[0][n.rshX(4)]) + for j := 1; j < 64; j++ { + r.AddXY(r, &prec[j][n.rshX(4)]) + } + r.AddXY(r, &fin) +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/z_consts.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/z_consts.go new file mode 100644 index 000000000..4b6c0f76a --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/z_consts.go @@ -0,0 +1,9356 @@ +package secp256k1go + +var fin = XY{X: Field{[10]uint32{0x035871aa, 0x002dc101, 0x0059ab0f, 0x02cb297e, 0x00684bb5, 0x02585764, 0x02f3cceb, 0x002bdca3, 0x03dcb7cc, 0x0013cd56}}, Y: Field{[10]uint32{0x044d069d, 0x0603c088, 0x07541d4e, 0x04a4074d, 0x045fcba8, 0x05f00c34, 0x04bab268, 0x05fd8d65, 0x04e47151, 0x0071e924}}} + +var preG = []XY{ + {X: Field{[10]uint32{0x02f81798, 0x00a056c5, 0x028d959f, 0x036cb738, 0x03029bfc, 0x03a1c2c1, 0x0206295c, 0x02eeb156, 0x027ef9dc, 0x001e6f99}}, Y: Field{[10]uint32{0x0310d4b8, 0x01f423fe, 0x014199c4, 0x01229a15, 0x00fd17b4, 0x0384422a, 0x024fbfc0, 0x03119576, 0x027726a3, 0x00120eb6}}}, + {X: Field{[10]uint32{0x00e036f9, 0x007c44ef, 0x019b0860, 0x01160dbe, 0x01b531c8, 0x0227548a, 0x0344f85f, 0x030c4124, 0x02019258, 0x003e4c22}}, Y: Field{[10]uint32{0x00b8e672, 0x027f5d61, 0x0231b6cb, 0x0264d308, 0x026500a9, 0x028dfcd5, 0x02337e62, 0x03a0503f, 0x030f632d, 0x000e23de}}}, + {X: Field{[10]uint32{0x0240efe4, 0x02355a6c, 0x01ab7cba, 0x02f77186, 0x00e88b84, 0x0297144a, 0x034a7250, 0x00824d56, 0x024d1a07, 0x000be2f7}}, Y: Field{[10]uint32{0x02ac62d6, 0x021f4ea9, 0x02840dca, 0x006eac35, 0x02f78827, 0x01b27109, 0x01ba9dda, 0x038f5b53, 0x022636e5, 0x00362b08}}}, + {X: Field{[10]uint32{0x02c4f9bc, 0x02f77b72, 0x0239ce92, 0x01f80cc3, 0x023d419b, 0x00ba9e83, 0x018f365f, 0x02d3aa8e, 0x00646e5d, 0x00172f7c}}, Y: Field{[10]uint32{0x007264da, 0x02098a02, 0x027b5a50, 0x02e04ff7, 0x03a813d0, 0x01869536, 0x0178d6d8, 0x0165828c, 0x0240ba25, 0x001abaf2}}}, + {X: Field{[10]uint32{0x0027ccbe, 0x03c4437f, 0x02714c35, 0x025d315f, 0x01e09796, 0x03d566af, 0x02d178a9, 0x03d94c26, 0x00e2f0c7, 0x002b3521}}, Y: Field{[10]uint32{0x024f9c37, 0x03098ab1, 0x00e0f05c, 0x0290dd7e, 0x01add888, 0x018ed87a, 0x03809717, 0x0367f590, 0x0121b0a7, 0x00330ce2}}}, + {X: Field{[10]uint32{0x01a008cb, 0x0305e257, 0x03891bbe, 0x002f9705, 0x00564998, 0x003196ab, 0x034246b7, 0x0104797b, 0x03f858a9, 0x001dd2b9}}, Y: Field{[10]uint32{0x0153c61b, 0x035d3272, 0x016a8301, 0x038b7fe7, 0x01372db1, 0x01edecd9, 0x003dd56d, 0x01786409, 0x0032eb6b, 0x00366128}}}, + {X: Field{[10]uint32{0x01405aa8, 0x0377e3c6, 0x018cddee, 0x03198439, 0x01b075fb, 0x00dd2194, 0x011d205c, 0x00a22f1f, 0x03c2d975, 0x003ca1dc}}, Y: Field{[10]uint32{0x0303ed81, 0x0172d4b6, 0x0291f29b, 0x0369487e, 0x033a1a06, 0x01736bd1, 0x00212eb6, 0x002a25d6, 0x002e8d88, 0x0002ac24}}}, + {X: Field{[10]uint32{0x027e080e, 0x036f3e38, 0x0379e44a, 0x01bcf217, 0x0131e594, 0x0257fd04, 0x0065ae30, 0x03aa5969, 0x014f7d43, 0x0035e493}}, Y: Field{[10]uint32{0x02a26b58, 0x013727fd, 0x013a5c50, 0x00af625b, 0x03ea40af, 0x02331b7b, 0x0042ec22, 0x01ca9a0e, 0x0072a86c, 0x0016078a}}}, + {X: Field{[10]uint32{0x022d4a34, 0x013ea812, 0x0368766e, 0x02b9e6e5, 0x01eb9898, 0x01fab3c8, 0x020fee80, 0x01dd4290, 0x024cdb67, 0x0037bf7a}}, Y: Field{[10]uint32{0x0256eb77, 0x00667da7, 0x000f6cfb, 0x02812a57, 0x02ced1f4, 0x00aa4f6b, 0x017b0ead, 0x0145a3a6, 0x03069463, 0x0010846a}}}, + {X: Field{[10]uint32{0x00385b6c, 0x0159584e, 0x02d27747, 0x03af5fa1, 0x01f06acf, 0x0113d25e, 0x02f5cff4, 0x010f4a4f, 0x00a797a4, 0x000ad3a8}}, Y: Field{[10]uint32{0x01c09b7a, 0x00321539, 0x01763b57, 0x0031409a, 0x031a01f6, 0x02872184, 0x003083b5, 0x01764ecd, 0x03c03794, 0x00217a26}}}, + {X: Field{[10]uint32{0x01be59d5, 0x0102bbc9, 0x01071813, 0x0009c7e0, 0x001d9ad4, 0x0338cccc, 0x013fa332, 0x0049593e, 0x034a4cdd, 0x000d4aef}}, Y: Field{[10]uint32{0x0381998c, 0x034f62f3, 0x0039c67b, 0x00b9c6c4, 0x034a1b3b, 0x03768f87, 0x01c18259, 0x03d4d356, 0x00075348, 0x000c87ad}}}, + {X: Field{[10]uint32{0x02cacc3f, 0x0336b753, 0x03f29dc9, 0x037fbfd7, 0x00e42ab8, 0x0261e449, 0x03001055, 0x03446c08, 0x004d6b38, 0x000be884}}, Y: Field{[10]uint32{0x032b7d67, 0x02e9dad4, 0x02648423, 0x03b3f220, 0x00181d70, 0x02f57760, 0x00569335, 0x036196d9, 0x0068295d, 0x0000b784}}}, + {X: Field{[10]uint32{0x01453714, 0x028335fd, 0x032e269c, 0x02138255, 0x03263c3d, 0x01bb76a0, 0x021a9b06, 0x035a36ac, 0x039b09b4, 0x00249209}}, Y: Field{[10]uint32{0x03cb3402, 0x028cb3a5, 0x012ffe54, 0x00aa21e4, 0x033fc0de, 0x03a8ac7f, 0x01aa71bd, 0x02ab7974, 0x037bf234, 0x001cc05b}}}, + {X: Field{[10]uint32{0x01ee8729, 0x025b510f, 0x015c07e9, 0x00512fd8, 0x022f570e, 0x002fadd4, 0x030132fb, 0x02fc9e39, 0x032be3a8, 0x0036bb53}}, Y: Field{[10]uint32{0x00be1c55, 0x003948a4, 0x02726ab4, 0x00c3cebe, 0x003f83c2, 0x03be35c0, 0x021aca87, 0x0263a352, 0x024a7d6c, 0x0029a773}}}, + {X: Field{[10]uint32{0x0122e7db, 0x00ed7a1f, 0x001b0e6a, 0x03a7f7ca, 0x0011ecd9, 0x02ec67e4, 0x00f28d7c, 0x0204ba2b, 0x02c7065d, 0x00311344}}, Y: Field{[10]uint32{0x020e6482, 0x02418fc3, 0x021c5a03, 0x02187b7d, 0x000e106e, 0x0260bf6b, 0x0045926c, 0x01b371db, 0x0060ce32, 0x00084669}}}, + {X: Field{[10]uint32{0x0269e6b4, 0x031972f4, 0x00063b61, 0x014cdb0a, 0x03152b69, 0x03b58214, 0x01a20cfd, 0x02141322, 0x03f6dc69, 0x001a8916}}, Y: Field{[10]uint32{0x000d8a82, 0x0398d204, 0x03b6efd5, 0x01234108, 0x018b33ba, 0x005a892b, 0x03f5126f, 0x0129c22c, 0x0342c2bd, 0x003808b3}}}, + {X: Field{[10]uint32{0x010bd6a5, 0x02b95fc3, 0x01146f95, 0x002c2fb0, 0x00ce1330, 0x03950421, 0x037e3d2f, 0x03989f01, 0x03a6fd9d, 0x0005a5ff}}, Y: Field{[10]uint32{0x001b2396, 0x03a758f4, 0x00ae7ade, 0x00027926, 0x03a2cf15, 0x01155d0c, 0x0161506e, 0x01bd749d, 0x00f18680, 0x002e70e6}}}, + {X: Field{[10]uint32{0x027a7479, 0x008d17bc, 0x0361df98, 0x0183fedf, 0x019deb83, 0x020d32c3, 0x02d0f07e, 0x01c62e61, 0x03019981, 0x001816f6}}, Y: Field{[10]uint32{0x016b8c49, 0x00787a41, 0x00db43b0, 0x03a13ec5, 0x03c26bfa, 0x0325bf88, 0x0278d93e, 0x03481a06, 0x012de4f8, 0x0000a5cb}}}, + {X: Field{[10]uint32{0x007ff33d, 0x0071fa76, 0x0310cfe3, 0x00d52566, 0x00dcb01c, 0x02885784, 0x002fdc45, 0x02fd25d0, 0x01ab4150, 0x0018b453}}, Y: Field{[10]uint32{0x03b25eaf, 0x01590920, 0x0072235f, 0x00a59ead, 0x0301aa13, 0x003bb436, 0x0088a195, 0x02c04260, 0x02bd8cc5, 0x00203f01}}}, + {X: Field{[10]uint32{0x02308b6f, 0x01570be1, 0x00b425e5, 0x03d5ae6e, 0x032c50e9, 0x0102395a, 0x01b4b06c, 0x009f6b79, 0x02d0040f, 0x00203182}}, Y: Field{[10]uint32{0x030bd57a, 0x0007d590, 0x024eb1aa, 0x0132f9c0, 0x00a65eed, 0x03f9cbdc, 0x0266bad7, 0x030c3c9b, 0x003f1cc5, 0x00070e0c}}}, + {X: Field{[10]uint32{0x0203c8fb, 0x03aaec3e, 0x007049d5, 0x02521f61, 0x004cc5dc, 0x0331534d, 0x034c6348, 0x02b552a9, 0x01ad6167, 0x001ea4dd}}, Y: Field{[10]uint32{0x024dc7f7, 0x01267b08, 0x00e2b02d, 0x028431c3, 0x02bdc59e, 0x0249a411, 0x0159e0d7, 0x01c9a425, 0x03a9eca8, 0x0003438f}}}, + {X: Field{[10]uint32{0x03c3ffc9, 0x0147d166, 0x01f504bb, 0x030e6da3, 0x01bb408e, 0x01511e9e, 0x03a9ed04, 0x02d53241, 0x00d9b696, 0x00354a3b}}, Y: Field{[10]uint32{0x01409933, 0x01196d48, 0x00dbc063, 0x01017148, 0x02bc4345, 0x007f595b, 0x026f2188, 0x0397e665, 0x01253136, 0x003bb3d0}}}, + {X: Field{[10]uint32{0x00b45963, 0x00c6023e, 0x00b13872, 0x017929fb, 0x00526611, 0x023b36b4, 0x025f514e, 0x00d04ba8, 0x00a4b5f4, 0x000124dc}}, Y: Field{[10]uint32{0x02949c9a, 0x00c14a84, 0x02764b65, 0x02beed6d, 0x0254c3f3, 0x004bf58a, 0x03081b05, 0x03b50a2c, 0x0341afd6, 0x001d63cf}}}, + {X: Field{[10]uint32{0x00345d74, 0x004fac7f, 0x018e2f1c, 0x00783852, 0x03881d81, 0x0191c0bb, 0x03df930d, 0x0232ef5c, 0x00936ee8, 0x001dfc8c}}, Y: Field{[10]uint32{0x031c60d6, 0x03acf1d9, 0x037cbbe8, 0x00c365c1, 0x0096c953, 0x02e86cde, 0x008266e9, 0x02d90028, 0x002a7886, 0x002563bd}}}, + {X: Field{[10]uint32{0x0339f530, 0x0214c6dd, 0x00dbaeb2, 0x01d2ae75, 0x0258c800, 0x031f02f3, 0x004887e5, 0x0392e7a9, 0x0191cc4c, 0x003cb6b2}}, Y: Field{[10]uint32{0x003a3c37, 0x005f6e9c, 0x024fd1a1, 0x03ac1663, 0x039eb5fb, 0x03094c77, 0x021f32de, 0x0236b536, 0x009b3b2f, 0x003837b7}}}, + {X: Field{[10]uint32{0x0290d45b, 0x02921431, 0x023debcb, 0x037f276b, 0x025a216c, 0x03894804, 0x00be8fbb, 0x0087ec6d, 0x019f6626, 0x00118ecf}}, Y: Field{[10]uint32{0x02f7307e, 0x00ddec06, 0x01de31cb, 0x01f25c28, 0x03c622e2, 0x036188b5, 0x0114306d, 0x01b0d50c, 0x00d78c29, 0x0017b50c}}}, + {X: Field{[10]uint32{0x0198f247, 0x0125ad26, 0x022d1a32, 0x03050ca2, 0x036b98fa, 0x03ced665, 0x0232d4af, 0x01b8a824, 0x004244e4, 0x003c5be0}}, Y: Field{[10]uint32{0x00e31df6, 0x01e658b1, 0x00e26d65, 0x0309b973, 0x012a6c53, 0x03d38cf6, 0x01206fcd, 0x00fdf84f, 0x019b8220, 0x0033b6af}}}, + {X: Field{[10]uint32{0x011d41d1, 0x03857dc5, 0x03c65369, 0x0056b389, 0x015d2453, 0x010c46bd, 0x0352b7a1, 0x01158ec0, 0x00272dc8, 0x0032bdd5}}, Y: Field{[10]uint32{0x00a04476, 0x03e420c6, 0x032a5c32, 0x02de5888, 0x035f4fa9, 0x01791815, 0x01b643fa, 0x03d7ca90, 0x0260ef35, 0x0032d1d1}}}, + {X: Field{[10]uint32{0x03082120, 0x025ef21b, 0x017c1244, 0x001f2e1b, 0x0344a09c, 0x0265e762, 0x01d0f170, 0x02e61be1, 0x024b282c, 0x00098032}}, Y: Field{[10]uint32{0x027e4b40, 0x02fa51d6, 0x00ef44b0, 0x01d2ad7c, 0x015ac6be, 0x0376ed17, 0x013b03fc, 0x016f5a9a, 0x008753c1, 0x0010466e}}}, + {X: Field{[10]uint32{0x0198e435, 0x00a9dd1a, 0x03dc8c60, 0x0217893d, 0x0001c486, 0x0048882f, 0x00ec53cd, 0x010cb0ce, 0x0272d7e8, 0x001d8d72}}, Y: Field{[10]uint32{0x005b9c61, 0x01dbcc0b, 0x008bad9e, 0x018755c1, 0x034ecfc0, 0x03de39b5, 0x01d5e590, 0x027584f4, 0x00960948, 0x000246d9}}}, + {X: Field{[10]uint32{0x0356cc18, 0x0141d0ef, 0x028fbc1a, 0x00d1e751, 0x02b7f2b3, 0x03bba299, 0x03f4a87d, 0x015c336e, 0x0239f325, 0x001d538c}}, Y: Field{[10]uint32{0x00536683, 0x0366024f, 0x0295d0c5, 0x034065e9, 0x0023ee33, 0x013a9268, 0x00d0ed30, 0x028c3ecf, 0x0386e5bd, 0x00019cfe}}}, + {X: Field{[10]uint32{0x01d9b9e8, 0x009a51a4, 0x0152f9fe, 0x01987472, 0x00330800, 0x00b55c3c, 0x017859c8, 0x03a5abfd, 0x011071a1, 0x0038f9af}}, Y: Field{[10]uint32{0x020e37f5, 0x000abd24, 0x00c41670, 0x00e64fa4, 0x02a5a228, 0x01e68f2d, 0x000aa583, 0x039dbd03, 0x00bba394, 0x00167278}}}, + {X: Field{[10]uint32{0x004aa6eb, 0x011ff73c, 0x01f4b4cc, 0x03ccae8d, 0x01c4ccb1, 0x03dcca61, 0x02e73d88, 0x000ce09a, 0x003d056a, 0x00061ad2}}, Y: Field{[10]uint32{0x0280888b, 0x01e5fe1b, 0x038b4a4a, 0x02422544, 0x0321fb80, 0x0010602a, 0x017446e2, 0x03ddf8b8, 0x0132c67c, 0x000ee54b}}}, + {X: Field{[10]uint32{0x00e0963f, 0x00c85c93, 0x019c91a8, 0x034adcdf, 0x025442e6, 0x012f93dc, 0x0098561f, 0x01b39513, 0x00a6b987, 0x0037e75c}}, Y: Field{[10]uint32{0x02ba2417, 0x0231173c, 0x01da217b, 0x009c83be, 0x02b15722, 0x0370e752, 0x0062b785, 0x01b3357e, 0x01afd84d, 0x00157acb}}}, + {X: Field{[10]uint32{0x00ce7143, 0x019317cd, 0x018995de, 0x013e127b, 0x00ab5255, 0x0177383e, 0x03ca815d, 0x03a1e925, 0x00c23c51, 0x0017b757}}, Y: Field{[10]uint32{0x0399a868, 0x01c1aadc, 0x02905cdc, 0x030345e8, 0x00c13c66, 0x003226b4, 0x028cec03, 0x004c1987, 0x008dbc14, 0x003beba7}}}, + {X: Field{[10]uint32{0x00614fba, 0x034d8be1, 0x0317a722, 0x02870d56, 0x037aa3fb, 0x021fa79d, 0x012fe022, 0x01a0c368, 0x00c2b647, 0x000a41e6}}, Y: Field{[10]uint32{0x01943e7a, 0x000ebf50, 0x023146d0, 0x02536ca8, 0x015b29c0, 0x01e6bc97, 0x00d00bcf, 0x00188662, 0x036dcd44, 0x0038e369}}}, + {X: Field{[10]uint32{0x00053b45, 0x03f7b3bd, 0x0257362d, 0x00bf8d80, 0x01cd2955, 0x00542b0e, 0x00754efa, 0x03d6cc15, 0x023a95d9, 0x002bcf10}}, Y: Field{[10]uint32{0x018fd9c6, 0x03fb7b52, 0x01581bc2, 0x02999e85, 0x00c8cd5a, 0x00d73ed0, 0x013b0e6f, 0x00add26a, 0x03d831eb, 0x003e628f}}}, + {X: Field{[10]uint32{0x0084249a, 0x03fb5436, 0x018df8d2, 0x02c9b73e, 0x0106bb66, 0x026fc9d2, 0x00aa28c9, 0x039d1733, 0x0324d134, 0x001d9b6e}}, Y: Field{[10]uint32{0x03ac5996, 0x0093e5f2, 0x00edd2c9, 0x0197e81b, 0x0097584a, 0x00368e2e, 0x00c88798, 0x03978e37, 0x0152eacb, 0x001d12c4}}}, + {X: Field{[10]uint32{0x011abe3e, 0x00b99986, 0x02a58ce9, 0x013db165, 0x0245f7b4, 0x01e13d05, 0x01277c33, 0x01d66e88, 0x006f8c94, 0x001676fd}}, Y: Field{[10]uint32{0x02307f6e, 0x03885b12, 0x0398cd85, 0x0269e465, 0x0042ce73, 0x0120c268, 0x00ea6ce6, 0x02f0c03d, 0x0144175f, 0x00314d2b}}}, + {X: Field{[10]uint32{0x00fd87b8, 0x03718063, 0x0273cb62, 0x01c46a57, 0x00dd647e, 0x013a692a, 0x01e691e7, 0x0114dcc1, 0x0295103c, 0x003c4eb6}}, Y: Field{[10]uint32{0x02f5733d, 0x021066f6, 0x00257077, 0x0069a9d7, 0x026949e2, 0x020d07cc, 0x03f4bc80, 0x0137998e, 0x03b44ee1, 0x00384e05}}}, + {X: Field{[10]uint32{0x0288522c, 0x01540056, 0x01fb6488, 0x0301baeb, 0x00da1869, 0x01673293, 0x00167a2c, 0x033b41b5, 0x00fa0e8a, 0x001dd52d}}, Y: Field{[10]uint32{0x001163a2, 0x0122d5e1, 0x03cc537a, 0x00d42db2, 0x028d1e4e, 0x00082e3e, 0x00b967c3, 0x02760889, 0x02864e66, 0x000c3a4f}}}, + {X: Field{[10]uint32{0x02262519, 0x00a32678, 0x001d2a68, 0x02577a01, 0x0301858f, 0x02afbe75, 0x03874d46, 0x038122a8, 0x02df5990, 0x00252372}}, Y: Field{[10]uint32{0x0347d57e, 0x028b2b94, 0x031d2cbb, 0x03bef4bb, 0x01df9154, 0x012c6f09, 0x0128a322, 0x03965f57, 0x002537f6, 0x00392469}}}, + {X: Field{[10]uint32{0x017c77ab, 0x00a2a28f, 0x03a15703, 0x03d6b02f, 0x03fb224c, 0x0080bb0d, 0x007b48f8, 0x01b05a27, 0x014450c7, 0x001e5890}}, Y: Field{[10]uint32{0x01b83437, 0x03e96ca7, 0x02c5760a, 0x00147c12, 0x0312507a, 0x00fbdbda, 0x01c1fc13, 0x02d1d835, 0x010ec4ff, 0x000402d8}}}, + {X: Field{[10]uint32{0x03ec47ca, 0x0342144d, 0x0047bb0d, 0x01c896e2, 0x005a1697, 0x01364552, 0x01b16064, 0x012d52c5, 0x00783496, 0x000d4502}}, Y: Field{[10]uint32{0x02293311, 0x03456837, 0x0378b7e7, 0x01f05708, 0x006039e7, 0x03a049ff, 0x01652c48, 0x00151238, 0x03b20562, 0x003bc2be}}}, + {X: Field{[10]uint32{0x03527eaf, 0x010f4fde, 0x007b4429, 0x03ae37de, 0x0193e947, 0x0362f152, 0x01ce2c9d, 0x00f92f1e, 0x00ad6b48, 0x0034f30c}}, Y: Field{[10]uint32{0x02ede0a4, 0x00d36c13, 0x00630afb, 0x018a40d6, 0x023c2ad4, 0x03e5422b, 0x005e9be8, 0x009e3627, 0x0222d827, 0x0022cde2}}}, + {X: Field{[10]uint32{0x00847610, 0x016e83fd, 0x03649397, 0x00f6e44f, 0x032b2982, 0x03fbf822, 0x01c78fcb, 0x00a18338, 0x00478073, 0x00058936}}, Y: Field{[10]uint32{0x00078575, 0x01b8a901, 0x024c8cc0, 0x03d4a0af, 0x02896878, 0x03367532, 0x014448c6, 0x0240f824, 0x00f9b6da, 0x001a1947}}}, + {X: Field{[10]uint32{0x03c61cd4, 0x01ed3f57, 0x007da6df, 0x012d6bc8, 0x00519247, 0x00f98aa6, 0x002c9563, 0x02a289a4, 0x000da955, 0x001ccf3a}}, Y: Field{[10]uint32{0x01c5ea1d, 0x019cef07, 0x00578c54, 0x03808079, 0x023e1ef8, 0x036e7f33, 0x01a4d8b8, 0x037df521, 0x022bd2ba, 0x003d50d6}}}, + {X: Field{[10]uint32{0x001c045c, 0x01637eae, 0x02699ef2, 0x002485c7, 0x038966c5, 0x02f4ed27, 0x01a1c33b, 0x0141933c, 0x00125494, 0x00057651}}, Y: Field{[10]uint32{0x03e4070d, 0x01eefa7b, 0x00685fc3, 0x02eb3aff, 0x03434800, 0x00ee105d, 0x035137b7, 0x00f9c8d3, 0x030b6946, 0x00355bac}}}, + {X: Field{[10]uint32{0x00717940, 0x00e16674, 0x00aaaac1, 0x01f274ae, 0x031c2141, 0x0339c349, 0x012136e5, 0x0399d6d8, 0x00f2ec9d, 0x0028743f}}, Y: Field{[10]uint32{0x0197a629, 0x004b4e70, 0x033d5192, 0x029501c3, 0x02641462, 0x002599fc, 0x02907373, 0x028f2acb, 0x0350bcb5, 0x003b75df}}}, + {X: Field{[10]uint32{0x00b36980, 0x028dccc7, 0x01c06c7c, 0x037ba091, 0x01a790ba, 0x03e136fa, 0x000c0735, 0x0233315e, 0x0215c0af, 0x00388bef}}, Y: Field{[10]uint32{0x0131da06, 0x0341b5df, 0x0399be43, 0x00552591, 0x03a38289, 0x03d4e869, 0x03430a69, 0x03583222, 0x03abad5c, 0x0002a156}}}, + {X: Field{[10]uint32{0x02cfa9b3, 0x02514891, 0x02aa7400, 0x00e51c13, 0x0369635e, 0x004557d7, 0x0213473c, 0x03a3883b, 0x01dd9860, 0x000c4424}}, Y: Field{[10]uint32{0x006d8374, 0x003c2c4a, 0x02685bd8, 0x02993fbb, 0x00871ec5, 0x02301a0c, 0x011f0478, 0x03c13fff, 0x016f87d1, 0x0019b6d9}}}, + {X: Field{[10]uint32{0x02c2dbdf, 0x01f508cb, 0x00078186, 0x02d16a4d, 0x00883928, 0x00f9ab09, 0x01c0442d, 0x02fa26cc, 0x0104d301, 0x000d307f}}, Y: Field{[10]uint32{0x0273abee, 0x008615ee, 0x0043dc53, 0x03bad21d, 0x02d57f1c, 0x0005d04d, 0x03d46f73, 0x006d6552, 0x0285e97b, 0x00025051}}}, + {X: Field{[10]uint32{0x009b8d63, 0x02979ac1, 0x00affcc2, 0x02aef342, 0x028d13f3, 0x015fad0a, 0x014de5b5, 0x01c07070, 0x025d6b54, 0x003c867a}}, Y: Field{[10]uint32{0x000766d1, 0x00a58a90, 0x03fb8d8c, 0x00f01ec9, 0x01f4b08d, 0x03333dac, 0x03af4544, 0x0102c3dc, 0x0157e83d, 0x00132e56}}}, + {X: Field{[10]uint32{0x01a0b448, 0x01a4491a, 0x02708723, 0x0242f298, 0x02543a54, 0x03d17789, 0x03683db8, 0x03eeaac7, 0x000f74a8, 0x0035ee1d}}, Y: Field{[10]uint32{0x02a4593b, 0x0380c57a, 0x009b3411, 0x017b4f01, 0x02ff15db, 0x02b51c5f, 0x0010f337, 0x0324bb84, 0x028128d9, 0x003e9de5}}}, + {X: Field{[10]uint32{0x02a824bf, 0x0134c246, 0x014289fe, 0x00caaf76, 0x02ad5bcd, 0x00e8ccd7, 0x02f7c98d, 0x01bc3be1, 0x00222f8f, 0x000cb4c7}}, Y: Field{[10]uint32{0x022e1661, 0x03452e11, 0x02961118, 0x0279bc9b, 0x022e6dac, 0x016e7876, 0x00d3d791, 0x015b8e73, 0x02f58921, 0x0017cc0c}}}, + {X: Field{[10]uint32{0x018347b5, 0x03e1b2f0, 0x012c4340, 0x01f35656, 0x028793d7, 0x03660c7a, 0x0045a155, 0x02cc99c4, 0x0371914a, 0x001d187c}}, Y: Field{[10]uint32{0x00092ff6, 0x0211ecf3, 0x02ea6b39, 0x03d43261, 0x002eee1f, 0x02a91095, 0x01ddcae0, 0x02fb032f, 0x02238b96, 0x0023b02e}}}, + {X: Field{[10]uint32{0x03b2b2d6, 0x01a62eb5, 0x0053d287, 0x00b0f99d, 0x026d716b, 0x028e081a, 0x0356a25a, 0x021801d0, 0x02db1df1, 0x003b81e6}}, Y: Field{[10]uint32{0x001c8c1e, 0x02b11e7b, 0x00e25eba, 0x026bc131, 0x02a44698, 0x03317e7d, 0x01f37e0e, 0x02f97131, 0x012aafe3, 0x00237090}}}, + {X: Field{[10]uint32{0x029da6b5, 0x036185ae, 0x01dc72bf, 0x00c61d32, 0x03e65de3, 0x03b9883d, 0x03b18302, 0x020fc119, 0x03e447ec, 0x0005bb24}}, Y: Field{[10]uint32{0x01b0674d, 0x019de389, 0x01713962, 0x01a94392, 0x039d5818, 0x02960128, 0x028c2a7c, 0x03ed0343, 0x01150e62, 0x0017918c}}}, + {X: Field{[10]uint32{0x0137bd99, 0x02581975, 0x02aa485b, 0x025fe62d, 0x03d88558, 0x03e9c2da, 0x0178290a, 0x03dbc0e2, 0x0180c245, 0x003aa97e}}, Y: Field{[10]uint32{0x02dc07dc, 0x00104093, 0x0267fb18, 0x0275f9ba, 0x00d78486, 0x03265189, 0x02528391, 0x00b82066, 0x013e292c, 0x003d97d7}}}, + {X: Field{[10]uint32{0x01a49f51, 0x0312dacd, 0x0342ea96, 0x021dc544, 0x0158ae04, 0x028090e6, 0x02ee1910, 0x0304c9a4, 0x0007544a, 0x0001e325}}, Y: Field{[10]uint32{0x00a3ddb4, 0x019d7c65, 0x00d2462b, 0x0160f019, 0x00fa1fbd, 0x00e6979a, 0x00047955, 0x026e1755, 0x019169eb, 0x003cf80c}}}, + {X: Field{[10]uint32{0x002857a5, 0x015e365c, 0x00688726, 0x02b9e9bf, 0x0001cdc8, 0x00c6ba80, 0x01cd8384, 0x029dc05b, 0x03e219a1, 0x001253d2}}, Y: Field{[10]uint32{0x000d562c, 0x012c0c62, 0x02d6e55f, 0x00c35d9f, 0x02f925ce, 0x038dae8a, 0x03a7f075, 0x0297cce6, 0x02969283, 0x0010890a}}}, + {X: Field{[10]uint32{0x001fe9b5, 0x03079997, 0x0270ebf4, 0x03a963ea, 0x01d28211, 0x0113a952, 0x007f2f51, 0x0361b1af, 0x00030da6, 0x0029662a}}, Y: Field{[10]uint32{0x01864e6b, 0x009b6f4b, 0x0386a100, 0x02d96cd7, 0x0023fc63, 0x001cdebb, 0x00b4a714, 0x00b0c1f9, 0x016f8482, 0x000812d7}}}, + {X: Field{[10]uint32{0x00595997, 0x02b70f96, 0x00a184db, 0x003c495c, 0x00208f02, 0x036fabfb, 0x0192f5f2, 0x00ad7424, 0x02365abb, 0x00310645}}, Y: Field{[10]uint32{0x00fa9913, 0x01ba5ad6, 0x03fc0ed1, 0x01143cd2, 0x01d5caf9, 0x02261262, 0x01245b32, 0x01fbe927, 0x0351d008, 0x00013c50}}}, + {X: Field{[10]uint32{0x00742881, 0x01ce9545, 0x02acfe4c, 0x034b828d, 0x0392a2e0, 0x0280ef16, 0x0324604d, 0x03e91d69, 0x0063a586, 0x00210758}}, Y: Field{[10]uint32{0x028d6154, 0x00db7806, 0x0169ce7a, 0x0359d130, 0x00e62562, 0x01d50da6, 0x004f9a1c, 0x0167a064, 0x03f59c06, 0x0001ce19}}}, + {X: Field{[10]uint32{0x030e20d5, 0x004ab135, 0x03e4ded1, 0x020424a2, 0x03282b33, 0x0226f78b, 0x0026947f, 0x01c74dd8, 0x03399a69, 0x0017a56e}}, Y: Field{[10]uint32{0x02012865, 0x00e131d1, 0x0238b161, 0x03b5f62e, 0x01a99c9a, 0x004c4ddd, 0x03fc7118, 0x00216fba, 0x03366809, 0x000e7c8f}}}, + {X: Field{[10]uint32{0x00ef2f66, 0x011c6f28, 0x01d8bf99, 0x0192d4c5, 0x025ec075, 0x027f65d3, 0x0039f8a9, 0x023f51db, 0x001a5394, 0x000db919}}, Y: Field{[10]uint32{0x014c78fc, 0x01473d5a, 0x023e06fd, 0x0124ff55, 0x0056ea13, 0x01726aa5, 0x00227b08, 0x013ae059, 0x031b1abe, 0x00349092}}}, + {X: Field{[10]uint32{0x0179f726, 0x02c9f0b1, 0x0114faea, 0x01085c3a, 0x00f56438, 0x0141e907, 0x00191a2f, 0x02eeca43, 0x001ea7bf, 0x0000cd96}}, Y: Field{[10]uint32{0x02fda224, 0x03372af4, 0x01e0ef3d, 0x00504334, 0x0391f7ab, 0x01b95acc, 0x0252129b, 0x0386fa64, 0x0168595f, 0x003ab448}}}, + {X: Field{[10]uint32{0x03d43ede, 0x01d09c1a, 0x010c4849, 0x0097b5a2, 0x00037810, 0x03c03b21, 0x032634fc, 0x035ada87, 0x0016dadf, 0x0022ae26}}, Y: Field{[10]uint32{0x01cdd24e, 0x011ea44a, 0x0045858a, 0x0270fa26, 0x03503d45, 0x018904db, 0x02654aef, 0x03428113, 0x0309f2f6, 0x001bf73b}}}, + {X: Field{[10]uint32{0x00c5fb94, 0x0100a12e, 0x032544bb, 0x023a2b3f, 0x0220b093, 0x00a67f2a, 0x033344d9, 0x0315de04, 0x01a746c9, 0x00078cfc}}, Y: Field{[10]uint32{0x03f3b3b6, 0x029f4815, 0x03010e33, 0x0083c740, 0x032306d3, 0x03493b7f, 0x008ed618, 0x006ceaa7, 0x00257dd1, 0x00018198}}}, + {X: Field{[10]uint32{0x00f08f31, 0x000d87f6, 0x00fcfa41, 0x0330632f, 0x020ed1f4, 0x01e77482, 0x03f30ded, 0x0306dfb9, 0x01dcb3ce, 0x00216df0}}, Y: Field{[10]uint32{0x02999511, 0x03b4f0d7, 0x02633c6f, 0x0062575e, 0x00fcafad, 0x02a211fd, 0x01048f25, 0x03750fce, 0x01cdd026, 0x000f662a}}}, + {X: Field{[10]uint32{0x01ac5f51, 0x00a00198, 0x03af872a, 0x00ee1e29, 0x017fbe9a, 0x0175b517, 0x035f4b12, 0x01194249, 0x03bd8d9e, 0x000a77e7}}, Y: Field{[10]uint32{0x0227d84b, 0x021dbaca, 0x01e55cd2, 0x02187006, 0x03da61dc, 0x01e44e7f, 0x02d88621, 0x016981b8, 0x03e99c77, 0x0002d313}}}, + {X: Field{[10]uint32{0x01fce252, 0x00acb912, 0x0105c808, 0x028bdda0, 0x03dfe58c, 0x02abe2b7, 0x02a6e671, 0x0211e8ff, 0x02e06b0a, 0x00282c72}}, Y: Field{[10]uint32{0x02296cf2, 0x0012540e, 0x030e650f, 0x0060d2bf, 0x026b72da, 0x01e9a8a3, 0x00b19d91, 0x002563b1, 0x0102edde, 0x002b90d0}}}, + {X: Field{[10]uint32{0x00e121e5, 0x00fcb930, 0x03e4ba11, 0x02cec84c, 0x01b499df, 0x03a100a5, 0x01c7ff67, 0x03a684db, 0x02afb9b3, 0x00013a33}}, Y: Field{[10]uint32{0x0326683c, 0x01f398a8, 0x00502b82, 0x01a98d18, 0x01422c08, 0x0133971e, 0x008f6d53, 0x01b5e92d, 0x00118c8b, 0x0033c85d}}}, + {X: Field{[10]uint32{0x0389a33b, 0x01c970ad, 0x00919f42, 0x01a26804, 0x000a5076, 0x028bda42, 0x03b81c7c, 0x026dbd6b, 0x00e047e1, 0x00349291}}, Y: Field{[10]uint32{0x03ea8fa3, 0x03b105eb, 0x0244d2cd, 0x01a21ee0, 0x01013f99, 0x0303c71a, 0x03db50f1, 0x01be3f18, 0x01591b46, 0x001bee35}}}, + {X: Field{[10]uint32{0x023b35d4, 0x013a63a3, 0x0377b510, 0x00a2aeea, 0x00001edd, 0x032e6561, 0x01fdfcfa, 0x02737492, 0x006a7a6c, 0x003a8058}}, Y: Field{[10]uint32{0x023ea98d, 0x01948622, 0x03700cfd, 0x012f0a08, 0x01b7d449, 0x01e9ecf3, 0x03fe369f, 0x004ac33e, 0x00908c73, 0x000c8abd}}}, + {X: Field{[10]uint32{0x00e2131f, 0x0065b7a3, 0x031be4ad, 0x036317a8, 0x01252007, 0x03ae5994, 0x02328655, 0x007229b1, 0x01bf2b66, 0x002be2b7}}, Y: Field{[10]uint32{0x01749700, 0x03ef36dc, 0x02ac8f3d, 0x021a0389, 0x03252081, 0x0025a0da, 0x0034eafd, 0x0217d4a8, 0x027c029b, 0x0019d279}}}, + {X: Field{[10]uint32{0x00f45889, 0x03c38d14, 0x0215e722, 0x036af3f2, 0x01a674a3, 0x0383ec59, 0x00516d47, 0x01b281b3, 0x02197456, 0x000038eb}}, Y: Field{[10]uint32{0x030bd6a4, 0x0029cbba, 0x01f53342, 0x0121d3e0, 0x000de97e, 0x03d341cc, 0x0217f07b, 0x01440458, 0x027e4531, 0x000abaaf}}}, + {X: Field{[10]uint32{0x0397e246, 0x03aa33b4, 0x00802075, 0x03cfb496, 0x0301993f, 0x03b478f8, 0x036993ff, 0x0265c873, 0x0355313d, 0x001647b8}}, Y: Field{[10]uint32{0x03e5d196, 0x0263c692, 0x022bdeee, 0x014f4972, 0x001ff0b0, 0x011831e4, 0x00fc4775, 0x00c2fa98, 0x018a113c, 0x002c3a95}}}, + {X: Field{[10]uint32{0x01b52984, 0x033c0c95, 0x00945077, 0x0391ec21, 0x01fa8584, 0x02363698, 0x01aa9731, 0x013127c6, 0x0155fda5, 0x00044e5b}}, Y: Field{[10]uint32{0x03ea57a4, 0x019efaa4, 0x03be4c57, 0x02c06c95, 0x004ff536, 0x01efad1d, 0x01d5833a, 0x02b004a2, 0x00a8cd45, 0x0026631d}}}, + {X: Field{[10]uint32{0x0017aa7a, 0x010055f8, 0x00b64055, 0x0151a1d5, 0x038dcdfd, 0x02783102, 0x0000738c, 0x01685e40, 0x021ba39c, 0x000f174a}}, Y: Field{[10]uint32{0x001bd257, 0x01e72932, 0x00f6661f, 0x027f749c, 0x000f9b8b, 0x01bf062e, 0x014de739, 0x00d38be7, 0x0279995a, 0x002c8a10}}}, + {X: Field{[10]uint32{0x013cc030, 0x03be285e, 0x00078425, 0x02bec12b, 0x03fbc395, 0x027cba70, 0x0299a729, 0x0037be8e, 0x00b8a60a, 0x003321c1}}, Y: Field{[10]uint32{0x001f1b13, 0x02dd38eb, 0x01c4e940, 0x013f12f3, 0x00f395b7, 0x02cd1fe3, 0x01e0862d, 0x005e2074, 0x0039feed, 0x002f7518}}}, + {X: Field{[10]uint32{0x0089b197, 0x010466ca, 0x02e7ea20, 0x03f3314f, 0x017dd4de, 0x032b4a6e, 0x01777ac5, 0x0156ab36, 0x00f7ea85, 0x00314cf9}}, Y: Field{[10]uint32{0x03596096, 0x0383d17a, 0x03a26bb8, 0x02ed292c, 0x02d9b925, 0x03c690e8, 0x02fb6242, 0x037d0a68, 0x016bc5ef, 0x001bc289}}}, + {X: Field{[10]uint32{0x03da6593, 0x01b5238c, 0x03bbcf56, 0x00d3bb01, 0x0269ba8c, 0x000f325a, 0x01f6d08d, 0x01f5bc42, 0x00f2ccb2, 0x0003053e}}, Y: Field{[10]uint32{0x03dc3a38, 0x02192444, 0x035e6c0e, 0x03742601, 0x0075b740, 0x03f870a1, 0x00473e16, 0x0263dff5, 0x02923bb3, 0x0030d675}}}, + {X: Field{[10]uint32{0x0390e6ef, 0x007dcb82, 0x0321ce44, 0x03b5d7e3, 0x024c9739, 0x0285c456, 0x0024789f, 0x029142eb, 0x03046bc6, 0x0029b2f0}}, Y: Field{[10]uint32{0x03fa9b9f, 0x00abf585, 0x00313986, 0x01cf1c18, 0x0360ceb5, 0x0303e568, 0x030619e2, 0x02226ec4, 0x03f4680e, 0x000086b9}}}, + {X: Field{[10]uint32{0x0143cc38, 0x02ce7e67, 0x01ce6344, 0x00099f44, 0x03130a3c, 0x0166c72b, 0x03b86c13, 0x02249faf, 0x019a02c4, 0x000d1f5b}}, Y: Field{[10]uint32{0x01c74448, 0x027fc78c, 0x00cb1268, 0x02da1e1c, 0x006d565a, 0x03b24bc2, 0x0187f6ec, 0x01493472, 0x0361a353, 0x00183a9f}}}, + {X: Field{[10]uint32{0x0372656a, 0x03bdd0de, 0x008cf855, 0x02c6fcc7, 0x02d47c67, 0x017bd619, 0x037dcb37, 0x02e3660f, 0x01d2181d, 0x00369951}}, Y: Field{[10]uint32{0x03dc208a, 0x02a092dd, 0x03d897fe, 0x006d24d6, 0x01667305, 0x015a0317, 0x038f07ce, 0x01e29e79, 0x0315ab68, 0x00126e59}}}, + {X: Field{[10]uint32{0x03eb1111, 0x016652e3, 0x03146b9d, 0x02517595, 0x03ec25d6, 0x00271b79, 0x03b81483, 0x00b2c684, 0x03cc9d01, 0x003101d1}}, Y: Field{[10]uint32{0x020fa2d4, 0x03a0c0df, 0x014e1bb5, 0x0055ae54, 0x025db936, 0x032d2255, 0x01e6caf2, 0x0284bf1b, 0x00753be2, 0x00172958}}}, + {X: Field{[10]uint32{0x037f3502, 0x000fbd00, 0x03d34c82, 0x01c4cd22, 0x00338c7f, 0x03a1c39e, 0x033a610b, 0x025e6333, 0x00ec82c9, 0x001390b2}}, Y: Field{[10]uint32{0x03606437, 0x0111cda4, 0x03cc40a9, 0x01133152, 0x01a54921, 0x01de0cd0, 0x028b33a0, 0x03ee4a9e, 0x034ee5e0, 0x001d5c75}}}, + {X: Field{[10]uint32{0x030dedea, 0x008a86ce, 0x03432875, 0x036c3219, 0x02d251ca, 0x03dc2c8d, 0x02ba2e1a, 0x01abe08e, 0x037089bc, 0x000ddd6a}}, Y: Field{[10]uint32{0x01018cf7, 0x03658502, 0x02a2c42a, 0x01efde9d, 0x03ac8db1, 0x00a33e9f, 0x039736a8, 0x002762f2, 0x0107bcfa, 0x002f94b4}}}, + {X: Field{[10]uint32{0x02f74e26, 0x01678fa0, 0x03a88469, 0x01744c52, 0x02d95459, 0x034f5dd6, 0x014fb814, 0x03b0de76, 0x00bf7e34, 0x0033b8c7}}, Y: Field{[10]uint32{0x003b1c6d, 0x01228071, 0x014d80f4, 0x002f853b, 0x020149ef, 0x02f3dafe, 0x03947ae2, 0x0162709a, 0x0214c06b, 0x0023f592}}}, + {X: Field{[10]uint32{0x00b47986, 0x00680742, 0x02befcdc, 0x03f516c7, 0x02fddb58, 0x03ad5193, 0x036ea6a4, 0x0245d867, 0x02ea09b6, 0x002d3e7a}}, Y: Field{[10]uint32{0x0200682a, 0x02a2b01c, 0x0142eb24, 0x03004b29, 0x038bb131, 0x03185c9b, 0x033a4f18, 0x0152c1d0, 0x01925b5a, 0x000e7972}}}, + {X: Field{[10]uint32{0x02bcc60e, 0x0241de4b, 0x00cc1b77, 0x016bf0f7, 0x0284e251, 0x019b4c33, 0x0179a489, 0x03e48e80, 0x01fc3d2d, 0x0035098f}}, Y: Field{[10]uint32{0x02208d54, 0x0193848a, 0x00f7fae1, 0x01d82b5b, 0x0189e127, 0x01614f38, 0x0230d629, 0x023facc3, 0x0307a0f7, 0x0018b7eb}}}, + {X: Field{[10]uint32{0x017612c4, 0x00fbb6a2, 0x01e42223, 0x0302928b, 0x000032ac, 0x024c215f, 0x00d35eb6, 0x0299693e, 0x0124820f, 0x0012115d}}, Y: Field{[10]uint32{0x01bd0f77, 0x01daaa92, 0x00a9ae7a, 0x01f6cb58, 0x03dc6cc0, 0x03e870b9, 0x033c38a1, 0x01e7661c, 0x00ab3679, 0x000969d2}}}, + {X: Field{[10]uint32{0x011cceda, 0x0285d9f0, 0x0123f367, 0x0246454a, 0x02045e19, 0x00abf7f0, 0x01644f3a, 0x007cb2c4, 0x03188110, 0x0037fbbb}}, Y: Field{[10]uint32{0x029a7517, 0x020eb826, 0x03dff16a, 0x039d2d2e, 0x00c390bd, 0x0259e4f0, 0x0020bab3, 0x03810be5, 0x0056cf1d, 0x003b3edc}}}, + {X: Field{[10]uint32{0x00fae859, 0x00b7e0ee, 0x00ed36c8, 0x02f1818b, 0x035d89bc, 0x007ce260, 0x0173f44e, 0x03e0dcf1, 0x02b17543, 0x001b5fbd}}, Y: Field{[10]uint32{0x02712d10, 0x02c64372, 0x000bbf74, 0x02566cb6, 0x00c521a0, 0x01ffaa6f, 0x02fa10c5, 0x02261b7f, 0x02c33543, 0x00335143}}}, + {X: Field{[10]uint32{0x0204541f, 0x0096bd9b, 0x007035af, 0x024c8955, 0x03f3c88b, 0x02647cb8, 0x00500d3b, 0x029689a1, 0x01d59102, 0x0039d581}}, Y: Field{[10]uint32{0x03fad125, 0x0026438a, 0x00693836, 0x0314c22c, 0x014f729a, 0x0211cf8c, 0x039b4872, 0x007b9502, 0x0354a8f7, 0x003d7151}}}, + {X: Field{[10]uint32{0x01ed620c, 0x010ffbec, 0x008457dd, 0x0182af8e, 0x019a0c2e, 0x014082f2, 0x02be453d, 0x03ea81a8, 0x020f4c4d, 0x003ae619}}, Y: Field{[10]uint32{0x0099223e, 0x03d10400, 0x0131ce85, 0x022a5044, 0x00a0a7cd, 0x0349b348, 0x009af3ad, 0x02e14818, 0x00876d9c, 0x001b2e6a}}}, + {X: Field{[10]uint32{0x00dba942, 0x0158f8ee, 0x00336dc3, 0x01a50622, 0x02215459, 0x024ac664, 0x039f2e68, 0x00534d64, 0x03027d85, 0x0004fa1e}}, Y: Field{[10]uint32{0x02b8adf1, 0x00355591, 0x02beb257, 0x0295a35a, 0x02ac2b9d, 0x02fc7a46, 0x01624114, 0x029b7b17, 0x03c68059, 0x003fbd68}}}, + {X: Field{[10]uint32{0x01e5764a, 0x011245a4, 0x0308e7bf, 0x00dc7389, 0x0125424b, 0x016f9bf0, 0x0038f06a, 0x01bf805f, 0x0026e9fd, 0x003b858c}}, Y: Field{[10]uint32{0x016c62b2, 0x00c3682b, 0x02623e54, 0x03e856e5, 0x00f49ae3, 0x01c343d6, 0x0194ccc6, 0x0358710f, 0x010f255d, 0x0006b2c9}}}, + {X: Field{[10]uint32{0x03af3d80, 0x00b976cc, 0x02799993, 0x010d4161, 0x031e626d, 0x030b7226, 0x01e3a750, 0x007935e3, 0x01ef9ad5, 0x002c9a3d}}, Y: Field{[10]uint32{0x0216e423, 0x03a51684, 0x01614003, 0x013f5064, 0x018cf0d3, 0x03077b80, 0x01f77d41, 0x02e7aec6, 0x014b3c99, 0x0017cc43}}}, + {X: Field{[10]uint32{0x03c4750d, 0x03ff6ea4, 0x02ea3bf7, 0x0072a673, 0x002b02f0, 0x01b1eff9, 0x03ad85eb, 0x03c0d7a7, 0x03118a9d, 0x003fc1fc}}, Y: Field{[10]uint32{0x02d1f0d8, 0x00342633, 0x02ddd474, 0x0084538b, 0x01c1d294, 0x03b32eb7, 0x00440c38, 0x01628e97, 0x02d603e8, 0x0010e04d}}}, + {X: Field{[10]uint32{0x02b526a1, 0x03a30f38, 0x01ebec16, 0x02783609, 0x02a4b9f6, 0x03ed962f, 0x006fd20f, 0x014a8d05, 0x0055c7c0, 0x002362e6}}, Y: Field{[10]uint32{0x03036758, 0x00b9fd18, 0x03ceb30e, 0x03fb9475, 0x004bcf50, 0x0213a935, 0x03af44fb, 0x01e7e49a, 0x01eedc2d, 0x00336d56}}}, + {X: Field{[10]uint32{0x01a32b63, 0x0098c603, 0x031eba54, 0x033b2a46, 0x03e4b851, 0x01eb89b7, 0x029d472d, 0x02fc16fe, 0x035384df, 0x0014b6c2}}, Y: Field{[10]uint32{0x00a7b375, 0x012da761, 0x0279de92, 0x0240a1d5, 0x03b3180c, 0x01b6e7d5, 0x02baf66a, 0x0397508f, 0x017d050e, 0x00030ee6}}}, + {X: Field{[10]uint32{0x03d43352, 0x0150efb2, 0x008c6fff, 0x030fcfe9, 0x007d0f29, 0x02024673, 0x01efd24e, 0x007698e5, 0x0090d3d5, 0x00398be5}}, Y: Field{[10]uint32{0x00cafa7d, 0x001eff67, 0x02f5170e, 0x01647c76, 0x02f342c8, 0x031a0a18, 0x002ca280, 0x01ac2c8b, 0x017ba487, 0x001b626b}}}, + {X: Field{[10]uint32{0x02ab1193, 0x039f596a, 0x014fd6d8, 0x03d72dec, 0x011afa2f, 0x03ddf406, 0x03509c88, 0x0266d255, 0x022476b3, 0x001fcc3a}}, Y: Field{[10]uint32{0x037acaec, 0x03d2ffd8, 0x03e9880e, 0x02d9ec40, 0x01daff7b, 0x03d8c47a, 0x015389a5, 0x032530ec, 0x03d4b231, 0x003297bd}}}, + {X: Field{[10]uint32{0x000b7a00, 0x0280d860, 0x01d9ac60, 0x02d28774, 0x03ef0fb7, 0x029b240f, 0x02210fad, 0x0053ed1a, 0x031e1d9f, 0x0014263f}}, Y: Field{[10]uint32{0x0117ddc0, 0x016c4cbf, 0x03e5362a, 0x01035837, 0x02b3ee1b, 0x01d50801, 0x00d37c6e, 0x0323e021, 0x0141d81f, 0x00025cc4}}}, + {X: Field{[10]uint32{0x0378ad58, 0x00b20789, 0x01c96b9f, 0x03333911, 0x02e2f3c4, 0x0272fbe9, 0x0095be6b, 0x0144a9ca, 0x007de9ee, 0x000cade3}}, Y: Field{[10]uint32{0x00c8753c, 0x01c8dde5, 0x0275ba49, 0x0151eb88, 0x0073bb80, 0x038a0983, 0x03c3896e, 0x01c78cbb, 0x01f513df, 0x003b8612}}}, + {X: Field{[10]uint32{0x0147a4f7, 0x01605541, 0x01fc074b, 0x03c209a7, 0x00e37d50, 0x01f1cac3, 0x036eef2a, 0x027ef341, 0x00fddc8e, 0x0038b2dd}}, Y: Field{[10]uint32{0x005cc4a4, 0x006af2c0, 0x012be864, 0x038d848b, 0x03addea9, 0x01cdbac2, 0x022df062, 0x034891e9, 0x02d71c9d, 0x0034ea8b}}}, + {X: Field{[10]uint32{0x010ae3a8, 0x00366734, 0x00b141be, 0x00d7c8d7, 0x0026009a, 0x01aacd5d, 0x01c29949, 0x035efb6b, 0x007566d4, 0x00210e11}}, Y: Field{[10]uint32{0x02dd791f, 0x00109acb, 0x01c4f239, 0x01e4198c, 0x0334ef0d, 0x01ab4cc1, 0x0101ac5e, 0x00293697, 0x02091698, 0x00313840}}}, + {X: Field{[10]uint32{0x0311d67e, 0x019720b1, 0x00b878ab, 0x0311bd98, 0x030587d9, 0x01b0c221, 0x0184c6fc, 0x00080e6d, 0x0088b894, 0x001058b5}}, Y: Field{[10]uint32{0x00852649, 0x011eb968, 0x0295dbda, 0x00ae12d3, 0x03c1732f, 0x03ee28eb, 0x02f22c25, 0x00a27ddd, 0x02903236, 0x0019c58f}}}, + {X: Field{[10]uint32{0x035f683d, 0x02e9292f, 0x010684f3, 0x01ebb0f9, 0x00175d76, 0x0373d53f, 0x0389bfd2, 0x003cd3c3, 0x03a84caf, 0x000feb4f}}, Y: Field{[10]uint32{0x03e61826, 0x0083bf37, 0x012a53fa, 0x01cb9f43, 0x030cf718, 0x031c629c, 0x030ca647, 0x0101eecb, 0x007cb6cc, 0x0003346f}}}, + {X: Field{[10]uint32{0x02b1a86b, 0x0254cbeb, 0x0398f1c6, 0x02fc4dc1, 0x02c1fb84, 0x00174205, 0x00c1a7ce, 0x01e8015a, 0x0200a300, 0x0019d3c9}}, Y: Field{[10]uint32{0x020d38a5, 0x03bb31a7, 0x02259e09, 0x03682c60, 0x0370db57, 0x00011602, 0x0343b257, 0x00cecfb7, 0x01f9413f, 0x000a6748}}}, + {X: Field{[10]uint32{0x02e9f08f, 0x034a6f57, 0x00bcff87, 0x031a49c5, 0x023d82d6, 0x007ecec9, 0x01b815ad, 0x01d2aee0, 0x01a54ade, 0x0034cbd3}}, Y: Field{[10]uint32{0x033eea87, 0x0105a442, 0x01d582fc, 0x0114d4d6, 0x0382e14f, 0x00165c1d, 0x0299016c, 0x014ee5a3, 0x02738b8e, 0x003e50a7}}}, + {X: Field{[10]uint32{0x03ce3ff6, 0x02553c78, 0x008cb1ed, 0x00c7dcac, 0x036fbb69, 0x00d61174, 0x01936571, 0x021555b9, 0x02704353, 0x000c3939}}, Y: Field{[10]uint32{0x0388db7b, 0x0169567a, 0x0340dc69, 0x00d769c1, 0x010a878d, 0x00eef26c, 0x01935011, 0x02618e12, 0x03ce6198, 0x00118be6}}}, + {X: Field{[10]uint32{0x00cad297, 0x01c6c135, 0x0180bf19, 0x0042c079, 0x027f3dcd, 0x00c3937b, 0x02829043, 0x0330c011, 0x02003c51, 0x002f8818}}, Y: Field{[10]uint32{0x01ccb9bc, 0x0163b5cb, 0x002a0d55, 0x0242415a, 0x01b1c610, 0x01387195, 0x033d48a7, 0x03950a15, 0x03c49d61, 0x00188622}}}, + {X: Field{[10]uint32{0x035df04a, 0x026167ff, 0x01993c41, 0x0298077d, 0x01cb6e84, 0x030abc84, 0x01e0fb9a, 0x01147b4a, 0x0023ace3, 0x0024c511}}, Y: Field{[10]uint32{0x0037b47c, 0x00a9b44c, 0x039d1d90, 0x0093dcae, 0x00f10652, 0x01e6480e, 0x031a3f9d, 0x01097d71, 0x03b164c3, 0x001f0437}}}, + {X: Field{[10]uint32{0x017b112c, 0x01906305, 0x012a7cb6, 0x00171edf, 0x01978292, 0x030d3ee0, 0x01ca26d6, 0x032f73c8, 0x00044f5f, 0x002c057e}}, Y: Field{[10]uint32{0x023a1d5f, 0x03a85153, 0x008c1d3a, 0x01bea8c2, 0x003b3cdc, 0x037e357e, 0x00a655b2, 0x03a04dd1, 0x02086d04, 0x002ae307}}}, + {X: Field{[10]uint32{0x01a21b52, 0x03cabcd0, 0x000d36b3, 0x03795e85, 0x024f8a18, 0x0291968e, 0x00868117, 0x025f6279, 0x01da649d, 0x00357a78}}, Y: Field{[10]uint32{0x0327447a, 0x017a164b, 0x0080d895, 0x01708901, 0x03169346, 0x03537436, 0x01a13cc1, 0x03b5cc44, 0x0037f391, 0x00132c11}}}, + {X: Field{[10]uint32{0x036966bb, 0x0294c5b4, 0x02d6f996, 0x0335cb85, 0x01983005, 0x02e6490e, 0x03f8ed77, 0x03281976, 0x01047dd7, 0x0034eb90}}, Y: Field{[10]uint32{0x0125ac46, 0x00370534, 0x00a614b1, 0x035f7c2b, 0x0164f8cd, 0x0105f1b6, 0x010f0303, 0x03aec8a8, 0x0321ad22, 0x002f46ba}}}, + {X: Field{[10]uint32{0x0097b065, 0x002be1f2, 0x037b49f8, 0x002a0b8d, 0x0087197d, 0x02003c29, 0x026cdd22, 0x03e563f1, 0x0363d885, 0x00118f89}}, Y: Field{[10]uint32{0x02f7ca7f, 0x026499c7, 0x03508b79, 0x0187ef25, 0x0326b80c, 0x0137818a, 0x03a311a9, 0x003f5f7c, 0x00db0e5d, 0x002ffbeb}}}, + {X: Field{[10]uint32{0x00641917, 0x0377f244, 0x0347c83c, 0x03102ff9, 0x0158e597, 0x02d8fb0c, 0x0353ec1b, 0x00159f1b, 0x01fd127c, 0x001e617f}}, Y: Field{[10]uint32{0x0332ed03, 0x016f559f, 0x0308703a, 0x00783b19, 0x0124ed29, 0x038a26bb, 0x0325fe1d, 0x0218bbca, 0x02daf3d9, 0x00180f04}}}, + {X: Field{[10]uint32{0x027703e9, 0x03c550f6, 0x02d0ed5f, 0x0272e0f4, 0x019e74c5, 0x003ab1fe, 0x01d24941, 0x038e76cb, 0x016b5f76, 0x001d286b}}, Y: Field{[10]uint32{0x00e0db08, 0x00dff5e4, 0x00c33d57, 0x01a250ba, 0x00093e09, 0x00c6efa8, 0x0193d836, 0x0318f358, 0x03ef18c9, 0x00331855}}}, + {X: Field{[10]uint32{0x022f6da3, 0x034225ac, 0x03463a71, 0x00b1c9d1, 0x03c9bab4, 0x02e866df, 0x01416664, 0x01d7d80b, 0x02507033, 0x000c1a0a}}, Y: Field{[10]uint32{0x03a22ff8, 0x0053665d, 0x0273f177, 0x0383c672, 0x036290d0, 0x00c474c5, 0x00f39e7f, 0x02d3e9b2, 0x00f6b018, 0x00154f81}}}, + {X: Field{[10]uint32{0x0369ef57, 0x01b04d1d, 0x0352b1ee, 0x00ac9193, 0x03654e7a, 0x03e9e565, 0x03791efe, 0x0357c9b0, 0x00f0d7c0, 0x00278856}}, Y: Field{[10]uint32{0x01008373, 0x03efc98a, 0x038509e2, 0x023bcd68, 0x029ffd7c, 0x03e9dd8b, 0x003a3481, 0x014fc240, 0x00dd1b90, 0x0001c4bf}}}, + {X: Field{[10]uint32{0x02327d66, 0x0215fcef, 0x03ce7322, 0x019b8f13, 0x028172e5, 0x00094e30, 0x024029c2, 0x03273fae, 0x02989a43, 0x0005db89}}, Y: Field{[10]uint32{0x03a4b1c3, 0x01e0d307, 0x009ee7b4, 0x007d3bb8, 0x019aefd3, 0x023710f0, 0x0270b487, 0x03ae1df4, 0x01d04b29, 0x003b6332}}}, + {X: Field{[10]uint32{0x00374da8, 0x011e2314, 0x00f1b700, 0x00e4f7f1, 0x02cf1892, 0x00eb5d1f, 0x02bb89a1, 0x0079b9a2, 0x02fea377, 0x001d751b}}, Y: Field{[10]uint32{0x02a6bed8, 0x011c9961, 0x02e1a3ca, 0x008544d1, 0x00d7efc2, 0x02ce6a1a, 0x00b86fd2, 0x01d9e7f4, 0x010a9950, 0x0026148e}}}, + {X: Field{[10]uint32{0x01605721, 0x00c67d91, 0x029345b7, 0x00114721, 0x032310fb, 0x0097db57, 0x0298c4c8, 0x02403fed, 0x00c67d64, 0x00202688}}, Y: Field{[10]uint32{0x00e286c1, 0x03e97cfe, 0x03e6a5eb, 0x03315258, 0x003d096c, 0x01fe8105, 0x02b06192, 0x01f88add, 0x0180d991, 0x0027a652}}}, + {X: Field{[10]uint32{0x0172c180, 0x018d11be, 0x023528d5, 0x0073ca71, 0x03defece, 0x02b1c20f, 0x00500b4e, 0x03c453b5, 0x003a43f7, 0x0006ce24}}, Y: Field{[10]uint32{0x02f408f9, 0x02504676, 0x0272ad33, 0x01adbd76, 0x022708b2, 0x0354f792, 0x0353f77f, 0x002ba224, 0x01c931a6, 0x00100dbb}}}, + {X: Field{[10]uint32{0x00feef23, 0x01b1621a, 0x0166df4e, 0x0338b41d, 0x03263458, 0x03e8fbf9, 0x00b4e8dd, 0x012e7aac, 0x01b6eb29, 0x00242a03}}, Y: Field{[10]uint32{0x03cf91e6, 0x031dba4b, 0x01681442, 0x02c9eef6, 0x035ee050, 0x0278a4da, 0x0321145d, 0x03c6361f, 0x039f9754, 0x001d4f22}}}, + {X: Field{[10]uint32{0x036bea9b, 0x009751cd, 0x0146e6dc, 0x00152851, 0x023e6f36, 0x03d80d03, 0x01625460, 0x0166604b, 0x03844b70, 0x0030b203}}, Y: Field{[10]uint32{0x02a79c64, 0x02f5120e, 0x00f6123a, 0x029c0ad3, 0x0173b871, 0x0074ec6d, 0x03495b89, 0x03539c62, 0x020d68f4, 0x0021b285}}}, + {X: Field{[10]uint32{0x028e7553, 0x00f38468, 0x01692a32, 0x038757f3, 0x012d00cf, 0x0067ec99, 0x03989d3f, 0x02d7cff7, 0x02744cf4, 0x00273d81}}, Y: Field{[10]uint32{0x0247759d, 0x003144f0, 0x0385dc30, 0x0038f116, 0x03edd0f3, 0x03eb5a18, 0x017b6a3c, 0x03f3056d, 0x03f7b973, 0x002051f2}}}, + {X: Field{[10]uint32{0x02d82208, 0x023d6156, 0x005abce9, 0x0031d080, 0x02a6280b, 0x018364db, 0x0093fd60, 0x031ac969, 0x03a28742, 0x0015d223}}, Y: Field{[10]uint32{0x01a29574, 0x021e113c, 0x03921dc2, 0x03994084, 0x03af949a, 0x009ed1c2, 0x02dbe56c, 0x02fa9562, 0x02455073, 0x000c6cf2}}}, + {X: Field{[10]uint32{0x0099447d, 0x02f17ad2, 0x00dc84ed, 0x005b1d63, 0x02d40ed6, 0x01d658f0, 0x00df2b8d, 0x02ef2372, 0x00be6be8, 0x003c44cf}}, Y: Field{[10]uint32{0x0252f50f, 0x02ee24fd, 0x016870cb, 0x018375e8, 0x0110bd3a, 0x0359f558, 0x014626d8, 0x02c8fd5c, 0x00472225, 0x0015ff09}}}, + {X: Field{[10]uint32{0x03be89c0, 0x038105d6, 0x025050f4, 0x02ffcf90, 0x013f3d69, 0x00196ee0, 0x00989c79, 0x02f5e1fe, 0x02753301, 0x0025420f}}, Y: Field{[10]uint32{0x00b33482, 0x024fe925, 0x03c70cc5, 0x038055ac, 0x00ee4e92, 0x01dc1039, 0x017c73ca, 0x0037a518, 0x035ce7d1, 0x002112b6}}}, + {X: Field{[10]uint32{0x005c75c6, 0x000110ef, 0x01973621, 0x02cd8f23, 0x038668c7, 0x03266bd8, 0x0176ed29, 0x0159d579, 0x0355cbb7, 0x0006a420}}, Y: Field{[10]uint32{0x032454a2, 0x02b48b8b, 0x03f27057, 0x001d2d13, 0x00a73538, 0x01589f60, 0x03787222, 0x01b8d4bd, 0x026c6e55, 0x0035d951}}}, + {X: Field{[10]uint32{0x0349b648, 0x037cefbc, 0x01db4f04, 0x018f17cc, 0x038a2d1f, 0x02b65fe7, 0x0067308f, 0x010f56aa, 0x03740bd3, 0x0031648b}}, Y: Field{[10]uint32{0x027bd648, 0x014f251b, 0x00c4377f, 0x01108da9, 0x00da8118, 0x0362dd4b, 0x02605e50, 0x036fa204, 0x00687cfc, 0x001dec7c}}}, + {X: Field{[10]uint32{0x02c95dc9, 0x00d10839, 0x017d9964, 0x00c458e2, 0x02055dcf, 0x006c2d9c, 0x011a4043, 0x000a5dda, 0x01969f91, 0x0019386c}}, Y: Field{[10]uint32{0x0222550c, 0x02538ca4, 0x0371ddce, 0x034873bc, 0x029bfb77, 0x0240d6d9, 0x027fa26a, 0x030f27ac, 0x00c7c11f, 0x00305bd8}}}, + {X: Field{[10]uint32{0x03ce08de, 0x03edfa81, 0x01ce7808, 0x029d527a, 0x03c602f8, 0x00ccf74d, 0x0121bad3, 0x0113b5b1, 0x02766877, 0x0000cecb}}, Y: Field{[10]uint32{0x02988efd, 0x01444aa1, 0x038114c2, 0x032a9b79, 0x03d742e8, 0x03f7652f, 0x036c2437, 0x022ba573, 0x027fc8ed, 0x00386f3f}}}, + {X: Field{[10]uint32{0x01e4f294, 0x011cef91, 0x0275c951, 0x003fca52, 0x0189fbf3, 0x01ed2b0c, 0x02310331, 0x0228730a, 0x034c866d, 0x00083c63}}, Y: Field{[10]uint32{0x02d0ea0e, 0x032ba074, 0x0358943f, 0x027dc5cf, 0x030fe852, 0x034defb9, 0x00883363, 0x03ded3f6, 0x03c9d08e, 0x00235a15}}}, + {X: Field{[10]uint32{0x03b69a8b, 0x01105db5, 0x03befd14, 0x014d5190, 0x012df346, 0x038aa2e7, 0x02b4c685, 0x031c5a83, 0x03c944c9, 0x00134588}}, Y: Field{[10]uint32{0x0117be80, 0x0160e222, 0x02f7854f, 0x0357b654, 0x022b601b, 0x01bb0d25, 0x016bf6b9, 0x02b40fe6, 0x01fe8744, 0x00377c6e}}}, + {X: Field{[10]uint32{0x01b079e0, 0x0343fd4f, 0x027e2d4a, 0x02937436, 0x014faad0, 0x016251e1, 0x00d6b368, 0x00a4b4a0, 0x00dbe8ab, 0x002a406c}}, Y: Field{[10]uint32{0x03298a9d, 0x00398391, 0x023b301d, 0x03829ac1, 0x00716bc5, 0x0079eb99, 0x02f04dc6, 0x006986bd, 0x03e1834f, 0x000fc9f9}}}, + {X: Field{[10]uint32{0x03fc9a70, 0x007269ba, 0x0089b303, 0x013df202, 0x012f42a2, 0x0211916c, 0x03d66f44, 0x023ff542, 0x00713021, 0x001f82bc}}, Y: Field{[10]uint32{0x02aedb3f, 0x01b6de16, 0x003ab241, 0x005fd6f7, 0x010d5795, 0x017ac7a2, 0x013fbb23, 0x0343127d, 0x03f3926c, 0x00142f08}}}, + {X: Field{[10]uint32{0x02ebf20d, 0x00aaac16, 0x01da4ef8, 0x00a151ba, 0x00b47f05, 0x0102a40e, 0x005d3354, 0x00968b06, 0x007e1a7b, 0x001eea06}}, Y: Field{[10]uint32{0x02185187, 0x00924c26, 0x033a39ab, 0x02f39f62, 0x000527ef, 0x0329775e, 0x026c25c7, 0x00dc2be1, 0x026c9625, 0x001b9abb}}}, + {X: Field{[10]uint32{0x013a6807, 0x02128e76, 0x0277255b, 0x02583a49, 0x009767b7, 0x0063f28e, 0x0000816e, 0x02c9e6d8, 0x03c34d83, 0x00230143}}, Y: Field{[10]uint32{0x01174870, 0x026f104d, 0x023ce701, 0x0336073c, 0x015d699f, 0x0106604e, 0x03c29650, 0x023eca09, 0x00ef75b6, 0x002618c5}}}, + {X: Field{[10]uint32{0x019c2ec9, 0x02e2c6f2, 0x006202a7, 0x028b2fd4, 0x009d7201, 0x01492652, 0x0060583a, 0x037e1896, 0x009a78e4, 0x0014ede1}}, Y: Field{[10]uint32{0x03e469c0, 0x00b77e78, 0x012c544d, 0x00951ca3, 0x02e0a44d, 0x006f8b14, 0x024b22de, 0x01f41d77, 0x0212ac60, 0x00138c7a}}}, + {X: Field{[10]uint32{0x03313b33, 0x03149f94, 0x0278efeb, 0x0010c77b, 0x02b63350, 0x03f9d8af, 0x0075a010, 0x032655a8, 0x0267a5d0, 0x0026f7e7}}, Y: Field{[10]uint32{0x029d2bb0, 0x0252bf63, 0x00d5a17e, 0x00d9d8ba, 0x02907f26, 0x03c5b2b4, 0x00c27926, 0x00383b89, 0x0221a596, 0x00250991}}}, + {X: Field{[10]uint32{0x02381f34, 0x03f66412, 0x012fb429, 0x00b1bb0b, 0x0117d9f4, 0x01d81be2, 0x02c031a4, 0x02cef42e, 0x02b37a8a, 0x001f2a9c}}, Y: Field{[10]uint32{0x017303c9, 0x01f77597, 0x037f1ef8, 0x00781a0b, 0x03ff8fbd, 0x00804253, 0x023d6beb, 0x037a34d3, 0x03ab7ee5, 0x0016d614}}}, + {X: Field{[10]uint32{0x0193d81a, 0x01ae5f8e, 0x0093dde1, 0x031d54c9, 0x03925d62, 0x00fd236d, 0x000295fc, 0x01e5d5e7, 0x039f0982, 0x000bbca6}}, Y: Field{[10]uint32{0x03110753, 0x008cde8c, 0x015e89b4, 0x0090e1f6, 0x00a0afff, 0x02fd31c5, 0x0137ef96, 0x016e9829, 0x004dd987, 0x00125b25}}}, + {X: Field{[10]uint32{0x03317ff8, 0x030d2fa5, 0x00e6a9e5, 0x014bb0d5, 0x024029e9, 0x039740b1, 0x03c1860a, 0x01e1d55c, 0x00ad95b0, 0x0037c55f}}, Y: Field{[10]uint32{0x0284c162, 0x01bb8e04, 0x03ba470f, 0x00ba15a4, 0x00b629e6, 0x00acf30c, 0x01c979a0, 0x00ad4226, 0x02c77592, 0x003cbb32}}}, + {X: Field{[10]uint32{0x02454b1d, 0x02a61c05, 0x020e7b15, 0x00dadc64, 0x00e651d2, 0x02e7ad51, 0x0182e643, 0x02949ad8, 0x0150a29c, 0x00375570}}, Y: Field{[10]uint32{0x002e9368, 0x01788fd3, 0x00f5c4d9, 0x02af5dea, 0x00ac685a, 0x01a30944, 0x01605d42, 0x03a8bace, 0x03a542f4, 0x001131d5}}}, + {X: Field{[10]uint32{0x00227f27, 0x02792e26, 0x0172325b, 0x024e1fc0, 0x02c4d5d3, 0x018f4c95, 0x01477630, 0x00b1e464, 0x00f46ed4, 0x0005a21b}}, Y: Field{[10]uint32{0x0217fffb, 0x00e0c5c2, 0x00367ec5, 0x02378bd2, 0x02c824ed, 0x00f280f7, 0x02192fc9, 0x00ca6751, 0x02207ee7, 0x001d0868}}}, + {X: Field{[10]uint32{0x0360732f, 0x03aa9eca, 0x0345e56a, 0x0089213f, 0x0327968c, 0x01bc2b3f, 0x028b306d, 0x00186023, 0x00fcdaa3, 0x001bfc60}}, Y: Field{[10]uint32{0x029961a9, 0x00fa87bd, 0x038cc22f, 0x008baa16, 0x026c8d40, 0x018dd868, 0x0254dad0, 0x02bfc3f0, 0x0254f0c2, 0x001f45b5}}}, + {X: Field{[10]uint32{0x00395e36, 0x03323ab7, 0x005c4f8b, 0x0154e7da, 0x00aa912b, 0x003b99df, 0x034f51f4, 0x030a80fa, 0x0111a00d, 0x0000fa91}}, Y: Field{[10]uint32{0x03c9259d, 0x000d719c, 0x0049824b, 0x00d94a43, 0x030a2f2e, 0x010376d4, 0x02398393, 0x0008564e, 0x01f1528b, 0x001b27b4}}}, + {X: Field{[10]uint32{0x0253081d, 0x0332883c, 0x014b63c7, 0x002a0d79, 0x0153e415, 0x00cb7ee3, 0x00742d8f, 0x03a7aace, 0x0170dc3d, 0x0002e0b3}}, Y: Field{[10]uint32{0x01d0e24d, 0x012f02ab, 0x0326860d, 0x015aa48b, 0x0302effc, 0x00ca5d97, 0x02e20499, 0x01b9d74c, 0x03fe1f7f, 0x0003a2f2}}}, + {X: Field{[10]uint32{0x0196c77f, 0x00e2d5e8, 0x03d49b7b, 0x03c05cc9, 0x0206d056, 0x00169a69, 0x02e23bf1, 0x021d1613, 0x03e00074, 0x003f8bf0}}, Y: Field{[10]uint32{0x01bf3916, 0x02ef6dba, 0x0271d4f9, 0x007793f7, 0x007da856, 0x01601ec7, 0x01a32f69, 0x034a5f32, 0x001cc3c6, 0x000f8625}}}, + {X: Field{[10]uint32{0x03b7858b, 0x036fd5d2, 0x035ec845, 0x00511ba8, 0x02e8b001, 0x00b6e75b, 0x028778b1, 0x00da4d1f, 0x0176cdaa, 0x00012e40}}, Y: Field{[10]uint32{0x0173c154, 0x032abb2e, 0x03155295, 0x03f0bdea, 0x021fdad0, 0x02162031, 0x026e349b, 0x017f4fb2, 0x03ab6e9c, 0x003d8151}}}, + {X: Field{[10]uint32{0x0144c6d2, 0x03b04296, 0x028a0cd3, 0x01cbd654, 0x01defc42, 0x0036f27b, 0x00c86a9f, 0x01802d2e, 0x02511d34, 0x000d7ce0}}, Y: Field{[10]uint32{0x00b5ccd5, 0x00c8d2f4, 0x00daeae8, 0x02c6c4a8, 0x0043762b, 0x03e5b2a6, 0x0337a80c, 0x028797db, 0x01f6ef7f, 0x000a6a0d}}}, + {X: Field{[10]uint32{0x022cb94a, 0x0308dc5c, 0x011cdf3c, 0x02b0fc04, 0x03e1d0e9, 0x021f4fd6, 0x0027e265, 0x02dffe84, 0x02970311, 0x00075d2c}}, Y: Field{[10]uint32{0x00c2071e, 0x03307dca, 0x030e2606, 0x02ba771f, 0x0135dc99, 0x003d7183, 0x03bcfb81, 0x005382dc, 0x038b57f1, 0x00171ef3}}}, + {X: Field{[10]uint32{0x00450428, 0x0129a2a6, 0x013e6f93, 0x02df1056, 0x024f75d1, 0x027b1c8b, 0x0020737b, 0x03e5582c, 0x00f309c6, 0x00142825}}, Y: Field{[10]uint32{0x03778eee, 0x0243c7a0, 0x021b554a, 0x02da1a6a, 0x0089c86d, 0x02a07c11, 0x009eaba6, 0x0033f65a, 0x0222dfe1, 0x0028a1b8}}}, + {X: Field{[10]uint32{0x03c63db7, 0x0029b589, 0x0010599b, 0x036452d2, 0x00282dbc, 0x01d7b0e3, 0x02cf12e2, 0x0055f37f, 0x03812129, 0x0026d96e}}, Y: Field{[10]uint32{0x00223188, 0x0164ef06, 0x03d65528, 0x0102b423, 0x00660b4c, 0x007a629e, 0x013b2e95, 0x00890864, 0x031a3f0f, 0x003160b6}}}, + {X: Field{[10]uint32{0x02a4bc6b, 0x00200b4d, 0x02ca51c2, 0x03179883, 0x0085e7f1, 0x007720c7, 0x02c1115a, 0x0281b915, 0x00fc1fdf, 0x0022d151}}, Y: Field{[10]uint32{0x0220350d, 0x022c67de, 0x003b06ea, 0x02e6556c, 0x01e4116f, 0x02dc3993, 0x022af7f4, 0x00980b9c, 0x0041288f, 0x0038f9df}}}, + {X: Field{[10]uint32{0x020ab4aa, 0x02076577, 0x01e29d5f, 0x004f773b, 0x006cb2ae, 0x0155e3f7, 0x039b29cc, 0x03adf145, 0x0080b959, 0x001b1c26}}, Y: Field{[10]uint32{0x027c4bdc, 0x033144e7, 0x03b43c2d, 0x0314254f, 0x02ee2b59, 0x03cf7aae, 0x036c0c76, 0x02e9099c, 0x03aebd8e, 0x003278cf}}}, + {X: Field{[10]uint32{0x01537806, 0x02d59dcf, 0x001e7085, 0x019e00ae, 0x0076fc9d, 0x012821e8, 0x01891f79, 0x01a9c657, 0x035137ba, 0x001ddd82}}, Y: Field{[10]uint32{0x018e3a25, 0x0206af85, 0x037f0d7e, 0x037b9a39, 0x021b87ff, 0x03d105ef, 0x0358c7ed, 0x02962fd3, 0x00f5aaee, 0x003d480b}}}, + {X: Field{[10]uint32{0x02163102, 0x03109b9f, 0x025d0df4, 0x03e3bf58, 0x03e23cd4, 0x02324699, 0x02904a8a, 0x00320ba6, 0x03836a0b, 0x0006a2f5}}, Y: Field{[10]uint32{0x02285844, 0x0317f304, 0x01f2e4e9, 0x005adc02, 0x01c2a963, 0x03dd2a1f, 0x0174f282, 0x00b2b8f1, 0x00cab095, 0x00187f99}}}, + {X: Field{[10]uint32{0x024abc30, 0x02d4e421, 0x031d753d, 0x02679a51, 0x02a3fb30, 0x00936475, 0x01e453ed, 0x02644fec, 0x01b65907, 0x003f885f}}, Y: Field{[10]uint32{0x01730b58, 0x03dac0d3, 0x012538cd, 0x00714e5a, 0x0193a0c6, 0x007c11f5, 0x030f20fb, 0x017b5a02, 0x02bba962, 0x001773e6}}}, + {X: Field{[10]uint32{0x01b33b91, 0x02bb527d, 0x02c5f212, 0x035d232d, 0x0107e3ab, 0x03ab5a5b, 0x00f58b65, 0x0357af0e, 0x023754af, 0x00094135}}, Y: Field{[10]uint32{0x035d75d4, 0x0004eb5e, 0x03437b5e, 0x004159d7, 0x00ba7cec, 0x01cbeefd, 0x01321c6c, 0x011a713d, 0x034375f1, 0x001e69af}}}, + {X: Field{[10]uint32{0x03197b5c, 0x03772bf6, 0x0176b7fb, 0x02fd7322, 0x036160ab, 0x021c4170, 0x029bd3f6, 0x008b5e26, 0x0302f47b, 0x0002c1bd}}, Y: Field{[10]uint32{0x0332f63d, 0x017e4635, 0x007781cd, 0x01ff45e7, 0x005bd2fe, 0x02a8f7f9, 0x012a35b6, 0x035247d6, 0x03d419a4, 0x001d9a6e}}}, + {X: Field{[10]uint32{0x01044e23, 0x004a2983, 0x010acbc2, 0x027af48f, 0x00a6f3f9, 0x006d5120, 0x034eeb93, 0x0273e500, 0x003bb31f, 0x00200ec8}}, Y: Field{[10]uint32{0x0328d1c7, 0x014e0705, 0x006a954e, 0x02fd26e5, 0x03bfc9cc, 0x03e98aeb, 0x0320c5c7, 0x03dd6566, 0x008df271, 0x000c22af}}}, + {X: Field{[10]uint32{0x0302749a, 0x00a27f80, 0x028dcd57, 0x037a3a56, 0x02e52de1, 0x000e9cc4, 0x010e5bda, 0x033ab6ed, 0x00b4c5f5, 0x00099aa7}}, Y: Field{[10]uint32{0x02e0ae7e, 0x021bff11, 0x03baa8b3, 0x02e879f0, 0x033dc0ef, 0x03213b53, 0x0282877c, 0x02cbea8f, 0x030ba856, 0x0027baa5}}}, + {X: Field{[10]uint32{0x004eba94, 0x00d82f3e, 0x02a355d7, 0x0107a6af, 0x0364c4c1, 0x02058f7c, 0x019a7ab9, 0x01eb5496, 0x0195d80c, 0x003f62a7}}, Y: Field{[10]uint32{0x03b1030c, 0x035f5cf7, 0x01a713e2, 0x03691eff, 0x03a30377, 0x02b9ff4c, 0x032e2688, 0x014ecd66, 0x03021009, 0x002a7ec5}}}, + {X: Field{[10]uint32{0x01db0a7d, 0x02dbc9be, 0x038f8f2c, 0x0316dec2, 0x026e84ac, 0x02cb202f, 0x03c339a8, 0x023c8d67, 0x01f309f2, 0x0029cc8b}}, Y: Field{[10]uint32{0x02db6be6, 0x028ba85b, 0x00885c12, 0x0384c5c5, 0x03095f40, 0x03c4be95, 0x01b7f5b2, 0x025405ff, 0x029d2174, 0x0008bdbf}}}, + {X: Field{[10]uint32{0x03052d36, 0x00f1f932, 0x01ffc82c, 0x006ba95a, 0x00bd4c46, 0x03dfc3c6, 0x02104ddb, 0x0199258e, 0x010f336a, 0x0020aa30}}, Y: Field{[10]uint32{0x01f1dd0c, 0x0384a1e5, 0x038c118f, 0x03533411, 0x015e5c31, 0x02dc6d9c, 0x010501cc, 0x01c89e2e, 0x00a2c0ef, 0x001cdf3b}}}, + {X: Field{[10]uint32{0x0315d6df, 0x01e12a53, 0x00516c54, 0x02dd6e97, 0x026c4ef2, 0x01698309, 0x03cd12f0, 0x03de5401, 0x01b68e3b, 0x0026d434}}, Y: Field{[10]uint32{0x03ddd8fd, 0x01bfadf2, 0x02778737, 0x009cb51f, 0x02403fff, 0x03c63549, 0x003fd2a4, 0x01db6340, 0x0109b791, 0x000abf23}}}, + {X: Field{[10]uint32{0x02e08d32, 0x021657ee, 0x00b80671, 0x035fba0b, 0x02b8dcb9, 0x0074c15a, 0x023a8228, 0x008ff9f7, 0x03ddc8b4, 0x000fe420}}, Y: Field{[10]uint32{0x028fa758, 0x0257ff3c, 0x01376e21, 0x01b48330, 0x0081f77f, 0x03e80868, 0x020ed90a, 0x007646a7, 0x0152fd51, 0x0032c4f0}}}, + {X: Field{[10]uint32{0x02167faf, 0x0041d3bc, 0x00bfadbd, 0x00196754, 0x03c92317, 0x024999b2, 0x02ff6bd5, 0x0306895b, 0x01c1ee17, 0x0031d721}}, Y: Field{[10]uint32{0x00023a52, 0x02bc5a50, 0x00c8596d, 0x005b53df, 0x01bd698a, 0x0191fd23, 0x00ca8922, 0x010275d7, 0x02be5e09, 0x0006ad3a}}}, + {X: Field{[10]uint32{0x00656045, 0x02355da6, 0x03fb95c6, 0x00acf52d, 0x0060ea8e, 0x03deab5f, 0x010cf0d2, 0x03d74ed3, 0x03eaf8a0, 0x00314d07}}, Y: Field{[10]uint32{0x00e88915, 0x034eae5d, 0x023986e6, 0x035535c4, 0x02dc48a4, 0x009aae60, 0x00fa422a, 0x016e7e92, 0x00e9007e, 0x00257e7d}}}, + {X: Field{[10]uint32{0x00c2d89b, 0x01e80c98, 0x027fd896, 0x02ddd4b5, 0x02220852, 0x01c17748, 0x02bd4c68, 0x025f8354, 0x023e2a89, 0x0020eb36}}, Y: Field{[10]uint32{0x03c31df0, 0x03a5de46, 0x00e8e330, 0x00ef752e, 0x030a77cd, 0x025c45d5, 0x01b55809, 0x02e945fd, 0x02e1d655, 0x0037386e}}}, + {X: Field{[10]uint32{0x0025237b, 0x009e6cc0, 0x039625bd, 0x01c5b174, 0x00f1c0d5, 0x00a75653, 0x01c4164e, 0x0241d16e, 0x01468b29, 0x0016e064}}, Y: Field{[10]uint32{0x03625d8e, 0x0227d2bd, 0x034fcf69, 0x0329c6e8, 0x011c48d2, 0x00207cd6, 0x0188daab, 0x0377eafb, 0x02a03fdd, 0x00330d8d}}}, + {X: Field{[10]uint32{0x003b0e6c, 0x0241178b, 0x037219b8, 0x01934e35, 0x0332f5f6, 0x01984139, 0x00417961, 0x00e3bfe0, 0x0122214e, 0x00191de0}}, Y: Field{[10]uint32{0x0211a32d, 0x033e6111, 0x02f81974, 0x000e352b, 0x00d8b632, 0x02e29f47, 0x02afc4a0, 0x03bb1ee3, 0x00497e15, 0x000ca73c}}}, + {X: Field{[10]uint32{0x02f12323, 0x0032e7c6, 0x0017c43d, 0x0275b684, 0x002b475a, 0x02bba199, 0x01099099, 0x018bd1e5, 0x026afe57, 0x003b5360}}, Y: Field{[10]uint32{0x03e48e78, 0x00c6defd, 0x02274d05, 0x02696510, 0x01c4d88c, 0x02b1e467, 0x0296f928, 0x0297bb20, 0x01be3faf, 0x00231be0}}}, + {X: Field{[10]uint32{0x01109c4a, 0x01bad033, 0x02fe97a0, 0x00ad57de, 0x024d82ac, 0x011bf586, 0x016f5513, 0x03b30eb3, 0x0124419a, 0x000e2d0a}}, Y: Field{[10]uint32{0x03e05583, 0x032e4adc, 0x02b07b5a, 0x01a28b39, 0x02de49d7, 0x03cd669a, 0x030965a1, 0x00bdceca, 0x00962feb, 0x001fd0b0}}}, + {X: Field{[10]uint32{0x02138911, 0x02b0ba60, 0x016e3446, 0x018893c8, 0x01bb2a8f, 0x020fa185, 0x034cf701, 0x02529ed0, 0x00a8d8bb, 0x0030f2b5}}, Y: Field{[10]uint32{0x0282765e, 0x023b4e1c, 0x01b2759a, 0x00bbc6c9, 0x01420e37, 0x00b738e8, 0x0342ce38, 0x025d9081, 0x02278cad, 0x003d926f}}}, + {X: Field{[10]uint32{0x00bd6538, 0x02239295, 0x01a9e555, 0x015cd964, 0x00d9212e, 0x038faa7b, 0x03ae40dc, 0x00dbf553, 0x03f4d3d2, 0x000b5023}}, Y: Field{[10]uint32{0x00e815b7, 0x02816d43, 0x021324b9, 0x01c5616a, 0x0285e2a1, 0x00a66fbd, 0x02284bf0, 0x00a81af1, 0x01f0e869, 0x003565ab}}}, + {X: Field{[10]uint32{0x0233c854, 0x02dfaa9e, 0x03daebaf, 0x028e8f1b, 0x03d67423, 0x00fe223a, 0x0290cf81, 0x0097eddb, 0x036d247f, 0x003b9eb7}}, Y: Field{[10]uint32{0x027a8fb4, 0x03bf0754, 0x01801dea, 0x01c5e278, 0x01143f68, 0x01505a27, 0x010dd9ef, 0x03dc15b0, 0x004b4ae8, 0x00381dc6}}}, + {X: Field{[10]uint32{0x01144b34, 0x0047cf80, 0x0064b7c8, 0x028df26a, 0x01dd5d37, 0x01317a27, 0x011151dc, 0x02b284f6, 0x03c8a9ff, 0x000be515}}, Y: Field{[10]uint32{0x035e221d, 0x018d3839, 0x01cfbb40, 0x033acf4f, 0x02787120, 0x035bf122, 0x015407e1, 0x0355ce8a, 0x00489093, 0x003ad326}}}, + {X: Field{[10]uint32{0x03fec294, 0x00311bad, 0x01c277b3, 0x020fbd4c, 0x03601204, 0x03f86378, 0x023478ce, 0x00560873, 0x02b8a0f1, 0x0034fccc}}, Y: Field{[10]uint32{0x030b2155, 0x0085786e, 0x00f9f323, 0x0243bc4d, 0x01c8968b, 0x030dca50, 0x02f1c019, 0x01e18746, 0x01b25d71, 0x003a9d6e}}}, + {X: Field{[10]uint32{0x02152b91, 0x0337c7e3, 0x02f7e9a4, 0x02199ad4, 0x035f3ddb, 0x03bcdb75, 0x021fcd86, 0x016ab4d4, 0x00d338b0, 0x00060d02}}, Y: Field{[10]uint32{0x0241218c, 0x00d54dc5, 0x018095de, 0x01339126, 0x00210e20, 0x00326209, 0x01be21f2, 0x012b1bce, 0x01206edf, 0x0019a661}}}, + {X: Field{[10]uint32{0x0340374e, 0x02558257, 0x006863d3, 0x035b094d, 0x0321faff, 0x0273e269, 0x00f1f0ff, 0x01794eea, 0x005db114, 0x000a0ffb}}, Y: Field{[10]uint32{0x0032fefe, 0x006fa0af, 0x02f77851, 0x000f3ce6, 0x0008846e, 0x01729ba6, 0x0268e5f6, 0x015439a3, 0x023774af, 0x001c2c04}}}, + {X: Field{[10]uint32{0x0152fa62, 0x02837ef7, 0x016daf54, 0x01e5dc3f, 0x00ebc735, 0x0239f6ff, 0x03bd249d, 0x00f3e904, 0x030a4f94, 0x000339d5}}, Y: Field{[10]uint32{0x0375d41d, 0x01be73a2, 0x013907c3, 0x02260f81, 0x00bd5e5b, 0x02e8e617, 0x005bdf98, 0x02573fee, 0x014bef46, 0x0038456c}}}, + {X: Field{[10]uint32{0x038fd470, 0x02529320, 0x02b15377, 0x0055d32f, 0x01df7903, 0x03646549, 0x029f648c, 0x03b0fc49, 0x0319c8f4, 0x001fa713}}, Y: Field{[10]uint32{0x00fa5270, 0x037d73ac, 0x013e9c86, 0x0236b5af, 0x0060fafa, 0x03447d20, 0x015d6ccb, 0x03d732a1, 0x03fe8cf5, 0x003a7676}}}, + {X: Field{[10]uint32{0x00cb001b, 0x01146d19, 0x03ec23bf, 0x0131c8a8, 0x010ba04f, 0x03c8c27e, 0x007f919d, 0x016ffa9f, 0x03e60d5d, 0x0038aa6e}}, Y: Field{[10]uint32{0x02393fb0, 0x004691e1, 0x03f16984, 0x024741a9, 0x03d1925b, 0x039cb2dd, 0x0125bd67, 0x01ab1de2, 0x00e1c3cd, 0x003905df}}}, + {X: Field{[10]uint32{0x01271012, 0x0264009d, 0x00265e70, 0x006c5563, 0x00f55e64, 0x00aa5264, 0x03bf37d4, 0x03bd4390, 0x02a43e17, 0x00141144}}, Y: Field{[10]uint32{0x021ed18b, 0x029274b9, 0x0381b742, 0x02e5a265, 0x011f21c4, 0x02387cb3, 0x00b1f41e, 0x00eb3cb5, 0x03d857ba, 0x00255297}}}, + {X: Field{[10]uint32{0x005f850d, 0x032fa1ca, 0x03411cd5, 0x036285ec, 0x01859945, 0x029cb1c8, 0x02d1d51b, 0x00c97d2c, 0x0013a6bb, 0x0020747c}}, Y: Field{[10]uint32{0x00937193, 0x012f3177, 0x0071adce, 0x0127535c, 0x01259d3d, 0x0262c816, 0x01fe2492, 0x002154ec, 0x03b1f0c3, 0x000b574b}}}, + {X: Field{[10]uint32{0x01895022, 0x00ce0f47, 0x0387ca73, 0x0050528e, 0x01d90dd5, 0x0399b0cf, 0x02872767, 0x02099862, 0x02dfc1d2, 0x0016d9b0}}, Y: Field{[10]uint32{0x0154e0ff, 0x02d51cb5, 0x00f5449e, 0x03684b63, 0x0327fcae, 0x0101fa61, 0x017267b7, 0x0255a488, 0x038e3818, 0x0026f405}}}, + {X: Field{[10]uint32{0x00381186, 0x03e1a208, 0x00597afa, 0x0366bd63, 0x0399b583, 0x036ffe2a, 0x012d544b, 0x0178e36f, 0x030e98ec, 0x002bad7d}}, Y: Field{[10]uint32{0x0184427b, 0x02b705cd, 0x01a052e7, 0x01cc3cbd, 0x01691b09, 0x00cdb908, 0x00b76929, 0x029c37c2, 0x02b0d25c, 0x001862f5}}}, + {X: Field{[10]uint32{0x0105052e, 0x02a60849, 0x0353a707, 0x0329dab5, 0x02557679, 0x01ea700a, 0x0361e3c6, 0x0250ee11, 0x02ffe841, 0x0002ca27}}, Y: Field{[10]uint32{0x0079992c, 0x02e743fa, 0x01e330cf, 0x00e17974, 0x00530ed7, 0x0318920b, 0x034f895d, 0x018aa14e, 0x01f0c218, 0x0001ea60}}}, + {X: Field{[10]uint32{0x0219291c, 0x02f4d5bd, 0x01200f81, 0x005f9138, 0x003f5859, 0x03f4a0a2, 0x00c8360c, 0x006679ac, 0x01458b12, 0x002aeb8e}}, Y: Field{[10]uint32{0x01753f28, 0x02dd7bed, 0x02934233, 0x02ded99f, 0x000b2a81, 0x011a6c1a, 0x03be30b2, 0x01a717a0, 0x03cdb3d0, 0x002b6c8e}}}, + {X: Field{[10]uint32{0x01fbacaa, 0x02720255, 0x03013941, 0x02323646, 0x011e0f65, 0x0063aca7, 0x02c224a5, 0x01696a06, 0x03a6485b, 0x0012a560}}, Y: Field{[10]uint32{0x00e8dbca, 0x00558c6d, 0x037decea, 0x00466dec, 0x00803ecf, 0x01dda36d, 0x02375a8a, 0x010bd7b7, 0x009ee3c8, 0x0036000f}}}, + {X: Field{[10]uint32{0x00ebc169, 0x00404084, 0x017ae3a2, 0x0305183c, 0x02ea236a, 0x012ac367, 0x03cf4654, 0x03df2d97, 0x030edba6, 0x00354bd8}}, Y: Field{[10]uint32{0x030d26d0, 0x0304f84d, 0x003d9145, 0x003106f2, 0x0368e21a, 0x02801714, 0x01bea50d, 0x00ee20f9, 0x03489fa9, 0x00084555}}}, + {X: Field{[10]uint32{0x02dd6a4d, 0x00384826, 0x029bf8d1, 0x018cd6f2, 0x01c74a2a, 0x00b9307a, 0x0050fc05, 0x016163d7, 0x023782c7, 0x0002f714}}, Y: Field{[10]uint32{0x0034f189, 0x01010d9a, 0x0323e585, 0x00ef0755, 0x0312ff02, 0x02fd4a74, 0x014efbaf, 0x01d9a388, 0x01f87463, 0x002aec76}}}, + {X: Field{[10]uint32{0x019ad087, 0x038244b9, 0x00e8626e, 0x005a3c4f, 0x0288156d, 0x03ad859e, 0x0364e476, 0x02aae0ee, 0x02338bf0, 0x00111dc2}}, Y: Field{[10]uint32{0x0360a55c, 0x0170cf7b, 0x01b99c96, 0x008edca4, 0x036a3abd, 0x030b5915, 0x0393a895, 0x0102f2cc, 0x00f12e9c, 0x0016d64c}}}, + {X: Field{[10]uint32{0x015e1679, 0x00b64914, 0x021c83e3, 0x02363ba3, 0x02650310, 0x00f8d99c, 0x01ac2032, 0x012bb8c6, 0x03322e40, 0x002c579e}}, Y: Field{[10]uint32{0x01997e7a, 0x00f3abcf, 0x03d57a87, 0x00961cd1, 0x005ced5c, 0x001e5bd4, 0x002ed565, 0x02ca457e, 0x00190bbf, 0x001491aa}}}, + {X: Field{[10]uint32{0x01b00f22, 0x02f66bb7, 0x0019027b, 0x00235781, 0x01665ae1, 0x0287077e, 0x0050f758, 0x017343cb, 0x01570522, 0x00287b5d}}, Y: Field{[10]uint32{0x02791ee2, 0x0049dd9a, 0x001a13d2, 0x001024ca, 0x02d71dbd, 0x02143b40, 0x017e7464, 0x021d21ee, 0x005dad9f, 0x000f20c5}}}, + {X: Field{[10]uint32{0x01918af5, 0x022becc7, 0x037a23cf, 0x032708e8, 0x03479e9e, 0x03181603, 0x03fc43c2, 0x03183f66, 0x03616a1b, 0x003a2abc}}, Y: Field{[10]uint32{0x0279827c, 0x02dbc9e7, 0x03d3ec89, 0x000e96b0, 0x009ab9c3, 0x02e68356, 0x0141041a, 0x0319c9f8, 0x03b64a37, 0x001b39a4}}}, + {X: Field{[10]uint32{0x014c20a3, 0x00ea8dc1, 0x01b76c5a, 0x010ce28f, 0x020759c0, 0x0061e9b5, 0x024a4ef6, 0x01798d4a, 0x00cd2c85, 0x001771be}}, Y: Field{[10]uint32{0x026f4838, 0x01c05193, 0x03f0fbb8, 0x03d4b9a9, 0x000fe9f5, 0x0307620d, 0x031d1bc7, 0x02a6a359, 0x03428593, 0x003d80b0}}}, + {X: Field{[10]uint32{0x0342f3a6, 0x0281f2da, 0x0326a5f1, 0x0081186b, 0x00f65636, 0x00aa9227, 0x02063ef2, 0x0362bda2, 0x031167be, 0x0018cc9c}}, Y: Field{[10]uint32{0x034424a6, 0x0032e06d, 0x01f1a3ea, 0x00026a46, 0x02bf94a7, 0x01874f95, 0x00ca0367, 0x004c83c8, 0x03b22070, 0x002e3df0}}}, + {X: Field{[10]uint32{0x00080263, 0x008c3e52, 0x020d3535, 0x002b5e62, 0x03ad66e5, 0x03a19536, 0x005c2017, 0x00ece08c, 0x01259a39, 0x00229036}}, Y: Field{[10]uint32{0x019fcaff, 0x02d747e7, 0x01d6f6a7, 0x03326a69, 0x0143f9cb, 0x031985b4, 0x03f703a5, 0x01153b75, 0x034d9849, 0x002beda9}}}, + {X: Field{[10]uint32{0x0078645a, 0x037abe08, 0x0317dcdf, 0x022f3082, 0x02a6a02c, 0x02816df7, 0x017fd3f9, 0x01082bd4, 0x010727c7, 0x0039c51c}}, Y: Field{[10]uint32{0x0217daca, 0x00513ad0, 0x03055eaa, 0x02809606, 0x01a3561b, 0x025ac13e, 0x01d5dcdc, 0x03a753fb, 0x03cbc1ed, 0x00369f59}}}, + {X: Field{[10]uint32{0x0261c82d, 0x007da725, 0x026c0cae, 0x03a24700, 0x029922bc, 0x014e54b0, 0x0242a685, 0x02e1e007, 0x011cd95f, 0x00184c4a}}, Y: Field{[10]uint32{0x0130bf01, 0x03f0410b, 0x03b89384, 0x01e44dcc, 0x0042b894, 0x02b98cae, 0x014f9898, 0x00bf5167, 0x001c1334, 0x00058387}}}, + {X: Field{[10]uint32{0x01ca4951, 0x00af3c74, 0x003bfb78, 0x02a76940, 0x02fc5e2a, 0x01e22027, 0x029bfa81, 0x011a4b42, 0x0045b676, 0x0012f13e}}, Y: Field{[10]uint32{0x00b751f0, 0x03103f04, 0x0383cefd, 0x0315fec5, 0x0164c4a7, 0x029dbb01, 0x03055ff3, 0x0349538e, 0x01cbb9c3, 0x0021c24b}}}, + {X: Field{[10]uint32{0x02be67df, 0x039bb2a8, 0x0201f698, 0x017560a8, 0x0052865b, 0x02617cd9, 0x039bff5c, 0x03a77ca7, 0x00a27bbe, 0x00116a20}}, Y: Field{[10]uint32{0x0055fabb, 0x00cae8de, 0x00eb6131, 0x01ae3ba5, 0x02a831d4, 0x02af5643, 0x0279714d, 0x01afc7bd, 0x02a8b5e4, 0x003f9269}}}, + {X: Field{[10]uint32{0x02f4f2a4, 0x03c68352, 0x000d3f21, 0x0256c854, 0x01877e54, 0x00805174, 0x016847a2, 0x00321993, 0x0238317c, 0x001aa09a}}, Y: Field{[10]uint32{0x005f4513, 0x0117e1f8, 0x0322c154, 0x002ef081, 0x02f6b83f, 0x01b9ad1e, 0x02f14e0e, 0x02098f7c, 0x014efcc9, 0x00114865}}}, + {X: Field{[10]uint32{0x026a23a9, 0x03a28d0d, 0x0075f613, 0x0379f1b3, 0x028bd860, 0x0277395c, 0x008aa1b0, 0x03dfa5b3, 0x0106f255, 0x00054d59}}, Y: Field{[10]uint32{0x00110bf3, 0x014ec700, 0x034cee3e, 0x02d38d8a, 0x03122f37, 0x03e26977, 0x01e401f1, 0x03521435, 0x03bcd744, 0x0033456a}}}, + {X: Field{[10]uint32{0x02b89b91, 0x0387283c, 0x0043a2b5, 0x02973299, 0x00cacff3, 0x00b6b0bb, 0x00651780, 0x027d7dae, 0x02aef53d, 0x003cef04}}, Y: Field{[10]uint32{0x00e00957, 0x03294246, 0x03131368, 0x017fc91f, 0x01303e91, 0x0281cdeb, 0x03d0f367, 0x0047c907, 0x036beb2e, 0x0033f534}}}, + {X: Field{[10]uint32{0x035c0fd4, 0x00a0a5cc, 0x033736f7, 0x03bd6114, 0x0122320b, 0x02ce1d92, 0x0226ef18, 0x0294dbde, 0x006dfa04, 0x001f8f23}}, Y: Field{[10]uint32{0x01f7c189, 0x01c4a134, 0x03fe9155, 0x01362339, 0x02b6a129, 0x000f008d, 0x032400b3, 0x00cdb4cc, 0x02b532a7, 0x001cba85}}}, + {X: Field{[10]uint32{0x010369d8, 0x0111822b, 0x03223d88, 0x026f5b85, 0x026943ab, 0x0214557f, 0x021c696d, 0x017f0b05, 0x03cfa057, 0x0006632f}}, Y: Field{[10]uint32{0x013cf7ae, 0x01cac985, 0x006c2f29, 0x025209e9, 0x03032159, 0x039ee8b9, 0x019fe0ef, 0x00908af9, 0x028b3095, 0x00357989}}}, + {X: Field{[10]uint32{0x03b0e5e8, 0x02c4d42b, 0x01fd63ae, 0x02a9e02c, 0x015a147c, 0x00226e43, 0x0183c089, 0x03cd6888, 0x0289b68c, 0x0007815b}}, Y: Field{[10]uint32{0x003f32b9, 0x0011cae5, 0x008379f8, 0x00e431be, 0x003e258a, 0x01b505bd, 0x02d6ff38, 0x01315f76, 0x0053abc4, 0x002e0905}}}, + {X: Field{[10]uint32{0x02faaa21, 0x031ca79c, 0x018fb3fa, 0x011339fe, 0x03d81081, 0x02991b51, 0x0173b2f1, 0x01f9fa98, 0x01748d82, 0x00371ffe}}, Y: Field{[10]uint32{0x030c4914, 0x00b9ffb9, 0x02a1aaaf, 0x001c51b6, 0x013e3d5f, 0x01105f1c, 0x038e1c5c, 0x01bc3ff2, 0x005aef4c, 0x00307f6b}}}, + {X: Field{[10]uint32{0x03d28e79, 0x027686cb, 0x00ec29a9, 0x03c2fe3e, 0x0036b2ef, 0x0337ef12, 0x0354bc11, 0x00781c14, 0x02fcc498, 0x001c6e57}}, Y: Field{[10]uint32{0x03d684cc, 0x010b31bb, 0x03fa30af, 0x02c269cd, 0x011f3695, 0x00faef14, 0x004752cc, 0x01abbb0c, 0x01976fad, 0x003f568c}}}, + {X: Field{[10]uint32{0x02542b3a, 0x01a20eb7, 0x004ae687, 0x008625c1, 0x03f6b961, 0x0096eea0, 0x033e8ffa, 0x00af5b27, 0x00af29dc, 0x0010e153}}, Y: Field{[10]uint32{0x009c6c81, 0x02d1200f, 0x03f36fd8, 0x02957072, 0x0034c5c9, 0x02893d56, 0x01e31677, 0x018cbe37, 0x01760897, 0x00158d94}}}, + {X: Field{[10]uint32{0x0027b222, 0x00bb3cb5, 0x0396145c, 0x0243ee1d, 0x00b6eff9, 0x0357f421, 0x00c9b730, 0x027e71c2, 0x0217090e, 0x0000ab7f}}, Y: Field{[10]uint32{0x03abd7ed, 0x01b66d14, 0x010cd4c8, 0x008301a5, 0x02c44398, 0x0334a244, 0x00ae425c, 0x0367188b, 0x01605d6d, 0x002d738c}}}, + {X: Field{[10]uint32{0x03a9d6f9, 0x038fa089, 0x00620471, 0x0152b8cf, 0x0209f70c, 0x02cffcc6, 0x033a5343, 0x02bcc456, 0x012c2b7e, 0x002848d1}}, Y: Field{[10]uint32{0x01e3b4eb, 0x0053337b, 0x0396e8fa, 0x029bdde7, 0x03f53e37, 0x03f15179, 0x008194aa, 0x007d10de, 0x008378a7, 0x0024cf4d}}}, + {X: Field{[10]uint32{0x02c0a6ab, 0x01b8cb33, 0x00a603d0, 0x02b9f7b3, 0x03aab166, 0x004d21cd, 0x00152176, 0x016a061b, 0x03c2ca99, 0x0026e268}}, Y: Field{[10]uint32{0x03731232, 0x02a322b9, 0x0141480b, 0x034150ed, 0x03cbea83, 0x0092b020, 0x03c48302, 0x012c4af5, 0x0301a872, 0x000a9f4d}}}, + {X: Field{[10]uint32{0x01e9e9b2, 0x01e59184, 0x032edc90, 0x00ce7b62, 0x03384b04, 0x031149ca, 0x022b9a0d, 0x035ce423, 0x0057e7d9, 0x0019375d}}, Y: Field{[10]uint32{0x023c470e, 0x00a430e0, 0x03885b29, 0x031de03b, 0x014e311d, 0x019a6626, 0x0208a723, 0x03b85bb5, 0x00aae214, 0x003aa43e}}}, + {X: Field{[10]uint32{0x03a2176c, 0x015d9f5b, 0x0150a6b3, 0x010871fd, 0x0320abba, 0x03adc721, 0x027fd714, 0x01f1af4c, 0x0031be60, 0x0016489d}}, Y: Field{[10]uint32{0x0061d598, 0x01449712, 0x03d0b870, 0x02c4b254, 0x00796da2, 0x00f3cfce, 0x03d289ea, 0x01549d96, 0x01c4071c, 0x0032dd5c}}}, + {X: Field{[10]uint32{0x015fe2c2, 0x0041bbde, 0x03bdc8c5, 0x00229c8d, 0x03843b7d, 0x024dd0d8, 0x000ddf19, 0x01ba7872, 0x01cdadb2, 0x0014f5d9}}, Y: Field{[10]uint32{0x017c287b, 0x0269016b, 0x000bec98, 0x00ec4a29, 0x00a66d4f, 0x01351454, 0x0187f819, 0x025ceddb, 0x0198eb39, 0x001eeeec}}}, + {X: Field{[10]uint32{0x03bb66af, 0x02d46695, 0x03fc16d7, 0x02426d9b, 0x010452ee, 0x03d7fdb0, 0x03a989c0, 0x00efcd48, 0x029ec16b, 0x003941f7}}, Y: Field{[10]uint32{0x03f7892a, 0x014078a3, 0x0195259a, 0x03401320, 0x0251b6d3, 0x022566b4, 0x008b3950, 0x0379b8f7, 0x002a8272, 0x0028bcbc}}}, + {X: Field{[10]uint32{0x01b4a6f2, 0x027260ce, 0x03983556, 0x01db8a95, 0x0265601d, 0x027d82de, 0x0103b8cb, 0x013eca06, 0x00c60eb8, 0x00005bd2}}, Y: Field{[10]uint32{0x0132b289, 0x023d40f7, 0x016a441d, 0x00a43d25, 0x03d827b6, 0x02dbbd13, 0x031e75d5, 0x01a0759b, 0x03848398, 0x002184ee}}}, + {X: Field{[10]uint32{0x01446056, 0x02d8ce78, 0x03af90ca, 0x00e0a8ec, 0x010bb98e, 0x00f44b61, 0x00b51323, 0x01978c9c, 0x01ae7742, 0x0019411c}}, Y: Field{[10]uint32{0x01a50306, 0x009c92a9, 0x03cda4e6, 0x00c85765, 0x01187b40, 0x00d670ce, 0x0290a62d, 0x01bf9b2b, 0x039334aa, 0x0020e39d}}}, + {X: Field{[10]uint32{0x0021dda8, 0x02ab0aaf, 0x00821559, 0x0287f5eb, 0x02348d1b, 0x026097eb, 0x010e19d6, 0x01613f32, 0x0016fa34, 0x000577a9}}, Y: Field{[10]uint32{0x00433047, 0x01c090ea, 0x01c15d40, 0x03d7517e, 0x00010fa5, 0x012f44c1, 0x012a3d28, 0x0339a3b8, 0x03f21e19, 0x00007f2a}}}, + {X: Field{[10]uint32{0x005b46e2, 0x032e81ec, 0x00751dc5, 0x001ed3df, 0x02ee9d6a, 0x00d5ee91, 0x03900878, 0x01c3b4f6, 0x00954f1f, 0x002d0ac9}}, Y: Field{[10]uint32{0x0169ed71, 0x0065a802, 0x03ec69f9, 0x02d31546, 0x034851f5, 0x00110f18, 0x0328d6da, 0x036f9b5b, 0x03eb0e0b, 0x003855c8}}}, + {X: Field{[10]uint32{0x00230f83, 0x03f15ff0, 0x00960a17, 0x01fa3894, 0x006ab10b, 0x03b26d18, 0x02b1125d, 0x02b0c476, 0x00f5c6ae, 0x00023a79}}, Y: Field{[10]uint32{0x03959ab2, 0x01db4c6a, 0x03dee645, 0x00d358a1, 0x03f1e32c, 0x0016899f, 0x03d4e53a, 0x02ede5e2, 0x0211c79f, 0x003fec38}}}, + {X: Field{[10]uint32{0x03e1ac2e, 0x0127fa4f, 0x03528295, 0x0207e012, 0x03d6f2bb, 0x0353542f, 0x027fb63b, 0x012dce18, 0x032373bd, 0x0021ef9c}}, Y: Field{[10]uint32{0x0294e1a4, 0x01087e1f, 0x00288ce8, 0x01f5d589, 0x021ae553, 0x03038956, 0x00844b2e, 0x02e6d7ff, 0x006ff147, 0x003daa46}}}, + {X: Field{[10]uint32{0x019d60f7, 0x01c9f859, 0x02c95002, 0x019abcd2, 0x01d2cfd4, 0x01722493, 0x029514ab, 0x00e1d217, 0x0161c836, 0x0010d807}}, Y: Field{[10]uint32{0x03bc2c2a, 0x039d6d60, 0x02b099a5, 0x00d999e7, 0x00113335, 0x02316eef, 0x028034b8, 0x032536cc, 0x00007c09, 0x0021e470}}}, + {X: Field{[10]uint32{0x02b49d0d, 0x02abe8ca, 0x020aca0d, 0x0250a895, 0x026902e3, 0x0299abe5, 0x01f0bcbb, 0x01c714d9, 0x0180f830, 0x000d06c5}}, Y: Field{[10]uint32{0x00877b20, 0x00d38519, 0x01d941c0, 0x0386e840, 0x037e8fdb, 0x0119271b, 0x03564d2d, 0x024099ff, 0x0313c549, 0x0012e616}}}, + {X: Field{[10]uint32{0x014dad95, 0x009c5c7c, 0x012eb576, 0x02a39592, 0x0033ac1a, 0x01e7ec55, 0x03181e2c, 0x00e90df1, 0x00b3ce4a, 0x0005d79f}}, Y: Field{[10]uint32{0x01135b0d, 0x0363f0a0, 0x01d9ce92, 0x01558f29, 0x02581301, 0x00da5bd0, 0x038703f9, 0x03d4bbf3, 0x01a87834, 0x000c7398}}}, + {X: Field{[10]uint32{0x007165ad, 0x0391704c, 0x03a98249, 0x02553202, 0x0089c1e4, 0x0328fb2b, 0x033c8482, 0x0071878e, 0x00cc64e6, 0x0016b50c}}, Y: Field{[10]uint32{0x0251c791, 0x033b3aa4, 0x03fbeac7, 0x01b86b08, 0x009ead5f, 0x016a2e17, 0x03ca083c, 0x004ef0c5, 0x0060505c, 0x002fa8a8}}}, + {X: Field{[10]uint32{0x01b8b837, 0x03fbe983, 0x009f28ae, 0x038f75f4, 0x01080f0c, 0x01fea130, 0x00602df0, 0x038c6262, 0x00d96dac, 0x00107738}}, Y: Field{[10]uint32{0x02827928, 0x03fe3434, 0x02e333cd, 0x0247e137, 0x02088500, 0x0154c8ed, 0x02635ea8, 0x01ba7225, 0x003fed9a, 0x001d258b}}}, + {X: Field{[10]uint32{0x01961bcc, 0x0330508e, 0x03e5ba23, 0x017810cb, 0x039aed2d, 0x00819d90, 0x03c1dc25, 0x01376840, 0x00988710, 0x00297bd1}}, Y: Field{[10]uint32{0x0122db3a, 0x02c3587c, 0x009f0696, 0x0099d96c, 0x02a165c5, 0x0194ee9e, 0x02ecc328, 0x038364f9, 0x003ea363, 0x00072f3e}}}, + {X: Field{[10]uint32{0x033a9d45, 0x015c8d7e, 0x01e626db, 0x00b8b5b5, 0x0218225f, 0x014a8b2f, 0x03df68b8, 0x01800ce2, 0x02ce9ad4, 0x0013689b}}, Y: Field{[10]uint32{0x01fae659, 0x037a427a, 0x029c73d3, 0x001b9ee8, 0x0061b0a8, 0x030f587d, 0x0210e2d1, 0x011aff31, 0x02637ab5, 0x003442d6}}}, + {X: Field{[10]uint32{0x018f4763, 0x03b71a7e, 0x0111129d, 0x0214479a, 0x03e9d955, 0x0286693d, 0x00d8eb16, 0x01023922, 0x026f53d2, 0x001b9887}}, Y: Field{[10]uint32{0x00ea1a19, 0x017f540f, 0x0048e4bb, 0x00b2d4b1, 0x007b945a, 0x00d0b1ef, 0x01ad4779, 0x02c4c4d0, 0x02f273e1, 0x001ec523}}}, + {X: Field{[10]uint32{0x038be83b, 0x01553549, 0x02ab6da4, 0x002a3c20, 0x0066bae2, 0x028e56a4, 0x017ea758, 0x01d1a66d, 0x03645bed, 0x003aebd5}}, Y: Field{[10]uint32{0x03cfbba7, 0x02ae782f, 0x02028650, 0x01298049, 0x02d91631, 0x0227b8f9, 0x029ea943, 0x00c0cd78, 0x00e06c65, 0x001611fd}}}, + {X: Field{[10]uint32{0x0310182f, 0x03fd8d4c, 0x0017a6a6, 0x028450e3, 0x02faa38c, 0x014ac574, 0x0355dbf0, 0x018cb492, 0x0271711b, 0x00303e22}}, Y: Field{[10]uint32{0x010676ff, 0x027913b3, 0x012481c5, 0x02605069, 0x03fb2e98, 0x002020be, 0x0211eec4, 0x01c08619, 0x014d16c0, 0x000b2feb}}}, + {X: Field{[10]uint32{0x035c6350, 0x00a1ec16, 0x00ae01b5, 0x02dcf3dc, 0x02dc1cdd, 0x018a48b1, 0x0244fbf2, 0x02526318, 0x001884b7, 0x001766db}}, Y: Field{[10]uint32{0x017fdf1d, 0x0144431f, 0x0297e5e8, 0x02316dab, 0x0118db17, 0x02d53321, 0x03e1644b, 0x0058b12a, 0x031d2f2b, 0x000ca3a0}}}, + {X: Field{[10]uint32{0x0202e21c, 0x03127c13, 0x00016654, 0x02555641, 0x03e57d75, 0x008e94ed, 0x03214c63, 0x01b9a753, 0x020f37ed, 0x0034744d}}, Y: Field{[10]uint32{0x01d15e4e, 0x007ce51b, 0x02b6a152, 0x0351b248, 0x006eba68, 0x002a2c40, 0x01594144, 0x02d4fe51, 0x0293c6c9, 0x00189fba}}}, + {X: Field{[10]uint32{0x02411731, 0x01a732fb, 0x00703e49, 0x020d959d, 0x02ace29a, 0x01ec6cac, 0x02cfa189, 0x00ebd562, 0x03cbf102, 0x003bf261}}, Y: Field{[10]uint32{0x01740c69, 0x026f10bd, 0x01dbbe15, 0x03f27d59, 0x02e38242, 0x02f3bd0c, 0x02429863, 0x002fb1c5, 0x0265d379, 0x0006569a}}}, + {X: Field{[10]uint32{0x00284ff0, 0x0243ea86, 0x02b01310, 0x01ee0fbd, 0x00968d1d, 0x00e19120, 0x0388b787, 0x03cef586, 0x0397163d, 0x003cc09a}}, Y: Field{[10]uint32{0x0211509b, 0x015ab06d, 0x030e9a6c, 0x01321359, 0x035f8764, 0x0167c1bf, 0x0281615d, 0x018eaefc, 0x02616823, 0x0005df0e}}}, + {X: Field{[10]uint32{0x002c5873, 0x0082435a, 0x0030b562, 0x03e5a3fe, 0x020deeec, 0x03273fd1, 0x02c92c68, 0x016da64a, 0x035f123b, 0x00174d3f}}, Y: Field{[10]uint32{0x01955ac8, 0x02d989b1, 0x02ff3d49, 0x03ea03e2, 0x0025443e, 0x023ac586, 0x0204df14, 0x0281950c, 0x039c8eab, 0x000b4682}}}, + {X: Field{[10]uint32{0x028447f4, 0x019ca011, 0x030bbdac, 0x0074c6a6, 0x00e0ee59, 0x010c2332, 0x01da0658, 0x01491f0e, 0x021794a9, 0x0032fe6e}}, Y: Field{[10]uint32{0x00461736, 0x009e5ab4, 0x005381b8, 0x0075d3c0, 0x03405810, 0x00d044b4, 0x025fade9, 0x02ba8408, 0x00c310fe, 0x001526c6}}}, + {X: Field{[10]uint32{0x03dcd31f, 0x032b3531, 0x03a5379a, 0x02e0da35, 0x008e7747, 0x015e9cd1, 0x01982a6b, 0x00986efd, 0x01ba09e2, 0x0024825d}}, Y: Field{[10]uint32{0x00b46dbd, 0x039d8e2b, 0x03dcb434, 0x012f5516, 0x016367d2, 0x0255040c, 0x0221f5ae, 0x01543424, 0x010881af, 0x003a5781}}}, + {X: Field{[10]uint32{0x03eeca64, 0x033c4c81, 0x000ff33f, 0x0048ef06, 0x00391323, 0x02d3c974, 0x02cdce82, 0x02d57649, 0x02e46fdc, 0x002056ca}}, Y: Field{[10]uint32{0x01b8c971, 0x022d3f92, 0x01512c96, 0x021d57c9, 0x0199285b, 0x0194462e, 0x01e2e268, 0x018dd23c, 0x03c67d88, 0x0018bd8d}}}, + {X: Field{[10]uint32{0x03e0b16e, 0x00f1153d, 0x019260de, 0x0097688c, 0x0227ca80, 0x02934e1f, 0x02a86397, 0x0352e8c3, 0x02c28e28, 0x0006ee69}}, Y: Field{[10]uint32{0x00d7ab93, 0x03bf1277, 0x01a94f56, 0x0355040d, 0x03206349, 0x031f8051, 0x004265ea, 0x005c7206, 0x00165e32, 0x002832f0}}}, + {X: Field{[10]uint32{0x0268bc22, 0x00cdf1b6, 0x00c3d34d, 0x02e9e3ad, 0x019c05a4, 0x03789e3c, 0x019d29dd, 0x020faac2, 0x03fedffd, 0x001bc054}}, Y: Field{[10]uint32{0x03f0c626, 0x00147e79, 0x02f824d5, 0x019c3838, 0x039fc499, 0x0288c7ca, 0x00041d3a, 0x00fe167d, 0x000d3501, 0x00294cb4}}}, + {X: Field{[10]uint32{0x0320258a, 0x032dea46, 0x028552e9, 0x039b1b6b, 0x02ed23e5, 0x006fd556, 0x000d3847, 0x01de9034, 0x033b3bee, 0x000d153d}}, Y: Field{[10]uint32{0x00d18dde, 0x023e54b6, 0x0128f23a, 0x00e8fd03, 0x03992683, 0x01af7b70, 0x025bcaa0, 0x007a3cff, 0x0046cfdf, 0x0024b082}}}, + {X: Field{[10]uint32{0x030e9a86, 0x024c5f08, 0x01f02fc5, 0x021903b7, 0x001dfcf6, 0x0354a00c, 0x00c2616a, 0x01ad386e, 0x03c9a360, 0x000d9e01}}, Y: Field{[10]uint32{0x016ecae6, 0x012904b0, 0x01a14830, 0x00bc00a0, 0x03fdc4f9, 0x00902572, 0x01ba14c1, 0x03b39c0f, 0x032fa2bb, 0x0007c08f}}}, + {X: Field{[10]uint32{0x001af62b, 0x02965048, 0x00909acb, 0x0105d7f1, 0x0101b825, 0x03112e05, 0x034e06f0, 0x03dabc4d, 0x01c39891, 0x0023b13f}}, Y: Field{[10]uint32{0x034e5f1b, 0x015b3dfb, 0x01751137, 0x033d7f0a, 0x00fe067b, 0x00f1e63e, 0x01ca0e50, 0x03621e0f, 0x02e5cac2, 0x000b71b2}}}, + {X: Field{[10]uint32{0x0178a263, 0x026c1aa4, 0x03842872, 0x014546e2, 0x03ffa085, 0x017ea4df, 0x0142f91e, 0x0093e451, 0x026d4c5b, 0x00173092}}, Y: Field{[10]uint32{0x037da472, 0x027573fe, 0x00b98da1, 0x02a0f76f, 0x02ca8d55, 0x0067e87f, 0x0338a4e4, 0x00687efe, 0x02358153, 0x002c76a1}}}, + {X: Field{[10]uint32{0x03599e9f, 0x013f1378, 0x02a21913, 0x01414314, 0x0292602a, 0x02a04374, 0x0244a6cd, 0x00170ea5, 0x0126c039, 0x0020e416}}, Y: Field{[10]uint32{0x0246089a, 0x0038315e, 0x01e16cf2, 0x022c8767, 0x00909429, 0x02a0dd8e, 0x00b115ea, 0x019e4a88, 0x020fe8af, 0x0010a4c9}}}, + {X: Field{[10]uint32{0x0189b6c7, 0x02ca6159, 0x00822481, 0x0050d2b9, 0x02e8fa6c, 0x034e1e3e, 0x0204ac30, 0x03a777e0, 0x017e4721, 0x002512c2}}, Y: Field{[10]uint32{0x03d6ddf6, 0x03d2e5a6, 0x00e8ee8a, 0x013011d9, 0x011525bd, 0x039d16e6, 0x03796431, 0x02c257e2, 0x016530e9, 0x0017f11d}}}, + {X: Field{[10]uint32{0x0023b73d, 0x017aefcd, 0x0030107b, 0x00797ea4, 0x0117327a, 0x018e9ccc, 0x00aaf04a, 0x0304d387, 0x023fcfb7, 0x002ac2d2}}, Y: Field{[10]uint32{0x0296c9da, 0x00efc6b3, 0x00781376, 0x034de170, 0x02b84944, 0x02bb334e, 0x038c92cf, 0x02ea2b35, 0x0263a5bb, 0x003879e4}}}, + {X: Field{[10]uint32{0x03e8b85f, 0x00f7fb83, 0x010bcf80, 0x0361efc2, 0x031aa2c3, 0x0168b939, 0x03f7fbf0, 0x00ac3bde, 0x00b5220f, 0x0015e8d1}}, Y: Field{[10]uint32{0x01a7d04e, 0x0398e6ec, 0x00f10576, 0x00f059e3, 0x01a9e11a, 0x00e9caa5, 0x00c9f135, 0x02588392, 0x010e08ef, 0x003e0adf}}}, + {X: Field{[10]uint32{0x00d81ac5, 0x02498ff2, 0x0188da1a, 0x025bb118, 0x033608e3, 0x033c3d3f, 0x038c4c95, 0x01f13147, 0x021a800b, 0x001b814f}}, Y: Field{[10]uint32{0x015e7473, 0x0363124e, 0x03dbadc3, 0x01e5c80b, 0x0362e365, 0x03390a30, 0x035384ff, 0x008f2786, 0x0298e3c8, 0x00218e27}}}, + {X: Field{[10]uint32{0x02485cb7, 0x03ab8973, 0x03f1c59d, 0x03b1fc20, 0x0148a289, 0x0159ed51, 0x00d4a7c7, 0x01c5fecc, 0x00061804, 0x0018b5d9}}, Y: Field{[10]uint32{0x0268be84, 0x03f2506d, 0x020fc4ca, 0x00b6989a, 0x03d1509b, 0x011c3ed4, 0x031d57b9, 0x007e3614, 0x014b661d, 0x003c758c}}}, + {X: Field{[10]uint32{0x0129250f, 0x011fcc77, 0x006589e3, 0x00020b4d, 0x025c4d08, 0x02f49126, 0x00cf1080, 0x02caaa0c, 0x00f2219f, 0x003976ca}}, Y: Field{[10]uint32{0x008bd453, 0x023f9a22, 0x00b248e5, 0x034bcd7e, 0x03324fcf, 0x02b512db, 0x03b7012e, 0x01f756e8, 0x024632f9, 0x0030a5b9}}}, + {X: Field{[10]uint32{0x01b32729, 0x02057c42, 0x00ab23fe, 0x026f0a65, 0x03733ec8, 0x03ffe0c7, 0x013177c9, 0x00379229, 0x03e9a3d0, 0x0011c96c}}, Y: Field{[10]uint32{0x01f8e778, 0x0279a26e, 0x02e12d4a, 0x0334a5e7, 0x02324127, 0x0120aed4, 0x01fdb741, 0x03003c51, 0x0347de38, 0x002b0edd}}}, + {X: Field{[10]uint32{0x01d72b3e, 0x0278d190, 0x00569bbe, 0x017a9db8, 0x03b036b6, 0x0004f8d1, 0x00ed9187, 0x01cb9ce5, 0x03b6492c, 0x003434eb}}, Y: Field{[10]uint32{0x0202fef3, 0x010bede3, 0x03f1396f, 0x002c0bd8, 0x00bd952b, 0x0028a158, 0x0061caa0, 0x03f81d4c, 0x005b94aa, 0x000b74e9}}}, + {X: Field{[10]uint32{0x0304632c, 0x0241a3f0, 0x00b4c786, 0x03b73d2d, 0x03104143, 0x0092b3fc, 0x0385654a, 0x03215e5e, 0x0335d717, 0x001e14f9}}, Y: Field{[10]uint32{0x021efadd, 0x00d4d577, 0x00e69cb5, 0x0068524e, 0x02bae3a3, 0x01680a48, 0x0377a8fb, 0x03452b09, 0x03d9e70f, 0x00002a1c}}}, + {X: Field{[10]uint32{0x02e904a4, 0x02778ce3, 0x032ca778, 0x0325fe75, 0x02ee44e2, 0x013248d5, 0x021a01a1, 0x0371644e, 0x02b37d4f, 0x0001b6c9}}, Y: Field{[10]uint32{0x031941fb, 0x00a2ba58, 0x01b6854a, 0x02498e1a, 0x02d8adf7, 0x02612712, 0x001c409e, 0x028330a3, 0x0225bf2b, 0x00053f88}}}, + {X: Field{[10]uint32{0x032848df, 0x028bbe3a, 0x00ce699a, 0x003d8ea7, 0x02538e40, 0x01a7e90f, 0x02f7f5c6, 0x02bcf02c, 0x0069bb98, 0x002d4bc2}}, Y: Field{[10]uint32{0x0107be5a, 0x005b85e2, 0x03858bb6, 0x02329dbe, 0x028b821c, 0x00395eda, 0x03378cca, 0x01152b9e, 0x032455bc, 0x0009159a}}}, + {X: Field{[10]uint32{0x0197b448, 0x007e4e80, 0x037e4c1e, 0x03004e13, 0x03234152, 0x01c3e9f0, 0x034a9e99, 0x02bc0fac, 0x01e11ee6, 0x00218537}}, Y: Field{[10]uint32{0x0372f3cc, 0x0134f31e, 0x02ba15e5, 0x015762e9, 0x024e5c7e, 0x008c3103, 0x0222b5ad, 0x01a1c0ae, 0x01a2ac99, 0x000a8449}}}, + {X: Field{[10]uint32{0x038c1cfa, 0x00824de4, 0x00ab2dbc, 0x03ad6743, 0x008b3308, 0x03c82f74, 0x0271c180, 0x01b96de3, 0x03ae625f, 0x00260a8d}}, Y: Field{[10]uint32{0x02a40d0c, 0x014c26ad, 0x017dc18e, 0x00af75b1, 0x032a689e, 0x02d41c2f, 0x01249e20, 0x0144a164, 0x016f00a6, 0x0019c7f8}}}, + {X: Field{[10]uint32{0x003e703a, 0x0068bf53, 0x01d9b408, 0x02bc8b2a, 0x00627a09, 0x0248c700, 0x019742fc, 0x020a73b2, 0x030526b4, 0x001afaa4}}, Y: Field{[10]uint32{0x019a6cc1, 0x00ac1652, 0x014832b0, 0x0043116f, 0x01d7541f, 0x00650f9a, 0x0344d14b, 0x01ed307c, 0x002a5451, 0x002bb150}}}, + {X: Field{[10]uint32{0x02583edb, 0x01ef4a65, 0x019200ba, 0x026481cc, 0x0054016a, 0x01b445ac, 0x00188b33, 0x0121f9f3, 0x03818694, 0x002d5c91}}, Y: Field{[10]uint32{0x03845cdc, 0x03d8a19d, 0x03ec6208, 0x02ced35f, 0x011d278f, 0x02f163ff, 0x018262de, 0x0292f4f5, 0x01861f80, 0x00172ef4}}}, + {X: Field{[10]uint32{0x017c5412, 0x03a78b66, 0x01bb62e0, 0x00d1c13b, 0x024df5a5, 0x022b14e4, 0x02f4f531, 0x003a45e1, 0x02627ba0, 0x003786b7}}, Y: Field{[10]uint32{0x022021e0, 0x03fba76b, 0x01a8e4bf, 0x039b8742, 0x03a9d003, 0x007019cf, 0x02dc15a4, 0x00efeff1, 0x02c50bf2, 0x001fbd21}}}, + {X: Field{[10]uint32{0x0398c0a0, 0x01b4dbcc, 0x0166dd47, 0x0262f004, 0x03337203, 0x02e03875, 0x01e465df, 0x0071067e, 0x017cb172, 0x000dce29}}, Y: Field{[10]uint32{0x030c22f5, 0x01529e2d, 0x00bfd118, 0x01b14a49, 0x0243df56, 0x03610e16, 0x028a629a, 0x02c5b5b4, 0x03b21662, 0x00387c96}}}, + {X: Field{[10]uint32{0x0281885d, 0x00001b9e, 0x02e37694, 0x02e2dd40, 0x021955fe, 0x0377db6a, 0x01575f12, 0x0048e6a1, 0x01c16b2a, 0x00132b88}}, Y: Field{[10]uint32{0x00dc99c3, 0x03d5972d, 0x019e237a, 0x026ca755, 0x0225fa2c, 0x020a0cac, 0x0271e89c, 0x0183609d, 0x00553886, 0x000abffa}}}, + {X: Field{[10]uint32{0x00c2bd7b, 0x00bebe37, 0x02039573, 0x03b86ea9, 0x0397bfa7, 0x016f30e9, 0x037cf558, 0x002f8db8, 0x021fba8a, 0x00131446}}, Y: Field{[10]uint32{0x025651af, 0x029172ac, 0x0372d8a6, 0x01a621f0, 0x03abb272, 0x02575a0c, 0x0000fd4a, 0x02affc8d, 0x03945c6b, 0x003a9a7d}}}, + {X: Field{[10]uint32{0x005a7e29, 0x0145e79d, 0x01f8320c, 0x012cae94, 0x02c2e4a4, 0x03a4db02, 0x007c25ad, 0x010dc098, 0x00c4323b, 0x00360476}}, Y: Field{[10]uint32{0x03c05345, 0x037652b9, 0x0293c3c4, 0x00fda7e7, 0x0346c6df, 0x02d2438e, 0x020aeabc, 0x011fe036, 0x00a217bf, 0x001bfe5c}}}, + {X: Field{[10]uint32{0x02c43eee, 0x03897985, 0x01b0b1ca, 0x02b87ec2, 0x0233db68, 0x004ed7fe, 0x01bbafdf, 0x02abff8e, 0x01d3b5e5, 0x000407ad}}, Y: Field{[10]uint32{0x02c5ddb3, 0x00698eae, 0x00f4a163, 0x00e4d383, 0x00a49709, 0x02c0c483, 0x03a1c96e, 0x01c96981, 0x01149867, 0x00275a95}}}, + {X: Field{[10]uint32{0x02480519, 0x0073e2dc, 0x03968de2, 0x01c3bfe3, 0x01ecdc7f, 0x018bfab4, 0x001f21f0, 0x03917f85, 0x0152b8dd, 0x00227ac4}}, Y: Field{[10]uint32{0x0297b447, 0x036c1f2d, 0x0195b41f, 0x02a18fef, 0x00cb6703, 0x00af11dc, 0x02c99d7f, 0x038f55a7, 0x03c43181, 0x003e28cd}}}, + {X: Field{[10]uint32{0x02d0dc16, 0x03a59366, 0x030cdbd1, 0x03ada379, 0x0149d95e, 0x0154066a, 0x03d8f1e4, 0x0291349c, 0x03f3f48e, 0x0014f58c}}, Y: Field{[10]uint32{0x011645fe, 0x03f4cef3, 0x023af48f, 0x03b923f9, 0x028e8ff4, 0x039b6df9, 0x03fe6f32, 0x033c6cfd, 0x0176964d, 0x0006c9bb}}}, + {X: Field{[10]uint32{0x00d9be6a, 0x023e57f6, 0x02d1a92f, 0x012e0e62, 0x006ce3db, 0x0273b6d9, 0x0294d26b, 0x00441966, 0x01104989, 0x0037841a}}, Y: Field{[10]uint32{0x02b43d32, 0x03644cd7, 0x03e7b5b9, 0x039b73e0, 0x008768a4, 0x008f5022, 0x00a3d06d, 0x0274595e, 0x0341dbd9, 0x0021d902}}}, + {X: Field{[10]uint32{0x02f5bea2, 0x005dcf1a, 0x023caf76, 0x01ed0685, 0x00cc6daa, 0x02027684, 0x0189a9a7, 0x038916b0, 0x026f0b9e, 0x00103b47}}, Y: Field{[10]uint32{0x00217b2e, 0x0330787f, 0x03adb50b, 0x00ba9c65, 0x0082bae8, 0x010c2b01, 0x02b7bdf1, 0x03ee69e3, 0x01017298, 0x003ffb45}}}, + {X: Field{[10]uint32{0x03ba15c1, 0x0046f599, 0x02dfaa3b, 0x028ca7c9, 0x001b7ab3, 0x03a94a73, 0x004d1719, 0x002e68de, 0x02ee59a2, 0x00157eaa}}, Y: Field{[10]uint32{0x002f4a65, 0x014f77c6, 0x0075c373, 0x00169f95, 0x000d7f28, 0x0391c197, 0x014771d8, 0x014f8d7b, 0x039b52ac, 0x002a7e24}}}, + {X: Field{[10]uint32{0x028af3fb, 0x02f40afe, 0x03ccba53, 0x001fc0d3, 0x00a95ac6, 0x01255b44, 0x000ca172, 0x0222bc86, 0x024e21cf, 0x002d4779}}, Y: Field{[10]uint32{0x03b7f81e, 0x02ce1b00, 0x01ac4878, 0x0066922c, 0x029b8400, 0x0399b129, 0x0399f1f6, 0x00bafd1a, 0x03701c65, 0x0005d766}}}, + {X: Field{[10]uint32{0x0307b143, 0x03e65ede, 0x00171556, 0x03a3361d, 0x007b8927, 0x00d9f3d0, 0x03235be9, 0x007a092e, 0x00dcbcd9, 0x001455ac}}, Y: Field{[10]uint32{0x00cc91dc, 0x03d2fe08, 0x018dec2a, 0x02432ec3, 0x01d40ada, 0x0049c05b, 0x01ded191, 0x0130ff99, 0x000fa29d, 0x0007515f}}}, + {X: Field{[10]uint32{0x016dd63d, 0x00476382, 0x02bcd00e, 0x0019e46d, 0x03f1993c, 0x02391069, 0x01fac558, 0x0125cc58, 0x0172060b, 0x000efd47}}, Y: Field{[10]uint32{0x00722d49, 0x02ba293d, 0x0312663e, 0x038abdd3, 0x0173e1e4, 0x03da6126, 0x023905dd, 0x02bf6ff1, 0x007090a7, 0x001ef1ad}}}, + {X: Field{[10]uint32{0x02d61fe5, 0x036dec26, 0x0205ad76, 0x03193eab, 0x0122fa74, 0x029bcb68, 0x014f4d3b, 0x02040845, 0x00912008, 0x0034a5c4}}, Y: Field{[10]uint32{0x028e3fc8, 0x0123dad8, 0x00156926, 0x01cd954a, 0x02bc33cb, 0x014708f0, 0x000cc141, 0x03cf23e5, 0x03aaf2cc, 0x001cd43a}}}, + {X: Field{[10]uint32{0x0368013d, 0x02d82a71, 0x0126c559, 0x01f88d05, 0x036d7a3b, 0x007ff4c2, 0x015a5202, 0x0044be89, 0x03ca8e17, 0x0030bb91}}, Y: Field{[10]uint32{0x03ece448, 0x0014058a, 0x0031a453, 0x002080a6, 0x0280d9ff, 0x036cec8e, 0x008e83be, 0x01fd6c77, 0x036bd83b, 0x000b9ba2}}}, + {X: Field{[10]uint32{0x0270b6cf, 0x016b6f4f, 0x03aaae47, 0x012d5876, 0x00c5ef44, 0x01b31300, 0x00da39e9, 0x03383678, 0x00d69ddc, 0x00156666}}, Y: Field{[10]uint32{0x00ffb328, 0x014d308d, 0x03ac525c, 0x01cc6bcb, 0x00cf0f31, 0x02d34879, 0x02b5e8cd, 0x03b96e37, 0x020095ae, 0x0031270a}}}, + {X: Field{[10]uint32{0x03baf363, 0x0152405a, 0x032f9e9d, 0x03764372, 0x017c1955, 0x01c86a63, 0x01305c39, 0x02eb7791, 0x02c3e4c8, 0x0012d2c0}}, Y: Field{[10]uint32{0x00d43468, 0x01a178c6, 0x00fb925b, 0x0191856f, 0x01d22a6a, 0x00f70c13, 0x01d546e0, 0x0166cf09, 0x037ebe8f, 0x00282d9e}}}, + {X: Field{[10]uint32{0x02c549c5, 0x01f74b2a, 0x0101fe0d, 0x03a3b87b, 0x007650ad, 0x0350a25f, 0x00f897c5, 0x02d09d47, 0x03fd7836, 0x003eebf9}}, Y: Field{[10]uint32{0x02668436, 0x00044384, 0x03aeb5e7, 0x00a26914, 0x01229a7e, 0x03b69489, 0x03841f58, 0x01f945ed, 0x014352d0, 0x000bd446}}}, + {X: Field{[10]uint32{0x0076c06c, 0x03786d9c, 0x0219f954, 0x0340a92c, 0x0281b21b, 0x01ceb139, 0x004e620b, 0x02e281e2, 0x02f90c65, 0x003334c1}}, Y: Field{[10]uint32{0x0257510b, 0x017d6c55, 0x005668ab, 0x029d6932, 0x00003f68, 0x00f8115d, 0x03056dc7, 0x02d43241, 0x007fa7b0, 0x00208fe9}}}, + {X: Field{[10]uint32{0x00195a3b, 0x02e35586, 0x01980820, 0x0177626a, 0x01912415, 0x0211d14b, 0x01a870a7, 0x01a474ed, 0x0038995a, 0x002ebef6}}, Y: Field{[10]uint32{0x00ad92a3, 0x024f9f42, 0x006874e8, 0x03560e72, 0x004f05f4, 0x00082d6c, 0x00e7f521, 0x00a7bbec, 0x01fac948, 0x00237d32}}}, + {X: Field{[10]uint32{0x024f458f, 0x0330e008, 0x019fb157, 0x00dee1a4, 0x00713d8f, 0x03e50299, 0x0166af8f, 0x0055b828, 0x003a8073, 0x00344973}}, Y: Field{[10]uint32{0x0035abde, 0x013b2f2f, 0x012a3a03, 0x00bbc981, 0x021bb7a2, 0x0288e9e3, 0x001054ae, 0x00de9f7c, 0x00b6ac4e, 0x00280c3a}}}, + {X: Field{[10]uint32{0x038187c2, 0x03c9e3b2, 0x008668cb, 0x03f629fa, 0x01f2d1bb, 0x0388b90b, 0x02c6433b, 0x036aebbc, 0x03281b5d, 0x001f5247}}, Y: Field{[10]uint32{0x00dfe8ed, 0x009ee9bd, 0x02af9bea, 0x031faf20, 0x0228b040, 0x01d82cbf, 0x0381ea3f, 0x00259b28, 0x021d7036, 0x00328605}}}, + {X: Field{[10]uint32{0x01f8c39e, 0x017c1ef3, 0x03961601, 0x025541e6, 0x016d70a5, 0x02a7d25e, 0x002995c6, 0x0048ea1b, 0x02339f29, 0x000c7336}}, Y: Field{[10]uint32{0x00b49f65, 0x030b93fa, 0x03a19561, 0x02c2f201, 0x02376626, 0x0018347c, 0x0128a9ff, 0x007eb265, 0x010bedf6, 0x002bac9f}}}, + {X: Field{[10]uint32{0x017807ba, 0x00e7d28a, 0x01ba7d74, 0x00bc3784, 0x01e5ec91, 0x006ddbec, 0x012073e7, 0x024625b2, 0x00c7f45f, 0x0001e799}}, Y: Field{[10]uint32{0x0023c921, 0x0177b5d6, 0x02e7efe8, 0x02f3258c, 0x00d17685, 0x0097626d, 0x011abe38, 0x0258f162, 0x0036b354, 0x0015f64d}}}, + {X: Field{[10]uint32{0x0042274e, 0x00c7daa3, 0x0206c78a, 0x034b7af3, 0x0369f422, 0x002f690f, 0x02f057b6, 0x00e1a1c7, 0x02dffccb, 0x003588cb}}, Y: Field{[10]uint32{0x000ef826, 0x0331f5fb, 0x004d6d62, 0x018eb0f7, 0x0158a18f, 0x026d7df4, 0x03472f22, 0x038274db, 0x03a0b2e2, 0x0004f6bb}}}, + {X: Field{[10]uint32{0x006e368e, 0x02ed99d1, 0x03ea6a7e, 0x0349228c, 0x00722d78, 0x020a2516, 0x038fc00c, 0x038e94dc, 0x0298b2d6, 0x0008703c}}, Y: Field{[10]uint32{0x03062383, 0x019837f7, 0x034a2b20, 0x016b97cc, 0x02cbb3f2, 0x017695a7, 0x015eede1, 0x03f656e2, 0x03ec17d2, 0x00219d54}}}, + {X: Field{[10]uint32{0x003196c8, 0x00b2bb93, 0x031d0f4f, 0x0070ff66, 0x00eaa231, 0x013dd1c8, 0x011621c5, 0x03de6755, 0x01010dcb, 0x0007468f}}, Y: Field{[10]uint32{0x039734eb, 0x03ebab90, 0x0233d6f8, 0x00701f97, 0x005453bf, 0x00e51763, 0x01b1a301, 0x03e4321e, 0x01159900, 0x003569e8}}}, + {X: Field{[10]uint32{0x00e76735, 0x02ec770a, 0x025614f4, 0x0171dd4e, 0x0162e26d, 0x0160a854, 0x00a97d18, 0x027b7803, 0x02808fa9, 0x0015d221}}, Y: Field{[10]uint32{0x03c17c6f, 0x02876e4b, 0x02b1eeba, 0x00d2576c, 0x00b3bbee, 0x03b06925, 0x000ecc54, 0x03b78373, 0x00597117, 0x0037af6a}}}, + {X: Field{[10]uint32{0x0391715a, 0x03eb7225, 0x0207c9f6, 0x034c7073, 0x03607194, 0x0322f7a7, 0x01e820c4, 0x037fe938, 0x00d34ce1, 0x002db74d}}, Y: Field{[10]uint32{0x0239cc9d, 0x02194862, 0x03200717, 0x0150e810, 0x031487e5, 0x0126f1f3, 0x01c0ec90, 0x0354ccab, 0x0068e405, 0x0022fd22}}}, + {X: Field{[10]uint32{0x0291d0de, 0x01412f52, 0x031600f3, 0x01b27882, 0x035821df, 0x0148b7e6, 0x02bc8871, 0x021dcb28, 0x02d56908, 0x00243e77}}, Y: Field{[10]uint32{0x02f902ac, 0x03ae9dba, 0x017f9a2b, 0x006c498e, 0x01f76b3c, 0x011250ce, 0x010af26b, 0x0129bbf7, 0x024add53, 0x000345f9}}}, + {X: Field{[10]uint32{0x032cfa59, 0x02b3195a, 0x0299d260, 0x00e66c40, 0x03db07b2, 0x00c00a1c, 0x006e4a0c, 0x024d4e44, 0x00e858d1, 0x003157cd}}, Y: Field{[10]uint32{0x00e50f5b, 0x0058b78c, 0x00dda11f, 0x03ef05ae, 0x009a8fe1, 0x00b3becd, 0x0149f7fe, 0x0288b9ca, 0x00d474b5, 0x001f67ce}}}, + {X: Field{[10]uint32{0x02b8ecad, 0x03c5c895, 0x025750c5, 0x034adbd4, 0x03f39c16, 0x0128ad89, 0x03f8452c, 0x0207166c, 0x0192d389, 0x001ab910}}, Y: Field{[10]uint32{0x030b099d, 0x0365c55f, 0x02d61603, 0x0073b69a, 0x03fa61de, 0x00e3925c, 0x01c4b91e, 0x00812a7b, 0x00dd7c49, 0x0026eeea}}}, + {X: Field{[10]uint32{0x03dcffbc, 0x0113bbdb, 0x0379ae03, 0x007db362, 0x00bd0c25, 0x02ad9113, 0x013ad99e, 0x006cd9aa, 0x0239423e, 0x000ce9f5}}, Y: Field{[10]uint32{0x0011c61e, 0x021b8ee5, 0x002c02bb, 0x024756eb, 0x032f0678, 0x027b48b4, 0x012684fc, 0x0328abe9, 0x02cc006d, 0x00309844}}}, + {X: Field{[10]uint32{0x0159af0a, 0x010351fc, 0x024b2ea6, 0x03643d4a, 0x013380c1, 0x01db29b1, 0x03a6642a, 0x0219c0a3, 0x0331eac4, 0x001211c4}}, Y: Field{[10]uint32{0x00142704, 0x021b51e8, 0x0314d5b5, 0x0251c169, 0x01c5047b, 0x022ed87d, 0x0103a311, 0x038073ee, 0x014693fd, 0x002d3aa1}}}, + {X: Field{[10]uint32{0x02587917, 0x0004a970, 0x00e86d46, 0x01e6fae3, 0x0172defd, 0x00f492dc, 0x03faab74, 0x00c70133, 0x00399ae7, 0x0001596b}}, Y: Field{[10]uint32{0x00bbab48, 0x000a6066, 0x000d779c, 0x0227f53d, 0x02146649, 0x0026a591, 0x0011fece, 0x00c7abf1, 0x02a5d450, 0x0037ad5a}}}, + {X: Field{[10]uint32{0x00314c0b, 0x01c21726, 0x03773eaa, 0x0251b72f, 0x00995490, 0x03168cbf, 0x00d017d0, 0x00adf5aa, 0x00b53b6c, 0x0025920e}}, Y: Field{[10]uint32{0x01130b97, 0x03e717bf, 0x02a2f6ca, 0x027be810, 0x03ac6fdc, 0x039daf5d, 0x0271ee0e, 0x000d3f22, 0x033cec44, 0x000b6be7}}}, + {X: Field{[10]uint32{0x00eb88d5, 0x038bc7b1, 0x0087c4aa, 0x00340bbe, 0x006f9bff, 0x039522c5, 0x003522da, 0x001e2e76, 0x02907b8d, 0x002f0036}}, Y: Field{[10]uint32{0x00ddb152, 0x03856908, 0x02befeaf, 0x01fed066, 0x020fef4d, 0x0132ca7d, 0x0321dd13, 0x036dcd97, 0x0111f9e2, 0x001af43f}}}, + {X: Field{[10]uint32{0x03a7bea4, 0x01156af6, 0x0111d075, 0x02cc9fec, 0x00a2082b, 0x03d79543, 0x03dd8ae9, 0x027c33c4, 0x005500f8, 0x0006967e}}, Y: Field{[10]uint32{0x0200c823, 0x0321c29d, 0x035c2150, 0x01db8b90, 0x00e77e6e, 0x02997142, 0x0225c530, 0x02b7ff27, 0x0340d460, 0x001fa8be}}}, + {X: Field{[10]uint32{0x02ccc764, 0x01662953, 0x02fdad88, 0x028c9e69, 0x00452706, 0x015a5409, 0x01081624, 0x03f1ab51, 0x011bd3bf, 0x001e8ed8}}, Y: Field{[10]uint32{0x02233145, 0x0286b48c, 0x030d368a, 0x035a875c, 0x0283d30b, 0x015274ea, 0x033d6efe, 0x01b94b21, 0x01896806, 0x0005b825}}}, + {X: Field{[10]uint32{0x015d6d91, 0x01786dc0, 0x02bef4cd, 0x00a14444, 0x02a0a1cc, 0x0315b89e, 0x02fa95b5, 0x002969e1, 0x01779cbe, 0x000bfb55}}, Y: Field{[10]uint32{0x014bddfa, 0x02751b8b, 0x02637995, 0x0399bf97, 0x02f66fd3, 0x01b71942, 0x01691fa3, 0x01fed58f, 0x0027b229, 0x001fbab3}}}, + {X: Field{[10]uint32{0x034a9558, 0x0152835d, 0x02d02f01, 0x0377c6cd, 0x03018326, 0x02faed12, 0x03efaea6, 0x037d959c, 0x0217952e, 0x00099eb4}}, Y: Field{[10]uint32{0x01a13fef, 0x01456ec4, 0x01e6d907, 0x02de8121, 0x01703cc9, 0x02fd5280, 0x00a7b330, 0x017979a2, 0x00c07e9d, 0x001dd64f}}}, + {X: Field{[10]uint32{0x036687e8, 0x0017b85f, 0x02b106fa, 0x006f29fa, 0x010e0d34, 0x017cc851, 0x038cceca, 0x026721a5, 0x022c239b, 0x003adbb5}}, Y: Field{[10]uint32{0x02c0a241, 0x027eff14, 0x0133b662, 0x02e24187, 0x012a6e6a, 0x00eb61d5, 0x029b2258, 0x02a3a338, 0x022250f6, 0x002b6267}}}, + {X: Field{[10]uint32{0x030a9e5b, 0x00425350, 0x027b1089, 0x026fe232, 0x035087a5, 0x005a1b13, 0x00ef33c4, 0x00853c2d, 0x017ce03d, 0x0032973c}}, Y: Field{[10]uint32{0x00989ce9, 0x018eb4f4, 0x0003ef99, 0x0201c95e, 0x01e19351, 0x023a80a6, 0x03ae683c, 0x01d6eb3f, 0x02eb473f, 0x0005f913}}}, + {X: Field{[10]uint32{0x01e82f7c, 0x01c85794, 0x03a2fe4c, 0x033d1988, 0x00c82f21, 0x024f9adb, 0x03035eca, 0x0190b98f, 0x029cacf0, 0x00131ef0}}, Y: Field{[10]uint32{0x02776875, 0x034af8a0, 0x01322e59, 0x03903c7d, 0x03eb537b, 0x0102900a, 0x03f64e7e, 0x01e5b050, 0x036e8756, 0x001f1579}}}, + {X: Field{[10]uint32{0x031058e3, 0x0186f0d9, 0x03d2080b, 0x02108e27, 0x03797831, 0x02b3d375, 0x03e50130, 0x0227c140, 0x00e9b422, 0x0015f2ae}}, Y: Field{[10]uint32{0x03d9e2bc, 0x0262aaa7, 0x012ca7c3, 0x011650c3, 0x022b048c, 0x01cba6fb, 0x030b884e, 0x009cf69e, 0x03186671, 0x001e0894}}}, + {X: Field{[10]uint32{0x03c4823e, 0x03d8c426, 0x02c2753f, 0x01cbb4b9, 0x01abf3d2, 0x015a10fd, 0x0013a82a, 0x0030d37a, 0x023df112, 0x000f0afc}}, Y: Field{[10]uint32{0x013f1990, 0x03add64b, 0x029d0d08, 0x00a384bf, 0x00767409, 0x032772e2, 0x00c5b47e, 0x0348cf38, 0x036388ae, 0x0005d676}}}, + {X: Field{[10]uint32{0x02ab38d2, 0x0206c683, 0x02856d85, 0x0288a34d, 0x0234170a, 0x0373f774, 0x03348dc3, 0x01d0a834, 0x01ac83e0, 0x0030042a}}, Y: Field{[10]uint32{0x0076aafd, 0x009da10f, 0x038ea9cd, 0x004111ad, 0x002b2dc8, 0x02433e48, 0x031da1f1, 0x029a3f87, 0x03ed0644, 0x0018d325}}}, + {X: Field{[10]uint32{0x02071994, 0x01164ea4, 0x01660550, 0x00fee8ea, 0x014f1b77, 0x00f6722a, 0x00cb632b, 0x0291a039, 0x01ee548b, 0x00292af6}}, Y: Field{[10]uint32{0x00f87182, 0x017a3bf2, 0x00b6111b, 0x0123afff, 0x01c9390b, 0x0100d597, 0x02ab00a8, 0x00ca5ff1, 0x026aba26, 0x000e8509}}}, + {X: Field{[10]uint32{0x00dda172, 0x028ccf7a, 0x007115a7, 0x039666de, 0x01d68b82, 0x03b3bff9, 0x0008540d, 0x0057c717, 0x0052efc1, 0x003700b2}}, Y: Field{[10]uint32{0x036c29c6, 0x01febd57, 0x009ba236, 0x03732e15, 0x028a35f8, 0x023332a8, 0x03f4eaed, 0x03a10b29, 0x013a8e1a, 0x00393996}}}, + {X: Field{[10]uint32{0x01ec57c8, 0x036d68a4, 0x01cac1b6, 0x0205c85d, 0x000a54fc, 0x03ca7f5f, 0x00a5a4b5, 0x008bff0a, 0x01e82238, 0x003b91da}}, Y: Field{[10]uint32{0x0020385f, 0x004ff9b0, 0x00619384, 0x0050a025, 0x00338905, 0x02c05631, 0x0178b9a2, 0x0323ae82, 0x02bc4076, 0x003f28b1}}}, + {X: Field{[10]uint32{0x013ef066, 0x0349c9f6, 0x032abb11, 0x033cc493, 0x002cf990, 0x03c2230e, 0x035a6dec, 0x00303f50, 0x001d3491, 0x003cc01b}}, Y: Field{[10]uint32{0x0149eae2, 0x00da4132, 0x00d9b82d, 0x01b2237f, 0x03f8016a, 0x00d73c99, 0x01ebaf12, 0x01fd468a, 0x01f5aa36, 0x00001d8a}}}, + {X: Field{[10]uint32{0x027313b7, 0x02e4d5c7, 0x030f3794, 0x001124cb, 0x02b1b9c8, 0x00970ff5, 0x01f0a3e3, 0x0159a44a, 0x003d07bf, 0x001f3ec8}}, Y: Field{[10]uint32{0x002bc60f, 0x0116ed3a, 0x02d3982a, 0x03f99c60, 0x01e4ae08, 0x021ec05b, 0x00c42173, 0x0270e322, 0x01fd2433, 0x0013ddae}}}, + {X: Field{[10]uint32{0x02312c0a, 0x01343acc, 0x03206a32, 0x01c60eba, 0x01efeabe, 0x01c1156b, 0x0130be8e, 0x00264c27, 0x00e036e0, 0x0003328f}}, Y: Field{[10]uint32{0x0215b9e5, 0x035fa345, 0x018b20ef, 0x03766369, 0x0091b437, 0x00163223, 0x00637252, 0x01f1b4d3, 0x0258fe94, 0x00259d2b}}}, + {X: Field{[10]uint32{0x02b0d9c8, 0x02b39982, 0x01212c66, 0x03488e27, 0x01d9815f, 0x007e635c, 0x01a071c0, 0x01709e0b, 0x014881cd, 0x0027ed90}}, Y: Field{[10]uint32{0x01813251, 0x00f04fb4, 0x0309bce2, 0x011e71da, 0x03d11d50, 0x0013c71c, 0x035e515c, 0x00dd097d, 0x00541a51, 0x00013095}}}, + {X: Field{[10]uint32{0x01558b25, 0x001c2d94, 0x01542c2c, 0x03601aa8, 0x01eb5d2a, 0x009582d3, 0x0139de23, 0x03516443, 0x02bf03e3, 0x000076ef}}, Y: Field{[10]uint32{0x010b9db1, 0x02e739cb, 0x01876877, 0x0145a60c, 0x01940eae, 0x01d21328, 0x014753fd, 0x03924106, 0x031c2e94, 0x003b1a39}}}, + {X: Field{[10]uint32{0x006bb5f7, 0x00428fe9, 0x01e215a2, 0x03a49061, 0x015a890e, 0x01321350, 0x002856b0, 0x01d085dd, 0x021992f4, 0x001dd474}}, Y: Field{[10]uint32{0x03237fef, 0x00f19206, 0x01a2273a, 0x028532b1, 0x036371f6, 0x03da6305, 0x01327493, 0x0321b3b7, 0x01c5b770, 0x000a456a}}}, + {X: Field{[10]uint32{0x00f36a2d, 0x025ff2bb, 0x01737707, 0x02593847, 0x01e7b89c, 0x033d992c, 0x0382983e, 0x0270f881, 0x01a05b18, 0x000e6a12}}, Y: Field{[10]uint32{0x013690c5, 0x02d7b440, 0x01114f43, 0x014d53d0, 0x0148e692, 0x019a1625, 0x02274d15, 0x036c1af8, 0x00f16191, 0x0034f9be}}}, + {X: Field{[10]uint32{0x039b25bb, 0x0045f2f9, 0x01dea768, 0x00a2e2ff, 0x0080e3d6, 0x0104b59f, 0x0395522d, 0x03b483e7, 0x0125b29c, 0x0019f958}}, Y: Field{[10]uint32{0x0103da21, 0x01edc4a3, 0x0257f916, 0x033c19ba, 0x033c83ed, 0x0340b4a4, 0x020fd883, 0x008fd12a, 0x00157e3c, 0x0018237f}}}, + {X: Field{[10]uint32{0x038f1525, 0x008a6ded, 0x027bb5cb, 0x03bd4a4c, 0x02ecdd01, 0x02560e7d, 0x01eec20e, 0x0356774c, 0x02da02f7, 0x0002946b}}, Y: Field{[10]uint32{0x03847903, 0x0024b035, 0x02cdd1f0, 0x03420364, 0x036621c7, 0x031a062a, 0x038b18f4, 0x0218acf4, 0x03df93fb, 0x001c1259}}}, + {X: Field{[10]uint32{0x02c1745d, 0x019308da, 0x01e7aaae, 0x01bfed22, 0x01f8bcb3, 0x00ec00e2, 0x02b71b77, 0x032d1bd7, 0x013e73a1, 0x0032601a}}, Y: Field{[10]uint32{0x02fae474, 0x0330162d, 0x02bd4274, 0x03bc01c1, 0x00b3b21f, 0x03eee9ba, 0x01853e56, 0x01fbeddc, 0x008efe6b, 0x002fcee0}}}, + {X: Field{[10]uint32{0x021391a9, 0x01e8dd02, 0x007136b1, 0x034a5235, 0x0394167b, 0x025d7a7c, 0x0227aab2, 0x013070a3, 0x0130bcf5, 0x0031e37e}}, Y: Field{[10]uint32{0x004d9ae7, 0x023c378c, 0x01e5e031, 0x00886f19, 0x00163bfe, 0x020ef878, 0x03b5e9a2, 0x01e6f956, 0x03366d3a, 0x00269093}}}, + {X: Field{[10]uint32{0x01284089, 0x010bf11b, 0x016e5fb2, 0x039399cc, 0x00a998b1, 0x03dfc794, 0x0168ebc8, 0x03cea798, 0x03bcc6d2, 0x00269d7d}}, Y: Field{[10]uint32{0x03169e01, 0x03cc566f, 0x037bfd40, 0x030de1e5, 0x0239bf6e, 0x03f1f8d6, 0x0106c6e8, 0x02e6a8eb, 0x00e6dff8, 0x00032d1e}}}, + {X: Field{[10]uint32{0x036e6224, 0x02dc68e2, 0x001c0d20, 0x01f2dbe0, 0x007eba1e, 0x01739cf9, 0x008277d9, 0x02cf9f6d, 0x031adb0b, 0x001dac84}}, Y: Field{[10]uint32{0x0179263a, 0x034924a6, 0x007b2f79, 0x03e04831, 0x03196c5a, 0x034a1dcd, 0x01e36e6c, 0x03956c2a, 0x00daef60, 0x0000cb8f}}}, + {X: Field{[10]uint32{0x001384e1, 0x0290acd7, 0x01e68f32, 0x011b7ae3, 0x03cdcc4c, 0x036a2520, 0x01f96c93, 0x025c77d5, 0x03614ec5, 0x00086260}}, Y: Field{[10]uint32{0x026dac3e, 0x021ad7c4, 0x02c97d64, 0x012b6726, 0x01c5eda5, 0x01dda5d0, 0x02a2d224, 0x0254eac8, 0x005044a4, 0x000b0e5b}}}, + {X: Field{[10]uint32{0x03db8adc, 0x013e1d78, 0x002a9aa1, 0x029b3d76, 0x03a08449, 0x014a3fb2, 0x01dbe1ca, 0x00603440, 0x02494e9d, 0x002b02c2}}, Y: Field{[10]uint32{0x00412554, 0x03bf8f9c, 0x02dd9b2a, 0x027cc518, 0x00371dd1, 0x01a9aa3a, 0x0153b9c5, 0x02d60cb7, 0x001225a1, 0x0009b475}}}, + {X: Field{[10]uint32{0x00e04625, 0x029b09cc, 0x00a1b6dc, 0x0336efc1, 0x029d1a78, 0x017d65a8, 0x02d33297, 0x02997ef5, 0x018c0851, 0x003e1a6d}}, Y: Field{[10]uint32{0x02a5bff0, 0x02eaec31, 0x01b09c3c, 0x006ee2e4, 0x00a0cfb3, 0x00526527, 0x00b1603e, 0x0171cb06, 0x0344fc6f, 0x001037b8}}}, + {X: Field{[10]uint32{0x01544c3a, 0x01e35bae, 0x032aaecf, 0x00ea39f5, 0x01a640a4, 0x01cf18fb, 0x004a5f22, 0x00943e26, 0x02db2406, 0x003dd3c0}}, Y: Field{[10]uint32{0x0386185b, 0x02bd64f3, 0x02aea1c0, 0x01e87bba, 0x015e364f, 0x017caf3c, 0x03c1a618, 0x007a4a28, 0x026dcacc, 0x00220b8e}}}, + {X: Field{[10]uint32{0x027ea65d, 0x0250ea81, 0x0069ff3d, 0x01412dfa, 0x0288c390, 0x002a9a74, 0x03c9284a, 0x0157acba, 0x02b61d67, 0x0030184f}}, Y: Field{[10]uint32{0x03848cba, 0x0084f149, 0x02c09fe4, 0x006fc34d, 0x0129931c, 0x01764a27, 0x03a89665, 0x0320b92b, 0x02e527b5, 0x001cbd86}}}, + {X: Field{[10]uint32{0x031285db, 0x00e7c23c, 0x007a7eb7, 0x018d490c, 0x00ae0dbf, 0x0045ebac, 0x00fd8c47, 0x002298f0, 0x039860ba, 0x003ad9bf}}, Y: Field{[10]uint32{0x03ddc5d5, 0x01d456a1, 0x0261655c, 0x03cc1dd3, 0x027d3662, 0x03903d2e, 0x005dfb94, 0x03caba2c, 0x02ca54bc, 0x00030c50}}}, + {X: Field{[10]uint32{0x004a861d, 0x0145bc3b, 0x015b871a, 0x005455b0, 0x02e41c6b, 0x0294d180, 0x025d58bc, 0x018187f0, 0x00e6a125, 0x000e9c42}}, Y: Field{[10]uint32{0x004393a6, 0x00c1938f, 0x01226a18, 0x035d9b7c, 0x00957bfc, 0x005f9fa2, 0x011b5bec, 0x02aec806, 0x0102041c, 0x0036ab8b}}}, + {X: Field{[10]uint32{0x00f89d5f, 0x03a500ee, 0x00958949, 0x03cd39d1, 0x00ea1a2f, 0x02c817cb, 0x02e73717, 0x01a744cf, 0x0258c831, 0x00345f8e}}, Y: Field{[10]uint32{0x018b1a20, 0x01ffcc98, 0x010225ac, 0x02e60729, 0x012d75fc, 0x034574d2, 0x00ffafa6, 0x03662e48, 0x037d69e5, 0x002630d7}}}, + {X: Field{[10]uint32{0x03f6541c, 0x00daeac2, 0x01385fff, 0x0353dd9e, 0x0298caf6, 0x018638bf, 0x0350cbf2, 0x02e3b450, 0x0092cefb, 0x0035b8ca}}, Y: Field{[10]uint32{0x02636298, 0x0207af6c, 0x0021e080, 0x02f3b6f8, 0x00976196, 0x015bc926, 0x0072b553, 0x017b001e, 0x022ebe0f, 0x001c5d51}}}, + {X: Field{[10]uint32{0x02ffef75, 0x01777e02, 0x0229186d, 0x02ba4ea9, 0x0282ddc8, 0x00e3b001, 0x00e2182f, 0x0002b9ba, 0x01ff60e9, 0x000c6352}}, Y: Field{[10]uint32{0x026333b2, 0x02205981, 0x00831a98, 0x03aef8a2, 0x0008dcc3, 0x037daa9c, 0x02d4fd8f, 0x01853707, 0x0027dd7d, 0x001ba5fb}}}, + {X: Field{[10]uint32{0x00cf6346, 0x03e05126, 0x0367c5a2, 0x00ada35b, 0x01c075e7, 0x01616aef, 0x00ea5aeb, 0x036e2e9a, 0x02301772, 0x003f5be7}}, Y: Field{[10]uint32{0x0128d2c0, 0x03aace07, 0x001254d4, 0x00c2abfd, 0x02d76082, 0x01610d55, 0x01c5f513, 0x016f5729, 0x02e76477, 0x0036b745}}}, + {X: Field{[10]uint32{0x002ddd36, 0x02b90e86, 0x00d31566, 0x00aba558, 0x00f07428, 0x02f39da3, 0x00ed08d4, 0x011d86a4, 0x0338a2c7, 0x0023f896}}, Y: Field{[10]uint32{0x024c23a2, 0x0386a087, 0x015c73f8, 0x010c9c74, 0x0251d668, 0x03ef7f8b, 0x00da1b32, 0x02ade28b, 0x004a77c6, 0x001bb87a}}}, + {X: Field{[10]uint32{0x0393bef8, 0x03fae665, 0x03e5d2e6, 0x02ca91b5, 0x013e12ba, 0x01afee05, 0x0217bcff, 0x023fbd2b, 0x02d288ed, 0x000df3c3}}, Y: Field{[10]uint32{0x03e3e0d3, 0x02851b6e, 0x03339119, 0x01ec85e4, 0x00e17a41, 0x036d709e, 0x01254f4d, 0x001d4726, 0x025718eb, 0x00024b9e}}}, + {X: Field{[10]uint32{0x03bf403c, 0x01611081, 0x011e0091, 0x013d4c7b, 0x00eca0e0, 0x0180003a, 0x01eb812b, 0x034321db, 0x006106b9, 0x001a2308}}, Y: Field{[10]uint32{0x00cc01fe, 0x01fac517, 0x035bda8b, 0x020fcb3a, 0x00011d85, 0x008802f7, 0x0112e763, 0x01354f7d, 0x02ba41ba, 0x002ead2c}}}, + {X: Field{[10]uint32{0x00b3d804, 0x020e569c, 0x004e9d86, 0x0213626a, 0x02d1b535, 0x00e59485, 0x022371d6, 0x0254d760, 0x02aaf539, 0x0012d32a}}, Y: Field{[10]uint32{0x01ee73d2, 0x01ef5014, 0x0070ae4c, 0x02444571, 0x02652fbd, 0x01d8793a, 0x001d0437, 0x001268ec, 0x03afcd18, 0x000f7749}}}, + {X: Field{[10]uint32{0x02fa1d2e, 0x013754b8, 0x00e56144, 0x02609388, 0x0347cca3, 0x022ce6d7, 0x00ed9a51, 0x036981d6, 0x03c44135, 0x001bd6b2}}, Y: Field{[10]uint32{0x02cd58c4, 0x0134df12, 0x02569052, 0x035ccd7e, 0x02f729f1, 0x00bc65e8, 0x02f2efc0, 0x03653522, 0x0146e5f6, 0x00017727}}}, + {X: Field{[10]uint32{0x0267fc42, 0x010c4f70, 0x008c6ce9, 0x008dce0a, 0x02661d6f, 0x022dad88, 0x01a527bf, 0x032e45bf, 0x00493dff, 0x001e74b5}}, Y: Field{[10]uint32{0x020c08db, 0x0017cdc2, 0x01de1d28, 0x0247575b, 0x038d9027, 0x03ef2454, 0x0302823d, 0x03dff2f8, 0x03f13fa8, 0x002c9a0e}}}, + {X: Field{[10]uint32{0x01f95524, 0x0002ccfe, 0x00118c08, 0x02f00860, 0x01f3915d, 0x03319f50, 0x037a6b07, 0x01ee7271, 0x007e246b, 0x000cea3a}}, Y: Field{[10]uint32{0x0116ff8f, 0x00d0cce7, 0x0229470b, 0x03bf736c, 0x01207d30, 0x00b97116, 0x015e36be, 0x03417c99, 0x004c584f, 0x002eaa09}}}, + {X: Field{[10]uint32{0x01868e95, 0x036aae9e, 0x03a193f4, 0x02c83ee9, 0x013235dd, 0x012f5518, 0x0161a7ae, 0x01f7e081, 0x0132f388, 0x002685a4}}, Y: Field{[10]uint32{0x00630bcd, 0x02408a51, 0x03bc0719, 0x000397e2, 0x02a233b1, 0x02a59656, 0x01452161, 0x011b110a, 0x03179954, 0x001a1bf0}}}, + {X: Field{[10]uint32{0x0383ac42, 0x01184121, 0x026fc290, 0x0278b297, 0x01c85998, 0x010e7cbd, 0x03dc7e90, 0x0338fe6a, 0x00f48405, 0x001e42dd}}, Y: Field{[10]uint32{0x0224a701, 0x02cc12e2, 0x028a66eb, 0x00aec6a4, 0x011dc676, 0x01c44697, 0x00593a37, 0x02172a64, 0x01135623, 0x00225872}}}, + {X: Field{[10]uint32{0x02f9e49c, 0x021ea8dc, 0x02438b54, 0x0217d493, 0x02954717, 0x03ccbf35, 0x00aaeb69, 0x030b661f, 0x00cfae1f, 0x0038a8f4}}, Y: Field{[10]uint32{0x00c93046, 0x00b4cdc5, 0x008db498, 0x000e63ed, 0x0211f7dc, 0x00233914, 0x03edb543, 0x01c230d5, 0x0205ecf2, 0x00273090}}}, + {X: Field{[10]uint32{0x020bcbea, 0x03087b25, 0x03a7a2b3, 0x00f98f8e, 0x00cfd265, 0x01bcab9a, 0x01372b19, 0x030655db, 0x00435992, 0x00032cc3}}, Y: Field{[10]uint32{0x01ccd0b4, 0x01f374e2, 0x0083d498, 0x016099a9, 0x02fb6830, 0x02d246e2, 0x009cba14, 0x00e326b3, 0x01b97083, 0x003d95cd}}}, + {X: Field{[10]uint32{0x00e8b46a, 0x0090e044, 0x01d2dfe9, 0x01adf265, 0x03296ca6, 0x03ecf9a8, 0x018ffb16, 0x002fb98a, 0x0095d631, 0x0007ebb7}}, Y: Field{[10]uint32{0x00725089, 0x02f493ee, 0x012cee7b, 0x03391097, 0x0226d9f0, 0x02f62dd9, 0x0378d032, 0x03a41394, 0x023f8201, 0x000d40e7}}}, + {X: Field{[10]uint32{0x02b3e8f9, 0x031d42d4, 0x03f318f6, 0x014c78a2, 0x018e93ea, 0x03546cfd, 0x005410ce, 0x030744fc, 0x035a2be8, 0x002991b3}}, Y: Field{[10]uint32{0x00c102bb, 0x03d19429, 0x029bda01, 0x03911950, 0x01e427d7, 0x00794744, 0x03a7e78e, 0x02a482d1, 0x02cb7727, 0x00163163}}}, + {X: Field{[10]uint32{0x02be2205, 0x02f00837, 0x02d39dce, 0x031857b7, 0x011c77c0, 0x01730c8b, 0x038c397a, 0x01f4e3a6, 0x03271853, 0x000c9cd1}}, Y: Field{[10]uint32{0x01a42d65, 0x00092402, 0x032bb72c, 0x012f0f94, 0x01c1ea78, 0x011d69f5, 0x007b072d, 0x03d82f53, 0x008958c3, 0x0030b7af}}}, + {X: Field{[10]uint32{0x0172827e, 0x00bce4f5, 0x03f4d4ce, 0x008b9f6c, 0x009906dd, 0x024c289c, 0x028c095d, 0x02884b01, 0x03180855, 0x0005a869}}, Y: Field{[10]uint32{0x0115605c, 0x01adc934, 0x00660219, 0x005aa2dd, 0x01b1ef30, 0x02fa3df7, 0x0280335c, 0x02a7adb3, 0x024bb30b, 0x0034e275}}}, + {X: Field{[10]uint32{0x03687596, 0x02bd33c8, 0x002e9a61, 0x03e129d0, 0x00eeb1eb, 0x01859ba4, 0x0294b867, 0x0155c4cd, 0x01145de2, 0x002d2fd3}}, Y: Field{[10]uint32{0x03d11242, 0x00bf046e, 0x023dbfac, 0x0186962b, 0x0237d389, 0x02d817a5, 0x018640a6, 0x025f958c, 0x00a4d823, 0x001276c8}}}, + {X: Field{[10]uint32{0x03892630, 0x019ee6c2, 0x0164bbf3, 0x004fa42a, 0x03fc3114, 0x0364e032, 0x00a0de08, 0x01997906, 0x03a9ccf4, 0x00353b59}}, Y: Field{[10]uint32{0x011df131, 0x0017462d, 0x015fa371, 0x01dd86c1, 0x0007472b, 0x00924dd9, 0x028a9729, 0x00220c7f, 0x017ce79a, 0x0023fdf9}}}, + {X: Field{[10]uint32{0x014fe70d, 0x03c7d1fd, 0x01366b32, 0x0373e45b, 0x0044d5df, 0x03070b29, 0x02e906f0, 0x00fbc83a, 0x02f19f41, 0x0022b495}}, Y: Field{[10]uint32{0x02d34da7, 0x0090fb69, 0x02ff494e, 0x01783497, 0x0134778f, 0x00725c86, 0x0147f659, 0x01371609, 0x03418d2c, 0x002f7bba}}}, + {X: Field{[10]uint32{0x01f17f8e, 0x018a854c, 0x0362f07f, 0x03b887c7, 0x01c67d22, 0x029561ee, 0x03723e01, 0x02d7c7c4, 0x02fafe55, 0x002374f8}}, Y: Field{[10]uint32{0x03c88cb0, 0x02fe4fd7, 0x0160b4b4, 0x0072e99a, 0x028f2db4, 0x036711b1, 0x017c6b65, 0x01c5f957, 0x02a47d6b, 0x002a88f4}}}, + {X: Field{[10]uint32{0x00b3d0f6, 0x01de9741, 0x01a678e5, 0x005d5536, 0x0103c139, 0x01ec3a4e, 0x034db01a, 0x00c2beb0, 0x02282a8e, 0x00113f67}}, Y: Field{[10]uint32{0x011a61d0, 0x003305a4, 0x0290e484, 0x001b32c4, 0x0218927d, 0x0256f6f8, 0x0269d592, 0x0066ce85, 0x00613533, 0x0032c1e4}}}, + {X: Field{[10]uint32{0x00b7aa42, 0x02c69c62, 0x02477746, 0x03d39691, 0x022db7c9, 0x025917d1, 0x01d2aa9c, 0x03b5960c, 0x02024464, 0x00174926}}, Y: Field{[10]uint32{0x037281d0, 0x03e2c501, 0x01a12b54, 0x03efca53, 0x0023bb8d, 0x0022d348, 0x0195f80e, 0x01ad70b1, 0x0386527d, 0x000affdc}}}, + {X: Field{[10]uint32{0x0210fb23, 0x0311f203, 0x008ca85a, 0x01502e50, 0x01ddd18b, 0x02247120, 0x01e123cd, 0x03547519, 0x00581edc, 0x003663ad}}, Y: Field{[10]uint32{0x00b4dcf2, 0x033086de, 0x010816a2, 0x005c6c99, 0x032b1537, 0x03c95326, 0x031f9e60, 0x01ab1bcb, 0x03bed375, 0x00056ff4}}}, + {X: Field{[10]uint32{0x00db6082, 0x02013591, 0x02eb5876, 0x01ba759c, 0x036edb48, 0x03a14543, 0x032134d2, 0x02bad884, 0x036919a2, 0x000bc4b0}}, Y: Field{[10]uint32{0x038cf73b, 0x004cf15f, 0x02dd0827, 0x031ef6a0, 0x0320834d, 0x030af438, 0x01264b8d, 0x00a313b7, 0x02dd3b4d, 0x00300447}}}, + {X: Field{[10]uint32{0x004b4624, 0x0005f0c5, 0x023e6f03, 0x00d23c1f, 0x02713260, 0x02f395ea, 0x01d35dfe, 0x0327e108, 0x02847099, 0x00136525}}, Y: Field{[10]uint32{0x01b673da, 0x02c7fff7, 0x02adb126, 0x0136c60b, 0x00b91f95, 0x022c1f68, 0x01b308fb, 0x01a71ca3, 0x0257d713, 0x0026bed6}}}, + {X: Field{[10]uint32{0x02af2466, 0x01a1c038, 0x008b2a97, 0x00936777, 0x020fca8f, 0x014aac5f, 0x020b39a7, 0x03c7238d, 0x01105e95, 0x0033c76e}}, Y: Field{[10]uint32{0x0247ca5f, 0x02371cfd, 0x020040ad, 0x029ecf4b, 0x015e645c, 0x02e59006, 0x001b94b4, 0x0219d29b, 0x0366c49c, 0x0039f267}}}, + {X: Field{[10]uint32{0x02a62b85, 0x0390a11a, 0x03f22a9e, 0x01fc16c9, 0x01d4b174, 0x00b19d61, 0x01d63a24, 0x03ea2ade, 0x00257d2f, 0x0039c7ad}}, Y: Field{[10]uint32{0x022c8865, 0x03d9099a, 0x033c3d10, 0x01e61c38, 0x023bc0a7, 0x0294f8d0, 0x0321f45d, 0x028dd9f5, 0x02ecf901, 0x002a41ab}}}, + {X: Field{[10]uint32{0x00559887, 0x0220aacc, 0x03b218f9, 0x01b289fa, 0x0321c58b, 0x0128a66f, 0x005c3e1b, 0x01d7d0ef, 0x03d30b25, 0x002f3661}}, Y: Field{[10]uint32{0x01483f65, 0x03a6ce87, 0x01b00761, 0x01324a27, 0x00690c1b, 0x018e93ad, 0x02fd894e, 0x02b89cae, 0x00c94339, 0x00100e01}}}, + {X: Field{[10]uint32{0x01f8cab0, 0x031f8d2c, 0x00042ea9, 0x02e9a559, 0x007a2beb, 0x029a7dd0, 0x01d2d5e8, 0x01c588e5, 0x00f748af, 0x002dd357}}, Y: Field{[10]uint32{0x0049b336, 0x015f7afa, 0x00a3ea3c, 0x02a9f73f, 0x035728df, 0x02be9150, 0x01e9a234, 0x03ed660d, 0x01db332b, 0x002d717f}}}, + {X: Field{[10]uint32{0x0160837d, 0x0146dc8d, 0x03edc572, 0x03b98cec, 0x01e9bc12, 0x02482faa, 0x03b3b13a, 0x0326b869, 0x02f59835, 0x0011bcf7}}, Y: Field{[10]uint32{0x010ce67b, 0x014f9a05, 0x02eca91d, 0x007040d7, 0x00818fb7, 0x01c0853b, 0x02a69778, 0x02e72cde, 0x021f2e8e, 0x00161ecb}}}, + {X: Field{[10]uint32{0x0267d572, 0x0133eddd, 0x018b6577, 0x02906457, 0x01a50ceb, 0x02ed80a6, 0x011f4d7c, 0x0025a379, 0x00fdeb3f, 0x00234d06}}, Y: Field{[10]uint32{0x00661db8, 0x014456ab, 0x022039d0, 0x00e03d2c, 0x03e8b3dd, 0x03d9ed31, 0x01da7c00, 0x02118aaa, 0x011016a2, 0x0033b9e6}}}, + {X: Field{[10]uint32{0x016f7c10, 0x033c84ab, 0x03bcf529, 0x01ede193, 0x0230f432, 0x02d9c94e, 0x020a672e, 0x01a575e2, 0x03094510, 0x002632c3}}, Y: Field{[10]uint32{0x020ab333, 0x0355abca, 0x0132f09f, 0x01d69af5, 0x03300fde, 0x00a14b47, 0x007e9b55, 0x0140d66d, 0x01ac4e1b, 0x0009654b}}}, + {X: Field{[10]uint32{0x0339a3cf, 0x02e6384a, 0x00effb58, 0x0132c0c3, 0x01a34c7c, 0x000f7841, 0x01383f3f, 0x01d7f129, 0x024c0ca0, 0x00258117}}, Y: Field{[10]uint32{0x0201bafe, 0x03548c5c, 0x00c6e8f2, 0x038e9412, 0x016ebd03, 0x02f577fb, 0x011f24f7, 0x010546e8, 0x00fd9223, 0x003d49ee}}}, + {X: Field{[10]uint32{0x01cc6030, 0x02fd5aa6, 0x0293e703, 0x03956642, 0x01c3f4b3, 0x035de5d8, 0x0226a9ca, 0x037be32e, 0x009142ad, 0x003c98ba}}, Y: Field{[10]uint32{0x030b594b, 0x00c8635b, 0x01ca1d1f, 0x02dcce4e, 0x035382c7, 0x0024bb3f, 0x0197dd67, 0x01aa403d, 0x036486c8, 0x0009d731}}}, + {X: Field{[10]uint32{0x016d17fe, 0x01c5f6c5, 0x016347cc, 0x0204f1b1, 0x03ad75ef, 0x03946eca, 0x01f7900b, 0x014cd97e, 0x0002ee17, 0x000335e7}}, Y: Field{[10]uint32{0x007a985d, 0x00000c65, 0x0394ac45, 0x023ad245, 0x014ff919, 0x01aaeeb8, 0x03260441, 0x0396f694, 0x00ffb30d, 0x002d7afa}}}, + {X: Field{[10]uint32{0x00f858f4, 0x00897e52, 0x009d280a, 0x00a73147, 0x02d9ba46, 0x018c20c2, 0x0122e03e, 0x01037780, 0x03225b1d, 0x000a2d2f}}, Y: Field{[10]uint32{0x00f3cac0, 0x00db894b, 0x027954ea, 0x03f2c439, 0x03aadf4f, 0x00c00a5e, 0x0134c6be, 0x01053529, 0x018998bb, 0x00091d58}}}, + {X: Field{[10]uint32{0x02ed2ff7, 0x02119731, 0x03ea016c, 0x00db1ec2, 0x03cc765c, 0x0184a297, 0x013344bc, 0x0177ce71, 0x02067dd5, 0x003c063c}}, Y: Field{[10]uint32{0x00aa7e66, 0x02803e39, 0x0261a960, 0x01da1b15, 0x00cda34a, 0x01454133, 0x02c1cd22, 0x02752b19, 0x02b2cd61, 0x00367f16}}}, + {X: Field{[10]uint32{0x024a7a13, 0x03621b10, 0x0394218e, 0x03c5222c, 0x027f661e, 0x03d1f2f6, 0x01dd5c74, 0x01b40a69, 0x00cf0808, 0x00125a5a}}, Y: Field{[10]uint32{0x021874e7, 0x012de1c7, 0x022dfc8d, 0x00909dd3, 0x00360b51, 0x01e71980, 0x017a3635, 0x0183803c, 0x03984420, 0x0035f637}}}, + {X: Field{[10]uint32{0x02efedab, 0x00405ac8, 0x03949892, 0x01728741, 0x03b98435, 0x00d80369, 0x02485749, 0x00eddda3, 0x0059e911, 0x00090b53}}, Y: Field{[10]uint32{0x020f42b1, 0x022de59e, 0x0257727a, 0x0081ac2b, 0x0342f509, 0x014155ce, 0x0228074a, 0x030bb58e, 0x03d7b0c8, 0x0011c373}}}, + {X: Field{[10]uint32{0x0385e8c7, 0x003d3744, 0x015861d2, 0x02f356ac, 0x03466280, 0x01794143, 0x004afacc, 0x01674e13, 0x00cc1a1a, 0x002dae01}}, Y: Field{[10]uint32{0x0121d439, 0x01e62ed9, 0x02d0c898, 0x019c2ec9, 0x0139b579, 0x00a0a7d0, 0x022a1d23, 0x00daa66e, 0x034602a6, 0x000bde24}}}, + {X: Field{[10]uint32{0x01918a4e, 0x02d26dc7, 0x011ca0d1, 0x00b4a931, 0x0346904b, 0x00a04092, 0x038048af, 0x017f74e2, 0x03d07ecc, 0x00370c28}}, Y: Field{[10]uint32{0x018cc917, 0x014469b0, 0x0110febb, 0x02d9e29f, 0x02b701f7, 0x024da952, 0x03536987, 0x003a5d63, 0x01b07055, 0x000c9902}}}, + {X: Field{[10]uint32{0x03d3fab8, 0x0057cad0, 0x013c20c0, 0x00d25de0, 0x005fb229, 0x03d3d12b, 0x02bb6280, 0x03ccc20e, 0x034d345b, 0x00387f90}}, Y: Field{[10]uint32{0x034c4d83, 0x0256c1dd, 0x03f7a59a, 0x00b0b735, 0x03d3b31b, 0x038f4581, 0x008df48c, 0x025eb130, 0x00a52af8, 0x0006c947}}}, + {X: Field{[10]uint32{0x02fb8d08, 0x03f5745d, 0x02060bd1, 0x004f3f5c, 0x0182c2f5, 0x039dd591, 0x03e4a40e, 0x03178abe, 0x00dae08a, 0x002a3b62}}, Y: Field{[10]uint32{0x00175729, 0x007e7ce1, 0x0081b77b, 0x023c74a5, 0x035cc2d9, 0x005eca9b, 0x02f5b537, 0x0258c3ee, 0x00b07441, 0x003d3ed8}}}, + {X: Field{[10]uint32{0x007c6481, 0x0295e40b, 0x0143f76f, 0x004e8389, 0x008e7707, 0x0314348a, 0x01c083ee, 0x02735f25, 0x0028de1e, 0x002d4b3e}}, Y: Field{[10]uint32{0x0375790f, 0x017abdc6, 0x02d833c9, 0x0314dd23, 0x0343eebd, 0x00f8ed4a, 0x03dc729d, 0x03eefe40, 0x01530046, 0x0018d68e}}}, + {X: Field{[10]uint32{0x021d5e83, 0x01e0a485, 0x0178e4dc, 0x015358d2, 0x00b1297c, 0x02ab64ff, 0x03957a94, 0x026ff732, 0x01aef76d, 0x001c081e}}, Y: Field{[10]uint32{0x02783b52, 0x00419096, 0x01f82c8c, 0x011712e5, 0x0132a43a, 0x0031b76e, 0x033a202e, 0x00714b4e, 0x008bf2d8, 0x001260f0}}}, + {X: Field{[10]uint32{0x0257bbf5, 0x00fb8baf, 0x009a0dd7, 0x02e544f3, 0x023ed3dc, 0x02d0de38, 0x00fe8cbd, 0x03873bbd, 0x00d18e9d, 0x00118e35}}, Y: Field{[10]uint32{0x0327e110, 0x01fbc832, 0x01e87cf7, 0x01029654, 0x020cb507, 0x007e8daf, 0x00853f75, 0x00c19a5a, 0x003245cc, 0x001587b8}}}, + {X: Field{[10]uint32{0x03386bfc, 0x02c8b64e, 0x039cbecf, 0x02024410, 0x01d98e48, 0x00f4280e, 0x021dc5ee, 0x02b77b55, 0x02b75fac, 0x003bacd3}}, Y: Field{[10]uint32{0x02e57c4c, 0x0308d269, 0x00af4c21, 0x00eb473d, 0x00e9d8f6, 0x030c46a5, 0x018db8c1, 0x03723015, 0x00ff05eb, 0x003cac8f}}}, + {X: Field{[10]uint32{0x012c45ca, 0x01a167b1, 0x0175e5c5, 0x0190f7dd, 0x01f70a8c, 0x03efa38e, 0x0107df0c, 0x00c84f07, 0x02e5becf, 0x0001fcb1}}, Y: Field{[10]uint32{0x02b6c89d, 0x03903788, 0x0189a77b, 0x03bac847, 0x02cf9d66, 0x03614794, 0x01a04248, 0x0276b83f, 0x01c01971, 0x00254126}}}, + {X: Field{[10]uint32{0x03e53647, 0x008cc0c8, 0x00f81856, 0x003daa54, 0x023cea09, 0x013e2c05, 0x0211064d, 0x0349f3df, 0x03221ec5, 0x001bb1d9}}, Y: Field{[10]uint32{0x0269a3d6, 0x02c5c0eb, 0x01254984, 0x02816b5d, 0x01d0aa7b, 0x0018f13f, 0x02ec7d0f, 0x03a0e723, 0x03579704, 0x0026c0f1}}}, + {X: Field{[10]uint32{0x024dea7e, 0x027e2914, 0x02f5499e, 0x01eb16ca, 0x01b44a70, 0x01e3d9f3, 0x03184b03, 0x017b2807, 0x029d320d, 0x00263dbd}}, Y: Field{[10]uint32{0x02b69a02, 0x03d509bc, 0x0244d79e, 0x0375e324, 0x02ca54a3, 0x015af0ce, 0x01333fe0, 0x01d98e5e, 0x033d7b03, 0x0009bbda}}}, + {X: Field{[10]uint32{0x0347e390, 0x0073c156, 0x017af296, 0x01a0b67b, 0x012d3086, 0x03005c32, 0x037ac998, 0x00b1d975, 0x004558b8, 0x0033c7bd}}, Y: Field{[10]uint32{0x018511c3, 0x037d1192, 0x03d23bef, 0x0360d8e5, 0x00f4345b, 0x016bfbfa, 0x022d8f3f, 0x003b1e1d, 0x0105fb88, 0x0022f307}}}, + {X: Field{[10]uint32{0x006f07e8, 0x00a02863, 0x035aa37c, 0x02096821, 0x009ab62b, 0x01653cde, 0x00cc5c10, 0x01bcbbe2, 0x0251efa2, 0x00043805}}, Y: Field{[10]uint32{0x01779df2, 0x03540fae, 0x00c0a8fa, 0x028c1f8a, 0x0083105d, 0x0222aaa6, 0x03b2cdb7, 0x018cd4c3, 0x01e11f77, 0x000b9a85}}}, + {X: Field{[10]uint32{0x013eee4a, 0x009e59ba, 0x01a58054, 0x0114482e, 0x000af909, 0x01260c4c, 0x03d77d74, 0x00826dbb, 0x03e041ce, 0x002e538b}}, Y: Field{[10]uint32{0x01bca443, 0x01c50b72, 0x020f01d0, 0x02349dda, 0x01a86bfb, 0x011b7c43, 0x00b1dde7, 0x024bd577, 0x03f1103e, 0x00023dea}}}, + {X: Field{[10]uint32{0x02d41154, 0x0174acc5, 0x02ccc122, 0x00d385fc, 0x026d71cc, 0x011362bd, 0x01d233e2, 0x02a7a851, 0x0102c671, 0x0033e79f}}, Y: Field{[10]uint32{0x012d2ca7, 0x03bfe143, 0x00c4ee13, 0x02ef86d8, 0x01a853e2, 0x021e3e5a, 0x003858a3, 0x0259beef, 0x00a10f0b, 0x0020bbae}}}, + {X: Field{[10]uint32{0x03d48bb2, 0x00e6bfd2, 0x034366d5, 0x00af814b, 0x00df8e4f, 0x033d2e4d, 0x01d18ebd, 0x00ee44c6, 0x002994ad, 0x00368e8f}}, Y: Field{[10]uint32{0x01dc0193, 0x01a6a474, 0x00f54256, 0x03b7db6d, 0x035e0d32, 0x03b21998, 0x01ccfe7b, 0x0091e20c, 0x0253c404, 0x000a3e75}}}, + {X: Field{[10]uint32{0x01eec101, 0x0289ec3c, 0x02450d4b, 0x03274394, 0x00a0a095, 0x00a0c7cc, 0x014c9fcd, 0x00de2f64, 0x00182b80, 0x002ae04a}}, Y: Field{[10]uint32{0x026666b3, 0x01351780, 0x0078f142, 0x00ab7030, 0x022286dc, 0x02ec7602, 0x00e366af, 0x01db58f7, 0x01822748, 0x00016af1}}}, + {X: Field{[10]uint32{0x01c4977a, 0x01023df9, 0x014ab831, 0x019fe37e, 0x03f0edd9, 0x00259714, 0x0164391c, 0x032a9757, 0x02a2bf02, 0x003a96e0}}, Y: Field{[10]uint32{0x033d9339, 0x022f3a3f, 0x02cac5d2, 0x00fa25f6, 0x022518d5, 0x01ee2239, 0x01dd5040, 0x0020deb3, 0x02990f32, 0x00207fa0}}}, + {X: Field{[10]uint32{0x03e70fa2, 0x02e3ef3e, 0x00d2ca95, 0x0305f7d6, 0x01318aea, 0x00f68b4a, 0x01d618be, 0x0075f40f, 0x000bab20, 0x00141817}}, Y: Field{[10]uint32{0x02a60383, 0x03ce5f5c, 0x028afc03, 0x03f1b0a9, 0x02d4c978, 0x024a335b, 0x02cc160d, 0x015a4f13, 0x031e007b, 0x00003942}}}, + {X: Field{[10]uint32{0x021191dd, 0x0162c97a, 0x0316831b, 0x0184422d, 0x02513566, 0x0153de6d, 0x01409d88, 0x032b3bd1, 0x00b66d7d, 0x003ddb14}}, Y: Field{[10]uint32{0x01f3cc72, 0x0346041b, 0x01f86d3b, 0x0121dc83, 0x03a30401, 0x025fc1ec, 0x00e2e93a, 0x014502f0, 0x0374b019, 0x001f4156}}}, + {X: Field{[10]uint32{0x03260e7d, 0x00f65664, 0x01b32f6d, 0x0240af5e, 0x01413126, 0x01cb9384, 0x02367db2, 0x0011f330, 0x03bad716, 0x00379414}}, Y: Field{[10]uint32{0x017cc7e2, 0x00e37872, 0x03bf3d3f, 0x02041444, 0x03b1e4c5, 0x017d180c, 0x02b61b5b, 0x02c36c37, 0x02d39c34, 0x00071528}}}, + {X: Field{[10]uint32{0x0206499d, 0x03df237e, 0x017121af, 0x00902527, 0x00437f1a, 0x03786395, 0x018a332b, 0x0251ac6e, 0x019f180e, 0x002b4f9c}}, Y: Field{[10]uint32{0x02f1b554, 0x032b4f80, 0x032c882b, 0x037df28b, 0x03ef310a, 0x02fb7018, 0x0073863a, 0x02935f49, 0x03f1390f, 0x002d1635}}}, + {X: Field{[10]uint32{0x036bae4b, 0x03210330, 0x026ecb46, 0x039db899, 0x01839a3a, 0x00cbe2de, 0x010c8673, 0x02bdad8c, 0x02345560, 0x0009c280}}, Y: Field{[10]uint32{0x02bedeaf, 0x005a8653, 0x01bc689d, 0x01c86f6d, 0x01ef7ef0, 0x02661de8, 0x020f1600, 0x01f45832, 0x004b9215, 0x00236aae}}}, + {X: Field{[10]uint32{0x00624621, 0x00cd3b9a, 0x02d30f98, 0x016cafdc, 0x0325ba2b, 0x012a13fd, 0x03ffdb29, 0x03271321, 0x017e3027, 0x003ad7b4}}, Y: Field{[10]uint32{0x0060a942, 0x012d3b02, 0x003ae3b5, 0x02ff5667, 0x03df4a91, 0x013186b4, 0x028d1a21, 0x0351c66f, 0x00b38f74, 0x000e7fff}}}, + {X: Field{[10]uint32{0x00e0a5dd, 0x0304d70b, 0x02d6a7ba, 0x00869d5c, 0x01fb1f66, 0x016b351a, 0x03f4e807, 0x02633188, 0x01f28a0b, 0x002e7047}}, Y: Field{[10]uint32{0x00a76278, 0x03b15150, 0x00a1e391, 0x028938bf, 0x015eb506, 0x024aceea, 0x03eb0c36, 0x0257bcc9, 0x0278d42b, 0x0016fea2}}}, + {X: Field{[10]uint32{0x03e74b5c, 0x018c433a, 0x0221ca8a, 0x0264f126, 0x00f60f13, 0x03b68102, 0x02611066, 0x038967f9, 0x004380ab, 0x003bb45c}}, Y: Field{[10]uint32{0x02a0d750, 0x03576dc8, 0x0324a567, 0x018594b0, 0x028cc2c6, 0x01ebf366, 0x02a243f5, 0x01ee4458, 0x0276cbe3, 0x001b72d8}}}, + {X: Field{[10]uint32{0x03aa97a7, 0x01400314, 0x034c2526, 0x00417b8d, 0x028c68e3, 0x02b7d8ad, 0x025524a4, 0x0273d1a3, 0x036f5f5b, 0x002392c3}}, Y: Field{[10]uint32{0x01b7f74a, 0x004dfb30, 0x00d56e25, 0x00b455f0, 0x02c7e59f, 0x0341063d, 0x00578c16, 0x000646dd, 0x00aec18d, 0x00347e20}}}, + {X: Field{[10]uint32{0x02a5ebbe, 0x03d67232, 0x0176e90c, 0x036848e3, 0x01a7f393, 0x00c44ac7, 0x005ce9c9, 0x025ae6ba, 0x01bdfc65, 0x001deb88}}, Y: Field{[10]uint32{0x034a21d1, 0x01b151ff, 0x02f9b910, 0x005cc81b, 0x03516947, 0x01ca4553, 0x0225390e, 0x019b37d1, 0x01811e32, 0x003d1211}}}, + {X: Field{[10]uint32{0x03d2346f, 0x035ac1f6, 0x03999e16, 0x00cfc140, 0x01929225, 0x01419899, 0x028bd35f, 0x00bbd166, 0x00a871c0, 0x00074de7}}, Y: Field{[10]uint32{0x0140cad0, 0x002ddc90, 0x011c10d5, 0x01785e36, 0x00a6333d, 0x006571c1, 0x0197cfed, 0x0269ed08, 0x039a7289, 0x00301542}}}, + {X: Field{[10]uint32{0x03ef1ccc, 0x0359c30f, 0x00296cba, 0x0085f51f, 0x025c7ea7, 0x03c09dca, 0x03671995, 0x005aba64, 0x03f328fc, 0x00189405}}, Y: Field{[10]uint32{0x00450603, 0x0269d359, 0x02bf3618, 0x001985f0, 0x02d7056d, 0x0004437d, 0x03eb4ac5, 0x00853fb6, 0x0253af3b, 0x0006d138}}}, + {X: Field{[10]uint32{0x0238412d, 0x029cae01, 0x01eb78ea, 0x0059d029, 0x00d1019d, 0x010e1dfa, 0x023f508d, 0x00d424eb, 0x02496bdc, 0x0031e93f}}, Y: Field{[10]uint32{0x020febef, 0x02a5d125, 0x016fba30, 0x022d9d66, 0x01673093, 0x012e3dcd, 0x03924067, 0x01c4c3a1, 0x02a895fb, 0x0006d6c4}}}, + {X: Field{[10]uint32{0x02441d3f, 0x00a0d22c, 0x0052fa56, 0x019add3c, 0x01b65c61, 0x03123102, 0x000102cb, 0x0313bcfa, 0x003ce8f9, 0x0033fe7e}}, Y: Field{[10]uint32{0x0352ee6f, 0x038cb378, 0x0252e338, 0x001ea2f4, 0x02814ceb, 0x035a5cfc, 0x0046a41e, 0x0081fbf2, 0x00f82180, 0x00133106}}}, + {X: Field{[10]uint32{0x02700541, 0x0011c859, 0x02ef82c6, 0x0395eb79, 0x002fd23a, 0x027a8477, 0x038ae98a, 0x030a5724, 0x031045b8, 0x0021009d}}, Y: Field{[10]uint32{0x001e4f99, 0x0381c8e1, 0x01da5f56, 0x033502c5, 0x03f3f80d, 0x02ea0753, 0x01b972ce, 0x00501220, 0x0192d3c1, 0x001ca519}}}, + {X: Field{[10]uint32{0x012e0d2c, 0x01c18503, 0x004afb5c, 0x013aa53e, 0x015e304a, 0x023d548b, 0x01a346bd, 0x02e7b018, 0x0330e00c, 0x003deac4}}, Y: Field{[10]uint32{0x035e6144, 0x004406f7, 0x02f866bb, 0x028e7753, 0x012ef0f6, 0x03cfcf5a, 0x018def46, 0x002952bd, 0x00518935, 0x001752b2}}}, + {X: Field{[10]uint32{0x03d4e618, 0x0062131b, 0x0292c785, 0x037304fd, 0x01d0da4d, 0x021b260a, 0x01a4d5b7, 0x02dde230, 0x02192303, 0x0029f213}}, Y: Field{[10]uint32{0x031774fe, 0x02e915ae, 0x01744939, 0x00cea0a7, 0x01659285, 0x0178fc45, 0x0164bad3, 0x036cbc87, 0x025b8fc2, 0x0015b8cb}}}, + {X: Field{[10]uint32{0x0098c43a, 0x0276036b, 0x00dccf19, 0x00e41fd7, 0x02c65f41, 0x0299de9c, 0x03bc55af, 0x036b00d8, 0x0084a680, 0x002e2c32}}, Y: Field{[10]uint32{0x016b8127, 0x0239c794, 0x03932d0f, 0x01e98976, 0x016569f8, 0x013b6c11, 0x02bec5ba, 0x001b0735, 0x008ac926, 0x0010f906}}}, + {X: Field{[10]uint32{0x025e0df6, 0x014120a9, 0x038ddac2, 0x023a50eb, 0x01c5bef9, 0x036d285e, 0x03bc33c1, 0x0184d568, 0x0043d057, 0x00205bb1}}, Y: Field{[10]uint32{0x01f0b360, 0x021f1215, 0x022a9c9b, 0x00c04862, 0x02054f9a, 0x01b8d9ad, 0x00f6fa19, 0x01623664, 0x02c9e9f3, 0x002269ec}}}, + {X: Field{[10]uint32{0x011e28a0, 0x027526aa, 0x03fd2af3, 0x003cedc5, 0x00b10196, 0x03f3311f, 0x03ba24f7, 0x001f54cf, 0x0103823d, 0x00237b48}}, Y: Field{[10]uint32{0x00011728, 0x02549b30, 0x02ad4fb1, 0x0244a9a0, 0x01e3e1a3, 0x01d4faab, 0x03ef9f7d, 0x01987bd0, 0x011fbe1a, 0x000fc0fb}}}, + {X: Field{[10]uint32{0x00d6260b, 0x026baab4, 0x00c87484, 0x0312fb88, 0x010ff4f7, 0x03a30c59, 0x03df9e3c, 0x0351e2fe, 0x039ce874, 0x002c712c}}, Y: Field{[10]uint32{0x004b4fde, 0x02f48db0, 0x00dbda54, 0x02137ef1, 0x0132c25b, 0x00e5ab72, 0x03fe7245, 0x006207ee, 0x03613070, 0x000e2be2}}}, + {X: Field{[10]uint32{0x02b2c971, 0x0176b67e, 0x0390d0e7, 0x03c9f842, 0x01f011bc, 0x02af2082, 0x03f657cf, 0x00face85, 0x023be595, 0x001f56f3}}, Y: Field{[10]uint32{0x00f84787, 0x03b78aac, 0x0167cbbc, 0x029d0198, 0x01864b2b, 0x00b0e792, 0x0308b3b6, 0x035e0ac1, 0x02865f5f, 0x001ce035}}}, + {X: Field{[10]uint32{0x0000f285, 0x034ae1d3, 0x01497a54, 0x01e22c8a, 0x00096af1, 0x031c5c71, 0x027717fb, 0x03cb3453, 0x011a422a, 0x000abd44}}, Y: Field{[10]uint32{0x03771f41, 0x012fabae, 0x0259f753, 0x031722b2, 0x032f3445, 0x01ecec90, 0x0000b68b, 0x03c401fa, 0x031bee43, 0x00111a2f}}}, + {X: Field{[10]uint32{0x037af766, 0x029ed258, 0x0155dc81, 0x02ba8b42, 0x01fe010d, 0x01010ed8, 0x03dfb65f, 0x0377bfe2, 0x01c06dc8, 0x002d1b8a}}, Y: Field{[10]uint32{0x017b59f5, 0x03b27767, 0x016459c1, 0x026c2714, 0x03748c5c, 0x01289ea7, 0x010cef82, 0x00c53f5f, 0x0095ae16, 0x00189ddd}}}, + {X: Field{[10]uint32{0x03a6b1ea, 0x02c8673e, 0x034a5089, 0x03e9648e, 0x00aef6d8, 0x00e73545, 0x02b3bd53, 0x02903dc7, 0x02d3f44e, 0x000415e1}}, Y: Field{[10]uint32{0x0343d0bc, 0x0001736d, 0x00f151ba, 0x00927f0b, 0x0139fad0, 0x03a1b42e, 0x012c4508, 0x008b2df6, 0x03dac875, 0x000a93a9}}}, + {X: Field{[10]uint32{0x02adb23f, 0x0093d205, 0x038575c6, 0x03bfc22d, 0x02d2d2d8, 0x024b3ac8, 0x01345738, 0x01b8c062, 0x0081be85, 0x0007cf03}}, Y: Field{[10]uint32{0x03f6072b, 0x03a959e2, 0x031c9faa, 0x014b4c9c, 0x0011158d, 0x027135ed, 0x02f48408, 0x012673d4, 0x0290de24, 0x0001cc85}}}, + {X: Field{[10]uint32{0x028bd2b3, 0x03d1aa91, 0x01c9f5ab, 0x01afc5be, 0x02e43787, 0x020cee83, 0x012484ff, 0x0257e824, 0x02e3a95a, 0x0005b72e}}, Y: Field{[10]uint32{0x01ffa44d, 0x027c9056, 0x00034344, 0x00ab3785, 0x0030e558, 0x031a45c0, 0x02de4733, 0x004b5b06, 0x0007247b, 0x00159c9f}}}, + {X: Field{[10]uint32{0x02e70726, 0x02510e36, 0x03fff1c7, 0x029927b6, 0x02e42314, 0x017b6af1, 0x00ff3c0f, 0x00f23e49, 0x016cd672, 0x000452f9}}, Y: Field{[10]uint32{0x028ac521, 0x03641949, 0x035e1d5f, 0x01d6511c, 0x0245b61b, 0x00cb3e9e, 0x0180046b, 0x037ab9f1, 0x0172855c, 0x00026137}}}, + {X: Field{[10]uint32{0x0103fdaf, 0x02dfab36, 0x0217d747, 0x00ea35d3, 0x0351766b, 0x03d6eaff, 0x029dbac7, 0x0211cb85, 0x02e601f9, 0x0023432c}}, Y: Field{[10]uint32{0x00bc9b92, 0x03dcdaa0, 0x0160a0f1, 0x02ae2678, 0x01f06b36, 0x033aaec4, 0x00ea3682, 0x024fdc97, 0x03f5b9e7, 0x0034564e}}}, + {X: Field{[10]uint32{0x01714db3, 0x01c9fd4c, 0x005caab4, 0x00f9212d, 0x0134e3b4, 0x020125a4, 0x032f3a2c, 0x020b936d, 0x0354188c, 0x0016d081}}, Y: Field{[10]uint32{0x00723d9f, 0x01b304e9, 0x008838bf, 0x0171dd66, 0x001c7eed, 0x0066f852, 0x00d16437, 0x03cd81eb, 0x007d27d7, 0x0012a24c}}}, + {X: Field{[10]uint32{0x00cbf74b, 0x006d63e2, 0x006ed18c, 0x00b87311, 0x019f01c6, 0x0003f82d, 0x0056a728, 0x00765a36, 0x021d9576, 0x002478dd}}, Y: Field{[10]uint32{0x0396c772, 0x00494c0a, 0x02bc7258, 0x03034cf7, 0x01b73a58, 0x02667bd5, 0x033389e9, 0x020dd8a3, 0x01e396f8, 0x002d6ad8}}}, + {X: Field{[10]uint32{0x001a4655, 0x0174a717, 0x02ad35b0, 0x007c0b62, 0x02016e0f, 0x02af814a, 0x02f55480, 0x0397ca70, 0x0383dc77, 0x000c4e02}}, Y: Field{[10]uint32{0x0193403d, 0x00ff8999, 0x01b20107, 0x02f06a87, 0x02b42173, 0x020e7342, 0x0034342b, 0x03a9c8f1, 0x03aecc84, 0x0008f32b}}}, + {X: Field{[10]uint32{0x021edd27, 0x0336a02c, 0x0239a764, 0x009e8325, 0x038f3f37, 0x02406554, 0x00b44c7c, 0x01099241, 0x018cbcd5, 0x002b9006}}, Y: Field{[10]uint32{0x00eeba8f, 0x02b988cd, 0x012005cf, 0x0269b0e7, 0x02ffceea, 0x009f6628, 0x01a0e7c8, 0x0333f336, 0x0308ffec, 0x0000e95f}}}, + {X: Field{[10]uint32{0x00a981c8, 0x0093222a, 0x0015f73e, 0x0151c9ed, 0x015764a8, 0x0066ec09, 0x01b1d3ac, 0x0303c492, 0x0387abea, 0x003d1ca5}}, Y: Field{[10]uint32{0x0265d172, 0x02d3a7ab, 0x0319d00a, 0x00542ff9, 0x03b51aae, 0x03851b41, 0x039783fd, 0x004ca31f, 0x01a568d8, 0x0038c458}}}, + {X: Field{[10]uint32{0x02d5884a, 0x03205d5f, 0x03b69ce4, 0x023029f5, 0x02f52d3b, 0x03a13429, 0x0059b617, 0x0224d3dc, 0x02b83414, 0x003e4bc0}}, Y: Field{[10]uint32{0x00864080, 0x00f3d06a, 0x026b706f, 0x023c3eed, 0x03cacd20, 0x031b7a92, 0x00eb5305, 0x00c08222, 0x02f88273, 0x003ebb5f}}}, + {X: Field{[10]uint32{0x00c93363, 0x00f385df, 0x01ec49ed, 0x008acac3, 0x029efe40, 0x007e13f0, 0x028cc4dd, 0x035a082f, 0x00aae93b, 0x0028afb6}}, Y: Field{[10]uint32{0x018ada1d, 0x003277c6, 0x00213d63, 0x02cecfc2, 0x027bf235, 0x03b7ae27, 0x0340f299, 0x01bedf80, 0x01c96212, 0x000a1eae}}}, + {X: Field{[10]uint32{0x03af4724, 0x01063e6d, 0x0198e899, 0x038b80a5, 0x00cf6219, 0x024c204d, 0x0309dc80, 0x00474666, 0x03cd3d18, 0x001690b3}}, Y: Field{[10]uint32{0x013f8423, 0x03ba3c16, 0x007172e0, 0x00f583ee, 0x02e30141, 0x002fc970, 0x02a83b18, 0x0275dac3, 0x021c3992, 0x0025739c}}}, + {X: Field{[10]uint32{0x030e530f, 0x028ae516, 0x0278940b, 0x01ae850d, 0x012e768a, 0x0105d421, 0x03f1eca4, 0x02fc64c8, 0x030567e8, 0x000749ea}}, Y: Field{[10]uint32{0x01e1afa8, 0x00cf9a84, 0x01b07c6c, 0x03775468, 0x02a23e3d, 0x01ac124c, 0x02532be7, 0x00a68562, 0x0139496d, 0x000610e6}}}, + {X: Field{[10]uint32{0x02ab4326, 0x01d2451b, 0x03d319bc, 0x0222dc98, 0x01bbbf80, 0x01337cff, 0x002fcf6e, 0x016fd12d, 0x005922c0, 0x00164afe}}, Y: Field{[10]uint32{0x004c7f65, 0x016f1d00, 0x0201e7d9, 0x01da3dfd, 0x013aaab9, 0x028bab09, 0x03946f3b, 0x03c3bf78, 0x00c38dcc, 0x002132f6}}}, + {X: Field{[10]uint32{0x009359d5, 0x02785bc0, 0x00fcf1dd, 0x015b40f1, 0x010d4df1, 0x03bab710, 0x0001f4ad, 0x036ae2ff, 0x02705ae3, 0x00199cc2}}, Y: Field{[10]uint32{0x038273ee, 0x03d5e81d, 0x03718582, 0x00b1218f, 0x036e8f42, 0x026e7bec, 0x03b91701, 0x0362c89c, 0x00c44ea1, 0x0030131f}}}, + {X: Field{[10]uint32{0x03b7fe83, 0x016453b6, 0x011ae07c, 0x01ee5e52, 0x001ce689, 0x01392158, 0x03b246d8, 0x0082b027, 0x02005324, 0x000f4009}}, Y: Field{[10]uint32{0x00c7d98e, 0x010775e5, 0x0152a532, 0x0074c871, 0x03c221fa, 0x00925148, 0x00c48557, 0x03539def, 0x02642f16, 0x0016f5cc}}}, + {X: Field{[10]uint32{0x03a24487, 0x03509d50, 0x021c061e, 0x02b5c42a, 0x02750395, 0x008b8b0a, 0x0089d37d, 0x0348bf48, 0x02362b5d, 0x000350ab}}, Y: Field{[10]uint32{0x0339ada7, 0x01863fb2, 0x02fc9c2a, 0x0126ca84, 0x00ded0a6, 0x0046dbdf, 0x03cc24ba, 0x0387a94e, 0x02001571, 0x002110e7}}}, + {X: Field{[10]uint32{0x02253743, 0x03c494ea, 0x01670ede, 0x00796f74, 0x00409e10, 0x0063a41d, 0x00b306dc, 0x02aff400, 0x01ca486f, 0x000df1d8}}, Y: Field{[10]uint32{0x010cad12, 0x01fd99ee, 0x033d0627, 0x02a5701f, 0x0129669d, 0x01ecb2e2, 0x02c241ae, 0x0036c627, 0x00e30111, 0x00394e10}}}, + {X: Field{[10]uint32{0x03b0e788, 0x027b42bc, 0x0345b288, 0x0206865c, 0x002afa97, 0x016b035b, 0x0019f371, 0x02f23bae, 0x02f8bbaf, 0x001399cb}}, Y: Field{[10]uint32{0x00814061, 0x03f3d30e, 0x0385204a, 0x02e5464d, 0x03130cb0, 0x018b83aa, 0x000133fe, 0x03601d1a, 0x00dbbb16, 0x0027043c}}}, + {X: Field{[10]uint32{0x03d51fec, 0x01e475a3, 0x03a68ed8, 0x004bcd6a, 0x0108e1df, 0x01bd8a52, 0x00635ae6, 0x01e4a7a7, 0x003b23c0, 0x00307ca5}}, Y: Field{[10]uint32{0x0264ae75, 0x0352ffba, 0x005fdfc4, 0x0319a001, 0x012f2262, 0x029ac441, 0x01f7ef96, 0x017b1664, 0x02c893ad, 0x000cddad}}}, + {X: Field{[10]uint32{0x00370be6, 0x0180abb0, 0x00ffce17, 0x01b5ebf7, 0x01351e82, 0x0198f994, 0x00f10cdf, 0x036611cb, 0x021e739c, 0x000f7c91}}, Y: Field{[10]uint32{0x0292cb06, 0x000340b1, 0x0301fc9f, 0x0295fbab, 0x02bd5ec5, 0x0206b6aa, 0x014eeb00, 0x0303b0d6, 0x00b33ed9, 0x0017923f}}}, + {X: Field{[10]uint32{0x022a82b7, 0x02307cf5, 0x033fd551, 0x009d6d8e, 0x0150f123, 0x02d83f61, 0x004ecfba, 0x024b57d3, 0x0128f98b, 0x003534f5}}, Y: Field{[10]uint32{0x027d5b76, 0x0034b3b6, 0x01a2e049, 0x00ed52c1, 0x01255405, 0x02612f02, 0x01a838ed, 0x01779a64, 0x01508543, 0x0019125b}}}, + {X: Field{[10]uint32{0x0209236b, 0x039f4084, 0x01108b3e, 0x011c3889, 0x03ad6448, 0x00ffc0e9, 0x03a41136, 0x00da3c69, 0x019b4aa3, 0x003b360e}}, Y: Field{[10]uint32{0x01355213, 0x00dc48dd, 0x011af30f, 0x023c1329, 0x01c629d8, 0x00f00b2d, 0x0351e617, 0x0070a438, 0x01fba792, 0x000b8482}}}, + {X: Field{[10]uint32{0x01f78722, 0x00cb8273, 0x01ae38c3, 0x01c1e173, 0x01416d1a, 0x02cd1356, 0x033354af, 0x0036a40c, 0x03e57e6a, 0x00356642}}, Y: Field{[10]uint32{0x03a17814, 0x0316445e, 0x01eceeef, 0x03224e5e, 0x00278f73, 0x01110402, 0x039198d3, 0x01bcf441, 0x018b73f7, 0x002ca8b3}}}, + {X: Field{[10]uint32{0x00374b1b, 0x03c10aa4, 0x0174f85e, 0x0224a1ef, 0x02b57e90, 0x01876007, 0x03d59786, 0x03b402bc, 0x03651d8c, 0x001d662a}}, Y: Field{[10]uint32{0x0028f04f, 0x036d835b, 0x00240b60, 0x021e3d33, 0x027edaae, 0x0008ba7b, 0x000cbd4b, 0x02c7fee7, 0x00269466, 0x001627f1}}}, + {X: Field{[10]uint32{0x01f694e7, 0x0248b3d0, 0x00e7d7e0, 0x03f663af, 0x03be088c, 0x00714c06, 0x02048b76, 0x00b4c614, 0x0017b12d, 0x003f41c5}}, Y: Field{[10]uint32{0x0232c363, 0x013688ef, 0x00b45966, 0x01d163be, 0x00d47d8f, 0x01ad5236, 0x01f679d9, 0x00ee4cab, 0x03f10ee6, 0x000b6714}}}, + {X: Field{[10]uint32{0x0372ca0e, 0x01b3804a, 0x038d15e5, 0x02ff2f0a, 0x02b1e513, 0x03a4d1fc, 0x01571ac8, 0x021a2b47, 0x0190e290, 0x001696d2}}, Y: Field{[10]uint32{0x03ebf968, 0x0186663b, 0x005d5e51, 0x039fa0c5, 0x01424285, 0x0313271f, 0x01569f63, 0x02549150, 0x02f50715, 0x0031da14}}}, + {X: Field{[10]uint32{0x01e7f2bd, 0x023015bf, 0x020f5972, 0x02057cf4, 0x0225c900, 0x01ba9bcd, 0x035a415f, 0x03c5190b, 0x00243cd4, 0x0024f7bb}}, Y: Field{[10]uint32{0x032dc7cb, 0x0217c96f, 0x0336dd5e, 0x0164641d, 0x006abfa8, 0x0150527d, 0x0378145f, 0x00e85987, 0x01beb999, 0x00223e46}}}, + {X: Field{[10]uint32{0x02df82b6, 0x02645f91, 0x02602f5c, 0x01f9d84e, 0x019c9bec, 0x001a350e, 0x01104c93, 0x03659e5a, 0x017ba65a, 0x00248934}}, Y: Field{[10]uint32{0x00a32f65, 0x03bef3c6, 0x0071055c, 0x03ef3d69, 0x001b5691, 0x03ac4193, 0x0289e54e, 0x0293a31d, 0x00e32bc2, 0x000d1b26}}}, + {X: Field{[10]uint32{0x0379c38e, 0x015450ce, 0x011890f0, 0x00ddb956, 0x01cfc916, 0x01cd1e9c, 0x00f054b8, 0x03fe7053, 0x009124dd, 0x002146b3}}, Y: Field{[10]uint32{0x02116f35, 0x031a7307, 0x0213a55c, 0x03c4c3c3, 0x022dd20b, 0x03127715, 0x00527e8c, 0x00730d0c, 0x01f058d2, 0x0036566f}}}, + {X: Field{[10]uint32{0x00ea4d96, 0x0041d7cb, 0x012122b7, 0x004a4c7e, 0x00eff0a6, 0x0120a544, 0x03e01ef4, 0x00471421, 0x0303b7c1, 0x003fdb04}}, Y: Field{[10]uint32{0x034841f6, 0x003ba85e, 0x01574537, 0x03fd6a56, 0x027e99d0, 0x02495417, 0x02239beb, 0x0142a832, 0x03bf7bcf, 0x00093c26}}}, + {X: Field{[10]uint32{0x035fdac0, 0x02f18d90, 0x029d06a4, 0x013d3d32, 0x020fd501, 0x022dbb2d, 0x03fb51ec, 0x02f4750c, 0x01f055e7, 0x003c8ef6}}, Y: Field{[10]uint32{0x016d7b60, 0x00653ba9, 0x03da69d2, 0x01f7c482, 0x0325ba91, 0x03b91d11, 0x02e7012a, 0x026b65a3, 0x00589d26, 0x002594ad}}}, + {X: Field{[10]uint32{0x01f46ff7, 0x01549e92, 0x035642a0, 0x03e4e46e, 0x001fe070, 0x02ef52bc, 0x0023e601, 0x017465ee, 0x0056ea6d, 0x0027588b}}, Y: Field{[10]uint32{0x015c609e, 0x00ea473f, 0x01494e6c, 0x0310b809, 0x02c648c7, 0x01b6cf72, 0x03bd5576, 0x0217fb67, 0x03940d64, 0x0020186e}}}, + {X: Field{[10]uint32{0x03020c13, 0x0342b7cb, 0x03b80370, 0x03795a4c, 0x012915af, 0x001ee658, 0x014b67c4, 0x03579d8e, 0x03e4cff5, 0x0025253b}}, Y: Field{[10]uint32{0x00a7e4ea, 0x016bce16, 0x00a8184f, 0x02e3f4fc, 0x03fd86ec, 0x03908dcb, 0x03964b2d, 0x03873009, 0x0238c85e, 0x002ac31f}}}, + {X: Field{[10]uint32{0x012e1a86, 0x005802a5, 0x03268dbe, 0x01665d00, 0x00e028c2, 0x024e2807, 0x028cb6c2, 0x014bf002, 0x03baffbc, 0x002a3935}}, Y: Field{[10]uint32{0x011a0bed, 0x019f0a4d, 0x0096fc9f, 0x02e72591, 0x02cc7eee, 0x01bc59c8, 0x0379723c, 0x0008b013, 0x003d0dc3, 0x0002356e}}}, + {X: Field{[10]uint32{0x00927ac5, 0x030eed79, 0x00df1f17, 0x02bc5467, 0x01203c01, 0x035cb5e9, 0x03191ad4, 0x01183fbf, 0x0364938e, 0x0020e107}}, Y: Field{[10]uint32{0x03536800, 0x00075e7a, 0x03e4180e, 0x0036c813, 0x02ecb1f3, 0x00105712, 0x03733974, 0x01c92484, 0x00f2c2e8, 0x0003d61a}}}, + {X: Field{[10]uint32{0x020612f6, 0x00f220c0, 0x02acbd62, 0x03da542b, 0x02af2a2d, 0x02d65fec, 0x00dcba67, 0x00fe2a18, 0x00d95ef0, 0x003ba25d}}, Y: Field{[10]uint32{0x00f141ac, 0x0381fe29, 0x0321634e, 0x03ebadf3, 0x016596ab, 0x03e7dd8f, 0x02951453, 0x01775f31, 0x01740308, 0x00173c43}}}, + {X: Field{[10]uint32{0x02579606, 0x0006982d, 0x01857b2d, 0x01ac9a47, 0x01a92dde, 0x0109d8a3, 0x036e5fa3, 0x01b28ec4, 0x018c2361, 0x001a3a23}}, Y: Field{[10]uint32{0x00fd5450, 0x01345e68, 0x03c41257, 0x01ce1a85, 0x01e5ec7b, 0x02da959d, 0x00c5d609, 0x035baf16, 0x00903766, 0x000016a4}}}, + {X: Field{[10]uint32{0x0122345b, 0x031626a5, 0x02e7c50a, 0x016b38ec, 0x00cfe6ab, 0x01333290, 0x01bea794, 0x0322d883, 0x018ac62e, 0x003f8d37}}, Y: Field{[10]uint32{0x03d6c8c0, 0x02ee6fda, 0x025bff0a, 0x03562634, 0x0330c9ed, 0x034f8029, 0x01611d7b, 0x0384894d, 0x0055adf1, 0x002233c0}}}, + {X: Field{[10]uint32{0x0251bc1f, 0x017c8d60, 0x03ff7f6a, 0x019bf462, 0x00099893, 0x004c5cda, 0x0262479c, 0x005226aa, 0x029cc0f8, 0x00108e9e}}, Y: Field{[10]uint32{0x01c678ee, 0x00986f4a, 0x0271fde4, 0x02591cb3, 0x01259ce8, 0x01844b90, 0x02776ea1, 0x0090740b, 0x03dd0519, 0x003249ac}}}, + {X: Field{[10]uint32{0x010b98f4, 0x013c55eb, 0x00e730ed, 0x02d1c9f0, 0x010ffb0e, 0x00b82364, 0x01bb840b, 0x0153ff98, 0x03f97cbf, 0x001fe982}}, Y: Field{[10]uint32{0x0294d733, 0x02cec243, 0x0281f6e7, 0x03b5e5e3, 0x027e296f, 0x01fdcda9, 0x01c7b26a, 0x021ee3f7, 0x02df84d3, 0x00356c6a}}}, + {X: Field{[10]uint32{0x00153a66, 0x01dd0cd8, 0x0098cf1e, 0x01743bbe, 0x01829481, 0x0245fe45, 0x02df8a66, 0x037af1df, 0x030ef1ed, 0x002794f2}}, Y: Field{[10]uint32{0x02b41ccf, 0x03e05fd1, 0x037a2ed8, 0x0273f955, 0x01498349, 0x022faf82, 0x024c6f1b, 0x028a86e6, 0x02f260fe, 0x0014d636}}}, + {X: Field{[10]uint32{0x02d6f119, 0x01a5548e, 0x01e9631e, 0x023a3b24, 0x00140471, 0x0150ccb0, 0x0344ad53, 0x0319de66, 0x0241c616, 0x002b7e4d}}, Y: Field{[10]uint32{0x0242ff9e, 0x00a84edf, 0x00619dfe, 0x01056b4e, 0x028dc172, 0x031ab10a, 0x01f67615, 0x02cf7fd5, 0x02afe4cf, 0x00368f19}}}, + {X: Field{[10]uint32{0x034e4ca8, 0x01bb2d91, 0x02f0c972, 0x0310e5bd, 0x035b6242, 0x02f857d2, 0x0287ddb2, 0x02cd9ec1, 0x03ec485d, 0x0001c078}}, Y: Field{[10]uint32{0x013b9e83, 0x0360644b, 0x00f946f2, 0x033cf44f, 0x03691aa3, 0x001d00dd, 0x01f7fea3, 0x0387140a, 0x027613dc, 0x0004263e}}}, + {X: Field{[10]uint32{0x00ccfefc, 0x0036443e, 0x01e84aac, 0x01781852, 0x02d51364, 0x03149402, 0x01a7e042, 0x02a8167a, 0x03a5d3ec, 0x00363f16}}, Y: Field{[10]uint32{0x034b3d8a, 0x025c225e, 0x01920c25, 0x020f95e3, 0x02df96ee, 0x00e8b7c1, 0x014b4d98, 0x025369d2, 0x034d0eec, 0x001c9c92}}}, + {X: Field{[10]uint32{0x0371398e, 0x03aa0fbf, 0x038dcc9e, 0x027528ce, 0x00c900cb, 0x02aa97c3, 0x018a186f, 0x03fedc19, 0x039a8279, 0x001ef223}}, Y: Field{[10]uint32{0x03a14a7c, 0x01581983, 0x001b0aa9, 0x027c7d56, 0x034939d3, 0x0022ddbd, 0x02d8c77e, 0x02054468, 0x01dfe5ed, 0x00337348}}}, + {X: Field{[10]uint32{0x035ef0e5, 0x01ba845b, 0x019190f4, 0x0297befe, 0x03e5fb92, 0x03c85ca8, 0x0219bc77, 0x02787db8, 0x01310bc7, 0x00215e35}}, Y: Field{[10]uint32{0x03b7d550, 0x01d67344, 0x00290768, 0x0137b45f, 0x00cac2d0, 0x008ce3e7, 0x02ef5e05, 0x018b1a53, 0x02ac39c2, 0x003f346c}}}, + {X: Field{[10]uint32{0x00020a62, 0x0379d62a, 0x010935cd, 0x008112ee, 0x02d41240, 0x01f87302, 0x01eb5f43, 0x01986d51, 0x02d73ea2, 0x00262f08}}, Y: Field{[10]uint32{0x02232226, 0x038530a0, 0x032d9f32, 0x03ca86a8, 0x002607bf, 0x03118be5, 0x02c8d83c, 0x02e96f0a, 0x01de0d33, 0x00050f1f}}}, + {X: Field{[10]uint32{0x01e8ee10, 0x0112c2b5, 0x0001aaca, 0x0197a8f1, 0x019980f2, 0x016fc215, 0x008106ca, 0x005db742, 0x021e95d2, 0x001ff3e0}}, Y: Field{[10]uint32{0x02400284, 0x03b274bf, 0x01cfb266, 0x01506ce2, 0x03c127b0, 0x02389f2a, 0x02f4598e, 0x02bfbbe2, 0x01ae87e7, 0x0009f0d0}}}, + {X: Field{[10]uint32{0x0216a5f1, 0x00a4ba80, 0x02ca8316, 0x01e87f1d, 0x0367acd6, 0x028cd3e4, 0x03e195b6, 0x03bc17e1, 0x01b9d440, 0x0022628e}}, Y: Field{[10]uint32{0x00ce52ef, 0x03290ec6, 0x037c3fc2, 0x0398af53, 0x02c0db80, 0x0113eafe, 0x011cae97, 0x01d394bf, 0x03bbfe32, 0x003ad90b}}}, + {X: Field{[10]uint32{0x032192a4, 0x00e2fd0f, 0x03e3cbf1, 0x009e0cc8, 0x0287d6a6, 0x03c62fe6, 0x01624801, 0x0308582a, 0x00a28918, 0x000fba5d}}, Y: Field{[10]uint32{0x01660d9c, 0x002d56f3, 0x01c63dc5, 0x03f04375, 0x020fde39, 0x0183f483, 0x01d5b2a9, 0x03acd526, 0x02dfac71, 0x003d6ce1}}}, + {X: Field{[10]uint32{0x0047c14a, 0x030fcd90, 0x010a57dd, 0x03d0bed8, 0x019766bb, 0x001b0494, 0x03753eed, 0x037cd26a, 0x012fde76, 0x002f7443}}, Y: Field{[10]uint32{0x02923dec, 0x01d0cc05, 0x03bbd6bc, 0x03da7100, 0x022b8b47, 0x02d1000c, 0x0327664a, 0x01fae6e2, 0x02ed34f9, 0x0014114c}}}, + {X: Field{[10]uint32{0x03edd63d, 0x0028738e, 0x02b23c00, 0x0123105d, 0x02477a51, 0x02e7fca4, 0x039a4a0e, 0x0104913f, 0x00373978, 0x000b05e5}}, Y: Field{[10]uint32{0x032fcfb6, 0x039803c3, 0x00173e37, 0x03dcf98c, 0x002c1ca5, 0x02684aa3, 0x02fcccab, 0x01ecaea0, 0x01844f9b, 0x0028d9ed}}}, + {X: Field{[10]uint32{0x03e71580, 0x0225e62c, 0x01841362, 0x028cb4f3, 0x01a83036, 0x03ba5faf, 0x031e6df6, 0x00744dbd, 0x030ef2d6, 0x000a0bbc}}, Y: Field{[10]uint32{0x03d0f43a, 0x02097738, 0x0286fc47, 0x030c7d63, 0x035b4f9d, 0x028ff247, 0x00252647, 0x03a8b953, 0x0133c350, 0x00242c33}}}, + {X: Field{[10]uint32{0x019eff23, 0x00e31ce2, 0x00ef71ea, 0x03ab6c4e, 0x01085bf6, 0x03b82faf, 0x00ab3d50, 0x03e9f2d5, 0x015542ac, 0x00290ad3}}, Y: Field{[10]uint32{0x03566bb7, 0x03cf3287, 0x030bdb1f, 0x00e83f4b, 0x0363d0e0, 0x009ac2e7, 0x00c49973, 0x02649dd9, 0x0080f10b, 0x0005f8e2}}}, + {X: Field{[10]uint32{0x037ef00e, 0x008947bf, 0x0138b1a0, 0x0295d7cf, 0x01a06fce, 0x02562556, 0x0180d474, 0x00323d2d, 0x0064c5b0, 0x002c8eb3}}, Y: Field{[10]uint32{0x00b6464f, 0x01502a87, 0x007293bc, 0x02b3fe42, 0x03073964, 0x0115fd79, 0x03e6a17d, 0x0193612f, 0x000a7eaa, 0x0019aec6}}}, + {X: Field{[10]uint32{0x01885ea7, 0x0298a3dd, 0x03023411, 0x0273b31d, 0x0189df02, 0x001d45ba, 0x001ce7a4, 0x02c18d1a, 0x00e696ae, 0x000250b7}}, Y: Field{[10]uint32{0x007caf14, 0x00fe02dc, 0x02784ba1, 0x02eb545e, 0x01c439f0, 0x00eabed1, 0x02b06cea, 0x01ecfdad, 0x028a88be, 0x0038822f}}}, + {X: Field{[10]uint32{0x00392d16, 0x01196ae2, 0x020e1610, 0x0253843a, 0x0023e64a, 0x01c7ae52, 0x038e4dbe, 0x013b0208, 0x02b95219, 0x002e29a8}}, Y: Field{[10]uint32{0x03a5fec1, 0x018f5472, 0x015c74cb, 0x03d306d5, 0x0034c7be, 0x010ef896, 0x02758ae3, 0x03b8fdde, 0x0331b8e5, 0x003e00a7}}}, + {X: Field{[10]uint32{0x0068fc20, 0x020ff082, 0x016d90cc, 0x03105e90, 0x02f15fea, 0x0298532d, 0x03db083e, 0x0017dec7, 0x0369a1ee, 0x0028db4c}}, Y: Field{[10]uint32{0x02f0af52, 0x00c9f8dd, 0x01f10e94, 0x03817c28, 0x00aacd2a, 0x02a7f5c5, 0x03b76516, 0x03c9f56d, 0x03f9fe40, 0x00392af5}}}, + {X: Field{[10]uint32{0x008dda1d, 0x03d790c2, 0x00cc0ebe, 0x01a3d142, 0x016f03bd, 0x035bf535, 0x00cc89b9, 0x006b9bff, 0x01083d71, 0x0013a8c0}}, Y: Field{[10]uint32{0x00a3e513, 0x01e4f557, 0x02c83eed, 0x017f3957, 0x0340f9ea, 0x015059b4, 0x0154bcf1, 0x01652419, 0x017a8b1c, 0x00207a66}}}, + {X: Field{[10]uint32{0x02ffdc55, 0x03d0938a, 0x0175ece2, 0x023d01a8, 0x020fee11, 0x0109edc4, 0x0342e62e, 0x02271d91, 0x03161c1c, 0x000808a1}}, Y: Field{[10]uint32{0x03fa35b1, 0x005dd999, 0x02c28bc8, 0x00317b34, 0x0291eaff, 0x00787426, 0x00d28644, 0x029fcd0a, 0x025ecf26, 0x001e0de5}}}, + {X: Field{[10]uint32{0x0070d20c, 0x036dfa18, 0x0384cf5a, 0x024bc599, 0x0395be90, 0x00481848, 0x010d4296, 0x03c5815e, 0x02fc8e4b, 0x0034f01c}}, Y: Field{[10]uint32{0x00daf31a, 0x032ae0b6, 0x01c0cf5b, 0x03ac2bf4, 0x00f412e0, 0x03de6472, 0x015c0faa, 0x01d6eeed, 0x0262594c, 0x001c9a20}}}, + {X: Field{[10]uint32{0x0130ec82, 0x037d8381, 0x03dad3e6, 0x02f729d8, 0x0294003d, 0x0228d534, 0x00e8f342, 0x03e9f33c, 0x007ce307, 0x000a536b}}, Y: Field{[10]uint32{0x0384673d, 0x026d17f3, 0x01ecc0fb, 0x020ebf52, 0x02cfbcc7, 0x0298c279, 0x02807c4b, 0x02a98abb, 0x0222a7bc, 0x0011e7f0}}}, + {X: Field{[10]uint32{0x02732fae, 0x01766b13, 0x0175c707, 0x0027a891, 0x02225de6, 0x01ec9dbf, 0x0042a8d6, 0x03a36790, 0x025cc09f, 0x000e55b2}}, Y: Field{[10]uint32{0x02eaa23e, 0x01e89a8b, 0x00302e28, 0x0075ef5e, 0x03719643, 0x007f58bc, 0x025ee0ce, 0x02414a74, 0x03e7a821, 0x00072597}}}, + {X: Field{[10]uint32{0x01fb3def, 0x03a0afe4, 0x029e697e, 0x0359b61e, 0x014f4109, 0x0125005d, 0x036eb068, 0x012d239c, 0x0396da14, 0x000934b8}}, Y: Field{[10]uint32{0x0372236e, 0x01f43668, 0x0081e76d, 0x01d47f9f, 0x02ea875c, 0x036eb484, 0x01e3c9ce, 0x00bf3f74, 0x037224b0, 0x002ede79}}}, + {X: Field{[10]uint32{0x01a2aa5e, 0x038ae6e6, 0x00d3ab49, 0x0224f84b, 0x01188528, 0x03670be4, 0x03f9619d, 0x01701ff2, 0x0042f16e, 0x0018e350}}, Y: Field{[10]uint32{0x032b3d92, 0x0392acac, 0x024db222, 0x010dd2e2, 0x03f618da, 0x03976051, 0x039eb8b8, 0x00429037, 0x00424f00, 0x0034365e}}}, + {X: Field{[10]uint32{0x030d866c, 0x019e0a23, 0x00c5cd7d, 0x02218da0, 0x0194202d, 0x00c0cb87, 0x0323a1fd, 0x01caeaec, 0x015ba999, 0x0003e46b}}, Y: Field{[10]uint32{0x0052bdc0, 0x02853565, 0x03571e24, 0x0386c344, 0x001cb558, 0x03eccb6b, 0x038bb4fe, 0x005d68e8, 0x0145a693, 0x00182d9b}}}, + {X: Field{[10]uint32{0x02a69b7c, 0x005c9cba, 0x03c39c64, 0x0236239f, 0x039e6af4, 0x01b40dc2, 0x031fb88a, 0x0097c53f, 0x037d779c, 0x000c5504}}, Y: Field{[10]uint32{0x02295f7a, 0x034e7ee4, 0x03b13560, 0x0066c664, 0x02c1980c, 0x00991213, 0x00e112a9, 0x005e28e6, 0x011e9c09, 0x003acef6}}}, + {X: Field{[10]uint32{0x01549597, 0x0072e4d8, 0x01355072, 0x00b65286, 0x01f710be, 0x03475e99, 0x03acb3c1, 0x027f2078, 0x021fdfdf, 0x003e2087}}, Y: Field{[10]uint32{0x018993ec, 0x013116df, 0x002a3f4b, 0x00171ebf, 0x02c5770c, 0x033ca396, 0x03635b9d, 0x014a0946, 0x0068c1e0, 0x002ed41e}}}, + {X: Field{[10]uint32{0x0354a655, 0x013d8fa0, 0x033b06dd, 0x02be1c0c, 0x00ec5d6f, 0x01438eb6, 0x018aa900, 0x0012968b, 0x023a5214, 0x00210251}}, Y: Field{[10]uint32{0x01db3bd4, 0x0215efb8, 0x01ecf91b, 0x00949a68, 0x031b8a65, 0x00edeacd, 0x00c1b668, 0x00b294e7, 0x012b8509, 0x00332651}}}, + {X: Field{[10]uint32{0x003bc471, 0x01041980, 0x01e09f72, 0x0395a08a, 0x02314380, 0x015d1767, 0x0222eb53, 0x01c2d5b6, 0x001112d3, 0x0025a009}}, Y: Field{[10]uint32{0x005d8f38, 0x017e518a, 0x0092ff49, 0x000c4eed, 0x0327d6c7, 0x0165b440, 0x020419d6, 0x030807fe, 0x01377f03, 0x00376b0b}}}, + {X: Field{[10]uint32{0x023a69c8, 0x027f0fe8, 0x01393d3f, 0x01fda329, 0x020f85e8, 0x005c2547, 0x03628244, 0x00568571, 0x02ec9f57, 0x002746ae}}, Y: Field{[10]uint32{0x0328cadf, 0x02b4a2cf, 0x03bdd149, 0x039e6219, 0x0071b010, 0x02508d4e, 0x00c89e62, 0x02d8708e, 0x030050db, 0x003c87b9}}}, + {X: Field{[10]uint32{0x001f7ae6, 0x01d0b585, 0x03a32f72, 0x02816166, 0x019886d6, 0x012c10dc, 0x03234b6a, 0x02bd1b0d, 0x02918db3, 0x0007ee59}}, Y: Field{[10]uint32{0x001f7379, 0x035560b5, 0x00ecab09, 0x01e08101, 0x02a17b55, 0x03a69096, 0x034c4426, 0x03f647df, 0x02cc207e, 0x0022f04f}}}, + {X: Field{[10]uint32{0x021ec7b8, 0x00876da7, 0x01281ee2, 0x03c169e0, 0x02416d54, 0x0010a3a2, 0x00bcb23e, 0x0136ac26, 0x0364b927, 0x0008b678}}, Y: Field{[10]uint32{0x02d8407d, 0x01219780, 0x024c1c1e, 0x0244a3e4, 0x014c300a, 0x01d3a546, 0x0399195b, 0x01f6d795, 0x0258f93d, 0x0017708c}}}, + {X: Field{[10]uint32{0x0073e45d, 0x01ca5efe, 0x03ff8398, 0x030091f2, 0x01adb168, 0x0161d04c, 0x0166766d, 0x020fecc0, 0x0050aed0, 0x001897e9}}, Y: Field{[10]uint32{0x0376bb7b, 0x007d9121, 0x011175a2, 0x02196e39, 0x00fbb5a2, 0x0280913c, 0x0185ed21, 0x03241195, 0x0104473d, 0x001c82a0}}}, + {X: Field{[10]uint32{0x02a2147f, 0x020bcde9, 0x028ff01f, 0x003fc86b, 0x002deacc, 0x009a06ba, 0x03b01c2e, 0x03f0977b, 0x01c19b6d, 0x00092b2c}}, Y: Field{[10]uint32{0x03ca5d4b, 0x02647774, 0x03d52783, 0x036b7ebd, 0x0193f50a, 0x01c6aaf8, 0x00abdcdb, 0x0201862a, 0x0335210e, 0x003dca74}}}, + {X: Field{[10]uint32{0x035ab555, 0x004c0b3d, 0x0339f33c, 0x025ae96c, 0x036c6d18, 0x02fdf6ce, 0x02328e3b, 0x00c353ce, 0x0003a99d, 0x0034a15a}}, Y: Field{[10]uint32{0x0292d6ff, 0x02727681, 0x00fdf568, 0x0224f9e0, 0x012b814a, 0x02d06dc9, 0x0098bbf1, 0x016e1d8b, 0x014d6470, 0x00259266}}}, + {X: Field{[10]uint32{0x00b5fe0a, 0x002f2613, 0x0031b50a, 0x023cef1e, 0x008fb529, 0x01c797f6, 0x01e95ef8, 0x01a212c5, 0x02659d19, 0x002014a7}}, Y: Field{[10]uint32{0x00b3b778, 0x0391dbc4, 0x02de6e9a, 0x02a1d3a1, 0x000b74b4, 0x01696c9a, 0x01e50bfc, 0x02faa3bf, 0x024f9ae4, 0x0021a2cf}}}, + {X: Field{[10]uint32{0x0328e183, 0x01d35fa1, 0x01dded06, 0x005a54fc, 0x030e0bb3, 0x02710c9d, 0x0288e494, 0x0007b574, 0x01aa3b82, 0x001fe466}}, Y: Field{[10]uint32{0x025288b9, 0x0387e7c6, 0x01e2ffcb, 0x0107765f, 0x00ee9d7e, 0x029c89a3, 0x02c174a3, 0x0080a551, 0x0273d037, 0x00006ae9}}}, + {X: Field{[10]uint32{0x0029ecbc, 0x0322598b, 0x02fb76d0, 0x01b59134, 0x0129b456, 0x03332c64, 0x004674cd, 0x0167d923, 0x008508e9, 0x001f4cb2}}, Y: Field{[10]uint32{0x02d39698, 0x0000d081, 0x013e866e, 0x0278c7d5, 0x02875ea9, 0x01971ce1, 0x011afb8e, 0x03fba325, 0x00ecb50b, 0x003643a5}}}, + {X: Field{[10]uint32{0x011abfbf, 0x020678cb, 0x0374cbf8, 0x03feb67a, 0x011f1727, 0x02f46fc0, 0x02ce67eb, 0x03b3215d, 0x01c09291, 0x003cae58}}, Y: Field{[10]uint32{0x0126f795, 0x001c408c, 0x00524017, 0x002b5030, 0x00ed0aec, 0x0195bd8e, 0x00382208, 0x01a8d91b, 0x00495a1e, 0x003aff96}}}, + {X: Field{[10]uint32{0x01be876e, 0x02efefe0, 0x02676f75, 0x005d3a62, 0x026b4ae3, 0x025c606c, 0x02d6a728, 0x00ca465c, 0x02899528, 0x00366831}}, Y: Field{[10]uint32{0x02bfa042, 0x03e31eb1, 0x00d922b7, 0x024eecd4, 0x01e9039b, 0x034fc0c2, 0x0164d974, 0x02f26b45, 0x0086a0ac, 0x0034daba}}}, + {X: Field{[10]uint32{0x007c3e0a, 0x0375205f, 0x0269fbe2, 0x0048c2ce, 0x00fff299, 0x002af7d7, 0x01b2aa71, 0x01f23264, 0x03246aeb, 0x0031e8d8}}, Y: Field{[10]uint32{0x01c9e21f, 0x016c3001, 0x025f815f, 0x01235b47, 0x0102b321, 0x02d2cb52, 0x01863026, 0x0234b5e6, 0x01d70e44, 0x0004a63f}}}, + {X: Field{[10]uint32{0x00985a86, 0x010853f9, 0x00ac4830, 0x01931ff8, 0x02640d24, 0x036fd58e, 0x02535a04, 0x034ef019, 0x03a05064, 0x0018d735}}, Y: Field{[10]uint32{0x01e3ae1f, 0x014f89fa, 0x01a4ce04, 0x011fcca0, 0x00e8d5f0, 0x03e78bcc, 0x0335cfca, 0x01dfd919, 0x0265913e, 0x00003900}}}, + {X: Field{[10]uint32{0x009ee5f5, 0x02478426, 0x00adcc5b, 0x02dc85a7, 0x02eca54b, 0x0256d206, 0x035b6326, 0x03a894df, 0x024f38ed, 0x00017698}}, Y: Field{[10]uint32{0x02721779, 0x0035dc72, 0x02505a22, 0x0088dec5, 0x0248c288, 0x00e9495b, 0x03aeeb24, 0x000c03ff, 0x01baa108, 0x0034fa9b}}}, + {X: Field{[10]uint32{0x007d4d5e, 0x024a13fa, 0x0080efe1, 0x0230a5db, 0x01ce0527, 0x03f92db5, 0x001f6871, 0x01d7b24b, 0x00a2b197, 0x002a93d9}}, Y: Field{[10]uint32{0x02d4f240, 0x01e4f70f, 0x0118e293, 0x00a20e59, 0x00224ea0, 0x0160e99b, 0x036e9499, 0x0383eda5, 0x017e95fc, 0x003ce7c4}}}, + {X: Field{[10]uint32{0x027e0641, 0x02d70d90, 0x038c1477, 0x03b3af8d, 0x01d60969, 0x00b81554, 0x0293f266, 0x006d088a, 0x00ea99ff, 0x0026d946}}, Y: Field{[10]uint32{0x0393165a, 0x01d21f63, 0x0165627b, 0x03147508, 0x01bebdf7, 0x0014cbfe, 0x02ea9dd3, 0x03eced0e, 0x02558650, 0x000ba7c5}}}, + {X: Field{[10]uint32{0x0297b562, 0x024f402b, 0x011594b1, 0x01ffec40, 0x006547f4, 0x03772fae, 0x02011381, 0x00b83e87, 0x02a2b597, 0x001b26e6}}, Y: Field{[10]uint32{0x0275e27d, 0x01280e18, 0x02d3b162, 0x02c99d1d, 0x02a6e78e, 0x034816f6, 0x0123d0f9, 0x01c74af9, 0x011c8d4c, 0x002bc276}}}, + {X: Field{[10]uint32{0x03467cbe, 0x019984b6, 0x01f71f53, 0x031a8df9, 0x00cf80ae, 0x031c44a8, 0x02365410, 0x02571579, 0x00803cdc, 0x0028a872}}, Y: Field{[10]uint32{0x0223fc09, 0x02e6cb53, 0x02fc273e, 0x00683108, 0x01802e2e, 0x00352c5d, 0x025410d5, 0x03c103ff, 0x030f3638, 0x003133d5}}}, + {X: Field{[10]uint32{0x03650427, 0x010df96a, 0x008a9ca8, 0x02b883cb, 0x0213102b, 0x02225cd9, 0x025af104, 0x033358d2, 0x0350c961, 0x00018f4d}}, Y: Field{[10]uint32{0x02339248, 0x01c01163, 0x03fa06d6, 0x03c1c4e4, 0x01f21125, 0x0261d0a8, 0x01e90dc6, 0x0269d9cb, 0x033274b3, 0x0021d054}}}, + {X: Field{[10]uint32{0x02bdd04a, 0x00582c94, 0x0130e1f5, 0x02fc66da, 0x00bcc97d, 0x02117453, 0x013e8fb5, 0x02095429, 0x0266e442, 0x002341c3}}, Y: Field{[10]uint32{0x01487ecd, 0x036a3766, 0x00bb2497, 0x02433bbd, 0x0248cdef, 0x005cf348, 0x0084099f, 0x013c1326, 0x00824f2b, 0x0012f263}}}, + {X: Field{[10]uint32{0x0291c8bd, 0x02ff4ad2, 0x01456175, 0x037decd8, 0x03e3f3d4, 0x03305963, 0x00143950, 0x00022ed4, 0x02a72e5f, 0x003c7f95}}, Y: Field{[10]uint32{0x01f275f2, 0x03219bbd, 0x017b2be2, 0x017ffa29, 0x03a19caa, 0x00da2159, 0x01e302ad, 0x01f69740, 0x02bee57a, 0x002f97ff}}}, + {X: Field{[10]uint32{0x03554b21, 0x01a87f9c, 0x01635747, 0x02756bb3, 0x03b41239, 0x019d6f31, 0x0271a950, 0x025a7a6e, 0x02dbd2eb, 0x00200b26}}, Y: Field{[10]uint32{0x0372bc5e, 0x008b84d9, 0x007efb74, 0x0326f841, 0x02cc3344, 0x01c3e703, 0x026527d3, 0x0339a59b, 0x0026f547, 0x001084c8}}}, + {X: Field{[10]uint32{0x0093db56, 0x020812c5, 0x02745c71, 0x0293c5e2, 0x009d24cd, 0x02f1e965, 0x030a5cda, 0x03b48803, 0x02c09d6c, 0x00256c6d}}, Y: Field{[10]uint32{0x02adb01d, 0x0002752d, 0x023ddf69, 0x0074db2c, 0x0127b233, 0x01b3c903, 0x00ce5e9a, 0x00f45ab2, 0x02815303, 0x002f050d}}}, + {X: Field{[10]uint32{0x02ede35d, 0x0120e9a9, 0x0169d2d6, 0x01bb5dac, 0x017b79a0, 0x005c08bc, 0x03b2aa4e, 0x013ab860, 0x012901f9, 0x0003abb5}}, Y: Field{[10]uint32{0x01d559b3, 0x009fee57, 0x03f8f9cb, 0x01f266b1, 0x00bc6e37, 0x02b5aebc, 0x02c1efa3, 0x02267376, 0x027691c5, 0x0014f56c}}}, + {X: Field{[10]uint32{0x0027d770, 0x02dcd667, 0x02abeac7, 0x0038d9ef, 0x03906d69, 0x03bcfdfc, 0x02b485b6, 0x011231cb, 0x03e59f6f, 0x001df113}}, Y: Field{[10]uint32{0x031102fd, 0x008bbafe, 0x009d3833, 0x027feb31, 0x00e6629c, 0x038f5ace, 0x00f03604, 0x003e00b3, 0x00226c44, 0x002f35d4}}}, + {X: Field{[10]uint32{0x000a0306, 0x02b97ef9, 0x0144efad, 0x01e55046, 0x00011b62, 0x0364daa2, 0x0352002c, 0x00291ad9, 0x02e2f00f, 0x003a18ec}}, Y: Field{[10]uint32{0x03243a5f, 0x03f81119, 0x00358b36, 0x01f59802, 0x01c2ed93, 0x00c7a3ab, 0x039caff6, 0x027c5c16, 0x03a36da2, 0x002d71e6}}}, + {X: Field{[10]uint32{0x02f8f191, 0x0079cbbb, 0x02dec272, 0x02d3cf73, 0x003883ad, 0x02b68c26, 0x03eedda4, 0x01c742cb, 0x03ef93df, 0x00089bd6}}, Y: Field{[10]uint32{0x001707c3, 0x008cf39d, 0x00fbcc13, 0x022f5d73, 0x00f96607, 0x02116186, 0x00a08fbe, 0x02f05228, 0x00b52bce, 0x00282481}}}, + {X: Field{[10]uint32{0x03467184, 0x03a40da0, 0x0046e3a4, 0x0292bfdf, 0x02c33bed, 0x031bc237, 0x03a82b39, 0x01f14e7c, 0x03b08c1e, 0x002a888b}}, Y: Field{[10]uint32{0x001c3765, 0x03590c5f, 0x01d4ac5d, 0x00a641ad, 0x01c1653d, 0x01b7fe4c, 0x01a7c3aa, 0x03f4e608, 0x01cf21ca, 0x00010441}}}, + {X: Field{[10]uint32{0x01fec96a, 0x01d53c78, 0x01a82239, 0x033048db, 0x01f94482, 0x025ec540, 0x01220bb3, 0x013b4f71, 0x02cd26ef, 0x00061e70}}, Y: Field{[10]uint32{0x01f0d67d, 0x01c96ddc, 0x01351464, 0x01472dcf, 0x024fc689, 0x00758c10, 0x03b16092, 0x03785247, 0x033575ea, 0x00244b57}}}, + {X: Field{[10]uint32{0x009902e0, 0x01fb2c6b, 0x03b76765, 0x007af70a, 0x026df621, 0x01c352df, 0x024cfc59, 0x03622fd2, 0x00a4e7ee, 0x002f8e79}}, Y: Field{[10]uint32{0x0227cb4e, 0x03311d9f, 0x00899f94, 0x02915857, 0x0132ae54, 0x0133d692, 0x006d9a2b, 0x029edd8c, 0x00f113fc, 0x00362c79}}}, + {X: Field{[10]uint32{0x012d5786, 0x02f70bdd, 0x00631d3f, 0x0391f3d1, 0x001c2912, 0x01b0fe2a, 0x03028368, 0x0230f740, 0x03ce3337, 0x0007a9cb}}, Y: Field{[10]uint32{0x0348906e, 0x002e220d, 0x007c9aed, 0x02c201ff, 0x000cb6e2, 0x03941ade, 0x03f261af, 0x03745333, 0x0158fe1c, 0x003883d1}}}, + {X: Field{[10]uint32{0x02036806, 0x0198beb6, 0x032423ac, 0x0046dd36, 0x022d0ca0, 0x00caf0e5, 0x00638e6f, 0x03d5f7a3, 0x03dd67bf, 0x00015b8c}}, Y: Field{[10]uint32{0x0393f461, 0x00ee4ff0, 0x02e2efbb, 0x033cf853, 0x0350d78e, 0x007795ef, 0x0317d4e4, 0x01c4c024, 0x00cc165e, 0x00100e70}}}, + {X: Field{[10]uint32{0x000f37ad, 0x01c330ba, 0x034470c4, 0x0153c429, 0x02d036ce, 0x00e2e78f, 0x02fb95a7, 0x03637c72, 0x0291a5f1, 0x00146605}}, Y: Field{[10]uint32{0x01972261, 0x02a998b1, 0x03664d31, 0x03711c7b, 0x01d03fab, 0x03a5fc11, 0x026e3c26, 0x00aa641d, 0x004767cf, 0x00027ee4}}}, + {X: Field{[10]uint32{0x00869dbd, 0x03165e66, 0x03f3016e, 0x02e6f355, 0x02b90db9, 0x03e49e65, 0x00be7f95, 0x025e0dac, 0x028577a5, 0x003bce95}}, Y: Field{[10]uint32{0x037c5e07, 0x030f6306, 0x024d372a, 0x00d92ed4, 0x03fabe11, 0x0387d1e0, 0x01782c6a, 0x01d27a52, 0x0057ff22, 0x001473f9}}}, + {X: Field{[10]uint32{0x03196415, 0x0301836b, 0x00a22523, 0x020814c1, 0x0379a668, 0x038f190c, 0x029e0b16, 0x0216e9fb, 0x02a18c3a, 0x003bf194}}, Y: Field{[10]uint32{0x00f7b2a5, 0x0111ecd5, 0x01d49737, 0x00726302, 0x038fcee7, 0x01661c20, 0x01b2498f, 0x006bcc07, 0x0014cef9, 0x0022995b}}}, + {X: Field{[10]uint32{0x004bbf82, 0x00dc2862, 0x015def07, 0x018b012a, 0x018adc79, 0x0226203c, 0x00021983, 0x0338b366, 0x03eff4d5, 0x00337687}}, Y: Field{[10]uint32{0x01e31d6c, 0x01726c12, 0x0235a0e5, 0x02ae14d8, 0x024417f9, 0x0291e058, 0x019174b4, 0x0370175e, 0x03fcb0c9, 0x0022f09b}}}, + {X: Field{[10]uint32{0x016cf0d4, 0x021a11ee, 0x03a3f938, 0x02b370e8, 0x00d46bb6, 0x01f7b750, 0x00b76d77, 0x02a84c4d, 0x01853454, 0x001bcfce}}, Y: Field{[10]uint32{0x00adba81, 0x03b1724b, 0x01637e4e, 0x02479592, 0x00b6e324, 0x029020d1, 0x03e5192e, 0x0286d6b9, 0x019c4f7c, 0x002a2e92}}}, + {X: Field{[10]uint32{0x014b13e4, 0x033577f9, 0x01ee8061, 0x01f61452, 0x03a2a362, 0x03636013, 0x0042065e, 0x03ee0faa, 0x01af91ab, 0x00394b44}}, Y: Field{[10]uint32{0x01cfff97, 0x00e384aa, 0x01069468, 0x00f438fb, 0x012e132a, 0x039cca17, 0x021f6ed4, 0x0159cb2c, 0x006d619e, 0x00167cc4}}}, + {X: Field{[10]uint32{0x027256ff, 0x0033e8e7, 0x02ac066c, 0x01a70c38, 0x038fb918, 0x00cacf2a, 0x0254d13b, 0x0072d915, 0x0336f0de, 0x00227fb1}}, Y: Field{[10]uint32{0x03e44274, 0x01156b81, 0x01ded46b, 0x036ed63d, 0x0173e708, 0x037f798b, 0x02b938d9, 0x0069b6da, 0x02e84d3e, 0x003e505e}}}, + {X: Field{[10]uint32{0x02b70b29, 0x036b0248, 0x03f7531b, 0x0082a240, 0x03522615, 0x000a1d27, 0x006ce733, 0x00154f3a, 0x035691b1, 0x00014503}}, Y: Field{[10]uint32{0x022dc024, 0x019f5caa, 0x00afd0dd, 0x002fe894, 0x00ad0acf, 0x007033a4, 0x021f4ce2, 0x0308f401, 0x022b9e02, 0x00246865}}}, + {X: Field{[10]uint32{0x01267b5c, 0x0243f21f, 0x00d09c0f, 0x03ae1548, 0x030579d0, 0x034cbe52, 0x035e199e, 0x02645c41, 0x01309310, 0x0000f058}}, Y: Field{[10]uint32{0x00ac64c3, 0x01f4dade, 0x00e51a5f, 0x03297a00, 0x01e9f156, 0x01a4eb00, 0x02a00107, 0x0036e40e, 0x00dfe404, 0x00354341}}}, + {X: Field{[10]uint32{0x03e8bac9, 0x00fbae26, 0x01fa8be1, 0x014a4474, 0x02a2d0b9, 0x00090154, 0x00b8a58f, 0x0008dc96, 0x010e63a5, 0x003f61da}}, Y: Field{[10]uint32{0x021b9225, 0x013fa922, 0x0247458e, 0x038eb144, 0x03b40f04, 0x011ff19a, 0x023ee352, 0x01a3d5be, 0x01acccb9, 0x00101b70}}}, + {X: Field{[10]uint32{0x01a12a81, 0x01d0d2f5, 0x01347ebc, 0x0381aa36, 0x0299005c, 0x01cecca3, 0x028ad599, 0x01e3ccb3, 0x01de017e, 0x00023934}}, Y: Field{[10]uint32{0x01a2a8ae, 0x0065006c, 0x036da429, 0x02a230c6, 0x02992baf, 0x02efc362, 0x00c843b4, 0x029975d1, 0x033e744c, 0x00318d23}}}, + {X: Field{[10]uint32{0x007743c2, 0x00e6831b, 0x03ff6ea7, 0x001059de, 0x02f49881, 0x029632aa, 0x03b6eebb, 0x0319e05c, 0x03cfea62, 0x000e0b1e}}, Y: Field{[10]uint32{0x01c5eb7d, 0x0154e69a, 0x035237cf, 0x0372bf34, 0x0267e9ad, 0x000703da, 0x01f7f27e, 0x01090d4f, 0x01da77e6, 0x00006429}}}, + {X: Field{[10]uint32{0x0114ed0f, 0x0364357e, 0x01d29e87, 0x03254efd, 0x0125b0da, 0x03a941e5, 0x01fa471b, 0x01201d4e, 0x034e74b8, 0x003d5aa2}}, Y: Field{[10]uint32{0x0096db8b, 0x00547ef0, 0x01a48c50, 0x00704e45, 0x008f9f20, 0x01a9ba89, 0x03881c65, 0x039848ea, 0x0108da57, 0x001515b6}}}, + {X: Field{[10]uint32{0x03965b80, 0x03f6c185, 0x02a044ec, 0x00b157c4, 0x003af365, 0x005ae031, 0x02f8ea2b, 0x0155e87f, 0x03fb6a5e, 0x002423a7}}, Y: Field{[10]uint32{0x038bc2ce, 0x0379d6a1, 0x02043562, 0x0253b5ad, 0x03b9c010, 0x03af0c4d, 0x0182ca07, 0x0133c3e0, 0x00c9d1b1, 0x002fab8a}}}, + {X: Field{[10]uint32{0x02c86ef4, 0x00b9ba6f, 0x01e787ef, 0x012e6750, 0x033fad25, 0x014a4d3a, 0x03225330, 0x0207f45a, 0x03184333, 0x0029b0c1}}, Y: Field{[10]uint32{0x023fb818, 0x024015d8, 0x026f44bf, 0x020817b8, 0x029e266f, 0x000c271c, 0x01129e4e, 0x01440813, 0x0286a60d, 0x0011ea68}}}, + {X: Field{[10]uint32{0x00b3e903, 0x019bade6, 0x01361047, 0x038d28a6, 0x0230a652, 0x00af882b, 0x01461635, 0x00b0980b, 0x01866c3e, 0x002522eb}}, Y: Field{[10]uint32{0x01c35164, 0x01312136, 0x00d3395b, 0x0129da86, 0x004321da, 0x02457783, 0x0043b0f0, 0x0228ae67, 0x0222ad47, 0x000c34c1}}}, + {X: Field{[10]uint32{0x00f6a3f2, 0x03a13487, 0x02c9f0c9, 0x0373e5b4, 0x029d536e, 0x021e0b4d, 0x03881251, 0x005eb9dd, 0x039dcb8a, 0x0035b24a}}, Y: Field{[10]uint32{0x02de09b9, 0x00412bca, 0x0207b9e0, 0x00923b08, 0x030ed686, 0x02bb1752, 0x030ae881, 0x020dde5e, 0x03a09351, 0x003764d9}}}, + {X: Field{[10]uint32{0x01566abd, 0x03bc3f59, 0x0232854c, 0x00269d6b, 0x037b0822, 0x0137e00b, 0x00641ca6, 0x004f591b, 0x017b7d8b, 0x003e7fcf}}, Y: Field{[10]uint32{0x02deec98, 0x0396580c, 0x011c8c84, 0x00a2861c, 0x01b9269d, 0x00f60474, 0x02230224, 0x008257dc, 0x019e1f19, 0x002b1618}}}, + {X: Field{[10]uint32{0x02c8d5e0, 0x00a3dba4, 0x014e1c35, 0x01fe0d34, 0x017f4e76, 0x00a0dfb5, 0x009a9204, 0x0383dc08, 0x01ba3a70, 0x000f6b87}}, Y: Field{[10]uint32{0x000f797f, 0x0134154a, 0x0332e08b, 0x0367aa64, 0x015c7816, 0x03ffa1f2, 0x03cdfad3, 0x03cb3f87, 0x028d6ea1, 0x001eb891}}}, + {X: Field{[10]uint32{0x01b49937, 0x012c0746, 0x007cad0b, 0x01f836ef, 0x008ffd22, 0x03caabac, 0x03ffe130, 0x024df272, 0x01056fcc, 0x0009c114}}, Y: Field{[10]uint32{0x03fa4397, 0x029a63c7, 0x02ad4d08, 0x03d710a1, 0x01bbd801, 0x01875b1d, 0x00d37246, 0x03f7f888, 0x02546c24, 0x00045d9a}}}, + {X: Field{[10]uint32{0x00defd22, 0x00359788, 0x00865bb9, 0x01599271, 0x012024c5, 0x018beea0, 0x00340752, 0x0183bb35, 0x03f96c32, 0x003e7657}}, Y: Field{[10]uint32{0x03a13c2d, 0x0009af05, 0x01dda24b, 0x0128696c, 0x030a89d5, 0x00c11cc2, 0x02632ba8, 0x00504602, 0x03fd8f74, 0x000df2fd}}}, + {X: Field{[10]uint32{0x01a7021f, 0x02d5f171, 0x0021448a, 0x02ef6e64, 0x02ff0a86, 0x019b3ef9, 0x018c6d5b, 0x019fa7fb, 0x0318f90f, 0x00013a37}}, Y: Field{[10]uint32{0x02a621f5, 0x024ff6bc, 0x0329ea22, 0x03f4ea0d, 0x000e9bad, 0x02cd210f, 0x03a2b1b3, 0x01904d14, 0x00c5ccf5, 0x001f9a7e}}}, + {X: Field{[10]uint32{0x02ffef9f, 0x016dde74, 0x01821c8a, 0x02f4ef8d, 0x00ab3d32, 0x00f19916, 0x02783836, 0x01fec86e, 0x012a710a, 0x00230a93}}, Y: Field{[10]uint32{0x025511d6, 0x016ab18d, 0x01205caa, 0x0247fce7, 0x03f82d8f, 0x006f595d, 0x01715157, 0x00960d18, 0x007d27e4, 0x00354c91}}}, + {X: Field{[10]uint32{0x03654b75, 0x010f3be1, 0x00e19631, 0x007b52c1, 0x02c10e81, 0x023eb9cb, 0x00677afa, 0x027339bf, 0x03a01974, 0x000a2dfc}}, Y: Field{[10]uint32{0x005ec782, 0x035698e1, 0x03e392ce, 0x00c699e3, 0x01e241ba, 0x01c7d287, 0x017c881e, 0x02ace456, 0x01eb3245, 0x0000c11c}}}, + {X: Field{[10]uint32{0x01be416b, 0x01b5f6d6, 0x0300808f, 0x025033d2, 0x02d89f64, 0x02667b23, 0x03b5acb0, 0x039cb095, 0x010ffcb8, 0x0032d1d3}}, Y: Field{[10]uint32{0x016622fd, 0x00c146a8, 0x000c7e3a, 0x02cfbff0, 0x029a0e59, 0x01d67e15, 0x039a9508, 0x00f2ee2a, 0x00cefc29, 0x003fdf34}}}, + {X: Field{[10]uint32{0x0055b36c, 0x01ecd7d0, 0x023f5bd5, 0x00d0ba65, 0x011a1800, 0x0378a929, 0x01567fbe, 0x02f10099, 0x01825dbe, 0x0030cf9a}}, Y: Field{[10]uint32{0x0146be18, 0x023b0b31, 0x01e0db79, 0x02d64694, 0x02082c0c, 0x0266ac19, 0x03b50615, 0x01973894, 0x03f57ce2, 0x0008bfcf}}}, + {X: Field{[10]uint32{0x01bd2237, 0x01060e06, 0x00a0eee3, 0x0116cf43, 0x03257e07, 0x01112a6a, 0x02441a84, 0x01c48dc6, 0x010644d3, 0x00212ff0}}, Y: Field{[10]uint32{0x009ef6f1, 0x00861eca, 0x0235ae1c, 0x00847b38, 0x03afd7f4, 0x00f9065e, 0x03d13ffb, 0x03dc1b0c, 0x02d57b7a, 0x001f2f95}}}, + {X: Field{[10]uint32{0x017b713a, 0x026594fe, 0x008dc735, 0x02296c12, 0x03606302, 0x01f820d7, 0x000f003f, 0x00913bf5, 0x02ecd53b, 0x000270c4}}, Y: Field{[10]uint32{0x02b76d14, 0x01126c53, 0x01fe6165, 0x0297fb90, 0x0059698b, 0x00622d3a, 0x00d0b160, 0x01dfbe15, 0x010f58fc, 0x00046f2f}}}, + {X: Field{[10]uint32{0x0315cefc, 0x02a0b72b, 0x004332d0, 0x006b8074, 0x01d474f6, 0x00eef3c8, 0x0183bf4e, 0x01bcb433, 0x0359a22d, 0x001701ab}}, Y: Field{[10]uint32{0x0322aae8, 0x02059690, 0x02be2904, 0x02c50978, 0x0341fbef, 0x0319a6ab, 0x006d70d6, 0x0197f6a3, 0x03e9f1c2, 0x0011dad2}}}, + {X: Field{[10]uint32{0x01b6bdcf, 0x03516cfc, 0x002bf2d6, 0x01c72118, 0x03f44f0d, 0x02bce7ae, 0x000eb547, 0x03b50ed3, 0x01c681a3, 0x001ddc96}}, Y: Field{[10]uint32{0x033bf754, 0x037861fe, 0x02bba22f, 0x0273d58f, 0x03d6742b, 0x0320d199, 0x00448514, 0x02162bbb, 0x03535481, 0x0022a74d}}}, + {X: Field{[10]uint32{0x01266842, 0x00831410, 0x0283ce38, 0x03101d98, 0x020174b8, 0x03409137, 0x024328b4, 0x03074c53, 0x001eae1f, 0x002cdc18}}, Y: Field{[10]uint32{0x00125ac0, 0x00da0d2f, 0x029323e1, 0x02a9010a, 0x03eda7b5, 0x036603b8, 0x02a9abc8, 0x030ec1d4, 0x00792174, 0x0023bc14}}}, + {X: Field{[10]uint32{0x02fe6584, 0x022b23b6, 0x028bf824, 0x015ac054, 0x02780868, 0x01c25c81, 0x032ad406, 0x01924a91, 0x02c07f8d, 0x0016be52}}, Y: Field{[10]uint32{0x022daf1a, 0x030e59b9, 0x016552a9, 0x035e33f9, 0x00b40dff, 0x03bd7d5b, 0x01f32efc, 0x03794475, 0x03ce57ea, 0x00229531}}}, + {X: Field{[10]uint32{0x030586c6, 0x032e39d6, 0x0194581a, 0x007cfe51, 0x034f84b4, 0x0160cbcd, 0x01d4f23c, 0x01c154e1, 0x019ce2e8, 0x0023f8f0}}, Y: Field{[10]uint32{0x01728c28, 0x013d6b24, 0x03860067, 0x005c055b, 0x012f5e20, 0x02bc64f2, 0x0314d491, 0x01130e90, 0x019fd16f, 0x003e48c2}}}, + {X: Field{[10]uint32{0x03ac9a71, 0x00a23f04, 0x02fc3b5f, 0x01fe8dee, 0x01e531d1, 0x026d97ad, 0x01211b30, 0x02f4797e, 0x021d2642, 0x00356025}}, Y: Field{[10]uint32{0x034185cb, 0x0225fa46, 0x03650e4f, 0x03716ce3, 0x02d9678c, 0x02c4bea1, 0x0250a6e0, 0x022d0cdb, 0x0154337e, 0x00140301}}}, + {X: Field{[10]uint32{0x0295e82b, 0x033efc50, 0x01405256, 0x019d6a71, 0x02234e79, 0x019e430c, 0x02460338, 0x02988d27, 0x00ed529f, 0x00009577}}, Y: Field{[10]uint32{0x01799815, 0x03d2d29f, 0x00b100c8, 0x033653db, 0x035dfba7, 0x02a918c5, 0x03253d3f, 0x0071eff0, 0x01c47f3e, 0x001fbb6a}}}, + {X: Field{[10]uint32{0x00891557, 0x02f908bb, 0x004580bd, 0x00e2a376, 0x031a27c3, 0x03923957, 0x00476a4a, 0x01147eae, 0x03a79240, 0x0012dfaf}}, Y: Field{[10]uint32{0x01b59085, 0x00f60fa1, 0x012848c6, 0x035f90a1, 0x02c12622, 0x035fb604, 0x00a23cfa, 0x00d7d83f, 0x00e9f891, 0x0037ec98}}}, + {X: Field{[10]uint32{0x032fbf28, 0x01fd5547, 0x00c7d8f4, 0x0274ef45, 0x01311956, 0x0319dc67, 0x035819e0, 0x024aa68e, 0x03809e60, 0x00246741}}, Y: Field{[10]uint32{0x003d8094, 0x02bca0e1, 0x024fdcbc, 0x03528c38, 0x00c204d3, 0x02635846, 0x03b2fa50, 0x003cb3b2, 0x02f876d7, 0x003282da}}}, + {X: Field{[10]uint32{0x0070ee78, 0x03754da3, 0x03f42393, 0x01ad67ba, 0x009b8c89, 0x02b8d0a9, 0x02d73bd5, 0x02a5116f, 0x03a9de89, 0x00119a19}}, Y: Field{[10]uint32{0x02e042e1, 0x03559e2a, 0x02029385, 0x024d3ba5, 0x019cbb9f, 0x022dfb42, 0x01bd6cae, 0x01608c1e, 0x0307b3e1, 0x000a9765}}}, + {X: Field{[10]uint32{0x01db3f7b, 0x0172e8b0, 0x01f3cd98, 0x016ef995, 0x01fc740d, 0x03dc4963, 0x021526fc, 0x01145e24, 0x0108c878, 0x001c49d3}}, Y: Field{[10]uint32{0x034b25e0, 0x01237bfe, 0x03f560d8, 0x0299aaf9, 0x033cdd2c, 0x010185de, 0x01652bc4, 0x0050d3e3, 0x0130a5be, 0x00382bc0}}}, + {X: Field{[10]uint32{0x02be2bcd, 0x03838ddf, 0x0111fa0a, 0x01b47ecc, 0x03b6e825, 0x013981a3, 0x00693c1f, 0x0090744f, 0x00482d25, 0x00291ba4}}, Y: Field{[10]uint32{0x00474eda, 0x02486fa5, 0x0111140f, 0x02ff56b9, 0x01fdd708, 0x0185c9ab, 0x026e7ac9, 0x02ada604, 0x000cf22a, 0x001d59dc}}}, + {X: Field{[10]uint32{0x01e84abd, 0x000afea9, 0x03b5baec, 0x022e89b4, 0x0110ea91, 0x01ef9a14, 0x0073b0f7, 0x00449a16, 0x0391f243, 0x003dd642}}, Y: Field{[10]uint32{0x02708999, 0x024d6918, 0x00e2eded, 0x02357a8a, 0x002d2512, 0x016372f2, 0x035d6cc8, 0x02534326, 0x00f8594c, 0x00120612}}}, + {X: Field{[10]uint32{0x028c2edf, 0x00bb7790, 0x023bc9a2, 0x037ebfd7, 0x004f966e, 0x0263c1e4, 0x0139d643, 0x03876b6b, 0x00e51282, 0x000b5eaa}}, Y: Field{[10]uint32{0x035d9d79, 0x016d868c, 0x01fb5763, 0x0285c233, 0x01a30b4d, 0x005d57e7, 0x033ea24f, 0x008267ac, 0x033c4203, 0x0004ac84}}}, + {X: Field{[10]uint32{0x0236d0e3, 0x0143ea5c, 0x00607995, 0x009d7d96, 0x00822809, 0x0207c4d7, 0x03113a55, 0x0311ff67, 0x03403302, 0x00244c4f}}, Y: Field{[10]uint32{0x00838a77, 0x00fd89e4, 0x03f27c32, 0x0308b833, 0x03aa9e96, 0x03c84a16, 0x01daee91, 0x0012fd18, 0x00075e78, 0x003e2dbb}}}, + {X: Field{[10]uint32{0x006743cb, 0x0128755b, 0x010de2f4, 0x0070e867, 0x01e0be03, 0x02c51bef, 0x028e86e1, 0x02169e11, 0x011909d3, 0x00368920}}, Y: Field{[10]uint32{0x00348cbf, 0x027bd9d0, 0x01a666d3, 0x02d874b3, 0x0305d418, 0x026cdf11, 0x00625111, 0x03dbbbcb, 0x017b5f76, 0x00301f22}}}, + {X: Field{[10]uint32{0x01e82220, 0x00809a37, 0x01bd62e8, 0x03e5bc07, 0x02760ec3, 0x03a7b50c, 0x01e6082d, 0x030b8fed, 0x02240b1b, 0x002578da}}, Y: Field{[10]uint32{0x00e1cb63, 0x017a7447, 0x03d01766, 0x021c7878, 0x0352a74a, 0x032d080a, 0x003b209d, 0x0128ea3c, 0x00d73abc, 0x002f9a64}}}, + {X: Field{[10]uint32{0x02bc6e8b, 0x020ccfcf, 0x01cdf488, 0x021c5411, 0x01afe54a, 0x007e0478, 0x03489e45, 0x01d6c315, 0x00603abd, 0x0022c16c}}, Y: Field{[10]uint32{0x0340fb39, 0x003d3f9f, 0x0179dbb3, 0x0056b358, 0x0027f5b6, 0x0206f69f, 0x01e2ddce, 0x0103ee22, 0x008145db, 0x0007443e}}}, + {X: Field{[10]uint32{0x03020f54, 0x0274c33c, 0x0372855a, 0x02df7363, 0x01d43ec0, 0x0072e0ca, 0x00bbb2ba, 0x00c9e9d4, 0x023b764a, 0x003feaf2}}, Y: Field{[10]uint32{0x01d0f05a, 0x021510db, 0x01302cf5, 0x0172d828, 0x00c79196, 0x013a652d, 0x02fb393a, 0x0289816c, 0x0265c90b, 0x0024e5c2}}}, + {X: Field{[10]uint32{0x03866c72, 0x03ec14c2, 0x027c0a18, 0x01a2c4cf, 0x02d35148, 0x01d4a662, 0x00f05fa9, 0x0392a63c, 0x02efef35, 0x002cea16}}, Y: Field{[10]uint32{0x036005e2, 0x011b47d6, 0x0275238f, 0x031fa228, 0x0009ee78, 0x0139c03a, 0x016b36c5, 0x016e780f, 0x02e1c21e, 0x000c0457}}}, + {X: Field{[10]uint32{0x015b7ab5, 0x01494332, 0x012d5d15, 0x00cbaf2d, 0x015b78fc, 0x03d99b54, 0x01c56590, 0x00f3c82e, 0x015f4c23, 0x00293c7f}}, Y: Field{[10]uint32{0x01faa0da, 0x00f58720, 0x02d52c36, 0x00962764, 0x03337543, 0x03148671, 0x00419fe0, 0x00496111, 0x0385726a, 0x00247467}}}, + {X: Field{[10]uint32{0x015bbb0a, 0x00f98900, 0x03c98bec, 0x00df4a6c, 0x019eb146, 0x02d62d7b, 0x03f39232, 0x033c4e52, 0x034b7bae, 0x0025ee12}}, Y: Field{[10]uint32{0x01162435, 0x01bd254b, 0x03bf48b8, 0x00c361b6, 0x025eac7f, 0x02a4ad2d, 0x0093d73c, 0x01ece84d, 0x00afbe8e, 0x00125f6d}}}, + {X: Field{[10]uint32{0x006312b3, 0x01d34665, 0x0169a1c2, 0x0208f321, 0x03a9de5f, 0x006d6d5e, 0x0278e965, 0x00d999d7, 0x00d9203e, 0x000b3ae8}}, Y: Field{[10]uint32{0x02d2b437, 0x029d70e3, 0x0040a488, 0x02db1aad, 0x00b7805d, 0x035df062, 0x030a88a6, 0x033f7907, 0x0286f042, 0x003530bf}}}, + {X: Field{[10]uint32{0x032b7009, 0x02e1a88f, 0x01e10e91, 0x032f1a90, 0x00912391, 0x0120da66, 0x0257b78b, 0x02b28a2f, 0x01306cdd, 0x002ae2c6}}, Y: Field{[10]uint32{0x034172cf, 0x00a1940d, 0x02a03351, 0x0144da24, 0x027abed6, 0x02992081, 0x00472a17, 0x0286ba76, 0x03dc79fb, 0x003f6eea}}}, + {X: Field{[10]uint32{0x0215b394, 0x0034c146, 0x01acd6bb, 0x01742a8b, 0x03c14970, 0x024e3c9a, 0x02ac2b59, 0x0102c55f, 0x00291ff1, 0x00009d8c}}, Y: Field{[10]uint32{0x01374ee6, 0x01412b12, 0x01875a91, 0x01e61bb3, 0x00553594, 0x014bd728, 0x0240838c, 0x02e78bd1, 0x032a38dc, 0x0030adac}}}, + {X: Field{[10]uint32{0x02fc78c5, 0x01e7ad72, 0x02d8e6cc, 0x03423197, 0x009e703f, 0x03a77449, 0x011d7933, 0x014531fe, 0x01bd1cc1, 0x0008b47b}}, Y: Field{[10]uint32{0x00a85efe, 0x01959e30, 0x03f7a05e, 0x03048de3, 0x02a93942, 0x00228e05, 0x0024fca2, 0x039d044c, 0x03eea53a, 0x001d14f9}}}, + {X: Field{[10]uint32{0x00ffe222, 0x01f26f6b, 0x01b7cc8e, 0x009d7b3b, 0x00b61465, 0x02f6cfee, 0x00fa5590, 0x027a509c, 0x01c0c572, 0x001c361a}}, Y: Field{[10]uint32{0x02ec30c5, 0x0372ee3d, 0x01657115, 0x01d2704c, 0x00f8d414, 0x0230b0ea, 0x03baec84, 0x023ed185, 0x01328ce7, 0x0012ff2b}}}, + {X: Field{[10]uint32{0x011b1647, 0x0093ae1e, 0x0097dd4a, 0x0301aedf, 0x00ed9039, 0x02a5ef4a, 0x0360dccd, 0x015e0993, 0x01deda8d, 0x002896d1}}, Y: Field{[10]uint32{0x0243db8f, 0x031a362a, 0x00c7dfe1, 0x0078bc0c, 0x00f306f1, 0x0310e999, 0x03765554, 0x036558c8, 0x0183fd2a, 0x0023f612}}}, + {X: Field{[10]uint32{0x031024b8, 0x02a29d0e, 0x025cf39c, 0x0052e5d6, 0x033e77fa, 0x01cdc19b, 0x02383366, 0x01f0356a, 0x016c9b23, 0x00208ff3}}, Y: Field{[10]uint32{0x0024dde0, 0x03c5ad51, 0x01d72198, 0x012f4719, 0x01d1433e, 0x02db50d1, 0x01c2ba3b, 0x03cb77a6, 0x004d29a4, 0x0039a469}}}, + {X: Field{[10]uint32{0x02158d0c, 0x01b13396, 0x0033a3a9, 0x0349bb49, 0x01ee594b, 0x00e534c1, 0x02b1247d, 0x02bbd90c, 0x02638244, 0x0000e696}}, Y: Field{[10]uint32{0x026a8023, 0x03e2c9d8, 0x016cd32d, 0x010d4315, 0x00ee4b9f, 0x00932c42, 0x03ff37ea, 0x02125355, 0x0139dd8b, 0x00051f3b}}}, + {X: Field{[10]uint32{0x03206487, 0x012a95ac, 0x035f8de9, 0x02ed21e7, 0x022a18f6, 0x006c9de5, 0x00aaf7b8, 0x02cb701d, 0x03b5b85b, 0x0023e7fa}}, Y: Field{[10]uint32{0x0210c2a2, 0x021ab2fd, 0x0093c32a, 0x03caada8, 0x01dc7474, 0x00ad5ecf, 0x037dbdec, 0x01680038, 0x03d6d417, 0x001236ba}}}, + {X: Field{[10]uint32{0x0143f60c, 0x01e80f64, 0x013f804f, 0x014cdba7, 0x016a08db, 0x03dad38d, 0x009158a5, 0x00215914, 0x03142f50, 0x003f05be}}, Y: Field{[10]uint32{0x001f7a36, 0x033e0137, 0x02eaf58b, 0x0139acca, 0x03402758, 0x036e17f9, 0x034ada59, 0x02dce843, 0x02f27e02, 0x0023a4c9}}}, + {X: Field{[10]uint32{0x01c5a281, 0x024921a1, 0x01d788e2, 0x0007d080, 0x03eaecae, 0x021faea0, 0x015d8f09, 0x01bdba44, 0x02a71744, 0x001f6c27}}, Y: Field{[10]uint32{0x0215742b, 0x00f8c9f0, 0x03864273, 0x019f169b, 0x0279fd21, 0x004bf45f, 0x036b2adc, 0x011577dc, 0x00ee426d, 0x002d11a7}}}, + {X: Field{[10]uint32{0x00d9a57e, 0x03ef2529, 0x030b8564, 0x03d71fb2, 0x023df7ca, 0x007e34f1, 0x0256fdab, 0x03bc70fa, 0x03f528ba, 0x00351746}}, Y: Field{[10]uint32{0x02aeccc1, 0x005cb845, 0x02191c1a, 0x0344f016, 0x00ad0c84, 0x006b5c00, 0x0121d3d8, 0x003a2473, 0x01846483, 0x0024789a}}}, + {X: Field{[10]uint32{0x01f03901, 0x0286a45d, 0x0278ad43, 0x0266ba5d, 0x016a4d9c, 0x01e89aec, 0x00a9ffaa, 0x02176154, 0x03751b6f, 0x000febc2}}, Y: Field{[10]uint32{0x0044328f, 0x01710d86, 0x01368b55, 0x0050ee36, 0x00be775d, 0x00e18c47, 0x02aa39f6, 0x00f3d972, 0x022aa4e4, 0x00229741}}}, + {X: Field{[10]uint32{0x02efd121, 0x01ac1b1d, 0x03107492, 0x028cec49, 0x001eefdb, 0x019787b0, 0x00c5e39c, 0x0291c9e7, 0x00be8e08, 0x00151823}}, Y: Field{[10]uint32{0x0140f038, 0x02278831, 0x01afdcb7, 0x01d9c741, 0x039bdc27, 0x03263f0a, 0x02c5f91c, 0x03e07923, 0x01bc40de, 0x00029da5}}}, + {X: Field{[10]uint32{0x009823ec, 0x03560364, 0x02d4664d, 0x03693865, 0x02e8a201, 0x00ed5a5c, 0x00e69552, 0x03f350d9, 0x0189050d, 0x00156683}}, Y: Field{[10]uint32{0x00dc71c3, 0x03a014ba, 0x027b4c46, 0x00ac1a9a, 0x035641e3, 0x021fd654, 0x01b8d5c0, 0x022e433b, 0x01add652, 0x001efe38}}}, + {X: Field{[10]uint32{0x00f467a8, 0x025ae52b, 0x039c31a9, 0x02a42c19, 0x00bb305e, 0x00797f0a, 0x0248c344, 0x02e7cac5, 0x0058b5e2, 0x00059ba2}}, Y: Field{[10]uint32{0x02e5bdb2, 0x008168e4, 0x01d2af64, 0x00df7432, 0x00dc1b7c, 0x0023e665, 0x018a6b91, 0x03ed0ab3, 0x006dff82, 0x002726cc}}}, + {X: Field{[10]uint32{0x00fe1941, 0x0369ce0e, 0x025a8d41, 0x025317bf, 0x02e5284f, 0x02b90e3b, 0x00ec5fc3, 0x020eeaa5, 0x028ce66e, 0x001038a7}}, Y: Field{[10]uint32{0x01acb2dc, 0x0062134e, 0x009c3955, 0x013ec39c, 0x0384ae68, 0x00e88f42, 0x03154e27, 0x01e1a073, 0x031cc01e, 0x001f1c7d}}}, + {X: Field{[10]uint32{0x02d4ee7e, 0x0110e01c, 0x004081a8, 0x00f6fd9d, 0x006aeb8b, 0x01986d00, 0x007fc764, 0x027399fe, 0x00f9eb65, 0x001a0a72}}, Y: Field{[10]uint32{0x0222913b, 0x001a5172, 0x01908ea5, 0x02ccc13f, 0x036647fc, 0x03a7fcc2, 0x02825225, 0x03701553, 0x030a8332, 0x00074d54}}}, + {X: Field{[10]uint32{0x03658196, 0x00d75044, 0x00e7adbb, 0x01010b44, 0x03e25a25, 0x038abc8d, 0x0393b136, 0x027f4e4c, 0x005a322e, 0x00128ff8}}, Y: Field{[10]uint32{0x0101574c, 0x01c0631e, 0x02ea1f14, 0x0115fb7a, 0x0178dbdc, 0x03c2ac5d, 0x03c40d9e, 0x01d906a4, 0x01f8d452, 0x00216690}}}, + {X: Field{[10]uint32{0x02a44f94, 0x01784066, 0x0338225a, 0x030805df, 0x029e9dde, 0x01919f30, 0x0167ad5a, 0x03acbb05, 0x03c9a675, 0x00379605}}, Y: Field{[10]uint32{0x00f723a4, 0x01959eb3, 0x00af5ec3, 0x005d323f, 0x0271b45e, 0x0352fc40, 0x017e6256, 0x00c4737c, 0x03d05413, 0x0010143a}}}, + {X: Field{[10]uint32{0x0262a108, 0x03697ad5, 0x03e7a155, 0x02cc6d47, 0x00daa7b9, 0x03cf63ce, 0x03df1a26, 0x03d0442a, 0x02454f07, 0x003f78a4}}, Y: Field{[10]uint32{0x0327808a, 0x037f722d, 0x0371ed98, 0x015b901c, 0x03f09d17, 0x031b1c67, 0x03347a3a, 0x03a4a733, 0x02d37b39, 0x003ca939}}}, + {X: Field{[10]uint32{0x03f42436, 0x02a43b7b, 0x022e8a43, 0x00574230, 0x01b09174, 0x029dca18, 0x03c536d6, 0x022e85db, 0x00fb6eb9, 0x003ca34f}}, Y: Field{[10]uint32{0x0279d1bf, 0x0009cd44, 0x00b61e9d, 0x02310b9b, 0x001971fe, 0x022252a9, 0x003dc82d, 0x00943781, 0x022bb328, 0x0011422f}}}, + {X: Field{[10]uint32{0x0316e3ee, 0x01ee545f, 0x038c7011, 0x0259083d, 0x037bb654, 0x00669b7d, 0x0192afb1, 0x02d6df42, 0x00304d1c, 0x0031d957}}, Y: Field{[10]uint32{0x031dfdfd, 0x009f8b79, 0x0070d2e4, 0x02f946e4, 0x01a348b0, 0x00379e70, 0x0186b1cb, 0x00c3712e, 0x02c2cdb7, 0x00226058}}}, + {X: Field{[10]uint32{0x03b4b147, 0x00fb2801, 0x00d0d7ae, 0x01d3c856, 0x0053ffba, 0x02d8bd36, 0x0167936e, 0x03b999c7, 0x03c72fa3, 0x00395f65}}, Y: Field{[10]uint32{0x01fecd64, 0x031c83f8, 0x00958c07, 0x01811f0d, 0x031ed426, 0x019a3284, 0x02b80b9a, 0x00a5d646, 0x012ca3d9, 0x002c78c0}}}, + {X: Field{[10]uint32{0x022b0c01, 0x037e3078, 0x02a44bcc, 0x01edd9a1, 0x036cd3d3, 0x03805332, 0x0244f92f, 0x0096ff01, 0x02421550, 0x003ab6a1}}, Y: Field{[10]uint32{0x01dfeeed, 0x03b5f482, 0x03e9106a, 0x02b2bde7, 0x0107152a, 0x0103e0a9, 0x03c37c55, 0x006ec045, 0x017d71d7, 0x002240d7}}}, + {X: Field{[10]uint32{0x020d0e25, 0x01fb2139, 0x03e27556, 0x03e5dd40, 0x0362dbf8, 0x0047e8ff, 0x01d7e8e0, 0x0086627e, 0x027e3f17, 0x000f9d89}}, Y: Field{[10]uint32{0x021160b6, 0x02288d9b, 0x0087182d, 0x031f8bf8, 0x02416f8b, 0x01f8e5ce, 0x013001ec, 0x031b6e91, 0x03909631, 0x002860d5}}}, + {X: Field{[10]uint32{0x01a3df70, 0x00b49424, 0x0350c697, 0x00d46399, 0x0205de72, 0x0359af9f, 0x0279e692, 0x00bcd408, 0x03d89c26, 0x00284765}}, Y: Field{[10]uint32{0x012a69dd, 0x0071b6f5, 0x00b71fd3, 0x01dfa522, 0x0144768d, 0x02e22459, 0x02e48fea, 0x02c05b7c, 0x00a3dd6f, 0x0034637e}}}, + {X: Field{[10]uint32{0x01f20651, 0x03d0887d, 0x01787922, 0x0023f563, 0x01a5ab52, 0x02b9f30a, 0x0154bf8d, 0x0301bbb7, 0x0375cefe, 0x002c5b8f}}, Y: Field{[10]uint32{0x02d0eb2d, 0x021d86a9, 0x0381da75, 0x024314e6, 0x010233ae, 0x01a42624, 0x03c19891, 0x00cbb5d3, 0x02b45a6e, 0x0015feff}}}, + {X: Field{[10]uint32{0x034628b2, 0x0095e131, 0x03d9fbeb, 0x02cd128c, 0x00837339, 0x02bc51e9, 0x03564c2f, 0x03a9ba7a, 0x000a3f73, 0x000df7a0}}, Y: Field{[10]uint32{0x02254050, 0x007b04f9, 0x020a02f4, 0x01b3e8ab, 0x03e33fc9, 0x0165aab5, 0x016b7e53, 0x01600c06, 0x02599da5, 0x00164ce4}}}, + {X: Field{[10]uint32{0x03d68055, 0x03b10e32, 0x021f19be, 0x02c24c96, 0x024ae57f, 0x02db9aea, 0x00b781d8, 0x02aebdbf, 0x012d65b3, 0x001bda10}}, Y: Field{[10]uint32{0x038d3bcc, 0x00c550cb, 0x02f08ec0, 0x00cfbd26, 0x0127dc14, 0x0086aed7, 0x03310420, 0x01c6f002, 0x019d4061, 0x002213f5}}}, + {X: Field{[10]uint32{0x036e4366, 0x0240b5b2, 0x00a79572, 0x026bd82f, 0x03980f1f, 0x014bc1c3, 0x00f0ce2b, 0x03898493, 0x029e6bc5, 0x002451e6}}, Y: Field{[10]uint32{0x002f5288, 0x00d746a7, 0x0364aef9, 0x0090044b, 0x03479325, 0x02c4ef89, 0x036025d4, 0x0110d667, 0x030a22de, 0x0008c13d}}}, + {X: Field{[10]uint32{0x0119bd8a, 0x02306513, 0x03701835, 0x031d29b1, 0x014cceab, 0x005df732, 0x01e7c1e4, 0x021c2230, 0x00df36ac, 0x0022e9ac}}, Y: Field{[10]uint32{0x02ab9ed4, 0x01fe1658, 0x005baad1, 0x006de26a, 0x01989dff, 0x01deb1d5, 0x02abe8a1, 0x00578a48, 0x020ee9d5, 0x003a5adc}}}, + {X: Field{[10]uint32{0x01d567cc, 0x02b2deca, 0x02c9ef4a, 0x01a55393, 0x00f11b8a, 0x00d5453c, 0x0359a8ca, 0x00ff3163, 0x0195871f, 0x002ac548}}, Y: Field{[10]uint32{0x03267fb4, 0x03a80dc3, 0x0019c3c8, 0x0329946d, 0x01965ec1, 0x017e23fc, 0x0099ad17, 0x02f6850a, 0x0148623e, 0x0030776b}}}, + {X: Field{[10]uint32{0x011600c5, 0x00b39f55, 0x00756e55, 0x011b5357, 0x026ca45c, 0x0066b708, 0x00e6448e, 0x00af4070, 0x03485eb9, 0x001fac8f}}, Y: Field{[10]uint32{0x03c57ac5, 0x0309ec69, 0x03328b3d, 0x025ea161, 0x01a300ef, 0x00f8c315, 0x033de076, 0x02e4e41e, 0x03124278, 0x00254fa6}}}, + {X: Field{[10]uint32{0x0221ee17, 0x00924153, 0x01f0a2f6, 0x02dc3bac, 0x01e0212f, 0x01624124, 0x0120a922, 0x01c0371d, 0x002ba4b2, 0x002c8fd3}}, Y: Field{[10]uint32{0x03598530, 0x02b83762, 0x03811457, 0x01f98d27, 0x028a2c28, 0x0040e1b0, 0x007d5a5c, 0x02cebcb3, 0x03729e95, 0x0028e2d9}}}, + {X: Field{[10]uint32{0x0369c2a4, 0x002addc9, 0x024a90a1, 0x00badd50, 0x0067a6c1, 0x01b3eb59, 0x001a02b9, 0x0156da8b, 0x0323387e, 0x002174b9}}, Y: Field{[10]uint32{0x00e4d303, 0x01145432, 0x031d0db8, 0x033c8684, 0x00ded380, 0x0352050d, 0x03077fb7, 0x0262bc06, 0x01ac2238, 0x001c9eaf}}}, + {X: Field{[10]uint32{0x0309273d, 0x02369b26, 0x014be9fd, 0x0006229e, 0x0254ae69, 0x019a7d9a, 0x0383d59e, 0x02933104, 0x015e08db, 0x0009f05c}}, Y: Field{[10]uint32{0x01b1a266, 0x0357352d, 0x03f9d998, 0x03173cae, 0x03e16e22, 0x039fcc3c, 0x017d8841, 0x01b288d4, 0x0254306e, 0x0009d9f2}}}, + {X: Field{[10]uint32{0x015eed89, 0x0173e2c2, 0x0350f446, 0x01090200, 0x0342cf40, 0x03e169aa, 0x00c4fb56, 0x017a3a78, 0x00d37f9a, 0x0039c2e3}}, Y: Field{[10]uint32{0x030cb31a, 0x012c3f9a, 0x014fe5ec, 0x0018c661, 0x01faacdf, 0x01d4232b, 0x034e93c0, 0x02346e5c, 0x00589478, 0x000b8f63}}}, + {X: Field{[10]uint32{0x01e956b9, 0x00804f37, 0x0365ee2c, 0x0187439f, 0x0293932c, 0x00fc1dab, 0x0081a39f, 0x020e5a63, 0x00552405, 0x00388f75}}, Y: Field{[10]uint32{0x00cf77c9, 0x036da2de, 0x0315b1dc, 0x01e72d4c, 0x0052b57e, 0x022a82d9, 0x01cef85a, 0x022ae2fd, 0x03d000cd, 0x001b14f2}}}, + {X: Field{[10]uint32{0x01919c9f, 0x001ce653, 0x003b7d7a, 0x00c8431a, 0x039aaf08, 0x01d9df2e, 0x0209f2c4, 0x02604c46, 0x0381ccc4, 0x0017a48f}}, Y: Field{[10]uint32{0x00306873, 0x02e5fd0e, 0x019f7738, 0x01f3ed45, 0x02705966, 0x03dc153f, 0x00e64a8a, 0x02b41bf8, 0x0112e64c, 0x0018135c}}}, + {X: Field{[10]uint32{0x00142507, 0x00deaddc, 0x006a5600, 0x010d8cca, 0x031380e5, 0x004ff79a, 0x02b71d71, 0x0289e380, 0x02531a9f, 0x0008f67c}}, Y: Field{[10]uint32{0x0244a9ac, 0x00cdcaff, 0x0256442d, 0x00053da5, 0x030a9fd2, 0x02d3a178, 0x02f49f6b, 0x0184669b, 0x0247b6eb, 0x00157720}}}, + {X: Field{[10]uint32{0x033b8f24, 0x03d76275, 0x0318a050, 0x03bc4b1c, 0x02886c79, 0x03bdb494, 0x01bb2815, 0x0147bc57, 0x0095ad25, 0x003bac8c}}, Y: Field{[10]uint32{0x01ba1ddb, 0x026166c4, 0x00eac67d, 0x020a74e1, 0x0056a80f, 0x039f3ee4, 0x00c38963, 0x0033a3ac, 0x0394b981, 0x003469c6}}}, + {X: Field{[10]uint32{0x00b7c21b, 0x009a0ad5, 0x023c0e7a, 0x00db9087, 0x03899a84, 0x03bfbaa6, 0x03eee536, 0x03df8952, 0x027b57bd, 0x001929b7}}, Y: Field{[10]uint32{0x03b4755b, 0x00325bc9, 0x01537cf4, 0x02438fc3, 0x03181ad1, 0x0240bf1b, 0x0002e2d2, 0x013f2831, 0x036e2e34, 0x001909e4}}}, + {X: Field{[10]uint32{0x00270073, 0x03c0b0b3, 0x0046d779, 0x0114f3b2, 0x008207fd, 0x0079c02e, 0x01aad5e5, 0x02bcfc70, 0x02ced76d, 0x0027919d}}, Y: Field{[10]uint32{0x03dc9e42, 0x01d3d2f2, 0x00c38d9d, 0x0333ad16, 0x036ffc4a, 0x0362a112, 0x02550195, 0x0042b411, 0x03811d76, 0x0015a171}}}, + {X: Field{[10]uint32{0x01645473, 0x012cd663, 0x003e5d13, 0x00d5bb21, 0x031d83c6, 0x0110a31e, 0x020ee231, 0x01ae85db, 0x02288061, 0x00257b84}}, Y: Field{[10]uint32{0x03bf4054, 0x00b8a7a8, 0x023a37d1, 0x004c31bb, 0x0149a60d, 0x02c9531c, 0x00812789, 0x01301d60, 0x00644191, 0x001ef8d3}}}, + {X: Field{[10]uint32{0x006516ad, 0x039300ff, 0x00da994f, 0x02683166, 0x03d0b108, 0x0114f2f7, 0x01df5066, 0x02068be4, 0x02efd920, 0x00394fff}}, Y: Field{[10]uint32{0x00c59c2f, 0x00762479, 0x01929ecc, 0x019eb01c, 0x035dcd1b, 0x00591863, 0x0270b285, 0x00340a8b, 0x02c14a60, 0x001583c0}}}, + {X: Field{[10]uint32{0x022a7b68, 0x0330fa81, 0x03a83faf, 0x00418ebe, 0x0090d4eb, 0x028f665d, 0x014f1adf, 0x01223168, 0x03447c75, 0x00270cc9}}, Y: Field{[10]uint32{0x01791c63, 0x026dbb86, 0x02b8ad68, 0x023d5643, 0x00cacfb7, 0x01343315, 0x00ff7d22, 0x03f0ed34, 0x01fb09a7, 0x002731d6}}}, + {X: Field{[10]uint32{0x033d3c45, 0x00e50c25, 0x0058e4ea, 0x01fa078f, 0x02f1d103, 0x022dd050, 0x02b22b0c, 0x0057fddf, 0x01002f43, 0x003a09b5}}, Y: Field{[10]uint32{0x008b65de, 0x0346666f, 0x010455d8, 0x0380ab9d, 0x00e8ab16, 0x031f54e9, 0x039316df, 0x01c7d0ea, 0x025882f9, 0x000e919b}}}, + {X: Field{[10]uint32{0x015e13c7, 0x01ece204, 0x03512d38, 0x01ecff59, 0x00dd38a8, 0x03a6c5af, 0x00f196c6, 0x02d71237, 0x030eaf93, 0x0033b537}}, Y: Field{[10]uint32{0x028b74cc, 0x0118b1b5, 0x0197e910, 0x01c73b75, 0x018c7542, 0x02734478, 0x032c9309, 0x02772ad3, 0x023bdd14, 0x003f8229}}}, + {X: Field{[10]uint32{0x037eb33d, 0x031505b6, 0x00b27ee8, 0x01b78086, 0x038065e3, 0x03ce3d53, 0x0220182d, 0x01437cac, 0x012788ea, 0x002c15bb}}, Y: Field{[10]uint32{0x02cf6409, 0x02a0f6f6, 0x00a6b0a1, 0x027ff0c0, 0x018d514d, 0x023a687a, 0x0243aa82, 0x015fe7af, 0x0375cef4, 0x0025cce0}}}, + {X: Field{[10]uint32{0x037830df, 0x03b8a216, 0x011561c9, 0x03010187, 0x03eba030, 0x00d07da8, 0x0260b667, 0x03e529ff, 0x007402fe, 0x0000d77b}}, Y: Field{[10]uint32{0x009b933e, 0x007c161e, 0x0045caba, 0x01b9363c, 0x013eb8be, 0x02dba488, 0x0302fe6e, 0x0043f79f, 0x012139c8, 0x00009664}}}, + {X: Field{[10]uint32{0x024e020b, 0x02b77ecc, 0x02f1f081, 0x025cdf16, 0x03d7981e, 0x010abd13, 0x0215cb99, 0x0084ff4b, 0x00c87733, 0x0000fc8f}}, Y: Field{[10]uint32{0x016e8f83, 0x03f0145d, 0x0065ac8a, 0x0184ed7e, 0x007ffc0c, 0x0337b040, 0x0392455d, 0x03378d38, 0x00c0d43c, 0x00093a33}}}, + {X: Field{[10]uint32{0x03babbdb, 0x014dfbca, 0x01bc1e06, 0x03322f3a, 0x03c8471d, 0x02e8361b, 0x02cfa43d, 0x0173ab5f, 0x0076c080, 0x0026ea5b}}, Y: Field{[10]uint32{0x0143def3, 0x00ef0dfe, 0x023ae0e9, 0x008181fb, 0x01622d98, 0x03d3c1ec, 0x02f8e3a8, 0x038136f8, 0x00331c2a, 0x003068f1}}}, + {X: Field{[10]uint32{0x016a3815, 0x0221f5f4, 0x02ac5c2e, 0x01058438, 0x021d414f, 0x037b3273, 0x01103965, 0x014e5635, 0x039a3147, 0x0020f051}}, Y: Field{[10]uint32{0x009b5b7a, 0x0215d00a, 0x0292c7f0, 0x01c341f0, 0x02c123d4, 0x027ffeee, 0x0339bbff, 0x03351b97, 0x00181354, 0x00213534}}}, + {X: Field{[10]uint32{0x03e0a32d, 0x017af1fb, 0x01ab1fcb, 0x0035ecd2, 0x00a8d701, 0x00a15f6e, 0x026714a0, 0x007621db, 0x027a2db1, 0x002eb3d8}}, Y: Field{[10]uint32{0x00c83129, 0x02b8c0fa, 0x02f5ed57, 0x021aeadf, 0x0214b3e5, 0x01ab3882, 0x03777b73, 0x011239a2, 0x000da44c, 0x0028a1f7}}}, + {X: Field{[10]uint32{0x0376ebd7, 0x03173fc9, 0x024d4619, 0x03475934, 0x034ca888, 0x00051c59, 0x03fd2d3a, 0x027de442, 0x00553012, 0x001cc18f}}, Y: Field{[10]uint32{0x00159489, 0x0312ec8b, 0x004ea368, 0x01b34a16, 0x019d7190, 0x005261b1, 0x02b0362b, 0x03e320be, 0x01d944cc, 0x00355e50}}}, + {X: Field{[10]uint32{0x035d6637, 0x022802ce, 0x020114d0, 0x004b5116, 0x02a3f51a, 0x0376d00f, 0x03a4ce34, 0x02b4544a, 0x0232df55, 0x00013ba1}}, Y: Field{[10]uint32{0x02b14820, 0x039b1164, 0x03d8188a, 0x0006585b, 0x01916879, 0x025c8f46, 0x03f01a31, 0x009d68e7, 0x0199dc30, 0x0030a7dc}}}, + {X: Field{[10]uint32{0x03e7ef28, 0x00abf9f5, 0x0386ccd4, 0x03bed59d, 0x028f5345, 0x008fbeb2, 0x0318a16a, 0x03507e62, 0x026d68bb, 0x003f11b9}}, Y: Field{[10]uint32{0x0243c18a, 0x0009c569, 0x029d50d7, 0x00c7b23d, 0x01a02382, 0x02930a2e, 0x01af38a4, 0x0212754f, 0x02dfabf8, 0x0022d0a8}}}, + {X: Field{[10]uint32{0x03a7dc13, 0x0379862c, 0x039638a9, 0x0262bbf1, 0x013f9b6b, 0x028e41ec, 0x02ece5e2, 0x01e5e01f, 0x01b0158d, 0x0029c6b4}}, Y: Field{[10]uint32{0x0308bf90, 0x0179a87b, 0x026ea437, 0x0113a029, 0x02ccfc5c, 0x006e6df4, 0x038a8644, 0x03119394, 0x006da956, 0x001bf5fa}}}, + {X: Field{[10]uint32{0x01860a3a, 0x00ddda3c, 0x0028d0ed, 0x014f5476, 0x0161a7c5, 0x0031abd6, 0x03b99576, 0x0299ff5e, 0x01f36075, 0x00180861}}, Y: Field{[10]uint32{0x0110b2e7, 0x030caf53, 0x02802165, 0x0353754b, 0x0102265c, 0x01ea274e, 0x03a027ce, 0x020d7991, 0x02db706b, 0x002434c4}}}, + {X: Field{[10]uint32{0x007a77ca, 0x01edf7d8, 0x006b598e, 0x01fe50dc, 0x0336b443, 0x01f718b0, 0x019976d3, 0x024646e7, 0x02837672, 0x0036c3f2}}, Y: Field{[10]uint32{0x02efc29d, 0x01210760, 0x03dd9c4f, 0x01a26541, 0x0278699a, 0x028600be, 0x009f0b32, 0x01faff83, 0x016e8eba, 0x0008f7b7}}}, + {X: Field{[10]uint32{0x00a54939, 0x023c95e9, 0x01884761, 0x03b00ce7, 0x02237d0a, 0x03fe37a0, 0x0159909f, 0x013c24a8, 0x0061598d, 0x001a466e}}, Y: Field{[10]uint32{0x0334b90c, 0x0072f6db, 0x03ff2f3e, 0x0050e4b0, 0x0127a1a2, 0x02693864, 0x01c07845, 0x00ea8ee1, 0x02fe1fa5, 0x002ae7e0}}}, + {X: Field{[10]uint32{0x0074bd59, 0x03becba0, 0x01e39299, 0x0063df8e, 0x02877ec1, 0x0354e803, 0x00f0a5d5, 0x006e9f0f, 0x02e9f1f5, 0x003d29f4}}, Y: Field{[10]uint32{0x005bd257, 0x01f8640b, 0x01be0ef1, 0x027665d0, 0x030c9bea, 0x02f39e60, 0x00e6380c, 0x02b38b69, 0x01006aa6, 0x0027c142}}}, + {X: Field{[10]uint32{0x01453da3, 0x02cb8d73, 0x03656366, 0x01f95065, 0x02392731, 0x03ffef65, 0x011ae232, 0x03784c42, 0x0210d4f1, 0x0022975c}}, Y: Field{[10]uint32{0x00580a54, 0x0345912c, 0x02a98abc, 0x001394ca, 0x034cae10, 0x024c1ab6, 0x0158a05a, 0x03683a99, 0x021b5b71, 0x0026bfe2}}}, + {X: Field{[10]uint32{0x00e86f16, 0x020063ae, 0x039f3f93, 0x0308abf5, 0x022c9195, 0x02812e1e, 0x020406be, 0x01c566c2, 0x03dce40d, 0x00267ac8}}, Y: Field{[10]uint32{0x00ecff66, 0x011f5059, 0x01b3782b, 0x037a7a03, 0x03b1f17f, 0x01e7f2af, 0x036cddaa, 0x03f7b1ff, 0x0138a66e, 0x000bbc86}}}, + {X: Field{[10]uint32{0x00d37472, 0x02e996ad, 0x02904a99, 0x0391eb2f, 0x01611ad0, 0x02aef9e0, 0x03f0d0b9, 0x011062b1, 0x02841a87, 0x000efc5b}}, Y: Field{[10]uint32{0x03e714ad, 0x00d44868, 0x003551fb, 0x02ca2bbd, 0x007d1138, 0x009dd0df, 0x008c0f19, 0x0232cbf2, 0x01f4e194, 0x00074f2e}}}, + {X: Field{[10]uint32{0x03f01f3e, 0x027f93f9, 0x0095af45, 0x03395126, 0x02561811, 0x018e22a1, 0x007c1333, 0x00e5382e, 0x03ff19eb, 0x0028fbe0}}, Y: Field{[10]uint32{0x0178cbab, 0x0344e920, 0x024a1045, 0x03374cd6, 0x019d687c, 0x00474238, 0x007ddb47, 0x02b32f37, 0x01398bdc, 0x00065577}}}, + {X: Field{[10]uint32{0x00b1af90, 0x03bc5f9c, 0x02552063, 0x0047d6b7, 0x005a344d, 0x008f75ad, 0x01c024c2, 0x013a04fb, 0x0351da9b, 0x0009a05b}}, Y: Field{[10]uint32{0x014aabd6, 0x001e980a, 0x03d30220, 0x01feef33, 0x0365611b, 0x01813a25, 0x02809676, 0x019e8d5c, 0x021d1d6b, 0x001189e3}}}, + {X: Field{[10]uint32{0x03dea823, 0x03a1112b, 0x0125a909, 0x0325239d, 0x031d47dc, 0x01e502c3, 0x03b14f69, 0x03c523b2, 0x03c0d640, 0x00178594}}, Y: Field{[10]uint32{0x00b092c7, 0x017333d3, 0x01c86cd4, 0x0325bfbb, 0x008e499c, 0x00af714a, 0x03aef229, 0x020d43b3, 0x01ede7cb, 0x0026e2e0}}}, + {X: Field{[10]uint32{0x0028de9e, 0x03a76f7a, 0x008f247f, 0x01beb770, 0x02b7725d, 0x0096c4ad, 0x0348c231, 0x00da5158, 0x02450b0d, 0x0006f623}}, Y: Field{[10]uint32{0x00a95db0, 0x036e8bee, 0x00fe2098, 0x01a1a602, 0x009f6faf, 0x00750059, 0x03dae7ca, 0x0377695d, 0x01e32d8b, 0x00060a4e}}}, + {X: Field{[10]uint32{0x01b73c02, 0x004b17f6, 0x01fbd31b, 0x005b5080, 0x02b80ab7, 0x03aede00, 0x01e754fb, 0x013900c5, 0x02063adc, 0x0012c0ff}}, Y: Field{[10]uint32{0x0080fb06, 0x0233d507, 0x0030e73e, 0x00c7a929, 0x03a5623c, 0x000fe638, 0x00ed537e, 0x03946403, 0x00a8e2c5, 0x002a1934}}}, + {X: Field{[10]uint32{0x01d35f61, 0x013c7a11, 0x0268c588, 0x003f4217, 0x01214686, 0x0311bced, 0x01927f13, 0x023ccc7b, 0x01150781, 0x00038829}}, Y: Field{[10]uint32{0x02bcf328, 0x021d79a5, 0x00db0484, 0x02828f48, 0x02a924e9, 0x03f523d9, 0x02466c43, 0x035b1627, 0x00021a79, 0x00287048}}}, + {X: Field{[10]uint32{0x001e37be, 0x024971fe, 0x03a732db, 0x0287200a, 0x034aaece, 0x0221787a, 0x0224d874, 0x0387362f, 0x024e74a1, 0x0038f446}}, Y: Field{[10]uint32{0x021645f5, 0x00a8eda1, 0x03c7f73d, 0x0271ed12, 0x03022b0a, 0x0220c752, 0x0006787b, 0x03c07d8e, 0x001e0a1e, 0x0023c7b0}}}, + {X: Field{[10]uint32{0x0237f6e5, 0x00a8204f, 0x00617d1e, 0x00c83d00, 0x03da71fa, 0x01ca6c58, 0x0292b584, 0x0036fba3, 0x021557fe, 0x002288cc}}, Y: Field{[10]uint32{0x02cce950, 0x022415ab, 0x01f5e938, 0x00a5870d, 0x03267dbd, 0x035de632, 0x021ed74b, 0x01d416ba, 0x031abb8c, 0x002bd791}}}, + {X: Field{[10]uint32{0x0051d20d, 0x0269db5a, 0x01cbe99f, 0x03ea65a1, 0x02997e8d, 0x01c05735, 0x01070e00, 0x011a0c54, 0x022cb43f, 0x000eef02}}, Y: Field{[10]uint32{0x00b4f97d, 0x038d46df, 0x00278bb0, 0x010e5bea, 0x01fd1408, 0x01820c44, 0x0168e88b, 0x013102e6, 0x038ea5f1, 0x0026877e}}}, + {X: Field{[10]uint32{0x011d1deb, 0x0384cf24, 0x01184811, 0x00e0e50c, 0x0165380f, 0x0101ed2e, 0x0059dac9, 0x020eafa3, 0x0381082d, 0x00230135}}, Y: Field{[10]uint32{0x000a3db4, 0x014982d3, 0x00eab4a6, 0x0261c663, 0x00c0a3e0, 0x0200e54d, 0x03213408, 0x008c5bf3, 0x0093fdb2, 0x00135d39}}}, + {X: Field{[10]uint32{0x02a0291f, 0x002935b5, 0x028c8577, 0x0057279f, 0x001ed9f9, 0x00b80d91, 0x00aa7c46, 0x00b37b7c, 0x010e7231, 0x00119f53}}, Y: Field{[10]uint32{0x00a1ce32, 0x0376875c, 0x001fc0d4, 0x010060ea, 0x02f117e2, 0x00475596, 0x00624ddf, 0x025528c3, 0x00a9d7c2, 0x0020f6d0}}}, + {X: Field{[10]uint32{0x01a3dc8c, 0x03d26311, 0x00195d55, 0x00b7866b, 0x02ce73ae, 0x01072f54, 0x00601869, 0x028406ac, 0x00cd8e55, 0x002d8bd8}}, Y: Field{[10]uint32{0x0314ef41, 0x0330c06c, 0x03cef428, 0x02e3efdb, 0x034a5108, 0x01633482, 0x030ed091, 0x00958bba, 0x00b07c6d, 0x00167692}}}, + {X: Field{[10]uint32{0x039e681f, 0x03746d72, 0x02183379, 0x03301924, 0x01166e88, 0x0151bbfa, 0x036d7f19, 0x03b9877c, 0x0210f98a, 0x001ad758}}, Y: Field{[10]uint32{0x018a0d76, 0x011b9bda, 0x028e77f2, 0x01eb11c8, 0x027c6de8, 0x00c01170, 0x008afca8, 0x0229adcb, 0x034859c8, 0x0036fec5}}}, + {X: Field{[10]uint32{0x02300c97, 0x03b34288, 0x00286049, 0x036d234f, 0x00548768, 0x01625df3, 0x012cc9ef, 0x0210ada3, 0x0104e8c7, 0x00221d13}}, Y: Field{[10]uint32{0x03b9c38c, 0x03d628a3, 0x01bc0393, 0x024e4421, 0x02149d29, 0x031f242d, 0x00b0e425, 0x03147968, 0x02a51ea3, 0x002115ce}}}, + {X: Field{[10]uint32{0x032e37c8, 0x02038cb0, 0x03d4bada, 0x0296f934, 0x00d0218b, 0x005ab64e, 0x03065712, 0x02b16066, 0x002440f2, 0x003f7cb2}}, Y: Field{[10]uint32{0x01538f74, 0x01b56a97, 0x028b5587, 0x0069d019, 0x01917203, 0x02180b7f, 0x00c6f205, 0x007fef92, 0x00b59e96, 0x0030aaf1}}}, + {X: Field{[10]uint32{0x03777559, 0x012255fb, 0x028a9366, 0x03826d33, 0x0115178c, 0x011d5501, 0x02273bd2, 0x0220ecc8, 0x03641f5a, 0x00134bf7}}, Y: Field{[10]uint32{0x02a41b11, 0x002ce152, 0x029fabed, 0x00070d12, 0x02b2837f, 0x02cc85eb, 0x021b89b9, 0x03cc7190, 0x0101210b, 0x0008ae87}}}, + {X: Field{[10]uint32{0x00ddc633, 0x0185648d, 0x022699c4, 0x0330abf2, 0x035a54dc, 0x017192a3, 0x02f3faea, 0x02ff7e06, 0x00a1e743, 0x003b1f2f}}, Y: Field{[10]uint32{0x02ab0917, 0x01e05b93, 0x02e295f5, 0x039263f3, 0x03dc5263, 0x01684041, 0x0128c05e, 0x028141ed, 0x01a9ea76, 0x0027c64f}}}, + {X: Field{[10]uint32{0x00b44fdf, 0x02aef011, 0x01943c7f, 0x037e74dc, 0x00da9cd6, 0x00f2e013, 0x001e7790, 0x0262e2e0, 0x01137719, 0x003fcbe8}}, Y: Field{[10]uint32{0x01f6093c, 0x011af2cb, 0x02c54237, 0x009008b2, 0x022aec68, 0x02335bc2, 0x01d966db, 0x01d9c31e, 0x03f21ac5, 0x00258849}}}, + {X: Field{[10]uint32{0x00a57580, 0x0179de82, 0x035ee647, 0x0324a7c5, 0x034fd418, 0x010db5ab, 0x02c21bec, 0x000b48d3, 0x006b2dfb, 0x001b46d0}}, Y: Field{[10]uint32{0x00e895eb, 0x03a88f6f, 0x02f07b2d, 0x0394e2e7, 0x02f157ef, 0x00f9ed80, 0x00693d6d, 0x0238be3c, 0x02689dba, 0x002e2515}}}, + {X: Field{[10]uint32{0x004d7963, 0x03bd4e59, 0x01df587b, 0x03ddd308, 0x020317bf, 0x00371ae5, 0x00767270, 0x00033919, 0x01fb449e, 0x0012aee7}}, Y: Field{[10]uint32{0x006e6407, 0x03162f7e, 0x018e49c2, 0x02a1d517, 0x004d6dbb, 0x026bc726, 0x01807868, 0x031a6cab, 0x02b7c016, 0x001821bc}}}, + {X: Field{[10]uint32{0x010fcee6, 0x036d8e99, 0x022361f8, 0x0293f43b, 0x022fb3be, 0x016128f2, 0x00b0b895, 0x010258dd, 0x01cc634a, 0x0036c314}}, Y: Field{[10]uint32{0x01b6e6a0, 0x03f8cf31, 0x02486367, 0x01fe160d, 0x015d2825, 0x01ec3993, 0x0116fd39, 0x02b8612f, 0x012baea1, 0x001fb02f}}}, + {X: Field{[10]uint32{0x03fdb287, 0x01348b0d, 0x00e74495, 0x020886aa, 0x006996a3, 0x011b79c1, 0x01e02ed6, 0x01246699, 0x01bcd066, 0x002b9bdb}}, Y: Field{[10]uint32{0x03f2f201, 0x03eda870, 0x03d1bb76, 0x03d7d7fb, 0x02c5bbb2, 0x027e440b, 0x01313791, 0x01d01046, 0x02aef8ae, 0x002af9c3}}}, + {X: Field{[10]uint32{0x035f6227, 0x034eb234, 0x01fda63d, 0x018beb14, 0x00f4079a, 0x01ff25dc, 0x00771a91, 0x007cc2f4, 0x0397cb32, 0x002ba8fa}}, Y: Field{[10]uint32{0x02bf39b6, 0x006b919a, 0x0352506f, 0x0285105a, 0x03878145, 0x00a1f7f7, 0x0133704a, 0x005717a4, 0x00163985, 0x002da94d}}}, + {X: Field{[10]uint32{0x012233be, 0x02f28721, 0x01ded051, 0x0018fa24, 0x0039355c, 0x01b04ebe, 0x037234ef, 0x01437a07, 0x00cf711d, 0x0024327e}}, Y: Field{[10]uint32{0x0021bff5, 0x0388720d, 0x0151ed7f, 0x00baa805, 0x0317d2c3, 0x004d61e0, 0x013d4528, 0x025927cb, 0x037818f1, 0x00023655}}}, + {X: Field{[10]uint32{0x02d976e0, 0x017b6321, 0x020e2149, 0x02ae4809, 0x02fd954a, 0x012d23bf, 0x028dcde3, 0x000d1154, 0x00e5ab1d, 0x0016b5fb}}, Y: Field{[10]uint32{0x038569b0, 0x0052c0fd, 0x003d8700, 0x0112c5e1, 0x0062ac94, 0x0311adb8, 0x03274e93, 0x018eaefb, 0x023b2c3c, 0x000b7c85}}}, + {X: Field{[10]uint32{0x03d28d9a, 0x0113a38e, 0x0031cb78, 0x01f5622a, 0x001d80ae, 0x00eac32b, 0x026d3ee1, 0x00bbc05b, 0x022c8e94, 0x002dae8b}}, Y: Field{[10]uint32{0x03ef7fb4, 0x01776dc6, 0x0101d085, 0x014f402d, 0x00a2ebf4, 0x03490458, 0x01b6b067, 0x037f7d40, 0x0235f923, 0x00104602}}}, + {X: Field{[10]uint32{0x03f5f37d, 0x01319d1f, 0x01cc413a, 0x02a71a02, 0x00799555, 0x03211627, 0x03dd450b, 0x01b1f7ea, 0x03c9bba2, 0x001f9026}}, Y: Field{[10]uint32{0x01c9e6b1, 0x00f7b9de, 0x0030ce42, 0x00d067f8, 0x036066b0, 0x020763f7, 0x01c42604, 0x02bf8b90, 0x01619cc5, 0x00031462}}}, + {X: Field{[10]uint32{0x024f602c, 0x02145bb7, 0x024e0300, 0x01aa942d, 0x022c7263, 0x031f1308, 0x01010606, 0x03cbb8a3, 0x011470b2, 0x002521b3}}, Y: Field{[10]uint32{0x02b467af, 0x03edd2f7, 0x012ceaac, 0x028d27d1, 0x02c062e9, 0x01cc8d9f, 0x0131785f, 0x0001bf7e, 0x038cfc5b, 0x00221b32}}}, + {X: Field{[10]uint32{0x01338d2a, 0x027b62c8, 0x0183b1af, 0x0271520b, 0x0294b1ee, 0x0116e817, 0x01af6d87, 0x01c81478, 0x017bc8b0, 0x0039f047}}, Y: Field{[10]uint32{0x035c8e50, 0x0214b7b5, 0x00f79c74, 0x00f5e5ff, 0x016ad468, 0x024bcd6a, 0x01062aa1, 0x02ac7bf2, 0x0293828c, 0x003f7134}}}, + {X: Field{[10]uint32{0x03d50bcd, 0x00003c24, 0x02217c98, 0x01763a00, 0x0119b1a8, 0x01db7b4d, 0x01b67b27, 0x0172c06c, 0x027bff31, 0x00037f98}}, Y: Field{[10]uint32{0x01f9e773, 0x00aa3b95, 0x03c285f3, 0x0346e57b, 0x03ea0f69, 0x0275a39a, 0x01d2480c, 0x0021edbf, 0x01ebbb65, 0x00264f15}}}, + {X: Field{[10]uint32{0x0046f516, 0x03ab1969, 0x01dde189, 0x01b55210, 0x03eb31c2, 0x0183c0bc, 0x007c9818, 0x028b2d7f, 0x0017fd00, 0x00283c33}}, Y: Field{[10]uint32{0x033b8969, 0x030a5792, 0x03a74ff5, 0x03aaf4c3, 0x0214bbe4, 0x00fb74df, 0x01077a7d, 0x0228efc4, 0x004c31d5, 0x002feba2}}}, + {X: Field{[10]uint32{0x03e37338, 0x02dcaea8, 0x01dd9dd7, 0x014e47f8, 0x03d37e7f, 0x0251ad4a, 0x02ef926c, 0x00a1bb5b, 0x02bcbc14, 0x003076ed}}, Y: Field{[10]uint32{0x02df7bf0, 0x00f9a984, 0x01bd0e79, 0x00d44e78, 0x03aa5e27, 0x028ea235, 0x036fdc81, 0x01a20bd2, 0x0187bd33, 0x0019ec0b}}}, + {X: Field{[10]uint32{0x034bebb2, 0x01416f2e, 0x03eebe82, 0x004440d0, 0x03070255, 0x03bb7d7b, 0x02cb1f06, 0x02571324, 0x025bc7d4, 0x00082e41}}, Y: Field{[10]uint32{0x00756835, 0x01449184, 0x00fbd55d, 0x029c12c9, 0x014fec71, 0x018090b6, 0x021a4f90, 0x00764af4, 0x03165c23, 0x0029a61c}}}, + {X: Field{[10]uint32{0x01a69190, 0x0152043b, 0x03f2e03c, 0x01993e36, 0x0255ab9a, 0x023f21e1, 0x029544d3, 0x0230e376, 0x01d00c4d, 0x001efb7f}}, Y: Field{[10]uint32{0x00af77a1, 0x01c569be, 0x00591690, 0x0394f275, 0x01365556, 0x01cbfb81, 0x02d00491, 0x014b79ba, 0x00b00d4f, 0x0026653c}}}, + {X: Field{[10]uint32{0x035918e0, 0x034e179a, 0x01368df4, 0x03481067, 0x035adcad, 0x0083a5f2, 0x023815b7, 0x020fdab1, 0x02af9979, 0x00099d8b}}, Y: Field{[10]uint32{0x0227e6be, 0x00862356, 0x02549279, 0x0359daab, 0x0125f0c0, 0x0395883f, 0x00be2e9b, 0x0136f009, 0x008ce11b, 0x00207d51}}}, + {X: Field{[10]uint32{0x0387bb79, 0x013d337c, 0x013d9a94, 0x01d64b43, 0x03ea14f1, 0x036a1b84, 0x0354ff5d, 0x03854b0c, 0x02e7ee18, 0x001c5232}}, Y: Field{[10]uint32{0x0310b18d, 0x032d3788, 0x0336593d, 0x002fbba0, 0x02ffd42a, 0x02b1af03, 0x0065efed, 0x01ba4105, 0x01faf6f8, 0x0002f6cd}}}, + {X: Field{[10]uint32{0x03bdbc90, 0x023385e1, 0x02723503, 0x001964f0, 0x01bb4d8f, 0x015a116d, 0x01ae00b1, 0x00b0ce9a, 0x01d933ae, 0x0009f917}}, Y: Field{[10]uint32{0x01801ac9, 0x02aff594, 0x02db1f7c, 0x0281643c, 0x017dfe36, 0x009c68ac, 0x019c75c9, 0x01e68fe3, 0x033fa935, 0x0028af38}}}, + {X: Field{[10]uint32{0x03d6b7d7, 0x02fcacb5, 0x02a98fa2, 0x0047fb4a, 0x00d0539c, 0x0207980f, 0x02d79c7d, 0x02ba30a8, 0x02155b28, 0x002bc31c}}, Y: Field{[10]uint32{0x03ac41f9, 0x00b1a6a9, 0x0085640d, 0x038793cb, 0x023b5b26, 0x0073eb0f, 0x0380bfc7, 0x00270002, 0x03cfa251, 0x002b9af7}}}, + {X: Field{[10]uint32{0x03cbabf4, 0x03f80a98, 0x02bec7ec, 0x00646b32, 0x02de0f5a, 0x007a38dc, 0x00e609b2, 0x034d3cc5, 0x0008d4f8, 0x001ed8f1}}, Y: Field{[10]uint32{0x00f16327, 0x02ca6fa5, 0x03a7ce0d, 0x03402f32, 0x02236925, 0x0222166d, 0x02b6f65e, 0x025af633, 0x009a78fa, 0x002a8200}}}, + {X: Field{[10]uint32{0x01c6890c, 0x0163e6e1, 0x03f9394d, 0x000506bb, 0x024f4b48, 0x03d3cc8c, 0x03cffb68, 0x03a22f58, 0x005314f3, 0x002adda2}}, Y: Field{[10]uint32{0x037f192c, 0x0280dbf3, 0x019e05d3, 0x010455f1, 0x01c9ff98, 0x01ffc520, 0x033610ed, 0x01af0430, 0x0033d6d9, 0x00069c72}}}, + {X: Field{[10]uint32{0x023bd32e, 0x038d4727, 0x025a9953, 0x03692c97, 0x01ccd308, 0x0303b616, 0x0375487c, 0x01444be0, 0x03f07ad7, 0x0019050d}}, Y: Field{[10]uint32{0x01a9b131, 0x00e8e220, 0x026b0ccc, 0x0142130c, 0x027d2ec9, 0x03c02198, 0x00f1ba83, 0x00d1abd4, 0x03e6b255, 0x000f163d}}}, + {X: Field{[10]uint32{0x03a082cb, 0x029d9259, 0x0180b9b4, 0x0321dce5, 0x0360f7ec, 0x03406ba1, 0x01cceaff, 0x0351e307, 0x012d600e, 0x003d4cbf}}, Y: Field{[10]uint32{0x0285fa96, 0x02f3e844, 0x0145e440, 0x02b5a5f2, 0x03221847, 0x0200f27c, 0x01bb4d6c, 0x01f5fdf3, 0x014c7111, 0x001ce4d4}}}, + {X: Field{[10]uint32{0x031c7631, 0x02f41d42, 0x01c3ee1f, 0x0351d7c3, 0x00db73db, 0x03e20a4e, 0x01e6f608, 0x02ad1362, 0x01592c4b, 0x000cd9e6}}, Y: Field{[10]uint32{0x01694fbc, 0x01c058d2, 0x035aa1fd, 0x018973d9, 0x0217125d, 0x03fd5f37, 0x00782515, 0x0273cdb4, 0x00046fe8, 0x001307e0}}}, + {X: Field{[10]uint32{0x0256c9cb, 0x008681ef, 0x00a5be22, 0x0380ca5c, 0x016f18b7, 0x0232b0a1, 0x02b53962, 0x03295ec1, 0x016d2a34, 0x00386130}}, Y: Field{[10]uint32{0x02c5bf73, 0x01780f78, 0x009c77f8, 0x00d11ad4, 0x03d646cd, 0x0319b7d5, 0x02ab0688, 0x027137c5, 0x017b51ef, 0x001f7ff0}}}, + {X: Field{[10]uint32{0x0015d419, 0x01b22119, 0x0068f0e2, 0x035bbee3, 0x034f6ce6, 0x02883078, 0x00de9909, 0x027556ee, 0x01162fb4, 0x003e2a5f}}, Y: Field{[10]uint32{0x02061146, 0x0130b910, 0x034a7ded, 0x00ea19a1, 0x005f20a8, 0x007cba1b, 0x012e1616, 0x03280652, 0x00534dbf, 0x000f34f3}}}, + {X: Field{[10]uint32{0x02475781, 0x03783a84, 0x0164eb32, 0x001ab5c6, 0x0328cfc4, 0x0234f714, 0x02dd6123, 0x03608751, 0x022f6c6a, 0x0027adaa}}, Y: Field{[10]uint32{0x0045c299, 0x00f8d1db, 0x004afcb3, 0x03a3ef08, 0x0053dfe3, 0x029066ca, 0x024ce341, 0x00b824d9, 0x028379d3, 0x00051406}}}, + {X: Field{[10]uint32{0x0202668a, 0x021e8f0d, 0x036425f8, 0x017f3ae9, 0x017c4031, 0x008ff500, 0x02427403, 0x02255787, 0x026a68e6, 0x003af095}}, Y: Field{[10]uint32{0x00c7ea39, 0x024c7935, 0x0063aa06, 0x03050bbc, 0x01fab3bd, 0x03a7b269, 0x01f9f85a, 0x015b8995, 0x010996ff, 0x0001d7a0}}}, + {X: Field{[10]uint32{0x012bc392, 0x02dfacbd, 0x029fd674, 0x012d01d2, 0x03ab9c5e, 0x02921032, 0x025b29db, 0x033970be, 0x0038a966, 0x00155919}}, Y: Field{[10]uint32{0x001c8d66, 0x01c083e6, 0x0228f0a3, 0x0033a6a3, 0x022987d8, 0x017354b9, 0x003f68a4, 0x012a273f, 0x02867603, 0x000d18c6}}}, + {X: Field{[10]uint32{0x0316575e, 0x02c0cdde, 0x032e7ece, 0x01759ca7, 0x00082eff, 0x01f76453, 0x03257b8c, 0x0207ccc4, 0x0309befb, 0x002e1fe0}}, Y: Field{[10]uint32{0x016ea298, 0x036dff6a, 0x00630dee, 0x030b3157, 0x03eda5e1, 0x0202fb06, 0x03df03fb, 0x0000b5be, 0x003259e4, 0x002fa99a}}}, + {X: Field{[10]uint32{0x00a0a93e, 0x011c77dc, 0x008d7953, 0x0054a24b, 0x0224b6cf, 0x005b90d7, 0x03598b20, 0x0358fab3, 0x0185b440, 0x0011655d}}, Y: Field{[10]uint32{0x00b71427, 0x03aabab1, 0x013a00b3, 0x03f08cd2, 0x03b29739, 0x019419fe, 0x02c366a5, 0x013d3c8e, 0x0260776a, 0x003d32d8}}}, + {X: Field{[10]uint32{0x0248ca87, 0x01eef925, 0x02e11148, 0x0122e583, 0x033fe8d6, 0x03e73015, 0x024c8218, 0x010aec60, 0x024c8d9c, 0x000b243d}}, Y: Field{[10]uint32{0x03c25a8a, 0x006f9074, 0x00ab4da2, 0x01f5ac76, 0x0369bebf, 0x008bf3d5, 0x03000a9f, 0x00f2d827, 0x0157ac64, 0x0020a6f3}}}, + {X: Field{[10]uint32{0x004b5efe, 0x02c15205, 0x037be36d, 0x0048aea7, 0x012e7539, 0x01dcc5ca, 0x006a3fcc, 0x026af655, 0x02c7779c, 0x003acc9e}}, Y: Field{[10]uint32{0x018c9435, 0x00e46414, 0x025a08c4, 0x01948e15, 0x032cbbf3, 0x01b9d200, 0x032c594d, 0x0334e230, 0x00858d2f, 0x00086b0b}}}, + {X: Field{[10]uint32{0x006d007d, 0x0032c74b, 0x00e6adba, 0x00606b8c, 0x00daa354, 0x00df43c2, 0x02b07fdd, 0x03329ea8, 0x03e2272c, 0x000257b1}}, Y: Field{[10]uint32{0x03a12b5f, 0x01e3f14a, 0x00f3375f, 0x01f93dd0, 0x002d589e, 0x0042e224, 0x02ac913c, 0x01814154, 0x02ef59df, 0x001ccde1}}}, + {X: Field{[10]uint32{0x000cbbd1, 0x019f1a7f, 0x015f5fc3, 0x00a4b186, 0x0191104a, 0x03fc5cdc, 0x03c845d7, 0x028203c9, 0x02988b4f, 0x0012de99}}, Y: Field{[10]uint32{0x03a85b8f, 0x011606d8, 0x0207c928, 0x01360904, 0x008e5249, 0x0266ca79, 0x0338fd4d, 0x01584a1e, 0x03d0a360, 0x0022c10e}}}, + {X: Field{[10]uint32{0x0342e6b2, 0x02af4c68, 0x025e747d, 0x024bf194, 0x00a92337, 0x006409f0, 0x02ab28a6, 0x02077cd4, 0x018b6df5, 0x00226cb1}}, Y: Field{[10]uint32{0x03f53a2b, 0x01168435, 0x001f4100, 0x03ae223a, 0x009b053f, 0x000edd2f, 0x025edea2, 0x03996f89, 0x0334d459, 0x000c02c6}}}, + {X: Field{[10]uint32{0x03c43cf1, 0x02a04526, 0x008007ad, 0x009e27c3, 0x031c9263, 0x01d7b121, 0x027ff0db, 0x00a34392, 0x035d9f6a, 0x00104266}}, Y: Field{[10]uint32{0x0262cae5, 0x03056dde, 0x00b26995, 0x02680d65, 0x013e0791, 0x00196234, 0x009253be, 0x024adba5, 0x02962e2b, 0x000a82ae}}}, + {X: Field{[10]uint32{0x03229be4, 0x03f58581, 0x00817af7, 0x02704e27, 0x018825ea, 0x02998d55, 0x03396b29, 0x00230d41, 0x00649ec5, 0x002f2c3f}}, Y: Field{[10]uint32{0x0207d606, 0x011a4cce, 0x03e5c2c7, 0x02e4b5ef, 0x0313664d, 0x0248b991, 0x03a12ae0, 0x03d6adb0, 0x0192cf3b, 0x0005a31e}}}, + {X: Field{[10]uint32{0x018b762e, 0x01c6737b, 0x009a50ec, 0x035bdc0d, 0x029cd3b3, 0x0156a025, 0x0314ca70, 0x015abe78, 0x01585a62, 0x001e8ff2}}, Y: Field{[10]uint32{0x03df1346, 0x011172f4, 0x00f2217d, 0x01e0e44a, 0x00dadecd, 0x01c5e764, 0x0288526b, 0x001c58d4, 0x000c29cd, 0x003fa2ca}}}, + {X: Field{[10]uint32{0x01a8176a, 0x038fc198, 0x02fe1c89, 0x03980341, 0x027583c1, 0x0195b6a6, 0x03229e1e, 0x028d7b83, 0x03e1b968, 0x000ddc24}}, Y: Field{[10]uint32{0x02c601d9, 0x003e2830, 0x02b82e6e, 0x0220082b, 0x006aba8e, 0x02303600, 0x02a4dd0b, 0x03d185f9, 0x020df6c9, 0x0039f021}}}, + {X: Field{[10]uint32{0x02afecd8, 0x018fc512, 0x02a375ba, 0x03496a63, 0x01919b1d, 0x0184c068, 0x0327a933, 0x033333c7, 0x03daf4a5, 0x00317bfc}}, Y: Field{[10]uint32{0x00b97a1c, 0x01259337, 0x01d67f42, 0x027d38fc, 0x010a9412, 0x0088b0bf, 0x008a02c2, 0x020f7063, 0x023426f9, 0x000d3845}}}, + {X: Field{[10]uint32{0x023ffb27, 0x02a732f9, 0x014e984e, 0x03c54bb1, 0x033c0fa6, 0x00da2bf2, 0x0230f728, 0x0034cd10, 0x0119eb56, 0x00003f1e}}, Y: Field{[10]uint32{0x0059a6b3, 0x00a10aa6, 0x03fa9413, 0x033ab6b4, 0x00a04bc4, 0x03929f74, 0x01cb8388, 0x01bfe6f0, 0x0382af76, 0x00071f4d}}}, + {X: Field{[10]uint32{0x021ca5bd, 0x0362c921, 0x001c6287, 0x00890f4e, 0x03b31183, 0x0371bd1b, 0x0034cd6e, 0x01b5c951, 0x03fb4938, 0x0009e0f5}}, Y: Field{[10]uint32{0x03fa5c70, 0x005b8e31, 0x00111a93, 0x01d205c4, 0x01e4c685, 0x023e271e, 0x00450262, 0x01ab038f, 0x02710b80, 0x0028eabc}}}, + {X: Field{[10]uint32{0x018a02f3, 0x012cc3cb, 0x012298ad, 0x01bff4d7, 0x0188f54a, 0x0396efe5, 0x03f89495, 0x038343dd, 0x007868d4, 0x001d01e9}}, Y: Field{[10]uint32{0x03fdec9c, 0x03046d61, 0x001ce24c, 0x0250166b, 0x02debf3d, 0x024cca5f, 0x01b393ea, 0x0232c2a9, 0x016296e1, 0x00049435}}}, + {X: Field{[10]uint32{0x0061a321, 0x0137486a, 0x01df6cc5, 0x0293e118, 0x01c5899f, 0x0055101e, 0x02c108e7, 0x03b369de, 0x00e32940, 0x0030b4b3}}, Y: Field{[10]uint32{0x005a1909, 0x037a16fc, 0x01b729e6, 0x02aba0c3, 0x030a919e, 0x03321516, 0x00b05e3e, 0x0201c64a, 0x01fa40bb, 0x003c2fac}}}, + {X: Field{[10]uint32{0x01e8a56f, 0x03eb0fab, 0x013eb349, 0x00d4132c, 0x00d459a9, 0x02d7a54c, 0x014e1f5a, 0x006559aa, 0x0189c505, 0x00233dac}}, Y: Field{[10]uint32{0x03cf9c96, 0x018152f3, 0x0338c160, 0x02205884, 0x00327aa7, 0x008b51ea, 0x02d06d3b, 0x00a21b39, 0x017032e5, 0x002fdaa7}}}, + {X: Field{[10]uint32{0x01a94968, 0x019d9b4a, 0x01d51ece, 0x00adff42, 0x022deeaa, 0x00c9df47, 0x016ac5f5, 0x0211c43e, 0x0186ed9f, 0x0035ac1d}}, Y: Field{[10]uint32{0x009c5326, 0x03a0fd7c, 0x03c9c75b, 0x007b4b88, 0x022f7904, 0x038fe8a4, 0x02f0d0d5, 0x01573d2b, 0x00b4ce56, 0x0036ad35}}}, + {X: Field{[10]uint32{0x02f4d647, 0x01c89ec3, 0x0000fb85, 0x00cd136a, 0x009e661d, 0x001e560d, 0x03a09219, 0x00fb7fcc, 0x033360a0, 0x0029c82d}}, Y: Field{[10]uint32{0x0084ea63, 0x01702d52, 0x035b11bb, 0x03fef513, 0x0313d79d, 0x003d219f, 0x037e3a5a, 0x00b60980, 0x006a721c, 0x0007c84f}}}, + {X: Field{[10]uint32{0x033a5ff7, 0x01a73b07, 0x030ac95a, 0x028b2806, 0x01b39f9b, 0x0167741d, 0x03db862e, 0x031b19c5, 0x02983b03, 0x00156295}}, Y: Field{[10]uint32{0x00ffb1a4, 0x0331b1f5, 0x0155792e, 0x01a621ff, 0x00fe3ae8, 0x00117f18, 0x0338458a, 0x02da2c85, 0x0352db21, 0x001f81f1}}}, + {X: Field{[10]uint32{0x00e14ca4, 0x02d55404, 0x002639ca, 0x035fe35b, 0x02a7c2d9, 0x00474382, 0x0329941f, 0x01a2a314, 0x03c32786, 0x002e49f7}}, Y: Field{[10]uint32{0x0323388c, 0x01e570ad, 0x035524b8, 0x0152666b, 0x0172f4d8, 0x01dc1489, 0x020e35f7, 0x0089eed0, 0x03259954, 0x000f3a0d}}}, + {X: Field{[10]uint32{0x030e6da8, 0x0263b313, 0x0016513f, 0x00719470, 0x003c35f7, 0x02d568dd, 0x0223ed5a, 0x02bfd623, 0x00991085, 0x000adc35}}, Y: Field{[10]uint32{0x006a8b06, 0x013c0a94, 0x025cd1a9, 0x004c72b8, 0x030a7014, 0x03609d8b, 0x03984697, 0x01727288, 0x034daa1e, 0x0037d04e}}}, + {X: Field{[10]uint32{0x01aefe56, 0x007cbbcb, 0x01144142, 0x015298b8, 0x01e1368e, 0x012e9dfa, 0x029181d9, 0x01b80266, 0x00dcf72f, 0x002e20db}}, Y: Field{[10]uint32{0x010427ce, 0x01488279, 0x00359afa, 0x02a94e53, 0x0201beec, 0x0233abad, 0x017014b6, 0x03c9b72b, 0x012f0e31, 0x00026b51}}}, + {X: Field{[10]uint32{0x00af93a7, 0x02daa031, 0x01b004dc, 0x01173643, 0x02ec66b4, 0x03cce026, 0x0388b480, 0x0388e825, 0x017b65f0, 0x00094aca}}, Y: Field{[10]uint32{0x00916838, 0x02c37898, 0x010e806c, 0x034314cd, 0x039f77c7, 0x0092962f, 0x02a3bcfc, 0x018845cd, 0x00c43c34, 0x00233138}}}, + {X: Field{[10]uint32{0x02be6330, 0x0245c737, 0x01892aad, 0x001335ca, 0x03d34f27, 0x035adef6, 0x03d5fa03, 0x03319a3b, 0x00ca1c15, 0x0027cf4c}}, Y: Field{[10]uint32{0x023211b0, 0x0188c9ec, 0x0057b386, 0x02613888, 0x01353d9b, 0x0051d85c, 0x0056974f, 0x03b9eaf0, 0x00340f95, 0x001122d9}}}, + {X: Field{[10]uint32{0x03d35e49, 0x034a614b, 0x039e66e2, 0x01793952, 0x01653b54, 0x02f1ef38, 0x00a771b5, 0x02b767fe, 0x016e5bc9, 0x00208978}}, Y: Field{[10]uint32{0x010570fa, 0x012a9d5f, 0x0212c717, 0x02774401, 0x00df836b, 0x01fc2765, 0x024e1de8, 0x028b05b2, 0x01e3aaef, 0x00189531}}}, + {X: Field{[10]uint32{0x02d02ebe, 0x01a729aa, 0x01799046, 0x019d34f1, 0x01074f47, 0x0378956c, 0x02a80b74, 0x0266c6dc, 0x02484d6e, 0x0029f73b}}, Y: Field{[10]uint32{0x01c170a7, 0x0160ee80, 0x002a42db, 0x01e231f1, 0x00785861, 0x03bdea52, 0x021f541b, 0x02407d21, 0x00fa76a2, 0x00075bc3}}}, + {X: Field{[10]uint32{0x009976b4, 0x038c57a0, 0x03d1e210, 0x00ae8e5b, 0x009a6baa, 0x00b1992e, 0x013372fd, 0x03a43a63, 0x01a85d4c, 0x002a4511}}, Y: Field{[10]uint32{0x00b1d100, 0x020e1d9e, 0x01449f1d, 0x03e539f1, 0x0072deac, 0x0365001f, 0x01d1512c, 0x01cac6d4, 0x028b99b0, 0x002b7131}}}, + {X: Field{[10]uint32{0x027ce1f1, 0x0217b88a, 0x01c79ed6, 0x02b621b3, 0x036f6ea6, 0x01443803, 0x00410963, 0x025955d7, 0x01ce907c, 0x001d18b2}}, Y: Field{[10]uint32{0x0371c7df, 0x03fe882e, 0x00f2ae67, 0x03a0ccbe, 0x0047a854, 0x02731050, 0x02df5ac7, 0x008a6710, 0x01c5f02c, 0x0013fe90}}}, + {X: Field{[10]uint32{0x00cd4f40, 0x0232a18a, 0x005065d3, 0x0112596a, 0x00dfd855, 0x029e7c8d, 0x00e36bb6, 0x0256f6be, 0x01f3dea4, 0x00350a25}}, Y: Field{[10]uint32{0x010d9cf5, 0x024ab82d, 0x01bbd59c, 0x003ea036, 0x00982171, 0x02ee121b, 0x0069b207, 0x00710b9e, 0x031813a1, 0x000bfb7a}}}, + {X: Field{[10]uint32{0x01388adc, 0x03666853, 0x01669c29, 0x01b5da99, 0x02e8291e, 0x03bd4f44, 0x03434b27, 0x01622bc4, 0x0362ce85, 0x003be6da}}, Y: Field{[10]uint32{0x03bf912f, 0x022bb826, 0x0138adb1, 0x015516da, 0x02802612, 0x024501f2, 0x0107955e, 0x03258bb6, 0x03cf9af0, 0x000567d7}}}, + {X: Field{[10]uint32{0x01bc9f32, 0x02c1b23f, 0x03f392af, 0x01f8a9a4, 0x0392877c, 0x0325abff, 0x01fb7bdb, 0x0276bf7d, 0x01a0bc65, 0x001000fc}}, Y: Field{[10]uint32{0x0161fef9, 0x0217ad5e, 0x03cc9ea6, 0x029b09c1, 0x017faeaf, 0x012fa197, 0x03f1dcb7, 0x03c2c0a3, 0x02a17458, 0x003afff2}}}, + {X: Field{[10]uint32{0x02c09a8b, 0x01c0da9a, 0x027debed, 0x03640121, 0x01aa9ae1, 0x0121bd73, 0x00786f07, 0x03614592, 0x008b6b03, 0x0010e412}}, Y: Field{[10]uint32{0x0282f07a, 0x01da98e1, 0x03d6e5dd, 0x0304a682, 0x03452001, 0x00777ce4, 0x035b88a2, 0x02d5ac70, 0x01e5a10d, 0x001e0ca7}}}, + {X: Field{[10]uint32{0x03fadea1, 0x01d019ea, 0x006b9605, 0x005be7fe, 0x016074ee, 0x037fe2d0, 0x0006c565, 0x03ed9ad8, 0x00d29ea3, 0x002b9b68}}, Y: Field{[10]uint32{0x011cdac7, 0x00cc8d30, 0x009c05ca, 0x007ae22d, 0x0229e3f0, 0x00dc1853, 0x02f0916f, 0x00a98f9d, 0x0263dd01, 0x001d32aa}}}, + {X: Field{[10]uint32{0x03cfc72a, 0x0362a1ae, 0x014fb2fa, 0x03825414, 0x02035942, 0x013a01bd, 0x00656520, 0x011c86df, 0x01df9861, 0x001e3e1e}}, Y: Field{[10]uint32{0x00281ac6, 0x014a5b4e, 0x01c68a75, 0x034e2358, 0x032318aa, 0x03ee1731, 0x03661b7f, 0x03a02fea, 0x018c478a, 0x00106539}}}, + {X: Field{[10]uint32{0x03c97e01, 0x00be5b97, 0x01d1dedd, 0x00a1ec70, 0x000352e0, 0x00e0d577, 0x00d51cc8, 0x02c31b5b, 0x03654f41, 0x00201a10}}, Y: Field{[10]uint32{0x02b62461, 0x000cfae4, 0x01c45262, 0x01f8ec79, 0x037546bc, 0x00d7ca69, 0x0141a0d0, 0x006d3878, 0x023f13c6, 0x0022c308}}}, + {X: Field{[10]uint32{0x0387466c, 0x02ce4212, 0x0301005c, 0x00d271e5, 0x02f83b59, 0x0365f42a, 0x03d11691, 0x01d7d1bb, 0x019f4fd9, 0x000a5427}}, Y: Field{[10]uint32{0x02d0da81, 0x03ae9a81, 0x038da8a0, 0x0214bab4, 0x02a33de5, 0x00d78f21, 0x00fccbe1, 0x02be5b27, 0x037569a0, 0x00051dfa}}}, + {X: Field{[10]uint32{0x031dfa4a, 0x03ffabb7, 0x0399c2d8, 0x0105bafd, 0x004e3d57, 0x00f18ea7, 0x01532fe3, 0x01c8bc30, 0x00433d9c, 0x00064745}}, Y: Field{[10]uint32{0x003a2cd8, 0x012d375c, 0x01706eae, 0x02d997b2, 0x01a5e3c7, 0x006213bb, 0x01ecf839, 0x01c6b5d1, 0x0009b6b5, 0x0016f401}}}, + {X: Field{[10]uint32{0x030155a8, 0x022c5646, 0x001e1ebf, 0x0078f6c8, 0x02a50f0e, 0x03aa0afc, 0x02d65afe, 0x0205a17b, 0x002ed273, 0x000a10f5}}, Y: Field{[10]uint32{0x03c63ee8, 0x01f4246e, 0x02f98ff8, 0x02e02669, 0x0177edaf, 0x00cb2c89, 0x03e6e2c2, 0x027d4ed1, 0x0266c0fa, 0x00201f3a}}}, + {X: Field{[10]uint32{0x03c8f644, 0x014ef44a, 0x000184d6, 0x00b5145b, 0x00e96ed0, 0x03a084be, 0x007514b8, 0x034dbd4d, 0x03b09656, 0x00155a2d}}, Y: Field{[10]uint32{0x00e60d87, 0x03618e14, 0x009118b2, 0x026e904a, 0x02496045, 0x03a8d901, 0x03da30d7, 0x01b710fe, 0x03a65483, 0x0016d13a}}}, + {X: Field{[10]uint32{0x0145e803, 0x023b17ac, 0x03d6e5f3, 0x008701cf, 0x004a7dd4, 0x0256ccbe, 0x00d81ab5, 0x01129a7a, 0x00e0809e, 0x0016e138}}, Y: Field{[10]uint32{0x0113d398, 0x00f4fbeb, 0x00243cb4, 0x0303fa4d, 0x017e6109, 0x0390c455, 0x03a1522a, 0x0073b5cb, 0x02d0fa79, 0x00069968}}}, + {X: Field{[10]uint32{0x02dfa672, 0x02993aaf, 0x00ede900, 0x010a4b32, 0x00675ba8, 0x0234ca44, 0x021519a1, 0x0041c51f, 0x016bdd24, 0x003bd0b1}}, Y: Field{[10]uint32{0x03ff75ac, 0x01ef34e2, 0x00e3cc9e, 0x0288c51d, 0x0326a618, 0x02b76fda, 0x01e0c254, 0x0265dd84, 0x03473335, 0x001c0545}}}, + {X: Field{[10]uint32{0x0256eb63, 0x01f04a55, 0x0294c92b, 0x03b21fab, 0x00adc653, 0x02c5056d, 0x026ed003, 0x0129592f, 0x02dcb50d, 0x001237fc}}, Y: Field{[10]uint32{0x01643928, 0x01982063, 0x036b5f0f, 0x00f7dc07, 0x02fa29e6, 0x02feb550, 0x03c59e98, 0x03b3dbc2, 0x03fb53af, 0x002a6fa5}}}, + {X: Field{[10]uint32{0x02e938d4, 0x00793ed2, 0x00337f88, 0x035067f7, 0x00d1923b, 0x008ac263, 0x009a2dfc, 0x0345d043, 0x00f5246a, 0x0019cba4}}, Y: Field{[10]uint32{0x01781f19, 0x028a2e68, 0x02c9e97a, 0x0091585f, 0x02f331b6, 0x00797c27, 0x03e678b3, 0x01b6da20, 0x03801fda, 0x001cff4c}}}, + {X: Field{[10]uint32{0x03315cde, 0x032dd852, 0x03723ee7, 0x008529f2, 0x02dbfe55, 0x01770577, 0x01e094a9, 0x02067242, 0x01b171fb, 0x0016736e}}, Y: Field{[10]uint32{0x008351a2, 0x036c06fa, 0x00a187a6, 0x03679243, 0x017f2d38, 0x00208027, 0x033f8e73, 0x01298fb3, 0x0212670b, 0x000156b0}}}, + {X: Field{[10]uint32{0x012ddb18, 0x004237ab, 0x028f0043, 0x020a3873, 0x006b827f, 0x02666531, 0x00db879b, 0x0162ac4d, 0x010a357a, 0x001738e3}}, Y: Field{[10]uint32{0x0397f716, 0x0285364e, 0x009c1745, 0x019c4227, 0x0394748c, 0x036f3146, 0x0384b33d, 0x0361bb0b, 0x0202d9c1, 0x0017a058}}}, + {X: Field{[10]uint32{0x0398afda, 0x012846d4, 0x028c8282, 0x016b41c4, 0x02c1a74d, 0x02dabe49, 0x0227a940, 0x03eeeec3, 0x016a7466, 0x00326086}}, Y: Field{[10]uint32{0x00901f55, 0x0058df54, 0x006b6f00, 0x00953915, 0x032d8fb9, 0x00704cf6, 0x00e6448a, 0x00e2bee7, 0x01eae644, 0x001ea47e}}}, + {X: Field{[10]uint32{0x039ec818, 0x03d4ca60, 0x03d31725, 0x030a0f20, 0x0360bfbc, 0x01e5b403, 0x0281d297, 0x006fb372, 0x008479e6, 0x000e0f2c}}, Y: Field{[10]uint32{0x01dec91e, 0x028643de, 0x004ffdb1, 0x009ab619, 0x010bbc34, 0x0057cd36, 0x01e04980, 0x0224ce2f, 0x03a24900, 0x0009b89b}}}, + {X: Field{[10]uint32{0x002f612b, 0x03293f44, 0x00550248, 0x026dab21, 0x0328b88c, 0x01200477, 0x0117b524, 0x03c529c6, 0x03312ad4, 0x0039a515}}, Y: Field{[10]uint32{0x0176f53d, 0x030ce193, 0x0089c1b1, 0x01be5c1a, 0x00c81cc8, 0x027ac2d1, 0x03edddac, 0x01c0797a, 0x008251fc, 0x000c3b48}}}, + {X: Field{[10]uint32{0x039976f7, 0x00f131ae, 0x018a7f28, 0x03c893e9, 0x01250809, 0x0098a9ca, 0x02168d21, 0x024d4884, 0x01ba8f79, 0x000b401c}}, Y: Field{[10]uint32{0x031dfd8b, 0x00ac05d7, 0x01b03c87, 0x03c695c2, 0x01ccc118, 0x020001e7, 0x01455440, 0x01cfc45a, 0x01014e48, 0x0033729a}}}, + {X: Field{[10]uint32{0x001e927e, 0x0123c880, 0x017898d7, 0x02c210df, 0x01da35c2, 0x01e61dee, 0x00f35f06, 0x013efe47, 0x005765b7, 0x00320ae5}}, Y: Field{[10]uint32{0x005fd6a2, 0x00f67c81, 0x0133d931, 0x00a8e6c5, 0x03b57a0f, 0x02ab23c1, 0x0057dae9, 0x01aff1f8, 0x01d10bb0, 0x000b9413}}}, + {X: Field{[10]uint32{0x01bbf0a6, 0x02d8ca1d, 0x0022763c, 0x028bece9, 0x012654ed, 0x01cdf746, 0x01135ede, 0x0086a7fb, 0x002e7eac, 0x00270693}}, Y: Field{[10]uint32{0x00e9197f, 0x0023bf84, 0x02e60200, 0x011ba768, 0x0280eb66, 0x02ded681, 0x02c91289, 0x00716089, 0x036c12f7, 0x003cc4d2}}}, + {X: Field{[10]uint32{0x016c9b28, 0x02b09fa3, 0x0353b6a2, 0x00d8b55d, 0x019b170a, 0x0202df3e, 0x00bd645e, 0x00c88bb6, 0x019bbc69, 0x0025c74f}}, Y: Field{[10]uint32{0x01d22e2e, 0x00dbdfe4, 0x0098080a, 0x00cfce16, 0x01e20394, 0x03f17a1b, 0x00a73af7, 0x0370b1b1, 0x009ae296, 0x000358f5}}}, + {X: Field{[10]uint32{0x03917d2b, 0x0200bea2, 0x0023fa67, 0x01eafd6b, 0x01660a31, 0x00186781, 0x0329f2ae, 0x0045448f, 0x027386bc, 0x003d524e}}, Y: Field{[10]uint32{0x01e0f1d7, 0x008c1b99, 0x03e23964, 0x000a004c, 0x0138455e, 0x0109ee2d, 0x0305157b, 0x0014c0ac, 0x00cb8b78, 0x0039ab6f}}}, + {X: Field{[10]uint32{0x01b6e014, 0x00154de6, 0x006dadde, 0x03f502ce, 0x01763244, 0x03af78ab, 0x017a3215, 0x00282b92, 0x023e500e, 0x0020c7c4}}, Y: Field{[10]uint32{0x03221d6c, 0x01c67232, 0x03950f44, 0x002a76da, 0x01ac04af, 0x03bbd7be, 0x02fa508c, 0x0222b154, 0x00622ff5, 0x000d585a}}}, + {X: Field{[10]uint32{0x017cfb35, 0x00a321e2, 0x02975f17, 0x008a63a4, 0x027a338c, 0x03bce175, 0x014c3342, 0x011d30ce, 0x006d0018, 0x0026e338}}, Y: Field{[10]uint32{0x02a40d72, 0x033a8150, 0x0331d712, 0x015e928d, 0x0307ce87, 0x007d4dd1, 0x01a50c4c, 0x00f811f3, 0x0220b8dc, 0x001da500}}}, + {X: Field{[10]uint32{0x03c5b855, 0x004de9cf, 0x027cb1e8, 0x02b437fe, 0x0014f06c, 0x00afcf85, 0x01724104, 0x00af2580, 0x016ba98d, 0x003dc2a4}}, Y: Field{[10]uint32{0x000275a2, 0x023ffeca, 0x0023fff9, 0x02110f10, 0x03b5426d, 0x025ea23c, 0x01a3fbe9, 0x0225bfce, 0x01f470d7, 0x003c6e30}}}, + {X: Field{[10]uint32{0x00763d56, 0x014abeb0, 0x0259992d, 0x0027f653, 0x01a64d69, 0x03d88741, 0x02836612, 0x01ff92ac, 0x03bbc44e, 0x000b4aad}}, Y: Field{[10]uint32{0x015328e8, 0x034cb331, 0x0328ae57, 0x02bcd815, 0x03c5fec8, 0x02d870b4, 0x03e044e8, 0x024721a3, 0x02002a69, 0x0014d143}}}, + {X: Field{[10]uint32{0x00d10005, 0x02e751bd, 0x018f3dc9, 0x03157601, 0x03321ff7, 0x02a44c55, 0x025423f3, 0x025e33a8, 0x02b8c516, 0x00205e37}}, Y: Field{[10]uint32{0x016ff4bc, 0x00efeda3, 0x02bfb598, 0x011a89ad, 0x01f9c001, 0x00d4926f, 0x02e6a282, 0x034c0fd2, 0x032b46c9, 0x0005a9c6}}}, + {X: Field{[10]uint32{0x02b56a64, 0x01a9a48d, 0x0301126e, 0x03285800, 0x0001f700, 0x03756650, 0x02f9c32a, 0x02e9f99f, 0x0376d012, 0x002d1c2e}}, Y: Field{[10]uint32{0x014fd95c, 0x03089c98, 0x03a6927c, 0x020a8bef, 0x031775f0, 0x02349a61, 0x01f36f15, 0x0261861c, 0x03e07d17, 0x003df424}}}, + {X: Field{[10]uint32{0x02de29ce, 0x01c4cff8, 0x03f78fe1, 0x0084736c, 0x01d3a899, 0x003c0850, 0x0348eb33, 0x02b04866, 0x02ba837c, 0x000593ca}}, Y: Field{[10]uint32{0x031d28dc, 0x01d8dd21, 0x011972c0, 0x01419a49, 0x02c2837c, 0x02e08701, 0x01ec79e0, 0x0340d12a, 0x020895f7, 0x000ef015}}}, + {X: Field{[10]uint32{0x02e725f4, 0x027fb144, 0x02283ec5, 0x03aa20f8, 0x01e6a210, 0x0172ee27, 0x012268b3, 0x01b4bbd4, 0x020402a8, 0x0031de8e}}, Y: Field{[10]uint32{0x031cfba2, 0x027bb704, 0x029148dc, 0x03896d27, 0x036d1db4, 0x03b580ac, 0x007e5928, 0x0281ff96, 0x016bedf1, 0x000baf35}}}, + {X: Field{[10]uint32{0x03b11349, 0x02b4cd40, 0x00e9f060, 0x0010368e, 0x0011df55, 0x0071aafa, 0x03a3f1d7, 0x033dc555, 0x03a1f714, 0x00038b7b}}, Y: Field{[10]uint32{0x0045f229, 0x02d516b8, 0x0354bd88, 0x0368ee6a, 0x000c5107, 0x0195f651, 0x001912ea, 0x02ef1cbd, 0x03037a53, 0x0017b590}}}, + {X: Field{[10]uint32{0x02313e3c, 0x004910ed, 0x017b2d21, 0x03a73075, 0x0335280c, 0x0290cc2b, 0x03fca1e5, 0x02793058, 0x02cbb4cd, 0x003b8b44}}, Y: Field{[10]uint32{0x02153262, 0x02488ebb, 0x02f0849f, 0x01bf752e, 0x024057fb, 0x03ffeda5, 0x00ecafab, 0x01f1960e, 0x01c1a437, 0x0038a2c7}}}, + {X: Field{[10]uint32{0x019e28bd, 0x0095b59f, 0x0067c78f, 0x011489c5, 0x01a2109b, 0x016f9f0f, 0x0039c34f, 0x037b2bcf, 0x009673e6, 0x00010e4b}}, Y: Field{[10]uint32{0x00110c50, 0x00aa2180, 0x006fd590, 0x035f43d0, 0x00747d63, 0x010e9aed, 0x009edd53, 0x0094cec1, 0x0183ae35, 0x001ff930}}}, + {X: Field{[10]uint32{0x020d6960, 0x03fcc702, 0x017a6712, 0x02cbe046, 0x020f5586, 0x00023d26, 0x02655f16, 0x01d2b64e, 0x02ee1673, 0x00165cb8}}, Y: Field{[10]uint32{0x037c71d6, 0x037b069b, 0x00847bc3, 0x03f1f024, 0x02779343, 0x0240ef5c, 0x02e485ad, 0x01f1d228, 0x0055d0a5, 0x001b5c3f}}}, + {X: Field{[10]uint32{0x002c78aa, 0x0226bc0c, 0x03c19855, 0x00690038, 0x02a180f3, 0x02795d9a, 0x01f1faa2, 0x000c5622, 0x000afc2c, 0x002a1760}}, Y: Field{[10]uint32{0x017ec85e, 0x022c036e, 0x032a508f, 0x01e94b74, 0x02ff5aca, 0x00a196de, 0x0037b419, 0x01da8291, 0x03f4903c, 0x001d0a75}}}, + {X: Field{[10]uint32{0x01f1c245, 0x0215a7e9, 0x01cdc954, 0x00e1c9d6, 0x02ccee3f, 0x035418e1, 0x009e85d7, 0x013f326a, 0x030f0d59, 0x003260da}}, Y: Field{[10]uint32{0x0094fac0, 0x02dc20b4, 0x031ed943, 0x03166ed0, 0x03bed1c2, 0x035c59c9, 0x01a7d06f, 0x03fb58bc, 0x012693b7, 0x0027c2c6}}}, + {X: Field{[10]uint32{0x0202bd3b, 0x032b9ff4, 0x0222b588, 0x0106b991, 0x0375f2c4, 0x03658c64, 0x0348e5f6, 0x01195340, 0x00fdb2b8, 0x00328861}}, Y: Field{[10]uint32{0x026a4de9, 0x013c3f5c, 0x0162683c, 0x03207d9c, 0x01e2563c, 0x03a5ca6e, 0x013dbb2f, 0x01eab012, 0x00203d65, 0x0034488a}}}, + {X: Field{[10]uint32{0x02941fd8, 0x00b9814d, 0x0066b44a, 0x03331e93, 0x02b5dea0, 0x00181755, 0x03627048, 0x02599021, 0x01c63c9b, 0x00278145}}, Y: Field{[10]uint32{0x00be831a, 0x02c87255, 0x01e506d4, 0x018845fb, 0x0295f0b7, 0x036e8187, 0x02f789e2, 0x00b61abf, 0x0224a2eb, 0x000a778c}}}, + {X: Field{[10]uint32{0x035dc1cc, 0x023c002b, 0x02f6053a, 0x03694759, 0x018a3447, 0x0297cf5e, 0x022cf7af, 0x00e9fc30, 0x00253320, 0x0010810b}}, Y: Field{[10]uint32{0x01e6c05a, 0x022369fd, 0x03d9dff6, 0x007587dc, 0x03c54f3c, 0x02f04f44, 0x01420d50, 0x00e1c8c5, 0x027a6d6c, 0x003c1d69}}}, + {X: Field{[10]uint32{0x02295b96, 0x0259f1c4, 0x031bccd3, 0x032a6b90, 0x023f5a68, 0x0222557f, 0x0084ffd2, 0x000af916, 0x01bd4eab, 0x00199168}}, Y: Field{[10]uint32{0x0384cfad, 0x033344ae, 0x00b6730c, 0x01949014, 0x00bf9028, 0x003a4b13, 0x02d4b30f, 0x013b50a3, 0x01f91d26, 0x0008c7de}}}, + {X: Field{[10]uint32{0x00b32f9f, 0x0347ba35, 0x0075f30b, 0x02a21c3d, 0x036898f3, 0x0161f78d, 0x01482ab1, 0x01ba208c, 0x026d2c31, 0x00138a07}}, Y: Field{[10]uint32{0x0065602c, 0x03dd6070, 0x0091011e, 0x0357cdf9, 0x02c3f708, 0x03770d05, 0x0378062c, 0x027b7797, 0x01c81c11, 0x003d232b}}}, + {X: Field{[10]uint32{0x02af5136, 0x0153bc12, 0x00e02fcd, 0x034f90cb, 0x034fbaf7, 0x01e99880, 0x03c7ffbc, 0x007a7fc4, 0x001496e4, 0x001dc8d9}}, Y: Field{[10]uint32{0x002dd218, 0x020c1d09, 0x0328c800, 0x028195fc, 0x0398bec7, 0x00003da5, 0x00b4bf29, 0x03007bed, 0x01740d6c, 0x00088b80}}}, + {X: Field{[10]uint32{0x01d45860, 0x00765dc3, 0x02bddaf3, 0x027fded7, 0x0018ab00, 0x00488610, 0x026070cb, 0x01e166b6, 0x004c8d46, 0x000fcadc}}, Y: Field{[10]uint32{0x034dd88a, 0x03ebaa0e, 0x02a9fb59, 0x022ff417, 0x03e2b6ab, 0x035868b7, 0x038dd215, 0x03ad7a30, 0x03a5146a, 0x00291c59}}}, + {X: Field{[10]uint32{0x00ad4146, 0x02e7a4bb, 0x01b51640, 0x0342b931, 0x0384b3ac, 0x017e60f6, 0x03b70f03, 0x036044ba, 0x0130d243, 0x001e53b0}}, Y: Field{[10]uint32{0x007be84d, 0x01ddeab4, 0x01e71c80, 0x03576303, 0x00658f2d, 0x00debbd7, 0x00a537f9, 0x0171f3bb, 0x00be95c2, 0x00127b7b}}}, + {X: Field{[10]uint32{0x01a96aa3, 0x03258525, 0x023ba808, 0x0335ba7f, 0x0149c554, 0x01ec702c, 0x0304cf4a, 0x0384ade6, 0x01ece363, 0x001d43fe}}, Y: Field{[10]uint32{0x021d59a9, 0x00540bde, 0x02dfb2de, 0x02fc7931, 0x022d4474, 0x028182d0, 0x0270f149, 0x028fb7d3, 0x029dd1c5, 0x00168a09}}}, + {X: Field{[10]uint32{0x026272cf, 0x017ecaad, 0x00169633, 0x00b26dfd, 0x02263b08, 0x0344a518, 0x02c9ec1f, 0x01a3b2e5, 0x01d7df66, 0x00359701}}, Y: Field{[10]uint32{0x02188839, 0x02e93c37, 0x03c37891, 0x0019acbd, 0x017e48be, 0x031dff6b, 0x02cc5b7f, 0x0350b490, 0x00c51c10, 0x00035dca}}}, + {X: Field{[10]uint32{0x015190c3, 0x016fbd56, 0x012f6122, 0x00e5ca8f, 0x02aecffe, 0x036e685c, 0x039d2700, 0x03a7a6d6, 0x00b68cb2, 0x0034e013}}, Y: Field{[10]uint32{0x01e30d5e, 0x03091c6d, 0x01613482, 0x00f9bfc3, 0x00287902, 0x01814d0a, 0x02f41314, 0x01922cc2, 0x010c9568, 0x00047ecd}}}, + {X: Field{[10]uint32{0x00351bf6, 0x03a7a11c, 0x01b3db34, 0x0104441b, 0x036a9382, 0x03b3e34d, 0x0095c619, 0x00d27db3, 0x022635c6, 0x003dd8b7}}, Y: Field{[10]uint32{0x009fd814, 0x03702eaf, 0x0010b1ca, 0x00b4fa21, 0x000ccfe2, 0x026444b9, 0x013352da, 0x003e7b9d, 0x01e0c8a5, 0x003719fe}}}, + {X: Field{[10]uint32{0x03b87a71, 0x0395d9d4, 0x00e7dac5, 0x03baea1f, 0x03d7dcec, 0x005f8e49, 0x02e163ed, 0x03fd2c5f, 0x00bfa827, 0x002ac62d}}, Y: Field{[10]uint32{0x030da919, 0x03aa6e4a, 0x01ed5b57, 0x00734ac7, 0x0229706d, 0x01341fdc, 0x002bc09c, 0x00249b22, 0x03d573e4, 0x001b6e0e}}}, + {X: Field{[10]uint32{0x0198c95e, 0x0199a540, 0x02d8bf5c, 0x02b63d8e, 0x02b12478, 0x0116588a, 0x0343a870, 0x006ba368, 0x0248fec2, 0x003dd530}}, Y: Field{[10]uint32{0x0052b1bd, 0x009e6498, 0x02e5293b, 0x01e8caee, 0x00e056ca, 0x03d511dd, 0x008d8e67, 0x021ddae1, 0x02a25f9c, 0x000b3edd}}}, + {X: Field{[10]uint32{0x0246c51c, 0x018b53e6, 0x008e2c24, 0x030c4d07, 0x02103516, 0x005af285, 0x013ecdb7, 0x001e63e2, 0x033e3c3f, 0x003e3651}}, Y: Field{[10]uint32{0x03924e02, 0x016fa4b5, 0x006869e0, 0x00ef846d, 0x015c53bd, 0x01d51e0d, 0x03314dac, 0x03f8e89a, 0x025fa422, 0x00157c01}}}, + {X: Field{[10]uint32{0x014eb741, 0x0341435d, 0x00395352, 0x02d2fef1, 0x012f7c5a, 0x02ca7f6a, 0x035fa225, 0x032f2269, 0x0142d294, 0x000218e6}}, Y: Field{[10]uint32{0x03d11e4d, 0x02762a79, 0x01c29677, 0x020d32e0, 0x03741da8, 0x02cfb5f3, 0x0179abdd, 0x038d68db, 0x022a445d, 0x000e44fa}}}, + {X: Field{[10]uint32{0x0395d5c2, 0x03469e2e, 0x02c61794, 0x020820eb, 0x02068572, 0x0169c6d2, 0x0319230b, 0x00e22fc5, 0x006c706a, 0x000a9623}}, Y: Field{[10]uint32{0x00c47592, 0x010b12db, 0x01b00968, 0x02bafeec, 0x0361f458, 0x01f847e5, 0x007f07ea, 0x03db6590, 0x01771a56, 0x002bc97b}}}, + {X: Field{[10]uint32{0x020a0cb6, 0x03a35500, 0x01fe337e, 0x005c08b8, 0x00a54597, 0x02697b6c, 0x02dba4ad, 0x02e6a2c9, 0x01ee8931, 0x0004def4}}, Y: Field{[10]uint32{0x03ceea62, 0x01228c05, 0x00b7ff58, 0x01788455, 0x01eaea10, 0x021f5da8, 0x03e9f0ee, 0x031df49c, 0x037b8197, 0x00337a7e}}}, + {X: Field{[10]uint32{0x02de2bbf, 0x02ef8cb4, 0x03b48d21, 0x03aa8782, 0x020f9b5f, 0x00ebcb0a, 0x01523711, 0x00c4f25c, 0x0345c686, 0x00119600}}, Y: Field{[10]uint32{0x0092ef64, 0x02a3ba7b, 0x030510a3, 0x023a85ae, 0x027edade, 0x019bd30a, 0x03bc79db, 0x027fecaf, 0x017bb632, 0x001d6f17}}}, + {X: Field{[10]uint32{0x011bd233, 0x017bd90e, 0x02a8556d, 0x03586ca0, 0x0102ef93, 0x009abd51, 0x02fc491c, 0x016b3660, 0x0252afaf, 0x00128524}}, Y: Field{[10]uint32{0x00cfe285, 0x00f5e3d8, 0x0259a3b5, 0x03f16897, 0x03bb9e83, 0x018fd752, 0x0256ea38, 0x016d8259, 0x00bc10b5, 0x003ef040}}}, + {X: Field{[10]uint32{0x01a01f18, 0x03e4bc85, 0x013faad0, 0x0225f65d, 0x0395bdf0, 0x011d7592, 0x00251313, 0x033e3c38, 0x01a6fc0b, 0x002253af}}, Y: Field{[10]uint32{0x035ec056, 0x0389b3d7, 0x003779fa, 0x000b8a65, 0x001e4ede, 0x01f4deb8, 0x01d02519, 0x01cb3f1a, 0x01501557, 0x002c97cc}}}, + {X: Field{[10]uint32{0x01eb032e, 0x029bab91, 0x0285a3c2, 0x029be796, 0x002deedc, 0x03f5c82b, 0x01ef1b2b, 0x02e244c3, 0x02930a91, 0x0039c362}}, Y: Field{[10]uint32{0x00d9f9cc, 0x03f7c453, 0x01b0a693, 0x02061e28, 0x02fe1026, 0x024472c0, 0x03b96ea4, 0x03fdad17, 0x0253a3b0, 0x002f4ebb}}}, + {X: Field{[10]uint32{0x02b36852, 0x0117eed3, 0x0047eeb2, 0x00fc4d75, 0x02118988, 0x02551ada, 0x016765bf, 0x02c77528, 0x01c3e5cc, 0x001f2c7f}}, Y: Field{[10]uint32{0x03ca582d, 0x0238b2a3, 0x014e0196, 0x0022a3fb, 0x00d18890, 0x0176fc96, 0x00edbe17, 0x017fdee0, 0x00d6becf, 0x000243b8}}}, + {X: Field{[10]uint32{0x03b9bfc1, 0x02fef0a1, 0x00685bf9, 0x0340c484, 0x00b39f57, 0x00cae416, 0x0090a214, 0x03685e3f, 0x02d80331, 0x001449e2}}, Y: Field{[10]uint32{0x03a66b6f, 0x03773a74, 0x00040536, 0x0387dd6f, 0x017bc1f9, 0x00976cf9, 0x03ad759b, 0x0399e230, 0x0147f39c, 0x00016abd}}}, + {X: Field{[10]uint32{0x00f59cdd, 0x03a64115, 0x036cee9f, 0x00215389, 0x030fee50, 0x00bf3c3c, 0x03563082, 0x00c1a122, 0x021fc52b, 0x003c3baa}}, Y: Field{[10]uint32{0x02124f02, 0x02ecb27c, 0x02e63ab3, 0x03ea0460, 0x00d51cf7, 0x02befacc, 0x01e5e016, 0x01c2f7ad, 0x009b944d, 0x000243fe}}}, + {X: Field{[10]uint32{0x03aeea71, 0x0376dac0, 0x01df6648, 0x02bc94ad, 0x00df5b4c, 0x01ed4700, 0x03670c22, 0x003f4984, 0x03f28bf9, 0x000dbf26}}, Y: Field{[10]uint32{0x03836683, 0x0038e8f9, 0x0075e13d, 0x031a7f64, 0x03d975ec, 0x0376eef9, 0x02c81614, 0x01b0a181, 0x0076f1ac, 0x00221f0e}}}, + {X: Field{[10]uint32{0x0391b68b, 0x037caa26, 0x03acdba4, 0x02757996, 0x02135c54, 0x030a7d8b, 0x00d2d041, 0x010db385, 0x026b0cf9, 0x001b8c78}}, Y: Field{[10]uint32{0x00d0e7ae, 0x0258622b, 0x01a85858, 0x021f426a, 0x0194c1af, 0x029de2cc, 0x037d9f77, 0x02f6aad7, 0x02849e63, 0x00008e25}}}, + {X: Field{[10]uint32{0x0198e864, 0x02499c87, 0x02eac357, 0x03613dd0, 0x003da9fa, 0x02b4cea8, 0x02a8a1ce, 0x030afeb1, 0x0249a4b1, 0x00314111}}, Y: Field{[10]uint32{0x03a1027b, 0x02c80769, 0x000af537, 0x0136e350, 0x0345fdc8, 0x0330450e, 0x03d13270, 0x025aedc5, 0x02d283e6, 0x001b4980}}}, + {X: Field{[10]uint32{0x0299ca28, 0x02013b1a, 0x011e6eca, 0x01331148, 0x03b9b2e8, 0x016801ee, 0x028e963b, 0x011356f6, 0x0271f13c, 0x0002a4cf}}, Y: Field{[10]uint32{0x02200faa, 0x003d967d, 0x014f5c1c, 0x01e55084, 0x00c3ce02, 0x00750bf7, 0x01712073, 0x038bdb99, 0x03bcec45, 0x0024c6fc}}}, + {X: Field{[10]uint32{0x00e4a58b, 0x037d977e, 0x021aa83a, 0x0342c4ca, 0x030b8559, 0x0045c0e2, 0x0298884e, 0x00b5886e, 0x021d840c, 0x002400fd}}, Y: Field{[10]uint32{0x00d30895, 0x03d5b73a, 0x01532b67, 0x02b1cd8c, 0x001388a1, 0x02e89a15, 0x02b7ecec, 0x00e54a7f, 0x0124f72b, 0x001431d4}}}, + {X: Field{[10]uint32{0x02a0a886, 0x02df0df2, 0x022c533f, 0x02a7a7cf, 0x02914e21, 0x005ca069, 0x038abdfc, 0x01c33218, 0x00183cb3, 0x003f201f}}, Y: Field{[10]uint32{0x00af00ba, 0x009286fa, 0x02cdee9d, 0x0341ae34, 0x021ccf6f, 0x03559095, 0x02f72639, 0x00756ea6, 0x013e75ac, 0x000eb1e7}}}, + {X: Field{[10]uint32{0x03ee9cbd, 0x024f33b7, 0x033c1862, 0x02b9f901, 0x03cd780d, 0x0142f352, 0x03b608f1, 0x02b08ed0, 0x02e4aca4, 0x000f41ca}}, Y: Field{[10]uint32{0x0265d9b6, 0x0355749f, 0x0385792f, 0x00519f68, 0x03f9c604, 0x00235d89, 0x00fc5630, 0x0327e2a6, 0x0043f721, 0x0001b679}}}, + {X: Field{[10]uint32{0x03f80dc0, 0x02aaf669, 0x01d3d106, 0x02f1eb2c, 0x03ba6e26, 0x008bebe2, 0x03c5eed5, 0x02d29f4a, 0x01947061, 0x003432e1}}, Y: Field{[10]uint32{0x03012e0a, 0x00e791de, 0x0092c9b7, 0x03c507c2, 0x038d7562, 0x006a61da, 0x0107b82d, 0x03730680, 0x0326e9d0, 0x003eff43}}}, + {X: Field{[10]uint32{0x035bc9fd, 0x01b496d8, 0x02e3241a, 0x02b090b3, 0x00267aad, 0x01c88730, 0x019f46cc, 0x03191079, 0x00ab6416, 0x00393b70}}, Y: Field{[10]uint32{0x03cdc71e, 0x0307f0d3, 0x02964b84, 0x01382ec1, 0x01c496fd, 0x020201f4, 0x00344829, 0x02d31012, 0x02e9cea7, 0x003d070e}}}, + {X: Field{[10]uint32{0x017eb4b2, 0x034caaf7, 0x01271557, 0x01046c2d, 0x02ffb806, 0x012f83d7, 0x01a83c88, 0x0244063d, 0x010b2d3d, 0x00188ced}}, Y: Field{[10]uint32{0x015dbcc5, 0x007bc661, 0x00399791, 0x00af7690, 0x01034a3a, 0x00a1622c, 0x030f21e3, 0x00ab095d, 0x0124ffdd, 0x00237eab}}}, + {X: Field{[10]uint32{0x02a19ab5, 0x012df714, 0x015df943, 0x017af78a, 0x03c427e6, 0x03a607da, 0x034e5447, 0x0197889e, 0x0162e272, 0x001b2800}}, Y: Field{[10]uint32{0x0154cce1, 0x015f9944, 0x03a5ce0f, 0x00583854, 0x03223e89, 0x02aece81, 0x03fe297b, 0x009f8290, 0x0363a8f2, 0x0034cfd7}}}, + {X: Field{[10]uint32{0x02fefcfc, 0x02199b8d, 0x005b3cd6, 0x024a2d84, 0x02d6c9d9, 0x0339f2c5, 0x01328ae7, 0x02357703, 0x01aa5d2a, 0x00300481}}, Y: Field{[10]uint32{0x02831d3e, 0x00061643, 0x03b453ad, 0x02affea6, 0x02cf2988, 0x02be2e9f, 0x03d6f6f6, 0x02025786, 0x0399c4f4, 0x002d9797}}}, + {X: Field{[10]uint32{0x02e0e155, 0x02de34b6, 0x00abb4e0, 0x025d29b1, 0x0107b8a5, 0x020143ce, 0x016fb195, 0x01a32d87, 0x03930e62, 0x0038e594}}, Y: Field{[10]uint32{0x00731737, 0x00a26fe0, 0x00828a2f, 0x02973683, 0x003f971f, 0x014e0ecb, 0x00048928, 0x03876460, 0x01462ed6, 0x0007de2b}}}, + {X: Field{[10]uint32{0x00b099ce, 0x0120889b, 0x004f8012, 0x03e142f6, 0x013dc03a, 0x03f6643f, 0x010c1a69, 0x02750c01, 0x00f3702a, 0x0009eff4}}, Y: Field{[10]uint32{0x00643de8, 0x0306c72f, 0x00f390fe, 0x03c36425, 0x00c49fd3, 0x0102f9f0, 0x030c0bce, 0x02baf466, 0x0360e8ca, 0x0008b85a}}}, + {X: Field{[10]uint32{0x0396a2f0, 0x0020281b, 0x023c6cbf, 0x00b1bdd7, 0x012a3717, 0x00a65ea2, 0x02c17771, 0x0255967b, 0x03c02331, 0x0020843e}}, Y: Field{[10]uint32{0x02afee8d, 0x03aa4791, 0x0109716d, 0x0095b469, 0x03bfacbb, 0x01787bac, 0x011d5528, 0x019b2eec, 0x03921011, 0x0007775d}}}, + {X: Field{[10]uint32{0x02347b5e, 0x034869d3, 0x03ab089c, 0x0197e2fb, 0x00ae4d50, 0x0178bfe0, 0x015298a2, 0x02f6037c, 0x02b65fcb, 0x00057319}}, Y: Field{[10]uint32{0x03937c97, 0x02b34c81, 0x0334b6dd, 0x00d1223e, 0x007b225b, 0x01585b4a, 0x03324c9f, 0x020a5b7a, 0x03e93574, 0x002512d1}}}, + {X: Field{[10]uint32{0x00c97976, 0x0006b825, 0x02c4bff8, 0x03f1c9b0, 0x02c7bb08, 0x0279b0d7, 0x021a482a, 0x0005a47a, 0x02a24596, 0x003adede}}, Y: Field{[10]uint32{0x02d1b1f6, 0x008fe08b, 0x003f227c, 0x01380413, 0x02f5596f, 0x00fc195a, 0x03d20e90, 0x01de47f2, 0x0170cc18, 0x00134ba5}}}, + {X: Field{[10]uint32{0x029ba12c, 0x0039f7d7, 0x01ea15fb, 0x001ad029, 0x0118e7c1, 0x025aa11a, 0x02436e09, 0x03a11308, 0x02fced29, 0x0011663e}}, Y: Field{[10]uint32{0x035e6093, 0x0388a3fc, 0x016297dc, 0x015796c2, 0x01978a85, 0x03dc5982, 0x0379dfe7, 0x03a8b0e5, 0x02b6d292, 0x0039cf65}}}, + {X: Field{[10]uint32{0x028600f7, 0x01fbacc6, 0x007058e3, 0x03f06443, 0x00e57d4d, 0x01be4386, 0x02a25917, 0x0396515c, 0x02863612, 0x001260d6}}, Y: Field{[10]uint32{0x03cfa531, 0x003b4df7, 0x017b9825, 0x028b9223, 0x02464c08, 0x003a034d, 0x023b147e, 0x00b30730, 0x013a0fbd, 0x0000edd8}}}, + {X: Field{[10]uint32{0x02335351, 0x0245bdf3, 0x005b9965, 0x02df464c, 0x033cbfe0, 0x0136f70c, 0x023177b0, 0x02019cca, 0x03ed1fcc, 0x000e9b5b}}, Y: Field{[10]uint32{0x026624ea, 0x021a4956, 0x01d0df29, 0x01586f47, 0x0111eb2b, 0x01fc4190, 0x00a6706d, 0x0185fc52, 0x018a314d, 0x00330fcf}}}, + {X: Field{[10]uint32{0x02d7a9f5, 0x035b1ece, 0x02a78fb0, 0x0093b9ee, 0x00f672a0, 0x0080d6dd, 0x012d2efb, 0x03f8c33a, 0x01866860, 0x00084821}}, Y: Field{[10]uint32{0x00bebbb7, 0x01d2825e, 0x01d7ce10, 0x038d07c9, 0x0396ff0c, 0x03dba75c, 0x02e8be11, 0x02c7b0ff, 0x01be0051, 0x002abc51}}}, + {X: Field{[10]uint32{0x026e4e06, 0x03681349, 0x03cc867c, 0x0209b3bf, 0x01833ac0, 0x0072c46e, 0x03d609c5, 0x00bc2598, 0x032ac9bb, 0x003e0644}}, Y: Field{[10]uint32{0x00891de5, 0x009c8e53, 0x02bb37e2, 0x03bdd91a, 0x00c52f48, 0x01012bbb, 0x03fd1a06, 0x00c172ab, 0x0238ec6a, 0x002c7f79}}}, + {X: Field{[10]uint32{0x02ec009d, 0x02a50df0, 0x00428423, 0x028484f1, 0x01168385, 0x02bb58b6, 0x0334d720, 0x0190310d, 0x01d88786, 0x0014db01}}, Y: Field{[10]uint32{0x036df0d5, 0x0224c976, 0x02f134b4, 0x03b87ea7, 0x01fd84dd, 0x020e8231, 0x03c2b43c, 0x037861a2, 0x0100d827, 0x001fd2f8}}}, + {X: Field{[10]uint32{0x01df722b, 0x02dceea8, 0x024bd650, 0x02c68e68, 0x0109de2f, 0x00b22a16, 0x02e3ed34, 0x036dd8df, 0x023ec4c6, 0x0010ca04}}, Y: Field{[10]uint32{0x03a40857, 0x0275fa58, 0x01b1594c, 0x00403d75, 0x014ee11f, 0x02d3e1bd, 0x0222fa71, 0x01dd4f9a, 0x02ea0127, 0x00207000}}}, + {X: Field{[10]uint32{0x012a5f17, 0x00369a04, 0x01a08155, 0x00cb543a, 0x016a85fc, 0x003e6170, 0x029e5360, 0x0265461a, 0x02fef852, 0x003cf855}}, Y: Field{[10]uint32{0x008892d2, 0x037426ad, 0x010915d5, 0x0339d063, 0x03a2f441, 0x00d8ae14, 0x0167e83c, 0x0039bd97, 0x026b56ff, 0x00247ff5}}}, + {X: Field{[10]uint32{0x03456cc9, 0x00aa3622, 0x030e6824, 0x02bfabc0, 0x006645a1, 0x0153102b, 0x028a716a, 0x00fd0b4b, 0x035984e1, 0x000cae9c}}, Y: Field{[10]uint32{0x00b4c6f5, 0x022c60ef, 0x02200f86, 0x017279f9, 0x03f05576, 0x03bc9324, 0x02ab3178, 0x02c542a0, 0x031e1c32, 0x0019fff3}}}, + {X: Field{[10]uint32{0x01829311, 0x02f02b16, 0x03dddcca, 0x024c62ae, 0x029c868b, 0x01362d2a, 0x00674cf6, 0x00417946, 0x033a043d, 0x0032e70a}}, Y: Field{[10]uint32{0x002b691f, 0x0181fba1, 0x015db242, 0x017ef4af, 0x01834bea, 0x02721674, 0x013ac479, 0x001daf7b, 0x02f2233f, 0x0007f19f}}}, + {X: Field{[10]uint32{0x029234f0, 0x028c6f4b, 0x01e856ef, 0x015eaf06, 0x035effa9, 0x0026f34e, 0x0349695e, 0x01c1c0c8, 0x0058b7bf, 0x003853ca}}, Y: Field{[10]uint32{0x00e08bdb, 0x03457937, 0x01761f3c, 0x00352a25, 0x02cf8cbf, 0x00357fc1, 0x03cbc258, 0x03f4e620, 0x009dd3f3, 0x000f8139}}}, + {X: Field{[10]uint32{0x03550d82, 0x02dce221, 0x01e010d7, 0x03b16102, 0x0274810d, 0x025ffc09, 0x0078113c, 0x02e38c33, 0x037b1c27, 0x00055afa}}, Y: Field{[10]uint32{0x00bc5371, 0x009ea464, 0x0017b16e, 0x0318305b, 0x013a8e92, 0x0164e664, 0x02adf2fd, 0x01bb20d4, 0x030a8021, 0x0031c45c}}}, + {X: Field{[10]uint32{0x0055d600, 0x0262d6cb, 0x013557b7, 0x0267e00e, 0x01a24a33, 0x028b76a8, 0x000e4959, 0x01a1912e, 0x03e6b9b4, 0x003797a9}}, Y: Field{[10]uint32{0x00d48ee8, 0x00f18563, 0x037d53a0, 0x019c8adf, 0x02b9b1de, 0x0060b354, 0x00a9d24e, 0x008f4b70, 0x0027e6a8, 0x00224068}}}, + {X: Field{[10]uint32{0x0017c3c7, 0x02e78ffb, 0x01adeb79, 0x005284a0, 0x00aea074, 0x02cafc3b, 0x037312e7, 0x03b51896, 0x03688bfa, 0x0023b774}}, Y: Field{[10]uint32{0x0155da7b, 0x03b6db1e, 0x032316d8, 0x02c5713d, 0x0359b885, 0x0088f95e, 0x00a48a89, 0x0074d357, 0x02f92617, 0x000b6d0e}}}, + {X: Field{[10]uint32{0x00b1d4e3, 0x02b4f5fc, 0x02b85fb2, 0x003fbe57, 0x0187872e, 0x0088dfb6, 0x02489ae2, 0x03477a3e, 0x036a665a, 0x001725c6}}, Y: Field{[10]uint32{0x038b1f66, 0x031a4e97, 0x039a6c4f, 0x01ecc0b4, 0x01aa8d4d, 0x00ae8076, 0x0332ff74, 0x02bdbc2b, 0x019837c2, 0x00135c7d}}}, + {X: Field{[10]uint32{0x02b9e228, 0x03edc291, 0x0076885c, 0x03bcd095, 0x01bd3586, 0x00aa3c73, 0x0366589a, 0x00adab56, 0x013c2821, 0x003b7ec9}}, Y: Field{[10]uint32{0x02616c00, 0x02ca892c, 0x00c1d7f7, 0x0380944d, 0x02594e42, 0x03cc18a4, 0x00b26b84, 0x007da6e3, 0x0208b7e8, 0x000f96d9}}}, + {X: Field{[10]uint32{0x01525c13, 0x0315adf7, 0x03384737, 0x031acb19, 0x03d2373c, 0x00895d2e, 0x0163dd4e, 0x01dcb36c, 0x024ae127, 0x0010e57c}}, Y: Field{[10]uint32{0x00103526, 0x02f99304, 0x0047a819, 0x037006d1, 0x00676581, 0x03dce55d, 0x0096913d, 0x0030b192, 0x03254c80, 0x002eb1b9}}}, + {X: Field{[10]uint32{0x006866f5, 0x03c3fc65, 0x023eb182, 0x014d7d8a, 0x038c7823, 0x017d6a1f, 0x0113b64b, 0x019adfe2, 0x02d573a7, 0x00204402}}, Y: Field{[10]uint32{0x01a00c73, 0x02d05c3a, 0x029c9d28, 0x02ea61c2, 0x01c6afb8, 0x01477675, 0x0068f7d0, 0x00226674, 0x016e325b, 0x0014b2b0}}}, + {X: Field{[10]uint32{0x0395120f, 0x008d1efa, 0x02e407f7, 0x017b9777, 0x01dee3a0, 0x0285085b, 0x02358c3a, 0x020519ab, 0x01514116, 0x003f4e81}}, Y: Field{[10]uint32{0x028ee5b7, 0x01ef34f6, 0x03250e4c, 0x001d6339, 0x0011a3c6, 0x01f812c8, 0x01b7b88b, 0x02c4aae2, 0x030d45ce, 0x000abcbc}}}, + {X: Field{[10]uint32{0x02435ff9, 0x03f0fbf9, 0x018fa4e3, 0x00caaf46, 0x0276d1a0, 0x0285f5b0, 0x0305b6df, 0x03bbe8ff, 0x0358a7ec, 0x0005e956}}, Y: Field{[10]uint32{0x01574d4f, 0x026fdc6e, 0x02240bc9, 0x02915f81, 0x02418f35, 0x01c7c14d, 0x01cee72e, 0x019f043f, 0x0158a3ad, 0x0035c9ce}}}, + {X: Field{[10]uint32{0x03789b6d, 0x02d0224e, 0x0003bc49, 0x00157b5c, 0x02793fd0, 0x0057a2c8, 0x01c73aee, 0x017a8231, 0x03b8e2ca, 0x0021c32d}}, Y: Field{[10]uint32{0x03e67aa3, 0x003b8106, 0x01cc6a7b, 0x03b2b542, 0x0104badb, 0x0089912a, 0x017a9bce, 0x0072bc9b, 0x03407b70, 0x0030cf22}}}, + {X: Field{[10]uint32{0x0271f8a7, 0x00b306d3, 0x00897545, 0x00db6039, 0x03ffbf7c, 0x01432829, 0x0053c89a, 0x03bc02b7, 0x01fcdc46, 0x003e5471}}, Y: Field{[10]uint32{0x0392c95f, 0x0081ce31, 0x02648751, 0x02495e4b, 0x01c1705b, 0x0137e796, 0x0064d7d2, 0x033090c2, 0x00217849, 0x001ab8be}}}, + {X: Field{[10]uint32{0x02a0caf1, 0x01240b25, 0x02d6131e, 0x00a858df, 0x036cbd83, 0x0062b68f, 0x011bb06a, 0x0319dab8, 0x037f3b92, 0x002bae01}}, Y: Field{[10]uint32{0x03cc1e35, 0x00cb87ab, 0x00cfde02, 0x01f42cdf, 0x036c8a6d, 0x02fcc5ff, 0x0275fb98, 0x0290c253, 0x011df5d4, 0x000a7d07}}}, + {X: Field{[10]uint32{0x013b78f9, 0x0080d7cc, 0x0260cb9d, 0x022d6577, 0x038482b7, 0x036161f0, 0x0118a7e5, 0x00b9601b, 0x01975d2f, 0x00351bd3}}, Y: Field{[10]uint32{0x006392f0, 0x00d246ba, 0x0233c105, 0x02650c5b, 0x02f704e1, 0x00c7fb90, 0x02154ef0, 0x0045d8e5, 0x01aa3bdc, 0x002575e0}}}, + {X: Field{[10]uint32{0x0229b201, 0x0297c71e, 0x02eaf4f3, 0x025dcf1d, 0x03af810b, 0x0126e7b0, 0x021b54ac, 0x03627cb8, 0x03444b4b, 0x00001abe}}, Y: Field{[10]uint32{0x02bf932f, 0x0186089b, 0x0334eaf0, 0x00342fb4, 0x0364db46, 0x00e22acd, 0x00ed90d1, 0x02d3384d, 0x001fd7d3, 0x000d40a4}}}, + {X: Field{[10]uint32{0x03d86976, 0x00bdfb7a, 0x00394093, 0x01533ebe, 0x01e66349, 0x0161ebd7, 0x03f60869, 0x005c0e9e, 0x0182a38b, 0x0017c0b9}}, Y: Field{[10]uint32{0x017afec2, 0x01a8014b, 0x00a7def4, 0x00328ada, 0x02ccfa5d, 0x0102e3f8, 0x00b06bf7, 0x029e5ac9, 0x00de92f3, 0x0028121f}}}, + {X: Field{[10]uint32{0x020599fe, 0x014b4e82, 0x02e33c66, 0x01d67155, 0x03ad70eb, 0x00d5199f, 0x007b885f, 0x00b3b568, 0x00826043, 0x0009909d}}, Y: Field{[10]uint32{0x0028ce85, 0x03e163ae, 0x00c62949, 0x033db811, 0x03a63867, 0x00d0114e, 0x02ea7379, 0x00e0bf5d, 0x00fe2560, 0x0004648e}}}, + {X: Field{[10]uint32{0x029f91dc, 0x01999811, 0x037ff2cd, 0x029f8796, 0x014f03a5, 0x017a0dfb, 0x0319a7dd, 0x02b7694a, 0x025ad327, 0x001aca8f}}, Y: Field{[10]uint32{0x0254c6d9, 0x0012f3a2, 0x0257a22f, 0x0197a35f, 0x01354ed2, 0x036a7a51, 0x03365601, 0x020be83c, 0x012606b4, 0x000be7d1}}}, + {X: Field{[10]uint32{0x035daa79, 0x000d1710, 0x03dc4fcc, 0x01df5d25, 0x02e5fbaf, 0x03bc4fa2, 0x010934dd, 0x013eeaac, 0x008b7e21, 0x0009622e}}, Y: Field{[10]uint32{0x01435bbf, 0x02f04531, 0x035e151e, 0x013eb2e8, 0x0261ca64, 0x03c69476, 0x03f142ce, 0x01b53235, 0x010bd3ba, 0x000f973e}}}, + {X: Field{[10]uint32{0x02551a93, 0x0173fe77, 0x03fcbcff, 0x011b0830, 0x02e4e3d8, 0x02805012, 0x00178b40, 0x00bbbfea, 0x01469285, 0x00365210}}, Y: Field{[10]uint32{0x02a6d5a4, 0x020962e5, 0x024ccdbb, 0x02f65a61, 0x0213ea0a, 0x02b66618, 0x00a12196, 0x03109d0d, 0x017fe628, 0x00356c3f}}}, + {X: Field{[10]uint32{0x030de2ff, 0x02713a8e, 0x025eb9fe, 0x01e19f3b, 0x005ccc1e, 0x02dbd1d5, 0x0364b1c9, 0x00821c32, 0x03dc3a2f, 0x00173e07}}, Y: Field{[10]uint32{0x01bc0d7d, 0x023ee305, 0x031131b7, 0x0094036b, 0x01e7ff31, 0x03b1cd1c, 0x01dc7005, 0x023977df, 0x031cf6bb, 0x00382c2a}}}, + {X: Field{[10]uint32{0x03e879a7, 0x01999836, 0x023203b8, 0x01c459de, 0x00f8ed24, 0x004cb1a5, 0x00b3f174, 0x03f6d5c1, 0x037eb719, 0x00106d3b}}, Y: Field{[10]uint32{0x0221c85f, 0x0024ee0d, 0x0081ae12, 0x02a8722a, 0x009f44c2, 0x03ab0669, 0x028b459e, 0x0088d736, 0x01b1cbae, 0x0029bf99}}}, + {X: Field{[10]uint32{0x03117af7, 0x01c26a6e, 0x03bdc5c2, 0x00fd01bc, 0x007a4c0a, 0x019013b2, 0x01d16918, 0x02478aa3, 0x032c41f6, 0x0010fb55}}, Y: Field{[10]uint32{0x02481da3, 0x03481cfe, 0x03ac3fd4, 0x024c36be, 0x0390a2b0, 0x02f9351d, 0x02cbbab7, 0x000cd1ae, 0x01b890b4, 0x002dee78}}}, + {X: Field{[10]uint32{0x03397de3, 0x00e39186, 0x02e421c3, 0x0107a17e, 0x0281722b, 0x00bc6557, 0x00bb5260, 0x021a98c5, 0x02192230, 0x00138042}}, Y: Field{[10]uint32{0x03a65fa2, 0x016689fa, 0x02ec4a61, 0x038dc311, 0x00283b44, 0x02f42ee3, 0x0076e7b3, 0x017b6112, 0x011c0347, 0x003c34fc}}}, + {X: Field{[10]uint32{0x0211f36b, 0x03510bfb, 0x01e2241d, 0x00a9f4d5, 0x0045e15d, 0x007b7361, 0x03c385e8, 0x01af3136, 0x00bb7fc8, 0x002cd827}}, Y: Field{[10]uint32{0x009c5f68, 0x00643237, 0x018e20e6, 0x006aa85a, 0x00c30891, 0x01deeea2, 0x00017dc9, 0x00d3fe01, 0x01aca3df, 0x002181f9}}}, + {X: Field{[10]uint32{0x03965b4e, 0x01b90fb7, 0x009d1df9, 0x02dac9c9, 0x02d1bdd6, 0x036c4497, 0x0168cdf6, 0x03ef4def, 0x00b20543, 0x00111798}}, Y: Field{[10]uint32{0x03715fd1, 0x0373c2f1, 0x025b00b5, 0x0148a1e9, 0x03c65f8b, 0x0248b9c4, 0x03fdc7cf, 0x02d1eafa, 0x018a8c4a, 0x00297e91}}}, + {X: Field{[10]uint32{0x00f50fc9, 0x02ed90c4, 0x0364cf9d, 0x01278032, 0x01be875b, 0x03c53062, 0x0359a7be, 0x03267e1a, 0x02279264, 0x001c27e0}}, Y: Field{[10]uint32{0x00960d10, 0x00540c56, 0x0362883f, 0x03ffeaab, 0x013d4903, 0x01a39379, 0x029064b4, 0x034afa29, 0x03f0cd28, 0x0005a009}}}, + {X: Field{[10]uint32{0x01fb4ba3, 0x019ffe4a, 0x00cdbe15, 0x017befc6, 0x008a2e9d, 0x00ccfc87, 0x012e725a, 0x00902e89, 0x000dcbd1, 0x0018aa88}}, Y: Field{[10]uint32{0x020a1347, 0x038fca27, 0x021b7b18, 0x00ac4b7b, 0x001ec328, 0x010f906b, 0x0106b468, 0x02f6f12e, 0x016c7017, 0x00066abf}}}, + {X: Field{[10]uint32{0x0082c09e, 0x03c42b2e, 0x02e11f38, 0x01ff2206, 0x01e12398, 0x000b8aae, 0x01f23898, 0x01191bea, 0x01588ed5, 0x000ae9ce}}, Y: Field{[10]uint32{0x035a25a6, 0x03cf848d, 0x00423721, 0x024ddd46, 0x03d8f8a1, 0x012004d4, 0x02cc45d3, 0x0262bbe1, 0x021c9c0a, 0x003cdf6a}}}, + {X: Field{[10]uint32{0x01005de8, 0x00539bde, 0x02397073, 0x0380d64a, 0x01e266e9, 0x02d677f8, 0x01c0f549, 0x02da6ab9, 0x01cce8fb, 0x00219cae}}, Y: Field{[10]uint32{0x0305af65, 0x025ea1a6, 0x01aa399a, 0x01d699ad, 0x02c411e8, 0x03efe7ab, 0x00aac680, 0x0071e6b7, 0x036aefb6, 0x00083611}}}, + {X: Field{[10]uint32{0x01ab6ab5, 0x015c7a2f, 0x000eda26, 0x03984ccc, 0x031f32be, 0x017b9705, 0x03dbac10, 0x00a665e7, 0x00028420, 0x000cd32c}}, Y: Field{[10]uint32{0x02a574d4, 0x01686216, 0x0038d96e, 0x02d92759, 0x00e4e972, 0x01e7172e, 0x0345bfd5, 0x021e3d1a, 0x019f3da7, 0x002209f6}}}, + {X: Field{[10]uint32{0x01ac6d4d, 0x03c8a68d, 0x01afe602, 0x01391efc, 0x00e9f25f, 0x03d93e07, 0x00cad6a2, 0x03b01cd5, 0x0207d260, 0x000cacc3}}, Y: Field{[10]uint32{0x003c0427, 0x01821d0f, 0x03941856, 0x0223cc18, 0x025c5e36, 0x0049b113, 0x02904181, 0x0241e1bc, 0x030d64ee, 0x001c7ff3}}}, + {X: Field{[10]uint32{0x039a8451, 0x00798028, 0x03a05076, 0x000970e3, 0x033b5ce4, 0x0267a6fe, 0x02401ff2, 0x01398d0f, 0x02587a4b, 0x00394265}}, Y: Field{[10]uint32{0x03bb2ece, 0x00b1196c, 0x03241f13, 0x0059c3f1, 0x00683a39, 0x031acce0, 0x02acccf5, 0x026a1a53, 0x02a86542, 0x001ec0e0}}}, + {X: Field{[10]uint32{0x01d6477d, 0x01ba4c39, 0x026abd31, 0x0084a76d, 0x01ca6841, 0x02cf5e1b, 0x02ea0353, 0x00e6f382, 0x004c2bf5, 0x002ce1cb}}, Y: Field{[10]uint32{0x0101e285, 0x01342402, 0x034f9242, 0x01c48b43, 0x0159391c, 0x02775058, 0x037ed1fa, 0x0321bcec, 0x00afe4c8, 0x0001f381}}}, + {X: Field{[10]uint32{0x0135d07b, 0x0101b7a6, 0x00908f3b, 0x01d28b7e, 0x0006095e, 0x027d3106, 0x0014d964, 0x038eacb9, 0x03df9156, 0x0034ad5b}}, Y: Field{[10]uint32{0x03e3b23f, 0x00ed403b, 0x012aaadc, 0x02bcdc55, 0x03b06a33, 0x011aa397, 0x00b49259, 0x02315aa1, 0x001b6766, 0x00110f0b}}}, + {X: Field{[10]uint32{0x037fbacb, 0x02c56a7c, 0x0208115d, 0x03f58ac2, 0x034e8288, 0x0327d06c, 0x03f32e1e, 0x031d9648, 0x027e1074, 0x0003da61}}, Y: Field{[10]uint32{0x013fca16, 0x01417190, 0x00e58cd0, 0x039dbf74, 0x0368709b, 0x01c6708a, 0x0204c6ed, 0x02945a73, 0x02252a11, 0x003f5b1b}}}, + {X: Field{[10]uint32{0x01e64988, 0x01c362ae, 0x02579626, 0x0261556d, 0x00cae238, 0x0223f33b, 0x00778c86, 0x004706b6, 0x00b4a9ab, 0x002f060c}}, Y: Field{[10]uint32{0x022e3c81, 0x0256b130, 0x01ea5b6d, 0x032c4b6e, 0x028e95cd, 0x00f4323c, 0x039a0faf, 0x0184cc65, 0x0089f3c4, 0x002d8910}}}, + {X: Field{[10]uint32{0x038dbafc, 0x0392d1fc, 0x003b7445, 0x007a887d, 0x02126cfa, 0x03357ee4, 0x004bbe83, 0x027f6a63, 0x0221dc72, 0x003eaeab}}, Y: Field{[10]uint32{0x002d8cdc, 0x00cd8016, 0x01fbcc4c, 0x02eacb02, 0x03177ce1, 0x035abb67, 0x03513b3e, 0x0160cb1c, 0x03756446, 0x0006d5a5}}}, + {X: Field{[10]uint32{0x011f8bd4, 0x00f65b5e, 0x0157b547, 0x000c85b7, 0x03bcd3fc, 0x00923638, 0x012497ea, 0x0130f7e4, 0x01014d5d, 0x0024ce18}}, Y: Field{[10]uint32{0x00936725, 0x00c3e8db, 0x02d951d6, 0x00ae3a01, 0x019e57f2, 0x0129ab5c, 0x033add54, 0x0058f13f, 0x016ac141, 0x000f63f2}}}, + {X: Field{[10]uint32{0x02fd07f8, 0x02a0ffa9, 0x007f2094, 0x00934c05, 0x02da0a43, 0x031ac61b, 0x0146b8ee, 0x00a08165, 0x015f85c4, 0x00314c4b}}, Y: Field{[10]uint32{0x01d2992f, 0x03e01b11, 0x0251beda, 0x03a2cd6d, 0x00332898, 0x035511cd, 0x03be12c8, 0x001d5948, 0x022a79ba, 0x003e2b9b}}}, + {X: Field{[10]uint32{0x0203b057, 0x01202d7c, 0x03388558, 0x00a046a9, 0x01b73b11, 0x02808bd0, 0x0375c4dd, 0x00bd01b6, 0x009652c5, 0x002823c9}}, Y: Field{[10]uint32{0x033eb2e5, 0x0371d14b, 0x00ccc845, 0x0094df13, 0x02191d7a, 0x03b3f8f2, 0x01aa9251, 0x0387657a, 0x03de9ab5, 0x0028e5b1}}}, + {X: Field{[10]uint32{0x00f634df, 0x01792f50, 0x0205bc52, 0x02d626e2, 0x02a036e0, 0x00289469, 0x034b34f0, 0x01be9829, 0x030fe8df, 0x0024f54c}}, Y: Field{[10]uint32{0x01838756, 0x031582dc, 0x03a08f5a, 0x019df454, 0x000c4df5, 0x0321f68a, 0x02774f77, 0x00939575, 0x02ea10f4, 0x0032857e}}}, + {X: Field{[10]uint32{0x02b51fa2, 0x0157e4aa, 0x024f6170, 0x004c3c16, 0x005c35b8, 0x03d94844, 0x010a9941, 0x02dcafa1, 0x03ccdfca, 0x0001188a}}, Y: Field{[10]uint32{0x03ca2d4f, 0x02d07a75, 0x01a8cd29, 0x02918259, 0x00e883d2, 0x0256d4f2, 0x01cd2456, 0x02c95b49, 0x002d31ee, 0x0036581c}}}, + {X: Field{[10]uint32{0x00ef9fe5, 0x03b821b8, 0x00d8807a, 0x00fb45f2, 0x010fb6c8, 0x004e30c3, 0x03a58728, 0x02176652, 0x036c7dd8, 0x0028c980}}, Y: Field{[10]uint32{0x02cb9bf7, 0x00f359cc, 0x01a53489, 0x03871d79, 0x03456a6c, 0x01da2685, 0x00aafcde, 0x028554c7, 0x02693719, 0x002d1973}}}, + {X: Field{[10]uint32{0x02ef77a5, 0x0082d69f, 0x00946b1d, 0x02a6129b, 0x03f3d5e7, 0x03e97154, 0x030c887b, 0x01f9e5c6, 0x017e1963, 0x0008d510}}, Y: Field{[10]uint32{0x01f4bd4b, 0x027d22ca, 0x02d4d216, 0x014cf3d3, 0x01ea7400, 0x03cd3d02, 0x014fbf99, 0x034f2ec9, 0x0321b6ea, 0x002056a5}}}, + {X: Field{[10]uint32{0x03ce6fca, 0x01f322ed, 0x01f9f2b0, 0x00677757, 0x033a4078, 0x008e0435, 0x01a746b0, 0x005d3d73, 0x016dfc53, 0x00274d1b}}, Y: Field{[10]uint32{0x0376c806, 0x00acd5e5, 0x029b9851, 0x000f7c23, 0x014a199b, 0x007a4154, 0x01a8ff9f, 0x00f97295, 0x006b6429, 0x0026db30}}}, + {X: Field{[10]uint32{0x0148dd01, 0x028ccc3f, 0x00564bb5, 0x02d01542, 0x03bba638, 0x03af8843, 0x01f000ad, 0x029edfe5, 0x038ec643, 0x001cf20a}}, Y: Field{[10]uint32{0x0005b614, 0x03c4da42, 0x02f075ff, 0x01737c35, 0x027d2acf, 0x0132caf6, 0x035f61b8, 0x017187f8, 0x0299a088, 0x003ffc55}}}, + {X: Field{[10]uint32{0x00798ac8, 0x00e72fff, 0x011afc9b, 0x02fdb28a, 0x010f2d29, 0x02141ae5, 0x01316728, 0x0357473e, 0x01d5a0b2, 0x0024091a}}, Y: Field{[10]uint32{0x03c3ade4, 0x00f7a247, 0x030d4fa6, 0x036eafa2, 0x03cd78ad, 0x032bf93f, 0x02378bff, 0x01da74d0, 0x0011d71c, 0x0000d5b4}}}, + {X: Field{[10]uint32{0x03110637, 0x03f88f87, 0x00371b1e, 0x03a7f540, 0x00dc4013, 0x0066e251, 0x0123afb8, 0x021bc14d, 0x00fb3a0c, 0x00399c28}}, Y: Field{[10]uint32{0x020b31b8, 0x019677c9, 0x0250a9bf, 0x0382772c, 0x03272557, 0x001f967b, 0x03db5a3d, 0x0372c855, 0x036bcd13, 0x00021a44}}}, + {X: Field{[10]uint32{0x0205c395, 0x034f56e2, 0x005fcb9a, 0x03961255, 0x01b57f11, 0x033ee732, 0x0368e270, 0x02079ac3, 0x006d5265, 0x003cffbc}}, Y: Field{[10]uint32{0x01b8f553, 0x01d55106, 0x012f4ff3, 0x034412c2, 0x01570752, 0x03e97eef, 0x0045176e, 0x0083b313, 0x01971444, 0x000cacba}}}, + {X: Field{[10]uint32{0x016a05bd, 0x02974e4e, 0x02cac70c, 0x02711c74, 0x00f942c0, 0x03306762, 0x00fc28a8, 0x03611158, 0x02633958, 0x001ca8dd}}, Y: Field{[10]uint32{0x035ee1ad, 0x03d1521c, 0x03ba8503, 0x011834bd, 0x01729ce8, 0x000ba363, 0x004b3b84, 0x0041c3da, 0x030e6e12, 0x0037a6c6}}}, + {X: Field{[10]uint32{0x005300b0, 0x00def620, 0x01ae22b6, 0x013ea133, 0x00417289, 0x0243379a, 0x019c3a81, 0x01f7bd04, 0x02d9c43b, 0x000e2de2}}, Y: Field{[10]uint32{0x03d01e6f, 0x039d2a2c, 0x01c8423d, 0x01a77214, 0x010de7cc, 0x02ffccba, 0x0204f175, 0x017d461c, 0x01676c4f, 0x00028605}}}, + {X: Field{[10]uint32{0x0334752e, 0x00563fca, 0x013af68e, 0x0224232f, 0x03540e2e, 0x00653ec8, 0x026fac9e, 0x01f14db1, 0x02c81d2e, 0x0036e5a2}}, Y: Field{[10]uint32{0x02b48a0a, 0x03969cea, 0x00769a24, 0x023bf453, 0x0104179e, 0x018d1c9c, 0x02b4af0a, 0x025caeb1, 0x03ab79d9, 0x00135715}}}, + {X: Field{[10]uint32{0x00aad318, 0x0174d9ea, 0x02435a14, 0x03e65f1c, 0x02505dd4, 0x007b4d6c, 0x0114f28c, 0x01360dc4, 0x02792d3a, 0x000ab385}}, Y: Field{[10]uint32{0x0226f625, 0x0239cfcd, 0x03539cc8, 0x03be86b8, 0x010405b0, 0x01a17db4, 0x0063b87f, 0x01d3933b, 0x012a2468, 0x0014c50c}}}, + {X: Field{[10]uint32{0x01bae108, 0x03e4ebcf, 0x0277e852, 0x0060958c, 0x00bb1fda, 0x0189c9f1, 0x00a46008, 0x0037b76e, 0x02690c39, 0x000cb603}}, Y: Field{[10]uint32{0x00dc7c07, 0x0155ea58, 0x01d08cbd, 0x0048f67c, 0x03bc1c3e, 0x0207df36, 0x03cb3f81, 0x0341a9b4, 0x016fea89, 0x0000f1f6}}}, + {X: Field{[10]uint32{0x02ee3908, 0x0229021d, 0x01521d8e, 0x00379497, 0x03f1bf05, 0x01176cf2, 0x00e61a29, 0x01ad018a, 0x028ae7fe, 0x000fbd27}}, Y: Field{[10]uint32{0x01a123f2, 0x00778200, 0x0092bd3d, 0x009d630f, 0x033ff72d, 0x018c456b, 0x0031b54d, 0x017ec935, 0x035c62f4, 0x0010e071}}}, + {X: Field{[10]uint32{0x009722da, 0x009d508f, 0x006405aa, 0x03996797, 0x000e280e, 0x032235ec, 0x03517d41, 0x00b340e6, 0x00d5cdb8, 0x00214e02}}, Y: Field{[10]uint32{0x037e8f5e, 0x0308a7d7, 0x0200fb4d, 0x000e4b50, 0x023ed18d, 0x005c8890, 0x00a652f8, 0x025899a6, 0x00449b2a, 0x003059df}}}, + {X: Field{[10]uint32{0x03c8584f, 0x0076de07, 0x02f4958c, 0x03cca6b7, 0x03306ee4, 0x02187f32, 0x03520bd8, 0x0017fa15, 0x0083490c, 0x0015cbf5}}, Y: Field{[10]uint32{0x0013f4a5, 0x00000d8d, 0x03ca0be3, 0x0156cc7a, 0x00d38e91, 0x02ced865, 0x00107c06, 0x008c0b3c, 0x01061039, 0x0020ab32}}}, + {X: Field{[10]uint32{0x036e1386, 0x024d60cd, 0x0248138c, 0x01135164, 0x00fa7713, 0x013655b9, 0x02a9a2dd, 0x0328c5d6, 0x03b29aa8, 0x002c72ea}}, Y: Field{[10]uint32{0x02292ec9, 0x0234b759, 0x015fcbc5, 0x03d80300, 0x01265cb2, 0x01050270, 0x021de030, 0x03f7c1ae, 0x00f17f9a, 0x00222330}}}, + {X: Field{[10]uint32{0x036bab20, 0x02eee60b, 0x001a16dd, 0x00359c1c, 0x012c5c96, 0x01269ba0, 0x000a65a1, 0x00c4d1d6, 0x03924239, 0x003e15b2}}, Y: Field{[10]uint32{0x00536674, 0x02540452, 0x03869c55, 0x030b5758, 0x0377d9d6, 0x01704477, 0x01f580f6, 0x0003a664, 0x01ba192c, 0x0030cd44}}}, + {X: Field{[10]uint32{0x0273920e, 0x03f0e9fb, 0x00e230ff, 0x03edb04a, 0x039eed92, 0x015aeece, 0x0042887b, 0x004a78b0, 0x00d4773e, 0x00385807}}, Y: Field{[10]uint32{0x001054ca, 0x02805bcc, 0x00ec96f4, 0x02328142, 0x000a7864, 0x026e87f3, 0x0247c714, 0x01de5bb8, 0x00c8a38c, 0x000601d2}}}, + {X: Field{[10]uint32{0x027c7e72, 0x024a38cd, 0x01534a98, 0x02ae5d22, 0x00e8b37c, 0x0032fc76, 0x02206a5b, 0x0185dd72, 0x00d45ffb, 0x00263b88}}, Y: Field{[10]uint32{0x0273c610, 0x02391958, 0x03c30697, 0x03811486, 0x01854b70, 0x023f1017, 0x02b5e6e8, 0x036d45a2, 0x00e1ea42, 0x000b7d2b}}}, + {X: Field{[10]uint32{0x01fe179f, 0x02b53bb7, 0x00246ec0, 0x0107d6b3, 0x035417bc, 0x03b74784, 0x01cfe95b, 0x024168c7, 0x0257acde, 0x0011e5b2}}, Y: Field{[10]uint32{0x00a367a8, 0x0258a87c, 0x0015f8ff, 0x028d18fe, 0x015bc565, 0x0159308e, 0x03637e59, 0x00e00acd, 0x0122395a, 0x001d04fd}}}, + {X: Field{[10]uint32{0x02341200, 0x01a2f746, 0x01d4006c, 0x00da6aef, 0x03cfd555, 0x01b1f7e7, 0x03627fd5, 0x02c2e356, 0x006438ad, 0x002cd9f2}}, Y: Field{[10]uint32{0x028fba51, 0x0092678b, 0x0349dfd2, 0x03d72715, 0x02b4986c, 0x0089a1c0, 0x002f3657, 0x03a059e6, 0x03440b99, 0x00300d91}}}, + {X: Field{[10]uint32{0x00914d29, 0x01fd29e2, 0x01386a74, 0x00293c9f, 0x00e74076, 0x00837a11, 0x02244c00, 0x037b3df8, 0x004b723d, 0x0036cda2}}, Y: Field{[10]uint32{0x0179e023, 0x03ccccdf, 0x023b40e5, 0x0093f683, 0x03fef90e, 0x037bc3ca, 0x01e07507, 0x00e8f0a8, 0x03cc2a74, 0x0022b921}}}, + {X: Field{[10]uint32{0x01a316c4, 0x0171a826, 0x03123ccf, 0x00b9b1b0, 0x0176b473, 0x007bbd3e, 0x02458213, 0x0084aea3, 0x0018f71c, 0x001965c6}}, Y: Field{[10]uint32{0x013604db, 0x001dd538, 0x035db4cd, 0x00c71c0d, 0x01526a28, 0x00dd8446, 0x0087f391, 0x01434cec, 0x03913533, 0x001057d9}}}, + {X: Field{[10]uint32{0x00ebd65a, 0x0332b1d8, 0x01338fcb, 0x00fe5868, 0x01905390, 0x01fadb36, 0x0182a639, 0x03d2c908, 0x033a13a8, 0x003cbd3a}}, Y: Field{[10]uint32{0x00ef9ca8, 0x0032bf82, 0x00b6e795, 0x00fce8ef, 0x0018811b, 0x03aae3af, 0x02dc8b74, 0x02535c82, 0x027b667e, 0x00295d75}}}, + {X: Field{[10]uint32{0x01113a49, 0x01ad34c7, 0x00a47e8c, 0x01df301a, 0x03884b3f, 0x034f249f, 0x028fa51f, 0x03c318cc, 0x020da058, 0x0028939e}}, Y: Field{[10]uint32{0x010ef78b, 0x01c84bd1, 0x00c81a9a, 0x00559179, 0x010bcee6, 0x00a5c675, 0x032fe3f8, 0x0295a67a, 0x003079ac, 0x002fa36e}}}, + {X: Field{[10]uint32{0x01efad5a, 0x0076dc90, 0x024b8098, 0x029d23c2, 0x0142212d, 0x03af5660, 0x036cc325, 0x005e5df6, 0x00cb77e1, 0x0039668f}}, Y: Field{[10]uint32{0x00a800d9, 0x030b5381, 0x012999d4, 0x005a9281, 0x00d69034, 0x00e268b6, 0x00a10a22, 0x0099a330, 0x0145fdda, 0x002a381d}}}, + {X: Field{[10]uint32{0x024b8f32, 0x03d8183f, 0x00e9f0da, 0x01d6aaa5, 0x01fc6c1a, 0x036afa72, 0x00721f93, 0x002f96fb, 0x0263a3c7, 0x000c646c}}, Y: Field{[10]uint32{0x01f38a96, 0x02c7e657, 0x00491717, 0x009d4f9d, 0x00c7af7b, 0x028f2eac, 0x01a87c4e, 0x026f1caa, 0x02cc1c7a, 0x000ce464}}}, + {X: Field{[10]uint32{0x0187023a, 0x01e1d3e4, 0x014638b9, 0x0394f04e, 0x0012f408, 0x03a0e6c8, 0x0147e275, 0x0376c23f, 0x03c604f9, 0x0018f757}}, Y: Field{[10]uint32{0x0104bd9a, 0x00d72f21, 0x0239b84f, 0x00410588, 0x03067e09, 0x004bbdfb, 0x016cccfd, 0x02df9b51, 0x00b402e8, 0x0006bc12}}}, + {X: Field{[10]uint32{0x031bcf13, 0x036fd2d9, 0x025c12d3, 0x01030ae3, 0x032e1d86, 0x03dd4712, 0x007229b7, 0x004bb32e, 0x0057cd83, 0x0002a4b9}}, Y: Field{[10]uint32{0x03fba768, 0x03ca4b97, 0x00b3f551, 0x013cf56d, 0x02be46ab, 0x0281f59c, 0x00492413, 0x03ad7461, 0x03565447, 0x0035ebb6}}}, + {X: Field{[10]uint32{0x01b10495, 0x0375be0e, 0x035ba6c0, 0x0179617c, 0x004789f5, 0x013c02ed, 0x0320f021, 0x0274880a, 0x0170b9e0, 0x0007b9ae}}, Y: Field{[10]uint32{0x009e9462, 0x03443837, 0x032be3f8, 0x02ef5282, 0x019dcf73, 0x01894a21, 0x023c8a04, 0x03bbd746, 0x03eceff9, 0x001f2443}}}, + {X: Field{[10]uint32{0x0306a76a, 0x03459663, 0x01cebe4f, 0x025cc0a1, 0x001abe9e, 0x00f4121c, 0x0328d7c4, 0x00655c14, 0x03b9c2ac, 0x002c6708}}, Y: Field{[10]uint32{0x03a38398, 0x016ca0cd, 0x00a49274, 0x01f34232, 0x01c60560, 0x038da791, 0x0380f8cf, 0x022dc1bc, 0x01bec07c, 0x001e6a04}}}, + {X: Field{[10]uint32{0x014f49a5, 0x026bbcc0, 0x02016b1e, 0x0262e2ca, 0x014f3fbf, 0x0099a915, 0x00888f5e, 0x017f09f0, 0x039f9ed3, 0x000f0836}}, Y: Field{[10]uint32{0x03fbc4d5, 0x025438d6, 0x009ea7d8, 0x02d733d2, 0x029327c1, 0x02879684, 0x010815a4, 0x0398ebd8, 0x02943f29, 0x002eceb0}}}, + {X: Field{[10]uint32{0x02ea4389, 0x0248b14b, 0x00014f6b, 0x03f0233a, 0x00efa29f, 0x034ce091, 0x02b59040, 0x01ba7913, 0x01bab474, 0x003f4733}}, Y: Field{[10]uint32{0x028df06e, 0x02080ca6, 0x0004097a, 0x014843db, 0x0373961a, 0x010f393a, 0x012439fc, 0x01be43e9, 0x01465214, 0x00384195}}}, + {X: Field{[10]uint32{0x0364020c, 0x03682666, 0x03ab51e2, 0x00a636cd, 0x0183641a, 0x030ac35d, 0x0252dc73, 0x02e29bbc, 0x018eabde, 0x0038c3f4}}, Y: Field{[10]uint32{0x00dce88b, 0x0309304a, 0x01704cfb, 0x00a5abfa, 0x018e195d, 0x01c5bad0, 0x02bcab86, 0x03d20658, 0x02721824, 0x0012598d}}}, + {X: Field{[10]uint32{0x015bda37, 0x0085f9d4, 0x00548e6e, 0x00001550, 0x015cd723, 0x00ea7702, 0x02ea7848, 0x03e4c386, 0x038926dd, 0x0012f07d}}, Y: Field{[10]uint32{0x0200ca69, 0x0133f374, 0x0047163a, 0x01b0a94b, 0x0336d8a2, 0x00d2f66a, 0x00bfa2e7, 0x006c0237, 0x02b695dc, 0x00259acc}}}, + {X: Field{[10]uint32{0x00f036d4, 0x03ffa855, 0x0139aaff, 0x023b51ad, 0x009004f9, 0x03b3a6f1, 0x030f7d26, 0x012e2d03, 0x027b9c86, 0x0008f4f8}}, Y: Field{[10]uint32{0x02c0b05d, 0x01b1e522, 0x026c71b3, 0x02eca24a, 0x01b3dfef, 0x03054354, 0x00143d6a, 0x0289f331, 0x03ebf680, 0x002f9185}}}, + {X: Field{[10]uint32{0x026009c0, 0x0392250f, 0x01aab56d, 0x02472db0, 0x004a5130, 0x01ded730, 0x02e0a894, 0x00edc3d1, 0x03d014cd, 0x000a2b72}}, Y: Field{[10]uint32{0x00e31601, 0x024b33bf, 0x00fdaf4a, 0x031cf7b5, 0x0025040d, 0x00233f93, 0x03250b46, 0x013328e3, 0x00387520, 0x001f126a}}}, + {X: Field{[10]uint32{0x00a29d08, 0x03c867c7, 0x02a0cc86, 0x01ee9517, 0x00ea52ec, 0x003613d8, 0x0044ab87, 0x00208e94, 0x00b8a86f, 0x001dd821}}, Y: Field{[10]uint32{0x001c60db, 0x00d14c96, 0x00b2cd08, 0x01c9615c, 0x03def172, 0x027959f6, 0x010bc384, 0x034942d0, 0x02cb1048, 0x00182eef}}}, + {X: Field{[10]uint32{0x028f2350, 0x03879f48, 0x035fbd4f, 0x02e7b5ab, 0x01e3db94, 0x01811254, 0x019667bc, 0x03bd2257, 0x020ffd32, 0x001177cb}}, Y: Field{[10]uint32{0x03eaf095, 0x035e4618, 0x0399473f, 0x032da2ec, 0x004de155, 0x010592e6, 0x024076ed, 0x03f819a7, 0x024b1a8c, 0x0029cc91}}}, + {X: Field{[10]uint32{0x027dd7ea, 0x027c386f, 0x03ebe7f6, 0x03a1e0f3, 0x008ae9bb, 0x0124e8bf, 0x00bff80c, 0x03f47e9d, 0x036b46a5, 0x001a4125}}, Y: Field{[10]uint32{0x022c3e64, 0x01886bb2, 0x03cfd5ad, 0x0115799b, 0x0030f1df, 0x02802cd0, 0x0241a221, 0x0050d818, 0x01b8df9d, 0x0006741c}}}, + {X: Field{[10]uint32{0x01aef659, 0x00a3a14a, 0x00f0bef5, 0x00d47ba0, 0x03e01def, 0x03a02603, 0x01e805c8, 0x0341d6a3, 0x0328f977, 0x00212761}}, Y: Field{[10]uint32{0x025bf428, 0x00c5652b, 0x006ffedf, 0x026bb1c9, 0x018042dd, 0x0301a743, 0x017adadb, 0x018a0ee7, 0x01c46c88, 0x00361255}}}, + {X: Field{[10]uint32{0x032d58eb, 0x0319d191, 0x01281e27, 0x031fa9a1, 0x0054588d, 0x035d4d2b, 0x03facec8, 0x001b9839, 0x034c2345, 0x0038f592}}, Y: Field{[10]uint32{0x025a36eb, 0x007cd8eb, 0x030efbc6, 0x00e53265, 0x0011a9c8, 0x022ba966, 0x0047baf6, 0x00aa11d1, 0x013ccf82, 0x00128cab}}}, + {X: Field{[10]uint32{0x0063bbaa, 0x021f54d5, 0x03ece0c7, 0x02aba484, 0x02889877, 0x02d9d8e6, 0x036f1323, 0x0168c466, 0x012857d1, 0x003d071e}}, Y: Field{[10]uint32{0x014d9328, 0x018140de, 0x016d07cc, 0x0239fa91, 0x00630c45, 0x014b6777, 0x00075941, 0x01315534, 0x010e00c8, 0x001cf3f3}}}, + {X: Field{[10]uint32{0x01186079, 0x014bf5de, 0x0321d67f, 0x0071079e, 0x030e0cba, 0x02bb64e7, 0x03a4a02c, 0x02e13391, 0x0347047a, 0x00387485}}, Y: Field{[10]uint32{0x01b2b668, 0x006abf9f, 0x02f63af8, 0x019a6b24, 0x01fb26da, 0x0092a040, 0x01728a3e, 0x03028fb6, 0x0228aa4b, 0x0005ec2d}}}, + {X: Field{[10]uint32{0x006ef1d8, 0x0239f736, 0x00c8095a, 0x012e34a4, 0x005d7ddb, 0x014ad36c, 0x009da2dd, 0x019e54c6, 0x018af8f8, 0x002a2800}}, Y: Field{[10]uint32{0x0026518b, 0x02ae9f5a, 0x00c17fc8, 0x035e72ad, 0x0225b927, 0x00d8208f, 0x0180c7e9, 0x02287b7e, 0x006c84b8, 0x0022ee58}}}, + {X: Field{[10]uint32{0x036fffed, 0x03589fdc, 0x038f4cd8, 0x0384f7cc, 0x00e4e0c0, 0x003af698, 0x03a57c05, 0x0179136a, 0x02716ee0, 0x001ce0f1}}, Y: Field{[10]uint32{0x0289f0e0, 0x03625b23, 0x00ba004a, 0x01225487, 0x0338eafd, 0x031df6ab, 0x00cb973f, 0x0129d18e, 0x01465f16, 0x000ef72e}}}, + {X: Field{[10]uint32{0x01372dfd, 0x023e42eb, 0x00c1e085, 0x03d01483, 0x031ca36a, 0x00216018, 0x03e64312, 0x02b25e5a, 0x021c8bc8, 0x00187e9f}}, Y: Field{[10]uint32{0x03eba33d, 0x00d121b0, 0x002078d6, 0x02c252c3, 0x00a5f646, 0x02210778, 0x0287909c, 0x039a50c8, 0x036836c3, 0x000fc359}}}, + {X: Field{[10]uint32{0x02c4a740, 0x00c428ec, 0x0116d3cb, 0x01250efc, 0x00b4f143, 0x03d220aa, 0x0092defc, 0x03180664, 0x022bca0a, 0x002180a7}}, Y: Field{[10]uint32{0x001c2f7c, 0x018edf49, 0x00480154, 0x014f75c2, 0x00ef5f15, 0x004885b2, 0x0261cffd, 0x015bc3cc, 0x006ecd90, 0x002e2fa4}}}, + {X: Field{[10]uint32{0x03ad95cc, 0x011d3013, 0x0390e2f6, 0x02c17f17, 0x0348c4a6, 0x0035ae6a, 0x01d6c4cd, 0x02921d62, 0x03e5912a, 0x00385cbd}}, Y: Field{[10]uint32{0x00acc401, 0x019cf702, 0x00290ea0, 0x01e54027, 0x010d7bfd, 0x022d935f, 0x019920ce, 0x003b4ee2, 0x03c12b0a, 0x003b6f48}}}, + {X: Field{[10]uint32{0x02873494, 0x00df6f8c, 0x00616d1f, 0x01e335aa, 0x032d931c, 0x020e37a4, 0x03b22abf, 0x03f0922d, 0x028d322e, 0x001e61ae}}, Y: Field{[10]uint32{0x02a13634, 0x02f25a04, 0x0201ee6e, 0x034f4edf, 0x002420a5, 0x034a7f83, 0x01b75440, 0x001648c6, 0x03224c75, 0x001a4faa}}}, + {X: Field{[10]uint32{0x01e00383, 0x02319738, 0x01d4603e, 0x034daa2a, 0x03400bb5, 0x034dac4c, 0x000a6d88, 0x01d9cdd8, 0x01384a72, 0x002e9650}}, Y: Field{[10]uint32{0x002ce557, 0x02676fcf, 0x019bd867, 0x0114bd88, 0x03d9c685, 0x00c4162f, 0x03fc9535, 0x0204ac89, 0x0228bc1b, 0x001d1bd3}}}, + {X: Field{[10]uint32{0x00476c8f, 0x02be1a48, 0x006b9802, 0x035cb3c3, 0x036bf96c, 0x02c5de27, 0x02eeb77b, 0x02c45f21, 0x01c992d6, 0x00117fd0}}, Y: Field{[10]uint32{0x0002b59f, 0x035a5c88, 0x015cbec3, 0x021a1ff2, 0x004f522e, 0x009c59f6, 0x010c9e10, 0x038eb880, 0x01bf6422, 0x0024c93d}}}, + {X: Field{[10]uint32{0x016ed68f, 0x00fb30f0, 0x02a7d9a9, 0x0293655d, 0x00d00bad, 0x02199bb5, 0x031c282e, 0x013681c5, 0x0235487a, 0x002eb5e7}}, Y: Field{[10]uint32{0x007b57d2, 0x0354371e, 0x029207a6, 0x005e40e2, 0x005b1535, 0x0076c335, 0x0202e129, 0x021290c6, 0x022eefb1, 0x00064e5e}}}, + {X: Field{[10]uint32{0x023c8a41, 0x0100ef27, 0x01b79cfa, 0x00374d99, 0x0022cf89, 0x025d56ff, 0x004d5835, 0x01d7b183, 0x01072d88, 0x00377f88}}, Y: Field{[10]uint32{0x033f62e7, 0x00ad8211, 0x00d90ce2, 0x00fe1f04, 0x028dbe0d, 0x0230a21c, 0x015674c2, 0x002a2a48, 0x0117491d, 0x00318af6}}}, + {X: Field{[10]uint32{0x027eb299, 0x0203b6d9, 0x03a64b11, 0x01a68f67, 0x00d75942, 0x03be7657, 0x00ccadfb, 0x0248fe5a, 0x0253c07f, 0x002497da}}, Y: Field{[10]uint32{0x01e7809c, 0x00e6582c, 0x010b7b29, 0x00e2e329, 0x0058f000, 0x03e73b92, 0x008b26b7, 0x006399bc, 0x00ff01f9, 0x0004203a}}}, + {X: Field{[10]uint32{0x0320dd80, 0x01e2ea09, 0x00d0d878, 0x0341ac38, 0x0012768b, 0x007c0ebc, 0x025d2c7d, 0x000a0ce3, 0x01dda75f, 0x0030a392}}, Y: Field{[10]uint32{0x010db12b, 0x02116ad7, 0x00a98331, 0x02d35fda, 0x03ec5ae6, 0x0261f859, 0x0112c5b4, 0x02926f31, 0x0189c941, 0x0019c3e2}}}, + {X: Field{[10]uint32{0x00837cbb, 0x03e1b28b, 0x006f37b9, 0x01235650, 0x02b21dae, 0x017a3816, 0x008c196d, 0x016fa206, 0x013e9503, 0x0001ea41}}, Y: Field{[10]uint32{0x003a7e1c, 0x00af43d1, 0x02352e7f, 0x03dbdfef, 0x026de026, 0x03425f5d, 0x00774e79, 0x0252de65, 0x008e8e76, 0x00103b82}}}, + {X: Field{[10]uint32{0x02036aa2, 0x029e7f43, 0x01b956c6, 0x021686d8, 0x02e0b32c, 0x025986c5, 0x008ef81e, 0x00031536, 0x00eabfbb, 0x000cebde}}, Y: Field{[10]uint32{0x03cfd3c0, 0x01231a74, 0x00629d80, 0x022017bd, 0x03153319, 0x03215742, 0x01796440, 0x029e5b13, 0x02af0537, 0x001c4f9e}}}, + {X: Field{[10]uint32{0x01583bd0, 0x0031c812, 0x0163df9a, 0x02901e5f, 0x031326df, 0x01b59d30, 0x02955739, 0x00f4cca5, 0x00145a3f, 0x00316234}}, Y: Field{[10]uint32{0x0053cdfa, 0x00c719ab, 0x020d7375, 0x009232bd, 0x027f7470, 0x03f4b35d, 0x02baa8fc, 0x0336b6ae, 0x03d16c67, 0x002d7033}}}, + {X: Field{[10]uint32{0x0038d29e, 0x02ad48e0, 0x01d5a2f2, 0x00887c3b, 0x0397223f, 0x01924d06, 0x008ef12c, 0x010b19f1, 0x01edb937, 0x0025acf5}}, Y: Field{[10]uint32{0x00e44c4e, 0x007b032c, 0x016aa996, 0x015d2ca3, 0x01bf25fe, 0x0339ed3b, 0x019a2e64, 0x028174dc, 0x00aa38a3, 0x0036d1d7}}}, + {X: Field{[10]uint32{0x0244f0c7, 0x0369dfd5, 0x02782a62, 0x010968a1, 0x001eea3a, 0x01198aa7, 0x00cb00b1, 0x013b9bec, 0x036e3d89, 0x00104bd2}}, Y: Field{[10]uint32{0x02a676fe, 0x026be1bd, 0x031d6f13, 0x0226300f, 0x01a8503e, 0x00e1d10a, 0x03de8139, 0x032016ff, 0x0236ab9b, 0x002a13bd}}}, + {X: Field{[10]uint32{0x00563252, 0x01387eb9, 0x01049379, 0x0312270e, 0x0132fdfd, 0x00cb1063, 0x031421da, 0x00c0a14b, 0x0385c7b4, 0x00097c29}}, Y: Field{[10]uint32{0x0004e4bc, 0x009a20d8, 0x02334a02, 0x03d4771b, 0x02da716a, 0x03afbd01, 0x00953a3a, 0x0242d627, 0x010d4571, 0x003bfac2}}}, + {X: Field{[10]uint32{0x01741c6f, 0x0356293b, 0x02cfde0b, 0x01610c9e, 0x03f02fed, 0x027a8f9f, 0x034403a4, 0x03ebd2b2, 0x02b7f367, 0x00143f52}}, Y: Field{[10]uint32{0x0146dd5f, 0x00c1f18f, 0x0207ea56, 0x033e81e5, 0x022d08ab, 0x02b6c70e, 0x020cb520, 0x03352194, 0x01a73c9d, 0x001e2af0}}}, + {X: Field{[10]uint32{0x006a477a, 0x03efb441, 0x03313bbc, 0x007d2e53, 0x02c35762, 0x00c3c41f, 0x038fa664, 0x01fde4ce, 0x03d4cfaf, 0x00055d60}}, Y: Field{[10]uint32{0x017e8db5, 0x02737a8a, 0x02aaffc0, 0x02359674, 0x01fe35ed, 0x011b5216, 0x00d4355c, 0x0347f983, 0x0235ce8c, 0x0026a9ac}}}, + {X: Field{[10]uint32{0x033300be, 0x00ef1296, 0x03494f4b, 0x037e2f9a, 0x02f2edce, 0x016cd65d, 0x00affc16, 0x00980f91, 0x03625d26, 0x000f112e}}, Y: Field{[10]uint32{0x00bc2535, 0x03b0afcf, 0x007b9079, 0x031c7fdc, 0x021ef0e8, 0x00166054, 0x00d45949, 0x00eae17b, 0x01616797, 0x00222c71}}}, + {X: Field{[10]uint32{0x02298958, 0x0096e3ee, 0x01d935ee, 0x031b821f, 0x008fc5d9, 0x00fc8f31, 0x0371d193, 0x01ae5fcb, 0x024de160, 0x000c7509}}, Y: Field{[10]uint32{0x018251cb, 0x0004641c, 0x032c44ae, 0x02d8b98a, 0x00c8e41d, 0x021556e6, 0x025180c9, 0x007498a1, 0x01c0a3aa, 0x00118182}}}, + {X: Field{[10]uint32{0x0103ad2f, 0x0091eb97, 0x03b78a87, 0x007602a3, 0x03352d1d, 0x037060d2, 0x02b206d3, 0x011c9182, 0x030a8ff1, 0x0007d547}}, Y: Field{[10]uint32{0x0116a6e3, 0x03a8cfb0, 0x03b32ecc, 0x02d94255, 0x00fcb97a, 0x000afb8d, 0x0144f818, 0x02c5236e, 0x0006a4c8, 0x0009094f}}}, + {X: Field{[10]uint32{0x01cf333e, 0x02daed70, 0x003a87aa, 0x01ccaabb, 0x00206a1f, 0x03fd6a31, 0x03343119, 0x02101cc4, 0x021d27f0, 0x00378b13}}, Y: Field{[10]uint32{0x0195170d, 0x0173f8a0, 0x01a71c5a, 0x00ab2cb5, 0x019226ca, 0x007e9263, 0x03f4a8e4, 0x0334e8c7, 0x03a140fe, 0x0037204e}}}, + {X: Field{[10]uint32{0x00a95612, 0x02f13046, 0x01620a54, 0x03462bb5, 0x00c1f54b, 0x00e0b0bc, 0x02c4a22c, 0x012b204c, 0x01b2adf5, 0x001bf717}}, Y: Field{[10]uint32{0x030e221e, 0x03a24565, 0x00d26944, 0x032a9b71, 0x03cf60b0, 0x00748590, 0x00110536, 0x03a53703, 0x00e5f318, 0x0036cfe9}}}, + {X: Field{[10]uint32{0x03680603, 0x01dedcd4, 0x030fc7fd, 0x00342177, 0x00bb7665, 0x035fae84, 0x02ea6f4d, 0x0071468e, 0x02c6ea0e, 0x0031fadd}}, Y: Field{[10]uint32{0x035bf655, 0x011dc4b7, 0x013e0e6f, 0x00e6a0ad, 0x020a4f4a, 0x02f0cbbc, 0x0041c3d7, 0x0024a80f, 0x01d7b788, 0x0016b870}}}, + {X: Field{[10]uint32{0x00aa89ed, 0x004ea632, 0x01857b48, 0x02de0867, 0x021a52c7, 0x00c4afee, 0x00e048e6, 0x022d6d93, 0x01a2b7e7, 0x00320541}}, Y: Field{[10]uint32{0x03096806, 0x0177f037, 0x007fa87d, 0x01fe5ac9, 0x01c222be, 0x0167c0cf, 0x01e49be4, 0x03884578, 0x00426d6c, 0x0011b6ca}}}, + {X: Field{[10]uint32{0x00503bf8, 0x01fae79e, 0x031c90a1, 0x00482f71, 0x00f7dec3, 0x00eb0d42, 0x005ff0d8, 0x030f561c, 0x025515f9, 0x0032b5d4}}, Y: Field{[10]uint32{0x026bd719, 0x02704b1b, 0x034c52d1, 0x039496da, 0x0106231b, 0x00e39358, 0x012ddc76, 0x036e5fb3, 0x020276cf, 0x000cacda}}}, + {X: Field{[10]uint32{0x024cdd25, 0x03a4036f, 0x03fabc70, 0x0196094c, 0x00f17f3c, 0x035ac576, 0x02ca8a47, 0x01f8c15b, 0x0144e22b, 0x00253488}}, Y: Field{[10]uint32{0x03d93bf9, 0x006a1351, 0x02e5f612, 0x00b5e6d2, 0x03828bf7, 0x03404932, 0x01dfbbdb, 0x00be1762, 0x020d5fef, 0x0004b01d}}}, + {X: Field{[10]uint32{0x016731a3, 0x004ae2e4, 0x022253b1, 0x027f03cb, 0x0213cba1, 0x01c86f78, 0x03520407, 0x01807f77, 0x0023ef00, 0x000c9717}}, Y: Field{[10]uint32{0x022498e0, 0x02397bb5, 0x0370e962, 0x02c91763, 0x015cb38c, 0x01931f4a, 0x03f3dd30, 0x00590e64, 0x0398c09c, 0x001674f2}}}, + {X: Field{[10]uint32{0x01ee2318, 0x01b61864, 0x00a7cda9, 0x00e0f9fd, 0x027d1874, 0x006f7f69, 0x02515168, 0x020c5928, 0x0089544b, 0x0027241c}}, Y: Field{[10]uint32{0x0372d20d, 0x00639be0, 0x00911d97, 0x037a7ef9, 0x01547117, 0x03089416, 0x00539eb5, 0x0018c0d9, 0x02e7e701, 0x003d8e77}}}, + {X: Field{[10]uint32{0x002b7a82, 0x03e60d4c, 0x03fc0f32, 0x0373ab06, 0x01ec5544, 0x01e93ee0, 0x032a1d89, 0x0301b132, 0x0007ede9, 0x000d3c52}}, Y: Field{[10]uint32{0x016d9c57, 0x007ca902, 0x024828d0, 0x019d75af, 0x003c54c3, 0x01a2f79a, 0x0318813a, 0x0288a3d7, 0x028cec6a, 0x001e10de}}}, + {X: Field{[10]uint32{0x0239788b, 0x01ed8005, 0x00d75388, 0x03fc30d1, 0x01490b47, 0x032e07f7, 0x03d459af, 0x0020a380, 0x030b3f08, 0x00252634}}, Y: Field{[10]uint32{0x002522f7, 0x00da14b9, 0x03d2ece1, 0x02cd59f3, 0x00677865, 0x01461ea7, 0x001627dc, 0x02f8fac9, 0x0305b97a, 0x001e9720}}}, + {X: Field{[10]uint32{0x0354f226, 0x0114bd5d, 0x038c876d, 0x03ffaee5, 0x025d4f36, 0x00f3be23, 0x013ec32d, 0x01b8dea9, 0x036fefd3, 0x003ae823}}, Y: Field{[10]uint32{0x012015c1, 0x031f8e2f, 0x01470608, 0x01e1340a, 0x0339e171, 0x00e32f82, 0x03eade9b, 0x015329eb, 0x02b543aa, 0x003f8399}}}, + {X: Field{[10]uint32{0x0240091b, 0x0251211c, 0x01e504c7, 0x02f664b3, 0x02c8ef49, 0x03a326f3, 0x0119b77a, 0x005ca7d8, 0x03c20bd2, 0x00155752}}, Y: Field{[10]uint32{0x03437b54, 0x0046731f, 0x00315d30, 0x03fe953e, 0x036c9052, 0x024fad29, 0x02869415, 0x0078ccb2, 0x01b86952, 0x003333af}}}, + {X: Field{[10]uint32{0x03fe8872, 0x03c21ec3, 0x01823679, 0x03b31a4b, 0x013f3060, 0x005c8f51, 0x0333833d, 0x00d1d10b, 0x039c19da, 0x000cdca6}}, Y: Field{[10]uint32{0x0034fc30, 0x02f59317, 0x00800b4a, 0x001f5faf, 0x00fac2f0, 0x02fee011, 0x00854056, 0x03d813ae, 0x024f283a, 0x002a52da}}}, + {X: Field{[10]uint32{0x01f1dc11, 0x03857803, 0x03c32d8a, 0x03835131, 0x0378124e, 0x00eae4b3, 0x03b060a7, 0x0119e191, 0x009fafe6, 0x000a86a2}}, Y: Field{[10]uint32{0x008b75d8, 0x0017fcff, 0x01218986, 0x0341fbe4, 0x0275aba0, 0x01b6efc3, 0x02ba46be, 0x007e39a1, 0x023d3bf1, 0x00189be5}}}, + {X: Field{[10]uint32{0x00197d6f, 0x02f2c2df, 0x027fff2d, 0x02cd38e4, 0x01639148, 0x0162ecbd, 0x0062f702, 0x039bf3ff, 0x014ca303, 0x0011c0a1}}, Y: Field{[10]uint32{0x031e1156, 0x011111f5, 0x02c5195c, 0x02cc3cec, 0x022da76e, 0x00164dcb, 0x0075c2de, 0x0095f345, 0x01b28513, 0x001f6898}}}, + {X: Field{[10]uint32{0x01319c5b, 0x01f165b3, 0x00e03485, 0x03f5f681, 0x0351d90c, 0x01b9279e, 0x0015cae0, 0x008e8194, 0x01c5a0cc, 0x001c00bb}}, Y: Field{[10]uint32{0x03db73bb, 0x00f88c30, 0x02975db6, 0x015a13f1, 0x0178c47b, 0x027f5845, 0x012d2ae1, 0x02a961eb, 0x01bd06b7, 0x001bca11}}}, + {X: Field{[10]uint32{0x0348d485, 0x02b7c2db, 0x00ae67c1, 0x0321c976, 0x03f4cc5b, 0x00755143, 0x0169f057, 0x018436c8, 0x00d4483d, 0x0009cca5}}, Y: Field{[10]uint32{0x03d942b1, 0x0221d2d9, 0x036d3726, 0x030473ee, 0x02a71e3c, 0x0208e6a8, 0x039a0031, 0x03278280, 0x01a20ffe, 0x00266c90}}}, + {X: Field{[10]uint32{0x018c9a69, 0x00d7a3fa, 0x00e83b03, 0x00ab134a, 0x010710c7, 0x02a14a97, 0x0126a535, 0x02d103eb, 0x03823055, 0x0006fb33}}, Y: Field{[10]uint32{0x038aecfc, 0x03780fde, 0x03489e2f, 0x00597892, 0x002c5db7, 0x0351c7ab, 0x00ce0a40, 0x03b881f2, 0x0166ac0e, 0x0003cead}}}, + {X: Field{[10]uint32{0x03128160, 0x02386494, 0x02197fae, 0x008dde24, 0x00a19023, 0x023f99cb, 0x0149caec, 0x00f54d76, 0x02cf4f03, 0x0036f93b}}, Y: Field{[10]uint32{0x01aa566f, 0x00f51f35, 0x00a1f5fd, 0x0018702a, 0x01896fc8, 0x012583f1, 0x0241c722, 0x00396d58, 0x03c7927f, 0x002cfd42}}}, + {X: Field{[10]uint32{0x01bd1e20, 0x03b3d28e, 0x02631133, 0x0212c2b8, 0x03caf7f4, 0x03715cff, 0x011887a5, 0x0031a516, 0x0075bed8, 0x001990ff}}, Y: Field{[10]uint32{0x038d58e5, 0x02d717e1, 0x03b7a1f8, 0x0270a4f0, 0x038ec1e6, 0x031289b8, 0x001875fd, 0x01f24eeb, 0x0285f7ac, 0x00011c04}}}, + {X: Field{[10]uint32{0x01422a21, 0x00d0bf81, 0x03f14516, 0x00daf298, 0x03ef19d9, 0x00fe0839, 0x01582805, 0x0335781c, 0x03decf1d, 0x00267e42}}, Y: Field{[10]uint32{0x019cd4fd, 0x034b5e6e, 0x01e2a180, 0x0064cfe4, 0x025cfd77, 0x02fafab5, 0x0390a868, 0x01856c14, 0x01306dfc, 0x0028137f}}}, + {X: Field{[10]uint32{0x02e33433, 0x00774ca1, 0x0033eaad, 0x01f81270, 0x00bcf71f, 0x024ad59e, 0x03b4e351, 0x02dff917, 0x02483184, 0x001539f3}}, Y: Field{[10]uint32{0x00c0e8ef, 0x033b2205, 0x02c3c4de, 0x0118f1a8, 0x024d4f85, 0x01fd3938, 0x028b85cb, 0x0272de0e, 0x033b65ba, 0x0032b0a0}}}, + {X: Field{[10]uint32{0x03f02e08, 0x01a1ae12, 0x027d31f7, 0x0058a558, 0x034705aa, 0x03d2a65c, 0x00f4e7b8, 0x0264f911, 0x024ffb60, 0x0033e192}}, Y: Field{[10]uint32{0x036f1bde, 0x01db1f36, 0x02a51af2, 0x0145dd12, 0x016b8a19, 0x03a62f7c, 0x01db874c, 0x03ad3519, 0x020fb736, 0x001ea634}}}, + {X: Field{[10]uint32{0x0159d1ae, 0x001c849b, 0x03f26c9e, 0x01141829, 0x02a25693, 0x02a62bf8, 0x022cd457, 0x03fe456b, 0x00d6516f, 0x001bfc58}}, Y: Field{[10]uint32{0x00eedc4a, 0x017065ed, 0x034deaff, 0x03b4007c, 0x017db5d5, 0x0143e71d, 0x038b4153, 0x0042b393, 0x0355bf14, 0x001747c4}}}, + {X: Field{[10]uint32{0x035dfcc9, 0x007f9327, 0x01a46f23, 0x016cdc0b, 0x01a56fe3, 0x018a1f6a, 0x037f2a2c, 0x009a4075, 0x0262aefd, 0x00026b6e}}, Y: Field{[10]uint32{0x03b04161, 0x017c54ea, 0x02e7e482, 0x010d0765, 0x012e708d, 0x034b12f7, 0x03126aff, 0x00d66c01, 0x0045cb4a, 0x002e963b}}}, + {X: Field{[10]uint32{0x00a2402d, 0x0038aa85, 0x035d652c, 0x0183a773, 0x02b5d900, 0x00b0437f, 0x00ea9457, 0x03712335, 0x001ebbdc, 0x000813a9}}, Y: Field{[10]uint32{0x0036ae38, 0x03de02eb, 0x01809789, 0x00c8fb02, 0x02fb0b9e, 0x024929be, 0x005db8a9, 0x00bcf2cb, 0x01aca195, 0x001eca22}}}, + {X: Field{[10]uint32{0x03c8ba22, 0x02b3a5d7, 0x0296a82a, 0x0243a109, 0x02a4b4f1, 0x008349ae, 0x01a6826c, 0x00c45089, 0x0269364d, 0x003df5b1}}, Y: Field{[10]uint32{0x039d3470, 0x019e9721, 0x03d1636f, 0x03d12c32, 0x031ff47c, 0x02cf1d86, 0x027d160c, 0x00e31401, 0x0177b425, 0x00056aec}}}, + {X: Field{[10]uint32{0x01352587, 0x019bc9df, 0x03f0dcb4, 0x019116d5, 0x01e50a7e, 0x000af488, 0x0066e00c, 0x00a31e2c, 0x030a87dd, 0x001ef134}}, Y: Field{[10]uint32{0x00c294d4, 0x032ae5b4, 0x0152ec68, 0x030481ad, 0x026efbc9, 0x032c1287, 0x026e0c9f, 0x00059369, 0x00542e7e, 0x003d3b52}}}, + {X: Field{[10]uint32{0x02316ef1, 0x01250ec7, 0x009d7856, 0x0086d094, 0x01c200eb, 0x027c818a, 0x005dfb95, 0x02fb9b09, 0x0184b046, 0x00155109}}, Y: Field{[10]uint32{0x00580d82, 0x000c6a52, 0x02280905, 0x018b4676, 0x02a29c41, 0x000fcb93, 0x026353a1, 0x007b6599, 0x0171c811, 0x000b8aaa}}}, + {X: Field{[10]uint32{0x01dce1eb, 0x01a7992c, 0x02dccbcd, 0x01ca107c, 0x020923f8, 0x02a32996, 0x0224c973, 0x0240f9c4, 0x00c0de88, 0x00239f7e}}, Y: Field{[10]uint32{0x01d2a0cc, 0x0390f049, 0x0066252a, 0x0388d325, 0x03c31205, 0x007eea36, 0x0147873f, 0x01b5479c, 0x00839ae8, 0x0039054c}}}, + {X: Field{[10]uint32{0x0251de8f, 0x011bd471, 0x024915d5, 0x0324d6f6, 0x01b84a9b, 0x017eb81e, 0x0169d066, 0x02a86095, 0x01dc69d8, 0x0019c8c8}}, Y: Field{[10]uint32{0x03ef005f, 0x00f5bdb9, 0x00188d33, 0x03c5acd3, 0x02f977b1, 0x000e9bbb, 0x0009ab18, 0x0225f6fa, 0x030b8708, 0x0022b590}}}, + {X: Field{[10]uint32{0x01ac3abc, 0x003d1ca2, 0x01bfc2d2, 0x026bda4f, 0x001b8beb, 0x02175da6, 0x00327182, 0x026c0148, 0x03c143e9, 0x003d38ae}}, Y: Field{[10]uint32{0x01651a2a, 0x02fc2c57, 0x03a897ea, 0x00f8817a, 0x036d80e9, 0x0033509b, 0x0322b7f7, 0x003aacb9, 0x00f5dc33, 0x00395264}}}, + {X: Field{[10]uint32{0x0139ffff, 0x004d3c43, 0x01ad8009, 0x0119ad7f, 0x0272694f, 0x00170582, 0x03c72758, 0x00963241, 0x025fc6d2, 0x0016a8ea}}, Y: Field{[10]uint32{0x00ea9531, 0x03018012, 0x0244a7f4, 0x02632c1d, 0x023146aa, 0x03d9c330, 0x003e82b5, 0x02be96e1, 0x0170617e, 0x0008b5c8}}}, + {X: Field{[10]uint32{0x03e2e7ef, 0x03ac021e, 0x00383be3, 0x03a9170d, 0x009e9a31, 0x02de18cf, 0x033acbd1, 0x01266b1a, 0x03f9d2bf, 0x000d1d4b}}, Y: Field{[10]uint32{0x001104f8, 0x01b6d1cb, 0x03edd91a, 0x02a60c1a, 0x0339d73c, 0x03d9f22e, 0x037d0763, 0x03621947, 0x03742cf3, 0x002d4fa8}}}, + {X: Field{[10]uint32{0x03047327, 0x00d4d989, 0x02d6b517, 0x018b6cae, 0x01889770, 0x001a7871, 0x01b4c9b5, 0x0113dc36, 0x022402ea, 0x00359409}}, Y: Field{[10]uint32{0x02b16f2d, 0x00547f12, 0x02c288c7, 0x00861b6c, 0x02d80143, 0x015cdd5f, 0x034db3fb, 0x02a2fb00, 0x019af2f2, 0x0014bd72}}}, + {X: Field{[10]uint32{0x011f4cc9, 0x024f0c00, 0x032acb45, 0x02a7b576, 0x010915d4, 0x007ce6af, 0x024a0e0b, 0x00097f45, 0x02c6553d, 0x0014aceb}}, Y: Field{[10]uint32{0x00e2f8c9, 0x029dc5fd, 0x03ba2432, 0x02f3839e, 0x0377af18, 0x00c6c975, 0x00016839, 0x02caee75, 0x00021c17, 0x0014551d}}}, + {X: Field{[10]uint32{0x027ef9ca, 0x02551fa0, 0x01b174d9, 0x01bae93e, 0x02eaa0ec, 0x022de704, 0x03284186, 0x02489049, 0x037ef797, 0x00232ed9}}, Y: Field{[10]uint32{0x000183f2, 0x0243e601, 0x00e19ae5, 0x0262ffb7, 0x0292974f, 0x0046d82f, 0x0240ec64, 0x004c4ada, 0x01b8b07e, 0x0028ca02}}}, + {X: Field{[10]uint32{0x0131d47b, 0x01c938f5, 0x022487f1, 0x035b0c5e, 0x013f89f2, 0x01d1cd2e, 0x00b1564d, 0x03c5f7a5, 0x01e0e2ee, 0x00363d57}}, Y: Field{[10]uint32{0x02b7d770, 0x00fa4b26, 0x02930052, 0x01317821, 0x00fa7dc6, 0x009c7993, 0x0016f71f, 0x018dc381, 0x02f5da57, 0x003a7f51}}}, + {X: Field{[10]uint32{0x016b6fdb, 0x0133d88d, 0x02b79d0f, 0x03b7b52e, 0x03a4ddb8, 0x01ddc5a7, 0x01573014, 0x02cc7fe7, 0x01bbfaa2, 0x003e9bf2}}, Y: Field{[10]uint32{0x0357d494, 0x01083803, 0x01b331b4, 0x033e7de0, 0x0043a2ad, 0x012c4476, 0x02fd1e4d, 0x01e431eb, 0x03cddfdd, 0x002dbfd5}}}, + {X: Field{[10]uint32{0x01b58e9a, 0x00fc2758, 0x02ae6bb9, 0x005d94f9, 0x00f93590, 0x02eb4126, 0x03752d9a, 0x03b765a7, 0x028ce748, 0x0008e7c0}}, Y: Field{[10]uint32{0x00f8b516, 0x013a3b05, 0x02f7c064, 0x028a46f6, 0x01d55c8a, 0x02dec50b, 0x02463b7b, 0x03dae9ee, 0x02b78831, 0x0005f7ff}}}, + {X: Field{[10]uint32{0x025e4f3b, 0x03e3dd25, 0x017bd99a, 0x00523c96, 0x00ecad3c, 0x00e26ee9, 0x0071db05, 0x025dbe67, 0x03fb728d, 0x000bbdb2}}, Y: Field{[10]uint32{0x01b0fd00, 0x006d83de, 0x00273b41, 0x010b3c5d, 0x03deeef5, 0x0364e8de, 0x01ebe8c1, 0x001e30fc, 0x03a7a382, 0x0006689e}}}, + {X: Field{[10]uint32{0x03064a0e, 0x025d764c, 0x0343698b, 0x011f614d, 0x021a4292, 0x00dde1c7, 0x03042f13, 0x00c57a23, 0x032b9af8, 0x0025cb5c}}, Y: Field{[10]uint32{0x024fd28b, 0x02bd36ea, 0x021d4f40, 0x00fc97f7, 0x02a5c2ae, 0x012f2ee8, 0x02380fee, 0x00ee1d02, 0x03baba4c, 0x000c2054}}}, + {X: Field{[10]uint32{0x02062a4c, 0x03c9d1db, 0x02ed33c4, 0x03b6bd08, 0x02e788bc, 0x0215052f, 0x03aa2951, 0x0263c60c, 0x0334ba49, 0x000f4de2}}, Y: Field{[10]uint32{0x02c4c8a3, 0x03686a3c, 0x0017093e, 0x00e34dd6, 0x013c3d52, 0x027dd700, 0x0087b502, 0x03e46602, 0x019c9217, 0x0011a915}}}, + {X: Field{[10]uint32{0x015c3087, 0x03e20b4e, 0x011e376b, 0x03c9f591, 0x02b13d70, 0x02f8ecd8, 0x032b289a, 0x02ceabf4, 0x003b1fc1, 0x003eec80}}, Y: Field{[10]uint32{0x00dfdabd, 0x028c5701, 0x00a81653, 0x00753906, 0x03f28e5b, 0x0305f6c0, 0x02b96bb9, 0x00d8a933, 0x02a5c462, 0x0025f219}}}, + {X: Field{[10]uint32{0x037a0471, 0x0137a3e1, 0x0247e6e1, 0x02debed6, 0x00295efd, 0x016389b1, 0x03d27a92, 0x02c7e802, 0x014e8eea, 0x0000a3ea}}, Y: Field{[10]uint32{0x01d23276, 0x016a4242, 0x022a5514, 0x0065345d, 0x03622219, 0x0233a743, 0x007b5e20, 0x03a3cf03, 0x010af2ee, 0x003dd867}}}, + {X: Field{[10]uint32{0x01308ae9, 0x033283be, 0x00f25c12, 0x00cc21e6, 0x014be272, 0x03ea3f8a, 0x0227ede6, 0x030455c5, 0x02857eb9, 0x0011c228}}, Y: Field{[10]uint32{0x024fa449, 0x00dae472, 0x00c3550e, 0x019821ea, 0x02854034, 0x02a4b3d5, 0x020ab601, 0x00e642cb, 0x01642e77, 0x003cd7e6}}}, + {X: Field{[10]uint32{0x0048a62f, 0x013cbe26, 0x02c6a636, 0x032cdad8, 0x02a82427, 0x00f3bb5b, 0x00903dcb, 0x02e1d362, 0x00976ff4, 0x0024d020}}, Y: Field{[10]uint32{0x015f3c6f, 0x033ed8fa, 0x020aeff3, 0x012262f1, 0x03daf64d, 0x0282eafd, 0x032d4fe0, 0x019d926a, 0x0162d4e2, 0x0038969a}}}, + {X: Field{[10]uint32{0x020ddf9a, 0x01676f1c, 0x03cac039, 0x037495b2, 0x039e0d24, 0x02959988, 0x0195da93, 0x00072b8c, 0x03a08182, 0x003d290a}}, Y: Field{[10]uint32{0x02000f86, 0x0349f802, 0x0396a60f, 0x0239c8c3, 0x0110bd4c, 0x01ce44a1, 0x01194afe, 0x03bfc1d7, 0x03cc0be3, 0x0023f49b}}}, + {X: Field{[10]uint32{0x03a6240c, 0x006c59b8, 0x009919c5, 0x03bed06c, 0x03791cac, 0x025f82a5, 0x0339ef61, 0x03350033, 0x0216e65b, 0x00316b69}}, Y: Field{[10]uint32{0x016eb8c3, 0x000229fe, 0x011a04a7, 0x01e9834d, 0x01cc2678, 0x02441aba, 0x01b0b323, 0x0318b721, 0x0168fe41, 0x00393197}}}, + {X: Field{[10]uint32{0x00c640e7, 0x02b84020, 0x002baca2, 0x01215844, 0x01e8b1fa, 0x00186969, 0x017c62e5, 0x03646f2f, 0x02c3d3f1, 0x001f064f}}, Y: Field{[10]uint32{0x03873ccd, 0x01672b65, 0x0333a26b, 0x01a0752c, 0x0103b8e0, 0x02294da1, 0x000ff310, 0x0023cf90, 0x00955114, 0x00331f3e}}}, + {X: Field{[10]uint32{0x011bd3c3, 0x0000ac2b, 0x016f1d96, 0x01547b1c, 0x0122b763, 0x039a8706, 0x01656293, 0x03c4a0c8, 0x01438e7c, 0x001dd509}}, Y: Field{[10]uint32{0x03d2137f, 0x02fe0022, 0x007c4deb, 0x00c80306, 0x01edf7d9, 0x022182be, 0x006eec20, 0x00def864, 0x029d212c, 0x000dd1c5}}}, + {X: Field{[10]uint32{0x03d90992, 0x02643d89, 0x02c5a3b9, 0x010f9536, 0x00bb48ff, 0x002af46a, 0x01c0f7f9, 0x039e1be9, 0x0399fa75, 0x0024b754}}, Y: Field{[10]uint32{0x0311b7ba, 0x0152484f, 0x029a406e, 0x00c664cb, 0x00ee4932, 0x031b14d2, 0x025c824a, 0x020f830b, 0x028ef937, 0x00172c6f}}}, + {X: Field{[10]uint32{0x0293157d, 0x01b77bf5, 0x00b376eb, 0x029ede87, 0x004f66e7, 0x0294cbf8, 0x03550532, 0x03ae4042, 0x0028468e, 0x00305dc2}}, Y: Field{[10]uint32{0x019a2e11, 0x01f492a0, 0x02bc2d2e, 0x0269de9d, 0x02070e5e, 0x0186b928, 0x029e262f, 0x01f51ff4, 0x003da014, 0x00036959}}}, + {X: Field{[10]uint32{0x036378c8, 0x03f7732b, 0x00ad533c, 0x0396fa2a, 0x01a8baab, 0x0044e4bf, 0x009a5341, 0x03948919, 0x0116e90a, 0x0004dcb8}}, Y: Field{[10]uint32{0x00346af9, 0x00adb972, 0x004d6e9b, 0x03ccaf16, 0x011d0a1c, 0x02369bd1, 0x038c2aaf, 0x01d6ef70, 0x00a26957, 0x0017bef5}}}, + {X: Field{[10]uint32{0x01dda936, 0x00b61a99, 0x00c008f3, 0x03eb840e, 0x0105e2b7, 0x03cc24a7, 0x01520097, 0x028acaf3, 0x021e9fa1, 0x000aef7c}}, Y: Field{[10]uint32{0x039d45ec, 0x0280b24c, 0x0364cb0b, 0x0331610e, 0x011806eb, 0x02a20cd8, 0x02c0dcd2, 0x02f77185, 0x01986008, 0x00146de2}}}, + {X: Field{[10]uint32{0x013005e1, 0x010e2f5d, 0x03f7f6a7, 0x01f09bb8, 0x039b63cc, 0x01bc8485, 0x0230d49e, 0x017b5de0, 0x00a4d049, 0x000d9a53}}, Y: Field{[10]uint32{0x00bc0af8, 0x02a8345c, 0x039075f5, 0x02da56d7, 0x03a87f48, 0x00635499, 0x031e17db, 0x02c4ccff, 0x03f3bbdc, 0x000b9278}}}, + {X: Field{[10]uint32{0x032013b8, 0x01225600, 0x027e85e6, 0x01cdaee2, 0x036fbc13, 0x004f12ab, 0x0113bf8d, 0x03850e9a, 0x00b1dc9c, 0x00090f61}}, Y: Field{[10]uint32{0x027f28bf, 0x02af56db, 0x02b91108, 0x020cb7ff, 0x0021a3dd, 0x037b1784, 0x023c2dc6, 0x031c77ff, 0x03adb6be, 0x0000e4c5}}}, + {X: Field{[10]uint32{0x0191ec92, 0x02550acb, 0x0185de03, 0x037bc641, 0x020ba6df, 0x0284aa3f, 0x00eab821, 0x03cfda0e, 0x03875255, 0x00076220}}, Y: Field{[10]uint32{0x0324b489, 0x0080dfcc, 0x012bc46c, 0x02b76f64, 0x039ccabd, 0x00bc2bbc, 0x0233538d, 0x03e05575, 0x03e2e919, 0x002a74e2}}}, + {X: Field{[10]uint32{0x01be3765, 0x01be6b2c, 0x00955645, 0x00a1e920, 0x015512d6, 0x01d0dd47, 0x0160e2aa, 0x00cddbdd, 0x03754c0d, 0x000e6887}}, Y: Field{[10]uint32{0x0035e005, 0x00baa750, 0x031bde0b, 0x02c4e914, 0x01ef4950, 0x0156ed12, 0x00188c4d, 0x035e78ef, 0x00a52a7f, 0x000f3cc9}}}, + {X: Field{[10]uint32{0x002e21c8, 0x0249e3ad, 0x029e948d, 0x007e9595, 0x0118ab0a, 0x00b19fdb, 0x01394a95, 0x0177ca87, 0x020cd8e2, 0x002843fd}}, Y: Field{[10]uint32{0x01f9e991, 0x013d4083, 0x03237bfd, 0x00d7c0b2, 0x0389fd2b, 0x03e2451c, 0x000c0bd4, 0x00bbe077, 0x01633ce8, 0x002d17cb}}}, + {X: Field{[10]uint32{0x03bcbcb1, 0x031167ad, 0x022b25bb, 0x03377092, 0x01bb801a, 0x01ae5c7e, 0x011f7a64, 0x010bdc41, 0x03920d50, 0x002f09a5}}, Y: Field{[10]uint32{0x01235665, 0x00d6f5dc, 0x031f478b, 0x0378760f, 0x02c7fab6, 0x0248175f, 0x0301530c, 0x00818586, 0x01fc1c03, 0x002dc111}}}, + {X: Field{[10]uint32{0x0037cb95, 0x00709024, 0x00da99a6, 0x0123daf3, 0x025f0ef4, 0x0076d110, 0x02a7f95d, 0x00da0aa0, 0x01fefd5a, 0x000f5c9e}}, Y: Field{[10]uint32{0x00159740, 0x01980bdc, 0x021622de, 0x024c3364, 0x019a2ea1, 0x02e89253, 0x0342cca2, 0x016df88a, 0x02cae636, 0x0037d489}}}, + {X: Field{[10]uint32{0x00dbe588, 0x00b0b57a, 0x02e2fd55, 0x03439085, 0x01bc439a, 0x0146cf54, 0x036c2bd9, 0x02bc02e4, 0x0130ef92, 0x0038315b}}, Y: Field{[10]uint32{0x00555fee, 0x0212ceda, 0x03e0f064, 0x031e921c, 0x03f35189, 0x01d9a683, 0x01bd1862, 0x01711103, 0x037d02a7, 0x0030af45}}}, + {X: Field{[10]uint32{0x0073315b, 0x0266b89e, 0x03c15d99, 0x00c909ca, 0x00f0d6e3, 0x00d2ebc7, 0x00398306, 0x02fd4bf6, 0x00e52b7b, 0x0026fe58}}, Y: Field{[10]uint32{0x018d0405, 0x0188e1c7, 0x001c9066, 0x03df6732, 0x01551862, 0x02914dce, 0x0016cb16, 0x007732c0, 0x019d20e0, 0x0002ca1c}}}, + {X: Field{[10]uint32{0x00351198, 0x0120280d, 0x019dc0d5, 0x0117511f, 0x0287fffb, 0x011d5f83, 0x017a6b14, 0x029c6b98, 0x016be60b, 0x000837c6}}, Y: Field{[10]uint32{0x02eb07d8, 0x003387c9, 0x020ae996, 0x01610bfb, 0x02f12ba3, 0x02b42aea, 0x03d49539, 0x001c6e81, 0x01430c0d, 0x00271c8b}}}, + {X: Field{[10]uint32{0x029bac17, 0x01998772, 0x036330a2, 0x01c48ed7, 0x00455a5f, 0x02055260, 0x019693d0, 0x02d02e51, 0x01360208, 0x000210f0}}, Y: Field{[10]uint32{0x02f12078, 0x0137d1bc, 0x00edec9b, 0x008e19dc, 0x02d0c74f, 0x0076e950, 0x011820d3, 0x03f1034b, 0x018d9095, 0x00356d6f}}}, + {X: Field{[10]uint32{0x008d11a0, 0x02f1c890, 0x01c03e05, 0x032dcbe7, 0x03708a3f, 0x02d1b5bb, 0x024ee0ca, 0x007a837a, 0x00df702c, 0x0024426d}}, Y: Field{[10]uint32{0x02dc507a, 0x03b322e5, 0x03242cf4, 0x031e44ee, 0x007348e9, 0x030b0c09, 0x03151954, 0x020072d4, 0x02c18be5, 0x001d6ea8}}}, + {X: Field{[10]uint32{0x0191113c, 0x03bbcf16, 0x02db2329, 0x00b8dc9f, 0x018e5155, 0x0080f167, 0x02dff03c, 0x02a6ec4a, 0x01f5c960, 0x003c4334}}, Y: Field{[10]uint32{0x028c465a, 0x03c2fc57, 0x0151b8f3, 0x03191e58, 0x009d2e03, 0x03fb998b, 0x01746898, 0x036a9859, 0x00e16f65, 0x002a12b2}}}, + {X: Field{[10]uint32{0x00e747a8, 0x03f9ab44, 0x03a071ea, 0x03437d62, 0x010ae0d6, 0x02297d4e, 0x0077b69a, 0x0180beb4, 0x013cffd3, 0x0027c1dc}}, Y: Field{[10]uint32{0x03ee867b, 0x03579723, 0x00afe58c, 0x00e95e5c, 0x01cbb4ea, 0x020be3b0, 0x003d7357, 0x02420f37, 0x007342b5, 0x002b7f32}}}, + {X: Field{[10]uint32{0x0195801a, 0x018cd0b3, 0x019f3640, 0x01b2c483, 0x005ce9ec, 0x03fe25e3, 0x032b870f, 0x015cd04e, 0x010e3290, 0x001b4767}}, Y: Field{[10]uint32{0x0031018f, 0x0153e31a, 0x010efba1, 0x025e48b9, 0x0325a3f5, 0x00eef738, 0x0345f7c2, 0x02d80935, 0x00a895d3, 0x001942f9}}}, + {X: Field{[10]uint32{0x00dcbd82, 0x0083319b, 0x03fa7128, 0x026771d9, 0x015c649f, 0x0387ec52, 0x027791c7, 0x033251e8, 0x01a56b3a, 0x00125c61}}, Y: Field{[10]uint32{0x03e6568c, 0x01aa5443, 0x01c3df5b, 0x02fdd060, 0x00f33ce5, 0x039d5968, 0x00078b2f, 0x0386c5f9, 0x037c11da, 0x001f5446}}}, + {X: Field{[10]uint32{0x000a743f, 0x0153fcc4, 0x030a2c31, 0x02f85291, 0x019a35f7, 0x00b361f0, 0x01b8bc75, 0x03ae7137, 0x00f9848e, 0x003ffdce}}, Y: Field{[10]uint32{0x032c38ec, 0x03fcdccb, 0x01df57bd, 0x02685c21, 0x00211b97, 0x01171628, 0x0037cdcf, 0x00f25dda, 0x0255cd91, 0x00041ae2}}}, + {X: Field{[10]uint32{0x001b4830, 0x024086e6, 0x00e38ccb, 0x03d177f2, 0x0141899e, 0x01f58005, 0x026876a3, 0x011b2d11, 0x01a48d35, 0x000c80e4}}, Y: Field{[10]uint32{0x0251b102, 0x01c48159, 0x0000f09c, 0x01f798ce, 0x0323fa2d, 0x015c1ed2, 0x002f3032, 0x0250479d, 0x0030b455, 0x0011bd8c}}}, + {X: Field{[10]uint32{0x0185fe9e, 0x005b8017, 0x013f9adf, 0x001848a0, 0x00558791, 0x01d8c7c6, 0x0137f7fb, 0x03a2349a, 0x0240a925, 0x002f9133}}, Y: Field{[10]uint32{0x036e1dc4, 0x02c0998a, 0x0089324d, 0x032a6906, 0x02ca6948, 0x03d12db8, 0x02806d4b, 0x01b719f9, 0x01e7d22e, 0x0005d56b}}}, + {X: Field{[10]uint32{0x0333ddae, 0x00810d73, 0x012ddeeb, 0x002d0cea, 0x03da6aa8, 0x019bf0a8, 0x03b05314, 0x035827e0, 0x02b158dd, 0x00234fc1}}, Y: Field{[10]uint32{0x0337af63, 0x011c1752, 0x01f2c4c7, 0x0106630f, 0x02f1d0a6, 0x02f4ba50, 0x036e5f4d, 0x0144eee2, 0x0299efde, 0x000b5552}}}, + {X: Field{[10]uint32{0x01596729, 0x03aa11a4, 0x02627210, 0x01d1d0ad, 0x00d0c71d, 0x00153f30, 0x01c1cb3a, 0x03d54c95, 0x039cf258, 0x003e0529}}, Y: Field{[10]uint32{0x032d867d, 0x004fdd68, 0x002dc318, 0x022bb7ae, 0x010271ce, 0x0347cf51, 0x0080c42f, 0x02d2c88f, 0x0095be48, 0x0000467f}}}, + {X: Field{[10]uint32{0x0142fb60, 0x0399097a, 0x03ec8109, 0x03efbe45, 0x01d77e57, 0x038ab4c1, 0x0262bfbe, 0x03c76d76, 0x01461c37, 0x00257a3f}}, Y: Field{[10]uint32{0x00e2db93, 0x000c0a82, 0x00d09a03, 0x03f8c1ad, 0x01d3d5b1, 0x002d162e, 0x01ace316, 0x033686a9, 0x031edfdb, 0x003770a2}}}, + {X: Field{[10]uint32{0x03981e77, 0x02ac3a29, 0x02149e2d, 0x0303d0db, 0x026f4e5c, 0x03f08209, 0x0320604c, 0x02205af1, 0x03fc47e1, 0x00301950}}, Y: Field{[10]uint32{0x03021441, 0x00d20c65, 0x0234ee66, 0x00c45fb1, 0x01281854, 0x00653327, 0x034819ac, 0x029f0844, 0x0065f3a4, 0x000881c1}}}, + {X: Field{[10]uint32{0x00d5c68e, 0x025c21ad, 0x001caa2b, 0x0142f580, 0x010fd5b0, 0x037b6138, 0x014d116b, 0x02bbe928, 0x015b3716, 0x001260f6}}, Y: Field{[10]uint32{0x03f0a279, 0x036b8b01, 0x01b0280c, 0x0299beb0, 0x00f5e609, 0x02f4efbf, 0x03d47bce, 0x033450cc, 0x026da2ef, 0x0004dcd0}}}, + {X: Field{[10]uint32{0x02afe6ab, 0x0332560f, 0x03ef61fd, 0x03b79adc, 0x03ad8054, 0x01782143, 0x022cd092, 0x012e5cee, 0x00c692e8, 0x0028af57}}, Y: Field{[10]uint32{0x02a5ce2b, 0x02c9d9f9, 0x02a4e4f0, 0x025e5e56, 0x0133d8d7, 0x027e0093, 0x019011b9, 0x006c7985, 0x038af914, 0x003329b9}}}, + {X: Field{[10]uint32{0x036d741a, 0x026353da, 0x02b60bf6, 0x0098c45e, 0x00b8f852, 0x00d9f421, 0x0076281b, 0x0139ce54, 0x0231a18f, 0x00187264}}, Y: Field{[10]uint32{0x026cbfe5, 0x0102051b, 0x019299d3, 0x02c19f52, 0x01af886d, 0x02823006, 0x00616090, 0x0074c192, 0x03979e7f, 0x00208c52}}}, + {X: Field{[10]uint32{0x02b34304, 0x0182ff5a, 0x00db73ed, 0x00bdb1af, 0x02d4072a, 0x0244cc86, 0x03114fc7, 0x014a64e9, 0x03ef32c5, 0x001296b3}}, Y: Field{[10]uint32{0x020c03c9, 0x006c15a6, 0x024da9f6, 0x02252bfe, 0x0301323e, 0x012c9b6f, 0x03f9f296, 0x0166c9a6, 0x0229c068, 0x0001ca56}}}, + {X: Field{[10]uint32{0x037f4023, 0x03d6da2e, 0x02d487d4, 0x004d085a, 0x02604e50, 0x0197b2b1, 0x036dcb6c, 0x012530ac, 0x0355866f, 0x0038119d}}, Y: Field{[10]uint32{0x00b336b3, 0x01690b0c, 0x02029d9e, 0x01d4a3b3, 0x01ae9459, 0x0098626b, 0x032f9558, 0x03e86fd4, 0x03c5974d, 0x0037ab40}}}, + {X: Field{[10]uint32{0x03215ea7, 0x03034aee, 0x0059640d, 0x01808211, 0x01c4e8be, 0x016c788c, 0x014ca74b, 0x017f7d6d, 0x0305c926, 0x001a1bf7}}, Y: Field{[10]uint32{0x017ea7da, 0x018794f5, 0x01710b65, 0x03cb1640, 0x03c93723, 0x03fcd9de, 0x02f950eb, 0x02e5d02b, 0x021cedf9, 0x003d350f}}}, + {X: Field{[10]uint32{0x03d21253, 0x017b2ee2, 0x01cb9fce, 0x009347c5, 0x03e2bcd9, 0x00365b4b, 0x022b7d7b, 0x02c833a9, 0x018500f9, 0x000491da}}, Y: Field{[10]uint32{0x03522004, 0x03785b4a, 0x03842e32, 0x03c90f75, 0x033f1950, 0x010e2702, 0x027b356b, 0x013f190e, 0x00b39e90, 0x0034d0df}}}, + {X: Field{[10]uint32{0x02d17b1b, 0x0220098a, 0x0324e453, 0x007b4be9, 0x03b5eb1e, 0x0027d95e, 0x03322910, 0x0326cb96, 0x00ec9a87, 0x00195af7}}, Y: Field{[10]uint32{0x012fa64d, 0x00f738be, 0x01d116aa, 0x00c345f0, 0x030cdfc8, 0x03f7023f, 0x03f704b3, 0x0393dfd8, 0x010c47b6, 0x0031dd23}}}, + {X: Field{[10]uint32{0x0083e4b5, 0x02fae5ad, 0x0004c3ae, 0x00f983af, 0x027a3d40, 0x020f3b44, 0x0279b244, 0x00584832, 0x010e0f72, 0x0016dfdc}}, Y: Field{[10]uint32{0x03b08080, 0x03dca12f, 0x0386b698, 0x01caf65a, 0x0011db4b, 0x0396a7bb, 0x00196e8d, 0x022bb98d, 0x03a7f068, 0x0006d455}}}, + {X: Field{[10]uint32{0x01e6b4da, 0x034f4128, 0x00deabc8, 0x00f6074b, 0x01254521, 0x003e4361, 0x015bf184, 0x029bd55e, 0x02d0552b, 0x002ff299}}, Y: Field{[10]uint32{0x01754e75, 0x01b746bc, 0x0069084b, 0x0282f776, 0x00223043, 0x0032ce84, 0x00c46383, 0x01095f01, 0x00cc290d, 0x0012442c}}}, + {X: Field{[10]uint32{0x00496f16, 0x01980ca2, 0x009247f5, 0x006f3b1c, 0x001447c1, 0x0015ef45, 0x018f8ef2, 0x032ef91e, 0x028fb79d, 0x00198fe9}}, Y: Field{[10]uint32{0x03c41786, 0x009ea9a0, 0x03951f2b, 0x028aacc3, 0x00a42597, 0x00747d08, 0x005598a9, 0x02f48f62, 0x02fa1f3b, 0x000eb38b}}}, + {X: Field{[10]uint32{0x015c4321, 0x017c7792, 0x03004608, 0x02b82033, 0x017c1675, 0x0379a289, 0x02f2f86e, 0x02e3c87f, 0x03338a3d, 0x0009f338}}, Y: Field{[10]uint32{0x00d373ae, 0x01aa0ac9, 0x01c294b1, 0x027f68aa, 0x037aefa6, 0x018f53f7, 0x0144a002, 0x0391cbac, 0x018c8bab, 0x001c55af}}}, + {X: Field{[10]uint32{0x00bd9560, 0x016f1359, 0x00ce35aa, 0x012c703a, 0x03b727be, 0x00f15d7b, 0x027940e1, 0x017026f8, 0x02c452ec, 0x00352701}}, Y: Field{[10]uint32{0x038d18b0, 0x01d48e39, 0x033c2f51, 0x022551b7, 0x015d7ad7, 0x02680d8d, 0x0266469f, 0x004029ca, 0x0118b298, 0x000b194d}}}, + {X: Field{[10]uint32{0x004ad08a, 0x0005fdd5, 0x01129cfa, 0x03f442bf, 0x023d7bf4, 0x01034ef5, 0x00ecd251, 0x02009b4f, 0x007ebd02, 0x001a5820}}, Y: Field{[10]uint32{0x020e7c7c, 0x02bab024, 0x03f4cf7b, 0x020eaa6a, 0x036f9a63, 0x02f69af7, 0x03cb5465, 0x03eb9cad, 0x004f28be, 0x0029e141}}}, + {X: Field{[10]uint32{0x01f8faa1, 0x02d4c94f, 0x03aa1ede, 0x03156953, 0x02fc9263, 0x0295f6eb, 0x0375abeb, 0x00e9c68e, 0x033654b6, 0x0020e0af}}, Y: Field{[10]uint32{0x0049b011, 0x003f3c42, 0x026dcb6d, 0x00f6515d, 0x02dc9bef, 0x0189d987, 0x021da269, 0x032d4d11, 0x01dcc319, 0x003817ae}}}, + {X: Field{[10]uint32{0x02b0bffb, 0x0168f452, 0x0379acc4, 0x026bd814, 0x02b7e705, 0x02a4cbc8, 0x008cca9f, 0x021db9e3, 0x037930ec, 0x00200ee4}}, Y: Field{[10]uint32{0x01e5790f, 0x02bc1195, 0x01152b52, 0x03745f34, 0x01cb90d1, 0x01e1a51c, 0x03ec7d0b, 0x03470b1b, 0x001c5202, 0x001f6c8d}}}, + {X: Field{[10]uint32{0x02c5292c, 0x022e8474, 0x03e08f99, 0x003a2591, 0x02cb78fb, 0x01cfeac0, 0x0165ff4f, 0x02ba7c44, 0x01290ab6, 0x0032d36c}}, Y: Field{[10]uint32{0x03d1c9c2, 0x01506235, 0x02e9ef61, 0x00235d53, 0x02745c24, 0x02ecd9bf, 0x0280ad65, 0x00e12ed6, 0x039a1776, 0x000332bb}}}, + {X: Field{[10]uint32{0x00d115a2, 0x014ab37b, 0x0179aa81, 0x01ee1325, 0x038fd6af, 0x0301c3f1, 0x038be8af, 0x03d9c8e0, 0x035750e9, 0x003eaca1}}, Y: Field{[10]uint32{0x00b3f065, 0x00452430, 0x024956c3, 0x00c7671b, 0x03764ee9, 0x02ba14c0, 0x017d3b83, 0x0158b54e, 0x002889cd, 0x003567f8}}}, + {X: Field{[10]uint32{0x0249bbc1, 0x00092159, 0x0376c198, 0x01335a96, 0x02fbdf84, 0x0020cf84, 0x02e3f036, 0x03b8f43d, 0x02baf870, 0x003761e7}}, Y: Field{[10]uint32{0x0143c55a, 0x011c5b26, 0x038f7309, 0x00ab1a94, 0x00b041a1, 0x0355a5b2, 0x03a324c1, 0x01704775, 0x00c3a99a, 0x0039eec1}}}, + {X: Field{[10]uint32{0x00f8016e, 0x03330120, 0x00d8ed00, 0x01d06d7e, 0x031df68f, 0x0095cac4, 0x01319d57, 0x01a87b6a, 0x03be29b0, 0x001ea92b}}, Y: Field{[10]uint32{0x03fe7130, 0x0252c5d4, 0x00d2dc9d, 0x00364df0, 0x02423fd0, 0x0080ae5c, 0x002e3c13, 0x02161dfc, 0x029fb77b, 0x00057de6}}}, + {X: Field{[10]uint32{0x0039f890, 0x03933163, 0x0168ba19, 0x03a455c7, 0x00c34354, 0x00b5b998, 0x03fee64f, 0x00c99575, 0x03f5876a, 0x0024517c}}, Y: Field{[10]uint32{0x0285d8ff, 0x03368a2c, 0x036c998e, 0x00755d9a, 0x0337650c, 0x0284235b, 0x009ba7fd, 0x027f416f, 0x015dcf36, 0x0011782a}}}, + {X: Field{[10]uint32{0x0111ac9e, 0x03dd03d1, 0x0131713d, 0x03224688, 0x00a5a7f6, 0x001dfcf7, 0x0337afa2, 0x0004347b, 0x035236fb, 0x0015142d}}, Y: Field{[10]uint32{0x026ba175, 0x03c0603f, 0x01ef08b6, 0x00e99c42, 0x0313ff56, 0x037b4b5e, 0x021084d3, 0x03e1b537, 0x015762be, 0x0029f1fb}}}, + {X: Field{[10]uint32{0x00666a0f, 0x00b3e230, 0x001b84c3, 0x01bf44d4, 0x01bbf276, 0x0105f41d, 0x00256d67, 0x0378b32e, 0x01725e48, 0x002e9b03}}, Y: Field{[10]uint32{0x0125e442, 0x0061bcf9, 0x006405ed, 0x012e46f3, 0x02bdecd6, 0x0296640c, 0x02da6693, 0x00a67d43, 0x01327137, 0x00334aa4}}}, + {X: Field{[10]uint32{0x0205c921, 0x036dece5, 0x00b0553a, 0x0276ab56, 0x01d25a64, 0x0263ef7d, 0x011006b7, 0x03aed1bf, 0x01ff1fee, 0x002e5208}}, Y: Field{[10]uint32{0x01077c05, 0x03162afe, 0x0365a72d, 0x02bbbb10, 0x01f45ccf, 0x015d2bf3, 0x003d950c, 0x024a8b1f, 0x03a079bb, 0x00085626}}}, + {X: Field{[10]uint32{0x01a0681d, 0x0221e7c3, 0x01f8198f, 0x037a4f58, 0x00432f14, 0x02a58f32, 0x00e0d7a5, 0x01f1dadc, 0x0046497f, 0x001190d9}}, Y: Field{[10]uint32{0x01c83a5f, 0x03982352, 0x012398a3, 0x0396cfb2, 0x0348c367, 0x03a89797, 0x01a8aab5, 0x03604043, 0x024e90c4, 0x000a4d12}}}, + {X: Field{[10]uint32{0x00c1ae1d, 0x02c2ce39, 0x00d0802b, 0x005d6ea8, 0x01bd3be9, 0x02f2c33c, 0x019185b7, 0x0042f925, 0x02c6a2e2, 0x002f6396}}, Y: Field{[10]uint32{0x01b1fa19, 0x03c22a8b, 0x000a94ed, 0x0069f0fb, 0x0269c6f7, 0x03b22229, 0x03773a5e, 0x025d5769, 0x03e46dcc, 0x001ace06}}}, + {X: Field{[10]uint32{0x01f22493, 0x03463fe6, 0x0231974c, 0x024ece50, 0x017fb645, 0x022b39db, 0x00c34055, 0x029e943d, 0x021ac428, 0x00309f07}}, Y: Field{[10]uint32{0x019cf57c, 0x013e4671, 0x004a4954, 0x03cf0178, 0x0025108a, 0x02a7d665, 0x031884cf, 0x01ece872, 0x0261c12f, 0x003f2575}}}, + {X: Field{[10]uint32{0x03eb30d5, 0x00ebc89d, 0x03c029e5, 0x00050103, 0x0044c17c, 0x0364119b, 0x028168ee, 0x01329549, 0x0161837e, 0x00285d95}}, Y: Field{[10]uint32{0x02c28eb5, 0x022d9b2d, 0x015aecfc, 0x01d743e8, 0x033032c7, 0x0039b8bd, 0x0255d0b3, 0x0222ff35, 0x01e2b8d4, 0x00228b7b}}}, + {X: Field{[10]uint32{0x01ddbea9, 0x03a63060, 0x02f93b03, 0x00de0c03, 0x00e9eea7, 0x01e2e8da, 0x029279f6, 0x0332461f, 0x030d35ca, 0x000afda4}}, Y: Field{[10]uint32{0x0225209d, 0x03e81a79, 0x00db46e2, 0x00c30d74, 0x02d0f3f9, 0x0232a385, 0x03ee5383, 0x022ec0ff, 0x01433aaa, 0x00228b53}}}, + {X: Field{[10]uint32{0x0077c8d7, 0x019a9c1a, 0x0056a6a0, 0x01680e96, 0x00a36d08, 0x019d5649, 0x03005f4d, 0x02bbf643, 0x03259cc5, 0x001d9a9d}}, Y: Field{[10]uint32{0x00049190, 0x03078cd2, 0x03dc4171, 0x0012fd02, 0x0090b46d, 0x03a4e3bc, 0x01bfad15, 0x038b9fc1, 0x00974fd9, 0x0036cfeb}}}, + {X: Field{[10]uint32{0x00461268, 0x024bfe46, 0x03242887, 0x038e6a44, 0x02134196, 0x025cca76, 0x00c333c0, 0x0087517f, 0x00cd953f, 0x00349698}}, Y: Field{[10]uint32{0x010c7863, 0x03c9339e, 0x0270f397, 0x026240d4, 0x00a07ad5, 0x008d4a60, 0x03874e71, 0x020d7f6e, 0x03e8bd04, 0x00226fca}}}, + {X: Field{[10]uint32{0x02d95d68, 0x03f90a72, 0x000b360d, 0x021a3286, 0x019bf569, 0x01997abf, 0x021f467b, 0x0096c99c, 0x029e8b71, 0x0031eca3}}, Y: Field{[10]uint32{0x0295c398, 0x030ea9e7, 0x02167b37, 0x00d1d91a, 0x009ec7bf, 0x02f291da, 0x03947ed8, 0x02d869c7, 0x0158b3a7, 0x0002b0a3}}}, + {X: Field{[10]uint32{0x0059bc24, 0x02cd375f, 0x03a97ce8, 0x01803c7d, 0x0120c291, 0x033f3a61, 0x022d7a74, 0x0230a6b6, 0x008ac61f, 0x0038a948}}, Y: Field{[10]uint32{0x01c70830, 0x0367d6cf, 0x00e4a880, 0x009dddff, 0x03a152ce, 0x03a438e0, 0x034483b4, 0x02281332, 0x02144970, 0x00037a2e}}}, + {X: Field{[10]uint32{0x02e205b1, 0x0112b7c4, 0x03ca53e8, 0x000620a1, 0x016976e0, 0x0150259f, 0x032b152a, 0x037e574e, 0x00cd02e8, 0x00387a39}}, Y: Field{[10]uint32{0x03bfc9e2, 0x03633bd0, 0x02491a77, 0x025fd51a, 0x020d34aa, 0x008cdc8f, 0x03f00918, 0x0151ef2c, 0x02f9cdc7, 0x002976f1}}}, + {X: Field{[10]uint32{0x012b6512, 0x0152fc27, 0x0375bea4, 0x02cee257, 0x023c3143, 0x03cec70a, 0x02284803, 0x013954ac, 0x02514a68, 0x002c83c2}}, Y: Field{[10]uint32{0x000d02c9, 0x0376a5ba, 0x02c31e0e, 0x02173513, 0x00f7c955, 0x0250681f, 0x000b0c31, 0x00345027, 0x0380676d, 0x002f0f6c}}}, + {X: Field{[10]uint32{0x0029d3ec, 0x029a5a83, 0x009499cf, 0x0326e5d2, 0x039582cb, 0x001eb25b, 0x00d9d8d4, 0x02fdde53, 0x0123b1ad, 0x002dc69a}}, Y: Field{[10]uint32{0x00b4f151, 0x03f38699, 0x03b1c89b, 0x03b9d9e7, 0x027b6d75, 0x00e31cb4, 0x03113c8d, 0x01563ee4, 0x03899d59, 0x001d4608}}}, + {X: Field{[10]uint32{0x03d3bb3f, 0x013571a9, 0x01a65200, 0x017c3677, 0x00a82f41, 0x01d595e2, 0x00ef76c0, 0x00e34633, 0x01ac68ba, 0x003291eb}}, Y: Field{[10]uint32{0x028701df, 0x02b41412, 0x0137842f, 0x0130e5a7, 0x02ccd845, 0x00597f56, 0x0035385e, 0x00ce0910, 0x00ab1b78, 0x0002f566}}}, + {X: Field{[10]uint32{0x0140e441, 0x03e6740b, 0x025eea45, 0x0313667d, 0x014fb989, 0x03757932, 0x034eeece, 0x03a7ba7e, 0x0148acee, 0x0017eb78}}, Y: Field{[10]uint32{0x033831f0, 0x00775335, 0x031cb5e6, 0x032ce50f, 0x0015afd1, 0x02374b00, 0x01104cac, 0x015606b1, 0x023ae82e, 0x002e9bf2}}}, + {X: Field{[10]uint32{0x025f84e9, 0x02b698ff, 0x0049e8ad, 0x014798ce, 0x02e834c8, 0x0073cc3e, 0x000ba01a, 0x033c0024, 0x01d214fc, 0x001d9f72}}, Y: Field{[10]uint32{0x00404639, 0x00c85799, 0x017d69ee, 0x03466b86, 0x0101a5bc, 0x03f5f2ff, 0x02b97a52, 0x003958b5, 0x0111aca3, 0x00231942}}}, + {X: Field{[10]uint32{0x024f06d9, 0x01c5e2df, 0x0286b91d, 0x035d1df9, 0x01523544, 0x030f01b6, 0x02a7648f, 0x00a88176, 0x0161445e, 0x0009fe3e}}, Y: Field{[10]uint32{0x02a73a60, 0x01f37f60, 0x00172042, 0x010886fa, 0x02379332, 0x02de7977, 0x0196bce6, 0x01efa5d5, 0x032782cd, 0x000e4442}}}, + {X: Field{[10]uint32{0x033de668, 0x000c594f, 0x035bc6a4, 0x02260e5c, 0x008a1b28, 0x01e77792, 0x024070bf, 0x01792eb6, 0x005b343b, 0x00237812}}, Y: Field{[10]uint32{0x02d5729d, 0x033eb883, 0x021431c2, 0x01ca0c0b, 0x0212fbba, 0x03164492, 0x011c1a44, 0x0383df5f, 0x03676f43, 0x00240c15}}}, + {X: Field{[10]uint32{0x012df0ff, 0x03973165, 0x01fe1b68, 0x0287bb25, 0x005b6af8, 0x039c030a, 0x038d3188, 0x03a2ba2a, 0x036c8770, 0x001790f6}}, Y: Field{[10]uint32{0x006c7aa6, 0x00a90e54, 0x01f90ae0, 0x00f4dc1d, 0x009aeebb, 0x0179671e, 0x02a10911, 0x02f3f8e8, 0x028dd85f, 0x001a2098}}}, + {X: Field{[10]uint32{0x01a4ed54, 0x0047d096, 0x037a0893, 0x00f3b7fa, 0x03610286, 0x00b7c508, 0x00af4e35, 0x00c0379f, 0x02ab4bf4, 0x001f6cae}}, Y: Field{[10]uint32{0x038e8a84, 0x0009bf85, 0x000cbd33, 0x01328f53, 0x01e553a8, 0x02164273, 0x03fbbcd6, 0x0112f8c0, 0x01a2fbbb, 0x000e1d58}}}, + {X: Field{[10]uint32{0x0196c6f1, 0x0134436e, 0x00bbefc0, 0x0332aee4, 0x00cdbefd, 0x00cb6cf9, 0x03df9e82, 0x01a21f47, 0x01253910, 0x0025b6a1}}, Y: Field{[10]uint32{0x03f9edcc, 0x00f4c026, 0x00509402, 0x024adff3, 0x0345948c, 0x0370cca1, 0x035d6513, 0x01cd067e, 0x02314912, 0x001949c6}}}, + {X: Field{[10]uint32{0x01d50613, 0x029e122b, 0x03b0081b, 0x003eb2e5, 0x0264cd4c, 0x00e2d217, 0x03a51fa8, 0x004a13d6, 0x01cb14eb, 0x00213bfc}}, Y: Field{[10]uint32{0x02febd9e, 0x01e314a9, 0x004fc7f5, 0x0044cbca, 0x03609f45, 0x033a0631, 0x01e602b6, 0x002a35ec, 0x01c8a654, 0x000249b2}}}, + {X: Field{[10]uint32{0x02adfbbe, 0x00665078, 0x017057fe, 0x02489756, 0x00416e6a, 0x02fe5280, 0x02e60007, 0x00a83fd7, 0x03718e2a, 0x0007ae58}}, Y: Field{[10]uint32{0x0005b855, 0x027da84c, 0x01bb009c, 0x008f3fc3, 0x02d3cf05, 0x00018e6a, 0x03d40115, 0x0377eb70, 0x02d89635, 0x00121c2a}}}, + {X: Field{[10]uint32{0x03bdc098, 0x01372e1d, 0x03fd8d45, 0x0287dda0, 0x03c75fd4, 0x02bc64f7, 0x01a8696b, 0x03cc1c6f, 0x036a6ea3, 0x000a6528}}, Y: Field{[10]uint32{0x03856766, 0x00b1312f, 0x02eb3fc8, 0x000c6dda, 0x009969bf, 0x025bf4fa, 0x006bd0be, 0x00f5335e, 0x00eea727, 0x0039197a}}}, + {X: Field{[10]uint32{0x0126c414, 0x01d63567, 0x03c00237, 0x032edfcb, 0x01d2b68f, 0x038b65f6, 0x01b115b5, 0x015e8b0a, 0x0370f3d3, 0x000979fe}}, Y: Field{[10]uint32{0x0356c4f2, 0x0099dcfc, 0x02631fed, 0x00c3beb2, 0x00206b73, 0x00ea1aae, 0x0130fa01, 0x02257afd, 0x0370a3bb, 0x00125668}}}, + {X: Field{[10]uint32{0x007c0623, 0x035624cd, 0x020ea0df, 0x01496221, 0x03c3945c, 0x0359af16, 0x030481a2, 0x01aef867, 0x039880bf, 0x003f0e1f}}, Y: Field{[10]uint32{0x009d67c4, 0x0198faed, 0x001ff16e, 0x01d03042, 0x027ba332, 0x00d1812a, 0x01d07af7, 0x03c0ca72, 0x000e83ca, 0x002275ee}}}, + {X: Field{[10]uint32{0x0201e1d4, 0x000ca53f, 0x03a99e2f, 0x02d00217, 0x00ef5c00, 0x03c5ddc8, 0x0220fa82, 0x0327f840, 0x0368c25f, 0x003142bc}}, Y: Field{[10]uint32{0x017579fb, 0x02532dae, 0x0131ba42, 0x003e5e32, 0x0327d9f1, 0x03a52bde, 0x012b80d9, 0x00c25024, 0x03264198, 0x0030ddde}}}, + {X: Field{[10]uint32{0x00041f94, 0x01d85f84, 0x01bea7c9, 0x0121553d, 0x00d7015c, 0x010697c8, 0x02003629, 0x0366ea8b, 0x0109d524, 0x00283e74}}, Y: Field{[10]uint32{0x010e9ad0, 0x00f18a9c, 0x019f1daf, 0x00e80e9a, 0x012eae92, 0x01915838, 0x0277ff2c, 0x0384200f, 0x0002daa5, 0x000a3147}}}, + {X: Field{[10]uint32{0x00316de1, 0x0218a8d2, 0x03a285da, 0x008f2f37, 0x032138bc, 0x0020012c, 0x03271389, 0x02dc2161, 0x02270058, 0x00107449}}, Y: Field{[10]uint32{0x001b9673, 0x037d3c1f, 0x02999d29, 0x029243ac, 0x00341d90, 0x03545764, 0x015f4513, 0x033b2572, 0x0029153b, 0x000189dc}}}, + {X: Field{[10]uint32{0x0299ca87, 0x003e159b, 0x0221cfb8, 0x02335875, 0x02577444, 0x00ceb6ce, 0x03afb77e, 0x03d50f64, 0x00cefe6c, 0x00251316}}, Y: Field{[10]uint32{0x004d66b5, 0x01cc5c0a, 0x03056e74, 0x022adf5e, 0x02329495, 0x01af2c88, 0x011c5576, 0x031c5f2a, 0x001c9b7f, 0x00301c7b}}}, + {X: Field{[10]uint32{0x02437145, 0x02afafef, 0x00635f2b, 0x01645ca4, 0x009a27be, 0x023baed6, 0x0029bf18, 0x01c73a70, 0x0312e06d, 0x000cc1ea}}, Y: Field{[10]uint32{0x0061d213, 0x01aa5272, 0x014c3c6b, 0x03425f61, 0x014a6966, 0x0227a602, 0x008dd9bf, 0x0242451d, 0x00b928cf, 0x0022270f}}}, + {X: Field{[10]uint32{0x01cb9ae6, 0x006dfcd1, 0x028acdee, 0x01c8b6da, 0x0272b745, 0x0090c1ed, 0x0203abd0, 0x00893932, 0x00111eb2, 0x0010aebc}}, Y: Field{[10]uint32{0x0212ee06, 0x0257ea8b, 0x00b11256, 0x0349cde7, 0x02879515, 0x02348b17, 0x0164bec3, 0x037a892d, 0x0128d608, 0x002fccb8}}}, + {X: Field{[10]uint32{0x0002c621, 0x01321531, 0x006bfe73, 0x03028af2, 0x01166c69, 0x0043445d, 0x03be8981, 0x012f4127, 0x02bbbe7b, 0x00215aea}}, Y: Field{[10]uint32{0x0112ac0c, 0x035d0612, 0x0321b943, 0x025e7b51, 0x011f8251, 0x0388a7a2, 0x0024161b, 0x007f4f35, 0x03c9b6d3, 0x000928c8}}}, + {X: Field{[10]uint32{0x024a9cd4, 0x01b60c34, 0x02c1c321, 0x03720172, 0x0195aeea, 0x03a0e0d3, 0x00c224ed, 0x0050f61d, 0x018ed998, 0x000e36f0}}, Y: Field{[10]uint32{0x027eae4a, 0x02247945, 0x00a03570, 0x03b9fe4d, 0x01271c6e, 0x0242ad71, 0x038e2eaa, 0x015de3a8, 0x0126f7e8, 0x0009cfb0}}}, + {X: Field{[10]uint32{0x0188dc59, 0x007ae052, 0x00d92c98, 0x019697d2, 0x015e24c0, 0x020dd2bc, 0x026bb20c, 0x008ca4c5, 0x005bffcd, 0x000d6772}}, Y: Field{[10]uint32{0x03bf39c6, 0x0058beaf, 0x0184ae58, 0x000fdded, 0x02c4a057, 0x010def7f, 0x0237d06e, 0x01622e40, 0x01f7deef, 0x0037977b}}}, + {X: Field{[10]uint32{0x023666ea, 0x028d6df1, 0x0283bb1c, 0x01d275fc, 0x031d872a, 0x0297cf69, 0x022f73a6, 0x007220f7, 0x0065e2e9, 0x003841a0}}, Y: Field{[10]uint32{0x03752cd9, 0x0347c05c, 0x00523c5e, 0x03eb2375, 0x01a7e155, 0x01da140d, 0x0128afaa, 0x0021461e, 0x0252b5df, 0x0020430e}}}, + {X: Field{[10]uint32{0x03b19d83, 0x02141b76, 0x033c70fd, 0x01b72f57, 0x00b56495, 0x03377f7f, 0x03171830, 0x032699b8, 0x037137e7, 0x00141d9f}}, Y: Field{[10]uint32{0x00d4fff8, 0x00e19928, 0x039fa5e3, 0x019d58f6, 0x02393b61, 0x03cb82b8, 0x03d24dd3, 0x017fb601, 0x015f5e9d, 0x003870b7}}}, + {X: Field{[10]uint32{0x02e65864, 0x02d66039, 0x00a725a0, 0x017fd4f6, 0x035e0127, 0x03f3a84d, 0x0216d0de, 0x020d57c4, 0x03f0cdf8, 0x001133b2}}, Y: Field{[10]uint32{0x011cd40e, 0x030eb5bd, 0x00d2e025, 0x008bc572, 0x02e8e3f0, 0x019ef18d, 0x0290550e, 0x03a6e7b8, 0x028e5094, 0x00011a55}}}, + {X: Field{[10]uint32{0x02aa18b3, 0x038d11e5, 0x005e886c, 0x024980b8, 0x0387ed8a, 0x02bf28ae, 0x02fe5976, 0x02c1fbe8, 0x00ea43cb, 0x00060c32}}, Y: Field{[10]uint32{0x031da49d, 0x0077610b, 0x01d658bf, 0x03ead511, 0x013c8ce2, 0x03e8c704, 0x03562037, 0x02bb9d9f, 0x0328e064, 0x0037d544}}}, + {X: Field{[10]uint32{0x019326c6, 0x0242a92f, 0x02b799bf, 0x03ab13e3, 0x00708245, 0x0107d3b9, 0x0033417a, 0x01eac947, 0x037a473a, 0x00163552}}, Y: Field{[10]uint32{0x009b2a85, 0x01168bb1, 0x027891ce, 0x024febd7, 0x02a16920, 0x02c72cb2, 0x00c331bf, 0x0381f329, 0x033815e2, 0x0028647c}}}, + {X: Field{[10]uint32{0x02c6792c, 0x024ad544, 0x01af7ba1, 0x01b913a0, 0x0170a18b, 0x00bf2618, 0x03af1044, 0x0204b980, 0x02049507, 0x003c3739}}, Y: Field{[10]uint32{0x03b966e4, 0x029ec26e, 0x015ce3ad, 0x02d31536, 0x004cc60e, 0x033c3d58, 0x0248df55, 0x01bb588f, 0x0221b5e8, 0x00308868}}}, + {X: Field{[10]uint32{0x01dd2ab5, 0x02e94156, 0x013d40d7, 0x033eb94a, 0x02e4b958, 0x0112c9ab, 0x02aaa046, 0x00c0aca1, 0x01e572c0, 0x0010bec2}}, Y: Field{[10]uint32{0x01f2299f, 0x0206f546, 0x00099437, 0x02a09d25, 0x03f46e1b, 0x020f9f45, 0x007ec769, 0x01a223ef, 0x0173a00e, 0x001e7041}}}, + {X: Field{[10]uint32{0x03502ecb, 0x034104bc, 0x005deea2, 0x02f222c0, 0x00935465, 0x0036b443, 0x028db25e, 0x00326a18, 0x0151ddae, 0x001eb7c5}}, Y: Field{[10]uint32{0x01acfd20, 0x01621bca, 0x01a9bb3c, 0x019e7651, 0x012e031e, 0x02744428, 0x01ef5c36, 0x03aa4832, 0x03a2143c, 0x00195f02}}}, + {X: Field{[10]uint32{0x002c7a5a, 0x03f6470a, 0x013454df, 0x0324a049, 0x013a7bfd, 0x03f0bd6f, 0x0271310a, 0x03da9b58, 0x00b956fd, 0x00375692}}, Y: Field{[10]uint32{0x00a52657, 0x03df305f, 0x021e385d, 0x03364685, 0x002ac6b0, 0x02564119, 0x03521072, 0x01fcdbea, 0x00372e06, 0x001ce434}}}, + {X: Field{[10]uint32{0x021466fe, 0x01b0b622, 0x0301d293, 0x00ec74d8, 0x0013ac76, 0x00134b38, 0x01c783b1, 0x011652f8, 0x00b51537, 0x0018c614}}, Y: Field{[10]uint32{0x0190882e, 0x03cc8a31, 0x03a8578b, 0x000addfb, 0x022016d2, 0x015ca6b3, 0x0241416c, 0x01f912a4, 0x021ea9b6, 0x00092433}}}, + {X: Field{[10]uint32{0x03a0bca5, 0x02c381bc, 0x028e0741, 0x01a6f71a, 0x00244668, 0x00e8f331, 0x0185cd58, 0x0088a6bb, 0x01e4d673, 0x000ccb8e}}, Y: Field{[10]uint32{0x017578e7, 0x01135217, 0x025aa602, 0x0037d351, 0x00b66ac3, 0x01d2b597, 0x018b1b40, 0x014ab829, 0x030360db, 0x00242103}}}, + {X: Field{[10]uint32{0x022f0c97, 0x0144e90d, 0x00980de7, 0x02ca479c, 0x01d72c0e, 0x00994cbc, 0x027224e8, 0x03870595, 0x0156f0c7, 0x00378065}}, Y: Field{[10]uint32{0x00411ea3, 0x002bb61a, 0x03e479af, 0x02f5925d, 0x01d75fa5, 0x018e094a, 0x022227a6, 0x02210105, 0x039d1cc9, 0x000e68f5}}}, + {X: Field{[10]uint32{0x00ed859f, 0x0128b2c9, 0x002a6809, 0x01b28fe4, 0x024f81b7, 0x006e0b91, 0x02ffbf26, 0x036a0031, 0x00c8e675, 0x00131130}}, Y: Field{[10]uint32{0x0245ac34, 0x00ad64c3, 0x0224663b, 0x025c68e8, 0x00c54978, 0x010eae2b, 0x03f28002, 0x01177b63, 0x02881ecc, 0x0016787b}}}, + {X: Field{[10]uint32{0x009286a2, 0x00d953cc, 0x03d28279, 0x02f844f9, 0x02a4e0dc, 0x017773b1, 0x01f4d1a8, 0x03867970, 0x01b80481, 0x003980ce}}, Y: Field{[10]uint32{0x009d9d59, 0x0229c1a9, 0x0372d1b0, 0x03e51cdf, 0x00bc58e3, 0x034a96a6, 0x01c7998e, 0x02507ed4, 0x02cca607, 0x002687ba}}}, + {X: Field{[10]uint32{0x00a25e66, 0x0340b0f6, 0x01be0d44, 0x015714a1, 0x010c6ad9, 0x0023ffb1, 0x00bc4727, 0x024bce7d, 0x02e30e72, 0x00043d0b}}, Y: Field{[10]uint32{0x00916a25, 0x02a5d73b, 0x01106034, 0x0037c069, 0x00183e13, 0x0259f3c5, 0x01d5f2bc, 0x038a3f6e, 0x01f053eb, 0x0001bcd9}}}, + {X: Field{[10]uint32{0x0329c445, 0x014f6199, 0x01548b6d, 0x02b964ea, 0x03703af3, 0x031635d2, 0x02fb0f31, 0x019a1df4, 0x01cad128, 0x001f824c}}, Y: Field{[10]uint32{0x036b0b0b, 0x00485d07, 0x03ffbf5a, 0x03e489dc, 0x00a9c34a, 0x0015bd32, 0x03caf7e8, 0x02d07598, 0x01fc75ea, 0x0001792e}}}, + {X: Field{[10]uint32{0x03963f22, 0x00450d55, 0x00f1c6a0, 0x03036c9e, 0x01b7f1ac, 0x020d8bdf, 0x014cd1a7, 0x00f1b3fc, 0x037ef961, 0x000d8c4f}}, Y: Field{[10]uint32{0x03d7edc2, 0x006ead10, 0x03a69864, 0x0246e998, 0x0033960a, 0x01250817, 0x006627f5, 0x0108c52b, 0x02ab02a9, 0x00079a51}}}, + {X: Field{[10]uint32{0x0069fe01, 0x03b15d0a, 0x033bb55c, 0x0164bf23, 0x0283f9ba, 0x03aa8ba7, 0x0218a63c, 0x030996cb, 0x02d88eed, 0x00088fbb}}, Y: Field{[10]uint32{0x01bbd71c, 0x00842570, 0x025ffeff, 0x02e35a1f, 0x005593f7, 0x00b5cb44, 0x0232cc89, 0x026ff3cd, 0x01734ae2, 0x001c8488}}}, + {X: Field{[10]uint32{0x00b3ec20, 0x01e9698a, 0x035fc31b, 0x02f3e6a6, 0x0160dbb2, 0x021e5684, 0x03b9b321, 0x00b1780f, 0x02c93330, 0x002daf57}}, Y: Field{[10]uint32{0x019dd495, 0x0074b672, 0x0242cd0f, 0x03ce6d0a, 0x0034f373, 0x00ed22eb, 0x01f051d6, 0x0397fac5, 0x03f298a8, 0x003ee7e1}}}, + {X: Field{[10]uint32{0x00e24668, 0x02a2c053, 0x012c98f0, 0x02fcee3e, 0x025a802d, 0x023f55eb, 0x03f69ce0, 0x0093ec55, 0x03603b1c, 0x0028d969}}, Y: Field{[10]uint32{0x000a89f9, 0x02fb0fd7, 0x037606f2, 0x02d06c34, 0x02578005, 0x02606039, 0x0238cc72, 0x02af680a, 0x022b7746, 0x001cf990}}}, + {X: Field{[10]uint32{0x03cebe6e, 0x017287b5, 0x0213aa23, 0x007b4de7, 0x03e24bac, 0x03511a81, 0x02dba309, 0x00dbdbd2, 0x03ac43e4, 0x003a1be3}}, Y: Field{[10]uint32{0x00a166af, 0x00f5b6fd, 0x01cd4a91, 0x0009df30, 0x00930b74, 0x00a8044d, 0x03a592c4, 0x02a6f5c4, 0x00efaa75, 0x00079eed}}}, + {X: Field{[10]uint32{0x039bd5ac, 0x00fa1a3a, 0x015cc993, 0x038ba162, 0x0205cab3, 0x03f78768, 0x0109304c, 0x0155c76b, 0x01fad2b2, 0x003d695f}}, Y: Field{[10]uint32{0x037c1ff6, 0x02317a61, 0x029b0c76, 0x001afb2e, 0x008eb909, 0x02265e89, 0x018dad26, 0x00390754, 0x025e8fc9, 0x00349977}}}, + {X: Field{[10]uint32{0x01f76c7b, 0x011651dd, 0x010f145c, 0x01f28afc, 0x01665660, 0x009192a7, 0x02fd8cab, 0x024dd1f9, 0x017a0725, 0x00387734}}, Y: Field{[10]uint32{0x02f9a20e, 0x03799012, 0x0278a130, 0x0339ae55, 0x00dff819, 0x008caf51, 0x009feb61, 0x021b4992, 0x0310023f, 0x003be8b0}}}, + {X: Field{[10]uint32{0x03a801ff, 0x00e1b373, 0x00c3bafd, 0x03f73290, 0x03cb3774, 0x00176a6a, 0x0274b80a, 0x025ab46f, 0x03dd0849, 0x0020fe2a}}, Y: Field{[10]uint32{0x03c3f63d, 0x01f18e92, 0x002873d3, 0x00ddaa89, 0x001c85ff, 0x019a1a36, 0x02e792d9, 0x02c4395b, 0x0164329f, 0x00099faf}}}, + {X: Field{[10]uint32{0x03259fae, 0x02e952d3, 0x02454ea9, 0x006bcd3f, 0x03ca324b, 0x01445216, 0x0087c716, 0x016a409d, 0x01796ca8, 0x00153327}}, Y: Field{[10]uint32{0x02b2da2a, 0x007682fe, 0x020f2e20, 0x030545f3, 0x023c6ce8, 0x03adba0e, 0x0016e9ed, 0x021875f4, 0x0071ef0b, 0x000630e4}}}, + {X: Field{[10]uint32{0x01402ba4, 0x0070864c, 0x02a51635, 0x02b25039, 0x001c3f65, 0x0047e1d1, 0x0075ac1b, 0x0059538a, 0x012ae009, 0x002744a9}}, Y: Field{[10]uint32{0x00e81d2e, 0x038bc04e, 0x02e52bbe, 0x00b754fd, 0x03c6d7e4, 0x03d7eb58, 0x00d17f39, 0x0066bd06, 0x03342762, 0x0017feec}}}, + {X: Field{[10]uint32{0x02496998, 0x00ed9979, 0x038244f2, 0x03c2dfbc, 0x00488007, 0x03c86ba9, 0x0030917f, 0x006a4734, 0x01b76682, 0x001966ff}}, Y: Field{[10]uint32{0x014784e0, 0x0139f289, 0x039db844, 0x023af087, 0x03d7321a, 0x022f091f, 0x01ef96b7, 0x03a168d0, 0x00bc4506, 0x000ab5c2}}}, + {X: Field{[10]uint32{0x02b4670b, 0x004a5b97, 0x02413d60, 0x013d5cc4, 0x0276ba1b, 0x0055269a, 0x026a2538, 0x020dd121, 0x0233d4a0, 0x0038b313}}, Y: Field{[10]uint32{0x00672476, 0x00502269, 0x00e18797, 0x002e8eca, 0x0080497f, 0x01930dc6, 0x039780ea, 0x01fcd1ed, 0x0325347e, 0x0014a2ca}}}, + {X: Field{[10]uint32{0x02edec68, 0x023840f9, 0x00131e24, 0x03133f2b, 0x01e8dbba, 0x02941580, 0x02164c0f, 0x030db26c, 0x039c9e21, 0x0014a702}}, Y: Field{[10]uint32{0x027125f4, 0x01c04a55, 0x037e4967, 0x017c272e, 0x026cb74f, 0x034b80e1, 0x0269e6ab, 0x032804cd, 0x002172a0, 0x001fe912}}}, + {X: Field{[10]uint32{0x003b63a1, 0x034d54da, 0x01dda654, 0x01efacbc, 0x033d89e5, 0x0203ed96, 0x00d6532a, 0x01f47055, 0x03afbe6a, 0x000a275a}}, Y: Field{[10]uint32{0x01005400, 0x024c5a1f, 0x03b53388, 0x03c30f36, 0x03db149f, 0x01499e1d, 0x022c62c5, 0x02358583, 0x0063d3ce, 0x002007d2}}}, + {X: Field{[10]uint32{0x010f14a1, 0x00bb3c1e, 0x0099e51f, 0x01616346, 0x022eab9b, 0x0096ad0c, 0x0005bb34, 0x019981f0, 0x00c9e3b3, 0x00345aa1}}, Y: Field{[10]uint32{0x0156dd07, 0x02d46614, 0x0231379b, 0x033c672c, 0x0146ec79, 0x02b5b83c, 0x03fc5ea4, 0x014ca3e7, 0x01ab1071, 0x000b1bd7}}}, + {X: Field{[10]uint32{0x036348f1, 0x01c0ec5a, 0x01affd30, 0x03cfb2f8, 0x02a7062d, 0x010436ac, 0x00a6893e, 0x02fefd10, 0x00394fda, 0x00340f2b}}, Y: Field{[10]uint32{0x009d19f9, 0x006e8d11, 0x0040ae5d, 0x01b4e390, 0x035dc4a8, 0x037a56c6, 0x0185c087, 0x02cc5dc3, 0x03cef530, 0x000548c4}}}, + {X: Field{[10]uint32{0x0063379b, 0x0081ed6a, 0x03101c89, 0x0012f125, 0x00d4c4b6, 0x03e5a616, 0x00a7d851, 0x0312a5df, 0x006ca673, 0x002d9acf}}, Y: Field{[10]uint32{0x01624da4, 0x01c2c18c, 0x005609a4, 0x03fc61fc, 0x004b00fa, 0x0055a587, 0x02c63cb7, 0x01aab120, 0x0163771c, 0x00152e89}}}, + {X: Field{[10]uint32{0x018c8c45, 0x039145aa, 0x01e86236, 0x01a01e71, 0x002a43fb, 0x039f5cc2, 0x013127f4, 0x01f35f7f, 0x024411c4, 0x002f9a11}}, Y: Field{[10]uint32{0x026733da, 0x03eba160, 0x01f19a15, 0x030bf7ba, 0x017d78dd, 0x0273143a, 0x0395aaeb, 0x00da30b8, 0x0383c61d, 0x001e4a43}}}, + {X: Field{[10]uint32{0x03cbde9b, 0x00afedeb, 0x00e0c5c6, 0x007e4748, 0x0004ca42, 0x03b8061e, 0x021de709, 0x03d18d35, 0x03a09f34, 0x0011e2b0}}, Y: Field{[10]uint32{0x030988bf, 0x00dd955e, 0x01c34f6e, 0x012fddfb, 0x02e4bc7d, 0x015d2d7d, 0x027526f5, 0x0042586b, 0x03b2ccbc, 0x003dd4bc}}}, + {X: Field{[10]uint32{0x033dcfc8, 0x01905e63, 0x00796e70, 0x028301df, 0x037271a2, 0x026f5284, 0x00d7de9c, 0x01c6a675, 0x015af2ed, 0x001d17cd}}, Y: Field{[10]uint32{0x02e288b9, 0x010818e1, 0x01f6e672, 0x00998c31, 0x02d4fe88, 0x00c78664, 0x0105816c, 0x021fc27b, 0x01f46b0c, 0x00063a98}}}, + {X: Field{[10]uint32{0x02760ce0, 0x02d483a1, 0x014b218d, 0x0238e2ae, 0x00a3157a, 0x00a1909f, 0x01aede59, 0x02a2c242, 0x016f9878, 0x001539ef}}, Y: Field{[10]uint32{0x01fb8e49, 0x03493cc3, 0x03f2ddc1, 0x0294d034, 0x00e04bdb, 0x01d7702d, 0x033c6386, 0x02d12347, 0x000dc1ea, 0x0035edf6}}}, + {X: Field{[10]uint32{0x007d510e, 0x012807e8, 0x0120827e, 0x02b8f725, 0x0399b018, 0x0331bfaf, 0x006f5c7f, 0x010c7bcf, 0x03b655eb, 0x003fd5ab}}, Y: Field{[10]uint32{0x0191e371, 0x03a6d109, 0x03509655, 0x00403a89, 0x02ec7232, 0x01268a35, 0x00388b40, 0x02c71e7d, 0x01b842d7, 0x0026feaf}}}, + {X: Field{[10]uint32{0x029cda72, 0x00e7487f, 0x02be382d, 0x01057fcf, 0x00ea511b, 0x0363a9e4, 0x01d02506, 0x023f219e, 0x0099ed29, 0x0030af30}}, Y: Field{[10]uint32{0x030f971f, 0x03b2d614, 0x03070aa1, 0x03c163be, 0x00825de4, 0x00bf4e31, 0x02c31a58, 0x03ddcd6d, 0x02c435ec, 0x001b1efc}}}, + {X: Field{[10]uint32{0x00e2ec4e, 0x020061c2, 0x000f599a, 0x00da242e, 0x02c8549e, 0x0271a07f, 0x014b9a11, 0x00cc79b1, 0x01449811, 0x0008e0fc}}, Y: Field{[10]uint32{0x0133a1f9, 0x0182838d, 0x01cb1448, 0x00fa774d, 0x00d8fff0, 0x00111c3c, 0x00a999a7, 0x02dad64e, 0x011fd846, 0x0004ead0}}}, + {X: Field{[10]uint32{0x02096048, 0x01afc31b, 0x016b817d, 0x01ca2778, 0x0209953f, 0x0293d499, 0x0244584b, 0x00762fe2, 0x01c0d4fa, 0x000bc89c}}, Y: Field{[10]uint32{0x03b42fc4, 0x0182d80b, 0x00ab57cd, 0x00f69bc5, 0x03a95717, 0x00fbd54f, 0x0332c226, 0x0143a2db, 0x005db40e, 0x00191bbc}}}, + {X: Field{[10]uint32{0x01e951c7, 0x007c9a89, 0x01d089bf, 0x03682b69, 0x03809e7a, 0x02c047ba, 0x01be55cb, 0x01e89fbb, 0x031b0f06, 0x002ded26}}, Y: Field{[10]uint32{0x037c33ed, 0x037b8b1f, 0x033315b2, 0x00811641, 0x014a9b7f, 0x01f2c0ca, 0x02ec95c0, 0x001496b5, 0x00aca816, 0x003fb1d8}}}, + {X: Field{[10]uint32{0x01409223, 0x0206a979, 0x03557941, 0x032e7c2b, 0x027765d4, 0x00b6be07, 0x01866eb1, 0x00f9725c, 0x01cad993, 0x000db238}}, Y: Field{[10]uint32{0x008b8fdf, 0x0064cab7, 0x00853e29, 0x017d4926, 0x0122f2e3, 0x0045baa5, 0x01cc7309, 0x008a0b5c, 0x02d0a025, 0x002257ad}}}, + {X: Field{[10]uint32{0x001ed523, 0x01ef78ef, 0x00d6a6ee, 0x00455a13, 0x00fa5b8a, 0x0330ac38, 0x0173e018, 0x00d6484c, 0x01276328, 0x000f2fa4}}, Y: Field{[10]uint32{0x0244dc81, 0x03cc33f3, 0x03055e4d, 0x02cf4264, 0x01c5149a, 0x01d7c785, 0x030aa9dc, 0x01b26e65, 0x01c922f9, 0x001ecb4f}}}, + {X: Field{[10]uint32{0x0247213c, 0x01fa5ed8, 0x02d164e6, 0x02640c53, 0x02fe0aec, 0x022c8e79, 0x0048d380, 0x0250648d, 0x0141c463, 0x001dba53}}, Y: Field{[10]uint32{0x01fa1278, 0x03061ac8, 0x03cb5a3b, 0x0392fca0, 0x03f9efe4, 0x01d7e8e3, 0x03460bfd, 0x001d2440, 0x02c32f01, 0x0023b929}}}, + {X: Field{[10]uint32{0x031851ec, 0x03cd0cd2, 0x00c08506, 0x009e3bb0, 0x025b265d, 0x01ffa76e, 0x01749e00, 0x039f9e85, 0x01cb12c0, 0x00124e49}}, Y: Field{[10]uint32{0x0062b193, 0x02c5af13, 0x01a9a1f5, 0x003b6067, 0x02e4a240, 0x03dcc299, 0x02b318f9, 0x029195b2, 0x006b3960, 0x001c2403}}}, + {X: Field{[10]uint32{0x003cdcbf, 0x01cebb71, 0x026b7511, 0x01aaa7d7, 0x00387330, 0x01208f4e, 0x0020eb4a, 0x00e4f5e6, 0x02bad1a1, 0x002cdff6}}, Y: Field{[10]uint32{0x0327030a, 0x03b18203, 0x0252f28f, 0x03ca78d5, 0x03dfd325, 0x00c29d69, 0x00df67be, 0x0344e788, 0x00de57fa, 0x002141bc}}}, + {X: Field{[10]uint32{0x00a5e8c1, 0x027d296c, 0x007033c2, 0x008c271b, 0x008f2b70, 0x027e41c9, 0x030c90e0, 0x017124ca, 0x020c48e9, 0x00111465}}, Y: Field{[10]uint32{0x00d7490c, 0x006da1f5, 0x024de53b, 0x013efbd4, 0x0228bc40, 0x01dd9a93, 0x01c9e1a4, 0x027d9a58, 0x0218d9ce, 0x0020d54e}}}, + {X: Field{[10]uint32{0x03ea3449, 0x018ee037, 0x00704caf, 0x006f21a7, 0x00785772, 0x00fe61c6, 0x00ab20eb, 0x01a6e603, 0x01a8697c, 0x0026c2b0}}, Y: Field{[10]uint32{0x027e60e9, 0x0159877e, 0x0045d65b, 0x008c1cba, 0x0361b617, 0x00a02614, 0x0232a582, 0x02fcfdc7, 0x0053bf1b, 0x00084393}}}, + {X: Field{[10]uint32{0x001e0851, 0x01a12d1e, 0x01cebe92, 0x03e9f6f4, 0x0132eca4, 0x03003731, 0x02d62de1, 0x013df848, 0x0355ccae, 0x00399a5c}}, Y: Field{[10]uint32{0x01bdc3cb, 0x02e88dba, 0x01da1736, 0x024509ef, 0x029d3ded, 0x02201aa0, 0x00353f71, 0x03bcf251, 0x00ffdbe5, 0x0007c48b}}}, + {X: Field{[10]uint32{0x0167201e, 0x027c983c, 0x03f2afe3, 0x01387311, 0x03ad480a, 0x00a22eb1, 0x0326f861, 0x02932807, 0x00f11a1a, 0x003fea24}}, Y: Field{[10]uint32{0x01439cb4, 0x011272a1, 0x02b5d69d, 0x03682c06, 0x00ac569c, 0x01f43ba3, 0x03c41497, 0x03f0f51c, 0x03c41716, 0x0005a237}}}, + {X: Field{[10]uint32{0x00b6bf47, 0x02c6d3d5, 0x02c14cd3, 0x015e51b1, 0x00c41fcc, 0x03012813, 0x02b09b15, 0x00e33d8f, 0x00f26ce2, 0x00242235}}, Y: Field{[10]uint32{0x00d2c2b9, 0x00997579, 0x02909bfe, 0x0204adc3, 0x032ae4ec, 0x00f4d676, 0x01c9943b, 0x000138f5, 0x0017bc61, 0x00278e01}}}, + {X: Field{[10]uint32{0x01576a91, 0x0023ff36, 0x0070767c, 0x0288b00d, 0x0299949c, 0x00ca5af0, 0x03f7e5fe, 0x018383f9, 0x01dac1e7, 0x0028ce57}}, Y: Field{[10]uint32{0x012393d3, 0x025039d1, 0x038706ee, 0x00337800, 0x02314185, 0x00f7f3ee, 0x03070162, 0x01b45c5b, 0x039a5403, 0x0013e2a1}}}, + {X: Field{[10]uint32{0x038ad651, 0x0219e2ca, 0x00ecbd20, 0x0035d4cc, 0x011a7730, 0x007da1aa, 0x00ef2345, 0x03078163, 0x016454aa, 0x00047953}}, Y: Field{[10]uint32{0x01c020f2, 0x022ce5b2, 0x026796e0, 0x01164234, 0x01aaa53f, 0x0154a893, 0x0121dfef, 0x0067e715, 0x01605a84, 0x001d26ca}}}, + {X: Field{[10]uint32{0x00327f30, 0x02023f19, 0x0174675e, 0x036a3932, 0x0198f5f0, 0x031c074a, 0x02d5a707, 0x03a08aad, 0x00df7b41, 0x00323c4f}}, Y: Field{[10]uint32{0x03199404, 0x01a251f0, 0x0194d441, 0x02b75827, 0x00445d7a, 0x007cd3d8, 0x00329d6a, 0x0270737b, 0x01df17c0, 0x0012269a}}}, + {X: Field{[10]uint32{0x02d84442, 0x00f3dba4, 0x0250cd46, 0x02522897, 0x029487f3, 0x0386a770, 0x00c628c3, 0x0120e2a5, 0x02dccf67, 0x00245d79}}, Y: Field{[10]uint32{0x03de1c22, 0x002061a3, 0x007298cb, 0x00ec6e0f, 0x03c13e19, 0x01e329e9, 0x0237e510, 0x01c49547, 0x013fed37, 0x0021c15c}}}, + {X: Field{[10]uint32{0x0220099b, 0x018efd0d, 0x0209d228, 0x03b36c5e, 0x005df8b9, 0x014eb028, 0x038f6b89, 0x03c3a7b9, 0x012fb6d5, 0x0023bb52}}, Y: Field{[10]uint32{0x020ff1bf, 0x03a22747, 0x039d99ec, 0x03f41036, 0x0082e1ac, 0x0090e7b2, 0x00f8b946, 0x00ba6367, 0x03421767, 0x0008e915}}}, + {X: Field{[10]uint32{0x015c2dd9, 0x03e8d9c3, 0x03756beb, 0x02f1946d, 0x035cde90, 0x00417d75, 0x0393f543, 0x001bbde5, 0x0223dbac, 0x0032e573}}, Y: Field{[10]uint32{0x024a9a48, 0x022f9785, 0x02a4fc61, 0x01d3dfb3, 0x0057d22d, 0x01c777ad, 0x035ed992, 0x02c301ce, 0x02bac023, 0x002584a9}}}, + {X: Field{[10]uint32{0x03a3c980, 0x02b24199, 0x007c915d, 0x024e7391, 0x01d8fdd4, 0x02d69de4, 0x02a8ebf8, 0x03fcdf50, 0x00c8bbd3, 0x00199c86}}, Y: Field{[10]uint32{0x00ec26c0, 0x02020f23, 0x00f2ace9, 0x039c19d4, 0x00452a21, 0x00156d55, 0x0344aab1, 0x02bf751a, 0x01799e19, 0x00375004}}}, + {X: Field{[10]uint32{0x02f76e5f, 0x0166be0c, 0x0385219b, 0x02d683b4, 0x000c7627, 0x0310a5a6, 0x013e855d, 0x01214739, 0x01c60ded, 0x002211e6}}, Y: Field{[10]uint32{0x021c4a6b, 0x036998b0, 0x005ac3af, 0x01dff33c, 0x0022e343, 0x014b379e, 0x00d2d371, 0x010231e7, 0x01ed84e6, 0x0008e35d}}}, + {X: Field{[10]uint32{0x0111d143, 0x03bbab5a, 0x0396a256, 0x0240e9af, 0x022cc8bb, 0x0093a9b4, 0x03a05bae, 0x0020b165, 0x036b5fc0, 0x0023663c}}, Y: Field{[10]uint32{0x00ab3cd3, 0x035ece38, 0x01516f2a, 0x00c6c770, 0x03de7df9, 0x0005a05d, 0x01b2fcf8, 0x00a9b541, 0x011afc90, 0x0009ba2b}}}, + {X: Field{[10]uint32{0x03d70ad2, 0x00fd2e0f, 0x001ae740, 0x0223219d, 0x03d1db23, 0x034bbec7, 0x032cbc28, 0x031b4c9f, 0x02cac0dd, 0x002ea418}}, Y: Field{[10]uint32{0x028b38c2, 0x012ec299, 0x019f78f2, 0x03f5edcf, 0x01674539, 0x00e05115, 0x0171ccd5, 0x039d5367, 0x035b3036, 0x0011cecc}}}, + {X: Field{[10]uint32{0x02cdca29, 0x007700c2, 0x008f01ff, 0x014c478a, 0x017453ca, 0x01588414, 0x029be675, 0x039825e9, 0x02d73bf0, 0x00128b4d}}, Y: Field{[10]uint32{0x02ca8f83, 0x0290e1ac, 0x001d8595, 0x0205236c, 0x029d694a, 0x00a63d7e, 0x0283ac6c, 0x00c73513, 0x01e7a903, 0x0003fda4}}}, + {X: Field{[10]uint32{0x0337d0c4, 0x018b8773, 0x01c4fcd3, 0x00db8015, 0x006b3651, 0x00b0c972, 0x00fb0d93, 0x012c5ad9, 0x028fd99c, 0x003a1a3c}}, Y: Field{[10]uint32{0x00d4a9eb, 0x00ab7b13, 0x00bca274, 0x0044df65, 0x0240e5fa, 0x02224426, 0x00e0440e, 0x0040d23a, 0x02c18340, 0x002b4cd1}}}, + {X: Field{[10]uint32{0x03abbf3b, 0x028d464a, 0x03eea99d, 0x025b6903, 0x03ea77e6, 0x0088e60c, 0x0177e566, 0x01b2944b, 0x0289830a, 0x001b17a1}}, Y: Field{[10]uint32{0x01779540, 0x03a5196b, 0x017c12be, 0x00351a96, 0x0356b983, 0x01d4d91f, 0x01c333dd, 0x002d81ef, 0x01f15fd0, 0x0030a781}}}, + {X: Field{[10]uint32{0x00046344, 0x0096fb07, 0x02210e1a, 0x0318942b, 0x01c317ad, 0x02e756a4, 0x0391cc86, 0x00b7feba, 0x02a56ebf, 0x002ce85c}}, Y: Field{[10]uint32{0x034ac3d5, 0x017ebe0e, 0x01d119fc, 0x030379e9, 0x02f06401, 0x026930be, 0x031fff90, 0x0035b6f4, 0x01799ae4, 0x000a3db7}}}, + {X: Field{[10]uint32{0x000d8f47, 0x02a53884, 0x02b80091, 0x03b1c68e, 0x00ac4a22, 0x0251a2a3, 0x00aed673, 0x035de694, 0x01d2e2f9, 0x000663c1}}, Y: Field{[10]uint32{0x03cd0414, 0x0226782d, 0x002b3cbf, 0x01a0d830, 0x03397089, 0x00ff2c88, 0x02e3baaf, 0x00c5cf2b, 0x003fc981, 0x00331a86}}}, + {X: Field{[10]uint32{0x0077f48e, 0x03d42aac, 0x039d89f0, 0x036de7f0, 0x0341ae77, 0x02142c1e, 0x007703ae, 0x029e452f, 0x038fa943, 0x001e2c85}}, Y: Field{[10]uint32{0x025274e7, 0x0272c558, 0x02beb11b, 0x03b30a7a, 0x01d78fce, 0x006006f8, 0x0389004e, 0x02c24a2e, 0x0234f2cb, 0x00217f4f}}}, + {X: Field{[10]uint32{0x01943f3e, 0x010fee36, 0x02dcccec, 0x03e757dc, 0x0023828e, 0x01c38a29, 0x017a7951, 0x0145d7e6, 0x03001d4c, 0x001bdc37}}, Y: Field{[10]uint32{0x028315ce, 0x007bb733, 0x03ee5f0f, 0x030aa37e, 0x02956a66, 0x01cc38a9, 0x039c34be, 0x020f9165, 0x0213b771, 0x00098c54}}}, + {X: Field{[10]uint32{0x01a9dccc, 0x030d676d, 0x03bd09cf, 0x00b47343, 0x02e3964b, 0x0116d649, 0x01509e3b, 0x01b4a741, 0x01443c94, 0x002ae04c}}, Y: Field{[10]uint32{0x00f5c5ac, 0x00db2a41, 0x01062063, 0x002cfd41, 0x0216b771, 0x031b184c, 0x005e5876, 0x01cebe83, 0x03150c12, 0x002baf7c}}}, + {X: Field{[10]uint32{0x01473ad3, 0x03a20f81, 0x021a20a3, 0x027ae8cc, 0x016b9456, 0x01f979bb, 0x0323e627, 0x00449c8d, 0x0391dd75, 0x0039cacd}}, Y: Field{[10]uint32{0x0328a3d8, 0x03d320a6, 0x0319fd4d, 0x02b220c2, 0x039c2091, 0x038e8a11, 0x03109ab5, 0x02aa83f4, 0x00742dbc, 0x0004c6cc}}}, + {X: Field{[10]uint32{0x023ded63, 0x00a10cb3, 0x00c74619, 0x01f15ad4, 0x02bb525d, 0x033141f6, 0x03df77af, 0x017940e3, 0x0296ecdd, 0x0032968c}}, Y: Field{[10]uint32{0x03c4ab9e, 0x0197f1bf, 0x0254b3f8, 0x0274af73, 0x005a1420, 0x00acd96f, 0x027258e4, 0x01deea40, 0x0394b7e1, 0x0022f6d9}}}, + {X: Field{[10]uint32{0x031a9222, 0x0069c038, 0x01819c88, 0x00569c9a, 0x02e7d2e8, 0x0300ec80, 0x01be59dc, 0x0233ff3b, 0x029f26ae, 0x003aa8ef}}, Y: Field{[10]uint32{0x0124ec1c, 0x03917065, 0x02acc735, 0x0059f35f, 0x0336ac28, 0x0077cb4e, 0x02f80265, 0x034d3183, 0x00d7a367, 0x0006d68b}}}, + {X: Field{[10]uint32{0x00e97728, 0x02c0f7ba, 0x02206582, 0x0399d21c, 0x0035a011, 0x019e4555, 0x022076d5, 0x03fdab85, 0x002d3ab4, 0x003aeea2}}, Y: Field{[10]uint32{0x01be16ac, 0x02f91d19, 0x010ed355, 0x0161ef7f, 0x018a004c, 0x027b6319, 0x02f2ac76, 0x034b3736, 0x02053d8d, 0x0025088a}}}, + {X: Field{[10]uint32{0x013aba86, 0x0248f20d, 0x01f446d8, 0x0345a3a3, 0x01ba88e0, 0x03688180, 0x03cb784e, 0x01774451, 0x03ea537a, 0x00328365}}, Y: Field{[10]uint32{0x028fba1f, 0x01f2a67d, 0x01b68016, 0x024a1d2d, 0x0196c978, 0x01124399, 0x02bb979a, 0x021bc623, 0x005889eb, 0x0021d2b2}}}, + {X: Field{[10]uint32{0x03b797e1, 0x0233ecfa, 0x01a24771, 0x002c3877, 0x0184a90a, 0x017f0671, 0x0398f98c, 0x01d151f9, 0x01653480, 0x0014778a}}, Y: Field{[10]uint32{0x03f7c54d, 0x03bfd600, 0x007bf87c, 0x012e6792, 0x03ace0ee, 0x03f37e69, 0x001952b0, 0x039ae557, 0x023aad04, 0x00204dd3}}}, + {X: Field{[10]uint32{0x01387509, 0x031bb230, 0x00df5151, 0x00d4d96e, 0x0287b521, 0x007523ed, 0x00e39bda, 0x01af8833, 0x011f0313, 0x0001a758}}, Y: Field{[10]uint32{0x0195bde0, 0x028b088c, 0x01fa7e9d, 0x02a9ac9c, 0x00fb84c0, 0x0170a5c8, 0x01127e1a, 0x01932b13, 0x0020563b, 0x001d78b6}}}, + {X: Field{[10]uint32{0x028aa135, 0x015f784e, 0x00a9cb2f, 0x03037914, 0x006fa4a4, 0x03737886, 0x02204561, 0x01983c8c, 0x00830558, 0x000c458c}}, Y: Field{[10]uint32{0x0346eae2, 0x0376fdbf, 0x03817539, 0x001f97ee, 0x0229e142, 0x038762dd, 0x008c636a, 0x005a20c0, 0x0096b134, 0x000975b5}}}, + {X: Field{[10]uint32{0x007ac334, 0x0335584b, 0x00274cc3, 0x00f61a13, 0x0111f462, 0x0342b66a, 0x002e5b44, 0x03353536, 0x02aaefa9, 0x002138d0}}, Y: Field{[10]uint32{0x0292a70e, 0x023d980a, 0x016540fb, 0x03ed42bb, 0x02f552af, 0x03f974bd, 0x00f0a324, 0x02665f21, 0x03ff260f, 0x003ee436}}}, + {X: Field{[10]uint32{0x03bf6562, 0x0199a499, 0x025bc64d, 0x02b2219e, 0x00fa812a, 0x03538ea8, 0x00468143, 0x02c45489, 0x0002969d, 0x00257bf1}}, Y: Field{[10]uint32{0x03371883, 0x0304d667, 0x034b3e82, 0x027f5dea, 0x02e4567d, 0x0114957e, 0x033f00d4, 0x0094b15b, 0x00316149, 0x000c56f3}}}, + {X: Field{[10]uint32{0x038d07fe, 0x01727a35, 0x01507e3d, 0x0126ed40, 0x0255b401, 0x0156ee6f, 0x0289993a, 0x027682f4, 0x023cf87e, 0x001488d8}}, Y: Field{[10]uint32{0x00613b56, 0x02023f2b, 0x03deffa5, 0x00876cf2, 0x000832e9, 0x0001dbe2, 0x01b1c16b, 0x03d0dc02, 0x0221dd2d, 0x001aff42}}}, + {X: Field{[10]uint32{0x00cb0a4f, 0x0132e5f0, 0x0255df5f, 0x00659ac2, 0x00ea180f, 0x0027845e, 0x0187ab31, 0x01c1f987, 0x01990a6b, 0x003c84b4}}, Y: Field{[10]uint32{0x00f7c84b, 0x01ac1a68, 0x0382412f, 0x008867b0, 0x037f5114, 0x0303a844, 0x03c31427, 0x02d93b91, 0x006c7edb, 0x000ca011}}}, + {X: Field{[10]uint32{0x01cfe8c9, 0x033d630c, 0x01b50835, 0x03888438, 0x02e1e19c, 0x000163e5, 0x014431b2, 0x01dbe085, 0x023ff25d, 0x001ad541}}, Y: Field{[10]uint32{0x0069f8bf, 0x002236a4, 0x031c6492, 0x028f75f8, 0x01558a82, 0x03d83ffb, 0x02997076, 0x001d891b, 0x01623645, 0x001509f7}}}, + {X: Field{[10]uint32{0x01b23045, 0x006755c2, 0x01e96472, 0x0106a0b8, 0x03c9388d, 0x039be2c9, 0x02e0c129, 0x0243004a, 0x01cfa096, 0x00094e79}}, Y: Field{[10]uint32{0x01021ac3, 0x0115eb76, 0x0224a77c, 0x02d28967, 0x0331d804, 0x01444cd1, 0x0393000e, 0x02937346, 0x03f61e26, 0x002532e0}}}, + {X: Field{[10]uint32{0x0247d51d, 0x03eb9502, 0x03fb6297, 0x007bc394, 0x03910642, 0x03ca30fd, 0x02ed31e8, 0x0070c1c6, 0x02d34aaf, 0x002aa6da}}, Y: Field{[10]uint32{0x03544c47, 0x02779de0, 0x03d3ed1c, 0x01fb2910, 0x0158cbd8, 0x002ad366, 0x034e7db1, 0x02b80262, 0x00e49fe4, 0x00370256}}}, + {X: Field{[10]uint32{0x013487ad, 0x014cbd80, 0x0262f780, 0x0397a728, 0x03e08964, 0x028fdac3, 0x02d6e635, 0x0093efd7, 0x0313aad2, 0x002a1428}}, Y: Field{[10]uint32{0x014ccbe7, 0x020cd8fb, 0x01a4c43b, 0x01c09bc5, 0x01d9a5e5, 0x03bbcd1e, 0x01708ca0, 0x015708ee, 0x02d54cbc, 0x001f91da}}}, + {X: Field{[10]uint32{0x03a09c1a, 0x02352b97, 0x0328c741, 0x00c991de, 0x025da441, 0x00638a74, 0x00889fab, 0x00325b41, 0x0033f4fd, 0x000c53fb}}, Y: Field{[10]uint32{0x03d25f42, 0x01ee53fa, 0x024a976b, 0x034c6a9a, 0x00d9b4b8, 0x0254d3f7, 0x01dd4f54, 0x03fede6d, 0x01130a98, 0x00028b25}}}, + {X: Field{[10]uint32{0x033d0963, 0x02be8d53, 0x01c85329, 0x02e33d4b, 0x03183998, 0x02bef73b, 0x01581ae1, 0x01f9e6b8, 0x03c89ec5, 0x001b9f70}}, Y: Field{[10]uint32{0x019f87d8, 0x01457e27, 0x00964a83, 0x00c3f32b, 0x038f0578, 0x01662ac6, 0x011e3a82, 0x023a7e59, 0x00056d5a, 0x001ad8da}}}, + {X: Field{[10]uint32{0x033337c5, 0x01f50015, 0x034ad955, 0x03016309, 0x0038b6cf, 0x03461071, 0x0097a507, 0x028b5481, 0x0293fc4b, 0x00165b7d}}, Y: Field{[10]uint32{0x037f4ff5, 0x00ff412c, 0x033c6bd0, 0x00cf5732, 0x0274b75c, 0x027b173f, 0x0171723e, 0x02c26ce8, 0x01e91c97, 0x0019827b}}}, + {X: Field{[10]uint32{0x00e8afb7, 0x03c28485, 0x034ee13c, 0x01665ef2, 0x00ee3ba2, 0x01ef50b5, 0x0150e8e7, 0x01e00161, 0x01d410de, 0x0008d7e3}}, Y: Field{[10]uint32{0x00fa6712, 0x038562db, 0x031bd189, 0x00ce092d, 0x0153b72c, 0x00429115, 0x00f8d595, 0x0384da00, 0x00cdb8e8, 0x002fdb83}}}, + {X: Field{[10]uint32{0x03db8b47, 0x027308c4, 0x0227904c, 0x01abbda4, 0x003f0390, 0x0203a07c, 0x01fbb28c, 0x03a47c49, 0x0297b259, 0x002a762e}}, Y: Field{[10]uint32{0x00048656, 0x01d52b3b, 0x0337bf14, 0x03d916e9, 0x015e6ce6, 0x0087d625, 0x0072afe2, 0x0203c99d, 0x015419b5, 0x00399a2e}}}, + {X: Field{[10]uint32{0x02288e5c, 0x02c1fa12, 0x027f4827, 0x00d6df66, 0x00c4e2cc, 0x004d26e2, 0x02bc6295, 0x0305c050, 0x01c64f74, 0x0014ed13}}, Y: Field{[10]uint32{0x017075d4, 0x01b855c2, 0x02c7e589, 0x021f6325, 0x02322161, 0x03fb9ed6, 0x03006ead, 0x018b1363, 0x03e14045, 0x0012bfc4}}}, + {X: Field{[10]uint32{0x000af1a0, 0x02d68096, 0x0362f947, 0x01e4121b, 0x02a91872, 0x0125121a, 0x00b56ca1, 0x03e7dc6b, 0x0038a6ba, 0x001db9b8}}, Y: Field{[10]uint32{0x01f0f0fa, 0x039ad378, 0x03fd4465, 0x035c899b, 0x003b57e0, 0x03811644, 0x0018348b, 0x0101d913, 0x01106688, 0x00146974}}}, + {X: Field{[10]uint32{0x03c1e6b5, 0x03d4efe6, 0x038702bc, 0x031c6fb1, 0x001c45b4, 0x037a192f, 0x02da284d, 0x0004a443, 0x03192fc7, 0x001dd87f}}, Y: Field{[10]uint32{0x016e11b2, 0x01f6b10a, 0x007c1d94, 0x032ec6ad, 0x03e0bb75, 0x030f9f4d, 0x037e1fdf, 0x01c65987, 0x0370a82f, 0x00202603}}}, + {X: Field{[10]uint32{0x009aadf9, 0x034a012a, 0x02d7f8fe, 0x02388434, 0x0095c0bd, 0x021a7618, 0x01cdc333, 0x03d47f9b, 0x01d61224, 0x00206672}}, Y: Field{[10]uint32{0x031ec89b, 0x038c15d2, 0x0292ddaa, 0x01f4aa74, 0x00a158ee, 0x000c371d, 0x01bbd73f, 0x008e12ba, 0x024f5cbd, 0x002fa25c}}}, + {X: Field{[10]uint32{0x01c55c0e, 0x009d0164, 0x033b799d, 0x032f9422, 0x0008bd4d, 0x02f5de76, 0x01626803, 0x00955aef, 0x01fc760a, 0x0005709e}}, Y: Field{[10]uint32{0x03390c39, 0x00f934d4, 0x01dee337, 0x02c19c85, 0x010ea0b9, 0x0328103f, 0x015d352b, 0x03258d24, 0x00bfed80, 0x003f540e}}}, + {X: Field{[10]uint32{0x00a39b46, 0x0045857e, 0x031a83c1, 0x03900520, 0x019724ac, 0x0330b9fb, 0x03b46a3e, 0x01011dbd, 0x0106b280, 0x003ecfe3}}, Y: Field{[10]uint32{0x03d2154e, 0x03ecf3da, 0x011854fb, 0x0142b264, 0x023177ed, 0x00f06f5c, 0x03fd70c6, 0x006d84ec, 0x00b6ff85, 0x003e4943}}}, + {X: Field{[10]uint32{0x02012edb, 0x03269bae, 0x0389b5ea, 0x00576c2c, 0x02f9faf4, 0x025f0ff7, 0x02723e30, 0x01049768, 0x01473c96, 0x000e6cad}}, Y: Field{[10]uint32{0x03fb7547, 0x0220bc86, 0x01564002, 0x02b8377e, 0x016bce7b, 0x03d97c8c, 0x028aedf1, 0x03d04ef5, 0x02a5a586, 0x0022b070}}}, + {X: Field{[10]uint32{0x03f1552b, 0x03fd1291, 0x0284820c, 0x00fab21f, 0x01bf72d7, 0x02c93a33, 0x03f6d0bb, 0x00546874, 0x03fae476, 0x0010b577}}, Y: Field{[10]uint32{0x00847ee4, 0x03eb6d2e, 0x02ee2922, 0x01185f61, 0x02663f6e, 0x0100ef3d, 0x03ebe3af, 0x03000589, 0x0245d941, 0x0018c765}}}, + {X: Field{[10]uint32{0x02e0bd8f, 0x007edeb9, 0x02158e31, 0x0349b671, 0x02630a0b, 0x03a48b66, 0x02dd0711, 0x02afc297, 0x02c624ec, 0x00213725}}, Y: Field{[10]uint32{0x038703c6, 0x023ab8fb, 0x025a82cc, 0x01c4302a, 0x01c795cc, 0x02f4bf09, 0x00ff10a8, 0x00c934ab, 0x018a16b7, 0x00102bcc}}}, + {X: Field{[10]uint32{0x03bf505e, 0x01ce60d2, 0x013bf018, 0x000b0db6, 0x034663ba, 0x01efdf2e, 0x03812af3, 0x033bb846, 0x020a797b, 0x0018db9d}}, Y: Field{[10]uint32{0x01f724d2, 0x03dc0e99, 0x012ffd74, 0x010015f6, 0x0069924f, 0x0012e516, 0x02dab981, 0x033dd90d, 0x024b6cc8, 0x003b5717}}}, + {X: Field{[10]uint32{0x00d06ae4, 0x03dd6026, 0x01090d4f, 0x003fd85d, 0x007d32bc, 0x0389e019, 0x01ca6f4a, 0x03b9e19a, 0x00254bb5, 0x0004dff4}}, Y: Field{[10]uint32{0x028d0fd4, 0x02dfc24c, 0x00bc808f, 0x00f7a739, 0x03e07ec2, 0x00dba4b9, 0x03186a30, 0x02aa83a6, 0x02a225ea, 0x000a0b5a}}}, + {X: Field{[10]uint32{0x02459e92, 0x01cd3484, 0x00b611b6, 0x01805eaf, 0x00df781f, 0x02c943f0, 0x01bc7a5c, 0x02495ad5, 0x004839e4, 0x000862ae}}, Y: Field{[10]uint32{0x010e1599, 0x012cf393, 0x02444c99, 0x03f1c072, 0x001a7212, 0x00cbce7c, 0x00c49c8d, 0x02c3710c, 0x0356b53f, 0x001fac53}}}, + {X: Field{[10]uint32{0x038eda65, 0x00552557, 0x034fb619, 0x0267aed3, 0x011b2f0a, 0x03c4dd81, 0x029e3a78, 0x008be37d, 0x03a0106f, 0x001acfde}}, Y: Field{[10]uint32{0x0330d299, 0x03ededc8, 0x013b7aaa, 0x000174db, 0x036c8310, 0x0207a21c, 0x019a4ab4, 0x01afbe1b, 0x00c44c94, 0x000315e2}}}, + {X: Field{[10]uint32{0x01e8ceca, 0x038c7f76, 0x03d08c5d, 0x032bdffb, 0x02131ad1, 0x00bad6e1, 0x02fdf196, 0x00465465, 0x02cba2de, 0x0026d053}}, Y: Field{[10]uint32{0x0325a637, 0x024897a9, 0x00797063, 0x0216579d, 0x0251e94e, 0x036a7d39, 0x01b06269, 0x037d0203, 0x031f9550, 0x000e39bc}}}, + {X: Field{[10]uint32{0x02940653, 0x03d986c9, 0x01f8ecba, 0x023bcfcb, 0x02156a4a, 0x00751135, 0x0133af0d, 0x0097861a, 0x03a18574, 0x0010dac1}}, Y: Field{[10]uint32{0x003f2d44, 0x0156cc51, 0x0053ace1, 0x0346f393, 0x03c6822d, 0x0093f318, 0x02427137, 0x03af7b29, 0x0335f124, 0x0025294b}}}, + {X: Field{[10]uint32{0x028fbc6b, 0x00cb3544, 0x034d1fff, 0x00a08266, 0x00b8d76f, 0x01ed78a4, 0x0019bd18, 0x017e08cd, 0x033809b2, 0x003302a4}}, Y: Field{[10]uint32{0x023f458e, 0x02ffa1db, 0x029ec220, 0x01e90c3b, 0x00e713ad, 0x01d54038, 0x00cb6278, 0x031ea512, 0x006dec7a, 0x000331fa}}}, + {X: Field{[10]uint32{0x03a19858, 0x007fa0f0, 0x038888f2, 0x03a9cbef, 0x037ea684, 0x02be372a, 0x03b1907e, 0x01debf31, 0x016eaaf8, 0x001686cc}}, Y: Field{[10]uint32{0x0181e7e1, 0x010933b3, 0x00450cf7, 0x02508b6f, 0x02744110, 0x029a504b, 0x02b3466d, 0x0211a9ad, 0x039ada08, 0x0012bc0c}}}, + {X: Field{[10]uint32{0x016c53ee, 0x01f5025b, 0x0327400e, 0x0094be7f, 0x01ac4a57, 0x000e62c9, 0x021e4114, 0x012ec87f, 0x01657444, 0x003ebe24}}, Y: Field{[10]uint32{0x01a43100, 0x0053db26, 0x03cb3997, 0x02b20420, 0x01d87984, 0x02c5b271, 0x00b64263, 0x0151fd77, 0x015faf75, 0x0033e9de}}}, + {X: Field{[10]uint32{0x0174f248, 0x03937ab4, 0x01e33aa9, 0x00b52586, 0x00c94cd2, 0x031b2c0a, 0x000c68c6, 0x00588c61, 0x018aca14, 0x000e797f}}, Y: Field{[10]uint32{0x003c1ff1, 0x00429be3, 0x0210561d, 0x02194a2a, 0x020a8d36, 0x023d989d, 0x0013e788, 0x036995d0, 0x03657083, 0x003e0487}}}, + {X: Field{[10]uint32{0x0325cbc1, 0x010c2600, 0x000e9257, 0x0350866f, 0x02a64b8e, 0x03ef84d5, 0x013cddf6, 0x0033cb33, 0x01ec147d, 0x0008284d}}, Y: Field{[10]uint32{0x0282c013, 0x008ab9bb, 0x006a7156, 0x002a047c, 0x01fa1d17, 0x01d74c2a, 0x0101fd26, 0x00dc9530, 0x00abea1a, 0x002c5d45}}}, + {X: Field{[10]uint32{0x0072320a, 0x0070ad0b, 0x011fab46, 0x00462a21, 0x039903ca, 0x031d6c4e, 0x03d69e2a, 0x03dcfe84, 0x01b8af48, 0x00286068}}, Y: Field{[10]uint32{0x03a6df20, 0x03212ca5, 0x02a5a219, 0x00e8310e, 0x00a66fbd, 0x035621e8, 0x032c432a, 0x01f988f5, 0x00673f48, 0x00325b21}}}, + {X: Field{[10]uint32{0x01b3ee4f, 0x0118b1df, 0x03fc2752, 0x02557ae1, 0x01eb4626, 0x0145b7a3, 0x035d76a9, 0x01768beb, 0x0031720a, 0x000e57f0}}, Y: Field{[10]uint32{0x0359ad6a, 0x022fd071, 0x00523128, 0x01a66cd0, 0x00962ac8, 0x00fb1127, 0x00e14e7c, 0x00e256ad, 0x006b5378, 0x0012baf2}}}, + {X: Field{[10]uint32{0x0364fa6f, 0x01accf46, 0x03d17424, 0x0395c6e7, 0x0103fffc, 0x02ed8cdf, 0x01632a61, 0x00ae5a1f, 0x01ecf6df, 0x0028db7a}}, Y: Field{[10]uint32{0x011999f4, 0x03721899, 0x01ea9cdb, 0x027f43c1, 0x01620fe2, 0x01f7ad03, 0x0212e147, 0x0345006c, 0x004fa133, 0x001e1393}}}, + {X: Field{[10]uint32{0x0040ba8c, 0x01d1b8a6, 0x00359d04, 0x02e0f6f7, 0x03e55a3a, 0x0114d7d5, 0x03818200, 0x0110c3dc, 0x0099ecee, 0x00232d6a}}, Y: Field{[10]uint32{0x017ff59a, 0x03697780, 0x00b2cb92, 0x02c7bc0b, 0x01731ded, 0x00f4a2d3, 0x01df0ecc, 0x028f04b0, 0x002ae9c3, 0x0004a9ca}}}, + {X: Field{[10]uint32{0x00b60985, 0x0142d998, 0x01f299c4, 0x0362c9ac, 0x004cee72, 0x00bf47ef, 0x02372012, 0x026e8643, 0x01e14d9c, 0x00037910}}, Y: Field{[10]uint32{0x0271b63e, 0x03884500, 0x02110508, 0x0319d40c, 0x022927b3, 0x009fefad, 0x03740d44, 0x0374cf53, 0x030ed12d, 0x002b7468}}}, + {X: Field{[10]uint32{0x039fbab7, 0x02081ea6, 0x01067407, 0x030e5ca5, 0x00520646, 0x004a3446, 0x02f3c1b7, 0x0151283c, 0x0356b5e5, 0x002238e2}}, Y: Field{[10]uint32{0x0000e5e3, 0x00763984, 0x034b7810, 0x00828b63, 0x00dc8ea0, 0x02f6bc61, 0x03ac529c, 0x02595b96, 0x008ed44e, 0x00220cc8}}}, + {X: Field{[10]uint32{0x034640a7, 0x03ccdd03, 0x0266c6c5, 0x032583d4, 0x013ee217, 0x0234b5ca, 0x03fa3d15, 0x019082e7, 0x0192f561, 0x00293c3e}}, Y: Field{[10]uint32{0x002e6ddb, 0x0038807e, 0x01e713d8, 0x023a04a2, 0x010b131a, 0x006bd0bf, 0x02c9188a, 0x021af103, 0x01a8437a, 0x003699d0}}}, + {X: Field{[10]uint32{0x005c945b, 0x014901c7, 0x02ad7efe, 0x02fcdfe5, 0x0286899f, 0x01147634, 0x00a40bee, 0x02aab981, 0x00cff2d1, 0x0017c02a}}, Y: Field{[10]uint32{0x019deb12, 0x02d8f4ad, 0x0262a424, 0x034eb9b1, 0x030b48ea, 0x011a4b56, 0x011549fb, 0x01b5b8e7, 0x00b69ea7, 0x0004d7f2}}}, + {X: Field{[10]uint32{0x00f99218, 0x01b38c62, 0x00da0b41, 0x019ea79b, 0x039d1689, 0x00e376e3, 0x004c7998, 0x03f28bb8, 0x020ebfd6, 0x00164d46}}, Y: Field{[10]uint32{0x010fdb34, 0x00f53a75, 0x025b64fe, 0x0275ce91, 0x000fc415, 0x00a479f2, 0x0227b6d4, 0x03d2a0a3, 0x02673184, 0x001b8068}}}, + {X: Field{[10]uint32{0x00b1aecf, 0x025be44b, 0x039f72c7, 0x01cf9dfc, 0x006705ef, 0x03c98f43, 0x007387a5, 0x00cecf7a, 0x0235f5c5, 0x00005d7b}}, Y: Field{[10]uint32{0x01d9513f, 0x0340a02e, 0x03506a80, 0x018cf35e, 0x005fca3b, 0x0317ef58, 0x00d40fc4, 0x03909878, 0x03154540, 0x0028de49}}}, + {X: Field{[10]uint32{0x0347b8fe, 0x01f7eefc, 0x033b0204, 0x0077eb40, 0x00565595, 0x01e416b5, 0x036362fa, 0x0062b26a, 0x0341597b, 0x001d4626}}, Y: Field{[10]uint32{0x01b2527e, 0x01deddc8, 0x03ed5b01, 0x010a116b, 0x01aa2468, 0x015a967b, 0x00023de2, 0x0043a95f, 0x01210ffa, 0x003d4dbf}}}, + {X: Field{[10]uint32{0x019bd4ae, 0x02690528, 0x01c72004, 0x01cdad68, 0x02438855, 0x01fbf48e, 0x03d2a315, 0x035971c2, 0x02c32522, 0x00246be7}}, Y: Field{[10]uint32{0x001a32de, 0x01aec21d, 0x02d6e643, 0x00668b29, 0x0331c9cc, 0x002d1066, 0x004898ed, 0x02e161ad, 0x03c38462, 0x000c4801}}}, + {X: Field{[10]uint32{0x00565c27, 0x02876129, 0x01b04712, 0x02906853, 0x00732273, 0x03ca0f17, 0x01094432, 0x03574174, 0x008d41fa, 0x00376cbf}}, Y: Field{[10]uint32{0x029c1d0a, 0x02e8beb5, 0x01a38d63, 0x02db5fcb, 0x028f6ac9, 0x0224f424, 0x01673a09, 0x031bd080, 0x00c502ce, 0x0013df8c}}}, + {X: Field{[10]uint32{0x023641a6, 0x037077fd, 0x00f96f7d, 0x001fcac1, 0x01ad40a9, 0x0290494e, 0x0144936e, 0x00370d40, 0x0122d724, 0x00273997}}, Y: Field{[10]uint32{0x01d97c8c, 0x009d825e, 0x02340cf9, 0x010e0150, 0x00c3037e, 0x01818bd5, 0x020b4257, 0x02f19091, 0x01877f25, 0x002be4f9}}}, + {X: Field{[10]uint32{0x036e9a2b, 0x01b5dbdd, 0x015f5493, 0x02c079fe, 0x015489f1, 0x002fd24b, 0x003932eb, 0x03b16247, 0x00d41fed, 0x001f7034}}, Y: Field{[10]uint32{0x0107c47a, 0x01a6656c, 0x0134fa52, 0x03d694d6, 0x001e9bbc, 0x00e0c685, 0x021c7a49, 0x00f04efe, 0x039e760c, 0x00355689}}}, + {X: Field{[10]uint32{0x000e5ead, 0x000ea553, 0x008c163d, 0x003cca07, 0x02f190d4, 0x00f92a9f, 0x018d351f, 0x035ca277, 0x015cb6b4, 0x00034048}}, Y: Field{[10]uint32{0x00fdc662, 0x00b2206c, 0x02a2548b, 0x0318267b, 0x01c68be6, 0x01906153, 0x03ce7fe0, 0x01fbb9c8, 0x004bccbd, 0x003be60d}}}, + {X: Field{[10]uint32{0x017cb92f, 0x0019d9e3, 0x02af3e1d, 0x0318a4cf, 0x00bb6498, 0x02f7fcf5, 0x011b0d29, 0x03be3d66, 0x0031a9fa, 0x00035347}}, Y: Field{[10]uint32{0x026a4831, 0x017e18ab, 0x0190a4df, 0x036e93d9, 0x02715fae, 0x00861791, 0x03ccd42f, 0x0247ea16, 0x0048ac6b, 0x00263cea}}}, + {X: Field{[10]uint32{0x02080839, 0x034bc931, 0x035a49fa, 0x00310686, 0x023d718f, 0x0212c78c, 0x022d83c0, 0x03c930f6, 0x02cf42ab, 0x00331967}}, Y: Field{[10]uint32{0x001f963c, 0x009d86b2, 0x00cbbf0f, 0x0250fe13, 0x00c7aef0, 0x039e55d6, 0x02df249a, 0x00ce66db, 0x01554d84, 0x001eef7f}}}, + {X: Field{[10]uint32{0x01ea4b04, 0x0345905c, 0x0104e594, 0x01d59c23, 0x00f0eb47, 0x01e2fbcd, 0x0074e944, 0x03ce1674, 0x0167d5cf, 0x00066e85}}, Y: Field{[10]uint32{0x02820f9a, 0x014d2152, 0x00ed5d4f, 0x024722e4, 0x0030555c, 0x03967044, 0x00583114, 0x02c0bb6a, 0x001bd536, 0x000d3a8a}}}, + {X: Field{[10]uint32{0x03bbc30f, 0x01e63d75, 0x006a5437, 0x039d4a56, 0x02e825d8, 0x0354b4b6, 0x01960e5f, 0x01641d8c, 0x02e31a6e, 0x000fc3c0}}, Y: Field{[10]uint32{0x03e63c3b, 0x00241878, 0x0119a035, 0x00a5ed01, 0x0162a3bf, 0x038b35a9, 0x0079ddcb, 0x03536964, 0x03c33aec, 0x002e4f89}}}, + {X: Field{[10]uint32{0x0149ab12, 0x001e4900, 0x0323e0df, 0x025b97ea, 0x008d0fb0, 0x003ce0ad, 0x01dd895b, 0x00ff656a, 0x008f35f6, 0x00262131}}, Y: Field{[10]uint32{0x0180eb44, 0x00907ed0, 0x02aa013f, 0x017a627f, 0x03e01154, 0x022dbd06, 0x01e321f5, 0x010df0f5, 0x02667070, 0x0015a230}}}, + {X: Field{[10]uint32{0x006c7b4d, 0x026edf31, 0x00b47448, 0x0380ac8f, 0x02bb4a6f, 0x00be0f96, 0x002e85ac, 0x027154c2, 0x029379bc, 0x002503ca}}, Y: Field{[10]uint32{0x0321fd9d, 0x03038b1f, 0x02284700, 0x0274b2b8, 0x002aa742, 0x02f1a9e1, 0x027c735c, 0x02763d47, 0x038077ba, 0x002d2e08}}}, + {X: Field{[10]uint32{0x00b782f0, 0x01d0bad6, 0x0001c0e0, 0x000d0be4, 0x005f4beb, 0x014d0fa9, 0x02feccbb, 0x00f67d06, 0x019ce535, 0x002a69da}}, Y: Field{[10]uint32{0x0187c994, 0x02a565e5, 0x018b4c7c, 0x02f17ed2, 0x01b0536f, 0x029806b2, 0x0341f778, 0x0233c690, 0x02aab3e1, 0x000f1d67}}}, + {X: Field{[10]uint32{0x03218913, 0x008898c2, 0x034afb15, 0x00748fc9, 0x0293f4da, 0x00b4044a, 0x0236cc28, 0x036c015b, 0x008a009c, 0x0028878d}}, Y: Field{[10]uint32{0x02be89ed, 0x0307d31f, 0x038da588, 0x01cec79d, 0x03c70b18, 0x01c07998, 0x00b8e28a, 0x025419bb, 0x03fa652f, 0x00050550}}}, + {X: Field{[10]uint32{0x025fd383, 0x0123ecd6, 0x01ca41f0, 0x0018c1a9, 0x00e81429, 0x006339ce, 0x03298d60, 0x0384614a, 0x01951121, 0x0035b553}}, Y: Field{[10]uint32{0x028a7a83, 0x014d1160, 0x02912412, 0x03cd4d68, 0x028f76c8, 0x02363bb4, 0x00fe9d03, 0x007f88c1, 0x00b8de89, 0x00225f73}}}, + {X: Field{[10]uint32{0x031e6cda, 0x0303c770, 0x03ebe21c, 0x01928e91, 0x026232b4, 0x03bec4be, 0x00c7f7b5, 0x03abed22, 0x035dc937, 0x001f8298}}, Y: Field{[10]uint32{0x01e921e2, 0x00eb18e3, 0x01e822d6, 0x021b3b58, 0x0274489c, 0x02b72fcd, 0x025b34e3, 0x017874b3, 0x014a7552, 0x00034b47}}}, + {X: Field{[10]uint32{0x0051a659, 0x02802e35, 0x000d3afe, 0x0053eb08, 0x0155bafa, 0x01acfeba, 0x00870e83, 0x0071a10a, 0x000f66a2, 0x00133882}}, Y: Field{[10]uint32{0x007da4c4, 0x03c157db, 0x01b1d891, 0x0249cf8c, 0x02f0ca1b, 0x0037e4eb, 0x00d0f3ef, 0x000bf4c6, 0x0226565b, 0x000a787e}}}, + {X: Field{[10]uint32{0x012bad2e, 0x007d509c, 0x00f7fc09, 0x02d363d6, 0x01e6d4b7, 0x02e27a05, 0x00d5caf1, 0x02fd9567, 0x0387b633, 0x0036ae1a}}, Y: Field{[10]uint32{0x03c85b5e, 0x0057acd4, 0x03bdf8fd, 0x00d1f95e, 0x004506a6, 0x0156f64c, 0x00159d7f, 0x0157ce36, 0x0109d79a, 0x0023926c}}}, + {X: Field{[10]uint32{0x0365aca9, 0x00a4006c, 0x017a56ae, 0x012854a2, 0x01ba1622, 0x01d9cb4e, 0x035386ea, 0x00cb93a2, 0x02c290fa, 0x0031a852}}, Y: Field{[10]uint32{0x035dbc67, 0x003ab1dc, 0x00164b2c, 0x00b7e896, 0x0245cd5f, 0x00bfd857, 0x021967a4, 0x0223f890, 0x00d6dcc5, 0x0010aab7}}}, + {X: Field{[10]uint32{0x02450a27, 0x0138853a, 0x0041de69, 0x02b32284, 0x0263510b, 0x03cd163d, 0x03244004, 0x00423ca3, 0x0240880b, 0x0009667e}}, Y: Field{[10]uint32{0x03a57a01, 0x0365321e, 0x013e6951, 0x01b95230, 0x02a424c4, 0x0280aff4, 0x03a973a1, 0x0337d1a9, 0x02ad4ae1, 0x000151e4}}}, + {X: Field{[10]uint32{0x02d9f9ff, 0x035d1da3, 0x0153bbf3, 0x00cdbe91, 0x01312655, 0x01e7b10f, 0x02d8fe9e, 0x02a3deab, 0x00b4a6af, 0x003daac3}}, Y: Field{[10]uint32{0x005026ef, 0x0365d1a1, 0x013f973f, 0x02f15ebc, 0x0282e913, 0x0241ff35, 0x001a4761, 0x00024123, 0x0189c4ba, 0x0013a849}}}, + {X: Field{[10]uint32{0x007f1dfc, 0x03522c9c, 0x01bebdfd, 0x03caf1c7, 0x0372738f, 0x00ffd369, 0x017ecdbd, 0x000838b6, 0x008bab8f, 0x003d46f5}}, Y: Field{[10]uint32{0x02697c40, 0x024fcfd2, 0x01e4308c, 0x0148922f, 0x01b361c7, 0x01fbe43e, 0x03fe7bce, 0x011fea29, 0x03a0947f, 0x001ac5a2}}}, + {X: Field{[10]uint32{0x022a3443, 0x0263c292, 0x013625c8, 0x02194d48, 0x020a50b2, 0x0342fdf4, 0x0398f2b1, 0x02a432bd, 0x01146c9c, 0x002d807c}}, Y: Field{[10]uint32{0x021f87dd, 0x03c8e471, 0x027edf0c, 0x0343f305, 0x006877fe, 0x027c3c44, 0x0317a115, 0x02d9d57c, 0x004136b6, 0x0029b28c}}}, + {X: Field{[10]uint32{0x005f974b, 0x0241947e, 0x01ccb37e, 0x0163ca1c, 0x015be6a1, 0x0316dc64, 0x030511f0, 0x01f011db, 0x027ae595, 0x001e4b75}}, Y: Field{[10]uint32{0x031dd44b, 0x01d60252, 0x03bcb941, 0x017212b0, 0x011a4c1c, 0x00bd18f8, 0x004774dd, 0x027da4e9, 0x00b9bec5, 0x0026dfd7}}}, + {X: Field{[10]uint32{0x03b093f9, 0x0004c0a2, 0x00377931, 0x0080cf0d, 0x004c29c4, 0x0009452b, 0x0300eb4f, 0x03d2b6cd, 0x026933b6, 0x001f6211}}, Y: Field{[10]uint32{0x01e2cb3b, 0x025187ed, 0x00885a2f, 0x03e2944d, 0x022ebeb5, 0x0391b0c1, 0x007ead35, 0x00036d4a, 0x035e6745, 0x000bf230}}}, + {X: Field{[10]uint32{0x012a5351, 0x03b6e01a, 0x00249010, 0x01077e0b, 0x01ead4bc, 0x01c2250d, 0x03820387, 0x02182c86, 0x03916d0f, 0x00271dba}}, Y: Field{[10]uint32{0x01c88b62, 0x0260a43d, 0x006b0d99, 0x03835b78, 0x030e51d1, 0x0231dda7, 0x0235a6da, 0x00055878, 0x03f33880, 0x001caeb6}}}, + {X: Field{[10]uint32{0x03d807f9, 0x02ec3cc7, 0x0024ecf5, 0x0360b6bf, 0x038fef18, 0x00791f0c, 0x0252a2aa, 0x024f8557, 0x02383d8a, 0x002926d5}}, Y: Field{[10]uint32{0x001d3ae0, 0x0163a364, 0x0176dbee, 0x03987f3a, 0x029dc392, 0x0324d191, 0x00b0760b, 0x013133b9, 0x01b39bf3, 0x0006f09c}}}, + {X: Field{[10]uint32{0x00634460, 0x01891f37, 0x029e0a4d, 0x03f9deba, 0x02a704c9, 0x023c71cb, 0x01d5cc96, 0x02c2c32a, 0x035a675b, 0x000134c4}}, Y: Field{[10]uint32{0x000cfc4e, 0x029dbb8a, 0x02d38395, 0x03bda333, 0x02cb74bc, 0x03c0ac4e, 0x031ffeac, 0x03d2f3cb, 0x00be72f5, 0x002b975f}}}, + {X: Field{[10]uint32{0x0253f588, 0x00cc2267, 0x00e3711f, 0x020ea481, 0x00eff955, 0x010bc64b, 0x00421b9b, 0x01b8e3f0, 0x03be17dd, 0x001655cb}}, Y: Field{[10]uint32{0x021c7c24, 0x01150877, 0x0382a39c, 0x00be6dc9, 0x03a01c8f, 0x03582811, 0x01ab8051, 0x00fe79a8, 0x0240a8cb, 0x0015c4d1}}}, + {X: Field{[10]uint32{0x012d9511, 0x03a8799c, 0x005a5cb5, 0x00203d58, 0x020a5fff, 0x00a34ba6, 0x02a1c612, 0x01e03b2a, 0x006d49b4, 0x001cf333}}, Y: Field{[10]uint32{0x03752cf4, 0x00b353f8, 0x0308edbb, 0x01b5aa16, 0x036a52c0, 0x026c5634, 0x012ea8b5, 0x0323c470, 0x0174f986, 0x00118ea3}}}, + {X: Field{[10]uint32{0x004c1e46, 0x00f0a8e3, 0x03d1ee50, 0x03c61da0, 0x02ae3885, 0x023f73db, 0x02f7280e, 0x002aa51d, 0x03fddb62, 0x002db23a}}, Y: Field{[10]uint32{0x03d39802, 0x02441839, 0x01ddeb40, 0x0157cc85, 0x0276a25d, 0x02065297, 0x0175c2ac, 0x000122f9, 0x02d9f021, 0x00269beb}}}, + {X: Field{[10]uint32{0x005e392e, 0x01ff2713, 0x01f7eb50, 0x02353087, 0x03b9cc4a, 0x00c19f78, 0x0196c539, 0x01524f6a, 0x020f92de, 0x002d058b}}, Y: Field{[10]uint32{0x023b385b, 0x0149585a, 0x01120a40, 0x005dee3b, 0x02eecf22, 0x00183660, 0x03978733, 0x0074d918, 0x00d0c921, 0x00333384}}}, + {X: Field{[10]uint32{0x012b33a2, 0x011a75e3, 0x019b7a2a, 0x02359513, 0x00a58100, 0x0282e350, 0x02919552, 0x00d75eaf, 0x0166ca42, 0x0011afc9}}, Y: Field{[10]uint32{0x02785040, 0x01f21ff1, 0x01ef10b7, 0x03c0085c, 0x01285b5c, 0x0342f275, 0x0182e39c, 0x0221064b, 0x016bb827, 0x001bd9bf}}}, + {X: Field{[10]uint32{0x0159ab2f, 0x02a4538f, 0x036b7419, 0x01a0aa7b, 0x01b5422a, 0x022704d7, 0x02dfcd1b, 0x02a73e2e, 0x01a4e869, 0x001e111b}}, Y: Field{[10]uint32{0x028c9ce3, 0x00ad6196, 0x0098327d, 0x02fcb50a, 0x023f5f31, 0x00cefaf7, 0x003c051f, 0x011b0678, 0x0131db7e, 0x0010856c}}}, + {X: Field{[10]uint32{0x0205f3b7, 0x02fc0055, 0x01d1f4be, 0x032972f4, 0x03fa2b01, 0x017ae3b6, 0x03dc7629, 0x0203350a, 0x02055110, 0x0021a21a}}, Y: Field{[10]uint32{0x03914466, 0x001f9dfd, 0x037d7675, 0x03b565e9, 0x00f9b753, 0x00eb7501, 0x038854a8, 0x030371c1, 0x01f35579, 0x0031c6da}}}, + {X: Field{[10]uint32{0x03713388, 0x03652f20, 0x03371e16, 0x03f2ca29, 0x0036d5fa, 0x011101b8, 0x038675a7, 0x03f10ff4, 0x035e37f8, 0x00280b99}}, Y: Field{[10]uint32{0x0041239e, 0x005cf7bf, 0x01c36de3, 0x03568626, 0x004ee66b, 0x01dfa7ab, 0x02162512, 0x020353ab, 0x0141835c, 0x0035be69}}}, + {X: Field{[10]uint32{0x0092bf26, 0x03322261, 0x03f14ea4, 0x01dfb8a1, 0x009b2997, 0x025ef013, 0x01100966, 0x01b3b734, 0x02a8432c, 0x00285ada}}, Y: Field{[10]uint32{0x020db298, 0x035c9053, 0x01aced2f, 0x028627bc, 0x021e734d, 0x03a9f853, 0x00ed6446, 0x010ab034, 0x0270ef9e, 0x00017046}}}, + {X: Field{[10]uint32{0x00f45b5a, 0x0052e638, 0x01c5c971, 0x00afe1a1, 0x0212d7fc, 0x01ee07f2, 0x03a1205f, 0x03979742, 0x02fe775f, 0x0019a8fc}}, Y: Field{[10]uint32{0x025e3eaf, 0x008c1417, 0x001c8c18, 0x038a57b4, 0x0100e626, 0x002d3ac8, 0x00daad03, 0x03527554, 0x0114a49a, 0x0014166f}}}, + {X: Field{[10]uint32{0x0314b3a1, 0x004de114, 0x01785962, 0x0183aa15, 0x02a1f094, 0x0184542e, 0x01c63210, 0x001319d5, 0x03cebf9a, 0x002691e8}}, Y: Field{[10]uint32{0x0040a80a, 0x03bf03bb, 0x02acbc6c, 0x03c8ae57, 0x03efd3a3, 0x024a5a49, 0x03c7045b, 0x01f9abcd, 0x02ce8f38, 0x0008b697}}}, + {X: Field{[10]uint32{0x036628c5, 0x03d89cd6, 0x02c6f97a, 0x014d27e6, 0x0312b25a, 0x03c63ea1, 0x00e3c288, 0x02e6878f, 0x00149027, 0x00070050}}, Y: Field{[10]uint32{0x02448a4f, 0x015b2583, 0x03d353a4, 0x00d15d4e, 0x0087b499, 0x00583e5e, 0x00bc34ff, 0x034f5ade, 0x00fcd048, 0x0019c864}}}, + {X: Field{[10]uint32{0x028d84cc, 0x03bff94b, 0x0231d057, 0x0002793a, 0x018d1374, 0x025f81d9, 0x00965cd4, 0x03a1d96b, 0x030a1de5, 0x0030b659}}, Y: Field{[10]uint32{0x013ccdf1, 0x029c9c7c, 0x02379cc7, 0x02303e14, 0x00b97a2e, 0x00a55b42, 0x0356b585, 0x03eec4ea, 0x0247a6dd, 0x003fe061}}}, + {X: Field{[10]uint32{0x0196ec1d, 0x006c7972, 0x026910e0, 0x03954e5a, 0x03d21339, 0x005075a3, 0x00e094c4, 0x01a9a5c3, 0x004716fd, 0x0006a7fb}}, Y: Field{[10]uint32{0x03f8557e, 0x001b62e4, 0x0140c240, 0x00e047d7, 0x01d29b87, 0x025778a4, 0x037639b5, 0x01cffa53, 0x02eb6c83, 0x0038e3ac}}}, + {X: Field{[10]uint32{0x01d8c464, 0x015abec0, 0x03bae778, 0x019a6358, 0x0053a514, 0x02c6ac9b, 0x029e5006, 0x0069b503, 0x02ed15e9, 0x002df7d4}}, Y: Field{[10]uint32{0x02e21254, 0x03b14c2d, 0x01ac1162, 0x0034297f, 0x01705c36, 0x03c60354, 0x010706ff, 0x03f63e67, 0x01bfd915, 0x003a983c}}}, + {X: Field{[10]uint32{0x03db6b5f, 0x03e65675, 0x039d1295, 0x03e21222, 0x00918ba7, 0x000d4cd4, 0x0086a534, 0x00b8bef7, 0x00cabd09, 0x0000be57}}, Y: Field{[10]uint32{0x01693ad2, 0x01192368, 0x02a7b523, 0x024e36c7, 0x01d5b0f8, 0x0026fce3, 0x02a9c3df, 0x03b61967, 0x0014fe6c, 0x000c515a}}}, + {X: Field{[10]uint32{0x018a7c1c, 0x029984af, 0x03fea883, 0x028df7bc, 0x023b6ae1, 0x00df9008, 0x01a432ca, 0x03936da8, 0x02c864df, 0x001d8e49}}, Y: Field{[10]uint32{0x0361bd1f, 0x00fc2970, 0x03a410bd, 0x0396e793, 0x00a3e741, 0x0203c7e6, 0x00b3e63d, 0x03443aed, 0x03724378, 0x003cd356}}}, + {X: Field{[10]uint32{0x00a31b0d, 0x0201f272, 0x00ebf72a, 0x03746371, 0x03708ce2, 0x032db262, 0x012a513f, 0x01b3dbcc, 0x027a1291, 0x000b90ef}}, Y: Field{[10]uint32{0x0024acfa, 0x03a67437, 0x019c5971, 0x0024232d, 0x00a3a9dc, 0x03545334, 0x0257b6ce, 0x01f95c5b, 0x0224ce1b, 0x0036e464}}}, + {X: Field{[10]uint32{0x014a5561, 0x02583073, 0x02df9a56, 0x03ec4e96, 0x002d1acd, 0x03f1a1cf, 0x0331984a, 0x01f4a1d9, 0x008f1a86, 0x001f5979}}, Y: Field{[10]uint32{0x0183ebfc, 0x01f32fb6, 0x029da7b9, 0x00daf9f9, 0x00bc9924, 0x02bde576, 0x00e2d4bc, 0x01eb4bfc, 0x0155f095, 0x00271cee}}}, + {X: Field{[10]uint32{0x0019d725, 0x02529c5e, 0x02b7c10b, 0x021f171d, 0x006b132c, 0x035c54e4, 0x02166f04, 0x02ddcb2b, 0x00c03131, 0x00071afb}}, Y: Field{[10]uint32{0x023280ad, 0x0313492c, 0x0106e318, 0x008b3ed2, 0x0041b84a, 0x02bf7d82, 0x03dd26cd, 0x0214cc25, 0x00ff9499, 0x000b0f19}}}, + {X: Field{[10]uint32{0x03347675, 0x02ca9904, 0x020f8198, 0x02c1fa74, 0x01aff339, 0x01fb7c1e, 0x02c83c7d, 0x020408ca, 0x025d5d11, 0x003d410a}}, Y: Field{[10]uint32{0x01a3e4c8, 0x01f7ff5e, 0x01d20b59, 0x015d6a2f, 0x02b2723f, 0x02811414, 0x02388020, 0x03f1b4bc, 0x03bce644, 0x00067043}}}, + {X: Field{[10]uint32{0x014be300, 0x00cd622f, 0x02539b48, 0x03c0b784, 0x030e0ee9, 0x01038213, 0x000c8872, 0x00d4f9b8, 0x0066c2c0, 0x001f0e1e}}, Y: Field{[10]uint32{0x032b8f79, 0x00ded0fb, 0x00ab400c, 0x0155b2bd, 0x0356f088, 0x001d2003, 0x03c49c6d, 0x0316350b, 0x0394587f, 0x0033319b}}}, + {X: Field{[10]uint32{0x02b3c140, 0x0081b93a, 0x034e0b7b, 0x03445a47, 0x02104b35, 0x022e8bb7, 0x02381945, 0x0370adb3, 0x0123d33a, 0x003b3a2b}}, Y: Field{[10]uint32{0x000c0a88, 0x029023df, 0x01e7c5c6, 0x00bd4d99, 0x031c7e67, 0x0326dca3, 0x00245a12, 0x034fd7cf, 0x02c07fa1, 0x003bb25d}}}, + {X: Field{[10]uint32{0x01d12b9d, 0x02bd63c6, 0x03c56a1b, 0x0064f8b2, 0x00b951cf, 0x034085dd, 0x02efecc7, 0x0370e327, 0x0126a274, 0x00208ac2}}, Y: Field{[10]uint32{0x00118313, 0x0030b791, 0x0263f1be, 0x0021443f, 0x023638f0, 0x03f3c144, 0x014d2c49, 0x030dd60c, 0x010af9ca, 0x00122f2c}}}, + {X: Field{[10]uint32{0x0385b8c3, 0x00b9dec3, 0x028a85cd, 0x011e0311, 0x03401dfe, 0x03398bf8, 0x0058d257, 0x03d0a3e8, 0x02036ef5, 0x00349a8e}}, Y: Field{[10]uint32{0x026a6fa7, 0x02c45d44, 0x00ba010f, 0x033e6eb9, 0x0362f1bb, 0x00c230b6, 0x01c6759a, 0x010ca5f5, 0x03623a64, 0x002630e5}}}, + {X: Field{[10]uint32{0x03019090, 0x00f0d1a4, 0x024beb5b, 0x037eec59, 0x0124c8fc, 0x02891f47, 0x0002ab6c, 0x032ef40c, 0x001d8aa0, 0x001ffaee}}, Y: Field{[10]uint32{0x02c3ec26, 0x02918129, 0x03b446cf, 0x008f62c8, 0x03966dc9, 0x02a12e6f, 0x00ca6c02, 0x01b69d51, 0x03cb12ca, 0x003b9896}}}, + {X: Field{[10]uint32{0x01d3473c, 0x03cac394, 0x0008733d, 0x00a9b78b, 0x02b7aa00, 0x030d912e, 0x0363a75c, 0x02daef9b, 0x00e72d43, 0x0020e791}}, Y: Field{[10]uint32{0x000fb9a9, 0x02478c4d, 0x03da43e5, 0x026150ac, 0x002d876d, 0x01dd6fda, 0x0163806d, 0x00508829, 0x023526f4, 0x0020da3d}}}, + {X: Field{[10]uint32{0x030d7afe, 0x0163ab36, 0x01135ea9, 0x025e1b48, 0x017e049b, 0x00fcbbb6, 0x02c84f32, 0x0381f278, 0x03da1c96, 0x0014ba51}}, Y: Field{[10]uint32{0x0073a831, 0x019c39b5, 0x0097d9fa, 0x003b7112, 0x02bdbbe5, 0x027e9cae, 0x01e19a90, 0x0034f4e7, 0x02c9e0c7, 0x001af3f7}}}, + {X: Field{[10]uint32{0x027f3603, 0x0231ad31, 0x000cedb1, 0x01d33f2c, 0x00c8b220, 0x0323a793, 0x03f6dd71, 0x029d0c75, 0x002605e4, 0x001cbb15}}, Y: Field{[10]uint32{0x006b5ee5, 0x01b53e9e, 0x01023615, 0x03e056f2, 0x0249455c, 0x007bb52e, 0x02a6d715, 0x03be53d7, 0x020b7f9d, 0x00376e4d}}}, + {X: Field{[10]uint32{0x0006c849, 0x026b74c5, 0x00f36af3, 0x03a75aa4, 0x012ac051, 0x00a18f44, 0x02bf9baf, 0x015a2405, 0x031559a5, 0x000dc28f}}, Y: Field{[10]uint32{0x03005840, 0x0283b187, 0x01ddaba3, 0x024c8d74, 0x03ee80d9, 0x002c419e, 0x01ab5d32, 0x033b9825, 0x01a68517, 0x0021532f}}}, + {X: Field{[10]uint32{0x03ef5dc2, 0x03e68e66, 0x02c6a714, 0x0033dc66, 0x0141d1cf, 0x01dfbda8, 0x03af5275, 0x03ef6f2c, 0x008860d2, 0x0004b95e}}, Y: Field{[10]uint32{0x02bd9ea2, 0x01b17061, 0x00821ab4, 0x027192b7, 0x01a09496, 0x01692d1d, 0x03b79ead, 0x0049bdf6, 0x02ca5dd8, 0x003d6bde}}}, + {X: Field{[10]uint32{0x00a2b722, 0x02b630cc, 0x025bdfe2, 0x0322b282, 0x028b7905, 0x015efe74, 0x031abad7, 0x0297785e, 0x03cd0b2f, 0x002d252a}}, Y: Field{[10]uint32{0x0294cb87, 0x02475ca4, 0x01adfbf9, 0x00431902, 0x00cbacf7, 0x0100693e, 0x038d8aee, 0x0186767f, 0x03d6dad8, 0x0030e5ff}}}, + {X: Field{[10]uint32{0x02b9d89c, 0x011817a2, 0x02a83106, 0x03912677, 0x03118ea6, 0x03dc6f72, 0x008245c0, 0x002e52c8, 0x012d900d, 0x000a55da}}, Y: Field{[10]uint32{0x00444a7b, 0x03595690, 0x02a91857, 0x00adfaee, 0x00f12934, 0x03f09354, 0x0037e940, 0x02bfa800, 0x00479284, 0x0028f155}}}, + {X: Field{[10]uint32{0x01bd20eb, 0x02fdc8e8, 0x00cda39c, 0x034cb927, 0x031969ae, 0x03052979, 0x0213642d, 0x0381caf2, 0x0079f325, 0x00184406}}, Y: Field{[10]uint32{0x00e443b3, 0x016611c0, 0x017a9c1d, 0x00fb599d, 0x03e5c248, 0x02763ac2, 0x0367269e, 0x0392ef56, 0x00824816, 0x00138667}}}, + {X: Field{[10]uint32{0x0255ab18, 0x027106ae, 0x034e429a, 0x0352642a, 0x02c65f6a, 0x009c87ef, 0x028c648c, 0x011d3e2a, 0x00b299f3, 0x0027ba92}}, Y: Field{[10]uint32{0x03234443, 0x01f62707, 0x00654c1d, 0x024befb8, 0x03b68028, 0x03cad687, 0x00570497, 0x0346f1fa, 0x029735ce, 0x0004e551}}}, + {X: Field{[10]uint32{0x018bd97a, 0x03d00ed4, 0x03c5cc9d, 0x02d8c7c6, 0x013fff42, 0x028da023, 0x00759826, 0x02dc1f29, 0x00d78ba7, 0x0036ec15}}, Y: Field{[10]uint32{0x011b923a, 0x021e5d58, 0x01d4a89d, 0x03e06ae5, 0x030a55a1, 0x009f9e07, 0x00048854, 0x00e95775, 0x02c09634, 0x000e5bbd}}}, + {X: Field{[10]uint32{0x021bbcf1, 0x03cf2aad, 0x0275cd70, 0x01056c23, 0x01b2f625, 0x01705372, 0x03cc0ea3, 0x00bbd276, 0x03d57fdd, 0x0036ea56}}, Y: Field{[10]uint32{0x00d20a3d, 0x02438c80, 0x004cc64a, 0x02b2ba4e, 0x020b8f76, 0x0054566e, 0x036dba84, 0x01f91862, 0x025eb7a1, 0x000abc25}}}, + {X: Field{[10]uint32{0x02d0e5be, 0x02fabee2, 0x02ef5297, 0x00c9c8bd, 0x030bf1a1, 0x00f1d576, 0x02d8febc, 0x02ec3f9c, 0x02c97979, 0x0001b0c4}}, Y: Field{[10]uint32{0x0202c6ea, 0x0001c620, 0x006438be, 0x0185c7de, 0x006c4359, 0x0363ead5, 0x038d5ea3, 0x01ce777d, 0x0388db74, 0x000d8d98}}}, + {X: Field{[10]uint32{0x008825cd, 0x038c6db7, 0x021e5b9f, 0x00c2a8c5, 0x03ad9870, 0x006335c5, 0x01b8638e, 0x02f23d52, 0x0057a494, 0x00197adc}}, Y: Field{[10]uint32{0x03a80312, 0x019a530b, 0x03c92765, 0x01088256, 0x02160b7b, 0x021c1a38, 0x016b4acf, 0x02178246, 0x02a167f2, 0x00116080}}}, + {X: Field{[10]uint32{0x02ffa7f6, 0x01f8ae53, 0x000d6b56, 0x009b610b, 0x02c11174, 0x00abaf47, 0x01db7cbd, 0x01a36bb5, 0x0117b0e8, 0x00281a5a}}, Y: Field{[10]uint32{0x01ecba78, 0x0159d710, 0x030f5ba5, 0x00f8dffa, 0x03c797ec, 0x03a2f6a2, 0x01cb828b, 0x013723c0, 0x020da1bb, 0x00321d34}}}, + {X: Field{[10]uint32{0x002cced2, 0x009f195e, 0x0387903b, 0x01e474ed, 0x01108744, 0x0021ad93, 0x01378301, 0x00a84cb7, 0x03821937, 0x0010646e}}, Y: Field{[10]uint32{0x03dc3f2c, 0x024bf299, 0x03b4a348, 0x01e40925, 0x00493352, 0x00b84c2f, 0x02e52bf8, 0x03486347, 0x03c98ce4, 0x0031d241}}}, + {X: Field{[10]uint32{0x01b218c3, 0x039fd71e, 0x0038f3c3, 0x03c82427, 0x030945e3, 0x02572563, 0x023b9b2b, 0x024fb964, 0x01337212, 0x001d7cdf}}, Y: Field{[10]uint32{0x01928be7, 0x037ab3a9, 0x02a339af, 0x02847d00, 0x02a7d2fd, 0x033c46a8, 0x0328e181, 0x008a9e8b, 0x038ec6b2, 0x002b0107}}}, + {X: Field{[10]uint32{0x02fb154e, 0x01c6bee5, 0x02c65785, 0x03dc0775, 0x026004d1, 0x03c62a12, 0x00b3bef6, 0x00bca408, 0x033ab58b, 0x0032f0c5}}, Y: Field{[10]uint32{0x01fd5c37, 0x0393783e, 0x0089226d, 0x0325863a, 0x01b8f36e, 0x0255dfb8, 0x03c166de, 0x011050b4, 0x00b76f26, 0x003104e8}}}, + {X: Field{[10]uint32{0x02e226cc, 0x0390dc36, 0x00dd92a5, 0x03d16fd3, 0x0164f212, 0x0067346f, 0x02888324, 0x03e965a5, 0x0309a139, 0x0019395a}}, Y: Field{[10]uint32{0x010fbbbe, 0x02f06781, 0x02fa7671, 0x02a18a80, 0x01d10915, 0x02d0a505, 0x001eb3d0, 0x0240592d, 0x02eef242, 0x002a4653}}}, + {X: Field{[10]uint32{0x015285a6, 0x033ed24d, 0x0014f73b, 0x0140273f, 0x0334e133, 0x0380be44, 0x022c2fb8, 0x01b3ca68, 0x01c5e288, 0x0038cde5}}, Y: Field{[10]uint32{0x01afb304, 0x035908c0, 0x035e15c2, 0x03431b37, 0x01f7c575, 0x02d2ec19, 0x02580cb7, 0x01231c93, 0x0121f33d, 0x001e243f}}}, + {X: Field{[10]uint32{0x02b0b6dc, 0x01739d69, 0x036998f2, 0x0250d7ad, 0x036e6a09, 0x01b1e48c, 0x0143d2c7, 0x03428345, 0x026b7a73, 0x0001e5d7}}, Y: Field{[10]uint32{0x023eb06f, 0x00738bfd, 0x03115012, 0x004289fd, 0x008f16eb, 0x0158af09, 0x0248d5f7, 0x024fb757, 0x00aec689, 0x00042c58}}}, + {X: Field{[10]uint32{0x01580f6f, 0x01c73774, 0x03ce02ad, 0x02124b38, 0x03c1ca44, 0x0007d106, 0x02093d08, 0x00e59e4b, 0x03cbf9c1, 0x001b4344}}, Y: Field{[10]uint32{0x03b45746, 0x012fcb3a, 0x016f1bae, 0x0351c769, 0x014bdb25, 0x01e910c2, 0x01dcfe33, 0x03c08aef, 0x023884ca, 0x0005eb90}}}, + {X: Field{[10]uint32{0x03df0154, 0x01d28806, 0x008560a9, 0x019cfef4, 0x0360d398, 0x0098200d, 0x03d3f904, 0x00ad6727, 0x014a23af, 0x0008657c}}, Y: Field{[10]uint32{0x00136a8d, 0x00fb853e, 0x02111da5, 0x01621bfd, 0x025ff1aa, 0x014028dc, 0x01b3a10b, 0x03bc07d3, 0x038c9a44, 0x003f016c}}}, + {X: Field{[10]uint32{0x03713628, 0x029ff7e2, 0x03c4dac2, 0x0220e113, 0x021f5582, 0x03477468, 0x0354e167, 0x03e2e746, 0x007360ac, 0x0011d9e7}}, Y: Field{[10]uint32{0x03803ea7, 0x00fdb285, 0x007510a9, 0x002bfce9, 0x037ca018, 0x013df365, 0x014bbde9, 0x03a07793, 0x0225f3b8, 0x0020a808}}}, + {X: Field{[10]uint32{0x0230831a, 0x02a9f277, 0x00655ac9, 0x00b8bdf2, 0x038cb4ff, 0x030859af, 0x03fe514c, 0x029a6c8f, 0x02f51636, 0x002c2f40}}, Y: Field{[10]uint32{0x03d5f518, 0x03743423, 0x0081448a, 0x00fee9b2, 0x00f4843b, 0x02fae8f6, 0x03ffc51f, 0x032f14a9, 0x016248ba, 0x0001cfeb}}}, + {X: Field{[10]uint32{0x03660158, 0x0226c068, 0x034520c6, 0x00548f2d, 0x000aab5f, 0x036fb16e, 0x03f81afa, 0x03e07fb4, 0x03d6bfe9, 0x0037ebbf}}, Y: Field{[10]uint32{0x01240583, 0x017cf6b2, 0x0324df3b, 0x0200435e, 0x0330c4bf, 0x032d6d53, 0x00a4bf9c, 0x0120539b, 0x0105c3ef, 0x000fd534}}}, + {X: Field{[10]uint32{0x000d42ed, 0x02b81afd, 0x00ba7046, 0x038fadf9, 0x0080dffa, 0x01bf5af9, 0x013d2e79, 0x0079263d, 0x02bbda66, 0x003ac05a}}, Y: Field{[10]uint32{0x02f895be, 0x03e0e89e, 0x011f518b, 0x03b5b4a7, 0x0110f005, 0x030b97a1, 0x014d50ad, 0x0166a5b3, 0x01bbaa76, 0x000c435b}}}, + {X: Field{[10]uint32{0x019fb2ed, 0x01ebec32, 0x01173e51, 0x01334bcd, 0x01726378, 0x00dfe398, 0x035b5eb1, 0x0202cdb4, 0x03c43c08, 0x00262786}}, Y: Field{[10]uint32{0x01faa1d8, 0x02dd1da7, 0x012feb53, 0x02d30b36, 0x00999b3b, 0x0077ddf6, 0x035963d1, 0x033314e8, 0x035f110c, 0x0013133a}}}, + {X: Field{[10]uint32{0x02033811, 0x03846630, 0x010bbfbe, 0x01be4249, 0x00dd801d, 0x01db57bf, 0x025bd407, 0x01eefc7d, 0x0170be4a, 0x0002fac0}}, Y: Field{[10]uint32{0x0086461f, 0x037304e1, 0x01644ff4, 0x0277f316, 0x000f5234, 0x01b4f39b, 0x02998202, 0x0268e15e, 0x018a1d32, 0x0004d5ae}}}, + {X: Field{[10]uint32{0x03c0b145, 0x032d0abf, 0x0112e337, 0x01756d83, 0x02ea9bc5, 0x01b10a5a, 0x035e5969, 0x026935bd, 0x03c1986f, 0x0000b642}}, Y: Field{[10]uint32{0x031a0c4c, 0x0327c1bd, 0x03b5b48d, 0x02fb4bbc, 0x02b377cc, 0x019fabed, 0x004b721e, 0x00665efe, 0x0364734d, 0x001f55f3}}}, + {X: Field{[10]uint32{0x009f51bf, 0x02729dde, 0x02481e82, 0x03cffb9c, 0x0159fd53, 0x030d9cef, 0x0196848d, 0x02018b78, 0x0254c960, 0x001ade9a}}, Y: Field{[10]uint32{0x0009af23, 0x0148939b, 0x0321a579, 0x00ad0f2f, 0x03dd4dc4, 0x0162bef8, 0x0079f30c, 0x0229a7c2, 0x0208157b, 0x001aa7b8}}}, + {X: Field{[10]uint32{0x028e8393, 0x02f2da0d, 0x03a8bf4a, 0x03a221c3, 0x0316faf0, 0x02df9fba, 0x01f8fa87, 0x037f9da3, 0x00c732cb, 0x00326491}}, Y: Field{[10]uint32{0x035620ae, 0x0303f0a1, 0x01951bc0, 0x02331a92, 0x0058cc9b, 0x00b6b8ba, 0x0163453b, 0x00ab4901, 0x035553ba, 0x00082b46}}}, + {X: Field{[10]uint32{0x00f01b6b, 0x01c7e51c, 0x013f6d28, 0x009a707e, 0x01350fef, 0x0026807f, 0x01cf4fc6, 0x0237157c, 0x007b402a, 0x00154ff0}}, Y: Field{[10]uint32{0x00e5a824, 0x02644dcd, 0x002909c1, 0x005df91c, 0x039b3102, 0x035f54ea, 0x03cd0dc7, 0x01b7bfe9, 0x00753961, 0x000ed463}}}, + {X: Field{[10]uint32{0x00fe2f69, 0x012fb030, 0x02369a4e, 0x009e524b, 0x03721fa9, 0x00d3216e, 0x00dfc80a, 0x0229f2cf, 0x037806ed, 0x003164c0}}, Y: Field{[10]uint32{0x0317c149, 0x031e94cd, 0x023001e1, 0x019e7d11, 0x02d7580e, 0x004ff5c0, 0x016dea62, 0x0244a4de, 0x00698a3e, 0x000da679}}}, + {X: Field{[10]uint32{0x011e7eb5, 0x02fb3224, 0x01c6a79d, 0x01ffc744, 0x008cda0e, 0x030d275d, 0x034613d8, 0x026592e3, 0x0118f4d5, 0x0032dbc4}}, Y: Field{[10]uint32{0x01de20ee, 0x020d723f, 0x036f4cf4, 0x00f5f799, 0x030ca0fe, 0x02095f11, 0x03cc88f4, 0x03573dc8, 0x028898b0, 0x0018ac2b}}}, + {X: Field{[10]uint32{0x01a26db9, 0x03148a8c, 0x009a946f, 0x023259a2, 0x0078b5d4, 0x037b2e67, 0x0322ae61, 0x019a3765, 0x038f8c26, 0x00368b2a}}, Y: Field{[10]uint32{0x010c7e98, 0x007869db, 0x01ad8fc2, 0x01ac4921, 0x01180849, 0x0324ec4c, 0x0214cb70, 0x03e52529, 0x037e0234, 0x001a80cd}}}, + {X: Field{[10]uint32{0x003b7d86, 0x023579ad, 0x00a82b22, 0x020e69bb, 0x03fa595b, 0x003c0fbb, 0x03374110, 0x038f1ff8, 0x01423f9b, 0x003f1a93}}, Y: Field{[10]uint32{0x0298beff, 0x01da1968, 0x016f5bb4, 0x01b89a46, 0x0027dfbd, 0x03094fea, 0x0078fdda, 0x02f868f7, 0x0144eb8f, 0x001b0225}}}, + {X: Field{[10]uint32{0x03dee882, 0x00dd5b78, 0x03e09db7, 0x0126509b, 0x003d09fb, 0x032a5183, 0x03258e83, 0x038341dc, 0x011ab9c6, 0x001cf26a}}, Y: Field{[10]uint32{0x0171d2b3, 0x0358d7f9, 0x0222478c, 0x00411741, 0x0352040a, 0x027b61da, 0x0290259c, 0x01422b56, 0x0327efc0, 0x0022cc50}}}, + {X: Field{[10]uint32{0x034516d3, 0x01d1328e, 0x02762933, 0x0122ba5d, 0x022bc028, 0x012e0265, 0x03e61271, 0x033470d0, 0x006145b8, 0x00029a7c}}, Y: Field{[10]uint32{0x030ebe3d, 0x03688275, 0x009aea86, 0x006d1fd9, 0x0396b6d9, 0x02185789, 0x016caf01, 0x00dd07b0, 0x0190b450, 0x0021d463}}}, + {X: Field{[10]uint32{0x00ed9691, 0x0148d7ca, 0x02572fc9, 0x003d11a8, 0x01376a43, 0x0056e910, 0x01dfb2ac, 0x0102dc73, 0x022570df, 0x00072f92}}, Y: Field{[10]uint32{0x0213de85, 0x01748095, 0x0380b6ef, 0x03ce6714, 0x02c8ac69, 0x02ce54fb, 0x02a2d10a, 0x0386ab3c, 0x02ccf262, 0x00049553}}}, + {X: Field{[10]uint32{0x0388e27d, 0x0320df6d, 0x0052fd13, 0x006a209e, 0x014ee2f1, 0x02822c64, 0x005ac85b, 0x0333ed0c, 0x01c7406d, 0x00237a92}}, Y: Field{[10]uint32{0x03e9d9b0, 0x00a55ef3, 0x00056d90, 0x0395a5ed, 0x002b6071, 0x01e8141b, 0x038b15ab, 0x01f0faea, 0x01a83b51, 0x0031cf58}}}, + {X: Field{[10]uint32{0x02d0ade5, 0x0310e921, 0x0094f6e4, 0x01f4156f, 0x025e4b71, 0x0074e35a, 0x00ab5af8, 0x0330ec7b, 0x0377b175, 0x0037a498}}, Y: Field{[10]uint32{0x03d0e11f, 0x00e1f545, 0x01cb973c, 0x02b39834, 0x016be387, 0x02352e2c, 0x0289115d, 0x0365d350, 0x03e79169, 0x000a757c}}}, + {X: Field{[10]uint32{0x03b41497, 0x02896c34, 0x00fa38a9, 0x03317ac6, 0x00f6e8a9, 0x03549450, 0x0055a2f3, 0x01ead2ad, 0x02a7aeb3, 0x001b9dba}}, Y: Field{[10]uint32{0x01e066fa, 0x0064f925, 0x0108a89f, 0x00f35a42, 0x0144c40a, 0x011eaaf6, 0x03fb936a, 0x027456ef, 0x005a7890, 0x0001f8f3}}}, + {X: Field{[10]uint32{0x00607574, 0x03b43e2f, 0x03f8f09e, 0x0274dfd7, 0x01467853, 0x026247e6, 0x022b03fc, 0x01fc3699, 0x02cf22d5, 0x000dc4c7}}, Y: Field{[10]uint32{0x0249f3b3, 0x01e87244, 0x026acc17, 0x02a9aaeb, 0x01281323, 0x005cf52e, 0x011d596e, 0x00a5a3d8, 0x012169d4, 0x00300ecb}}}, + {X: Field{[10]uint32{0x025d8152, 0x004fcdd2, 0x024e7667, 0x023d25e6, 0x0365155c, 0x0337c3ae, 0x0276633b, 0x02655ca3, 0x001482c8, 0x001c8222}}, Y: Field{[10]uint32{0x0174eedc, 0x01d8b972, 0x02e92d2a, 0x01d2d22b, 0x00588a79, 0x02642803, 0x00e26f81, 0x03722f6a, 0x019f8c0a, 0x0019e0f1}}}, + {X: Field{[10]uint32{0x03241864, 0x0048d974, 0x01e8adb7, 0x03345136, 0x02d4567f, 0x02fe74f3, 0x03a7a7ad, 0x0112ca9f, 0x03dfbaca, 0x0006e098}}, Y: Field{[10]uint32{0x0388606d, 0x02906fb5, 0x02785783, 0x02020065, 0x02edf366, 0x00b6b00d, 0x004b98db, 0x00450c65, 0x023e24f0, 0x00007f1f}}}, + {X: Field{[10]uint32{0x02f5fd43, 0x02309833, 0x013dff1a, 0x0381684c, 0x03ea41ba, 0x03560fb7, 0x019714db, 0x01fcae06, 0x02de27ca, 0x0001e8dc}}, Y: Field{[10]uint32{0x02281142, 0x01bc6e6d, 0x032e2091, 0x0192e83a, 0x01a5d3ab, 0x03d793b5, 0x0060f220, 0x015e16d7, 0x016bb32c, 0x002838c8}}}, + {X: Field{[10]uint32{0x00d02300, 0x03b03aa3, 0x0232a72b, 0x03f5e750, 0x00c30f22, 0x0156b07c, 0x03b94327, 0x01124722, 0x01aa5525, 0x001c6057}}, Y: Field{[10]uint32{0x036471b4, 0x03c58031, 0x03804876, 0x00613118, 0x003ade09, 0x013af8f0, 0x02fcc688, 0x0170597e, 0x03928de1, 0x0022cd04}}}, + {X: Field{[10]uint32{0x03654d2b, 0x031714ff, 0x01c785d1, 0x01304b22, 0x0205535d, 0x027c815b, 0x02d866a0, 0x033192d8, 0x037ad3cf, 0x00006952}}, Y: Field{[10]uint32{0x03a12f19, 0x020e42d1, 0x012e841d, 0x03e774a2, 0x03e9f5ae, 0x0247b0c1, 0x0077395a, 0x021ef48b, 0x02e39f4b, 0x002df1de}}}, + {X: Field{[10]uint32{0x019c44a6, 0x00adfb66, 0x01987726, 0x0081d00e, 0x0022cd28, 0x035d68bb, 0x030b6953, 0x01cf9772, 0x00571fc9, 0x002172d1}}, Y: Field{[10]uint32{0x010f6aa5, 0x034cc627, 0x02d53280, 0x01eaf41b, 0x0358037a, 0x03850824, 0x014ef028, 0x03f99b03, 0x01f3bd13, 0x003bf747}}}, + {X: Field{[10]uint32{0x00fd4e4e, 0x02f7dd7f, 0x03962c35, 0x02384e37, 0x02cd72df, 0x0101e8da, 0x00b305a2, 0x00432509, 0x009c64a0, 0x00263a19}}, Y: Field{[10]uint32{0x01a6c60b, 0x02a921b5, 0x008efcd3, 0x03dbf338, 0x01624a8c, 0x030febb4, 0x01f77704, 0x0175f152, 0x01693439, 0x002a0131}}}, + {X: Field{[10]uint32{0x00a5a72b, 0x0002e51d, 0x028817e5, 0x0191a71a, 0x035019a1, 0x01d3eb22, 0x00338958, 0x0396a23d, 0x03e6a297, 0x0007ab11}}, Y: Field{[10]uint32{0x01a11105, 0x02792b83, 0x00325f51, 0x028a570c, 0x01043a10, 0x03992e7b, 0x000bb1ff, 0x037abbce, 0x026b784d, 0x0022df6a}}}, + {X: Field{[10]uint32{0x004f42f5, 0x012b9a01, 0x026bc96c, 0x031e80a9, 0x01e29950, 0x029c8f89, 0x029e0ab6, 0x01cd8c5f, 0x006591f2, 0x003c1e6b}}, Y: Field{[10]uint32{0x0032dfc5, 0x02051a71, 0x00562249, 0x0340f649, 0x03490186, 0x005287bd, 0x00c3ca02, 0x010dd12b, 0x01bfc99f, 0x003aa1f4}}}, + {X: Field{[10]uint32{0x02539643, 0x01c72a8c, 0x0186eba4, 0x03a21a0c, 0x00fa0d94, 0x001dec76, 0x011c3ada, 0x00c383c0, 0x0179bf1f, 0x0035b427}}, Y: Field{[10]uint32{0x00aa8adf, 0x03d7325f, 0x00049876, 0x00dd19af, 0x00ef5100, 0x036b4b52, 0x030494dc, 0x03d507dc, 0x0064fac8, 0x0021dc2f}}}, + {X: Field{[10]uint32{0x00351f65, 0x03cee82e, 0x0291e3af, 0x029ac793, 0x01d6416c, 0x020c4fe2, 0x00595656, 0x00cda01c, 0x03d9f896, 0x000ddb92}}, Y: Field{[10]uint32{0x025f13f1, 0x014de379, 0x0295b78a, 0x03a91feb, 0x000497de, 0x0111f2ca, 0x019e8b96, 0x023c757a, 0x01e56724, 0x002e90db}}}, + {X: Field{[10]uint32{0x039f20d7, 0x0231d042, 0x0210c657, 0x014eee85, 0x000b17cb, 0x025be0d3, 0x0193daec, 0x031e6688, 0x02184b42, 0x0009c3ce}}, Y: Field{[10]uint32{0x03e7e5bc, 0x019cca15, 0x0300021b, 0x02a7d28e, 0x023a7054, 0x019ccddf, 0x00fb0d01, 0x022eec28, 0x012b9ab9, 0x003333ac}}}, + {X: Field{[10]uint32{0x02c1a599, 0x00169743, 0x02de20f5, 0x02dfea62, 0x00b055d2, 0x00ed25b4, 0x0247a8a9, 0x014d20a7, 0x03641a1e, 0x002b89c6}}, Y: Field{[10]uint32{0x03c2bdd3, 0x03ec911f, 0x0181e45d, 0x02294f05, 0x01584790, 0x021ebea7, 0x02a9a23f, 0x0207c948, 0x012f39b4, 0x00053a55}}}, + {X: Field{[10]uint32{0x03f28c8c, 0x021a6d69, 0x016a25ec, 0x00ea50ff, 0x02db36a9, 0x03b94e43, 0x0288ad64, 0x0229d2a4, 0x00fb177d, 0x0015a7ab}}, Y: Field{[10]uint32{0x03732f7c, 0x0271c6d7, 0x028440cb, 0x03d517d4, 0x02bfda9a, 0x01bd3c4d, 0x027508aa, 0x0190ae66, 0x00329127, 0x00073d8b}}}, + {X: Field{[10]uint32{0x0315b558, 0x01f3e057, 0x01e46f27, 0x03b5b4d9, 0x0041bfb5, 0x025e43e3, 0x026a2468, 0x039eea8c, 0x027ffdc4, 0x001df1fc}}, Y: Field{[10]uint32{0x021c3007, 0x03e4cee0, 0x01a4325a, 0x03ac1140, 0x00e0f970, 0x014b0bb0, 0x02a68288, 0x03976559, 0x00dc138b, 0x00134d10}}}, + {X: Field{[10]uint32{0x00adbb25, 0x03b5f625, 0x001ed132, 0x0079ee0c, 0x017d4676, 0x00113fbe, 0x03f67e9b, 0x000c1aa1, 0x02dbf173, 0x003598a4}}, Y: Field{[10]uint32{0x008b83c5, 0x03963d8b, 0x00209cb0, 0x0051bf14, 0x033d36db, 0x02ff2cca, 0x0145f238, 0x0293b648, 0x03558cec, 0x0033bbdd}}}, + {X: Field{[10]uint32{0x037ed0d6, 0x021597a9, 0x03a4925e, 0x02efd541, 0x038769e3, 0x01faec7c, 0x03927ef0, 0x01bd12dd, 0x032e12ea, 0x000710a0}}, Y: Field{[10]uint32{0x0029d5ee, 0x0394e2a7, 0x0211e280, 0x028cc9ef, 0x02786a62, 0x03879076, 0x017917d9, 0x013d769c, 0x03a4b31b, 0x0022e4e0}}}, + {X: Field{[10]uint32{0x021f7968, 0x02afddec, 0x014cc5d6, 0x00d4f34e, 0x00608324, 0x02e633cc, 0x0362911f, 0x018aa330, 0x02ff9422, 0x0018f95f}}, Y: Field{[10]uint32{0x01b009be, 0x00ba8d56, 0x036b0450, 0x038a897e, 0x00146062, 0x008ba94c, 0x0344e7d3, 0x020fc930, 0x022dfb90, 0x00278f07}}}, + {X: Field{[10]uint32{0x03b83c90, 0x01452265, 0x03f9b02a, 0x02a6d3a8, 0x00cf3ed3, 0x024253aa, 0x0088e591, 0x022971cb, 0x03a186f3, 0x002f88cf}}, Y: Field{[10]uint32{0x01dba564, 0x0067437b, 0x0156fefd, 0x03a98a5a, 0x0140bd48, 0x03714def, 0x0389ef9e, 0x02b6c9b8, 0x02b3362f, 0x00100bac}}}, + {X: Field{[10]uint32{0x01844b78, 0x0030fc58, 0x03579aaa, 0x01592892, 0x02f2cc69, 0x029cc3f3, 0x01f4d065, 0x01d3ea71, 0x03804e7c, 0x0018db76}}, Y: Field{[10]uint32{0x02a2496c, 0x03d1faf9, 0x022e7dee, 0x03ee4589, 0x026aa31f, 0x025fab22, 0x02feb598, 0x004b1808, 0x01695832, 0x001a928d}}}, + {X: Field{[10]uint32{0x02e1c5e7, 0x035b0b37, 0x01e605bd, 0x030adb9a, 0x02215ae7, 0x038bc959, 0x035af1ee, 0x0361ffde, 0x01d17250, 0x00349470}}, Y: Field{[10]uint32{0x03b4ae78, 0x012d461f, 0x004cbf55, 0x001b2116, 0x005de60d, 0x02e59963, 0x035c9862, 0x00bea32a, 0x00f57df5, 0x000916b3}}}, + {X: Field{[10]uint32{0x018ed407, 0x0371d106, 0x0248cc3b, 0x005ceea0, 0x029055f9, 0x012c1bd0, 0x011cbe05, 0x004cedc1, 0x00b8c62f, 0x00101753}}, Y: Field{[10]uint32{0x005deb54, 0x02aee9cc, 0x027201a9, 0x03f181d1, 0x01523553, 0x034af0fb, 0x00e8031b, 0x00f2d0a6, 0x0310a896, 0x002118f7}}}, + {X: Field{[10]uint32{0x03e983b8, 0x03b638e6, 0x03003546, 0x025073a3, 0x00ab3293, 0x03f696f9, 0x00a03144, 0x00e81f85, 0x02ee9ab3, 0x0025fc16}}, Y: Field{[10]uint32{0x03849261, 0x012b56fa, 0x01a7c3be, 0x008078f4, 0x03d321f1, 0x00cde0b2, 0x0070b155, 0x004e2f13, 0x02267fd9, 0x0016798a}}}, + {X: Field{[10]uint32{0x02b91ac8, 0x0181d243, 0x0153dea1, 0x02350c25, 0x01c99fdf, 0x02e6b5a4, 0x01060f26, 0x009701aa, 0x016118e1, 0x0000ce20}}, Y: Field{[10]uint32{0x0004384b, 0x005d9f65, 0x00c88728, 0x023f6f70, 0x02a57178, 0x0116a640, 0x013af0d2, 0x0069a301, 0x018b5b8e, 0x00160fa4}}}, + {X: Field{[10]uint32{0x0117a9f9, 0x03dff4cf, 0x03c31dc8, 0x0198cda7, 0x038cf653, 0x0370ed81, 0x0306b1ad, 0x01a8967d, 0x00466bbe, 0x00377483}}, Y: Field{[10]uint32{0x01de5a99, 0x01e3a270, 0x03daa7cf, 0x0166b2d0, 0x017833e1, 0x0188733c, 0x02adcf46, 0x0261a2ee, 0x0329b4ea, 0x002cb7de}}}, + {X: Field{[10]uint32{0x03dfc9f7, 0x00005c8e, 0x011cfdfe, 0x004ba37e, 0x00eecd07, 0x004e272f, 0x02c26bc3, 0x003b9565, 0x012f71ae, 0x00248f1b}}, Y: Field{[10]uint32{0x034be948, 0x0290dc00, 0x03082414, 0x021cc81f, 0x005ff2ed, 0x02680f50, 0x001ae969, 0x00490da9, 0x00ad27c4, 0x001bf6ca}}}, + {X: Field{[10]uint32{0x00a09e65, 0x0277c637, 0x031a7fde, 0x01b05241, 0x01a44887, 0x0229f444, 0x0212461b, 0x01fa1d9a, 0x02bd28d5, 0x001b50a9}}, Y: Field{[10]uint32{0x01fd28bf, 0x02fb5ae5, 0x02775640, 0x0099d1fc, 0x00dcdd28, 0x0008988d, 0x005554df, 0x03a5f0d6, 0x02b801db, 0x00137c1e}}}, + {X: Field{[10]uint32{0x01d761ae, 0x018c3b08, 0x023f04b9, 0x0010c726, 0x0170efe1, 0x014e7b38, 0x003610d8, 0x03c9674f, 0x016159f9, 0x001ff50a}}, Y: Field{[10]uint32{0x01d7e280, 0x03c77c49, 0x026dc787, 0x0005b574, 0x00e85b60, 0x03543990, 0x037d00c4, 0x00afd440, 0x0041b8ce, 0x003f5a55}}}, + {X: Field{[10]uint32{0x026770b5, 0x026ec97a, 0x018a75b5, 0x0377d023, 0x00944045, 0x00156664, 0x0100a017, 0x025f7f9e, 0x010b128d, 0x00123041}}, Y: Field{[10]uint32{0x00f66559, 0x0005f05b, 0x0061ef9b, 0x027e218c, 0x01d450e4, 0x00d4e282, 0x0061b315, 0x00c67073, 0x01a04b6e, 0x0023df3b}}}, + {X: Field{[10]uint32{0x02e2a686, 0x01963df7, 0x00a09689, 0x01037969, 0x00b3214c, 0x0220f19f, 0x02baa1b4, 0x018b725a, 0x019da12d, 0x0015118b}}, Y: Field{[10]uint32{0x01ccd957, 0x03fb0b96, 0x02e370bc, 0x00583546, 0x026a3f00, 0x03bba067, 0x0133bb50, 0x00475c3f, 0x016f9160, 0x001d9ceb}}}, + {X: Field{[10]uint32{0x026435e8, 0x01ce6087, 0x02261443, 0x011d535e, 0x0095c5fe, 0x012ddc7c, 0x025a46e4, 0x0076260a, 0x00c4e4e1, 0x001a614d}}, Y: Field{[10]uint32{0x01cbba18, 0x03d07538, 0x011376a8, 0x0267dc70, 0x039faba0, 0x039f5a1c, 0x0219a8a5, 0x0031c635, 0x02acb272, 0x000db580}}}, + {X: Field{[10]uint32{0x03e77ecc, 0x0120ca82, 0x0341ad8c, 0x00849bf4, 0x01d0bc2a, 0x03223b36, 0x0376b0d7, 0x02070eec, 0x035951c6, 0x001124fd}}, Y: Field{[10]uint32{0x0120351e, 0x002624b0, 0x0012a391, 0x03d3a0a7, 0x02df7143, 0x02ff552f, 0x03158574, 0x026ab65f, 0x021dd4d9, 0x003954f8}}}, + {X: Field{[10]uint32{0x00f8313b, 0x02f89233, 0x02ec8cf8, 0x0179a1f9, 0x006c0632, 0x0245f009, 0x0384cf5f, 0x02038625, 0x02a93300, 0x002c1536}}, Y: Field{[10]uint32{0x0367d866, 0x0222c76d, 0x01a83b06, 0x016877ba, 0x014ed52a, 0x01809083, 0x015f2a40, 0x03956b1d, 0x03155c9c, 0x00147c11}}}, + {X: Field{[10]uint32{0x0029583e, 0x000dc4f0, 0x03c571fe, 0x032581be, 0x02c1f8cf, 0x0194676c, 0x03e6796e, 0x01ac7e7f, 0x02a4fa99, 0x0012d09c}}, Y: Field{[10]uint32{0x030edb83, 0x032029bf, 0x0110cf5f, 0x00cd0e13, 0x03cecde8, 0x032f145e, 0x0336f8cf, 0x0314f572, 0x02d0dce7, 0x002549bc}}}, + {X: Field{[10]uint32{0x03e29604, 0x0012a8d8, 0x00bff46a, 0x020fc7c1, 0x006cf63f, 0x03468e52, 0x02d8e647, 0x03a0bb2b, 0x0281c69d, 0x003587ad}}, Y: Field{[10]uint32{0x021f08b8, 0x0218965c, 0x001dfaa3, 0x01756fd1, 0x03f62fdf, 0x002b8a3a, 0x006d9a43, 0x01ee3cdf, 0x02fb156d, 0x0026d6a4}}}, + {X: Field{[10]uint32{0x02bf507f, 0x00f93830, 0x0157d576, 0x0103bf63, 0x008349e3, 0x037057ae, 0x0173c8f3, 0x01e7027e, 0x000257f9, 0x0002fe3c}}, Y: Field{[10]uint32{0x020614fe, 0x01052820, 0x037d9f66, 0x00e7d3c5, 0x03433467, 0x01b4d8e8, 0x00265a83, 0x0399c3f7, 0x022f1041, 0x00158761}}}, + {X: Field{[10]uint32{0x034cb498, 0x00f8a25d, 0x032d5eb0, 0x011547b1, 0x03b471fd, 0x00a4ea1b, 0x01ca03f7, 0x03eb5936, 0x00e2a7a6, 0x0018ec95}}, Y: Field{[10]uint32{0x01948c8b, 0x01eef9d4, 0x01880083, 0x014dafbf, 0x01f5be7d, 0x00b79273, 0x03b3819a, 0x03a48b71, 0x01113a4c, 0x003d0514}}}, + {X: Field{[10]uint32{0x03968725, 0x00628a74, 0x0009ae04, 0x0021ae4f, 0x0350fdd9, 0x01327bf9, 0x0091f33c, 0x01bb618d, 0x02cde1da, 0x002eb9be}}, Y: Field{[10]uint32{0x02a30533, 0x0198241b, 0x0349bb4d, 0x03149498, 0x02e4ca46, 0x019539a8, 0x03df74c6, 0x00c5dbda, 0x01550e48, 0x001f1f72}}}, + {X: Field{[10]uint32{0x00eb34af, 0x021188eb, 0x0029b595, 0x005d4e01, 0x00d30a63, 0x0271982c, 0x02d81395, 0x02a823cf, 0x01f8ea15, 0x003d58a1}}, Y: Field{[10]uint32{0x015a9eb9, 0x02c73a41, 0x038ee31e, 0x0369ee66, 0x02d9a0f6, 0x028b72e6, 0x0303c9de, 0x00652901, 0x03c1a202, 0x0004400c}}}, + {X: Field{[10]uint32{0x0151d87a, 0x01c98ce0, 0x006a540d, 0x0348663b, 0x020eafba, 0x003a38da, 0x039191c6, 0x035147b6, 0x00953de3, 0x0021db1f}}, Y: Field{[10]uint32{0x032279b8, 0x013897a5, 0x03d27df5, 0x00744016, 0x01cf5501, 0x0394aa16, 0x0010d177, 0x0031b010, 0x037472ce, 0x00257bff}}}, + {X: Field{[10]uint32{0x000a6d30, 0x0360eb25, 0x030e3fbf, 0x01b6e8fc, 0x00a024d8, 0x02ac71d6, 0x00969024, 0x01ef55a0, 0x03ed077c, 0x003a55b1}}, Y: Field{[10]uint32{0x03aad9da, 0x01c5dc41, 0x0026b45c, 0x0164339a, 0x0205aa57, 0x01669592, 0x017a9da2, 0x026adde9, 0x00a6f0d1, 0x0006d77f}}}, + {X: Field{[10]uint32{0x01dd3f16, 0x00bfeaa6, 0x028bd8fe, 0x016a0691, 0x03ab743b, 0x01412335, 0x016e9c06, 0x01150c51, 0x0261abdb, 0x003d4ff7}}, Y: Field{[10]uint32{0x0390222f, 0x01ad93b5, 0x026bc1a2, 0x023b838a, 0x01a65ac7, 0x02cd586f, 0x038e86ba, 0x008ad405, 0x013947ea, 0x00074a2d}}}, + {X: Field{[10]uint32{0x00043ad9, 0x00d91272, 0x003b5f5d, 0x02d3def3, 0x025e49b0, 0x00da9f18, 0x01b91039, 0x010d751d, 0x028152eb, 0x002e46a1}}, Y: Field{[10]uint32{0x013aaa75, 0x00c018a8, 0x0288bb34, 0x00347a2f, 0x01722dc9, 0x007746f5, 0x0296f3d1, 0x026f0185, 0x01175693, 0x00031d63}}}, + {X: Field{[10]uint32{0x018f8cc7, 0x03c233e3, 0x02897b16, 0x032ec930, 0x0261f5ad, 0x02f25d4d, 0x00c55d0a, 0x00a49f6d, 0x007023e3, 0x0016a1ef}}, Y: Field{[10]uint32{0x03731e54, 0x02a9b81b, 0x01b2c3d2, 0x00b622a2, 0x009d1ac3, 0x02ffdd2d, 0x02d2120f, 0x00357011, 0x024baa6a, 0x00273aab}}}, + {X: Field{[10]uint32{0x01ceb034, 0x01e7de5c, 0x02e80de9, 0x02a19ad9, 0x01215622, 0x03f1736c, 0x00a80b9e, 0x02cd50ef, 0x0343e54e, 0x002b02c6}}, Y: Field{[10]uint32{0x00638d8d, 0x0344fcfd, 0x007f609b, 0x03ef4afc, 0x01439477, 0x025f6a6d, 0x03c2b871, 0x0385485e, 0x035e5731, 0x002a2455}}}, + {X: Field{[10]uint32{0x005ca915, 0x01cd19fa, 0x03dc1450, 0x01277cea, 0x00e84f19, 0x01ae88dc, 0x034d6f3f, 0x033609db, 0x02bc2017, 0x0034f107}}, Y: Field{[10]uint32{0x00dcf7b7, 0x02979363, 0x02ce609d, 0x01d8ee8f, 0x01bc1e95, 0x0043f3cd, 0x02b1e916, 0x0165147d, 0x01528be5, 0x0014aac7}}}, + {X: Field{[10]uint32{0x03923b02, 0x03afa551, 0x010634d1, 0x013d27ba, 0x02ab842e, 0x0386c3cd, 0x0100d00f, 0x00b31bde, 0x0057f4c8, 0x001a33ff}}, Y: Field{[10]uint32{0x02b1d8e2, 0x01a92166, 0x026b26fe, 0x0012ebb4, 0x03367ba9, 0x00628c1a, 0x03da281c, 0x001d070f, 0x01bfaac1, 0x001ca655}}}, + {X: Field{[10]uint32{0x00177d9c, 0x03c954e3, 0x0074cd30, 0x0194d0fe, 0x02579dc7, 0x014c9299, 0x00566b33, 0x0267bb82, 0x00e12462, 0x001f83d6}}, Y: Field{[10]uint32{0x0021447c, 0x010065a2, 0x0128dcd3, 0x0055a816, 0x00086b90, 0x034d99d0, 0x009af7b5, 0x024fc020, 0x01835872, 0x000e5949}}}, + {X: Field{[10]uint32{0x00c9b542, 0x0057ae39, 0x03bbb97a, 0x0219cc95, 0x025dc450, 0x02cc97f5, 0x013d4bf1, 0x019263ad, 0x03dbd181, 0x0031caae}}, Y: Field{[10]uint32{0x0325a7b9, 0x01debeca, 0x0378288e, 0x0232da06, 0x00841a06, 0x011b34c6, 0x0041ed3e, 0x03cf4a21, 0x03a55df5, 0x000f23eb}}}, + {X: Field{[10]uint32{0x02363d0d, 0x002aed74, 0x015a1b72, 0x0329cff8, 0x00943654, 0x03da40de, 0x024d76ce, 0x0245107d, 0x035d3eb0, 0x001d1d1f}}, Y: Field{[10]uint32{0x00443649, 0x03eb5f07, 0x019b9746, 0x029907e5, 0x03bf54c1, 0x032bc151, 0x01f993a5, 0x03a3dcc8, 0x03240bc7, 0x00004b19}}}, + {X: Field{[10]uint32{0x01b67067, 0x03ff23e4, 0x006e1212, 0x00b347ec, 0x0129db86, 0x02b5a26a, 0x00b5d71d, 0x039f10d3, 0x02d1ab1d, 0x003ca9c0}}, Y: Field{[10]uint32{0x03afd854, 0x01ef458d, 0x0242962c, 0x006af451, 0x031d5ec1, 0x03ed373e, 0x03452bc7, 0x02b26b2d, 0x022cc730, 0x00016e47}}}, + {X: Field{[10]uint32{0x000d9340, 0x02d58d34, 0x01e1b530, 0x00f52fa4, 0x00c2535b, 0x000711ba, 0x01a87b62, 0x01ad197f, 0x030814e7, 0x002a4b53}}, Y: Field{[10]uint32{0x01cd0277, 0x02e81941, 0x030be6f4, 0x02f08d43, 0x0038d96d, 0x01d536b6, 0x01fd9bfe, 0x03ed015a, 0x028f3c02, 0x001360a6}}}, + {X: Field{[10]uint32{0x02f205a1, 0x03e45e89, 0x017462aa, 0x010a1285, 0x02df5ea1, 0x002a03ee, 0x00ea3206, 0x030ecfe4, 0x00b1ac06, 0x001e78c3}}, Y: Field{[10]uint32{0x00d5c82f, 0x007c9db2, 0x028d5352, 0x012a7d85, 0x007f1736, 0x0032ea5d, 0x008a79ed, 0x0252556b, 0x020a8145, 0x002b4882}}}, + {X: Field{[10]uint32{0x009401d1, 0x008c6da3, 0x02ff3020, 0x028eeaf5, 0x0288c8d6, 0x00903e8c, 0x023252be, 0x015dfc11, 0x0053d412, 0x001b5577}}, Y: Field{[10]uint32{0x03006eb3, 0x00cbf4de, 0x021540d7, 0x03228297, 0x02c98e17, 0x019e7c15, 0x01553452, 0x00cb0164, 0x0096aa3b, 0x0020e907}}}, + {X: Field{[10]uint32{0x01b3f20a, 0x00ed5a92, 0x02f487c8, 0x038834f8, 0x0211ef14, 0x032e2830, 0x03ea5eb4, 0x02e426cd, 0x031f604e, 0x0033e727}}, Y: Field{[10]uint32{0x0247dff8, 0x034722e8, 0x03f93dd3, 0x03e77d5b, 0x02da24ea, 0x032d1077, 0x0260b5be, 0x026621dc, 0x01f64e64, 0x000ae42e}}}, + {X: Field{[10]uint32{0x006b35dd, 0x03649786, 0x00346a2f, 0x016eea6a, 0x00e30f43, 0x03bdbf2b, 0x03677809, 0x02652acc, 0x019f29ed, 0x0018350a}}, Y: Field{[10]uint32{0x0360331e, 0x008da551, 0x0143737b, 0x02927462, 0x03040d51, 0x03639092, 0x0386ddd2, 0x02d3163f, 0x0388b8aa, 0x00037da6}}}, + {X: Field{[10]uint32{0x01493540, 0x0314ddb6, 0x02122887, 0x01660b34, 0x037de3be, 0x004528ef, 0x02bbb854, 0x012981ad, 0x02dd1b67, 0x00364e9b}}, Y: Field{[10]uint32{0x01e5f7ff, 0x03146ffe, 0x01230423, 0x023111fb, 0x03acfdb0, 0x03e486b9, 0x01590064, 0x0065ef00, 0x03d7dc79, 0x0021f68d}}}, + {X: Field{[10]uint32{0x01652962, 0x024646af, 0x03c6025d, 0x0368681b, 0x01fd5869, 0x032ded7d, 0x02bb6b31, 0x023662dc, 0x01377e10, 0x0033e30f}}, Y: Field{[10]uint32{0x00128fbb, 0x02722c4d, 0x01c93afc, 0x006a1e7b, 0x02fc5427, 0x0086cf2b, 0x002b0343, 0x02b40b6d, 0x0102bb96, 0x0001bd73}}}, + {X: Field{[10]uint32{0x00df29eb, 0x011f9a23, 0x002a6908, 0x0123c931, 0x00715b90, 0x01ee7283, 0x03ab65ac, 0x03b3e609, 0x02474637, 0x001b2a64}}, Y: Field{[10]uint32{0x02b55439, 0x0260f93f, 0x001f6d93, 0x00374057, 0x028bb616, 0x02ad5f0f, 0x02a446ed, 0x01153b65, 0x01a5fefa, 0x00144de3}}}, + {X: Field{[10]uint32{0x00d17afd, 0x035a1b4a, 0x008c558e, 0x0135ee7c, 0x033cc306, 0x02b3cb8f, 0x0267758c, 0x004f577a, 0x00043cb8, 0x001bdf4b}}, Y: Field{[10]uint32{0x0233bc6f, 0x029b3194, 0x013c8c65, 0x03c82b0a, 0x01b590a5, 0x01f17858, 0x039106c1, 0x03b120cf, 0x027813ec, 0x0011e538}}}, + {X: Field{[10]uint32{0x0124f3e1, 0x02a2893a, 0x03475d2c, 0x0069f667, 0x01e818d0, 0x0213a466, 0x02a82b01, 0x0220fead, 0x00d00bc9, 0x003e2bb8}}, Y: Field{[10]uint32{0x039442b5, 0x01bcd2a0, 0x01b8ab52, 0x01797348, 0x0244f105, 0x01ac6cf7, 0x0026bfac, 0x0177c025, 0x032b6913, 0x002b3e72}}}, + {X: Field{[10]uint32{0x00ce781c, 0x010ad180, 0x03f9d222, 0x03aba461, 0x010a85c8, 0x03d32470, 0x03123fc7, 0x000fd12f, 0x00bfc1a2, 0x0022c03f}}, Y: Field{[10]uint32{0x01d35bc9, 0x02617322, 0x03cac478, 0x02676b7e, 0x020a8de6, 0x03b9510a, 0x00264280, 0x039a43b0, 0x018a3e81, 0x00187a79}}}, + {X: Field{[10]uint32{0x01d6dd4d, 0x02dfe84e, 0x03c1ab0e, 0x008fa612, 0x00a72785, 0x0330c84b, 0x001ebbc1, 0x028acb08, 0x03078e84, 0x003eeb2e}}, Y: Field{[10]uint32{0x003a0f52, 0x02129f93, 0x020833aa, 0x017f45b1, 0x014e557d, 0x032eea89, 0x03df675c, 0x002265e5, 0x01d6f5eb, 0x000b1b27}}}, + {X: Field{[10]uint32{0x005c0611, 0x00cf6b2b, 0x02175bfa, 0x02ecf7e2, 0x005ba601, 0x00ee8a01, 0x028f9935, 0x03c14e34, 0x035c2f32, 0x000555a1}}, Y: Field{[10]uint32{0x00e240b7, 0x02bfa129, 0x01cf8eba, 0x00e84391, 0x03d2eb78, 0x022238e1, 0x01fb5405, 0x0251923a, 0x0050c3da, 0x0014d88c}}}, + {X: Field{[10]uint32{0x02d93d77, 0x01caec00, 0x0379e2e9, 0x03416617, 0x0349a8ce, 0x01a0fe00, 0x03e690ec, 0x017a6338, 0x00957f5b, 0x002d80ac}}, Y: Field{[10]uint32{0x01435227, 0x00e6d3a1, 0x009d960d, 0x00e2bd6e, 0x01ff3588, 0x006edecc, 0x00046acb, 0x02e0878c, 0x0390ddd6, 0x001e21a0}}}, + {X: Field{[10]uint32{0x022dd17a, 0x01454076, 0x0037724f, 0x0059d7f9, 0x037a8462, 0x001bc154, 0x01d66f8a, 0x00913822, 0x016523a5, 0x000a8440}}, Y: Field{[10]uint32{0x00825159, 0x0314e86e, 0x02bff938, 0x01e1f4b0, 0x02b881d0, 0x001cdfce, 0x02de4983, 0x018ba6c0, 0x0125e1ca, 0x000934ed}}}, + {X: Field{[10]uint32{0x017efce0, 0x00d76991, 0x01d3835a, 0x02495bf2, 0x01a13edb, 0x03d0f4b6, 0x0326a8e4, 0x03e6a738, 0x03591148, 0x0001cc51}}, Y: Field{[10]uint32{0x03b2d8b3, 0x02c3fddd, 0x03790c7f, 0x03c0c182, 0x021ad5ad, 0x015d991c, 0x02c7cfa4, 0x02a8134e, 0x009480d0, 0x002c6573}}}, + {X: Field{[10]uint32{0x036206fc, 0x0117b76c, 0x02e3db2f, 0x0190df65, 0x000525d8, 0x016a7638, 0x0362979c, 0x008f5c58, 0x03e40c7e, 0x0028db93}}, Y: Field{[10]uint32{0x02844751, 0x0158d799, 0x02707c74, 0x027da5e9, 0x00034669, 0x0020ce69, 0x0270de87, 0x0236d2a2, 0x03850a42, 0x0015ab39}}}, + {X: Field{[10]uint32{0x003cac9a, 0x0135de3d, 0x00402344, 0x035fa219, 0x0085b877, 0x0289253d, 0x021b61d5, 0x01046175, 0x03e7a2c5, 0x0025e192}}, Y: Field{[10]uint32{0x01f2ff69, 0x023b68ae, 0x000ab013, 0x00a1c6e6, 0x003a6c54, 0x03a4f9c7, 0x01dcd900, 0x020e4554, 0x0278a85b, 0x0010ccca}}}, + {X: Field{[10]uint32{0x0119893e, 0x03ae65a1, 0x02458b74, 0x01057fc0, 0x03daa7ca, 0x0177351f, 0x02c92c84, 0x03ba9b68, 0x01bf2449, 0x000d294b}}, Y: Field{[10]uint32{0x0303ece4, 0x00151ff8, 0x001b9427, 0x00d5a675, 0x03b3545a, 0x007ceec8, 0x03a8d552, 0x009b27de, 0x0029900f, 0x002b7506}}}, + {X: Field{[10]uint32{0x03f3d629, 0x037a298b, 0x02fcf5af, 0x02ede67d, 0x030d8bdb, 0x018c7d6e, 0x037b2b48, 0x02985d7e, 0x03a994ee, 0x0038942a}}, Y: Field{[10]uint32{0x0143b0ea, 0x02f60da0, 0x01757409, 0x03b02ffc, 0x022e92c4, 0x02254c3e, 0x00b6fae6, 0x03ea182f, 0x00f59db0, 0x00200fcd}}}, + {X: Field{[10]uint32{0x0071ae00, 0x026b8a6e, 0x02372086, 0x00bb8eca, 0x02795304, 0x01563845, 0x009347a4, 0x011b8845, 0x026d0b59, 0x00060d5a}}, Y: Field{[10]uint32{0x015385cb, 0x03a6aee6, 0x01f08f19, 0x008eea30, 0x000ba6de, 0x032849f1, 0x0398ec8d, 0x01be0787, 0x01716b17, 0x0015bbc2}}}, + {X: Field{[10]uint32{0x00205533, 0x033caa44, 0x0288eed3, 0x035bdcf5, 0x02ca5932, 0x0030a795, 0x025ef3f3, 0x0182100d, 0x03f5e530, 0x000d6a3a}}, Y: Field{[10]uint32{0x03259958, 0x0061481f, 0x018c453a, 0x03570b41, 0x0220d30f, 0x02b69d67, 0x01410325, 0x0153788f, 0x01950429, 0x0027ab97}}}, + {X: Field{[10]uint32{0x02a4e1b9, 0x014107f9, 0x007bda70, 0x02427292, 0x037b3dbe, 0x014ea597, 0x0062b920, 0x023fa7aa, 0x02f525ea, 0x0000df81}}, Y: Field{[10]uint32{0x03ceb97c, 0x015fed87, 0x020d703f, 0x01a3f73d, 0x003f2f65, 0x00686650, 0x0313b604, 0x026fa88f, 0x03d35e48, 0x0020e467}}}, + {X: Field{[10]uint32{0x02131c27, 0x037b0657, 0x007131a4, 0x0119c636, 0x01483166, 0x03929bff, 0x00629476, 0x0000bc44, 0x0297ac6c, 0x002aeef9}}, Y: Field{[10]uint32{0x012f9dcb, 0x01c55cac, 0x00300929, 0x01126a92, 0x02fd7049, 0x0083abd3, 0x00d8a24a, 0x008bfdfe, 0x02cb9d51, 0x002cb249}}}, + {X: Field{[10]uint32{0x01b05878, 0x0161691a, 0x0204368a, 0x00dabab2, 0x015a1a36, 0x022454c5, 0x0029c8b7, 0x03730fdf, 0x02cb1484, 0x00137cda}}, Y: Field{[10]uint32{0x0241c41d, 0x0308379a, 0x02d09d4f, 0x012edff3, 0x00aa059f, 0x0255914d, 0x00417fb1, 0x03c098ff, 0x026fc08a, 0x003f85bf}}}, + {X: Field{[10]uint32{0x0399d0d7, 0x01f4a6f9, 0x0073123a, 0x018371f1, 0x03c8f49c, 0x02f6bdab, 0x01570e5e, 0x01a82a22, 0x02e31025, 0x0017fc53}}, Y: Field{[10]uint32{0x03e65d7b, 0x0074af3d, 0x010d8989, 0x01b15b3f, 0x0295382d, 0x02b66146, 0x02a923ee, 0x00beb23c, 0x013855eb, 0x0025bfc5}}}, + {X: Field{[10]uint32{0x015d119a, 0x00b7a8a1, 0x028104f6, 0x0320dabd, 0x02a24dba, 0x01eadc61, 0x01281a1b, 0x008bd1e4, 0x0052c1d4, 0x0005a84b}}, Y: Field{[10]uint32{0x00c17478, 0x0205c8c9, 0x03b2ab3a, 0x03d01838, 0x01d36a4b, 0x02eeaaea, 0x0196cb38, 0x015b791a, 0x0272f673, 0x001e9bbc}}}, + {X: Field{[10]uint32{0x01489ef5, 0x0003fea8, 0x00eda606, 0x02b2fa91, 0x0005fcdb, 0x03f559f9, 0x00b3d154, 0x02248292, 0x00338368, 0x0023d327}}, Y: Field{[10]uint32{0x03885717, 0x015932b6, 0x01b4e37d, 0x035232ee, 0x01a4b0ab, 0x018a78b9, 0x03c0082d, 0x01131eca, 0x004de064, 0x000aed6f}}}, + {X: Field{[10]uint32{0x02b83310, 0x035b4aaa, 0x017776ab, 0x00bf417d, 0x0219236d, 0x0140e672, 0x00ca399e, 0x01c04215, 0x039b0754, 0x001262fc}}, Y: Field{[10]uint32{0x02fd691c, 0x0394699a, 0x01d0c4dd, 0x0118b0d5, 0x02b5edcd, 0x0291752e, 0x007beb58, 0x0238daf3, 0x03ff0cb5, 0x00238b7a}}}, + {X: Field{[10]uint32{0x02fb5996, 0x01b84dbb, 0x01c1171e, 0x024047a2, 0x022ba51d, 0x012560cd, 0x02247d17, 0x034e5ac8, 0x020a2978, 0x001e051f}}, Y: Field{[10]uint32{0x03f85989, 0x00c349c3, 0x01fd41d8, 0x03d6e2c1, 0x004c75bf, 0x03ad1043, 0x01bf0fb2, 0x01986f9c, 0x030ca73b, 0x00299ade}}}, + {X: Field{[10]uint32{0x028d4927, 0x035df760, 0x01f663f4, 0x028b85ab, 0x0047e112, 0x00b7c012, 0x037aea1d, 0x01b1f951, 0x00d9fb23, 0x000d44a6}}, Y: Field{[10]uint32{0x00fe00f9, 0x00ab2077, 0x03f2067f, 0x035161e3, 0x01241094, 0x01862b94, 0x01c3884e, 0x008ea745, 0x01af8b6f, 0x001b2724}}}, + {X: Field{[10]uint32{0x02399d10, 0x00af2f85, 0x00a67a34, 0x01a2797e, 0x01c18146, 0x0121526b, 0x00ffc148, 0x01827093, 0x000c88fb, 0x003ed7ff}}, Y: Field{[10]uint32{0x00229ab3, 0x011b97ee, 0x00a0946f, 0x02472217, 0x0088cf57, 0x03a4ba5e, 0x03eff328, 0x02532e43, 0x013f9ced, 0x002a6578}}}, + {X: Field{[10]uint32{0x0032097b, 0x0293e812, 0x036b36c7, 0x0251df35, 0x0089565e, 0x00372aa8, 0x03bd1974, 0x027175c5, 0x03c44cc0, 0x0020d4ad}}, Y: Field{[10]uint32{0x010fe6bc, 0x02bdb1df, 0x01e236f8, 0x02ada531, 0x00f91c8f, 0x01dd2b9a, 0x018ca786, 0x0097641d, 0x019800fa, 0x002541f2}}}, + {X: Field{[10]uint32{0x01919f4a, 0x00104561, 0x0140bd82, 0x036d8ab6, 0x015d5ed1, 0x02ec7165, 0x01014d76, 0x009d1b5b, 0x000f273a, 0x0006f997}}, Y: Field{[10]uint32{0x0009a3f2, 0x0368d657, 0x03552da3, 0x00f202c8, 0x00f044e9, 0x03be0eba, 0x01470a83, 0x03e0e68f, 0x03302a38, 0x0036b263}}}, + {X: Field{[10]uint32{0x0358418e, 0x017e6302, 0x003a7ed6, 0x0227afdd, 0x008de14d, 0x03a003d9, 0x0365037a, 0x03889fba, 0x03a52f4b, 0x001c41fc}}, Y: Field{[10]uint32{0x01fca7a4, 0x01a9d29a, 0x00e6069f, 0x03caa857, 0x01927b2d, 0x023bab91, 0x00e429d1, 0x03cc9f45, 0x0009bd1a, 0x002ff3c7}}}, + {X: Field{[10]uint32{0x03312e3e, 0x00125ce5, 0x00cff9dd, 0x03300293, 0x00983389, 0x02c7e766, 0x0254a133, 0x02b96c73, 0x004be8ed, 0x000045ca}}, Y: Field{[10]uint32{0x0212b03d, 0x02d170e0, 0x01539638, 0x01de1b98, 0x0084e3af, 0x0321342e, 0x03519994, 0x03b5262f, 0x001e724f, 0x00247923}}}, + {X: Field{[10]uint32{0x000de54e, 0x02d129ec, 0x015ded31, 0x02db1f99, 0x0041c243, 0x0226d9c5, 0x01f1cd0d, 0x026ad194, 0x02deb1ff, 0x00282361}}, Y: Field{[10]uint32{0x030f0d2f, 0x0098a720, 0x0012c0ec, 0x03530b6f, 0x01a72ed8, 0x01d33252, 0x0364feef, 0x00e7455d, 0x03f6344d, 0x001343f9}}}, + {X: Field{[10]uint32{0x00e8c25f, 0x023b2d69, 0x015503f7, 0x00cf79c4, 0x0098cfc6, 0x02352282, 0x032cbf36, 0x01062bbb, 0x01cedf67, 0x00271130}}, Y: Field{[10]uint32{0x01e743fa, 0x01936f8c, 0x0335f81f, 0x01b79306, 0x03de3d3c, 0x03e61c30, 0x01a959b9, 0x03c258c7, 0x002086d3, 0x000f3688}}}, + {X: Field{[10]uint32{0x0339f149, 0x00ce2c88, 0x02319250, 0x012694ab, 0x00f85979, 0x03c935c5, 0x03118da6, 0x030196ea, 0x00755215, 0x00364cf9}}, Y: Field{[10]uint32{0x00baec45, 0x01f5bf22, 0x01dcb054, 0x00e74bc6, 0x030e277e, 0x012604a1, 0x03abfa60, 0x03c13778, 0x028e313a, 0x0017ec3c}}}, + {X: Field{[10]uint32{0x008a42cb, 0x003c74c6, 0x015ff63c, 0x014d96ab, 0x024c2f9e, 0x03c90ef1, 0x00105289, 0x014cb288, 0x0197ddd0, 0x001ff87c}}, Y: Field{[10]uint32{0x02472af7, 0x0159e3ff, 0x02c7cd3f, 0x02b1ae8a, 0x01a9ec6b, 0x015879d7, 0x03618286, 0x024863b8, 0x033fa186, 0x00204ec4}}}, + {X: Field{[10]uint32{0x0107f79c, 0x02ae54b1, 0x0151a96a, 0x02bacf5d, 0x037ba412, 0x00b71b55, 0x010789c7, 0x008409eb, 0x01218961, 0x0038d5a1}}, Y: Field{[10]uint32{0x023e3a30, 0x01919690, 0x029a8496, 0x00533579, 0x017d8201, 0x0377d351, 0x01fe225e, 0x02a2b2b9, 0x01058e2c, 0x001d9171}}}, + {X: Field{[10]uint32{0x02ebece4, 0x03b3e0ad, 0x0380d146, 0x020ee089, 0x00c667a1, 0x02daa768, 0x02bcefc3, 0x01128aaf, 0x01468a56, 0x00315abf}}, Y: Field{[10]uint32{0x00f1a8d4, 0x018d7e55, 0x01e750cc, 0x005071a4, 0x022915ba, 0x01a19526, 0x03c587cb, 0x00a11227, 0x0255a80e, 0x00279071}}}, + {X: Field{[10]uint32{0x01589345, 0x0347c9a8, 0x02d5600a, 0x023f46af, 0x01440f9f, 0x00257c38, 0x036042e1, 0x02a3c1ce, 0x033960e6, 0x002c90ba}}, Y: Field{[10]uint32{0x036dfde0, 0x00107961, 0x01ca4bb5, 0x02b7a11a, 0x00378579, 0x025bca8d, 0x002decb6, 0x03c280d8, 0x036df063, 0x00251369}}}, + {X: Field{[10]uint32{0x023bb827, 0x01ec41cc, 0x03d42af5, 0x029ad70e, 0x0378f835, 0x0339a1c0, 0x00a43f2f, 0x00b8ba22, 0x01666d2e, 0x000e94bf}}, Y: Field{[10]uint32{0x03af91c7, 0x0136a669, 0x034cc487, 0x035b4390, 0x020096c7, 0x023d3ca7, 0x015cea01, 0x01e9189d, 0x0177a7b3, 0x0004b944}}}, + {X: Field{[10]uint32{0x00d28f53, 0x01deba89, 0x026cf708, 0x03f8259e, 0x034a71c0, 0x0262a31a, 0x03072d25, 0x006b4451, 0x0215c883, 0x002ddf55}}, Y: Field{[10]uint32{0x02bf3132, 0x02318d27, 0x011760d1, 0x030cdaa3, 0x01f5cff2, 0x03de4d81, 0x02df83d5, 0x0299977a, 0x03cfa068, 0x0009756d}}}, + {X: Field{[10]uint32{0x008530dc, 0x0260da70, 0x0214d798, 0x013d3fde, 0x03f23d22, 0x0109aa89, 0x03847288, 0x00d6a14d, 0x003b61e4, 0x00391083}}, Y: Field{[10]uint32{0x00ca8572, 0x034b213b, 0x019a7f7c, 0x02a626c4, 0x029b3c67, 0x01622b65, 0x02bd74e1, 0x0212e66f, 0x00b48579, 0x00108ac1}}}, + {X: Field{[10]uint32{0x030aaaea, 0x00204158, 0x007cecae, 0x011262b4, 0x01236e3c, 0x01853ec0, 0x020fadda, 0x00a678ee, 0x01bfc6ab, 0x002222ff}}, Y: Field{[10]uint32{0x0370eb3c, 0x03d1dccd, 0x03453f06, 0x032761c4, 0x037ada97, 0x006a3d02, 0x00fb94aa, 0x0396018a, 0x013d58cf, 0x0021b9c9}}}, + {X: Field{[10]uint32{0x00ef419c, 0x01310d84, 0x02cce8ef, 0x00b52185, 0x000d850f, 0x004e6059, 0x03de398a, 0x022cc376, 0x018bf7d7, 0x003dd349}}, Y: Field{[10]uint32{0x03029204, 0x029ffc94, 0x02c9dfca, 0x02db5233, 0x0205d60e, 0x02ec4b4c, 0x0332213c, 0x02b7f250, 0x01af1e6d, 0x00344f52}}}, + {X: Field{[10]uint32{0x00da6df0, 0x00504417, 0x00ae0679, 0x0352deb0, 0x0365cea0, 0x006e4895, 0x00097861, 0x00120e9c, 0x029098d6, 0x002a2ccf}}, Y: Field{[10]uint32{0x0121c553, 0x03ced44d, 0x01ddc650, 0x030194b2, 0x021182b6, 0x01bfd1d8, 0x032598e9, 0x0255ec45, 0x038cc08d, 0x00163308}}}, + {X: Field{[10]uint32{0x023ef1ff, 0x0251c286, 0x03cb8969, 0x02d96b84, 0x027a4a6c, 0x01286857, 0x01dbbe3d, 0x03eb6639, 0x01547477, 0x0016be2c}}, Y: Field{[10]uint32{0x016f25bf, 0x012c68df, 0x03672cc8, 0x0056dbbd, 0x033c0a8c, 0x019ba05c, 0x008fac13, 0x0060c8db, 0x0201d0c6, 0x001497b4}}}, + {X: Field{[10]uint32{0x03bec21c, 0x027ca780, 0x030bc811, 0x0196adff, 0x02fa71e6, 0x037e198a, 0x01143833, 0x01712887, 0x00546d4c, 0x00005571}}, Y: Field{[10]uint32{0x00411aae, 0x0259afd4, 0x036d0378, 0x020bb7bf, 0x03638422, 0x03f5c91f, 0x00eaefe8, 0x00461737, 0x03672f64, 0x00083a67}}}, + {X: Field{[10]uint32{0x0025a56e, 0x0019831d, 0x01473101, 0x00319ce3, 0x00c8fd7f, 0x02998ddc, 0x0022aea5, 0x00b59b9f, 0x0186ee18, 0x0014e461}}, Y: Field{[10]uint32{0x0056152e, 0x01636746, 0x0052fabc, 0x01e9c848, 0x00cdbf72, 0x01c2e249, 0x02564a1e, 0x03b075f8, 0x00923052, 0x0031ffa8}}}, + {X: Field{[10]uint32{0x03ad6414, 0x0262ee8e, 0x00d4f679, 0x03ca356b, 0x01cc52d7, 0x01dd03d3, 0x0004abba, 0x02dc59d2, 0x01d9a0fa, 0x003de593}}, Y: Field{[10]uint32{0x01f62c59, 0x02b20d22, 0x03ccb31c, 0x008bc6ef, 0x02d469a1, 0x03b04779, 0x03dc5c2a, 0x03d8339e, 0x0364aba0, 0x001aa627}}}, + {X: Field{[10]uint32{0x01663183, 0x0167b6f3, 0x0258e720, 0x038ad6c5, 0x02ffd72e, 0x00c9f1bb, 0x000a909b, 0x03cb79e2, 0x008af514, 0x001d0723}}, Y: Field{[10]uint32{0x0087b2ae, 0x00915129, 0x01b49012, 0x00c7edbf, 0x02e40b6b, 0x022bf9cd, 0x013532d4, 0x00518371, 0x036de5de, 0x003cd749}}}, + {X: Field{[10]uint32{0x0347945a, 0x03e20d62, 0x037e9b2e, 0x03c4c485, 0x02606e55, 0x01bbd3c8, 0x02ea9f12, 0x028a2bf1, 0x01bf6cc2, 0x0037a31a}}, Y: Field{[10]uint32{0x00a48a02, 0x017292d0, 0x0052c8b8, 0x0108ec72, 0x0270d847, 0x013fdc19, 0x00e2fecb, 0x035851e0, 0x00536900, 0x0023798a}}}, + {X: Field{[10]uint32{0x0357c537, 0x0163a8db, 0x006afcd0, 0x03f66a11, 0x01d6a8d5, 0x00f7404d, 0x02523b2d, 0x02d07362, 0x0339619b, 0x0020785b}}, Y: Field{[10]uint32{0x03f4b31e, 0x0170996e, 0x0032f239, 0x0135f6eb, 0x00375c43, 0x01477bb1, 0x006de9b9, 0x03b32b45, 0x00737cd2, 0x0019e1bf}}}, + {X: Field{[10]uint32{0x026f988d, 0x008eab9e, 0x01a20f01, 0x00122ac8, 0x02e70f7f, 0x01c96cc2, 0x01625b8a, 0x02c8ba31, 0x0189d079, 0x001167a5}}, Y: Field{[10]uint32{0x03f38e08, 0x01fa310c, 0x0112ee76, 0x0069155d, 0x00915de2, 0x030d41b3, 0x02d26acc, 0x028a4b12, 0x02935b71, 0x00295bb7}}}, + {X: Field{[10]uint32{0x028ebddd, 0x013ce161, 0x03758228, 0x014746ae, 0x01f2e5bb, 0x01c2d3ab, 0x0018806a, 0x029ffc82, 0x03554fab, 0x002c1e75}}, Y: Field{[10]uint32{0x0274dffe, 0x016dc07f, 0x001dcfcf, 0x03115d18, 0x0120b6c0, 0x0390d3ea, 0x00f65773, 0x005d2c84, 0x002d552f, 0x00125777}}}, + {X: Field{[10]uint32{0x034f288b, 0x02af4b19, 0x00100569, 0x005cfc17, 0x00bb30af, 0x0356c42d, 0x0180de1d, 0x03ec8505, 0x03bb5983, 0x001d4e46}}, Y: Field{[10]uint32{0x02958d67, 0x0292bdf7, 0x0080db58, 0x00d347c7, 0x02b319f5, 0x004d694a, 0x026032f2, 0x012ae7ad, 0x02bac915, 0x0015f1e9}}}, + {X: Field{[10]uint32{0x01524db4, 0x02784d90, 0x03e7d5a8, 0x03dccbf2, 0x035bda94, 0x013f1a47, 0x0061069e, 0x023dd7f1, 0x0157f284, 0x001c50da}}, Y: Field{[10]uint32{0x033f0007, 0x014476f7, 0x0224fe92, 0x016973bc, 0x0195658a, 0x006e4f20, 0x022813c5, 0x02b75596, 0x0052ef4f, 0x0004a1fe}}}, + {X: Field{[10]uint32{0x01543f9c, 0x03263c50, 0x037853b7, 0x01adc9e7, 0x0094ad07, 0x00965c3b, 0x00c74c9e, 0x03425c37, 0x0333fa75, 0x002e40e2}}, Y: Field{[10]uint32{0x03cf838e, 0x01c2ac36, 0x02660734, 0x03cf5bd9, 0x02af59ce, 0x038e7235, 0x03c1bf48, 0x017b40fe, 0x01696929, 0x0028a30c}}}, + {X: Field{[10]uint32{0x01f86196, 0x022bc5e9, 0x034b083b, 0x02e759f0, 0x03f259bd, 0x01b6f832, 0x00664e63, 0x036403ef, 0x0028a9fb, 0x002cb18f}}, Y: Field{[10]uint32{0x0149ebdd, 0x0040fbb3, 0x012b0ee7, 0x008dbd70, 0x01b79207, 0x02544329, 0x03084218, 0x018f119c, 0x00fc069c, 0x002a3c14}}}, + {X: Field{[10]uint32{0x0017f39c, 0x00b31e89, 0x0128a5c9, 0x011bce3a, 0x01d06bf3, 0x03edf1e1, 0x027edfad, 0x008657d2, 0x01bea32b, 0x003374a9}}, Y: Field{[10]uint32{0x03fa621b, 0x02b775ad, 0x01f04d2d, 0x01320e0a, 0x02213386, 0x00ace02b, 0x0203ee72, 0x0070d80c, 0x0278ac42, 0x0002ad9b}}}, + {X: Field{[10]uint32{0x033db80f, 0x033e9867, 0x01c39780, 0x0031c93e, 0x01a27d74, 0x0220e3b1, 0x02f03a82, 0x029cdeb3, 0x0064b079, 0x00209742}}, Y: Field{[10]uint32{0x021071d3, 0x01c866d1, 0x02b43a87, 0x02b6f0b8, 0x01c2154f, 0x03817ae9, 0x027e427f, 0x011299fc, 0x00b7749e, 0x002fcfba}}}, + {X: Field{[10]uint32{0x035e24c7, 0x02e243ef, 0x02218608, 0x01dfc2c3, 0x01d0c364, 0x027d338f, 0x02930a87, 0x03d00b25, 0x023cbf6b, 0x000dede7}}, Y: Field{[10]uint32{0x00f66f1d, 0x016b40c4, 0x02e29204, 0x02cbdec3, 0x00c32a5b, 0x0084f0bc, 0x010ff4c9, 0x018c2e82, 0x02c7cec5, 0x00365c50}}}, + {X: Field{[10]uint32{0x012b6135, 0x008b0cd5, 0x039d8aed, 0x003beec1, 0x0389560b, 0x02d14baf, 0x01105bf5, 0x029d7502, 0x02d0678e, 0x003ee992}}, Y: Field{[10]uint32{0x011f938c, 0x00f02c83, 0x03e3bdf6, 0x0065f5b6, 0x035c628f, 0x02a01ab5, 0x01dd8441, 0x00dea2a1, 0x022de4e6, 0x0039994d}}}, + {X: Field{[10]uint32{0x00d9cf72, 0x028fe5fb, 0x027a859e, 0x0034610c, 0x03d3bd49, 0x021311db, 0x004897de, 0x034dbe76, 0x038e077e, 0x001d9e1e}}, Y: Field{[10]uint32{0x0180a9b3, 0x0336508e, 0x00158210, 0x022ccf59, 0x00e3ba22, 0x0075e37f, 0x0126011d, 0x00e30f30, 0x03141a3f, 0x00033de7}}}, + {X: Field{[10]uint32{0x00157b31, 0x00694340, 0x03e8a369, 0x02790be7, 0x01f16a12, 0x01986954, 0x026ba1c5, 0x028cd217, 0x01d0ffb3, 0x0009aeaf}}, Y: Field{[10]uint32{0x002c530d, 0x0101cb63, 0x008eee4c, 0x01c49fb7, 0x02e66a6c, 0x0080dc2c, 0x0266e33a, 0x00691bed, 0x02e2b1cf, 0x0006ce92}}}, + {X: Field{[10]uint32{0x0376307a, 0x000c75a7, 0x02008c1b, 0x03c8d811, 0x007ca4d3, 0x01dca7ca, 0x02aa8640, 0x0287a5e9, 0x03b77a2f, 0x00056bb6}}, Y: Field{[10]uint32{0x03073649, 0x033f65bf, 0x00788a6d, 0x01e14d53, 0x03f94088, 0x03017cda, 0x01746439, 0x008d81a9, 0x0142bf8b, 0x000cd0a8}}}, + {X: Field{[10]uint32{0x026fe467, 0x0003d5d1, 0x01fb3de1, 0x02837f79, 0x01c2b072, 0x01bbd330, 0x00d5767c, 0x03353f7d, 0x00a39bb7, 0x00263b38}}, Y: Field{[10]uint32{0x03227e28, 0x03d18faa, 0x02bba6f4, 0x00a5a829, 0x021e679d, 0x00e555b1, 0x0029d0f8, 0x024f9fae, 0x00a8218c, 0x00313a49}}}, + {X: Field{[10]uint32{0x03f373a9, 0x026daa0f, 0x03304198, 0x028becc8, 0x018a48cd, 0x0019eedc, 0x01ffafab, 0x00fbb533, 0x0105fc21, 0x001f619d}}, Y: Field{[10]uint32{0x0097d47c, 0x027bdd5f, 0x00c1b919, 0x03e233a8, 0x0096e167, 0x01290053, 0x03c417ef, 0x0081e065, 0x03f03c21, 0x00177d47}}}, + {X: Field{[10]uint32{0x01b3001f, 0x02dce8a5, 0x0117f410, 0x012275db, 0x02bf269a, 0x02c03578, 0x03ece8b7, 0x02387ef8, 0x01d74357, 0x003c93c6}}, Y: Field{[10]uint32{0x0223631f, 0x014d89c1, 0x0020d53e, 0x011d4520, 0x0116d2b5, 0x00d3d31e, 0x0048bbbb, 0x022d99ec, 0x03ff5544, 0x00191290}}}, + {X: Field{[10]uint32{0x000efd59, 0x0374ef20, 0x0227b923, 0x007480e6, 0x021fd106, 0x0352fa88, 0x0111281e, 0x00a5b87a, 0x03045c22, 0x0024e14c}}, Y: Field{[10]uint32{0x03eb7040, 0x03f9a662, 0x011628c2, 0x0087a7eb, 0x022607da, 0x01332417, 0x0399bbfe, 0x00b4543d, 0x00f600cd, 0x0008a623}}}, + {X: Field{[10]uint32{0x02319743, 0x014c7251, 0x01f0daf1, 0x03b2625f, 0x01b91ff4, 0x039349a1, 0x03b14ee8, 0x013c5894, 0x03053983, 0x003c2431}}, Y: Field{[10]uint32{0x000bd522, 0x0160d04a, 0x02d2abf1, 0x02326bce, 0x0228c59c, 0x014e80ad, 0x0208391f, 0x009c76a2, 0x00851d30, 0x003045c6}}}, + {X: Field{[10]uint32{0x02a78c6e, 0x01b34fbf, 0x038e67fb, 0x0022a401, 0x000df9bb, 0x00aa3abf, 0x00234aeb, 0x03cedd28, 0x00ecab5b, 0x0003a3f2}}, Y: Field{[10]uint32{0x02ddabe5, 0x001eca09, 0x035c29b0, 0x002d2439, 0x01a8397c, 0x018b829d, 0x02fcd713, 0x026edd1b, 0x016534ce, 0x00002c20}}}, + {X: Field{[10]uint32{0x03126785, 0x02835c67, 0x03aa09b0, 0x02eb200c, 0x03c7426d, 0x012bcdf8, 0x003cef69, 0x010f9cc0, 0x00d187cb, 0x00118963}}, Y: Field{[10]uint32{0x01ad4fc4, 0x02b48dd5, 0x006d4601, 0x02fdc20b, 0x0175576e, 0x030da608, 0x00dd82e2, 0x002089d9, 0x01a75f06, 0x00211850}}}, + {X: Field{[10]uint32{0x00a3e430, 0x02fb9ab3, 0x037a1e65, 0x03cd17e6, 0x0394109b, 0x010cd042, 0x01d27c3f, 0x021fbd4a, 0x033bdb38, 0x0039fce2}}, Y: Field{[10]uint32{0x02cd589f, 0x02b0d24a, 0x00f8109f, 0x02deb6f2, 0x00ab1faf, 0x02c1fa2b, 0x02dec0c0, 0x031c0a42, 0x00f15eae, 0x003d4910}}}, + {X: Field{[10]uint32{0x03537aec, 0x02c0e94b, 0x0062eda5, 0x019fdcff, 0x02fa9a01, 0x007d5a76, 0x03d5b750, 0x01e635d7, 0x00331472, 0x000b4a7a}}, Y: Field{[10]uint32{0x012d2be6, 0x025dba5e, 0x00001d18, 0x017d688c, 0x03d9e2f5, 0x00164d80, 0x03c58cfc, 0x02e7ea85, 0x011ab117, 0x0014b4f7}}}, + {X: Field{[10]uint32{0x0091ffb6, 0x025f470e, 0x03c7c8ac, 0x0291be50, 0x00f47609, 0x01d54b76, 0x03b44c9c, 0x029edddf, 0x009cabf7, 0x0028ecbb}}, Y: Field{[10]uint32{0x00fc19de, 0x0272efcf, 0x03417d55, 0x01856c06, 0x024d5280, 0x00a96b59, 0x00933852, 0x00e07d4c, 0x0070f091, 0x001b38e3}}}, + {X: Field{[10]uint32{0x0100f473, 0x03d974cc, 0x03015a21, 0x01896150, 0x026cefe7, 0x02cf46a3, 0x02504dda, 0x0295b039, 0x001e7582, 0x002bf2cf}}, Y: Field{[10]uint32{0x03171af8, 0x029db1a2, 0x004a38e5, 0x021d5ecb, 0x0367edbd, 0x03864c40, 0x02afc618, 0x02126629, 0x039dfbeb, 0x001aebc7}}}, + {X: Field{[10]uint32{0x010e2ac8, 0x00d58976, 0x006eccdd, 0x0129242e, 0x026650f7, 0x0119aa30, 0x022bbea9, 0x02559efd, 0x0212dc89, 0x00222cbc}}, Y: Field{[10]uint32{0x018c30a5, 0x01629934, 0x0208e7e4, 0x010b6652, 0x026ecd6c, 0x0285c8f8, 0x036d4f5d, 0x0054ff5f, 0x017bdef6, 0x001cff5d}}}, + {X: Field{[10]uint32{0x01adef3c, 0x02646f87, 0x000d493d, 0x01157125, 0x03395c59, 0x0369a8a9, 0x01c971d7, 0x00a45994, 0x029f4ca3, 0x0002ff7a}}, Y: Field{[10]uint32{0x01bc20d8, 0x02d93608, 0x00a17578, 0x01947db5, 0x004166bc, 0x02e01df3, 0x000adea5, 0x03da1108, 0x00447ef3, 0x00209d1c}}}, + {X: Field{[10]uint32{0x00973ae5, 0x00d91fb9, 0x0265b521, 0x0298f593, 0x00e8fdf6, 0x01247b3c, 0x012e3869, 0x0175a729, 0x0381aa76, 0x00175172}}, Y: Field{[10]uint32{0x03d019db, 0x03e0ac4b, 0x022bdb17, 0x03f8f2be, 0x00fdab36, 0x0040e9f7, 0x03517e7c, 0x01b5dddc, 0x032b51a7, 0x00292928}}}, + {X: Field{[10]uint32{0x02e7109d, 0x0019d4de, 0x033ae87d, 0x0249174b, 0x036d6fe0, 0x0310f976, 0x034fa531, 0x026652a8, 0x03cee14e, 0x003ce940}}, Y: Field{[10]uint32{0x03ec49e8, 0x0157957c, 0x01785ac5, 0x02e81cc9, 0x03568aa5, 0x006546d8, 0x0322daad, 0x0142d081, 0x00c0a24d, 0x000ac5c5}}}, + {X: Field{[10]uint32{0x00cbeeb5, 0x01ab78e2, 0x012d9b66, 0x014cdf47, 0x02042619, 0x02e39ae2, 0x00c225ea, 0x00bb4915, 0x036d6f81, 0x002530e9}}, Y: Field{[10]uint32{0x03a953e3, 0x0358e87b, 0x0104cbc8, 0x03eb59b8, 0x023d1351, 0x02fc6062, 0x00893b95, 0x019d1b75, 0x02e6aa40, 0x002ee273}}}, + {X: Field{[10]uint32{0x00f4c050, 0x0242323c, 0x02a3cc0c, 0x03446077, 0x01b9a2d3, 0x007f696f, 0x015a6625, 0x00900ce7, 0x02810523, 0x0008f6ff}}, Y: Field{[10]uint32{0x01eae6b2, 0x016e12d3, 0x036794e4, 0x0267502a, 0x00b5c168, 0x01e7b439, 0x00f8385c, 0x0043bd22, 0x0271229f, 0x0032bbce}}}, + {X: Field{[10]uint32{0x00bbf1d2, 0x00a7b1ab, 0x03b88e46, 0x03286d2e, 0x01d2dcbe, 0x015e4d7d, 0x01dc69dc, 0x02186704, 0x03d120ef, 0x000e41f8}}, Y: Field{[10]uint32{0x0015e853, 0x02611185, 0x00055ba2, 0x02f16288, 0x00e6aad1, 0x0324da11, 0x017b0a60, 0x00ae7730, 0x02b7d74e, 0x0010e3e5}}}, + {X: Field{[10]uint32{0x032b7d9c, 0x03c17859, 0x00b710e6, 0x012ccde2, 0x01651c94, 0x0101fd64, 0x02a6a373, 0x0013f602, 0x03193eeb, 0x00030502}}, Y: Field{[10]uint32{0x01e44072, 0x001dee4a, 0x02e641f7, 0x03bd0c34, 0x03899450, 0x001d8ed8, 0x01fef6b7, 0x01150e75, 0x011559e2, 0x002526ff}}}, + {X: Field{[10]uint32{0x032ea56c, 0x02951f83, 0x028d1740, 0x02dac1b8, 0x002563c3, 0x00c3dd79, 0x012fe269, 0x00e72077, 0x005bc96a, 0x0025df3c}}, Y: Field{[10]uint32{0x02a10d52, 0x03039ae6, 0x02dc0e70, 0x01e0daa7, 0x0307e158, 0x01b291a2, 0x0295e234, 0x005930db, 0x023a8508, 0x0000e00b}}}, + {X: Field{[10]uint32{0x00a034e3, 0x009ec836, 0x003761e8, 0x02ce7b8f, 0x02795a7b, 0x039395fd, 0x0151e5a9, 0x0383532b, 0x00d63995, 0x00041a70}}, Y: Field{[10]uint32{0x027fe33b, 0x03065316, 0x028041d2, 0x02b1e23f, 0x0047963a, 0x02aed792, 0x01d89c47, 0x01319560, 0x00879c0e, 0x00386a85}}}, + {X: Field{[10]uint32{0x013e3682, 0x02096cf2, 0x0245bba3, 0x03d4d49e, 0x0142419a, 0x0138a9d5, 0x03ab10c7, 0x010607fc, 0x0280c341, 0x003fde31}}, Y: Field{[10]uint32{0x00d3615e, 0x0128dd89, 0x0256e1fc, 0x01d37cbc, 0x0186c8c5, 0x002cb6fb, 0x032382e2, 0x0243cdda, 0x02dbf053, 0x003badc2}}}, + {X: Field{[10]uint32{0x02bcddc7, 0x01abf661, 0x03d05905, 0x01af570d, 0x002b0cb2, 0x020e29a8, 0x004c3ff5, 0x00f5aa70, 0x03033acd, 0x0017b27a}}, Y: Field{[10]uint32{0x032aff03, 0x0099d25c, 0x01c8b9ae, 0x02d230ea, 0x03e39d92, 0x03651170, 0x000bed1e, 0x0037c05f, 0x03f60eed, 0x0024a8a1}}}, + {X: Field{[10]uint32{0x031b37d1, 0x0363b211, 0x03ee9339, 0x01369f71, 0x00bef0a5, 0x0236f1fa, 0x0267e14d, 0x034d2dfb, 0x02ba792d, 0x003aa881}}, Y: Field{[10]uint32{0x011ee92e, 0x0041f1a3, 0x025e2695, 0x008475e3, 0x0355e00d, 0x01030585, 0x02f2530c, 0x027281ff, 0x025ebe71, 0x00155df9}}}, + {X: Field{[10]uint32{0x00eb3ed7, 0x014abf43, 0x03f54af9, 0x023b4f61, 0x02689ef0, 0x01573be8, 0x036789d4, 0x0004a8f5, 0x02f56034, 0x0009b418}}, Y: Field{[10]uint32{0x01323424, 0x02d60db4, 0x011094e7, 0x02896b3a, 0x01dbe6fa, 0x00347db7, 0x00340c5f, 0x0161de67, 0x01acef6f, 0x0017bfc7}}}, + {X: Field{[10]uint32{0x02602d48, 0x03c89c47, 0x03bd1492, 0x03e70d06, 0x021a2413, 0x0047b6a3, 0x009e449d, 0x02d8a93d, 0x015ae50d, 0x00200350}}, Y: Field{[10]uint32{0x0002eb50, 0x0255fd5f, 0x036fbdc5, 0x0039d580, 0x03d5c8cb, 0x0344b67c, 0x019ec5cf, 0x026d748a, 0x016d05d1, 0x0015a72b}}}, + {X: Field{[10]uint32{0x009a1c90, 0x00f189e7, 0x006bb985, 0x02f83e16, 0x02e1531f, 0x0068859d, 0x03aaca5f, 0x0370665c, 0x0352bc16, 0x001b0068}}, Y: Field{[10]uint32{0x00cc04e7, 0x01cec63e, 0x027654c0, 0x034b5935, 0x01a39a17, 0x0095204e, 0x027226ab, 0x01a83c9d, 0x0342c959, 0x0020cf75}}}, + {X: Field{[10]uint32{0x03742c26, 0x01390c4d, 0x038e80a5, 0x02e3423b, 0x01f0b914, 0x01ce346b, 0x00e7c4d4, 0x03fc3141, 0x0122f1b3, 0x000eb332}}, Y: Field{[10]uint32{0x03cb0ad7, 0x0026b2c0, 0x00b1786a, 0x00620b84, 0x0152a2d1, 0x014aca5e, 0x00dee26c, 0x002cd0c1, 0x008327d6, 0x002aa735}}}, + {X: Field{[10]uint32{0x00f8ec72, 0x01c3fc74, 0x03edf2ec, 0x0307b9ba, 0x02f8d978, 0x03e398d4, 0x0380f753, 0x01cfc828, 0x0072828b, 0x002837d7}}, Y: Field{[10]uint32{0x00ac6670, 0x01ea27e9, 0x0230680d, 0x02dbac3b, 0x02b1327d, 0x01e79c8c, 0x02226893, 0x02f44c79, 0x01bef1e0, 0x002c8c2b}}}, + {X: Field{[10]uint32{0x03b52c73, 0x015ee5cc, 0x005a449d, 0x01c34ffe, 0x02d4bbc9, 0x01521971, 0x03a8dbbd, 0x03b26181, 0x01949776, 0x002757c3}}, Y: Field{[10]uint32{0x00afc1a8, 0x03a83c80, 0x02cf202c, 0x0055f446, 0x01ad7faf, 0x03d834d1, 0x038a056f, 0x00eb7552, 0x03baf489, 0x003fc23b}}}, + {X: Field{[10]uint32{0x01d3d84e, 0x03c8421b, 0x00917fb7, 0x02d699ce, 0x00228f54, 0x022947b2, 0x025b2935, 0x0208bb7a, 0x012d9ea1, 0x0037bd76}}, Y: Field{[10]uint32{0x008b3129, 0x01667b80, 0x0307a479, 0x002b5f00, 0x039d5bc2, 0x000affcd, 0x00d3ad02, 0x03af0c4e, 0x000db94a, 0x0002db1d}}}, + {X: Field{[10]uint32{0x00df33de, 0x010b9961, 0x03832736, 0x03c6e9ba, 0x03643fb0, 0x03d341d7, 0x007136c0, 0x035d38fe, 0x0105cdc8, 0x003ea42c}}, Y: Field{[10]uint32{0x00bba36d, 0x01e77a94, 0x00c273c0, 0x02494989, 0x003a180d, 0x003c3891, 0x029e852f, 0x023ae927, 0x00c373f5, 0x000f9aca}}}, + {X: Field{[10]uint32{0x03d0eb52, 0x02e33468, 0x02349575, 0x02ca5c1a, 0x01ce077c, 0x0353677e, 0x01c84613, 0x01ee4300, 0x0021ff2f, 0x002084ba}}, Y: Field{[10]uint32{0x003185f0, 0x0390ffdc, 0x02b5b8f8, 0x03b4b22b, 0x01d24bb5, 0x00d5018e, 0x0256e8f3, 0x039d5bf6, 0x01db2fa3, 0x00356701}}}, + {X: Field{[10]uint32{0x0061220d, 0x0362c83b, 0x00e49f9c, 0x02dcabed, 0x0124f155, 0x00074579, 0x01a641e1, 0x01c75d2c, 0x00c81d1f, 0x003b8d03}}, Y: Field{[10]uint32{0x02286f37, 0x020ce0ab, 0x01438f00, 0x007bd604, 0x0086f814, 0x02a3a2c1, 0x02fa7964, 0x017f5fc7, 0x033f2535, 0x00245760}}}, + {X: Field{[10]uint32{0x002afee1, 0x009bd951, 0x026b50aa, 0x0025fe0d, 0x02302b50, 0x02dc88f8, 0x00b257fb, 0x00f60dd0, 0x0125dd2e, 0x000b14d5}}, Y: Field{[10]uint32{0x021cf765, 0x01c9c4ed, 0x03947672, 0x01e5fdcf, 0x0292d43a, 0x03ced500, 0x038f9662, 0x02d9a13c, 0x014ef945, 0x00073514}}}, + {X: Field{[10]uint32{0x0267d94d, 0x026b517e, 0x00f2baae, 0x0075ba05, 0x03404b9e, 0x00a97e5d, 0x00a9083a, 0x028a233d, 0x03cf8b57, 0x0037ddd8}}, Y: Field{[10]uint32{0x01580ce2, 0x030ceb2c, 0x0309cb4f, 0x01706a49, 0x01bf0529, 0x00e23ba7, 0x02276bdd, 0x02d23184, 0x033631fd, 0x0013df70}}}, + {X: Field{[10]uint32{0x00dcee60, 0x0049a83b, 0x00da18fd, 0x023d3579, 0x038ff99b, 0x0335b418, 0x0374b928, 0x03c86044, 0x0240d6d0, 0x000d4530}}, Y: Field{[10]uint32{0x0197fca2, 0x00297190, 0x035cee53, 0x02c9c825, 0x02ac17ab, 0x01ddfb46, 0x018421c7, 0x02be00f2, 0x034a1a1b, 0x000a8347}}}, + {X: Field{[10]uint32{0x02e40a27, 0x012f4f1a, 0x0360a0b5, 0x016364d7, 0x00237a1b, 0x02d50755, 0x01de551a, 0x032e0653, 0x01d9e58b, 0x0000f79d}}, Y: Field{[10]uint32{0x01d97c75, 0x02cae349, 0x03ddc455, 0x036bf756, 0x033ec422, 0x01bc940d, 0x03ad8c48, 0x02c1631a, 0x00dbbe2d, 0x0026b685}}}, + {X: Field{[10]uint32{0x01e0420f, 0x0228229b, 0x005ddae2, 0x014bd40b, 0x0290ad3d, 0x0357ac70, 0x00144f81, 0x00d56f17, 0x020b1804, 0x0029ca33}}, Y: Field{[10]uint32{0x03ddad3d, 0x00f40051, 0x004f7ac9, 0x02e7b0cd, 0x0142cce3, 0x0215247f, 0x034893fa, 0x0146833e, 0x00a8f72b, 0x0010e1f3}}}, + {X: Field{[10]uint32{0x0151c39b, 0x00761d15, 0x0032e16c, 0x02aeaa50, 0x011d8234, 0x0140ea05, 0x03b22e02, 0x01130251, 0x028a05b8, 0x003b0f26}}, Y: Field{[10]uint32{0x02bd7fa6, 0x01790423, 0x03043382, 0x033ba0da, 0x00c8ac51, 0x013b7eba, 0x00845ca4, 0x03ea4d98, 0x00ef45f0, 0x001ec22f}}}, + {X: Field{[10]uint32{0x024761db, 0x023b1568, 0x02e9326a, 0x0333a61c, 0x03e619e7, 0x005d4cb3, 0x02b7e6c6, 0x016b2cee, 0x01562494, 0x002c05cf}}, Y: Field{[10]uint32{0x01f1b381, 0x0246b8c1, 0x0310d445, 0x03cc4c83, 0x0172a81d, 0x026372c4, 0x03eff121, 0x001d8743, 0x035f3e9a, 0x001e349e}}}, + {X: Field{[10]uint32{0x00cd73f6, 0x03658010, 0x023a7970, 0x0047e565, 0x034e04bd, 0x034e92e3, 0x03c3890e, 0x03722e5d, 0x03f3cd43, 0x00367ace}}, Y: Field{[10]uint32{0x03b23044, 0x016cbf58, 0x01c41e7f, 0x039326da, 0x000510b9, 0x02314012, 0x01db7189, 0x020228fc, 0x035cc42e, 0x0026065a}}}, + {X: Field{[10]uint32{0x01a84e74, 0x01530219, 0x03f107ca, 0x02c07009, 0x0029bbf1, 0x007e4ace, 0x02026062, 0x008c2b1d, 0x01af8a40, 0x003ef694}}, Y: Field{[10]uint32{0x00d6ccf5, 0x00944eff, 0x03c71e81, 0x02e8eef9, 0x038fd427, 0x024043f2, 0x00729e4e, 0x00ef5532, 0x0194aa45, 0x001920ce}}}, + {X: Field{[10]uint32{0x02583f9d, 0x03e1cbee, 0x02cf808a, 0x0317c14c, 0x03472b14, 0x00498beb, 0x01646616, 0x0065983d, 0x01a751be, 0x0002b92e}}, Y: Field{[10]uint32{0x0295ee5e, 0x019cb925, 0x02281f4b, 0x01e3693e, 0x03e2bd40, 0x02b4ead7, 0x00c6eed9, 0x01f969bc, 0x008baa9d, 0x0022cb09}}}, + {X: Field{[10]uint32{0x00cf6ff5, 0x02db8313, 0x036dda40, 0x0380c7b7, 0x00f29764, 0x0118a117, 0x028c6a2e, 0x02009859, 0x01520608, 0x00160100}}, Y: Field{[10]uint32{0x03329485, 0x0069c076, 0x030cd5fb, 0x023ffb41, 0x00a2e5f8, 0x00e65db6, 0x032f9a4e, 0x03013681, 0x02e64a83, 0x0034be5a}}}, + {X: Field{[10]uint32{0x007e029e, 0x029cc993, 0x0203b57c, 0x0098711a, 0x03cf477e, 0x02bf3d1f, 0x01abbd9f, 0x003e058e, 0x02865738, 0x00130a35}}, Y: Field{[10]uint32{0x00ed8a70, 0x02c09383, 0x0202259f, 0x01045436, 0x023122a9, 0x02b3eb05, 0x02a67e80, 0x01785015, 0x029c4fa7, 0x001a52e2}}}, + {X: Field{[10]uint32{0x0325c9a4, 0x016a4b3f, 0x026b9046, 0x01ddc5e6, 0x016984fc, 0x03601be0, 0x03b51a73, 0x01561fc8, 0x02b39e00, 0x00378816}}, Y: Field{[10]uint32{0x01273d83, 0x0170c9f1, 0x011355af, 0x010a6bb2, 0x0048f68e, 0x03ab304b, 0x002cf1f0, 0x03070b6d, 0x025e12ef, 0x003b610c}}}, + {X: Field{[10]uint32{0x014273f4, 0x031ada56, 0x025f1b3e, 0x0225b48a, 0x01b968f5, 0x0087995c, 0x0258dd57, 0x02c29d2d, 0x00680c2c, 0x0017aa0a}}, Y: Field{[10]uint32{0x004a9499, 0x008df48e, 0x038ad6e2, 0x00e40794, 0x00e18285, 0x00dbdb16, 0x02decce6, 0x0193e04e, 0x02b08db2, 0x00223443}}}, + {X: Field{[10]uint32{0x024998ba, 0x00b40d8c, 0x03c9c37f, 0x011b5ee6, 0x03c3b0dd, 0x038f6d39, 0x00bd98a3, 0x01d05908, 0x03c86449, 0x0006273d}}, Y: Field{[10]uint32{0x02daa083, 0x00960087, 0x03da204d, 0x0235c8fd, 0x01742211, 0x01f7581b, 0x0201b1cf, 0x03fca0d9, 0x01ced46d, 0x002ecd02}}}, + {X: Field{[10]uint32{0x0082789f, 0x014dbe6f, 0x0214d3cf, 0x035e3b97, 0x013c3c41, 0x02040091, 0x00680265, 0x00350c22, 0x018738f5, 0x001c285c}}, Y: Field{[10]uint32{0x0027c1d6, 0x0118b5ef, 0x022962b9, 0x0116a7cd, 0x02101dc4, 0x023c2747, 0x03338701, 0x014df907, 0x0120e112, 0x00057254}}}, + {X: Field{[10]uint32{0x03b3a368, 0x011ae6c3, 0x03865cff, 0x02a91a0c, 0x018e4271, 0x00c04421, 0x0020eedf, 0x036db823, 0x00ff622a, 0x0015e2b0}}, Y: Field{[10]uint32{0x03d7f851, 0x007296ee, 0x0215f1f0, 0x03d4759f, 0x026b0cea, 0x03542062, 0x01b2f7d9, 0x005cb4ae, 0x01ddf5f3, 0x003dc468}}}, + {X: Field{[10]uint32{0x01840071, 0x02c178a3, 0x01aea3e3, 0x01dfe9b3, 0x035887f1, 0x0373a296, 0x00738bad, 0x029d1f59, 0x0003476a, 0x003727ef}}, Y: Field{[10]uint32{0x01eee1b4, 0x03c293a2, 0x03ab9515, 0x01d33d39, 0x008bd267, 0x00a53954, 0x0194a19d, 0x037497e3, 0x012c8087, 0x00303d9d}}}, + {X: Field{[10]uint32{0x03b0294d, 0x02548551, 0x0178fe02, 0x0371165b, 0x014bb817, 0x00f5cc54, 0x004dec0b, 0x03357cba, 0x00ffa348, 0x0025d26b}}, Y: Field{[10]uint32{0x0381a1c6, 0x03a13815, 0x0116723d, 0x03265140, 0x03d89856, 0x0039f480, 0x02ec20be, 0x0120436b, 0x01ea35e5, 0x0037d99f}}}, + {X: Field{[10]uint32{0x02657d85, 0x034d0f8c, 0x032e8e92, 0x02635ac4, 0x00ae8e7a, 0x02a0551e, 0x0359f21f, 0x01cc370c, 0x01cf2fd2, 0x0038e7ef}}, Y: Field{[10]uint32{0x01b5e01c, 0x001ac2f9, 0x0028320a, 0x01e230c7, 0x02624415, 0x01922168, 0x026ae3e3, 0x021659da, 0x008170a7, 0x002ebfa6}}}, + {X: Field{[10]uint32{0x01402c09, 0x02ae2fe4, 0x02b89e0f, 0x00a83a8c, 0x02e04b69, 0x03244d45, 0x000bda4d, 0x00dc4830, 0x014e27f1, 0x00180240}}, Y: Field{[10]uint32{0x02359f6b, 0x01826750, 0x032e5708, 0x02a1b3b0, 0x01eb4006, 0x0376e998, 0x0396f588, 0x00734b2d, 0x0094f6bd, 0x000d2442}}}, + {X: Field{[10]uint32{0x03f2f773, 0x025223a1, 0x02162d41, 0x00b50d88, 0x03b644c9, 0x01dacfbb, 0x039bec4f, 0x011b60be, 0x0247d02e, 0x002fc13c}}, Y: Field{[10]uint32{0x002172f6, 0x0073af1f, 0x0284d32b, 0x016f07b5, 0x00302e12, 0x019d38d5, 0x019ab004, 0x00b9303c, 0x00e8bb3c, 0x003591bd}}}, + {X: Field{[10]uint32{0x01e5e3c3, 0x0137ea8c, 0x01acff5b, 0x02af0c3a, 0x013e5468, 0x00571b66, 0x0071efd9, 0x02cd4e16, 0x03ecb122, 0x0025827d}}, Y: Field{[10]uint32{0x008f9a27, 0x02d43766, 0x015925d6, 0x03e7bae5, 0x01ebb4d9, 0x0138ab62, 0x0178ac77, 0x03c2e1c5, 0x012eb933, 0x00041af1}}}, + {X: Field{[10]uint32{0x03ab9abe, 0x00ab5882, 0x033668da, 0x007537b1, 0x03f5ae58, 0x032f7d5b, 0x03440fb5, 0x02f89681, 0x003a0e1e, 0x002da433}}, Y: Field{[10]uint32{0x0049dbd1, 0x019aa5f8, 0x0135fb96, 0x03d89269, 0x0335e5f9, 0x02db0595, 0x01a96032, 0x00f76cb3, 0x0023fd3a, 0x0020f340}}}, + {X: Field{[10]uint32{0x01d326d4, 0x00025de4, 0x0338d6cd, 0x0120e56f, 0x002c9479, 0x02a42636, 0x022bc114, 0x01dd106a, 0x008ced50, 0x001cb694}}, Y: Field{[10]uint32{0x03668457, 0x03ed19cf, 0x03e095ea, 0x036ee045, 0x02e5d743, 0x03fb248b, 0x01780364, 0x03a8ac3a, 0x02933433, 0x000596ea}}}, + {X: Field{[10]uint32{0x01851c37, 0x00726dea, 0x0101729b, 0x006e6174, 0x01113320, 0x004969cb, 0x014322f5, 0x00c024a5, 0x016e540a, 0x00383f44}}, Y: Field{[10]uint32{0x01b88a92, 0x024117b9, 0x017ac850, 0x01addde6, 0x01a516a0, 0x00c34c55, 0x01e899d6, 0x01c1f952, 0x027648aa, 0x0031af1c}}}, + {X: Field{[10]uint32{0x00c10af1, 0x00ada0a5, 0x01c13abe, 0x007341a5, 0x030297f0, 0x0220fe76, 0x00d6389e, 0x03904bb8, 0x03ea85d4, 0x002752e2}}, Y: Field{[10]uint32{0x03556181, 0x014962a5, 0x038d38a9, 0x02ef9a28, 0x035bb66e, 0x02a2125c, 0x02e62fd6, 0x0020cb66, 0x00d73f7c, 0x001788a0}}}, + {X: Field{[10]uint32{0x008e08ff, 0x01e8b50e, 0x02d25505, 0x01547085, 0x01069f12, 0x0357acc7, 0x0056123c, 0x01b81377, 0x0395aa4b, 0x003bbe10}}, Y: Field{[10]uint32{0x022d2376, 0x035ad875, 0x039280b1, 0x01b56658, 0x0087797e, 0x00c5e712, 0x018b26c7, 0x010d9103, 0x02a434e1, 0x00114262}}}, + {X: Field{[10]uint32{0x010d7654, 0x02845972, 0x00de739a, 0x02bdb983, 0x03b4652d, 0x01dbbd09, 0x034371e0, 0x02392184, 0x007d56e3, 0x0019bf97}}, Y: Field{[10]uint32{0x011a2fba, 0x022a1370, 0x02582a10, 0x021259b2, 0x0196d4c3, 0x032edb13, 0x000ad433, 0x0324edf9, 0x026bb6ed, 0x000b5ca4}}}, + {X: Field{[10]uint32{0x008ea2ed, 0x031b7cb0, 0x027afdc2, 0x030a4e7c, 0x0082f9e1, 0x02a60f26, 0x015a304a, 0x032bb331, 0x01cc1818, 0x00144d7e}}, Y: Field{[10]uint32{0x003f22d6, 0x028d8878, 0x0295427c, 0x03851e61, 0x002619b5, 0x0056b86d, 0x00baf4e1, 0x005d413e, 0x01d27dfe, 0x0016949b}}}, + {X: Field{[10]uint32{0x026487ca, 0x03e6d88f, 0x0229c3fd, 0x022b386b, 0x0182e331, 0x008a8f8a, 0x03fa2bcc, 0x012a700b, 0x0089af7f, 0x00068df0}}, Y: Field{[10]uint32{0x012464a5, 0x0157fc0f, 0x02c183c9, 0x0048d74b, 0x03509b03, 0x01cd9cb3, 0x02b33d23, 0x008c2ea5, 0x00338522, 0x0034e270}}}, + {X: Field{[10]uint32{0x03a248a0, 0x00461211, 0x01576e4a, 0x00888bec, 0x01ed1edb, 0x02405be5, 0x03c68dfc, 0x02bd0244, 0x01ff15da, 0x00127de9}}, Y: Field{[10]uint32{0x01abd8fd, 0x0231e9ee, 0x03f611a1, 0x02086975, 0x00d5ebec, 0x029aefbd, 0x0394246f, 0x01ef27a5, 0x03013d63, 0x003e6d56}}}, + {X: Field{[10]uint32{0x02641ed7, 0x02abe207, 0x03130253, 0x00d6b0eb, 0x003b87f8, 0x01bac11c, 0x03f0f1e2, 0x03e0e481, 0x005e5d9e, 0x002091e1}}, Y: Field{[10]uint32{0x013c5f1e, 0x01102a79, 0x011de3e2, 0x023c8fce, 0x03b4409c, 0x032d0ab5, 0x01b19474, 0x026139fc, 0x010c1a23, 0x0015df5e}}}, + {X: Field{[10]uint32{0x010e0749, 0x006164f6, 0x024fb8f1, 0x00f897ba, 0x0257b782, 0x00214fa3, 0x0292ef61, 0x000906b3, 0x004ecd16, 0x0020a566}}, Y: Field{[10]uint32{0x00ac8353, 0x0236f230, 0x003c14c3, 0x0259e032, 0x022c5dac, 0x01ec70e2, 0x02450e76, 0x0357dce6, 0x01a66798, 0x0018d4c8}}}, + {X: Field{[10]uint32{0x01d75461, 0x03a7200f, 0x015377b2, 0x004ac4d0, 0x01fb5db4, 0x01c31a2d, 0x00ba34e7, 0x03d7fef8, 0x03f6d8fc, 0x003530ca}}, Y: Field{[10]uint32{0x0085f93d, 0x014fd991, 0x03353741, 0x01459b44, 0x01a1a71e, 0x03b69c2e, 0x004272b4, 0x0116ccb1, 0x0202e238, 0x002cf1cd}}}, + {X: Field{[10]uint32{0x00c897ff, 0x00fdda5b, 0x00d849fd, 0x0329a20b, 0x023babe7, 0x02d49a8c, 0x00703af6, 0x01a39a91, 0x032d04a9, 0x00068238}}, Y: Field{[10]uint32{0x03ad4141, 0x02caa3ab, 0x00b399a6, 0x0025c0d1, 0x013fdc82, 0x00ac52a3, 0x002e19be, 0x03b52897, 0x00bdb77b, 0x0011bb66}}}, + {X: Field{[10]uint32{0x014f4af7, 0x03f70d0d, 0x01e82e7c, 0x03bb3927, 0x036b40e1, 0x02a325dd, 0x0305965d, 0x00fc1012, 0x020e9672, 0x0021566f}}, Y: Field{[10]uint32{0x01333ef6, 0x000f7524, 0x02dc05af, 0x037aae90, 0x02ba4db6, 0x0374241a, 0x03f049b2, 0x008344b0, 0x0388854e, 0x0018f892}}}, + {X: Field{[10]uint32{0x01e211e8, 0x022f7181, 0x008c55e2, 0x0237a333, 0x02edd0f0, 0x03cbbca9, 0x01c0ee30, 0x011e2a12, 0x0223fc7a, 0x0038382c}}, Y: Field{[10]uint32{0x03ca60fc, 0x03580de7, 0x00d1a511, 0x017b44a2, 0x0206609a, 0x016e211e, 0x02d38e12, 0x03eb0481, 0x032c3aaf, 0x00328e20}}}, + {X: Field{[10]uint32{0x00e40a19, 0x014e739a, 0x034e2034, 0x009159e6, 0x00265c34, 0x0245d60b, 0x0001eaa5, 0x034941d6, 0x02982d8e, 0x00288def}}, Y: Field{[10]uint32{0x02231318, 0x0260a956, 0x0087cf48, 0x00ca400f, 0x00dc1bfc, 0x0009b59a, 0x00d5de47, 0x00de0115, 0x0227976a, 0x0003d334}}}, + {X: Field{[10]uint32{0x0205ccf2, 0x03e6d804, 0x03ef2474, 0x035ad0d9, 0x005edbd0, 0x0285bcaf, 0x03fe7705, 0x02341fc0, 0x00821eb0, 0x000a2a12}}, Y: Field{[10]uint32{0x0056a17c, 0x02d7f0fe, 0x02301eec, 0x02f7c03e, 0x01162551, 0x00748f6a, 0x00526b17, 0x01d8a2e8, 0x03e9e7d7, 0x002419f4}}}, + {X: Field{[10]uint32{0x00c1d5e8, 0x01a6b726, 0x01d16f4c, 0x03b84f56, 0x03cc83e2, 0x02083796, 0x01b8fdc3, 0x01ad74c9, 0x00d542bd, 0x00050bfa}}, Y: Field{[10]uint32{0x0075b150, 0x00c42877, 0x004539c8, 0x00186fe7, 0x001b66d1, 0x0235fe98, 0x01d14213, 0x00cee556, 0x02780325, 0x000a5cfc}}}, + {X: Field{[10]uint32{0x00ad87d2, 0x01ec04a6, 0x036b99c9, 0x03edc03e, 0x008f3d5f, 0x006d2e4a, 0x01bb00a1, 0x01927406, 0x011c5d20, 0x0016ced8}}, Y: Field{[10]uint32{0x02519182, 0x032d62bc, 0x0058f8eb, 0x021d688b, 0x00192ead, 0x03b5c2ed, 0x03a76219, 0x00384b37, 0x01c80cde, 0x00212416}}}, + {X: Field{[10]uint32{0x00beb8af, 0x00b1f394, 0x00f6b019, 0x018e5153, 0x012edbdc, 0x03cd7dbd, 0x01f74c35, 0x00168fd8, 0x02495d49, 0x00092288}}, Y: Field{[10]uint32{0x03fd4c83, 0x00dab1ee, 0x035c3b11, 0x00fa6e26, 0x0161eaf7, 0x02219e87, 0x0197b243, 0x03042073, 0x03ffb707, 0x002d69bc}}}, + {X: Field{[10]uint32{0x03ff075c, 0x00e134f6, 0x025d2875, 0x024c0b4e, 0x0231ea20, 0x008a408f, 0x011fa99a, 0x0143a753, 0x022a292b, 0x002291d2}}, Y: Field{[10]uint32{0x03804dd9, 0x035ad97b, 0x01dc8721, 0x01174c35, 0x0245b5f0, 0x01b3e3f4, 0x00392891, 0x0106c797, 0x005c7d53, 0x001dd14a}}}, + {X: Field{[10]uint32{0x0015ffec, 0x023444d4, 0x03b228ca, 0x03492356, 0x03826d10, 0x0198dcc4, 0x00be4ea8, 0x010ba99f, 0x02557fc0, 0x000fe804}}, Y: Field{[10]uint32{0x02a937b3, 0x01d7c9c9, 0x00b25e3f, 0x01b28c8a, 0x00162d43, 0x02312386, 0x03dca5a5, 0x012e3bb2, 0x0325f59b, 0x00042e74}}}, + {X: Field{[10]uint32{0x03d65648, 0x03086567, 0x028c046a, 0x017f22a0, 0x036b778d, 0x02bc126c, 0x008f0071, 0x03c69376, 0x000e7b94, 0x002dded7}}, Y: Field{[10]uint32{0x02aeccc5, 0x032c55fe, 0x0021ad54, 0x00ba77db, 0x01e2b65d, 0x01bb7582, 0x01d57222, 0x02efaa32, 0x03c06722, 0x000c491a}}}, + {X: Field{[10]uint32{0x0135b44a, 0x03107fe1, 0x018e08f2, 0x01bb5747, 0x00567184, 0x026f52ed, 0x02ccad78, 0x00ae5db0, 0x008267e8, 0x00098d7d}}, Y: Field{[10]uint32{0x032b8def, 0x01b569e9, 0x0234dafb, 0x02702d4c, 0x010d2ce3, 0x01edcd4f, 0x03f9e4d4, 0x0247ed99, 0x004e9560, 0x001fb720}}}, + {X: Field{[10]uint32{0x021b474d, 0x0382198d, 0x032384a4, 0x0368635d, 0x03ed0012, 0x0347a8da, 0x036f39b6, 0x014b271a, 0x012dae09, 0x0008c1ad}}, Y: Field{[10]uint32{0x025486c0, 0x02d5b3cc, 0x01221582, 0x01caf348, 0x00bd7674, 0x00b3bf3d, 0x023688bb, 0x023dae69, 0x00b88d7b, 0x0010e094}}}, + {X: Field{[10]uint32{0x01f74b4c, 0x03625eea, 0x0016e248, 0x03baa300, 0x03aa5604, 0x03568747, 0x0186f9ee, 0x020a123d, 0x02b80dde, 0x0032aa19}}, Y: Field{[10]uint32{0x0009c341, 0x012957f7, 0x038f2995, 0x029f563e, 0x00e33746, 0x02016909, 0x02834ceb, 0x01e3115c, 0x0140349f, 0x000a063c}}}, + {X: Field{[10]uint32{0x00bb1641, 0x031c3fa2, 0x037cbb74, 0x01eec949, 0x03fb5e57, 0x027007b4, 0x01e9cc42, 0x00f5417d, 0x035aa079, 0x0020637b}}, Y: Field{[10]uint32{0x024f276d, 0x02cfb8bb, 0x0045fbdd, 0x02d24e85, 0x01f48ea2, 0x0258d9f4, 0x022d54d7, 0x0040c603, 0x0280f762, 0x0036a7bb}}}, + {X: Field{[10]uint32{0x007bf736, 0x00b7e491, 0x01bf08b1, 0x030d68a5, 0x03c36e11, 0x02f2b16e, 0x0364ed01, 0x0104bf35, 0x01fa568d, 0x000b18b3}}, Y: Field{[10]uint32{0x02c31979, 0x0301468f, 0x025a8f82, 0x02fc654c, 0x00ee73ea, 0x02ae9906, 0x01ef9859, 0x01c189c1, 0x00255811, 0x003a2e38}}}, + {X: Field{[10]uint32{0x01f04adb, 0x033a01f8, 0x0341659b, 0x006adbac, 0x014e477f, 0x0145f412, 0x022f7cd0, 0x01ba3352, 0x00d99db0, 0x000a2ad5}}, Y: Field{[10]uint32{0x0094541c, 0x028a799d, 0x03b0872a, 0x00107b2f, 0x004fb003, 0x03cf9f61, 0x0256276b, 0x02580af9, 0x0319a5cb, 0x00264ed4}}}, + {X: Field{[10]uint32{0x012b6061, 0x01205314, 0x03bb63ea, 0x03d7c57a, 0x01d6c2ab, 0x008ea090, 0x034eca42, 0x02903152, 0x00162254, 0x00124f9f}}, Y: Field{[10]uint32{0x00eed628, 0x03e02e8f, 0x02c897de, 0x01efc25f, 0x025fcf81, 0x02ba3c87, 0x0236b597, 0x027533fb, 0x037b588d, 0x00158e1f}}}, + {X: Field{[10]uint32{0x01c51d4f, 0x034818ae, 0x01bce902, 0x023888b2, 0x018922a6, 0x00b174e2, 0x02118dda, 0x0245953f, 0x01bee743, 0x0019cb84}}, Y: Field{[10]uint32{0x03dc36e1, 0x000b70c8, 0x03c5fc51, 0x03eaff39, 0x030db6bb, 0x017a758a, 0x03cfbca4, 0x00aa76d2, 0x034a0238, 0x000d5544}}}, + {X: Field{[10]uint32{0x02da550a, 0x022cb0e3, 0x02701003, 0x00b0a567, 0x0027524b, 0x0167e397, 0x0286c06b, 0x01a22637, 0x036ee3b8, 0x0023e343}}, Y: Field{[10]uint32{0x01212f34, 0x005c40d2, 0x01fd45d4, 0x01b09afc, 0x03f36429, 0x021ef2ce, 0x000fed66, 0x02af1665, 0x02819e27, 0x0039f7bc}}}, + {X: Field{[10]uint32{0x00b293e3, 0x004fed5e, 0x01495e82, 0x00084817, 0x03118f28, 0x005e7cc2, 0x03cf4c79, 0x03c295e5, 0x03834a11, 0x0036a315}}, Y: Field{[10]uint32{0x01c35f91, 0x00077ce2, 0x00d28a2c, 0x0386d8ce, 0x007c7a0c, 0x02d77146, 0x02bb1c3a, 0x00e5d421, 0x035c6f66, 0x001bb3f8}}}, + {X: Field{[10]uint32{0x01681955, 0x01fea852, 0x00ef4265, 0x02ce0f88, 0x00fbce09, 0x02a66e83, 0x03ec2d6f, 0x0197fcfb, 0x00f53b19, 0x001254f8}}, Y: Field{[10]uint32{0x035541c6, 0x026d5065, 0x00a39fc0, 0x025c6343, 0x023c28fa, 0x01e601d9, 0x00683240, 0x00d6c8f9, 0x038d9d16, 0x00308431}}}, + {X: Field{[10]uint32{0x0375f293, 0x0108108d, 0x038db6c7, 0x03205b68, 0x025cd3e0, 0x03a442f5, 0x021f7fdb, 0x038786f8, 0x01af48a0, 0x0015247f}}, Y: Field{[10]uint32{0x007ffae7, 0x013b34bf, 0x0243e3d3, 0x02580c61, 0x039c82de, 0x02d47d3c, 0x03e9b299, 0x014ce28e, 0x02885d1c, 0x001949cd}}}, + {X: Field{[10]uint32{0x03c168d1, 0x03b26d6a, 0x007f0af3, 0x00a50f24, 0x020b0a85, 0x03c5f46d, 0x01838858, 0x018ee7ed, 0x03a80423, 0x002e712b}}, Y: Field{[10]uint32{0x03550d9a, 0x03f85592, 0x0178e514, 0x006c1b50, 0x01e24d51, 0x0329f635, 0x0013aa1e, 0x03afb574, 0x006b1b75, 0x003af4c4}}}, + {X: Field{[10]uint32{0x02d2bd62, 0x00dda0e4, 0x02386242, 0x01cceaf2, 0x01d6802e, 0x02ae0275, 0x039826de, 0x011e86d7, 0x036c4448, 0x00246368}}, Y: Field{[10]uint32{0x0253e218, 0x03c77722, 0x02eca0ab, 0x01b9859b, 0x02889d5e, 0x02ce2627, 0x0214113a, 0x021f9857, 0x03afd7cc, 0x001b988d}}}, + {X: Field{[10]uint32{0x01d3392a, 0x010b8dc0, 0x02c93a2e, 0x00bd15ca, 0x00748eb4, 0x026dd0f3, 0x000240e5, 0x01452820, 0x0194da1f, 0x001ddf4a}}, Y: Field{[10]uint32{0x029680c6, 0x0374e8e2, 0x038645e6, 0x016a7487, 0x039d9250, 0x01387493, 0x02b96f41, 0x00c654b2, 0x03d7e9eb, 0x00001864}}}, + {X: Field{[10]uint32{0x0323bf3d, 0x01fc8c95, 0x0154c4d1, 0x0140d3be, 0x013988c6, 0x03c93bd5, 0x03b8b3ea, 0x03171789, 0x02a09a08, 0x0004239b}}, Y: Field{[10]uint32{0x0013b2eb, 0x03786fff, 0x01be288f, 0x01dba093, 0x02b8a0dd, 0x020464de, 0x0314ebff, 0x01aed1f0, 0x034b86db, 0x0006a2e5}}}, + {X: Field{[10]uint32{0x016bf185, 0x02b15291, 0x02839b5d, 0x03d129a0, 0x013c2dce, 0x037ab87f, 0x018a4868, 0x01352446, 0x02db65a5, 0x000db676}}, Y: Field{[10]uint32{0x0147bbf7, 0x014092c8, 0x00d8d078, 0x03e0d1f7, 0x011edd9b, 0x0196fbc6, 0x02ec3065, 0x01761897, 0x0356d93b, 0x00097a10}}}, + {X: Field{[10]uint32{0x02531fa7, 0x039c74d9, 0x02fe3ab2, 0x01508ca4, 0x02aab896, 0x0009c9b3, 0x01d8a9e3, 0x039dd9ca, 0x02b143ec, 0x000f83ae}}, Y: Field{[10]uint32{0x018d41cd, 0x00e0f665, 0x03d5c691, 0x0384f66a, 0x008e38ea, 0x03ec12cd, 0x008f32b2, 0x0188da25, 0x0208556d, 0x001b9ec9}}}, + {X: Field{[10]uint32{0x00fa3728, 0x02f6d706, 0x034832ba, 0x0108055f, 0x03ab08ab, 0x004fba6a, 0x01e9521a, 0x03cc6a87, 0x036af315, 0x00248f71}}, Y: Field{[10]uint32{0x02d3ae47, 0x03b81f03, 0x0003ef6b, 0x02158cc4, 0x017facf6, 0x03627992, 0x001bfca6, 0x0215ecc5, 0x03b67439, 0x001ea3c5}}}, + {X: Field{[10]uint32{0x016a6618, 0x0313a80f, 0x02c6de85, 0x02a4deea, 0x036bee02, 0x00738b85, 0x029cb815, 0x03ab8d33, 0x033202df, 0x003e1fff}}, Y: Field{[10]uint32{0x005a03e0, 0x01d84856, 0x00e13c71, 0x0330b879, 0x027c14a4, 0x000f36ff, 0x03ace256, 0x01b828d5, 0x0037aa72, 0x001d3924}}}, + {X: Field{[10]uint32{0x018881ed, 0x00fe7040, 0x008200e3, 0x03fc1d5a, 0x01e00b5a, 0x014e7dfa, 0x01ec106b, 0x01a68047, 0x025ddd7f, 0x0004e201}}, Y: Field{[10]uint32{0x0113408e, 0x00c8c5d3, 0x0332c92b, 0x00c88ff9, 0x0065d1a9, 0x02ad090b, 0x02f72a55, 0x01877508, 0x018f1406, 0x002b2ac7}}}, + {X: Field{[10]uint32{0x004b6941, 0x026d88eb, 0x0201e59e, 0x00d2b314, 0x003d685b, 0x028dd46e, 0x03315427, 0x01a8220d, 0x031ea99b, 0x003951da}}, Y: Field{[10]uint32{0x033b4e21, 0x022cba57, 0x0177bb41, 0x019cf321, 0x00bc86dd, 0x02a3e9d5, 0x03c794ca, 0x01e568c8, 0x02f1c4dd, 0x0015f56c}}}, + {X: Field{[10]uint32{0x01cd1f15, 0x011f2c05, 0x0109c3dd, 0x02053b5e, 0x0290c149, 0x03261063, 0x0229d894, 0x03afa930, 0x0360f1e8, 0x003e4e3f}}, Y: Field{[10]uint32{0x02bb13e1, 0x0140c63b, 0x028214da, 0x0316dbb5, 0x02037fe2, 0x01cafef5, 0x0176e293, 0x03191a81, 0x02121a0c, 0x0035c5c8}}}, + {X: Field{[10]uint32{0x00a30aa3, 0x0168ef66, 0x038ad8ad, 0x013e8221, 0x01180b49, 0x02153e6f, 0x015544d5, 0x0144205e, 0x00107c4a, 0x002cc6f5}}, Y: Field{[10]uint32{0x00519e82, 0x01bd7014, 0x031c18fb, 0x03c384ac, 0x03d33828, 0x0001faac, 0x0141affa, 0x0225897a, 0x00976bd5, 0x00250984}}}, + {X: Field{[10]uint32{0x00c1cb2f, 0x011f40fd, 0x03af7b44, 0x02495768, 0x0333abd6, 0x0269b1b4, 0x02df141b, 0x00340468, 0x03ba8321, 0x002cfb61}}, Y: Field{[10]uint32{0x01d632b3, 0x02452a93, 0x0347abe0, 0x006cd1f9, 0x02b90be7, 0x018d0799, 0x030273cb, 0x015f86a5, 0x037929c7, 0x00252774}}}, + {X: Field{[10]uint32{0x01221e17, 0x03b85b4c, 0x03f46668, 0x0038e2e1, 0x0089a57c, 0x00c6f282, 0x0395e787, 0x0243612e, 0x02401ea7, 0x001839b0}}, Y: Field{[10]uint32{0x029465c2, 0x02f451b2, 0x0198cc03, 0x00110143, 0x00367387, 0x015c7abc, 0x01c800a0, 0x00263ca9, 0x0335c722, 0x003c91ef}}}, + {X: Field{[10]uint32{0x03750a80, 0x02bebc70, 0x03b87994, 0x01abdd30, 0x01eaf3e1, 0x01c4f35c, 0x01d8d370, 0x03411f9f, 0x02b04cc8, 0x000aba01}}, Y: Field{[10]uint32{0x02e2e954, 0x03793aec, 0x0135ae38, 0x028906a8, 0x026facf6, 0x0017283b, 0x007fafe6, 0x01c6d46a, 0x00acb297, 0x002a365e}}}, + {X: Field{[10]uint32{0x01bb5c47, 0x0109308a, 0x0343958a, 0x0218dde7, 0x01d23843, 0x007dbcea, 0x020bb155, 0x00b4a79e, 0x00a4bbba, 0x0026bc5e}}, Y: Field{[10]uint32{0x0279abd3, 0x0006886b, 0x03259781, 0x02eab737, 0x014052a4, 0x00beecf4, 0x007ac857, 0x02215e92, 0x03baa023, 0x003040c7}}}, + {X: Field{[10]uint32{0x0008f523, 0x005b6658, 0x00b2c3a1, 0x00c4cc3b, 0x00fd78a5, 0x027a2894, 0x03da097c, 0x009ebcb9, 0x0321e9cb, 0x002775a9}}, Y: Field{[10]uint32{0x03f36080, 0x03274ff9, 0x0217357d, 0x0177d3a0, 0x03fc4e97, 0x02f195e1, 0x012adb14, 0x0027251c, 0x037d6473, 0x0039a0de}}}, + {X: Field{[10]uint32{0x01e91c52, 0x006876a9, 0x03f0f0e3, 0x02da68a2, 0x03fcb717, 0x0113beed, 0x03e3f1de, 0x028794ec, 0x02bed7a1, 0x0033d7c5}}, Y: Field{[10]uint32{0x00487497, 0x00a0d2b1, 0x014b1485, 0x003629a7, 0x00b0c80a, 0x0264833d, 0x03912c99, 0x0081ef18, 0x03d54d87, 0x0025527a}}}, + {X: Field{[10]uint32{0x03a64722, 0x03a417b7, 0x001afd45, 0x03ece880, 0x01de577c, 0x014a8052, 0x02466a3c, 0x015341e0, 0x00908109, 0x00319e52}}, Y: Field{[10]uint32{0x035ca468, 0x0091837d, 0x01187fcc, 0x00946f9a, 0x018621b6, 0x03209e0a, 0x00a5fbd5, 0x0100c6ff, 0x0351deb6, 0x001293f7}}}, + {X: Field{[10]uint32{0x00599713, 0x0354904c, 0x023e4442, 0x0083f869, 0x02b03b49, 0x010501aa, 0x019c1ea0, 0x0383fc59, 0x03cbbee9, 0x002897ff}}, Y: Field{[10]uint32{0x0341486a, 0x01bc912f, 0x007e2123, 0x024537a6, 0x0240fab7, 0x02dca86e, 0x03fc28af, 0x004626b0, 0x02065a82, 0x0005dae7}}}, + {X: Field{[10]uint32{0x00c5bf71, 0x0125dd38, 0x025ecdca, 0x01ab2ba7, 0x01128cab, 0x009238ca, 0x02cfafc7, 0x0248ec5a, 0x0322fd5d, 0x00181e69}}, Y: Field{[10]uint32{0x018c4bcc, 0x03debaf4, 0x00c45df0, 0x024af57b, 0x02023f52, 0x000cdfbf, 0x036f1d91, 0x01691713, 0x02de99ca, 0x0030265c}}}, + {X: Field{[10]uint32{0x0366b403, 0x02772e4a, 0x0182c813, 0x003f2add, 0x02f64b95, 0x02c59c8f, 0x03ffc428, 0x01e39c63, 0x003d9d40, 0x0006232d}}, Y: Field{[10]uint32{0x03af5404, 0x03dfc688, 0x0314c140, 0x03ccd62a, 0x01fcc8c2, 0x0155a45b, 0x01a28799, 0x02890002, 0x0237ec9e, 0x00280e3e}}}, + {X: Field{[10]uint32{0x0019bb30, 0x006c9fbe, 0x0102cd78, 0x00d1a33f, 0x00c445ca, 0x01559fb2, 0x03925066, 0x0171a3d5, 0x0040cb57, 0x0038c43f}}, Y: Field{[10]uint32{0x02be625e, 0x01ae278a, 0x0384ddf6, 0x00da83c5, 0x02e0c183, 0x01b9ee51, 0x0101def6, 0x004bb97a, 0x02655ba3, 0x000c4ca2}}}, + {X: Field{[10]uint32{0x03dea4ac, 0x015d2fdd, 0x03c8e52b, 0x037c91b0, 0x00f15693, 0x03d18b32, 0x000bdeb1, 0x01177765, 0x005d1c82, 0x00376192}}, Y: Field{[10]uint32{0x01966ce2, 0x03027182, 0x03b4833f, 0x02d1f9d0, 0x018963a8, 0x028a6282, 0x0290175b, 0x0289c131, 0x03c256c9, 0x00335aed}}}, + {X: Field{[10]uint32{0x03019aef, 0x01740a81, 0x0097bde8, 0x02666cd8, 0x03dba773, 0x02da7865, 0x03dc67ca, 0x019ee1bd, 0x020cf815, 0x0006dfb4}}, Y: Field{[10]uint32{0x00e3d1bb, 0x03f0d7bc, 0x01531be6, 0x01534c53, 0x00df428d, 0x0292f0de, 0x00d89b59, 0x010e1954, 0x012ad1cb, 0x003e053a}}}, + {X: Field{[10]uint32{0x01ded284, 0x01c669ed, 0x01897a0f, 0x00328191, 0x019b41cd, 0x01c2cfc7, 0x0146a036, 0x020ce3b4, 0x007b2d52, 0x00028556}}, Y: Field{[10]uint32{0x022e925d, 0x03a9c9c4, 0x0052bfe6, 0x008ab5ad, 0x0312fc15, 0x01008fb9, 0x00d225cc, 0x00693b8c, 0x034b5aba, 0x000abbf8}}}, + {X: Field{[10]uint32{0x036a5484, 0x01254fa4, 0x01054048, 0x018e7934, 0x0208d194, 0x02825033, 0x00fcf209, 0x029a4663, 0x01f9c99d, 0x00015eee}}, Y: Field{[10]uint32{0x031660e4, 0x0291f20c, 0x0079e9a6, 0x01ef634c, 0x03700dc5, 0x035defc3, 0x03be5e41, 0x009ba0b1, 0x03a8d902, 0x0018f43e}}}, + {X: Field{[10]uint32{0x03bd262c, 0x02497564, 0x03746bab, 0x03ee3e92, 0x01291f84, 0x00844ec8, 0x017f7a10, 0x02d2835f, 0x01b37fa1, 0x000890a5}}, Y: Field{[10]uint32{0x00195796, 0x0258ae4e, 0x03ddcea2, 0x023b1145, 0x0246ed38, 0x00889982, 0x023eb74c, 0x02c369d5, 0x0040b1e4, 0x0003582b}}}, + {X: Field{[10]uint32{0x0053b0e3, 0x00e69ad5, 0x0055e53b, 0x0283c8a0, 0x02d6101c, 0x039d0d53, 0x00031b29, 0x0314f81f, 0x02e6a34e, 0x00090d3a}}, Y: Field{[10]uint32{0x003ce23d, 0x01e8e09d, 0x010ed6ce, 0x01d591db, 0x008b04f7, 0x00e88398, 0x00f39563, 0x0012ec4e, 0x0161d57a, 0x000bfd7b}}}, + {X: Field{[10]uint32{0x01885ce9, 0x02961c62, 0x0203b700, 0x02d8db42, 0x01ef2e6a, 0x03ec8ac1, 0x0304c649, 0x00444ef6, 0x0192907c, 0x00112379}}, Y: Field{[10]uint32{0x0079eabc, 0x0108732a, 0x028803d0, 0x00435164, 0x0063af8b, 0x016c0a4c, 0x03e6dea2, 0x0141a37a, 0x03fd6ab3, 0x0035eab3}}}, + {X: Field{[10]uint32{0x0393dd76, 0x028dc618, 0x0298f7c2, 0x00730769, 0x00defc0a, 0x006a8ee8, 0x02b92e70, 0x01d9d1ff, 0x03735aef, 0x00210173}}, Y: Field{[10]uint32{0x02c407f2, 0x01549639, 0x0053fc79, 0x00beea1a, 0x0189c9ef, 0x03d2a1c4, 0x0261c783, 0x00428129, 0x000649cd, 0x0015e574}}}, + {X: Field{[10]uint32{0x0208efc9, 0x0084735b, 0x026d5581, 0x03341cb1, 0x029318ac, 0x00dc7ae1, 0x01349aa0, 0x0121f7fa, 0x00c1e5c1, 0x001a625d}}, Y: Field{[10]uint32{0x0384509c, 0x030703fb, 0x00e1590b, 0x00aaee13, 0x01bcec87, 0x02ae6bd8, 0x036536c2, 0x012fd47d, 0x038cdc8f, 0x000df088}}}, + {X: Field{[10]uint32{0x003fee05, 0x0395cc99, 0x02d8dce2, 0x01846e11, 0x03e6548c, 0x00c57de2, 0x017781df, 0x02af19c6, 0x017abe3c, 0x00228de1}}, Y: Field{[10]uint32{0x00f674ed, 0x01da62d3, 0x020b78b8, 0x026c8777, 0x005e28e9, 0x038e19b5, 0x0055e4d9, 0x013341f9, 0x03680915, 0x000a620b}}}, + {X: Field{[10]uint32{0x0397eaef, 0x02f380c8, 0x00846793, 0x037c3e98, 0x0325ec8c, 0x01ea29c5, 0x0104c968, 0x00e7f84c, 0x034f5cdd, 0x002a1c6c}}, Y: Field{[10]uint32{0x0387cb28, 0x03f5e8b0, 0x00c5df3f, 0x037a379b, 0x00642312, 0x01b2484f, 0x03e2dc68, 0x000f027d, 0x00179de1, 0x00213e59}}}, + {X: Field{[10]uint32{0x0286f44a, 0x019339a0, 0x00fb4fd9, 0x031ebaae, 0x009ec66e, 0x02679d2b, 0x0057905e, 0x029fd6a2, 0x03b89f78, 0x00126f2b}}, Y: Field{[10]uint32{0x019eff6f, 0x03901f3b, 0x0194f4ea, 0x01849c5b, 0x0271124a, 0x02f464fa, 0x011d2ca7, 0x02add29e, 0x00cb5641, 0x0039f6e3}}}, + {X: Field{[10]uint32{0x028b6df6, 0x01c4c03d, 0x03686c3f, 0x012de7fa, 0x0140d9b8, 0x03ffa126, 0x0186289d, 0x0327963d, 0x012f2f05, 0x003571f6}}, Y: Field{[10]uint32{0x0151c08e, 0x0200abc7, 0x020434f1, 0x00aff38d, 0x036fcb2b, 0x0073d0ae, 0x00b272ce, 0x028e3a81, 0x025c219e, 0x0029a2ca}}}, + {X: Field{[10]uint32{0x03286696, 0x02a36d4e, 0x0056cfe4, 0x02f8a09b, 0x006a825c, 0x02c323b4, 0x034a249c, 0x0335ee71, 0x023cfea4, 0x000ab0bf}}, Y: Field{[10]uint32{0x0360f43f, 0x039e0102, 0x03834a67, 0x01b3c028, 0x00505bb4, 0x01b2981e, 0x02f6031c, 0x02947b28, 0x0259b008, 0x001f6429}}}, + {X: Field{[10]uint32{0x00a39234, 0x00716a84, 0x011d92f6, 0x03bec0ed, 0x025b0069, 0x0283b69e, 0x023a85f5, 0x01fb3d3d, 0x00bc6282, 0x001f026b}}, Y: Field{[10]uint32{0x01624836, 0x01b1a21a, 0x030015a9, 0x03c8258a, 0x00854b56, 0x017f70c6, 0x01f86414, 0x00a315a1, 0x0139c291, 0x00381f49}}}, + {X: Field{[10]uint32{0x03fbf9f0, 0x025aefdb, 0x03a7f2c4, 0x0008d289, 0x033bb4ff, 0x00ecbeb4, 0x0141ae71, 0x010b9da6, 0x01567e1b, 0x003a21b7}}, Y: Field{[10]uint32{0x0267a877, 0x0045cb71, 0x0301081d, 0x03cf18c2, 0x025a4666, 0x037d3977, 0x01c097f0, 0x03e03cdc, 0x037babee, 0x00352c89}}}, + {X: Field{[10]uint32{0x0059c2dc, 0x02866740, 0x00464073, 0x039614d1, 0x038ca8a6, 0x03d82ec6, 0x02178f0f, 0x00e60f16, 0x00c800e8, 0x003b7d97}}, Y: Field{[10]uint32{0x01ab2d5e, 0x01d89122, 0x0123a92c, 0x036c41c3, 0x030118a4, 0x0378737e, 0x024710a2, 0x00c27e12, 0x0313f0c5, 0x00289099}}}, + {X: Field{[10]uint32{0x026d17f8, 0x01abdbb4, 0x01036a74, 0x02ee8f4b, 0x03435ad7, 0x02c548c8, 0x016dbbe5, 0x01baee4d, 0x0304b78a, 0x000a704b}}, Y: Field{[10]uint32{0x016eae4a, 0x03f3b388, 0x019358b7, 0x009fe816, 0x02b3336d, 0x027b1146, 0x02a211f3, 0x0046a9e3, 0x0275bf62, 0x00020e64}}}, + {X: Field{[10]uint32{0x0263c3e2, 0x03e29e59, 0x00789994, 0x01192986, 0x03169f20, 0x0383e7f3, 0x02034ac3, 0x026453c2, 0x038c280e, 0x003576e2}}, Y: Field{[10]uint32{0x0263412b, 0x00355df0, 0x02cbbeb6, 0x01e2a997, 0x0398f270, 0x0066507d, 0x025635a8, 0x0000e7d7, 0x003a085a, 0x0010458f}}}, + {X: Field{[10]uint32{0x01135f8d, 0x00285f36, 0x01165700, 0x016b151f, 0x0210e105, 0x02ed3dff, 0x00e57ac8, 0x02c03656, 0x03a5630e, 0x00264293}}, Y: Field{[10]uint32{0x03c9653b, 0x02c8f5d2, 0x032912ec, 0x0053e3f3, 0x03eb2524, 0x0231c485, 0x02a03646, 0x028a2511, 0x0025491f, 0x003c97b8}}}, + {X: Field{[10]uint32{0x029c0935, 0x00ded5e7, 0x031b7416, 0x03b31a35, 0x034e3049, 0x00c573d4, 0x0101c3b3, 0x012773b2, 0x00f01c78, 0x0035e13b}}, Y: Field{[10]uint32{0x034205ce, 0x03593eda, 0x03dde6b2, 0x00202159, 0x02306720, 0x03b1bf51, 0x0082a841, 0x00abb763, 0x0122cc38, 0x00177a63}}}, + {X: Field{[10]uint32{0x00e38193, 0x01334d5b, 0x01338320, 0x03946726, 0x019b4d38, 0x037cf067, 0x0353b67b, 0x0032eeab, 0x00d05885, 0x000195db}}, Y: Field{[10]uint32{0x0310eaca, 0x03dd3195, 0x03420658, 0x0038c2fc, 0x03d98496, 0x01d923f8, 0x001fbeb2, 0x0395b8c7, 0x013e92d1, 0x0028ca66}}}, + {X: Field{[10]uint32{0x0035efce, 0x012113af, 0x024d8bb9, 0x01dcf49b, 0x0320ccb1, 0x0311527f, 0x009a8081, 0x03031919, 0x00e5f675, 0x00255de2}}, Y: Field{[10]uint32{0x021d9b5b, 0x016a8394, 0x00a8c051, 0x001a6f04, 0x0301d329, 0x005785f3, 0x01c39486, 0x03b8df65, 0x031cdc4b, 0x001fa910}}}, + {X: Field{[10]uint32{0x039e4a2e, 0x014b0178, 0x0096b014, 0x03cec114, 0x00da5549, 0x02304ffc, 0x0101abd7, 0x02d4dfb1, 0x02805053, 0x0022bdf2}}, Y: Field{[10]uint32{0x017e8402, 0x0160da8b, 0x03fb8e1b, 0x001ba759, 0x036a4362, 0x03690150, 0x03235e60, 0x010b933e, 0x0225aac0, 0x00097a18}}}, + {X: Field{[10]uint32{0x0215236c, 0x024df438, 0x02ba2623, 0x01598dec, 0x01e6eb74, 0x035e705e, 0x02ff642a, 0x018d3880, 0x0393e16e, 0x00126fc0}}, Y: Field{[10]uint32{0x0031a85d, 0x00f9a5e9, 0x00722d60, 0x00305e6b, 0x0141e5f8, 0x02684d10, 0x000ce1ee, 0x03835073, 0x013f401d, 0x00216418}}}, + {X: Field{[10]uint32{0x00192063, 0x03af4675, 0x035afdc5, 0x03b68992, 0x01df3653, 0x02326db7, 0x03b68581, 0x00a18d49, 0x02250257, 0x00320b8a}}, Y: Field{[10]uint32{0x01a6de8c, 0x01d78f8e, 0x011c7b26, 0x03dcddbe, 0x01c2717f, 0x01fe7a4e, 0x030af044, 0x0306f4f5, 0x0000cd87, 0x000ee1be}}}, + {X: Field{[10]uint32{0x00eedbf3, 0x004b7f76, 0x02041a37, 0x0154562c, 0x0142ec13, 0x0393489f, 0x02fc9c3f, 0x023df0eb, 0x01202b9a, 0x0027390e}}, Y: Field{[10]uint32{0x035b52f6, 0x0288327f, 0x026e26d5, 0x02cf70bb, 0x0153a54b, 0x02a4e7fe, 0x02f15d59, 0x03b74feb, 0x0305859a, 0x0036eed6}}}, + {X: Field{[10]uint32{0x02fe6227, 0x02f6dac5, 0x0324a168, 0x02b425bb, 0x00baa707, 0x03b2ad2e, 0x01202213, 0x0017294b, 0x009e49de, 0x000381c0}}, Y: Field{[10]uint32{0x00bc33c9, 0x023e739b, 0x03b2e417, 0x00f28548, 0x03258383, 0x037a353a, 0x03865b0a, 0x02e89a06, 0x00bfe752, 0x001a8d6c}}}, + {X: Field{[10]uint32{0x021da888, 0x00056f60, 0x03fab065, 0x017fd308, 0x01d58861, 0x025849c5, 0x02948147, 0x02bd8791, 0x01b47e09, 0x003ad373}}, Y: Field{[10]uint32{0x01661b8f, 0x017454fa, 0x000834a5, 0x01710410, 0x00008630, 0x01320457, 0x006536ad, 0x000be878, 0x01685846, 0x0018f8e0}}}, + {X: Field{[10]uint32{0x00e49db6, 0x013cce44, 0x00f7bf86, 0x001c981e, 0x03a2c659, 0x034a76b3, 0x0257015d, 0x00044c74, 0x02812bf2, 0x002f97e1}}, Y: Field{[10]uint32{0x016d9da7, 0x01004765, 0x01f308f0, 0x02e3103a, 0x0143c4f1, 0x01cfe944, 0x015a92da, 0x012bfd66, 0x00e45617, 0x00343d08}}}, + {X: Field{[10]uint32{0x015b99a8, 0x007e204d, 0x01ed74a6, 0x0172cc75, 0x03db214a, 0x0375fa3b, 0x03a1318e, 0x017e7663, 0x003910e7, 0x000eccb7}}, Y: Field{[10]uint32{0x03a18bc5, 0x02bc68a8, 0x03c4218b, 0x02b15cbe, 0x036e4e0a, 0x01d4b952, 0x01df756e, 0x03a7967f, 0x028619c2, 0x000684b7}}}, + {X: Field{[10]uint32{0x02e04db1, 0x00f9e921, 0x029d0a3c, 0x00d45a5c, 0x03dde107, 0x00fce1ad, 0x012922ea, 0x03a21597, 0x01ce5c06, 0x00256b17}}, Y: Field{[10]uint32{0x02f39838, 0x02d6c9cf, 0x029fde77, 0x01dc9465, 0x01680edb, 0x005aded2, 0x0049e856, 0x0060878f, 0x0187ab1b, 0x000688b3}}}, + {X: Field{[10]uint32{0x00e708eb, 0x0060db5f, 0x005ccd30, 0x00782a37, 0x027dad59, 0x017b4a57, 0x01d1b74a, 0x03c4f8cd, 0x00fba4b0, 0x001b93b4}}, Y: Field{[10]uint32{0x0234b931, 0x01fc5482, 0x01a54ac3, 0x0267a670, 0x0016a2ef, 0x027366ac, 0x0188e6e5, 0x013827b6, 0x026ac61c, 0x00241585}}}, + {X: Field{[10]uint32{0x03a42e10, 0x03ae8b08, 0x01859898, 0x01e6474b, 0x01ea8d9a, 0x0209f612, 0x00925e17, 0x003b84dd, 0x0394208e, 0x0022df0c}}, Y: Field{[10]uint32{0x0043d193, 0x02afac9c, 0x02d0d003, 0x03d8bc86, 0x032c8beb, 0x01d7bcff, 0x00e64400, 0x002f3244, 0x02379672, 0x002daae4}}}, + {X: Field{[10]uint32{0x00f871c6, 0x001612ec, 0x02dcc8e2, 0x01363e5b, 0x02dd48ab, 0x02dbd772, 0x00965b98, 0x0035ce21, 0x0347f669, 0x0003f69e}}, Y: Field{[10]uint32{0x02926c5d, 0x02e39af2, 0x03560e18, 0x00895791, 0x00309292, 0x0152d1cf, 0x03487e8b, 0x0331b4a2, 0x0035a272, 0x0026d009}}}, + {X: Field{[10]uint32{0x01bcb217, 0x0041a8cf, 0x0255dad6, 0x022f3246, 0x036e6301, 0x0303a6a8, 0x00beb534, 0x01686bbe, 0x00f5395a, 0x003c5768}}, Y: Field{[10]uint32{0x038a8f1c, 0x03afdd95, 0x00f6ddb6, 0x00bef3e6, 0x0380be25, 0x021825c8, 0x03571ac4, 0x00054645, 0x01eabb3b, 0x000a33da}}}, + {X: Field{[10]uint32{0x00af9253, 0x036206ef, 0x032f4abf, 0x02e1fea0, 0x03d9a208, 0x021c26a5, 0x02378e63, 0x005f8324, 0x02dd2c78, 0x0031b899}}, Y: Field{[10]uint32{0x03769626, 0x0247b9f2, 0x02082842, 0x03724c8c, 0x005ffa7a, 0x0342fbd6, 0x00e95e35, 0x02ce8c32, 0x00c1fa9b, 0x000abc40}}}, + {X: Field{[10]uint32{0x02e28753, 0x00cf422d, 0x0313f0d1, 0x01e93f6a, 0x037f5a72, 0x00e495a1, 0x00c21a83, 0x00807922, 0x02020fdd, 0x0012fe2a}}, Y: Field{[10]uint32{0x015fc8b8, 0x02fa74f3, 0x01d88f39, 0x0016572f, 0x02d8fe5f, 0x0279b188, 0x01c6bd70, 0x01356685, 0x0258ad9c, 0x00162049}}}, + {X: Field{[10]uint32{0x00d0a6d3, 0x03f04a5f, 0x0248b972, 0x01cf6d87, 0x0105cda6, 0x029dfee5, 0x009fc39d, 0x01216956, 0x032806dd, 0x002aa617}}, Y: Field{[10]uint32{0x024b75b2, 0x017d8347, 0x00a04e1e, 0x00404389, 0x007c2777, 0x007fc0b8, 0x025a92da, 0x018ecca6, 0x00972f11, 0x002aec3e}}}, + {X: Field{[10]uint32{0x01c41c9d, 0x01ccbb18, 0x0197c8e1, 0x012c33b4, 0x016c2fa0, 0x02305048, 0x039f88d8, 0x02873d3a, 0x0101ec13, 0x00205d34}}, Y: Field{[10]uint32{0x03d79aa7, 0x01a9d623, 0x01bbb46f, 0x012c69e4, 0x00c6e5d9, 0x0298e6c0, 0x037a6625, 0x00b9ffab, 0x01c231b0, 0x00319d97}}}, + {X: Field{[10]uint32{0x01f3d876, 0x00bc13db, 0x02cbb870, 0x02b3f6f9, 0x0292573a, 0x016a68e8, 0x028fe098, 0x024a5edc, 0x02a9d603, 0x003e7d93}}, Y: Field{[10]uint32{0x024ca01a, 0x01f4b266, 0x02f9b1a6, 0x03ef61fb, 0x01188069, 0x005cba1e, 0x00950f21, 0x019f4058, 0x03c14060, 0x001051b1}}}, + {X: Field{[10]uint32{0x00f1b3b4, 0x0197b32a, 0x02951d88, 0x02f072a4, 0x01f8067c, 0x02977a49, 0x034454a2, 0x0217acf4, 0x02705a68, 0x000f990e}}, Y: Field{[10]uint32{0x02fb0355, 0x03822df8, 0x02f11b0f, 0x0209c58b, 0x028b5e58, 0x01ddea65, 0x01d54d1d, 0x014d3b7a, 0x03045525, 0x000b7b29}}}, + {X: Field{[10]uint32{0x036c63c5, 0x0259bccd, 0x0082e4c0, 0x034ae1ea, 0x03caae45, 0x01bddb40, 0x015d200d, 0x02b01dfa, 0x0011fcc3, 0x0011137d}}, Y: Field{[10]uint32{0x0016cc23, 0x0142a955, 0x032bc643, 0x024eb1b8, 0x01ec520c, 0x00b7b3cf, 0x00d1a4df, 0x02592a9f, 0x0198643d, 0x002d1599}}}, + {X: Field{[10]uint32{0x006946a0, 0x01ea1e99, 0x01465bbb, 0x01aa1093, 0x0019cdaa, 0x029a0429, 0x00a7beb1, 0x00d7f8c5, 0x021f58be, 0x0004a8bd}}, Y: Field{[10]uint32{0x010ba47d, 0x0354d74a, 0x010698df, 0x00c6575e, 0x0248410b, 0x029a7ef2, 0x01539461, 0x03323fc6, 0x034494c2, 0x00269ef7}}}, + {X: Field{[10]uint32{0x0264cb9f, 0x00acadf8, 0x007933d5, 0x01ea4fd2, 0x02511b2b, 0x01a1ef48, 0x008af94b, 0x01cf1cf5, 0x02924625, 0x002f75c9}}, Y: Field{[10]uint32{0x02123874, 0x03037de8, 0x034ed955, 0x03df7103, 0x02858e6d, 0x03dd1a6a, 0x01ac9923, 0x03eac2f5, 0x004eb794, 0x00015b9b}}}, + {X: Field{[10]uint32{0x00066bdd, 0x01ff95a9, 0x003d60ec, 0x00a75f41, 0x03c974bd, 0x02936a7b, 0x034f156e, 0x03d5744a, 0x015877c3, 0x00386f55}}, Y: Field{[10]uint32{0x03233170, 0x02541d70, 0x0033ff5a, 0x006c7111, 0x03789cbf, 0x03168cbd, 0x002bea56, 0x010da88e, 0x0399fbe7, 0x00237366}}}, + {X: Field{[10]uint32{0x00132ad9, 0x00d47498, 0x0185d804, 0x02e2c1c6, 0x00fc064e, 0x01287d54, 0x0246609f, 0x020a52fa, 0x01e4781c, 0x0029f1a3}}, Y: Field{[10]uint32{0x01b42c32, 0x02218aeb, 0x00766842, 0x026fafe8, 0x026f6bbf, 0x0116626e, 0x022b240d, 0x03fad441, 0x00b63d9e, 0x0028209e}}}, + {X: Field{[10]uint32{0x029aa855, 0x00f1c34a, 0x0279a56b, 0x0198f632, 0x0205fa0d, 0x004df41e, 0x01eb90f5, 0x038da72f, 0x0369b4c6, 0x0013cea1}}, Y: Field{[10]uint32{0x026ea169, 0x01921bba, 0x0393e35b, 0x00b2d8af, 0x00b9d6db, 0x011c1d61, 0x00ed9f2c, 0x007854d2, 0x011c5f70, 0x0003db01}}}, + {X: Field{[10]uint32{0x0044f232, 0x018f77bd, 0x01a8d744, 0x01ff2d0d, 0x0036fd04, 0x0229aed6, 0x01cac66d, 0x03aff610, 0x001c8089, 0x0037aaaf}}, Y: Field{[10]uint32{0x0228e8a1, 0x0030a4f0, 0x014f90f5, 0x01258a9b, 0x00ccd14a, 0x03229b59, 0x026e6547, 0x01b9eaa0, 0x00ba49c2, 0x003edf31}}}, + {X: Field{[10]uint32{0x019c0695, 0x02e3e4cc, 0x023788b5, 0x02adf3f3, 0x02fd7f33, 0x03bcaccb, 0x0151e1f4, 0x006ce049, 0x0361547b, 0x0031046b}}, Y: Field{[10]uint32{0x018cb66b, 0x02efe215, 0x02ab4797, 0x013bd888, 0x02294ace, 0x03f3eedd, 0x0266d212, 0x03e0aba4, 0x03d73d50, 0x0034afb9}}}, + {X: Field{[10]uint32{0x009ec5e7, 0x002f7aa4, 0x01637821, 0x000742a2, 0x004a35f1, 0x02e77771, 0x00284945, 0x0376a343, 0x0294485b, 0x00343fda}}, Y: Field{[10]uint32{0x024f620f, 0x0087c88d, 0x02a65e21, 0x03fe0ea4, 0x00cb1910, 0x023e54f1, 0x02b7e83d, 0x02a3cb40, 0x00fd2923, 0x002acfd8}}}, + {X: Field{[10]uint32{0x0308c0f1, 0x00d6a9c7, 0x02424982, 0x01102cff, 0x01006f27, 0x016b5b2c, 0x011baea3, 0x03b648a1, 0x01cc9555, 0x00028341}}, Y: Field{[10]uint32{0x02339948, 0x0131f275, 0x037dc471, 0x02b4c601, 0x0150afe2, 0x0082c9c1, 0x017e67ca, 0x01629c2f, 0x01052371, 0x00210ec4}}}, + {X: Field{[10]uint32{0x023f5d32, 0x03964807, 0x039d0568, 0x010a24fe, 0x007d5996, 0x0364265e, 0x0083ef67, 0x017ee817, 0x0045eb29, 0x002fa821}}, Y: Field{[10]uint32{0x00ce10e3, 0x03cc8a9b, 0x01cc7908, 0x035af53d, 0x01e26594, 0x00744bb4, 0x00bb2bb4, 0x03d14f5e, 0x03ffb3f7, 0x000aa069}}}, + {X: Field{[10]uint32{0x02f0d5f0, 0x00b1f7b9, 0x02ce3e82, 0x026316b3, 0x00551c30, 0x01aae5c0, 0x035aea6f, 0x039a267a, 0x004c431b, 0x003a3af3}}, Y: Field{[10]uint32{0x01fa902e, 0x03428ecc, 0x0161e097, 0x0193aa83, 0x016d65db, 0x0268ab9e, 0x03d511f5, 0x0393d63e, 0x0061760a, 0x003be669}}}, + {X: Field{[10]uint32{0x026e8fd2, 0x00c2f3a5, 0x03cd1d96, 0x02d6161d, 0x020806ba, 0x01e5b62d, 0x031db77c, 0x037113b3, 0x006cdd73, 0x00125218}}, Y: Field{[10]uint32{0x02b95f80, 0x012e496f, 0x01123bc6, 0x03b7cf6e, 0x00cb8c13, 0x00e511aa, 0x01630aa6, 0x02319e10, 0x033f786c, 0x000f19cc}}}, + {X: Field{[10]uint32{0x02a778c2, 0x021e4ba7, 0x00a165c1, 0x02996d72, 0x00fb5a19, 0x019b3525, 0x03e40cca, 0x03bee938, 0x033240d9, 0x0013c966}}, Y: Field{[10]uint32{0x0117446d, 0x023aab93, 0x00efb1b6, 0x01fd1d23, 0x00b1590f, 0x027d3a8b, 0x02006054, 0x01a66712, 0x008778c2, 0x003f7620}}}, + {X: Field{[10]uint32{0x02dfcc29, 0x0143e91e, 0x03f337e3, 0x02379ea9, 0x031e7e91, 0x038463ba, 0x036e2b43, 0x01fd4bc9, 0x0093e14d, 0x003cc0e9}}, Y: Field{[10]uint32{0x01141b57, 0x006f52da, 0x00163cfa, 0x01df17f9, 0x01453f79, 0x029ab499, 0x01bc49da, 0x0394fd7d, 0x006d0bef, 0x003127e9}}}, + {X: Field{[10]uint32{0x01df595d, 0x02cbd4f0, 0x01a41ea4, 0x03f0a77d, 0x0158b9fd, 0x01029583, 0x0311859c, 0x02003b06, 0x0317f4c0, 0x00380312}}, Y: Field{[10]uint32{0x0363b99d, 0x007edd65, 0x032fb8c8, 0x000f4d20, 0x00a72a10, 0x02d33346, 0x00d0d957, 0x0134a746, 0x0266c3ec, 0x00189106}}}, + {X: Field{[10]uint32{0x0372ce70, 0x02c8c076, 0x011714cf, 0x03c88560, 0x03ca16be, 0x02dd52f9, 0x03603bd2, 0x02bd4a91, 0x00861af6, 0x001212e1}}, Y: Field{[10]uint32{0x0132fbc7, 0x01f9cb13, 0x02359d47, 0x0314231d, 0x01cf72e5, 0x028299d6, 0x02968652, 0x01e68ff9, 0x03f5a0ac, 0x000dbe13}}}, + {X: Field{[10]uint32{0x00d93f14, 0x0119ee13, 0x02dab210, 0x0338469e, 0x03ca07fe, 0x032f0526, 0x03e6a8a7, 0x007d1286, 0x00ead8b5, 0x00222f96}}, Y: Field{[10]uint32{0x02687fdc, 0x01baf2a4, 0x0067d4d4, 0x03d27c03, 0x018ebbeb, 0x001a5ec6, 0x00d6cd6a, 0x03ef05c7, 0x00af7037, 0x00253043}}}, + {X: Field{[10]uint32{0x03da781b, 0x037a5111, 0x03b77384, 0x0351f058, 0x037372a3, 0x0040466d, 0x0275e11b, 0x035fbd12, 0x02af9fdd, 0x002afdb3}}, Y: Field{[10]uint32{0x0395d290, 0x003b3319, 0x0259a796, 0x024a0712, 0x01417183, 0x026ed3bd, 0x01fe2f3b, 0x0319eba7, 0x030c6320, 0x00172b6c}}}, + {X: Field{[10]uint32{0x009d173a, 0x020e13ae, 0x03deb74f, 0x00365598, 0x014e221e, 0x01f1b0f3, 0x03cf10a1, 0x0196c99f, 0x01229ef6, 0x003a3099}}, Y: Field{[10]uint32{0x022aeeb3, 0x02b847f2, 0x00934035, 0x009a7f34, 0x02bec7ba, 0x00364591, 0x031965b3, 0x0143bf48, 0x03adf9b0, 0x00269a7e}}}, + {X: Field{[10]uint32{0x01c6c23e, 0x03e93ff6, 0x0358df60, 0x03aa47ff, 0x01e031f3, 0x021a0c55, 0x0270a24e, 0x03b2e579, 0x03d8bf72, 0x0019994a}}, Y: Field{[10]uint32{0x00be994e, 0x0168ea4c, 0x03b3b4b6, 0x00054b73, 0x0205fa69, 0x03d98c29, 0x002fbb66, 0x00adcc8b, 0x00083f18, 0x0012113b}}}, + {X: Field{[10]uint32{0x002c0964, 0x0094b753, 0x02f0badf, 0x01054caa, 0x0075cac8, 0x016fdb56, 0x00202c44, 0x00410372, 0x00c2d842, 0x00081e20}}, Y: Field{[10]uint32{0x01860cfd, 0x01b47c30, 0x01c54e91, 0x024c203f, 0x010a562d, 0x0324a9ec, 0x00ef3167, 0x013786b9, 0x01d73eb2, 0x000ac606}}}, + {X: Field{[10]uint32{0x0013f581, 0x03f65648, 0x030cc763, 0x00b1f649, 0x007e8f26, 0x03437fda, 0x0133485e, 0x01a4bbb2, 0x01e453d0, 0x0011ae6f}}, Y: Field{[10]uint32{0x014f9bf7, 0x02af4b28, 0x022256ec, 0x021a7cbf, 0x01394cc7, 0x00216df5, 0x019b0d63, 0x026703d2, 0x03e63ae5, 0x00162be6}}}, + {X: Field{[10]uint32{0x01ea3e11, 0x00759e5d, 0x0278b82b, 0x015758a6, 0x02a2fa25, 0x00a6bcea, 0x0356e2f0, 0x03974025, 0x0174dbeb, 0x001766c9}}, Y: Field{[10]uint32{0x02e59263, 0x01ed9143, 0x030f02b8, 0x02405963, 0x03f3a641, 0x018a5d63, 0x023dd507, 0x031a3f3b, 0x00acaa6a, 0x003b67d0}}}, + {X: Field{[10]uint32{0x02590e4f, 0x01b05c9b, 0x02c52d08, 0x035ddf3f, 0x03dc598f, 0x01dd0ce2, 0x036a6491, 0x01909669, 0x01828b98, 0x003b2d6b}}, Y: Field{[10]uint32{0x01887886, 0x02637cb2, 0x034e301d, 0x029f3312, 0x0365d33e, 0x00be084b, 0x014b5bf5, 0x0361faa5, 0x013673c6, 0x0000ade2}}}, + {X: Field{[10]uint32{0x0124ea67, 0x03294c8e, 0x0296e8f3, 0x0267f243, 0x00ddd62e, 0x00037957, 0x01747250, 0x006e2874, 0x00c15e71, 0x002ccad9}}, Y: Field{[10]uint32{0x02ac2083, 0x02c30929, 0x016a5403, 0x013783f8, 0x024d81b8, 0x01f92f86, 0x027a94de, 0x02b7c8d2, 0x01d36dce, 0x002bd758}}}, + {X: Field{[10]uint32{0x020cd364, 0x0023f160, 0x034ab1c3, 0x010aa002, 0x008b7f68, 0x033daacf, 0x0157aa15, 0x008cd29b, 0x031b7158, 0x00144dfd}}, Y: Field{[10]uint32{0x01f1eab4, 0x0194a913, 0x00381efa, 0x00e25596, 0x010e4a3b, 0x025d5dc4, 0x02a248d4, 0x01f6ac31, 0x03ecc9b1, 0x003dfa97}}}, + {X: Field{[10]uint32{0x029ea866, 0x0158a5f3, 0x01539e7c, 0x01958c58, 0x0025f94e, 0x00070fd7, 0x0113a898, 0x016224f8, 0x021a390b, 0x002e6ec3}}, Y: Field{[10]uint32{0x00324a11, 0x01a547c2, 0x0080e6b6, 0x02a094e6, 0x01247f60, 0x0207938c, 0x00e14ece, 0x00d7eeb9, 0x00903c3d, 0x003636cf}}}, + {X: Field{[10]uint32{0x024fe9af, 0x03ad1a24, 0x027d317b, 0x024bb060, 0x0388cc11, 0x0310bd1e, 0x0291c211, 0x003b0811, 0x01676da4, 0x000fc246}}, Y: Field{[10]uint32{0x02bb8de9, 0x0177d705, 0x01395877, 0x02f74ff3, 0x00ba4c04, 0x00e341c9, 0x02e6a812, 0x00b07c62, 0x00263e88, 0x003c6d12}}}, + {X: Field{[10]uint32{0x0093b4fe, 0x016b2236, 0x00ed80d5, 0x011f5897, 0x003767da, 0x01c286cb, 0x015e7afc, 0x01803a35, 0x01f1dad4, 0x002d7e89}}, Y: Field{[10]uint32{0x02d22347, 0x024e6ca2, 0x0270e1d6, 0x000ee85e, 0x0183e495, 0x02927426, 0x013a1908, 0x00a5b1fb, 0x0261f2ba, 0x001d5d7d}}}, + {X: Field{[10]uint32{0x000d17b0, 0x031bdf5a, 0x000183d4, 0x03a9ac73, 0x01e4ca06, 0x000dcc1a, 0x01b797e9, 0x00096de3, 0x00e2dc6a, 0x00280dc7}}, Y: Field{[10]uint32{0x0059919d, 0x01f10cba, 0x036bc693, 0x01d1712b, 0x0024f0ff, 0x01666ddd, 0x011c5214, 0x00173ba1, 0x00a89a50, 0x0024ad6a}}}, + {X: Field{[10]uint32{0x02e2f210, 0x02650a87, 0x02c8c7b1, 0x00a36896, 0x00cd0a98, 0x01f50808, 0x0063967d, 0x02441de2, 0x029000a4, 0x0016ab9b}}, Y: Field{[10]uint32{0x03ee8fd7, 0x00393ded, 0x03957576, 0x031335e0, 0x017e82fd, 0x01e7b0e6, 0x03218f7b, 0x013cfff5, 0x002082a5, 0x0003b673}}}, + {X: Field{[10]uint32{0x020841a0, 0x034a8a06, 0x03b053fe, 0x02cb9b39, 0x0164efdd, 0x01437ad9, 0x000f9648, 0x02dbd2c4, 0x02ecf4a9, 0x001539f6}}, Y: Field{[10]uint32{0x03c9c63d, 0x00f7b2a5, 0x03daecc8, 0x0215c250, 0x0270d467, 0x022cd365, 0x02857ad0, 0x00ea0756, 0x032a5477, 0x00366b68}}}, + {X: Field{[10]uint32{0x03bf44e8, 0x01153223, 0x00d7abdb, 0x0148e47b, 0x00383ed7, 0x01d926e1, 0x00d8be0c, 0x03bd1ad2, 0x0110d8bc, 0x003a6ca6}}, Y: Field{[10]uint32{0x021d6b69, 0x031c0f09, 0x033deb84, 0x024a6a37, 0x03d7a267, 0x00393102, 0x01739655, 0x03a47e94, 0x0094f669, 0x003ac9a0}}}, + {X: Field{[10]uint32{0x02546a97, 0x0385de76, 0x00ef6384, 0x00727f85, 0x013f537a, 0x01df4767, 0x037c5895, 0x02944c65, 0x0222f254, 0x0010fe54}}, Y: Field{[10]uint32{0x01cb18cc, 0x03b3ad5c, 0x035e14b0, 0x02ce5ecf, 0x030eef80, 0x0198a8b7, 0x005b305b, 0x01711fc9, 0x02534334, 0x0035f4f1}}}, + {X: Field{[10]uint32{0x02c3b103, 0x004a52e9, 0x00b1dcc9, 0x01701c89, 0x01672338, 0x005ab921, 0x00bc0902, 0x03ee4a0c, 0x03d53999, 0x0027ed17}}, Y: Field{[10]uint32{0x02bdf451, 0x03deb27f, 0x0213a277, 0x001ae09c, 0x036731b5, 0x0269252e, 0x017bf7f3, 0x020b4e43, 0x001bdbfd, 0x0016d1c2}}}, + {X: Field{[10]uint32{0x031dcce9, 0x032092ed, 0x007f23cb, 0x003882b6, 0x0109ca84, 0x03ad19bd, 0x015919b2, 0x00a734ca, 0x002b8355, 0x0037648a}}, Y: Field{[10]uint32{0x03726371, 0x02a78717, 0x03b7ad58, 0x01a0ed63, 0x01f37962, 0x00788ef3, 0x02f4a29d, 0x0359a2c7, 0x02e7bc59, 0x003b117d}}}, + {X: Field{[10]uint32{0x0016348d, 0x030176b7, 0x01c38686, 0x01bf06b5, 0x01fe2903, 0x00f788f1, 0x019def4f, 0x02f75efe, 0x0012009f, 0x001d20bc}}, Y: Field{[10]uint32{0x0040abd1, 0x0198e9ae, 0x025f8db1, 0x02eb0939, 0x0173fc0d, 0x0196eb44, 0x02b2a20b, 0x03dbc2fc, 0x020d5497, 0x00290f12}}}, + {X: Field{[10]uint32{0x00ebd9a5, 0x029a1a5c, 0x02377a69, 0x00c3dea6, 0x01537fca, 0x016c0c65, 0x012f587a, 0x0189e077, 0x019597fd, 0x003e933f}}, Y: Field{[10]uint32{0x03ae823a, 0x03af8771, 0x0105c1b8, 0x00c428c1, 0x01e2a350, 0x03862a3f, 0x031d269b, 0x03dde2f4, 0x02c99ddb, 0x00115a2d}}}, + {X: Field{[10]uint32{0x03a60b9e, 0x01f4440f, 0x00c53d9b, 0x034c9e51, 0x022f1078, 0x03c7ffaf, 0x0105e1b4, 0x00fa3a06, 0x03dae776, 0x00147834}}, Y: Field{[10]uint32{0x02da6740, 0x00bfca8d, 0x033f7bfa, 0x02948e57, 0x001da673, 0x008423b4, 0x01f20b90, 0x00beb33e, 0x00c4ab57, 0x00046368}}}, + {X: Field{[10]uint32{0x01bc9530, 0x00a99a03, 0x03f86c48, 0x01d3d03a, 0x00502fc6, 0x0227a5bd, 0x003b8572, 0x008cd4e3, 0x027cc055, 0x001f6395}}, Y: Field{[10]uint32{0x02b37571, 0x030ba9a3, 0x00ad7600, 0x00716172, 0x00748458, 0x02a2c985, 0x01fe552b, 0x0111a92e, 0x004600c6, 0x001db0ff}}}, + {X: Field{[10]uint32{0x011dfb1f, 0x00ae52b3, 0x000ed8d1, 0x019e7bd3, 0x011c316d, 0x03e8631e, 0x01f216fd, 0x0065bf74, 0x02d3b400, 0x00364931}}, Y: Field{[10]uint32{0x03ebcea8, 0x00aaa013, 0x012e59d8, 0x00649b1a, 0x0290b9d1, 0x023766e4, 0x01eb3f28, 0x0012e2c4, 0x00ee881c, 0x0003b0cf}}}, + {X: Field{[10]uint32{0x0293c0db, 0x01d115d7, 0x03b8f330, 0x006afe54, 0x033965cb, 0x02a6760a, 0x00d28b97, 0x00a72346, 0x030b06f6, 0x002372cc}}, Y: Field{[10]uint32{0x006857a3, 0x01d3cde9, 0x0097ab6d, 0x0103dbdf, 0x00b58b73, 0x004fe06a, 0x0129b573, 0x0240b46c, 0x01198323, 0x000f628b}}}, + {X: Field{[10]uint32{0x02a5d2b5, 0x01d27daf, 0x02e80d3f, 0x0074d68c, 0x0157910f, 0x036bad9c, 0x0386797d, 0x018de233, 0x023b94b0, 0x00374712}}, Y: Field{[10]uint32{0x03230777, 0x026fb7ac, 0x0064c086, 0x02f1cf5f, 0x003d2afe, 0x02de32de, 0x03e5be9a, 0x0160f590, 0x00c75a69, 0x003befb0}}}, + {X: Field{[10]uint32{0x03f5e772, 0x022a214d, 0x02dab765, 0x03caf1d8, 0x01ec0275, 0x0134a4b0, 0x01f6ec48, 0x035fdce5, 0x02341dfa, 0x000ac0f7}}, Y: Field{[10]uint32{0x03c0d0e3, 0x019a9db0, 0x03bdf971, 0x0346b926, 0x020803d7, 0x027de397, 0x03d48bb4, 0x0160b156, 0x00fb3818, 0x000c8d7a}}}, + {X: Field{[10]uint32{0x0028dde2, 0x01e320c5, 0x03f39479, 0x02f530f9, 0x02677f06, 0x01addc4c, 0x03a80efa, 0x016f25f9, 0x030fba14, 0x000e9e56}}, Y: Field{[10]uint32{0x00914691, 0x037d5e51, 0x0352b526, 0x013a8fc4, 0x0081af64, 0x03b502bb, 0x00bc9e1e, 0x022898df, 0x039ddf03, 0x003d0496}}}, + {X: Field{[10]uint32{0x004fcbbf, 0x0301621a, 0x01e59ef8, 0x0085e234, 0x03121f5c, 0x002a1476, 0x006c081b, 0x035b2e71, 0x013ba133, 0x0003b3e0}}, Y: Field{[10]uint32{0x03e53560, 0x035dce04, 0x020930ec, 0x0057af84, 0x02597e39, 0x02254a70, 0x02becd07, 0x02d1cdfc, 0x02f2a7b7, 0x001a7836}}}, + {X: Field{[10]uint32{0x02217d5a, 0x01a461b5, 0x00c33576, 0x01154da3, 0x03743832, 0x0138274f, 0x037191dd, 0x018f9040, 0x0182c141, 0x0018df12}}, Y: Field{[10]uint32{0x02ecb410, 0x03695cf7, 0x00b77a74, 0x011d6b19, 0x00f6fb37, 0x028de0c6, 0x03aaa5c0, 0x034b8c96, 0x02b8fd83, 0x0036968a}}}, + {X: Field{[10]uint32{0x01b90e87, 0x022cf8dc, 0x037c6b19, 0x01604947, 0x00542556, 0x0014c368, 0x03f5fac2, 0x016d5f73, 0x03a2d887, 0x00067f9c}}, Y: Field{[10]uint32{0x00151ca0, 0x027de836, 0x01ad35a3, 0x0204a3f0, 0x01a32646, 0x03f97a2e, 0x027a77a1, 0x0094630d, 0x00182ccc, 0x000ec0eb}}}, + {X: Field{[10]uint32{0x03b7ebb2, 0x0156dfce, 0x0023471d, 0x02f7c513, 0x00c68b4c, 0x02d9a02c, 0x01151b30, 0x03700027, 0x022a0d4c, 0x00005ba9}}, Y: Field{[10]uint32{0x013fa629, 0x03f3a779, 0x01f6a8ff, 0x0180b8ee, 0x0135f020, 0x02566030, 0x00612a89, 0x00b964ce, 0x021c5367, 0x00232b12}}}, + {X: Field{[10]uint32{0x02a40970, 0x00d4e508, 0x012e849f, 0x0217efd4, 0x00e1eed4, 0x01e7e68a, 0x00e54132, 0x01b4859e, 0x00b5454c, 0x001ae75a}}, Y: Field{[10]uint32{0x02365482, 0x02c6c9eb, 0x01472fa4, 0x01952c17, 0x03907f85, 0x02a223ad, 0x01e6969d, 0x038df6be, 0x004498eb, 0x002d8fd4}}}, + {X: Field{[10]uint32{0x035ed3e6, 0x037449c2, 0x01d05868, 0x01f48c59, 0x0232c3c2, 0x03edfb24, 0x03dc948a, 0x0204b0b9, 0x008c08f0, 0x0007e883}}, Y: Field{[10]uint32{0x01838076, 0x0137ad8a, 0x020cfed8, 0x015ca029, 0x026cd168, 0x0308a7fa, 0x03686062, 0x00d909f7, 0x034d8213, 0x0031495f}}}, + {X: Field{[10]uint32{0x036acc86, 0x0229a86f, 0x02263e8e, 0x00e2f941, 0x02af15bb, 0x00763d4d, 0x031df6b3, 0x02d37873, 0x00927dae, 0x001cea0f}}, Y: Field{[10]uint32{0x02eb8adc, 0x01eb5aa0, 0x000ab2fb, 0x02af937d, 0x0126a21d, 0x02326e24, 0x034e24de, 0x030c2e0a, 0x03e40cd6, 0x002822b2}}}, + {X: Field{[10]uint32{0x0188bdbe, 0x01d87b9d, 0x015a48e1, 0x033bf4a9, 0x0285ba90, 0x03389978, 0x0278cf93, 0x00b7bb28, 0x0264924e, 0x000ea655}}, Y: Field{[10]uint32{0x00cbbb0e, 0x02351711, 0x00f39dd4, 0x02f40edf, 0x02d011a1, 0x0072bc63, 0x0065d939, 0x00cf4d49, 0x02dc99eb, 0x003cc886}}}, + {X: Field{[10]uint32{0x01429c26, 0x01fc9a4f, 0x005965e0, 0x03ead3e2, 0x025ca516, 0x030583a1, 0x005cd9b9, 0x03d73075, 0x0219b032, 0x001f197b}}, Y: Field{[10]uint32{0x023704c5, 0x015ca900, 0x02287ff9, 0x0178dd0f, 0x018cc54a, 0x02f88893, 0x01076ae4, 0x03c9df4c, 0x02f90e3d, 0x0011f1fe}}}, + {X: Field{[10]uint32{0x00d397dc, 0x0002c8b9, 0x00fb03dc, 0x0365976e, 0x032f05e6, 0x0332e340, 0x0153118d, 0x036ef6f6, 0x014c6750, 0x0030041a}}, Y: Field{[10]uint32{0x008e730c, 0x020ee01b, 0x01be2395, 0x00054b50, 0x025a5e61, 0x0065bc4c, 0x01fde10a, 0x01510567, 0x00c6dd6c, 0x000ed245}}}, + {X: Field{[10]uint32{0x02519d57, 0x005f3d98, 0x03ae75e3, 0x00b29c8f, 0x01a33dcb, 0x0084d84c, 0x015a12b9, 0x022db5be, 0x008ed28d, 0x00389561}}, Y: Field{[10]uint32{0x03cfb7b6, 0x0364990f, 0x02fe4d36, 0x03007841, 0x00377c9a, 0x02060ec9, 0x0207dcd1, 0x036b5e60, 0x01aa1757, 0x0018bdf5}}}, + {X: Field{[10]uint32{0x00236ed9, 0x0295b40b, 0x03c45bd1, 0x029ddbbf, 0x01a9669d, 0x00778c34, 0x0078dfbf, 0x00a648ea, 0x00e57323, 0x003cc506}}, Y: Field{[10]uint32{0x0256b84c, 0x008d2e2b, 0x01552af7, 0x03d87e22, 0x0316a1ef, 0x00c2d6bb, 0x0234c8a6, 0x03651957, 0x0084dce0, 0x00398aae}}}, + {X: Field{[10]uint32{0x01703181, 0x004b0aef, 0x03770615, 0x026ba319, 0x021f3f3c, 0x01f079aa, 0x01c290d4, 0x00c4eeb2, 0x0145b876, 0x00026b6e}}, Y: Field{[10]uint32{0x030908fd, 0x01d347a7, 0x00f8650f, 0x003b7c3c, 0x0251531d, 0x03777cac, 0x020b82be, 0x00985920, 0x0142b463, 0x002c87f0}}}, + {X: Field{[10]uint32{0x008da322, 0x01b0f160, 0x03f36172, 0x01182e0e, 0x03ca04b8, 0x00d6ce42, 0x01132e9b, 0x018e8615, 0x032b9d4a, 0x00311a0a}}, Y: Field{[10]uint32{0x035f6972, 0x02d740f4, 0x025a26ee, 0x016a0d73, 0x0014e907, 0x00f8dbc1, 0x02597622, 0x02e8c86d, 0x006a7100, 0x003c96a4}}}, + {X: Field{[10]uint32{0x0280d63a, 0x028419ba, 0x0003da99, 0x03ceb810, 0x02559159, 0x025f1d97, 0x027c4055, 0x02711e05, 0x016d60f4, 0x003aec3f}}, Y: Field{[10]uint32{0x02a0b0f7, 0x0321a39a, 0x00350afd, 0x019dc1bd, 0x00c4202f, 0x022d0c72, 0x022ffcf2, 0x03218876, 0x0160667a, 0x003acdf4}}}, + {X: Field{[10]uint32{0x01a5597a, 0x006f2f02, 0x0334e355, 0x026257d5, 0x0165ffb0, 0x03fd8dfc, 0x0267cbbb, 0x02f2d000, 0x012070d8, 0x001e3c4b}}, Y: Field{[10]uint32{0x03bb78f8, 0x005c240a, 0x037407de, 0x038ce65c, 0x037419a3, 0x021f6672, 0x03574d2c, 0x005d586e, 0x02b33662, 0x0010a5da}}}, + {X: Field{[10]uint32{0x01919f69, 0x022befa1, 0x01eee579, 0x02ef9d9e, 0x0235ae41, 0x02525886, 0x039fbc2b, 0x012d8e60, 0x004af621, 0x0000f7ff}}, Y: Field{[10]uint32{0x03f2c456, 0x03fab615, 0x020e9036, 0x03fa40a1, 0x02a13480, 0x02765d40, 0x01d15a42, 0x0086b88b, 0x036b1b40, 0x001605d2}}}, + {X: Field{[10]uint32{0x015a15cc, 0x0175d16d, 0x028bf55d, 0x0034c914, 0x00bd16bf, 0x036ddbae, 0x015198f4, 0x010b2884, 0x0393a4ed, 0x00104324}}, Y: Field{[10]uint32{0x02d58306, 0x03ea8297, 0x003d7059, 0x0069cc7f, 0x0283c298, 0x0328945d, 0x00c2cf9b, 0x02e26f05, 0x00b1df71, 0x001013fd}}}, + {X: Field{[10]uint32{0x024e3649, 0x01b1256f, 0x031966c1, 0x01a599e5, 0x00b93e65, 0x03f9a5df, 0x03366326, 0x02c1e4f7, 0x015687d6, 0x001ad354}}, Y: Field{[10]uint32{0x0169f4e3, 0x0304697a, 0x01c815d6, 0x002a5544, 0x001a2556, 0x036c5d83, 0x02a03152, 0x0081fd74, 0x0094bbac, 0x00191e92}}}, + {X: Field{[10]uint32{0x01f34247, 0x01c716e9, 0x01fd94a7, 0x0091af93, 0x016f0d87, 0x00017670, 0x03ccfd85, 0x01661bc2, 0x017ae87d, 0x00163feb}}, Y: Field{[10]uint32{0x00069817, 0x0173c03c, 0x02ce5e50, 0x01afb8da, 0x03b33fba, 0x03218a70, 0x00d6f93e, 0x0057ebd4, 0x02d8f9ab, 0x002b62de}}}, + {X: Field{[10]uint32{0x02a757fd, 0x003ab3e9, 0x02c72b31, 0x01a5ca24, 0x00adb956, 0x00fa20ed, 0x03277382, 0x03eb782b, 0x001d1835, 0x0039b4f9}}, Y: Field{[10]uint32{0x01359c15, 0x0283bc08, 0x02e61045, 0x02aed09e, 0x03d6395c, 0x036f6e3b, 0x0303e425, 0x03b39f3b, 0x008cb580, 0x00284db2}}}, + {X: Field{[10]uint32{0x01953b35, 0x02ba51c3, 0x032a5573, 0x010828b4, 0x023b561b, 0x006f0409, 0x01044792, 0x0280c2b0, 0x022b43aa, 0x003f11f1}}, Y: Field{[10]uint32{0x006224f0, 0x00c18009, 0x03b29502, 0x00982ce4, 0x01627236, 0x00287d44, 0x02b58104, 0x01e019cc, 0x011d65fc, 0x00174c63}}}, + {X: Field{[10]uint32{0x03db251b, 0x02b2df1b, 0x031ca36b, 0x028a4cf2, 0x02d0a1b8, 0x00d54e19, 0x0278da90, 0x00deec23, 0x0067cbcb, 0x0033ab8a}}, Y: Field{[10]uint32{0x02bb3dfd, 0x00b47742, 0x00c16d4c, 0x00a4e862, 0x03956cc6, 0x010dc9ed, 0x0017b373, 0x02aa55e5, 0x007ec163, 0x00122fcb}}}, + {X: Field{[10]uint32{0x03efeab0, 0x02090f86, 0x02d78daa, 0x01d3225c, 0x039195fb, 0x0145b621, 0x03408d82, 0x00d6d708, 0x0378c847, 0x002aec48}}, Y: Field{[10]uint32{0x0366698e, 0x01646ccf, 0x01a02abb, 0x00d99c10, 0x01ce901c, 0x032295b6, 0x010be913, 0x02919767, 0x024b0da5, 0x001682fd}}}, + {X: Field{[10]uint32{0x0159eeaf, 0x03a9c00c, 0x0024f274, 0x03a50e92, 0x021a576c, 0x038458c5, 0x005302b0, 0x031f2486, 0x02398330, 0x0035de07}}, Y: Field{[10]uint32{0x0106651a, 0x01192bc3, 0x03310fbb, 0x02665bdb, 0x01261aed, 0x006f8f5f, 0x027398dd, 0x03171cfb, 0x00324e07, 0x0018d069}}}, + {X: Field{[10]uint32{0x024c760c, 0x02dda11f, 0x01a6dbe5, 0x00cf7f50, 0x016f3ad1, 0x00a8877c, 0x0171646d, 0x008115cb, 0x01cd46ec, 0x0029a463}}, Y: Field{[10]uint32{0x0132fa9c, 0x015b9f42, 0x034e51f0, 0x03ecbd98, 0x001d6c7c, 0x01484e5f, 0x030e4b53, 0x01263669, 0x02ba378d, 0x00303946}}}, + {X: Field{[10]uint32{0x03d1a204, 0x001132a0, 0x027706ef, 0x03809234, 0x027785e2, 0x017f65c1, 0x02b340a6, 0x037980e4, 0x02e4fbb5, 0x00104e93}}, Y: Field{[10]uint32{0x023dd197, 0x03c5cbe2, 0x027c343a, 0x01d1476c, 0x016595a6, 0x006c23f4, 0x02bc668d, 0x023cd0ef, 0x0106c18a, 0x00280d89}}}, + {X: Field{[10]uint32{0x0204001c, 0x00560717, 0x011a8968, 0x01988dcc, 0x0287fd87, 0x03ef4449, 0x004aa082, 0x002483db, 0x0024de8b, 0x003869ef}}, Y: Field{[10]uint32{0x026bed16, 0x02ac4006, 0x0249b29b, 0x02c7bea3, 0x013a3d90, 0x00695719, 0x01aeea26, 0x021cf452, 0x01fdd0a2, 0x000f8eea}}}, + {X: Field{[10]uint32{0x01333a75, 0x0283f0f7, 0x0142d8a9, 0x026c5e56, 0x01ab1dde, 0x028cdf81, 0x02e077f8, 0x033312d6, 0x02a0a147, 0x003fe4a4}}, Y: Field{[10]uint32{0x0223a166, 0x03d6de1e, 0x007a43b6, 0x00ae0c17, 0x02b555ea, 0x016b577f, 0x014b4122, 0x00d18dd9, 0x027c5f7a, 0x003943c0}}}, + {X: Field{[10]uint32{0x00cb9c0c, 0x000e7513, 0x0140d900, 0x03186600, 0x03afe849, 0x001170b4, 0x007a36b0, 0x02774e77, 0x0223437c, 0x003ab959}}, Y: Field{[10]uint32{0x0132e043, 0x01a25d37, 0x037be39f, 0x0100dcb5, 0x0055e62e, 0x00bf9f9e, 0x02b5a9b2, 0x01d0db72, 0x01e99284, 0x003c6e32}}}, + {X: Field{[10]uint32{0x00bd5282, 0x000b2d55, 0x012273d0, 0x0012f322, 0x017f9c60, 0x01230e79, 0x02da0f30, 0x028f7f87, 0x00be3467, 0x001f7483}}, Y: Field{[10]uint32{0x001485d0, 0x01a9a25f, 0x014c64eb, 0x020a377f, 0x02ee9225, 0x005dca91, 0x034c3f83, 0x034b5533, 0x0323f035, 0x003b134b}}}, + {X: Field{[10]uint32{0x02a877eb, 0x00b68fc4, 0x03fc73a0, 0x03af6c36, 0x03e4e245, 0x00ef68f0, 0x03b88703, 0x004a4551, 0x01cc5acf, 0x000d6604}}, Y: Field{[10]uint32{0x0108a792, 0x02b3663a, 0x03a59bb6, 0x02f8ada0, 0x037702d1, 0x00470e89, 0x03f916f5, 0x028f781b, 0x00878b97, 0x003b4bd4}}}, + {X: Field{[10]uint32{0x01a71c24, 0x00440b92, 0x005a2c03, 0x03282f18, 0x035a6c76, 0x00689346, 0x02d57ea0, 0x0329393a, 0x009cf2bc, 0x003eccfa}}, Y: Field{[10]uint32{0x031c9f45, 0x00a1874b, 0x0180e019, 0x010309ba, 0x03d7fca9, 0x00aa49cb, 0x035b9584, 0x009c15ea, 0x02f5ca60, 0x0031d780}}}, + {X: Field{[10]uint32{0x01f687aa, 0x03aed5b9, 0x036069d1, 0x003bca4e, 0x01b7b297, 0x0016944a, 0x034f836b, 0x01d28054, 0x033e5eed, 0x00028734}}, Y: Field{[10]uint32{0x02c4a6b0, 0x01e34207, 0x01abcc99, 0x01ea25a8, 0x01bdefc3, 0x0390e03a, 0x02b60cc1, 0x030d14ec, 0x02b90ccf, 0x003e4346}}}, + {X: Field{[10]uint32{0x00213614, 0x014d4131, 0x00999b85, 0x027876cc, 0x025d9f16, 0x03b62b24, 0x03383cfc, 0x00edeafe, 0x02b90364, 0x001185a5}}, Y: Field{[10]uint32{0x0033bc72, 0x0035668c, 0x018d60de, 0x0339a566, 0x03ee91c4, 0x02bafff4, 0x0340a859, 0x003e8323, 0x00775f30, 0x0019d3d7}}}, + {X: Field{[10]uint32{0x014ab025, 0x00356f78, 0x01727f39, 0x03c89d1c, 0x021fd5cd, 0x00fdfa2a, 0x00885ae9, 0x027daf33, 0x02221b58, 0x001b1aaa}}, Y: Field{[10]uint32{0x02077538, 0x034b2eea, 0x0015c9f8, 0x005e2329, 0x02aeb844, 0x02d43e9d, 0x0164483f, 0x02e4346b, 0x020340e1, 0x0029df17}}}, + {X: Field{[10]uint32{0x0261c38b, 0x013f35d3, 0x00268387, 0x0069cab3, 0x01792eff, 0x039ca79b, 0x032c7ee6, 0x00cc4340, 0x0391927f, 0x00324634}}, Y: Field{[10]uint32{0x000dfb5b, 0x010f201e, 0x03965742, 0x01c9b89f, 0x00fce24a, 0x016db2d6, 0x021bed0e, 0x0123e3b6, 0x006c3460, 0x00163f5d}}}, + {X: Field{[10]uint32{0x01ea5918, 0x03b1625b, 0x022c2142, 0x03c0cfef, 0x019240c3, 0x004f1253, 0x02c26542, 0x028fd792, 0x02161ca0, 0x001219e7}}, Y: Field{[10]uint32{0x021d1a41, 0x0347c78f, 0x004a9a30, 0x039e73c8, 0x03b2a19f, 0x019e1038, 0x03a29667, 0x02bf8fa4, 0x03fe300c, 0x00155be4}}}, + {X: Field{[10]uint32{0x02e7b858, 0x01a28c31, 0x02584699, 0x0166b11a, 0x025e9456, 0x02ab0216, 0x02d6eede, 0x0191029c, 0x01a9e46b, 0x0031a301}}, Y: Field{[10]uint32{0x01de450d, 0x00991805, 0x032b61b1, 0x01a934af, 0x03c76874, 0x000da845, 0x03d64a1d, 0x03fe02f8, 0x01dc35d4, 0x002e2d2d}}}, + {X: Field{[10]uint32{0x01444e6a, 0x00e1d5e7, 0x02dc9f05, 0x038dbcc9, 0x0121e3df, 0x01b151a6, 0x0176dc4b, 0x01227e3e, 0x03106358, 0x00344cfb}}, Y: Field{[10]uint32{0x02f968cb, 0x00f140ae, 0x005becbf, 0x03af8cad, 0x02327ec3, 0x03f59a9b, 0x02b0f57a, 0x0034b09c, 0x03c4db69, 0x000b19aa}}}, + {X: Field{[10]uint32{0x01f976ae, 0x02b416cf, 0x0119392d, 0x01828807, 0x0261ca0a, 0x0229f8b6, 0x00766dc4, 0x0277aac4, 0x03598d75, 0x0014d513}}, Y: Field{[10]uint32{0x0069cd47, 0x010aff8a, 0x017e879a, 0x00454df8, 0x030993d7, 0x028666b5, 0x004e3f03, 0x01ebbc08, 0x005e61cb, 0x00112688}}}, + {X: Field{[10]uint32{0x03b8b331, 0x00d2b2e0, 0x00a622fe, 0x0177b8dd, 0x009254c6, 0x012dadf0, 0x02263851, 0x0144cce7, 0x00740fda, 0x000c4228}}, Y: Field{[10]uint32{0x028b6243, 0x00c04c89, 0x0115b5d9, 0x0347d678, 0x00d6fc05, 0x030bc891, 0x01a473da, 0x00ffaa2c, 0x010d5426, 0x0010bb72}}}, + {X: Field{[10]uint32{0x00b4b23c, 0x0336329f, 0x03962154, 0x0301ac8b, 0x012ee58a, 0x03ad5618, 0x0295099a, 0x00701367, 0x000d052c, 0x000599b1}}, Y: Field{[10]uint32{0x03a82fb9, 0x01112c64, 0x0284fb6c, 0x011f4807, 0x00abafc2, 0x001d4a55, 0x0355923e, 0x0198e2aa, 0x0341ae04, 0x0014196e}}}, + {X: Field{[10]uint32{0x0247722e, 0x01c915fb, 0x02ad53a5, 0x0242ef57, 0x02ed80fa, 0x01dacb60, 0x001290df, 0x039aa3c0, 0x03ebd3ee, 0x00325b41}}, Y: Field{[10]uint32{0x0220baf3, 0x0370b31f, 0x032c8d00, 0x0391e290, 0x0113ba06, 0x0262dd27, 0x0016af17, 0x02dfa68d, 0x0004447f, 0x0034f5a7}}}, + {X: Field{[10]uint32{0x0181b49d, 0x02136447, 0x03479fce, 0x02f5ecb0, 0x00647fa7, 0x0339d50b, 0x0369a9e8, 0x016c15e1, 0x0039b11b, 0x0002a7ff}}, Y: Field{[10]uint32{0x00bcbee7, 0x0348489a, 0x03747375, 0x0124e394, 0x0280a644, 0x016101c4, 0x00894dc2, 0x00a3dfa6, 0x024882e9, 0x002fb084}}}, + {X: Field{[10]uint32{0x03af0632, 0x0317eefd, 0x00f2737f, 0x01fc6980, 0x03e82578, 0x024c83f4, 0x015d3f52, 0x024e0239, 0x028ccd4c, 0x0014b284}}, Y: Field{[10]uint32{0x0135f7c4, 0x010b378c, 0x02ec370f, 0x024e0d9d, 0x0137ffa4, 0x03676fee, 0x02bab014, 0x0232ded3, 0x028095a9, 0x00211ba2}}}, + {X: Field{[10]uint32{0x01407c20, 0x03e8d3aa, 0x039ae8e0, 0x00948ca6, 0x00006985, 0x0127df25, 0x00abc41e, 0x02649dee, 0x02c177fd, 0x003fe4aa}}, Y: Field{[10]uint32{0x03fdcfb5, 0x01e7d163, 0x03331a33, 0x024d0a91, 0x03dafd9a, 0x01c8c0dc, 0x03bf2a9b, 0x0149cfae, 0x00dd5aaf, 0x002bc363}}}, + {X: Field{[10]uint32{0x03991e0c, 0x007406c9, 0x03f09a54, 0x02c75ca7, 0x025fb653, 0x005340be, 0x0163c973, 0x0028f0e0, 0x033ed3c1, 0x0029a4a9}}, Y: Field{[10]uint32{0x0068b905, 0x026f9a79, 0x03809cff, 0x0126694d, 0x02aa05c9, 0x02e09056, 0x0063d006, 0x034fa036, 0x015a3e5b, 0x0001c8bd}}}, + {X: Field{[10]uint32{0x0120aefd, 0x031ffb50, 0x024e2e2f, 0x0298c573, 0x006b813b, 0x03263520, 0x02fc4cd2, 0x026a4f8c, 0x003f7a62, 0x00367967}}, Y: Field{[10]uint32{0x030214bb, 0x023853eb, 0x00d30eb0, 0x00e44eaa, 0x013234be, 0x002691ff, 0x01bf6589, 0x00c4653d, 0x01942307, 0x00093389}}}, + {X: Field{[10]uint32{0x00a0f6ff, 0x02394d01, 0x0358714b, 0x0169816a, 0x034dde8d, 0x02af3c16, 0x0191ef79, 0x02c42592, 0x030f7771, 0x001d3949}}, Y: Field{[10]uint32{0x03b1670f, 0x02c1186c, 0x0088714b, 0x0199a455, 0x0371ced0, 0x00d5ac78, 0x03a285f1, 0x00fc25a1, 0x01a3a4a8, 0x000ab618}}}, + {X: Field{[10]uint32{0x01d4420c, 0x0007d64c, 0x03f587a2, 0x0292161f, 0x02744668, 0x0255f0e8, 0x02856157, 0x03df9d86, 0x02301c43, 0x002e45a4}}, Y: Field{[10]uint32{0x0019536f, 0x007dd396, 0x03e5bebe, 0x008fd6c8, 0x03659ea4, 0x01945696, 0x01818e0c, 0x020a0133, 0x025bc126, 0x002f4d81}}}, + {X: Field{[10]uint32{0x024d51ee, 0x00e7640d, 0x03cd8792, 0x0325654e, 0x02cd01fd, 0x0016dfec, 0x02d72115, 0x01a36a5c, 0x02538645, 0x000dfebc}}, Y: Field{[10]uint32{0x03c15f85, 0x0127ab4e, 0x02823657, 0x008dbdef, 0x01d8c125, 0x028ef258, 0x02ea7360, 0x02cf9f9a, 0x02ce749d, 0x002da6b8}}}, + {X: Field{[10]uint32{0x020cf8d2, 0x0021eee8, 0x0214b43b, 0x02630661, 0x011c379f, 0x00373419, 0x0082477f, 0x004e2cd2, 0x014c4a1c, 0x00386504}}, Y: Field{[10]uint32{0x0098a93b, 0x00dd62ba, 0x00d6789e, 0x034f5c75, 0x00889f2a, 0x01452a66, 0x0182cf06, 0x0388b8ec, 0x034bb90a, 0x001e8ebe}}}, + {X: Field{[10]uint32{0x0217ddaa, 0x0150de7e, 0x0333cca0, 0x03bc245c, 0x011c8b13, 0x02056234, 0x008e4b3c, 0x02d145ce, 0x03010d3f, 0x000b38b6}}, Y: Field{[10]uint32{0x027bbbc0, 0x00c35dcd, 0x00922e2c, 0x02ce0043, 0x0074285c, 0x0346955a, 0x021529ae, 0x01daa617, 0x029daf0e, 0x00248cb6}}}, + {X: Field{[10]uint32{0x016f051f, 0x0063e7cf, 0x01f49986, 0x01b9658d, 0x000bd66c, 0x03fa9da2, 0x00e2e821, 0x01c114f7, 0x00484bdb, 0x0030a4bb}}, Y: Field{[10]uint32{0x03b57d6d, 0x0067b225, 0x008872b1, 0x00d849bd, 0x0312b777, 0x03454c91, 0x00af49bf, 0x039a7134, 0x00f06b81, 0x0008429d}}}, + {X: Field{[10]uint32{0x01acfeee, 0x00c80da9, 0x002ad3e1, 0x020f5ded, 0x020933db, 0x0360eb4f, 0x03b423cc, 0x022bbda5, 0x01c09761, 0x00056f32}}, Y: Field{[10]uint32{0x008a7a33, 0x00ea01ae, 0x0211c1a8, 0x02a403a5, 0x01a1bb98, 0x01244b28, 0x033c4901, 0x025bf6fe, 0x02f11bb9, 0x003a7f1f}}}, + {X: Field{[10]uint32{0x021e7785, 0x0132c91b, 0x03113fd2, 0x031a6756, 0x00848639, 0x017cb4a6, 0x03e45fe5, 0x00ef5e5e, 0x00af50f1, 0x00118467}}, Y: Field{[10]uint32{0x0042ea3b, 0x009ea4c2, 0x01215b13, 0x00056bac, 0x00ba3015, 0x03be4cad, 0x022cf8f9, 0x01bae5dd, 0x0391f4c5, 0x001a880f}}}, + {X: Field{[10]uint32{0x02f9ecf4, 0x037e216d, 0x03a649d9, 0x025179ac, 0x01cf1410, 0x03687e7f, 0x0149a3d2, 0x03c60aa5, 0x03943e4d, 0x003ce85d}}, Y: Field{[10]uint32{0x02cf7e8f, 0x033b041b, 0x02115c80, 0x03ff20bb, 0x00444a1d, 0x0167e0ca, 0x02b66198, 0x02b4e7f0, 0x03cc5e82, 0x002cd3ad}}}, + {X: Field{[10]uint32{0x03913fe4, 0x001d71ad, 0x03d67536, 0x03e940a5, 0x01fa98bd, 0x016e6831, 0x01cbd45f, 0x03d1a36e, 0x027484a7, 0x0033be42}}, Y: Field{[10]uint32{0x02301815, 0x0290289a, 0x0173730f, 0x01579715, 0x01fb79a5, 0x00941e1d, 0x03029465, 0x03ef0a19, 0x02ad2a43, 0x0034243b}}}, + {X: Field{[10]uint32{0x035702ce, 0x031bb4a8, 0x00b06833, 0x02dae418, 0x0126c528, 0x02fe9598, 0x00b88b24, 0x02a4e3b1, 0x0214987a, 0x00087628}}, Y: Field{[10]uint32{0x004579e4, 0x019bc9b6, 0x03c8e94b, 0x03a69407, 0x00f736df, 0x00228a0c, 0x028167c0, 0x0288ef18, 0x000d5b65, 0x0030d50d}}}, + {X: Field{[10]uint32{0x021ca53e, 0x00e5460e, 0x0361d5d1, 0x03e91b81, 0x00e19196, 0x020b6f49, 0x0204f6cf, 0x02f9298a, 0x03279049, 0x001ac63f}}, Y: Field{[10]uint32{0x01ffa3b7, 0x033f6cb1, 0x038d86ca, 0x035c948b, 0x026343f0, 0x01a63e8c, 0x001e9b26, 0x004d9e3e, 0x030c52c0, 0x003be01b}}}, + {X: Field{[10]uint32{0x03466e6f, 0x02b8c772, 0x020ee850, 0x00db0206, 0x00bab07c, 0x028f99cf, 0x0332afbe, 0x03301354, 0x00f20452, 0x001f63bd}}, Y: Field{[10]uint32{0x00fa0c0d, 0x0298910b, 0x017bc137, 0x011fc644, 0x01d224da, 0x03c43db2, 0x03367d0d, 0x033bbc9c, 0x026755a2, 0x000c9185}}}, + {X: Field{[10]uint32{0x00d12cab, 0x012d2208, 0x01afd699, 0x0182c74c, 0x02034135, 0x016b1d28, 0x03b63276, 0x015927d6, 0x002155d1, 0x0031f786}}, Y: Field{[10]uint32{0x02eaa23a, 0x014b39e5, 0x02844482, 0x00d8475f, 0x007fbe01, 0x030c9036, 0x03b86595, 0x00b03f24, 0x0056c5fb, 0x00366596}}}, + {X: Field{[10]uint32{0x0381b294, 0x0224ef50, 0x005c600f, 0x0025ca65, 0x03eddeff, 0x017e93ac, 0x01eb6ee4, 0x00b0ec62, 0x033a915e, 0x00133b2c}}, Y: Field{[10]uint32{0x02a3aeb1, 0x02ef6387, 0x036ffd1b, 0x0384cc42, 0x033534d6, 0x02dc0335, 0x02250357, 0x0072e111, 0x0112b5e6, 0x0033c5fc}}}, + {X: Field{[10]uint32{0x02255749, 0x02a99619, 0x00c10204, 0x00aca172, 0x001c9bc7, 0x033c03f9, 0x003ab5d4, 0x0181aed3, 0x0064bfce, 0x00209b3d}}, Y: Field{[10]uint32{0x036849c4, 0x02388d5e, 0x011cbb87, 0x0192c600, 0x036d7ca5, 0x00542a8b, 0x016fabfb, 0x00a16d45, 0x0031527d, 0x001ae8ed}}}, + {X: Field{[10]uint32{0x008f8f62, 0x0061f9d9, 0x0028e0b2, 0x002360ba, 0x01de51d6, 0x035bf043, 0x012ba922, 0x03491546, 0x02c6f497, 0x003204b6}}, Y: Field{[10]uint32{0x008b317e, 0x01ad2aec, 0x028f61ba, 0x0361ddcf, 0x002be94d, 0x03ebd4ff, 0x026ee1ae, 0x001a0204, 0x00c77363, 0x000340ba}}}, + {X: Field{[10]uint32{0x00ff8851, 0x03574ff8, 0x00d1e3c6, 0x01adb8e3, 0x03aa4592, 0x027c53ae, 0x01eaa8bc, 0x01fd1f91, 0x010ebd96, 0x00149a55}}, Y: Field{[10]uint32{0x01a7455b, 0x021987e6, 0x0295a38b, 0x0340c21a, 0x01b45963, 0x0346cff4, 0x03422ffc, 0x03b3b510, 0x012026e3, 0x0028565f}}}, + {X: Field{[10]uint32{0x004d7676, 0x02bfb9fa, 0x01e9baf1, 0x01b55294, 0x00c7c2ae, 0x037102ea, 0x002721fc, 0x014b3ef1, 0x032980e6, 0x001ff3f2}}, Y: Field{[10]uint32{0x002cfcdd, 0x037afe22, 0x00ce9f95, 0x03d59aa7, 0x02a4d044, 0x0323c675, 0x02bcbaaa, 0x0238d3b1, 0x01904a40, 0x002afdcb}}}, + {X: Field{[10]uint32{0x00a9f451, 0x03712d99, 0x0057c079, 0x03ae2eaa, 0x033d5f25, 0x00ca9a81, 0x00e18a21, 0x03841212, 0x02a04597, 0x00217c06}}, Y: Field{[10]uint32{0x01f081af, 0x013b11f9, 0x0013204b, 0x03072d38, 0x025398ce, 0x016f3d15, 0x03b71ab3, 0x02061dee, 0x00eb8a05, 0x003dd18f}}}, + {X: Field{[10]uint32{0x02885628, 0x03e37fe4, 0x035fda01, 0x02f08900, 0x00dc1a5f, 0x003fafbb, 0x03fee1d1, 0x02183eb0, 0x021a7dcd, 0x000256d2}}, Y: Field{[10]uint32{0x02f7f772, 0x0101bb2f, 0x00d97f70, 0x03b48dce, 0x021f80bc, 0x0131bb8f, 0x029dfa69, 0x01119fbe, 0x039c5bd9, 0x000a8337}}}, + {X: Field{[10]uint32{0x036c51c5, 0x0243b35f, 0x009f049b, 0x02b3b11c, 0x008cd95c, 0x00ddd4f6, 0x014b38ce, 0x03742ec9, 0x00a624dd, 0x00013d89}}, Y: Field{[10]uint32{0x037a4fa5, 0x039612f1, 0x02bd070c, 0x03ac6e5d, 0x00668de4, 0x0333f515, 0x0220dcd8, 0x03b3640a, 0x028302ef, 0x0021d2a6}}}, + {X: Field{[10]uint32{0x0106b48d, 0x03759b5d, 0x00043437, 0x0215a635, 0x02a2914d, 0x0117a71b, 0x0040f585, 0x014def39, 0x0112e18b, 0x000e781a}}, Y: Field{[10]uint32{0x02f352e0, 0x01e859c1, 0x03ef18db, 0x01b51a56, 0x0200f06c, 0x004a2a84, 0x0080153c, 0x00c25aaf, 0x020a16e9, 0x003bfc83}}}, + {X: Field{[10]uint32{0x00f1ace9, 0x005ed19e, 0x013107a7, 0x02d97bee, 0x014c1d41, 0x032b6e5e, 0x03f4f590, 0x01e0c5d3, 0x013266d6, 0x0014bb70}}, Y: Field{[10]uint32{0x00d402d1, 0x01aef071, 0x0127c3af, 0x01563d1a, 0x03cb07cf, 0x01a135f4, 0x02c0bf49, 0x0078ff8c, 0x0202c678, 0x00395a78}}}, + {X: Field{[10]uint32{0x0328465f, 0x0290fcd0, 0x00d3a1df, 0x0235bcaa, 0x01e4e945, 0x02457f23, 0x0287f07c, 0x02041cf8, 0x0348964b, 0x0038dd92}}, Y: Field{[10]uint32{0x00fdb023, 0x01723cd3, 0x01b6c3ad, 0x02a94e9e, 0x005b7261, 0x03435d5d, 0x01b460f6, 0x0382e8d4, 0x024bfb13, 0x002f78a9}}}, + {X: Field{[10]uint32{0x00f513e6, 0x009fbfef, 0x00ebe756, 0x02b6710b, 0x03e1c81a, 0x03e05cca, 0x0038768e, 0x01a638fb, 0x01077c77, 0x00203bf9}}, Y: Field{[10]uint32{0x0388b709, 0x03c41280, 0x00bc3483, 0x005d6bb5, 0x02a9df2e, 0x014f4f67, 0x01e60599, 0x0247a5a5, 0x031bc543, 0x001a4319}}}, + {X: Field{[10]uint32{0x0108b641, 0x00fdc3f2, 0x02728517, 0x01fa4fe3, 0x0319b0bf, 0x01f348fb, 0x032bcac8, 0x03125e8b, 0x03d50ebc, 0x001212b1}}, Y: Field{[10]uint32{0x00ef371e, 0x013a97a4, 0x02eb61b4, 0x0254530a, 0x015bc8c9, 0x014fcc9c, 0x02b85516, 0x01c8da7c, 0x00e6f3b1, 0x0007655c}}}, + {X: Field{[10]uint32{0x03e3d124, 0x023ed7dd, 0x03f6536b, 0x0098e007, 0x02adf26c, 0x0105737e, 0x03ca53e4, 0x02f76137, 0x023fbf1f, 0x00272627}}, Y: Field{[10]uint32{0x00212a38, 0x02aac322, 0x02dd4c79, 0x010b5fc5, 0x002993c4, 0x023fb8eb, 0x00b3b802, 0x0058ee59, 0x021f5755, 0x0028d2b9}}}, + {X: Field{[10]uint32{0x01a5066b, 0x02315f5d, 0x018e0930, 0x034a5ec3, 0x0032846d, 0x0278dfe0, 0x016570f1, 0x03f9fd91, 0x030f601a, 0x00022e3e}}, Y: Field{[10]uint32{0x0048c9e7, 0x02ca783a, 0x03b3c240, 0x01c89bc0, 0x01d6166c, 0x003f59e8, 0x0232f100, 0x039b26cb, 0x02feffc4, 0x0001e162}}}, + {X: Field{[10]uint32{0x02e78177, 0x0367581f, 0x000ef451, 0x00e88470, 0x03bce095, 0x00297601, 0x01baa79e, 0x035e6a60, 0x02740ee1, 0x0038df43}}, Y: Field{[10]uint32{0x009f8f9c, 0x008fafec, 0x02e6f4bd, 0x024eaad3, 0x01a07d05, 0x03f9661d, 0x01b5625b, 0x0097d37c, 0x028502ad, 0x0034a284}}}, + {X: Field{[10]uint32{0x0325c147, 0x02a79c04, 0x00e194b2, 0x03555334, 0x03281052, 0x01d95ec7, 0x0258e754, 0x00da0eb5, 0x037e9a00, 0x00203215}}, Y: Field{[10]uint32{0x024d945c, 0x018d1bd5, 0x03fe432a, 0x0266f3ee, 0x03fe2baf, 0x01ca5cd1, 0x03ba8a0d, 0x028babb1, 0x00cd7ca3, 0x0002cff4}}}, + {X: Field{[10]uint32{0x02a8c6a1, 0x02ce0ccf, 0x0349adde, 0x0234b414, 0x0150f6ba, 0x01eb806a, 0x02f79026, 0x0087954d, 0x016d0341, 0x0039c117}}, Y: Field{[10]uint32{0x02181fba, 0x0222ae22, 0x019e4e7d, 0x00bfa5d5, 0x0060b37c, 0x00a97749, 0x01571d9c, 0x02537f85, 0x00db3269, 0x001cc1aa}}}, + {X: Field{[10]uint32{0x012e0d71, 0x025e3219, 0x029804f2, 0x03df2cd1, 0x02d87554, 0x0300e226, 0x03af0b13, 0x011fedac, 0x024b850a, 0x001574b6}}, Y: Field{[10]uint32{0x03e16e7c, 0x01879e77, 0x02780723, 0x01b57311, 0x010189a5, 0x008bbb97, 0x020b7b4f, 0x0343db34, 0x0182c861, 0x001ab03e}}}, + {X: Field{[10]uint32{0x01a38d2f, 0x00736c2c, 0x019f55bd, 0x00710100, 0x03a1e86d, 0x00540300, 0x03a5ff21, 0x00bdff20, 0x020955a2, 0x0033958b}}, Y: Field{[10]uint32{0x021bb865, 0x01b65ad4, 0x02d314bd, 0x00c9bc73, 0x02474070, 0x03717e0b, 0x030a165e, 0x0311ef1a, 0x004db4aa, 0x00247780}}}, + {X: Field{[10]uint32{0x0054773b, 0x0164b8de, 0x036fecc7, 0x02e1ae4e, 0x0100cd0e, 0x00c41fc7, 0x011bd645, 0x02bc15fe, 0x021f0596, 0x001d3803}}, Y: Field{[10]uint32{0x00e1d217, 0x03edd276, 0x01374e13, 0x005445e4, 0x016fa9f0, 0x0042851b, 0x0311867b, 0x00a94fac, 0x00a338e5, 0x000472a2}}}, + {X: Field{[10]uint32{0x0104eb48, 0x0267e788, 0x00530a2e, 0x00e6561a, 0x0368214d, 0x0324bb65, 0x003e400a, 0x03db2476, 0x036bc194, 0x002ba3c2}}, Y: Field{[10]uint32{0x03ce4cf2, 0x0173bb35, 0x02362c85, 0x01cc5191, 0x00d4aa8f, 0x02d5f2fe, 0x0127de9e, 0x02a4c0d8, 0x00420dc0, 0x003a5cff}}}, + {X: Field{[10]uint32{0x03891ae7, 0x00bf737b, 0x03674158, 0x0089bdda, 0x037854e7, 0x0197ccf4, 0x008e0c05, 0x00d9d784, 0x006c8df8, 0x00102a30}}, Y: Field{[10]uint32{0x007bf7ed, 0x00155762, 0x0224ea10, 0x00260ebd, 0x01b8ff9c, 0x003eaafb, 0x029e0b04, 0x01abf4f4, 0x0050b511, 0x0005ae9e}}}, + {X: Field{[10]uint32{0x01f83b33, 0x037c6f1b, 0x00e487f6, 0x02c13490, 0x03926795, 0x0187c7ff, 0x02b410f8, 0x03dbea8a, 0x02545c57, 0x00187aa7}}, Y: Field{[10]uint32{0x0279ed15, 0x01c56076, 0x0003c490, 0x019ce2a3, 0x02b9063e, 0x03514a7c, 0x021791f7, 0x005f0dcb, 0x012ae0b2, 0x0031a7b0}}}, + {X: Field{[10]uint32{0x01d37632, 0x0032d7b0, 0x031cc30a, 0x03b09920, 0x03d73e25, 0x00517f05, 0x01f55f72, 0x02aa93f3, 0x00d4440c, 0x00072227}}, Y: Field{[10]uint32{0x02d72fdf, 0x016f2508, 0x00166ee5, 0x02184558, 0x00574f5b, 0x036d792c, 0x014a2237, 0x0299f1cc, 0x0246131f, 0x000106d4}}}, + {X: Field{[10]uint32{0x0249525d, 0x0059a863, 0x02abb4ab, 0x001894e4, 0x01c58e0d, 0x02d42fe9, 0x02a99d3a, 0x021f9e60, 0x0090791d, 0x003fca56}}, Y: Field{[10]uint32{0x01454570, 0x02680686, 0x00a58e61, 0x027fbef9, 0x02c37087, 0x02201bef, 0x0249baf8, 0x004d9065, 0x00de1995, 0x00282599}}}, + {X: Field{[10]uint32{0x00e95f99, 0x02a1d9e1, 0x037857bc, 0x02bb66f7, 0x0174e399, 0x023e2433, 0x00939e5b, 0x007f401f, 0x02bfcfca, 0x0017acba}}, Y: Field{[10]uint32{0x032c9871, 0x03ee3efd, 0x00f63031, 0x0097f844, 0x0001f46f, 0x00589976, 0x01aff120, 0x01e0f080, 0x01701c9a, 0x001310ba}}}, + {X: Field{[10]uint32{0x02cbaf91, 0x01edad3d, 0x0361fcfc, 0x0136054f, 0x033b17bf, 0x0281c706, 0x03f8ce17, 0x0324ed6c, 0x008cdbcc, 0x0010f954}}, Y: Field{[10]uint32{0x03dfdcfc, 0x001cd0e6, 0x0063815a, 0x01cf6c90, 0x03c853bb, 0x002694c1, 0x01ec388d, 0x029c7942, 0x0378438b, 0x002d7b63}}}, + {X: Field{[10]uint32{0x01b56f53, 0x0303dd7f, 0x02c995b0, 0x021dfdb8, 0x00eb513f, 0x02bf94cf, 0x0207261c, 0x00837f21, 0x013023cb, 0x003d745a}}, Y: Field{[10]uint32{0x026ece68, 0x03837084, 0x008f492c, 0x0101bacb, 0x002557dd, 0x00f8a597, 0x03c4bf87, 0x020ccbdf, 0x01680152, 0x00394e6c}}}, + {X: Field{[10]uint32{0x00aba2a1, 0x038303de, 0x01eb6c7f, 0x01bee944, 0x0372313c, 0x0198a8ba, 0x0180a62d, 0x02a46118, 0x02d15dc5, 0x0036e759}}, Y: Field{[10]uint32{0x01517227, 0x02883ca8, 0x030b1f89, 0x02d6070f, 0x003cfb46, 0x0095e15f, 0x02762d92, 0x03716a78, 0x00a361f0, 0x00325b7a}}}, + {X: Field{[10]uint32{0x028ecdf2, 0x02992e21, 0x01ab6833, 0x00209ee6, 0x0356ffce, 0x02fd44ce, 0x0165bfe7, 0x018ef13d, 0x03d846fd, 0x0039d834}}, Y: Field{[10]uint32{0x02f102ce, 0x00397504, 0x003810e6, 0x0048a172, 0x012c1c1e, 0x01018b80, 0x021cc825, 0x00bad060, 0x028508be, 0x00183b99}}}, + {X: Field{[10]uint32{0x0033e026, 0x0075e417, 0x00d99135, 0x02c0c769, 0x00e3a956, 0x00b8dc01, 0x02533e71, 0x029eaf48, 0x02990cac, 0x000af6c8}}, Y: Field{[10]uint32{0x02e44731, 0x011c4fed, 0x03f82a78, 0x0218932e, 0x03801932, 0x009f4039, 0x003e877e, 0x0204176b, 0x00dfc273, 0x001919d7}}}, + {X: Field{[10]uint32{0x0166bee4, 0x021ee6a0, 0x03bbfc3c, 0x00838006, 0x007be48d, 0x03f5b211, 0x00137739, 0x0084d2de, 0x03fd0599, 0x00073382}}, Y: Field{[10]uint32{0x02d37057, 0x0222ef72, 0x034cc427, 0x00fb059b, 0x02b5eeb7, 0x03367a0f, 0x021253c4, 0x03f8c30e, 0x02e51ed7, 0x000b52a3}}}, + {X: Field{[10]uint32{0x03641075, 0x03e2695d, 0x035bd6eb, 0x0316ed95, 0x01ec8405, 0x031ae319, 0x01b5bd8e, 0x02b9effd, 0x03c37f5d, 0x001b5af8}}, Y: Field{[10]uint32{0x009c2c7f, 0x011b33eb, 0x01b80392, 0x0234d456, 0x0324d193, 0x0313abd2, 0x011507f7, 0x034ef180, 0x001f5c6f, 0x0013f4f3}}}, + {X: Field{[10]uint32{0x01b22351, 0x001f62ef, 0x0036cc60, 0x00bc50fa, 0x01b3c67f, 0x01d63e87, 0x03fb1ca8, 0x01e075e0, 0x0180d96e, 0x000360b0}}, Y: Field{[10]uint32{0x02d0c7d9, 0x01ee389e, 0x031e151a, 0x03d9e592, 0x0037415a, 0x01290c86, 0x033e9a97, 0x02b6a24e, 0x0269952a, 0x000e00bd}}}, + {X: Field{[10]uint32{0x01b3cd71, 0x0233860f, 0x02343b22, 0x03ba31cf, 0x00fbf9fc, 0x0151bc6e, 0x01dfed1b, 0x03f4d3e4, 0x02dd7e03, 0x0013b187}}, Y: Field{[10]uint32{0x003ba9a9, 0x021215ac, 0x01cffb19, 0x023eaa50, 0x02db7d94, 0x03a7b0f1, 0x0390340d, 0x038bb22b, 0x0309b5b2, 0x00384665}}}, + {X: Field{[10]uint32{0x017a034b, 0x01e07a78, 0x01643add, 0x023e39cd, 0x02a8df7a, 0x03ab44fb, 0x00744d7b, 0x02846e95, 0x006973ae, 0x000c6ab5}}, Y: Field{[10]uint32{0x00b37adb, 0x02d9d3e1, 0x02913f13, 0x03e39838, 0x02a94680, 0x033b5d21, 0x028bdf57, 0x03d818fd, 0x03413e49, 0x001919db}}}, + {X: Field{[10]uint32{0x01173e02, 0x00739353, 0x0131a5eb, 0x02f65f8a, 0x0201f946, 0x01627a98, 0x0115903b, 0x036e3bd9, 0x01892fcc, 0x002a6108}}, Y: Field{[10]uint32{0x01a3908b, 0x01222922, 0x02049abe, 0x01b42959, 0x0307ea26, 0x0335becd, 0x0370e133, 0x035e8e8c, 0x02ac3b2d, 0x00142f9d}}}, + {X: Field{[10]uint32{0x03bef099, 0x0383b3ad, 0x015e3f8f, 0x0022941a, 0x02fee79b, 0x01dd5033, 0x02cfa092, 0x0010cde9, 0x00f33ec0, 0x00208ad5}}, Y: Field{[10]uint32{0x036bf7f6, 0x01121448, 0x007128d0, 0x00dbf6a3, 0x007405d3, 0x022016fc, 0x003ddced, 0x03d811cd, 0x03c620d3, 0x000e4d88}}}, + {X: Field{[10]uint32{0x01065e0b, 0x037c9705, 0x02a3d33a, 0x0043a677, 0x0215793d, 0x02ff175f, 0x038de14e, 0x01c00317, 0x0355fe3d, 0x000403da}}, Y: Field{[10]uint32{0x02ecb4c2, 0x0335d293, 0x00e519b2, 0x034373b2, 0x00a352ff, 0x035b0445, 0x01282676, 0x037789f2, 0x00f758c4, 0x00346ed1}}}, + {X: Field{[10]uint32{0x02142f7f, 0x03a20db5, 0x031bb2d4, 0x01f16b6d, 0x006a5425, 0x00657425, 0x01aa6ecd, 0x03089d20, 0x03186a09, 0x00329760}}, Y: Field{[10]uint32{0x0277b42d, 0x013d3649, 0x0133de01, 0x00c7f1ce, 0x03878d8d, 0x012b815f, 0x03a0c388, 0x01e82bce, 0x007fb974, 0x00362421}}}, + {X: Field{[10]uint32{0x00bfbf14, 0x03684b89, 0x016cafa5, 0x00fc406d, 0x00e8ffe5, 0x0263fd84, 0x031a352f, 0x034838a4, 0x01f42234, 0x003a4709}}, Y: Field{[10]uint32{0x024dbb86, 0x02d288a5, 0x02b41872, 0x03d450f3, 0x037a26bc, 0x0183a669, 0x01740f6d, 0x0314af1c, 0x01e5441e, 0x002c7b05}}}, + {X: Field{[10]uint32{0x02e34445, 0x02750b06, 0x0306509e, 0x011cb33d, 0x03acb545, 0x00ba66b9, 0x029b2902, 0x000b6215, 0x00dc3109, 0x0015ea32}}, Y: Field{[10]uint32{0x00ab1fb7, 0x0185878c, 0x00accb9c, 0x00fee308, 0x0250e7cc, 0x01219abb, 0x0292db56, 0x038277d3, 0x01410442, 0x00214891}}}, + {X: Field{[10]uint32{0x0104500f, 0x00116c1c, 0x007d9581, 0x00769bfa, 0x0355a853, 0x02300adb, 0x01d0d412, 0x0345b6eb, 0x00672502, 0x0008cae3}}, Y: Field{[10]uint32{0x01f93fb9, 0x02903d61, 0x00f399a7, 0x03679863, 0x034f5255, 0x0152524b, 0x03c476f6, 0x02161c89, 0x020e9e7d, 0x000e0442}}}, + {X: Field{[10]uint32{0x03004fec, 0x0189ff9d, 0x00876187, 0x031c38f7, 0x020750d5, 0x0067df9e, 0x01d48763, 0x01a6cd3d, 0x028ad71f, 0x001f42f9}}, Y: Field{[10]uint32{0x01124633, 0x027bf351, 0x01e67ca0, 0x0060b291, 0x02a12b1d, 0x0296e5c7, 0x02f54028, 0x03cf9875, 0x00507d0a, 0x000f9ca8}}}, + {X: Field{[10]uint32{0x02f93292, 0x01e8b49e, 0x00d836ba, 0x0312691b, 0x01b70b02, 0x00310d21, 0x01fa4369, 0x0289c725, 0x030b77c2, 0x00137617}}, Y: Field{[10]uint32{0x0011d597, 0x038efd47, 0x0178e8c9, 0x01348206, 0x00f139e6, 0x036b69e8, 0x02b6ff85, 0x01366122, 0x02e5c955, 0x00210d90}}}, + {X: Field{[10]uint32{0x012e52f8, 0x01938bdc, 0x032149e2, 0x0307add9, 0x023eb2e5, 0x012ea69e, 0x03531a17, 0x008011c2, 0x03f588f0, 0x0014dea4}}, Y: Field{[10]uint32{0x000e161f, 0x00e6d84d, 0x03ebb3f8, 0x03e5e095, 0x0394efa1, 0x006256bc, 0x0225f067, 0x02499823, 0x03a0dc00, 0x002c366c}}}, + {X: Field{[10]uint32{0x02e48684, 0x00accc67, 0x00ae8b97, 0x02420962, 0x01ab3465, 0x03e0aff4, 0x00e60a46, 0x00795e63, 0x0071325b, 0x0004febd}}, Y: Field{[10]uint32{0x0234f743, 0x0086b79d, 0x00bfa49a, 0x0062116e, 0x02dce7ba, 0x026c8806, 0x02f25857, 0x02d4a788, 0x0384e84e, 0x00299c80}}}, + {X: Field{[10]uint32{0x03e8acb8, 0x03910173, 0x0206be1b, 0x02088b67, 0x03ca17c4, 0x00277b79, 0x015dbea8, 0x02cd1380, 0x00ed5861, 0x001a4789}}, Y: Field{[10]uint32{0x01c529ab, 0x026ddae4, 0x03f966f4, 0x0250f43c, 0x035ad002, 0x036718d1, 0x0120d909, 0x01ec3f31, 0x02dc0c19, 0x0038d592}}}, + {X: Field{[10]uint32{0x013d7ea2, 0x0305771f, 0x0373f423, 0x03e2411f, 0x03b754b3, 0x02ccd248, 0x02a394ff, 0x02a14056, 0x0391aaae, 0x000d950e}}, Y: Field{[10]uint32{0x03be5799, 0x0228bc6e, 0x02fd52d6, 0x03f9687e, 0x039dff44, 0x00860252, 0x008c8389, 0x02003a39, 0x0293b79b, 0x0001ced1}}}, + {X: Field{[10]uint32{0x0033f05b, 0x0082c1e1, 0x008a224f, 0x02c3f8ef, 0x000e007b, 0x00c83aa0, 0x00450455, 0x02032c78, 0x03e03941, 0x003fc96a}}, Y: Field{[10]uint32{0x030b7e51, 0x00d8c794, 0x026c2f90, 0x038022bb, 0x02938f69, 0x03676d04, 0x01bd678a, 0x0399439b, 0x010926df, 0x002944ac}}}, + {X: Field{[10]uint32{0x0187e443, 0x00e2685f, 0x0322272d, 0x0305c314, 0x00cc607b, 0x034091eb, 0x0051f57c, 0x03f6bd44, 0x007b5faa, 0x000077b0}}, Y: Field{[10]uint32{0x03a9a325, 0x014252e7, 0x038d3bb3, 0x019f4384, 0x00d870ce, 0x016636b5, 0x02207a92, 0x00af0168, 0x0137382b, 0x001f9dfa}}}, + {X: Field{[10]uint32{0x03413c32, 0x030a6527, 0x02236029, 0x0237f18d, 0x01485ab7, 0x00538246, 0x020147ed, 0x0218cba8, 0x0376f62f, 0x000bc43d}}, Y: Field{[10]uint32{0x00d2184a, 0x009a7b1a, 0x02f5ad25, 0x01a0cf9f, 0x0235c236, 0x02a9ac7d, 0x01d8c8b5, 0x0118b82e, 0x03c6e760, 0x000ecb17}}}, + {X: Field{[10]uint32{0x02bd73ca, 0x018008b6, 0x00188311, 0x010f3060, 0x02ade319, 0x02f2bed2, 0x03096814, 0x00b36eb3, 0x0394e61c, 0x001e5d3c}}, Y: Field{[10]uint32{0x01e98309, 0x020d8022, 0x0005673c, 0x03a0c439, 0x012be4cd, 0x004ee914, 0x01f854e8, 0x02a99a1f, 0x01a03bc1, 0x00386cd3}}}, + {X: Field{[10]uint32{0x0301c332, 0x01d233c5, 0x01b14436, 0x03780e94, 0x0132af1e, 0x012a8da5, 0x01774698, 0x03105959, 0x03393c5c, 0x00015317}}, Y: Field{[10]uint32{0x01043e4e, 0x0306da81, 0x020cd800, 0x02b3bde2, 0x02ddbde8, 0x03baadae, 0x030626a0, 0x0273148a, 0x03494976, 0x000f719e}}}, + {X: Field{[10]uint32{0x025f3783, 0x03068ed0, 0x0115d081, 0x00179556, 0x028092e9, 0x0061616b, 0x00a972a3, 0x031fac76, 0x0296f047, 0x000666a8}}, Y: Field{[10]uint32{0x0346c262, 0x03a3f1fa, 0x002e2b87, 0x038433b8, 0x02585154, 0x03f4e899, 0x00a7946d, 0x01ea5ad3, 0x027964d1, 0x003d608d}}}, + {X: Field{[10]uint32{0x03b7f299, 0x03c222a6, 0x03e879a7, 0x02f9e5da, 0x03cbcdf0, 0x007f1639, 0x0292a3ba, 0x01b7e9b0, 0x01d6fb61, 0x0034574e}}, Y: Field{[10]uint32{0x03d7a900, 0x016e980a, 0x01061f70, 0x00602d5f, 0x01679dd4, 0x010eff1e, 0x03d4912f, 0x03e0def6, 0x017c4e37, 0x001322ba}}}, + {X: Field{[10]uint32{0x024ef58b, 0x019a0fcd, 0x02df5a6f, 0x032a696b, 0x01bff26e, 0x0012e0af, 0x02332c6a, 0x01f7f206, 0x0134880e, 0x001db594}}, Y: Field{[10]uint32{0x001507e7, 0x01101ad0, 0x0246a646, 0x02f16fc4, 0x027b4aa5, 0x025d6e68, 0x02c90486, 0x00b60e87, 0x0308bbd2, 0x002dc6b9}}}, + {X: Field{[10]uint32{0x00ae51b7, 0x002050f7, 0x02a02a03, 0x03865301, 0x03452ef0, 0x024bfea6, 0x02e9ead7, 0x03f8d8c2, 0x02a5d4df, 0x0007ad34}}, Y: Field{[10]uint32{0x03f47b0b, 0x01736f5b, 0x0144c9a5, 0x019d626c, 0x027cc94b, 0x0232cfb6, 0x0286af45, 0x0239e668, 0x00c1e6ab, 0x0022365e}}}, + {X: Field{[10]uint32{0x01df571d, 0x004bc337, 0x0162f955, 0x0349144d, 0x01e474bd, 0x01c4188f, 0x01c34516, 0x021e40d8, 0x02513570, 0x0037b80c}}, Y: Field{[10]uint32{0x0290f565, 0x03121e85, 0x027c307f, 0x008ec819, 0x00496d96, 0x00463ffb, 0x028a28dc, 0x036024b1, 0x00fdcbf6, 0x00348b6f}}}, + {X: Field{[10]uint32{0x02d4760a, 0x008d5b95, 0x005aeef0, 0x0277cd8e, 0x01bf1dbd, 0x03c4fd42, 0x028f0d55, 0x031af7fd, 0x032dc98a, 0x000bac09}}, Y: Field{[10]uint32{0x02a04277, 0x03280ac9, 0x03746111, 0x0111c847, 0x035c69ad, 0x0015cda1, 0x02a18329, 0x013ae89e, 0x03554aaf, 0x003e0350}}}, + {X: Field{[10]uint32{0x030eabf3, 0x02c0c86a, 0x036b5c39, 0x03a809d8, 0x02b75853, 0x01de2208, 0x036ff7fc, 0x019cb63f, 0x02697509, 0x003abd8b}}, Y: Field{[10]uint32{0x020a3b7c, 0x03f7b6cb, 0x000956ef, 0x0180d41c, 0x008614e1, 0x001ccfc7, 0x0388b969, 0x0388b5c6, 0x02aa1c8f, 0x00110b95}}}, + {X: Field{[10]uint32{0x00592858, 0x03dcab81, 0x01d3b15e, 0x0216e1e6, 0x03cbc701, 0x00dbbd18, 0x01c442c2, 0x01bf65af, 0x030a13d9, 0x00081641}}, Y: Field{[10]uint32{0x00961ec8, 0x028d2f45, 0x014a280d, 0x03fa406e, 0x00f426fb, 0x01ab95b6, 0x0221d7f4, 0x026ba3d8, 0x02e83f25, 0x002f2410}}}, + {X: Field{[10]uint32{0x012f52fe, 0x009749eb, 0x0062a0f9, 0x01108231, 0x014b8b4a, 0x0113b0a0, 0x03b4ceea, 0x00f9f9bd, 0x03fd9e7f, 0x003fcbbd}}, Y: Field{[10]uint32{0x030a5e24, 0x03393cf7, 0x03e3b233, 0x011dada7, 0x030956a4, 0x019fd44d, 0x016cb52a, 0x01cad205, 0x00fbfa6f, 0x001ab39d}}}, + {X: Field{[10]uint32{0x01d14d83, 0x01fe7602, 0x03bf620f, 0x039937c5, 0x01d8fd0d, 0x00d5ffc7, 0x037a7b04, 0x014fef4c, 0x02f6fc45, 0x0038f973}}, Y: Field{[10]uint32{0x038f0460, 0x013d1348, 0x033651b8, 0x03fa2811, 0x03e667b6, 0x01a691d7, 0x011863f7, 0x02d83f43, 0x01a1baa7, 0x002b377f}}}, + {X: Field{[10]uint32{0x0357a6c3, 0x0046736f, 0x0054ec11, 0x01def78f, 0x01a0c645, 0x019ae708, 0x0142341a, 0x00a203a6, 0x026a41c0, 0x0025ea1c}}, Y: Field{[10]uint32{0x0367b4e8, 0x0330e362, 0x01164681, 0x03fcd167, 0x01fe160a, 0x01b61178, 0x00cc5c72, 0x00f41c1e, 0x00ae2702, 0x002d7cdf}}}, + {X: Field{[10]uint32{0x01cc81e6, 0x00811427, 0x001c41b0, 0x000875de, 0x0012fd90, 0x0067ab6d, 0x039484a1, 0x03e50e18, 0x02e94862, 0x002ac079}}, Y: Field{[10]uint32{0x0083b14b, 0x007b815d, 0x000436b1, 0x03d0568c, 0x0148853c, 0x00bb5e79, 0x01fab050, 0x0170e814, 0x0032101b, 0x001ab943}}}, + {X: Field{[10]uint32{0x0273668f, 0x03a857dd, 0x02b0d5a2, 0x01302a30, 0x0258ed9a, 0x023611e7, 0x026ba5ac, 0x033dac0b, 0x0010da2d, 0x00031191}}, Y: Field{[10]uint32{0x03499945, 0x02f0e182, 0x01361adb, 0x01114827, 0x03eadee9, 0x034f3916, 0x017f333c, 0x00b1f796, 0x01906239, 0x000da631}}}, + {X: Field{[10]uint32{0x03867534, 0x00263d05, 0x03d8648f, 0x00909bb6, 0x01ee49d5, 0x01b041e5, 0x013b0e67, 0x007cf880, 0x00685f72, 0x0005fab3}}, Y: Field{[10]uint32{0x009ef300, 0x018fb386, 0x0201bd6b, 0x015ba652, 0x03fec0f8, 0x00eaddbe, 0x037214bb, 0x027d26ef, 0x02e90cb1, 0x00330c45}}}, + {X: Field{[10]uint32{0x00c00d73, 0x00537ab5, 0x0208f2b1, 0x02f35f4d, 0x013ed2e8, 0x02fbf54f, 0x01b77bd5, 0x03bc5d4e, 0x01402908, 0x00301037}}, Y: Field{[10]uint32{0x01279c00, 0x020d6d05, 0x013d7427, 0x032db383, 0x02b2053e, 0x01444f73, 0x01403d84, 0x00960134, 0x00ae55ec, 0x001e98e1}}}, + {X: Field{[10]uint32{0x02bddb42, 0x000f8e4b, 0x01b9341b, 0x028aea4b, 0x0041bf2b, 0x019668a4, 0x0025fed6, 0x03dc30bb, 0x00983658, 0x0029658d}}, Y: Field{[10]uint32{0x039f4872, 0x002b7935, 0x01600a95, 0x034a08d6, 0x011ce7c2, 0x01a55e17, 0x00e8bf41, 0x03129c2a, 0x00af260e, 0x00370453}}}, + {X: Field{[10]uint32{0x0329aa0d, 0x01f3a846, 0x02279989, 0x01c8ce77, 0x03663823, 0x00ce0db1, 0x0233d095, 0x03d8ff1f, 0x02d451dc, 0x00113f88}}, Y: Field{[10]uint32{0x004279b3, 0x015df313, 0x01a9e53b, 0x003eba01, 0x014f3bf8, 0x00925bde, 0x01e9ffae, 0x0350d24a, 0x00e73d4b, 0x0005c631}}}, + {X: Field{[10]uint32{0x0071647b, 0x019a844b, 0x0091cff4, 0x03cfb57b, 0x004fc6b5, 0x00912ff6, 0x03b246de, 0x03057be8, 0x00aa1358, 0x0022f5c6}}, Y: Field{[10]uint32{0x03d737fa, 0x01b7fa12, 0x02fa5f40, 0x032110ec, 0x0365a0a3, 0x010009e4, 0x03deb8de, 0x0047c06d, 0x0288ba6c, 0x0005cbc6}}}, + {X: Field{[10]uint32{0x038680d1, 0x03e3385c, 0x03cfcd9f, 0x0355773c, 0x01d7ad4c, 0x03fce9e9, 0x01aa53c3, 0x02a88e02, 0x0025bbe6, 0x0023af73}}, Y: Field{[10]uint32{0x01e5641a, 0x02621d51, 0x01872cd7, 0x0199e2b1, 0x005be647, 0x0221b60f, 0x003728cf, 0x02b7e803, 0x0326af86, 0x0017158e}}}, + {X: Field{[10]uint32{0x011713d2, 0x0319f83a, 0x02f4e9db, 0x034bfadc, 0x02b469e5, 0x03a25b3e, 0x0342fb8b, 0x02aaf265, 0x021f688f, 0x00173d53}}, Y: Field{[10]uint32{0x00fd09c5, 0x011e1af9, 0x00b18569, 0x02a218c9, 0x034920e8, 0x0240556c, 0x006393e1, 0x00c360be, 0x0190d063, 0x00360b59}}}, + {X: Field{[10]uint32{0x01845f1a, 0x03061ea1, 0x02f8cdb4, 0x03053228, 0x01387185, 0x00115c7b, 0x0016ff4e, 0x02869cbb, 0x02e43f01, 0x001b0365}}, Y: Field{[10]uint32{0x00798c08, 0x02a5a9ac, 0x01dd6e55, 0x00e8c45f, 0x00abcf01, 0x026edbdc, 0x0015c1bb, 0x030bb3cd, 0x014b763e, 0x003ce668}}}, + {X: Field{[10]uint32{0x02b74046, 0x00cb70e4, 0x02ad690d, 0x002fa9c5, 0x039a15ef, 0x01c9a84c, 0x01f15155, 0x00bf7341, 0x00fefb6a, 0x003aba4a}}, Y: Field{[10]uint32{0x014c76bc, 0x03315dc0, 0x01b0984e, 0x0099835b, 0x02f6fd46, 0x035bb503, 0x03da7978, 0x00ce772f, 0x02d9f086, 0x002f7e1e}}}, + {X: Field{[10]uint32{0x007b3a21, 0x00802391, 0x008f0d57, 0x02cc6a9a, 0x02b61d5c, 0x00382376, 0x030dbbd0, 0x00bf7b67, 0x030cbbe7, 0x00397978}}, Y: Field{[10]uint32{0x01b248ae, 0x000196a1, 0x0035c561, 0x020a8415, 0x005de656, 0x0145c73a, 0x006ec03d, 0x01b99d1f, 0x01b8f80b, 0x0027ed2b}}}, + {X: Field{[10]uint32{0x038223ee, 0x036f3284, 0x00b79007, 0x00329e68, 0x0078df6b, 0x01acc02f, 0x02ce1762, 0x01aedf16, 0x02acc9e2, 0x001c4484}}, Y: Field{[10]uint32{0x03027757, 0x02a9cabb, 0x01cbbdc3, 0x00e46384, 0x036b8732, 0x0131cff8, 0x02b343bc, 0x01377679, 0x00584ef4, 0x000371a2}}}, + {X: Field{[10]uint32{0x01c5e22c, 0x00d03c08, 0x03d506b6, 0x02ca9319, 0x00c4cf11, 0x02d795e1, 0x03b9ea3f, 0x0293db76, 0x03b3531a, 0x000ed4ba}}, Y: Field{[10]uint32{0x0190938a, 0x02665aec, 0x039de55a, 0x0298f17e, 0x00b698c8, 0x01a06190, 0x02cf02e4, 0x011a84fe, 0x02bddc00, 0x000f68fb}}}, + {X: Field{[10]uint32{0x0356b78b, 0x01daf733, 0x02df91eb, 0x005fa5b2, 0x0245294a, 0x03871e95, 0x02e7292f, 0x011789f7, 0x00811103, 0x000c3ca1}}, Y: Field{[10]uint32{0x03abb049, 0x035c0add, 0x02b088e6, 0x01902877, 0x003c1491, 0x01445beb, 0x007864d2, 0x038d2fc1, 0x00fc26ec, 0x001c3184}}}, + {X: Field{[10]uint32{0x0130ff58, 0x0055937a, 0x01ab5edf, 0x009da675, 0x015cfef5, 0x0329287c, 0x00d37b61, 0x0156d939, 0x00a8012c, 0x00012a11}}, Y: Field{[10]uint32{0x003dfa3c, 0x0227565a, 0x00cd3f31, 0x03018c9d, 0x025826f9, 0x0342a7fd, 0x03e6bd38, 0x039b936e, 0x0148508d, 0x001261d1}}}, + {X: Field{[10]uint32{0x0068b06f, 0x0279b19e, 0x01026451, 0x0177b714, 0x0005ce2b, 0x02667853, 0x02e0fd9a, 0x01212990, 0x021ea7c8, 0x00297295}}, Y: Field{[10]uint32{0x01afa7ed, 0x0310e8e1, 0x025a47a7, 0x01a89077, 0x037abe38, 0x03fe9fda, 0x009b00ea, 0x03bbaab0, 0x0142a5e2, 0x0033245e}}}, + {X: Field{[10]uint32{0x03d6e72c, 0x03e3b937, 0x017ef3c1, 0x031915b9, 0x021fa547, 0x0043d852, 0x0051a68e, 0x03115b0e, 0x02d31e16, 0x003d86df}}, Y: Field{[10]uint32{0x03622f2b, 0x028ca017, 0x01a54734, 0x00453426, 0x02a0c5a8, 0x0345efe9, 0x035fbdb4, 0x00619647, 0x00b7fc40, 0x0032c9b4}}}, + {X: Field{[10]uint32{0x01f678b2, 0x01586145, 0x007fcaee, 0x019a8888, 0x02559768, 0x01d9bef9, 0x02859f9e, 0x000312d4, 0x00628897, 0x003e3935}}, Y: Field{[10]uint32{0x02c77554, 0x006a93ae, 0x011ae6f0, 0x02542775, 0x0106791e, 0x03eeddac, 0x009c271b, 0x01bec2a8, 0x039fc1b1, 0x000c2ec0}}}, + {X: Field{[10]uint32{0x032ab653, 0x00a4274c, 0x0291ca39, 0x001a9c5e, 0x03d5d97a, 0x0060528b, 0x02f6f717, 0x0164542c, 0x001a05d2, 0x002272bf}}, Y: Field{[10]uint32{0x017ab76e, 0x00bc5109, 0x03ce16fe, 0x036983a1, 0x015eac02, 0x0053cd38, 0x01c00557, 0x0121634a, 0x00ab0b4e, 0x00068928}}}, + {X: Field{[10]uint32{0x037c4f20, 0x02365f51, 0x020bb4a4, 0x0155aba9, 0x0033c5b5, 0x028ab544, 0x0201dca7, 0x01773f2a, 0x030bd04f, 0x0034a14d}}, Y: Field{[10]uint32{0x0293b9d4, 0x01348091, 0x01b416c4, 0x02cb1a60, 0x01c61386, 0x031c1451, 0x022adf8e, 0x0217404e, 0x03b732e8, 0x00352d09}}}, + {X: Field{[10]uint32{0x01f217c0, 0x01bd9a93, 0x00974902, 0x019b87f5, 0x01fd3350, 0x01eae89a, 0x01dc90d1, 0x02fecc86, 0x02f2d9bd, 0x0000f14c}}, Y: Field{[10]uint32{0x02ac5d59, 0x00f8c199, 0x0057675b, 0x03e7e320, 0x032791a6, 0x02104e5d, 0x033c7b42, 0x01ff40b0, 0x027ca6c9, 0x0021bf57}}}, + {X: Field{[10]uint32{0x008ac1ee, 0x000c5333, 0x02924b73, 0x00f8df89, 0x02298445, 0x00c0dc89, 0x0317a165, 0x01c1a886, 0x010bfc35, 0x00093465}}, Y: Field{[10]uint32{0x01f918ac, 0x0307aa72, 0x01ed84b9, 0x03822d5f, 0x01b05bb9, 0x026ba69d, 0x0247c685, 0x006a42ec, 0x005d06a3, 0x001348a9}}}, + {X: Field{[10]uint32{0x027615a9, 0x020acd93, 0x03d44595, 0x01042ad9, 0x02d85053, 0x0280dbf0, 0x01f8acee, 0x02c6ac52, 0x00f36227, 0x00331aac}}, Y: Field{[10]uint32{0x03761cb8, 0x01a028e0, 0x037d7107, 0x02bd5283, 0x01bac918, 0x003e9bc8, 0x00806b12, 0x0049619f, 0x03cc040b, 0x003e6b64}}}, + {X: Field{[10]uint32{0x025318cf, 0x03fdc6c0, 0x01cdef08, 0x00366c50, 0x016320f2, 0x01cc2e67, 0x0016bcff, 0x0252db2a, 0x0154f36e, 0x0037892a}}, Y: Field{[10]uint32{0x03899933, 0x00129076, 0x014d9679, 0x017a920e, 0x038475c3, 0x012bf58b, 0x002d2354, 0x012926e6, 0x01d91ac2, 0x000f8d2c}}}, + {X: Field{[10]uint32{0x021ffec7, 0x03fc9496, 0x03618f83, 0x036d23ea, 0x015f8243, 0x0254f3ef, 0x003a12c7, 0x02aea436, 0x00c34900, 0x001deac1}}, Y: Field{[10]uint32{0x00ac2f00, 0x01cfbfaf, 0x032bdae8, 0x00680c28, 0x01231c87, 0x016a36cc, 0x02265af7, 0x01dffd25, 0x00273bcd, 0x0018996b}}}, + {X: Field{[10]uint32{0x02e78209, 0x012b5445, 0x0341ece8, 0x03b876ad, 0x0251ff8d, 0x00656028, 0x0079885d, 0x02679780, 0x03065f46, 0x00291ebd}}, Y: Field{[10]uint32{0x02257440, 0x03cd2e5e, 0x03abfbb8, 0x0220f6bf, 0x035b7860, 0x01196ae5, 0x023f7cb3, 0x03de2e95, 0x03fdf1b1, 0x000e4f2e}}}, + {X: Field{[10]uint32{0x00d7016d, 0x0117a7a7, 0x037ea8a5, 0x038754a8, 0x0293d709, 0x000c8809, 0x01170fbd, 0x031edd37, 0x01fd0c55, 0x002a7d7e}}, Y: Field{[10]uint32{0x01d5e0e1, 0x012c417c, 0x0162b873, 0x009fdad8, 0x0254f0d3, 0x027a02ac, 0x01847b2e, 0x03c8ba3f, 0x01254bad, 0x00261c5e}}}, + {X: Field{[10]uint32{0x0218ec38, 0x01f358d3, 0x03b716cc, 0x01902a51, 0x01ba8668, 0x0161b9f8, 0x02200c4e, 0x00e28a3e, 0x02bc96b9, 0x00355fa7}}, Y: Field{[10]uint32{0x01b6bd36, 0x029aab34, 0x016a3062, 0x03abca16, 0x0325de16, 0x0104b7e1, 0x00c8b7cb, 0x0244416d, 0x02ef6823, 0x0026a834}}}, + {X: Field{[10]uint32{0x03aa58e9, 0x001a0a43, 0x006119f5, 0x0072ae08, 0x02e27ccc, 0x02a175ce, 0x018e66ca, 0x03053558, 0x00d8fb4d, 0x001d18ea}}, Y: Field{[10]uint32{0x00d4829f, 0x026ab41a, 0x0389f056, 0x03102d30, 0x02ae7990, 0x010e36e1, 0x00645a28, 0x03d412a8, 0x02b2275a, 0x0020bf5a}}}, + {X: Field{[10]uint32{0x013bf412, 0x01b9f3f5, 0x032fca3c, 0x01914d36, 0x013927ae, 0x03accc6c, 0x002d03e4, 0x0120c668, 0x008a29c4, 0x000b9e9c}}, Y: Field{[10]uint32{0x031e11d1, 0x038ecf52, 0x00160fd2, 0x0093b006, 0x03ebdf68, 0x00e6ceca, 0x02e0073f, 0x003372ba, 0x01997350, 0x00213cfc}}}, + {X: Field{[10]uint32{0x01dd5e03, 0x034c3136, 0x00dda414, 0x012edfea, 0x02180d09, 0x022e8c13, 0x032f3c2e, 0x030163eb, 0x00bf540b, 0x0021c1ec}}, Y: Field{[10]uint32{0x0100b915, 0x0127083c, 0x0025dfbb, 0x03a6599f, 0x0318db5e, 0x02816535, 0x006bd25a, 0x0040cd43, 0x0175fb79, 0x001c2d84}}}, + {X: Field{[10]uint32{0x03ca842d, 0x02a8b594, 0x008b9613, 0x03386db0, 0x0122f67d, 0x023999d2, 0x02070a72, 0x03340a21, 0x030c3ce6, 0x000ff6cd}}, Y: Field{[10]uint32{0x00e0dafc, 0x0121ac32, 0x0006317a, 0x03e65004, 0x035d3a5e, 0x002c7bfb, 0x004c5ec1, 0x000d1297, 0x00f2474a, 0x00058d46}}}, + {X: Field{[10]uint32{0x00472f62, 0x020f6252, 0x031af2a2, 0x0180252c, 0x03330779, 0x01bd6352, 0x01411e70, 0x03552680, 0x0302412c, 0x0030df68}}, Y: Field{[10]uint32{0x0221f92a, 0x031bf84e, 0x01d26801, 0x0002e2b4, 0x01ca8490, 0x0282a0af, 0x002d1daa, 0x010bd21c, 0x028716c6, 0x002a823c}}}, + {X: Field{[10]uint32{0x01e08a1c, 0x009bf1e9, 0x007cf257, 0x03b0ac2d, 0x0160ade9, 0x0171e8ce, 0x01f923b0, 0x02c3e494, 0x0150381a, 0x000fae81}}, Y: Field{[10]uint32{0x030fa7d9, 0x010697f3, 0x02396557, 0x03668316, 0x00492a1a, 0x02bf1380, 0x02396525, 0x0374ea21, 0x00ebb681, 0x000509ec}}}, + {X: Field{[10]uint32{0x0350cee8, 0x02be39ae, 0x02e0194e, 0x029e14d5, 0x02e43f20, 0x01d53e83, 0x024628f7, 0x035752fd, 0x02a18ce5, 0x00259c8f}}, Y: Field{[10]uint32{0x01f49bdd, 0x0019a960, 0x00e8a713, 0x016eca32, 0x016cf51b, 0x035122bb, 0x02eef512, 0x02fc43a1, 0x03bbb9bb, 0x0016b427}}}, + {X: Field{[10]uint32{0x03663748, 0x02358128, 0x00f1329f, 0x02499e44, 0x00ab8228, 0x01575716, 0x009d3460, 0x02db34e8, 0x02117ecf, 0x0035d914}}, Y: Field{[10]uint32{0x028540f7, 0x02e00c70, 0x01a46eeb, 0x00430897, 0x03bf2c9b, 0x02eaaa73, 0x0089dbe2, 0x037820b2, 0x0104d20f, 0x002adf30}}}, + {X: Field{[10]uint32{0x00ada5e6, 0x02a241b4, 0x03e434dc, 0x0196d2b1, 0x008c8660, 0x0352f251, 0x01907afa, 0x02c4d883, 0x03dc7e0a, 0x0007dac8}}, Y: Field{[10]uint32{0x023e247c, 0x03b0959d, 0x02602398, 0x0103923d, 0x01560414, 0x036aa7ac, 0x00920405, 0x00e76ab4, 0x025d6bc6, 0x00230dec}}}, + {X: Field{[10]uint32{0x01459945, 0x0203541d, 0x01f9d9bd, 0x004a2bf4, 0x036abb5a, 0x0303a3b5, 0x0079e64b, 0x0285a1e5, 0x00bbaa06, 0x0011bfc1}}, Y: Field{[10]uint32{0x011bcd4a, 0x03e7693d, 0x0176491e, 0x00a5075c, 0x03e7e9d2, 0x011e986a, 0x0133bb9e, 0x02e838e4, 0x02c26af2, 0x002c4413}}}, + {X: Field{[10]uint32{0x02597ce2, 0x012a20ca, 0x02f86f3f, 0x02cf6092, 0x013bcdff, 0x022ec114, 0x0076e545, 0x0201a4ec, 0x00253888, 0x003286cf}}, Y: Field{[10]uint32{0x01e0285a, 0x006ff8a8, 0x03622005, 0x03d5e611, 0x01dfc9d6, 0x0367a07b, 0x0109d11b, 0x01b711d8, 0x02fbdd1b, 0x003c0a45}}}, + {X: Field{[10]uint32{0x01ece6b4, 0x011e8426, 0x01763ee7, 0x01dcae00, 0x005fad12, 0x0336f7ec, 0x03ec7fed, 0x027b123b, 0x029aadb6, 0x00032587}}, Y: Field{[10]uint32{0x018fb6e4, 0x00bc9a67, 0x022a984e, 0x00f0d7c2, 0x0056bb9b, 0x005b12dc, 0x00bb70ad, 0x014f949c, 0x0033e0b2, 0x0011a69b}}}, + {X: Field{[10]uint32{0x039d99dc, 0x03ca2fe4, 0x03393ea4, 0x03d6e6d9, 0x037b3132, 0x035139dd, 0x03817089, 0x0332534f, 0x02791418, 0x000e8ba8}}, Y: Field{[10]uint32{0x03f164be, 0x025b195a, 0x01f8831a, 0x02381949, 0x02b981bf, 0x02344f8b, 0x0217dc71, 0x036486f8, 0x0143c035, 0x00056014}}}, + {X: Field{[10]uint32{0x025a7a4a, 0x03b7a9ad, 0x01189e7d, 0x02333cd3, 0x034e24d4, 0x00bec700, 0x03fd6ad5, 0x03c2f868, 0x00dfb3a1, 0x000105b7}}, Y: Field{[10]uint32{0x00c204c3, 0x037444d8, 0x0235beba, 0x0028f1b2, 0x0147e90a, 0x004cb6cc, 0x01777812, 0x00cd66b0, 0x02c2bbc9, 0x001da427}}}, + {X: Field{[10]uint32{0x03c63eb3, 0x021516e4, 0x022b1731, 0x0312174a, 0x032ed9d1, 0x0352cfb4, 0x03a51772, 0x0305d422, 0x02459aef, 0x002ce5f0}}, Y: Field{[10]uint32{0x01e71748, 0x00732dbd, 0x03a7e447, 0x01d38c45, 0x02228135, 0x024810fb, 0x0018ffc6, 0x00d9daad, 0x03603076, 0x002841a8}}}, + {X: Field{[10]uint32{0x000637df, 0x03ce4275, 0x0306532e, 0x03034a68, 0x02c1bdb8, 0x03a026ca, 0x01dbb755, 0x005918ca, 0x009befd6, 0x001d7156}}, Y: Field{[10]uint32{0x03e6f631, 0x009eb7e8, 0x0347dcba, 0x025687f8, 0x0395e602, 0x007f39ae, 0x02a19dd8, 0x00417243, 0x01e51492, 0x0009bcf8}}}, + {X: Field{[10]uint32{0x029135a5, 0x039bc225, 0x018b6620, 0x02004679, 0x02e4b0dc, 0x00e6a411, 0x015158c4, 0x01d0c85f, 0x0112a351, 0x000bbbb3}}, Y: Field{[10]uint32{0x01aaba4c, 0x03d2474b, 0x03707806, 0x019c5051, 0x01136064, 0x031315e4, 0x013d7539, 0x023b4c6d, 0x03d048c5, 0x003877ba}}}, + {X: Field{[10]uint32{0x00be65d1, 0x000164e7, 0x00124aa1, 0x002b1d6b, 0x038cab86, 0x02b77699, 0x031d52e5, 0x0359419a, 0x00915d39, 0x002a607c}}, Y: Field{[10]uint32{0x013ed069, 0x0180101f, 0x00e7b66c, 0x01253ccd, 0x0188d4f1, 0x025b9442, 0x018b23c0, 0x000a4cb6, 0x03cb7ab6, 0x00132c27}}}, + {X: Field{[10]uint32{0x03d4ef62, 0x01302826, 0x0331a9aa, 0x01a4999a, 0x02545cd8, 0x01d679e7, 0x01260c9a, 0x00740828, 0x02e3a7e8, 0x0006867e}}, Y: Field{[10]uint32{0x00937902, 0x016dcaac, 0x0070789c, 0x03c1a2b8, 0x0379714d, 0x021df71e, 0x01bf7bfd, 0x0171a78a, 0x02578af2, 0x000a01f5}}}, + {X: Field{[10]uint32{0x0020c61a, 0x00a04f49, 0x00567195, 0x0052674c, 0x029b0f43, 0x0198b9dd, 0x036f1392, 0x03465835, 0x016c1ee7, 0x0033fe1a}}, Y: Field{[10]uint32{0x02d16df8, 0x0314b179, 0x030c147f, 0x008ad8ad, 0x023581f1, 0x00daee05, 0x0004b1a1, 0x025a4097, 0x00138a39, 0x002125f8}}}, + {X: Field{[10]uint32{0x0227ce8c, 0x02417887, 0x01cd66cc, 0x016a7969, 0x00966911, 0x03523ac1, 0x02a95824, 0x00d1e72a, 0x00204a8b, 0x001a05e9}}, Y: Field{[10]uint32{0x033052ad, 0x01ca4dde, 0x026fd95e, 0x0309d8c8, 0x028182a0, 0x01720e17, 0x03254653, 0x01e97261, 0x028bc337, 0x00256151}}}, + {X: Field{[10]uint32{0x01d9d58e, 0x00cf5b23, 0x03233bcd, 0x00656494, 0x037d114b, 0x01e51e3c, 0x013eb995, 0x03309abc, 0x00846e0e, 0x00273bff}}, Y: Field{[10]uint32{0x025d2582, 0x0342aa3e, 0x00426856, 0x00d0fa99, 0x00510602, 0x03bc71fb, 0x03c4d4af, 0x03e86c19, 0x021a5cf8, 0x003806b2}}}, + {X: Field{[10]uint32{0x03456c49, 0x03c3b734, 0x00543835, 0x00c63104, 0x03995a37, 0x00c0797e, 0x03965892, 0x03dff765, 0x01c6f203, 0x001a9b87}}, Y: Field{[10]uint32{0x0384496b, 0x02eb284d, 0x03482f93, 0x02fdbbf4, 0x0183b579, 0x02a5d51b, 0x01f9ad86, 0x00fa7ac1, 0x039898b9, 0x000a81ca}}}, + {X: Field{[10]uint32{0x02a9129b, 0x00c75f34, 0x036d24dd, 0x008626b0, 0x008ba3a5, 0x02e461ba, 0x018b4f0f, 0x01d86d45, 0x021a588d, 0x001f9eeb}}, Y: Field{[10]uint32{0x033dbdd6, 0x0215beaa, 0x0129dcc4, 0x02f03503, 0x0017e6bb, 0x0343e1ce, 0x01e60e57, 0x01731ca2, 0x023b3799, 0x0014663d}}}, + {X: Field{[10]uint32{0x006bd253, 0x0316cd40, 0x039f805d, 0x018fb84b, 0x03ffa158, 0x02a17954, 0x014966ff, 0x02acafb5, 0x03a863de, 0x00004ff0}}, Y: Field{[10]uint32{0x03821459, 0x016d5ddc, 0x01d58b3b, 0x0209c0b9, 0x03a8b77c, 0x039daa55, 0x00a59e76, 0x01415bff, 0x02459127, 0x0038c70c}}}, + {X: Field{[10]uint32{0x02e9c167, 0x02f1b445, 0x00ccbbec, 0x00983452, 0x03e56503, 0x03a27a92, 0x036dbeda, 0x03645fda, 0x01eb3f39, 0x003ff8a3}}, Y: Field{[10]uint32{0x01bb988a, 0x02abb5a7, 0x01b2c262, 0x03844a31, 0x01383c4b, 0x0380acff, 0x03857604, 0x01113794, 0x02b3b878, 0x00236294}}}, + {X: Field{[10]uint32{0x01cc57be, 0x020ec3c1, 0x003cd444, 0x0150772f, 0x00481c43, 0x003e83b3, 0x0379a883, 0x01b79f40, 0x00239bf2, 0x0000a3b5}}, Y: Field{[10]uint32{0x00ce126e, 0x001016c4, 0x00ac37bc, 0x01c866f4, 0x012d5608, 0x012e3616, 0x020d860b, 0x02399d14, 0x02e2ea01, 0x00064848}}}, + {X: Field{[10]uint32{0x03f8a708, 0x01cb22c2, 0x02d7276c, 0x00e0be01, 0x025aa4ca, 0x03b9da76, 0x02acc00e, 0x03121014, 0x027c7be8, 0x001efce0}}, Y: Field{[10]uint32{0x0159eebe, 0x0090fa29, 0x011726bb, 0x001c6b4a, 0x0224a75d, 0x035c75c1, 0x00601fa1, 0x014a6d17, 0x02eee505, 0x002497cf}}}, + {X: Field{[10]uint32{0x03ce7000, 0x0384e01b, 0x017a4a7b, 0x02accc28, 0x012acb5a, 0x007dedaf, 0x02de8627, 0x00070fe3, 0x0299021a, 0x0033c69f}}, Y: Field{[10]uint32{0x01d3d673, 0x02855756, 0x0078a7c3, 0x028fce2a, 0x035f1e70, 0x00ce8d18, 0x023e7400, 0x0298445a, 0x02837b3b, 0x00084d96}}}, + {X: Field{[10]uint32{0x01bb29c7, 0x02f2ba44, 0x02944afc, 0x019d4989, 0x02af3bdd, 0x02f42a61, 0x036c8121, 0x01f31038, 0x0237d151, 0x0039de7a}}, Y: Field{[10]uint32{0x038a8a2f, 0x03200575, 0x03f81e8a, 0x01b51706, 0x026472bb, 0x00a71bd0, 0x00e2c6c0, 0x01dd6a81, 0x01ac4b19, 0x000cb18d}}}, + {X: Field{[10]uint32{0x026c2a92, 0x02dfda3c, 0x002a1638, 0x00a23806, 0x02f96977, 0x030e0754, 0x019785d6, 0x01084056, 0x012b76b5, 0x00040c27}}, Y: Field{[10]uint32{0x018265a9, 0x02340819, 0x02a1a043, 0x02b3066d, 0x02f3abce, 0x03e4c4c5, 0x03b9b377, 0x0261c03b, 0x03834c85, 0x000087b7}}}, + {X: Field{[10]uint32{0x033a27f9, 0x039c8694, 0x00701813, 0x00469c50, 0x02f2b6b3, 0x0244c80d, 0x032240de, 0x011b50ba, 0x0309701e, 0x001e649e}}, Y: Field{[10]uint32{0x0358920f, 0x03613b4e, 0x039053b3, 0x03bae34a, 0x008a0f47, 0x0184d841, 0x00756403, 0x021b0693, 0x0113a818, 0x003edf19}}}, + {X: Field{[10]uint32{0x0128849e, 0x03631cc5, 0x0137e0fd, 0x038128f7, 0x03085b1d, 0x0338938f, 0x0193e683, 0x00d0a67d, 0x023377da, 0x001d0ed3}}, Y: Field{[10]uint32{0x002f3216, 0x0135ad9d, 0x014f1816, 0x039a1278, 0x01fbba7d, 0x02b9cca0, 0x03f178ca, 0x018fb1ec, 0x0069b5ee, 0x000de400}}}, + {X: Field{[10]uint32{0x004f04da, 0x01a18143, 0x02cbf498, 0x03ec29ce, 0x02e46064, 0x02547f9a, 0x02cd9b49, 0x02edfc6a, 0x02e10ce1, 0x0035cf34}}, Y: Field{[10]uint32{0x0253dde8, 0x01fd2b6c, 0x0209614b, 0x0138bc8a, 0x00cae7f8, 0x028cffc7, 0x0087fcd6, 0x039c7fd6, 0x02e44cc6, 0x0039a9d8}}}, + {X: Field{[10]uint32{0x01f6fa68, 0x00b5a5e5, 0x033e8ed3, 0x02051f01, 0x01ba6324, 0x01ecfafc, 0x03318a17, 0x0091acff, 0x00d3f563, 0x000f8700}}, Y: Field{[10]uint32{0x010776d3, 0x01cbc34b, 0x00ef6b4a, 0x000308ff, 0x0118ce2e, 0x02038e07, 0x036aecb0, 0x0304a440, 0x00cf87d5, 0x0037cad8}}}, + {X: Field{[10]uint32{0x0168053c, 0x03f71b36, 0x03221a32, 0x039318a6, 0x00ed90c2, 0x01d49b6d, 0x00f10e68, 0x00594f97, 0x039092da, 0x0025b81f}}, Y: Field{[10]uint32{0x01c2bd66, 0x0081e1d3, 0x036164ab, 0x03f8b978, 0x021f8517, 0x03eb4ee6, 0x0220ea5b, 0x03a9ae7b, 0x003bb8a2, 0x00359707}}}, + {X: Field{[10]uint32{0x03e1debb, 0x005deaab, 0x02854d8e, 0x0148ce18, 0x02d27a76, 0x00b81e5a, 0x01cc124b, 0x03b8094c, 0x004026b1, 0x001b48c1}}, Y: Field{[10]uint32{0x0179bbd3, 0x00ef027b, 0x012c2598, 0x00a2a33f, 0x00e3dc62, 0x0393b002, 0x03bde471, 0x011a2543, 0x0195faa1, 0x003cea3e}}}, + {X: Field{[10]uint32{0x01707781, 0x03f3bc79, 0x02d9dc76, 0x004692c1, 0x00ad7d45, 0x039c584e, 0x00e43c49, 0x027700c5, 0x035c1f94, 0x002376a7}}, Y: Field{[10]uint32{0x0001310d, 0x0229609a, 0x03a775c7, 0x03bc2b96, 0x01ad9d9b, 0x02dcdd0d, 0x03674f5d, 0x02c2944a, 0x03aa7585, 0x0034158f}}}, + {X: Field{[10]uint32{0x03de97cd, 0x028d5eee, 0x036c4e5a, 0x03ead309, 0x03b4bf17, 0x03ff6905, 0x02da369f, 0x01cd8fd7, 0x013f9866, 0x00141c18}}, Y: Field{[10]uint32{0x0034ebc2, 0x033c26f7, 0x008178a0, 0x01f921a9, 0x02eb40e4, 0x02c5b6e1, 0x005751f9, 0x01fa8d06, 0x02ff4fe7, 0x00002c83}}}, + {X: Field{[10]uint32{0x0316bce7, 0x024bac2b, 0x03a8efc7, 0x01d1aa6c, 0x0004986d, 0x0306a862, 0x038838ea, 0x00515ae6, 0x00f0bfab, 0x000e929c}}, Y: Field{[10]uint32{0x01c4f3e5, 0x03d68f2b, 0x01e248bd, 0x022608e0, 0x03843b3e, 0x0013a108, 0x0032980c, 0x023b6a86, 0x02931916, 0x00391492}}}, + {X: Field{[10]uint32{0x02b33532, 0x02448c2a, 0x01a38b52, 0x0264ef37, 0x02db5fba, 0x018c1dcf, 0x01a82f54, 0x0166a76a, 0x00921831, 0x000b373e}}, Y: Field{[10]uint32{0x017677b9, 0x00d61c1d, 0x02044e0a, 0x0248c8a4, 0x010fd956, 0x00aaf3a3, 0x02299e74, 0x00fcca17, 0x02eac911, 0x003223a9}}}, + {X: Field{[10]uint32{0x00955c99, 0x028b778a, 0x0203d781, 0x00082630, 0x022b7fed, 0x00cc667a, 0x02e0cd6f, 0x017d8404, 0x028df8f1, 0x0006a164}}, Y: Field{[10]uint32{0x00db4299, 0x00b38e5d, 0x02945568, 0x009147af, 0x010534a1, 0x001c970a, 0x013a6b03, 0x01da8ff8, 0x02b2821c, 0x0006ce61}}}, + {X: Field{[10]uint32{0x01a1d388, 0x01ae13c7, 0x02c1a6b6, 0x0198f988, 0x00dde019, 0x006e7c04, 0x01206634, 0x00c19685, 0x01a1d6b0, 0x0021b453}}, Y: Field{[10]uint32{0x0399b2de, 0x00e030a0, 0x01055fd1, 0x00f87db9, 0x01cfe568, 0x00e010b3, 0x004a6f9f, 0x017327a2, 0x00ec764f, 0x0019e545}}}, + {X: Field{[10]uint32{0x02201cc2, 0x0340d5c5, 0x01441565, 0x0265f091, 0x03300459, 0x02941e38, 0x03343415, 0x0321e50c, 0x014f0bdf, 0x003907dd}}, Y: Field{[10]uint32{0x010e8e8e, 0x02c3f75e, 0x02e47dcb, 0x0382ecf3, 0x000743f5, 0x024bba6d, 0x02f119f4, 0x00647b7f, 0x0241c21d, 0x00374165}}}, + {X: Field{[10]uint32{0x0075cae4, 0x0265b4d1, 0x022fc756, 0x01ea0ce3, 0x032946e1, 0x03911190, 0x0268d8f4, 0x02fb11e5, 0x026845b5, 0x002dfb24}}, Y: Field{[10]uint32{0x03dda53b, 0x018b9c53, 0x002cb7cc, 0x01425e3b, 0x00d945e3, 0x01e51dad, 0x02210f57, 0x027a4043, 0x018bb753, 0x0002ad28}}}, + {X: Field{[10]uint32{0x03518912, 0x01da752d, 0x009d456b, 0x02f020c9, 0x03bf3ecf, 0x02896142, 0x022554a0, 0x03786459, 0x01dcf1ea, 0x000903f6}}, Y: Field{[10]uint32{0x0104515b, 0x001ac234, 0x0220776a, 0x025cc4d4, 0x005318a8, 0x02a9aa01, 0x03a3a62e, 0x00e42214, 0x025ee0ba, 0x002bc0fe}}}, + {X: Field{[10]uint32{0x035bb769, 0x015c8de1, 0x00129a5c, 0x037e3c73, 0x022b88aa, 0x02330fea, 0x01e39d28, 0x00c4525e, 0x00ecee7d, 0x0000d4f1}}, Y: Field{[10]uint32{0x012d147e, 0x03693f34, 0x03cf02a0, 0x02e16b8c, 0x0228e607, 0x035c2ae3, 0x000118ba, 0x01384ba5, 0x004090af, 0x0027e9fb}}}, + {X: Field{[10]uint32{0x03d933de, 0x0200dd8a, 0x0082d39e, 0x02232f81, 0x03893409, 0x018a3f46, 0x0206ae11, 0x019a2045, 0x018aa855, 0x003d3bb5}}, Y: Field{[10]uint32{0x033b3d44, 0x01bc3e37, 0x03eb9160, 0x03e94b5f, 0x0118b40b, 0x0233ad03, 0x031969ca, 0x0381c341, 0x0364fe74, 0x00109e33}}}, + {X: Field{[10]uint32{0x026ef1ce, 0x004a4389, 0x000fa01a, 0x0029cdaf, 0x000b284f, 0x02d554b5, 0x00c17d50, 0x0099810d, 0x02e2e2d0, 0x001a63fe}}, Y: Field{[10]uint32{0x01ffc970, 0x00206638, 0x0143fab6, 0x03fec2f4, 0x038bd50c, 0x025bf04b, 0x027e53a4, 0x016dd076, 0x008d0784, 0x000659b3}}}, + {X: Field{[10]uint32{0x01314098, 0x01c48699, 0x0196b595, 0x028013ed, 0x0122d884, 0x005f2251, 0x020587d4, 0x0305035b, 0x016d5c88, 0x002d4ed6}}, Y: Field{[10]uint32{0x032c745a, 0x025eba23, 0x01a56771, 0x01c13306, 0x0025deeb, 0x01b0cbbb, 0x03de4857, 0x03f9db21, 0x00b909be, 0x00377fd8}}}, + {X: Field{[10]uint32{0x0213066a, 0x004bedc6, 0x02d65527, 0x01967d89, 0x00791518, 0x03a7c9da, 0x024cba67, 0x00efe75b, 0x0321d439, 0x0025d812}}, Y: Field{[10]uint32{0x028d17f8, 0x018988d2, 0x03616360, 0x0153e809, 0x027d871c, 0x00d5fc99, 0x005b0d17, 0x01fdf197, 0x0384e1cf, 0x0039ebbc}}}, + {X: Field{[10]uint32{0x01bb8623, 0x01213a54, 0x007edb63, 0x003b6875, 0x013b3876, 0x0018bdef, 0x02b234c1, 0x03b980c4, 0x01ba6eda, 0x001e8d72}}, Y: Field{[10]uint32{0x0184a5b1, 0x035a9093, 0x002457eb, 0x015e1bbe, 0x00769f3a, 0x03bdc128, 0x0292b586, 0x019d85ab, 0x027ba454, 0x000ce25e}}}, + {X: Field{[10]uint32{0x011e2804, 0x00836543, 0x03e01b6a, 0x005e19c1, 0x02c9638b, 0x0098c043, 0x026e0cc9, 0x00457728, 0x0075f989, 0x0021b503}}, Y: Field{[10]uint32{0x00315ca3, 0x00e1d0bb, 0x00410c0f, 0x010b105c, 0x01dddf28, 0x0211ad72, 0x031dcc8a, 0x02307839, 0x03624ffd, 0x001d66f5}}}, + {X: Field{[10]uint32{0x009badb7, 0x037acc58, 0x001ce3e8, 0x03a6ca90, 0x01fc77f6, 0x00ee4397, 0x03ddea49, 0x02de7d98, 0x03479a4b, 0x00180eff}}, Y: Field{[10]uint32{0x01a4f4b4, 0x008e6627, 0x0320ee1e, 0x0377700d, 0x03358c86, 0x034ce80b, 0x02eefffc, 0x006aa9ab, 0x01fc6528, 0x00018a1e}}}, + {X: Field{[10]uint32{0x032203ed, 0x039a2c40, 0x03d7b5de, 0x03705261, 0x00fa13eb, 0x029d68db, 0x01e0bbf8, 0x01e9f5c8, 0x00f3c7dc, 0x0001722e}}, Y: Field{[10]uint32{0x0208e7d3, 0x0124d033, 0x0190ce77, 0x0328506f, 0x013faa43, 0x023f35b9, 0x01d304d8, 0x031af5f6, 0x03382bc4, 0x001ad807}}}, + {X: Field{[10]uint32{0x0144fb05, 0x018f3a1d, 0x00505a79, 0x01fa4024, 0x0025a6f2, 0x020edcde, 0x027a55ff, 0x02530907, 0x02c5a916, 0x000c4f07}}, Y: Field{[10]uint32{0x003c6384, 0x01980dc4, 0x02e59825, 0x023891d4, 0x0101ed85, 0x031118b1, 0x0244699b, 0x0197ebed, 0x03ff9a43, 0x00270c54}}}, + {X: Field{[10]uint32{0x01d923bd, 0x000550ea, 0x006bf98b, 0x03569e5d, 0x00150b4b, 0x01a383e8, 0x0268cb29, 0x02bbecc0, 0x02514616, 0x000146b2}}, Y: Field{[10]uint32{0x02e028b4, 0x0115e9d3, 0x001cc203, 0x0310c77d, 0x01a0a66e, 0x0138acd8, 0x0163ca4f, 0x01dd1eff, 0x01b4073a, 0x001f147e}}}, + {X: Field{[10]uint32{0x0219677d, 0x01edb0c9, 0x00a122ab, 0x0359dd0f, 0x01353071, 0x02efa5ea, 0x036d3f92, 0x00192124, 0x039927ea, 0x0012ba34}}, Y: Field{[10]uint32{0x008a47a3, 0x019df50f, 0x027c919e, 0x01790d4b, 0x000f350f, 0x0244414e, 0x02a332b0, 0x02f3a0e3, 0x019bc251, 0x003e7714}}}, + {X: Field{[10]uint32{0x0256dcca, 0x01e137a8, 0x0257baa0, 0x022712bc, 0x03b100c2, 0x021352ef, 0x01a054a8, 0x02d68230, 0x015d3f9c, 0x001af472}}, Y: Field{[10]uint32{0x03803b5b, 0x0153be1a, 0x03e71396, 0x015ea221, 0x00801923, 0x02c1f79e, 0x031fc401, 0x02c4bdbd, 0x003bde39, 0x001e4d8a}}}, + {X: Field{[10]uint32{0x0249480e, 0x0374a0ea, 0x028ce19b, 0x00027be7, 0x035737f7, 0x001feef2, 0x0370a62e, 0x032ab6b8, 0x02294642, 0x003889e2}}, Y: Field{[10]uint32{0x0037dd01, 0x03c50ed2, 0x00f77b36, 0x02d60f59, 0x01087bc8, 0x0360bd87, 0x03570b7e, 0x00f39cd6, 0x03cdf394, 0x0010c48b}}}, + {X: Field{[10]uint32{0x0296c644, 0x03d2b13f, 0x0071ffee, 0x00b02c89, 0x008d24fb, 0x00ccd60c, 0x004bb019, 0x01a7f744, 0x00d59f94, 0x001a14df}}, Y: Field{[10]uint32{0x0000050e, 0x018f2061, 0x024a7320, 0x01165e77, 0x004003ab, 0x01b8ec67, 0x0399ff32, 0x01e9476f, 0x00ef4110, 0x001d94d8}}}, + {X: Field{[10]uint32{0x025af330, 0x024281dd, 0x03b54b12, 0x03bcfe06, 0x0070be08, 0x03022209, 0x00a0735f, 0x027e7e3e, 0x03c669c9, 0x0017b27f}}, Y: Field{[10]uint32{0x0163b222, 0x0084e5c4, 0x03b381a4, 0x03737472, 0x001f4f1c, 0x015ad1f0, 0x00c32290, 0x021c581e, 0x0008e76f, 0x002aed50}}}, + {X: Field{[10]uint32{0x004dfae9, 0x02661d1c, 0x0231db23, 0x03d8572b, 0x0101a330, 0x01945528, 0x0071aba4, 0x00c3eea5, 0x008e5d49, 0x00138006}}, Y: Field{[10]uint32{0x01317868, 0x02ee0753, 0x02bba57f, 0x00a74821, 0x015ed3fe, 0x016d0082, 0x03656dd3, 0x00daa9cf, 0x03302824, 0x0001f9db}}}, + {X: Field{[10]uint32{0x015ed984, 0x0377f57c, 0x02e3c8aa, 0x0392f4ed, 0x03a2659c, 0x0130bcfe, 0x0139edeb, 0x0054bbff, 0x03a4d480, 0x0012b8d1}}, Y: Field{[10]uint32{0x02d4e523, 0x00b170d8, 0x033070ca, 0x0307cd71, 0x0165bb6a, 0x029cb18d, 0x02b8ba7b, 0x033f7d3e, 0x03460d44, 0x000e0f8b}}}, + {X: Field{[10]uint32{0x006665ef, 0x03386e27, 0x0319c603, 0x031363dd, 0x0235fd09, 0x01942697, 0x02d90fc8, 0x02b03be5, 0x0224a8d3, 0x000cb2b7}}, Y: Field{[10]uint32{0x038bea36, 0x004342be, 0x036af55c, 0x03cb8324, 0x02266939, 0x032a27e6, 0x023c5aa6, 0x02c4dd6d, 0x00735c63, 0x0021c9ce}}}, + {X: Field{[10]uint32{0x01cfcbee, 0x00891114, 0x0204f5f4, 0x030f53dc, 0x0320c703, 0x03e1f08b, 0x00e68910, 0x01d5d9ab, 0x01956014, 0x002393bc}}, Y: Field{[10]uint32{0x02ed47af, 0x025c1b81, 0x00666045, 0x00332527, 0x02cd5b9d, 0x0003ef3f, 0x02da0afc, 0x01f06de7, 0x02e389d9, 0x0000be9c}}}, + {X: Field{[10]uint32{0x00a2c30a, 0x01f9ffe9, 0x02509aae, 0x005a7bf0, 0x01559d73, 0x02181e80, 0x01549911, 0x000fdb13, 0x035c4adc, 0x000d7f55}}, Y: Field{[10]uint32{0x0248e000, 0x012b7472, 0x00aa1347, 0x03367252, 0x03dbf3ee, 0x033442b1, 0x0300926d, 0x02079f2d, 0x039d2748, 0x003e695d}}}, + {X: Field{[10]uint32{0x010a9cf6, 0x00d7fb72, 0x032873c6, 0x017d7d76, 0x03efc12f, 0x031049b1, 0x00929a52, 0x00965452, 0x00507fd0, 0x0024cb93}}, Y: Field{[10]uint32{0x028ba783, 0x0187be6e, 0x01f2875f, 0x03ef36fc, 0x009e84ef, 0x034660b0, 0x036b1b24, 0x028670a7, 0x0221bbac, 0x00339af2}}}, + {X: Field{[10]uint32{0x01fbea11, 0x01175cd2, 0x03fb211a, 0x02b4d77a, 0x0355d3e2, 0x03d165c1, 0x036a37f2, 0x014706f8, 0x024422a0, 0x0032b637}}, Y: Field{[10]uint32{0x001c347a, 0x008e99bc, 0x013e0533, 0x035e2a7f, 0x01308eeb, 0x013e1bc4, 0x0241c903, 0x01a7ca02, 0x031d4f66, 0x00122c37}}}, + {X: Field{[10]uint32{0x009594d6, 0x03efa41b, 0x0357b462, 0x0323f3ad, 0x031919ff, 0x032cd8e0, 0x016aa646, 0x03eb9f40, 0x0304c847, 0x0027f1f4}}, Y: Field{[10]uint32{0x019860ff, 0x038e9143, 0x03c9e516, 0x01b39352, 0x00196367, 0x01ebf729, 0x029dd38a, 0x02861f36, 0x00e13bc6, 0x003745f0}}}, + {X: Field{[10]uint32{0x008b5849, 0x00d5d866, 0x000b4c89, 0x03dd305f, 0x008300e4, 0x02537aee, 0x00654538, 0x0281771a, 0x00df10d4, 0x00106e9b}}, Y: Field{[10]uint32{0x007ad4c5, 0x026107f9, 0x03ac5930, 0x02133c54, 0x01ece57e, 0x00a0ccc8, 0x031e278b, 0x00259795, 0x03158c3f, 0x001fad8a}}}, + {X: Field{[10]uint32{0x01c7377b, 0x01ee9104, 0x02884b22, 0x0037c15f, 0x03d5bbf3, 0x03bee1a4, 0x0174248c, 0x01ab9a8b, 0x025aaef3, 0x0007fe7f}}, Y: Field{[10]uint32{0x01e74278, 0x00815d7c, 0x00692165, 0x01416f99, 0x01506908, 0x032d57c2, 0x009cf41f, 0x0000e127, 0x036c585c, 0x001ae892}}}, + {X: Field{[10]uint32{0x03f5d660, 0x03ce31b2, 0x03ebd893, 0x00507e3d, 0x026d1348, 0x0215b09c, 0x019d0704, 0x01b4a79b, 0x00440d70, 0x000a675f}}, Y: Field{[10]uint32{0x0103ff32, 0x0217ba8b, 0x000400fc, 0x03fe6d25, 0x0062f7d1, 0x01b7a6b3, 0x01b48877, 0x01d3832a, 0x00f34d03, 0x0003929d}}}, + {X: Field{[10]uint32{0x02e3a67d, 0x02caff5c, 0x012d69f7, 0x00b73a94, 0x020b607c, 0x00f5ba4e, 0x0318ceb8, 0x03261db8, 0x02d90ec1, 0x00280ccf}}, Y: Field{[10]uint32{0x03a0539e, 0x0216467e, 0x0141e0d6, 0x00eedae2, 0x0019f83e, 0x007f9ed4, 0x03373932, 0x01da74d6, 0x03655f51, 0x00369f74}}}, + {X: Field{[10]uint32{0x004251e0, 0x02e13e90, 0x020d2e75, 0x0005593a, 0x032821cf, 0x02a5a197, 0x00093d0b, 0x028cc14d, 0x02a22e52, 0x00169104}}, Y: Field{[10]uint32{0x030e4313, 0x0101e363, 0x0300c7cd, 0x009d53ad, 0x033675ab, 0x001b4a4e, 0x010bc0ab, 0x015c3a0e, 0x00e07e6c, 0x001a91e2}}}, + {X: Field{[10]uint32{0x02b7b0b5, 0x008f3d8c, 0x03cdc3e8, 0x00770bf9, 0x01078335, 0x01a7e6d9, 0x0134ea6a, 0x00771839, 0x004c3b14, 0x0035dcbb}}, Y: Field{[10]uint32{0x009ac0df, 0x00a6f99a, 0x03cfdda9, 0x00bf6e26, 0x01c9ccd9, 0x036ace08, 0x010979dd, 0x0121f9c2, 0x000d1036, 0x002f64d0}}}, + {X: Field{[10]uint32{0x01f89336, 0x0288d9db, 0x0321cd04, 0x0293b284, 0x03d4452f, 0x03903e01, 0x033e1cd6, 0x0130effe, 0x02d2c769, 0x002525e0}}, Y: Field{[10]uint32{0x02d436dc, 0x0351672e, 0x00930b68, 0x005325ef, 0x019f4e2c, 0x03358f15, 0x032e5dbb, 0x008ad50d, 0x027fb8ba, 0x0039f179}}}, + {X: Field{[10]uint32{0x0057e6de, 0x013d85a9, 0x0070e233, 0x032185dd, 0x036d9ca0, 0x031271c7, 0x00a9e4d4, 0x03d67cf8, 0x01f575e6, 0x001fb9f5}}, Y: Field{[10]uint32{0x03d9f3ee, 0x01ccbbb5, 0x03d0197e, 0x000b5a81, 0x029cbbbe, 0x01be8c42, 0x0074add7, 0x00f99b24, 0x029c7612, 0x001118b6}}}, + {X: Field{[10]uint32{0x013f843e, 0x02baedec, 0x0320b50f, 0x011c2ee0, 0x018a5548, 0x01505e54, 0x005ba7c1, 0x011ed6de, 0x030ae08d, 0x001e92d8}}, Y: Field{[10]uint32{0x01937c00, 0x035c1da7, 0x025dc6b5, 0x00641fe7, 0x0269a3b2, 0x02d26037, 0x023a524d, 0x0007a5c5, 0x004fb868, 0x00328939}}}, + {X: Field{[10]uint32{0x02a82b96, 0x0071b2c6, 0x037939c3, 0x03cca653, 0x013a18ee, 0x02ed88f0, 0x02a55032, 0x03102902, 0x0242428a, 0x0034b642}}, Y: Field{[10]uint32{0x0234972a, 0x013568fc, 0x03b66746, 0x01b960b7, 0x01394a3b, 0x002c7838, 0x0039e064, 0x03567cc0, 0x02332367, 0x001d614b}}}, + {X: Field{[10]uint32{0x015d13e0, 0x0382c5ba, 0x01b91340, 0x017120d2, 0x03a4809b, 0x00bb53cb, 0x01b56066, 0x037ecf68, 0x01ab6206, 0x00364926}}, Y: Field{[10]uint32{0x0271be38, 0x00a6caac, 0x0294111f, 0x0192f800, 0x00fa4dfc, 0x024eae98, 0x01400749, 0x03f86a3e, 0x00ed26a4, 0x00108d51}}}, + {X: Field{[10]uint32{0x01d09a23, 0x020c3d71, 0x034dc8d5, 0x02f9b1af, 0x02bba6f2, 0x02dffe1e, 0x00e2d315, 0x01799b49, 0x02c25887, 0x003b0307}}, Y: Field{[10]uint32{0x00591421, 0x02e9058a, 0x00d7aee8, 0x0261d601, 0x018b798c, 0x01822fde, 0x009a237e, 0x02f46071, 0x03f1648a, 0x003949a9}}}, + {X: Field{[10]uint32{0x03ba8863, 0x0384025a, 0x00c2ef30, 0x00205de6, 0x003a6ae5, 0x0243a814, 0x01b48052, 0x01662621, 0x0168835b, 0x001a4e02}}, Y: Field{[10]uint32{0x0311e5f4, 0x01c3d78b, 0x03345a61, 0x01d6064b, 0x037522df, 0x005341f1, 0x0297137a, 0x02e98d14, 0x039d80f0, 0x001c6fa8}}}, + {X: Field{[10]uint32{0x00a9ab23, 0x02b7237f, 0x0062bebb, 0x0177d65b, 0x0115a40a, 0x007fcbfb, 0x00fe8d2e, 0x018df913, 0x01a19fd1, 0x00359ac7}}, Y: Field{[10]uint32{0x006b9946, 0x01a51d96, 0x03b6878a, 0x00749960, 0x015cc5d9, 0x001eccc5, 0x0217c4e6, 0x012edc72, 0x00ebbd2b, 0x001a33d9}}}, + {X: Field{[10]uint32{0x0298c95f, 0x0037220c, 0x01695a51, 0x01729ad6, 0x01503647, 0x0264c590, 0x0350d70c, 0x018b2e49, 0x00a2c6fa, 0x00277663}}, Y: Field{[10]uint32{0x00fbe821, 0x00381f6b, 0x03c8187a, 0x0017663f, 0x03407509, 0x018ecc76, 0x01278b7e, 0x02735be3, 0x03b853b9, 0x00156a22}}}, + {X: Field{[10]uint32{0x0141bfa2, 0x02a6b7b4, 0x01b925b9, 0x02336dea, 0x014efd84, 0x03078b5c, 0x00ecccd0, 0x03c6efa9, 0x002c842c, 0x0006d9af}}, Y: Field{[10]uint32{0x03673bea, 0x02e69c20, 0x00a890dd, 0x000620c7, 0x02402b35, 0x02108f2d, 0x003d88b6, 0x020ae2bd, 0x030155fe, 0x003f82d1}}}, + {X: Field{[10]uint32{0x00eb688a, 0x001d72b2, 0x00312c1c, 0x03243c3a, 0x03c7d2d5, 0x0248b800, 0x016a61c2, 0x00c77b4e, 0x01c48a92, 0x0002ca03}}, Y: Field{[10]uint32{0x02738a74, 0x0338c1b4, 0x03ff7da9, 0x01854c73, 0x00498c82, 0x00aeaebc, 0x02cb3ad6, 0x02f99acc, 0x01a6a2f8, 0x00206dd1}}}, + {X: Field{[10]uint32{0x018a6b5d, 0x0073717c, 0x0280f8cf, 0x01b3c055, 0x02413e90, 0x00438ba4, 0x00125ad5, 0x02e8720a, 0x011c9eb3, 0x001ef165}}, Y: Field{[10]uint32{0x00352a07, 0x02bd69a6, 0x01a1cd43, 0x03c3b88a, 0x000fbda2, 0x026b71b5, 0x026fc7f4, 0x02a2f6e2, 0x01d8480b, 0x00106e41}}}, + {X: Field{[10]uint32{0x02eabfc1, 0x00b14efd, 0x02ea34ed, 0x0023713c, 0x01116479, 0x0172a1a5, 0x02530952, 0x015235da, 0x00d12318, 0x001a7fdd}}, Y: Field{[10]uint32{0x03de2419, 0x02f9dd6b, 0x01bde0d4, 0x025f7325, 0x011d6173, 0x00eb7d7f, 0x02aca1eb, 0x027de04b, 0x02288eb9, 0x003ce8f9}}}, + {X: Field{[10]uint32{0x004af209, 0x014b86b2, 0x003b92c5, 0x0262a83c, 0x02ffa460, 0x039fda26, 0x028f8cdd, 0x034e967e, 0x013f01f6, 0x0017f9b7}}, Y: Field{[10]uint32{0x00dbfb55, 0x02f1d3d8, 0x01aacd6d, 0x00589d28, 0x03f356cc, 0x015443ab, 0x01197a91, 0x0340893b, 0x0101acb8, 0x0027baba}}}, + {X: Field{[10]uint32{0x0105f5f0, 0x008b9671, 0x023b121d, 0x031e3338, 0x01d3b52b, 0x0314fe44, 0x029fafe9, 0x01d76dd1, 0x0122cb04, 0x0011a7a4}}, Y: Field{[10]uint32{0x0058d812, 0x0138bf04, 0x0237ecb8, 0x0200276d, 0x0280d8a5, 0x01348b09, 0x025825fa, 0x02e9afd6, 0x03a838b2, 0x003f9d21}}}, + {X: Field{[10]uint32{0x0160e6ab, 0x018ed364, 0x00c1c06d, 0x0061c307, 0x0072a5e7, 0x02cc3e39, 0x01f816e8, 0x00a48ecb, 0x02bf06b6, 0x0007d28f}}, Y: Field{[10]uint32{0x01c89e2f, 0x031a9853, 0x02d39b77, 0x037a21c1, 0x011ebeeb, 0x00a6299f, 0x0138bd40, 0x02b86626, 0x02957602, 0x00263684}}}, + {X: Field{[10]uint32{0x03b86b0f, 0x01e3af54, 0x00773c2f, 0x00b743e9, 0x00411722, 0x01bd4428, 0x00226ac2, 0x03fc333b, 0x01fe1c12, 0x00363aa5}}, Y: Field{[10]uint32{0x006288d9, 0x03bd1ca3, 0x03f5b25f, 0x026e8075, 0x01f154b5, 0x03a4b092, 0x00bebb3c, 0x03ca4ee2, 0x039edde6, 0x000556fb}}}, + {X: Field{[10]uint32{0x0227cac6, 0x01ef53c4, 0x02527179, 0x017771fc, 0x002bb36f, 0x01c114c0, 0x014b2cf8, 0x0201c488, 0x03c797b3, 0x0006b628}}, Y: Field{[10]uint32{0x0057814c, 0x00f017d2, 0x02a1ccfa, 0x01741355, 0x0158398c, 0x03f3d47b, 0x00189576, 0x008dfc55, 0x03aa3755, 0x001a029d}}}, + {X: Field{[10]uint32{0x00fa7d66, 0x03b0c609, 0x0292a3fd, 0x02cb0caa, 0x00355540, 0x03c2c3e2, 0x01426469, 0x0349b836, 0x010405d1, 0x003ffa9c}}, Y: Field{[10]uint32{0x0034eac8, 0x03413089, 0x00ed4cb5, 0x02bcb299, 0x00081f67, 0x01c0bb75, 0x02c8db75, 0x0281b113, 0x00e22d8d, 0x003b2891}}}, + {X: Field{[10]uint32{0x0159d8ab, 0x0192b22e, 0x00f3fc17, 0x02e95764, 0x01d3abe9, 0x03f5bd9d, 0x02141c8c, 0x02226152, 0x03a3f7fc, 0x0012b156}}, Y: Field{[10]uint32{0x00be2bd2, 0x02f24efe, 0x039ce15b, 0x02d06f61, 0x03714821, 0x0062c412, 0x0252d141, 0x03edeff4, 0x0391f135, 0x00271eca}}}, + {X: Field{[10]uint32{0x03718ac4, 0x01ebd42e, 0x01536fe2, 0x02a72949, 0x02bc7061, 0x0196e280, 0x01de0eb8, 0x02933bca, 0x00677aa9, 0x0017e051}}, Y: Field{[10]uint32{0x00d9c042, 0x033c4064, 0x01b3669a, 0x0251cf8e, 0x022b8cb8, 0x00c07ec0, 0x00340716, 0x02c9bf99, 0x01dc4062, 0x002f6a59}}}, + {X: Field{[10]uint32{0x01dd88bb, 0x03ac551d, 0x0390388b, 0x029346b2, 0x02da5f96, 0x016607cc, 0x029f2130, 0x01d2612c, 0x03043791, 0x003cdcb2}}, Y: Field{[10]uint32{0x02367d89, 0x002ad186, 0x00efcb2a, 0x03b38cb1, 0x007ceda2, 0x01a50653, 0x00a0ea07, 0x03540068, 0x035c1e62, 0x0020b5a3}}}, + {X: Field{[10]uint32{0x0359b128, 0x0314c82e, 0x026927a3, 0x03c890f8, 0x02878ec6, 0x03efe92c, 0x03133753, 0x0011e0d8, 0x03c54576, 0x0003ec4a}}, Y: Field{[10]uint32{0x0153aef5, 0x01af9712, 0x03e17a92, 0x01dff5ef, 0x01961930, 0x009329a0, 0x01ac0cba, 0x0386d6ed, 0x011867da, 0x000fe080}}}, + {X: Field{[10]uint32{0x00c0ea07, 0x03fe0658, 0x02447316, 0x0286c2a4, 0x034adafe, 0x01ea5d1f, 0x03075601, 0x0128d3d0, 0x01ac918a, 0x000f65d6}}, Y: Field{[10]uint32{0x02018aaa, 0x02956695, 0x03ecc6fc, 0x0299defa, 0x00caa317, 0x02a5925f, 0x031d5dda, 0x00cc2ad9, 0x03cf6d6a, 0x00033676}}}, + {X: Field{[10]uint32{0x023e00ce, 0x015720bf, 0x02909844, 0x037d6390, 0x019f476f, 0x01a6f1f7, 0x0349be46, 0x014870fe, 0x02b3699c, 0x003ab82a}}, Y: Field{[10]uint32{0x0317259e, 0x01feb853, 0x00bdd977, 0x0078478c, 0x0362c7ef, 0x017a0228, 0x0377b562, 0x039f0a66, 0x00dd450e, 0x002eb73a}}}, + {X: Field{[10]uint32{0x011eb851, 0x002afb51, 0x0338455e, 0x01f49328, 0x0343718a, 0x0097b974, 0x0225d0e9, 0x033aa95d, 0x02eec2c0, 0x003fb494}}, Y: Field{[10]uint32{0x002c648f, 0x0296a2ba, 0x03b4c457, 0x007173c2, 0x00dd0721, 0x001d5bd9, 0x0166b277, 0x03bf3087, 0x02ae56ce, 0x0019aeed}}}, + {X: Field{[10]uint32{0x017f9dbd, 0x021e4e8b, 0x013c9bc0, 0x00be74c0, 0x022362af, 0x02eac2c8, 0x03fb04d3, 0x030f0505, 0x02bd022a, 0x003698e7}}, Y: Field{[10]uint32{0x022466d5, 0x029ed3a0, 0x0031c10a, 0x03a8f9e8, 0x003627aa, 0x00daef95, 0x034ed0d5, 0x03a7cbe9, 0x022055f1, 0x0020fc9d}}}, + {X: Field{[10]uint32{0x02ab90dd, 0x01f3f09f, 0x0282ce09, 0x029ab2b9, 0x0132ced2, 0x031c77e4, 0x00d3ac67, 0x0116bd35, 0x00ded773, 0x00149349}}, Y: Field{[10]uint32{0x02b7f5c2, 0x01e81d3e, 0x03b01b2f, 0x000221ec, 0x032d010a, 0x003f9f3f, 0x036f55c9, 0x01f170c6, 0x00f7c692, 0x003933d7}}}, + {X: Field{[10]uint32{0x00ae4f94, 0x03149a15, 0x021c4b24, 0x02917ef0, 0x0028672d, 0x00a185ed, 0x007cde0c, 0x02d830d7, 0x02d5fb52, 0x001f6b0b}}, Y: Field{[10]uint32{0x03794038, 0x023b83f9, 0x0309ea57, 0x02db4a0a, 0x02f6cc11, 0x034919b0, 0x035c4a2b, 0x022199c2, 0x007ae916, 0x00331ab3}}}, + {X: Field{[10]uint32{0x016083ae, 0x01472fb9, 0x03ea6f7c, 0x02728e24, 0x02887e5d, 0x003a4a46, 0x019d10d0, 0x03d67dae, 0x024dda61, 0x0017d1ad}}, Y: Field{[10]uint32{0x0283a8ae, 0x007cf678, 0x0182e5ee, 0x02e9f86d, 0x0109bfa6, 0x0155ca4a, 0x02dcfb9c, 0x00995541, 0x0055da25, 0x001810f4}}}, + {X: Field{[10]uint32{0x01e14aa3, 0x0258685f, 0x03635175, 0x0308e29f, 0x0348ef0f, 0x023177c3, 0x0241ec2b, 0x017c85b9, 0x0033b6a2, 0x002218fb}}, Y: Field{[10]uint32{0x02b42541, 0x032c4ac3, 0x037a117d, 0x020f683f, 0x0345b2a5, 0x01241956, 0x00292777, 0x016070be, 0x00f31e52, 0x00275986}}}, + {X: Field{[10]uint32{0x03a2f9f4, 0x035a9a0c, 0x02a03a1b, 0x03dcfa4b, 0x03b377f3, 0x03c9be47, 0x00184c7e, 0x016739b6, 0x00463ac4, 0x0021500d}}, Y: Field{[10]uint32{0x01b399cb, 0x03dc9e31, 0x01430438, 0x03c8ec32, 0x018f7719, 0x00c4ff8d, 0x012a5b18, 0x019266c9, 0x02968ac5, 0x000b47c4}}}, + {X: Field{[10]uint32{0x02223c7f, 0x032b7597, 0x03201379, 0x009d7adf, 0x006a325d, 0x018899ad, 0x0251dbc3, 0x0104aff9, 0x03f6217e, 0x0002fdac}}, Y: Field{[10]uint32{0x03ba748b, 0x02c6bbe5, 0x03eaf0a9, 0x0035abc6, 0x01ebfad9, 0x03bb8f7b, 0x0041e7dc, 0x029157ec, 0x0154c14a, 0x00284582}}}, + {X: Field{[10]uint32{0x02d9e59d, 0x009396af, 0x03ffc771, 0x00662e86, 0x03860ca2, 0x0026a933, 0x02079ea4, 0x0184d52a, 0x002d3c18, 0x0012c808}}, Y: Field{[10]uint32{0x035b8873, 0x017a2a43, 0x002bab55, 0x01154418, 0x007703eb, 0x03c47641, 0x01d858f2, 0x0302c2e9, 0x0103c107, 0x0027da11}}}, + {X: Field{[10]uint32{0x02421dd2, 0x01a96a81, 0x03e28268, 0x03c989f2, 0x0199c050, 0x009ed64c, 0x024f5331, 0x02692ce8, 0x00806d67, 0x001021fe}}, Y: Field{[10]uint32{0x0188e8b9, 0x01c1f4af, 0x0121b5a5, 0x0105627e, 0x01698800, 0x0263d696, 0x008c8836, 0x035220cf, 0x0184b3d9, 0x00120e2b}}}, + {X: Field{[10]uint32{0x0297b79c, 0x0244c6bf, 0x02ac766d, 0x00131e43, 0x00538775, 0x01693f0d, 0x01b91e00, 0x01d01a8b, 0x0287cb2e, 0x000569e4}}, Y: Field{[10]uint32{0x014a238a, 0x029069ae, 0x003fadf2, 0x033ee5aa, 0x031bd597, 0x00b18583, 0x03ce497c, 0x01cb8f4f, 0x03220765, 0x0027d3bc}}}, + {X: Field{[10]uint32{0x03bcecbe, 0x026cd0f8, 0x02812273, 0x0029f888, 0x02404fb1, 0x032cf502, 0x0233d61b, 0x012f13fc, 0x0063c052, 0x000713e8}}, Y: Field{[10]uint32{0x02d48bd6, 0x0231cf58, 0x003533aa, 0x02cafd34, 0x03d39c90, 0x035cc2ca, 0x0209e9eb, 0x00bbae5c, 0x01eca2d8, 0x000aa158}}}, + {X: Field{[10]uint32{0x01f2a636, 0x0058ed6b, 0x02c2656d, 0x029b5221, 0x02bb50b8, 0x014c4bca, 0x03936c18, 0x02cb1499, 0x03a743c1, 0x00281c22}}, Y: Field{[10]uint32{0x031a20ea, 0x017a534d, 0x00324584, 0x0188d669, 0x007dc66a, 0x004b874b, 0x01b81550, 0x022331b2, 0x01f19169, 0x002563d1}}}, + {X: Field{[10]uint32{0x00acad7d, 0x00de4f3a, 0x02858c21, 0x0152c4a6, 0x0109b797, 0x00b8cfff, 0x009d71f0, 0x010b9b84, 0x034df01a, 0x0035e582}}, Y: Field{[10]uint32{0x03deb920, 0x03078676, 0x00707d81, 0x024d8c46, 0x02335661, 0x03195cc2, 0x003d0e1d, 0x0074ad87, 0x01aa5a84, 0x00232bc6}}}, + {X: Field{[10]uint32{0x038ba611, 0x030c902f, 0x03789daa, 0x01b9ba28, 0x02a7c450, 0x03f286cc, 0x0225ba38, 0x01c3565b, 0x006bf8ba, 0x001e80f7}}, Y: Field{[10]uint32{0x037d9028, 0x021293df, 0x03881fcb, 0x0207425a, 0x00048a36, 0x01dcf85c, 0x023e378b, 0x01a15969, 0x0222292d, 0x001c3c67}}}, + {X: Field{[10]uint32{0x03443b97, 0x00e3c971, 0x01dbac2f, 0x0281c9bf, 0x01da516c, 0x01b20ea9, 0x0189850c, 0x00d0470e, 0x0262a8fa, 0x0014ea69}}, Y: Field{[10]uint32{0x03945e25, 0x03fd6780, 0x0036e140, 0x0316e00c, 0x022adcfd, 0x01134797, 0x013279e8, 0x030c6fcc, 0x02506179, 0x00177ab0}}}, + {X: Field{[10]uint32{0x02b2cdf7, 0x0143673f, 0x036f20a4, 0x02ca1da0, 0x01b7ee99, 0x0306eeaa, 0x0269af63, 0x00361bff, 0x02b63dbb, 0x0021ae51}}, Y: Field{[10]uint32{0x0374b1fa, 0x012d6603, 0x03a62ed7, 0x03006665, 0x037cbc39, 0x00793c4c, 0x018ea1ba, 0x038a9b2c, 0x0383d3d0, 0x0011101d}}}, + {X: Field{[10]uint32{0x03752d8e, 0x0054b9bb, 0x019babef, 0x03fee9c7, 0x036b28c8, 0x0034908f, 0x01567262, 0x012d1bda, 0x00f5cb88, 0x00033a07}}, Y: Field{[10]uint32{0x02a9248c, 0x02d50117, 0x009262d0, 0x03fca243, 0x02979177, 0x001306aa, 0x01bf924c, 0x019130d2, 0x01738120, 0x001d6bf6}}}, + {X: Field{[10]uint32{0x01172ed9, 0x033a4b78, 0x02b8fbc6, 0x010c4ce8, 0x037b791d, 0x01f55f51, 0x006cb9e4, 0x0134b67e, 0x02413a46, 0x0010441b}}, Y: Field{[10]uint32{0x036741c6, 0x031be87d, 0x03374d2e, 0x00a9cde6, 0x002ce4e4, 0x01ce83e2, 0x01601a27, 0x0082e001, 0x00c230e9, 0x0038b291}}}, + {X: Field{[10]uint32{0x00b49777, 0x0106d288, 0x001524e1, 0x0328814b, 0x03bca3f1, 0x01eb1bda, 0x006541ec, 0x00284b95, 0x02a04e83, 0x003a707c}}, Y: Field{[10]uint32{0x02a58124, 0x0247e6cc, 0x0030886b, 0x0087d754, 0x005ca737, 0x0059c4b2, 0x0173fcd5, 0x004b08a6, 0x004308dd, 0x001477ce}}}, + {X: Field{[10]uint32{0x033bbf2c, 0x0173c579, 0x01511fce, 0x009d0943, 0x039be21f, 0x00554b8e, 0x0225775f, 0x03fcf92e, 0x012dc5e8, 0x0022ee78}}, Y: Field{[10]uint32{0x000d1152, 0x03c46a34, 0x0162f91e, 0x022af08e, 0x02b4d096, 0x03067137, 0x024fcf50, 0x00dcc070, 0x037a273c, 0x0022a08a}}}, + {X: Field{[10]uint32{0x00b6bd0f, 0x0165e9eb, 0x011399ad, 0x00f80a5f, 0x01697f3f, 0x03d9b80c, 0x0294c3ee, 0x01de4791, 0x02f1da22, 0x002c0163}}, Y: Field{[10]uint32{0x02205a2a, 0x016cbc2f, 0x02978c80, 0x0111f4ae, 0x01e5deb6, 0x03ffa009, 0x000bee68, 0x00e05363, 0x034a0579, 0x001fd6ea}}}, + {X: Field{[10]uint32{0x002522a5, 0x014da32b, 0x025c8db9, 0x015d2e1c, 0x006dfc35, 0x0137f2ac, 0x0202b780, 0x03f7594b, 0x002d8df5, 0x00077b75}}, Y: Field{[10]uint32{0x02bca540, 0x019567ad, 0x0254f5b4, 0x037bcd5d, 0x0024b918, 0x020ed86e, 0x03f4a8f9, 0x00349463, 0x00492373, 0x000c1569}}}, + {X: Field{[10]uint32{0x000ea544, 0x03cbbd0e, 0x01f7da46, 0x00f67571, 0x03e47181, 0x00af0e76, 0x005b0b51, 0x012ea4fd, 0x0248c679, 0x001d8694}}, Y: Field{[10]uint32{0x032c1292, 0x03442c20, 0x01fc5c60, 0x00217eb4, 0x029f7034, 0x016ea3b5, 0x018d0a39, 0x033ab178, 0x0130c4f5, 0x0006177b}}}, + {X: Field{[10]uint32{0x03aa5caf, 0x02ae2638, 0x00f2ffef, 0x021d4069, 0x03a17496, 0x004f06d6, 0x0020982a, 0x03433237, 0x0360e515, 0x0003c756}}, Y: Field{[10]uint32{0x00a0d91d, 0x03b673de, 0x00708e42, 0x02dd5265, 0x03ee6f9a, 0x03ad8fc1, 0x033a9e48, 0x03630805, 0x026c395f, 0x00157f5d}}}, + {X: Field{[10]uint32{0x0337425f, 0x0264ff6e, 0x002d7fba, 0x012f0c09, 0x02fb09ff, 0x00711156, 0x02ba0bf6, 0x0002a95d, 0x004c9b79, 0x0015a72d}}, Y: Field{[10]uint32{0x00c350b1, 0x01009c83, 0x026d0d33, 0x03a03895, 0x01c1131d, 0x031f768f, 0x038f646a, 0x038f5079, 0x00d2ff1a, 0x0037f7ae}}}, + {X: Field{[10]uint32{0x021851eb, 0x031e1f2e, 0x00776d22, 0x0045f734, 0x039c2dda, 0x0363e142, 0x0147a787, 0x00e7a146, 0x029ad998, 0x000f966d}}, Y: Field{[10]uint32{0x012e20b3, 0x03620d16, 0x036d434c, 0x017acb27, 0x03705074, 0x01fb13c9, 0x01d93583, 0x02c0c1af, 0x02a48bfe, 0x001ccb34}}}, + {X: Field{[10]uint32{0x01296967, 0x03a93125, 0x0087b0e6, 0x015ccb0c, 0x0181acec, 0x03f0221b, 0x02502403, 0x015a0a60, 0x022107b4, 0x00291b59}}, Y: Field{[10]uint32{0x01763d33, 0x006b3bee, 0x03464005, 0x02139849, 0x01461478, 0x026a0823, 0x0097a73f, 0x02c18890, 0x00f429a5, 0x00050333}}}, + {X: Field{[10]uint32{0x0079ab1c, 0x005b1194, 0x0392774d, 0x03fb6bad, 0x004ad70e, 0x0055d727, 0x000c427d, 0x014ee9f0, 0x019cf25c, 0x002e4839}}, Y: Field{[10]uint32{0x0045b67f, 0x0065f07c, 0x005c9d43, 0x017cdfd6, 0x039201ec, 0x0195ae4d, 0x01435a61, 0x02223475, 0x00f1d4ba, 0x00181858}}}, + {X: Field{[10]uint32{0x00bfa8c5, 0x0381adfe, 0x00713896, 0x03663417, 0x023b88b6, 0x02c9c36d, 0x03da1efd, 0x00dee7ab, 0x02e1e7d8, 0x0004b3c6}}, Y: Field{[10]uint32{0x01c99c0f, 0x03329a4e, 0x035d91e8, 0x01b52141, 0x03c4c1d6, 0x0273f62c, 0x0323d7be, 0x024d2c27, 0x0213181b, 0x00383599}}}, + {X: Field{[10]uint32{0x01c0ec1f, 0x03ce74e3, 0x0230287f, 0x0002f84e, 0x02eb93a9, 0x00ca0553, 0x00620e5a, 0x02b28b98, 0x03ae0a4e, 0x001aab49}}, Y: Field{[10]uint32{0x00a1f46a, 0x0189aee5, 0x008112fe, 0x01d0d0b0, 0x02d46814, 0x0315ff5e, 0x03e8cd2d, 0x0054e789, 0x01c5caa2, 0x0024c855}}}, + {X: Field{[10]uint32{0x00f870a0, 0x00d0fb2b, 0x01c36ce9, 0x03e487dd, 0x008d168b, 0x0301b06e, 0x03489166, 0x019afa0a, 0x014e7cb1, 0x0004d336}}, Y: Field{[10]uint32{0x01453236, 0x02230ec2, 0x014c0fab, 0x039f9cf4, 0x012f7c8f, 0x03c268e6, 0x02a51cff, 0x03f517a0, 0x03c5e956, 0x0010a99c}}}, + {X: Field{[10]uint32{0x023989ee, 0x027d6d56, 0x00e2c56d, 0x0063729a, 0x02429b1d, 0x0072173b, 0x002971fa, 0x031e1a31, 0x018c7b7c, 0x00357735}}, Y: Field{[10]uint32{0x01208100, 0x01989388, 0x035c5e31, 0x002bc2ed, 0x0345bedd, 0x028ce2f1, 0x01a05297, 0x032b93b3, 0x0130ef1b, 0x00383290}}}, + {X: Field{[10]uint32{0x020d8c8e, 0x02b27403, 0x02861f66, 0x02f454e2, 0x033e3567, 0x01a47cce, 0x01fa4cdb, 0x02422e41, 0x0134c344, 0x00254759}}, Y: Field{[10]uint32{0x017046f1, 0x017cc1bb, 0x039f9d57, 0x024669f5, 0x0295a5f6, 0x0114957d, 0x001a9903, 0x01e4a19a, 0x0122eb84, 0x003bbcd6}}}, + {X: Field{[10]uint32{0x01cdd0fc, 0x019973f0, 0x01e27b33, 0x02ea59bb, 0x02690af0, 0x02d48455, 0x0184c9c9, 0x025935db, 0x004b25f7, 0x0033b6e9}}, Y: Field{[10]uint32{0x03c79e7e, 0x006de6a1, 0x037d94c2, 0x009246a3, 0x02187e71, 0x024cc5ad, 0x007b6b64, 0x026bc746, 0x0049cb8e, 0x00201aa4}}}, + {X: Field{[10]uint32{0x00a10b54, 0x01bd2ab6, 0x02a2049c, 0x03445124, 0x01d1c7d2, 0x00afb285, 0x02bd39d3, 0x01afb8a6, 0x0260d130, 0x0013fc0d}}, Y: Field{[10]uint32{0x02d1e574, 0x0389dcc1, 0x01893d99, 0x01774bfc, 0x014990f2, 0x039c7da2, 0x02e8bc8b, 0x0265478d, 0x02698fd8, 0x0030b1d7}}}, + {X: Field{[10]uint32{0x022e0ca7, 0x0010b3b3, 0x01824389, 0x0289a0ee, 0x00c78061, 0x037edc80, 0x03b77020, 0x019197a1, 0x01088dbd, 0x003022f5}}, Y: Field{[10]uint32{0x008d7307, 0x024c957e, 0x03e78417, 0x02d82318, 0x011db329, 0x00ea7c5c, 0x02408842, 0x0125eac5, 0x01d61343, 0x00158806}}}, + {X: Field{[10]uint32{0x03f9857d, 0x03f576d2, 0x01e3a07a, 0x02a09d28, 0x00955bdd, 0x022eb0c6, 0x005cdd22, 0x033ac8ee, 0x00aa6fd2, 0x001237f7}}, Y: Field{[10]uint32{0x020287ce, 0x017fe8ba, 0x011710d5, 0x02d450c7, 0x00af60f4, 0x0390a555, 0x014e76fc, 0x019ee945, 0x022e8961, 0x000a9198}}}, + {X: Field{[10]uint32{0x02a1f236, 0x02b3fcc5, 0x03ceebbf, 0x01e68ce8, 0x02802c14, 0x01c094e0, 0x0376b471, 0x03e20f2f, 0x0100d81a, 0x00101082}}, Y: Field{[10]uint32{0x0385e3f7, 0x01a346de, 0x01b4be41, 0x01bbc678, 0x007831e9, 0x02d50957, 0x00f50fa2, 0x02d4ecc2, 0x00e0dbbc, 0x00219811}}}, + {X: Field{[10]uint32{0x022bdc42, 0x00bcdf8c, 0x0156f8b1, 0x01080ec4, 0x02ec1e31, 0x03a64823, 0x02c20184, 0x019f1dc3, 0x007b23b6, 0x0025a8dd}}, Y: Field{[10]uint32{0x00f22ab2, 0x01f3618f, 0x03af798c, 0x03d29281, 0x03dc7545, 0x034c975b, 0x010b04ba, 0x01191ccc, 0x03c8df8c, 0x0019ec2c}}}, + {X: Field{[10]uint32{0x00460182, 0x0244caf2, 0x02784503, 0x0246a345, 0x03f1db3e, 0x00545212, 0x0361f0cb, 0x01e5a490, 0x017de403, 0x0033c1c0}}, Y: Field{[10]uint32{0x0397939d, 0x006ece4d, 0x0106799b, 0x0327996b, 0x00e2eb60, 0x01a5018e, 0x036e762f, 0x0278c343, 0x010762f2, 0x002de86c}}}, + {X: Field{[10]uint32{0x018beb15, 0x0173d688, 0x036dc080, 0x028f75c9, 0x0393507a, 0x01d7f756, 0x01b90ded, 0x02dbdeb4, 0x00b25b0b, 0x0004ad6e}}, Y: Field{[10]uint32{0x038933da, 0x02d5bb6d, 0x009aee89, 0x01942cd8, 0x015a5bc1, 0x01032866, 0x02d6368d, 0x02866e03, 0x03678cef, 0x00174f51}}}, + {X: Field{[10]uint32{0x03a46765, 0x0270de84, 0x0327dcd9, 0x0266f66d, 0x0177ecd2, 0x0062dbc6, 0x018b9ace, 0x039b64e6, 0x009ce866, 0x0021e6d1}}, Y: Field{[10]uint32{0x03781c63, 0x004ea0d8, 0x02baec6c, 0x0057c0f9, 0x01f0c452, 0x006a3679, 0x0350c4e9, 0x03ec4ab3, 0x00eb758c, 0x002c3120}}}, + {X: Field{[10]uint32{0x00c7dead, 0x01ee4283, 0x0121dd2b, 0x00332cdb, 0x01e50228, 0x00ffbc92, 0x03a401dd, 0x02807747, 0x0383e9d3, 0x000bb121}}, Y: Field{[10]uint32{0x01a67fce, 0x03c31fa1, 0x00703ca2, 0x020419e6, 0x0283fd8f, 0x03ad1a68, 0x01e61505, 0x038b2869, 0x012478f9, 0x003ec0a4}}}, + {X: Field{[10]uint32{0x037c3ce7, 0x008824d0, 0x03a83aee, 0x03eef61c, 0x025b7878, 0x0051655a, 0x03e8fcd2, 0x036c1ce7, 0x025827be, 0x001e7328}}, Y: Field{[10]uint32{0x00ac467e, 0x02073aa7, 0x015a8d33, 0x02c8b064, 0x00bee990, 0x03add2cc, 0x00b7c483, 0x021d4053, 0x0293d82e, 0x003fd222}}}, + {X: Field{[10]uint32{0x02dbd207, 0x00f37556, 0x01cd93e9, 0x0203526a, 0x028e146a, 0x00185aa9, 0x02b9eed4, 0x022dea09, 0x00ca3d2b, 0x00311129}}, Y: Field{[10]uint32{0x012d0f18, 0x03f09cc2, 0x032319d1, 0x003ee3f0, 0x00ac00ad, 0x037b41a1, 0x01ae3381, 0x00130950, 0x00a963d5, 0x001344da}}}, + {X: Field{[10]uint32{0x03f3e7a8, 0x0154a6f3, 0x03c267ee, 0x02298124, 0x02dbed32, 0x020d7a35, 0x024e2050, 0x0112c961, 0x0050cc0e, 0x000fb91f}}, Y: Field{[10]uint32{0x00a5f095, 0x0072a7a4, 0x0391f84e, 0x00c00f46, 0x00b6229a, 0x0117890f, 0x02496401, 0x02a1ef0c, 0x0339056e, 0x003e9554}}}, + {X: Field{[10]uint32{0x0009980c, 0x004b5f72, 0x020a81c0, 0x0364b464, 0x038e69e2, 0x03e6c3d1, 0x02251a29, 0x02edfd08, 0x01873036, 0x003a58f2}}, Y: Field{[10]uint32{0x01c52fd6, 0x009e8f15, 0x025e6180, 0x035b1fe3, 0x02140f92, 0x0202c5cf, 0x002bfa48, 0x02fcbc49, 0x03b0779b, 0x0003fe56}}}, + {X: Field{[10]uint32{0x008fc07d, 0x00473195, 0x008bd3f7, 0x01439a1b, 0x0023738e, 0x011be8e5, 0x024b747a, 0x02e2e6bf, 0x035bb6a1, 0x002abd81}}, Y: Field{[10]uint32{0x02f2b0cb, 0x0354866a, 0x0098b1bb, 0x01baef7e, 0x0253ab32, 0x03ad047a, 0x005bd162, 0x0328707a, 0x02ec6d11, 0x001336c2}}}, + {X: Field{[10]uint32{0x0157ac0f, 0x031d6150, 0x012986e4, 0x0357aa48, 0x02842b44, 0x0175c22a, 0x0174a18d, 0x01d5b638, 0x0017d8e9, 0x001a4792}}, Y: Field{[10]uint32{0x00c0c222, 0x03d01da8, 0x008c2d1f, 0x037ca7d4, 0x034bb9a8, 0x00be4a1c, 0x010eb157, 0x01eb5e03, 0x020b3bfa, 0x0027abae}}}, + {X: Field{[10]uint32{0x0344996a, 0x03821ff9, 0x03fd81d9, 0x02cc72bc, 0x00c77dbf, 0x020f6b63, 0x01c9d4c5, 0x01292250, 0x01bb45af, 0x0030f9bf}}, Y: Field{[10]uint32{0x008366f2, 0x010af258, 0x00a730e6, 0x01d2d526, 0x010b8694, 0x02b13a5e, 0x0207bfd1, 0x00a6e3fb, 0x011e65ab, 0x0032a663}}}, + {X: Field{[10]uint32{0x0140701f, 0x03002cc2, 0x013868ce, 0x03e00ccf, 0x02923ead, 0x01f17265, 0x032630be, 0x00973c87, 0x0320a55d, 0x003b6f58}}, Y: Field{[10]uint32{0x01e4889e, 0x005090d3, 0x003e3f7a, 0x0143dacb, 0x025e3d3d, 0x038a3e52, 0x00cd12bf, 0x03d79322, 0x02e7afce, 0x00359464}}}, + {X: Field{[10]uint32{0x0295d336, 0x02d30d3a, 0x005dad7c, 0x03b67536, 0x02b29684, 0x00f0dd04, 0x02fd2494, 0x0382e2b0, 0x0183a80a, 0x0032567b}}, Y: Field{[10]uint32{0x032b168b, 0x0268b869, 0x03e5f8b5, 0x023804bd, 0x014de5f5, 0x00965c30, 0x00b0e970, 0x03c94ab6, 0x02bb8dcc, 0x00203076}}}, + {X: Field{[10]uint32{0x02ed9237, 0x00f7e0cf, 0x0231274e, 0x03b76992, 0x022c5bc6, 0x034b573e, 0x00c90224, 0x0013a762, 0x01744710, 0x001de331}}, Y: Field{[10]uint32{0x02916c17, 0x00b724e4, 0x0360946b, 0x03f94730, 0x01675720, 0x02e48767, 0x012e502d, 0x007009ee, 0x01316b2a, 0x003ba88f}}}, + {X: Field{[10]uint32{0x03b42055, 0x02bf2598, 0x02d9a5c2, 0x011b4fef, 0x00173e7e, 0x036634b0, 0x03299f81, 0x015abd0f, 0x00388c36, 0x00287e1d}}, Y: Field{[10]uint32{0x016f4afc, 0x0261e9f5, 0x0284eabb, 0x03fb71ca, 0x015d874a, 0x0264d9e1, 0x0150e79b, 0x035b16cc, 0x00430820, 0x00042f21}}}, + {X: Field{[10]uint32{0x00224a5d, 0x008247da, 0x036a3d00, 0x020dd503, 0x028f7fa5, 0x00f410fb, 0x01a1839c, 0x022e2b36, 0x030b2d5f, 0x00322b5f}}, Y: Field{[10]uint32{0x03aebf8b, 0x017c6471, 0x01ec38e6, 0x02d4455f, 0x022a1cd4, 0x0229ff92, 0x01507cf1, 0x016e68b4, 0x0180eebe, 0x000c062d}}}, + {X: Field{[10]uint32{0x0020055f, 0x020436d2, 0x02d20bea, 0x01028a9e, 0x031ecf38, 0x02b9d9fd, 0x024e4261, 0x03f5eedf, 0x02640b93, 0x00309754}}, Y: Field{[10]uint32{0x025ad684, 0x027a3891, 0x03524c34, 0x03b0e851, 0x02bf331a, 0x02d23b4c, 0x01fffbce, 0x00ac3e8a, 0x00c76e3f, 0x003e8572}}}, + {X: Field{[10]uint32{0x0178f92b, 0x018afd7a, 0x032f2ccc, 0x01de22d7, 0x03283168, 0x02cb61ce, 0x03224dcc, 0x02feb6eb, 0x02eb7e4c, 0x00342e5c}}, Y: Field{[10]uint32{0x03ab8e3b, 0x0390837d, 0x03f56e94, 0x00c61082, 0x0275610b, 0x008f9e1e, 0x03bcb4cf, 0x01614aab, 0x00a1606a, 0x003bd74f}}}, + {X: Field{[10]uint32{0x030a2d07, 0x02010ac6, 0x014ab56c, 0x0146ef0a, 0x02d393e8, 0x02604cad, 0x008791ab, 0x0111e591, 0x00835856, 0x003e2d13}}, Y: Field{[10]uint32{0x0070a27c, 0x007b7fba, 0x00ed0b8e, 0x000756ec, 0x022dbe0c, 0x03239d93, 0x0051362f, 0x0102fba6, 0x02bf0420, 0x0030a090}}}, + {X: Field{[10]uint32{0x025666b7, 0x02df20f6, 0x02d368ac, 0x00641469, 0x005d9424, 0x00bf448d, 0x0010adc1, 0x02ab78e5, 0x01016f72, 0x0039f2e2}}, Y: Field{[10]uint32{0x02b21697, 0x01070d75, 0x00f63953, 0x02032c3e, 0x03f0c87e, 0x00e8595b, 0x014ee6c5, 0x03675fbf, 0x012246b6, 0x00378d9d}}}, + {X: Field{[10]uint32{0x0279d87f, 0x031d0930, 0x02167fb2, 0x03925733, 0x01f40f93, 0x01317abd, 0x02894786, 0x03d2aa4b, 0x028f14e3, 0x00022c84}}, Y: Field{[10]uint32{0x00f5d246, 0x02c39243, 0x00c11cbe, 0x0356e0c1, 0x02699926, 0x020c0c0f, 0x0012068a, 0x02d2c406, 0x004af469, 0x0039fb4e}}}, + {X: Field{[10]uint32{0x013b4afb, 0x01023d42, 0x00317658, 0x0075e17a, 0x001f3f63, 0x02d6cc7d, 0x036a5f3a, 0x035618e2, 0x01db3cbc, 0x003cd36d}}, Y: Field{[10]uint32{0x003dd3d9, 0x00c3f543, 0x02f2d56e, 0x018d3263, 0x005bf112, 0x03ff06b1, 0x031a1c74, 0x02119be8, 0x0372bb2c, 0x0037f39c}}}, + {X: Field{[10]uint32{0x00aabdb8, 0x017570bb, 0x01c86a96, 0x03937494, 0x0110b4fe, 0x03294cee, 0x00a48eab, 0x035a176b, 0x0209a445, 0x0030da27}}, Y: Field{[10]uint32{0x0279e3f4, 0x007c8bc5, 0x017a155c, 0x01f8e964, 0x03d62e18, 0x0101d747, 0x03efbe4f, 0x00feef0c, 0x005a6a26, 0x001e0134}}}, + {X: Field{[10]uint32{0x03005cbc, 0x022832cf, 0x00a78d70, 0x0128ad1f, 0x03f1e47d, 0x0025624b, 0x0266d626, 0x0284341e, 0x01ecf776, 0x001ffe65}}, Y: Field{[10]uint32{0x026ea90d, 0x0317ab32, 0x019f5cd5, 0x0343a4a6, 0x000e3911, 0x01b420a2, 0x00a4d115, 0x0390c337, 0x03745f17, 0x003b7371}}}, + {X: Field{[10]uint32{0x027d4d27, 0x0094fb10, 0x028e41c0, 0x035873f2, 0x010db78b, 0x0108faed, 0x03183512, 0x012fe5a6, 0x02626223, 0x000d98a8}}, Y: Field{[10]uint32{0x002e1b09, 0x032aeb07, 0x0199fc41, 0x026de6d2, 0x03d550ef, 0x032b28da, 0x000f671c, 0x039a703d, 0x00420f07, 0x00222988}}}, + {X: Field{[10]uint32{0x0354e8d1, 0x00ed050f, 0x03951176, 0x03a45852, 0x00b6b4eb, 0x01281ce2, 0x00e66ee2, 0x0310ba5c, 0x002e06d9, 0x000b049f}}, Y: Field{[10]uint32{0x03dd6629, 0x01672743, 0x0193aaae, 0x008d808b, 0x00856be0, 0x012b6b8c, 0x0226c8ff, 0x02b7eabe, 0x02b8dacb, 0x00291dcf}}}, + {X: Field{[10]uint32{0x02c17802, 0x03594552, 0x02cb37f6, 0x002e33e6, 0x02b7dfcb, 0x03f8c2df, 0x014863a9, 0x00587ff6, 0x03a6116f, 0x0031083f}}, Y: Field{[10]uint32{0x010a028c, 0x02c50ef9, 0x03bc0079, 0x025cbba3, 0x017fd76d, 0x017b6a30, 0x019e9cf9, 0x023db212, 0x029c25c6, 0x0039b311}}}, + {X: Field{[10]uint32{0x02e3de0d, 0x01de11fa, 0x0169b50c, 0x029f9ff2, 0x0034d386, 0x00c85d1a, 0x002f06fd, 0x010f7563, 0x03432203, 0x001de259}}, Y: Field{[10]uint32{0x01fd9369, 0x01529348, 0x021f8570, 0x016589e4, 0x00cd9067, 0x00a7a4aa, 0x00bcd7d6, 0x037365c4, 0x019e4408, 0x0010d435}}}, + {X: Field{[10]uint32{0x009f5827, 0x009c4e4d, 0x03c83dc1, 0x023c644c, 0x03714768, 0x00dbfc3d, 0x0334f9b6, 0x0372d00c, 0x002c1a14, 0x0033dfa9}}, Y: Field{[10]uint32{0x019e6d9d, 0x02547776, 0x00a29f8e, 0x02259918, 0x020ad1a6, 0x025792a9, 0x01c28468, 0x03e7744e, 0x0080166b, 0x002e700b}}}, + {X: Field{[10]uint32{0x0273a91f, 0x0057e969, 0x036309d8, 0x0211fdd4, 0x02417b1c, 0x00f27e5b, 0x028ab1b3, 0x02af76b6, 0x0039ab1f, 0x00345e4d}}, Y: Field{[10]uint32{0x02d3b3e0, 0x003473f3, 0x0105f9bc, 0x03496903, 0x03b429ad, 0x02699f43, 0x019f6f7f, 0x0106c8ec, 0x02593b59, 0x002b04f5}}}, + {X: Field{[10]uint32{0x0292b420, 0x0193c0a7, 0x0026be98, 0x01dd29d0, 0x02547225, 0x004cf727, 0x02f58630, 0x0379c314, 0x00d6727d, 0x002ec55a}}, Y: Field{[10]uint32{0x02af3992, 0x01c32548, 0x02fe70b1, 0x00af856a, 0x009e137d, 0x03bb8a70, 0x02adf80c, 0x01d31b31, 0x0356268d, 0x002d5951}}}, + {X: Field{[10]uint32{0x03877dcc, 0x037a9eb6, 0x0020535c, 0x00b5de37, 0x03ce07c4, 0x00c6ea4f, 0x00681772, 0x02968e9d, 0x02d783e8, 0x001cca44}}, Y: Field{[10]uint32{0x03df80a2, 0x01e3239d, 0x01bab06f, 0x034ffb4f, 0x011664f5, 0x0271ea51, 0x00ffd7c2, 0x02348f9a, 0x03881b12, 0x0034d2e0}}}, + {X: Field{[10]uint32{0x0297074c, 0x011a231c, 0x00afa908, 0x03748941, 0x034927b6, 0x01a134ed, 0x03e18651, 0x00cba0b0, 0x0371fb85, 0x0031d3c3}}, Y: Field{[10]uint32{0x01006ac1, 0x027c69ef, 0x0006a53a, 0x0350440a, 0x0235984b, 0x0341031b, 0x03e5a92d, 0x005e3a2f, 0x0261c0bd, 0x0027697a}}}, + {X: Field{[10]uint32{0x023283b0, 0x032f1a27, 0x00aac91f, 0x004cf25c, 0x031785a6, 0x00c18366, 0x00e9e494, 0x01683169, 0x01398bda, 0x002f53ea}}, Y: Field{[10]uint32{0x030e433a, 0x02973680, 0x0295c5d2, 0x02efc537, 0x02e79cfd, 0x032eb035, 0x01be1cac, 0x012d2516, 0x03edb661, 0x0018c753}}}, + {X: Field{[10]uint32{0x0341cc8f, 0x01971928, 0x03a72f24, 0x01e5ee26, 0x03e9bc2d, 0x0172daf4, 0x003e0c81, 0x004f4c92, 0x0062733f, 0x0027e995}}, Y: Field{[10]uint32{0x0212db04, 0x0280b89a, 0x0313010f, 0x03f0bc53, 0x01443505, 0x01289c54, 0x00ada32c, 0x02c635d2, 0x005bafc5, 0x001c147f}}}, + {X: Field{[10]uint32{0x035e31aa, 0x0101d130, 0x03d4a6cd, 0x03f8b07a, 0x03715168, 0x036f94ef, 0x02434a9d, 0x02fc7a05, 0x037dab3d, 0x003aba9b}}, Y: Field{[10]uint32{0x0384d61d, 0x0069eae5, 0x01e6a76a, 0x02c07dc2, 0x01a594b9, 0x03d2ea41, 0x0080619f, 0x00ae5b08, 0x02c24f20, 0x002e5a58}}}, + {X: Field{[10]uint32{0x0317a2fc, 0x01eff14e, 0x007516b9, 0x022925fe, 0x039a117c, 0x02e38954, 0x03e6d5b7, 0x01d413cc, 0x02b63b94, 0x002cf7de}}, Y: Field{[10]uint32{0x01758b9b, 0x006ef127, 0x025b5ec5, 0x03aa454a, 0x01f11f00, 0x0069d677, 0x03a62650, 0x039b3b5b, 0x0100a35a, 0x001cb7dd}}}, + {X: Field{[10]uint32{0x03281bbf, 0x0346b1b0, 0x017fa3a8, 0x0025c990, 0x034341df, 0x01438a53, 0x0219be99, 0x0122b915, 0x02cc46da, 0x003be1d7}}, Y: Field{[10]uint32{0x031c72f5, 0x010aecdf, 0x01bc28a6, 0x030ae7a3, 0x0351ced2, 0x00c1b261, 0x010eb6e8, 0x0016db5b, 0x0204af4c, 0x001eae78}}}, + {X: Field{[10]uint32{0x00024fdc, 0x01bcdb1c, 0x014e7fc2, 0x015d32fc, 0x033d7487, 0x03f29422, 0x002f234a, 0x0228e942, 0x0046576a, 0x001d30f1}}, Y: Field{[10]uint32{0x00136506, 0x03fa3877, 0x02ae88c4, 0x02725293, 0x03b6ccac, 0x027628c1, 0x01d2afbf, 0x01bea1cb, 0x01164ddb, 0x001cf55e}}}, + {X: Field{[10]uint32{0x00f39274, 0x00e11b43, 0x00e1acf3, 0x02096999, 0x00c06b71, 0x00ee8bc6, 0x00204933, 0x00b8f9b0, 0x032c409f, 0x00256712}}, Y: Field{[10]uint32{0x009aad47, 0x010bda0b, 0x015d945f, 0x027c68e6, 0x01d31991, 0x03716fb7, 0x03cd3980, 0x018a7edc, 0x035c7401, 0x0005f2ac}}}, + {X: Field{[10]uint32{0x009175fb, 0x01e6a6db, 0x00d69a94, 0x02f24bed, 0x03f67c24, 0x01ff7ead, 0x013b53c6, 0x014c4c65, 0x01d69419, 0x001013c3}}, Y: Field{[10]uint32{0x024d87b3, 0x0245ef7c, 0x01570147, 0x01e61bbf, 0x037e7d3e, 0x0350ac0d, 0x01560851, 0x01234eac, 0x01e7f40a, 0x00215f1d}}}, + {X: Field{[10]uint32{0x00e82075, 0x031248db, 0x03566807, 0x03bc05c2, 0x032db4ec, 0x0021504d, 0x01f4d5ab, 0x003d694f, 0x0111233b, 0x000f8101}}, Y: Field{[10]uint32{0x000df3d3, 0x000e09d8, 0x00e02b96, 0x03806de4, 0x021fda08, 0x019d4ec8, 0x0235ebf5, 0x00e10dde, 0x0271dd44, 0x003e4cdc}}}, + {X: Field{[10]uint32{0x00d77e6e, 0x01337c8b, 0x03bd3e04, 0x00ae5211, 0x00ecc869, 0x01ef6b01, 0x03993e74, 0x0370f87d, 0x005310df, 0x00250baa}}, Y: Field{[10]uint32{0x02a155e5, 0x039892e7, 0x00e51e02, 0x03e950a3, 0x01f33e9a, 0x023106c7, 0x0110bbe5, 0x02dba6d1, 0x03c8e688, 0x002efcbd}}}, + {X: Field{[10]uint32{0x0103b532, 0x01b3a873, 0x02c0a3fe, 0x0247842c, 0x01dce217, 0x03406028, 0x01938097, 0x0297ee15, 0x02749883, 0x000795de}}, Y: Field{[10]uint32{0x0041c003, 0x005fb0eb, 0x01790194, 0x004b5773, 0x007b5756, 0x009e3a1e, 0x02530007, 0x0178576e, 0x022f856f, 0x002851d9}}}, + {X: Field{[10]uint32{0x03feaa5a, 0x01cb13db, 0x014c8ae4, 0x03f9f156, 0x037a05fb, 0x001ff928, 0x02e9dfa6, 0x01ed9084, 0x015a8a23, 0x003af276}}, Y: Field{[10]uint32{0x03f1162a, 0x011e55f9, 0x03c05b17, 0x0361ad2b, 0x038fec2f, 0x03e2d234, 0x015fb458, 0x0291f33c, 0x01c0e311, 0x000e501b}}}, + {X: Field{[10]uint32{0x03cac063, 0x00febc18, 0x00475277, 0x00dc7ecb, 0x01b90816, 0x02125862, 0x023d2280, 0x03f08084, 0x03601afd, 0x0031e3ab}}, Y: Field{[10]uint32{0x02b42de7, 0x020ecfcf, 0x029c76df, 0x033db07f, 0x01bacb42, 0x01b4e5be, 0x02e84c51, 0x00b7177d, 0x01b1e0c2, 0x000254c9}}}, + {X: Field{[10]uint32{0x036d34a0, 0x01a173f7, 0x01db8752, 0x01a80d5c, 0x004f2e53, 0x005f09e6, 0x00a3d0e1, 0x00134ad1, 0x0319a1d5, 0x002d6461}}, Y: Field{[10]uint32{0x00184abe, 0x013a6986, 0x02a356d5, 0x02c9798b, 0x0016beac, 0x03226414, 0x029828aa, 0x02df23e8, 0x00cb585c, 0x0026c07a}}}, + {X: Field{[10]uint32{0x020042cd, 0x0325e3a3, 0x01584bda, 0x0115297a, 0x02454f10, 0x031bdd6d, 0x0107dfdc, 0x0327464a, 0x033eb59f, 0x0021c1a9}}, Y: Field{[10]uint32{0x03dc3a49, 0x024a1b56, 0x001ce710, 0x037478d3, 0x004265e2, 0x02daa1fa, 0x028405a2, 0x01e35bd4, 0x03566f1f, 0x0022c6d7}}}, + {X: Field{[10]uint32{0x0312d6ca, 0x0154a741, 0x0230ae64, 0x0108e888, 0x00793e56, 0x01b8ab41, 0x00a92890, 0x012fedbd, 0x016e4ddb, 0x0024fa49}}, Y: Field{[10]uint32{0x02afdcea, 0x01aa3b5b, 0x01cd6975, 0x011e429d, 0x03d874f2, 0x0038e626, 0x000ea62f, 0x037fb0d9, 0x02dbd9b3, 0x0020ec90}}}, + {X: Field{[10]uint32{0x022ac295, 0x031bfe7a, 0x0127fe9a, 0x02fd62ad, 0x03a24fff, 0x00755806, 0x0353956a, 0x03ce6f2c, 0x01af8702, 0x000b6b52}}, Y: Field{[10]uint32{0x03e4675b, 0x00e98949, 0x002fe277, 0x00450370, 0x00ed4036, 0x032b3a30, 0x000704e2, 0x001d8957, 0x00b8e604, 0x002d6bda}}}, + {X: Field{[10]uint32{0x036950a0, 0x00431513, 0x014f7597, 0x0193d0ec, 0x0086a2c3, 0x03af8ccb, 0x01627195, 0x00be9152, 0x00994da4, 0x0017ff06}}, Y: Field{[10]uint32{0x02c9bb88, 0x00c6b570, 0x0363f043, 0x00be6ea7, 0x014542ad, 0x036c14f3, 0x00e61419, 0x017ea888, 0x00a87981, 0x0008bab0}}}, + {X: Field{[10]uint32{0x001c51ba, 0x02982ff5, 0x02b6e69f, 0x02739b98, 0x00324c63, 0x00aed6b4, 0x0221bb8a, 0x029e6713, 0x01bb1832, 0x001c6f82}}, Y: Field{[10]uint32{0x00dda472, 0x03c8e355, 0x01656e4f, 0x03730578, 0x01950588, 0x0153ac92, 0x0040767b, 0x016e3ca3, 0x03c5719a, 0x0031489f}}}, + {X: Field{[10]uint32{0x02587212, 0x0303b59a, 0x002770ba, 0x0359115a, 0x0056d661, 0x037caeb1, 0x00a3cb37, 0x0267c299, 0x0305f927, 0x00013e50}}, Y: Field{[10]uint32{0x03c054ab, 0x007f04c4, 0x03344051, 0x01b5b403, 0x026baf79, 0x0363475f, 0x00ddc7ca, 0x020f5ae5, 0x011fbd86, 0x0013121a}}}, + {X: Field{[10]uint32{0x00f0ab81, 0x021ace98, 0x033bc54b, 0x02338b1a, 0x02b3aeb3, 0x017d8614, 0x024fc096, 0x0248fb98, 0x028b6fc2, 0x00157be1}}, Y: Field{[10]uint32{0x0222efab, 0x039b9e45, 0x01a0e72c, 0x037c8b70, 0x0376cff6, 0x0198147e, 0x014d0adc, 0x02d3314d, 0x02eaab16, 0x003b0662}}}, + {X: Field{[10]uint32{0x00fdab68, 0x0330d55d, 0x022790cb, 0x02f08d90, 0x00a357f6, 0x01028e56, 0x020953ed, 0x0276fc39, 0x019046e1, 0x0009ab55}}, Y: Field{[10]uint32{0x02795508, 0x03ecfc3e, 0x025e2184, 0x039d36f0, 0x00e5bb77, 0x002f1a25, 0x03c6a746, 0x00870154, 0x01ef9067, 0x002bdbf1}}}, + {X: Field{[10]uint32{0x0037312a, 0x03307c3b, 0x0150384f, 0x01a63ba3, 0x02bc051a, 0x00e406fc, 0x000b0ae4, 0x01c554e7, 0x003ab1b0, 0x001ce7ed}}, Y: Field{[10]uint32{0x006b7e28, 0x00f9d8db, 0x019e7a19, 0x02e1302d, 0x01ff90d6, 0x0379aad3, 0x00abe331, 0x008898b5, 0x03043c88, 0x0030488d}}}, + {X: Field{[10]uint32{0x0216771d, 0x026eb519, 0x02c6cc29, 0x0196a74c, 0x03d5a109, 0x00ba4497, 0x03422f82, 0x03d76a9e, 0x009d508c, 0x00085119}}, Y: Field{[10]uint32{0x001ca76e, 0x03348a74, 0x03a1a74a, 0x032b6776, 0x0376ddea, 0x01419f3a, 0x03ef96b3, 0x031117c0, 0x038c0e33, 0x000454c5}}}, + {X: Field{[10]uint32{0x03b97072, 0x036438ee, 0x03580ec8, 0x038d55b4, 0x014d5577, 0x014209e3, 0x02a85175, 0x023a3c5b, 0x023c16ee, 0x0018b311}}, Y: Field{[10]uint32{0x026a891e, 0x0218ffa2, 0x033fcb81, 0x03e8be6a, 0x0356b48e, 0x0244ce56, 0x02a6c91c, 0x03140211, 0x0043e299, 0x00334a52}}}, + {X: Field{[10]uint32{0x03ef9c21, 0x03ab0cd4, 0x031c9707, 0x0376e77f, 0x004317e1, 0x0103dd33, 0x00fdb006, 0x03c64345, 0x030133ed, 0x00004658}}, Y: Field{[10]uint32{0x0020494c, 0x00db4855, 0x020c8031, 0x0065841a, 0x00caa4f5, 0x03681c0d, 0x03851876, 0x03b9b5d0, 0x00e5e3a3, 0x003c5aad}}}, + {X: Field{[10]uint32{0x0289adcd, 0x0298c648, 0x03c162b4, 0x00d0099c, 0x03777d4e, 0x025554a1, 0x0315baed, 0x03e4fca3, 0x03863fda, 0x002c942f}}, Y: Field{[10]uint32{0x01b3d2c1, 0x0356b04e, 0x016f828a, 0x03bce7eb, 0x01da1e06, 0x02d0357e, 0x013543f6, 0x00f4a21f, 0x01bede34, 0x000a5701}}}, + {X: Field{[10]uint32{0x003e7c6c, 0x03d1bd92, 0x03e696f4, 0x002053a1, 0x01027ef0, 0x00b0666c, 0x010945a7, 0x011ce67c, 0x03bcae58, 0x0024e902}}, Y: Field{[10]uint32{0x02858a09, 0x03a32f2a, 0x0217389f, 0x03802bd9, 0x03f088e2, 0x0249a192, 0x03289a45, 0x0259d3d7, 0x00c02980, 0x00207b5c}}}, + {X: Field{[10]uint32{0x020978cc, 0x0230303d, 0x01f90eff, 0x03753eaa, 0x0019ff7d, 0x03a60978, 0x03e76b34, 0x0275d6c5, 0x021b4e90, 0x002e799d}}, Y: Field{[10]uint32{0x035aa117, 0x01e4241e, 0x0211b762, 0x00ef2634, 0x0165c75e, 0x03cb215d, 0x001b70fb, 0x0049c222, 0x01035fb9, 0x00190305}}}, + {X: Field{[10]uint32{0x00cfec24, 0x010d8344, 0x039beebf, 0x0146c08a, 0x00ae4547, 0x016cb702, 0x03e260cf, 0x026e91a1, 0x0012fe3d, 0x0013708a}}, Y: Field{[10]uint32{0x039a90d1, 0x00b7d7df, 0x01c4305b, 0x00b90c0c, 0x0227f082, 0x0135a015, 0x02e986da, 0x0204d554, 0x034a5685, 0x00270d7b}}}, + {X: Field{[10]uint32{0x009deadf, 0x020a1b13, 0x03540934, 0x00948d98, 0x03e198e2, 0x020f4b4e, 0x02b94ba6, 0x03e70901, 0x02b31127, 0x0010c49d}}, Y: Field{[10]uint32{0x001efb3e, 0x00e312b8, 0x03743139, 0x03237756, 0x02c26d39, 0x037232fb, 0x006280dd, 0x037e192d, 0x0184c7f1, 0x0008997b}}}, + {X: Field{[10]uint32{0x0283632a, 0x0042b2cd, 0x00360aa8, 0x00dae1e2, 0x03328f17, 0x033eaa45, 0x00b81d76, 0x0163d0ad, 0x02c3c990, 0x001d716d}}, Y: Field{[10]uint32{0x028f719d, 0x036d7142, 0x00464aff, 0x006ea03c, 0x014a5aaa, 0x026a243c, 0x02309ef4, 0x01edfdc2, 0x009fdef1, 0x001527c0}}}, + {X: Field{[10]uint32{0x02a827d7, 0x03be6773, 0x0357c815, 0x03a44ba9, 0x0326d4d4, 0x02920077, 0x02b1a377, 0x03dd0a5d, 0x0027205a, 0x000f2400}}, Y: Field{[10]uint32{0x00649cc0, 0x015e2c42, 0x0184c83c, 0x01183f9c, 0x02007a24, 0x00ce76ac, 0x007fa7c0, 0x029f788e, 0x03f337ec, 0x00038a33}}}, + {X: Field{[10]uint32{0x0310d9ff, 0x01ebaacc, 0x0297f3a8, 0x02f4ea3a, 0x00c89637, 0x01708fcc, 0x03a8ab0d, 0x02e57c27, 0x031a3676, 0x0015983c}}, Y: Field{[10]uint32{0x011c568b, 0x035e1b2c, 0x03839efb, 0x01b0ae8f, 0x03955bb7, 0x01366bfc, 0x0092ff3e, 0x032829f6, 0x00d66bc4, 0x003581a7}}}, + {X: Field{[10]uint32{0x033babe9, 0x01e1bfd7, 0x02f618cd, 0x0351e6bd, 0x00e6733c, 0x02dc75de, 0x03979ce5, 0x037219fd, 0x00a41b45, 0x000ae2da}}, Y: Field{[10]uint32{0x01e4097a, 0x0314b163, 0x021ab40a, 0x0311b050, 0x03840f89, 0x02b66824, 0x00923f63, 0x006ccf08, 0x0244d544, 0x001f20c4}}}, + {X: Field{[10]uint32{0x01c18610, 0x00a73aa2, 0x01290442, 0x012cc0fa, 0x001d369d, 0x01acff28, 0x03578869, 0x02f3712c, 0x004db817, 0x00218d40}}, Y: Field{[10]uint32{0x02b909e2, 0x03b0ca5b, 0x0300c4c3, 0x00487f12, 0x007e9f35, 0x00563687, 0x0384cc05, 0x01b9af8b, 0x02402bd4, 0x00091cb6}}}, + {X: Field{[10]uint32{0x00cb28d0, 0x01a88d22, 0x03b693a5, 0x000f7193, 0x01b0d39d, 0x01b87b33, 0x03afbde4, 0x013e5e6d, 0x026b6eeb, 0x001b2646}}, Y: Field{[10]uint32{0x01c95620, 0x00467bd9, 0x013722bc, 0x00f93350, 0x030e0b75, 0x00fad11c, 0x0277188d, 0x018d4140, 0x034fc2cd, 0x0007977d}}}, + {X: Field{[10]uint32{0x0341570c, 0x02865fa7, 0x03a0ca52, 0x029258bf, 0x00554569, 0x0248a22e, 0x0298ed7e, 0x033246e5, 0x019d4283, 0x002b36b0}}, Y: Field{[10]uint32{0x02d7b66e, 0x00e94831, 0x01afeea0, 0x029be5f6, 0x02451d41, 0x01c5d0ae, 0x030c6bfe, 0x021507d4, 0x0187523c, 0x003e94db}}}, + {X: Field{[10]uint32{0x025fc6c0, 0x00a96591, 0x00abba3e, 0x03c2bad4, 0x0385bba7, 0x034a29f2, 0x00b107c3, 0x032ee552, 0x03a3f696, 0x002c525a}}, Y: Field{[10]uint32{0x006318ad, 0x00bbcf72, 0x0057a857, 0x02effd73, 0x03487740, 0x03a01e09, 0x03c8f8ea, 0x0129bb83, 0x00d5727a, 0x001dfedb}}}, + {X: Field{[10]uint32{0x01b09126, 0x01500d36, 0x03ec94d8, 0x01e2b6c1, 0x02c2c9f8, 0x01b44a39, 0x00cab31d, 0x03a7283f, 0x01b56098, 0x000ff65f}}, Y: Field{[10]uint32{0x022b4578, 0x01007cc8, 0x014a22c0, 0x012c09f8, 0x0324e37d, 0x022c91bd, 0x00451273, 0x038dd03f, 0x00361494, 0x0006f5df}}}, + {X: Field{[10]uint32{0x02aefce9, 0x00ab8bb0, 0x03338898, 0x03feb5e4, 0x02eb174c, 0x00271f3e, 0x036d5c44, 0x01a3b551, 0x0055f2a4, 0x0017a37e}}, Y: Field{[10]uint32{0x02a6845f, 0x02e32c4d, 0x0357a17e, 0x03b311bc, 0x01d50da8, 0x021c0610, 0x01771843, 0x032a2282, 0x02823bb8, 0x0014b9ce}}}, + {X: Field{[10]uint32{0x024672bd, 0x005021b1, 0x006613f8, 0x0076e503, 0x0062021a, 0x003ee4cb, 0x01e6fb0a, 0x032da7a5, 0x02eb1417, 0x00267c41}}, Y: Field{[10]uint32{0x03a6501d, 0x02097ffd, 0x015337e9, 0x010f4613, 0x01e484d8, 0x00709ff9, 0x02926e6a, 0x0000441a, 0x0038e1e7, 0x00279fec}}}, + {X: Field{[10]uint32{0x0251ef8c, 0x00c18e9f, 0x031f7ac4, 0x03f52971, 0x0068bb14, 0x03fc3882, 0x011d6864, 0x0361fff4, 0x00985526, 0x001a1bf1}}, Y: Field{[10]uint32{0x00588e5b, 0x01824651, 0x0224422f, 0x017d6cf5, 0x024137dc, 0x0383c8ff, 0x016dd6b2, 0x02be16f2, 0x0132d793, 0x00074a3d}}}, + {X: Field{[10]uint32{0x03f6b83d, 0x03e5af2f, 0x03b2093d, 0x0001582f, 0x00e4c836, 0x00dc3e19, 0x00f3a85b, 0x002f2a45, 0x0356cc45, 0x0033e977}}, Y: Field{[10]uint32{0x0137604b, 0x0017cee3, 0x0203f78b, 0x03c09938, 0x0261cf56, 0x023e05c1, 0x01d96c74, 0x03ff246c, 0x0246bab7, 0x0033bee6}}}, + {X: Field{[10]uint32{0x013e404e, 0x0022791c, 0x003e8b39, 0x01aa58aa, 0x02893760, 0x00d39f2f, 0x0241eed5, 0x025a4fdd, 0x034c3fbb, 0x002646da}}, Y: Field{[10]uint32{0x023f8d3e, 0x02d83baf, 0x03c7113b, 0x01e75611, 0x02098dab, 0x012e4ae2, 0x038a0a2f, 0x019a234e, 0x026bbe55, 0x000fffae}}}, + {X: Field{[10]uint32{0x03c8c0d7, 0x006ee484, 0x00bcd689, 0x038d5a4e, 0x032955c4, 0x0089b144, 0x021fa14f, 0x00487162, 0x01d3b9b0, 0x00344131}}, Y: Field{[10]uint32{0x00caa6e9, 0x003415ac, 0x0196a3d9, 0x00028244, 0x00091ddb, 0x0171ddce, 0x02cea218, 0x01f3f40c, 0x019a814d, 0x0002320e}}}, + {X: Field{[10]uint32{0x0355dfce, 0x00c652f8, 0x031bcad9, 0x03df1d2c, 0x03415a06, 0x0065093a, 0x01c9a407, 0x00d921d2, 0x0053a45c, 0x001d864a}}, Y: Field{[10]uint32{0x024ad2fc, 0x03cdd14c, 0x01ecf84e, 0x00de451d, 0x02b5517b, 0x00984f18, 0x02bc9345, 0x01404b5f, 0x02873cbb, 0x000c44e4}}}, + {X: Field{[10]uint32{0x01070725, 0x027ec6b9, 0x016c8805, 0x02e6069f, 0x0210c7f9, 0x014424ec, 0x01b1de5c, 0x0307d301, 0x00a80509, 0x0005ccc1}}, Y: Field{[10]uint32{0x001d353e, 0x0087e24d, 0x013d5f9e, 0x022ce630, 0x02800cdc, 0x01a48a5e, 0x03db2e9c, 0x020e5150, 0x0198c8e0, 0x0010efef}}}, + {X: Field{[10]uint32{0x03da104a, 0x02b94542, 0x014c46b7, 0x02a02c53, 0x019eacca, 0x0391bf25, 0x03f5b6a9, 0x01545041, 0x03e1d28c, 0x002b2815}}, Y: Field{[10]uint32{0x02bf6ce8, 0x02e90cf9, 0x017024dc, 0x03348fdb, 0x00cb00e6, 0x012dcae3, 0x0095be9a, 0x01dbfc60, 0x031770bd, 0x00385fc5}}}, + {X: Field{[10]uint32{0x0076dbaa, 0x0212274d, 0x02b04b7e, 0x017d839b, 0x0385b294, 0x00029f70, 0x00a73859, 0x023ec70c, 0x0150e009, 0x003ec809}}, Y: Field{[10]uint32{0x039a0f28, 0x013d597b, 0x0099645e, 0x008b7f0f, 0x03cedda9, 0x01fd1cf3, 0x03bc98c7, 0x031a36f4, 0x00203f72, 0x0006abe1}}}, + {X: Field{[10]uint32{0x011ae7ac, 0x021e6f38, 0x0101c08f, 0x026108b1, 0x03af1aa2, 0x00a562f8, 0x0366c66c, 0x01eae396, 0x010ca022, 0x003a56dc}}, Y: Field{[10]uint32{0x0397cf19, 0x00975427, 0x030a2c55, 0x01a36728, 0x00c745a9, 0x03b7407e, 0x0109022c, 0x03d2df6a, 0x00e1ab5c, 0x0039917d}}}, + {X: Field{[10]uint32{0x0044770a, 0x019bcf7a, 0x02a15147, 0x01b339df, 0x03ab136c, 0x033b517f, 0x01cf203c, 0x02ffe581, 0x025c3589, 0x001b6d14}}, Y: Field{[10]uint32{0x02658c81, 0x035a121c, 0x00903eb5, 0x02ecf167, 0x03799cd7, 0x00b01a62, 0x031d2958, 0x01612c8c, 0x0003f5f7, 0x0039adfd}}}, + {X: Field{[10]uint32{0x01085eb3, 0x01cc4ccd, 0x022c8fbe, 0x0229a592, 0x01169043, 0x0136e711, 0x03c2959e, 0x03ab9c57, 0x029e49da, 0x002224ea}}, Y: Field{[10]uint32{0x01987cdd, 0x031c2539, 0x00c10d01, 0x0316ebb2, 0x01bd15ce, 0x0197d8b2, 0x037a4b02, 0x00fced8d, 0x003eae80, 0x001c3ef6}}}, + {X: Field{[10]uint32{0x020207a0, 0x02505363, 0x01fd56e3, 0x03123ceb, 0x012cd9e2, 0x02a9e2f2, 0x01e3ece8, 0x02336a1c, 0x02cfac6e, 0x002f95fd}}, Y: Field{[10]uint32{0x0293d5f2, 0x0083cafb, 0x03aa1581, 0x0374daec, 0x028893ee, 0x0266a9ee, 0x00d141d8, 0x03e273f7, 0x007299ab, 0x001e05c2}}}, + {X: Field{[10]uint32{0x00b34925, 0x0232d508, 0x03562671, 0x03d16a79, 0x00a2f69b, 0x0340ad75, 0x0205ddd8, 0x0044a717, 0x02d285a0, 0x0001dfe9}}, Y: Field{[10]uint32{0x026455cc, 0x0136d14c, 0x03b97ce0, 0x02643805, 0x0337a2da, 0x0303b7fa, 0x0086288e, 0x0348633a, 0x023c13a3, 0x000c56ec}}}, + {X: Field{[10]uint32{0x01f4dc03, 0x02826e34, 0x01d00b2e, 0x02b65e37, 0x02061094, 0x019ffec3, 0x00834ca7, 0x0370cd8b, 0x03fe8414, 0x000bfb5e}}, Y: Field{[10]uint32{0x00117e01, 0x0378b166, 0x00ff20a6, 0x0182db13, 0x0363332a, 0x00047186, 0x01e434f0, 0x00f4c559, 0x00f7aa0b, 0x0005397a}}}, + {X: Field{[10]uint32{0x034d66c6, 0x03ab2242, 0x026a101a, 0x010b3a3b, 0x037f8af2, 0x03c0fb8f, 0x0343df2b, 0x006e87f2, 0x00d05a87, 0x0027d30b}}, Y: Field{[10]uint32{0x02922920, 0x0316502f, 0x01acf83b, 0x03d7f0d0, 0x03d0fd7d, 0x030e1388, 0x038a2abd, 0x01e21e3f, 0x0352f242, 0x003ad087}}}, + {X: Field{[10]uint32{0x01bea647, 0x03e9f297, 0x013ce7c8, 0x022eef07, 0x0015f0a4, 0x00dce0fc, 0x0203ef6e, 0x001332dc, 0x00b6824a, 0x0014f038}}, Y: Field{[10]uint32{0x01618cf9, 0x03f4e853, 0x00e91836, 0x0178416a, 0x0313c59d, 0x03a024e5, 0x01729f9b, 0x0328694e, 0x018d9246, 0x001aa6d6}}}, + {X: Field{[10]uint32{0x0117d714, 0x00eb62ab, 0x02fd5c0a, 0x02fded3b, 0x03bb20fd, 0x00cf5a3a, 0x037bba54, 0x01ae12da, 0x0082d790, 0x0036f033}}, Y: Field{[10]uint32{0x01cd7211, 0x031d9d8b, 0x02e37a4f, 0x038a14c1, 0x008aee42, 0x039798ce, 0x001b0904, 0x00b0e9be, 0x038623ff, 0x0017af07}}}, + {X: Field{[10]uint32{0x008f5f0b, 0x002a9b49, 0x02165af2, 0x01e10314, 0x02ca93a4, 0x004c7557, 0x01a8cbb8, 0x023811ec, 0x0332a3c0, 0x001e18ab}}, Y: Field{[10]uint32{0x03fc15d8, 0x03f70ce2, 0x02684f1e, 0x00ba36a4, 0x017e8c27, 0x021ecefe, 0x0367a645, 0x00d4f228, 0x02076b10, 0x002ed7d9}}}, + {X: Field{[10]uint32{0x031049ee, 0x013032a4, 0x037524e4, 0x0326e1d4, 0x01f8238f, 0x005724ec, 0x012bad80, 0x0162ddbb, 0x01fc8001, 0x00034d5c}}, Y: Field{[10]uint32{0x02a44bc3, 0x01af1d20, 0x0315f4d2, 0x03e549af, 0x0170a9e6, 0x0056bd12, 0x00872fa9, 0x00c2aa74, 0x01e83e66, 0x00058b72}}}, + {X: Field{[10]uint32{0x00589d9b, 0x022c2de2, 0x02a26e90, 0x036a23eb, 0x03b9f531, 0x037cd613, 0x02b98e55, 0x031d6190, 0x0094cebb, 0x002a1472}}, Y: Field{[10]uint32{0x0375b422, 0x009638ec, 0x020e1151, 0x03e6d7eb, 0x011e1af1, 0x02b90ceb, 0x01f38983, 0x0307bdc7, 0x015cadfa, 0x001d1c0b}}}, + {X: Field{[10]uint32{0x0258012d, 0x0005b3b6, 0x0131e972, 0x03e407c2, 0x012d9af1, 0x036cba21, 0x0178a08c, 0x03feab82, 0x03f4012e, 0x002a4b90}}, Y: Field{[10]uint32{0x002fb668, 0x000ee574, 0x013c6bb9, 0x01ec8ef0, 0x02535c68, 0x02094825, 0x01d7bd12, 0x005c3acd, 0x009d5560, 0x00363d68}}}, + {X: Field{[10]uint32{0x03cff6bb, 0x001fed7c, 0x0024c090, 0x00a74a0f, 0x02bb29e1, 0x01d83b36, 0x02658c64, 0x01a7210b, 0x02448b43, 0x001d72bf}}, Y: Field{[10]uint32{0x0355dc39, 0x011dec42, 0x015f53c9, 0x028bee88, 0x02db1ea5, 0x00751ce2, 0x02affab5, 0x00d54c78, 0x02e243c7, 0x00328384}}}, + {X: Field{[10]uint32{0x0041d006, 0x012114e3, 0x02b56a21, 0x01ddedb9, 0x02c48c41, 0x02008ed6, 0x017a2337, 0x0167b0bc, 0x00664db9, 0x00002ac0}}, Y: Field{[10]uint32{0x035d8b31, 0x00dc5d67, 0x029b7b5d, 0x01f7adcb, 0x01e3d338, 0x0101d62b, 0x02762fb9, 0x0145a7d1, 0x02fc3554, 0x00233e78}}}, + {X: Field{[10]uint32{0x01b7ecb7, 0x02fa9427, 0x027814a1, 0x03f55cfc, 0x00f89b9a, 0x011a747c, 0x00855bf0, 0x0084d060, 0x02f82e4b, 0x0009d443}}, Y: Field{[10]uint32{0x00fb87e1, 0x01570d2b, 0x00aeb900, 0x00337b1a, 0x03b0a1b2, 0x02fa67f4, 0x02073555, 0x0130187f, 0x00e886b5, 0x00083f80}}}, + {X: Field{[10]uint32{0x01b16d3a, 0x00b23293, 0x02c1d745, 0x03b8ed66, 0x03f4a6c2, 0x02727081, 0x021405c9, 0x009dede4, 0x01a8d388, 0x001dcffd}}, Y: Field{[10]uint32{0x00a52f8e, 0x010d6fbe, 0x002848d7, 0x02bcf9cd, 0x0200f75c, 0x01cc638e, 0x00806bd8, 0x03196ebf, 0x0231f51c, 0x0033d179}}}, + {X: Field{[10]uint32{0x02f45746, 0x03311547, 0x0386fe14, 0x00dcb890, 0x034293fc, 0x03686a3b, 0x0277e359, 0x02ff0edc, 0x0098e69e, 0x000be3cb}}, Y: Field{[10]uint32{0x0168ec06, 0x032b5026, 0x02c3642c, 0x0323fba8, 0x008150a6, 0x0012aaba, 0x003e4066, 0x02ae808f, 0x03ecc4dc, 0x003e1748}}}, + {X: Field{[10]uint32{0x0277f67f, 0x020f7a58, 0x001c061a, 0x01e19369, 0x01745756, 0x018d5b39, 0x00849522, 0x03438a82, 0x00daab8d, 0x00061e2b}}, Y: Field{[10]uint32{0x01477020, 0x011596b5, 0x009bb968, 0x00a039b4, 0x03ecbcc1, 0x03e922bc, 0x0296f05b, 0x0024b2b7, 0x028d064e, 0x00104b21}}}, + {X: Field{[10]uint32{0x035618c1, 0x02312f13, 0x029c4cad, 0x003d273d, 0x02c5a17b, 0x004dcfd8, 0x004f3cdd, 0x039389fb, 0x001aeac4, 0x000233ca}}, Y: Field{[10]uint32{0x01ed5973, 0x03f61bca, 0x02625cd9, 0x036d93fe, 0x027dbf09, 0x038cc0a6, 0x023911ed, 0x03a89f36, 0x019529c9, 0x000bc5fe}}}, + {X: Field{[10]uint32{0x008939f9, 0x0081a634, 0x01ec39ea, 0x00d9c5fc, 0x02a09579, 0x0370abbf, 0x010d1913, 0x00da7976, 0x009ff165, 0x000e965f}}, Y: Field{[10]uint32{0x000a14d4, 0x018ad3ac, 0x01926da4, 0x021bd624, 0x03a7b48c, 0x00262381, 0x03464b00, 0x028b7816, 0x03b290c9, 0x00230880}}}, + {X: Field{[10]uint32{0x010ca15e, 0x013eb2e5, 0x028ac505, 0x0242eeb1, 0x03b9ceec, 0x014a40e4, 0x029c8615, 0x0043fd77, 0x0205096f, 0x00032f8c}}, Y: Field{[10]uint32{0x03ee27f4, 0x00ae51d3, 0x02bd0547, 0x00b2b785, 0x039bf7c7, 0x00580072, 0x02b48557, 0x02e84b0c, 0x006ab76a, 0x00111b2c}}}, + {X: Field{[10]uint32{0x02fed594, 0x036c1055, 0x00bd53a8, 0x00017b98, 0x011cde71, 0x019511cc, 0x0013b09e, 0x0139c061, 0x01cf0822, 0x0010c4f2}}, Y: Field{[10]uint32{0x03329a96, 0x0275cd46, 0x023317ab, 0x0352af12, 0x000e80bb, 0x02809482, 0x001021f9, 0x016a32c6, 0x019dd304, 0x0037ebcd}}}, + {X: Field{[10]uint32{0x0373c60e, 0x03c3eaaf, 0x036882bd, 0x02ac67ed, 0x011f5cbf, 0x03697fe9, 0x009651b2, 0x02b7b0b6, 0x0351f8d8, 0x0033ab4a}}, Y: Field{[10]uint32{0x02a25897, 0x01472915, 0x0221bf84, 0x029fb4b4, 0x026dd3bd, 0x02fc512b, 0x03e79322, 0x03c3a31c, 0x00806992, 0x002aca89}}}, + {X: Field{[10]uint32{0x027b79a0, 0x03c9eb92, 0x020e52d8, 0x02b67e2f, 0x0298e34d, 0x017b9bbb, 0x01164b84, 0x01d8bd91, 0x008d0848, 0x002739d7}}, Y: Field{[10]uint32{0x02a30a05, 0x00a76f26, 0x03571d0a, 0x0166e458, 0x029f6275, 0x02dd0a89, 0x017c04c8, 0x02a419ae, 0x014fe11b, 0x0038155b}}}, + {X: Field{[10]uint32{0x026741d7, 0x0002224c, 0x013a96ba, 0x020c0759, 0x0310214b, 0x0308e11e, 0x02106bf8, 0x038957e4, 0x009c621d, 0x00180912}}, Y: Field{[10]uint32{0x004ea858, 0x03638b84, 0x03aa9b1f, 0x0021989b, 0x02abf63e, 0x01ae0b97, 0x01326210, 0x000803b2, 0x032480a9, 0x0002543a}}}, + {X: Field{[10]uint32{0x0308e51d, 0x0348bb57, 0x01e11546, 0x028f1a11, 0x011f55e1, 0x001c957f, 0x02c2638c, 0x01af3501, 0x02f0108f, 0x0034f1d1}}, Y: Field{[10]uint32{0x038dfab6, 0x002f3390, 0x0165e25d, 0x0069bff0, 0x0335ed4e, 0x015fbcf6, 0x001a776c, 0x031ce799, 0x03e5d349, 0x00344936}}}, + {X: Field{[10]uint32{0x036514b8, 0x03c9c5c4, 0x00c6352c, 0x03e6f3e9, 0x01a69c69, 0x00216537, 0x03b9e11e, 0x03088be5, 0x035cd85d, 0x00287ad7}}, Y: Field{[10]uint32{0x00a15fff, 0x01429f3e, 0x03b68007, 0x01d8c094, 0x00ff5e3f, 0x03768ee8, 0x0247ddd7, 0x03805dd8, 0x0135a393, 0x0011bb4f}}}, + {X: Field{[10]uint32{0x005a8736, 0x03dd5852, 0x03639721, 0x015ae0b1, 0x00e44065, 0x0305051f, 0x025f1c61, 0x030b2fea, 0x0357fa3a, 0x000ac928}}, Y: Field{[10]uint32{0x03d73ade, 0x00cc3346, 0x0243c018, 0x017d742d, 0x01ad192a, 0x015c8751, 0x00fd7aed, 0x02b5546a, 0x01bd707a, 0x00359c86}}}, + {X: Field{[10]uint32{0x0187b2ec, 0x0293db3f, 0x03306126, 0x00f98ba7, 0x02ab6a62, 0x00bb2d06, 0x00c9cfb4, 0x0005658f, 0x01ab9dc6, 0x00264068}}, Y: Field{[10]uint32{0x00339317, 0x033363fc, 0x01730633, 0x0307b899, 0x03eb5950, 0x032d0539, 0x037a3df6, 0x035fcbff, 0x0194017c, 0x0023dd99}}}, + {X: Field{[10]uint32{0x0077e8da, 0x02e65961, 0x037634ae, 0x0386c870, 0x0328a2a4, 0x01f56320, 0x018e6003, 0x038bc787, 0x00455890, 0x000c47a1}}, Y: Field{[10]uint32{0x00ce030c, 0x016415bb, 0x00829a04, 0x009c7987, 0x01e017e9, 0x019c0ef0, 0x030dd00f, 0x015d8a86, 0x03676cc7, 0x0033d64f}}}, + {X: Field{[10]uint32{0x0283bb77, 0x023b31e7, 0x008b367a, 0x0391bfba, 0x03122d27, 0x023ebd9b, 0x00ad8b8c, 0x003db8a6, 0x02e39714, 0x002417dc}}, Y: Field{[10]uint32{0x01b65257, 0x01c529bc, 0x019b4698, 0x022a84b8, 0x022d9852, 0x02d6c94e, 0x00b94fc1, 0x03099764, 0x015dbde9, 0x00300fc5}}}, + {X: Field{[10]uint32{0x0339350c, 0x00fd56e8, 0x0085e04a, 0x00cc09f7, 0x0039eafd, 0x02672ed3, 0x00c2f021, 0x000004bf, 0x03a5d594, 0x001877dd}}, Y: Field{[10]uint32{0x01049161, 0x0189a8b6, 0x0005f684, 0x008235b7, 0x01f36640, 0x035b903d, 0x030603f2, 0x026cfdce, 0x037d00de, 0x0009f222}}}, + {X: Field{[10]uint32{0x01f18c28, 0x010aeb17, 0x021295bc, 0x0353bc09, 0x030de36d, 0x03bb01b1, 0x016af906, 0x012c7577, 0x0199886d, 0x00387e38}}, Y: Field{[10]uint32{0x01ca45a8, 0x03e2add4, 0x025e29ec, 0x02d53196, 0x0056a98d, 0x039f98d2, 0x025bc4ba, 0x03abc4a1, 0x02e9b956, 0x00140b04}}}, + {X: Field{[10]uint32{0x03b8565a, 0x02181dbe, 0x02ac19b6, 0x0151e692, 0x029180e1, 0x001133e5, 0x01fe6a77, 0x0288701f, 0x01b83804, 0x002b78bd}}, Y: Field{[10]uint32{0x03066aca, 0x006f09bb, 0x01eee375, 0x03d915c5, 0x0198a9e6, 0x017499f9, 0x00985d6f, 0x005a30c2, 0x021d07c8, 0x00343597}}}, + {X: Field{[10]uint32{0x03268187, 0x0208779b, 0x01b88ea5, 0x021685d5, 0x009f7f6b, 0x018a202e, 0x0345dd5c, 0x03e5cab0, 0x00bb0154, 0x00315608}}, Y: Field{[10]uint32{0x00613086, 0x00795af3, 0x027a2124, 0x016b605f, 0x014dc35f, 0x0285d223, 0x03b698c8, 0x02996498, 0x03ea1e6c, 0x002446c3}}}, + {X: Field{[10]uint32{0x007778b5, 0x000e719b, 0x01d089f7, 0x023054b7, 0x02128588, 0x023330b4, 0x0164352b, 0x0083d14e, 0x026e3210, 0x003a8825}}, Y: Field{[10]uint32{0x034fc18c, 0x00a7c9a7, 0x00d3959e, 0x01b37786, 0x0166f547, 0x010d0a70, 0x03dc9bd6, 0x007949aa, 0x0191cdc8, 0x003250bd}}}, + {X: Field{[10]uint32{0x007e2bf5, 0x03d37d18, 0x007079f9, 0x022a3a03, 0x02220c90, 0x0387be12, 0x0301bbd3, 0x03f9699c, 0x012d9c2d, 0x000f15d5}}, Y: Field{[10]uint32{0x031f39e3, 0x000802f9, 0x00522b9f, 0x0153b542, 0x016fd347, 0x00997fd9, 0x031a0a17, 0x018e5cf9, 0x00ffbc4a, 0x003527e8}}}, + {X: Field{[10]uint32{0x03d4e1c3, 0x02825466, 0x0071feb5, 0x002f3dfc, 0x01a3fd5c, 0x012b6859, 0x028e1339, 0x00fb0167, 0x00c6e104, 0x003c6233}}, Y: Field{[10]uint32{0x03bfdbe4, 0x021814c1, 0x021cf944, 0x010428bf, 0x03db045c, 0x0081d926, 0x02fb1908, 0x01e740b5, 0x031fe53e, 0x0017c7cd}}}, + {X: Field{[10]uint32{0x011c8c6a, 0x00d790b0, 0x013cad48, 0x028b4729, 0x01447112, 0x029efed2, 0x015a146a, 0x008cba01, 0x03d27e72, 0x00280517}}, Y: Field{[10]uint32{0x01e679cc, 0x00f9270f, 0x02cc5024, 0x02fc8b1f, 0x00ceb874, 0x001c272c, 0x00bb675f, 0x00333031, 0x00a0e5e7, 0x001ef006}}}, + {X: Field{[10]uint32{0x016ff48e, 0x00f7e03c, 0x016bd9c9, 0x0362c5d0, 0x01c17b7b, 0x02d56061, 0x03857060, 0x00454c7e, 0x01e80c22, 0x0014d003}}, Y: Field{[10]uint32{0x01a6cc6f, 0x034cf690, 0x0244c89c, 0x0082299a, 0x002df873, 0x00dbaa5c, 0x00840b6a, 0x0197c794, 0x02473ba5, 0x003848a3}}}, + {X: Field{[10]uint32{0x0264b1ac, 0x03199d33, 0x019048c6, 0x02d14ae6, 0x01cc8960, 0x03566be1, 0x00e34821, 0x00df8d43, 0x012d009d, 0x00208457}}, Y: Field{[10]uint32{0x021eb048, 0x03ee7bed, 0x02f05e75, 0x00f7a489, 0x01bffc1b, 0x02e74620, 0x02adab03, 0x00309012, 0x0209659a, 0x002637aa}}}, + {X: Field{[10]uint32{0x01fe7c3c, 0x005e2516, 0x039681fc, 0x01f00c20, 0x028669cb, 0x01437389, 0x01e6e9d4, 0x01bc7312, 0x001853d8, 0x0009cf63}}, Y: Field{[10]uint32{0x00c2ea00, 0x01b44040, 0x008af2e1, 0x007dfdfe, 0x0314974e, 0x007beeb6, 0x00c25a25, 0x009b205d, 0x01aa8ad0, 0x001b154c}}}, + {X: Field{[10]uint32{0x025ee319, 0x019d46ee, 0x01bfe403, 0x032d6c16, 0x0041e68c, 0x03d0a3f3, 0x0233f4fb, 0x020645c3, 0x0216a7e3, 0x0000185b}}, Y: Field{[10]uint32{0x0106748a, 0x012c393d, 0x032eaba8, 0x031cfa2b, 0x007c7dc3, 0x032a64dd, 0x01173f5c, 0x00fbf6e6, 0x0121182a, 0x001f6f2b}}}, + {X: Field{[10]uint32{0x00b82812, 0x00df0058, 0x0277452c, 0x00409d7d, 0x00dc5666, 0x000cfc84, 0x0373402d, 0x0260487d, 0x016a76a3, 0x0019d862}}, Y: Field{[10]uint32{0x03302c9b, 0x001e0b99, 0x007ebe76, 0x03c688d8, 0x0111848d, 0x038b2339, 0x011184c8, 0x024e7e02, 0x01cf1b40, 0x001ff740}}}, + {X: Field{[10]uint32{0x01e508b9, 0x029b53e2, 0x01fe6dd4, 0x008248d1, 0x00bd6eb0, 0x005dedac, 0x0135bd9e, 0x00176849, 0x03aae976, 0x001dfdea}}, Y: Field{[10]uint32{0x007f0b9e, 0x0392d973, 0x01231889, 0x03e84358, 0x020dbf20, 0x02df24cc, 0x035fd19b, 0x020c37f3, 0x016ccc7b, 0x003ec126}}}, + {X: Field{[10]uint32{0x00bce311, 0x0232a8e6, 0x005a4a0d, 0x02299ec3, 0x01bc4b4a, 0x0007e73c, 0x02973785, 0x00aee8f6, 0x03173a2e, 0x00304bd9}}, Y: Field{[10]uint32{0x039a47a8, 0x000c67dd, 0x03853a33, 0x00cdb960, 0x01097cd1, 0x02db2d50, 0x00012aa3, 0x00500544, 0x018644d3, 0x0037a4c2}}}, + {X: Field{[10]uint32{0x018e66aa, 0x01fbe570, 0x03304ee7, 0x03ea9dae, 0x004afe8f, 0x037ce80d, 0x039d268d, 0x0154b236, 0x02de19c7, 0x001954e8}}, Y: Field{[10]uint32{0x00edb93c, 0x01dc181c, 0x037f5373, 0x033b26ee, 0x0169f95b, 0x014b4dd3, 0x034dbb77, 0x002edcab, 0x00107c18, 0x002469c8}}}, + {X: Field{[10]uint32{0x03b834e3, 0x031411ad, 0x013eec1f, 0x008f9a8f, 0x01bba980, 0x010032aa, 0x022e9363, 0x0106148b, 0x00be353f, 0x0003d52d}}, Y: Field{[10]uint32{0x0296f17e, 0x0190df23, 0x013a5124, 0x02d015df, 0x03ab6f78, 0x0065d16a, 0x035afde2, 0x03c7c2a0, 0x006cbdd5, 0x0025af9e}}}, + {X: Field{[10]uint32{0x02adbb2a, 0x016d2d03, 0x03c64c0d, 0x01f12d9d, 0x03f86be3, 0x016d3722, 0x03c806e4, 0x0194882e, 0x03c2a0fa, 0x0030b4c5}}, Y: Field{[10]uint32{0x0313ab6a, 0x03acd7b4, 0x02af58e8, 0x023528eb, 0x03100f07, 0x03266529, 0x00cb16df, 0x032aedc6, 0x0169bd68, 0x00315c42}}}, + {X: Field{[10]uint32{0x0389f384, 0x03fcc4c6, 0x03ccefe1, 0x010d04db, 0x02cc43e1, 0x01fd751c, 0x034b9c95, 0x02993f71, 0x03c6a5b8, 0x0014a959}}, Y: Field{[10]uint32{0x009e8f53, 0x01bde8a7, 0x01d485c1, 0x03a5f60d, 0x02d7de27, 0x02064a55, 0x005f7d6b, 0x00a62b75, 0x01bfa314, 0x000cc98c}}}, + {X: Field{[10]uint32{0x01ba4e20, 0x012881c7, 0x005e98d2, 0x03c666d3, 0x013530f0, 0x00c491ef, 0x01435278, 0x01104a21, 0x006c891a, 0x003df702}}, Y: Field{[10]uint32{0x034444aa, 0x0378d16d, 0x027e7b82, 0x000ffc41, 0x00da0550, 0x00121618, 0x02f5f751, 0x0166bac3, 0x0312452e, 0x001cd3b5}}}, + {X: Field{[10]uint32{0x02ec06c6, 0x008362c8, 0x00d3e905, 0x0147944b, 0x01b3f2ae, 0x039be3dd, 0x02d8d8cd, 0x036f032f, 0x03a97bb6, 0x002553e7}}, Y: Field{[10]uint32{0x005dd9bb, 0x030e76c6, 0x0378bf65, 0x00523c10, 0x005426f6, 0x02d3e085, 0x01b3017b, 0x01983d2f, 0x03bb8bd9, 0x002d96d0}}}, + {X: Field{[10]uint32{0x0204e87e, 0x0236c509, 0x0145e818, 0x02f905ad, 0x026def2d, 0x01dd7365, 0x0366947f, 0x01962082, 0x03984141, 0x000839a6}}, Y: Field{[10]uint32{0x00632539, 0x019fe24a, 0x01f51caa, 0x01361f7c, 0x030dcce0, 0x010fd808, 0x02e45a3d, 0x00ae6cd6, 0x02590bd1, 0x00399451}}}, + {X: Field{[10]uint32{0x0072ed1c, 0x039f15c3, 0x01dc3709, 0x0210aace, 0x0371bed4, 0x00c0a55d, 0x0187fb53, 0x00bc1110, 0x03822dc4, 0x00173796}}, Y: Field{[10]uint32{0x01a0ea9f, 0x00a4a66a, 0x03e41b49, 0x02f9d897, 0x03cea3dc, 0x00ff584d, 0x00416e75, 0x0016d425, 0x02d864e4, 0x00283dee}}}, + {X: Field{[10]uint32{0x0326421f, 0x00ec4c7e, 0x01c346e7, 0x0181779c, 0x0045b204, 0x027535ba, 0x02fd03f4, 0x02c370aa, 0x034c6ba6, 0x002d61b2}}, Y: Field{[10]uint32{0x00948744, 0x02b26ad6, 0x0116d2b4, 0x01a662ec, 0x026767b4, 0x001abee1, 0x01de6235, 0x028eca8c, 0x03e7c26e, 0x0033b584}}}, + {X: Field{[10]uint32{0x00ba6ede, 0x029779a4, 0x00a8b2a2, 0x0150ddf9, 0x014e192a, 0x02358071, 0x0213dbfa, 0x00ea0b23, 0x01703580, 0x001f4fd8}}, Y: Field{[10]uint32{0x02c6cb15, 0x027d354b, 0x0100f196, 0x012f9e3a, 0x0177eaf8, 0x00302f2f, 0x03564778, 0x004f083e, 0x010e62f4, 0x0004e3a0}}}, + {X: Field{[10]uint32{0x037eb925, 0x01dfb0a3, 0x01b41d85, 0x037603ea, 0x01c9fa32, 0x00c12ae0, 0x03e67135, 0x03e18f9f, 0x00befc4a, 0x0039e8c5}}, Y: Field{[10]uint32{0x00f3eb1f, 0x02913d20, 0x008fb091, 0x033b1420, 0x0113ec94, 0x036a5c30, 0x019b6d07, 0x012b3fea, 0x0200f0e0, 0x003365e1}}}, + {X: Field{[10]uint32{0x03c6a577, 0x024098f4, 0x00231ec0, 0x02b67915, 0x00ba5fc0, 0x003c37f2, 0x01cd8e81, 0x0240bb88, 0x03e49f41, 0x0005e70e}}, Y: Field{[10]uint32{0x009cf184, 0x03fc32d3, 0x009dc5b9, 0x022693a2, 0x02640216, 0x0142df93, 0x02b03f5a, 0x026a80a7, 0x020efb9b, 0x001d7e7d}}}, + {X: Field{[10]uint32{0x01e6401f, 0x01842c24, 0x00c6fe50, 0x01a4173e, 0x0108d762, 0x015d53e9, 0x017808e2, 0x03060ae5, 0x0071464b, 0x00042956}}, Y: Field{[10]uint32{0x01b56ff4, 0x0145a8d0, 0x038b3029, 0x03caaa32, 0x0299a787, 0x0241aea7, 0x005c679f, 0x0368b38c, 0x03b96d2b, 0x0034d924}}}, + {X: Field{[10]uint32{0x008e555e, 0x03cfa6ba, 0x0099f96a, 0x028bcea7, 0x02585827, 0x00c7b1fd, 0x0108d45b, 0x02321055, 0x03225e85, 0x0012a40d}}, Y: Field{[10]uint32{0x0247d145, 0x01f44c8c, 0x0064c70c, 0x01df40b1, 0x0031c9a4, 0x003f3785, 0x012463f2, 0x01134331, 0x01a7fb9e, 0x00369351}}}, + {X: Field{[10]uint32{0x016acb3e, 0x00a5dcea, 0x02b621cd, 0x02ef80bc, 0x00c68373, 0x005c3b20, 0x00052d6b, 0x02023ded, 0x018c2505, 0x001b4427}}, Y: Field{[10]uint32{0x02dc9a57, 0x00e2ca3a, 0x012adc50, 0x002e72e5, 0x03200c87, 0x02c08eff, 0x001088ec, 0x01b90145, 0x00de511f, 0x003237a8}}}, + {X: Field{[10]uint32{0x02e1af88, 0x03c30e59, 0x01bf28f7, 0x00f8a1d3, 0x0106105b, 0x00d55d41, 0x015c7347, 0x00919f01, 0x00986d20, 0x00270866}}, Y: Field{[10]uint32{0x01d0914a, 0x027ecb63, 0x004550ec, 0x03354b52, 0x03efddf5, 0x01959783, 0x01d41463, 0x03fc4be7, 0x016c8edd, 0x00218dd2}}}, + {X: Field{[10]uint32{0x0292b03a, 0x023b71b0, 0x032e74de, 0x02d772e3, 0x03dcd104, 0x00aee5ce, 0x036dd750, 0x003d8040, 0x00390e66, 0x0008b294}}, Y: Field{[10]uint32{0x006b11e8, 0x03a457d9, 0x0258eda5, 0x02eb100f, 0x01cb6731, 0x0023e832, 0x016449a7, 0x02e07910, 0x00711ef6, 0x0021bf51}}}, + {X: Field{[10]uint32{0x02b6f938, 0x037a10b9, 0x0227c80b, 0x00977dd7, 0x022e39be, 0x03db2880, 0x0116fdd1, 0x011903c8, 0x0302cc00, 0x0033f063}}, Y: Field{[10]uint32{0x0290df7d, 0x0075a118, 0x01398645, 0x02936740, 0x01c09236, 0x01c232f9, 0x03a2923f, 0x0343965e, 0x00df4f79, 0x00358ad6}}}, + {X: Field{[10]uint32{0x0280a087, 0x03053e66, 0x02f259d3, 0x015afb2e, 0x02574905, 0x008d7142, 0x01f46ca6, 0x01163a64, 0x00c23425, 0x000ce22f}}, Y: Field{[10]uint32{0x0245c016, 0x00b84fa9, 0x0013b310, 0x029752b1, 0x0306c3dc, 0x02563efc, 0x00223166, 0x015e0c07, 0x02f806f6, 0x001f52a8}}}, + {X: Field{[10]uint32{0x00b46a19, 0x02a507bc, 0x03aa802b, 0x00f532f2, 0x0144ac96, 0x00db67e5, 0x018fefc1, 0x004b78f7, 0x00131b8c, 0x00349af4}}, Y: Field{[10]uint32{0x028d3a99, 0x002b096d, 0x00653cb1, 0x01f699e0, 0x020d045a, 0x032ad24a, 0x02948724, 0x01e571ad, 0x02a331b6, 0x0019be27}}}, + {X: Field{[10]uint32{0x03d1fdb9, 0x0274a795, 0x035ca1d9, 0x0353511f, 0x03465a03, 0x03bd7d9a, 0x03960edf, 0x03a3c858, 0x030cdb67, 0x003734cd}}, Y: Field{[10]uint32{0x007084ef, 0x0185a9cd, 0x01ed9922, 0x02f66d93, 0x028a9eb4, 0x024efdcc, 0x038d4483, 0x02fe1cb3, 0x007a320a, 0x0022e4dd}}}, + {X: Field{[10]uint32{0x038d8e7a, 0x0227cfd3, 0x0006f805, 0x02ecff82, 0x0121d449, 0x02718e06, 0x03105af5, 0x02b558cd, 0x0105e602, 0x001d01d3}}, Y: Field{[10]uint32{0x003d574d, 0x02e1052c, 0x002cfe19, 0x03db111e, 0x02bf0dd8, 0x0077548d, 0x00fd515a, 0x0202b411, 0x03d4adee, 0x00069352}}}, + {X: Field{[10]uint32{0x0305c174, 0x00dcea0b, 0x034dd732, 0x025035ae, 0x01971203, 0x01e024aa, 0x00df438a, 0x00faedaa, 0x0081f3a2, 0x0002a273}}, Y: Field{[10]uint32{0x03c4fda4, 0x02a59128, 0x03d77873, 0x039d5c1f, 0x00326a9c, 0x02e5e77b, 0x01ddc9fd, 0x03c18d39, 0x03dd676d, 0x0012dbe0}}}, + {X: Field{[10]uint32{0x0216424c, 0x028e03d9, 0x00e037dd, 0x0102d82b, 0x026443c5, 0x001fe592, 0x002ae36b, 0x00fc3864, 0x00bafa91, 0x0023c684}}, Y: Field{[10]uint32{0x01e5525f, 0x02615557, 0x0326e869, 0x018b5680, 0x0114e3a4, 0x01d03cc7, 0x0016ad4e, 0x01df0c91, 0x024445c1, 0x00040a35}}}, + {X: Field{[10]uint32{0x01e27b51, 0x01d01222, 0x026d6f4c, 0x03e11e3e, 0x019154a2, 0x0369266b, 0x0157268a, 0x0288da9e, 0x027914f9, 0x002b63f6}}, Y: Field{[10]uint32{0x020e82ae, 0x01392f8c, 0x03834617, 0x03c09818, 0x03703b74, 0x0170f24c, 0x02deffc0, 0x029b1bdd, 0x02ab1f7d, 0x00272874}}}, + {X: Field{[10]uint32{0x0167fbe7, 0x0178cb3f, 0x03c874d1, 0x003f93ec, 0x03219270, 0x03c8e38b, 0x008cc246, 0x00a5c110, 0x010a797b, 0x001b1ba6}}, Y: Field{[10]uint32{0x0391dac1, 0x00c1868f, 0x019e1be8, 0x021e4f53, 0x0139811b, 0x0010368c, 0x025b32cc, 0x0159667e, 0x03980f35, 0x0007ff05}}}, + {X: Field{[10]uint32{0x01118969, 0x007e68c9, 0x0247cedc, 0x01728d02, 0x039f86f7, 0x0027c8de, 0x035351de, 0x00aaf658, 0x03ea31ad, 0x00080ac4}}, Y: Field{[10]uint32{0x001bcba0, 0x03314d46, 0x004c0fe3, 0x0085c000, 0x03868a45, 0x02f2061c, 0x0111184e, 0x00dfd354, 0x0105a14e, 0x00314bed}}}, + {X: Field{[10]uint32{0x03b748a5, 0x0210a475, 0x02f5fd22, 0x031848c9, 0x03034053, 0x02615654, 0x01c7c7cf, 0x010beac3, 0x00a10251, 0x0014d57c}}, Y: Field{[10]uint32{0x02281949, 0x0333c5df, 0x0118f4b1, 0x01a9e071, 0x039cddd3, 0x0183b8fb, 0x008ff9de, 0x0007db07, 0x036a5535, 0x001d6ef8}}}, + {X: Field{[10]uint32{0x029829d7, 0x00ebab30, 0x02235f91, 0x02c4d1c1, 0x0279a39a, 0x02a0ebb0, 0x00f16644, 0x037b2747, 0x0178eacb, 0x002e214b}}, Y: Field{[10]uint32{0x03183156, 0x00c584f7, 0x020faeb4, 0x0343dca7, 0x038d51ee, 0x03a27b0e, 0x002735d2, 0x03187eb9, 0x035052b3, 0x001d8eea}}}, + {X: Field{[10]uint32{0x03057ae2, 0x033b56c1, 0x0188beec, 0x03a02c3c, 0x01696d18, 0x0027b343, 0x017d4d6a, 0x03de3870, 0x004b294d, 0x0032acb9}}, Y: Field{[10]uint32{0x01ff2f43, 0x02681a06, 0x00ed5405, 0x02b416c8, 0x02de28bf, 0x0156d41b, 0x0149607c, 0x01266b3b, 0x009a501a, 0x003cd46c}}}, + {X: Field{[10]uint32{0x03056b31, 0x01a14f15, 0x026589d4, 0x00dae6e1, 0x03b16f9f, 0x0152dd5a, 0x012355eb, 0x015568af, 0x01c99c6d, 0x0005002e}}, Y: Field{[10]uint32{0x03a077a8, 0x0270cab7, 0x00436e56, 0x007e5bc9, 0x035709b9, 0x03508477, 0x026993b3, 0x00459e82, 0x001662f4, 0x0022ca42}}}, + {X: Field{[10]uint32{0x03d9141e, 0x03b1b9af, 0x018a50fb, 0x00655623, 0x03b3d31b, 0x0044511a, 0x03ae7a9a, 0x027071a1, 0x032e973e, 0x0014ab8d}}, Y: Field{[10]uint32{0x02351ccb, 0x02ff8360, 0x0256b71e, 0x033363b3, 0x001f87cf, 0x0116436d, 0x0238721a, 0x0390b6e5, 0x000de6d0, 0x003e60ad}}}, + {X: Field{[10]uint32{0x01899c24, 0x03d976d8, 0x032e0fe5, 0x0022e4df, 0x001139b7, 0x0143700c, 0x0241e148, 0x011896f8, 0x03bd4082, 0x000f453f}}, Y: Field{[10]uint32{0x00a1dfb7, 0x03f1d862, 0x02872981, 0x03bf4dd9, 0x02799882, 0x034884e8, 0x01cf16b8, 0x03811d36, 0x00fa477e, 0x002c4299}}}, + {X: Field{[10]uint32{0x02a48930, 0x0057b36e, 0x0246e824, 0x0346a57f, 0x03e7ab3f, 0x0353261e, 0x03bc2700, 0x03065ea2, 0x02df54e0, 0x0031bd4a}}, Y: Field{[10]uint32{0x0056811d, 0x016bf64e, 0x03a8f77e, 0x024cab7a, 0x03b9ef91, 0x0267e912, 0x010281c0, 0x01ced241, 0x006fb538, 0x001d4930}}}, + {X: Field{[10]uint32{0x0144c1aa, 0x01828fb2, 0x00f559fe, 0x03601b46, 0x005f2d1d, 0x031e7070, 0x03c838a4, 0x01f2d9e8, 0x0264bdc4, 0x00240224}}, Y: Field{[10]uint32{0x02ee04de, 0x003ece74, 0x03064eea, 0x032e4779, 0x02ca140b, 0x010c392d, 0x01d582cc, 0x00c899aa, 0x0046d70b, 0x0006258e}}}, + {X: Field{[10]uint32{0x03da0662, 0x03dc247b, 0x006ebc1b, 0x019a5bcf, 0x012db741, 0x03a084a9, 0x035b2d4c, 0x00df0589, 0x00ea478b, 0x00389f09}}, Y: Field{[10]uint32{0x02783de3, 0x01f3c244, 0x03b7d853, 0x036bf0ed, 0x03bb99f4, 0x000c5e46, 0x01532bb5, 0x019f2feb, 0x0279c3a2, 0x0009fb14}}}, + {X: Field{[10]uint32{0x000a3eb2, 0x03bfe131, 0x0092b917, 0x03b98190, 0x032549b8, 0x025574ef, 0x0025d857, 0x035badc0, 0x02129cf1, 0x0032976a}}, Y: Field{[10]uint32{0x027a9811, 0x02109677, 0x01e9ef6a, 0x03c9dee2, 0x037c4aa5, 0x035082d2, 0x027c7c27, 0x01bdf4cf, 0x0105500f, 0x001a0b52}}}, + {X: Field{[10]uint32{0x00877f55, 0x005a67bf, 0x00170487, 0x016d0943, 0x006c98ac, 0x02274509, 0x0223fb5c, 0x031a2119, 0x000f2b2a, 0x00241a7b}}, Y: Field{[10]uint32{0x031fb05e, 0x034e95b9, 0x00266975, 0x02a322e0, 0x02a6c3c3, 0x00901f7f, 0x000617ee, 0x00dc485b, 0x02c4eff8, 0x00331403}}}, + {X: Field{[10]uint32{0x03bda16c, 0x02c4e470, 0x0250fb8c, 0x00f01649, 0x00053639, 0x017a2ae8, 0x02742d3c, 0x03b86dae, 0x02eb0bd5, 0x0017f87f}}, Y: Field{[10]uint32{0x0065a34b, 0x0250ade6, 0x01af53bf, 0x01a90dd7, 0x03ea02ae, 0x001cbddb, 0x025ba068, 0x0193b4d0, 0x032701ac, 0x0036c46c}}}, + {X: Field{[10]uint32{0x001b2c34, 0x019b12ab, 0x00cb8318, 0x00aa1783, 0x026bf260, 0x02439382, 0x0035b6cf, 0x03e20d24, 0x01a5f168, 0x000292a4}}, Y: Field{[10]uint32{0x03837596, 0x02080c1f, 0x00857ce0, 0x02a7023d, 0x02ff7265, 0x00ae262a, 0x02f2ff8e, 0x03b47462, 0x02a8fe36, 0x00016ffb}}}, + {X: Field{[10]uint32{0x02884849, 0x01bdd1be, 0x019e35f0, 0x01bb4f1f, 0x0143f536, 0x03aaaf93, 0x00705054, 0x016d492a, 0x0336f0c3, 0x003d04d7}}, Y: Field{[10]uint32{0x010c526b, 0x03f12c99, 0x0052dd55, 0x00c30ea7, 0x01ba1a5d, 0x00c1d75d, 0x019d0ea4, 0x0301e2d3, 0x03f1b8b6, 0x000719c1}}}, + {X: Field{[10]uint32{0x00380203, 0x00ea7ce5, 0x01e0fdcc, 0x01364ad0, 0x00014a50, 0x020fa12e, 0x03449928, 0x03eebb4a, 0x018a9363, 0x00356a26}}, Y: Field{[10]uint32{0x0260e9fb, 0x026cf6ba, 0x03d4b0bf, 0x02be98aa, 0x032f20c5, 0x0351b35f, 0x038ae7c6, 0x0320162e, 0x03036fdd, 0x0025805a}}}, + {X: Field{[10]uint32{0x03f3d176, 0x022e6f92, 0x01fa8cc3, 0x039e6443, 0x00d50297, 0x0043064e, 0x007fb622, 0x0036f428, 0x023404b3, 0x00220132}}, Y: Field{[10]uint32{0x03d37b0d, 0x02bb79d5, 0x02c9124c, 0x0142c472, 0x01eb65db, 0x00e1c58c, 0x008c55ff, 0x01f18dde, 0x02e57992, 0x0016d92f}}}, + {X: Field{[10]uint32{0x03811021, 0x0176fd8a, 0x00e740ac, 0x01d1f426, 0x010c947c, 0x022f6969, 0x008e78e7, 0x0086daf1, 0x01fc440c, 0x0021a470}}, Y: Field{[10]uint32{0x03b1787e, 0x0122f2b5, 0x01c0903d, 0x00e7d9b0, 0x00682f45, 0x000a9c44, 0x02c330af, 0x00460555, 0x01c535f5, 0x003f63b0}}}, + {X: Field{[10]uint32{0x03093229, 0x01018dfb, 0x001eb58a, 0x02aec3b4, 0x03c3ee5f, 0x0253a4a4, 0x02bfe3f8, 0x038b87f7, 0x01f6343b, 0x001117f0}}, Y: Field{[10]uint32{0x0185b605, 0x001ef6df, 0x010af329, 0x03cd236a, 0x03c3c087, 0x03b7b44e, 0x00aa1b73, 0x03e14f41, 0x03fe6737, 0x00215fc5}}}, + {X: Field{[10]uint32{0x036493b4, 0x03140069, 0x039667d1, 0x01568773, 0x02af1a55, 0x02e23135, 0x023aaf95, 0x0346c2cb, 0x03dea657, 0x00170e5f}}, Y: Field{[10]uint32{0x030aff0a, 0x02681bf7, 0x03d32de7, 0x00b3d21f, 0x03ce5cb5, 0x02a7f153, 0x0336aee6, 0x00f1d4b5, 0x00207b6f, 0x002739d2}}}, + {X: Field{[10]uint32{0x03fc1b7e, 0x00dbe931, 0x030c1d7e, 0x0210dcb4, 0x02d9f535, 0x037f8644, 0x01d2bc5b, 0x0380a0d8, 0x01cb28d7, 0x0026d559}}, Y: Field{[10]uint32{0x03879eea, 0x0266c458, 0x0062d827, 0x01d7662c, 0x01a23af0, 0x038fdb1b, 0x0257f054, 0x02a0c962, 0x028d2de2, 0x001f573e}}}, + {X: Field{[10]uint32{0x01194f1d, 0x015368f2, 0x03b4b896, 0x027c404a, 0x02a5229a, 0x006ec656, 0x031b1657, 0x021c34e5, 0x00631bbf, 0x002bef7b}}, Y: Field{[10]uint32{0x0327e296, 0x030914e3, 0x0316a773, 0x00507d50, 0x0383fe57, 0x02ec2899, 0x0074ad1b, 0x009497e6, 0x0349b949, 0x0033f2e9}}}, + {X: Field{[10]uint32{0x00ad916b, 0x0075a22b, 0x03f4d0e0, 0x0318b12c, 0x03a7cc11, 0x03a7a7b1, 0x03c61605, 0x014d1d72, 0x03cbca3a, 0x001dc4aa}}, Y: Field{[10]uint32{0x024b82fb, 0x023c289a, 0x03ead0c6, 0x03f47ffb, 0x02b57cbb, 0x030ef4cc, 0x02b43af8, 0x009556b4, 0x01bc0eb1, 0x001ee472}}}, + {X: Field{[10]uint32{0x00a2b7e2, 0x00b4e2c7, 0x01c9f07a, 0x00459b9d, 0x0311b43a, 0x037d419a, 0x01fe506f, 0x017904b9, 0x0346f293, 0x000f1148}}, Y: Field{[10]uint32{0x019cd800, 0x00231ffd, 0x026962c6, 0x0228d4ad, 0x010e0203, 0x012047f6, 0x03532f8d, 0x01a0a4eb, 0x01e127f9, 0x003f4fdb}}}, + {X: Field{[10]uint32{0x0248b7be, 0x020b6c2a, 0x030547d1, 0x011377c2, 0x00e04eda, 0x0032652e, 0x01a53d67, 0x0368ff1f, 0x002fb4db, 0x0002f616}}, Y: Field{[10]uint32{0x01285c68, 0x03a318d1, 0x0033ad6d, 0x02de5d9c, 0x00ef0dc4, 0x039f420a, 0x016b282e, 0x01a2ee30, 0x0369c182, 0x001e6789}}}, + {X: Field{[10]uint32{0x02c84112, 0x0339b3ec, 0x0371974d, 0x03ab667a, 0x03befe03, 0x01a44ce3, 0x03fb71c1, 0x0375018a, 0x00a78dd9, 0x00310404}}, Y: Field{[10]uint32{0x02a2ff83, 0x0058b690, 0x0208d29b, 0x001cc50f, 0x00f270f8, 0x0209298f, 0x01c5dbcf, 0x02f088ec, 0x039de71e, 0x00140230}}}, + {X: Field{[10]uint32{0x0121d311, 0x0094f309, 0x01f4a1b6, 0x01777b6d, 0x03f786bc, 0x01426f23, 0x02586a6a, 0x02e89c01, 0x007e6cf4, 0x003a27a0}}, Y: Field{[10]uint32{0x02fea2cc, 0x0366527c, 0x0117aad6, 0x03070264, 0x012228f9, 0x0301000a, 0x039fcfc4, 0x01237a4d, 0x03797c49, 0x002ab7b2}}}, + {X: Field{[10]uint32{0x00b08577, 0x006e43f7, 0x03fdbdca, 0x01ce19bc, 0x0084091f, 0x0048630d, 0x01379195, 0x02fe4190, 0x01b3be2d, 0x000d8f7c}}, Y: Field{[10]uint32{0x01848bae, 0x02f7c3dd, 0x026057e3, 0x01918c26, 0x00f9ea5b, 0x01f9dbc8, 0x0221493f, 0x038db125, 0x004e5634, 0x0002bbf4}}}, + {X: Field{[10]uint32{0x038ea16e, 0x028f22f1, 0x003becd4, 0x00e8d357, 0x03ca8fe3, 0x0173112e, 0x01213228, 0x02093920, 0x023883d2, 0x00172345}}, Y: Field{[10]uint32{0x02c0456f, 0x02baeb86, 0x02685872, 0x037e3cc6, 0x02355347, 0x027dd496, 0x01005914, 0x019b0225, 0x01d9c7ce, 0x003d9be4}}}, + {X: Field{[10]uint32{0x02cbe126, 0x0217a1fa, 0x01ff4080, 0x0162f9d7, 0x024181dd, 0x03649536, 0x037789ee, 0x020fb760, 0x02760835, 0x00042b19}}, Y: Field{[10]uint32{0x0317d22d, 0x015fafae, 0x02a1a01f, 0x02806057, 0x0372e0db, 0x031ac96b, 0x0065acb0, 0x039eec1d, 0x02de23f3, 0x001b4faa}}}, + {X: Field{[10]uint32{0x00153048, 0x029a5ea3, 0x037da8db, 0x003e6d87, 0x02974c4c, 0x00823a8f, 0x01677962, 0x01550111, 0x01ea7bb6, 0x00079e68}}, Y: Field{[10]uint32{0x00787fc4, 0x03bca97c, 0x015dd394, 0x02f8ce81, 0x03e07d35, 0x02a0023a, 0x01874064, 0x012221a2, 0x017920a3, 0x002d8f8f}}}, + {X: Field{[10]uint32{0x03fa9a5b, 0x02f34254, 0x0076a7be, 0x00604759, 0x02116991, 0x0003fc4f, 0x00df2abb, 0x0288fd42, 0x007397b0, 0x0036c347}}, Y: Field{[10]uint32{0x0100dfe8, 0x0278ca12, 0x00dc9d0b, 0x010598a7, 0x032f85fd, 0x02d723bb, 0x01724312, 0x013c7b46, 0x00773ca7, 0x00072742}}}, + {X: Field{[10]uint32{0x03385f27, 0x0280fb72, 0x03622003, 0x008f9883, 0x03969042, 0x00b9dd6f, 0x02bdc229, 0x033a3499, 0x03b3481e, 0x00387f75}}, Y: Field{[10]uint32{0x030a4c77, 0x01019aa5, 0x03e6d09e, 0x024f8840, 0x03d9b31f, 0x00ff71a9, 0x02dee658, 0x00ffdc35, 0x039f2895, 0x000f3eac}}}, + {X: Field{[10]uint32{0x0223ffd3, 0x037c46a8, 0x018803b2, 0x0396fc62, 0x039ed85f, 0x0084c323, 0x02701c92, 0x02ee3cf5, 0x01342b69, 0x00259e5c}}, Y: Field{[10]uint32{0x02631d31, 0x025f91c3, 0x0394e059, 0x031b0255, 0x02632c0d, 0x034a68f9, 0x00b6d93c, 0x01be7df1, 0x003f630b, 0x000b50cd}}}, + {X: Field{[10]uint32{0x01c33efc, 0x020505f6, 0x03ba8cba, 0x01b66a67, 0x00ec0a77, 0x02677520, 0x01d2a0f3, 0x0352531a, 0x02186e27, 0x0037ed00}}, Y: Field{[10]uint32{0x0137796e, 0x01ec4ad7, 0x00f4861f, 0x00705e08, 0x009bd850, 0x02580c14, 0x0245bcb7, 0x00c9cc57, 0x01dce9f9, 0x000ccb64}}}, + {X: Field{[10]uint32{0x027681ec, 0x02e11a30, 0x035e5189, 0x0011fef8, 0x01171de0, 0x017068cc, 0x0208da7b, 0x03729145, 0x01ebed13, 0x001ad971}}, Y: Field{[10]uint32{0x01a34f62, 0x01e723a2, 0x01f43e26, 0x0137d6ee, 0x013e71fc, 0x01bf53e1, 0x0246b51f, 0x02f02cbc, 0x02e8e0ae, 0x0002bf43}}}, + {X: Field{[10]uint32{0x00c4b619, 0x00e43d4a, 0x0100480a, 0x008bf7f3, 0x03021e5c, 0x03509b7c, 0x02396aa5, 0x00e59789, 0x01a160b0, 0x002f070f}}, Y: Field{[10]uint32{0x00a31640, 0x03b5192b, 0x03bc8076, 0x0334d6b2, 0x0386ad94, 0x0108b046, 0x017862c0, 0x03faa42b, 0x017465e4, 0x003f595c}}}, + {X: Field{[10]uint32{0x0005913a, 0x004f7ea3, 0x038e2de6, 0x001b0b1b, 0x01090264, 0x02f161f8, 0x038a6a8c, 0x0328d54f, 0x011796d6, 0x001626c7}}, Y: Field{[10]uint32{0x003fb3e0, 0x00b2eb94, 0x02c87974, 0x01a76917, 0x003c7b64, 0x00eee8a9, 0x039365de, 0x013d1b89, 0x01ecac25, 0x00399575}}}, + {X: Field{[10]uint32{0x00ae4ed5, 0x016fe61e, 0x01677612, 0x033f3a9d, 0x016ada63, 0x024b652f, 0x01c2ef5c, 0x01b0aa53, 0x03856d1e, 0x00279c98}}, Y: Field{[10]uint32{0x00e304dd, 0x03d4d058, 0x01896069, 0x01010f24, 0x030a83bc, 0x0371ea8a, 0x028a48e0, 0x00e3e2d8, 0x01f51e5b, 0x002308e3}}}, + {X: Field{[10]uint32{0x02764263, 0x02d76f71, 0x018d57ea, 0x02bc9548, 0x004f9bd3, 0x00820380, 0x000c551b, 0x03dd3ee9, 0x017814e0, 0x000489a7}}, Y: Field{[10]uint32{0x0385b3d6, 0x017e1938, 0x01a704a9, 0x031f08b7, 0x00daee58, 0x02f45a48, 0x02febcdb, 0x025d7041, 0x00bd6584, 0x0003c3dc}}}, + {X: Field{[10]uint32{0x033088a6, 0x0245ced5, 0x03aa315e, 0x02fc59db, 0x005c73fd, 0x009cfbff, 0x0048cdd6, 0x02405383, 0x032fcc50, 0x0034c84b}}, Y: Field{[10]uint32{0x0032df82, 0x01902112, 0x02fc09db, 0x03aa14fe, 0x00ff59b6, 0x0271a4d3, 0x02618c84, 0x03d47cd8, 0x01f10673, 0x000e6bce}}}, + {X: Field{[10]uint32{0x00250052, 0x01168821, 0x02dccdae, 0x03f67d0a, 0x034ef288, 0x03d92588, 0x0014e724, 0x002eb510, 0x032b9bcc, 0x00314d7d}}, Y: Field{[10]uint32{0x02271022, 0x0171fb92, 0x000a7465, 0x0008a4c0, 0x02884473, 0x01f3a0a6, 0x0014a17f, 0x018c6d8a, 0x005b6fb7, 0x000fde66}}}, + {X: Field{[10]uint32{0x03399605, 0x003eb4e4, 0x03c121c8, 0x004bb035, 0x03271e39, 0x003b437d, 0x002bb186, 0x027e9618, 0x01269b16, 0x0013d6dc}}, Y: Field{[10]uint32{0x01cfd0a7, 0x0104d8f3, 0x00fb5dbe, 0x03c81881, 0x02576f63, 0x025f24ca, 0x002c6cdb, 0x0163aa44, 0x01047f2a, 0x002d83f0}}}, + {X: Field{[10]uint32{0x03d5d065, 0x0323c6ed, 0x03851de9, 0x01f5cde9, 0x000ec70e, 0x0000a705, 0x02c2863e, 0x00e2c6bc, 0x033b244c, 0x0032d166}}, Y: Field{[10]uint32{0x0157fbd0, 0x01d293c6, 0x010ea53a, 0x0055a4b2, 0x02a888bd, 0x03a242ce, 0x02462411, 0x01db20bd, 0x015d3c03, 0x001ed9ec}}}, + {X: Field{[10]uint32{0x0219054e, 0x00a87e93, 0x02597ea7, 0x018f4691, 0x02d389f5, 0x03d0d065, 0x03121bb7, 0x03831463, 0x01c70ebd, 0x001e1f58}}, Y: Field{[10]uint32{0x0272a658, 0x00ef2fab, 0x014ba4b9, 0x02ef5cad, 0x03f42e9e, 0x02cf4542, 0x031cf396, 0x0232e309, 0x02f25fcf, 0x0016ebd5}}}, + {X: Field{[10]uint32{0x01f6115c, 0x00edbaf1, 0x012bacc9, 0x0229808d, 0x02337353, 0x0358e420, 0x037d97cb, 0x02c3252d, 0x002a31d0, 0x0030e2bf}}, Y: Field{[10]uint32{0x03ee529f, 0x0109a210, 0x004690d8, 0x022f4b96, 0x01875e09, 0x01917e35, 0x01a26a4c, 0x03f3092e, 0x03cab138, 0x002e4977}}}, + {X: Field{[10]uint32{0x03406d0a, 0x0321e6bf, 0x0282ad6e, 0x002e2ade, 0x0339a5dd, 0x016e6c97, 0x01c6ad5e, 0x01ba56e7, 0x023b8e60, 0x000dd987}}, Y: Field{[10]uint32{0x03e9b977, 0x02c58e29, 0x002a4df1, 0x00e44c8e, 0x0160d8bc, 0x01b3e510, 0x017e07bd, 0x023f384c, 0x025d430d, 0x002adcd7}}}, + {X: Field{[10]uint32{0x01e256ba, 0x01a28594, 0x02062abd, 0x0367d939, 0x0388ea5a, 0x0370319d, 0x018e9348, 0x00ad1f0f, 0x0051b8c2, 0x0039449e}}, Y: Field{[10]uint32{0x030405c6, 0x01fce1c9, 0x004b3f94, 0x0136e1c1, 0x025b1e7d, 0x0154dffe, 0x034b7dc0, 0x027ade42, 0x037e0034, 0x001611fd}}}, + {X: Field{[10]uint32{0x017382e9, 0x0191ee6b, 0x03b41955, 0x02601482, 0x02127a36, 0x00e03f81, 0x013e7cb7, 0x02a284dc, 0x005da6b8, 0x003cf1fd}}, Y: Field{[10]uint32{0x023e7c87, 0x0397ef7d, 0x00a51ddf, 0x0005c675, 0x034b4693, 0x00024d9d, 0x01decd09, 0x0274c7dc, 0x0211eb1b, 0x000ab3e6}}}, + {X: Field{[10]uint32{0x00d745ba, 0x012cbc21, 0x024de0ff, 0x0254eec3, 0x0279125f, 0x0122a642, 0x03733a18, 0x02c94948, 0x0047e8d5, 0x0021b790}}, Y: Field{[10]uint32{0x01bc969a, 0x0269d19c, 0x02007427, 0x00146a7b, 0x03569211, 0x0177a4b4, 0x0284cf7d, 0x000174ac, 0x00720dac, 0x001c79a9}}}, + {X: Field{[10]uint32{0x03f57504, 0x021d70bc, 0x02c635e2, 0x032b0317, 0x023029d9, 0x03cea85a, 0x020cd963, 0x02759b65, 0x00307225, 0x00318457}}, Y: Field{[10]uint32{0x037a712f, 0x004a1427, 0x0077050d, 0x0004d10f, 0x01ced024, 0x00f20868, 0x017f56c2, 0x0375e35e, 0x00d0b33f, 0x000635a4}}}, + {X: Field{[10]uint32{0x02f53c5b, 0x034d9d10, 0x03c6ac61, 0x03c78afe, 0x018bfae0, 0x01a4a6c1, 0x0038cbd7, 0x011cee46, 0x00998b43, 0x0032d514}}, Y: Field{[10]uint32{0x01572bbf, 0x0236de24, 0x00ddfde3, 0x02e9efed, 0x01c00ba8, 0x026e77d5, 0x03684b4f, 0x013c2335, 0x034d79e3, 0x00104675}}}, + {X: Field{[10]uint32{0x02922d2a, 0x014bca14, 0x013725a7, 0x01cf1b42, 0x020a333b, 0x0182a628, 0x01771e26, 0x00aed3ec, 0x0304b936, 0x00343739}}, Y: Field{[10]uint32{0x02e37e47, 0x028e4565, 0x018ffde5, 0x01529314, 0x02124d3f, 0x016730bb, 0x033891a2, 0x033837c7, 0x03707947, 0x003e4b0e}}}, + {X: Field{[10]uint32{0x016b20a4, 0x02866fc8, 0x03a96249, 0x01679f5c, 0x03d42702, 0x01957314, 0x02ab8570, 0x016618e3, 0x0238e5aa, 0x0036e4f8}}, Y: Field{[10]uint32{0x03bcc7c5, 0x035fad7e, 0x0094c815, 0x025718bf, 0x033ab178, 0x009bbd95, 0x034f60cd, 0x023ad942, 0x008b670e, 0x00234677}}}, + {X: Field{[10]uint32{0x00c3f486, 0x01753bda, 0x01835ba8, 0x03f2efc4, 0x014d6c6c, 0x001e584a, 0x0207e54b, 0x02fbe0a7, 0x037fd8ce, 0x0030e1f0}}, Y: Field{[10]uint32{0x01ddeda9, 0x03f9e384, 0x00897994, 0x0036d896, 0x03c8e3ae, 0x004b5ff9, 0x020f7d7f, 0x02cc01b2, 0x00d9ae7e, 0x00214960}}}, + {X: Field{[10]uint32{0x0206c232, 0x00dd271d, 0x01092f94, 0x03748eb6, 0x024d3b22, 0x024aed2d, 0x0001b5b1, 0x039544df, 0x0134f04d, 0x003aed63}}, Y: Field{[10]uint32{0x01d1ae16, 0x01223f37, 0x0112bc59, 0x00b14272, 0x03d92ae7, 0x0016af26, 0x01d3e829, 0x03e7536c, 0x01059c99, 0x0006e5e7}}}, + {X: Field{[10]uint32{0x02e38e6b, 0x017390a5, 0x038d8252, 0x022befc8, 0x032f1317, 0x00c32b44, 0x01810b17, 0x028a6dd9, 0x0066acfd, 0x001e2473}}, Y: Field{[10]uint32{0x027caaf1, 0x02b3d94d, 0x02db972f, 0x039f6c02, 0x03a21ff6, 0x01fb2bb0, 0x02987ad0, 0x0231b118, 0x03292018, 0x0008864d}}}, + {X: Field{[10]uint32{0x0014d081, 0x014378d6, 0x011f472c, 0x0003028c, 0x000acec8, 0x01e4ff63, 0x02578a53, 0x007a34b0, 0x0142e4bc, 0x00302c09}}, Y: Field{[10]uint32{0x017f8371, 0x0262f06d, 0x01673136, 0x0213afff, 0x0376b1a8, 0x00702465, 0x02e6bb57, 0x005f0006, 0x00710f59, 0x000092f7}}}, + {X: Field{[10]uint32{0x0026d2dd, 0x028dad71, 0x014b2f07, 0x03d13acf, 0x03c2000c, 0x0103a980, 0x02fd9a3e, 0x01141fc4, 0x0174b870, 0x003a8575}}, Y: Field{[10]uint32{0x0230944e, 0x00969462, 0x0124b6ca, 0x01b16269, 0x00c5cdc1, 0x02df8e25, 0x00faf58a, 0x028e7d38, 0x014f4d8c, 0x002d965b}}}, + {X: Field{[10]uint32{0x039604de, 0x006dde73, 0x006726e5, 0x02604d63, 0x02708776, 0x009274d3, 0x00d5726a, 0x01abdee2, 0x03dfc35a, 0x001df4e1}}, Y: Field{[10]uint32{0x008b4a87, 0x0336693c, 0x0324993f, 0x001b7805, 0x01459165, 0x013e8ac7, 0x013c2351, 0x02a58b4b, 0x02cd2d70, 0x003976bb}}}, + {X: Field{[10]uint32{0x01ccd7ec, 0x01aa7727, 0x02db8329, 0x03530c54, 0x031064f9, 0x035bfbee, 0x024dc2f9, 0x0093ef06, 0x02cb7d1a, 0x002a49d0}}, Y: Field{[10]uint32{0x01679f76, 0x0063908c, 0x0225ad9d, 0x018ecf9c, 0x0266d4f1, 0x0208fcf1, 0x0346df60, 0x03c293b0, 0x00f98cda, 0x001996a7}}}, + {X: Field{[10]uint32{0x02316a46, 0x02c417e9, 0x02b6f36c, 0x0368a783, 0x00f62de9, 0x01ed54c1, 0x034053d3, 0x00e4f574, 0x00f79f0c, 0x00094f95}}, Y: Field{[10]uint32{0x027155e0, 0x038cfaf3, 0x03fd7b2a, 0x01fe3f82, 0x0067c857, 0x016c9fbc, 0x029417ac, 0x03b030ca, 0x00cded78, 0x0015385a}}}, + {X: Field{[10]uint32{0x0003fbf2, 0x01173000, 0x004434ee, 0x031eccf6, 0x0255fc01, 0x038e00a6, 0x039586f9, 0x021c8185, 0x00e0e9c3, 0x00344c12}}, Y: Field{[10]uint32{0x00743f37, 0x01d42021, 0x021e3640, 0x0102e6f1, 0x01af2578, 0x02c9470e, 0x00906897, 0x0091de15, 0x02db9450, 0x001f1119}}}, + {X: Field{[10]uint32{0x00a284a2, 0x001194dc, 0x032c88e6, 0x00dca958, 0x02a632b2, 0x02f6f26a, 0x007d0797, 0x008488a2, 0x0110387c, 0x003a48d0}}, Y: Field{[10]uint32{0x036523c4, 0x02c33edb, 0x0363ae80, 0x0147dd03, 0x01839a26, 0x01be63b6, 0x03b3afe6, 0x01486d3f, 0x008c4ca3, 0x000ae62c}}}, + {X: Field{[10]uint32{0x03a29be5, 0x02a76b60, 0x0271332b, 0x007253e2, 0x00742834, 0x02ec95d9, 0x0091a5a7, 0x01e3bdce, 0x03a7ab69, 0x000c0b80}}, Y: Field{[10]uint32{0x0310120b, 0x028be0d5, 0x002eea98, 0x036d9102, 0x030e8430, 0x0395aecf, 0x02e850d2, 0x00d6facb, 0x02db210c, 0x0012af82}}}, + {X: Field{[10]uint32{0x01665368, 0x03345584, 0x008598d7, 0x0370c75a, 0x024fea8b, 0x02c3e31e, 0x020571ee, 0x003cc372, 0x03894440, 0x0014dc04}}, Y: Field{[10]uint32{0x02a97cbe, 0x0069d3fa, 0x02d1971b, 0x036fc5a9, 0x01a712e2, 0x02a68db8, 0x0331bbe5, 0x03c88695, 0x026439c1, 0x00328d15}}}, + {X: Field{[10]uint32{0x028383cd, 0x0254a6bc, 0x00ff4957, 0x0375508f, 0x01656aaa, 0x0168b4e6, 0x012b6f7a, 0x01f2e3eb, 0x0186645d, 0x002303a0}}, Y: Field{[10]uint32{0x0048d27f, 0x035dd5d3, 0x018ffcdc, 0x013b2538, 0x0263c6d2, 0x023eed20, 0x007319d1, 0x0126064c, 0x01ea14c4, 0x000bbc9d}}}, + {X: Field{[10]uint32{0x03ad8af5, 0x010f5e97, 0x0101dafc, 0x004b1a5e, 0x01adddc5, 0x03fe32a6, 0x01615c45, 0x028f2684, 0x003126ba, 0x001929c2}}, Y: Field{[10]uint32{0x02fe29d5, 0x014f9c2a, 0x0342c432, 0x0128a23d, 0x00148efe, 0x02ec5e5a, 0x0245c354, 0x017dab0e, 0x008b59a6, 0x002e90f1}}}, + {X: Field{[10]uint32{0x01438e06, 0x02d1ea97, 0x0268051d, 0x033ed3d5, 0x0363559a, 0x00598917, 0x03785e2e, 0x023892cb, 0x026e82ff, 0x003f6f41}}, Y: Field{[10]uint32{0x02973d63, 0x038aa104, 0x03def144, 0x0356c905, 0x02875731, 0x022e5267, 0x02a5d382, 0x036308dd, 0x01cfa19e, 0x0001836b}}}, + {X: Field{[10]uint32{0x02ad174f, 0x009bd07b, 0x03e0af1b, 0x033cb72c, 0x0282cf15, 0x02518544, 0x01dba01d, 0x001cc467, 0x00b81ff9, 0x002ca1f3}}, Y: Field{[10]uint32{0x0374e090, 0x02f7027e, 0x01bd1acf, 0x02af000e, 0x0236d1be, 0x036d9bb4, 0x038a4635, 0x002fb92c, 0x03397a9a, 0x001bfc54}}}, + {X: Field{[10]uint32{0x01068116, 0x035735ff, 0x02c3c962, 0x015c06f7, 0x033b3f84, 0x02cc0cbe, 0x01f21888, 0x00d293e9, 0x0248b652, 0x0006011e}}, Y: Field{[10]uint32{0x0224574b, 0x01385681, 0x0117b1f3, 0x00244068, 0x01801342, 0x033a95a0, 0x02c54446, 0x0220c8c1, 0x02691819, 0x0004d89d}}}, + {X: Field{[10]uint32{0x0235f914, 0x01f9ea00, 0x02aae0ce, 0x03a56f52, 0x026b74ff, 0x0290784d, 0x022dd328, 0x00b39622, 0x014fbe4e, 0x003c74ed}}, Y: Field{[10]uint32{0x00a3981a, 0x03589dea, 0x0233be86, 0x01965fbf, 0x02c0c211, 0x0212188c, 0x02e1471e, 0x0205fad2, 0x0141300e, 0x000df097}}}, + {X: Field{[10]uint32{0x013bec4a, 0x00e8db61, 0x02a839ce, 0x00db1788, 0x019770da, 0x0042b55b, 0x03509a60, 0x037eadff, 0x01e95046, 0x0026c36a}}, Y: Field{[10]uint32{0x00135faa, 0x01dd40ce, 0x024d96da, 0x006468a4, 0x03df757c, 0x010e0a73, 0x00bbc3ff, 0x0168dba0, 0x034530c2, 0x0009f580}}}, + {X: Field{[10]uint32{0x0099c5cc, 0x03635976, 0x025f9f13, 0x0093cbad, 0x022d3e4d, 0x01c5d5a3, 0x0255d403, 0x03462c2f, 0x03d95155, 0x003420ce}}, Y: Field{[10]uint32{0x024741e8, 0x01cef265, 0x01de13c4, 0x020bb13a, 0x02ffeefb, 0x01b6dc51, 0x03b1e4c5, 0x012ad447, 0x02c3b504, 0x0039426b}}}, + {X: Field{[10]uint32{0x03c37117, 0x00ca788b, 0x038a626c, 0x01885f27, 0x03ed62ad, 0x01e6039a, 0x0201b402, 0x005f90a2, 0x027c185f, 0x00231058}}, Y: Field{[10]uint32{0x023662f7, 0x016dee4e, 0x01ca77d9, 0x01071ccb, 0x02a36da4, 0x020fdcfb, 0x028a1e74, 0x029548df, 0x026c3316, 0x001d7288}}}, + {X: Field{[10]uint32{0x03728d27, 0x018a0ec9, 0x0311e7cc, 0x01b96d42, 0x002d75c2, 0x0284ee5f, 0x007099e9, 0x02a8c173, 0x0105e43a, 0x000dc7c0}}, Y: Field{[10]uint32{0x02b3ce99, 0x00ee031a, 0x0149b029, 0x009b3b7c, 0x01b11944, 0x0114e3ab, 0x00643120, 0x01b5a233, 0x03e7d097, 0x00325a76}}}, + {X: Field{[10]uint32{0x00cb1710, 0x03fef70b, 0x03e03541, 0x020dea3c, 0x02d94aeb, 0x01761930, 0x034d3a18, 0x028d63e2, 0x019a4238, 0x001440bd}}, Y: Field{[10]uint32{0x01ef1445, 0x008824e1, 0x016ce915, 0x030e27a6, 0x010bbffd, 0x035072af, 0x0130606c, 0x00f0fd33, 0x00f9adb6, 0x00278531}}}, + {X: Field{[10]uint32{0x03f08beb, 0x00aea9c7, 0x00cc26df, 0x02bef52a, 0x00a7f57e, 0x00d858bc, 0x00353c78, 0x0100f01e, 0x036cfd40, 0x00032886}}, Y: Field{[10]uint32{0x037f12f9, 0x038f9607, 0x03ffee6a, 0x02085092, 0x03d6b684, 0x0147b6c3, 0x019f2ef7, 0x02956cff, 0x004647eb, 0x0004228f}}}, + {X: Field{[10]uint32{0x01d775d9, 0x0139a28c, 0x007697c9, 0x00b2b310, 0x017ec364, 0x00038f72, 0x0368bc82, 0x034673a0, 0x00b3ff40, 0x00367351}}, Y: Field{[10]uint32{0x005f0901, 0x03257ad2, 0x033cb085, 0x006d6eaf, 0x03fd7c4a, 0x01e7792b, 0x00f71010, 0x03dc0753, 0x036c683e, 0x002dadbe}}}, + {X: Field{[10]uint32{0x01a10360, 0x02f7d105, 0x021e104f, 0x0020ff31, 0x00510da5, 0x006f5241, 0x01644267, 0x01a222ed, 0x00b2cbcb, 0x002684d5}}, Y: Field{[10]uint32{0x034f953a, 0x03a2e0a1, 0x01b9b710, 0x03ce0776, 0x03bc4927, 0x00f8900d, 0x023a2a89, 0x0122d136, 0x0291707c, 0x000fd7d4}}}, + {X: Field{[10]uint32{0x010fdf79, 0x002ae76b, 0x02941bd5, 0x0314e1a4, 0x0220fc60, 0x03ac3f6f, 0x03deb0bc, 0x020712b9, 0x020f271a, 0x00317957}}, Y: Field{[10]uint32{0x01c83a63, 0x001ddbff, 0x000aecb1, 0x01f5c228, 0x0285ed9e, 0x018aba4e, 0x0253e7cc, 0x024c041e, 0x0335eab4, 0x0004e283}}}, + {X: Field{[10]uint32{0x0060f919, 0x0012bb64, 0x012c69a0, 0x01c81667, 0x027c67ea, 0x03317d98, 0x010e4dc6, 0x02f4f48a, 0x03647f66, 0x0017af0b}}, Y: Field{[10]uint32{0x0054659c, 0x0265b582, 0x00f1e56e, 0x0182c432, 0x033ec1e8, 0x014da58d, 0x00f79206, 0x0217889f, 0x03cedf20, 0x001a3df6}}}, + {X: Field{[10]uint32{0x03966e03, 0x0041d733, 0x00b2da42, 0x02074e96, 0x00161d70, 0x029e7258, 0x011a5a79, 0x00374141, 0x039c7d06, 0x0013ca3a}}, Y: Field{[10]uint32{0x0267fafc, 0x03cf8174, 0x02a6c2ef, 0x00f4b3c4, 0x0044849f, 0x028abf9e, 0x02aeb8e4, 0x011d06ec, 0x00610543, 0x003b0de2}}}, + {X: Field{[10]uint32{0x0283fe8f, 0x0056d286, 0x005c0efe, 0x03b95fb2, 0x019fa039, 0x002cd1f2, 0x00c7a9a1, 0x00f82614, 0x00d1ce11, 0x003d4388}}, Y: Field{[10]uint32{0x02e975be, 0x026ff0fe, 0x00aa94db, 0x01e09f55, 0x00cee464, 0x00501fc8, 0x018595f6, 0x01068a08, 0x023190df, 0x00136df0}}}, + {X: Field{[10]uint32{0x03eff5ef, 0x021068ea, 0x01e76ab2, 0x01735092, 0x0079de94, 0x015620af, 0x038cdf2b, 0x02ae5775, 0x02d01ade, 0x003339ac}}, Y: Field{[10]uint32{0x00626e52, 0x0109f94d, 0x02bd5604, 0x02be7e89, 0x01bab1db, 0x0182c6f5, 0x03764bb5, 0x00502bf7, 0x02741312, 0x00075a41}}}, + {X: Field{[10]uint32{0x032d8475, 0x003b5ba7, 0x03bbfbc8, 0x0394b4d2, 0x01e4830b, 0x016bf3b0, 0x00c73121, 0x0155f4bb, 0x0174fb10, 0x00156994}}, Y: Field{[10]uint32{0x038012c0, 0x032245c9, 0x03eec611, 0x03539cd4, 0x023f0623, 0x01524e01, 0x00dd4126, 0x014dea5c, 0x01f1de1e, 0x0031a5e5}}}, + {X: Field{[10]uint32{0x0127f290, 0x03b4a298, 0x00ab0267, 0x0065d965, 0x02d0c1d8, 0x01eb2351, 0x022779e9, 0x02cf71f8, 0x00fa7b4d, 0x001e0887}}, Y: Field{[10]uint32{0x03c46a54, 0x014fa432, 0x00b663ad, 0x0030b8d6, 0x02ace066, 0x03aad594, 0x003a1582, 0x02318922, 0x01edfd8e, 0x00237735}}}, + {X: Field{[10]uint32{0x006ed178, 0x00b5bea6, 0x03f9602b, 0x038a3e4b, 0x009006cc, 0x00041e0b, 0x00da39d6, 0x0390d3b5, 0x0039441e, 0x0026e614}}, Y: Field{[10]uint32{0x02c6cfa4, 0x0397e704, 0x003bb85f, 0x0385cfc0, 0x028a50da, 0x0364e230, 0x03f67d22, 0x01ecade2, 0x01c87b53, 0x003873e1}}}, + {X: Field{[10]uint32{0x037edf20, 0x027c8103, 0x004f38ae, 0x02c0a477, 0x026c27e7, 0x026d9d5e, 0x01b9d78d, 0x0123795f, 0x03b14a9e, 0x0026a8bf}}, Y: Field{[10]uint32{0x037d1040, 0x022dfd8d, 0x00a115ff, 0x03549dcb, 0x018f80d7, 0x0164a54b, 0x00066ef8, 0x03de53f8, 0x03e378e0, 0x001dc71e}}}, + {X: Field{[10]uint32{0x02937e1f, 0x0166a271, 0x02c021e3, 0x0145b603, 0x00949de2, 0x00248a83, 0x00510cb4, 0x02d18c5f, 0x008366a0, 0x00344164}}, Y: Field{[10]uint32{0x02c8630e, 0x0105517e, 0x000ac99c, 0x00bebb1e, 0x020e5e6f, 0x03117836, 0x017155c0, 0x011052a2, 0x0225c9ea, 0x0021014e}}}, + {X: Field{[10]uint32{0x01c5d066, 0x028bfc7e, 0x027c23e7, 0x03671c2e, 0x031ac58a, 0x00aa07df, 0x01c2d810, 0x02612bfb, 0x02cf7456, 0x0007cfb2}}, Y: Field{[10]uint32{0x01a23e54, 0x00d7601c, 0x00d94cd4, 0x018b83e6, 0x0015f1f3, 0x0085a07e, 0x034539ef, 0x0093c5cf, 0x00fa2bfd, 0x0031ab76}}}, + {X: Field{[10]uint32{0x022c4371, 0x03372836, 0x024fe569, 0x001bacd4, 0x035e504d, 0x01b23e51, 0x0151ece8, 0x0032b495, 0x0309a16d, 0x0028c4b1}}, Y: Field{[10]uint32{0x03ae7b03, 0x01e00e6c, 0x039690c7, 0x00a6b1ef, 0x0008c1fc, 0x01ad6ee1, 0x009ea2c6, 0x03176882, 0x002aea04, 0x002197b3}}}, + {X: Field{[10]uint32{0x004197af, 0x03ccbd9d, 0x0169d953, 0x036c405f, 0x008c3493, 0x030bbb4e, 0x00f64109, 0x02e9e3ef, 0x0275e829, 0x003c8711}}, Y: Field{[10]uint32{0x018b2f57, 0x03dd2b42, 0x03ef2b37, 0x01cd20b4, 0x01043d93, 0x028dec0f, 0x030ee061, 0x01f2bd76, 0x033e4337, 0x003f4b19}}}, + {X: Field{[10]uint32{0x00865692, 0x03b5f006, 0x014268fe, 0x00ce9cef, 0x01f48369, 0x02146acc, 0x00b2eb61, 0x02680bef, 0x00ea2a02, 0x0004585d}}, Y: Field{[10]uint32{0x030aaefd, 0x01cb5375, 0x00352ee7, 0x015512d9, 0x0125cf38, 0x01bd7475, 0x03ca2a2d, 0x02b676d7, 0x0027e1ce, 0x000848f4}}}, + {X: Field{[10]uint32{0x03f9d663, 0x00cd7e9c, 0x0260a962, 0x0343d79f, 0x022334fc, 0x015f9cb5, 0x00a21173, 0x0131b3d9, 0x03d0919e, 0x000d639d}}, Y: Field{[10]uint32{0x0037bc08, 0x02dbad9e, 0x020cb8b5, 0x02be821a, 0x03dcf5cd, 0x0222b1f3, 0x03819859, 0x03d00c41, 0x02206f99, 0x001fbe35}}}, + {X: Field{[10]uint32{0x02a33fa9, 0x031b6aae, 0x0060db86, 0x02cea04d, 0x008056de, 0x00597eab, 0x0157e203, 0x03c518e4, 0x020d9e81, 0x001427df}}, Y: Field{[10]uint32{0x00db6ea9, 0x016e34a8, 0x03090a09, 0x017f0eff, 0x03fd1216, 0x00fc6b4e, 0x028645f9, 0x02db139a, 0x021a340e, 0x00154523}}}, + {X: Field{[10]uint32{0x02a4ed09, 0x031f9ab4, 0x020b9ad9, 0x02f50e00, 0x00a15c95, 0x00d1bc87, 0x01e30c49, 0x0038987a, 0x025c185f, 0x000d638c}}, Y: Field{[10]uint32{0x0118c4b8, 0x026d97cb, 0x01b3d97f, 0x02f4d1e2, 0x0154aa11, 0x02cf5861, 0x02ef6903, 0x0056ca04, 0x0074c977, 0x00017f30}}}, + {X: Field{[10]uint32{0x01a2fc4c, 0x00daf8f7, 0x00d2608d, 0x00411e24, 0x02e314c3, 0x00962780, 0x0337e4ea, 0x02bcb4df, 0x012dbc00, 0x0007871c}}, Y: Field{[10]uint32{0x010655dc, 0x02c7da92, 0x00c145bf, 0x01d410b5, 0x03974e7e, 0x034c2ce2, 0x0398cf5a, 0x01aef8d9, 0x039ae313, 0x00012263}}}, + {X: Field{[10]uint32{0x03ffcd1d, 0x025ed5c8, 0x03918bd7, 0x0081cd86, 0x0064e317, 0x0202a564, 0x03b794dc, 0x01e6c3fc, 0x039aaa3f, 0x0029945b}}, Y: Field{[10]uint32{0x0254f5d4, 0x0140c00e, 0x00f9bed5, 0x0373af6f, 0x02812373, 0x01f1f0c4, 0x0377b074, 0x02e0c14f, 0x006b59f3, 0x003164d3}}}, + {X: Field{[10]uint32{0x01098155, 0x00046e2c, 0x01b79295, 0x00cf6966, 0x0150cb56, 0x00c1111a, 0x03ab8240, 0x006e12e7, 0x00d88b1e, 0x00391ad2}}, Y: Field{[10]uint32{0x00c94f51, 0x01e4d96c, 0x00a80a5d, 0x02033654, 0x003e7c8a, 0x0165d0d4, 0x002e5512, 0x0265db8d, 0x02244a33, 0x0010fa6e}}}, + {X: Field{[10]uint32{0x0365aa0b, 0x00cdc34f, 0x03400e58, 0x01000489, 0x00e1cc2d, 0x037e79c5, 0x025105b1, 0x030b8018, 0x009997a9, 0x00329e94}}, Y: Field{[10]uint32{0x02e1f071, 0x007abf99, 0x02039b7a, 0x011334b3, 0x0319c618, 0x03df2c3b, 0x01994fce, 0x03346883, 0x00e4d2ee, 0x00376329}}}, + {X: Field{[10]uint32{0x02313f08, 0x003561a5, 0x02d0da39, 0x027bb007, 0x00848659, 0x01de1b10, 0x01352d4b, 0x015dbc44, 0x02c0d29b, 0x000c9ad7}}, Y: Field{[10]uint32{0x0011d384, 0x020a2a04, 0x0126495e, 0x0280f693, 0x01c2d5d3, 0x0356ca83, 0x02a60633, 0x01952f9e, 0x0171a4ac, 0x003d28fc}}}, + {X: Field{[10]uint32{0x030d306d, 0x024c8a39, 0x03e2b392, 0x03bb944b, 0x017c5bf8, 0x03fa6eb6, 0x017038db, 0x031d6a95, 0x018254f5, 0x0002dd8a}}, Y: Field{[10]uint32{0x003606c5, 0x036cf6c5, 0x016fbf92, 0x01d4e612, 0x020cc85c, 0x035f7a2f, 0x035bb2d0, 0x00fa18b1, 0x039fb36e, 0x0022e023}}}, + {X: Field{[10]uint32{0x032286ca, 0x026886e1, 0x014f5ef7, 0x0295e419, 0x03ae66f1, 0x03c6a046, 0x0250a096, 0x00dbff77, 0x00e12b1d, 0x0022f589}}, Y: Field{[10]uint32{0x011f02df, 0x02e015eb, 0x004d0fe9, 0x02885c15, 0x038bf6a2, 0x01108d2b, 0x0331c747, 0x022586d9, 0x022ef453, 0x0019a1fa}}}, + {X: Field{[10]uint32{0x01de48a9, 0x02349741, 0x03da42d7, 0x00cf555c, 0x01509d1c, 0x03e11b19, 0x01414ccc, 0x024a402f, 0x02c72a9f, 0x003b497a}}, Y: Field{[10]uint32{0x00d89eaa, 0x0287ad40, 0x028b98f3, 0x03407dce, 0x018705a9, 0x020b35ef, 0x011583c6, 0x03f40edb, 0x01ed2710, 0x00155bea}}}, + {X: Field{[10]uint32{0x00bc02bf, 0x012e79c2, 0x000600df, 0x030778a0, 0x000e8fac, 0x01d57ecc, 0x027bc94c, 0x01aa1271, 0x036c9ed7, 0x003c650e}}, Y: Field{[10]uint32{0x002a40a7, 0x023295a2, 0x004b0481, 0x00cb7c7e, 0x03a31562, 0x00b2e1db, 0x00bb6464, 0x01383dab, 0x020885dc, 0x002631ee}}}, + {X: Field{[10]uint32{0x01e9e5d3, 0x01460ca9, 0x02f391d3, 0x0085ab23, 0x03834228, 0x033b6b9e, 0x0024276d, 0x02ae3ec3, 0x03142de3, 0x00316d82}}, Y: Field{[10]uint32{0x02b5cd69, 0x00ab37e7, 0x01260e91, 0x01e381f0, 0x02332595, 0x00535297, 0x01e10d90, 0x039827d5, 0x00da1174, 0x0033a1b9}}}, + {X: Field{[10]uint32{0x013755ab, 0x00b10252, 0x014f592e, 0x000305a3, 0x01c77782, 0x014fe678, 0x019647b2, 0x03f98ccd, 0x038e706c, 0x0002c198}}, Y: Field{[10]uint32{0x0344bbd5, 0x0228e0f2, 0x0369d3e8, 0x01ee1f9f, 0x03e16dd3, 0x027e54d5, 0x02e24933, 0x0148a44d, 0x03ab1b4d, 0x00399007}}}, + {X: Field{[10]uint32{0x024b14cf, 0x00e6df49, 0x03cd89f5, 0x0391a052, 0x03f0ec5f, 0x00cbe958, 0x0250ea54, 0x02b3f4a5, 0x01b5486d, 0x0033be30}}, Y: Field{[10]uint32{0x025a2fcf, 0x01aab046, 0x0166c931, 0x00aac94b, 0x015ed4fd, 0x01875ca0, 0x00939ea7, 0x002f8c00, 0x02c18d0b, 0x00020330}}}, + {X: Field{[10]uint32{0x0385d7ce, 0x011b6892, 0x014f38e5, 0x01009a5d, 0x0162defb, 0x00662c70, 0x00dccac4, 0x03ca857f, 0x004df868, 0x003d85a4}}, Y: Field{[10]uint32{0x038255b3, 0x0098ce9e, 0x023e47f6, 0x00deabab, 0x03de8b4d, 0x01cecc73, 0x03b93e0b, 0x009327c2, 0x00123440, 0x003ee5c4}}}, + {X: Field{[10]uint32{0x018632e3, 0x03d8b0fe, 0x02599a59, 0x0397b602, 0x011613d8, 0x000bfbd3, 0x02516979, 0x0129ecce, 0x0144bc7e, 0x0025ce18}}, Y: Field{[10]uint32{0x00fc16b4, 0x001b4d83, 0x03b6a5a8, 0x0196e9e6, 0x0308e560, 0x010c6bc9, 0x01834a95, 0x0264e4b7, 0x01845842, 0x002f44b5}}}, + {X: Field{[10]uint32{0x030200c8, 0x03390dee, 0x0311b551, 0x03701584, 0x011eb08d, 0x0195ac9e, 0x003a56f6, 0x03e803d0, 0x030c7a70, 0x00251bc4}}, Y: Field{[10]uint32{0x01945b8d, 0x019a5278, 0x0310507a, 0x02529efd, 0x00186d97, 0x02bc15e1, 0x01a923f3, 0x01f981fd, 0x00f6a503, 0x002b35a6}}}, + {X: Field{[10]uint32{0x03929230, 0x0102f730, 0x0287d917, 0x030cd08d, 0x01d5f1af, 0x03034962, 0x038c064f, 0x014ec030, 0x018472c4, 0x003b833c}}, Y: Field{[10]uint32{0x03ff8dc8, 0x01e09927, 0x0191f79c, 0x00a2cdba, 0x008c773c, 0x03289264, 0x014db12f, 0x034e5fa5, 0x035a7fec, 0x003605dd}}}, + {X: Field{[10]uint32{0x01535d7b, 0x018e9ddf, 0x03c21234, 0x0225364e, 0x03ef0072, 0x02ac4a1f, 0x0148b4f4, 0x02961c27, 0x03fe9542, 0x003ccd7d}}, Y: Field{[10]uint32{0x03350283, 0x006140b8, 0x01bf7455, 0x03a69ac6, 0x017639da, 0x023abed3, 0x0389c06d, 0x0174a4d4, 0x01a30246, 0x000cdb92}}}, + {X: Field{[10]uint32{0x017e7739, 0x02c383f2, 0x03f06f0e, 0x01b15675, 0x00b1326d, 0x01daa410, 0x00200d7b, 0x01fe3773, 0x01794fb3, 0x00156fe0}}, Y: Field{[10]uint32{0x03e69bfc, 0x024c28ab, 0x0086632e, 0x0293d274, 0x013053f6, 0x01f5c0fb, 0x002ade6f, 0x017307a4, 0x03007915, 0x00328cf3}}}, + {X: Field{[10]uint32{0x01de29b0, 0x01f5bd8a, 0x0062349b, 0x0004bf83, 0x031033b9, 0x02edb650, 0x022195fa, 0x0369197b, 0x03816143, 0x0037ff33}}, Y: Field{[10]uint32{0x00f0aff7, 0x01d6e71d, 0x0190bbfe, 0x02757f7b, 0x00c04bc3, 0x02178562, 0x029fc06f, 0x012b9f70, 0x03f6e1dc, 0x0026ff7c}}}, + {X: Field{[10]uint32{0x0139dec3, 0x039f608d, 0x0177f3c5, 0x0044ba3d, 0x02c435bc, 0x0155aec4, 0x01c1395b, 0x01be8bf9, 0x009425fc, 0x002e5d23}}, Y: Field{[10]uint32{0x014007a2, 0x032a2a32, 0x016e3dfa, 0x02f18eaa, 0x00f76d31, 0x0354507b, 0x016b2336, 0x0348ed7a, 0x03b2b995, 0x003d48e2}}}, + {X: Field{[10]uint32{0x0297f7ca, 0x00561e2b, 0x039a3fb6, 0x0397e9a8, 0x022c5349, 0x03d4ab66, 0x0329e335, 0x02c55ce3, 0x0054e951, 0x0024b10f}}, Y: Field{[10]uint32{0x012b4a17, 0x02c06558, 0x022bf71b, 0x01e75a29, 0x02bdc4ae, 0x00d92d8a, 0x00924fc6, 0x006f28c2, 0x0373dedd, 0x001f1e9a}}}, + {X: Field{[10]uint32{0x021eb272, 0x02d9ac34, 0x02d96040, 0x03a7d1c9, 0x035677af, 0x01e96248, 0x01ef139d, 0x017957b8, 0x03ea2599, 0x0002c64d}}, Y: Field{[10]uint32{0x03043dd6, 0x024c6033, 0x019195a9, 0x000ea3aa, 0x005585c5, 0x03911253, 0x003e0ca5, 0x031f3f9b, 0x0257544a, 0x00343e56}}}, + {X: Field{[10]uint32{0x0133f457, 0x01b601f0, 0x01fc94a4, 0x01ea3443, 0x00e2a504, 0x00026de2, 0x005a6b72, 0x03892caf, 0x024dbd7e, 0x000b0735}}, Y: Field{[10]uint32{0x020aabe3, 0x01a12dd9, 0x0230cfd8, 0x03ea7a73, 0x027a9449, 0x0179a209, 0x0031a1f0, 0x01e92f9f, 0x03dfce7d, 0x003fa298}}}, + {X: Field{[10]uint32{0x01004834, 0x03d4ff11, 0x014ed447, 0x01a1b321, 0x026d5443, 0x002900f5, 0x0030649b, 0x02a28ada, 0x0278be6e, 0x0013fc42}}, Y: Field{[10]uint32{0x018765d8, 0x00b4a1f9, 0x018bdb36, 0x035ca3d7, 0x01e43384, 0x0138b6c3, 0x001cf5bf, 0x001658ba, 0x00c356d5, 0x002cf2cc}}}, + {X: Field{[10]uint32{0x003d28de, 0x000d563d, 0x0344d9da, 0x0320145c, 0x01f877e8, 0x031c5164, 0x00a7c2a0, 0x01996ad8, 0x03666c90, 0x000cfd56}}, Y: Field{[10]uint32{0x015163f6, 0x0293d90b, 0x01ce08c2, 0x0150e17b, 0x02af1467, 0x024e4c68, 0x020ea80c, 0x017b562b, 0x00ab6aa9, 0x000e6612}}}, + {X: Field{[10]uint32{0x000d3e04, 0x0221eacd, 0x02636020, 0x01b56216, 0x02408da6, 0x03fcb5af, 0x037cc150, 0x00dfac62, 0x03595a72, 0x002e5c48}}, Y: Field{[10]uint32{0x0272363a, 0x01e22cef, 0x00ead817, 0x0223ea1f, 0x02dd125f, 0x031a4c51, 0x03f0ab8f, 0x0316906c, 0x03bd643a, 0x0028a0e8}}}, + {X: Field{[10]uint32{0x00a1035b, 0x0297f058, 0x00dccf0b, 0x02953661, 0x035a4204, 0x03fdcce3, 0x002c1e9f, 0x0250d7d8, 0x00676efa, 0x003483e4}}, Y: Field{[10]uint32{0x03404139, 0x02b9dee3, 0x0086f3fa, 0x01bd9915, 0x01ca1af2, 0x028c545d, 0x004406ce, 0x000fe1c9, 0x007a4520, 0x002b0e8f}}}, + {X: Field{[10]uint32{0x02f41f2d, 0x0252d4ff, 0x02ef54e2, 0x03800fb8, 0x0281d8b3, 0x001cb864, 0x00b2d0bd, 0x027c3511, 0x02a3157c, 0x000c8b5b}}, Y: Field{[10]uint32{0x012936b3, 0x0166d37e, 0x03a97ec3, 0x03dba98a, 0x026e096d, 0x0298e310, 0x02a9e676, 0x00b7799d, 0x03f19dc1, 0x0020e051}}}, + {X: Field{[10]uint32{0x020c26d5, 0x027b67be, 0x024cf8f2, 0x032e52ab, 0x011d2bfa, 0x02b802c3, 0x0164ea7b, 0x0106dadd, 0x00080683, 0x00256497}}, Y: Field{[10]uint32{0x02b92130, 0x01bdfe1d, 0x006d02b4, 0x03f2f749, 0x00edf14c, 0x0081f0bb, 0x015557b2, 0x0088cb09, 0x01b91315, 0x000318fb}}}, + {X: Field{[10]uint32{0x011f70af, 0x03b86f4f, 0x01664c06, 0x00b4f692, 0x03517a71, 0x00e64f35, 0x03fba71e, 0x00637684, 0x02b5d436, 0x001d64aa}}, Y: Field{[10]uint32{0x02eaa410, 0x0274e185, 0x01b457d7, 0x02ba5de8, 0x027a9222, 0x033ea2ac, 0x000aef1c, 0x00a1356b, 0x0077af74, 0x001553ba}}}, + {X: Field{[10]uint32{0x0209e0eb, 0x03669644, 0x03503671, 0x0129814f, 0x00806257, 0x02ce45a0, 0x031ad311, 0x02dc7e18, 0x018be13e, 0x003b674a}}, Y: Field{[10]uint32{0x0185c3cb, 0x02e86e27, 0x02b6fe54, 0x03f35403, 0x017b479e, 0x03d0361f, 0x007caa30, 0x0221b668, 0x03c0dab8, 0x0025ea6a}}}, + {X: Field{[10]uint32{0x02355fad, 0x039250be, 0x01fcb9f8, 0x028bff0e, 0x0378ae69, 0x002351a6, 0x028daf33, 0x002f0ef4, 0x0236a590, 0x00337fbd}}, Y: Field{[10]uint32{0x020db6d7, 0x02039194, 0x02d5179f, 0x0314de3c, 0x02f4f6c7, 0x024581ea, 0x02a1c255, 0x03bd3a91, 0x03cc54c0, 0x003e0ce3}}}, + {X: Field{[10]uint32{0x0149db49, 0x014b9a9e, 0x035848ca, 0x00f5a961, 0x03dbc094, 0x01b67d76, 0x03a8fc42, 0x02f5ab29, 0x03220ca3, 0x003d8e33}}, Y: Field{[10]uint32{0x01675295, 0x02478290, 0x03732f36, 0x009a7f47, 0x01653a79, 0x03565450, 0x03490039, 0x03aade42, 0x03dd8309, 0x0015a899}}}, + {X: Field{[10]uint32{0x0314bd1c, 0x01e8ac63, 0x02e1e638, 0x00eaf250, 0x037a6616, 0x018e482c, 0x0076cab1, 0x010fd40f, 0x02f29b1e, 0x0010d03f}}, Y: Field{[10]uint32{0x032210a0, 0x00af0ae0, 0x01eb6ad6, 0x00562eee, 0x0159ff2f, 0x01bdea77, 0x00908f0b, 0x034d4f1b, 0x002d6889, 0x000b569e}}}, + {X: Field{[10]uint32{0x01b80991, 0x0208bc6a, 0x01a30bf2, 0x025b1bb4, 0x001aa832, 0x03bae09b, 0x012c01fb, 0x036c4c33, 0x028005e3, 0x001e2be1}}, Y: Field{[10]uint32{0x008c3725, 0x0106bd89, 0x02a2a49d, 0x03761881, 0x01ec458c, 0x02e53e0d, 0x000d95b6, 0x033a449a, 0x023637a6, 0x000671f2}}}, + {X: Field{[10]uint32{0x01c41ef4, 0x00ab8472, 0x02d4958a, 0x01e4e2e5, 0x01720642, 0x00ecf558, 0x02831c01, 0x02fbdd52, 0x010fe6a4, 0x00361f96}}, Y: Field{[10]uint32{0x021d1dc6, 0x02d02e6f, 0x016b3e30, 0x0286d422, 0x0353b97a, 0x023b53af, 0x03ff97ff, 0x00d227c7, 0x013ac9b4, 0x000e4a2a}}}, + {X: Field{[10]uint32{0x01c54c32, 0x02a111b7, 0x00a7f630, 0x01a4656e, 0x0285ea85, 0x002e41db, 0x015cfd0a, 0x011fa505, 0x01f369c5, 0x002d6746}}, Y: Field{[10]uint32{0x02661865, 0x03fc2176, 0x00357f81, 0x01fb1129, 0x032d5082, 0x02058b17, 0x0383d552, 0x02af838a, 0x008affe7, 0x002e3d56}}}, + {X: Field{[10]uint32{0x00f3ee78, 0x00f4c318, 0x0143a6d8, 0x02f57abd, 0x03662726, 0x007050ea, 0x02a64cd8, 0x026c000e, 0x03da7cd5, 0x000d3d90}}, Y: Field{[10]uint32{0x00501ee8, 0x001111bd, 0x03b22d52, 0x0078fe91, 0x0291906c, 0x00fb968d, 0x00bd29b0, 0x03d5cd68, 0x00f291a7, 0x001055d3}}}, + {X: Field{[10]uint32{0x033dbbf3, 0x00e57588, 0x01b4ecac, 0x03d5ac17, 0x00fd007b, 0x030c725a, 0x0378757d, 0x027790cf, 0x03d0583e, 0x0015bbcd}}, Y: Field{[10]uint32{0x035c9286, 0x0052e6b7, 0x0229a92c, 0x037ee7a5, 0x02ba8cb5, 0x00ee853a, 0x02e28075, 0x0263e442, 0x001ab5c8, 0x00285038}}}, + {X: Field{[10]uint32{0x01c957d7, 0x037402bb, 0x00fc87e3, 0x01d9e115, 0x02fc54dd, 0x00e97750, 0x039ca5cb, 0x015a2c44, 0x0334815b, 0x0000790f}}, Y: Field{[10]uint32{0x02334cc8, 0x01c93ddf, 0x0302c85d, 0x03eb410c, 0x008e947a, 0x01370af7, 0x0282d9e6, 0x03b881e2, 0x0274ac96, 0x001730e0}}}, + {X: Field{[10]uint32{0x0339a952, 0x00c18bf0, 0x00eabad9, 0x020a63de, 0x01f8b06c, 0x03606df7, 0x029046d3, 0x036df366, 0x024935d2, 0x000339e7}}, Y: Field{[10]uint32{0x004f9686, 0x0282286e, 0x01dc7fff, 0x03d7f701, 0x038765c8, 0x02f0f3d6, 0x018c4943, 0x0189a96b, 0x02ee1b90, 0x003f0bdb}}}, + {X: Field{[10]uint32{0x02fe4fd9, 0x01030c61, 0x00e2c76c, 0x030d2cf7, 0x00f6766c, 0x0068033e, 0x00c3365e, 0x00b099c3, 0x0004ca86, 0x002d0512}}, Y: Field{[10]uint32{0x01b2219c, 0x016e6b54, 0x004b8717, 0x02ad78a8, 0x0029cbda, 0x00e803f5, 0x03752f00, 0x01b8028f, 0x021fca9b, 0x00390da2}}}, + {X: Field{[10]uint32{0x034fd39f, 0x00750887, 0x006a70b7, 0x007b06f1, 0x01541634, 0x03b5274e, 0x039cf65c, 0x03e09239, 0x03247406, 0x003aa8a5}}, Y: Field{[10]uint32{0x017c14a6, 0x0374a2ea, 0x01d46248, 0x033c0e28, 0x02d0d4b6, 0x01788610, 0x00d99328, 0x01730f79, 0x001be3b7, 0x001a39fe}}}, + {X: Field{[10]uint32{0x00f5b6a5, 0x00bb140c, 0x02999e7a, 0x0327d0b1, 0x02eb7371, 0x0372ff1c, 0x00c6caa3, 0x0222f0ee, 0x00ff1f72, 0x00138b44}}, Y: Field{[10]uint32{0x025a8774, 0x020803c2, 0x00f82be8, 0x03d7ad9e, 0x006ba793, 0x03905f40, 0x03515ca3, 0x013ec2a4, 0x005cdf2a, 0x001a368f}}}, + {X: Field{[10]uint32{0x030659f1, 0x02776888, 0x01adce00, 0x025115f0, 0x007d073b, 0x019f0a25, 0x00a4b45c, 0x03b258aa, 0x01e1114d, 0x0020d3c8}}, Y: Field{[10]uint32{0x01adc89c, 0x02b1fec9, 0x00a6ef78, 0x036d8c83, 0x0339263a, 0x001299f0, 0x03acb27d, 0x028280bd, 0x01b6edb5, 0x003a7e98}}}, + {X: Field{[10]uint32{0x00c7d0c7, 0x01c4e78c, 0x00381ece, 0x0367e6f7, 0x01c43cae, 0x034f5a3f, 0x03268d7c, 0x011156a5, 0x00aca0a6, 0x002a12d1}}, Y: Field{[10]uint32{0x03bf6b74, 0x02bc9642, 0x00d6da05, 0x01e4e20b, 0x03d12678, 0x02466bde, 0x03bde43f, 0x000aef4b, 0x033b74e7, 0x000be40f}}}, + {X: Field{[10]uint32{0x001d6789, 0x00d207c9, 0x02cbdd41, 0x01f2ed0c, 0x02600cbe, 0x02783e9b, 0x031df66f, 0x02e5dd1e, 0x020698bc, 0x00084867}}, Y: Field{[10]uint32{0x00954055, 0x0346249c, 0x03736aef, 0x02f8c92e, 0x022e6970, 0x02d74c99, 0x017d9688, 0x0061d2a2, 0x00d3c896, 0x001e90e2}}}, + {X: Field{[10]uint32{0x03aeafd4, 0x01ec8be6, 0x03562686, 0x01260a89, 0x017b9465, 0x013d261e, 0x034bbdbe, 0x0333da22, 0x021f93bf, 0x003e9453}}, Y: Field{[10]uint32{0x00f91b74, 0x03c95f69, 0x0330a478, 0x015b09a9, 0x012c2f61, 0x0324c382, 0x0087b518, 0x00ad2a78, 0x02155257, 0x00333520}}}, + {X: Field{[10]uint32{0x01451ffb, 0x03e80b1e, 0x01ffa4ca, 0x03d4fcbf, 0x012204d4, 0x026f630b, 0x0133a4a9, 0x0267c301, 0x03f16430, 0x002d82be}}, Y: Field{[10]uint32{0x0321294b, 0x03bbe2d2, 0x03f43886, 0x0018fbbc, 0x01d321e0, 0x01af69ba, 0x00b3bd27, 0x02649b35, 0x03901a02, 0x0003fb63}}}, + {X: Field{[10]uint32{0x03ed76cd, 0x02143a29, 0x00defc74, 0x0194e71b, 0x0017c2b7, 0x0151a53a, 0x02fcca65, 0x038d2a1b, 0x01a3196c, 0x003ca73e}}, Y: Field{[10]uint32{0x00c9c5f7, 0x0044a7e2, 0x028f6247, 0x01de6547, 0x00994b29, 0x036d6eb3, 0x03f1bf62, 0x00cf3ecd, 0x023af7c3, 0x00144c21}}}, + {X: Field{[10]uint32{0x01084e4d, 0x02e49d71, 0x014ed563, 0x0128c889, 0x01d8fe31, 0x00f88fc7, 0x03af34b0, 0x02ff1468, 0x023acb00, 0x00273678}}, Y: Field{[10]uint32{0x0298e1d5, 0x01bf1384, 0x0277d4d3, 0x0133e34a, 0x014f31bd, 0x01ecc5c1, 0x01d6c1a1, 0x029c4054, 0x035cc66e, 0x003b3c08}}}, + {X: Field{[10]uint32{0x02e5d65c, 0x00edbd7d, 0x025bff3d, 0x0246acac, 0x0218ed66, 0x0395a8a0, 0x02d99a6b, 0x00122be5, 0x01b02cfa, 0x0015be22}}, Y: Field{[10]uint32{0x001fe4bc, 0x03a81ec9, 0x00d921b7, 0x00a7a832, 0x01bb8ecc, 0x03723f28, 0x034f8248, 0x01cabfd9, 0x00ea4a23, 0x000d4ac8}}}, + {X: Field{[10]uint32{0x01ff2a08, 0x024daad7, 0x03dea16c, 0x039491af, 0x028e2366, 0x00f7bd55, 0x0169a7dd, 0x0363f05b, 0x02b7f8fa, 0x00378caf}}, Y: Field{[10]uint32{0x009e145f, 0x00013509, 0x01acba7c, 0x0332c378, 0x03eaa216, 0x038997ea, 0x002bd06f, 0x0070891b, 0x011c93a7, 0x0035cc7c}}}, + {X: Field{[10]uint32{0x026ba256, 0x0222578a, 0x02693096, 0x00ebe612, 0x037d12dc, 0x03beab36, 0x03dfa58f, 0x00a76300, 0x01c1dc17, 0x00217b1f}}, Y: Field{[10]uint32{0x024a747c, 0x02c2d166, 0x0041b194, 0x03cae86a, 0x0189e4b9, 0x03ee8c77, 0x00c73b5a, 0x02af2fe6, 0x00af8e9a, 0x00148c0e}}}, + {X: Field{[10]uint32{0x01e2e141, 0x02972bd0, 0x014abe23, 0x0038ac9b, 0x02e22328, 0x00b6e2fd, 0x03f5efe4, 0x023b07b5, 0x01956052, 0x003de522}}, Y: Field{[10]uint32{0x00c6ff98, 0x03f2dee0, 0x012fcdd6, 0x01585b37, 0x0258871e, 0x02a35b67, 0x0037e9fd, 0x007e621a, 0x00e296ed, 0x0027dd65}}}, + {X: Field{[10]uint32{0x03454f10, 0x0267383c, 0x00137621, 0x00eb88a3, 0x02866bd5, 0x0006a4ef, 0x036e8eef, 0x022094f5, 0x03d3b420, 0x0016235b}}, Y: Field{[10]uint32{0x002af573, 0x008a92ed, 0x02d2c6d9, 0x0206b437, 0x0206320b, 0x00c6df8c, 0x03f29ade, 0x00822ee8, 0x02533e41, 0x00297f25}}}, + {X: Field{[10]uint32{0x00cc7443, 0x0108f787, 0x0259c0bf, 0x0253a0d1, 0x03b01db2, 0x025d9dde, 0x0387d4e8, 0x03229d5b, 0x008dbbe5, 0x00061bf8}}, Y: Field{[10]uint32{0x03dfbdc0, 0x01be67a6, 0x01bdca25, 0x009a9912, 0x0229f12e, 0x00d7f432, 0x037a93a4, 0x01e080d0, 0x0139a46f, 0x0036677b}}}, + {X: Field{[10]uint32{0x01bd3d25, 0x01b57796, 0x036bb5a0, 0x02600bd5, 0x022af22e, 0x03b84ccd, 0x03eac38c, 0x02afcced, 0x03083055, 0x00395272}}, Y: Field{[10]uint32{0x01332381, 0x000c971f, 0x005fd4fe, 0x0390d2a5, 0x015ababd, 0x03f0d6b9, 0x001c7f7a, 0x00520d99, 0x0320e7b5, 0x00337cdf}}}, + {X: Field{[10]uint32{0x0224422b, 0x024ce240, 0x006e18ac, 0x01e7d4ea, 0x00b930df, 0x03fa12d6, 0x006108fc, 0x01456172, 0x02fbfd7f, 0x0029390a}}, Y: Field{[10]uint32{0x00ce1e30, 0x011e5800, 0x03e2f1ea, 0x0072efa8, 0x00541e55, 0x024575eb, 0x00d6177f, 0x00c40ad6, 0x021b0396, 0x0003a7e3}}}, + {X: Field{[10]uint32{0x0003dadb, 0x03bf72b6, 0x03d4ed09, 0x02a5c667, 0x004755fb, 0x01dd43e9, 0x009e9cfb, 0x00bd09ac, 0x00444202, 0x0017dfb6}}, Y: Field{[10]uint32{0x0376ffad, 0x0386f74a, 0x01addccb, 0x030e6ff3, 0x00e852d9, 0x02425bc7, 0x01592fcc, 0x023ac272, 0x01edd06a, 0x00024757}}}, + {X: Field{[10]uint32{0x02938d66, 0x038603b0, 0x038f1868, 0x03e42be8, 0x0191dcf7, 0x03d9ef45, 0x033fa223, 0x0193842c, 0x034332f0, 0x000feb11}}, Y: Field{[10]uint32{0x02aabe5c, 0x00f69878, 0x019206f9, 0x003e7a99, 0x03eebf27, 0x0045cc2e, 0x006d10ab, 0x00de64ce, 0x02676b20, 0x00115d13}}}, + {X: Field{[10]uint32{0x037a7aa9, 0x0192f7fe, 0x006b190e, 0x003da863, 0x00d4b10e, 0x01f639e1, 0x00d13df9, 0x034850b9, 0x03fff058, 0x0017ee60}}, Y: Field{[10]uint32{0x01dabd6f, 0x003c69a3, 0x018e8346, 0x020629b5, 0x00ec5811, 0x025ccf5d, 0x0373f73a, 0x0103343a, 0x02018dc5, 0x000cce51}}}, + {X: Field{[10]uint32{0x0341f88a, 0x003d79b7, 0x020e043e, 0x0078674f, 0x009c6e94, 0x02c20d99, 0x015eec1a, 0x00e68b6c, 0x01c30fa9, 0x0002ebcd}}, Y: Field{[10]uint32{0x028e9201, 0x004234bd, 0x01966214, 0x011553fb, 0x019de414, 0x00ee2c1a, 0x02bdc3fe, 0x0286f13b, 0x00d3e53f, 0x0010960f}}}, + {X: Field{[10]uint32{0x009a8602, 0x00128160, 0x01f9a0c7, 0x0366b36e, 0x004266c4, 0x00fecf58, 0x0186183a, 0x01ffc3c7, 0x035aa51e, 0x0025d907}}, Y: Field{[10]uint32{0x019517dd, 0x034ca1eb, 0x0239b5b0, 0x03f51676, 0x031ab169, 0x0073e9e3, 0x0182fc90, 0x02f6fb63, 0x0232aa9f, 0x0004d3fe}}}, + {X: Field{[10]uint32{0x0327292e, 0x031ad549, 0x02a5ee23, 0x03286a1d, 0x03f59feb, 0x02f8170d, 0x01aa8fb4, 0x03db716b, 0x011eacda, 0x0025a8dc}}, Y: Field{[10]uint32{0x01da4392, 0x03b34fe9, 0x00e96b82, 0x008d5840, 0x0134be91, 0x01eb5760, 0x01fce0e6, 0x02eded78, 0x03b9681e, 0x0023ec33}}}, + {X: Field{[10]uint32{0x03154b0a, 0x02ab7bd3, 0x01e2a14f, 0x02c0fa75, 0x029f9f16, 0x004d8c82, 0x01388926, 0x0031b4a3, 0x028b8e54, 0x002b9910}}, Y: Field{[10]uint32{0x00118aeb, 0x01e524ff, 0x002e4d5b, 0x03b5bf9b, 0x03cc68ad, 0x003fd679, 0x02d5193b, 0x01cf36e7, 0x025eb9bf, 0x0036c80b}}}, + {X: Field{[10]uint32{0x00c984fb, 0x00a41d5b, 0x0038d422, 0x03feea1d, 0x03e16424, 0x016d210c, 0x03532cf1, 0x030b0452, 0x02df65c0, 0x000b164c}}, Y: Field{[10]uint32{0x03d29130, 0x028b0931, 0x01e47f59, 0x00a0b3ac, 0x011c6436, 0x022e7fd3, 0x015deec3, 0x02815b4e, 0x00c4b908, 0x000587be}}}, + {X: Field{[10]uint32{0x02ecca3e, 0x0123d55e, 0x02071f9c, 0x0276f1a4, 0x02241538, 0x03aff2ff, 0x0252d563, 0x02e9a460, 0x00786937, 0x001db887}}, Y: Field{[10]uint32{0x0133c8e6, 0x0293bf51, 0x02a77a3f, 0x00a235c6, 0x01ca634d, 0x024c27fa, 0x0361d0d4, 0x01f5878e, 0x02fe9db4, 0x00379de1}}}, + {X: Field{[10]uint32{0x0267900f, 0x01c2016c, 0x00a36eaa, 0x018ff259, 0x02099df3, 0x02bf1a91, 0x020b3466, 0x004e3474, 0x00efca8a, 0x001c5c37}}, Y: Field{[10]uint32{0x00c0bb8d, 0x00db5776, 0x0320303b, 0x039188fe, 0x00440562, 0x021c3e3e, 0x0389f7bf, 0x00515663, 0x0139476f, 0x00065aff}}}, + {X: Field{[10]uint32{0x011b6ccd, 0x001f16da, 0x036f2e69, 0x018b8d60, 0x0361a956, 0x0347a27d, 0x01fb466e, 0x034916a8, 0x02b075bd, 0x00263b77}}, Y: Field{[10]uint32{0x030c91be, 0x02a107d5, 0x02814731, 0x0266aca5, 0x00bdbcdc, 0x00228e8b, 0x002ddc21, 0x0092e327, 0x01f6b591, 0x002bcfed}}}, + {X: Field{[10]uint32{0x028e8849, 0x03db6a2e, 0x00e6768b, 0x01383ea6, 0x018dd1c3, 0x0160de70, 0x0236fc5c, 0x0181be97, 0x000659ae, 0x002fd0be}}, Y: Field{[10]uint32{0x0155b8af, 0x039a3e1d, 0x0298f26b, 0x0344873b, 0x00ca74a0, 0x01aeba31, 0x03495782, 0x036e511b, 0x03706e4a, 0x0034d0fe}}}, + {X: Field{[10]uint32{0x0262e1cd, 0x037e5551, 0x038a0d82, 0x0170230c, 0x02c42fd6, 0x018927f0, 0x0075c365, 0x023718a4, 0x00a5891e, 0x00103071}}, Y: Field{[10]uint32{0x00689ec3, 0x02843a73, 0x0303ae5a, 0x009ce815, 0x03f20253, 0x02f304ac, 0x015d8192, 0x03db0dc6, 0x03d0e68e, 0x00199c88}}}, + {X: Field{[10]uint32{0x03883dc1, 0x0044cfa3, 0x03c92b92, 0x00f1524b, 0x03bfd3ef, 0x02828b5b, 0x004cf1b1, 0x00ff920e, 0x03100c8e, 0x00058b74}}, Y: Field{[10]uint32{0x01b5cff0, 0x00f23803, 0x00e21a65, 0x013a1ba8, 0x003d0ebf, 0x03d24387, 0x0197685c, 0x000ae7dc, 0x01d5c82f, 0x0007c8c4}}}, + {X: Field{[10]uint32{0x006331cb, 0x031f9033, 0x03b3dbdf, 0x03f5455e, 0x005d63c4, 0x00227b16, 0x03302e51, 0x02b8f3cf, 0x014689ea, 0x003fc3e0}}, Y: Field{[10]uint32{0x0151bf2e, 0x02d591c1, 0x00c2dac2, 0x037d68ec, 0x02f8814c, 0x01e3476a, 0x02549737, 0x00a78eeb, 0x01b94eb5, 0x0013707f}}}, + {X: Field{[10]uint32{0x0207b78e, 0x028e45d1, 0x02033c3e, 0x010553d2, 0x0314b3e6, 0x0131b66a, 0x0072b224, 0x02d55cbd, 0x0274b011, 0x00050eb9}}, Y: Field{[10]uint32{0x0201c35c, 0x032d084d, 0x0099fdb9, 0x022b8667, 0x03ca2029, 0x0280f7f5, 0x018820c0, 0x03ee8980, 0x01820fae, 0x00054a35}}}, + {X: Field{[10]uint32{0x019009a3, 0x01ec05e3, 0x006f35e1, 0x003b35ae, 0x004115a8, 0x00a5d366, 0x03a0efd3, 0x03517e5b, 0x02288fff, 0x003ceb73}}, Y: Field{[10]uint32{0x0116a20e, 0x001996d2, 0x00ba72d2, 0x0293aaf5, 0x03805580, 0x0252961a, 0x020915e4, 0x026ec1a6, 0x03009632, 0x0008080b}}}, + {X: Field{[10]uint32{0x00d8cccf, 0x001d5631, 0x032f85ad, 0x008bd13e, 0x034904ad, 0x02930891, 0x00e6bc6f, 0x003438b2, 0x0029e273, 0x003489c2}}, Y: Field{[10]uint32{0x0079a3bc, 0x000bd7a2, 0x03a93c63, 0x01eab819, 0x0227c66c, 0x0098b904, 0x009741df, 0x03d9a566, 0x00ac9d5b, 0x003569ad}}}, + {X: Field{[10]uint32{0x012964a6, 0x032b7d0d, 0x0356756e, 0x02299727, 0x01834753, 0x00aecbcf, 0x0057a948, 0x03caa117, 0x02b67d9b, 0x0009b45f}}, Y: Field{[10]uint32{0x02068fb2, 0x01c67078, 0x01c6b7f7, 0x006bf348, 0x00b8703d, 0x02926a9c, 0x03c4a520, 0x030d16f3, 0x03d47d67, 0x002552bc}}}, + {X: Field{[10]uint32{0x03fac74b, 0x01a3c879, 0x024760bf, 0x0264c4d1, 0x0036a52d, 0x017b9f44, 0x011618ce, 0x03226573, 0x038be104, 0x003910df}}, Y: Field{[10]uint32{0x0195cb81, 0x01c36e36, 0x0356e27b, 0x02f6e071, 0x00f9b015, 0x02d5bf23, 0x0020dbe3, 0x01b9b06a, 0x02d5b825, 0x0035b055}}}, + {X: Field{[10]uint32{0x02d3c1d4, 0x011d3be8, 0x02c70851, 0x00700347, 0x01ac5bb5, 0x026d68e7, 0x02b63ed2, 0x0181e598, 0x004e96db, 0x00224cb8}}, Y: Field{[10]uint32{0x03e58541, 0x021d511d, 0x0336ec05, 0x00368ef4, 0x01fc912a, 0x030d5472, 0x03f51668, 0x00897414, 0x037fe030, 0x00150df9}}}, + {X: Field{[10]uint32{0x02617b26, 0x020945c5, 0x01fd0c7c, 0x0390171b, 0x00933ed0, 0x01b20507, 0x02003c73, 0x021b016c, 0x0176465b, 0x003f9dda}}, Y: Field{[10]uint32{0x012aac39, 0x039b6731, 0x002aa472, 0x00f89544, 0x0094364d, 0x01677754, 0x002b0af3, 0x03541b4c, 0x005fd576, 0x002c9e77}}}, + {X: Field{[10]uint32{0x035b45f1, 0x03f24714, 0x0372cb86, 0x00f29ae7, 0x01f69eb7, 0x018ce05f, 0x004ecbe1, 0x02489172, 0x00ffb2a2, 0x001b1829}}, Y: Field{[10]uint32{0x022a0a2c, 0x01734a4a, 0x022231b5, 0x00af48f5, 0x036489af, 0x03e71e14, 0x0301a510, 0x033071c0, 0x026f814b, 0x0009e37b}}}, + {X: Field{[10]uint32{0x009af04d, 0x00791ce7, 0x02a81e12, 0x02d1ba70, 0x03a955be, 0x0327a185, 0x01556c5e, 0x0240aa63, 0x018f625f, 0x000c4cb9}}, Y: Field{[10]uint32{0x01a9e461, 0x02361a51, 0x01006943, 0x01f25171, 0x01cf0a95, 0x011a4131, 0x01b92204, 0x00f17853, 0x0164a244, 0x00296202}}}, + {X: Field{[10]uint32{0x00903f6f, 0x01404b8d, 0x022dc57e, 0x002a77a0, 0x03640e18, 0x0234e161, 0x01003fdc, 0x026fdbae, 0x0236361a, 0x002c173b}}, Y: Field{[10]uint32{0x005c9a5a, 0x0363a095, 0x018c5305, 0x0288c35e, 0x0126fe21, 0x01897617, 0x005ce16d, 0x0268a2dd, 0x00862951, 0x003ed1ce}}}, + {X: Field{[10]uint32{0x02005e83, 0x0017c584, 0x0273903a, 0x01b2af61, 0x0023cd2f, 0x00eab5f3, 0x014e68de, 0x039601e8, 0x020f5659, 0x00388084}}, Y: Field{[10]uint32{0x03ada136, 0x02755783, 0x01544084, 0x02b1f020, 0x02a70e8f, 0x0017eebc, 0x037cb4dc, 0x03e64b64, 0x0305b66a, 0x001264a2}}}, + {X: Field{[10]uint32{0x007a796b, 0x02618cc3, 0x034592f1, 0x0336316c, 0x039a9bf0, 0x01418532, 0x03e68f04, 0x002782c1, 0x01892e54, 0x0015ea47}}, Y: Field{[10]uint32{0x0098e7fc, 0x0307a7e1, 0x0116bbd5, 0x001b1763, 0x021dbf77, 0x0092c464, 0x02612c31, 0x023ea2ea, 0x00ce5901, 0x0011e417}}}, + {X: Field{[10]uint32{0x01a7e8da, 0x014ed929, 0x00ee1dd1, 0x02359d0a, 0x0291c046, 0x00997777, 0x019e7c58, 0x01970835, 0x000a3ba4, 0x003824b1}}, Y: Field{[10]uint32{0x03ffd39b, 0x009bdc56, 0x03042feb, 0x00444d3a, 0x03baa514, 0x00ec25fd, 0x00ab1d31, 0x010920b5, 0x02b4bdfc, 0x0020fd38}}}, + {X: Field{[10]uint32{0x01e0ab38, 0x02980247, 0x02554f78, 0x013fd691, 0x037c1ee8, 0x00cd74f7, 0x001a9c2c, 0x013f1282, 0x006e7baa, 0x001ce8cc}}, Y: Field{[10]uint32{0x01a1f938, 0x03a24f7b, 0x022350bc, 0x0210ebc2, 0x023d93f6, 0x01548646, 0x03a70439, 0x030c9b8d, 0x00f92022, 0x0007da32}}}, + {X: Field{[10]uint32{0x033a4434, 0x03aaef97, 0x0093a6a6, 0x03168e79, 0x03e99883, 0x02850076, 0x0152caf4, 0x012585cd, 0x01f86e90, 0x001f1e9e}}, Y: Field{[10]uint32{0x02e869bb, 0x005fe389, 0x0355415e, 0x0204b0a4, 0x00a26709, 0x002d65b3, 0x008ce8ac, 0x00e4c65b, 0x0252e488, 0x002173ac}}}, + {X: Field{[10]uint32{0x00a37788, 0x028711e1, 0x03918623, 0x021bb6a4, 0x0319f030, 0x0144d95f, 0x03054fae, 0x03ddcacd, 0x0161ce4f, 0x001aa77d}}, Y: Field{[10]uint32{0x01b65280, 0x016d88ff, 0x02db42b2, 0x019c41ba, 0x01fe7198, 0x019847fb, 0x01ba398a, 0x02fd60cc, 0x034ad9b3, 0x002f3c09}}}, + {X: Field{[10]uint32{0x0391c950, 0x02314eff, 0x019eef3f, 0x02d6fc8a, 0x0381934c, 0x034b1abf, 0x0145d2da, 0x02b7fc71, 0x024d47b3, 0x003f9eec}}, Y: Field{[10]uint32{0x02574e7f, 0x03971022, 0x00c5befd, 0x022c12bc, 0x03a88173, 0x0028a4b3, 0x00c27d6f, 0x0188f24c, 0x038609d2, 0x001ff997}}}, + {X: Field{[10]uint32{0x00407d3d, 0x010a41cc, 0x014531da, 0x0192ba05, 0x0382ce2b, 0x01f414d1, 0x00ba60e1, 0x02ddf0a4, 0x02f27944, 0x0009b474}}, Y: Field{[10]uint32{0x00f0f495, 0x00156d2d, 0x0206f4d1, 0x034756a8, 0x0051b768, 0x00d604e1, 0x00b23725, 0x00002c34, 0x00243106, 0x003b0f14}}}, + {X: Field{[10]uint32{0x0273e2b8, 0x03025b63, 0x008060e6, 0x01363c0d, 0x03fb85cf, 0x03a91378, 0x00563ff8, 0x0055cd2b, 0x01f938f9, 0x003c0394}}, Y: Field{[10]uint32{0x022c727b, 0x0259dc68, 0x00c703c5, 0x007484e0, 0x02585408, 0x03f62382, 0x02b6a136, 0x0292474e, 0x03ed3a39, 0x001edeff}}}, + {X: Field{[10]uint32{0x03cfc4d8, 0x004789cd, 0x03b309e0, 0x034538f8, 0x008bd179, 0x01352f2a, 0x02be811a, 0x021d424e, 0x0072f42f, 0x001cf855}}, Y: Field{[10]uint32{0x005b9231, 0x0341827e, 0x01a340b5, 0x01ae12f3, 0x01c53c82, 0x02c02d2a, 0x006426c9, 0x005da044, 0x00ae5832, 0x000e4bbd}}}, + {X: Field{[10]uint32{0x01568092, 0x02bd582a, 0x00333a7f, 0x0123b6be, 0x00d29d23, 0x01e77e39, 0x011d86e4, 0x00119321, 0x03a9aff3, 0x003b5199}}, Y: Field{[10]uint32{0x0149bb0c, 0x0371f98f, 0x002e43da, 0x03699e62, 0x006d9f4f, 0x03fd5df8, 0x01a9ab50, 0x0350b51a, 0x00756892, 0x001dcd9e}}}, + {X: Field{[10]uint32{0x001dde26, 0x02c3bc95, 0x00d74af5, 0x00b1e40d, 0x0351066f, 0x0136ff83, 0x00346a26, 0x0072f773, 0x02ab1081, 0x0035bb05}}, Y: Field{[10]uint32{0x02d0527e, 0x015fa792, 0x0315ef48, 0x0079286d, 0x034763b0, 0x0302e26f, 0x011b7336, 0x02f88a6a, 0x00ab7ac7, 0x002607c7}}}, + {X: Field{[10]uint32{0x034c593f, 0x0292d4ea, 0x008e68dc, 0x03caf47d, 0x033f762e, 0x03b96dc5, 0x001d92d2, 0x00c6b209, 0x007e6919, 0x000a13bd}}, Y: Field{[10]uint32{0x03cf5e82, 0x03150546, 0x013e1c7a, 0x00b8efeb, 0x03b53a4d, 0x03ff86da, 0x03e12887, 0x02f91c20, 0x02e1e6a7, 0x002adce7}}}, + {X: Field{[10]uint32{0x00d505c3, 0x030fe1c2, 0x034f6c6c, 0x02f20d5d, 0x0344b490, 0x0124063b, 0x03ba53ac, 0x01f42bf0, 0x01e75a26, 0x00014c3e}}, Y: Field{[10]uint32{0x0285e3f1, 0x02cef0d3, 0x028d36e2, 0x01c12e22, 0x00bee9fa, 0x03dff7b5, 0x02d7fba8, 0x03a72f3d, 0x001e44e5, 0x0018c312}}}, + {X: Field{[10]uint32{0x02a905f8, 0x0135673a, 0x022bc1ba, 0x0080f126, 0x02ef9c4d, 0x000974b6, 0x037a4b38, 0x00596d9c, 0x00fd81d0, 0x0019aa6d}}, Y: Field{[10]uint32{0x02525e8c, 0x01ec7353, 0x015f121b, 0x032895e5, 0x0112c86b, 0x02574c14, 0x017311c1, 0x03ab65f7, 0x004e6a4d, 0x0009dc31}}}, + {X: Field{[10]uint32{0x03a289be, 0x02484d48, 0x0394f601, 0x02625b76, 0x0139bb78, 0x011d3789, 0x018d7397, 0x01ed926c, 0x027edca4, 0x0009604b}}, Y: Field{[10]uint32{0x0317e2da, 0x031884db, 0x00e5c795, 0x02e2d634, 0x00788d3a, 0x0232e191, 0x0276f7f1, 0x029db9ae, 0x0183072a, 0x0012ee8f}}}, + {X: Field{[10]uint32{0x03b29608, 0x032e9df7, 0x00fd724a, 0x0228d5db, 0x02df1a0e, 0x03efd61f, 0x00f88b58, 0x0091205c, 0x0270af16, 0x000f206f}}, Y: Field{[10]uint32{0x02ee13d4, 0x0357fd0a, 0x0070027b, 0x03eb837a, 0x02ed9dc9, 0x0040ba6e, 0x00b52507, 0x03d201e8, 0x008eda59, 0x002ac5b9}}}, + {X: Field{[10]uint32{0x00d6e39d, 0x0093ddb8, 0x035252fb, 0x02421715, 0x0039626e, 0x0096ab6a, 0x0282c8d1, 0x00a4cfb3, 0x01cda514, 0x002ad89b}}, Y: Field{[10]uint32{0x024abff6, 0x03b7005d, 0x033cfe7e, 0x00f436ad, 0x02bb7be7, 0x0363aff0, 0x031f2a34, 0x012c6f55, 0x034b34fa, 0x0022b75d}}}, + {X: Field{[10]uint32{0x036bd85d, 0x033f82fc, 0x0133de1c, 0x015e638e, 0x03aaaaed, 0x028f8a1c, 0x02d65321, 0x0083fe32, 0x01061207, 0x0011fc94}}, Y: Field{[10]uint32{0x00585b60, 0x02c5be48, 0x03c60c38, 0x004fb342, 0x00cb44e0, 0x025960eb, 0x0374ea3f, 0x004b93b2, 0x032e7295, 0x0003db51}}}, + {X: Field{[10]uint32{0x03c26b1b, 0x0122e7c8, 0x00842361, 0x0099d4b4, 0x00e16409, 0x01c6e2ec, 0x0138d590, 0x023c6cf1, 0x0299f739, 0x001bf4c0}}, Y: Field{[10]uint32{0x026799da, 0x03816eee, 0x03d33372, 0x03c09dfc, 0x017810be, 0x017227fd, 0x02e9c4dc, 0x0388d468, 0x0166a79c, 0x000ee358}}}, + {X: Field{[10]uint32{0x0202e040, 0x026f5992, 0x031e3f44, 0x021f75e1, 0x0149db12, 0x01712827, 0x0051ab74, 0x00735963, 0x007c784e, 0x0003756c}}, Y: Field{[10]uint32{0x028d8659, 0x00c41e35, 0x03857a47, 0x01f36283, 0x036a0459, 0x003fbb66, 0x00ed2a7c, 0x0246e373, 0x018a62a4, 0x002c9b6b}}}, + {X: Field{[10]uint32{0x027fcdad, 0x00ab7c85, 0x016b7dff, 0x0229c02d, 0x0215b61a, 0x01ae12f2, 0x0275e5f1, 0x01089ea8, 0x0036104b, 0x0000f3d6}}, Y: Field{[10]uint32{0x0200c9fb, 0x012792b3, 0x03b5ce9e, 0x0098b6d0, 0x01445af7, 0x02006372, 0x00123408, 0x01e7f7da, 0x025a2cb5, 0x000731bd}}}, + {X: Field{[10]uint32{0x0119bb58, 0x0074a352, 0x03f413e0, 0x01348e15, 0x01d4cd80, 0x01d3010f, 0x02ea163d, 0x0108730e, 0x005508b9, 0x001a0ed5}}, Y: Field{[10]uint32{0x01a11f0a, 0x03f76f9e, 0x022da17c, 0x01a41540, 0x01691e23, 0x004473fb, 0x01d69438, 0x03015a2b, 0x01762cd5, 0x0006ef91}}}, + {X: Field{[10]uint32{0x003b724c, 0x000c9e79, 0x027d2195, 0x03835cf3, 0x03e83ff0, 0x0080ab94, 0x002f7ec4, 0x0103717d, 0x01b7897a, 0x0035e198}}, Y: Field{[10]uint32{0x02d20b21, 0x00aca772, 0x00a02665, 0x03fb43b1, 0x00aeead2, 0x00757ca4, 0x03db82a6, 0x01e3b3f0, 0x01b0e3f4, 0x001194a6}}}, + {X: Field{[10]uint32{0x01e15a21, 0x02954186, 0x0114a1af, 0x01f543b0, 0x0332e89e, 0x013bafc6, 0x00dbb87b, 0x039e5399, 0x0264fc15, 0x00049631}}, Y: Field{[10]uint32{0x001be0b1, 0x00148685, 0x0157194b, 0x025eef08, 0x03028c59, 0x00a83971, 0x011a7dec, 0x00e201c3, 0x029281a7, 0x000c9f12}}}, + {X: Field{[10]uint32{0x02e8be00, 0x033589e1, 0x03bb1a6c, 0x03492fdf, 0x01387f4d, 0x039cc531, 0x0243cdfa, 0x038af71b, 0x03b51cff, 0x003cb413}}, Y: Field{[10]uint32{0x03061c9e, 0x0142a309, 0x02b37932, 0x036b09f3, 0x0178d3a7, 0x021a8ab8, 0x032ee47a, 0x00854a34, 0x038d435f, 0x00226bcf}}}, + {X: Field{[10]uint32{0x030dfb08, 0x0152078f, 0x01f6bb33, 0x02864aa7, 0x03d21551, 0x03bc020e, 0x02cc402d, 0x00eb6394, 0x02c14ab2, 0x002d9eef}}, Y: Field{[10]uint32{0x00a64a23, 0x02cc3e04, 0x01fe6698, 0x004ffb80, 0x003757cc, 0x01961d55, 0x02845285, 0x02264c14, 0x03d19383, 0x0035b29a}}}, + {X: Field{[10]uint32{0x0379235e, 0x0120c48a, 0x0089d90d, 0x02120ea1, 0x008a4665, 0x00b5986e, 0x013ce90f, 0x007f5a81, 0x01b9fa40, 0x0006ebbc}}, Y: Field{[10]uint32{0x031699d7, 0x01492528, 0x01ee8033, 0x031b02d9, 0x01bc1a69, 0x02e9562b, 0x02b3872c, 0x0205f648, 0x0214a2f7, 0x000a2866}}}, + {X: Field{[10]uint32{0x0051aa8e, 0x0043fc6e, 0x03c79c3c, 0x01b394a1, 0x01f58de5, 0x0006eaa1, 0x036a7468, 0x00e922ca, 0x026b2362, 0x001b03c1}}, Y: Field{[10]uint32{0x01ff0868, 0x036ee4c5, 0x033574cc, 0x01e48167, 0x032347a4, 0x007218c9, 0x028bd94e, 0x02c3e394, 0x0256084c, 0x003b20dc}}}, + {X: Field{[10]uint32{0x023619d7, 0x004f767d, 0x01c0d949, 0x035862de, 0x00a0c815, 0x02baf3ca, 0x026d6cb7, 0x02748afa, 0x030965bb, 0x003ef56e}}, Y: Field{[10]uint32{0x0300b924, 0x00b7f28f, 0x01c7e661, 0x018cde8a, 0x0060ccc0, 0x0083cfdb, 0x0298f77e, 0x01796ff8, 0x034d5e60, 0x000cc0d5}}}, + {X: Field{[10]uint32{0x035b1739, 0x01a3e82c, 0x008fe7e5, 0x03ca36b6, 0x020f8bd5, 0x0041af46, 0x02c81ac8, 0x008cd2bd, 0x002ac4b2, 0x00089181}}, Y: Field{[10]uint32{0x02ff6e7c, 0x02af1c16, 0x00f797cd, 0x0208d169, 0x029e5382, 0x007e4b8d, 0x0229bd96, 0x0045bc33, 0x00eb9c10, 0x00076836}}}, + {X: Field{[10]uint32{0x0182bc4a, 0x00b67cd0, 0x00c51563, 0x01b7f4a5, 0x039606cf, 0x010b3d42, 0x01b3caf5, 0x00b4de0d, 0x014f2fff, 0x0011c2a4}}, Y: Field{[10]uint32{0x001d426e, 0x01619800, 0x012dbb3a, 0x001a0738, 0x034398c6, 0x0271aa3a, 0x03e3cc9e, 0x01215a96, 0x01a8d2c7, 0x001ace01}}}, + {X: Field{[10]uint32{0x021b4be0, 0x0009ec0c, 0x00c1ecc8, 0x004540c0, 0x0044bb7a, 0x00fe4274, 0x002153ba, 0x0364cd0a, 0x010bffb6, 0x001380fd}}, Y: Field{[10]uint32{0x008c504c, 0x03db96ac, 0x003e0095, 0x00940c7a, 0x009149b1, 0x0137a32f, 0x03e8f9cb, 0x01c7b3c7, 0x00ae963e, 0x00165b16}}}, + {X: Field{[10]uint32{0x0057455e, 0x02649e3f, 0x003b70d9, 0x02d02860, 0x00188a26, 0x00e7778a, 0x01567e91, 0x02edd864, 0x03eab806, 0x00169b13}}, Y: Field{[10]uint32{0x02e6ce49, 0x0269f5e0, 0x014590d5, 0x0310bd54, 0x03353d73, 0x01c6397d, 0x00ea476a, 0x00d9af0a, 0x007c6505, 0x001ba074}}}, + {X: Field{[10]uint32{0x0329bd5f, 0x01b70de6, 0x016c3a24, 0x027406f9, 0x0174f4e0, 0x03d8f753, 0x000bb1be, 0x014b884a, 0x01b29adf, 0x003b5cf2}}, Y: Field{[10]uint32{0x0113828b, 0x0321ecfe, 0x0216159d, 0x027cb7d8, 0x02e272ad, 0x0312df14, 0x011fa5b7, 0x0382b31f, 0x03b619eb, 0x0003a645}}}, + {X: Field{[10]uint32{0x001c04bd, 0x024eda70, 0x03a99bdf, 0x01308e1b, 0x03710dd3, 0x000f284f, 0x03106085, 0x03e7b52b, 0x005b38cb, 0x001a3185}}, Y: Field{[10]uint32{0x03edc73a, 0x0235f28f, 0x01e9de92, 0x0348b830, 0x02e7cb74, 0x03d4d6a7, 0x016f884d, 0x027ab140, 0x005e607d, 0x003258d6}}}, + {X: Field{[10]uint32{0x00454126, 0x00e69dec, 0x039b6a84, 0x00481661, 0x0092269a, 0x03d72473, 0x006094c3, 0x005ef077, 0x00639273, 0x0006d946}}, Y: Field{[10]uint32{0x00f5009f, 0x0077007a, 0x03cf9137, 0x00579c51, 0x03c42b19, 0x030c6fc4, 0x001fe920, 0x03426f63, 0x025f8ac3, 0x000c7184}}}, + {X: Field{[10]uint32{0x0209c52c, 0x019b539a, 0x01f0d381, 0x00824283, 0x027229ff, 0x00edc177, 0x02b74f7a, 0x0378f515, 0x00ccdadb, 0x0011564f}}, Y: Field{[10]uint32{0x000bd737, 0x0293aa6f, 0x01866a43, 0x03748361, 0x01e14634, 0x03ba5933, 0x02b9a311, 0x000814f0, 0x017d89fd, 0x0004f599}}}, + {X: Field{[10]uint32{0x03927da5, 0x034fad0d, 0x03960566, 0x0069339d, 0x01e4dd7c, 0x00a30842, 0x0132983d, 0x03e8bf35, 0x006ed6f2, 0x00050270}}, Y: Field{[10]uint32{0x020984e4, 0x0372b451, 0x0062390e, 0x00114def, 0x02fbeda3, 0x01a52dc7, 0x0369836e, 0x03f6eb8e, 0x018d4206, 0x0037017e}}}, + {X: Field{[10]uint32{0x005f4580, 0x03c0373a, 0x037074e2, 0x03213adc, 0x025d6e5c, 0x0109bfaf, 0x03239215, 0x02c15b50, 0x006bc307, 0x00367823}}, Y: Field{[10]uint32{0x012c632d, 0x01692d8a, 0x034f915d, 0x03908060, 0x01172f4d, 0x028c9817, 0x02b52add, 0x01e90e8e, 0x0247c6b4, 0x00288f05}}}, + {X: Field{[10]uint32{0x0162fb32, 0x00576eaf, 0x028ee1aa, 0x022eef57, 0x025ac0f1, 0x01357e89, 0x033a9166, 0x02dadcd4, 0x01f3d3c2, 0x001f7cc6}}, Y: Field{[10]uint32{0x03c9f8c0, 0x036d634a, 0x030b79c3, 0x026ea46b, 0x00a9bd16, 0x00778205, 0x02d8d963, 0x02ee6075, 0x02afe023, 0x0024483d}}}, + {X: Field{[10]uint32{0x0186d7a5, 0x01cd115a, 0x037110a3, 0x01126eb4, 0x0011d742, 0x008595e6, 0x0146232e, 0x03f47e4c, 0x018738b9, 0x0006a539}}, Y: Field{[10]uint32{0x03e4352e, 0x00810a2a, 0x0365a748, 0x0126b619, 0x020fc325, 0x025fcb6c, 0x034604b1, 0x039eb83e, 0x03b317ee, 0x000cca89}}}, + {X: Field{[10]uint32{0x03619a47, 0x01e07e46, 0x03691fa0, 0x0106257f, 0x014aefff, 0x03033e1c, 0x002ef8df, 0x019b6caa, 0x034d6db2, 0x0037e8b2}}, Y: Field{[10]uint32{0x01ad8b19, 0x033f9312, 0x0056e45a, 0x03ddba9c, 0x01d2a1a0, 0x032e98be, 0x0320fef4, 0x029b0633, 0x03ab3a28, 0x00317976}}}, + {X: Field{[10]uint32{0x02876730, 0x03931e4e, 0x0017bf35, 0x03af0429, 0x03acf4e2, 0x029b814e, 0x002c1352, 0x03ddad7a, 0x0007be6b, 0x00308804}}, Y: Field{[10]uint32{0x03efa581, 0x0345377e, 0x02be70c8, 0x03a24346, 0x039a735d, 0x030e1cd0, 0x0397c159, 0x0135d0eb, 0x02ecb9ae, 0x00249022}}}, + {X: Field{[10]uint32{0x03d7edc3, 0x020a1686, 0x0015e33e, 0x0253be8e, 0x022f25c7, 0x019cc1d0, 0x00d4d852, 0x01fc3e74, 0x02d2ab08, 0x0035158c}}, Y: Field{[10]uint32{0x015ff44f, 0x00f5bbe3, 0x02569554, 0x016369ee, 0x01814e72, 0x032792c7, 0x039e99f9, 0x013ea091, 0x0297c499, 0x002df38d}}}, + {X: Field{[10]uint32{0x035df93f, 0x000edc73, 0x00dedc90, 0x02e3dadf, 0x02df6c25, 0x008e85c6, 0x01f34ca9, 0x024ad221, 0x022bcdc2, 0x00233bcd}}, Y: Field{[10]uint32{0x009aaf5e, 0x02061b74, 0x02bdf260, 0x00ed76ad, 0x02d702e1, 0x03507666, 0x024f1c19, 0x01fe8afe, 0x0334ed8b, 0x002ce443}}}, + {X: Field{[10]uint32{0x00bf9838, 0x01d60ecf, 0x01bfc7f1, 0x03956565, 0x013a415a, 0x006121e3, 0x01604318, 0x00a0c45f, 0x03e1874c, 0x00091fde}}, Y: Field{[10]uint32{0x01f30eb8, 0x029f323c, 0x004642f8, 0x03a37cce, 0x01efd513, 0x017d9424, 0x01521da6, 0x02d3f03e, 0x01e6a779, 0x0024388d}}}, + {X: Field{[10]uint32{0x001cf568, 0x0122b626, 0x02c56b01, 0x01238daa, 0x02f26093, 0x032a8ae0, 0x01dd0b0a, 0x00eb7d04, 0x02f1c870, 0x002e3033}}, Y: Field{[10]uint32{0x01275f14, 0x011cab80, 0x03916a33, 0x02915303, 0x0345e7aa, 0x03526a5e, 0x00e74a81, 0x026a852e, 0x00114701, 0x00281065}}}, + {X: Field{[10]uint32{0x0208cf09, 0x006f61a0, 0x012c0ab5, 0x0036ab5e, 0x030a35ab, 0x03746f45, 0x026b43a4, 0x031e44aa, 0x036e06e1, 0x0023955d}}, Y: Field{[10]uint32{0x00822d56, 0x029eb61c, 0x01c012c8, 0x01fdb6aa, 0x02cec730, 0x03518b9a, 0x02d12bc6, 0x02aefc30, 0x00c3a025, 0x0037f933}}}, + {X: Field{[10]uint32{0x003ad1ad, 0x01611a83, 0x0267c5f0, 0x01c3122d, 0x01db813b, 0x038e4090, 0x0122790d, 0x02609138, 0x02d3fc9d, 0x0003c73d}}, Y: Field{[10]uint32{0x03984799, 0x025a6bf0, 0x026f6c8b, 0x024ec5ce, 0x01750069, 0x02b9ea13, 0x02f1ec77, 0x0346c8d7, 0x02ab3952, 0x00124971}}}, + {X: Field{[10]uint32{0x01b9ea31, 0x0199c2bb, 0x0000a9e5, 0x011f2b2f, 0x03811641, 0x036dd8b0, 0x00495ab9, 0x03b924ad, 0x0388dce5, 0x002d276f}}, Y: Field{[10]uint32{0x03a9ef2a, 0x01eb3ebf, 0x023feb8b, 0x030b7a24, 0x028971f7, 0x034a2291, 0x00d703ef, 0x025f1dd6, 0x0317ab57, 0x00303e4b}}}, + {X: Field{[10]uint32{0x018ca362, 0x0327dd43, 0x02cab9a8, 0x010e7992, 0x00399e26, 0x0097df73, 0x0173c50a, 0x015fb455, 0x02ad257b, 0x0035abf8}}, Y: Field{[10]uint32{0x0135749d, 0x02b1bce3, 0x01b42b47, 0x028d5871, 0x0138d355, 0x018a0ac4, 0x01402491, 0x02d5ac5c, 0x02b86919, 0x00177c8d}}}, + {X: Field{[10]uint32{0x02e8e89f, 0x00480106, 0x0244b53e, 0x0279a112, 0x0345b48a, 0x033b92d2, 0x032a439f, 0x0197e965, 0x00c5f233, 0x002ec0a1}}, Y: Field{[10]uint32{0x02265300, 0x01d8266e, 0x034936ae, 0x0329bc53, 0x0153221d, 0x03b554ca, 0x0018fb2a, 0x0164c9e4, 0x000de09e, 0x001a12f3}}}, + {X: Field{[10]uint32{0x024467ec, 0x00b611f9, 0x037e46e8, 0x009ead69, 0x03c47796, 0x0228105d, 0x00be6219, 0x025a5c6e, 0x03148a40, 0x0015fa55}}, Y: Field{[10]uint32{0x01443f13, 0x01467cb3, 0x00c126bb, 0x03497a15, 0x01fd8e7c, 0x004a94dd, 0x006d3a8f, 0x0096001f, 0x01b114ce, 0x001c52f4}}}, + {X: Field{[10]uint32{0x02713094, 0x0149b647, 0x03757d17, 0x01e3ad8d, 0x01a1e144, 0x03a01148, 0x03ef2a3d, 0x00ed1d48, 0x0360b33c, 0x002c320b}}, Y: Field{[10]uint32{0x02cea63c, 0x02be6528, 0x032eeac1, 0x03596a0a, 0x0123d163, 0x024fdff6, 0x022f70ac, 0x03d4b994, 0x01b9d763, 0x0033f234}}}, + {X: Field{[10]uint32{0x013e1ee3, 0x01292f55, 0x005a35c2, 0x0093fdfe, 0x00667d83, 0x01b663b4, 0x032c185c, 0x0216f564, 0x01704047, 0x000ae9d8}}, Y: Field{[10]uint32{0x02ea35b9, 0x035580fb, 0x03307205, 0x0067cf8b, 0x01e56aef, 0x01545934, 0x03167d6b, 0x00abd581, 0x03907426, 0x00006041}}}, + {X: Field{[10]uint32{0x02d3e88c, 0x0248d71b, 0x00895b5c, 0x02169c8a, 0x0103eb1c, 0x01f83296, 0x01d15c82, 0x02e483ec, 0x0213d508, 0x0016f553}}, Y: Field{[10]uint32{0x020cf0c9, 0x024cebd9, 0x016fc2b1, 0x02b3bcef, 0x02878017, 0x02b1f608, 0x030ab1e4, 0x03864fa9, 0x01fd5607, 0x0035974d}}}, + {X: Field{[10]uint32{0x02a8d09a, 0x037e5dcf, 0x026947cc, 0x017d5993, 0x00a590d6, 0x01b3c84b, 0x03f1664e, 0x03626aca, 0x02d2753b, 0x002c2ef0}}, Y: Field{[10]uint32{0x03993c23, 0x0026f723, 0x0147e47f, 0x01047cd3, 0x02072257, 0x03319c14, 0x00190654, 0x022eae85, 0x02c1a107, 0x002415ed}}}, + {X: Field{[10]uint32{0x013133a8, 0x03a771b3, 0x00459224, 0x00c083a3, 0x01b38b46, 0x0151484a, 0x000fe419, 0x00e2b377, 0x02033cca, 0x00305c04}}, Y: Field{[10]uint32{0x01557e9a, 0x02d8dabd, 0x03b14fb6, 0x02d7afd3, 0x02624f78, 0x01b02185, 0x00071888, 0x01bd9d1b, 0x007b1cfb, 0x00312576}}}, + {X: Field{[10]uint32{0x03a21bda, 0x00c28917, 0x032ea749, 0x037764d4, 0x007c9fa4, 0x03ef0a31, 0x02879617, 0x0127fcc8, 0x020e5f1e, 0x000782f4}}, Y: Field{[10]uint32{0x03dd6177, 0x02385810, 0x01cd5703, 0x02719af8, 0x01b2a586, 0x011cbe84, 0x01a681b2, 0x03c57797, 0x00000e98, 0x000b501d}}}, + {X: Field{[10]uint32{0x017ec15f, 0x006c560c, 0x0388b03a, 0x028ef017, 0x00f39def, 0x0214ce9c, 0x012a9740, 0x019863fc, 0x023fec4c, 0x00173f08}}, Y: Field{[10]uint32{0x03f21411, 0x00cd512b, 0x00cf93da, 0x03ded9c6, 0x01eb4468, 0x031ce2c2, 0x006ec226, 0x01c6798e, 0x03d489e3, 0x001f64a2}}}, + {X: Field{[10]uint32{0x01efa67d, 0x03330b20, 0x00e8801c, 0x033942b0, 0x005da345, 0x02b51ea1, 0x03e514eb, 0x019a3815, 0x020abebd, 0x003d4195}}, Y: Field{[10]uint32{0x020fc7e9, 0x029f4eb2, 0x00d639d9, 0x036056f7, 0x0263111f, 0x01fd9289, 0x03580ad1, 0x02a66af0, 0x03f7c9c2, 0x0038bfc2}}}, + {X: Field{[10]uint32{0x02c54f45, 0x039ef609, 0x02ef8306, 0x02b96fe5, 0x001d00dc, 0x0127405a, 0x0246e4c4, 0x01d21516, 0x0298ec88, 0x0021123f}}, Y: Field{[10]uint32{0x026f0407, 0x03bb6afa, 0x0256a66a, 0x0117da75, 0x0285b200, 0x00d204dd, 0x01a82713, 0x000c88b7, 0x02291750, 0x00343c1c}}}, + {X: Field{[10]uint32{0x03cffc55, 0x01156ea5, 0x004f56bc, 0x00a2a619, 0x002480cf, 0x00a50bcd, 0x015ca713, 0x01f0b8db, 0x017fdb03, 0x003269a1}}, Y: Field{[10]uint32{0x03aa149f, 0x0238d9e3, 0x011c6b79, 0x01d2da33, 0x01f742d9, 0x03b5be5f, 0x00b8326c, 0x023985b0, 0x00b98f67, 0x0029a782}}}, + {X: Field{[10]uint32{0x02c4011d, 0x0319936e, 0x019d503d, 0x01b6391a, 0x03b8fc28, 0x0226ac67, 0x02f7db2d, 0x03acef20, 0x03f5c611, 0x0002d744}}, Y: Field{[10]uint32{0x024b7adc, 0x02022c4c, 0x02bb6259, 0x036271c0, 0x02ef2692, 0x00921f42, 0x012493ff, 0x003f7d6e, 0x02507cdc, 0x0009fac5}}}, + {X: Field{[10]uint32{0x0235ce44, 0x02ecd3b6, 0x02fad75a, 0x01c75fc6, 0x02902184, 0x0230a71b, 0x001b8871, 0x0352b300, 0x01f32e0e, 0x002fe7b1}}, Y: Field{[10]uint32{0x027ef2d1, 0x00dea011, 0x0146bdd8, 0x01a1ce19, 0x00a1734f, 0x01a311e9, 0x01224ed3, 0x010196de, 0x0088892b, 0x0004e119}}}, + {X: Field{[10]uint32{0x02526e19, 0x024ab04e, 0x00f2ed6d, 0x021eb5aa, 0x00893c5a, 0x0329bd6e, 0x011f6bd1, 0x00704ebb, 0x02be4d3b, 0x000b0e04}}, Y: Field{[10]uint32{0x0033aece, 0x02533bcd, 0x03af324a, 0x02b4519a, 0x031b11ed, 0x02cd02f2, 0x03cf877d, 0x014782de, 0x02f145d5, 0x000d9ae0}}}, + {X: Field{[10]uint32{0x0233f572, 0x031721b2, 0x013a6f21, 0x014e362f, 0x019fd172, 0x002289b9, 0x00d0a13c, 0x03db21ff, 0x0328dc8e, 0x001def7b}}, Y: Field{[10]uint32{0x023c3a1b, 0x019fda7a, 0x017ef081, 0x022a0fe5, 0x016977ba, 0x02960294, 0x02c1feca, 0x03526c03, 0x00c7bf3b, 0x003699ac}}}, + {X: Field{[10]uint32{0x0371afe5, 0x03f445a2, 0x02b154ef, 0x0301953b, 0x028693ba, 0x03cd3181, 0x006503e3, 0x021def36, 0x019d3185, 0x002f129e}}, Y: Field{[10]uint32{0x0255569e, 0x03ddd5dc, 0x03e664f7, 0x01af4cc6, 0x03f59abf, 0x00985496, 0x0159c99e, 0x00643a9c, 0x03f899a8, 0x0014ff35}}}, + {X: Field{[10]uint32{0x02fcd040, 0x0170620b, 0x039dce27, 0x01bcb84f, 0x006fccdb, 0x000dd41e, 0x010e4c7d, 0x03381586, 0x0084733d, 0x000c07f6}}, Y: Field{[10]uint32{0x01e25cb6, 0x00b22294, 0x00b735de, 0x00303897, 0x00312c91, 0x012f981f, 0x0035cef6, 0x027d47f6, 0x01d5185b, 0x001e793e}}}, + {X: Field{[10]uint32{0x014adb70, 0x018062a0, 0x032f387b, 0x01df9436, 0x02133f83, 0x00dc6710, 0x00d0bda1, 0x01f95085, 0x029bbe5e, 0x000906d2}}, Y: Field{[10]uint32{0x0010bdb0, 0x019211ed, 0x039593c1, 0x0000922c, 0x03a8ce21, 0x03f30032, 0x036bca27, 0x0348b87d, 0x0008fa4f, 0x00319bb7}}}, + {X: Field{[10]uint32{0x00c79585, 0x028580b6, 0x0098156e, 0x005bcca5, 0x01dcd28c, 0x018cf547, 0x01c1351d, 0x004a24f1, 0x02396819, 0x002f9bc5}}, Y: Field{[10]uint32{0x03afff21, 0x029c797e, 0x0335a5f7, 0x0282950c, 0x021ade5d, 0x03d7f979, 0x038a9668, 0x014e7a9f, 0x027e1a65, 0x001bd9d2}}}, + {X: Field{[10]uint32{0x01d3a283, 0x01f2cc4f, 0x03285e23, 0x02eadff2, 0x01b3f7bf, 0x028b452e, 0x0209ef60, 0x0278a9f8, 0x008f79c6, 0x00322d40}}, Y: Field{[10]uint32{0x03b54bb9, 0x00fb029a, 0x008f52d8, 0x032a98c0, 0x023cea15, 0x01bbf2cd, 0x0036dd74, 0x03df802f, 0x03486c3c, 0x000771e4}}}, + {X: Field{[10]uint32{0x006c0998, 0x029ffd30, 0x027d4eed, 0x02b1df3c, 0x02b038ed, 0x01e5ab47, 0x0197ec3a, 0x03b5893a, 0x039eaad5, 0x0014052b}}, Y: Field{[10]uint32{0x0189dd7d, 0x0221808c, 0x031511a4, 0x014cd25d, 0x01911439, 0x021ed2db, 0x004a77a9, 0x028714b5, 0x006fb8fa, 0x0038075e}}}, + {X: Field{[10]uint32{0x03bb989a, 0x02b76329, 0x02d2b45d, 0x03023620, 0x01b0845e, 0x03ca3f37, 0x02d4f284, 0x0190fb68, 0x01e62c40, 0x001bffbf}}, Y: Field{[10]uint32{0x0011cc0e, 0x01bf9721, 0x004717fb, 0x0201a9bd, 0x01ff0a54, 0x028afb2f, 0x029e4bd9, 0x00ea7888, 0x003c782d, 0x00238ac6}}}, + {X: Field{[10]uint32{0x007d463f, 0x03fc7c52, 0x022904aa, 0x003f07a4, 0x020ad014, 0x02d3030d, 0x02a7e5d0, 0x004dd34c, 0x03bf190e, 0x002b1d8a}}, Y: Field{[10]uint32{0x033adefe, 0x02944f97, 0x02a7e435, 0x0143b606, 0x03bc34d8, 0x036dac4b, 0x001bfec5, 0x01ad028e, 0x03183101, 0x003335e7}}}, + {X: Field{[10]uint32{0x0011cb24, 0x023ab83a, 0x03342796, 0x0337a0a3, 0x03d791a5, 0x01cdec76, 0x03244e7b, 0x0171d424, 0x02d63ec0, 0x0025cd25}}, Y: Field{[10]uint32{0x01647533, 0x01cf99c9, 0x03b7abf5, 0x0194bd5e, 0x03d7420b, 0x030fcd3c, 0x037ff525, 0x00cd47d8, 0x03c0044e, 0x0012cb26}}}, + {X: Field{[10]uint32{0x00a15d32, 0x0266cd21, 0x034291a7, 0x0001be80, 0x02c39ce3, 0x03a8e78d, 0x03577539, 0x02f0c1d0, 0x01665f77, 0x002a7624}}, Y: Field{[10]uint32{0x0380e213, 0x0204ee12, 0x0296b8d0, 0x013f33ea, 0x0056dd88, 0x0018d694, 0x039ce982, 0x02e3f3d3, 0x0217fded, 0x0034270e}}}, + {X: Field{[10]uint32{0x00c5710b, 0x02a68828, 0x02f769ec, 0x01bd835b, 0x02cbab63, 0x009086eb, 0x00a7419f, 0x0151362e, 0x03fdaa2b, 0x000422a3}}, Y: Field{[10]uint32{0x00e0249d, 0x01599735, 0x028d7b12, 0x01ce77cc, 0x01cebbb2, 0x017c38e2, 0x025776a7, 0x02b56289, 0x01fcab04, 0x0002b4fa}}}, + {X: Field{[10]uint32{0x027c5fb5, 0x0316fb5c, 0x00a36de8, 0x02365448, 0x03954387, 0x01791257, 0x000ac6df, 0x00f15eff, 0x017bc884, 0x003be5a7}}, Y: Field{[10]uint32{0x021f16fb, 0x033e170d, 0x0302afc1, 0x014dee02, 0x01d1d4d6, 0x037aab69, 0x005d81a1, 0x0200dac5, 0x03b22673, 0x0016ae06}}}, + {X: Field{[10]uint32{0x03c39b62, 0x028c2590, 0x01162b0b, 0x03c9043d, 0x01d74200, 0x03dc2c91, 0x02dafb28, 0x01514fc4, 0x03c24d50, 0x002ae096}}, Y: Field{[10]uint32{0x01281a1d, 0x032c196c, 0x0194c6f9, 0x02e35155, 0x01708098, 0x01dea072, 0x03e31da2, 0x01105769, 0x01f22377, 0x001e279f}}}, + {X: Field{[10]uint32{0x00bf2622, 0x015aec12, 0x03ac0598, 0x00e664ce, 0x02eeed4e, 0x02125a5c, 0x039198cf, 0x00f00bb1, 0x00e52c17, 0x00126129}}, Y: Field{[10]uint32{0x00c5df3f, 0x033e25eb, 0x034348e7, 0x0090e647, 0x02f199e9, 0x0330f33d, 0x0087a9c2, 0x00b98682, 0x027b79be, 0x001165ad}}}, + {X: Field{[10]uint32{0x025f7272, 0x01284c98, 0x02fbccfa, 0x01a88fcf, 0x004bf0f7, 0x02a9f2c9, 0x0360d0d8, 0x02f84fd3, 0x03f493c1, 0x000a171b}}, Y: Field{[10]uint32{0x03ed49d3, 0x01ecf674, 0x03c1212d, 0x0397a289, 0x03c4caac, 0x0276e6c8, 0x00fd9984, 0x03bca357, 0x01a5cf9c, 0x000e77fa}}}, + {X: Field{[10]uint32{0x003db340, 0x02dc23e1, 0x02c7b348, 0x001b09e2, 0x019bc6e5, 0x00c402aa, 0x02667171, 0x0065c7a4, 0x01d17e72, 0x0007852c}}, Y: Field{[10]uint32{0x00e41cee, 0x0017c113, 0x02a1164d, 0x03f17de7, 0x00394d7d, 0x0135050f, 0x03fe464c, 0x03d89cd1, 0x039dd705, 0x00018e88}}}, + {X: Field{[10]uint32{0x0217c8aa, 0x0102ed6f, 0x018fc101, 0x030133cc, 0x033b1394, 0x03352161, 0x01dcf309, 0x03347bd8, 0x03b9ed71, 0x0002e3dc}}, Y: Field{[10]uint32{0x036f665c, 0x0041f99d, 0x02ec5827, 0x01a96b10, 0x01074567, 0x006f997b, 0x034823aa, 0x03b214bf, 0x02e0bd66, 0x0022bd76}}}, + {X: Field{[10]uint32{0x0314540a, 0x012fdba1, 0x01d15e62, 0x034c7352, 0x0049c995, 0x03456bf4, 0x02367760, 0x03f3db2d, 0x0297e878, 0x001f831c}}, Y: Field{[10]uint32{0x02ddd658, 0x02bc3f6b, 0x000e58aa, 0x00c0280a, 0x00ffd595, 0x02c9c680, 0x00b7568b, 0x00810fd2, 0x01f74c51, 0x0037d5e5}}}, + {X: Field{[10]uint32{0x03798545, 0x03f409da, 0x02cbade5, 0x0046dd52, 0x00109990, 0x03377f92, 0x0351133f, 0x03b67e8a, 0x011d465b, 0x00027c3b}}, Y: Field{[10]uint32{0x00a8459f, 0x02666405, 0x016e9217, 0x00e398c9, 0x01d85b6c, 0x00aaa676, 0x03adde01, 0x00380192, 0x009c73bb, 0x001c017b}}}, + {X: Field{[10]uint32{0x008e12bf, 0x02946aa7, 0x01b125a0, 0x0002c78d, 0x03cc8e40, 0x00388f3b, 0x020608d8, 0x016bc005, 0x035e0b5c, 0x000b555b}}, Y: Field{[10]uint32{0x01f12000, 0x0108b285, 0x038a94e4, 0x0223e02a, 0x01d24d44, 0x03f61bd0, 0x007f6fc1, 0x00eebc77, 0x014425bc, 0x0001d800}}}, + {X: Field{[10]uint32{0x035ed3f2, 0x0206f320, 0x0128ee8d, 0x03950526, 0x012cc14c, 0x0271f730, 0x0079524d, 0x0380b02d, 0x027d7637, 0x000985d9}}, Y: Field{[10]uint32{0x0380884b, 0x02b90651, 0x019babc6, 0x005806ca, 0x017a2c4e, 0x01e3298e, 0x01496be4, 0x0027ae3d, 0x03ba2cd8, 0x0014855c}}}, + {X: Field{[10]uint32{0x019aac10, 0x02c187c3, 0x02492ba1, 0x033fb416, 0x034cae40, 0x020428fc, 0x036e10f8, 0x026991ed, 0x016c5b51, 0x001891e4}}, Y: Field{[10]uint32{0x02e7f098, 0x00cc09bb, 0x034caf2d, 0x01a70fa7, 0x00602b09, 0x00036875, 0x02a193c5, 0x02a5e241, 0x0170535b, 0x003ff409}}}, + {X: Field{[10]uint32{0x023c52af, 0x017533e6, 0x03db4fa5, 0x012a544d, 0x01ea14c6, 0x03b3b3ee, 0x0017e780, 0x002a2180, 0x03e08ed5, 0x003102c9}}, Y: Field{[10]uint32{0x007b6493, 0x03c6b378, 0x0001ba86, 0x02e0c3aa, 0x00c4149f, 0x00416a95, 0x01d1e977, 0x016e13f6, 0x038c7d02, 0x00090572}}}, + {X: Field{[10]uint32{0x03e0de12, 0x0195e340, 0x029748b6, 0x02afc199, 0x03ad7103, 0x03aea713, 0x01bf17bc, 0x0295bf34, 0x008a54a3, 0x002e96bb}}, Y: Field{[10]uint32{0x0157ffbd, 0x03562c1b, 0x0370dc49, 0x0180e7e6, 0x00a705de, 0x03a96e98, 0x03474d28, 0x0312fcf1, 0x0311abec, 0x000d236a}}}, + {X: Field{[10]uint32{0x00076268, 0x00089225, 0x03f675c0, 0x00139571, 0x02c1e9e5, 0x03ecfcc6, 0x031262cf, 0x00a5384c, 0x0258f8dd, 0x002e8539}}, Y: Field{[10]uint32{0x001aa1dd, 0x01b792b2, 0x023659b9, 0x038e8c9b, 0x00c221b0, 0x01b76684, 0x00cb36c6, 0x03957b1c, 0x0105fc43, 0x0033b5d2}}}, + {X: Field{[10]uint32{0x03f4aff4, 0x037e85a9, 0x022d4cfb, 0x00382870, 0x00f9c1d0, 0x004e6acc, 0x02718cb4, 0x031fe8a7, 0x03698880, 0x000cdd6b}}, Y: Field{[10]uint32{0x02295a27, 0x0399fbb3, 0x01726ddd, 0x01e73957, 0x028d27db, 0x0389b1a3, 0x02fa0b85, 0x0396c6d9, 0x0091a83b, 0x0033ea2d}}}, + {X: Field{[10]uint32{0x019f01fe, 0x0252a92f, 0x002d5efc, 0x038bdf54, 0x035b9a8e, 0x0312c9db, 0x03a109a2, 0x03f7eba7, 0x014b306c, 0x001a3498}}, Y: Field{[10]uint32{0x0348550e, 0x00e1b217, 0x008f3661, 0x01221023, 0x01ef9e1d, 0x03503ed6, 0x01f54e84, 0x0197b5f7, 0x02bcf043, 0x0005230d}}}, + {X: Field{[10]uint32{0x00533edd, 0x011edfc7, 0x0277b7fc, 0x01ac1b0d, 0x03900ece, 0x0358ce1e, 0x02990d71, 0x000ec2b4, 0x02a55977, 0x0024feb3}}, Y: Field{[10]uint32{0x002ad5f4, 0x011e5f25, 0x03179745, 0x011363b9, 0x01c20bbe, 0x02687db0, 0x00199853, 0x0053a2d7, 0x03fa8fa1, 0x000f2006}}}, + {X: Field{[10]uint32{0x01054277, 0x01b09d5d, 0x005d6eef, 0x03c5b288, 0x025a0a61, 0x01b242ca, 0x0375ae17, 0x00c46255, 0x00a672f7, 0x003c4775}}, Y: Field{[10]uint32{0x01556ef6, 0x026d5a2e, 0x020e83f5, 0x01154782, 0x006c307d, 0x03063434, 0x022083ca, 0x02b03dfa, 0x016d2ef2, 0x002f01a8}}}, + {X: Field{[10]uint32{0x024204f7, 0x0328e721, 0x00010f10, 0x02165c97, 0x000b71fe, 0x020f2001, 0x029a94ef, 0x029153f4, 0x005d710b, 0x0010baf3}}, Y: Field{[10]uint32{0x025f223b, 0x001934b5, 0x00e40279, 0x01f371a6, 0x00e633c1, 0x01c7419f, 0x03d5cdb2, 0x0007b531, 0x00eb6431, 0x003e2aa1}}}, + {X: Field{[10]uint32{0x01c80e52, 0x0278f861, 0x03b2e67e, 0x03684fc7, 0x00549e96, 0x02274668, 0x03b6fbce, 0x016a5021, 0x03dcd96d, 0x0035021d}}, Y: Field{[10]uint32{0x02789444, 0x0388d317, 0x0087c837, 0x001bd764, 0x02c0be83, 0x03f00510, 0x017b59af, 0x003f2e39, 0x01b385f2, 0x002fa6ee}}}, + {X: Field{[10]uint32{0x0162931f, 0x01d0d609, 0x03e398fa, 0x02eeae35, 0x03aa40c1, 0x00e49029, 0x00ec9342, 0x0042ae22, 0x0098cd21, 0x003062cb}}, Y: Field{[10]uint32{0x015773f8, 0x00b3a5c5, 0x001cb24c, 0x02724df0, 0x03b83f18, 0x0019b102, 0x01f18cd1, 0x035d31d7, 0x00349147, 0x00365884}}}, + {X: Field{[10]uint32{0x005c0bd1, 0x03e238f8, 0x039e4d14, 0x01631923, 0x036fe946, 0x02ed37af, 0x034fa0c4, 0x03e10473, 0x03221a44, 0x0005535a}}, Y: Field{[10]uint32{0x0075559a, 0x014a9656, 0x01976de5, 0x03cfaf15, 0x037c1074, 0x0365398f, 0x00bbb6ad, 0x00ccbcca, 0x0307c705, 0x0037c2f0}}}, + {X: Field{[10]uint32{0x01a26f15, 0x009a8d78, 0x006e0a93, 0x01670eae, 0x0024485d, 0x02610b6f, 0x017d2285, 0x024ec68e, 0x01e5629f, 0x0028e096}}, Y: Field{[10]uint32{0x01f783fb, 0x02ee7aa4, 0x01892367, 0x013fd0d7, 0x00171327, 0x0229e6e3, 0x0074932e, 0x00a98ece, 0x00cc2fe5, 0x001a6d6b}}}, + {X: Field{[10]uint32{0x023fcd19, 0x02ca8f1d, 0x02013d4d, 0x00a5be08, 0x00148270, 0x03bb7b46, 0x025a7d52, 0x00d24e64, 0x02eee91e, 0x00275ca7}}, Y: Field{[10]uint32{0x03e89a1f, 0x02a8bc38, 0x00339657, 0x027938cc, 0x009cadc0, 0x0361d3ec, 0x02f731f2, 0x02188459, 0x015403cc, 0x001b60c8}}}, + {X: Field{[10]uint32{0x03751e3a, 0x01c06cd9, 0x00b39b25, 0x024e283e, 0x0346398c, 0x0112a7e6, 0x02cede79, 0x01f1f95d, 0x00088630, 0x00099d3c}}, Y: Field{[10]uint32{0x013f83cf, 0x0199ae06, 0x02fa212a, 0x031ea748, 0x02e31bde, 0x02c3c7d3, 0x03638d07, 0x0347be0d, 0x03426ac9, 0x0000fa7a}}}, + {X: Field{[10]uint32{0x02237f41, 0x03cd1453, 0x002c2743, 0x00b1bdc3, 0x03b7c164, 0x02d89b03, 0x028e9fdb, 0x02e15b74, 0x015eadb1, 0x002ca81b}}, Y: Field{[10]uint32{0x03f664d3, 0x033ab58e, 0x01f5ff3b, 0x02613401, 0x03de579a, 0x0206b582, 0x03baed44, 0x02c9a089, 0x038b8673, 0x0017532b}}}, + {X: Field{[10]uint32{0x022d713d, 0x03c8f848, 0x03a60f0b, 0x003c5056, 0x012b278c, 0x00103c17, 0x03e4ec92, 0x03af73b0, 0x0164d61d, 0x00082c9f}}, Y: Field{[10]uint32{0x00e516a3, 0x0111ede9, 0x03ffb41e, 0x0026eceb, 0x02c8c5c8, 0x00159d43, 0x01264886, 0x00b7cd73, 0x01e7ff5c, 0x00120761}}}, + {X: Field{[10]uint32{0x00e3f2e5, 0x0335714f, 0x0051bfc7, 0x003d169f, 0x03527093, 0x0031547d, 0x00d7c152, 0x02a897d8, 0x010c450e, 0x0013d298}}, Y: Field{[10]uint32{0x0247f328, 0x00bf640e, 0x0239c2b3, 0x013bf5f7, 0x01e82423, 0x03e75a3b, 0x02d8d8e0, 0x0188a19c, 0x0211db41, 0x0037c7a3}}}, + {X: Field{[10]uint32{0x00aceaa9, 0x03ee8daa, 0x01e9e776, 0x02245196, 0x03bc06c9, 0x00d66f01, 0x0170b4be, 0x010d6095, 0x02d80050, 0x0026cdd7}}, Y: Field{[10]uint32{0x01e90927, 0x01ab888d, 0x01f26d1e, 0x01021b73, 0x03226834, 0x01670d20, 0x01de5b1f, 0x0001a645, 0x0193385c, 0x000f4159}}}, + {X: Field{[10]uint32{0x02c9d1be, 0x0300648b, 0x03ba4060, 0x021cdff3, 0x03c13aff, 0x00e42dff, 0x03865e72, 0x00b21cc7, 0x00045d43, 0x0010d902}}, Y: Field{[10]uint32{0x0070cbeb, 0x01ac8818, 0x016eb234, 0x02496e2c, 0x025aff2a, 0x012ed3ef, 0x01f2aac5, 0x00ff878f, 0x02af6fc7, 0x00388ce3}}}, + {X: Field{[10]uint32{0x001e0b66, 0x01d849fd, 0x02a394c4, 0x00bbcae7, 0x0259287f, 0x02fa2353, 0x021f35cf, 0x0045c905, 0x004f2446, 0x0029b967}}, Y: Field{[10]uint32{0x019f334d, 0x03b17f9f, 0x032775f5, 0x00acb9ea, 0x0257a8ae, 0x0133dc62, 0x00fa470c, 0x01d7e507, 0x0347f5dd, 0x001d71c1}}}, + {X: Field{[10]uint32{0x01322d51, 0x02801ec9, 0x016ed7c9, 0x0165d2ca, 0x025293a9, 0x01a9b4ce, 0x03bf1e84, 0x0147f65d, 0x0217ae73, 0x003fd8e5}}, Y: Field{[10]uint32{0x03dac457, 0x01cc4594, 0x0239f79d, 0x01c7bd01, 0x03e21dca, 0x039e60d4, 0x03f81ffe, 0x0157dd94, 0x01abfa23, 0x0039848f}}}, + {X: Field{[10]uint32{0x02f4faf3, 0x0376fa53, 0x030435f8, 0x03b80722, 0x00c254df, 0x02b578a1, 0x0237cbc5, 0x03639822, 0x00401710, 0x001de452}}, Y: Field{[10]uint32{0x00611414, 0x02e3b638, 0x00ecaa54, 0x0118cb26, 0x02623be4, 0x02534a9a, 0x0075dc38, 0x03531c10, 0x00e99ef3, 0x00365fd1}}}, + {X: Field{[10]uint32{0x01484aad, 0x015e7ede, 0x00ee5d42, 0x03f01b76, 0x00947cf1, 0x03704d71, 0x0151c00a, 0x0152a841, 0x00aa0292, 0x003da244}}, Y: Field{[10]uint32{0x0052c1fc, 0x02d67930, 0x03c941b9, 0x0310fd71, 0x0269f9f5, 0x0325e137, 0x01587eaf, 0x01b58c2b, 0x03db33a5, 0x00102f7e}}}, + {X: Field{[10]uint32{0x036e0fd3, 0x01891906, 0x0169629f, 0x034b7bc7, 0x00f2d4d8, 0x03558361, 0x01c75011, 0x0133bdc6, 0x0381473d, 0x00056fa3}}, Y: Field{[10]uint32{0x00fd9a2a, 0x023bbb9c, 0x007bb1d2, 0x02a21241, 0x0364b85e, 0x01b64c99, 0x011ead00, 0x006d0711, 0x0126fc99, 0x001f99be}}}, + {X: Field{[10]uint32{0x0284e9ca, 0x006af762, 0x019db909, 0x01be682f, 0x03d0c5c2, 0x01f10722, 0x03272970, 0x00c0bbd0, 0x015a2e22, 0x0003844f}}, Y: Field{[10]uint32{0x01574dc0, 0x0095f2bd, 0x0353026a, 0x03472e00, 0x03b54941, 0x03c6cb16, 0x026b70b2, 0x0371145e, 0x02d834c6, 0x000b9218}}}, + {X: Field{[10]uint32{0x03bea688, 0x0237f9d1, 0x01595aa7, 0x02c15f5b, 0x022c94da, 0x030346f8, 0x0220d9de, 0x02e99dfd, 0x0370485b, 0x0025ac41}}, Y: Field{[10]uint32{0x03dbf30b, 0x027a7c6e, 0x016a5225, 0x03092926, 0x02ff854a, 0x031de766, 0x021bd58f, 0x01c9ab06, 0x02ae0222, 0x0038182a}}}, + {X: Field{[10]uint32{0x0005545d, 0x01e24d09, 0x02183de8, 0x031d68e3, 0x0057f6f7, 0x034b3f63, 0x025e8990, 0x0255385f, 0x03005555, 0x00205d0b}}, Y: Field{[10]uint32{0x02d2fc0e, 0x03b80f4b, 0x0236edf1, 0x031a3e48, 0x00a8d742, 0x00d5e3ec, 0x032fbb07, 0x0017cb9b, 0x03c2e5f7, 0x00285d8f}}}, + {X: Field{[10]uint32{0x0378a480, 0x01207fee, 0x01c17fcc, 0x002f85b0, 0x0386bc7a, 0x02434dee, 0x00b72eaf, 0x023d89df, 0x03139698, 0x0005f067}}, Y: Field{[10]uint32{0x03c78833, 0x030eed94, 0x01fd9c5e, 0x0181c63e, 0x013f430e, 0x038f946e, 0x01c2642a, 0x0193ad88, 0x00d52101, 0x0032c4a4}}}, + {X: Field{[10]uint32{0x02497a3c, 0x0066fae8, 0x01c3f403, 0x001d8f00, 0x00bfeee5, 0x02e18552, 0x0248b2bb, 0x01bb2719, 0x0306e874, 0x00001ec3}}, Y: Field{[10]uint32{0x02a70020, 0x02dde3b5, 0x00c6a2fd, 0x016275ba, 0x031634b7, 0x032a831e, 0x00b318f1, 0x01f638c2, 0x03788429, 0x0031a524}}}, + {X: Field{[10]uint32{0x02c5e8b3, 0x015ba444, 0x0013405f, 0x005f2c6e, 0x0055a805, 0x02a26dd5, 0x027d8c28, 0x0060fe69, 0x03062414, 0x001c570a}}, Y: Field{[10]uint32{0x0120370b, 0x015dcfc9, 0x03b33920, 0x000e5de1, 0x0123167f, 0x03e12d35, 0x02d4cca7, 0x01771c78, 0x01c89a79, 0x003e26e2}}}, + {X: Field{[10]uint32{0x0374d3b6, 0x03d03723, 0x024c78f1, 0x00277626, 0x01057aed, 0x03f976fd, 0x0377662e, 0x03f1e1d9, 0x0200f974, 0x00383433}}, Y: Field{[10]uint32{0x03e3eb56, 0x01c138b8, 0x000d3e85, 0x03f9f2cf, 0x03c253be, 0x01315447, 0x03c7f05c, 0x01211e52, 0x0265ed70, 0x002b316f}}}, + {X: Field{[10]uint32{0x026432a2, 0x002ac7f4, 0x02222e77, 0x021d6eb5, 0x01bdba9a, 0x033674a8, 0x01aaf75e, 0x02e2de69, 0x028976fb, 0x000dd54c}}, Y: Field{[10]uint32{0x02ced92d, 0x00584230, 0x01d77eb0, 0x01f0b170, 0x0001087e, 0x00aca822, 0x00bc7d01, 0x00192f60, 0x02331b7e, 0x001b6ef8}}}, + {X: Field{[10]uint32{0x03e3d3ff, 0x02ace81b, 0x00699446, 0x0144aaf7, 0x00f46ca6, 0x02cabec1, 0x003f6b08, 0x0240da1a, 0x03ef51ea, 0x000ba570}}, Y: Field{[10]uint32{0x019b554a, 0x02d030ca, 0x0349839c, 0x019802ca, 0x0201556c, 0x01876f18, 0x0063b94c, 0x037f8121, 0x0287b1d8, 0x0002417a}}}, + {X: Field{[10]uint32{0x00ff8eb5, 0x01f5d6b1, 0x02cf40fe, 0x0036d645, 0x02646758, 0x01cd54fd, 0x035c67fb, 0x00c915fc, 0x021e721f, 0x00094c43}}, Y: Field{[10]uint32{0x006b4ace, 0x02d50c1e, 0x03041016, 0x018b05fa, 0x0146ecd6, 0x01f72ac7, 0x01a359b8, 0x03bad509, 0x02f9be42, 0x00271794}}}, + {X: Field{[10]uint32{0x03830b7b, 0x001fd46d, 0x013b0cf7, 0x01f5febd, 0x0227a23b, 0x035f2d41, 0x00779117, 0x03f0b75e, 0x031b2b24, 0x000964ca}}, Y: Field{[10]uint32{0x03536765, 0x00cb6477, 0x00f3e04e, 0x00180427, 0x022215e2, 0x037ce8ab, 0x03969a6d, 0x009ac075, 0x03b4acdb, 0x001fa388}}}, + {X: Field{[10]uint32{0x03c5ed3e, 0x005a911c, 0x0284e22b, 0x017ac26d, 0x02892e13, 0x025fd6e2, 0x029ba443, 0x01d99ee9, 0x02f6251f, 0x001f48ca}}, Y: Field{[10]uint32{0x02d8356e, 0x00995c69, 0x0392c1cd, 0x01165426, 0x00131b90, 0x026093c7, 0x03dea61d, 0x0226d633, 0x0238c8a5, 0x0028fa3d}}}, + {X: Field{[10]uint32{0x00c720f9, 0x03a5d572, 0x03633cb9, 0x01141211, 0x026afc86, 0x01125581, 0x03e05b0a, 0x03aa1ee8, 0x02a01b65, 0x001355b2}}, Y: Field{[10]uint32{0x03537330, 0x0105dc5d, 0x0208f50f, 0x03865deb, 0x007c1eae, 0x00dbc0d2, 0x03f1ada9, 0x01465f28, 0x027836e6, 0x000530d1}}}, + {X: Field{[10]uint32{0x0100a88b, 0x03bef671, 0x01c2c122, 0x000cdc9f, 0x032615b5, 0x031c8bb5, 0x01c81f42, 0x03e2eddd, 0x0165ca6f, 0x001c6af4}}, Y: Field{[10]uint32{0x012620f1, 0x02ae2112, 0x00eb9c39, 0x01499089, 0x01a59693, 0x0046b12e, 0x031c46ae, 0x013e18be, 0x00670728, 0x001e6e89}}}, + {X: Field{[10]uint32{0x02a48965, 0x00ba4195, 0x039f4200, 0x01d31045, 0x0230215e, 0x03176795, 0x00496345, 0x00146731, 0x00ccc381, 0x002118bf}}, Y: Field{[10]uint32{0x03787d4b, 0x00241229, 0x005cb64d, 0x029d70f0, 0x00f0eb75, 0x027f1190, 0x0148a7e2, 0x02e662f1, 0x0166cd7f, 0x00014d6a}}}, + {X: Field{[10]uint32{0x02c09826, 0x03a4d44d, 0x01ae3286, 0x0011bf91, 0x00b9c2b1, 0x0195a12a, 0x0178b5c6, 0x0147402d, 0x0093fed7, 0x003da3ab}}, Y: Field{[10]uint32{0x0148bff5, 0x013f117f, 0x01831733, 0x0355cca8, 0x0366f7d8, 0x02943952, 0x0119ff2f, 0x02a28a3c, 0x032b98b0, 0x00263830}}}, + {X: Field{[10]uint32{0x01f72041, 0x0110acb6, 0x00b1615f, 0x031f9250, 0x0243467d, 0x01bfd5a6, 0x00e4014f, 0x0364d670, 0x025009a8, 0x0018511c}}, Y: Field{[10]uint32{0x02c8f807, 0x00cc505e, 0x02d2eb2f, 0x0024abac, 0x00fa58f2, 0x03efaa22, 0x02a7108d, 0x01fb9f7b, 0x037fc7f5, 0x0003edc5}}}, + {X: Field{[10]uint32{0x0315614f, 0x023b3152, 0x01497fc2, 0x0324de68, 0x01c9846a, 0x00b6233c, 0x0259a26e, 0x006f4b88, 0x02114ffa, 0x003a9a7b}}, Y: Field{[10]uint32{0x00e4e2de, 0x02dda317, 0x022c9b17, 0x006e026d, 0x0163183d, 0x0375b3cf, 0x00141083, 0x035d4244, 0x01b51dd6, 0x001626e0}}}, + {X: Field{[10]uint32{0x025d5263, 0x01319813, 0x02b78146, 0x0057147e, 0x0338e6aa, 0x01ffc542, 0x01a1ce0d, 0x037a5990, 0x03243404, 0x000d1c9e}}, Y: Field{[10]uint32{0x0027d4f2, 0x00a27536, 0x03804435, 0x03cb56ef, 0x031920bf, 0x03001a74, 0x039baadd, 0x0329dcd6, 0x026bcf56, 0x0024660c}}}, + {X: Field{[10]uint32{0x02217461, 0x02343667, 0x02ad952f, 0x036549b3, 0x00eeebf4, 0x03a62d3c, 0x022d2756, 0x01e370a7, 0x02ae6137, 0x00254914}}, Y: Field{[10]uint32{0x02d486a8, 0x01c5d6ca, 0x035ff079, 0x020b7052, 0x03c17f65, 0x006c5046, 0x0250eb10, 0x03ed6be6, 0x0228c195, 0x003022ce}}}, + {X: Field{[10]uint32{0x038e49ff, 0x02855ab9, 0x01bfd2d4, 0x010af78b, 0x02401b83, 0x019840c1, 0x01afeba6, 0x022f1dfa, 0x0318dc4a, 0x003ef28f}}, Y: Field{[10]uint32{0x014129c9, 0x01f910fe, 0x029b6c7b, 0x01ceee4c, 0x034cf755, 0x01dae493, 0x020db7bc, 0x02cb7bb6, 0x016d6027, 0x000ae0a7}}}, + {X: Field{[10]uint32{0x03d8c141, 0x03130556, 0x0082b57b, 0x03fee502, 0x005302bf, 0x0022929c, 0x03dff64a, 0x0190ea55, 0x011d7ddc, 0x0031f77c}}, Y: Field{[10]uint32{0x02708e20, 0x01559a5b, 0x02a8889d, 0x038628f6, 0x03b3711e, 0x00e6f9e6, 0x03e81468, 0x02c0600f, 0x01f1ac93, 0x003a7284}}}, + {X: Field{[10]uint32{0x00ce31b8, 0x03b9299c, 0x02fa2cd0, 0x014e72db, 0x011b3f23, 0x039a0860, 0x031f7e44, 0x0018fae0, 0x023086e3, 0x001c410e}}, Y: Field{[10]uint32{0x01322c9d, 0x02df2d22, 0x03411ebc, 0x01914c82, 0x019334c1, 0x0178a613, 0x029cc925, 0x0349cd2a, 0x0338ef9f, 0x00136cfc}}}, + {X: Field{[10]uint32{0x00602585, 0x01a9dd92, 0x034c3dbb, 0x0111e644, 0x005d70f0, 0x003e8dd7, 0x0349d368, 0x01f2ef64, 0x02401534, 0x001b793a}}, Y: Field{[10]uint32{0x03960418, 0x01df7c9f, 0x03d70f1d, 0x010ce31c, 0x02458a32, 0x01c0973c, 0x028d8394, 0x014b6fba, 0x018865ab, 0x0000edd9}}}, + {X: Field{[10]uint32{0x024fecbe, 0x0095a5ae, 0x02215bc4, 0x030387e9, 0x01db9a0c, 0x03dee80f, 0x017e23b6, 0x03b2dfa8, 0x039f467c, 0x000a7ea9}}, Y: Field{[10]uint32{0x00f34838, 0x03fe86d2, 0x01154e50, 0x017b4bfc, 0x0264a224, 0x01af7c41, 0x03027d04, 0x02f0a707, 0x011fc42f, 0x00396a9a}}}, + {X: Field{[10]uint32{0x02aafc99, 0x010be4c5, 0x00f79c8c, 0x02e1d244, 0x03d750f8, 0x00afe3d6, 0x025f15a0, 0x016c89e3, 0x03fc25ae, 0x003fe202}}, Y: Field{[10]uint32{0x025747df, 0x03bba08e, 0x00b105ee, 0x019af228, 0x0360e7a1, 0x02ed40b6, 0x0025bd81, 0x023de4de, 0x030a0072, 0x00254d7d}}}, + {X: Field{[10]uint32{0x00a2a378, 0x01af4be9, 0x00eeef6a, 0x02c90949, 0x0160eff0, 0x014ba302, 0x020c5663, 0x03dbd614, 0x02a03837, 0x002de06d}}, Y: Field{[10]uint32{0x00dbbb62, 0x03ffefd3, 0x01e4fc44, 0x027989d5, 0x01cbf838, 0x0304ada7, 0x0322ee73, 0x00f7650d, 0x03d46c68, 0x002b35ed}}}, + {X: Field{[10]uint32{0x027406db, 0x01028ed1, 0x01990ee5, 0x01896411, 0x03b3f190, 0x00b92b0a, 0x0332c648, 0x03174369, 0x0193e8ba, 0x001b65d9}}, Y: Field{[10]uint32{0x032a8b6b, 0x01fa704b, 0x016583bd, 0x00966a2e, 0x016cbc18, 0x00a92abb, 0x00bb9c0f, 0x020585b0, 0x03e4af6d, 0x000c30d4}}}, + {X: Field{[10]uint32{0x00dc3032, 0x0219af5b, 0x014015d0, 0x0208a9b6, 0x03683ec7, 0x03eb4784, 0x02121129, 0x03836d18, 0x036a4dd3, 0x00063b59}}, Y: Field{[10]uint32{0x00a51bd5, 0x009ac580, 0x019bb8ef, 0x039dfb8c, 0x0006f9a6, 0x01780d9c, 0x03b97626, 0x02a0a97d, 0x02e15dbf, 0x00321ac1}}}, + {X: Field{[10]uint32{0x035ce2a1, 0x015032b6, 0x0118ceb3, 0x034ee547, 0x01d1e859, 0x03bf52e3, 0x00bce4da, 0x003ff30b, 0x0238e944, 0x0000c4e3}}, Y: Field{[10]uint32{0x0095c241, 0x038a325a, 0x029a3430, 0x010253be, 0x03fef4bc, 0x02431b9b, 0x0260a134, 0x02199f75, 0x01b2a11a, 0x0037e2ac}}}, + {X: Field{[10]uint32{0x00b00c95, 0x015c73fa, 0x03c3a091, 0x0023d240, 0x02163ce6, 0x0126a5d8, 0x02b1e761, 0x0326aae2, 0x00ac2025, 0x001d5f7d}}, Y: Field{[10]uint32{0x03a03430, 0x0353b337, 0x018c4a37, 0x032d343f, 0x01c56bd7, 0x014001d9, 0x0115ab76, 0x0317611f, 0x01feab36, 0x003fc2bd}}}, + {X: Field{[10]uint32{0x004c27e1, 0x01c10262, 0x015cc9aa, 0x03a1142e, 0x020ce09d, 0x0078ecbc, 0x03319a08, 0x01626f44, 0x02527156, 0x00229a5e}}, Y: Field{[10]uint32{0x0151f39d, 0x0027e1ab, 0x03ca13df, 0x039aefc0, 0x015a5edd, 0x00ccb576, 0x032815ad, 0x027a78df, 0x013cb602, 0x00027bae}}}, + {X: Field{[10]uint32{0x018c721b, 0x035838f9, 0x000b1650, 0x026f53d3, 0x01d35eb8, 0x00dea135, 0x03c2198e, 0x0382c5b3, 0x018736f9, 0x002c2eda}}, Y: Field{[10]uint32{0x016e00dc, 0x018d8efb, 0x001ebb3b, 0x0054bd23, 0x010b8556, 0x02ce3a0b, 0x009808f0, 0x02d405bc, 0x0200ce25, 0x000cf56c}}}, + {X: Field{[10]uint32{0x0037efed, 0x006d5172, 0x022d8d9f, 0x017a41ab, 0x03ef6d6f, 0x034be3fd, 0x037882a0, 0x0118d098, 0x01de5dde, 0x0007283b}}, Y: Field{[10]uint32{0x002863bc, 0x027af6aa, 0x02e41acb, 0x013eb163, 0x024c4d3a, 0x017ae7cf, 0x015d4c0f, 0x01a0f69f, 0x01ae4cff, 0x00067bed}}}, + {X: Field{[10]uint32{0x01474aa7, 0x03f10893, 0x0121ed90, 0x006b793a, 0x01d59ad1, 0x00786dd9, 0x02849310, 0x0395f59a, 0x030eb9a4, 0x001e0396}}, Y: Field{[10]uint32{0x033ab811, 0x024c8304, 0x016a3d33, 0x03fd0614, 0x001d8f34, 0x01e6a8e9, 0x02579f4c, 0x017c84b6, 0x00cc58cc, 0x0017af67}}}, + {X: Field{[10]uint32{0x00eb4c9d, 0x01a1b68d, 0x01468edf, 0x026952fc, 0x0330ec07, 0x037c8429, 0x02af620c, 0x021414b4, 0x00e93980, 0x003dfa4b}}, Y: Field{[10]uint32{0x00f93666, 0x03deae5e, 0x035857b1, 0x0259ea22, 0x0257c234, 0x00bc52b6, 0x03d54c03, 0x02a58563, 0x01cfe113, 0x000b1567}}}, + {X: Field{[10]uint32{0x0289f938, 0x01f69712, 0x036f54bc, 0x02909a4c, 0x013a5688, 0x00360358, 0x01ff8092, 0x00829e3e, 0x022075bb, 0x000f0ebe}}, Y: Field{[10]uint32{0x03888c8d, 0x03cfe71e, 0x0132b978, 0x0364fc74, 0x023bd836, 0x0190d7c8, 0x023a9f54, 0x00d75b95, 0x03081dd2, 0x001fbce0}}}, + {X: Field{[10]uint32{0x022097ee, 0x03ec557c, 0x01115af4, 0x03700c06, 0x0389fb9e, 0x01f95848, 0x01ec59e0, 0x03e6d5d7, 0x001dee60, 0x001c75bc}}, Y: Field{[10]uint32{0x0080bfee, 0x0011c387, 0x016802ef, 0x03483abc, 0x0138da4f, 0x02d050c8, 0x0054091f, 0x028d714a, 0x02454a31, 0x00387330}}}, + {X: Field{[10]uint32{0x00c4fa2d, 0x03dd6e4e, 0x036ea1f5, 0x00c7162a, 0x02b107fc, 0x039895f7, 0x00a77b28, 0x03b20242, 0x020f5705, 0x0025c999}}, Y: Field{[10]uint32{0x008cd4c1, 0x021a526d, 0x000c690c, 0x039c23a9, 0x01d3636f, 0x01b6c319, 0x018c213b, 0x0347a584, 0x03ae3102, 0x00253301}}}, + {X: Field{[10]uint32{0x02802719, 0x000ab0ac, 0x004b87fd, 0x004bb07f, 0x02297fad, 0x01fa2d8c, 0x011a1a29, 0x0286bc1a, 0x00c754b2, 0x002b3974}}, Y: Field{[10]uint32{0x039f85eb, 0x03252162, 0x008581f4, 0x032b4934, 0x027fc843, 0x03c6235a, 0x02491f05, 0x01c973ae, 0x03248d3e, 0x002493e7}}}, + {X: Field{[10]uint32{0x01943f64, 0x0159ace1, 0x018b88fa, 0x03f588ba, 0x028200ea, 0x00e2928a, 0x01778f28, 0x003fc333, 0x006b3480, 0x003e944c}}, Y: Field{[10]uint32{0x0296e293, 0x01721c50, 0x015c85f0, 0x015eb4d3, 0x0104b677, 0x0324ad43, 0x00ee030f, 0x0121ce87, 0x02166b14, 0x002d83b9}}}, + {X: Field{[10]uint32{0x01bea60a, 0x0275610b, 0x030f17c1, 0x0165845c, 0x000b716a, 0x0163abf3, 0x00097ee4, 0x009699e7, 0x0018329d, 0x002177e4}}, Y: Field{[10]uint32{0x017ab0fa, 0x03a24462, 0x0180ae62, 0x031bcbda, 0x00b7bc64, 0x039e1ddd, 0x01ad7c09, 0x008473a6, 0x01b6046d, 0x00315575}}}, + {X: Field{[10]uint32{0x00af5e3a, 0x02627389, 0x037f3efb, 0x03d1e018, 0x01337ff5, 0x0398d2a6, 0x0061b52a, 0x01119ead, 0x000dc202, 0x000bddf0}}, Y: Field{[10]uint32{0x005e3e39, 0x0039fea4, 0x0325303f, 0x039ebbca, 0x020c5d28, 0x039fbee9, 0x00c52b0b, 0x03eaf61c, 0x0278ebcb, 0x0031fd29}}}, + {X: Field{[10]uint32{0x028bb34e, 0x03123088, 0x0200158f, 0x03d6c3bd, 0x011f238d, 0x02e00afd, 0x036a4997, 0x0143583f, 0x023a7200, 0x0014b628}}, Y: Field{[10]uint32{0x003d9136, 0x00c0b6e0, 0x000f2ccd, 0x004b245e, 0x02cebb18, 0x030c31e1, 0x02d29b51, 0x02386858, 0x01a7861b, 0x00262ba0}}}, + {X: Field{[10]uint32{0x0212b211, 0x003b6c5c, 0x022fd37b, 0x008901d1, 0x00701daf, 0x01d556d7, 0x03b83204, 0x0001248b, 0x0079eaca, 0x0029fcf9}}, Y: Field{[10]uint32{0x03bdaada, 0x019402e7, 0x03ae8e92, 0x01f311db, 0x013e3376, 0x006eb00e, 0x0268498d, 0x029f05ee, 0x010c8c4c, 0x00203d86}}}, + {X: Field{[10]uint32{0x02356103, 0x01181f28, 0x00880ea0, 0x0264023d, 0x0373db57, 0x0108e0ab, 0x03bf4d79, 0x034c9986, 0x0150e67b, 0x000c7bcc}}, Y: Field{[10]uint32{0x00a9a8ee, 0x020d2c6a, 0x00954631, 0x01ab8f4b, 0x01bc03c4, 0x012c5bb5, 0x0350bb51, 0x00a3464e, 0x01d6655d, 0x001f6e3d}}}, + {X: Field{[10]uint32{0x038b058d, 0x03b8914e, 0x031fceab, 0x034e1a04, 0x00599b0c, 0x00bb7a8c, 0x02d1ee35, 0x000a64e6, 0x0155469c, 0x003ba0bc}}, Y: Field{[10]uint32{0x0092b10c, 0x00bfcc14, 0x00400eed, 0x0263c0e5, 0x0032de93, 0x02b6e263, 0x01d9ed6c, 0x030b10ab, 0x014e2d77, 0x003f4303}}}, + {X: Field{[10]uint32{0x016b4586, 0x0347df95, 0x0073e206, 0x0242d15a, 0x01273549, 0x0281c55d, 0x01f7d458, 0x0375bc2a, 0x007abfce, 0x00037b1f}}, Y: Field{[10]uint32{0x007200c4, 0x0060041d, 0x0327673c, 0x031ee172, 0x002c7626, 0x01e7f8c8, 0x02f0912b, 0x025fd061, 0x02b4cad5, 0x002be106}}}, + {X: Field{[10]uint32{0x00d2369d, 0x02cd347d, 0x0362e526, 0x004bb921, 0x002bf34f, 0x01466f60, 0x011ba405, 0x01bfa5d6, 0x037048cd, 0x0030a38c}}, Y: Field{[10]uint32{0x00636e8b, 0x003ac5fc, 0x01a647d5, 0x0148e4c9, 0x03b8640f, 0x025dae84, 0x0086dba6, 0x019cc5fd, 0x03ddda45, 0x0003802a}}}, + {X: Field{[10]uint32{0x03222195, 0x011448f7, 0x01a93071, 0x00c473c1, 0x01370277, 0x003c8d4c, 0x0029e9db, 0x017d9403, 0x00a92c27, 0x0011c55f}}, Y: Field{[10]uint32{0x01cbef6e, 0x003833a2, 0x00dc4f43, 0x01cacd3e, 0x009fefeb, 0x0107321d, 0x007e9ed4, 0x03f496be, 0x03fac911, 0x001922c5}}}, + {X: Field{[10]uint32{0x00a73241, 0x01c6991b, 0x03868f54, 0x014e9eac, 0x039a0a92, 0x027fc651, 0x01b55037, 0x014f3b60, 0x0302745c, 0x00213445}}, Y: Field{[10]uint32{0x01f858c5, 0x0382f089, 0x016b62c0, 0x03076359, 0x01fc593e, 0x01139933, 0x03b13536, 0x0021e93b, 0x02a20c3c, 0x0013c5ad}}}, + {X: Field{[10]uint32{0x03d63fc9, 0x02f8b5e5, 0x02dccb7f, 0x00a23a46, 0x03c74e81, 0x02a20471, 0x02b2f28e, 0x0182e1ac, 0x00221960, 0x000eee8c}}, Y: Field{[10]uint32{0x0334e286, 0x00f4a8a9, 0x02f3a9d7, 0x0262db9f, 0x00879d3f, 0x03a93d53, 0x03c5aa12, 0x014dce9d, 0x014af094, 0x001fcd01}}}, + {X: Field{[10]uint32{0x00651c6b, 0x03a281a6, 0x038f4425, 0x001aaa14, 0x00b9f746, 0x00f5039c, 0x037485ab, 0x01850c90, 0x03f47a2c, 0x0002158d}}, Y: Field{[10]uint32{0x03396054, 0x0002b664, 0x00096c35, 0x00c68c34, 0x02f76e85, 0x020e940d, 0x03075760, 0x00ac799e, 0x01d56fb4, 0x002f1aa5}}}, + {X: Field{[10]uint32{0x01bbd123, 0x01bb4c53, 0x0167d8ea, 0x010a902a, 0x02e8021a, 0x034f150f, 0x02d1605d, 0x00066887, 0x02985e75, 0x00094c0b}}, Y: Field{[10]uint32{0x02797a83, 0x02936399, 0x010f3267, 0x00e447f7, 0x01c02206, 0x004dc4fe, 0x02f9b4ba, 0x01d64751, 0x03e02309, 0x00212732}}}, + {X: Field{[10]uint32{0x003bea40, 0x01fd793d, 0x01f8e411, 0x003edae1, 0x03485fde, 0x029c82b8, 0x00d73dab, 0x024f8f02, 0x00bf88e3, 0x0039668c}}, Y: Field{[10]uint32{0x0197dfd5, 0x02112618, 0x02fb4422, 0x01921e1c, 0x0383ebbb, 0x00f92fe0, 0x00fa6bd3, 0x032cdc68, 0x024fe222, 0x001bf5e0}}}, + {X: Field{[10]uint32{0x02247e4e, 0x03e060fd, 0x025bda83, 0x0074b04d, 0x02de0533, 0x024d778b, 0x01e9bc3b, 0x00698162, 0x01f69798, 0x0031640b}}, Y: Field{[10]uint32{0x0175fe3c, 0x016b1f4b, 0x02c91f86, 0x01bae4f6, 0x0121d073, 0x03fadf38, 0x035ecb58, 0x0147bc6a, 0x014f5af5, 0x00319fac}}}, + {X: Field{[10]uint32{0x015e66ad, 0x02ad3983, 0x00c1b277, 0x0270b9b1, 0x01b8b640, 0x0138f202, 0x039a9b47, 0x0049fb19, 0x02c7fe27, 0x0037e2f6}}, Y: Field{[10]uint32{0x017d43e1, 0x02c409dc, 0x02dc7645, 0x01bf0099, 0x00273825, 0x00bad1c2, 0x01802ed7, 0x00e25953, 0x03e49f0b, 0x000ffc9b}}}, + {X: Field{[10]uint32{0x0065a82c, 0x0233dd8b, 0x02cf3f1e, 0x00942459, 0x009eff91, 0x0204357c, 0x01c7c02b, 0x02e32b0e, 0x004e9c7c, 0x00075550}}, Y: Field{[10]uint32{0x02a7632f, 0x02ee6f6c, 0x00707c24, 0x03a82681, 0x03e5a760, 0x00bf1348, 0x0099f64a, 0x03228d71, 0x0023f6a1, 0x00305e1c}}}, + {X: Field{[10]uint32{0x01f43b44, 0x03b82203, 0x034ef804, 0x02599e86, 0x002d040e, 0x01617914, 0x0106073d, 0x03f7eda1, 0x00c9b035, 0x000d7ce4}}, Y: Field{[10]uint32{0x03f512a2, 0x01768e2f, 0x010383c5, 0x00ab690f, 0x004c3cad, 0x003ae5d5, 0x0036fec5, 0x0362ddf7, 0x018886aa, 0x001aa173}}}, + {X: Field{[10]uint32{0x01e059b0, 0x01d13131, 0x006d588f, 0x01bb50f4, 0x011d2278, 0x0091273f, 0x02d7005b, 0x023e9bc9, 0x000dee88, 0x003eec21}}, Y: Field{[10]uint32{0x01b8d3bf, 0x034ac973, 0x005a6508, 0x03d2f4f5, 0x02203b05, 0x03d946eb, 0x00ffa219, 0x01c3c8e9, 0x014fd89a, 0x00191814}}}, + {X: Field{[10]uint32{0x034d78d7, 0x02049c68, 0x00ac9ce4, 0x0384cd4f, 0x0161fa0a, 0x01a4c7a4, 0x0208ac46, 0x01d77111, 0x00f01c22, 0x0009015b}}, Y: Field{[10]uint32{0x03c7751f, 0x0286d8f2, 0x011bf7dd, 0x028361a9, 0x01965a3f, 0x00d2949d, 0x003088f4, 0x020746fc, 0x03c67e73, 0x0010faf4}}}, + {X: Field{[10]uint32{0x00f9cd78, 0x02465c9c, 0x01297e77, 0x01175f9c, 0x0354f9f7, 0x035cbdac, 0x007c938c, 0x01f1e238, 0x03dfe844, 0x000ec410}}, Y: Field{[10]uint32{0x0240d6fc, 0x03c4a697, 0x0050c34a, 0x0184385b, 0x03b67ba3, 0x00ac6171, 0x02c29d4b, 0x03544449, 0x00c4abf0, 0x000a380a}}}, + {X: Field{[10]uint32{0x01a040e6, 0x03b7481a, 0x03a81a5b, 0x023d715d, 0x008088b0, 0x018d6017, 0x0175b236, 0x00d8e203, 0x01d14179, 0x002bbe42}}, Y: Field{[10]uint32{0x0200dc51, 0x006edf21, 0x03382d8a, 0x03007125, 0x0293350c, 0x03d028fe, 0x00c2b43d, 0x01adb174, 0x006f0de2, 0x00032ed3}}}, + {X: Field{[10]uint32{0x02833f28, 0x027e74f2, 0x007ac02c, 0x02e043d0, 0x03913367, 0x03c8a6f1, 0x0359aef5, 0x00c72dbf, 0x00f73863, 0x00323525}}, Y: Field{[10]uint32{0x010de4d2, 0x02a9d2ec, 0x01a67e70, 0x009e358b, 0x00c7b850, 0x034fbc45, 0x01afdacb, 0x0217534e, 0x02f94b62, 0x0032cb1d}}}, + {X: Field{[10]uint32{0x00f75b28, 0x00e44e4d, 0x033f5f4f, 0x005dbf97, 0x03c1b52e, 0x00779ed7, 0x00744437, 0x0328c8f7, 0x03f7af14, 0x00096bf3}}, Y: Field{[10]uint32{0x0142b789, 0x01c5c89a, 0x03781752, 0x03ed2bd2, 0x025010cd, 0x03541699, 0x031f57f8, 0x01fa5db2, 0x00a47f9d, 0x003619e9}}}, + {X: Field{[10]uint32{0x0132e2c7, 0x03658c8f, 0x022f819a, 0x00b5dc23, 0x01d40768, 0x022f5cb9, 0x02c220dc, 0x024c361c, 0x0086f773, 0x000090db}}, Y: Field{[10]uint32{0x00ab67a5, 0x02737aa2, 0x01662bc8, 0x021cdfc0, 0x0320a958, 0x0138501f, 0x00de6902, 0x0198f311, 0x01ea92af, 0x001b8e5b}}}, + {X: Field{[10]uint32{0x007f349d, 0x03d34945, 0x0056b0d0, 0x02e1fcf3, 0x0257638b, 0x0064567b, 0x00bcb86e, 0x00cf1e44, 0x03d59e57, 0x001873ba}}, Y: Field{[10]uint32{0x02fadb9e, 0x012c573c, 0x02aef3e7, 0x023e18a0, 0x027d8521, 0x01068c3a, 0x023082e7, 0x03b423ed, 0x0145e9b0, 0x000aa141}}}, + {X: Field{[10]uint32{0x00b6c187, 0x03a05fad, 0x0116dd77, 0x039b840b, 0x030dcbfe, 0x0278a91b, 0x0391a737, 0x0001c50a, 0x03b5d45d, 0x0016844c}}, Y: Field{[10]uint32{0x00d492e1, 0x03c0c14a, 0x0381f0f6, 0x03a3ce63, 0x0134c1c2, 0x00ce92df, 0x01c05171, 0x036710f2, 0x02aeafd6, 0x000bff65}}}, + {X: Field{[10]uint32{0x0163c8ac, 0x00e343d1, 0x0129309c, 0x0244c537, 0x01fff0f1, 0x0372c4ee, 0x02b5abe8, 0x006d04a7, 0x00498b70, 0x002dd28e}}, Y: Field{[10]uint32{0x00b9014f, 0x02599e67, 0x01186ffa, 0x00a3e10c, 0x01689be5, 0x0299de15, 0x00d6f7c5, 0x0083f619, 0x0257e50a, 0x00276113}}}, + {X: Field{[10]uint32{0x0389d26c, 0x032c8117, 0x024b752f, 0x01b2992a, 0x008e9a80, 0x02a54ab5, 0x011c3375, 0x0082d0ff, 0x00d04afb, 0x0030d727}}, Y: Field{[10]uint32{0x01a9c65a, 0x021de49e, 0x015a4b7e, 0x030fc1a7, 0x0248c765, 0x0278656c, 0x0279d841, 0x03bf2f7b, 0x02aa4a83, 0x002c1071}}}, + {X: Field{[10]uint32{0x00b82b96, 0x022b4df4, 0x025e8fea, 0x037b96db, 0x0311703d, 0x01e45075, 0x00b2af44, 0x01a2cfc1, 0x02587538, 0x0026a16a}}, Y: Field{[10]uint32{0x03d75d27, 0x0366549e, 0x005f2551, 0x0104efd2, 0x024e0620, 0x00cfb189, 0x00b80752, 0x03c0ef49, 0x00abaa16, 0x0011971c}}}, + {X: Field{[10]uint32{0x0086fe14, 0x03ac15d7, 0x0061bd12, 0x028f3e93, 0x01b3e825, 0x02f48fd2, 0x0183c14c, 0x03cf944b, 0x03cce051, 0x000fb1c6}}, Y: Field{[10]uint32{0x01915bdc, 0x017c17ba, 0x00007db3, 0x00ea6a54, 0x0245caba, 0x000cfc6a, 0x0294c5ab, 0x0295a954, 0x021de2da, 0x003c6630}}}, + {X: Field{[10]uint32{0x0359ae63, 0x0123c02c, 0x01b45aea, 0x01e4dcdf, 0x036b09e5, 0x00d6fccf, 0x0010e235, 0x007b7824, 0x0222939e, 0x003b872f}}, Y: Field{[10]uint32{0x021b90a5, 0x01e005e4, 0x0228d471, 0x0367794c, 0x01acecb6, 0x036adaa4, 0x037d2971, 0x0137d89f, 0x0026d444, 0x002fd810}}}, + {X: Field{[10]uint32{0x0346073e, 0x03c32659, 0x01ee78dc, 0x00aef222, 0x035a8cd9, 0x03fd3409, 0x007677d1, 0x00e98bbd, 0x03e171de, 0x003af2fc}}, Y: Field{[10]uint32{0x02f6ebe8, 0x00fd5d27, 0x03f9805c, 0x02428e08, 0x0195c6d8, 0x00b6b7ae, 0x014a3f30, 0x01c89024, 0x03c7bc9c, 0x0021e358}}}, + {X: Field{[10]uint32{0x039db797, 0x006cbf6a, 0x01ae56e8, 0x00c30243, 0x01b60664, 0x01654836, 0x03c57d52, 0x03bc56e1, 0x02e4ce72, 0x00393a4b}}, Y: Field{[10]uint32{0x015f944c, 0x03da5959, 0x00217ebe, 0x0232707e, 0x026d2183, 0x0161dd14, 0x01f47dbf, 0x029d4d56, 0x00654a03, 0x000feab1}}}, + {X: Field{[10]uint32{0x02ac1cc1, 0x010b7437, 0x03d635bc, 0x0319f078, 0x03cf275f, 0x00bac7d9, 0x00ef7431, 0x00ac0ded, 0x03588e29, 0x003f0739}}, Y: Field{[10]uint32{0x025186d7, 0x01e58f79, 0x019b42fe, 0x024b08e2, 0x02495bc3, 0x032bf2de, 0x03c791e8, 0x0366bdfd, 0x01bf44f7, 0x0005dade}}}, + {X: Field{[10]uint32{0x0294fc56, 0x031c15ae, 0x0091f9e9, 0x00eae5e9, 0x0149482b, 0x03257be1, 0x02a86b21, 0x01a9b1a4, 0x03ff179e, 0x003c7d6f}}, Y: Field{[10]uint32{0x0239e143, 0x009613e2, 0x0209313a, 0x00484318, 0x00670415, 0x030aab9c, 0x00f06205, 0x00ef0fed, 0x03a8a2cd, 0x000e2495}}}, + {X: Field{[10]uint32{0x03793eb9, 0x0113f5aa, 0x03323ac7, 0x00b9d230, 0x012c7aaa, 0x005d6850, 0x02bfef8d, 0x038006e9, 0x001461c3, 0x0026039d}}, Y: Field{[10]uint32{0x0331826c, 0x029d8946, 0x00259c7f, 0x00e98db1, 0x0134cbb3, 0x010a1801, 0x00dde28d, 0x017a0ecf, 0x01ae29e0, 0x001b8df7}}}, + {X: Field{[10]uint32{0x01b1c179, 0x0095fb68, 0x0207f66a, 0x029a9bde, 0x01adb7fa, 0x039b0655, 0x01986dc7, 0x01495c1c, 0x03f7686a, 0x003d4673}}, Y: Field{[10]uint32{0x0255a807, 0x03ae3c82, 0x0297f09e, 0x03b470c7, 0x03174ed4, 0x024ee140, 0x001d008a, 0x017261e5, 0x02b08c76, 0x000fa00f}}}, + {X: Field{[10]uint32{0x028f8061, 0x0389d56e, 0x00eee144, 0x00e443b7, 0x009011d9, 0x02f31730, 0x029bafd0, 0x03faa46e, 0x01ea3851, 0x000b7636}}, Y: Field{[10]uint32{0x01a52ae3, 0x03f81347, 0x00dc1365, 0x02a73a5c, 0x007adfde, 0x03bd4986, 0x00d058b4, 0x011a24df, 0x01afd422, 0x001851fc}}}, + {X: Field{[10]uint32{0x0054a4ae, 0x03f5e005, 0x01b35ede, 0x02335f42, 0x032854f8, 0x02a803d8, 0x02c0c415, 0x00d4dd1e, 0x02620948, 0x00218310}}, Y: Field{[10]uint32{0x033392f4, 0x039b8bb5, 0x01cef95c, 0x028a014d, 0x01d15378, 0x03bbc361, 0x03dfc561, 0x01b49639, 0x022a7d82, 0x0028a9e8}}}, + {X: Field{[10]uint32{0x02d732a6, 0x01eb42eb, 0x00b28ae9, 0x0240b259, 0x01e0697f, 0x0014d482, 0x007d4ea2, 0x00b0f426, 0x00ec17d8, 0x0039dac8}}, Y: Field{[10]uint32{0x03f54bf0, 0x02092499, 0x038f4ad1, 0x00df665f, 0x0132bc11, 0x0311fdc0, 0x037cec9c, 0x0184eff6, 0x00b685f6, 0x00325e11}}}, + {X: Field{[10]uint32{0x0110ab88, 0x0157bf42, 0x007a6504, 0x03378f41, 0x03718ec9, 0x00a905ed, 0x02862b16, 0x0296098d, 0x010d12fb, 0x00099cc7}}, Y: Field{[10]uint32{0x03542192, 0x029c7f26, 0x017143b1, 0x00251ee9, 0x028d2986, 0x001cdb5b, 0x022023bb, 0x0129841b, 0x03b30b46, 0x000f043b}}}, + {X: Field{[10]uint32{0x0224dcde, 0x0177e768, 0x00ea8986, 0x003a2cb6, 0x003fc457, 0x0340536c, 0x03e46f5e, 0x02046a1f, 0x007852db, 0x001432d2}}, Y: Field{[10]uint32{0x0339621d, 0x012f60e2, 0x006f95d5, 0x0234c0f4, 0x00c69db4, 0x00403914, 0x03572a0c, 0x02ba2623, 0x00a87937, 0x002ee122}}}, + {X: Field{[10]uint32{0x03b02a60, 0x03bac87f, 0x03a0e7eb, 0x01372ca2, 0x03064b0c, 0x02cfeb97, 0x00f9fb92, 0x03ff6d9c, 0x013b1d67, 0x003eda51}}, Y: Field{[10]uint32{0x00fd2c39, 0x00c0fba9, 0x024ca41e, 0x02bd1dcd, 0x00d1ba17, 0x0210483e, 0x03b13879, 0x0206d8fa, 0x033692d8, 0x002c3f7b}}}, + {X: Field{[10]uint32{0x03b249b4, 0x01dc1b62, 0x03b9938c, 0x00695b6e, 0x0103f406, 0x028fde13, 0x03aec4fe, 0x00089867, 0x000b4b72, 0x002a3c4a}}, Y: Field{[10]uint32{0x0239b8cc, 0x01c0fd1b, 0x019d4484, 0x02e6f07f, 0x03a97e12, 0x02f9ef8c, 0x032e5014, 0x01644d15, 0x0171ac50, 0x003aeced}}}, + {X: Field{[10]uint32{0x02acaa98, 0x012409db, 0x02bb878b, 0x0306f066, 0x02420f83, 0x00265805, 0x03cb3be3, 0x015e43c5, 0x0209df30, 0x0010a4b3}}, Y: Field{[10]uint32{0x00745d36, 0x02a89207, 0x022f9aa2, 0x016d9d1b, 0x00f32c8d, 0x01186ddb, 0x00f18733, 0x0074760b, 0x014cbf2b, 0x0006c536}}}, + {X: Field{[10]uint32{0x00c9464f, 0x029561e9, 0x0305b8c5, 0x00b25e5a, 0x038e1a06, 0x02720fe3, 0x03967504, 0x01d1fc2d, 0x0177f16f, 0x002b0904}}, Y: Field{[10]uint32{0x0176cf58, 0x028ed764, 0x0341d1cb, 0x0173bd72, 0x03266b69, 0x00c195a1, 0x004eb037, 0x034113b2, 0x01038261, 0x0037415d}}}, + {X: Field{[10]uint32{0x011823d3, 0x0349515d, 0x00e7dd7f, 0x026e1ac6, 0x0278e75c, 0x033dfe11, 0x019d640a, 0x00b695ff, 0x027326bf, 0x001a4bb2}}, Y: Field{[10]uint32{0x01c8e97f, 0x01ff74dc, 0x033478f1, 0x01413fc0, 0x02014c38, 0x02275876, 0x01573202, 0x029e2861, 0x0062548e, 0x0005f5b5}}}, + {X: Field{[10]uint32{0x0310e216, 0x00f316db, 0x01889e82, 0x03534bd6, 0x01d0e129, 0x0300b9bd, 0x02cf946e, 0x01404793, 0x024455ef, 0x003406c6}}, Y: Field{[10]uint32{0x03f91a0f, 0x015ab995, 0x03988345, 0x038ce237, 0x01807879, 0x01927d7f, 0x00f38f21, 0x00fb7755, 0x009e55e3, 0x00212936}}}, + {X: Field{[10]uint32{0x03fc1e9b, 0x0242f1e6, 0x030f12f8, 0x0308e4cc, 0x03fb0798, 0x023ca833, 0x0273a671, 0x02236024, 0x01f296a7, 0x0007ae98}}, Y: Field{[10]uint32{0x01dc9661, 0x01f3574b, 0x03266bc4, 0x03027b84, 0x03505da2, 0x01b12dab, 0x030a6a6b, 0x004118b7, 0x00cbe847, 0x00227ca6}}}, + {X: Field{[10]uint32{0x015980ea, 0x02da35d0, 0x015489c9, 0x032ac69b, 0x010a2300, 0x0087b730, 0x009fe1f7, 0x00c48519, 0x00da9460, 0x0009b7fe}}, Y: Field{[10]uint32{0x00004e60, 0x03685724, 0x037139d3, 0x017e5fd6, 0x033c4a0a, 0x03ee5523, 0x0365862e, 0x02ef7f0e, 0x022155e1, 0x00360992}}}, + {X: Field{[10]uint32{0x023fe676, 0x00ef03cc, 0x01047cee, 0x03729b89, 0x01a3116a, 0x020fa7ac, 0x035f64f2, 0x00608849, 0x0351425e, 0x0013990a}}, Y: Field{[10]uint32{0x01eafbb2, 0x01a288e2, 0x0174247a, 0x0283b49f, 0x0165b9c5, 0x030d7537, 0x011db0ab, 0x011a3125, 0x01659125, 0x003ca2df}}}, + {X: Field{[10]uint32{0x00f448a2, 0x034b869e, 0x02b21e94, 0x0033a709, 0x03b4f370, 0x033a91da, 0x027c97b4, 0x009f6cdf, 0x035cee9a, 0x000d52bf}}, Y: Field{[10]uint32{0x0130fcdb, 0x0027218a, 0x00dd5977, 0x0345b29e, 0x0299b4c4, 0x03da9e53, 0x012d0082, 0x01e7958e, 0x03d1624b, 0x00235a41}}}, + {X: Field{[10]uint32{0x03fbdc3d, 0x002e55a3, 0x039dcd57, 0x03b97d26, 0x01e76995, 0x002d97dd, 0x029f020c, 0x01a7fa3d, 0x00749493, 0x0014a1b4}}, Y: Field{[10]uint32{0x039703ab, 0x020779a1, 0x005e2027, 0x00fac5ac, 0x00e0a23d, 0x01f9bb80, 0x0062a452, 0x03103079, 0x02e53dd2, 0x000957bc}}}, + {X: Field{[10]uint32{0x0268add7, 0x0357d80c, 0x0121c266, 0x02e1bf78, 0x026bddee, 0x02a24d64, 0x00c8ff91, 0x008a666b, 0x0346c86e, 0x002e12a0}}, Y: Field{[10]uint32{0x0320789f, 0x02d00efb, 0x020a3f65, 0x034f62fa, 0x0329f5c8, 0x00791965, 0x0380c878, 0x0008e386, 0x028c79f4, 0x000c45e6}}}, + {X: Field{[10]uint32{0x0112bb94, 0x039e1cb7, 0x0067e0fd, 0x009e408b, 0x031b9dfc, 0x013f1470, 0x018b9f11, 0x02694089, 0x01e663fc, 0x00079ef5}}, Y: Field{[10]uint32{0x002c1b84, 0x01847c83, 0x00b6b927, 0x03f9b647, 0x0107acce, 0x01dfba2d, 0x0250f11e, 0x02c519f4, 0x01b40555, 0x0018a1ea}}}, + {X: Field{[10]uint32{0x03d2bc81, 0x01acab4d, 0x038da9c9, 0x0311535a, 0x029d28ac, 0x0399cb29, 0x01cfde6b, 0x027af9e9, 0x02213728, 0x001fb9a2}}, Y: Field{[10]uint32{0x0170c83e, 0x00f6e131, 0x01dcc8a5, 0x02fadeb3, 0x0303d7dc, 0x02c93808, 0x028aeee9, 0x030f2bca, 0x006400a6, 0x000fb0d0}}}, + {X: Field{[10]uint32{0x00ce570e, 0x0364533e, 0x0033f8d4, 0x01d59f0f, 0x02f3adef, 0x029ae9eb, 0x0107fddd, 0x00efeaa7, 0x010cf4be, 0x000a752c}}, Y: Field{[10]uint32{0x0058bf4c, 0x00e4b384, 0x031f2422, 0x00236fbd, 0x022ec79e, 0x031c1c36, 0x0103c252, 0x03d02903, 0x038596a4, 0x002da9d0}}}, + {X: Field{[10]uint32{0x028c359e, 0x0145b5cc, 0x039c9895, 0x00436989, 0x0350218f, 0x00b0fc14, 0x012a43b4, 0x03591f8c, 0x01d95c5c, 0x001e41f1}}, Y: Field{[10]uint32{0x00d6a625, 0x007261d9, 0x005d4c8f, 0x01e163e6, 0x00268883, 0x037bab06, 0x02bca52f, 0x00a86fca, 0x01e1ec06, 0x001b196a}}}, + {X: Field{[10]uint32{0x019d31b1, 0x0252e365, 0x030adfc9, 0x015714d0, 0x02e5bc2c, 0x031a3f3e, 0x0014fe7b, 0x02ef0cd8, 0x02aece11, 0x003310db}}, Y: Field{[10]uint32{0x029706a2, 0x032492fe, 0x02db3a50, 0x00e59b5f, 0x016b2bd5, 0x01814a61, 0x004e6089, 0x02fd9359, 0x01e7d6ff, 0x00058583}}}, + {X: Field{[10]uint32{0x010ec1f0, 0x006d8805, 0x01bea735, 0x002c052b, 0x021b5fb3, 0x008e77e8, 0x0259d556, 0x010806b9, 0x015d278d, 0x0033c08f}}, Y: Field{[10]uint32{0x00990741, 0x00553935, 0x005749e5, 0x02dc15f5, 0x0034c473, 0x015d736d, 0x031c26e7, 0x0301e9b9, 0x0395ffce, 0x0035801c}}}, + {X: Field{[10]uint32{0x03746a21, 0x00104979, 0x0238d71b, 0x015fa01e, 0x0112b6a2, 0x03151ed8, 0x0135b732, 0x03166f53, 0x0093f718, 0x000068a8}}, Y: Field{[10]uint32{0x00fd4c95, 0x024d51e6, 0x03919f8b, 0x02c1760f, 0x0216c0f8, 0x02491e5b, 0x02cadcc3, 0x028e6868, 0x0142652f, 0x00099d2d}}}, + {X: Field{[10]uint32{0x02b799d7, 0x02496dfb, 0x00215fac, 0x031c1aa1, 0x02f712e4, 0x00893feb, 0x018fdff0, 0x02b145d4, 0x002004b8, 0x0014d3b5}}, Y: Field{[10]uint32{0x03d82155, 0x00204636, 0x01439c07, 0x00bf4933, 0x00fa3078, 0x01db7eba, 0x03e497f5, 0x00667ee7, 0x00523ea6, 0x0000d796}}}, + {X: Field{[10]uint32{0x0200d08e, 0x03613052, 0x0138cf11, 0x01ace898, 0x03e9ba64, 0x03d2c115, 0x038ff188, 0x00c2b9b1, 0x00ad9e6f, 0x00234c79}}, Y: Field{[10]uint32{0x01d5feb2, 0x00e6f353, 0x02996478, 0x03352cc3, 0x03e4b0b1, 0x0112caa1, 0x01e36a48, 0x025b04e8, 0x03c19093, 0x003c36fb}}}, + {X: Field{[10]uint32{0x012b3412, 0x0057f48b, 0x0315954c, 0x027e1adc, 0x03c41843, 0x01bfdfdc, 0x02643791, 0x01016afd, 0x00520267, 0x00205d21}}, Y: Field{[10]uint32{0x00f19bbc, 0x03cfd768, 0x02ba7cb3, 0x03f4a02f, 0x029f6f95, 0x02587d6b, 0x00093899, 0x02d42c05, 0x009b0435, 0x0004f448}}}, + {X: Field{[10]uint32{0x0258aaa3, 0x008e11c1, 0x0212a6cc, 0x01c15fbf, 0x02458422, 0x037ce032, 0x024552be, 0x03a21401, 0x0372e604, 0x002f2a1f}}, Y: Field{[10]uint32{0x039e3d0e, 0x03a0aeb7, 0x0184b54e, 0x02355d4b, 0x03af2653, 0x01dae88f, 0x00123c62, 0x01c495cb, 0x02f528b7, 0x003b9422}}}, + {X: Field{[10]uint32{0x03cd3fb2, 0x016460df, 0x03c52e8c, 0x01184903, 0x01d527e5, 0x01b9e32e, 0x000365cd, 0x014bdb03, 0x02a9a196, 0x000378ae}}, Y: Field{[10]uint32{0x02d38905, 0x01deb287, 0x039bd733, 0x01042a73, 0x01865739, 0x01c59cb7, 0x035f2be5, 0x00cbf532, 0x00ef466c, 0x002bad06}}}, + {X: Field{[10]uint32{0x02acca9e, 0x0010e408, 0x01e5ac00, 0x02af1d99, 0x02556f6c, 0x001dc4d7, 0x00a0591c, 0x01e466d5, 0x01e914df, 0x001ee338}}, Y: Field{[10]uint32{0x00b40628, 0x02b96630, 0x007c2fb8, 0x02a7cff7, 0x00d06a96, 0x010ce295, 0x0100b720, 0x02b52430, 0x03f39cd8, 0x0029828f}}}, + {X: Field{[10]uint32{0x00a50e75, 0x0089e6fb, 0x03d1b040, 0x03f69ab0, 0x034d6d44, 0x00175d85, 0x03c80f82, 0x01d10c66, 0x017913fe, 0x00335c70}}, Y: Field{[10]uint32{0x01419064, 0x02fce31c, 0x01211967, 0x00494a2b, 0x01ae3858, 0x03d8ce4a, 0x001d1a93, 0x00e3407c, 0x03bfcf34, 0x0027c79c}}}, + {X: Field{[10]uint32{0x03ca8fe4, 0x0079151c, 0x02444f4f, 0x003845f6, 0x010619b7, 0x00205abc, 0x0236161d, 0x02370d2e, 0x002e32dc, 0x0010b2b4}}, Y: Field{[10]uint32{0x02e75568, 0x00a2a30d, 0x013c6651, 0x01fb7496, 0x0279e59d, 0x038440c6, 0x030823df, 0x0273fe21, 0x01345a25, 0x0025f2c8}}}, + {X: Field{[10]uint32{0x018ff8c7, 0x00f00f2e, 0x021f6d47, 0x015b22e7, 0x03483317, 0x00a877ea, 0x006644a6, 0x014b18a6, 0x01304f06, 0x00262a24}}, Y: Field{[10]uint32{0x01a824e8, 0x0190003a, 0x00733988, 0x02b5ecaa, 0x00b277e0, 0x00d2b521, 0x0249b3e5, 0x01a40e72, 0x02cecc50, 0x00304c3c}}}, + {X: Field{[10]uint32{0x038a4328, 0x00274bb7, 0x0345522c, 0x00a1af5e, 0x00d7a4a1, 0x021100ec, 0x03d39ff2, 0x018aa9ef, 0x00760847, 0x0008f117}}, Y: Field{[10]uint32{0x03303cde, 0x01e5522e, 0x0350af0d, 0x01d3fc30, 0x02d57cb2, 0x02c350f7, 0x0146dc7c, 0x01bd1f0f, 0x031795c4, 0x003d2adc}}}, + {X: Field{[10]uint32{0x0221d856, 0x0313431a, 0x02d343a6, 0x020c4236, 0x019e6a7b, 0x02f4df0d, 0x01416f2d, 0x0313cbd9, 0x0037d584, 0x0022dc00}}, Y: Field{[10]uint32{0x0365ca35, 0x03f1dab0, 0x00c2becd, 0x03d830c9, 0x025a172c, 0x0245a7e6, 0x00e7d866, 0x0019b53a, 0x00039ed0, 0x0020dc7b}}}, + {X: Field{[10]uint32{0x030f8a7b, 0x025f66a8, 0x00596cdb, 0x03a142ba, 0x00004f4a, 0x020fa060, 0x01d78f20, 0x01044728, 0x00a8d0fb, 0x00369859}}, Y: Field{[10]uint32{0x029a342d, 0x02e9208a, 0x0307fc7a, 0x02871e20, 0x011cc0b5, 0x00304440, 0x03caf4e1, 0x013c5e9d, 0x0063717e, 0x0003e6a1}}}, + {X: Field{[10]uint32{0x035fd6b7, 0x00b51f7a, 0x010fa220, 0x038a7980, 0x02c45924, 0x01b6df5f, 0x029b9c20, 0x02953464, 0x0165a9d1, 0x00127cdf}}, Y: Field{[10]uint32{0x006aa51e, 0x01df79da, 0x03a94ca6, 0x0256c6fb, 0x0201e648, 0x00d03050, 0x010dbba9, 0x0098a5ef, 0x038528f6, 0x003e6e6d}}}, + {X: Field{[10]uint32{0x036efa10, 0x03a714f8, 0x037ccb38, 0x00dcc219, 0x0312d808, 0x0286262a, 0x0256b78b, 0x01668006, 0x0088e268, 0x0021d57c}}, Y: Field{[10]uint32{0x02f7e478, 0x037dd7db, 0x029a9de5, 0x02a7cbda, 0x02434906, 0x0157e0fd, 0x01b4768f, 0x01ea2085, 0x013d1eec, 0x001759c0}}}, + {X: Field{[10]uint32{0x0209045c, 0x03fdddf1, 0x00534069, 0x00d2849f, 0x01a4e6d1, 0x028d7820, 0x03550fc5, 0x029b761c, 0x0396b7ab, 0x000d4c85}}, Y: Field{[10]uint32{0x00a1e832, 0x004059fc, 0x028ba6fe, 0x0072d277, 0x03c5c830, 0x03c7844c, 0x017a6804, 0x00fd3bc6, 0x0343efa9, 0x0011ffc3}}}, + {X: Field{[10]uint32{0x012559b3, 0x03a6b398, 0x0342156f, 0x03b37cac, 0x0283479f, 0x00a08ed0, 0x03ab5ea0, 0x034aef9d, 0x012b644b, 0x000eafb7}}, Y: Field{[10]uint32{0x01e32b06, 0x0216c879, 0x0008f179, 0x03e8cc39, 0x0287bbcc, 0x0078cda6, 0x01824ba1, 0x02e0604c, 0x008e6c13, 0x00109a6c}}}, + {X: Field{[10]uint32{0x00956de8, 0x0263ff1f, 0x03f775be, 0x033249e1, 0x03c14b62, 0x038c9df5, 0x003dc530, 0x0118aaa0, 0x02a22c23, 0x0038c044}}, Y: Field{[10]uint32{0x0098da40, 0x02b4da52, 0x0368a8d2, 0x01b761a4, 0x0199d90f, 0x024f9d60, 0x01f4e0ff, 0x003a2dea, 0x03d0dbb1, 0x003431f8}}}, + {X: Field{[10]uint32{0x033cd06b, 0x01cfd6e5, 0x03762f10, 0x01efc274, 0x03bcdf49, 0x02496440, 0x0147f6cb, 0x012d3cc3, 0x0058439c, 0x00018942}}, Y: Field{[10]uint32{0x0075328e, 0x01adc854, 0x0102ecd2, 0x00c0bf32, 0x0387e4c9, 0x02c390e0, 0x004407af, 0x01096156, 0x01e484ce, 0x000d0dfd}}}, + {X: Field{[10]uint32{0x00f826ea, 0x00e6b5a2, 0x0209bdcb, 0x0143ec5b, 0x0366838d, 0x003a4f8f, 0x0104bc39, 0x0133e93a, 0x0085b8c9, 0x001deb51}}, Y: Field{[10]uint32{0x006001d4, 0x02e6efe0, 0x02b736b0, 0x02d5216e, 0x0334c2ec, 0x0143b0f0, 0x03c84447, 0x021e784d, 0x005a9798, 0x00136f14}}}, + {X: Field{[10]uint32{0x02c0b7db, 0x01e4664e, 0x0066cad5, 0x033eb104, 0x003852b8, 0x02a399f9, 0x01ce3377, 0x018076e7, 0x0292e413, 0x0017734f}}, Y: Field{[10]uint32{0x00e997c9, 0x01d532e9, 0x03f85417, 0x034358d9, 0x0336996e, 0x0309e3df, 0x02760ede, 0x02d0e8c1, 0x008135ef, 0x002b3334}}}, + {X: Field{[10]uint32{0x02ff788d, 0x0309fd72, 0x01737fc8, 0x021457d6, 0x01e65ca3, 0x02e4c614, 0x01d2e6b9, 0x00147f10, 0x023badce, 0x000e8999}}, Y: Field{[10]uint32{0x00abc2bb, 0x017e26e4, 0x00113bab, 0x02e0222a, 0x009b9db0, 0x01c9cb2d, 0x030110e0, 0x03611801, 0x02abaf01, 0x000b591f}}}, + {X: Field{[10]uint32{0x00b1aec0, 0x02c025b9, 0x03ac4b8b, 0x00081419, 0x034e3b0f, 0x000900c7, 0x02fe9c2c, 0x0263f1c4, 0x02b951dc, 0x003d5f33}}, Y: Field{[10]uint32{0x03a1ea25, 0x037cc06d, 0x03bca9c4, 0x01b50e29, 0x03ddb2c6, 0x020be67e, 0x03514557, 0x03afb429, 0x03eb7a8a, 0x001a5824}}}, + {X: Field{[10]uint32{0x029b4a0c, 0x022501af, 0x029b0935, 0x00e8b6ee, 0x02df47c8, 0x0123334d, 0x01bd46c9, 0x01b8502f, 0x0378bca0, 0x002a2691}}, Y: Field{[10]uint32{0x02f366cf, 0x03e7a85b, 0x030d1d23, 0x03b7567c, 0x02939d69, 0x039e079b, 0x0398e2e4, 0x0098b48a, 0x01d69d08, 0x003d0893}}}, + {X: Field{[10]uint32{0x00b962a9, 0x00196e04, 0x01d72adf, 0x00bee8a5, 0x036a3be9, 0x03fc129b, 0x0063f4c7, 0x02091cad, 0x038184fe, 0x00191ce0}}, Y: Field{[10]uint32{0x02ce32de, 0x00dc2680, 0x010bbc97, 0x03e8c900, 0x009ba164, 0x01600134, 0x029d58dd, 0x01ba4d3f, 0x00c0d09f, 0x002f3440}}}, + {X: Field{[10]uint32{0x02dc7774, 0x033fea8e, 0x026866c7, 0x0132bf57, 0x02f7bcaa, 0x027e1c9e, 0x00196bad, 0x0078a0b8, 0x02382126, 0x00129a0e}}, Y: Field{[10]uint32{0x014ff3b0, 0x024cde25, 0x00f202cc, 0x01c6c6e5, 0x01913af3, 0x017d03fb, 0x0337f0b1, 0x026a90e6, 0x00d0ec3d, 0x002d6ae9}}}, + {X: Field{[10]uint32{0x035cb3c7, 0x030b96ae, 0x0296f53c, 0x011b9080, 0x0053fee0, 0x023b8585, 0x02cfd9eb, 0x0333510d, 0x016efdae, 0x00040978}}, Y: Field{[10]uint32{0x00c48f3b, 0x0051003c, 0x011c2253, 0x0360ef58, 0x030704e4, 0x023ce3dc, 0x019b8075, 0x024a8f85, 0x016b67ce, 0x003e01ae}}}, + {X: Field{[10]uint32{0x036650d2, 0x038ab1b6, 0x000e4552, 0x02cd6821, 0x0360039c, 0x03d9ddf1, 0x022217b7, 0x014d4dbf, 0x0009675a, 0x00185276}}, Y: Field{[10]uint32{0x01a96ca9, 0x0151416c, 0x03a11681, 0x03ca78e5, 0x02c72f07, 0x0344bde1, 0x009b03fb, 0x0022a93d, 0x036c9a98, 0x00392b98}}}, + {X: Field{[10]uint32{0x03fec47f, 0x00507530, 0x03047d8c, 0x036d3581, 0x032fff3e, 0x02ec0f74, 0x02e83274, 0x020d0953, 0x01124388, 0x0002e890}}, Y: Field{[10]uint32{0x02d5c35e, 0x0190376e, 0x0366d0aa, 0x025e7430, 0x013717e9, 0x034a3228, 0x026a18de, 0x03f374e3, 0x012329c3, 0x00229afc}}}, + {X: Field{[10]uint32{0x0056a961, 0x001a239e, 0x00993219, 0x014252b5, 0x0035c005, 0x00e2bd54, 0x03aa2595, 0x02b1fa76, 0x00963c7c, 0x0030837c}}, Y: Field{[10]uint32{0x0245d40a, 0x0120d7ec, 0x0033bad8, 0x010aba9f, 0x00fb4f2c, 0x0296242e, 0x038dd8d6, 0x01eba616, 0x015d16cf, 0x001247a6}}}, + {X: Field{[10]uint32{0x03af0c50, 0x01912753, 0x032a50c7, 0x022c6d32, 0x01aac9f3, 0x00f74bb0, 0x02f3dcb9, 0x0135cb67, 0x00ca4dbb, 0x001bd4f6}}, Y: Field{[10]uint32{0x027ae24a, 0x0221a1d3, 0x02e12f78, 0x030c9f2b, 0x0077bbec, 0x0219d4f0, 0x0156de24, 0x02fadc90, 0x002df449, 0x0019e128}}}, + {X: Field{[10]uint32{0x037bdda3, 0x005dc49c, 0x006b3513, 0x003e3b2a, 0x036364ae, 0x0211d5fa, 0x008a0461, 0x023d8147, 0x00bd71a0, 0x00395f9e}}, Y: Field{[10]uint32{0x00385342, 0x025db43d, 0x00e8f116, 0x018ca3b0, 0x0231a1d2, 0x029dd553, 0x0116c82d, 0x017d995c, 0x007e8a53, 0x0028188f}}}, + {X: Field{[10]uint32{0x03ab099a, 0x03a5f13d, 0x03fff285, 0x03869b97, 0x037853e8, 0x01f2d4e9, 0x00abd0ea, 0x025aae78, 0x0329aad4, 0x003d4bdb}}, Y: Field{[10]uint32{0x019d55a3, 0x02588115, 0x028e0b71, 0x00706629, 0x01c36151, 0x01bca657, 0x01de4b76, 0x017a062d, 0x01fc6d5c, 0x000f7df0}}}, + {X: Field{[10]uint32{0x02fb0dc3, 0x020da9cf, 0x01fe259f, 0x02362f59, 0x02ec5cf0, 0x00cf6721, 0x0326268b, 0x01b425be, 0x01fb5c0a, 0x00369d3d}}, Y: Field{[10]uint32{0x00a62c47, 0x0281ea52, 0x03f3effe, 0x00c4d508, 0x018d0ea0, 0x00a947b7, 0x031c8164, 0x00a11df8, 0x0189de5e, 0x001f943a}}}, + {X: Field{[10]uint32{0x0051f4ff, 0x00de9938, 0x02ed8a23, 0x00533f4f, 0x0035d144, 0x02a74b7a, 0x0341d359, 0x01485c3c, 0x02a87bd4, 0x000a8b26}}, Y: Field{[10]uint32{0x0248a1ce, 0x01b1bbe5, 0x00bf8a46, 0x00856746, 0x01496882, 0x022bb27e, 0x01fd7e5d, 0x017da280, 0x01eb9933, 0x002fe7bf}}}, + {X: Field{[10]uint32{0x02022266, 0x02b58ca4, 0x0123b492, 0x03bc7aff, 0x037d13bc, 0x001f8b3c, 0x010da7db, 0x014c531b, 0x00b191dc, 0x000a8d10}}, Y: Field{[10]uint32{0x02ae2b40, 0x0398b4f8, 0x02fc6dd1, 0x03c8b0d3, 0x03e4c1e9, 0x021c1e51, 0x02fda24e, 0x028080bc, 0x00f5c993, 0x002f7b09}}}, + {X: Field{[10]uint32{0x010942a2, 0x01004278, 0x0081c287, 0x03ab54f4, 0x000e0acc, 0x01551140, 0x0136e8bd, 0x00dab7eb, 0x01743d1d, 0x0028ea6f}}, Y: Field{[10]uint32{0x00794ca0, 0x02ccd3fb, 0x0016b66d, 0x0013fdd7, 0x022cb711, 0x0286d305, 0x01ab1fce, 0x039f637b, 0x02cff8ca, 0x00330cf7}}}, + {X: Field{[10]uint32{0x00804950, 0x0254f462, 0x0170d308, 0x02b0ac23, 0x0380db7e, 0x01fd361f, 0x03dc7247, 0x03c84824, 0x008f70a2, 0x0016e0f5}}, Y: Field{[10]uint32{0x0248b545, 0x0352c510, 0x039c3030, 0x02d1fb54, 0x01982ecd, 0x0243f313, 0x01368d76, 0x019b0b84, 0x0088a10c, 0x003de301}}}, + {X: Field{[10]uint32{0x03e9736a, 0x0035dec2, 0x02c29414, 0x0258f1bf, 0x02d901ab, 0x021c76e3, 0x039e210a, 0x01288800, 0x02a56e3e, 0x003756d1}}, Y: Field{[10]uint32{0x0021d46b, 0x011f04f5, 0x008ceae6, 0x03be1e61, 0x009e7136, 0x0334d77e, 0x0052268c, 0x0116b0d7, 0x02baebdd, 0x00366ddb}}}, + {X: Field{[10]uint32{0x0361a6d3, 0x031b72cf, 0x00f6462c, 0x007c0de6, 0x03d1ff78, 0x00885025, 0x036bc5b2, 0x01849d88, 0x035a2548, 0x000bdd36}}, Y: Field{[10]uint32{0x03149c1c, 0x020f0254, 0x0248eca9, 0x011eb224, 0x03646471, 0x00c0536c, 0x01b868ea, 0x01b4bea4, 0x01ed256f, 0x002db58d}}}, + {X: Field{[10]uint32{0x03ab2e09, 0x016377c8, 0x030bec50, 0x009b7f92, 0x02119bff, 0x0378722e, 0x0240b8bf, 0x024e6961, 0x00c41f7c, 0x000cab70}}, Y: Field{[10]uint32{0x0146ae3f, 0x02ec374e, 0x0229366b, 0x020ce8d6, 0x0340beed, 0x02807645, 0x017772d2, 0x02ca5f5f, 0x02487f0b, 0x0033cc5c}}}, + {X: Field{[10]uint32{0x03c6cdce, 0x027cc061, 0x02ae936f, 0x02d6172c, 0x014e336c, 0x01d301fb, 0x02a152ed, 0x00b6a09c, 0x00a70017, 0x0013f94f}}, Y: Field{[10]uint32{0x01e3a8ce, 0x011ba620, 0x0084327e, 0x01c162e1, 0x02baf428, 0x00595e31, 0x00c29869, 0x00705887, 0x01c4bd71, 0x00207db4}}}, + {X: Field{[10]uint32{0x03b2569f, 0x02152367, 0x018ae63f, 0x001974f9, 0x023b08dc, 0x0137fb66, 0x02f316eb, 0x028a99c0, 0x00f5577f, 0x0018064d}}, Y: Field{[10]uint32{0x00f714cc, 0x001d340c, 0x03954362, 0x0243dab3, 0x0255e196, 0x00ec7c77, 0x0396f689, 0x03f5fed7, 0x00824360, 0x001b7df6}}}, + {X: Field{[10]uint32{0x0279d321, 0x00f03dea, 0x03129817, 0x0319e7e8, 0x03e1bec3, 0x03a7768b, 0x0092ee52, 0x0201b191, 0x03088ff4, 0x0001e769}}, Y: Field{[10]uint32{0x017f9a47, 0x02afa2c0, 0x0047ff90, 0x012ec382, 0x0344be73, 0x0348156b, 0x0167e8ab, 0x022128d4, 0x022976f2, 0x000ac7b2}}}, + {X: Field{[10]uint32{0x01262974, 0x0227739e, 0x011867e5, 0x032360e6, 0x015b8d4f, 0x02a2fda4, 0x0208b51c, 0x00a672f0, 0x0209c39f, 0x00180ae0}}, Y: Field{[10]uint32{0x027f5555, 0x03367695, 0x035f2267, 0x0016be43, 0x00a5ed1f, 0x01e46976, 0x02c43f94, 0x032a0daa, 0x00da05d7, 0x0003e2db}}}, + {X: Field{[10]uint32{0x020e53d1, 0x0144547f, 0x00232752, 0x001703e8, 0x010ff14c, 0x01399920, 0x02991e48, 0x0229b55c, 0x0368868a, 0x0015e93c}}, Y: Field{[10]uint32{0x023a0c6d, 0x03e95e04, 0x01a9efa1, 0x028ea8f9, 0x0353d52e, 0x03a593cb, 0x00e17869, 0x026e0cda, 0x007c5bc2, 0x00035b32}}}, + {X: Field{[10]uint32{0x0206db2a, 0x0122de1a, 0x02b54435, 0x00f96f4c, 0x02459906, 0x02c04b35, 0x004c5ae2, 0x03c441c3, 0x00f0ae9d, 0x0013e6d2}}, Y: Field{[10]uint32{0x015ea016, 0x03b7b5f7, 0x02a157bd, 0x0086fc62, 0x02980cd6, 0x01bf90ab, 0x03563ebf, 0x031e3d9b, 0x00fe3caf, 0x003569e8}}}, + {X: Field{[10]uint32{0x005e7375, 0x014ed7db, 0x007085a0, 0x02b4d778, 0x01e1910a, 0x022ed98f, 0x02615893, 0x00d27d11, 0x03084b11, 0x00391a94}}, Y: Field{[10]uint32{0x01183ce9, 0x029f4cb8, 0x03c479e1, 0x00afe9af, 0x02cb8c3d, 0x03c1eb38, 0x03923be9, 0x018cb7ef, 0x02889583, 0x003691b6}}}, + {X: Field{[10]uint32{0x01c071ea, 0x022e5880, 0x0267415c, 0x0358ad82, 0x00d62f2a, 0x03249410, 0x03e64de3, 0x005878c8, 0x0366b94b, 0x000d90f5}}, Y: Field{[10]uint32{0x0316fa98, 0x03c6d6e7, 0x01a967af, 0x013e0f4d, 0x0080835d, 0x00083db5, 0x029dcffa, 0x0278176c, 0x02f11f2b, 0x003ebda6}}}, + {X: Field{[10]uint32{0x03497dca, 0x03c6c6ef, 0x01478f6f, 0x01edfe8c, 0x00e6bea5, 0x01138177, 0x03e1b485, 0x0185486e, 0x02940c02, 0x00259da5}}, Y: Field{[10]uint32{0x03e30b03, 0x0209c0ac, 0x0293c407, 0x004b1d64, 0x038210fd, 0x0365f023, 0x033b033b, 0x02b85259, 0x02fd7d0d, 0x0013ad69}}}, + {X: Field{[10]uint32{0x01a24d07, 0x019f9996, 0x00ef65c8, 0x029bd04d, 0x007f80fd, 0x0104438a, 0x03e0ff4b, 0x0264c626, 0x01ef2c47, 0x0000b907}}, Y: Field{[10]uint32{0x0074c313, 0x0214c772, 0x01f52015, 0x03045d10, 0x0269bde3, 0x015bfece, 0x03a1f50e, 0x022c4a8e, 0x017bb838, 0x0009a853}}}, + {X: Field{[10]uint32{0x0003c29b, 0x00a1316b, 0x0037db7f, 0x03c2152a, 0x00db94cb, 0x007ad8f9, 0x004fbf77, 0x03f83a69, 0x001af6ea, 0x003ce765}}, Y: Field{[10]uint32{0x00bd7b73, 0x018b9ce3, 0x00183d8b, 0x00d300ec, 0x0072cd59, 0x001f812c, 0x001f8b55, 0x01344889, 0x03700dac, 0x0007ffb5}}}, + {X: Field{[10]uint32{0x00136419, 0x01d91254, 0x03d1c595, 0x0114a005, 0x011cdac0, 0x00b64189, 0x011f8dcc, 0x02fba824, 0x01344576, 0x00242403}}, Y: Field{[10]uint32{0x00161ad6, 0x00255a92, 0x01666b0c, 0x039bacd3, 0x001457ce, 0x028acb17, 0x00444980, 0x02040b68, 0x03bb2a33, 0x001834e2}}}, + {X: Field{[10]uint32{0x00ac2e06, 0x006944f6, 0x0109ee3e, 0x038e5ed9, 0x0244a523, 0x0074ade0, 0x0344226f, 0x03d298b9, 0x02271007, 0x000e9791}}, Y: Field{[10]uint32{0x00202449, 0x0089aeba, 0x01d90f75, 0x03f95ede, 0x010bcdfc, 0x029057cd, 0x016dee2f, 0x03f0fc09, 0x03c1074c, 0x00143c07}}}, + {X: Field{[10]uint32{0x03e24355, 0x02db0fc4, 0x02b87a06, 0x0162a3c3, 0x02b13ac2, 0x01bdb91a, 0x025492ef, 0x0047907a, 0x0256f6d7, 0x003d9ba8}}, Y: Field{[10]uint32{0x02243841, 0x0000c1c9, 0x010b57fa, 0x0281bcff, 0x028f32a2, 0x0303db4a, 0x02c24014, 0x03a9b21f, 0x00470980, 0x003ee287}}}, + {X: Field{[10]uint32{0x03038fa0, 0x009602f4, 0x022a85c6, 0x0216accd, 0x00c946a4, 0x031d0db4, 0x036d4ed6, 0x01b333ee, 0x012019a1, 0x0032b681}}, Y: Field{[10]uint32{0x03d32ae6, 0x03cb4841, 0x032032b5, 0x01c42bc3, 0x03421de9, 0x006b9ce4, 0x03069639, 0x010c92b1, 0x000a3480, 0x00389265}}}, + {X: Field{[10]uint32{0x03759cf1, 0x039d7eb2, 0x037122c4, 0x004d70b6, 0x02ce2084, 0x03760c2c, 0x03d51929, 0x01ca565a, 0x035e820b, 0x00345bd6}}, Y: Field{[10]uint32{0x02448ed8, 0x038de11a, 0x0349ce61, 0x021788a1, 0x036ecdd5, 0x01781451, 0x01363807, 0x02f35f77, 0x0084cfbe, 0x001c3b6c}}}, + {X: Field{[10]uint32{0x01f71535, 0x01444d35, 0x009a4847, 0x03275365, 0x013dc31a, 0x03199bcc, 0x02e51498, 0x02b8372d, 0x028ddc6b, 0x002ef333}}, Y: Field{[10]uint32{0x03f91eed, 0x03396b48, 0x03a6ea23, 0x01a02627, 0x01c8941f, 0x0239eefd, 0x031b4796, 0x024af949, 0x02fc63ff, 0x001369dc}}}, + {X: Field{[10]uint32{0x014243fe, 0x001854bb, 0x032915f6, 0x03e3a0da, 0x02e7d5d2, 0x01a087ae, 0x01e940d0, 0x01d710c9, 0x00f5cd8b, 0x001457ca}}, Y: Field{[10]uint32{0x03668b47, 0x00bc7118, 0x032a24ba, 0x0209bdf6, 0x00e1855a, 0x0208a496, 0x0209f466, 0x02e3f852, 0x03ccf5d2, 0x00284c50}}}, + {X: Field{[10]uint32{0x01233837, 0x03b61148, 0x03f79df6, 0x02d6e3f5, 0x0068d356, 0x034e049e, 0x011ed6f9, 0x0118b61a, 0x02aea78c, 0x002f4bd1}}, Y: Field{[10]uint32{0x01c4af11, 0x02f5f21e, 0x00324b92, 0x02b98aae, 0x0284ddd9, 0x035f5bf8, 0x0332f70e, 0x0200fdfa, 0x02d3f3cc, 0x0023d917}}}, + {X: Field{[10]uint32{0x01e37dfa, 0x01f5977e, 0x0313347d, 0x034e4b83, 0x0004f8d7, 0x00046914, 0x0210b512, 0x008489a7, 0x013cc3d3, 0x00215dbc}}, Y: Field{[10]uint32{0x028b1a4f, 0x027640fd, 0x021958d1, 0x00a116d9, 0x0386ff90, 0x027bb7a2, 0x009eb8c1, 0x0384c48c, 0x00483fa0, 0x003eefc8}}}, + {X: Field{[10]uint32{0x0309db4a, 0x02327ce0, 0x0341a23b, 0x03cb4c73, 0x01763a83, 0x03c8d87f, 0x03f262ab, 0x01391f5c, 0x02918fdf, 0x001c2f87}}, Y: Field{[10]uint32{0x028bc573, 0x00fdc210, 0x0318829f, 0x032770fb, 0x03a1897a, 0x0224a50e, 0x013fa488, 0x01bbd030, 0x0175e424, 0x0020be01}}}, + {X: Field{[10]uint32{0x0341180f, 0x0193a452, 0x02361c80, 0x026848c4, 0x01017352, 0x028d4ebe, 0x0354a461, 0x01ad4e6f, 0x013d1d58, 0x002ee282}}, Y: Field{[10]uint32{0x03478269, 0x00d3616b, 0x0165e723, 0x01034887, 0x02287075, 0x033d779f, 0x028d66bc, 0x02894735, 0x02d78456, 0x00118383}}}, + {X: Field{[10]uint32{0x005c2e69, 0x0128492f, 0x018606dc, 0x0211d530, 0x027b976a, 0x001c7e87, 0x03306287, 0x006533d2, 0x024f34d9, 0x001e05eb}}, Y: Field{[10]uint32{0x00d55cbc, 0x02f9774b, 0x02d7b481, 0x00303e12, 0x006afe1c, 0x013e2cd0, 0x02ed346e, 0x02c6d6f1, 0x0056c4e3, 0x00097d3b}}}, + {X: Field{[10]uint32{0x0366abcc, 0x03fb446f, 0x009a5bcc, 0x03c49cd3, 0x03e72af5, 0x00396ed7, 0x02ed8e2a, 0x0167e9bf, 0x00dc411f, 0x002171d8}}, Y: Field{[10]uint32{0x03cb8cc4, 0x019ac9b2, 0x028ad106, 0x00399403, 0x0389a891, 0x00e99f96, 0x00f12482, 0x0271c6fc, 0x01b0b57c, 0x0024960f}}}, + {X: Field{[10]uint32{0x015086c3, 0x0206af17, 0x0179ad4c, 0x008d1faa, 0x03d9ee71, 0x0079cdde, 0x00739e3b, 0x01d8bfcb, 0x01354d9d, 0x00083603}}, Y: Field{[10]uint32{0x02f0efe5, 0x01077dd8, 0x01cf7489, 0x01ac6c89, 0x010ef6ed, 0x03c4d46d, 0x0123b7f1, 0x0299d7a0, 0x017b8017, 0x001b8647}}}, + {X: Field{[10]uint32{0x01ba5657, 0x0370f83f, 0x00fde086, 0x03f25c24, 0x00ec26ce, 0x004a2601, 0x036d9c8d, 0x0312c197, 0x022d43f2, 0x000cc1a4}}, Y: Field{[10]uint32{0x03c7efc4, 0x01970c04, 0x00d881b8, 0x01067e1f, 0x0186f0e9, 0x02871019, 0x039f76ef, 0x035eb1c1, 0x009fc93d, 0x00262a33}}}, + {X: Field{[10]uint32{0x032fb001, 0x0379b1ce, 0x01fc18ac, 0x02b02c21, 0x018a1b9a, 0x02488da0, 0x00f77033, 0x01fc4910, 0x019754d3, 0x002cd71d}}, Y: Field{[10]uint32{0x03cd649d, 0x03dadd44, 0x01660a7a, 0x02d1be4f, 0x022ea789, 0x037d65a3, 0x0058ffb0, 0x02121657, 0x039069b0, 0x00001212}}}, + {X: Field{[10]uint32{0x034e1f33, 0x03c25d51, 0x0158786e, 0x03e3a43f, 0x0205c647, 0x01648ac6, 0x009d0104, 0x030c0db3, 0x03537f8b, 0x0026f506}}, Y: Field{[10]uint32{0x030274ac, 0x0340ef2f, 0x013aec25, 0x01da3480, 0x018b8667, 0x03fce269, 0x0086bfe1, 0x03849769, 0x03f655ec, 0x001642be}}}, + {X: Field{[10]uint32{0x001ded42, 0x023c5815, 0x0020e527, 0x00e9cd65, 0x036950d9, 0x00e38372, 0x0289703a, 0x02bbc2f3, 0x032ca9b3, 0x000a8e99}}, Y: Field{[10]uint32{0x02693d8e, 0x03cee270, 0x02a5fc6a, 0x0033e22b, 0x02c95f85, 0x02d8aeac, 0x008ebef6, 0x00e0f6e4, 0x00b613f3, 0x00130ea5}}}, + {X: Field{[10]uint32{0x00f74d3d, 0x0250e096, 0x01bf6937, 0x017c5b71, 0x00c8db94, 0x014e01b7, 0x01f38003, 0x0253e353, 0x02f20a2d, 0x000c6e9a}}, Y: Field{[10]uint32{0x0329df5a, 0x008e3308, 0x03f4a236, 0x020b1509, 0x01fc1e6a, 0x0180d131, 0x01d915ef, 0x03ac72e9, 0x0102b290, 0x002b4677}}}, + {X: Field{[10]uint32{0x00869720, 0x004a54af, 0x01bb05bb, 0x0147a712, 0x00587c02, 0x02fd12a6, 0x030f9b8e, 0x0053c177, 0x01bd74b0, 0x003e8866}}, Y: Field{[10]uint32{0x0163f45e, 0x00b484ec, 0x0231a66d, 0x03bac7d5, 0x03041ab6, 0x018387a6, 0x035c4838, 0x03d7d2c3, 0x017d6efd, 0x0010ca24}}}, + {X: Field{[10]uint32{0x03e22d52, 0x011a6a62, 0x0199f30a, 0x000b8eff, 0x0108aaac, 0x024aad8f, 0x00f28476, 0x00f03d73, 0x0046c7f5, 0x00105ee4}}, Y: Field{[10]uint32{0x023b82c0, 0x0175a921, 0x008e0d49, 0x02a0ef6c, 0x007aede9, 0x005c1b80, 0x036eae69, 0x025e237f, 0x02655f30, 0x001e3057}}}, + {X: Field{[10]uint32{0x0318bc2a, 0x0390f55b, 0x00964f33, 0x026005c5, 0x026158f4, 0x01e9a7fe, 0x00e6eca6, 0x007f6228, 0x01f247d5, 0x0015ab24}}, Y: Field{[10]uint32{0x010680c7, 0x02c699b7, 0x02740c54, 0x02b89b9e, 0x00429bee, 0x01ee0719, 0x03c518b3, 0x00692dc5, 0x015c9e1b, 0x000d46df}}}, + {X: Field{[10]uint32{0x03215f8a, 0x001f594d, 0x00250685, 0x01c04324, 0x01e164ae, 0x002eafb2, 0x02d835aa, 0x01fbcc54, 0x02f88330, 0x002bae8c}}, Y: Field{[10]uint32{0x002c4e21, 0x038aba16, 0x0040fdcd, 0x031a9073, 0x037ce7e3, 0x0333be10, 0x03165577, 0x017cb9bf, 0x013935cf, 0x00235d1f}}}, + {X: Field{[10]uint32{0x01db5813, 0x035a0748, 0x03e63d47, 0x03ac3936, 0x0379ee10, 0x015bb411, 0x03d6bcc2, 0x00325da4, 0x02199af0, 0x0010b1ec}}, Y: Field{[10]uint32{0x0219378f, 0x012196ec, 0x03c75c3c, 0x01747f3d, 0x02a5fd87, 0x0225610c, 0x0244a4df, 0x031f2cb3, 0x03081fb1, 0x002857ed}}}, + {X: Field{[10]uint32{0x024e5d98, 0x02845b68, 0x01e2c36c, 0x0288270e, 0x0225e0db, 0x006f357f, 0x03fe19d0, 0x0196a222, 0x0297ecf3, 0x0010cdec}}, Y: Field{[10]uint32{0x0242b7ad, 0x01056ec8, 0x01722915, 0x022f2736, 0x0328d1ef, 0x0381b6dc, 0x00833485, 0x007b6f2f, 0x03abc654, 0x001271c8}}}, + {X: Field{[10]uint32{0x03f857bf, 0x0066876d, 0x02f84a25, 0x00949f93, 0x00aeefbf, 0x02e12c94, 0x028af0ce, 0x024cb3a5, 0x00761481, 0x00062663}}, Y: Field{[10]uint32{0x02c97fa2, 0x03204a09, 0x01ba39b7, 0x015342fe, 0x00911330, 0x03cca274, 0x02c9ae77, 0x02110d72, 0x00856451, 0x001157af}}}, + {X: Field{[10]uint32{0x02a49b2b, 0x02e256c1, 0x0188e69c, 0x01907995, 0x0387767b, 0x02ff62d3, 0x010516f1, 0x015ca816, 0x0320fa24, 0x001931d8}}, Y: Field{[10]uint32{0x00b9603f, 0x03fa33dd, 0x01395d39, 0x022a1e67, 0x0178366c, 0x01a097b0, 0x03ae76f8, 0x01425680, 0x02a5c479, 0x00028e68}}}, + {X: Field{[10]uint32{0x012b0ad7, 0x034efd20, 0x004e1ebb, 0x028ceced, 0x02dea917, 0x031bc4a9, 0x03a5f2d3, 0x02e1f296, 0x0005e35e, 0x0010595d}}, Y: Field{[10]uint32{0x01ff815d, 0x02375be5, 0x034916b6, 0x0170825a, 0x034d0ed7, 0x02b732d4, 0x037fe787, 0x0114ad15, 0x01ae36f1, 0x0023885a}}}, + {X: Field{[10]uint32{0x00391f6e, 0x01b8c370, 0x00cb68b7, 0x00440b04, 0x017bfd4a, 0x03d298c5, 0x02110c80, 0x012e245b, 0x03a3768a, 0x002a8803}}, Y: Field{[10]uint32{0x0184695b, 0x00d4d3a9, 0x02fde7fb, 0x0351a416, 0x00c49b79, 0x01f4662a, 0x02c898bd, 0x0055577f, 0x015928b2, 0x00159ef6}}}, + {X: Field{[10]uint32{0x03131599, 0x03e6ee9d, 0x00966555, 0x035a7961, 0x03eb529b, 0x02327188, 0x003ba48c, 0x00bd52e1, 0x0328841d, 0x001ea9e0}}, Y: Field{[10]uint32{0x01f698ed, 0x0112bcda, 0x003ba1bb, 0x0118a696, 0x01327112, 0x0138bdbc, 0x01a7e7a6, 0x011e2c93, 0x0315e4b8, 0x001ad289}}}, + {X: Field{[10]uint32{0x016969a1, 0x00d11d4e, 0x01fdfdae, 0x013d92ef, 0x0248446b, 0x01e3eeef, 0x019234fc, 0x019ffc11, 0x03bd6a27, 0x00252c69}}, Y: Field{[10]uint32{0x011cc33d, 0x03a233e6, 0x0054fdf1, 0x01e3a2e2, 0x02e77e21, 0x02e6a907, 0x029320a8, 0x02a1c774, 0x01ef2273, 0x0023cc19}}}, + {X: Field{[10]uint32{0x0126573a, 0x036633b5, 0x0071035f, 0x01c4de8d, 0x005407df, 0x01a07830, 0x00c8cb27, 0x03afd4a5, 0x03a71bfe, 0x001ae55e}}, Y: Field{[10]uint32{0x022724a0, 0x03f6e21e, 0x037f4583, 0x003b0297, 0x0235c6df, 0x03bed424, 0x01cd4ff6, 0x0214f179, 0x008d3fc1, 0x0019f920}}}, + {X: Field{[10]uint32{0x03717f7f, 0x029a4590, 0x01cb2b8a, 0x02da02f6, 0x03f9a6df, 0x02c7f2ca, 0x0293892a, 0x010400ef, 0x03300ea3, 0x0022c9d0}}, Y: Field{[10]uint32{0x0198db90, 0x02bebc5e, 0x00da3c99, 0x02a82727, 0x014ed141, 0x0271c4e2, 0x027f8284, 0x01620f98, 0x02bb7785, 0x00153e8a}}}, + {X: Field{[10]uint32{0x0358db05, 0x0117899e, 0x012e75d1, 0x01c92668, 0x033b6863, 0x01eb1997, 0x01274de7, 0x008ce524, 0x039b6736, 0x0034fd93}}, Y: Field{[10]uint32{0x01a52449, 0x00a81432, 0x0310e5c8, 0x01410060, 0x009bea58, 0x02267eaa, 0x01284f43, 0x0057d051, 0x02c852bd, 0x00301845}}}, + {X: Field{[10]uint32{0x0237ba79, 0x03ad557c, 0x00d4bc4a, 0x007a006d, 0x02870d07, 0x0243de57, 0x03b92803, 0x010ca406, 0x02f8ce0e, 0x00066249}}, Y: Field{[10]uint32{0x02b3d34e, 0x00fc81b4, 0x01d76a83, 0x03411523, 0x035d6c10, 0x00373c43, 0x027658fa, 0x001f9d78, 0x03d95b8d, 0x001d8496}}}, + {X: Field{[10]uint32{0x0301a13f, 0x032962f3, 0x003099ad, 0x03f1be1e, 0x00ee4358, 0x03770961, 0x0346cfb6, 0x014be0e5, 0x014d5951, 0x000006ef}}, Y: Field{[10]uint32{0x038d7733, 0x01fa7f37, 0x016e0b58, 0x03f13c21, 0x03ebdc70, 0x03797af7, 0x003cdfe3, 0x0317a9c2, 0x00deccea, 0x00063d4d}}}, + {X: Field{[10]uint32{0x01a3132a, 0x00b89d7d, 0x0398c131, 0x01fc876c, 0x03005245, 0x008089a4, 0x00b551f5, 0x0249c8df, 0x0345b263, 0x00221cdf}}, Y: Field{[10]uint32{0x00c496ed, 0x0285e778, 0x020290b2, 0x03fb256a, 0x02e3e61c, 0x006e8317, 0x01a7b222, 0x0387a12c, 0x032c2895, 0x001e6959}}}, + {X: Field{[10]uint32{0x00cb1e83, 0x03852ff3, 0x02252004, 0x01f91b9e, 0x012d6849, 0x03f873ea, 0x00ca35e8, 0x01ddccd3, 0x018b1f27, 0x0032fcf8}}, Y: Field{[10]uint32{0x02bc3f99, 0x03d72521, 0x029a401f, 0x01c249ae, 0x007b91f7, 0x03c91d23, 0x01d242a5, 0x0115b0f2, 0x039565bd, 0x0036c030}}}, + {X: Field{[10]uint32{0x03022f70, 0x00699071, 0x0093c40b, 0x00809c82, 0x008ab65b, 0x00aa4ea6, 0x01c88467, 0x03beb97e, 0x030cf186, 0x00201c3b}}, Y: Field{[10]uint32{0x027bd9e5, 0x02762044, 0x018caa24, 0x014e9d17, 0x00cc85c8, 0x021ff60e, 0x0024cf5a, 0x01a8151a, 0x01b04694, 0x0036a601}}}, + {X: Field{[10]uint32{0x03f71eab, 0x021a6030, 0x03e21902, 0x02d88490, 0x035c57dc, 0x022dbf88, 0x00c50640, 0x0176efa1, 0x004b8fa4, 0x002b2be6}}, Y: Field{[10]uint32{0x00eb278e, 0x02cef44b, 0x010b5d1d, 0x0077c5f7, 0x03801b8c, 0x02eb8a41, 0x004dfb0b, 0x03e8bbc5, 0x00168259, 0x0011bd3b}}}, + {X: Field{[10]uint32{0x03fdc965, 0x036a5c7e, 0x000994ee, 0x01494a91, 0x01e89162, 0x015f8f49, 0x01e8a32a, 0x03b3a9cd, 0x020591f9, 0x0000a24e}}, Y: Field{[10]uint32{0x03cfbb6a, 0x02c5681e, 0x012a18c3, 0x03082abc, 0x01372aa6, 0x03edf495, 0x02b5186e, 0x02c48c04, 0x014191e4, 0x001ba8a6}}}, + {X: Field{[10]uint32{0x02be951d, 0x016d9130, 0x01b39dc0, 0x002963c4, 0x00cfccab, 0x03b44b7c, 0x0126e285, 0x032d8272, 0x023168f0, 0x001925d1}}, Y: Field{[10]uint32{0x01eafb7c, 0x0012268c, 0x03406016, 0x02a705e2, 0x03d432b5, 0x03c94271, 0x004bb219, 0x0217890d, 0x001b2fa8, 0x003a9d06}}}, + {X: Field{[10]uint32{0x021faeef, 0x03c3a22e, 0x006e2d1b, 0x007174ea, 0x01091862, 0x0260440e, 0x014f7c20, 0x025322cb, 0x003e5133, 0x002e4e11}}, Y: Field{[10]uint32{0x0353fc85, 0x021f6bf0, 0x01be0963, 0x03226d9a, 0x00c52473, 0x017fe505, 0x0384f384, 0x02190941, 0x02a8c7d9, 0x002bd1fc}}}, + {X: Field{[10]uint32{0x012a5320, 0x01b6b167, 0x03b8d42f, 0x02333da6, 0x0124f475, 0x01d8d1ae, 0x00fd4a78, 0x03d43a7e, 0x0245ad10, 0x002f47b8}}, Y: Field{[10]uint32{0x00039605, 0x021cd238, 0x01518af7, 0x010d92ce, 0x00134ce4, 0x013ffa4b, 0x02477ac7, 0x02235709, 0x023e069d, 0x001ddb8b}}}, + {X: Field{[10]uint32{0x0260650f, 0x0277d0f1, 0x006a97d4, 0x00819e92, 0x036d8e13, 0x009e763e, 0x027dc054, 0x02157c5f, 0x0068805e, 0x00032dfb}}, Y: Field{[10]uint32{0x029e903c, 0x0393f608, 0x01b5a91c, 0x00e5b496, 0x01b12d73, 0x01c5497f, 0x03302eb0, 0x01040c47, 0x00b284c0, 0x003d41e4}}}, + {X: Field{[10]uint32{0x0330cf83, 0x004846ea, 0x02a15e1c, 0x0057ef78, 0x031968c6, 0x03213369, 0x0222a1c7, 0x02ed68a7, 0x037e0aff, 0x003bc1f3}}, Y: Field{[10]uint32{0x00ef574f, 0x0310971c, 0x01979815, 0x01789616, 0x002ca556, 0x013203cb, 0x03fc2fee, 0x00c35040, 0x02c94226, 0x00263d29}}}, + {X: Field{[10]uint32{0x027b8fc6, 0x0309ab4f, 0x027814ee, 0x01902189, 0x0113dc50, 0x0045003c, 0x00e4ca0d, 0x03316733, 0x01484d7f, 0x0013ff06}}, Y: Field{[10]uint32{0x03b75aa9, 0x013961df, 0x0266961b, 0x038e4dfb, 0x02d94b65, 0x03721fc4, 0x01ac1075, 0x00f60f2d, 0x020798ff, 0x002fa7af}}}, + {X: Field{[10]uint32{0x01d18396, 0x035a2f18, 0x01b63b4e, 0x01acb693, 0x00fad1ad, 0x0318dc6c, 0x00df0efa, 0x03524ee3, 0x0373339e, 0x0032f754}}, Y: Field{[10]uint32{0x02bdb13f, 0x02fe86b5, 0x025fac77, 0x035f200f, 0x003784a7, 0x01c2704c, 0x0138b6ff, 0x00b51c7d, 0x0087c321, 0x00149f79}}}, + {X: Field{[10]uint32{0x027cb5d2, 0x01efd6f1, 0x01fed65e, 0x02838c0d, 0x014e650a, 0x03800fe6, 0x03f6b065, 0x035fa76d, 0x032bd8a1, 0x003a80d6}}, Y: Field{[10]uint32{0x003761c4, 0x01918223, 0x00edddbc, 0x0258a8ec, 0x032cd57e, 0x03fa071a, 0x0372e91a, 0x03d22219, 0x03702219, 0x002bb2d0}}}, + {X: Field{[10]uint32{0x01f8db89, 0x02a3bd66, 0x010cd99b, 0x03da407b, 0x02911648, 0x00b50ff6, 0x029dda6b, 0x00902b5b, 0x03d6c1d6, 0x00378693}}, Y: Field{[10]uint32{0x004da03e, 0x0088faa2, 0x012cd3a4, 0x02c4150b, 0x02f85f90, 0x01c78b98, 0x00a60853, 0x03fd0747, 0x00d161c0, 0x003bff25}}}, + {X: Field{[10]uint32{0x02a076ed, 0x033d6df9, 0x037f0e58, 0x022bc03e, 0x00d75e11, 0x02f3ffaf, 0x02157878, 0x01fb5b84, 0x0141e8d8, 0x000b9910}}, Y: Field{[10]uint32{0x0334b8d2, 0x03a03ff2, 0x005b7320, 0x0037d97e, 0x02b45c24, 0x009b48b0, 0x00a70110, 0x018b61ae, 0x00ddf2ba, 0x0012aa16}}}, + {X: Field{[10]uint32{0x01b73a33, 0x0220ecdc, 0x01c3e956, 0x01e4b49d, 0x0247ff88, 0x023cb4a3, 0x03b78ad0, 0x02e1e243, 0x006a90d6, 0x000e110e}}, Y: Field{[10]uint32{0x0365cd18, 0x03f51d2c, 0x0157c714, 0x015fc5f3, 0x01ff2845, 0x032a3ba2, 0x036bde12, 0x012701d7, 0x03121a81, 0x003dfd77}}}, + {X: Field{[10]uint32{0x00358e42, 0x03a5bc1d, 0x03ae8ff7, 0x0382eacb, 0x01bde185, 0x02ba080f, 0x0218cd89, 0x034d88ad, 0x03321b91, 0x00387fa6}}, Y: Field{[10]uint32{0x01f3e1c4, 0x00ded2b7, 0x021d5f85, 0x0192b2ae, 0x02cef4f0, 0x00afca9d, 0x01eff10f, 0x004cba89, 0x02901797, 0x0031643f}}}, + {X: Field{[10]uint32{0x027a3c0b, 0x01c9f12c, 0x00a499cc, 0x03b68782, 0x00aefbbd, 0x016262bc, 0x020144d4, 0x036086da, 0x00da2f57, 0x00158280}}, Y: Field{[10]uint32{0x0395e208, 0x00044ab9, 0x02eaaa8b, 0x018d36ef, 0x025db86d, 0x020ec54b, 0x00b79ff9, 0x004ddcef, 0x024e39db, 0x001921d3}}}, + {X: Field{[10]uint32{0x0379094d, 0x02ecbcbc, 0x011dce5c, 0x0076f433, 0x001afe9b, 0x015b8a05, 0x03164248, 0x0378ab06, 0x03a77ec8, 0x0027ccfe}}, Y: Field{[10]uint32{0x02fe94b0, 0x02c2a709, 0x0384892f, 0x0366fff8, 0x01d972ab, 0x0177b358, 0x0034f19b, 0x038a9c98, 0x00d81838, 0x0025f2e3}}}, + {X: Field{[10]uint32{0x02d7a1b9, 0x01411f9c, 0x01226da7, 0x014f81a8, 0x01e46ee2, 0x02833ec5, 0x039da042, 0x01d44923, 0x03a82405, 0x0026208b}}, Y: Field{[10]uint32{0x02b19285, 0x00f7c53f, 0x00cc2a55, 0x013339f1, 0x03db975d, 0x03e5643c, 0x01475611, 0x0152b369, 0x023507bc, 0x000fa7ba}}}, + {X: Field{[10]uint32{0x001dbd88, 0x021a81ab, 0x0307cc40, 0x0179f885, 0x03bc7287, 0x00bc3e12, 0x01883273, 0x01c9a1ab, 0x01ac4b75, 0x002e0534}}, Y: Field{[10]uint32{0x00f18a98, 0x0114a640, 0x01c36cf1, 0x03fc635a, 0x00c03462, 0x0129ee2a, 0x01b8ab3c, 0x02848900, 0x00883749, 0x002d8d91}}}, + {X: Field{[10]uint32{0x01043e97, 0x00f068af, 0x00cd8623, 0x010a170a, 0x03b39cf8, 0x03b677f3, 0x039f7b7e, 0x0044f334, 0x00c41e42, 0x00091921}}, Y: Field{[10]uint32{0x039552d3, 0x01fd743a, 0x00502387, 0x03ad1294, 0x0280f431, 0x0342dd79, 0x01d36f79, 0x02f76010, 0x01b02e31, 0x003cd409}}}, + {X: Field{[10]uint32{0x0351db91, 0x02bee63f, 0x0358e847, 0x00902474, 0x03bbe8c5, 0x00a13930, 0x03fff0e4, 0x02cbb361, 0x03657b41, 0x0027ccc0}}, Y: Field{[10]uint32{0x02d5e70d, 0x03d0cddc, 0x03dad317, 0x0305d584, 0x01adf519, 0x013df339, 0x0176a43d, 0x0221c378, 0x03cb221c, 0x0012e69e}}}, + {X: Field{[10]uint32{0x01529d25, 0x02e6f2a7, 0x0161c225, 0x01452c58, 0x02b0e719, 0x03d69370, 0x035623a8, 0x010cf017, 0x029b3c75, 0x0030b9e3}}, Y: Field{[10]uint32{0x039079bb, 0x02228f2a, 0x001b9505, 0x00ab5891, 0x03e79436, 0x02c928b8, 0x0387b209, 0x01db2b18, 0x00f19383, 0x00079d72}}}, + {X: Field{[10]uint32{0x03695391, 0x0179aea9, 0x03f867ce, 0x00340a41, 0x022125c4, 0x01522bab, 0x01c9636b, 0x006df215, 0x02c4b6e8, 0x00224d03}}, Y: Field{[10]uint32{0x012c72c6, 0x030fa8de, 0x00671575, 0x02755492, 0x002b2a9c, 0x00f8af04, 0x01cc2c10, 0x01e5b77c, 0x014e263e, 0x003dce6a}}}, + {X: Field{[10]uint32{0x02629d22, 0x00aef8b5, 0x022daa7e, 0x00f63f63, 0x035d66a9, 0x034e29b0, 0x00facd48, 0x00f3081e, 0x0315f144, 0x0024813f}}, Y: Field{[10]uint32{0x0159c019, 0x00098e9d, 0x03253be1, 0x015609c9, 0x00131205, 0x00a4ffcf, 0x005020ec, 0x0143a588, 0x0075456b, 0x000ae77a}}}, + {X: Field{[10]uint32{0x03ff04d6, 0x031257ba, 0x0284d7ab, 0x03929ef5, 0x0261fad9, 0x00c97d77, 0x02b518dc, 0x00bf5f39, 0x02104112, 0x003c55b6}}, Y: Field{[10]uint32{0x01b631d4, 0x011a8380, 0x0170376e, 0x0135ce7d, 0x017f2c40, 0x000c6976, 0x03aa78d2, 0x02b7fb72, 0x00abf4f2, 0x0031cca5}}}, + {X: Field{[10]uint32{0x0280fa75, 0x01f6808c, 0x022659fa, 0x01549941, 0x022c379a, 0x001430d8, 0x00998616, 0x0104e84c, 0x017837d6, 0x001dc68b}}, Y: Field{[10]uint32{0x014c9aca, 0x0002c997, 0x030f66b6, 0x001356f1, 0x03e42703, 0x01b23746, 0x03ef0b0f, 0x007d6e0a, 0x039f5cfe, 0x0022daf0}}}, + {X: Field{[10]uint32{0x01a18f69, 0x0048d9a1, 0x004018e5, 0x003ac730, 0x01aec29f, 0x01039473, 0x03b52b1f, 0x00b167d8, 0x00e036bb, 0x00053356}}, Y: Field{[10]uint32{0x005e2006, 0x00323667, 0x0372ef27, 0x0279d1ac, 0x03ea15b1, 0x027a93a3, 0x00c72623, 0x011905d1, 0x00fded35, 0x001e7095}}}, + {X: Field{[10]uint32{0x028633f1, 0x03fc9ec6, 0x0343c22b, 0x03254ada, 0x02cd539c, 0x024299f7, 0x000bff13, 0x0001c960, 0x00770106, 0x00397d50}}, Y: Field{[10]uint32{0x01666367, 0x02c80a23, 0x00b5f4c3, 0x02a6c3d5, 0x0280274d, 0x026be281, 0x038e691f, 0x021b1d60, 0x02c39baa, 0x0035b871}}}, + {X: Field{[10]uint32{0x03429197, 0x03abe2b9, 0x003d75b8, 0x012cf4df, 0x03679134, 0x025a4f64, 0x03d14ba7, 0x0080dfef, 0x03429c07, 0x002c3aab}}, Y: Field{[10]uint32{0x037af26d, 0x0145c5a6, 0x00341510, 0x0209a8bc, 0x00bc2373, 0x000805c4, 0x0124d9bd, 0x006d953c, 0x021e4a17, 0x00035c99}}}, + {X: Field{[10]uint32{0x004d67c2, 0x03847998, 0x00e883c2, 0x00bb3d8b, 0x005380f9, 0x021393a8, 0x01573832, 0x036bb4d6, 0x030b044e, 0x003808b5}}, Y: Field{[10]uint32{0x01ab4143, 0x00ac4724, 0x01c7152d, 0x026cb0f7, 0x0207aed8, 0x0054fa70, 0x015228a3, 0x03b43451, 0x01d43ba0, 0x00108f15}}}, + {X: Field{[10]uint32{0x03c5ab5f, 0x02999692, 0x00651349, 0x036a7976, 0x03af1a3e, 0x02525446, 0x0270f07b, 0x02abc996, 0x033eb2ea, 0x0024a8b5}}, Y: Field{[10]uint32{0x000fa973, 0x01a04878, 0x0004992d, 0x00f16b0d, 0x0105f170, 0x00e8c98c, 0x0089fff5, 0x03495268, 0x00194794, 0x001124b5}}}, + {X: Field{[10]uint32{0x01b9cb30, 0x008d6a63, 0x0003ec96, 0x00b8fb98, 0x03b12f10, 0x01ea73ba, 0x035ac444, 0x002a733c, 0x02860de5, 0x0010d025}}, Y: Field{[10]uint32{0x0210bba9, 0x00b37713, 0x02cb037d, 0x0261fcc5, 0x03c8e1e8, 0x03671b22, 0x00e38adb, 0x00405e39, 0x0040952e, 0x000bde04}}}, + {X: Field{[10]uint32{0x0394cd12, 0x0282b788, 0x024e1aaa, 0x010ce222, 0x02945426, 0x01cd7713, 0x003aa5ad, 0x03e3506e, 0x011b0643, 0x0034d277}}, Y: Field{[10]uint32{0x033249a5, 0x02b7b390, 0x01bc6072, 0x015fb38d, 0x01cf0822, 0x02803bfa, 0x01c71c9e, 0x02dab0a5, 0x00571da2, 0x0019fcbc}}}, + {X: Field{[10]uint32{0x02dd10e6, 0x004de059, 0x023d9c68, 0x02763e0c, 0x03babad3, 0x01cb6339, 0x036834d2, 0x01faecd7, 0x02957fb8, 0x0026a426}}, Y: Field{[10]uint32{0x02ddbca1, 0x02195ca8, 0x03cec863, 0x0367dc24, 0x01c12f16, 0x028bd800, 0x02248352, 0x0068a1fd, 0x011a3277, 0x00338fab}}}, + {X: Field{[10]uint32{0x0007fa0b, 0x02f33c2b, 0x01452a67, 0x01c44853, 0x031d77f9, 0x01a1ad7e, 0x03be25d3, 0x00a99268, 0x0218df2a, 0x003ce2c7}}, Y: Field{[10]uint32{0x01e65ea6, 0x019c7bdc, 0x039d4591, 0x03631223, 0x03419a20, 0x03029188, 0x011ced59, 0x02c806e8, 0x029a7f71, 0x00001727}}}, + {X: Field{[10]uint32{0x01535a67, 0x0381b20c, 0x039a6a86, 0x021304ad, 0x027b9097, 0x009d8bb4, 0x012738bc, 0x0342577d, 0x03ca26b8, 0x00108d83}}, Y: Field{[10]uint32{0x028345e4, 0x03064491, 0x02f665de, 0x030595fd, 0x03db93ae, 0x02f77114, 0x008bc432, 0x03000efa, 0x00e5e43e, 0x001adbd3}}}, + {X: Field{[10]uint32{0x003f4a1e, 0x00130d8c, 0x02a94534, 0x03016800, 0x01b87325, 0x00c8ddec, 0x03993eaa, 0x038ee665, 0x018da7c5, 0x0038f5c6}}, Y: Field{[10]uint32{0x0053ef4d, 0x004de048, 0x0265f5c8, 0x033cc817, 0x00a05f19, 0x017eaff9, 0x0342be83, 0x0052337d, 0x0218ece6, 0x001c90dc}}}, + {X: Field{[10]uint32{0x007cb59b, 0x02f1b65a, 0x01b480d6, 0x02d6f5a3, 0x0202f93d, 0x006454a7, 0x014f6258, 0x004441ad, 0x0145a830, 0x000e504a}}, Y: Field{[10]uint32{0x0250f08d, 0x009941bc, 0x01d9fd28, 0x02028405, 0x00e08b0a, 0x002a562d, 0x03057844, 0x030c6462, 0x022c60f5, 0x002e36e0}}}, + {X: Field{[10]uint32{0x01241fc2, 0x00b025f3, 0x014f421d, 0x0053552b, 0x02d93dc9, 0x0364da33, 0x03857c7e, 0x03a639da, 0x01f77e0e, 0x0001349d}}, Y: Field{[10]uint32{0x039d7473, 0x03922ae8, 0x02f05277, 0x03a24330, 0x03935448, 0x0254aac4, 0x019d361f, 0x00a447d8, 0x03d49b50, 0x003b2e00}}}, + {X: Field{[10]uint32{0x029556ce, 0x00fe01e1, 0x01e03c01, 0x0114f22a, 0x010160b1, 0x01667b56, 0x02fcd5b6, 0x0272f68f, 0x0076c1db, 0x000a4d92}}, Y: Field{[10]uint32{0x023f6ede, 0x00c6443c, 0x0186c2dc, 0x01a9df7c, 0x0243ffb5, 0x016507df, 0x03562379, 0x02543213, 0x02f4cc44, 0x000af6d2}}}, + {X: Field{[10]uint32{0x00878034, 0x003b9b79, 0x01e55d38, 0x0107d2c8, 0x036febcf, 0x00ee84cc, 0x003ef10d, 0x0337deae, 0x00a963dc, 0x001d4c7d}}, Y: Field{[10]uint32{0x03a36ae8, 0x0100d286, 0x0055e9c4, 0x02ec021f, 0x01e1dcb1, 0x03589a6c, 0x01628ca2, 0x01af087a, 0x029f91d5, 0x0011d4f6}}}, + {X: Field{[10]uint32{0x00286e08, 0x02514317, 0x02777a3d, 0x00a16f05, 0x016050ca, 0x02f7e2b0, 0x00dce7a4, 0x03fb2910, 0x02263d12, 0x002099b5}}, Y: Field{[10]uint32{0x03e2328b, 0x0177cb2b, 0x00877545, 0x03897369, 0x0096d908, 0x0267d8cf, 0x01e7e363, 0x013ad9a9, 0x02bffb8a, 0x0009403c}}}, + {X: Field{[10]uint32{0x03c589e9, 0x02a1b452, 0x023d69ea, 0x02a9672d, 0x036d5e62, 0x010e27e1, 0x039b26e8, 0x027c5630, 0x00014f33, 0x00199200}}, Y: Field{[10]uint32{0x02d92e2a, 0x01c05b12, 0x002f596c, 0x03076a29, 0x01f145ff, 0x01d6b0c6, 0x00785263, 0x0168de7c, 0x033fe3eb, 0x00281a66}}}, + {X: Field{[10]uint32{0x00c70d49, 0x01dead93, 0x0113486b, 0x02e387d1, 0x03f641e2, 0x01b224d0, 0x01921b5e, 0x003ee981, 0x00858b9c, 0x003e3bf3}}, Y: Field{[10]uint32{0x00a9d607, 0x00761d54, 0x00834f8b, 0x0389e49e, 0x005f4de2, 0x00d7668f, 0x01a0ae30, 0x03c366bd, 0x002f7086, 0x002ea5c8}}}, + {X: Field{[10]uint32{0x00992540, 0x010b8267, 0x02e736c5, 0x02c07638, 0x016f2485, 0x00eafecf, 0x02c627c9, 0x00928ec7, 0x027d2543, 0x00297048}}, Y: Field{[10]uint32{0x02ecc7cc, 0x005b6f21, 0x03da5a1d, 0x01173e5d, 0x0264cfef, 0x00e29fde, 0x019bed7f, 0x00eed5b6, 0x01b48a16, 0x00324627}}}, + {X: Field{[10]uint32{0x038bbaf3, 0x01418182, 0x018938e0, 0x00024983, 0x016c85bb, 0x01c0b7b1, 0x03b655d7, 0x014f7c3e, 0x0219a5b2, 0x0009c6c9}}, Y: Field{[10]uint32{0x02cd2ce5, 0x0326924f, 0x03bd8d86, 0x039756bc, 0x0172bca7, 0x02af9564, 0x01bd1746, 0x023c9f73, 0x03fc22cb, 0x0016333c}}}, + {X: Field{[10]uint32{0x0170ae16, 0x03077f41, 0x0036ad90, 0x00c24b2b, 0x021202ba, 0x01c8753c, 0x001800ce, 0x025d0436, 0x002b20c7, 0x0032784e}}, Y: Field{[10]uint32{0x0231e5b2, 0x0084ee04, 0x003f690d, 0x03ec3e69, 0x016f7a0d, 0x035e65d2, 0x012f7070, 0x033a80ea, 0x00ab2a47, 0x001fac7f}}}, + {X: Field{[10]uint32{0x000309f2, 0x00250780, 0x03decb1e, 0x01aa2f51, 0x0145897e, 0x00ad2251, 0x018cb751, 0x00a81075, 0x03256523, 0x000015d2}}, Y: Field{[10]uint32{0x024615a9, 0x02cebe3f, 0x03b72038, 0x03eb0ad7, 0x03474db8, 0x02a72774, 0x03bf2cc6, 0x01d2fe4f, 0x02a9567d, 0x002efee1}}}, + {X: Field{[10]uint32{0x03046c38, 0x02354218, 0x012b4a98, 0x03b1a54f, 0x021135e7, 0x037fdb15, 0x0120e004, 0x017b692d, 0x02aca630, 0x0027bfa1}}, Y: Field{[10]uint32{0x02e9af70, 0x02b60c6a, 0x02e42551, 0x01e646a6, 0x027afa4f, 0x030ed362, 0x03cbe67e, 0x002062bd, 0x029132cb, 0x0013e4a8}}}, + {X: Field{[10]uint32{0x0013f254, 0x028b72f6, 0x0328413a, 0x03e8cf61, 0x02df26ca, 0x0024639a, 0x00bf4c3d, 0x03e85cdd, 0x00a0ff76, 0x0020ba92}}, Y: Field{[10]uint32{0x032ac9f2, 0x021ac76f, 0x038e4a70, 0x03589b77, 0x0049b4c2, 0x005ea254, 0x01e1ca14, 0x0156a8e7, 0x01399bb5, 0x001a80a5}}}, + {X: Field{[10]uint32{0x01d2baaa, 0x0379d56f, 0x01f4f5fb, 0x03af78ca, 0x03e3af2f, 0x02982b7e, 0x0352a24b, 0x02c1b0c4, 0x003e817b, 0x0030a252}}, Y: Field{[10]uint32{0x00780a53, 0x00e87387, 0x005c04b1, 0x017b065a, 0x039c4994, 0x03fad657, 0x036854a1, 0x03b3bd8a, 0x010d8b4a, 0x000edfba}}}, + {X: Field{[10]uint32{0x02e12cc4, 0x01d02d25, 0x0030001c, 0x01835e2a, 0x02016986, 0x02c161ed, 0x028deb31, 0x003563a9, 0x02cbb558, 0x001af791}}, Y: Field{[10]uint32{0x01293292, 0x01baccba, 0x02d91e09, 0x0173450b, 0x020a41cc, 0x031e741d, 0x014ce750, 0x0059a922, 0x02a7c1cd, 0x000c6229}}}, + {X: Field{[10]uint32{0x01827cf4, 0x026b07d9, 0x00bdf451, 0x023e819b, 0x01017673, 0x01bf5d5c, 0x030a11d6, 0x0185795f, 0x03ae2844, 0x003474a8}}, Y: Field{[10]uint32{0x03f603db, 0x018c4899, 0x02ee70f9, 0x00d971f6, 0x038271f9, 0x014558ba, 0x03697d7c, 0x03065a2d, 0x03f70c01, 0x001f033f}}}, + {X: Field{[10]uint32{0x0227370a, 0x0057b5ee, 0x00be8f65, 0x02233ea8, 0x00e276b0, 0x02afe697, 0x0151c852, 0x01555ced, 0x00874d19, 0x002dd303}}, Y: Field{[10]uint32{0x01a662ab, 0x003c7dd1, 0x031b551e, 0x01784535, 0x026f0c32, 0x0313b630, 0x01e307be, 0x015c7bf9, 0x030e380c, 0x00003c32}}}, + {X: Field{[10]uint32{0x01015874, 0x0109827e, 0x0298f47d, 0x01deebb8, 0x00849500, 0x00c5f846, 0x03c30412, 0x01b0fe85, 0x039a9f12, 0x002a69c6}}, Y: Field{[10]uint32{0x002e0586, 0x0130a9a9, 0x020f08f3, 0x01fd5448, 0x03f1b113, 0x018d33b3, 0x024be1df, 0x03c32dfe, 0x03fdb31b, 0x003017cf}}}, + {X: Field{[10]uint32{0x00dbc68c, 0x0089d2a0, 0x01c259b0, 0x03e8fe88, 0x032b1b99, 0x02cfe08e, 0x03514162, 0x007c9f76, 0x01530a16, 0x0035b784}}, Y: Field{[10]uint32{0x0059764a, 0x03202f6f, 0x02215348, 0x018539d9, 0x00714fab, 0x02b2f7bf, 0x0015d259, 0x021697bb, 0x00636597, 0x001b1882}}}, + {X: Field{[10]uint32{0x036b73f1, 0x024a9d1d, 0x016df112, 0x00d80a9e, 0x0273a7dc, 0x016521fe, 0x038c22f3, 0x03297147, 0x01bc3acd, 0x00372a87}}, Y: Field{[10]uint32{0x00c85159, 0x0312a3c3, 0x035147c8, 0x026a5631, 0x01b4b4d4, 0x005c545e, 0x033719b0, 0x0181ed20, 0x01fcc22c, 0x0037104c}}}, + {X: Field{[10]uint32{0x0005ab6c, 0x01a89100, 0x01d21220, 0x00025526, 0x015f3a13, 0x01dc2535, 0x03aa93c6, 0x02f84c70, 0x03a000c4, 0x0004d54d}}, Y: Field{[10]uint32{0x00fb0f69, 0x00bc1159, 0x0333048c, 0x033f8d20, 0x0308f3eb, 0x03548dc2, 0x01f0d1dd, 0x037d9ccd, 0x031fd2d3, 0x001fbda7}}}, + {X: Field{[10]uint32{0x01de93ac, 0x03fa760e, 0x0004afb3, 0x03957a7a, 0x02751dd6, 0x00ff666b, 0x01572bbe, 0x018b9933, 0x0017c232, 0x000a3c76}}, Y: Field{[10]uint32{0x01e2cb7e, 0x00a6d20e, 0x01cb0970, 0x022f5079, 0x008f5dfe, 0x01f20d6b, 0x02e0e896, 0x00f690b6, 0x0061987e, 0x000093d6}}}, + {X: Field{[10]uint32{0x00294289, 0x03384d51, 0x001e25f8, 0x021e6b59, 0x03e0779b, 0x002040b7, 0x0331155c, 0x02dfee3a, 0x03836e8f, 0x003df13b}}, Y: Field{[10]uint32{0x036bce2c, 0x026593c7, 0x020d1362, 0x008da55e, 0x0216470d, 0x01bae5a0, 0x0150f091, 0x02588758, 0x0381db33, 0x0001fe69}}}, + {X: Field{[10]uint32{0x0228b3e6, 0x02a3d986, 0x03aeda8d, 0x0061444b, 0x00ddc8d0, 0x0169cd75, 0x0366f7e2, 0x026cd462, 0x025e1ddc, 0x003c7d6b}}, Y: Field{[10]uint32{0x01ad4288, 0x036777ee, 0x03cb41c6, 0x0218fb6d, 0x035c5c34, 0x013f9ea3, 0x024a8df2, 0x01360142, 0x012c9792, 0x00276ffc}}}, + {X: Field{[10]uint32{0x008b654f, 0x03ef5cc0, 0x0027dc2a, 0x0287ad96, 0x01257c10, 0x015e2d8e, 0x020dbc74, 0x033a7072, 0x0173d170, 0x00257e0c}}, Y: Field{[10]uint32{0x03412487, 0x03472f00, 0x035b8b75, 0x00edefb8, 0x017d5ab8, 0x01a4628c, 0x03c3c91c, 0x012a2104, 0x02bc0829, 0x0018ea0f}}}, + {X: Field{[10]uint32{0x023ff750, 0x020f025a, 0x03a7df8c, 0x00d646f8, 0x03964749, 0x01f58154, 0x008c8e37, 0x017847ae, 0x025c9f09, 0x003d2b69}}, Y: Field{[10]uint32{0x01861ed3, 0x0146972b, 0x0178d3ac, 0x01d86c37, 0x012ede16, 0x036f3129, 0x00bc87c3, 0x0116cb9b, 0x0328a385, 0x0039da0f}}}, + {X: Field{[10]uint32{0x019e5fd2, 0x039eb90a, 0x00fd03af, 0x015b64e5, 0x0040b827, 0x0371ef09, 0x03bcd591, 0x036cec6d, 0x0096f714, 0x00106beb}}, Y: Field{[10]uint32{0x0099fedc, 0x03a691c1, 0x02f20474, 0x0001769e, 0x0061c52d, 0x03195291, 0x02e98aea, 0x03fc4909, 0x006a3292, 0x00270ba7}}}, + {X: Field{[10]uint32{0x00487405, 0x02a85bba, 0x03ffd0cc, 0x03f710bc, 0x01e1b8df, 0x0328d7c3, 0x0141fe9c, 0x00726d86, 0x031b2cb8, 0x000dfcc2}}, Y: Field{[10]uint32{0x00b88a0f, 0x00755363, 0x022bb61b, 0x00f29326, 0x018086bb, 0x0021ad92, 0x03dd08e1, 0x00754767, 0x0285e340, 0x0024afde}}}, + {X: Field{[10]uint32{0x004fb3ce, 0x0181c596, 0x0205b9d7, 0x02651530, 0x03605a21, 0x0338323a, 0x01312022, 0x01faa885, 0x0166646e, 0x000bd5dc}}, Y: Field{[10]uint32{0x03d5f446, 0x019f7fc0, 0x00ee0985, 0x036bb589, 0x01af32e8, 0x03412e5a, 0x020dc684, 0x033ab56b, 0x026fe43d, 0x003c35cc}}}, + {X: Field{[10]uint32{0x00b5150a, 0x01f96e99, 0x03e7dfd5, 0x03fc2fe7, 0x003c2e24, 0x02bff6fe, 0x03a0af94, 0x0144ad7a, 0x038092c5, 0x0022aef1}}, Y: Field{[10]uint32{0x02896b75, 0x0059f5fd, 0x0232791a, 0x03b12454, 0x010bb87d, 0x03fb33db, 0x015b974f, 0x03066a92, 0x018f0c2e, 0x00163d66}}}, + {X: Field{[10]uint32{0x0147571c, 0x03741970, 0x00aed219, 0x03d70a04, 0x00f6da7c, 0x01f95f3f, 0x0073fe40, 0x01dacc9f, 0x028fa013, 0x003906b3}}, Y: Field{[10]uint32{0x036844a2, 0x02a52fdd, 0x027a37d8, 0x01146584, 0x01715d45, 0x01cbe639, 0x02d04592, 0x01c530c8, 0x02da3c2a, 0x002d642a}}}, + {X: Field{[10]uint32{0x010f1d88, 0x00533662, 0x03b5abe7, 0x03f2767a, 0x017c0c84, 0x00491e27, 0x0180f7f4, 0x0157bb77, 0x00778b63, 0x000c0326}}, Y: Field{[10]uint32{0x039c9002, 0x017a4ef8, 0x0138520f, 0x01b20d37, 0x0068c507, 0x03869ee0, 0x00f5c7a4, 0x021cc432, 0x0262c571, 0x0036b0ae}}}, + {X: Field{[10]uint32{0x02e24c61, 0x0205c1c4, 0x01b5c876, 0x008c9b28, 0x03dcdb66, 0x01e1db0f, 0x02072c1f, 0x003e1096, 0x01d219d4, 0x001a78ce}}, Y: Field{[10]uint32{0x00babc50, 0x002e1b4e, 0x005a1bad, 0x02024dd0, 0x014cd472, 0x02d4d648, 0x017e8499, 0x011c0085, 0x015059a4, 0x002350e4}}}, + {X: Field{[10]uint32{0x03bdb909, 0x03752132, 0x0346da2f, 0x027d47f1, 0x00cddd77, 0x007eaded, 0x033ccf64, 0x02a67e2a, 0x03df8e47, 0x00395924}}, Y: Field{[10]uint32{0x03f5ee59, 0x012728f8, 0x01145b6e, 0x0275d630, 0x01974531, 0x0107062d, 0x0006036d, 0x0053fb42, 0x020a559e, 0x001a36e8}}}, + {X: Field{[10]uint32{0x03f50587, 0x0134e379, 0x01c611a3, 0x03795d36, 0x00f76532, 0x01b803ac, 0x01c11e58, 0x0144734e, 0x00578998, 0x000dea47}}, Y: Field{[10]uint32{0x03145f18, 0x007710ec, 0x0381ee5d, 0x0042ae74, 0x01feac27, 0x00276a25, 0x01975dc0, 0x022891cd, 0x00af0d2d, 0x0038e862}}}, + {X: Field{[10]uint32{0x02e88c1f, 0x0149d0b7, 0x0124a86c, 0x01bd9793, 0x02622401, 0x02535e0e, 0x00629c71, 0x018b844b, 0x01fb5cc2, 0x00317c16}}, Y: Field{[10]uint32{0x038c890a, 0x0155e3ec, 0x00623ab1, 0x00147be8, 0x018c0907, 0x0242d1b5, 0x037792d5, 0x02a56945, 0x03521a96, 0x0007216f}}}, + {X: Field{[10]uint32{0x038716a1, 0x01e24926, 0x01827626, 0x018fca11, 0x03c6323c, 0x021006b3, 0x018c59d7, 0x033ac68a, 0x02ccd605, 0x00159bb7}}, Y: Field{[10]uint32{0x0244cc90, 0x0018b516, 0x010a15ad, 0x02bf0080, 0x038c40b3, 0x00b4ccbf, 0x01f85b93, 0x01bc81e2, 0x03735adf, 0x003b8344}}}, + {X: Field{[10]uint32{0x032c7c7b, 0x027337b6, 0x034c8db6, 0x038b0fae, 0x023e6cf4, 0x0332d190, 0x012e33db, 0x013e1c01, 0x0033c6ef, 0x000c9f9c}}, Y: Field{[10]uint32{0x03e8db36, 0x0385ba54, 0x012634aa, 0x00e7def6, 0x00122662, 0x0026bac7, 0x023e2667, 0x03ca6d2a, 0x012b2be0, 0x003f1242}}}, + {X: Field{[10]uint32{0x03778024, 0x039c0265, 0x01e1a1ea, 0x038a317d, 0x0284ef5a, 0x029b2bfd, 0x0329704e, 0x02b21957, 0x03693ac0, 0x0026269f}}, Y: Field{[10]uint32{0x00dadfd0, 0x01ed90a0, 0x0292bd1b, 0x035cec2c, 0x00e8eb1f, 0x02b3fa99, 0x03b5bd44, 0x011639d2, 0x027b3396, 0x0015cf44}}}, + {X: Field{[10]uint32{0x0330fc94, 0x00b31842, 0x019769c2, 0x03e92999, 0x037ce313, 0x013d2695, 0x01cec4b7, 0x01fd53b4, 0x032f14f2, 0x002729d9}}, Y: Field{[10]uint32{0x0104e4a1, 0x01b283ce, 0x011dcd2d, 0x0013bbb0, 0x006ab141, 0x00b7e34c, 0x0003f818, 0x00a928c2, 0x00d731d5, 0x003e4831}}}, + {X: Field{[10]uint32{0x0047f5f5, 0x0155579e, 0x030cde1d, 0x0143b4bb, 0x02060978, 0x01f89c86, 0x00316871, 0x03a38656, 0x0245654f, 0x0036c401}}, Y: Field{[10]uint32{0x01056567, 0x02064a0c, 0x0014c962, 0x033b9d14, 0x02619287, 0x03ddb22d, 0x03cdf895, 0x003b3cd3, 0x02cea9c9, 0x000acb0f}}}, + {X: Field{[10]uint32{0x013295a9, 0x01340335, 0x01c07bb9, 0x03e9949a, 0x02418a34, 0x00effc53, 0x02110a8f, 0x00ed0979, 0x009e8274, 0x00138a83}}, Y: Field{[10]uint32{0x00ccca7a, 0x02cb138f, 0x014b3d98, 0x03b237e8, 0x008a34e5, 0x028eb1a7, 0x00b90590, 0x02c12dad, 0x02e3e00b, 0x00144ab0}}}, + {X: Field{[10]uint32{0x02ac77f6, 0x010d4bd9, 0x0368d733, 0x01dca50e, 0x0060c71a, 0x0217ec73, 0x0136f981, 0x022b2c14, 0x037024ea, 0x00304acf}}, Y: Field{[10]uint32{0x02544803, 0x01ef77c0, 0x033239c0, 0x02560cc9, 0x020d67a1, 0x03ef8949, 0x009f5a7b, 0x01dbc07c, 0x019b6f4b, 0x002de67e}}}, + {X: Field{[10]uint32{0x03fd7e58, 0x01551923, 0x003feaa7, 0x020afe9e, 0x03d6c09b, 0x005904ff, 0x017c0cf6, 0x013877af, 0x022edaf3, 0x00019396}}, Y: Field{[10]uint32{0x002f4a50, 0x0147cd0f, 0x004ff726, 0x0292d461, 0x027509a2, 0x037c249b, 0x005d611a, 0x00cb8ba4, 0x020966f0, 0x00038083}}}, + {X: Field{[10]uint32{0x030a838a, 0x0102254f, 0x03b9fef0, 0x015cb3ec, 0x013d66ec, 0x000fc0b7, 0x02d1857e, 0x010e03da, 0x0355fa73, 0x000ac2e2}}, Y: Field{[10]uint32{0x0273a61a, 0x02404f67, 0x024765bd, 0x0070d023, 0x00147ce0, 0x00722029, 0x00b45bae, 0x01965e38, 0x0251a914, 0x002b225c}}}, + {X: Field{[10]uint32{0x0288525e, 0x01e24c0a, 0x00c5bd67, 0x02d07bf5, 0x016523e8, 0x0196a59e, 0x02545299, 0x0184cf4e, 0x0130a202, 0x002b838f}}, Y: Field{[10]uint32{0x00f80552, 0x0177ed4e, 0x03ee97ec, 0x01f7687b, 0x00c80c08, 0x00e6ac98, 0x00be67b3, 0x00b49094, 0x00ff8563, 0x003eda46}}}, + {X: Field{[10]uint32{0x03e00dd9, 0x037a18a3, 0x03454a83, 0x00c3b7c8, 0x033bfa15, 0x0007d130, 0x02e46cb0, 0x02859bfe, 0x03114dfe, 0x000bfe71}}, Y: Field{[10]uint32{0x03318783, 0x03a0b11b, 0x027599b5, 0x001ef483, 0x01acb0d7, 0x02065717, 0x02383517, 0x00605e8f, 0x027a0444, 0x00014fd9}}}, + {X: Field{[10]uint32{0x027bf695, 0x02c45a93, 0x017263ed, 0x0393067d, 0x019e2614, 0x010ac512, 0x003f60cc, 0x01671b01, 0x001488b9, 0x0033009c}}, Y: Field{[10]uint32{0x03b6007a, 0x00b99296, 0x01fe2e57, 0x017080db, 0x0307b532, 0x012697c1, 0x02ce6551, 0x03d9dd99, 0x01909b22, 0x003aacfd}}}, + {X: Field{[10]uint32{0x00a945d5, 0x01a2fa0a, 0x0145584d, 0x016bc067, 0x03f9dbf4, 0x02125749, 0x03e3b476, 0x00d6997b, 0x03d13c80, 0x0006007b}}, Y: Field{[10]uint32{0x0259c4fe, 0x02f686fe, 0x005681ac, 0x02f382da, 0x03f44a5a, 0x026a0be2, 0x02f49d50, 0x025a3bd3, 0x019efcb5, 0x0037fcb4}}}, + {X: Field{[10]uint32{0x00dd7cbf, 0x02de3f0f, 0x03f8be6a, 0x038db9d1, 0x015b698f, 0x031eaeaf, 0x03c09de4, 0x002588d5, 0x01d507b6, 0x001b68aa}}, Y: Field{[10]uint32{0x0275060c, 0x016f7338, 0x00378d50, 0x020a66b3, 0x0171310b, 0x00df02bc, 0x01ac9f9b, 0x022b88a5, 0x02704aeb, 0x000789d3}}}, + {X: Field{[10]uint32{0x02fc82e4, 0x02846b6e, 0x0344c832, 0x00e86a67, 0x00c7dfe2, 0x02a513fc, 0x039e8a6e, 0x005774ef, 0x016f6a92, 0x001fa3f2}}, Y: Field{[10]uint32{0x01342bff, 0x021cb8ec, 0x02d51ddc, 0x000ea023, 0x0257d095, 0x018fce21, 0x039ed00c, 0x01b29fdc, 0x03e1e0c2, 0x003a693e}}}, + {X: Field{[10]uint32{0x020caf64, 0x02ed121f, 0x00f27559, 0x00cdc633, 0x019f53e1, 0x021c1d90, 0x0266ab37, 0x035bdff8, 0x033a77d6, 0x00298d8b}}, Y: Field{[10]uint32{0x02cc787e, 0x02135874, 0x00d70087, 0x00e7d1cf, 0x03e29d85, 0x019bdd46, 0x025cd860, 0x00e17182, 0x02da3fc2, 0x00300588}}}, + {X: Field{[10]uint32{0x0337d2b3, 0x01c01d66, 0x01557449, 0x0154df09, 0x018582bd, 0x001db06a, 0x01a19b47, 0x01d24e8f, 0x022228b4, 0x00146194}}, Y: Field{[10]uint32{0x00287be1, 0x02bef411, 0x01ad17d0, 0x02e14914, 0x02826558, 0x01032e33, 0x03ca65bf, 0x0236764f, 0x01796863, 0x003c3c2e}}}, + {X: Field{[10]uint32{0x01d472ce, 0x02f0f460, 0x028e67e8, 0x004a7a3b, 0x0304d802, 0x01c6656a, 0x0314ff4f, 0x02e70e31, 0x009ba9f1, 0x0028a824}}, Y: Field{[10]uint32{0x0040068d, 0x03d717bb, 0x01a6a1e8, 0x007b3649, 0x028b364d, 0x03114ce4, 0x03fdf98e, 0x031efdc6, 0x000bd45e, 0x001048e4}}}, + {X: Field{[10]uint32{0x003aef2d, 0x00c7e1ee, 0x009212b0, 0x03abe7c3, 0x02f1357b, 0x006fe5e7, 0x03f5ac2a, 0x01fcda98, 0x0122454e, 0x00369460}}, Y: Field{[10]uint32{0x006da722, 0x0363cdda, 0x00b32b6b, 0x03e2e683, 0x016cb7f3, 0x02e7762e, 0x0028c5e1, 0x017a0032, 0x02fd0d41, 0x002fe1df}}}, + {X: Field{[10]uint32{0x0147a87d, 0x035d418e, 0x0382e6cb, 0x001b520f, 0x008a6983, 0x004316a9, 0x01aa5729, 0x00c49796, 0x00541a98, 0x00107103}}, Y: Field{[10]uint32{0x03bfc57f, 0x01bc4068, 0x00c814e8, 0x00cf0c3d, 0x03ef8400, 0x03ef7d79, 0x029f129f, 0x02442aee, 0x03656b89, 0x001db6ae}}}, + {X: Field{[10]uint32{0x02addbfd, 0x00267326, 0x01318709, 0x01322290, 0x0028745e, 0x03314362, 0x007c980a, 0x039191a1, 0x028387f2, 0x003127f7}}, Y: Field{[10]uint32{0x027227e1, 0x01231fab, 0x03a94bbb, 0x03b99847, 0x00c7ddb4, 0x00a2f9fe, 0x00baf9e6, 0x01ef4de7, 0x0112dfd0, 0x002996f1}}}, + {X: Field{[10]uint32{0x020fceae, 0x03c060c3, 0x010717a1, 0x0223a314, 0x023a6c6b, 0x035edd09, 0x03219406, 0x01d0f537, 0x0161b6ee, 0x00216c5f}}, Y: Field{[10]uint32{0x01868fef, 0x00c24b95, 0x02be892d, 0x00f9c13d, 0x03ebddc5, 0x03d2ffee, 0x006ce022, 0x007fad41, 0x00a274c7, 0x0008ae7a}}}, + {X: Field{[10]uint32{0x0117964f, 0x03d7153c, 0x0243e883, 0x030b2353, 0x023914af, 0x00158e7b, 0x03521895, 0x01dfc4f9, 0x037fe6d6, 0x00323874}}, Y: Field{[10]uint32{0x01bfc21e, 0x02b56ace, 0x008e4f88, 0x02d0daad, 0x03ee4a7a, 0x007e6525, 0x006ba559, 0x016a46bd, 0x0118d08f, 0x002c32b3}}}, + {X: Field{[10]uint32{0x0083836b, 0x001e29f9, 0x02dd9866, 0x02802e5e, 0x011a30ba, 0x00c44a65, 0x03d6f833, 0x02223169, 0x00307d25, 0x0037fb00}}, Y: Field{[10]uint32{0x02faa00d, 0x004ea42e, 0x0380956e, 0x002dbee5, 0x00f407ca, 0x00abe391, 0x00664168, 0x02511fbd, 0x0206bf2e, 0x001396a2}}}, + {X: Field{[10]uint32{0x030be9d6, 0x02535fdf, 0x00b20925, 0x01b97d35, 0x02c842ff, 0x0274c1db, 0x017618dc, 0x03631bbb, 0x00387c18, 0x003ab1b1}}, Y: Field{[10]uint32{0x0265b8d1, 0x008e9ac8, 0x021634e8, 0x019f5cd2, 0x0177a86a, 0x003fbaef, 0x031802ac, 0x006e0ae9, 0x03bffc0c, 0x000675a6}}}, + {X: Field{[10]uint32{0x03424cde, 0x0108046c, 0x019b74d6, 0x005672f2, 0x0069432c, 0x01fdab20, 0x0024db79, 0x0377b292, 0x004e04dc, 0x0027fce3}}, Y: Field{[10]uint32{0x01619ebc, 0x018886d4, 0x014f91d2, 0x0106e53d, 0x01266bd0, 0x033212e0, 0x005b0c93, 0x02effb7d, 0x0260b7c1, 0x003dcbe9}}}, + {X: Field{[10]uint32{0x01313f36, 0x03f19129, 0x02c1c146, 0x0277512c, 0x019153f6, 0x03f8a155, 0x01e4f8c4, 0x00ca4d7e, 0x013f3a5a, 0x00179e16}}, Y: Field{[10]uint32{0x02fd9c47, 0x02a6e6a2, 0x0114b89d, 0x02986cb4, 0x0358cbc5, 0x01758f25, 0x0195b700, 0x02f746cb, 0x0044dc63, 0x00276756}}}, + {X: Field{[10]uint32{0x01009ae4, 0x0321511c, 0x01b32d22, 0x0121debe, 0x020ad31a, 0x00f88870, 0x01ba38b0, 0x012dbec0, 0x03a48928, 0x002841f1}}, Y: Field{[10]uint32{0x03d9f6b5, 0x030da689, 0x014c4a0f, 0x002f1457, 0x03653b58, 0x0303e7ca, 0x0386cd5b, 0x019647b8, 0x02d46be4, 0x0001981c}}}, + {X: Field{[10]uint32{0x01b02af1, 0x03397e90, 0x028f4190, 0x023b308e, 0x02ff98e8, 0x01e4a65d, 0x02445ba6, 0x026117f8, 0x01d0308d, 0x0000907c}}, Y: Field{[10]uint32{0x03e194a9, 0x02dfaa29, 0x01c74366, 0x03bb16b2, 0x0209c881, 0x02be474c, 0x015723ad, 0x02a237e8, 0x03ecd413, 0x002219a5}}}, + {X: Field{[10]uint32{0x008a72fa, 0x02431af9, 0x01283c87, 0x005a2e6a, 0x02341860, 0x03ab0ed0, 0x015c6d26, 0x0241ba0f, 0x00d2627f, 0x000c67ba}}, Y: Field{[10]uint32{0x029eaa57, 0x033109cf, 0x032819d0, 0x014c197e, 0x01760344, 0x032d1631, 0x009f8491, 0x005b80d0, 0x02eda678, 0x00167925}}}, + {X: Field{[10]uint32{0x03ca4822, 0x0051896f, 0x038e1a26, 0x019864a1, 0x01e01008, 0x01a615d6, 0x03f4f7e9, 0x03e6f64d, 0x011a00fd, 0x000619a0}}, Y: Field{[10]uint32{0x01b7ae19, 0x01449a75, 0x0250172e, 0x00646990, 0x00585f03, 0x02d97e9f, 0x003a1316, 0x0272209e, 0x0065e85f, 0x00085781}}}, + {X: Field{[10]uint32{0x03992f26, 0x00bdda54, 0x00ce69ff, 0x016bdce5, 0x01398967, 0x033d9026, 0x03429fb8, 0x02400176, 0x02d70b94, 0x001fbfef}}, Y: Field{[10]uint32{0x00c7c749, 0x0026b210, 0x02aa7a1d, 0x01ab1b34, 0x03616d8b, 0x02fcb702, 0x016affac, 0x01b52d49, 0x01ba28f2, 0x001bbeed}}}, + {X: Field{[10]uint32{0x03168867, 0x0293494a, 0x00bf0957, 0x0199c3c5, 0x02665c8d, 0x00de54ac, 0x02e45c19, 0x0057c87f, 0x03d0e593, 0x003631ca}}, Y: Field{[10]uint32{0x0256fbcd, 0x011b186f, 0x02e6e5a9, 0x006cb266, 0x028a2da3, 0x01cff182, 0x01e2cc3a, 0x0029bf44, 0x0162fdd4, 0x0019300b}}}, + {X: Field{[10]uint32{0x00d0db4b, 0x0060c206, 0x0147abcf, 0x0147ead3, 0x0187bbfd, 0x002c35a4, 0x0396bbcb, 0x03ce050e, 0x0222ce64, 0x001c43b1}}, Y: Field{[10]uint32{0x0134d994, 0x00cc5391, 0x030c5496, 0x00dafaae, 0x013d275c, 0x0243d4c7, 0x029b9618, 0x00ebc30b, 0x0086526c, 0x003b7f44}}}, + {X: Field{[10]uint32{0x00d51ca6, 0x0131654c, 0x0334868e, 0x009e7930, 0x0370574f, 0x02021b76, 0x0168e763, 0x03b75270, 0x024b9aea, 0x002509e5}}, Y: Field{[10]uint32{0x004e2dd8, 0x00298457, 0x017af730, 0x03a9a131, 0x01e0026b, 0x00a160f6, 0x03b312e9, 0x00019fac, 0x01cf2a6b, 0x000442d0}}}, + {X: Field{[10]uint32{0x0355565f, 0x0166ce63, 0x00a5c46a, 0x00597aa9, 0x01c5a2e8, 0x036d8859, 0x03515c06, 0x03b6727a, 0x0035a8b3, 0x002bbde5}}, Y: Field{[10]uint32{0x0184b91d, 0x02c5e915, 0x012a0118, 0x0044f0d5, 0x03036535, 0x0250aaac, 0x00cb93d8, 0x03109714, 0x00f21274, 0x001985ba}}}, + {X: Field{[10]uint32{0x0074b5a3, 0x0319fccc, 0x03994a4a, 0x0339296b, 0x020f49f0, 0x0275cbc9, 0x03401935, 0x0018e9a3, 0x00323546, 0x000faf76}}, Y: Field{[10]uint32{0x00460238, 0x0254019e, 0x019beed8, 0x03cb238b, 0x02db7962, 0x00e575c4, 0x02ba318f, 0x0127bb43, 0x03d4b295, 0x000048d9}}}, + {X: Field{[10]uint32{0x026aeff2, 0x02d01790, 0x020dd729, 0x03894d35, 0x0019af86, 0x019cf212, 0x03c6bc3b, 0x0021c742, 0x025ec52b, 0x0028e367}}, Y: Field{[10]uint32{0x032cad02, 0x031d7a7c, 0x02a1cb01, 0x00a22b0d, 0x01f6d134, 0x03237935, 0x00955383, 0x01b1744e, 0x0371d9ae, 0x003af919}}}, + {X: Field{[10]uint32{0x00a7d624, 0x03b0d092, 0x01b0f9f4, 0x02845a40, 0x02334369, 0x0114b2e3, 0x00407f7b, 0x02ec6643, 0x0382619c, 0x0039f4a7}}, Y: Field{[10]uint32{0x03c4e614, 0x03b16d67, 0x02e0742b, 0x0052aa3b, 0x0315b6ce, 0x0175d85b, 0x00ce2304, 0x014581ae, 0x02d4618b, 0x001d6573}}}, + {X: Field{[10]uint32{0x0043ceae, 0x033bf3d0, 0x004edf81, 0x01738fa3, 0x007523de, 0x00063c03, 0x02333e26, 0x009ee52b, 0x02b02792, 0x003b21a7}}, Y: Field{[10]uint32{0x011ac92b, 0x02e9f71c, 0x01556ec6, 0x01dd9040, 0x03ca3fe5, 0x0399f60a, 0x00bdd264, 0x03210692, 0x02552c89, 0x0029086a}}}, + {X: Field{[10]uint32{0x02ec5e71, 0x003fcd71, 0x03ae7c07, 0x00f3809b, 0x026f0752, 0x01128d4a, 0x005c0571, 0x02322dbf, 0x0108e44a, 0x00115276}}, Y: Field{[10]uint32{0x02b5dd7a, 0x0044e2de, 0x0240f44c, 0x000069b5, 0x0164b486, 0x00b2371e, 0x0208c19e, 0x01f81040, 0x03200770, 0x001c7638}}}, + {X: Field{[10]uint32{0x01b070b2, 0x00512c29, 0x0385ff98, 0x00f4596c, 0x032cc7a5, 0x038501ac, 0x024f3813, 0x02e326c2, 0x029efef7, 0x00146edb}}, Y: Field{[10]uint32{0x0067044e, 0x0255ad69, 0x03befde5, 0x0372ab7c, 0x015268ee, 0x011b7df3, 0x031de11d, 0x013f4228, 0x03e9dd79, 0x00194a0a}}}, + {X: Field{[10]uint32{0x016d001f, 0x00fae81a, 0x013e45a8, 0x03536458, 0x02aa2027, 0x01239897, 0x0203afcd, 0x02aa0910, 0x02974c7c, 0x001f370c}}, Y: Field{[10]uint32{0x03519565, 0x014d2420, 0x00a36192, 0x0045b0b3, 0x026060a4, 0x00a27968, 0x00027a7a, 0x0156cede, 0x01433b1a, 0x002e4ae6}}}, + {X: Field{[10]uint32{0x009c9314, 0x02655d58, 0x02fc9030, 0x02e84051, 0x02aa478f, 0x0205e9af, 0x03722f6d, 0x0226da99, 0x02beb8e9, 0x000f2a71}}, Y: Field{[10]uint32{0x02ca2c0f, 0x01fc25b3, 0x00e4d6bb, 0x036af452, 0x0074c6e0, 0x0049328c, 0x006bba34, 0x006f0e0e, 0x017ff4b8, 0x001540bb}}}, + {X: Field{[10]uint32{0x01354d0c, 0x00447a2b, 0x00436864, 0x00a73248, 0x0390e1a2, 0x023b5798, 0x01bc1c83, 0x032b6bc0, 0x026c45ed, 0x002a8aaf}}, Y: Field{[10]uint32{0x0024f6cd, 0x03727cbe, 0x00d47c44, 0x02a21c55, 0x0295bb3d, 0x006e8ac9, 0x0061251f, 0x00c12893, 0x01c66f91, 0x0006e08a}}}, + {X: Field{[10]uint32{0x023bc7ee, 0x01a4db63, 0x0375a2ab, 0x02b7ef9b, 0x0375466a, 0x03dced83, 0x01f226de, 0x027564c6, 0x023df28c, 0x002d4b2b}}, Y: Field{[10]uint32{0x03cfe220, 0x00b6e222, 0x03a3a446, 0x0164b85f, 0x02421e07, 0x029f2562, 0x00738488, 0x00247732, 0x035e022c, 0x003afb9c}}}, + {X: Field{[10]uint32{0x0021ef54, 0x036414ce, 0x01661838, 0x030d1ed9, 0x01635469, 0x00d2585a, 0x01a62832, 0x0372d84f, 0x030362a6, 0x00304215}}, Y: Field{[10]uint32{0x00eaf517, 0x033e6cd3, 0x01cdec38, 0x03760ade, 0x0044511c, 0x002b531f, 0x002cac14, 0x02a3acb7, 0x02c8c1e6, 0x003f9910}}}, + {X: Field{[10]uint32{0x0308c11d, 0x00e5976b, 0x00768d5a, 0x0334be9b, 0x0383477f, 0x01908a41, 0x01454765, 0x0049fd67, 0x011cfcaf, 0x003c27a7}}, Y: Field{[10]uint32{0x03c15d10, 0x03e593a2, 0x009a27e8, 0x018f3fb3, 0x01a5b2e6, 0x0175fbf6, 0x0028fc9c, 0x03ec56fd, 0x03221f44, 0x0003c069}}}, + {X: Field{[10]uint32{0x015c4527, 0x0309dfd2, 0x0341a036, 0x017f80f4, 0x03fd3e80, 0x035c6d65, 0x00b3b179, 0x00fafb62, 0x02ef1e47, 0x00180918}}, Y: Field{[10]uint32{0x03a079c3, 0x0387db58, 0x02ce2844, 0x02c7ae74, 0x02fed2a9, 0x00fc8567, 0x02d9f235, 0x00773aaa, 0x00617141, 0x003e476d}}}, + {X: Field{[10]uint32{0x01bb582d, 0x0065ff82, 0x03c70720, 0x004c25ae, 0x016b828d, 0x0049a883, 0x00ae3558, 0x0267e841, 0x001e8e0d, 0x0009cea2}}, Y: Field{[10]uint32{0x004b0d5d, 0x00d2869a, 0x003da295, 0x01d5e68b, 0x00d1b407, 0x03ddadb0, 0x03b2f727, 0x02e45334, 0x005814a7, 0x0016ec9b}}}, + {X: Field{[10]uint32{0x000cd54d, 0x03237cba, 0x03d9f566, 0x00107691, 0x01e8cd05, 0x01bf263e, 0x02f41723, 0x032dcad0, 0x03460616, 0x001f077c}}, Y: Field{[10]uint32{0x03c41dd7, 0x02b58c13, 0x033b9390, 0x00bb059d, 0x0073153c, 0x02f04956, 0x03a8d456, 0x02e6f916, 0x020dd602, 0x002b4f9f}}}, + {X: Field{[10]uint32{0x01942f94, 0x0319544f, 0x006d3c62, 0x02c14e5e, 0x039ad644, 0x033a002d, 0x014551f3, 0x03c451ce, 0x0234657f, 0x001e5b89}}, Y: Field{[10]uint32{0x014f1c60, 0x0331f0a8, 0x01b11bb1, 0x01aa1003, 0x001e8ec6, 0x00c02069, 0x0080eb9c, 0x01c44431, 0x0238ed58, 0x002d96ef}}}, + {X: Field{[10]uint32{0x02302bd1, 0x02f7b586, 0x00206193, 0x016d80bf, 0x0062b056, 0x029990b2, 0x029953a2, 0x03da2a91, 0x01fa9985, 0x001789d8}}, Y: Field{[10]uint32{0x0253e274, 0x036eb15c, 0x030b4713, 0x036adf50, 0x003715c9, 0x0144d9f4, 0x0347c070, 0x013d740b, 0x03709db2, 0x0016e826}}}, + {X: Field{[10]uint32{0x03abe794, 0x0049b153, 0x010e6164, 0x008a636e, 0x005c004c, 0x02891ad0, 0x01ab0385, 0x00683fac, 0x0092fd34, 0x00119163}}, Y: Field{[10]uint32{0x03446725, 0x028f7635, 0x033eaf02, 0x02bbbb3c, 0x029d018f, 0x018fc729, 0x02fc3242, 0x0106e162, 0x028b3453, 0x00021675}}}, + {X: Field{[10]uint32{0x01153265, 0x00de6960, 0x0152c5c7, 0x00d32fee, 0x00a410e1, 0x01bd3989, 0x009ddc3d, 0x01f073ff, 0x0030bf81, 0x003f1206}}, Y: Field{[10]uint32{0x01322551, 0x0289e1d6, 0x02169a43, 0x017eb3a3, 0x038dfe38, 0x03676d2a, 0x0248e89f, 0x01f68512, 0x0228bd3d, 0x0028622c}}}, + {X: Field{[10]uint32{0x02ed03e6, 0x00984357, 0x01901779, 0x019a012b, 0x033a7804, 0x038abb6f, 0x0302742c, 0x029540f1, 0x027d9771, 0x0010b65d}}, Y: Field{[10]uint32{0x02d50417, 0x03a87096, 0x003ece89, 0x01a34376, 0x03d2e0f5, 0x000b490c, 0x02c782be, 0x03ccdce8, 0x032e9764, 0x0037da50}}}, + {X: Field{[10]uint32{0x01477148, 0x00bd386e, 0x004dcdc7, 0x03f74a38, 0x02462dee, 0x0057b644, 0x02602226, 0x02ca5dcb, 0x0049993a, 0x000dc48b}}, Y: Field{[10]uint32{0x0196e39d, 0x00e08316, 0x0008ef1d, 0x037a9549, 0x02410b3e, 0x01900ae3, 0x00422cc3, 0x03ef0ea8, 0x00f0924c, 0x00189ffd}}}, + {X: Field{[10]uint32{0x006896c3, 0x003a8697, 0x00bb7314, 0x015e972e, 0x013619a5, 0x01db87ab, 0x03e52cca, 0x03f2f9d0, 0x018294ba, 0x00271520}}, Y: Field{[10]uint32{0x038f7fcc, 0x00efc16c, 0x014c50b5, 0x02cc8252, 0x02ec0478, 0x01c14130, 0x031dafbf, 0x0214a3b1, 0x032eb88e, 0x0017f311}}}, + {X: Field{[10]uint32{0x025a2db9, 0x01a6e03d, 0x02a077ae, 0x01ff58fc, 0x000a5927, 0x01c48d82, 0x004e0251, 0x007da5d7, 0x02d7aa5b, 0x001ee75e}}, Y: Field{[10]uint32{0x017d1bf8, 0x03587f43, 0x0012fabf, 0x01729d5a, 0x02c4a7f1, 0x01453b2b, 0x01c14d6f, 0x0288a740, 0x02e8714a, 0x001b3787}}}, + {X: Field{[10]uint32{0x00a9a102, 0x00737a96, 0x0153e017, 0x0141b1df, 0x026990e9, 0x0107820b, 0x016d948e, 0x01582b59, 0x02f2c985, 0x002bd776}}, Y: Field{[10]uint32{0x00a5b505, 0x01607e7b, 0x003f5fd4, 0x0123bfe5, 0x011f6853, 0x03385ad6, 0x0039ff76, 0x01bfcf12, 0x011b7289, 0x0038d211}}}, + {X: Field{[10]uint32{0x0111293d, 0x03b2da48, 0x029a395b, 0x02d0538a, 0x01d26394, 0x03834559, 0x03ab3662, 0x02f46417, 0x0318e957, 0x0010999f}}, Y: Field{[10]uint32{0x02bbc7a5, 0x00083559, 0x022a2e57, 0x02c6bb2a, 0x033c0076, 0x03f895e5, 0x03fb16c1, 0x02ed8d39, 0x02b269e9, 0x000a2374}}}, + {X: Field{[10]uint32{0x00b276d7, 0x01506dd0, 0x03618587, 0x01857966, 0x029be971, 0x00c99973, 0x002a5a6f, 0x020c99d3, 0x021d50ab, 0x0017a71e}}, Y: Field{[10]uint32{0x03a11f17, 0x02115b57, 0x035b1a29, 0x0063b822, 0x02ec4664, 0x031c1d12, 0x0292c612, 0x02bd08d0, 0x00611f39, 0x00248a0d}}}, + {X: Field{[10]uint32{0x03ed8b2a, 0x0293ca37, 0x03c489a2, 0x001a2d1a, 0x038b52b5, 0x02cc82e5, 0x00d9ac97, 0x02d608ad, 0x03faf486, 0x00263183}}, Y: Field{[10]uint32{0x005280f9, 0x01eca6dd, 0x0132b580, 0x0212bb70, 0x0170416d, 0x001bb6f9, 0x02f42fa3, 0x01255604, 0x0113c253, 0x00287098}}}, + {X: Field{[10]uint32{0x0385babc, 0x01d66770, 0x0116cf0a, 0x007f6199, 0x03f30948, 0x00d43969, 0x0286e71f, 0x00b364f0, 0x01821ed5, 0x0024afea}}, Y: Field{[10]uint32{0x02c1ddb4, 0x02ba7b6c, 0x03cb802f, 0x024a545a, 0x036f5276, 0x037f893d, 0x0254e738, 0x02d2c6de, 0x0396c71a, 0x0028ff25}}}, + {X: Field{[10]uint32{0x025b865f, 0x025ce0be, 0x018c4ec1, 0x02e40eec, 0x037b7798, 0x000ac30d, 0x02413e84, 0x02d67eb3, 0x0008bd8e, 0x0026f89d}}, Y: Field{[10]uint32{0x027a2f61, 0x03a2ff69, 0x00027f54, 0x00a54093, 0x02def3ec, 0x02ee4b77, 0x02ed2c81, 0x01a8e5a3, 0x01801964, 0x00044215}}}, + {X: Field{[10]uint32{0x036350bc, 0x02e711a5, 0x018275b1, 0x01676e79, 0x037751bc, 0x0302462f, 0x0391ce38, 0x02c165ad, 0x026cb7ba, 0x0009f35a}}, Y: Field{[10]uint32{0x03faeda8, 0x03e03ba0, 0x00011a16, 0x01353fad, 0x032f41d0, 0x01a19479, 0x03761df0, 0x00ab17c4, 0x01678fce, 0x00224354}}}, + {X: Field{[10]uint32{0x0068f2eb, 0x022073bd, 0x00e1f5d8, 0x00f25bcc, 0x035f22be, 0x00319918, 0x00f6597a, 0x0184e532, 0x014daaf9, 0x003a25b8}}, Y: Field{[10]uint32{0x0196030b, 0x027cacec, 0x027260bb, 0x02136b74, 0x02efea7e, 0x03622eb2, 0x00d971af, 0x006ac771, 0x00b0512c, 0x002fac01}}}, + {X: Field{[10]uint32{0x013f8ec0, 0x030359f9, 0x033da54e, 0x0226142e, 0x03a9dd23, 0x03eacb03, 0x00b3779e, 0x0150058d, 0x0269ac48, 0x000938b4}}, Y: Field{[10]uint32{0x0219e525, 0x026a9600, 0x02460892, 0x016f907e, 0x03f5beda, 0x018e8168, 0x03ca2ca6, 0x0353080e, 0x02c2642b, 0x00379c0b}}}, + {X: Field{[10]uint32{0x001d1676, 0x0367025a, 0x03db95a9, 0x00077829, 0x009b5c4d, 0x02c48694, 0x010159b4, 0x03279175, 0x03c948c1, 0x0025e989}}, Y: Field{[10]uint32{0x033203d9, 0x01fba49b, 0x00b9ffef, 0x03e69f24, 0x018d5f3c, 0x03d75708, 0x02d43037, 0x0270a7f2, 0x015b5539, 0x00066f42}}}, + {X: Field{[10]uint32{0x0195b08f, 0x0354dc1c, 0x0014b40b, 0x01807e82, 0x0033ed67, 0x0274f214, 0x03234c7f, 0x03b17ddd, 0x0251e604, 0x0029c360}}, Y: Field{[10]uint32{0x00bccc4f, 0x009b542b, 0x01f4e0e1, 0x0225aa16, 0x0385325a, 0x031c4350, 0x012c016a, 0x00f78fc5, 0x010774e2, 0x0037ca36}}}, + {X: Field{[10]uint32{0x0242f42b, 0x023056be, 0x0012ea7c, 0x025cdbcd, 0x0327743a, 0x00f5e2c5, 0x001a0071, 0x0191cb38, 0x00434b27, 0x000b59db}}, Y: Field{[10]uint32{0x01fa7312, 0x03023ff2, 0x018ea024, 0x00f0ce52, 0x0052fa70, 0x0020ada1, 0x03b8f941, 0x0174c900, 0x01e406ef, 0x002f8a33}}}, + {X: Field{[10]uint32{0x00b29cf5, 0x0350ad00, 0x0172928f, 0x00a6d283, 0x0246c89d, 0x03c9f00d, 0x03857cfc, 0x01c9d576, 0x01e17516, 0x003d9b09}}, Y: Field{[10]uint32{0x03193201, 0x009b7a71, 0x01b6e059, 0x00c6eb5a, 0x028d2a02, 0x03670632, 0x0049150c, 0x02a21130, 0x02d422c4, 0x000fb88e}}}, + {X: Field{[10]uint32{0x02427060, 0x024f5f40, 0x01c6c293, 0x02b6393f, 0x01ce6e77, 0x013a3801, 0x004f81d2, 0x0361fbbd, 0x004b9d39, 0x0036e91f}}, Y: Field{[10]uint32{0x018d7622, 0x03b6eecf, 0x03597338, 0x022e7f3e, 0x015240f2, 0x0370ed71, 0x037eedd4, 0x00003c25, 0x0092e53d, 0x000b5719}}}, + {X: Field{[10]uint32{0x03e10f0f, 0x03e20549, 0x0301bbfd, 0x0197c20e, 0x0294788f, 0x024768ed, 0x015aedae, 0x01f71562, 0x01d94f62, 0x00285d80}}, Y: Field{[10]uint32{0x020a1183, 0x036100cd, 0x00890fa3, 0x016d178c, 0x020baded, 0x026416ce, 0x03025bd9, 0x006c56be, 0x03c8cfea, 0x001d0227}}}, + {X: Field{[10]uint32{0x0180e141, 0x03ce84d3, 0x003d5188, 0x030d53ae, 0x011c24c6, 0x03edeb23, 0x0261a125, 0x03fa41f8, 0x009fb84a, 0x00375c0c}}, Y: Field{[10]uint32{0x00bed563, 0x00d94d51, 0x018682a8, 0x019bd955, 0x024bdfd5, 0x03223777, 0x035b7862, 0x029dfe74, 0x02c0ac93, 0x000c8052}}}, + {X: Field{[10]uint32{0x03037afd, 0x015dda21, 0x003f783b, 0x024e4832, 0x03cadefb, 0x0131a8bc, 0x01253f00, 0x02ebe5c0, 0x003de746, 0x001e7f54}}, Y: Field{[10]uint32{0x00a61b93, 0x035a437b, 0x0317f1e0, 0x000023a2, 0x0286a4e6, 0x011e948f, 0x0220c266, 0x0024c4fe, 0x02586318, 0x000f172d}}}, + {X: Field{[10]uint32{0x020ff6a0, 0x00b048ae, 0x009566b9, 0x022a4d58, 0x021e7265, 0x01a8a692, 0x00eb8961, 0x0358ec7d, 0x037d77c7, 0x00346abc}}, Y: Field{[10]uint32{0x00a93bec, 0x004e514f, 0x0232ecfd, 0x0276766b, 0x00c7cac3, 0x03d0d6f7, 0x01f0e0bb, 0x02e81caf, 0x03ae5cfb, 0x00394d6d}}}, + {X: Field{[10]uint32{0x02d93c4f, 0x0149d5ea, 0x016445c7, 0x01635966, 0x01fe525d, 0x033690d1, 0x02b74fc2, 0x03652e6d, 0x0382b351, 0x001a3fc6}}, Y: Field{[10]uint32{0x0065a13c, 0x0063cead, 0x0192b798, 0x01d21460, 0x019186e3, 0x01764ef7, 0x02194aac, 0x02b02341, 0x02f1c422, 0x002aeec3}}}, + {X: Field{[10]uint32{0x0210552d, 0x00701665, 0x0224a5c4, 0x02898bb3, 0x0314393e, 0x01329921, 0x01b73bcf, 0x00f97417, 0x00971806, 0x00089e17}}, Y: Field{[10]uint32{0x021d8774, 0x00606aab, 0x018c4157, 0x0128972e, 0x021933e6, 0x029d735b, 0x005e75c8, 0x02a03093, 0x026ad7a7, 0x00270200}}}, + {X: Field{[10]uint32{0x035ffebf, 0x007c9113, 0x00580889, 0x018e9df6, 0x02e26780, 0x03f085d8, 0x00662583, 0x02dd5d7c, 0x01e7563f, 0x00189b2d}}, Y: Field{[10]uint32{0x028498b4, 0x01c32f19, 0x0211cce1, 0x0289598b, 0x01953a6d, 0x02a61470, 0x01161845, 0x030fc90d, 0x03f672c3, 0x00020da7}}}, + {X: Field{[10]uint32{0x00d12d2a, 0x01a3d6a0, 0x01ac55e6, 0x0392dbeb, 0x0061c8c4, 0x022293ca, 0x03fa430b, 0x01841603, 0x02f4d6f4, 0x002a67c3}}, Y: Field{[10]uint32{0x01053d06, 0x03fccfac, 0x00d3e28f, 0x012be0c1, 0x024e2f06, 0x02b8abbd, 0x0002c406, 0x00020dde, 0x032939db, 0x0025cab7}}}, + {X: Field{[10]uint32{0x03f02645, 0x00c77a71, 0x03e61019, 0x00f32acf, 0x03784afe, 0x03efa52a, 0x000a3fbd, 0x02cb6f2e, 0x02272ff0, 0x002c90f3}}, Y: Field{[10]uint32{0x020b7559, 0x0011238d, 0x03e9f41a, 0x0161188a, 0x023e85b8, 0x03a9460d, 0x0233df8f, 0x0320831c, 0x0119fbb8, 0x0036cbab}}}, + {X: Field{[10]uint32{0x0363deb3, 0x037d5c10, 0x022f3f8b, 0x019150c8, 0x0143efb2, 0x002877fd, 0x031b21a0, 0x02d8b1a9, 0x009d685c, 0x0031d38f}}, Y: Field{[10]uint32{0x01c4b2ec, 0x00d121bb, 0x03ed4387, 0x02d87a0c, 0x025cd550, 0x013bed86, 0x00358efc, 0x00f4168e, 0x0261fbf2, 0x00261f60}}}, + {X: Field{[10]uint32{0x01f71c47, 0x01bbc377, 0x03047888, 0x03090f70, 0x01d34710, 0x03025ba7, 0x00885f34, 0x01352f47, 0x00a7fc98, 0x003fcbd9}}, Y: Field{[10]uint32{0x006e906d, 0x006a16a8, 0x0249765e, 0x0035e17c, 0x0309eac6, 0x01a43035, 0x02c91257, 0x00bf7c7b, 0x0258fd5e, 0x00053018}}}, + {X: Field{[10]uint32{0x03712085, 0x0188506e, 0x01badec1, 0x0053da86, 0x026819b5, 0x0103dd0e, 0x02e8a8b1, 0x02ac934d, 0x00e13f4c, 0x001f64b1}}, Y: Field{[10]uint32{0x01b698c8, 0x01bd05a0, 0x033d1b72, 0x00839af8, 0x003e0dc9, 0x0369a1ae, 0x03193309, 0x035f4aa6, 0x03622ec7, 0x00181ad5}}}, + {X: Field{[10]uint32{0x03e13b6c, 0x03495183, 0x01518a0b, 0x0083fef3, 0x024ce0cc, 0x01e54580, 0x009487c7, 0x014a2627, 0x014d9ef4, 0x0000e90f}}, Y: Field{[10]uint32{0x01deb36e, 0x028ff036, 0x01912dfb, 0x02854d26, 0x00eedad2, 0x01ac49aa, 0x0228d61e, 0x024179ae, 0x03255768, 0x0017c934}}}, + {X: Field{[10]uint32{0x02a25f8f, 0x010a9b3b, 0x02308673, 0x0016cf19, 0x026e59fd, 0x01c74317, 0x00c67e73, 0x01793457, 0x03028010, 0x000239cb}}, Y: Field{[10]uint32{0x016b368e, 0x00767782, 0x015099ea, 0x02b66ef7, 0x031eada5, 0x01ede6c0, 0x01870da4, 0x02e1b7c2, 0x005158fd, 0x00025377}}}, + {X: Field{[10]uint32{0x00ef54dd, 0x03404f33, 0x02d6bfd9, 0x02c3961c, 0x02ab8789, 0x00d0fc4b, 0x037f9d18, 0x009d8b29, 0x00236dc0, 0x002e273f}}, Y: Field{[10]uint32{0x011141cd, 0x01ee4110, 0x0037d2ba, 0x0173c7dd, 0x01c3ad13, 0x03e18344, 0x02ce6f9d, 0x0265ad29, 0x028545a5, 0x0027269c}}}, + {X: Field{[10]uint32{0x01ccb59b, 0x03924410, 0x03ebbc64, 0x00f8b11c, 0x016744a4, 0x01892ced, 0x0190b535, 0x01a2d2ec, 0x00089798, 0x003a17b8}}, Y: Field{[10]uint32{0x02cbd6a2, 0x01d69484, 0x01723a80, 0x022fe10b, 0x010e1c9a, 0x01fb7747, 0x03e3b3d0, 0x03143089, 0x030f9ede, 0x0034ebf9}}}, + {X: Field{[10]uint32{0x02cb97b5, 0x035764ed, 0x01b3bfb0, 0x0144e645, 0x02f7f906, 0x0144d019, 0x00c8e16d, 0x01b4564f, 0x03f2774d, 0x0036375a}}, Y: Field{[10]uint32{0x035e26f4, 0x015bd294, 0x02b2c6d2, 0x03464544, 0x0325f7e6, 0x0217a7e2, 0x0031862b, 0x013cfc45, 0x00945f73, 0x0016880c}}}, + {X: Field{[10]uint32{0x02aa94e8, 0x00e1689d, 0x02aec3e6, 0x03be634d, 0x00033968, 0x0344cf61, 0x03bd5545, 0x02f7ad17, 0x01c5328f, 0x001df820}}, Y: Field{[10]uint32{0x00c2959a, 0x02daf845, 0x01669c0c, 0x02de4688, 0x00ba597f, 0x03820141, 0x026291a3, 0x03cbe116, 0x03f7ca25, 0x000b3a14}}}, + {X: Field{[10]uint32{0x03c904ab, 0x0311e7d9, 0x018c4fb9, 0x00f6c6b4, 0x02b5b920, 0x0127c1e8, 0x020b82f5, 0x025a09a0, 0x02eae8a4, 0x001441e1}}, Y: Field{[10]uint32{0x039cd96b, 0x025a19eb, 0x018a8fbd, 0x0307aac7, 0x00b39382, 0x0077219d, 0x03e21ae7, 0x031a7fd8, 0x03854e4d, 0x003704c0}}}, + {X: Field{[10]uint32{0x0242639d, 0x0109e268, 0x00ddabb6, 0x00cceaf0, 0x021169e4, 0x00203430, 0x0121056e, 0x0356d930, 0x02b3fbda, 0x000beebf}}, Y: Field{[10]uint32{0x00405cd3, 0x03e29f05, 0x031c92f3, 0x03257a97, 0x015ff199, 0x0074face, 0x019ef0a1, 0x02853796, 0x002fd9e6, 0x0002a176}}}, + {X: Field{[10]uint32{0x0312ae0a, 0x00ad791e, 0x02ae673b, 0x002478a3, 0x02aec808, 0x02d7c031, 0x03fbbc26, 0x0118f07c, 0x03eb6e6e, 0x0008036f}}, Y: Field{[10]uint32{0x03a95ecf, 0x0370072e, 0x0344ac59, 0x01dbf346, 0x03832127, 0x01524609, 0x021f0711, 0x00f65e0f, 0x0219bdaa, 0x001214a8}}}, + {X: Field{[10]uint32{0x00b8a3d9, 0x03fcaf89, 0x00ab41ac, 0x01c95086, 0x013ec225, 0x014b36e1, 0x03d46b6e, 0x03df7024, 0x00f60259, 0x0009ec50}}, Y: Field{[10]uint32{0x00583387, 0x02a9fff0, 0x00f7bc85, 0x018dc69d, 0x0228bb5d, 0x004c38c4, 0x00054c4f, 0x02b6eb50, 0x009f70cb, 0x000f3bb4}}}, + {X: Field{[10]uint32{0x015b7e71, 0x03592afa, 0x00a0fcd1, 0x032b5ca3, 0x000e175c, 0x0130ac0b, 0x022ec351, 0x014c4608, 0x01ee535c, 0x003f9250}}, Y: Field{[10]uint32{0x011f56f6, 0x01c013b9, 0x0370ed35, 0x03796172, 0x03748e0a, 0x02992b68, 0x01cb4422, 0x01946f62, 0x01ae286d, 0x003a7372}}}, + {X: Field{[10]uint32{0x01ff1cdf, 0x00e4979d, 0x01d885a0, 0x03b5664d, 0x030ce47c, 0x016f8bc5, 0x03443d76, 0x0252f4db, 0x009b4cae, 0x000c5f48}}, Y: Field{[10]uint32{0x02262d72, 0x01297ae2, 0x02864543, 0x037de298, 0x02c942a5, 0x02daa007, 0x03945af4, 0x015c703f, 0x009568fe, 0x00030645}}}, + {X: Field{[10]uint32{0x0093f9ea, 0x026850f3, 0x02cead9f, 0x002d64f3, 0x03df32e8, 0x00543a6a, 0x005f8ab0, 0x00c391dc, 0x0377764e, 0x003e5469}}, Y: Field{[10]uint32{0x03afd925, 0x01c3c548, 0x03052655, 0x00ec46b8, 0x026ac261, 0x004b3777, 0x00cc6b8b, 0x0088fb9b, 0x01d625f2, 0x003bee54}}}, + {X: Field{[10]uint32{0x0389c8ef, 0x007cd10c, 0x0284d309, 0x03d9b968, 0x024f251a, 0x03f925aa, 0x03229a9f, 0x023a2fc3, 0x00ebf5fd, 0x001c6b7c}}, Y: Field{[10]uint32{0x036969f4, 0x039957da, 0x0242539c, 0x01cb9d9d, 0x0198ed56, 0x0371ceb7, 0x00dfdf72, 0x0154d99d, 0x0063293a, 0x0004fd1d}}}, + {X: Field{[10]uint32{0x0236be75, 0x00471140, 0x02ea5009, 0x007a07db, 0x02c3fbab, 0x03518d04, 0x01cff39a, 0x03a03526, 0x000658c0, 0x0000ba81}}, Y: Field{[10]uint32{0x014f923f, 0x018ef225, 0x02234291, 0x03b7fbb8, 0x03d82c08, 0x02682938, 0x01743d20, 0x00dc87c2, 0x00740607, 0x0002f94b}}}, + {X: Field{[10]uint32{0x02182aea, 0x02df946d, 0x009350d9, 0x00b6589e, 0x03a37344, 0x00fc2c7c, 0x00c42223, 0x020309d4, 0x03904b3e, 0x00108d48}}, Y: Field{[10]uint32{0x01221d91, 0x03fb59f6, 0x02966395, 0x023e053e, 0x000fe09e, 0x02580c89, 0x008e48ba, 0x014598c3, 0x0349b27b, 0x001fd608}}}, + {X: Field{[10]uint32{0x027dda91, 0x03eae7be, 0x00e53771, 0x027b7023, 0x017702a2, 0x026af82d, 0x0064bf8e, 0x00a16e58, 0x0082a92b, 0x0014934f}}, Y: Field{[10]uint32{0x00f29c3a, 0x011c903c, 0x01894ec7, 0x01dc34fb, 0x00366a84, 0x00c6ff57, 0x0368e053, 0x02cb7352, 0x0217fdc6, 0x00291e80}}}, + {X: Field{[10]uint32{0x0056f7e8, 0x02eb85b0, 0x00c48776, 0x02bf45af, 0x000fc83c, 0x008c8ca7, 0x02eb5f5f, 0x013799aa, 0x02085ce0, 0x003dbb87}}, Y: Field{[10]uint32{0x00cea4d9, 0x01ab1b6f, 0x03c75c2f, 0x017462c9, 0x00ccbc95, 0x0251f5ed, 0x01939774, 0x03526aa8, 0x026a7e2b, 0x000cca2c}}}, + {X: Field{[10]uint32{0x03273978, 0x01345ac5, 0x03dae313, 0x01be6f64, 0x002ea84e, 0x0141df48, 0x02b5d119, 0x00505dc8, 0x012bb88f, 0x00270bdf}}, Y: Field{[10]uint32{0x01ab2a3a, 0x006f8f0b, 0x007daa57, 0x032bb94c, 0x01d338a4, 0x031795af, 0x033c5927, 0x02d0d739, 0x000366c8, 0x0004227c}}}, + {X: Field{[10]uint32{0x0299cc3c, 0x0204f1b2, 0x0228f9b9, 0x01ed23bf, 0x0305897b, 0x014eb879, 0x0124f152, 0x02db947f, 0x02b6730f, 0x00164e87}}, Y: Field{[10]uint32{0x0344f079, 0x00cc005d, 0x00ace404, 0x006a8ec7, 0x0109e35c, 0x03dd3946, 0x003a6300, 0x00b646f0, 0x0020fbd2, 0x003f3ede}}}, + {X: Field{[10]uint32{0x01f957e3, 0x00d4ac54, 0x039f40ef, 0x03ff7968, 0x028ec0ea, 0x01fe1e97, 0x004bc603, 0x02eb32f3, 0x00c383a7, 0x0018ae84}}, Y: Field{[10]uint32{0x007bdd45, 0x01fa7f33, 0x020bec2a, 0x003b5e99, 0x019fd01e, 0x02828940, 0x025fa19a, 0x02858695, 0x01b0dc84, 0x003099e8}}}, + {X: Field{[10]uint32{0x03731f64, 0x00f18657, 0x03c6a6d7, 0x0240529d, 0x0239e123, 0x00e92a76, 0x03641fe0, 0x018a858f, 0x0010deae, 0x000778ab}}, Y: Field{[10]uint32{0x03c8d2b2, 0x0106a276, 0x00006d71, 0x017e9bd4, 0x00a512b7, 0x0208853f, 0x027b5ad7, 0x025a7410, 0x0095b6d7, 0x00183d0f}}}, + {X: Field{[10]uint32{0x03d4e1d3, 0x0105b083, 0x02a6da43, 0x01c5ab2e, 0x00c48e92, 0x005dcbc6, 0x01086123, 0x020f220f, 0x01527090, 0x003c4695}}, Y: Field{[10]uint32{0x02d742f4, 0x024d4528, 0x03f4cdf5, 0x015368bc, 0x002be515, 0x02356cec, 0x00e397b3, 0x023106db, 0x01647cf4, 0x0029b42b}}}, + {X: Field{[10]uint32{0x00dc33fc, 0x02ba5b5f, 0x0243d2ae, 0x00fc45b0, 0x013dbad4, 0x032971fd, 0x015cc01f, 0x025f9487, 0x0240d756, 0x003d1151}}, Y: Field{[10]uint32{0x02549102, 0x0213de59, 0x026cfb37, 0x01af133d, 0x036b2599, 0x029d3b21, 0x02d70531, 0x01dc1175, 0x00ef46fe, 0x0010a5cb}}}, + {X: Field{[10]uint32{0x01b8780a, 0x00bb2368, 0x01ad4cad, 0x023423b3, 0x0110905b, 0x02cc67eb, 0x03c20fa3, 0x0019f06d, 0x007397be, 0x000afebc}}, Y: Field{[10]uint32{0x02590285, 0x03314993, 0x03cd5775, 0x02c57e08, 0x039077de, 0x025c3d3e, 0x028bdee9, 0x03259cf4, 0x0099ea97, 0x003b5499}}}, + {X: Field{[10]uint32{0x00f5f73b, 0x03153dd3, 0x01222cfe, 0x01623b5a, 0x026df6e0, 0x0108bdce, 0x023ca163, 0x03b642f7, 0x00812b5f, 0x003f06af}}, Y: Field{[10]uint32{0x032b975f, 0x03444da5, 0x01d8faf0, 0x01bd3fa7, 0x007ac68f, 0x02c73471, 0x00481dc4, 0x03f2f91a, 0x02db471c, 0x0036c71b}}}, + {X: Field{[10]uint32{0x00506a8d, 0x01db9bd3, 0x00c76124, 0x017ef8c7, 0x01b717d6, 0x024f00ab, 0x036f92d2, 0x00be6e8d, 0x02ac82e0, 0x00360e30}}, Y: Field{[10]uint32{0x01189377, 0x01ecc68d, 0x02ae251d, 0x032cf83d, 0x03532dd1, 0x01faac48, 0x0176f6ca, 0x03e380f0, 0x00670388, 0x00361e8c}}}, + {X: Field{[10]uint32{0x013ee38c, 0x025f81ac, 0x004b92f6, 0x03c4ce87, 0x0132c53f, 0x0269794e, 0x019d54ca, 0x015d2689, 0x02ff0729, 0x0012cea0}}, Y: Field{[10]uint32{0x028d6265, 0x02cc1d6e, 0x0229032d, 0x012f95c2, 0x00bf6073, 0x03205484, 0x026a0c46, 0x0115b4fd, 0x0341a788, 0x00110dca}}}, + {X: Field{[10]uint32{0x00e411aa, 0x035ab4ff, 0x002f20b8, 0x02438de7, 0x008e79d2, 0x02f54bdc, 0x01eaf6a9, 0x02b538c9, 0x03f36731, 0x0035df2e}}, Y: Field{[10]uint32{0x038372f0, 0x026fe13f, 0x01b50525, 0x019928e1, 0x02051f42, 0x0122f6a6, 0x02812377, 0x004f1e46, 0x0125f078, 0x003b919b}}}, + {X: Field{[10]uint32{0x02ea1483, 0x03f1b4bb, 0x006ec84e, 0x00b303c7, 0x03bed187, 0x014eb0c1, 0x00a75dc9, 0x002e09bb, 0x02b25892, 0x000e19fd}}, Y: Field{[10]uint32{0x0388aee3, 0x019c4d6b, 0x01cf4b82, 0x03d1a2b0, 0x01254d70, 0x032a7172, 0x013ff18d, 0x02025e80, 0x02dce607, 0x00331a9a}}}, + {X: Field{[10]uint32{0x001b0a9a, 0x02d4bbf3, 0x01279930, 0x026301ed, 0x032123fe, 0x0083dfc5, 0x00ea7dff, 0x03213d86, 0x0075e85f, 0x001ec022}}, Y: Field{[10]uint32{0x03075f90, 0x0159802f, 0x03904a8c, 0x00d2d42e, 0x02331f78, 0x00541dcb, 0x0055a1c4, 0x0245a697, 0x00bb8dbc, 0x000fcecc}}}, + {X: Field{[10]uint32{0x0234ef3a, 0x02875de3, 0x009a5ba7, 0x01e81369, 0x02907e9b, 0x01352de5, 0x01795600, 0x0129261d, 0x00d91630, 0x002e96d1}}, Y: Field{[10]uint32{0x03333661, 0x0131d6f3, 0x01e13f87, 0x01d8fb4e, 0x024d47ea, 0x00373537, 0x02e124f0, 0x0278ee6e, 0x03aa4821, 0x0005ad26}}}, + {X: Field{[10]uint32{0x02b8d9df, 0x0358a738, 0x03594342, 0x0084d568, 0x02910fe5, 0x016fe991, 0x02b3a23b, 0x00483614, 0x03e27fe4, 0x001a47ab}}, Y: Field{[10]uint32{0x02c71d85, 0x01fe7e2d, 0x02878188, 0x007712f2, 0x01bd71ea, 0x01489f6f, 0x0294fd6a, 0x013729f0, 0x00974218, 0x0010e818}}}, + {X: Field{[10]uint32{0x00a54123, 0x001b9215, 0x002d8440, 0x035f0dd5, 0x01551377, 0x01177299, 0x0173e38a, 0x02a1bcd4, 0x00bbc9f5, 0x00004e9b}}, Y: Field{[10]uint32{0x00488620, 0x00625202, 0x004b884d, 0x023cc08f, 0x028a43d3, 0x03a3ebe7, 0x01cc2e62, 0x01367bff, 0x009c9a96, 0x003b3ce0}}}, + {X: Field{[10]uint32{0x02f10e45, 0x00ba3579, 0x036ceb71, 0x0080b730, 0x02da6654, 0x02d3c396, 0x01731e91, 0x01734a4f, 0x02f3fb59, 0x000cff4a}}, Y: Field{[10]uint32{0x018ed2cf, 0x00c79802, 0x00c31f63, 0x00c6cea5, 0x0280ca53, 0x00233e8e, 0x0181bf98, 0x0376912e, 0x007a0a8b, 0x00389a8c}}}, + {X: Field{[10]uint32{0x00b774f6, 0x02f962cd, 0x0244c15c, 0x02608bd3, 0x03b00332, 0x029d6124, 0x033ba575, 0x01fde1da, 0x003359e4, 0x001d6550}}, Y: Field{[10]uint32{0x020458a9, 0x01c0f797, 0x01253f8e, 0x00729eb4, 0x00b6e665, 0x0110b000, 0x02998553, 0x015a36c2, 0x004070b8, 0x001fba68}}}, + {X: Field{[10]uint32{0x035b9480, 0x0176965b, 0x032f3650, 0x01944340, 0x00b3dd36, 0x01052fbd, 0x0015e7e8, 0x01f9a13a, 0x03b0c3b1, 0x001e4667}}, Y: Field{[10]uint32{0x03d9a0ab, 0x02b0fb94, 0x021b5054, 0x020d0646, 0x00abaab3, 0x0128156e, 0x03aacba5, 0x03273fbc, 0x0173f358, 0x00256f2a}}}, + {X: Field{[10]uint32{0x011aa352, 0x01c00029, 0x017b5d6d, 0x0306b226, 0x006edd0b, 0x028cff50, 0x03ed64e0, 0x03382cb9, 0x00e7962e, 0x0025c17d}}, Y: Field{[10]uint32{0x019ff347, 0x0375ca12, 0x0399db2b, 0x0157dc6a, 0x0058f408, 0x024875b6, 0x026193d8, 0x011ea284, 0x0357ad45, 0x00135339}}}, + {X: Field{[10]uint32{0x012fd777, 0x0368f38c, 0x02e12df7, 0x01d6e2c5, 0x01cadeeb, 0x00dd99d3, 0x0160b983, 0x02ad7cc1, 0x0067b841, 0x002206bc}}, Y: Field{[10]uint32{0x0083b84f, 0x0337b24d, 0x037019ac, 0x00f468e8, 0x017588be, 0x02c512c7, 0x010f62d8, 0x03c175f0, 0x03d4512e, 0x0033304f}}}, + {X: Field{[10]uint32{0x00e99621, 0x0357d704, 0x012fb1f6, 0x02dcbf50, 0x0041bfc3, 0x01eb41e5, 0x02e14cd9, 0x032763d0, 0x024433c2, 0x003fa3de}}, Y: Field{[10]uint32{0x02b3b2a9, 0x00ff752d, 0x026572a9, 0x03cf311a, 0x034c8bab, 0x0211b1e6, 0x01c4ee3a, 0x010dd25b, 0x02ee0cf3, 0x00396d5d}}}, + {X: Field{[10]uint32{0x004d798f, 0x024eaf17, 0x006cb918, 0x01927814, 0x0384f400, 0x00f0d3a0, 0x012f8320, 0x022ce0fe, 0x00da18e0, 0x003fd0f2}}, Y: Field{[10]uint32{0x01df2e7f, 0x01f6c05f, 0x02fd5242, 0x00ce92ec, 0x02f5a754, 0x02076f61, 0x009dde19, 0x03680b03, 0x005923a9, 0x00295d68}}}, + {X: Field{[10]uint32{0x00db276b, 0x031bf54a, 0x00a42ed3, 0x0105cd9e, 0x03d8f9d8, 0x012ec6cc, 0x00852427, 0x0138844d, 0x0056b97f, 0x00011c54}}, Y: Field{[10]uint32{0x014302b2, 0x03e88061, 0x0212fcab, 0x03b99beb, 0x0073a18b, 0x02e62a8a, 0x00cd71ef, 0x03c767fa, 0x01463521, 0x002d3034}}}, + {X: Field{[10]uint32{0x031fff51, 0x0121c709, 0x00814974, 0x03acc6a2, 0x02acd85e, 0x02e0f9fb, 0x0251394c, 0x00756b0a, 0x0008c5f5, 0x00217276}}, Y: Field{[10]uint32{0x03666a7d, 0x024aef96, 0x01eb8b49, 0x0034660b, 0x02018505, 0x01bb1fd7, 0x0191454d, 0x026e219a, 0x03bf2382, 0x0000a9f0}}}, + {X: Field{[10]uint32{0x0170dac9, 0x0265fe5f, 0x02f24529, 0x031db5b4, 0x03f46b60, 0x000d1173, 0x00b4b259, 0x00da380f, 0x00ef8b1e, 0x00300ae5}}, Y: Field{[10]uint32{0x0325f3a0, 0x00d0f079, 0x021d680a, 0x028ab3e5, 0x0310fadb, 0x037874a2, 0x0017825a, 0x02079235, 0x0129bcff, 0x002eee5f}}}, + {X: Field{[10]uint32{0x00241df6, 0x011caa0e, 0x02db3e29, 0x018ffb9e, 0x020fcb8b, 0x034d4e87, 0x01ac4393, 0x01bdf90c, 0x03bd28e2, 0x0012c564}}, Y: Field{[10]uint32{0x02fdcc56, 0x0138d3bc, 0x00ef0d6e, 0x022cf332, 0x003f184f, 0x02b27616, 0x0225b113, 0x01a15498, 0x0328f496, 0x002299e9}}}, + {X: Field{[10]uint32{0x02a64dd4, 0x007353c9, 0x00dd231d, 0x01b92e77, 0x037a8e7f, 0x0354a1a6, 0x02505559, 0x037b8eb5, 0x015bba51, 0x003d901d}}, Y: Field{[10]uint32{0x0287e1c8, 0x03414e5b, 0x00882a48, 0x03215745, 0x0391e0e3, 0x03092b01, 0x0029f6ee, 0x00a42f53, 0x0000a53e, 0x001ce1fe}}}, + {X: Field{[10]uint32{0x0389515b, 0x01da5e5d, 0x0206e022, 0x008a4529, 0x0016d0a5, 0x01c233be, 0x036f42cd, 0x00db18f7, 0x02a94368, 0x002524d1}}, Y: Field{[10]uint32{0x00e2b356, 0x00e0ee6a, 0x00073031, 0x034fb797, 0x0031dd41, 0x021d505d, 0x025c847b, 0x000807bd, 0x032d952a, 0x002a40e4}}}, + {X: Field{[10]uint32{0x03f91a60, 0x01802299, 0x0245cde4, 0x020f172f, 0x02cdcc97, 0x026308bc, 0x010b1f66, 0x03b7f08e, 0x019ec769, 0x00060902}}, Y: Field{[10]uint32{0x011bd1e2, 0x0109d9cc, 0x02ae0adf, 0x0200de24, 0x02804a87, 0x03e82238, 0x02051f3b, 0x013755b3, 0x01fa81e0, 0x0003e101}}}, + {X: Field{[10]uint32{0x0201d341, 0x022b3475, 0x022f92ec, 0x02484e71, 0x00683aa7, 0x03a57cf7, 0x005f34cc, 0x00f64a20, 0x03d8e463, 0x0039ad1b}}, Y: Field{[10]uint32{0x001d824a, 0x0074c033, 0x011d1639, 0x02930a0e, 0x00d6c0be, 0x032fd636, 0x00faf4a7, 0x0298e94a, 0x0013f3fe, 0x0014cf6e}}}, + {X: Field{[10]uint32{0x03992b93, 0x010db3ff, 0x0015d60a, 0x014bc5d8, 0x03a04c62, 0x03504e74, 0x00d150d3, 0x02c63752, 0x0330dc19, 0x0018de66}}, Y: Field{[10]uint32{0x02dcc41b, 0x0336c345, 0x015073c3, 0x032cae8d, 0x0007f485, 0x03c1905e, 0x00e72f5f, 0x0137bb40, 0x01125ebf, 0x00098814}}}, + {X: Field{[10]uint32{0x02ad7338, 0x028a7c4b, 0x01676670, 0x00927c7f, 0x037fac53, 0x038dc2c3, 0x01b88d3a, 0x0280b7a1, 0x035ab1d5, 0x0023340b}}, Y: Field{[10]uint32{0x00c0d8e4, 0x03c2586f, 0x006278e2, 0x03bb10e4, 0x03511d56, 0x02f26ee9, 0x02cb70f0, 0x02275984, 0x02acceb6, 0x000d62d0}}}, + {X: Field{[10]uint32{0x01f82fab, 0x0286a7b7, 0x00991d3e, 0x0199282a, 0x01f76127, 0x03ccec19, 0x01aba41b, 0x034777a5, 0x03e6d48b, 0x00357859}}, Y: Field{[10]uint32{0x0271d1f7, 0x0309a1ab, 0x03d70849, 0x0188e095, 0x02aaf45f, 0x03361ab8, 0x00ec9cb3, 0x0337d3f1, 0x0182d653, 0x001b308e}}}, + {X: Field{[10]uint32{0x009bfdba, 0x006773df, 0x030cf4ff, 0x01096192, 0x01d72b19, 0x01fc0306, 0x034f09d9, 0x03cb7c4c, 0x01006987, 0x003101cd}}, Y: Field{[10]uint32{0x037ff262, 0x003274ff, 0x00ca82bf, 0x002b295a, 0x02b760ff, 0x000de3e0, 0x03366bf3, 0x004c9aa6, 0x00466b46, 0x003d959a}}}, + {X: Field{[10]uint32{0x00c4fde2, 0x0031eabc, 0x02b91184, 0x0303ecb7, 0x0229a7c2, 0x020e0c63, 0x0221db2a, 0x006fec22, 0x02719c50, 0x000277c7}}, Y: Field{[10]uint32{0x02d00fc0, 0x014c973e, 0x03ea580a, 0x016d0f7b, 0x03e977c7, 0x024079c0, 0x0315ae54, 0x00300ac0, 0x00ae6d0e, 0x003358a3}}}, + {X: Field{[10]uint32{0x024c696c, 0x022e134a, 0x0165b7d0, 0x01242b5c, 0x031c91c2, 0x0248b165, 0x03108ee6, 0x030c2408, 0x0029df73, 0x002545d9}}, Y: Field{[10]uint32{0x01c0fbe4, 0x0021b2fa, 0x000cbdd8, 0x02dc901d, 0x011994fb, 0x00dd724a, 0x02084700, 0x036f3208, 0x00493b62, 0x000fb3ff}}}, + {X: Field{[10]uint32{0x01628c6e, 0x023d8031, 0x0156da31, 0x021cd3d5, 0x02f57fe1, 0x012fa3ed, 0x03a7e0e9, 0x0034d784, 0x00e8692b, 0x001c2312}}, Y: Field{[10]uint32{0x0105a664, 0x0378c828, 0x029bfe1c, 0x0004fdf6, 0x005af7e6, 0x03da8bc0, 0x020432e9, 0x00747c9f, 0x0302deee, 0x00254d38}}}, + {X: Field{[10]uint32{0x025b4c09, 0x00732853, 0x0222b299, 0x030274c9, 0x0146275e, 0x02c9af85, 0x01620794, 0x031ce6d7, 0x017ab82d, 0x0009dd78}}, Y: Field{[10]uint32{0x031ccddc, 0x02de4206, 0x0152e8a9, 0x00a21d13, 0x03338ab2, 0x03684ca3, 0x02b52c28, 0x00d67f7b, 0x027c80e8, 0x000ea9bb}}}, + {X: Field{[10]uint32{0x030192da, 0x0248a700, 0x03270be1, 0x00d0f0e0, 0x0044da6b, 0x023ed228, 0x0334959b, 0x013cc73c, 0x02c2039c, 0x0011f06a}}, Y: Field{[10]uint32{0x000d7cc0, 0x038562d8, 0x003551fd, 0x0168848a, 0x00e5813f, 0x02681471, 0x01cd4025, 0x03087611, 0x011c5ba6, 0x00176b59}}}, + {X: Field{[10]uint32{0x00bad15e, 0x036a86ee, 0x02c70d77, 0x0353e8a2, 0x01eef459, 0x033e897c, 0x03b2bf59, 0x01325806, 0x005a4b86, 0x003e03d1}}, Y: Field{[10]uint32{0x0374ff16, 0x01ffdc2c, 0x02c8863f, 0x03d297c4, 0x0183cd57, 0x03a7e239, 0x00b9da6c, 0x01a659b4, 0x02046b8c, 0x0028e0f7}}}, + {X: Field{[10]uint32{0x014d2f66, 0x02e40faf, 0x01bf6f9c, 0x00967cb5, 0x02b22081, 0x01e2dc5c, 0x01f436d5, 0x00d866a3, 0x03b91ad3, 0x000a4939}}, Y: Field{[10]uint32{0x00841875, 0x022f6e12, 0x00effa76, 0x0156b58b, 0x02afa412, 0x005747c1, 0x00e4f3fe, 0x027d50d2, 0x0169e231, 0x002e1908}}}, + {X: Field{[10]uint32{0x02dc4d83, 0x01017cdd, 0x02e2af13, 0x0179df8c, 0x00431078, 0x028ae6b1, 0x001854e3, 0x013b4a0d, 0x007b91a6, 0x000df582}}, Y: Field{[10]uint32{0x01f25003, 0x02e65c4f, 0x01b1f9bd, 0x0024b094, 0x01a3ac9f, 0x00b9bf37, 0x023092f3, 0x02f32ea0, 0x0117e068, 0x000d688e}}}, + {X: Field{[10]uint32{0x00f4fab2, 0x0372e484, 0x00fd8391, 0x033a0a53, 0x03e000d2, 0x033e12d3, 0x003691cb, 0x006f81ad, 0x016dc79f, 0x0035d22a}}, Y: Field{[10]uint32{0x005bf51c, 0x031369bc, 0x036c8223, 0x009eabed, 0x00975c09, 0x02e05c8a, 0x017e5c04, 0x0240bb39, 0x01e065da, 0x001d6d2b}}}, + {X: Field{[10]uint32{0x002cc30c, 0x00cf41b9, 0x03a8fa02, 0x013b0957, 0x03949241, 0x00edbee5, 0x02361ea3, 0x0213fc98, 0x0225eb50, 0x0034174a}}, Y: Field{[10]uint32{0x01a6f2d2, 0x03ead81a, 0x00f4e75e, 0x02616ea6, 0x01ba57a1, 0x022a80f6, 0x03514290, 0x0323ce16, 0x02eececd, 0x00052eef}}}, + {X: Field{[10]uint32{0x003ff793, 0x022765d2, 0x0030278c, 0x03d7a2a3, 0x00b4684b, 0x0193b2a7, 0x03f39067, 0x03b6f96b, 0x015bd137, 0x001a6ea6}}, Y: Field{[10]uint32{0x03b63e32, 0x03864d96, 0x000b246d, 0x01b1c056, 0x01a79ad9, 0x007176e5, 0x033e8649, 0x01965a60, 0x0051b622, 0x000ac73d}}}, + {X: Field{[10]uint32{0x00419461, 0x00bfdc55, 0x0197d9a8, 0x03cbc7b2, 0x033a50af, 0x01418412, 0x020342ff, 0x033ca3f7, 0x01a15d0e, 0x001fc07a}}, Y: Field{[10]uint32{0x0112dc68, 0x037310eb, 0x030e5e03, 0x0196a0d1, 0x03d27040, 0x03b72ad8, 0x01e25d1f, 0x034dd4d8, 0x0194a6b8, 0x00070f25}}}, + {X: Field{[10]uint32{0x02e48cc6, 0x02902795, 0x0219d813, 0x000fc3e1, 0x00f2413d, 0x00613933, 0x0201bc47, 0x024107f4, 0x02fd193b, 0x001c648c}}, Y: Field{[10]uint32{0x0229a953, 0x00674f2b, 0x02d1e68b, 0x028197e0, 0x0312fb55, 0x03ab816a, 0x037ff609, 0x02c14d4c, 0x03187dcc, 0x000587f1}}}, + {X: Field{[10]uint32{0x02e78c27, 0x00f7219d, 0x03d082f5, 0x03e91b22, 0x039a63bc, 0x01ef4a2f, 0x006009a5, 0x01cc40ce, 0x0120155f, 0x00056e10}}, Y: Field{[10]uint32{0x01737816, 0x00b140cc, 0x03605140, 0x0283aa7e, 0x03188171, 0x0102b293, 0x0004e0c8, 0x01f8bfa6, 0x037ec901, 0x0011f758}}}, + {X: Field{[10]uint32{0x03fec567, 0x01301d2e, 0x01a2c007, 0x0389d053, 0x0004a95c, 0x02e9a645, 0x0352ed4e, 0x00011df6, 0x0197bd38, 0x003fd0a7}}, Y: Field{[10]uint32{0x017b3048, 0x016a8075, 0x00f2569a, 0x002b2f2e, 0x036708c0, 0x037ddf00, 0x0173f624, 0x016eacd2, 0x03bd6e63, 0x001ece9b}}}, + {X: Field{[10]uint32{0x010a6ee3, 0x02c79575, 0x01ed8858, 0x0012c984, 0x01379174, 0x00b1dfa0, 0x01f476d1, 0x039d333c, 0x005b016b, 0x0003335c}}, Y: Field{[10]uint32{0x00e87c01, 0x02bff0d0, 0x01f1f737, 0x0130c6b6, 0x020946cb, 0x025fde35, 0x0155e178, 0x02c94937, 0x01e75cc7, 0x0021d06b}}}, + {X: Field{[10]uint32{0x03b65b27, 0x030df542, 0x01534d54, 0x001a3526, 0x0294e4b4, 0x00c03b2a, 0x0278e818, 0x0315fe45, 0x025e24b3, 0x00196d86}}, Y: Field{[10]uint32{0x01ed0c40, 0x005a9d9d, 0x024fd79c, 0x031e9719, 0x02f65ac4, 0x02b82147, 0x0386fda2, 0x01ee0bc6, 0x0228aab9, 0x002435d7}}}, + {X: Field{[10]uint32{0x03a06ef0, 0x005067de, 0x00cf173c, 0x021f068e, 0x014ffe04, 0x0163ee39, 0x0382bdd7, 0x01cf650f, 0x01df8f40, 0x0019c54a}}, Y: Field{[10]uint32{0x00fede59, 0x01533f45, 0x029504d8, 0x01071c1d, 0x00454fd1, 0x03547af9, 0x01121e10, 0x00d26b74, 0x032d1f23, 0x00311b67}}}, + {X: Field{[10]uint32{0x001b0440, 0x008f3fe4, 0x035b68e8, 0x0375319c, 0x0073da3f, 0x002ef4b0, 0x02f8e703, 0x005a5c1e, 0x02760e7a, 0x0000abe2}}, Y: Field{[10]uint32{0x02c3c1cb, 0x03f40989, 0x0143f72f, 0x02b7597d, 0x017c34f5, 0x007b8cf3, 0x01659769, 0x01c54f1c, 0x03e79ada, 0x00155596}}}, + {X: Field{[10]uint32{0x03575707, 0x0251ca9b, 0x01fc42fb, 0x03543bd6, 0x024def3f, 0x01f31cc2, 0x00b3b1fb, 0x02ee1d3f, 0x016fc5ff, 0x002b3607}}, Y: Field{[10]uint32{0x01d181a3, 0x00a59180, 0x011cce09, 0x03258fa1, 0x02b87c0e, 0x001c6da5, 0x02f47eb5, 0x03aa7847, 0x028ec8b8, 0x00238c66}}}, + {X: Field{[10]uint32{0x00ffb912, 0x033a36e0, 0x0041bd60, 0x02a66e45, 0x02ae062c, 0x0182a9fc, 0x012d0bb3, 0x03a2f081, 0x03d53ab9, 0x002addf9}}, Y: Field{[10]uint32{0x01f96b5a, 0x0131d48b, 0x02d8fdfa, 0x0262d75b, 0x02aca909, 0x0075c104, 0x03992e5e, 0x02e56e7a, 0x02d9cb0a, 0x0017e4ad}}}, + {X: Field{[10]uint32{0x00124046, 0x0222acde, 0x03265e01, 0x03cded98, 0x031d7efa, 0x001a88c0, 0x03eda09b, 0x0231fbe2, 0x01951a6a, 0x001e62e0}}, Y: Field{[10]uint32{0x002b1bf6, 0x03e75138, 0x01de7a1b, 0x02d7c460, 0x03d91382, 0x0399d1db, 0x004a7e54, 0x0290c0d9, 0x021b0bae, 0x002564b6}}}, + {X: Field{[10]uint32{0x0377b096, 0x0354a2e5, 0x02f29ed6, 0x00e893fd, 0x009dbff9, 0x0222bad3, 0x01dea224, 0x039df637, 0x02ae0c3b, 0x003c921a}}, Y: Field{[10]uint32{0x0029126b, 0x0096aa12, 0x028cc413, 0x018a360e, 0x03d8409b, 0x00dabec2, 0x010327fe, 0x03211df1, 0x0150fe75, 0x00238acb}}}, + {X: Field{[10]uint32{0x006d2d54, 0x025d2205, 0x00333f93, 0x0220993d, 0x02d16ca0, 0x02bbbb9c, 0x0364ee33, 0x03aa2f83, 0x01093b8a, 0x00088b8f}}, Y: Field{[10]uint32{0x02cdcaa9, 0x02d4e772, 0x018a4351, 0x01e332c2, 0x0137ba1f, 0x0283af5e, 0x02dd16e8, 0x02ef1070, 0x000fbfe6, 0x0003bfd4}}}, + {X: Field{[10]uint32{0x0121c1c9, 0x02df4130, 0x01bd0165, 0x007670c8, 0x024f9924, 0x02d4f800, 0x01a18eea, 0x00d1d891, 0x03fe7ca9, 0x0019da34}}, Y: Field{[10]uint32{0x00272877, 0x02bba2e4, 0x00a43823, 0x0094340c, 0x000c4dc8, 0x027871de, 0x019ff1d0, 0x025c888c, 0x0173c9b9, 0x00100b27}}}, + {X: Field{[10]uint32{0x022dda79, 0x01fc263c, 0x00ef2513, 0x02133e32, 0x01b0b628, 0x03f5e057, 0x0325697b, 0x022033bf, 0x000fb2f0, 0x001bad9d}}, Y: Field{[10]uint32{0x0085c86f, 0x027c0fc5, 0x01b68520, 0x02579163, 0x0079c4b6, 0x03d0b9ab, 0x002061c1, 0x015c4f0c, 0x0131c12f, 0x0033dfa1}}}, + {X: Field{[10]uint32{0x025fe51b, 0x0001aaa5, 0x01ac2950, 0x0165c5ca, 0x025ede89, 0x019eda9f, 0x00f385f3, 0x0169faa8, 0x03484eb0, 0x001c407c}}, Y: Field{[10]uint32{0x00d5c3f3, 0x013e24c4, 0x0144be26, 0x01687912, 0x00260559, 0x01c6bf0b, 0x00fff9fc, 0x03edd5de, 0x0113a040, 0x002347ee}}}, + {X: Field{[10]uint32{0x02886579, 0x0239b4c3, 0x0287a11c, 0x03ab3bee, 0x02a0de03, 0x0080c0d8, 0x024b25f1, 0x028978ff, 0x005cacc6, 0x001d6a79}}, Y: Field{[10]uint32{0x03f69c6e, 0x01f00af3, 0x03f7adbe, 0x03e555a0, 0x02854c49, 0x00007f60, 0x0202cf31, 0x021b649a, 0x0195e919, 0x0014aa16}}}, + {X: Field{[10]uint32{0x0337dcbc, 0x0359cc0d, 0x001b2954, 0x03de0c2b, 0x02ceac14, 0x01fe66b7, 0x03ffc542, 0x0195ca62, 0x0192bad7, 0x000c4653}}, Y: Field{[10]uint32{0x03dd2832, 0x007fcfd7, 0x02f19a2d, 0x02f36b0b, 0x028c556e, 0x00f316f1, 0x02449fa3, 0x023bba74, 0x0045f531, 0x00267a07}}}, + {X: Field{[10]uint32{0x03d505af, 0x02562b02, 0x0123c522, 0x030e115f, 0x03c1d743, 0x002d3338, 0x02c61387, 0x01bd0e1a, 0x03fe76fd, 0x002413e8}}, Y: Field{[10]uint32{0x03c1763b, 0x02ab9069, 0x023045c8, 0x03ece55e, 0x018dae9b, 0x0131c165, 0x02929e45, 0x0118cde7, 0x02621adf, 0x002509cc}}}, + {X: Field{[10]uint32{0x00a8e0fd, 0x02a4ffe9, 0x01f26b5f, 0x0109e29f, 0x03040de1, 0x00fe8996, 0x019aedef, 0x022cc8da, 0x01f31a82, 0x00074618}}, Y: Field{[10]uint32{0x0099f7dc, 0x017d1376, 0x01f61199, 0x03098e99, 0x013ffc30, 0x0212ee59, 0x01306e3b, 0x03faca38, 0x0381f13f, 0x002e595d}}}, + {X: Field{[10]uint32{0x0019ad64, 0x0395179a, 0x0009b73c, 0x008a110f, 0x02aac959, 0x02159773, 0x02f0289e, 0x02975797, 0x01ef6de1, 0x000ef4cf}}, Y: Field{[10]uint32{0x00f9c810, 0x00d7b575, 0x001c2975, 0x0077d491, 0x038bc985, 0x029c3a6f, 0x00366279, 0x002f525d, 0x0109eb56, 0x00264fc0}}}, + {X: Field{[10]uint32{0x00958634, 0x031fdb16, 0x0261c7be, 0x03adc543, 0x03e4c257, 0x039681f1, 0x0327b248, 0x02bb4a9f, 0x01452a39, 0x003286df}}, Y: Field{[10]uint32{0x004afcff, 0x03eb368f, 0x032c7298, 0x03dd10ab, 0x010179c0, 0x027ed520, 0x01a98043, 0x01f0dedf, 0x021bc035, 0x002ac47f}}}, + {X: Field{[10]uint32{0x0271aa58, 0x0355f461, 0x00f61da6, 0x01f57e4a, 0x00df145f, 0x0339f66b, 0x03f29a36, 0x00e1ad4f, 0x01cadee8, 0x0009cea5}}, Y: Field{[10]uint32{0x025bbe2b, 0x0053e546, 0x03ac2adb, 0x0071cf14, 0x00315a03, 0x010194a1, 0x02c6d832, 0x014df469, 0x019dbb06, 0x0022298d}}}, + {X: Field{[10]uint32{0x005561e6, 0x02443e6b, 0x02279d0f, 0x03d4a511, 0x01c06923, 0x00e48700, 0x03ad79cd, 0x02eeb154, 0x00fca139, 0x001fa930}}, Y: Field{[10]uint32{0x016dec96, 0x03e82eca, 0x0193a54d, 0x00ddc6bb, 0x002eb71c, 0x018e7c66, 0x01e79822, 0x00c38bcc, 0x01470458, 0x002f4127}}}, + {X: Field{[10]uint32{0x0207d336, 0x012581e5, 0x02ce80bc, 0x01a3f344, 0x00d3823f, 0x017331a1, 0x03932401, 0x02af9751, 0x001c0a2b, 0x001c7c60}}, Y: Field{[10]uint32{0x03f1b4b1, 0x039b76c7, 0x00a6cf5a, 0x00390e77, 0x0214430c, 0x03a3f9e9, 0x01b7de37, 0x01395082, 0x03d00838, 0x00107b41}}}, + {X: Field{[10]uint32{0x01cd8828, 0x00160b48, 0x00f2a1c9, 0x036589e7, 0x017000ff, 0x0155068f, 0x00aec515, 0x0287baba, 0x0073652b, 0x002ca0e2}}, Y: Field{[10]uint32{0x027dce5e, 0x02d20474, 0x0079d2a0, 0x03ca87bf, 0x01ee4d19, 0x01abf30c, 0x01faf658, 0x038e9491, 0x015573f5, 0x00011ffc}}}, + {X: Field{[10]uint32{0x015a3e21, 0x036263ad, 0x02cb5b68, 0x0129afc2, 0x03d9f816, 0x00224892, 0x033fbdcc, 0x012f05a1, 0x01a72263, 0x000d32a3}}, Y: Field{[10]uint32{0x01c5d986, 0x02440339, 0x01f4b73f, 0x0241464b, 0x031f041a, 0x02168ffd, 0x0369055d, 0x0324701d, 0x036036a9, 0x00362bed}}}, + {X: Field{[10]uint32{0x0319cc8f, 0x01c8cdd2, 0x0115aa0e, 0x021e270e, 0x034b76eb, 0x03db5e5a, 0x00cf5b2e, 0x0106bf28, 0x0397d973, 0x00084b2c}}, Y: Field{[10]uint32{0x02f170a1, 0x030d7590, 0x01e64875, 0x01ccbde3, 0x01ff17e2, 0x0049b143, 0x0285f501, 0x03c1be5d, 0x00ec5f29, 0x003c1b8b}}}, + {X: Field{[10]uint32{0x00a6228a, 0x0202471b, 0x002e9ffa, 0x00bf392d, 0x01d5f29d, 0x01e24fda, 0x0182dfde, 0x004f70c9, 0x03f643bd, 0x002f00d9}}, Y: Field{[10]uint32{0x00556e78, 0x03fd0a5d, 0x0373f527, 0x01e5ee5b, 0x02c17641, 0x02d66b0c, 0x03f3e44a, 0x007c192b, 0x0089d125, 0x0026fb1b}}}, + {X: Field{[10]uint32{0x01bd5672, 0x00403c6a, 0x029d8dec, 0x00cf37ad, 0x025e489e, 0x03466392, 0x03169bb4, 0x0222516a, 0x00235d8e, 0x0023f2c5}}, Y: Field{[10]uint32{0x03fc057c, 0x036de439, 0x01f5fe52, 0x00816c74, 0x03c45ae3, 0x01102109, 0x0302a46b, 0x0242c980, 0x0396bab3, 0x003e872c}}}, + {X: Field{[10]uint32{0x011e64ae, 0x0170beb9, 0x010440e1, 0x02133289, 0x00d4917e, 0x0077d83d, 0x0043e801, 0x03b0832f, 0x01056675, 0x001c2b61}}, Y: Field{[10]uint32{0x015a800d, 0x013e9847, 0x004e8c00, 0x03832fbd, 0x02b63d68, 0x03d6dc4e, 0x0262475d, 0x029f2697, 0x0356af9f, 0x003d2944}}}, + {X: Field{[10]uint32{0x01695842, 0x0387db2e, 0x028803ed, 0x036611be, 0x02bcf6e6, 0x025c6301, 0x026df81f, 0x0105a21b, 0x03474807, 0x002b69eb}}, Y: Field{[10]uint32{0x008a582f, 0x02ddb6e6, 0x001dd575, 0x02440031, 0x0298369c, 0x01dc7654, 0x0348bbe0, 0x009f5371, 0x011f50f4, 0x0003d9b5}}}, + {X: Field{[10]uint32{0x0102eeee, 0x011762c4, 0x0052c7f0, 0x01ee949f, 0x01bf1e97, 0x034d3e3a, 0x038108f9, 0x03aec46e, 0x018d7323, 0x003c6e1f}}, Y: Field{[10]uint32{0x00346556, 0x037dda2d, 0x000b79bd, 0x039c1f8e, 0x037e2aa0, 0x01edd56c, 0x01e58424, 0x039e827b, 0x030351eb, 0x0002f655}}}, + {X: Field{[10]uint32{0x012a0553, 0x0244d592, 0x00833cc5, 0x0145d9b3, 0x031fbf7c, 0x03fb5ee0, 0x000c301c, 0x0193ab24, 0x015ad552, 0x0024d967}}, Y: Field{[10]uint32{0x00154beb, 0x01b78170, 0x0089ccf4, 0x0176215b, 0x03519ff6, 0x030740a8, 0x02137df1, 0x000596be, 0x01e9646d, 0x002da4e2}}}, + {X: Field{[10]uint32{0x02d4ffe2, 0x00e3df63, 0x01f48b17, 0x039745e0, 0x00409a62, 0x0056fbbb, 0x002f54a4, 0x013ff712, 0x00492a9b, 0x003a74af}}, Y: Field{[10]uint32{0x00305df5, 0x00c10211, 0x00631608, 0x0020d854, 0x038d6392, 0x013c94e0, 0x01de313f, 0x02fe0037, 0x02522dcc, 0x00224f91}}}, + {X: Field{[10]uint32{0x006cb210, 0x038abde4, 0x00744229, 0x0306a1d8, 0x01825e0b, 0x01cb69a9, 0x0103eea3, 0x02b64460, 0x020a7bf1, 0x00050905}}, Y: Field{[10]uint32{0x0196af23, 0x03be284e, 0x0343f209, 0x03a47d8d, 0x024f1519, 0x002c8fa5, 0x02f1d0e1, 0x0175c479, 0x022696a7, 0x00325368}}}, + {X: Field{[10]uint32{0x009efd87, 0x0233ba27, 0x02300c45, 0x01639bc9, 0x018686d0, 0x02d7e9fa, 0x03e434ae, 0x012f52aa, 0x0312402e, 0x001fe409}}, Y: Field{[10]uint32{0x02f95fb5, 0x00622b18, 0x01602669, 0x02305498, 0x031b8b01, 0x022111a9, 0x02cdcddc, 0x02d062c5, 0x020b2aef, 0x002f0011}}}, + {X: Field{[10]uint32{0x0372745c, 0x03187d5b, 0x03c01255, 0x01a8e051, 0x022a133f, 0x02370a4d, 0x02e5f16c, 0x003d4fa1, 0x027c66cb, 0x0034c9f3}}, Y: Field{[10]uint32{0x02bea436, 0x01d628e1, 0x015f8353, 0x035071be, 0x02618cc6, 0x02314b72, 0x0108b85b, 0x00e7041a, 0x018ac3cb, 0x00137052}}}, + {X: Field{[10]uint32{0x032db3b3, 0x00e5ab78, 0x03d1a0d5, 0x033951ef, 0x01137dff, 0x022eff0c, 0x013803be, 0x00441800, 0x0319c9d8, 0x003c113a}}, Y: Field{[10]uint32{0x02526f2a, 0x00ae77df, 0x03af7c10, 0x037bff33, 0x028128a8, 0x02ca0b3f, 0x00551cea, 0x00f999fe, 0x028d9c4c, 0x0016b510}}}, + {X: Field{[10]uint32{0x0218daf4, 0x03172f03, 0x03d55f67, 0x02dfcf00, 0x03d135bb, 0x03755100, 0x006a81eb, 0x0066fabd, 0x0237b95d, 0x001e9b14}}, Y: Field{[10]uint32{0x0204385b, 0x038a48a8, 0x001d70cc, 0x019a29c3, 0x01bd492c, 0x03fda3fb, 0x00fc6e74, 0x03ad7121, 0x00b847fc, 0x0018a8ba}}}, + {X: Field{[10]uint32{0x019f82f0, 0x0256f06d, 0x01bb5804, 0x026d1d62, 0x02ffae94, 0x01708211, 0x0372afaf, 0x0302deed, 0x00dcb069, 0x001671ff}}, Y: Field{[10]uint32{0x026c38ad, 0x023bae84, 0x006ec335, 0x014bc935, 0x02c09b36, 0x03238b1e, 0x03a4d79a, 0x0159adc6, 0x008c6657, 0x0020bb16}}}, + {X: Field{[10]uint32{0x036543d7, 0x0006f51a, 0x03ae00ea, 0x036f37c9, 0x0081d99f, 0x02ee1795, 0x00d3dc6d, 0x01563310, 0x00211ed4, 0x003e33cf}}, Y: Field{[10]uint32{0x03a9778b, 0x037a7721, 0x03b20054, 0x030f82a2, 0x035506a5, 0x03338c10, 0x011f5dbd, 0x03d8c225, 0x01d01c3d, 0x002f6012}}}, + {X: Field{[10]uint32{0x024504bc, 0x00b39c54, 0x03764278, 0x00ff3f44, 0x024d2dd2, 0x00eb2a0a, 0x03471893, 0x02753c7f, 0x0364b238, 0x000e1575}}, Y: Field{[10]uint32{0x019ef72d, 0x01b02f1d, 0x01f95944, 0x03bb7c4f, 0x03b14a71, 0x02ab8ea8, 0x024ec346, 0x02af409c, 0x02254af2, 0x0020b13a}}}, + {X: Field{[10]uint32{0x02de5431, 0x03774694, 0x02ffa48c, 0x01b6bdf9, 0x036d3e0e, 0x01554f6a, 0x00b1d733, 0x03c3634c, 0x03311de4, 0x001dd912}}, Y: Field{[10]uint32{0x005916b4, 0x03d4853d, 0x029b4cdb, 0x00c1a560, 0x017581c9, 0x00aedd0c, 0x03730f99, 0x001cd5cd, 0x03ce0c0a, 0x00191785}}}, + {X: Field{[10]uint32{0x01ca138d, 0x00c198f6, 0x01d34565, 0x033dd996, 0x0156bfc0, 0x0194deaf, 0x02511daa, 0x02bef2ca, 0x0343afd6, 0x0029352b}}, Y: Field{[10]uint32{0x03bb09dd, 0x028afadc, 0x03747a25, 0x017cf57f, 0x0088b5db, 0x0358f7cd, 0x007f0737, 0x03cc6ee4, 0x03d0dd2d, 0x002f9b27}}}, + {X: Field{[10]uint32{0x00a75be5, 0x03f0181d, 0x011aaaa8, 0x032bed9b, 0x012da352, 0x03992f18, 0x02c3d645, 0x028207dc, 0x023fe673, 0x00105ffe}}, Y: Field{[10]uint32{0x00c50151, 0x0024f81a, 0x00be10de, 0x0129fdce, 0x02cfd9ca, 0x0169d243, 0x01472afd, 0x0251d202, 0x022f9084, 0x0026ae2f}}}, + {X: Field{[10]uint32{0x02ef73cd, 0x03ba0e32, 0x00622f75, 0x001257a2, 0x004f19eb, 0x01d084b1, 0x03d772cc, 0x014105b2, 0x01549311, 0x001e05d4}}, Y: Field{[10]uint32{0x00d0d3e6, 0x02fdff4d, 0x00ac2dd7, 0x02c29765, 0x02fdaf2c, 0x01f2c637, 0x0381b91d, 0x00d94098, 0x01c8ffec, 0x000df535}}}, + {X: Field{[10]uint32{0x031b5121, 0x0094fe82, 0x02f0f736, 0x02923d8b, 0x023c2ee7, 0x039d9896, 0x020c66c7, 0x00a3abd5, 0x020c3acc, 0x000d9715}}, Y: Field{[10]uint32{0x0374868f, 0x01f4df16, 0x018d6451, 0x005773b1, 0x016990aa, 0x00e3e374, 0x0303f883, 0x03c578e2, 0x02fa96c0, 0x000972f1}}}, + {X: Field{[10]uint32{0x035bac7c, 0x03e860a3, 0x03808a94, 0x03f76233, 0x016c6757, 0x02866a49, 0x026b6cb3, 0x0008fa44, 0x01251010, 0x0032516b}}, Y: Field{[10]uint32{0x0254e2bb, 0x037e4ab5, 0x01e5b174, 0x02ec99e7, 0x0399df4a, 0x0319bdb6, 0x008ae3df, 0x010ef3bc, 0x010cb4ac, 0x00326a3a}}}, + {X: Field{[10]uint32{0x002e0213, 0x0303878b, 0x03eec629, 0x02dedf4e, 0x02ac8c3f, 0x00ca18f7, 0x00223876, 0x0355f5ce, 0x01ac45e6, 0x0012ab61}}, Y: Field{[10]uint32{0x016a2708, 0x002d8f3f, 0x02595213, 0x0224ddbd, 0x0129c036, 0x0394e81c, 0x001c192d, 0x02fd9259, 0x00e19e81, 0x000e3bba}}}, + {X: Field{[10]uint32{0x02a291df, 0x027da689, 0x0367f24b, 0x03a9f4d4, 0x01907e37, 0x03d89118, 0x00f9f663, 0x01965ab7, 0x02480b0f, 0x000af040}}, Y: Field{[10]uint32{0x00311c79, 0x01509bc1, 0x02b2f4f3, 0x00c14204, 0x0324ad0c, 0x0242ddd0, 0x02780f6b, 0x02cdea46, 0x02d33016, 0x00382b0f}}}, + {X: Field{[10]uint32{0x03ddfde2, 0x007234e4, 0x03cffeb9, 0x000207f3, 0x02eca894, 0x0281387e, 0x001a2c09, 0x023e4c3a, 0x0191abd2, 0x00337016}}, Y: Field{[10]uint32{0x000193a5, 0x02686dd6, 0x02b32afc, 0x013af1e6, 0x038bf90a, 0x006a208b, 0x02b9852d, 0x038ac0ff, 0x02c44458, 0x0037f692}}}, + {X: Field{[10]uint32{0x0346a047, 0x00efe776, 0x02b7d079, 0x02ba722f, 0x0031d285, 0x03e2aac4, 0x00ea8570, 0x0310a7fd, 0x03f0af2d, 0x0016893b}}, Y: Field{[10]uint32{0x004c8f9a, 0x02d80167, 0x03327b53, 0x0185abbd, 0x00a98b6f, 0x02debc2e, 0x03f40dd0, 0x02458225, 0x01145973, 0x0005e76e}}}, + {X: Field{[10]uint32{0x0038183a, 0x03f8ab1e, 0x01467636, 0x02c2c151, 0x03e7c1d2, 0x01f457f6, 0x00aae6b5, 0x00f2a4dd, 0x013f5160, 0x0005b079}}, Y: Field{[10]uint32{0x03a183e3, 0x01a25d98, 0x0194ba53, 0x006815c1, 0x008d1f6c, 0x0383f724, 0x00af50c7, 0x026efd76, 0x02f056e0, 0x002fe163}}}, + {X: Field{[10]uint32{0x0301ccf4, 0x0299567a, 0x006eb0c3, 0x016c71a1, 0x01a2f240, 0x0305de00, 0x013a116a, 0x00be6b62, 0x02ea71b9, 0x001e4bc7}}, Y: Field{[10]uint32{0x0032a79d, 0x0342de8a, 0x001293cc, 0x002ef878, 0x0052c0df, 0x01e19ae7, 0x01ecf87a, 0x03bce4c4, 0x030cc610, 0x002f018b}}}, + {X: Field{[10]uint32{0x017378e1, 0x02e99769, 0x00dd7335, 0x02b3c201, 0x03917dab, 0x0044dff8, 0x004dc515, 0x01c673d5, 0x0040f057, 0x0006ce67}}, Y: Field{[10]uint32{0x000b425f, 0x029dd718, 0x02f6d380, 0x004aaa11, 0x02bfdd07, 0x0374cce8, 0x01e872c1, 0x02821507, 0x00d3b6e8, 0x001359e5}}}, + {X: Field{[10]uint32{0x02238e4f, 0x002ffeae, 0x02edec21, 0x01e2af85, 0x039f8cd2, 0x02223147, 0x00d8219b, 0x0173b783, 0x013eb9c4, 0x0004e2cc}}, Y: Field{[10]uint32{0x02ac56d6, 0x021c8f39, 0x03f7fd9e, 0x01b735b6, 0x0213f0f7, 0x03c2b349, 0x02d49512, 0x0010bd2d, 0x0357cbc8, 0x00286668}}}, + {X: Field{[10]uint32{0x03542338, 0x03f0937a, 0x0312284f, 0x00445f24, 0x008f4018, 0x03d2b869, 0x0068b24c, 0x01599340, 0x03119c76, 0x000f81b0}}, Y: Field{[10]uint32{0x0273624f, 0x039d55c1, 0x03696498, 0x02cca01e, 0x0293b08a, 0x026a4341, 0x01c45963, 0x01fc6daa, 0x0196e560, 0x0018e995}}}, + {X: Field{[10]uint32{0x03f8bd2e, 0x037a2d2e, 0x0125f8a3, 0x037bb47b, 0x0280f0f6, 0x005e7a77, 0x00e5455c, 0x0224c95d, 0x039b49c8, 0x0000fccb}}, Y: Field{[10]uint32{0x02589f17, 0x007e9ada, 0x02472855, 0x033b8ae1, 0x00091f49, 0x03d0aa77, 0x0090257b, 0x01be27bd, 0x031a5fc9, 0x0028b4ae}}}, + {X: Field{[10]uint32{0x02414ec5, 0x01dca651, 0x02b041fe, 0x03ef8ce0, 0x022c4f5e, 0x016c6e0a, 0x029602bf, 0x03143e84, 0x0017ffcc, 0x00226b71}}, Y: Field{[10]uint32{0x00253215, 0x01fbd523, 0x00bc8e2c, 0x00a0976a, 0x036c3daa, 0x02a9867b, 0x015c2915, 0x01d47405, 0x035c291b, 0x001339f9}}}, + {X: Field{[10]uint32{0x00e4e9b5, 0x03faab97, 0x01619a13, 0x03e81f07, 0x01e9f208, 0x00bd53d9, 0x017d4860, 0x02327d96, 0x01626bec, 0x003ccfef}}, Y: Field{[10]uint32{0x01593774, 0x00ad0914, 0x0025edf0, 0x022ddc9a, 0x02a6f43c, 0x00142c0c, 0x03e2eda3, 0x03c54a1f, 0x002bebb9, 0x00323c18}}}, + {X: Field{[10]uint32{0x00a7d6b8, 0x038f9929, 0x0071d568, 0x013d1448, 0x02117fa0, 0x003a5d01, 0x01f7703a, 0x038bdf91, 0x00ab7b90, 0x0003b332}}, Y: Field{[10]uint32{0x00a1b6f4, 0x005a6696, 0x0056048e, 0x01143c7f, 0x03fcc8a6, 0x0322ecd9, 0x033c2333, 0x028363cb, 0x0305a9c4, 0x002115bd}}}, + {X: Field{[10]uint32{0x017de915, 0x00fa5685, 0x03dfca4e, 0x035537c7, 0x000e6e31, 0x009d0fb4, 0x0181c754, 0x0218b960, 0x0333a7ad, 0x003da58a}}, Y: Field{[10]uint32{0x029e6605, 0x038c80ba, 0x01cf209e, 0x016a0cd6, 0x02055c15, 0x0280566a, 0x037e8ad2, 0x0173afe7, 0x03fb4851, 0x002bcf51}}}, + {X: Field{[10]uint32{0x02ace24d, 0x02748d36, 0x019e842b, 0x03c8e3fd, 0x025c45d2, 0x0025649a, 0x02d5df02, 0x03ec4197, 0x03c67996, 0x0000fc7c}}, Y: Field{[10]uint32{0x010ea28e, 0x012f529b, 0x0011f110, 0x00195a42, 0x03737507, 0x0088a36a, 0x023c30b2, 0x027c28a3, 0x01e4f0a2, 0x00356172}}}, + {X: Field{[10]uint32{0x026e589c, 0x0375145b, 0x030e34ae, 0x00b50206, 0x02dc3359, 0x02b4b357, 0x03f93c16, 0x00390f62, 0x00193629, 0x0003f2b8}}, Y: Field{[10]uint32{0x031165cc, 0x001ee851, 0x02c243a2, 0x0162e5c0, 0x02c8acb9, 0x03342665, 0x00710d88, 0x029110b7, 0x039ecc42, 0x0023a615}}}, + {X: Field{[10]uint32{0x011f522c, 0x015c2ac5, 0x012c6d89, 0x01f6ea8c, 0x01abc424, 0x03f23beb, 0x037922b5, 0x008a748e, 0x03ba0355, 0x001523c9}}, Y: Field{[10]uint32{0x02ab6fa9, 0x01fc6e21, 0x0200acb7, 0x018ce6e5, 0x02b7b63c, 0x03cdf207, 0x00ba774f, 0x01f35f23, 0x03d8bbb4, 0x00039565}}}, + {X: Field{[10]uint32{0x00146fa0, 0x00e6ef57, 0x003ab6e4, 0x02e18460, 0x0249797d, 0x0021adef, 0x025cf1ef, 0x00d1fb51, 0x0114e8bf, 0x0038bd92}}, Y: Field{[10]uint32{0x006ae76e, 0x035d18ff, 0x025d1d2e, 0x0251cb55, 0x0388b27a, 0x01debbe6, 0x02482570, 0x00793c54, 0x036f7c64, 0x00239a79}}}, + {X: Field{[10]uint32{0x0013db1d, 0x02faae8b, 0x011222cd, 0x0323ce33, 0x01c7d362, 0x00a62d03, 0x00f97622, 0x00303c76, 0x02a02d97, 0x0002314c}}, Y: Field{[10]uint32{0x0062bd0e, 0x01bfea1c, 0x0276801b, 0x02d8b7b0, 0x03568251, 0x032dd81b, 0x00ffc9fb, 0x0359b67a, 0x02e90428, 0x00243e28}}}, + {X: Field{[10]uint32{0x02291a23, 0x008c8618, 0x02f6d3c3, 0x025ebd59, 0x006fc0ed, 0x0014abb1, 0x02f7e0c8, 0x0065cbda, 0x02fee3c5, 0x0019191b}}, Y: Field{[10]uint32{0x007a69fe, 0x023d3dca, 0x03c50d6c, 0x022a61bf, 0x03a10eb8, 0x01c7cb76, 0x0276ee71, 0x00dc2cda, 0x0150f6ca, 0x00278a78}}}, + {X: Field{[10]uint32{0x033be659, 0x00787cd1, 0x011b51eb, 0x02fe699f, 0x01329199, 0x01bbd972, 0x03ff69a0, 0x037fdc32, 0x00da1df8, 0x001ba2e9}}, Y: Field{[10]uint32{0x015d852a, 0x01d19e60, 0x00a060f6, 0x0289f851, 0x03eb5a34, 0x0394def5, 0x03f21883, 0x01069cd7, 0x02c89594, 0x002b9d58}}}, + {X: Field{[10]uint32{0x036bcaef, 0x0307ccca, 0x029cae76, 0x007356e3, 0x02c94c87, 0x02b6fc7d, 0x020d7e1c, 0x00b03db7, 0x03c8f781, 0x0023086a}}, Y: Field{[10]uint32{0x007ed53e, 0x02832a5d, 0x006b2663, 0x03f9a3fd, 0x015a36d6, 0x03833bfa, 0x010ed037, 0x000f8950, 0x00c313be, 0x00169f27}}}, + {X: Field{[10]uint32{0x039f6353, 0x01ac9a4b, 0x01fea342, 0x00087ae2, 0x0010ce51, 0x015e8a3c, 0x0236ff76, 0x01f85099, 0x003a7c48, 0x0033838e}}, Y: Field{[10]uint32{0x0232e03a, 0x03030358, 0x02280532, 0x03dbf6b3, 0x0097fcb9, 0x031cf23b, 0x004e9da4, 0x01e010a0, 0x0065d43f, 0x000fe569}}}, + {X: Field{[10]uint32{0x01698eb8, 0x028dfb87, 0x03700080, 0x031f0072, 0x028078b6, 0x0119cff0, 0x00598483, 0x01f13fd1, 0x017f5147, 0x001f8cc2}}, Y: Field{[10]uint32{0x022d75a7, 0x03072972, 0x025ad141, 0x039a5c01, 0x02e282b7, 0x01241968, 0x001d274e, 0x0319e762, 0x03c07317, 0x003049d6}}}, + {X: Field{[10]uint32{0x016837a6, 0x01ec3904, 0x03867931, 0x019b3ecf, 0x01d686eb, 0x03bfc9cc, 0x031cf429, 0x01f987ec, 0x00d6b148, 0x003bd367}}, Y: Field{[10]uint32{0x0163be1f, 0x022dda8f, 0x012ecd11, 0x0161ffd8, 0x023bd2ff, 0x03a87ae8, 0x036461a6, 0x03756893, 0x02b4280d, 0x00313daf}}}, + {X: Field{[10]uint32{0x03716290, 0x015cecbc, 0x014b992c, 0x028b7c32, 0x03ce53f4, 0x0297e2e8, 0x0090bcb9, 0x024c93de, 0x01452ee4, 0x003cfb70}}, Y: Field{[10]uint32{0x03fb2f2d, 0x02a60834, 0x00dbf552, 0x01952470, 0x035c3905, 0x01f0aba4, 0x03301f08, 0x02c9ea36, 0x02abfbc9, 0x00265511}}}, + {X: Field{[10]uint32{0x03caa975, 0x01c32a0a, 0x02c92bd1, 0x009caf18, 0x0287d174, 0x00634831, 0x01341603, 0x03a45358, 0x02517398, 0x00307d88}}, Y: Field{[10]uint32{0x03769e99, 0x0019c821, 0x01cabfcb, 0x0148071d, 0x00f6d6da, 0x00a4bdc6, 0x0328d593, 0x016ddb54, 0x02273673, 0x0007216b}}}, + {X: Field{[10]uint32{0x023dea8e, 0x004c8791, 0x03889714, 0x00066956, 0x01b206c6, 0x038c41c5, 0x00561533, 0x00220752, 0x01f9605f, 0x0029fa07}}, Y: Field{[10]uint32{0x00ae8a4f, 0x01bfbe5f, 0x000adaa1, 0x03ad7151, 0x020eb23d, 0x01f7de5a, 0x0370dbba, 0x006f83c2, 0x00fd1f36, 0x000eb888}}}, + {X: Field{[10]uint32{0x006a536b, 0x01ca0af9, 0x033262fe, 0x02b16a33, 0x02f46af5, 0x01f52b97, 0x03ac0288, 0x03ca59e8, 0x03298f5d, 0x0006da6f}}, Y: Field{[10]uint32{0x0046a91f, 0x0093cbaa, 0x01c6028c, 0x03f62203, 0x02d7e9d7, 0x0066ce28, 0x0375c684, 0x0269c7a8, 0x00aa02d9, 0x00327189}}}, + {X: Field{[10]uint32{0x03bb44bb, 0x0048bb76, 0x0251db56, 0x021ff45c, 0x03b31c99, 0x02cecc49, 0x0315cb96, 0x018ee637, 0x03740317, 0x003377fb}}, Y: Field{[10]uint32{0x024869f5, 0x011679fc, 0x00b65854, 0x019e3de0, 0x00225f08, 0x028ca8e3, 0x0279ce26, 0x016a8d31, 0x02f42e93, 0x00025cbf}}}, + {X: Field{[10]uint32{0x00e957ff, 0x01c3ffd8, 0x0129cfcb, 0x00d79f00, 0x00ee07f2, 0x03bc0788, 0x0347d309, 0x01458d9a, 0x00ef2c8a, 0x000cbf87}}, Y: Field{[10]uint32{0x03b4588e, 0x013b7c93, 0x0036fe75, 0x031f116d, 0x023d13b2, 0x0030d53a, 0x033babe0, 0x0184922c, 0x0331bd37, 0x0027a185}}}, + {X: Field{[10]uint32{0x01c24b0d, 0x00896e1e, 0x02908505, 0x015c9955, 0x024a7596, 0x02bed87f, 0x01d0ccf6, 0x0104674c, 0x03e9f491, 0x0028e0be}}, Y: Field{[10]uint32{0x02111857, 0x01b36a34, 0x00a55513, 0x0063260e, 0x02cdde63, 0x01f088bf, 0x03e0287c, 0x02ff709c, 0x036039a1, 0x002a8c00}}}, + {X: Field{[10]uint32{0x0280ef88, 0x02453b06, 0x028bc6d6, 0x029e5a88, 0x0159e305, 0x01f00d13, 0x03e24670, 0x00c3ab84, 0x00399ae3, 0x002d4ed5}}, Y: Field{[10]uint32{0x01fadc7a, 0x003b8c35, 0x01a368f3, 0x00711d54, 0x02969d8d, 0x02ea2a38, 0x00f43cc8, 0x01b175d2, 0x00538dfc, 0x00266024}}}, + {X: Field{[10]uint32{0x0364169a, 0x007436be, 0x01b8df52, 0x02bc1abb, 0x00710fe2, 0x022c2b67, 0x00bbfed9, 0x03fb0fed, 0x0253f11c, 0x001886d4}}, Y: Field{[10]uint32{0x020378aa, 0x0036fa49, 0x00bb3abe, 0x01704d85, 0x033b9300, 0x00f81717, 0x01d025b6, 0x01abd88b, 0x01c48b71, 0x000a88d3}}}, + {X: Field{[10]uint32{0x01435b04, 0x00c5783e, 0x000bed5b, 0x03eae694, 0x001e5979, 0x003d5d63, 0x023f4428, 0x00f1fcc5, 0x036ccc9c, 0x0020ccca}}, Y: Field{[10]uint32{0x00d30ea0, 0x0285abf7, 0x012d416a, 0x03da1d8b, 0x0060c77d, 0x0100b761, 0x0241025c, 0x007c72f6, 0x0212258c, 0x00214d81}}}, + {X: Field{[10]uint32{0x03f6538a, 0x02a1a3f6, 0x006b668a, 0x0069e91d, 0x02fd54e2, 0x02806c43, 0x032d926d, 0x009888bd, 0x00e39120, 0x0009f236}}, Y: Field{[10]uint32{0x02d6eb91, 0x034ad088, 0x00090e90, 0x020484eb, 0x034d0c0a, 0x03783ffd, 0x009fe83f, 0x0121355b, 0x023fb8f2, 0x00221da3}}}, + {X: Field{[10]uint32{0x020067e5, 0x007aff81, 0x03a9155d, 0x0353c22d, 0x036ee768, 0x010955bb, 0x012e05ac, 0x008014bf, 0x030bbcd8, 0x003cd271}}, Y: Field{[10]uint32{0x010c6604, 0x0086939d, 0x009fb9f6, 0x02c1c75b, 0x0293fdc5, 0x01ebaa42, 0x003c4e9e, 0x0341431f, 0x00194011, 0x001b5657}}}, + {X: Field{[10]uint32{0x03b24f90, 0x0209e9c4, 0x03156edb, 0x00805ce9, 0x01a0183b, 0x030fe278, 0x031368ba, 0x0265998a, 0x027ab202, 0x00125995}}, Y: Field{[10]uint32{0x037e21ab, 0x01670cc0, 0x0094701f, 0x01645996, 0x01a097b8, 0x03020f8d, 0x0110ee76, 0x00eec252, 0x0036c2bb, 0x001bbe25}}}, + {X: Field{[10]uint32{0x013e0886, 0x01052fe4, 0x02eb69a7, 0x01d817fd, 0x0275611b, 0x02f18ffa, 0x0245b849, 0x0284fde1, 0x001b491d, 0x00124254}}, Y: Field{[10]uint32{0x01014df8, 0x02d96aa0, 0x03f17c54, 0x03dd7824, 0x0038b1ac, 0x0208ab17, 0x01d4c956, 0x001c3707, 0x02b6f2ee, 0x000b0831}}}, + {X: Field{[10]uint32{0x00cddb76, 0x0138d584, 0x01a72bf8, 0x023bb8f7, 0x03bd5f89, 0x03d058fd, 0x00d3ee40, 0x03450063, 0x0267f5a2, 0x0007b4b9}}, Y: Field{[10]uint32{0x02db8e7d, 0x024678c9, 0x027940f9, 0x03bda288, 0x02934810, 0x021a78db, 0x004babdd, 0x0133ab88, 0x00c564fa, 0x002ed25c}}}, + {X: Field{[10]uint32{0x0212f17b, 0x00758351, 0x03d5702a, 0x00361495, 0x00c15d1a, 0x037a1b5a, 0x01f9c8c7, 0x030dfeb7, 0x03410a0b, 0x00311eea}}, Y: Field{[10]uint32{0x02db09e3, 0x03baa068, 0x015cbb09, 0x019f3e0e, 0x00e84ce7, 0x028f30f8, 0x028091a1, 0x01f78444, 0x00b136f4, 0x000394ab}}}, + {X: Field{[10]uint32{0x027a7394, 0x03b1a831, 0x038c18f5, 0x03cf7484, 0x03f70825, 0x03b39d95, 0x0090b525, 0x033f10d5, 0x00c14993, 0x0038841a}}, Y: Field{[10]uint32{0x00c732da, 0x009c20c0, 0x00a12430, 0x03f276c1, 0x03065360, 0x017eadbe, 0x03997553, 0x02366caf, 0x0137d48f, 0x00335840}}}, + {X: Field{[10]uint32{0x03faf917, 0x01f93d0f, 0x03b87da0, 0x01bc47bb, 0x0200bd6a, 0x01942291, 0x029e1440, 0x00bd7ac1, 0x007d47a7, 0x0018d7d5}}, Y: Field{[10]uint32{0x03e64128, 0x00da48ca, 0x02642217, 0x015d53aa, 0x0021fecb, 0x0072c2fc, 0x024c8ed8, 0x01ced3cc, 0x01f23da2, 0x0023a82a}}}, + {X: Field{[10]uint32{0x01bdb47b, 0x0197c091, 0x02aa8485, 0x02ba4ca7, 0x013837b6, 0x00fe3993, 0x032f79ab, 0x02d2c7ff, 0x000a8648, 0x000918cb}}, Y: Field{[10]uint32{0x026e0426, 0x01b910bd, 0x03179814, 0x01d68e08, 0x02177ff8, 0x018aac8d, 0x02603608, 0x01574cf0, 0x0388c9e1, 0x00271b41}}}, + {X: Field{[10]uint32{0x037bf503, 0x03efde9a, 0x03b5ed59, 0x038574b0, 0x03146541, 0x032f2c06, 0x009cc56e, 0x00a75215, 0x01c3cfb2, 0x0010dd23}}, Y: Field{[10]uint32{0x01fb9c5c, 0x03cd3051, 0x019a9265, 0x01f86b7b, 0x000b2060, 0x0333623f, 0x007ea7f2, 0x026418ee, 0x01ed23a0, 0x00265d68}}}, + {X: Field{[10]uint32{0x03ae3ac0, 0x03ff72b0, 0x03a5804b, 0x03404549, 0x02bb8750, 0x026f8776, 0x0203b406, 0x0075a0c5, 0x0323b8c4, 0x0023e120}}, Y: Field{[10]uint32{0x02d1b37f, 0x020a22b0, 0x01c6e2c8, 0x00e8a95d, 0x01be81f8, 0x005f9691, 0x035805ab, 0x01830a1b, 0x00871282, 0x001dea2b}}}, + {X: Field{[10]uint32{0x0148422c, 0x0254ae8a, 0x012cc6e2, 0x036f1510, 0x002d8907, 0x00706720, 0x01e8be48, 0x0211b6ed, 0x0368b54d, 0x000a7af0}}, Y: Field{[10]uint32{0x03c7e845, 0x00bf898d, 0x0310aec7, 0x0285a180, 0x02426f79, 0x01e72f46, 0x02eb2d6f, 0x0276414e, 0x03a281d5, 0x0039ade4}}}, + {X: Field{[10]uint32{0x023ed345, 0x01e659c0, 0x008105ba, 0x000a7e39, 0x03d84bc6, 0x02dc5254, 0x00cbe21e, 0x0004b230, 0x03c4ccf4, 0x00250532}}, Y: Field{[10]uint32{0x017fdeee, 0x027ae035, 0x0272b39b, 0x0192edab, 0x01da45bb, 0x0338d72f, 0x0132790e, 0x028424b4, 0x039289e4, 0x002b47ba}}}, + {X: Field{[10]uint32{0x008f756e, 0x030f71ca, 0x035d411e, 0x02976c79, 0x000bea90, 0x003c8532, 0x03ab8149, 0x00009184, 0x025b769d, 0x0006f615}}, Y: Field{[10]uint32{0x01d375d8, 0x0085d770, 0x02b131df, 0x035f7315, 0x00b69c2c, 0x02af6b94, 0x01cfcb02, 0x007a46de, 0x006cfc78, 0x00301429}}}, + {X: Field{[10]uint32{0x0229cb01, 0x03b242c1, 0x013f276c, 0x038ca216, 0x0314ed0a, 0x02e37b59, 0x0009154e, 0x019af8f5, 0x004c35ad, 0x00013dd6}}, Y: Field{[10]uint32{0x03712bb0, 0x007acf05, 0x02048fb0, 0x03863c76, 0x021520fe, 0x0271685f, 0x00cf1b3e, 0x00483847, 0x0248232a, 0x003d2fa4}}}, + {X: Field{[10]uint32{0x01d9f13b, 0x031e0f87, 0x02b352b9, 0x021311dc, 0x01cffd16, 0x034bcf3b, 0x0127401f, 0x02cc5eac, 0x01de7e85, 0x0016c002}}, Y: Field{[10]uint32{0x0173ba64, 0x0048ca2e, 0x0048dbb4, 0x02fbb3f8, 0x01cb8839, 0x019cb1e3, 0x037cb7ce, 0x030d38cd, 0x0304f531, 0x003d1615}}}, + {X: Field{[10]uint32{0x03b32815, 0x00ef2b18, 0x019c3ad1, 0x014cfcfb, 0x0037f853, 0x0088b7ce, 0x025fdbc4, 0x01bc04ba, 0x01c37939, 0x00319bcc}}, Y: Field{[10]uint32{0x02b22668, 0x0334f69b, 0x01ca3ea1, 0x0212eeb1, 0x024113ee, 0x02d41490, 0x023ca861, 0x03a72f04, 0x00084ae5, 0x0001f5ee}}}, + {X: Field{[10]uint32{0x0263abd6, 0x03217997, 0x03af1a57, 0x0157a469, 0x023d7ba4, 0x03a679a5, 0x03a51b3e, 0x0264d09a, 0x035dc8b0, 0x000cc25f}}, Y: Field{[10]uint32{0x0270d7c4, 0x00d648b0, 0x02d80638, 0x03b59b93, 0x02987401, 0x0061a5d9, 0x039e1206, 0x00627722, 0x033b200c, 0x003ef49a}}}, + {X: Field{[10]uint32{0x005ffff4, 0x0374aa72, 0x015f8c37, 0x002e138e, 0x01aa71cf, 0x03eef90f, 0x02922d5f, 0x03b182e6, 0x0245a3b7, 0x0006b394}}, Y: Field{[10]uint32{0x0325084f, 0x0113686e, 0x029871c4, 0x01344358, 0x0006ad3f, 0x01b2eda7, 0x01c51cbb, 0x023e6fca, 0x01679470, 0x001cb03b}}}, + {X: Field{[10]uint32{0x030c4471, 0x0296bcda, 0x03512692, 0x00cb354b, 0x006ed54e, 0x00fe480b, 0x03225249, 0x0130b2fe, 0x039e4cce, 0x002f065e}}, Y: Field{[10]uint32{0x01673f70, 0x00213ef7, 0x017dfadb, 0x02553574, 0x013cad9b, 0x03b14222, 0x016be56c, 0x00197693, 0x02635182, 0x003544dd}}}, + {X: Field{[10]uint32{0x00c7df70, 0x0342f237, 0x03fab76a, 0x0002de69, 0x0213c6f5, 0x03b2b625, 0x00cfa733, 0x036fb45d, 0x0131334b, 0x0019a65e}}, Y: Field{[10]uint32{0x0199435a, 0x026f4b19, 0x003310d4, 0x037c9a50, 0x00ab00af, 0x0012b158, 0x03e7d3a5, 0x00663bb8, 0x0301948e, 0x003f6f4c}}}, + {X: Field{[10]uint32{0x026eb4bf, 0x020f30c6, 0x008b3890, 0x00bcdc2c, 0x02563742, 0x0040fde6, 0x020b9620, 0x020be5f0, 0x00dfb38d, 0x000eea1b}}, Y: Field{[10]uint32{0x0258dfc8, 0x035ab48c, 0x02fee33d, 0x00aaf7b2, 0x035377e3, 0x02d1db86, 0x017f9819, 0x02ec4e6f, 0x001176de, 0x002b3b26}}}, + {X: Field{[10]uint32{0x031603cd, 0x024c36fb, 0x01243fed, 0x027ddba0, 0x02639519, 0x00b64575, 0x03acdbdc, 0x01c76130, 0x032f9db9, 0x0003d890}}, Y: Field{[10]uint32{0x027b5f28, 0x0031e5d2, 0x02444c2e, 0x013bac46, 0x0282269f, 0x037a1d5f, 0x0056acd5, 0x01331b96, 0x033d177b, 0x003ba273}}}, + {X: Field{[10]uint32{0x0067bbaf, 0x02bbaa70, 0x00b1d688, 0x0141e538, 0x01b6d812, 0x016ca028, 0x016e6500, 0x03a9182b, 0x03dc6a6d, 0x00212d06}}, Y: Field{[10]uint32{0x03c00e7c, 0x03090e67, 0x032b2ab8, 0x01b97343, 0x03e452fe, 0x017c3c32, 0x008cdf7b, 0x02d2ecae, 0x003cb535, 0x0027de1c}}}, + {X: Field{[10]uint32{0x009d4c67, 0x010b06b2, 0x01f8828a, 0x02b294e6, 0x01048c52, 0x022e3515, 0x00f48839, 0x0128538a, 0x02a93ea6, 0x00238b7f}}, Y: Field{[10]uint32{0x02781271, 0x0169267c, 0x02ff7593, 0x01d3da77, 0x03e09d74, 0x023b413a, 0x01df10dd, 0x00d814cd, 0x0149cda5, 0x003fb005}}}, + {X: Field{[10]uint32{0x03105e0b, 0x009dd666, 0x012f118b, 0x028903a4, 0x01dbd2f6, 0x032f0be8, 0x0175e364, 0x02b074ff, 0x01ae5401, 0x0030ef1b}}, Y: Field{[10]uint32{0x0363d6b4, 0x01430fce, 0x00c340a6, 0x0122dbc3, 0x019c5dba, 0x000dc02c, 0x02345063, 0x024c9bf4, 0x00f55b73, 0x0005c3f7}}}, + {X: Field{[10]uint32{0x03c14691, 0x03b32268, 0x0395da10, 0x03b7a4d5, 0x00c2defc, 0x009ffe04, 0x01a289e0, 0x014b9eb1, 0x02931b1e, 0x000cc24f}}, Y: Field{[10]uint32{0x00deec38, 0x021e9fdc, 0x0047a7ee, 0x002f5a2f, 0x0102114f, 0x02b843ee, 0x03dc8421, 0x017af699, 0x01845bd5, 0x001feee9}}}, + {X: Field{[10]uint32{0x00141ef9, 0x03f9cd36, 0x00208a36, 0x00cbb2f3, 0x013f1211, 0x031e3762, 0x02c765ed, 0x028f3801, 0x0038b6d1, 0x00086cd5}}, Y: Field{[10]uint32{0x02e300d0, 0x01afc1ba, 0x02a7f256, 0x02f8ec59, 0x01e2d516, 0x01bed423, 0x01a82b36, 0x01f723d8, 0x01a5ed23, 0x0003d845}}}, + {X: Field{[10]uint32{0x03892df3, 0x020bf1b4, 0x008de037, 0x008470b9, 0x03ade708, 0x023a793e, 0x0248edf2, 0x03b45cc0, 0x0183aa1b, 0x0033b599}}, Y: Field{[10]uint32{0x00fdec96, 0x0239ce06, 0x031b6cb3, 0x00d4901f, 0x02c3a818, 0x03110710, 0x03e634e3, 0x0280efc3, 0x0136f29d, 0x0013d0eb}}}, + {X: Field{[10]uint32{0x026f71f8, 0x0215cefb, 0x03ec023a, 0x01f333ca, 0x0337f6eb, 0x027ef32b, 0x02731222, 0x02a2bac1, 0x0020f541, 0x003169d1}}, Y: Field{[10]uint32{0x00adb259, 0x01921958, 0x017096c8, 0x00d524d3, 0x021612a5, 0x0097e964, 0x00a6e25d, 0x00f4db00, 0x00024426, 0x002b98d3}}}, + {X: Field{[10]uint32{0x00b9de9e, 0x012eb052, 0x0212ef0a, 0x007f1334, 0x008311c5, 0x016c57a9, 0x03255211, 0x01ad2ca9, 0x008bf30f, 0x000c1281}}, Y: Field{[10]uint32{0x023bb3cd, 0x02c19781, 0x03fec154, 0x0216c848, 0x0311ceeb, 0x02a54fea, 0x01cb5dc8, 0x02fc344a, 0x01003d6e, 0x0023e4d6}}}, + {X: Field{[10]uint32{0x039c2048, 0x02fef356, 0x0251972e, 0x03c4eec1, 0x016ecb66, 0x01e047a4, 0x009875e9, 0x002bd42b, 0x01ae7eba, 0x003fe5ad}}, Y: Field{[10]uint32{0x0352a887, 0x00678bd8, 0x00e3c319, 0x0321c3f5, 0x033de89c, 0x015abb46, 0x00a0b1db, 0x0073ab96, 0x0186bca7, 0x00092bc8}}}, + {X: Field{[10]uint32{0x01b701a3, 0x037389ec, 0x035d050b, 0x02e5282c, 0x028b6d38, 0x01bf6cf3, 0x01472437, 0x00bbb410, 0x021cdf73, 0x00164273}}, Y: Field{[10]uint32{0x0224dfdf, 0x0301782c, 0x012b037f, 0x02eefdde, 0x037d3731, 0x000e0e8f, 0x01cf2239, 0x039d8609, 0x01440665, 0x0000b912}}}, + {X: Field{[10]uint32{0x03d1d527, 0x01acc3aa, 0x01ad7cfb, 0x01d32bc1, 0x0008ef99, 0x00a11152, 0x02032b79, 0x019841be, 0x031f86d6, 0x003fdadd}}, Y: Field{[10]uint32{0x008ba4b3, 0x03c109e4, 0x03f50b25, 0x02b8d512, 0x029fcd0b, 0x03a7daa1, 0x037e0557, 0x03a473fd, 0x029c9393, 0x001aaf4a}}}, + {X: Field{[10]uint32{0x021aa8d9, 0x035f48ce, 0x005f4bef, 0x0215f9ff, 0x03be9196, 0x00b66b39, 0x03da48a1, 0x007eb47b, 0x030494dd, 0x00250f33}}, Y: Field{[10]uint32{0x020a7bd6, 0x0044d306, 0x01c523d0, 0x007161e4, 0x006014e0, 0x029f93c4, 0x011a23fc, 0x00fe2cdd, 0x00cc2dd9, 0x0013c22d}}}, + {X: Field{[10]uint32{0x005f172c, 0x03127dd0, 0x035b3ee6, 0x022c7672, 0x0147a463, 0x03c9b0d0, 0x00e0968b, 0x00737242, 0x03a7a89e, 0x00029e69}}, Y: Field{[10]uint32{0x03bb8ceb, 0x03ba43fc, 0x00cd1b3c, 0x01dae60e, 0x03ebadcb, 0x0300c96c, 0x0097f34e, 0x02f8eb95, 0x016714b5, 0x0032d4f6}}}, + {X: Field{[10]uint32{0x007b89dd, 0x03014547, 0x01b2fa50, 0x00daa8cf, 0x024f548b, 0x005cfde2, 0x021667cd, 0x01bbeaa1, 0x02fc7117, 0x000a3fcb}}, Y: Field{[10]uint32{0x02fe4941, 0x03889275, 0x01988dc6, 0x02ccdf5e, 0x038e67cd, 0x0235f6f7, 0x005e1656, 0x02857c52, 0x0307db4b, 0x0011d6cd}}}, + {X: Field{[10]uint32{0x01012968, 0x021facec, 0x03557f86, 0x01ebc2b9, 0x00223e89, 0x016d3280, 0x0304fa25, 0x01a21701, 0x033216a8, 0x00216cb0}}, Y: Field{[10]uint32{0x0257ea11, 0x0175cd75, 0x015c5704, 0x039e6341, 0x021f2bcb, 0x003bd1e7, 0x03cbe7af, 0x01015bbe, 0x0145ba66, 0x00287d63}}}, + {X: Field{[10]uint32{0x00bb8778, 0x01c32697, 0x01d47c2a, 0x03834d53, 0x027a02b3, 0x01ef4da4, 0x028e2add, 0x00cb7901, 0x0109eefb, 0x003a7f0b}}, Y: Field{[10]uint32{0x0365c312, 0x003b1696, 0x01cdf80d, 0x03b2f632, 0x00f249d7, 0x03d4f33d, 0x02e219bb, 0x0341a00f, 0x02a51216, 0x003b8026}}}, + {X: Field{[10]uint32{0x00005d9e, 0x0010be68, 0x02d65763, 0x0341883f, 0x02a1cc88, 0x0288a142, 0x0238af95, 0x00434c9b, 0x0350afd5, 0x00368b72}}, Y: Field{[10]uint32{0x033eaeab, 0x0007af84, 0x014436d5, 0x026ac5b2, 0x01ae0eab, 0x004c237a, 0x016af23f, 0x00258d78, 0x03b1c370, 0x0007bbd1}}}, + {X: Field{[10]uint32{0x02b352e0, 0x01f68f07, 0x02f08b9b, 0x034ffded, 0x02327891, 0x0021cd59, 0x03174027, 0x019baf39, 0x029cc6b1, 0x000836a8}}, Y: Field{[10]uint32{0x02e8a3fb, 0x0374fdde, 0x027a4299, 0x00981370, 0x02a30cb5, 0x00b0e8c9, 0x01d66929, 0x03e937b0, 0x002cecd6, 0x000bfda6}}}, + {X: Field{[10]uint32{0x03674d9b, 0x00bafdd4, 0x00bdd71b, 0x0101b30d, 0x023aab84, 0x025be7d3, 0x0147a534, 0x02f84d9d, 0x00dd2ae5, 0x00385ac2}}, Y: Field{[10]uint32{0x03a06846, 0x01e87646, 0x02c1d931, 0x0322dc4d, 0x0248a1af, 0x00d5ed6e, 0x003d60d6, 0x00ac7239, 0x024bd952, 0x002dc3dc}}}, + {X: Field{[10]uint32{0x016b93d3, 0x014d59f9, 0x00475807, 0x03b00f1a, 0x00c59670, 0x002c1b51, 0x039485e0, 0x036cd03f, 0x01af2d69, 0x0022228b}}, Y: Field{[10]uint32{0x01d4e3f5, 0x01e7ed8c, 0x01a9e9ba, 0x0212de52, 0x028e8043, 0x02c9c6ae, 0x00753f05, 0x002e0ab1, 0x03a7792e, 0x00376f93}}}, + {X: Field{[10]uint32{0x016abd12, 0x035831d8, 0x01704d50, 0x0032fd0f, 0x02ee6d8e, 0x00c7e5ec, 0x022e3081, 0x03f754b0, 0x00e29090, 0x001d1dda}}, Y: Field{[10]uint32{0x00b61058, 0x02eb1827, 0x0384099d, 0x01172338, 0x0227b266, 0x03b9ffcd, 0x012879e5, 0x0382d2ed, 0x03408d1c, 0x003aa9d7}}}, + {X: Field{[10]uint32{0x018d6eda, 0x01f5e73f, 0x011435a1, 0x0163e44c, 0x0380897a, 0x01f00307, 0x0337cc88, 0x004c6a34, 0x02ac1c7d, 0x00215a7c}}, Y: Field{[10]uint32{0x03eacf71, 0x01fb5b60, 0x01a8edda, 0x02aa9397, 0x0385e43b, 0x011a8ce4, 0x00e700a7, 0x001ba0be, 0x0344252d, 0x001413c2}}}, + {X: Field{[10]uint32{0x011860c9, 0x035a1078, 0x00591e57, 0x03e2f920, 0x00c4418d, 0x010a6e1d, 0x00a1d680, 0x0087713f, 0x03f9a672, 0x0013c57c}}, Y: Field{[10]uint32{0x0096b7ed, 0x02571529, 0x02a820b7, 0x02f13318, 0x013f1154, 0x01f4a418, 0x02bda108, 0x02a70685, 0x01561783, 0x00260b03}}}, + {X: Field{[10]uint32{0x004a92ce, 0x02fdf005, 0x019439e1, 0x036ea909, 0x0204e4f9, 0x03dc9635, 0x03d56ce6, 0x01b878fa, 0x02201f22, 0x00087946}}, Y: Field{[10]uint32{0x01aac869, 0x011c1e5d, 0x0235918d, 0x019d144d, 0x02428f31, 0x0326f42a, 0x001486fe, 0x0292b497, 0x0001b6a5, 0x001311ea}}}, + {X: Field{[10]uint32{0x000211a0, 0x00a84627, 0x01f2ed5e, 0x00d8e56f, 0x03e0f283, 0x03fdafe2, 0x034c4f9d, 0x03b03342, 0x002e8865, 0x003eb1f9}}, Y: Field{[10]uint32{0x00dd695e, 0x01aee8b1, 0x025c641e, 0x02dceeb5, 0x02ce656f, 0x0265cc1e, 0x01fece11, 0x00667bec, 0x019c8337, 0x000da04b}}}, + {X: Field{[10]uint32{0x0226d225, 0x01915246, 0x03469910, 0x00b5ee72, 0x0257f0f4, 0x010b4a7b, 0x01686714, 0x031dfb31, 0x039ec91b, 0x002851e0}}, Y: Field{[10]uint32{0x005bc5a4, 0x001dc2b2, 0x02edab73, 0x0138bc53, 0x02fc0d06, 0x028a7f06, 0x0120257f, 0x019fc618, 0x010ebf72, 0x003d010d}}}, + {X: Field{[10]uint32{0x00636b8c, 0x02790706, 0x01e2bdf1, 0x003dc5ab, 0x0344a790, 0x00563cf8, 0x0083c1f4, 0x01a01112, 0x00f9e508, 0x0034484b}}, Y: Field{[10]uint32{0x03fc0964, 0x00eb2c09, 0x02ec0555, 0x03203a31, 0x022f9c21, 0x00c8d71a, 0x00183a0f, 0x0059944a, 0x005107b9, 0x0001c82e}}}, + {X: Field{[10]uint32{0x03948975, 0x027fa422, 0x03ce72dd, 0x03282249, 0x022e4852, 0x00681f5e, 0x037c1250, 0x0095e025, 0x0334a7ab, 0x0004f57c}}, Y: Field{[10]uint32{0x018773ca, 0x01edbade, 0x0282a7d8, 0x014d1e7f, 0x02ff9987, 0x03a30e05, 0x0231db1a, 0x02aed473, 0x01e2d1d0, 0x0025ce1a}}}, + {X: Field{[10]uint32{0x0063507d, 0x02f7ec39, 0x007e6b9a, 0x0294d31e, 0x025ec754, 0x01af084d, 0x029bec32, 0x027a39da, 0x01616dae, 0x0007c19a}}, Y: Field{[10]uint32{0x035b262d, 0x03473471, 0x013ceb5b, 0x01d02ccd, 0x03c6f999, 0x0264ea6f, 0x01f9fc12, 0x00447e20, 0x030eb4ea, 0x00369201}}}, + {X: Field{[10]uint32{0x01150269, 0x02ab57da, 0x020298d4, 0x03400453, 0x01907b15, 0x027e5d7d, 0x02d9a495, 0x00770f12, 0x01873868, 0x0001ca78}}, Y: Field{[10]uint32{0x01455442, 0x001967e3, 0x003f2456, 0x020a7a36, 0x02c1901c, 0x02c0d69f, 0x020022c8, 0x02806db7, 0x018ec60e, 0x0036fcbb}}}, + {X: Field{[10]uint32{0x01fda12a, 0x0085a1c7, 0x02fa02ee, 0x03bb0810, 0x028e3692, 0x03864309, 0x002435fd, 0x00d1dd35, 0x03e96135, 0x003a4bf2}}, Y: Field{[10]uint32{0x0164f2ff, 0x014b320b, 0x01a84fb8, 0x01447c07, 0x03585b14, 0x039bb173, 0x02369575, 0x02035907, 0x000e3f52, 0x0029d6d7}}}, + {X: Field{[10]uint32{0x00da36df, 0x0204b532, 0x01c1c789, 0x0335fcad, 0x001ad35b, 0x00fdae41, 0x004dfbf9, 0x0234e7a7, 0x021ac69f, 0x002170b9}}, Y: Field{[10]uint32{0x00b53f45, 0x03eaecf0, 0x03752f38, 0x036efca5, 0x02575264, 0x00caac46, 0x00a50b33, 0x00a78697, 0x01876944, 0x00329b64}}}, + {X: Field{[10]uint32{0x011bc05c, 0x0051f86f, 0x0024f10f, 0x016021e7, 0x003adf99, 0x016b93c0, 0x01c2791b, 0x031ad03d, 0x0232c33c, 0x0004345d}}, Y: Field{[10]uint32{0x039a687d, 0x00b24a64, 0x01718a8b, 0x013cc481, 0x000be846, 0x02393170, 0x01bae008, 0x03b1bd17, 0x0334f1dd, 0x003857b9}}}, + {X: Field{[10]uint32{0x025d609a, 0x03b21af8, 0x036f028f, 0x035a09d1, 0x0092511d, 0x01fa82ef, 0x01820bd2, 0x0225cbce, 0x03452593, 0x0029a508}}, Y: Field{[10]uint32{0x0311d6e9, 0x01cc20d3, 0x016bd0ea, 0x01b02d4a, 0x00af49ee, 0x0095b2d2, 0x036d1b66, 0x01cfd24f, 0x0216870f, 0x00381acd}}}, + {X: Field{[10]uint32{0x0394d8ac, 0x019b6237, 0x0190604f, 0x01d5aec3, 0x03c401a6, 0x016db131, 0x02ba0524, 0x02b8fd0f, 0x00ed2b3d, 0x002d29f6}}, Y: Field{[10]uint32{0x00963456, 0x00291b64, 0x01ecfd2b, 0x00138429, 0x01074dcb, 0x0341ebcd, 0x03def119, 0x036d6bf5, 0x00631a2c, 0x003ff207}}}, + {X: Field{[10]uint32{0x01a6fd17, 0x0078aaf7, 0x01266303, 0x03fd613c, 0x03f84fb2, 0x026a9574, 0x01cb660d, 0x00f15ca1, 0x021daebd, 0x0016baf8}}, Y: Field{[10]uint32{0x02f1abe8, 0x03366676, 0x00ff6d9d, 0x03bdecd7, 0x038f5994, 0x03572114, 0x0178c40c, 0x02d4c834, 0x01136a51, 0x00008ba9}}}, + {X: Field{[10]uint32{0x008c7f87, 0x00c5b9cb, 0x01c51278, 0x00360e18, 0x0269388d, 0x01158ea9, 0x016d64cb, 0x022356de, 0x02641943, 0x002b1a11}}, Y: Field{[10]uint32{0x02f41ac1, 0x004eace7, 0x02e5ff89, 0x02209961, 0x034d7109, 0x03da4fa4, 0x03bf1143, 0x002c0425, 0x02d82dc9, 0x0032e509}}}, + {X: Field{[10]uint32{0x00955250, 0x00855f09, 0x028356b8, 0x0190589f, 0x0176ad27, 0x009f3a2a, 0x00c58c2f, 0x0398861d, 0x01490f89, 0x001be52f}}, Y: Field{[10]uint32{0x007c5614, 0x037cfe6f, 0x012ec0d8, 0x02163b03, 0x01e3633a, 0x03e188bd, 0x03d9cf68, 0x0371f171, 0x00ce4a54, 0x003490cc}}}, + {X: Field{[10]uint32{0x0008f137, 0x01024168, 0x02fa9d09, 0x0229e168, 0x00775e06, 0x02b17fd1, 0x019ec5c9, 0x0251e81b, 0x008ce149, 0x0000fe5b}}, Y: Field{[10]uint32{0x005f3f40, 0x003ab320, 0x00ce2b12, 0x0100c380, 0x009b7d9e, 0x00d8327f, 0x03613d4e, 0x029418f3, 0x03af7111, 0x002a4773}}}, + {X: Field{[10]uint32{0x039c707d, 0x01c2565d, 0x033c8f34, 0x01866ca9, 0x00405a5b, 0x0124265d, 0x022a4c17, 0x01d74ee1, 0x005cdfd6, 0x0036016c}}, Y: Field{[10]uint32{0x003b6865, 0x0233b20f, 0x03a66b6d, 0x03c40f30, 0x0184366e, 0x02edff2c, 0x022abdbf, 0x027cb78e, 0x004cc727, 0x0029a2d5}}}, + {X: Field{[10]uint32{0x039df0e4, 0x02f8d381, 0x031d4808, 0x00cdbcbd, 0x03591422, 0x01d2afa6, 0x020efa78, 0x0272d9af, 0x000bd418, 0x00348a4f}}, Y: Field{[10]uint32{0x012682b1, 0x0301a3c8, 0x0131318c, 0x0268ff83, 0x017f24f7, 0x033a8e1c, 0x03fe70a5, 0x012582e6, 0x024887c5, 0x0017ef0c}}}, + {X: Field{[10]uint32{0x03209d5f, 0x032b6716, 0x016570fa, 0x03ed55be, 0x01e3f107, 0x01dacf17, 0x0149d26e, 0x008ff9eb, 0x010be226, 0x0024c7c2}}, Y: Field{[10]uint32{0x031cc087, 0x034685d2, 0x00144d5a, 0x03006143, 0x01848f57, 0x006ba8e5, 0x01daf748, 0x02626619, 0x0279d2a8, 0x00330957}}}, + {X: Field{[10]uint32{0x01e5ddc9, 0x0165cc8e, 0x00987a03, 0x002b6cd0, 0x006e4e69, 0x021500e9, 0x02a72f62, 0x03fdaf23, 0x02836707, 0x00046298}}, Y: Field{[10]uint32{0x03ff818b, 0x0086603d, 0x027ad722, 0x02361704, 0x00b6f5a1, 0x0365abe1, 0x039d4470, 0x024160db, 0x03e5e65a, 0x00247c03}}}, + {X: Field{[10]uint32{0x036a985a, 0x0071a907, 0x014be189, 0x00b4b998, 0x01b811ca, 0x03475278, 0x014ba420, 0x02d26b40, 0x00eb5b6c, 0x0020425b}}, Y: Field{[10]uint32{0x03607e5d, 0x03fa5c2d, 0x038f5b4d, 0x0181ac12, 0x003f4948, 0x00d52d9d, 0x0050a3c1, 0x03cf95e0, 0x01c5f8f9, 0x00036814}}}, + {X: Field{[10]uint32{0x000cae06, 0x0042624c, 0x0068b9f4, 0x010db771, 0x00351b7e, 0x020fad1f, 0x013559e7, 0x017b58b7, 0x00385ff4, 0x0026a029}}, Y: Field{[10]uint32{0x0004b6d0, 0x015efe2e, 0x01cad30e, 0x01678f90, 0x00bee656, 0x003154e6, 0x028aee8b, 0x02716d18, 0x039921b6, 0x00211747}}}, + {X: Field{[10]uint32{0x02747906, 0x009023d1, 0x0209081c, 0x0137eeed, 0x02214395, 0x007a57fa, 0x02c1d596, 0x0156e5fe, 0x00f3b899, 0x001a8c5a}}, Y: Field{[10]uint32{0x00ccc005, 0x00f15ca3, 0x01403c48, 0x007a0475, 0x02012c74, 0x00b2406d, 0x0244a3f8, 0x03c420eb, 0x03886778, 0x0016d7c7}}}, + {X: Field{[10]uint32{0x01214af8, 0x002a43f8, 0x018a73db, 0x03fbd3e3, 0x03797710, 0x022f23b5, 0x03d42985, 0x0196e88e, 0x031178d1, 0x002680ea}}, Y: Field{[10]uint32{0x01e85665, 0x00ad6f22, 0x0265ca65, 0x00287542, 0x0159a555, 0x02955bd4, 0x0112f2bf, 0x012fd245, 0x00e7e61e, 0x001c2223}}}, + {X: Field{[10]uint32{0x00ea2f5d, 0x01e3bdbd, 0x00e25e78, 0x01066477, 0x01296c8c, 0x0230525c, 0x02615754, 0x03678566, 0x018d78b8, 0x00232430}}, Y: Field{[10]uint32{0x031ca074, 0x005220b2, 0x01a68028, 0x03e6da42, 0x032b97c0, 0x036edc89, 0x0244a5e5, 0x02394685, 0x00cfde62, 0x000a950a}}}, + {X: Field{[10]uint32{0x008a8957, 0x035b74d4, 0x01d43b68, 0x008cce7f, 0x00933279, 0x000b27b4, 0x037a5daa, 0x00093613, 0x037f3062, 0x000ba6ea}}, Y: Field{[10]uint32{0x02a43345, 0x011d4c34, 0x02aca4a1, 0x023268dd, 0x03ea7e4f, 0x0148ecb7, 0x01e21f19, 0x000f27c8, 0x00b73f38, 0x00326be0}}}, + {X: Field{[10]uint32{0x02466322, 0x005d9c66, 0x0384db5c, 0x0260d0eb, 0x03e21298, 0x03ef9a8d, 0x0295e7c1, 0x033fbd92, 0x032e718e, 0x0009cd2f}}, Y: Field{[10]uint32{0x0284216e, 0x018d8c79, 0x03ca8f0a, 0x012f7e28, 0x007d0a1e, 0x01a5cc4b, 0x02a0ce34, 0x017c338d, 0x018a9f11, 0x003d4c02}}}, + {X: Field{[10]uint32{0x016aab58, 0x030a9475, 0x000d5e21, 0x01ee323d, 0x004af325, 0x01e6d485, 0x001b9975, 0x012939ba, 0x02f9500e, 0x002ae7b2}}, Y: Field{[10]uint32{0x01e0f047, 0x0035470f, 0x01bc3ff3, 0x039d5d0f, 0x01d0aaed, 0x00e2a216, 0x015e9d19, 0x0061126f, 0x03468e08, 0x003df4e1}}}, + {X: Field{[10]uint32{0x031af368, 0x0190d6b2, 0x000c0169, 0x01353a11, 0x00292b4d, 0x016eaa20, 0x029cd3e8, 0x027bcb96, 0x0146a4c0, 0x002b897d}}, Y: Field{[10]uint32{0x03f3da84, 0x004157bd, 0x03d59e05, 0x03c84404, 0x0080bd59, 0x0254f1b1, 0x039a9f22, 0x02103edc, 0x03b37373, 0x0011a8ac}}}, + {X: Field{[10]uint32{0x012e6142, 0x020f7070, 0x00ace54a, 0x02cafb01, 0x034e35ab, 0x0213f003, 0x017efaa8, 0x00736bd6, 0x01a64ef2, 0x00150a17}}, Y: Field{[10]uint32{0x00cdbc3d, 0x002db0c8, 0x03f6e522, 0x0124351b, 0x00b962a8, 0x00897757, 0x03c2dc29, 0x01ed6e91, 0x02b2144d, 0x000120ef}}}, + {X: Field{[10]uint32{0x03dca65e, 0x03ad984d, 0x00874c8d, 0x03ba8a45, 0x0035a627, 0x01a9e15f, 0x02d542ed, 0x008c7d82, 0x003404bc, 0x002fb3a1}}, Y: Field{[10]uint32{0x022f6a95, 0x00bd3acf, 0x034f8e9c, 0x02b6934e, 0x00fe1c93, 0x03820495, 0x0077fb8d, 0x039cbe39, 0x038002f9, 0x00288a7e}}}, + {X: Field{[10]uint32{0x035e81d1, 0x03672d3e, 0x0326b26f, 0x00b6b9b0, 0x0389994a, 0x03a082ef, 0x02fe5af1, 0x02e15d1c, 0x0347b148, 0x0000f555}}, Y: Field{[10]uint32{0x01e465df, 0x000073ef, 0x0052db90, 0x03efbf56, 0x03c9ea7d, 0x02cac58b, 0x035bc4f1, 0x00a293d8, 0x025ae867, 0x0037b7b2}}}, + {X: Field{[10]uint32{0x01cde5d4, 0x025f73dd, 0x01715fbc, 0x0080cd1d, 0x021846b5, 0x022fda9c, 0x036361a8, 0x00f1cd67, 0x0219d163, 0x0004f1a0}}, Y: Field{[10]uint32{0x03f83af4, 0x0104fe4d, 0x02e55935, 0x038aacad, 0x03bddf0c, 0x00b5e7a7, 0x02bfe7c5, 0x01fc825a, 0x00c239fc, 0x0033a28f}}}, + {X: Field{[10]uint32{0x01b0a6ac, 0x014049b5, 0x03433436, 0x00a6fa0d, 0x0036690a, 0x02ad4bc6, 0x00c481ad, 0x00691c9d, 0x02e1a804, 0x003a7902}}, Y: Field{[10]uint32{0x00c6bb7f, 0x0191bc8e, 0x029a9577, 0x008a9576, 0x019a22fa, 0x012451f3, 0x031f3147, 0x00e6e04d, 0x00b79c98, 0x00306656}}}, + {X: Field{[10]uint32{0x01493068, 0x006d3228, 0x00eea632, 0x01c6689a, 0x0113af43, 0x0236d872, 0x0353a537, 0x028697dc, 0x01537460, 0x000b8ed1}}, Y: Field{[10]uint32{0x03a54dcf, 0x014b1772, 0x01bb6e04, 0x03cadbed, 0x015ccf5c, 0x02439540, 0x019d3e22, 0x019b2125, 0x02561049, 0x003dee97}}}, + {X: Field{[10]uint32{0x034c62b8, 0x03c3d202, 0x0091edb1, 0x03713329, 0x026a59f3, 0x03d9c373, 0x02aa40eb, 0x012c019f, 0x0082b921, 0x0026156f}}, Y: Field{[10]uint32{0x00fcf435, 0x03072033, 0x000098d4, 0x0084e11e, 0x0387184e, 0x02c1c580, 0x0237d6b5, 0x031cf3a7, 0x036e3be6, 0x0029f64f}}}, + {X: Field{[10]uint32{0x01253979, 0x03e11d85, 0x00866982, 0x03148cee, 0x0367486b, 0x0273c9f7, 0x004bee26, 0x00a44db5, 0x00a9b934, 0x000dfe08}}, Y: Field{[10]uint32{0x0070ca15, 0x01a28a1e, 0x0288b2a5, 0x00ee75ee, 0x0150dd89, 0x01f159a9, 0x0345a5a3, 0x0274ddfc, 0x029daa62, 0x003f72ba}}}, + {X: Field{[10]uint32{0x02d41a98, 0x02a747f7, 0x013b03cb, 0x028a8e13, 0x023e0cd0, 0x001c3167, 0x00f6ba28, 0x00ec31a4, 0x0098a92a, 0x003a0b4b}}, Y: Field{[10]uint32{0x00501460, 0x021af832, 0x0306095c, 0x03341852, 0x01d09d7e, 0x031f540b, 0x0033d344, 0x016cd852, 0x023232d8, 0x000c79ce}}}, + {X: Field{[10]uint32{0x02923419, 0x024de666, 0x03f3a24b, 0x007ad002, 0x03ad4690, 0x03abb38e, 0x00711827, 0x032419a8, 0x03c36dd4, 0x002f524b}}, Y: Field{[10]uint32{0x01dd7798, 0x01a83240, 0x01af5fdc, 0x024ef349, 0x018b93da, 0x01ff5012, 0x036dbd0a, 0x03569199, 0x03c51e1f, 0x0032ab68}}}, + {X: Field{[10]uint32{0x0229577a, 0x03b4cae1, 0x039641cd, 0x0265ef7c, 0x00cd8f0d, 0x0169a720, 0x022c4dc1, 0x03b13cf2, 0x02da42d1, 0x001b22d1}}, Y: Field{[10]uint32{0x0318c956, 0x00900131, 0x030a97f1, 0x023b98ac, 0x01cbeb98, 0x02f2f08e, 0x02ef5965, 0x010b83dc, 0x0362729e, 0x0034eb53}}}, + {X: Field{[10]uint32{0x00f5dd62, 0x03af303e, 0x00f05ea9, 0x006ab432, 0x03effee7, 0x034d5ad3, 0x00a25d34, 0x034f7615, 0x01e6799b, 0x001e2c7a}}, Y: Field{[10]uint32{0x0131145d, 0x017e248e, 0x025c1dd2, 0x00adc0b9, 0x01d726ce, 0x028c0199, 0x03d70057, 0x02237301, 0x02d6a267, 0x000c540f}}}, + {X: Field{[10]uint32{0x02ebdccf, 0x01d3ba96, 0x00375c89, 0x0170057c, 0x03cb53fa, 0x03e92ada, 0x028cda6b, 0x0148f8f1, 0x02a663c5, 0x003cbb40}}, Y: Field{[10]uint32{0x00f36382, 0x039c968f, 0x03b67773, 0x02a3451d, 0x02937720, 0x00882b4c, 0x03922413, 0x000c838e, 0x01c3afdc, 0x0000ef79}}}, + {X: Field{[10]uint32{0x02caffd3, 0x00259f50, 0x02a60cde, 0x0005746a, 0x00f67ab1, 0x03fdae88, 0x0254d835, 0x0002fc1f, 0x0243a458, 0x001f90fd}}, Y: Field{[10]uint32{0x0398d68a, 0x00851655, 0x0079a76e, 0x004ad55a, 0x0158600d, 0x001ed49a, 0x03fbb378, 0x00ce66d5, 0x02da0f47, 0x0007d15b}}}, + {X: Field{[10]uint32{0x01319be8, 0x002d9598, 0x01d07643, 0x03299955, 0x017ccde2, 0x02d34b3a, 0x00c0a624, 0x00da5ea9, 0x01775eb7, 0x0037c578}}, Y: Field{[10]uint32{0x027311ad, 0x001e73ec, 0x00e53b35, 0x032ac5b9, 0x0108397c, 0x02983b8b, 0x0173dfb8, 0x00e06308, 0x00dcf154, 0x0000125b}}}, + {X: Field{[10]uint32{0x0382e2ae, 0x01fd9a71, 0x00fceef3, 0x03ee4685, 0x036707a3, 0x02503a12, 0x01c16487, 0x02ec804b, 0x03060295, 0x003b7c75}}, Y: Field{[10]uint32{0x02019a2e, 0x02a2593f, 0x00d7d239, 0x0263c239, 0x039ed8f5, 0x03a223ab, 0x00b2dd68, 0x01b25ec8, 0x02f6fcd7, 0x0038e83c}}}, + {X: Field{[10]uint32{0x02f8f6c0, 0x023ed705, 0x03c2d9b1, 0x0335aea1, 0x01fd92ce, 0x00f41193, 0x023c3137, 0x02087cef, 0x02b26b15, 0x00305408}}, Y: Field{[10]uint32{0x02136c2e, 0x01606f73, 0x02da9327, 0x0096a03f, 0x0065d57f, 0x00ba7e81, 0x03961e69, 0x00a10b81, 0x0370d94e, 0x001e3348}}}, + {X: Field{[10]uint32{0x036001d9, 0x01f69fb1, 0x01105e27, 0x032ed4b7, 0x00c6cc2b, 0x02a3e324, 0x01886a28, 0x00578042, 0x036bb6ae, 0x0002f537}}, Y: Field{[10]uint32{0x02f1446f, 0x021c9f63, 0x0387572f, 0x03736806, 0x03a6f6fa, 0x01b3b4b8, 0x00e50299, 0x032e596e, 0x01b2b0b4, 0x00126596}}}, + {X: Field{[10]uint32{0x03bc0b76, 0x0025c023, 0x03ed4b21, 0x02d3211a, 0x021e2d6e, 0x018bc603, 0x01f9b4f1, 0x02533949, 0x02328738, 0x0037f3b0}}, Y: Field{[10]uint32{0x01b4f92e, 0x03bc019a, 0x03b953f8, 0x0314cc90, 0x005a477e, 0x02842acf, 0x0318f059, 0x0239c670, 0x021bf4c8, 0x002bef1d}}}, + {X: Field{[10]uint32{0x01c94e54, 0x02c7fbfd, 0x008e1a9e, 0x00d5d939, 0x00b84739, 0x02e2d07f, 0x0259b005, 0x013eb88d, 0x004de3c9, 0x002c01db}}, Y: Field{[10]uint32{0x039c7d4f, 0x0288c203, 0x00551f3e, 0x0286e13a, 0x01fe17fd, 0x0120c282, 0x002ee5e4, 0x029a1dbd, 0x02553c55, 0x00387acc}}}, + {X: Field{[10]uint32{0x022d0c11, 0x0130fc36, 0x008be94b, 0x02c266fa, 0x020fe9eb, 0x03599e1e, 0x01e9fe33, 0x00957304, 0x029c17c4, 0x0002687f}}, Y: Field{[10]uint32{0x008e8379, 0x03d5a37a, 0x002b096a, 0x01b98b7c, 0x0325f6fd, 0x01eb472a, 0x023e1aac, 0x039ce5b8, 0x030999a8, 0x0039abbd}}}, + {X: Field{[10]uint32{0x01212899, 0x01ba7905, 0x030f2257, 0x01b9e658, 0x02e1d8b1, 0x01b19441, 0x0399b88b, 0x02f05766, 0x0134126b, 0x0007626a}}, Y: Field{[10]uint32{0x02f8f4eb, 0x02035669, 0x00fd7567, 0x0113b4db, 0x0137d646, 0x03657142, 0x01a79ef7, 0x001c883a, 0x025692db, 0x002df8c8}}}, + {X: Field{[10]uint32{0x000c7fa4, 0x02f90cdc, 0x000a6ac2, 0x015886f2, 0x02345469, 0x014c3b7e, 0x0062d4f7, 0x00de58f1, 0x0068b67b, 0x003183d7}}, Y: Field{[10]uint32{0x038a7e08, 0x01d6982f, 0x002c653f, 0x014d73b0, 0x03b5507b, 0x003724b4, 0x01b5a676, 0x03c38e86, 0x007197ff, 0x00223e2c}}}, + {X: Field{[10]uint32{0x02d9d949, 0x01f5b094, 0x02ec9e6b, 0x0073dda3, 0x03620576, 0x00c06f90, 0x036499ad, 0x009a646d, 0x036f0d9b, 0x0014b34a}}, Y: Field{[10]uint32{0x030ec835, 0x00084e00, 0x024aa138, 0x020bd51f, 0x02263563, 0x031e0ac9, 0x0111a3ea, 0x00d42283, 0x00661fa3, 0x003449f3}}}, + {X: Field{[10]uint32{0x0105dda9, 0x00d0091b, 0x03be920a, 0x02973d38, 0x01c21fbe, 0x0345aec6, 0x004f107f, 0x020d7fce, 0x019ea639, 0x00079112}}, Y: Field{[10]uint32{0x032d1f53, 0x0104b083, 0x0088d027, 0x008fa585, 0x018f8adf, 0x013f43c8, 0x00d12db7, 0x010be654, 0x00e90a90, 0x001071aa}}}, + {X: Field{[10]uint32{0x006861de, 0x009d50ff, 0x01cb1c67, 0x01595a81, 0x03984ecc, 0x01804dba, 0x0253bae3, 0x0252eb47, 0x00f0a563, 0x0004e451}}, Y: Field{[10]uint32{0x02d0742a, 0x03b4ed0b, 0x02dc1025, 0x0005ba87, 0x00964f3d, 0x03010aee, 0x03174ab6, 0x03a6c86f, 0x0337ff37, 0x001c0e51}}}, + {X: Field{[10]uint32{0x014a2280, 0x029d3e19, 0x02eb75a2, 0x0322db6d, 0x0134fe75, 0x018d39a1, 0x03cb9546, 0x037c6187, 0x002a2454, 0x0024d328}}, Y: Field{[10]uint32{0x03195761, 0x03e85736, 0x00be4375, 0x00e9af9e, 0x016865ce, 0x013f493c, 0x003caee7, 0x03f2802e, 0x0384266c, 0x001de7a5}}}, + {X: Field{[10]uint32{0x006a3be6, 0x034c9b62, 0x0279a7ac, 0x02a8b52d, 0x00af913b, 0x034d7b35, 0x01a8c329, 0x009165df, 0x007d9e1c, 0x002993c1}}, Y: Field{[10]uint32{0x01112b2b, 0x0052061e, 0x03581e60, 0x00263b15, 0x023210f3, 0x0091d677, 0x02145e3b, 0x03b5b440, 0x030ff3b4, 0x003847a0}}}, + {X: Field{[10]uint32{0x018757e1, 0x0150a3a0, 0x0034e2a1, 0x0312e2f5, 0x03cfcf45, 0x03c57fa3, 0x00820ccd, 0x02422236, 0x00bdcd62, 0x003871a2}}, Y: Field{[10]uint32{0x00c77f7d, 0x003dbc86, 0x03600d13, 0x00685499, 0x01a34e7d, 0x01deedd1, 0x03b8e00e, 0x03238004, 0x02e171e7, 0x002f0431}}}, + {X: Field{[10]uint32{0x00137358, 0x03baab1a, 0x01354c6d, 0x03b43655, 0x010ba2bd, 0x009ebf32, 0x0056de68, 0x01c3cb65, 0x00951231, 0x002c68c3}}, Y: Field{[10]uint32{0x004071f5, 0x01f5042c, 0x032985a1, 0x01fb7e86, 0x02a67879, 0x00100dcf, 0x00443469, 0x0072bf4e, 0x00abc16c, 0x00271da8}}}, + {X: Field{[10]uint32{0x02166e85, 0x024afab9, 0x034d0d68, 0x027da66b, 0x034c7cf9, 0x023d7894, 0x028ba235, 0x00a470d1, 0x03b5fbb0, 0x00093309}}, Y: Field{[10]uint32{0x039f71d5, 0x0287b633, 0x038ddd7a, 0x03388c4a, 0x02d51aab, 0x03c1da3f, 0x03c52e3f, 0x02e9099c, 0x01af2516, 0x003abcda}}}, + {X: Field{[10]uint32{0x008f6a57, 0x02aacb65, 0x00a92217, 0x01de136a, 0x02bacab5, 0x02f4c73b, 0x03e8921c, 0x03478bdf, 0x017a6166, 0x0022ed00}}, Y: Field{[10]uint32{0x008dc331, 0x00355ac2, 0x00c8a5c3, 0x01ca4f5e, 0x01a09cad, 0x0060a65b, 0x02e34fc7, 0x01a618d5, 0x000e6c47, 0x0032265d}}}, + {X: Field{[10]uint32{0x00497f6f, 0x02668cd8, 0x0368b0ec, 0x03d6949c, 0x01e6dafe, 0x002cc0ff, 0x02c17dc2, 0x03765b83, 0x03ddd82f, 0x0015762d}}, Y: Field{[10]uint32{0x03b8beca, 0x0211d8ad, 0x03657bbf, 0x00c347ff, 0x03f4f292, 0x0139cba7, 0x021709e4, 0x0359bd0d, 0x0111078b, 0x003f5891}}}, + {X: Field{[10]uint32{0x00c94df3, 0x038a148d, 0x028455db, 0x009bb11e, 0x03109d46, 0x00176f78, 0x01cbfe61, 0x00c6bd46, 0x01ef5a55, 0x0020aa8b}}, Y: Field{[10]uint32{0x01811511, 0x003b8e33, 0x007c4ebc, 0x03e81a85, 0x018d1e60, 0x0097eec9, 0x002df919, 0x028b9423, 0x03ea9f83, 0x00184582}}}, + {X: Field{[10]uint32{0x00f6f7f4, 0x010e33cb, 0x01636ad3, 0x02c30a38, 0x00804b03, 0x033ea466, 0x002cfbf3, 0x01ffe11f, 0x037cc6df, 0x000db049}}, Y: Field{[10]uint32{0x02fe4833, 0x0168a945, 0x03020aee, 0x018038cb, 0x03a7bb3b, 0x02963811, 0x015d821e, 0x0071d151, 0x03a274f8, 0x0008c13e}}}, + {X: Field{[10]uint32{0x00cd9119, 0x02215ab8, 0x0318c0eb, 0x0097e926, 0x02d57b89, 0x03002cd9, 0x02c9e860, 0x032b5f85, 0x01cc5b44, 0x003cddbf}}, Y: Field{[10]uint32{0x00a028cb, 0x039ea814, 0x006ac74f, 0x02b2f7d7, 0x01c3d0e7, 0x006b3f23, 0x009e3ef1, 0x03a07c12, 0x0132e4de, 0x000b5ab3}}}, + {X: Field{[10]uint32{0x01c5030b, 0x02ab3297, 0x03d1cc7a, 0x01b0e7b3, 0x0197150b, 0x001f4ea2, 0x02e8ecb9, 0x03a7d765, 0x00dc5372, 0x003a9384}}, Y: Field{[10]uint32{0x02d96ff5, 0x01999b0d, 0x003f9520, 0x0180513f, 0x0336d6be, 0x03f7ae25, 0x03486d29, 0x009aff0b, 0x02a393b6, 0x002c225b}}}, + {X: Field{[10]uint32{0x02fdeb08, 0x020728e9, 0x0191a0d1, 0x0067c6a7, 0x00a376ea, 0x006c512e, 0x03f0a2c7, 0x01285e74, 0x02b4b266, 0x001d3ce4}}, Y: Field{[10]uint32{0x009e1fc0, 0x03b820f8, 0x02636c6e, 0x00d901b4, 0x01c95230, 0x026d19cd, 0x02cef679, 0x01623d93, 0x0321428d, 0x0026f536}}}, + {X: Field{[10]uint32{0x014855eb, 0x0258bbf3, 0x02774ca6, 0x01ad62e0, 0x0111c13a, 0x00393208, 0x01a17daf, 0x01ddd290, 0x004259ba, 0x000e8db2}}, Y: Field{[10]uint32{0x00fa5e3c, 0x02574af8, 0x03f482f0, 0x02e91763, 0x01f35e46, 0x017bce79, 0x01720c71, 0x024a3359, 0x01ad9ede, 0x001b76b4}}}, + {X: Field{[10]uint32{0x0098c019, 0x01434a97, 0x0364deae, 0x00623cc9, 0x017635ef, 0x01ac5faa, 0x02739814, 0x02913c5b, 0x02ad5636, 0x00275dec}}, Y: Field{[10]uint32{0x02ee3eef, 0x030dc688, 0x03234f30, 0x033674bd, 0x03eb5936, 0x02cb6c25, 0x0392b8ac, 0x02186ae4, 0x0027a775, 0x0014cb74}}}, + {X: Field{[10]uint32{0x02a3c4ab, 0x02b9f9ef, 0x02c1b39a, 0x005fb91a, 0x000deb61, 0x00317c6f, 0x01168a0f, 0x00be0381, 0x02e9450e, 0x000b9d00}}, Y: Field{[10]uint32{0x0182fc3b, 0x020abeb3, 0x02b6034b, 0x0073c90b, 0x03cf8572, 0x02208404, 0x016b3fef, 0x03f8ae3b, 0x036b5606, 0x00107a3c}}}, + {X: Field{[10]uint32{0x033ebe6f, 0x030ddb94, 0x03320de0, 0x03c54c52, 0x006a6806, 0x023c0297, 0x0333d35e, 0x02d6f606, 0x03254ed0, 0x002bacb2}}, Y: Field{[10]uint32{0x01b9d59c, 0x03135a8a, 0x03d0b142, 0x003dda0c, 0x035d761c, 0x0320fcc5, 0x0028249f, 0x03e8b2cc, 0x02f52d7b, 0x001ae045}}}, + {X: Field{[10]uint32{0x00ca7895, 0x0330fd17, 0x03655fbb, 0x00eae8e8, 0x014cca66, 0x029e5e4a, 0x00adabe3, 0x00b25e80, 0x00bd55d6, 0x00321889}}, Y: Field{[10]uint32{0x011cc214, 0x00c8eef3, 0x00c21844, 0x014fea54, 0x001d8573, 0x0180276d, 0x0293adfa, 0x01e4d4d9, 0x03b7104f, 0x0028c668}}}, + {X: Field{[10]uint32{0x02efe561, 0x033eee8f, 0x03a66aac, 0x03814d2c, 0x00d53ddd, 0x03f739bd, 0x035a28bc, 0x01a8375e, 0x00cc2c57, 0x00074459}}, Y: Field{[10]uint32{0x004995a7, 0x0119c2ad, 0x0291c000, 0x022490fa, 0x01ec6009, 0x0311c391, 0x00ba6947, 0x03625ff3, 0x00deaa25, 0x002e1624}}}, + {X: Field{[10]uint32{0x0040e3c8, 0x00984629, 0x0393b92f, 0x01062f35, 0x035e7f0f, 0x03124f33, 0x036620a5, 0x0056d739, 0x02b413b9, 0x000ad53e}}, Y: Field{[10]uint32{0x039bf5d1, 0x03400593, 0x03cdb30a, 0x012c0bbf, 0x037a61ce, 0x037777cd, 0x01bdfefb, 0x02b635fa, 0x012556fe, 0x0022bfe3}}}, + {X: Field{[10]uint32{0x0329b340, 0x00ea9815, 0x0188709a, 0x0097cb7e, 0x03a9718c, 0x014f91b5, 0x01428ac8, 0x00a87d82, 0x0224a4e7, 0x0007c7ca}}, Y: Field{[10]uint32{0x00421cbd, 0x037c858b, 0x03170991, 0x00812c85, 0x020b6311, 0x01a1c40c, 0x0394f392, 0x002eeaf3, 0x00a4f492, 0x00011437}}}, + {X: Field{[10]uint32{0x00ebd4e5, 0x017b94b2, 0x03200f18, 0x0167c8bc, 0x0383fbc5, 0x0001f815, 0x025682c5, 0x01f93493, 0x018ee677, 0x00104bd9}}, Y: Field{[10]uint32{0x0171c8f4, 0x02de26d9, 0x00e32887, 0x038c9da4, 0x010c8399, 0x03e9932c, 0x030b3d7a, 0x0253fae4, 0x024a9d93, 0x0030b82d}}}, + {X: Field{[10]uint32{0x00f4912b, 0x007e1513, 0x011fbf56, 0x03e7e4b0, 0x0195102e, 0x019f8943, 0x02fec9a3, 0x02477a5d, 0x00b55677, 0x00212577}}, Y: Field{[10]uint32{0x02152443, 0x0270ca8a, 0x011c5e2a, 0x007d1938, 0x03542e51, 0x014ef693, 0x0263f191, 0x02093bd7, 0x01c57d3d, 0x00197e02}}}, + {X: Field{[10]uint32{0x0156cfde, 0x013fc216, 0x006ee1bb, 0x02a5e959, 0x030b4a18, 0x02172931, 0x0145b8bc, 0x032578ea, 0x01c0d841, 0x003e39ef}}, Y: Field{[10]uint32{0x00ed6d42, 0x03b7577c, 0x010111b4, 0x0358577d, 0x006d6660, 0x012e7f02, 0x009d28c2, 0x00d9e4df, 0x0083f93a, 0x0003342b}}}, + {X: Field{[10]uint32{0x02854c94, 0x00bdcc18, 0x0213164f, 0x0121db92, 0x008c8c56, 0x037ca2b5, 0x00767517, 0x0041c492, 0x025a4e4c, 0x0020c918}}, Y: Field{[10]uint32{0x039bfaeb, 0x03308c07, 0x003561f5, 0x032c902e, 0x01de65e2, 0x00189809, 0x01c7ec37, 0x00a09582, 0x01604992, 0x001d86c6}}}, + {X: Field{[10]uint32{0x03ca04d4, 0x03b61644, 0x032cf213, 0x0180c08f, 0x0216a8e1, 0x00d4f7c7, 0x00b6befd, 0x01f88abd, 0x01ff99f8, 0x0022c712}}, Y: Field{[10]uint32{0x03ad6c23, 0x006f78c8, 0x034c02ca, 0x01d5f89d, 0x006abbf9, 0x008b7894, 0x01cff728, 0x022194b4, 0x03d10e17, 0x00335144}}}, + {X: Field{[10]uint32{0x02f4f138, 0x02b2e0a5, 0x03790bca, 0x03ca1eba, 0x0259deac, 0x018c2d19, 0x0030e89d, 0x01360232, 0x01a120d2, 0x0038ab58}}, Y: Field{[10]uint32{0x02186291, 0x036f1bec, 0x0321abf5, 0x01a5800c, 0x02918497, 0x02b371f2, 0x02d29405, 0x01219f6a, 0x01dcfc1c, 0x00147346}}}, + {X: Field{[10]uint32{0x00c197a4, 0x038eb40d, 0x013ba9ea, 0x0339fd1e, 0x01e10356, 0x00c41580, 0x026aa915, 0x029bcc5a, 0x017ea9a9, 0x0003a373}}, Y: Field{[10]uint32{0x00ea6b5e, 0x0072a14e, 0x0295c2e6, 0x0249a9a1, 0x0195f698, 0x01c712b7, 0x02e2a99e, 0x02abd74c, 0x02d791f3, 0x00320d6e}}}, + {X: Field{[10]uint32{0x00f81233, 0x02423a6f, 0x03556e46, 0x02566c81, 0x00d8643f, 0x033ec171, 0x01bba690, 0x02e3bcd8, 0x00e35875, 0x003c2dd2}}, Y: Field{[10]uint32{0x01d6e908, 0x025006cb, 0x0023e91e, 0x02aea7fd, 0x01c1c0ae, 0x030a7298, 0x00765f60, 0x00e9ed9e, 0x02515d16, 0x001a8993}}}, + {X: Field{[10]uint32{0x01af3a87, 0x025f54ce, 0x017962ce, 0x02ba4faf, 0x03e6eef8, 0x03ff8908, 0x02dd305b, 0x016859d9, 0x016f0997, 0x0024037a}}, Y: Field{[10]uint32{0x01164478, 0x02a9c013, 0x01439650, 0x026c4848, 0x01f33f8e, 0x02f9a692, 0x031bf65d, 0x01628e8c, 0x02ecd9c0, 0x002252ac}}}, + {X: Field{[10]uint32{0x0188aa53, 0x0085283b, 0x00645a6e, 0x02879b4d, 0x01ce7fbd, 0x03a7b3e5, 0x030e3067, 0x008d081c, 0x0130d2ea, 0x00232f9e}}, Y: Field{[10]uint32{0x00186b83, 0x0377615c, 0x01ac9919, 0x01c3b01c, 0x0085092c, 0x008cb24d, 0x027f2c8e, 0x0299f6b8, 0x016bf875, 0x00219ec5}}}, + {X: Field{[10]uint32{0x0225e68d, 0x024bfb26, 0x003e69a2, 0x037f04d6, 0x00e79237, 0x0315c1b5, 0x01a65c0f, 0x03490e51, 0x01c95b35, 0x002832ec}}, Y: Field{[10]uint32{0x02047e4f, 0x0293ac60, 0x00a4055b, 0x00917a14, 0x013c6d70, 0x003701b8, 0x01c8a554, 0x006917e0, 0x01d13cd6, 0x002db5fa}}}, + {X: Field{[10]uint32{0x022463cf, 0x02912209, 0x03f4c832, 0x00f58ed1, 0x00d8050c, 0x017a61ff, 0x02d3bbe0, 0x0232d6a9, 0x0072a3fa, 0x000522ab}}, Y: Field{[10]uint32{0x037e4a61, 0x00ccc899, 0x000b292a, 0x02460963, 0x0372749f, 0x01bcb8ae, 0x0245f6d3, 0x0112156a, 0x0249a6e2, 0x001fca77}}}, + {X: Field{[10]uint32{0x02f3977f, 0x01f3ccd9, 0x018cefb0, 0x03e89688, 0x02c28616, 0x028838b9, 0x02caf7ef, 0x03f5b79b, 0x01073a1a, 0x000ee7fb}}, Y: Field{[10]uint32{0x02c65fc9, 0x01c00f04, 0x010fe0ac, 0x0284d23b, 0x034fa9e7, 0x025ab4f8, 0x030c936e, 0x03259287, 0x033c5084, 0x003c2a16}}}, + {X: Field{[10]uint32{0x023537aa, 0x0196b1f3, 0x020fecc5, 0x03ab7eff, 0x027c9cbc, 0x003e90c6, 0x03b443c3, 0x02ff6555, 0x00ed5228, 0x001f7917}}, Y: Field{[10]uint32{0x022686f0, 0x027377be, 0x00fc1199, 0x02298326, 0x0178e011, 0x0315418b, 0x03794f3a, 0x01c0cef2, 0x01376910, 0x00145777}}}, + {X: Field{[10]uint32{0x01913dd2, 0x03986c95, 0x015aa251, 0x0273ae87, 0x03c17cf9, 0x013cea15, 0x00102747, 0x03d58a60, 0x035a0534, 0x00273068}}, Y: Field{[10]uint32{0x02433ae5, 0x005a130f, 0x007ccc69, 0x010ebcaf, 0x03c653e2, 0x02fe384b, 0x0115da37, 0x0293e658, 0x01a8f30f, 0x003024b3}}}, + {X: Field{[10]uint32{0x02b52ec6, 0x002da41e, 0x00562092, 0x03ec8896, 0x0310fc71, 0x00a29ca0, 0x02ad7298, 0x00ee731d, 0x0168759b, 0x00360bc6}}, Y: Field{[10]uint32{0x0018c607, 0x002bd422, 0x03306c47, 0x020b72b0, 0x011b3720, 0x03872760, 0x0008f8ca, 0x00ec31ce, 0x02052698, 0x00153342}}}, + {X: Field{[10]uint32{0x007b7586, 0x0257ab6e, 0x02498241, 0x01221796, 0x0101f9c5, 0x00a46d83, 0x031bffcc, 0x016a5430, 0x014703d9, 0x0005b9aa}}, Y: Field{[10]uint32{0x03d8aafd, 0x00b15636, 0x03276f88, 0x02393b5c, 0x0080ff4c, 0x02a55f01, 0x010d3655, 0x01ae30b9, 0x0138581b, 0x000678a6}}}, + {X: Field{[10]uint32{0x035cd237, 0x0263948e, 0x03197ff0, 0x01395e85, 0x03ad57a7, 0x01df0d18, 0x02b46704, 0x013c9391, 0x02f300ee, 0x00341f9e}}, Y: Field{[10]uint32{0x035d0e20, 0x01bc9304, 0x00b1bc69, 0x037adbc8, 0x00d4d175, 0x03d86222, 0x031019be, 0x005959a6, 0x020f43c9, 0x003ffcd3}}}, + {X: Field{[10]uint32{0x01665380, 0x007d3679, 0x0301450a, 0x02e43260, 0x018ffe42, 0x00fea93a, 0x02118a34, 0x009ff18e, 0x00e56dc0, 0x000afd91}}, Y: Field{[10]uint32{0x02262ec5, 0x013e4956, 0x00477c92, 0x017d9ba9, 0x03eb84ca, 0x001ad57d, 0x0366fb7a, 0x007f17e3, 0x017577be, 0x002fbd70}}}, + {X: Field{[10]uint32{0x005cb045, 0x03b5493f, 0x03a3ab97, 0x01f97897, 0x027a8810, 0x010965f1, 0x00801014, 0x036e4d23, 0x01370db1, 0x001463c3}}, Y: Field{[10]uint32{0x014d7294, 0x0280e5da, 0x037418db, 0x03d37e2a, 0x006eb9f3, 0x0125d094, 0x03113a14, 0x03b4059b, 0x010ea4e9, 0x00372a1d}}}, + {X: Field{[10]uint32{0x030554c7, 0x031c975b, 0x0128e9a9, 0x02ea1e66, 0x0057bf54, 0x03087d89, 0x029893f8, 0x01d284af, 0x02b6c507, 0x0002f523}}, Y: Field{[10]uint32{0x0170f6e1, 0x03e9e1fd, 0x002d2e2c, 0x01418c9d, 0x00dd58f3, 0x01da7dce, 0x034bad90, 0x000c019d, 0x01a8cd8f, 0x0008029b}}}, + {X: Field{[10]uint32{0x031517e2, 0x02678d36, 0x031302aa, 0x01178f02, 0x00800c5b, 0x0193e870, 0x0336622b, 0x01a78da4, 0x013a8711, 0x00333236}}, Y: Field{[10]uint32{0x0101d845, 0x03f5b0db, 0x0305611e, 0x00252027, 0x00888373, 0x0115219a, 0x0211f1bc, 0x0191e3be, 0x03e4d45e, 0x000103b9}}}, + {X: Field{[10]uint32{0x03f6bd1a, 0x0149fc76, 0x03dab8f4, 0x00703f09, 0x0327e8d0, 0x01efa7a9, 0x01d2e9a2, 0x01e648c4, 0x012c7587, 0x0021bd8e}}, Y: Field{[10]uint32{0x010f7922, 0x02bcd340, 0x02dd3e7c, 0x0063f51a, 0x00571505, 0x0127b9a4, 0x02b1304c, 0x02a8a8f4, 0x0211b647, 0x001fb8a5}}}, + {X: Field{[10]uint32{0x03d7fdfd, 0x010760ed, 0x01c1bbfc, 0x0205b687, 0x019bb5a3, 0x00e1d47e, 0x03941053, 0x003e9b0d, 0x00e5927b, 0x00380d3d}}, Y: Field{[10]uint32{0x01a5f89d, 0x01239d50, 0x03b6ff22, 0x01eec9e7, 0x01e90256, 0x02fb72ae, 0x0282b05c, 0x010b904c, 0x02cb8382, 0x003727c0}}}, + {X: Field{[10]uint32{0x02b51045, 0x02d2731a, 0x01062837, 0x03bee1b8, 0x0075eadf, 0x02e09544, 0x023a66a0, 0x02fc017b, 0x02160a9d, 0x0023f0da}}, Y: Field{[10]uint32{0x03d200a6, 0x02526648, 0x0374a705, 0x009e7b27, 0x0266a885, 0x0001292f, 0x03d9957a, 0x02607485, 0x00409605, 0x0031fb8b}}}, + {X: Field{[10]uint32{0x033278e0, 0x002b7239, 0x0112d9c1, 0x037ad45f, 0x03997130, 0x019773f8, 0x0089b71e, 0x01f65b59, 0x00bc5407, 0x0035eed0}}, Y: Field{[10]uint32{0x028b0a4b, 0x0241d2a9, 0x01b468ce, 0x02f8ea2a, 0x025897c0, 0x025ad72d, 0x020706bd, 0x02eb916a, 0x03662f64, 0x00388258}}}, + {X: Field{[10]uint32{0x03bd2ac5, 0x0382a218, 0x007e0b8b, 0x020455ec, 0x003c8826, 0x00997390, 0x007d2d6c, 0x031c5045, 0x02858054, 0x0035cd5d}}, Y: Field{[10]uint32{0x01a9932b, 0x00baf961, 0x019c24f4, 0x0294e031, 0x01d2ce03, 0x03356013, 0x014099e9, 0x0108e709, 0x014b2fc9, 0x00253e1d}}}, + {X: Field{[10]uint32{0x018f8392, 0x02b836a1, 0x002b6669, 0x03f595f7, 0x013e720f, 0x034ff859, 0x01a7e99b, 0x00ffe9c7, 0x02aed935, 0x0016dbe2}}, Y: Field{[10]uint32{0x018f9089, 0x013d1cd0, 0x03c106e7, 0x0100c094, 0x03e49668, 0x0138917c, 0x02f85ec3, 0x01bbb7e9, 0x0105369c, 0x0013babf}}}, + {X: Field{[10]uint32{0x02222000, 0x01cb1390, 0x03b39f7b, 0x02806683, 0x02ab4076, 0x0313d221, 0x004b4f49, 0x00a7900e, 0x011267cc, 0x000e5113}}, Y: Field{[10]uint32{0x0283d771, 0x02806872, 0x010ba50e, 0x015c6ddf, 0x01329f30, 0x014e23ae, 0x0248adf3, 0x03b8b637, 0x002aaf90, 0x00197094}}}, + {X: Field{[10]uint32{0x030752c7, 0x021222c6, 0x010030a1, 0x02573b0b, 0x0216ebad, 0x02f26223, 0x019c4a7d, 0x02c28f05, 0x00dbf1ef, 0x0014f780}}, Y: Field{[10]uint32{0x01e2fbda, 0x0158c881, 0x026d33a5, 0x01993452, 0x0287dc61, 0x039ef146, 0x02d62285, 0x0177e9d4, 0x03d99947, 0x000ca3b2}}}, + {X: Field{[10]uint32{0x015ead39, 0x0052932f, 0x019e3d48, 0x033bad23, 0x03194d1b, 0x017ed80c, 0x000eef0d, 0x01c84f8a, 0x03af9b4f, 0x0001228e}}, Y: Field{[10]uint32{0x00334186, 0x026a2eca, 0x029ce709, 0x03b512a6, 0x037e749e, 0x03252c83, 0x006f7fbc, 0x00e14aef, 0x01c9e04a, 0x000ed2b2}}}, + {X: Field{[10]uint32{0x033ac541, 0x011c1f96, 0x02b6eb52, 0x001be85b, 0x03acccf4, 0x009f88b5, 0x00182370, 0x0073b4f1, 0x0230503c, 0x003c035d}}, Y: Field{[10]uint32{0x01ca95b5, 0x015c6dcc, 0x00404f47, 0x03ff6df4, 0x03c9e2bc, 0x03e3b564, 0x0254605d, 0x01d89ac4, 0x013fec17, 0x00268777}}}, + {X: Field{[10]uint32{0x0141eaac, 0x02099622, 0x01ee89a4, 0x03210205, 0x00c4f8ee, 0x03a30868, 0x01708582, 0x03ad6439, 0x01943ce7, 0x00387fc6}}, Y: Field{[10]uint32{0x03353b7e, 0x02d25cb5, 0x003dd003, 0x00faf0db, 0x01dbf27e, 0x022a95fa, 0x021b53d7, 0x01cb9b39, 0x0172746e, 0x0014a395}}}, + {X: Field{[10]uint32{0x0059bd49, 0x00afbc1d, 0x02c55256, 0x00116456, 0x0223b3aa, 0x01d709ef, 0x015a6652, 0x01d43838, 0x0020c48e, 0x00393c4f}}, Y: Field{[10]uint32{0x0287ca30, 0x008731db, 0x01ebca2d, 0x014cd8aa, 0x03639010, 0x01ec6eec, 0x026b9d6a, 0x007e668b, 0x02cec6e5, 0x002faf1f}}}, + {X: Field{[10]uint32{0x006f5f20, 0x035720e2, 0x03ea4d2d, 0x0012b1a4, 0x01598c6c, 0x0033c9c6, 0x003d3716, 0x019ba1c2, 0x00f3824b, 0x0038dba3}}, Y: Field{[10]uint32{0x0086c60b, 0x03432f68, 0x009f6c88, 0x03a193c9, 0x00f5be9f, 0x02069537, 0x03749104, 0x015f7cf6, 0x01938afe, 0x0013a838}}}, + {X: Field{[10]uint32{0x0246365f, 0x03478349, 0x0172a63d, 0x0373f7a5, 0x03797ff5, 0x0135f151, 0x00b4a068, 0x034beca7, 0x03193286, 0x0014787c}}, Y: Field{[10]uint32{0x02370e3a, 0x00b321d4, 0x01cb2ace, 0x03b6e519, 0x03b8640c, 0x03130f50, 0x0290d7e6, 0x03b318c6, 0x023c6f30, 0x002b11c3}}}, + {X: Field{[10]uint32{0x01a5fae0, 0x033de735, 0x0224829b, 0x01055b4a, 0x0022277f, 0x016f09b7, 0x01dadd64, 0x0139c981, 0x02a9c40d, 0x0023a0b6}}, Y: Field{[10]uint32{0x027c53ee, 0x03666e05, 0x024d733a, 0x0078ca84, 0x03b01b96, 0x00cf8a46, 0x0191dd72, 0x015ec8ac, 0x01fdbe90, 0x001fe055}}}, + {X: Field{[10]uint32{0x022c41e3, 0x006cd64f, 0x02595988, 0x01d1938a, 0x0038bea6, 0x0097e9e2, 0x03fd5e95, 0x01ea90d3, 0x0344273c, 0x001e7959}}, Y: Field{[10]uint32{0x0385ecab, 0x01b9f2fc, 0x03c33e80, 0x0083c9e2, 0x03eb786a, 0x011c48b5, 0x00ec764b, 0x03bee7c0, 0x01a3c50d, 0x00189422}}}, + {X: Field{[10]uint32{0x02743f79, 0x03b4fd98, 0x0206879d, 0x015bcbc7, 0x02af7fe1, 0x01389288, 0x01eb8918, 0x00655d47, 0x00e2d19c, 0x002a5f80}}, Y: Field{[10]uint32{0x018284a0, 0x029425f3, 0x03282944, 0x0177a9ce, 0x02f3f583, 0x0113fe47, 0x00726bbc, 0x00b124d5, 0x02bd8bcb, 0x0022075f}}}, + {X: Field{[10]uint32{0x03338542, 0x01c1c9c2, 0x00aa8f4a, 0x02fa3ece, 0x009bc52f, 0x001508de, 0x021c3fb4, 0x03d70c53, 0x014607bb, 0x000efc41}}, Y: Field{[10]uint32{0x024f6367, 0x010b1900, 0x022b6390, 0x01479611, 0x019a87ba, 0x03e10381, 0x0068e5fe, 0x02dffdb7, 0x006cfad5, 0x0039e256}}}, + {X: Field{[10]uint32{0x01d9cc5d, 0x012202d5, 0x03b2e01f, 0x033e10df, 0x0249cce0, 0x033cd01a, 0x034ee87e, 0x0077fce6, 0x00775879, 0x00200a5b}}, Y: Field{[10]uint32{0x00152dcb, 0x031376e4, 0x01284846, 0x00d2f6c2, 0x00902e48, 0x0022f145, 0x028753b7, 0x01e07f38, 0x02113c7f, 0x000ec1af}}}, + {X: Field{[10]uint32{0x00ba52fe, 0x02594188, 0x03023598, 0x013a1f95, 0x01b7b0fe, 0x016713fc, 0x029cc123, 0x036ff7da, 0x037aa3ee, 0x001238b2}}, Y: Field{[10]uint32{0x02e8ed1b, 0x01592c27, 0x00aac7ad, 0x00c4f3fd, 0x00a0a456, 0x01fdcbb8, 0x00411ba8, 0x026ef165, 0x017afa90, 0x00371e10}}}, + {X: Field{[10]uint32{0x03403d46, 0x02016a5c, 0x00b6b7b4, 0x00ba65cc, 0x0031a3db, 0x0061f5e7, 0x02b482aa, 0x015220a1, 0x011fcb77, 0x0037244d}}, Y: Field{[10]uint32{0x03adb1a3, 0x00ffe5bd, 0x01b2ffa9, 0x01713942, 0x03fc52e3, 0x03827e97, 0x0180ecd5, 0x0064ba30, 0x020d2d13, 0x003b5c83}}}, + {X: Field{[10]uint32{0x0190a670, 0x025cc67a, 0x02b9f017, 0x014d6c14, 0x013a2b26, 0x03ecd13a, 0x0105b151, 0x02d3ea73, 0x013948ce, 0x00174df0}}, Y: Field{[10]uint32{0x0174cb01, 0x01b54e86, 0x0348a185, 0x0349f279, 0x00b62e16, 0x02e5018d, 0x02832ad6, 0x02e9201e, 0x033c2590, 0x003de424}}}, + {X: Field{[10]uint32{0x03070aa2, 0x03b285dd, 0x00157708, 0x0096b67a, 0x0015c8e3, 0x02a123fd, 0x017eece0, 0x026c89bf, 0x02b0f8d6, 0x00262f2e}}, Y: Field{[10]uint32{0x02150212, 0x0379637a, 0x002060e2, 0x01266ec4, 0x03a08aa9, 0x008629fb, 0x02ffd615, 0x01521f9a, 0x03b3db71, 0x001d9c78}}}, + {X: Field{[10]uint32{0x0335b1c5, 0x0170448f, 0x03a188fa, 0x02340891, 0x0012ce30, 0x01640cd0, 0x0194384d, 0x0121bbe9, 0x01cb3de9, 0x001838b0}}, Y: Field{[10]uint32{0x0369d1bb, 0x010bcbe4, 0x008fa639, 0x021ada38, 0x024d58d0, 0x014efdc8, 0x03c11a38, 0x0319bd70, 0x031b9767, 0x001b79c0}}}, + {X: Field{[10]uint32{0x004885c7, 0x00fa9c8c, 0x03467d87, 0x02ecca7a, 0x01aaf513, 0x038be6f3, 0x03f2f702, 0x015add42, 0x02c5aa82, 0x002051c5}}, Y: Field{[10]uint32{0x03d297ee, 0x00290b71, 0x00b58630, 0x0324283f, 0x01eb7efa, 0x00d4cf7a, 0x03ba31e2, 0x0186244f, 0x00ee8fa9, 0x003b2991}}}, + {X: Field{[10]uint32{0x02f8de77, 0x024d3edc, 0x00e3be6d, 0x0218803a, 0x019fb715, 0x00d9a1b5, 0x0360f7b6, 0x004bbc2b, 0x033f1db4, 0x00095e27}}, Y: Field{[10]uint32{0x007de0ac, 0x0320c08b, 0x00ce9633, 0x00ee3163, 0x02863bc0, 0x022069a1, 0x034a6f77, 0x03886d5c, 0x039899d1, 0x00394889}}}, + {X: Field{[10]uint32{0x00f1bdcd, 0x02337ca8, 0x01527ef1, 0x0079e028, 0x0227f2a9, 0x00ff2da9, 0x02a87fdf, 0x03e39591, 0x000c98bf, 0x0014e0bd}}, Y: Field{[10]uint32{0x0232b502, 0x03a17192, 0x0079d9a1, 0x0360e31e, 0x0239c027, 0x02765e85, 0x0068ce13, 0x028e8768, 0x01dee41c, 0x0008c740}}}, + {X: Field{[10]uint32{0x011d1f2b, 0x00c8e2e8, 0x01dc6e57, 0x02cfc63a, 0x0167d9ec, 0x03d5f740, 0x02ab14d8, 0x03eb7ff2, 0x01209db2, 0x0011233f}}, Y: Field{[10]uint32{0x0166fea6, 0x0070c564, 0x005875a1, 0x019c2548, 0x032ba1bb, 0x0134a092, 0x01e8d181, 0x015b090d, 0x02e55a4f, 0x002eb638}}}, + {X: Field{[10]uint32{0x02e5653d, 0x02befa00, 0x02ab5667, 0x00f7ad84, 0x01f6c489, 0x01112efe, 0x012b69d5, 0x00cd7d40, 0x024b0fe6, 0x003645f2}}, Y: Field{[10]uint32{0x032bad17, 0x0216ebbc, 0x0033a4bb, 0x0154c40b, 0x00aeabc0, 0x005f397c, 0x0150f1ff, 0x025d589e, 0x024be6a4, 0x000ff7a6}}}, + {X: Field{[10]uint32{0x01ba8f72, 0x017c93a4, 0x00570db3, 0x0398293a, 0x031dd974, 0x038fbd60, 0x03de053b, 0x020eb5cc, 0x01f517a8, 0x00031fba}}, Y: Field{[10]uint32{0x039bba44, 0x03f41881, 0x01f3a2bf, 0x0134b7ce, 0x02e06a7e, 0x01a82338, 0x03d2a31c, 0x019efd95, 0x038d26d3, 0x00236ddc}}}, + {X: Field{[10]uint32{0x00d9a30b, 0x00217825, 0x00aed0b7, 0x02e28cab, 0x00819a77, 0x01f210ef, 0x022b1737, 0x035b781e, 0x019d983e, 0x0020fc28}}, Y: Field{[10]uint32{0x00afe6a7, 0x03d21d4b, 0x00e00c37, 0x011db55d, 0x00880acd, 0x0044ef98, 0x0348b636, 0x0111cf61, 0x029667be, 0x0034aacf}}}, + {X: Field{[10]uint32{0x0313989d, 0x02649dc8, 0x02f2e2b2, 0x01e41f14, 0x01596740, 0x01d360f7, 0x03b56bde, 0x01f10263, 0x026a6168, 0x003cfe2a}}, Y: Field{[10]uint32{0x01a109fb, 0x00e653d0, 0x03a21ad6, 0x0130da15, 0x00caa1b5, 0x02258d97, 0x0201ff9a, 0x000e8cb4, 0x009d0985, 0x000e9a43}}}, + {X: Field{[10]uint32{0x0032249e, 0x03b87fd4, 0x0316a283, 0x01010e11, 0x03914fdd, 0x03af2d39, 0x01d6e8b3, 0x035b1f65, 0x01caa30b, 0x00130684}}, Y: Field{[10]uint32{0x01424da0, 0x0394856e, 0x028809b7, 0x01f0dfe0, 0x006598f1, 0x0194ce74, 0x014c604e, 0x03bd0348, 0x00c94653, 0x0039f9c6}}}, + {X: Field{[10]uint32{0x02e5477d, 0x008b064f, 0x00f6c1d9, 0x03216872, 0x02529ebb, 0x0083cc60, 0x033bdb04, 0x0280614f, 0x01523419, 0x000a506e}}, Y: Field{[10]uint32{0x02628413, 0x00e4b74f, 0x02763864, 0x01442260, 0x0280482b, 0x03db07b7, 0x0205baa7, 0x019a82aa, 0x026c29ca, 0x000ddfc8}}}, + {X: Field{[10]uint32{0x0191a6a1, 0x00858761, 0x032c3384, 0x03bf8615, 0x004b5f25, 0x031c1e2b, 0x03b3eb18, 0x026be196, 0x0107aad4, 0x00027413}}, Y: Field{[10]uint32{0x0083cd34, 0x004ae88b, 0x03724f85, 0x03287523, 0x02779eb0, 0x0065912d, 0x01ae02d1, 0x02a27ed1, 0x028dec2c, 0x003d5ca5}}}, + {X: Field{[10]uint32{0x03d26e20, 0x011ac190, 0x03ef4a26, 0x01405def, 0x000d660c, 0x02988a09, 0x01a983c9, 0x028406e6, 0x0367c3c3, 0x0011007d}}, Y: Field{[10]uint32{0x02d4e342, 0x019a77a1, 0x00c0bb7d, 0x037bba60, 0x02999f8b, 0x03419a79, 0x00293091, 0x00453859, 0x02f78e1b, 0x001e54be}}}, + {X: Field{[10]uint32{0x03bba31f, 0x02dfc306, 0x03fa68d7, 0x0311eca0, 0x000ab8a1, 0x033218ea, 0x028665ba, 0x005f4ecc, 0x0027fc40, 0x00252dbd}}, Y: Field{[10]uint32{0x0340d85a, 0x028085f7, 0x01868e09, 0x0096a660, 0x019cbe77, 0x027741ea, 0x008199e9, 0x034b51bb, 0x027d35f0, 0x0004cd81}}}, + {X: Field{[10]uint32{0x01e7288f, 0x026d2893, 0x01445738, 0x027e4809, 0x03f2fba5, 0x039d55d2, 0x03b87cdd, 0x026ef518, 0x03a292c7, 0x00105886}}, Y: Field{[10]uint32{0x02cd3188, 0x0328b868, 0x0111b717, 0x001eca53, 0x033bc70a, 0x0399ee50, 0x0389951f, 0x002de204, 0x03d5b6f3, 0x000d54cd}}}, + {X: Field{[10]uint32{0x01a3594e, 0x030e67bf, 0x0173fc33, 0x02eaac53, 0x038a9b27, 0x0049a062, 0x0100dde6, 0x03074d56, 0x00156256, 0x002c20e1}}, Y: Field{[10]uint32{0x01a954a5, 0x01a11d71, 0x02c7dc5d, 0x034541a7, 0x03843ef8, 0x01a90a17, 0x00c5371b, 0x018b8a47, 0x019055b1, 0x000aabe4}}}, + {X: Field{[10]uint32{0x000dc9bd, 0x0249d19b, 0x008fb8ba, 0x004c3a11, 0x027d910f, 0x03330509, 0x029f4377, 0x023fa977, 0x014fef41, 0x00332668}}, Y: Field{[10]uint32{0x00536f28, 0x02baedc6, 0x017f5c77, 0x0364b3ff, 0x0222f7b3, 0x030326fc, 0x02f164ba, 0x0304b750, 0x03647c01, 0x0000b8c2}}}, + {X: Field{[10]uint32{0x01764e37, 0x01083741, 0x01d50a2f, 0x02d6e59f, 0x027b21d6, 0x03601763, 0x025d59c1, 0x00616355, 0x024adbec, 0x00234aec}}, Y: Field{[10]uint32{0x019f712f, 0x0052fe26, 0x005efe70, 0x0035a959, 0x02fc371d, 0x022824c8, 0x02537c70, 0x02bae9c4, 0x0330e78d, 0x003371b5}}}, + {X: Field{[10]uint32{0x010f7c9b, 0x008ce8f9, 0x0219203b, 0x01bc9d08, 0x00dbb94c, 0x01d438ca, 0x00a18717, 0x033d2b9b, 0x02de0f18, 0x0018f3b9}}, Y: Field{[10]uint32{0x02fdfeb8, 0x00d05cc7, 0x014367ca, 0x00c784d9, 0x00ce0050, 0x02a2160a, 0x0231b8f7, 0x008ce86d, 0x01adad2d, 0x002048c3}}}, + {X: Field{[10]uint32{0x02755a0c, 0x029679a4, 0x02114926, 0x01fee3d1, 0x02b2e4d0, 0x02e86776, 0x028d5cbf, 0x03740e69, 0x029c1dc6, 0x00188213}}, Y: Field{[10]uint32{0x01061a26, 0x03662dc1, 0x0302cc4b, 0x006bef37, 0x02cc9c7f, 0x02a09f82, 0x01c273aa, 0x006bc003, 0x00f462fb, 0x001b6fad}}}, + {X: Field{[10]uint32{0x018dd827, 0x01cd8957, 0x01238c27, 0x00ddf7de, 0x003f34a9, 0x01c1cab3, 0x02368ec1, 0x018a0053, 0x02baf65b, 0x00044303}}, Y: Field{[10]uint32{0x02e75c6d, 0x03fe16ca, 0x02ba9649, 0x01d0b6be, 0x030c3c3e, 0x00082e0e, 0x01d5865b, 0x01896258, 0x03166f23, 0x000692e9}}}, + {X: Field{[10]uint32{0x01c87e00, 0x01f279bc, 0x012b6892, 0x01748f34, 0x01baa50a, 0x02ae5d01, 0x007306cf, 0x008d2ea0, 0x011e50fb, 0x00361229}}, Y: Field{[10]uint32{0x016a4fd8, 0x01cadbea, 0x02adc16a, 0x027cf2de, 0x0151fdb4, 0x0265127b, 0x02e4b1cc, 0x00032132, 0x026288fb, 0x00276e6f}}}, + {X: Field{[10]uint32{0x014c2b5a, 0x03269f38, 0x0002396b, 0x0181606c, 0x02a8cf26, 0x02406e7b, 0x0147f3b3, 0x01aad149, 0x0093a270, 0x00108c46}}, Y: Field{[10]uint32{0x024165bc, 0x034f4b2b, 0x00d70daa, 0x0073a7bd, 0x03d6129a, 0x01d82691, 0x01c2a9f7, 0x0088b066, 0x02db9ba6, 0x001d43e1}}}, + {X: Field{[10]uint32{0x0034d37f, 0x02bb038e, 0x037419fd, 0x00797c5f, 0x026b252f, 0x01f2878c, 0x03454967, 0x037104cb, 0x00ee471a, 0x00110e71}}, Y: Field{[10]uint32{0x01897e87, 0x0003b95d, 0x0119581a, 0x0196ce16, 0x03617c95, 0x03e1be4e, 0x0316ab66, 0x030f798b, 0x032c22c5, 0x002f5d70}}}, + {X: Field{[10]uint32{0x0113b053, 0x02b2bfb0, 0x03bbf36b, 0x01e6601b, 0x02e02e9e, 0x0314bf6d, 0x00b0bbd8, 0x00c76992, 0x03dab192, 0x00137f38}}, Y: Field{[10]uint32{0x03042c3a, 0x01168a84, 0x0342f69d, 0x01650bfa, 0x029d647c, 0x011f3068, 0x00a1c3e1, 0x01fee910, 0x031f4b72, 0x0037a317}}}, + {X: Field{[10]uint32{0x0117dc9d, 0x03bfe6e0, 0x009efcdd, 0x03cfb1b6, 0x009d0ba6, 0x0207db05, 0x00f91582, 0x009cdbd5, 0x032ee8e7, 0x000eee8a}}, Y: Field{[10]uint32{0x0216ab24, 0x02428c36, 0x00d2baf6, 0x021a9a98, 0x036f9a21, 0x02bdb283, 0x0293f947, 0x01f95b97, 0x02747789, 0x003fc21c}}}, + {X: Field{[10]uint32{0x0317deae, 0x01f59f60, 0x0059527f, 0x003d3eec, 0x00e239a0, 0x03d56ac3, 0x02d92ff0, 0x031ac920, 0x0243037b, 0x0028bfb7}}, Y: Field{[10]uint32{0x01869ed4, 0x00d8e351, 0x012da98c, 0x0058bc61, 0x000f7801, 0x0033808b, 0x008e195d, 0x03ff5fbc, 0x010843be, 0x000a9e45}}}, + {X: Field{[10]uint32{0x004bc0a3, 0x00730f8c, 0x021852cb, 0x002610c2, 0x01b3d64d, 0x01cdc021, 0x01aa8e67, 0x03ad3128, 0x022ff503, 0x00088713}}, Y: Field{[10]uint32{0x01b7ae41, 0x00477465, 0x02de199e, 0x00a52898, 0x01a70a79, 0x034fe1d9, 0x024fd70a, 0x0139e704, 0x031b0f95, 0x0030f0de}}}, + {X: Field{[10]uint32{0x00740ed0, 0x03bcf145, 0x00bfca58, 0x02f55679, 0x02f909c8, 0x026e44c1, 0x02f945b4, 0x02e81432, 0x0380f7e4, 0x002830cb}}, Y: Field{[10]uint32{0x02f9562a, 0x0286244d, 0x02c9041b, 0x0318e290, 0x01966aa1, 0x033b5172, 0x01e4cfbd, 0x011c0107, 0x030146ab, 0x0034fae3}}}, + {X: Field{[10]uint32{0x00da85c6, 0x01e6f906, 0x02aa1dff, 0x02573258, 0x010bf333, 0x01dd0204, 0x01e1ca75, 0x0189fc00, 0x0218b4fe, 0x001d8b9e}}, Y: Field{[10]uint32{0x00f51ec5, 0x024c8d31, 0x02b93dce, 0x02552bd5, 0x025875f7, 0x01156e10, 0x00a743c3, 0x00703d3e, 0x03465046, 0x002837c3}}}, + {X: Field{[10]uint32{0x013a29f0, 0x018cb12e, 0x03561b8d, 0x00d0451b, 0x0378389f, 0x010cdec7, 0x02cfbe40, 0x032bcf55, 0x0135cd95, 0x000bc0b6}}, Y: Field{[10]uint32{0x00f44569, 0x013a49c6, 0x0287b0e7, 0x010704bf, 0x0209c454, 0x008fc68c, 0x0008872b, 0x0242d3e0, 0x00d823f1, 0x0005cd1c}}}, + {X: Field{[10]uint32{0x03eab212, 0x0398e4b9, 0x01612314, 0x01b893bc, 0x01c5877d, 0x03f2628e, 0x01adbd59, 0x005b7c71, 0x03d72eb8, 0x00327e1d}}, Y: Field{[10]uint32{0x02067c4c, 0x0216391a, 0x03ad10b0, 0x0149d52c, 0x0188bb00, 0x03f2aa7d, 0x01a52b58, 0x01fbb169, 0x011788cf, 0x000533a6}}}, + {X: Field{[10]uint32{0x00baa172, 0x03485e68, 0x005df239, 0x008eb9db, 0x02d6dd1c, 0x032fd743, 0x03296df6, 0x0172de9b, 0x036918a0, 0x0033137f}}, Y: Field{[10]uint32{0x014a4dc6, 0x01a51219, 0x00cd5b78, 0x02ead4e4, 0x02e4dda0, 0x018ed295, 0x01b06506, 0x005d4098, 0x00b1b847, 0x0007350e}}}, + {X: Field{[10]uint32{0x03cbfaa1, 0x03b20a3b, 0x02a5bccc, 0x02299591, 0x01ca015a, 0x01e2b354, 0x0010219a, 0x01c4e8a7, 0x034b3ed2, 0x003eaab1}}, Y: Field{[10]uint32{0x0130d934, 0x03d9869f, 0x00ecbf8b, 0x03244fef, 0x01b2e74c, 0x03f9e552, 0x025c46b7, 0x03b036f5, 0x003bdcc2, 0x002b72b5}}}, + {X: Field{[10]uint32{0x00fdbf46, 0x02bbf111, 0x02480dd0, 0x03c8f468, 0x028a0025, 0x016f9b03, 0x01444b73, 0x026f4368, 0x02c930fa, 0x0005c4d5}}, Y: Field{[10]uint32{0x009bce3f, 0x00526ee7, 0x0214eb2e, 0x0134bb8a, 0x0062e246, 0x008e6395, 0x004361ed, 0x03ee76ad, 0x02dc991e, 0x001dc3a7}}}, + {X: Field{[10]uint32{0x01680214, 0x00401ef9, 0x01b43b64, 0x01e81ea0, 0x01c05501, 0x017e7ec6, 0x01491af5, 0x00dd8f4b, 0x016ae047, 0x00024cfd}}, Y: Field{[10]uint32{0x00ea76ad, 0x02a72ae8, 0x02ba9f85, 0x03fe4ec7, 0x01ad1d70, 0x01253950, 0x01ea647f, 0x036d8d20, 0x0047481c, 0x00198167}}}, + {X: Field{[10]uint32{0x03bb6b34, 0x0307f816, 0x02cf664a, 0x01d87b06, 0x018a397f, 0x02f27272, 0x02446910, 0x02b4df5f, 0x0322b182, 0x00028c03}}, Y: Field{[10]uint32{0x0033593d, 0x00aead15, 0x035007b4, 0x011188a2, 0x01684abe, 0x01c8bc85, 0x00de2694, 0x01d2e518, 0x03fca909, 0x002f5bcb}}}, + {X: Field{[10]uint32{0x038fe1ea, 0x01b8fb2b, 0x03fd685d, 0x02d54a38, 0x00878b79, 0x03b9358c, 0x03c1d62d, 0x004d57e5, 0x03ed6e90, 0x003f1795}}, Y: Field{[10]uint32{0x035bab01, 0x02a6cacb, 0x01d498c4, 0x0124d172, 0x02bc7c85, 0x02141efb, 0x018b1b56, 0x032ee796, 0x027a6c21, 0x00044884}}}, + {X: Field{[10]uint32{0x0231ef3d, 0x0114bed4, 0x00bfff3f, 0x015ba8d0, 0x030899e9, 0x02406548, 0x00721c19, 0x02047ef5, 0x00e27a64, 0x00168bd0}}, Y: Field{[10]uint32{0x0093d547, 0x0048b4c8, 0x0086c20a, 0x00e989e6, 0x01d8c4a5, 0x0275c70c, 0x0206d263, 0x0231e5d2, 0x015d1257, 0x001acafe}}}, + {X: Field{[10]uint32{0x00f2084f, 0x005e6d59, 0x033106f9, 0x01f63747, 0x02fb1575, 0x01f5fbd8, 0x036610d6, 0x026716f9, 0x0333df0b, 0x00165e0c}}, Y: Field{[10]uint32{0x025b7f5a, 0x01d9a51f, 0x00c4fa76, 0x025f0d3d, 0x037d309d, 0x029d60fa, 0x03f4623b, 0x005c3204, 0x0280dd3d, 0x003caa7a}}}, + {X: Field{[10]uint32{0x03672d95, 0x01b6c7cd, 0x00a08154, 0x035d329f, 0x01a1c8be, 0x01e8a70b, 0x0372bb38, 0x00ff21cf, 0x01246b51, 0x00033d84}}, Y: Field{[10]uint32{0x038c70ee, 0x03deaf0b, 0x007873ef, 0x03d0b81f, 0x021e182c, 0x0187ec3f, 0x011d1a56, 0x00110e7b, 0x0076697f, 0x00348f0f}}}, + {X: Field{[10]uint32{0x03fe7d52, 0x012c5ccb, 0x017baac1, 0x032581a5, 0x031cb871, 0x0018fe3a, 0x02eb7eb8, 0x00520389, 0x0305133a, 0x003b7453}}, Y: Field{[10]uint32{0x00b1b70a, 0x017e358d, 0x0392a61b, 0x00203291, 0x02ee6033, 0x011709d3, 0x01b3aa84, 0x0354a130, 0x0280d295, 0x0035a0bc}}}, + {X: Field{[10]uint32{0x001a1713, 0x036571ff, 0x000d175f, 0x00c2977a, 0x0033cb8d, 0x0325649b, 0x026e7902, 0x022bce2c, 0x00e90cdc, 0x003e6c3f}}, Y: Field{[10]uint32{0x02a3e6ac, 0x0148903c, 0x022b5d47, 0x022f5bf3, 0x01df958b, 0x0233d2a2, 0x01083cdc, 0x018f5c60, 0x01f6f3d1, 0x003b1fa3}}}, + {X: Field{[10]uint32{0x0346a3b7, 0x02ff4905, 0x014e4e46, 0x0057c1c2, 0x02d9ea43, 0x0105f159, 0x03069817, 0x01fd5e24, 0x01995418, 0x002ba419}}, Y: Field{[10]uint32{0x031a129b, 0x01515fc8, 0x01b10677, 0x01cc16f9, 0x01173355, 0x02811c27, 0x01006ff2, 0x00cc4fa7, 0x01adc09d, 0x0008906f}}}, + {X: Field{[10]uint32{0x03d956e9, 0x02cd4391, 0x03540c54, 0x03cd1041, 0x03f68fe9, 0x01606b8e, 0x02134cde, 0x00bdefd7, 0x00007649, 0x00157c3e}}, Y: Field{[10]uint32{0x033956ff, 0x029232f0, 0x00b982c8, 0x02d71c33, 0x01e258dc, 0x017fa60d, 0x03b4b8a3, 0x0222877e, 0x011de684, 0x0008a822}}}, + {X: Field{[10]uint32{0x01663bbb, 0x00665306, 0x010c1b87, 0x03131147, 0x006cb7e3, 0x03e1991f, 0x0123bb1d, 0x010388c6, 0x030686fb, 0x0024322a}}, Y: Field{[10]uint32{0x00c80ab4, 0x01ef8fff, 0x02463e3b, 0x00625323, 0x01cb30d7, 0x03105e5e, 0x03bb2c50, 0x03acb71b, 0x00d9570e, 0x00371d23}}}, + {X: Field{[10]uint32{0x00a4c694, 0x00b89f21, 0x02b604bb, 0x01aeb027, 0x013e476d, 0x01baa127, 0x0268e735, 0x03aee7ec, 0x002d6b21, 0x0032fd1f}}, Y: Field{[10]uint32{0x02bb2873, 0x021bee9e, 0x001cf16e, 0x037f6ac2, 0x01416ed9, 0x01658908, 0x02bf8bbe, 0x022528e6, 0x03e68042, 0x003c0a23}}}, + {X: Field{[10]uint32{0x0111fe80, 0x027f3a5f, 0x03b1637e, 0x02c91950, 0x00d8f1bf, 0x005235ce, 0x03ff7582, 0x01a2c823, 0x005fc18b, 0x001f0c22}}, Y: Field{[10]uint32{0x00013f2f, 0x01471d8f, 0x0221c7ea, 0x006298f9, 0x0052c067, 0x03221b84, 0x02c6d378, 0x007056c9, 0x00b931a1, 0x000f8b47}}}, + {X: Field{[10]uint32{0x026d7753, 0x0050cefd, 0x033e64f1, 0x01c8dfcc, 0x03e137c7, 0x03a481f6, 0x02a9da9d, 0x032e8374, 0x01190d1b, 0x002b5852}}, Y: Field{[10]uint32{0x0239753d, 0x027807b4, 0x03d0baad, 0x035c3b14, 0x00190b72, 0x02e9d66d, 0x02046192, 0x02862275, 0x018b3512, 0x003f2ba8}}}, + {X: Field{[10]uint32{0x025e29a2, 0x01729f13, 0x01715a29, 0x01c68e4e, 0x00a7bc41, 0x03b4cd6d, 0x02b50a81, 0x027055c2, 0x001baf8c, 0x00237dc1}}, Y: Field{[10]uint32{0x01ce02e7, 0x0192e92f, 0x01a1399b, 0x030e1286, 0x00e12eab, 0x01f771b7, 0x0166b24c, 0x01ef77cd, 0x02438267, 0x0003a24b}}}, + {X: Field{[10]uint32{0x00fdadd6, 0x009e010b, 0x00fbf2a1, 0x01ddf762, 0x02217f4e, 0x0306ed7d, 0x0351891a, 0x01483a69, 0x025761c8, 0x0027d307}}, Y: Field{[10]uint32{0x027d0f50, 0x02e583d3, 0x008609d9, 0x018e7cf5, 0x02ed4b69, 0x00f84b1e, 0x035831eb, 0x03a22430, 0x00adc6ce, 0x003f6884}}}, + {X: Field{[10]uint32{0x0115acbf, 0x02332ae9, 0x0147c2ee, 0x0061d496, 0x03174de6, 0x00778c24, 0x013bacf9, 0x01c28b02, 0x00dd23ac, 0x00290dbd}}, Y: Field{[10]uint32{0x0219afb9, 0x015fbfdf, 0x020ec9fe, 0x02cc1f51, 0x005879e8, 0x009ef04a, 0x039a4509, 0x016e6a50, 0x01d92a61, 0x00303a76}}}, + {X: Field{[10]uint32{0x006f1930, 0x037e882e, 0x007d567b, 0x019f1655, 0x0037497c, 0x000e5a57, 0x018627c5, 0x010f645b, 0x01166997, 0x0028e3bb}}, Y: Field{[10]uint32{0x01d9d7fd, 0x03951512, 0x00c18bb0, 0x02c52105, 0x013be89b, 0x03c9b247, 0x035b5fe3, 0x00ed6b26, 0x02d6effc, 0x001b8f8f}}}, + {X: Field{[10]uint32{0x02fbf3d6, 0x0187aeb8, 0x02586833, 0x039623a4, 0x000b6f1d, 0x01ac3c93, 0x03659e33, 0x010e87eb, 0x00d20d40, 0x0017d164}}, Y: Field{[10]uint32{0x015197db, 0x0242f801, 0x00466158, 0x02dc0090, 0x02ccc833, 0x01939ffd, 0x001af117, 0x03bb00fb, 0x0273042c, 0x00094302}}}, + {X: Field{[10]uint32{0x00cf56c0, 0x0147d10d, 0x03c551be, 0x031dcf3a, 0x03d52bea, 0x03dca0a8, 0x02d16ff8, 0x02e401a3, 0x020dc6eb, 0x001d5961}}, Y: Field{[10]uint32{0x02e24c26, 0x01187c2e, 0x01346c32, 0x01ff8078, 0x039b8468, 0x0275fcfa, 0x028ad7de, 0x03516150, 0x00be526e, 0x0012d5bb}}}, + {X: Field{[10]uint32{0x01a9320c, 0x01ed43e5, 0x035dec53, 0x010afa02, 0x02772927, 0x00800e96, 0x03ad50f0, 0x03bc072a, 0x03ce3a56, 0x000f9f1f}}, Y: Field{[10]uint32{0x03dbfaf1, 0x0349c8a4, 0x03914a32, 0x00b31256, 0x01d5dc34, 0x0267ea76, 0x03789045, 0x01c447cd, 0x00b7926e, 0x00263365}}}, + {X: Field{[10]uint32{0x03cda208, 0x001c9d2d, 0x035522eb, 0x003dabd5, 0x032ac91a, 0x031318aa, 0x031aaf5e, 0x033e12af, 0x005714ce, 0x0004c7ad}}, Y: Field{[10]uint32{0x0320839e, 0x03f625f8, 0x0303127b, 0x004d8344, 0x029b017a, 0x02bb156a, 0x0061393f, 0x0098111b, 0x014ff051, 0x002a4ebb}}}, + {X: Field{[10]uint32{0x02a11ec8, 0x037493a8, 0x026f1637, 0x0380b6cf, 0x02a98e68, 0x0312d7d0, 0x008bff69, 0x018f5c0e, 0x0201e469, 0x000dc6f1}}, Y: Field{[10]uint32{0x01f84622, 0x02765292, 0x03dd37b3, 0x03c4ea9a, 0x0121bbc7, 0x006e249a, 0x0385238c, 0x028906a5, 0x02f1932f, 0x0038befb}}}, + {X: Field{[10]uint32{0x02e47d6d, 0x03d41172, 0x002371bc, 0x00d3910c, 0x01b4d459, 0x00b11461, 0x0136bc20, 0x01cfa280, 0x030492ca, 0x0011dc36}}, Y: Field{[10]uint32{0x0141ec22, 0x03bbcd8b, 0x0390af1a, 0x01ed2c75, 0x0399a92f, 0x00877d2f, 0x037e080d, 0x03641aad, 0x008c25b1, 0x00386bdd}}}, + {X: Field{[10]uint32{0x0194bfff, 0x00a04b25, 0x02fe0da8, 0x00d081e1, 0x01e8e2ae, 0x01f38ebd, 0x01dbae16, 0x036d5dd6, 0x02435af5, 0x002cc6a1}}, Y: Field{[10]uint32{0x009aa4a2, 0x010ef8f0, 0x020cf3c7, 0x0341547f, 0x00f5aaab, 0x0216c1a9, 0x02a85a25, 0x03266aa5, 0x025e860d, 0x000de4d0}}}, + {X: Field{[10]uint32{0x013631f4, 0x00b9996f, 0x019bf09b, 0x02f5f472, 0x00a94121, 0x018670dd, 0x01fe6dd1, 0x009407f7, 0x0052084a, 0x003817bb}}, Y: Field{[10]uint32{0x03b8e622, 0x031589bf, 0x01ed4f6c, 0x01ddb49a, 0x014d883d, 0x035d0909, 0x0224ea4b, 0x03e01a66, 0x03172122, 0x00300457}}}, + {X: Field{[10]uint32{0x0173d5c8, 0x0228c94a, 0x0335ce4d, 0x03beffce, 0x03e57810, 0x025f4fd5, 0x0384305d, 0x001f4d16, 0x00840ee4, 0x00395777}}, Y: Field{[10]uint32{0x027ee677, 0x03a24d90, 0x011a1026, 0x01abe833, 0x00abb87a, 0x023aec4f, 0x003e4257, 0x018505f9, 0x03b5b0fa, 0x001c7dde}}}, + {X: Field{[10]uint32{0x02cd788f, 0x03748fb7, 0x01f0ed46, 0x01dbc9aa, 0x021aabbe, 0x014074cf, 0x00bf3ea5, 0x02a6a8a1, 0x02b1a5c8, 0x003b5eda}}, Y: Field{[10]uint32{0x010db63e, 0x00cf8047, 0x030d3772, 0x0363145d, 0x03824027, 0x037f60be, 0x0054a4bc, 0x02988061, 0x035419d1, 0x0008a02e}}}, + {X: Field{[10]uint32{0x0090e79a, 0x0019c520, 0x02001f96, 0x0078893c, 0x01ce5cb7, 0x03353b9a, 0x03a3329a, 0x0362bb84, 0x01fc3da4, 0x003538cc}}, Y: Field{[10]uint32{0x015e10d6, 0x02385619, 0x00c521ae, 0x01441b42, 0x0277821e, 0x01aa2044, 0x00a6b42d, 0x0334c27d, 0x01aa2f63, 0x00225450}}}, + {X: Field{[10]uint32{0x016d4417, 0x022d21e2, 0x03d54d64, 0x02384834, 0x03265471, 0x036054b1, 0x002545ab, 0x007ff99a, 0x020ea8ec, 0x0013c2b6}}, Y: Field{[10]uint32{0x035aa591, 0x03b1fd64, 0x00cd4dc5, 0x01515b22, 0x0320aaff, 0x02a7eebd, 0x035acf55, 0x02ad191f, 0x01ac6026, 0x002980ee}}}, + {X: Field{[10]uint32{0x00fdca84, 0x03ab8f80, 0x031b7543, 0x0015041a, 0x00a884cc, 0x0037dd4a, 0x0086a9d2, 0x03bb893c, 0x0141b08e, 0x0028b44d}}, Y: Field{[10]uint32{0x00803a45, 0x000edfd7, 0x002d1745, 0x00d61780, 0x024bb67c, 0x03f58172, 0x03a52497, 0x01ae4549, 0x0166294d, 0x0016b02c}}}, + {X: Field{[10]uint32{0x01b6c8a4, 0x03a048ed, 0x0008f64f, 0x00880b38, 0x03cbfc47, 0x03ea517f, 0x00887fda, 0x001164ae, 0x0120014a, 0x00013075}}, Y: Field{[10]uint32{0x00ed738d, 0x00f8cd14, 0x026083bb, 0x03d0e542, 0x00ebcebf, 0x00d23bf5, 0x0106597f, 0x0246395f, 0x028017b7, 0x00090f10}}}, + {X: Field{[10]uint32{0x03c54390, 0x025c2a4a, 0x02c551a5, 0x01f7fcca, 0x00fc2f5b, 0x008c172c, 0x035b8e6b, 0x03a6d330, 0x01a67d13, 0x00017e79}}, Y: Field{[10]uint32{0x0395ff6f, 0x02550edc, 0x0276b30d, 0x02dc9bcc, 0x0085eb0c, 0x022fb7c0, 0x005833ce, 0x017df6f1, 0x02379696, 0x001d2021}}}, + {X: Field{[10]uint32{0x00954575, 0x00d2f282, 0x01286985, 0x025cd293, 0x004447c2, 0x0038a6ad, 0x02d28a88, 0x006c5e02, 0x03809538, 0x0035db1b}}, Y: Field{[10]uint32{0x0161b27b, 0x021cc029, 0x0049859c, 0x03c49def, 0x02aa8273, 0x00390a77, 0x02051789, 0x03806984, 0x03f86b30, 0x00112db0}}}, + {X: Field{[10]uint32{0x01df3344, 0x022816f6, 0x00658e7a, 0x0074036b, 0x006ad19f, 0x01619286, 0x03a9eaeb, 0x01d6bdc0, 0x029ff787, 0x001d5ddc}}, Y: Field{[10]uint32{0x030afec9, 0x030fe64b, 0x0134532e, 0x02c4b9c1, 0x033fa7c5, 0x0239fb3c, 0x012f8229, 0x02a94e4b, 0x0116ccea, 0x001ad466}}}, + {X: Field{[10]uint32{0x02dc17db, 0x0245b163, 0x03a67fca, 0x022c0dae, 0x0278700c, 0x01ab6a64, 0x03194258, 0x0012eb42, 0x032b457f, 0x00140de3}}, Y: Field{[10]uint32{0x02273fc1, 0x028f0bdd, 0x00ad05fe, 0x0193e0bf, 0x03269573, 0x0314ce33, 0x01bf40ba, 0x0335246b, 0x011c26bd, 0x0032f451}}}, + {X: Field{[10]uint32{0x009ba86c, 0x00e2fa33, 0x02b50b91, 0x01138f58, 0x027606eb, 0x0301e3fc, 0x0384ba0e, 0x01458098, 0x00686436, 0x000dd237}}, Y: Field{[10]uint32{0x0211d709, 0x020f2659, 0x01271965, 0x02074d43, 0x016e7bfb, 0x038060a3, 0x01005a04, 0x02ba7377, 0x0014f624, 0x001b0139}}}, + {X: Field{[10]uint32{0x03eea53b, 0x03174715, 0x014047f9, 0x010b417f, 0x013402f3, 0x027ab1ca, 0x01eaea44, 0x035587ef, 0x01be8ea8, 0x002c8e96}}, Y: Field{[10]uint32{0x006dfb9b, 0x03c3a110, 0x019c42fe, 0x03fdc0bb, 0x0295d40e, 0x00fd7e86, 0x03c359c8, 0x016e0b38, 0x0068f2d3, 0x002fa91f}}}, + {X: Field{[10]uint32{0x02a64770, 0x035c7045, 0x00b49ebf, 0x001a4973, 0x039538fc, 0x01c074ae, 0x005f4435, 0x0296f817, 0x01e87b42, 0x00392d14}}, Y: Field{[10]uint32{0x03156da4, 0x019eddcb, 0x001e9e14, 0x029a2a42, 0x014cb261, 0x02de6e61, 0x02fa86b2, 0x001d2523, 0x02699a79, 0x000abe11}}}, + {X: Field{[10]uint32{0x02dff165, 0x03dd5225, 0x01a1242f, 0x005593cf, 0x01de74a2, 0x0194777e, 0x02e671e8, 0x02c218d1, 0x02ec65b8, 0x002192b1}}, Y: Field{[10]uint32{0x031a8730, 0x03ad8009, 0x03188d68, 0x000b7ea4, 0x01b2cbf9, 0x0234afaf, 0x00a5103c, 0x02155647, 0x00a77ab4, 0x003cd5ce}}}, + {X: Field{[10]uint32{0x002ecab0, 0x009c95fc, 0x02ac4ecb, 0x035e6815, 0x00fd36c5, 0x01990e19, 0x00090225, 0x018f66de, 0x023da6a8, 0x002df412}}, Y: Field{[10]uint32{0x0383b0c1, 0x01fbdc1b, 0x031a15ec, 0x02f9d4c3, 0x001519ab, 0x039a81f0, 0x01e4e3bf, 0x03708f96, 0x034c6ba5, 0x00331018}}}, + {X: Field{[10]uint32{0x014c1a0e, 0x023f289c, 0x0044c7ca, 0x00c43af2, 0x03bd6e25, 0x02a0ddf3, 0x020de0c4, 0x03776080, 0x02f9b51e, 0x00377f06}}, Y: Field{[10]uint32{0x03fe3951, 0x0259838f, 0x01ad957b, 0x03d368f8, 0x01c30f23, 0x00976aae, 0x02d9f54a, 0x0313a2c8, 0x008c1742, 0x00033ddf}}}, + {X: Field{[10]uint32{0x011fcbe3, 0x016d1f35, 0x03c30ea7, 0x023e21a3, 0x01e00c82, 0x0053611e, 0x03de26a6, 0x02478e84, 0x0269d5bb, 0x001e3f3f}}, Y: Field{[10]uint32{0x03f2d47d, 0x029b9c91, 0x0306066d, 0x01210d03, 0x0298021b, 0x030a050e, 0x00b231aa, 0x014eeac3, 0x01636b70, 0x0027b19e}}}, + {X: Field{[10]uint32{0x0115863f, 0x00137684, 0x028fcd42, 0x0211e0ce, 0x03138c98, 0x0279dbb2, 0x022b4f81, 0x0075c608, 0x00de1696, 0x00373646}}, Y: Field{[10]uint32{0x0323bb04, 0x014aaeb2, 0x01ed2f5e, 0x003604e9, 0x023ff7fb, 0x004f0a4c, 0x012318dd, 0x00233f28, 0x00bac8d8, 0x002af0f6}}}, + {X: Field{[10]uint32{0x02c3177e, 0x00201b31, 0x012b294a, 0x028a5b33, 0x02e6f64f, 0x00def084, 0x0294eef5, 0x02041a4c, 0x02f05de0, 0x000e738b}}, Y: Field{[10]uint32{0x00730556, 0x034a76de, 0x0349239f, 0x0369e250, 0x020bbb5d, 0x03ce899a, 0x020ca926, 0x025e8e5e, 0x00cb0b76, 0x00097abd}}}, + {X: Field{[10]uint32{0x03157a04, 0x01a94f40, 0x02b5abae, 0x013f4e91, 0x02146451, 0x025eb12e, 0x010e937e, 0x03a27b7d, 0x01b643d4, 0x00125793}}, Y: Field{[10]uint32{0x02ec1701, 0x02c715f9, 0x026d46e6, 0x006e8833, 0x00f84bb8, 0x023105ad, 0x024251cf, 0x0035a7af, 0x0218b296, 0x001f4c9f}}}, + {X: Field{[10]uint32{0x037c33c1, 0x03d6e598, 0x03dbefca, 0x025fd6d9, 0x03a6cb6e, 0x027e79bd, 0x036dde52, 0x01f03070, 0x028cb635, 0x0024705f}}, Y: Field{[10]uint32{0x014c39ba, 0x017b06e9, 0x00e85c96, 0x0383da17, 0x03f07b76, 0x003d61ab, 0x01e26922, 0x022b0bbf, 0x0097fedb, 0x000bf948}}}, + {X: Field{[10]uint32{0x01ecfdbc, 0x01c48875, 0x018d4c03, 0x026f5ab8, 0x001c2874, 0x03172564, 0x011f11ec, 0x03b5118a, 0x00803dff, 0x0038f13d}}, Y: Field{[10]uint32{0x03dc62d8, 0x00afa4b2, 0x0240c65b, 0x009d514f, 0x004e7fb8, 0x033be2ca, 0x00ad71da, 0x009f3a5d, 0x0102571e, 0x00168b9c}}}, + {X: Field{[10]uint32{0x01c25073, 0x01763b5d, 0x0333acc1, 0x03a95a03, 0x0059ae7b, 0x03e772ee, 0x0014377a, 0x0079ed22, 0x03f5a0e8, 0x002cfb85}}, Y: Field{[10]uint32{0x00bfe86d, 0x024b9f5b, 0x01ecb6d0, 0x035415ce, 0x03b46332, 0x00e7b788, 0x0035afe1, 0x00a09698, 0x000c9a6d, 0x0004d68f}}}, + {X: Field{[10]uint32{0x02e76b75, 0x019819ba, 0x01732298, 0x0365796d, 0x017ca6e8, 0x019248cd, 0x02628e1f, 0x006fb4d0, 0x00442bc9, 0x0039332a}}, Y: Field{[10]uint32{0x016f76b9, 0x02364394, 0x01cececc, 0x03880c76, 0x02409f74, 0x00c66b1c, 0x00b42b0f, 0x019c3fdc, 0x015539b5, 0x00375569}}}, + {X: Field{[10]uint32{0x02223b2c, 0x02fefdf6, 0x02359b5e, 0x03aa58ad, 0x02e517e4, 0x013ab9eb, 0x00c02a46, 0x01822666, 0x03c181c9, 0x002ace73}}, Y: Field{[10]uint32{0x037d2fc4, 0x0393aa41, 0x02096a22, 0x01403e65, 0x0172ba3b, 0x00a06862, 0x01cfec18, 0x02ef8b9b, 0x0057b4dc, 0x0037bdb7}}}, + {X: Field{[10]uint32{0x03ab402a, 0x01172137, 0x02e01f8e, 0x034652ce, 0x02677572, 0x0193c206, 0x00cad409, 0x0011a7f9, 0x02639e6e, 0x0008a8c9}}, Y: Field{[10]uint32{0x00d2b437, 0x0157e610, 0x02f261b8, 0x0141750a, 0x00db44cf, 0x013263f3, 0x00f61484, 0x003bc16b, 0x0195bd4e, 0x00072727}}}, + {X: Field{[10]uint32{0x01f9cae9, 0x03f30908, 0x029037c2, 0x0285de42, 0x02db269d, 0x03ef137a, 0x03c5ead4, 0x012fc0c1, 0x00cceff9, 0x000af1e2}}, Y: Field{[10]uint32{0x00bc4b41, 0x000f9389, 0x01384aa7, 0x01227583, 0x00ccecb2, 0x0231e30f, 0x0081c43a, 0x01548110, 0x0061648c, 0x0005cbcd}}}, + {X: Field{[10]uint32{0x02052729, 0x00a8c000, 0x00fe4c62, 0x00d827ef, 0x003872c6, 0x02ef9a7a, 0x0275bb88, 0x001804d6, 0x03d2a672, 0x002e4c36}}, Y: Field{[10]uint32{0x0206f366, 0x0103fd6b, 0x01ebd839, 0x00d8ccd3, 0x01ff3f68, 0x01d0e2ce, 0x030e7f9a, 0x03a2e0a0, 0x0303a872, 0x0002660f}}}, + {X: Field{[10]uint32{0x0114e3d3, 0x02cb8e5d, 0x03466f33, 0x00fa1ca8, 0x0329bcd0, 0x029bc61b, 0x02db448d, 0x03a901c0, 0x038a2aa9, 0x002d0d5c}}, Y: Field{[10]uint32{0x0098636b, 0x01511ce4, 0x0074e92c, 0x02383d87, 0x011678cb, 0x0330d241, 0x0217e55b, 0x019c7e15, 0x02462d3c, 0x00160a34}}}, + {X: Field{[10]uint32{0x0072bd25, 0x037fee4c, 0x0223b532, 0x01fe76d8, 0x02ee1fe6, 0x01060375, 0x012df27d, 0x026ebcb1, 0x02813acc, 0x003247cb}}, Y: Field{[10]uint32{0x01b73c0c, 0x0057c1e1, 0x0345569c, 0x003ef493, 0x02b02735, 0x00ddf878, 0x02fa0c2b, 0x00bc4c4e, 0x03d696c1, 0x00072715}}}, + {X: Field{[10]uint32{0x008d36c8, 0x0257c017, 0x0131d2b9, 0x001be31f, 0x030bad0d, 0x005b6400, 0x028068f4, 0x02ea4e3c, 0x02c28099, 0x002ec251}}, Y: Field{[10]uint32{0x0176da4a, 0x00e41afb, 0x00164867, 0x007dde0b, 0x00156042, 0x03a5e3ca, 0x03e1a621, 0x017fa5e3, 0x00d93b57, 0x00238e1e}}}, + {X: Field{[10]uint32{0x03085c8d, 0x0281a923, 0x03398c31, 0x03df2d13, 0x035298db, 0x01c1fcd9, 0x0106521a, 0x00cdd335, 0x02a12e82, 0x0012178e}}, Y: Field{[10]uint32{0x02ca9a61, 0x018005e1, 0x03878a4b, 0x03837ed3, 0x02af0153, 0x000bf098, 0x0339d4c3, 0x02cac568, 0x02f57079, 0x00284b22}}}, + {X: Field{[10]uint32{0x013e844d, 0x027ee69c, 0x03db3e8a, 0x00a9e219, 0x020f21d0, 0x022a5baa, 0x00da03fe, 0x00895a50, 0x0048d328, 0x002143e5}}, Y: Field{[10]uint32{0x03fccb7b, 0x02c9108e, 0x00d8259a, 0x00d8296a, 0x0103a678, 0x0162a083, 0x034df3af, 0x02e8b029, 0x00fe3201, 0x00115479}}}, + {X: Field{[10]uint32{0x03e39884, 0x03214ec2, 0x01c43682, 0x030152db, 0x01449cd4, 0x03abd476, 0x00e51b18, 0x007f927e, 0x02b3f66c, 0x0029d205}}, Y: Field{[10]uint32{0x0372f7fc, 0x033bdfac, 0x0004f15e, 0x039203b2, 0x01396626, 0x01330416, 0x02f0cfdc, 0x01fa8516, 0x03b247ed, 0x00139f57}}}, + {X: Field{[10]uint32{0x0320136d, 0x02b5adde, 0x02f7785e, 0x00b5ae62, 0x02e1eb70, 0x00d04805, 0x01abcc17, 0x02885c1e, 0x016fc71d, 0x000abd71}}, Y: Field{[10]uint32{0x02b706bd, 0x01455061, 0x029321b6, 0x03642d4c, 0x02783911, 0x00c69ae3, 0x0049e95a, 0x00988ecb, 0x00a2c6a8, 0x001fcc44}}}, + {X: Field{[10]uint32{0x039b5834, 0x013fb90c, 0x00903968, 0x00525c98, 0x031a3137, 0x02b983b6, 0x0163135f, 0x037c7a43, 0x0091a61a, 0x0024a47b}}, Y: Field{[10]uint32{0x01d03884, 0x007745ef, 0x01e09bac, 0x02f2b78b, 0x03feef42, 0x020cb7a4, 0x009649f1, 0x036ecff0, 0x006be8b0, 0x00354c14}}}, + {X: Field{[10]uint32{0x00605b54, 0x0110a4b3, 0x028e1144, 0x034608f3, 0x03a8581f, 0x03863fda, 0x029cb474, 0x01e05813, 0x03c3659a, 0x000582b4}}, Y: Field{[10]uint32{0x00d141fe, 0x007d09a9, 0x03b58b6e, 0x03060636, 0x010a59f2, 0x007ae476, 0x01f939eb, 0x035c6698, 0x024d5f28, 0x00058611}}}, + {X: Field{[10]uint32{0x00ba9d58, 0x01c64d18, 0x02572b40, 0x03e18d62, 0x01ea4280, 0x01cf6b63, 0x005a5d76, 0x024830b6, 0x01bb8640, 0x000d4966}}, Y: Field{[10]uint32{0x03538d0c, 0x01f470a2, 0x0164a50f, 0x03618e35, 0x00aa2ac3, 0x00f2572b, 0x017707ad, 0x013cac8b, 0x011be806, 0x0029e296}}}, + {X: Field{[10]uint32{0x036ba527, 0x00b13ede, 0x03f334d1, 0x038488da, 0x01adb37c, 0x03a78575, 0x037a7281, 0x018d364b, 0x03bd9a8c, 0x003b083b}}, Y: Field{[10]uint32{0x0151b70d, 0x015ecec3, 0x021e2a9a, 0x024bf550, 0x02e8c547, 0x01ebe762, 0x019315e2, 0x00c454e4, 0x01bc2a5a, 0x002b36ca}}}, + {X: Field{[10]uint32{0x02dbebc3, 0x02b51838, 0x0064c5cf, 0x0214618f, 0x01bbd387, 0x0165e07a, 0x02e847dc, 0x031bb157, 0x00da8bda, 0x00103479}}, Y: Field{[10]uint32{0x016e9ab0, 0x0099568c, 0x013acd3a, 0x03fc9fed, 0x004e3755, 0x02e8fb06, 0x03c7d5bd, 0x00b9a299, 0x001cb7c9, 0x00318c16}}}, + {X: Field{[10]uint32{0x027d08c7, 0x02e91103, 0x035127db, 0x00b7c3fe, 0x0081674c, 0x022d9b7d, 0x01ac1c39, 0x037cb8ac, 0x03402faa, 0x003ef849}}, Y: Field{[10]uint32{0x03f412d6, 0x00bdee2d, 0x0187c52f, 0x00d39ba1, 0x00f3dfee, 0x011245a6, 0x00871821, 0x005340eb, 0x00d7f979, 0x003403b7}}}, + {X: Field{[10]uint32{0x0191eb03, 0x0364c370, 0x0008bb0c, 0x0358990c, 0x034070d9, 0x03ec7848, 0x010fbd80, 0x0247ee21, 0x01a747d1, 0x0035e06d}}, Y: Field{[10]uint32{0x006afa11, 0x01ac63cd, 0x03792d90, 0x00c09236, 0x019762ef, 0x0066ca44, 0x01f29245, 0x02ad57e5, 0x01a25c74, 0x00292aa5}}}, + {X: Field{[10]uint32{0x00cf02cd, 0x0111bc27, 0x0052944a, 0x00e7b948, 0x0122790c, 0x00e56d7a, 0x01045d00, 0x02f1f045, 0x0042d926, 0x00191cbf}}, Y: Field{[10]uint32{0x0205a99d, 0x02de2511, 0x0106863d, 0x02d438ab, 0x03045d1a, 0x00cf210a, 0x0264e376, 0x024f7b88, 0x0014a925, 0x00001448}}}, + {X: Field{[10]uint32{0x015e0c21, 0x0057b58e, 0x03fd2c57, 0x00993203, 0x005fa6cf, 0x01181e8b, 0x0117a935, 0x0007a1a9, 0x00c2e096, 0x003bb860}}, Y: Field{[10]uint32{0x0083e7ea, 0x01259a5d, 0x01711e06, 0x03c6b995, 0x0349490a, 0x03de1728, 0x03daff70, 0x01bf16d3, 0x0398221d, 0x003232e9}}}, + {X: Field{[10]uint32{0x01ada2d6, 0x012dd411, 0x00ab4fad, 0x03536d40, 0x039103be, 0x015d8c1d, 0x03ec071c, 0x02b50456, 0x022da172, 0x002402c9}}, Y: Field{[10]uint32{0x01e2cbaf, 0x0108f814, 0x015aa371, 0x0361459d, 0x0082c4c1, 0x00fe8d35, 0x0018e7fb, 0x03fa44fd, 0x03f2bbad, 0x000c5915}}}, + {X: Field{[10]uint32{0x03a34c9e, 0x02006884, 0x00e20420, 0x02c799af, 0x015d5e03, 0x027bca74, 0x02d3371b, 0x0141c1dc, 0x03874e1e, 0x001fa4f6}}, Y: Field{[10]uint32{0x038465a8, 0x0308ce78, 0x0356abc2, 0x011ed6fe, 0x0063f3ec, 0x00033704, 0x03aa0fee, 0x00ca9bd7, 0x02247500, 0x00337aa9}}}, + {X: Field{[10]uint32{0x01a379ca, 0x02320be2, 0x031f5da9, 0x01e80fb6, 0x02d17287, 0x012aff8e, 0x02761b84, 0x02957799, 0x002465f3, 0x001187ed}}, Y: Field{[10]uint32{0x00e815d9, 0x014a16c6, 0x0332b7f1, 0x0299ae39, 0x011f584a, 0x00179070, 0x0101dadc, 0x009c63d5, 0x01fdba03, 0x001da098}}}, + {X: Field{[10]uint32{0x0019e09f, 0x0379de25, 0x0059e997, 0x02997cd4, 0x036de28a, 0x006e93e4, 0x010f0cc9, 0x00683f97, 0x001af0f6, 0x000767d6}}, Y: Field{[10]uint32{0x011bf6cd, 0x00da6d22, 0x011f8adf, 0x00758889, 0x003f02db, 0x0259dbd5, 0x00302e18, 0x03715858, 0x018c7d59, 0x001ffa72}}}, + {X: Field{[10]uint32{0x027542c6, 0x010e085d, 0x0362be23, 0x03fcf337, 0x0166386d, 0x013bf8de, 0x00f7a70e, 0x00aa9c90, 0x0352904b, 0x002335c2}}, Y: Field{[10]uint32{0x01ddc2f2, 0x01afb26d, 0x001f1ff8, 0x00f62195, 0x020e9e29, 0x01caf1ae, 0x0308bb2f, 0x002c7c03, 0x003f4c7e, 0x002cf0f4}}}, + {X: Field{[10]uint32{0x034a5261, 0x02a98a3a, 0x02a2e819, 0x008d3910, 0x0199097b, 0x00036bbf, 0x025b8b38, 0x02196e66, 0x03ea9c08, 0x00282d51}}, Y: Field{[10]uint32{0x02ca2952, 0x0377627c, 0x03a2280c, 0x0063cb48, 0x00fd9d1e, 0x0289fad8, 0x003cb4e1, 0x00403700, 0x0115e585, 0x00181fbc}}}, + {X: Field{[10]uint32{0x0344d289, 0x0358d810, 0x0177578d, 0x03d57f6f, 0x00192406, 0x01fa06ad, 0x03a649c2, 0x00e38da0, 0x00f65470, 0x003aa298}}, Y: Field{[10]uint32{0x01822fb0, 0x003dd19e, 0x00691ac1, 0x033d4183, 0x02881b5f, 0x02f08bc5, 0x00b9f3e3, 0x0357aa3f, 0x02c0b05a, 0x00262bf2}}}, + {X: Field{[10]uint32{0x00b0a711, 0x02335285, 0x0075501a, 0x001a44d4, 0x0148bce5, 0x016ede0a, 0x01488fe5, 0x03e7bddf, 0x029d0882, 0x00398146}}, Y: Field{[10]uint32{0x02920fce, 0x02853d8b, 0x03498ffa, 0x0209364c, 0x00c1ec0c, 0x0182bdd7, 0x01257b8a, 0x02d5572e, 0x02be9d9e, 0x00072736}}}, + {X: Field{[10]uint32{0x00765674, 0x01497a62, 0x02a4b39a, 0x03153e3a, 0x03165338, 0x001f8396, 0x00e5efbc, 0x034cdc1b, 0x02c9c50f, 0x0018021d}}, Y: Field{[10]uint32{0x03ea4189, 0x01e5b936, 0x0346a213, 0x00b981a9, 0x03b04420, 0x0282c856, 0x01f5da0a, 0x0087ce0f, 0x031ef52b, 0x00100699}}}, + {X: Field{[10]uint32{0x02b2ff40, 0x03c7a5fd, 0x00185274, 0x01596df8, 0x003c0eca, 0x01a78105, 0x03efe121, 0x03f7426c, 0x039c5ef6, 0x000ec116}}, Y: Field{[10]uint32{0x02780a28, 0x039a04d8, 0x02dfad20, 0x01ef2c4d, 0x03a135a4, 0x035a4530, 0x00085d05, 0x001f10aa, 0x03acb211, 0x002a95dc}}}, + {X: Field{[10]uint32{0x01f0f1b6, 0x03b9fd2c, 0x022dc643, 0x0077954a, 0x01f9504b, 0x03b673bd, 0x027807fd, 0x01578135, 0x0132ee0b, 0x00373a63}}, Y: Field{[10]uint32{0x033fb086, 0x01687787, 0x031b8d43, 0x038a0077, 0x03aba058, 0x02b3d509, 0x03746d67, 0x00925f2e, 0x027c9e99, 0x00340eb0}}}, + {X: Field{[10]uint32{0x0378fd76, 0x03a61338, 0x0144958b, 0x01fc8be8, 0x03dd5aea, 0x00da19e1, 0x011c07a9, 0x0183fa2a, 0x01486e8a, 0x000d96c4}}, Y: Field{[10]uint32{0x0301c9c0, 0x00add87b, 0x005c3f85, 0x019d53d0, 0x01b36e27, 0x036ee3b0, 0x01ecbbcb, 0x01754131, 0x0217319e, 0x000b1fd4}}}, + {X: Field{[10]uint32{0x036b5806, 0x01cecbaa, 0x006cbb9c, 0x03a15f26, 0x023c3720, 0x013b78d5, 0x00dc3cad, 0x0197b7ba, 0x035a4dc4, 0x000b8de4}}, Y: Field{[10]uint32{0x03ce346b, 0x00e51752, 0x01522c0e, 0x0240431b, 0x02839cb6, 0x01fe0692, 0x02dc7f9d, 0x03d1b600, 0x03f15278, 0x002f421c}}}, + {X: Field{[10]uint32{0x01647568, 0x02eba53c, 0x030bb00f, 0x0215b91e, 0x0081cd85, 0x0035c656, 0x00ddf927, 0x016b5ed8, 0x00e19374, 0x000126da}}, Y: Field{[10]uint32{0x02819dc1, 0x01a4f01c, 0x03795755, 0x00c43d29, 0x021dc82d, 0x03d2e16f, 0x03cb2d05, 0x010fbd4e, 0x03f0013e, 0x00328752}}}, + {X: Field{[10]uint32{0x02744564, 0x00c3f33e, 0x0220cb81, 0x02e8f981, 0x016c8cc6, 0x027b781d, 0x02b6f66e, 0x016a20b0, 0x016cc79c, 0x001b7d4f}}, Y: Field{[10]uint32{0x02431344, 0x02013449, 0x036e1729, 0x01f2bed5, 0x014597f7, 0x00698525, 0x032f2914, 0x01f16491, 0x02ed3b2b, 0x001230f5}}}, + {X: Field{[10]uint32{0x034865a1, 0x0385c36f, 0x02b8bd28, 0x0307238c, 0x022f9467, 0x019c5168, 0x01636727, 0x038ee498, 0x03069104, 0x003667e3}}, Y: Field{[10]uint32{0x02543d7f, 0x02ff9414, 0x01479fd1, 0x00cf9044, 0x00c2b433, 0x0301b2c6, 0x0267c4e2, 0x01764d93, 0x02b055aa, 0x00333f11}}}, + {X: Field{[10]uint32{0x019930d1, 0x03ab64f9, 0x0342a538, 0x03f71a30, 0x01e23af7, 0x01562816, 0x00075728, 0x020ce2ea, 0x0017ebbf, 0x001ddc9f}}, Y: Field{[10]uint32{0x00c629ea, 0x0380ce10, 0x0308366d, 0x02504cf9, 0x00ede751, 0x017d4329, 0x023bc657, 0x0060083f, 0x007e2cde, 0x00280df7}}}, + {X: Field{[10]uint32{0x03e22604, 0x00328bda, 0x0266377e, 0x022667b0, 0x0036ae37, 0x0344ce6b, 0x00c84cfa, 0x013fdf05, 0x02d8563a, 0x0007503a}}, Y: Field{[10]uint32{0x00d1face, 0x007b0488, 0x01713a71, 0x00b6a5a3, 0x033a6b0c, 0x03137ee1, 0x025a5ac1, 0x0245ffb9, 0x0043b093, 0x002125ed}}}, + {X: Field{[10]uint32{0x006bfae0, 0x0241c410, 0x010ef405, 0x02645e8f, 0x03e32269, 0x0061034d, 0x0227c205, 0x02accdc6, 0x0341adf5, 0x0000a8e7}}, Y: Field{[10]uint32{0x005c27c5, 0x03cab1a4, 0x008ed155, 0x027b1c12, 0x008dd1a4, 0x03a11306, 0x0236b048, 0x027ee08e, 0x03a858e9, 0x000336bd}}}, + {X: Field{[10]uint32{0x01c684e0, 0x00dc2206, 0x0215e281, 0x024adb38, 0x0166f5ea, 0x0365d288, 0x031cc92f, 0x02331225, 0x00b1d8b0, 0x0002aab9}}, Y: Field{[10]uint32{0x03cd8f0c, 0x035e3a78, 0x01bdea34, 0x0344e909, 0x03c63739, 0x0145478c, 0x03d5cd50, 0x00d22a13, 0x0195c10a, 0x000248de}}}, + {X: Field{[10]uint32{0x02477d40, 0x03f6bf39, 0x03440965, 0x01520c7b, 0x0211315a, 0x02b0b278, 0x00939d29, 0x014ed8cd, 0x0042591a, 0x00296c30}}, Y: Field{[10]uint32{0x00a62ca6, 0x01e97301, 0x016d7e11, 0x03234a90, 0x00bc9904, 0x00f1f758, 0x022b206b, 0x000922cd, 0x00fd5d1f, 0x002b0f9f}}}, + {X: Field{[10]uint32{0x03c63f0b, 0x00b907c9, 0x035a1278, 0x02d40faf, 0x003c16e3, 0x03c252f9, 0x03643b47, 0x01aa5aa3, 0x0164e616, 0x000306dc}}, Y: Field{[10]uint32{0x01663a98, 0x003c079d, 0x01207fcc, 0x02fdcfb4, 0x01e34810, 0x0378eb1e, 0x010ba811, 0x03c7fd6d, 0x021a4ffa, 0x00211a45}}}, + {X: Field{[10]uint32{0x01ca63bc, 0x0263852b, 0x028b457b, 0x01763f7c, 0x00342e60, 0x03ac9b74, 0x00e0f2c8, 0x018fc136, 0x00254b79, 0x000263f6}}, Y: Field{[10]uint32{0x01a192d6, 0x0184456c, 0x0098f220, 0x0096f848, 0x012dc143, 0x032f2e67, 0x039dba65, 0x019991df, 0x000d213f, 0x0038a5ea}}}, + {X: Field{[10]uint32{0x014c3281, 0x02ceab56, 0x00dc163e, 0x033605ab, 0x0148c464, 0x030b9bc6, 0x034127d8, 0x03b524b4, 0x024971b6, 0x003c7c21}}, Y: Field{[10]uint32{0x00f31f5c, 0x00ce2ac0, 0x0031a346, 0x0394bf7b, 0x03506a0d, 0x01580b9b, 0x038954d8, 0x013ea44e, 0x02a0f9e0, 0x00009ab8}}}, + {X: Field{[10]uint32{0x030dd197, 0x010388e4, 0x03a91172, 0x00e98688, 0x01b63af8, 0x00141bed, 0x03441eac, 0x034ab298, 0x00cdc324, 0x0003fd1c}}, Y: Field{[10]uint32{0x0227788f, 0x00983495, 0x01eba5a5, 0x012e3f4c, 0x0330734b, 0x007be9ce, 0x007a772a, 0x01dfa118, 0x026bb18e, 0x0039807d}}}, + {X: Field{[10]uint32{0x006c63a6, 0x0110b7ef, 0x016dcd04, 0x02e4ccbb, 0x00ad0f82, 0x02aaeeaa, 0x0008127b, 0x02865ad6, 0x006d968a, 0x00243aaf}}, Y: Field{[10]uint32{0x035038f1, 0x03e93bae, 0x030f94c1, 0x038f7370, 0x032faed3, 0x0111daca, 0x03fc4be4, 0x00f35cb7, 0x0367ffb2, 0x0035b7c3}}}, + {X: Field{[10]uint32{0x007e11af, 0x012e2ef3, 0x03866ecd, 0x02dbfabc, 0x02bc0a43, 0x00c00d8f, 0x01e0826b, 0x001e86d0, 0x0126acc5, 0x003885ec}}, Y: Field{[10]uint32{0x01e98f30, 0x007f1b92, 0x01ecda8d, 0x017ec0c8, 0x02921e3a, 0x02c9e8e1, 0x00eb7332, 0x00cf562e, 0x01ef83db, 0x001faca3}}}, + {X: Field{[10]uint32{0x00e1d184, 0x039a2a7f, 0x0228d20d, 0x03bb1e55, 0x02b5d008, 0x01362ab4, 0x032bc218, 0x0175785d, 0x03d582b8, 0x000a865b}}, Y: Field{[10]uint32{0x02201303, 0x00e67d98, 0x022300c3, 0x019e2760, 0x0368526c, 0x02b4bfc7, 0x038dc8cc, 0x038f53f7, 0x0257ee9e, 0x002652d1}}}, + {X: Field{[10]uint32{0x02de4342, 0x0074099e, 0x002e6132, 0x02f5f99b, 0x02ca770c, 0x00463def, 0x01897c81, 0x0329fa2a, 0x03c83a6e, 0x002f278e}}, Y: Field{[10]uint32{0x014f3f4b, 0x01950b5c, 0x030a3f34, 0x0184be12, 0x00e2b076, 0x017cd749, 0x00992917, 0x029586ae, 0x03e2d544, 0x00275fbd}}}, + {X: Field{[10]uint32{0x02f198b3, 0x0144aaac, 0x00cdf6f6, 0x03b79a47, 0x017e76b8, 0x03c4bc82, 0x029e3676, 0x027e13fa, 0x03f3842a, 0x003fca04}}, Y: Field{[10]uint32{0x03fe1949, 0x012128b0, 0x03f7618a, 0x00abd00a, 0x01b8b668, 0x02027d21, 0x02de4380, 0x030586b1, 0x03d666d0, 0x00081b8e}}}, + {X: Field{[10]uint32{0x01af05f7, 0x011e6e34, 0x01baf6c7, 0x02f9382b, 0x0234a50b, 0x01da75f2, 0x01423210, 0x0358faf8, 0x01df2d38, 0x001b9d66}}, Y: Field{[10]uint32{0x03654c8d, 0x01bea978, 0x002cd555, 0x0117b346, 0x03256143, 0x01ad251a, 0x01ed56eb, 0x0136212a, 0x031d4b0e, 0x0008cf73}}}, + {X: Field{[10]uint32{0x03666146, 0x0141c64c, 0x039f9ba2, 0x00bad5db, 0x03839766, 0x02797059, 0x01844d1a, 0x03aca053, 0x00d56c82, 0x0007b767}}, Y: Field{[10]uint32{0x01f43f4c, 0x00946f8f, 0x0165fe24, 0x03725776, 0x0239d48d, 0x0345a083, 0x01b5cb04, 0x03a0fa52, 0x02850b2e, 0x002803d2}}}, + {X: Field{[10]uint32{0x007324af, 0x01e7ed90, 0x02b0718d, 0x01ce4b5e, 0x02818a2f, 0x00e2a07a, 0x024a0907, 0x01335dda, 0x02061f79, 0x0009c8f7}}, Y: Field{[10]uint32{0x02bbf41f, 0x00707fb1, 0x00e783db, 0x01c9df34, 0x0038daad, 0x0112ae22, 0x013429e3, 0x003140f1, 0x01bef981, 0x000d71ea}}}, + {X: Field{[10]uint32{0x039a213d, 0x027289aa, 0x0353af46, 0x00ae9f1a, 0x023874ec, 0x010f04f0, 0x01659eeb, 0x0137bdb6, 0x02444cb5, 0x001313ec}}, Y: Field{[10]uint32{0x038efa3d, 0x01d47956, 0x02472082, 0x036168d5, 0x03d4a1ae, 0x0126cce3, 0x039ad153, 0x01ea7ffa, 0x02fe5644, 0x002ef4ba}}}, + {X: Field{[10]uint32{0x027593e3, 0x0255c819, 0x0212f250, 0x034a3939, 0x0112847e, 0x03ecfef3, 0x03069771, 0x0256a238, 0x01f73479, 0x001cd8d6}}, Y: Field{[10]uint32{0x02bd3741, 0x0256fe44, 0x015f972c, 0x02920359, 0x00e303fd, 0x02e3e61a, 0x02215ca6, 0x001448d6, 0x03ed4bce, 0x0008eecd}}}, + {X: Field{[10]uint32{0x01f595be, 0x01e53661, 0x03293825, 0x03df0332, 0x026f33b0, 0x0021e6fb, 0x01813946, 0x01af452e, 0x0194ee93, 0x000572e5}}, Y: Field{[10]uint32{0x031bb152, 0x00950a7e, 0x0149ac7f, 0x03997962, 0x03e2e133, 0x036c9d3b, 0x03775e9e, 0x006ad804, 0x032a2ec8, 0x002aab5d}}}, + {X: Field{[10]uint32{0x03e78fa4, 0x01b159da, 0x00a9b41e, 0x01de987c, 0x02df5747, 0x002e1dca, 0x0290eb82, 0x033c7a12, 0x01ab97e5, 0x000ed522}}, Y: Field{[10]uint32{0x022219be, 0x00d33d95, 0x00cf9e71, 0x03aeeec4, 0x020d59a1, 0x0044f592, 0x02cad63f, 0x01285f33, 0x03c8e967, 0x00051744}}}, + {X: Field{[10]uint32{0x029dd2f5, 0x005d65e8, 0x01c56684, 0x0130e896, 0x0323323e, 0x0167389a, 0x01bec7bb, 0x034e16c2, 0x019aa6f9, 0x001e346e}}, Y: Field{[10]uint32{0x0216a122, 0x0220dedf, 0x020ef3cd, 0x033856d2, 0x00a6b890, 0x027da8a0, 0x014369ce, 0x02c8433d, 0x01f8e883, 0x00072344}}}, + {X: Field{[10]uint32{0x01661e85, 0x03457ece, 0x0121070c, 0x0060afa0, 0x02d2fd2d, 0x024e244b, 0x0013e3f0, 0x03eef4ea, 0x028c5cef, 0x000e1793}}, Y: Field{[10]uint32{0x0368069c, 0x00b6b2ea, 0x02c7036e, 0x03896337, 0x02c9b168, 0x00730232, 0x03ceb21c, 0x03ef1484, 0x00149f5c, 0x003d2871}}}, + {X: Field{[10]uint32{0x011aec6a, 0x0365c465, 0x02b1fc28, 0x00c0a4b5, 0x02a7c872, 0x014fa4a4, 0x0130df3c, 0x01b1b922, 0x0070d8e4, 0x000c43e3}}, Y: Field{[10]uint32{0x0017146f, 0x021bd70d, 0x01efdb03, 0x017db73b, 0x0359d92d, 0x0175c11b, 0x0315154d, 0x001ec959, 0x01d3c92c, 0x001bf8c6}}}, + {X: Field{[10]uint32{0x03c70bbb, 0x01996175, 0x00912940, 0x02590884, 0x03c1f91a, 0x02356248, 0x030b80d4, 0x03542b85, 0x003023d1, 0x001d93cf}}, Y: Field{[10]uint32{0x03dca724, 0x01f2d038, 0x038e4b54, 0x02e323ca, 0x03c3ee9e, 0x01e32673, 0x01411468, 0x02d283b6, 0x031abecd, 0x002f64be}}}, + {X: Field{[10]uint32{0x03e68126, 0x01fbdca8, 0x031ab36f, 0x01d4f11e, 0x02b37a80, 0x010042e2, 0x013c86f8, 0x028dfc6f, 0x03bab357, 0x000f5748}}, Y: Field{[10]uint32{0x0334255b, 0x0056575a, 0x028e0821, 0x018424c1, 0x017ccbb4, 0x017e7037, 0x00893c5f, 0x0009960e, 0x0041bdcf, 0x000aef46}}}, + {X: Field{[10]uint32{0x027f8a1e, 0x0095ae0a, 0x00dc087e, 0x01f543d4, 0x006d4ddd, 0x019d67a5, 0x03d2affd, 0x01ee2ffa, 0x01adcdfc, 0x0029c10c}}, Y: Field{[10]uint32{0x0147f593, 0x0091fd64, 0x01f20384, 0x00861bfd, 0x00231639, 0x03bfb32e, 0x03d77e8b, 0x02cbab0c, 0x022b9362, 0x000f290d}}}, + {X: Field{[10]uint32{0x000e8a7d, 0x0358f98c, 0x00697bf7, 0x03689177, 0x032263e9, 0x03177500, 0x00004327, 0x00bb3cf2, 0x02122c1b, 0x000a8e20}}, Y: Field{[10]uint32{0x02f6ff78, 0x00b20884, 0x01175fd7, 0x03669c91, 0x01a339c0, 0x02a6dcea, 0x005f2faf, 0x01efc0f7, 0x018853b8, 0x002b25b4}}}, + {X: Field{[10]uint32{0x024b5451, 0x005f0290, 0x01a9ab4d, 0x03fccc1a, 0x0356b49b, 0x015f8c04, 0x00bc545f, 0x0008bad4, 0x01a40ae3, 0x003a6716}}, Y: Field{[10]uint32{0x029bada0, 0x0111758b, 0x03349baf, 0x0260820d, 0x02b4fe1a, 0x00541645, 0x03737b56, 0x03eaddb0, 0x0379fe55, 0x000a6c92}}}, + {X: Field{[10]uint32{0x003306d4, 0x0300d382, 0x0384bf19, 0x035ac368, 0x03c0be26, 0x030ff8b4, 0x03f1a3c3, 0x0317b7d8, 0x02d1bd5a, 0x0028290b}}, Y: Field{[10]uint32{0x00a0bbc3, 0x033d8457, 0x039e4e5b, 0x01e59c99, 0x008aad08, 0x030c83ba, 0x0293e288, 0x008dd1e8, 0x03d2d444, 0x0030e7fc}}}, + {X: Field{[10]uint32{0x009e0053, 0x021baef0, 0x00b01c0b, 0x021c2dbc, 0x035cc17e, 0x01065cc3, 0x011670e1, 0x03c18fc7, 0x01d69ba9, 0x002e54b9}}, Y: Field{[10]uint32{0x01c46ae0, 0x023c31cb, 0x010ca0fe, 0x026bd4f3, 0x02273a4f, 0x02fc942b, 0x031c9b5b, 0x02e369b9, 0x019fa230, 0x00307a02}}}, + {X: Field{[10]uint32{0x01a4e904, 0x03e0ffa5, 0x01a2e620, 0x02319575, 0x01be83c1, 0x00498872, 0x03892b45, 0x017d3918, 0x033a130f, 0x000ebb89}}, Y: Field{[10]uint32{0x030af7e7, 0x03bac3ef, 0x01131eb7, 0x00d67a32, 0x009237b0, 0x024fe51c, 0x003c6a0b, 0x02db73cb, 0x01c6921f, 0x003b7d1d}}}, + {X: Field{[10]uint32{0x0266ceac, 0x0389576e, 0x0044965c, 0x01974a34, 0x00aa2f9e, 0x021e09ff, 0x0310d91b, 0x02bc1ab2, 0x00dcdc65, 0x00025b77}}, Y: Field{[10]uint32{0x0100ab39, 0x03e14bb4, 0x03584215, 0x01f98080, 0x039e2bf3, 0x0042ef08, 0x030d4fe3, 0x01009320, 0x036817fd, 0x000b9b40}}}, + {X: Field{[10]uint32{0x030334a3, 0x017eb934, 0x004d5af4, 0x039e78d6, 0x01e0d07a, 0x00a507e8, 0x00e111c3, 0x03b276c4, 0x0006c757, 0x003f543d}}, Y: Field{[10]uint32{0x013fde6f, 0x03d2f3f5, 0x03348324, 0x003b184d, 0x00ed9ccb, 0x03e36ca2, 0x01b1d364, 0x001a3f1f, 0x0094d49c, 0x001c6ddd}}}, + {X: Field{[10]uint32{0x03a097d1, 0x0193e45a, 0x03a77d3c, 0x004af28e, 0x03bd0611, 0x015a2ae6, 0x014915c9, 0x01148c18, 0x02681195, 0x001bcb60}}, Y: Field{[10]uint32{0x00787a87, 0x003bde0d, 0x035afe88, 0x01a34097, 0x0297261d, 0x029591e8, 0x017fe722, 0x029f134c, 0x0199849c, 0x002af904}}}, + {X: Field{[10]uint32{0x01cc1400, 0x019091c8, 0x03c9d3f0, 0x036f8988, 0x029c5099, 0x020ca8c4, 0x0283d2ce, 0x02d8a89d, 0x01b76dff, 0x00362303}}, Y: Field{[10]uint32{0x01cec51f, 0x0398d4a3, 0x034ea542, 0x02250c6e, 0x02ba5aa2, 0x0021ccad, 0x001726df, 0x01fa4976, 0x015adf6d, 0x00144d3c}}}, + {X: Field{[10]uint32{0x007105fe, 0x03d55f9d, 0x01562d95, 0x012a9c75, 0x00b6c0fd, 0x0080bf93, 0x01013632, 0x00fca3ab, 0x02e4ddde, 0x002a37a6}}, Y: Field{[10]uint32{0x03be8803, 0x00f8f6a8, 0x0107e038, 0x010dbbea, 0x02536820, 0x01f71d4a, 0x03c39a51, 0x02d85242, 0x006b5a71, 0x0005e7a5}}}, + {X: Field{[10]uint32{0x03cd45ac, 0x00942aa3, 0x037ae6eb, 0x03bf9201, 0x01799c94, 0x003996c3, 0x02a48118, 0x00f50276, 0x0027f7dc, 0x00189b1a}}, Y: Field{[10]uint32{0x01bf2f32, 0x031758cc, 0x01c00fce, 0x02841e06, 0x02b30b7e, 0x036e2397, 0x024a2db8, 0x01eca0cb, 0x01db87cf, 0x0000f596}}}, + {X: Field{[10]uint32{0x00a77d02, 0x01213d0b, 0x004955b5, 0x03bed488, 0x021666eb, 0x03d5b3c0, 0x00b2ef69, 0x03e91f6d, 0x022cf00e, 0x0000a28e}}, Y: Field{[10]uint32{0x0393c82b, 0x0266c5a0, 0x01b01f77, 0x00de5e53, 0x030fc168, 0x009c21b1, 0x00e90fb9, 0x01c3b667, 0x00edfc98, 0x00023740}}}, + {X: Field{[10]uint32{0x01545786, 0x00a4dc30, 0x02bd5dbb, 0x01d5fee4, 0x02c3b672, 0x005e2923, 0x01d0dc2f, 0x01901491, 0x029f27c4, 0x0037c2c0}}, Y: Field{[10]uint32{0x02a1099a, 0x03462900, 0x0279c6cc, 0x012ffa85, 0x01757b47, 0x004067c5, 0x00a5ad4e, 0x0166a204, 0x0105c7e1, 0x003c4cfb}}}, + {X: Field{[10]uint32{0x001a49ef, 0x02ef17f7, 0x02c8b421, 0x020d31f0, 0x020c5497, 0x0229ad8e, 0x02162a4e, 0x002f94b4, 0x03af9c1e, 0x00371bd5}}, Y: Field{[10]uint32{0x00f1a0c4, 0x01f84104, 0x0379e9e9, 0x01287064, 0x0366fca4, 0x02ce26ea, 0x02ee20d9, 0x03f97258, 0x02afe610, 0x001bd61a}}}, + {X: Field{[10]uint32{0x0255cd15, 0x00ece62c, 0x02ac4bf1, 0x00ba838f, 0x03816247, 0x02070764, 0x02dcc0fa, 0x031a4066, 0x02a2e0d2, 0x0036de5b}}, Y: Field{[10]uint32{0x0105ac88, 0x010c4f1f, 0x033e2947, 0x00810ef6, 0x02793754, 0x006478a3, 0x01e07662, 0x03ed1190, 0x02a732e1, 0x000b9831}}}, + {X: Field{[10]uint32{0x01633a2d, 0x03f8da4d, 0x023ca059, 0x01a4c2c1, 0x02881fe2, 0x01d3e233, 0x03a3efce, 0x0263f696, 0x029e72ea, 0x0015a6d9}}, Y: Field{[10]uint32{0x00ca0c8c, 0x02ddd57e, 0x00ca2f76, 0x01bffd3e, 0x02220b6a, 0x03ad78dd, 0x033f7406, 0x03e1c976, 0x02af2551, 0x002eb763}}}, + {X: Field{[10]uint32{0x00468ae4, 0x02b0ccde, 0x02451421, 0x004617f4, 0x02ec7951, 0x00b45d71, 0x036b6f0e, 0x00ceef52, 0x00201f9a, 0x000d84c9}}, Y: Field{[10]uint32{0x033c4314, 0x005863fe, 0x01dee282, 0x005c3655, 0x0262a58e, 0x011d5921, 0x02ba1351, 0x01cd99bb, 0x02cef7bc, 0x003d1ed5}}}, + {X: Field{[10]uint32{0x014a469c, 0x013b4cd2, 0x015b1b60, 0x020f24bf, 0x03855a07, 0x020b6c3f, 0x00fa2431, 0x00805246, 0x00371e4d, 0x00337ac8}}, Y: Field{[10]uint32{0x00dfa7d8, 0x031bde76, 0x03393a83, 0x03555462, 0x02970a7e, 0x0213b941, 0x010098bc, 0x00e074bf, 0x03186829, 0x001f4f1d}}}, + {X: Field{[10]uint32{0x031598ef, 0x005f3f05, 0x03755c87, 0x01d3e36d, 0x03ff6c4d, 0x037a23ff, 0x013b721a, 0x0317b003, 0x03a9d750, 0x00180d73}}, Y: Field{[10]uint32{0x03dd675a, 0x027f6d81, 0x01cb749f, 0x035f5632, 0x029bb129, 0x0120b480, 0x02dcde65, 0x0090d904, 0x00da160b, 0x003f85e6}}}, + {X: Field{[10]uint32{0x0379c0f7, 0x0279068e, 0x02ac18dc, 0x01765f64, 0x00bb250b, 0x011c5e3d, 0x0275b0c0, 0x02639383, 0x0297e499, 0x002c7d4b}}, Y: Field{[10]uint32{0x03df795f, 0x01e942b4, 0x0333d808, 0x03e04093, 0x03de484c, 0x00994717, 0x024370ca, 0x03f6317c, 0x01654e4c, 0x00360fcf}}}, + {X: Field{[10]uint32{0x01f1b641, 0x018ac85b, 0x02477d78, 0x0159094d, 0x03f1a5e0, 0x0357dc26, 0x0011395d, 0x00f6827c, 0x035304c7, 0x002a9e66}}, Y: Field{[10]uint32{0x03248646, 0x00f4b4cc, 0x03338a00, 0x001f2ef9, 0x02dd5920, 0x03ce2aa1, 0x03f68879, 0x016d9164, 0x0047b5e9, 0x000e8c9c}}}, + {X: Field{[10]uint32{0x0045aa03, 0x017a6ee9, 0x023c18d3, 0x026f7631, 0x01262d62, 0x034ce691, 0x01e56b66, 0x03d3f11e, 0x016445bd, 0x00369286}}, Y: Field{[10]uint32{0x029cb70d, 0x00fe4b2d, 0x006d563f, 0x039c9b0b, 0x02353376, 0x00d357b2, 0x02cff296, 0x018e9019, 0x02da25cc, 0x001ece97}}}, + {X: Field{[10]uint32{0x01b8d656, 0x039ccfe8, 0x0384c231, 0x011a81ec, 0x017e620d, 0x003bbc1c, 0x03eba80f, 0x01b4350c, 0x00adc234, 0x0030c02d}}, Y: Field{[10]uint32{0x03cdba42, 0x02a1dc78, 0x023566f4, 0x03691537, 0x02f73448, 0x00402e56, 0x02aa439a, 0x01eb1fcd, 0x03b948d2, 0x000c820e}}}, + {X: Field{[10]uint32{0x00359f04, 0x0162cae5, 0x02be76a3, 0x001f8833, 0x02ed64a9, 0x02437cac, 0x039bf7b0, 0x01c91358, 0x01286793, 0x00315669}}, Y: Field{[10]uint32{0x01bf5977, 0x011c3352, 0x004740d2, 0x03685659, 0x02806d78, 0x00fd10d2, 0x01671b56, 0x03260c83, 0x01aa5c08, 0x0027f2b0}}}, + {X: Field{[10]uint32{0x03e83540, 0x018ccef7, 0x015fa9b9, 0x03af4f9e, 0x01b0911c, 0x020f042c, 0x034bca9a, 0x036fd3c1, 0x01470a46, 0x000e6c40}}, Y: Field{[10]uint32{0x01308278, 0x0250658b, 0x0055e642, 0x005f458a, 0x00168da4, 0x0358cd38, 0x02aa313c, 0x009d0d36, 0x00c8c3b2, 0x002b4d77}}}, + {X: Field{[10]uint32{0x037d6d42, 0x01d2810b, 0x01d6b347, 0x00ba89de, 0x014129ab, 0x00666532, 0x00405970, 0x031805fe, 0x02b7d2de, 0x000e7272}}, Y: Field{[10]uint32{0x03781845, 0x0373a790, 0x013623af, 0x02d32012, 0x0272ca72, 0x01f77ecf, 0x00cdd453, 0x02284cd5, 0x016b835a, 0x0031cfaf}}}, + {X: Field{[10]uint32{0x02c679ed, 0x02d7bbbb, 0x01466fc7, 0x0135104c, 0x03f8f81c, 0x038863b0, 0x02c60972, 0x02d18ab7, 0x01988a30, 0x00069896}}, Y: Field{[10]uint32{0x034114ab, 0x03e3374c, 0x02037bf5, 0x0276e810, 0x033651a3, 0x03884ef5, 0x02776e62, 0x01f26efd, 0x02bb01a9, 0x001ce6fa}}}, + {X: Field{[10]uint32{0x024c4308, 0x008b7eba, 0x003bf3f4, 0x0330fbd9, 0x0085f33e, 0x03ca0ea6, 0x012761eb, 0x030c2350, 0x0110cd35, 0x000e5bb6}}, Y: Field{[10]uint32{0x004dfe57, 0x03467845, 0x01b7f556, 0x01620d9c, 0x013945e1, 0x010a91ac, 0x0048cf84, 0x01852937, 0x01a6a08a, 0x001c8737}}}, + {X: Field{[10]uint32{0x03299a47, 0x02debce6, 0x02becaf7, 0x0100978e, 0x0083e153, 0x002f60c7, 0x02ee96ab, 0x0333f652, 0x02e8a2e8, 0x00294381}}, Y: Field{[10]uint32{0x03beba52, 0x03593f8a, 0x0214f3fc, 0x0068ead7, 0x014521fc, 0x02382178, 0x01a4575e, 0x02018ff9, 0x01b259a1, 0x00164c81}}}, + {X: Field{[10]uint32{0x01c3e1de, 0x03c9adc4, 0x034a3dc3, 0x03591ba3, 0x00dbe15c, 0x00e4fe8d, 0x02c8bcf7, 0x03470398, 0x002317b0, 0x0012a7e0}}, Y: Field{[10]uint32{0x03c6bb71, 0x012faa7d, 0x015ac289, 0x030e5899, 0x00239867, 0x00d3a24a, 0x0330c244, 0x017fff36, 0x036d0091, 0x000103bf}}}, + {X: Field{[10]uint32{0x01608b73, 0x0368bf23, 0x01f055d2, 0x018957b6, 0x007f3232, 0x00bfeee2, 0x0318562e, 0x02df9842, 0x020d9dec, 0x00233978}}, Y: Field{[10]uint32{0x02c720de, 0x03da6386, 0x011b54f1, 0x02caa9c0, 0x0263f024, 0x01649c9e, 0x0292371b, 0x03859003, 0x036cf363, 0x0003ada6}}}, + {X: Field{[10]uint32{0x0083f24b, 0x009be6ed, 0x03e0a367, 0x0358dc02, 0x0184143e, 0x0295503b, 0x02525e28, 0x03a7947c, 0x01d79b53, 0x003cc9a5}}, Y: Field{[10]uint32{0x008471c8, 0x038641f0, 0x0123ef1e, 0x00587185, 0x031d81bd, 0x03f88d24, 0x012ca1f6, 0x00157d96, 0x0088eea2, 0x003a34d9}}}, + {X: Field{[10]uint32{0x02c34d07, 0x01b78775, 0x01959485, 0x02049749, 0x01d92748, 0x01b80822, 0x011ad140, 0x0164b96d, 0x01863bf6, 0x000e09bf}}, Y: Field{[10]uint32{0x03e4cc83, 0x020ec73f, 0x01e97265, 0x0006a240, 0x02020da0, 0x01ffe7e0, 0x0282058a, 0x00d71d0f, 0x01e6a290, 0x003aa1bc}}}, + {X: Field{[10]uint32{0x00ccd551, 0x01904290, 0x03ddd0dc, 0x02a263a1, 0x02ae8611, 0x03b1c9d8, 0x02098684, 0x02c3d46e, 0x00d32e32, 0x001ec6bf}}, Y: Field{[10]uint32{0x02e37884, 0x020a34f4, 0x020efc70, 0x02c2f158, 0x00a3ce0e, 0x02edb42a, 0x0036ee39, 0x0024c420, 0x02f779e1, 0x0037ae9b}}}, + {X: Field{[10]uint32{0x01a91bd4, 0x0118304d, 0x03b63348, 0x0331fdfd, 0x018deddd, 0x019a8db4, 0x00d39b1b, 0x01d61d50, 0x01fed2c2, 0x000fac7f}}, Y: Field{[10]uint32{0x026b36cb, 0x0263e5b4, 0x037b9eb8, 0x011633f3, 0x02642c53, 0x0204a99e, 0x01506cca, 0x039e5186, 0x02ca536a, 0x002e2baa}}}, + {X: Field{[10]uint32{0x0356da8f, 0x012fad66, 0x03c45c21, 0x027a406d, 0x02b71b4d, 0x020fba8b, 0x02290cb6, 0x03f17d4c, 0x02c8aae9, 0x00275876}}, Y: Field{[10]uint32{0x02446036, 0x021d8ace, 0x02271793, 0x0079e28a, 0x01280a8f, 0x0099f3a6, 0x024fc3ee, 0x02c8b9c0, 0x00a42ea1, 0x000b9f2b}}}, + {X: Field{[10]uint32{0x0211c7d8, 0x0343ab8f, 0x0239be38, 0x03bff76e, 0x02e91a43, 0x017b5551, 0x021e37a8, 0x03eaa3a3, 0x02dc3167, 0x000b6cdc}}, Y: Field{[10]uint32{0x01707ffe, 0x01b842d6, 0x023809b0, 0x00d2dc65, 0x0084f005, 0x02d67c3a, 0x0279697f, 0x02f5a85b, 0x0361bc1a, 0x0005aadb}}}, + {X: Field{[10]uint32{0x0005dc80, 0x0008f4a2, 0x000302ff, 0x019fdff1, 0x025b03dd, 0x02b4c4ca, 0x00e83cc9, 0x02d4e14e, 0x02f9f7a2, 0x00263df3}}, Y: Field{[10]uint32{0x02b98943, 0x020417eb, 0x00dd8d65, 0x034fe546, 0x01468bed, 0x03a5a85d, 0x016df891, 0x039b1af5, 0x00232813, 0x000ed03e}}}, + {X: Field{[10]uint32{0x01b62548, 0x0334657b, 0x00c7a363, 0x01853522, 0x02c48f08, 0x02a276d0, 0x01f58528, 0x00349357, 0x026cc8ab, 0x003baacb}}, Y: Field{[10]uint32{0x002649da, 0x002649f2, 0x022cc017, 0x01d100a0, 0x00523a7f, 0x03d7b7c5, 0x03e25030, 0x00ca35ca, 0x01ed65d3, 0x00181f10}}}, + {X: Field{[10]uint32{0x03db942a, 0x00d5c16c, 0x035376d9, 0x0346b69a, 0x03b7cb5e, 0x017ecc6d, 0x029a9d6c, 0x0071c0d1, 0x02ffb216, 0x002557fb}}, Y: Field{[10]uint32{0x01c0864b, 0x0123b905, 0x035a3fdf, 0x0029a0b2, 0x01283fcd, 0x029c4016, 0x039c9846, 0x030d081d, 0x0248a561, 0x002a4656}}}, + {X: Field{[10]uint32{0x00cd85a7, 0x03396b37, 0x025c9d44, 0x0376a606, 0x034db23b, 0x0336b0db, 0x008f5411, 0x03ba7b4f, 0x012d70d2, 0x00086693}}, Y: Field{[10]uint32{0x00ef53b4, 0x01593d71, 0x008e470a, 0x02a4171b, 0x013dbfdd, 0x03193df7, 0x0284aef2, 0x023b05c4, 0x01684300, 0x0019d106}}}, + {X: Field{[10]uint32{0x011ddb23, 0x010a5cbe, 0x028a5ed5, 0x01c5c8b8, 0x020d5945, 0x020b040d, 0x02f5cbd2, 0x02c584b8, 0x010d7794, 0x00125d8a}}, Y: Field{[10]uint32{0x0217ebc4, 0x001185b3, 0x03aec790, 0x00915bd5, 0x0023571c, 0x011b7144, 0x008354b4, 0x015954bf, 0x01f160fc, 0x00133f65}}}, + {X: Field{[10]uint32{0x0072b1c1, 0x0135c8ac, 0x00a4b5c4, 0x02cf0535, 0x021866e0, 0x0267d59d, 0x03b99ed5, 0x02b476ee, 0x03e0268e, 0x0011cb54}}, Y: Field{[10]uint32{0x02831232, 0x01a4fb30, 0x02db8e31, 0x00afb190, 0x01e4dfe8, 0x03659ee2, 0x02d42e31, 0x035352a3, 0x00096115, 0x003a6e70}}}, + {X: Field{[10]uint32{0x00ab18ef, 0x00c9ed1c, 0x01d50da3, 0x03ef0375, 0x003f3462, 0x0169b86c, 0x0075d617, 0x02e572be, 0x037e7a4d, 0x000a9bd6}}, Y: Field{[10]uint32{0x0259d506, 0x039f80e1, 0x033479ad, 0x013a8bcd, 0x02c9f372, 0x002c04f3, 0x01f5b78f, 0x037065f6, 0x03a392aa, 0x00246c91}}}, + {X: Field{[10]uint32{0x03146c19, 0x03e71148, 0x025ba17d, 0x00ae7441, 0x007431a6, 0x0383230f, 0x025e654f, 0x03606ed7, 0x01a3bf48, 0x00370605}}, Y: Field{[10]uint32{0x0194be8f, 0x02f7cbf5, 0x00f36d0f, 0x03dec232, 0x02d837c5, 0x01d1fbfe, 0x03e2af74, 0x0143c391, 0x029a3115, 0x003f881c}}}, + {X: Field{[10]uint32{0x00397776, 0x002db9a6, 0x03c4f1df, 0x033cf9a2, 0x00a8b47e, 0x000ffee6, 0x0295db4f, 0x03bae25e, 0x03ecad8f, 0x00239e54}}, Y: Field{[10]uint32{0x0141ac5d, 0x02c58df0, 0x01157893, 0x03f36aed, 0x0212f7c6, 0x007cc518, 0x0040a395, 0x0073109b, 0x02ef81b2, 0x00176b7c}}}, + {X: Field{[10]uint32{0x019b41a5, 0x03913304, 0x02a7472e, 0x0015b999, 0x01faf96a, 0x019a1b22, 0x0099fe1c, 0x01c92e7a, 0x026b49d5, 0x00293647}}, Y: Field{[10]uint32{0x020a4893, 0x03a77865, 0x0247414a, 0x00aae9cb, 0x02fef10b, 0x02f73f09, 0x02bb820c, 0x019263d6, 0x02150e29, 0x002af5a1}}}, + {X: Field{[10]uint32{0x0300eee9, 0x025210da, 0x0141dd02, 0x008ab2b8, 0x02754c49, 0x02383910, 0x0266dd60, 0x009ae74e, 0x01a4f3e4, 0x002e5c20}}, Y: Field{[10]uint32{0x00f153da, 0x007b5b2e, 0x024f1ea6, 0x01de38a2, 0x022c8c2f, 0x005542c4, 0x029cb641, 0x012ed2ea, 0x00839921, 0x001563db}}}, + {X: Field{[10]uint32{0x03825848, 0x00d0843e, 0x0225ea8c, 0x029ad8d2, 0x00b873a5, 0x01904b15, 0x0273c6ef, 0x026f39c2, 0x02ed8227, 0x001a20ad}}, Y: Field{[10]uint32{0x03f21b3b, 0x027852e7, 0x035aed6b, 0x002487ca, 0x031e3a3b, 0x01a27a28, 0x0279c616, 0x00f8e4ba, 0x02e9c823, 0x0031bf7b}}}, + {X: Field{[10]uint32{0x00717fe8, 0x01fb8691, 0x011a462c, 0x0202b543, 0x011a0dba, 0x013f7acf, 0x03bf11fa, 0x015c272a, 0x03311c71, 0x00271509}}, Y: Field{[10]uint32{0x01f2b045, 0x010a5d74, 0x0058d7ea, 0x01c713c8, 0x00ef4b64, 0x029dfdd8, 0x006bd40c, 0x00d16311, 0x03107816, 0x002a8106}}}, + {X: Field{[10]uint32{0x000cd32c, 0x01ccc31e, 0x015d9357, 0x005c0ec6, 0x024a5ed9, 0x00ef9637, 0x038779de, 0x01704ba0, 0x01a6776b, 0x001ce853}}, Y: Field{[10]uint32{0x02d2c49c, 0x03929c1e, 0x03a78b0c, 0x01d3332c, 0x01ceb585, 0x022fcb22, 0x0067bb7e, 0x0313569d, 0x03fde98e, 0x003101a3}}}, + {X: Field{[10]uint32{0x02af91b5, 0x01b15dad, 0x038ebfdc, 0x00d7677b, 0x028748d8, 0x039b76df, 0x01e9d261, 0x01b136eb, 0x028627d2, 0x00192228}}, Y: Field{[10]uint32{0x016d8ff3, 0x01806f4f, 0x02697b5c, 0x025416b6, 0x033c7f06, 0x0116ec1f, 0x030916a9, 0x0046462b, 0x01f0b050, 0x0009fe2c}}}, + {X: Field{[10]uint32{0x0151046c, 0x02753414, 0x0371bd8c, 0x023865e3, 0x02cca1d3, 0x01f73ef3, 0x01ee2ef4, 0x0132636e, 0x027a5b54, 0x0025951b}}, Y: Field{[10]uint32{0x01f4309d, 0x018329c1, 0x0189e841, 0x01cac984, 0x023b10f7, 0x00257260, 0x00f07d22, 0x03b3fc88, 0x032f8fe9, 0x003413f8}}}, + {X: Field{[10]uint32{0x00fecdf8, 0x0118fb63, 0x00066761, 0x01b20b4a, 0x01e76998, 0x01c808bb, 0x02cdb909, 0x02c50e80, 0x03564598, 0x002e811b}}, Y: Field{[10]uint32{0x0227250f, 0x000c8c8f, 0x01d68536, 0x00341de3, 0x023e57bc, 0x034f676a, 0x007d37c0, 0x015f0550, 0x03abd424, 0x003f1b88}}}, + {X: Field{[10]uint32{0x02d0e4ec, 0x02e02bd6, 0x027df310, 0x01fec4f2, 0x005e7655, 0x021aa081, 0x02d82ed0, 0x0329f77d, 0x0351e633, 0x000e5551}}, Y: Field{[10]uint32{0x006d3b1c, 0x021ac0a8, 0x03b4f894, 0x00f0bee6, 0x03cdb2ba, 0x03ea8fd9, 0x03df5e95, 0x03c83a5d, 0x0284f040, 0x002915ae}}}, + {X: Field{[10]uint32{0x009c22aa, 0x029a2926, 0x0317cd46, 0x035c0386, 0x01ba56b8, 0x00411b0f, 0x016c9241, 0x027f5c36, 0x00e75fef, 0x00317d54}}, Y: Field{[10]uint32{0x03ac3fa9, 0x030d8d89, 0x02cc2173, 0x010b723c, 0x038d65ea, 0x03b9f43e, 0x02a987ac, 0x02d85d55, 0x02e03aea, 0x00152160}}}, + {X: Field{[10]uint32{0x025fa050, 0x026ab35b, 0x0327eb99, 0x01d5e6c9, 0x0326d4ba, 0x03818e90, 0x000b2a0e, 0x0236ce6a, 0x0210a48d, 0x000b3305}}, Y: Field{[10]uint32{0x00348c84, 0x00fe5ffe, 0x02b70a07, 0x01a524a3, 0x03fa205d, 0x01e79610, 0x01cb17b1, 0x0000b023, 0x03db2114, 0x00379b75}}}, + {X: Field{[10]uint32{0x03084b3f, 0x0227843d, 0x012c5add, 0x03e3f9ba, 0x003ae59c, 0x03639919, 0x00089ff2, 0x00721079, 0x00e73e94, 0x0024ec1f}}, Y: Field{[10]uint32{0x0018fa63, 0x02a03910, 0x03634cb5, 0x03fb8634, 0x02533efc, 0x018a686b, 0x02c362d3, 0x0099f953, 0x0076c5a7, 0x00029b01}}}, + {X: Field{[10]uint32{0x0291e7e9, 0x03015996, 0x03a3e438, 0x001d872e, 0x02b0ec27, 0x01a166c5, 0x03aeec82, 0x0119e578, 0x01f055c1, 0x00114f00}}, Y: Field{[10]uint32{0x016766b2, 0x016f1269, 0x033d9874, 0x026794b9, 0x030e14ac, 0x00221096, 0x03738436, 0x032288bb, 0x02c9b9d3, 0x003ca3ab}}}, + {X: Field{[10]uint32{0x000f12f1, 0x0359197a, 0x027946f8, 0x013012a5, 0x00c1d09a, 0x0055656e, 0x02148fad, 0x0230a282, 0x01fdac07, 0x000f1b7c}}, Y: Field{[10]uint32{0x02a5b58d, 0x033c99e0, 0x0354f6df, 0x01700542, 0x02d443db, 0x039fb4a4, 0x02a68212, 0x004d2e81, 0x004d4eaa, 0x0011866a}}}, + {X: Field{[10]uint32{0x01b98630, 0x033160c4, 0x02fd600d, 0x03e49c17, 0x03f12054, 0x0240836f, 0x01429895, 0x025e14c1, 0x01683995, 0x0006dfda}}, Y: Field{[10]uint32{0x00645c25, 0x03670803, 0x00a37372, 0x00574305, 0x0067ee9e, 0x0223b1bc, 0x01731c9b, 0x03ea33ef, 0x023ee3e8, 0x0009e771}}}, + {X: Field{[10]uint32{0x03fccc19, 0x03610bef, 0x0300697a, 0x03da7340, 0x006256f2, 0x013489db, 0x010a6427, 0x0342e66e, 0x01539d49, 0x00386dee}}, Y: Field{[10]uint32{0x01f9500f, 0x03763435, 0x03316fd0, 0x036c9fe4, 0x00f2acfe, 0x027a054d, 0x004628b1, 0x0195a614, 0x016f51dc, 0x000ac8ee}}}, + {X: Field{[10]uint32{0x0354f911, 0x0205f22b, 0x012bf4bc, 0x017e9588, 0x039ce552, 0x02a5d193, 0x015f79bb, 0x0108cd2f, 0x00c56fbf, 0x0010133c}}, Y: Field{[10]uint32{0x031ef662, 0x00b29907, 0x03c0f2e2, 0x02d5e625, 0x02023c04, 0x0178d95e, 0x021a6e07, 0x00162171, 0x02098830, 0x002d6481}}}, + {X: Field{[10]uint32{0x00aae0c1, 0x038bb243, 0x0171f43f, 0x03b05faa, 0x00e7819a, 0x00268d10, 0x02e817fa, 0x01af63bf, 0x0186da62, 0x0010fc76}}, Y: Field{[10]uint32{0x0274f9ad, 0x028802ca, 0x03583e51, 0x00e0acea, 0x033e93f4, 0x005d45e7, 0x0011f518, 0x0246ab4a, 0x02ce0ce8, 0x00317e96}}}, + {X: Field{[10]uint32{0x005b9c1f, 0x03b2bd83, 0x028fcd23, 0x03a2d9fb, 0x027bbcaa, 0x02dd8844, 0x02183b81, 0x0265445a, 0x01c6b320, 0x00286211}}, Y: Field{[10]uint32{0x03ef1f44, 0x030a546e, 0x03b02dfc, 0x03c573ae, 0x038f54e7, 0x020619c6, 0x03c5350e, 0x01f9acb3, 0x01d9d7e0, 0x002603b5}}}, + {X: Field{[10]uint32{0x03ac01ed, 0x00124839, 0x015aa2a3, 0x02b7009b, 0x00254c38, 0x000f24a7, 0x01cc17be, 0x02609181, 0x03eb0af9, 0x00013671}}, Y: Field{[10]uint32{0x03e781d3, 0x01070654, 0x031c970d, 0x02e67ea6, 0x0097065b, 0x00cd83dd, 0x033cf00f, 0x03394c89, 0x0335bb0d, 0x00319316}}}, + {X: Field{[10]uint32{0x03e7c25d, 0x03ab7225, 0x00814eda, 0x03dc1319, 0x0155953e, 0x03a2a981, 0x01317833, 0x036c26f3, 0x02f2fbc3, 0x00386348}}, Y: Field{[10]uint32{0x03c7e07e, 0x03ca88bb, 0x00b5953e, 0x02ca15c0, 0x000f15b8, 0x032aa1c0, 0x037989df, 0x0081c893, 0x02817115, 0x00330962}}}, + {X: Field{[10]uint32{0x0247879d, 0x02f6f94a, 0x03d5a3c8, 0x029e6f0d, 0x0035083a, 0x030505fa, 0x02ec9a60, 0x02413e34, 0x01f9f220, 0x0005815d}}, Y: Field{[10]uint32{0x0279a5e5, 0x0157e4d4, 0x034ce0d6, 0x012cc274, 0x012c3870, 0x0350e7fb, 0x0191c60a, 0x025e3504, 0x00a6127e, 0x000795ad}}}, + {X: Field{[10]uint32{0x0192d514, 0x0280dc94, 0x03e53f9a, 0x01aa850d, 0x034c3c9f, 0x00f14d56, 0x02b7ebdd, 0x03589935, 0x03c757b1, 0x000ed946}}, Y: Field{[10]uint32{0x00231c3f, 0x015861a0, 0x022e419e, 0x01682287, 0x025feb28, 0x03722927, 0x031d8ec5, 0x000c483f, 0x03749599, 0x0025dea1}}}, + {X: Field{[10]uint32{0x02ba532a, 0x01e6a3c5, 0x03b0cd95, 0x02587f5a, 0x02a9660e, 0x0262aca1, 0x00250154, 0x033009d8, 0x01ef56fa, 0x0024216f}}, Y: Field{[10]uint32{0x02e9fe89, 0x01443c5e, 0x013b8c55, 0x005a3dae, 0x0368364c, 0x003a039e, 0x03f791d9, 0x01567179, 0x0108a557, 0x003f4174}}}, + {X: Field{[10]uint32{0x000569ec, 0x01151239, 0x00c21fef, 0x0095db87, 0x0067cf1b, 0x007c2b3a, 0x033aab8c, 0x00e18bf4, 0x006df64a, 0x0010890c}}, Y: Field{[10]uint32{0x020661bc, 0x004f563d, 0x032498bd, 0x0257fe59, 0x0063e723, 0x016790b9, 0x0087c2dc, 0x02f0773a, 0x02675279, 0x0021d02d}}}, + {X: Field{[10]uint32{0x0022935c, 0x00f28d77, 0x009182f8, 0x0303fd68, 0x02e0e2b2, 0x02f157b9, 0x03806b35, 0x00b8c69b, 0x02974a51, 0x002dcdd9}}, Y: Field{[10]uint32{0x01420103, 0x00a820a1, 0x0046251c, 0x000e75a2, 0x01890b3e, 0x023f572f, 0x00152a24, 0x03eb7bb9, 0x00202676, 0x0034d432}}}, + {X: Field{[10]uint32{0x010eb97a, 0x01093693, 0x01574557, 0x01a32ea0, 0x02bb82e0, 0x03069d21, 0x00505ab1, 0x0353429f, 0x038ed3b5, 0x001cee93}}, Y: Field{[10]uint32{0x02188271, 0x0292ff89, 0x01215adc, 0x026dc950, 0x013a58ba, 0x0218f4fe, 0x01b4a2d0, 0x030d8152, 0x0114552d, 0x0024ebce}}}, + {X: Field{[10]uint32{0x03d3d8ea, 0x012f80db, 0x01bef052, 0x0101af38, 0x020ae935, 0x01a52c14, 0x00576c45, 0x0093663c, 0x014e1747, 0x000a1680}}, Y: Field{[10]uint32{0x029af7dc, 0x00f9f21a, 0x028cab39, 0x01965a33, 0x039d4067, 0x0247536d, 0x03f5213f, 0x01dd5f9b, 0x01d8d2ce, 0x001bf6b4}}}, + {X: Field{[10]uint32{0x028e768f, 0x021a77b0, 0x01180963, 0x01e3b283, 0x0384c2fd, 0x01be302a, 0x025cea7c, 0x02d52e8a, 0x01d727bf, 0x002c24d3}}, Y: Field{[10]uint32{0x00b982c6, 0x01c2763c, 0x031bf2bc, 0x03df4535, 0x03484c94, 0x036c2644, 0x02bbb26e, 0x027cc52f, 0x01115602, 0x00372bc3}}}, + {X: Field{[10]uint32{0x03681561, 0x032303d6, 0x0365ec45, 0x033cd5ee, 0x02ffcb49, 0x03bc5742, 0x011c8bcc, 0x02a772dd, 0x02dd8b69, 0x000ed89e}}, Y: Field{[10]uint32{0x0046d19d, 0x00a5bf37, 0x015e1536, 0x02ee9dc8, 0x03693cd2, 0x0349f3fd, 0x02133649, 0x0202dcb6, 0x018009e3, 0x0002f686}}}, + {X: Field{[10]uint32{0x02cb5ac2, 0x00a8da54, 0x027c90a6, 0x01d9722a, 0x02e45938, 0x011d9b6a, 0x012e3f9a, 0x02277e81, 0x01ec1f22, 0x001f923f}}, Y: Field{[10]uint32{0x018cb5f2, 0x00e12e6f, 0x039ac61e, 0x023984a4, 0x0168449b, 0x02fb6d27, 0x021e10c5, 0x01a2159b, 0x007aac11, 0x003a1ebe}}}, + {X: Field{[10]uint32{0x023ffd9d, 0x03390f89, 0x0008b181, 0x02432a84, 0x00d094d8, 0x03bb0b90, 0x022c267f, 0x00eeeada, 0x008a5de3, 0x00100c7c}}, Y: Field{[10]uint32{0x01b0be07, 0x026dfc14, 0x006b58a7, 0x038c46e5, 0x01a8f23b, 0x0077fbd1, 0x0389beb9, 0x0297c269, 0x03d99737, 0x0033f713}}}, + {X: Field{[10]uint32{0x031ed764, 0x001fafe4, 0x00b1dd54, 0x00b1ee40, 0x00ec00a2, 0x03510730, 0x02e656f4, 0x036ed6fd, 0x037c61dd, 0x002e994a}}, Y: Field{[10]uint32{0x00029556, 0x011341c0, 0x00088a3b, 0x02566964, 0x001d2070, 0x00f19f80, 0x030b5d8d, 0x02055a8c, 0x0392d122, 0x0021ff2c}}}, + {X: Field{[10]uint32{0x0190e72d, 0x0307b419, 0x03b1bffd, 0x02e6e834, 0x0362c967, 0x03630c3c, 0x03dd95d2, 0x01d94eb1, 0x0172d101, 0x003ee4d9}}, Y: Field{[10]uint32{0x0036d8ed, 0x01e62092, 0x00587b08, 0x0119ad29, 0x02940382, 0x02562f8b, 0x03799659, 0x01a8c429, 0x03afdb6b, 0x002b7e8d}}}, + {X: Field{[10]uint32{0x003bae7b, 0x02621c2c, 0x01148991, 0x00a065a1, 0x01b97ff3, 0x021844a7, 0x006fdb78, 0x00214bdf, 0x03cb5e7c, 0x000a511c}}, Y: Field{[10]uint32{0x0190c86a, 0x03bb0e1f, 0x03617246, 0x0169b1d9, 0x0078463e, 0x02f56d28, 0x0209f951, 0x0219e9e2, 0x0136f991, 0x002f6415}}}, + {X: Field{[10]uint32{0x01bc574e, 0x01b21cf1, 0x00c0944a, 0x0231b4e9, 0x007687dc, 0x01a0edd3, 0x0337ced1, 0x00cff645, 0x004f73a6, 0x000bf03d}}, Y: Field{[10]uint32{0x0122ad1f, 0x001cd507, 0x0118415e, 0x01426914, 0x03ac572f, 0x02b8dcfa, 0x01499912, 0x018fe53a, 0x00eeffa0, 0x000a645f}}}, + {X: Field{[10]uint32{0x016d569e, 0x03009444, 0x00c40b9a, 0x03720eee, 0x018da210, 0x023b628c, 0x01d34f2c, 0x0169fbd6, 0x0251882c, 0x002047ec}}, Y: Field{[10]uint32{0x00a0c55d, 0x02464636, 0x00c00ad2, 0x001c170f, 0x02d480e4, 0x0250379a, 0x0204ad3f, 0x016be93b, 0x01472cb5, 0x001d37d9}}}, + {X: Field{[10]uint32{0x03fc5d07, 0x01f9852d, 0x0057ba9e, 0x03160bf7, 0x03c47996, 0x03539f94, 0x0051894a, 0x033c247d, 0x017cc1d6, 0x00116a78}}, Y: Field{[10]uint32{0x03069be1, 0x0072ab5e, 0x01bbb16d, 0x01b70dff, 0x034e1919, 0x02260cad, 0x02d19200, 0x0187d7ec, 0x004f0026, 0x00145a77}}}, + {X: Field{[10]uint32{0x01588e67, 0x03426bad, 0x00102645, 0x00e2de30, 0x00abd065, 0x02d71ef5, 0x003d96aa, 0x029eb51d, 0x03fc45cd, 0x00355dfd}}, Y: Field{[10]uint32{0x003be07a, 0x001c4a0c, 0x0125e521, 0x00b0c2ff, 0x02765e2c, 0x0231e33a, 0x011db618, 0x015f7f3b, 0x03717ea2, 0x001545ca}}}, + {X: Field{[10]uint32{0x0306e44f, 0x03846c66, 0x019c0650, 0x022ddde9, 0x024fb22d, 0x012c33bf, 0x0371e08d, 0x02a9b8e6, 0x02958098, 0x002990a6}}, Y: Field{[10]uint32{0x007dd2ed, 0x02992c65, 0x027dcf6a, 0x0097cb0e, 0x0336ab18, 0x0218902a, 0x00440f57, 0x0015772b, 0x02625587, 0x002bd253}}}, + {X: Field{[10]uint32{0x039a743d, 0x025a59e8, 0x00679073, 0x01e98f88, 0x0050bca3, 0x03d1e3ba, 0x00b1c80c, 0x0052d096, 0x0304b893, 0x0003ddf0}}, Y: Field{[10]uint32{0x01c1c7ee, 0x0218dfe3, 0x02c727e7, 0x00515638, 0x011c32f4, 0x003d03c6, 0x00452136, 0x0052f982, 0x017629d9, 0x003121e8}}}, + {X: Field{[10]uint32{0x02d1c988, 0x01985965, 0x01f5def7, 0x00bfecbe, 0x02cd76ea, 0x007b7b7a, 0x03f0a82e, 0x00491dc7, 0x02f61598, 0x001071bc}}, Y: Field{[10]uint32{0x01accb68, 0x02d4aa41, 0x031d3407, 0x0039176f, 0x02364277, 0x026da1f1, 0x039ed4ff, 0x00681d7f, 0x0144146c, 0x0016283d}}}, + {X: Field{[10]uint32{0x02b968d0, 0x019bb4cb, 0x01916cdf, 0x035c7f6d, 0x037ac2d2, 0x015d978f, 0x02aaacb3, 0x00debc27, 0x02c8c13d, 0x00321c93}}, Y: Field{[10]uint32{0x00d81221, 0x03495791, 0x029895ec, 0x03b69e18, 0x026ade66, 0x00af669b, 0x014bbf24, 0x00f9b79f, 0x03214210, 0x001c3b3d}}}, + {X: Field{[10]uint32{0x031fbbf2, 0x02ea7cff, 0x00650653, 0x012b81c3, 0x023b139e, 0x01d7ead9, 0x02204a2b, 0x0238daf8, 0x00460dd5, 0x0038a223}}, Y: Field{[10]uint32{0x0342509e, 0x00acd4c8, 0x0108c331, 0x02625488, 0x01bc1584, 0x0082f580, 0x01888797, 0x00ee2adf, 0x00dae139, 0x001c5644}}}, + {X: Field{[10]uint32{0x02d834dd, 0x02b0dbd9, 0x01ec1c14, 0x00d847aa, 0x01f56cf7, 0x02a99be6, 0x01999c9a, 0x0202e1ad, 0x0384d72d, 0x003c7d30}}, Y: Field{[10]uint32{0x00cc7e3f, 0x039cdd49, 0x03c44835, 0x0229a5ac, 0x02219838, 0x0326a9e1, 0x038527a3, 0x010b23ae, 0x03c24801, 0x002d550e}}}, + {X: Field{[10]uint32{0x01940a5b, 0x0204ad0c, 0x01e73f61, 0x0298d067, 0x0217aec3, 0x03b75fd6, 0x028d4126, 0x02df6c1d, 0x03f5832f, 0x00121d1d}}, Y: Field{[10]uint32{0x032608a7, 0x01e35786, 0x03c54c5f, 0x0158db6d, 0x020284f5, 0x00a9b55a, 0x004e3dc3, 0x03ea62f1, 0x01de4203, 0x00240c8b}}}, + {X: Field{[10]uint32{0x00ca75af, 0x02bc0dc5, 0x0229bff8, 0x000a7f84, 0x010c55df, 0x02cfba7d, 0x00f957e0, 0x019f892e, 0x023a5831, 0x0029c9a5}}, Y: Field{[10]uint32{0x008f7449, 0x01945b70, 0x0232d99f, 0x00954e96, 0x034a6369, 0x02d9507f, 0x0154d156, 0x00a70204, 0x0184d689, 0x0023f5ea}}}, + {X: Field{[10]uint32{0x0399e97c, 0x00ab16e2, 0x03033876, 0x030b8804, 0x00baa763, 0x01a669a3, 0x013a231e, 0x03ac7276, 0x01b4cf80, 0x00353083}}, Y: Field{[10]uint32{0x00eca01f, 0x031be7db, 0x0287a426, 0x00381624, 0x01f5abc5, 0x0246428d, 0x02a20713, 0x02943212, 0x03ba2555, 0x002e871d}}}, + {X: Field{[10]uint32{0x02748168, 0x027bf88e, 0x03afafa5, 0x0076b15b, 0x025159ba, 0x036343cd, 0x01b5a55a, 0x01c0aefb, 0x005389ae, 0x0001f3e7}}, Y: Field{[10]uint32{0x032336b8, 0x00e140ad, 0x0296f6ec, 0x0029ba90, 0x03489bee, 0x00c4d23b, 0x00ec347c, 0x01eef28b, 0x0324338c, 0x003b38ec}}}, + {X: Field{[10]uint32{0x00b73e55, 0x009506d1, 0x02f49699, 0x00ced36e, 0x03eec928, 0x00c9a01b, 0x039f9c30, 0x0352bce5, 0x00e3c1eb, 0x00248042}}, Y: Field{[10]uint32{0x01f466fc, 0x00b88025, 0x01395ba9, 0x01e1493d, 0x016cf8f4, 0x02e92399, 0x003f348e, 0x03120d3c, 0x0133d8ad, 0x000f88ac}}}, + {X: Field{[10]uint32{0x02479e90, 0x02da7109, 0x02a8a4fe, 0x00e12559, 0x03fc7605, 0x02b4ca94, 0x03613372, 0x021d8a6c, 0x038a98c4, 0x000559ab}}, Y: Field{[10]uint32{0x02997796, 0x02a145b6, 0x03926dab, 0x02ebacfd, 0x030da5d3, 0x00bf871e, 0x017db986, 0x00af931e, 0x01664bd7, 0x000a1231}}}, + {X: Field{[10]uint32{0x0361723c, 0x01daaf2b, 0x03044c0f, 0x02f89c7b, 0x01d2f6d9, 0x00ac2a2c, 0x017a7041, 0x0233af1f, 0x027102eb, 0x002936d7}}, Y: Field{[10]uint32{0x002e8ca4, 0x023232b1, 0x036a5695, 0x00abcae7, 0x03272f5f, 0x01ea501e, 0x004bc0a2, 0x00f777d8, 0x02e075a7, 0x00198f85}}}, + {X: Field{[10]uint32{0x0153e5fb, 0x00ef29e3, 0x00c13849, 0x01dd81de, 0x0333d90e, 0x031e73c6, 0x025d1106, 0x02e3e418, 0x03538bbd, 0x00343273}}, Y: Field{[10]uint32{0x021d9a60, 0x01e418e2, 0x01bd9683, 0x02201f70, 0x009975ad, 0x02e2f4c3, 0x00a21250, 0x03501f30, 0x020e8b9f, 0x002dbb33}}}, + {X: Field{[10]uint32{0x03d8391f, 0x01f39e3f, 0x0204ce65, 0x0051538e, 0x014a58d5, 0x033ce8e2, 0x0196d67b, 0x015ef5c1, 0x0292480f, 0x001d97ee}}, Y: Field{[10]uint32{0x0218302f, 0x03b24087, 0x023dbaf6, 0x02f57ceb, 0x0050879b, 0x03d06ad3, 0x03b552e3, 0x00d43968, 0x03ba1035, 0x00172c76}}}, + {X: Field{[10]uint32{0x03fb4a5e, 0x007b9be2, 0x025032c5, 0x02396bd2, 0x009bd3f8, 0x022d94be, 0x02a7b9b6, 0x01c0ad2a, 0x01e8e846, 0x0027e76a}}, Y: Field{[10]uint32{0x0296a0f6, 0x028b5fd5, 0x0284dedf, 0x02374b01, 0x021d8da0, 0x001a22b2, 0x017320ca, 0x005ec3ac, 0x019d7ecf, 0x00176f52}}}, + {X: Field{[10]uint32{0x03fdd3f4, 0x02480884, 0x025bfb11, 0x0272d196, 0x00ad949c, 0x006bbd7c, 0x03b1a166, 0x02252dcb, 0x003bdb95, 0x002be1b2}}, Y: Field{[10]uint32{0x0399e117, 0x03cf04b5, 0x00e55123, 0x02e6c6e2, 0x03004a7b, 0x0310709b, 0x03d2b25c, 0x00046580, 0x027d5541, 0x003b01a0}}}, + {X: Field{[10]uint32{0x01587e77, 0x03e8d43f, 0x0309cd94, 0x02c8b32e, 0x0364c8e3, 0x0202f8ce, 0x032b3fcc, 0x02f2341d, 0x01932fcc, 0x003eed22}}, Y: Field{[10]uint32{0x00c0b858, 0x0046db36, 0x03e04811, 0x035095ee, 0x0258598a, 0x00d01d69, 0x0051abd6, 0x00cf6acd, 0x01242793, 0x0003e737}}}, + {X: Field{[10]uint32{0x02d60684, 0x03b7079f, 0x0269bae6, 0x03e242a4, 0x00621f36, 0x00ab7270, 0x0315ecae, 0x030abd8a, 0x01a3ad97, 0x00103b2c}}, Y: Field{[10]uint32{0x0158b32e, 0x02a8014d, 0x005f288d, 0x02cfb661, 0x019a41f4, 0x008c07ee, 0x00e3e2b3, 0x0185f648, 0x0194fa3a, 0x003fe7b0}}}, + {X: Field{[10]uint32{0x00878f52, 0x01802706, 0x03691973, 0x00c31f4e, 0x0339873c, 0x03f808e3, 0x03d9014b, 0x00ad0bf2, 0x02f10c76, 0x000c7e24}}, Y: Field{[10]uint32{0x01718c95, 0x00d9cd25, 0x03ff7be5, 0x02e3df53, 0x015cd610, 0x03dae4b0, 0x0131066e, 0x01cd154c, 0x0005f31f, 0x00366f54}}}, + {X: Field{[10]uint32{0x00886c5c, 0x025bf209, 0x028f31c6, 0x024e32ad, 0x03921f81, 0x0175dce7, 0x014d150c, 0x001478b6, 0x0129e9f6, 0x002e8489}}, Y: Field{[10]uint32{0x016b1ed1, 0x01c926a1, 0x03c20d9c, 0x02730e5a, 0x007c0285, 0x01eb2708, 0x00577d33, 0x0354e46c, 0x031f7e9b, 0x0030cf01}}}, + {X: Field{[10]uint32{0x0124cf03, 0x030857ca, 0x018c5030, 0x024f5605, 0x03ef45d9, 0x02e68098, 0x013ecbc5, 0x034c4726, 0x00129a26, 0x000d4c59}}, Y: Field{[10]uint32{0x023a9742, 0x031b4d5e, 0x00e3f6a9, 0x01be460d, 0x03f92ef0, 0x016d8e16, 0x023e2d9c, 0x008eee73, 0x00d95216, 0x0021a988}}}, + {X: Field{[10]uint32{0x02c8e462, 0x00628854, 0x033ebf97, 0x02b1e146, 0x004a4aa7, 0x013b1fe7, 0x02ce92ca, 0x012a98d7, 0x030be413, 0x000c091d}}, Y: Field{[10]uint32{0x03c8c8ee, 0x03ac143f, 0x01225bbc, 0x02abe063, 0x00ab3f8f, 0x039ce139, 0x01c1579c, 0x01ebf85b, 0x03bd7214, 0x0007f3eb}}}, + {X: Field{[10]uint32{0x03da6564, 0x0340721a, 0x0071a672, 0x02993742, 0x02533c1b, 0x02507638, 0x02dbf169, 0x03a1b16d, 0x013da40e, 0x003d6e8c}}, Y: Field{[10]uint32{0x0000647d, 0x012eeb6e, 0x018c7294, 0x02090dfd, 0x018f9652, 0x01555d92, 0x02e95ec1, 0x01e41f25, 0x010db969, 0x000042a4}}}, + {X: Field{[10]uint32{0x0264e2f1, 0x02d6715c, 0x018ebb33, 0x00f84cb0, 0x00e485a2, 0x00632546, 0x037f426b, 0x033414d3, 0x03e2972c, 0x001a1785}}, Y: Field{[10]uint32{0x01f291c6, 0x000513ae, 0x03a0cb93, 0x00b77a83, 0x03470fd4, 0x00455b6b, 0x03a3f475, 0x02ab069d, 0x0338be84, 0x00259516}}}, + {X: Field{[10]uint32{0x03f119eb, 0x03d97466, 0x028e0504, 0x03718749, 0x01fdd481, 0x03a4701f, 0x01e1bca7, 0x02608a96, 0x01fdfacc, 0x003804a1}}, Y: Field{[10]uint32{0x01c39909, 0x01f5b967, 0x010630f7, 0x01790719, 0x0140bf5b, 0x01c80ae6, 0x003615ba, 0x036aebbe, 0x013a2479, 0x002ba085}}}, + {X: Field{[10]uint32{0x01839601, 0x00872c15, 0x03220b54, 0x024dd8d7, 0x0093798a, 0x024c8079, 0x00d67200, 0x0043b1e1, 0x01863277, 0x00318791}}, Y: Field{[10]uint32{0x006c04ea, 0x02e32c9d, 0x0026dcde, 0x03c5d0cf, 0x025d42fc, 0x02e95572, 0x023e0163, 0x01939e87, 0x03f5aa5b, 0x0039187e}}}, + {X: Field{[10]uint32{0x03d192d4, 0x01f597c7, 0x01af3be8, 0x00d2400a, 0x013106fc, 0x004ed876, 0x00d8ca25, 0x0242db89, 0x02cb4e58, 0x0007109e}}, Y: Field{[10]uint32{0x02cf29d0, 0x03b0310d, 0x023e9c9c, 0x0357ba2b, 0x0184935a, 0x030d0c28, 0x0304fa6e, 0x014a2e6e, 0x00251518, 0x000765b8}}}, + {X: Field{[10]uint32{0x012fd8e7, 0x037dbc7c, 0x02f54431, 0x0066d660, 0x005a9326, 0x01f51c2e, 0x02ddb3ba, 0x0225ed2d, 0x03fd6d51, 0x001795de}}, Y: Field{[10]uint32{0x011c6eb4, 0x03535e48, 0x01ff9203, 0x01131eb4, 0x00123cb0, 0x02969ff4, 0x0036e908, 0x030674ea, 0x02929734, 0x0030685c}}}, + {X: Field{[10]uint32{0x00237b30, 0x00ed028a, 0x028a6817, 0x01d9b4fa, 0x02adc6ae, 0x03ef2b7c, 0x03aefc8d, 0x022902eb, 0x03331f96, 0x00331e2c}}, Y: Field{[10]uint32{0x01857d42, 0x02c29011, 0x038aa14e, 0x01f250db, 0x00dfc2ce, 0x0048e32d, 0x01ef04b4, 0x0301a3fc, 0x01b20a5b, 0x0016dda4}}}, + {X: Field{[10]uint32{0x00919fb6, 0x020c293b, 0x0016a0b1, 0x00aa56b7, 0x02c44537, 0x02bcfb3a, 0x01dc288f, 0x0113ca79, 0x0037487b, 0x000e1571}}, Y: Field{[10]uint32{0x009359d2, 0x00a1f20a, 0x0151911c, 0x03d7868e, 0x01ed1949, 0x0022f6f5, 0x03bcd5b3, 0x03e8a153, 0x029a48cb, 0x0037cb87}}}, + {X: Field{[10]uint32{0x01d16b19, 0x016119ae, 0x03c928f1, 0x0086df79, 0x00dc62cb, 0x01f6cf5b, 0x03fcf6b9, 0x00d5bf17, 0x03b40a83, 0x0030148c}}, Y: Field{[10]uint32{0x0254f500, 0x038efde7, 0x0327525e, 0x03d4588c, 0x00956616, 0x007a3795, 0x020eac65, 0x02211cfe, 0x02390ce7, 0x0002c6f6}}}, + {X: Field{[10]uint32{0x019dfffb, 0x039f7b02, 0x0010b455, 0x00799586, 0x010b736c, 0x02407cd5, 0x02000245, 0x009a9f66, 0x013cf342, 0x001b0193}}, Y: Field{[10]uint32{0x009eb9a7, 0x02093358, 0x002e9925, 0x01dca349, 0x02aa5444, 0x0071710b, 0x00f8fd2a, 0x030687e0, 0x0042d25e, 0x00058365}}}, + {X: Field{[10]uint32{0x03714cf2, 0x01eea762, 0x01009bf3, 0x01c91e27, 0x01b3e207, 0x00379a9f, 0x021a93a0, 0x006a946d, 0x038970bb, 0x0025963a}}, Y: Field{[10]uint32{0x02c51cc2, 0x00c07aa4, 0x01ff7a58, 0x012665f5, 0x0096be89, 0x01036278, 0x021a903f, 0x023e2de0, 0x00aff7da, 0x003352e9}}}, + {X: Field{[10]uint32{0x03b4f0c8, 0x039fa992, 0x031b87a3, 0x01a69c70, 0x035cf1f9, 0x00fe65bd, 0x032b0c4c, 0x01bdc247, 0x0110a554, 0x001b808e}}, Y: Field{[10]uint32{0x00c459c5, 0x026b76cd, 0x0358999b, 0x00d99470, 0x007faa9b, 0x0362486e, 0x02d8cfc7, 0x01cd3767, 0x01d790ec, 0x003dbb59}}}, + {X: Field{[10]uint32{0x00c7ff6e, 0x023e2655, 0x03a141e6, 0x006f5831, 0x03926290, 0x00cc14df, 0x003528e0, 0x001267e4, 0x0098e970, 0x000e8d6b}}, Y: Field{[10]uint32{0x032069ed, 0x00e36865, 0x00eb6c4d, 0x03e29d91, 0x001f247f, 0x03b68e09, 0x014ac0c9, 0x0070c14e, 0x0116da63, 0x00244f65}}}, + {X: Field{[10]uint32{0x036af212, 0x014395c1, 0x023db073, 0x01bc925d, 0x022317c6, 0x02c6522f, 0x036def30, 0x02a916a2, 0x025115df, 0x0034227e}}, Y: Field{[10]uint32{0x00a6da9c, 0x03f720c6, 0x00f6ab12, 0x02b12864, 0x03a18e5d, 0x00ffe844, 0x025120cf, 0x03eb11de, 0x0173f326, 0x00139aba}}}, + {X: Field{[10]uint32{0x018cf2ef, 0x02ecb083, 0x036ab045, 0x0357de42, 0x005b9cd9, 0x00f654c7, 0x00ea0f23, 0x00aad1d2, 0x012f2aa6, 0x0039ccf1}}, Y: Field{[10]uint32{0x0182a291, 0x00377c75, 0x02d89fb8, 0x0215c314, 0x0336ac48, 0x035ffdd4, 0x0323ab28, 0x01ca4eb2, 0x01c93c67, 0x001c0455}}}, + {X: Field{[10]uint32{0x03f14c7a, 0x02bdd8f9, 0x01b9be8c, 0x002ee065, 0x021eb477, 0x00aeafe1, 0x00aa6f24, 0x01a13f99, 0x037dc006, 0x0012dbde}}, Y: Field{[10]uint32{0x0194e00d, 0x01917ac8, 0x01d5a2b0, 0x001763c8, 0x017bfaea, 0x014e8132, 0x01805d8a, 0x01eccc30, 0x0380ac75, 0x001b162d}}}, + {X: Field{[10]uint32{0x0267f79d, 0x009b97f8, 0x038b4811, 0x0308ed1d, 0x0344ff51, 0x03154b9c, 0x00d7aeb8, 0x02b02831, 0x0002cd1f, 0x0006d481}}, Y: Field{[10]uint32{0x03db1a39, 0x03b0dd4d, 0x013c19e8, 0x03c424f6, 0x0030b252, 0x026b7536, 0x004ee943, 0x024c1283, 0x01005664, 0x00023b83}}}, + {X: Field{[10]uint32{0x017139b1, 0x02bcafae, 0x024f5bf9, 0x00fd0f61, 0x023400cc, 0x022a2179, 0x02da4c63, 0x03b617f0, 0x02d5d7f1, 0x00224db9}}, Y: Field{[10]uint32{0x029b402b, 0x00ac1060, 0x03c4778d, 0x005e96f5, 0x018879f2, 0x03f4c989, 0x00cdc8a6, 0x00ca8ddc, 0x0220b4b9, 0x000a604a}}}, + {X: Field{[10]uint32{0x016b518f, 0x00441172, 0x021eec4f, 0x01bd6e86, 0x01aebd39, 0x0157645c, 0x036c043a, 0x015536a8, 0x027f4813, 0x001a022b}}, Y: Field{[10]uint32{0x00425810, 0x0264e967, 0x01c2231b, 0x020df1d2, 0x00f581b9, 0x03d055d7, 0x00e85fd5, 0x0237715e, 0x026e8872, 0x001abf2b}}}, + {X: Field{[10]uint32{0x01a2cd1c, 0x01e4928d, 0x0310f236, 0x024d56a6, 0x0193e232, 0x00076002, 0x011bba76, 0x00fd9848, 0x029444c7, 0x00161b19}}, Y: Field{[10]uint32{0x025416c7, 0x0004ab3f, 0x031c8862, 0x0377bc19, 0x03873537, 0x00df2df1, 0x00f5507d, 0x028f2d02, 0x001ff6eb, 0x001d2c24}}}, + {X: Field{[10]uint32{0x03f89e11, 0x025efa07, 0x0066b078, 0x02966733, 0x020b183a, 0x02461507, 0x0388453e, 0x03c78131, 0x025ddead, 0x001e2720}}, Y: Field{[10]uint32{0x006cb5ab, 0x01e24e39, 0x0103cb8f, 0x015fffa6, 0x03e40cc3, 0x027e62a6, 0x027480b8, 0x02c4f1af, 0x026f641b, 0x002041aa}}}, + {X: Field{[10]uint32{0x01419797, 0x01f3efaa, 0x02076acd, 0x01bb8763, 0x02e52042, 0x01fd92f2, 0x00d0ddf9, 0x03ea9988, 0x00bbfd26, 0x0035eae0}}, Y: Field{[10]uint32{0x00c5a823, 0x02114de4, 0x02efbc71, 0x022e7ccb, 0x026e50a5, 0x004e7453, 0x034a85f5, 0x02c40ebb, 0x0372a6d1, 0x0009abe7}}}, + {X: Field{[10]uint32{0x02f67f7f, 0x015b4bcd, 0x033154c2, 0x00cf280a, 0x00bddf0f, 0x007af106, 0x012b311b, 0x006ae118, 0x02d44daf, 0x00063dc4}}, Y: Field{[10]uint32{0x037d25bc, 0x026f6981, 0x03ee9f2d, 0x034c8574, 0x006b06d8, 0x013fdefe, 0x033c3f43, 0x03533bb6, 0x0150f92f, 0x003102c6}}}, + {X: Field{[10]uint32{0x03e5a06e, 0x039ba9b1, 0x005b3eb9, 0x00c8877a, 0x02fc399d, 0x02662f31, 0x022a7cbf, 0x00623de3, 0x036d9f6d, 0x00221cc9}}, Y: Field{[10]uint32{0x03c9e1a6, 0x029c2079, 0x02b4e054, 0x010f012d, 0x00dac977, 0x0395985e, 0x0020a3a7, 0x02e7a3ba, 0x01378ee9, 0x000a5fa0}}}, + {X: Field{[10]uint32{0x0288e0ad, 0x00b299b1, 0x01157145, 0x019937de, 0x0030fadd, 0x037d0c73, 0x00f57cdf, 0x005faf02, 0x01015bd2, 0x000406e0}}, Y: Field{[10]uint32{0x01179e6a, 0x01cdc617, 0x01ab339b, 0x02d1b253, 0x014c7542, 0x02a3e372, 0x01816d40, 0x00e0c461, 0x032fad20, 0x003e9b06}}}, + {X: Field{[10]uint32{0x0342dd57, 0x035314df, 0x03b6cd81, 0x0328a612, 0x03abe3b3, 0x02c81c7e, 0x02520a8c, 0x00518047, 0x015776c3, 0x001decf0}}, Y: Field{[10]uint32{0x004a645a, 0x0226417f, 0x00244925, 0x017453c3, 0x00040cce, 0x010fbd6b, 0x0084c9b4, 0x0006dc70, 0x02b1dab6, 0x002342f3}}}, + {X: Field{[10]uint32{0x01daec7a, 0x01a9a83f, 0x005d3ecf, 0x0224cf20, 0x02fbe2c1, 0x02e99bc4, 0x03aca338, 0x0182dbfd, 0x015256ac, 0x000547cb}}, Y: Field{[10]uint32{0x024f62d6, 0x033a7c1d, 0x03ea674e, 0x02227355, 0x01c4833c, 0x027a508d, 0x03038d64, 0x012fe645, 0x017710cd, 0x0034aab3}}}, + {X: Field{[10]uint32{0x031d32c7, 0x028e0245, 0x011a2029, 0x0070446f, 0x00950881, 0x012d1b7e, 0x0338dbe2, 0x0105ed18, 0x0327f41e, 0x00375d73}}, Y: Field{[10]uint32{0x01b67be5, 0x00c88906, 0x013dd46c, 0x003363ed, 0x00ee2217, 0x0324761b, 0x0303c33c, 0x026e012a, 0x0055a338, 0x0038ca2e}}}, + {X: Field{[10]uint32{0x011d7a83, 0x035fbb9e, 0x0028a494, 0x01d8cd6d, 0x026a3f6b, 0x03d986c7, 0x02366ab3, 0x03671277, 0x03ebbdd1, 0x0003ea87}}, Y: Field{[10]uint32{0x0025d572, 0x015c4f6e, 0x029c413b, 0x02760695, 0x01948bb2, 0x00791955, 0x0248ee56, 0x000aae30, 0x014f8fce, 0x0037cd87}}}, + {X: Field{[10]uint32{0x018f8be5, 0x036bfb53, 0x03545671, 0x037e31a9, 0x00a4cada, 0x019e2565, 0x01ee65b6, 0x02ecc7f7, 0x01be5bc2, 0x000f3043}}, Y: Field{[10]uint32{0x0039c2df, 0x023995dc, 0x0110dbc0, 0x002ba909, 0x00710112, 0x0350b25d, 0x0292a3a9, 0x02b5bc39, 0x01ef8c66, 0x00200b51}}}, + {X: Field{[10]uint32{0x03b93ba2, 0x01dafb29, 0x03a1eaf5, 0x02140d78, 0x01856cc4, 0x014a00b8, 0x00dee7f7, 0x03b07245, 0x0325325d, 0x00255139}}, Y: Field{[10]uint32{0x02eeeb49, 0x020c4577, 0x03686aad, 0x03779421, 0x00aaf137, 0x005cce33, 0x0339b037, 0x00f013af, 0x03a68151, 0x0033b1f6}}}, + {X: Field{[10]uint32{0x0383a964, 0x02f8df27, 0x01eac038, 0x01b89de7, 0x0154eec6, 0x03737db0, 0x017ff8b4, 0x0188d9ec, 0x03dcd5d0, 0x0025283e}}, Y: Field{[10]uint32{0x03efe82a, 0x00a7bd33, 0x030e576f, 0x004d68a8, 0x03fea742, 0x0290b8b8, 0x0223e169, 0x01b206dc, 0x00fd5ef0, 0x003c97cd}}}, + {X: Field{[10]uint32{0x02b579c7, 0x03a12cf1, 0x03633100, 0x00ec27dd, 0x0314f67c, 0x0085ee90, 0x01fbd4bf, 0x01f8bda5, 0x01b2c3fc, 0x0026278a}}, Y: Field{[10]uint32{0x0221c888, 0x0143bf6d, 0x02771172, 0x010c0708, 0x01ed003a, 0x005f6abe, 0x034f3e99, 0x000a5c0a, 0x01280cd0, 0x0018229b}}}, + {X: Field{[10]uint32{0x033494a5, 0x00192fc1, 0x017f1c81, 0x0173a502, 0x0249b4bd, 0x0164d2b0, 0x00e979b0, 0x029674ec, 0x03c44295, 0x0030e317}}, Y: Field{[10]uint32{0x01d1e2fb, 0x00118b58, 0x02ecb760, 0x01c5f2fb, 0x031d1dbc, 0x003af059, 0x00e471ae, 0x02cda992, 0x03f6d354, 0x00058902}}}, + {X: Field{[10]uint32{0x03a7a63b, 0x0304e3c3, 0x037e1546, 0x01adeb61, 0x0207dc65, 0x031963be, 0x0341d8c5, 0x0011b162, 0x026735c4, 0x0037a73d}}, Y: Field{[10]uint32{0x006639ac, 0x021b78d4, 0x00cb7575, 0x039f66e5, 0x03ecc19d, 0x01120042, 0x03729275, 0x018b8f88, 0x024fba91, 0x000bf0a0}}}, + {X: Field{[10]uint32{0x02c06522, 0x0110303d, 0x023c4c8c, 0x002119d6, 0x03f1dd9e, 0x0230cf27, 0x01d84b38, 0x0022d41e, 0x0137e567, 0x0000933f}}, Y: Field{[10]uint32{0x002af897, 0x00eb1e71, 0x01f00738, 0x01ab36df, 0x021aee67, 0x016b219c, 0x034d2895, 0x00055ed2, 0x00ea0982, 0x00072f32}}}, + {X: Field{[10]uint32{0x007cc121, 0x00858e7a, 0x01ed7264, 0x023d8990, 0x012b275d, 0x038247a7, 0x00414a95, 0x02e6d8bd, 0x01086ad8, 0x00275b8c}}, Y: Field{[10]uint32{0x02d3abe0, 0x025e6dba, 0x01bca757, 0x02d379d4, 0x0043c46a, 0x029d0f3c, 0x02b59ad5, 0x0299f536, 0x000a6792, 0x002e491c}}}, + {X: Field{[10]uint32{0x0209354d, 0x02f82021, 0x01d38673, 0x00b749d9, 0x0374aea2, 0x023b4e37, 0x01c21e53, 0x020e55ce, 0x01ae28b2, 0x00014aa2}}, Y: Field{[10]uint32{0x00334e51, 0x0316c7b6, 0x01708089, 0x035661ed, 0x01469b06, 0x01dacbd8, 0x03cccd20, 0x020c2f4d, 0x01579b65, 0x003060fb}}}, + {X: Field{[10]uint32{0x0227571d, 0x034d0836, 0x0255046b, 0x0230b05c, 0x01cda3bf, 0x01c9f2bd, 0x03f5d31d, 0x00601c90, 0x0272491d, 0x000bff4c}}, Y: Field{[10]uint32{0x035b6ad5, 0x03326994, 0x01d52131, 0x02d74d06, 0x00599934, 0x037abbd6, 0x01e48be6, 0x02ccd28c, 0x03bd6f38, 0x00204ba3}}}, + {X: Field{[10]uint32{0x00973fca, 0x02567167, 0x022f2eba, 0x02709c19, 0x0265df68, 0x02c64ec5, 0x0251b66d, 0x0290e8d7, 0x02094269, 0x00175831}}, Y: Field{[10]uint32{0x010efadc, 0x03c7d221, 0x0048a3af, 0x02165a71, 0x006d3b92, 0x03d03350, 0x031bb7e3, 0x035864ac, 0x024fd1af, 0x003d644c}}}, + {X: Field{[10]uint32{0x0112ff75, 0x029ad2cf, 0x00d0ae6d, 0x03e615e1, 0x004c86da, 0x00706d58, 0x0026340e, 0x00cd4fd1, 0x000abfe5, 0x0008f831}}, Y: Field{[10]uint32{0x00191d9d, 0x0085444a, 0x03827f99, 0x01e66eb3, 0x00f19d5a, 0x02032851, 0x01baf682, 0x0024a824, 0x00b5fc86, 0x003a4211}}}, + {X: Field{[10]uint32{0x006094f6, 0x0221739f, 0x02bb1155, 0x01e4c2f4, 0x0050e67d, 0x03cdf6a0, 0x02f20d77, 0x00704b29, 0x00ab5d4a, 0x00251606}}, Y: Field{[10]uint32{0x02695e03, 0x00735592, 0x03b6f9a1, 0x018febf2, 0x0032ca81, 0x03b7b6d8, 0x0269c969, 0x02b9b6a9, 0x01d0e2f9, 0x002d7cb0}}}, + {X: Field{[10]uint32{0x00724c8c, 0x03b363f6, 0x0124bc41, 0x0175881b, 0x015043be, 0x00335ef3, 0x03a469ca, 0x02fda861, 0x037d2586, 0x00347d36}}, Y: Field{[10]uint32{0x02206839, 0x0296b384, 0x03365a1c, 0x02ac071b, 0x02b1525e, 0x00a4a719, 0x0080ce9b, 0x01dd2ef5, 0x038277c4, 0x00190153}}}, + {X: Field{[10]uint32{0x0014a18d, 0x01fd3b3b, 0x01e1860f, 0x00a973dd, 0x01158b4f, 0x010a8f44, 0x005f2d5b, 0x01ba706a, 0x014f2458, 0x0013d713}}, Y: Field{[10]uint32{0x00efdbe5, 0x02d28c6c, 0x03350986, 0x027a5c3e, 0x021e48bb, 0x01ffefb0, 0x013be2be, 0x01e581a5, 0x02716d54, 0x0015d5db}}}, + {X: Field{[10]uint32{0x0198150a, 0x01032e52, 0x02118c38, 0x031407a6, 0x013f8edf, 0x0393e40f, 0x023cf5c5, 0x00510f62, 0x005bdcb3, 0x00304ed8}}, Y: Field{[10]uint32{0x02cb8435, 0x000f2c85, 0x022b52f6, 0x0127d064, 0x006c368e, 0x0122c070, 0x022a8ea9, 0x03efd4b9, 0x02af99f1, 0x0023738b}}}, + {X: Field{[10]uint32{0x0029cbb6, 0x01d33409, 0x01753391, 0x019b899a, 0x03a3df24, 0x0073bad6, 0x024a5b5a, 0x00953925, 0x032ab66f, 0x00064dec}}, Y: Field{[10]uint32{0x02f2e385, 0x0005ce03, 0x0022bb57, 0x01e604f8, 0x030181e0, 0x00fffec6, 0x00eabb05, 0x001d72ef, 0x00a06f1b, 0x0025c4ac}}}, + {X: Field{[10]uint32{0x019ba2e4, 0x0186c1d0, 0x004d747e, 0x036deb4b, 0x00d757bb, 0x00ef87d6, 0x00ef386c, 0x01cbcc21, 0x033f2f17, 0x0039294c}}, Y: Field{[10]uint32{0x036b6f56, 0x00529eb2, 0x00c7c5af, 0x03326f05, 0x02132571, 0x02f05590, 0x009b7178, 0x0392e40e, 0x01a72ec2, 0x003a13df}}}, + {X: Field{[10]uint32{0x0206cca6, 0x03f6d2d5, 0x00dcffc7, 0x0106b855, 0x01d57a83, 0x03304217, 0x000a0cf5, 0x00aa3142, 0x00b0a3f4, 0x000be28e}}, Y: Field{[10]uint32{0x024681c1, 0x03ce31a3, 0x024f1134, 0x00b86c49, 0x002fa2a7, 0x03bb58a5, 0x0008d9c4, 0x0076d959, 0x02a52c30, 0x0021d931}}}, + {X: Field{[10]uint32{0x01a55ff7, 0x015c4aa0, 0x0070b873, 0x0266e106, 0x02acd145, 0x033aad7f, 0x00585b63, 0x00b5dedb, 0x01c2c51c, 0x0000f4af}}, Y: Field{[10]uint32{0x02d3e9e0, 0x02e3736d, 0x035e9496, 0x00da8fa2, 0x00922460, 0x0011db91, 0x01a808ff, 0x018f7ea6, 0x01adbbe2, 0x000cfdd2}}}, + {X: Field{[10]uint32{0x03ab7d3a, 0x03cf307b, 0x01b3e6e5, 0x00548b6f, 0x021ecec2, 0x00afe8f8, 0x02b9acf6, 0x01338cdd, 0x0008d676, 0x003f21fe}}, Y: Field{[10]uint32{0x0035176a, 0x032e5c4a, 0x00581717, 0x0093386f, 0x01c03430, 0x014292b0, 0x0015dd87, 0x03e4ddc2, 0x0303c1f4, 0x00339d7a}}}, + {X: Field{[10]uint32{0x031e68d5, 0x009c2fd6, 0x02cb4374, 0x014871f9, 0x01323549, 0x03326121, 0x00885dc0, 0x03847afa, 0x005c62de, 0x001fe06e}}, Y: Field{[10]uint32{0x029c4558, 0x0034a9da, 0x017f3ad7, 0x012bb572, 0x011750aa, 0x025b3dce, 0x01ba062d, 0x036d8705, 0x037d6a84, 0x002deb7b}}}, + {X: Field{[10]uint32{0x01fd5557, 0x022e40f8, 0x0288c826, 0x0224f085, 0x0233cc8f, 0x018bbe47, 0x01d8f47f, 0x00eb97a3, 0x003f7afd, 0x00358635}}, Y: Field{[10]uint32{0x00cd34b8, 0x02f2a9b8, 0x03fb4fc5, 0x0237f230, 0x0042ce9e, 0x024031f9, 0x03212679, 0x02e6c20a, 0x017b0c8a, 0x00186020}}}, + {X: Field{[10]uint32{0x016e4940, 0x03e532e2, 0x009310cc, 0x02f37ddb, 0x03694430, 0x020e0ee6, 0x03f540fc, 0x026c1b6b, 0x004ff237, 0x002e9693}}, Y: Field{[10]uint32{0x0107b1f2, 0x001d6a3f, 0x0128db91, 0x03954d29, 0x0325299d, 0x03cba4cc, 0x01309b24, 0x0239bd3b, 0x011a0b13, 0x000e8887}}}, + {X: Field{[10]uint32{0x00cfdf56, 0x00a7e8c6, 0x018abcec, 0x025720c2, 0x03801363, 0x02cd6eb0, 0x03591415, 0x00dd1a20, 0x01b60bee, 0x0031a462}}, Y: Field{[10]uint32{0x0339268c, 0x022f5275, 0x0279c582, 0x0078a6de, 0x019795e6, 0x038d01ec, 0x00232fa7, 0x0368eb37, 0x03c2b862, 0x00286176}}}, + {X: Field{[10]uint32{0x00efae12, 0x00dccb07, 0x02d71bcd, 0x021a1f96, 0x0270dffd, 0x0267500e, 0x0063423b, 0x02d006ae, 0x0144032f, 0x00147d9f}}, Y: Field{[10]uint32{0x01e10e59, 0x02cb6518, 0x01f5ca8e, 0x00fe2993, 0x020403e2, 0x032fc859, 0x00ae68a3, 0x00128caf, 0x0085a2c4, 0x00222c5d}}}, + {X: Field{[10]uint32{0x037c4bd5, 0x02fb9b7a, 0x00a36fa8, 0x005fb4f3, 0x016001e1, 0x0252e2d9, 0x006fb69a, 0x017e350d, 0x0209e558, 0x00336b3f}}, Y: Field{[10]uint32{0x02028542, 0x0211249b, 0x01ecefdb, 0x000d6515, 0x03af5fc4, 0x0019a675, 0x00121762, 0x00c74056, 0x005a9931, 0x00377c6f}}}, + {X: Field{[10]uint32{0x03f0e769, 0x00cf24e2, 0x01be319f, 0x02874598, 0x00481eaa, 0x033a4222, 0x0301d70c, 0x0391da71, 0x0371e1fc, 0x00204a79}}, Y: Field{[10]uint32{0x0045c6e2, 0x002a05bc, 0x02d700d4, 0x0226d511, 0x038a4db1, 0x01d259ab, 0x02d8b6f9, 0x02f158e7, 0x013da864, 0x000fad5c}}}, + {X: Field{[10]uint32{0x02bce3ab, 0x004cafd6, 0x009ada68, 0x02abe0a2, 0x00f39c14, 0x02a9cc35, 0x002fc0f8, 0x016f03cc, 0x02ef6d41, 0x002e5c18}}, Y: Field{[10]uint32{0x013db3a6, 0x003cc4f5, 0x02829049, 0x03954445, 0x006644c9, 0x0148891f, 0x00dfdd38, 0x0324f3f6, 0x0288cd76, 0x0022b5c1}}}, + {X: Field{[10]uint32{0x030bd913, 0x01a853d3, 0x03ca422a, 0x03b14552, 0x0250de67, 0x013a1af9, 0x01d6af8c, 0x006d7fa9, 0x018b4e81, 0x000670f2}}, Y: Field{[10]uint32{0x0190a109, 0x01d1bea8, 0x027bdd5d, 0x017a491d, 0x03c18b9d, 0x021425f2, 0x021b5c73, 0x03264cc3, 0x039648bd, 0x002f148f}}}, + {X: Field{[10]uint32{0x01b42b9c, 0x026cf0ad, 0x0355967a, 0x01efbf98, 0x020ad769, 0x02244638, 0x02be43f8, 0x03b9d2c7, 0x00c73616, 0x002e7bcd}}, Y: Field{[10]uint32{0x03661bea, 0x003a9a16, 0x022543b7, 0x02a8d5c3, 0x02e8dc05, 0x03988e54, 0x01be2715, 0x006b06e2, 0x01ddd55b, 0x0004bc73}}}, + {X: Field{[10]uint32{0x0103c34a, 0x03b6e5fd, 0x02ca86e8, 0x00faf7ae, 0x0359dd2a, 0x01b61371, 0x039c39a9, 0x0336d603, 0x034f58e2, 0x001dc638}}, Y: Field{[10]uint32{0x03e96df7, 0x019ec400, 0x03093135, 0x00a23838, 0x01cf5e37, 0x0312f45f, 0x01cd8f96, 0x0106e04b, 0x01fbdc08, 0x0029b441}}}, + {X: Field{[10]uint32{0x037e8dba, 0x03321c71, 0x02ed621f, 0x02c62bed, 0x01e259c1, 0x034d68da, 0x03ba89b8, 0x039cdd8e, 0x004b8e6d, 0x0036ace2}}, Y: Field{[10]uint32{0x00a11577, 0x00e89e05, 0x0153ee50, 0x0024abbe, 0x01c9316e, 0x036d2802, 0x02bd4b5e, 0x00b508ae, 0x0329c59a, 0x003d12db}}}, + {X: Field{[10]uint32{0x027f4366, 0x03b6ac79, 0x00a1876a, 0x0147a11f, 0x03a67367, 0x02d6f9b7, 0x026a8978, 0x01e0b797, 0x02101139, 0x0032cf43}}, Y: Field{[10]uint32{0x0157d3ea, 0x03e5c26f, 0x010cf189, 0x019da705, 0x01572aff, 0x03923c76, 0x0169b33b, 0x0250f99e, 0x008dd227, 0x0009ffa2}}}, + {X: Field{[10]uint32{0x00c3c6a0, 0x01fecefa, 0x0279fcca, 0x0191ba8b, 0x03656ea5, 0x03d8ad2d, 0x01193dbb, 0x02750423, 0x03f85561, 0x003ac6c7}}, Y: Field{[10]uint32{0x02282ea4, 0x0340f258, 0x027a5ced, 0x00e926cc, 0x01d36ae9, 0x000e1159, 0x01137414, 0x0357075c, 0x00c75b73, 0x00309fe8}}}, + {X: Field{[10]uint32{0x0039c5dd, 0x0025e187, 0x03aeb587, 0x03cf4b95, 0x00bee8f9, 0x00eadaf7, 0x01a11170, 0x003c47dd, 0x01e60bc4, 0x0017541e}}, Y: Field{[10]uint32{0x006e46d0, 0x02048851, 0x02bab805, 0x0378061c, 0x014d8435, 0x02f9ef7e, 0x025829b4, 0x02e75775, 0x012ba40d, 0x00052b84}}}, + {X: Field{[10]uint32{0x01a7b38e, 0x03f302a8, 0x00502384, 0x023780c0, 0x01b70809, 0x02c852ec, 0x028acd26, 0x01abc1b4, 0x02f76beb, 0x00004183}}, Y: Field{[10]uint32{0x03bdf9a3, 0x003b1230, 0x022e275d, 0x0015481f, 0x0334252c, 0x028860f5, 0x005464da, 0x03190a56, 0x039ff6c6, 0x0033903c}}}, + {X: Field{[10]uint32{0x02170695, 0x008e1cea, 0x03e1afd7, 0x0251c358, 0x01e7bcc8, 0x0309d14a, 0x007c271a, 0x03dcc625, 0x0063c001, 0x00259471}}, Y: Field{[10]uint32{0x0254eaf7, 0x00dfec39, 0x0154d218, 0x01e96a6c, 0x013b16ba, 0x022d8f26, 0x016d17fe, 0x001b69cf, 0x027fe8ff, 0x00138d8b}}}, + {X: Field{[10]uint32{0x03363dcc, 0x00a3c9c7, 0x0000ee09, 0x01334891, 0x01895cda, 0x02d0a2c6, 0x02822cdc, 0x0086d0bd, 0x03765928, 0x0017108a}}, Y: Field{[10]uint32{0x012b9400, 0x017f3d92, 0x0148444e, 0x036054a0, 0x014cb6b4, 0x03db01fd, 0x008258f0, 0x01df28d1, 0x034f9e4c, 0x000bf6d3}}}, + {X: Field{[10]uint32{0x01faba2c, 0x009364ea, 0x003d2b72, 0x029b353d, 0x02ab3868, 0x0114b312, 0x023ce519, 0x009435ce, 0x012b5d98, 0x0036c51f}}, Y: Field{[10]uint32{0x010ed0de, 0x02469e81, 0x009258a3, 0x03f81931, 0x009fdebf, 0x01ca65a1, 0x0343227a, 0x01ab37e8, 0x0380ad3c, 0x001cc950}}}, + {X: Field{[10]uint32{0x01454b4c, 0x0345b2f9, 0x01384a41, 0x009bb613, 0x01e1beca, 0x02207a26, 0x02237678, 0x02ff4594, 0x03a0f97a, 0x002699d8}}, Y: Field{[10]uint32{0x0090306a, 0x028074ce, 0x03cb2737, 0x01d64b22, 0x00e7952f, 0x00420a42, 0x031a3d55, 0x01605ccb, 0x007db6aa, 0x002ed450}}}, + {X: Field{[10]uint32{0x025daea8, 0x02da8003, 0x0400007d, 0x027a3147, 0x0007b45a, 0x03e53d61, 0x025c889e, 0x022bd3d3, 0x0133e910, 0x000dbf9e}}, Y: Field{[10]uint32{0x01227ee5, 0x0216ed09, 0x019e27fc, 0x02ed9ad1, 0x031943c7, 0x01c78570, 0x003a0f4a, 0x01688723, 0x01baecdd, 0x00340929}}}, + {X: Field{[10]uint32{0x03c784e7, 0x0155a28e, 0x006afc44, 0x03a96dce, 0x0144c749, 0x01d4a5a0, 0x02782fb8, 0x01f9a033, 0x0263f04f, 0x001036b9}}, Y: Field{[10]uint32{0x0355050b, 0x00445d95, 0x02bb9478, 0x011d12c5, 0x02cea2ab, 0x008f3c94, 0x0058c854, 0x03374009, 0x03fdac6b, 0x00126918}}}, + {X: Field{[10]uint32{0x01c5b8d1, 0x017272eb, 0x00a7542c, 0x02e9e7ea, 0x01da55fa, 0x0056bf67, 0x00c6d10b, 0x03cec23a, 0x016dc8ff, 0x0002e858}}, Y: Field{[10]uint32{0x00a786ff, 0x006ac96c, 0x01019764, 0x01797c38, 0x02771045, 0x0328256c, 0x025a3ace, 0x00f19865, 0x0042a623, 0x003bc25b}}}, + {X: Field{[10]uint32{0x019c4a66, 0x00b409d8, 0x01e7da70, 0x001417ee, 0x03d69b4a, 0x02f1c49c, 0x028c948d, 0x01254935, 0x036723a5, 0x000c121b}}, Y: Field{[10]uint32{0x02444c76, 0x00fb2eb0, 0x01ab6574, 0x01b66812, 0x01fd6acc, 0x011c292e, 0x02a63695, 0x03270217, 0x014d279e, 0x000e3293}}}, + {X: Field{[10]uint32{0x01e6932a, 0x0096f236, 0x0197090f, 0x024e6a27, 0x02d6accd, 0x03b0a809, 0x0367174d, 0x03475603, 0x029495ea, 0x0006e0fb}}, Y: Field{[10]uint32{0x02e20196, 0x0212f075, 0x03e0e345, 0x00d270ac, 0x033d2630, 0x00b9f43a, 0x0373d6da, 0x01214786, 0x0048fb5e, 0x000065b5}}}, + {X: Field{[10]uint32{0x03517396, 0x003c432d, 0x0264f2e3, 0x00c8053b, 0x01328b61, 0x03055e76, 0x02766715, 0x016844be, 0x002eedfa, 0x0013aa77}}, Y: Field{[10]uint32{0x006e50c2, 0x023c3d6c, 0x02c9c21e, 0x036741b2, 0x00d4a192, 0x00066d07, 0x003f0b14, 0x00f8a562, 0x03c96ef8, 0x001d053b}}}, + {X: Field{[10]uint32{0x02b033da, 0x025ff34b, 0x01b311a0, 0x024b572e, 0x02876777, 0x02d95d0d, 0x03217aa3, 0x02b4220e, 0x019dbee9, 0x001059b0}}, Y: Field{[10]uint32{0x02ed541c, 0x008dbadf, 0x001f8abc, 0x00ff4e36, 0x02b80e11, 0x02cdd6b1, 0x02b4d29a, 0x01aa9a4c, 0x025c5fae, 0x0018b141}}}, + {X: Field{[10]uint32{0x01a74899, 0x02ef82a1, 0x03f310a2, 0x021abe38, 0x02bbbc66, 0x034f4be5, 0x00511a87, 0x03d529a7, 0x03ebb112, 0x002c5d59}}, Y: Field{[10]uint32{0x009f52c2, 0x03f5cb53, 0x00bb1bdb, 0x008719c7, 0x03a69367, 0x02e24db7, 0x03fc6934, 0x02f952b8, 0x03413788, 0x003d99d8}}}, + {X: Field{[10]uint32{0x028095a5, 0x00ae2a6f, 0x0210212c, 0x02141408, 0x01a6df06, 0x00d44c4c, 0x01d81fdf, 0x01fcd022, 0x01152ab9, 0x00334ad9}}, Y: Field{[10]uint32{0x038f6a53, 0x024b8c79, 0x00bb45f4, 0x0212e1c0, 0x0322afff, 0x03513408, 0x02e40c72, 0x0064d457, 0x012f9ca4, 0x0033f9e5}}}, + {X: Field{[10]uint32{0x0218229f, 0x00c825cd, 0x0374a447, 0x01e4ebab, 0x032086c9, 0x001eb031, 0x0241a729, 0x0050280c, 0x03c49f33, 0x000dd580}}, Y: Field{[10]uint32{0x0385e837, 0x0058defa, 0x00699668, 0x004e1120, 0x03de08ba, 0x00025d76, 0x01ddb463, 0x029dcf84, 0x00f66322, 0x001eedd0}}}, + {X: Field{[10]uint32{0x03bb7432, 0x03c80bbb, 0x01632978, 0x0174b800, 0x017e1095, 0x00d0777a, 0x003c176f, 0x00f765b6, 0x03d4390a, 0x00040819}}, Y: Field{[10]uint32{0x039ba83e, 0x02068be0, 0x0322dafa, 0x03bdf9c1, 0x021d8b7e, 0x01aea77d, 0x0019f11b, 0x03330e9c, 0x03d54d28, 0x001f3db3}}}, + {X: Field{[10]uint32{0x0263081d, 0x01d89737, 0x01d544fb, 0x00bfa30b, 0x01374ef4, 0x022d23eb, 0x003042cf, 0x0314ee9c, 0x0273e3fb, 0x0011d85f}}, Y: Field{[10]uint32{0x01d439e8, 0x020bce70, 0x022a0e47, 0x019e1f0f, 0x0350cbae, 0x010f2abf, 0x0040f07f, 0x02a56ecb, 0x00230c92, 0x0007e93d}}}, + {X: Field{[10]uint32{0x03880f84, 0x0045d383, 0x034ca82e, 0x02f4c635, 0x0046b814, 0x038a2818, 0x017aac08, 0x01418a7d, 0x03af57f7, 0x000b10c6}}, Y: Field{[10]uint32{0x0209de50, 0x039631bc, 0x03adbb8e, 0x014ab162, 0x0262755a, 0x0214fd07, 0x00041089, 0x012ccb04, 0x03bc6857, 0x00376e79}}}, + {X: Field{[10]uint32{0x0343d599, 0x015c3760, 0x00b41338, 0x012c35dd, 0x033f4df4, 0x026dc22a, 0x0386b1f7, 0x02db9066, 0x02438143, 0x0024658d}}, Y: Field{[10]uint32{0x02312f0d, 0x008aa2dd, 0x00049696, 0x00d243d1, 0x00021be3, 0x01ae1eef, 0x0391d682, 0x02834a7e, 0x02177171, 0x00240d3b}}}, + {X: Field{[10]uint32{0x00b7754e, 0x013dfdf1, 0x02ddda4a, 0x0164ac05, 0x02028718, 0x015a0ec1, 0x00d42db9, 0x01b1ee0e, 0x0201af65, 0x002fca30}}, Y: Field{[10]uint32{0x0345d109, 0x02db7ce8, 0x00e20c50, 0x016ab0c8, 0x01ce6ffb, 0x01aac1a0, 0x0266c2f4, 0x00434aa2, 0x0304dda5, 0x0002ef53}}}, + {X: Field{[10]uint32{0x0118b137, 0x02d3cd65, 0x035a1bab, 0x00b296ba, 0x031aa426, 0x01663902, 0x01d531bf, 0x0097d138, 0x03860218, 0x003f2b1c}}, Y: Field{[10]uint32{0x02e67b64, 0x03fda154, 0x005936ff, 0x03fa1f9f, 0x037dcca7, 0x02e8dfbb, 0x032d1e41, 0x02fa87cf, 0x037a957b, 0x000ec65a}}}, + {X: Field{[10]uint32{0x026e9331, 0x0270775c, 0x01982302, 0x0326d1fb, 0x018ad89c, 0x0119fe02, 0x01f0278e, 0x03864850, 0x01dfcaae, 0x00273fa8}}, Y: Field{[10]uint32{0x00db211d, 0x00051ac6, 0x01f470b1, 0x03056dd7, 0x0096a071, 0x01421b8c, 0x010b6469, 0x03b8163f, 0x024e7f30, 0x001cb607}}}, + {X: Field{[10]uint32{0x021334da, 0x019bcd1a, 0x00e201e9, 0x014666e6, 0x00455c51, 0x00a00b0c, 0x01c7f21f, 0x014f1e59, 0x03421235, 0x0015234f}}, Y: Field{[10]uint32{0x016418ae, 0x025283a5, 0x0278a426, 0x02c40c44, 0x0208c0af, 0x016e51a1, 0x0138eeb1, 0x000f4a25, 0x0225cebb, 0x000184ba}}}, + {X: Field{[10]uint32{0x00295bc0, 0x022f759d, 0x01e22a6c, 0x015b18a3, 0x02ebd467, 0x02312643, 0x035c545e, 0x01309826, 0x019accf8, 0x00396f98}}, Y: Field{[10]uint32{0x01b08bf3, 0x00b8a81c, 0x01837a74, 0x033e6cd8, 0x0189e246, 0x02a162e4, 0x003aa74f, 0x006bdeb6, 0x00a57d84, 0x00190219}}}, + {X: Field{[10]uint32{0x01ac668f, 0x013a6ba8, 0x02209e19, 0x0037dcd3, 0x03a26046, 0x008da323, 0x028f733d, 0x03b52bba, 0x033e3400, 0x002d5824}}, Y: Field{[10]uint32{0x005f9da3, 0x0303008b, 0x028861b1, 0x03d378a6, 0x00ac0975, 0x033c5eef, 0x02ab1826, 0x01e14e7f, 0x013d3133, 0x00150e3e}}}, + {X: Field{[10]uint32{0x00cf60b1, 0x014aa887, 0x013c02c6, 0x025a30c5, 0x01dedf2d, 0x01d10cff, 0x03ecf7dd, 0x00f9e41d, 0x0297baca, 0x00087766}}, Y: Field{[10]uint32{0x0284797e, 0x001f3409, 0x038d917c, 0x0334d3d2, 0x01b851c4, 0x03683032, 0x019bbd7c, 0x02c2deda, 0x00e0e048, 0x00379b98}}}, + {X: Field{[10]uint32{0x01934bbd, 0x03ca403f, 0x03f37bca, 0x01d12327, 0x012f1478, 0x026f68c0, 0x01b0a52f, 0x010e6d32, 0x020c6d39, 0x00173e95}}, Y: Field{[10]uint32{0x01b11b06, 0x03feae69, 0x01a3235a, 0x034cfc37, 0x0129d5a5, 0x03a4dbca, 0x0156998c, 0x02566fcd, 0x02630cc1, 0x0031e49e}}}, + {X: Field{[10]uint32{0x026d4fc6, 0x00712da1, 0x02f49046, 0x039ed240, 0x016377af, 0x0253f325, 0x036204b3, 0x03350540, 0x01bb05ad, 0x00128ee5}}, Y: Field{[10]uint32{0x00e84f2f, 0x03402bea, 0x000232a0, 0x01ef7dc2, 0x018d6be4, 0x036e4e1f, 0x009179a4, 0x00793302, 0x02e2f1bd, 0x0035678f}}}, + {X: Field{[10]uint32{0x01f4671f, 0x012dd94d, 0x03d4a81c, 0x002b736c, 0x03404edb, 0x03741bc5, 0x0006b7ba, 0x01a7244f, 0x03130b4c, 0x00331268}}, Y: Field{[10]uint32{0x007bc278, 0x015ea25a, 0x011b24dd, 0x0054b1ea, 0x02ba4837, 0x034dd564, 0x036c1943, 0x01497abc, 0x02ecc35e, 0x0012f5c8}}}, + {X: Field{[10]uint32{0x00146d98, 0x00993335, 0x03d3740b, 0x0300637c, 0x00e07fda, 0x0362d3b8, 0x00f4f900, 0x029a7673, 0x005a7426, 0x00275d42}}, Y: Field{[10]uint32{0x00c4b0a9, 0x01b8f08b, 0x01ae6a4f, 0x03a4fe50, 0x01ce174a, 0x0392519f, 0x0372f44d, 0x02ccb411, 0x0253de04, 0x00016644}}}, + {X: Field{[10]uint32{0x03210fb8, 0x02c341a0, 0x00d18b95, 0x003beb48, 0x02caa87c, 0x027c7864, 0x0312cf5d, 0x036b74ba, 0x00df737b, 0x0037f419}}, Y: Field{[10]uint32{0x0103805a, 0x0206e4a4, 0x0122613d, 0x0264fab8, 0x019f3172, 0x02404bf5, 0x00b1d2b8, 0x0234cc14, 0x003da5bf, 0x001467e2}}}, + {X: Field{[10]uint32{0x007eaf9a, 0x006040a0, 0x012e3bf6, 0x0209a170, 0x001cf205, 0x0198c62f, 0x009013ea, 0x01b0d758, 0x035cd235, 0x000ad428}}, Y: Field{[10]uint32{0x01c76335, 0x012aeac7, 0x000f6ce7, 0x00790d4e, 0x02fdf424, 0x026d60a7, 0x01f5a77d, 0x03bbfae0, 0x011d303a, 0x0001f42d}}}, + {X: Field{[10]uint32{0x005abbc7, 0x0207ea1a, 0x030c3704, 0x03ccc09f, 0x020f3202, 0x01673517, 0x02e2a594, 0x01d79f1d, 0x034b2cf1, 0x00389ba3}}, Y: Field{[10]uint32{0x02c2013a, 0x03dcbf0e, 0x02c0f194, 0x0389183a, 0x01716e5f, 0x025f0d37, 0x00767029, 0x0145854c, 0x03baaa0d, 0x001320b9}}}, + {X: Field{[10]uint32{0x010f87fb, 0x034d20d7, 0x00959b46, 0x0147e097, 0x031fd90e, 0x039e3701, 0x0184057c, 0x03615da9, 0x037d54f4, 0x001640f6}}, Y: Field{[10]uint32{0x029e99c8, 0x00200447, 0x020f3816, 0x01028637, 0x03febf94, 0x034635bd, 0x00003329, 0x0046791f, 0x03d3e9ce, 0x0031578b}}}, + {X: Field{[10]uint32{0x0125e9c1, 0x0254f513, 0x00204fde, 0x03b8a2e6, 0x021040e6, 0x00d4906d, 0x03881e96, 0x02a0b722, 0x02cd0342, 0x0012eec3}}, Y: Field{[10]uint32{0x00b0ef04, 0x006a320b, 0x02335821, 0x03a6d134, 0x00082e97, 0x0013a1e1, 0x02bee8d6, 0x0116dd4a, 0x00900f34, 0x00004bac}}}, + {X: Field{[10]uint32{0x03c4e8d2, 0x01543e52, 0x0175b647, 0x01f506e5, 0x02702996, 0x034c9e78, 0x026eb38f, 0x02fe5f1b, 0x015aae87, 0x00012891}}, Y: Field{[10]uint32{0x03936074, 0x0255541c, 0x01c474a5, 0x008be718, 0x0309af34, 0x009d85e3, 0x012bea1e, 0x02fb98b5, 0x02c4ffe3, 0x00168d02}}}, + {X: Field{[10]uint32{0x03477623, 0x032be1d4, 0x004ad1de, 0x02f77389, 0x0394470a, 0x001ed4c3, 0x00329c4c, 0x0066a953, 0x028dc8ca, 0x003c21b5}}, Y: Field{[10]uint32{0x00bdbd08, 0x00c25c6d, 0x03d8020d, 0x028a022b, 0x034d9e8b, 0x03121a6a, 0x03e4161c, 0x01abc596, 0x01d384a1, 0x00244712}}}, + {X: Field{[10]uint32{0x03ba856c, 0x027e486d, 0x00cb4c98, 0x03dca5e2, 0x01d4b7cd, 0x00257c6d, 0x0253f912, 0x01b13892, 0x037e83b7, 0x0013c6c5}}, Y: Field{[10]uint32{0x0180eaf2, 0x0111c15f, 0x03811e10, 0x01a43702, 0x0399debb, 0x02ee54d2, 0x03dc2ff5, 0x02426bf0, 0x004eb060, 0x002955a3}}}, + {X: Field{[10]uint32{0x03db5823, 0x00d0c0e5, 0x0154c765, 0x039fe99e, 0x01c4fb5a, 0x02211de3, 0x012fcbc0, 0x0391688f, 0x009929a7, 0x003aea1e}}, Y: Field{[10]uint32{0x01cbf68f, 0x00085e8b, 0x02afee73, 0x02985c92, 0x02801b26, 0x03c0ebe7, 0x03c46b47, 0x00245c27, 0x0329b357, 0x0039be31}}}, + {X: Field{[10]uint32{0x002282c2, 0x008ed8ea, 0x02e7d877, 0x00e62731, 0x03130ee5, 0x01111567, 0x01580844, 0x02969e4b, 0x031334c9, 0x0037c45e}}, Y: Field{[10]uint32{0x016f7120, 0x03959054, 0x035a8c9b, 0x0175388c, 0x001a2fc5, 0x02954447, 0x02c5492e, 0x00f144ab, 0x02578eea, 0x003761f2}}}, + {X: Field{[10]uint32{0x02ee82c5, 0x00c871b9, 0x01a68621, 0x0392ea80, 0x021f5768, 0x03d7da81, 0x02eaa1bd, 0x02ae200d, 0x003b3e68, 0x0035dd55}}, Y: Field{[10]uint32{0x0081436e, 0x00ea7b86, 0x02e18049, 0x01184141, 0x0027a2bf, 0x01065fe7, 0x02e7a26c, 0x01ce60f3, 0x030547c9, 0x001c0886}}}, + {X: Field{[10]uint32{0x0178515d, 0x00bfafd1, 0x024c7148, 0x01fff7c1, 0x025e006f, 0x02335632, 0x005c6116, 0x006b96af, 0x01d55a23, 0x0029fc43}}, Y: Field{[10]uint32{0x003c13b0, 0x025ea79c, 0x0031eb47, 0x03c835a7, 0x01b2c24a, 0x007664e6, 0x025eb38d, 0x025a5388, 0x03a7b66b, 0x00124a8c}}}, + {X: Field{[10]uint32{0x020120ec, 0x00dba718, 0x0205b05d, 0x02ce04b6, 0x020801c6, 0x01add211, 0x0336c86c, 0x02af6444, 0x01ef3119, 0x0031e551}}, Y: Field{[10]uint32{0x03c28718, 0x00813774, 0x00382bd7, 0x0313c485, 0x00738a33, 0x01f7a81b, 0x0073f8ef, 0x03ab9145, 0x00db95b6, 0x0009323f}}}, + {X: Field{[10]uint32{0x02c2cb11, 0x020f8314, 0x006ec8e7, 0x0359a888, 0x03afa14d, 0x03884128, 0x0043ba29, 0x02223d7e, 0x035e744f, 0x000262ea}}, Y: Field{[10]uint32{0x00b94df6, 0x030c34af, 0x03cbe0b2, 0x03518dab, 0x02a7abae, 0x0051af35, 0x01d929b8, 0x01fb6314, 0x019fe5e8, 0x0020ed5a}}}, + {X: Field{[10]uint32{0x00ac586e, 0x01d4bbf7, 0x00110547, 0x0212b099, 0x0160d84a, 0x00e77ffd, 0x0213053d, 0x02912b20, 0x00287b6f, 0x001b738a}}, Y: Field{[10]uint32{0x0237ed66, 0x03f18a78, 0x00a5cadc, 0x02654d5e, 0x00c79be3, 0x00197469, 0x032fa8dd, 0x0033116a, 0x022ab9d6, 0x000787ad}}}, + {X: Field{[10]uint32{0x023dfa83, 0x02c2b398, 0x030c1b7f, 0x037423db, 0x03db06a9, 0x02c92b63, 0x02b091b5, 0x01cf24c1, 0x0259287a, 0x00038e1a}}, Y: Field{[10]uint32{0x005b34e6, 0x02582a74, 0x00ed6852, 0x008508a1, 0x01c0d3b2, 0x0385bf35, 0x024ce899, 0x01929798, 0x03da663b, 0x00129f9c}}}, + {X: Field{[10]uint32{0x024fe4d5, 0x03aa89fa, 0x0118004b, 0x0060989b, 0x00cea0a3, 0x02e550eb, 0x00283fc9, 0x02f8c663, 0x0382e62f, 0x0023f7fd}}, Y: Field{[10]uint32{0x00086675, 0x008b4aab, 0x00708c52, 0x007d0c5f, 0x03a4f530, 0x0041fa21, 0x03ed6508, 0x03656d9c, 0x00719fe0, 0x003fbe3d}}}, + {X: Field{[10]uint32{0x012eaa37, 0x0381108a, 0x01089a10, 0x0310d722, 0x0136ed1c, 0x03a9593a, 0x03bb8b84, 0x02c52006, 0x03ae7842, 0x00132424}}, Y: Field{[10]uint32{0x025298dd, 0x02542829, 0x03426ea2, 0x00afe169, 0x03864236, 0x03a4d5bd, 0x02c0903f, 0x0117eb96, 0x033493d2, 0x000b5a0c}}}, + {X: Field{[10]uint32{0x03103a1b, 0x01b56e8c, 0x00f2fe86, 0x031bf5db, 0x01056318, 0x0381ca8d, 0x02b80f9b, 0x014aa764, 0x00c55c5c, 0x0033018d}}, Y: Field{[10]uint32{0x007f0b32, 0x03c2c234, 0x01e887e8, 0x01dc6da6, 0x004004aa, 0x01ff2180, 0x0236eb08, 0x02da79b4, 0x0141b13c, 0x001d42df}}}, + {X: Field{[10]uint32{0x03918255, 0x01bdc78e, 0x026569a5, 0x03b33fdd, 0x011d53c7, 0x033292b6, 0x0133f5f9, 0x01eb162f, 0x027341fa, 0x0025d269}}, Y: Field{[10]uint32{0x00916068, 0x01b3b61a, 0x00d870ec, 0x01a73e96, 0x025e68fd, 0x038df676, 0x012a2aaf, 0x031f59da, 0x01c1009d, 0x002da17c}}}, + {X: Field{[10]uint32{0x017d8e75, 0x00dded1a, 0x011bc9e0, 0x014dcaf6, 0x03a25bd2, 0x01f682c6, 0x0257fdcb, 0x018bc816, 0x00efb578, 0x002c12af}}, Y: Field{[10]uint32{0x01e168f6, 0x01405286, 0x03d4278b, 0x02bf6a39, 0x0262dcb8, 0x0362e6ef, 0x01b58690, 0x012f8d22, 0x026466ad, 0x001411e6}}}, + {X: Field{[10]uint32{0x01c78902, 0x0093a151, 0x01768226, 0x02df2012, 0x02295059, 0x0217c035, 0x023b3957, 0x03efb7c6, 0x01e85481, 0x003447df}}, Y: Field{[10]uint32{0x035c3416, 0x00cd961b, 0x039c3173, 0x032d1200, 0x02b48928, 0x00499a60, 0x03369d81, 0x004a4069, 0x0368be0c, 0x0007458c}}}, + {X: Field{[10]uint32{0x0356fd4b, 0x02e202d5, 0x02b90970, 0x0182ca6c, 0x02fd6151, 0x00ed8f2c, 0x03225af7, 0x031e9024, 0x01f465c4, 0x00288719}}, Y: Field{[10]uint32{0x0345ecfe, 0x01aa8c24, 0x0186c766, 0x03897de9, 0x0157f1e3, 0x001228a5, 0x01e34767, 0x039839f7, 0x0389394d, 0x001a689a}}}, + {X: Field{[10]uint32{0x02497a1f, 0x03bfb85a, 0x036a4fde, 0x022c61b1, 0x0036ccda, 0x029633b4, 0x003d3999, 0x00d83a49, 0x02fbb080, 0x0014f189}}, Y: Field{[10]uint32{0x002ac9b7, 0x01f86ddd, 0x036bbeda, 0x01eb1011, 0x0008264d, 0x00cd85aa, 0x01106fb9, 0x03fc7946, 0x000862a7, 0x002b6498}}}, + {X: Field{[10]uint32{0x00e6ff0e, 0x005b139d, 0x02870601, 0x00cc46dc, 0x0211d969, 0x01d07c42, 0x0364fcc8, 0x00eb6340, 0x01871b2a, 0x0033d9ed}}, Y: Field{[10]uint32{0x02b68422, 0x01b4a748, 0x03cae6d3, 0x01fc966a, 0x027be653, 0x033878c2, 0x00ac068c, 0x035d3bda, 0x037c10cc, 0x000b258e}}}, + {X: Field{[10]uint32{0x010b4bc7, 0x0335a9b2, 0x018d731e, 0x00a77a7d, 0x01364288, 0x00d33783, 0x01a89a4b, 0x021c00a7, 0x02d808cc, 0x00014085}}, Y: Field{[10]uint32{0x01e38b21, 0x0367e9d2, 0x01e0c123, 0x01f99549, 0x0236f65d, 0x02944b56, 0x02fce322, 0x01224637, 0x01f096bc, 0x00248307}}}, + {X: Field{[10]uint32{0x03d1aef3, 0x019b0f64, 0x001a2677, 0x02f789bb, 0x033d6000, 0x03de42bf, 0x00cc62da, 0x01beedec, 0x0194f468, 0x00076115}}, Y: Field{[10]uint32{0x0134d260, 0x0027e7cc, 0x0173425c, 0x00db35aa, 0x0092450b, 0x0211f71b, 0x01340351, 0x03680bbc, 0x03a6bd9d, 0x003ab846}}}, + {X: Field{[10]uint32{0x024785e1, 0x014aede7, 0x030c3d5c, 0x0295bdf9, 0x012e7750, 0x01678aad, 0x027d5908, 0x02e5f41d, 0x0350b6c5, 0x00046b53}}, Y: Field{[10]uint32{0x00023b94, 0x018f6d6a, 0x027ac4e2, 0x011befdf, 0x011826e8, 0x00533e9c, 0x0152496f, 0x03671408, 0x02368725, 0x000b0aee}}}, + {X: Field{[10]uint32{0x0149388c, 0x0090ac2f, 0x02e3d12b, 0x00965a75, 0x03f76ee4, 0x01820a87, 0x024a5198, 0x01cf84a6, 0x027cd723, 0x000d5a34}}, Y: Field{[10]uint32{0x0354fdb3, 0x031db561, 0x033daf04, 0x02360e73, 0x038eff10, 0x0042a395, 0x02356680, 0x01011c5b, 0x03a96d09, 0x00038db7}}}, + {X: Field{[10]uint32{0x017801d7, 0x028b05fc, 0x038abafa, 0x01caf702, 0x0246310f, 0x01c01dd0, 0x02abb919, 0x02743174, 0x033545e0, 0x000ddcaa}}, Y: Field{[10]uint32{0x0278884e, 0x01001082, 0x03260053, 0x02be3b6d, 0x00775693, 0x022c04b8, 0x03a50cda, 0x031d18b5, 0x028ceae0, 0x000948a6}}}, + {X: Field{[10]uint32{0x029274f2, 0x00153970, 0x0131fa13, 0x026747b8, 0x0244f3b2, 0x022e4eb4, 0x0224779c, 0x01c06b91, 0x024f72c4, 0x0020546c}}, Y: Field{[10]uint32{0x00bb6429, 0x035544ae, 0x00c9986e, 0x009134b9, 0x03734207, 0x0030a35d, 0x033fca05, 0x03586779, 0x030725ff, 0x001624e0}}}, + {X: Field{[10]uint32{0x01539c9a, 0x00d25197, 0x034c8692, 0x0076489f, 0x001b57a8, 0x0394dc20, 0x00597050, 0x007e3183, 0x015ad410, 0x0011a921}}, Y: Field{[10]uint32{0x01e36b59, 0x034f9a22, 0x00864bee, 0x00917faa, 0x039517ad, 0x038bc82e, 0x00117ae0, 0x01c6578b, 0x01cf2111, 0x0023e99b}}}, + {X: Field{[10]uint32{0x01803d16, 0x0224f185, 0x02d4f0fd, 0x017d3b38, 0x00efa7c4, 0x00e2f4a9, 0x0015001c, 0x013cf7bb, 0x01543e65, 0x0002e06f}}, Y: Field{[10]uint32{0x029d3e75, 0x00ae8053, 0x00c4a75d, 0x03f96a25, 0x032b3947, 0x03e4eda8, 0x00316228, 0x0269d8d1, 0x03aa3129, 0x000570fd}}}, + {X: Field{[10]uint32{0x012e7706, 0x03572b40, 0x01faba5c, 0x03c933f2, 0x01423f10, 0x01356200, 0x038c0549, 0x00c93491, 0x021cf2a0, 0x000f85a6}}, Y: Field{[10]uint32{0x01389135, 0x008d5886, 0x020f9869, 0x012ff2a4, 0x03004d45, 0x01c02d2f, 0x0069075a, 0x02b1f14d, 0x03ddd814, 0x00081016}}}, + {X: Field{[10]uint32{0x01a65956, 0x02f74b53, 0x02fdf534, 0x02e1510f, 0x03557f39, 0x0379866f, 0x027a1b8c, 0x02ccfc3d, 0x024ab161, 0x001d0a0f}}, Y: Field{[10]uint32{0x00b3df3a, 0x038da274, 0x03159bfe, 0x005c71de, 0x01380c17, 0x02205d13, 0x033ad2bc, 0x0170119d, 0x03e28978, 0x00088a5a}}}, + {X: Field{[10]uint32{0x026b756e, 0x00f68e7a, 0x00092bde, 0x02d37a0a, 0x021a617f, 0x02de5539, 0x01da0a23, 0x02f27ed9, 0x0386cb76, 0x00189c55}}, Y: Field{[10]uint32{0x02c2db32, 0x017f6414, 0x0317d34a, 0x01608787, 0x00eec54d, 0x03e65444, 0x0163337b, 0x028540ed, 0x03e38829, 0x000f09ee}}}, + {X: Field{[10]uint32{0x037c8aae, 0x0168001b, 0x01f739c5, 0x038b28d7, 0x002c93ae, 0x015659d0, 0x0336bc9d, 0x02e24e10, 0x0105db23, 0x00258800}}, Y: Field{[10]uint32{0x00a6ba26, 0x037e85e1, 0x03b19a2b, 0x03638ff4, 0x01ea41cd, 0x026197d2, 0x00307c5d, 0x00981320, 0x028d400a, 0x000c64a5}}}, + {X: Field{[10]uint32{0x031d13fb, 0x0365a5ad, 0x01c313aa, 0x00d5506d, 0x01317875, 0x02fe2cb1, 0x0052fb5c, 0x0246c233, 0x0398bd26, 0x002f51dd}}, Y: Field{[10]uint32{0x03ddfc3b, 0x01f8502a, 0x0150b6be, 0x00e5299b, 0x0351978b, 0x03139eca, 0x01dae500, 0x0000cf08, 0x01c9a4ab, 0x002f8ad4}}}, + {X: Field{[10]uint32{0x035289e7, 0x0270c151, 0x02b05903, 0x006bd4b6, 0x0070da10, 0x02ab19e2, 0x01490e83, 0x03e126ed, 0x0388e46f, 0x003e8524}}, Y: Field{[10]uint32{0x0067b2a7, 0x0080c2e2, 0x015e37f2, 0x03470613, 0x02c75af3, 0x03349a87, 0x032080ad, 0x0159d0ec, 0x037fa8d8, 0x00211555}}}, + {X: Field{[10]uint32{0x0391ba90, 0x00dab80c, 0x00e86ff4, 0x00f11c80, 0x028ab50d, 0x01e069c2, 0x03bfae73, 0x03fec752, 0x03830af1, 0x00108a36}}, Y: Field{[10]uint32{0x03a270a7, 0x01c7632d, 0x01637d40, 0x03252d2b, 0x032413dd, 0x0066f4b8, 0x01560b64, 0x03c28600, 0x010ab0e6, 0x001176c7}}}, + {X: Field{[10]uint32{0x0017c85c, 0x0187fcc2, 0x03d49f41, 0x026bf28a, 0x021dc3a3, 0x02da71a1, 0x0094c02e, 0x03d680f5, 0x0279fe0d, 0x002a5eac}}, Y: Field{[10]uint32{0x019bec7d, 0x00d72371, 0x022900e5, 0x0105ac72, 0x005d4b74, 0x0335b7bb, 0x032f99f7, 0x03785cf5, 0x00bff128, 0x001401b2}}}, + {X: Field{[10]uint32{0x004c668f, 0x011199a4, 0x02b63f8d, 0x011544d7, 0x039f27dc, 0x0067ee8d, 0x01a3a1cc, 0x03198538, 0x00576bdc, 0x0030351b}}, Y: Field{[10]uint32{0x03215f58, 0x0024db72, 0x03a71f19, 0x00bd1fff, 0x013d1917, 0x024f1d82, 0x017d7ccf, 0x02c940b2, 0x00a30b28, 0x000e5ad8}}}, + {X: Field{[10]uint32{0x01a8dbbd, 0x00cd8fec, 0x00e636de, 0x031b86e2, 0x020b7ae4, 0x01716f28, 0x01b8c2c2, 0x03e9f782, 0x03e04599, 0x001cf175}}, Y: Field{[10]uint32{0x007bc617, 0x005f689d, 0x01ea3faf, 0x037dbea3, 0x0309229a, 0x0310c759, 0x02986b00, 0x03590827, 0x008d558b, 0x000767b4}}}, + {X: Field{[10]uint32{0x024827a7, 0x00f227b8, 0x03ab7bbf, 0x01958ab4, 0x00b4788c, 0x006805d4, 0x0097c6ef, 0x01210e36, 0x001da2ef, 0x0000dc12}}, Y: Field{[10]uint32{0x020fa7b1, 0x0390d71d, 0x02aaa190, 0x02d14e16, 0x01ccf794, 0x00003c3c, 0x004acc33, 0x00640476, 0x0076c205, 0x002a22ce}}}, + {X: Field{[10]uint32{0x037807ec, 0x02206758, 0x01d54eda, 0x02fd926e, 0x02f2b68c, 0x00d1e42f, 0x01bb7d8d, 0x03c29267, 0x03033006, 0x000b72f8}}, Y: Field{[10]uint32{0x0290c1e1, 0x03d63dc6, 0x01bda5d6, 0x00f5613e, 0x02092cf4, 0x00fe8a35, 0x015de2df, 0x00ca7ae4, 0x02e3c7ab, 0x002e0ad1}}}, + {X: Field{[10]uint32{0x017bb4b7, 0x0110bd80, 0x023c908a, 0x0193e3d0, 0x0144052b, 0x0093de96, 0x035d957c, 0x01171778, 0x00a916db, 0x003d17cf}}, Y: Field{[10]uint32{0x029b5a96, 0x01a39808, 0x03fc1dad, 0x03de042e, 0x015b4a0f, 0x03193798, 0x01d6a795, 0x0135b368, 0x002fb315, 0x001e777c}}}, + {X: Field{[10]uint32{0x0387605e, 0x01fa5779, 0x02e934fe, 0x01af8ea6, 0x03ee1734, 0x01200954, 0x01c99bcc, 0x0159e919, 0x028bcad0, 0x0014032a}}, Y: Field{[10]uint32{0x0238370a, 0x01c318bc, 0x02a58f05, 0x0291fe08, 0x024e1bee, 0x00f77495, 0x019dccf7, 0x03235ab8, 0x02d075df, 0x0010211f}}}, + {X: Field{[10]uint32{0x024c3aff, 0x017bb135, 0x01557c52, 0x021dbea1, 0x037bcd8b, 0x008ee24e, 0x0346191e, 0x018b156d, 0x0186a239, 0x000c158a}}, Y: Field{[10]uint32{0x00577a53, 0x00dd41e0, 0x01fe9373, 0x02622975, 0x00e19d8d, 0x02ed5519, 0x020c0347, 0x014e0c6d, 0x02be41c4, 0x00000b56}}}, + {X: Field{[10]uint32{0x008e422e, 0x006383ad, 0x0078f63a, 0x00ada8c1, 0x01ec7238, 0x03879881, 0x013f690b, 0x01adca7b, 0x011a3252, 0x003da1f5}}, Y: Field{[10]uint32{0x01515704, 0x0384aadf, 0x01680211, 0x033a830b, 0x00f197e2, 0x00dac56f, 0x014da2ed, 0x013debf1, 0x033519c9, 0x003bf386}}}, + {X: Field{[10]uint32{0x01ca505d, 0x022133e8, 0x01018472, 0x029f7a99, 0x0322199e, 0x0002b9fa, 0x00e207e5, 0x00d47327, 0x03f0d385, 0x00041298}}, Y: Field{[10]uint32{0x00239cc5, 0x02b12a0c, 0x0267ce05, 0x03a4cf4b, 0x00a6de0b, 0x028a8bb7, 0x031600a0, 0x002cf16b, 0x008750b2, 0x001a7086}}}, + {X: Field{[10]uint32{0x0280fc6e, 0x02b268fa, 0x01c035e6, 0x02f50c0a, 0x02eb3d59, 0x03d34a56, 0x03963e2f, 0x023286af, 0x00994b7b, 0x00142598}}, Y: Field{[10]uint32{0x027287b1, 0x018eb7cc, 0x02519729, 0x029ef22b, 0x0256be56, 0x0152ba8f, 0x02116748, 0x0066c604, 0x01cd40d0, 0x00352162}}}, + {X: Field{[10]uint32{0x00513c95, 0x033e23d5, 0x02a0dd22, 0x027f4721, 0x007ac22e, 0x02c3cb1f, 0x0388e85e, 0x0384d475, 0x02e794e5, 0x000c41b5}}, Y: Field{[10]uint32{0x03a2bca0, 0x02612f4b, 0x00dfadbf, 0x02320b3a, 0x004ad288, 0x0001ab86, 0x02849d84, 0x02330a64, 0x013c0456, 0x00301796}}}, + {X: Field{[10]uint32{0x0059fdce, 0x0053db88, 0x01235e79, 0x010f79a0, 0x03d1081b, 0x00ee7973, 0x0376ac71, 0x02f73a13, 0x011c9977, 0x0013259f}}, Y: Field{[10]uint32{0x008968cd, 0x02f9457a, 0x010ee206, 0x000a8a3a, 0x00fcc10d, 0x00e971f7, 0x002cb098, 0x026dd057, 0x00b2a3e9, 0x0021991c}}}, + {X: Field{[10]uint32{0x02781a52, 0x03fe440e, 0x032b2e4a, 0x000bfd78, 0x01b4027b, 0x03d63d8b, 0x00bbb7fb, 0x01dd0476, 0x0099ae8d, 0x00258c64}}, Y: Field{[10]uint32{0x03947389, 0x03717d59, 0x00ed422e, 0x0136de1f, 0x03d776eb, 0x02ee8bc2, 0x03148f8d, 0x00a1268e, 0x00740daf, 0x001b0440}}}, + {X: Field{[10]uint32{0x00247ee7, 0x00c3e8d6, 0x028b3bdf, 0x00add65c, 0x02b97224, 0x016bd5bc, 0x017406d9, 0x01b3aa77, 0x032387a3, 0x001f24ee}}, Y: Field{[10]uint32{0x02989942, 0x03136667, 0x00e018f7, 0x03db8f59, 0x0017cb34, 0x02568389, 0x0201e168, 0x01f219b6, 0x02983348, 0x00087937}}}, + {X: Field{[10]uint32{0x03f1e074, 0x02a46541, 0x01cddc3b, 0x02edf1b7, 0x01c764da, 0x021e8c8a, 0x01db1433, 0x005861b6, 0x020388de, 0x00319792}}, Y: Field{[10]uint32{0x03ca658b, 0x01266ef3, 0x0017bdaa, 0x030bf5e1, 0x0202137b, 0x0311707e, 0x0225a457, 0x016ca33a, 0x01430800, 0x003561b4}}}, + {X: Field{[10]uint32{0x00d674d5, 0x0285f619, 0x00f354d9, 0x02c6a042, 0x00381b1f, 0x0076346e, 0x01a380c7, 0x021a4af3, 0x012490c2, 0x0036256a}}, Y: Field{[10]uint32{0x03de17f5, 0x013dd61f, 0x0373d980, 0x028ac02b, 0x01c7cf2b, 0x02ef3496, 0x02f5728d, 0x0004fde7, 0x02250a63, 0x0034c2f6}}}, + {X: Field{[10]uint32{0x03def988, 0x03fc7857, 0x0113227b, 0x00e8f1fc, 0x00c892e2, 0x018f47dc, 0x03fa1640, 0x02e6efeb, 0x003a5b36, 0x0024119f}}, Y: Field{[10]uint32{0x029b15a7, 0x0320207a, 0x01568946, 0x01dc78cf, 0x02205225, 0x0288ab5d, 0x03ccb41b, 0x01f66cf3, 0x01914024, 0x0013b1c0}}}, + {X: Field{[10]uint32{0x02294c7e, 0x032b5d0f, 0x019810ab, 0x01756369, 0x03b4d38e, 0x03d4fbf1, 0x03268f78, 0x000969eb, 0x01630d0e, 0x0017340f}}, Y: Field{[10]uint32{0x002dfb3e, 0x002dc3ed, 0x007811a1, 0x010cd376, 0x00f168e0, 0x03938392, 0x01510cfe, 0x035072ac, 0x036e5517, 0x0030dca7}}}, + {X: Field{[10]uint32{0x007e964b, 0x00028943, 0x02988fc7, 0x000be601, 0x008bf69c, 0x03cd88a5, 0x01d7629b, 0x03173a8f, 0x009c652b, 0x00144c31}}, Y: Field{[10]uint32{0x032cf563, 0x0070855b, 0x0336b738, 0x008c6af8, 0x03a027ef, 0x01e910c4, 0x01f98c7b, 0x036f4c26, 0x02194bc9, 0x001f91b8}}}, + {X: Field{[10]uint32{0x02dd34da, 0x011de5a3, 0x01dbcc54, 0x0157969f, 0x02261a31, 0x02e49204, 0x01473066, 0x0353a44e, 0x002a33b8, 0x00256267}}, Y: Field{[10]uint32{0x026b7cb3, 0x03166476, 0x00a41d4d, 0x02d24e82, 0x01bac79f, 0x02f83411, 0x027277b5, 0x000a4a7a, 0x02998424, 0x002259ef}}}, + {X: Field{[10]uint32{0x0089745f, 0x01b903bd, 0x026049dd, 0x00e0b9d7, 0x036e55d2, 0x006137f3, 0x00650c88, 0x03a4fdf1, 0x00138cb3, 0x0000e4a0}}, Y: Field{[10]uint32{0x00006a52, 0x00251c7e, 0x03799587, 0x0011bed0, 0x02056bdf, 0x00bc9556, 0x01bd6d47, 0x03ce8722, 0x0298b897, 0x001c2c97}}}, + {X: Field{[10]uint32{0x0380b451, 0x0223f0cb, 0x03997fa3, 0x0034f3f1, 0x01ba7207, 0x03fc4223, 0x010497cb, 0x02fb7392, 0x0331b5fd, 0x00291f84}}, Y: Field{[10]uint32{0x01576b19, 0x00999baa, 0x024ecec2, 0x01194884, 0x00062447, 0x028f32e7, 0x006c75bd, 0x00119502, 0x00befff0, 0x0032952e}}}, + {X: Field{[10]uint32{0x00cfb96a, 0x002fb478, 0x036c82d5, 0x032ed237, 0x03f1b325, 0x0020f3f4, 0x03bb1344, 0x01d4a0f2, 0x008e16c5, 0x00330698}}, Y: Field{[10]uint32{0x00cc6734, 0x0082a0ce, 0x03ab5551, 0x021ec092, 0x03591b8f, 0x02382484, 0x03b0c987, 0x02c89104, 0x024467d9, 0x0016e2b2}}}, + {X: Field{[10]uint32{0x03fc3cea, 0x003db0b0, 0x0191a5d7, 0x0075a6d6, 0x03b7438d, 0x036cef78, 0x024d1df2, 0x02ebadeb, 0x03c7591e, 0x00360d52}}, Y: Field{[10]uint32{0x02ab5ad3, 0x019bc227, 0x03a31fe2, 0x031ca601, 0x017d95af, 0x01d646fb, 0x00227039, 0x03c0fca5, 0x02936765, 0x003bf225}}}, + {X: Field{[10]uint32{0x01def8aa, 0x038f68a3, 0x01d6ff2a, 0x007138ff, 0x03481ee2, 0x03681d91, 0x02ef42e6, 0x01d02c84, 0x0163ceb2, 0x001ab072}}, Y: Field{[10]uint32{0x01164281, 0x02fcfa39, 0x00d9fb1b, 0x035c2844, 0x00c52140, 0x017c80c7, 0x0053c94f, 0x016b8915, 0x00171b6d, 0x00013f22}}}, + {X: Field{[10]uint32{0x0318b42d, 0x034b91db, 0x035c4ddd, 0x00f42803, 0x0274d4da, 0x01e3ecdb, 0x00474697, 0x010523e7, 0x0359b52e, 0x002f84c3}}, Y: Field{[10]uint32{0x03c47069, 0x0263707e, 0x01516093, 0x02e51912, 0x01c5b9f8, 0x030737d8, 0x02a7d761, 0x02962808, 0x01e2f739, 0x0005b736}}}, + {X: Field{[10]uint32{0x0063bd2f, 0x031e79b0, 0x00f3ffc3, 0x03e47e7d, 0x0124ee71, 0x018996ec, 0x0356e599, 0x012955a2, 0x00cc3986, 0x001a176e}}, Y: Field{[10]uint32{0x02b50f29, 0x02eb9721, 0x03493037, 0x02fe69d7, 0x0122b396, 0x016f8c08, 0x0333b8e0, 0x00bdf0b4, 0x01418e5b, 0x001cc29c}}}, + {X: Field{[10]uint32{0x01d743ae, 0x019bb995, 0x024eaaad, 0x02bf3c3b, 0x030f31f9, 0x026f0626, 0x025e564b, 0x01306838, 0x03f389f7, 0x000e7d07}}, Y: Field{[10]uint32{0x026c8622, 0x03948375, 0x018d88e1, 0x02cbb7e7, 0x0126fdae, 0x00ce3dce, 0x030aad09, 0x013fb94f, 0x036de25d, 0x003efa83}}}, + {X: Field{[10]uint32{0x0020ed1f, 0x02c82313, 0x01f28b12, 0x018b2fd6, 0x03c29b1b, 0x0120ef03, 0x00737b3d, 0x0258e665, 0x017441bc, 0x0035e9a5}}, Y: Field{[10]uint32{0x025ba8cb, 0x0358c6c1, 0x024ceef2, 0x027d07e0, 0x0291eea2, 0x02e68f41, 0x007ca251, 0x00563a70, 0x02dacdf8, 0x00339138}}}, + {X: Field{[10]uint32{0x01eaec9a, 0x010e57b0, 0x030ba491, 0x00717f7c, 0x0022f598, 0x00acde21, 0x02867934, 0x032edcaf, 0x01609139, 0x00216eb4}}, Y: Field{[10]uint32{0x0314dfec, 0x01a92173, 0x038db419, 0x031e10e0, 0x02362055, 0x038ff8fa, 0x01c57e88, 0x01dacac9, 0x006129e5, 0x00267f35}}}, + {X: Field{[10]uint32{0x03ea49e5, 0x007ae008, 0x0372d51a, 0x03f90842, 0x0174d986, 0x03c5f682, 0x002ffbe8, 0x0285648f, 0x02c4d428, 0x0008e02e}}, Y: Field{[10]uint32{0x02d6f54b, 0x02ac1d17, 0x0065e5a6, 0x016f4824, 0x033ca101, 0x013512ee, 0x01e38bfc, 0x031fd791, 0x0313fde4, 0x003d2bdc}}}, + {X: Field{[10]uint32{0x024f9cf2, 0x030a7f4d, 0x00e9e46f, 0x03ee253d, 0x0397c1ac, 0x0088480a, 0x019108df, 0x0077438d, 0x0359b7d6, 0x00301584}}, Y: Field{[10]uint32{0x027d83dd, 0x0004c9f4, 0x0092e029, 0x000f3b3d, 0x0275b161, 0x01433acc, 0x03ea5ff3, 0x02a7d8b3, 0x01801c72, 0x000f0ddf}}}, + {X: Field{[10]uint32{0x020c2a06, 0x010e3124, 0x00fc64ed, 0x00102962, 0x0276481c, 0x026ee96c, 0x01181d30, 0x013cabae, 0x01c10b8f, 0x001cb126}}, Y: Field{[10]uint32{0x02b1ce53, 0x000490ec, 0x01e7a72d, 0x03fecc11, 0x02f05ff8, 0x03e0af06, 0x034867b1, 0x014c50a8, 0x008e6082, 0x001b2653}}}, + {X: Field{[10]uint32{0x03cf477d, 0x0081153f, 0x026f884e, 0x0272d77c, 0x0166e02c, 0x001bfad1, 0x038e2f3f, 0x018827e3, 0x00be02b6, 0x00237a13}}, Y: Field{[10]uint32{0x002a34a6, 0x002e64dd, 0x03379641, 0x010a8067, 0x02ac9e85, 0x028edeb0, 0x0348e986, 0x01f621a4, 0x0280c4d0, 0x0031fcbd}}}, + {X: Field{[10]uint32{0x001710f2, 0x00b44b90, 0x034427d0, 0x03b98f17, 0x029a2d02, 0x021ae74b, 0x02c80488, 0x035d8b96, 0x01d86581, 0x0036ffb2}}, Y: Field{[10]uint32{0x00daafea, 0x0221a370, 0x03c90004, 0x02a26284, 0x01b46496, 0x00199236, 0x005acb59, 0x02c6b2a2, 0x03f9827b, 0x001b9847}}}, + {X: Field{[10]uint32{0x01d0453d, 0x015bc8f4, 0x037f9f24, 0x00a8a455, 0x039588dc, 0x00aab9ac, 0x010ade78, 0x03b746cf, 0x01f86099, 0x00277594}}, Y: Field{[10]uint32{0x02715ebd, 0x0282c17b, 0x018455f5, 0x017e6184, 0x03cd3f90, 0x03edb5dc, 0x00be81ad, 0x02183806, 0x0217f0d7, 0x0013db6d}}}, + {X: Field{[10]uint32{0x03d66a15, 0x00982fe6, 0x033d1926, 0x03cbe8bc, 0x02356445, 0x039823e5, 0x037a885e, 0x0378d79d, 0x021ac869, 0x000bf605}}, Y: Field{[10]uint32{0x01307f25, 0x02d3203f, 0x03daa7c6, 0x028825e1, 0x0398c6e7, 0x00b798d1, 0x00163eb1, 0x00b64ad9, 0x01e9674c, 0x00074b08}}}, + {X: Field{[10]uint32{0x029dc391, 0x03a2a128, 0x038a8495, 0x0197e21d, 0x008b6d87, 0x02503b7d, 0x01538ce4, 0x0016c8fc, 0x038924f5, 0x000fc96f}}, Y: Field{[10]uint32{0x008164f2, 0x011ca5cb, 0x03c30afd, 0x01527715, 0x00344382, 0x00b184ee, 0x02b02525, 0x001e0862, 0x01830e7e, 0x001c094d}}}, + {X: Field{[10]uint32{0x00773f0b, 0x0387b89b, 0x02b47ff2, 0x01c2d57a, 0x00467dc7, 0x021163cc, 0x033d2fe2, 0x008d13e3, 0x0359d5f7, 0x000f03c0}}, Y: Field{[10]uint32{0x02db33c7, 0x00a72a07, 0x02c7b127, 0x00c3917c, 0x00b9c250, 0x01189949, 0x0050d787, 0x0067116b, 0x0239459f, 0x0012560e}}}, + {X: Field{[10]uint32{0x02b73a15, 0x0170c20d, 0x00dd73be, 0x01c3ec5c, 0x0087e38d, 0x0283764f, 0x0045855f, 0x0177c8d8, 0x0266ec1b, 0x00158e01}}, Y: Field{[10]uint32{0x019921a7, 0x0387c29d, 0x03b117bc, 0x024e0a47, 0x00b5cbbf, 0x022be3d8, 0x0291252c, 0x02b1aa6a, 0x00f0b210, 0x001c01a4}}}, + {X: Field{[10]uint32{0x009298bd, 0x01b4bea7, 0x006738bc, 0x0007ef8f, 0x0225f902, 0x03cff11f, 0x02b228aa, 0x017dffb1, 0x010b0b9a, 0x001c729c}}, Y: Field{[10]uint32{0x039abc89, 0x027bf8cb, 0x003f8fcc, 0x028d4789, 0x02c759bc, 0x01c0566b, 0x00912871, 0x002266c6, 0x028dc075, 0x001f7494}}}, + {X: Field{[10]uint32{0x01264575, 0x00b42cd7, 0x01102511, 0x02ba09f2, 0x006ed87f, 0x02386f8f, 0x02ec20f9, 0x021439f0, 0x003cc938, 0x001e377b}}, Y: Field{[10]uint32{0x01680321, 0x01b7b6cf, 0x01ddfd48, 0x018fc5e6, 0x0022b9c1, 0x01bc6798, 0x0185048d, 0x01014321, 0x0151766a, 0x000641ca}}}, + {X: Field{[10]uint32{0x034ed70b, 0x01aacf1e, 0x0267f322, 0x0127b40f, 0x02058132, 0x00f6b0a6, 0x02709509, 0x0215fa31, 0x02fd8852, 0x0026abae}}, Y: Field{[10]uint32{0x0305fffb, 0x033b34d1, 0x0271c7b9, 0x033101ae, 0x032457bd, 0x00f134bc, 0x01e13bca, 0x02f54419, 0x02ccb541, 0x00231a8a}}}, + {X: Field{[10]uint32{0x032f79e2, 0x00af96f6, 0x01bcc6d1, 0x01a882ae, 0x01a3096a, 0x02e6fc4e, 0x016c7b28, 0x0203f768, 0x02749411, 0x00161bb2}}, Y: Field{[10]uint32{0x03488d71, 0x039be4e8, 0x02ad5bfd, 0x03795805, 0x020ac4bf, 0x009a887a, 0x005a7f80, 0x002796bf, 0x01123616, 0x0002cec7}}}, + {X: Field{[10]uint32{0x0150ddf8, 0x00e060e3, 0x0397ee36, 0x02c4dab3, 0x03c0e0b6, 0x0330fb98, 0x03ed7d40, 0x0378b21b, 0x003edbe4, 0x000615ef}}, Y: Field{[10]uint32{0x00275363, 0x0293d923, 0x01835119, 0x02df3168, 0x028a7fbd, 0x016119d6, 0x0359c673, 0x022337b1, 0x007be7a5, 0x003a97a0}}}, + {X: Field{[10]uint32{0x00e5b01a, 0x0361599e, 0x037ba863, 0x02589fd7, 0x03642067, 0x032e204e, 0x022a6cdb, 0x00b18800, 0x03440757, 0x002a9331}}, Y: Field{[10]uint32{0x03a2f836, 0x03c267e3, 0x008bff39, 0x0236bdf8, 0x01a4a97b, 0x00e08698, 0x03b7f9bb, 0x00912a68, 0x02c9d259, 0x002ea5a6}}}, + {X: Field{[10]uint32{0x004f36aa, 0x01368d48, 0x02179e79, 0x01af2c9d, 0x030d6f73, 0x010f6173, 0x005fad0a, 0x010d9da2, 0x00095917, 0x0011623b}}, Y: Field{[10]uint32{0x00c7c62e, 0x021bd2c3, 0x01c3702f, 0x024a9532, 0x03a95116, 0x0372eb8e, 0x01c89d10, 0x02071bb8, 0x027ecdc6, 0x003ee0d7}}}, + {X: Field{[10]uint32{0x0080653c, 0x02cc447a, 0x00a4eca3, 0x00881408, 0x0025ce66, 0x00bdec7f, 0x0233f227, 0x017e1a67, 0x01037a3e, 0x00219eb3}}, Y: Field{[10]uint32{0x01764646, 0x01fceb49, 0x03946d8d, 0x013975b3, 0x02639cd9, 0x03d91903, 0x009ba3cf, 0x03e414c9, 0x02c757d3, 0x003a444a}}}, + {X: Field{[10]uint32{0x02df370b, 0x03f576c9, 0x03c13318, 0x013d185b, 0x00b52781, 0x026b8ef5, 0x02e46630, 0x007708a2, 0x0169e4f8, 0x00178290}}, Y: Field{[10]uint32{0x0140d001, 0x03e2b74c, 0x00ca9e58, 0x009232cd, 0x00c38cd6, 0x02eb2b53, 0x022e32c3, 0x024d3afb, 0x01a8fc23, 0x0016f4cd}}}, + {X: Field{[10]uint32{0x0101c0f6, 0x02d3ffec, 0x00263663, 0x028eb7fa, 0x01542a55, 0x00aa0bc5, 0x01b2e578, 0x0090606d, 0x006939df, 0x0024014d}}, Y: Field{[10]uint32{0x03e3d991, 0x007a944d, 0x01476e3f, 0x01e0e86c, 0x01744607, 0x0270e978, 0x00f38378, 0x0217da16, 0x01899739, 0x0013fc35}}}, + {X: Field{[10]uint32{0x03cec63f, 0x030ec358, 0x035618f4, 0x01dc8a9c, 0x004e2db0, 0x0242c540, 0x0232f33d, 0x00cee81a, 0x01a553df, 0x002a650e}}, Y: Field{[10]uint32{0x01656cd4, 0x0108f6ce, 0x00e7e7e6, 0x0317dc0f, 0x026f9c1f, 0x0139a61f, 0x01cd8a2e, 0x031ddfaa, 0x0129f11f, 0x00066382}}}, + {X: Field{[10]uint32{0x03085282, 0x00bf7c57, 0x00355a0e, 0x02c42de3, 0x031c7789, 0x020aa8b9, 0x03ab71df, 0x02e85323, 0x01361381, 0x00147ca8}}, Y: Field{[10]uint32{0x032d16a2, 0x0065f3fa, 0x00ea5a97, 0x009a124d, 0x026e2b7b, 0x00c65e8f, 0x0323bbe4, 0x03fa935b, 0x029fca15, 0x003f57c4}}}, + {X: Field{[10]uint32{0x02a91d3a, 0x014c560b, 0x0368e820, 0x02e3d507, 0x03bed208, 0x019316d3, 0x01097778, 0x012cb265, 0x001c8b06, 0x000ea47e}}, Y: Field{[10]uint32{0x03a513c9, 0x01ce8048, 0x00404085, 0x0252d804, 0x00a542b5, 0x01616a3a, 0x0077329e, 0x00e78654, 0x003ad4ae, 0x00275640}}}, + {X: Field{[10]uint32{0x0336c5c8, 0x01abc665, 0x03462105, 0x02138502, 0x005e491e, 0x01ca3045, 0x0026deee, 0x03e85cfc, 0x0150aa22, 0x001c7a67}}, Y: Field{[10]uint32{0x036a4995, 0x019fb105, 0x03b2653f, 0x038e6ec2, 0x03699806, 0x03651f9d, 0x02627291, 0x022119f1, 0x03776858, 0x003fcf93}}}, + {X: Field{[10]uint32{0x008aaa39, 0x0248005f, 0x0180e6d3, 0x003ba166, 0x0046f745, 0x0338bcf3, 0x0353286a, 0x0113dcfe, 0x02933a03, 0x002b4527}}, Y: Field{[10]uint32{0x009e81bd, 0x03dbeba4, 0x03e3f2a4, 0x00ffc455, 0x0165a5ab, 0x026a0de2, 0x03140603, 0x03cd52d3, 0x039885a4, 0x001f6fd1}}}, + {X: Field{[10]uint32{0x011ccb01, 0x011fe45d, 0x00c321a2, 0x035dfaef, 0x0286e79e, 0x025a4417, 0x000ca207, 0x023db129, 0x037f5ad7, 0x00113c28}}, Y: Field{[10]uint32{0x0353044a, 0x01255570, 0x01905af6, 0x02684a24, 0x0070836d, 0x019ad44a, 0x031e5590, 0x02cfefbe, 0x0067911e, 0x003d0136}}}, + {X: Field{[10]uint32{0x0330ad5d, 0x00e29842, 0x02c1dc0d, 0x038ec9c7, 0x0050f5c0, 0x025c5e1a, 0x00a4a8b2, 0x03823130, 0x00c3de8d, 0x0013ddf7}}, Y: Field{[10]uint32{0x01f57c69, 0x00da8e53, 0x032fa558, 0x000201bb, 0x0358dc73, 0x002a996c, 0x018aa5ab, 0x003ba484, 0x024f8ae8, 0x001cf1d0}}}, + {X: Field{[10]uint32{0x02005555, 0x01c4dc79, 0x01c0d38d, 0x0093978b, 0x016d6d5c, 0x03bd9630, 0x026efd38, 0x00248d8d, 0x008b102a, 0x001e5284}}, Y: Field{[10]uint32{0x0246ba2c, 0x03d9cdf3, 0x03f751a6, 0x012d7f72, 0x007c9e30, 0x007e11e6, 0x02cf0fdc, 0x024141a6, 0x01efefd7, 0x0021c659}}}, + {X: Field{[10]uint32{0x00e8e594, 0x029235c5, 0x003a822d, 0x01f3a8c2, 0x02a72e29, 0x0282c494, 0x01bd49f5, 0x0218eb7d, 0x0161234b, 0x003c6621}}, Y: Field{[10]uint32{0x003fc418, 0x03acd86a, 0x0203fca6, 0x01cf4c6a, 0x03abd2f5, 0x03f68fe3, 0x0036612d, 0x01468630, 0x0107d0ab, 0x001eb6e9}}}, + {X: Field{[10]uint32{0x003f4a80, 0x02862f73, 0x01c75491, 0x036fe0b4, 0x02f3fd27, 0x01e42abb, 0x0249b8f7, 0x026781c4, 0x0156c07c, 0x00122fb5}}, Y: Field{[10]uint32{0x02316e94, 0x00795559, 0x03543856, 0x008b5250, 0x0046cf01, 0x03976f2a, 0x00dd08cb, 0x0106346d, 0x028021be, 0x00276b94}}}, + {X: Field{[10]uint32{0x003ab9c1, 0x032ccfe5, 0x00a1f3bf, 0x02ff0b72, 0x00ec8449, 0x01d2eb1d, 0x0376fef9, 0x01e74e3c, 0x03fbe537, 0x002effbc}}, Y: Field{[10]uint32{0x0312551b, 0x01b1b378, 0x030b0800, 0x018e1200, 0x00ed4625, 0x02f83aa3, 0x010e8495, 0x022bff18, 0x0372ee79, 0x002fa96d}}}, + {X: Field{[10]uint32{0x015b7f06, 0x01d2f582, 0x0212e00b, 0x02bfbaf0, 0x00156839, 0x03305d71, 0x006b04be, 0x033548e0, 0x001527b3, 0x0010abcd}}, Y: Field{[10]uint32{0x01dcef4f, 0x02d1b7d6, 0x021370e7, 0x006096fe, 0x00f91a55, 0x02237a60, 0x036d0961, 0x01bfd88d, 0x03e5ebf1, 0x001a1b97}}}, + {X: Field{[10]uint32{0x01ce10e6, 0x037849dc, 0x00d6938a, 0x00990309, 0x02307497, 0x0162df57, 0x03ea376d, 0x021f11bb, 0x038b74ae, 0x000f15b5}}, Y: Field{[10]uint32{0x00d54a41, 0x00c9d492, 0x03883507, 0x002d446f, 0x0039fed0, 0x0328af1b, 0x023b36b6, 0x0388574d, 0x02ccf9d1, 0x0033a5f7}}}, + {X: Field{[10]uint32{0x0389b61a, 0x03f6c26d, 0x0291d33a, 0x0073693c, 0x0267b52a, 0x0123da73, 0x02404a9e, 0x03bc2ab9, 0x01991944, 0x0012c489}}, Y: Field{[10]uint32{0x02089571, 0x02ef99ad, 0x0211bf3e, 0x0201e391, 0x0062b1bc, 0x01b64af0, 0x037932cb, 0x03e6494d, 0x035027a3, 0x001722f8}}}, + {X: Field{[10]uint32{0x00d49db5, 0x01cd4346, 0x03e9acd3, 0x0154ac02, 0x01716749, 0x01363167, 0x0258f181, 0x024c528d, 0x0067c02c, 0x0002790a}}, Y: Field{[10]uint32{0x03a8c761, 0x025df1c5, 0x01d0d831, 0x0079b635, 0x0039f65b, 0x03f8833c, 0x003155da, 0x0035cf5e, 0x00351ff9, 0x001749b4}}}, + {X: Field{[10]uint32{0x035359ae, 0x036e5cc9, 0x00b94402, 0x007976f6, 0x00306ab3, 0x01efdbea, 0x0027d0d4, 0x014d14a8, 0x010c05a9, 0x002590ce}}, Y: Field{[10]uint32{0x027a3933, 0x025c86ac, 0x000cea69, 0x00b7d657, 0x03abbf49, 0x003ef52e, 0x03560d05, 0x03a70748, 0x03f71019, 0x002cd535}}}, + {X: Field{[10]uint32{0x02126b69, 0x03d5881f, 0x01f77bac, 0x0213faba, 0x021b6f78, 0x007c55e0, 0x01374f90, 0x01f7ad41, 0x02fb86f7, 0x0022d245}}, Y: Field{[10]uint32{0x00be1fd4, 0x032cc98a, 0x00213816, 0x03cd93e7, 0x02ce6d2a, 0x02f21feb, 0x01c3d59c, 0x036c4c15, 0x03c06d86, 0x000026a0}}}, + {X: Field{[10]uint32{0x00054b9f, 0x00f3c334, 0x02ff37ba, 0x03fa554b, 0x0011de8e, 0x021223df, 0x01ee9abb, 0x020b107d, 0x034b1097, 0x00034a77}}, Y: Field{[10]uint32{0x00ca07a8, 0x01826050, 0x03d1c98a, 0x01106627, 0x00d1a5a4, 0x01e6da02, 0x03e08f6a, 0x00b13c2e, 0x0237ea24, 0x0006fc18}}}, + {X: Field{[10]uint32{0x01dbd41d, 0x02e3a9c8, 0x01ede203, 0x019481b7, 0x03d4a202, 0x01444eb2, 0x01167d05, 0x0141114e, 0x017ba540, 0x000aabce}}, Y: Field{[10]uint32{0x02f73081, 0x022087a7, 0x03c6663d, 0x03093dec, 0x00013a81, 0x028cbcc2, 0x024b4a8a, 0x02eeb247, 0x02c71132, 0x000dd38c}}}, + {X: Field{[10]uint32{0x0357ef48, 0x004cfe73, 0x03b817b1, 0x0251762d, 0x001ca58a, 0x02da8e63, 0x03d287c8, 0x0339ae3a, 0x03d223ea, 0x00088e6c}}, Y: Field{[10]uint32{0x02b4cd46, 0x032f50f8, 0x03bda94c, 0x03ecf93a, 0x00f01d70, 0x02380fca, 0x02f4b267, 0x02a2c822, 0x00b74b54, 0x003f6a20}}}, + {X: Field{[10]uint32{0x03c7e365, 0x03b18929, 0x00f62e86, 0x00ce7c95, 0x01b88ee2, 0x007b6c51, 0x01c91785, 0x01cb7dfb, 0x03bcf47e, 0x0022cca1}}, Y: Field{[10]uint32{0x01fecabb, 0x03c3c802, 0x005be321, 0x01a47ad8, 0x00db6d99, 0x0030f4df, 0x0100868c, 0x0355397e, 0x03c09f60, 0x0015281a}}}, + {X: Field{[10]uint32{0x004f7993, 0x026072a6, 0x0136dd8d, 0x031c935b, 0x01ace742, 0x03a1d4e7, 0x017e1ff3, 0x03fba443, 0x02a33e3c, 0x00366b33}}, Y: Field{[10]uint32{0x027dc88b, 0x018e2a10, 0x02690565, 0x02055097, 0x0162947f, 0x0082f40b, 0x00f5a05a, 0x03974b63, 0x034aa901, 0x001ab725}}}, + {X: Field{[10]uint32{0x00b3206d, 0x03cab96a, 0x036b308d, 0x036902e3, 0x004af245, 0x01d3b80e, 0x0292b504, 0x0122f799, 0x03f834c3, 0x0035ff15}}, Y: Field{[10]uint32{0x004e2d19, 0x034acc09, 0x03406e38, 0x02c47e6b, 0x000231ed, 0x01b6c0c9, 0x028e04ba, 0x027faa6c, 0x024b41fd, 0x0002c94f}}}, + {X: Field{[10]uint32{0x00d9588a, 0x016d70c5, 0x015059ad, 0x0181e88f, 0x02b815f6, 0x02540878, 0x0334e165, 0x005024da, 0x03e0ec4a, 0x00096023}}, Y: Field{[10]uint32{0x018e7b96, 0x01e63df1, 0x00ec66f4, 0x01b3a2ef, 0x03a75bc1, 0x02e77c7f, 0x00a1eefb, 0x01bbe232, 0x02d5b1d4, 0x00341992}}}, + {X: Field{[10]uint32{0x01927914, 0x01ba84e6, 0x01ecc322, 0x01d8a68e, 0x0359e67a, 0x00368d69, 0x0152fa57, 0x015759c8, 0x03801139, 0x003911d1}}, Y: Field{[10]uint32{0x03793bee, 0x037cfe50, 0x035eac1a, 0x034a0dfb, 0x02ad4eb3, 0x0159b1e3, 0x02834d33, 0x00121b69, 0x0170aa2f, 0x00124f30}}}, + {X: Field{[10]uint32{0x026311ad, 0x000ae444, 0x02f11476, 0x02160b51, 0x0244e2b9, 0x0003c411, 0x01dd900d, 0x035c19db, 0x01be2af9, 0x00314103}}, Y: Field{[10]uint32{0x024ddb15, 0x0234a00c, 0x0186b91a, 0x006c41dd, 0x01a7cabc, 0x01e2a739, 0x01b64667, 0x0185c732, 0x0311a231, 0x002102aa}}}, + {X: Field{[10]uint32{0x037d9f14, 0x008a3ad0, 0x023a812a, 0x013e4ef6, 0x008116cd, 0x0311f539, 0x03ca1236, 0x00cface9, 0x03aa316d, 0x0008ce46}}, Y: Field{[10]uint32{0x037efd4d, 0x02d53d72, 0x00b7f1eb, 0x01e71f2e, 0x010bc97c, 0x01b63446, 0x00a69aff, 0x01dbf007, 0x001d9e6d, 0x0007604d}}}, + {X: Field{[10]uint32{0x0039ac38, 0x02acd3ef, 0x01eb945e, 0x036302e5, 0x008aeb8f, 0x03ace525, 0x006682cb, 0x02e9c8bf, 0x03563de3, 0x0004c845}}, Y: Field{[10]uint32{0x0174f006, 0x02e6b623, 0x013df89e, 0x001506dd, 0x01aa5279, 0x009b2fee, 0x0161431e, 0x00208df2, 0x03218a4b, 0x0026ddc9}}}, + {X: Field{[10]uint32{0x02789708, 0x01dea56e, 0x0096d2ff, 0x00eebfba, 0x01708b94, 0x02d735f8, 0x00f896bb, 0x00bf1e87, 0x0098b27a, 0x000ee2ee}}, Y: Field{[10]uint32{0x0136c1cb, 0x00403227, 0x028c9248, 0x01e70d01, 0x027fdcbf, 0x02858d77, 0x01e13e96, 0x000f9568, 0x001c6680, 0x00360795}}}, + {X: Field{[10]uint32{0x00217b4d, 0x03a267f8, 0x02e21c7c, 0x00b20568, 0x03d94f16, 0x0300103f, 0x005e4f55, 0x0312eb14, 0x022c9af5, 0x003875c2}}, Y: Field{[10]uint32{0x03a4532e, 0x00f3fb25, 0x0212c2fd, 0x02679e70, 0x01eb063b, 0x00ac794f, 0x006d66de, 0x00392cda, 0x00d6d20e, 0x002c958c}}}, + {X: Field{[10]uint32{0x0112de1c, 0x02aa9ef6, 0x001b5ff1, 0x0320c3ed, 0x03a7e681, 0x00acdb7f, 0x00f0c56e, 0x01e3eb4e, 0x0023a517, 0x0006c78e}}, Y: Field{[10]uint32{0x0184d4c1, 0x00ffcc89, 0x0116cd59, 0x009a0ca0, 0x03bebe16, 0x02fdff49, 0x03258556, 0x00807739, 0x0290a951, 0x003cba66}}}, + {X: Field{[10]uint32{0x01bda7a1, 0x03dca088, 0x03102e48, 0x00703640, 0x018745a9, 0x017919f8, 0x01348175, 0x018644b0, 0x003894f5, 0x00078c76}}, Y: Field{[10]uint32{0x00d610ce, 0x0232531f, 0x03aee504, 0x009d0480, 0x02477a7b, 0x03e0225b, 0x002c6d97, 0x03863cf0, 0x038835da, 0x0004773b}}}, + {X: Field{[10]uint32{0x02b7100e, 0x02c0c062, 0x0028c422, 0x01e946d4, 0x03311f68, 0x02f0ed25, 0x027a7ff2, 0x02f266fd, 0x0034795c, 0x00032e6b}}, Y: Field{[10]uint32{0x00d0db1d, 0x01120d8f, 0x0332074e, 0x03762913, 0x03e5ff32, 0x023704fd, 0x01e95e9a, 0x02cd7380, 0x0221c804, 0x001797c1}}}, + {X: Field{[10]uint32{0x00e11c1b, 0x01ce0d6d, 0x020ce56c, 0x0213c028, 0x0024dcb8, 0x02995b12, 0x02326fa1, 0x02b4e283, 0x02c4067d, 0x002bf0d2}}, Y: Field{[10]uint32{0x00bdcb96, 0x00204d8a, 0x01de1d75, 0x02baff1b, 0x0377a033, 0x000b0432, 0x02ef031a, 0x0191e8e0, 0x00043f6d, 0x00322c71}}}, + {X: Field{[10]uint32{0x0270aa81, 0x03e17ef8, 0x0273e603, 0x00d9e9e0, 0x023330f6, 0x02e85384, 0x01430bc0, 0x02ae8586, 0x0160ca85, 0x000e9bf0}}, Y: Field{[10]uint32{0x0222bc0a, 0x01d36e80, 0x001bb617, 0x03246709, 0x02cb72cf, 0x01c1ef0c, 0x01a7a483, 0x02ce4251, 0x037286db, 0x0016528a}}}, + {X: Field{[10]uint32{0x033ce7d4, 0x00658050, 0x02e4346b, 0x02a38fab, 0x01bdc1e4, 0x03c637af, 0x024f56ea, 0x0270e8fd, 0x0295657c, 0x002a103d}}, Y: Field{[10]uint32{0x02126fbc, 0x007d27fa, 0x0269d7a4, 0x0091c9cc, 0x031a77b8, 0x030004c6, 0x01eae96b, 0x038b7d18, 0x02c0ca41, 0x0022a29e}}}, + {X: Field{[10]uint32{0x000a39d6, 0x027602ba, 0x033e55f6, 0x018b5b83, 0x0065cd77, 0x028a4c9a, 0x01d08c34, 0x01a4530e, 0x020170ec, 0x00030113}}, Y: Field{[10]uint32{0x020b4657, 0x02fe488e, 0x0052a92d, 0x01ee4816, 0x036dd5fd, 0x00be5ecd, 0x02e0b5ec, 0x00545897, 0x00827ae5, 0x001ef58c}}}, + {X: Field{[10]uint32{0x02a00b3a, 0x0377a53a, 0x00b2aa89, 0x00690769, 0x002bf927, 0x033f74a2, 0x01eb5c67, 0x025a6c11, 0x035b352b, 0x0032e404}}, Y: Field{[10]uint32{0x0179be93, 0x012d858b, 0x00b492a8, 0x00b1498d, 0x03b4dac8, 0x009dea3d, 0x00b6d267, 0x026c47f9, 0x00a0762d, 0x000532fb}}}, + {X: Field{[10]uint32{0x03182a0e, 0x03213402, 0x02963c58, 0x01d9d7a9, 0x03c82166, 0x02a92a3f, 0x007c0633, 0x02ac3c87, 0x0037a24d, 0x003e9ef1}}, Y: Field{[10]uint32{0x01a5aa35, 0x03bb9534, 0x0244b383, 0x0051007c, 0x00fdf721, 0x0124d678, 0x0109326c, 0x0031adb7, 0x03c6d730, 0x00389099}}}, + {X: Field{[10]uint32{0x03b3299a, 0x00701795, 0x02fcdd0c, 0x015cef22, 0x0035e956, 0x0054ceb6, 0x032bef99, 0x00f494de, 0x00dd3f50, 0x00398d53}}, Y: Field{[10]uint32{0x019ead7f, 0x0342e1a1, 0x01a0a3c4, 0x03cfd72b, 0x03cdc2b6, 0x03a7be71, 0x01955b9a, 0x03228662, 0x03706291, 0x0035b05e}}}, + {X: Field{[10]uint32{0x0345cce8, 0x00ebc7ee, 0x0053b048, 0x00f4afc1, 0x02132ec2, 0x0035f604, 0x00dce9d5, 0x00578f7c, 0x013007e8, 0x002768d9}}, Y: Field{[10]uint32{0x0067a8dc, 0x02639474, 0x0109ebd2, 0x008c8bd3, 0x013bbc4b, 0x02426ba4, 0x02a1b102, 0x022b3aa1, 0x016698a2, 0x002ecdd1}}}, + {X: Field{[10]uint32{0x00c9d4db, 0x0066e28e, 0x011ba763, 0x02208b5a, 0x0213b257, 0x0105aa21, 0x02d1c3ba, 0x03371c1b, 0x021e1a19, 0x0037115e}}, Y: Field{[10]uint32{0x03dc3b58, 0x03a04fee, 0x01776dfc, 0x0363e0a1, 0x0385e25b, 0x02518e29, 0x01919fa2, 0x01943752, 0x0366de5a, 0x000e7e4f}}}, + {X: Field{[10]uint32{0x00f0374d, 0x02760ab3, 0x009a962b, 0x01badece, 0x03ec216c, 0x0132915b, 0x0357bc66, 0x003a617f, 0x031f1b1a, 0x002c8dde}}, Y: Field{[10]uint32{0x03578c1a, 0x00666b1d, 0x02db5dac, 0x030188ca, 0x027a040f, 0x00fae5d1, 0x0114e74b, 0x014272fc, 0x0180d723, 0x000e0e95}}}, + {X: Field{[10]uint32{0x00fc7e50, 0x0144492b, 0x01f65780, 0x03381797, 0x002a5a86, 0x02570936, 0x011fabeb, 0x00ea14e1, 0x0046755d, 0x0022c699}}, Y: Field{[10]uint32{0x0255cf75, 0x03ccd1a5, 0x036231ca, 0x01850e32, 0x01ed1cd4, 0x024a96ff, 0x0288aef1, 0x00a99d46, 0x01d4cb63, 0x0010ae21}}}, + {X: Field{[10]uint32{0x0103f5b1, 0x029bfc94, 0x01b3e7d5, 0x0288c285, 0x03c3a7ef, 0x00ea41e9, 0x01f14162, 0x00683279, 0x019cbacf, 0x00250220}}, Y: Field{[10]uint32{0x00506f98, 0x031a32c3, 0x0056b0d6, 0x00c32ec9, 0x021df08c, 0x002ade68, 0x0107451f, 0x013dcff4, 0x02c9d6f8, 0x002a5d63}}}, + {X: Field{[10]uint32{0x006ce25c, 0x00661c2c, 0x013ee9c3, 0x01cf090f, 0x029ce6d4, 0x02213693, 0x017c933a, 0x03e32e67, 0x004707b3, 0x0022ffbc}}, Y: Field{[10]uint32{0x03e5c498, 0x00f04b3d, 0x03e37ca7, 0x0213a281, 0x00627f1d, 0x00c05f16, 0x00d17ee8, 0x02bc5d54, 0x01870d06, 0x0022ef2f}}}, + {X: Field{[10]uint32{0x014bdb61, 0x034a52d0, 0x03cc0dc1, 0x01ff0e00, 0x018eff64, 0x037d60be, 0x00b84b8a, 0x000b8477, 0x03f0c122, 0x0000aa15}}, Y: Field{[10]uint32{0x02db6548, 0x003bfb11, 0x029afe43, 0x0076bdfe, 0x0262c8ae, 0x023a88ea, 0x00af8c64, 0x024c6091, 0x016da7fd, 0x0026eb11}}}, + {X: Field{[10]uint32{0x015cb5ec, 0x00eb2d97, 0x0083525e, 0x039a924f, 0x03b94b1e, 0x03fd4f9a, 0x006b2242, 0x017b4c34, 0x005a9048, 0x0024dee3}}, Y: Field{[10]uint32{0x03ccd808, 0x02c9d9a9, 0x02788da3, 0x019fa6df, 0x02c9c3d8, 0x038d9b29, 0x035a311a, 0x00dd2943, 0x036ff9fb, 0x0034dec4}}}, + {X: Field{[10]uint32{0x0243c77a, 0x0038280e, 0x001a065a, 0x00cd2248, 0x0122b249, 0x01a87971, 0x0150ff30, 0x035afb64, 0x0153e2bf, 0x0017d513}}, Y: Field{[10]uint32{0x02990f51, 0x00df82c4, 0x01562c31, 0x01f88059, 0x028f4c84, 0x01c33b4c, 0x012c4130, 0x0336605d, 0x00e28c47, 0x002ea708}}}, + {X: Field{[10]uint32{0x03c807b9, 0x025f9ea9, 0x01cbd9c2, 0x03ea0695, 0x01e3249c, 0x02e7e932, 0x0364fa7e, 0x022ebe96, 0x038890bf, 0x0019ed8c}}, Y: Field{[10]uint32{0x027625e6, 0x01876fab, 0x02567620, 0x0305b22e, 0x010d871e, 0x037e0229, 0x0354577e, 0x02e0450a, 0x02752d94, 0x00370615}}}, + {X: Field{[10]uint32{0x00439442, 0x00918a26, 0x02e2fbd3, 0x0360e1a8, 0x02b76604, 0x018ca00c, 0x012ffa3d, 0x01123e7e, 0x01d599cb, 0x00161ea7}}, Y: Field{[10]uint32{0x03ae9870, 0x035b7376, 0x03dee6b6, 0x021d47fe, 0x03488aa6, 0x036efd4c, 0x01e73ca2, 0x03ea9e92, 0x00e9a893, 0x00125a66}}}, + {X: Field{[10]uint32{0x03c29b38, 0x000a5298, 0x02a568f8, 0x00696190, 0x0218dfe5, 0x01746184, 0x00773123, 0x03fe7e04, 0x031ec576, 0x000dbede}}, Y: Field{[10]uint32{0x0166c4aa, 0x00055c85, 0x038e8a2f, 0x022586eb, 0x035c1a15, 0x01f7a298, 0x016fc1a6, 0x02c6fcb2, 0x02c9b82c, 0x000d2916}}}, + {X: Field{[10]uint32{0x01f4ba95, 0x0158931c, 0x03caef77, 0x00f5393b, 0x00ab8a27, 0x0027fd0d, 0x00f49c51, 0x03b34b76, 0x008ca0af, 0x0021edc7}}, Y: Field{[10]uint32{0x025676f9, 0x00e0b314, 0x010b81bc, 0x0286f5ab, 0x005b3626, 0x0079b672, 0x0127c56e, 0x009621d9, 0x011f5112, 0x00214645}}}, + {X: Field{[10]uint32{0x0063e040, 0x00e839e9, 0x0296cf43, 0x0262e069, 0x0000056c, 0x00ee8ec3, 0x03ed962c, 0x00dc2e8e, 0x00f2805c, 0x002b3d97}}, Y: Field{[10]uint32{0x01692d5b, 0x00ed0085, 0x023d663b, 0x008f35a3, 0x02dc7b0e, 0x00bd5fbc, 0x022762b5, 0x0385abe5, 0x029bf45b, 0x003c24e4}}}, + {X: Field{[10]uint32{0x0147acf1, 0x0011d7c8, 0x03f44899, 0x02ea04a5, 0x01e3e045, 0x00737ec7, 0x01f16740, 0x003216e4, 0x03ed8b01, 0x003824af}}, Y: Field{[10]uint32{0x03902c37, 0x01c2a61d, 0x0291b657, 0x02be2f76, 0x018c4d18, 0x0181c36a, 0x00160728, 0x01a0f790, 0x0042ecc8, 0x00382ee6}}}, + {X: Field{[10]uint32{0x010a52ae, 0x021c7298, 0x0269197c, 0x01fca3b3, 0x03ba386b, 0x01c14076, 0x0012735c, 0x02f2fc5e, 0x03b98260, 0x0026f7f5}}, Y: Field{[10]uint32{0x02371eeb, 0x033f7ad7, 0x00d9affb, 0x01e10188, 0x00887d9a, 0x017d427d, 0x01e01baa, 0x013339cc, 0x03983f8c, 0x0026f194}}}, + {X: Field{[10]uint32{0x0243545f, 0x028be0a1, 0x0240e9a4, 0x00361a90, 0x00afc8a8, 0x00255087, 0x005587a9, 0x00562572, 0x0321d931, 0x000f6c88}}, Y: Field{[10]uint32{0x03b78eae, 0x03dcd263, 0x028bfddb, 0x01153bf1, 0x02fdd6bb, 0x02c6651f, 0x0323c9af, 0x021a3783, 0x00b82c57, 0x0010abcc}}}, + {X: Field{[10]uint32{0x022b3e5f, 0x009e5858, 0x03da6256, 0x01908b4d, 0x03c3757a, 0x01790fe8, 0x02decbdc, 0x01fff3e1, 0x0314a6a7, 0x0003a74f}}, Y: Field{[10]uint32{0x00e67de7, 0x003e060c, 0x027f02f9, 0x0210db59, 0x03fd18ee, 0x02a4b305, 0x02d0764d, 0x01c5331b, 0x03ed1e2a, 0x0020eb02}}}, + {X: Field{[10]uint32{0x0042f2a4, 0x007547a6, 0x0180f089, 0x02161a09, 0x01b31b90, 0x02b56566, 0x01448af0, 0x01221c38, 0x02e4f29b, 0x00104921}}, Y: Field{[10]uint32{0x01e7ee3d, 0x034e5fc3, 0x01a8f080, 0x01ed4c58, 0x000bc557, 0x030b9d87, 0x03bbb039, 0x019e430b, 0x01318c0d, 0x0030c716}}}, + {X: Field{[10]uint32{0x02b4ddaa, 0x00a7648d, 0x01a267c5, 0x008a92cb, 0x01609f84, 0x026add7e, 0x01afbe0c, 0x0141bf8b, 0x007141ed, 0x003a77bb}}, Y: Field{[10]uint32{0x0194a21d, 0x0251e3db, 0x039eb220, 0x01fe6b6d, 0x008dfb76, 0x034a8290, 0x006029e5, 0x00ef0b61, 0x0144d846, 0x00021ca1}}}, + {X: Field{[10]uint32{0x0264218a, 0x03f5bfec, 0x031735f0, 0x00b16f2d, 0x01bbf01c, 0x02e24978, 0x03a17612, 0x011a8208, 0x0292553c, 0x00168288}}, Y: Field{[10]uint32{0x015dbae2, 0x03455d79, 0x0009ce90, 0x025a3c14, 0x00012de6, 0x0111ffe7, 0x021f8976, 0x003c4289, 0x01f0adda, 0x000c25f3}}}, + {X: Field{[10]uint32{0x00928d1f, 0x03784681, 0x03d005ba, 0x03e7383f, 0x02563a40, 0x0344bc61, 0x01dc23d8, 0x006b46e8, 0x02378b68, 0x001272ca}}, Y: Field{[10]uint32{0x016732d6, 0x001a564f, 0x03bd632a, 0x02db89da, 0x00fbecc5, 0x0360128f, 0x015a938a, 0x017e83fc, 0x02afc0f6, 0x003c8d78}}}, + {X: Field{[10]uint32{0x0215feb3, 0x02af6e45, 0x037ccf99, 0x03521345, 0x003dd1af, 0x01887351, 0x01ad510a, 0x0045dec1, 0x00b63688, 0x003535c7}}, Y: Field{[10]uint32{0x0162645b, 0x03c4bc1d, 0x02c02ac7, 0x018fec1d, 0x035316c3, 0x0254354c, 0x02f385fa, 0x02e6c581, 0x0378de3e, 0x000eb594}}}, + {X: Field{[10]uint32{0x01bfab2f, 0x00f9908d, 0x01148b7e, 0x02e0fd1f, 0x01529c99, 0x013a1b31, 0x03798c31, 0x01b80193, 0x02e14bdd, 0x0001646c}}, Y: Field{[10]uint32{0x00fa59b0, 0x01a95a2a, 0x03aeca98, 0x022575e0, 0x0112a517, 0x028da356, 0x02bbaf12, 0x01319935, 0x0266fd2a, 0x0013da18}}}, + {X: Field{[10]uint32{0x03356876, 0x02f88d91, 0x00086970, 0x0003d262, 0x02be2534, 0x00bab277, 0x03b63c29, 0x02f124f5, 0x0085c984, 0x003b940f}}, Y: Field{[10]uint32{0x03daa47e, 0x0315cf12, 0x01ccb976, 0x02ce9faf, 0x0139449b, 0x005359c4, 0x01704e96, 0x022731d0, 0x02bb6f9e, 0x002f60a2}}}, + {X: Field{[10]uint32{0x00b3f89e, 0x03256cc5, 0x01697758, 0x0325dff5, 0x03756e78, 0x0261f0eb, 0x036a3f98, 0x0287f328, 0x03a702e5, 0x000be6d3}}, Y: Field{[10]uint32{0x00a4a15d, 0x03a85407, 0x03cf33f0, 0x03c86997, 0x03956657, 0x02427670, 0x022e1cee, 0x00f1d13a, 0x015b3d5b, 0x00259a18}}}, + {X: Field{[10]uint32{0x02fd46c3, 0x02c7249e, 0x03a6234e, 0x02f01b84, 0x02a1f4ae, 0x00a8042a, 0x012b204e, 0x0093e17e, 0x006aa341, 0x00062db4}}, Y: Field{[10]uint32{0x034bef4e, 0x00120747, 0x0264fb46, 0x029550dc, 0x03258b0b, 0x00f81e7c, 0x02624bfa, 0x0002c01f, 0x01b9bdf6, 0x0019b30c}}}, + {X: Field{[10]uint32{0x01b44ba0, 0x00c0d037, 0x016881cc, 0x013594e5, 0x0367662a, 0x00c36dba, 0x0337d0f0, 0x023763ff, 0x0163bf75, 0x000ef01e}}, Y: Field{[10]uint32{0x01057e5d, 0x01dc306b, 0x008a357d, 0x03b2dd15, 0x008e6dc1, 0x01db6dbe, 0x039a3c22, 0x026870b7, 0x02f26820, 0x00183847}}}, + {X: Field{[10]uint32{0x013a46a8, 0x026ca201, 0x01e3dd08, 0x016bc3ba, 0x0291498b, 0x0327e9a2, 0x0149af30, 0x01508ebf, 0x01d65b32, 0x0002fd61}}, Y: Field{[10]uint32{0x038e66a6, 0x033dab78, 0x00c0594b, 0x0304d147, 0x0204c000, 0x02a794e5, 0x0256e2cf, 0x012e6944, 0x00e9ea48, 0x000be251}}}, + {X: Field{[10]uint32{0x03b69294, 0x02704cf3, 0x01a7f64e, 0x00e35fc1, 0x00f0cf14, 0x007d03be, 0x01b59a91, 0x00095d75, 0x022ebe7a, 0x00221f02}}, Y: Field{[10]uint32{0x00aec5c9, 0x01c79c58, 0x02a58402, 0x0037483d, 0x019c37c3, 0x0105d524, 0x03de5949, 0x0319bd43, 0x00c84f9b, 0x00117ccd}}}, + {X: Field{[10]uint32{0x022f7d4f, 0x03e68d98, 0x0211601b, 0x027e0128, 0x003718e7, 0x030f71af, 0x0217700f, 0x00c97166, 0x02f90a73, 0x00276b5e}}, Y: Field{[10]uint32{0x02159525, 0x00a616b9, 0x03136644, 0x02b40624, 0x0140644b, 0x0227ae37, 0x02326ecb, 0x01aa531f, 0x025e099c, 0x000adf08}}}, + {X: Field{[10]uint32{0x03dd551b, 0x02116529, 0x006947cb, 0x007272be, 0x0363bcb6, 0x01cf37f3, 0x03e9a2ed, 0x00a7dd3c, 0x039572bd, 0x00211f93}}, Y: Field{[10]uint32{0x0393ee16, 0x0226856c, 0x004b81ea, 0x020a8407, 0x000f6f11, 0x01c32cd1, 0x006286d3, 0x00b18bea, 0x0282e0a9, 0x002e9bb4}}}, + {X: Field{[10]uint32{0x0047a593, 0x012bd1fc, 0x01580268, 0x00b3374f, 0x00b5d8c6, 0x02495b1c, 0x033c4b44, 0x00d80119, 0x0205df1c, 0x0009484c}}, Y: Field{[10]uint32{0x03096837, 0x018f59fb, 0x01f3c547, 0x03b10a9e, 0x0395aabf, 0x02881591, 0x022a47a8, 0x011c27eb, 0x01de05af, 0x000db720}}}, + {X: Field{[10]uint32{0x0058e87a, 0x0032f384, 0x0229ab17, 0x01c175cc, 0x0095ebfd, 0x00beca7f, 0x013a25ef, 0x037de91c, 0x00d84866, 0x001d48a3}}, Y: Field{[10]uint32{0x0012fe6d, 0x02ecc2f0, 0x03812a7d, 0x01564a6e, 0x0168a473, 0x00215105, 0x025f056c, 0x034fd3f4, 0x039bcc02, 0x003ee921}}}, + {X: Field{[10]uint32{0x01b68568, 0x036b6ed6, 0x03fe4b6a, 0x00dd0b18, 0x00981a13, 0x00109224, 0x002fb07c, 0x01f021b4, 0x01392286, 0x001d2515}}, Y: Field{[10]uint32{0x011af3e2, 0x03aed507, 0x01180341, 0x00111919, 0x013e3b8d, 0x0091f9d4, 0x030bf0b5, 0x02c6722b, 0x01178df8, 0x001f5dd2}}}, + {X: Field{[10]uint32{0x03c9b04f, 0x0383f2ff, 0x03f7a609, 0x038d5fd1, 0x0271d28c, 0x00a651bc, 0x00cbadfc, 0x038e73e8, 0x03532899, 0x001a76df}}, Y: Field{[10]uint32{0x019feabc, 0x0252d8c6, 0x011f0a66, 0x0375d928, 0x0326da7c, 0x007543e7, 0x0023ffee, 0x01576ab5, 0x03bb1032, 0x0032c090}}}, + {X: Field{[10]uint32{0x0129f8c7, 0x01cf0a4a, 0x022251d1, 0x03d54f6b, 0x02ec4aed, 0x0240be48, 0x012fc378, 0x0036f83f, 0x01c1fb4a, 0x001c9fb3}}, Y: Field{[10]uint32{0x011f453b, 0x03525799, 0x0035c224, 0x030592f0, 0x02bfc4f7, 0x015d536c, 0x0046ee5e, 0x02358199, 0x02ed1377, 0x002b96ec}}}, + {X: Field{[10]uint32{0x02f25b72, 0x0278cd1f, 0x00382b12, 0x01cd7baf, 0x01912138, 0x00b1fcaf, 0x007f5c9e, 0x01512f88, 0x018f0ec2, 0x00240f3b}}, Y: Field{[10]uint32{0x003190a6, 0x01073565, 0x00c8bb2e, 0x0255af90, 0x03ff75c7, 0x03ea2df6, 0x009bf33a, 0x00f4c57a, 0x02290ee1, 0x000845f2}}}, + {X: Field{[10]uint32{0x0203f33b, 0x02eee646, 0x02ca33a6, 0x03c200cd, 0x031c8906, 0x03f4d8dc, 0x038a5ad6, 0x03845cd8, 0x03ef5149, 0x00313519}}, Y: Field{[10]uint32{0x0229b5c7, 0x026058c1, 0x01b63bf3, 0x0033fe5d, 0x00431ad8, 0x02fcbf3b, 0x03d437ea, 0x01af3f38, 0x03244c53, 0x003a96d6}}}, + {X: Field{[10]uint32{0x0237326f, 0x0178df3a, 0x03cf9d32, 0x029b0daf, 0x01cff7a8, 0x036028bc, 0x03b2b7ad, 0x0027dec8, 0x03a65f6d, 0x0005ad5d}}, Y: Field{[10]uint32{0x009f15c1, 0x01ce4d34, 0x02dcbe90, 0x03876c68, 0x0184d98b, 0x0294a9e4, 0x00a65760, 0x0139788a, 0x00e21467, 0x00019aea}}}, + {X: Field{[10]uint32{0x0363412f, 0x0214c766, 0x01f5a676, 0x036f4afc, 0x0367fcee, 0x02f5f77d, 0x02453846, 0x02b7f387, 0x02f2e480, 0x002b52f2}}, Y: Field{[10]uint32{0x01e741ac, 0x0068e03a, 0x03f4a0a6, 0x02dd59cd, 0x00c4c891, 0x0097b9cb, 0x031b3a45, 0x003d6446, 0x03604781, 0x00147e80}}}, + {X: Field{[10]uint32{0x033b571a, 0x01ccd8b0, 0x01dd587d, 0x037b767a, 0x0151ca65, 0x006f2ce6, 0x012d776d, 0x039e1d29, 0x033852d2, 0x002c927a}}, Y: Field{[10]uint32{0x03a66258, 0x000c8c94, 0x031d9b11, 0x001a9e70, 0x0062dd77, 0x005dc25b, 0x03cd84eb, 0x03b3a020, 0x002414e4, 0x000f8982}}}, + {X: Field{[10]uint32{0x01e14a65, 0x0347b12f, 0x029dbccf, 0x0181f8ef, 0x0374dd05, 0x0274b14e, 0x0310d3a5, 0x0006ba04, 0x02c7696a, 0x0018d064}}, Y: Field{[10]uint32{0x03b0e00f, 0x03948895, 0x0154adcb, 0x03912e4a, 0x004fd4cc, 0x031e1ec6, 0x02dcd709, 0x0381df61, 0x0050e366, 0x001156d2}}}, + {X: Field{[10]uint32{0x022f5099, 0x02577312, 0x02ce6fd2, 0x03b7eec6, 0x02acc3c5, 0x0052c662, 0x02159ccc, 0x00fe0127, 0x03f50d43, 0x003fefb2}}, Y: Field{[10]uint32{0x000be3c0, 0x00779491, 0x0285caaa, 0x01a22921, 0x03dd68d3, 0x0300ee8c, 0x0089acf9, 0x01b3d0d9, 0x02ba1ec6, 0x00108b9e}}}, + {X: Field{[10]uint32{0x001868af, 0x00cf7457, 0x035ad8c1, 0x00ed4269, 0x02b6a8c8, 0x03418cb6, 0x034f1a90, 0x03a08e73, 0x00dc1067, 0x00196d31}}, Y: Field{[10]uint32{0x014d260e, 0x02b0797e, 0x026d840d, 0x005e7548, 0x0320c678, 0x01fd0a80, 0x003f8ae0, 0x01186146, 0x019dd765, 0x003df3d7}}}, + {X: Field{[10]uint32{0x03f9c67e, 0x00695826, 0x0355924c, 0x02ecd756, 0x008de48d, 0x0016e343, 0x018dbed4, 0x00d40b54, 0x00ce9d60, 0x0034e03b}}, Y: Field{[10]uint32{0x0364c128, 0x00d7e3f6, 0x013ae50c, 0x0136a02c, 0x038b241b, 0x01971827, 0x030ac152, 0x02ac427a, 0x0080fd18, 0x0006ba11}}}, + {X: Field{[10]uint32{0x0244511c, 0x0213fd33, 0x002df634, 0x03dc6741, 0x003fce43, 0x01774694, 0x00a1d961, 0x006efb5e, 0x0128b5ce, 0x0005c627}}, Y: Field{[10]uint32{0x0382350d, 0x01a91ce9, 0x03bb5759, 0x026236cb, 0x0185c532, 0x029584a2, 0x021b948b, 0x00f8e504, 0x00f47c7b, 0x003ef28a}}}, + {X: Field{[10]uint32{0x00c2e84d, 0x0160e0a0, 0x01ee73f5, 0x0393ebf3, 0x010be685, 0x02496fcf, 0x01ae4e61, 0x02c1f6a1, 0x02c2e2a8, 0x003ef8cc}}, Y: Field{[10]uint32{0x024e29ca, 0x0295e5fa, 0x00eb30e1, 0x0381ad65, 0x02b11c43, 0x026d0b2f, 0x038c6d77, 0x01f6838f, 0x03425e18, 0x002aa45c}}}, + {X: Field{[10]uint32{0x00bc834f, 0x01e58ee8, 0x0321002d, 0x03d736ab, 0x012100d1, 0x00ba7348, 0x00bd5182, 0x01c97e2d, 0x02878b5e, 0x0022e7a2}}, Y: Field{[10]uint32{0x003ed659, 0x01de8233, 0x00563bed, 0x0371154b, 0x02b2e873, 0x002d95c0, 0x031d6ad8, 0x015af57f, 0x031cc28f, 0x000cc7ec}}}, + {X: Field{[10]uint32{0x01e111ca, 0x003323a3, 0x02a3bd73, 0x022ad9a2, 0x0234e1a6, 0x032986b0, 0x02798ace, 0x02f2b45e, 0x0011a3c0, 0x0025fa49}}, Y: Field{[10]uint32{0x0147f48f, 0x0312fc5a, 0x007eb7cd, 0x01d82ebf, 0x01047949, 0x00f08690, 0x035fb759, 0x01785cb9, 0x00a4bac1, 0x002c3c5c}}}, + {X: Field{[10]uint32{0x0044eea8, 0x008ec974, 0x016919cd, 0x007f5354, 0x0349aa3c, 0x0309e55d, 0x00c76f82, 0x00f1bb32, 0x001333a1, 0x00080d62}}, Y: Field{[10]uint32{0x000c7f29, 0x00f2245e, 0x025c0ee7, 0x03c41366, 0x00259fc4, 0x037c3cd1, 0x022f9517, 0x02bc2bb3, 0x02a48c86, 0x001202be}}}, + {X: Field{[10]uint32{0x027dbcff, 0x016fade9, 0x00343a66, 0x03988adf, 0x02617579, 0x02126fbf, 0x01551039, 0x01d02a40, 0x00cb1575, 0x0032a87b}}, Y: Field{[10]uint32{0x00e0a20b, 0x0354b829, 0x02577e0b, 0x004e707a, 0x011aee51, 0x02fc10b6, 0x03d34511, 0x01cbfedb, 0x03f9f1c9, 0x002a9a56}}}, + {X: Field{[10]uint32{0x02620719, 0x028eb6f0, 0x02bbd138, 0x0279ba3c, 0x03f33104, 0x03f5ae20, 0x02a212a7, 0x01ea3bf6, 0x03a2036f, 0x00239f0a}}, Y: Field{[10]uint32{0x02ec105c, 0x01863e0b, 0x02d0220a, 0x00c47fb3, 0x00d9b6e0, 0x01de7e30, 0x006c4e2e, 0x03ecfd61, 0x002f1434, 0x002f40dc}}}, + {X: Field{[10]uint32{0x02ace975, 0x018df1ee, 0x033b24dd, 0x0046393a, 0x0388fbad, 0x00301de0, 0x03ebf094, 0x001307f3, 0x00336dcd, 0x00381f70}}, Y: Field{[10]uint32{0x032a2c2c, 0x01985aac, 0x0019510d, 0x01a14011, 0x02ef6f92, 0x02f54c55, 0x02ccf311, 0x03b2c1d8, 0x00a00e5e, 0x002c4ef4}}}, + {X: Field{[10]uint32{0x038ce0cb, 0x03e8b7ee, 0x0307297a, 0x0247470c, 0x0095aba7, 0x036c2ca3, 0x018a9044, 0x02bc0427, 0x00252679, 0x001981b2}}, Y: Field{[10]uint32{0x00e1d3cc, 0x01f2b202, 0x02054647, 0x015cdae8, 0x0310fe6c, 0x011e1a3e, 0x010de777, 0x01e64d5c, 0x019ca980, 0x001d4179}}}, + {X: Field{[10]uint32{0x01e6f061, 0x02e64d47, 0x020b522a, 0x00d4ae67, 0x022b31f9, 0x0037976b, 0x005450fb, 0x0089b02d, 0x00dcec48, 0x0027efd3}}, Y: Field{[10]uint32{0x02f850dd, 0x03e98047, 0x02c91a7d, 0x0119c0d3, 0x00e9c5b6, 0x00d8adf7, 0x020d58a2, 0x0083a182, 0x00a23da0, 0x003cb934}}}, + {X: Field{[10]uint32{0x006916bc, 0x03d8618a, 0x01b1b976, 0x019fa003, 0x00b7cc81, 0x025df4cb, 0x00b0403e, 0x03ff0a62, 0x02975195, 0x000381b5}}, Y: Field{[10]uint32{0x030bb8bb, 0x011302f0, 0x01c83632, 0x02ec3069, 0x02068302, 0x012400fa, 0x0380e04a, 0x034885eb, 0x030a27d3, 0x0020054d}}}, + {X: Field{[10]uint32{0x0293a6e2, 0x028fc2a4, 0x01a6bcf4, 0x01dfa5e1, 0x03ff7925, 0x01b85b35, 0x0112fd4e, 0x00aab194, 0x03ab021d, 0x002b7359}}, Y: Field{[10]uint32{0x03fd7fb8, 0x02970ad5, 0x0293d0fa, 0x03526d6f, 0x018e4f40, 0x01730eeb, 0x0058608f, 0x00aaa814, 0x02202906, 0x001949ed}}}, + {X: Field{[10]uint32{0x01f2bd38, 0x02fde8b8, 0x00e133e0, 0x005da244, 0x035a4473, 0x025a026c, 0x007e963d, 0x01932c46, 0x01eab43a, 0x0007641a}}, Y: Field{[10]uint32{0x01e29108, 0x037cc6a4, 0x033bbf15, 0x023e93b0, 0x00fc78c2, 0x03bd5057, 0x012f9a68, 0x023fa52b, 0x02de854b, 0x002ac0f7}}}, + {X: Field{[10]uint32{0x0220a768, 0x008b99c2, 0x0140e3a4, 0x03dca8e0, 0x03603206, 0x033a0fd2, 0x00168ae8, 0x0224bc52, 0x0376b8ec, 0x003c7dad}}, Y: Field{[10]uint32{0x01bff25a, 0x02ff2cae, 0x0345d14a, 0x01f60a9f, 0x01e7136a, 0x02ec9736, 0x019b11a7, 0x0368845f, 0x00363413, 0x00224ae8}}}, + {X: Field{[10]uint32{0x02fab379, 0x007177c7, 0x03fb0040, 0x008d0ce9, 0x03c21d1c, 0x0228b70e, 0x03a8d1bf, 0x03d3343c, 0x014ace79, 0x002a213e}}, Y: Field{[10]uint32{0x02a05c96, 0x00c3e037, 0x03082dd6, 0x03e97434, 0x03c611af, 0x03c0f77d, 0x0282fbee, 0x009233b0, 0x016c6e45, 0x0017d4cd}}}, + {X: Field{[10]uint32{0x021da9ff, 0x0203c439, 0x02fe981a, 0x0020d7a7, 0x031fb2be, 0x02d2353d, 0x00165640, 0x02200384, 0x0030197a, 0x002c6621}}, Y: Field{[10]uint32{0x01d849b9, 0x01a36393, 0x00bdf44a, 0x01057b1c, 0x000e515a, 0x01b85068, 0x027ace58, 0x004b496f, 0x024dea7d, 0x003571e1}}}, + {X: Field{[10]uint32{0x0127fedb, 0x0110d383, 0x02d4d109, 0x02ba50bd, 0x0246985a, 0x02db24ea, 0x01c1db82, 0x016e12f5, 0x02a7529d, 0x00056dce}}, Y: Field{[10]uint32{0x02721f89, 0x036af23b, 0x02262075, 0x037bcbf2, 0x00632ac6, 0x00728f50, 0x0011259b, 0x0344f108, 0x02a2bc8a, 0x000a5f8c}}}, + {X: Field{[10]uint32{0x0197d40f, 0x01de0b1f, 0x00f3f57f, 0x01e85b34, 0x038e35cc, 0x005b948f, 0x01926301, 0x007ec596, 0x02e0443c, 0x000ce69d}}, Y: Field{[10]uint32{0x01fe9659, 0x02f5dcf3, 0x02a229e5, 0x01af104e, 0x03914f0f, 0x00ed4b9b, 0x02756201, 0x01e130cf, 0x012efecd, 0x00226419}}}, + {X: Field{[10]uint32{0x027adfef, 0x02d460ed, 0x0251bf64, 0x038613d3, 0x03b1c535, 0x02c24112, 0x018312e9, 0x0376ae51, 0x00fffb80, 0x002fbc9b}}, Y: Field{[10]uint32{0x0137490b, 0x02f79167, 0x03bb5ba1, 0x03c859d6, 0x012c6943, 0x016cc43d, 0x0320518c, 0x01aa0d63, 0x029aef07, 0x000e0624}}}, + {X: Field{[10]uint32{0x00b2427e, 0x036490c2, 0x01894c71, 0x02188c49, 0x003dd40d, 0x013e46c2, 0x00dae108, 0x0309cd3d, 0x00818daf, 0x0033715b}}, Y: Field{[10]uint32{0x03503cca, 0x0041fc07, 0x02c71f07, 0x00d4fd61, 0x01b43769, 0x0155e7e4, 0x01425694, 0x00a2d511, 0x009de9c8, 0x0003d2cc}}}, + {X: Field{[10]uint32{0x0175bc6d, 0x0148039f, 0x01911cd6, 0x0298a9dd, 0x03a09312, 0x0258717e, 0x01be80a1, 0x0211e7b2, 0x0281b1f3, 0x000f77bf}}, Y: Field{[10]uint32{0x02df055d, 0x0160d615, 0x015d3a1e, 0x01442a7a, 0x027c7e2d, 0x02a001f4, 0x03fae4eb, 0x02d1e53b, 0x02dd1eb9, 0x001d760f}}}, + {X: Field{[10]uint32{0x00576826, 0x00e41044, 0x0399e763, 0x03498eab, 0x02a18879, 0x02484b3c, 0x02bae125, 0x00b2f130, 0x03769903, 0x00369f19}}, Y: Field{[10]uint32{0x00553f08, 0x02ba7cce, 0x031d0c07, 0x00f0fc72, 0x024314cc, 0x03a01a63, 0x031f7799, 0x03116e61, 0x0188360a, 0x000b9e9b}}}, + {X: Field{[10]uint32{0x0280d927, 0x02aa446a, 0x003859df, 0x0312b870, 0x02b8aba4, 0x01fd1556, 0x00faa801, 0x00831623, 0x0035e0bc, 0x0009846d}}, Y: Field{[10]uint32{0x014508d4, 0x0032b4df, 0x01b417ce, 0x03490a79, 0x00e47549, 0x0014a7eb, 0x01ff8c1c, 0x03141119, 0x001ae51d, 0x003ad63e}}}, + {X: Field{[10]uint32{0x03962961, 0x03fb1ed9, 0x027bc3de, 0x0025a516, 0x020b8f4c, 0x001adc75, 0x015aa088, 0x01f12a9c, 0x014836f0, 0x002c3ef9}}, Y: Field{[10]uint32{0x03e5abe0, 0x020694e0, 0x010de2a8, 0x02c117b9, 0x021c1749, 0x0378c328, 0x018668fe, 0x01d13431, 0x022466e7, 0x00331828}}}, + {X: Field{[10]uint32{0x01020581, 0x02ed27b2, 0x01a9eb50, 0x03ad7b7b, 0x0277d371, 0x01180f21, 0x00b7688b, 0x03b9d7eb, 0x036fdc51, 0x000680cc}}, Y: Field{[10]uint32{0x00daa7d7, 0x01c57926, 0x0218ce9f, 0x01166f9f, 0x03bd5071, 0x02b3f6f1, 0x0055fc36, 0x03b7e266, 0x030309c0, 0x000ff3c6}}}, + {X: Field{[10]uint32{0x00c159ed, 0x03b9cbde, 0x013c3810, 0x02492793, 0x020cf728, 0x00bda28d, 0x0049b20f, 0x024556aa, 0x0215c834, 0x001d8e84}}, Y: Field{[10]uint32{0x00482684, 0x03797996, 0x0390bd7d, 0x031a7ff4, 0x037b68d5, 0x007cbc89, 0x0395fbad, 0x0387b685, 0x021ccf30, 0x000de09a}}}, + {X: Field{[10]uint32{0x02da4edd, 0x00b09f72, 0x01eff63f, 0x03617e81, 0x00f7e664, 0x01bc0623, 0x020a586a, 0x00f8df73, 0x00c23018, 0x001ff1ed}}, Y: Field{[10]uint32{0x03ed6a8f, 0x0057244a, 0x03f50ac4, 0x03ebf915, 0x036338d2, 0x02af9ef3, 0x02493430, 0x02681bc1, 0x000e6ea8, 0x003f5e9e}}}, + {X: Field{[10]uint32{0x0065ddd8, 0x00984d77, 0x008d7747, 0x03f3c05b, 0x03dc543b, 0x01049623, 0x01eb7d70, 0x01bd5436, 0x03c9b068, 0x00088a01}}, Y: Field{[10]uint32{0x016cc2ab, 0x0255ec29, 0x0098b43d, 0x02d0c072, 0x029a34b2, 0x0064e4f6, 0x036d1553, 0x008bbf2c, 0x0102456c, 0x002e59c2}}}, + {X: Field{[10]uint32{0x005fda77, 0x00627c3f, 0x01603ed0, 0x01182aff, 0x02db6363, 0x028134f1, 0x0233f69c, 0x0341b9b2, 0x033698d8, 0x001e763a}}, Y: Field{[10]uint32{0x03d955f1, 0x009945c8, 0x02b28f13, 0x02789b5e, 0x02931fd4, 0x00676d48, 0x011d460e, 0x00d2a637, 0x03e11b02, 0x002fff25}}}, + {X: Field{[10]uint32{0x03add34b, 0x013449fa, 0x01dc5d46, 0x01aab223, 0x031f801a, 0x037b3db8, 0x02b77130, 0x0386db56, 0x02188e72, 0x00288d99}}, Y: Field{[10]uint32{0x03d60ed1, 0x00daaf9d, 0x03aebb17, 0x0321464f, 0x0070e99a, 0x00543fec, 0x034cd1cd, 0x00644c9d, 0x0236f3e7, 0x003bc8f6}}}, + {X: Field{[10]uint32{0x01dd9612, 0x03f06ed2, 0x013be480, 0x02cfe87c, 0x01b1fcbd, 0x00fe91a9, 0x023e8e74, 0x0205b644, 0x004ddde6, 0x002daeb4}}, Y: Field{[10]uint32{0x02a4e511, 0x02c0402d, 0x035467f1, 0x001f6566, 0x01850c65, 0x0116e02c, 0x00b7f346, 0x02c9ce9a, 0x0209a290, 0x001617eb}}}, + {X: Field{[10]uint32{0x00c3dfbd, 0x007874bd, 0x03aceb49, 0x0163cf5b, 0x0133fcbd, 0x02ed4063, 0x03113db8, 0x039c54a0, 0x00253353, 0x000afc87}}, Y: Field{[10]uint32{0x038d896e, 0x03113273, 0x033ef569, 0x03628356, 0x03b9fec4, 0x00e91ec1, 0x00491214, 0x01356f23, 0x03a74e8a, 0x0038e80c}}}, + {X: Field{[10]uint32{0x01842744, 0x03777497, 0x02dda358, 0x0099a817, 0x0041e9ad, 0x01c4247d, 0x03f3a90e, 0x038d7418, 0x0241e978, 0x0019309e}}, Y: Field{[10]uint32{0x01ae32d1, 0x0304ce4f, 0x03d27521, 0x0008ed49, 0x02bed768, 0x03f99f05, 0x00aac9ec, 0x029a5662, 0x025e08fd, 0x003f2ed8}}}, + {X: Field{[10]uint32{0x0081a58d, 0x010b4ad9, 0x03399b75, 0x02b680be, 0x00af62ac, 0x018f35f2, 0x00ef4350, 0x016d7a69, 0x02f6fdfe, 0x00188287}}, Y: Field{[10]uint32{0x01b8054f, 0x030c16b7, 0x01ae57be, 0x0317b209, 0x03a45fa7, 0x0151f880, 0x007f105c, 0x024e9be8, 0x023c5503, 0x002c2de7}}}, + {X: Field{[10]uint32{0x007b95cd, 0x01d19d4c, 0x038a1ecd, 0x014681af, 0x0215e712, 0x0093b831, 0x03ef68b4, 0x01c550d1, 0x01317cef, 0x000548fc}}, Y: Field{[10]uint32{0x00743b1d, 0x0145bffc, 0x02612bf5, 0x03154f70, 0x00a55806, 0x03c4796d, 0x01fe67a3, 0x03599370, 0x00cc1d8a, 0x0031c955}}}, + {X: Field{[10]uint32{0x02ea0cfd, 0x035ca513, 0x03700f66, 0x00f02dd4, 0x01b43f76, 0x0335cff3, 0x00d4d8c2, 0x021e5300, 0x003c0a9c, 0x0035d94c}}, Y: Field{[10]uint32{0x03bc267b, 0x0180f495, 0x02623781, 0x008ab806, 0x0035b4cd, 0x028c1937, 0x0217b73d, 0x035dea8e, 0x00a5204d, 0x002ebf2b}}}, + {X: Field{[10]uint32{0x00c468b6, 0x03c12b59, 0x01a8ea17, 0x01ed860e, 0x01ffbbf8, 0x00972f10, 0x0198759c, 0x03a59594, 0x021afafc, 0x0029d7ad}}, Y: Field{[10]uint32{0x01869873, 0x0125f659, 0x007b8041, 0x00859356, 0x03a8eba3, 0x029b5439, 0x0049b181, 0x0122a94f, 0x0093240f, 0x0026600a}}}, + {X: Field{[10]uint32{0x00e59f2a, 0x01381aef, 0x03cfa408, 0x01f6fac2, 0x01e7053f, 0x009079a4, 0x01813c71, 0x0246db09, 0x034cd0bb, 0x001fe906}}, Y: Field{[10]uint32{0x0184aec7, 0x020ec738, 0x0209f7e5, 0x00b0012a, 0x039431e2, 0x03da8b15, 0x017e7e20, 0x01a57e0c, 0x0379755a, 0x00282505}}}, + {X: Field{[10]uint32{0x02e4dbf5, 0x0333fd85, 0x03d6fcc5, 0x03ef6082, 0x033bfa1b, 0x02b889db, 0x01eb4408, 0x03c4ab63, 0x01b72240, 0x00205b03}}, Y: Field{[10]uint32{0x037e52d0, 0x0059810f, 0x02c9f67c, 0x0342a606, 0x02e57acb, 0x03dc0957, 0x009dd4bb, 0x03996251, 0x013dd91e, 0x000a94b2}}}, + {X: Field{[10]uint32{0x023414f8, 0x03725430, 0x0380fbb7, 0x021ec305, 0x00ddbb3d, 0x011a4178, 0x0390ac73, 0x00509544, 0x01f1317f, 0x000cfd8d}}, Y: Field{[10]uint32{0x014bfbcb, 0x01a950f9, 0x013bdb62, 0x02000afe, 0x01151235, 0x02f0acb0, 0x034d570b, 0x006622e5, 0x015584eb, 0x001d0d68}}}, + {X: Field{[10]uint32{0x0251999c, 0x02fb11a8, 0x00eb3e94, 0x0079ed78, 0x030bdfe1, 0x02f10e29, 0x0307185f, 0x02ec0cd4, 0x02d704b0, 0x0034a50e}}, Y: Field{[10]uint32{0x036d577e, 0x02925059, 0x0006f19a, 0x01aceffb, 0x00b6097d, 0x03fdba7f, 0x01e41def, 0x028c53af, 0x03cf19aa, 0x000b72a3}}}, + {X: Field{[10]uint32{0x01fb1da6, 0x00494967, 0x01516b01, 0x01970434, 0x00fb524b, 0x01791283, 0x0054390b, 0x01d69bfb, 0x03bfc543, 0x0009aa87}}, Y: Field{[10]uint32{0x01a91b02, 0x009380e6, 0x03a2fd4b, 0x01bc02af, 0x0083973c, 0x039fa066, 0x037d0b6e, 0x01d7380c, 0x02a604c5, 0x00127b3a}}}, + {X: Field{[10]uint32{0x03d28d20, 0x02d633e9, 0x000cd65e, 0x01f7a08c, 0x02ab1871, 0x02523cbd, 0x026d7da1, 0x0280c172, 0x001af866, 0x001e02bb}}, Y: Field{[10]uint32{0x0008b91a, 0x03ca5e2f, 0x0392992c, 0x000862ab, 0x02414b3a, 0x001edbde, 0x0075b6d1, 0x00387aa4, 0x0041e45a, 0x00369940}}}, + {X: Field{[10]uint32{0x00b88b67, 0x035b540b, 0x03b3d5ee, 0x00fca7fd, 0x01ef9811, 0x00f31079, 0x0115853b, 0x037528f9, 0x02598e59, 0x000773fc}}, Y: Field{[10]uint32{0x02b77271, 0x02005c86, 0x012f28c6, 0x02faa6ae, 0x03aed86c, 0x00e0db81, 0x014307ae, 0x01c79159, 0x02307c68, 0x0035e5e1}}}, + {X: Field{[10]uint32{0x033ff70d, 0x0223b90d, 0x00b01e24, 0x00ea736d, 0x038f336f, 0x03b38718, 0x02367eb5, 0x0064de4f, 0x00a27732, 0x002c66bd}}, Y: Field{[10]uint32{0x00821dec, 0x01357de7, 0x0241dc21, 0x0337553d, 0x03b9e73f, 0x01aa3b9c, 0x037f27a2, 0x0168b509, 0x0039a510, 0x0028faa2}}}, + {X: Field{[10]uint32{0x00f6755e, 0x01e0bdad, 0x02066acf, 0x00b69223, 0x0235f24e, 0x024c925c, 0x00b6126b, 0x0277dbca, 0x0329548a, 0x00072307}}, Y: Field{[10]uint32{0x01ff432d, 0x017be584, 0x030c9179, 0x008ea198, 0x0278108b, 0x0065a81f, 0x00c7e2a3, 0x006bb173, 0x03526a1e, 0x00069e6a}}}, + {X: Field{[10]uint32{0x015716ce, 0x00454faf, 0x021d4f0b, 0x01d44b10, 0x00e4d700, 0x010c4e5a, 0x00a10b7b, 0x030f08f2, 0x01da1ad6, 0x002dbfe3}}, Y: Field{[10]uint32{0x01ce61b8, 0x00c1be69, 0x0232d7c9, 0x030aaa1e, 0x00af8dbe, 0x036cf807, 0x00d21e4e, 0x01059f28, 0x01c6b7b7, 0x00134e1a}}}, + {X: Field{[10]uint32{0x00f47b5c, 0x012233b4, 0x02ccb375, 0x02760c39, 0x00ec08cf, 0x03e82b58, 0x00219329, 0x02a12a06, 0x00acf61b, 0x00373bfd}}, Y: Field{[10]uint32{0x0137d6f9, 0x029bad70, 0x013b1736, 0x02c0e158, 0x00fb1b8d, 0x029292aa, 0x03d5508a, 0x0186d220, 0x00e192bc, 0x002526bb}}}, + {X: Field{[10]uint32{0x00a5ebef, 0x03bacdf7, 0x01c8b131, 0x0262fa14, 0x01843ccf, 0x028f3a10, 0x004aa189, 0x01a2725f, 0x03a7b709, 0x00155879}}, Y: Field{[10]uint32{0x019a14da, 0x007c56ea, 0x015a709a, 0x029b9977, 0x0233b924, 0x01ad0528, 0x00e6b7f2, 0x02f8d90c, 0x0017f298, 0x0012c423}}}, + {X: Field{[10]uint32{0x0395a257, 0x003265e8, 0x008027ca, 0x01516cf2, 0x019c56a2, 0x038193a7, 0x025d5bb2, 0x00565423, 0x017789b0, 0x00136625}}, Y: Field{[10]uint32{0x00b6e0d0, 0x007c8850, 0x02675795, 0x03396dc1, 0x00506964, 0x016c0271, 0x03200c9f, 0x001d5b16, 0x0333ac95, 0x002abaeb}}}, + {X: Field{[10]uint32{0x033bfc8e, 0x01a84bf8, 0x03668124, 0x00befd2b, 0x00e9da51, 0x019b3201, 0x02d55a9d, 0x00f12cc2, 0x026e0637, 0x0020ad63}}, Y: Field{[10]uint32{0x025ffb38, 0x03011e06, 0x013d387c, 0x01f4bfcd, 0x01d6d757, 0x03fd310a, 0x033b5c21, 0x0078dcb0, 0x022d98dc, 0x0020de04}}}, + {X: Field{[10]uint32{0x02c6cdf3, 0x0266fa00, 0x0063ad11, 0x01d4d9a5, 0x03714c3d, 0x03beb113, 0x017d8809, 0x01e12ff9, 0x008aa773, 0x003d27ea}}, Y: Field{[10]uint32{0x0218b3f4, 0x02a8e7e6, 0x00772b96, 0x02c12608, 0x02aa9855, 0x024d20ef, 0x03e72814, 0x02904722, 0x02c02164, 0x00106bfd}}}, + {X: Field{[10]uint32{0x00efd78c, 0x031633b0, 0x03073969, 0x03c035e2, 0x010ce910, 0x030614a9, 0x01b97a78, 0x01168630, 0x01dbac84, 0x0019f521}}, Y: Field{[10]uint32{0x00981e97, 0x01bcc821, 0x034be44e, 0x02e73c67, 0x01596f49, 0x022fc1f6, 0x00aa5a82, 0x00acc57f, 0x012a24ff, 0x001c776a}}}, + {X: Field{[10]uint32{0x0304d4cd, 0x02a58411, 0x0350adb2, 0x01fa2d74, 0x0030a46f, 0x0169c5d8, 0x0399883b, 0x00e30f3f, 0x02f2c190, 0x0024517d}}, Y: Field{[10]uint32{0x0222b0bc, 0x00036f9a, 0x00add567, 0x00aedb9e, 0x036c8e42, 0x035de2ce, 0x00664d54, 0x0317f875, 0x01e7852a, 0x0027645e}}}, + {X: Field{[10]uint32{0x02b2631b, 0x00f88fd1, 0x024b3550, 0x02260237, 0x01536740, 0x001c66af, 0x033848ce, 0x03d7c473, 0x0247efc2, 0x00124b54}}, Y: Field{[10]uint32{0x008fd750, 0x02e31020, 0x00863d50, 0x002ca49c, 0x009f021d, 0x02656935, 0x0168877c, 0x032261fb, 0x03627812, 0x000dd2c1}}}, + {X: Field{[10]uint32{0x03dd1dec, 0x02072985, 0x035490a3, 0x002d1861, 0x0125c661, 0x00af6e71, 0x018d2317, 0x0059e24a, 0x03b8bb81, 0x0016e377}}, Y: Field{[10]uint32{0x031f7568, 0x028d4c5e, 0x031cea92, 0x0030fa20, 0x03c7ae17, 0x00cf53ce, 0x010dee01, 0x0086345f, 0x0364fce3, 0x002d1f4d}}}, + {X: Field{[10]uint32{0x02406c65, 0x0174c3c3, 0x02c5c6a3, 0x03af6847, 0x00063c6f, 0x035531b5, 0x01e603cc, 0x005906bd, 0x03ba25a6, 0x002236dc}}, Y: Field{[10]uint32{0x0000a753, 0x01efc6d2, 0x0056b402, 0x03843051, 0x009b8b5b, 0x00a57e30, 0x004c67ae, 0x035edc22, 0x037b1c1d, 0x000e6c1b}}}, + {X: Field{[10]uint32{0x00382451, 0x020246a7, 0x03721fb3, 0x02f78cc3, 0x032a7037, 0x02c25558, 0x0185070b, 0x007ad0b3, 0x009aa23c, 0x000d2573}}, Y: Field{[10]uint32{0x029799ef, 0x00f843ed, 0x0064dd9b, 0x013d18bf, 0x030b82ff, 0x031d55ef, 0x00299573, 0x020b7dd1, 0x03216f39, 0x001ffaae}}}, + {X: Field{[10]uint32{0x0045d7a2, 0x026994b1, 0x034f1cd6, 0x014b0676, 0x010a4f7b, 0x0348c26c, 0x03756669, 0x00431e4f, 0x02a6970e, 0x003a2973}}, Y: Field{[10]uint32{0x02402b96, 0x007c3a8c, 0x01982b96, 0x0090a536, 0x02fab476, 0x01a3a305, 0x012dbf36, 0x0166ee5b, 0x02bfbd52, 0x0036ab36}}}, + {X: Field{[10]uint32{0x03931f9a, 0x0002d0d9, 0x02e32b57, 0x03cacacb, 0x0051af33, 0x0367bf94, 0x009c4837, 0x01eb78e6, 0x038ae81a, 0x0001ba31}}, Y: Field{[10]uint32{0x00291d35, 0x038a5d4b, 0x029ca47b, 0x024cc375, 0x027d1d51, 0x038429e0, 0x035412cb, 0x01068516, 0x0104751b, 0x00395991}}}, + {X: Field{[10]uint32{0x010a539e, 0x0345c24c, 0x01208ab4, 0x02ddd137, 0x00b9551d, 0x038ea4bb, 0x011722b1, 0x016cbe0a, 0x00a3010c, 0x002e3d48}}, Y: Field{[10]uint32{0x030f3d75, 0x02474025, 0x007909e2, 0x007b641d, 0x03a96d3d, 0x0245444f, 0x026451e1, 0x00b7b63d, 0x003ab671, 0x00196407}}}, + {X: Field{[10]uint32{0x02d8005a, 0x037b02ec, 0x00adfe49, 0x029f2e01, 0x00ae0dea, 0x028b05bf, 0x00bd9173, 0x02605622, 0x00586445, 0x002814e1}}, Y: Field{[10]uint32{0x020d7a67, 0x02329b77, 0x029c8ca5, 0x022cf581, 0x03e71260, 0x02624974, 0x00dab73f, 0x0327ee24, 0x030023dc, 0x0009e20b}}}, + {X: Field{[10]uint32{0x01222144, 0x03e28145, 0x036001fa, 0x000e704b, 0x022117cf, 0x030a566f, 0x018b631f, 0x0024907b, 0x0016aa7f, 0x00104a01}}, Y: Field{[10]uint32{0x037f58e4, 0x0205ec6b, 0x038e1808, 0x0138cabb, 0x02613f35, 0x010fdf81, 0x015c363c, 0x0210cfb9, 0x000dfd8e, 0x0030bfbe}}}, + {X: Field{[10]uint32{0x00c7a1ee, 0x023e2a86, 0x0241a7dd, 0x003ac142, 0x028b536f, 0x00f584ec, 0x01130b7e, 0x00f44147, 0x0336cbf8, 0x00312e3f}}, Y: Field{[10]uint32{0x027b4d47, 0x0359fb17, 0x037fc276, 0x0052b525, 0x01f6cf6c, 0x01d448e6, 0x02ba76b4, 0x00cded19, 0x004c8867, 0x0021f4f1}}}, + {X: Field{[10]uint32{0x00a51ac1, 0x029fd6a8, 0x002a93b7, 0x02e61b68, 0x031de630, 0x02df3495, 0x03850106, 0x00e38e9a, 0x013a7cb9, 0x00103ada}}, Y: Field{[10]uint32{0x036d8d18, 0x038db0eb, 0x0389fa51, 0x0293bea7, 0x01c7ede7, 0x0132e201, 0x003b770c, 0x0105f72f, 0x01e014d3, 0x0009ee1d}}}, + {X: Field{[10]uint32{0x0381dad4, 0x012a6f5f, 0x01fb86e9, 0x02137cdc, 0x00ac0c9d, 0x03cb77c9, 0x0365d675, 0x000601d4, 0x010254e3, 0x003dd246}}, Y: Field{[10]uint32{0x005a6e46, 0x03093357, 0x00c7c17a, 0x031cbb1a, 0x0268af0c, 0x0349d758, 0x01bf1b5a, 0x00203f72, 0x0336c549, 0x001a89c6}}}, + {X: Field{[10]uint32{0x009f287e, 0x014c9521, 0x032e36a0, 0x02b30d93, 0x02f16388, 0x01e88fe3, 0x026996c9, 0x00676853, 0x021de4ce, 0x0033c4c9}}, Y: Field{[10]uint32{0x03adac10, 0x002a5a1c, 0x02b7c04a, 0x020f1dc6, 0x008218c4, 0x02e1ca9e, 0x024ab51b, 0x01d11fdf, 0x018dbe1a, 0x00155a21}}}, + {X: Field{[10]uint32{0x013e8cb3, 0x00f1d86b, 0x02a81726, 0x005dcb1c, 0x0394cfd5, 0x00889a11, 0x01166066, 0x021f7f55, 0x02629dd0, 0x00271af6}}, Y: Field{[10]uint32{0x010c0eb3, 0x006d9e80, 0x030be05b, 0x0317896e, 0x019e5fbc, 0x018bff1e, 0x035628ed, 0x0329faec, 0x007b9c7f, 0x000b1df7}}}, + {X: Field{[10]uint32{0x01d26bf3, 0x02adf96e, 0x01922bb7, 0x01ef456c, 0x01c1526d, 0x02cc5256, 0x02cc9a55, 0x0277b083, 0x035f6443, 0x00363440}}, Y: Field{[10]uint32{0x00dbbe30, 0x006e5233, 0x003143eb, 0x00dae72d, 0x03b922a4, 0x02506efd, 0x007f697b, 0x03fa8fd8, 0x00d6ccfd, 0x002adf8d}}}, + {X: Field{[10]uint32{0x01c1d424, 0x02f08a34, 0x022a939c, 0x0296c028, 0x037d53ae, 0x00203c21, 0x032e1047, 0x01e98378, 0x0223b822, 0x0031bd02}}, Y: Field{[10]uint32{0x01d80345, 0x01af42f0, 0x0064d7fe, 0x01af96a3, 0x0263a313, 0x022c8dd2, 0x006f1f4b, 0x02317244, 0x018fcf4b, 0x00385af1}}}, + {X: Field{[10]uint32{0x03a43536, 0x0002e3d8, 0x02509494, 0x03358748, 0x01d1e007, 0x03388b78, 0x007c2dec, 0x034e95c5, 0x02229477, 0x000e9a76}}, Y: Field{[10]uint32{0x01a0e284, 0x030bef92, 0x03c3925c, 0x035ce272, 0x0246b98c, 0x026de73e, 0x00c95e1c, 0x01818b1f, 0x03d5c4ba, 0x0031e713}}}, + {X: Field{[10]uint32{0x0325fc9d, 0x01ede500, 0x0339b7bc, 0x020a42a8, 0x00814c3d, 0x01963c86, 0x037f6fca, 0x0312291a, 0x00e5492f, 0x0006d7ee}}, Y: Field{[10]uint32{0x007fff39, 0x01bef9f7, 0x02982164, 0x00d63bfa, 0x01d2ca42, 0x0124d6c0, 0x02f49f4c, 0x002064ad, 0x03124c9e, 0x00298a42}}}, + {X: Field{[10]uint32{0x009a3845, 0x02fa3b0d, 0x014c747b, 0x0088c7c1, 0x028a7559, 0x0069fe9f, 0x01e1c37d, 0x02d3ab72, 0x0302b004, 0x003f6e83}}, Y: Field{[10]uint32{0x011646fe, 0x0208088e, 0x0262ae2b, 0x02775cb5, 0x0106c3c0, 0x00c310f2, 0x02defd7e, 0x01c709bf, 0x01c9e964, 0x0010b698}}}, + {X: Field{[10]uint32{0x035140df, 0x03c32ce8, 0x01760f38, 0x010cbebc, 0x007c1663, 0x018ce262, 0x03279f70, 0x02598af9, 0x01bfcb7b, 0x0030e4e4}}, Y: Field{[10]uint32{0x02f556e1, 0x02d58f26, 0x02d664c5, 0x02075e94, 0x03449f9f, 0x03de7606, 0x00b8b3ff, 0x020b3121, 0x003453dc, 0x003a8538}}}, + {X: Field{[10]uint32{0x0059cbcb, 0x0385d102, 0x01321675, 0x00280886, 0x0019aedd, 0x01b2c831, 0x000e36cc, 0x032ca86b, 0x013dc716, 0x000953fc}}, Y: Field{[10]uint32{0x02e35921, 0x002b4ae4, 0x03701c40, 0x033e0fac, 0x00896e02, 0x011fd6fa, 0x036bfe32, 0x009abe78, 0x00f3916d, 0x00009913}}}, + {X: Field{[10]uint32{0x00930474, 0x0327d5ca, 0x00c5b071, 0x0176a9f2, 0x021769d3, 0x0215a009, 0x008974e9, 0x0192b68b, 0x0260e9b4, 0x0009392a}}, Y: Field{[10]uint32{0x00479f8e, 0x01cd4e3a, 0x02af78d9, 0x00e3672e, 0x036ed37c, 0x0332501b, 0x022244bc, 0x013f8202, 0x02d182a9, 0x00277df0}}}, + {X: Field{[10]uint32{0x017543a6, 0x00b13db4, 0x01ef8070, 0x03062ffc, 0x02fb19a4, 0x01667f00, 0x03d81b38, 0x01a170fb, 0x03adf906, 0x001eb66e}}, Y: Field{[10]uint32{0x01246f95, 0x02ab5931, 0x02df0133, 0x010d1249, 0x00da45e2, 0x02294cf7, 0x013ac8fd, 0x006293dc, 0x01709c40, 0x00261e2e}}}, + {X: Field{[10]uint32{0x02d8ae53, 0x00495958, 0x022b501d, 0x00e6f97e, 0x00c6e083, 0x01f7eeaa, 0x009eb2df, 0x021c5f83, 0x00d9383a, 0x0025f63f}}, Y: Field{[10]uint32{0x03c6a777, 0x0300a3c1, 0x0074c4a2, 0x0329fe3d, 0x03b1f114, 0x03616be9, 0x00363e15, 0x013e19fe, 0x024cf578, 0x00061e72}}}, + {X: Field{[10]uint32{0x02fe7572, 0x01c77762, 0x0172cb87, 0x03bd417b, 0x002af1ac, 0x0315bfeb, 0x014d1a92, 0x030cb878, 0x03855a08, 0x000f83f1}}, Y: Field{[10]uint32{0x02149390, 0x0396c25b, 0x020b5884, 0x03cf7c56, 0x01bb1768, 0x028c2d55, 0x0044fc9d, 0x022253c2, 0x03fcfd1e, 0x001b5e6d}}}, + {X: Field{[10]uint32{0x01602562, 0x01fb3ed9, 0x037ec55b, 0x039ff1d5, 0x02fda483, 0x02275bd7, 0x023a9b53, 0x03619076, 0x03dbb132, 0x00367685}}, Y: Field{[10]uint32{0x0223b70b, 0x03e318f1, 0x001a7b67, 0x017a2821, 0x0033a4f3, 0x03e3c8ec, 0x027f9e63, 0x0035c0bb, 0x01e45feb, 0x0020391c}}}, + {X: Field{[10]uint32{0x03ca18f3, 0x026026db, 0x039eca3d, 0x014e75be, 0x03f38e28, 0x02dc484a, 0x0135daa7, 0x0078d20a, 0x0366afcd, 0x0006123d}}, Y: Field{[10]uint32{0x036f5884, 0x003d1342, 0x00b7dee7, 0x03d2a4f5, 0x005f9196, 0x01d23b65, 0x0135df63, 0x0153c927, 0x0082645d, 0x0032a69e}}}, + {X: Field{[10]uint32{0x017a9f2f, 0x02728112, 0x02be0a84, 0x011fdcb1, 0x031a9d00, 0x03f0b457, 0x0165b2d4, 0x02b1d96b, 0x00ae9a7d, 0x003b4dd1}}, Y: Field{[10]uint32{0x02b5fb5b, 0x00d113da, 0x02f36b76, 0x0121c19b, 0x032fdc52, 0x00f11dfb, 0x0323d032, 0x031bdf92, 0x012ed4e5, 0x000f3ddb}}}, + {X: Field{[10]uint32{0x033676d7, 0x033fbf97, 0x026b7b1c, 0x0332a188, 0x0391212a, 0x000c49c1, 0x00a3a65e, 0x01516ac4, 0x0373edf3, 0x0031181e}}, Y: Field{[10]uint32{0x017eb3ec, 0x010824cf, 0x02d7728c, 0x02711771, 0x012628ac, 0x008c38f7, 0x000cd036, 0x03de0f57, 0x025b8595, 0x000c6b51}}}, + {X: Field{[10]uint32{0x000e96f0, 0x0392c2af, 0x00699641, 0x006d93ac, 0x00bfb9ad, 0x00e8fe94, 0x020af049, 0x01a75e2c, 0x02ed2aaf, 0x00070258}}, Y: Field{[10]uint32{0x01aede44, 0x015a92ab, 0x0012302d, 0x01828e5f, 0x02591b5a, 0x021e9fda, 0x029c5b0a, 0x038e8a90, 0x02f6e088, 0x00127c46}}}, + {X: Field{[10]uint32{0x01c19454, 0x02682637, 0x0045b1f0, 0x006ab989, 0x0182250e, 0x02ded0e0, 0x00dc6caf, 0x02567826, 0x036c9a41, 0x0001a811}}, Y: Field{[10]uint32{0x0111c7e1, 0x014bb1bd, 0x0233fbe5, 0x02e7331f, 0x00ab4288, 0x03238d45, 0x0266cd37, 0x031324b0, 0x00978ae3, 0x0015a10b}}}, + {X: Field{[10]uint32{0x00191f1c, 0x019e0c28, 0x028f6b93, 0x0203a729, 0x02cdb59a, 0x00a7c0f1, 0x03149993, 0x002a829a, 0x00f653a3, 0x00009368}}, Y: Field{[10]uint32{0x00138235, 0x00b1d5cb, 0x00b53d1a, 0x01a67880, 0x00cdbd3b, 0x00187185, 0x010683af, 0x02f3d6e0, 0x0080aa78, 0x0020f9e4}}}, + {X: Field{[10]uint32{0x021a7764, 0x00dd0fe6, 0x0075f6f3, 0x023c089f, 0x02a07872, 0x00c99100, 0x00719010, 0x02741fd6, 0x00832247, 0x00001b0d}}, Y: Field{[10]uint32{0x00dcc4c6, 0x024b02e8, 0x01bffeb1, 0x0043c361, 0x00be7792, 0x016f6916, 0x03128d84, 0x015021af, 0x03744a12, 0x0028ddeb}}}, + {X: Field{[10]uint32{0x01c43baf, 0x01e3e675, 0x00905154, 0x03d28525, 0x011cdc26, 0x020acdb8, 0x02cf2498, 0x032c9ac9, 0x03bb4d14, 0x00084aaa}}, Y: Field{[10]uint32{0x0047e281, 0x0358140e, 0x01148ca1, 0x028ff099, 0x0011c22e, 0x02ea3961, 0x02ed57d7, 0x0160ae63, 0x020a81d1, 0x003a4502}}}, + {X: Field{[10]uint32{0x0343b10e, 0x005096ac, 0x011edf37, 0x031092a5, 0x02f26ee0, 0x02c2e89c, 0x006824e5, 0x02882a35, 0x00f12afc, 0x00289d1e}}, Y: Field{[10]uint32{0x004036a3, 0x020292ef, 0x017598ec, 0x028df1f3, 0x0270ad0b, 0x01e0635e, 0x03bdecb6, 0x025ea968, 0x0386a7fc, 0x001479d2}}}, + {X: Field{[10]uint32{0x0172e293, 0x03dc4681, 0x03fe5716, 0x001fa336, 0x02b9b8a5, 0x03d57838, 0x022fa7e8, 0x03e7ae8b, 0x029a7171, 0x00387049}}, Y: Field{[10]uint32{0x02afba46, 0x024cd70c, 0x00848e63, 0x029db40d, 0x005562c4, 0x03a09da1, 0x00d8e242, 0x00c90be6, 0x01700895, 0x001073e8}}}, + {X: Field{[10]uint32{0x01e09efb, 0x0209f03d, 0x007804d5, 0x022c9082, 0x0062f0f7, 0x03303ef6, 0x03328e1e, 0x0238642e, 0x004c1941, 0x00081355}}, Y: Field{[10]uint32{0x03d52fb7, 0x015c1664, 0x009f06d0, 0x03514d39, 0x0018cf4e, 0x013e6030, 0x023799cb, 0x00561c42, 0x00e31f5d, 0x00319826}}}, + {X: Field{[10]uint32{0x025172ad, 0x0121b15e, 0x016ee361, 0x02c8eac6, 0x00980138, 0x01e2d33c, 0x0230de2f, 0x03cbcb7c, 0x030a11a6, 0x0005bb77}}, Y: Field{[10]uint32{0x01992684, 0x028338ad, 0x0318bb39, 0x02d3ee05, 0x001327bd, 0x0040b108, 0x004a7926, 0x02cf0648, 0x018fed8a, 0x0038f6cd}}}, + {X: Field{[10]uint32{0x038995f1, 0x020a74ca, 0x0080eaf6, 0x0069e72c, 0x013df700, 0x008c54de, 0x026b7c10, 0x0365ad97, 0x00312298, 0x001f27de}}, Y: Field{[10]uint32{0x01f51e5c, 0x006551bb, 0x000e4a60, 0x0346eedc, 0x02b2481d, 0x014f2ccb, 0x002018fc, 0x0283c6c9, 0x003c90e3, 0x00080df3}}}, + {X: Field{[10]uint32{0x0198fb1c, 0x01a2c598, 0x02dee211, 0x03a54c31, 0x0263aee7, 0x00b5a580, 0x03913a5b, 0x02e3db06, 0x01461dbe, 0x0004a70b}}, Y: Field{[10]uint32{0x01137964, 0x02b097d5, 0x00dc1747, 0x02fdf3a8, 0x027bbd80, 0x00a1f559, 0x0214b72a, 0x009fe68a, 0x02b961c0, 0x000a7ffb}}}, + {X: Field{[10]uint32{0x036175aa, 0x02812707, 0x03b12570, 0x009f818c, 0x02de2049, 0x00c896d4, 0x011f9daa, 0x024cbbdb, 0x016530d4, 0x0022f8b9}}, Y: Field{[10]uint32{0x005510c8, 0x03060014, 0x0340423c, 0x02f5a9a1, 0x03fabfe4, 0x00f02547, 0x0007056e, 0x00334500, 0x02871a13, 0x000d92d3}}}, + {X: Field{[10]uint32{0x0252fa6c, 0x024265d8, 0x00c5e27c, 0x00b97e20, 0x0142a6e1, 0x014ed310, 0x00ceb624, 0x02719eac, 0x030842ae, 0x00102d0f}}, Y: Field{[10]uint32{0x02a2068f, 0x00a812f3, 0x02cca443, 0x03fb448f, 0x00248f11, 0x03168b4b, 0x025e46f2, 0x00b96ec8, 0x02c5de1b, 0x001b46b1}}}, + {X: Field{[10]uint32{0x02c669df, 0x011ce816, 0x00f17087, 0x026f8dc9, 0x014c2cba, 0x00f1276d, 0x01caa559, 0x0137cf3c, 0x038a02f3, 0x0011f888}}, Y: Field{[10]uint32{0x00f31f3a, 0x026fa0a7, 0x01908939, 0x009d8237, 0x00acfc61, 0x00294bdf, 0x02104a36, 0x00957fb2, 0x03a203ee, 0x00134133}}}, + {X: Field{[10]uint32{0x01cfc35a, 0x029727b8, 0x02d607c7, 0x012d77e3, 0x03b3de47, 0x01315975, 0x00433238, 0x031b6ad2, 0x00553a45, 0x0005ca1b}}, Y: Field{[10]uint32{0x0320007f, 0x01c8f258, 0x000cf6d8, 0x0091e4cd, 0x035b194d, 0x02550c41, 0x03104b27, 0x01454582, 0x034775a4, 0x00185cb4}}}, + {X: Field{[10]uint32{0x01d7bb31, 0x02c810a3, 0x01258b7f, 0x0325367b, 0x010a3e96, 0x0158cab1, 0x010bd344, 0x024b2b42, 0x039d3c14, 0x000d146b}}, Y: Field{[10]uint32{0x014974d6, 0x03e2d06c, 0x0079acc5, 0x004e49f3, 0x007687c5, 0x013068ec, 0x0284fd78, 0x01b81b9c, 0x03832123, 0x0037524c}}}, + {X: Field{[10]uint32{0x014e5ce2, 0x03409480, 0x01619d23, 0x00e96caa, 0x00ed9afa, 0x01b82b11, 0x01bee2da, 0x0179ff2d, 0x0081eccc, 0x002c02a9}}, Y: Field{[10]uint32{0x008866a1, 0x032a3efa, 0x022424a2, 0x02a79f9d, 0x0210d732, 0x0107e07e, 0x002ceb74, 0x00cb383d, 0x00861f00, 0x0001a1ed}}}, + {X: Field{[10]uint32{0x00b23311, 0x01571fa8, 0x01e2fa8a, 0x035301d8, 0x020ef706, 0x0135cd6c, 0x008a2393, 0x03247fc9, 0x029cc75b, 0x0014fb23}}, Y: Field{[10]uint32{0x01d45919, 0x00413d91, 0x027688b5, 0x012e7f60, 0x00c352f5, 0x0175716a, 0x01104e01, 0x02c7b46d, 0x03c063c4, 0x0006c477}}}, + {X: Field{[10]uint32{0x01efab66, 0x02461b29, 0x030a4cdc, 0x01e1eaed, 0x032fc80d, 0x01c78ce0, 0x03eddd8d, 0x00b268ec, 0x01b39c07, 0x0007b378}}, Y: Field{[10]uint32{0x026dd626, 0x02b82f2b, 0x025f30da, 0x00c25228, 0x00239f0c, 0x00812734, 0x00cecb18, 0x025d8adc, 0x02c75a79, 0x00013d6b}}}, + {X: Field{[10]uint32{0x03b1394e, 0x0321d526, 0x012e65af, 0x02759dc1, 0x011e9023, 0x02823be9, 0x039b479f, 0x015631ea, 0x03c3702b, 0x00007f8b}}, Y: Field{[10]uint32{0x02845c2c, 0x02f5c831, 0x0326d30f, 0x003229f6, 0x0211a64c, 0x01b523f9, 0x016df2b6, 0x0174eb08, 0x02ae3a39, 0x003dad61}}}, + {X: Field{[10]uint32{0x006d5dec, 0x01c62c78, 0x039ba872, 0x0314a296, 0x0376e64c, 0x03c0c71e, 0x02ba0c20, 0x00ab5560, 0x032fb8ac, 0x002d4f42}}, Y: Field{[10]uint32{0x02e3a289, 0x03c0d3a4, 0x0087b351, 0x01de51da, 0x02041015, 0x01f48c94, 0x03b034c1, 0x021ea992, 0x018951ab, 0x00226139}}}, + {X: Field{[10]uint32{0x0337cf95, 0x02b784a3, 0x02ea7bc0, 0x00428845, 0x01a06ca3, 0x03ccd760, 0x03fe5d81, 0x008d999c, 0x011603bc, 0x00001539}}, Y: Field{[10]uint32{0x0312bd4a, 0x00e9e05c, 0x030b4c5b, 0x01e92e64, 0x01923660, 0x03a05cd5, 0x037206d6, 0x00b0afc6, 0x00269deb, 0x003d1c72}}}, + {X: Field{[10]uint32{0x03b29a7b, 0x036ca0d9, 0x01f598c4, 0x02b19754, 0x013b8087, 0x0322eae4, 0x01e22244, 0x008e8b4e, 0x0372a1d4, 0x0039fbed}}, Y: Field{[10]uint32{0x03a9b6e7, 0x039171e4, 0x023bd587, 0x0282854b, 0x03704a39, 0x01fda863, 0x02b47f41, 0x0022c2fc, 0x0186031d, 0x003cb7ed}}}, + {X: Field{[10]uint32{0x00b519fe, 0x011ae634, 0x03e67034, 0x00ab7020, 0x010b163f, 0x027bc0c8, 0x03b43097, 0x018ea0ab, 0x01aae8a2, 0x0017b167}}, Y: Field{[10]uint32{0x01ef82b9, 0x0057aa1e, 0x0304e842, 0x01bd7016, 0x03a8a531, 0x01395613, 0x01c6aab9, 0x03ab94c3, 0x00c36a3d, 0x000baad3}}}, + {X: Field{[10]uint32{0x00bb62f5, 0x032e40f5, 0x0121658c, 0x01a71034, 0x0001119f, 0x03f07c26, 0x02975c8e, 0x0277ef6b, 0x00d92058, 0x00109ed7}}, Y: Field{[10]uint32{0x02d1213d, 0x011a1995, 0x01b18d98, 0x028c1a1c, 0x006500b5, 0x017f2a1e, 0x022803c3, 0x01210905, 0x02e3b879, 0x00341579}}}, + {X: Field{[10]uint32{0x0105bcad, 0x02113be7, 0x00736554, 0x03630344, 0x002cc30d, 0x03750b2e, 0x03422c79, 0x013cf423, 0x0315fc59, 0x00152552}}, Y: Field{[10]uint32{0x0335373a, 0x011cd33d, 0x0397564b, 0x03d7af30, 0x029c6b88, 0x00680392, 0x03f8e042, 0x027080ab, 0x00657356, 0x0021a9f3}}}, + {X: Field{[10]uint32{0x01f32559, 0x016879ac, 0x021f01b5, 0x02019e8a, 0x03573eb4, 0x0255a194, 0x01aa7b33, 0x003efca8, 0x038d2367, 0x003fdbe3}}, Y: Field{[10]uint32{0x02c7e218, 0x02b07706, 0x017cd2d4, 0x03d0fe3d, 0x0336cd33, 0x027f6511, 0x031552f0, 0x02f15f5c, 0x01a6c7ca, 0x001e94fc}}}, + {X: Field{[10]uint32{0x018a2381, 0x00309965, 0x0152b842, 0x03ee2805, 0x023bba8e, 0x007832e2, 0x02d852f4, 0x030843a0, 0x01e99021, 0x001d35c9}}, Y: Field{[10]uint32{0x01bb2bb0, 0x02d6153d, 0x0227c0ae, 0x039809b2, 0x0192f18d, 0x00405b76, 0x03d6ca4e, 0x01c2ee20, 0x0246aa9f, 0x0013b9a5}}}, + {X: Field{[10]uint32{0x009c845b, 0x030c9479, 0x008d76d3, 0x01c35dd1, 0x01feca05, 0x01636176, 0x0168fbbc, 0x010b270b, 0x037efc03, 0x003a50e7}}, Y: Field{[10]uint32{0x02233916, 0x006f808f, 0x03592203, 0x039ea4a1, 0x01566667, 0x03435c19, 0x0290b459, 0x0095ebbb, 0x01981b7e, 0x0009f683}}}, + {X: Field{[10]uint32{0x01c0b911, 0x01572c29, 0x00f1e2c0, 0x00ca7cb1, 0x0305facb, 0x00fff44c, 0x0126622b, 0x002159b7, 0x008d81a6, 0x0025a129}}, Y: Field{[10]uint32{0x024e68b2, 0x00d4cafc, 0x018161be, 0x00979ebc, 0x03294bbd, 0x0179ed39, 0x0187c31f, 0x03eea975, 0x02d250ad, 0x002480e2}}}, + {X: Field{[10]uint32{0x020e7609, 0x01df25c6, 0x019b4162, 0x00dd7e74, 0x009e4cf8, 0x037161ca, 0x030f1214, 0x0389bb1f, 0x02f90469, 0x0007400e}}, Y: Field{[10]uint32{0x031e5123, 0x02bfa7bd, 0x02139c84, 0x0069f0df, 0x00ed795f, 0x011b4981, 0x031dad81, 0x00b1c82c, 0x03a53082, 0x002671f0}}}, + {X: Field{[10]uint32{0x0197a149, 0x019272b8, 0x0242d01c, 0x02ff1805, 0x010d680a, 0x027dcb02, 0x0032fa58, 0x02aadddb, 0x00f873cf, 0x003e591a}}, Y: Field{[10]uint32{0x02083b1d, 0x00f9353e, 0x036e9979, 0x021b0624, 0x03b67081, 0x014e15f8, 0x00a7ff33, 0x0174c6c9, 0x03c40849, 0x0007fed2}}}, + {X: Field{[10]uint32{0x03f89d32, 0x001104ac, 0x025f5329, 0x03d947b1, 0x03d93c14, 0x00c4542f, 0x02c86a21, 0x02534af2, 0x0106e302, 0x002dab50}}, Y: Field{[10]uint32{0x00d228ce, 0x00a9398e, 0x003ee5db, 0x024a4307, 0x034fa407, 0x01310ad0, 0x015201cc, 0x02590741, 0x02a67427, 0x000668d9}}}, + {X: Field{[10]uint32{0x005b9b9a, 0x01f9f3f9, 0x00108a97, 0x00a1b2c7, 0x0202d478, 0x02eda7ec, 0x020fec3e, 0x03cc1644, 0x02f7190b, 0x0021d51c}}, Y: Field{[10]uint32{0x01a97c21, 0x029e2615, 0x00562050, 0x0238c151, 0x030a172d, 0x017e0127, 0x01d163a9, 0x0166b785, 0x03c5f5dc, 0x0006b7bf}}}, + {X: Field{[10]uint32{0x0227a670, 0x03bac166, 0x034074d9, 0x0356bd29, 0x0354bb6f, 0x0072c6c7, 0x00f7ae2a, 0x01505399, 0x01faf424, 0x0015116a}}, Y: Field{[10]uint32{0x01418018, 0x01d0713a, 0x0294ce87, 0x03a987f7, 0x013bdf07, 0x00fede87, 0x008978ca, 0x038208f9, 0x02077da2, 0x00125b14}}}, + {X: Field{[10]uint32{0x0014d138, 0x01330f5e, 0x0262bf4c, 0x03e5f07d, 0x0374d3a8, 0x0215a0c3, 0x03350267, 0x02b22147, 0x0225704b, 0x0036b861}}, Y: Field{[10]uint32{0x03be6f87, 0x02f6a440, 0x02bff373, 0x03ef1a38, 0x03c20f62, 0x017b20d7, 0x0188ee63, 0x0018660e, 0x01fd7ba9, 0x002af016}}}, + {X: Field{[10]uint32{0x019845c9, 0x032a24e7, 0x00d02dee, 0x02047fa5, 0x013d009b, 0x001f864a, 0x00e659c1, 0x00f7971f, 0x0312e852, 0x00228223}}, Y: Field{[10]uint32{0x0229114a, 0x02c3dd9f, 0x004baef7, 0x011ff179, 0x0041f8df, 0x03062c82, 0x02d703cb, 0x02edd974, 0x012afb8e, 0x00109448}}}, + {X: Field{[10]uint32{0x03af6d01, 0x02d4b935, 0x02f6ec25, 0x033caf3a, 0x00716755, 0x023d5e44, 0x00ed25c7, 0x002344cd, 0x02a88f3b, 0x0035e3d1}}, Y: Field{[10]uint32{0x0306f44d, 0x0149bbd6, 0x006ee5c9, 0x034c9091, 0x01929046, 0x032fc6cb, 0x00b3f019, 0x008043c8, 0x01f229cb, 0x003ac615}}}, + {X: Field{[10]uint32{0x019b034b, 0x0035717e, 0x02fa83ec, 0x0271beab, 0x02f58980, 0x03fbf375, 0x015c4cac, 0x00389d79, 0x031278ae, 0x000782d0}}, Y: Field{[10]uint32{0x004918a7, 0x028a2064, 0x036578bb, 0x02b8275c, 0x03fb523f, 0x020d2140, 0x03d74edb, 0x00ead0ba, 0x03c5544d, 0x003ce314}}}, + {X: Field{[10]uint32{0x017cbbd1, 0x00d1197b, 0x01638cd5, 0x03dc3105, 0x00ab02d7, 0x029623cd, 0x0011f144, 0x0046703d, 0x01b29edb, 0x003c0c55}}, Y: Field{[10]uint32{0x00e85813, 0x034fc1ae, 0x02495599, 0x0125fe71, 0x01317367, 0x00658159, 0x01d07cd3, 0x03fc52d0, 0x03e3ff4f, 0x001cb454}}}, + {X: Field{[10]uint32{0x01de4c8e, 0x025b8e79, 0x02b4153a, 0x01e1b42e, 0x038df665, 0x01059952, 0x00c84fe3, 0x01fed345, 0x01683edc, 0x0003d87f}}, Y: Field{[10]uint32{0x002e5f92, 0x011cb8f5, 0x0212fd38, 0x00e7d636, 0x02e11fc1, 0x00983f93, 0x01d6884d, 0x004ec621, 0x0167cf09, 0x00254b6d}}}, + {X: Field{[10]uint32{0x0017dd77, 0x0271fdf8, 0x0344d7ee, 0x03612c7c, 0x0201ede6, 0x00e9361b, 0x0300e3b1, 0x00dec972, 0x027a29e4, 0x001e0c43}}, Y: Field{[10]uint32{0x0182f2d2, 0x00406db8, 0x00a51a7d, 0x00fd0c4d, 0x007030bd, 0x01f080b5, 0x020f7009, 0x00a78130, 0x018a4d56, 0x0009bfcd}}}, + {X: Field{[10]uint32{0x03781a3a, 0x0009f847, 0x016b97a4, 0x012f2282, 0x034e6ac9, 0x002d87af, 0x01509c2d, 0x00a72e98, 0x004d6b73, 0x0018eba3}}, Y: Field{[10]uint32{0x00d14f88, 0x020fa577, 0x016ce2e4, 0x00a7be2e, 0x01af16c9, 0x00e2a4e8, 0x01629cb3, 0x01e15f46, 0x00cfbf40, 0x002a3a55}}}, + {X: Field{[10]uint32{0x03cca739, 0x01e5c941, 0x02fa9165, 0x009bfde6, 0x00ae662f, 0x00ce15d3, 0x01039616, 0x00d53b8b, 0x012a594b, 0x00252356}}, Y: Field{[10]uint32{0x02f1876c, 0x03219ec0, 0x015570ed, 0x02293b89, 0x01ce0275, 0x01cef5b5, 0x013992f7, 0x00e5ba27, 0x00e25ea0, 0x000dffe6}}}, + {X: Field{[10]uint32{0x02100f45, 0x038b4d11, 0x03a55398, 0x01853719, 0x00660a41, 0x02ffba20, 0x0304de18, 0x000da142, 0x016fa314, 0x00194f3c}}, Y: Field{[10]uint32{0x025a9202, 0x0076cd44, 0x01c3649c, 0x0064f985, 0x03ea4d34, 0x0390c416, 0x026741ae, 0x0395499d, 0x02de5ff1, 0x002b2aab}}}, + {X: Field{[10]uint32{0x028cc782, 0x01447fe3, 0x00d2af3c, 0x02219142, 0x01141e18, 0x039a9de2, 0x00fd1ee0, 0x03722fc9, 0x00828a5e, 0x0011beda}}, Y: Field{[10]uint32{0x03fd8887, 0x020f804d, 0x010cfef3, 0x02611fb2, 0x02f4d266, 0x020b0b8d, 0x009ff4ae, 0x03a6f5ab, 0x013fd52c, 0x002752b9}}}, + {X: Field{[10]uint32{0x0138c0ed, 0x0308015c, 0x020eae24, 0x0021e8ab, 0x024ca442, 0x012c3ca2, 0x01face2b, 0x00a9c5f0, 0x00c723ea, 0x0017c468}}, Y: Field{[10]uint32{0x000c8452, 0x01ccc5ae, 0x011d5bb2, 0x033c1be6, 0x023906ea, 0x0049b939, 0x03925ddf, 0x0184bee9, 0x0084ad97, 0x0017b2bb}}}, + {X: Field{[10]uint32{0x02a9039f, 0x02f72130, 0x022c0320, 0x00ecfae9, 0x00dbf2ba, 0x03ac4224, 0x02b6b3bd, 0x03bde9b5, 0x021c929b, 0x002e7d27}}, Y: Field{[10]uint32{0x0101e558, 0x01a0832d, 0x0115c2bf, 0x0131bd0b, 0x006e1b68, 0x00d2a80c, 0x00ecc1c5, 0x022deef4, 0x02767e4f, 0x00261ca7}}}, + {X: Field{[10]uint32{0x01ade2c3, 0x00e39c85, 0x012dc63c, 0x02c0d8c7, 0x00965dc2, 0x03269182, 0x033eea76, 0x02417fc9, 0x0102e7d2, 0x0003b228}}, Y: Field{[10]uint32{0x034371c0, 0x028fb73d, 0x00b6dbe5, 0x0170da33, 0x02706ffe, 0x03d9c584, 0x03836868, 0x025b2d24, 0x01e7242d, 0x00363226}}}, + {X: Field{[10]uint32{0x03e236c6, 0x0339810a, 0x02dafcda, 0x02c0e73d, 0x010582c5, 0x010a9496, 0x012a3c77, 0x020169b2, 0x02b3c351, 0x00041fc0}}, Y: Field{[10]uint32{0x019bfb9f, 0x03ce272a, 0x00a3e685, 0x017820b1, 0x03c5c2d5, 0x0371c929, 0x01746858, 0x01d8055f, 0x02bf1ab4, 0x00145c8d}}}, + {X: Field{[10]uint32{0x02298971, 0x018194d5, 0x036cfb98, 0x01eb6bdb, 0x02b10d63, 0x020c5e1c, 0x038c1fea, 0x03005b5e, 0x00a1a5c1, 0x003c3ec5}}, Y: Field{[10]uint32{0x024540d1, 0x02f151e5, 0x0033792f, 0x03fecc59, 0x00c40b89, 0x00a00007, 0x018e87c7, 0x03997509, 0x01140d33, 0x0038767b}}}, + {X: Field{[10]uint32{0x00489459, 0x03e6cd51, 0x0347a333, 0x002bfe0e, 0x0078a1c8, 0x03af781a, 0x00ce83c0, 0x013b7bdb, 0x02dbea78, 0x00294dc6}}, Y: Field{[10]uint32{0x00129224, 0x0338fcb2, 0x03edd48e, 0x02f33344, 0x007e3d09, 0x00a88b2f, 0x03acbe7b, 0x0175d1dc, 0x0172127f, 0x003d5e01}}}, + {X: Field{[10]uint32{0x0217300d, 0x013eb7ef, 0x013b999e, 0x005e580f, 0x022bbbb8, 0x03e9f64b, 0x00109715, 0x0295d84f, 0x025e1b0b, 0x000f00c7}}, Y: Field{[10]uint32{0x029c83f3, 0x0309cbab, 0x03e6bbf9, 0x035c70d8, 0x0079cb40, 0x035edb31, 0x00e65a2c, 0x00db751d, 0x03fb3920, 0x00349d68}}}, + {X: Field{[10]uint32{0x01a5318f, 0x0071a701, 0x0218b217, 0x02b948f3, 0x01f8a1b9, 0x00e48203, 0x0169a689, 0x02d4c282, 0x019e685d, 0x0021ed62}}, Y: Field{[10]uint32{0x01a775d4, 0x02bd23ff, 0x02c081f5, 0x03ebe673, 0x011b1166, 0x010ba134, 0x0140b01a, 0x02be968b, 0x0204e3f0, 0x0001ab8c}}}, + {X: Field{[10]uint32{0x01b8bf74, 0x01014042, 0x038dd2ae, 0x0138ffa0, 0x01ea00d0, 0x01adf9ec, 0x018eedb5, 0x0305b7e7, 0x03ddc002, 0x00367c1d}}, Y: Field{[10]uint32{0x033ffeaf, 0x0084996b, 0x012f278f, 0x000bb954, 0x0211c273, 0x01c32e7b, 0x00fc486f, 0x0063894f, 0x011e5031, 0x00194635}}}, + {X: Field{[10]uint32{0x00921af7, 0x031c873e, 0x0398ec9b, 0x02482bbe, 0x037558a4, 0x0089dfd8, 0x01ce3053, 0x02b32582, 0x03638d15, 0x0027026a}}, Y: Field{[10]uint32{0x00e0f6fc, 0x0292de40, 0x033d91ca, 0x012a7ef7, 0x010bf2f8, 0x0194897c, 0x02d6ab31, 0x02f0422f, 0x018d535a, 0x002cb2b1}}}, + {X: Field{[10]uint32{0x028a7fc0, 0x01b71ce6, 0x008ae167, 0x0037b439, 0x0052ab25, 0x030da689, 0x038948a5, 0x0248c973, 0x038b4c2d, 0x001bb47b}}, Y: Field{[10]uint32{0x02742008, 0x02b21fbd, 0x00585f54, 0x02f07241, 0x025c6423, 0x018f69d6, 0x02741368, 0x014553f2, 0x008c2cfe, 0x00306de8}}}, + {X: Field{[10]uint32{0x006928d1, 0x034ef894, 0x018f13fb, 0x02a4c1e7, 0x03cfc458, 0x00ae9821, 0x01f71c1e, 0x01fdb09e, 0x0170154b, 0x00220ba3}}, Y: Field{[10]uint32{0x03e64131, 0x00e9ce9b, 0x03d1d9b2, 0x0197b6ec, 0x0208b315, 0x019eb07c, 0x014ac62e, 0x0061ca42, 0x022e97c4, 0x0022526c}}}, + {X: Field{[10]uint32{0x037aba52, 0x0284e7ec, 0x0246aa6d, 0x03a7f08c, 0x00516840, 0x00942605, 0x019d0afb, 0x01ba81c4, 0x02a024c8, 0x001c211c}}, Y: Field{[10]uint32{0x028fe5ac, 0x014feec4, 0x0130db7a, 0x01ee0335, 0x013a8b05, 0x02528d99, 0x03378d65, 0x0054ca96, 0x03a51d55, 0x0026026d}}}, + {X: Field{[10]uint32{0x039fac3e, 0x02a330eb, 0x025ebd87, 0x00f5c688, 0x03769d57, 0x023420d4, 0x01a1250d, 0x02dc212b, 0x02d509a8, 0x000e913e}}, Y: Field{[10]uint32{0x037f20cd, 0x031a7ed2, 0x01c85cb0, 0x0114b4f1, 0x03f9186e, 0x01849204, 0x0174bf84, 0x03434286, 0x01511250, 0x003ca7d1}}}, + {X: Field{[10]uint32{0x01fb9f30, 0x00dc2cf3, 0x0390afcc, 0x02116267, 0x0236ba4c, 0x00708cd8, 0x00564c04, 0x006f5058, 0x01d8e09e, 0x0028d467}}, Y: Field{[10]uint32{0x03881d7e, 0x034fb186, 0x0267472d, 0x0238d3f3, 0x02715008, 0x031d3423, 0x0199faa6, 0x001c4740, 0x01597c91, 0x001933fc}}}, + {X: Field{[10]uint32{0x00fcf1dc, 0x03c1d9d7, 0x038291c4, 0x03e835a3, 0x02bea1af, 0x027667fc, 0x033513f1, 0x0172593a, 0x00e3765f, 0x0016bc5b}}, Y: Field{[10]uint32{0x03815daa, 0x0100bae8, 0x023dc1f2, 0x02e2a1ea, 0x00511ff7, 0x0005929e, 0x0042db6b, 0x0047b52a, 0x02b53bd7, 0x00002193}}}, + {X: Field{[10]uint32{0x023d54a8, 0x0070b415, 0x0149b402, 0x0344de96, 0x0018848b, 0x00990410, 0x021ec080, 0x03970977, 0x012219ca, 0x0007fe69}}, Y: Field{[10]uint32{0x0318e031, 0x0320ec05, 0x014d4791, 0x0370526c, 0x018f85d7, 0x014dd0c2, 0x00fb919a, 0x01db86d7, 0x034c1222, 0x00151b58}}}, + {X: Field{[10]uint32{0x03d3e938, 0x01b75bd0, 0x0082ac6b, 0x0372a999, 0x007f02fc, 0x03eacda3, 0x00926ebc, 0x007b63e1, 0x00ad72a5, 0x0035e9b7}}, Y: Field{[10]uint32{0x00e41c96, 0x018ec885, 0x03278bde, 0x01601b25, 0x018598a0, 0x01119aba, 0x028f378e, 0x02b21969, 0x00d63ea6, 0x002689cf}}}, + {X: Field{[10]uint32{0x0332d797, 0x02a34647, 0x012823f4, 0x024c7c88, 0x023c874b, 0x02db3531, 0x016dfb52, 0x0331f69a, 0x03e55bdc, 0x000553d8}}, Y: Field{[10]uint32{0x03f76fae, 0x01644d5d, 0x0067a2df, 0x01f6cd03, 0x02f0f29d, 0x00aa9af1, 0x03269b0d, 0x028723a9, 0x032217bc, 0x003a63e5}}}, + {X: Field{[10]uint32{0x00399bf1, 0x03b1d613, 0x01991c27, 0x036a1f3a, 0x02dbdbb7, 0x0086ef7a, 0x0129095c, 0x01857333, 0x008b8513, 0x003dab78}}, Y: Field{[10]uint32{0x03234ad1, 0x01eb4ce3, 0x0296af03, 0x03284c63, 0x013fc1c5, 0x00a298c4, 0x01af074b, 0x032ae84c, 0x03e019fc, 0x00263206}}}, + {X: Field{[10]uint32{0x0347637e, 0x0072cb31, 0x0083a3e5, 0x03da50ea, 0x00b786b3, 0x017fb0af, 0x01290486, 0x0057db1b, 0x02c03b27, 0x00259873}}, Y: Field{[10]uint32{0x035358bf, 0x01d58813, 0x032547fe, 0x00d657c2, 0x03cb9c37, 0x027b1ce7, 0x028056a0, 0x00412dd2, 0x03d99b34, 0x003aa87d}}}, + {X: Field{[10]uint32{0x015d19a1, 0x01262d19, 0x0377f53d, 0x0333d6b1, 0x03480520, 0x000dc170, 0x0003465f, 0x00231cd3, 0x023a27d6, 0x0038294c}}, Y: Field{[10]uint32{0x020cc606, 0x02f58a49, 0x03aee836, 0x02d639f2, 0x0363d88e, 0x0118a5d7, 0x00606798, 0x03158baf, 0x0178a8b8, 0x0007dc9f}}}, + {X: Field{[10]uint32{0x002f6409, 0x0338c74a, 0x00118c24, 0x02577b39, 0x0308206e, 0x009431ab, 0x001980d5, 0x011bcbca, 0x02fd0046, 0x002eae0b}}, Y: Field{[10]uint32{0x011fb82a, 0x03356123, 0x0177d137, 0x02ed1ade, 0x03cafbdb, 0x0195b157, 0x038375a5, 0x00049a37, 0x01dc26a2, 0x000a982c}}}, + {X: Field{[10]uint32{0x01eb2631, 0x02052b78, 0x022c221e, 0x0081e79a, 0x032d7edd, 0x03946ebb, 0x006e9b3e, 0x02562c60, 0x0399ebbe, 0x000e2784}}, Y: Field{[10]uint32{0x029ae2be, 0x01167db3, 0x02fd52c9, 0x02f50d79, 0x00e48ada, 0x004a9893, 0x031fb4d1, 0x03f91679, 0x02331f3c, 0x001b0561}}}, + {X: Field{[10]uint32{0x029d4515, 0x001dc9dc, 0x000458c3, 0x01846e91, 0x01087d89, 0x03e91447, 0x03081747, 0x0154f467, 0x01cac0dc, 0x002de05e}}, Y: Field{[10]uint32{0x003e0de2, 0x0248d47a, 0x00c97a68, 0x0326ee5d, 0x01ce0a80, 0x0115df5c, 0x00caa5a9, 0x01a941b9, 0x02980c49, 0x001c082f}}}, + {X: Field{[10]uint32{0x03104306, 0x0053557f, 0x02dc9f1e, 0x03d04bb2, 0x02baa6a6, 0x03640163, 0x03d13fcf, 0x03e69c48, 0x013dd170, 0x00219fb3}}, Y: Field{[10]uint32{0x006759bb, 0x00d792a5, 0x00dc9e25, 0x038bf792, 0x03d698c5, 0x027cad50, 0x03276897, 0x03b88e3e, 0x03e1bb91, 0x000f036c}}}, + {X: Field{[10]uint32{0x00eecd38, 0x02f8bdb5, 0x004e5697, 0x00af055c, 0x03db25bb, 0x0212cb32, 0x03d4d083, 0x00097507, 0x014c26a1, 0x002f9c59}}, Y: Field{[10]uint32{0x01406afa, 0x02bdabd2, 0x001dfcdf, 0x039112cb, 0x012dcdae, 0x013683bf, 0x02f8d18e, 0x00b71e82, 0x020fc37a, 0x000c5bb4}}}, + {X: Field{[10]uint32{0x02e9079c, 0x037aea5d, 0x01fda6b6, 0x0111e58f, 0x01416905, 0x03478059, 0x015b9a2a, 0x009a179d, 0x00b024d6, 0x0016a387}}, Y: Field{[10]uint32{0x011ebba7, 0x022888bc, 0x00a27d08, 0x00aa4778, 0x023889db, 0x02377a57, 0x00f43516, 0x00c379ea, 0x01737433, 0x00131e4c}}}, + {X: Field{[10]uint32{0x002e6131, 0x005904ae, 0x031f8572, 0x003eb8f4, 0x03bb884d, 0x0018c114, 0x03a761ad, 0x02f433c4, 0x000b2347, 0x000efeb4}}, Y: Field{[10]uint32{0x02545f61, 0x02f6d0aa, 0x0051896e, 0x02adbd6c, 0x0371e3cb, 0x01b52060, 0x03fe8e63, 0x01ffb0fd, 0x01609415, 0x003bccf1}}}, + {X: Field{[10]uint32{0x012c1961, 0x00647bd7, 0x02dc7428, 0x00d4ed3c, 0x0360e026, 0x0171a32d, 0x016c2d2b, 0x03382722, 0x02de684d, 0x0000911f}}, Y: Field{[10]uint32{0x02f7bfcb, 0x009fcc07, 0x03377624, 0x01535b9f, 0x025ad6cb, 0x0110e090, 0x0339e554, 0x02182d8a, 0x002fe80f, 0x002b4e2a}}}, + {X: Field{[10]uint32{0x03cf985d, 0x0215f522, 0x0123909d, 0x001d05f1, 0x00e7685f, 0x02a379d9, 0x0007e49b, 0x02e7e3a2, 0x0321eeb4, 0x00297ab8}}, Y: Field{[10]uint32{0x034def1d, 0x02c408ea, 0x0296eed3, 0x0075229d, 0x01001788, 0x02799565, 0x015f5233, 0x02df4cab, 0x02a9f5c1, 0x000ab3e2}}}, + {X: Field{[10]uint32{0x0090b13c, 0x0395d6ba, 0x01251007, 0x0045710d, 0x03dc035e, 0x02ac17a3, 0x00a5b973, 0x0364e0f3, 0x015c5337, 0x0025f7a6}}, Y: Field{[10]uint32{0x0069e6dd, 0x02448438, 0x01f79e8f, 0x016f3624, 0x00920250, 0x01373bd4, 0x003fb4dc, 0x0228a4d3, 0x01692e30, 0x0013ecb6}}}, + {X: Field{[10]uint32{0x0038f479, 0x005c9b11, 0x01f3cc6b, 0x011151ac, 0x0125b70f, 0x002af7e5, 0x003dad8d, 0x02462be0, 0x025fa864, 0x002e32bc}}, Y: Field{[10]uint32{0x009c05c9, 0x0198f683, 0x02d79023, 0x00dac1a7, 0x02c30e2f, 0x01db01d2, 0x03a8c5a0, 0x01bacdbf, 0x01fac0f5, 0x001f146d}}}, + {X: Field{[10]uint32{0x0107b2e6, 0x0085d92b, 0x03443445, 0x02296c7c, 0x03b2cade, 0x03c50041, 0x00f3001a, 0x038a86c9, 0x028c1b96, 0x002d6f21}}, Y: Field{[10]uint32{0x0138d639, 0x02e8d9d2, 0x026f238b, 0x001ec852, 0x03672a8c, 0x015170ce, 0x02aa456f, 0x027ccf56, 0x02294e92, 0x00235b3f}}}, + {X: Field{[10]uint32{0x033ff602, 0x012a284d, 0x036e9078, 0x01887c4f, 0x0032ea26, 0x0090530a, 0x01b666bf, 0x00ec8843, 0x007c242a, 0x0017d456}}, Y: Field{[10]uint32{0x0346c858, 0x021a5122, 0x03427f58, 0x02299ab6, 0x031b3941, 0x02732ee7, 0x013950f9, 0x00293ae1, 0x020febf2, 0x000b0ec9}}}, + {X: Field{[10]uint32{0x022bcfde, 0x02d19d1e, 0x01feb822, 0x02558343, 0x034f08e6, 0x00113cfd, 0x0252e17e, 0x028ad44a, 0x00f95009, 0x000742f8}}, Y: Field{[10]uint32{0x033a159b, 0x01739363, 0x02538933, 0x02c93e19, 0x03a742c3, 0x01ee0776, 0x003181cf, 0x0061dcde, 0x03c3dbd8, 0x0030ea0a}}}, + {X: Field{[10]uint32{0x0122fb8a, 0x02bd2f23, 0x0192ccec, 0x0356d249, 0x029e0e62, 0x0338c3b4, 0x0221bcd6, 0x00ccc699, 0x0028b800, 0x000fbc3b}}, Y: Field{[10]uint32{0x0144b16d, 0x00a6e9e8, 0x001337d9, 0x018e636c, 0x03512fd3, 0x010f31fd, 0x02a03dae, 0x003a1b24, 0x00ad77d4, 0x003f8b21}}}, + {X: Field{[10]uint32{0x03555fc5, 0x03e5926d, 0x02ad302e, 0x02c39fc3, 0x00f62f12, 0x00ca8d92, 0x02bef427, 0x00136b1d, 0x0224a4ec, 0x002130a6}}, Y: Field{[10]uint32{0x014f970e, 0x029fc29e, 0x017ecb18, 0x014ce391, 0x03929ec4, 0x008b927e, 0x02b454cf, 0x01529c43, 0x02bb283a, 0x0039d883}}}, + {X: Field{[10]uint32{0x02cf43a8, 0x00c55cfa, 0x031e9283, 0x01cc041f, 0x03a309cd, 0x03c705de, 0x0340f4e5, 0x017fa487, 0x0234e75d, 0x001aee99}}, Y: Field{[10]uint32{0x03421582, 0x01af8dbe, 0x01a979d8, 0x03a9519c, 0x025b47fd, 0x00882715, 0x0086b441, 0x02090c7c, 0x008c4216, 0x000cfff8}}}, + {X: Field{[10]uint32{0x01ef0150, 0x03c59d1b, 0x01bfa47c, 0x02625567, 0x02488f62, 0x02796dba, 0x01a6046d, 0x03006f12, 0x02f051b0, 0x0004ed9e}}, Y: Field{[10]uint32{0x00237608, 0x03c764e8, 0x0109ee29, 0x01648c85, 0x03a54add, 0x0212b2b2, 0x037cc35d, 0x02fc2d4c, 0x014b01c1, 0x00343a24}}}, + {X: Field{[10]uint32{0x03af9300, 0x033c4fa4, 0x007202c5, 0x032d8d90, 0x02fdf779, 0x03331289, 0x02abc946, 0x02d8abaf, 0x01bfb5dc, 0x00058488}}, Y: Field{[10]uint32{0x00f83b2c, 0x026dfa4b, 0x007b72a4, 0x036d86bb, 0x00d1a212, 0x00ad484f, 0x0266bd30, 0x01b7e1c2, 0x02c5dd9d, 0x0034ff78}}}, + {X: Field{[10]uint32{0x02eb508b, 0x0242fe38, 0x003d39a5, 0x02fe19b7, 0x017eda1f, 0x00ad4880, 0x03602770, 0x016118eb, 0x020cc62f, 0x000c314d}}, Y: Field{[10]uint32{0x02c44efe, 0x02d2a072, 0x039f01aa, 0x03006dd9, 0x016c30e8, 0x037ab185, 0x037dbe8e, 0x0268ae20, 0x02f5009b, 0x00323a46}}}, + {X: Field{[10]uint32{0x00ec3576, 0x02e002c0, 0x01007a38, 0x03c21cdc, 0x02640364, 0x00925c9f, 0x027f38b7, 0x0147d7a9, 0x027fdd91, 0x00301966}}, Y: Field{[10]uint32{0x01cf47e3, 0x03c58069, 0x03ded648, 0x02b8728c, 0x018c57fa, 0x01d100d8, 0x018b5a77, 0x00c70d51, 0x00cb6fa1, 0x0029bd92}}}, + {X: Field{[10]uint32{0x02679386, 0x009e1fc0, 0x004be43e, 0x025429a1, 0x037d50fe, 0x0386ac72, 0x006472a8, 0x02a24811, 0x024db795, 0x000c8548}}, Y: Field{[10]uint32{0x018a9bf0, 0x01407e4d, 0x0238cc5e, 0x006fbf0f, 0x03faba83, 0x00b3ff17, 0x00c7eb59, 0x023619a4, 0x026297f2, 0x00095d41}}}, + {X: Field{[10]uint32{0x01871145, 0x029a2868, 0x035b3b19, 0x01926625, 0x03fe7762, 0x02971553, 0x0115445d, 0x01c120ef, 0x00e2a87a, 0x00095d95}}, Y: Field{[10]uint32{0x02636ec5, 0x0232234c, 0x010439c2, 0x00c259a4, 0x009efe24, 0x032816c6, 0x03fc4eef, 0x03c53e75, 0x019d0c67, 0x003f2e4c}}}, + {X: Field{[10]uint32{0x002f1b49, 0x0262c5c2, 0x03e800ce, 0x01b5b6cc, 0x0017c8a6, 0x039a422a, 0x017926e6, 0x03c553cf, 0x0201e504, 0x00291e1a}}, Y: Field{[10]uint32{0x0323a2fc, 0x00a184b4, 0x03bfd0b0, 0x038998ab, 0x027f86e8, 0x02df3e9e, 0x01a29678, 0x013e7fa0, 0x0142fc2e, 0x0015db93}}}, + {X: Field{[10]uint32{0x02db1e71, 0x02966998, 0x01e383c5, 0x03dfa0b8, 0x0090b484, 0x022bcda7, 0x013ae62a, 0x02615912, 0x03a9260c, 0x0014503d}}, Y: Field{[10]uint32{0x010bae86, 0x011c534d, 0x021fe2f6, 0x03026149, 0x0394ddcd, 0x03afe454, 0x026aa92c, 0x0277ed8e, 0x02c2b087, 0x0013945c}}}, + {X: Field{[10]uint32{0x00a66dfc, 0x01b3cc93, 0x0134231e, 0x004d4843, 0x03b781fe, 0x02295e75, 0x03d6d901, 0x0142de71, 0x020c0f0f, 0x003d5675}}, Y: Field{[10]uint32{0x014eed15, 0x00aeac23, 0x0208e205, 0x037328a7, 0x025f1f05, 0x02f6a390, 0x015fb56a, 0x014a972a, 0x02ae8e58, 0x0004b673}}}, + {X: Field{[10]uint32{0x00547e7c, 0x021a686c, 0x038570cc, 0x037e68cd, 0x00a4fb73, 0x00e814d5, 0x030e0be5, 0x03406f25, 0x03f50fa2, 0x0022241f}}, Y: Field{[10]uint32{0x03a3d2f5, 0x0055ee5f, 0x0373dab9, 0x006f0036, 0x025b2640, 0x03f29aaa, 0x03145f26, 0x0046d909, 0x0356cc12, 0x003d614e}}}, + {X: Field{[10]uint32{0x018c45ca, 0x02cfa9b9, 0x027ecfe4, 0x03c937bc, 0x03c8ac82, 0x038763fe, 0x011fba31, 0x0141b63a, 0x03f64541, 0x00330792}}, Y: Field{[10]uint32{0x00d27592, 0x00a98fce, 0x03b77590, 0x036c9d4f, 0x011efcf1, 0x00c1a55b, 0x00585a60, 0x0060f1a1, 0x017da875, 0x001d85d2}}}, + {X: Field{[10]uint32{0x03ca99d5, 0x00436ab2, 0x00dd4eca, 0x01f24d15, 0x016c3955, 0x007b7780, 0x02a6f9ef, 0x0108416d, 0x0037ef74, 0x001fb8b1}}, Y: Field{[10]uint32{0x033772d6, 0x0125a3db, 0x025b1827, 0x01c36f7b, 0x033e6d7b, 0x01457695, 0x00503f69, 0x03d767cc, 0x03345eef, 0x00085d51}}}, + {X: Field{[10]uint32{0x03e2465c, 0x0278178c, 0x0290f653, 0x012ed0b6, 0x003605ba, 0x01afd083, 0x033af3ef, 0x02d2a68f, 0x02a239f9, 0x0001cbfb}}, Y: Field{[10]uint32{0x01f553cc, 0x00abb67a, 0x0120a36d, 0x0345ac33, 0x0085482c, 0x000a50a3, 0x002ad9ad, 0x037b7723, 0x02ffdf7a, 0x0000280d}}}, + {X: Field{[10]uint32{0x0099914a, 0x0323d780, 0x0307c938, 0x02b89905, 0x03c8a0cb, 0x035e8e9b, 0x01b627c4, 0x0374019a, 0x033e94a0, 0x000d8f68}}, Y: Field{[10]uint32{0x02f58bd9, 0x03a6301e, 0x0359c3d0, 0x037351e2, 0x03a2f936, 0x00541bd1, 0x0236099c, 0x001e9038, 0x0277ef13, 0x0026f6a6}}}, + {X: Field{[10]uint32{0x02c133fe, 0x0246183c, 0x036e1a7e, 0x02347b26, 0x0393af0f, 0x02f817f7, 0x034a48bb, 0x010a426b, 0x0064c839, 0x001d9502}}, Y: Field{[10]uint32{0x00a3ecc2, 0x03970f95, 0x0084583c, 0x03d697b5, 0x01b3cc98, 0x02bcf5bc, 0x013a236d, 0x03ac0888, 0x03d7738c, 0x003c1a48}}}, + {X: Field{[10]uint32{0x02b239c4, 0x032d007c, 0x01606c94, 0x0224d1c2, 0x0251e381, 0x00ba6928, 0x01945c16, 0x022a7e2f, 0x00217a31, 0x0015cfc2}}, Y: Field{[10]uint32{0x0346bef5, 0x00754ead, 0x03fbe7ca, 0x00a35f1c, 0x00496cc1, 0x030faf45, 0x00b105fe, 0x02792e52, 0x00f27de6, 0x001f9e39}}}, + {X: Field{[10]uint32{0x02b01f5f, 0x02a4d388, 0x01467213, 0x02120669, 0x02f90d21, 0x015f97b5, 0x0009656f, 0x012e4ed4, 0x01818923, 0x000214de}}, Y: Field{[10]uint32{0x02e475f8, 0x01bc07d8, 0x02820ed2, 0x003b267e, 0x029281fc, 0x02733be8, 0x0069bbe8, 0x00266387, 0x01e8cc99, 0x0032529e}}}, + {X: Field{[10]uint32{0x01eb6041, 0x0184cb3b, 0x0051257f, 0x0031e001, 0x016f00a3, 0x033c3b61, 0x01ccd4c1, 0x000cd8ec, 0x01122989, 0x0014ce21}}, Y: Field{[10]uint32{0x0183334e, 0x022d12da, 0x03722fd7, 0x01551a6f, 0x000dd22f, 0x02f26a11, 0x038feacd, 0x0346e693, 0x0252f856, 0x00355b8a}}}, + {X: Field{[10]uint32{0x00e4796d, 0x00eaabac, 0x00c852f3, 0x02300e71, 0x01c5cb47, 0x03ee6258, 0x009f913a, 0x03ded971, 0x008a750e, 0x00107b79}}, Y: Field{[10]uint32{0x02559de4, 0x0090270c, 0x0065b8de, 0x02734693, 0x0104bdfe, 0x0012d4f2, 0x0092ea7f, 0x011a0062, 0x03f94b6c, 0x0035d31e}}}, + {X: Field{[10]uint32{0x01f08148, 0x034ed4f9, 0x03eefb6d, 0x00e4eb3f, 0x03fe7621, 0x03b5aa77, 0x02eece4e, 0x03dcda64, 0x01f36596, 0x0025fa4c}}, Y: Field{[10]uint32{0x00dd5f1b, 0x01838a85, 0x002c09b6, 0x0052d8b5, 0x0039a246, 0x01013ee9, 0x0276ce77, 0x0314a827, 0x013353b9, 0x000f6a26}}}, + {X: Field{[10]uint32{0x0222579d, 0x00024dec, 0x039a54db, 0x01933125, 0x035c55b6, 0x0094acde, 0x00476335, 0x02c410e6, 0x02ea3ca8, 0x00132bd3}}, Y: Field{[10]uint32{0x011607bb, 0x01c7358a, 0x01464621, 0x00013034, 0x0345a191, 0x01c75628, 0x03885807, 0x02f701f3, 0x03320a93, 0x00030999}}}, + {X: Field{[10]uint32{0x027b1ca4, 0x029f2127, 0x0306bb7e, 0x03e086a1, 0x01b52960, 0x01478e0e, 0x0324ee4e, 0x020f0cea, 0x02905b34, 0x00215f07}}, Y: Field{[10]uint32{0x0269dd80, 0x02456ebf, 0x00c01be5, 0x03f7a6d0, 0x011c6b09, 0x028b9af1, 0x018380c4, 0x021dc6cd, 0x010c7a57, 0x00235ba7}}}, + {X: Field{[10]uint32{0x00b5a182, 0x03b4b06f, 0x0322c1e7, 0x02925a1a, 0x0310ec39, 0x0372e8f2, 0x00fc1248, 0x03deb69a, 0x030be0db, 0x001043bd}}, Y: Field{[10]uint32{0x007f9e94, 0x02e508c9, 0x03db3b7c, 0x01e6023f, 0x00e6925d, 0x002d2970, 0x03074aee, 0x015bd73b, 0x02a3331a, 0x00349ba7}}}, + {X: Field{[10]uint32{0x0351029f, 0x00410655, 0x03f7a307, 0x03e69f98, 0x0289dff6, 0x01ea90c6, 0x03e5ec30, 0x03ac4205, 0x03a8c831, 0x00232be1}}, Y: Field{[10]uint32{0x03c8890a, 0x02421c99, 0x02058bfe, 0x001cf176, 0x0113aad2, 0x030e9192, 0x0265ba07, 0x029b0f23, 0x02e1c8dd, 0x000fc2f5}}}, + {X: Field{[10]uint32{0x02f10e8e, 0x01b57ebf, 0x037798c1, 0x022ffee6, 0x01b35ca1, 0x034c53ec, 0x026a8a39, 0x00920d52, 0x02cfe92d, 0x003bb7b8}}, Y: Field{[10]uint32{0x0114c4c3, 0x02cd6ab9, 0x01624c1e, 0x03259e4f, 0x009fcd12, 0x03e73877, 0x031181f3, 0x02fbf92c, 0x02b021f0, 0x0032d456}}}, + {X: Field{[10]uint32{0x02ebcee1, 0x03bb2bca, 0x00312f02, 0x01d5d135, 0x0248bb2a, 0x0045b6d4, 0x02d6a4e9, 0x02dfddee, 0x02c71e77, 0x00232fde}}, Y: Field{[10]uint32{0x039b7320, 0x028b015d, 0x03799169, 0x01fc36da, 0x02b6f669, 0x0034258d, 0x017f97c3, 0x009ad4f4, 0x0331f67b, 0x001d9712}}}, + {X: Field{[10]uint32{0x00995db2, 0x03f19c95, 0x02dfcc19, 0x032e6190, 0x02715dc6, 0x00380448, 0x03f0627f, 0x026abcd3, 0x01b4cd44, 0x001c3351}}, Y: Field{[10]uint32{0x03535c8e, 0x00314e0b, 0x00c4120f, 0x036442d8, 0x02ee184a, 0x02b685b1, 0x0320eac3, 0x025ec610, 0x00567614, 0x0020b965}}}, + {X: Field{[10]uint32{0x007c45d5, 0x00bf7edb, 0x002ea070, 0x011b83d1, 0x03050e51, 0x00defb0f, 0x039d558e, 0x033f6479, 0x03f9783f, 0x0033f885}}, Y: Field{[10]uint32{0x01c419d5, 0x03dc1e65, 0x00dfc7b6, 0x02185eed, 0x00da2251, 0x0231f0eb, 0x03d70d87, 0x00feff15, 0x010e8645, 0x0014df2f}}}, + {X: Field{[10]uint32{0x00579d52, 0x005e43d2, 0x0317e065, 0x032c4afc, 0x01ccabd2, 0x033ebe9c, 0x033d4f74, 0x02ee38af, 0x00df6486, 0x002609b0}}, Y: Field{[10]uint32{0x01c57342, 0x005cb76e, 0x02da734f, 0x015e353b, 0x02ae3bb4, 0x03f0db45, 0x0349c052, 0x01894f4d, 0x0186f86d, 0x000f6fcd}}}, + {X: Field{[10]uint32{0x028a02c4, 0x013d65b8, 0x00e74d0f, 0x037d5db2, 0x00a13e13, 0x01d13a71, 0x033fa3e3, 0x012f0b1a, 0x00ef381b, 0x003a863f}}, Y: Field{[10]uint32{0x0209f397, 0x03f9a7fb, 0x01874d7f, 0x02931074, 0x02041c9a, 0x016568c2, 0x0103c7fe, 0x01175e1c, 0x039d2bc4, 0x0030f9af}}}, + {X: Field{[10]uint32{0x026d8f4a, 0x033e433f, 0x033a0e88, 0x01759cc0, 0x0221b82e, 0x02705bfe, 0x00618bec, 0x01695187, 0x0065c09d, 0x001b78b1}}, Y: Field{[10]uint32{0x004ee2ba, 0x01973caf, 0x03f5d28b, 0x02c0ca02, 0x03e1c4cc, 0x00ec87d6, 0x00a8199d, 0x0220ad0a, 0x03d28950, 0x000d9eb2}}}, + {X: Field{[10]uint32{0x02183f4e, 0x03e9cfc6, 0x0284706f, 0x01a27bf4, 0x03cecc9c, 0x03469505, 0x0250f803, 0x031f516b, 0x0213ee10, 0x00358a1b}}, Y: Field{[10]uint32{0x02a56f56, 0x004fa4da, 0x008ad37f, 0x024d5f6e, 0x01e965ab, 0x0320a790, 0x023ca411, 0x013a271f, 0x03b75520, 0x001eae4a}}}, + {X: Field{[10]uint32{0x03c3bf58, 0x020f7dc8, 0x0364dfce, 0x0187bcf0, 0x0173f0c8, 0x036dbc82, 0x0125962f, 0x01182895, 0x02faea67, 0x001d49b9}}, Y: Field{[10]uint32{0x00e3a674, 0x023d2306, 0x01ae8f00, 0x02b04b8d, 0x0125a21f, 0x02cc8dd4, 0x0274411c, 0x01846f4c, 0x00e0d5a8, 0x000b1daa}}}, + {X: Field{[10]uint32{0x0079308d, 0x0141c3e2, 0x00b2ab78, 0x000e24fa, 0x02e737c8, 0x0067d47d, 0x01d5d897, 0x0128f5b4, 0x02da56d6, 0x003f32aa}}, Y: Field{[10]uint32{0x039362d1, 0x0171aa11, 0x03d7d868, 0x034ff9b9, 0x01a2ee95, 0x025a7eae, 0x01750efa, 0x03de4bbf, 0x01663fac, 0x002098b1}}}, + {X: Field{[10]uint32{0x01b57fe3, 0x012c4556, 0x0088afef, 0x02a2ce9a, 0x03bd6d91, 0x028e5e11, 0x00483797, 0x017d0f31, 0x03b8eb8a, 0x002d8344}}, Y: Field{[10]uint32{0x00ebaa54, 0x033e0e18, 0x038ae94e, 0x014cdd56, 0x038405b0, 0x032217c7, 0x0104acbe, 0x021615d8, 0x02be5d2b, 0x002afdcf}}}, + {X: Field{[10]uint32{0x0377f8be, 0x039b3a30, 0x02d90127, 0x019b7ea8, 0x014250fd, 0x00de7e49, 0x016d2c14, 0x0361cbff, 0x030f4a0d, 0x000ccb52}}, Y: Field{[10]uint32{0x03c6232b, 0x021f3cc6, 0x02354b78, 0x033761f3, 0x03110dfa, 0x0382c5fa, 0x0333d7d9, 0x00d42fd0, 0x014347c2, 0x0000dfcc}}}, + {X: Field{[10]uint32{0x00c5788f, 0x03be1ed3, 0x0394e52d, 0x0082d556, 0x025d0216, 0x01ef44e3, 0x020e8803, 0x0358cc07, 0x02e62ce6, 0x003a66cb}}, Y: Field{[10]uint32{0x025546bc, 0x01210593, 0x03c6d2c0, 0x030ae469, 0x00e2858d, 0x02ecf954, 0x031df268, 0x032a7db7, 0x02fedabc, 0x00327a81}}}, + {X: Field{[10]uint32{0x01c54353, 0x0015b712, 0x033b1dfb, 0x0247a015, 0x005af241, 0x01c666f7, 0x02692a1d, 0x01ebb9ff, 0x00382a97, 0x00227ab5}}, Y: Field{[10]uint32{0x01994ece, 0x003e6bf6, 0x0319c2de, 0x00efaf97, 0x0107fec4, 0x02dc042b, 0x0167f706, 0x01ddb0aa, 0x01cedb2d, 0x002d5cb7}}}, + {X: Field{[10]uint32{0x0198268f, 0x021ed3b5, 0x01488595, 0x03fec243, 0x004777ba, 0x0231d016, 0x006f6fa9, 0x0104fc2d, 0x018e529b, 0x000336b6}}, Y: Field{[10]uint32{0x03ed034e, 0x03ba0c2f, 0x00cac3ef, 0x0205e22c, 0x02ceabc2, 0x0087e1e1, 0x00f10db8, 0x0398e51c, 0x015e0543, 0x0035016a}}}, + {X: Field{[10]uint32{0x02ee2cc3, 0x00a43921, 0x00f5be41, 0x0275783d, 0x02c26984, 0x0330c502, 0x03f69ad3, 0x00ccaf99, 0x03411cc1, 0x001425bb}}, Y: Field{[10]uint32{0x03f8268a, 0x0114d0dc, 0x02bb418c, 0x029bcb51, 0x0149ef34, 0x0029ecfc, 0x021f3123, 0x02c1afb5, 0x029fccd4, 0x001fcce1}}}, + {X: Field{[10]uint32{0x00a5be61, 0x03d838a9, 0x00dbb8b9, 0x03b58e3b, 0x038c4d59, 0x0322fa61, 0x007253a2, 0x019cd218, 0x0270a096, 0x002f02fa}}, Y: Field{[10]uint32{0x02873b78, 0x03883345, 0x03320873, 0x03c0a777, 0x01054d1f, 0x01b1309d, 0x0286129e, 0x01382c12, 0x01ac3c2b, 0x00386444}}}, + {X: Field{[10]uint32{0x03223ec1, 0x014500e1, 0x007a7dc4, 0x02297210, 0x03b024bb, 0x02a9f5d1, 0x00674d38, 0x01682038, 0x0169ac8f, 0x000b4599}}, Y: Field{[10]uint32{0x019a597a, 0x006f5df8, 0x038f73dd, 0x021f8888, 0x01445c15, 0x03bb1396, 0x027d92d4, 0x01a97c4a, 0x03386221, 0x00122bc6}}}, + {X: Field{[10]uint32{0x0145ba30, 0x03a2dfe0, 0x01d40f27, 0x037f8f3c, 0x012947cd, 0x01bb1ded, 0x00e37b32, 0x00454377, 0x03aebb8b, 0x002e32f3}}, Y: Field{[10]uint32{0x00823ca4, 0x01bf76cd, 0x01a0562b, 0x03ef357d, 0x00ffc2c3, 0x021a287a, 0x030ec022, 0x034b7218, 0x00ab8b2a, 0x003548d3}}}, + {X: Field{[10]uint32{0x00960ee7, 0x02abb1b7, 0x02a227a9, 0x02f9823b, 0x01fb2e3e, 0x006b0676, 0x01db9c0f, 0x004bd377, 0x0092563f, 0x003ece58}}, Y: Field{[10]uint32{0x01823c45, 0x02798bb2, 0x0395358c, 0x02ec1a50, 0x01646e88, 0x00bac07a, 0x027f661c, 0x028e50f4, 0x01dffda1, 0x00197959}}}, + {X: Field{[10]uint32{0x0014b297, 0x03fe9529, 0x0022580a, 0x03b88400, 0x02f8da06, 0x02c89d2c, 0x0225150d, 0x0337ea41, 0x01760b8d, 0x00071ba7}}, Y: Field{[10]uint32{0x01666255, 0x02f0bbe9, 0x00057607, 0x02e5e35d, 0x0085679f, 0x02fb62c4, 0x026edcbb, 0x02c2c151, 0x010d009a, 0x001c1ad1}}}, + {X: Field{[10]uint32{0x01fca1c3, 0x0180d46e, 0x00277dc6, 0x00355578, 0x0377f55a, 0x026173b2, 0x0166b13d, 0x03fc39b9, 0x01c146ec, 0x000b810f}}, Y: Field{[10]uint32{0x026d8398, 0x01c7915c, 0x00e1428a, 0x0000aab1, 0x03665da5, 0x02429eaf, 0x011103b0, 0x03abc281, 0x01caf75c, 0x0000713c}}}, + {X: Field{[10]uint32{0x005f482f, 0x002f2696, 0x0192cb4b, 0x03b8b625, 0x019549f9, 0x025f5e15, 0x023ee12d, 0x023a4399, 0x030ca1bf, 0x0016b85e}}, Y: Field{[10]uint32{0x00fc8111, 0x008daf2d, 0x031c716f, 0x02b6235c, 0x03a71806, 0x03a3969d, 0x006966c1, 0x0002f1cf, 0x03349317, 0x002ec37d}}}, + {X: Field{[10]uint32{0x03caafc4, 0x023d1a29, 0x0271c1b0, 0x037f241a, 0x00fca910, 0x01d7b6a5, 0x0011c46e, 0x030f974f, 0x03426a24, 0x003ea2fc}}, Y: Field{[10]uint32{0x035954e2, 0x02b6930b, 0x000435dc, 0x03e795f0, 0x014e2884, 0x016cf3c1, 0x01e6c846, 0x03ef678d, 0x017cdb07, 0x00329a60}}}, + {X: Field{[10]uint32{0x011a88a4, 0x0016bee6, 0x003cb0f9, 0x02d779c2, 0x011e1031, 0x00fd0e53, 0x01f67aea, 0x035fdee7, 0x01c1846d, 0x000b37fc}}, Y: Field{[10]uint32{0x0376f39e, 0x03fcf8bb, 0x00d3b507, 0x023e3959, 0x016ea0d8, 0x038c11c4, 0x00530fed, 0x0390adf4, 0x024f3827, 0x0012ef5c}}}, + {X: Field{[10]uint32{0x013b6905, 0x02ccc8a7, 0x02df95f5, 0x02472a50, 0x01c5bb82, 0x019413e2, 0x01f82b29, 0x0127b2bf, 0x000055ca, 0x001beb6f}}, Y: Field{[10]uint32{0x00b7df62, 0x03d5fbd5, 0x02868c06, 0x014fd64f, 0x03911a30, 0x03104645, 0x02f94728, 0x020c9a95, 0x0184033a, 0x003dd9c4}}}, + {X: Field{[10]uint32{0x00dd0841, 0x0280392e, 0x01fca2f5, 0x00184964, 0x026f4a1e, 0x0357aa34, 0x02b15f55, 0x02a90373, 0x015a2f26, 0x0031451a}}, Y: Field{[10]uint32{0x0113266c, 0x014a0eac, 0x03a6e800, 0x02c45b63, 0x01652905, 0x00ff13bc, 0x01375677, 0x02c1aa42, 0x02082e78, 0x001415ae}}}, + {X: Field{[10]uint32{0x037ff933, 0x004785b2, 0x0306466c, 0x03bbf747, 0x01aad758, 0x03862304, 0x00368dd3, 0x013e1553, 0x00d49347, 0x0020f72e}}, Y: Field{[10]uint32{0x030a53c7, 0x022f6118, 0x02288e9f, 0x03ec3987, 0x030d6ed6, 0x004679e7, 0x027a029e, 0x01c649f1, 0x033d04e5, 0x00041396}}}, + {X: Field{[10]uint32{0x00c8a93f, 0x032aec7f, 0x01127a8b, 0x0208b8ac, 0x015f9ae8, 0x01597e6a, 0x03690890, 0x002c990e, 0x038acf9a, 0x002f1973}}, Y: Field{[10]uint32{0x00fb2143, 0x030a4a85, 0x039c3ae9, 0x03045569, 0x0023ff28, 0x019a66de, 0x000ac90f, 0x03741a82, 0x016ba31d, 0x003f7e5c}}}, + {X: Field{[10]uint32{0x009f140b, 0x0272f493, 0x0153c1e0, 0x035901c3, 0x02695e37, 0x016b4de8, 0x0174b476, 0x004a904b, 0x03a9520b, 0x00121de3}}, Y: Field{[10]uint32{0x029c373e, 0x0328875d, 0x01b39fbe, 0x0316cb8d, 0x01446dd3, 0x03146d1a, 0x03b4c02b, 0x016500e1, 0x0005bec1, 0x00337192}}}, + {X: Field{[10]uint32{0x0301dc25, 0x019f77e8, 0x006e841f, 0x02d4cb46, 0x0328077b, 0x03b5a1cf, 0x01c88312, 0x01621a3b, 0x002c6a73, 0x00276cb1}}, Y: Field{[10]uint32{0x03b3a0dc, 0x024098af, 0x00ac8569, 0x0351e1b4, 0x00aa0ac5, 0x01a8c96c, 0x0193e064, 0x02d17b84, 0x0235ec9d, 0x0038072c}}}, + {X: Field{[10]uint32{0x00f8da6b, 0x0201cd27, 0x012aefb2, 0x023c925b, 0x03037c6c, 0x015ac9ff, 0x021ef442, 0x0009690e, 0x018f62bf, 0x0032f3fd}}, Y: Field{[10]uint32{0x03b1896d, 0x0379b94e, 0x01da2818, 0x006f0440, 0x0128f533, 0x00784daf, 0x029251fe, 0x009d4c0e, 0x02d52da3, 0x0013f667}}}, + {X: Field{[10]uint32{0x034f3639, 0x019c94db, 0x00270933, 0x03ce45e2, 0x02070cbc, 0x00ec77e5, 0x03a12a29, 0x02311605, 0x039787e6, 0x00275482}}, Y: Field{[10]uint32{0x02bc0f14, 0x027b3bed, 0x036bb22d, 0x001e763e, 0x01041fec, 0x028c9589, 0x01885ca0, 0x02625764, 0x015d2b53, 0x00185784}}}, + {X: Field{[10]uint32{0x0225dbbd, 0x01a8d064, 0x02e7b3ef, 0x00f7e0ec, 0x024b0bfd, 0x02331b5b, 0x023d1820, 0x030af2f0, 0x01c40057, 0x00319237}}, Y: Field{[10]uint32{0x018ab3d8, 0x029fef14, 0x02caf209, 0x0187705f, 0x01ec16fe, 0x019e8f67, 0x0347e99e, 0x00659a6e, 0x006338dd, 0x0002b26a}}}, + {X: Field{[10]uint32{0x002137dc, 0x0259187a, 0x0229a7e5, 0x00a5ed17, 0x02b80ead, 0x0248877b, 0x01e3f1e7, 0x03dd9ebf, 0x0035ea96, 0x002b847e}}, Y: Field{[10]uint32{0x00452596, 0x0085e393, 0x01a15c2a, 0x0395397e, 0x034c5dfe, 0x00654eb2, 0x016e1b5f, 0x018bca26, 0x03ecb65a, 0x0008114e}}}, + {X: Field{[10]uint32{0x0364d46f, 0x00a03428, 0x00fec029, 0x03f8d970, 0x000699f6, 0x023bd44a, 0x03b9293d, 0x02993748, 0x01ad56f8, 0x0028d552}}, Y: Field{[10]uint32{0x03fbbe75, 0x0335b842, 0x00868f11, 0x02480f19, 0x008f55a2, 0x01fffb38, 0x015ffce1, 0x026604c0, 0x01cba38c, 0x00321010}}}, + {X: Field{[10]uint32{0x035f8077, 0x011c25f8, 0x03a649c3, 0x0020351c, 0x022aad83, 0x01f6b226, 0x01bfaef3, 0x01d78423, 0x0029af55, 0x001d61dc}}, Y: Field{[10]uint32{0x03c2b8b6, 0x02a173d7, 0x0165b2e5, 0x01d085b3, 0x01603cd6, 0x005df31a, 0x02437620, 0x0146efb4, 0x0097d198, 0x00210ec1}}}, + {X: Field{[10]uint32{0x02d4ea99, 0x0181fecc, 0x031ca917, 0x03a43cba, 0x01ae00b9, 0x00f94cb0, 0x027b1f68, 0x03f54311, 0x0168ca7f, 0x00113b8c}}, Y: Field{[10]uint32{0x012c3270, 0x00fadff2, 0x001411e7, 0x038e6e5b, 0x03022564, 0x024443bb, 0x01a9f9a0, 0x01684efb, 0x02a8120b, 0x00042883}}}, + {X: Field{[10]uint32{0x025337d4, 0x02dbd99e, 0x007d6477, 0x02550b2c, 0x01461e45, 0x00eee632, 0x0278f92f, 0x02bc2e41, 0x00898daf, 0x0026804f}}, Y: Field{[10]uint32{0x023c2a73, 0x012e87f6, 0x0205e877, 0x03c7fd4c, 0x03fec396, 0x017367f2, 0x009b773f, 0x008e939b, 0x005ac966, 0x00047e12}}}, + {X: Field{[10]uint32{0x02b47d5c, 0x01cf5a6d, 0x01bea83e, 0x005cae2d, 0x013fa12d, 0x03d42cd2, 0x0019a615, 0x01060882, 0x00a144d5, 0x002d178a}}, Y: Field{[10]uint32{0x02c29f4b, 0x01b0c1a4, 0x00ae45b7, 0x0248256f, 0x03fb1c20, 0x00e65c94, 0x03f1dec4, 0x0334877f, 0x0383ccda, 0x003661f6}}}, + {X: Field{[10]uint32{0x0241a0c9, 0x000f4d69, 0x02603cdc, 0x0014074a, 0x009a6592, 0x004064be, 0x0065d073, 0x016222a2, 0x02534984, 0x00279f5a}}, Y: Field{[10]uint32{0x00f462d9, 0x00052615, 0x033233c0, 0x02f2c87e, 0x02ce5f1f, 0x0134702c, 0x03e5690b, 0x027e9fd5, 0x00edace2, 0x003285dd}}}, + {X: Field{[10]uint32{0x00991f47, 0x03fa90d5, 0x00b01b9a, 0x01023bc5, 0x03e433a9, 0x02017058, 0x03b306d5, 0x0184f159, 0x0029be1b, 0x00044e85}}, Y: Field{[10]uint32{0x03928697, 0x005159de, 0x023c7500, 0x0006454a, 0x000321e8, 0x01478e17, 0x0191ec1a, 0x032ee124, 0x01fa6d26, 0x000897b9}}}, + {X: Field{[10]uint32{0x018d9181, 0x01575c50, 0x03964776, 0x029b4375, 0x016d6eb0, 0x01ac017a, 0x01e2597f, 0x02177e4c, 0x01d102cf, 0x000cbb23}}, Y: Field{[10]uint32{0x03f9d8b9, 0x035eeeeb, 0x022ab00d, 0x001786a8, 0x003423bc, 0x0310c1d9, 0x02f7f4d9, 0x0392966f, 0x01d078b3, 0x003f5c63}}}, + {X: Field{[10]uint32{0x02e9246e, 0x0063a45c, 0x03865b12, 0x01c3bd1d, 0x01b145db, 0x018547e2, 0x021a5f14, 0x036b9017, 0x0267f2ce, 0x002b690c}}, Y: Field{[10]uint32{0x007cf82c, 0x038352c9, 0x00a541f3, 0x021b0acb, 0x0116e396, 0x02c11d1a, 0x0315c578, 0x0134a7e7, 0x02e04d1f, 0x0034522f}}}, + {X: Field{[10]uint32{0x01bf0cbe, 0x02e611e5, 0x006bbbf7, 0x001c805f, 0x0265f5ca, 0x036e8694, 0x03e662be, 0x01d29a47, 0x02bedebd, 0x00206282}}, Y: Field{[10]uint32{0x009c0a53, 0x006738c2, 0x03bc8da7, 0x00ee4240, 0x030ac0f0, 0x0389cede, 0x008da9bc, 0x00b1cda6, 0x006a0187, 0x0039ecb4}}}, + {X: Field{[10]uint32{0x010b3c94, 0x02fa041f, 0x02f14d80, 0x01b7cb44, 0x02ae7602, 0x0165bc27, 0x00c1a1bf, 0x03684201, 0x0355ef77, 0x000bd27a}}, Y: Field{[10]uint32{0x02038b83, 0x0138e0cf, 0x02ffa569, 0x01ae00b2, 0x011a7903, 0x01b533b4, 0x0289aa1e, 0x004463ad, 0x0010002f, 0x001a8896}}}, + {X: Field{[10]uint32{0x02faf74a, 0x0314d4de, 0x0278ba5c, 0x031e61b1, 0x02bf66d5, 0x03b6f457, 0x02f8029b, 0x00097daf, 0x017054cb, 0x001ff953}}, Y: Field{[10]uint32{0x00ad89b0, 0x025b042d, 0x03695022, 0x03f76dd5, 0x00a47a82, 0x02462155, 0x016afb66, 0x0198c9b4, 0x03ec72ac, 0x003f7185}}}, + {X: Field{[10]uint32{0x02ed2689, 0x028fdd63, 0x0131956a, 0x02eb7bb0, 0x03411ec9, 0x02e71575, 0x01b8675d, 0x02128327, 0x03662b82, 0x00213d64}}, Y: Field{[10]uint32{0x02cd0d88, 0x0263a0c2, 0x01dfe4de, 0x024bd07b, 0x01480425, 0x01144722, 0x01119c4c, 0x01bb5e09, 0x01d96bef, 0x0020db99}}}, + {X: Field{[10]uint32{0x0185ee1b, 0x029bed50, 0x01f52da0, 0x004978ad, 0x00a46b16, 0x033326ff, 0x02eb6b71, 0x02083781, 0x00301a84, 0x003242aa}}, Y: Field{[10]uint32{0x010dc8df, 0x00d48dfe, 0x02efb161, 0x01276489, 0x01cc2134, 0x02671628, 0x031e05cd, 0x01760a4c, 0x03c00b28, 0x003aa1b5}}}, + {X: Field{[10]uint32{0x012ef100, 0x01f65b86, 0x00addc05, 0x02b673f7, 0x018669b2, 0x00d850aa, 0x03047ef6, 0x0126f9a7, 0x0176abae, 0x003fed35}}, Y: Field{[10]uint32{0x03ec6c7a, 0x024406ed, 0x0012080a, 0x01b6948e, 0x013d9596, 0x0203daa3, 0x02700e4c, 0x038060ce, 0x0114b2d5, 0x000dd033}}}, + {X: Field{[10]uint32{0x01403de0, 0x01e3f2b3, 0x00a3c08b, 0x0174b0cf, 0x0312c24b, 0x026bfbff, 0x03ebb618, 0x01af33ad, 0x018967ad, 0x001022a3}}, Y: Field{[10]uint32{0x01caecf3, 0x02f391f8, 0x013a2cdc, 0x015ff58c, 0x014acd35, 0x007605c7, 0x00fb66ff, 0x0310ba8a, 0x03a6378c, 0x000edd87}}}, + {X: Field{[10]uint32{0x0053b787, 0x0120ba1f, 0x027123e3, 0x013c60c9, 0x006c80c0, 0x006c2ac1, 0x01e27e3f, 0x00276ff7, 0x03f61531, 0x0016028c}}, Y: Field{[10]uint32{0x0028431a, 0x00d4f039, 0x02dd801d, 0x028d58e6, 0x02f70a33, 0x025c0bfd, 0x01ac5ae6, 0x020783a6, 0x03c3fddc, 0x002ee01c}}}, + {X: Field{[10]uint32{0x0344130f, 0x039e27e0, 0x018c2505, 0x036ce31a, 0x014c7860, 0x020d26b4, 0x02b11008, 0x03332b11, 0x02947054, 0x000b4c42}}, Y: Field{[10]uint32{0x023db697, 0x0237204f, 0x02a9a5d2, 0x0168b89a, 0x022df187, 0x0244f643, 0x011be0a0, 0x03243a70, 0x029c3c6e, 0x0007a881}}}, + {X: Field{[10]uint32{0x027aa450, 0x008c7e1a, 0x03b32985, 0x009091a5, 0x015d82b4, 0x02e0d6bb, 0x022f2e3a, 0x0072b4fc, 0x002be7b1, 0x000a1d0a}}, Y: Field{[10]uint32{0x00415c42, 0x008c5c7c, 0x02b74cfa, 0x000c87c9, 0x02cf39ce, 0x0107642e, 0x02e3860e, 0x02e48888, 0x032db2e1, 0x0000a18c}}}, + {X: Field{[10]uint32{0x036231cf, 0x01b9007a, 0x02ea48b3, 0x016e54c3, 0x016940f8, 0x00adde60, 0x02f5e418, 0x03ce8042, 0x039ff77b, 0x002be79d}}, Y: Field{[10]uint32{0x00e84c67, 0x03dd5066, 0x03389c13, 0x020eac7f, 0x034deb70, 0x01b5ae23, 0x01d958b8, 0x0057249a, 0x0350dbaf, 0x00274f50}}}, + {X: Field{[10]uint32{0x008c1ef3, 0x00740d5a, 0x01b35447, 0x02302998, 0x00bc93ad, 0x00ec9de3, 0x03d27577, 0x029cd49b, 0x038d515c, 0x001117b6}}, Y: Field{[10]uint32{0x0090dc49, 0x0193c95c, 0x002f555d, 0x0269154e, 0x02e94b75, 0x03cda84f, 0x03743611, 0x018be0ed, 0x023cfde7, 0x0025245e}}}, + {X: Field{[10]uint32{0x001811b4, 0x01d4049c, 0x012aa0dc, 0x02e8ad98, 0x013e76fe, 0x01fb0d34, 0x009993cf, 0x014c183e, 0x020a370d, 0x00380430}}, Y: Field{[10]uint32{0x006fd8af, 0x03d93fc4, 0x023cee3a, 0x009bc857, 0x03798a64, 0x032cf311, 0x0157a214, 0x026f814b, 0x032d280d, 0x0032d145}}}, + {X: Field{[10]uint32{0x025af8f9, 0x0108d4ab, 0x033f9eed, 0x00ed9eed, 0x02ef548b, 0x03ed1334, 0x0134080c, 0x031f96c4, 0x03ca4625, 0x0034d09d}}, Y: Field{[10]uint32{0x03e4a4df, 0x03963235, 0x02b441ec, 0x026b389e, 0x02c39190, 0x038fd13b, 0x037bd609, 0x023dfaec, 0x03797a62, 0x0028d7d5}}}, + {X: Field{[10]uint32{0x031d628d, 0x017bb2b2, 0x01c5dd66, 0x030f27ec, 0x03d96182, 0x0291ccf8, 0x004977fe, 0x010906da, 0x03993bd5, 0x002f82e4}}, Y: Field{[10]uint32{0x03b7fdb8, 0x016fa103, 0x009dadbf, 0x003c17ec, 0x0013218b, 0x03b10626, 0x03762728, 0x0349a837, 0x0353744e, 0x000de410}}}, + {X: Field{[10]uint32{0x018f3980, 0x00b0c67f, 0x0309dc3b, 0x00d3a04b, 0x01edd9bd, 0x01ad0a0a, 0x019f48fd, 0x0087a47b, 0x01f1ed4a, 0x000c20a5}}, Y: Field{[10]uint32{0x02ac0230, 0x02975fab, 0x00181a8b, 0x00d225f1, 0x030797d4, 0x03b93328, 0x0214c314, 0x00386926, 0x034d5c36, 0x001a0d70}}}, + {X: Field{[10]uint32{0x00495b1a, 0x0236ccb7, 0x03b412b8, 0x01799a8d, 0x01c2e07a, 0x0043d7e9, 0x0391604e, 0x021e77f5, 0x035161aa, 0x0019b3fa}}, Y: Field{[10]uint32{0x0252a1e1, 0x03e726cc, 0x03fe3f9f, 0x0317edba, 0x025ffba9, 0x0120ef09, 0x0229602b, 0x03f004f8, 0x029bf8a2, 0x0028381e}}}, + {X: Field{[10]uint32{0x03e39ba4, 0x02168b5b, 0x03648ec8, 0x03be6d57, 0x01bf7b3a, 0x00d29284, 0x03b3d9d3, 0x03a9c133, 0x00fb849c, 0x0003d0ae}}, Y: Field{[10]uint32{0x01e8b22f, 0x03458298, 0x019a7036, 0x012af27c, 0x01f5b0fb, 0x034e06b8, 0x035db65d, 0x012bfe7d, 0x01e2a36d, 0x002d8188}}}, + {X: Field{[10]uint32{0x03ab034f, 0x00c4952f, 0x008e385a, 0x03698233, 0x00c57b7f, 0x0199be3d, 0x00fdc462, 0x018c8cbb, 0x03852290, 0x0010a705}}, Y: Field{[10]uint32{0x0162af35, 0x02605aca, 0x001f18e6, 0x027aaf25, 0x0250b396, 0x0206a813, 0x03bfcb04, 0x023d5d02, 0x02591a86, 0x0038642e}}}, + {X: Field{[10]uint32{0x01ebf611, 0x037dee03, 0x03d7dfaf, 0x0215bf19, 0x009895b9, 0x02cde3b9, 0x01e4237f, 0x026832e5, 0x017c9478, 0x003224e7}}, Y: Field{[10]uint32{0x00ad3682, 0x003e07c7, 0x022b0437, 0x01fa6c57, 0x0047feb7, 0x0018b4b5, 0x02d05e23, 0x01185f0d, 0x036206e9, 0x00050ebf}}}, + {X: Field{[10]uint32{0x0398ef94, 0x01bcf310, 0x00cfb1d3, 0x02de370f, 0x022b82ae, 0x010ab607, 0x0215ae41, 0x00c90c93, 0x01bf5630, 0x00179055}}, Y: Field{[10]uint32{0x035da55a, 0x03d3fd7a, 0x03b75ed6, 0x019080fc, 0x01b90833, 0x005b5d09, 0x033807f2, 0x028ee6a7, 0x01272325, 0x001a007d}}}, + {X: Field{[10]uint32{0x00d1b573, 0x036f4fc2, 0x0165b5e9, 0x00c181e2, 0x03eb01c5, 0x01c45388, 0x03fa851a, 0x024ef9ee, 0x019853f0, 0x000465ac}}, Y: Field{[10]uint32{0x00628795, 0x015ff4af, 0x0297e5c5, 0x03b7fbc2, 0x00fe79dc, 0x0060f6d1, 0x00dea44d, 0x03b88360, 0x00f054bf, 0x00001e53}}}, + {X: Field{[10]uint32{0x033a6094, 0x00dbb4b1, 0x03a1dea8, 0x017dadda, 0x0339803e, 0x01a00c38, 0x038fcd01, 0x01cdedf6, 0x012074bb, 0x00360636}}, Y: Field{[10]uint32{0x0176e504, 0x01bc5e40, 0x00afe9d9, 0x006fed33, 0x02ff15d5, 0x02d7c21b, 0x00d2aacf, 0x00462a03, 0x03b51f63, 0x001ab1f6}}}, + {X: Field{[10]uint32{0x006c6204, 0x02d193ec, 0x02d8851d, 0x00b6c9cf, 0x01703904, 0x02b97262, 0x01a433ee, 0x02afa7b6, 0x034bf5cc, 0x003009da}}, Y: Field{[10]uint32{0x00f4756b, 0x00bbf289, 0x02cc5fd5, 0x03526cfe, 0x00972593, 0x02160548, 0x001a582a, 0x02b20752, 0x00ae6349, 0x0012249c}}}, + {X: Field{[10]uint32{0x01d83307, 0x00d0f5f3, 0x00a7a0d3, 0x00187136, 0x020b8989, 0x00f42c92, 0x01b300b4, 0x0334c3ae, 0x021cca23, 0x000252ca}}, Y: Field{[10]uint32{0x02481df1, 0x014c0be7, 0x00640607, 0x020e6694, 0x02e6e746, 0x020ce2e7, 0x01608015, 0x02f7296e, 0x0156b709, 0x0011f17b}}}, + {X: Field{[10]uint32{0x027d5108, 0x01a21dab, 0x0195a668, 0x00af4d16, 0x009f157d, 0x030a3ed9, 0x021c3850, 0x03d53b92, 0x0379df2b, 0x003cabb8}}, Y: Field{[10]uint32{0x01c8ef08, 0x00b7558d, 0x0231113f, 0x023ef55a, 0x0319a7bf, 0x019dbbbe, 0x0079d351, 0x0287e724, 0x03ae9c90, 0x002b9d9a}}}, + {X: Field{[10]uint32{0x029833ad, 0x01aee16e, 0x02222830, 0x028115b3, 0x01e81e4d, 0x018071aa, 0x029cd043, 0x0312cabe, 0x004f3dbd, 0x003f23f9}}, Y: Field{[10]uint32{0x0156fe15, 0x001d4e1b, 0x01094ce3, 0x017b3a31, 0x012b0765, 0x029420ae, 0x0330a52e, 0x014b5d90, 0x0378a98f, 0x001a8c86}}}, + {X: Field{[10]uint32{0x00255c14, 0x02d19393, 0x02b7c5b8, 0x012d60c3, 0x017444d0, 0x00b77043, 0x01aa3ebe, 0x03cf2fef, 0x017919a4, 0x0034e337}}, Y: Field{[10]uint32{0x008c15fa, 0x0195544b, 0x02e6f1a5, 0x0254776a, 0x03e19040, 0x0336baf9, 0x02311fe0, 0x00bf6e52, 0x02f1823a, 0x001a83c7}}}, + {X: Field{[10]uint32{0x01a4b41f, 0x011d4e02, 0x03f4c142, 0x00675ddc, 0x03916ea1, 0x009ad7a7, 0x0071943a, 0x021a4343, 0x02f6013d, 0x002b00b9}}, Y: Field{[10]uint32{0x005ea2b1, 0x00c6e9b0, 0x008f3995, 0x00650ddc, 0x03726598, 0x023f4bd9, 0x019c5e76, 0x013aaefb, 0x019e436b, 0x003ab712}}}, + {X: Field{[10]uint32{0x006419c8, 0x026dc074, 0x01177d7d, 0x01d47fd9, 0x02dc6d1a, 0x001dbe73, 0x03b5cd07, 0x03518ab1, 0x031ac36b, 0x0000e522}}, Y: Field{[10]uint32{0x011765ba, 0x02ee5746, 0x00bd2732, 0x0239de59, 0x0372d5d1, 0x0333ad87, 0x0141ea71, 0x000f1eac, 0x00eba01c, 0x0032a47f}}}, + {X: Field{[10]uint32{0x02706e9a, 0x00c65c5f, 0x0355435e, 0x034176f2, 0x02ea9e73, 0x03ff6210, 0x014c0c2c, 0x000369b7, 0x008d21d6, 0x00131f6f}}, Y: Field{[10]uint32{0x038230fe, 0x0305fd49, 0x0042d35d, 0x02f6336d, 0x016db46e, 0x01fdfa16, 0x002f4129, 0x01eaf4a7, 0x0344b87b, 0x0021a9df}}}, + {X: Field{[10]uint32{0x0244f623, 0x03847920, 0x01e0698e, 0x00c7677d, 0x01b7dec7, 0x001d0ec3, 0x038c2f7a, 0x0178b427, 0x01aab382, 0x001d48a3}}, Y: Field{[10]uint32{0x000a1676, 0x0086a21e, 0x01aa4510, 0x01949829, 0x0075e336, 0x034a0ba9, 0x0237bdfe, 0x03c41f6e, 0x0187e122, 0x00258f0a}}}, + {X: Field{[10]uint32{0x0280a579, 0x034b0ac3, 0x00147632, 0x00fc40b0, 0x02b584a7, 0x006de91e, 0x02ea92c7, 0x00587e3d, 0x02b32ed2, 0x002a8ea1}}, Y: Field{[10]uint32{0x024e6cb7, 0x01806b6b, 0x002abbc4, 0x03fddc8b, 0x03f7e517, 0x00409135, 0x01345d32, 0x03193c37, 0x009d2b4e, 0x002e3f89}}}, + {X: Field{[10]uint32{0x013f22f7, 0x034c5906, 0x0368abcf, 0x01f4f4f0, 0x014c0322, 0x035bcebe, 0x00b992f7, 0x000e7696, 0x012d9828, 0x001c0ae4}}, Y: Field{[10]uint32{0x02bac387, 0x039710b1, 0x0136f71d, 0x02e8e5ab, 0x02b576cc, 0x01c5331f, 0x00a4e14c, 0x0335e04c, 0x00493a32, 0x0009624b}}}, + {X: Field{[10]uint32{0x0090ba75, 0x034ed727, 0x03567829, 0x00ee3dbc, 0x01269f70, 0x00315c04, 0x0221dfc1, 0x02fe98a8, 0x00886d44, 0x00132843}}, Y: Field{[10]uint32{0x03fde3e7, 0x00fb3ed3, 0x034b9dac, 0x0089fc0d, 0x0395b04a, 0x00b5df6c, 0x01e6f277, 0x038d6353, 0x02b29282, 0x000cc8fa}}}, + {X: Field{[10]uint32{0x02b9c325, 0x0159ce24, 0x02d342da, 0x00d4ba51, 0x00f3601c, 0x0305d3bf, 0x00aa4362, 0x01a5c80b, 0x023630da, 0x0005867a}}, Y: Field{[10]uint32{0x030e881e, 0x029cbe43, 0x02de4b98, 0x025e471f, 0x03a1c126, 0x01237b5e, 0x0188dd61, 0x019e7a9b, 0x000e13b8, 0x0008ab45}}}, + {X: Field{[10]uint32{0x034d3032, 0x02f4e634, 0x034c6365, 0x02ead941, 0x0064d589, 0x00c0be2b, 0x01409a8a, 0x02fed273, 0x003818de, 0x000877f7}}, Y: Field{[10]uint32{0x004099a9, 0x02c5f39e, 0x01c4579e, 0x00f885c9, 0x02106d19, 0x02d809b9, 0x006ddcdb, 0x0148129e, 0x02c20e83, 0x002eef9f}}}, + {X: Field{[10]uint32{0x01069fe1, 0x036f5021, 0x01bd1c0d, 0x00b82eec, 0x03036a47, 0x00b3383b, 0x02e99aa1, 0x006acb2e, 0x01dd802f, 0x00183ef9}}, Y: Field{[10]uint32{0x03349dc3, 0x02f94929, 0x013167f9, 0x02cade2c, 0x0399feb1, 0x015023c2, 0x03d07a68, 0x00135a0b, 0x03592dd3, 0x0003aa0e}}}, + {X: Field{[10]uint32{0x02147f96, 0x019db307, 0x0066ae29, 0x01e53712, 0x03dd7c24, 0x01650174, 0x008ee975, 0x0316eea1, 0x0065fdcd, 0x0032012d}}, Y: Field{[10]uint32{0x03adc5a2, 0x03bbbc96, 0x035223a7, 0x028b3e6e, 0x03fb10cc, 0x02e0a393, 0x02bf43a9, 0x00adc3af, 0x02b71fd8, 0x002a928b}}}, + {X: Field{[10]uint32{0x010336d9, 0x03674f75, 0x03b7bd96, 0x02ecc64b, 0x005c74cf, 0x030cbdb0, 0x011b3383, 0x00ed5771, 0x03e55137, 0x001de9b8}}, Y: Field{[10]uint32{0x006f047f, 0x0162dac3, 0x032b67d3, 0x01b8e15b, 0x035de35d, 0x03ff355c, 0x02075c10, 0x02b1c523, 0x026e86ef, 0x0008748c}}}, + {X: Field{[10]uint32{0x015f7a5a, 0x00758b43, 0x018c9473, 0x033d938f, 0x01a89d82, 0x01a93b19, 0x02706ff2, 0x03bb4999, 0x01874a72, 0x0021b770}}, Y: Field{[10]uint32{0x030cc29c, 0x03396ad3, 0x0295c443, 0x01781337, 0x0340507b, 0x028f9b72, 0x0217816b, 0x02848ea4, 0x0040ce45, 0x00147df3}}}, + {X: Field{[10]uint32{0x03d3beca, 0x025bcff1, 0x028ce4a5, 0x03be13a8, 0x038c80d5, 0x005578c9, 0x0108675a, 0x03ab11b0, 0x00f8db8e, 0x0033d274}}, Y: Field{[10]uint32{0x020086fc, 0x02e5b7d0, 0x02d41235, 0x02970c51, 0x007cdd64, 0x0186475a, 0x002dcd6a, 0x01d70fb6, 0x0341ebae, 0x001bff71}}}, + {X: Field{[10]uint32{0x035875f4, 0x0232d52d, 0x00381051, 0x01457f86, 0x00c9f5c8, 0x03849b3b, 0x020e8721, 0x019c88b5, 0x038957eb, 0x00075d7b}}, Y: Field{[10]uint32{0x038dbdb4, 0x027719ad, 0x033e37b9, 0x0095dd96, 0x01c20766, 0x03e8750a, 0x024ae2f5, 0x0158776f, 0x03dd9288, 0x0020b177}}}, + {X: Field{[10]uint32{0x03ad0689, 0x00b2a279, 0x036dca29, 0x038f1b76, 0x005bb5b7, 0x02540cd2, 0x00d94666, 0x01848a76, 0x0335f62e, 0x002fa92d}}, Y: Field{[10]uint32{0x03a08901, 0x0082b4c1, 0x0011cd8e, 0x00dbd4a8, 0x027cda58, 0x02df007c, 0x019a4517, 0x0278439f, 0x038a08ea, 0x002438c9}}}, + {X: Field{[10]uint32{0x0169f2bb, 0x00e5aa58, 0x037281af, 0x03c2ceb2, 0x02577f5c, 0x01756627, 0x010aaa27, 0x0145c063, 0x02dea90e, 0x003a16c2}}, Y: Field{[10]uint32{0x0250aaa8, 0x01fd6679, 0x03358066, 0x01a75020, 0x0230ef12, 0x015edfd6, 0x016fec57, 0x01d718e4, 0x00cd3ca1, 0x00350a5c}}}, + {X: Field{[10]uint32{0x03928934, 0x0390b628, 0x00f5e3ff, 0x0213008a, 0x0082ca55, 0x033df30b, 0x01ed550f, 0x00149b90, 0x02dd2405, 0x00365d64}}, Y: Field{[10]uint32{0x022d102e, 0x013713bf, 0x0126a217, 0x01149bcb, 0x024de0db, 0x0008dbd3, 0x01a3852a, 0x0070edd6, 0x01696bf0, 0x003ab1b0}}}, + {X: Field{[10]uint32{0x026e00e7, 0x00d7b859, 0x013ebedd, 0x01d56bad, 0x00fd7725, 0x023195de, 0x00e60a9a, 0x008388de, 0x02a450b6, 0x0003808f}}, Y: Field{[10]uint32{0x0094797e, 0x0198d4da, 0x01e306a9, 0x01338df8, 0x026bdd54, 0x02457d41, 0x020f0e78, 0x033e26c1, 0x00506dbd, 0x001393b6}}}, + {X: Field{[10]uint32{0x01935e5a, 0x0013b083, 0x01c9cc83, 0x00b70c0b, 0x02a7c0ec, 0x01aa15ef, 0x001b9f7e, 0x03f5ba96, 0x00955cd4, 0x001856d7}}, Y: Field{[10]uint32{0x015f4d46, 0x0086c53f, 0x038d36e4, 0x01d3cda9, 0x0146fc80, 0x0175d536, 0x01845bff, 0x00c96ef3, 0x03662602, 0x00308871}}}, + {X: Field{[10]uint32{0x02ec13a7, 0x031cd625, 0x0185bc2c, 0x02168012, 0x03fa2a0d, 0x004e46f6, 0x00e34d60, 0x008086e7, 0x003402e1, 0x002c77e9}}, Y: Field{[10]uint32{0x0348438e, 0x00fbd665, 0x03eadd10, 0x03316264, 0x0013c2a5, 0x01be062d, 0x03b7e9b0, 0x03e0a076, 0x015a8162, 0x003e8f44}}}, + {X: Field{[10]uint32{0x03eada7c, 0x028f272e, 0x0097436b, 0x02acc966, 0x0068c7e1, 0x0393b372, 0x0275b835, 0x011ff6b1, 0x001fafbe, 0x002d92d8}}, Y: Field{[10]uint32{0x01dbe68d, 0x0148dd3a, 0x007d85ea, 0x00355cd2, 0x02652ae9, 0x018b6f26, 0x03606624, 0x015d1bfa, 0x0039d231, 0x002bde30}}}, + {X: Field{[10]uint32{0x03b579cf, 0x03cc991a, 0x013364a0, 0x008d49c5, 0x01b0981f, 0x02535d59, 0x01027d4e, 0x036721b1, 0x0346fda1, 0x00150a74}}, Y: Field{[10]uint32{0x015b1880, 0x025a8ca6, 0x00f37ac6, 0x01654519, 0x02162d66, 0x035d18db, 0x00754dd2, 0x0364b8e4, 0x0197dfec, 0x0016e338}}}, + {X: Field{[10]uint32{0x026f005b, 0x0152c58a, 0x03f94ff9, 0x01a7cde1, 0x0020e216, 0x00105d27, 0x000bb781, 0x019c62c1, 0x00f2056d, 0x002241a5}}, Y: Field{[10]uint32{0x01753341, 0x0070504b, 0x00df35df, 0x02dcc6e5, 0x007bf505, 0x01abf43e, 0x010d7b22, 0x02eff2ee, 0x034a890d, 0x003659a4}}}, + {X: Field{[10]uint32{0x003cc117, 0x00b0ad9d, 0x0067ccb9, 0x0079128a, 0x00269b5d, 0x03f81832, 0x02987a05, 0x009adfe9, 0x0292cd05, 0x000eb9d4}}, Y: Field{[10]uint32{0x02416a94, 0x028b757c, 0x02871d22, 0x03a61ee0, 0x00f004ee, 0x00cc95af, 0x03d5416a, 0x02a0b63d, 0x00c15a74, 0x00042567}}}, + {X: Field{[10]uint32{0x019b0707, 0x01771fca, 0x03ce93bb, 0x037a292a, 0x01347bba, 0x006e7e87, 0x0353fd5f, 0x01f55568, 0x029bff71, 0x00275d16}}, Y: Field{[10]uint32{0x02de8134, 0x030a399f, 0x0369b0ba, 0x03feb783, 0x0210461c, 0x039cd379, 0x004f615a, 0x031831cc, 0x00aed513, 0x0033bcce}}}, + {X: Field{[10]uint32{0x0144f166, 0x02e54674, 0x009f0aaa, 0x02599214, 0x00abf1b8, 0x0248b018, 0x01ce7f4f, 0x0324e441, 0x002c8130, 0x001a67a7}}, Y: Field{[10]uint32{0x003a19cd, 0x028e7b5f, 0x004a438d, 0x00a65f49, 0x01bfb7da, 0x00e0275a, 0x01145838, 0x03e51257, 0x010e1fb9, 0x00220ad2}}}, + {X: Field{[10]uint32{0x01591f87, 0x012869e1, 0x03550388, 0x02953d0c, 0x00ae79b4, 0x032ff8a6, 0x01ea704b, 0x001426a4, 0x00c1dc52, 0x0038e807}}, Y: Field{[10]uint32{0x02dcc64e, 0x005ff507, 0x00b96066, 0x0244dd24, 0x012480a8, 0x0376bd25, 0x0287e546, 0x02755ff2, 0x01f368d1, 0x003cf190}}}, + {X: Field{[10]uint32{0x02c433d1, 0x03b8e35a, 0x035f1ee5, 0x039bf63f, 0x00cc7cce, 0x01126145, 0x01d23623, 0x00dd751b, 0x01c3d9df, 0x00174543}}, Y: Field{[10]uint32{0x02ab0316, 0x00c5bad4, 0x00061a32, 0x03fafeb7, 0x02399a83, 0x02100424, 0x000263f1, 0x03a839f6, 0x0250d2e2, 0x000b0244}}}, + {X: Field{[10]uint32{0x00996a66, 0x003170b8, 0x02b16c10, 0x0201629b, 0x00ec4778, 0x038047e0, 0x00aea5b5, 0x02e8fd91, 0x0361bb12, 0x00127ee5}}, Y: Field{[10]uint32{0x0255e23c, 0x033f41b5, 0x00370089, 0x006e4a5e, 0x00d9086b, 0x00595317, 0x0099caf2, 0x02245161, 0x020fb720, 0x001c4d08}}}, + {X: Field{[10]uint32{0x0244738e, 0x0032514a, 0x03b13d53, 0x01687d3d, 0x00bdea05, 0x02b73770, 0x03990211, 0x00b7ef79, 0x02b3a451, 0x000d3157}}, Y: Field{[10]uint32{0x0398fd16, 0x02693153, 0x021f2ba3, 0x0254c8cc, 0x010fdbb6, 0x00325e79, 0x0110e26d, 0x01007e6a, 0x0288beff, 0x00096331}}}, + {X: Field{[10]uint32{0x00a3a98c, 0x0023508c, 0x0202ab25, 0x03c8c371, 0x039b1c39, 0x02bc3272, 0x037b82c2, 0x03f8013f, 0x00f07c3e, 0x001c1a3f}}, Y: Field{[10]uint32{0x037ef1fc, 0x02c65eb8, 0x01d77aaa, 0x01e5f8b8, 0x012fe506, 0x000ad77d, 0x03657bf2, 0x01e314b9, 0x00d88445, 0x003921cc}}}, + {X: Field{[10]uint32{0x03355a1e, 0x02e1d3da, 0x01909f73, 0x01528ac0, 0x02f49e52, 0x03a38d1b, 0x03a1f95a, 0x02aa844a, 0x0110a987, 0x00038762}}, Y: Field{[10]uint32{0x03e3cdb8, 0x02ae41c3, 0x00235d7b, 0x008282e4, 0x01d4a56a, 0x03f57167, 0x01c2c149, 0x011f6266, 0x011bcc49, 0x0022b40c}}}, + {X: Field{[10]uint32{0x02d2caf2, 0x02b0f2dc, 0x03d57c10, 0x0363b536, 0x006bdf06, 0x01837d17, 0x02c6b2dc, 0x018c6c05, 0x03880ba8, 0x00249426}}, Y: Field{[10]uint32{0x006a3ccf, 0x022bd61d, 0x038c3397, 0x00ccd776, 0x01ee6f0f, 0x0257c504, 0x0395651b, 0x018a66a7, 0x0231633b, 0x000fa91e}}}, + {X: Field{[10]uint32{0x0266a519, 0x00d5ab06, 0x0351206a, 0x0078d371, 0x01644647, 0x02df4a69, 0x02ec994d, 0x0017a65a, 0x002ae8d5, 0x00243f50}}, Y: Field{[10]uint32{0x02da3b6b, 0x0162e96e, 0x02a62e19, 0x01611aaa, 0x039a6dc6, 0x0313c399, 0x0231816e, 0x00db82b6, 0x03f7bcdc, 0x0001a303}}}, + {X: Field{[10]uint32{0x01400704, 0x024367ea, 0x005f5eb3, 0x01fc319b, 0x0004cbc7, 0x0104ac4a, 0x035b0ddd, 0x032a3878, 0x02cb7d9b, 0x0002ce03}}, Y: Field{[10]uint32{0x006a01a4, 0x03d14321, 0x038a7d78, 0x036f87d7, 0x0118fa71, 0x00a75573, 0x01f69a72, 0x02de0c27, 0x009277d9, 0x003f4a88}}}, + {X: Field{[10]uint32{0x02b83f0c, 0x03bdec0c, 0x027520d3, 0x03bf33ca, 0x03f3d029, 0x01852495, 0x0066140b, 0x02db3dbe, 0x0041aecb, 0x001038b8}}, Y: Field{[10]uint32{0x002291f0, 0x01d131af, 0x01326704, 0x01063949, 0x01e1eda6, 0x005fc8ca, 0x02266794, 0x02223d53, 0x00a53c83, 0x000489c4}}}, + {X: Field{[10]uint32{0x02a03583, 0x03082a2a, 0x009c8c99, 0x02e7dded, 0x037d254e, 0x02bab33a, 0x013a38e9, 0x00c324e2, 0x03c43f4e, 0x00239827}}, Y: Field{[10]uint32{0x02c1a3e8, 0x028f70de, 0x0296d066, 0x01ec3835, 0x00837fb5, 0x0075c0de, 0x0259a86b, 0x005411fc, 0x006e9a82, 0x00251f13}}}, + {X: Field{[10]uint32{0x0035f5ce, 0x03020d7d, 0x020bb2ec, 0x00914bf3, 0x038d9c93, 0x02be26a3, 0x0098d001, 0x027f441a, 0x01b22bfe, 0x002e1c71}}, Y: Field{[10]uint32{0x031d3078, 0x015bc9a3, 0x00b64cd6, 0x03b80018, 0x03507fe8, 0x03c0e000, 0x007226b6, 0x003ba67e, 0x01a3ecbd, 0x0038c0b9}}}, + {X: Field{[10]uint32{0x00841682, 0x001f3554, 0x03f832ac, 0x015f33a1, 0x01c6f80f, 0x01bffd35, 0x01241709, 0x02246aed, 0x027e039e, 0x00149b6a}}, Y: Field{[10]uint32{0x03d210df, 0x0169552c, 0x01f43c5f, 0x02733171, 0x00c477bc, 0x02b503da, 0x00fd3975, 0x004c39d6, 0x00994fb7, 0x001a7c11}}}, + {X: Field{[10]uint32{0x021ad25a, 0x004be521, 0x01ba2edc, 0x01462b76, 0x015c031f, 0x03ed9be8, 0x027cc073, 0x00c15f39, 0x004a514e, 0x00305709}}, Y: Field{[10]uint32{0x02846c50, 0x00e5661c, 0x01b901ba, 0x037d72c1, 0x0016449d, 0x02f26a3f, 0x0234780b, 0x03225e37, 0x01acecc3, 0x0036c408}}}, + {X: Field{[10]uint32{0x02c1d388, 0x00d05cfa, 0x033443e2, 0x01db36df, 0x01d34948, 0x00374f71, 0x03638735, 0x000e36ce, 0x0319466a, 0x000df882}}, Y: Field{[10]uint32{0x003b89f0, 0x023bd8ff, 0x00f252d6, 0x01e7da7b, 0x025ea5bb, 0x036d5eae, 0x02bcfa27, 0x01078bb2, 0x02245465, 0x00002e02}}}, + {X: Field{[10]uint32{0x024ea528, 0x02393ed5, 0x01eabc59, 0x03241ffd, 0x016a0da5, 0x015e5629, 0x011cd81f, 0x00050acc, 0x0328feae, 0x001b4247}}, Y: Field{[10]uint32{0x01d07906, 0x00a418ff, 0x0274c27c, 0x01f16a2e, 0x026e9d9f, 0x03217748, 0x01897196, 0x029b04e0, 0x03f04d7e, 0x00122f25}}}, + {X: Field{[10]uint32{0x0354fd71, 0x018d782e, 0x008d35ca, 0x0334fb75, 0x02d3e545, 0x020676ff, 0x001664fb, 0x03ed5bb4, 0x0016a76e, 0x000ef6f5}}, Y: Field{[10]uint32{0x00eb0639, 0x03cdbd4b, 0x00d26a6b, 0x024e0ae6, 0x039a63a8, 0x007eeb63, 0x03016219, 0x0094ffbc, 0x01723ed7, 0x0029a553}}}, + {X: Field{[10]uint32{0x029d61ce, 0x022cb91f, 0x01237401, 0x0103661c, 0x00c41095, 0x02f0cfbc, 0x005d41a4, 0x02d57e30, 0x02a9f111, 0x0033538d}}, Y: Field{[10]uint32{0x014e3e57, 0x03188551, 0x02ddadf0, 0x02f09939, 0x03abded9, 0x014b7e01, 0x02f95ec4, 0x00b9a41b, 0x02165263, 0x0011e37e}}}, + {X: Field{[10]uint32{0x01f24efd, 0x02a7c44b, 0x031c6272, 0x01c4b9df, 0x02248457, 0x01c2b19f, 0x03214131, 0x027038ef, 0x004a09c5, 0x0003c8f3}}, Y: Field{[10]uint32{0x037fa4b2, 0x0179f715, 0x013da9ed, 0x0339d28f, 0x02dc71cd, 0x00bde919, 0x0358fc07, 0x03bff573, 0x007299b6, 0x003a4cef}}}, + {X: Field{[10]uint32{0x013c33e0, 0x01a56b7b, 0x0098931a, 0x01250d75, 0x0300d7a3, 0x02db6d88, 0x0046840c, 0x03acd6da, 0x01858c97, 0x00366319}}, Y: Field{[10]uint32{0x03114990, 0x02e18b78, 0x02eb2a85, 0x0068593c, 0x01ba1378, 0x00189ce5, 0x02c953c7, 0x020977ad, 0x0224ffe8, 0x00110ffa}}}, + {X: Field{[10]uint32{0x00744225, 0x01b99adb, 0x0085fa94, 0x03728924, 0x0165325d, 0x031d2a6f, 0x012b9d16, 0x036b86db, 0x02a6c055, 0x00089a76}}, Y: Field{[10]uint32{0x01bfb3dd, 0x00b726fd, 0x03dee235, 0x03ceed1f, 0x0130e14f, 0x010bbf73, 0x00f0fe6a, 0x00115ac2, 0x01f9a61f, 0x00056740}}}, + {X: Field{[10]uint32{0x027c48d5, 0x010300c5, 0x03ba4877, 0x02d08eb9, 0x01eb4d75, 0x011ac06b, 0x023880a5, 0x021e4a37, 0x00fd8eea, 0x000cd411}}, Y: Field{[10]uint32{0x02da1cc1, 0x01e8c273, 0x00226818, 0x027398f6, 0x000cfe1d, 0x015ecefa, 0x030f2bb7, 0x01aef18e, 0x03f52626, 0x001a7940}}}, + {X: Field{[10]uint32{0x03f6c512, 0x0317e68f, 0x03a5046b, 0x026d8dea, 0x01a601da, 0x01ef2b9d, 0x00ee87b0, 0x02a0f953, 0x023d86f9, 0x003b9e89}}, Y: Field{[10]uint32{0x01373d56, 0x020a4250, 0x00f6042d, 0x020c587e, 0x01222714, 0x01039d8d, 0x008ac1c8, 0x01a3a48e, 0x01922032, 0x0027f74c}}}, + {X: Field{[10]uint32{0x03f44245, 0x03975694, 0x02d976c5, 0x0111d9a8, 0x00bf95f3, 0x03d12a22, 0x03b6111e, 0x018c6db1, 0x03b336f1, 0x0014a6cc}}, Y: Field{[10]uint32{0x02061099, 0x002a15fa, 0x030004cf, 0x03ba7335, 0x036f29f9, 0x00a00927, 0x02bc1a03, 0x01bd28be, 0x010693da, 0x0004a158}}}, + {X: Field{[10]uint32{0x03df1849, 0x00f3596a, 0x0243dd3e, 0x014e3af4, 0x006a2513, 0x035956a2, 0x01337182, 0x03a7d46a, 0x006da6ce, 0x003caccd}}, Y: Field{[10]uint32{0x03b77da3, 0x00ec3ddd, 0x032e1f48, 0x032cc937, 0x0355aaef, 0x03d89e34, 0x00665262, 0x000ffa7a, 0x0228be77, 0x0035077d}}}, + {X: Field{[10]uint32{0x0182befa, 0x0166dc11, 0x0037b3f5, 0x00a88bce, 0x011db7a1, 0x0358e31f, 0x0103d045, 0x026319c3, 0x01bcf03d, 0x0014d7a7}}, Y: Field{[10]uint32{0x02358392, 0x0307d967, 0x024e740b, 0x01853d93, 0x0262ea47, 0x01fe0e12, 0x00fa98d6, 0x025f16f5, 0x0228bad8, 0x000b08cc}}}, + {X: Field{[10]uint32{0x0299a7f1, 0x00ed282c, 0x03970825, 0x01e2140c, 0x00b019bf, 0x03fcd189, 0x023172dd, 0x01ab197b, 0x008b70da, 0x00304c5a}}, Y: Field{[10]uint32{0x00e5f3cc, 0x01e14677, 0x00d207dd, 0x03fc22e1, 0x000d6e1a, 0x027e65be, 0x0211d82e, 0x012365a6, 0x03b6e0e7, 0x003fbc61}}}, + {X: Field{[10]uint32{0x014d3ba9, 0x01c6c85d, 0x02a645dc, 0x003261c9, 0x02a984d0, 0x029afe0c, 0x00eddf3d, 0x01e61443, 0x00d3f7ab, 0x001d7721}}, Y: Field{[10]uint32{0x03841c50, 0x02c8cab8, 0x02183af5, 0x03ac770a, 0x0384f62d, 0x00bbaa94, 0x005e4d28, 0x001244b3, 0x01f35e11, 0x003d767b}}}, + {X: Field{[10]uint32{0x032a36c5, 0x011fb53c, 0x00648788, 0x035dbe63, 0x0282c6da, 0x01717f54, 0x03273102, 0x030e3ab9, 0x03bc9136, 0x00164771}}, Y: Field{[10]uint32{0x03a421a0, 0x025c9a35, 0x00233953, 0x02dc8751, 0x008d4875, 0x032db17a, 0x003aabb4, 0x034e0b80, 0x00c4f81c, 0x003f33e9}}}, + {X: Field{[10]uint32{0x02712596, 0x01d4f384, 0x00f0fb14, 0x02d93162, 0x02d2c78d, 0x021eb3de, 0x0148fadb, 0x024aeb9d, 0x00892a83, 0x0020e967}}, Y: Field{[10]uint32{0x03c5873b, 0x0140c339, 0x0119be3e, 0x038c573e, 0x0046f090, 0x0208bfcf, 0x027c5988, 0x00819435, 0x001a33b1, 0x001f402b}}}, + {X: Field{[10]uint32{0x026f6f83, 0x024f8b2e, 0x03fc76ca, 0x01a3b116, 0x036608f9, 0x018e47bf, 0x001b8c37, 0x02cbd2a7, 0x03a58c52, 0x003a6c37}}, Y: Field{[10]uint32{0x020a7c8d, 0x02d77bcb, 0x01be2e5c, 0x00e69e02, 0x035c1f08, 0x03acfcfe, 0x0089124f, 0x0378349d, 0x028d5846, 0x0019126c}}}, + {X: Field{[10]uint32{0x032bc03b, 0x0269942d, 0x02f81b1b, 0x01435569, 0x00c76adf, 0x00e8f497, 0x011c002d, 0x02430f45, 0x02f967b0, 0x00005b34}}, Y: Field{[10]uint32{0x02d63a7b, 0x03f931a2, 0x0206f50f, 0x013e123b, 0x03a23db7, 0x035e1162, 0x00cc091b, 0x01c240e7, 0x001e2fe7, 0x00316498}}}, + {X: Field{[10]uint32{0x02ff1cbe, 0x0128e28e, 0x026b6f58, 0x02e9ec61, 0x01d80b8d, 0x0135b97d, 0x023d9e24, 0x038d8da7, 0x03fd1bcd, 0x003cd1f4}}, Y: Field{[10]uint32{0x0287977a, 0x0313491f, 0x03a9766d, 0x02045613, 0x00c7349f, 0x0190497a, 0x01cfc6d0, 0x02284e63, 0x02b90ae3, 0x000710d6}}}, + {X: Field{[10]uint32{0x02428b1b, 0x00dd33f6, 0x0126d534, 0x034ad3a6, 0x01f349ed, 0x01248551, 0x0049f113, 0x02153243, 0x0187d644, 0x0016c643}}, Y: Field{[10]uint32{0x025401f3, 0x0325efbe, 0x03ea856b, 0x01dac9c4, 0x039c1d31, 0x0174b055, 0x013ab256, 0x035aed72, 0x00c363ef, 0x002293ab}}}, + {X: Field{[10]uint32{0x0030834f, 0x03d9f587, 0x003ab105, 0x03cdddcb, 0x01c49e78, 0x02f32b2b, 0x01e96650, 0x0133a3c8, 0x00b2d731, 0x0029de1b}}, Y: Field{[10]uint32{0x01441953, 0x025af52a, 0x0237146e, 0x006e817d, 0x006c4ea7, 0x02dc2ff0, 0x031f911c, 0x00b8fcbe, 0x00d41898, 0x0013f1eb}}}, + {X: Field{[10]uint32{0x03bf33cb, 0x02807ecb, 0x01dcf545, 0x009bc1cf, 0x02abf74d, 0x003bcd85, 0x01faeddc, 0x00686231, 0x0353e907, 0x0034d953}}, Y: Field{[10]uint32{0x032f4383, 0x03c40ed0, 0x00de1880, 0x03649b0f, 0x0377c7a3, 0x0129c5bc, 0x038502fc, 0x000e5165, 0x00c7213c, 0x00295bc8}}}, + {X: Field{[10]uint32{0x0022399c, 0x00e6a4de, 0x00994020, 0x01d83ba2, 0x0127d031, 0x02db6d33, 0x01d8ac3b, 0x032f681a, 0x0287400a, 0x003844e2}}, Y: Field{[10]uint32{0x03a162c1, 0x0259f544, 0x0012c9ce, 0x02543d78, 0x001803cd, 0x01a14f90, 0x0240de6b, 0x01b51971, 0x03bfdd3f, 0x003ca6a3}}}, + {X: Field{[10]uint32{0x02317708, 0x02b26561, 0x007e7374, 0x0039daee, 0x02571473, 0x03272a54, 0x03c49c69, 0x03d3942c, 0x023c91c0, 0x0034a7ad}}, Y: Field{[10]uint32{0x02a5f1a1, 0x02bfd87f, 0x03dd9d73, 0x027c72cf, 0x02d9d38c, 0x0215b79a, 0x022ab4ac, 0x02029674, 0x03024e91, 0x0012b64d}}}, + {X: Field{[10]uint32{0x02ee49f8, 0x022d2089, 0x03147ca4, 0x00c34637, 0x03d2124b, 0x022e3b2c, 0x0177da1d, 0x01ff5c19, 0x03baa671, 0x002a7500}}, Y: Field{[10]uint32{0x02d5323b, 0x005dadc9, 0x0133ff45, 0x027b6dd0, 0x0056f1e4, 0x02564451, 0x0137bcad, 0x0387b942, 0x027a8c5e, 0x0007bb7f}}}, + {X: Field{[10]uint32{0x02f57528, 0x01daf427, 0x01e39ca0, 0x018e6390, 0x018d8f37, 0x004b6272, 0x02c6bfd1, 0x00156bba, 0x00e8dbb6, 0x003fded6}}, Y: Field{[10]uint32{0x00381121, 0x034942bf, 0x02ee6cf5, 0x03d6f506, 0x018e39f1, 0x00db01a1, 0x02cb57c8, 0x01479c35, 0x01d1ad7a, 0x0013938e}}}, + {X: Field{[10]uint32{0x01362979, 0x02ebf46f, 0x016131e7, 0x007559bd, 0x021672ea, 0x038bc51b, 0x036db234, 0x027d8786, 0x029df783, 0x0010f142}}, Y: Field{[10]uint32{0x03f449ae, 0x029d3aa0, 0x03bd61ad, 0x0217d833, 0x001e2158, 0x02781486, 0x03e908f6, 0x006a2ea0, 0x02988154, 0x003c83f6}}}, + {X: Field{[10]uint32{0x034ac30c, 0x00fc89c5, 0x03e53984, 0x0354a74e, 0x035803a9, 0x02f9b410, 0x0262ae16, 0x004a61d5, 0x01b701c9, 0x003d822a}}, Y: Field{[10]uint32{0x027ad5bf, 0x03121a8c, 0x008f2083, 0x019b5ed4, 0x01d788d2, 0x004eed59, 0x02d32434, 0x0375086e, 0x00fae919, 0x0017bcd9}}}, + {X: Field{[10]uint32{0x005a117e, 0x004cc9d1, 0x02d568d0, 0x00881736, 0x033cc117, 0x03099d95, 0x03c48d00, 0x03c10fe6, 0x0029dd1e, 0x003244f8}}, Y: Field{[10]uint32{0x01a83049, 0x02169406, 0x02d8bace, 0x00610f89, 0x0032a38f, 0x00d49a81, 0x01cf07c1, 0x032ecdef, 0x030b9c31, 0x0025d5cf}}}, + {X: Field{[10]uint32{0x02a7d728, 0x03715720, 0x0363cce7, 0x02c4d20b, 0x0361318b, 0x0332a11f, 0x000c58a0, 0x01ef059b, 0x009db17e, 0x002ab831}}, Y: Field{[10]uint32{0x006be0b8, 0x0398ddd7, 0x012516a7, 0x03fe7576, 0x02810396, 0x01633703, 0x0051aae6, 0x00f6b088, 0x03f3f68c, 0x001045c2}}}, + {X: Field{[10]uint32{0x03c846c8, 0x02a8e23a, 0x02c96d35, 0x02d7af16, 0x01e306c8, 0x03792817, 0x039b15e3, 0x02d88966, 0x031f45a0, 0x003ca017}}, Y: Field{[10]uint32{0x038d1267, 0x027421da, 0x01dc9978, 0x00709902, 0x00b36e20, 0x0244be8e, 0x0325cdd0, 0x01c9115d, 0x03396ba3, 0x003d75c9}}}, + {X: Field{[10]uint32{0x00fa4f39, 0x029ea400, 0x030d87b0, 0x00e9e049, 0x00f7d232, 0x01f61968, 0x0230e593, 0x0344b928, 0x00e6e150, 0x001a5a79}}, Y: Field{[10]uint32{0x0214de3a, 0x02dc61d7, 0x02f888da, 0x036eab85, 0x03e030a0, 0x01657727, 0x037ebe08, 0x03b430f9, 0x03d6d323, 0x0031c70c}}}, + {X: Field{[10]uint32{0x01988f3e, 0x03bc0e63, 0x003e3e4c, 0x00e90465, 0x022aa064, 0x021cb7ef, 0x00fbdb8e, 0x0095eaf9, 0x03f07a0e, 0x0002bb0a}}, Y: Field{[10]uint32{0x00c931d0, 0x00755172, 0x01df6ef2, 0x0289c936, 0x00bcc3b6, 0x03fc2a0c, 0x00bc528f, 0x030e0321, 0x0157e686, 0x00363a7d}}}, + {X: Field{[10]uint32{0x0126f710, 0x0090ef52, 0x033226bb, 0x0071e42f, 0x01198f56, 0x02764775, 0x002890b6, 0x030d7294, 0x019a13df, 0x00271bfe}}, Y: Field{[10]uint32{0x03ef849d, 0x020d00fd, 0x0311e9b6, 0x018cd08a, 0x012f7f4e, 0x03fd1a0e, 0x008f5411, 0x03d6b676, 0x020c84a4, 0x000abbe4}}}, + {X: Field{[10]uint32{0x02d7f1c2, 0x0239b825, 0x00aefafb, 0x03b2d776, 0x02ade75a, 0x03bb7994, 0x00246d67, 0x0388e37c, 0x005b37a5, 0x003e90dd}}, Y: Field{[10]uint32{0x018689b1, 0x013a0b6a, 0x01eaddc4, 0x03e167fa, 0x0248aba7, 0x03be4e7b, 0x013c8f3f, 0x019500de, 0x02a42a3c, 0x0037e756}}}, + {X: Field{[10]uint32{0x038d46b9, 0x010f76a9, 0x00741276, 0x01396196, 0x020ce3b7, 0x039ddfe5, 0x03b84d09, 0x009b1fac, 0x02886c4e, 0x001a528c}}, Y: Field{[10]uint32{0x03dfe67a, 0x01aa7862, 0x018b0144, 0x00cb2c4c, 0x02a700d9, 0x0248b316, 0x00909be0, 0x011795ba, 0x006d0076, 0x0029535b}}}, + {X: Field{[10]uint32{0x008f38a0, 0x02b45eb0, 0x02be43d4, 0x0081f31c, 0x01930fe9, 0x00498843, 0x00339a2b, 0x01aca2d3, 0x01975be0, 0x00195265}}, Y: Field{[10]uint32{0x02f7900c, 0x01110fdc, 0x02be1c68, 0x02c22cd6, 0x03d29fe8, 0x02078fd6, 0x02cd92ce, 0x03738cb4, 0x03bb467f, 0x002f7b88}}}, + {X: Field{[10]uint32{0x0399f0bd, 0x00266c01, 0x00137400, 0x02ca6c42, 0x000ea38e, 0x020ebb11, 0x014f0844, 0x005392df, 0x00f675bb, 0x000de472}}, Y: Field{[10]uint32{0x02f7bc76, 0x013a463b, 0x0316d15a, 0x01170c72, 0x018b2a3f, 0x02fb97b9, 0x0396ddbc, 0x017adbce, 0x034ada5e, 0x000b723d}}}, + {X: Field{[10]uint32{0x02f31364, 0x0106a31b, 0x018ed429, 0x01e864e7, 0x0359795c, 0x02b3da90, 0x00469360, 0x0243a7a4, 0x0065eaf8, 0x00357904}}, Y: Field{[10]uint32{0x025bbcad, 0x0055b2fd, 0x03f6d21f, 0x032c341b, 0x00bd2f30, 0x00b930cb, 0x03bb6b8f, 0x03f539ea, 0x00c8a559, 0x000647b1}}}, + {X: Field{[10]uint32{0x00970dec, 0x02b5940b, 0x03ae8b77, 0x03cbaaa8, 0x01e504e6, 0x008162e6, 0x0229acb6, 0x010134a2, 0x0280fa0b, 0x0005b388}}, Y: Field{[10]uint32{0x02efb09b, 0x012e0755, 0x029b8817, 0x0179fe5b, 0x00b6eaec, 0x01d39643, 0x00bc2520, 0x0376e795, 0x03f4486a, 0x000f51a0}}}, + {X: Field{[10]uint32{0x02107d07, 0x00ed4071, 0x030160bf, 0x01fb5f51, 0x03e08f99, 0x005a106d, 0x025b4478, 0x02c7ce43, 0x03306cdf, 0x0029ac2a}}, Y: Field{[10]uint32{0x000abf7a, 0x02692daa, 0x0258d9cb, 0x0392843d, 0x03094e96, 0x01caaf26, 0x02d337fd, 0x009e524b, 0x002fb67e, 0x000a98a1}}}, + {X: Field{[10]uint32{0x02033583, 0x00018a15, 0x02d9021e, 0x022a3fda, 0x0252b9d0, 0x01c27cdd, 0x00b779cd, 0x00c82c87, 0x0138760b, 0x0035f29b}}, Y: Field{[10]uint32{0x009e7bb5, 0x01cbffe1, 0x01b046d6, 0x03ea660b, 0x015e2d1c, 0x00500586, 0x011b6cbb, 0x0166e5ae, 0x0372866d, 0x0035b017}}}, + {X: Field{[10]uint32{0x01609d33, 0x01b2d17d, 0x03ef375f, 0x01758682, 0x03e16240, 0x004871cf, 0x00cb1347, 0x01c1f9ce, 0x01632d3f, 0x001e2ac1}}, Y: Field{[10]uint32{0x0275a6b0, 0x013b17fb, 0x034f2109, 0x012557ed, 0x00350eba, 0x02ea9714, 0x03a4b424, 0x032d3ca5, 0x010c10c7, 0x003f868e}}}, + {X: Field{[10]uint32{0x000d6f04, 0x001cb146, 0x01879bd1, 0x00a0a24d, 0x01218e21, 0x003923f6, 0x01fc5a96, 0x03a00c19, 0x013a5b9f, 0x003014d5}}, Y: Field{[10]uint32{0x02719192, 0x0221a68f, 0x008a4752, 0x03714730, 0x027d0d28, 0x01ef8a00, 0x01c45cf5, 0x02ac1384, 0x0374214d, 0x00380b69}}}, + {X: Field{[10]uint32{0x03f02d03, 0x0357af48, 0x01b4eb65, 0x025604e1, 0x035faf8e, 0x003f07ec, 0x018d4033, 0x02570fbe, 0x0313e2a9, 0x002fe175}}, Y: Field{[10]uint32{0x03e59b18, 0x0101d22c, 0x00bbd6b9, 0x025a20a1, 0x03dcb68e, 0x00777481, 0x0142a6f2, 0x02c386a1, 0x014758d7, 0x00297516}}}, + {X: Field{[10]uint32{0x01bd280a, 0x01343c40, 0x0031d69a, 0x00167954, 0x00138169, 0x02c2bbb0, 0x022ee0de, 0x01e2e03f, 0x02c92be5, 0x003edced}}, Y: Field{[10]uint32{0x0214cd16, 0x0348b165, 0x01cf3e31, 0x0260df8f, 0x00e15bbc, 0x016f7a06, 0x0030bd25, 0x02957f51, 0x00939bf5, 0x001cb39e}}}, + {X: Field{[10]uint32{0x0228aa79, 0x03cdc305, 0x00dfc1e2, 0x00d60cd8, 0x00d99281, 0x03d2db0b, 0x01b04f78, 0x02372480, 0x025aed33, 0x0015925b}}, Y: Field{[10]uint32{0x028c2db1, 0x02291daf, 0x0072586c, 0x015344c0, 0x00092ffa, 0x015b5454, 0x0315d3fa, 0x0329c048, 0x008a824f, 0x002076fd}}}, + {X: Field{[10]uint32{0x03a2130c, 0x01724c6d, 0x036df790, 0x01e56327, 0x02aecc0a, 0x03ca9086, 0x01edcc62, 0x03c26121, 0x03959e81, 0x0035a638}}, Y: Field{[10]uint32{0x01563d27, 0x01e3271e, 0x03ba45ce, 0x02f8743f, 0x0179408b, 0x03a5c28e, 0x0001a8e3, 0x02a8e76b, 0x02bce61e, 0x001640f7}}}, + {X: Field{[10]uint32{0x0166ff80, 0x01d93931, 0x01931780, 0x01ee4e1f, 0x007fad8d, 0x00d012cd, 0x02ade00d, 0x025142cc, 0x02408670, 0x00212ccb}}, Y: Field{[10]uint32{0x031cfdc8, 0x00e9606e, 0x01c244aa, 0x039000c9, 0x009bb5b0, 0x025714d4, 0x03941e31, 0x010a58ad, 0x007856cc, 0x00132034}}}, + {X: Field{[10]uint32{0x00db2ed6, 0x00e29842, 0x00cf05ac, 0x010ca3cc, 0x036528e2, 0x007b4cc9, 0x0073a45f, 0x0226d306, 0x03992a36, 0x001c4a71}}, Y: Field{[10]uint32{0x020810e4, 0x02265699, 0x00a68ce3, 0x00673cff, 0x0044f866, 0x024026aa, 0x01154567, 0x00969753, 0x03e84821, 0x000d8ad3}}}, + {X: Field{[10]uint32{0x0180d824, 0x00e74a34, 0x01b98781, 0x01fbda31, 0x005f8cad, 0x0326470d, 0x02cac088, 0x02dba9ad, 0x0087fa48, 0x0024c593}}, Y: Field{[10]uint32{0x01d9e26b, 0x017a11ed, 0x02a87278, 0x0087234d, 0x03bd1832, 0x0058e5aa, 0x0397771d, 0x03c3e432, 0x015cc91c, 0x0028eb03}}}, + {X: Field{[10]uint32{0x03305a68, 0x03b66c27, 0x02d94808, 0x017a2e26, 0x0194744d, 0x024a7cca, 0x004c7b1f, 0x024df28e, 0x00e237c4, 0x0013e43a}}, Y: Field{[10]uint32{0x012430b8, 0x0123c226, 0x00e70147, 0x0000d0f1, 0x02ce725e, 0x033bb41e, 0x03f417cf, 0x01212c20, 0x02e02b6b, 0x003379dd}}}, + {X: Field{[10]uint32{0x01f716a1, 0x03e46d9d, 0x00ed6a10, 0x0284f016, 0x034442f6, 0x014fb334, 0x0113fae2, 0x01c5ab9a, 0x03bc9f40, 0x00136580}}, Y: Field{[10]uint32{0x0124add6, 0x0153b90e, 0x02493c66, 0x0048a12a, 0x009c52a4, 0x029bed14, 0x0165827a, 0x038d565c, 0x01fc278c, 0x0024ad9e}}}, + {X: Field{[10]uint32{0x02b17203, 0x004f1312, 0x006a5aed, 0x00619fe4, 0x03f90cd7, 0x0058cb84, 0x0094f3bc, 0x01050c4b, 0x011f91c5, 0x0022dbd9}}, Y: Field{[10]uint32{0x010c7066, 0x020d9548, 0x02c130bf, 0x0256eb1a, 0x0109ded9, 0x0049b103, 0x00e2b78c, 0x00955aed, 0x01a4b80f, 0x00223056}}}, + {X: Field{[10]uint32{0x025ec256, 0x03082f6c, 0x02ee98cd, 0x03ad8155, 0x021909e1, 0x02352645, 0x02448f07, 0x020d1fa1, 0x0052cab9, 0x001bd62e}}, Y: Field{[10]uint32{0x00239885, 0x01c08f26, 0x01cd32fa, 0x02cab601, 0x021681da, 0x02833afa, 0x02bd30dd, 0x024c179a, 0x005f233d, 0x0000e930}}}, + {X: Field{[10]uint32{0x000c44bd, 0x02601c44, 0x010086cb, 0x024566a4, 0x028bb6ca, 0x03febe8c, 0x03710da3, 0x010472b2, 0x02a84021, 0x001af9fd}}, Y: Field{[10]uint32{0x0036bee9, 0x00405152, 0x0168bb58, 0x03fcc83a, 0x0186f339, 0x017f0464, 0x01c8d59b, 0x037ed160, 0x02f9d461, 0x002fd929}}}, + {X: Field{[10]uint32{0x02102d39, 0x020f4b2b, 0x0044ab39, 0x003cab06, 0x0299661f, 0x03b3fe6a, 0x00fdbe13, 0x02799bcb, 0x010bb8ea, 0x0002cbf3}}, Y: Field{[10]uint32{0x0182bb86, 0x013a339c, 0x02c74144, 0x02c3a8cf, 0x0027c38c, 0x00e9fa04, 0x032cbbad, 0x023e8c3a, 0x0189bb3b, 0x0002811a}}}, + {X: Field{[10]uint32{0x01a6fd96, 0x03dd129e, 0x02f1291b, 0x01adb667, 0x03391682, 0x00331644, 0x037770b5, 0x026ca7b7, 0x010eab55, 0x002875bb}}, Y: Field{[10]uint32{0x004ab69b, 0x008ded30, 0x03391df2, 0x00c02b1a, 0x002f17df, 0x00612025, 0x03bf93b5, 0x0156b85c, 0x017e0c92, 0x002ee459}}}, + {X: Field{[10]uint32{0x012a9575, 0x02a047a4, 0x0301bd08, 0x039f8725, 0x01440da5, 0x026ad8e7, 0x0366201e, 0x00c35cd4, 0x030ded71, 0x000a3d95}}, Y: Field{[10]uint32{0x02d2884a, 0x039ab73c, 0x0362edec, 0x017a5576, 0x00e2216e, 0x03efd30b, 0x011a7c70, 0x0166c8fa, 0x0360119c, 0x000e4647}}}, + {X: Field{[10]uint32{0x00271fa3, 0x032013e4, 0x038530b9, 0x0089258d, 0x0031cfce, 0x00075edb, 0x00b089d1, 0x00f79086, 0x00eddbb8, 0x00005323}}, Y: Field{[10]uint32{0x029a41fc, 0x03fb393a, 0x0384d7a8, 0x00f5128b, 0x030de129, 0x0131e252, 0x01cba3d2, 0x00b9c44d, 0x02d2a5d0, 0x00012014}}}, + {X: Field{[10]uint32{0x012d489b, 0x00be3eb8, 0x03ca9eda, 0x00ee4886, 0x03a75f56, 0x03211429, 0x0228fa1b, 0x00df4f4a, 0x0305fec7, 0x003abfe7}}, Y: Field{[10]uint32{0x03b8c139, 0x02dc2a48, 0x01c3dd3f, 0x01206844, 0x022ad9f3, 0x0083d18e, 0x03349fa5, 0x021cf5f4, 0x019b05c9, 0x0035b510}}}, + {X: Field{[10]uint32{0x00b35e95, 0x02fb4545, 0x02a43d92, 0x03825a4c, 0x00ce0757, 0x00b9ff0f, 0x03524575, 0x00dc4a16, 0x006eb42a, 0x003a3b93}}, Y: Field{[10]uint32{0x023b748a, 0x00c28ada, 0x01e2d5f2, 0x03f32f17, 0x00ee55ab, 0x0091b2df, 0x007ff4e6, 0x0060c7c4, 0x014c27ef, 0x000361af}}}, + {X: Field{[10]uint32{0x0241e7e4, 0x01db9abb, 0x00386a07, 0x008819de, 0x02d5e909, 0x03222946, 0x03707591, 0x00ec181a, 0x01090821, 0x00263186}}, Y: Field{[10]uint32{0x025d4c8c, 0x0106bbfd, 0x03efbfc2, 0x02a068df, 0x030fd72d, 0x02339314, 0x0290e2d3, 0x02e4110b, 0x022cf98b, 0x003acf4b}}}, + {X: Field{[10]uint32{0x0146dd29, 0x033dfcfe, 0x0217d946, 0x001938a3, 0x01893198, 0x00e2f2d7, 0x03a0dbbc, 0x00a61b15, 0x0381f5d6, 0x00353d9a}}, Y: Field{[10]uint32{0x037a5fc2, 0x02087ede, 0x03b32867, 0x023814c2, 0x002a1229, 0x02052d6e, 0x03c5579d, 0x0068032d, 0x038deedf, 0x003064c3}}}, + {X: Field{[10]uint32{0x0011087f, 0x01e41805, 0x03c4eb98, 0x030ab511, 0x01a13dd4, 0x02619bc3, 0x01543696, 0x02466d57, 0x00e705f8, 0x000535cf}}, Y: Field{[10]uint32{0x03ededf8, 0x0381b1a4, 0x0067d16e, 0x03c98a75, 0x03b71c48, 0x02bd0822, 0x0106df2c, 0x0034f174, 0x0222b9cb, 0x001a6e51}}}, + {X: Field{[10]uint32{0x03da3aec, 0x00d30808, 0x017115bc, 0x010229c4, 0x015646ab, 0x02942a35, 0x00511058, 0x01e831ab, 0x0135059c, 0x0015fbf2}}, Y: Field{[10]uint32{0x01c5dfd1, 0x01cb00ad, 0x00c4b262, 0x03c14ccb, 0x0127f959, 0x00ab954a, 0x03fba0d9, 0x015705d2, 0x029a60b8, 0x003f2a4c}}}, + {X: Field{[10]uint32{0x01b3677f, 0x00dcbf65, 0x0073dcb6, 0x03d4da0e, 0x00171213, 0x016a7cf9, 0x00b94585, 0x02a036a4, 0x0286063d, 0x00247c4e}}, Y: Field{[10]uint32{0x019a90ea, 0x02d3bed0, 0x016d03ca, 0x03384d05, 0x01e0332e, 0x0081558e, 0x029a7ae9, 0x03c4430c, 0x00d86734, 0x001d0178}}}, + {X: Field{[10]uint32{0x01607592, 0x035abfe8, 0x037675f9, 0x005b44cd, 0x02c33227, 0x01037170, 0x03dfd64b, 0x017896a0, 0x010b4614, 0x00373213}}, Y: Field{[10]uint32{0x012d6c66, 0x02a2ea07, 0x00adc8bb, 0x01869c0c, 0x0251b951, 0x03d4c91a, 0x01f15260, 0x03fab023, 0x00f48e4d, 0x00391a93}}}, + {X: Field{[10]uint32{0x0348676c, 0x01405d0c, 0x02db0542, 0x007f7c5a, 0x00df0bfa, 0x02fcf1a8, 0x016011e6, 0x03d0c804, 0x02acd5a6, 0x000a2ac1}}, Y: Field{[10]uint32{0x03b0cb9a, 0x015ad8e5, 0x012d427e, 0x00af8369, 0x03cc31f4, 0x013ff3fb, 0x011d6b7a, 0x01276ba7, 0x021c967f, 0x001449ca}}}, + {X: Field{[10]uint32{0x01d8b240, 0x03c3d148, 0x02d00bef, 0x0248c830, 0x020d9c2a, 0x0245718d, 0x032adb45, 0x037f7f4f, 0x0321f8d1, 0x0001f006}}, Y: Field{[10]uint32{0x002c8b48, 0x03e89715, 0x01aedf76, 0x018b4db4, 0x016e7ffd, 0x02aa5acf, 0x02f78fda, 0x01b607f1, 0x03cc9990, 0x002d2923}}}, + {X: Field{[10]uint32{0x014d98f1, 0x02a66b34, 0x01f5b428, 0x026f832d, 0x03a0d327, 0x02703a3e, 0x03624230, 0x03a57ca8, 0x037830f8, 0x003e53ba}}, Y: Field{[10]uint32{0x03649527, 0x03f8f290, 0x00d2305c, 0x0076544f, 0x03715722, 0x02ed2a4f, 0x01c91be8, 0x01ae7297, 0x03646967, 0x00325b56}}}, + {X: Field{[10]uint32{0x01ec35ca, 0x01bd7e04, 0x0045bd40, 0x01dcc3a4, 0x039a6d64, 0x03d78cb4, 0x01e0dd85, 0x0336902f, 0x00e47788, 0x003a919d}}, Y: Field{[10]uint32{0x035a235a, 0x01188c29, 0x01a0fe1a, 0x0185093a, 0x01fb622a, 0x0062f5da, 0x030032ba, 0x024488c1, 0x03790a9b, 0x0001da6f}}}, + {X: Field{[10]uint32{0x03b40112, 0x00f09407, 0x005d1728, 0x0234dd9d, 0x0019b7b3, 0x020aff8a, 0x03172606, 0x021a1404, 0x00197f8f, 0x0036969d}}, Y: Field{[10]uint32{0x01c37a39, 0x018f8ee5, 0x0290ceb6, 0x0104841c, 0x00b5a19f, 0x0358dcef, 0x025ef5f5, 0x0078604c, 0x02ec0587, 0x002982d7}}}, + {X: Field{[10]uint32{0x02e9d41d, 0x03dcbc89, 0x03b6c22f, 0x03b08ee3, 0x01a75ebc, 0x03b5eddb, 0x00c6820d, 0x003f6806, 0x03a55256, 0x0030405f}}, Y: Field{[10]uint32{0x009fed39, 0x01e0450d, 0x0129b1b0, 0x03699e0a, 0x039b5dc1, 0x03fc1625, 0x03da3b8d, 0x011fe459, 0x019daf26, 0x003a51ec}}}, + {X: Field{[10]uint32{0x01216a7f, 0x03a452ca, 0x00b164b3, 0x016066fc, 0x011b9646, 0x0160269d, 0x0215238b, 0x0111d9e2, 0x00e14e81, 0x0002f9f0}}, Y: Field{[10]uint32{0x03eb392e, 0x0189e803, 0x0204e4f1, 0x002e28d8, 0x01088084, 0x035923a0, 0x03072b15, 0x00669bc2, 0x0297f642, 0x0028c3af}}}, + {X: Field{[10]uint32{0x03007cea, 0x00ec4e65, 0x0014fcb5, 0x03cb3e01, 0x0059e0ff, 0x00bffe0b, 0x01184056, 0x0303f730, 0x02c1a4d6, 0x0019d63b}}, Y: Field{[10]uint32{0x00b316b3, 0x038fabdf, 0x00edcb4f, 0x02eb42e7, 0x00a0149b, 0x01898c7a, 0x02c88988, 0x03614908, 0x006620fc, 0x001194ef}}}, + {X: Field{[10]uint32{0x005b6116, 0x02143710, 0x01dae70d, 0x0379a6b3, 0x03011014, 0x03a1cd6c, 0x000cf059, 0x01366676, 0x01d3f88f, 0x00272ed4}}, Y: Field{[10]uint32{0x01902360, 0x01442ec9, 0x023d60e2, 0x02064642, 0x02047c63, 0x01fbf134, 0x00e0ed51, 0x016d4a00, 0x0348cad7, 0x0037e8b9}}}, + {X: Field{[10]uint32{0x00bf0bc3, 0x03854436, 0x00dea3d6, 0x0354d087, 0x0065328b, 0x02a96b46, 0x0350229e, 0x01e4bc5c, 0x02e7b170, 0x0018e96a}}, Y: Field{[10]uint32{0x02da1010, 0x03ee20d4, 0x00ea195a, 0x035e3396, 0x0212a261, 0x034d8d30, 0x026250ae, 0x017d27df, 0x03d0f25d, 0x0004496b}}}, + {X: Field{[10]uint32{0x02f10657, 0x038b226c, 0x02430b0f, 0x00907698, 0x014e036d, 0x0090f688, 0x02e11fb0, 0x000ca3ae, 0x02493e5f, 0x002b7e58}}, Y: Field{[10]uint32{0x01b1ea1e, 0x00d2d5c2, 0x037f784f, 0x037a280f, 0x03219a29, 0x005f52d7, 0x0018b16d, 0x0376ccb4, 0x00bafcd8, 0x0014260d}}}, + {X: Field{[10]uint32{0x034d472f, 0x01d97678, 0x01f32f00, 0x01270ac9, 0x01bfdfa5, 0x00135c89, 0x0183364e, 0x0128564d, 0x035b7fb4, 0x00028363}}, Y: Field{[10]uint32{0x03998ab2, 0x026c48bb, 0x0048dd53, 0x008be7df, 0x01630b6c, 0x0365ff8f, 0x01da99f3, 0x009a1e52, 0x0366f84c, 0x000187aa}}}, + {X: Field{[10]uint32{0x02e61fc1, 0x019a42c2, 0x0033ef68, 0x03496c9f, 0x027a3ee0, 0x01b60097, 0x00dbf815, 0x028b6eb7, 0x00ea9596, 0x002e60c2}}, Y: Field{[10]uint32{0x03ddbd37, 0x00334149, 0x006f5125, 0x01b9619e, 0x01445bae, 0x00f3f496, 0x00c582a0, 0x02933ad3, 0x03177566, 0x00336d38}}}, + {X: Field{[10]uint32{0x00b98134, 0x008cabdc, 0x03f637f0, 0x03236d2a, 0x03cf3969, 0x024ee8c0, 0x01eefe37, 0x035b3046, 0x031d37e3, 0x00386993}}, Y: Field{[10]uint32{0x003231da, 0x0173b507, 0x00fc2f95, 0x019e3d3b, 0x01ddbd35, 0x00fd606d, 0x00d2084b, 0x034bd7b1, 0x02d8885d, 0x0016235e}}}, + {X: Field{[10]uint32{0x01fdaaed, 0x0089da99, 0x00eca49c, 0x03b9ebc5, 0x01318929, 0x035c4644, 0x02253a1b, 0x00ea9b9c, 0x03ede854, 0x003ef577}}, Y: Field{[10]uint32{0x013b78bc, 0x033efc06, 0x016f2f76, 0x006b6f43, 0x00f23489, 0x016e30c4, 0x0005d516, 0x00d458f1, 0x030a432c, 0x000c5f3b}}}, + {X: Field{[10]uint32{0x00da6bc2, 0x01df39a1, 0x00a2ae30, 0x0137005e, 0x0030b87c, 0x03dedbc8, 0x031a8822, 0x02544213, 0x03f3b0a3, 0x003eb12d}}, Y: Field{[10]uint32{0x00867d75, 0x02ca656f, 0x01fae390, 0x034557c6, 0x00386ce0, 0x018a3f75, 0x00a5c54a, 0x008bf058, 0x01209e95, 0x001c0a6e}}}, + {X: Field{[10]uint32{0x03ef7c2b, 0x02a06150, 0x0053ee64, 0x014571d7, 0x013c29fc, 0x006d7f1f, 0x02c02964, 0x033d4200, 0x03de834f, 0x0032a190}}, Y: Field{[10]uint32{0x03cf17f9, 0x03ea592b, 0x014c3b26, 0x00c73b9c, 0x02f8ecea, 0x02b6767e, 0x036fd4d0, 0x00a5b890, 0x0027111e, 0x00241e9b}}}, + {X: Field{[10]uint32{0x03315f1f, 0x00b25b3c, 0x0066b120, 0x008af150, 0x03a4a73b, 0x03f92d22, 0x0226b19e, 0x003a85fa, 0x02490d70, 0x001c61cd}}, Y: Field{[10]uint32{0x03ded2fd, 0x00b04761, 0x0215abd8, 0x01208108, 0x01515127, 0x03973d0a, 0x03fc614d, 0x01d2ddd4, 0x00474bb3, 0x003db361}}}, + {X: Field{[10]uint32{0x00c5e3d7, 0x030f14d2, 0x03e6f15a, 0x023dddb2, 0x00175b76, 0x01df18fc, 0x02574826, 0x031cc89b, 0x00ff21c3, 0x0019f9ce}}, Y: Field{[10]uint32{0x02f2bdb2, 0x024d43ba, 0x026bfac7, 0x0151744c, 0x030ebd28, 0x01f3d824, 0x03a50644, 0x0375c95d, 0x000f2343, 0x00053945}}}, + {X: Field{[10]uint32{0x02198893, 0x03d57c66, 0x02934280, 0x010998b3, 0x036c5a5c, 0x00d3b85f, 0x01339f64, 0x0094fc81, 0x0331f875, 0x001452cf}}, Y: Field{[10]uint32{0x02e9a090, 0x02601f92, 0x0269fe46, 0x030b72a5, 0x01a61c0f, 0x039f3793, 0x011c538c, 0x03b1c133, 0x0193a2fb, 0x0013acce}}}, + {X: Field{[10]uint32{0x03c2dab3, 0x01614062, 0x03586f98, 0x005be12c, 0x02ca53c2, 0x006280e4, 0x0330a414, 0x00f9d5aa, 0x03a6eab0, 0x00109ab3}}, Y: Field{[10]uint32{0x01083926, 0x0166ab7c, 0x01a74acb, 0x03441d27, 0x02d34944, 0x0015ceed, 0x0206682d, 0x00431702, 0x02ab21cc, 0x0030f58f}}}, + {X: Field{[10]uint32{0x02d7a09c, 0x003a3de8, 0x005cad42, 0x01cb1608, 0x01b8ad4a, 0x01165f21, 0x03dcbee9, 0x015cdc3f, 0x034668c0, 0x002e51ae}}, Y: Field{[10]uint32{0x023401b9, 0x008eeb47, 0x02b2cdc7, 0x00e927fb, 0x03969ea1, 0x0196f180, 0x03e63a5e, 0x00e09959, 0x02d41263, 0x00331c03}}}, + {X: Field{[10]uint32{0x018e33ac, 0x00d6e576, 0x02dcd803, 0x03e3eca2, 0x001d1e38, 0x0335d77d, 0x01d7d3cc, 0x02d17d44, 0x00b3f6c8, 0x0039aa11}}, Y: Field{[10]uint32{0x0058cce2, 0x005db0bb, 0x017e2c0b, 0x00273249, 0x036c4aa1, 0x007dc5ea, 0x023268ee, 0x022431d2, 0x03893939, 0x0001fc91}}}, + {X: Field{[10]uint32{0x02458001, 0x034503e5, 0x03dcd117, 0x00fc08c4, 0x00493e90, 0x01492e63, 0x0236b415, 0x014ba305, 0x03bfd9e0, 0x0010f98a}}, Y: Field{[10]uint32{0x023b352d, 0x011de669, 0x03cec8e1, 0x02ed27b2, 0x01ebee23, 0x0373fcc7, 0x01993000, 0x0354a0c2, 0x013d0a90, 0x003d2061}}}, + {X: Field{[10]uint32{0x0047f817, 0x03d12e20, 0x02ad9e94, 0x01124496, 0x01e555a8, 0x00776e6f, 0x0223e1c4, 0x011db50b, 0x000e3427, 0x003113bd}}, Y: Field{[10]uint32{0x02236fac, 0x02e7a8e3, 0x009d2498, 0x02cb6e13, 0x0238f664, 0x01dbd2b8, 0x0018e147, 0x03964fca, 0x0313e43e, 0x002fb750}}}, + {X: Field{[10]uint32{0x03212385, 0x022f7814, 0x037e8d40, 0x03eabf66, 0x037f58f2, 0x03e39265, 0x016f93f5, 0x00625702, 0x0313dcc1, 0x00286cd4}}, Y: Field{[10]uint32{0x023079f5, 0x023a29c2, 0x02c55bdc, 0x03008098, 0x03135a9e, 0x0024f605, 0x009f9cf5, 0x01430dcc, 0x025abf0d, 0x002f5fac}}}, + {X: Field{[10]uint32{0x035e964e, 0x0122a486, 0x01c91b67, 0x026b4562, 0x02138222, 0x00d6f663, 0x03f2f0c7, 0x0007268d, 0x03f9fd62, 0x001229bc}}, Y: Field{[10]uint32{0x034481b4, 0x00b14316, 0x01c91971, 0x00e54e97, 0x022c73e0, 0x02a75659, 0x0062c81f, 0x02a28192, 0x01553d41, 0x0006d514}}}, + {X: Field{[10]uint32{0x00061e9f, 0x00a17669, 0x0354db06, 0x033716c8, 0x0375f050, 0x023bb3c6, 0x019181dc, 0x02c1ba28, 0x0174651d, 0x0023807d}}, Y: Field{[10]uint32{0x035e108b, 0x03efec89, 0x00cae256, 0x0192e87c, 0x027d7ba9, 0x00bbb2b6, 0x006e90a0, 0x039f56db, 0x02a09800, 0x0027455b}}}, + {X: Field{[10]uint32{0x0205345d, 0x029372be, 0x0258f43d, 0x03cc5a52, 0x0228e375, 0x029e7e39, 0x0368b195, 0x02d5d8fa, 0x00db9e6d, 0x0012f03e}}, Y: Field{[10]uint32{0x03a5b555, 0x03c85710, 0x019d98d0, 0x00eda8cb, 0x01633805, 0x009a929a, 0x02380e81, 0x02c592ee, 0x0389a1e6, 0x0031a9c1}}}, + {X: Field{[10]uint32{0x0297a768, 0x015288ee, 0x0255f32d, 0x0236c033, 0x00f4c7ee, 0x002df6ae, 0x0230a665, 0x037ab758, 0x00cb5f5e, 0x00259bf4}}, Y: Field{[10]uint32{0x011a994b, 0x01b3de60, 0x004e1654, 0x0272a795, 0x0001e892, 0x038285ae, 0x0019a1de, 0x026d97d6, 0x0243bb4f, 0x00275913}}}, + {X: Field{[10]uint32{0x017b0d8a, 0x00b14421, 0x027f8296, 0x02e21891, 0x0320d50e, 0x010e38cd, 0x02dc7c74, 0x00ba9964, 0x01ad4952, 0x001aad46}}, Y: Field{[10]uint32{0x023ae44d, 0x00245442, 0x020da8a8, 0x0280de3b, 0x02e82653, 0x0153087b, 0x0367ec35, 0x0142898a, 0x02342b72, 0x00316e8e}}}, + {X: Field{[10]uint32{0x0276c62f, 0x01b5bbea, 0x03856d52, 0x029094c9, 0x03e55f18, 0x001db858, 0x03d0a0cd, 0x0183d4e6, 0x00e43e50, 0x003e2c2e}}, Y: Field{[10]uint32{0x00d48ba4, 0x03b3dbf5, 0x03ad1fe1, 0x02e90d9c, 0x017d5c95, 0x00a0e6a8, 0x00f29c86, 0x014fe963, 0x0052a658, 0x001d0f78}}}, + {X: Field{[10]uint32{0x02d18bad, 0x01e8494f, 0x030e1658, 0x018e7456, 0x02967e97, 0x0088f57e, 0x0185c0e5, 0x023fc2ad, 0x02f8579d, 0x00311427}}, Y: Field{[10]uint32{0x01b08362, 0x016393c7, 0x01cf97fe, 0x03021bc4, 0x0381199d, 0x01d2e2b9, 0x036d8d35, 0x02696168, 0x03e8ee97, 0x001ee47d}}}, + {X: Field{[10]uint32{0x0342379f, 0x02c03f6a, 0x003c3aac, 0x00cb3ead, 0x0004cef7, 0x02530393, 0x0207c538, 0x0143e388, 0x035a6ff4, 0x00268004}}, Y: Field{[10]uint32{0x03a9975d, 0x02e3fe07, 0x03d594df, 0x01ba2e11, 0x00b48159, 0x0232aee4, 0x020902a2, 0x0316c51d, 0x03483684, 0x000e4fb1}}}, + {X: Field{[10]uint32{0x03488601, 0x029016db, 0x01e3eaa4, 0x00c53949, 0x02a484d3, 0x0174f7b8, 0x010c17c2, 0x0235f37a, 0x03df173f, 0x000f5dd6}}, Y: Field{[10]uint32{0x030e51d4, 0x03a631ec, 0x02046b3d, 0x016e265c, 0x0138a402, 0x0275d389, 0x03287f55, 0x003da96f, 0x00bc0a56, 0x001f9ac2}}}, + {X: Field{[10]uint32{0x0303b529, 0x003a60de, 0x017b8f5d, 0x000b5c0f, 0x02a95e50, 0x034428a6, 0x03380a80, 0x0062d144, 0x013ea601, 0x0033aebf}}, Y: Field{[10]uint32{0x03b74b4e, 0x0054d2a1, 0x010c0fd6, 0x006fd54a, 0x025f6d8b, 0x00cee811, 0x0203594e, 0x027d87fd, 0x02b646f5, 0x000651de}}}, + {X: Field{[10]uint32{0x03a731b2, 0x02c661f3, 0x01de158c, 0x018fd62b, 0x037ecbc9, 0x03926c8d, 0x001ac162, 0x038f87bc, 0x00ac1ff3, 0x002ba28f}}, Y: Field{[10]uint32{0x01531efe, 0x0287a794, 0x03ac2bac, 0x00ac4529, 0x02ee26fd, 0x02371dce, 0x03f6af9e, 0x02dd25cc, 0x02752052, 0x001692c1}}}, + {X: Field{[10]uint32{0x01e3b38e, 0x010dd4eb, 0x02b28308, 0x00d743ef, 0x01fd39b6, 0x011deb13, 0x0118edee, 0x01c48d70, 0x00bb8bd4, 0x0035d34e}}, Y: Field{[10]uint32{0x00b54451, 0x01aecddf, 0x01c325d6, 0x03f4e4db, 0x021ec0a0, 0x006e9b78, 0x01850843, 0x00a0e5ea, 0x01b6f17a, 0x003cf941}}}, + {X: Field{[10]uint32{0x02beb2a8, 0x0256c53d, 0x01db2495, 0x00cec33a, 0x014d4f0b, 0x0381d747, 0x00dc1bef, 0x01e17345, 0x02757780, 0x003d0a1d}}, Y: Field{[10]uint32{0x00514b38, 0x00787618, 0x015364eb, 0x0354ffc9, 0x03950f34, 0x00d86b5b, 0x018bf6da, 0x018b7719, 0x0231eefc, 0x0028f7c8}}}, + {X: Field{[10]uint32{0x02378e94, 0x03250051, 0x0145450d, 0x0220f287, 0x01e62776, 0x0272c826, 0x03caaa86, 0x02b589da, 0x036bda19, 0x003a4755}}, Y: Field{[10]uint32{0x0040779c, 0x032a5c4e, 0x01db87ac, 0x0060df9d, 0x00020e79, 0x00c99763, 0x00313db8, 0x00b2e66b, 0x0038c8da, 0x002d5f88}}}, + {X: Field{[10]uint32{0x00c66ea2, 0x00c33f8e, 0x01aec7e8, 0x0377cf1f, 0x03e035e1, 0x03caaa90, 0x011b53da, 0x0385d8de, 0x00e87d77, 0x0009a651}}, Y: Field{[10]uint32{0x013707f6, 0x0339db06, 0x02ea739a, 0x0115edfb, 0x01567641, 0x026cc8f2, 0x028ca430, 0x031fec14, 0x036434bd, 0x0032c045}}}, + {X: Field{[10]uint32{0x0244a3d1, 0x03807ec1, 0x02a5ee94, 0x005cbfdb, 0x01fb0993, 0x01eec5d9, 0x0261c685, 0x00da046a, 0x028a8f0b, 0x003b5079}}, Y: Field{[10]uint32{0x0108231c, 0x0037ae31, 0x005dc1dd, 0x03823302, 0x0071c918, 0x00f65600, 0x03a1e448, 0x02f8109a, 0x007b880c, 0x003cb324}}}, + {X: Field{[10]uint32{0x01fec0de, 0x01e59083, 0x0113ab0b, 0x03c4cc88, 0x01538192, 0x00e8cf5a, 0x0236e4f5, 0x032e978b, 0x024a96cf, 0x001a51d9}}, Y: Field{[10]uint32{0x038fb6cd, 0x01770be8, 0x01dc77f9, 0x02577b3d, 0x03256101, 0x01ab78cc, 0x01b76c4d, 0x02dbeea4, 0x01bc5b65, 0x00192074}}}, + {X: Field{[10]uint32{0x0227fb03, 0x021715c7, 0x02f668ea, 0x00b1c3a3, 0x00437901, 0x02a4996c, 0x000a42bb, 0x018f7daa, 0x007ce22b, 0x002a8f86}}, Y: Field{[10]uint32{0x00d011be, 0x02a47fc2, 0x0329c38f, 0x01239736, 0x03e8732f, 0x00c04150, 0x03fcab70, 0x027f465b, 0x016b9810, 0x00298e37}}}, + {X: Field{[10]uint32{0x004a944b, 0x026f863e, 0x021c5eff, 0x00de4493, 0x02bfd5ea, 0x0150ff5b, 0x029fbab6, 0x03e536d2, 0x00e1a4be, 0x00001779}}, Y: Field{[10]uint32{0x0157e2d6, 0x026ea79e, 0x03442967, 0x03469fb1, 0x0158f8ae, 0x01dd11d8, 0x0299513f, 0x038a502d, 0x0282693b, 0x00087128}}}, + {X: Field{[10]uint32{0x007a7ce5, 0x01b0ad0a, 0x030a0964, 0x03ba8ce8, 0x02fdd18f, 0x02bc2bc8, 0x0096c793, 0x02d1de07, 0x00c72c87, 0x00194cf7}}, Y: Field{[10]uint32{0x037ccc51, 0x00dc1620, 0x00cd3f8c, 0x033e8ebb, 0x00482748, 0x00d1085d, 0x01589fc2, 0x03e6ef3a, 0x01f23d82, 0x001fc0f9}}}, + {X: Field{[10]uint32{0x00fdf354, 0x02ec0299, 0x01871a5e, 0x008e9c2e, 0x01c5109f, 0x014d0d4c, 0x02008ab8, 0x01612af6, 0x033c129e, 0x0004e797}}, Y: Field{[10]uint32{0x033f0a98, 0x0028bddd, 0x009de619, 0x039209ab, 0x026bf011, 0x020d4ad8, 0x03182ee9, 0x023abe94, 0x025741fb, 0x00125edf}}}, + {X: Field{[10]uint32{0x0161f7c3, 0x01e6bba0, 0x01f0c7c7, 0x02060645, 0x013ce57b, 0x0363c958, 0x00ea9918, 0x03a5420f, 0x01ccf7e1, 0x00124ffa}}, Y: Field{[10]uint32{0x03020cd5, 0x02f93059, 0x02f4088c, 0x00562f30, 0x00639ab6, 0x028eed12, 0x00aff6a6, 0x03874115, 0x03fd62fc, 0x0039a5d8}}}, + {X: Field{[10]uint32{0x02a064a9, 0x039acd94, 0x008a7446, 0x0055d9bb, 0x03900e3c, 0x0240f29d, 0x01ac2fb4, 0x01c2e190, 0x03dbd8dd, 0x003b59d7}}, Y: Field{[10]uint32{0x00416de9, 0x01bcc4da, 0x037fd1f2, 0x02c9739d, 0x0223ccff, 0x02c0622b, 0x00669b40, 0x03d6d1b8, 0x037985ce, 0x002986ec}}}, + {X: Field{[10]uint32{0x02260a4d, 0x02c32a66, 0x00b83136, 0x0110e187, 0x02b6d484, 0x014e4f54, 0x03c14e31, 0x0278e9e5, 0x00a89a76, 0x0005cd9c}}, Y: Field{[10]uint32{0x03bd4904, 0x00f689f1, 0x02bc6d68, 0x03ddf760, 0x00d140b3, 0x01242104, 0x02a1b28e, 0x0134ba57, 0x0121c1ba, 0x0013750e}}}, + {X: Field{[10]uint32{0x035d1610, 0x0387c258, 0x0128cdf9, 0x00f4b329, 0x00a1da93, 0x03041ba0, 0x011e05a0, 0x038551bc, 0x03a08f87, 0x00356978}}, Y: Field{[10]uint32{0x01175352, 0x00a45397, 0x01167255, 0x01d0828d, 0x01aa20df, 0x0307fec3, 0x00a9c6f2, 0x03024a34, 0x01e0daf3, 0x001f1b15}}}, + {X: Field{[10]uint32{0x02f6fa2a, 0x0168ce36, 0x00ebe417, 0x00c9d3b9, 0x01a0a999, 0x01359a5f, 0x02f2e2b9, 0x00c871a4, 0x01a004ab, 0x00153d7a}}, Y: Field{[10]uint32{0x01f2de21, 0x0359b622, 0x0342b5cb, 0x032a157f, 0x0258a7d9, 0x03e0a376, 0x02eb7614, 0x01b91cd2, 0x03d175fa, 0x001633c4}}}, + {X: Field{[10]uint32{0x03ebe6da, 0x01c96f1f, 0x01d4c9e8, 0x00b65111, 0x02fd9a63, 0x010988ac, 0x025544a4, 0x03a6558b, 0x0098154d, 0x00359a0a}}, Y: Field{[10]uint32{0x0190f206, 0x01c7718c, 0x001ebd13, 0x0117dd83, 0x030b2d50, 0x01e5c6a8, 0x0202c50a, 0x02e15d43, 0x023b9ba3, 0x00260247}}}, + {X: Field{[10]uint32{0x01c2da08, 0x0126fdb3, 0x008cafef, 0x03fc6324, 0x02610bec, 0x00b7b34d, 0x01f6e1a8, 0x03131236, 0x01b92af2, 0x00094c06}}, Y: Field{[10]uint32{0x017c680a, 0x02e1ae8e, 0x02a5a495, 0x00ef694e, 0x023ffbdd, 0x00421cb8, 0x02ebdce8, 0x0275d397, 0x035ad950, 0x00185f4c}}}, + {X: Field{[10]uint32{0x004da6cb, 0x019f3544, 0x00f16bab, 0x01d14391, 0x02ced725, 0x03023ca4, 0x00d2bcfa, 0x03af7958, 0x00ca461b, 0x00015bd9}}, Y: Field{[10]uint32{0x013aee44, 0x00efcf56, 0x023eebd8, 0x014ee40e, 0x02757cb5, 0x00bba050, 0x012bca8f, 0x020ca2a6, 0x01cfdc27, 0x0016c821}}}, + {X: Field{[10]uint32{0x03553420, 0x03b49163, 0x012f64dd, 0x03a6fbcc, 0x005a31a1, 0x01f8fb8e, 0x025c1928, 0x00ea6bc3, 0x01711e15, 0x003ce725}}, Y: Field{[10]uint32{0x03b0b1cc, 0x020a4c38, 0x03a974b8, 0x018922f7, 0x02e742ef, 0x0126304c, 0x039df908, 0x01ae7de1, 0x02c11c20, 0x00133252}}}, + {X: Field{[10]uint32{0x013128b5, 0x037758b0, 0x005368c8, 0x01297783, 0x01b2f303, 0x01716ab9, 0x02d3dad9, 0x021cf00c, 0x02a8cbdf, 0x00010dfa}}, Y: Field{[10]uint32{0x013c59c6, 0x038c2026, 0x01fcc721, 0x00b77c30, 0x012f8d1b, 0x03583696, 0x00245993, 0x0042ed65, 0x020eb003, 0x0009f63a}}}, + {X: Field{[10]uint32{0x0080e9b2, 0x027ad2ea, 0x0371f0a7, 0x0298053b, 0x003f13e7, 0x00715d4d, 0x010ae621, 0x019e6112, 0x01893f5d, 0x002b7869}}, Y: Field{[10]uint32{0x0391c715, 0x00b8988d, 0x01304902, 0x00adfc90, 0x01e80188, 0x00f06d0a, 0x03404d8c, 0x01a8eeb1, 0x017c537e, 0x002f5270}}}, + {X: Field{[10]uint32{0x02c1224e, 0x038b64ce, 0x0198fd16, 0x01e31eb4, 0x00a87ef9, 0x029386db, 0x0357d977, 0x00696ae7, 0x01d5c309, 0x0024d89d}}, Y: Field{[10]uint32{0x036b9f32, 0x000481f7, 0x0057e5aa, 0x0146c5ee, 0x00ed5988, 0x01b88934, 0x0375d96c, 0x021317aa, 0x010ad8bd, 0x001a149a}}}, + {X: Field{[10]uint32{0x039b786e, 0x03ed69da, 0x01e8cc33, 0x00741dad, 0x03e29497, 0x03202e74, 0x006db205, 0x03573781, 0x01fd3e8f, 0x0000a795}}, Y: Field{[10]uint32{0x00010a0d, 0x03379263, 0x02f57af6, 0x00ab5869, 0x002bbf3e, 0x01c83391, 0x038312f0, 0x00d2e515, 0x017a7eb9, 0x0001da79}}}, + {X: Field{[10]uint32{0x009051ef, 0x02c566e0, 0x00584168, 0x0011d91f, 0x003ae378, 0x01785bde, 0x00b52754, 0x0217fc66, 0x02a73501, 0x0037e0d8}}, Y: Field{[10]uint32{0x02af6bab, 0x032b82d8, 0x01a263a6, 0x0203b923, 0x03735ece, 0x012c5b0e, 0x026b6048, 0x028ef7a0, 0x0046fbd4, 0x002bf2cd}}}, + {X: Field{[10]uint32{0x018a427e, 0x0057b381, 0x0033c254, 0x020e5b3d, 0x01b9a01e, 0x01b31867, 0x01660379, 0x017f83e5, 0x012309a3, 0x0017d10c}}, Y: Field{[10]uint32{0x00901ac0, 0x01f530ac, 0x03c906fd, 0x01c923eb, 0x0337d81c, 0x01aaa705, 0x0272b605, 0x02af14a4, 0x0012fc0a, 0x000e170a}}}, + {X: Field{[10]uint32{0x01dd2de5, 0x038d1205, 0x0163f4b7, 0x03fd74f7, 0x008c5323, 0x01a4ff13, 0x01b77a31, 0x000df149, 0x021553c6, 0x00306710}}, Y: Field{[10]uint32{0x013900a4, 0x0323b06a, 0x01822159, 0x01564b26, 0x00a19d22, 0x03679ac8, 0x01161896, 0x01df849c, 0x028a8791, 0x0027ddba}}}, + {X: Field{[10]uint32{0x032d45ac, 0x028508eb, 0x013f1d62, 0x024aa084, 0x0214d19d, 0x018e5091, 0x0162fdb3, 0x008ccbab, 0x021dd1e0, 0x0022afce}}, Y: Field{[10]uint32{0x03e36dde, 0x006d6629, 0x007ec7de, 0x0105b754, 0x02defc29, 0x0330b67c, 0x027a984e, 0x03b0fdd7, 0x027fdcf5, 0x000c96a5}}}, + {X: Field{[10]uint32{0x0359ae7a, 0x028f377d, 0x03b9433f, 0x01db0181, 0x0257c1dd, 0x01c7aa12, 0x014a58fa, 0x01879b13, 0x0390b931, 0x00322ff7}}, Y: Field{[10]uint32{0x030b20f9, 0x02513cc9, 0x01ce5b51, 0x033c054d, 0x00fd7990, 0x00f96a8f, 0x007efd3c, 0x03ed8fb5, 0x00a3d172, 0x0008f70e}}}, + {X: Field{[10]uint32{0x02d2c78d, 0x01fa1b80, 0x038b443c, 0x01016dde, 0x02a26ccc, 0x017e435e, 0x019e7ab8, 0x01665e9d, 0x026c35c5, 0x00025d99}}, Y: Field{[10]uint32{0x001ed0ff, 0x0145850e, 0x00f89605, 0x03fad0dc, 0x0392c52c, 0x008333bb, 0x02db2e4e, 0x033c96fc, 0x003e44fa, 0x001b4d0b}}}, + {X: Field{[10]uint32{0x0163252b, 0x00aa337e, 0x0273a1c1, 0x01b3fac8, 0x021fd65b, 0x02f6270e, 0x03b8e8a5, 0x0393871e, 0x03a77737, 0x0039de42}}, Y: Field{[10]uint32{0x03bdba42, 0x0096773f, 0x02e1a810, 0x03caa7a4, 0x01f7138f, 0x02ca2663, 0x02754ead, 0x02d63dc3, 0x02201534, 0x000098d7}}}, + {X: Field{[10]uint32{0x0176fb0d, 0x01df6051, 0x03efe375, 0x03265d7c, 0x03b471ce, 0x02e61ab0, 0x00e3ecd5, 0x03b20fd8, 0x017f6bfc, 0x0010b2e0}}, Y: Field{[10]uint32{0x005cf49a, 0x022937b1, 0x03cce270, 0x025941d7, 0x01144a85, 0x015cde42, 0x0162050a, 0x02f643c8, 0x0128b2f9, 0x003b4d78}}}, + {X: Field{[10]uint32{0x012f3cbb, 0x014383d0, 0x018f0024, 0x00a293f5, 0x01319024, 0x03847c51, 0x0060397a, 0x024ccfff, 0x00701a23, 0x0028221a}}, Y: Field{[10]uint32{0x0083af52, 0x0207e646, 0x00ad6d8a, 0x03267300, 0x03fc6002, 0x01221fae, 0x0251995b, 0x0380d023, 0x03371ad6, 0x0032121b}}}, + {X: Field{[10]uint32{0x032c4bb3, 0x021bc95c, 0x01aab034, 0x00b08998, 0x02e6a964, 0x00d9294b, 0x00fd8e8b, 0x006e2c10, 0x02419f10, 0x00290332}}, Y: Field{[10]uint32{0x0045a910, 0x02c542a5, 0x01285bab, 0x026e5402, 0x03b0655b, 0x001c0730, 0x01e611df, 0x025bc0b4, 0x03693ec0, 0x0003d086}}}, + {X: Field{[10]uint32{0x01beb721, 0x0181290d, 0x0350fefe, 0x003c5068, 0x02c53294, 0x027d5d57, 0x035b70bc, 0x011cb169, 0x0178bbb0, 0x00242bbe}}, Y: Field{[10]uint32{0x014bbf0d, 0x021f8478, 0x01187a5f, 0x004251e7, 0x0193f585, 0x0391e3a9, 0x008cde92, 0x03db932a, 0x0070737c, 0x003e7c17}}}, + {X: Field{[10]uint32{0x003407c3, 0x031a65eb, 0x03f1a07b, 0x00ceee09, 0x02d73ae4, 0x036e6b2d, 0x00292f68, 0x007ce580, 0x0281a0f6, 0x003ff08e}}, Y: Field{[10]uint32{0x034d4b66, 0x017ca115, 0x02803686, 0x00de81d1, 0x004f313b, 0x0351f338, 0x03c74630, 0x0384e49d, 0x0212bce5, 0x002dda81}}}, + {X: Field{[10]uint32{0x00a112a5, 0x003fd408, 0x01ded2ab, 0x00b837e6, 0x02742c85, 0x02610969, 0x022bc162, 0x03e64109, 0x039440bd, 0x0034f29e}}, Y: Field{[10]uint32{0x024d637a, 0x01e03ff7, 0x022cb1f9, 0x02dcd07e, 0x005ef191, 0x0204f38b, 0x004281f9, 0x0209713d, 0x03acca7e, 0x00276bb2}}}, + {X: Field{[10]uint32{0x01bb9f06, 0x02cf3294, 0x02b41b23, 0x02b3557b, 0x03469b21, 0x038386b1, 0x02b7589c, 0x02cc70a9, 0x02bb720a, 0x000a94e8}}, Y: Field{[10]uint32{0x0051f84e, 0x0295f8f5, 0x03256c21, 0x0036e912, 0x0027f781, 0x008341bb, 0x00d0f522, 0x025919e9, 0x0133ffde, 0x00046bfe}}}, + {X: Field{[10]uint32{0x01a1ac96, 0x00211d2b, 0x0087d05a, 0x01c5fedd, 0x0322b2fc, 0x02e3d72f, 0x03d2f77b, 0x000a1e9b, 0x035680c4, 0x00121f94}}, Y: Field{[10]uint32{0x02a849c8, 0x02434356, 0x03a731e9, 0x00954830, 0x01029c96, 0x0144c111, 0x0365326d, 0x00358dde, 0x03d54607, 0x0014ef5f}}}, + {X: Field{[10]uint32{0x027b3e16, 0x0396e659, 0x03a2963d, 0x02d20827, 0x01cf23c0, 0x00bd2d8a, 0x0332cfd6, 0x028307f0, 0x03cf291d, 0x000f9697}}, Y: Field{[10]uint32{0x02b86825, 0x0037b43e, 0x01c97b06, 0x03bdfd57, 0x008b33d7, 0x01ceec4c, 0x03028df7, 0x02687c12, 0x032c4338, 0x0021a61f}}}, + {X: Field{[10]uint32{0x023e256f, 0x01f5de43, 0x02b8ed5f, 0x03ed5c21, 0x00601840, 0x00b755c1, 0x002493d2, 0x011f08b1, 0x03c515a8, 0x0013e42b}}, Y: Field{[10]uint32{0x02b831be, 0x037b43ea, 0x01e33226, 0x0250ad61, 0x024ef939, 0x02b034f0, 0x01f6b089, 0x01a248cd, 0x0158ac2e, 0x0011b8c6}}}, + {X: Field{[10]uint32{0x023601fc, 0x01617078, 0x01a1782c, 0x00e29161, 0x02c2ff4b, 0x0086fa60, 0x02738071, 0x00fa9e9a, 0x012b40be, 0x002f81ce}}, Y: Field{[10]uint32{0x01f258db, 0x02a085bc, 0x0038da57, 0x01c799bb, 0x01431727, 0x036f8842, 0x01775b81, 0x027a39ef, 0x0057657c, 0x000e8561}}}, + {X: Field{[10]uint32{0x021108ed, 0x018d04be, 0x02603e05, 0x010546d6, 0x02ecc2f7, 0x01f09381, 0x02f9e6d4, 0x00dd7c88, 0x00e52140, 0x0021b09d}}, Y: Field{[10]uint32{0x00a96ef8, 0x0025a490, 0x003a2aa0, 0x01dbe4b0, 0x012703f2, 0x0326261f, 0x02b90b64, 0x035640cb, 0x02b94065, 0x001280be}}}, + {X: Field{[10]uint32{0x0173cf97, 0x023813cd, 0x03626267, 0x02a88449, 0x02287277, 0x036b04ff, 0x03b30561, 0x00e26049, 0x026be792, 0x00013f4e}}, Y: Field{[10]uint32{0x011173e4, 0x000d0b7c, 0x000d238c, 0x0288ed0e, 0x02f07ebe, 0x00ef1fa5, 0x00f4b4b4, 0x03b2db1b, 0x01a163cf, 0x00192628}}}, + {X: Field{[10]uint32{0x01117c94, 0x031da577, 0x0118cb68, 0x021aea06, 0x03cd2a5f, 0x03f33f41, 0x02fe78d1, 0x02f75e2a, 0x01ca5423, 0x0033e90d}}, Y: Field{[10]uint32{0x00ce1fe8, 0x01a0d5c4, 0x00cefd7d, 0x00ed2a7d, 0x01c399b5, 0x01a114e2, 0x03778546, 0x03de78d6, 0x011c02df, 0x002fd322}}}, + {X: Field{[10]uint32{0x021d446c, 0x024f8b0f, 0x010c1cdf, 0x03987cf2, 0x01414119, 0x01d1a6bf, 0x029e9277, 0x00f3166c, 0x031b7953, 0x002a96b2}}, Y: Field{[10]uint32{0x02a498ab, 0x01023d08, 0x01bc26bb, 0x004271d7, 0x028b11bf, 0x0060dd9f, 0x02d3854e, 0x030007ed, 0x01b78713, 0x002c37ca}}}, + {X: Field{[10]uint32{0x005c3d15, 0x00f82855, 0x01175635, 0x03d5341b, 0x03435c09, 0x006f294b, 0x03fa1c44, 0x03d56376, 0x02ecc21b, 0x0006e4f0}}, Y: Field{[10]uint32{0x03195ed2, 0x00fed28c, 0x00c4aeb5, 0x02c68837, 0x03f72e67, 0x0171b498, 0x00e8a5fd, 0x0243996b, 0x01ff7181, 0x0015b115}}}, + {X: Field{[10]uint32{0x03b91760, 0x0145260b, 0x010acd85, 0x02489190, 0x01c84800, 0x017dcac3, 0x039438b5, 0x03482fd8, 0x03f02566, 0x0005d132}}, Y: Field{[10]uint32{0x034c66f5, 0x03d48a77, 0x01f6c683, 0x03e12f68, 0x00068dc0, 0x029f495c, 0x01d5da57, 0x02d71674, 0x03a232b0, 0x001f9de9}}}, + {X: Field{[10]uint32{0x0302582b, 0x02a101ff, 0x01bedd24, 0x029e88a4, 0x021b9cb9, 0x0181ecc5, 0x02f8ffc0, 0x02300a30, 0x00a5ed44, 0x00282fa6}}, Y: Field{[10]uint32{0x011da6ea, 0x03065c40, 0x029a2274, 0x0207774d, 0x0376b869, 0x033dab23, 0x01444620, 0x00d496d3, 0x006a0239, 0x0039f30b}}}, + {X: Field{[10]uint32{0x03845882, 0x0244019e, 0x03e71148, 0x00673723, 0x038b2f2b, 0x0235d7a8, 0x02b2591d, 0x03dea558, 0x03f5dab5, 0x00383964}}, Y: Field{[10]uint32{0x02d67334, 0x017d70b2, 0x029c7e78, 0x031927d1, 0x00b5464d, 0x0290b38b, 0x03c26141, 0x0176d6ce, 0x036215e3, 0x00242231}}}, + {X: Field{[10]uint32{0x029290f5, 0x03f21e70, 0x02b408b9, 0x01b17924, 0x01ffe579, 0x039ec359, 0x031b928d, 0x00baaf5b, 0x0095a498, 0x001e0936}}, Y: Field{[10]uint32{0x00c7ee88, 0x02bc06af, 0x02d448a4, 0x005d5f36, 0x00d6bcf1, 0x0308cb18, 0x022d8bbf, 0x0214a0e2, 0x00688e42, 0x002b85d7}}}, + {X: Field{[10]uint32{0x01d96e66, 0x0073c43e, 0x00b5c421, 0x024fa5db, 0x012aa513, 0x00066b8b, 0x00e4a2cd, 0x00477085, 0x017ee0b6, 0x001274b9}}, Y: Field{[10]uint32{0x015b770a, 0x028f2caf, 0x014d25cf, 0x013e9e05, 0x0311c81e, 0x00a6ee7e, 0x01b79198, 0x007dc9de, 0x00ca8801, 0x003fe831}}}, + {X: Field{[10]uint32{0x035ead00, 0x004e73f1, 0x03ee8be2, 0x00cba71e, 0x02eeb3de, 0x00e262ba, 0x0012e8f8, 0x006a1618, 0x036b8f70, 0x00369817}}, Y: Field{[10]uint32{0x0011d246, 0x027973a5, 0x03633d69, 0x01f19d47, 0x025a2430, 0x024fd43e, 0x030ca5ea, 0x00706a27, 0x012ce98a, 0x0016e830}}}, + {X: Field{[10]uint32{0x02c16ff2, 0x03ff672e, 0x02785652, 0x00f070cb, 0x029307be, 0x03670e02, 0x01de2bd1, 0x0139b568, 0x03ebcde9, 0x002bbaaa}}, Y: Field{[10]uint32{0x010bf840, 0x006aebf5, 0x02460664, 0x006b0965, 0x03b62e49, 0x0041c24f, 0x000a52bf, 0x03b37814, 0x03558510, 0x000c0251}}}, + {X: Field{[10]uint32{0x010c40b7, 0x007fac68, 0x0378cb0e, 0x002f972d, 0x0066ca0a, 0x00c17e7a, 0x02d1e1f4, 0x03f992c6, 0x012b35f3, 0x0018bc62}}, Y: Field{[10]uint32{0x03f5780d, 0x0204e9c0, 0x028838e1, 0x0148b452, 0x03f1f890, 0x0316fb6f, 0x0287f090, 0x02fd28b8, 0x005ee600, 0x00069108}}}, + {X: Field{[10]uint32{0x02979382, 0x01356265, 0x01e944ac, 0x00cf6b89, 0x033a567b, 0x0029a020, 0x02be9f55, 0x00b5a4a3, 0x02c54677, 0x00308247}}, Y: Field{[10]uint32{0x02d4b31e, 0x02140b72, 0x002b2382, 0x01a4b56a, 0x02eb610c, 0x007f8651, 0x01fa722a, 0x0274c5cd, 0x025bd2e8, 0x0016669d}}}, + {X: Field{[10]uint32{0x03242367, 0x0003f7c6, 0x01ba597d, 0x01557e0f, 0x02e50a24, 0x027f9f08, 0x00e1b237, 0x0248d5c0, 0x015b1951, 0x002ff5f0}}, Y: Field{[10]uint32{0x0066b17b, 0x00af51af, 0x02694037, 0x031235bf, 0x03f4cdda, 0x03ebf4a1, 0x01272130, 0x031cd7a8, 0x03de545e, 0x002b1b79}}}, + {X: Field{[10]uint32{0x032ddc7f, 0x017d8d44, 0x00fd116b, 0x027dd3cf, 0x01958162, 0x020c76a0, 0x03d85073, 0x03f7de40, 0x03843cab, 0x00353539}}, Y: Field{[10]uint32{0x021758a6, 0x01d0b501, 0x0082d219, 0x0138ae3c, 0x01d1cd6d, 0x011d572c, 0x0265a284, 0x02eb2ff3, 0x011d582c, 0x00079258}}}, + {X: Field{[10]uint32{0x03908fdc, 0x03047223, 0x03d02cdd, 0x03e37d85, 0x014945b4, 0x0177630c, 0x03434a49, 0x02cd37ce, 0x0009c378, 0x000795d4}}, Y: Field{[10]uint32{0x00f6cdb7, 0x02161fc3, 0x005655bd, 0x008cffea, 0x0010bf21, 0x023c8273, 0x017458cb, 0x0256849a, 0x03a2810c, 0x001738df}}}, + {X: Field{[10]uint32{0x01408fd0, 0x03e570ee, 0x00ee1108, 0x01b4dc41, 0x01c9268c, 0x03f7d979, 0x035e690f, 0x01fae287, 0x022eac23, 0x002d699a}}, Y: Field{[10]uint32{0x03f72798, 0x00fbca32, 0x030de3c4, 0x0200c1d8, 0x03f8cc32, 0x0219a31b, 0x0042ba86, 0x03dba982, 0x02c0aaa4, 0x00264016}}}, + {X: Field{[10]uint32{0x0326fe0d, 0x030fb99f, 0x036e60cf, 0x00c0878f, 0x0166bc3a, 0x02ebabe3, 0x0090b063, 0x0164f19b, 0x01352599, 0x000768e7}}, Y: Field{[10]uint32{0x0141311f, 0x0216e172, 0x03e489f2, 0x029e3f1f, 0x00f7e58a, 0x00070c00, 0x030d076c, 0x00546d51, 0x005eb6b0, 0x00249ca8}}}, + {X: Field{[10]uint32{0x01a971b2, 0x01d10d2d, 0x005002b3, 0x016bce11, 0x024e900c, 0x007d0a3f, 0x02862d72, 0x00029d94, 0x00b6b100, 0x001fcec4}}, Y: Field{[10]uint32{0x02ecd385, 0x03481728, 0x03a9e1f5, 0x01d37cf0, 0x008c4a4f, 0x0095be82, 0x03bd4c90, 0x03b8cc44, 0x03e07907, 0x002e528b}}}, + {X: Field{[10]uint32{0x024eb2e0, 0x02132f5e, 0x018cbbaf, 0x0228fd74, 0x02e5dc36, 0x008030b6, 0x03eb61ae, 0x003e6fda, 0x03c66185, 0x00109841}}, Y: Field{[10]uint32{0x03e511af, 0x0231c319, 0x014f540f, 0x033a3a39, 0x000857ce, 0x034ebfa9, 0x0313488b, 0x03b43e35, 0x0078a9e6, 0x00387e9f}}}, + {X: Field{[10]uint32{0x01be9697, 0x01d290d1, 0x013e2fa3, 0x0265a03d, 0x01d6c940, 0x012273ea, 0x02093c21, 0x031310c4, 0x0256708f, 0x00155789}}, Y: Field{[10]uint32{0x004db6e7, 0x00b8af8a, 0x00cb002f, 0x008b1bd1, 0x01a78224, 0x019d2e84, 0x0166e06c, 0x02dda889, 0x03b71e3b, 0x00003d7b}}}, + {X: Field{[10]uint32{0x017dd290, 0x03f6c4a4, 0x028b3af8, 0x0095190a, 0x01033606, 0x0096dc27, 0x02a927e7, 0x0381f098, 0x017b5736, 0x001c5c2c}}, Y: Field{[10]uint32{0x030973b1, 0x02b9cd40, 0x01608627, 0x029adb7d, 0x0398b2c6, 0x029df382, 0x02d86e69, 0x02204ed6, 0x02a3f899, 0x003bd0df}}}, + {X: Field{[10]uint32{0x025c2180, 0x03b0c456, 0x00172aaa, 0x011b224c, 0x01eb4de6, 0x01ca913c, 0x02329d00, 0x03f44d27, 0x033e66fe, 0x00072a2a}}, Y: Field{[10]uint32{0x030a3c49, 0x003be98e, 0x03274fd2, 0x028554c6, 0x02c70103, 0x012613b4, 0x01da2a0f, 0x035dda07, 0x01c92a87, 0x001bf190}}}, + {X: Field{[10]uint32{0x005366b8, 0x0393e370, 0x007977d5, 0x034d21ed, 0x0385f057, 0x007069ca, 0x0150c1e4, 0x00ba0afc, 0x006af6d4, 0x0020d495}}, Y: Field{[10]uint32{0x02c5fdb1, 0x00ea0d61, 0x0084b138, 0x039ba831, 0x01ac92b0, 0x0070ac72, 0x008d7e72, 0x016c4aa2, 0x02b27ca2, 0x001daf96}}}, + {X: Field{[10]uint32{0x00904cd7, 0x02211667, 0x0244c3e9, 0x0285364b, 0x03353123, 0x0197123b, 0x03988ea7, 0x02e7558f, 0x037b1730, 0x000bc44b}}, Y: Field{[10]uint32{0x0234a44f, 0x029a094b, 0x031bb743, 0x02f50680, 0x0027d7a8, 0x00ab45d0, 0x0370b16d, 0x01f568cb, 0x0297f648, 0x003acd23}}}, + {X: Field{[10]uint32{0x02a5648a, 0x009423cf, 0x00f1d519, 0x00245a9c, 0x002eb6fd, 0x01042979, 0x032494ad, 0x031b1c75, 0x023c164d, 0x0003a100}}, Y: Field{[10]uint32{0x02f4462d, 0x01bf2007, 0x01b8a48a, 0x00c6ac51, 0x01225aa0, 0x008a05af, 0x032f5106, 0x000ca226, 0x018529be, 0x0018d3cd}}}, + {X: Field{[10]uint32{0x0228fc6b, 0x010049e3, 0x029afd6e, 0x0108c719, 0x004da403, 0x005355fd, 0x00039291, 0x03d49c2e, 0x011745da, 0x00254713}}, Y: Field{[10]uint32{0x0227f0a7, 0x02b92b56, 0x00921bb2, 0x03c71cbf, 0x03b9592e, 0x02ba0989, 0x0296f608, 0x003eecb1, 0x0311a8b3, 0x003e420e}}}, + {X: Field{[10]uint32{0x00cb19f4, 0x02e24be3, 0x007fd689, 0x010546ba, 0x01788458, 0x007e516e, 0x025548c5, 0x027cfb82, 0x0057f60b, 0x002b6aa5}}, Y: Field{[10]uint32{0x0361caa6, 0x01a16205, 0x018302e4, 0x01450339, 0x03f899b9, 0x0159d265, 0x039b0475, 0x03fbee37, 0x03f92145, 0x0020d195}}}, + {X: Field{[10]uint32{0x019e6ef7, 0x017f7b98, 0x03397749, 0x00d474c0, 0x00597f3e, 0x00b5fee9, 0x02ef3d85, 0x0028ed45, 0x02b30980, 0x001924a5}}, Y: Field{[10]uint32{0x021df105, 0x0214cfb5, 0x038535c7, 0x00776233, 0x005c8b44, 0x00bb7faf, 0x005f078e, 0x01459ff7, 0x00901021, 0x001133a7}}}, + {X: Field{[10]uint32{0x0006266f, 0x02534fd8, 0x012ce4bc, 0x02dac47e, 0x029f1e9d, 0x021d7c75, 0x02fe2ba7, 0x01d6fce2, 0x02979085, 0x000b075f}}, Y: Field{[10]uint32{0x01a2cf7f, 0x008dc983, 0x02ff50ba, 0x0307f469, 0x038c6c8e, 0x030272c0, 0x03b4e4bb, 0x02f422ee, 0x00bc030a, 0x0027ac94}}}, + {X: Field{[10]uint32{0x004647ec, 0x0355be5d, 0x0174f0f6, 0x029f46ef, 0x03b44ada, 0x014be865, 0x0293b100, 0x02f0c9e0, 0x038bed4e, 0x002c4c3f}}, Y: Field{[10]uint32{0x02a5eb33, 0x01643ffb, 0x01806212, 0x002c3730, 0x000136f6, 0x019b908a, 0x03d0a950, 0x031fd9db, 0x01e9b785, 0x00128291}}}, + {X: Field{[10]uint32{0x030e6231, 0x00335432, 0x0011732a, 0x012b5a3c, 0x0029bf68, 0x03335c73, 0x02e9c740, 0x02cb64c6, 0x019762ec, 0x0013ca96}}, Y: Field{[10]uint32{0x00cf17de, 0x0302fd5f, 0x00237377, 0x005b3def, 0x000fc442, 0x00c27b70, 0x0300dde7, 0x01c20fe9, 0x01b45cfc, 0x0037afe3}}}, + {X: Field{[10]uint32{0x03a23c0b, 0x0034b781, 0x030d1cab, 0x002ea678, 0x020a178c, 0x02968936, 0x01419a18, 0x01b89790, 0x01a17fbe, 0x0025fe7a}}, Y: Field{[10]uint32{0x03559128, 0x03688c95, 0x03c0a4dd, 0x02ef9c74, 0x026cb622, 0x003ed4e1, 0x034fdc87, 0x02d2003e, 0x026b0cce, 0x0006ac48}}}, + {X: Field{[10]uint32{0x01d9d8cb, 0x00ed1f42, 0x02f4cbb9, 0x03c42b4f, 0x00bfd486, 0x02dc4250, 0x01820673, 0x0345f900, 0x03e5e9f5, 0x00385fcf}}, Y: Field{[10]uint32{0x01272f58, 0x00a40eed, 0x0196b59c, 0x018b80fb, 0x0344ad7d, 0x0014492b, 0x0360b263, 0x00ea29ac, 0x0252615d, 0x003c449a}}}, + {X: Field{[10]uint32{0x032fa2de, 0x02a2ed9e, 0x026887a5, 0x014eab0d, 0x033ae668, 0x00e283f8, 0x00c3e945, 0x02060a40, 0x00467d63, 0x00068e7e}}, Y: Field{[10]uint32{0x02903aa5, 0x037bd6e0, 0x027bf28d, 0x00feed15, 0x0118492f, 0x035f1d40, 0x034dc019, 0x0169390a, 0x03995a62, 0x002b9f04}}}, + {X: Field{[10]uint32{0x002f5320, 0x021a4bad, 0x03e68cd1, 0x0205450a, 0x00baa605, 0x013ebfee, 0x0293e52f, 0x03e91242, 0x006127f6, 0x00229777}}, Y: Field{[10]uint32{0x016b0d8e, 0x020346a2, 0x0338974c, 0x0297f1e1, 0x00328e69, 0x03577f30, 0x02559ebb, 0x0377c690, 0x0325853d, 0x0017ad88}}}, + {X: Field{[10]uint32{0x0238c299, 0x0387e73f, 0x0190f7af, 0x01bfc234, 0x02b86490, 0x01bd6d76, 0x03dc17d5, 0x035bf351, 0x03b574b7, 0x00045f6f}}, Y: Field{[10]uint32{0x0190196b, 0x036e3757, 0x03b26bd5, 0x00bdae40, 0x00c50471, 0x0009902a, 0x03bc9233, 0x0051390d, 0x015130b7, 0x0012b348}}}, + {X: Field{[10]uint32{0x0270a537, 0x02168e62, 0x019f3f29, 0x031d0606, 0x00eec84e, 0x01428a98, 0x010706d9, 0x01fad5cc, 0x0228431c, 0x002c30c4}}, Y: Field{[10]uint32{0x0064ff78, 0x0122c02c, 0x02419a10, 0x01f10e3f, 0x030085e4, 0x0183608d, 0x00c32372, 0x01dbffa6, 0x03347928, 0x0029f7a6}}}, + {X: Field{[10]uint32{0x0243946f, 0x0347c0fc, 0x017e08d1, 0x02196962, 0x02736cbc, 0x005d81af, 0x03e6d5b5, 0x009d6b85, 0x00b9f493, 0x001f0843}}, Y: Field{[10]uint32{0x0359c63a, 0x038d4a45, 0x02db1c38, 0x02b0c3eb, 0x00920a7f, 0x02bc7c77, 0x00a92d87, 0x006173a9, 0x0123a8bd, 0x0005ec1d}}}, + {X: Field{[10]uint32{0x02d6e650, 0x01c5841b, 0x00aa1387, 0x02cbd15c, 0x03177b14, 0x02c3b285, 0x017b5192, 0x03b5118e, 0x0167578b, 0x0005cb94}}, Y: Field{[10]uint32{0x03830ba7, 0x01f3614c, 0x00cee173, 0x005f07e2, 0x039d3ba8, 0x00f1ceb4, 0x03de8038, 0x02e01758, 0x012e4776, 0x0027055d}}}, + {X: Field{[10]uint32{0x00030686, 0x02738a88, 0x019ca47e, 0x03ceaa70, 0x02c95a6e, 0x036b6011, 0x02373173, 0x03f6840d, 0x0040df25, 0x000586bf}}, Y: Field{[10]uint32{0x026089ce, 0x0035bc04, 0x03759ab9, 0x0182d895, 0x009926f1, 0x0291783a, 0x039c8193, 0x017ddad2, 0x0083c126, 0x00179bf4}}}, + {X: Field{[10]uint32{0x0216a85f, 0x034fb0e2, 0x018d9459, 0x0243b854, 0x002d194e, 0x01b8e451, 0x0369cf8b, 0x03b4cd35, 0x02a8e18a, 0x002e647c}}, Y: Field{[10]uint32{0x03cab7b0, 0x03433586, 0x00e8b1a0, 0x003886ca, 0x017e6e59, 0x0248f4b0, 0x0169d3e0, 0x01c723a8, 0x01a6b89f, 0x00074aea}}}, + {X: Field{[10]uint32{0x00ca8afc, 0x0328c351, 0x035026f1, 0x0121f56a, 0x007d6233, 0x03ecd91f, 0x016f4881, 0x03b9dfde, 0x009f5a6c, 0x0036b81a}}, Y: Field{[10]uint32{0x039c329c, 0x03221cf0, 0x01fa8c6c, 0x02c0c533, 0x0143ccc1, 0x00ef96e5, 0x01e69643, 0x02eb8a85, 0x0270f730, 0x003b99ed}}}, + {X: Field{[10]uint32{0x027e4e41, 0x03f63b22, 0x02e61aea, 0x02905a84, 0x03d72805, 0x018a7ed6, 0x0217ba14, 0x0270551a, 0x00cd75f8, 0x0011e963}}, Y: Field{[10]uint32{0x01fdd889, 0x0153cf0a, 0x007679b9, 0x02e5cf65, 0x02a4bc43, 0x007f07c2, 0x03e60bb6, 0x02043ad2, 0x03ed1bbb, 0x0030579f}}}, + {X: Field{[10]uint32{0x03040e3c, 0x0026d11a, 0x01698cef, 0x01a57142, 0x02d7582f, 0x013bd96d, 0x000697c9, 0x01bb8cc3, 0x03d02e3b, 0x003deb8b}}, Y: Field{[10]uint32{0x0019ca03, 0x03762b75, 0x00ea36a9, 0x0195e64d, 0x015eb495, 0x037506b2, 0x00d8e6dd, 0x004e6f15, 0x00aac527, 0x002b7a7e}}}, + {X: Field{[10]uint32{0x0012989d, 0x0112365f, 0x00dc8b6c, 0x0091757e, 0x00ae61cf, 0x03091296, 0x03e9c214, 0x02b88235, 0x02a89be2, 0x000557e7}}, Y: Field{[10]uint32{0x01b009ff, 0x033a74d9, 0x036808c1, 0x003d3345, 0x00cf5ea6, 0x032fd124, 0x0204abe6, 0x03466bf6, 0x01f3840c, 0x0004813d}}}, + {X: Field{[10]uint32{0x029d74f6, 0x018598c7, 0x01a5189a, 0x02e404f1, 0x01e35057, 0x0034fb8e, 0x01348a0e, 0x017c53e9, 0x01c3933b, 0x002a0f32}}, Y: Field{[10]uint32{0x0072a74a, 0x0352ebfc, 0x021dbe30, 0x00468a0f, 0x0052b91d, 0x007ef91e, 0x02a9c78e, 0x0211d878, 0x02d7fad6, 0x00102a99}}}, + {X: Field{[10]uint32{0x03b5f5df, 0x030fa959, 0x02cce11f, 0x02f6fca9, 0x00d7acef, 0x02912d55, 0x00a20e0f, 0x01708ca6, 0x01cfc07b, 0x00329254}}, Y: Field{[10]uint32{0x01f4afc2, 0x004b13c2, 0x02050b80, 0x0115e161, 0x0235aac5, 0x00a31e66, 0x01791a6b, 0x032beb1e, 0x03d76700, 0x00061aa2}}}, + {X: Field{[10]uint32{0x02b6787c, 0x0339c4a7, 0x011a9ae0, 0x0296e11e, 0x01d6760b, 0x02f090e3, 0x031f2a0d, 0x00407d79, 0x01e61bad, 0x0033e4b7}}, Y: Field{[10]uint32{0x003bcbd8, 0x014f88d7, 0x0159528f, 0x027444df, 0x026c9d8a, 0x00a51638, 0x00c1f053, 0x0079af2f, 0x01b7f3e3, 0x0029f4d4}}}, + {X: Field{[10]uint32{0x029c1179, 0x01466144, 0x0287d08f, 0x02a5b8a9, 0x03b06154, 0x020fa2cd, 0x039df9be, 0x00a0e8ed, 0x033ecfd8, 0x002c6ac2}}, Y: Field{[10]uint32{0x01506bbf, 0x017435ba, 0x0305812d, 0x0254e0df, 0x0099e973, 0x0204a403, 0x034cd97b, 0x014d2907, 0x02f34bab, 0x00336dfc}}}, + {X: Field{[10]uint32{0x021789ce, 0x02549283, 0x0035424e, 0x028a62cc, 0x01197296, 0x00ffaeb6, 0x0399295f, 0x0327a13e, 0x03299cd4, 0x00285d0c}}, Y: Field{[10]uint32{0x037e1afe, 0x00bd75fd, 0x03fc4428, 0x02913cbc, 0x035bee11, 0x0373e9b5, 0x0078088a, 0x00d5ddbc, 0x02f44cf5, 0x00102653}}}, + {X: Field{[10]uint32{0x01c0573b, 0x02868af6, 0x01e0b0d0, 0x011981fc, 0x0338b318, 0x006954c5, 0x03b946a6, 0x02b1f0f1, 0x00864efc, 0x0000906d}}, Y: Field{[10]uint32{0x03a0d574, 0x03d72607, 0x0197c832, 0x0166eb4e, 0x002f9801, 0x02f2900f, 0x01f3ba8f, 0x00734cc9, 0x0048eec6, 0x001733a2}}}, + {X: Field{[10]uint32{0x0291b387, 0x00f8f937, 0x0137ed75, 0x01534960, 0x03e3efd3, 0x01e66ac2, 0x01559adf, 0x01e611a6, 0x02096499, 0x00207e20}}, Y: Field{[10]uint32{0x0226d15c, 0x031c79aa, 0x01967a32, 0x0266be8a, 0x0243bda5, 0x03cf3236, 0x01e5caa5, 0x01c1846e, 0x01b85bfd, 0x0023e7fb}}}, + {X: Field{[10]uint32{0x024e5a5b, 0x03d75251, 0x006fe8fb, 0x01ad955c, 0x00c22da9, 0x028bb095, 0x00793d64, 0x00851480, 0x0231bd2c, 0x00127590}}, Y: Field{[10]uint32{0x0351e825, 0x0350ccf1, 0x0302b548, 0x0100fc69, 0x01bf9864, 0x01c71b76, 0x01f81216, 0x00b2b607, 0x02dab0d7, 0x003ebb23}}}, + {X: Field{[10]uint32{0x026e0ae4, 0x01f6db41, 0x029387e7, 0x013651db, 0x006daea2, 0x02dd0260, 0x03e1f159, 0x00e90471, 0x00324fad, 0x001d3053}}, Y: Field{[10]uint32{0x00641a41, 0x01ce2038, 0x009fd5aa, 0x0176af6e, 0x013ee016, 0x011b9ad9, 0x031a2cb9, 0x03972fc0, 0x02031fbe, 0x002bde54}}}, + {X: Field{[10]uint32{0x02a1e7c3, 0x012db5c4, 0x011b2a98, 0x00674276, 0x00930f9c, 0x004e0f1b, 0x03f42158, 0x036532f8, 0x009c7342, 0x00222f08}}, Y: Field{[10]uint32{0x005b3e08, 0x03265313, 0x02a2346a, 0x03985606, 0x01b817eb, 0x00a1d843, 0x0288866e, 0x021c8e26, 0x034576dd, 0x002b2df5}}}, + {X: Field{[10]uint32{0x026eb3f8, 0x0361738a, 0x02e77c1b, 0x01099daa, 0x0009bee2, 0x0285497d, 0x03b93c85, 0x02a2337d, 0x0068c81c, 0x00121b23}}, Y: Field{[10]uint32{0x03e52d54, 0x03749bd3, 0x0234ec1a, 0x0013eccf, 0x01d62490, 0x03d79a12, 0x02648706, 0x02a5f357, 0x014b035f, 0x00383fb2}}}, + {X: Field{[10]uint32{0x00a681a3, 0x033ae401, 0x02f14e28, 0x00f5b97e, 0x03ba3904, 0x034377cd, 0x01e30fb5, 0x02388ded, 0x02116c58, 0x001287be}}, Y: Field{[10]uint32{0x017b64f4, 0x03efc6a6, 0x00d538fc, 0x030506f6, 0x0365f2ac, 0x02f391db, 0x0137dd31, 0x01c596a2, 0x03373c90, 0x002ec659}}}, + {X: Field{[10]uint32{0x00eb28d2, 0x0110a51e, 0x0392f8da, 0x016dfdfd, 0x002632e8, 0x03bf9eed, 0x0317f308, 0x0027b436, 0x0006c696, 0x0035dd17}}, Y: Field{[10]uint32{0x01b96a73, 0x00fc208e, 0x0297cad1, 0x001fdc0a, 0x025371f0, 0x006b76c6, 0x0046e11b, 0x00af557f, 0x02754d1b, 0x0001d5d6}}}, + {X: Field{[10]uint32{0x03e68def, 0x01ebe90a, 0x015f49ca, 0x0143f666, 0x00dc333d, 0x03dd2a1f, 0x0208cedd, 0x009f1a9a, 0x032ea3db, 0x002f5d4b}}, Y: Field{[10]uint32{0x01e9491a, 0x03b0e2e9, 0x024d791d, 0x01b76a70, 0x02ef5c57, 0x01b54318, 0x00725ed2, 0x023482e9, 0x02af6747, 0x000de3e2}}}, + {X: Field{[10]uint32{0x03224d21, 0x0115ec07, 0x001f94be, 0x0131fccc, 0x0055eb30, 0x03380357, 0x0202bffa, 0x031faf19, 0x033315a3, 0x003bd620}}, Y: Field{[10]uint32{0x03517abd, 0x02830482, 0x0123ff46, 0x01532d69, 0x01eb52e0, 0x0210dd47, 0x01a95f7e, 0x037ef8f6, 0x02ab6253, 0x0015bace}}}, + {X: Field{[10]uint32{0x0253727a, 0x031810d4, 0x01f1fc1d, 0x0339fb7c, 0x0106b495, 0x010b7c90, 0x01beea4f, 0x02097682, 0x03747355, 0x000b0778}}, Y: Field{[10]uint32{0x03a150c2, 0x00ec74e1, 0x0058873a, 0x0340a34b, 0x005ff92c, 0x01dd9caa, 0x01986bdf, 0x03d7623e, 0x02609082, 0x0026164d}}}, + {X: Field{[10]uint32{0x000daf99, 0x03fd43ca, 0x02535324, 0x008aa23c, 0x00b78e2a, 0x03ce6cba, 0x00c90016, 0x000503d4, 0x031b23e6, 0x00127e35}}, Y: Field{[10]uint32{0x018b04ec, 0x024ea1ad, 0x0254622b, 0x03207f90, 0x00308111, 0x03dbf788, 0x00ec3393, 0x039f70cc, 0x02654807, 0x003d9aed}}}, + {X: Field{[10]uint32{0x009f37be, 0x0185eac6, 0x03ceb6df, 0x01e36d64, 0x02d18fdf, 0x0153ce94, 0x02a30f99, 0x018728ac, 0x0385754b, 0x000d9727}}, Y: Field{[10]uint32{0x0132825e, 0x00169054, 0x01a3af14, 0x000488da, 0x007681b6, 0x0028c9e5, 0x026aced6, 0x01af2ffe, 0x03e6aca5, 0x00310ffb}}}, + {X: Field{[10]uint32{0x01f1b5af, 0x013a2fc8, 0x023108e2, 0x00f86612, 0x027e2cb5, 0x028c473c, 0x02446c4d, 0x01a3b706, 0x03e9e896, 0x00073cb3}}, Y: Field{[10]uint32{0x00c966b7, 0x007bd688, 0x03803673, 0x004b8b2b, 0x03aebc7b, 0x029a17c8, 0x038f1041, 0x00c251ed, 0x01ac43c5, 0x001c795b}}}, + {X: Field{[10]uint32{0x008ca3ec, 0x03398dad, 0x03d5225d, 0x03e38072, 0x02219694, 0x01fa1de5, 0x011c26fa, 0x00089bce, 0x00796266, 0x003ccc0d}}, Y: Field{[10]uint32{0x02762827, 0x023e3e98, 0x030026f4, 0x03215aa4, 0x02afa585, 0x013e0e90, 0x0359ab87, 0x03a5176e, 0x03f4c110, 0x001f7a82}}}, + {X: Field{[10]uint32{0x00b27154, 0x030c94f9, 0x02df0587, 0x01a46b9e, 0x008756a9, 0x008a5fa8, 0x00664f90, 0x01b220e6, 0x004c4bc1, 0x002da249}}, Y: Field{[10]uint32{0x0050c856, 0x03466a39, 0x00364c27, 0x02b971c0, 0x00bd7483, 0x02d29d68, 0x03f89a90, 0x00da3325, 0x03481357, 0x0026d221}}}, + {X: Field{[10]uint32{0x038cbe41, 0x02c45018, 0x00517f3e, 0x00089035, 0x01a78b43, 0x0392f808, 0x032f8745, 0x00dc73fb, 0x00d2d6b4, 0x002fcd3f}}, Y: Field{[10]uint32{0x0397ac02, 0x01386557, 0x03546546, 0x00e09fd9, 0x001ef6a2, 0x006d0ef0, 0x0372914e, 0x01baba39, 0x00d27e32, 0x00339a22}}}, + {X: Field{[10]uint32{0x018d74fe, 0x03520844, 0x01cd110e, 0x018f116e, 0x00d51ffe, 0x01300094, 0x005a5944, 0x031e5b3a, 0x026d231b, 0x0030825e}}, Y: Field{[10]uint32{0x03e4ac87, 0x002da82f, 0x0372b135, 0x00f96e67, 0x01d1f92b, 0x0299d221, 0x023a85ac, 0x0305cf87, 0x0013fc4a, 0x00162c19}}}, + {X: Field{[10]uint32{0x017afa81, 0x01a8cc10, 0x026184d4, 0x0261036c, 0x02e3e817, 0x03191eba, 0x011b1de3, 0x0013cc28, 0x02223d88, 0x0021d298}}, Y: Field{[10]uint32{0x0380b429, 0x00e83b6b, 0x00f8f6b1, 0x03803bdc, 0x02b31668, 0x03263cd5, 0x02b181d5, 0x03988a5d, 0x01f67986, 0x00104ca9}}}, + {X: Field{[10]uint32{0x01bc605c, 0x021382bd, 0x03b85b97, 0x00f332a8, 0x021f2846, 0x0030fb51, 0x002227ab, 0x03564a05, 0x028a1a05, 0x002b1f1b}}, Y: Field{[10]uint32{0x018a2186, 0x02c52cc4, 0x00da4a08, 0x036da1e5, 0x01c107a9, 0x018fd71c, 0x0260a0a9, 0x00ce5fae, 0x0195581e, 0x00069668}}}, + {X: Field{[10]uint32{0x0333342c, 0x02c58e8c, 0x00a65575, 0x02e0bc95, 0x0344bc12, 0x005c5697, 0x0075c01a, 0x028fd822, 0x02d8d825, 0x000fc4f8}}, Y: Field{[10]uint32{0x0025e3b7, 0x00fe8716, 0x02724339, 0x033f5ee9, 0x036a2e6e, 0x02d788a4, 0x02f76a68, 0x009847ff, 0x0082fb2c, 0x002ebfda}}}, + {X: Field{[10]uint32{0x03a8fe2d, 0x03e57b2f, 0x03cec4d5, 0x003d327d, 0x01aa7e40, 0x007418c3, 0x03e26315, 0x01fce770, 0x0354515e, 0x0007afac}}, Y: Field{[10]uint32{0x025c85cf, 0x02847deb, 0x02daca6c, 0x02e6131c, 0x00c70724, 0x00617ce9, 0x00a2473c, 0x03373ce1, 0x00ef00c2, 0x0028b8d7}}}, + {X: Field{[10]uint32{0x0202b2ab, 0x00668777, 0x019a0d2d, 0x027388ae, 0x00b47d8f, 0x004ad176, 0x0059218d, 0x039d979b, 0x0365b211, 0x0030b736}}, Y: Field{[10]uint32{0x00f3be50, 0x01bd4389, 0x01237b14, 0x00cb25ad, 0x028722e0, 0x00967e21, 0x009326e9, 0x0045e9ca, 0x039ca960, 0x00382a96}}}, + {X: Field{[10]uint32{0x00bc0d45, 0x03a1e459, 0x01b85841, 0x02e09c32, 0x0207f360, 0x000e3db1, 0x02ed8a9c, 0x03451238, 0x01f7e2a9, 0x0012575a}}, Y: Field{[10]uint32{0x017088d2, 0x03d67825, 0x003e70bd, 0x02f84d0a, 0x03c48584, 0x013eb1bd, 0x034465d7, 0x0339ee0e, 0x022a1dab, 0x0017ecff}}}, + {X: Field{[10]uint32{0x0053bab2, 0x01eb21cd, 0x0169d203, 0x01deeb56, 0x01270a94, 0x0368fd45, 0x01be43d8, 0x0393e5c0, 0x01692139, 0x0033ab11}}, Y: Field{[10]uint32{0x00908070, 0x00b05811, 0x00b3bca3, 0x01035548, 0x02f385ea, 0x01812dac, 0x002f2bd9, 0x03a1cad8, 0x01d815f4, 0x002f47f6}}}, + {X: Field{[10]uint32{0x01407e0d, 0x015625c2, 0x0140682f, 0x006835b3, 0x034e6dba, 0x002881ab, 0x01284cbc, 0x02e30073, 0x00b93196, 0x001fb474}}, Y: Field{[10]uint32{0x012801c5, 0x03286287, 0x00e0af1b, 0x03036103, 0x0111018e, 0x035d6a71, 0x034ee732, 0x002f988b, 0x02c96ba6, 0x003a568e}}}, + {X: Field{[10]uint32{0x01040b04, 0x02dc5e28, 0x010fba24, 0x02c84c49, 0x03ac5fe4, 0x02e9f325, 0x00fd4365, 0x033b2250, 0x03664f42, 0x0001cbec}}, Y: Field{[10]uint32{0x007dce41, 0x028994f1, 0x029bcdbb, 0x0372887b, 0x0063d551, 0x02d4b3a4, 0x01e5c9b4, 0x0047d7d7, 0x031a93a2, 0x0003060a}}}, + {X: Field{[10]uint32{0x0008beea, 0x0183c118, 0x00309021, 0x00b56455, 0x03469019, 0x00f9b615, 0x0320043d, 0x00791759, 0x018c9ca9, 0x003741b3}}, Y: Field{[10]uint32{0x001e7ecd, 0x021771b1, 0x03ce272b, 0x016e402c, 0x01418970, 0x020faf60, 0x03a8a7ee, 0x03a8efe7, 0x03276eeb, 0x0033705c}}}, + {X: Field{[10]uint32{0x0178cd13, 0x02a6a64e, 0x00743da8, 0x010c0b8b, 0x003c708c, 0x02ffb6c4, 0x02504398, 0x01fc3c79, 0x0129e90a, 0x000203d8}}, Y: Field{[10]uint32{0x01deb82a, 0x009b53ce, 0x0000fe72, 0x0208e0a3, 0x02d95a30, 0x016d9129, 0x02f594f8, 0x03bfd28f, 0x0012145f, 0x001d365e}}}, + {X: Field{[10]uint32{0x005995b6, 0x0309f9c4, 0x01b24f5b, 0x00f13014, 0x020b48f8, 0x02bee774, 0x02970afb, 0x01422bbb, 0x00daf56b, 0x0015abcd}}, Y: Field{[10]uint32{0x01ae68bf, 0x02ac37b4, 0x0334d8a3, 0x016b7317, 0x03decca6, 0x00867734, 0x0105a4cc, 0x02386624, 0x02529e78, 0x0035077f}}}, + {X: Field{[10]uint32{0x023f91ee, 0x00f11393, 0x001f6ca3, 0x024e8687, 0x00148cf6, 0x01a27647, 0x005e29c4, 0x0196d031, 0x01ba7955, 0x00208089}}, Y: Field{[10]uint32{0x024b7db4, 0x000a2fae, 0x03334b24, 0x03c52ce1, 0x0011a0f4, 0x01e09a4a, 0x02bf5a31, 0x0270b819, 0x025bc89b, 0x000d88ab}}}, + {X: Field{[10]uint32{0x02ea57d2, 0x008cafa8, 0x037033bf, 0x02c5594a, 0x03ad388d, 0x0231fc27, 0x01a1b7ca, 0x0080aa25, 0x01bfcfcc, 0x001e497f}}, Y: Field{[10]uint32{0x0290525c, 0x00dcc253, 0x00d0a9dc, 0x0072a105, 0x021ebcc2, 0x01b4fd7c, 0x019cf5ec, 0x01f72455, 0x0301c9cb, 0x0011bdfb}}}, + {X: Field{[10]uint32{0x01d81808, 0x01fd8341, 0x039f6102, 0x012a6ffd, 0x02663879, 0x036f4ac7, 0x03316eb8, 0x039cc416, 0x036af38a, 0x0012c892}}, Y: Field{[10]uint32{0x015c3dac, 0x03e72c56, 0x029d423f, 0x02207f19, 0x00b6dc68, 0x007ff96d, 0x032ad2e1, 0x00c00aee, 0x0208b163, 0x000c50fa}}}, + {X: Field{[10]uint32{0x007380ee, 0x02bc831a, 0x013cd28d, 0x0192a904, 0x022c1bdd, 0x01b39223, 0x02a1a36e, 0x03d3ad80, 0x03fa4135, 0x000b01d9}}, Y: Field{[10]uint32{0x03bc16a7, 0x006f8ec3, 0x0389a5f7, 0x00ac4142, 0x0006a65d, 0x004dcf78, 0x002da710, 0x00c185f3, 0x03fce78d, 0x003770fb}}}, + {X: Field{[10]uint32{0x00a7ae7c, 0x0366ee94, 0x01ef1982, 0x03097544, 0x0137b5a2, 0x006a7e0d, 0x02ed2d94, 0x026a13bd, 0x013ee717, 0x0020e0df}}, Y: Field{[10]uint32{0x03b66dbe, 0x00092db8, 0x008d8556, 0x03c9e51b, 0x01fe2294, 0x029809ed, 0x02f1a495, 0x01ed32a1, 0x02166095, 0x00188807}}}, + {X: Field{[10]uint32{0x0095387a, 0x009c4256, 0x01d9bda4, 0x027875c3, 0x0225e50d, 0x00d6fc76, 0x028e0118, 0x03c15d4e, 0x0334e560, 0x0033c1d6}}, Y: Field{[10]uint32{0x02127018, 0x001c6128, 0x02a1404b, 0x03746035, 0x032b11d8, 0x00f7ce35, 0x0219f6f3, 0x03d348e3, 0x01d0330f, 0x0031cc82}}}, + {X: Field{[10]uint32{0x008931a4, 0x006e20df, 0x0329dcb0, 0x00b04020, 0x039d06ba, 0x0038faed, 0x00680300, 0x01d747bd, 0x00ff9b18, 0x003560fe}}, Y: Field{[10]uint32{0x03ae3292, 0x02f94f1b, 0x0258cd55, 0x0270ccee, 0x00aaac7c, 0x0165ad42, 0x03cfcc69, 0x024ae9af, 0x031c03f0, 0x003e33f3}}}, + {X: Field{[10]uint32{0x03eaefaa, 0x006de490, 0x02220343, 0x02cb687f, 0x0327568b, 0x010bb6c6, 0x01853723, 0x00e26ff0, 0x01b621d2, 0x001547fa}}, Y: Field{[10]uint32{0x023c24e0, 0x02b74095, 0x023d8c3b, 0x03fa5c48, 0x03ff48e5, 0x03cc4467, 0x02ff5057, 0x018f331a, 0x004ae485, 0x001b1da4}}}, + {X: Field{[10]uint32{0x016a80b2, 0x018fdbb4, 0x02da9a9d, 0x0252f239, 0x0051f063, 0x0339f264, 0x0162be7b, 0x00bc92c2, 0x00fc7406, 0x0006edde}}, Y: Field{[10]uint32{0x01d88318, 0x0385d018, 0x03bdb14b, 0x00bc775e, 0x0260e935, 0x03fc0dbe, 0x02700b68, 0x03459cf4, 0x013d2f4e, 0x0009d53d}}}, + {X: Field{[10]uint32{0x03e364aa, 0x00ff8439, 0x03be6e4a, 0x0313a5f3, 0x01aa0744, 0x03fe354e, 0x009f1a93, 0x0160be25, 0x02f71261, 0x00028542}}, Y: Field{[10]uint32{0x02ea4773, 0x037dc87a, 0x03ab99e0, 0x03b57e5b, 0x03100737, 0x01b86fd1, 0x02124715, 0x01c70be7, 0x02fea686, 0x00388a86}}}, + {X: Field{[10]uint32{0x032e2a9e, 0x00b856b9, 0x0380b724, 0x02f095e1, 0x00835ed2, 0x023a4f5a, 0x0163a030, 0x037e475e, 0x03df727f, 0x003253b0}}, Y: Field{[10]uint32{0x0152009c, 0x00d3485c, 0x030d50a9, 0x0042cfd5, 0x02011b28, 0x003eb427, 0x0312b35f, 0x014f1518, 0x00e97bda, 0x00291da8}}}, + {X: Field{[10]uint32{0x0146875a, 0x02d97dfc, 0x03f255f8, 0x0285e131, 0x02f186bd, 0x008d69ca, 0x01427394, 0x00c8c5f1, 0x01dbebe1, 0x000cd9ae}}, Y: Field{[10]uint32{0x0345d3cf, 0x00c9c984, 0x01862eea, 0x0064805c, 0x026b6206, 0x010e4657, 0x03213835, 0x00a22508, 0x007895f5, 0x00017a89}}}, + {X: Field{[10]uint32{0x00e8ba25, 0x030e3978, 0x02373974, 0x02f91130, 0x0358bec6, 0x0024acae, 0x005ef365, 0x0197b32e, 0x026ce522, 0x00185b23}}, Y: Field{[10]uint32{0x01aa0970, 0x0126fc73, 0x033caba0, 0x0240bc7b, 0x02724a98, 0x03d04926, 0x03286f45, 0x00963362, 0x01433d6e, 0x00134f55}}}, + {X: Field{[10]uint32{0x02651827, 0x008a47da, 0x00b1d043, 0x0298c825, 0x032617b3, 0x01177129, 0x001d86ef, 0x03a13a2e, 0x01772e38, 0x001d37c8}}, Y: Field{[10]uint32{0x02e01334, 0x011b6308, 0x0360c487, 0x0071a86c, 0x032a9ccf, 0x0326e695, 0x00abc6f9, 0x02549ff1, 0x03af30f0, 0x000130ca}}}, + {X: Field{[10]uint32{0x01accbd1, 0x03f14008, 0x00ce5d68, 0x0366fb83, 0x02532f8d, 0x03bd0bea, 0x01966d15, 0x0114ca5e, 0x01bf76b7, 0x00060528}}, Y: Field{[10]uint32{0x00d46bdc, 0x02feeb6b, 0x02ef3154, 0x01b826cb, 0x037af174, 0x03ea4ee6, 0x0205ad25, 0x0350e6c8, 0x01ff0da9, 0x0017d77d}}}, + {X: Field{[10]uint32{0x018625cc, 0x01db00ae, 0x02975c74, 0x019b108a, 0x035f444d, 0x03a17ef6, 0x01f22878, 0x01d49aeb, 0x029498ff, 0x000a2447}}, Y: Field{[10]uint32{0x02638537, 0x03240f07, 0x01ada5e4, 0x02ef8e02, 0x02eac150, 0x02c886e9, 0x0069542f, 0x01801a76, 0x00f35cf2, 0x00168d07}}}, + {X: Field{[10]uint32{0x01270865, 0x0343bf8a, 0x0279abd6, 0x006f9913, 0x02f441ce, 0x0227a1a1, 0x01ce2926, 0x011570e8, 0x0371e82a, 0x00356b3f}}, Y: Field{[10]uint32{0x0126d5e8, 0x031f6007, 0x0070e00d, 0x025a5636, 0x03ca8cde, 0x0344fc0c, 0x004971aa, 0x03a5c281, 0x008f1b46, 0x002ab1b5}}}, + {X: Field{[10]uint32{0x02711596, 0x002638b8, 0x00b6a91f, 0x015d4401, 0x008f03fc, 0x00842545, 0x0365e173, 0x00361675, 0x001b0221, 0x00173d47}}, Y: Field{[10]uint32{0x02d5c3b3, 0x016f73c9, 0x01838f39, 0x03ba8e65, 0x00017fe9, 0x028a8852, 0x031e58ea, 0x03d164b0, 0x01e0610d, 0x0007bac6}}}, +} + +var preG128 = []XY{ + {X: Field{[10]uint32{0x02c4c0da, 0x02d11327, 0x023351b7, 0x01e1c8fa, 0x02e88c56, 0x0207c58b, 0x039c1ad9, 0x017cce48, 0x01d2f63b, 0x0023da2e}}, Y: Field{[10]uint32{0x001fff82, 0x032fde54, 0x00bfdf23, 0x03fa5544, 0x01bbea2c, 0x01af8857, 0x01d90c2b, 0x00e61b78, 0x032dba06, 0x00198aa7}}}, + {X: Field{[10]uint32{0x023809fa, 0x00ae3b74, 0x014be18e, 0x02cd4765, 0x00fd845c, 0x009147c2, 0x0293363f, 0x027c8a2e, 0x01be2e50, 0x000e0e07}}, Y: Field{[10]uint32{0x031fed52, 0x001d460c, 0x0324dbd7, 0x032ccb63, 0x003681fc, 0x0083ac73, 0x01405a55, 0x005f72c2, 0x010a0fb9, 0x003928cb}}}, + {X: Field{[10]uint32{0x03c2a310, 0x01099225, 0x026303ea, 0x02950048, 0x01f186ae, 0x0291a668, 0x0121b82a, 0x00ab9bda, 0x0324e437, 0x00124989}}, Y: Field{[10]uint32{0x0227ded0, 0x006da057, 0x038ce0c4, 0x004a9d7f, 0x036d1636, 0x01c50c0e, 0x02cfa569, 0x02afe568, 0x0373bca7, 0x0004cdf9}}}, + {X: Field{[10]uint32{0x02bd2d31, 0x012c1e73, 0x01b8d138, 0x015bfc1b, 0x004dcc1a, 0x011df8be, 0x02253b3e, 0x00324357, 0x028c1a24, 0x0038c195}}, Y: Field{[10]uint32{0x02546e44, 0x02d020e4, 0x03826692, 0x010af8dc, 0x02ffbc80, 0x03df436d, 0x00f2b107, 0x01098222, 0x03e37893, 0x0003ab1b}}}, + {X: Field{[10]uint32{0x023136b0, 0x0030e78d, 0x01dd9c53, 0x0366aad0, 0x0374ebf8, 0x00fef58c, 0x01b0e762, 0x033bf09c, 0x000e2428, 0x000ee784}}, Y: Field{[10]uint32{0x00dbbc8a, 0x03b05bdb, 0x01f81953, 0x028ceb4c, 0x02a2ae28, 0x03d1d6c9, 0x01533eb8, 0x02edc77c, 0x00152d16, 0x003ebee6}}}, + {X: Field{[10]uint32{0x03485d3f, 0x023c11cb, 0x03eee960, 0x01a2041e, 0x0317ca07, 0x0177b7bd, 0x036ca80f, 0x0326a4ad, 0x0149712a, 0x002ec2ab}}, Y: Field{[10]uint32{0x00a2f975, 0x00e4940f, 0x00bffe79, 0x03e8c59c, 0x00895a5a, 0x00a5f68d, 0x00d201f7, 0x0151e63b, 0x0053c583, 0x003a9a67}}}, + {X: Field{[10]uint32{0x02718dc9, 0x03b4ce8d, 0x023de4ae, 0x0136c044, 0x03e1e58b, 0x02bf8044, 0x028eb197, 0x03f30353, 0x02c8e4ee, 0x001e4242}}, Y: Field{[10]uint32{0x00fae7c5, 0x00c8ac47, 0x0008b963, 0x02dc2ea4, 0x02dd36af, 0x0366aa95, 0x01816cbc, 0x016e3c4f, 0x022b9190, 0x003aaadc}}}, + {X: Field{[10]uint32{0x0360c7d1, 0x025a531f, 0x01ad2a26, 0x039f35dd, 0x028dd71d, 0x01526e99, 0x003dbbce, 0x01ed5470, 0x01ade9f9, 0x0039df20}}, Y: Field{[10]uint32{0x02d72449, 0x01607ca0, 0x006d34ec, 0x03dc70a6, 0x03631470, 0x03aa0550, 0x03c3b323, 0x004c8717, 0x0078eef8, 0x000eb3c5}}}, + {X: Field{[10]uint32{0x01ccf6b0, 0x03ece915, 0x01341501, 0x02ba8b51, 0x003d633d, 0x037b61f3, 0x018878e3, 0x014473cb, 0x00e9dbce, 0x00378ad7}}, Y: Field{[10]uint32{0x01100666, 0x00a7adc4, 0x018bb348, 0x016b198c, 0x0065b8c4, 0x02c68dd1, 0x03717e98, 0x038386ef, 0x02f3d3c3, 0x003c415d}}}, + {X: Field{[10]uint32{0x03c03c56, 0x005182c4, 0x0258b26b, 0x02977919, 0x0329659c, 0x03048485, 0x0259fbd7, 0x028bf87a, 0x01ffd491, 0x00341ef7}}, Y: Field{[10]uint32{0x03405ce7, 0x00fd830a, 0x02ea76be, 0x03fe330b, 0x0161d963, 0x00778135, 0x01c40e2a, 0x025f743e, 0x0308cd3c, 0x002cab51}}}, + {X: Field{[10]uint32{0x036a4d51, 0x036ad06e, 0x0025710e, 0x01710d2e, 0x010f8da4, 0x025b3a38, 0x025ec4c3, 0x005abcdd, 0x027c5d30, 0x0020900f}}, Y: Field{[10]uint32{0x03463b19, 0x024bab5e, 0x03c1b11e, 0x03313b19, 0x0199ab6c, 0x00fa1014, 0x016baddb, 0x02dd9d11, 0x021be27c, 0x00034259}}}, + {X: Field{[10]uint32{0x010680cf, 0x032d219d, 0x0023f438, 0x00f65507, 0x01930f93, 0x0132bd36, 0x03faa58c, 0x009bd498, 0x0131fbd6, 0x003ab70c}}, Y: Field{[10]uint32{0x0087a914, 0x0253fc4b, 0x01a74360, 0x02770de4, 0x01a388fb, 0x01cb5740, 0x024b36c9, 0x02a25d71, 0x03b1c9b4, 0x0034f25d}}}, + {X: Field{[10]uint32{0x007987d9, 0x03ca427f, 0x038ac609, 0x0172ddf9, 0x0336bdd6, 0x019d23d3, 0x018a4b38, 0x03fc9314, 0x025f6758, 0x000e40fb}}, Y: Field{[10]uint32{0x002be83b, 0x03f8ab86, 0x028dab0c, 0x0061249e, 0x018d222a, 0x0348d1d2, 0x0115934b, 0x01075902, 0x014ea152, 0x0003a486}}}, + {X: Field{[10]uint32{0x03e6a5d9, 0x007e2096, 0x00e9323e, 0x010f6efe, 0x015759c3, 0x026a7c86, 0x035bdccf, 0x01228e11, 0x037839ab, 0x0034200e}}, Y: Field{[10]uint32{0x00582f0b, 0x012a4999, 0x01d24289, 0x01b39474, 0x0004ecf0, 0x00e2ebe9, 0x02ec15fb, 0x0325fa84, 0x0180ff29, 0x000b30ec}}}, + {X: Field{[10]uint32{0x00567ed0, 0x018a3ef0, 0x02c19215, 0x008f6a39, 0x018496dd, 0x033e2f81, 0x013a5aea, 0x01d26685, 0x0096b18a, 0x0007d5bc}}, Y: Field{[10]uint32{0x039dff58, 0x004f2d0d, 0x000d51fc, 0x03d06a4f, 0x01c94189, 0x02d9735a, 0x00044360, 0x03d2420c, 0x038a3b52, 0x003fbc8a}}}, + {X: Field{[10]uint32{0x038e213b, 0x03f016d8, 0x032974e0, 0x033f3c80, 0x0079e947, 0x008d2a8c, 0x006f5250, 0x01d0cb8e, 0x01b1a4a4, 0x000767da}}, Y: Field{[10]uint32{0x00d4ccbb, 0x00575bb9, 0x0372041f, 0x02cf4fdb, 0x005438d5, 0x00ac7689, 0x00500c3a, 0x001d86ce, 0x0017949c, 0x0036263b}}}, + {X: Field{[10]uint32{0x03629efd, 0x016a773e, 0x008b1aeb, 0x01537200, 0x00552133, 0x01719eb4, 0x03c43610, 0x032de04b, 0x01134d9d, 0x00004a32}}, Y: Field{[10]uint32{0x03e67c96, 0x01060602, 0x036e45ff, 0x0393b1bd, 0x02c160c8, 0x00267598, 0x03259360, 0x00984365, 0x014add15, 0x003fb8f9}}}, + {X: Field{[10]uint32{0x011a9685, 0x0038f643, 0x011fc49c, 0x015238b1, 0x00301f28, 0x01d581d7, 0x00b8d519, 0x02e53491, 0x012f5a95, 0x00087b00}}, Y: Field{[10]uint32{0x00de08ae, 0x0237864f, 0x00162d12, 0x029bf57f, 0x027418ed, 0x02527ca3, 0x03fef716, 0x0125fd31, 0x010577af, 0x000b7bc8}}}, + {X: Field{[10]uint32{0x02331cc5, 0x008a0d8f, 0x0311c584, 0x039df6be, 0x00761c3b, 0x031f3f1d, 0x0080e894, 0x022f0279, 0x0202fb9d, 0x001a23d4}}, Y: Field{[10]uint32{0x03302cd3, 0x02708631, 0x03d9462d, 0x02be27ba, 0x001a393e, 0x00900d0d, 0x007cabd9, 0x01069cbb, 0x015963b5, 0x0025ae9f}}}, + {X: Field{[10]uint32{0x03f02baf, 0x034ead3d, 0x03f682e4, 0x03bc3a2e, 0x010744d0, 0x0029434d, 0x0314c300, 0x02a3d6cc, 0x02ea1cb9, 0x003ed727}}, Y: Field{[10]uint32{0x03630418, 0x015fa77e, 0x02af0911, 0x0331f949, 0x006868e0, 0x01717a57, 0x028bd269, 0x031547ec, 0x0044e18f, 0x000a7ee2}}}, + {X: Field{[10]uint32{0x02c03421, 0x00d89732, 0x0380de0b, 0x03b1ed48, 0x01593168, 0x012a7787, 0x01f6a5d8, 0x02b8fcbd, 0x03e22eed, 0x003c51e7}}, Y: Field{[10]uint32{0x02764606, 0x015acb88, 0x02131cb8, 0x003120d4, 0x01c0b463, 0x03ef4d06, 0x0350d1a3, 0x022e084e, 0x015d2fd8, 0x0006990b}}}, + {X: Field{[10]uint32{0x031a7950, 0x0171ecaf, 0x0165a69f, 0x01eca261, 0x0200f60f, 0x03f83bfe, 0x005b0e09, 0x025dd24f, 0x01c5e819, 0x00089cfb}}, Y: Field{[10]uint32{0x027bda12, 0x02b8e7bf, 0x03530906, 0x03f13d42, 0x00b64691, 0x021254d6, 0x031a1df9, 0x01e364a7, 0x02388fd9, 0x002ceba8}}}, + {X: Field{[10]uint32{0x03ef5214, 0x0016b5e6, 0x0285656f, 0x03d2c518, 0x03496d59, 0x02ce768b, 0x03d10b32, 0x010de2d1, 0x000c3050, 0x00267e12}}, Y: Field{[10]uint32{0x0264b2cd, 0x029eb998, 0x0215171d, 0x00df9398, 0x02d930e4, 0x02d6aa67, 0x00bd397c, 0x010a1a36, 0x015d8e22, 0x00380075}}}, + {X: Field{[10]uint32{0x016a6f1f, 0x0195aea6, 0x03635bc9, 0x03561fd5, 0x0209c000, 0x024f2190, 0x00fdfc69, 0x004a035d, 0x017fe475, 0x0000e089}}, Y: Field{[10]uint32{0x0351d474, 0x01caab62, 0x019731c6, 0x00e78d96, 0x0130dbfa, 0x01ad7c7e, 0x01a4f1da, 0x032c1899, 0x033dfe52, 0x0030b71c}}}, + {X: Field{[10]uint32{0x00efb24b, 0x01179ffb, 0x034526e1, 0x03e7db57, 0x0262e5ea, 0x02b3211e, 0x01f4e1b2, 0x00e1af91, 0x02329125, 0x0008e84d}}, Y: Field{[10]uint32{0x016854c0, 0x0057d566, 0x03a6f49f, 0x01c0dcd2, 0x01413cc3, 0x03dc557c, 0x03817a1a, 0x02e888af, 0x037e0643, 0x00244a5d}}}, + {X: Field{[10]uint32{0x01149f0b, 0x002b0d5e, 0x039d48a3, 0x00f71102, 0x008cf559, 0x031737b5, 0x01791a18, 0x01937a8d, 0x026058a6, 0x0019967a}}, Y: Field{[10]uint32{0x02f2199d, 0x0031b5ac, 0x031ffc82, 0x036394d3, 0x035300d1, 0x010bf1b0, 0x007b69e7, 0x020dbecd, 0x0305a85d, 0x000ab731}}}, + {X: Field{[10]uint32{0x03a939fc, 0x0299f746, 0x01033037, 0x021d0508, 0x022899b4, 0x027f4a8f, 0x00e6f6c8, 0x034ed1fb, 0x03c6e1ac, 0x0014b70e}}, Y: Field{[10]uint32{0x03d05746, 0x03a270d0, 0x013e2709, 0x028fb946, 0x031e8f6b, 0x0168f13f, 0x003d9da1, 0x0041fef6, 0x034632ad, 0x00176bac}}}, + {X: Field{[10]uint32{0x01573551, 0x01dac435, 0x034f6173, 0x03add7c1, 0x01693fbc, 0x03251ef0, 0x01189ba9, 0x015d16f6, 0x029793cd, 0x001492ca}}, Y: Field{[10]uint32{0x00c80b71, 0x011b86ef, 0x02ca02d1, 0x0318f7b3, 0x01a6865a, 0x03a28bed, 0x02b92cc3, 0x03ec6a77, 0x01d6cb23, 0x0027a026}}}, + {X: Field{[10]uint32{0x0382756e, 0x01e45585, 0x029976fe, 0x02579641, 0x03525b7b, 0x02583a6d, 0x03e6c3dd, 0x01654e48, 0x01a8e2bc, 0x001cc860}}, Y: Field{[10]uint32{0x022e4823, 0x0318869c, 0x01d84eda, 0x0258523c, 0x03e3c42d, 0x02eba62a, 0x03a193c0, 0x03ac290a, 0x02b35592, 0x000945b1}}}, + {X: Field{[10]uint32{0x0102664b, 0x01c04479, 0x0315d8d5, 0x00f7ddba, 0x0249a7ae, 0x00bbdbf2, 0x038496ac, 0x00e3f7cc, 0x002d926e, 0x002e3a25}}, Y: Field{[10]uint32{0x02faf8eb, 0x00bd7b6f, 0x01d77f79, 0x0105a794, 0x03972486, 0x000c79b1, 0x0270ba22, 0x01623935, 0x016e7dea, 0x001e6435}}}, + {X: Field{[10]uint32{0x0098e4e5, 0x006de5f8, 0x001ae18d, 0x03989e25, 0x0119e744, 0x037733de, 0x00ac11e7, 0x02affdcb, 0x00f63e73, 0x000513a2}}, Y: Field{[10]uint32{0x0021837c, 0x027e0f0c, 0x02b3b4e0, 0x033df70b, 0x01158705, 0x029518cf, 0x018197fe, 0x03195431, 0x03f35df3, 0x00018f36}}}, + {X: Field{[10]uint32{0x003a9081, 0x023bef57, 0x0303975b, 0x024da055, 0x0160e5bc, 0x0271cf8f, 0x016a739c, 0x033638b4, 0x03dc489e, 0x00250db8}}, Y: Field{[10]uint32{0x01a7e59c, 0x002fd80e, 0x02d5e03a, 0x02cace99, 0x038e8d76, 0x02a139fd, 0x02a7806e, 0x01baff46, 0x031f50cb, 0x00051814}}}, + {X: Field{[10]uint32{0x00890db9, 0x01b09d48, 0x01e76193, 0x00177d9a, 0x03e840e0, 0x01c43464, 0x019b01a1, 0x03442d1b, 0x01617a56, 0x00274f09}}, Y: Field{[10]uint32{0x00521ea3, 0x019f38de, 0x02aca044, 0x0337a2bc, 0x001f89ff, 0x00b6a6e5, 0x01fee9b8, 0x03a6f30b, 0x00bc4c4a, 0x001aef70}}}, + {X: Field{[10]uint32{0x03db76c8, 0x02a1418f, 0x01d2d0dd, 0x02a2c398, 0x02d0aca5, 0x0114f13c, 0x00c6ae0b, 0x01fe2f86, 0x0250f51b, 0x000a7e63}}, Y: Field{[10]uint32{0x00e5d28f, 0x0038f1fc, 0x01186df8, 0x00c2b4de, 0x0358a6ec, 0x01016018, 0x02b8b211, 0x000c71cf, 0x00dcae8e, 0x0036bcef}}}, + {X: Field{[10]uint32{0x01c22c94, 0x02bc1d13, 0x02e1a538, 0x014a535d, 0x0217a897, 0x0375811b, 0x0005e311, 0x02a8d806, 0x00c2c71d, 0x00359f4c}}, Y: Field{[10]uint32{0x014f670c, 0x00452ee9, 0x03d969c1, 0x02faabd2, 0x00e87ebb, 0x00b81a33, 0x02e690aa, 0x001ec2e4, 0x00e712c8, 0x00122e6c}}}, + {X: Field{[10]uint32{0x03c81649, 0x019809cb, 0x00334835, 0x02e65e9e, 0x03059aa7, 0x0340e805, 0x032c9b76, 0x030b92dd, 0x03a88ce9, 0x003c8b0a}}, Y: Field{[10]uint32{0x01b7028f, 0x001bf77e, 0x019a3cbc, 0x02a4233e, 0x022d92dc, 0x015c09c2, 0x03a4e0f1, 0x02f85890, 0x0310f190, 0x001aaa79}}}, + {X: Field{[10]uint32{0x02c5f894, 0x00c25a66, 0x034a5eff, 0x03b73f01, 0x0336b722, 0x03bcc8d3, 0x02533c90, 0x01320f94, 0x018d06b9, 0x0003179c}}, Y: Field{[10]uint32{0x02eef436, 0x02cc5983, 0x01d7e642, 0x027b3111, 0x03f7f8ce, 0x02a71412, 0x024e810f, 0x01986775, 0x0051ccfc, 0x00092584}}}, + {X: Field{[10]uint32{0x0144d611, 0x019bdcde, 0x014a2c1f, 0x022cccd5, 0x02c291dc, 0x03e1fb93, 0x0218999e, 0x03adf55d, 0x00aac836, 0x0009aa2f}}, Y: Field{[10]uint32{0x03bcecc9, 0x0331976e, 0x027a6c69, 0x03438667, 0x00e57192, 0x00781d8f, 0x022da29c, 0x01998eb3, 0x01ba0723, 0x00308014}}}, + {X: Field{[10]uint32{0x01fa098c, 0x020cd18b, 0x027aa2c0, 0x03841d93, 0x016bcf65, 0x029925b5, 0x0301ba17, 0x0055166f, 0x0170fb7b, 0x000e238d}}, Y: Field{[10]uint32{0x007be798, 0x0003d7e8, 0x02bdea95, 0x0049176d, 0x0299120d, 0x038d12f9, 0x01561e5a, 0x003fc151, 0x0122a2eb, 0x000b5383}}}, + {X: Field{[10]uint32{0x01250709, 0x03e3dc85, 0x03fca7a7, 0x0070ba95, 0x0200da2d, 0x03aacb1b, 0x0227efa4, 0x01e0f88c, 0x03abb5a0, 0x001a0626}}, Y: Field{[10]uint32{0x007ae856, 0x02e0d34f, 0x00855a0e, 0x005cc34c, 0x003e42d5, 0x0145117e, 0x00954f62, 0x034fea85, 0x01833694, 0x002f4c2f}}}, + {X: Field{[10]uint32{0x012190ab, 0x0364344a, 0x03d42b88, 0x020ff5ec, 0x01ea6ff6, 0x00106289, 0x03b7aa90, 0x01de5659, 0x0023bb34, 0x00190b82}}, Y: Field{[10]uint32{0x03b4000f, 0x018e71fc, 0x00903210, 0x02418eda, 0x01286b46, 0x00e76bce, 0x02748926, 0x0014bf8d, 0x02a786ec, 0x0036dcf7}}}, + {X: Field{[10]uint32{0x00924afa, 0x01a0d719, 0x02027f91, 0x00bf4e61, 0x037f4eff, 0x0225abea, 0x01addea5, 0x015415d4, 0x0281e5bf, 0x0026adba}}, Y: Field{[10]uint32{0x0229bb6c, 0x0001eb1d, 0x02f2b47d, 0x026ca659, 0x03dd951c, 0x03392cf9, 0x0329efcb, 0x02979cbf, 0x02a74870, 0x000e301a}}}, + {X: Field{[10]uint32{0x014a8ee7, 0x020563ba, 0x01a62dd1, 0x0056f780, 0x01e059e0, 0x0227993e, 0x0298248e, 0x03da71c6, 0x01aee567, 0x002c2601}}, Y: Field{[10]uint32{0x0183d221, 0x01eca386, 0x0212c814, 0x02a038f6, 0x03dea885, 0x034882b0, 0x01382eb6, 0x004bbf31, 0x016a7ec9, 0x0018aba8}}}, + {X: Field{[10]uint32{0x0107e6e5, 0x01306f00, 0x03b5a82b, 0x03c25d6f, 0x0291d6b5, 0x020c5a46, 0x018bfbc9, 0x03568d29, 0x025b636e, 0x000f58ca}}, Y: Field{[10]uint32{0x03395a1c, 0x033e8c73, 0x01aef682, 0x0273c581, 0x027a7ee0, 0x032d3525, 0x036ba0f9, 0x005b64ba, 0x009e75bf, 0x0015de91}}}, + {X: Field{[10]uint32{0x00cef707, 0x0069a5d0, 0x0150ab1c, 0x00d4e8db, 0x03b51e36, 0x025ab22e, 0x02db69dd, 0x017fcb3b, 0x03f0f70d, 0x001ae086}}, Y: Field{[10]uint32{0x02d12e5d, 0x00ede271, 0x0347a6d8, 0x02d37e8b, 0x00006371, 0x03377aa5, 0x00286745, 0x03048220, 0x0211993f, 0x001484b3}}}, + {X: Field{[10]uint32{0x01728b23, 0x036e1511, 0x0196c789, 0x00c32476, 0x02dc33b3, 0x03364e53, 0x027740b5, 0x03f82e14, 0x01514496, 0x002fca52}}, Y: Field{[10]uint32{0x0112782c, 0x009cac7a, 0x03baec13, 0x00aaed06, 0x034c53bc, 0x004378e3, 0x03f745c4, 0x0339e8d0, 0x01e5da35, 0x001e42bb}}}, + {X: Field{[10]uint32{0x0175ec80, 0x02d80d47, 0x02f06742, 0x026c453d, 0x024906f6, 0x01126251, 0x0268267c, 0x025a2859, 0x00c382bf, 0x002954d5}}, Y: Field{[10]uint32{0x025962e8, 0x0298c332, 0x00c88179, 0x025b460a, 0x019dd6d2, 0x0337ed6c, 0x03319676, 0x00697ca2, 0x01dc4566, 0x000a026f}}}, + {X: Field{[10]uint32{0x0249a693, 0x03e8d109, 0x019f45a6, 0x02be13d4, 0x03b893f8, 0x03ed2603, 0x03a1574f, 0x020c46ef, 0x0036abcd, 0x003f0054}}, Y: Field{[10]uint32{0x019db819, 0x03d9dafc, 0x00789657, 0x03280f9f, 0x02f5542a, 0x026b34fd, 0x01cd0042, 0x03812ce1, 0x02781946, 0x00343da8}}}, + {X: Field{[10]uint32{0x019a7aae, 0x01e26003, 0x024eab75, 0x01b1447e, 0x0059caea, 0x012bef89, 0x02a799fb, 0x03cd489c, 0x010d9f81, 0x00185910}}, Y: Field{[10]uint32{0x025a7966, 0x031c54fb, 0x01ac0abe, 0x03d7539f, 0x034982ff, 0x016e4e5b, 0x03ee69c9, 0x027f34f2, 0x00800ba1, 0x0024af05}}}, + {X: Field{[10]uint32{0x030b5f2d, 0x003f2145, 0x01fc6faa, 0x01f47b01, 0x016e2591, 0x0060ad3d, 0x00f9a9b3, 0x035cddca, 0x01358de9, 0x003be059}}, Y: Field{[10]uint32{0x007ec595, 0x0320fa9d, 0x03d7e155, 0x03732c71, 0x010f1721, 0x02dbf4cb, 0x0249df88, 0x02a71141, 0x0026403c, 0x00370dc9}}}, + {X: Field{[10]uint32{0x0187a8ed, 0x03029222, 0x032e2642, 0x011a107a, 0x00178c56, 0x01c34b10, 0x0304e681, 0x00db7771, 0x00b989a4, 0x0010a30d}}, Y: Field{[10]uint32{0x02eebe06, 0x00deaf4e, 0x01f4f512, 0x01f9c651, 0x003836f9, 0x010da58d, 0x004dc3e6, 0x01191b28, 0x0158251c, 0x002c7c90}}}, + {X: Field{[10]uint32{0x01417a9e, 0x03f88199, 0x024a55ac, 0x01cdfb69, 0x025f19da, 0x02faef5a, 0x01e62437, 0x0055ed05, 0x0382f909, 0x001bad85}}, Y: Field{[10]uint32{0x00577b72, 0x013bfffa, 0x00c3904c, 0x03b8a43b, 0x02af03ed, 0x026710bd, 0x012f168f, 0x03cac5b2, 0x0146baed, 0x0013f9f1}}}, + {X: Field{[10]uint32{0x0376fa4b, 0x01c718a8, 0x01646e43, 0x01cf4530, 0x03cb6f95, 0x02338c77, 0x03830099, 0x013fb17b, 0x02f1466d, 0x00264b82}}, Y: Field{[10]uint32{0x01f9e825, 0x01a4354a, 0x01ae3871, 0x0398c75e, 0x0150d000, 0x002590d9, 0x001e3a90, 0x025acbac, 0x02691e43, 0x003438f6}}}, + {X: Field{[10]uint32{0x01721d11, 0x0210e0c1, 0x039c3010, 0x000e33d6, 0x00513e99, 0x00925a4d, 0x00f31d11, 0x0001e3c8, 0x024badc7, 0x003fb6d5}}, Y: Field{[10]uint32{0x00157a39, 0x01237bce, 0x00b2fa94, 0x021f5502, 0x02ba26ae, 0x015fc580, 0x015d97d6, 0x010833cb, 0x024957e8, 0x0006a38a}}}, + {X: Field{[10]uint32{0x033b24bd, 0x010c3401, 0x03575e54, 0x009989d2, 0x023e6832, 0x03109245, 0x007088d3, 0x02746049, 0x028a4dd8, 0x003cfc81}}, Y: Field{[10]uint32{0x03a2bfa8, 0x0069fdde, 0x00f0e75c, 0x017f87c7, 0x0312381c, 0x002a9f8c, 0x026ab1ee, 0x03d18850, 0x011900a7, 0x003caaaf}}}, + {X: Field{[10]uint32{0x00a13680, 0x00c1dc8f, 0x02e02b3d, 0x016364f6, 0x015b6aa4, 0x01daa160, 0x024e7c14, 0x028d6637, 0x025e4217, 0x000cae48}}, Y: Field{[10]uint32{0x02133802, 0x00d74396, 0x008a396f, 0x0051cce0, 0x03532462, 0x0341c7a5, 0x0185683d, 0x018d004a, 0x00042685, 0x001d19ba}}}, + {X: Field{[10]uint32{0x02e64a8a, 0x0266e7f6, 0x01c7fc62, 0x024fe893, 0x01ee6c6b, 0x03ad64be, 0x03899792, 0x035ac13f, 0x0287385e, 0x00214022}}, Y: Field{[10]uint32{0x0104a2df, 0x01b8a129, 0x023622ae, 0x023e8943, 0x0284b5b3, 0x0020961d, 0x01569f6c, 0x0015dbee, 0x022b8a5b, 0x0007c9e7}}}, + {X: Field{[10]uint32{0x002effd4, 0x0114bdaa, 0x030e9e44, 0x01883c04, 0x010b8353, 0x03f126ff, 0x00edac7c, 0x02ac2fb2, 0x0033ebbe, 0x00136b1e}}, Y: Field{[10]uint32{0x023c740a, 0x03426a80, 0x001f00cc, 0x02d76e3b, 0x01133dc3, 0x02d08df7, 0x014ada57, 0x02a9a184, 0x0170f230, 0x003f2746}}}, + {X: Field{[10]uint32{0x016dbeeb, 0x03cc40b5, 0x03d71031, 0x010406e4, 0x034b44de, 0x014d77d6, 0x0340226e, 0x01755066, 0x008145a6, 0x0026dd56}}, Y: Field{[10]uint32{0x0089a02d, 0x03674478, 0x00e1fa1e, 0x0185679f, 0x01c15160, 0x036ee8ed, 0x03382907, 0x00dedf26, 0x01710d69, 0x00340c90}}}, + {X: Field{[10]uint32{0x03bc8bdd, 0x00fb66b2, 0x004bdb58, 0x03291877, 0x0198b525, 0x02d9176d, 0x02e6e8b1, 0x029f5e99, 0x02b92592, 0x0006f5b3}}, Y: Field{[10]uint32{0x0229944c, 0x0242b126, 0x01e4e7b7, 0x03955473, 0x015a1c4c, 0x0296dc15, 0x037abb10, 0x022fa922, 0x028784a9, 0x00269677}}}, + {X: Field{[10]uint32{0x015b56ee, 0x03d4d56f, 0x00637268, 0x01f62d11, 0x016b3a3c, 0x03f9e1ba, 0x025b08a7, 0x00250594, 0x02b93b36, 0x00096a2c}}, Y: Field{[10]uint32{0x025f22ec, 0x0393a2e5, 0x0240ac45, 0x02bb7dc6, 0x0045f131, 0x03b1b154, 0x01027e63, 0x01a1ff6f, 0x00f75734, 0x000f1633}}}, + {X: Field{[10]uint32{0x03ed9f5f, 0x02c87945, 0x003c0d88, 0x02aa3695, 0x02bf5a1c, 0x0148975a, 0x01a57671, 0x00fbec88, 0x003327c3, 0x000912ca}}, Y: Field{[10]uint32{0x01f53d7d, 0x027c2ff0, 0x000dbc22, 0x0398110e, 0x0237f83c, 0x00a7d404, 0x02cec92a, 0x02254d6b, 0x02ace48d, 0x0008800d}}}, + {X: Field{[10]uint32{0x025dd1b7, 0x01928d4c, 0x01e64e97, 0x00775ab0, 0x0291f0cc, 0x0159a5e3, 0x0042d13e, 0x01e415ad, 0x000f27b8, 0x001be5eb}}, Y: Field{[10]uint32{0x03433d32, 0x0034ffe7, 0x01c814dd, 0x01697cb6, 0x007e937f, 0x0246ce28, 0x02ce1cc6, 0x031c1c89, 0x030cfac6, 0x0020f1b9}}}, + {X: Field{[10]uint32{0x021dce1f, 0x03120055, 0x02badc94, 0x0352c88d, 0x012d6abc, 0x01153c98, 0x00265cad, 0x0138b6ea, 0x020feb01, 0x001cb175}}, Y: Field{[10]uint32{0x03978fe2, 0x02d03698, 0x00bf0690, 0x02db491b, 0x0397b281, 0x03174eb2, 0x03282163, 0x00658ece, 0x02197ef9, 0x0038c466}}}, + {X: Field{[10]uint32{0x01f33825, 0x0367b435, 0x006ea707, 0x0252aba3, 0x002af32b, 0x0110686c, 0x018659df, 0x000619a6, 0x01a001b1, 0x002a5b4b}}, Y: Field{[10]uint32{0x02513f9f, 0x03a04202, 0x016906c0, 0x01c45aa4, 0x025659ea, 0x0230dc2a, 0x03cfd412, 0x0148d67d, 0x018305da, 0x0019835f}}}, + {X: Field{[10]uint32{0x03e3c4fa, 0x00537156, 0x00875173, 0x009e6431, 0x03d906aa, 0x01d8599d, 0x001d2008, 0x017b3066, 0x03634d81, 0x000b339b}}, Y: Field{[10]uint32{0x02ba4b50, 0x008cc8ef, 0x036e5d3c, 0x01d327b2, 0x01b33cb2, 0x03f4151d, 0x02f997a0, 0x027a446d, 0x00ddbd59, 0x00185484}}}, + {X: Field{[10]uint32{0x0245f0c4, 0x0226f5a9, 0x02f4660e, 0x03f1d628, 0x024558fa, 0x02e354ec, 0x00602d98, 0x034e6766, 0x0084525d, 0x00264ac0}}, Y: Field{[10]uint32{0x00e2f98d, 0x01935869, 0x02a572da, 0x0039657b, 0x02f5a5c7, 0x00508180, 0x005f40b1, 0x0168a631, 0x00d22654, 0x0020f2a6}}}, + {X: Field{[10]uint32{0x03eb7357, 0x03dd9ba6, 0x0388e44e, 0x027ad17a, 0x01c6b0c6, 0x03f52ddf, 0x0361ee43, 0x01867f31, 0x03453089, 0x0010d3be}}, Y: Field{[10]uint32{0x029291ea, 0x027bf08a, 0x01bd001e, 0x03220c2e, 0x0126967a, 0x00db02fa, 0x025586d2, 0x02e4b965, 0x016d01c0, 0x000f6ec3}}}, + {X: Field{[10]uint32{0x03fbc156, 0x037171f8, 0x02b884bd, 0x02271370, 0x00f0dbf5, 0x00fbf8c1, 0x02e47359, 0x00cc1828, 0x01ad2c68, 0x0002885e}}, Y: Field{[10]uint32{0x02033c1f, 0x001ebebd, 0x00b20192, 0x008c21b7, 0x0288a2d2, 0x036d8274, 0x00e6dfab, 0x0005da86, 0x01f8ab98, 0x003b914e}}}, + {X: Field{[10]uint32{0x0305a2e1, 0x00e41ebb, 0x00f146d6, 0x00a999c6, 0x02a445f2, 0x024887bd, 0x012bb400, 0x03851ea9, 0x001ed3e1, 0x000e4d02}}, Y: Field{[10]uint32{0x03b5b3c7, 0x02aca429, 0x0206214f, 0x03f9d4b1, 0x03d3a9fe, 0x03c7a566, 0x01e79d49, 0x006de882, 0x02563139, 0x002f0dc1}}}, + {X: Field{[10]uint32{0x0395d8ef, 0x022381f7, 0x013db396, 0x0388414a, 0x03f1f3f7, 0x03310957, 0x00383546, 0x02e4e401, 0x00e159a2, 0x000d6f09}}, Y: Field{[10]uint32{0x0223ae15, 0x03b42a24, 0x02dfa246, 0x034e2127, 0x00e87e0c, 0x0159c93e, 0x02beb5c0, 0x02636bde, 0x00700a96, 0x0037b87f}}}, + {X: Field{[10]uint32{0x0148127d, 0x0394962e, 0x01b48bc7, 0x0386f2b9, 0x0163aa14, 0x00176399, 0x012a0eef, 0x02d1ce15, 0x035c251f, 0x003d7479}}, Y: Field{[10]uint32{0x037170fe, 0x0084aa1b, 0x036fe92d, 0x03d02fde, 0x03e7d586, 0x00a614a2, 0x0009134d, 0x03c1623d, 0x01bc7044, 0x00389830}}}, + {X: Field{[10]uint32{0x03eb121c, 0x03687301, 0x00f54d12, 0x02cd80d4, 0x03f9617b, 0x02b2ddd0, 0x01170dd6, 0x00a0bc28, 0x02d36fed, 0x003b829d}}, Y: Field{[10]uint32{0x020ba5b1, 0x03debc50, 0x035166db, 0x01612d0a, 0x024e56c4, 0x03e78432, 0x02135eff, 0x02583c39, 0x02dbeba6, 0x003e33f0}}}, + {X: Field{[10]uint32{0x00a689d8, 0x01e43467, 0x01676f94, 0x03d85b69, 0x004d1879, 0x005dd345, 0x00ab377f, 0x01d99057, 0x03cf7892, 0x00278ee1}}, Y: Field{[10]uint32{0x02b3b577, 0x02a39b6e, 0x03482266, 0x025ad151, 0x027a9c2d, 0x006c7c9a, 0x033b0c2b, 0x028ab2c9, 0x0122da3c, 0x003e3cd1}}}, + {X: Field{[10]uint32{0x034868f0, 0x016cc43a, 0x0115286e, 0x031d3d89, 0x0012f409, 0x019ae2d4, 0x005b89ee, 0x010b00f2, 0x016fd089, 0x00389bc9}}, Y: Field{[10]uint32{0x02f210f9, 0x03a2fed5, 0x012f21bb, 0x00fcf13c, 0x033552c2, 0x00f26c49, 0x008c6562, 0x0127e9b4, 0x00d96fea, 0x002eacf1}}}, + {X: Field{[10]uint32{0x011da6c2, 0x01626000, 0x0021cf08, 0x014baa31, 0x01a3f5c8, 0x03c1eaf1, 0x00b67634, 0x020e6345, 0x0046a5d3, 0x0022b1d0}}, Y: Field{[10]uint32{0x0229b3dc, 0x0174c91c, 0x0288e149, 0x02543210, 0x024a71af, 0x00d500b0, 0x00f59160, 0x00c66215, 0x0393f56e, 0x00348329}}}, + {X: Field{[10]uint32{0x01932bd0, 0x01dea495, 0x03a83ac6, 0x02fecb20, 0x02753928, 0x03a074a7, 0x01531a86, 0x0253324f, 0x00956346, 0x0016c038}}, Y: Field{[10]uint32{0x00a99656, 0x00fbf598, 0x032d64bc, 0x00cdd200, 0x0242882b, 0x0003561f, 0x02daf180, 0x03123185, 0x027a8071, 0x00234bc9}}}, + {X: Field{[10]uint32{0x0211f0b1, 0x00d5fe27, 0x02a872c0, 0x026ad3a7, 0x01546ffb, 0x02ca9984, 0x01ae4ba7, 0x0175eeac, 0x00c4080c, 0x00058864}}, Y: Field{[10]uint32{0x02423525, 0x024c0c24, 0x019d8796, 0x00ba6317, 0x01bb8419, 0x00ef731b, 0x006d7a31, 0x022a7396, 0x01041244, 0x0036d788}}}, + {X: Field{[10]uint32{0x01b145b1, 0x0299db21, 0x0236cf26, 0x03726bfd, 0x03476774, 0x001805f6, 0x03f8520e, 0x020fa021, 0x0021b4b3, 0x003daa11}}, Y: Field{[10]uint32{0x0037a3b3, 0x01d2a010, 0x020a80ed, 0x0056fe23, 0x02937172, 0x03a3f87b, 0x03a2da82, 0x01c3b401, 0x01a95967, 0x0014131c}}}, + {X: Field{[10]uint32{0x032dd6e5, 0x01d66a64, 0x0013455a, 0x02795727, 0x0183e591, 0x0127e423, 0x038937da, 0x034f62cf, 0x0142f0b5, 0x0007c0b4}}, Y: Field{[10]uint32{0x01863e65, 0x0220b68e, 0x00348fb3, 0x017d22b8, 0x03fbc903, 0x036df27f, 0x02c2eae5, 0x01b7dd43, 0x03338ed3, 0x0039a972}}}, + {X: Field{[10]uint32{0x0178899f, 0x01889e07, 0x03a0434a, 0x03d44b5d, 0x0268e29b, 0x00d21295, 0x02e38c37, 0x0287fa8a, 0x016bc326, 0x00187d36}}, Y: Field{[10]uint32{0x03b4aab8, 0x00deb4b5, 0x02b38b3a, 0x012cdd79, 0x02217272, 0x00603097, 0x03970216, 0x016b1d93, 0x03386200, 0x001947bd}}}, + {X: Field{[10]uint32{0x01c11616, 0x005f2b8c, 0x019c19c9, 0x00ac6be8, 0x007c7ebe, 0x034a45b8, 0x008a71f8, 0x0179e602, 0x000d623c, 0x002e9f57}}, Y: Field{[10]uint32{0x015f5a51, 0x016c1f6f, 0x00958ce4, 0x039f99b2, 0x01a1ec37, 0x03ecd565, 0x02551530, 0x00fdb1e1, 0x03400d7e, 0x00369027}}}, + {X: Field{[10]uint32{0x025bdb09, 0x01be7464, 0x003c3bb1, 0x029a6af1, 0x01fe5a92, 0x036f0f86, 0x02a68ee6, 0x025df1b9, 0x0190eacb, 0x0022e429}}, Y: Field{[10]uint32{0x035df718, 0x00d4603e, 0x039a92a0, 0x01d760a6, 0x024d01ef, 0x01d1a9d4, 0x02734e1f, 0x0175642b, 0x0342ef65, 0x002973d7}}}, + {X: Field{[10]uint32{0x03f4fe4c, 0x03a6ab37, 0x025b71c9, 0x03ffd56c, 0x01f0d994, 0x02d6b85c, 0x00294a3c, 0x0133f73a, 0x02272191, 0x0021fcd4}}, Y: Field{[10]uint32{0x00babb2f, 0x00930a19, 0x03552dda, 0x00fc88a8, 0x01f26b28, 0x026a44cd, 0x027c1efb, 0x031787ab, 0x01af530b, 0x00331c74}}}, + {X: Field{[10]uint32{0x0377a15d, 0x03bb92b2, 0x0358b6c1, 0x027c61fb, 0x0383d550, 0x014c3c7c, 0x00ffe8a5, 0x014566fc, 0x0136ba40, 0x002bba93}}, Y: Field{[10]uint32{0x00d3ac1a, 0x01581e98, 0x033f78d5, 0x01f738da, 0x0196958f, 0x022aa8a3, 0x03031c24, 0x00f7e1f4, 0x01eae740, 0x0036d58f}}}, + {X: Field{[10]uint32{0x03cc7111, 0x00e2966b, 0x02db62a3, 0x00d95dd3, 0x00d8dda4, 0x02016353, 0x006f1ef0, 0x03ae755f, 0x018d3996, 0x000c03fa}}, Y: Field{[10]uint32{0x00c40e77, 0x01962c8e, 0x025e3a49, 0x009b49c8, 0x01d2e6e2, 0x010eddbf, 0x037913c1, 0x029033e4, 0x00178fdd, 0x00345228}}}, + {X: Field{[10]uint32{0x01c19fdb, 0x0017d0a6, 0x0073aa50, 0x006ddb53, 0x03d01e9c, 0x019d0f93, 0x01095a1f, 0x0051ba0e, 0x035e22cd, 0x0031c02b}}, Y: Field{[10]uint32{0x014b32c0, 0x0151aa86, 0x011d28b5, 0x024b0b54, 0x010d4a30, 0x02dba95a, 0x02b1fc6b, 0x00709c9e, 0x0181b1f0, 0x000ff800}}}, + {X: Field{[10]uint32{0x0350bc60, 0x030dd233, 0x034a5941, 0x01d7e5ae, 0x0194228f, 0x0211214e, 0x02147af3, 0x0104e06a, 0x00e117b9, 0x00340f42}}, Y: Field{[10]uint32{0x0096e31d, 0x001c6cea, 0x000fa10e, 0x01dba451, 0x01f47dd0, 0x015076a3, 0x00bfbfdc, 0x02f314b8, 0x03fd2785, 0x0016c467}}}, + {X: Field{[10]uint32{0x022bd361, 0x017697f0, 0x03832b39, 0x00fb2533, 0x03ea9c98, 0x02be0697, 0x017fadb6, 0x0082e15b, 0x00fa17a5, 0x001b19c4}}, Y: Field{[10]uint32{0x02804941, 0x028e4f3c, 0x00ad64fb, 0x002097b5, 0x01b036a4, 0x00225ec1, 0x01964f3c, 0x0207a906, 0x012636e2, 0x0036d3bf}}}, + {X: Field{[10]uint32{0x03d91bbb, 0x03cfef68, 0x021d9b46, 0x03a653e1, 0x025ea3bf, 0x00229766, 0x02cb900d, 0x01e859ad, 0x02399df4, 0x0035ed70}}, Y: Field{[10]uint32{0x00efe8ba, 0x03565f59, 0x03710cff, 0x0194a702, 0x03a3c8a0, 0x0253ff87, 0x003494d7, 0x03097a72, 0x034e4ab1, 0x003b5e47}}}, + {X: Field{[10]uint32{0x00f66c06, 0x02a7a394, 0x029524ab, 0x008c8d06, 0x0253ff2f, 0x03aaa8fb, 0x01eb8dcc, 0x02054b8b, 0x01ab8f72, 0x00243da6}}, Y: Field{[10]uint32{0x02fce91d, 0x0320b27f, 0x0008e641, 0x0339b98f, 0x00561558, 0x00da487e, 0x006d80ec, 0x004aee75, 0x03a77f53, 0x0022f430}}}, + {X: Field{[10]uint32{0x01fb65cc, 0x02b9c6a3, 0x0344abb9, 0x0338ada1, 0x0137557d, 0x0285bd5a, 0x01eaead6, 0x0370d324, 0x023e3d7a, 0x001343ab}}, Y: Field{[10]uint32{0x03a3de5a, 0x01b8bc87, 0x02a5352c, 0x02641425, 0x026e874c, 0x010aa94b, 0x019a6851, 0x021cc6ea, 0x0006a950, 0x00205ac2}}}, + {X: Field{[10]uint32{0x02f7de62, 0x023df26c, 0x031d0243, 0x0266381a, 0x01689a23, 0x00c54617, 0x034f8153, 0x0212637e, 0x02ddec31, 0x0011b367}}, Y: Field{[10]uint32{0x021f29bc, 0x0211be95, 0x0100810a, 0x01a0491f, 0x03e0d5d1, 0x0204ce22, 0x0164a8bb, 0x01e1d232, 0x01a3d5fd, 0x000ed6f0}}}, + {X: Field{[10]uint32{0x02ff730b, 0x013ae0c0, 0x000aebce, 0x03f88696, 0x00653748, 0x01154b90, 0x0176297b, 0x02aadc71, 0x000e3f6e, 0x00012ab2}}, Y: Field{[10]uint32{0x008c7954, 0x00d4e61b, 0x020509e4, 0x02a53c77, 0x0240d331, 0x02b1a811, 0x03e2dd5b, 0x03d1aa03, 0x000d8014, 0x000f50a8}}}, + {X: Field{[10]uint32{0x002a4114, 0x01a06956, 0x006374bb, 0x03d8bb2f, 0x02e03e96, 0x006664de, 0x01e45730, 0x0270244c, 0x0261b73d, 0x00166fa9}}, Y: Field{[10]uint32{0x01afa47d, 0x038f4b2c, 0x035c130b, 0x026af576, 0x00d9f263, 0x03a24541, 0x01062e78, 0x00b0ba07, 0x03e8ee8a, 0x000c6882}}}, + {X: Field{[10]uint32{0x00ca6037, 0x024d59e4, 0x003385e2, 0x02929387, 0x029ee089, 0x03b1e937, 0x019acd3f, 0x03ba48ac, 0x006588b2, 0x0001ffa4}}, Y: Field{[10]uint32{0x01e5c128, 0x03a4da4d, 0x032a7c69, 0x018f9fb1, 0x002659b7, 0x001d8ffd, 0x01eb3262, 0x00fbac7d, 0x0190c5f4, 0x0037ed17}}}, + {X: Field{[10]uint32{0x01322157, 0x03254625, 0x0262f19d, 0x011fcb20, 0x01f3a5fc, 0x03e3cbf4, 0x00b5e4ac, 0x01e225e1, 0x03913227, 0x0036ce43}}, Y: Field{[10]uint32{0x0290bbad, 0x01872b35, 0x02dc8d5d, 0x0302b7a0, 0x012aaeb5, 0x0298f6c6, 0x00fd7d4d, 0x020c7c25, 0x015b241c, 0x0010d925}}}, + {X: Field{[10]uint32{0x0391ebc8, 0x017501dc, 0x03c29e6e, 0x02980714, 0x00985732, 0x02ba3de3, 0x02a9e615, 0x0066b1f6, 0x0266e5fc, 0x000d3740}}, Y: Field{[10]uint32{0x01dd797b, 0x007a87f1, 0x02ddb661, 0x01ad148c, 0x0077a5db, 0x030ad22f, 0x0013b1d2, 0x03f80398, 0x02d80e73, 0x0030b5ad}}}, + {X: Field{[10]uint32{0x011772ab, 0x038f7c67, 0x004db336, 0x0314ca3e, 0x015e6c7e, 0x01b8bbe5, 0x01fcfbe1, 0x0182374f, 0x032b7e31, 0x003ba9fd}}, Y: Field{[10]uint32{0x014004bb, 0x0034c354, 0x029b88af, 0x015831af, 0x03172195, 0x00e6a9d1, 0x02a6d947, 0x02930d23, 0x00f1ccde, 0x002598b2}}}, + {X: Field{[10]uint32{0x00c391f2, 0x00f9e8e2, 0x007fc10d, 0x0190db64, 0x019376d2, 0x03a1584a, 0x01e412dd, 0x003ace4f, 0x007af1b1, 0x0031abc2}}, Y: Field{[10]uint32{0x00825144, 0x02d2b9d4, 0x00959eee, 0x0090b185, 0x01e5ff98, 0x033faae9, 0x018847a9, 0x01915e2b, 0x022e3185, 0x002ea675}}}, + {X: Field{[10]uint32{0x02ccefc7, 0x0132667f, 0x01518136, 0x02fd434d, 0x02aff37f, 0x032d0fd6, 0x033d034b, 0x015d02ad, 0x03356c71, 0x003ab8d1}}, Y: Field{[10]uint32{0x02fe4703, 0x03998e64, 0x01a9879f, 0x01b6d87f, 0x03968525, 0x02513dd2, 0x02f15d84, 0x03d91735, 0x0075da8b, 0x002e4e1b}}}, + {X: Field{[10]uint32{0x0340438f, 0x0093fdfe, 0x0046165c, 0x038c0764, 0x0241b68a, 0x01392589, 0x039a27e6, 0x023d5013, 0x00250f4d, 0x00129523}}, Y: Field{[10]uint32{0x016f6d10, 0x014bca06, 0x01578382, 0x00570a83, 0x014c2742, 0x038a698f, 0x01e40c67, 0x0233dbbd, 0x0085bd60, 0x002ba7cb}}}, + {X: Field{[10]uint32{0x00f744af, 0x02bcac3b, 0x01a53f43, 0x03678603, 0x03453318, 0x032cf02f, 0x019743d7, 0x0116a3a8, 0x0279dd65, 0x00186495}}, Y: Field{[10]uint32{0x03cb184d, 0x002913ca, 0x011a1726, 0x0075138f, 0x0347fc55, 0x00f92a87, 0x02c062ca, 0x014dcba7, 0x0184d721, 0x00281a0b}}}, + {X: Field{[10]uint32{0x0137ea2a, 0x03c05424, 0x004fe025, 0x02e14bfc, 0x0250267a, 0x01097bd8, 0x03a260d2, 0x02addb53, 0x02869574, 0x003876d7}}, Y: Field{[10]uint32{0x011905a8, 0x010f2054, 0x0277483f, 0x012fed25, 0x00836e20, 0x00318494, 0x01a99a1d, 0x03de8db0, 0x00219fd5, 0x00323abd}}}, + {X: Field{[10]uint32{0x0248c7f1, 0x027498f4, 0x004a7d2f, 0x02473f08, 0x0038e636, 0x007f613c, 0x00ab862a, 0x00e108a8, 0x03ca7392, 0x000c18b2}}, Y: Field{[10]uint32{0x019670cb, 0x03011ff7, 0x02b2cf55, 0x03c7327f, 0x00721a85, 0x038610c4, 0x0289eee1, 0x00a5c373, 0x02570e3f, 0x0023c44b}}}, + {X: Field{[10]uint32{0x01a4f739, 0x00500113, 0x00f4e4e8, 0x03ca5dd9, 0x039da74f, 0x02d4fe54, 0x007a861e, 0x00dbf3bb, 0x03ccaa97, 0x0019f0e4}}, Y: Field{[10]uint32{0x01853203, 0x011f1352, 0x013942d1, 0x03551b1f, 0x0033ac24, 0x03566d49, 0x00009d5a, 0x017f88be, 0x01d09a16, 0x0024f4ca}}}, + {X: Field{[10]uint32{0x0099bf5e, 0x00c213fa, 0x03728f94, 0x02c43a2e, 0x01ac5bc5, 0x0160731f, 0x01a5619d, 0x00861fb9, 0x01f236cf, 0x00319d1c}}, Y: Field{[10]uint32{0x01e2c513, 0x039a1223, 0x00aea62f, 0x00dfeda1, 0x003a533f, 0x0132ef32, 0x03c32477, 0x00c63650, 0x009c787b, 0x001d7243}}}, + {X: Field{[10]uint32{0x00ed1b52, 0x01fa62b9, 0x03070182, 0x03301951, 0x0112143a, 0x0096aab1, 0x033d7a40, 0x02376484, 0x03efd593, 0x00354057}}, Y: Field{[10]uint32{0x00f03d6b, 0x01b0975f, 0x0379f400, 0x0182de63, 0x00e99668, 0x00761177, 0x037c0d65, 0x00dbc570, 0x0216a022, 0x00110c15}}}, + {X: Field{[10]uint32{0x0164f2d2, 0x024a73a0, 0x003b73c1, 0x002473d4, 0x02243ca3, 0x0000bb66, 0x008ed564, 0x0258572d, 0x0365aaa8, 0x002baf2f}}, Y: Field{[10]uint32{0x00b3f019, 0x01f4dff9, 0x01ee535e, 0x015554e6, 0x02a6ee7f, 0x027223a1, 0x020305ba, 0x03b8ad08, 0x025d1a30, 0x0013f07c}}}, + {X: Field{[10]uint32{0x03b30e43, 0x03c03ffa, 0x00d8105e, 0x002ed4dc, 0x01bb8f98, 0x00ca8e74, 0x02d68219, 0x037bbd26, 0x02171727, 0x000572c5}}, Y: Field{[10]uint32{0x000ebd7a, 0x039f4afe, 0x02d93b1f, 0x01ad243a, 0x012dfff8, 0x01cd2cd3, 0x035c1b99, 0x0014ffb8, 0x008287fc, 0x00192b63}}}, + {X: Field{[10]uint32{0x0049c123, 0x000c2013, 0x026986bd, 0x008c18f8, 0x0119fb25, 0x00948468, 0x03b88a55, 0x0359d026, 0x009e8530, 0x00350108}}, Y: Field{[10]uint32{0x00a7a128, 0x03318890, 0x032c562b, 0x02fa28d0, 0x0046ef87, 0x02d68c9f, 0x01062753, 0x017467a1, 0x0168fdb8, 0x000dd8ff}}}, + {X: Field{[10]uint32{0x03ffdd96, 0x03a4e066, 0x02a4ed42, 0x025fd08a, 0x00d40b44, 0x030c9eb1, 0x02330c2f, 0x00a12563, 0x00cf0c23, 0x003ceafe}}, Y: Field{[10]uint32{0x015b0d5d, 0x0083a69f, 0x02061cc7, 0x03b1f33c, 0x01d1dfe9, 0x035e9d88, 0x01076432, 0x00c9f0fa, 0x0305d831, 0x00142187}}}, + {X: Field{[10]uint32{0x00874dea, 0x01ffdbdf, 0x03b4e57b, 0x011b0f92, 0x035cf92b, 0x0146e748, 0x004755a6, 0x036fecfe, 0x00932ee9, 0x001e28ca}}, Y: Field{[10]uint32{0x02c85895, 0x005fdae6, 0x02473b46, 0x02ca4b06, 0x01b3c36e, 0x0257aadf, 0x02ccd874, 0x0087d1ba, 0x003a9667, 0x002496de}}}, + {X: Field{[10]uint32{0x0350cd4a, 0x000c8269, 0x01e8df65, 0x0390fb55, 0x011b7d15, 0x01eed9e3, 0x001ed91a, 0x01be286b, 0x010f5d14, 0x00205948}}, Y: Field{[10]uint32{0x015d260d, 0x02e161e4, 0x0363a384, 0x019a87b6, 0x03859541, 0x00e5b1c4, 0x0145875e, 0x00af732f, 0x013a19e2, 0x003f8e43}}}, + {X: Field{[10]uint32{0x01fe3f09, 0x03295fdf, 0x032f3633, 0x007f3c01, 0x00ba7343, 0x00fbe866, 0x0317dd6f, 0x00f4d337, 0x01e86c2f, 0x001d49a7}}, Y: Field{[10]uint32{0x004805bd, 0x03454f9c, 0x020b1f5e, 0x027c77c6, 0x00f463f3, 0x017ba214, 0x006e3dbd, 0x009fb111, 0x025fd199, 0x002c58a9}}}, + {X: Field{[10]uint32{0x027145b0, 0x01394490, 0x02b38954, 0x02dea405, 0x03c520a7, 0x013ecbfd, 0x01c4e104, 0x0252796e, 0x028fb393, 0x00178db3}}, Y: Field{[10]uint32{0x0011614c, 0x0269381e, 0x03a4e7d3, 0x0170320a, 0x0022074c, 0x0152baa4, 0x01822ced, 0x025a9076, 0x0318292f, 0x001f1039}}}, + {X: Field{[10]uint32{0x02632746, 0x0302dac5, 0x03d25b05, 0x0181db69, 0x01c249d3, 0x02b260f9, 0x0176edc6, 0x02ff1b01, 0x0129fdeb, 0x0032331c}}, Y: Field{[10]uint32{0x00716fb1, 0x01d35e13, 0x01e68e46, 0x02bf53dd, 0x022653fb, 0x014e7fae, 0x011a332c, 0x011261db, 0x00e3a77e, 0x00122a33}}}, + {X: Field{[10]uint32{0x0246973f, 0x0303053a, 0x021dd2d6, 0x022dce0e, 0x03fa8579, 0x038f772b, 0x024d2a9a, 0x00f9b4e4, 0x0336f1ee, 0x0027f876}}, Y: Field{[10]uint32{0x0074f6d2, 0x039db38b, 0x0223e7c2, 0x03b2facc, 0x0343dc55, 0x00084ad8, 0x02d96588, 0x01170257, 0x02a86070, 0x00074d6d}}}, + {X: Field{[10]uint32{0x008ecda2, 0x01c4fd6f, 0x024657c9, 0x036f49b4, 0x01e23648, 0x030d449e, 0x019e02dd, 0x01d239b8, 0x038a3d45, 0x00132a2a}}, Y: Field{[10]uint32{0x023e73da, 0x02a68e53, 0x005cf164, 0x0236ec83, 0x0113b8a6, 0x0021db25, 0x03c9f23c, 0x036e489c, 0x02ad9bb7, 0x00229619}}}, + {X: Field{[10]uint32{0x032060c0, 0x01dbd62d, 0x017b13d3, 0x00607604, 0x03f1f308, 0x006c78a7, 0x01bc7242, 0x0227b173, 0x0150e4a9, 0x00032340}}, Y: Field{[10]uint32{0x0082ebd1, 0x018cd954, 0x0271749e, 0x00cb2c9b, 0x027ac4a7, 0x002c800c, 0x0242a9df, 0x00e9286b, 0x00a4c5a7, 0x00171620}}}, + {X: Field{[10]uint32{0x02f2aa31, 0x03868304, 0x03feafc1, 0x0113c4c2, 0x039e3684, 0x02072620, 0x03e1b7c9, 0x03f79927, 0x017bb4b9, 0x000f5855}}, Y: Field{[10]uint32{0x025b56f9, 0x021e64b7, 0x0228671c, 0x0254c63a, 0x021e2336, 0x01ac70df, 0x0160c90e, 0x02102cea, 0x03ff62cd, 0x0024cc59}}}, + {X: Field{[10]uint32{0x00e69e2a, 0x02bc5a49, 0x00552ccf, 0x03b72d89, 0x03feaada, 0x0170fb47, 0x0078dbb8, 0x0328256d, 0x039ffd44, 0x0019d5a7}}, Y: Field{[10]uint32{0x03eb7fcc, 0x006c9b59, 0x00102feb, 0x037abc3f, 0x03d16619, 0x02b7ec92, 0x01412887, 0x02f4b2aa, 0x0148230f, 0x0018aeca}}}, + {X: Field{[10]uint32{0x0372fbc2, 0x02dd4f9c, 0x01af70f3, 0x0340f3c3, 0x006e3075, 0x0319b6aa, 0x037d2792, 0x0050043a, 0x013edebf, 0x0018c4f4}}, Y: Field{[10]uint32{0x03573ef3, 0x0389ab74, 0x039c2f65, 0x01d2fabf, 0x032839f8, 0x00f81b8b, 0x01754556, 0x0049161a, 0x023050eb, 0x00111884}}}, + {X: Field{[10]uint32{0x01d23968, 0x03f78913, 0x031955e2, 0x03c857c4, 0x03088529, 0x01f1b2ca, 0x023085b4, 0x01ba3343, 0x01e7fbbe, 0x001be3b2}}, Y: Field{[10]uint32{0x0136cd79, 0x0031dbfb, 0x0078dc51, 0x002a0c07, 0x0323e195, 0x0311bbba, 0x003b215d, 0x00febad5, 0x0214523b, 0x0007ed87}}}, + {X: Field{[10]uint32{0x010b7f6c, 0x0301519c, 0x022447be, 0x01638380, 0x0336f0ae, 0x020e6d30, 0x01a0ec2f, 0x0286b2f6, 0x01ac3c5a, 0x0015984f}}, Y: Field{[10]uint32{0x02ca79e8, 0x01ceaa63, 0x0316cf7b, 0x02f775fd, 0x03530908, 0x010d2be2, 0x03233194, 0x0263e40e, 0x03ab86c3, 0x00091c98}}}, + {X: Field{[10]uint32{0x03aee08c, 0x02cf0861, 0x01da041e, 0x02c1a167, 0x0217e91a, 0x0169f775, 0x03e6e57c, 0x01c8644d, 0x01e7b414, 0x00327785}}, Y: Field{[10]uint32{0x038b0009, 0x03eff10f, 0x0370fd8f, 0x02c7d792, 0x0040cc5d, 0x00556473, 0x0111c877, 0x015b437f, 0x02a5cfa0, 0x0031c5e3}}}, + {X: Field{[10]uint32{0x016c0504, 0x01aeff7d, 0x01c48a8b, 0x00b74b77, 0x02f90618, 0x02f9925e, 0x02a4b0f6, 0x017a4390, 0x024a627d, 0x0001d642}}, Y: Field{[10]uint32{0x02c38587, 0x00f38aa9, 0x029f81f9, 0x01d4d4ed, 0x00cc5bd8, 0x02a9192f, 0x017e878b, 0x021d8172, 0x021ab549, 0x00358478}}}, + {X: Field{[10]uint32{0x03e19d6a, 0x025e421f, 0x0173b760, 0x0176fcf2, 0x021fcc55, 0x0076ccd8, 0x00dff728, 0x03815b6c, 0x020fb310, 0x00252c76}}, Y: Field{[10]uint32{0x014fc217, 0x021b78ff, 0x01159852, 0x02723cbf, 0x0045c42e, 0x0392e54f, 0x03a2ab4a, 0x0069580c, 0x013dd5b4, 0x0020c622}}}, + {X: Field{[10]uint32{0x00c9a6cb, 0x039b54a1, 0x011a5f20, 0x0084e385, 0x02d6f8f8, 0x02bb0b3e, 0x007d081d, 0x033bc438, 0x0299bcda, 0x002d6bd0}}, Y: Field{[10]uint32{0x0395448d, 0x0091e6ea, 0x00b2043b, 0x03f42bb7, 0x01c8cf65, 0x004df702, 0x032987eb, 0x02e0b7d5, 0x00078a7d, 0x00302611}}}, + {X: Field{[10]uint32{0x0139c3e3, 0x01da11da, 0x03b0c3c4, 0x01066226, 0x03f8ef61, 0x021460a6, 0x000a153c, 0x01161ce6, 0x01437074, 0x0017d26b}}, Y: Field{[10]uint32{0x007e04eb, 0x0346001d, 0x020f7d01, 0x0251172b, 0x022ae25c, 0x0103f092, 0x0208ae1b, 0x01b0f42e, 0x038520f5, 0x00171034}}}, + {X: Field{[10]uint32{0x007da385, 0x0386e792, 0x01c645cd, 0x02fc9bb2, 0x0216bea3, 0x01a24e50, 0x0230d1ae, 0x03047193, 0x027f88cc, 0x003daec1}}, Y: Field{[10]uint32{0x00288f55, 0x03b5c85e, 0x004fead4, 0x0367cafd, 0x0328dbfd, 0x037792a0, 0x01d4ec8a, 0x025e3362, 0x036d7268, 0x000c5691}}}, + {X: Field{[10]uint32{0x01df6950, 0x03b4affe, 0x03f10bee, 0x0124112c, 0x0152690b, 0x03000115, 0x01aea0ee, 0x00678253, 0x02dec02b, 0x001ed1f3}}, Y: Field{[10]uint32{0x00efe9a6, 0x03b64ef8, 0x01330280, 0x03603084, 0x0353b7cc, 0x015e462b, 0x03ac5a79, 0x037b25ba, 0x01f49bee, 0x0006f369}}}, + {X: Field{[10]uint32{0x0140876d, 0x03f59826, 0x01035a78, 0x0087000a, 0x01182236, 0x035c3d4b, 0x025e1ab2, 0x015b67ad, 0x03f3082d, 0x002e9a75}}, Y: Field{[10]uint32{0x035d393d, 0x01b447e5, 0x02c7684b, 0x00d6b86b, 0x001d1cf9, 0x003b894e, 0x036bdb95, 0x00a2703c, 0x02fd56d5, 0x0017d128}}}, + {X: Field{[10]uint32{0x03d929ff, 0x037f6e5e, 0x0347d1d3, 0x017e5d0c, 0x01fe7ec3, 0x00cc2e8e, 0x03713bf0, 0x03065488, 0x0094d226, 0x0028edc2}}, Y: Field{[10]uint32{0x02ae6135, 0x03013355, 0x00aa593c, 0x00b082ec, 0x01495edf, 0x02ace51e, 0x01ad2e10, 0x016a80d5, 0x03df4275, 0x00017432}}}, + {X: Field{[10]uint32{0x01c804e5, 0x0368df74, 0x0384f0e8, 0x02cd1233, 0x025ae602, 0x003aceff, 0x03e73b52, 0x0207f647, 0x023ebb2d, 0x0031d5b8}}, Y: Field{[10]uint32{0x00df49ff, 0x0044840d, 0x035f8985, 0x02a753ec, 0x025a4fab, 0x02192a60, 0x01f52b29, 0x01ae6f2a, 0x02faedf8, 0x00227d2d}}}, + {X: Field{[10]uint32{0x0271822c, 0x00bba10d, 0x02a00d17, 0x0271b37e, 0x0065410e, 0x030e4127, 0x011c2341, 0x0252afde, 0x00356fab, 0x000d8c9f}}, Y: Field{[10]uint32{0x03ed4c6d, 0x034187f4, 0x0127abe7, 0x00c63096, 0x01eb7456, 0x0253dc0e, 0x0201f04e, 0x0234d7c3, 0x00a4698c, 0x003f8d62}}}, + {X: Field{[10]uint32{0x03dd21bb, 0x0278418d, 0x00c32118, 0x02c61d2c, 0x00b66051, 0x017acabd, 0x02ecf6fc, 0x008c47d1, 0x03be8e37, 0x000edd6f}}, Y: Field{[10]uint32{0x02879908, 0x002a8a56, 0x03c2aea5, 0x02575f46, 0x022e42a0, 0x01e502d3, 0x015e2488, 0x00ce6916, 0x0233e3c3, 0x002e4512}}}, + {X: Field{[10]uint32{0x00d3c5e2, 0x029fdd7c, 0x017b4d92, 0x02f4de6a, 0x035f0272, 0x03e3d11d, 0x015ed721, 0x03a22831, 0x031057b4, 0x00112987}}, Y: Field{[10]uint32{0x02d80141, 0x03785120, 0x00086111, 0x0019b705, 0x02181623, 0x016de4e4, 0x016ec1f0, 0x0011925c, 0x02658034, 0x003a1c3a}}}, + {X: Field{[10]uint32{0x0097fefd, 0x026889c0, 0x00acb74c, 0x039b28a5, 0x011ebed2, 0x03a481bb, 0x00c6fe5c, 0x00f02809, 0x02f70066, 0x00046b80}}, Y: Field{[10]uint32{0x03d6a36f, 0x01f4a337, 0x0024bd69, 0x019a5039, 0x01a4e357, 0x01c108b3, 0x008737ae, 0x03ecc140, 0x0387a262, 0x0018d686}}}, + {X: Field{[10]uint32{0x02142f5c, 0x0021728f, 0x01981069, 0x03c84175, 0x008e987a, 0x02cc6cdf, 0x02ab1b0a, 0x017450b9, 0x010adfb2, 0x0031d44c}}, Y: Field{[10]uint32{0x02821014, 0x0250eebb, 0x018864df, 0x00752f30, 0x02ccca85, 0x039a1716, 0x00485a4b, 0x005ea7c4, 0x01d8ed27, 0x002918c3}}}, + {X: Field{[10]uint32{0x03efe46a, 0x02f76dfb, 0x02f7f790, 0x00ac3856, 0x00a639b7, 0x03ac94db, 0x0357b173, 0x03ce7105, 0x03c64009, 0x003ffd35}}, Y: Field{[10]uint32{0x025080e5, 0x01d91433, 0x02dc6e89, 0x01af6b5f, 0x014c110d, 0x024a92ec, 0x030697a2, 0x008b4440, 0x018e0ffe, 0x001a529e}}}, + {X: Field{[10]uint32{0x03f90534, 0x03233a70, 0x00d18c06, 0x0068c495, 0x0300932b, 0x03350dc1, 0x031e8bc1, 0x027d1ba4, 0x0239c13c, 0x001f5dba}}, Y: Field{[10]uint32{0x03e415bb, 0x00727fa2, 0x026d4d2a, 0x022ce696, 0x024cee43, 0x01163245, 0x007cf7c3, 0x00f63cd3, 0x02ba8f0a, 0x002f052c}}}, + {X: Field{[10]uint32{0x0207ad39, 0x00c3a557, 0x037e8a67, 0x017a097d, 0x01625fda, 0x00c2aaab, 0x00807075, 0x0393cdbc, 0x02d2ca6a, 0x002dbbf2}}, Y: Field{[10]uint32{0x01b1c765, 0x00864e6f, 0x005f00a4, 0x00687d90, 0x02469430, 0x00fa9ab5, 0x036f4a32, 0x034c9c0f, 0x00ef8a56, 0x00121a36}}}, + {X: Field{[10]uint32{0x0233a32e, 0x032a9b8d, 0x02b4ae30, 0x02ab034a, 0x0348e38f, 0x01d501b4, 0x03f9050e, 0x03129b4d, 0x012aa889, 0x0006812c}}, Y: Field{[10]uint32{0x0075911d, 0x01baf237, 0x02966c24, 0x0005ebe1, 0x0221e1c8, 0x039fa827, 0x0017dca3, 0x023641b2, 0x008ffad3, 0x003d0e83}}}, + {X: Field{[10]uint32{0x03209b7e, 0x02ab5460, 0x02a6c531, 0x00016935, 0x03b70e25, 0x0323b777, 0x0078b126, 0x0146413a, 0x00fe9b34, 0x002b6bac}}, Y: Field{[10]uint32{0x037522ad, 0x032c0e74, 0x03173f33, 0x03bf19e4, 0x02b1c59d, 0x02639bb7, 0x00c6b4e1, 0x00a69c23, 0x016ddd4d, 0x000ac9ac}}}, + {X: Field{[10]uint32{0x006e0679, 0x013ae20b, 0x010d19a9, 0x00961183, 0x00d97fa1, 0x0358c9d9, 0x012121d2, 0x03cff2d4, 0x02023931, 0x00013932}}, Y: Field{[10]uint32{0x00537467, 0x0208b461, 0x00348515, 0x005fc965, 0x02cc917b, 0x00a3accc, 0x00c68609, 0x029b2515, 0x02cd3704, 0x003be43b}}}, + {X: Field{[10]uint32{0x011e2971, 0x030821f0, 0x02a220a7, 0x02b2b700, 0x035654ec, 0x00e7d80e, 0x01b5ee41, 0x0304e9c4, 0x0279df69, 0x00287cf0}}, Y: Field{[10]uint32{0x02a16b2d, 0x0148eb6d, 0x023b2252, 0x035ea2a4, 0x02e8aafa, 0x03bf88c9, 0x03699165, 0x01e375fb, 0x039454cb, 0x0015c925}}}, + {X: Field{[10]uint32{0x0398c7a5, 0x004f8339, 0x003c4f4b, 0x0321a9a4, 0x03c19424, 0x03259d7f, 0x030c911b, 0x01a39bd2, 0x03814886, 0x002ab1db}}, Y: Field{[10]uint32{0x00dd2978, 0x029cb461, 0x03189588, 0x00dbac9d, 0x02c37595, 0x00d826f0, 0x011df3f7, 0x01f5b04e, 0x02dfdd6c, 0x00092b85}}}, + {X: Field{[10]uint32{0x00034769, 0x036dc074, 0x030a2a5b, 0x025a8578, 0x010ddce4, 0x012639b2, 0x03601666, 0x008bc378, 0x0171e596, 0x001c3a50}}, Y: Field{[10]uint32{0x0103b757, 0x0113c684, 0x0257d5e2, 0x02ef3d1a, 0x02446111, 0x00803e4a, 0x004d4e80, 0x032fbcae, 0x00a775a9, 0x0035b5f0}}}, + {X: Field{[10]uint32{0x02c78890, 0x023825a3, 0x002b6f28, 0x01ad6e0a, 0x03342670, 0x01aac711, 0x02fa849c, 0x01124925, 0x01e711d4, 0x003285f9}}, Y: Field{[10]uint32{0x03ce2c2e, 0x00bcfa22, 0x034105e3, 0x03b938a0, 0x00e6c58f, 0x005f4cb3, 0x039f501e, 0x01dee376, 0x02322ce5, 0x002cf775}}}, + {X: Field{[10]uint32{0x03aa62e8, 0x018c928b, 0x025717ec, 0x0006357f, 0x00255ec0, 0x0290eae7, 0x000700f3, 0x03f7a1ab, 0x018d8d70, 0x000685a9}}, Y: Field{[10]uint32{0x02710c27, 0x003ac746, 0x017e116c, 0x03cde8e2, 0x00dc2eb6, 0x015f074c, 0x03bc1372, 0x03c28f75, 0x02ba65af, 0x003cb2cb}}}, + {X: Field{[10]uint32{0x00b9d4f2, 0x02438ca5, 0x0301e981, 0x01eb8f97, 0x012dd335, 0x02acab04, 0x01c6bbf5, 0x037c430a, 0x02650b4d, 0x0023cb77}}, Y: Field{[10]uint32{0x034c6afb, 0x024ff937, 0x01f5d804, 0x016f4c9e, 0x0179df33, 0x01647df3, 0x02954bd8, 0x00db5413, 0x00f7e5a7, 0x00381ae3}}}, + {X: Field{[10]uint32{0x00950162, 0x0376a401, 0x018c5a3a, 0x0215b223, 0x00ba1d72, 0x0336cd59, 0x014562e0, 0x00f9f203, 0x0153f821, 0x000cc52d}}, Y: Field{[10]uint32{0x0043532d, 0x02a87e7f, 0x00c24fc4, 0x018804eb, 0x02b4dab4, 0x00f2b547, 0x00a7434e, 0x031543e5, 0x005ee3f7, 0x000cfa0f}}}, + {X: Field{[10]uint32{0x01304000, 0x00f16e89, 0x026062af, 0x0153b8ad, 0x03fa5895, 0x01229f30, 0x01b11a33, 0x0030bff1, 0x02f465ac, 0x001f041f}}, Y: Field{[10]uint32{0x035702c5, 0x0398fba5, 0x0124b508, 0x01e708fc, 0x0289b5a9, 0x015b4d97, 0x027fe78e, 0x001c1741, 0x03122e8a, 0x001ad6f3}}}, + {X: Field{[10]uint32{0x03e4f8b3, 0x01a95296, 0x00cb97b7, 0x0014dac8, 0x0019be46, 0x01565b42, 0x01e257ee, 0x037d9d44, 0x0029325a, 0x003a462a}}, Y: Field{[10]uint32{0x032fa8ae, 0x032481f3, 0x00ebfa9d, 0x03bc0ffc, 0x01b70af0, 0x00846705, 0x03a8f0d1, 0x014b0f86, 0x00a0b461, 0x0006a4bc}}}, + {X: Field{[10]uint32{0x01b9b079, 0x032533d0, 0x015d1e3f, 0x01f4b3a8, 0x01c346c9, 0x038c2720, 0x02dd2e3b, 0x0292e7a4, 0x0203d4f3, 0x0021dc36}}, Y: Field{[10]uint32{0x03123c03, 0x03a10b6a, 0x0005a10c, 0x01847ed4, 0x0053f964, 0x013d5feb, 0x01372fe6, 0x00f55c63, 0x030fdc63, 0x00340950}}}, + {X: Field{[10]uint32{0x00d8b22b, 0x012ab56b, 0x03ea1731, 0x01c318a0, 0x01a6589f, 0x02ef00e7, 0x026a57f6, 0x00955ec4, 0x013fae2b, 0x0031ad2b}}, Y: Field{[10]uint32{0x00d29bfe, 0x006bfeb6, 0x036fb46e, 0x023b3cf1, 0x0385f288, 0x01270e37, 0x01f278de, 0x00d048d7, 0x01cd2c1c, 0x003a148f}}}, + {X: Field{[10]uint32{0x03a86e14, 0x0232dc0d, 0x039689c8, 0x006c786a, 0x01462274, 0x03e1c586, 0x03b1e91f, 0x03e610dc, 0x01486ffb, 0x0026b3b6}}, Y: Field{[10]uint32{0x00b352d9, 0x01fd6482, 0x012cde8e, 0x03b29aa1, 0x0316e1e7, 0x02527074, 0x003cc321, 0x00c77ffd, 0x031f1b4c, 0x0035e9fa}}}, + {X: Field{[10]uint32{0x039007f3, 0x0153d7c6, 0x0322b87c, 0x015780e2, 0x01b08bf0, 0x03a2b29a, 0x034015b1, 0x036ad313, 0x036ffccb, 0x002bd454}}, Y: Field{[10]uint32{0x03130f7b, 0x03e12791, 0x027ef00c, 0x02ddc0e8, 0x00cbe813, 0x02ec74c2, 0x03fa85ba, 0x01fb3d27, 0x034c95c0, 0x002daec2}}}, + {X: Field{[10]uint32{0x01823ce2, 0x00bb94c4, 0x00c3e5bb, 0x03e8608e, 0x0156e02f, 0x01707249, 0x0045a092, 0x02aed5bf, 0x02df3ea0, 0x003b14c1}}, Y: Field{[10]uint32{0x01ee8b99, 0x004a100b, 0x009f6898, 0x02ff6507, 0x009457f4, 0x00f242f6, 0x00653524, 0x0197d060, 0x01b6720f, 0x00325433}}}, + {X: Field{[10]uint32{0x032d90a0, 0x0366ebb9, 0x00d876c5, 0x02320779, 0x03587f46, 0x024590d8, 0x0397ecd5, 0x01ef1868, 0x00a5be12, 0x000a4ec7}}, Y: Field{[10]uint32{0x0235d821, 0x01bdd36e, 0x0261bae2, 0x0090f463, 0x010443a5, 0x01d9218f, 0x03d81d91, 0x027c17a4, 0x030f238e, 0x00120840}}}, + {X: Field{[10]uint32{0x00865488, 0x007d21ad, 0x003c1256, 0x01088bbe, 0x00168771, 0x01a2ff04, 0x0151f0ee, 0x01aadaca, 0x037d9987, 0x003af952}}, Y: Field{[10]uint32{0x01381c07, 0x01bbae1b, 0x03c47924, 0x02835206, 0x0158d84f, 0x02090bd4, 0x0299d91b, 0x0200bfe9, 0x011ccaf8, 0x000a8759}}}, + {X: Field{[10]uint32{0x0064acdc, 0x03671a4d, 0x019dfd38, 0x00951174, 0x0133ac83, 0x00a74366, 0x0220109b, 0x035a6fb4, 0x01233ab0, 0x00223ddd}}, Y: Field{[10]uint32{0x03276702, 0x00a0b2f2, 0x00d5b79a, 0x01651670, 0x038e0590, 0x03b1afaf, 0x02a2cb1a, 0x017bd4c7, 0x0122fbd9, 0x0023e454}}}, + {X: Field{[10]uint32{0x02b3bb01, 0x005cd668, 0x0039fb81, 0x02e5ba51, 0x03c7fa40, 0x03afa5e5, 0x036cfa08, 0x00376276, 0x013de721, 0x0007611d}}, Y: Field{[10]uint32{0x01f41ad6, 0x029e187c, 0x0260dabf, 0x00ce7cd0, 0x012e889c, 0x01503121, 0x000b6d6f, 0x029361d1, 0x035aba53, 0x003dcd82}}}, + {X: Field{[10]uint32{0x011d4b2f, 0x033bed4c, 0x01e1c27f, 0x00f979d0, 0x0336f82a, 0x02ce2338, 0x01ae032c, 0x020b073c, 0x01f5176f, 0x000679a7}}, Y: Field{[10]uint32{0x03d5c143, 0x016ee9b2, 0x016e00b9, 0x02bd6ed2, 0x0309d9f7, 0x030745ec, 0x0175dc8c, 0x014efaf8, 0x00fec9ba, 0x0031007d}}}, + {X: Field{[10]uint32{0x02e3f2c9, 0x00d5332b, 0x0372953d, 0x01790ab7, 0x0119b04f, 0x01fca6a9, 0x01a93995, 0x0097ff7c, 0x0202c1f1, 0x001cc627}}, Y: Field{[10]uint32{0x0137f704, 0x00270069, 0x01424010, 0x00710407, 0x00d901de, 0x0390180e, 0x01d21b01, 0x01f3e188, 0x008f1c6e, 0x0014ae3a}}}, + {X: Field{[10]uint32{0x0087a74f, 0x0095ba4a, 0x0366901c, 0x02c296b9, 0x03278fd2, 0x01d1fc74, 0x038956cb, 0x02a2fd4b, 0x00828ff1, 0x00317af8}}, Y: Field{[10]uint32{0x01259860, 0x03c736f3, 0x033823ef, 0x0075b026, 0x02c506e5, 0x035cdad7, 0x0397dc92, 0x012e606a, 0x00b962e7, 0x00033963}}}, + {X: Field{[10]uint32{0x0182da76, 0x02815892, 0x01166435, 0x019f20ee, 0x011a7808, 0x02f220f5, 0x016feed3, 0x0038050a, 0x0221f799, 0x001e0f05}}, Y: Field{[10]uint32{0x0236da30, 0x0158f862, 0x03bc622f, 0x01d2f57f, 0x01f52245, 0x03ae0067, 0x0165c3e8, 0x02271a71, 0x03e2c9a1, 0x0000dc2c}}}, + {X: Field{[10]uint32{0x022b3305, 0x0267dbfe, 0x015794d7, 0x032cb1c7, 0x01fad66f, 0x0294dc87, 0x024cbd64, 0x01a9185c, 0x02800ccc, 0x0015579f}}, Y: Field{[10]uint32{0x004e9e41, 0x036980fd, 0x030eb63b, 0x00242cc9, 0x02db9b48, 0x023f9b75, 0x035ed312, 0x01c10863, 0x0165d39d, 0x0019eefc}}}, + {X: Field{[10]uint32{0x00243471, 0x0084e950, 0x0150a4b0, 0x02932b37, 0x030faa40, 0x010b1ac6, 0x028467e2, 0x0351b3c7, 0x0226ab1c, 0x00103126}}, Y: Field{[10]uint32{0x03dadf86, 0x0204fd8b, 0x0296bdc2, 0x00c19fd3, 0x03ad55bf, 0x00d08930, 0x039fdb4c, 0x0188bf82, 0x03005002, 0x0005a542}}}, + {X: Field{[10]uint32{0x03935298, 0x02d8bdb5, 0x021627c8, 0x009835df, 0x02473062, 0x0164f1d1, 0x0010b9f5, 0x02346272, 0x03e5db09, 0x003adace}}, Y: Field{[10]uint32{0x015c5bc8, 0x01d3c380, 0x022fb9bd, 0x01c512f8, 0x00c84e96, 0x00073b72, 0x01902317, 0x01bd707e, 0x01843f35, 0x000f4a55}}}, + {X: Field{[10]uint32{0x02b26091, 0x019c3397, 0x03ca903f, 0x00da6813, 0x03a06835, 0x034186d4, 0x020a0734, 0x0305a472, 0x00a42b55, 0x0005dc86}}, Y: Field{[10]uint32{0x03a5fa42, 0x02da432c, 0x00f4eced, 0x01c9d67c, 0x02057e0e, 0x017a2e5e, 0x017f243e, 0x02f1cddc, 0x021aa8a3, 0x00258459}}}, + {X: Field{[10]uint32{0x03d2a680, 0x020e99e3, 0x02be37f8, 0x018a2c1f, 0x02ea0c37, 0x009f099e, 0x0028c001, 0x017e29f4, 0x03a2f3bc, 0x002106a3}}, Y: Field{[10]uint32{0x012cf1b0, 0x00b53cd1, 0x0289d9a4, 0x02313e6e, 0x00052693, 0x0236ef73, 0x00577128, 0x007dde80, 0x037db2fd, 0x0015e6fc}}}, + {X: Field{[10]uint32{0x02dea82d, 0x0142985b, 0x01691322, 0x02735f94, 0x00358578, 0x00e6714f, 0x001421da, 0x01fc7b20, 0x01543a37, 0x002c07bd}}, Y: Field{[10]uint32{0x01a90265, 0x000802c9, 0x009eb962, 0x0347998e, 0x0082e119, 0x01e8dfc5, 0x03626a00, 0x02cbc4eb, 0x00e97e29, 0x000a3cc3}}}, + {X: Field{[10]uint32{0x00f38904, 0x006c2b01, 0x029a6259, 0x01f02ce2, 0x00ba344e, 0x03e32646, 0x02e70d6e, 0x03190c5f, 0x014e8e3c, 0x002e4f80}}, Y: Field{[10]uint32{0x000ac3d3, 0x027f2549, 0x001f72b2, 0x03b702b8, 0x00d0b368, 0x00bfe26d, 0x03152e10, 0x034431af, 0x01855bdf, 0x00004a70}}}, + {X: Field{[10]uint32{0x03acd522, 0x02fd5201, 0x0137305f, 0x031a2b20, 0x01a00601, 0x01b58c62, 0x000a1dd2, 0x00366bfe, 0x02f243c5, 0x00383d09}}, Y: Field{[10]uint32{0x02b749fc, 0x0035c177, 0x02d1e143, 0x00abac92, 0x021c1938, 0x033ce70a, 0x00bd848c, 0x037178c1, 0x03e0951a, 0x0025b620}}}, + {X: Field{[10]uint32{0x0073233c, 0x03aa6de7, 0x03df2147, 0x0052ceee, 0x00d5379f, 0x00ee7b01, 0x030adda6, 0x025eb4a1, 0x007440e8, 0x003847a7}}, Y: Field{[10]uint32{0x01c1f019, 0x03c2881b, 0x016c5cb9, 0x013767cf, 0x01e125e3, 0x0388b8d6, 0x01a9df03, 0x01d4c8fd, 0x014b2919, 0x001275b9}}}, + {X: Field{[10]uint32{0x016b2c2b, 0x03d9e9ea, 0x0191c79c, 0x01c26b11, 0x02ae38ee, 0x00009f30, 0x0396eca2, 0x03c514ed, 0x004b0c5e, 0x00246b56}}, Y: Field{[10]uint32{0x030bac2a, 0x030729d4, 0x001e23e9, 0x025fb3a1, 0x01565dfd, 0x017670f1, 0x0379e5db, 0x0314c447, 0x0213a620, 0x00360568}}}, + {X: Field{[10]uint32{0x0299f8d2, 0x01011850, 0x033dabfe, 0x00708c0f, 0x01103297, 0x02cc8bcd, 0x0013785c, 0x00d3c81d, 0x0392f4fa, 0x000f9c94}}, Y: Field{[10]uint32{0x0308ae85, 0x0088f95d, 0x0039e042, 0x015de256, 0x014e0c1d, 0x0241fbe9, 0x01482176, 0x03bb57cd, 0x02515add, 0x00238c8e}}}, + {X: Field{[10]uint32{0x01a98160, 0x03d5e411, 0x039bced4, 0x026e6808, 0x0191d911, 0x02a18fcd, 0x03c00acf, 0x0226ad20, 0x02c201a5, 0x0017a1ef}}, Y: Field{[10]uint32{0x02e7d47b, 0x009408fc, 0x032633a8, 0x00734335, 0x0233625f, 0x03f0e69b, 0x02f3c159, 0x01707e7a, 0x038433c7, 0x002a228e}}}, + {X: Field{[10]uint32{0x0268a0ed, 0x03e87234, 0x00f32489, 0x003b494b, 0x01da1826, 0x013a6642, 0x01cb6524, 0x00ecd5d2, 0x02132cb9, 0x0030b821}}, Y: Field{[10]uint32{0x008a5761, 0x00360aa3, 0x007644ed, 0x01934169, 0x0328e02e, 0x015381dc, 0x03038d68, 0x00d97751, 0x03ad1f16, 0x0034fcb8}}}, + {X: Field{[10]uint32{0x031978af, 0x005ee9c3, 0x0025c745, 0x034392e4, 0x023b9053, 0x0077650c, 0x02193c23, 0x0261a5ec, 0x005eccf0, 0x00264c13}}, Y: Field{[10]uint32{0x009dc789, 0x00066a88, 0x02111338, 0x03cc7836, 0x00ba1324, 0x00f74128, 0x03e77e34, 0x004e59bd, 0x027b638b, 0x003b9dfe}}}, + {X: Field{[10]uint32{0x00c5c6bc, 0x004c8aad, 0x02b1d1c2, 0x000d9435, 0x0325a79f, 0x027be256, 0x01f04f70, 0x03ecdd94, 0x00c559ad, 0x00103842}}, Y: Field{[10]uint32{0x039db653, 0x039192d9, 0x02b2cfc5, 0x02ae8253, 0x00210eb2, 0x011ffbd1, 0x02ff3f8c, 0x03992212, 0x03385733, 0x0022602a}}}, + {X: Field{[10]uint32{0x00c6a78a, 0x03ab3722, 0x01aca5bb, 0x037725c4, 0x006d6276, 0x03d4237d, 0x00315287, 0x001c8483, 0x02572d19, 0x00263220}}, Y: Field{[10]uint32{0x01a61c92, 0x0399dad0, 0x03256f3e, 0x003b8230, 0x00b57f27, 0x0341443a, 0x02ea7f48, 0x017fef44, 0x01761f5c, 0x001746aa}}}, + {X: Field{[10]uint32{0x00af6fed, 0x036ac818, 0x03740c05, 0x002601bf, 0x02d7b4cf, 0x005b0deb, 0x00eeab7a, 0x008c1ae1, 0x027a25e9, 0x000e26ae}}, Y: Field{[10]uint32{0x0065707e, 0x003b3db4, 0x01c13d6f, 0x00dcd7d8, 0x0049c326, 0x004aca64, 0x032ed608, 0x038ba34d, 0x00c9ec48, 0x0019ceac}}}, + {X: Field{[10]uint32{0x0253df17, 0x014fbab2, 0x03732614, 0x02ab94e6, 0x026619ea, 0x017c46ce, 0x02fda62e, 0x0255ba4f, 0x03ba832c, 0x00277193}}, Y: Field{[10]uint32{0x005990ac, 0x02ebf6bd, 0x0089f956, 0x0326520e, 0x038f60a9, 0x0228d63b, 0x0267ad8d, 0x02ac4290, 0x00a93c56, 0x000602ce}}}, + {X: Field{[10]uint32{0x024921f7, 0x0270557f, 0x008a9675, 0x00334f54, 0x03b3439b, 0x02d9c1ea, 0x003528b8, 0x030b0d88, 0x0218e758, 0x001c4463}}, Y: Field{[10]uint32{0x02104ee0, 0x01e78a2a, 0x0000b5ec, 0x03df8732, 0x0176bf22, 0x0046d4b4, 0x0108719f, 0x013a7192, 0x02f12c1b, 0x0030bd86}}}, + {X: Field{[10]uint32{0x02c3d096, 0x02ecaa0f, 0x0224245c, 0x008d94c6, 0x0146218b, 0x02b717f4, 0x00e09909, 0x03cf1249, 0x01ee11b9, 0x000cef3b}}, Y: Field{[10]uint32{0x00fbad0a, 0x0015f56b, 0x03e9d655, 0x023578c5, 0x03f83b3e, 0x011a53f6, 0x01a71f6f, 0x0319ce50, 0x011a6c22, 0x00057d2f}}}, + {X: Field{[10]uint32{0x0213ccb4, 0x02c83713, 0x031d0e66, 0x0101d661, 0x01fbd977, 0x00bf6e95, 0x021e5cb6, 0x03a7c7c5, 0x033a4ab5, 0x0012d666}}, Y: Field{[10]uint32{0x023fb523, 0x020a6752, 0x034232b1, 0x0268b1b7, 0x006c9601, 0x02cd0851, 0x03064119, 0x009cae2d, 0x01da9035, 0x0018d40e}}}, + {X: Field{[10]uint32{0x01269d10, 0x010d96c8, 0x03627569, 0x0368d7a5, 0x02decb8d, 0x0144d809, 0x038f6429, 0x0132a506, 0x034cdae5, 0x00067daf}}, Y: Field{[10]uint32{0x033c95d7, 0x024b1933, 0x03f3da1c, 0x01ad8274, 0x036cb31a, 0x02c9d40b, 0x00bca48d, 0x001b7099, 0x03dc090b, 0x0028930f}}}, + {X: Field{[10]uint32{0x0301314c, 0x03751bc6, 0x0267a058, 0x01d6c5de, 0x028a2708, 0x02b41ceb, 0x0229adf7, 0x034537d9, 0x01a98027, 0x002f0f7c}}, Y: Field{[10]uint32{0x008d1f76, 0x02cc2ae0, 0x005e7b6b, 0x0195dc1d, 0x01934450, 0x03645462, 0x0233e898, 0x00741cbb, 0x029154f5, 0x0026774e}}}, + {X: Field{[10]uint32{0x01d72c3c, 0x012a795f, 0x0285e1ea, 0x00793768, 0x02c34ef3, 0x0306b97d, 0x025f5b5a, 0x01c3a134, 0x0264521a, 0x0025de90}}, Y: Field{[10]uint32{0x039f5a0c, 0x03a6ca8a, 0x0041b4fc, 0x01a0cb87, 0x01dbf44f, 0x03500ff2, 0x0025b61c, 0x00bf9341, 0x00197aab, 0x003c6ff2}}}, + {X: Field{[10]uint32{0x01c9b339, 0x004b1a43, 0x01b47a1c, 0x0044f89c, 0x00098b26, 0x02b71ec7, 0x014a7f58, 0x01694cfb, 0x024a85fc, 0x0017f7f7}}, Y: Field{[10]uint32{0x02c6555a, 0x0113d245, 0x02b1ce97, 0x0222cbdb, 0x01731c25, 0x01bec92e, 0x011bad52, 0x02539825, 0x03afbd6a, 0x000fb7ca}}}, + {X: Field{[10]uint32{0x01e9c50d, 0x000508fa, 0x007476ce, 0x02fe089a, 0x00afc17a, 0x03edf6e3, 0x02c1ac50, 0x022bf3ba, 0x032cdcd2, 0x002e2f35}}, Y: Field{[10]uint32{0x03c55e9d, 0x01144940, 0x026dbf2c, 0x038da9d5, 0x039cb6d0, 0x01dc694f, 0x03d9f2f3, 0x03015e6e, 0x03c52e6d, 0x0002098c}}}, + {X: Field{[10]uint32{0x01f75c77, 0x02290700, 0x01c728be, 0x03a769cd, 0x01721bc2, 0x03a51959, 0x01d01eb6, 0x030def19, 0x0199133b, 0x001b082e}}, Y: Field{[10]uint32{0x00b71e53, 0x037c4550, 0x03f20cf6, 0x0129e717, 0x015e36f4, 0x0296b91d, 0x0342aa47, 0x000db897, 0x0274d8ad, 0x000832bd}}}, + {X: Field{[10]uint32{0x015adb07, 0x03246b4c, 0x03a7022b, 0x03e858ed, 0x03f877b5, 0x00ba4677, 0x00e4bf2f, 0x017c54e7, 0x01416965, 0x002ef924}}, Y: Field{[10]uint32{0x03f93a1e, 0x01dba732, 0x036ac40f, 0x01fc3b21, 0x01a77b84, 0x02e3f029, 0x02b5ff6d, 0x0348f231, 0x00256618, 0x002334f8}}}, + {X: Field{[10]uint32{0x01e73786, 0x00531a19, 0x00c752fe, 0x02bb4e60, 0x03bf6dfe, 0x015905cd, 0x0339bbbc, 0x01d2fc1f, 0x0078e383, 0x001d22cc}}, Y: Field{[10]uint32{0x02811ac8, 0x032533ca, 0x02eb28f3, 0x02c18a5e, 0x03ea86b6, 0x005ff211, 0x01f2c802, 0x037e891c, 0x020a61a7, 0x001fdf2b}}}, + {X: Field{[10]uint32{0x0364e4b4, 0x03522fb1, 0x000bcd23, 0x024b414b, 0x005d39d5, 0x009cb3da, 0x015728b2, 0x00956518, 0x03c5b89a, 0x003e98f1}}, Y: Field{[10]uint32{0x00a47c8a, 0x01f5a4a3, 0x01d31fbe, 0x035972d3, 0x01804724, 0x0359f410, 0x0238a506, 0x02758387, 0x03a27751, 0x003130ca}}}, + {X: Field{[10]uint32{0x0056c91c, 0x014e1c73, 0x024446c9, 0x02c1c38f, 0x0386978e, 0x02520c52, 0x025ea13d, 0x038e028d, 0x0197d014, 0x0030bb5c}}, Y: Field{[10]uint32{0x026a595e, 0x03700791, 0x0007009b, 0x02ddcdf7, 0x033404bd, 0x022e6c3e, 0x0054a09d, 0x033463de, 0x0293e7c1, 0x00171cf0}}}, + {X: Field{[10]uint32{0x03c266be, 0x03fa1c9b, 0x03ab5f22, 0x00130367, 0x026c2b3a, 0x03cfa001, 0x0334e846, 0x002f5b0b, 0x01efcb1e, 0x00094530}}, Y: Field{[10]uint32{0x024e3eb3, 0x007b2531, 0x01ad069a, 0x0376333e, 0x02507c35, 0x017d9bb1, 0x00443466, 0x02cb67fe, 0x006c07bb, 0x0031682b}}}, + {X: Field{[10]uint32{0x02286350, 0x01bbe513, 0x0081df6b, 0x03ff25a8, 0x00e2318b, 0x028e10f2, 0x01d2e289, 0x011fc963, 0x03050116, 0x0016f01f}}, Y: Field{[10]uint32{0x03bcbea4, 0x03e16afa, 0x02c66a41, 0x01947844, 0x017a91c4, 0x0096136d, 0x007d059f, 0x03bc1236, 0x00931217, 0x00084f38}}}, + {X: Field{[10]uint32{0x023cad8a, 0x0285cc66, 0x03dd8862, 0x00d7da80, 0x03db9c13, 0x01eb9193, 0x0173f706, 0x016c0e29, 0x02429737, 0x003b6d5b}}, Y: Field{[10]uint32{0x01ef5fa7, 0x01111fc5, 0x01f2e531, 0x014c7660, 0x00358620, 0x009bcef9, 0x038414a4, 0x03551986, 0x027016f8, 0x0034f986}}}, + {X: Field{[10]uint32{0x03d5d732, 0x0323675c, 0x03d55817, 0x023b435d, 0x02684908, 0x0380a191, 0x03609982, 0x019204ef, 0x036e7826, 0x000a4949}}, Y: Field{[10]uint32{0x0287296f, 0x004ff926, 0x02d22622, 0x004c8375, 0x0184b332, 0x02ec33b8, 0x032d755d, 0x0262773a, 0x03a6a97c, 0x003d4c55}}}, + {X: Field{[10]uint32{0x03c0a034, 0x039027a6, 0x0337fa69, 0x01e70ebe, 0x01912863, 0x00dc067a, 0x02098829, 0x03d294dc, 0x01d5bda0, 0x000b115e}}, Y: Field{[10]uint32{0x02f7d99c, 0x032a4d17, 0x0315c336, 0x019ec6e6, 0x02a319d4, 0x00c41ef2, 0x01acd23f, 0x030f1195, 0x034dd889, 0x0038542f}}}, + {X: Field{[10]uint32{0x00808904, 0x0221516a, 0x00b3d056, 0x02e109a6, 0x02025f21, 0x02bcc60c, 0x02295870, 0x03e1daef, 0x020011f9, 0x0017c982}}, Y: Field{[10]uint32{0x02e02350, 0x01cea263, 0x03a9b534, 0x013b60e8, 0x01736fe6, 0x001bab0f, 0x00d2ce00, 0x02a87de9, 0x0232164c, 0x001ab4ce}}}, + {X: Field{[10]uint32{0x02ac4b8b, 0x016935ed, 0x011000d6, 0x01a7a221, 0x029d1f2c, 0x00fecf5a, 0x02fd430f, 0x017b2414, 0x00c61209, 0x000eeeef}}, Y: Field{[10]uint32{0x010b0c97, 0x03e7ea95, 0x019487e4, 0x032ea8ed, 0x0240d244, 0x03256076, 0x01b090f8, 0x029b9f6d, 0x00283846, 0x0000ca3a}}}, + {X: Field{[10]uint32{0x016acff0, 0x02e76065, 0x0117daff, 0x032998b6, 0x02343e80, 0x03088bd2, 0x009af44b, 0x0363bffb, 0x027bdd0f, 0x00126140}}, Y: Field{[10]uint32{0x038affda, 0x005b088e, 0x0065468c, 0x0053fa05, 0x03460b10, 0x009c5a88, 0x01561b5f, 0x01b904c1, 0x012e37a3, 0x00162fbf}}}, + {X: Field{[10]uint32{0x03959de7, 0x0098f559, 0x0359b92e, 0x03300386, 0x006e826e, 0x000ecf73, 0x01eb2d88, 0x0022466d, 0x00e8d2e3, 0x0008518e}}, Y: Field{[10]uint32{0x0232342a, 0x0350793d, 0x03dd8ad9, 0x03c72379, 0x02dc22c0, 0x03d7f270, 0x02e0454f, 0x0078a4d6, 0x01216f13, 0x00027762}}}, + {X: Field{[10]uint32{0x02f3cfdd, 0x00013db9, 0x01f35444, 0x0041a455, 0x016876c1, 0x0197828c, 0x023532b9, 0x00b5abcf, 0x03055ced, 0x001b3b61}}, Y: Field{[10]uint32{0x02546ec6, 0x03ad5bdf, 0x00ac0a83, 0x000665ff, 0x0355b17c, 0x0079abb9, 0x03ba4e2a, 0x0155be2d, 0x02abc86f, 0x003d46c6}}}, + {X: Field{[10]uint32{0x01dcfacb, 0x007221b2, 0x0172730a, 0x03901086, 0x017fc3ad, 0x0216746b, 0x02634987, 0x024db38c, 0x0267876c, 0x0025405b}}, Y: Field{[10]uint32{0x02f4f660, 0x02ece49a, 0x03160742, 0x00bcb90f, 0x034df723, 0x004016ea, 0x03d284b8, 0x019bbbfe, 0x00c4e6e2, 0x000a679e}}}, + {X: Field{[10]uint32{0x026f23f2, 0x0054c67b, 0x00763513, 0x003e76cc, 0x00c513d2, 0x030e633c, 0x02a8019f, 0x0070e710, 0x02c83040, 0x0012fb19}}, Y: Field{[10]uint32{0x038514fc, 0x02c9cd64, 0x003d58e8, 0x028550ff, 0x034fcded, 0x0224a718, 0x01aa9162, 0x0118261c, 0x02923b7d, 0x003c77ff}}}, + {X: Field{[10]uint32{0x008a59c7, 0x03b69e21, 0x03bb27f3, 0x03bd6ac9, 0x019088c4, 0x00394eb9, 0x000015a6, 0x00ee5dab, 0x03d14051, 0x002d4144}}, Y: Field{[10]uint32{0x01c36399, 0x016252e6, 0x0084129a, 0x0326999d, 0x01dc9282, 0x02de1b33, 0x03254c51, 0x039b08fe, 0x02e51182, 0x00271072}}}, + {X: Field{[10]uint32{0x0290708d, 0x005564ed, 0x00c003e4, 0x01149bcc, 0x01d1df38, 0x02a482b2, 0x029bda38, 0x0280e5a9, 0x02533989, 0x00165e49}}, Y: Field{[10]uint32{0x02ba648f, 0x03b40bc6, 0x00bab3a3, 0x02ce5eb9, 0x034c750c, 0x027b99cd, 0x02561921, 0x021f6d79, 0x00b72748, 0x001fcb05}}}, + {X: Field{[10]uint32{0x01eacf6f, 0x00dc1581, 0x02dd34db, 0x03e4fb05, 0x01251cc7, 0x0245b599, 0x00fe2b3e, 0x00aa4d1e, 0x0366cf01, 0x001ee8ad}}, Y: Field{[10]uint32{0x016404bb, 0x02cc47e1, 0x02a6903f, 0x0230b212, 0x003dcc7e, 0x03a2f745, 0x01212865, 0x01e630dc, 0x0138f950, 0x00053f62}}}, + {X: Field{[10]uint32{0x02b5d6bb, 0x00f7e6fa, 0x013a71c4, 0x008959af, 0x017f9e9d, 0x027a0e73, 0x0147af8a, 0x024367f2, 0x02fef69c, 0x000c18bc}}, Y: Field{[10]uint32{0x02f5ee58, 0x025caf01, 0x02bbaad9, 0x0350868d, 0x02064047, 0x0364a9c5, 0x01e7b719, 0x01b505ff, 0x00334991, 0x0036e12a}}}, + {X: Field{[10]uint32{0x00b06e74, 0x0230bf55, 0x00ce3db3, 0x021f8c9f, 0x00f6fae6, 0x02d119c0, 0x034d695c, 0x03b229df, 0x009d69db, 0x003b57e5}}, Y: Field{[10]uint32{0x018930e3, 0x00bfafcb, 0x019fdee6, 0x008fc566, 0x032a6907, 0x026542f2, 0x0104ff92, 0x00f54194, 0x0060057b, 0x0011c938}}}, + {X: Field{[10]uint32{0x021b7cdc, 0x01c39181, 0x028d3d71, 0x01427af5, 0x0030e129, 0x01ab3004, 0x01312fea, 0x0209d83a, 0x02033002, 0x00135957}}, Y: Field{[10]uint32{0x00ea99bb, 0x03b948c4, 0x00d0b7bc, 0x02789e33, 0x00439957, 0x027a5fc1, 0x01e046b6, 0x01526cbd, 0x01226c27, 0x00243bf0}}}, + {X: Field{[10]uint32{0x02f1b35d, 0x019beaba, 0x0260dbf1, 0x02030d46, 0x0368e05e, 0x0120fe56, 0x029edf4a, 0x03bfb342, 0x0356b888, 0x003dad81}}, Y: Field{[10]uint32{0x00a5fb8c, 0x008a8f4e, 0x01df6bfd, 0x023c2f39, 0x00cb57e9, 0x02bebe6c, 0x0096b241, 0x005611aa, 0x02bdaa78, 0x0009efb7}}}, + {X: Field{[10]uint32{0x03c55748, 0x00c06228, 0x00b516ca, 0x00e23f1f, 0x008c81c5, 0x0235ba8b, 0x004db945, 0x0288ddcb, 0x00aa942b, 0x0033164b}}, Y: Field{[10]uint32{0x03288158, 0x0144b476, 0x0307c63d, 0x02c75900, 0x01bb6bd2, 0x00d870fc, 0x0277d100, 0x015820db, 0x03cd358e, 0x000db8bd}}}, + {X: Field{[10]uint32{0x02c1a456, 0x0280cbfd, 0x00edf6a7, 0x01865db4, 0x00f93721, 0x03b7d0c1, 0x023acb8c, 0x011a6086, 0x01dca5bb, 0x0012b2ea}}, Y: Field{[10]uint32{0x02262437, 0x0393a154, 0x021669ca, 0x00aa5cbc, 0x01d6fb30, 0x02ef40b3, 0x032287e9, 0x011fccf9, 0x003ab2ab, 0x002cdba6}}}, + {X: Field{[10]uint32{0x03061f91, 0x011b76fa, 0x0072d974, 0x00f612a5, 0x017be363, 0x02e73a58, 0x010e0c61, 0x01e74cad, 0x005e0422, 0x00322946}}, Y: Field{[10]uint32{0x03d4b5cb, 0x02348b66, 0x000ff3c3, 0x0347fd97, 0x01cdb7cb, 0x019a3bac, 0x00c1df74, 0x00626f59, 0x00b7445e, 0x0033ea94}}}, + {X: Field{[10]uint32{0x035f18f9, 0x02c41074, 0x0120e052, 0x002197e3, 0x01535faf, 0x0277842b, 0x01168a88, 0x03d844d9, 0x016707f4, 0x00307255}}, Y: Field{[10]uint32{0x00033749, 0x02ae5052, 0x027eb537, 0x0384dc23, 0x02543919, 0x015bd11c, 0x02fc1eb9, 0x01ad8c26, 0x003b3d95, 0x000d3def}}}, + {X: Field{[10]uint32{0x0236a8f3, 0x006b9474, 0x038fa8df, 0x01a3cf87, 0x028bb68d, 0x00fdf495, 0x02093703, 0x01cdbad2, 0x03b736f6, 0x00237d3e}}, Y: Field{[10]uint32{0x0102122c, 0x01ddd917, 0x00c81229, 0x03ddc1dc, 0x00cef6b0, 0x006ece14, 0x007af267, 0x00b400e6, 0x01fe8e9a, 0x000f5c61}}}, + {X: Field{[10]uint32{0x025af3dd, 0x02a979aa, 0x00297c2b, 0x02db47af, 0x01c2c8bb, 0x011d4047, 0x02a1ec0c, 0x01f2e3ca, 0x01f0e35c, 0x0000358d}}, Y: Field{[10]uint32{0x03a51a2f, 0x01a00f1e, 0x006435e3, 0x0264614f, 0x03441e5a, 0x0241eb97, 0x0190a5b5, 0x03a2cc6a, 0x02bdc588, 0x0000249b}}}, + {X: Field{[10]uint32{0x0346a4bc, 0x0181c802, 0x01923d64, 0x0097a2d4, 0x013678b5, 0x0038e381, 0x014ea383, 0x014dd5d4, 0x012d5f86, 0x0002d634}}, Y: Field{[10]uint32{0x03438d3e, 0x01121041, 0x037f648e, 0x0103a920, 0x00d77c9e, 0x0265702d, 0x01d587ce, 0x02eace4d, 0x01835b0e, 0x003ded64}}}, + {X: Field{[10]uint32{0x029a7f36, 0x029db6f6, 0x0178011b, 0x014d9187, 0x0212cb42, 0x01e3a26b, 0x03ad0755, 0x00d903b3, 0x028cb401, 0x002edf1a}}, Y: Field{[10]uint32{0x0036581c, 0x00836852, 0x00ba7d1c, 0x0100c1b7, 0x023c2f5c, 0x01c20a56, 0x0195b835, 0x035861a2, 0x02583774, 0x001f7680}}}, + {X: Field{[10]uint32{0x0114a9e6, 0x00eca60d, 0x03b91968, 0x0065c8b3, 0x02f116b8, 0x03e96dea, 0x00a990a7, 0x0233be77, 0x00f792cc, 0x00053dbc}}, Y: Field{[10]uint32{0x024d7055, 0x01bc840e, 0x000b97b9, 0x017fc8e0, 0x01226104, 0x02cffb2d, 0x00e5aac4, 0x01663243, 0x03927a07, 0x002230d7}}}, + {X: Field{[10]uint32{0x03448541, 0x02ef39dd, 0x014fa76b, 0x034125ab, 0x02fb60f4, 0x015fd2a8, 0x01ad8964, 0x02846177, 0x01f4eb9f, 0x0012e579}}, Y: Field{[10]uint32{0x01e71d21, 0x01c1b451, 0x038f4d27, 0x0023df8a, 0x01502d1f, 0x0004807b, 0x0087f512, 0x032cc6e8, 0x0387513a, 0x00078401}}}, + {X: Field{[10]uint32{0x024b63ae, 0x032f4a8d, 0x01c16dce, 0x01993617, 0x03a7af53, 0x008cd568, 0x004aa312, 0x016cb18e, 0x03c067f7, 0x003a685f}}, Y: Field{[10]uint32{0x027fb8c7, 0x00302177, 0x01ac1956, 0x01a806d3, 0x030a40e0, 0x00ad806a, 0x038fcf01, 0x01148d8b, 0x0388ad67, 0x00108288}}}, + {X: Field{[10]uint32{0x03ff9169, 0x02b55110, 0x0281cf10, 0x010e0cc6, 0x0096d4ff, 0x0020d04c, 0x023d066c, 0x03b2053b, 0x0136f320, 0x0000e761}}, Y: Field{[10]uint32{0x028ca248, 0x01b8d9f0, 0x023be7a7, 0x00d44e9e, 0x00c74345, 0x00152af4, 0x0166a556, 0x03a26183, 0x01e91478, 0x001c3ba2}}}, + {X: Field{[10]uint32{0x03b636e8, 0x036a8f0b, 0x0320e001, 0x024f127f, 0x029f95b9, 0x00dc7389, 0x031dc72f, 0x0135b2fa, 0x00c80862, 0x0025de68}}, Y: Field{[10]uint32{0x00c2712e, 0x00292ae8, 0x03907d23, 0x03629932, 0x03369684, 0x000de482, 0x01a4b0e6, 0x01b14027, 0x03cc6729, 0x00276789}}}, + {X: Field{[10]uint32{0x02f0b401, 0x022d3ed9, 0x01586bd7, 0x007f4559, 0x034a9747, 0x032bcdbf, 0x01c09de9, 0x02d23da9, 0x004a1dab, 0x00335316}}, Y: Field{[10]uint32{0x033446f1, 0x00cd0449, 0x017f0bc4, 0x03b711d9, 0x026fd60e, 0x02b4b0a3, 0x02104b0c, 0x001b8acf, 0x02b10eff, 0x0025640a}}}, + {X: Field{[10]uint32{0x0161aba4, 0x02afba89, 0x0319688e, 0x01957549, 0x02dbeb3f, 0x01cadddb, 0x03164f7c, 0x018b2d44, 0x01f41423, 0x0011b284}}, Y: Field{[10]uint32{0x0034c9ff, 0x00b13569, 0x022f5e83, 0x01198813, 0x01bcfd09, 0x01898f18, 0x036d3cbd, 0x03510b7e, 0x031a2a2a, 0x00201810}}}, + {X: Field{[10]uint32{0x0294a513, 0x030e7622, 0x003b475a, 0x0395fa3e, 0x01eb712d, 0x0000c688, 0x035c7535, 0x018fd5db, 0x01791ffb, 0x0037faf4}}, Y: Field{[10]uint32{0x03be75de, 0x032c6b71, 0x00f0aa71, 0x00b7b2ca, 0x006576af, 0x03df1843, 0x02aa0e22, 0x02d53081, 0x007e39b2, 0x0033fb5b}}}, + {X: Field{[10]uint32{0x012c2469, 0x00e021d7, 0x03fcfe12, 0x0285e59f, 0x0143daf1, 0x028ee53e, 0x0233d9d7, 0x0018ed11, 0x013282fd, 0x0031c719}}, Y: Field{[10]uint32{0x01d376d0, 0x0346d52a, 0x02ba8620, 0x00d94ab7, 0x00f18a47, 0x00eafa50, 0x01f8aed3, 0x01a840e3, 0x03cd0e00, 0x0018bf35}}}, + {X: Field{[10]uint32{0x00c0ff37, 0x022bbdcd, 0x007b1e9f, 0x0107f059, 0x026864ec, 0x0123edd6, 0x02640fbf, 0x02826938, 0x034ddc8b, 0x0018faee}}, Y: Field{[10]uint32{0x024ae28e, 0x01848176, 0x022df772, 0x013dc671, 0x01dbf1ae, 0x01cd82a1, 0x01090e19, 0x01bd2d07, 0x034b0fe1, 0x00396740}}}, + {X: Field{[10]uint32{0x0112814a, 0x00536e77, 0x000bceea, 0x00709c75, 0x01ce6e5c, 0x006d624b, 0x02eac616, 0x02fc5963, 0x00c8cb51, 0x00194126}}, Y: Field{[10]uint32{0x00a65279, 0x0162be59, 0x01e6ee30, 0x0215c2b5, 0x027a6145, 0x02f57452, 0x0057769b, 0x00064c91, 0x03855d8e, 0x0039f999}}}, + {X: Field{[10]uint32{0x03c43fd5, 0x00896a11, 0x0032ac41, 0x02a10304, 0x00090815, 0x0205b7d1, 0x0199c07b, 0x00218e05, 0x003f14c0, 0x00052878}}, Y: Field{[10]uint32{0x01fe98de, 0x03581bcd, 0x02ddb6d6, 0x00e1414c, 0x024926da, 0x02ee3bd7, 0x0366bac9, 0x02a23d1b, 0x0259bc6b, 0x000d4912}}}, + {X: Field{[10]uint32{0x02903c5c, 0x03d4c56d, 0x00f084d6, 0x0056ef54, 0x03a4f14c, 0x004553ff, 0x00f9a167, 0x0287a03b, 0x02b2f6a8, 0x000727db}}, Y: Field{[10]uint32{0x0203a033, 0x0181974a, 0x0187dd26, 0x00f900be, 0x01538638, 0x0143bba6, 0x026fc511, 0x03fd8e6d, 0x01f52ca4, 0x0039af78}}}, + {X: Field{[10]uint32{0x0170f8bf, 0x03c0863e, 0x029d97cf, 0x006b0381, 0x00b43ea6, 0x02c0355b, 0x00809664, 0x039ec41f, 0x02ed0bad, 0x000779c7}}, Y: Field{[10]uint32{0x00ee1434, 0x01f69986, 0x029bb5c6, 0x0176615d, 0x01ea99d6, 0x02def253, 0x00d42e16, 0x03babb5e, 0x02de77ed, 0x0002352c}}}, + {X: Field{[10]uint32{0x035cb4b1, 0x01baaad7, 0x018c35a9, 0x00e420e3, 0x02479f7a, 0x02eeadc1, 0x022f0628, 0x0134baea, 0x0280ce95, 0x003d10ca}}, Y: Field{[10]uint32{0x02d579bf, 0x0286272f, 0x0302cc67, 0x01dca718, 0x0291f3d0, 0x03f024e0, 0x00abf476, 0x0290300f, 0x02adac34, 0x0025bf9b}}}, + {X: Field{[10]uint32{0x0119fb21, 0x022d7a49, 0x00737482, 0x032b0549, 0x01cb37e1, 0x02109046, 0x023d3f96, 0x012bd158, 0x034d1796, 0x0023dc79}}, Y: Field{[10]uint32{0x004865ab, 0x01e15358, 0x0091cec0, 0x008021a7, 0x025b6b17, 0x02fda51b, 0x03678e4e, 0x03292e9d, 0x00dfd7f0, 0x001a643c}}}, + {X: Field{[10]uint32{0x02a6745e, 0x00671271, 0x001a1200, 0x014b3bdc, 0x005a09d0, 0x025aa0e8, 0x01546e20, 0x03097999, 0x01575e3d, 0x00088a4c}}, Y: Field{[10]uint32{0x01c423b0, 0x01bab639, 0x0285986a, 0x020b7bfa, 0x0283d050, 0x02a5072a, 0x012bfae8, 0x01581f1e, 0x00874258, 0x002ab63e}}}, + {X: Field{[10]uint32{0x0248a096, 0x00ea8abc, 0x017c63b7, 0x01a4eb08, 0x00cc57d0, 0x03989d94, 0x02bf5f29, 0x029a6a05, 0x02632ef3, 0x0019617f}}, Y: Field{[10]uint32{0x00fd9f8b, 0x00dea0db, 0x037cc12f, 0x00ff7847, 0x03dc8a89, 0x01bb3157, 0x019ca577, 0x006bfbb7, 0x03bb2028, 0x002082a8}}}, + {X: Field{[10]uint32{0x03f67bf8, 0x007907e4, 0x01339195, 0x00bf9843, 0x01aaec47, 0x02fc18a0, 0x0163ce5a, 0x01472aca, 0x0079e55c, 0x000888c9}}, Y: Field{[10]uint32{0x03f927d2, 0x016a6efa, 0x0104bb7c, 0x0062a359, 0x02888a8f, 0x0304ca68, 0x03f0514b, 0x00b5ff99, 0x03ab2cf2, 0x0003864b}}}, + {X: Field{[10]uint32{0x01df16fc, 0x01f6c097, 0x00f60826, 0x022dc3a6, 0x00446014, 0x02ce5b25, 0x00aba082, 0x001a7af3, 0x02fde4ba, 0x0036a340}}, Y: Field{[10]uint32{0x023fa2bb, 0x01d80879, 0x034d059a, 0x03422d9b, 0x01579756, 0x01e8b993, 0x0167e7c1, 0x0021291f, 0x013de337, 0x00068c08}}}, + {X: Field{[10]uint32{0x02202ebf, 0x02a7c624, 0x02501708, 0x0249e3b9, 0x01ad49e0, 0x01313a2e, 0x038a0066, 0x020b7bc6, 0x0062854e, 0x0029bdcb}}, Y: Field{[10]uint32{0x01d03ba4, 0x00d54dc0, 0x0037edaa, 0x02246a0e, 0x002e2709, 0x008c63bd, 0x03c56abc, 0x0204102d, 0x032db08c, 0x0020d565}}}, + {X: Field{[10]uint32{0x03c7db68, 0x016b8a8e, 0x028ee8d5, 0x033a67d6, 0x02a15077, 0x00df7315, 0x02f8c359, 0x02168171, 0x013a309e, 0x00081d3f}}, Y: Field{[10]uint32{0x022cff97, 0x0387c20c, 0x0182e53a, 0x03a6baa5, 0x023061a4, 0x001aa605, 0x018fc0e8, 0x00f250b9, 0x02eacb78, 0x00384700}}}, + {X: Field{[10]uint32{0x01a1a5e3, 0x0071431e, 0x0106c861, 0x03cc6098, 0x0229aa59, 0x00a92d8b, 0x00d316f6, 0x02a8adc3, 0x0266fae9, 0x00127b55}}, Y: Field{[10]uint32{0x007643f7, 0x02eb1b20, 0x028b6324, 0x0024aa0d, 0x021477c2, 0x0261a59e, 0x000b19ef, 0x0138af73, 0x009aae14, 0x001729f9}}}, + {X: Field{[10]uint32{0x016c1b1f, 0x004d8897, 0x014683ed, 0x03a63864, 0x01b582c4, 0x00dc88cd, 0x03472a71, 0x0393a617, 0x007ea1f7, 0x0008a27b}}, Y: Field{[10]uint32{0x01cbbeb1, 0x0144b2b6, 0x0090261a, 0x022f5c3a, 0x03b03f89, 0x01ff903d, 0x017bff67, 0x00219c14, 0x0318689a, 0x0000478a}}}, + {X: Field{[10]uint32{0x01859164, 0x0273afe1, 0x00635bc4, 0x014bff1c, 0x03fbed0e, 0x022e8ae8, 0x02c64a55, 0x03befb62, 0x02be23f1, 0x003aa14b}}, Y: Field{[10]uint32{0x01cbb824, 0x02a98d50, 0x00fafc97, 0x01456c97, 0x0125ef13, 0x01e93905, 0x0266583c, 0x0298e5cc, 0x0341fe97, 0x002f78bb}}}, + {X: Field{[10]uint32{0x0302f0ea, 0x026f86f4, 0x018553fe, 0x01f6905e, 0x00290b25, 0x03fbc229, 0x001a9548, 0x01f4fc6b, 0x00e67cc0, 0x0015c63c}}, Y: Field{[10]uint32{0x01acbe90, 0x0103b3da, 0x0094fd4e, 0x02828bae, 0x03a6ffca, 0x019169ab, 0x02d8bd53, 0x0175fb9c, 0x015bfca6, 0x00263b13}}}, + {X: Field{[10]uint32{0x03810a4c, 0x03af6492, 0x01ad550b, 0x00fde033, 0x0310269c, 0x01d51638, 0x00f0650b, 0x03f5f7ba, 0x02abd77a, 0x0037d8a8}}, Y: Field{[10]uint32{0x00e4c034, 0x0120a6c2, 0x028cd54c, 0x023a7f22, 0x008d39fe, 0x022198f8, 0x03ea2e95, 0x0349ee02, 0x02cce384, 0x001a9981}}}, + {X: Field{[10]uint32{0x005e6668, 0x01336ba0, 0x039aa497, 0x003bbf5d, 0x039ea7dc, 0x00254239, 0x039bd198, 0x009a2f0c, 0x00454b0c, 0x0004043f}}, Y: Field{[10]uint32{0x016410e1, 0x0197eafa, 0x0001c3fa, 0x03c674f6, 0x02d51194, 0x01adaf4a, 0x030a323c, 0x02d65cac, 0x02db0681, 0x001a1a8e}}}, + {X: Field{[10]uint32{0x035c5c18, 0x0097b5a7, 0x0087bd54, 0x01101e41, 0x02072ca3, 0x0050524f, 0x03e93c96, 0x00e061a7, 0x00527567, 0x0022b1e6}}, Y: Field{[10]uint32{0x01d1c08e, 0x031cb26f, 0x03cec684, 0x03e67496, 0x00775375, 0x027bc7e4, 0x0172e04b, 0x03219f46, 0x0248fcbf, 0x002ecc50}}}, + {X: Field{[10]uint32{0x03848b9d, 0x0321a48f, 0x021605f9, 0x01340866, 0x036f3f17, 0x017c2b78, 0x01f3bf44, 0x031f3b18, 0x031188cb, 0x001583a5}}, Y: Field{[10]uint32{0x01b9cd2f, 0x003bdb74, 0x02277bc8, 0x022b063b, 0x014d133f, 0x01939ba7, 0x03bf21fc, 0x03319efe, 0x02ce6775, 0x0027a4b6}}}, + {X: Field{[10]uint32{0x01fb943a, 0x0241c03d, 0x009fee6d, 0x00bc1fdc, 0x0028eea5, 0x011a6870, 0x015ca088, 0x03ad9b32, 0x02044b95, 0x00231190}}, Y: Field{[10]uint32{0x009d0223, 0x0049c79a, 0x03aa51a1, 0x009654f0, 0x03a34920, 0x03afa965, 0x01b3a615, 0x014604c0, 0x005d7bc2, 0x002fc43f}}}, + {X: Field{[10]uint32{0x031eb5aa, 0x034730a1, 0x013cb4d8, 0x036be1d1, 0x037f2245, 0x0362c0d9, 0x0377247c, 0x022dc4d4, 0x034cf357, 0x0034a4fd}}, Y: Field{[10]uint32{0x024a6f26, 0x02befb69, 0x03423ba7, 0x0352b8d5, 0x03f080e3, 0x02c24143, 0x0245931e, 0x03a8518f, 0x013a61df, 0x0021b080}}}, + {X: Field{[10]uint32{0x03687d35, 0x02f5d135, 0x02aff4c6, 0x029ccd99, 0x01fefbf7, 0x01dbae4d, 0x027611ec, 0x01ec7f1d, 0x0241ae75, 0x000d665c}}, Y: Field{[10]uint32{0x004b2aa0, 0x013e5bf1, 0x01f9c599, 0x03bf3283, 0x022f36e0, 0x02f4e4f6, 0x007fd357, 0x0335330f, 0x021f246b, 0x002f2fa9}}}, + {X: Field{[10]uint32{0x036464eb, 0x00d8095f, 0x006de15f, 0x0316f678, 0x00285a17, 0x013b8d77, 0x01a0ef84, 0x0065f4f0, 0x00977467, 0x00034258}}, Y: Field{[10]uint32{0x013e8783, 0x012dc2ef, 0x0303cd14, 0x01a67a22, 0x023dd448, 0x01e737a7, 0x02954bfc, 0x036e59a4, 0x02a51e06, 0x000d0abd}}}, + {X: Field{[10]uint32{0x0241a777, 0x03e2632b, 0x01470bfd, 0x025c8e89, 0x01621257, 0x0086c3e1, 0x033a3755, 0x03ab59c0, 0x00992aea, 0x0023a1d7}}, Y: Field{[10]uint32{0x03c0bbd8, 0x01ea625c, 0x010c653f, 0x02187b1b, 0x02a5ee66, 0x00c49eb4, 0x020ba101, 0x0066ec13, 0x033d2d2f, 0x00092a89}}}, + {X: Field{[10]uint32{0x02541855, 0x03786e6b, 0x01aee0d2, 0x0110215a, 0x00d622f4, 0x01cb16ee, 0x02f47d81, 0x00e93347, 0x01f30270, 0x002fd474}}, Y: Field{[10]uint32{0x039aa484, 0x0029c433, 0x0030f3c6, 0x00c510cf, 0x005918d9, 0x024d4f61, 0x01e6e409, 0x002b3eef, 0x0352b6c6, 0x0023e078}}}, + {X: Field{[10]uint32{0x0341c26f, 0x02a35320, 0x03aee696, 0x016db372, 0x022ebb11, 0x0020fbd5, 0x032d1415, 0x01a1588a, 0x00620972, 0x001bedad}}, Y: Field{[10]uint32{0x003c9c73, 0x027c182e, 0x02032a89, 0x00c2eb28, 0x01468f25, 0x015e2e91, 0x02923b3e, 0x03367b32, 0x03bff9cf, 0x0027023d}}}, + {X: Field{[10]uint32{0x03617438, 0x0237d8a4, 0x0389d067, 0x01a1acb3, 0x031db56f, 0x03fc117e, 0x026a21fa, 0x03de35f7, 0x02c18b5c, 0x001d560e}}, Y: Field{[10]uint32{0x0369f900, 0x0240d026, 0x0082df67, 0x00526100, 0x02071fe0, 0x0319a725, 0x0237c7d9, 0x011bfc38, 0x022cb085, 0x00209668}}}, + {X: Field{[10]uint32{0x00c0ef92, 0x023fe72d, 0x00f36cdd, 0x038d8404, 0x014aabc2, 0x006ddba5, 0x0051c893, 0x0166b1fb, 0x0133a5d7, 0x00109846}}, Y: Field{[10]uint32{0x01ed4261, 0x00054748, 0x00bf8783, 0x000c3e67, 0x0158cde4, 0x013ae131, 0x038e2bd5, 0x032f3a8d, 0x00ce6b8a, 0x00222991}}}, + {X: Field{[10]uint32{0x02f520d2, 0x00eb78c2, 0x038458a4, 0x025492eb, 0x016dff9c, 0x01c5af71, 0x02e776ca, 0x03e592f6, 0x01bf6128, 0x00090e9b}}, Y: Field{[10]uint32{0x001b7e50, 0x007c6948, 0x0025d609, 0x01368f64, 0x003dda74, 0x024af7ea, 0x0001850e, 0x036d2341, 0x028a5ce4, 0x00098a8b}}}, + {X: Field{[10]uint32{0x00c2ac76, 0x02c4a476, 0x03d58082, 0x00b169da, 0x0046e57e, 0x01f7c56f, 0x01e9307a, 0x031b4810, 0x01751548, 0x00084af4}}, Y: Field{[10]uint32{0x039391bc, 0x032f5dc1, 0x01aaae33, 0x03d1c66a, 0x0257f04e, 0x022c9020, 0x03cc788a, 0x01c9cc99, 0x03c76cc9, 0x00209186}}}, + {X: Field{[10]uint32{0x0161177b, 0x01f05ad3, 0x021fbc1a, 0x011842f5, 0x008ca8a5, 0x022b83b2, 0x00b3e562, 0x01b4aaa8, 0x030b21f9, 0x00369b40}}, Y: Field{[10]uint32{0x023f9fde, 0x02f6f9cb, 0x03d0a1ce, 0x00787aae, 0x012c2aad, 0x02d27b0a, 0x02b85961, 0x000a1d28, 0x02358fab, 0x0016d6f1}}}, + {X: Field{[10]uint32{0x02c1f01f, 0x027d38fd, 0x0010886a, 0x01fb3fa0, 0x004a4313, 0x03ba923f, 0x001e1012, 0x010ec296, 0x02f055a2, 0x003708c2}}, Y: Field{[10]uint32{0x028180ca, 0x03e80f95, 0x018bb950, 0x02ad805c, 0x012eb5a9, 0x00f5ffbb, 0x030120da, 0x011635c0, 0x021be70a, 0x00343e63}}}, + {X: Field{[10]uint32{0x01089df1, 0x01b412ea, 0x00797dc1, 0x01cbc291, 0x00ee9c59, 0x03c8c9a1, 0x00e73b56, 0x031a1a63, 0x023ac815, 0x0020b0b7}}, Y: Field{[10]uint32{0x03b8573d, 0x018b65e4, 0x02432544, 0x0110b07e, 0x010c8598, 0x007f85e3, 0x0253b8ec, 0x033063e8, 0x0065c6c2, 0x0007211c}}}, + {X: Field{[10]uint32{0x020494a3, 0x01d85278, 0x037f6670, 0x0081a901, 0x02cc439f, 0x0002be26, 0x0165dfa2, 0x0245bb86, 0x028874e4, 0x001b28b7}}, Y: Field{[10]uint32{0x02662043, 0x014466a6, 0x02e0699b, 0x0276ba5a, 0x02cd5111, 0x01f71f39, 0x03cc1aa5, 0x02177690, 0x034497aa, 0x001bbc2c}}}, + {X: Field{[10]uint32{0x0051d97f, 0x00ebd4de, 0x031f88d3, 0x029242f4, 0x03cf1149, 0x021003be, 0x02448f82, 0x03ed9481, 0x03c41728, 0x002e89a1}}, Y: Field{[10]uint32{0x02b4c0c4, 0x03c82c61, 0x01de5d61, 0x000090ec, 0x02033455, 0x0318b34c, 0x03803bb3, 0x039eaba2, 0x01f11f2c, 0x0025ab49}}}, + {X: Field{[10]uint32{0x01553e0d, 0x028bc203, 0x01aa5f1e, 0x00cf91a8, 0x03d311f5, 0x02cc0cc8, 0x0032d5a4, 0x03cc0458, 0x00401947, 0x002b0d88}}, Y: Field{[10]uint32{0x00b30a22, 0x01c70fcb, 0x0137fdf1, 0x006dec82, 0x001d5b98, 0x005f6e47, 0x035881fa, 0x00a21169, 0x0395fef3, 0x0014e0e7}}}, + {X: Field{[10]uint32{0x01049e13, 0x01a51d9e, 0x0246bac7, 0x0308b6ee, 0x024158c7, 0x00ecd727, 0x014241ec, 0x01c815a3, 0x00ee5b1b, 0x0019e03b}}, Y: Field{[10]uint32{0x0057d9a8, 0x02fd004c, 0x02e4ee0f, 0x015fb31e, 0x0246520d, 0x0158b9cc, 0x0090b9f3, 0x022234b7, 0x01f031e0, 0x0026b045}}}, + {X: Field{[10]uint32{0x02a63732, 0x0040e434, 0x00254cbb, 0x00eaaca5, 0x01c0f765, 0x02ef4d0e, 0x0110d622, 0x035754c1, 0x0247e7a2, 0x00254dde}}, Y: Field{[10]uint32{0x00195fc0, 0x02f948fe, 0x01d7b091, 0x01a8d992, 0x03bb01f7, 0x0319155e, 0x01abe4df, 0x02d8b3f8, 0x01109daf, 0x0015eb24}}}, + {X: Field{[10]uint32{0x02dd8921, 0x005e85ca, 0x0015e85f, 0x001ccc9d, 0x01486a85, 0x02f50abd, 0x02e97c59, 0x020efc1f, 0x01bf98fd, 0x00013c65}}, Y: Field{[10]uint32{0x011cf3dc, 0x0171ee1a, 0x03b59a86, 0x02f3c7bc, 0x011a057b, 0x01ac72b7, 0x027cae30, 0x008c8d8c, 0x032501c8, 0x00295ab3}}}, + {X: Field{[10]uint32{0x00bcb53f, 0x00a46c53, 0x036bad9e, 0x034b5edb, 0x02cc0510, 0x036eaaf3, 0x0208240a, 0x00a67f48, 0x03d1efe8, 0x003b3347}}, Y: Field{[10]uint32{0x002c667c, 0x020111e9, 0x02b29135, 0x022fff09, 0x012d9b6f, 0x00663806, 0x03d6f2d3, 0x003e9715, 0x03216da5, 0x003b0bfc}}}, + {X: Field{[10]uint32{0x0058f438, 0x0321386c, 0x01f2b1ee, 0x0004307b, 0x01502e76, 0x01f2dd1d, 0x00ff41cf, 0x010971ca, 0x004af2c3, 0x0031d5d1}}, Y: Field{[10]uint32{0x0362e53a, 0x01c0a0d8, 0x014b8fd0, 0x03f1a140, 0x039cd267, 0x0322d995, 0x0301105b, 0x0050f8a5, 0x01b6169f, 0x00387520}}}, + {X: Field{[10]uint32{0x005250b8, 0x006d5f19, 0x00ac636f, 0x0170711c, 0x03aef325, 0x028468d9, 0x01996627, 0x001dd963, 0x037ebff5, 0x000d58a0}}, Y: Field{[10]uint32{0x019234d8, 0x01cb598a, 0x02b9cf4d, 0x00d729fe, 0x00fa1d0d, 0x02f2bf00, 0x01374bb0, 0x0163f333, 0x020d97aa, 0x003373d2}}}, + {X: Field{[10]uint32{0x02d4a3a1, 0x00cc5f21, 0x00a82b11, 0x01f7ed95, 0x03b1f2f0, 0x03eb062d, 0x01339e97, 0x025eaf4b, 0x0245f62e, 0x0033a770}}, Y: Field{[10]uint32{0x00d184d5, 0x0295857c, 0x00b7927b, 0x00c2f9bb, 0x02fcaf1b, 0x030deaf7, 0x03e8520e, 0x03ee3993, 0x0325342a, 0x003db878}}}, + {X: Field{[10]uint32{0x00858a12, 0x0275b8cb, 0x03dd542d, 0x023394e0, 0x02aab481, 0x02807ea2, 0x0271a8c1, 0x0112ea74, 0x033b48ee, 0x002b008b}}, Y: Field{[10]uint32{0x02ca76fa, 0x02e6ea5c, 0x01aaf45d, 0x01f99815, 0x02191e49, 0x00e58477, 0x009e0917, 0x03447c66, 0x03a891f8, 0x00078158}}}, + {X: Field{[10]uint32{0x0251d9f9, 0x026702e9, 0x024ff3a9, 0x020a2332, 0x0355a837, 0x02dbc89d, 0x02e57e6d, 0x033eab91, 0x0282cb12, 0x0034753d}}, Y: Field{[10]uint32{0x01e71a36, 0x016639e1, 0x02960488, 0x0192b2e3, 0x03016072, 0x0059c88c, 0x023b4b07, 0x0064c530, 0x03e5870e, 0x0006c66f}}}, + {X: Field{[10]uint32{0x031c8a37, 0x014c0ebf, 0x012ee243, 0x012cb401, 0x00892e75, 0x026f746a, 0x03bacd4f, 0x02be5117, 0x0171bbdd, 0x001e6588}}, Y: Field{[10]uint32{0x03b98a7d, 0x0056f8de, 0x0320ab85, 0x02a76bc1, 0x00fe47b6, 0x00d304d5, 0x0072f77b, 0x00afad15, 0x03de2a95, 0x002e2b09}}}, + {X: Field{[10]uint32{0x009d3b90, 0x00cb8f14, 0x038d8cf0, 0x02c60e83, 0x0120ecb3, 0x001868bc, 0x03c3573b, 0x02d812ec, 0x03c42390, 0x00111685}}, Y: Field{[10]uint32{0x013f97b1, 0x02b52c5a, 0x026aae34, 0x01079026, 0x024ea769, 0x03bfd259, 0x00057c87, 0x03f97283, 0x00887c07, 0x002dd7d0}}}, + {X: Field{[10]uint32{0x03402051, 0x020ef0c3, 0x02ccfb0e, 0x01244745, 0x038c39cd, 0x0345d5d8, 0x02c49a78, 0x03d1fd7e, 0x01f963a9, 0x001859ad}}, Y: Field{[10]uint32{0x012430b3, 0x005f77fa, 0x01d7e053, 0x03d56811, 0x02933d6d, 0x03b15d24, 0x03e46204, 0x02bac884, 0x02618302, 0x002e8cdd}}}, + {X: Field{[10]uint32{0x03251531, 0x00574fe2, 0x034a9293, 0x036e8d36, 0x0330b6db, 0x012379f8, 0x027d0e40, 0x006bfa39, 0x02742890, 0x0033599b}}, Y: Field{[10]uint32{0x0002304b, 0x0146040e, 0x024f9e54, 0x0147c46c, 0x01440959, 0x027f227b, 0x02398e74, 0x02950390, 0x00b943cb, 0x002bdcb6}}}, + {X: Field{[10]uint32{0x0123ac72, 0x0272eb41, 0x0014ee83, 0x02f35ee2, 0x015a6285, 0x036640d5, 0x01837a11, 0x01bf811b, 0x028cfd2f, 0x00320cef}}, Y: Field{[10]uint32{0x01a6af03, 0x00926132, 0x00ed603a, 0x02fbfa32, 0x02b6c07d, 0x01430ed3, 0x01751531, 0x008d8ea3, 0x010b4411, 0x001faa3e}}}, + {X: Field{[10]uint32{0x025ea477, 0x0000da7c, 0x03613982, 0x013fa109, 0x02e40e4a, 0x03a56c58, 0x010ac1f5, 0x034e1762, 0x03363036, 0x00330617}}, Y: Field{[10]uint32{0x02338236, 0x03bae7c9, 0x02b42832, 0x01d50157, 0x03f66d07, 0x027384bb, 0x02aabe5a, 0x02726262, 0x0036146d, 0x00381da2}}}, + {X: Field{[10]uint32{0x009c4a5a, 0x010f0a63, 0x01770479, 0x0043a4b2, 0x0177ccd9, 0x0101ee02, 0x03c9be70, 0x030aead9, 0x006324bb, 0x00052382}}, Y: Field{[10]uint32{0x02408797, 0x03f8eeb0, 0x036ee55d, 0x00c7edc5, 0x01b706a3, 0x004e3a5f, 0x02733ae6, 0x03f20277, 0x00859cdd, 0x00227a0f}}}, + {X: Field{[10]uint32{0x02c95c76, 0x038048af, 0x03a7e460, 0x012553d4, 0x010cf8b6, 0x00a8dd87, 0x008d9b19, 0x02d60d72, 0x01c1aba5, 0x0026c54e}}, Y: Field{[10]uint32{0x00efdc18, 0x03c8756b, 0x0395b967, 0x010a88c9, 0x00d8472e, 0x02a87389, 0x00895f13, 0x01676b53, 0x021945be, 0x000e4737}}}, + {X: Field{[10]uint32{0x024495cd, 0x02e29cc3, 0x03dd3e93, 0x01d2a5d2, 0x03a60327, 0x03d09f31, 0x029e575f, 0x00074dda, 0x02c175fb, 0x001a28b9}}, Y: Field{[10]uint32{0x00e00752, 0x00f7139e, 0x014f2557, 0x02df89cf, 0x030666ca, 0x03166591, 0x0269b741, 0x0037797c, 0x0084c8c3, 0x00054f99}}}, + {X: Field{[10]uint32{0x01dfb04e, 0x01b08a18, 0x030b66c3, 0x028b9f0b, 0x007669e9, 0x00cf332b, 0x02334405, 0x029030ed, 0x004935a5, 0x00163fa4}}, Y: Field{[10]uint32{0x0136e1bb, 0x03eed815, 0x01555b39, 0x009c569e, 0x0371ac1e, 0x0356669d, 0x0106e2a2, 0x0038b5c7, 0x01c59245, 0x002cda41}}}, + {X: Field{[10]uint32{0x02ac7080, 0x0169e0d7, 0x00378337, 0x029838a6, 0x0103e9bc, 0x026d809f, 0x01aff2a1, 0x0366c2ff, 0x0396dcbd, 0x00208f03}}, Y: Field{[10]uint32{0x02ad0a7f, 0x0334823c, 0x03db8895, 0x02c36410, 0x028831a2, 0x00efcf0d, 0x03eb6d54, 0x026962ea, 0x02ccf34d, 0x00364551}}}, + {X: Field{[10]uint32{0x02d14537, 0x03378800, 0x02caf533, 0x01493df7, 0x03d68121, 0x00c04fb9, 0x03e7b710, 0x03e42157, 0x02aee908, 0x001295ab}}, Y: Field{[10]uint32{0x0222b7a2, 0x02be42b1, 0x00d8d021, 0x03ecb80c, 0x023129a7, 0x01e43ae6, 0x01995b33, 0x00634846, 0x000133b7, 0x001f9832}}}, + {X: Field{[10]uint32{0x01240334, 0x01b28efe, 0x0168a71f, 0x03d27f82, 0x0382a64b, 0x02204c66, 0x0194e2b8, 0x03d7cb11, 0x0055e6c4, 0x001b03ce}}, Y: Field{[10]uint32{0x03b5203c, 0x03f8d348, 0x02fc83ac, 0x0346d355, 0x03e1478a, 0x0016bab4, 0x01ade853, 0x02eea12d, 0x036da9ef, 0x0017239e}}}, + {X: Field{[10]uint32{0x01ac9632, 0x02e8a8cd, 0x033313ae, 0x002d4923, 0x000496e4, 0x005cb992, 0x01de21cf, 0x01241c57, 0x032cd170, 0x003673e3}}, Y: Field{[10]uint32{0x00934344, 0x00e0570f, 0x028e6b07, 0x0242db0f, 0x0315867e, 0x00d755fd, 0x0198299c, 0x03e4c02f, 0x0251b440, 0x0024a9f0}}}, + {X: Field{[10]uint32{0x0193d898, 0x01d9fdee, 0x039e27c6, 0x00a3f3c6, 0x01775927, 0x026bcc0e, 0x027ed43d, 0x0371eebe, 0x00928b91, 0x0012ff2d}}, Y: Field{[10]uint32{0x005d14f7, 0x032a5269, 0x03dda7bf, 0x03a791c0, 0x001854a4, 0x00ea8cee, 0x00c9a4ae, 0x035042cd, 0x02f1ecd9, 0x0009da81}}}, + {X: Field{[10]uint32{0x03c434e8, 0x00066b08, 0x00792944, 0x01d7964a, 0x027cdcc5, 0x0055965b, 0x0193dee8, 0x00cbd13b, 0x0093ac40, 0x002af796}}, Y: Field{[10]uint32{0x0195c40a, 0x012c0360, 0x0116ed77, 0x02c93066, 0x0346162c, 0x033bc0be, 0x002af7a7, 0x018113a5, 0x00092b9e, 0x001780ea}}}, + {X: Field{[10]uint32{0x026e1cc5, 0x00ec3f54, 0x020a803b, 0x02b8c6f8, 0x004482f1, 0x00a07688, 0x00814b49, 0x02a3845e, 0x03077a98, 0x00081758}}, Y: Field{[10]uint32{0x03e4d780, 0x027fd41b, 0x036147a7, 0x03495595, 0x00b9cab7, 0x01b992ff, 0x015cb19d, 0x00d581ae, 0x015c943e, 0x0012ef8a}}}, + {X: Field{[10]uint32{0x001c43bd, 0x02337491, 0x00b7c3b9, 0x02f116fd, 0x01b59653, 0x01b980c7, 0x0228a423, 0x00e871b0, 0x0083e667, 0x0032d313}}, Y: Field{[10]uint32{0x031a2769, 0x013a3ab8, 0x01149cfe, 0x00307fa9, 0x0062f334, 0x016bf9c5, 0x002ff397, 0x01fa83df, 0x02763926, 0x00050b80}}}, + {X: Field{[10]uint32{0x00ca77a7, 0x02ec894b, 0x004f2b5a, 0x02cb7b1f, 0x0392ccf0, 0x024cd5bb, 0x0354a4b4, 0x02f7eceb, 0x00b27ff5, 0x0009687d}}, Y: Field{[10]uint32{0x035c3c38, 0x03fe5ecc, 0x03fe93e9, 0x022ca229, 0x0136c32e, 0x02647cb6, 0x033b3afc, 0x020d05f7, 0x0193153f, 0x0006c977}}}, + {X: Field{[10]uint32{0x0254237b, 0x029dea8a, 0x026dc89c, 0x015255ed, 0x015a1b71, 0x0195f2e2, 0x011c863a, 0x02835a94, 0x02a77eec, 0x00088bdd}}, Y: Field{[10]uint32{0x00b0b289, 0x01680bcb, 0x03492794, 0x0210bda8, 0x01a205c8, 0x019974a5, 0x03a598a8, 0x03e23421, 0x02e064ef, 0x002a3caf}}}, + {X: Field{[10]uint32{0x034dfa8d, 0x032f63ce, 0x002daec3, 0x009a67c7, 0x02379f5c, 0x024dad01, 0x03f10156, 0x01946d06, 0x028d1ad2, 0x000cb50c}}, Y: Field{[10]uint32{0x0188261d, 0x033a4c1e, 0x0290d204, 0x028741a4, 0x02df5de0, 0x0391e025, 0x00d40623, 0x028ced7d, 0x02e23294, 0x0027db79}}}, + {X: Field{[10]uint32{0x01f1d3f0, 0x0195a460, 0x01b14e82, 0x00c33e64, 0x01187d08, 0x01998adf, 0x01937900, 0x0335c0ec, 0x00be6948, 0x00337a7b}}, Y: Field{[10]uint32{0x03029720, 0x03a06c56, 0x015e24bc, 0x03ffe554, 0x01f5abe8, 0x022b55b1, 0x037794ce, 0x00634a6d, 0x03320e12, 0x0021221e}}}, + {X: Field{[10]uint32{0x0348947d, 0x0354f4e9, 0x00b80011, 0x01f89979, 0x02509f4e, 0x0141a801, 0x03435826, 0x03bd32a0, 0x005c3baa, 0x002f227d}}, Y: Field{[10]uint32{0x03e68475, 0x00a7d79b, 0x03a49511, 0x02bdc89a, 0x0209fa15, 0x00d3de6f, 0x0272fce5, 0x02c519e8, 0x00a2714d, 0x003bfd6f}}}, + {X: Field{[10]uint32{0x01b51d4f, 0x003dd237, 0x03df0994, 0x02e6d5fb, 0x0139b409, 0x010d2a6b, 0x014ba655, 0x02eff8af, 0x00c0eea2, 0x001899e3}}, Y: Field{[10]uint32{0x03a74acf, 0x0141470d, 0x00883673, 0x02e79ef3, 0x02a5cc8a, 0x03db7553, 0x0161245e, 0x034c7470, 0x034fd234, 0x00234e13}}}, + {X: Field{[10]uint32{0x02bc93d0, 0x027e4ce1, 0x02f8af21, 0x030d3fa1, 0x02df7c0a, 0x037e89cd, 0x01c89cf3, 0x0388958f, 0x0139c63a, 0x00057807}}, Y: Field{[10]uint32{0x00cfb13b, 0x01d56204, 0x03ef42bc, 0x0267e8c5, 0x01e7efb9, 0x025da618, 0x03251334, 0x032e0705, 0x0132314f, 0x0007d58d}}}, + {X: Field{[10]uint32{0x03ac10e3, 0x03cd92ca, 0x03eb97b8, 0x000c06f6, 0x0052c601, 0x010a2ba7, 0x018e813e, 0x009637fe, 0x03493493, 0x0013e34a}}, Y: Field{[10]uint32{0x0169b73f, 0x02c99380, 0x021bcd66, 0x039085b2, 0x031e8c58, 0x03e467d5, 0x00580283, 0x0176db00, 0x017b6795, 0x00231f44}}}, + {X: Field{[10]uint32{0x016f1d61, 0x02249dad, 0x0136f1a7, 0x02d3d124, 0x003b0d77, 0x0374d623, 0x03e397cd, 0x01ad8260, 0x031a2bf1, 0x00345338}}, Y: Field{[10]uint32{0x013f0910, 0x03cdcd2b, 0x0335611e, 0x031c9613, 0x01833f24, 0x0375eefd, 0x022ca6e4, 0x0360e8dc, 0x0220b227, 0x0026857d}}}, + {X: Field{[10]uint32{0x02f780f1, 0x03a38ed9, 0x008419c3, 0x028b104c, 0x00024c1a, 0x02ffa800, 0x00d656c9, 0x01d7d704, 0x034eb8c2, 0x000d4886}}, Y: Field{[10]uint32{0x03f8e808, 0x0317764e, 0x03fa0f8e, 0x01186d77, 0x0306888d, 0x009de195, 0x038382bb, 0x02bf2ef5, 0x02025274, 0x000f4716}}}, + {X: Field{[10]uint32{0x00a8ddc8, 0x02b02a8d, 0x0043c49e, 0x005dc9c2, 0x0083f686, 0x03d10ec8, 0x00ff6f29, 0x0306e3d1, 0x003b1c76, 0x0020bb67}}, Y: Field{[10]uint32{0x015f1340, 0x0077177a, 0x02fc48a9, 0x0162bbf5, 0x00e81f5a, 0x000009a4, 0x002081d9, 0x00ae19cd, 0x026bc2ab, 0x00098ba7}}}, + {X: Field{[10]uint32{0x00717b85, 0x0078d244, 0x02118d18, 0x012bfd71, 0x009c49b6, 0x010ba5f1, 0x02342f77, 0x02a8dba1, 0x020eacf2, 0x002467a5}}, Y: Field{[10]uint32{0x0145b861, 0x020bf936, 0x016505a0, 0x010b1e08, 0x03ef530d, 0x030ca7c4, 0x01ce9d5a, 0x0059e736, 0x014ea3ea, 0x0012d46a}}}, + {X: Field{[10]uint32{0x03c3ec7d, 0x03f4d996, 0x02c3065f, 0x0386b3c1, 0x02edca3d, 0x0190f398, 0x02abcafa, 0x01546afb, 0x023e20ce, 0x00336b2b}}, Y: Field{[10]uint32{0x02b95bb6, 0x00881c5b, 0x009b13d3, 0x0292cd07, 0x02235df4, 0x02953d3b, 0x00c326df, 0x001dab8a, 0x0313872b, 0x002aab2e}}}, + {X: Field{[10]uint32{0x02a5f2ab, 0x027389a4, 0x015a8f94, 0x03fed98f, 0x00de3a62, 0x001c9bc2, 0x0180f829, 0x017027cf, 0x00e21bd0, 0x00069142}}, Y: Field{[10]uint32{0x00ca97ba, 0x00c83d4b, 0x013e602b, 0x0315b497, 0x00c6e672, 0x02fc0a65, 0x00459bf4, 0x02c0cdd8, 0x03f0976e, 0x00149e03}}}, + {X: Field{[10]uint32{0x003a0b45, 0x005098a0, 0x018ddd52, 0x01dfcea8, 0x02e9129f, 0x03c9b262, 0x00f73d13, 0x03c972a5, 0x02ed5686, 0x002391bb}}, Y: Field{[10]uint32{0x01edcf4d, 0x0326bd87, 0x00200782, 0x0159843a, 0x027253d5, 0x01fc2bad, 0x03f2ed1e, 0x03ba9f21, 0x038d7041, 0x003b95b4}}}, + {X: Field{[10]uint32{0x017e4031, 0x0396ecda, 0x00532a92, 0x0079e828, 0x0168d617, 0x02d8611a, 0x01797c15, 0x02cc276b, 0x00fa3bd6, 0x001e0a44}}, Y: Field{[10]uint32{0x00e4b3f4, 0x0025d4d1, 0x022ddee4, 0x03fdb4fc, 0x00717914, 0x011ac2a0, 0x00c31b89, 0x00a8a3a1, 0x0365c44c, 0x003fc5e0}}}, + {X: Field{[10]uint32{0x01f64e8a, 0x00f246b9, 0x01041ae9, 0x02a3e41a, 0x0265c50a, 0x013c75f4, 0x002d0a29, 0x004329b3, 0x028cc5a7, 0x0000aae7}}, Y: Field{[10]uint32{0x03f89b9b, 0x00ebf269, 0x001c9db2, 0x000a84f6, 0x03185366, 0x0164d251, 0x03cf23da, 0x012eb419, 0x010fa225, 0x0002aaf3}}}, + {X: Field{[10]uint32{0x0382c9e5, 0x006f4758, 0x037a5fcb, 0x03091843, 0x03a094dd, 0x01494a4d, 0x020cc533, 0x016c8a0c, 0x03c44fb2, 0x00341199}}, Y: Field{[10]uint32{0x02b0f74e, 0x0351e52c, 0x00f5ce31, 0x03600c19, 0x026e5a91, 0x02b13ea1, 0x02f436ec, 0x01239e1a, 0x013f8bf0, 0x001f24d8}}}, + {X: Field{[10]uint32{0x0286b0f7, 0x012be0db, 0x01252def, 0x00a724d8, 0x00f157bd, 0x0160e265, 0x01b0476c, 0x03769294, 0x02f9799c, 0x002e711d}}, Y: Field{[10]uint32{0x0297932e, 0x02aad2b2, 0x029eff13, 0x036aa414, 0x03d1a9b0, 0x01a11549, 0x01cefbc4, 0x0122cfc9, 0x019bc779, 0x000bb1d8}}}, + {X: Field{[10]uint32{0x006eee85, 0x036a104a, 0x02e0d64f, 0x03ff7b8a, 0x004ef765, 0x03591ce7, 0x01d8c565, 0x0265012e, 0x01abf13f, 0x00242f7b}}, Y: Field{[10]uint32{0x00cf21f5, 0x00a04138, 0x037255c6, 0x0376e53d, 0x007f8bb8, 0x0061f49b, 0x02812a48, 0x0122ad2f, 0x0082d9a8, 0x002a7d1e}}}, + {X: Field{[10]uint32{0x00485c84, 0x001cdebf, 0x01e7ba68, 0x03377356, 0x03ff4208, 0x013afc3f, 0x02b83107, 0x01dcd300, 0x00a80217, 0x002830e5}}, Y: Field{[10]uint32{0x0109364b, 0x003975c3, 0x02e3fd64, 0x02d8bcd3, 0x00e835ca, 0x026dec59, 0x002434fe, 0x00bcd3f2, 0x0132b4c6, 0x00313c22}}}, + {X: Field{[10]uint32{0x00294c3e, 0x02ad434c, 0x00273b9a, 0x008fafab, 0x02bd3c29, 0x00b9da53, 0x00f949c7, 0x03a318a1, 0x01bd3896, 0x0006c0c6}}, Y: Field{[10]uint32{0x02ee339d, 0x03b54be8, 0x02080053, 0x01c8768c, 0x021401b6, 0x000edec6, 0x038233d7, 0x02ab9f97, 0x029b17c3, 0x000576ff}}}, + {X: Field{[10]uint32{0x03dc719d, 0x00b8f66f, 0x032ab699, 0x00ecea43, 0x001210eb, 0x01463730, 0x03a93540, 0x005afa89, 0x030fe92f, 0x0026453b}}, Y: Field{[10]uint32{0x03c4086b, 0x0370ac6c, 0x02b8398d, 0x00b218cc, 0x005e671d, 0x02bd968c, 0x01f3629f, 0x002c47a3, 0x00650cea, 0x001e82f4}}}, + {X: Field{[10]uint32{0x01f60d3e, 0x03b744f7, 0x03810daa, 0x01b5eb39, 0x015798ad, 0x02572585, 0x02fa1763, 0x03d8e1f6, 0x02195599, 0x000e9a3e}}, Y: Field{[10]uint32{0x00e71a89, 0x025afdf5, 0x0054f5cd, 0x03ba6a2b, 0x00de158e, 0x00190729, 0x00faef1e, 0x01a76ce5, 0x02e6a3f5, 0x001d15d6}}}, + {X: Field{[10]uint32{0x0288b2e5, 0x01a71817, 0x023859da, 0x03b1fc04, 0x0241193d, 0x006fff23, 0x01872b1b, 0x01f8c43c, 0x0141e2b6, 0x002dcd87}}, Y: Field{[10]uint32{0x00668344, 0x0241f860, 0x029c29b0, 0x02f7c42f, 0x00315347, 0x01b9eb34, 0x00f5890f, 0x026f29cf, 0x039566d4, 0x003ea75a}}}, + {X: Field{[10]uint32{0x01174e81, 0x0216e0c9, 0x01bc637b, 0x034c4ba6, 0x02aa93a4, 0x03edffe7, 0x03d13543, 0x011903db, 0x018742d8, 0x000d07a6}}, Y: Field{[10]uint32{0x03fcfc95, 0x00adae62, 0x007ac861, 0x0269bb5d, 0x01e95b4e, 0x018b97f0, 0x01cbcff7, 0x01861d84, 0x00dc91b4, 0x00312582}}}, + {X: Field{[10]uint32{0x0083e6f6, 0x03dd76b1, 0x0026e2a0, 0x02febe1d, 0x001f6420, 0x000b25c6, 0x00849094, 0x03d55d00, 0x0045de34, 0x0020f5a9}}, Y: Field{[10]uint32{0x01dddfc1, 0x030486e8, 0x030fd787, 0x00249df6, 0x00e9fbed, 0x012a5376, 0x01cf48a1, 0x03ed4d7b, 0x034458c8, 0x001ea1b6}}}, + {X: Field{[10]uint32{0x02ac351b, 0x02e12e49, 0x03bdda40, 0x0218bf3f, 0x0032d176, 0x01a92676, 0x0082bf1c, 0x032ba624, 0x035a014b, 0x0013c448}}, Y: Field{[10]uint32{0x014a2acf, 0x018cce7a, 0x022886e9, 0x03b6f967, 0x0308678d, 0x01dce72d, 0x00021c83, 0x009a745a, 0x00f15f31, 0x002d4189}}}, + {X: Field{[10]uint32{0x03ee2b89, 0x03a6a734, 0x0115b998, 0x024b0208, 0x02eafb38, 0x02db8f5f, 0x0285907a, 0x0384b3a9, 0x032721cf, 0x0023eed5}}, Y: Field{[10]uint32{0x02906680, 0x0248e8d9, 0x03ab791c, 0x0296be2f, 0x00ef1bb1, 0x0296d6a9, 0x018de8e2, 0x02386973, 0x0285c814, 0x00369ff9}}}, + {X: Field{[10]uint32{0x0096c3de, 0x00b167d5, 0x02bd63f5, 0x03cbf19c, 0x01286023, 0x00fd6627, 0x0205b1f5, 0x00fd7dd9, 0x023cb924, 0x00201329}}, Y: Field{[10]uint32{0x035233c6, 0x01c2c175, 0x01fd8431, 0x01b52722, 0x00865fab, 0x02bad13e, 0x038300ee, 0x00455a86, 0x0112eedb, 0x00000dca}}}, + {X: Field{[10]uint32{0x012a5365, 0x005da70b, 0x03bf58cc, 0x035c77a6, 0x0060b48e, 0x01598341, 0x018de870, 0x02a091ac, 0x006ab83c, 0x002c9e57}}, Y: Field{[10]uint32{0x0249d820, 0x0024d6ca, 0x0041f90d, 0x015e6f70, 0x01db6841, 0x021aa280, 0x03510441, 0x002dad34, 0x02b58853, 0x0019ba30}}}, + {X: Field{[10]uint32{0x02d9dad3, 0x0317814d, 0x02588208, 0x00ec640e, 0x00caf390, 0x001193ad, 0x0139d07c, 0x03645302, 0x004db61b, 0x0037ad4c}}, Y: Field{[10]uint32{0x015777ca, 0x0281aa53, 0x03b27762, 0x0360fdec, 0x0040507d, 0x039201cf, 0x00b62491, 0x0179d9a9, 0x0343e7e4, 0x00063553}}}, + {X: Field{[10]uint32{0x037714c4, 0x00f3aee6, 0x035cf774, 0x03a15d27, 0x01eb79d5, 0x00cd9a40, 0x0061d696, 0x03b0d2db, 0x0102d177, 0x000446fd}}, Y: Field{[10]uint32{0x016a4e54, 0x030e35da, 0x000f0bf8, 0x0083f99e, 0x0107d8ba, 0x0391e83c, 0x036bad45, 0x02ef33c0, 0x012abc38, 0x002fa035}}}, + {X: Field{[10]uint32{0x00be92a5, 0x006f4e37, 0x00f8b016, 0x01419d34, 0x01daceeb, 0x02e18e19, 0x014e71fd, 0x014e4fa3, 0x0343c15c, 0x00252c43}}, Y: Field{[10]uint32{0x01be6dc7, 0x02e6ddfd, 0x02e9bd25, 0x035fc682, 0x038d087d, 0x004161b3, 0x03f77291, 0x0230d96c, 0x032ea34e, 0x003b156b}}}, + {X: Field{[10]uint32{0x02895593, 0x007c6203, 0x02248d3b, 0x00b44051, 0x03fb4a42, 0x00b4c0da, 0x03e529d6, 0x01de1314, 0x03f22d44, 0x001189ea}}, Y: Field{[10]uint32{0x037b3e4a, 0x018140fa, 0x01c483a5, 0x03d31fa3, 0x00cbea9e, 0x01947a52, 0x00172d56, 0x02d66dce, 0x018d6110, 0x0022cd07}}}, + {X: Field{[10]uint32{0x017c355f, 0x02e91a0a, 0x02a80757, 0x02fb05ca, 0x03585dca, 0x037714c9, 0x035727b5, 0x03730dcd, 0x01cfdfea, 0x00067385}}, Y: Field{[10]uint32{0x01e60f81, 0x0333f613, 0x03a6625c, 0x01f816ce, 0x0283853e, 0x021b3bc9, 0x02ca9ec8, 0x024505cd, 0x015ece82, 0x00014195}}}, + {X: Field{[10]uint32{0x039a3e55, 0x0373f42a, 0x01ef0fe6, 0x00b85b4f, 0x01295068, 0x0387e45b, 0x03e97d80, 0x03f2ba30, 0x02818293, 0x001d6901}}, Y: Field{[10]uint32{0x008c7930, 0x01f45577, 0x01f22a04, 0x002fce7d, 0x03452678, 0x0254a62d, 0x039f2af4, 0x03893604, 0x01c0e02e, 0x0014a4b5}}}, + {X: Field{[10]uint32{0x033bf578, 0x03de6f07, 0x026f1cbb, 0x033a3cc8, 0x0388cb82, 0x03d29ccc, 0x03a341d4, 0x01da1ad1, 0x038def4b, 0x0029fae2}}, Y: Field{[10]uint32{0x018199a1, 0x03f24fef, 0x01cc880c, 0x028a1a19, 0x0124407c, 0x0129c962, 0x0352bf39, 0x015df2ce, 0x036fe238, 0x00217662}}}, + {X: Field{[10]uint32{0x03da647a, 0x024e37ac, 0x02c00e8a, 0x01114385, 0x016c9f83, 0x03067dae, 0x0352d143, 0x00759c2c, 0x02b5dcc9, 0x00296e68}}, Y: Field{[10]uint32{0x039571c1, 0x01cbca1e, 0x00c29634, 0x004ff45b, 0x0126fc4e, 0x009833fc, 0x0335aba1, 0x0011c590, 0x03a83985, 0x003c4b53}}}, + {X: Field{[10]uint32{0x00015cca, 0x00273211, 0x0217157c, 0x00c5e2b5, 0x01df58d8, 0x026c3f7d, 0x037c20ee, 0x02269977, 0x02ed48d5, 0x001e6671}}, Y: Field{[10]uint32{0x018f5756, 0x02dcc750, 0x010145bc, 0x003489d5, 0x00aaacaf, 0x034fc4b2, 0x00b3fecb, 0x030e8715, 0x01053706, 0x00055bd1}}}, + {X: Field{[10]uint32{0x009829b1, 0x02b4de71, 0x028e20fe, 0x0161b70b, 0x01422020, 0x030171eb, 0x01baade6, 0x03b746e1, 0x01f3b708, 0x00223fa0}}, Y: Field{[10]uint32{0x03727c01, 0x035035f7, 0x01b10d99, 0x03376a87, 0x008972a8, 0x0182814b, 0x00341502, 0x01f4aec5, 0x024fb04b, 0x003358b8}}}, + {X: Field{[10]uint32{0x03e86763, 0x015f57d3, 0x0264e895, 0x00dd421e, 0x01912165, 0x01a529df, 0x03192beb, 0x0187f908, 0x02b0cfcc, 0x00063ec3}}, Y: Field{[10]uint32{0x00169785, 0x00a3174e, 0x01922b1f, 0x038d548a, 0x0380f4a6, 0x03b61c75, 0x0288e230, 0x02d594e3, 0x031fdfe8, 0x000f3dca}}}, + {X: Field{[10]uint32{0x03d38aac, 0x006721bb, 0x00b660d9, 0x03ebad7f, 0x02004719, 0x02bc639d, 0x03171d5b, 0x03cb333f, 0x02312be4, 0x0036b6cc}}, Y: Field{[10]uint32{0x018bc0d7, 0x03d2cc3e, 0x039813d9, 0x00c31a9c, 0x0150e0b3, 0x02855112, 0x0340e423, 0x03a2f2c1, 0x005d752d, 0x002359e5}}}, + {X: Field{[10]uint32{0x039e5c8e, 0x015fc1a8, 0x039c2d80, 0x0271b070, 0x027b17e0, 0x038c416e, 0x03aa0cb0, 0x027d91ac, 0x00867cdd, 0x003c2e68}}, Y: Field{[10]uint32{0x02f4e9de, 0x032782d7, 0x01c81370, 0x000f052f, 0x003ff913, 0x020872ef, 0x01cf4319, 0x03460103, 0x025625e6, 0x000ad4d3}}}, + {X: Field{[10]uint32{0x02fcb7e0, 0x03efa2b0, 0x0132d406, 0x0199922e, 0x031cd601, 0x01cba350, 0x010e2536, 0x030e9f97, 0x03052e49, 0x00370382}}, Y: Field{[10]uint32{0x03b791d9, 0x0151f871, 0x01bea086, 0x03ce087f, 0x02223e7a, 0x02487892, 0x0139cb56, 0x01946933, 0x03868e1c, 0x003fe465}}}, + {X: Field{[10]uint32{0x02eb91ee, 0x02a9688c, 0x01038b74, 0x023c4604, 0x016bea74, 0x00571b29, 0x02c365b5, 0x03751cd7, 0x0298fb6d, 0x0039c72b}}, Y: Field{[10]uint32{0x01600266, 0x020af3c7, 0x0106ce66, 0x029ca007, 0x019ed731, 0x036f47d0, 0x03c5bc75, 0x0083db8b, 0x0018396c, 0x002012ba}}}, + {X: Field{[10]uint32{0x00ddfd8c, 0x01e4ad35, 0x03b9f88d, 0x01a081e6, 0x006b5d53, 0x02f4b29b, 0x0194d486, 0x0393fced, 0x01b2f7b2, 0x0014346d}}, Y: Field{[10]uint32{0x015cc744, 0x012f2213, 0x01f5b6e3, 0x039d0083, 0x015c554f, 0x02ae863f, 0x039b03f0, 0x0019821a, 0x00c518fa, 0x00155b3d}}}, + {X: Field{[10]uint32{0x002701aa, 0x00c8746f, 0x01747325, 0x021ad1c2, 0x00966348, 0x008fdb2d, 0x00c5e86f, 0x0365537e, 0x003e2bd5, 0x003021d0}}, Y: Field{[10]uint32{0x03507712, 0x028894a8, 0x00679003, 0x012f8ac0, 0x02258bc1, 0x03b61f81, 0x023a549e, 0x01cc001b, 0x0187d851, 0x00276d12}}}, + {X: Field{[10]uint32{0x016d6894, 0x003d45ef, 0x002b3798, 0x03d47a49, 0x014d45f8, 0x03da28a6, 0x00988fd3, 0x00d08b7a, 0x03f7f384, 0x0037440d}}, Y: Field{[10]uint32{0x01cccce1, 0x030646c9, 0x025f254f, 0x03395ac1, 0x021a9c08, 0x01cc24e9, 0x01ab8b76, 0x02f3762c, 0x01615cfb, 0x0032a39b}}}, + {X: Field{[10]uint32{0x00b5ceb4, 0x02731f4d, 0x01d1473a, 0x0295b026, 0x00424dfd, 0x0063dd93, 0x02840c3d, 0x01626fd2, 0x021967ca, 0x003788a6}}, Y: Field{[10]uint32{0x00122b22, 0x014456d5, 0x00be702d, 0x03046e3a, 0x00a1d352, 0x0391bfd1, 0x023f4b2a, 0x018ea50c, 0x01ca84ca, 0x002563f2}}}, + {X: Field{[10]uint32{0x00cdfd9c, 0x031fb881, 0x01cb1143, 0x03759ea3, 0x02f8a3a3, 0x0028d690, 0x0225f487, 0x0213e858, 0x03c9cc9d, 0x0000578c}}, Y: Field{[10]uint32{0x0260e920, 0x026e6cc1, 0x022562f8, 0x00571fcd, 0x02a59a1e, 0x01792b5a, 0x02058364, 0x033574d8, 0x0206ed48, 0x00104f00}}}, + {X: Field{[10]uint32{0x03d6bee0, 0x03902328, 0x00fc4394, 0x0266deac, 0x00dc010b, 0x02c86b8e, 0x023e3173, 0x01361cb4, 0x0161ca3c, 0x0014d089}}, Y: Field{[10]uint32{0x0103048e, 0x02ecfed8, 0x038b78de, 0x002e9c6e, 0x0020f2c5, 0x01e73872, 0x007c7ab7, 0x02427d94, 0x02e5e505, 0x001bba41}}}, + {X: Field{[10]uint32{0x0282b2fc, 0x00765ca6, 0x02a74a03, 0x0028245d, 0x020308bf, 0x0172dc72, 0x0000bbff, 0x013cdcca, 0x034f9b2c, 0x0020a773}}, Y: Field{[10]uint32{0x038483c4, 0x017dab97, 0x005d3352, 0x03101857, 0x01abe3f8, 0x03d621cf, 0x0249d3c9, 0x014e2938, 0x0200429e, 0x0011cde0}}}, + {X: Field{[10]uint32{0x02e911e5, 0x039970e2, 0x00ebe450, 0x02e8757d, 0x01c05594, 0x033fe5fc, 0x023b989a, 0x02c6c524, 0x02b73769, 0x003b5bdb}}, Y: Field{[10]uint32{0x02c38eb4, 0x01403868, 0x03fbe18e, 0x02768dcb, 0x01d52e2d, 0x027fd886, 0x018cd0b6, 0x02136e2e, 0x032f3fe5, 0x0037fb9b}}}, + {X: Field{[10]uint32{0x00455503, 0x009c8170, 0x013da303, 0x02fb2d24, 0x0370616e, 0x03cac612, 0x00d1982d, 0x01c83a3f, 0x03981fbe, 0x0011f948}}, Y: Field{[10]uint32{0x02f3e900, 0x038bd2ae, 0x012515ea, 0x02e1b118, 0x00179f4c, 0x0378379c, 0x020cfbd1, 0x030c3da0, 0x00ebf360, 0x002bf4b7}}}, + {X: Field{[10]uint32{0x01037312, 0x037812ea, 0x010df49f, 0x02a304f7, 0x00ba10e2, 0x017a2039, 0x03f1170f, 0x0387e1bc, 0x03d58f48, 0x002c0a4d}}, Y: Field{[10]uint32{0x00c18c4f, 0x034f1e8a, 0x03cf5347, 0x0093da32, 0x038a6c79, 0x00d5785f, 0x02de5805, 0x021158c5, 0x024f3e4c, 0x000372c2}}}, + {X: Field{[10]uint32{0x001989f8, 0x015ff43b, 0x025d44ee, 0x03af7f71, 0x03878486, 0x00f019ba, 0x0010c2dc, 0x03070c97, 0x00f53578, 0x0027e64f}}, Y: Field{[10]uint32{0x01c8bb52, 0x00ece18c, 0x0275d914, 0x01bc34e0, 0x01e83eda, 0x03986ebe, 0x026ea432, 0x02047359, 0x000b16b8, 0x0031ae35}}}, + {X: Field{[10]uint32{0x013240e6, 0x03e6e277, 0x0284e599, 0x0213cdbf, 0x01ce4317, 0x037f4743, 0x02730edb, 0x03b077c4, 0x00c25913, 0x00250edb}}, Y: Field{[10]uint32{0x03ed3fd0, 0x01dd2093, 0x0316d09f, 0x03ffead6, 0x029604d3, 0x0153bd56, 0x02d7ca32, 0x03fcff50, 0x02bacac2, 0x00396040}}}, + {X: Field{[10]uint32{0x01acfe0a, 0x02fcbc06, 0x00a6481f, 0x033d1fd6, 0x0059511d, 0x01ed69f2, 0x0043da4f, 0x03e7b146, 0x027e69b3, 0x00026c39}}, Y: Field{[10]uint32{0x01c54dd8, 0x00274c3b, 0x01c674a0, 0x00dbdf92, 0x022e074c, 0x01cccf29, 0x02defc7d, 0x03b2d338, 0x002817a4, 0x001a9377}}}, + {X: Field{[10]uint32{0x00571651, 0x03a19ce9, 0x03acc72a, 0x02d004da, 0x020c8246, 0x012329b9, 0x03b0fd40, 0x03463e30, 0x02339cd8, 0x0025f73b}}, Y: Field{[10]uint32{0x00e693e4, 0x00b4b49d, 0x03d510d8, 0x01192208, 0x0229b952, 0x0224cf71, 0x02e36cfc, 0x02fce62a, 0x0205cc20, 0x001858e8}}}, + {X: Field{[10]uint32{0x02292ced, 0x027fdeb4, 0x00267299, 0x003cadf7, 0x02798c94, 0x01286e80, 0x02a9c26f, 0x007b69f3, 0x02f92696, 0x00287979}}, Y: Field{[10]uint32{0x00d5f19d, 0x0234c6c2, 0x00fbeca1, 0x03e4ee7a, 0x03cfc07a, 0x01b65d95, 0x01384013, 0x003dd3b4, 0x037a6a71, 0x001409d2}}}, + {X: Field{[10]uint32{0x034884a9, 0x0210a596, 0x021a61a9, 0x02c61020, 0x001c21bd, 0x03f1dc60, 0x03c9bdc6, 0x0377f14b, 0x03cf7cdf, 0x0011cf57}}, Y: Field{[10]uint32{0x03d856af, 0x01f16c63, 0x02250eba, 0x03afa2f9, 0x0389ff95, 0x0320b656, 0x032d7036, 0x03d543fa, 0x02a70ad7, 0x000d220d}}}, + {X: Field{[10]uint32{0x0396f613, 0x0147a851, 0x009d454c, 0x004caec5, 0x00db8c1e, 0x00151326, 0x00c33b27, 0x02cb413f, 0x00427384, 0x0027061d}}, Y: Field{[10]uint32{0x00ae0a19, 0x00fdfd7f, 0x0342b791, 0x00d831c4, 0x02c1825d, 0x02573bee, 0x0212e475, 0x0001e4f6, 0x0043970f, 0x000b5b7b}}}, + {X: Field{[10]uint32{0x0162b154, 0x029aa981, 0x0351e0c7, 0x00a57d6f, 0x02ed63c7, 0x039d0392, 0x002d826b, 0x038afedd, 0x00469150, 0x00047387}}, Y: Field{[10]uint32{0x034fa33d, 0x02da9887, 0x00271aa3, 0x0232bca9, 0x0267f3b2, 0x03a2df64, 0x01f8b93b, 0x00a03eaf, 0x014fea38, 0x001ba194}}}, + {X: Field{[10]uint32{0x01656042, 0x0297159e, 0x031cd4d9, 0x01c52eb3, 0x03dde2fd, 0x0234731b, 0x013c3541, 0x0379bca2, 0x0104e4e2, 0x000780de}}, Y: Field{[10]uint32{0x00960755, 0x03a06963, 0x0221b462, 0x0214f007, 0x023c81ac, 0x002bc0d7, 0x028aa38a, 0x01a084a8, 0x01c934c2, 0x0006edd6}}}, + {X: Field{[10]uint32{0x00071d82, 0x007669f0, 0x02800995, 0x0178c731, 0x003f8d50, 0x03e78d88, 0x0294f240, 0x0266abc6, 0x006723f8, 0x0014bf25}}, Y: Field{[10]uint32{0x00bd6dbb, 0x0065a5f4, 0x039db924, 0x02cd2ce8, 0x0239c909, 0x01c2d1ee, 0x00dfb992, 0x00208083, 0x02e07543, 0x000118ca}}}, + {X: Field{[10]uint32{0x0242b20d, 0x027600c1, 0x02a4ff9e, 0x02d35e37, 0x0235069e, 0x025bd4e1, 0x00f9e394, 0x00672c85, 0x01059975, 0x0032d616}}, Y: Field{[10]uint32{0x0093ac7d, 0x038e44fb, 0x02d45064, 0x03cd6643, 0x007131b2, 0x038b5794, 0x02a0f51c, 0x01d68790, 0x02e7a5b4, 0x0006e7d0}}}, + {X: Field{[10]uint32{0x00a69c46, 0x02b803ed, 0x03a12cec, 0x00368471, 0x03e7ab18, 0x034def34, 0x03275845, 0x011561d5, 0x005729f1, 0x000e0b0a}}, Y: Field{[10]uint32{0x00039440, 0x03079f95, 0x008e4a25, 0x028f82c9, 0x03495907, 0x03c4a1a4, 0x02586843, 0x003ecdb8, 0x011220a7, 0x0032c9fa}}}, + {X: Field{[10]uint32{0x034e5024, 0x03b2e213, 0x0164b6dc, 0x00fecbe5, 0x02a4dd61, 0x02cce9a4, 0x00456dce, 0x0039263e, 0x02c6c285, 0x0005bc21}}, Y: Field{[10]uint32{0x039339a9, 0x03bbfb49, 0x01df312d, 0x033b26b5, 0x0073cb5e, 0x0169940d, 0x008ca682, 0x004620d1, 0x020888eb, 0x000b854a}}}, + {X: Field{[10]uint32{0x01a02492, 0x03585dd9, 0x009506ee, 0x007d99cc, 0x014439a5, 0x011ba89d, 0x030f0ae4, 0x00d5dd54, 0x011b1f0a, 0x001d626f}}, Y: Field{[10]uint32{0x00462d49, 0x0365d966, 0x0389c00a, 0x030d8c30, 0x0004076f, 0x00534d8d, 0x01771bb0, 0x02054c79, 0x0212d375, 0x000b6103}}}, + {X: Field{[10]uint32{0x00930890, 0x00c9bd35, 0x004469a0, 0x03d689ad, 0x01a80cc5, 0x030efbba, 0x02dbd2b0, 0x00e944f7, 0x0240cce6, 0x00062e6b}}, Y: Field{[10]uint32{0x022690e4, 0x0293ae4a, 0x0118acf6, 0x035e382b, 0x039e0032, 0x02c9c342, 0x03571382, 0x00f111c6, 0x024dd5ed, 0x00092e1a}}}, + {X: Field{[10]uint32{0x03ebb48a, 0x03a2a2b4, 0x009a4ccf, 0x01b840b2, 0x0394e9ba, 0x012fa189, 0x030db5d1, 0x007bd900, 0x00a4acc7, 0x002307dd}}, Y: Field{[10]uint32{0x0245677a, 0x02c59ce4, 0x01c9416e, 0x00664b57, 0x021af1c1, 0x022c9b21, 0x03ba735c, 0x0294a478, 0x011998ae, 0x0029e7c0}}}, + {X: Field{[10]uint32{0x02bfb080, 0x00b080f0, 0x010465cd, 0x00223b1f, 0x002c0fca, 0x000e096d, 0x0157ba0d, 0x02aadd6d, 0x012d36bf, 0x00236016}}, Y: Field{[10]uint32{0x0151d3f6, 0x02d19bc0, 0x03a51859, 0x01504335, 0x027671a6, 0x014cff4a, 0x00a1bd4a, 0x01d14d34, 0x008791f2, 0x000f91e5}}}, + {X: Field{[10]uint32{0x030ca248, 0x0095d959, 0x02770f71, 0x03a78114, 0x03f36782, 0x00b159dd, 0x005046cf, 0x038563b2, 0x0319f477, 0x003aac2e}}, Y: Field{[10]uint32{0x00c04640, 0x01d3329f, 0x01ebd700, 0x0190fc62, 0x0337f0bd, 0x00ae81c7, 0x0355e563, 0x00ebd36b, 0x00812309, 0x00289f5c}}}, + {X: Field{[10]uint32{0x020a039c, 0x00cb1a8a, 0x0399bdb5, 0x00776d21, 0x0109647e, 0x0149833a, 0x03b249fd, 0x00be89b4, 0x01c9ebbb, 0x003fc343}}, Y: Field{[10]uint32{0x02b31fa9, 0x00e50bbe, 0x010233c4, 0x03d59884, 0x02fad5b0, 0x0366dd82, 0x01c35055, 0x007e2f38, 0x02ae7f16, 0x0004ac3d}}}, + {X: Field{[10]uint32{0x0037d526, 0x00aaa58e, 0x030ad42a, 0x0080fb9a, 0x02be22b3, 0x02c22def, 0x03403468, 0x02f46e48, 0x023571db, 0x0036268c}}, Y: Field{[10]uint32{0x02e3cf27, 0x02dd084d, 0x03b62146, 0x0241551b, 0x03db4a04, 0x039bdbc7, 0x008124d9, 0x03c59cc4, 0x01b99988, 0x0009768d}}}, + {X: Field{[10]uint32{0x025b43fd, 0x013004a4, 0x00a229ec, 0x0055574d, 0x0313ffb3, 0x019d47df, 0x03cdafa8, 0x02acb10c, 0x023bf01c, 0x003c5400}}, Y: Field{[10]uint32{0x02c7a9cc, 0x030f4cce, 0x03f341a9, 0x01a881ca, 0x038ac37a, 0x01ea7920, 0x00966b71, 0x032259b7, 0x0221026a, 0x000c7dc3}}}, + {X: Field{[10]uint32{0x003af2a8, 0x03b80672, 0x0070d9b3, 0x032382d1, 0x0276f442, 0x030b3436, 0x02e9d5e2, 0x0025e1ca, 0x013b2d58, 0x003663af}}, Y: Field{[10]uint32{0x01dba3f5, 0x005f249d, 0x00823e00, 0x01629453, 0x00930fb3, 0x029b1c89, 0x03f9873d, 0x0065c0d2, 0x02a95a06, 0x0027b56d}}}, + {X: Field{[10]uint32{0x03c3c746, 0x03ec06f2, 0x01827583, 0x00efe9df, 0x02817353, 0x03cf2a05, 0x002e313d, 0x0253bb7f, 0x0185833a, 0x00156d8b}}, Y: Field{[10]uint32{0x024a835c, 0x02b4444d, 0x0189715b, 0x02fd1320, 0x011f4dbb, 0x0269e84e, 0x01eb9211, 0x016bdede, 0x03730cb9, 0x0027e121}}}, + {X: Field{[10]uint32{0x01718de6, 0x003fb3ef, 0x021ca286, 0x01268a9e, 0x00ec759c, 0x01b070ff, 0x0069de8f, 0x00fe4d13, 0x0176fef7, 0x0037ebd3}}, Y: Field{[10]uint32{0x025a0671, 0x034c509c, 0x01971357, 0x0054656f, 0x017fba1f, 0x00db64fb, 0x0009f94c, 0x030a1fd9, 0x029344e2, 0x002b12bd}}}, + {X: Field{[10]uint32{0x01fe29da, 0x01fcf9b1, 0x00bf838b, 0x00f16043, 0x03a7839f, 0x005bb88a, 0x0020f29a, 0x0248b0dd, 0x00a34510, 0x00212911}}, Y: Field{[10]uint32{0x0114f06a, 0x02615404, 0x0175fa18, 0x01c032fe, 0x026e89af, 0x01cc1a7f, 0x03f420a6, 0x0304b850, 0x01802215, 0x003bdccf}}}, + {X: Field{[10]uint32{0x032212af, 0x006a94e9, 0x02548629, 0x01260e24, 0x032c3377, 0x025a0468, 0x01d24d12, 0x01c020f7, 0x021146c8, 0x0035f213}}, Y: Field{[10]uint32{0x00844ac4, 0x03350184, 0x01745f84, 0x0344135e, 0x019579b2, 0x0202bb18, 0x01357e54, 0x0102f70f, 0x0158a3be, 0x002c61f7}}}, + {X: Field{[10]uint32{0x0198051d, 0x03a9e215, 0x02a069ff, 0x02d5c68b, 0x00c7fca4, 0x01d41cb3, 0x029f6165, 0x0022fbce, 0x027fa70b, 0x003f7b70}}, Y: Field{[10]uint32{0x03b9bf9a, 0x0118a901, 0x01fbb3ec, 0x01379c91, 0x0253f6f5, 0x029fd378, 0x014d279b, 0x016a780d, 0x031a1c57, 0x003fa6de}}}, + {X: Field{[10]uint32{0x03122e77, 0x0171e57b, 0x039a5c2d, 0x0141365a, 0x03f950c2, 0x01610dec, 0x0022b350, 0x0331aa48, 0x038ad3f2, 0x0033e9d1}}, Y: Field{[10]uint32{0x021409c4, 0x02516c89, 0x023bb158, 0x0028f6a1, 0x022ad780, 0x03f7530b, 0x00f8eedf, 0x00a0d4d5, 0x01cae959, 0x003cf923}}}, + {X: Field{[10]uint32{0x020eefe2, 0x01f73a3b, 0x023f8033, 0x02f36377, 0x02aa1584, 0x01d9e3f3, 0x03b7493d, 0x00825dc3, 0x03f83fd6, 0x0023a455}}, Y: Field{[10]uint32{0x0205351b, 0x027ce94e, 0x0188ac8d, 0x016913ea, 0x003322fb, 0x02d2c8a7, 0x00f91df4, 0x037edae9, 0x02898c05, 0x00181e6e}}}, + {X: Field{[10]uint32{0x03116f75, 0x022e4a00, 0x01dfdbea, 0x03f1a9fe, 0x029d422f, 0x02f77fc8, 0x00eb80a9, 0x02b0c3b1, 0x03b6103e, 0x001efd7b}}, Y: Field{[10]uint32{0x03a71a3b, 0x00e24c4e, 0x03e67ba1, 0x0130d54f, 0x012cba4b, 0x015e5850, 0x01355542, 0x007b7f96, 0x02596479, 0x003beb6d}}}, + {X: Field{[10]uint32{0x00e8df0b, 0x009e0834, 0x0153e85f, 0x03f22747, 0x01690a13, 0x01da5c1e, 0x007b1b53, 0x030b49a3, 0x02b7b7b2, 0x003d6e80}}, Y: Field{[10]uint32{0x02465485, 0x03c54567, 0x013a3af7, 0x01930f1e, 0x00a9266b, 0x034b510c, 0x00329d19, 0x003906ff, 0x0126b264, 0x00198c5b}}}, + {X: Field{[10]uint32{0x03004475, 0x01262fff, 0x008284a1, 0x0297c494, 0x0387c10d, 0x008a547e, 0x02bc3dbf, 0x029325b4, 0x01f3dcec, 0x0017aab3}}, Y: Field{[10]uint32{0x011f122d, 0x0094652b, 0x02106c8c, 0x00425dfa, 0x00b38f58, 0x020c7341, 0x0185d404, 0x0338245a, 0x03ed9721, 0x0032cf6c}}}, + {X: Field{[10]uint32{0x024a5554, 0x0169da29, 0x01e4177c, 0x02fd3e8b, 0x01d1320a, 0x03544cdc, 0x0152ba6a, 0x0044d14d, 0x0017b8d6, 0x00073f97}}, Y: Field{[10]uint32{0x011dcd5d, 0x03a91aff, 0x008945ed, 0x039801e8, 0x0099bcab, 0x00c67dd0, 0x024a2f7e, 0x02e21c79, 0x00f64846, 0x0014e0df}}}, + {X: Field{[10]uint32{0x025dbc10, 0x007c28de, 0x028805e2, 0x02ed1391, 0x02286f47, 0x004843ef, 0x0091dd2a, 0x03321873, 0x03478a2c, 0x0024aa0f}}, Y: Field{[10]uint32{0x0199de94, 0x03d53d72, 0x01043684, 0x03e43b0d, 0x000cb69f, 0x006604cb, 0x0270b8bc, 0x016c0be0, 0x0065fcd4, 0x003fb8d7}}}, + {X: Field{[10]uint32{0x02d277d3, 0x012ada72, 0x01dd14f7, 0x034c92fd, 0x0173c07a, 0x00d6f6de, 0x0186ea10, 0x00e6c3d3, 0x01bad5d5, 0x0005c8a1}}, Y: Field{[10]uint32{0x02ada654, 0x0308be6a, 0x00897314, 0x0100a22d, 0x02cfc290, 0x03b8f883, 0x03afa15c, 0x018d9382, 0x0140cf35, 0x00116afe}}}, + {X: Field{[10]uint32{0x03164762, 0x01badcf2, 0x0032c764, 0x0204e817, 0x013126ce, 0x03e45637, 0x014ae08b, 0x026eae15, 0x015392e1, 0x002b45ef}}, Y: Field{[10]uint32{0x01065586, 0x0115d323, 0x01b94e16, 0x014625be, 0x038139c6, 0x0275c353, 0x01d4f47d, 0x00e61ddd, 0x00191c83, 0x000284a6}}}, + {X: Field{[10]uint32{0x02bdeb1c, 0x01f2cc4b, 0x00a12526, 0x001f1019, 0x03c23fd3, 0x00f94470, 0x02ce9e91, 0x02a2707d, 0x033e91a4, 0x00041086}}, Y: Field{[10]uint32{0x02a53319, 0x0164a18e, 0x03cc1923, 0x00036b1d, 0x03985697, 0x01cc4632, 0x02b8a510, 0x03c3f461, 0x01d09e49, 0x0014e6ed}}}, + {X: Field{[10]uint32{0x01de5bfd, 0x00d6c188, 0x030ff397, 0x03787838, 0x012e8476, 0x0198caa9, 0x039eba60, 0x00a8f772, 0x00fa7815, 0x00310eb7}}, Y: Field{[10]uint32{0x00abdebf, 0x00469567, 0x018801a9, 0x0389815f, 0x031e81c6, 0x036b2ede, 0x03d04f05, 0x01602e11, 0x01ca2122, 0x001b7742}}}, + {X: Field{[10]uint32{0x00bf9a73, 0x036401a6, 0x0227b5c8, 0x00764aab, 0x0014434f, 0x0279f662, 0x02b9e50d, 0x01634131, 0x00cb603a, 0x003dea67}}, Y: Field{[10]uint32{0x031a7ccb, 0x00e9df69, 0x01b0878a, 0x01332bf2, 0x005e6293, 0x032dd04c, 0x02d68091, 0x00e4eba5, 0x024476f4, 0x003337f0}}}, + {X: Field{[10]uint32{0x0209c826, 0x01d6f9c3, 0x01aacb31, 0x005a7492, 0x02f602d5, 0x028b2a6f, 0x038f44f4, 0x013a8d40, 0x01bf7017, 0x0026af25}}, Y: Field{[10]uint32{0x03adfe0c, 0x00663835, 0x03763617, 0x036d32ad, 0x0222a9fe, 0x0233b6b2, 0x027d2c9f, 0x03e28f50, 0x02ed3e71, 0x001b3ef3}}}, + {X: Field{[10]uint32{0x005d8d82, 0x02ee7b57, 0x035c5546, 0x03f03414, 0x03d7bd08, 0x0124f273, 0x034af06b, 0x0121cfb2, 0x009335c8, 0x00229f2a}}, Y: Field{[10]uint32{0x01e31bc1, 0x000064c8, 0x005ba07b, 0x03fb4bca, 0x01209ae3, 0x010511e6, 0x031ee4e5, 0x00f021cb, 0x0372090d, 0x0009462c}}}, + {X: Field{[10]uint32{0x024d1c3e, 0x032489e9, 0x03b79ff1, 0x0373091b, 0x02b39fdb, 0x018be352, 0x01182fd8, 0x018a365a, 0x03798649, 0x001c3238}}, Y: Field{[10]uint32{0x02ea3cbb, 0x0038c849, 0x0386f7f5, 0x005d3bf6, 0x03936c95, 0x03558823, 0x0297d9ef, 0x00292bb0, 0x02d527ec, 0x0031e4c6}}}, + {X: Field{[10]uint32{0x01002121, 0x00b58a0c, 0x0076b957, 0x039f0616, 0x00934a82, 0x012023f7, 0x01dcf61b, 0x007b81c7, 0x02b40612, 0x0035e0fd}}, Y: Field{[10]uint32{0x029c7fbb, 0x007662d7, 0x0262ca03, 0x0055a52e, 0x0028b3ed, 0x02699226, 0x0107c82b, 0x01a52678, 0x01841422, 0x002aa4af}}}, + {X: Field{[10]uint32{0x03654c18, 0x01f939de, 0x007581a1, 0x025671de, 0x02b75927, 0x03aa3931, 0x01ffbb87, 0x02d0eb2b, 0x021c29ab, 0x00307c1a}}, Y: Field{[10]uint32{0x03ecdbf0, 0x006497be, 0x005476cd, 0x01c2a906, 0x03bc1024, 0x03968263, 0x01b0e7d9, 0x010b3eae, 0x01e2f1db, 0x00076b83}}}, + {X: Field{[10]uint32{0x02cc5105, 0x01f98b94, 0x0072487b, 0x009d21a6, 0x02d1498a, 0x0085c998, 0x02633ea3, 0x02d61e19, 0x02113205, 0x000ab5d3}}, Y: Field{[10]uint32{0x00ff779e, 0x01176834, 0x02e105de, 0x01652e2f, 0x02b5c851, 0x01d5720e, 0x01aa7d30, 0x0287f589, 0x0107de1f, 0x0031c31d}}}, + {X: Field{[10]uint32{0x037408b6, 0x00025e35, 0x01ac03d8, 0x015dd2b2, 0x03a9e32b, 0x01c713d5, 0x0374e233, 0x01a919ba, 0x01ad7224, 0x003d243a}}, Y: Field{[10]uint32{0x01dc3d6a, 0x003c06aa, 0x01fb963a, 0x006a2d12, 0x0377e49a, 0x03096141, 0x02ef15e4, 0x005a1ee9, 0x027f8fdd, 0x00151bcd}}}, + {X: Field{[10]uint32{0x001d6149, 0x008cdce6, 0x030553f1, 0x03143781, 0x0280c431, 0x017e2ecc, 0x01788b05, 0x02da5f81, 0x00918357, 0x0008140a}}, Y: Field{[10]uint32{0x028e3b0d, 0x01aaf411, 0x02777796, 0x016d71de, 0x019489ee, 0x0214bf42, 0x01a67712, 0x00388963, 0x00e54411, 0x000e7410}}}, + {X: Field{[10]uint32{0x006eae95, 0x0007acbe, 0x005d1bb0, 0x026780e3, 0x02e4b782, 0x0137a4a5, 0x0359915d, 0x028e8fbb, 0x038ec169, 0x001ba46e}}, Y: Field{[10]uint32{0x00877dfd, 0x0252e8a0, 0x008872ae, 0x03574823, 0x0045305d, 0x0227eb12, 0x0034063a, 0x0327c459, 0x029788f8, 0x0034b084}}}, + {X: Field{[10]uint32{0x03a34905, 0x01e2ec5a, 0x02a01906, 0x02ea79f7, 0x0339e7d0, 0x00796b54, 0x00d0d2fe, 0x0102c184, 0x03c839fc, 0x0033ca51}}, Y: Field{[10]uint32{0x0337c63d, 0x00502c8f, 0x007baaec, 0x01a84c7b, 0x018db00f, 0x01cba1d7, 0x0358d7b1, 0x0354fc35, 0x030f7f0c, 0x00185169}}}, + {X: Field{[10]uint32{0x022366f1, 0x01861d3e, 0x02864ad1, 0x0306b0f1, 0x001c8db1, 0x02b4ca8a, 0x01c9b010, 0x029b2158, 0x0387ea93, 0x002d23e0}}, Y: Field{[10]uint32{0x022d253c, 0x00c5749e, 0x0276b375, 0x02077e10, 0x009f46bd, 0x018273f2, 0x03d971b3, 0x01f4f89b, 0x0333cbe0, 0x0000b2ac}}}, + {X: Field{[10]uint32{0x02a1f827, 0x007b6850, 0x0315ef39, 0x013a0515, 0x0030f605, 0x025bf50f, 0x00ae58c6, 0x00b4d393, 0x03660c57, 0x001f12d7}}, Y: Field{[10]uint32{0x01843d97, 0x034cab66, 0x033b008e, 0x02b57e53, 0x02d0adc2, 0x01848cb0, 0x007c5fcc, 0x016bc0e4, 0x024fbe12, 0x000f2f89}}}, + {X: Field{[10]uint32{0x010d86e8, 0x02a17821, 0x02567378, 0x0147d756, 0x018fe24e, 0x01e1d636, 0x027f9890, 0x02786588, 0x0368d464, 0x00395e58}}, Y: Field{[10]uint32{0x02c9d4a7, 0x030d53bd, 0x0089646e, 0x02e35982, 0x021fa111, 0x01e9f92f, 0x02880bf6, 0x0244a26b, 0x0343c9a6, 0x0001d2ec}}}, + {X: Field{[10]uint32{0x004d637f, 0x00ae963f, 0x016509f0, 0x00994f1f, 0x0167c1ab, 0x038f2976, 0x01b88416, 0x03a7bf06, 0x025efe83, 0x0037e841}}, Y: Field{[10]uint32{0x00a5042d, 0x020fbb43, 0x00a231ec, 0x00668aa8, 0x02e23fdf, 0x021794d4, 0x0270e046, 0x00dee8bc, 0x0167eb02, 0x00008b49}}}, + {X: Field{[10]uint32{0x028af132, 0x01ecdea4, 0x01f2f234, 0x01133c4c, 0x008f4638, 0x039c42e0, 0x01a3ce98, 0x030cca3f, 0x00aad436, 0x000ba876}}, Y: Field{[10]uint32{0x0298dc4c, 0x0187cc43, 0x004328fc, 0x0081e80d, 0x0213ff96, 0x033ca92c, 0x00a243cc, 0x02b44160, 0x020fb8c2, 0x000cfe9f}}}, + {X: Field{[10]uint32{0x0167253f, 0x01477975, 0x031b4c0a, 0x01b3e2a4, 0x03ab6a97, 0x039677cd, 0x008298b5, 0x02bcfe9e, 0x00518122, 0x0004ab85}}, Y: Field{[10]uint32{0x0124877d, 0x034c6807, 0x015a7926, 0x02bad555, 0x021c3ff9, 0x038fc296, 0x02fa7329, 0x0074bb78, 0x01d2b327, 0x00217fc7}}}, + {X: Field{[10]uint32{0x01bf6619, 0x01164c25, 0x00270856, 0x03bd57be, 0x03125579, 0x03b1d68e, 0x02b84fed, 0x02bc6a9c, 0x01efb588, 0x003f51b8}}, Y: Field{[10]uint32{0x03a51b17, 0x01f2dec9, 0x01ea40f5, 0x01eba071, 0x03342e6b, 0x01ce8abf, 0x007d477c, 0x00a4bd83, 0x006eceb6, 0x00341ab7}}}, + {X: Field{[10]uint32{0x0332b52b, 0x024342df, 0x01e614a2, 0x011ac5cb, 0x01c7a179, 0x02f88ab3, 0x009e1bf0, 0x0347bc71, 0x013eb8c0, 0x0003b5f6}}, Y: Field{[10]uint32{0x02303ada, 0x0233a7ec, 0x02246f36, 0x02129a33, 0x02b55522, 0x010aafac, 0x036668a7, 0x0070ebe3, 0x030a39a8, 0x001343b0}}}, + {X: Field{[10]uint32{0x029619ef, 0x0022db43, 0x034dc9d8, 0x004cd893, 0x01585179, 0x01d701b7, 0x02bda814, 0x01e69a7f, 0x03a5cd0e, 0x003f33f7}}, Y: Field{[10]uint32{0x010adf49, 0x009106b7, 0x015139bd, 0x012b5838, 0x02ec6232, 0x024aa58d, 0x01959c69, 0x026fb7e2, 0x000d11d0, 0x001e6e41}}}, + {X: Field{[10]uint32{0x034ac477, 0x02955912, 0x00010a57, 0x029c8ad1, 0x0316823e, 0x02f1c532, 0x02044b27, 0x026bfb4a, 0x02b86a9b, 0x0020c5d8}}, Y: Field{[10]uint32{0x0156c708, 0x005a7926, 0x02ff69c3, 0x0372989a, 0x032754c1, 0x02137f5d, 0x00b3f77f, 0x02ff72d2, 0x00628ef3, 0x00051eb8}}}, + {X: Field{[10]uint32{0x02f26b01, 0x00ee6753, 0x02fb3490, 0x0187c995, 0x01f92cc4, 0x03f8333e, 0x0370adbb, 0x014c0f23, 0x0001a84d, 0x000cd123}}, Y: Field{[10]uint32{0x03b8f2ff, 0x03a9507f, 0x0095f736, 0x00f1bf5f, 0x02208ad0, 0x03b9fe41, 0x00a82840, 0x02e98723, 0x03490ae8, 0x00395c9c}}}, + {X: Field{[10]uint32{0x03d215a6, 0x01533081, 0x024a2482, 0x036ac66c, 0x0160df85, 0x003aebdb, 0x03ccb8c5, 0x004c1055, 0x02616ddf, 0x00248284}}, Y: Field{[10]uint32{0x028d0f4e, 0x028f283c, 0x02e369f1, 0x00738313, 0x03e2cb67, 0x02a302e5, 0x02f7a11c, 0x03a240f4, 0x00f9cc91, 0x00067935}}}, + {X: Field{[10]uint32{0x036b1ba4, 0x03f98b94, 0x026b7fca, 0x029712e4, 0x01458385, 0x02eb0971, 0x020ac00c, 0x002e70fd, 0x021d3e37, 0x00077e33}}, Y: Field{[10]uint32{0x0099a92b, 0x039f9814, 0x01083533, 0x03d6f1c0, 0x023fcbab, 0x01ca4253, 0x02f61602, 0x0141e54a, 0x006ee363, 0x000d137d}}}, + {X: Field{[10]uint32{0x038b7b72, 0x02ca2074, 0x013b6286, 0x03236036, 0x022e2243, 0x00de8149, 0x0018175c, 0x009ae04f, 0x007dabfe, 0x001c89e1}}, Y: Field{[10]uint32{0x03973d24, 0x02622e29, 0x03364622, 0x0104311a, 0x0128b5aa, 0x0185973e, 0x0289c934, 0x00f37654, 0x01eb33da, 0x002fb79e}}}, + {X: Field{[10]uint32{0x03f7fb8d, 0x027ca4bb, 0x01995972, 0x013c9b63, 0x003caff7, 0x03321041, 0x02571f8c, 0x022feac0, 0x0259e121, 0x001b7bee}}, Y: Field{[10]uint32{0x00340a04, 0x025aa353, 0x001a6956, 0x00156487, 0x002c188c, 0x034d39df, 0x03770d1b, 0x03ef165b, 0x028e21f2, 0x00135eea}}}, + {X: Field{[10]uint32{0x002d6bd3, 0x00581478, 0x020f990b, 0x006ad8c6, 0x0208302e, 0x02b7d4ef, 0x031ae022, 0x01f491ac, 0x00eff512, 0x003199fd}}, Y: Field{[10]uint32{0x02d34cf5, 0x00312936, 0x032373e8, 0x00f549eb, 0x02f8de28, 0x01f5d1a8, 0x00d822c3, 0x02f7dbf5, 0x0276ce11, 0x000f5ef3}}}, + {X: Field{[10]uint32{0x0229d866, 0x00b1cbf3, 0x03d2355c, 0x02e39aec, 0x006fbca1, 0x00e8aac0, 0x00dcc242, 0x0083d664, 0x02744416, 0x003b67a1}}, Y: Field{[10]uint32{0x0006ad30, 0x01f08a96, 0x021a5829, 0x01c47b0d, 0x027c03dd, 0x0024c37b, 0x01a12f33, 0x0268aee0, 0x019bb428, 0x0019357b}}}, + {X: Field{[10]uint32{0x0176fb24, 0x03ae630c, 0x02ea0b0e, 0x03bab114, 0x03219e57, 0x018d13bc, 0x0000b256, 0x033b80cf, 0x0057e6b0, 0x0021a8db}}, Y: Field{[10]uint32{0x02fff739, 0x03a36cfa, 0x02f25135, 0x00f9e686, 0x01b147b4, 0x02564ad7, 0x01038748, 0x01637d38, 0x01da9e9b, 0x002d3d2f}}}, + {X: Field{[10]uint32{0x00cca913, 0x0248a02f, 0x00e04337, 0x0208779c, 0x01fd02bf, 0x0285478f, 0x02105acb, 0x01bfce83, 0x03844539, 0x000b88dd}}, Y: Field{[10]uint32{0x03148551, 0x01c5b0d9, 0x0304fc0b, 0x03728cd8, 0x00f43726, 0x02ef3241, 0x00464c43, 0x020fc184, 0x039ce779, 0x003dcd94}}}, + {X: Field{[10]uint32{0x00a1390f, 0x027e6008, 0x028c1689, 0x021eb0b5, 0x009db88a, 0x00682f00, 0x026dbcf1, 0x0364d948, 0x014c7790, 0x003334f0}}, Y: Field{[10]uint32{0x003af907, 0x037f75c7, 0x00a6781c, 0x02a01f7c, 0x00f8a9cb, 0x006264c8, 0x03bac2af, 0x017767cc, 0x035fbd6d, 0x002c902c}}}, + {X: Field{[10]uint32{0x0237b018, 0x033361cd, 0x021b217b, 0x02b6e09d, 0x01eba4ef, 0x015625e3, 0x006566d0, 0x035ec71b, 0x027f0988, 0x001dc4ef}}, Y: Field{[10]uint32{0x00475781, 0x02cd309d, 0x03d9470d, 0x039993b9, 0x01c75f31, 0x017eacd0, 0x02ef7c51, 0x00aea8bb, 0x026fa9d6, 0x0023ee46}}}, + {X: Field{[10]uint32{0x00982b02, 0x0199eea9, 0x0398b1ab, 0x03fc7165, 0x0134c739, 0x02c21573, 0x020acf56, 0x032cee54, 0x0160035d, 0x0015216b}}, Y: Field{[10]uint32{0x02a90f0f, 0x00e658a5, 0x03f9fcd4, 0x01579f72, 0x0357cbd4, 0x0224c46f, 0x03df62e5, 0x005329d0, 0x007b1e7c, 0x00077b1b}}}, + {X: Field{[10]uint32{0x00ee0f19, 0x0268f72c, 0x01ed189c, 0x0007cac1, 0x00411bd2, 0x013a1503, 0x012d1cfc, 0x01213407, 0x003ad3be, 0x002965d4}}, Y: Field{[10]uint32{0x001113cd, 0x0157b8ec, 0x014dce28, 0x03c1d972, 0x00becbd6, 0x036f3d24, 0x02cee664, 0x00466478, 0x027d3800, 0x000d444f}}}, + {X: Field{[10]uint32{0x0191ce4a, 0x03795f37, 0x0046cb94, 0x00de0320, 0x011ae249, 0x02f4bf64, 0x01d07a3d, 0x00c2c55f, 0x0251abb1, 0x002ea46c}}, Y: Field{[10]uint32{0x013e1f6c, 0x030d64c3, 0x01dcfe1d, 0x003f85e6, 0x03837742, 0x03d90bee, 0x01f33f54, 0x03b7ee9a, 0x0080500a, 0x0033f308}}}, + {X: Field{[10]uint32{0x02d324a4, 0x0116ffe1, 0x032e2fb0, 0x012980fe, 0x005c6d2f, 0x01721905, 0x03d33869, 0x01ef4f1b, 0x025883cc, 0x002b7ed6}}, Y: Field{[10]uint32{0x030cdc5c, 0x01554fde, 0x0172222a, 0x014f325d, 0x013a5257, 0x030c36a4, 0x00415a18, 0x00b7f714, 0x02d745d8, 0x000595d3}}}, + {X: Field{[10]uint32{0x03561ae8, 0x013b73e8, 0x023e29d9, 0x029383ee, 0x01ba1f13, 0x00292f8d, 0x0054b141, 0x002972b2, 0x014ddd71, 0x00042124}}, Y: Field{[10]uint32{0x01c25e99, 0x0373e152, 0x003babe6, 0x028d6423, 0x002f2b74, 0x037e3999, 0x02ac6cda, 0x03bd8104, 0x01353240, 0x00194f28}}}, + {X: Field{[10]uint32{0x026c6f7b, 0x0337345b, 0x0033f133, 0x01abe01e, 0x0281876a, 0x02e207bf, 0x028abe50, 0x022c505e, 0x02719af3, 0x001c12a8}}, Y: Field{[10]uint32{0x03769e54, 0x013d9ba8, 0x03b9263f, 0x03d10ae9, 0x0111395a, 0x038a8690, 0x00726c9b, 0x00602f12, 0x02b348c1, 0x0029bfb8}}}, + {X: Field{[10]uint32{0x00aec289, 0x01ee0daa, 0x0108051d, 0x03a250b2, 0x03fe68b0, 0x024f19a0, 0x01f57348, 0x00aa1970, 0x00c17f5d, 0x00118123}}, Y: Field{[10]uint32{0x03288efd, 0x00681e62, 0x03277a46, 0x00d0e106, 0x032e7668, 0x02d3e28c, 0x01bf9c6b, 0x03ddf41d, 0x003089a8, 0x0036173b}}}, + {X: Field{[10]uint32{0x03fce9e9, 0x011d95dd, 0x03c763d5, 0x033d6e87, 0x0107d04c, 0x016634be, 0x02781ba8, 0x00ec858d, 0x02be315d, 0x00143c79}}, Y: Field{[10]uint32{0x026b0b00, 0x017ec3bb, 0x00db7d09, 0x03851f80, 0x0325dd0c, 0x03725887, 0x00249759, 0x02e7ca33, 0x03d62057, 0x003df72d}}}, + {X: Field{[10]uint32{0x0263501c, 0x03ff3402, 0x006d03b7, 0x03cc16f5, 0x02944df1, 0x01d23527, 0x00efa037, 0x0156b404, 0x02446766, 0x001fb428}}, Y: Field{[10]uint32{0x01c18c21, 0x00343c01, 0x028d8269, 0x0196981d, 0x01e9b3ae, 0x00dab91d, 0x02eb2669, 0x0089ed11, 0x0265593f, 0x002a0dde}}}, + {X: Field{[10]uint32{0x03ebccc7, 0x03d18c93, 0x03342c29, 0x00eec7cd, 0x0219b29d, 0x03fc6f4b, 0x01c431dc, 0x030b3d84, 0x00a1ee66, 0x000340e7}}, Y: Field{[10]uint32{0x016d736f, 0x00c4139a, 0x0076e781, 0x03845699, 0x006e652e, 0x033f7321, 0x01ff5e24, 0x0319858a, 0x018214f4, 0x0036c343}}}, + {X: Field{[10]uint32{0x03b092b7, 0x03b60429, 0x015797be, 0x0272ab58, 0x028e3672, 0x01335283, 0x031768d9, 0x03f8bd14, 0x033acc55, 0x000309e5}}, Y: Field{[10]uint32{0x01f41c99, 0x005e8500, 0x020db439, 0x03c7fdd4, 0x000878e1, 0x02e78cc5, 0x02d54029, 0x02c91b15, 0x00eab36a, 0x003370c4}}}, + {X: Field{[10]uint32{0x0046e945, 0x0030cf19, 0x01d846de, 0x02000e8b, 0x01ac14a1, 0x03880b45, 0x0072e48d, 0x031a0c95, 0x0142cce3, 0x000da10a}}, Y: Field{[10]uint32{0x03b8f2f7, 0x000ee581, 0x02bcb574, 0x03e8376b, 0x03208d95, 0x03b55826, 0x009db9ae, 0x020be8d6, 0x03f819ab, 0x0014002c}}}, + {X: Field{[10]uint32{0x0162d0e9, 0x01552b9b, 0x03d7b0c4, 0x03de1783, 0x0074865e, 0x016aed15, 0x03f3a8c5, 0x0086d467, 0x015c3386, 0x00346a86}}, Y: Field{[10]uint32{0x03b737a8, 0x019c9469, 0x03c88c2e, 0x01cea6a2, 0x00832ce7, 0x0221018c, 0x0234576d, 0x00e166d1, 0x0133dc29, 0x0039f877}}}, + {X: Field{[10]uint32{0x000f00f0, 0x03c99fd7, 0x008b0489, 0x00aa3340, 0x03a59b2c, 0x01d9bb04, 0x02bd6ff5, 0x00e7b0d9, 0x01326074, 0x0013d08f}}, Y: Field{[10]uint32{0x00e7a9f4, 0x0075e1e9, 0x034eef5e, 0x016012d3, 0x00b6c3e0, 0x01cb2223, 0x008e6aa2, 0x01305701, 0x029d7ee9, 0x00178f1f}}}, + {X: Field{[10]uint32{0x03f06c4a, 0x006ee641, 0x018c5910, 0x03eabdce, 0x00ebcb9a, 0x02d7ea6e, 0x000859a9, 0x0247bc5f, 0x0280ff89, 0x001aec71}}, Y: Field{[10]uint32{0x0269a253, 0x03fcf261, 0x0039f189, 0x03f54d6e, 0x03217005, 0x01d85717, 0x03c242c9, 0x00ab9745, 0x03750d91, 0x000c6369}}}, + {X: Field{[10]uint32{0x00096f68, 0x00b426b0, 0x03b8bd0f, 0x008cc0c0, 0x02bc3934, 0x03efb8b9, 0x00b251c9, 0x0291a97f, 0x01d44713, 0x00005025}}, Y: Field{[10]uint32{0x0204a2b1, 0x032caeb9, 0x0159322d, 0x03ec2dfd, 0x001c7aa4, 0x0219f1ff, 0x01e632f6, 0x02cdd256, 0x000b3660, 0x00191f80}}}, + {X: Field{[10]uint32{0x035e5323, 0x0184ec12, 0x03b838b2, 0x0068e3a7, 0x02894319, 0x03021e1d, 0x00f831f6, 0x0271b92a, 0x03f0346e, 0x0004844a}}, Y: Field{[10]uint32{0x0257a3d0, 0x010a61a5, 0x0210e30a, 0x0196273f, 0x01faf640, 0x03b936ae, 0x03abf62a, 0x00cf6530, 0x02c2cb45, 0x00390526}}}, + {X: Field{[10]uint32{0x03ca5738, 0x0170dc22, 0x0329b4f7, 0x029e1165, 0x014f2197, 0x02bad67f, 0x00974ebe, 0x01204360, 0x00ccc2ed, 0x003e64d8}}, Y: Field{[10]uint32{0x026f1cb3, 0x020ea4bb, 0x020dbc0c, 0x00524d40, 0x03a06e44, 0x03865c76, 0x001b9f86, 0x01ea2b0b, 0x035e86d7, 0x002e4a8b}}}, + {X: Field{[10]uint32{0x02809ca4, 0x013a01ba, 0x00567a65, 0x02712522, 0x0264ae77, 0x0394fd47, 0x032112bb, 0x00fb3121, 0x024ec81a, 0x000b7b96}}, Y: Field{[10]uint32{0x033d4954, 0x00786931, 0x033b1bcb, 0x018e4d3f, 0x02bdea4d, 0x03f3c983, 0x02a1bcff, 0x011f0702, 0x00a1df6d, 0x00078baa}}}, + {X: Field{[10]uint32{0x01461229, 0x020b1ec3, 0x006a5f23, 0x0346ef5d, 0x00b73688, 0x00371404, 0x01638f7b, 0x03ade3d2, 0x02a2139e, 0x00016ea9}}, Y: Field{[10]uint32{0x01dca81d, 0x00756549, 0x00693cc0, 0x02a58055, 0x03b08a0c, 0x03909427, 0x02a75cd9, 0x014bc67c, 0x038310a3, 0x001c99dc}}}, + {X: Field{[10]uint32{0x02913d70, 0x015a2ea0, 0x0183c8f8, 0x00b365ba, 0x02f60d10, 0x004c6791, 0x034a6f3b, 0x01135add, 0x02b9321d, 0x0028fddf}}, Y: Field{[10]uint32{0x00613a05, 0x033ae397, 0x00077d3f, 0x0195dd1c, 0x00f6db17, 0x01afb074, 0x02386302, 0x039c3c6a, 0x01df8271, 0x003e4f5d}}}, + {X: Field{[10]uint32{0x03f2cf08, 0x02421371, 0x017db72f, 0x019baefa, 0x008588d7, 0x022ba7ce, 0x00fd62d6, 0x0249d0de, 0x02b5fa1f, 0x0011ae99}}, Y: Field{[10]uint32{0x038897f9, 0x02d77648, 0x0385b72d, 0x038bb3c1, 0x01f44bf7, 0x00ab5415, 0x01f9b555, 0x02e37e4b, 0x02243078, 0x000151cf}}}, + {X: Field{[10]uint32{0x0280dbf2, 0x034873b3, 0x02af4291, 0x01732865, 0x000bccb1, 0x01547eb4, 0x03415b6f, 0x000982ca, 0x0246ddcf, 0x0036da80}}, Y: Field{[10]uint32{0x00591d3c, 0x01645fca, 0x01c7ea98, 0x01bf9d78, 0x025f8885, 0x00f34259, 0x02c6f6f6, 0x00725e95, 0x0046f93e, 0x000e5b35}}}, + {X: Field{[10]uint32{0x026c8fa1, 0x00720d1b, 0x02e8c5cc, 0x02e19a64, 0x0338187e, 0x036e86c2, 0x012c4e58, 0x026368e6, 0x011ca7a2, 0x002e0be3}}, Y: Field{[10]uint32{0x01483461, 0x02d80d80, 0x03ee028e, 0x02254cf8, 0x02b1b805, 0x02dd9f1a, 0x00fdbddd, 0x0104f235, 0x036af9b0, 0x0012c2b9}}}, + {X: Field{[10]uint32{0x0085f000, 0x003c0631, 0x014a182e, 0x035edffe, 0x01d106fd, 0x02984a18, 0x00c6348a, 0x0192bfa7, 0x02a4dc92, 0x00111ba5}}, Y: Field{[10]uint32{0x01568440, 0x00cf7c26, 0x02507c8e, 0x0032984a, 0x012771c4, 0x033d9def, 0x0223b7ec, 0x00e9607f, 0x03d92159, 0x000cb7f8}}}, + {X: Field{[10]uint32{0x003a2eb9, 0x02874e4c, 0x01fb81ad, 0x01b3616f, 0x025c8a3e, 0x01941277, 0x0300ca34, 0x01b732e7, 0x03107bfa, 0x0000321b}}, Y: Field{[10]uint32{0x0034219d, 0x02b92b9f, 0x03ed888b, 0x01f92aa9, 0x019dcb27, 0x00c8d1d3, 0x0218c6a7, 0x0020502b, 0x00667e91, 0x003993dc}}}, + {X: Field{[10]uint32{0x036cd710, 0x017d6eb6, 0x01cdb83e, 0x02acc0a9, 0x009201c2, 0x000af9ee, 0x00d94cc2, 0x010a6793, 0x036ecda1, 0x002fb63a}}, Y: Field{[10]uint32{0x01411aac, 0x01226957, 0x01256708, 0x00f08250, 0x0116a1f0, 0x01a49d1b, 0x0367b9f6, 0x02903174, 0x00fab375, 0x00055cdb}}}, + {X: Field{[10]uint32{0x0364d38f, 0x0249b823, 0x02881da1, 0x014b7a0a, 0x00665e0a, 0x035d6520, 0x03171b5a, 0x02b44107, 0x03f2c5f6, 0x002cfbe9}}, Y: Field{[10]uint32{0x031677e6, 0x017eb23f, 0x013ffc53, 0x01840fed, 0x00b6dbd3, 0x03a6380d, 0x02b0dfaa, 0x00689003, 0x00843276, 0x000f7d8f}}}, + {X: Field{[10]uint32{0x0315cbd2, 0x03149749, 0x02921ebd, 0x0305947b, 0x018fa9af, 0x027850f8, 0x01213a84, 0x026d7c8d, 0x01a0cd86, 0x002c1183}}, Y: Field{[10]uint32{0x006fd7ee, 0x02ec486e, 0x00eee865, 0x017b3d8c, 0x0146b472, 0x02d5eca6, 0x033b4c02, 0x0061df39, 0x02adf354, 0x0030468f}}}, + {X: Field{[10]uint32{0x033bc071, 0x03b0f3b5, 0x0152a49c, 0x014e9f43, 0x00b49692, 0x00b58035, 0x00191871, 0x014afacb, 0x0117a174, 0x000a2c25}}, Y: Field{[10]uint32{0x0120a326, 0x01e90f7a, 0x01ae7fce, 0x0341a437, 0x0040ffd6, 0x0102bd65, 0x01635180, 0x01d64444, 0x0308073c, 0x000d9a59}}}, + {X: Field{[10]uint32{0x03b5f136, 0x02946c3e, 0x037536b1, 0x03f11c55, 0x020ad86a, 0x002fc5fe, 0x02e76b7c, 0x032d601e, 0x00d8192a, 0x001486fb}}, Y: Field{[10]uint32{0x01ac858d, 0x01ffa0dd, 0x026691dc, 0x003bb7cc, 0x02ee0671, 0x015145a0, 0x00f399e1, 0x03c4fb33, 0x00c6d7af, 0x00192295}}}, + {X: Field{[10]uint32{0x01f6cf67, 0x02dd87de, 0x01082368, 0x029ddb4e, 0x02a2a200, 0x0161f613, 0x009bca1b, 0x0275949b, 0x01d0b7fd, 0x002def06}}, Y: Field{[10]uint32{0x0370acae, 0x025ba347, 0x023ad2f7, 0x03fbfeff, 0x024a1e9f, 0x01cc58ed, 0x012c29a7, 0x03233d09, 0x02bee0d0, 0x0016b7be}}}, + {X: Field{[10]uint32{0x017aea8b, 0x00c7c34e, 0x03114dc9, 0x01b704f9, 0x0066db7b, 0x0055633b, 0x030c2412, 0x02a35507, 0x03e51b6c, 0x0039238e}}, Y: Field{[10]uint32{0x020f28ac, 0x01079f83, 0x004314bf, 0x00fbe7dd, 0x01f6cb3a, 0x03c4ad19, 0x03064bff, 0x038bc4c3, 0x03575b16, 0x0036f3d8}}}, + {X: Field{[10]uint32{0x03455751, 0x03d0a427, 0x028909b2, 0x02d65d67, 0x014ec795, 0x038a3ca9, 0x02475968, 0x024a9a8c, 0x02de71c6, 0x0000e571}}, Y: Field{[10]uint32{0x0269a13d, 0x030b2169, 0x003c3fcf, 0x0391266f, 0x03b5b097, 0x02b28557, 0x02ed4e15, 0x03768b07, 0x011803c7, 0x003b9780}}}, + {X: Field{[10]uint32{0x02808d99, 0x01814af2, 0x009a81a6, 0x02aa293a, 0x02663da3, 0x0303fb0d, 0x03412919, 0x010e6489, 0x02c3b118, 0x000a24e2}}, Y: Field{[10]uint32{0x03174603, 0x002e6193, 0x025f8031, 0x0256e87a, 0x00da1682, 0x0032e684, 0x03eadb18, 0x0306fa8a, 0x027ab1eb, 0x0012ba37}}}, + {X: Field{[10]uint32{0x0248f5a4, 0x00fb9ad4, 0x036f5852, 0x013f428d, 0x03be3af6, 0x0389fa14, 0x01472f23, 0x0233d881, 0x021895e8, 0x0001703d}}, Y: Field{[10]uint32{0x004be51b, 0x02c70f79, 0x02624b41, 0x0360d107, 0x038473e3, 0x03f6d43e, 0x03634569, 0x03aecedc, 0x0055cd09, 0x002f970f}}}, + {X: Field{[10]uint32{0x023ca1d7, 0x01536b17, 0x02ec0015, 0x004c7ae8, 0x02ae2e8f, 0x01fb416e, 0x028e125f, 0x03dccfb4, 0x03bf22d0, 0x002af87d}}, Y: Field{[10]uint32{0x02b0ab4e, 0x02a8b106, 0x02ffc918, 0x02d656ba, 0x03e553e6, 0x0265b2cc, 0x008ffe4b, 0x007daa5c, 0x00db3de3, 0x000a9692}}}, + {X: Field{[10]uint32{0x008d8be7, 0x03f4a738, 0x02349bcc, 0x03b110a9, 0x015f1dbe, 0x0298244a, 0x0124907e, 0x01c2cde4, 0x002757d3, 0x0030c109}}, Y: Field{[10]uint32{0x01868934, 0x01d73a6c, 0x031448bb, 0x0304a7a3, 0x01528959, 0x02326047, 0x01b35e2f, 0x0369d54d, 0x02b33e0f, 0x0019e993}}}, + {X: Field{[10]uint32{0x0140f5b8, 0x014cbf8c, 0x01c21c81, 0x0119abd0, 0x03031527, 0x038690fd, 0x02f0b6a9, 0x008675de, 0x0146356f, 0x00196966}}, Y: Field{[10]uint32{0x00f35918, 0x00e9871d, 0x0241f246, 0x0164f611, 0x001692b0, 0x001c3688, 0x00cf27fc, 0x013e8146, 0x028d5d3e, 0x001939c4}}}, + {X: Field{[10]uint32{0x001413e2, 0x03ad4fc5, 0x0219ede2, 0x02df536b, 0x0060311c, 0x02e67684, 0x03066f2b, 0x02321d1a, 0x023b4842, 0x001b1f4b}}, Y: Field{[10]uint32{0x00b7e3a1, 0x0192f2db, 0x007ab2a6, 0x03f8a3df, 0x03286292, 0x03b5ece0, 0x022864d1, 0x0319c137, 0x03bfc2e7, 0x00012e91}}}, + {X: Field{[10]uint32{0x03fdcdd9, 0x033d63a4, 0x019cf44a, 0x01fe914e, 0x03565579, 0x0324ffd5, 0x03798a9b, 0x02270ad1, 0x03bdb99c, 0x00037495}}, Y: Field{[10]uint32{0x01b3e4af, 0x00ab8db0, 0x020cc1af, 0x02058e43, 0x03e8194f, 0x010a2440, 0x027e0d71, 0x01fc954b, 0x00f2a920, 0x003e359c}}}, + {X: Field{[10]uint32{0x00c23d7b, 0x02ad79bb, 0x0263eb2a, 0x01f2c23c, 0x026827b8, 0x03351f18, 0x0152b8fa, 0x0310910a, 0x034eb8dd, 0x00094580}}, Y: Field{[10]uint32{0x0216ac9e, 0x031d6858, 0x02826433, 0x00d12d21, 0x00bd2ab5, 0x01cc774c, 0x03545bca, 0x03a81eb4, 0x0079f5fe, 0x002b63a2}}}, + {X: Field{[10]uint32{0x0134246d, 0x037382b6, 0x0180b907, 0x00559646, 0x017f0752, 0x00847b70, 0x01834b38, 0x02478ec6, 0x005427b5, 0x001f9c8c}}, Y: Field{[10]uint32{0x0263a71f, 0x020051d3, 0x034e33b0, 0x03a38c91, 0x032506be, 0x00261d82, 0x01671df1, 0x02129bc8, 0x00bbd8c1, 0x0017247f}}}, + {X: Field{[10]uint32{0x01d1898b, 0x0174e65b, 0x0333e72b, 0x01ffbe77, 0x038d4fb5, 0x0169bdae, 0x03876914, 0x0034a812, 0x0116ac3c, 0x0006c7e7}}, Y: Field{[10]uint32{0x035b4b1b, 0x034299fc, 0x01bd1024, 0x014e5146, 0x0215e944, 0x01890696, 0x00a399e1, 0x039142c5, 0x031e05ff, 0x001910af}}}, + {X: Field{[10]uint32{0x00872f2b, 0x001b18ff, 0x01a23e90, 0x01364f14, 0x0265b514, 0x02598c71, 0x039f6715, 0x03a90e8e, 0x024e57cd, 0x00383c7e}}, Y: Field{[10]uint32{0x0332e564, 0x02705dab, 0x018640a4, 0x037b349f, 0x0374f9a3, 0x00547751, 0x02056170, 0x003450bd, 0x01fb5489, 0x00320e14}}}, + {X: Field{[10]uint32{0x02728c3a, 0x0284bacc, 0x03d0b3e9, 0x009e675e, 0x0040efa0, 0x00a8281e, 0x01a3667b, 0x02082894, 0x03bb697c, 0x0002ba56}}, Y: Field{[10]uint32{0x03aebb41, 0x016c521a, 0x03f10e68, 0x0371ee00, 0x011140e0, 0x016b9427, 0x02a4da94, 0x0025b61b, 0x02970280, 0x003836ee}}}, + {X: Field{[10]uint32{0x002aed31, 0x00d01d9a, 0x01b3069e, 0x02b9b9fc, 0x030afad1, 0x014ffe30, 0x02529ea8, 0x03d0b07f, 0x0085d52e, 0x003f23fe}}, Y: Field{[10]uint32{0x01e3dd14, 0x0382992c, 0x00850433, 0x01c50cab, 0x0209cced, 0x00d5b406, 0x0104f1b3, 0x023d89ee, 0x02d4b26e, 0x001497b3}}}, + {X: Field{[10]uint32{0x02c8e810, 0x0272accc, 0x02546c62, 0x00f04d94, 0x00ed68d6, 0x02a59683, 0x01b57533, 0x01896835, 0x036a459d, 0x001984c4}}, Y: Field{[10]uint32{0x015b65cb, 0x02614ed9, 0x0069b93a, 0x00050049, 0x0228b4cb, 0x02c5a2f4, 0x01732b43, 0x002a52cf, 0x03f824d3, 0x00043ca7}}}, + {X: Field{[10]uint32{0x01ea56f0, 0x03d68df7, 0x01b91f24, 0x0107daf8, 0x0319dda8, 0x01bbced8, 0x02309b39, 0x00cc9f1d, 0x01157b68, 0x00114216}}, Y: Field{[10]uint32{0x01956821, 0x01d953e4, 0x02a12bbc, 0x02fed2c6, 0x032b6ebb, 0x0023569a, 0x0155e34f, 0x022391a8, 0x0046584a, 0x002e69c5}}}, + {X: Field{[10]uint32{0x008a4325, 0x00bcfddf, 0x0064f0e3, 0x013089d1, 0x01be58af, 0x035785c4, 0x0382576c, 0x02e8377a, 0x03bd8f10, 0x0005a3b8}}, Y: Field{[10]uint32{0x0278b34c, 0x01d08099, 0x0388668b, 0x02116082, 0x00465fb1, 0x020be1c0, 0x016891c9, 0x01027ea4, 0x026343ff, 0x001bbbc7}}}, + {X: Field{[10]uint32{0x03048c04, 0x0009c53b, 0x0131b718, 0x013181de, 0x00fdd86b, 0x02c800f9, 0x034db8de, 0x008d053a, 0x0197763c, 0x002cc647}}, Y: Field{[10]uint32{0x02152edd, 0x016a0f30, 0x00a04f88, 0x0358ddc4, 0x03ce6860, 0x03af7570, 0x03d53d83, 0x01d72af9, 0x008559f9, 0x002d2b0c}}}, + {X: Field{[10]uint32{0x022f8738, 0x0280898e, 0x0096a51e, 0x03f3c804, 0x033ec477, 0x03a4fd2e, 0x032acca1, 0x03724cf1, 0x005b4e73, 0x0036a757}}, Y: Field{[10]uint32{0x0012f8aa, 0x02cc826a, 0x015b50b4, 0x03422c28, 0x01400c05, 0x018d9944, 0x01b93b0d, 0x019b0da2, 0x02da65f9, 0x001feda8}}}, + {X: Field{[10]uint32{0x00b0dd66, 0x0196f339, 0x0215c01e, 0x02825538, 0x008d1cfa, 0x0314991c, 0x011730f0, 0x0159e05e, 0x01d2a7e7, 0x00050395}}, Y: Field{[10]uint32{0x0153d5b3, 0x00165042, 0x0118bce8, 0x0397225e, 0x0087e2d5, 0x03bcd8c6, 0x02470d81, 0x00965e47, 0x00d863ea, 0x0012fee8}}}, + {X: Field{[10]uint32{0x02b173d8, 0x00e67ac5, 0x00a1cf3f, 0x03e198d1, 0x03b438f7, 0x03f8f62f, 0x029bd01b, 0x03321f3b, 0x00f64b95, 0x00056a73}}, Y: Field{[10]uint32{0x03b33f3b, 0x018f2366, 0x03f90e03, 0x0269b946, 0x035d0ba5, 0x002cc6a4, 0x01e51fbf, 0x03b49581, 0x02cdbdeb, 0x0013d51c}}}, + {X: Field{[10]uint32{0x00af6e06, 0x032a8f62, 0x0088f814, 0x0244b42a, 0x00c7ed5e, 0x02b4606f, 0x033d3d8f, 0x01c076de, 0x024b6776, 0x003a1b8d}}, Y: Field{[10]uint32{0x01ea7b92, 0x0130d5d3, 0x00915f83, 0x03452989, 0x0124a466, 0x018a1a62, 0x0195518c, 0x001034fa, 0x00600afc, 0x00008bf5}}}, + {X: Field{[10]uint32{0x02500eb6, 0x020beb96, 0x03ddbfc2, 0x00ea9b56, 0x03b1f81d, 0x008faf39, 0x021134c7, 0x03c36c8c, 0x0298cd25, 0x000f0986}}, Y: Field{[10]uint32{0x03abd9c1, 0x00d7f15d, 0x02cbc455, 0x001b7abb, 0x004027a5, 0x0325a99b, 0x00b6ed7e, 0x02084629, 0x01455e49, 0x000ae348}}}, + {X: Field{[10]uint32{0x00c955c8, 0x0151bb7d, 0x0300bd66, 0x017408e0, 0x00368c3b, 0x01deab3f, 0x03b1f6c1, 0x02d45db2, 0x00114d55, 0x00126daa}}, Y: Field{[10]uint32{0x03815b94, 0x00d60e28, 0x01bca5b5, 0x0044e475, 0x020ab944, 0x03c6c2ca, 0x038e0017, 0x039f041a, 0x00a409f0, 0x00346c49}}}, + {X: Field{[10]uint32{0x0125f6b9, 0x02a36b31, 0x03f71f34, 0x007fde90, 0x016cee80, 0x003312e0, 0x01deab62, 0x039694fe, 0x0061f0d3, 0x001bb23a}}, Y: Field{[10]uint32{0x02dcfd6a, 0x00006ae9, 0x02e27782, 0x01c718fe, 0x011e01a8, 0x02dad7ac, 0x009c4f7e, 0x02bef4cc, 0x005b68cc, 0x0010b815}}}, + {X: Field{[10]uint32{0x0195b9ac, 0x02262a91, 0x03e1ac08, 0x015d1903, 0x004b527e, 0x023c5369, 0x005a2e2a, 0x02973f4c, 0x034159ac, 0x001cd0ac}}, Y: Field{[10]uint32{0x03160124, 0x01748d14, 0x01ac121b, 0x0102b21b, 0x0127f64f, 0x03a984a0, 0x03969a84, 0x00bb88d8, 0x0302d244, 0x002d4984}}}, + {X: Field{[10]uint32{0x02686fa9, 0x034c2e56, 0x0054b687, 0x015e9827, 0x00b27477, 0x03c9a59f, 0x01cfc43d, 0x00d42d97, 0x00bd54ef, 0x00210acc}}, Y: Field{[10]uint32{0x0336ead6, 0x016b20fc, 0x0277b9cc, 0x01f1c79f, 0x037d594f, 0x01723795, 0x0331f63f, 0x00dae7b3, 0x02922caa, 0x0013fea7}}}, + {X: Field{[10]uint32{0x01f94862, 0x02381306, 0x02153999, 0x0028fa46, 0x037c13bb, 0x0255d5fb, 0x03fb60d4, 0x029f1ef0, 0x035dd589, 0x000b6e90}}, Y: Field{[10]uint32{0x028cc0a1, 0x03522257, 0x013ed55c, 0x0171f7e1, 0x00931d3e, 0x01dd7940, 0x038eca16, 0x00f2e748, 0x020ea4b2, 0x0031101c}}}, + {X: Field{[10]uint32{0x033bec02, 0x034f1171, 0x01c07998, 0x02f4f40d, 0x02bb284f, 0x0064e42f, 0x035a4578, 0x03396ca9, 0x01248f84, 0x002747a1}}, Y: Field{[10]uint32{0x00eb9ead, 0x0201d325, 0x03f40129, 0x033e126f, 0x036d62e8, 0x02a018fc, 0x038bbc84, 0x0332b08c, 0x024cc935, 0x0023903b}}}, + {X: Field{[10]uint32{0x00b441af, 0x0158b4b6, 0x01cf4e76, 0x008d8b89, 0x019a7f86, 0x005525d5, 0x03639121, 0x029d6f53, 0x02c5d1fb, 0x00349cd6}}, Y: Field{[10]uint32{0x01afc081, 0x023ecd9f, 0x0331da1d, 0x01b4727e, 0x01b4ade8, 0x02d4bcf9, 0x037cb0e5, 0x03cce5de, 0x003619f9, 0x0002f4ab}}}, + {X: Field{[10]uint32{0x00a3e11a, 0x00eb7fac, 0x017cdca6, 0x025b82a5, 0x01b27c2b, 0x015ca4e5, 0x01a68d31, 0x03fc4eb4, 0x0238f46c, 0x002c04c3}}, Y: Field{[10]uint32{0x006aa3c4, 0x01666803, 0x001b5535, 0x00590d9b, 0x02610f15, 0x02c45dda, 0x02ff8443, 0x0100721f, 0x017f4a61, 0x000f67da}}}, + {X: Field{[10]uint32{0x01ec76a7, 0x00b99a0d, 0x02caaed8, 0x01e0a650, 0x03f59faa, 0x02e277a2, 0x022d8f33, 0x01abe2d9, 0x022f1530, 0x00382a81}}, Y: Field{[10]uint32{0x015e6f2e, 0x01115fb0, 0x0218179a, 0x015097f1, 0x0334305b, 0x02b260e1, 0x01ffb8ac, 0x01cc1297, 0x00b56ea7, 0x00317d7c}}}, + {X: Field{[10]uint32{0x019432d5, 0x012f42c0, 0x004139f4, 0x021665eb, 0x002156d6, 0x03a61d7b, 0x03e15c4a, 0x03472461, 0x02c1a8e6, 0x003b4589}}, Y: Field{[10]uint32{0x01f0c35d, 0x01410a5c, 0x00d7e69d, 0x011b164e, 0x037f0fad, 0x039cdcfd, 0x035e531e, 0x0128fd08, 0x015b9dcb, 0x000f0362}}}, + {X: Field{[10]uint32{0x01c92833, 0x034bb413, 0x00be8431, 0x036e1b81, 0x00664744, 0x01325d3e, 0x0025aa67, 0x03f6be33, 0x00314e18, 0x0028b333}}, Y: Field{[10]uint32{0x0359d71c, 0x00e9d3f1, 0x038a846c, 0x02230190, 0x002e1b9c, 0x019cbd79, 0x00e55368, 0x01c7bb48, 0x0249d6d4, 0x002d9043}}}, + {X: Field{[10]uint32{0x0268bf27, 0x03d9d6fd, 0x0331fa35, 0x0018f552, 0x00b3b24e, 0x00b65aa2, 0x0319119b, 0x03d8b12b, 0x012fdb15, 0x0016ff06}}, Y: Field{[10]uint32{0x03d99051, 0x02786611, 0x0223b609, 0x01890087, 0x02dbe0dc, 0x03d8a8e2, 0x0031bb39, 0x03850241, 0x0374acb4, 0x00119dd0}}}, + {X: Field{[10]uint32{0x01227028, 0x02ad7c02, 0x0090e97d, 0x015621ab, 0x0161eb21, 0x01fbec02, 0x022e5539, 0x031010ca, 0x0289da73, 0x0019a10a}}, Y: Field{[10]uint32{0x01941de9, 0x00602448, 0x02f4e90b, 0x031a2726, 0x01da171b, 0x00405b36, 0x012dc9df, 0x02812223, 0x03c3511e, 0x000ea3a0}}}, + {X: Field{[10]uint32{0x01c516e8, 0x001d9af3, 0x002f7181, 0x0137564d, 0x03e3a4a8, 0x03ba2e4a, 0x01f89913, 0x017e6351, 0x01973ba9, 0x003b208c}}, Y: Field{[10]uint32{0x037206fe, 0x0097866a, 0x032aef1d, 0x01b6b265, 0x0177d547, 0x02a54ed7, 0x033bc882, 0x00fd3865, 0x0079f511, 0x0014cb4f}}}, + {X: Field{[10]uint32{0x02fc140b, 0x009467dc, 0x007ad1ac, 0x01b0caac, 0x03e8e8e2, 0x03cfb4e7, 0x015e5b65, 0x0185dabb, 0x0278bc51, 0x000ed97f}}, Y: Field{[10]uint32{0x00208d98, 0x03deb7e6, 0x02c1b9c9, 0x035cc533, 0x02566a1f, 0x019be577, 0x037f9764, 0x03ae704f, 0x02de5190, 0x00215b4d}}}, + {X: Field{[10]uint32{0x018cc346, 0x01880db4, 0x03945182, 0x02cc9c8a, 0x01f9f31e, 0x00ff7402, 0x02545ce8, 0x00d497a7, 0x02ca51c4, 0x0000eb03}}, Y: Field{[10]uint32{0x0213a7e6, 0x00c092a8, 0x01e509ab, 0x0322c4d3, 0x00325beb, 0x01038251, 0x004ef313, 0x02933cc9, 0x018bc3b2, 0x00371c80}}}, + {X: Field{[10]uint32{0x02e23508, 0x014e810b, 0x0172ffbe, 0x02e6ed42, 0x00bcdac8, 0x005f66f8, 0x012db7c2, 0x03b39bb7, 0x018d6c50, 0x00124a59}}, Y: Field{[10]uint32{0x02cec38a, 0x012f642a, 0x00c3a728, 0x03e35e84, 0x016dfc8d, 0x008ca1d0, 0x0155980a, 0x02ef52e1, 0x002c61aa, 0x00396b29}}}, + {X: Field{[10]uint32{0x013a6291, 0x002ad6c5, 0x022781d6, 0x02ad2469, 0x037830e2, 0x031b48a5, 0x029e7488, 0x01924bc3, 0x036f4bc9, 0x002745b9}}, Y: Field{[10]uint32{0x015ac7ab, 0x0099bb22, 0x01711da7, 0x0228113a, 0x015eaa98, 0x01dc2bbd, 0x00363189, 0x01a48815, 0x0300e4ac, 0x00399643}}}, + {X: Field{[10]uint32{0x035df94d, 0x026cae07, 0x0276d5e0, 0x01a89f01, 0x014e13b3, 0x03fe5eb7, 0x02a9bbe7, 0x039febd4, 0x004a1327, 0x002c1927}}, Y: Field{[10]uint32{0x0091acdd, 0x01570f0e, 0x02d120b3, 0x00206981, 0x02d79fdd, 0x01fdd6a2, 0x032a0807, 0x01a12381, 0x0316a6f3, 0x00264720}}}, + {X: Field{[10]uint32{0x0052235d, 0x0304af6c, 0x013c96b7, 0x03d817f8, 0x03eb39a8, 0x0129285a, 0x01ce51c4, 0x00f7b4b2, 0x0221f630, 0x0023c652}}, Y: Field{[10]uint32{0x0330739e, 0x015749a5, 0x030f1bd7, 0x00b3b7f9, 0x01c63517, 0x0268b721, 0x01afb23e, 0x020b8951, 0x03d0c9af, 0x002f477c}}}, + {X: Field{[10]uint32{0x03e21ff0, 0x021fc77b, 0x0262a60e, 0x00871b08, 0x033872b7, 0x03579996, 0x037f6c3d, 0x0133651d, 0x0297cc7a, 0x000769c6}}, Y: Field{[10]uint32{0x00be6a06, 0x03411a01, 0x026e87f0, 0x03a19a8f, 0x030a4d30, 0x009cebfa, 0x032b9af1, 0x01b869eb, 0x02413903, 0x001e345e}}}, + {X: Field{[10]uint32{0x0386aa45, 0x01ebcf37, 0x0290f7a3, 0x006ec604, 0x03e04e40, 0x0148a471, 0x02fabb1c, 0x03c98b4f, 0x0363e493, 0x00027fb4}}, Y: Field{[10]uint32{0x003de729, 0x03fe0d9c, 0x00d6cb3f, 0x00da437f, 0x0353a54f, 0x02972597, 0x01b18276, 0x02b7fefb, 0x033ee164, 0x0004c330}}}, + {X: Field{[10]uint32{0x03a1e49f, 0x01d6a1e9, 0x0298febb, 0x00eb079e, 0x007a601a, 0x032ed850, 0x01ebc38f, 0x00d5a066, 0x00cd221c, 0x003459bb}}, Y: Field{[10]uint32{0x0072f06e, 0x0257dda8, 0x003c9937, 0x01f33952, 0x00b0628c, 0x0152150d, 0x00ec5628, 0x0002f577, 0x02b7e7c2, 0x00098888}}}, + {X: Field{[10]uint32{0x01dbe0fd, 0x002482a3, 0x035cc293, 0x01b8e4d0, 0x02b998a5, 0x02528ba3, 0x03078392, 0x01c30730, 0x00bd3e37, 0x0039e14f}}, Y: Field{[10]uint32{0x000e5a8e, 0x00503da6, 0x0050b80a, 0x02c63e92, 0x00cff1e7, 0x0008f0ef, 0x01d29181, 0x01f31259, 0x02ca6714, 0x001e5df9}}}, + {X: Field{[10]uint32{0x0227a17f, 0x03d27158, 0x03511480, 0x039c108f, 0x0251036c, 0x02c687c0, 0x02a3cd56, 0x000804af, 0x02b1cb14, 0x002a2c3f}}, Y: Field{[10]uint32{0x01ba8a9f, 0x02773e9d, 0x037b527c, 0x02483225, 0x0367afe7, 0x00e00723, 0x00eedd6d, 0x02db6db3, 0x03db9d3a, 0x003335f0}}}, + {X: Field{[10]uint32{0x02d617d7, 0x0167db15, 0x02b26c90, 0x001aa11a, 0x006d02e4, 0x013d62e6, 0x02905797, 0x015d54c7, 0x01d9e181, 0x0015f397}}, Y: Field{[10]uint32{0x02142d14, 0x006b18ff, 0x01bc4e85, 0x03c97bf2, 0x01829f61, 0x02a3e6bb, 0x01598f8a, 0x03cc589a, 0x00904399, 0x00330d30}}}, + {X: Field{[10]uint32{0x00f9c858, 0x02e61bf4, 0x02f2d6c8, 0x031b2fc0, 0x008077b6, 0x0196acf9, 0x03bbc1d3, 0x03f1b6fb, 0x00b64f60, 0x0011e5e4}}, Y: Field{[10]uint32{0x007f2f9b, 0x022cd582, 0x03f435df, 0x006a57a6, 0x025cff91, 0x00f923e9, 0x025382ae, 0x00649774, 0x0182e358, 0x00055fd2}}}, + {X: Field{[10]uint32{0x03f17c68, 0x019421ff, 0x03b1ccb2, 0x0328f2cd, 0x008ee0a0, 0x004ef9db, 0x001b6228, 0x00290486, 0x007b1ffe, 0x000156af}}, Y: Field{[10]uint32{0x0171d99f, 0x03b7532a, 0x032d669b, 0x02fe0a0f, 0x01606272, 0x02877496, 0x039e6030, 0x01314d33, 0x024923e9, 0x002f44d0}}}, + {X: Field{[10]uint32{0x00d2e659, 0x019ce509, 0x011da1dc, 0x03807514, 0x02bd3156, 0x0397dc27, 0x004d4310, 0x0359eae0, 0x00328bf5, 0x001b29f8}}, Y: Field{[10]uint32{0x02ca2647, 0x008815d7, 0x01a69077, 0x03d1b4ac, 0x00d80aaa, 0x03e1c360, 0x011c2ff2, 0x00e42595, 0x0133f368, 0x00310a2c}}}, + {X: Field{[10]uint32{0x01f530d3, 0x0167a44b, 0x014dd999, 0x03ba706b, 0x02346ae4, 0x02ebea2c, 0x03d20baf, 0x0021b132, 0x01a983e9, 0x001837c6}}, Y: Field{[10]uint32{0x0379cc48, 0x022dec0e, 0x01e31d7a, 0x03e211c0, 0x01a09d60, 0x0393a393, 0x01c2f1e0, 0x005e8108, 0x005429f8, 0x0036b9ee}}}, + {X: Field{[10]uint32{0x03686bce, 0x009b5b74, 0x012c7e1d, 0x00141ae9, 0x035c22ff, 0x01668e11, 0x0180ea1c, 0x03cab6eb, 0x010e5ef5, 0x001bc635}}, Y: Field{[10]uint32{0x00d7d7a9, 0x00cdab7c, 0x038f513a, 0x01756d15, 0x00d3f340, 0x030de1b8, 0x00f5c83b, 0x03bf43eb, 0x020fa166, 0x003475fa}}}, + {X: Field{[10]uint32{0x03d949e0, 0x03a281cb, 0x01233b3b, 0x00399796, 0x01fcdfe0, 0x0377ba76, 0x009569a8, 0x004cd92b, 0x009d5ed5, 0x002d8d37}}, Y: Field{[10]uint32{0x0331db69, 0x01b40dba, 0x021a70e8, 0x01d9958a, 0x02fdf189, 0x0370d15b, 0x01a505cb, 0x0095d7c9, 0x02e2c61b, 0x0035cb91}}}, + {X: Field{[10]uint32{0x03445910, 0x0159bf65, 0x00f0e4fc, 0x020da7d7, 0x0340d919, 0x00f6f16a, 0x02461714, 0x0093cf99, 0x00f02dba, 0x00168dff}}, Y: Field{[10]uint32{0x01c69d1e, 0x010918dd, 0x00b59c33, 0x00f4a5d7, 0x0333e615, 0x00531e11, 0x02a95826, 0x01d1b198, 0x01d813f8, 0x002a5834}}}, + {X: Field{[10]uint32{0x0112661c, 0x00eb86fc, 0x029e11b8, 0x023c6aac, 0x01eeeb8f, 0x0065b63f, 0x00201b6b, 0x0200cb18, 0x02a73731, 0x0022abc5}}, Y: Field{[10]uint32{0x039a8e44, 0x02ead22a, 0x0215d611, 0x025661f1, 0x036d03a7, 0x0117cab9, 0x03cc0c28, 0x02929d58, 0x035666a3, 0x0031187b}}}, + {X: Field{[10]uint32{0x035e3434, 0x012e2bab, 0x0004d9cd, 0x024d0b0a, 0x011d85a6, 0x001ca711, 0x03e7f49e, 0x0057bf64, 0x03a5a05f, 0x00115bc2}}, Y: Field{[10]uint32{0x0311cad5, 0x01fb2c9c, 0x0135bb0f, 0x02f612e4, 0x0213f616, 0x00c10785, 0x006da131, 0x006a2dfd, 0x00a99922, 0x0029a03d}}}, + {X: Field{[10]uint32{0x00f5c741, 0x02cd32ce, 0x0170a9d0, 0x003e85e2, 0x014bfdc9, 0x00784b2e, 0x03146d93, 0x015025d7, 0x02a1f190, 0x003e270d}}, Y: Field{[10]uint32{0x0044099b, 0x0348dd67, 0x01646579, 0x0233ad28, 0x034b1df3, 0x0307fe8e, 0x01866159, 0x006e4a84, 0x008058e3, 0x000ed58b}}}, + {X: Field{[10]uint32{0x01f3f76a, 0x030940d0, 0x004289d2, 0x0398cbcc, 0x00e23876, 0x035a73ed, 0x00c49031, 0x02180036, 0x03112e1d, 0x001fdafa}}, Y: Field{[10]uint32{0x00ff4a9b, 0x03743b29, 0x02fb90cd, 0x035ba33d, 0x0008d98e, 0x00589ee6, 0x0194b9b5, 0x016bf2fa, 0x0007c092, 0x002864dd}}}, + {X: Field{[10]uint32{0x02d73511, 0x03718184, 0x000d3827, 0x010c653d, 0x011010f5, 0x03475400, 0x037130ba, 0x031f0de2, 0x00aab585, 0x002416b4}}, Y: Field{[10]uint32{0x037177a9, 0x02e00942, 0x018aab83, 0x007e8b82, 0x00a44782, 0x024745b5, 0x00130aee, 0x0334e054, 0x0301c3dd, 0x002ff381}}}, + {X: Field{[10]uint32{0x03408b6c, 0x0145487d, 0x032aef1d, 0x03d1d542, 0x01e54187, 0x02d80cf4, 0x001e7a30, 0x00bf29c8, 0x02d16212, 0x003d5670}}, Y: Field{[10]uint32{0x00154481, 0x0059eb4d, 0x017f25dc, 0x0108e33b, 0x037695ea, 0x00c4209c, 0x02f04dc4, 0x03ac51fd, 0x0222dfd0, 0x000fc435}}}, + {X: Field{[10]uint32{0x018ce8b4, 0x0364741c, 0x023456f4, 0x00330d85, 0x037c0d8a, 0x022fb7d4, 0x02e5830a, 0x00527332, 0x00a4fa17, 0x00066cca}}, Y: Field{[10]uint32{0x02582f64, 0x01134127, 0x00855126, 0x0024975a, 0x01fdff7f, 0x039e19de, 0x01258838, 0x01a48da6, 0x000a2a4e, 0x0026873a}}}, + {X: Field{[10]uint32{0x01ad5d4a, 0x024d922b, 0x03e533a3, 0x03d02487, 0x032743d4, 0x0069a82f, 0x00abc24c, 0x0066f3af, 0x00a0e756, 0x002beae6}}, Y: Field{[10]uint32{0x023a32db, 0x034e6fa4, 0x017157df, 0x038c4f5d, 0x007c8e5b, 0x007ca684, 0x0341c092, 0x00e695e5, 0x02877591, 0x002fc6ce}}}, + {X: Field{[10]uint32{0x024181c7, 0x0247f63b, 0x01085cca, 0x03ba05db, 0x01b2dfe0, 0x020ea3b2, 0x01b36d9c, 0x028d36b7, 0x037c1d86, 0x0030b2af}}, Y: Field{[10]uint32{0x0191070f, 0x0349ea93, 0x032acf51, 0x0143a725, 0x01159ab1, 0x03b3ae3d, 0x00465bd6, 0x00cd71c9, 0x032453f1, 0x0016ccad}}}, + {X: Field{[10]uint32{0x0289f593, 0x035b3f0a, 0x02be4f5a, 0x03e8b068, 0x024f6e9c, 0x03050d57, 0x028c5347, 0x01d148a6, 0x00248e84, 0x0024a0e5}}, Y: Field{[10]uint32{0x008c3a07, 0x02285c5f, 0x02996c88, 0x0057594b, 0x0051983b, 0x011bebda, 0x00a7b4a1, 0x03b81a67, 0x005dfd41, 0x002ee716}}}, + {X: Field{[10]uint32{0x033c7dfa, 0x030c3431, 0x03b4aa8d, 0x004b4327, 0x0155e55f, 0x005ef5eb, 0x00cba646, 0x03c61082, 0x013c389e, 0x002f28a1}}, Y: Field{[10]uint32{0x01df63a2, 0x02235e78, 0x01340175, 0x00b80799, 0x02fe9a14, 0x01a98bee, 0x005952b1, 0x03b7b4f5, 0x009ef32a, 0x0027d04a}}}, + {X: Field{[10]uint32{0x01bf56fd, 0x013ca05c, 0x037e4a0e, 0x02f4df29, 0x015745b7, 0x03399cb1, 0x0353aea5, 0x0196a3af, 0x03da94b5, 0x00293a9e}}, Y: Field{[10]uint32{0x013e96bc, 0x03339aa2, 0x00fb0970, 0x00c4deec, 0x02629eef, 0x00b1654f, 0x01e1a284, 0x03aa426e, 0x00851405, 0x0032541d}}}, + {X: Field{[10]uint32{0x00d5e169, 0x0139e318, 0x03b1ff75, 0x022a149e, 0x03da57c1, 0x02268900, 0x0327ced0, 0x004e7b5c, 0x0145af71, 0x001c5c1f}}, Y: Field{[10]uint32{0x00223ef9, 0x037a75c4, 0x0185f1b9, 0x00e7f4f1, 0x013eef0f, 0x01691df7, 0x034e4a85, 0x029bce8f, 0x0084fe4d, 0x00092cd9}}}, + {X: Field{[10]uint32{0x03df9a05, 0x029c1b93, 0x028c07dd, 0x03db5cc8, 0x015b1f5f, 0x01ae3fd4, 0x01cf4d23, 0x03d64675, 0x02030296, 0x0014b077}}, Y: Field{[10]uint32{0x02344d0e, 0x0074d356, 0x03c5135d, 0x00524181, 0x01c95097, 0x0368ede1, 0x00066e4f, 0x0355d0e1, 0x01590d73, 0x0036e563}}}, + {X: Field{[10]uint32{0x0368912f, 0x007a9888, 0x03120d8b, 0x001f7e09, 0x0374dc20, 0x02f32ee1, 0x0291989c, 0x03a114c1, 0x00b07852, 0x001ec270}}, Y: Field{[10]uint32{0x002bd263, 0x0027a13e, 0x01f3be9c, 0x01736a5e, 0x0109545a, 0x01e0ae93, 0x02ebeeb0, 0x00a05f43, 0x0317ffc5, 0x0013b7d5}}}, + {X: Field{[10]uint32{0x03b8300a, 0x031a277f, 0x02540681, 0x01899acc, 0x03f26e70, 0x038ecf00, 0x00088343, 0x0346a0af, 0x00ceb29a, 0x003a661c}}, Y: Field{[10]uint32{0x01597f9f, 0x01e16a33, 0x00fadc6f, 0x00f6448c, 0x008ff75e, 0x005345ea, 0x0012dbc6, 0x01f596f3, 0x01927894, 0x0020202b}}}, + {X: Field{[10]uint32{0x005c38e7, 0x00e90d08, 0x02444adc, 0x02f4ae44, 0x022dd2c2, 0x00f5317b, 0x01b4cb9c, 0x0204e617, 0x026de28b, 0x0031f88c}}, Y: Field{[10]uint32{0x02ad940e, 0x02fd7871, 0x0099d195, 0x023150f6, 0x01d31adf, 0x005df3c1, 0x0387000e, 0x0332547e, 0x03f9cdc0, 0x0017ca18}}}, + {X: Field{[10]uint32{0x023f7965, 0x026d574f, 0x02244119, 0x01ad7a94, 0x014c6bb6, 0x023ee922, 0x0186bfd2, 0x02f5e0f1, 0x02c84ca7, 0x00220d65}}, Y: Field{[10]uint32{0x00e9282e, 0x01af3896, 0x03ac6940, 0x016da3b3, 0x0147a22f, 0x00a516b2, 0x02d6d4a7, 0x017c4325, 0x03e85925, 0x003ec452}}}, + {X: Field{[10]uint32{0x020b42cc, 0x03adf8fc, 0x02dcf7ff, 0x0165794c, 0x035cf616, 0x01f95b9f, 0x03029dd3, 0x0103d6c3, 0x0248a196, 0x001fdce9}}, Y: Field{[10]uint32{0x00ff4feb, 0x013fea20, 0x0107f4a9, 0x006e7565, 0x0108ef19, 0x028ed09b, 0x022df3eb, 0x02bb7ed3, 0x008af931, 0x0013dd89}}}, + {X: Field{[10]uint32{0x0341aa3d, 0x030e0aa5, 0x015bddb9, 0x026a291e, 0x0218c873, 0x00465a99, 0x03b56040, 0x0340eb38, 0x034a3660, 0x003227b8}}, Y: Field{[10]uint32{0x02923884, 0x0346e544, 0x02084684, 0x0192e677, 0x03068387, 0x003bca4b, 0x0379ac9d, 0x02b15fcb, 0x008835fb, 0x002928ee}}}, + {X: Field{[10]uint32{0x0141d5bc, 0x0313b4f6, 0x023fd566, 0x02250c15, 0x01b5c468, 0x007607c6, 0x0050cf43, 0x00313940, 0x0056d7dc, 0x00092f93}}, Y: Field{[10]uint32{0x029e6213, 0x0268217c, 0x001cbac0, 0x031e95bf, 0x010f6a5f, 0x03c6b5da, 0x00714a2a, 0x00c5757c, 0x02e24936, 0x00381c8d}}}, + {X: Field{[10]uint32{0x000b94f5, 0x02e614f9, 0x02852c4e, 0x00749a4d, 0x022866a9, 0x008dea7c, 0x00ee5c53, 0x007001e6, 0x031ecaa9, 0x001b0c79}}, Y: Field{[10]uint32{0x00cf8cd7, 0x00f0e167, 0x03922572, 0x0365203d, 0x0134543c, 0x00c2e53a, 0x0117e0ac, 0x00b34704, 0x03232b5f, 0x00196bfc}}}, + {X: Field{[10]uint32{0x0258b7e7, 0x0007b5e3, 0x02286926, 0x01d34c7e, 0x03e470a5, 0x02d860e7, 0x003c0229, 0x01a4f4f8, 0x033c8479, 0x00141b0d}}, Y: Field{[10]uint32{0x01b7ab65, 0x00feb280, 0x023ca167, 0x01db83ff, 0x03e24f86, 0x001ffba0, 0x00bd4ae7, 0x0140d49a, 0x03d3a57c, 0x0013f42f}}}, + {X: Field{[10]uint32{0x018349a4, 0x0314ccb2, 0x01b45b48, 0x00247700, 0x0057571a, 0x01c7dcc7, 0x027b0978, 0x01b3185b, 0x01f3ea1a, 0x00167669}}, Y: Field{[10]uint32{0x01fc8447, 0x005b8355, 0x0363821c, 0x004c6a9a, 0x0153aadf, 0x029fb94e, 0x03c348f0, 0x025b0c98, 0x033eee64, 0x00252b4d}}}, + {X: Field{[10]uint32{0x02d75c69, 0x00e06cc8, 0x008d64de, 0x0274d991, 0x01c6f892, 0x01b399f5, 0x001912fa, 0x005923d9, 0x03ab6537, 0x00294933}}, Y: Field{[10]uint32{0x01782823, 0x028daa51, 0x0214471a, 0x01630fd1, 0x02ac1b61, 0x02f9f1e6, 0x026ae90b, 0x0356645e, 0x03f987fb, 0x0005309b}}}, + {X: Field{[10]uint32{0x0348c550, 0x03cb195f, 0x0276a92a, 0x03537c9b, 0x038aa3fd, 0x029ac8e4, 0x000d3ac6, 0x018c1e1f, 0x006df83c, 0x00049b26}}, Y: Field{[10]uint32{0x014c5c5c, 0x00595acf, 0x03d39774, 0x00757a6b, 0x003f74ab, 0x006b1cb8, 0x00f04dd3, 0x01be3cef, 0x01d3a56a, 0x0020214e}}}, + {X: Field{[10]uint32{0x00e39722, 0x0211d283, 0x01db7318, 0x035ee6a0, 0x00d8ff25, 0x03341554, 0x01a9d5b4, 0x033ec9f8, 0x03c01aeb, 0x000cb2ae}}, Y: Field{[10]uint32{0x03bccee9, 0x01bfac63, 0x035bb957, 0x0087eaa7, 0x02be1910, 0x03b9ad4a, 0x02c070f6, 0x00c71004, 0x020ae080, 0x001f4c04}}}, + {X: Field{[10]uint32{0x02f42c64, 0x03873e08, 0x025da359, 0x01905b70, 0x028a9f08, 0x0356992a, 0x00975aba, 0x035be2a6, 0x00baf7de, 0x000ff787}}, Y: Field{[10]uint32{0x035ac075, 0x00f2580b, 0x03f919ee, 0x02858373, 0x0044ffed, 0x024484b3, 0x0293cae6, 0x03c5d2c3, 0x00ac61f0, 0x0003943f}}}, + {X: Field{[10]uint32{0x01462e24, 0x024cb1c4, 0x0326b3ce, 0x00dc7b87, 0x0336e9db, 0x02c409c9, 0x013a08d6, 0x037ef007, 0x02cad6c3, 0x00272b48}}, Y: Field{[10]uint32{0x00461c6b, 0x0136e554, 0x015a6882, 0x00653967, 0x03422bb1, 0x02aaeed4, 0x00781cb0, 0x033411fc, 0x031d873d, 0x0016ba13}}}, + {X: Field{[10]uint32{0x015872ef, 0x014b465f, 0x0024e1c6, 0x027e4927, 0x010c20cf, 0x00706beb, 0x00ca18e9, 0x01d898ea, 0x0020aa80, 0x00026164}}, Y: Field{[10]uint32{0x03c73e69, 0x00152e34, 0x02dd6a3d, 0x03aecccb, 0x01a084e7, 0x03617e8e, 0x00976f72, 0x01f5b91c, 0x03fd21ab, 0x001150c8}}}, + {X: Field{[10]uint32{0x024eb2b6, 0x00c6e791, 0x033a9d8c, 0x014f112c, 0x00ac00bc, 0x02094a07, 0x03093b6c, 0x032f568a, 0x01a3e7cb, 0x002085a6}}, Y: Field{[10]uint32{0x02a9726a, 0x001cead9, 0x0384023b, 0x0146f39b, 0x03e62cf4, 0x02ef4fa7, 0x0344cbcb, 0x032e6dca, 0x00172400, 0x003df567}}}, + {X: Field{[10]uint32{0x00d370d9, 0x029fdb63, 0x02dad74e, 0x030ff0a1, 0x00440b3c, 0x031233ae, 0x01fc7a55, 0x00e189e5, 0x00be3642, 0x002f41b5}}, Y: Field{[10]uint32{0x0183b90e, 0x03354218, 0x017140ac, 0x014fef34, 0x0361bb12, 0x032ee023, 0x00a56632, 0x03b22329, 0x013a0fdc, 0x000ec246}}}, + {X: Field{[10]uint32{0x03bdf4d2, 0x010448d2, 0x038225bc, 0x013645df, 0x02bb4b73, 0x0010f1b2, 0x00a4ed0e, 0x031e37c1, 0x02e79c8c, 0x000b1c44}}, Y: Field{[10]uint32{0x00391243, 0x00fb108e, 0x01afd6e0, 0x03bd97fc, 0x02bae242, 0x02403d87, 0x012884ad, 0x008921d8, 0x03add42e, 0x00320733}}}, + {X: Field{[10]uint32{0x0122131e, 0x02deabf8, 0x03905762, 0x01bbc660, 0x03b7f523, 0x0377e73a, 0x03cbb8c9, 0x01dcb20c, 0x010fa65d, 0x00146b8e}}, Y: Field{[10]uint32{0x017ba06e, 0x01b86a3b, 0x02ec8125, 0x0387a13a, 0x000f1e96, 0x01f6edc5, 0x02f2a888, 0x01ac18a0, 0x03808040, 0x000f5f27}}}, + {X: Field{[10]uint32{0x02cc59ea, 0x0209b936, 0x027a177d, 0x01c9ae45, 0x02c74326, 0x00ecc4d5, 0x00b8348e, 0x01e90caf, 0x0112de23, 0x00316778}}, Y: Field{[10]uint32{0x01903b25, 0x0131a275, 0x012b0285, 0x000ea381, 0x00aa33e4, 0x017859db, 0x009c1d9c, 0x02d9b67c, 0x03167c5e, 0x000d8427}}}, + {X: Field{[10]uint32{0x0156d978, 0x000608fd, 0x030f757d, 0x039a4867, 0x02077ca1, 0x015d4c09, 0x01cb89a4, 0x02766c54, 0x023ab750, 0x0022e67c}}, Y: Field{[10]uint32{0x016a4164, 0x0380203d, 0x00e9adc8, 0x00be4132, 0x00d338e1, 0x02f355cf, 0x033cf0e4, 0x03f913d4, 0x02adf53a, 0x0021a8c6}}}, + {X: Field{[10]uint32{0x00369dd5, 0x0382ae5e, 0x0271739f, 0x01f277ba, 0x0261f5fb, 0x03bc620b, 0x024135a1, 0x02a6f67b, 0x03657d6f, 0x001319c3}}, Y: Field{[10]uint32{0x03e65417, 0x002de5fb, 0x01dd3c10, 0x00d46d4e, 0x01b54e04, 0x01fe2474, 0x0075dc10, 0x014d8c4a, 0x02265d4b, 0x0014c6a0}}}, + {X: Field{[10]uint32{0x00f38548, 0x0233b778, 0x0333d938, 0x037277c3, 0x0036aed9, 0x015fc190, 0x03024e6e, 0x003e57f5, 0x02359daa, 0x0023a59f}}, Y: Field{[10]uint32{0x010d218f, 0x0285d946, 0x00d2f1f1, 0x02c7c058, 0x0145fa0a, 0x028440e0, 0x008b833b, 0x03ea9632, 0x015ba59a, 0x000dbe01}}}, + {X: Field{[10]uint32{0x032ac9e1, 0x03a78cce, 0x03c3ec82, 0x01f0231e, 0x015e2e09, 0x03c33256, 0x007bfaac, 0x028df417, 0x01159c45, 0x000fd846}}, Y: Field{[10]uint32{0x0197d7d6, 0x00cb80b5, 0x014faf6c, 0x03b896dd, 0x03b9d2f3, 0x03bab694, 0x02087578, 0x01f7148f, 0x034ab743, 0x00032004}}}, + {X: Field{[10]uint32{0x007641d9, 0x0140033d, 0x007459f8, 0x020e1c1c, 0x0366bba6, 0x01faf7b7, 0x03b203ac, 0x0104ad4f, 0x009d7c61, 0x000fd679}}, Y: Field{[10]uint32{0x003ad5b0, 0x038958e9, 0x010f2ae3, 0x01e261b5, 0x0264cd09, 0x03d77353, 0x038f1010, 0x037f8f48, 0x00884243, 0x002fb75c}}}, + {X: Field{[10]uint32{0x03f6d490, 0x032be1d6, 0x02781bbb, 0x036865e8, 0x01ad46d4, 0x033c5c3a, 0x0044b5bf, 0x00da90ef, 0x00c9b648, 0x0016df61}}, Y: Field{[10]uint32{0x034d984f, 0x00ffb0ac, 0x0156a7c7, 0x016e64a0, 0x03f2164e, 0x001f7c12, 0x00b89755, 0x02c3ffeb, 0x029cc7d6, 0x0027d56c}}}, + {X: Field{[10]uint32{0x01744b1c, 0x030a7a94, 0x02a88962, 0x003681c6, 0x0390decf, 0x02bf0faa, 0x03bf1f9a, 0x03a0f3dc, 0x00ae0ac3, 0x00387b9d}}, Y: Field{[10]uint32{0x01277030, 0x0331423c, 0x0221650a, 0x016e0319, 0x01eefbe1, 0x020e60e7, 0x028d6748, 0x02149415, 0x02f8b34e, 0x0027a1b4}}}, + {X: Field{[10]uint32{0x03eea871, 0x03125ada, 0x0200e5dd, 0x02b2fbb8, 0x01eba721, 0x025b29fb, 0x0196c22e, 0x0251238c, 0x015b8d48, 0x003e8733}}, Y: Field{[10]uint32{0x039bc469, 0x0396154b, 0x01829d25, 0x012ff4aa, 0x02851350, 0x01e95b5f, 0x02479a8a, 0x01995275, 0x019a326a, 0x0038adfd}}}, + {X: Field{[10]uint32{0x03fdc8bf, 0x03c30e9e, 0x027a04c9, 0x01afde97, 0x00b29231, 0x02d298eb, 0x02199d1a, 0x0182587d, 0x00d70f38, 0x003bc787}}, Y: Field{[10]uint32{0x0298ef05, 0x014430ae, 0x00687eeb, 0x01dd5677, 0x025783d3, 0x0104794c, 0x015dadce, 0x0044760e, 0x0001a9de, 0x00133be7}}}, + {X: Field{[10]uint32{0x01326120, 0x0391a2b8, 0x02e8e9b3, 0x02565687, 0x020fe9c3, 0x01204f6c, 0x025cc4ed, 0x034eeb7e, 0x02b93e75, 0x0036dc53}}, Y: Field{[10]uint32{0x0271a206, 0x00a56a9a, 0x0067f618, 0x00059970, 0x00fa3cb7, 0x02205a10, 0x0130311c, 0x01e3d213, 0x0286b812, 0x000f7126}}}, + {X: Field{[10]uint32{0x02ea5d5a, 0x03ccbfb9, 0x0045229a, 0x031e6b47, 0x03d70c79, 0x03a74ffa, 0x00cf936e, 0x00a1610f, 0x038dbd57, 0x001665fc}}, Y: Field{[10]uint32{0x03e4a224, 0x01a695a5, 0x00eec45a, 0x01e37d52, 0x031f44b6, 0x01970777, 0x0349e089, 0x00046ee5, 0x0062b716, 0x002b7df6}}}, + {X: Field{[10]uint32{0x03baeb92, 0x03bb0f4e, 0x00039ea4, 0x02f4ef1b, 0x02956654, 0x03f07f1e, 0x008ae666, 0x0015ddec, 0x02d90a92, 0x0025f5bd}}, Y: Field{[10]uint32{0x020068b9, 0x03c6d730, 0x03c684bd, 0x037d39ff, 0x03ce03fe, 0x00f7eefd, 0x015ab971, 0x0261536b, 0x0047ff21, 0x002d1437}}}, + {X: Field{[10]uint32{0x02d307c4, 0x00034016, 0x010abc4b, 0x032875ac, 0x0040232b, 0x013bbe67, 0x0149ae3c, 0x02dcada5, 0x03cd5ec8, 0x0013d14f}}, Y: Field{[10]uint32{0x01683f7f, 0x01303482, 0x038160b9, 0x017b59a3, 0x00bd61f1, 0x0258367a, 0x02442baf, 0x02f21f1e, 0x0168c4a8, 0x002ab7b5}}}, + {X: Field{[10]uint32{0x009424d6, 0x01c9c165, 0x031e6499, 0x0243036d, 0x00ae4c44, 0x02a9e51b, 0x01c0a6ac, 0x00c0d71c, 0x00a35059, 0x00016981}}, Y: Field{[10]uint32{0x033be9c8, 0x01e9bd04, 0x0186a893, 0x0278bde1, 0x01ae8277, 0x03ea2742, 0x02b92b93, 0x00069e80, 0x00126d87, 0x00395e3f}}}, + {X: Field{[10]uint32{0x03c635b3, 0x0061a581, 0x004985d1, 0x0324d382, 0x022de601, 0x02d7fa3b, 0x024cf0d5, 0x00cbe86d, 0x01a29168, 0x000fcc1c}}, Y: Field{[10]uint32{0x011ad3a3, 0x02147911, 0x0070d053, 0x01706f91, 0x038712f2, 0x0277c390, 0x02adb6f6, 0x02c8cec8, 0x01990bae, 0x003a456c}}}, + {X: Field{[10]uint32{0x001c06e5, 0x01252464, 0x02c45318, 0x01b0bb79, 0x02f7476a, 0x03e67088, 0x0302c5fb, 0x0226b3f3, 0x01cd6431, 0x001d16f0}}, Y: Field{[10]uint32{0x029933f0, 0x024741b4, 0x01d21872, 0x0107409d, 0x00be16cb, 0x0039676d, 0x02519bd1, 0x01dd77a6, 0x034a8703, 0x001668ae}}}, + {X: Field{[10]uint32{0x0237238e, 0x02024449, 0x01942175, 0x00da29b0, 0x01ab3967, 0x018e1e62, 0x03591a60, 0x02567614, 0x028cadb3, 0x002ef41b}}, Y: Field{[10]uint32{0x00b8b690, 0x013b7b4e, 0x00c2a02b, 0x000e9968, 0x00d562b0, 0x0242e1a9, 0x006cb880, 0x0397cf71, 0x0296b484, 0x002b8360}}}, + {X: Field{[10]uint32{0x022cf07c, 0x014ff524, 0x017a385e, 0x01a6debe, 0x029f3eb5, 0x00e8ecd7, 0x00b7e436, 0x02f99a14, 0x01b6128d, 0x003f36a3}}, Y: Field{[10]uint32{0x01551974, 0x03d4d7fe, 0x03f283a0, 0x03a0a817, 0x02cd11f1, 0x03135721, 0x0358ee14, 0x03e6a17d, 0x01fc37a0, 0x0012fcf7}}}, + {X: Field{[10]uint32{0x0073cce2, 0x006b7666, 0x015705ca, 0x025d3b7b, 0x034ed2da, 0x01c84332, 0x025e1132, 0x01f7b4a9, 0x03dffc9c, 0x0018c977}}, Y: Field{[10]uint32{0x00f222e1, 0x0355b4d3, 0x033584d7, 0x003ebc69, 0x027ce193, 0x0185e7fa, 0x00ada7e2, 0x01bf1c5c, 0x0099683e, 0x00227f93}}}, + {X: Field{[10]uint32{0x02ee0d7f, 0x038fca48, 0x02d59245, 0x026d068e, 0x03513df5, 0x009e7429, 0x035797a5, 0x014258ea, 0x00a69349, 0x001dd653}}, Y: Field{[10]uint32{0x01faabb2, 0x023760f9, 0x024a9581, 0x00ef299a, 0x03631df0, 0x03cbbd63, 0x02ddf45e, 0x02ff23f7, 0x01122ccf, 0x000657ac}}}, + {X: Field{[10]uint32{0x02a67867, 0x005514ae, 0x0027bede, 0x01f80c21, 0x02e2defd, 0x019649dc, 0x01348fdc, 0x0090bd3c, 0x0067ea9b, 0x003cd5bb}}, Y: Field{[10]uint32{0x0233ba7a, 0x00bed335, 0x00121e4a, 0x00423c41, 0x03d75a21, 0x03262c0f, 0x02b71459, 0x023a9268, 0x01b9e23f, 0x000f4899}}}, + {X: Field{[10]uint32{0x00a205c9, 0x03f74bbe, 0x012ffcad, 0x002d6428, 0x0186149f, 0x03e2b9be, 0x00e30914, 0x02923b1e, 0x02129b0f, 0x000cd82b}}, Y: Field{[10]uint32{0x01d18a34, 0x014b7dc9, 0x00b83dcb, 0x01478cdf, 0x023d7a20, 0x00ac2989, 0x00098722, 0x016844fb, 0x03f2720d, 0x001e6cde}}}, + {X: Field{[10]uint32{0x01e8727b, 0x0056b4fe, 0x032823fc, 0x02ae7fc3, 0x03b29040, 0x0311d84f, 0x031a4c5f, 0x031436cc, 0x0352c703, 0x00113a43}}, Y: Field{[10]uint32{0x02f55f17, 0x027b0178, 0x02feb400, 0x00789b45, 0x0295c249, 0x00624cbd, 0x02d013a7, 0x00f9bd8d, 0x03419265, 0x0018b7ec}}}, + {X: Field{[10]uint32{0x02c84047, 0x000ad793, 0x0209ee79, 0x0225462a, 0x01c9e042, 0x02ca3f8d, 0x01958764, 0x02b888c4, 0x03a9b5c3, 0x003974d9}}, Y: Field{[10]uint32{0x02f8bcf0, 0x02a62f39, 0x02ace9c9, 0x02d308e0, 0x03fbbc06, 0x001c14b9, 0x0337c069, 0x03c3e9be, 0x017f01ab, 0x003a86c9}}}, + {X: Field{[10]uint32{0x01a63957, 0x01504ed6, 0x038de100, 0x02af820e, 0x010559ba, 0x008a01a9, 0x0061e6d4, 0x0396b4f0, 0x00fd7910, 0x00211e3a}}, Y: Field{[10]uint32{0x022df1d6, 0x0306f0c6, 0x03d5cfd8, 0x02f6d24b, 0x032f3f1e, 0x0052f52f, 0x03e38c45, 0x00d2644f, 0x00180519, 0x0013de4d}}}, + {X: Field{[10]uint32{0x0284b42d, 0x033dd84a, 0x01b6dc2c, 0x03ffda15, 0x0010c97d, 0x01e7249d, 0x035e2240, 0x01cc6fd6, 0x03c80587, 0x0030e0c9}}, Y: Field{[10]uint32{0x01abfcd6, 0x015f5493, 0x01b22bc6, 0x03eae157, 0x00a213fe, 0x0004b39d, 0x007d61f5, 0x0040b9fa, 0x03accb1b, 0x003ac0eb}}}, + {X: Field{[10]uint32{0x0051f10a, 0x00ad486f, 0x0214cd62, 0x02d9813b, 0x024662b4, 0x005fca28, 0x00f48c9d, 0x0299c956, 0x00125348, 0x002e7a2a}}, Y: Field{[10]uint32{0x031ccfee, 0x02b5ccbb, 0x0344ce3d, 0x02ee5e85, 0x033813e7, 0x01dc6d48, 0x02a02241, 0x0341ed47, 0x000d65fc, 0x000d709e}}}, + {X: Field{[10]uint32{0x01cc713e, 0x0229ca69, 0x030fdcc6, 0x00f48506, 0x03d3c3b5, 0x002ea1ab, 0x012e4837, 0x028c94e3, 0x02d595cf, 0x002952a8}}, Y: Field{[10]uint32{0x03b8a159, 0x03ea81a2, 0x02baf4e1, 0x02e68cba, 0x007e9552, 0x02a14692, 0x036b9c86, 0x00acbb99, 0x006e63c0, 0x002fdd37}}}, + {X: Field{[10]uint32{0x029fd956, 0x006787f6, 0x015ea4cc, 0x02b61735, 0x00420ce2, 0x02e2212b, 0x00ad145f, 0x0153ae11, 0x003ce2df, 0x003517fb}}, Y: Field{[10]uint32{0x00b81bd6, 0x03122fe3, 0x0208d205, 0x039fb9d2, 0x00bf6be1, 0x02308235, 0x001dbf9b, 0x032da9a4, 0x030065ae, 0x003b633e}}}, + {X: Field{[10]uint32{0x03192172, 0x03892b54, 0x0310187b, 0x02ae390c, 0x005c0136, 0x013360db, 0x0159829d, 0x02cc632a, 0x0298f728, 0x003d2d13}}, Y: Field{[10]uint32{0x01ea9fa1, 0x030a8262, 0x024e84d3, 0x022fc2a9, 0x012febdd, 0x033dee37, 0x0041fd88, 0x033924b2, 0x01b3960b, 0x003bd548}}}, + {X: Field{[10]uint32{0x013d67e3, 0x00b5090d, 0x039e2841, 0x031b8982, 0x00dcec40, 0x0214cc1e, 0x020cd40e, 0x024443ea, 0x01bf0d34, 0x0037b1b4}}, Y: Field{[10]uint32{0x01095895, 0x028bee99, 0x03b7254c, 0x02cc9041, 0x039451b0, 0x00bff243, 0x02fe44f3, 0x032405c7, 0x03813609, 0x001ce85b}}}, + {X: Field{[10]uint32{0x03ff013e, 0x02d6deac, 0x02039238, 0x0092f069, 0x01265f1c, 0x009cd4d3, 0x010b9c02, 0x01f1064c, 0x015372e1, 0x0007ef37}}, Y: Field{[10]uint32{0x006c27ca, 0x031dfc93, 0x0374f22b, 0x01d628a9, 0x03b2358f, 0x01c9d551, 0x004d14b9, 0x00704483, 0x034a06a6, 0x00273d3f}}}, + {X: Field{[10]uint32{0x02ab593b, 0x0004bef8, 0x03890357, 0x03e6a90e, 0x0250ea1f, 0x00e8c76a, 0x02d53f49, 0x01bb5deb, 0x00cb038c, 0x003673bc}}, Y: Field{[10]uint32{0x0253303f, 0x0030b74d, 0x0148604d, 0x004fb410, 0x01e161cd, 0x03c67769, 0x00e66547, 0x01cb56da, 0x02fe2468, 0x000ca905}}}, + {X: Field{[10]uint32{0x03f03da3, 0x01d29807, 0x03ccede1, 0x01f338cf, 0x024e2f60, 0x022348e1, 0x022135f0, 0x00a86117, 0x014988e2, 0x0005906d}}, Y: Field{[10]uint32{0x0194922f, 0x0237ef5f, 0x006fb5b6, 0x03473eb6, 0x0148e3ff, 0x0103e05b, 0x024e1b95, 0x021d9cd9, 0x00d9ed71, 0x003b74fc}}}, + {X: Field{[10]uint32{0x02243cdd, 0x014d9b0e, 0x0376f96c, 0x020eb13b, 0x0237938f, 0x03bd8059, 0x0238b211, 0x027fec6d, 0x00163c5d, 0x00267bdb}}, Y: Field{[10]uint32{0x02f66b48, 0x005da7b5, 0x02499a31, 0x02f9ae87, 0x027f912b, 0x03c10f80, 0x01d7796d, 0x01607787, 0x0362d819, 0x001adbbb}}}, + {X: Field{[10]uint32{0x035bc97c, 0x0119e7d6, 0x03fe4e2f, 0x02ca3a93, 0x02b9c47f, 0x0314d917, 0x03f79b09, 0x00ba2e03, 0x012dc24c, 0x00124d63}}, Y: Field{[10]uint32{0x001cf5b4, 0x00df2bb7, 0x03865378, 0x0121efb8, 0x03b8c807, 0x023872bd, 0x03c1cbff, 0x0103afbd, 0x00a7f9df, 0x00144a85}}}, + {X: Field{[10]uint32{0x00eb206b, 0x03b2119f, 0x02ee8a4e, 0x029690c2, 0x03c8c122, 0x00533ce0, 0x009c5e1a, 0x037fa495, 0x03cfb1de, 0x0038c74f}}, Y: Field{[10]uint32{0x01b0449b, 0x00eb95a9, 0x03687e6c, 0x02b6d379, 0x01effc4d, 0x020d193e, 0x03ad1dde, 0x01d1ec28, 0x026669db, 0x001ef0f0}}}, + {X: Field{[10]uint32{0x02c64adf, 0x00933861, 0x015d44e3, 0x01fe5e68, 0x03ad1fbb, 0x00a35d20, 0x0332e66a, 0x02f2b7ee, 0x01d6ac86, 0x002a0bb2}}, Y: Field{[10]uint32{0x00f74c89, 0x03b1b4c3, 0x01f816c4, 0x03402c78, 0x023a9efa, 0x031de64d, 0x02b46f1a, 0x006b97d2, 0x012bc28b, 0x002eb21f}}}, + {X: Field{[10]uint32{0x00ea113d, 0x02d4f532, 0x01c081bf, 0x030c631c, 0x020dc370, 0x02334eae, 0x01ab82b1, 0x028b891e, 0x01942bff, 0x00085942}}, Y: Field{[10]uint32{0x001fcae3, 0x029df272, 0x03103fec, 0x02fa697c, 0x00f84511, 0x009067e4, 0x0113b6f6, 0x00d142f9, 0x006a2f65, 0x0025ea09}}}, + {X: Field{[10]uint32{0x02dd4b84, 0x03acd8b1, 0x0057f63c, 0x0318f6d6, 0x01e4e666, 0x01123a41, 0x01f8070e, 0x025a21ff, 0x00d8208d, 0x001cd414}}, Y: Field{[10]uint32{0x02b9e2e9, 0x0007e78a, 0x03918900, 0x032eb4c1, 0x00216887, 0x0320866b, 0x03e23f07, 0x0187279b, 0x00385636, 0x000b8fed}}}, + {X: Field{[10]uint32{0x03afe506, 0x02ced991, 0x008ba197, 0x0001e770, 0x0365f878, 0x02e70fa6, 0x00c3813b, 0x0370228d, 0x0061e679, 0x00074086}}, Y: Field{[10]uint32{0x02fd2f1f, 0x029ae9e9, 0x03c50cea, 0x0133b82d, 0x004a10e8, 0x00a56fc2, 0x0292cd0e, 0x0120f427, 0x00b92303, 0x00052db4}}}, + {X: Field{[10]uint32{0x02d7810b, 0x0313d391, 0x0033c1bd, 0x01dd2615, 0x03f91c55, 0x013bfe5b, 0x018c15d5, 0x0225cea1, 0x027486ca, 0x001e9fbb}}, Y: Field{[10]uint32{0x03b498cf, 0x004b2edd, 0x02297c70, 0x006ef078, 0x03448fed, 0x01f46733, 0x035057d8, 0x01439e9f, 0x007f5d91, 0x0017a0e8}}}, + {X: Field{[10]uint32{0x0302beec, 0x039c9b69, 0x00b51f50, 0x0008cbc9, 0x02485938, 0x00a8cab6, 0x0005cce3, 0x00c1851f, 0x03d4fe0a, 0x00020470}}, Y: Field{[10]uint32{0x033d9f0a, 0x03acaf20, 0x034efc95, 0x0274c7b5, 0x03b28e59, 0x016b615d, 0x004214e3, 0x03d3e4ba, 0x016c6c9c, 0x0029bf30}}}, + {X: Field{[10]uint32{0x01ad606c, 0x01f69248, 0x0150b435, 0x0020c2ba, 0x03ca25ed, 0x0112c9b4, 0x00d5b1ee, 0x027a3c09, 0x003889ea, 0x000b2851}}, Y: Field{[10]uint32{0x0026c551, 0x004398c4, 0x0186f42e, 0x038dd04f, 0x03c5e90b, 0x03e39884, 0x002c6560, 0x028a7c2a, 0x02c692d8, 0x001ed229}}}, + {X: Field{[10]uint32{0x010277bf, 0x02c7c7ce, 0x01c80d57, 0x02977bba, 0x005dd3e0, 0x015f9989, 0x01566d29, 0x006bf0ce, 0x03e16104, 0x002a603f}}, Y: Field{[10]uint32{0x03a1c64c, 0x01051581, 0x007fd10e, 0x0015c739, 0x01457d50, 0x0285d366, 0x03440797, 0x00d0ee1d, 0x03a2a139, 0x000c9dbd}}}, + {X: Field{[10]uint32{0x01cd80bd, 0x0275bab6, 0x026bc957, 0x02639977, 0x01fde41d, 0x026364dc, 0x002954a9, 0x02dd3f16, 0x03d9cbcc, 0x00395c28}}, Y: Field{[10]uint32{0x02973a52, 0x026af905, 0x022df273, 0x01af1f7a, 0x019400bc, 0x00b05a2f, 0x01d30351, 0x00e63826, 0x01776658, 0x00169d24}}}, + {X: Field{[10]uint32{0x03ce1110, 0x025530de, 0x018c972b, 0x03ed988d, 0x0171bd25, 0x024a02eb, 0x013d985d, 0x03d4399b, 0x02b8952c, 0x003d7eea}}, Y: Field{[10]uint32{0x03d77175, 0x03d5fcc7, 0x006cfb02, 0x023400eb, 0x03801081, 0x01229d13, 0x03097c9b, 0x03e08693, 0x01236179, 0x0006b288}}}, + {X: Field{[10]uint32{0x018d89be, 0x0277a85c, 0x03375555, 0x017b136f, 0x016f9e52, 0x012adf1d, 0x0008d258, 0x02a2b055, 0x02fbecbd, 0x000b9650}}, Y: Field{[10]uint32{0x00bc790b, 0x0155bec5, 0x0201640c, 0x006a3032, 0x0230e12a, 0x01ad6498, 0x0123d6cf, 0x02669e3c, 0x0107d141, 0x00254419}}}, + {X: Field{[10]uint32{0x015dd296, 0x00cc006d, 0x0013ea2f, 0x00fe9ce5, 0x010a9fc8, 0x026eadc1, 0x01e7f64a, 0x0267a5b2, 0x00a9891c, 0x0024af41}}, Y: Field{[10]uint32{0x022ba587, 0x0067eb60, 0x01fbf130, 0x00d08859, 0x035cc71c, 0x005eda83, 0x0017ba68, 0x03f67395, 0x0333659b, 0x0033d78d}}}, + {X: Field{[10]uint32{0x03b11083, 0x034c1069, 0x008ffed7, 0x02c219c9, 0x024d0e52, 0x00f77358, 0x00c54269, 0x03ab878f, 0x019fa50f, 0x000c377f}}, Y: Field{[10]uint32{0x02eb42ed, 0x036bd989, 0x0241b14b, 0x003e1eb1, 0x0221bdfa, 0x03d09a72, 0x00389e3d, 0x020fbe86, 0x00fe2bb1, 0x003fc574}}}, + {X: Field{[10]uint32{0x012a9f4f, 0x00e779c9, 0x03f1cbaf, 0x036dcbe9, 0x00067ddd, 0x0115c679, 0x03196882, 0x031a2abc, 0x010bdf8a, 0x00233d45}}, Y: Field{[10]uint32{0x0186cfd5, 0x003f0150, 0x0007a213, 0x02ad0516, 0x002a9963, 0x00232636, 0x0318bc25, 0x02ec660e, 0x017ba299, 0x00130a12}}}, + {X: Field{[10]uint32{0x025e46c7, 0x00ca2149, 0x001b8690, 0x002637b3, 0x014a8e3c, 0x03db765e, 0x02ed9f74, 0x013becf2, 0x02fd5097, 0x0007d2d3}}, Y: Field{[10]uint32{0x039fd399, 0x031bfac5, 0x00a76ee1, 0x00a49940, 0x02685352, 0x011f1f02, 0x00adeb8a, 0x02c0370e, 0x00c7f7c6, 0x001b12c1}}}, + {X: Field{[10]uint32{0x0091af81, 0x00a2c634, 0x029a22a0, 0x02e43cb8, 0x003f915c, 0x004f40e3, 0x01883bad, 0x03e8ce35, 0x0100979a, 0x00275492}}, Y: Field{[10]uint32{0x0002be38, 0x0059e79a, 0x033e1e0f, 0x031c2e69, 0x03db3257, 0x02c5874c, 0x004453d6, 0x01ccb444, 0x013c037c, 0x00102684}}}, + {X: Field{[10]uint32{0x01a2e3a1, 0x01fcd2f7, 0x00734c62, 0x0133cfec, 0x005b0398, 0x0308d00f, 0x01c124c1, 0x036743f5, 0x00e446ee, 0x0014b879}}, Y: Field{[10]uint32{0x008320a7, 0x010c85c2, 0x03e5b262, 0x00c1d69d, 0x02e2dbc6, 0x00b05c4e, 0x004104f1, 0x03fea30f, 0x03317375, 0x0019d295}}}, + {X: Field{[10]uint32{0x02401c8b, 0x00bdea05, 0x03148fd2, 0x024e9df5, 0x020e0a6c, 0x031b8dbe, 0x00a8b6e7, 0x0138c79b, 0x031a8eef, 0x00209ec5}}, Y: Field{[10]uint32{0x03ca7540, 0x017cd93d, 0x01f08827, 0x03e84a7e, 0x001d58c7, 0x01e2e845, 0x026d14cb, 0x00073df7, 0x01fdd9b8, 0x00197361}}}, + {X: Field{[10]uint32{0x00df2f9b, 0x03e45edb, 0x00383c83, 0x01506fa8, 0x023db299, 0x0160b891, 0x01abc32e, 0x025909a8, 0x01e961d8, 0x000493d1}}, Y: Field{[10]uint32{0x038d6c62, 0x02d359e5, 0x00f8358b, 0x01f484e9, 0x03e48e7a, 0x018a23e1, 0x020626fc, 0x0196c4b5, 0x03e4110b, 0x001cd38b}}}, + {X: Field{[10]uint32{0x024d67e2, 0x03d5a666, 0x011695f5, 0x035b0234, 0x00fb4ac9, 0x02648131, 0x024f0028, 0x02cc9043, 0x029818b2, 0x0000edc4}}, Y: Field{[10]uint32{0x02c27c3b, 0x01f07ed0, 0x02218560, 0x01a2862b, 0x0154ba63, 0x03119582, 0x0010c51e, 0x005ad570, 0x038b0cee, 0x000a2dbd}}}, + {X: Field{[10]uint32{0x012d8a00, 0x000ced54, 0x020a4290, 0x02871fdf, 0x02e2b887, 0x029ab9c3, 0x0264485e, 0x014d8c39, 0x007e063b, 0x00349c76}}, Y: Field{[10]uint32{0x016da847, 0x008e3ae7, 0x01c9b510, 0x009cd25c, 0x0060ef59, 0x03619134, 0x03122ba8, 0x038a009c, 0x00047865, 0x0019750e}}}, + {X: Field{[10]uint32{0x00dc03a7, 0x0252c943, 0x01661e84, 0x0326b9ef, 0x000c5ca0, 0x00ae954b, 0x00d2d82e, 0x0145819f, 0x01852db3, 0x0007471b}}, Y: Field{[10]uint32{0x02691f62, 0x02c40153, 0x02ebbae8, 0x0132f75e, 0x01e19f87, 0x02bba80d, 0x01b68407, 0x00095bba, 0x00c5673a, 0x002f0c7d}}}, + {X: Field{[10]uint32{0x02efdd9d, 0x01d5bf51, 0x007fb1d3, 0x0331a559, 0x00bf8d2e, 0x02e81f79, 0x02d274c0, 0x02530376, 0x01b471e3, 0x0023fba2}}, Y: Field{[10]uint32{0x012b8c6c, 0x0298bc6f, 0x034c434c, 0x01c51aa6, 0x034ba5cf, 0x00663e73, 0x03ae1487, 0x015e3f45, 0x00c38479, 0x001757b4}}}, + {X: Field{[10]uint32{0x0010a6ec, 0x03ef4c22, 0x02ce55d7, 0x017e4236, 0x018ef938, 0x038fb91d, 0x026302cc, 0x03cd4580, 0x030955a0, 0x001a07f3}}, Y: Field{[10]uint32{0x02a38faa, 0x00d63280, 0x00885e6d, 0x03d0643c, 0x00aa54e8, 0x013195d7, 0x0187edbc, 0x01d89200, 0x035b9992, 0x0010c1fd}}}, + {X: Field{[10]uint32{0x03a6971b, 0x024a4dec, 0x02918907, 0x0225ff0c, 0x026f6c1a, 0x001334f8, 0x0184a289, 0x029c6da9, 0x02ddfcb5, 0x001c5ff5}}, Y: Field{[10]uint32{0x00b17992, 0x036167d6, 0x02511d7c, 0x0174d075, 0x021b05e2, 0x01fdb6a3, 0x00405532, 0x02b4137f, 0x002971d4, 0x002d00fe}}}, + {X: Field{[10]uint32{0x014f2ff6, 0x0004f8dd, 0x03a34227, 0x01e71cc8, 0x00d29832, 0x02b630d0, 0x01f49986, 0x025e1b70, 0x032394eb, 0x003cae55}}, Y: Field{[10]uint32{0x0366763b, 0x02925f9d, 0x0120ddba, 0x00179e99, 0x03bb69e7, 0x02645edc, 0x009645dd, 0x033505c6, 0x03813efd, 0x002d54f4}}}, + {X: Field{[10]uint32{0x02730b1b, 0x01d21765, 0x017b1423, 0x0340755b, 0x019ab6fe, 0x00504d70, 0x0309b524, 0x01b22594, 0x03e6d7d8, 0x00161c52}}, Y: Field{[10]uint32{0x03e3e533, 0x0293579b, 0x03cf81c9, 0x01717e93, 0x03403984, 0x0038c54d, 0x02b84abf, 0x03396f7a, 0x03343e38, 0x00030047}}}, + {X: Field{[10]uint32{0x026ff3c3, 0x0056f01e, 0x0223b7f9, 0x03eecafa, 0x02b30819, 0x0271ad3e, 0x0300d49e, 0x03e306e5, 0x01abc828, 0x0034cf39}}, Y: Field{[10]uint32{0x01a23395, 0x0293045d, 0x0156fcac, 0x013cdf6e, 0x01ef5939, 0x03ef88bc, 0x0372ba63, 0x01262088, 0x02223913, 0x001ce6d8}}}, + {X: Field{[10]uint32{0x03b55479, 0x01ec9b58, 0x020d5983, 0x00235be4, 0x02249048, 0x00bdf652, 0x03a58ff4, 0x0004a13a, 0x0232fc7d, 0x0020880b}}, Y: Field{[10]uint32{0x0163b4c8, 0x000ced89, 0x0004dedd, 0x000a6800, 0x0063aa32, 0x02b0b220, 0x004fb0a8, 0x015793f3, 0x015450aa, 0x003f798e}}}, + {X: Field{[10]uint32{0x01ea7781, 0x027e9f0b, 0x022b7041, 0x021e8d09, 0x02941e64, 0x00322d92, 0x0300e370, 0x013223e8, 0x02185bfb, 0x0009798c}}, Y: Field{[10]uint32{0x0316e640, 0x03736fbd, 0x02a1142d, 0x00915230, 0x0209caa1, 0x019cc75f, 0x032d84cc, 0x02ae6537, 0x03074802, 0x002b9a5a}}}, + {X: Field{[10]uint32{0x005c114e, 0x006a56d8, 0x0048753c, 0x00e87bf7, 0x039da877, 0x010e837f, 0x0068a363, 0x01386bc9, 0x0205b925, 0x00380cda}}, Y: Field{[10]uint32{0x03b12a18, 0x036762eb, 0x01050d96, 0x0056776b, 0x015ba059, 0x011899b1, 0x03974553, 0x0368e1e6, 0x0160377a, 0x001075d6}}}, + {X: Field{[10]uint32{0x02996662, 0x01cc6aa6, 0x0375262d, 0x016b6d5e, 0x0134ee87, 0x01092270, 0x01a9253e, 0x02c6f472, 0x03af7fd2, 0x00210cd8}}, Y: Field{[10]uint32{0x03cde6ca, 0x034d58bf, 0x004734d2, 0x02c59b92, 0x0012c4b3, 0x0054e8ca, 0x00bda36f, 0x03c04fb5, 0x02d1dbfc, 0x00397028}}}, + {X: Field{[10]uint32{0x011178de, 0x03d8cca5, 0x03c0526d, 0x000a74a0, 0x03abb9f2, 0x029f95d8, 0x03955cff, 0x01fc63e5, 0x00b81cdb, 0x002b6c84}}, Y: Field{[10]uint32{0x00ea0e35, 0x02e4695d, 0x02cf068e, 0x03b0b86f, 0x01364db5, 0x0122be84, 0x03847219, 0x00aa9835, 0x0305d818, 0x000b0847}}}, + {X: Field{[10]uint32{0x024d7491, 0x019450bc, 0x036e088b, 0x0139615e, 0x02203460, 0x02684de4, 0x013854f5, 0x0088d7ba, 0x03a1a2fe, 0x002ac317}}, Y: Field{[10]uint32{0x000124d2, 0x00bde16e, 0x0132b8d9, 0x0337b29a, 0x03b9dc48, 0x01ce0d54, 0x00a73840, 0x01b855c7, 0x01cbe36d, 0x003951c9}}}, + {X: Field{[10]uint32{0x0085deda, 0x02f2235e, 0x01835f9c, 0x002d9eb3, 0x03868a08, 0x03d3d51c, 0x03124b0a, 0x018f90fc, 0x037a1d21, 0x000f9779}}, Y: Field{[10]uint32{0x01746630, 0x03994745, 0x036d2254, 0x03130dfb, 0x02e1927d, 0x01dfd452, 0x03e66b83, 0x000ee2e0, 0x00a42f95, 0x0029bb4d}}}, + {X: Field{[10]uint32{0x0191ec05, 0x03abbd92, 0x01ceb050, 0x0057e0ea, 0x01321848, 0x03ccbd9c, 0x031f0688, 0x034c996d, 0x033d31d1, 0x001831a2}}, Y: Field{[10]uint32{0x0000d498, 0x0183f29f, 0x0132a9d7, 0x00a5403b, 0x01898867, 0x021dcde9, 0x01aecbe9, 0x009322a5, 0x00619f7d, 0x0025deb3}}}, + {X: Field{[10]uint32{0x01c135e2, 0x0316cc5a, 0x0065464f, 0x00a5afa8, 0x014a1267, 0x019ae6c9, 0x0004a76a, 0x039656db, 0x02e9b646, 0x00086c14}}, Y: Field{[10]uint32{0x000779e7, 0x00262715, 0x0128538f, 0x035166aa, 0x0318db6e, 0x02c37f5f, 0x007292c4, 0x035c5dba, 0x00cd2fb3, 0x00040a79}}}, + {X: Field{[10]uint32{0x03523d68, 0x01f6e8de, 0x0379dc02, 0x03bd6c47, 0x02f58bb2, 0x002f9332, 0x0101e666, 0x011457b9, 0x02f37c66, 0x0001c032}}, Y: Field{[10]uint32{0x03a08be1, 0x024d31db, 0x00948e1a, 0x01f95bb7, 0x008eac9b, 0x02655e0c, 0x032487c1, 0x011bccb8, 0x0388f1c3, 0x001f7dda}}}, + {X: Field{[10]uint32{0x01541e8d, 0x01a59912, 0x01696299, 0x02bd5969, 0x015d34ae, 0x019160c5, 0x01f1c9f5, 0x02112b39, 0x03d21293, 0x00316ae6}}, Y: Field{[10]uint32{0x01c422d8, 0x0184c100, 0x02f29c03, 0x00315f6c, 0x029b34d9, 0x03b14e9f, 0x01f44678, 0x01b22a83, 0x01c6c61d, 0x000b4820}}}, + {X: Field{[10]uint32{0x016d75a3, 0x034dda80, 0x023dfa4a, 0x0375751a, 0x005713fb, 0x03085476, 0x00d15af8, 0x01770512, 0x032ed53f, 0x0022bf0f}}, Y: Field{[10]uint32{0x039b6c8f, 0x02c69392, 0x0389764d, 0x004fcd15, 0x036767c5, 0x00864f9a, 0x015a99d4, 0x02fb6780, 0x03932627, 0x000047d8}}}, + {X: Field{[10]uint32{0x025007a7, 0x01cf140e, 0x034d86e1, 0x019fb7a7, 0x02c0d698, 0x01eb8da0, 0x00cf7292, 0x03ab7f3d, 0x01c6bb55, 0x001052b6}}, Y: Field{[10]uint32{0x03603585, 0x0374e823, 0x03fd6181, 0x020bb6f7, 0x01dafb6f, 0x019e951b, 0x002306b6, 0x026c7444, 0x00f8f4de, 0x00312f34}}}, + {X: Field{[10]uint32{0x0304a1e3, 0x005c91f2, 0x008fdb23, 0x034eabc2, 0x01a163a2, 0x037109b4, 0x005ec88f, 0x01cc5ea7, 0x0240b84b, 0x00208478}}, Y: Field{[10]uint32{0x02722bbb, 0x0250ab49, 0x029be4e7, 0x02c5c2a7, 0x03a74f10, 0x016586cc, 0x006c4f6d, 0x02fd453c, 0x019bb268, 0x00329da9}}}, + {X: Field{[10]uint32{0x02ba700e, 0x01676bc8, 0x012f429e, 0x02450fb9, 0x023f7cd2, 0x00252c9e, 0x02c44523, 0x0374f1d7, 0x0132363a, 0x0029537f}}, Y: Field{[10]uint32{0x02d4490b, 0x02364bae, 0x02bbb279, 0x01d1aa4f, 0x013639ac, 0x026d1219, 0x038d1304, 0x000260f8, 0x022c5951, 0x003c5820}}}, + {X: Field{[10]uint32{0x018860f7, 0x029f2e52, 0x015e9a3b, 0x010f3ef6, 0x03e2921a, 0x0387a74f, 0x02ee1a81, 0x026c629e, 0x005552b2, 0x001df593}}, Y: Field{[10]uint32{0x0208ff10, 0x01bcb9e0, 0x025978d0, 0x02a43325, 0x020fed03, 0x01b6681a, 0x00ad9d73, 0x0323d110, 0x00f95ea9, 0x003a5eee}}}, + {X: Field{[10]uint32{0x02309ca9, 0x0251f85b, 0x03d61ba7, 0x000d83c4, 0x011b57c1, 0x00396862, 0x007f0f5f, 0x01afc47d, 0x0014b33e, 0x001216ce}}, Y: Field{[10]uint32{0x00e38bdb, 0x02098c81, 0x01b5f152, 0x01bcb1e0, 0x03f99857, 0x011b2194, 0x0050dd09, 0x01f18a98, 0x0070ce60, 0x0039aede}}}, + {X: Field{[10]uint32{0x0072739c, 0x01c1a3c0, 0x029aab0a, 0x032052bb, 0x017ced2a, 0x02dbb714, 0x03618be1, 0x01e30b7b, 0x01eca90a, 0x003b48e0}}, Y: Field{[10]uint32{0x034954c7, 0x0117fec4, 0x00fbc3de, 0x0058b284, 0x02d68599, 0x018d4e07, 0x00c291ec, 0x019148e0, 0x03e0ba32, 0x0032c21c}}}, + {X: Field{[10]uint32{0x00ed971d, 0x01795f11, 0x03a684a6, 0x019a3cb9, 0x02955b6a, 0x0132e83f, 0x03c7369a, 0x03049f20, 0x0379d36b, 0x0039112b}}, Y: Field{[10]uint32{0x03785fff, 0x031553f4, 0x034e9dd7, 0x03780434, 0x02ec50e5, 0x02922662, 0x0355ca16, 0x0208eaab, 0x030327b6, 0x0029e1db}}}, + {X: Field{[10]uint32{0x01fc1fca, 0x035f941a, 0x0278c07e, 0x022a5b2c, 0x03b8677b, 0x014bfa93, 0x024296c1, 0x0168b57d, 0x00d77de7, 0x002be30d}}, Y: Field{[10]uint32{0x0184d673, 0x0330ec8a, 0x00a8cf9e, 0x032e2e07, 0x02f3c451, 0x0118caf8, 0x015899f2, 0x0306a339, 0x0062ab6e, 0x00123396}}}, + {X: Field{[10]uint32{0x027efe13, 0x0150db3d, 0x000cbe31, 0x0221d812, 0x0108940c, 0x0368128c, 0x02745a81, 0x0113b463, 0x0066243a, 0x003a6675}}, Y: Field{[10]uint32{0x0237fe36, 0x0347ec00, 0x013cb2f7, 0x03adfea0, 0x00ef55d3, 0x0337b6f4, 0x02ac0e75, 0x01198708, 0x027063a8, 0x003d07a3}}}, + {X: Field{[10]uint32{0x004bcc72, 0x026d9118, 0x02d66e20, 0x02a962dc, 0x00072caf, 0x00bf7afb, 0x00c923a0, 0x0193fe8f, 0x00aa7d89, 0x003103be}}, Y: Field{[10]uint32{0x03238ce5, 0x03c189ed, 0x02c2f696, 0x031ecfbe, 0x00ff50eb, 0x01dbccde, 0x012c3b61, 0x02879bc4, 0x01b56549, 0x0012038d}}}, + {X: Field{[10]uint32{0x0252982f, 0x006c3ce6, 0x026151bd, 0x02288a89, 0x01679e4b, 0x00826a97, 0x012b546e, 0x01267226, 0x001de3f9, 0x00120bb9}}, Y: Field{[10]uint32{0x00d3de3d, 0x03fba077, 0x009f832e, 0x03b28395, 0x03563f92, 0x03843b1b, 0x012eff0e, 0x006054b5, 0x0070d213, 0x00144398}}}, + {X: Field{[10]uint32{0x0058fae5, 0x033dc997, 0x01fd465d, 0x00cb180a, 0x036df7ca, 0x034dbe2d, 0x0003c694, 0x0307599c, 0x006825a3, 0x00119829}}, Y: Field{[10]uint32{0x0223f618, 0x02fe842e, 0x017c0700, 0x0380540e, 0x03791de8, 0x00b6b7a5, 0x00acc720, 0x030a5a62, 0x03f546b5, 0x000f660a}}}, + {X: Field{[10]uint32{0x035d8f8d, 0x022fbc3a, 0x00d8703c, 0x0385d8c5, 0x00d8a3ae, 0x01d62665, 0x031dc033, 0x01bc2cfe, 0x024c92ba, 0x002e1798}}, Y: Field{[10]uint32{0x0175679b, 0x01861a2b, 0x0148688c, 0x009a19b3, 0x03e2cdff, 0x02cdbbdd, 0x03ff93ef, 0x016e9092, 0x033320a5, 0x002224da}}}, + {X: Field{[10]uint32{0x002683e3, 0x0261d524, 0x014c6b16, 0x00be53be, 0x03b3be28, 0x018bf56c, 0x0187ebab, 0x009afef4, 0x00b5361a, 0x00290648}}, Y: Field{[10]uint32{0x015ea98a, 0x031e92b8, 0x007d1491, 0x027c9819, 0x02c95a8f, 0x00814f80, 0x027201b3, 0x00ed34f4, 0x019629d9, 0x001de428}}}, + {X: Field{[10]uint32{0x03b7f86e, 0x025e7d3e, 0x03937055, 0x022c5541, 0x01ed1abf, 0x03c40762, 0x012f01bb, 0x00a980c9, 0x01a97926, 0x0024e20b}}, Y: Field{[10]uint32{0x009d7e44, 0x01024406, 0x03e0215a, 0x03c4fb4d, 0x0223e570, 0x0357c08b, 0x037450ba, 0x005bbc04, 0x004df0a7, 0x00024e22}}}, + {X: Field{[10]uint32{0x00952e00, 0x008c8972, 0x03b0679c, 0x016799bb, 0x03ebfa6a, 0x01c26c65, 0x0356b643, 0x036982b3, 0x01f83efe, 0x00284142}}, Y: Field{[10]uint32{0x024d1ddb, 0x03c19df0, 0x015fe830, 0x0291f038, 0x005a06e7, 0x0132b93e, 0x0237df52, 0x03793426, 0x03d5559b, 0x001d6420}}}, + {X: Field{[10]uint32{0x03eb3651, 0x02c7be4a, 0x02d294b3, 0x00122a89, 0x03c55de7, 0x03f9d7ab, 0x017e587d, 0x0109e1cf, 0x02976ea7, 0x000ae516}}, Y: Field{[10]uint32{0x02893c65, 0x003bd941, 0x03752698, 0x0043976b, 0x03cb488d, 0x0002d146, 0x01cbabce, 0x02fdae74, 0x03ed27cc, 0x00108f01}}}, + {X: Field{[10]uint32{0x03cc37f0, 0x01115ec3, 0x01073b59, 0x0244a354, 0x03f69516, 0x00fc5c05, 0x0203da01, 0x02ff9003, 0x01bbc1a0, 0x0021be76}}, Y: Field{[10]uint32{0x024c32bb, 0x031b19d1, 0x007eddf3, 0x00099249, 0x0362388f, 0x02f067a3, 0x039cd4bf, 0x00de5a4c, 0x02242e30, 0x003cdc31}}}, + {X: Field{[10]uint32{0x0161ed91, 0x0343e0f7, 0x0206c016, 0x003e42a4, 0x033aa9cc, 0x02f6d384, 0x038d8958, 0x00113988, 0x02f9555e, 0x003e2656}}, Y: Field{[10]uint32{0x02a8a060, 0x00964853, 0x014bcd08, 0x024d2bc6, 0x031febdb, 0x013e8b98, 0x00bdab83, 0x004b20ee, 0x02e31bee, 0x002cb534}}}, + {X: Field{[10]uint32{0x019394ce, 0x015105e0, 0x01dbe2f5, 0x00858f42, 0x00fdea26, 0x02ef071d, 0x01eee7f0, 0x00d4b515, 0x027f69eb, 0x002ad568}}, Y: Field{[10]uint32{0x031b801a, 0x01988038, 0x013534a1, 0x012a25e2, 0x024d5467, 0x012a4c38, 0x0373bc17, 0x0216d5c8, 0x009360f5, 0x0022b159}}}, + {X: Field{[10]uint32{0x023b9fa6, 0x022645a8, 0x02522e8a, 0x00ffeb6b, 0x03ce8472, 0x017a60d4, 0x02a89069, 0x037e6245, 0x02c9c428, 0x0013f041}}, Y: Field{[10]uint32{0x02b92031, 0x00c5a227, 0x02fd1925, 0x0129f066, 0x01fdebbc, 0x00e49a1f, 0x00c88be3, 0x00d0793d, 0x02e83d54, 0x002435cc}}}, + {X: Field{[10]uint32{0x03149a91, 0x01af2080, 0x036b2462, 0x036c2e81, 0x03874080, 0x00ea2538, 0x0187b257, 0x03332ddf, 0x01808831, 0x00327216}}, Y: Field{[10]uint32{0x02abf0b8, 0x00c0b8ec, 0x026e6a6f, 0x01a1e015, 0x02c5f992, 0x002f7e8d, 0x01a6355f, 0x0127e6fa, 0x00cd8c09, 0x0027eb53}}}, + {X: Field{[10]uint32{0x005209e7, 0x01dc5247, 0x00cb7aee, 0x01737756, 0x01a278eb, 0x028508bf, 0x0378c46a, 0x02aee97f, 0x037e2293, 0x003032d6}}, Y: Field{[10]uint32{0x0210c47b, 0x0035ccd3, 0x027d5133, 0x027bb634, 0x03cc7278, 0x0037d328, 0x036b572d, 0x02161976, 0x002e3664, 0x0020407d}}}, + {X: Field{[10]uint32{0x00ce0b63, 0x03c56436, 0x0215d140, 0x03383ef3, 0x01af2f70, 0x0246f75a, 0x02ab60c3, 0x00fe0d1c, 0x03c516d9, 0x0036ff00}}, Y: Field{[10]uint32{0x02d26564, 0x023054ff, 0x03b46465, 0x00937af1, 0x024811fa, 0x00ddaa93, 0x033ecfec, 0x0328ba68, 0x014d7228, 0x003e0e38}}}, + {X: Field{[10]uint32{0x004f59c8, 0x00fcf4d2, 0x03af37cc, 0x02e58b8e, 0x00435140, 0x00d581ec, 0x031d8910, 0x00ffc455, 0x0285eea1, 0x00378981}}, Y: Field{[10]uint32{0x01cfbbcc, 0x023eb966, 0x00accd7f, 0x0132a97e, 0x02c1f5f5, 0x02d9bc79, 0x0363335b, 0x01619798, 0x02c9a602, 0x001af08f}}}, + {X: Field{[10]uint32{0x02a2e71e, 0x00f162fe, 0x01e5f6f7, 0x027f1e06, 0x031ed812, 0x01b05fae, 0x0362f79f, 0x023f6c06, 0x0160b8cb, 0x001635e3}}, Y: Field{[10]uint32{0x004bccc1, 0x029014ed, 0x0353140a, 0x00f6ec98, 0x03b04d6d, 0x018e444c, 0x0222f5e1, 0x0319c630, 0x00f2fd6b, 0x001f2ef9}}}, + {X: Field{[10]uint32{0x0000a490, 0x03afbf8b, 0x01738211, 0x004bd91b, 0x03fde1af, 0x0000538e, 0x00869aa9, 0x013f96ac, 0x031aeed5, 0x0039cae6}}, Y: Field{[10]uint32{0x00af4fc2, 0x03cc9ce4, 0x01d348cf, 0x01a5df49, 0x00d94659, 0x00b320a8, 0x02af020a, 0x0160ce10, 0x014d8f59, 0x003364b4}}}, + {X: Field{[10]uint32{0x030fd658, 0x03cd2355, 0x0085b3b9, 0x00508885, 0x00b725f6, 0x0277fe2a, 0x03cef97c, 0x016f862d, 0x03aed55a, 0x0001aa1a}}, Y: Field{[10]uint32{0x032c5724, 0x001b59fb, 0x01d4081c, 0x00515c6a, 0x0360a14f, 0x01c27ea1, 0x03121407, 0x00c05440, 0x02914c3b, 0x0004e289}}}, + {X: Field{[10]uint32{0x030a1fc5, 0x0002bbae, 0x0316e0e1, 0x0386d891, 0x03b17c39, 0x0193f0a0, 0x00b00595, 0x03c9135b, 0x00f67240, 0x00072823}}, Y: Field{[10]uint32{0x01ef0a55, 0x011ecff6, 0x0016ab34, 0x010d3a70, 0x03deec27, 0x019ab7c1, 0x0236317c, 0x0027b0d2, 0x03ce655d, 0x0008b893}}}, + {X: Field{[10]uint32{0x024a0b0f, 0x01608060, 0x016070f5, 0x022bf525, 0x02b7cf62, 0x03377ddb, 0x021ee30b, 0x012711cf, 0x0128feba, 0x00365770}}, Y: Field{[10]uint32{0x03c7e8a1, 0x00b135b1, 0x02116161, 0x02eab8bf, 0x03633e98, 0x01a6da38, 0x0061274c, 0x0384df44, 0x02b8fea3, 0x00354d02}}}, + {X: Field{[10]uint32{0x00d83857, 0x001cfe33, 0x03afcf3c, 0x022f6661, 0x03ae7e28, 0x01a6a22e, 0x03a14e47, 0x035405b0, 0x022a7f4f, 0x000b3334}}, Y: Field{[10]uint32{0x033b389e, 0x01593741, 0x01f3b0f2, 0x00513b6d, 0x00c2a7b6, 0x03e393ee, 0x010f849f, 0x027f6d1c, 0x023caea8, 0x002ba099}}}, + {X: Field{[10]uint32{0x01628a43, 0x03afac25, 0x001d1c5e, 0x03207ca0, 0x01ae4a9a, 0x0375ed04, 0x03bc0037, 0x03788e4d, 0x01f6c8e4, 0x003b05ed}}, Y: Field{[10]uint32{0x0258df83, 0x01b9ba59, 0x007348e6, 0x0083c1e6, 0x03743196, 0x01a3f9c3, 0x01fa2989, 0x0056c18c, 0x011dfd58, 0x002cf835}}}, + {X: Field{[10]uint32{0x0096b6f4, 0x0216225b, 0x023ca956, 0x00b22eb3, 0x00cee8e1, 0x033c7326, 0x0213cddc, 0x01fd3869, 0x037e6290, 0x00298eab}}, Y: Field{[10]uint32{0x02e8216e, 0x01500c6b, 0x00deeef7, 0x01f7a003, 0x01f8bc1a, 0x00c95688, 0x0144ab12, 0x0265cfa7, 0x02bcdc5f, 0x000be54f}}}, + {X: Field{[10]uint32{0x03ad32f3, 0x03805a61, 0x00b2c550, 0x02bc6685, 0x0390e345, 0x00a5b44d, 0x005636cb, 0x023435ad, 0x0330318d, 0x0023ad3f}}, Y: Field{[10]uint32{0x00a4a3e3, 0x022bddc3, 0x031718f2, 0x0144209f, 0x020cc01d, 0x017aeddd, 0x0200151c, 0x03f1f9f5, 0x038bae7f, 0x0012e388}}}, + {X: Field{[10]uint32{0x0276b8d2, 0x012b7660, 0x02341437, 0x0232d1c4, 0x002432fa, 0x01298ebb, 0x038a6e57, 0x010e5fd5, 0x00afbb5b, 0x002ac508}}, Y: Field{[10]uint32{0x00b94396, 0x03995fd9, 0x0357490c, 0x0335fdd6, 0x038f264a, 0x029e5562, 0x039df900, 0x03a49d96, 0x028ea197, 0x003ebd8c}}}, + {X: Field{[10]uint32{0x006f680a, 0x002f46a2, 0x03b5e963, 0x01acd23f, 0x015102aa, 0x00756667, 0x0016f1cc, 0x0286ab73, 0x010e6b2b, 0x0036a862}}, Y: Field{[10]uint32{0x012fa209, 0x03db7e8d, 0x0051094b, 0x0170b088, 0x038744f0, 0x03caef48, 0x02f6005c, 0x03ae532d, 0x03695a63, 0x00067eb2}}}, + {X: Field{[10]uint32{0x032a28e3, 0x033d91df, 0x03f2e0b1, 0x010af48b, 0x03cb08a6, 0x03e3aedc, 0x01a1b0ed, 0x0346d226, 0x012e5398, 0x003c667d}}, Y: Field{[10]uint32{0x02c2f454, 0x02d66167, 0x03d9e5c1, 0x02b15526, 0x012d5278, 0x01fbe6dd, 0x00f87476, 0x004c7533, 0x03aba5e2, 0x000d866a}}}, + {X: Field{[10]uint32{0x0046ad6a, 0x014888fc, 0x00046e27, 0x03d6727f, 0x01e75c86, 0x025e928d, 0x0320bc14, 0x03b3cdaf, 0x0293a5f9, 0x00060aa7}}, Y: Field{[10]uint32{0x03b8bcfd, 0x0079223f, 0x007a5c73, 0x0328d2bc, 0x03e0924d, 0x021585f1, 0x0067693d, 0x03b8632a, 0x0288c39d, 0x00318257}}}, + {X: Field{[10]uint32{0x0214abbb, 0x0026552c, 0x0327c3b5, 0x02b82418, 0x025ac21e, 0x0109dfec, 0x020a7016, 0x03f99ad9, 0x03530636, 0x00022932}}, Y: Field{[10]uint32{0x01d0ed1c, 0x035a49a8, 0x00bbf63f, 0x01709540, 0x008efcb8, 0x0349758e, 0x02e707fa, 0x02a5048f, 0x00514cc6, 0x001a4f96}}}, + {X: Field{[10]uint32{0x008c1282, 0x00224597, 0x018d42b2, 0x023204ef, 0x02f49517, 0x00b1565c, 0x01e31058, 0x030cf845, 0x035a3b40, 0x0012404c}}, Y: Field{[10]uint32{0x004214e3, 0x02760072, 0x0016624d, 0x00393778, 0x00f26a9a, 0x0387c3a5, 0x02c70eb9, 0x01d03772, 0x0176429d, 0x0011c01c}}}, + {X: Field{[10]uint32{0x004e01dd, 0x01048ca6, 0x02b8fcdf, 0x01772b60, 0x01df64f5, 0x02e7cb81, 0x01b49e14, 0x00d8ad18, 0x01a77c34, 0x00206039}}, Y: Field{[10]uint32{0x0305040b, 0x01d0ab2b, 0x03e650de, 0x02704c3c, 0x01cb3fb4, 0x0016b247, 0x034b0fd0, 0x03c402a8, 0x0221d4b9, 0x000d33d5}}}, + {X: Field{[10]uint32{0x0251ee9f, 0x0217f84d, 0x032a4b10, 0x01f2df48, 0x01a90e1d, 0x023aa975, 0x00aeee35, 0x03d2a277, 0x027efea9, 0x0023dc48}}, Y: Field{[10]uint32{0x0255ad73, 0x036bd3a5, 0x01aaee90, 0x01aaf011, 0x03e27267, 0x02e4531f, 0x03c344f3, 0x01e68289, 0x01bcbb2b, 0x00293685}}}, + {X: Field{[10]uint32{0x03b58264, 0x023508f3, 0x02a3ccc6, 0x02a96821, 0x02d1ea8e, 0x00f30669, 0x03592a2a, 0x02eb2c20, 0x0374cdc9, 0x0036fae6}}, Y: Field{[10]uint32{0x00576161, 0x000268d0, 0x022d45b1, 0x03e6d967, 0x0018e86d, 0x02785aef, 0x00732eb7, 0x01fed60c, 0x039283f0, 0x002f99a1}}}, + {X: Field{[10]uint32{0x01591933, 0x02985f5c, 0x02958ab0, 0x037e0c5e, 0x017d9ea4, 0x02014a37, 0x03b09b62, 0x00b2b0f1, 0x013fa7f5, 0x003cca3a}}, Y: Field{[10]uint32{0x02405547, 0x0108c47c, 0x00a60fc0, 0x005f5faf, 0x002f780c, 0x036174e5, 0x01c3f3a7, 0x027a4187, 0x0059811f, 0x001073a3}}}, + {X: Field{[10]uint32{0x00fea051, 0x0033c20c, 0x00b7d8fb, 0x020544c7, 0x01d4ca41, 0x00087091, 0x005f44c2, 0x006fb127, 0x0003416b, 0x0015b53d}}, Y: Field{[10]uint32{0x00bd39ce, 0x028eb614, 0x002a8d35, 0x024b8f60, 0x0051ae1a, 0x035773a3, 0x00cb6373, 0x01defa4d, 0x0133948f, 0x003317d8}}}, + {X: Field{[10]uint32{0x039022b8, 0x03d3af00, 0x03c49e9c, 0x03e819f3, 0x01dd90c9, 0x00c9ff50, 0x02becf2a, 0x01dadf33, 0x004b8bb4, 0x002388b8}}, Y: Field{[10]uint32{0x00286b8b, 0x0064ecc2, 0x01d6d3e4, 0x024b0b20, 0x00934e79, 0x0074fbd6, 0x0103c023, 0x01a5b4d3, 0x02603204, 0x00007e3e}}}, + {X: Field{[10]uint32{0x02f064f6, 0x019f5e83, 0x00e1a518, 0x01cafe7f, 0x02b396eb, 0x033fbeb7, 0x03624dc1, 0x01f1a3e4, 0x02e4b9a7, 0x000d06c8}}, Y: Field{[10]uint32{0x02d9441a, 0x023fe2e4, 0x01e27cfc, 0x01c9f4ca, 0x03af11ed, 0x036f2cb6, 0x0162bcf0, 0x01a55d65, 0x03877bc3, 0x002560e7}}}, + {X: Field{[10]uint32{0x03324763, 0x02c8098e, 0x0305045e, 0x02670002, 0x00e6af97, 0x013ee2a3, 0x01e86809, 0x01044a1e, 0x02939f23, 0x000fa90b}}, Y: Field{[10]uint32{0x0201a623, 0x01af544b, 0x02f59186, 0x028ce2c5, 0x0160a5c0, 0x03b3ea3f, 0x024d51ff, 0x029bc13f, 0x01676f5a, 0x00110c90}}}, + {X: Field{[10]uint32{0x035d625b, 0x0249efd4, 0x0317342f, 0x01829c70, 0x0023d8a6, 0x02337a47, 0x00faa1bb, 0x01453be5, 0x004cef10, 0x002bf9ed}}, Y: Field{[10]uint32{0x008b4b65, 0x02b3f21f, 0x0042751c, 0x01dde8e2, 0x026cfcdd, 0x012c18fb, 0x0151f185, 0x021dcaf3, 0x03885121, 0x001d85e9}}}, + {X: Field{[10]uint32{0x02034d2b, 0x00fef9a8, 0x01dda37a, 0x038ffc38, 0x0112f69e, 0x00b00d74, 0x00ac725f, 0x003531b8, 0x0202abb4, 0x0028d832}}, Y: Field{[10]uint32{0x016b646d, 0x020c9a64, 0x03814fab, 0x01e49568, 0x039d8bbe, 0x0298211b, 0x01d0f723, 0x00fa80c1, 0x01783fec, 0x0005879c}}}, + {X: Field{[10]uint32{0x00011b88, 0x012a16de, 0x0361ec91, 0x02304667, 0x035984d1, 0x02cbb37d, 0x025d9899, 0x03f9f66d, 0x025ff7d9, 0x00041213}}, Y: Field{[10]uint32{0x0176cdc9, 0x01135be5, 0x031844f7, 0x00f5e3de, 0x03e7f4e0, 0x00b05127, 0x01e1086c, 0x01cd5e7b, 0x00e21e13, 0x0004b470}}}, + {X: Field{[10]uint32{0x0256b138, 0x030e71b4, 0x01ba67ee, 0x03996c14, 0x02b11245, 0x0369f79a, 0x0276c40e, 0x02777090, 0x00e15dad, 0x001db0b7}}, Y: Field{[10]uint32{0x0064ce82, 0x033bc57f, 0x03605ed4, 0x01f4fac3, 0x0361a896, 0x010dce68, 0x023fca2a, 0x0020e64b, 0x01ce585b, 0x00366980}}}, + {X: Field{[10]uint32{0x01d4d2e1, 0x0266dd44, 0x0335627b, 0x0220e951, 0x03d1d839, 0x00f71831, 0x004fcb18, 0x03b662c1, 0x01d4c3e6, 0x0019c68c}}, Y: Field{[10]uint32{0x02053088, 0x034dc6c3, 0x01b3b08a, 0x017a94b0, 0x01281f18, 0x03d0ea12, 0x033762fb, 0x03bcfdfb, 0x01152005, 0x001bf763}}}, + {X: Field{[10]uint32{0x02898a37, 0x0384ad9b, 0x032431be, 0x016e9bc5, 0x00c2343a, 0x01fdc706, 0x03729985, 0x01a40c4a, 0x0165a2da, 0x0024743d}}, Y: Field{[10]uint32{0x0332f681, 0x02c8275f, 0x0147a41e, 0x0359c924, 0x01e6393a, 0x007df377, 0x02906a10, 0x028a2355, 0x01b91956, 0x00275a95}}}, + {X: Field{[10]uint32{0x028512ba, 0x03ba6ad8, 0x032d4de9, 0x0379c902, 0x006b90d8, 0x03d37dee, 0x014d0cd8, 0x028b0f2f, 0x00581953, 0x001f967c}}, Y: Field{[10]uint32{0x0242a173, 0x02da6ee6, 0x03dbd9d9, 0x03f8ca3e, 0x0035a012, 0x027c0dc5, 0x0019b0af, 0x01f583bd, 0x01eb74cc, 0x000cec34}}}, + {X: Field{[10]uint32{0x03788a26, 0x024abf87, 0x0380dd34, 0x016f8100, 0x03f43a28, 0x02c7ccbf, 0x02652ada, 0x006fb484, 0x025e0b79, 0x003bde2d}}, Y: Field{[10]uint32{0x0108d306, 0x007346d9, 0x03910abb, 0x03be4e55, 0x00f156cd, 0x013feb00, 0x027ab1b2, 0x02bf08fa, 0x013896d5, 0x0027cf89}}}, + {X: Field{[10]uint32{0x016b7cd3, 0x02337e6d, 0x02e1f50a, 0x0133b9d4, 0x01cb0c0e, 0x0304b2c0, 0x03ce2f5f, 0x00cfb905, 0x00d01998, 0x001e2e5e}}, Y: Field{[10]uint32{0x01560dd9, 0x00251e30, 0x00cd0197, 0x0245c518, 0x01dd631f, 0x005647d7, 0x01701413, 0x001aef8c, 0x01d73726, 0x0027e71f}}}, + {X: Field{[10]uint32{0x00bfe64a, 0x00f49b5c, 0x00ceff1b, 0x03e9ee9f, 0x02906ffd, 0x002aeadc, 0x012f5e88, 0x016883a6, 0x0331f994, 0x0017de16}}, Y: Field{[10]uint32{0x03881c1c, 0x034285ca, 0x0046e0a6, 0x004f9742, 0x01575224, 0x0089e447, 0x021988d3, 0x00e1abfe, 0x000eb3cb, 0x0028f312}}}, + {X: Field{[10]uint32{0x0006b3d1, 0x03a7f95e, 0x00887fce, 0x01f58dd7, 0x0102c388, 0x0112135c, 0x03aadfa4, 0x0124bf3c, 0x01997cbb, 0x0027fb9e}}, Y: Field{[10]uint32{0x0224c22e, 0x02752b3f, 0x00437a12, 0x03c31b19, 0x00c0f0b8, 0x0039f512, 0x03ef25a6, 0x031d807e, 0x03277e94, 0x0010c450}}}, + {X: Field{[10]uint32{0x02e3f30b, 0x0362c313, 0x031020ac, 0x004fe694, 0x02c0f462, 0x036f5f1d, 0x03befd7c, 0x022215ed, 0x015db75d, 0x0004bcb7}}, Y: Field{[10]uint32{0x034097d8, 0x02d2a94c, 0x010216dc, 0x01c1d0b7, 0x00f85105, 0x00e1901c, 0x013ecfad, 0x00127a6b, 0x018b0e85, 0x003389d6}}}, + {X: Field{[10]uint32{0x03997bd7, 0x020c9773, 0x004d5317, 0x027c74aa, 0x02fbb86f, 0x0306dc63, 0x00e2befb, 0x02d470fc, 0x02b43ee2, 0x0031a52b}}, Y: Field{[10]uint32{0x01050977, 0x0221ea3b, 0x03226bdc, 0x003ab9c7, 0x036fc519, 0x02169be0, 0x02c3e5cc, 0x024c44b2, 0x033eb6a6, 0x00105207}}}, + {X: Field{[10]uint32{0x01047ae9, 0x035e32a0, 0x03ab149a, 0x00002182, 0x029bd161, 0x02bcefbe, 0x033493f5, 0x030172eb, 0x024614c5, 0x003f899a}}, Y: Field{[10]uint32{0x00471e6b, 0x006e5506, 0x0320b074, 0x021d255f, 0x00f58ca0, 0x01dca971, 0x00614ada, 0x025352df, 0x02bec446, 0x0038b863}}}, + {X: Field{[10]uint32{0x016118dd, 0x0149a64d, 0x03250d21, 0x039fd9e9, 0x01daff04, 0x03060fc8, 0x03abfa58, 0x02c1f121, 0x01dc0926, 0x001e5d78}}, Y: Field{[10]uint32{0x011409e5, 0x03f1c24d, 0x029d821c, 0x02366e5c, 0x01f94346, 0x02a536b9, 0x014b779d, 0x02cc0329, 0x039744e2, 0x00032612}}}, + {X: Field{[10]uint32{0x018a2b06, 0x01f3c5a8, 0x02951a13, 0x023adff5, 0x00702284, 0x0061b5c0, 0x0109e8e6, 0x00d62682, 0x00db5018, 0x0024d5cf}}, Y: Field{[10]uint32{0x00bf47d5, 0x02439886, 0x010f0265, 0x022bf27d, 0x02caae2d, 0x004db2b3, 0x0090039d, 0x03dabb65, 0x00663047, 0x001ea55f}}}, + {X: Field{[10]uint32{0x01d77660, 0x01febe20, 0x00829fa3, 0x003b8a6d, 0x026771d8, 0x0217f13f, 0x00ac7dd4, 0x01bfae38, 0x021ea60f, 0x00302f4b}}, Y: Field{[10]uint32{0x0335bacd, 0x03fc96c0, 0x0306556a, 0x00ff896b, 0x002effc8, 0x027c91fa, 0x0076267d, 0x03871da4, 0x00fd9edd, 0x001a16dd}}}, + {X: Field{[10]uint32{0x0024bf3e, 0x031a6127, 0x032538c4, 0x00af6a90, 0x01b67685, 0x01575646, 0x02e5f45d, 0x00881e41, 0x00e19319, 0x0015aeb0}}, Y: Field{[10]uint32{0x03c18ebf, 0x0081fb0b, 0x01096a5d, 0x03a7e342, 0x010f5c0a, 0x022c4639, 0x02480bbc, 0x02e04b4b, 0x01d39856, 0x0038efd4}}}, + {X: Field{[10]uint32{0x0142c06c, 0x01347964, 0x03c65231, 0x002ae4f7, 0x015225fa, 0x02617f7b, 0x03ec7c4a, 0x03774baf, 0x0313fe7c, 0x0014ed06}}, Y: Field{[10]uint32{0x03b69c4b, 0x00bfa6f0, 0x03a988f6, 0x008123ca, 0x03cb4ecf, 0x0334af7f, 0x02e038dc, 0x03d59574, 0x025744e4, 0x00243f2e}}}, + {X: Field{[10]uint32{0x02e765bb, 0x03f3cab0, 0x025f5d55, 0x00019d33, 0x00b11364, 0x0060b28b, 0x02baa269, 0x03b6e51f, 0x0231ccc0, 0x002f6817}}, Y: Field{[10]uint32{0x02cf75e8, 0x0371ae9e, 0x0307b447, 0x036aba3d, 0x032fff08, 0x00c23aa5, 0x00593567, 0x01a60a9d, 0x01793123, 0x0025c9d6}}}, + {X: Field{[10]uint32{0x030413d8, 0x03b78552, 0x0189b21a, 0x0254715c, 0x0291196e, 0x023d97e0, 0x0209f19a, 0x0020807f, 0x006a8a90, 0x00123747}}, Y: Field{[10]uint32{0x009b98f5, 0x022d8eb0, 0x017af78c, 0x00367143, 0x01c5a615, 0x0039cbe1, 0x017e2878, 0x00f72994, 0x02fb1a94, 0x001e687d}}}, + {X: Field{[10]uint32{0x012f1f2c, 0x0010e00a, 0x0051c13c, 0x01bcd119, 0x002be834, 0x03a68b52, 0x02ff4e2c, 0x010a323b, 0x0269e28c, 0x001d5018}}, Y: Field{[10]uint32{0x033e996a, 0x03371684, 0x0289f9e7, 0x03377796, 0x00202c44, 0x024bbf11, 0x00d13d76, 0x0201f88f, 0x0097211c, 0x0011d0ec}}}, + {X: Field{[10]uint32{0x0192ee5f, 0x02181288, 0x03165401, 0x0009376a, 0x00744200, 0x010c53ff, 0x000ae4d2, 0x0204ce21, 0x0193bf31, 0x0006a957}}, Y: Field{[10]uint32{0x00bc3bfc, 0x038e3c4b, 0x0118f041, 0x02204d84, 0x017a6a8e, 0x02db2cb3, 0x02ac7e99, 0x027a2995, 0x035492d5, 0x002eaeb0}}}, + {X: Field{[10]uint32{0x037dcf03, 0x01c48311, 0x02fbab93, 0x03d26c5d, 0x0234d214, 0x03627dc8, 0x00fa8503, 0x0318a799, 0x0050db7b, 0x001d6f93}}, Y: Field{[10]uint32{0x00b6f819, 0x015320a5, 0x003fb511, 0x00a9069b, 0x03ed2e5e, 0x0321831a, 0x033d9343, 0x01b6c820, 0x03ba8c60, 0x002d5482}}}, + {X: Field{[10]uint32{0x00ef6c8c, 0x00e0950f, 0x01c7d8d6, 0x002871c9, 0x036508e1, 0x01846e56, 0x00b2486b, 0x022cb435, 0x0022e4ed, 0x003cd812}}, Y: Field{[10]uint32{0x022dc0f5, 0x00e51188, 0x00105f98, 0x00b2c8eb, 0x0075d99d, 0x00b2f5a6, 0x021a412f, 0x02f1a896, 0x00797404, 0x003d016b}}}, + {X: Field{[10]uint32{0x037cefe8, 0x01f7fc39, 0x012bf2d8, 0x0247c107, 0x01da54ee, 0x0380c9ac, 0x015f727a, 0x009afbeb, 0x02e66f93, 0x001b2485}}, Y: Field{[10]uint32{0x01d16517, 0x00ddfece, 0x01704557, 0x01c94194, 0x031ec2f3, 0x03d48c37, 0x0146f922, 0x011f237d, 0x01b9bc19, 0x00192808}}}, + {X: Field{[10]uint32{0x0105668a, 0x0351d35a, 0x03b09e74, 0x03896c4a, 0x00988346, 0x01a01d9e, 0x03138617, 0x01ccb77c, 0x03bdce97, 0x002b91e6}}, Y: Field{[10]uint32{0x02612929, 0x01f02b24, 0x028b3f4b, 0x025fa8fc, 0x02b33a6f, 0x01366f74, 0x01363366, 0x01821e26, 0x0355c599, 0x0028f380}}}, + {X: Field{[10]uint32{0x014898be, 0x01c14b5d, 0x034ff480, 0x029eaabd, 0x039ccc05, 0x01b3f4bd, 0x02abcf83, 0x0136c871, 0x017966f7, 0x0033a4b0}}, Y: Field{[10]uint32{0x001bb978, 0x039e7298, 0x0127ce44, 0x0200fc42, 0x038adebf, 0x0238d15a, 0x019cec9c, 0x00e31329, 0x03f3530f, 0x003cf8f4}}}, + {X: Field{[10]uint32{0x026ea68d, 0x033c589b, 0x03b9f477, 0x0388de28, 0x01a96f5a, 0x02623137, 0x0153d875, 0x01d705dd, 0x02b68152, 0x002282ef}}, Y: Field{[10]uint32{0x03e77f4e, 0x005e60d7, 0x036d64e9, 0x02b08a11, 0x00a7c74e, 0x0216938d, 0x02a9f770, 0x01504ab2, 0x015e46f4, 0x002562de}}}, + {X: Field{[10]uint32{0x01d9ccfe, 0x03944da3, 0x028d00c2, 0x029c721b, 0x027f0e97, 0x017b479e, 0x02a033c0, 0x00038a44, 0x02e99754, 0x0030a913}}, Y: Field{[10]uint32{0x0275668f, 0x02a5514d, 0x03c60596, 0x02e3afda, 0x0170cd17, 0x00ed44da, 0x03b69b29, 0x02941f6f, 0x01ef7d24, 0x0025590d}}}, + {X: Field{[10]uint32{0x019ea1e1, 0x022471c6, 0x01c293cc, 0x02472057, 0x013d3bbe, 0x01510ef3, 0x03785208, 0x037d851e, 0x0225534d, 0x002d857d}}, Y: Field{[10]uint32{0x02c3ea25, 0x037079db, 0x01e12267, 0x0071ace6, 0x00fe3afd, 0x03d97189, 0x02908764, 0x0051a18a, 0x00f199e2, 0x00132afd}}}, + {X: Field{[10]uint32{0x00a75a0e, 0x002e4efa, 0x030b55fd, 0x0153e020, 0x03b64a0c, 0x02602fb9, 0x016dde93, 0x009cab3d, 0x038dfdcf, 0x002bf32b}}, Y: Field{[10]uint32{0x0042a63e, 0x00b05044, 0x00e9554f, 0x01801f62, 0x03e7d6a6, 0x00d6186b, 0x036d9ba7, 0x03113e27, 0x005d6f6f, 0x0002363b}}}, + {X: Field{[10]uint32{0x03135f53, 0x00cf22a6, 0x033ac328, 0x00ab2ce1, 0x03559d07, 0x03de0c02, 0x039395d0, 0x006c987c, 0x02a8c531, 0x0014d05d}}, Y: Field{[10]uint32{0x02b2f436, 0x031f9b22, 0x03643b03, 0x0175a0fb, 0x020b1615, 0x03e9d5be, 0x02f66398, 0x029ed21f, 0x004b5eee, 0x002ae13e}}}, + {X: Field{[10]uint32{0x0391f34c, 0x03f34506, 0x0393ea65, 0x02f194c6, 0x028705ab, 0x00883cfc, 0x03651ac6, 0x025737d1, 0x017397ef, 0x0017dea8}}, Y: Field{[10]uint32{0x0081da22, 0x01215866, 0x02ab8b75, 0x02ef8118, 0x0270cffc, 0x01e9df63, 0x011b28f1, 0x02cd3cbb, 0x00983cdd, 0x001cbdf6}}}, + {X: Field{[10]uint32{0x008f3d3b, 0x00a1ff2b, 0x034490aa, 0x0161a40f, 0x02b6a952, 0x00d6bf5e, 0x001db193, 0x03edcacc, 0x024cc1e2, 0x00353ed2}}, Y: Field{[10]uint32{0x014154f9, 0x02062538, 0x00306088, 0x03de6ba4, 0x02f213ad, 0x037b9e1f, 0x01098cd5, 0x02ca1c67, 0x02e84a9d, 0x001dad5c}}}, + {X: Field{[10]uint32{0x037a9ff4, 0x03515327, 0x035694c6, 0x01716aef, 0x00dad097, 0x00f6c374, 0x013116c2, 0x00bcebde, 0x0163843b, 0x000f719d}}, Y: Field{[10]uint32{0x016753ae, 0x01da980d, 0x01fbf780, 0x01dd3ece, 0x004894b2, 0x0126a022, 0x010ccf80, 0x00edfd0f, 0x039e4db8, 0x00377d96}}}, + {X: Field{[10]uint32{0x02f897d6, 0x01720b28, 0x036b13bb, 0x0176cdb8, 0x039c3e41, 0x00334599, 0x006c4495, 0x0005344e, 0x02bd1edd, 0x00195e44}}, Y: Field{[10]uint32{0x02d505cf, 0x00249fbf, 0x02143430, 0x012327d6, 0x0178205e, 0x03341b1a, 0x007fb3aa, 0x0389023f, 0x03db11bb, 0x00138bf7}}}, + {X: Field{[10]uint32{0x03d69f99, 0x0205c5cf, 0x027b8f90, 0x017f12b7, 0x036f412b, 0x03cffa4d, 0x00473e50, 0x016173d9, 0x03b35f82, 0x00016914}}, Y: Field{[10]uint32{0x00097ebe, 0x02d985d6, 0x00c4fa29, 0x02d5fcad, 0x03ec2fb4, 0x012ae868, 0x01dbf06f, 0x02d64138, 0x02113448, 0x003f05a7}}}, + {X: Field{[10]uint32{0x00052679, 0x02cdece9, 0x03689093, 0x02c83d3f, 0x03d01c68, 0x025a8c10, 0x02cfaf1f, 0x012f21a6, 0x005ac24b, 0x0030eb7d}}, Y: Field{[10]uint32{0x00ae19cc, 0x00ab1a04, 0x017d7edc, 0x020f3b72, 0x014f0d4b, 0x01cae342, 0x0285bea9, 0x012d274e, 0x0207cd37, 0x000f648c}}}, + {X: Field{[10]uint32{0x021e1d56, 0x0103fa57, 0x006b6e90, 0x003eb2c1, 0x035bd84f, 0x007c976b, 0x016420be, 0x0372109d, 0x01c8905d, 0x00068cbb}}, Y: Field{[10]uint32{0x00eb4c51, 0x0108591a, 0x0059c0ca, 0x0203e33e, 0x03f1612c, 0x01a98bd3, 0x00b73ad1, 0x01dfe307, 0x019d113a, 0x001fd19f}}}, + {X: Field{[10]uint32{0x034d6c98, 0x00efc829, 0x006b7b4a, 0x010bac69, 0x02f925c1, 0x03944092, 0x028b7da2, 0x025deb0c, 0x019862e5, 0x001c255f}}, Y: Field{[10]uint32{0x02f09381, 0x03f49cef, 0x03ec1441, 0x00c7c8c9, 0x037d7ee2, 0x02074b14, 0x01513488, 0x0330d282, 0x02c62e42, 0x0009a6d5}}}, + {X: Field{[10]uint32{0x037537a7, 0x03b72120, 0x02b44bd7, 0x015b65da, 0x01bf6dd2, 0x02db37c9, 0x03ae4540, 0x02c5b041, 0x00165a02, 0x0001f9a5}}, Y: Field{[10]uint32{0x005185f5, 0x01a09ad1, 0x03b243e6, 0x0075e28d, 0x03a6aac2, 0x00f91cd8, 0x010d2ce0, 0x0030478b, 0x00db3836, 0x003fee1d}}}, + {X: Field{[10]uint32{0x01df9678, 0x0355495b, 0x018b60ee, 0x01d78ded, 0x003b9d8a, 0x03d10176, 0x03e7ac6f, 0x03a6d492, 0x01597b42, 0x0013e068}}, Y: Field{[10]uint32{0x02e0a78c, 0x02e125e1, 0x038b377c, 0x035e6494, 0x003558ee, 0x0349f7d3, 0x00ffbe16, 0x018196b6, 0x02071867, 0x002c94c4}}}, + {X: Field{[10]uint32{0x014fd547, 0x0068d74a, 0x002d9359, 0x03586f74, 0x009be6fd, 0x024e04cd, 0x020be8de, 0x0196bc2d, 0x03685770, 0x003e8940}}, Y: Field{[10]uint32{0x00e81625, 0x01873512, 0x02f06d4d, 0x029deda5, 0x033b0a1f, 0x03d7b842, 0x0242f0dc, 0x01f2fd75, 0x01e396c7, 0x003c2e64}}}, + {X: Field{[10]uint32{0x032ba3d4, 0x03c09689, 0x02c4d440, 0x0312961d, 0x006b61d6, 0x00ffb1b6, 0x03da5172, 0x00aff0f8, 0x02bd6716, 0x003d37d7}}, Y: Field{[10]uint32{0x0052212b, 0x038ca860, 0x00d44674, 0x016e425c, 0x026380dc, 0x0278dd73, 0x010e384c, 0x017ecb56, 0x02798bc7, 0x002c8ee8}}}, + {X: Field{[10]uint32{0x01ac5015, 0x021c1da8, 0x0141c4a5, 0x00681955, 0x0051b897, 0x0111835b, 0x0228e5c4, 0x016d97eb, 0x031db372, 0x002ad6da}}, Y: Field{[10]uint32{0x02ee2ece, 0x03a972c9, 0x02a9e286, 0x02e3422d, 0x00424f72, 0x01e16b7c, 0x01d7876d, 0x005c60ea, 0x0057ecdc, 0x0005b4b1}}}, + {X: Field{[10]uint32{0x00869e55, 0x01df380a, 0x03981ac8, 0x0264f0c3, 0x0002e08d, 0x01c34e29, 0x0280dcc4, 0x014dc101, 0x007e13db, 0x002a293b}}, Y: Field{[10]uint32{0x037f60a4, 0x01205472, 0x007bb2d2, 0x0356eaec, 0x00754025, 0x01961e29, 0x03d08749, 0x03b94e25, 0x019c2cdf, 0x0012a77b}}}, + {X: Field{[10]uint32{0x00245f48, 0x02c5042e, 0x00faa5f1, 0x03678aaf, 0x016f914d, 0x01970404, 0x0183d081, 0x01836c01, 0x00f633bd, 0x000cdfd5}}, Y: Field{[10]uint32{0x0176dbfc, 0x0159dc60, 0x00a94ea4, 0x0395022c, 0x00679b58, 0x00eaeb93, 0x035452bd, 0x03f12902, 0x0328696a, 0x002514fa}}}, + {X: Field{[10]uint32{0x01901b53, 0x0190ad7f, 0x020e433b, 0x00354a74, 0x00f6db48, 0x00694153, 0x004c7674, 0x02abc415, 0x03abdc2b, 0x003bb8cd}}, Y: Field{[10]uint32{0x029c27be, 0x019091e1, 0x01830872, 0x03357db2, 0x00825616, 0x01a55be2, 0x03a1d8ba, 0x00035292, 0x038802cc, 0x00196b56}}}, + {X: Field{[10]uint32{0x012f1548, 0x00ff3bdd, 0x010b8451, 0x01f143c0, 0x00f56e47, 0x010fc49d, 0x01aaf0cb, 0x00002bb0, 0x021857cb, 0x00167d4b}}, Y: Field{[10]uint32{0x021698be, 0x0383d4e7, 0x00e70a1a, 0x018665e3, 0x014f2254, 0x01bb078a, 0x007006ba, 0x00ec6601, 0x036e8db0, 0x003632a3}}}, + {X: Field{[10]uint32{0x006f3e12, 0x0297c150, 0x0115e8f5, 0x0043cad2, 0x038583ab, 0x01f618a1, 0x01618d9d, 0x036caa2a, 0x020c25fa, 0x001b0802}}, Y: Field{[10]uint32{0x038081f8, 0x03b6527b, 0x03a617d6, 0x0276c5e4, 0x00050464, 0x0170343e, 0x01af24da, 0x03cd7051, 0x004e374c, 0x00053526}}}, + {X: Field{[10]uint32{0x02ac07fa, 0x03fef0e2, 0x002a032c, 0x03e2628f, 0x02f8144f, 0x00e6d95e, 0x02ad8782, 0x02dbe1c6, 0x02fd51df, 0x00059528}}, Y: Field{[10]uint32{0x021a839c, 0x02410f45, 0x037148d5, 0x0317e977, 0x00e36d46, 0x031c5c17, 0x00dcc1d4, 0x0215a6db, 0x01c382d9, 0x0022da59}}}, + {X: Field{[10]uint32{0x03556d77, 0x008cbdd9, 0x02fae8de, 0x0301fa63, 0x027b3ed1, 0x014fe5b5, 0x0182f339, 0x00d55b26, 0x03c9ab47, 0x0031200c}}, Y: Field{[10]uint32{0x01968bac, 0x01ead2fb, 0x002b6f89, 0x01520a2c, 0x010abe4a, 0x0373feab, 0x03873828, 0x00c5a041, 0x00a87bc4, 0x002bcfd2}}}, + {X: Field{[10]uint32{0x003c6032, 0x01390a0f, 0x003baf1a, 0x007c084b, 0x001a9577, 0x015fdea6, 0x005aaea5, 0x00a35462, 0x03faa9d2, 0x0017765d}}, Y: Field{[10]uint32{0x032eb656, 0x01ca8de3, 0x02b4549e, 0x03349d2f, 0x02abb06a, 0x036a81bc, 0x00e52043, 0x023db34b, 0x014aba17, 0x000effe7}}}, + {X: Field{[10]uint32{0x0242a564, 0x03f7ca73, 0x032abefe, 0x01a69760, 0x03261e4c, 0x00f26aba, 0x03f1d8af, 0x025b12f3, 0x0025dd9a, 0x000a9db7}}, Y: Field{[10]uint32{0x01244806, 0x02ad31b5, 0x02c5b2fc, 0x02ab7d85, 0x0307ff82, 0x03d70e20, 0x00c972aa, 0x032b9f7a, 0x02f23ad5, 0x00124d14}}}, + {X: Field{[10]uint32{0x029a4b8d, 0x02e3d2f4, 0x02d6ff2d, 0x02a69279, 0x02fd3935, 0x01198aca, 0x02bab4db, 0x01e48e08, 0x01064c0e, 0x00336f4d}}, Y: Field{[10]uint32{0x017a90ce, 0x03828f15, 0x03143a8c, 0x0054550f, 0x0358b845, 0x021bf6d7, 0x008a84c3, 0x009d3e9a, 0x032eb61e, 0x002c849b}}}, + {X: Field{[10]uint32{0x0354d978, 0x03dc974a, 0x02a75bf6, 0x00969051, 0x012bcfd5, 0x01c4ebfe, 0x0182d6ce, 0x0353d8d3, 0x009b2cb9, 0x00260fc9}}, Y: Field{[10]uint32{0x028abca2, 0x03c12122, 0x033ef0cf, 0x01dc8e20, 0x02af302e, 0x0280b6af, 0x004d25f5, 0x0380b69b, 0x0006850b, 0x001e7349}}}, + {X: Field{[10]uint32{0x00afd4f4, 0x0370630e, 0x0138396f, 0x0227eb78, 0x019e1284, 0x03ec8f94, 0x017e21ef, 0x02a7ce89, 0x01b4a5a0, 0x002231d9}}, Y: Field{[10]uint32{0x015f46c2, 0x0226df56, 0x006971cf, 0x038d170a, 0x02e3336a, 0x034511a0, 0x005cc031, 0x02568f94, 0x02647299, 0x003d357f}}}, + {X: Field{[10]uint32{0x03d52c31, 0x01e960ad, 0x036926b6, 0x001d1580, 0x031d147d, 0x02234398, 0x01c7d08b, 0x032c2866, 0x01ecd603, 0x00065d41}}, Y: Field{[10]uint32{0x01057f15, 0x0158793e, 0x0208f49a, 0x037e88d3, 0x002f212a, 0x0169d6bb, 0x035a7461, 0x017f142b, 0x013bf2d7, 0x00251fb0}}}, + {X: Field{[10]uint32{0x032eaaf8, 0x00c82d8e, 0x00fec668, 0x003fad8e, 0x019a1979, 0x035af013, 0x02700c30, 0x01817d62, 0x0232e10f, 0x00260610}}, Y: Field{[10]uint32{0x03f9c85b, 0x01e3873b, 0x03d7f395, 0x024aac62, 0x01dbbdf1, 0x01b0c7d6, 0x02a837e3, 0x03e8e4c3, 0x02edc0e2, 0x003bcc1d}}}, + {X: Field{[10]uint32{0x000bc002, 0x03e388db, 0x02764892, 0x0205a1a6, 0x02f0c7d0, 0x00c899c3, 0x00f47a9e, 0x004d2de4, 0x0335cba0, 0x00143c36}}, Y: Field{[10]uint32{0x00396072, 0x00cff2da, 0x00edd832, 0x0112e181, 0x009e466b, 0x02389976, 0x03260f65, 0x0213ab9d, 0x0013d98a, 0x000706c7}}}, + {X: Field{[10]uint32{0x01665502, 0x00770c75, 0x03a8680c, 0x005b35af, 0x0099ac85, 0x03d08a3d, 0x00bb19f3, 0x02ed42b9, 0x00ea1a44, 0x003678d0}}, Y: Field{[10]uint32{0x034aaad8, 0x03d2cd56, 0x00f75355, 0x02b49412, 0x01341445, 0x020eebba, 0x0005251b, 0x00864ffe, 0x0288335a, 0x0004a285}}}, + {X: Field{[10]uint32{0x007c539c, 0x00f03e3a, 0x034c91e3, 0x02a42a51, 0x01d42cb4, 0x01557706, 0x03067020, 0x01377631, 0x013301b8, 0x00056aa0}}, Y: Field{[10]uint32{0x0142dbc1, 0x031a9b62, 0x03b1de22, 0x011d17d8, 0x032a14bf, 0x01d8b32e, 0x01d2ba17, 0x019003af, 0x03209658, 0x001e54c1}}}, + {X: Field{[10]uint32{0x025d34d2, 0x0060be1e, 0x0024255e, 0x00608d81, 0x03d489dd, 0x01f1ef88, 0x010d169c, 0x026936e4, 0x030453d1, 0x001bdc21}}, Y: Field{[10]uint32{0x01c7dde2, 0x01e2aa66, 0x02101355, 0x03f569b7, 0x01c15246, 0x01f136ee, 0x029beabd, 0x00afd282, 0x01567c1c, 0x003814c6}}}, + {X: Field{[10]uint32{0x03167674, 0x03e370f1, 0x03f1bf33, 0x0163f8b4, 0x03867f9a, 0x01a2153d, 0x02d97e91, 0x028e9226, 0x00dfcddc, 0x000c7a48}}, Y: Field{[10]uint32{0x03706f39, 0x020a4030, 0x038afdbe, 0x017ec4b2, 0x01244a9c, 0x03af89f7, 0x01576600, 0x01b96054, 0x003d0b0c, 0x00149c4b}}}, + {X: Field{[10]uint32{0x008d51d8, 0x007cb693, 0x015ab8d0, 0x030a1a8c, 0x028258de, 0x00622325, 0x0381fbcf, 0x03c0765b, 0x0211708f, 0x0024cc03}}, Y: Field{[10]uint32{0x026c33ff, 0x00f52838, 0x01f464c9, 0x00d8495b, 0x009e0b76, 0x01961393, 0x0049b536, 0x00823021, 0x02473b6a, 0x00054da1}}}, + {X: Field{[10]uint32{0x03acb3db, 0x0153d973, 0x017dcecd, 0x00c9c81e, 0x0230c946, 0x01c4b072, 0x016cfdf3, 0x019c0818, 0x010bf62d, 0x0023deb5}}, Y: Field{[10]uint32{0x0043c637, 0x03e2d121, 0x01d347e4, 0x01c4197e, 0x001eff0d, 0x00686532, 0x0290080a, 0x014af0cc, 0x023207dc, 0x0016b042}}}, + {X: Field{[10]uint32{0x0189f4a9, 0x022921ca, 0x03dd7445, 0x007723be, 0x027f5cf5, 0x01431822, 0x028f5d73, 0x0035c711, 0x03827627, 0x001bb602}}, Y: Field{[10]uint32{0x01826dc0, 0x0248f422, 0x035a2e00, 0x03c8058e, 0x0177fd3c, 0x01a1f1f8, 0x01e47b7c, 0x039ded19, 0x03f738f6, 0x002f2e8a}}}, + {X: Field{[10]uint32{0x00e3714c, 0x00aed2df, 0x01e38eea, 0x02ca1a52, 0x027c2b11, 0x01dfab68, 0x02cb85f7, 0x02278a58, 0x017db949, 0x003b1b07}}, Y: Field{[10]uint32{0x02d08fdd, 0x02c0c3a7, 0x02516df3, 0x01354bf3, 0x018ef266, 0x02f295d5, 0x00089d0e, 0x037f6c75, 0x01af6042, 0x002b767e}}}, + {X: Field{[10]uint32{0x0237f093, 0x00982112, 0x0335c1fe, 0x023a5519, 0x01c59bca, 0x0042166e, 0x03a82d35, 0x03064964, 0x032c24dc, 0x0023ddf2}}, Y: Field{[10]uint32{0x03e07202, 0x0266cf13, 0x02213831, 0x02f561f9, 0x00423fde, 0x0029c32e, 0x0355bd4f, 0x0267e9c2, 0x0186fbf4, 0x001459d2}}}, + {X: Field{[10]uint32{0x024b6aca, 0x01e30741, 0x0049f1fd, 0x035890f4, 0x011122f2, 0x03d28cb7, 0x00c4ed62, 0x00c6bea9, 0x0374dae8, 0x0038ab77}}, Y: Field{[10]uint32{0x028b2297, 0x020463f8, 0x0323ccf5, 0x02808296, 0x00a73a1a, 0x0369984a, 0x02560224, 0x03ec2c22, 0x03941ead, 0x001f6f2c}}}, + {X: Field{[10]uint32{0x02b1e3eb, 0x011768c0, 0x0072d3e8, 0x0144d2ea, 0x033a22b1, 0x0233516c, 0x03b7c6db, 0x00c7266b, 0x01bc614d, 0x002fdebc}}, Y: Field{[10]uint32{0x00125a21, 0x00bb0b14, 0x03239754, 0x0193c49d, 0x012b8504, 0x00c99ef5, 0x029e2552, 0x02288bee, 0x01e78cf8, 0x0004234e}}}, + {X: Field{[10]uint32{0x02fe50e4, 0x03af1663, 0x01987093, 0x01a29d60, 0x0035b4f0, 0x014b60b3, 0x012c5f69, 0x0196016e, 0x007f0cec, 0x000223ff}}, Y: Field{[10]uint32{0x01378a4c, 0x03713693, 0x00cf4a63, 0x03262e7a, 0x00d39193, 0x008e5159, 0x01558c78, 0x00b0fae8, 0x00ca94b4, 0x000e0b6b}}}, + {X: Field{[10]uint32{0x013a152b, 0x00d4f51f, 0x003b7a28, 0x001cd33e, 0x039070e2, 0x00dbaac9, 0x00569ae6, 0x02b982e7, 0x03840ef4, 0x002c4528}}, Y: Field{[10]uint32{0x00a3fa70, 0x02311df3, 0x03001b18, 0x01d9b629, 0x03bb8260, 0x02ef972f, 0x036438c9, 0x03882981, 0x033ce58e, 0x000df1d9}}}, + {X: Field{[10]uint32{0x03e801b0, 0x036cea31, 0x009da627, 0x00ac6453, 0x00cfb0cd, 0x00c4064b, 0x0368fa1e, 0x008edbe9, 0x002fe20d, 0x00390469}}, Y: Field{[10]uint32{0x019b1039, 0x02140225, 0x0080b91c, 0x02ba2bb1, 0x028f6828, 0x00a2bca6, 0x012bbc17, 0x01e601c9, 0x039b43ee, 0x003fac6d}}}, + {X: Field{[10]uint32{0x00ee1999, 0x0053f35d, 0x00fd7cb8, 0x035fc7d2, 0x0031057a, 0x037979f1, 0x005182ae, 0x008c4f02, 0x007e4643, 0x000647da}}, Y: Field{[10]uint32{0x026dbc72, 0x03d2c7a4, 0x001e60e4, 0x0100f542, 0x0043e5c5, 0x00e02336, 0x0239efb8, 0x0338b566, 0x002b3f77, 0x0015192d}}}, + {X: Field{[10]uint32{0x006bcd81, 0x0023ae54, 0x01bf0b22, 0x01321686, 0x03983774, 0x006bbd4d, 0x018c4ff0, 0x02927bd8, 0x017733b0, 0x0018ffd2}}, Y: Field{[10]uint32{0x00593d3b, 0x0126ca4c, 0x020903ae, 0x02321f89, 0x0039535d, 0x02a4fca9, 0x0287b500, 0x0164c7ce, 0x0397ca83, 0x001b32bb}}}, + {X: Field{[10]uint32{0x03fc2c1c, 0x01f96b6d, 0x015564c5, 0x0291a361, 0x00f4ce72, 0x00ba318a, 0x027056c0, 0x0016e9a7, 0x0025c377, 0x003bf8d9}}, Y: Field{[10]uint32{0x01970ad5, 0x02443014, 0x032d08dd, 0x0049485c, 0x028faa7f, 0x00b956ec, 0x01a5f52c, 0x0127160c, 0x035f27ac, 0x000e4ae6}}}, + {X: Field{[10]uint32{0x037e94a5, 0x0001477d, 0x00a99988, 0x00dd3968, 0x02841d47, 0x005c1287, 0x01419102, 0x0302346f, 0x026bdd7c, 0x0001b484}}, Y: Field{[10]uint32{0x00e6e806, 0x01be55a1, 0x015f55da, 0x02c236bd, 0x03efb4d4, 0x02b50849, 0x0372ce6e, 0x02fa5d4b, 0x023acda1, 0x000ba6e0}}}, + {X: Field{[10]uint32{0x00933743, 0x037da941, 0x02f54b20, 0x03261ad3, 0x006d453a, 0x00732a4f, 0x006340dc, 0x02716e47, 0x03f4297d, 0x0033dee7}}, Y: Field{[10]uint32{0x03670c15, 0x02ea8ffa, 0x012ca083, 0x031078d8, 0x00c20613, 0x03dd46d5, 0x01efec2b, 0x0000ac44, 0x008a2c07, 0x002295e0}}}, + {X: Field{[10]uint32{0x01f7e83e, 0x0093f981, 0x023f2c15, 0x02ffdf00, 0x0027f5a5, 0x038b5568, 0x01ba4e80, 0x017b8747, 0x002b4cbe, 0x002c5809}}, Y: Field{[10]uint32{0x000fb5a0, 0x016e318f, 0x01567607, 0x03d19f42, 0x024f1faa, 0x03ece74f, 0x02e9f540, 0x0049801f, 0x03956cf3, 0x0002b0d5}}}, + {X: Field{[10]uint32{0x02bb050e, 0x0336a95a, 0x02733c02, 0x031b7f43, 0x021744d9, 0x0098669c, 0x013dce02, 0x0063661b, 0x012c4f89, 0x001ea191}}, Y: Field{[10]uint32{0x010de179, 0x02daf172, 0x0285a91e, 0x03e90f62, 0x00542370, 0x025b3d15, 0x02a1fb35, 0x02c383ee, 0x031cb558, 0x000c34c2}}}, + {X: Field{[10]uint32{0x002323b9, 0x0014bfd6, 0x01372408, 0x01024e07, 0x00af41ba, 0x025f19dc, 0x0296d3ab, 0x001bbc3a, 0x001a64d2, 0x00289e6f}}, Y: Field{[10]uint32{0x00e42046, 0x0129af1b, 0x0261da1b, 0x034d2d60, 0x02e96199, 0x0380cc60, 0x01a7ab1f, 0x02f1119e, 0x013d701e, 0x002bbf21}}}, + {X: Field{[10]uint32{0x01e5cc76, 0x039bb1aa, 0x0301a0d4, 0x0218987a, 0x00f76918, 0x03167e1a, 0x00c301aa, 0x0005ad82, 0x01705c16, 0x003a38a1}}, Y: Field{[10]uint32{0x030a983d, 0x02cfab27, 0x01eb8f2f, 0x01989da6, 0x02c988ea, 0x02509c9c, 0x0303b7a4, 0x0201442d, 0x0315f8e7, 0x00248d40}}}, + {X: Field{[10]uint32{0x029f2bbd, 0x03833862, 0x03e73459, 0x0216e4e6, 0x0046da15, 0x01cd3e73, 0x015f300a, 0x03f20601, 0x02f814f3, 0x0007f673}}, Y: Field{[10]uint32{0x00abb55e, 0x02230367, 0x025cd264, 0x02a5e528, 0x00c26d79, 0x00117c08, 0x003c71bc, 0x033239bb, 0x033fa50f, 0x0037313d}}}, + {X: Field{[10]uint32{0x027e5f11, 0x006b41a4, 0x0174d39f, 0x02db3d39, 0x03c609d4, 0x03cd93db, 0x0148942d, 0x017f583f, 0x02fc7027, 0x000c86c6}}, Y: Field{[10]uint32{0x00add33d, 0x015118e0, 0x01680c5b, 0x03e3b40a, 0x03725a80, 0x0293207e, 0x01ad36f8, 0x02cc46ba, 0x00ef808b, 0x0004da3b}}}, + {X: Field{[10]uint32{0x02d7bf72, 0x02310bbd, 0x01741810, 0x02731433, 0x03f9ef1e, 0x0037b095, 0x010cad9b, 0x038e4f6b, 0x01fb6518, 0x00137fca}}, Y: Field{[10]uint32{0x00dfb70c, 0x003d308c, 0x00efde4d, 0x022d20c1, 0x02d92f8f, 0x004fb23d, 0x03bfd067, 0x013a0935, 0x006e05aa, 0x0010565e}}}, + {X: Field{[10]uint32{0x00ed1e0b, 0x00dcfdd7, 0x001b9274, 0x01ca56a3, 0x00c839b9, 0x028fcb95, 0x03162e11, 0x00157196, 0x00a5eb63, 0x0024dea1}}, Y: Field{[10]uint32{0x0166afc6, 0x0253cdde, 0x01954532, 0x02c6a73e, 0x0162c122, 0x038f9e8b, 0x03fb3b52, 0x028d4769, 0x00bbbf11, 0x00280c1e}}}, + {X: Field{[10]uint32{0x016cc3d2, 0x03c111fa, 0x03c7a56d, 0x024ecc5d, 0x0156f073, 0x0176dff1, 0x032a87d2, 0x01cee13e, 0x029b7cab, 0x002f8fea}}, Y: Field{[10]uint32{0x02faf77f, 0x02625a02, 0x00ee1029, 0x01a9f8d2, 0x02927644, 0x03a47dfd, 0x01dacc44, 0x0252bd5c, 0x02e01ad7, 0x0039c147}}}, + {X: Field{[10]uint32{0x016c9b41, 0x0037c55d, 0x021f8c68, 0x004ec3ef, 0x0136928d, 0x001635f7, 0x01d24da6, 0x035419d9, 0x006bcc36, 0x00162ce7}}, Y: Field{[10]uint32{0x023d74ff, 0x00b4fc10, 0x0063dad7, 0x0278315e, 0x03b4ecd9, 0x00fdeb9b, 0x0012b777, 0x011b669d, 0x0291aaa8, 0x001127a5}}}, + {X: Field{[10]uint32{0x03765798, 0x00af7270, 0x007b2819, 0x00ac71cb, 0x008c9128, 0x02195d0b, 0x00e21000, 0x002d19c8, 0x0171b166, 0x0026c62a}}, Y: Field{[10]uint32{0x02e0f49f, 0x024b8c4c, 0x03d506c7, 0x00dc1673, 0x022be28d, 0x02819405, 0x0007a934, 0x03e0f4b3, 0x012298ad, 0x000a04b9}}}, + {X: Field{[10]uint32{0x02c0f59e, 0x0286cfb7, 0x002d7f73, 0x031724a5, 0x02c86740, 0x005de209, 0x035e2076, 0x0352f5e8, 0x0003dbac, 0x0029b113}}, Y: Field{[10]uint32{0x0056077f, 0x0124f31c, 0x000e0797, 0x027b1032, 0x022258d2, 0x02abce71, 0x03737278, 0x00d041da, 0x037cd1fa, 0x001ccc5a}}}, + {X: Field{[10]uint32{0x01682ee3, 0x00168e88, 0x03aaa21a, 0x010eefe8, 0x005dde20, 0x012b5e28, 0x037495b9, 0x03e35760, 0x0355628f, 0x0007fec9}}, Y: Field{[10]uint32{0x03b5943b, 0x016bfe36, 0x02fec5f9, 0x02b71a43, 0x03a71243, 0x01c38aa0, 0x019962df, 0x022db3ff, 0x00f7006b, 0x0012811e}}}, + {X: Field{[10]uint32{0x019b8283, 0x03c79e10, 0x0025c3d6, 0x039c23ed, 0x02b67a21, 0x023b97dc, 0x02538a80, 0x00451120, 0x008e3605, 0x002ba931}}, Y: Field{[10]uint32{0x01a80b27, 0x01aeea50, 0x0099b221, 0x00c1ad91, 0x0282c7b5, 0x039c44cc, 0x009d216c, 0x02ce5ef6, 0x02b8c28e, 0x001145f2}}}, + {X: Field{[10]uint32{0x034ed3eb, 0x025e6402, 0x03127f52, 0x0050e0af, 0x030b972f, 0x0000f29b, 0x036fabb5, 0x0009c210, 0x03fa5f8c, 0x00377166}}, Y: Field{[10]uint32{0x03d995c1, 0x0014d17a, 0x02696996, 0x0200ea65, 0x01ad7dbc, 0x0108117a, 0x00370b67, 0x01d6d94f, 0x019fb80e, 0x003db0fc}}}, + {X: Field{[10]uint32{0x014c80a8, 0x00f162c1, 0x0237d0d0, 0x032619a9, 0x0394d204, 0x011d0bdb, 0x03f83ed6, 0x006cb58a, 0x03e7ed30, 0x00088613}}, Y: Field{[10]uint32{0x0179b442, 0x00d85020, 0x00ab4ace, 0x01a8ee03, 0x013bc55d, 0x015a6095, 0x03a389dc, 0x028f5585, 0x01281073, 0x00276c9d}}}, + {X: Field{[10]uint32{0x0201cef3, 0x02a8debc, 0x02eeaf98, 0x00421c4d, 0x036488c5, 0x02ebf0f2, 0x030ed2d6, 0x01bd29d2, 0x03f474e4, 0x00396185}}, Y: Field{[10]uint32{0x02aa2220, 0x013e393c, 0x019d436d, 0x038b93d4, 0x00c6b141, 0x0126906c, 0x03f2047d, 0x038179c6, 0x037552dd, 0x00331a9c}}}, + {X: Field{[10]uint32{0x024f8e41, 0x0280de60, 0x0046c5b2, 0x003c740a, 0x02b7394a, 0x029cecfc, 0x02c2c5ab, 0x0317fb79, 0x00925add, 0x00306a90}}, Y: Field{[10]uint32{0x028c687b, 0x0161b074, 0x0357028b, 0x009815c4, 0x032475bf, 0x0020ead4, 0x016ce735, 0x03d58254, 0x0307e30a, 0x0025c4eb}}}, + {X: Field{[10]uint32{0x01df6168, 0x034a46b0, 0x01b5ac08, 0x0082c2dc, 0x0069e4d3, 0x001931c6, 0x00cd1c23, 0x01916407, 0x008d8957, 0x0012a976}}, Y: Field{[10]uint32{0x0113e6e6, 0x0034cab2, 0x006adf24, 0x020b7396, 0x010c0484, 0x01e01920, 0x0336cc3f, 0x00a23b1a, 0x001b915c, 0x000743a9}}}, + {X: Field{[10]uint32{0x02a8a977, 0x025be4e8, 0x031e7432, 0x01c4e477, 0x02738d41, 0x02a1a680, 0x025e192f, 0x01e0d372, 0x01917313, 0x0024e1db}}, Y: Field{[10]uint32{0x026457a4, 0x01beeb5e, 0x03c3de2d, 0x023e74a9, 0x0173fc6c, 0x015e1a9a, 0x0263d9dd, 0x03514093, 0x023d32ba, 0x001e5211}}}, + {X: Field{[10]uint32{0x011b7b28, 0x012243ea, 0x006ee50e, 0x00295310, 0x035d1808, 0x00bcabcd, 0x033dd13f, 0x020096c8, 0x017d3026, 0x00032033}}, Y: Field{[10]uint32{0x0318bc4b, 0x03f9486d, 0x00292278, 0x03249e1c, 0x019e6260, 0x031eb49d, 0x008f904a, 0x0047e459, 0x018b1f1d, 0x0027dced}}}, + {X: Field{[10]uint32{0x00c8c5cb, 0x010943a8, 0x01bb8fba, 0x0310f39e, 0x00e8e7e7, 0x01ea70c3, 0x004e8579, 0x028d16a3, 0x00d97dd4, 0x0034af49}}, Y: Field{[10]uint32{0x02494b9e, 0x0059ae41, 0x030f7665, 0x0257b868, 0x00055ae8, 0x0027ac0a, 0x03310558, 0x0064c640, 0x00b815cb, 0x000cc3c3}}}, + {X: Field{[10]uint32{0x01d7e9f4, 0x000cc1d7, 0x038b8dc3, 0x02254568, 0x015d7225, 0x00eae605, 0x015457df, 0x03a863ec, 0x03a290de, 0x00353928}}, Y: Field{[10]uint32{0x027d1c21, 0x0308774f, 0x038a56ee, 0x01b2e452, 0x0271c57a, 0x014867a6, 0x02bdc9ba, 0x03b2c5d0, 0x013e77d0, 0x00121512}}}, + {X: Field{[10]uint32{0x03236d19, 0x026f9b51, 0x02bea277, 0x00b85807, 0x03d318f8, 0x0039db8a, 0x011b246f, 0x038e67f3, 0x00f4810d, 0x003c3edb}}, Y: Field{[10]uint32{0x00595daf, 0x03b779eb, 0x00d07ad0, 0x034df3d6, 0x022cc9b4, 0x03aca907, 0x030b1973, 0x0008e622, 0x01606648, 0x0038eb54}}}, + {X: Field{[10]uint32{0x00858939, 0x01cec40d, 0x03ab0ebf, 0x03c66191, 0x039a4f9d, 0x000ac3f1, 0x0191740d, 0x011c30da, 0x018e3f4c, 0x003753b1}}, Y: Field{[10]uint32{0x00a3bfe3, 0x00df6810, 0x0246417e, 0x024253fe, 0x00737a63, 0x0107a4b7, 0x038c8395, 0x01633bc9, 0x0086a3b0, 0x000e9bb3}}}, + {X: Field{[10]uint32{0x03904e51, 0x02baedea, 0x01a8b8fd, 0x00eb771d, 0x012af12f, 0x013dab78, 0x02fe1b6c, 0x03655353, 0x01101d7e, 0x0003b15a}}, Y: Field{[10]uint32{0x0050c54a, 0x02df9435, 0x01d6dbe0, 0x02b6cb30, 0x01be7cba, 0x008bc988, 0x027111ae, 0x013dc50c, 0x027f5d59, 0x000d25f1}}}, + {X: Field{[10]uint32{0x03aa35c5, 0x03668676, 0x03da5a85, 0x02c38a2a, 0x03e25ef6, 0x013b70f2, 0x025e1aa6, 0x015a95f2, 0x02f80518, 0x00329177}}, Y: Field{[10]uint32{0x003521b2, 0x034cf6dc, 0x03df04d1, 0x01a569e8, 0x026eb4ed, 0x0044dcb0, 0x013fcde1, 0x02e7af80, 0x0357268d, 0x0036e2c8}}}, + {X: Field{[10]uint32{0x01b49a47, 0x03702485, 0x022e65f6, 0x00550d73, 0x0040f8ba, 0x03722925, 0x003c8b63, 0x00878920, 0x03889645, 0x002d1314}}, Y: Field{[10]uint32{0x02198d00, 0x018aa0f7, 0x031f5724, 0x02a7076b, 0x01509890, 0x021459ae, 0x0125e04b, 0x012e033c, 0x035df30c, 0x000b8590}}}, + {X: Field{[10]uint32{0x005dea26, 0x033fb2b8, 0x00603666, 0x0386d66d, 0x0333a20c, 0x02d1b65d, 0x01291a54, 0x00bc503a, 0x01e23586, 0x00256dcd}}, Y: Field{[10]uint32{0x024aabb9, 0x01159d49, 0x02553211, 0x02c4a1ba, 0x00f22ab5, 0x01ba0302, 0x03c9977b, 0x02f86426, 0x03055f38, 0x00384a05}}}, + {X: Field{[10]uint32{0x03e5bdfc, 0x024a3b5c, 0x027cee56, 0x02c99b06, 0x00a15c71, 0x03b91c5b, 0x028d2313, 0x00098db3, 0x00678fbb, 0x0020f676}}, Y: Field{[10]uint32{0x03949246, 0x021a1eda, 0x00545991, 0x0308df7e, 0x00c35027, 0x0267d280, 0x03e7d784, 0x03c4cbbf, 0x002fbe92, 0x00381253}}}, + {X: Field{[10]uint32{0x01bbae03, 0x010ddc12, 0x016f02e8, 0x0233cc37, 0x031d3b47, 0x02453891, 0x036bad16, 0x0151b6ef, 0x0085a04c, 0x000262df}}, Y: Field{[10]uint32{0x032ace57, 0x02718f4e, 0x00972e56, 0x03e510d9, 0x01ce4106, 0x0042c299, 0x0027da4a, 0x037f6764, 0x03953733, 0x001da70e}}}, + {X: Field{[10]uint32{0x03b12e45, 0x01018aa8, 0x01dfe086, 0x02c46691, 0x0375019c, 0x03699b54, 0x0358a8f4, 0x00d3b0d0, 0x0277852d, 0x000f39ed}}, Y: Field{[10]uint32{0x027e409a, 0x0158b751, 0x03218e42, 0x03677913, 0x0102cf03, 0x0179062a, 0x0272c4bd, 0x022e1a58, 0x010f0183, 0x001a349e}}}, + {X: Field{[10]uint32{0x02d7836f, 0x011c9fb2, 0x03291e07, 0x0320265e, 0x036b50bd, 0x00550ae0, 0x010dca75, 0x01c40507, 0x00f4d4da, 0x00282f0a}}, Y: Field{[10]uint32{0x03e47c88, 0x02d21665, 0x012242a8, 0x02f329e1, 0x02177eec, 0x027c58f4, 0x005a5819, 0x01e0735a, 0x014940f2, 0x001bb5f8}}}, + {X: Field{[10]uint32{0x02185c0b, 0x03846ac7, 0x00b6818f, 0x03126863, 0x0397750f, 0x00350660, 0x01d290ac, 0x0358ad39, 0x03a352b1, 0x002695c6}}, Y: Field{[10]uint32{0x011b4ad1, 0x0078a56b, 0x00128ff6, 0x01c26f76, 0x030f6c28, 0x00d19245, 0x03c0dfed, 0x03d63e73, 0x00cdb2b1, 0x0006a473}}}, + {X: Field{[10]uint32{0x0221b9bf, 0x03d91f8a, 0x00b93d53, 0x00760d23, 0x004e135c, 0x016a312c, 0x024eca55, 0x0379cc34, 0x004fcdd2, 0x003ee815}}, Y: Field{[10]uint32{0x0374568a, 0x015f8109, 0x023f7aed, 0x0327df6f, 0x02f71a6c, 0x03e0ef9a, 0x02fe631f, 0x01ab3cba, 0x0025a4ec, 0x001e8469}}}, + {X: Field{[10]uint32{0x00920a9b, 0x02af2875, 0x00b485f7, 0x00551585, 0x01ecad11, 0x0070eeb6, 0x002bdd70, 0x03d988e4, 0x013a1edb, 0x00365ac9}}, Y: Field{[10]uint32{0x0318c2e8, 0x0341980e, 0x031f2408, 0x0322c5cb, 0x021499f1, 0x03ccc54d, 0x027d09f2, 0x02e0c4bc, 0x0198f951, 0x000af222}}}, + {X: Field{[10]uint32{0x02267c2b, 0x012e2990, 0x0135613a, 0x00ba51f0, 0x01982338, 0x03e5c8fe, 0x02e14da0, 0x02e09652, 0x03ce1081, 0x000acf05}}, Y: Field{[10]uint32{0x036048ff, 0x037e9a4c, 0x0074fdbb, 0x030b6ef3, 0x02e77205, 0x009e8aad, 0x007f1fa4, 0x00916e23, 0x009f2ebd, 0x00293356}}}, + {X: Field{[10]uint32{0x016439f9, 0x0158da72, 0x021252eb, 0x03253f61, 0x013f6bc5, 0x03891367, 0x0313ea72, 0x0148b1a4, 0x0380fdac, 0x001a5a61}}, Y: Field{[10]uint32{0x01a03154, 0x0007ddc9, 0x0020ec10, 0x0053f880, 0x018d6e43, 0x02ee6653, 0x02b59439, 0x011d7f01, 0x03c6460f, 0x003a3bac}}}, + {X: Field{[10]uint32{0x00848c68, 0x0257be68, 0x03c6d763, 0x03f2b8bf, 0x02d1577e, 0x02ff0bd2, 0x03e172c9, 0x03713258, 0x02114cb4, 0x00078d11}}, Y: Field{[10]uint32{0x004f5b19, 0x00d0db10, 0x01e1da47, 0x00858167, 0x01a2bb46, 0x02ef1b54, 0x016d4643, 0x0268382e, 0x00dfe6f5, 0x0037aeee}}}, + {X: Field{[10]uint32{0x006aa61a, 0x022ba34a, 0x03a1fc55, 0x0213109c, 0x03d5c302, 0x034d78a1, 0x012c191b, 0x00aa6ae8, 0x02024c7f, 0x001b33eb}}, Y: Field{[10]uint32{0x02e7cb11, 0x0120e22d, 0x02de854e, 0x03c7ba0e, 0x0194c4cd, 0x00791623, 0x002ade25, 0x028bf74d, 0x01740c78, 0x00308050}}}, + {X: Field{[10]uint32{0x024c728e, 0x02c5b8b2, 0x0077ec32, 0x00fe525f, 0x02db4315, 0x006884a2, 0x03f0a2e6, 0x0284ccd6, 0x008769b6, 0x0016d7f5}}, Y: Field{[10]uint32{0x00f00c77, 0x039df363, 0x0108850f, 0x03694f10, 0x015a54c9, 0x01a1c46d, 0x01f26321, 0x027513ab, 0x013fb23c, 0x0026550d}}}, + {X: Field{[10]uint32{0x035d069e, 0x01aa6f00, 0x0221565a, 0x0277d504, 0x03e6a41d, 0x00c8ed8f, 0x03bbbd27, 0x01137587, 0x025727af, 0x001add28}}, Y: Field{[10]uint32{0x0032a34c, 0x02674cfd, 0x01756480, 0x01185491, 0x0039b87a, 0x03c01326, 0x03d689c5, 0x0237fed6, 0x0214f17b, 0x00029384}}}, + {X: Field{[10]uint32{0x00e372a2, 0x02fc50ee, 0x004b263c, 0x01b02ab8, 0x03868860, 0x03823cc5, 0x03408b9f, 0x03b4060d, 0x01878ae9, 0x00145c68}}, Y: Field{[10]uint32{0x03172d06, 0x01009d82, 0x037e8681, 0x0057164e, 0x0044da8e, 0x02a3c829, 0x024a4728, 0x014f33f9, 0x026b9641, 0x002d79f7}}}, + {X: Field{[10]uint32{0x03c8e80d, 0x03a5b350, 0x0356c279, 0x024a102d, 0x03dbce8a, 0x014a562a, 0x018568ce, 0x03bcc8d4, 0x006a4337, 0x00037e7a}}, Y: Field{[10]uint32{0x03027da7, 0x0246ed1c, 0x001df5f5, 0x037c1865, 0x0250b2cc, 0x03a4e04c, 0x00e8ff61, 0x01182844, 0x02eec72f, 0x001510ae}}}, + {X: Field{[10]uint32{0x0087c850, 0x0200608e, 0x033072ec, 0x024dedb4, 0x00ac9e46, 0x0240fef4, 0x0076ab73, 0x007dc6be, 0x0279eb6f, 0x003381c0}}, Y: Field{[10]uint32{0x02a155eb, 0x0037b52d, 0x01e84aea, 0x025d4e37, 0x016ea230, 0x0247e2b6, 0x03f2a79e, 0x034d1787, 0x01f988f9, 0x0037a0f7}}}, + {X: Field{[10]uint32{0x002f35fd, 0x01fcd213, 0x00c40766, 0x026c3b4a, 0x0296e578, 0x0274234d, 0x0238936c, 0x03213160, 0x006244af, 0x00280957}}, Y: Field{[10]uint32{0x033c6f7a, 0x0383459d, 0x0269f17e, 0x005f3589, 0x0206cd50, 0x02c83c88, 0x0098293f, 0x02635c32, 0x0007aef8, 0x0024f8b5}}}, + {X: Field{[10]uint32{0x02f0d86b, 0x009b72a1, 0x03ef0d51, 0x010370bd, 0x02138e18, 0x00e0ffd8, 0x00e1197a, 0x01775c50, 0x02adb76d, 0x002ba0b7}}, Y: Field{[10]uint32{0x0320964a, 0x02057295, 0x027c65f5, 0x01606668, 0x0072d36b, 0x038c2d64, 0x036d8ec2, 0x001de6a7, 0x03accaaa, 0x0008e76e}}}, + {X: Field{[10]uint32{0x02332393, 0x00dd7645, 0x0088444c, 0x02b27024, 0x0197c597, 0x02250918, 0x016441ea, 0x0178bb56, 0x01cebee6, 0x0033c266}}, Y: Field{[10]uint32{0x02748ca4, 0x017fecce, 0x01880865, 0x03481a4d, 0x011c664a, 0x016b736f, 0x03f8cd54, 0x03b75407, 0x03d2f074, 0x00198832}}}, + {X: Field{[10]uint32{0x00d3965c, 0x01600ce7, 0x0222a762, 0x00065151, 0x029ec068, 0x02eb2ecd, 0x03ff1b41, 0x02c06d8e, 0x03746404, 0x0017ed2b}}, Y: Field{[10]uint32{0x032abff5, 0x0338e489, 0x03e93d99, 0x02d16553, 0x00916a51, 0x01239d12, 0x009529fa, 0x01a5f350, 0x02e12cce, 0x0011932c}}}, + {X: Field{[10]uint32{0x033216b4, 0x00e83cc6, 0x023a0199, 0x003e0453, 0x002c7a35, 0x00af12b3, 0x01e5687a, 0x008cb815, 0x000a46b5, 0x00056bcf}}, Y: Field{[10]uint32{0x01d45a83, 0x00e95d33, 0x03b37ad8, 0x02795a96, 0x0286c818, 0x028ffdee, 0x035acd93, 0x00e2c11c, 0x039bbdce, 0x002b80dc}}}, + {X: Field{[10]uint32{0x000b4b10, 0x00cf8d95, 0x0046576d, 0x021d9034, 0x0232c887, 0x00b65cf6, 0x00b8b5d3, 0x0333150b, 0x01d1d008, 0x0017400d}}, Y: Field{[10]uint32{0x0254c465, 0x00f9ef9b, 0x02f39617, 0x023356d2, 0x0376db8a, 0x00e9d3c5, 0x009061f7, 0x027ca19a, 0x00e5bffa, 0x001123b6}}}, + {X: Field{[10]uint32{0x03c95527, 0x01eeb520, 0x03915e02, 0x0013f12b, 0x02a40b07, 0x03f1a78e, 0x039d322f, 0x01277fb6, 0x00f39cf7, 0x0025131c}}, Y: Field{[10]uint32{0x006c6f0c, 0x023b2f6e, 0x02fc21a1, 0x03f52388, 0x02df10ac, 0x012699a6, 0x026e95ce, 0x024cc992, 0x003bbf48, 0x002c2b03}}}, + {X: Field{[10]uint32{0x011e4402, 0x02f17585, 0x00acc846, 0x0095b34a, 0x0052e262, 0x02b58bc1, 0x0246754d, 0x00f128fc, 0x01f082ec, 0x003e9486}}, Y: Field{[10]uint32{0x027afae9, 0x0138fcc2, 0x0065a01b, 0x00af7340, 0x01eb730d, 0x000a240c, 0x0364f26a, 0x00c4cb5e, 0x01e9d640, 0x000cb3a0}}}, + {X: Field{[10]uint32{0x00a30ede, 0x010e4a0e, 0x03032704, 0x01ad766f, 0x0085c6a1, 0x0162e146, 0x009455a8, 0x03898c14, 0x0230ddbe, 0x00327d2a}}, Y: Field{[10]uint32{0x00ad7b7c, 0x02dd8c8d, 0x01baea15, 0x00d30be9, 0x03add203, 0x01adcee9, 0x00927994, 0x02bcc66a, 0x03c6b438, 0x0017bdc5}}}, + {X: Field{[10]uint32{0x03770319, 0x0305e39e, 0x02120162, 0x018b7bba, 0x020529b3, 0x01cb53ff, 0x00dd2fdc, 0x0355a56c, 0x03ca7454, 0x000bd33c}}, Y: Field{[10]uint32{0x02f7d487, 0x0033ade8, 0x02042d5a, 0x0317fc51, 0x02fe7c87, 0x02dd9c24, 0x03c1ce0f, 0x03af2fd1, 0x020e3566, 0x003736a4}}}, + {X: Field{[10]uint32{0x01969945, 0x02a5ae1e, 0x02af40a0, 0x01080891, 0x02a1cb0a, 0x007e46cf, 0x03a41a75, 0x035d2bc1, 0x01762e0c, 0x000905fd}}, Y: Field{[10]uint32{0x027807d9, 0x02e9ffc7, 0x02ceefcf, 0x01b65aea, 0x01741ef9, 0x0072d13b, 0x02d0a3f6, 0x01c6f2b6, 0x0355f8dc, 0x001aa5b5}}}, + {X: Field{[10]uint32{0x0088852c, 0x02d86e16, 0x008c66cf, 0x002bba45, 0x00d43d06, 0x02ecf6e9, 0x01ca5bac, 0x00707d9d, 0x0384305a, 0x0026ac8b}}, Y: Field{[10]uint32{0x0028a03e, 0x02d45ea9, 0x01c18e23, 0x01acb32a, 0x03b51d99, 0x02b3768e, 0x02ac12a7, 0x0238e9eb, 0x02faa258, 0x002bc141}}}, + {X: Field{[10]uint32{0x00a72b6c, 0x00074749, 0x02f52875, 0x00996858, 0x0077a917, 0x038551c9, 0x00ed8787, 0x01e4980a, 0x02a22462, 0x003dd087}}, Y: Field{[10]uint32{0x0343fcf6, 0x00224015, 0x004dd8f5, 0x03322160, 0x01fe1c72, 0x03351845, 0x032ca6d8, 0x0104cbcd, 0x0265e448, 0x0036c2b9}}}, + {X: Field{[10]uint32{0x035c6f75, 0x00ef5ff7, 0x01e35496, 0x02edf65c, 0x0110a912, 0x02e61d6c, 0x00bb7918, 0x015fa370, 0x02f3548d, 0x000d5d5a}}, Y: Field{[10]uint32{0x0077a1d2, 0x01c26378, 0x0260fc51, 0x023882c5, 0x0186d94b, 0x03538658, 0x02d69aeb, 0x02d3f753, 0x01ba78a2, 0x0007291b}}}, + {X: Field{[10]uint32{0x03f01837, 0x031136c6, 0x01bc0241, 0x030bf80c, 0x03de4041, 0x0036b9ff, 0x0049d9ab, 0x03ebc859, 0x000c494c, 0x0029fa7c}}, Y: Field{[10]uint32{0x021a0280, 0x02013005, 0x008b7d10, 0x03793bd4, 0x005a7760, 0x02d7eedd, 0x013d0093, 0x0101aa5d, 0x01ae480b, 0x003cabae}}}, + {X: Field{[10]uint32{0x0262adb7, 0x03d79bf2, 0x03c1ac88, 0x028a4213, 0x0064838a, 0x0195739c, 0x037755b7, 0x00a1e5dc, 0x01ba9287, 0x001a5147}}, Y: Field{[10]uint32{0x002b1cd9, 0x00fc69ec, 0x0143c0c7, 0x01ed468c, 0x00107153, 0x01b1ee54, 0x01845d49, 0x03c244c7, 0x03a8d40d, 0x00098863}}}, + {X: Field{[10]uint32{0x02abf06d, 0x01b338f6, 0x00ad35eb, 0x003c3148, 0x0089a92d, 0x0220817f, 0x0186a375, 0x0299bf3a, 0x033015cc, 0x0031270e}}, Y: Field{[10]uint32{0x000e354c, 0x01b59f16, 0x01b5e621, 0x02714f8c, 0x03624291, 0x034ab425, 0x00f9ca99, 0x000ac383, 0x004a665b, 0x001ebf7a}}}, + {X: Field{[10]uint32{0x039dae8f, 0x01ad891a, 0x003871ab, 0x0110215c, 0x0090c0c7, 0x0047053e, 0x036ee1df, 0x01b8e316, 0x01bfb68e, 0x003a7860}}, Y: Field{[10]uint32{0x01ef5e1b, 0x0309a8b5, 0x00018fc6, 0x0297868d, 0x00d1af5c, 0x00d946a9, 0x007e260c, 0x010c5c24, 0x02db3f39, 0x002c2f3f}}}, + {X: Field{[10]uint32{0x02392324, 0x00b8c0b7, 0x028bc406, 0x00e2ae67, 0x012e7d87, 0x0035b87e, 0x01c9e52e, 0x01073d6d, 0x006f0adf, 0x00290a16}}, Y: Field{[10]uint32{0x01b8d142, 0x019fc225, 0x031c83f9, 0x00fd37a0, 0x01a2a741, 0x012737ba, 0x03911e8b, 0x0324dd96, 0x018bfe71, 0x001df0f8}}}, + {X: Field{[10]uint32{0x032712cf, 0x03743641, 0x0194d785, 0x039d7bfb, 0x0038077b, 0x0195a99d, 0x00a4830b, 0x0068952d, 0x02d2de1d, 0x003d724b}}, Y: Field{[10]uint32{0x033958fb, 0x019c2e7a, 0x03f1ed7c, 0x01f80699, 0x01228fdf, 0x01471446, 0x01f6dcbc, 0x0127356d, 0x013a4978, 0x001fba63}}}, + {X: Field{[10]uint32{0x009c3f66, 0x023c062d, 0x034bdf26, 0x031ffc95, 0x01e18c19, 0x019ed55c, 0x01b69307, 0x03d418c4, 0x03ca6c85, 0x002a15c1}}, Y: Field{[10]uint32{0x028aa050, 0x006367d7, 0x0273d775, 0x00d5356e, 0x00536543, 0x00dee3ee, 0x0367d103, 0x038626ab, 0x0271cde2, 0x0005e17f}}}, + {X: Field{[10]uint32{0x00a7468d, 0x0250bfb0, 0x0197c0f9, 0x01819e9f, 0x00d084ab, 0x027b2971, 0x01e0cf81, 0x03470bcb, 0x035fa4c8, 0x0002219b}}, Y: Field{[10]uint32{0x0188336e, 0x024c120d, 0x0009afe6, 0x022e9fb0, 0x02291528, 0x01d8af9b, 0x02c49adc, 0x0241e8bd, 0x026c3f33, 0x000c0508}}}, + {X: Field{[10]uint32{0x020688cc, 0x02f8532b, 0x03d66f40, 0x02d59186, 0x0392af22, 0x036901b3, 0x03d07c8b, 0x00b5a385, 0x017337eb, 0x001097db}}, Y: Field{[10]uint32{0x004d4980, 0x035a63f4, 0x03dbdef8, 0x016561c6, 0x00096436, 0x0202f67f, 0x0373290e, 0x038e446a, 0x026f7c42, 0x003a1954}}}, + {X: Field{[10]uint32{0x00323139, 0x03208f5a, 0x019a2f8a, 0x02bcef27, 0x0236bfe6, 0x00f7ad2f, 0x00184414, 0x02cff555, 0x003e1de3, 0x0003dc3f}}, Y: Field{[10]uint32{0x0224ce03, 0x01012d76, 0x0144adae, 0x002d02aa, 0x008ae575, 0x01ac635e, 0x0374a82d, 0x02cc278d, 0x014b1feb, 0x0022d1e6}}}, + {X: Field{[10]uint32{0x0283116c, 0x002cd8ca, 0x0106758a, 0x03650e7a, 0x00d59c66, 0x02be8487, 0x003b10ce, 0x00a8581c, 0x00f3038d, 0x0006fa58}}, Y: Field{[10]uint32{0x01e29aef, 0x0070378f, 0x0201062f, 0x036c67ba, 0x030647e0, 0x02c0403e, 0x01549cc3, 0x03b810d4, 0x022f8218, 0x001fe932}}}, + {X: Field{[10]uint32{0x020cf385, 0x01cb54cc, 0x02a7e484, 0x022520c7, 0x02e915eb, 0x01a52a03, 0x0351e9f5, 0x02028e2b, 0x02d3bc5c, 0x00007ca8}}, Y: Field{[10]uint32{0x013940e5, 0x0194ef9b, 0x00e9ff55, 0x001d9e0b, 0x0147053f, 0x0399c07e, 0x03cb9455, 0x013127e6, 0x0239174b, 0x0028633a}}}, + {X: Field{[10]uint32{0x00d04766, 0x01dfcf91, 0x0140e884, 0x00dff9dc, 0x019aa67c, 0x01f2beaa, 0x03908611, 0x01ac2edd, 0x03607084, 0x0001875a}}, Y: Field{[10]uint32{0x00f2688f, 0x0230472a, 0x024d2533, 0x03ab2bdc, 0x02b7c4b1, 0x0325b799, 0x02eb59a6, 0x026b858c, 0x02908684, 0x0031fd2f}}}, + {X: Field{[10]uint32{0x02e6cc9c, 0x033c3507, 0x03c4fe6c, 0x00e249db, 0x026d5405, 0x012f9fc9, 0x0108daf0, 0x019145e5, 0x00932d9a, 0x0000acdc}}, Y: Field{[10]uint32{0x015beca7, 0x0002438a, 0x01d9f5ca, 0x0111860e, 0x0391cdfc, 0x005b382d, 0x016a1d86, 0x0262c7b8, 0x03f42c89, 0x003000a8}}}, + {X: Field{[10]uint32{0x02708858, 0x03598a7c, 0x0263a87c, 0x0255a89d, 0x0364af0e, 0x03fa6c07, 0x03fd1360, 0x02de8d35, 0x03efaba8, 0x00123d70}}, Y: Field{[10]uint32{0x0232b5ab, 0x03c0fa3f, 0x015e2b88, 0x02fed4a2, 0x0290aefd, 0x00be5cef, 0x02f09cc5, 0x019c91f0, 0x00b7fce4, 0x002330e3}}}, + {X: Field{[10]uint32{0x0262cfa0, 0x007766cf, 0x00b86e98, 0x03a42798, 0x00adfbe9, 0x01edb54d, 0x01cfc876, 0x03089dbd, 0x01972e5e, 0x0039826d}}, Y: Field{[10]uint32{0x02b43081, 0x00cf997c, 0x0189f0a4, 0x005826b8, 0x02335ca6, 0x02fc6c9e, 0x0385e3db, 0x017f4f8e, 0x01eeff20, 0x001afa70}}}, + {X: Field{[10]uint32{0x016d205a, 0x019a806c, 0x02b0b2ab, 0x01ecb69a, 0x02f19a76, 0x03bc3073, 0x02b8ea81, 0x0273211b, 0x031a5b2c, 0x003af902}}, Y: Field{[10]uint32{0x03c67058, 0x01be4525, 0x032f445d, 0x008035c2, 0x02967d69, 0x02593d76, 0x01899bd1, 0x032f440e, 0x00e8e4fe, 0x000bddc4}}}, + {X: Field{[10]uint32{0x018e3abd, 0x037d964d, 0x01b3ff70, 0x01160f60, 0x03dbc72d, 0x02c18af3, 0x03d32f39, 0x02c7bd94, 0x00399391, 0x0025f353}}, Y: Field{[10]uint32{0x03f37968, 0x036629fe, 0x03fe813d, 0x00ae88ce, 0x02263acf, 0x03a7d72b, 0x03c35c56, 0x02db7be6, 0x0184a175, 0x00281698}}}, + {X: Field{[10]uint32{0x02a7e6d9, 0x0128f06f, 0x0100ebf6, 0x02a80de0, 0x03257343, 0x019566b9, 0x00d99fce, 0x0343a14f, 0x00aa1d3f, 0x00209a4a}}, Y: Field{[10]uint32{0x021efc79, 0x02c1ec8b, 0x0399b020, 0x022a26ec, 0x02faad7f, 0x03dbe112, 0x010fddfc, 0x03a42bfd, 0x01b1a3bd, 0x002f128b}}}, + {X: Field{[10]uint32{0x03a19121, 0x03b4e697, 0x02398967, 0x00c59dcb, 0x0283bd14, 0x0042eb9e, 0x02e91814, 0x0257745d, 0x0097f3ac, 0x000f9d50}}, Y: Field{[10]uint32{0x0118df32, 0x03f99d69, 0x01801135, 0x0251fcfc, 0x0000ca7f, 0x033e50db, 0x0107ea15, 0x033fe282, 0x0299c6a2, 0x001d1b33}}}, + {X: Field{[10]uint32{0x029365db, 0x014c998c, 0x028fa446, 0x0118eee0, 0x0282991f, 0x02809c19, 0x00a236c8, 0x02651e02, 0x0064b49b, 0x003394e5}}, Y: Field{[10]uint32{0x022e5dd9, 0x0353009d, 0x00d41a74, 0x027046cb, 0x03a7bda7, 0x0270b0e2, 0x01f2fda2, 0x011d8c18, 0x02c2b8bc, 0x000d5e3f}}}, + {X: Field{[10]uint32{0x03e349dd, 0x0030ebd4, 0x036692c9, 0x01a4854c, 0x0344a2b6, 0x01929df2, 0x0041d6ae, 0x0056b5eb, 0x01d9cda6, 0x00324cf6}}, Y: Field{[10]uint32{0x0172c610, 0x002c36c1, 0x00c11f9f, 0x012a8713, 0x02a25b05, 0x0262eaf3, 0x02a8ede2, 0x03aeee3c, 0x024f83ba, 0x00129b68}}}, + {X: Field{[10]uint32{0x000b2ac4, 0x0068ef20, 0x03d51d08, 0x03bca009, 0x03a78e2d, 0x0237777b, 0x0116f2e7, 0x02057fa4, 0x003b1aa9, 0x001166a9}}, Y: Field{[10]uint32{0x03e993d5, 0x017f1f18, 0x016454bd, 0x01583f0a, 0x025c6151, 0x0377347c, 0x02900d4c, 0x0178c2c5, 0x03c3de99, 0x0006b3b6}}}, + {X: Field{[10]uint32{0x023b0a5e, 0x01fe44c7, 0x004d43b2, 0x00d268c3, 0x00ff4453, 0x018e6aff, 0x00675640, 0x02b4a7ad, 0x01d99862, 0x0017caa9}}, Y: Field{[10]uint32{0x01ace144, 0x01507258, 0x02cfbce7, 0x02df7538, 0x025acfbb, 0x0116ce6c, 0x01ef9ba4, 0x002fcb67, 0x022be61d, 0x0015c7b2}}}, + {X: Field{[10]uint32{0x00f4fd1d, 0x02079822, 0x000f5756, 0x01fe51ed, 0x01fc2c3d, 0x028ce152, 0x0393e681, 0x01756630, 0x021de6cc, 0x003b19ba}}, Y: Field{[10]uint32{0x01280f52, 0x01f6faaa, 0x025978ab, 0x027e8dc1, 0x02554073, 0x0029525e, 0x014dfa9d, 0x0210d562, 0x03db3b37, 0x0035c47f}}}, + {X: Field{[10]uint32{0x016105fe, 0x0205a0ab, 0x007ab1a4, 0x00e31e15, 0x0169ad06, 0x03472ace, 0x003f018b, 0x01fcb666, 0x01f5aa09, 0x001ab14f}}, Y: Field{[10]uint32{0x0218a598, 0x03238159, 0x00578abf, 0x025aee82, 0x013cd517, 0x010c1e5a, 0x008f2242, 0x02e46652, 0x02815127, 0x00257da6}}}, + {X: Field{[10]uint32{0x0396c0b0, 0x00bc4a67, 0x014fd384, 0x02142cd1, 0x0016fb5c, 0x03700b3d, 0x026dcb8f, 0x0343f711, 0x01e29e4a, 0x002a28fa}}, Y: Field{[10]uint32{0x0316dc2b, 0x00e29559, 0x03685ce1, 0x00242f78, 0x03169b8d, 0x00e535f0, 0x016d152f, 0x037a943b, 0x033e3006, 0x0037e1ba}}}, + {X: Field{[10]uint32{0x02db251c, 0x01030f79, 0x0116632c, 0x01f0c618, 0x001dbe98, 0x03b69b7e, 0x02c84a2f, 0x01d06e57, 0x00d2a0d8, 0x001429d9}}, Y: Field{[10]uint32{0x03e41055, 0x03ed089f, 0x00a4085c, 0x03890c29, 0x0176a8c7, 0x03a6d44b, 0x027632ac, 0x005f052d, 0x03f02339, 0x002ca080}}}, + {X: Field{[10]uint32{0x02b51ef9, 0x01d1b286, 0x013a9423, 0x021160a2, 0x011bd9c5, 0x01b8e73e, 0x0056c9fa, 0x037c749a, 0x00b15ef9, 0x0030b0c5}}, Y: Field{[10]uint32{0x012ab759, 0x0086693a, 0x01d4493e, 0x00c79c5d, 0x03a22f1e, 0x0167c22d, 0x009a9f5d, 0x037eaae5, 0x0286ff7f, 0x00289fe4}}}, + {X: Field{[10]uint32{0x02a9d3df, 0x01aee49d, 0x01b75dbf, 0x01d4dc3f, 0x0364868b, 0x00882930, 0x03ce375e, 0x032344ac, 0x0185da44, 0x002e9955}}, Y: Field{[10]uint32{0x024fda50, 0x0198eef2, 0x0073be51, 0x0139bf22, 0x00bdd9d0, 0x00cb3127, 0x0318f614, 0x00e16f7b, 0x016ba03a, 0x000f5938}}}, + {X: Field{[10]uint32{0x006e600e, 0x0173fbe9, 0x001c2aca, 0x004ee785, 0x0256bd0d, 0x00694403, 0x0276a650, 0x000292d6, 0x0249d4d1, 0x000f517e}}, Y: Field{[10]uint32{0x00059176, 0x02f70ad6, 0x001eced5, 0x0039cc60, 0x00da3039, 0x031d6e92, 0x01a93b13, 0x03b90b87, 0x013c38ee, 0x000024a5}}}, + {X: Field{[10]uint32{0x008c3a8c, 0x011ac12f, 0x005964ca, 0x01fd144e, 0x0083e5ab, 0x03ecb043, 0x025d96e1, 0x030f8903, 0x0346e40d, 0x00391930}}, Y: Field{[10]uint32{0x0204cf4e, 0x03243594, 0x0390fc7a, 0x0293d5f3, 0x030ca364, 0x01d3359e, 0x02205aa3, 0x0142f4a0, 0x03461829, 0x0018fc52}}}, + {X: Field{[10]uint32{0x02a42688, 0x010b756b, 0x001e3fdf, 0x03931ce1, 0x00d56f3f, 0x034f71c8, 0x030d218b, 0x02cc1c16, 0x012fe235, 0x000529f8}}, Y: Field{[10]uint32{0x01e9ff2a, 0x02fce8c5, 0x038099ee, 0x01266b84, 0x00eac312, 0x004de93c, 0x02a22d48, 0x03d20bb5, 0x03cc40ce, 0x0035e5a0}}}, + {X: Field{[10]uint32{0x023828be, 0x03ec1e25, 0x01936a99, 0x00ae1757, 0x0061d2ee, 0x02cbfdbd, 0x0334ffab, 0x01cec896, 0x03b821af, 0x00239ebe}}, Y: Field{[10]uint32{0x026b1853, 0x02739f6b, 0x01ec16cc, 0x01c37b98, 0x02bb5284, 0x00838418, 0x015bea0e, 0x01da33c1, 0x03765aa0, 0x00010391}}}, + {X: Field{[10]uint32{0x03297573, 0x0181a414, 0x002465b1, 0x015629fb, 0x017d8440, 0x03973a0a, 0x00f9f1f9, 0x02f43d2f, 0x01623227, 0x00275904}}, Y: Field{[10]uint32{0x0307fc8d, 0x030d70e6, 0x01b2c126, 0x03576974, 0x021f8630, 0x003fb027, 0x0067ea47, 0x006f95c0, 0x03a06800, 0x003b4360}}}, + {X: Field{[10]uint32{0x03c83eaf, 0x0201625f, 0x00f0b7bd, 0x03c512bc, 0x0352bb40, 0x00f69d39, 0x025b52be, 0x02767d04, 0x02d6d9e4, 0x0019d631}}, Y: Field{[10]uint32{0x004fd292, 0x032d0d06, 0x026e36a1, 0x033351a0, 0x005f7d22, 0x0255df6f, 0x0229b3de, 0x00b0d8e8, 0x008ec2aa, 0x001d26b8}}}, + {X: Field{[10]uint32{0x0061d73a, 0x0045452f, 0x03fb80da, 0x0066d28c, 0x01326327, 0x0293047d, 0x0193df63, 0x00b62c53, 0x01a04570, 0x0002cf84}}, Y: Field{[10]uint32{0x01d562eb, 0x01bef66a, 0x02d189a8, 0x02d8d2c8, 0x009660c6, 0x032e5c11, 0x02238928, 0x01fb0806, 0x02b12b26, 0x0031b854}}}, + {X: Field{[10]uint32{0x026fa5f1, 0x03b56835, 0x00b98994, 0x00f08842, 0x02137bf4, 0x002e789d, 0x0371b0fe, 0x02644404, 0x01ea3b30, 0x001428c9}}, Y: Field{[10]uint32{0x0345b70e, 0x02b8500d, 0x00739dfe, 0x027009d4, 0x028a9939, 0x02ce7bfa, 0x03585279, 0x002a9629, 0x011fd39e, 0x00251b6b}}}, + {X: Field{[10]uint32{0x015e9661, 0x0138c8ba, 0x03e39121, 0x029a91bb, 0x02a97341, 0x02b1423b, 0x02802ce8, 0x03568b3d, 0x02493bef, 0x003df23c}}, Y: Field{[10]uint32{0x0234cb67, 0x00f62347, 0x03f5d4e3, 0x039fe8fc, 0x02573883, 0x02639365, 0x00b7ec05, 0x03cdc051, 0x00c4eec1, 0x000f01cb}}}, + {X: Field{[10]uint32{0x038f85b6, 0x01977200, 0x00cc3c89, 0x02ee1b0a, 0x0038c7e7, 0x03127a9a, 0x030b94e9, 0x00ce1bc2, 0x0350c154, 0x000c0b4e}}, Y: Field{[10]uint32{0x00310744, 0x00b496a2, 0x03720567, 0x00a3539f, 0x013588d1, 0x01b1e324, 0x0366e5a9, 0x02a8bd82, 0x03d0d891, 0x00262011}}}, + {X: Field{[10]uint32{0x019f0eb7, 0x014edf48, 0x0386afbf, 0x03f2c363, 0x021d3810, 0x017b7a26, 0x00e8ecb5, 0x016e9834, 0x03282e7e, 0x0032e3b9}}, Y: Field{[10]uint32{0x038094cd, 0x038058ea, 0x0118e75f, 0x018381a8, 0x02bc10bd, 0x03c12470, 0x009a4e3c, 0x00426423, 0x022befad, 0x0012c13a}}}, + {X: Field{[10]uint32{0x03d5fd42, 0x015cb533, 0x0131b211, 0x00d7e42f, 0x0174f920, 0x031ce927, 0x00f6f04a, 0x0362a883, 0x022b4a0c, 0x0019172a}}, Y: Field{[10]uint32{0x037ef5b9, 0x0320d1be, 0x010a6b6f, 0x008dfd47, 0x03b0aa13, 0x03f945b6, 0x022b64ea, 0x035f0779, 0x019635f9, 0x001e4fca}}}, + {X: Field{[10]uint32{0x015f5a21, 0x031289ce, 0x034f3e69, 0x01ccf617, 0x00f00b1c, 0x0185f593, 0x034b8df6, 0x02d79d50, 0x002f6148, 0x00134dcd}}, Y: Field{[10]uint32{0x03a708bd, 0x01df6294, 0x01cded15, 0x0374e341, 0x034eebd7, 0x006dad99, 0x00a7db2b, 0x031c1519, 0x012bd4c5, 0x00190002}}}, + {X: Field{[10]uint32{0x00c0e0d8, 0x024c5c06, 0x02d3dbd6, 0x00d0db9d, 0x01747a21, 0x034a2f4e, 0x02c6285e, 0x001ecad2, 0x0317024e, 0x00398d2f}}, Y: Field{[10]uint32{0x03e9f021, 0x036e1cc4, 0x00a53020, 0x03efa25f, 0x025e9660, 0x02c44e1d, 0x01d9d8b6, 0x02947b0c, 0x02de4b82, 0x003332f2}}}, + {X: Field{[10]uint32{0x020cef38, 0x0044014d, 0x0192ba51, 0x0018eefe, 0x0264c490, 0x00c74966, 0x03ff5354, 0x03144f56, 0x01e62767, 0x00202803}}, Y: Field{[10]uint32{0x028ef572, 0x033737d8, 0x036b203f, 0x03de54c2, 0x03b2620d, 0x03f71f80, 0x027e23e8, 0x00cd9b11, 0x0189e8d7, 0x001f73ad}}}, + {X: Field{[10]uint32{0x028f8a0f, 0x00b8b767, 0x0225d05b, 0x0197dc65, 0x02baf5b7, 0x0047571d, 0x01b8409f, 0x0143b669, 0x00e6d23d, 0x00181b54}}, Y: Field{[10]uint32{0x03b32788, 0x010d9acf, 0x00cc748c, 0x03a2edf2, 0x004cbb41, 0x0305c480, 0x001d2206, 0x02d30bf3, 0x009245b1, 0x00067d55}}}, + {X: Field{[10]uint32{0x024f0420, 0x03583b83, 0x02a247fd, 0x020ce359, 0x02266c30, 0x0392864c, 0x03ea835a, 0x013edd29, 0x0214f7d4, 0x00272282}}, Y: Field{[10]uint32{0x01d9169a, 0x021d1679, 0x028b4d01, 0x01e8ecaf, 0x018737fc, 0x006bb74a, 0x02da6218, 0x023748c7, 0x02373157, 0x0010b1b0}}}, + {X: Field{[10]uint32{0x0235da1c, 0x030cf6c7, 0x00e59ceb, 0x032810ea, 0x001a32d3, 0x02905e49, 0x01a01548, 0x01bd63fe, 0x00f781a4, 0x0035b33f}}, Y: Field{[10]uint32{0x021d084f, 0x037c88e1, 0x016d568b, 0x02f24409, 0x0287cbcf, 0x015c3e0c, 0x00824e61, 0x01ae362d, 0x021ace84, 0x002872ae}}}, + {X: Field{[10]uint32{0x01f2e3c4, 0x01aeb67d, 0x000da459, 0x03b6903b, 0x006eed5d, 0x0251f234, 0x016f4464, 0x00ffc915, 0x036a3e4c, 0x00233ebc}}, Y: Field{[10]uint32{0x00f3c4d7, 0x0381a4b6, 0x031fcc80, 0x00ee5b28, 0x026b7237, 0x00419fc8, 0x03f81d1c, 0x0337f78c, 0x02ccede6, 0x002646db}}}, + {X: Field{[10]uint32{0x03e664a0, 0x03023aed, 0x03da0541, 0x02c1245f, 0x03189849, 0x031a9b31, 0x02f39738, 0x00e82ef3, 0x01815b0f, 0x00351b0f}}, Y: Field{[10]uint32{0x0167c159, 0x033962b6, 0x026421fe, 0x02650107, 0x0158cffe, 0x02a13b60, 0x02dc9b63, 0x03975f22, 0x03b6d053, 0x000d5492}}}, + {X: Field{[10]uint32{0x037adfff, 0x008ffb0a, 0x02f0490c, 0x01d7280b, 0x03e2ce9b, 0x0118df73, 0x02dce33e, 0x0237dfe0, 0x00a52f1f, 0x0023b5fc}}, Y: Field{[10]uint32{0x028d99ff, 0x003088d8, 0x019a55d9, 0x017509dd, 0x024be1aa, 0x037b8ed9, 0x00272253, 0x0344325b, 0x00c7b418, 0x003c0918}}}, + {X: Field{[10]uint32{0x01aaa2ca, 0x02a17d9b, 0x02c2b0ce, 0x02ca2af4, 0x00825c46, 0x03ba8ffc, 0x03a4d6ca, 0x0146f54a, 0x02dca8a3, 0x0010cfb2}}, Y: Field{[10]uint32{0x022977e5, 0x02850bc5, 0x0038f983, 0x03f20f41, 0x03f6d396, 0x01bce438, 0x00d03c48, 0x0345dd17, 0x01bcc2d7, 0x00134edc}}}, + {X: Field{[10]uint32{0x03a006e6, 0x02cfe72e, 0x014eb249, 0x00ec5701, 0x03ba0449, 0x007d990a, 0x01bbddd8, 0x01fe0dea, 0x02f31037, 0x00301dc7}}, Y: Field{[10]uint32{0x034ccb1e, 0x037c963b, 0x015b0784, 0x00ce98e5, 0x00e1ea2b, 0x01e35312, 0x018c6b47, 0x01a809e2, 0x01ab1d81, 0x000f94f7}}}, + {X: Field{[10]uint32{0x03597ad7, 0x00ea7143, 0x03d238ff, 0x02a29d07, 0x0092072b, 0x00d71b36, 0x0197383e, 0x021ee54e, 0x02264a6a, 0x00370b80}}, Y: Field{[10]uint32{0x0012c74d, 0x00f07c5f, 0x00e01d8a, 0x03272f20, 0x018ddbac, 0x03d65fa1, 0x00ac0ff6, 0x03dc8d10, 0x0346ecd5, 0x002263b9}}}, + {X: Field{[10]uint32{0x02dab771, 0x002dd81a, 0x01f0311f, 0x02cbb60e, 0x01d043d7, 0x0273678c, 0x005f7811, 0x0232fc7f, 0x023459ad, 0x0005aeb3}}, Y: Field{[10]uint32{0x002fb1c4, 0x01b077f0, 0x01243e89, 0x02c4af52, 0x0066e835, 0x00acae0d, 0x02239797, 0x025f8cb2, 0x01326ec6, 0x00003d91}}}, + {X: Field{[10]uint32{0x0169c736, 0x017ce95f, 0x001a4072, 0x036a0e72, 0x029af55e, 0x023c00d1, 0x02539a86, 0x0050e451, 0x018f3a27, 0x002bee53}}, Y: Field{[10]uint32{0x035201d8, 0x03a2f468, 0x009cb386, 0x029d5653, 0x00bdf37f, 0x0158f5d9, 0x00a4eff7, 0x000c769c, 0x014ea455, 0x002bf6ca}}}, + {X: Field{[10]uint32{0x00e89b74, 0x0056aa74, 0x01dc706b, 0x02017de0, 0x02ecc337, 0x0006397a, 0x01b0ae76, 0x03dfd07b, 0x02364a98, 0x002ecc74}}, Y: Field{[10]uint32{0x02031a9a, 0x029307f6, 0x01c27a92, 0x0229ee76, 0x0287cbc2, 0x01373657, 0x009f032f, 0x0331fb35, 0x00031f47, 0x00068193}}}, + {X: Field{[10]uint32{0x004318b8, 0x00f0454f, 0x0270001c, 0x01bb5c9f, 0x03241e48, 0x03bdba0e, 0x0204ee30, 0x0176a059, 0x036c4bbf, 0x003dcec6}}, Y: Field{[10]uint32{0x008c9b17, 0x03e6e29b, 0x01ffb476, 0x03bcedf5, 0x0125ba08, 0x03006c98, 0x00ac2255, 0x0132ead6, 0x016e09d6, 0x00268a2b}}}, + {X: Field{[10]uint32{0x01afa8a4, 0x01ba4864, 0x03313b23, 0x01983c34, 0x03708c87, 0x025816ca, 0x038ea7b6, 0x03168213, 0x0212d0dd, 0x00018ef4}}, Y: Field{[10]uint32{0x016c3e67, 0x001da631, 0x01b0fa33, 0x023b33b3, 0x0102fbca, 0x027f4d0b, 0x03bb0b3a, 0x0100c82b, 0x00f60482, 0x0003b9bd}}}, + {X: Field{[10]uint32{0x02bc6465, 0x001fe186, 0x016299e0, 0x01761d7f, 0x00967b95, 0x031a241e, 0x02416b78, 0x020088c2, 0x022b3606, 0x0018d9f4}}, Y: Field{[10]uint32{0x029417eb, 0x00a225fd, 0x020bbec6, 0x011e4967, 0x03118d16, 0x01657e6c, 0x02444ad5, 0x01e4fc5f, 0x032d14e6, 0x0030fb87}}}, + {X: Field{[10]uint32{0x0085976e, 0x00186a25, 0x02c4f2df, 0x003c2d8c, 0x020c922d, 0x0120e531, 0x0101e3a4, 0x03d4b95e, 0x0143fbb7, 0x001938b9}}, Y: Field{[10]uint32{0x00ab2a4c, 0x024df7ff, 0x0011b48f, 0x01093f38, 0x02895119, 0x0218e939, 0x0047e5a5, 0x01a2d3f1, 0x002e336a, 0x00190698}}}, + {X: Field{[10]uint32{0x03fee1c6, 0x03cc0c78, 0x03f38d6b, 0x01298399, 0x02e16e82, 0x036704c8, 0x0179e869, 0x00d72347, 0x02fd18c8, 0x000b8a42}}, Y: Field{[10]uint32{0x01390f21, 0x0199161e, 0x03874962, 0x02b178dc, 0x02da18cc, 0x00a68d89, 0x0286b0ec, 0x01ad9c1d, 0x028ed2fa, 0x001fe158}}}, + {X: Field{[10]uint32{0x00ee401e, 0x03c421cb, 0x0242b17e, 0x0333602e, 0x00c0ba2d, 0x02231ddd, 0x03229079, 0x0174f7d7, 0x008a0c47, 0x00216688}}, Y: Field{[10]uint32{0x0319f5d8, 0x009ffea2, 0x01e31336, 0x0297c4d2, 0x0384b982, 0x03e84bf3, 0x02ed1e3c, 0x01d0eb58, 0x0245778e, 0x002999f1}}}, + {X: Field{[10]uint32{0x02bcaf21, 0x02b00a80, 0x00939b92, 0x036f64ac, 0x03b608d3, 0x00a7f718, 0x01c0b868, 0x002abbc6, 0x0108ccc5, 0x00324a46}}, Y: Field{[10]uint32{0x02cd2599, 0x023406c1, 0x0231a17d, 0x0115df18, 0x0320cb7d, 0x00bf227e, 0x01352c8b, 0x007d631c, 0x03b74711, 0x0039714a}}}, + {X: Field{[10]uint32{0x01cefb26, 0x03507118, 0x00459b04, 0x031d6369, 0x0364bc42, 0x03c68752, 0x02b01411, 0x02d881e2, 0x009042b5, 0x00140d65}}, Y: Field{[10]uint32{0x034f04e0, 0x01147aaf, 0x02af1e5b, 0x00abdef4, 0x03347c13, 0x009cbe05, 0x00d9bd8f, 0x00193fe0, 0x023db68c, 0x003d87a0}}}, + {X: Field{[10]uint32{0x00a4cbf3, 0x007cb7b1, 0x0343e7b6, 0x00067d17, 0x0039f29a, 0x00ed4d7b, 0x02787c35, 0x03c7ed84, 0x02e7d6a3, 0x003e6f3e}}, Y: Field{[10]uint32{0x032ff883, 0x0301e848, 0x0067b28f, 0x018abb77, 0x02a65658, 0x003f211a, 0x02d5a995, 0x035f9e40, 0x026f273a, 0x003d361b}}}, + {X: Field{[10]uint32{0x014a9152, 0x011c0e7c, 0x01dbad77, 0x03a5fe35, 0x01602ac4, 0x001d91c5, 0x03c0004b, 0x03c143a4, 0x028b901c, 0x0000723f}}, Y: Field{[10]uint32{0x0136769c, 0x01ee031f, 0x00c4c99d, 0x009fdbdd, 0x03b42a0f, 0x02c67e1f, 0x0143b6ec, 0x00a50a48, 0x03347c45, 0x002c9776}}}, + {X: Field{[10]uint32{0x0386f552, 0x010c4c79, 0x004dd2c5, 0x033d04af, 0x008ff676, 0x03ad4d38, 0x023947c6, 0x00ea1f4d, 0x03e14cbe, 0x0000f142}}, Y: Field{[10]uint32{0x0305a74d, 0x03b928e6, 0x032388a0, 0x00f6ed94, 0x00194f55, 0x0119b2b4, 0x02277754, 0x03d80362, 0x031c6e03, 0x00110d11}}}, + {X: Field{[10]uint32{0x030522f5, 0x009c0bb9, 0x01409fe7, 0x02b5b677, 0x005b3e91, 0x03e322c9, 0x0168b4b4, 0x01cbe3ea, 0x01b25554, 0x0019335c}}, Y: Field{[10]uint32{0x01ede304, 0x03c5b622, 0x002af5bf, 0x00f05a1e, 0x0140350a, 0x0066f58a, 0x017fc2a8, 0x0121540b, 0x033ae9fa, 0x003c6c72}}}, + {X: Field{[10]uint32{0x019af7a8, 0x038d0518, 0x00bccc41, 0x039f4bb2, 0x02fd8f69, 0x033102c3, 0x03dded87, 0x030d1b46, 0x0044c584, 0x00307001}}, Y: Field{[10]uint32{0x01879436, 0x0240174f, 0x0238eee0, 0x0332f1b7, 0x01f78dbc, 0x016042d8, 0x03b391ad, 0x03aec21e, 0x00943e3f, 0x00358c6d}}}, + {X: Field{[10]uint32{0x03a2a7ed, 0x03d6558f, 0x01b96cbe, 0x00a2be5c, 0x002fbd0c, 0x02df92e8, 0x0050fd03, 0x02ed871d, 0x0182dad5, 0x003e9425}}, Y: Field{[10]uint32{0x033df4e5, 0x038acd8b, 0x03816165, 0x016cd242, 0x012acdff, 0x01af8865, 0x03890d75, 0x00bde26a, 0x0364617c, 0x00099f09}}}, + {X: Field{[10]uint32{0x01a2386c, 0x008351b0, 0x024d0509, 0x0033df49, 0x0235175e, 0x018130b6, 0x0205f04b, 0x0249aa9b, 0x02e6864e, 0x00195773}}, Y: Field{[10]uint32{0x03ee19c8, 0x03853cb3, 0x02df72bb, 0x00e2d788, 0x025f1dc2, 0x01e596ea, 0x02d36c46, 0x00b2d2e8, 0x02dabf06, 0x00368bab}}}, + {X: Field{[10]uint32{0x033c213e, 0x01bf02b7, 0x01beb760, 0x001b4568, 0x002cc1de, 0x03b17135, 0x03c8fbef, 0x03989025, 0x01ac1b7b, 0x001aad78}}, Y: Field{[10]uint32{0x00a9e466, 0x008c7934, 0x01d3cf36, 0x02353a02, 0x00f83392, 0x03fb37d6, 0x003e0247, 0x00c671d1, 0x03b204eb, 0x0009be60}}}, + {X: Field{[10]uint32{0x00c25f3b, 0x02a75458, 0x01af35f5, 0x02951fbd, 0x036224e2, 0x03dceadc, 0x0373a0d3, 0x02a8b7a7, 0x029e039c, 0x0031f6a1}}, Y: Field{[10]uint32{0x00da579f, 0x010adad0, 0x0175dc79, 0x02267b08, 0x02cfdc0f, 0x01ab9312, 0x02f4cf67, 0x001f604a, 0x010249a6, 0x003a66c4}}}, + {X: Field{[10]uint32{0x0144ef99, 0x03034852, 0x01084a9c, 0x0152fc05, 0x03e20b68, 0x03d34526, 0x028091fa, 0x00f3b7b5, 0x00a15f1c, 0x000a9b53}}, Y: Field{[10]uint32{0x02661ae0, 0x01ad8e03, 0x039b4ced, 0x03cc4fc5, 0x015cb44b, 0x029c0eb1, 0x00d92846, 0x0257a6ae, 0x0288ae92, 0x0037f09d}}}, + {X: Field{[10]uint32{0x01c846c0, 0x018b3684, 0x015752de, 0x009c604a, 0x0292600a, 0x0079dc5a, 0x0259f70b, 0x008932a9, 0x00b3bba7, 0x00111c98}}, Y: Field{[10]uint32{0x008999bf, 0x03687837, 0x00996db8, 0x02990098, 0x038331e2, 0x00184e51, 0x000c9220, 0x00bb7a26, 0x020f33ef, 0x003c5f8f}}}, + {X: Field{[10]uint32{0x03781969, 0x0253dbe9, 0x016fd5b9, 0x0299b94d, 0x015a8788, 0x02cc4abb, 0x00b0f441, 0x01c00e35, 0x00adbaba, 0x002336c7}}, Y: Field{[10]uint32{0x00536977, 0x01dfb75d, 0x00fa17c1, 0x0392e81b, 0x03b88750, 0x0355b080, 0x03be06d8, 0x019ceab9, 0x010e262e, 0x002ce96f}}}, + {X: Field{[10]uint32{0x01caaefe, 0x009aa175, 0x00576851, 0x003c5d76, 0x00bc3e2c, 0x033d1b03, 0x0323e6cd, 0x03e41460, 0x0350fb60, 0x000a2f83}}, Y: Field{[10]uint32{0x022b7320, 0x03e6e8e1, 0x009de21b, 0x030fa590, 0x028d986f, 0x01a30c5d, 0x01404295, 0x02313384, 0x00f7fb18, 0x00173016}}}, + {X: Field{[10]uint32{0x014673a0, 0x012128a6, 0x00eb6f23, 0x0189fe3c, 0x02837e22, 0x0273e0e7, 0x029218ad, 0x03eb522d, 0x00badd2d, 0x0002db73}}, Y: Field{[10]uint32{0x022de992, 0x033f533e, 0x02eafb52, 0x01daba07, 0x02496231, 0x03731cc2, 0x00aa2ab5, 0x005899dd, 0x02d7297f, 0x00387052}}}, + {X: Field{[10]uint32{0x03766a87, 0x01c25578, 0x02e1dbe7, 0x03e4066e, 0x02b9cbb0, 0x0317f369, 0x03ecec9d, 0x03df95e9, 0x02c88813, 0x003917af}}, Y: Field{[10]uint32{0x01fbb07a, 0x004d7ac3, 0x028563ff, 0x01fc4e91, 0x03f915cc, 0x02b2eaa7, 0x03848857, 0x00de0df0, 0x00bb4ccf, 0x000e98a8}}}, + {X: Field{[10]uint32{0x00dccdbb, 0x0087faba, 0x030eb07b, 0x001f7d97, 0x0059bc9d, 0x00adf21d, 0x00b9e552, 0x02752078, 0x037726f3, 0x0037a49b}}, Y: Field{[10]uint32{0x004d8e05, 0x00d9fd8c, 0x02ba0f5f, 0x02c75c86, 0x01115be2, 0x008e7db8, 0x03618ce1, 0x01090092, 0x02a9263d, 0x00274643}}}, + {X: Field{[10]uint32{0x00f2caf0, 0x0280fcbb, 0x03091b54, 0x00b84c17, 0x0091e427, 0x01a5c8ad, 0x03948075, 0x027011b5, 0x03842066, 0x003dd884}}, Y: Field{[10]uint32{0x039e4914, 0x00a4f412, 0x00f6d12d, 0x00aed31f, 0x033088c9, 0x016432a8, 0x01945284, 0x03caa571, 0x00e5a227, 0x003431fa}}}, + {X: Field{[10]uint32{0x025ce751, 0x02effa15, 0x0037d4a8, 0x03458669, 0x01a5cdb1, 0x02e83ae7, 0x00d472e8, 0x03b823d1, 0x028644ff, 0x00139e57}}, Y: Field{[10]uint32{0x0190a4e0, 0x03a0f885, 0x03549749, 0x0156672c, 0x0365038c, 0x01d47961, 0x01b4be3c, 0x01a3e6ee, 0x00e54782, 0x0014a4b6}}}, + {X: Field{[10]uint32{0x01b50b3d, 0x0174b4b7, 0x03559bf4, 0x0237a15d, 0x01cdf75e, 0x02248d4c, 0x0333a97c, 0x02c0fcca, 0x0289a944, 0x001c3991}}, Y: Field{[10]uint32{0x00225586, 0x01349483, 0x0151a536, 0x02eea45a, 0x03925a93, 0x01c79bb7, 0x01ae263c, 0x0226928b, 0x02e5460b, 0x00299d71}}}, + {X: Field{[10]uint32{0x0367056b, 0x02d73c96, 0x020fab08, 0x0240ee76, 0x03477ef3, 0x02d2ffc7, 0x00b8c1c8, 0x0091f803, 0x002e682b, 0x000858df}}, Y: Field{[10]uint32{0x0292d882, 0x0125e793, 0x00e04831, 0x01638934, 0x03c5716b, 0x009f60e1, 0x00c2b6c7, 0x006955f9, 0x025e3e76, 0x0038d5c5}}}, + {X: Field{[10]uint32{0x001d1964, 0x015828e7, 0x02949a40, 0x02c5d19a, 0x03d8ae5b, 0x00062f6e, 0x01a41350, 0x034b85d0, 0x039908da, 0x001da468}}, Y: Field{[10]uint32{0x02422b74, 0x020711c2, 0x00be4d8c, 0x0038a31a, 0x03025728, 0x01db9fc9, 0x03f2296f, 0x016edb36, 0x0004b05b, 0x000897c5}}}, + {X: Field{[10]uint32{0x01af9302, 0x0266be1e, 0x012cb698, 0x0244361d, 0x01b0d11e, 0x009faafe, 0x035a14b0, 0x0021266b, 0x02a4f395, 0x001d20c5}}, Y: Field{[10]uint32{0x03fd7ee2, 0x00c11ed6, 0x0061f179, 0x006e7a11, 0x00f600fc, 0x037628b1, 0x0187c126, 0x0027630f, 0x00d26bd7, 0x00337375}}}, + {X: Field{[10]uint32{0x02ed9b8a, 0x03f83bfd, 0x03390c2f, 0x0146001a, 0x00a97089, 0x007814a5, 0x0084aa6c, 0x03a171b7, 0x01ab3839, 0x002bd623}}, Y: Field{[10]uint32{0x03d9cff0, 0x0055058d, 0x0081d870, 0x00d633c3, 0x01616ca1, 0x03800aab, 0x014131f5, 0x01523c9e, 0x02401b06, 0x0028f4dd}}}, + {X: Field{[10]uint32{0x01b42dc6, 0x011b8436, 0x0253735c, 0x001dbc2d, 0x005f869d, 0x0255ca2c, 0x03617969, 0x01bfec66, 0x00603170, 0x002f6477}}, Y: Field{[10]uint32{0x00f153b2, 0x01c41d91, 0x01a6d161, 0x03df5949, 0x00cdce2c, 0x0381c21c, 0x028db8ed, 0x03d71868, 0x02d15a74, 0x000f258f}}}, + {X: Field{[10]uint32{0x01e98f47, 0x01ccbb7b, 0x0382d985, 0x0209f7ae, 0x030c202c, 0x0132c787, 0x03aa583c, 0x002efd70, 0x00a59146, 0x00398971}}, Y: Field{[10]uint32{0x0170b72e, 0x03733056, 0x0299d7fd, 0x0187244c, 0x000812a4, 0x0392b180, 0x02505348, 0x014e5877, 0x01f9a903, 0x003409b1}}}, + {X: Field{[10]uint32{0x03daac1c, 0x023f971f, 0x000e8ebc, 0x015f6566, 0x00122cd0, 0x0060d5f9, 0x014553c7, 0x024ebe2e, 0x03fed4b1, 0x001af489}}, Y: Field{[10]uint32{0x0221a9f9, 0x03549271, 0x039f022f, 0x012792de, 0x03c66a05, 0x0028ad39, 0x01835d3b, 0x02c1127b, 0x01400a98, 0x0017cff9}}}, + {X: Field{[10]uint32{0x02db2609, 0x03d99907, 0x02f495cf, 0x03e5531b, 0x0068a0f0, 0x016cd39f, 0x03d3872c, 0x01bce148, 0x0225895e, 0x0009dc1e}}, Y: Field{[10]uint32{0x02a777ee, 0x0060088f, 0x0335e03a, 0x02452337, 0x01e5de5c, 0x01fd9dfa, 0x0334b38f, 0x035a5da7, 0x038ec893, 0x003bdbd3}}}, + {X: Field{[10]uint32{0x03f0ebde, 0x005383f3, 0x026db1f3, 0x03039d51, 0x00c01770, 0x010a135f, 0x03770ea0, 0x01053aed, 0x008e3359, 0x00181489}}, Y: Field{[10]uint32{0x03f7b7a2, 0x00638ab8, 0x0312c8b1, 0x034c72e5, 0x031a1ac7, 0x02a955be, 0x0262e020, 0x03551a7e, 0x00585cf0, 0x000f6608}}}, + {X: Field{[10]uint32{0x0370f6bc, 0x0168453c, 0x0150e6c7, 0x019a6d15, 0x034d4fc6, 0x02c8a615, 0x01825068, 0x0049305b, 0x03534fa6, 0x003cb2d6}}, Y: Field{[10]uint32{0x0241112e, 0x029d02dc, 0x008a0ad7, 0x02ef17eb, 0x038ec9dc, 0x00f31de7, 0x0152def4, 0x032b484e, 0x030763a5, 0x00173795}}}, + {X: Field{[10]uint32{0x007a502e, 0x0342c8fa, 0x01b20aa9, 0x01453bdb, 0x0304989b, 0x01d71807, 0x00030c7a, 0x02e7e782, 0x02159fe6, 0x001deb60}}, Y: Field{[10]uint32{0x029b703d, 0x031a037a, 0x0132a87f, 0x01e266be, 0x0300c136, 0x02e87aec, 0x0056add2, 0x0124c9d2, 0x01eeffc2, 0x00249a28}}}, + {X: Field{[10]uint32{0x028fd29d, 0x0132f252, 0x001c8a11, 0x003ee93b, 0x035cc9aa, 0x00b5e246, 0x0380fd7c, 0x03e03e9f, 0x008d171c, 0x0011061d}}, Y: Field{[10]uint32{0x031835c1, 0x02ed063e, 0x02aeebab, 0x01aa99f1, 0x029916c1, 0x009e7f9e, 0x0318322b, 0x006dfdcb, 0x028579f0, 0x000144c0}}}, + {X: Field{[10]uint32{0x027355e0, 0x01f5f98d, 0x008831d3, 0x03ff7df4, 0x01126e59, 0x0046a09b, 0x01901b4d, 0x0321edf9, 0x01606f89, 0x0005abd2}}, Y: Field{[10]uint32{0x00b04c2e, 0x0130b353, 0x009f68ca, 0x03a943b8, 0x0012c8e8, 0x03a8ece3, 0x02131ca8, 0x008f27a3, 0x00405372, 0x000684e1}}}, + {X: Field{[10]uint32{0x02120f9d, 0x00e4be77, 0x03e4aae6, 0x00c0d49d, 0x000730a7, 0x03606123, 0x037ba0ca, 0x00c6e33d, 0x003cab44, 0x0008b481}}, Y: Field{[10]uint32{0x011b8acd, 0x03d3dae6, 0x0145a432, 0x03263b4f, 0x034d71f9, 0x01ff33e7, 0x036520ac, 0x011b4270, 0x01ad5e5b, 0x0035de57}}}, + {X: Field{[10]uint32{0x03676302, 0x02cc9c55, 0x017349fb, 0x022ec906, 0x0241d92c, 0x03d8912d, 0x02033602, 0x0194cdf8, 0x028b3482, 0x00015f9e}}, Y: Field{[10]uint32{0x0199b83a, 0x00a00ed1, 0x022a0975, 0x0374f473, 0x015146af, 0x02ecb951, 0x02bd2eb6, 0x0322cb0e, 0x00e8ba4b, 0x0013648e}}}, + {X: Field{[10]uint32{0x02acc359, 0x01156c09, 0x009da9ab, 0x02093018, 0x007ea19a, 0x01776ac7, 0x02b39ed0, 0x0009f8a0, 0x03602755, 0x0011559f}}, Y: Field{[10]uint32{0x0134f5a7, 0x02e92350, 0x03d4c2fb, 0x03dfdc9b, 0x0182c1cc, 0x0104e4b7, 0x02291611, 0x0153b790, 0x015a77a3, 0x0036d57b}}}, + {X: Field{[10]uint32{0x027fa80f, 0x03e9683d, 0x00c383e8, 0x039c68a1, 0x01798a0b, 0x02114c80, 0x001933ca, 0x024d1e77, 0x01549105, 0x0025a3ed}}, Y: Field{[10]uint32{0x00e8920e, 0x01332849, 0x00bd0b16, 0x0007740f, 0x0201c141, 0x019c60dd, 0x02d83945, 0x03d5430d, 0x02b16853, 0x00018d61}}}, + {X: Field{[10]uint32{0x01873107, 0x0050946b, 0x02d1714c, 0x033446bc, 0x013d640a, 0x01e3dee1, 0x03ef522b, 0x00f35fc7, 0x02490f63, 0x003cd9b1}}, Y: Field{[10]uint32{0x0082c6b9, 0x03ed971d, 0x01546e56, 0x0355c46b, 0x0325b260, 0x0275057b, 0x004cfab5, 0x0262360b, 0x02af38f4, 0x0017f0e5}}}, + {X: Field{[10]uint32{0x00201d06, 0x01a1d0ff, 0x026e9ad0, 0x0224540f, 0x0059b192, 0x00acf0a7, 0x0016effd, 0x01a2cbb7, 0x03d44a2e, 0x002a8313}}, Y: Field{[10]uint32{0x033fee33, 0x037e2dff, 0x01b82b5d, 0x028952a9, 0x002763ac, 0x01d89c34, 0x00b5c4db, 0x01e5dd19, 0x02242fba, 0x0018538c}}}, + {X: Field{[10]uint32{0x032cc876, 0x01125223, 0x00ad2b44, 0x033cdd21, 0x01da4cbd, 0x02a0c391, 0x0057abbd, 0x033b1a47, 0x00ee19b2, 0x001b221b}}, Y: Field{[10]uint32{0x02fc16a1, 0x012e5382, 0x01cf5def, 0x025ef3cb, 0x02a197e8, 0x03b19396, 0x03eb384f, 0x037e1c21, 0x03bd9ab4, 0x000933f2}}}, + {X: Field{[10]uint32{0x02095554, 0x005e16f1, 0x02e439a8, 0x032b7cef, 0x00fbe5e4, 0x0045b538, 0x01d1686f, 0x01dbbb20, 0x0199c33f, 0x00135800}}, Y: Field{[10]uint32{0x03ae614a, 0x0057cc97, 0x028e9dad, 0x03127c58, 0x032bf73d, 0x037fb5d0, 0x01d4321f, 0x03dc3845, 0x00ceb769, 0x0032d053}}}, + {X: Field{[10]uint32{0x010a4fc2, 0x01689697, 0x0230aa67, 0x032b4bc8, 0x0212c3ca, 0x02d96ec5, 0x01e84724, 0x0167839c, 0x00a0196d, 0x000ddf74}}, Y: Field{[10]uint32{0x00feb560, 0x010f1d2b, 0x0338fe03, 0x00d8ad47, 0x021159c7, 0x02cd25d4, 0x03f7c270, 0x009f7297, 0x027d8c8e, 0x000b1c9f}}}, + {X: Field{[10]uint32{0x00820f46, 0x024a2967, 0x025529ca, 0x006633cd, 0x02e8aa50, 0x036402e2, 0x031826f9, 0x037cd46e, 0x038a23af, 0x00273033}}, Y: Field{[10]uint32{0x03e67256, 0x0234d1fd, 0x031f8b06, 0x01197554, 0x00693e54, 0x0290e828, 0x0142c53e, 0x0302a320, 0x015be2aa, 0x002d5cbc}}}, + {X: Field{[10]uint32{0x01fa3050, 0x01363b46, 0x000ead4a, 0x03aa9471, 0x024cfb01, 0x02f81107, 0x01d154a2, 0x00ac7a60, 0x02a64149, 0x0035577e}}, Y: Field{[10]uint32{0x03238ac1, 0x02cb9463, 0x012eb45f, 0x01dc30b7, 0x02da0c4c, 0x008e879c, 0x0098f315, 0x01d30aa6, 0x01cb408c, 0x000b9e57}}}, + {X: Field{[10]uint32{0x01210fd5, 0x001b7b9f, 0x024e8463, 0x021c9e5c, 0x02e3d27e, 0x02b1b01f, 0x035efb3f, 0x00c548c1, 0x03d72d11, 0x0011afd8}}, Y: Field{[10]uint32{0x03b0b199, 0x02cb220c, 0x002fc94c, 0x00dccb8a, 0x02dc4a2e, 0x02417128, 0x03b433a2, 0x00c94df8, 0x01f230fa, 0x001dc6ec}}}, + {X: Field{[10]uint32{0x00ca3aad, 0x000165d4, 0x03a3a13f, 0x02e306a6, 0x03594ef8, 0x01d79f0e, 0x02f1826f, 0x01f05e31, 0x038803e7, 0x0012f3f8}}, Y: Field{[10]uint32{0x021b0129, 0x02abd522, 0x009b62dd, 0x008ed1f4, 0x00ec5ea9, 0x03014e27, 0x0283cf56, 0x0119cbe8, 0x02939dcf, 0x002d558b}}}, + {X: Field{[10]uint32{0x00c241db, 0x01d1ee36, 0x02c57df9, 0x00e477dd, 0x016255ba, 0x012eca92, 0x00ce8023, 0x01a7bb5f, 0x02f4715e, 0x00325a06}}, Y: Field{[10]uint32{0x01e038e6, 0x0087dfb3, 0x02e0828c, 0x0204c420, 0x00da530e, 0x006f72c1, 0x02bb8468, 0x0148197c, 0x01cbb03d, 0x00322c5d}}}, + {X: Field{[10]uint32{0x02fbc33c, 0x02c5af30, 0x00101790, 0x02f531ad, 0x01bd5538, 0x02d3daba, 0x022671a3, 0x01ab1fd2, 0x021b56bd, 0x00027e82}}, Y: Field{[10]uint32{0x03129e63, 0x03f62d8c, 0x01fb5c08, 0x01a1b511, 0x0016056f, 0x0122d219, 0x00599593, 0x01f33b92, 0x02be785c, 0x0009fe7a}}}, + {X: Field{[10]uint32{0x03d0381e, 0x03b1a91c, 0x01feaa56, 0x03caf038, 0x03a87203, 0x019de593, 0x023e7b98, 0x022ab01c, 0x01f0ca17, 0x0005410b}}, Y: Field{[10]uint32{0x010183f2, 0x03b8ef63, 0x033a1677, 0x03f49082, 0x03e271cb, 0x0050f9d7, 0x039eb59a, 0x01ac37e3, 0x0257dac8, 0x0011176d}}}, + {X: Field{[10]uint32{0x0337e9b2, 0x022c0c87, 0x00b65eb0, 0x03403abe, 0x036b7f9d, 0x00876dd9, 0x027da3e9, 0x0061df83, 0x02630d4c, 0x000d53da}}, Y: Field{[10]uint32{0x004ea8fc, 0x026a8ac4, 0x03fea555, 0x0361942f, 0x012eb784, 0x010fbf59, 0x032f480a, 0x0202fbad, 0x003bd65b, 0x00040014}}}, + {X: Field{[10]uint32{0x01de065c, 0x010c3166, 0x03d8ac11, 0x0139e6b8, 0x029e4ba7, 0x009c1f5b, 0x00d8864d, 0x023f0127, 0x01617a44, 0x000670d8}}, Y: Field{[10]uint32{0x009acff5, 0x001bcc26, 0x022fa4dd, 0x00605842, 0x0275742d, 0x02dca67b, 0x02f570c1, 0x03ba0653, 0x03d8fd38, 0x000be7e7}}}, + {X: Field{[10]uint32{0x0083f88e, 0x0130519c, 0x01d395bd, 0x01ed5b39, 0x035a5080, 0x03767ea3, 0x027a2d4a, 0x02299ada, 0x008ad2ab, 0x000dce61}}, Y: Field{[10]uint32{0x01f0cbc9, 0x02058b19, 0x0151e6f5, 0x002440da, 0x01068a54, 0x00b86233, 0x01d20569, 0x000af7d3, 0x00206111, 0x001bf5c6}}}, + {X: Field{[10]uint32{0x0010aa35, 0x018bab07, 0x01ba9500, 0x023e2b1b, 0x012dd7e5, 0x0212e13d, 0x00e66f1f, 0x008cd9f7, 0x0345261c, 0x002708b2}}, Y: Field{[10]uint32{0x012a1116, 0x02fb9901, 0x0146ec8d, 0x005c665b, 0x03605b00, 0x021b72e7, 0x00bead62, 0x02f9ca44, 0x03f58c25, 0x003fe138}}}, + {X: Field{[10]uint32{0x01b4538e, 0x02f7525b, 0x03abbd0f, 0x0215d44f, 0x015a4127, 0x038df155, 0x00c71e45, 0x005cc9fb, 0x01c87f31, 0x0015c851}}, Y: Field{[10]uint32{0x0238871f, 0x031e4422, 0x03550242, 0x02b013a9, 0x015338c6, 0x00485523, 0x02d5166c, 0x002368ab, 0x03ac5e39, 0x00058f98}}}, + {X: Field{[10]uint32{0x01e940ef, 0x0078c84b, 0x0285bd93, 0x036636e1, 0x034c641e, 0x006a59b1, 0x03213b75, 0x00fad63b, 0x0154d841, 0x00327c1e}}, Y: Field{[10]uint32{0x01e17fd0, 0x03061333, 0x0041d792, 0x03cfb7a4, 0x0092cf5a, 0x0026f3b3, 0x025fe7cb, 0x00f4f281, 0x00bc804f, 0x00279a11}}}, + {X: Field{[10]uint32{0x007f25e3, 0x024684de, 0x000c3f92, 0x02a83a20, 0x01f7b0e4, 0x0016a294, 0x024a24df, 0x0228a759, 0x0346b07c, 0x002b0a5f}}, Y: Field{[10]uint32{0x01b66cbb, 0x02637a0a, 0x0185875e, 0x01ddd4f0, 0x02b1556c, 0x01297460, 0x01bbca05, 0x016b5ff4, 0x037f78e4, 0x001a1b8e}}}, + {X: Field{[10]uint32{0x00b3e1b5, 0x025e4d26, 0x0198c218, 0x02f202f0, 0x035ad55d, 0x0087b688, 0x00274df1, 0x029a20e4, 0x013bb383, 0x0001b164}}, Y: Field{[10]uint32{0x00b9ccf1, 0x016ab78b, 0x00dc91c3, 0x02d743de, 0x0153e5b4, 0x00789295, 0x011ebf46, 0x027d28bc, 0x003ae364, 0x00152e6e}}}, + {X: Field{[10]uint32{0x032495df, 0x03aa396b, 0x01b45cf7, 0x03f71e4f, 0x01846e3e, 0x0058f2fe, 0x0259ee92, 0x00d5afb2, 0x03a3f503, 0x002e649b}}, Y: Field{[10]uint32{0x02e2a512, 0x03e41510, 0x03047bb8, 0x0030402f, 0x01054fd0, 0x03f05781, 0x0015c511, 0x039e87b5, 0x03c533d4, 0x00035b75}}}, + {X: Field{[10]uint32{0x00e69556, 0x01ceb61d, 0x03d5a314, 0x03314d5f, 0x03cb36ad, 0x0181cc15, 0x00ac758f, 0x02f9dff8, 0x01d2f2ca, 0x0010c974}}, Y: Field{[10]uint32{0x034904a9, 0x029f53d4, 0x01932ed5, 0x02d7116b, 0x03818c8f, 0x01833123, 0x030562d5, 0x00c57e21, 0x01682ff6, 0x003790de}}}, + {X: Field{[10]uint32{0x00164917, 0x022a3045, 0x03f110d3, 0x037346ff, 0x00eed924, 0x0387103d, 0x03c9059c, 0x02ff292b, 0x015ffd84, 0x002860fa}}, Y: Field{[10]uint32{0x01d64b95, 0x0006ed10, 0x017f0a0d, 0x0176fbc1, 0x00c38d69, 0x0337e57b, 0x005046d4, 0x03290405, 0x0210c7ff, 0x0004715d}}}, + {X: Field{[10]uint32{0x00d07114, 0x017a205b, 0x0009184d, 0x03f4eeaa, 0x02ab7af5, 0x0123f6f0, 0x0251414f, 0x00a3c365, 0x00d9ad65, 0x002cd034}}, Y: Field{[10]uint32{0x020dd4e1, 0x03410384, 0x01384919, 0x02a6db0f, 0x02ae2671, 0x00392da3, 0x024dfbd4, 0x01c3dfe5, 0x026a9ecd, 0x00217b5c}}}, + {X: Field{[10]uint32{0x02719377, 0x03cd3085, 0x0240e8e6, 0x038db035, 0x00b146fa, 0x02781d74, 0x015f0a4c, 0x00be9056, 0x02883599, 0x002d4b6a}}, Y: Field{[10]uint32{0x024ad7ad, 0x0324391e, 0x029df85e, 0x020892c5, 0x004f42f0, 0x011e31e8, 0x00b5cbad, 0x00e2269b, 0x01399fa8, 0x0018222c}}}, + {X: Field{[10]uint32{0x02b9d8ad, 0x015c268a, 0x0218d5dc, 0x00d9148e, 0x01f269ba, 0x030ad7f9, 0x03f82bf7, 0x03e23a7d, 0x011542b0, 0x000242ef}}, Y: Field{[10]uint32{0x028fc4e5, 0x039cd214, 0x00743e06, 0x02432a9a, 0x03c69584, 0x034dd0f7, 0x01461d2b, 0x00d1329c, 0x024a51af, 0x003277e4}}}, + {X: Field{[10]uint32{0x03aa8365, 0x023a9aa8, 0x01fd2278, 0x03ed0e2c, 0x02b31c54, 0x00b24c4b, 0x03d4603f, 0x00653fb4, 0x01a81696, 0x003dcbb9}}, Y: Field{[10]uint32{0x010fde8a, 0x0305c879, 0x0307404f, 0x0331e159, 0x010e66f4, 0x035169cb, 0x03c1078c, 0x003d2e3f, 0x0182b6ca, 0x0038a58f}}}, + {X: Field{[10]uint32{0x02b9fb53, 0x02a0e5f9, 0x01298c35, 0x0137667e, 0x0366a10f, 0x03f4d23c, 0x035d6ddd, 0x0014950b, 0x03715bc7, 0x000422ba}}, Y: Field{[10]uint32{0x0209f1ce, 0x0273c70c, 0x0145b49b, 0x01c2b1af, 0x0297b8d9, 0x00dca261, 0x036df472, 0x02381283, 0x033975a5, 0x0020e22c}}}, + {X: Field{[10]uint32{0x0361d5b0, 0x019fedbf, 0x02e86e26, 0x000524f8, 0x00fe54c9, 0x01fd189a, 0x00a5ff5c, 0x017afe09, 0x02ed8734, 0x00370f6b}}, Y: Field{[10]uint32{0x013411e5, 0x003e2776, 0x01d56da2, 0x01e64ca9, 0x02cf0010, 0x02ad1fd9, 0x02c1683b, 0x00119c65, 0x0241238e, 0x002d69f9}}}, + {X: Field{[10]uint32{0x0265c589, 0x01e70190, 0x03ef9381, 0x00cbe35a, 0x03a82c5f, 0x00e14fbc, 0x01e1d26e, 0x018483a0, 0x003c2be1, 0x000fe5aa}}, Y: Field{[10]uint32{0x035c64b3, 0x00dc4c5a, 0x03a0f2ea, 0x03eaebff, 0x01630ba1, 0x03ef409f, 0x020d7349, 0x03c83f56, 0x030e797c, 0x003ae34d}}}, + {X: Field{[10]uint32{0x03f5c4f3, 0x004ee5bb, 0x038661de, 0x01febc6d, 0x03b35835, 0x00913ef8, 0x00a22780, 0x008f8c73, 0x006ce1f4, 0x0009f2be}}, Y: Field{[10]uint32{0x02b30f61, 0x03e86e28, 0x005a139b, 0x0128bcb5, 0x032187e2, 0x036f7283, 0x03ddbc23, 0x033ed18c, 0x0318647a, 0x003a3ddd}}}, + {X: Field{[10]uint32{0x0374d04f, 0x00931883, 0x0236167a, 0x0071f020, 0x012d301a, 0x01206591, 0x007f9648, 0x021e1862, 0x03b9e241, 0x0019a073}}, Y: Field{[10]uint32{0x0015151d, 0x02d28dee, 0x017608dc, 0x01a66353, 0x03f1ce48, 0x0023447b, 0x01f521cc, 0x03a510bd, 0x033a7849, 0x0027227a}}}, + {X: Field{[10]uint32{0x02ba8da5, 0x02c3996f, 0x0280e67f, 0x03705e57, 0x02fcac45, 0x03eeebe8, 0x02747092, 0x0118e59c, 0x00494866, 0x0019c46e}}, Y: Field{[10]uint32{0x014cfcc6, 0x00ac964a, 0x00118b81, 0x017d834b, 0x016b986a, 0x02f2a947, 0x02d8cecb, 0x017b6488, 0x003f1c8f, 0x003284b2}}}, + {X: Field{[10]uint32{0x031dd94d, 0x0210f8ad, 0x010118b7, 0x019c89da, 0x01fdd734, 0x01a61d71, 0x03d22b05, 0x00b36e83, 0x03d0b110, 0x0017ba73}}, Y: Field{[10]uint32{0x007d7d86, 0x00087782, 0x0063aed9, 0x02522d7d, 0x02060d22, 0x026d80cc, 0x03c518f1, 0x027b9385, 0x00e5bd7f, 0x000775e9}}}, + {X: Field{[10]uint32{0x01f4924c, 0x028fcabb, 0x01785e38, 0x0074b4b6, 0x02d7538f, 0x03408937, 0x0195a466, 0x002f9bcf, 0x017b1339, 0x00161b6b}}, Y: Field{[10]uint32{0x002b64d0, 0x0365e1b3, 0x039867be, 0x00072657, 0x00bc2fb1, 0x00467963, 0x035bd337, 0x00d6085c, 0x01a5a68a, 0x0031ddfb}}}, + {X: Field{[10]uint32{0x025091ec, 0x01c94359, 0x02d9184f, 0x0382b63b, 0x00867f6e, 0x003771fa, 0x024b6e69, 0x004b1c64, 0x02d20fa0, 0x000169d4}}, Y: Field{[10]uint32{0x03b95db6, 0x02ba0651, 0x02d27d53, 0x025d7cb2, 0x03ec1ace, 0x01e2410b, 0x01029fc5, 0x0190a7c5, 0x032b32b3, 0x0015fc88}}}, + {X: Field{[10]uint32{0x013e638e, 0x02a01929, 0x02e60002, 0x0381ef9c, 0x02426372, 0x01e3ac50, 0x00fef223, 0x015dfaa7, 0x02ff22bc, 0x003e4f2f}}, Y: Field{[10]uint32{0x03afe50f, 0x00d08de0, 0x00a5996f, 0x01755c64, 0x03eeadb7, 0x009e793c, 0x03166702, 0x036d0a52, 0x02bb401b, 0x002af1dc}}}, + {X: Field{[10]uint32{0x012608a9, 0x00053a43, 0x038cc3dd, 0x03ee15ba, 0x0076052c, 0x029b98eb, 0x03c34c36, 0x0025c8bb, 0x009e9613, 0x002309cb}}, Y: Field{[10]uint32{0x024607b3, 0x03a49f9b, 0x02dfde85, 0x0058d257, 0x03731e37, 0x022d5000, 0x027d2261, 0x01c588ee, 0x016813c5, 0x002661f4}}}, + {X: Field{[10]uint32{0x01769bc5, 0x021f0453, 0x015e23e1, 0x01327e55, 0x0038dfd8, 0x00e1b770, 0x00226c4d, 0x0150ae95, 0x00d61519, 0x002fde28}}, Y: Field{[10]uint32{0x01910280, 0x01bb262c, 0x00fe55d2, 0x01f4c56f, 0x03e16058, 0x010a567b, 0x0014b59d, 0x03020798, 0x01e4d84e, 0x00182538}}}, + {X: Field{[10]uint32{0x02e65caa, 0x03f6e64c, 0x02b28ee1, 0x016b8c47, 0x01497aaa, 0x0109217f, 0x03ab651f, 0x00a86ffe, 0x0376cd09, 0x0016c992}}, Y: Field{[10]uint32{0x01d70d78, 0x0062381a, 0x00c84c8c, 0x008b5762, 0x021dd847, 0x015a56c1, 0x010fdc88, 0x035f0d98, 0x03594b68, 0x002513e4}}}, + {X: Field{[10]uint32{0x0082b559, 0x03810ab0, 0x027974b7, 0x014409d3, 0x01322f71, 0x03451dc1, 0x03c14598, 0x028344ce, 0x00ea8075, 0x002891cf}}, Y: Field{[10]uint32{0x02575a18, 0x01a2a268, 0x004b5d2c, 0x00a9c212, 0x035168d3, 0x03db2416, 0x0309d794, 0x01ec1b66, 0x030db655, 0x001937a0}}}, + {X: Field{[10]uint32{0x009efa45, 0x022a00d8, 0x02350652, 0x002028a4, 0x01f14b07, 0x01c21ef5, 0x001535da, 0x0314510d, 0x01e63dd0, 0x000f8635}}, Y: Field{[10]uint32{0x00288c5b, 0x027fd9d5, 0x030a6e1d, 0x00589aa7, 0x0026dc2f, 0x0394d1c3, 0x02fd041b, 0x01ce0be0, 0x01b97d00, 0x001ba71c}}}, + {X: Field{[10]uint32{0x0294dfa5, 0x03d855a0, 0x0184b71a, 0x01050a16, 0x026a7674, 0x0308a421, 0x0296eb09, 0x018c56f3, 0x03cdb91e, 0x00346b36}}, Y: Field{[10]uint32{0x013da5a4, 0x03a7e218, 0x014522c9, 0x03a59ae6, 0x00accb67, 0x00f8a74f, 0x00072017, 0x00dd70fe, 0x00d89872, 0x00178ec3}}}, + {X: Field{[10]uint32{0x0050c90d, 0x002badf6, 0x024e1a21, 0x00a3103d, 0x0125ddb0, 0x00d7b3dd, 0x02cc880a, 0x0383cad7, 0x01e29344, 0x000eaa66}}, Y: Field{[10]uint32{0x0143d42b, 0x00eaafe9, 0x01951567, 0x013b1f28, 0x01028c45, 0x027a6a20, 0x02e6fcbe, 0x0286fb74, 0x025cfbe3, 0x00334b38}}}, + {X: Field{[10]uint32{0x01a5017d, 0x0359c258, 0x02398146, 0x0389692d, 0x033e1b31, 0x028e9b28, 0x010aa4c8, 0x00572fb3, 0x021d7c38, 0x0026288d}}, Y: Field{[10]uint32{0x0009f2bc, 0x01c4a28b, 0x00de6d39, 0x01753674, 0x01516df2, 0x035e380e, 0x00213958, 0x00304efa, 0x03780304, 0x0007ccf7}}}, + {X: Field{[10]uint32{0x013d98d0, 0x01459d01, 0x03cc4613, 0x011ef86d, 0x03ff3482, 0x0132da72, 0x03a55628, 0x02e1c1b5, 0x018c907a, 0x0014a2e7}}, Y: Field{[10]uint32{0x01eafabd, 0x01fab4f7, 0x01051aba, 0x014c6531, 0x0129700d, 0x00028450, 0x02d67bb8, 0x015de1f1, 0x0036d666, 0x003e47ae}}}, + {X: Field{[10]uint32{0x025029b6, 0x01b07398, 0x0193a355, 0x0398b236, 0x00f4be50, 0x02e33dcc, 0x01a6a866, 0x0034822f, 0x008d3d1b, 0x003c6b7b}}, Y: Field{[10]uint32{0x03cc7224, 0x01d07506, 0x0178f964, 0x0153822a, 0x0257e4a7, 0x00b51e55, 0x03fb61b3, 0x01860896, 0x00aac3bf, 0x0011e0c9}}}, + {X: Field{[10]uint32{0x0124a099, 0x035429ce, 0x00f10f74, 0x0329d0aa, 0x000e0181, 0x01d752a8, 0x0070cf8d, 0x0056b106, 0x0133b1b1, 0x002acbbc}}, Y: Field{[10]uint32{0x026a91ea, 0x00a6ac15, 0x030a5756, 0x0339c29c, 0x012f2baa, 0x02302bda, 0x0149ef53, 0x03baad5e, 0x0374c584, 0x0028b11e}}}, + {X: Field{[10]uint32{0x00576f85, 0x0326c9f8, 0x00c72348, 0x01f4446e, 0x00539a61, 0x024dc21a, 0x0120e2bf, 0x01be0ec7, 0x001af6da, 0x002753ad}}, Y: Field{[10]uint32{0x01f30eea, 0x035accf1, 0x000d7cc5, 0x031c7096, 0x0373acc3, 0x00d4cc17, 0x02dfe904, 0x03213ea2, 0x000db786, 0x003071ec}}}, + {X: Field{[10]uint32{0x03b916d9, 0x01088a4f, 0x011d018a, 0x023e790c, 0x02a55363, 0x0367a418, 0x006dff05, 0x00b20722, 0x017f7b1b, 0x000c3b75}}, Y: Field{[10]uint32{0x00842ee7, 0x039f1291, 0x00502d44, 0x0192a8a2, 0x00f7449e, 0x02b3f38c, 0x0220b485, 0x015e8607, 0x034b16d2, 0x001af11d}}}, + {X: Field{[10]uint32{0x01306583, 0x00715d0c, 0x0066a41d, 0x029c7a04, 0x00f10969, 0x01248053, 0x0058fc6a, 0x02e15597, 0x039d09a2, 0x000a38fa}}, Y: Field{[10]uint32{0x03bb6c2c, 0x00f23f37, 0x00e7ddc9, 0x00577d2a, 0x0359ad3c, 0x030542b8, 0x025245c8, 0x01019c03, 0x03878073, 0x003f194e}}}, + {X: Field{[10]uint32{0x02ac75a3, 0x015c69a6, 0x00e08c91, 0x02d9d276, 0x035a3a8b, 0x03cfa098, 0x03be578f, 0x010b428b, 0x0335e3c8, 0x0032e611}}, Y: Field{[10]uint32{0x03ea8367, 0x0050a6de, 0x02268b48, 0x01efa64d, 0x004c3e25, 0x035c52bd, 0x013f977a, 0x030fd4c0, 0x00cc7181, 0x003a4d68}}}, + {X: Field{[10]uint32{0x000fe170, 0x00146ae9, 0x037a3ed0, 0x016c82a8, 0x015e4d66, 0x021437f3, 0x0283b106, 0x001fabba, 0x02727e83, 0x000d8619}}, Y: Field{[10]uint32{0x00707a6d, 0x03be3440, 0x0124be32, 0x03cb6976, 0x01ab27cb, 0x038b2cd2, 0x014c710c, 0x037007d7, 0x02d32ae6, 0x003b189b}}}, + {X: Field{[10]uint32{0x006b7d2e, 0x020ec5d3, 0x03136021, 0x02c8ed40, 0x034260ab, 0x032099ef, 0x02ccd54d, 0x03cd970a, 0x015e69e9, 0x002c6903}}, Y: Field{[10]uint32{0x01c186ec, 0x011cc28f, 0x027c3af0, 0x02a02eb8, 0x0331edde, 0x03bd8cba, 0x001ff894, 0x0107d490, 0x01ab2a7b, 0x001d9867}}}, + {X: Field{[10]uint32{0x01660825, 0x02c509c5, 0x02be242e, 0x00d75308, 0x00b32a8f, 0x00988019, 0x03f0ccb2, 0x00288fa0, 0x00b3dff6, 0x002af522}}, Y: Field{[10]uint32{0x000b3a89, 0x03dfc8e1, 0x0105be1b, 0x00124684, 0x03fa9949, 0x006122ea, 0x007a463d, 0x038ebe5b, 0x00f217da, 0x001bbfe0}}}, + {X: Field{[10]uint32{0x01d6aa22, 0x01443293, 0x00598c92, 0x0055cff9, 0x002a5721, 0x0086f6c4, 0x00979743, 0x03ad20bd, 0x0304d91c, 0x002b033e}}, Y: Field{[10]uint32{0x034582d5, 0x03958149, 0x02de81c5, 0x0129198a, 0x02395031, 0x0111d366, 0x018ae4a6, 0x0342a419, 0x01874a90, 0x001ad7db}}}, + {X: Field{[10]uint32{0x03c34432, 0x02ebc46b, 0x008e6087, 0x03cd54a5, 0x02a3a0bf, 0x0374762f, 0x03c75410, 0x012d9da5, 0x020f476c, 0x0007ea2f}}, Y: Field{[10]uint32{0x00788d33, 0x036d6ae0, 0x01e5496d, 0x01ae3d71, 0x03fe79df, 0x02071c61, 0x0161d201, 0x011878ca, 0x00848038, 0x0031ac94}}}, + {X: Field{[10]uint32{0x01f90e56, 0x03ed0970, 0x00ec9b29, 0x0355fa34, 0x03f336a4, 0x015717c3, 0x017d3137, 0x022626a0, 0x03c0d373, 0x000a06d0}}, Y: Field{[10]uint32{0x009f4a9c, 0x02a6ef2f, 0x03689921, 0x0111fe08, 0x03686830, 0x0089e9a9, 0x03e3db31, 0x016726dc, 0x030eba10, 0x0009ad41}}}, + {X: Field{[10]uint32{0x008f4052, 0x02c9a532, 0x02f120f0, 0x0118aa4a, 0x013b83eb, 0x01796a0b, 0x006327f5, 0x007b11d1, 0x01e954e8, 0x0035939a}}, Y: Field{[10]uint32{0x01c8622a, 0x0251e5cf, 0x030d58f3, 0x0036bebf, 0x0227a8f0, 0x019ba952, 0x0275565f, 0x00f28a6f, 0x015f284c, 0x002a9fb5}}}, + {X: Field{[10]uint32{0x00e7b028, 0x02f353f9, 0x03a5417b, 0x02315086, 0x01483fb5, 0x0185e08d, 0x035b0c9d, 0x0076c7c2, 0x02eed4b0, 0x003d336e}}, Y: Field{[10]uint32{0x02c63b47, 0x02eac641, 0x013021dd, 0x011e3aa4, 0x01b2b924, 0x02894022, 0x039f48c5, 0x0264137a, 0x00eb29d6, 0x0019b564}}}, + {X: Field{[10]uint32{0x03c9dca5, 0x00ffc2a4, 0x02f4c724, 0x0334779d, 0x00761fc1, 0x01e74868, 0x02ca8090, 0x038cd03f, 0x004a6c46, 0x0023fe53}}, Y: Field{[10]uint32{0x0149abf7, 0x00236bbc, 0x0377c2ab, 0x00d2a2ed, 0x01772071, 0x021ff731, 0x0342d4f1, 0x01a38ca7, 0x00335f3c, 0x00048f77}}}, + {X: Field{[10]uint32{0x03cf267a, 0x00fb3449, 0x01e705c3, 0x0313cabd, 0x00efed70, 0x00ed93ec, 0x007c0e62, 0x0061adfa, 0x01b46e34, 0x00031e1a}}, Y: Field{[10]uint32{0x0011f48a, 0x01c829d7, 0x01a59629, 0x0291a401, 0x03029aef, 0x0368aef5, 0x017d95d7, 0x002260bc, 0x00393662, 0x00198a55}}}, + {X: Field{[10]uint32{0x02cce1a4, 0x02c90c41, 0x00142351, 0x01c9bbb0, 0x0309836f, 0x016d4106, 0x026ba9e2, 0x03721ef4, 0x02c60ad5, 0x00383a9d}}, Y: Field{[10]uint32{0x00eff928, 0x00f52e35, 0x03dbc5a0, 0x005f22bd, 0x016a3a44, 0x02248ad9, 0x02a620a7, 0x0126ae22, 0x00e66320, 0x0022f5c9}}}, + {X: Field{[10]uint32{0x01e30159, 0x029fac4a, 0x027bfc6a, 0x03492d2a, 0x00e8e357, 0x0220fd4b, 0x0019f1f4, 0x022608d9, 0x02c73e5f, 0x000be98e}}, Y: Field{[10]uint32{0x00d8c3fd, 0x02c0e3ae, 0x01d517d0, 0x00a01bde, 0x007251db, 0x02d79711, 0x025b3146, 0x00fea3d6, 0x001cd632, 0x0015f858}}}, + {X: Field{[10]uint32{0x033026a1, 0x01b4cb71, 0x0012f6aa, 0x01dec808, 0x0149d008, 0x02ede99c, 0x02783fc1, 0x0024c08b, 0x0038d4c5, 0x001d3b50}}, Y: Field{[10]uint32{0x0328476f, 0x01bf509a, 0x0035e80e, 0x0200e3a6, 0x0258234f, 0x03deff69, 0x00618e49, 0x0027a233, 0x030e65d0, 0x0016dd3d}}}, + {X: Field{[10]uint32{0x00025f97, 0x03f4b63c, 0x01148eae, 0x03737101, 0x0216ce75, 0x03f7c83e, 0x02d1f934, 0x004f71b7, 0x00a6e387, 0x001c75ab}}, Y: Field{[10]uint32{0x0067e302, 0x00f9829c, 0x02bae0dd, 0x013688b6, 0x02072ffd, 0x0067da74, 0x00c6c4fb, 0x037f209e, 0x01337d48, 0x002d0c51}}}, + {X: Field{[10]uint32{0x03ed5292, 0x01d2b316, 0x004ac8a1, 0x031a25c1, 0x02ee617e, 0x0100a5eb, 0x02d5720f, 0x02f27e68, 0x03f16e91, 0x000a3ed1}}, Y: Field{[10]uint32{0x00b498f7, 0x02e1293e, 0x0059e0bd, 0x03b4ae9e, 0x00ef8e7a, 0x0250f06d, 0x00db6059, 0x01caf93f, 0x0161d724, 0x003412da}}}, + {X: Field{[10]uint32{0x0347a37a, 0x01c3b887, 0x036f8942, 0x0177898b, 0x03828c5a, 0x0269eccb, 0x02fca795, 0x016d7d74, 0x01f5c865, 0x001a3f35}}, Y: Field{[10]uint32{0x038d74ab, 0x009fcc9d, 0x01fb6d3d, 0x01395183, 0x017aa1ad, 0x029c409d, 0x032bc4e7, 0x01c59b0d, 0x02503362, 0x0015d201}}}, + {X: Field{[10]uint32{0x01aa36da, 0x0041a165, 0x03e97491, 0x01346b1a, 0x0117c974, 0x01e9800b, 0x017f8a8a, 0x02af11fb, 0x02d2f423, 0x0031d85e}}, Y: Field{[10]uint32{0x03121d9d, 0x01fd95ed, 0x022e8d59, 0x03f281b2, 0x0269e330, 0x00cf1852, 0x027a9db8, 0x01b2b72f, 0x0367fba9, 0x00366412}}}, + {X: Field{[10]uint32{0x02487cdd, 0x019864a9, 0x028c8df5, 0x00862c93, 0x01474fdc, 0x00966a74, 0x0278b955, 0x03f85b03, 0x029d2396, 0x0029fbd3}}, Y: Field{[10]uint32{0x02f67f28, 0x01427bd6, 0x015c1f40, 0x03753dd9, 0x0323c1e4, 0x01bc8bcd, 0x003f7e68, 0x02f81263, 0x020491c6, 0x00359e09}}}, + {X: Field{[10]uint32{0x031e2578, 0x01ad0d9d, 0x00890eab, 0x00602789, 0x0271856d, 0x00246ecb, 0x00e420f4, 0x00d9d92b, 0x00467ff0, 0x003cef9e}}, Y: Field{[10]uint32{0x0236dbc5, 0x0198aec1, 0x03309434, 0x00e9a047, 0x010dc58f, 0x02c9fff0, 0x026966f6, 0x03cf959e, 0x025745cb, 0x003cc09d}}}, + {X: Field{[10]uint32{0x02f0259c, 0x00fdd54d, 0x0347094d, 0x00a9385c, 0x016c8d9e, 0x03afd3cd, 0x0214c303, 0x0338a414, 0x03955bd9, 0x0017251f}}, Y: Field{[10]uint32{0x035e76cc, 0x02d729ed, 0x039c468f, 0x0235a3bc, 0x0190a81d, 0x015e2893, 0x01fdf498, 0x014a8f4b, 0x03753e75, 0x002daded}}}, + {X: Field{[10]uint32{0x018b2c68, 0x033d02ef, 0x00c134e4, 0x02274410, 0x002c54c1, 0x0309681d, 0x01b87028, 0x01cd789e, 0x0160c3b1, 0x0008dbf6}}, Y: Field{[10]uint32{0x01bbc279, 0x02b0e416, 0x01181873, 0x02fad097, 0x01b44bac, 0x01e69db3, 0x019360eb, 0x03063743, 0x03f7c0ba, 0x0026ad66}}}, + {X: Field{[10]uint32{0x01947b31, 0x0184ecec, 0x00d99cd7, 0x03ff2a2c, 0x02c1a9e9, 0x02e7624c, 0x01d02438, 0x038bdd96, 0x032617cc, 0x00324b27}}, Y: Field{[10]uint32{0x02357a51, 0x03f826d4, 0x0150b725, 0x037c54e7, 0x02e4804d, 0x006b38ac, 0x02707695, 0x0193ad97, 0x014c1a5e, 0x002af7aa}}}, + {X: Field{[10]uint32{0x01a94fc0, 0x0068509b, 0x03bd28bd, 0x03a02f07, 0x02733c2a, 0x0348b0c5, 0x0383a124, 0x018230cd, 0x03c9142c, 0x00261821}}, Y: Field{[10]uint32{0x0342a1cd, 0x01844fea, 0x0068d3fa, 0x0373ac9b, 0x038f5bad, 0x01158b37, 0x0282c650, 0x02d475af, 0x03f5fd76, 0x00052496}}}, + {X: Field{[10]uint32{0x008a1d43, 0x01e18869, 0x021bf914, 0x024e0ed0, 0x0222424e, 0x00d5942d, 0x0244e21f, 0x02eab5f1, 0x0374f4f6, 0x00119687}}, Y: Field{[10]uint32{0x0388cb48, 0x03fa48f1, 0x031579f2, 0x01ee0c91, 0x03d41c14, 0x036c0554, 0x02698d57, 0x00c2f7b9, 0x01e41794, 0x0009b69c}}}, + {X: Field{[10]uint32{0x009796b4, 0x033b9bd7, 0x00a00785, 0x03645643, 0x03c7aa2e, 0x002d1ab6, 0x033c88bd, 0x005f113f, 0x00cdf281, 0x00375d96}}, Y: Field{[10]uint32{0x03cc43be, 0x01ecd033, 0x00f37c1c, 0x0303ddf7, 0x039a9b8a, 0x0391749f, 0x034935a8, 0x03a65c29, 0x000d1e10, 0x000c8c5f}}}, + {X: Field{[10]uint32{0x03c72033, 0x033ae1d5, 0x02d09715, 0x022f766b, 0x006222af, 0x0097d4bf, 0x0148b177, 0x03127ad1, 0x02bfa803, 0x00156f4a}}, Y: Field{[10]uint32{0x013ebf43, 0x037f214f, 0x00e3553a, 0x02e10559, 0x0096b991, 0x0373ca95, 0x03c603b8, 0x0112ceaf, 0x03b39d73, 0x000d2b4c}}}, + {X: Field{[10]uint32{0x0012fcde, 0x0322297b, 0x03c36db0, 0x01d90627, 0x00440068, 0x0056c787, 0x01616d30, 0x0089b232, 0x0006d10c, 0x001def97}}, Y: Field{[10]uint32{0x029ba01b, 0x03f67810, 0x037f6ec8, 0x017b6597, 0x0020e8b5, 0x000d86e7, 0x0327ae1b, 0x01252623, 0x03ca5c47, 0x00333cb2}}}, + {X: Field{[10]uint32{0x012ab21c, 0x02dabcbd, 0x0161830d, 0x03bb52ed, 0x0180b890, 0x03a9f6f7, 0x0060b19b, 0x03c987c1, 0x00863eb6, 0x003eadc9}}, Y: Field{[10]uint32{0x0076d0b0, 0x00bdd322, 0x025c15d2, 0x03ebea76, 0x00b67f6a, 0x0276039a, 0x01174ed9, 0x00b8baaa, 0x003a408a, 0x0002453c}}}, + {X: Field{[10]uint32{0x020b2f66, 0x02e0208a, 0x005a109d, 0x017573c4, 0x02510db6, 0x039e0c52, 0x02671f8d, 0x022e1942, 0x0039fafe, 0x0008ca88}}, Y: Field{[10]uint32{0x0178576a, 0x03cfb0ab, 0x02218d95, 0x0389934b, 0x033be3a6, 0x0085bb04, 0x03b9f6ee, 0x03078d4c, 0x0082510b, 0x0005329c}}}, + {X: Field{[10]uint32{0x037f58e7, 0x00e41506, 0x00cfc64e, 0x028a252a, 0x01deee9f, 0x023c4f9a, 0x01847526, 0x013fde81, 0x0039612a, 0x002cd20a}}, Y: Field{[10]uint32{0x0126ae44, 0x03edc757, 0x0193a3f2, 0x00919ac4, 0x01653b82, 0x01f16378, 0x034e9faf, 0x00096c3a, 0x02eddf30, 0x001c8b40}}}, + {X: Field{[10]uint32{0x02353210, 0x008e6596, 0x017b2858, 0x012889b7, 0x02cf6fd8, 0x024c89c4, 0x0310871a, 0x01d61f2a, 0x02570b0a, 0x0034e1ce}}, Y: Field{[10]uint32{0x0160f186, 0x01789fd4, 0x011d660e, 0x003327f0, 0x01f1f45d, 0x01578cd4, 0x03f95b1c, 0x039c1b37, 0x018459c7, 0x000edf92}}}, + {X: Field{[10]uint32{0x022c20ad, 0x02cb6e85, 0x03281cc9, 0x030c9b72, 0x0226a049, 0x011f029e, 0x01289a71, 0x02caddc7, 0x008ceeeb, 0x00220a1e}}, Y: Field{[10]uint32{0x007b71a7, 0x0197d230, 0x0364cc8c, 0x00b77928, 0x025da2fa, 0x0125c709, 0x0398922b, 0x017c88f5, 0x01958742, 0x00390a28}}}, + {X: Field{[10]uint32{0x027e537d, 0x002cfd3a, 0x0280a37f, 0x02d3a9d5, 0x0052f8db, 0x024fe85d, 0x0186c189, 0x030035d2, 0x013126d0, 0x001e7fb9}}, Y: Field{[10]uint32{0x002cb5b6, 0x0005ea20, 0x035a4560, 0x02fa4f56, 0x01525ceb, 0x00eaceaf, 0x017b4a14, 0x03e652d3, 0x00713143, 0x003f7940}}}, + {X: Field{[10]uint32{0x02814e91, 0x03962a19, 0x01cbaac1, 0x0272fda6, 0x03367242, 0x000ead42, 0x00f3a8ce, 0x017de57c, 0x01f05a9f, 0x003d13ce}}, Y: Field{[10]uint32{0x019a1dd4, 0x02768c35, 0x030e3fc0, 0x01191ab1, 0x02ff75a2, 0x02aca2ee, 0x00a27afb, 0x004c0254, 0x01d1e4de, 0x002e5791}}}, + {X: Field{[10]uint32{0x00aa9abb, 0x009bb0a0, 0x02148504, 0x02fcf0be, 0x02da45af, 0x00cb3def, 0x01d7d788, 0x0326dee2, 0x0209baf9, 0x00044e38}}, Y: Field{[10]uint32{0x006a0d6e, 0x01f9267c, 0x02f88372, 0x005c259c, 0x03ac7d59, 0x0399fcba, 0x02285207, 0x02cabc3a, 0x016a3965, 0x000570a3}}}, + {X: Field{[10]uint32{0x00912c1e, 0x02e0fe4d, 0x02620472, 0x03c56bf0, 0x00dcd3d3, 0x02940c4c, 0x024685aa, 0x035e3183, 0x01421b98, 0x000a74fa}}, Y: Field{[10]uint32{0x02bf5825, 0x011729f4, 0x02ce1a6d, 0x019f222e, 0x01411c8c, 0x02df14ee, 0x01d46b6d, 0x0025a485, 0x00f84968, 0x00242945}}}, + {X: Field{[10]uint32{0x00ff3eb8, 0x025a7021, 0x020c7e90, 0x022294fe, 0x01d6efeb, 0x034b51c2, 0x00c18d7c, 0x00cf813c, 0x02945fdd, 0x002a28da}}, Y: Field{[10]uint32{0x016ab564, 0x025abd7d, 0x002a9bb5, 0x03351e7c, 0x0223db1f, 0x033b872b, 0x02aedbe1, 0x0335c009, 0x0105edbf, 0x000775fe}}}, + {X: Field{[10]uint32{0x02981eff, 0x0030849a, 0x03fd5367, 0x032a0498, 0x003c35f2, 0x00f9e81b, 0x02ab4f0c, 0x02513e43, 0x02ceb3fa, 0x00168123}}, Y: Field{[10]uint32{0x03c886ff, 0x035b52ed, 0x019b24b3, 0x0015a486, 0x008e330d, 0x03a201df, 0x03caf7b5, 0x03b59754, 0x03aeb70f, 0x000493c6}}}, + {X: Field{[10]uint32{0x0132b8ba, 0x0204a23a, 0x031583dc, 0x03b35ca5, 0x00fd1eb4, 0x01917eb1, 0x01ee579c, 0x02f0bd99, 0x02820c5e, 0x000c81c0}}, Y: Field{[10]uint32{0x01bdaa17, 0x036b7ca1, 0x03d55b86, 0x026a00f2, 0x03c17eda, 0x022109c1, 0x03b11ee0, 0x0101fb6b, 0x022d0d68, 0x0023da59}}}, + {X: Field{[10]uint32{0x03afe787, 0x01e91f95, 0x01786db7, 0x024c9e86, 0x02c78105, 0x0202927f, 0x0188a7b0, 0x034fc6ee, 0x025bfb04, 0x001f08a1}}, Y: Field{[10]uint32{0x0036bd3b, 0x03c1b874, 0x00d53097, 0x01c9839c, 0x03d0830b, 0x00e7c672, 0x01997344, 0x02675f55, 0x026e30f5, 0x00280bac}}}, + {X: Field{[10]uint32{0x039385cc, 0x0384f2c2, 0x033a422d, 0x01682abc, 0x01fd842e, 0x00f730d9, 0x02c8269a, 0x02094b01, 0x001330ad, 0x00282e93}}, Y: Field{[10]uint32{0x02239bc8, 0x00a4397f, 0x00960c13, 0x00511d5a, 0x00940fdb, 0x01dee7a1, 0x036d2ce2, 0x02efdfce, 0x03135cfd, 0x00163b2a}}}, + {X: Field{[10]uint32{0x00f76309, 0x007b08d1, 0x038194e3, 0x0121c399, 0x03007be4, 0x00b8b033, 0x03e47a41, 0x02e97723, 0x0042c8a2, 0x0010ab98}}, Y: Field{[10]uint32{0x02a1542e, 0x03c826f7, 0x02c3ce19, 0x008f2f25, 0x0336ea3a, 0x00f19119, 0x010a6e75, 0x022fc888, 0x01ac7ba3, 0x001cab5a}}}, + {X: Field{[10]uint32{0x007b2a19, 0x000b56c2, 0x01e7c6e8, 0x00323f04, 0x01d8f35f, 0x01c081ce, 0x025d82f4, 0x01e8b8fa, 0x00b64550, 0x0023ceba}}, Y: Field{[10]uint32{0x025b4cfe, 0x034ae03b, 0x036a50d1, 0x009f4fe6, 0x03604259, 0x02e6c51c, 0x003420ef, 0x03b5506e, 0x02353028, 0x00186ee3}}}, + {X: Field{[10]uint32{0x005df32f, 0x006d0dec, 0x004c00d9, 0x00498ab9, 0x00a7ba1e, 0x00254f9b, 0x024fb4f3, 0x00648283, 0x024b1e15, 0x000ea12e}}, Y: Field{[10]uint32{0x013e20c0, 0x02eb679f, 0x02ce7d3c, 0x03af3771, 0x0332c44e, 0x02438743, 0x023abe9c, 0x017c51ec, 0x01794352, 0x002c83d9}}}, + {X: Field{[10]uint32{0x03316210, 0x017f6239, 0x005b62d2, 0x0204af05, 0x017b87d1, 0x03918b9f, 0x00c102bd, 0x02940cfb, 0x026c0b04, 0x0019207f}}, Y: Field{[10]uint32{0x0364560d, 0x039709e3, 0x01075b26, 0x003abbcc, 0x03d4e88b, 0x00232461, 0x036538b8, 0x00ab4245, 0x00abf5f3, 0x002f306d}}}, + {X: Field{[10]uint32{0x0151a094, 0x004c1935, 0x02f4d1ff, 0x032b2b02, 0x038e4bd1, 0x03dceccf, 0x01cd3651, 0x0160febe, 0x0174722c, 0x00014d00}}, Y: Field{[10]uint32{0x01a66a8e, 0x02f88840, 0x00a41a3b, 0x016ebafe, 0x01d9e465, 0x021742a5, 0x0035180f, 0x0185b439, 0x0135448a, 0x00392408}}}, + {X: Field{[10]uint32{0x022867cc, 0x003e1493, 0x0349bb35, 0x029e4372, 0x016c9ee2, 0x015ef0cb, 0x024e08bd, 0x017135b0, 0x02aea582, 0x00301a4f}}, Y: Field{[10]uint32{0x03b9a05e, 0x0217618c, 0x00a0462c, 0x022bbf83, 0x01f4f617, 0x032e3ed5, 0x006c601b, 0x01047817, 0x034b7627, 0x0036883e}}}, + {X: Field{[10]uint32{0x00fa0d9d, 0x02dba4cf, 0x0335ca91, 0x006a0d59, 0x01e63e58, 0x02862608, 0x03f9200c, 0x00140b45, 0x037372fd, 0x00314743}}, Y: Field{[10]uint32{0x02352655, 0x02b5308b, 0x03413b3b, 0x01f4f1be, 0x03a2797a, 0x013ae5e6, 0x03ff1345, 0x01fb74b3, 0x02b207ed, 0x00234439}}}, + {X: Field{[10]uint32{0x02c3290c, 0x005837ef, 0x0059dbe3, 0x023b674b, 0x03366600, 0x022d4ab4, 0x02f79f85, 0x0266b8b6, 0x00564d2d, 0x0005a046}}, Y: Field{[10]uint32{0x012e7460, 0x03ddee8a, 0x0202d1ad, 0x0128f021, 0x033e9cc8, 0x0148b342, 0x01dbac34, 0x01e123a0, 0x01a14561, 0x000afafc}}}, + {X: Field{[10]uint32{0x000afeb5, 0x0125d21f, 0x01a0920a, 0x02695e0d, 0x030b1599, 0x01952a9b, 0x00e16225, 0x021496cb, 0x0133e143, 0x001eba52}}, Y: Field{[10]uint32{0x019b95f5, 0x00bd3d6f, 0x0390195a, 0x02dbd10f, 0x01a13b87, 0x038ccc6f, 0x00282a51, 0x0191684e, 0x0237830a, 0x0024644b}}}, + {X: Field{[10]uint32{0x0019d4ac, 0x0166684c, 0x0036b179, 0x02c156cb, 0x02c27709, 0x00b46fc2, 0x014c5f6c, 0x01daac90, 0x0197d02b, 0x0039de4b}}, Y: Field{[10]uint32{0x013f2b52, 0x02e6383b, 0x02e8d16f, 0x00528a05, 0x01dd2746, 0x01755b30, 0x00c75a0d, 0x02c5e6e6, 0x02895fce, 0x0027d365}}}, + {X: Field{[10]uint32{0x0247bde1, 0x0278d34c, 0x004f769d, 0x001bba9b, 0x003d97d7, 0x02b1e514, 0x00ff64f4, 0x0358fc93, 0x01d4946f, 0x0000bfee}}, Y: Field{[10]uint32{0x0381014f, 0x0095edfa, 0x03a9ff32, 0x00c955db, 0x02cff188, 0x038d823a, 0x016907a6, 0x0054c4af, 0x00743488, 0x00019ac7}}}, + {X: Field{[10]uint32{0x00bb2fbe, 0x01722c7b, 0x00ea3c16, 0x02e84b80, 0x01aeb6f4, 0x012b9cd4, 0x012aafab, 0x03bac450, 0x0232f90c, 0x0011512e}}, Y: Field{[10]uint32{0x038f6736, 0x0221f2e7, 0x017b3948, 0x022e0d1e, 0x002bba53, 0x000b6eff, 0x039ede9b, 0x033ba2fe, 0x03b4c2a5, 0x0018bef5}}}, + {X: Field{[10]uint32{0x0118980f, 0x0278f99e, 0x0137a1b0, 0x039e2093, 0x025d981c, 0x02319ed7, 0x02b156dd, 0x03fe89d7, 0x01b925d9, 0x000942c0}}, Y: Field{[10]uint32{0x0209c481, 0x03ae074f, 0x000ff261, 0x0185010b, 0x03eb1851, 0x01d98967, 0x032bcbe6, 0x036a1b94, 0x024a32f0, 0x002e8764}}}, + {X: Field{[10]uint32{0x02beb4d2, 0x0387fb82, 0x030f5ecb, 0x004e4078, 0x0262e0b8, 0x00ba58bb, 0x00468073, 0x017f71cc, 0x02541f2a, 0x00273cc3}}, Y: Field{[10]uint32{0x01510723, 0x035528ed, 0x00741c6b, 0x03ad959f, 0x02848259, 0x02aa3fd8, 0x0201d14b, 0x02ddec65, 0x02cd1281, 0x001f2c91}}}, + {X: Field{[10]uint32{0x02285a2c, 0x005ec695, 0x01c03cd2, 0x03293c47, 0x01b5a90e, 0x0254213b, 0x013be124, 0x0287823e, 0x00b13c61, 0x003b727a}}, Y: Field{[10]uint32{0x021e1f3d, 0x03e67f98, 0x01fda5e9, 0x02168bf7, 0x01b0e8df, 0x02320198, 0x0143b1b5, 0x03eb1d3f, 0x012107e8, 0x0019b0bf}}}, + {X: Field{[10]uint32{0x01e2c66e, 0x020b1c3c, 0x036b6970, 0x000acf76, 0x02cae9d0, 0x009ee06e, 0x02a41649, 0x029260aa, 0x015f8388, 0x0037650a}}, Y: Field{[10]uint32{0x00d6706b, 0x03af0602, 0x00f4bfd3, 0x02c920b6, 0x033b08c2, 0x007eb20f, 0x00d9e8cb, 0x0307aa6f, 0x020cd409, 0x0020e301}}}, + {X: Field{[10]uint32{0x0285ab7e, 0x01d14d41, 0x0087692f, 0x037742b1, 0x0296e96d, 0x02ff1cd3, 0x000d3b35, 0x02f92397, 0x0204dfc0, 0x001f81a3}}, Y: Field{[10]uint32{0x02c70d0a, 0x02100793, 0x036462c8, 0x0021e620, 0x0369351e, 0x024fc52f, 0x00052e60, 0x00972341, 0x014690d2, 0x0037cb34}}}, + {X: Field{[10]uint32{0x009a5052, 0x010fce65, 0x0217a21f, 0x01cdf7b0, 0x00b7c2a0, 0x01b10e68, 0x02e659f7, 0x02b26c11, 0x03cfd10a, 0x001cea6f}}, Y: Field{[10]uint32{0x03be10dd, 0x01092a6c, 0x00ec24a1, 0x03da46a7, 0x03bf379d, 0x023e1b2f, 0x002062c0, 0x02c1481a, 0x01293ea7, 0x001cee45}}}, + {X: Field{[10]uint32{0x0008c55b, 0x0211fb35, 0x0205adaa, 0x012fda6f, 0x0055cc22, 0x0216026f, 0x0234678d, 0x031d539b, 0x03840c8c, 0x003bf77f}}, Y: Field{[10]uint32{0x02f188d5, 0x01b75b70, 0x013fc173, 0x0228ed9c, 0x008aac21, 0x03116d2b, 0x026ed7e0, 0x02aacbbf, 0x03418264, 0x00197763}}}, + {X: Field{[10]uint32{0x03d73f4b, 0x015a23af, 0x03585756, 0x016c5c69, 0x01dc264f, 0x010e1b76, 0x023d6dfa, 0x00e13634, 0x01857118, 0x0011aa51}}, Y: Field{[10]uint32{0x01aaf35c, 0x03004699, 0x02a6d256, 0x03a3a37c, 0x031e684e, 0x0239fd85, 0x03f16cb3, 0x03063d36, 0x037ea298, 0x000f796b}}}, + {X: Field{[10]uint32{0x0021cd3f, 0x03a91fce, 0x0193b910, 0x02326b5b, 0x0045dd0c, 0x038582a5, 0x02fa17bb, 0x03099752, 0x01b27ce3, 0x001a243b}}, Y: Field{[10]uint32{0x03cbd1ab, 0x008103dd, 0x03852dd2, 0x03abad9e, 0x037c24be, 0x02a200aa, 0x00810a7c, 0x01525336, 0x005b10ef, 0x00183d1f}}}, + {X: Field{[10]uint32{0x0205f5ae, 0x02d12d0a, 0x0288d952, 0x03087d55, 0x01e33e68, 0x01e89470, 0x02c4b328, 0x0221aa07, 0x02b6340b, 0x00023327}}, Y: Field{[10]uint32{0x007fb6eb, 0x022fc08c, 0x01c95507, 0x01c05432, 0x01f03238, 0x02f11d6e, 0x011981a3, 0x020a4224, 0x030d90e3, 0x0026c5da}}}, + {X: Field{[10]uint32{0x015b0475, 0x007f8a92, 0x00e0b0fd, 0x03809b25, 0x01227875, 0x025b3785, 0x0001ccae, 0x03782d60, 0x035ada48, 0x000ac18b}}, Y: Field{[10]uint32{0x031eab0d, 0x00d4e40b, 0x0280548b, 0x02523bfd, 0x02da9de9, 0x02fc5c9d, 0x0097bad4, 0x01c31420, 0x00683d51, 0x0014dfc7}}}, + {X: Field{[10]uint32{0x037240f9, 0x01ea2fae, 0x0008252d, 0x037c9fcc, 0x01cd358b, 0x0093a48c, 0x032ff7f2, 0x0354fd0c, 0x011a84b3, 0x0037556e}}, Y: Field{[10]uint32{0x012a5c94, 0x02064206, 0x0158bff6, 0x01ce8eb0, 0x01774d21, 0x037bbe5a, 0x03376094, 0x0194c3b5, 0x0208a40b, 0x00039bc6}}}, + {X: Field{[10]uint32{0x02c59c70, 0x032592bc, 0x01e7516f, 0x02035c54, 0x008986fd, 0x01e0bb8b, 0x000cdb1c, 0x02a5e51b, 0x03e040b1, 0x002b1449}}, Y: Field{[10]uint32{0x03ae5db9, 0x017a806d, 0x038e2476, 0x025e202b, 0x038afbb0, 0x01d9164f, 0x020a82e1, 0x0014e776, 0x0249323d, 0x00212788}}}, + {X: Field{[10]uint32{0x01311123, 0x0084b06d, 0x034bff72, 0x008c54c5, 0x039d1364, 0x038776b9, 0x004e9ce1, 0x033a68de, 0x02daf0b6, 0x0037cbcb}}, Y: Field{[10]uint32{0x006d46a5, 0x031d7dba, 0x027bedba, 0x01105880, 0x02fde6ab, 0x01991009, 0x02da64f4, 0x02f080c5, 0x038ebd78, 0x002e7663}}}, + {X: Field{[10]uint32{0x0373e5f9, 0x03e4f5e8, 0x0002773f, 0x03d0fec2, 0x0097bdc5, 0x00844d84, 0x0385e216, 0x0305d88e, 0x0387d630, 0x003f60ec}}, Y: Field{[10]uint32{0x036cd2ee, 0x019c2daa, 0x00837d3c, 0x02f0e10e, 0x01115805, 0x0303f772, 0x03503d40, 0x00d69675, 0x027d375f, 0x0026a58a}}}, + {X: Field{[10]uint32{0x02cac4df, 0x03ae384c, 0x00c9505f, 0x0079081b, 0x00d565ca, 0x028ffaaa, 0x02ad443b, 0x0322b22f, 0x03c1155e, 0x00363ef7}}, Y: Field{[10]uint32{0x011f73ac, 0x02697a9d, 0x03abc9cb, 0x03587e58, 0x027fb1fc, 0x03afdd90, 0x01258edf, 0x0272d1ce, 0x000fccb9, 0x003e514f}}}, + {X: Field{[10]uint32{0x03bf86d6, 0x00443037, 0x010ddc89, 0x01cae08d, 0x0285f008, 0x01aabcf5, 0x03093891, 0x03a3006c, 0x009a20a3, 0x0027f25d}}, Y: Field{[10]uint32{0x023e19df, 0x0129e661, 0x02379109, 0x02eb9d69, 0x0075c85c, 0x0023c3c6, 0x033bca70, 0x02b1655d, 0x01a76c92, 0x0028bd9e}}}, + {X: Field{[10]uint32{0x03476a3f, 0x032057cb, 0x00f62b58, 0x024b4dca, 0x0365b810, 0x038865ae, 0x02bcf252, 0x0073a6f6, 0x034671a9, 0x000a7838}}, Y: Field{[10]uint32{0x00d0c0e6, 0x02f5a635, 0x039d4174, 0x002aad0b, 0x011ce5ad, 0x0319ac98, 0x00a35fb9, 0x002b91e6, 0x0061b82e, 0x000bd103}}}, + {X: Field{[10]uint32{0x02e102d7, 0x01ad4642, 0x0278f873, 0x002ea1bb, 0x007fbee7, 0x0330f7ee, 0x03e6f929, 0x015683c9, 0x02153989, 0x003901a2}}, Y: Field{[10]uint32{0x03165086, 0x0279a623, 0x014e77d6, 0x010c1d1f, 0x0016b911, 0x012a68d4, 0x01999438, 0x0272dabb, 0x02ad550f, 0x0028fcbc}}}, + {X: Field{[10]uint32{0x026c9f2c, 0x01080a1c, 0x0109248a, 0x01934f55, 0x0010f163, 0x0132065e, 0x03156c8a, 0x0366262e, 0x0210bb1b, 0x00146d17}}, Y: Field{[10]uint32{0x03e141a2, 0x023256f8, 0x03f6bb47, 0x01452315, 0x008a1f1d, 0x00004330, 0x01ac4797, 0x03798ca0, 0x01d04225, 0x0038c1c6}}}, + {X: Field{[10]uint32{0x02a0b83e, 0x032fe96a, 0x005acf6f, 0x00bf5683, 0x0164dc49, 0x01b18ecf, 0x02ec2e60, 0x02dad7a4, 0x01297b8a, 0x00053357}}, Y: Field{[10]uint32{0x03666805, 0x00af5df8, 0x033279b7, 0x01c0a91a, 0x015be192, 0x02c71f63, 0x01ad1faf, 0x032198d2, 0x03d77cdc, 0x0016fcc1}}}, + {X: Field{[10]uint32{0x022c4da6, 0x03376d74, 0x0168f8c3, 0x037d067b, 0x0045e9f2, 0x027060a2, 0x02254cae, 0x03451b0c, 0x031149d6, 0x00296a29}}, Y: Field{[10]uint32{0x00bf6c2e, 0x002eeb4f, 0x012d549c, 0x0205e0cf, 0x00b003f4, 0x0158e6fc, 0x00ae6933, 0x034d16bd, 0x00877bc3, 0x0027d1f6}}}, + {X: Field{[10]uint32{0x039372cb, 0x01303107, 0x038f999a, 0x0394b31d, 0x01bda494, 0x00519893, 0x01b13ddd, 0x0108cb5d, 0x00d24baa, 0x000d64ca}}, Y: Field{[10]uint32{0x001af6d8, 0x0206b3c9, 0x03050a78, 0x01f5923d, 0x03b6695d, 0x0323da02, 0x0084afe0, 0x00e67a64, 0x02b571df, 0x0034c555}}}, + {X: Field{[10]uint32{0x0273e7fd, 0x03e56f79, 0x005e891a, 0x0304349b, 0x00c8fdac, 0x02407b6c, 0x0268a12d, 0x0168b05c, 0x01ca4f2a, 0x00327ae0}}, Y: Field{[10]uint32{0x008adb66, 0x034a5092, 0x008df76e, 0x0394d558, 0x035acb73, 0x026fef5a, 0x01ae19cd, 0x03fa69c4, 0x012fc974, 0x001b5294}}}, + {X: Field{[10]uint32{0x02ca8e2c, 0x037979b0, 0x01f386cc, 0x00c093d0, 0x0248e557, 0x02d840b8, 0x00c9f90e, 0x02cc22b1, 0x01f816f3, 0x0038998c}}, Y: Field{[10]uint32{0x039306bd, 0x011857fa, 0x0224858a, 0x00502f56, 0x0396cfb8, 0x00146094, 0x01e2f102, 0x03b34059, 0x02a8823a, 0x0005b82c}}}, + {X: Field{[10]uint32{0x019110ba, 0x020d57fe, 0x029658db, 0x03e68ec2, 0x02677e5a, 0x01a711cc, 0x0007b242, 0x039f941e, 0x02f365c0, 0x003ddba6}}, Y: Field{[10]uint32{0x012a9407, 0x032c04ef, 0x021028a0, 0x018a5ab6, 0x019d174c, 0x0217e759, 0x02f25423, 0x00593af6, 0x0039d26f, 0x002032fd}}}, + {X: Field{[10]uint32{0x012c5dd9, 0x03d89c21, 0x03421e65, 0x01521079, 0x00bc333d, 0x02a23f38, 0x01d6ab69, 0x00520ca5, 0x005baf89, 0x00373205}}, Y: Field{[10]uint32{0x031e2a19, 0x031866bc, 0x01480cca, 0x03360362, 0x00296155, 0x000d8eec, 0x00d6cd16, 0x039ea6d0, 0x0370a620, 0x0033b6cd}}}, + {X: Field{[10]uint32{0x0203e4fd, 0x00feb4f1, 0x03847ed3, 0x010107b6, 0x007660bc, 0x02ba4c06, 0x02a199ec, 0x01343e95, 0x013a6a1c, 0x001d9178}}, Y: Field{[10]uint32{0x0291e713, 0x01308b2f, 0x002ee186, 0x014ec8b1, 0x02bcfc53, 0x036a2434, 0x01eccbb5, 0x03975449, 0x011b7990, 0x001f23a9}}}, + {X: Field{[10]uint32{0x022f3f25, 0x00acc627, 0x00fb4422, 0x01751788, 0x01465822, 0x00706daf, 0x027210d5, 0x02f3bebf, 0x006ed74c, 0x002e89a2}}, Y: Field{[10]uint32{0x02b3409d, 0x01436e28, 0x02893bdf, 0x009dcd67, 0x01e0b896, 0x02ee8c9b, 0x025fa64a, 0x02b7ba79, 0x01b223dd, 0x003f6217}}}, + {X: Field{[10]uint32{0x01050fe1, 0x03486946, 0x02c92299, 0x023579e4, 0x000fc657, 0x029497a0, 0x01bda654, 0x016c7640, 0x00e13100, 0x001a2d40}}, Y: Field{[10]uint32{0x0312f96b, 0x001757da, 0x0202207e, 0x009e0f80, 0x008df9b1, 0x01f6951a, 0x01ac8e87, 0x012a53cf, 0x017ab354, 0x001c7bdf}}}, + {X: Field{[10]uint32{0x027996ff, 0x03a9d6b6, 0x01064b84, 0x03265029, 0x035b19f7, 0x00b1be81, 0x03f851f1, 0x02a0f09f, 0x03e2613f, 0x000b3329}}, Y: Field{[10]uint32{0x03d7707f, 0x02b83cc9, 0x005703c6, 0x023c2fb5, 0x03cf37af, 0x03164e42, 0x01b2d2f0, 0x006b4343, 0x022222dd, 0x0016adc2}}}, + {X: Field{[10]uint32{0x03179f14, 0x03d369bd, 0x033c1827, 0x03013573, 0x00383ad9, 0x032db729, 0x01af7183, 0x0291686d, 0x012d6a56, 0x001b5e5f}}, Y: Field{[10]uint32{0x000edf3f, 0x0189547a, 0x02ea67b1, 0x0078568e, 0x03b80e54, 0x035bd6a2, 0x0284bee7, 0x03463667, 0x00e5d203, 0x0002ab8d}}}, + {X: Field{[10]uint32{0x018ee327, 0x001665ba, 0x027b5116, 0x0160157d, 0x009a565a, 0x025a94f9, 0x013751ad, 0x01dac655, 0x03c437be, 0x002a9a65}}, Y: Field{[10]uint32{0x00684835, 0x0030cf03, 0x034cb3cc, 0x01de87d3, 0x036532e2, 0x038bd7c6, 0x018a15b2, 0x0103825a, 0x00219cdb, 0x00180d29}}}, + {X: Field{[10]uint32{0x022a0f48, 0x00316fae, 0x02dead01, 0x02137006, 0x0201e624, 0x02c3e25f, 0x005d53a7, 0x0075c28d, 0x03bffb8e, 0x0015b103}}, Y: Field{[10]uint32{0x02f0bd01, 0x032daa91, 0x01f4c458, 0x01e1f8a6, 0x01676a4a, 0x01cf632a, 0x03a0e091, 0x024a409e, 0x0389078b, 0x003a7419}}}, + {X: Field{[10]uint32{0x03918d89, 0x0240f545, 0x010731d2, 0x00dca94d, 0x01b6e1e2, 0x02d4b0f7, 0x0262be08, 0x03b5ef70, 0x02a83963, 0x0036dbfd}}, Y: Field{[10]uint32{0x01951769, 0x02dc461f, 0x03bdc162, 0x019435d5, 0x030e248d, 0x00513283, 0x02f6b18c, 0x03f512d0, 0x02fa0f30, 0x00290044}}}, + {X: Field{[10]uint32{0x03402c6d, 0x03286018, 0x01de4151, 0x01cdd539, 0x03dcdd11, 0x02950c04, 0x00e730d4, 0x018f88ce, 0x0301a46f, 0x00237d55}}, Y: Field{[10]uint32{0x03a1c3df, 0x0344b755, 0x02a93b9d, 0x0196f227, 0x02b3e696, 0x0122efd8, 0x016ddafb, 0x00ffc04e, 0x009a64b6, 0x001933e7}}}, + {X: Field{[10]uint32{0x030588a1, 0x03d22806, 0x00af37be, 0x033b7896, 0x0166485c, 0x01775791, 0x03ae460e, 0x023d5d01, 0x002c5101, 0x0027442f}}, Y: Field{[10]uint32{0x00922c04, 0x0324e261, 0x02ac2fcb, 0x00baba83, 0x01726b30, 0x000f7fae, 0x01ebe44e, 0x0385c5fb, 0x0008b2a4, 0x000e3a8f}}}, + {X: Field{[10]uint32{0x03640367, 0x02e601cd, 0x03e662e4, 0x01ec3f39, 0x02056025, 0x0080581b, 0x027a7068, 0x029e1cb2, 0x0075cc07, 0x0004eef2}}, Y: Field{[10]uint32{0x00c2c708, 0x011d2c70, 0x007697fe, 0x02bf5bd5, 0x02d2ea3d, 0x02abc6c7, 0x00a19acb, 0x00a99b63, 0x031a47c8, 0x002d3365}}}, + {X: Field{[10]uint32{0x02a9c3e1, 0x03273257, 0x02b1e24e, 0x028c4f24, 0x011857d9, 0x00369b72, 0x0147630d, 0x02c5d372, 0x0037f617, 0x0023c9b7}}, Y: Field{[10]uint32{0x033f15ef, 0x03ddb839, 0x0375bd5c, 0x03f0554c, 0x00f887f2, 0x01646b11, 0x00238776, 0x02fc9d39, 0x03031d96, 0x000e1228}}}, + {X: Field{[10]uint32{0x007b5f21, 0x0295e693, 0x01041ad3, 0x026c4419, 0x03a23e0d, 0x01836f84, 0x015236f6, 0x0245bd79, 0x003df290, 0x000b8795}}, Y: Field{[10]uint32{0x01473846, 0x002b4bed, 0x02d28ff1, 0x020ca3f8, 0x03947bc0, 0x00610d2d, 0x00cd9f32, 0x00176b04, 0x0127626e, 0x00221691}}}, + {X: Field{[10]uint32{0x023f3109, 0x02020b3b, 0x0385a123, 0x0143a31e, 0x018bed8f, 0x00fada6d, 0x0076936e, 0x027aa2ee, 0x00a3e050, 0x00320f0b}}, Y: Field{[10]uint32{0x029cd5ed, 0x01f0cc4c, 0x00c0e3b0, 0x01d54c07, 0x0074b75e, 0x00276955, 0x030da10d, 0x02378ac2, 0x02a9bc80, 0x000ae580}}}, + {X: Field{[10]uint32{0x03d29607, 0x0347eaf4, 0x02700578, 0x00724181, 0x01afee8b, 0x038e14c4, 0x024111ae, 0x005394c9, 0x03b4e2c1, 0x00231e40}}, Y: Field{[10]uint32{0x01025731, 0x011cddbc, 0x01b2528d, 0x000620a6, 0x00b488c4, 0x00a8d0fa, 0x02ebea9a, 0x03e53407, 0x02d1964d, 0x003740b6}}}, + {X: Field{[10]uint32{0x02569cc0, 0x029a0769, 0x009bda38, 0x02199532, 0x01b51857, 0x00707ae1, 0x00adfc6c, 0x01d732cc, 0x0054dd75, 0x0012098f}}, Y: Field{[10]uint32{0x0213167f, 0x037ee204, 0x03955dda, 0x017d572d, 0x02e223ac, 0x00964dba, 0x0198e49a, 0x02d4a03b, 0x03bddacd, 0x0039bc41}}}, + {X: Field{[10]uint32{0x02f0d2d3, 0x02c95185, 0x0227495f, 0x009f153b, 0x00accb71, 0x00f35766, 0x018644c6, 0x007d61e4, 0x010aea7d, 0x001a9f01}}, Y: Field{[10]uint32{0x0021e232, 0x01c95bb6, 0x0154628d, 0x020ed2ec, 0x02f80f73, 0x00226c32, 0x03f733dc, 0x0191b8d2, 0x026127a2, 0x003eb464}}}, + {X: Field{[10]uint32{0x035c3ea8, 0x0168661f, 0x01a3bf10, 0x02683331, 0x030ece87, 0x00c72c27, 0x01147dcc, 0x03080b7e, 0x013f62fb, 0x00387c29}}, Y: Field{[10]uint32{0x01706277, 0x02483c79, 0x01d8dcfe, 0x024bf8b9, 0x003968f6, 0x0100dde0, 0x03148489, 0x03a8c030, 0x010f0b0e, 0x000e4c28}}}, + {X: Field{[10]uint32{0x03182b7b, 0x00999d74, 0x0213b485, 0x0029b539, 0x02da9b6a, 0x02293219, 0x026efcae, 0x03296ff5, 0x0113cb0f, 0x002f03ec}}, Y: Field{[10]uint32{0x03090f31, 0x02871b2f, 0x0060131c, 0x01581d17, 0x0037892c, 0x00fb2c52, 0x0315f691, 0x03baef49, 0x025e6993, 0x0038479c}}}, + {X: Field{[10]uint32{0x0342f908, 0x02c0ca72, 0x034fe266, 0x0285d284, 0x030ee7e6, 0x027ab9ed, 0x03f9ebf8, 0x023d2192, 0x00f49c43, 0x0007f968}}, Y: Field{[10]uint32{0x0275f66c, 0x03584271, 0x0379b35a, 0x012b3a6d, 0x02069451, 0x03e9ed65, 0x033878bc, 0x0190724a, 0x01cef912, 0x0036e025}}}, + {X: Field{[10]uint32{0x02524cd4, 0x010c82aa, 0x00f6de43, 0x020cfcf2, 0x00ade6ea, 0x02afe94f, 0x02e61aae, 0x01c00be9, 0x01b49016, 0x001778ff}}, Y: Field{[10]uint32{0x007e08f0, 0x01615e45, 0x00535dc1, 0x028f57a6, 0x016d7e9c, 0x02346b0a, 0x004a1dd8, 0x035b3acd, 0x0288862a, 0x002d72f7}}}, + {X: Field{[10]uint32{0x023da54f, 0x02ff2f00, 0x020738ad, 0x00b78865, 0x02b2964f, 0x02529916, 0x02b0be62, 0x037f3d7b, 0x0193a913, 0x0024ec1a}}, Y: Field{[10]uint32{0x012ae0b8, 0x01285352, 0x0107c4d1, 0x03607a2d, 0x029c151a, 0x0328f1f8, 0x007330ef, 0x02dd1106, 0x002f856c, 0x001e0d9e}}}, + {X: Field{[10]uint32{0x02762f0c, 0x02de1823, 0x01851886, 0x026f8e05, 0x009c3336, 0x01ac1578, 0x005a044f, 0x001d079a, 0x000d27d9, 0x0001c15d}}, Y: Field{[10]uint32{0x033d956e, 0x01772645, 0x03c55d3f, 0x00c87eec, 0x00b2142b, 0x00a7c4ab, 0x013193b5, 0x011b1a7a, 0x03bb738d, 0x00312963}}}, + {X: Field{[10]uint32{0x0193e296, 0x00687847, 0x0086434a, 0x019d8410, 0x02e5b787, 0x0254c3c2, 0x00a20e19, 0x015499cd, 0x0000fc48, 0x001d8668}}, Y: Field{[10]uint32{0x006ebed6, 0x02fa1b41, 0x032014f8, 0x01d5dc80, 0x01ab26f6, 0x028b3ad6, 0x03a0afe0, 0x011e73db, 0x01e1182f, 0x001fcc03}}}, + {X: Field{[10]uint32{0x019ff2fe, 0x0150a296, 0x0060dbec, 0x02d8e139, 0x01cc0d54, 0x00a0504f, 0x01346fcd, 0x014805b3, 0x01a8ddbb, 0x003f883d}}, Y: Field{[10]uint32{0x002d879c, 0x02a4ae49, 0x02e0bae7, 0x01ead3b2, 0x01338cf4, 0x02655ec3, 0x02be551f, 0x0121c6bf, 0x02e6e260, 0x0016d222}}}, + {X: Field{[10]uint32{0x02ad11e2, 0x03878fd0, 0x00b84422, 0x00862ae2, 0x01707681, 0x00f1d47e, 0x0129e077, 0x014b3cb7, 0x0327ba7e, 0x002656e5}}, Y: Field{[10]uint32{0x037fd26e, 0x03d71b4b, 0x0391f42a, 0x0217e416, 0x0049c8d5, 0x00a6f62e, 0x02c5e5f5, 0x0051a313, 0x01c97ee4, 0x0030f277}}}, + {X: Field{[10]uint32{0x002b3136, 0x01f0909c, 0x02a16e26, 0x02836130, 0x01636d26, 0x01458648, 0x02913445, 0x0135f1e7, 0x024d2ca9, 0x0032d3cb}}, Y: Field{[10]uint32{0x003ddb9b, 0x021e77a0, 0x02e49bbb, 0x01c5e9a3, 0x031b9b2f, 0x03df8ae2, 0x000df480, 0x01039b3c, 0x02ee3949, 0x000857ad}}}, + {X: Field{[10]uint32{0x01fce397, 0x00b095ae, 0x00e6fc72, 0x02757869, 0x034572b6, 0x019a3ad9, 0x00b10707, 0x024512eb, 0x025634b4, 0x0032828a}}, Y: Field{[10]uint32{0x03f4841b, 0x023ae0b4, 0x01ebfe95, 0x029c2f6d, 0x036e2562, 0x01ab69e9, 0x0098c855, 0x00beee94, 0x00c974ab, 0x002481e7}}}, + {X: Field{[10]uint32{0x03af7c7b, 0x01ae48b8, 0x00246acd, 0x02259ed3, 0x02bfadde, 0x013bc58e, 0x02f27a02, 0x0302bf5c, 0x032dc6c0, 0x003ee08c}}, Y: Field{[10]uint32{0x0134c7ee, 0x0315032a, 0x030c660d, 0x02646733, 0x032b90d3, 0x038b12c6, 0x00beaa52, 0x02da40ce, 0x0119f21c, 0x00069a5c}}}, + {X: Field{[10]uint32{0x00513dd2, 0x03b10a97, 0x006736af, 0x02818f6d, 0x02d07550, 0x008062f5, 0x02184a4e, 0x0237bc83, 0x0205d925, 0x003415bb}}, Y: Field{[10]uint32{0x0015bffb, 0x0366632f, 0x0031c276, 0x03135a37, 0x0389ab0f, 0x0006b5c9, 0x027cfb62, 0x038d599f, 0x01d0d222, 0x0002bcb0}}}, + {X: Field{[10]uint32{0x02526f12, 0x028494d0, 0x007267ae, 0x004b360a, 0x01c63257, 0x02dde18d, 0x0046c594, 0x01098b10, 0x0222c658, 0x000feb6c}}, Y: Field{[10]uint32{0x0199ae96, 0x019adfb0, 0x02717586, 0x0387aae1, 0x03d181e0, 0x02875d2d, 0x00a7e8bf, 0x00474e13, 0x0007fa68, 0x00369723}}}, + {X: Field{[10]uint32{0x019c4b61, 0x01098ec7, 0x029248ab, 0x023bed9f, 0x03214b81, 0x0274f914, 0x01915dd3, 0x03943977, 0x0169e222, 0x00349eb2}}, Y: Field{[10]uint32{0x033a1c7f, 0x02529db2, 0x03f6f9b4, 0x016b6079, 0x0209a7c5, 0x02100c8d, 0x02709a32, 0x034c15b9, 0x0294baea, 0x0031215d}}}, + {X: Field{[10]uint32{0x02c565d4, 0x0103c05c, 0x02cbcd93, 0x00064686, 0x0399cd3a, 0x03ff5a7b, 0x03a4324b, 0x006b9a97, 0x01b48b98, 0x001048de}}, Y: Field{[10]uint32{0x00fa280e, 0x034fa1ff, 0x023abac9, 0x00ec9154, 0x03c75505, 0x02f9aad5, 0x02523e7e, 0x0393c0b2, 0x02c9c7db, 0x003c900d}}}, + {X: Field{[10]uint32{0x039336f1, 0x037ea8fd, 0x003eace9, 0x027ec849, 0x01bef790, 0x018f4029, 0x028cc3b6, 0x01304ee6, 0x02aa9937, 0x003608d3}}, Y: Field{[10]uint32{0x02755c27, 0x03e412db, 0x00e5cb1f, 0x03e47720, 0x001845d8, 0x00a4aeaf, 0x03c15930, 0x0197d9a8, 0x028ec4b4, 0x0002e32f}}}, + {X: Field{[10]uint32{0x01189009, 0x02ebca97, 0x03bbe47f, 0x00e8f61d, 0x00427d32, 0x03634f00, 0x000ea349, 0x03fe72eb, 0x033568c5, 0x00109be2}}, Y: Field{[10]uint32{0x0100586d, 0x010e672f, 0x03bfd7dc, 0x01fde214, 0x019931f5, 0x01f2e0ae, 0x03a1ba72, 0x00f1ee71, 0x013dce02, 0x0013808a}}}, + {X: Field{[10]uint32{0x0097dfa5, 0x009d8291, 0x036ccfe7, 0x01bb1e03, 0x01871757, 0x0272971e, 0x012a7fdc, 0x017cb090, 0x02f902ee, 0x003c71c1}}, Y: Field{[10]uint32{0x03b7e740, 0x0173eb0a, 0x004d59f8, 0x02575ae7, 0x009ef758, 0x006826e1, 0x01787005, 0x01570ece, 0x01a1727f, 0x00317868}}}, + {X: Field{[10]uint32{0x02c2c679, 0x03c61a4d, 0x00b67608, 0x00799d66, 0x03598200, 0x0094d5ad, 0x00d66825, 0x01661e5a, 0x007ecc1d, 0x002138b8}}, Y: Field{[10]uint32{0x0028555a, 0x01ce19b3, 0x03bb6281, 0x03dbd6d0, 0x012903f4, 0x01ff3ae9, 0x0275a8ab, 0x03b3732f, 0x03438ab5, 0x00106ac4}}}, + {X: Field{[10]uint32{0x02ad2b54, 0x0226d01d, 0x020689c6, 0x002fbc3d, 0x023d599b, 0x028633da, 0x02bb6993, 0x01608d12, 0x02c2fe53, 0x001e4d7b}}, Y: Field{[10]uint32{0x03371910, 0x033ef554, 0x01b406c4, 0x02b78f5d, 0x01b77480, 0x0393d721, 0x00ed574f, 0x022186db, 0x016aab97, 0x00338bf2}}}, + {X: Field{[10]uint32{0x00dbd9a0, 0x029a8c2c, 0x0383927a, 0x02250878, 0x013e8c26, 0x0368e802, 0x01abbef9, 0x01b55ade, 0x00a8319f, 0x003550a9}}, Y: Field{[10]uint32{0x038173e1, 0x01e6bb1e, 0x037a4f19, 0x00326161, 0x026badb7, 0x00654681, 0x019f3e9c, 0x0217aa3e, 0x016265d2, 0x00144128}}}, + {X: Field{[10]uint32{0x00ece2be, 0x009f6691, 0x0232fd3c, 0x02e49bec, 0x00041011, 0x000e049b, 0x02f0157a, 0x02624012, 0x02194228, 0x002f1a49}}, Y: Field{[10]uint32{0x0252f3bc, 0x00da71ff, 0x034f9847, 0x00bb6c97, 0x0311e202, 0x032e3bdd, 0x032e8543, 0x0298c24d, 0x00c147e2, 0x00238bc4}}}, + {X: Field{[10]uint32{0x018d8d03, 0x0086fd74, 0x03e51f45, 0x024257d0, 0x00ae079a, 0x0122ad94, 0x02cdd80b, 0x0230237a, 0x0336bb17, 0x003af86d}}, Y: Field{[10]uint32{0x01db7514, 0x0028bab3, 0x02bbb0cd, 0x0187f23b, 0x03782f20, 0x00aa049a, 0x0378ef4b, 0x01437917, 0x02590b14, 0x002b6071}}}, + {X: Field{[10]uint32{0x01e2774c, 0x014b7b2e, 0x03e7bde1, 0x012a4e0a, 0x02666d09, 0x03e3c158, 0x01f887ad, 0x0214f93f, 0x010849e1, 0x003989ae}}, Y: Field{[10]uint32{0x034834ea, 0x004ffe43, 0x027c30f5, 0x010b1658, 0x002dca73, 0x033ee1d6, 0x02ab4062, 0x00a89c32, 0x01daa419, 0x002433d5}}}, + {X: Field{[10]uint32{0x00381e67, 0x021ea739, 0x000b61a9, 0x0072f1eb, 0x000d8f57, 0x0291453c, 0x013b8b5b, 0x021e488c, 0x0057ba04, 0x003ee9e8}}, Y: Field{[10]uint32{0x029ec44a, 0x03b9ebb5, 0x000f718c, 0x0243b94c, 0x037cea5b, 0x016295fa, 0x005133f9, 0x014eeafc, 0x03fc1426, 0x001f4abd}}}, + {X: Field{[10]uint32{0x00c35a54, 0x02f9a265, 0x039ea1e3, 0x01691595, 0x03023973, 0x01c0cf99, 0x02e5bdb5, 0x01460568, 0x03955b5d, 0x00051336}}, Y: Field{[10]uint32{0x0253f1e6, 0x021e9dd8, 0x02a83919, 0x023e28ba, 0x03ed0a10, 0x0204d6d2, 0x0150d2b0, 0x03f16600, 0x0389e896, 0x0039805b}}}, + {X: Field{[10]uint32{0x003c0a24, 0x009787c6, 0x01eb681c, 0x023c099e, 0x03ad28cd, 0x02566767, 0x034a2d1a, 0x006d7b35, 0x026ee7ab, 0x00014e37}}, Y: Field{[10]uint32{0x00121004, 0x021012c5, 0x009601de, 0x01cc84f4, 0x012482b9, 0x016ce281, 0x01bac87d, 0x00464d6f, 0x03477961, 0x000db029}}}, + {X: Field{[10]uint32{0x03c03794, 0x001856ba, 0x02f2e9d1, 0x029c152f, 0x007876eb, 0x018edd5f, 0x00a38062, 0x01cfb883, 0x030fd28f, 0x001da453}}, Y: Field{[10]uint32{0x03a12642, 0x00c1a00c, 0x0008ec39, 0x014be7e2, 0x00593307, 0x0189b18b, 0x03557861, 0x0156fc88, 0x01cae168, 0x001b7893}}}, + {X: Field{[10]uint32{0x0234e4a7, 0x00caeaa7, 0x000af27e, 0x02eea960, 0x0186bee7, 0x03244bca, 0x015f7f96, 0x03df6bd6, 0x026cf675, 0x001a6457}}, Y: Field{[10]uint32{0x039513c9, 0x00b3c88a, 0x00d56df7, 0x006ddd9d, 0x03139bc3, 0x0374b68e, 0x0353c918, 0x026155de, 0x03c02f10, 0x0018253e}}}, + {X: Field{[10]uint32{0x00ce3015, 0x02ea11c6, 0x03e5d859, 0x00d790a1, 0x022c37eb, 0x02e4460b, 0x0142dcfd, 0x0353f6fa, 0x020c900b, 0x0013b9b0}}, Y: Field{[10]uint32{0x0062cd64, 0x03543cc8, 0x00f7590e, 0x0319311f, 0x0142e2a9, 0x030a4f4f, 0x0338e668, 0x0186312d, 0x0369863d, 0x00212b25}}}, + {X: Field{[10]uint32{0x00a0fa61, 0x01c5e5a2, 0x02c6ad22, 0x00442be7, 0x01aa5982, 0x01323160, 0x00e11dca, 0x03e28e3b, 0x001af57b, 0x0029a04f}}, Y: Field{[10]uint32{0x038edca4, 0x00ba0256, 0x000e1d18, 0x026f7168, 0x01d415c9, 0x0263ecbc, 0x03e2335e, 0x0258c56d, 0x034df4e2, 0x00190809}}}, + {X: Field{[10]uint32{0x010fce84, 0x03f9aadc, 0x03d6c0fd, 0x01ddbb94, 0x0269d910, 0x01d76d27, 0x01fc7432, 0x00a25c93, 0x03b7107b, 0x00108400}}, Y: Field{[10]uint32{0x02f9427f, 0x023ccf1d, 0x0002ac21, 0x021ceaa0, 0x020a9320, 0x022f3fa9, 0x01cb1498, 0x010e570c, 0x01697b92, 0x0032e555}}}, + {X: Field{[10]uint32{0x00c8c522, 0x002f7192, 0x02df8fc6, 0x02616d51, 0x015e1252, 0x02b3d7c9, 0x009d362e, 0x0313f100, 0x01e10cb8, 0x000272c6}}, Y: Field{[10]uint32{0x03d70d12, 0x03a253b1, 0x036231b7, 0x0382416f, 0x028fd286, 0x035f3fe1, 0x0220e70e, 0x039a2d8f, 0x01d32c6e, 0x00089c05}}}, + {X: Field{[10]uint32{0x03b953c2, 0x00d8d8a2, 0x03704362, 0x012dd78c, 0x03c4a7ac, 0x038b3832, 0x03412d64, 0x01623ce3, 0x01968193, 0x0031d04d}}, Y: Field{[10]uint32{0x0108aa6b, 0x01d7bd2a, 0x008019ae, 0x03c949de, 0x015e1d70, 0x03b05ace, 0x02dd4c90, 0x03135b48, 0x03a01b7c, 0x001efb9f}}}, + {X: Field{[10]uint32{0x01df22cc, 0x00b99d98, 0x02cec9dc, 0x02603a1b, 0x00c2f8e3, 0x02a5f319, 0x03ac1ea8, 0x01249ba3, 0x0205321f, 0x000aa3a2}}, Y: Field{[10]uint32{0x001fae42, 0x007ef6e6, 0x037809c8, 0x001febfd, 0x0364f0c0, 0x0034fe04, 0x0360c21c, 0x0372aab2, 0x01074e4f, 0x0018ee19}}}, + {X: Field{[10]uint32{0x0097a14d, 0x008a4fb5, 0x02127355, 0x031f1bd9, 0x025af1d8, 0x02a38b72, 0x02ab014e, 0x00d65122, 0x02607d40, 0x003cfbcb}}, Y: Field{[10]uint32{0x022cccc9, 0x01f0c758, 0x03ca9c63, 0x012fd0f6, 0x019e9ce4, 0x0275e305, 0x01d1d964, 0x027d12f1, 0x0334214b, 0x0037f354}}}, + {X: Field{[10]uint32{0x0057ead9, 0x0100a012, 0x0365a80e, 0x0092effa, 0x03a93964, 0x02c759c4, 0x0111b361, 0x00ce9744, 0x01c8169c, 0x001b5710}}, Y: Field{[10]uint32{0x005e84c8, 0x031522a9, 0x02a4a6a0, 0x00829486, 0x023d6742, 0x003d66f7, 0x0291d370, 0x02f0a89e, 0x00c49f01, 0x001307dd}}}, + {X: Field{[10]uint32{0x02fff85c, 0x031c7d12, 0x03c73488, 0x00891f81, 0x01608223, 0x013f51e3, 0x01982ce3, 0x021ac0b1, 0x0261c6a9, 0x0017604a}}, Y: Field{[10]uint32{0x03a960b8, 0x036894ff, 0x001fdcc8, 0x005e2fb5, 0x00680b15, 0x03248d21, 0x0349e164, 0x023f1095, 0x037b1601, 0x000dc20f}}}, + {X: Field{[10]uint32{0x0373093e, 0x02aa11df, 0x027d5dc6, 0x029827be, 0x01720177, 0x00a44615, 0x03a97108, 0x03cd1f0e, 0x02ecb82f, 0x00380565}}, Y: Field{[10]uint32{0x005b3bdd, 0x01faceed, 0x0177e554, 0x03061dd9, 0x03a17aca, 0x02963929, 0x00da5d06, 0x0212e74e, 0x00328498, 0x00299d32}}}, + {X: Field{[10]uint32{0x01980f55, 0x01100b02, 0x00d0b834, 0x0183bdac, 0x00ad52b9, 0x0373fdfc, 0x032fcaea, 0x03fcb9ec, 0x01000313, 0x0019e96a}}, Y: Field{[10]uint32{0x000a4a02, 0x01c0f24f, 0x02a03f41, 0x022bae2d, 0x009fdf92, 0x01f10783, 0x00075753, 0x022197ae, 0x01db5e8e, 0x0039dfbf}}}, + {X: Field{[10]uint32{0x0066b277, 0x0035f0d9, 0x01c217df, 0x02cd5ca0, 0x0353d77d, 0x03798960, 0x01c16477, 0x002b60a0, 0x039c2e2d, 0x000ae5a1}}, Y: Field{[10]uint32{0x00b62b25, 0x02f211a0, 0x030743cb, 0x0019e1a9, 0x027e0dae, 0x012a7f9f, 0x032408f6, 0x030caf31, 0x007343ba, 0x0037574d}}}, + {X: Field{[10]uint32{0x010367e9, 0x038b670c, 0x02bad825, 0x012fedc9, 0x03639b05, 0x00f8f848, 0x03137aea, 0x01235cb7, 0x038df087, 0x002ae50d}}, Y: Field{[10]uint32{0x03a10f03, 0x03740610, 0x011c99e3, 0x027fcb7c, 0x017f9d76, 0x01e376bd, 0x0331865c, 0x01f446a0, 0x02244003, 0x0015e173}}}, + {X: Field{[10]uint32{0x03e7439f, 0x02aaec10, 0x00985fa3, 0x036e1ef9, 0x012f3fd4, 0x028edb23, 0x013def6c, 0x03f78e32, 0x01560fd6, 0x001c1e09}}, Y: Field{[10]uint32{0x038ebec7, 0x02cfee05, 0x036af8f9, 0x03603e88, 0x0151894b, 0x03abd4d4, 0x01274b48, 0x01408331, 0x0365ecf1, 0x001e44ef}}}, + {X: Field{[10]uint32{0x03ca3942, 0x028062dd, 0x01eb3e71, 0x0203bf3b, 0x036b4d5e, 0x000928fd, 0x038c72c1, 0x03541ecc, 0x0070138b, 0x000c0974}}, Y: Field{[10]uint32{0x02b470ae, 0x03759a43, 0x03096f83, 0x02558e96, 0x038d5032, 0x00a93b94, 0x00172b5f, 0x03fe56a5, 0x020e175e, 0x000ea29a}}}, + {X: Field{[10]uint32{0x039ab0b6, 0x028f4602, 0x03ac9901, 0x02864e25, 0x02576081, 0x02a34079, 0x0069e7b2, 0x01eaee50, 0x02d065e9, 0x000ff8dc}}, Y: Field{[10]uint32{0x00842e5a, 0x00082895, 0x00c2d4c1, 0x014b3898, 0x00824035, 0x0359ed69, 0x03315e41, 0x037300dd, 0x02923154, 0x000bbf3b}}}, + {X: Field{[10]uint32{0x02f55636, 0x03968c0a, 0x001640bc, 0x03836a04, 0x03c3c373, 0x0301af5f, 0x02be8f9c, 0x00cfba5f, 0x00113a91, 0x000da31c}}, Y: Field{[10]uint32{0x006162a8, 0x03e1ad34, 0x024a135b, 0x03969bea, 0x02eb7d70, 0x0305a5c4, 0x028b942b, 0x02a385bc, 0x00fa4870, 0x00086f50}}}, + {X: Field{[10]uint32{0x00d96810, 0x03ab253b, 0x0100387e, 0x01a3953f, 0x0357682f, 0x02b5b5c4, 0x0040f230, 0x01793879, 0x03d8beb4, 0x001f7e3f}}, Y: Field{[10]uint32{0x002ed0df, 0x01d99f66, 0x013c9ec0, 0x0034281f, 0x03dc5555, 0x0131fff9, 0x0057d789, 0x016a6512, 0x00f9908e, 0x000f6793}}}, + {X: Field{[10]uint32{0x036f23d4, 0x036fdf42, 0x038bbdd2, 0x01c9413e, 0x02882691, 0x026c449d, 0x02162624, 0x031fb9f0, 0x0139eb49, 0x0032dab6}}, Y: Field{[10]uint32{0x0298346d, 0x000063ba, 0x01cb345e, 0x019785e2, 0x005480ca, 0x027e399a, 0x01319c45, 0x01cd9f78, 0x00db18f2, 0x003b2181}}}, + {X: Field{[10]uint32{0x00f4265a, 0x0263ca1c, 0x0053d390, 0x010b9a13, 0x01d8a1e0, 0x02766c81, 0x014e6a75, 0x00679b81, 0x02c80fc3, 0x0016b949}}, Y: Field{[10]uint32{0x010a9a63, 0x022185f5, 0x03850f24, 0x02af678c, 0x00a03f4b, 0x0155df02, 0x033ef80d, 0x016a433f, 0x028114c2, 0x00368784}}}, + {X: Field{[10]uint32{0x01ff7661, 0x021ab9c9, 0x03323a87, 0x019d6e34, 0x02174777, 0x000115b5, 0x03f2b10e, 0x02eb306e, 0x008906dd, 0x0021a35e}}, Y: Field{[10]uint32{0x0322ca1d, 0x030c24eb, 0x00ef296f, 0x0120d0a8, 0x0246e6ce, 0x027051bd, 0x03e57baa, 0x0037e38a, 0x001d189b, 0x00364b5a}}}, + {X: Field{[10]uint32{0x03686b74, 0x00762675, 0x025a4834, 0x02611f0c, 0x0223bd32, 0x01041a8c, 0x01d1f8a7, 0x0206db13, 0x034de7b8, 0x0027cbc2}}, Y: Field{[10]uint32{0x02440088, 0x013f0523, 0x016e3c44, 0x0172d1fc, 0x02deca28, 0x016158bc, 0x0329ca66, 0x012be2d5, 0x0111c297, 0x001beef5}}}, + {X: Field{[10]uint32{0x03fca8a3, 0x0140ddb4, 0x00b4fe69, 0x03afa302, 0x02c522f5, 0x03b8babd, 0x032da983, 0x0037c56f, 0x022b813b, 0x003eabc8}}, Y: Field{[10]uint32{0x000b472e, 0x036d0751, 0x01469b2c, 0x01b175b4, 0x0147f00e, 0x013c4aaf, 0x032ae874, 0x036b1a3e, 0x02692e98, 0x002fb14f}}}, + {X: Field{[10]uint32{0x03161475, 0x01f48a69, 0x00008fd6, 0x020293b1, 0x0313c81c, 0x01b1718b, 0x02a7ab70, 0x02e7e8b0, 0x01b9db4a, 0x001fd482}}, Y: Field{[10]uint32{0x0248d193, 0x033a82d2, 0x00ce4e69, 0x002e6b31, 0x00a58be4, 0x03c64736, 0x017d1c76, 0x01a67fce, 0x00daf9e8, 0x00284f5b}}}, + {X: Field{[10]uint32{0x02c84c2a, 0x012fd3c4, 0x00c04683, 0x02490168, 0x0050c7b4, 0x009c0285, 0x025f395e, 0x00dbc201, 0x016e80b1, 0x003d0d85}}, Y: Field{[10]uint32{0x017e60c4, 0x022546ef, 0x020e5911, 0x002e220a, 0x00e7aa89, 0x026c01fa, 0x020807d3, 0x03806e9d, 0x03b05684, 0x00337655}}}, + {X: Field{[10]uint32{0x00f1d06e, 0x03c70c4f, 0x0169f201, 0x0150ac93, 0x02882167, 0x00d153e9, 0x020c2bb0, 0x00df6081, 0x03495c5b, 0x003be6a9}}, Y: Field{[10]uint32{0x027a4aa9, 0x033d32bc, 0x0366654c, 0x03bf47dd, 0x0050003a, 0x0139b35f, 0x0125750e, 0x012a3eb0, 0x024df1d8, 0x003e1036}}}, + {X: Field{[10]uint32{0x035de05a, 0x00a25bfe, 0x01d40b12, 0x0322965c, 0x016d9e1c, 0x0179e4db, 0x010809c2, 0x02e4eb0a, 0x0043e96e, 0x001f7bb7}}, Y: Field{[10]uint32{0x02a8e0ce, 0x009ad949, 0x03381220, 0x03edaf24, 0x01de6683, 0x033c4bf3, 0x027b349c, 0x03439003, 0x026627b9, 0x00399703}}}, + {X: Field{[10]uint32{0x006d6459, 0x012cf3a6, 0x0215c0e7, 0x03d3ca0f, 0x01878384, 0x020bcd87, 0x03e74955, 0x01e5711e, 0x03156669, 0x001686fb}}, Y: Field{[10]uint32{0x00cf39ff, 0x01e711cb, 0x00d61b11, 0x020777e3, 0x0069b28b, 0x020cf8e0, 0x035b97e1, 0x000aca78, 0x02811fdb, 0x0033a616}}}, + {X: Field{[10]uint32{0x0125fa8e, 0x014d5639, 0x0383bfa4, 0x033e12c8, 0x0173b8fd, 0x020f1beb, 0x00eeb789, 0x004f0ac5, 0x01392334, 0x0036048f}}, Y: Field{[10]uint32{0x0233ef73, 0x009a51e9, 0x00095ea2, 0x028c3256, 0x02835e35, 0x02ecf2d5, 0x03f78a5a, 0x01c8011b, 0x019d905b, 0x003aa74e}}}, + {X: Field{[10]uint32{0x024d4bc8, 0x00c4cd03, 0x035d8939, 0x03469e9a, 0x0310d3df, 0x0026bed7, 0x02a36c39, 0x030c4099, 0x01d4f1f4, 0x0018bd0f}}, Y: Field{[10]uint32{0x0190f3ed, 0x028772ed, 0x028ef89f, 0x00a76a8b, 0x02755258, 0x00e8407c, 0x034fe225, 0x03591cb8, 0x01f1f83b, 0x002edd62}}}, + {X: Field{[10]uint32{0x039d72f7, 0x033cc4bd, 0x01f4fcc1, 0x0111bd8b, 0x00865f6e, 0x033d6535, 0x015aa750, 0x03011450, 0x0371d549, 0x00001b3c}}, Y: Field{[10]uint32{0x01e93af4, 0x006b7172, 0x0216a758, 0x02741a33, 0x002b3dee, 0x020ad168, 0x024ce206, 0x026f4a0a, 0x022b5c97, 0x003e33ad}}}, + {X: Field{[10]uint32{0x03cdd7e7, 0x03bf16d1, 0x01f3c509, 0x01c545af, 0x0249aeb3, 0x03e55021, 0x01638dd8, 0x03a70df0, 0x0380770b, 0x0016f5ed}}, Y: Field{[10]uint32{0x006ba9ff, 0x0242664a, 0x031e3021, 0x000ca8a2, 0x01efc12c, 0x02b74309, 0x006b91c5, 0x02abd3d8, 0x00488a87, 0x00351b1e}}}, + {X: Field{[10]uint32{0x036b6a62, 0x02fcf6f0, 0x001af0e6, 0x01ffc55a, 0x0081eecd, 0x02e566e8, 0x02086653, 0x02f52b96, 0x0154a319, 0x0031dc12}}, Y: Field{[10]uint32{0x016d0fe7, 0x00ecf294, 0x0337836e, 0x0002c571, 0x03e508f6, 0x02273312, 0x013b9c61, 0x012ea0fd, 0x03e82478, 0x000dcd50}}}, + {X: Field{[10]uint32{0x01b19cda, 0x0371b40e, 0x039588fe, 0x02342790, 0x02d6e92c, 0x0040b07b, 0x007da707, 0x00ea7760, 0x03fe4153, 0x000ad3c9}}, Y: Field{[10]uint32{0x001fb424, 0x038ab67e, 0x01d6b089, 0x02009005, 0x0049ba21, 0x024bd30c, 0x01fadd4a, 0x01f2c704, 0x03100ecd, 0x00262ea0}}}, + {X: Field{[10]uint32{0x014c0e5a, 0x001b2297, 0x03db54d3, 0x0204f5f0, 0x032c920c, 0x01a4c7e5, 0x000c581d, 0x030d3498, 0x01710b3d, 0x00039f50}}, Y: Field{[10]uint32{0x029a409a, 0x00513c92, 0x011f75b6, 0x01c74735, 0x0303e75b, 0x0169b128, 0x03a97efb, 0x014e1e67, 0x01ba9a82, 0x002ca560}}}, + {X: Field{[10]uint32{0x01c5d52e, 0x0198357c, 0x0284b2b5, 0x0187a01b, 0x032face7, 0x01a89c5f, 0x02700435, 0x00d5dc14, 0x022c18f4, 0x001880c0}}, Y: Field{[10]uint32{0x036a720d, 0x02021944, 0x024eb06c, 0x035aaa21, 0x020212ef, 0x0150ae5f, 0x035fe973, 0x0135d409, 0x03255d0a, 0x0006294b}}}, + {X: Field{[10]uint32{0x02e43b2b, 0x00700124, 0x026300e8, 0x01e5e479, 0x02489876, 0x02c3f332, 0x02327fe3, 0x02036e83, 0x03a28c1c, 0x002f6071}}, Y: Field{[10]uint32{0x003871c0, 0x0388d1e0, 0x00678db1, 0x02b3a4ea, 0x02416064, 0x03c6154d, 0x00831f07, 0x02f19278, 0x004ea14b, 0x0032942a}}}, + {X: Field{[10]uint32{0x004bc29a, 0x01aa6d3f, 0x0154a062, 0x0139bce9, 0x01b875eb, 0x000e9b83, 0x01385cd6, 0x00e43f34, 0x021ad3c1, 0x0026f10f}}, Y: Field{[10]uint32{0x00cb2cd4, 0x00b9a9b8, 0x0222e6b1, 0x02f763d2, 0x0264ea39, 0x01e5c5ec, 0x00d8b34b, 0x012ed5eb, 0x00bf9aa5, 0x00215e96}}}, + {X: Field{[10]uint32{0x03e40f33, 0x01da7329, 0x039082c8, 0x01c7195b, 0x015e5bfb, 0x0262fea8, 0x030117cb, 0x038f1e7b, 0x028d194d, 0x000c1569}}, Y: Field{[10]uint32{0x000d1d10, 0x008cf90d, 0x0086c1c9, 0x01ca9ff8, 0x00acbd8c, 0x01aae9af, 0x00218cfb, 0x038712fc, 0x01eadfeb, 0x000060fe}}}, + {X: Field{[10]uint32{0x034b08ac, 0x01e7eedc, 0x03e1b710, 0x00c5f62e, 0x002cec12, 0x00d60ee0, 0x02710724, 0x03462324, 0x0184ad1f, 0x0012b6fe}}, Y: Field{[10]uint32{0x03ec04e6, 0x013578f5, 0x01954709, 0x02dbde7d, 0x032192ce, 0x038fcb42, 0x01507668, 0x033bfcf6, 0x01889560, 0x0005149c}}}, + {X: Field{[10]uint32{0x016487cc, 0x01947469, 0x00b0cd00, 0x00daa81d, 0x0283fc6a, 0x033c5b48, 0x03ae3979, 0x0107671e, 0x01cc27e0, 0x000e3dcb}}, Y: Field{[10]uint32{0x033dc0bf, 0x01830ea4, 0x0188df71, 0x0110b946, 0x02496104, 0x002dbff1, 0x030d6f2c, 0x001b904d, 0x017c33a1, 0x00148e32}}}, + {X: Field{[10]uint32{0x015be2d3, 0x00623199, 0x03813322, 0x011d1f09, 0x02045606, 0x03167fca, 0x0013828a, 0x03f78285, 0x018a7bdf, 0x0037956f}}, Y: Field{[10]uint32{0x0042d9da, 0x034eed40, 0x0151ce65, 0x0146e65b, 0x0367bf9d, 0x01ec2bed, 0x039d0979, 0x0097cdd7, 0x01b0df5b, 0x0011de18}}}, + {X: Field{[10]uint32{0x023bcc66, 0x026e2797, 0x03893873, 0x03a9b159, 0x02e19340, 0x019bfa44, 0x00edf986, 0x000ae246, 0x00fdc47e, 0x003185ef}}, Y: Field{[10]uint32{0x01117072, 0x0098d259, 0x00d473b8, 0x01cad6c2, 0x01a6e046, 0x01133f12, 0x020f4e86, 0x01da0cab, 0x0117357e, 0x002e42e8}}}, + {X: Field{[10]uint32{0x01c84758, 0x02aceefc, 0x036724ad, 0x036fb2b6, 0x03c455f4, 0x024acc0c, 0x02402f1e, 0x0223252d, 0x01961b51, 0x00119570}}, Y: Field{[10]uint32{0x02fbc4a0, 0x0071b779, 0x01b5cf2c, 0x0300a0e2, 0x02714600, 0x012f017a, 0x0202df4f, 0x017d37ec, 0x0093a257, 0x000f3bb3}}}, + {X: Field{[10]uint32{0x03726a45, 0x021ba375, 0x004c9e5f, 0x00c67077, 0x00110df4, 0x02ad0f68, 0x013c503f, 0x0396b4da, 0x0340dc05, 0x003f2a43}}, Y: Field{[10]uint32{0x035771ca, 0x0321bf17, 0x021c3e6c, 0x03b1a323, 0x027478ed, 0x0269c29b, 0x0337aeb1, 0x0198106b, 0x039bbe3e, 0x003d608b}}}, + {X: Field{[10]uint32{0x027f61e9, 0x03c546f4, 0x00afb93f, 0x0015e31f, 0x02a31cbe, 0x02434ecf, 0x01e88d7f, 0x020961de, 0x004adcb2, 0x000c5db3}}, Y: Field{[10]uint32{0x02cc0135, 0x00308c50, 0x006aac34, 0x01115b34, 0x036a18ce, 0x03ed6ad6, 0x00fe7bba, 0x00290f25, 0x02cc148a, 0x000e18fc}}}, + {X: Field{[10]uint32{0x03b2ddc4, 0x0079943a, 0x014e0b81, 0x02734c69, 0x0151d9c1, 0x013e0b31, 0x030db151, 0x00842b41, 0x0373d124, 0x0018c9a7}}, Y: Field{[10]uint32{0x005cd0ac, 0x003c36f6, 0x02188e30, 0x02f0fdaa, 0x03038246, 0x002230e1, 0x034114e5, 0x01e90929, 0x03dd8a78, 0x002fe3b1}}}, + {X: Field{[10]uint32{0x032003d0, 0x00f39518, 0x02708dee, 0x0124d374, 0x000f07e7, 0x0104c9aa, 0x027f5445, 0x014ed86b, 0x01328d0f, 0x0019e687}}, Y: Field{[10]uint32{0x025c350f, 0x0240629c, 0x0085c034, 0x0157268d, 0x02c9b3eb, 0x03dbba69, 0x03e341d5, 0x03b28c46, 0x03488f21, 0x0020f284}}}, + {X: Field{[10]uint32{0x00b38b28, 0x033ce678, 0x036fb846, 0x0277a009, 0x03f7172f, 0x0153624c, 0x0148568a, 0x00b2134e, 0x01792998, 0x001a689f}}, Y: Field{[10]uint32{0x03b26168, 0x0058f90e, 0x034f3a02, 0x03d6b0b6, 0x0369c8b7, 0x00bce6f5, 0x00b16a12, 0x002ee15d, 0x0207cb0f, 0x003d0474}}}, + {X: Field{[10]uint32{0x0373ee4d, 0x015b23d9, 0x03c7f9dd, 0x02e72bfa, 0x02abfdab, 0x000a73bc, 0x03f21716, 0x01410b2f, 0x005701af, 0x000a6354}}, Y: Field{[10]uint32{0x0297e9e1, 0x00f0156a, 0x0222075e, 0x029e733e, 0x034271bd, 0x03db70db, 0x02e62c4b, 0x02113904, 0x0271d271, 0x003d0d0f}}}, + {X: Field{[10]uint32{0x000c4653, 0x022e5e48, 0x023b1f8f, 0x0391513d, 0x00e26f66, 0x02f3ce4c, 0x00eb9845, 0x03c4063e, 0x03da46d1, 0x000fca60}}, Y: Field{[10]uint32{0x01d71db0, 0x03166542, 0x01b53b26, 0x02f1e760, 0x009b2c38, 0x00c9b4e0, 0x02d57e6b, 0x00cec40d, 0x0114c4ad, 0x00125cea}}}, + {X: Field{[10]uint32{0x023538dd, 0x02aa2fdf, 0x03b1359f, 0x0287bda8, 0x0154412e, 0x0074a9be, 0x02d64b2a, 0x02e23650, 0x013e30ce, 0x003e0dbf}}, Y: Field{[10]uint32{0x037f9367, 0x0380a0b3, 0x02ba3b28, 0x038c1b9a, 0x00c8161e, 0x0162ddc8, 0x01fd29c1, 0x01ad69c2, 0x00815347, 0x001c828c}}}, + {X: Field{[10]uint32{0x00ef583a, 0x038b7c80, 0x03930b3a, 0x008807bb, 0x01295ed5, 0x03a647fa, 0x03c8ee4f, 0x00e2898e, 0x039b911e, 0x00375cba}}, Y: Field{[10]uint32{0x00c1b2ef, 0x02d03250, 0x00b8683c, 0x02c50fc4, 0x02398e86, 0x0182d4ec, 0x0285d9b3, 0x03dfe5e4, 0x01a5688b, 0x000a8369}}}, + {X: Field{[10]uint32{0x0168a619, 0x00fc0cd2, 0x019be028, 0x02912584, 0x037cef92, 0x00962dfc, 0x027bd818, 0x00957310, 0x025046ab, 0x00154789}}, Y: Field{[10]uint32{0x03bc4f30, 0x01e8dc39, 0x0223b200, 0x02a8f1ba, 0x02e5ca16, 0x00560a9b, 0x006a5ecd, 0x03cd6e6e, 0x03d24cd8, 0x000c5f0c}}}, + {X: Field{[10]uint32{0x0336c650, 0x00eb5e14, 0x02a90fbd, 0x01857214, 0x01ab28cb, 0x01e09564, 0x0319a304, 0x038f43b2, 0x0292131d, 0x0019a0f7}}, Y: Field{[10]uint32{0x002225f8, 0x01b4224a, 0x019e4d63, 0x03082397, 0x00b3c3b2, 0x011be839, 0x029556ec, 0x01548fe2, 0x018e7fd9, 0x00127ba9}}}, + {X: Field{[10]uint32{0x00f97805, 0x0127224f, 0x03ac7bea, 0x00f4c692, 0x01ca99ef, 0x023e257a, 0x029b146e, 0x03a99782, 0x01e284a6, 0x002d6cec}}, Y: Field{[10]uint32{0x01b6fe0d, 0x013ba239, 0x01667ffa, 0x030d51fa, 0x023cf16c, 0x0065402f, 0x0391437e, 0x038a5bca, 0x0294f333, 0x00285c82}}}, + {X: Field{[10]uint32{0x03cbf466, 0x009007e6, 0x00d1011a, 0x00e954d4, 0x03ccdde4, 0x01c63518, 0x009a2329, 0x01da125c, 0x03737c33, 0x00294065}}, Y: Field{[10]uint32{0x01d429e2, 0x03eb61ea, 0x0027e12e, 0x0233efcf, 0x03c51fff, 0x01add47a, 0x03a5e09b, 0x031777a3, 0x029effef, 0x00027301}}}, + {X: Field{[10]uint32{0x001588fb, 0x00dad8fb, 0x03849e12, 0x0092238b, 0x02e5cb72, 0x02c7162c, 0x0041b663, 0x0361850a, 0x018feb2b, 0x0027b0d2}}, Y: Field{[10]uint32{0x001f5f12, 0x00194bc3, 0x0333ba00, 0x0216a01c, 0x01e517e5, 0x005437fb, 0x02719bf2, 0x025fc0d8, 0x01a5e14b, 0x00380324}}}, + {X: Field{[10]uint32{0x03c5b6b2, 0x00c6afbc, 0x004b1f47, 0x02f16abc, 0x03581f97, 0x02e49999, 0x00b446ba, 0x00c615d4, 0x00b4adc1, 0x003842db}}, Y: Field{[10]uint32{0x01e2b9c3, 0x017f720d, 0x00ed3c1f, 0x010bc998, 0x01d5520b, 0x02d97007, 0x0287bba5, 0x0011dfce, 0x02137db2, 0x0014e944}}}, + {X: Field{[10]uint32{0x013ae314, 0x01873877, 0x00d0d3ff, 0x009c4ec6, 0x0360ace9, 0x000ad810, 0x0093691e, 0x029f1e63, 0x0167e36e, 0x002dd52a}}, Y: Field{[10]uint32{0x0073d849, 0x02e0a855, 0x0359be12, 0x00a64cf3, 0x00d83ee0, 0x02ac0794, 0x02f8d5fb, 0x03b96690, 0x01639aa7, 0x0022a68e}}}, + {X: Field{[10]uint32{0x02efa869, 0x0060ffcc, 0x02c8d489, 0x01d58d02, 0x017999a2, 0x02fa95a7, 0x038a51e6, 0x02fcf81b, 0x0361c10c, 0x0017fbf2}}, Y: Field{[10]uint32{0x02881e83, 0x02f86fd3, 0x0120715b, 0x01426cd2, 0x01dfe499, 0x02308150, 0x008c0932, 0x020d7076, 0x0093cbc4, 0x003606cc}}}, + {X: Field{[10]uint32{0x03d2d848, 0x02910bc9, 0x0118470a, 0x002aca6e, 0x01f0ed6f, 0x009f2265, 0x0009400b, 0x025f8658, 0x03bb04ac, 0x003f9468}}, Y: Field{[10]uint32{0x01116a58, 0x03f55a32, 0x00bd6ec5, 0x013c020f, 0x03d30625, 0x027c2c60, 0x02b8aaf5, 0x0279103c, 0x00e0a4c3, 0x00215a3f}}}, + {X: Field{[10]uint32{0x02b7dee3, 0x024519be, 0x0158d7b5, 0x0263911d, 0x00391df7, 0x03aca908, 0x00d5d38a, 0x03fb6f16, 0x02299fcc, 0x001a8f91}}, Y: Field{[10]uint32{0x02a5e548, 0x00fba6c8, 0x01a91aec, 0x02e78c58, 0x0289873e, 0x02ac7679, 0x02e7b5a3, 0x01767750, 0x03ba7bb1, 0x0006fb63}}}, + {X: Field{[10]uint32{0x03450c37, 0x01fff225, 0x012ee745, 0x0134e492, 0x0233db30, 0x0385af4c, 0x0162d970, 0x03537bdf, 0x00b83c40, 0x002b7f6f}}, Y: Field{[10]uint32{0x00138e0e, 0x0216e1fd, 0x001956be, 0x0064b873, 0x038fde78, 0x0055ab08, 0x00b588c4, 0x0127b0aa, 0x03dc1635, 0x001ec20a}}}, + {X: Field{[10]uint32{0x0113bf61, 0x030f7540, 0x02cb9f06, 0x0371bb31, 0x01509ed7, 0x00b45c04, 0x0254c270, 0x00b1520d, 0x03cc9c20, 0x0025a143}}, Y: Field{[10]uint32{0x0281aaf7, 0x022e2c34, 0x03b6c008, 0x01568070, 0x01b9fcc4, 0x01fb062d, 0x00c05dac, 0x01b126bc, 0x00327f96, 0x00041011}}}, + {X: Field{[10]uint32{0x00458bbe, 0x01026d57, 0x03ac4f09, 0x005059bc, 0x031703f5, 0x0010de69, 0x00151ca8, 0x03285362, 0x01978f78, 0x000ab884}}, Y: Field{[10]uint32{0x01ecf7b1, 0x03277106, 0x012c86cb, 0x009fe80c, 0x022328e3, 0x021e5873, 0x01c7dde3, 0x00d7f514, 0x00d95760, 0x001379d3}}}, + {X: Field{[10]uint32{0x02987e57, 0x03ab1846, 0x006cfb79, 0x038f149d, 0x027e5816, 0x0358b109, 0x021a332c, 0x03265899, 0x0342e1b5, 0x003b7061}}, Y: Field{[10]uint32{0x01b4fe5e, 0x00868d01, 0x01bc02c0, 0x00c8c0c4, 0x0129ba90, 0x02eaf95e, 0x01d484fe, 0x0026fcfe, 0x033fc633, 0x0020000e}}}, + {X: Field{[10]uint32{0x0243a244, 0x0299033f, 0x025aa1d6, 0x012610dd, 0x0038b35d, 0x022e50da, 0x0290885c, 0x03c2b8a6, 0x022a5fa0, 0x001e00aa}}, Y: Field{[10]uint32{0x0192a803, 0x03dc59e4, 0x025dd7f5, 0x004616ea, 0x037e3dda, 0x005b126e, 0x03297e04, 0x00e6a101, 0x029fe632, 0x00031fcc}}}, + {X: Field{[10]uint32{0x012335cf, 0x01efdfe6, 0x02386bf6, 0x03a0d79c, 0x02c2173d, 0x038ff16a, 0x02ede712, 0x011d6b0d, 0x0179b124, 0x003eddd1}}, Y: Field{[10]uint32{0x03a82c94, 0x032f3011, 0x02c01cdf, 0x029add8e, 0x01b6f413, 0x006a3590, 0x03ebf0e3, 0x01edeb90, 0x035163c1, 0x0030399a}}}, + {X: Field{[10]uint32{0x00bc2852, 0x03886cff, 0x02982051, 0x00928c6d, 0x00695a9c, 0x03a70480, 0x0394881f, 0x02ba78cb, 0x018a43ab, 0x0036068f}}, Y: Field{[10]uint32{0x0112673f, 0x03dafcb7, 0x00dbf2cc, 0x028f2419, 0x01a693e3, 0x002a636d, 0x0351de7e, 0x032db5ef, 0x0011e8a8, 0x0018c376}}}, + {X: Field{[10]uint32{0x03324cf0, 0x01ddadf1, 0x0249f9bf, 0x02812f94, 0x027cb2ed, 0x0089a336, 0x00da0c7e, 0x001a2e01, 0x03d497cf, 0x001467f3}}, Y: Field{[10]uint32{0x0162fdb9, 0x039bff25, 0x0391dc20, 0x03b0ef28, 0x03a357c8, 0x03912ae7, 0x02916466, 0x02cfaef9, 0x00cd198a, 0x002fb1bd}}}, + {X: Field{[10]uint32{0x028ef592, 0x024a5be1, 0x0044124f, 0x021389dc, 0x023e31b2, 0x003e6c70, 0x0193853e, 0x0181cd78, 0x03e48fd6, 0x003312b4}}, Y: Field{[10]uint32{0x0383c27b, 0x0098eb75, 0x02f68996, 0x007b6c96, 0x019b1215, 0x01ec0f1d, 0x01520ac6, 0x0311d1f5, 0x018d8583, 0x00222bc5}}}, + {X: Field{[10]uint32{0x00d24117, 0x00240d1e, 0x01e338f7, 0x02852e17, 0x02c06a57, 0x0137b5ba, 0x0340cf96, 0x021a9662, 0x00ae6f51, 0x002b7654}}, Y: Field{[10]uint32{0x03affa7d, 0x01effd28, 0x0165bc04, 0x03f1c013, 0x00111f6d, 0x002fb1d1, 0x03d6853a, 0x00a1737a, 0x00bd2d69, 0x00316729}}}, + {X: Field{[10]uint32{0x02b383e4, 0x030fdb6e, 0x027ddd0b, 0x0319f124, 0x03ef0437, 0x032cd62b, 0x03c81730, 0x01f79c4a, 0x03454309, 0x003701c6}}, Y: Field{[10]uint32{0x015ca8ed, 0x0042d03a, 0x0385f9e4, 0x0283ec46, 0x03f28fca, 0x0061f7ef, 0x03b2adfc, 0x00c1305c, 0x02a9899b, 0x001e4e44}}}, + {X: Field{[10]uint32{0x02c167c7, 0x01e6c6ab, 0x03abe94d, 0x01c91fda, 0x02fd97a6, 0x025ade9c, 0x0037da4a, 0x002676a7, 0x037e6db6, 0x0017738c}}, Y: Field{[10]uint32{0x024377f6, 0x0276f593, 0x021d5754, 0x015993ac, 0x00eb35bf, 0x005ae8a8, 0x0082991f, 0x02290ed9, 0x03ba1f09, 0x0006e21f}}}, + {X: Field{[10]uint32{0x01f5cfcb, 0x02133e78, 0x009e5ba2, 0x03d0f984, 0x02900a83, 0x03a02260, 0x022ead80, 0x029989b4, 0x02ad8493, 0x00145bad}}, Y: Field{[10]uint32{0x00e05042, 0x00c3fbfb, 0x03e3c68d, 0x0046ecdb, 0x03ef6a85, 0x0074fe51, 0x018308c6, 0x02d1bd23, 0x02b38085, 0x00328d42}}}, + {X: Field{[10]uint32{0x000e5e75, 0x03c71f3c, 0x020a335a, 0x02e02321, 0x03732b3f, 0x03a45f21, 0x03912114, 0x00b68796, 0x01503b1f, 0x003dd9f0}}, Y: Field{[10]uint32{0x01aaab54, 0x02d1cf68, 0x0165795b, 0x003854f3, 0x0109ec61, 0x015776ad, 0x00f64a26, 0x0119ee22, 0x00c8cdbe, 0x000fb3be}}}, + {X: Field{[10]uint32{0x03c977f0, 0x00eb099c, 0x01e7531f, 0x00b0b319, 0x02418558, 0x005df79e, 0x03bc5d8f, 0x00b2329e, 0x03cf0f79, 0x003e6efa}}, Y: Field{[10]uint32{0x01614a85, 0x026595d2, 0x02f52b8c, 0x02aab3b2, 0x03ac751e, 0x02867957, 0x02f767b8, 0x00e89895, 0x00fefecb, 0x000a42ad}}}, + {X: Field{[10]uint32{0x0147c45f, 0x01dff3d3, 0x00e8eaf4, 0x02f326c2, 0x016ec3ad, 0x0048f7d8, 0x01bff42c, 0x0236c7d5, 0x01febe5c, 0x0031aff8}}, Y: Field{[10]uint32{0x0241792f, 0x02b55b35, 0x02995c79, 0x0004d1fa, 0x0041c271, 0x0159e624, 0x032eddc9, 0x028bff60, 0x0082d6d6, 0x0031657e}}}, + {X: Field{[10]uint32{0x00d3ce1e, 0x020a7978, 0x02425761, 0x00862e1c, 0x03c55595, 0x005c2ed1, 0x01cfe6e5, 0x02d321c7, 0x0371808f, 0x0015b0b5}}, Y: Field{[10]uint32{0x000468ba, 0x003f27d5, 0x0229f5ee, 0x02bdc58d, 0x0112ec15, 0x039c8718, 0x00a91889, 0x03989bf7, 0x02e69e03, 0x001b79ca}}}, + {X: Field{[10]uint32{0x0109d663, 0x028d99d4, 0x00fb5066, 0x03fbf181, 0x02da9ecf, 0x03033df4, 0x0296d8c3, 0x016f961e, 0x0305ec9f, 0x00080862}}, Y: Field{[10]uint32{0x038f6993, 0x00a0eefb, 0x02e12e79, 0x00ea22d0, 0x02b41bfa, 0x029cc86b, 0x02ea0aa7, 0x01f8907c, 0x03c2c535, 0x000bb069}}}, + {X: Field{[10]uint32{0x036be4ee, 0x03f2bfe5, 0x00f09e2a, 0x03d2ece9, 0x03519035, 0x01252bfc, 0x03db4f33, 0x0333656f, 0x02690a04, 0x000e8224}}, Y: Field{[10]uint32{0x0042d1a2, 0x006b615a, 0x02757ed9, 0x00899036, 0x020bbeba, 0x00d012cc, 0x0293757b, 0x0287fa45, 0x0225fb0b, 0x00395a03}}}, + {X: Field{[10]uint32{0x005b3f07, 0x01948ebd, 0x01a2e285, 0x0006ca5d, 0x02dfd3e1, 0x02618125, 0x00fd0f25, 0x022d4f6c, 0x0296a0cd, 0x0023e7c8}}, Y: Field{[10]uint32{0x01c625b5, 0x02d5c8ad, 0x01920a3f, 0x00295de1, 0x038ab3be, 0x018a435d, 0x029015cd, 0x037cc6c8, 0x01072cac, 0x00187056}}}, + {X: Field{[10]uint32{0x0288070e, 0x03d1d33f, 0x0106c836, 0x024347a8, 0x00097e2b, 0x0352d8ca, 0x01599b26, 0x036a5f34, 0x03e8695b, 0x00219602}}, Y: Field{[10]uint32{0x017d7d21, 0x03146aec, 0x00ac6166, 0x02a276e9, 0x022bb220, 0x001f71fb, 0x022fe5fd, 0x02b160e2, 0x00a17e19, 0x002aeb9a}}}, + {X: Field{[10]uint32{0x02b4d762, 0x00b74a5c, 0x03d048c7, 0x0163ec61, 0x01eb1f94, 0x015ea879, 0x005b4f0e, 0x035627b3, 0x038a1e69, 0x003edab0}}, Y: Field{[10]uint32{0x02ac32c1, 0x0004c061, 0x000147fb, 0x01bc2e58, 0x03e5d180, 0x02e0ad72, 0x031d3af2, 0x01c7cc5b, 0x0116bec2, 0x00358077}}}, + {X: Field{[10]uint32{0x02a5f0b0, 0x02e36f9f, 0x027b4242, 0x00c6d9b8, 0x02c5bb7d, 0x00aec273, 0x03aec947, 0x03aa06fc, 0x006bc54f, 0x001f0418}}, Y: Field{[10]uint32{0x01f68f54, 0x035df6ef, 0x010abd14, 0x00a8f809, 0x0202ea52, 0x0102d116, 0x01839872, 0x01590dd9, 0x0180d3d6, 0x00048854}}}, + {X: Field{[10]uint32{0x0152a1a6, 0x00ac05cb, 0x02495204, 0x0398ee11, 0x02740a5b, 0x0367ce12, 0x007822b1, 0x024ef1d3, 0x03948335, 0x002179aa}}, Y: Field{[10]uint32{0x01fae93a, 0x0397af80, 0x030f981f, 0x033371d7, 0x02d6e69f, 0x0334a38f, 0x02512138, 0x03e1aa3d, 0x00d068d6, 0x003d7058}}}, + {X: Field{[10]uint32{0x0351cfe5, 0x0044eb7f, 0x00a27f02, 0x03b2e203, 0x005e626a, 0x0151c7d4, 0x0374ea0e, 0x006e8146, 0x013a99cd, 0x001f878b}}, Y: Field{[10]uint32{0x01ad89bc, 0x012c0267, 0x0299781f, 0x033b0018, 0x02c1eb96, 0x00dbc6b7, 0x02322291, 0x03f8de30, 0x002ee9d4, 0x00104fb2}}}, + {X: Field{[10]uint32{0x007aaacd, 0x03af407a, 0x02bd2928, 0x02b1ca70, 0x016a9490, 0x024c7187, 0x03a08dd6, 0x00d7cbb5, 0x00ad8137, 0x00162590}}, Y: Field{[10]uint32{0x00485429, 0x0009c648, 0x02e15c1a, 0x026f8d0f, 0x017a1e90, 0x025b1335, 0x039fc330, 0x03ed2cd9, 0x010b8a89, 0x002275ac}}}, + {X: Field{[10]uint32{0x026e6608, 0x02b41017, 0x00c5d7b7, 0x03511046, 0x0191fdd7, 0x01d07067, 0x00db0ef3, 0x0173a3f7, 0x034ff346, 0x001c2033}}, Y: Field{[10]uint32{0x022441fe, 0x02b627e3, 0x03d347df, 0x0274d050, 0x00303348, 0x02036c76, 0x006d334f, 0x002e82d7, 0x01a95cbc, 0x001e8fc3}}}, + {X: Field{[10]uint32{0x02917c55, 0x026a1d89, 0x0261c7d5, 0x000d954f, 0x01091deb, 0x01dcdf0c, 0x0196bd4d, 0x0009a4b7, 0x034c2d40, 0x002ed982}}, Y: Field{[10]uint32{0x00983c24, 0x028fd030, 0x002faf5e, 0x00446370, 0x03f150af, 0x017a2e1b, 0x00684031, 0x00125c18, 0x0113a756, 0x002d252b}}}, + {X: Field{[10]uint32{0x03221b27, 0x03141b67, 0x02e0c1e2, 0x02c23376, 0x013f4f4f, 0x03629719, 0x008161c5, 0x0056c910, 0x01ec7ebf, 0x001ce890}}, Y: Field{[10]uint32{0x0063640a, 0x02f05d75, 0x0332b5e1, 0x024a8bdb, 0x0364bbe1, 0x03520363, 0x00865041, 0x0295bde1, 0x03b433a0, 0x002014d2}}}, + {X: Field{[10]uint32{0x00b1fe07, 0x0056aa9e, 0x03a6f89a, 0x000b0f5e, 0x039e45f2, 0x028ad62f, 0x005741e6, 0x03f6f1dc, 0x0351f08b, 0x003f707b}}, Y: Field{[10]uint32{0x016c0586, 0x039683a6, 0x00e36880, 0x0051d57d, 0x001684f7, 0x0160c950, 0x03ac05b5, 0x0121e191, 0x00dcdc1e, 0x001fa740}}}, + {X: Field{[10]uint32{0x033618af, 0x01ccf4e8, 0x007bc6d6, 0x00ea449a, 0x03a15ab1, 0x02838cf7, 0x0344736e, 0x017304ea, 0x02cba0ce, 0x00081210}}, Y: Field{[10]uint32{0x016bd521, 0x03e4ab32, 0x03a35896, 0x03708516, 0x029e1804, 0x0062a53c, 0x01187418, 0x02472feb, 0x0205a6e9, 0x002bf248}}}, + {X: Field{[10]uint32{0x017ed768, 0x02f2d805, 0x0193e0b2, 0x02660eeb, 0x01a47c4a, 0x00121a1a, 0x00095675, 0x00c54604, 0x001ef82c, 0x00280ea7}}, Y: Field{[10]uint32{0x02090a65, 0x033c67fd, 0x0263ca26, 0x028b7361, 0x0302158b, 0x02690ee2, 0x033e5eed, 0x01a603bb, 0x0164fb9c, 0x001e1be4}}}, + {X: Field{[10]uint32{0x03c00ed2, 0x026c56f6, 0x025baee1, 0x010b1515, 0x01fa18bd, 0x036a04f3, 0x015e3ff7, 0x005e118d, 0x025f6cb4, 0x00178edb}}, Y: Field{[10]uint32{0x02ee603f, 0x0000db10, 0x02cfde34, 0x022b1722, 0x019d6f35, 0x0234f936, 0x03b8f9f8, 0x008a13f0, 0x015342bf, 0x002e70e9}}}, + {X: Field{[10]uint32{0x005dbc70, 0x010e1728, 0x0254b015, 0x01d840a6, 0x00abf764, 0x03ec9d1b, 0x03dfbd6e, 0x004a0198, 0x020e082d, 0x00066c25}}, Y: Field{[10]uint32{0x01504773, 0x01993d39, 0x02f312d2, 0x03b64845, 0x0133df5d, 0x00d74107, 0x03356451, 0x004aa517, 0x03bc4401, 0x003e2ca2}}}, + {X: Field{[10]uint32{0x03f3677e, 0x01d98e37, 0x00d05098, 0x0076dafa, 0x006f1c2d, 0x028688b3, 0x039b274b, 0x02ebf9d2, 0x01007597, 0x0004187a}}, Y: Field{[10]uint32{0x01444b21, 0x0171e048, 0x00fa9815, 0x03c533d3, 0x01fe2fff, 0x03894629, 0x017b59eb, 0x024bb113, 0x0122dec5, 0x001c1eb2}}}, + {X: Field{[10]uint32{0x03030b85, 0x01c73c7c, 0x01f5709a, 0x0078ec55, 0x01cc0e22, 0x02683940, 0x039b5676, 0x01f61d50, 0x001160fc, 0x00324613}}, Y: Field{[10]uint32{0x00327805, 0x00fa608a, 0x02e308c4, 0x02527ec7, 0x018e83e5, 0x017c8e26, 0x01d30f87, 0x01a27f5b, 0x01e37c04, 0x002202da}}}, + {X: Field{[10]uint32{0x0374cf04, 0x01567fd0, 0x02f12d37, 0x0190988a, 0x01c8fa23, 0x01b09ae9, 0x005af94e, 0x014b363f, 0x03044dec, 0x0028d7ec}}, Y: Field{[10]uint32{0x012242fd, 0x035d5704, 0x0284042d, 0x01c614c9, 0x038b3604, 0x00d08b73, 0x03adcb9a, 0x00d612b1, 0x0375692a, 0x0005513c}}}, + {X: Field{[10]uint32{0x010929ca, 0x0012f46e, 0x00a8c1b2, 0x0069e000, 0x021b2c50, 0x02c4c3da, 0x00efbe8e, 0x03afa046, 0x03ad60ff, 0x002ea300}}, Y: Field{[10]uint32{0x03aaafbe, 0x00da71b8, 0x03722f11, 0x011eb84d, 0x0365b88d, 0x03de002a, 0x03732112, 0x010783eb, 0x0329a3f3, 0x003a57bd}}}, + {X: Field{[10]uint32{0x0330ddb9, 0x0346d4a3, 0x03ba3361, 0x017d7992, 0x02fe0849, 0x01268042, 0x03ba189f, 0x0229de5f, 0x0355842d, 0x0034ae95}}, Y: Field{[10]uint32{0x03df7957, 0x00c2fe94, 0x03d477c0, 0x00b0e42d, 0x000549e7, 0x00e95758, 0x00bc5f0c, 0x005e7de1, 0x01b10cad, 0x00368d9a}}}, + {X: Field{[10]uint32{0x008703f2, 0x036e6b9b, 0x0194a086, 0x01e552b2, 0x00d3de15, 0x020332c9, 0x031d2b28, 0x0222c9de, 0x03587ec9, 0x000f813a}}, Y: Field{[10]uint32{0x0328dd9c, 0x0336d3f9, 0x0207bb98, 0x02273170, 0x00ff3c60, 0x037e5bef, 0x031d6503, 0x021767ba, 0x0113e6dc, 0x003e9048}}}, + {X: Field{[10]uint32{0x019fe7f6, 0x0368f09a, 0x01ca17a0, 0x008177e4, 0x0260c9f1, 0x007d19b5, 0x019aefa9, 0x029274f8, 0x03424339, 0x003bf96e}}, Y: Field{[10]uint32{0x005156e9, 0x00fa74c9, 0x0008ff9e, 0x0029f2d1, 0x01e3576b, 0x01f3e7f1, 0x0221db29, 0x01903f3a, 0x012ffb39, 0x00263188}}}, + {X: Field{[10]uint32{0x02a0908b, 0x0359a92e, 0x008a302b, 0x00b6605b, 0x03bca2dc, 0x031383a9, 0x03e65915, 0x00cdb7bb, 0x02e5a330, 0x0028a510}}, Y: Field{[10]uint32{0x02a135e6, 0x0109ea77, 0x023112db, 0x02251199, 0x02dc5e77, 0x029bee79, 0x0374c130, 0x0391f0ed, 0x00297320, 0x00286fe2}}}, + {X: Field{[10]uint32{0x008bb792, 0x022aa23c, 0x013714da, 0x03fe0063, 0x0148e877, 0x0324862c, 0x01f632d1, 0x0097daa4, 0x00ba6f72, 0x001152f3}}, Y: Field{[10]uint32{0x01ec713c, 0x02562dd1, 0x00e3e918, 0x00f681f8, 0x01815775, 0x000ba837, 0x021106b2, 0x00ac0582, 0x01312d53, 0x0036837b}}}, + {X: Field{[10]uint32{0x00c2dca9, 0x0160d337, 0x01fced42, 0x020ba503, 0x00565737, 0x00941501, 0x00631afa, 0x02559b2c, 0x014032c3, 0x0000c58e}}, Y: Field{[10]uint32{0x03cc5fc7, 0x016a36f3, 0x004dd844, 0x017e9555, 0x0267f089, 0x03d359a2, 0x037464c6, 0x02c34691, 0x01c41b15, 0x00063158}}}, + {X: Field{[10]uint32{0x01b07703, 0x03f22112, 0x00a92bc4, 0x00e8ef38, 0x01524089, 0x03f1c4cb, 0x015fcedf, 0x01efc83c, 0x035f53f0, 0x00152d4d}}, Y: Field{[10]uint32{0x01abdee7, 0x0058fb98, 0x026a7b3f, 0x031b59c8, 0x00f5df11, 0x028ba886, 0x02922bdf, 0x01094794, 0x033f0a94, 0x000c6f8a}}}, + {X: Field{[10]uint32{0x0058b3bd, 0x02dfb980, 0x003280d2, 0x03118e7a, 0x00de9033, 0x025368f3, 0x03b9b6a6, 0x03419caf, 0x031b0745, 0x000a0f38}}, Y: Field{[10]uint32{0x00c0245a, 0x00801136, 0x0338ff9d, 0x02a99eaa, 0x010dc1c7, 0x03a074b2, 0x01c24e76, 0x02ed5b8f, 0x00a4d452, 0x003daa52}}}, + {X: Field{[10]uint32{0x00e99967, 0x0059fc84, 0x033e3a60, 0x00c5892e, 0x0148d5f8, 0x0012515e, 0x012419cb, 0x029d51ec, 0x0353117b, 0x002d79d3}}, Y: Field{[10]uint32{0x018dd3e6, 0x0120a01c, 0x01b5e10d, 0x007d33f6, 0x003da833, 0x03ce0c02, 0x03c22e89, 0x03e6aaa0, 0x0354d635, 0x0017d8d5}}}, + {X: Field{[10]uint32{0x03f83080, 0x0159c4f2, 0x031340a8, 0x012c7349, 0x03d587c3, 0x0335476b, 0x00dc776f, 0x00c60c5c, 0x0332cfa3, 0x001a0797}}, Y: Field{[10]uint32{0x0279266a, 0x0106951c, 0x010e38f2, 0x03bfef8e, 0x0276f646, 0x01ff3cc2, 0x00361d9b, 0x039375ed, 0x00b8d144, 0x003161f6}}}, + {X: Field{[10]uint32{0x029f1d0c, 0x01697f40, 0x00621b92, 0x00857fe3, 0x012f28b2, 0x00177d5b, 0x021ec17d, 0x00a27c94, 0x02b7722f, 0x0007ee97}}, Y: Field{[10]uint32{0x0311f5ba, 0x0372fa7a, 0x037d1524, 0x018d6cae, 0x0234283b, 0x032b2d9a, 0x03f287ef, 0x03f537e9, 0x00d997ec, 0x0037c450}}}, + {X: Field{[10]uint32{0x020d0a77, 0x004c029a, 0x00f2031e, 0x01933095, 0x0217855b, 0x00cfc6f3, 0x038fc5a7, 0x022cf3b4, 0x00b0df37, 0x000e2ffd}}, Y: Field{[10]uint32{0x0206b1be, 0x03728719, 0x03dc2520, 0x01979cef, 0x01f35a50, 0x0094dd1d, 0x00485ee3, 0x00a5b993, 0x025df634, 0x001b53c1}}}, + {X: Field{[10]uint32{0x017de831, 0x023dd3b9, 0x015ed6e0, 0x0281df32, 0x03779df8, 0x01ed5e63, 0x00050d52, 0x00992ef9, 0x03c359a9, 0x001c1c04}}, Y: Field{[10]uint32{0x014ea422, 0x032455c0, 0x00c3fda9, 0x029d8cb9, 0x02582313, 0x00f3662b, 0x03b8dcc5, 0x021b0195, 0x01a03153, 0x002e7cde}}}, + {X: Field{[10]uint32{0x01642ef5, 0x028fd8d1, 0x0135a73d, 0x02467799, 0x03fc5b8c, 0x0082416a, 0x010abbb3, 0x00921392, 0x012f7028, 0x002b653b}}, Y: Field{[10]uint32{0x02c88457, 0x01c0b0aa, 0x02bd6cb8, 0x01cdb409, 0x020fdf49, 0x01951485, 0x00011fec, 0x0387cfa6, 0x0013a554, 0x00276fa2}}}, + {X: Field{[10]uint32{0x0362612e, 0x0115613f, 0x001f54f5, 0x021d62e2, 0x00fd174f, 0x0110de17, 0x01ad1552, 0x021da926, 0x01e4e991, 0x0011ed5b}}, Y: Field{[10]uint32{0x00efdced, 0x0356695f, 0x012d986b, 0x03483524, 0x03383d92, 0x03dd4ddd, 0x016117a5, 0x02faddf1, 0x01375855, 0x00028501}}}, + {X: Field{[10]uint32{0x01f431e8, 0x03ded205, 0x036af03c, 0x013433cc, 0x03f31f62, 0x0047ca04, 0x024643af, 0x029a4c7c, 0x024e9291, 0x00146f39}}, Y: Field{[10]uint32{0x0107e552, 0x00eaaebb, 0x02e13a06, 0x01a435d6, 0x03f40c4c, 0x00480e53, 0x0235d284, 0x00891c3b, 0x03d9a301, 0x00023dd0}}}, + {X: Field{[10]uint32{0x03f7a43f, 0x02e550b9, 0x03447a0c, 0x03b80ef1, 0x0083b80b, 0x026d3af8, 0x018e56b4, 0x01683f3a, 0x00feb52c, 0x001d8a1f}}, Y: Field{[10]uint32{0x02a7a7bc, 0x00cfadb8, 0x007ff13e, 0x026f7161, 0x03e9e339, 0x003662c1, 0x01d064a5, 0x0112ef4e, 0x0256fa57, 0x001cdadf}}}, + {X: Field{[10]uint32{0x036b8f5e, 0x02b37037, 0x0155b181, 0x0333c713, 0x028dc29b, 0x006dddc6, 0x011aaa2c, 0x000430c6, 0x039ead01, 0x0018535c}}, Y: Field{[10]uint32{0x002f8085, 0x036d9b43, 0x031664f4, 0x036eabc1, 0x025591ef, 0x00001193, 0x0296c2c5, 0x01eddb22, 0x028fe860, 0x00173353}}}, + {X: Field{[10]uint32{0x024e1bc9, 0x00b4ce97, 0x0380803e, 0x02262598, 0x0035cd58, 0x00354fb4, 0x039404d9, 0x00d7cacc, 0x00c8ee8c, 0x0030e111}}, Y: Field{[10]uint32{0x00cd29f2, 0x02febd9b, 0x03f441f4, 0x02685ae4, 0x031d2ffc, 0x021fea6a, 0x02221092, 0x014baf70, 0x00cdde54, 0x0022d102}}}, + {X: Field{[10]uint32{0x01c8f349, 0x0077dea6, 0x02539239, 0x025cb6ed, 0x0256a1c1, 0x014aff79, 0x019bf028, 0x01bcd760, 0x0249c601, 0x0022a725}}, Y: Field{[10]uint32{0x0369a8ed, 0x03a5d2b5, 0x001afdc6, 0x0168ce46, 0x031797aa, 0x0132d402, 0x00a6030a, 0x0067e9b1, 0x0157be2c, 0x002cb736}}}, + {X: Field{[10]uint32{0x02a04b03, 0x02ccc46f, 0x026bced6, 0x02d0745d, 0x0196292a, 0x0334a35d, 0x010ea0a6, 0x025c2497, 0x011be444, 0x00283d73}}, Y: Field{[10]uint32{0x027ff95b, 0x03e56524, 0x034b868a, 0x00681c73, 0x00c8d793, 0x03912738, 0x0045d923, 0x00a6c338, 0x01e9291b, 0x00349c2c}}}, + {X: Field{[10]uint32{0x033a9614, 0x03530447, 0x03a64709, 0x0372a550, 0x0025c64d, 0x00a38964, 0x03bdbaf0, 0x01661deb, 0x03368767, 0x0029e3c8}}, Y: Field{[10]uint32{0x02a6de83, 0x007c108c, 0x01e7ee24, 0x02690e7d, 0x01de34aa, 0x007d4346, 0x0245b3ab, 0x0116fb94, 0x02c9a5d2, 0x0004d97e}}}, + {X: Field{[10]uint32{0x03391769, 0x03f0f902, 0x03b514a9, 0x00c27b8f, 0x03af6cae, 0x0104e91a, 0x03aa6f5a, 0x00b16e4a, 0x03e3ae48, 0x000eff4d}}, Y: Field{[10]uint32{0x016d1c59, 0x01553c0e, 0x03d66bdc, 0x0019371f, 0x03d0219c, 0x01de3273, 0x02424a07, 0x02c3719b, 0x001834bb, 0x000b64c2}}}, + {X: Field{[10]uint32{0x013881a2, 0x00735c74, 0x00e5d1b4, 0x00f580bb, 0x02d426f2, 0x039e5b4a, 0x036ea757, 0x00748f9d, 0x009a0026, 0x0024b2b1}}, Y: Field{[10]uint32{0x031521c1, 0x02124b95, 0x035dac0d, 0x032061e8, 0x00c7a43a, 0x02303176, 0x023e587a, 0x00df2266, 0x00138e0f, 0x00231dbb}}}, + {X: Field{[10]uint32{0x0356842a, 0x01008502, 0x01d6b829, 0x0379ea5b, 0x03718944, 0x0124d59e, 0x03708941, 0x03719f30, 0x01e00ea7, 0x00033dbb}}, Y: Field{[10]uint32{0x00627cb7, 0x03a343d5, 0x0042ca76, 0x0343d646, 0x020fa070, 0x00f72314, 0x016128a5, 0x01822deb, 0x03d4e939, 0x0038adc5}}}, + {X: Field{[10]uint32{0x0291e17a, 0x006fe0be, 0x0035e3dd, 0x00b44781, 0x00968c8c, 0x02c1b886, 0x02cb92bb, 0x00a5149b, 0x0198ba51, 0x00188132}}, Y: Field{[10]uint32{0x00cd0ea4, 0x0362b765, 0x03939d12, 0x031e6981, 0x03d1ed18, 0x002bca8f, 0x03ae21ef, 0x01972723, 0x015fe783, 0x0005a428}}}, + {X: Field{[10]uint32{0x00c0aa5d, 0x006bff79, 0x03f12ef7, 0x001fc88d, 0x02d8ce07, 0x01ab0b85, 0x0268d13a, 0x000384d4, 0x0348cc55, 0x0028b13e}}, Y: Field{[10]uint32{0x000cd839, 0x03cb5c0f, 0x039509e5, 0x01ea3566, 0x03c403f5, 0x016048ea, 0x03e3906c, 0x03225f2d, 0x000ee608, 0x000e0251}}}, + {X: Field{[10]uint32{0x03656f60, 0x01e1cf7a, 0x024f2b66, 0x03135cc8, 0x016acc8e, 0x00ecb8c2, 0x01a36a6d, 0x00f92f17, 0x03a1cc30, 0x00362bdf}}, Y: Field{[10]uint32{0x00c6de0d, 0x0333fffc, 0x02e5ddd4, 0x006e7b7a, 0x015e14d8, 0x00116c4d, 0x03b39f97, 0x00cf1437, 0x02bd5a55, 0x0027f1fc}}}, + {X: Field{[10]uint32{0x02dea0e7, 0x035dd75d, 0x0390a864, 0x00fb476b, 0x01377073, 0x0014c12f, 0x00e6bbdb, 0x00a46981, 0x00adb873, 0x000fa680}}, Y: Field{[10]uint32{0x0101ded0, 0x023bad02, 0x0063051f, 0x026cc86d, 0x0320a5cb, 0x0066a35d, 0x0124e37f, 0x0313bd4d, 0x0057f6d1, 0x0037ad25}}}, + {X: Field{[10]uint32{0x03dc3d7f, 0x03943974, 0x0136809d, 0x0357a862, 0x01760ca8, 0x0306cab2, 0x014346aa, 0x01883261, 0x02e930aa, 0x0002fbd6}}, Y: Field{[10]uint32{0x00dfc48f, 0x037eb592, 0x03034c0f, 0x028ff8dc, 0x0105da98, 0x03501079, 0x0212b9c7, 0x017d66c0, 0x0042f792, 0x00083603}}}, + {X: Field{[10]uint32{0x0155f67f, 0x00ad2424, 0x0035d592, 0x011e2229, 0x0238215e, 0x03ce5916, 0x01743088, 0x03541db0, 0x01fbcd28, 0x0033505a}}, Y: Field{[10]uint32{0x01e74674, 0x030bc98d, 0x025b929d, 0x03192d6a, 0x00a170da, 0x015b06da, 0x025f2743, 0x01937569, 0x00a21a55, 0x003e798b}}}, + {X: Field{[10]uint32{0x015a4c28, 0x02d810bb, 0x0121d538, 0x004533ce, 0x014bd37b, 0x025f5db3, 0x01a25047, 0x009893f7, 0x01ed34cd, 0x00292da4}}, Y: Field{[10]uint32{0x026af55d, 0x01b08174, 0x02d12c33, 0x01ddcb1c, 0x025c045a, 0x00f8ce5f, 0x030ca545, 0x02d30456, 0x00b16781, 0x003194dd}}}, + {X: Field{[10]uint32{0x00aa4818, 0x01576f62, 0x0047dc9e, 0x0056fe7a, 0x03c2b3a6, 0x02a14303, 0x03cf68fa, 0x02de2065, 0x016a4226, 0x001793a4}}, Y: Field{[10]uint32{0x0398951e, 0x02128c6d, 0x032808d9, 0x0014fac9, 0x03f3395d, 0x0193d2cb, 0x01991f44, 0x014b9972, 0x02a25c7c, 0x000fcf0f}}}, + {X: Field{[10]uint32{0x03a74a7c, 0x011d357a, 0x0105ca5f, 0x02e88653, 0x01f743e6, 0x00293180, 0x011b3ad5, 0x027dcb25, 0x02cff4d6, 0x003751e0}}, Y: Field{[10]uint32{0x00977b99, 0x0304b208, 0x0281d6c7, 0x0247536c, 0x0205d3a7, 0x018a3630, 0x03dd6ae8, 0x03bdf178, 0x035e9854, 0x0025e9ee}}}, + {X: Field{[10]uint32{0x01adce36, 0x02026470, 0x02f0bcc0, 0x01044f92, 0x00281aff, 0x019a701f, 0x03945432, 0x0017b376, 0x02d54ab4, 0x002854c2}}, Y: Field{[10]uint32{0x0263e756, 0x01125612, 0x0168a774, 0x02dbf6ee, 0x01b18550, 0x038aa96c, 0x01dda781, 0x0210b977, 0x02212732, 0x003cf494}}}, + {X: Field{[10]uint32{0x0264719e, 0x035db2a7, 0x013234a2, 0x00cab639, 0x03e5ee0d, 0x00cabd92, 0x014523f2, 0x0393c018, 0x02f7b438, 0x00146493}}, Y: Field{[10]uint32{0x028a8095, 0x01631dc4, 0x00176268, 0x01563ab6, 0x03fdfe6e, 0x02d912fe, 0x036e82b8, 0x0136d59c, 0x01a811f9, 0x0021f045}}}, + {X: Field{[10]uint32{0x03fada6e, 0x03555a14, 0x03563a3b, 0x01701ae5, 0x016ac905, 0x03882a75, 0x03625d4b, 0x0361d041, 0x0268e137, 0x0020b3fb}}, Y: Field{[10]uint32{0x00733b7a, 0x019e61cc, 0x01cc06ff, 0x01e140a9, 0x02a363e9, 0x037b9e9c, 0x02804d76, 0x031471ca, 0x0246c4f5, 0x0037526a}}}, + {X: Field{[10]uint32{0x032e623a, 0x03f5f957, 0x03f30a4e, 0x03f4b30e, 0x02e02b70, 0x00db1f69, 0x021346b0, 0x03bd1016, 0x0076f7f1, 0x0028dce2}}, Y: Field{[10]uint32{0x0204a21a, 0x0365847a, 0x02edf368, 0x00d9606c, 0x02b1204d, 0x01200cc6, 0x00de46e5, 0x014acaf8, 0x012be1ea, 0x001965bd}}}, + {X: Field{[10]uint32{0x0180bcbc, 0x000d960a, 0x01d7dd82, 0x02cc62c3, 0x028d8382, 0x00b33c92, 0x0224fd6b, 0x00635cad, 0x02f7aec8, 0x002b9329}}, Y: Field{[10]uint32{0x018f1ae2, 0x02325eb7, 0x015e9237, 0x02586aa6, 0x03348155, 0x015322ee, 0x02a29f25, 0x01f15c78, 0x020335ad, 0x001a9eb6}}}, + {X: Field{[10]uint32{0x01d12732, 0x03df7ea2, 0x006b1400, 0x0250b614, 0x004d6ac8, 0x03732e72, 0x018d1984, 0x01d8be6c, 0x022bfa9d, 0x002f8cd5}}, Y: Field{[10]uint32{0x0075d442, 0x034b9ba5, 0x008fe473, 0x015a40c1, 0x01c4f5c9, 0x013a1d29, 0x0336cc21, 0x019a9cd4, 0x03b877c6, 0x002d99bb}}}, + {X: Field{[10]uint32{0x03c74446, 0x02e4b68d, 0x01ecf37c, 0x007c1711, 0x03f38289, 0x02983fda, 0x003b2888, 0x00f6e14c, 0x02d9815b, 0x00275f69}}, Y: Field{[10]uint32{0x015b12a8, 0x00ada35d, 0x001ac540, 0x003627f3, 0x00df3d2c, 0x02d04f51, 0x01f6d734, 0x016f8398, 0x007372ba, 0x0011b0a4}}}, + {X: Field{[10]uint32{0x030d4d3f, 0x02a77d0e, 0x02366b62, 0x03edf266, 0x020b5981, 0x02edecef, 0x02028498, 0x030af301, 0x0131e513, 0x000e48cf}}, Y: Field{[10]uint32{0x0116dfd8, 0x038e136e, 0x03c81f97, 0x012ea6bf, 0x001ec57d, 0x0187e9dd, 0x00ac3e1c, 0x03a93d36, 0x017c92e0, 0x003f09e1}}}, + {X: Field{[10]uint32{0x037768be, 0x039450f6, 0x004b43f7, 0x00cea0b6, 0x02547e6f, 0x02d63d06, 0x00d02dd7, 0x03a0ec16, 0x0388db90, 0x0016f8b5}}, Y: Field{[10]uint32{0x03de1026, 0x0127cbdb, 0x00875b90, 0x01ae6899, 0x03d585ef, 0x0213edb3, 0x01396f2e, 0x03e8cf9c, 0x03a86b2d, 0x0002e33c}}}, + {X: Field{[10]uint32{0x00f162ac, 0x01e187a2, 0x035d682f, 0x02f8e09f, 0x027c53a0, 0x01c011e7, 0x03600c25, 0x02853044, 0x01e8191f, 0x000ffd67}}, Y: Field{[10]uint32{0x01c77ba2, 0x01730c8b, 0x024dfd81, 0x03ed79e6, 0x0308ae4e, 0x009e6847, 0x03f5f60c, 0x02db9efb, 0x01856ab0, 0x00009756}}}, + {X: Field{[10]uint32{0x019a256f, 0x01d6f05c, 0x01b5875f, 0x029398c1, 0x00b61a18, 0x02803e36, 0x02d9475d, 0x00648262, 0x0030ed22, 0x00207727}}, Y: Field{[10]uint32{0x014682a5, 0x01e34a3d, 0x03fc2ca6, 0x00913503, 0x009cccf0, 0x01a6897e, 0x038f9c98, 0x032c9e9b, 0x005e5c44, 0x000a5c1d}}}, + {X: Field{[10]uint32{0x0370e9da, 0x0168f926, 0x00d24f76, 0x010eedea, 0x02ea3869, 0x00c353d2, 0x036121b2, 0x01026455, 0x0216579c, 0x002e8f87}}, Y: Field{[10]uint32{0x02c72f4e, 0x02088d8c, 0x02abd90f, 0x039956ae, 0x0154eb0d, 0x034c39ec, 0x01d8d9c7, 0x03e99e2a, 0x0008653c, 0x00287bae}}}, + {X: Field{[10]uint32{0x03f854f8, 0x02271220, 0x0304ca05, 0x0250ee5b, 0x01fa66d1, 0x02df479a, 0x01f52a51, 0x02bb8450, 0x028150fa, 0x0000d7ff}}, Y: Field{[10]uint32{0x01366fad, 0x03422a32, 0x00dc9b7d, 0x018c181c, 0x00b4ad31, 0x03c44170, 0x00a09b8d, 0x01b74ff3, 0x0022e83f, 0x00359a86}}}, + {X: Field{[10]uint32{0x00763a06, 0x0142ab58, 0x00f685b9, 0x038f95c9, 0x038b50d7, 0x00e2e605, 0x0214c0ae, 0x03e5c870, 0x00221435, 0x000e63af}}, Y: Field{[10]uint32{0x00811f46, 0x016e0120, 0x03011682, 0x021c5240, 0x0115551b, 0x030b233a, 0x00d4da7f, 0x03baaff3, 0x009d0eb2, 0x0030b7d5}}}, + {X: Field{[10]uint32{0x00a89e96, 0x0284e243, 0x01a0d6cf, 0x00aa913f, 0x029ca89d, 0x01397387, 0x018511a8, 0x029d7474, 0x0333e7d0, 0x000ae89f}}, Y: Field{[10]uint32{0x017cf4a7, 0x02d98ae6, 0x02f19c6b, 0x0153f304, 0x0045c2ac, 0x02472845, 0x039946cc, 0x01d70e3c, 0x004b8323, 0x001408da}}}, + {X: Field{[10]uint32{0x01e829c2, 0x034547be, 0x0014465c, 0x00fbc7fc, 0x032b5497, 0x014c60ba, 0x02cd4856, 0x007e4813, 0x023e7ec5, 0x001095c1}}, Y: Field{[10]uint32{0x01232c1c, 0x01518ad5, 0x015d747c, 0x016a04ab, 0x00919f8b, 0x01a6af59, 0x009ab35b, 0x00145447, 0x034116dd, 0x0011cd47}}}, + {X: Field{[10]uint32{0x034063a8, 0x03c5cb66, 0x006ebe3e, 0x025623b9, 0x0180da81, 0x00b95946, 0x0218582d, 0x03295a50, 0x03c1b5b3, 0x001df9cd}}, Y: Field{[10]uint32{0x01d1587a, 0x038830a2, 0x007b50e0, 0x017135ec, 0x03651ae4, 0x032e44b8, 0x008d4f11, 0x0262b4df, 0x01c5e667, 0x0003df2d}}}, + {X: Field{[10]uint32{0x00cdaa4f, 0x03bb1e8d, 0x028c44a7, 0x010d1ed7, 0x01ef027d, 0x02932dcb, 0x02f98b82, 0x02307ef7, 0x024d7101, 0x0037f2ed}}, Y: Field{[10]uint32{0x03972a23, 0x02c31765, 0x01a92e06, 0x0160b72a, 0x01bc2f4e, 0x014713c2, 0x03379e87, 0x01d6222b, 0x01bcc720, 0x0037f033}}}, + {X: Field{[10]uint32{0x0355ae8a, 0x0258ab74, 0x00e78ce6, 0x0388a94b, 0x01b39855, 0x011b5c62, 0x02c52567, 0x007a38ca, 0x02d0a787, 0x0023ada1}}, Y: Field{[10]uint32{0x00cc30da, 0x038cc71b, 0x02a5ed71, 0x01d5ba29, 0x0389b796, 0x0308b17e, 0x00afe424, 0x00a0dff4, 0x0211fec5, 0x003aa2cd}}}, + {X: Field{[10]uint32{0x02cc3e54, 0x025ac74d, 0x0298785a, 0x00b6fa9e, 0x02ee5652, 0x0313083f, 0x02703ff8, 0x00b754c5, 0x0313ebaf, 0x00345f61}}, Y: Field{[10]uint32{0x01c10b54, 0x007616f7, 0x038b5682, 0x01c9391b, 0x00e9fdb8, 0x03e25074, 0x00a7a19b, 0x018b2a76, 0x03e86d78, 0x003a9c2d}}}, + {X: Field{[10]uint32{0x00b3ba89, 0x000df88c, 0x02cfa3ec, 0x007e0b35, 0x02249c47, 0x0053bbb6, 0x02d28e9c, 0x00287215, 0x03e6ae05, 0x001f531d}}, Y: Field{[10]uint32{0x0265fe60, 0x01cffa58, 0x027bcea7, 0x0230f686, 0x01900ad6, 0x009f440b, 0x0180f393, 0x037e4d2c, 0x0253f5fb, 0x0031681d}}}, + {X: Field{[10]uint32{0x017ebcab, 0x014306d3, 0x01e88f4f, 0x03b4378e, 0x003721dc, 0x02c942f3, 0x021d51b3, 0x0179a1b5, 0x0109451e, 0x00258e04}}, Y: Field{[10]uint32{0x00801b64, 0x01745959, 0x003947f1, 0x00529c8a, 0x0209f065, 0x035bc3f9, 0x017642bd, 0x032951fc, 0x0019b088, 0x0025263d}}}, + {X: Field{[10]uint32{0x038c2ba7, 0x02be42a5, 0x00d208af, 0x020ff68f, 0x0385f44e, 0x023d3a54, 0x02da8f2f, 0x00f5cdec, 0x01505435, 0x001d002d}}, Y: Field{[10]uint32{0x01909771, 0x022ab9ff, 0x008be6b1, 0x00749d41, 0x02e36bed, 0x036c7572, 0x0129a04c, 0x00d9df88, 0x00a3ce50, 0x00264ceb}}}, + {X: Field{[10]uint32{0x026ff59f, 0x00792e81, 0x01be2a01, 0x030e4ed4, 0x00d1de3b, 0x03c4baf6, 0x02f59639, 0x02ff49c7, 0x0011fff7, 0x000f5ec3}}, Y: Field{[10]uint32{0x02404b9d, 0x007133cc, 0x01789b79, 0x00bdd51a, 0x008bddb1, 0x02a21851, 0x01eb57d8, 0x02839738, 0x00317f7c, 0x002d8e5d}}}, + {X: Field{[10]uint32{0x01c46328, 0x01bd33d9, 0x0343c5cd, 0x0377f78d, 0x0245d128, 0x03237665, 0x03125455, 0x01fc5398, 0x01ec7ebf, 0x00125136}}, Y: Field{[10]uint32{0x00589996, 0x009c6fcb, 0x01d1f5bf, 0x036449b2, 0x035c2f49, 0x02747cf4, 0x01cd408c, 0x02bb04ca, 0x019313ba, 0x003c1954}}}, + {X: Field{[10]uint32{0x01bdecf1, 0x0391b49e, 0x00b5189c, 0x00cda6eb, 0x01f37b99, 0x03822cd5, 0x0207d6d8, 0x02c743e1, 0x032b4764, 0x00265810}}, Y: Field{[10]uint32{0x03160ebd, 0x02b15ac1, 0x0386578f, 0x03e37aea, 0x03f7e1a9, 0x030852b7, 0x0200ea9e, 0x034be8a4, 0x034c0921, 0x000c13ae}}}, + {X: Field{[10]uint32{0x033de4d6, 0x0212a8ee, 0x0281d9ca, 0x01658cc5, 0x019196cc, 0x009ad77b, 0x03409cc7, 0x015963f0, 0x035b6358, 0x000c4fd4}}, Y: Field{[10]uint32{0x016c9716, 0x01024bf1, 0x01fb3dd6, 0x03fe3266, 0x0159b049, 0x0007fd3c, 0x0323bcfd, 0x0383af97, 0x008aa55f, 0x00394469}}}, + {X: Field{[10]uint32{0x008ed7b2, 0x03c0d315, 0x01bcb3cc, 0x03597004, 0x00c99478, 0x03d3dd3b, 0x01b9006e, 0x01b7036e, 0x006f8cd3, 0x00217116}}, Y: Field{[10]uint32{0x03434229, 0x02d34416, 0x01f63a75, 0x01699d8e, 0x00144c8c, 0x03e6c01c, 0x02325923, 0x0175b371, 0x03c0045c, 0x00335a54}}}, + {X: Field{[10]uint32{0x00671af8, 0x01c1be65, 0x0251d21d, 0x0036d935, 0x03d489b2, 0x01ce07ba, 0x01b668db, 0x00d6747b, 0x02d2a7fc, 0x0025a2f1}}, Y: Field{[10]uint32{0x00725186, 0x02f6df3c, 0x033ce0d0, 0x03f02d4b, 0x02de88bc, 0x0396545f, 0x032f3304, 0x01c1f306, 0x02a3723d, 0x003ec2b5}}}, + {X: Field{[10]uint32{0x0328985d, 0x023158ef, 0x024200e5, 0x03373fda, 0x0326d343, 0x01bb03a1, 0x00c72215, 0x039dfb9b, 0x00eb3722, 0x0008c96b}}, Y: Field{[10]uint32{0x038d39e1, 0x03323fe1, 0x03a5a21a, 0x03f7a06e, 0x0019b9c8, 0x03cfa7bb, 0x02596836, 0x0165e3ca, 0x0353dd29, 0x0018069f}}}, + {X: Field{[10]uint32{0x03acd2e4, 0x001ff759, 0x01dff054, 0x00d61f0c, 0x024b1c93, 0x02abcca9, 0x00667f99, 0x00efab70, 0x02abb231, 0x00231b9d}}, Y: Field{[10]uint32{0x0250c29f, 0x01444b47, 0x02a46b3f, 0x00b8d036, 0x023d7bb9, 0x00a6ce43, 0x03b19c42, 0x037ceb24, 0x0050d422, 0x0009f8ee}}}, + {X: Field{[10]uint32{0x0236748f, 0x03508c17, 0x037af9d8, 0x02a22e60, 0x000352e7, 0x0354e285, 0x02b2c728, 0x0234f935, 0x02313446, 0x0038c7fb}}, Y: Field{[10]uint32{0x010309be, 0x02686c9b, 0x00139e41, 0x00f8a035, 0x0237f9df, 0x02684078, 0x03974f6b, 0x0123e24d, 0x02e12d19, 0x00226c25}}}, + {X: Field{[10]uint32{0x00d306c6, 0x0305f52c, 0x02981215, 0x02c19eb8, 0x00da748a, 0x03968ce6, 0x0342fdd7, 0x0012d1f1, 0x006e8494, 0x00165ad6}}, Y: Field{[10]uint32{0x02a0a16b, 0x03863e18, 0x02791ff6, 0x0180acb3, 0x012ac277, 0x036b7c86, 0x00e8f05e, 0x031c4579, 0x00c5912c, 0x003a5b17}}}, + {X: Field{[10]uint32{0x01aa1c02, 0x01492185, 0x03317714, 0x028e0c4f, 0x03d453d5, 0x006549c3, 0x019c3b71, 0x00032e86, 0x01675cf5, 0x00080330}}, Y: Field{[10]uint32{0x0320ce61, 0x01e73d54, 0x024b3e7b, 0x013b05f7, 0x011905e2, 0x024900dc, 0x005c1334, 0x010a7191, 0x00c87e34, 0x001e02ab}}}, + {X: Field{[10]uint32{0x02d2025f, 0x017a774a, 0x01767dfb, 0x01be04cc, 0x0370f0e9, 0x01e93c91, 0x01148f87, 0x007f3c1e, 0x0032e10e, 0x001f9355}}, Y: Field{[10]uint32{0x03aa432a, 0x02d49458, 0x0136eec0, 0x03284f8c, 0x01fa58f0, 0x0105e60b, 0x03f5fd7d, 0x00a0dfcd, 0x03b26ee8, 0x000d7d76}}}, + {X: Field{[10]uint32{0x000237b7, 0x02edef67, 0x030e5776, 0x01e4d4a1, 0x00ff21f8, 0x01bac430, 0x038f800b, 0x01f9b9e9, 0x010895c9, 0x00307b5d}}, Y: Field{[10]uint32{0x03418fb9, 0x005063fa, 0x01bb1d8b, 0x02565c82, 0x01a38e80, 0x013ffb0f, 0x031e89f6, 0x02aa2670, 0x02068dc0, 0x00241c8e}}}, + {X: Field{[10]uint32{0x02104770, 0x0339cc2c, 0x018defc7, 0x02b9a55b, 0x029948dd, 0x00576374, 0x01239b2a, 0x02027e0f, 0x02e8a53e, 0x00397f52}}, Y: Field{[10]uint32{0x031c4fa2, 0x00bc37bd, 0x0112ade0, 0x03d77d30, 0x03050c7b, 0x017cb76e, 0x00e8ebd3, 0x00865c82, 0x029c1cbb, 0x001a9376}}}, + {X: Field{[10]uint32{0x0251f30d, 0x01bab076, 0x03f2ca76, 0x0057d9cc, 0x03e3534d, 0x00be7b3b, 0x0372cdb4, 0x02f621ea, 0x01f24b33, 0x0000f39d}}, Y: Field{[10]uint32{0x02838ed7, 0x03c132c6, 0x0136213b, 0x02334f72, 0x01a43eb4, 0x00a2bd56, 0x00e9b5d8, 0x03db898b, 0x015b51dd, 0x0027b68c}}}, + {X: Field{[10]uint32{0x0013391c, 0x033bcee2, 0x01d34ad8, 0x02a23867, 0x00527fb9, 0x01fb7d66, 0x018d8ce7, 0x00735392, 0x004f33a8, 0x00263013}}, Y: Field{[10]uint32{0x038bd3a7, 0x03c185ff, 0x01949483, 0x00ea3fc8, 0x03acb484, 0x00158255, 0x0371c463, 0x03e04bd0, 0x0167f853, 0x003f4af3}}}, + {X: Field{[10]uint32{0x0287bbf3, 0x02281e42, 0x001b10fc, 0x00a1b905, 0x01f3d2dd, 0x004f390f, 0x00e62f84, 0x032c1b2f, 0x00882906, 0x000143a7}}, Y: Field{[10]uint32{0x002fa3fb, 0x01890f36, 0x00a9ce1c, 0x0168bcf2, 0x02479a61, 0x028111d2, 0x01eefb2b, 0x006731a1, 0x013bb05f, 0x00010f1c}}}, + {X: Field{[10]uint32{0x03adf2d1, 0x022a0c50, 0x023a2eeb, 0x0190a9cf, 0x0071bf65, 0x03c86ddb, 0x00faa663, 0x0378ec19, 0x0217458b, 0x0017506e}}, Y: Field{[10]uint32{0x03b6cec5, 0x031117d5, 0x0351087c, 0x029da1d8, 0x0307f64f, 0x01eac163, 0x039e22b0, 0x008564ac, 0x0054b308, 0x0005fbff}}}, + {X: Field{[10]uint32{0x00d5b077, 0x00e3e749, 0x023e789d, 0x018191bf, 0x026b34cc, 0x0364b81d, 0x003cb8e1, 0x0164edba, 0x00bf2a02, 0x00138ccb}}, Y: Field{[10]uint32{0x039e1f95, 0x00aa1679, 0x01955c8b, 0x00f77b34, 0x01744ad0, 0x0278e478, 0x03699859, 0x000c0256, 0x005c3ab9, 0x00143e9d}}}, + {X: Field{[10]uint32{0x01a2dae9, 0x005baecd, 0x013f8347, 0x01f3776d, 0x03c83cd4, 0x00d04141, 0x017455e4, 0x02096f0d, 0x029d27ee, 0x0006efd8}}, Y: Field{[10]uint32{0x01e9bb75, 0x03ea250f, 0x0370971f, 0x01a58074, 0x018fb72f, 0x002f6179, 0x000070ec, 0x014fcd3d, 0x00c1e997, 0x00214242}}}, + {X: Field{[10]uint32{0x01cde650, 0x03d6c06d, 0x01b8aa25, 0x026f71e7, 0x0023aece, 0x03af72cc, 0x00cb3f5d, 0x0358aab4, 0x02eff9db, 0x002a4526}}, Y: Field{[10]uint32{0x00c327bd, 0x03c2fdad, 0x01a79918, 0x02318766, 0x02ae3c14, 0x037da1b5, 0x00a16d09, 0x00447d1a, 0x0346e6db, 0x0029eed2}}}, + {X: Field{[10]uint32{0x01b72a71, 0x0385c87f, 0x0037ffc5, 0x0375d7e0, 0x03b98ffc, 0x02c876b2, 0x01e5b406, 0x03590867, 0x01ee0185, 0x00200402}}, Y: Field{[10]uint32{0x03e26441, 0x00b96bcd, 0x010f2daf, 0x00162619, 0x01382839, 0x01171d7c, 0x0136f706, 0x02b5b077, 0x020957c7, 0x003a0859}}}, + {X: Field{[10]uint32{0x00ba6770, 0x01a2a1b0, 0x0068ab73, 0x00e4e401, 0x0096c6b6, 0x01bc4cbb, 0x02345846, 0x03d9e82c, 0x019ae466, 0x00301c3a}}, Y: Field{[10]uint32{0x00769362, 0x01124154, 0x00171a15, 0x033e703c, 0x03be6f8f, 0x02ca47ff, 0x016f77e3, 0x013d5a29, 0x03df358d, 0x00220fea}}}, + {X: Field{[10]uint32{0x00109f4a, 0x017fc7d5, 0x039da71c, 0x014c77fd, 0x018e028c, 0x0342be68, 0x03549a9e, 0x009d85e3, 0x0239cf61, 0x001afa25}}, Y: Field{[10]uint32{0x0204cf14, 0x017f6ce5, 0x02e0d821, 0x03c5b5d9, 0x00ff2dd6, 0x03e65c31, 0x0292f38f, 0x0244c49a, 0x017ddd37, 0x001ddebb}}}, + {X: Field{[10]uint32{0x0224ce8c, 0x016bf165, 0x01009219, 0x0014ae76, 0x03100945, 0x036ec6a1, 0x0052e796, 0x00792808, 0x01d41ce7, 0x00347f4c}}, Y: Field{[10]uint32{0x013fded1, 0x00425249, 0x01a2e5b5, 0x02aba8af, 0x0136d5f2, 0x02183979, 0x02796d91, 0x000a77aa, 0x03d378a8, 0x003cd5ea}}}, + {X: Field{[10]uint32{0x03169d9e, 0x0351a6e3, 0x010337ae, 0x022bab66, 0x02614c32, 0x02909a65, 0x01e617c0, 0x03c52cf3, 0x002d66fe, 0x0007214e}}, Y: Field{[10]uint32{0x038a71f9, 0x02257bc1, 0x01113a8f, 0x0137f6fe, 0x01e2406a, 0x01c9f669, 0x018702ab, 0x039aa13d, 0x031cb236, 0x0016316b}}}, + {X: Field{[10]uint32{0x0336b5ea, 0x03b7f653, 0x0212e272, 0x02dd0f2e, 0x03eec32c, 0x0304a2b5, 0x025c2d52, 0x019edd0b, 0x01edd5fd, 0x000b63ea}}, Y: Field{[10]uint32{0x032cd37d, 0x026b4763, 0x0331f0aa, 0x0103de01, 0x02231453, 0x0325930c, 0x0133af4b, 0x00a827e5, 0x033937eb, 0x001c6c57}}}, + {X: Field{[10]uint32{0x03dbafb4, 0x00e048b7, 0x00c954c5, 0x031a1c0c, 0x0240ceb1, 0x014376f7, 0x00d0a159, 0x031659c0, 0x0379d9f6, 0x0013d448}}, Y: Field{[10]uint32{0x0248c05b, 0x01f020d0, 0x01674c7f, 0x03ef80e0, 0x034b320a, 0x01f76159, 0x0061980c, 0x037d7aea, 0x0305f864, 0x001537a6}}}, + {X: Field{[10]uint32{0x01e7cd1c, 0x02348b36, 0x02834016, 0x0173b64f, 0x032c6999, 0x0350fb28, 0x02609496, 0x00b08563, 0x01ba4856, 0x002697e4}}, Y: Field{[10]uint32{0x0322b86b, 0x0034aa6d, 0x036382d4, 0x00fb84bd, 0x0129bfa3, 0x02b3e714, 0x01b11266, 0x03b28b80, 0x03ecc668, 0x0027e228}}}, + {X: Field{[10]uint32{0x02f9f610, 0x01df7614, 0x03cf0065, 0x03f83563, 0x01d84d54, 0x020cedd7, 0x00cc6b6e, 0x03eb9313, 0x0102d417, 0x003768c1}}, Y: Field{[10]uint32{0x015469a1, 0x036ff045, 0x02b0c5d4, 0x01e9b1fe, 0x0207f4c5, 0x000b8a90, 0x005468d1, 0x019079b5, 0x01da2e74, 0x003eee23}}}, + {X: Field{[10]uint32{0x0326e117, 0x036978d6, 0x025e8e88, 0x02c58635, 0x000600df, 0x00c7397d, 0x00e50cc6, 0x00507612, 0x027c5586, 0x00234ba7}}, Y: Field{[10]uint32{0x0251aa86, 0x0287b400, 0x009a9e33, 0x02f3dd8f, 0x02bb72fa, 0x0170a955, 0x01ab4fd8, 0x01f15355, 0x01ecffd6, 0x0026270e}}}, + {X: Field{[10]uint32{0x001ee995, 0x029f2a59, 0x01bbfa27, 0x03378f56, 0x0310c911, 0x00f47689, 0x031cee1c, 0x00f5b2c1, 0x0076e6b6, 0x001c9b38}}, Y: Field{[10]uint32{0x010af9c1, 0x02588b98, 0x015951c4, 0x02043522, 0x0206ea5e, 0x022ad74d, 0x02d01acd, 0x03e34d34, 0x02a0c91f, 0x0013906e}}}, + {X: Field{[10]uint32{0x02a43a1a, 0x02eb366f, 0x017aa27d, 0x01c7b4ba, 0x02c0d429, 0x027a5418, 0x02c0dc2c, 0x000f4fee, 0x01fe1835, 0x0037af24}}, Y: Field{[10]uint32{0x022d2f11, 0x01e8ccef, 0x00100d49, 0x0323fda2, 0x026dfdf3, 0x0357c9b9, 0x03b2ab80, 0x033a6bcc, 0x0315a6fe, 0x0004d64d}}}, + {X: Field{[10]uint32{0x00fd4b28, 0x017a443c, 0x00f41c58, 0x013b5ac9, 0x03237c79, 0x01cbfcb5, 0x0039e8c4, 0x012ae39c, 0x03357791, 0x00314e50}}, Y: Field{[10]uint32{0x0126087b, 0x01bf1533, 0x0310d1fc, 0x03da691c, 0x0123c26c, 0x002a8a83, 0x03041128, 0x027139ec, 0x019b628a, 0x000a014d}}}, + {X: Field{[10]uint32{0x005f29b0, 0x022f1e68, 0x00e1cc99, 0x00412fb9, 0x0072b818, 0x022a3ebb, 0x02bf1fbe, 0x0002c600, 0x02fd33c3, 0x00268a24}}, Y: Field{[10]uint32{0x01186e33, 0x03dcbfd1, 0x00bebb37, 0x0177d7ea, 0x00553870, 0x01738df3, 0x02ebc53a, 0x0004d948, 0x023bc2fa, 0x00265fc4}}}, + {X: Field{[10]uint32{0x039a351a, 0x0160412c, 0x0279f4c5, 0x02ff5cf7, 0x001503bb, 0x0382fc60, 0x017fe427, 0x013ef9fb, 0x00ac0f22, 0x0035288b}}, Y: Field{[10]uint32{0x02ce752b, 0x02bdae0e, 0x02860341, 0x00442a0b, 0x02232603, 0x01238d1a, 0x01133495, 0x00b824a9, 0x02973062, 0x00209a3f}}}, + {X: Field{[10]uint32{0x00c11659, 0x01653ee7, 0x0003c077, 0x02ee1df7, 0x0111d4d2, 0x001c27ee, 0x0014963b, 0x02f87635, 0x03ff15ad, 0x0012933c}}, Y: Field{[10]uint32{0x01ced874, 0x03b75834, 0x0336fc2d, 0x002f0e7f, 0x035109a3, 0x03a992b4, 0x00418100, 0x0254a989, 0x018336f1, 0x0015f211}}}, + {X: Field{[10]uint32{0x018e1539, 0x026fc305, 0x02f441f6, 0x009e1c72, 0x00e85e0b, 0x00b28992, 0x00836cf4, 0x0354c263, 0x00edb580, 0x0016303b}}, Y: Field{[10]uint32{0x0042467e, 0x005e0fba, 0x03fd7412, 0x0027e847, 0x0292e54a, 0x000b346a, 0x023d36f7, 0x02f25139, 0x00491e1d, 0x003abde7}}}, + {X: Field{[10]uint32{0x024892bb, 0x03326fdc, 0x0016f634, 0x0009fd39, 0x03261323, 0x03961a8c, 0x02154f3f, 0x01fa24e2, 0x00e8a60c, 0x002c3ef4}}, Y: Field{[10]uint32{0x02a5d3c3, 0x00cc31e0, 0x03d079a0, 0x024c4df0, 0x026dd83f, 0x0012662e, 0x00fcb501, 0x03d036d5, 0x027d6757, 0x0009ee9d}}}, + {X: Field{[10]uint32{0x0192f0d3, 0x01b630b6, 0x000818c1, 0x03de132d, 0x00ee90c2, 0x013bc611, 0x01fecf3e, 0x004d6849, 0x012a26b0, 0x002a52b8}}, Y: Field{[10]uint32{0x018e2050, 0x0229d808, 0x03c95bbc, 0x00d8221d, 0x02e046fe, 0x02ee8f59, 0x0016a6f6, 0x01d6571e, 0x03ba665e, 0x0028dd11}}}, + {X: Field{[10]uint32{0x00dcbeb5, 0x02f8c223, 0x02eeb9ad, 0x0101cc16, 0x00c540e2, 0x03e40137, 0x036c4844, 0x013eb8ca, 0x009b3eb7, 0x00232f6c}}, Y: Field{[10]uint32{0x00c932fe, 0x01cb3d0d, 0x023b810e, 0x01146d27, 0x01912df7, 0x0139685a, 0x007b14c0, 0x03bf4bfc, 0x03a291f6, 0x0000ae18}}}, + {X: Field{[10]uint32{0x00cdbac8, 0x00e721cd, 0x03afcf8f, 0x0071034d, 0x020ab313, 0x01422af5, 0x02fb89ed, 0x03af8731, 0x02c3b70e, 0x000fe33e}}, Y: Field{[10]uint32{0x0158b65e, 0x0124e84b, 0x01321f0c, 0x021ed10f, 0x01a68b52, 0x0122592d, 0x00b303db, 0x03c975e5, 0x0111846e, 0x0036ec08}}}, + {X: Field{[10]uint32{0x0315b25b, 0x01f69837, 0x004b9054, 0x0136ceb2, 0x0331fcaf, 0x020598c2, 0x03e9a4e1, 0x039e704b, 0x00e0cea3, 0x002d8581}}, Y: Field{[10]uint32{0x01b86801, 0x03a7660a, 0x0192cea2, 0x02224063, 0x00317d53, 0x02849929, 0x0265b41b, 0x03e96d59, 0x03ad9ea0, 0x0006abca}}}, + {X: Field{[10]uint32{0x011327d7, 0x021bbc11, 0x00a3f07c, 0x028d9347, 0x02fa51bd, 0x03ef5a2d, 0x026630a7, 0x02ce3870, 0x00103c6a, 0x003ac39d}}, Y: Field{[10]uint32{0x00e82e6d, 0x01a05eb8, 0x037d44c3, 0x0330bb8d, 0x0045cdaa, 0x027edd0e, 0x001c9c7d, 0x034f0655, 0x001757c4, 0x0037e814}}}, + {X: Field{[10]uint32{0x0156b7ae, 0x0342fda5, 0x0144f4bc, 0x01f92c95, 0x031fcfdd, 0x01d8b012, 0x02d28126, 0x03993236, 0x0103be51, 0x0018dbf1}}, Y: Field{[10]uint32{0x013f4cd9, 0x021c0e8c, 0x011e6984, 0x0375414b, 0x02b633c8, 0x022df621, 0x03b6735a, 0x010525fc, 0x030f0510, 0x0015ee0e}}}, + {X: Field{[10]uint32{0x012ab330, 0x031cd639, 0x02288c15, 0x01953a8f, 0x005ba9dc, 0x034b7867, 0x02fc2bd1, 0x008d6f1a, 0x00ec4d42, 0x000bf31c}}, Y: Field{[10]uint32{0x016a30ce, 0x01df9949, 0x01069395, 0x03a09467, 0x0135bde8, 0x03f36da5, 0x024cbbfc, 0x00788b6d, 0x00182bfa, 0x001a8d58}}}, + {X: Field{[10]uint32{0x02a94b54, 0x0043889f, 0x007d01cd, 0x0396f56f, 0x0183be81, 0x01af7ea5, 0x00969ebd, 0x02e2ff6e, 0x02c38d38, 0x00045401}}, Y: Field{[10]uint32{0x0080e08a, 0x01687508, 0x02780250, 0x00e9cc94, 0x023fac02, 0x01ba1e00, 0x0339e83f, 0x00feea6b, 0x010216eb, 0x001810eb}}}, + {X: Field{[10]uint32{0x01b3aaf1, 0x0194fca3, 0x019a515b, 0x021afb70, 0x013756a9, 0x03f95340, 0x00a2da82, 0x0070a583, 0x025a15ba, 0x00005f55}}, Y: Field{[10]uint32{0x03c7399c, 0x012b5ea6, 0x00c35f27, 0x0064cd4d, 0x027a6338, 0x0274c494, 0x00b05aab, 0x002cf92e, 0x01dd4204, 0x00245eee}}}, + {X: Field{[10]uint32{0x03221ef2, 0x01d31b5a, 0x0330e023, 0x022ad20b, 0x01d2af8f, 0x00f96f2a, 0x00598f7a, 0x00710c2e, 0x00898850, 0x00037309}}, Y: Field{[10]uint32{0x03652e72, 0x01919193, 0x02b0a578, 0x02d667c7, 0x01cd14ca, 0x03c037b3, 0x03102a6e, 0x03b14ac7, 0x017dd5c6, 0x002a165d}}}, + {X: Field{[10]uint32{0x011f0b0f, 0x00fea3cd, 0x03a03d83, 0x030f50f2, 0x03ae2cf9, 0x03a0229f, 0x01919db6, 0x00c2df37, 0x039f4e94, 0x0029a2ca}}, Y: Field{[10]uint32{0x00786526, 0x0096f165, 0x00f66d65, 0x0137cbe7, 0x017f45b1, 0x009de008, 0x015614d9, 0x00248e3a, 0x0232d3ad, 0x0038d2e2}}}, + {X: Field{[10]uint32{0x010e9462, 0x0020a7e3, 0x013c2319, 0x005d1c0b, 0x01fe7e2f, 0x02b5654e, 0x02d11e9e, 0x00466174, 0x025a938e, 0x000be553}}, Y: Field{[10]uint32{0x03b16dd5, 0x02ac79c2, 0x02c61e55, 0x02fe7e26, 0x01f6aaa6, 0x01a8e4ec, 0x02fecc84, 0x01f502e8, 0x0379fa8b, 0x002cbc34}}}, + {X: Field{[10]uint32{0x027ffe4f, 0x00e4e330, 0x03556fa9, 0x0234f33f, 0x033cc33c, 0x02ecb77a, 0x03fcae86, 0x0253f66c, 0x01136bca, 0x00088f4f}}, Y: Field{[10]uint32{0x01512915, 0x01329614, 0x00ec09c7, 0x02294eed, 0x0327f6cd, 0x00f58866, 0x016f7dd8, 0x0061f309, 0x0106e317, 0x0021f864}}}, + {X: Field{[10]uint32{0x028f7b2e, 0x020d2b67, 0x02abf517, 0x00ae83ce, 0x00b61443, 0x02d3d257, 0x01f3a3e9, 0x0186d90f, 0x00e82911, 0x00156476}}, Y: Field{[10]uint32{0x026d07c2, 0x03bd6503, 0x01416673, 0x01fb1028, 0x0130b3fe, 0x02e91c67, 0x03d454eb, 0x01f94b66, 0x0235f626, 0x000b235a}}}, + {X: Field{[10]uint32{0x01f29a29, 0x024dd451, 0x02252c8e, 0x0078b939, 0x03414184, 0x027a6bbe, 0x00cbaecb, 0x0068521c, 0x004ad15d, 0x003acb3f}}, Y: Field{[10]uint32{0x0052e5ac, 0x019c855c, 0x00b955bc, 0x0035b4d7, 0x00e62f21, 0x01d94054, 0x0304c79c, 0x03664ade, 0x020810bf, 0x001e2043}}}, + {X: Field{[10]uint32{0x00a3f74b, 0x0178fa7b, 0x0392700d, 0x01f4b867, 0x02bdcdb4, 0x00e7310d, 0x00b1d4c5, 0x02a06179, 0x03f99680, 0x001844b0}}, Y: Field{[10]uint32{0x00da4403, 0x03694ae6, 0x00f353b8, 0x01f1a9a4, 0x02f2579d, 0x007db2a5, 0x008f9d40, 0x022feb6b, 0x03dd723c, 0x001ba182}}}, + {X: Field{[10]uint32{0x03d58b16, 0x02477b69, 0x015797b3, 0x00535f8c, 0x03b9b329, 0x0283c5f0, 0x002c23b9, 0x0362c031, 0x00d8d552, 0x00224848}}, Y: Field{[10]uint32{0x01cf7941, 0x0008c5ad, 0x00edf325, 0x025b33c3, 0x03cc4a94, 0x02f7300d, 0x013d1f64, 0x01e3cbe4, 0x03acb3c7, 0x00398948}}}, + {X: Field{[10]uint32{0x03c4dc0a, 0x0347a447, 0x021c5ecb, 0x01245a11, 0x0160ca4a, 0x018c1129, 0x03155839, 0x034ef808, 0x0056217a, 0x0011d62d}}, Y: Field{[10]uint32{0x01d83679, 0x0121e336, 0x027ca960, 0x01ec0f13, 0x03bb7498, 0x030c2b06, 0x03eec6a1, 0x025cfc15, 0x015a4f30, 0x00267909}}}, + {X: Field{[10]uint32{0x025629da, 0x039d5d5b, 0x02143b99, 0x031f658b, 0x03a3b95d, 0x01e11e6b, 0x03a0c6f9, 0x01ea1e5f, 0x02a69a20, 0x002ac108}}, Y: Field{[10]uint32{0x01823faa, 0x01b8b8e9, 0x02dfa7a0, 0x01c12653, 0x0184af0f, 0x02e37f3b, 0x00280c32, 0x026157af, 0x010f00fc, 0x001cce63}}}, + {X: Field{[10]uint32{0x0145d227, 0x02b50fb5, 0x01b20ee7, 0x02983c28, 0x01852cc7, 0x020a4dd3, 0x010b4c35, 0x002c50c3, 0x032accb9, 0x00066010}}, Y: Field{[10]uint32{0x028b05c5, 0x023696e7, 0x01546766, 0x03e3cb94, 0x0069c919, 0x02e626f4, 0x03d1a0e9, 0x0233acab, 0x0073bfbc, 0x0025ab8e}}}, + {X: Field{[10]uint32{0x00e93f17, 0x01894bb8, 0x010cbb71, 0x0055d0f5, 0x0293b8a0, 0x02aefbcf, 0x0361cd72, 0x03eceb29, 0x037fe2df, 0x0010a204}}, Y: Field{[10]uint32{0x02238825, 0x0021b76a, 0x008de456, 0x0011679e, 0x0271fddb, 0x03681d9c, 0x01855f14, 0x019a9bef, 0x033e36c3, 0x00300b0c}}}, + {X: Field{[10]uint32{0x02b6cde2, 0x024a06b5, 0x03d3d52d, 0x01db836d, 0x0077e432, 0x02a9cfe9, 0x03c4d160, 0x0227682b, 0x003505bc, 0x003597eb}}, Y: Field{[10]uint32{0x0007383f, 0x01e11e30, 0x02b13056, 0x03906221, 0x038e9f07, 0x000e18b4, 0x01005456, 0x03ccded1, 0x0175a6c5, 0x0039bd32}}}, + {X: Field{[10]uint32{0x018f6ca7, 0x00665e2e, 0x014c843e, 0x021346ca, 0x02beb967, 0x0181e4db, 0x028b54e1, 0x0349e93f, 0x0144e62d, 0x001c0a6c}}, Y: Field{[10]uint32{0x0140a25c, 0x023ca99c, 0x0114aa47, 0x011f1cf7, 0x009a1af3, 0x0155113c, 0x02c90c38, 0x01b1b8e8, 0x01665805, 0x0022c43b}}}, + {X: Field{[10]uint32{0x039183b2, 0x0256d0f3, 0x01711502, 0x013911c5, 0x01fa343e, 0x01768306, 0x00ea87da, 0x026f77a0, 0x00ebdf96, 0x0013c9d8}}, Y: Field{[10]uint32{0x03e28167, 0x00a59de0, 0x03425d46, 0x017536bf, 0x0115d862, 0x023da6da, 0x001fd39b, 0x03bc27e8, 0x017bf3f9, 0x0010f8b0}}}, + {X: Field{[10]uint32{0x0374a5fc, 0x01c98570, 0x03e52143, 0x015fcbb9, 0x01b573ce, 0x02e7e94e, 0x015f0d23, 0x025aa3cd, 0x02addb41, 0x0033265a}}, Y: Field{[10]uint32{0x028ef28d, 0x027cb702, 0x019232c0, 0x02b6fffe, 0x0144284b, 0x02fa1744, 0x00a9cb66, 0x00a4d70c, 0x03871878, 0x002c7103}}}, + {X: Field{[10]uint32{0x014ade42, 0x010c0f35, 0x006313cf, 0x0214ef6b, 0x01cd9b32, 0x017adc24, 0x0038e398, 0x036416cb, 0x02d3f3e3, 0x0031e062}}, Y: Field{[10]uint32{0x00339eee, 0x01feebe5, 0x03937800, 0x03f747d7, 0x033403a5, 0x030510f3, 0x0363fb0f, 0x02142c51, 0x004e7bbb, 0x001555d3}}}, + {X: Field{[10]uint32{0x0189c4fd, 0x01d5cdc9, 0x0045e52a, 0x03279de5, 0x009a45db, 0x02b97496, 0x0344d1f3, 0x023affd0, 0x01846fc4, 0x001b340d}}, Y: Field{[10]uint32{0x03416e34, 0x03a33224, 0x00723a44, 0x024a34b5, 0x014d811c, 0x039347ea, 0x0367dda8, 0x038dc6b7, 0x037db165, 0x002bea16}}}, + {X: Field{[10]uint32{0x003b2e0a, 0x03aeeb51, 0x00fd3bfa, 0x02491d37, 0x00f5231b, 0x004548c5, 0x02b72359, 0x02c6b98c, 0x0205f716, 0x003594a8}}, Y: Field{[10]uint32{0x013bedcf, 0x02281bae, 0x02dcba45, 0x008fb059, 0x03c4646a, 0x03780f62, 0x002f0d85, 0x0103df2e, 0x0021b782, 0x00348661}}}, + {X: Field{[10]uint32{0x0052fb54, 0x0014be37, 0x02d73a6a, 0x02bf4d38, 0x0181ff0b, 0x00d00116, 0x01b3e4fe, 0x012877e6, 0x004dcd84, 0x002a01f4}}, Y: Field{[10]uint32{0x02e2cd9a, 0x0067a7e8, 0x03151af0, 0x011e5f3e, 0x00c385c0, 0x03eef1c6, 0x03e5079f, 0x0260d4ee, 0x00bb7393, 0x0006229e}}}, + {X: Field{[10]uint32{0x009eb2d7, 0x03f705f3, 0x02de224e, 0x017a7d33, 0x01b8c3a9, 0x01b2c0ae, 0x03acd07d, 0x02b523a4, 0x03bca5d6, 0x0007bf4a}}, Y: Field{[10]uint32{0x02745b39, 0x00fbbcd9, 0x01a05006, 0x02baa2bc, 0x0202a9d2, 0x02ecd5fd, 0x03e191a1, 0x031f98d5, 0x03881b98, 0x003e547b}}}, + {X: Field{[10]uint32{0x0395888f, 0x002e6b08, 0x01f666ed, 0x004df0ef, 0x030ea0ff, 0x025ff838, 0x02bcd044, 0x00f6d660, 0x0254d27d, 0x00016f17}}, Y: Field{[10]uint32{0x02ec3300, 0x03d97ca0, 0x003754c1, 0x01d409c4, 0x025a22d9, 0x00c86cda, 0x01f8b857, 0x03ac0598, 0x0002d4f4, 0x000d556f}}}, + {X: Field{[10]uint32{0x006a3247, 0x02e023dd, 0x02f221f5, 0x01c456f9, 0x02158cca, 0x022b4bc7, 0x022ea80e, 0x0234379b, 0x028d26b0, 0x0003d802}}, Y: Field{[10]uint32{0x03ca3523, 0x02ceac62, 0x00aa3cd5, 0x0371945b, 0x0276c753, 0x03a3846e, 0x02f75b28, 0x03e96c1f, 0x02134bc3, 0x0008ef96}}}, + {X: Field{[10]uint32{0x00ccaf7b, 0x00af49a4, 0x0381ae49, 0x030db1cf, 0x01f5119b, 0x0396404d, 0x01712a8b, 0x029ea331, 0x020b2ab2, 0x003f1f93}}, Y: Field{[10]uint32{0x001151a6, 0x03242ace, 0x01cddb31, 0x02d6aa0d, 0x01e4a682, 0x01b7624a, 0x02862b8a, 0x011a41ba, 0x02f41f27, 0x0012f584}}}, + {X: Field{[10]uint32{0x01442655, 0x00eced62, 0x01700bcd, 0x0161daaa, 0x0141641d, 0x01e6d8f9, 0x0067eecd, 0x03402feb, 0x033cfe12, 0x00144c97}}, Y: Field{[10]uint32{0x033ef941, 0x00de92c4, 0x03b33a44, 0x03964730, 0x03982a35, 0x01e595ff, 0x01623605, 0x039b8b6e, 0x00ad7b7a, 0x0035aa25}}}, + {X: Field{[10]uint32{0x0198aec8, 0x009b92b1, 0x03a09056, 0x01b6e3fb, 0x02afee9a, 0x005fc00e, 0x01bd2d57, 0x03d823c8, 0x00271a55, 0x000b6ceb}}, Y: Field{[10]uint32{0x03f9533e, 0x03832226, 0x03dd6e0d, 0x01a2d1f3, 0x013c6621, 0x0199827d, 0x00c9fc9d, 0x00718307, 0x0333a0c0, 0x003149af}}}, + {X: Field{[10]uint32{0x01fa7dcc, 0x03481775, 0x01be51e1, 0x00d8fce4, 0x0135fbd4, 0x01f790c8, 0x0305b554, 0x02c06d7a, 0x037293de, 0x00024201}}, Y: Field{[10]uint32{0x02d7442d, 0x01304097, 0x03f23e03, 0x02134f30, 0x0164dfef, 0x01718856, 0x013d318b, 0x00ccdc19, 0x02ac1724, 0x003fa587}}}, + {X: Field{[10]uint32{0x039ed9d6, 0x030def0c, 0x017cce2e, 0x02b4f4d6, 0x03045557, 0x01e43353, 0x02cc03f6, 0x013f20b6, 0x0181e5a6, 0x000ca86b}}, Y: Field{[10]uint32{0x027cb07a, 0x01c41898, 0x02cf3d13, 0x0362a41d, 0x0279cb55, 0x01e573b1, 0x017b63ca, 0x000089c2, 0x03681801, 0x0021eaf3}}}, + {X: Field{[10]uint32{0x019246f9, 0x01c745d3, 0x016e9a37, 0x027556ce, 0x0108c584, 0x01c745ea, 0x031af769, 0x02714683, 0x00fa5868, 0x003df2ea}}, Y: Field{[10]uint32{0x0358ee45, 0x01ee7b2b, 0x0072cac3, 0x030bf20c, 0x025309a0, 0x01757ee8, 0x024d7333, 0x02a72bb6, 0x03a910d5, 0x003d2c2a}}}, + {X: Field{[10]uint32{0x0329ea81, 0x022be098, 0x006d58ee, 0x0156b9c1, 0x03fab75f, 0x0015e690, 0x01b6b7bc, 0x00036759, 0x01042da9, 0x003369ac}}, Y: Field{[10]uint32{0x011771e3, 0x035bc773, 0x000fc068, 0x038a6b1f, 0x01a8ee20, 0x038d8078, 0x01171a01, 0x01d00568, 0x000eacfd, 0x001c321b}}}, + {X: Field{[10]uint32{0x027ee58b, 0x021e3c3d, 0x03f2ac23, 0x032b446d, 0x01a46f3b, 0x0113282f, 0x00f27b05, 0x02c73a6a, 0x024009c5, 0x00289869}}, Y: Field{[10]uint32{0x03fff888, 0x01b9043c, 0x014d420c, 0x030c1496, 0x0185da67, 0x034cf5c9, 0x029cda8f, 0x036ba6d3, 0x031d4c42, 0x000789a9}}}, + {X: Field{[10]uint32{0x01f4db57, 0x0252e9ba, 0x028846b3, 0x00f1a0bd, 0x009435aa, 0x007edb4d, 0x018e885d, 0x0210b300, 0x0167fd7f, 0x002f1c32}}, Y: Field{[10]uint32{0x00bd9468, 0x0213847e, 0x03e5718d, 0x03121f11, 0x013032ef, 0x01e195c0, 0x00a07840, 0x00b78310, 0x013a837e, 0x0028ae67}}}, + {X: Field{[10]uint32{0x0077a9c2, 0x000e269c, 0x020269c6, 0x019c4147, 0x02c7a265, 0x03ebc8d2, 0x03fdba3f, 0x00c52532, 0x02f75dc4, 0x000d9054}}, Y: Field{[10]uint32{0x0146d265, 0x0130ca81, 0x018eae08, 0x000496f3, 0x013c8fa6, 0x03b79c75, 0x038ae4e7, 0x02150cc0, 0x03d9f4ec, 0x002b0eb1}}}, + {X: Field{[10]uint32{0x00f3043d, 0x01b765a5, 0x01326cc3, 0x00be8f62, 0x01d82ca4, 0x01008b7e, 0x02f59d8e, 0x01756364, 0x00bed57d, 0x0014bfa9}}, Y: Field{[10]uint32{0x004feb35, 0x0150a363, 0x0399b249, 0x00216daa, 0x005708c6, 0x0299ece7, 0x038f9a37, 0x0229d7dc, 0x032852f9, 0x002dfa60}}}, + {X: Field{[10]uint32{0x023e1a4d, 0x035a08a1, 0x03ce67b8, 0x030f4af8, 0x039c32ec, 0x026b0ffe, 0x033a096a, 0x032203e5, 0x0110c8ba, 0x000d3fba}}, Y: Field{[10]uint32{0x009c7a17, 0x0155881a, 0x008b2243, 0x02825c74, 0x002231f6, 0x008b8983, 0x00db14b1, 0x03111b1e, 0x00969c9d, 0x00383c04}}}, + {X: Field{[10]uint32{0x0349c65b, 0x026cef76, 0x024bb401, 0x02c3d1da, 0x030f815a, 0x007c1dbd, 0x02424ec3, 0x034ba064, 0x030bf4c9, 0x001abca3}}, Y: Field{[10]uint32{0x02a45248, 0x0143fadb, 0x005d3f13, 0x03742f29, 0x0017d1e1, 0x005fd819, 0x01aa3469, 0x00ecc46a, 0x012fbb66, 0x000b157f}}}, + {X: Field{[10]uint32{0x01320e46, 0x01d3dc93, 0x0003b8bc, 0x0204eebb, 0x03a4f0ad, 0x02b174db, 0x00f1b6b6, 0x02d07991, 0x036639e4, 0x001c2daa}}, Y: Field{[10]uint32{0x02913a14, 0x02030622, 0x02c95237, 0x01777f37, 0x0196f713, 0x025b4f37, 0x01ad5f10, 0x013f3346, 0x01e64f4e, 0x003b1902}}}, + {X: Field{[10]uint32{0x0065724d, 0x00212068, 0x000bc155, 0x01a84e18, 0x03061419, 0x03df6ef8, 0x03eff50f, 0x01d6bab6, 0x03114ab9, 0x003b795b}}, Y: Field{[10]uint32{0x0336ecfc, 0x02b7f254, 0x0173c02d, 0x018dbbf7, 0x0371906b, 0x006c1a12, 0x01839dc6, 0x0087b49b, 0x024c11f4, 0x00279feb}}}, + {X: Field{[10]uint32{0x016df8a4, 0x01f0f915, 0x03efe685, 0x03e7c5a0, 0x025de54a, 0x01992399, 0x0019d746, 0x01cc40f6, 0x003c840a, 0x0020f0d3}}, Y: Field{[10]uint32{0x0086cd10, 0x035c2903, 0x0040fd31, 0x00dfc426, 0x0290aa81, 0x0338bbb4, 0x00d97719, 0x035b03bb, 0x0041562d, 0x002708e0}}}, + {X: Field{[10]uint32{0x00c7e200, 0x00164f68, 0x037c6102, 0x0114934d, 0x0052cbdb, 0x0017a1e9, 0x028cf032, 0x026e6148, 0x00900008, 0x002a8abf}}, Y: Field{[10]uint32{0x02be01f4, 0x017309e5, 0x006af2db, 0x0093fa2a, 0x006d8129, 0x00c58780, 0x013bc4fa, 0x02b0674f, 0x016ab382, 0x000d10c6}}}, + {X: Field{[10]uint32{0x0155c520, 0x01d5cc10, 0x02800e3a, 0x0116207b, 0x03e90eb0, 0x03efdc7e, 0x02956a02, 0x03322e7c, 0x03dc4310, 0x00390bb1}}, Y: Field{[10]uint32{0x0225336c, 0x0099e735, 0x027b693c, 0x011562af, 0x012d0009, 0x02369536, 0x00324bbe, 0x02473f88, 0x02cfa52d, 0x0024e7bc}}}, + {X: Field{[10]uint32{0x02ec2b21, 0x0315818c, 0x01dd34a3, 0x02ac99ff, 0x00181617, 0x005bbe7d, 0x038de47a, 0x014803f5, 0x0124937c, 0x002f02f7}}, Y: Field{[10]uint32{0x02b63035, 0x034a64d4, 0x03ac9df6, 0x00448175, 0x004a0285, 0x024ac21c, 0x02e0e1d1, 0x0087de61, 0x024c10b5, 0x00036c12}}}, + {X: Field{[10]uint32{0x01adc8e7, 0x013aebab, 0x03990626, 0x03559037, 0x0155c005, 0x03dd838a, 0x0310fbb3, 0x029ccd78, 0x01d89b43, 0x00372232}}, Y: Field{[10]uint32{0x002fc512, 0x00f2353f, 0x0163625a, 0x00cb308f, 0x033fe37b, 0x027faded, 0x03fc6777, 0x011e5196, 0x01e46f98, 0x000b59de}}}, + {X: Field{[10]uint32{0x00111c20, 0x0278d260, 0x03210f6f, 0x01422315, 0x035ee3dc, 0x00175dbb, 0x030cb02e, 0x00cb18bf, 0x018ab0c9, 0x0029eb83}}, Y: Field{[10]uint32{0x02e553a2, 0x001f6864, 0x03cdd01d, 0x0115a48c, 0x03ac8dcc, 0x00c87794, 0x039dc94b, 0x018b2262, 0x03c9d631, 0x00358caa}}}, + {X: Field{[10]uint32{0x00be0e97, 0x0296b317, 0x03215592, 0x026e97c0, 0x00d631ac, 0x01f69b99, 0x0203af75, 0x01baaf6c, 0x036ee7bd, 0x00118808}}, Y: Field{[10]uint32{0x00627c6e, 0x025da40a, 0x018c88fa, 0x02f1c0a3, 0x02707851, 0x03eb99a8, 0x0330cdf4, 0x0078a9b3, 0x004f69ea, 0x00177d09}}}, + {X: Field{[10]uint32{0x03d8f671, 0x036647c9, 0x00a38e2b, 0x03fcd276, 0x015cd35f, 0x03e4c8c0, 0x0350acac, 0x0364c147, 0x004a3d8b, 0x0020132e}}, Y: Field{[10]uint32{0x00ae8d3f, 0x026a391c, 0x01267bbc, 0x014aef9b, 0x00cdc395, 0x000d884a, 0x02b2f192, 0x03e0d65a, 0x00129ee0, 0x0012ddee}}}, + {X: Field{[10]uint32{0x011c2ed2, 0x0076ef6e, 0x032378e7, 0x01343881, 0x02b4f6fb, 0x02918e44, 0x001fcbee, 0x02cbcae0, 0x030f5382, 0x001ba94d}}, Y: Field{[10]uint32{0x00b2d88d, 0x02f85064, 0x025b1a8b, 0x038b4de0, 0x008b513e, 0x006567b2, 0x012a002f, 0x03fc203a, 0x0109d8f3, 0x003d6d3e}}}, + {X: Field{[10]uint32{0x02e22ba6, 0x031c1ca8, 0x01f4769f, 0x000ee068, 0x031ee564, 0x03d871ac, 0x03b0852a, 0x01d6984a, 0x021c4ff5, 0x00362e37}}, Y: Field{[10]uint32{0x02468c0e, 0x00e37d38, 0x018928d5, 0x032d1ec1, 0x01f23cbd, 0x017095b9, 0x02ad8275, 0x02fe2625, 0x0190d37a, 0x00078f10}}}, + {X: Field{[10]uint32{0x01f1b147, 0x0320a47b, 0x00a9e475, 0x019c1420, 0x0080d384, 0x00e8035b, 0x033f3ea4, 0x02f5ba71, 0x006404a0, 0x0019ab06}}, Y: Field{[10]uint32{0x03a1260e, 0x02207313, 0x030bca61, 0x0319cf6a, 0x029be98e, 0x0147868d, 0x0103efd5, 0x02ddd805, 0x000f7db6, 0x000b3183}}}, + {X: Field{[10]uint32{0x0360e942, 0x0314d9cf, 0x0185bef3, 0x00d70dd7, 0x02f27844, 0x022d6972, 0x0263cf93, 0x008f9c1d, 0x022c4ed2, 0x0011c652}}, Y: Field{[10]uint32{0x03d9f920, 0x01213034, 0x036045f4, 0x033aaf7d, 0x035808a3, 0x01409f55, 0x032738c7, 0x03704def, 0x011b5a64, 0x002c3f78}}}, + {X: Field{[10]uint32{0x024c6186, 0x034f3d0a, 0x0229010b, 0x00ab17c1, 0x009fdc1b, 0x02375da3, 0x02747428, 0x03660e20, 0x00599af2, 0x00045072}}, Y: Field{[10]uint32{0x02f0226e, 0x014234fb, 0x02c64d6b, 0x034aea63, 0x005392a0, 0x015e343e, 0x017555a0, 0x01184ccc, 0x034761ed, 0x001e90c7}}}, + {X: Field{[10]uint32{0x03496f79, 0x00c030f9, 0x0251d4ba, 0x03585ab1, 0x01487002, 0x03ee3952, 0x01da689b, 0x03fa7b59, 0x01d8e80a, 0x003e416f}}, Y: Field{[10]uint32{0x03bfcf72, 0x0096c65d, 0x000fca7e, 0x0317e7d3, 0x03cd999f, 0x01fc1419, 0x021b03ba, 0x01411751, 0x037f3bfb, 0x0007b1ef}}}, + {X: Field{[10]uint32{0x0315e9e0, 0x03c7eb03, 0x023e5573, 0x00beb51e, 0x00232ea6, 0x0053c2be, 0x004faadb, 0x014bb88f, 0x00e4fba4, 0x002e952e}}, Y: Field{[10]uint32{0x00f5cda8, 0x02f52818, 0x030b8da1, 0x002c044d, 0x039c96ed, 0x00ab203c, 0x018e48a8, 0x02ef36ef, 0x02e9efca, 0x002bd55a}}}, + {X: Field{[10]uint32{0x0226a80a, 0x028a2d02, 0x035e9c08, 0x01080e9d, 0x001494a0, 0x00d868ad, 0x0287f3cf, 0x01b890c3, 0x02d0561f, 0x001674fa}}, Y: Field{[10]uint32{0x000a9bc8, 0x007863c0, 0x015d9ac5, 0x00730b42, 0x02f5f1ba, 0x009f1cc1, 0x00a278d4, 0x0088a70a, 0x007d50a9, 0x0026c9bd}}}, + {X: Field{[10]uint32{0x00865d47, 0x03641c2b, 0x00f5b129, 0x0023bfc0, 0x0315520a, 0x01f83cf3, 0x032924be, 0x0324a363, 0x023fab4c, 0x000a9b96}}, Y: Field{[10]uint32{0x00a625a5, 0x01dc60d7, 0x000cb38b, 0x037ba4e0, 0x00919913, 0x01824d47, 0x01191964, 0x01c08e1b, 0x03505872, 0x00015700}}}, + {X: Field{[10]uint32{0x00907502, 0x022c00aa, 0x03d84682, 0x00716aba, 0x01fff1fb, 0x010b3d96, 0x00afe918, 0x03b90422, 0x00d1c35b, 0x002263d4}}, Y: Field{[10]uint32{0x02f3267b, 0x02e3e3d8, 0x01a79daf, 0x03c528f1, 0x02fc9bd0, 0x01ae1300, 0x0202e490, 0x00ab406b, 0x0280c97c, 0x002c915b}}}, + {X: Field{[10]uint32{0x016af85a, 0x03119c43, 0x03bf9422, 0x028eb013, 0x03bda5d9, 0x027b8f34, 0x01d2304e, 0x03c32c7e, 0x02b8b49b, 0x00346152}}, Y: Field{[10]uint32{0x03155c20, 0x03fafa51, 0x03fabd0a, 0x00085f7d, 0x00d7bdeb, 0x00fb77cd, 0x016a0775, 0x0206016c, 0x000fd881, 0x00013894}}}, + {X: Field{[10]uint32{0x02af4680, 0x037f19bf, 0x01303a3e, 0x03d0a15b, 0x024a417d, 0x025a3bdf, 0x03cc787d, 0x02db87c0, 0x008a394d, 0x002187ee}}, Y: Field{[10]uint32{0x02135da6, 0x0348d882, 0x018dddc6, 0x022f6f00, 0x0268f3c3, 0x018e3380, 0x03ff11b0, 0x002c4c8f, 0x015aab8b, 0x002975fa}}}, + {X: Field{[10]uint32{0x013403d6, 0x033d8b60, 0x0111cb0c, 0x000ce7f0, 0x03ea5269, 0x019db3de, 0x0155d90b, 0x0277f0f0, 0x0368b9fa, 0x0025513d}}, Y: Field{[10]uint32{0x006e047f, 0x02659c20, 0x0290253e, 0x000d78c0, 0x0328d876, 0x02fd4552, 0x011ed21b, 0x01893c21, 0x012fcbde, 0x0033b136}}}, + {X: Field{[10]uint32{0x01db68e9, 0x01732a34, 0x009ba2cb, 0x0034edc5, 0x00311cd4, 0x027ce825, 0x00d7b078, 0x019af88f, 0x0192f80a, 0x003ddc88}}, Y: Field{[10]uint32{0x001b516e, 0x03bf83f2, 0x03462d40, 0x00809dfd, 0x011c11e3, 0x03321479, 0x02266610, 0x035939cf, 0x029f3243, 0x00010743}}}, + {X: Field{[10]uint32{0x018e14ed, 0x0381eb5a, 0x02fc1be9, 0x01f10e7d, 0x01b6bd8e, 0x027aa479, 0x039927a8, 0x01ca6f6f, 0x00651f88, 0x0021dad3}}, Y: Field{[10]uint32{0x016b49da, 0x00c7773e, 0x004e16ad, 0x02121aae, 0x037b5730, 0x018bc94d, 0x0387b88f, 0x03a7773d, 0x03811cfa, 0x003b38b3}}}, + {X: Field{[10]uint32{0x03b70b10, 0x032c0f01, 0x03127b7e, 0x03d8cd4e, 0x00721be8, 0x0245e267, 0x00614278, 0x02649221, 0x00e46224, 0x001c1abd}}, Y: Field{[10]uint32{0x0258a5f3, 0x0141ba5f, 0x03545aa6, 0x0383984b, 0x00cdcf0e, 0x004f7add, 0x015bd298, 0x0348039a, 0x01720c65, 0x00325cb6}}}, + {X: Field{[10]uint32{0x03863c9d, 0x0256df7c, 0x03ddef14, 0x016fe745, 0x024301b7, 0x009f97d2, 0x00dde0ba, 0x01898ad7, 0x0218c9c9, 0x0033a5e8}}, Y: Field{[10]uint32{0x02a1ef10, 0x01c2b280, 0x03f55c57, 0x02c9cac0, 0x01c12900, 0x01ebda3c, 0x0116410d, 0x00509a22, 0x021a20fd, 0x003a4e63}}}, + {X: Field{[10]uint32{0x013be895, 0x03991275, 0x019bca8f, 0x03afa6cf, 0x037dae0f, 0x00b6cf54, 0x02a1f01c, 0x020c7a21, 0x039a92cf, 0x003ed896}}, Y: Field{[10]uint32{0x02599a37, 0x0165f7a0, 0x0344c30d, 0x030a9947, 0x031fe2a8, 0x00b2fc88, 0x029d68f1, 0x02781028, 0x0274ba56, 0x001fde0f}}}, + {X: Field{[10]uint32{0x01f4747d, 0x00b16955, 0x01bc4c6b, 0x03ced0b7, 0x02f126c6, 0x020cc912, 0x039098a8, 0x00ae2d46, 0x03697a7d, 0x00207fef}}, Y: Field{[10]uint32{0x0006f33b, 0x000858bc, 0x00d0a8b0, 0x037b43f5, 0x0190b4d1, 0x0336aa9f, 0x013d5303, 0x03bedcc8, 0x0357982e, 0x0038b19c}}}, + {X: Field{[10]uint32{0x020ed0e4, 0x00c6d55a, 0x01ba8c0f, 0x01def9a5, 0x00679d6b, 0x002728bb, 0x016d4d63, 0x02adf2bc, 0x03668c30, 0x001b7f03}}, Y: Field{[10]uint32{0x015a563c, 0x03fe1f6c, 0x03d905ae, 0x00e2ff77, 0x01367724, 0x003d107a, 0x002d7a62, 0x02a9d0c6, 0x02b2d9a0, 0x002907b4}}}, + {X: Field{[10]uint32{0x03501b44, 0x03e530ce, 0x0023fe77, 0x037e22f3, 0x001d5715, 0x03d8f0ca, 0x01a9b5b0, 0x0395aae8, 0x01d1b953, 0x00071afc}}, Y: Field{[10]uint32{0x00e4b0ef, 0x00d82279, 0x02d3a8e3, 0x037e4688, 0x028f1e74, 0x01f0ae92, 0x01c368bf, 0x005e0806, 0x014db4ca, 0x003199c8}}}, + {X: Field{[10]uint32{0x02def93d, 0x03f491fe, 0x00ba6b2a, 0x03c3479e, 0x035417b9, 0x005134bc, 0x00632319, 0x027d8176, 0x02df5d99, 0x002da444}}, Y: Field{[10]uint32{0x018df4ae, 0x00d318d5, 0x020209a0, 0x01722508, 0x00464f11, 0x02b2b77b, 0x00fafeb8, 0x021b9c1c, 0x037a3028, 0x000858f3}}}, + {X: Field{[10]uint32{0x0176b6e0, 0x0192f792, 0x0287cda4, 0x03363805, 0x019737a2, 0x027be48a, 0x018b8fcf, 0x003e45f1, 0x0332ac23, 0x002f00e1}}, Y: Field{[10]uint32{0x025682d2, 0x007011a8, 0x00ab3719, 0x03677d8e, 0x017a7ae0, 0x01f88ce1, 0x03e1d6fa, 0x018dcd80, 0x02010079, 0x0000ce49}}}, + {X: Field{[10]uint32{0x03e32d81, 0x00faf689, 0x001ae183, 0x0032b7b4, 0x007489c2, 0x0166ec03, 0x024d9aee, 0x02b531aa, 0x02951047, 0x0025b7cc}}, Y: Field{[10]uint32{0x02e2034b, 0x02313bf8, 0x00466181, 0x03c7999d, 0x02cbfaa8, 0x01743c19, 0x01189bbf, 0x018cf060, 0x002d74ce, 0x001063db}}}, + {X: Field{[10]uint32{0x02304979, 0x034be9da, 0x001d263c, 0x03e8bcd4, 0x01cb6a65, 0x02d864f0, 0x02fcefde, 0x0102afb1, 0x0227939e, 0x0028f14c}}, Y: Field{[10]uint32{0x03c967e4, 0x0283b5b6, 0x00de8caf, 0x02637180, 0x0300f467, 0x01e8bd99, 0x0329ade3, 0x029bc64b, 0x02a5498e, 0x00111a32}}}, + {X: Field{[10]uint32{0x0145eb2b, 0x02bc2b49, 0x01a92601, 0x011ae475, 0x017a0c7d, 0x0385ca98, 0x005f1b31, 0x01b5b5ae, 0x02073dfd, 0x0024ff60}}, Y: Field{[10]uint32{0x0163a847, 0x025f51f5, 0x02866883, 0x026c82e2, 0x03961155, 0x02b3faec, 0x03ca8636, 0x01a9046f, 0x02c19a8a, 0x001806fa}}}, + {X: Field{[10]uint32{0x02ca0a9b, 0x01e82ea1, 0x00a2bee8, 0x027ad179, 0x01a5bc0d, 0x011a2b63, 0x039acef2, 0x018fc403, 0x03ef2e2c, 0x002e9f4e}}, Y: Field{[10]uint32{0x015114dc, 0x03bf2ba9, 0x02e097c6, 0x02c5eefc, 0x01376f29, 0x0316daf6, 0x0133ed0b, 0x0278c443, 0x02673312, 0x003fffe6}}}, + {X: Field{[10]uint32{0x036157a8, 0x010a4380, 0x03011190, 0x03ea5fbc, 0x00218898, 0x025935e9, 0x01972582, 0x0270d65d, 0x01c02a4f, 0x00383655}}, Y: Field{[10]uint32{0x01c617f0, 0x02ee6140, 0x0397baa2, 0x01a75699, 0x01b28cbc, 0x021c1de2, 0x0382f0f0, 0x002ee681, 0x039e7d42, 0x0005dbf7}}}, + {X: Field{[10]uint32{0x03f81ac9, 0x0111d42f, 0x02dcd0a4, 0x03f785d4, 0x036cd226, 0x01a435aa, 0x02da689c, 0x032e4c44, 0x01408320, 0x0005acb0}}, Y: Field{[10]uint32{0x018bb281, 0x031de436, 0x01edd2ab, 0x02494f19, 0x025025f7, 0x02a85edb, 0x0217488f, 0x00e4cbc9, 0x00e3dafd, 0x000a8beb}}}, + {X: Field{[10]uint32{0x01f502da, 0x00af043a, 0x020c7fc2, 0x02e3ad36, 0x02220db4, 0x02569053, 0x01d61d97, 0x00f8bd91, 0x00329c82, 0x000beec1}}, Y: Field{[10]uint32{0x00ebc31d, 0x02d89664, 0x00246a0a, 0x0239a7d6, 0x030cbfe5, 0x021c1a2a, 0x03cda69c, 0x0377eeae, 0x02ef15ea, 0x0006b7d9}}}, + {X: Field{[10]uint32{0x03208ebf, 0x00b79399, 0x01ccce13, 0x020e3277, 0x02c178f8, 0x00135915, 0x0122f2f4, 0x0095e6d9, 0x00daf42d, 0x0019244d}}, Y: Field{[10]uint32{0x009355cb, 0x015b0efc, 0x00e8a4a7, 0x0147f991, 0x02e7709b, 0x02a6ba96, 0x00446480, 0x012f09e2, 0x03fc3c55, 0x0010e16a}}}, + {X: Field{[10]uint32{0x013991cd, 0x03b7e2c3, 0x03023dbc, 0x02c2e264, 0x03128d62, 0x0271ff7b, 0x0201c172, 0x007e7381, 0x00b1dcb8, 0x002e5551}}, Y: Field{[10]uint32{0x029dcd2a, 0x0314e0dd, 0x02b0f33c, 0x01824f02, 0x03206fe7, 0x013c1c9b, 0x01f2d450, 0x0378cb54, 0x02dcffba, 0x003e1c7e}}}, + {X: Field{[10]uint32{0x01d668de, 0x00f03297, 0x0389fd06, 0x005c0a23, 0x02ace1ea, 0x012c6c25, 0x03df5b4a, 0x03430288, 0x03fc5034, 0x0033500e}}, Y: Field{[10]uint32{0x02717742, 0x0387f509, 0x0316054e, 0x01529763, 0x023fa92e, 0x00e92fc3, 0x0359760f, 0x03d1bd27, 0x0131aa56, 0x00304a58}}}, + {X: Field{[10]uint32{0x0004c581, 0x03a91e0f, 0x019394b6, 0x01e656d3, 0x021ad784, 0x026a3d5a, 0x0202074c, 0x02f72640, 0x0337d7f8, 0x000292ab}}, Y: Field{[10]uint32{0x0316da34, 0x00d234eb, 0x03431009, 0x032ce22b, 0x031a8cb9, 0x001dcf5c, 0x02594f94, 0x02d873f4, 0x02f2dc02, 0x00132ced}}}, + {X: Field{[10]uint32{0x03f438c4, 0x01f67e2a, 0x039376c3, 0x031f9b9e, 0x0297478f, 0x021915e3, 0x02dd3c52, 0x00123a17, 0x03f8ebdf, 0x0015c40b}}, Y: Field{[10]uint32{0x00161d4f, 0x00763bbe, 0x01128833, 0x005a42ad, 0x01915aef, 0x0146cbcc, 0x01e308c2, 0x00658b9e, 0x019beaec, 0x003213c7}}}, + {X: Field{[10]uint32{0x03c9b6ac, 0x02c188e8, 0x01774832, 0x02171a02, 0x01124246, 0x03ebf1c0, 0x00c08c58, 0x017f8442, 0x00e93c5c, 0x001a3fa6}}, Y: Field{[10]uint32{0x004df273, 0x02033e43, 0x01cd4d64, 0x023fba1c, 0x03cb5ea5, 0x011bc878, 0x00078e2c, 0x01ae1fba, 0x0017fd95, 0x00124ab1}}}, + {X: Field{[10]uint32{0x024a5e77, 0x022f900a, 0x03d43ec0, 0x028ac224, 0x03d97bae, 0x00bba92a, 0x0132cef0, 0x0388ebc2, 0x03b69ef5, 0x0000352e}}, Y: Field{[10]uint32{0x03c7c98c, 0x03e92c11, 0x00166607, 0x0130a8b7, 0x019e7488, 0x00334231, 0x01e223df, 0x02b8c7d9, 0x02609c1d, 0x00016063}}}, + {X: Field{[10]uint32{0x0283192a, 0x01f9a416, 0x03b5d68c, 0x00fdd8fc, 0x0123a5c5, 0x022b314f, 0x00d872f2, 0x022dc9fc, 0x0157a8eb, 0x003a589e}}, Y: Field{[10]uint32{0x010d984f, 0x026ea1f3, 0x008d66e5, 0x015d3d68, 0x020cab10, 0x01329b32, 0x0066d17d, 0x005a5b65, 0x027ddc29, 0x00176a4b}}}, + {X: Field{[10]uint32{0x0311caf5, 0x008e0bc5, 0x032076dd, 0x03cb7e0f, 0x001cd547, 0x003e7fa1, 0x0108ffb7, 0x03cbadf1, 0x00ada83b, 0x00127c87}}, Y: Field{[10]uint32{0x01f31931, 0x022497ce, 0x00114ca1, 0x00693fb6, 0x03244761, 0x00cb9bbf, 0x033afc21, 0x013b62b1, 0x01295f83, 0x00071f60}}}, + {X: Field{[10]uint32{0x02fa792e, 0x034060ab, 0x0364dfd6, 0x03316c3f, 0x006c34a8, 0x0061c4f5, 0x011d110c, 0x00754c53, 0x02a940f6, 0x000160a0}}, Y: Field{[10]uint32{0x005f6ddd, 0x03c28d04, 0x0091e677, 0x0124fab0, 0x012a96ee, 0x0360f5f7, 0x03701457, 0x03cb5948, 0x0155d3e0, 0x001e1578}}}, + {X: Field{[10]uint32{0x03ca118d, 0x01a46648, 0x012e5f55, 0x039d0f52, 0x01dc3a14, 0x01c2fb1f, 0x01db6f1d, 0x0009e9ed, 0x02324b07, 0x0032725e}}, Y: Field{[10]uint32{0x0264b56d, 0x035d31a5, 0x001e8747, 0x03678bb1, 0x0115d600, 0x03080cae, 0x031e99f7, 0x037f870a, 0x000f894d, 0x003d807d}}}, + {X: Field{[10]uint32{0x019e054e, 0x00568845, 0x0062b8d5, 0x0332a9ca, 0x039bbbe0, 0x0047e49c, 0x027bcdda, 0x01d4061a, 0x01758ed6, 0x00279370}}, Y: Field{[10]uint32{0x03c6c0ab, 0x020e04f3, 0x03d3bc94, 0x0321c57a, 0x03fcf4f4, 0x026df8db, 0x00736aa1, 0x019a9af8, 0x031f2bb8, 0x00328470}}}, + {X: Field{[10]uint32{0x02afe2b5, 0x03c31ae2, 0x0152f7a7, 0x03d89a3d, 0x028e5af1, 0x0337ef76, 0x00c1e5e8, 0x000c2f36, 0x03893ae0, 0x003f418d}}, Y: Field{[10]uint32{0x01c8e676, 0x008754c3, 0x00435b2e, 0x02037c68, 0x01f4a354, 0x00c9b700, 0x0068a8e4, 0x01d12881, 0x030b068d, 0x0023027a}}}, + {X: Field{[10]uint32{0x014af04e, 0x00ac9cbf, 0x02c77b3f, 0x02d6d19b, 0x00d85360, 0x004ddd60, 0x0281c3ec, 0x01d9466e, 0x033b6e7a, 0x000df7f7}}, Y: Field{[10]uint32{0x00fb7844, 0x02d3e3b4, 0x01727ea3, 0x0217b250, 0x03043dcd, 0x0004a79d, 0x00f3b078, 0x009d635e, 0x03b27b73, 0x00330c4d}}}, + {X: Field{[10]uint32{0x001dbae0, 0x0291751b, 0x018ffe72, 0x0127785b, 0x010a69cb, 0x034af832, 0x01a2f18b, 0x038971dc, 0x006ac8a5, 0x00117bc4}}, Y: Field{[10]uint32{0x020ab158, 0x022da608, 0x00bf42ad, 0x006cc646, 0x0060e568, 0x00058d24, 0x03bd452e, 0x01f6dcfd, 0x000d742e, 0x0032b5a9}}}, + {X: Field{[10]uint32{0x01fdfca4, 0x0091a704, 0x02d14be0, 0x036f0414, 0x0099648c, 0x011cafd6, 0x03cde710, 0x0328941c, 0x02f988b9, 0x00096314}}, Y: Field{[10]uint32{0x01939dfd, 0x02be7b0a, 0x00ffc359, 0x02e20e53, 0x010d60d0, 0x0296d87f, 0x026c9e21, 0x0171f1a9, 0x008b26ea, 0x00112476}}}, + {X: Field{[10]uint32{0x01e65217, 0x014464ea, 0x01c83afd, 0x019f7a20, 0x01d4f8ff, 0x034dbc76, 0x00cddb90, 0x0138d8f4, 0x00a7727c, 0x002f24a9}}, Y: Field{[10]uint32{0x03aa5120, 0x004c4898, 0x039d79dd, 0x02d2e8dd, 0x00331c22, 0x01193a70, 0x031c024d, 0x011e5587, 0x0208b18b, 0x001dbfda}}}, + {X: Field{[10]uint32{0x01f27ebd, 0x0304b451, 0x03353249, 0x00dfed7f, 0x0223e4e8, 0x03055aef, 0x01ceccb0, 0x0120d3c4, 0x00c258c0, 0x0022867a}}, Y: Field{[10]uint32{0x00e92c1a, 0x017941f9, 0x01f065d6, 0x032e1706, 0x018f50a9, 0x02e5e3f8, 0x016caca2, 0x023a8831, 0x0070bff4, 0x00057f1b}}}, + {X: Field{[10]uint32{0x01d70eea, 0x02447a95, 0x00572d9c, 0x02a30a91, 0x03e6f3b1, 0x00e65a2f, 0x013c1a7a, 0x00d136c4, 0x02d1ab90, 0x003966e0}}, Y: Field{[10]uint32{0x013b91be, 0x00abf20c, 0x00b80cc2, 0x02640205, 0x036634d6, 0x00baa9db, 0x01f0bc01, 0x01a86f93, 0x018cd58c, 0x002478cf}}}, + {X: Field{[10]uint32{0x0371a7d0, 0x000c6c1c, 0x03eb3330, 0x034976b2, 0x020f3456, 0x03e506fa, 0x0017db72, 0x01335af1, 0x025f8824, 0x003e653b}}, Y: Field{[10]uint32{0x019c62e2, 0x0102816b, 0x03d40514, 0x027d09c1, 0x03d9c268, 0x036b923d, 0x02bf9c04, 0x0266ccc0, 0x006aecc2, 0x002409be}}}, + {X: Field{[10]uint32{0x0000410f, 0x00e9a4de, 0x015ffc1e, 0x03355976, 0x018000cc, 0x0200f448, 0x0317bc79, 0x03e9409e, 0x008c32d1, 0x001ddb13}}, Y: Field{[10]uint32{0x00785149, 0x03c2eb72, 0x03803165, 0x0298e104, 0x01988b64, 0x00f4f8c6, 0x00201d50, 0x01dce1be, 0x0234438e, 0x00103b38}}}, + {X: Field{[10]uint32{0x01c9b12e, 0x00feb96d, 0x02620fb8, 0x022b1780, 0x0032c196, 0x02fc95cc, 0x00aea3d8, 0x02c004a7, 0x01a5dd13, 0x000e4d9d}}, Y: Field{[10]uint32{0x035a8b00, 0x0129a7e9, 0x02dc0378, 0x01cd39d0, 0x032e5dc7, 0x02c3af30, 0x016ff4c4, 0x00033bb4, 0x03c47934, 0x000e79b3}}}, + {X: Field{[10]uint32{0x03401b1e, 0x027ea330, 0x00eaa2f0, 0x03c9efce, 0x0094dcfd, 0x0242f87f, 0x01de130e, 0x031ed8b3, 0x029422ed, 0x0035f374}}, Y: Field{[10]uint32{0x014fb184, 0x031c194d, 0x00302db5, 0x03662fc5, 0x020728bd, 0x031e7ad1, 0x00ca141d, 0x03462edd, 0x0328073c, 0x00372e72}}}, + {X: Field{[10]uint32{0x0256bc2c, 0x019f73db, 0x021b99cb, 0x01ea6216, 0x01902613, 0x00925274, 0x02206718, 0x011278fd, 0x01272726, 0x002f38fc}}, Y: Field{[10]uint32{0x02e76217, 0x0355e1b9, 0x0097d296, 0x01f714a9, 0x011c33c3, 0x02b4496b, 0x0168f040, 0x037692fa, 0x0017ee92, 0x00290900}}}, + {X: Field{[10]uint32{0x035d6e52, 0x037ba5ff, 0x01eb9738, 0x00ddd0e6, 0x03700801, 0x0078d7eb, 0x02daf442, 0x010529e6, 0x00cdefe9, 0x00277c26}}, Y: Field{[10]uint32{0x01abf15d, 0x0223ae94, 0x01baf3b7, 0x02d36fbc, 0x03f04bf4, 0x01a45f65, 0x0317bb80, 0x0250f343, 0x035fef36, 0x001afe48}}}, + {X: Field{[10]uint32{0x03d43f1d, 0x0332536c, 0x02522e8d, 0x02d1c888, 0x0005d88a, 0x0249c4e8, 0x00839a82, 0x03712a69, 0x002ee561, 0x00265616}}, Y: Field{[10]uint32{0x028c226a, 0x013a2341, 0x00dc78cb, 0x02cd0ed7, 0x02850008, 0x00966cde, 0x0376cba2, 0x03c8fa1b, 0x0214b63a, 0x00382562}}}, + {X: Field{[10]uint32{0x01fb1f24, 0x024cf11b, 0x02871bad, 0x01e548ce, 0x03dda933, 0x02230122, 0x0292447c, 0x009e79f4, 0x00ce7d7b, 0x000f9fee}}, Y: Field{[10]uint32{0x008806e5, 0x01bb2b59, 0x0309d229, 0x02aa4e17, 0x02e36352, 0x001ae92f, 0x037a5dd9, 0x0208e4b5, 0x01083410, 0x000109e7}}}, + {X: Field{[10]uint32{0x01e8ed62, 0x0029a8dd, 0x001c71ac, 0x01a7f2da, 0x0097611d, 0x0209b3d6, 0x02c93ee7, 0x01684433, 0x0050f740, 0x00073415}}, Y: Field{[10]uint32{0x0334d0f0, 0x02880eeb, 0x0136b039, 0x017264c6, 0x025759d3, 0x002e54db, 0x020a3a02, 0x02c10358, 0x0070bb52, 0x000216ef}}}, + {X: Field{[10]uint32{0x03c9b367, 0x02b6fdf5, 0x005e3c76, 0x03283ed3, 0x0393cf99, 0x02e040cb, 0x0387bd01, 0x0168f7db, 0x03763214, 0x0001411d}}, Y: Field{[10]uint32{0x03d1d2c3, 0x01820115, 0x03f7a1ed, 0x008e2132, 0x00a0e67b, 0x031c7d06, 0x02b97ce6, 0x01ddc627, 0x0359919c, 0x0001eeb7}}}, + {X: Field{[10]uint32{0x0070e6ea, 0x03de8391, 0x030be636, 0x00afdfcb, 0x0079fd30, 0x03452629, 0x01b8d87a, 0x012ea0c2, 0x02c949b6, 0x0007aa44}}, Y: Field{[10]uint32{0x002b7650, 0x0021b401, 0x02b4d029, 0x039b3e0e, 0x014acd50, 0x0140aba3, 0x014896d3, 0x00477a10, 0x03dd0b12, 0x0026c9e7}}}, + {X: Field{[10]uint32{0x01a01628, 0x00c0a3c8, 0x007ac8c0, 0x026f4bd3, 0x03e1ed32, 0x017c0f12, 0x00e0b009, 0x001daf2d, 0x00d34b00, 0x0026cfe8}}, Y: Field{[10]uint32{0x03d420de, 0x02549f09, 0x01f4126e, 0x035543bf, 0x038cef81, 0x033b1987, 0x00d5dcb0, 0x023bd4b8, 0x0248b2a5, 0x0004045e}}}, + {X: Field{[10]uint32{0x024c94eb, 0x01e3f020, 0x03e22ff6, 0x00a34095, 0x036200d1, 0x02eb4530, 0x02c7f7f5, 0x027712ce, 0x03b801d3, 0x00197fbd}}, Y: Field{[10]uint32{0x0308b475, 0x026bc249, 0x032fe325, 0x03b1e80a, 0x02f2dcd6, 0x01bbc9db, 0x0373b9b3, 0x013f09dc, 0x01ee680c, 0x000c0878}}}, + {X: Field{[10]uint32{0x0385f9ac, 0x00a45fdf, 0x01d46c5a, 0x02ee3f7b, 0x036ef5e1, 0x030afbd6, 0x004c0f2b, 0x00e95419, 0x023daf76, 0x000f9dec}}, Y: Field{[10]uint32{0x024f3221, 0x02cf930a, 0x0021b415, 0x021443f4, 0x018d4fc7, 0x00b6cb1e, 0x03f0766a, 0x01e1e671, 0x00e95bb0, 0x00156c9e}}}, + {X: Field{[10]uint32{0x01de2965, 0x023022c8, 0x0378396f, 0x0228c8cb, 0x02f69fbf, 0x0335f4d4, 0x0215fba1, 0x0248af11, 0x02bf2fec, 0x000ab136}}, Y: Field{[10]uint32{0x019f957f, 0x03cfab08, 0x0089fa92, 0x00947bfc, 0x006d6494, 0x03e16946, 0x03e60187, 0x022f3c0a, 0x00177623, 0x000b0cf0}}}, + {X: Field{[10]uint32{0x0162c66e, 0x0150a153, 0x0155868d, 0x03c65f8c, 0x03748be0, 0x00acb3ae, 0x01feac74, 0x00134215, 0x022067da, 0x003faf22}}, Y: Field{[10]uint32{0x01d96083, 0x012a3499, 0x03bd1a55, 0x01b6898a, 0x01e3db34, 0x004169dc, 0x029d583e, 0x0398ffe6, 0x02873d45, 0x002bb8e4}}}, + {X: Field{[10]uint32{0x0206a569, 0x023da261, 0x038d3e1c, 0x000b7138, 0x02026542, 0x01715006, 0x002d10bd, 0x009d4623, 0x00b4a598, 0x0029045d}}, Y: Field{[10]uint32{0x03732a00, 0x0021fa47, 0x0367e3bd, 0x00be3643, 0x016b589f, 0x020ad947, 0x0165337e, 0x03e17b1a, 0x03b99fb5, 0x002f1ad8}}}, + {X: Field{[10]uint32{0x025de220, 0x02919396, 0x02ae93a3, 0x0134f2bc, 0x02907c19, 0x004bdd26, 0x0397fc6d, 0x028ebcee, 0x02cf5d10, 0x00048865}}, Y: Field{[10]uint32{0x0304e533, 0x031ba4a4, 0x032b946f, 0x03175016, 0x01674697, 0x02508ff7, 0x00e2c7c5, 0x03884d51, 0x0342b3c1, 0x00333d19}}}, + {X: Field{[10]uint32{0x021eadb3, 0x02d98f0b, 0x0373e799, 0x0187a38e, 0x019f93ec, 0x03219dd8, 0x03bfaa08, 0x03731f86, 0x01cb0104, 0x001deeb5}}, Y: Field{[10]uint32{0x02faa3cc, 0x03a18271, 0x00fea411, 0x02317bc2, 0x014023fd, 0x03c948bb, 0x021214dd, 0x037afd23, 0x007bad8b, 0x0002225d}}}, + {X: Field{[10]uint32{0x02d4a98b, 0x005faec4, 0x015d2f55, 0x0225a578, 0x024e3f6c, 0x00cc9f9b, 0x01451637, 0x02b505ab, 0x00758c49, 0x0007a350}}, Y: Field{[10]uint32{0x023b09f4, 0x01a05803, 0x01cd1259, 0x02835220, 0x0398d94a, 0x032f13e0, 0x03379a2e, 0x02986726, 0x00b00730, 0x000745b3}}}, + {X: Field{[10]uint32{0x03b6ee42, 0x01a7e97e, 0x028cfb18, 0x02b3d280, 0x01880ff2, 0x03ed6d4d, 0x03f4974a, 0x01077521, 0x016b2402, 0x00321e99}}, Y: Field{[10]uint32{0x02757beb, 0x02bfdc2f, 0x01cb76dd, 0x02a2d326, 0x0134f694, 0x029a9e43, 0x0174412f, 0x0254e17b, 0x033a6fac, 0x0005bc97}}}, + {X: Field{[10]uint32{0x0355a4eb, 0x02f67092, 0x03b8071f, 0x005b9ce4, 0x01669adf, 0x03385a81, 0x0369944c, 0x01ba23a5, 0x0007482c, 0x0025ac05}}, Y: Field{[10]uint32{0x00b50223, 0x02fffee5, 0x00ca4578, 0x03886c5e, 0x0082b786, 0x021a2006, 0x00d68de3, 0x0213c382, 0x02805903, 0x002ccaf8}}}, + {X: Field{[10]uint32{0x01ae4af5, 0x02fe211b, 0x01eff7eb, 0x01888b87, 0x00b2afd1, 0x01b423d5, 0x0272fb74, 0x018b9a07, 0x00b37395, 0x000483da}}, Y: Field{[10]uint32{0x000bcc78, 0x0305a40c, 0x00743ded, 0x02758572, 0x0102f4da, 0x03643853, 0x03c6729b, 0x01dbe51d, 0x034f2b23, 0x001f07ad}}}, + {X: Field{[10]uint32{0x02acd157, 0x03177139, 0x00989b65, 0x0074a170, 0x0049a441, 0x00923fba, 0x008be2cf, 0x02d15618, 0x01ec2789, 0x0039921c}}, Y: Field{[10]uint32{0x00e10a6b, 0x01d8a516, 0x02145843, 0x039740bc, 0x02f3dbfa, 0x017be47f, 0x039ecfd4, 0x02c2d56d, 0x02d14999, 0x000a602c}}}, + {X: Field{[10]uint32{0x026798ad, 0x010e18ea, 0x012660eb, 0x03894ea3, 0x0243daa1, 0x01cf9721, 0x0324adfc, 0x00f8b094, 0x0009b20d, 0x001822c4}}, Y: Field{[10]uint32{0x010e13df, 0x03f8b223, 0x0038b3b4, 0x00f10fbf, 0x03a021e1, 0x033c3998, 0x0181c68c, 0x0258e144, 0x0203ad5c, 0x00209b96}}}, + {X: Field{[10]uint32{0x01bb152a, 0x017e1068, 0x033e57c6, 0x00ada142, 0x00cdc4dc, 0x01bd306a, 0x02614353, 0x03917d82, 0x01558132, 0x002325e0}}, Y: Field{[10]uint32{0x037460fc, 0x03504df6, 0x0344ba6e, 0x00f670c6, 0x001875d6, 0x02193c65, 0x01083c53, 0x0207bc2a, 0x0098394d, 0x00328ecc}}}, + {X: Field{[10]uint32{0x0021bf3e, 0x0323e366, 0x00627f80, 0x015da084, 0x03100727, 0x0380441b, 0x018e731c, 0x00920be3, 0x011ac73b, 0x0000d4d6}}, Y: Field{[10]uint32{0x01eb6412, 0x02131ed0, 0x03df9d4f, 0x02067d12, 0x0370ae89, 0x009823aa, 0x02306db0, 0x02d1a6b1, 0x011a501a, 0x000adf8f}}}, + {X: Field{[10]uint32{0x00d78857, 0x03710c27, 0x02978b05, 0x01f6a7f6, 0x023c387b, 0x01e3f38c, 0x0270a671, 0x01cdcbb3, 0x0188ec35, 0x003acb7f}}, Y: Field{[10]uint32{0x024b88e4, 0x011fbc68, 0x01f6318c, 0x01ff2828, 0x023dd7aa, 0x02148dcb, 0x001a8cf9, 0x01548711, 0x02ed1f5a, 0x001bcaed}}}, + {X: Field{[10]uint32{0x012eb279, 0x03fdcca6, 0x00487b29, 0x03a619cb, 0x00abd72a, 0x03bbd9b7, 0x018f3b07, 0x001439a6, 0x03f65db1, 0x00290703}}, Y: Field{[10]uint32{0x01a99cd4, 0x0147bba6, 0x00244ba9, 0x03acaab3, 0x03bc0786, 0x014841c9, 0x019d7f86, 0x03fe77d8, 0x03205616, 0x0015be9e}}}, + {X: Field{[10]uint32{0x02217e92, 0x009395e8, 0x00ea9415, 0x02b6186f, 0x01615d85, 0x021677c4, 0x005917e0, 0x00540329, 0x0335f5bb, 0x00239d22}}, Y: Field{[10]uint32{0x00a46df8, 0x01d78fbf, 0x0266c9ef, 0x028e5b3f, 0x00825515, 0x025cef14, 0x03f86043, 0x031a9e12, 0x0362e226, 0x0015504c}}}, + {X: Field{[10]uint32{0x02dd17e5, 0x0354d709, 0x03708f35, 0x009f3339, 0x02bc506c, 0x01fb1eff, 0x00de2c7b, 0x001891cf, 0x0007cce7, 0x002a0fd8}}, Y: Field{[10]uint32{0x026af268, 0x00edd318, 0x02cbb26c, 0x005221e8, 0x015a1ac6, 0x03543585, 0x0397a379, 0x01f9718c, 0x012daf21, 0x002b523b}}}, + {X: Field{[10]uint32{0x0282d2fa, 0x022bfb44, 0x033abf11, 0x0376d1d5, 0x025cf208, 0x03f4e5f7, 0x000246eb, 0x0058924e, 0x02927e45, 0x003e7b5e}}, Y: Field{[10]uint32{0x00237b70, 0x02eed772, 0x01324087, 0x001ed2f9, 0x0303c844, 0x01c34e03, 0x015d53c6, 0x00c3de03, 0x02163a6f, 0x003055d1}}}, + {X: Field{[10]uint32{0x002ea08e, 0x00499c9b, 0x0255af01, 0x00491b14, 0x02c7dff0, 0x03c27e04, 0x01177078, 0x031e99fe, 0x038a175e, 0x0028af79}}, Y: Field{[10]uint32{0x01ca12ec, 0x004c8f72, 0x01e20b09, 0x00aa976e, 0x013b5dd6, 0x037140fe, 0x03d27419, 0x01302db5, 0x018fe82d, 0x001c495a}}}, + {X: Field{[10]uint32{0x039899b2, 0x03a88c6f, 0x01a56e62, 0x010b861d, 0x036b37da, 0x02385a42, 0x01cc0e9b, 0x019cda41, 0x01c79dcb, 0x0032a301}}, Y: Field{[10]uint32{0x0087534c, 0x003c67c5, 0x0199641d, 0x0275c4e2, 0x02275125, 0x03eea72a, 0x0160c1e3, 0x02b6e999, 0x01ca1e19, 0x00141314}}}, + {X: Field{[10]uint32{0x00eca02b, 0x01ec0655, 0x0397c061, 0x008725e7, 0x0061fd4b, 0x0140609e, 0x037ecdd1, 0x004eb104, 0x02ee61db, 0x0003f041}}, Y: Field{[10]uint32{0x03bef3ee, 0x0265945e, 0x0308e6bc, 0x035d724b, 0x02971f2c, 0x037168b0, 0x03ce9c2c, 0x0198e0ab, 0x02284fc2, 0x001b6956}}}, + {X: Field{[10]uint32{0x0092a8ab, 0x02da9c59, 0x0390b8b9, 0x012f0be3, 0x03504f67, 0x02b1e11b, 0x019a3217, 0x0041a150, 0x0039f47b, 0x000b2c86}}, Y: Field{[10]uint32{0x000a5757, 0x0204927c, 0x017aff10, 0x00cc116a, 0x00637264, 0x01978bf2, 0x0007feb9, 0x00112bda, 0x0332ae75, 0x00007fac}}}, + {X: Field{[10]uint32{0x0161f3ae, 0x03c84c95, 0x002245d4, 0x01c9e65c, 0x0356ba35, 0x02e957b6, 0x022963ef, 0x001ffff2, 0x00ee759c, 0x0019e314}}, Y: Field{[10]uint32{0x02cba96c, 0x022ffd2b, 0x03107c49, 0x015f6a9d, 0x01780b16, 0x00e2787e, 0x03afce2d, 0x00130724, 0x0387abbf, 0x0006626d}}}, + {X: Field{[10]uint32{0x024aa6fc, 0x00724420, 0x01da41b2, 0x032907cf, 0x0275d407, 0x002cbc99, 0x015097c3, 0x00d36608, 0x01ceaa2e, 0x002ad8f8}}, Y: Field{[10]uint32{0x00e2363c, 0x00955a9b, 0x00d82479, 0x0395f43d, 0x02812eb7, 0x011506b5, 0x01d3da2c, 0x03fdc9c5, 0x02611150, 0x003b196f}}}, + {X: Field{[10]uint32{0x003dd336, 0x02466ba4, 0x03cc9f5c, 0x01e6c14a, 0x03ec5672, 0x00499260, 0x0239a2a3, 0x02565d69, 0x01cafad5, 0x0029a4e6}}, Y: Field{[10]uint32{0x010d97dd, 0x00f84bb1, 0x017551c4, 0x012d8d24, 0x001c8730, 0x024eb8d2, 0x02799dcc, 0x013d369e, 0x0259c30c, 0x002d4971}}}, + {X: Field{[10]uint32{0x00fc5f3e, 0x01d4ef70, 0x001fbe13, 0x02bf4ef9, 0x00bd7a48, 0x00e720b4, 0x01cb5ed4, 0x033d7b49, 0x0282507b, 0x000cafd0}}, Y: Field{[10]uint32{0x0279bff2, 0x02eda543, 0x0033ac20, 0x02607a00, 0x026773c5, 0x038d1fa0, 0x0282f90b, 0x0367f495, 0x017a4336, 0x00336480}}}, + {X: Field{[10]uint32{0x02dfd862, 0x00ba6e3b, 0x032ec5e4, 0x0213da06, 0x02f2fe64, 0x005141c5, 0x003e2cc1, 0x000259c8, 0x01837e72, 0x00287f32}}, Y: Field{[10]uint32{0x01ed4fd7, 0x01b0c58c, 0x03a964ba, 0x03f6f05f, 0x02a419af, 0x008b7927, 0x03fa79a7, 0x03ee277f, 0x02c317e8, 0x000785ad}}}, + {X: Field{[10]uint32{0x030ceae0, 0x02ccae5f, 0x00838472, 0x03cceafa, 0x0360485c, 0x0073dce2, 0x01f1e822, 0x01f94063, 0x014e6961, 0x0036168c}}, Y: Field{[10]uint32{0x000a52f1, 0x02a8d9f8, 0x024e86e1, 0x033ccc22, 0x00fbbcba, 0x02229e6d, 0x034b5daa, 0x0379999a, 0x03eee92d, 0x001c683f}}}, + {X: Field{[10]uint32{0x020c2e7f, 0x000feabc, 0x0224e4ee, 0x017a010f, 0x02f5a53b, 0x00d5bab0, 0x01b20e31, 0x031c3905, 0x02fa0688, 0x00062489}}, Y: Field{[10]uint32{0x01515aa6, 0x0161f7bc, 0x00eaa1a0, 0x01fe54b9, 0x02fc2bba, 0x0261f3d8, 0x00be5759, 0x0354f9ef, 0x00ac40c7, 0x00366ff6}}}, + {X: Field{[10]uint32{0x019e1330, 0x001c2695, 0x01241ff7, 0x009534b6, 0x0132465d, 0x00b3c84d, 0x02674e63, 0x00458b5e, 0x020a6a93, 0x0034d50b}}, Y: Field{[10]uint32{0x0357c369, 0x01e645d2, 0x032bf9a0, 0x021012c7, 0x03dbd427, 0x008aef60, 0x00be5ed6, 0x0108d0d3, 0x0351e266, 0x000097a3}}}, + {X: Field{[10]uint32{0x013a2bc5, 0x01af861d, 0x0245f287, 0x016ab6ff, 0x029a8c0a, 0x0161d615, 0x006e6b82, 0x02d8487b, 0x0286fb2c, 0x00145367}}, Y: Field{[10]uint32{0x03cbf261, 0x02a10615, 0x0179145c, 0x02f1218a, 0x011b8370, 0x0197de76, 0x01918d9f, 0x008f10d0, 0x01c0be54, 0x001c01e1}}}, + {X: Field{[10]uint32{0x023fe495, 0x01a128fa, 0x03f6ad6d, 0x0188b5c8, 0x0343f9aa, 0x02b981aa, 0x031db335, 0x0333f787, 0x036512e9, 0x00327e18}}, Y: Field{[10]uint32{0x0230270b, 0x00efac87, 0x01db3a3b, 0x0163cc7d, 0x01b7b80b, 0x0372f8ee, 0x02f9445d, 0x02807271, 0x02313868, 0x000c34e9}}}, + {X: Field{[10]uint32{0x002deb93, 0x03481bcb, 0x00768357, 0x029cae42, 0x03641200, 0x0039e436, 0x00cd96fa, 0x0227f826, 0x020c8fc0, 0x000089bc}}, Y: Field{[10]uint32{0x025f66bc, 0x00ee56aa, 0x00cff1c0, 0x01bfb860, 0x015e0262, 0x012d0f6a, 0x03c20452, 0x024d880f, 0x03b8b43e, 0x000b88fe}}}, + {X: Field{[10]uint32{0x035350bd, 0x0125adb2, 0x03da0a38, 0x03f62366, 0x019fcc79, 0x02e29f98, 0x019bd9e6, 0x03e531c8, 0x0268d4b6, 0x00286c9d}}, Y: Field{[10]uint32{0x02d68a32, 0x013ccb75, 0x01b94264, 0x01d2dcae, 0x01c96b5f, 0x0003f57b, 0x02a62bc2, 0x0305ab9e, 0x005eb6e1, 0x000e4cff}}}, + {X: Field{[10]uint32{0x03e28887, 0x0037dfab, 0x01ae38c4, 0x01f05643, 0x0357dd4e, 0x02023ac2, 0x03b71810, 0x02f0c47d, 0x02570087, 0x00043c4d}}, Y: Field{[10]uint32{0x03366d84, 0x031ba178, 0x03995db5, 0x02d29e68, 0x02291338, 0x00753b73, 0x02c570d9, 0x030fb139, 0x008709bd, 0x000694b9}}}, + {X: Field{[10]uint32{0x01be3e46, 0x03861073, 0x01884273, 0x03623e62, 0x00f613b3, 0x0003717b, 0x03558615, 0x03d60fe7, 0x00eea984, 0x00022aa8}}, Y: Field{[10]uint32{0x0133260d, 0x025f48a8, 0x017b8f21, 0x016055b6, 0x0124e564, 0x00bc91bb, 0x02c46abc, 0x009df700, 0x01540f85, 0x0014a588}}}, + {X: Field{[10]uint32{0x01c89d2e, 0x019990fc, 0x034aa3bd, 0x03be96e2, 0x00dc9472, 0x01ea4ea6, 0x0397ce5f, 0x02c6de6c, 0x02710024, 0x000ca016}}, Y: Field{[10]uint32{0x003091fd, 0x01439621, 0x002a2f4d, 0x019702e2, 0x029e23c7, 0x00a9d3b5, 0x02d0a858, 0x00e7d734, 0x007cb7c1, 0x002bd497}}}, + {X: Field{[10]uint32{0x01412451, 0x0141d26a, 0x02b12cde, 0x030a1fda, 0x01058db0, 0x03ce9483, 0x030835a4, 0x035125fe, 0x00cc909a, 0x0031cbc4}}, Y: Field{[10]uint32{0x02c7c65a, 0x0044b5bc, 0x03030a7a, 0x00c99d19, 0x03b8e2ca, 0x0192d83c, 0x015ff15b, 0x02ea78df, 0x027d5197, 0x0029599b}}}, + {X: Field{[10]uint32{0x03fc9a22, 0x0082195d, 0x01f97c03, 0x016b5301, 0x0172c0fa, 0x0080ef50, 0x01a74adc, 0x0046c905, 0x00c78702, 0x001bb1da}}, Y: Field{[10]uint32{0x031b09fb, 0x009833ab, 0x014d05da, 0x010b6d9f, 0x03b51cbf, 0x01527230, 0x01e67100, 0x036ec249, 0x02220aa2, 0x00060e52}}}, + {X: Field{[10]uint32{0x00a64737, 0x00e9c70f, 0x01e61dc9, 0x0343bbe4, 0x01a846e7, 0x01c117f2, 0x01061438, 0x03455981, 0x03bbff99, 0x00378dba}}, Y: Field{[10]uint32{0x000f4270, 0x0292d3a4, 0x00c81b39, 0x02e86d34, 0x00488208, 0x011db138, 0x0247dcda, 0x02cded01, 0x02520f3c, 0x0031605d}}}, + {X: Field{[10]uint32{0x00c00218, 0x0082adcf, 0x0297bc0c, 0x008ad1a8, 0x0019bea3, 0x037a9bd3, 0x0001ef86, 0x03f1a16b, 0x015d5538, 0x003d4d05}}, Y: Field{[10]uint32{0x03b9523c, 0x0355c1ac, 0x026030d3, 0x013c5376, 0x03f9d092, 0x028b4494, 0x02b38a49, 0x02632bbb, 0x01f2979d, 0x0013eadf}}}, + {X: Field{[10]uint32{0x0286129d, 0x01ff304c, 0x035210bc, 0x0223436a, 0x0008db20, 0x0156da1f, 0x00ecb981, 0x02409420, 0x0050a1db, 0x0036bf6e}}, Y: Field{[10]uint32{0x011ada22, 0x03cbfbd9, 0x0291aa2e, 0x014183ff, 0x027d0ccc, 0x00dbeef4, 0x02be601f, 0x013050ff, 0x03fcae6c, 0x0010e597}}}, + {X: Field{[10]uint32{0x01d705ce, 0x027e7d26, 0x03721299, 0x01a5a02c, 0x022efe40, 0x00cf31a7, 0x016893ee, 0x02f21460, 0x02211dca, 0x002b2682}}, Y: Field{[10]uint32{0x00c728ef, 0x00e5c6e6, 0x03a8879c, 0x02c4e7d6, 0x02acf64e, 0x034035c4, 0x021e02c2, 0x034af7fe, 0x02408281, 0x0005baff}}}, + {X: Field{[10]uint32{0x00503030, 0x0207afa6, 0x02ceb1db, 0x00bc0ede, 0x0131ae2b, 0x02e2da7f, 0x01eb8b97, 0x03dba578, 0x03d4b48c, 0x002becde}}, Y: Field{[10]uint32{0x024b7929, 0x0336c582, 0x01d84d3f, 0x037b3913, 0x01c47c06, 0x017e8c4f, 0x0231af3e, 0x033765bc, 0x0164f8d9, 0x000733d0}}}, + {X: Field{[10]uint32{0x0088e709, 0x000a494e, 0x007d51a6, 0x00b4ac4a, 0x00f55368, 0x007591c3, 0x0318e7f2, 0x013e0cea, 0x02ef6c29, 0x00006e40}}, Y: Field{[10]uint32{0x00d69ebe, 0x007b3bb7, 0x024aa24b, 0x00091b1c, 0x0066ca01, 0x00359a93, 0x005e9fe4, 0x027f9c8e, 0x01ff34e4, 0x001dcd71}}}, + {X: Field{[10]uint32{0x003133e2, 0x0138a2df, 0x030b255e, 0x031630ef, 0x00c61b41, 0x00cc883f, 0x01b4ec3d, 0x00a561f1, 0x03108a20, 0x001b9396}}, Y: Field{[10]uint32{0x028fcfbe, 0x012a6766, 0x02f660f1, 0x0011b3a8, 0x00b55ae5, 0x01224569, 0x01ea4106, 0x01abd11a, 0x03065c33, 0x002d27e0}}}, + {X: Field{[10]uint32{0x037e9714, 0x00346ac6, 0x0280b5b1, 0x0261f607, 0x0112342d, 0x034e4c6e, 0x00532760, 0x0008416e, 0x037fbb80, 0x0021f38f}}, Y: Field{[10]uint32{0x00f0f635, 0x0065ce93, 0x02e16d1e, 0x0263751b, 0x016b71f8, 0x03078ce1, 0x013c3869, 0x03ce700a, 0x004779db, 0x0015b1aa}}}, + {X: Field{[10]uint32{0x01426b2d, 0x0199eab2, 0x01d0c9f6, 0x00189d1f, 0x02d368a7, 0x01687a51, 0x00193724, 0x01927270, 0x029bb7ba, 0x0021c90c}}, Y: Field{[10]uint32{0x010b944c, 0x0243fe59, 0x030d89d0, 0x03548745, 0x0155b109, 0x003e811e, 0x03a5a5bb, 0x03512d76, 0x00e848d7, 0x00011116}}}, + {X: Field{[10]uint32{0x02a1a4bc, 0x025fd8ad, 0x005cd7d2, 0x03333b21, 0x03c6338d, 0x01935f5f, 0x01b18b6b, 0x030244cb, 0x03a64735, 0x002e46fb}}, Y: Field{[10]uint32{0x00138467, 0x03dc0778, 0x0340b14c, 0x00323e7c, 0x0015e7ca, 0x0391d9a8, 0x03f16cfb, 0x01e71a19, 0x01ef8c9b, 0x002ece58}}}, + {X: Field{[10]uint32{0x00d08fb3, 0x038c8028, 0x0296cd8d, 0x02e19735, 0x009ae3d6, 0x0228d227, 0x00fbb896, 0x025fa8ef, 0x0259332e, 0x0010c87a}}, Y: Field{[10]uint32{0x00cd538e, 0x032d8021, 0x00f7ee31, 0x008d7394, 0x0203f6b0, 0x01ce8d7a, 0x0182e3fc, 0x02754f5d, 0x00d4c514, 0x0025f920}}}, + {X: Field{[10]uint32{0x02f1bc6d, 0x014b29bd, 0x02069057, 0x0357a230, 0x017950a8, 0x02a63508, 0x01051d25, 0x025a990c, 0x03b2836d, 0x00371165}}, Y: Field{[10]uint32{0x03df36ff, 0x01cfc814, 0x02ad7f9b, 0x03f79310, 0x03362bb4, 0x00d5c96a, 0x00e3a83c, 0x00c32ba1, 0x000d16ba, 0x0031c496}}}, + {X: Field{[10]uint32{0x0159a009, 0x00b4e700, 0x00992997, 0x0194b67e, 0x03c5f19b, 0x037801ee, 0x02617508, 0x00c0242c, 0x02f085ff, 0x00339913}}, Y: Field{[10]uint32{0x033cc8f7, 0x02641b35, 0x02c17c08, 0x01a48299, 0x00c9402a, 0x019026ac, 0x0200c92f, 0x02e596ea, 0x01d0058d, 0x00002690}}}, + {X: Field{[10]uint32{0x0136b41a, 0x01138066, 0x002b4a74, 0x0309611a, 0x022ec439, 0x00f2e3bc, 0x01aecf42, 0x02d2eae0, 0x035cb6c7, 0x0002e878}}, Y: Field{[10]uint32{0x01bd6272, 0x0339a50d, 0x0128ad2f, 0x00cc73ab, 0x0001098b, 0x02c5ea39, 0x0178d6f7, 0x037918f8, 0x0252f91d, 0x003cecf1}}}, + {X: Field{[10]uint32{0x02e3920f, 0x0344d821, 0x0114d72e, 0x011c640b, 0x036988c7, 0x011763d0, 0x03c839f8, 0x006efd83, 0x02a02a33, 0x002e7e63}}, Y: Field{[10]uint32{0x020d03d3, 0x03eca4b1, 0x0327d318, 0x013ea52e, 0x0235d9b0, 0x02a85f04, 0x0326f5e8, 0x00e85b31, 0x0101a7f2, 0x00027ec9}}}, + {X: Field{[10]uint32{0x007e886f, 0x028da7a0, 0x02ed09c1, 0x03c45b5e, 0x00dc10db, 0x03f3fe4c, 0x038e702f, 0x003e0711, 0x034655f9, 0x001c1645}}, Y: Field{[10]uint32{0x0205a59f, 0x0255426c, 0x02f8c64b, 0x010747cd, 0x03d09d3f, 0x0182a8fd, 0x031ec925, 0x03c32836, 0x00a4b9d6, 0x002099e8}}}, + {X: Field{[10]uint32{0x025434bf, 0x00886b30, 0x0031eb76, 0x01b938c7, 0x0114cc5a, 0x01004858, 0x036469f8, 0x02818e9e, 0x00bcc43c, 0x003bf69e}}, Y: Field{[10]uint32{0x02fa2864, 0x038de055, 0x032aa92b, 0x0191126b, 0x034cdf80, 0x00c64f44, 0x0121b135, 0x03e1643d, 0x03f6ef45, 0x001ed0db}}}, + {X: Field{[10]uint32{0x010ccc34, 0x01b4251d, 0x02f0e430, 0x01d00068, 0x0335fbd8, 0x02015aba, 0x0230988c, 0x002578e9, 0x030f5d62, 0x0008a692}}, Y: Field{[10]uint32{0x0234de6e, 0x028d6578, 0x034288be, 0x00d771a8, 0x00741acf, 0x01a9466f, 0x01694cef, 0x01d38f4b, 0x03af491c, 0x0005c34c}}}, + {X: Field{[10]uint32{0x02f07100, 0x0238bb1a, 0x03f178ce, 0x02d2069a, 0x03f91860, 0x02b343e4, 0x01d44b83, 0x0084c862, 0x008e20a0, 0x0031dc3d}}, Y: Field{[10]uint32{0x00266eec, 0x03e18870, 0x038c9610, 0x02fdf82f, 0x02a6d8db, 0x00c96fab, 0x0143aca3, 0x00647e7b, 0x00d38b2a, 0x001f8448}}}, + {X: Field{[10]uint32{0x0286aa44, 0x0121a6bc, 0x00af8eb7, 0x0260f509, 0x01e89b89, 0x002c626a, 0x020a48a2, 0x00754a2d, 0x00630390, 0x002976cb}}, Y: Field{[10]uint32{0x00af1e50, 0x03868dc9, 0x03a1446f, 0x021a0146, 0x010384e1, 0x0270dfbb, 0x034e6abd, 0x0356c069, 0x01926a93, 0x002e6587}}}, + {X: Field{[10]uint32{0x0241db1c, 0x01eca636, 0x005ff007, 0x01233a8b, 0x024b447e, 0x005a36e6, 0x03897b7c, 0x000a2298, 0x029e9f33, 0x000fb1c5}}, Y: Field{[10]uint32{0x03053fb2, 0x01de0d7c, 0x00b49e44, 0x01a04b96, 0x024b3be2, 0x034d2935, 0x004aa34e, 0x003b688b, 0x034de8e6, 0x0030ffa5}}}, + {X: Field{[10]uint32{0x035bf3b3, 0x00b0453e, 0x02b777cf, 0x024f3a4b, 0x03810cff, 0x0267923a, 0x0060d4cf, 0x00461356, 0x0217c331, 0x002dccf7}}, Y: Field{[10]uint32{0x000c11b0, 0x038690d2, 0x0290ad28, 0x033a7c9a, 0x0157fc4a, 0x02ed855c, 0x000d537e, 0x002b4c80, 0x00dd72d2, 0x00031d70}}}, + {X: Field{[10]uint32{0x002ed278, 0x0140585b, 0x01df28b4, 0x0279aa08, 0x00027db5, 0x005601d7, 0x0149616a, 0x02f09057, 0x0208d555, 0x0015f5b8}}, Y: Field{[10]uint32{0x0346eba8, 0x00d31b0d, 0x02891fca, 0x00b9b3ca, 0x0274b5d0, 0x014ecd3d, 0x028e3533, 0x036968d4, 0x0279d130, 0x0020e1c2}}}, + {X: Field{[10]uint32{0x02d3673d, 0x0249621a, 0x03aab8d7, 0x0027f6cb, 0x026f0694, 0x00823dbc, 0x032fd3c3, 0x0291e0ef, 0x00f1aa69, 0x0027908d}}, Y: Field{[10]uint32{0x008d0653, 0x00dccf8a, 0x0029bd75, 0x005abffb, 0x019fb42b, 0x01e81610, 0x03ed0414, 0x03af0fa2, 0x03737725, 0x0017e691}}}, + {X: Field{[10]uint32{0x02b68173, 0x00fc7ce6, 0x00a758d4, 0x03c9d81a, 0x0322e4fc, 0x0362ba44, 0x0096202f, 0x00bff6f6, 0x039d9fc1, 0x001bf8ff}}, Y: Field{[10]uint32{0x0109fa1b, 0x00f688ad, 0x02a3c2ab, 0x0058f9fe, 0x010bf94e, 0x02482316, 0x03ef7b50, 0x0118209c, 0x02821d41, 0x003bc355}}}, + {X: Field{[10]uint32{0x005c4631, 0x02ab96ed, 0x0161fff2, 0x015f446c, 0x0154c492, 0x01532d26, 0x02af415e, 0x01b867be, 0x014fd258, 0x000b0c79}}, Y: Field{[10]uint32{0x03311346, 0x003908c4, 0x0308bd8e, 0x015069c1, 0x00039af3, 0x03ee0979, 0x0353c0e9, 0x02c6b39f, 0x00ad364a, 0x002fb7ec}}}, + {X: Field{[10]uint32{0x00203ebc, 0x019839de, 0x037823b8, 0x0225270b, 0x004d745b, 0x02e4ce16, 0x00ea2ee2, 0x01230d1e, 0x02590231, 0x0014565c}}, Y: Field{[10]uint32{0x02aa1817, 0x027cefd9, 0x033628a5, 0x03396984, 0x03b81ff7, 0x015e4140, 0x03dc4702, 0x02dd0f13, 0x0153f688, 0x000ca7d8}}}, + {X: Field{[10]uint32{0x01caf1f4, 0x010791b3, 0x03d6070d, 0x0213378d, 0x020d3946, 0x03d4733e, 0x03fcb3bd, 0x035ee370, 0x032458f7, 0x000622cc}}, Y: Field{[10]uint32{0x03901910, 0x0195a934, 0x03104487, 0x030a22ab, 0x003d1dde, 0x026671aa, 0x026b04c8, 0x02845cc6, 0x01dad112, 0x000137a9}}}, + {X: Field{[10]uint32{0x03a6e471, 0x00dcb573, 0x0090e307, 0x033dfc4f, 0x0085f804, 0x0384f8aa, 0x02b0a494, 0x03856233, 0x0241a503, 0x00248163}}, Y: Field{[10]uint32{0x00ec108a, 0x01c95761, 0x0151068e, 0x01e96334, 0x01bcbe17, 0x0085dfa5, 0x025a230e, 0x01a1785f, 0x02d4449e, 0x000da01c}}}, + {X: Field{[10]uint32{0x00099fcf, 0x011e20cd, 0x0105d5b6, 0x03a27a0c, 0x03726f79, 0x01bab14d, 0x03a7a689, 0x01941bc9, 0x022644e0, 0x001a9bd4}}, Y: Field{[10]uint32{0x01132586, 0x0268cb69, 0x013214c1, 0x0269692d, 0x007104e7, 0x01d261fd, 0x027b6645, 0x0360fac5, 0x014bd8ce, 0x0033cfb7}}}, + {X: Field{[10]uint32{0x0376bb26, 0x03e49bc8, 0x0148d89c, 0x0008d3c0, 0x03c77c34, 0x035523cd, 0x021e0efa, 0x03730f28, 0x02a2340c, 0x001f8df3}}, Y: Field{[10]uint32{0x009a0016, 0x027fa6b3, 0x0369e83b, 0x00af4c72, 0x026b02d4, 0x0172f08a, 0x022938e0, 0x01f1aac1, 0x029b42a2, 0x0031cb60}}}, + {X: Field{[10]uint32{0x00d0b667, 0x023ee0b6, 0x00c5ad84, 0x00314b0f, 0x00800d01, 0x0325ea37, 0x03b4b39b, 0x01b3deeb, 0x0069cf0f, 0x00079b08}}, Y: Field{[10]uint32{0x0260196f, 0x031c8e23, 0x03e81f86, 0x02198c2d, 0x00491469, 0x032c2450, 0x02cfbdc2, 0x03611a1b, 0x0276bca1, 0x00030607}}}, + {X: Field{[10]uint32{0x02f07e16, 0x00fbd6c1, 0x00be3520, 0x00f32901, 0x02f36ba4, 0x0112d1fa, 0x02336c8d, 0x0293dec1, 0x000fe6ee, 0x00155998}}, Y: Field{[10]uint32{0x01057e55, 0x03f87380, 0x0278b5a7, 0x0059da56, 0x0269e5ac, 0x03cdcbb6, 0x00acb4c0, 0x0065e7b5, 0x008f7adc, 0x001aeef4}}}, + {X: Field{[10]uint32{0x01c791b5, 0x0341f64c, 0x03a7619a, 0x005b54a6, 0x00690450, 0x017653e3, 0x01c5adc4, 0x00717008, 0x034ded45, 0x0010d718}}, Y: Field{[10]uint32{0x034d4cc1, 0x02d391f1, 0x02c14024, 0x01d8adbd, 0x02850098, 0x0254f032, 0x006f9591, 0x02943c88, 0x02688252, 0x000c7b78}}}, + {X: Field{[10]uint32{0x0057b9b6, 0x0108d0a7, 0x027e9dd1, 0x00abe157, 0x01f19a0d, 0x014a9053, 0x01c06122, 0x01c71ce5, 0x00e6a660, 0x001bee33}}, Y: Field{[10]uint32{0x0368e052, 0x017627c9, 0x034c5b84, 0x03baaff8, 0x02183dad, 0x0208c989, 0x0399fad6, 0x014c5351, 0x0249e2f0, 0x0005fe50}}}, + {X: Field{[10]uint32{0x0180dc36, 0x037a30ca, 0x01890148, 0x028a6781, 0x0011c711, 0x0153b98d, 0x016a695f, 0x01325252, 0x029920fc, 0x00219bcf}}, Y: Field{[10]uint32{0x018d62f7, 0x0221e1b4, 0x0109bae1, 0x000ba0de, 0x01f5211f, 0x030036cb, 0x00a11e13, 0x030f074e, 0x01af4f8d, 0x003a6715}}}, + {X: Field{[10]uint32{0x00468b2d, 0x01bd8620, 0x03c79461, 0x002df009, 0x0162404f, 0x0372f941, 0x024f7234, 0x0122669c, 0x0010b716, 0x0020304d}}, Y: Field{[10]uint32{0x000b91aa, 0x037e254a, 0x016216d8, 0x03870b10, 0x01bd6e8f, 0x0371a74e, 0x03592819, 0x00793f5e, 0x002e71a0, 0x00218c65}}}, + {X: Field{[10]uint32{0x02a7da99, 0x00577060, 0x004d2c38, 0x030292e9, 0x00bf37ab, 0x005eedbb, 0x03e68bec, 0x02762014, 0x01eeef4e, 0x0023e16f}}, Y: Field{[10]uint32{0x0217897e, 0x027edfbb, 0x02962b4a, 0x017927b9, 0x034e8c29, 0x02a96468, 0x00f8ce78, 0x00d0b2bc, 0x03df8ae9, 0x000db516}}}, + {X: Field{[10]uint32{0x01600749, 0x01280692, 0x022aa440, 0x039209b6, 0x0317a920, 0x03ba286c, 0x00edaf40, 0x03369833, 0x032b3393, 0x00027342}}, Y: Field{[10]uint32{0x02fc5a5a, 0x03977baa, 0x00463414, 0x024a9258, 0x023a00c4, 0x03c313a8, 0x0101e348, 0x01942ec6, 0x035a51d9, 0x000e0c74}}}, + {X: Field{[10]uint32{0x009f33b0, 0x0380ddf5, 0x032d3bdb, 0x032b7fe8, 0x02003ab7, 0x01d31de6, 0x03832f79, 0x01fff5b3, 0x01af15c6, 0x0028317c}}, Y: Field{[10]uint32{0x01cb91ec, 0x00a5a080, 0x03c57800, 0x00aee210, 0x03307939, 0x0188317f, 0x03344123, 0x01898905, 0x00d442de, 0x001abfd0}}}, + {X: Field{[10]uint32{0x00edfacc, 0x0208c4d6, 0x02d7890a, 0x01c0df2c, 0x02c01113, 0x03b100e7, 0x021fbf02, 0x03885f5f, 0x03400013, 0x002bce5b}}, Y: Field{[10]uint32{0x02cfb936, 0x03a53d66, 0x024bc936, 0x0267a161, 0x016754c5, 0x0017c397, 0x0035d167, 0x014d28b7, 0x01e25a57, 0x002aabae}}}, + {X: Field{[10]uint32{0x01ed0eaf, 0x039c7124, 0x01307cf1, 0x01c7cbe2, 0x0187d4c0, 0x02f8d65e, 0x02871b0d, 0x03b3179f, 0x0057e3e0, 0x003f6b0f}}, Y: Field{[10]uint32{0x00a09fc7, 0x03981a0f, 0x00b18cde, 0x03fd7684, 0x02b14d14, 0x033f8db5, 0x00877afc, 0x03c259cf, 0x00cca22e, 0x000c0a28}}}, + {X: Field{[10]uint32{0x02fa88b7, 0x011c767b, 0x0103e14a, 0x035aab14, 0x00ae745f, 0x023bebb7, 0x012b6a96, 0x02eaa6b8, 0x01239587, 0x0038ebac}}, Y: Field{[10]uint32{0x02f769c7, 0x00ce5ef2, 0x036cd2d3, 0x00168b23, 0x017b4603, 0x02c9f469, 0x006833fb, 0x01512f8c, 0x038652c1, 0x001fb471}}}, + {X: Field{[10]uint32{0x038352f5, 0x01694335, 0x00a0e605, 0x01e8f8f8, 0x000eb83d, 0x0246b2e5, 0x00cc663c, 0x00058bed, 0x01e3382a, 0x0025aebb}}, Y: Field{[10]uint32{0x00c50cbc, 0x02b8167c, 0x039972ad, 0x0187a963, 0x0105100d, 0x02e4c022, 0x00c3a80f, 0x00a090e2, 0x0297b3ad, 0x001e1c8b}}}, + {X: Field{[10]uint32{0x03f5f5b5, 0x0013b88e, 0x03e408de, 0x008911a8, 0x02ba93d1, 0x036d51bf, 0x01e1eda4, 0x0158dfcd, 0x01561697, 0x001a1c12}}, Y: Field{[10]uint32{0x014ca494, 0x00d86f18, 0x005ff46e, 0x0099dc90, 0x02934bd2, 0x01310986, 0x006c7a20, 0x011c7ce8, 0x02feb5f7, 0x001891f4}}}, + {X: Field{[10]uint32{0x00bcf749, 0x0257827d, 0x01ad7940, 0x014be0fb, 0x0362eaf6, 0x02c374ac, 0x0202d72e, 0x03e1622b, 0x02342ca1, 0x001c7331}}, Y: Field{[10]uint32{0x012a45fb, 0x027e60f7, 0x02c686cb, 0x02510aa5, 0x01aee177, 0x01c0f968, 0x00e3f222, 0x0039a52a, 0x03d923b1, 0x00121eba}}}, + {X: Field{[10]uint32{0x0235d3f0, 0x002cfb3d, 0x00dff25d, 0x02ebc927, 0x01713844, 0x03a2d842, 0x00cd1831, 0x0268b816, 0x01d06573, 0x001bf687}}, Y: Field{[10]uint32{0x0078108e, 0x02597d48, 0x013df60a, 0x00f554dc, 0x00a232a9, 0x02a22a2c, 0x00a96c32, 0x032dc93e, 0x00f48afc, 0x0028bb91}}}, + {X: Field{[10]uint32{0x01147f45, 0x005b31b5, 0x03b64b10, 0x03d60e39, 0x0165cbfc, 0x02651c45, 0x02395c13, 0x0365ed17, 0x0309ff5a, 0x0034fc9d}}, Y: Field{[10]uint32{0x03265077, 0x024559e4, 0x0161a043, 0x03854767, 0x0329006e, 0x026ef5b1, 0x02026ed2, 0x03870d53, 0x0016cdc8, 0x003e5b2b}}}, + {X: Field{[10]uint32{0x00a011d6, 0x038d9ba9, 0x0278641e, 0x024e38af, 0x0268f827, 0x02e0a4b1, 0x027d064b, 0x01bbfde2, 0x0144a28a, 0x0009ee86}}, Y: Field{[10]uint32{0x027bdcab, 0x03dea613, 0x014d0a77, 0x01755d1a, 0x01fcbe30, 0x0163c15c, 0x0312fc94, 0x0190c39c, 0x00759d21, 0x00092fbe}}}, + {X: Field{[10]uint32{0x004fe190, 0x039f4025, 0x0348ee35, 0x011061c1, 0x01772f4c, 0x021cb83a, 0x03ca9ff7, 0x01f3820b, 0x00125fd8, 0x003f4dee}}, Y: Field{[10]uint32{0x03dcb453, 0x01ee6809, 0x02951184, 0x01118041, 0x028ec68a, 0x02ccdf7c, 0x01b8c43f, 0x0066376e, 0x0125d9ae, 0x00251429}}}, + {X: Field{[10]uint32{0x02071c69, 0x013322a3, 0x00b802c2, 0x02296576, 0x03446751, 0x00caa005, 0x0329b63f, 0x00f83634, 0x00ca9258, 0x0036659f}}, Y: Field{[10]uint32{0x03376c25, 0x0192ba5c, 0x02ab97ed, 0x034c85e7, 0x0328361c, 0x00b96bc9, 0x0086dbb9, 0x0275a4ef, 0x0273c2c3, 0x001ab28d}}}, + {X: Field{[10]uint32{0x014a0a3c, 0x027b502e, 0x0044f3d8, 0x017c38f4, 0x02f53cd4, 0x03f65705, 0x02798efb, 0x0007af48, 0x013c4a8d, 0x0023ba0b}}, Y: Field{[10]uint32{0x011e1b2d, 0x0189b1de, 0x022f036c, 0x02836ceb, 0x0379c8b6, 0x0356e702, 0x0271c3af, 0x03ee742a, 0x037e9167, 0x00382c2a}}}, + {X: Field{[10]uint32{0x00562caa, 0x022876c3, 0x01a4764c, 0x0336fc8b, 0x038d709c, 0x0140a5c1, 0x03ea0291, 0x02d526a7, 0x03d2817c, 0x001187b0}}, Y: Field{[10]uint32{0x036684af, 0x01abd1eb, 0x0259adb1, 0x0036c218, 0x0126cdf8, 0x00594100, 0x00f6e126, 0x025e4144, 0x017dcb5c, 0x001986cb}}}, + {X: Field{[10]uint32{0x01f5793e, 0x00406f50, 0x01890673, 0x0203cf79, 0x0059f517, 0x014ffdae, 0x01bb7ffb, 0x032bb51a, 0x005c0935, 0x000c5562}}, Y: Field{[10]uint32{0x0043dfff, 0x010d3388, 0x0181e28d, 0x0309a71d, 0x0208ca6a, 0x023cd5db, 0x00bbdfe0, 0x00423e34, 0x00e992ac, 0x00180d65}}}, + {X: Field{[10]uint32{0x024ea9eb, 0x0109d60a, 0x02f0dcad, 0x028ae7ed, 0x00c68a60, 0x03621d39, 0x02267a0a, 0x02670641, 0x03b0ad91, 0x00172b24}}, Y: Field{[10]uint32{0x000032ab, 0x008ee662, 0x0234a0e4, 0x0254df99, 0x03c48e72, 0x035d20fa, 0x0161fe7a, 0x036ae5a6, 0x0298a116, 0x0020dbea}}}, + {X: Field{[10]uint32{0x0156cc42, 0x03b15b1a, 0x039047e3, 0x01d09121, 0x0154d052, 0x02a3c05e, 0x02eea1c4, 0x03bd5a2d, 0x03acafd5, 0x0007edb4}}, Y: Field{[10]uint32{0x022a5411, 0x00f6bf4b, 0x00839313, 0x0120460f, 0x027431be, 0x014318d8, 0x036a1ec0, 0x013cc9b7, 0x01f2f89e, 0x002e3be4}}}, + {X: Field{[10]uint32{0x002b28f2, 0x03f1dcf6, 0x02bdcd31, 0x015fdeec, 0x0369fe01, 0x03f7b9ec, 0x00618f03, 0x0001768c, 0x01e152f0, 0x0022702c}}, Y: Field{[10]uint32{0x00b4a507, 0x01deac60, 0x007a9254, 0x0362b27d, 0x01ad8223, 0x009b19ed, 0x0105de5b, 0x01a05ab3, 0x0357bbf4, 0x001875b8}}}, + {X: Field{[10]uint32{0x039a211e, 0x01eac6ed, 0x01751080, 0x02f83cc7, 0x007cb968, 0x01064c90, 0x023875a3, 0x006bf359, 0x018b1f9d, 0x0001f174}}, Y: Field{[10]uint32{0x00779ff3, 0x02e70def, 0x01b3b6dc, 0x02c4a5b2, 0x03d136b5, 0x0353a517, 0x023b4495, 0x03683ef4, 0x03ea985b, 0x00117ef9}}}, + {X: Field{[10]uint32{0x0159f85c, 0x027744fc, 0x03792ddf, 0x034e978b, 0x00b6afda, 0x017adfc0, 0x031ad4db, 0x0042326c, 0x03c19393, 0x003209f3}}, Y: Field{[10]uint32{0x013a1cb1, 0x006aa99d, 0x01a129c3, 0x00f758cd, 0x000330ea, 0x0265478b, 0x03e12fc8, 0x03500553, 0x007a3025, 0x001717f8}}}, + {X: Field{[10]uint32{0x03cc5d9b, 0x005e1d55, 0x001e6571, 0x0201541d, 0x002e0dfa, 0x01ac806d, 0x01e2fa40, 0x03df7081, 0x032bb1f3, 0x0018d1ec}}, Y: Field{[10]uint32{0x028c3ba4, 0x02f868eb, 0x02e52e22, 0x03cec5c3, 0x01a455d3, 0x03e2b09b, 0x00d72553, 0x034d3292, 0x02109508, 0x003e3cc3}}}, + {X: Field{[10]uint32{0x03ae1014, 0x00748999, 0x00130e0a, 0x00ea5266, 0x02bfa21f, 0x036c0cab, 0x02e42837, 0x0040757d, 0x0195e822, 0x0035227d}}, Y: Field{[10]uint32{0x027c66a9, 0x0299b648, 0x000c22b4, 0x037fae54, 0x012bfa98, 0x00987e32, 0x024c33d1, 0x02851a3d, 0x02898dc4, 0x0022c44b}}}, + {X: Field{[10]uint32{0x00a6205b, 0x0016372e, 0x000b276f, 0x01cf50ef, 0x0102200d, 0x039da991, 0x02b8f981, 0x03ef3ab7, 0x0063fb4a, 0x002432e7}}, Y: Field{[10]uint32{0x02e74645, 0x00c93394, 0x0087ba02, 0x01ed6fdb, 0x002611a7, 0x00811c76, 0x02f19c67, 0x01fc6aee, 0x01c0f6ba, 0x002252bf}}}, + {X: Field{[10]uint32{0x02196af4, 0x0269e55a, 0x0018bbc4, 0x01b1a67a, 0x00869bb0, 0x002a6255, 0x026a1bef, 0x0087d395, 0x00bb19f1, 0x001037da}}, Y: Field{[10]uint32{0x020cec90, 0x02f758c8, 0x0269da31, 0x034a90c7, 0x02e1d6b3, 0x01843dad, 0x009f8303, 0x037df0c7, 0x0009d0ce, 0x001c3507}}}, + {X: Field{[10]uint32{0x03da41bf, 0x00450ea0, 0x009d78b4, 0x007acd55, 0x00a888dd, 0x00c7c5ff, 0x00962b64, 0x01411647, 0x0174a0ac, 0x00124dbf}}, Y: Field{[10]uint32{0x03ff4f92, 0x02d7fc86, 0x03392c5a, 0x00ad7743, 0x013fc5b7, 0x02cfc73d, 0x0068af85, 0x0214fb5f, 0x01dd6517, 0x000cea38}}}, + {X: Field{[10]uint32{0x02023557, 0x03a0ac36, 0x03594288, 0x039eca8f, 0x03c1a0c6, 0x025601d2, 0x03aad592, 0x01d6e3d6, 0x01388110, 0x0005c5dd}}, Y: Field{[10]uint32{0x01b10837, 0x02ec1cb0, 0x0077504b, 0x00a08e6a, 0x01b163fe, 0x00d36848, 0x03a0c5f7, 0x01d0b179, 0x0014efd8, 0x00160f52}}}, + {X: Field{[10]uint32{0x038926a2, 0x01dc33d3, 0x02bab586, 0x023c0da4, 0x006abb11, 0x03c87c82, 0x014c82d8, 0x0117aad0, 0x03fbad51, 0x002849ad}}, Y: Field{[10]uint32{0x022ec669, 0x032cb46b, 0x00394452, 0x0251a679, 0x0288d465, 0x007dffb0, 0x02bfdb74, 0x02d34868, 0x0017b601, 0x001e6d2b}}}, + {X: Field{[10]uint32{0x02871163, 0x0039c0eb, 0x004fdba3, 0x02361a61, 0x023485db, 0x03619694, 0x015de512, 0x00012035, 0x0361f884, 0x00147b33}}, Y: Field{[10]uint32{0x02a8d50f, 0x032bb4cb, 0x03dcee87, 0x02a55e94, 0x0012b2c6, 0x0003a824, 0x000c46a2, 0x0327c20b, 0x025397bd, 0x001652b4}}}, + {X: Field{[10]uint32{0x02b3c7a9, 0x016e8ed4, 0x02882510, 0x00e22d45, 0x03d89844, 0x01e7496b, 0x01966cca, 0x01c4c7d5, 0x02336f1b, 0x0025de05}}, Y: Field{[10]uint32{0x03214c60, 0x03a2764e, 0x01516e47, 0x03bbd0d5, 0x02105011, 0x0149d7ad, 0x01a20e0a, 0x023f8337, 0x0141b4b0, 0x003c77cd}}}, + {X: Field{[10]uint32{0x0093f7fe, 0x01e6f80b, 0x03f01cdb, 0x00ea1c2e, 0x0064231d, 0x0068d73a, 0x038cf6db, 0x0236ad71, 0x003a7224, 0x0022f0b1}}, Y: Field{[10]uint32{0x00cbb425, 0x02ef8385, 0x01b2ef49, 0x001e009a, 0x030b428f, 0x03eee75e, 0x028106af, 0x0276fc27, 0x0276173e, 0x00354b8b}}}, + {X: Field{[10]uint32{0x01aef9f2, 0x014f9401, 0x020d9799, 0x01d7a267, 0x036c3271, 0x012e42cd, 0x00abd033, 0x02846729, 0x00816c7c, 0x00167b5e}}, Y: Field{[10]uint32{0x02449910, 0x02981a85, 0x02133152, 0x0094d2f1, 0x02207794, 0x019a7836, 0x01b46a28, 0x003faf93, 0x0027690c, 0x0008e7f0}}}, + {X: Field{[10]uint32{0x03c70fda, 0x0033dacb, 0x025200ca, 0x0268b2ad, 0x01c8ff8e, 0x00a8e716, 0x01923907, 0x01265750, 0x01d17671, 0x002fb0e6}}, Y: Field{[10]uint32{0x010ba8e7, 0x0266ff6b, 0x03fbf709, 0x01f3bf17, 0x02a21a2f, 0x0394bcd1, 0x021ab9ad, 0x0082348e, 0x01ef7831, 0x003ff12f}}}, + {X: Field{[10]uint32{0x020c4d34, 0x00d62167, 0x0307668a, 0x036d6318, 0x019e3b87, 0x0348a9df, 0x01f99517, 0x03c76fe9, 0x01eef4ce, 0x0024ef49}}, Y: Field{[10]uint32{0x0335b4dc, 0x039aa1d9, 0x00860794, 0x018c0d01, 0x01fa008c, 0x03e265c3, 0x003b1f94, 0x006e1269, 0x00129736, 0x00375f45}}}, + {X: Field{[10]uint32{0x02ddcf58, 0x039b2483, 0x00f8e3e8, 0x0316f7a9, 0x0344e553, 0x01d15695, 0x00b2e708, 0x01354456, 0x0257fb4e, 0x002c80e9}}, Y: Field{[10]uint32{0x02d8c99c, 0x0200d657, 0x03a6a0ac, 0x029e866b, 0x03c74ae5, 0x010fee9e, 0x030d4c75, 0x03860987, 0x01480c63, 0x0026091a}}}, + {X: Field{[10]uint32{0x00f6aa69, 0x01a0f760, 0x024e70be, 0x008533fd, 0x023e20ac, 0x0076a2aa, 0x018a28d1, 0x009ed604, 0x013c1dcd, 0x002bce2d}}, Y: Field{[10]uint32{0x009fd919, 0x030cbe70, 0x02c16acd, 0x01e463e2, 0x035ec101, 0x028feb19, 0x02867237, 0x00ad08d1, 0x0136ba8b, 0x002478e2}}}, + {X: Field{[10]uint32{0x03fd8518, 0x0315d3da, 0x02d862f8, 0x01c83d79, 0x02988ed4, 0x002ad33b, 0x00587562, 0x03601788, 0x025b0b99, 0x00157936}}, Y: Field{[10]uint32{0x00eb2d35, 0x005845eb, 0x0130940b, 0x00963c5e, 0x02e7713b, 0x00d30d9b, 0x01b5976c, 0x0274cb85, 0x02347517, 0x001cda2f}}}, + {X: Field{[10]uint32{0x002133f5, 0x00e83279, 0x035d9018, 0x01b74968, 0x01a3608c, 0x03605f64, 0x021a15e1, 0x0389020f, 0x002aa7eb, 0x0034f5fa}}, Y: Field{[10]uint32{0x005d504b, 0x029f53ff, 0x03bfcae6, 0x01a5b06f, 0x024b1c6d, 0x031789dc, 0x01080b06, 0x00df1a25, 0x01cce895, 0x00029491}}}, + {X: Field{[10]uint32{0x02e48799, 0x01b9699b, 0x003f2231, 0x012da31b, 0x03beab75, 0x03732641, 0x021e8031, 0x0110de5d, 0x039fe6b5, 0x0022f453}}, Y: Field{[10]uint32{0x0178fe19, 0x0042bfda, 0x00603891, 0x009f66ba, 0x00ecb2eb, 0x0158ce1a, 0x0263a263, 0x01895d45, 0x0150a387, 0x003e2770}}}, + {X: Field{[10]uint32{0x02212932, 0x0223f488, 0x0370485c, 0x016c1208, 0x023a7dbc, 0x01ca9688, 0x02b08589, 0x003d0b3f, 0x036503f5, 0x002c75c8}}, Y: Field{[10]uint32{0x002143ac, 0x03cdc5b0, 0x0025570b, 0x013801f4, 0x01627986, 0x0216c877, 0x00aa52d3, 0x0387e6dd, 0x01d8594e, 0x0010165f}}}, + {X: Field{[10]uint32{0x039d3023, 0x03d3dc99, 0x013a8593, 0x000c1787, 0x01c22d44, 0x001173bd, 0x03e4763e, 0x0248324e, 0x03e1cb7d, 0x001134c0}}, Y: Field{[10]uint32{0x0189a70c, 0x004b1857, 0x02004769, 0x02a6806c, 0x03e77e41, 0x00f8f3b8, 0x03d6fcc8, 0x0368bcc6, 0x02fc5ed6, 0x001e7ef7}}}, + {X: Field{[10]uint32{0x030cb3ca, 0x03ae848e, 0x00aed3df, 0x026420f5, 0x02925589, 0x0183ae65, 0x03bd4b90, 0x02aba5c9, 0x0054447a, 0x0005957b}}, Y: Field{[10]uint32{0x0226fcdf, 0x03b39419, 0x017443b9, 0x029ac76b, 0x006ea28f, 0x027c1b65, 0x00f7bf8a, 0x038c7a62, 0x0178cf96, 0x0023a439}}}, + {X: Field{[10]uint32{0x005a3f29, 0x01eedf61, 0x02cb1971, 0x00120032, 0x027902b1, 0x0226439b, 0x01a93261, 0x019afd9b, 0x03fb5305, 0x002c0ab8}}, Y: Field{[10]uint32{0x03006876, 0x000c1f5e, 0x0105162a, 0x00ca4a98, 0x03d8c052, 0x02ce5d09, 0x03b76311, 0x00c0c466, 0x0313f448, 0x0031b4c9}}}, + {X: Field{[10]uint32{0x00c5bcd3, 0x03927344, 0x02c6e065, 0x0266854f, 0x018e1236, 0x02c4ae6b, 0x015e1402, 0x0010ae1d, 0x016653a0, 0x0004f119}}, Y: Field{[10]uint32{0x02d41c88, 0x024b1441, 0x002b0044, 0x02a29e2c, 0x007bab13, 0x00eb0f84, 0x0121ea40, 0x0180f8f1, 0x032c498f, 0x001c3cd9}}}, + {X: Field{[10]uint32{0x00f1483f, 0x03b68f01, 0x034c6361, 0x00fc5077, 0x010dee48, 0x017a5ece, 0x01c7bffc, 0x00dee0ba, 0x022b03fc, 0x0039f1d5}}, Y: Field{[10]uint32{0x03454066, 0x00be39b0, 0x028331b1, 0x026076ec, 0x021a9372, 0x01e85b43, 0x03dce515, 0x01256306, 0x00603d2b, 0x001cd2f9}}}, + {X: Field{[10]uint32{0x0159aefc, 0x035fee8a, 0x038d2263, 0x00870c12, 0x03332f39, 0x02f1ec9f, 0x02b2ed1e, 0x03f1d4d0, 0x012dfb6c, 0x00378097}}, Y: Field{[10]uint32{0x02de12f1, 0x01dbc705, 0x005985e6, 0x007601a5, 0x001a88c3, 0x020dce8c, 0x02fc30c3, 0x03cf40b6, 0x01b16ab6, 0x0011b182}}}, + {X: Field{[10]uint32{0x02ca2e01, 0x00b0c8cf, 0x03e4b6a4, 0x03d20e05, 0x0225730a, 0x02ebc14e, 0x01db714a, 0x0070f497, 0x00b4fed2, 0x000879e2}}, Y: Field{[10]uint32{0x01c1c4c6, 0x00a7f6b9, 0x03c58ddd, 0x03e73504, 0x01b249b1, 0x008cd6e7, 0x02af9b83, 0x01d64ad9, 0x02bda7d0, 0x0007f9c5}}}, + {X: Field{[10]uint32{0x0379edce, 0x033fc41e, 0x02012e39, 0x02776a5f, 0x02d1bc1a, 0x01d6ca39, 0x0058242c, 0x03542c69, 0x03ca7481, 0x0029f6c9}}, Y: Field{[10]uint32{0x01ae73f8, 0x00d860dc, 0x02238851, 0x0348ec47, 0x00084239, 0x02569f31, 0x0055fc17, 0x039b074d, 0x006dcabd, 0x00313e1a}}}, + {X: Field{[10]uint32{0x022d477a, 0x03d92d97, 0x01ccf41a, 0x00faf56f, 0x01e80a7d, 0x02b22533, 0x01616275, 0x03c90388, 0x01732790, 0x00314814}}, Y: Field{[10]uint32{0x022ba20b, 0x02fab27d, 0x03cda463, 0x00290150, 0x00af8770, 0x03ab70fe, 0x028e216d, 0x004283c3, 0x015b2094, 0x003a6a8a}}}, + {X: Field{[10]uint32{0x0172846d, 0x00dc7125, 0x01d05ea9, 0x03aa2e15, 0x0138e91e, 0x00dbaf36, 0x0025f86d, 0x036bafc7, 0x00ad99d1, 0x00121efd}}, Y: Field{[10]uint32{0x00febf70, 0x02a55dbf, 0x00ffe791, 0x01c21b78, 0x0032f729, 0x013062b8, 0x004b2a50, 0x03b42fb8, 0x0037ac6d, 0x00204a4e}}}, + {X: Field{[10]uint32{0x0208cb53, 0x005120c3, 0x03cb13cd, 0x01d083b7, 0x01355675, 0x03958097, 0x03e2d550, 0x01a22e13, 0x02a6bfcf, 0x002f5b74}}, Y: Field{[10]uint32{0x01ab0fca, 0x00dcc936, 0x01a1a1b0, 0x00b34714, 0x000c467d, 0x00a14566, 0x02a1501c, 0x00e018e3, 0x01e184c8, 0x00321a91}}}, + {X: Field{[10]uint32{0x035ec737, 0x02931f08, 0x02ce7936, 0x00619caf, 0x0070dbca, 0x0019cc7a, 0x034fbb69, 0x0223904c, 0x03fdfbf1, 0x00252905}}, Y: Field{[10]uint32{0x01be8e34, 0x026910f6, 0x01765029, 0x024d51be, 0x03564e9f, 0x033edf65, 0x02af124b, 0x03052e07, 0x0207343e, 0x00380f19}}}, + {X: Field{[10]uint32{0x02aba51e, 0x02236519, 0x00fa8ebd, 0x034c0e5a, 0x002ac597, 0x005e88f0, 0x02d9b733, 0x00ec9aa5, 0x02c33fa1, 0x000a95f6}}, Y: Field{[10]uint32{0x00c13b61, 0x02ca4dfa, 0x010c442d, 0x0366016d, 0x013b05bf, 0x0117cd3f, 0x027996e5, 0x02cee2c2, 0x02bf1db7, 0x0005d529}}}, + {X: Field{[10]uint32{0x007e7df7, 0x0242dffb, 0x01742eae, 0x0284b0fe, 0x02d1c66d, 0x00c20f0c, 0x00613e99, 0x00a8e59f, 0x02710614, 0x002e8b92}}, Y: Field{[10]uint32{0x034cb07e, 0x01eb3fa0, 0x00c971da, 0x00d6091f, 0x02ccc6de, 0x02b7b197, 0x03fc60c5, 0x03a0efb5, 0x00c1a704, 0x003098be}}}, + {X: Field{[10]uint32{0x00c01ca9, 0x018baa3b, 0x015a80a8, 0x02681cc3, 0x0008bb0b, 0x03eef609, 0x00a12b11, 0x00944b4a, 0x0343b313, 0x0012b865}}, Y: Field{[10]uint32{0x0017eece, 0x01323de8, 0x0019320b, 0x00f0fe75, 0x00cb2788, 0x029aa2e8, 0x001ec7c0, 0x00fa8747, 0x027d48fa, 0x0019edc9}}}, + {X: Field{[10]uint32{0x0306ddcb, 0x0143a9dd, 0x023ad618, 0x02fd046d, 0x000778b9, 0x01dd24fc, 0x00e6ff9d, 0x00d99fc6, 0x026c8182, 0x000133ec}}, Y: Field{[10]uint32{0x00e4028e, 0x00789dc9, 0x020c778e, 0x01e70e5e, 0x01aa6c60, 0x001f0c84, 0x017af164, 0x024f7c13, 0x023e3a8c, 0x000437e2}}}, + {X: Field{[10]uint32{0x01130349, 0x034f6e57, 0x02561934, 0x0009bdf5, 0x0215f061, 0x00f01418, 0x03bc3efb, 0x02d9bc03, 0x0166a014, 0x0027e791}}, Y: Field{[10]uint32{0x0396c592, 0x005f4964, 0x015fb0a4, 0x027333f2, 0x02ab6e5c, 0x01682a9e, 0x03d0c17c, 0x009aee63, 0x03a276d5, 0x00124ae2}}}, + {X: Field{[10]uint32{0x00239301, 0x033c7dab, 0x03bd222e, 0x0252d57c, 0x03ecf2a1, 0x0045678b, 0x039f4c10, 0x02d582c3, 0x01133641, 0x0038db01}}, Y: Field{[10]uint32{0x0343736c, 0x01696f6e, 0x00c7faa0, 0x004eb0ac, 0x0220e9a1, 0x027e0ea0, 0x022aea8e, 0x03f1018c, 0x00ba48e7, 0x0031ff5d}}}, + {X: Field{[10]uint32{0x00480bbf, 0x027e0936, 0x025e033e, 0x02938fb1, 0x02a0bbe0, 0x03c76846, 0x0337580b, 0x0115a1e1, 0x03b3b94d, 0x00246c04}}, Y: Field{[10]uint32{0x00cfc5b4, 0x00bc8afa, 0x03f00647, 0x02b0f4d9, 0x02948790, 0x038cf45c, 0x026f8247, 0x0094a48a, 0x007ec13a, 0x000578dc}}}, + {X: Field{[10]uint32{0x02324f56, 0x00fdc8fa, 0x001077d4, 0x01eb5d74, 0x00041f66, 0x0354e7cb, 0x02782de2, 0x01b5488d, 0x03888c67, 0x00095345}}, Y: Field{[10]uint32{0x0014094a, 0x00944cf2, 0x002755fd, 0x037e5e5d, 0x0309bec3, 0x02cb6fc9, 0x034aa03b, 0x0079744f, 0x012e9351, 0x003dc10b}}}, + {X: Field{[10]uint32{0x02f4079a, 0x00d59e15, 0x03f0b061, 0x018a65a5, 0x0234fce6, 0x0288bc5b, 0x03abe442, 0x003dc4ab, 0x037ece7d, 0x00114b5a}}, Y: Field{[10]uint32{0x03776998, 0x00c5691f, 0x02d23db3, 0x0164504c, 0x029a39ee, 0x0384c812, 0x000d69fc, 0x03f9d8d0, 0x03a128cf, 0x00087aa2}}}, + {X: Field{[10]uint32{0x004c508b, 0x01451e73, 0x001631f1, 0x02157ca3, 0x02817831, 0x02c660b4, 0x0386b855, 0x023d0606, 0x01d00788, 0x0005602e}}, Y: Field{[10]uint32{0x01d689ff, 0x03403d70, 0x02dc3ecd, 0x02abd95d, 0x0365b69f, 0x01e306df, 0x03cbbe87, 0x036775ce, 0x029c78b3, 0x00136747}}}, + {X: Field{[10]uint32{0x02fc2700, 0x00e582a8, 0x02f450c4, 0x01fb4212, 0x0245a5aa, 0x033c9680, 0x011470c2, 0x0253245b, 0x023fc316, 0x001e7768}}, Y: Field{[10]uint32{0x015bc978, 0x03c968ea, 0x03c03c34, 0x0086855b, 0x02d7158c, 0x01dc0c73, 0x0374e0f3, 0x02363312, 0x0169a58b, 0x001f1ef0}}}, + {X: Field{[10]uint32{0x0149dbe6, 0x036bb850, 0x013b5fe2, 0x00141119, 0x02419b49, 0x017d2a83, 0x02500afb, 0x0337084f, 0x03a9bf80, 0x00219b69}}, Y: Field{[10]uint32{0x026bd3d7, 0x02066add, 0x0124b239, 0x00b1af19, 0x02081a28, 0x022af126, 0x027e8adc, 0x015ea9a1, 0x00b3b45d, 0x00189b4e}}}, + {X: Field{[10]uint32{0x0011d374, 0x012e02e5, 0x0122e102, 0x032be641, 0x02cdb502, 0x01818ae5, 0x01624cfc, 0x01c7a4c8, 0x0112bed2, 0x0010caf2}}, Y: Field{[10]uint32{0x0011cf01, 0x0339a8f9, 0x03605bcd, 0x030aebae, 0x034cb341, 0x03175177, 0x020cc5ac, 0x01350507, 0x009edd7c, 0x00399151}}}, + {X: Field{[10]uint32{0x0010518e, 0x00fb27d9, 0x01be477b, 0x02b420e9, 0x030717f5, 0x009764de, 0x02970865, 0x00e16854, 0x032883ec, 0x002b0f4e}}, Y: Field{[10]uint32{0x00b9b8db, 0x031c9a21, 0x01a125fc, 0x03e55061, 0x033dde58, 0x0039e439, 0x00d01b2c, 0x01f9d704, 0x02fcc9ed, 0x003449bb}}}, + {X: Field{[10]uint32{0x03d6aa37, 0x00f690ea, 0x0064a5c1, 0x018a5834, 0x03fa18b2, 0x01ab8999, 0x03696d95, 0x00e175b6, 0x034b2a82, 0x00115c20}}, Y: Field{[10]uint32{0x01236f28, 0x0121ac18, 0x004e121a, 0x0192b590, 0x03d9d15c, 0x02a565f9, 0x022eb590, 0x02fe21ee, 0x0083b249, 0x0007a758}}}, + {X: Field{[10]uint32{0x0183ef15, 0x00d5752e, 0x03fd3341, 0x0144dabb, 0x02b224b0, 0x0058f02a, 0x029bf792, 0x03816df0, 0x02a0ffaa, 0x00223a69}}, Y: Field{[10]uint32{0x018d1e5a, 0x01a4c91c, 0x00413999, 0x01d746ba, 0x00fe4574, 0x01e6aebf, 0x00ef5e25, 0x018fab71, 0x022dfa2f, 0x003b4e0a}}}, + {X: Field{[10]uint32{0x02dff706, 0x0361d20a, 0x0348c04f, 0x00ef5b25, 0x00b39703, 0x02b5fd86, 0x005663dc, 0x009f1a94, 0x02b4de33, 0x0005a043}}, Y: Field{[10]uint32{0x0260c81b, 0x02f0b3fb, 0x0111901f, 0x01f96a7b, 0x0230693b, 0x00370a6b, 0x019e84c4, 0x01b27485, 0x03d89132, 0x0000d4ba}}}, + {X: Field{[10]uint32{0x014adf7b, 0x00cc0726, 0x01cabe2e, 0x03650fea, 0x0088c861, 0x0223455f, 0x01c65035, 0x01260473, 0x02929506, 0x0035f40e}}, Y: Field{[10]uint32{0x002f9627, 0x00578d8e, 0x003ef2a9, 0x023f66aa, 0x02ef419c, 0x0339e079, 0x023042d5, 0x00b01472, 0x03fe933c, 0x00232082}}}, + {X: Field{[10]uint32{0x01cf11b0, 0x03c994b7, 0x018d91c6, 0x01df9154, 0x03f33aed, 0x0220339e, 0x0225c4ae, 0x02b24093, 0x0104f645, 0x0016cb25}}, Y: Field{[10]uint32{0x01296449, 0x02271d8a, 0x00354fc2, 0x02893abb, 0x03440e1d, 0x023ca901, 0x01681e5e, 0x013cc847, 0x03bcc776, 0x001402cd}}}, + {X: Field{[10]uint32{0x00fbd761, 0x012b7523, 0x01c2d628, 0x0137d5e7, 0x03bab1a6, 0x03567bb0, 0x01826759, 0x022ef05a, 0x02edd2c7, 0x00346389}}, Y: Field{[10]uint32{0x010770c3, 0x031fbd5f, 0x021a44a6, 0x03684e4b, 0x00685915, 0x016eda51, 0x018989aa, 0x00f9e23f, 0x0172037a, 0x00068780}}}, + {X: Field{[10]uint32{0x0258222d, 0x00d338a3, 0x0077224f, 0x02fe1759, 0x02dc9e46, 0x03c94951, 0x0221e88d, 0x011e5632, 0x00169bbc, 0x0017dac5}}, Y: Field{[10]uint32{0x037fd6a6, 0x02ab6bd2, 0x00600e02, 0x02378e0f, 0x033a5791, 0x018f992e, 0x03ca0bf1, 0x00140651, 0x02164d5a, 0x000ea39d}}}, + {X: Field{[10]uint32{0x03762bc7, 0x036f2283, 0x0137339b, 0x00289508, 0x01ec2e05, 0x03fa15a4, 0x00020238, 0x02d159a6, 0x01e8dcc8, 0x0035e989}}, Y: Field{[10]uint32{0x02ea3643, 0x0142d34d, 0x0080620d, 0x029c4000, 0x00208683, 0x03b07f63, 0x017bcbcf, 0x00981eaf, 0x0135a8ce, 0x0023c7e6}}}, + {X: Field{[10]uint32{0x015913f9, 0x03198fa3, 0x027716ba, 0x0325780a, 0x027ffb42, 0x0286cd3a, 0x01c891b3, 0x0293dc57, 0x001972ae, 0x00295a95}}, Y: Field{[10]uint32{0x03c3f994, 0x0266a41a, 0x038971e9, 0x008d9038, 0x0059b440, 0x01fd7451, 0x00f7bbfa, 0x0159c460, 0x03cdad78, 0x0011ecf7}}}, + {X: Field{[10]uint32{0x02ade31e, 0x0045beae, 0x03c3ad93, 0x02ccd86d, 0x0030325d, 0x028c1ad1, 0x031a3cd4, 0x032f44de, 0x01d7e574, 0x0007aee2}}, Y: Field{[10]uint32{0x00da4dc7, 0x01401d4e, 0x03e6cb95, 0x00cd24d5, 0x02ee020c, 0x0108a8d0, 0x003d1185, 0x03212d26, 0x012fbd30, 0x00080e71}}}, + {X: Field{[10]uint32{0x009706fe, 0x024ea22d, 0x030c5ad4, 0x03e8fb93, 0x03e189ef, 0x01e63b09, 0x01cd1a4a, 0x0195d52d, 0x0208931a, 0x002d5ca0}}, Y: Field{[10]uint32{0x03ede9ee, 0x037df442, 0x036c214d, 0x0028c5e0, 0x03358f68, 0x01881e2f, 0x029a6125, 0x034c072c, 0x01e72da3, 0x002ae9e1}}}, + {X: Field{[10]uint32{0x01a775c9, 0x015f2161, 0x00a8aa24, 0x025d1ebf, 0x02f5162a, 0x03ff07bd, 0x02a00dee, 0x01f1dc80, 0x0270d67b, 0x00159985}}, Y: Field{[10]uint32{0x018803f6, 0x01128953, 0x019b2ea0, 0x024ce7c6, 0x014de8a8, 0x015274f0, 0x0055122e, 0x01441c13, 0x00e183bc, 0x002b6bc2}}}, + {X: Field{[10]uint32{0x01f2704d, 0x001a3c37, 0x023e93fd, 0x0346c5c2, 0x01c18521, 0x015cded4, 0x01042433, 0x01ada5dc, 0x02e1ecc8, 0x00062ad5}}, Y: Field{[10]uint32{0x0119e94a, 0x020967a0, 0x039ff46b, 0x01fb387f, 0x03df74f0, 0x032cc158, 0x009572ca, 0x02ea6c83, 0x003f43bf, 0x00331a53}}}, + {X: Field{[10]uint32{0x020ac357, 0x0283c6f3, 0x027c3c1a, 0x0214b83c, 0x036e9451, 0x02fd7d43, 0x035b7540, 0x000d8055, 0x00744827, 0x002f04aa}}, Y: Field{[10]uint32{0x01ada1e9, 0x0005f1bc, 0x036f95de, 0x01598bfc, 0x00abe12d, 0x00812b39, 0x027783c7, 0x01738759, 0x036bac17, 0x00271b39}}}, + {X: Field{[10]uint32{0x01054584, 0x01eb119e, 0x024572c2, 0x0259776f, 0x01756667, 0x014fb29d, 0x01bdd6c3, 0x036835bb, 0x002699b2, 0x00291253}}, Y: Field{[10]uint32{0x0082d621, 0x014e1b54, 0x01d03554, 0x01a4ee2b, 0x02e8f0cf, 0x00756c6e, 0x022a9146, 0x02a79f4f, 0x00d58360, 0x00162601}}}, + {X: Field{[10]uint32{0x023aea6e, 0x012b2733, 0x009c7828, 0x038ba8f7, 0x03f1baf9, 0x000da809, 0x034de77d, 0x0139faf8, 0x02f96d0e, 0x0007fe11}}, Y: Field{[10]uint32{0x013f2e6a, 0x00f84b59, 0x009748d0, 0x03be94b7, 0x0327ba3e, 0x01302da3, 0x035d1a8d, 0x00d580c7, 0x036b9f0e, 0x0022828c}}}, + {X: Field{[10]uint32{0x0110b374, 0x023c7ca5, 0x00099ffa, 0x0090d5d1, 0x026862d7, 0x005cfdc5, 0x00839e04, 0x00f771ca, 0x02ae9157, 0x000cc606}}, Y: Field{[10]uint32{0x01c5223e, 0x039f27ef, 0x01fedad0, 0x01acf86a, 0x01f01ee2, 0x030d3129, 0x01aaa0a4, 0x03393077, 0x029a8cc8, 0x00049484}}}, + {X: Field{[10]uint32{0x00012594, 0x0232795e, 0x02ae5702, 0x001bf931, 0x00644264, 0x01c9d2a5, 0x0249b157, 0x0112bbdd, 0x032dfb0e, 0x0039a1e0}}, Y: Field{[10]uint32{0x0113b7c0, 0x030312a9, 0x030028ca, 0x0263bb2a, 0x03c5de4f, 0x01dffedf, 0x01caec8c, 0x00d2ded9, 0x009706b7, 0x001796ce}}}, + {X: Field{[10]uint32{0x00b37def, 0x031cbce5, 0x02aa5755, 0x01477d31, 0x0000c229, 0x028631db, 0x0174b5e2, 0x01c6b160, 0x02c3ed93, 0x000d52ef}}, Y: Field{[10]uint32{0x0214c29a, 0x02a0ff31, 0x0244b5c2, 0x03beeeae, 0x033c2f4d, 0x01d0078f, 0x0213ac73, 0x0105b6cd, 0x00769283, 0x00103432}}}, + {X: Field{[10]uint32{0x0039a485, 0x01bdc99d, 0x00511ae3, 0x02ffe8bd, 0x02a8bc68, 0x02d7afbc, 0x01e8aa68, 0x02e07cf2, 0x006c5205, 0x003e91ab}}, Y: Field{[10]uint32{0x0367d180, 0x01354b8f, 0x03b35c1b, 0x01e9d97e, 0x010f2565, 0x00fe4461, 0x00de37b1, 0x034aa007, 0x01fab016, 0x000e14fe}}}, + {X: Field{[10]uint32{0x0024328c, 0x01fb50cc, 0x02688562, 0x01de517d, 0x0256a53d, 0x008fee1b, 0x005263c9, 0x017e387a, 0x02b73325, 0x00109be1}}, Y: Field{[10]uint32{0x028c4fdf, 0x03bef353, 0x011486a2, 0x0105abfe, 0x01658c63, 0x01ec8885, 0x013c4c45, 0x0322756c, 0x01685301, 0x0024bb00}}}, + {X: Field{[10]uint32{0x00bc64e3, 0x02db9620, 0x01edeb47, 0x03b2d6b8, 0x017685df, 0x01f5233c, 0x01d3f4d1, 0x00b56f85, 0x009bf9a7, 0x00172347}}, Y: Field{[10]uint32{0x01bda7e5, 0x0343df4a, 0x02dc4e18, 0x014d9074, 0x00b6a26b, 0x0083c37b, 0x038a3c7c, 0x02054198, 0x010e286c, 0x00188155}}}, + {X: Field{[10]uint32{0x0283422f, 0x02f95c39, 0x03c80271, 0x01cfe998, 0x01be6733, 0x01aa72c0, 0x00313562, 0x01407f77, 0x01bc7bf7, 0x000e8087}}, Y: Field{[10]uint32{0x001bfa53, 0x01ec3793, 0x00fff54c, 0x0209217f, 0x02a7a71b, 0x0015924a, 0x00e508ad, 0x037e25e1, 0x00540dda, 0x00192a27}}}, + {X: Field{[10]uint32{0x03ba47bb, 0x012bc9c8, 0x0326fa50, 0x030c8a59, 0x027c0062, 0x007590b6, 0x01d2dd91, 0x027c001d, 0x02491d71, 0x002360aa}}, Y: Field{[10]uint32{0x03e4e77a, 0x01718b14, 0x026991ff, 0x03f51d83, 0x007c2ae8, 0x031b4f14, 0x00ed10d6, 0x01e3da62, 0x03506d14, 0x001b985b}}}, + {X: Field{[10]uint32{0x005e536f, 0x03c2394f, 0x02d76f27, 0x0145b9ea, 0x010bbe54, 0x032b06cf, 0x015d60ef, 0x023869bb, 0x0188fe48, 0x001bfbba}}, Y: Field{[10]uint32{0x0044c502, 0x00a6632c, 0x00eeff48, 0x0184d781, 0x0073dcee, 0x0096da28, 0x026d8484, 0x02ea5ae8, 0x0395839f, 0x00003ba7}}}, + {X: Field{[10]uint32{0x0216fa1b, 0x00f9672b, 0x00e5d2df, 0x002ba257, 0x02306388, 0x005024f1, 0x03cadc73, 0x00355dcb, 0x0179bafd, 0x000d8902}}, Y: Field{[10]uint32{0x004afa48, 0x005f1872, 0x036ca65f, 0x003055e0, 0x03eb2082, 0x01f60cb2, 0x02fe3267, 0x00f6169e, 0x037658ef, 0x00186740}}}, + {X: Field{[10]uint32{0x036a18f4, 0x026128f3, 0x03407009, 0x0132461d, 0x000b7849, 0x01ba05c1, 0x0046fc32, 0x01814f08, 0x00474da5, 0x00130ae2}}, Y: Field{[10]uint32{0x0328142c, 0x007f884e, 0x03398dda, 0x038f432a, 0x03734286, 0x01716a08, 0x00a0b438, 0x035c4587, 0x026917a4, 0x001166a7}}}, + {X: Field{[10]uint32{0x01478ac2, 0x004beeac, 0x005ad84e, 0x0142bdee, 0x00d6e54f, 0x0141130d, 0x034eb5b1, 0x0046ea9f, 0x01fdb332, 0x003e4872}}, Y: Field{[10]uint32{0x02016973, 0x005243eb, 0x014f9317, 0x030d7356, 0x01e31fae, 0x03dfd893, 0x006b16a5, 0x0120f923, 0x01b8c850, 0x000e336a}}}, + {X: Field{[10]uint32{0x0319b257, 0x00b1ac86, 0x038b8ca4, 0x01f7d079, 0x02850ae0, 0x028ff6d3, 0x006c8a7d, 0x035a3e3e, 0x01e66181, 0x00295dda}}, Y: Field{[10]uint32{0x027cfc6c, 0x0276bf14, 0x00eb3882, 0x0260a03e, 0x011dcd66, 0x013542e9, 0x017e00d5, 0x0310afdd, 0x007e644b, 0x00084aa6}}}, + {X: Field{[10]uint32{0x03c11d9f, 0x02a526b1, 0x0063901e, 0x0053fb5d, 0x03375a27, 0x00f26c5a, 0x00c91952, 0x03b2b622, 0x010437ab, 0x002569e0}}, Y: Field{[10]uint32{0x02cfdf78, 0x007b2ca8, 0x0274809e, 0x01da4688, 0x00ec6428, 0x03c46925, 0x02723df1, 0x0015ac90, 0x00aa227b, 0x003ab8c8}}}, + {X: Field{[10]uint32{0x01cfa42a, 0x03503d0a, 0x020e5d10, 0x01761612, 0x009f034a, 0x03a61002, 0x01a9a64c, 0x00f850ab, 0x0034f7ef, 0x001da9f8}}, Y: Field{[10]uint32{0x028effa2, 0x0251a2d9, 0x0240479c, 0x025948a8, 0x009f2e49, 0x02f0bbb7, 0x00ec9319, 0x03acf0a9, 0x00e49633, 0x00266770}}}, + {X: Field{[10]uint32{0x035881d6, 0x023347ba, 0x0247df4e, 0x03357a50, 0x01427010, 0x036df60b, 0x00ddf929, 0x01e01407, 0x03964756, 0x003aea24}}, Y: Field{[10]uint32{0x03bca552, 0x029a6d76, 0x026a50d4, 0x022a3692, 0x02aebe0f, 0x005b3175, 0x037d8be6, 0x014850fc, 0x01f1c088, 0x002e4ab8}}}, + {X: Field{[10]uint32{0x0223704f, 0x03cf875b, 0x028addd3, 0x0225c4f3, 0x01dc0b75, 0x02bb51cd, 0x014f872a, 0x038559ac, 0x00d8059f, 0x00294e92}}, Y: Field{[10]uint32{0x01387fb6, 0x022d454e, 0x02a0d252, 0x00619db3, 0x004f4634, 0x03b9f559, 0x009403f3, 0x028ea0f6, 0x01a07e85, 0x00279ce3}}}, + {X: Field{[10]uint32{0x0307d3bc, 0x013f57a9, 0x00fb595b, 0x03e660a2, 0x03c831cd, 0x001418e9, 0x039b1481, 0x03e28e38, 0x010bdba5, 0x0020c996}}, Y: Field{[10]uint32{0x03768982, 0x01986caf, 0x02b06cb4, 0x013ca5f9, 0x03061b7d, 0x03e904c3, 0x000d62ec, 0x037494b4, 0x0388a2a1, 0x000280b3}}}, + {X: Field{[10]uint32{0x03916030, 0x02b1b7c5, 0x014af7f5, 0x00b02571, 0x03b0c35a, 0x01e9d2cb, 0x01714a21, 0x0042ff8c, 0x0194ba8c, 0x001a9248}}, Y: Field{[10]uint32{0x00c77b87, 0x01b148be, 0x0145db6b, 0x0001bfaf, 0x01c531cd, 0x013f0ca2, 0x02e8b4fb, 0x024dea4b, 0x01658e0c, 0x000f3c2f}}}, + {X: Field{[10]uint32{0x03c52a57, 0x030c1a0c, 0x007474b6, 0x004df8f5, 0x013b34bf, 0x01ae8887, 0x0180c494, 0x01fbb587, 0x01c6ff79, 0x002d2b1c}}, Y: Field{[10]uint32{0x012820f7, 0x000d41b5, 0x03683905, 0x01837e04, 0x0214ae3b, 0x01893835, 0x03d23434, 0x03fbf3bc, 0x02e48fb6, 0x0011ab2c}}}, + {X: Field{[10]uint32{0x0286e0bc, 0x0064c5b0, 0x02f9b49a, 0x024e8707, 0x0113b19b, 0x0155ec84, 0x03f05b4e, 0x00a7845a, 0x011e65bc, 0x0022c45c}}, Y: Field{[10]uint32{0x02af0dde, 0x0241e322, 0x004910aa, 0x03d71c8b, 0x00faa6bc, 0x02d3ab96, 0x02d695e5, 0x00d4e086, 0x00cfcf38, 0x001e7128}}}, + {X: Field{[10]uint32{0x0008e098, 0x013d90d1, 0x0192d897, 0x030db5e8, 0x00727362, 0x0203f789, 0x0203f82e, 0x0095e65d, 0x0276e86b, 0x002e2c02}}, Y: Field{[10]uint32{0x013e56c6, 0x006dbe14, 0x03d0a585, 0x03ede121, 0x029e0b9f, 0x03ab5ecb, 0x006fa1cf, 0x002375f3, 0x03188b01, 0x000176d9}}}, + {X: Field{[10]uint32{0x01d89814, 0x038b4b58, 0x03a52c50, 0x01a41917, 0x02bebe8f, 0x026dc4f1, 0x0027a8f6, 0x02e5a14d, 0x021b0fb6, 0x0022130e}}, Y: Field{[10]uint32{0x03a3749b, 0x01963381, 0x00fbf14d, 0x012f56c6, 0x00ff28aa, 0x03d537b0, 0x003f821d, 0x00bbbcdd, 0x00e5094b, 0x000f6b30}}}, + {X: Field{[10]uint32{0x00637596, 0x0291fe5d, 0x037d8496, 0x006abad8, 0x02c004dd, 0x02fdbed3, 0x004100dc, 0x02fd8ff8, 0x01cf51aa, 0x000f4307}}, Y: Field{[10]uint32{0x025df51c, 0x010c8d82, 0x0305d228, 0x004cf8bb, 0x02883fe0, 0x0267eedd, 0x0242a6f5, 0x038b3418, 0x015bbf5d, 0x0015dbaf}}}, + {X: Field{[10]uint32{0x02bca8c7, 0x020478b6, 0x028fa13f, 0x02d8f54c, 0x031ae972, 0x009deddf, 0x0057f79a, 0x026b7097, 0x01af6153, 0x0015acfb}}, Y: Field{[10]uint32{0x012e98eb, 0x02b19b4b, 0x01347dbd, 0x02ade6cf, 0x0096bdfb, 0x0376a574, 0x02b3d2b5, 0x021809c6, 0x0100a2b2, 0x00100e0e}}}, + {X: Field{[10]uint32{0x03cfd3e2, 0x02417eca, 0x01457a74, 0x0360c67e, 0x025fbb11, 0x0115217f, 0x00eacfa8, 0x01327d0d, 0x01bf50f3, 0x00109b8a}}, Y: Field{[10]uint32{0x03cb117a, 0x004c660c, 0x017a35d6, 0x02237c7d, 0x00eeb60b, 0x00ee77d0, 0x0110cd5c, 0x01031883, 0x02e8eeff, 0x003ab11f}}}, + {X: Field{[10]uint32{0x02929308, 0x014329d8, 0x03ea67ed, 0x03ed6ff0, 0x03cf0a91, 0x00bb6b71, 0x01419baa, 0x0135fb1b, 0x03c9f4e2, 0x002555cd}}, Y: Field{[10]uint32{0x001675dd, 0x02b3bb52, 0x0260867b, 0x02d6ee0b, 0x01b69831, 0x0166fd91, 0x02783143, 0x024100be, 0x009d18fd, 0x0025eeee}}}, + {X: Field{[10]uint32{0x00b3e514, 0x021405fa, 0x004a1cbb, 0x02820e9e, 0x00704e74, 0x035f9eb4, 0x03ae639f, 0x009e83cb, 0x0013d464, 0x00175caa}}, Y: Field{[10]uint32{0x00876c2f, 0x00584f2e, 0x005ac9bc, 0x00dbd471, 0x022e8c26, 0x0267ae56, 0x01d6839a, 0x03187956, 0x010e851f, 0x00324bd0}}}, + {X: Field{[10]uint32{0x0369b6ef, 0x0146edf9, 0x02406225, 0x02701e14, 0x02dda784, 0x01c12570, 0x00876d91, 0x02224188, 0x0359e9bc, 0x0031f6a4}}, Y: Field{[10]uint32{0x01c10653, 0x02530fc1, 0x001c6d37, 0x031720bc, 0x01cb41f6, 0x012831f6, 0x01907872, 0x02340257, 0x01687150, 0x000489e0}}}, + {X: Field{[10]uint32{0x029ac683, 0x024193d5, 0x01ace972, 0x035ff86b, 0x02d92697, 0x0082b945, 0x03ee080f, 0x03c3f70b, 0x0226da7a, 0x0019c202}}, Y: Field{[10]uint32{0x0316d94d, 0x008b3f08, 0x03714aa5, 0x0339e7dd, 0x008e08c5, 0x01443ab0, 0x0144107e, 0x01c22cc2, 0x03acfbba, 0x002b6681}}}, + {X: Field{[10]uint32{0x03fc0dbf, 0x00015c16, 0x01a4163a, 0x00117055, 0x023947f4, 0x00b8ebeb, 0x0078ddc8, 0x00a3ddbe, 0x0239d614, 0x00084356}}, Y: Field{[10]uint32{0x028c511c, 0x02c600cb, 0x017ac96e, 0x01324fa6, 0x002efa80, 0x01ea464f, 0x014cc296, 0x00a70bb4, 0x03e6b0a6, 0x00185fbf}}}, + {X: Field{[10]uint32{0x0334ed98, 0x00874138, 0x015fc590, 0x0071bfd9, 0x039b8e46, 0x01e0df44, 0x03242a93, 0x0046e714, 0x0231ca15, 0x001742e4}}, Y: Field{[10]uint32{0x03e924ae, 0x00e99baf, 0x01986bd1, 0x0387dbe3, 0x011a2f58, 0x0279f5b3, 0x03ae1b4a, 0x013b69c4, 0x0121f479, 0x003201c0}}}, + {X: Field{[10]uint32{0x02907392, 0x01e299f8, 0x00ab63ce, 0x00abf344, 0x019013fe, 0x0131c65d, 0x00c8bd54, 0x004587b4, 0x002c4210, 0x001a1eee}}, Y: Field{[10]uint32{0x000d9eeb, 0x017a5984, 0x03e356a2, 0x020440e5, 0x03fafc8e, 0x022c8273, 0x03c721cf, 0x028e9be7, 0x0187758a, 0x003abd8f}}}, + {X: Field{[10]uint32{0x025f5d33, 0x01a9b473, 0x00da40e6, 0x0347d2f3, 0x03c63527, 0x03cb0ffc, 0x02a3931f, 0x023da068, 0x0157b804, 0x00146910}}, Y: Field{[10]uint32{0x0047dd31, 0x009ffa7a, 0x02a1ec51, 0x019cb6e5, 0x001a0c56, 0x00298e24, 0x03dc8f42, 0x00a50053, 0x0116519c, 0x001bff23}}}, + {X: Field{[10]uint32{0x01e86775, 0x01c2f2e3, 0x004f989f, 0x02c8af5f, 0x000a5dd7, 0x01e30eff, 0x024786a4, 0x00568d58, 0x017256f5, 0x002ca189}}, Y: Field{[10]uint32{0x0264f3a3, 0x0364cb51, 0x03692abc, 0x037917c5, 0x02f53b64, 0x024a4bfe, 0x0267e5b2, 0x014e5ade, 0x02a80a5a, 0x0008aba5}}}, + {X: Field{[10]uint32{0x0035bc30, 0x01f1ff82, 0x02e584bb, 0x02f3ee4a, 0x036ee129, 0x028e5884, 0x03d89a5c, 0x01e32bba, 0x021e2010, 0x003ddadc}}, Y: Field{[10]uint32{0x02c0d561, 0x00bd28f9, 0x024b7a06, 0x00e07a5a, 0x03223a0a, 0x0186ebff, 0x02b3d171, 0x026100f5, 0x02b10841, 0x0016671a}}}, + {X: Field{[10]uint32{0x00178e9c, 0x001f0d31, 0x01b9793b, 0x022cdb7b, 0x01d9a3b8, 0x03da5a44, 0x02f20b7f, 0x03b81ba0, 0x028763ad, 0x0004bc92}}, Y: Field{[10]uint32{0x0055b7f1, 0x01e35638, 0x021b7351, 0x037c230b, 0x02b2427f, 0x00a09efb, 0x025d939c, 0x007edec9, 0x039f96f0, 0x00167f5e}}}, + {X: Field{[10]uint32{0x0122260a, 0x008878c6, 0x010cefa0, 0x0117123e, 0x00bcfaf1, 0x01609033, 0x0082d477, 0x01aef8a8, 0x0290de6c, 0x002786e2}}, Y: Field{[10]uint32{0x03390f9f, 0x02966042, 0x000a66cd, 0x001ba923, 0x008a71eb, 0x0025f401, 0x02a54f42, 0x036781f0, 0x02a5b54b, 0x003e97a1}}}, + {X: Field{[10]uint32{0x03baae9c, 0x00240c4b, 0x020a38c1, 0x03e1b134, 0x01ed4117, 0x00a38c7c, 0x01b6a66e, 0x00fadec0, 0x010320b7, 0x0018fc16}}, Y: Field{[10]uint32{0x0101d8eb, 0x02fa2c65, 0x019c501a, 0x032aebd7, 0x0340bd68, 0x0098e1df, 0x0288967a, 0x0207f81b, 0x01d2d34a, 0x00092e32}}}, + {X: Field{[10]uint32{0x03905999, 0x0264ad18, 0x003a8e27, 0x01ba671d, 0x01e5c89b, 0x0367ca15, 0x03569a4a, 0x00a8f687, 0x0009f540, 0x00111f1d}}, Y: Field{[10]uint32{0x0149e154, 0x0240dc2b, 0x0328db77, 0x01ce2e4f, 0x00716baa, 0x03805b02, 0x0337723b, 0x01e8251e, 0x019ab34a, 0x003513a3}}}, + {X: Field{[10]uint32{0x00793254, 0x03c437fe, 0x006df1bb, 0x03d28fe6, 0x0025eed4, 0x003c65f9, 0x037db0c2, 0x0102bead, 0x006a4c53, 0x001d2910}}, Y: Field{[10]uint32{0x03742023, 0x0261fad9, 0x0246dfc7, 0x02f014aa, 0x02dc4c07, 0x00711ac5, 0x0136907d, 0x029c4a33, 0x038a0a4b, 0x00058b59}}}, + {X: Field{[10]uint32{0x03047c07, 0x00c91ba3, 0x005ff3a2, 0x01d814e9, 0x022bf5e0, 0x010731ed, 0x00e63cc8, 0x0098deac, 0x01713187, 0x003dc0d4}}, Y: Field{[10]uint32{0x021097ef, 0x03ba7076, 0x00936cca, 0x032599c6, 0x02b3c7ee, 0x025cad67, 0x01762a95, 0x001e15c8, 0x03914f47, 0x003212c0}}}, + {X: Field{[10]uint32{0x02eaae11, 0x0267dbdc, 0x024f6ac9, 0x01a37285, 0x022194d1, 0x02c29054, 0x013bd706, 0x00d604b1, 0x007b57b2, 0x003b13f8}}, Y: Field{[10]uint32{0x02fff789, 0x00a3d728, 0x004d7b55, 0x01e6f74c, 0x01b2f9df, 0x026dd814, 0x02b1dc4e, 0x02ca7fb0, 0x029145de, 0x002bd254}}}, + {X: Field{[10]uint32{0x01d2ac9d, 0x02ead2b3, 0x0238878d, 0x011c47cd, 0x00c65520, 0x005a3435, 0x00b274ee, 0x005d3de8, 0x01e8fa96, 0x0005c55b}}, Y: Field{[10]uint32{0x0061ac3d, 0x01a00fc5, 0x00ca6abb, 0x0211e78a, 0x03c2de9f, 0x037b2e23, 0x00e37ed6, 0x01183261, 0x02c436c1, 0x0000ab8f}}}, + {X: Field{[10]uint32{0x021b2ede, 0x032990e6, 0x02a6aabf, 0x00302541, 0x01549cb9, 0x00374c33, 0x029be560, 0x011feb3e, 0x022b9c5a, 0x003906d1}}, Y: Field{[10]uint32{0x017507f4, 0x002fc440, 0x01311d38, 0x01308885, 0x03e1b360, 0x0231a563, 0x00fb3533, 0x02982b1a, 0x02b208bd, 0x000423f8}}}, + {X: Field{[10]uint32{0x0344aa38, 0x01bd0ddd, 0x015ad38a, 0x01e314ee, 0x03f357ea, 0x006a00e3, 0x00800515, 0x01e20f5e, 0x015920a6, 0x002e9b00}}, Y: Field{[10]uint32{0x02002cf3, 0x026d6e45, 0x03680457, 0x006d9a1b, 0x00cda144, 0x003a39c4, 0x0366aa5c, 0x02dd1a0c, 0x00e7deb6, 0x00369270}}}, + {X: Field{[10]uint32{0x00cbf1ae, 0x020d5a3e, 0x0329cee2, 0x014e1255, 0x037e8a95, 0x01f94998, 0x0102ab7f, 0x012dae1c, 0x006e883a, 0x0009bc06}}, Y: Field{[10]uint32{0x03d5f47a, 0x009176d2, 0x002d398b, 0x008c1d5c, 0x00aad788, 0x02568628, 0x01519809, 0x025f2b33, 0x01e4bb21, 0x0003bbe3}}}, + {X: Field{[10]uint32{0x000c9d22, 0x0007296d, 0x03cddc45, 0x038f6998, 0x03e00874, 0x00050398, 0x01b5588c, 0x033af0d4, 0x03de80c0, 0x000042e4}}, Y: Field{[10]uint32{0x00903258, 0x016d3407, 0x002842d0, 0x03c850d6, 0x001dfef7, 0x03b1257b, 0x0186b027, 0x03cdaf9e, 0x01ddf79a, 0x003b4c62}}}, + {X: Field{[10]uint32{0x03769dde, 0x0268f9dd, 0x002558bc, 0x0101db25, 0x017a1595, 0x03d6a315, 0x03b32da8, 0x020b0725, 0x0274337a, 0x0039e7b0}}, Y: Field{[10]uint32{0x028a06f6, 0x0145d898, 0x0102c3b6, 0x03660f5d, 0x02e527da, 0x02223cfb, 0x024c175d, 0x03f38d52, 0x039f22da, 0x0027c8c1}}}, + {X: Field{[10]uint32{0x03c101e1, 0x034c685b, 0x01b0c1b7, 0x038e4810, 0x002be265, 0x023832a9, 0x039915e0, 0x02b4ff22, 0x017544f0, 0x0003f680}}, Y: Field{[10]uint32{0x018902e7, 0x00bd7061, 0x0030d0db, 0x01dae128, 0x03e4d49a, 0x029415cc, 0x03e42981, 0x0271baf1, 0x022785d5, 0x001093a6}}}, + {X: Field{[10]uint32{0x0099c6bd, 0x033c46e8, 0x01b31577, 0x028f2f3f, 0x008327d8, 0x022f20c3, 0x03147258, 0x0337f940, 0x01cb5380, 0x001a07c0}}, Y: Field{[10]uint32{0x039002bc, 0x0252463c, 0x018cd007, 0x02b63836, 0x0359c02f, 0x03f279d5, 0x006cef06, 0x02c17e70, 0x0117cdc3, 0x002fe748}}}, + {X: Field{[10]uint32{0x03d12f64, 0x00825736, 0x039611de, 0x0236e7bf, 0x03d6fe9f, 0x02b28942, 0x0251f4d9, 0x00b30b74, 0x026b2a2d, 0x001c3096}}, Y: Field{[10]uint32{0x02966126, 0x02669346, 0x021f46b2, 0x00136647, 0x03134dae, 0x024fa96d, 0x03f4dc47, 0x02cb3f34, 0x0368a386, 0x00327bab}}}, + {X: Field{[10]uint32{0x03ccbb9d, 0x00486e27, 0x0330403b, 0x02143fa2, 0x023b466e, 0x03d02199, 0x03d5ea45, 0x010b53fb, 0x012c404b, 0x0011937b}}, Y: Field{[10]uint32{0x005d910b, 0x009c4884, 0x01260796, 0x01ef9069, 0x03610bb4, 0x0295a0d9, 0x02d2d3e0, 0x03d84c8e, 0x01046ad3, 0x002b044e}}}, + {X: Field{[10]uint32{0x03a103db, 0x00bc4d04, 0x023f02ad, 0x02406d73, 0x01b7ff89, 0x023177f0, 0x0055109a, 0x02466175, 0x037248e7, 0x00028cb7}}, Y: Field{[10]uint32{0x03160e72, 0x0084d292, 0x02173821, 0x034cf997, 0x00cf9ad8, 0x01d8a5b2, 0x02a2d1d8, 0x0241ae6b, 0x00fb9d60, 0x001b6d2d}}}, + {X: Field{[10]uint32{0x0165179a, 0x0254c540, 0x03fe9a76, 0x0370a971, 0x023ccb74, 0x013b13fa, 0x00297746, 0x034e725c, 0x029e7ee5, 0x003f9273}}, Y: Field{[10]uint32{0x03e7dc8c, 0x023c3e8f, 0x026e63f5, 0x020ad310, 0x0390bfc5, 0x018555c8, 0x03b98662, 0x01773bbb, 0x013a3592, 0x00194fd5}}}, + {X: Field{[10]uint32{0x0354ad14, 0x01cc5b8c, 0x01a878aa, 0x0028ab75, 0x01ec0f1a, 0x0049ac43, 0x0224750c, 0x029f0936, 0x0255c895, 0x0021a2cb}}, Y: Field{[10]uint32{0x02c299ef, 0x0187c91e, 0x00324efb, 0x02080201, 0x00776bca, 0x0298a46f, 0x03035941, 0x0067f5c7, 0x0074cdea, 0x00178a22}}}, + {X: Field{[10]uint32{0x00098461, 0x03422d63, 0x011aec63, 0x01fbf4cb, 0x03d267ff, 0x003f121a, 0x013f1c08, 0x00d31a2b, 0x00da90ae, 0x003f81e4}}, Y: Field{[10]uint32{0x00f7177e, 0x00efabdb, 0x03ef416f, 0x036d5a02, 0x02cdbfcc, 0x008b184c, 0x01a02444, 0x02ca0d1c, 0x0393de35, 0x002b4cc4}}}, + {X: Field{[10]uint32{0x03e9a9d9, 0x03609e5b, 0x039557f6, 0x03d59a0d, 0x0242a23b, 0x019f7fbe, 0x016b1961, 0x020373fc, 0x028d0f4f, 0x003f9ff2}}, Y: Field{[10]uint32{0x00d4eb3b, 0x023c72f6, 0x01b1e71c, 0x02738605, 0x02ccc572, 0x02051dab, 0x000cb3d6, 0x03a49776, 0x018a0d7e, 0x002ef137}}}, + {X: Field{[10]uint32{0x0034cfc2, 0x00da1625, 0x03fd23aa, 0x0263a7c0, 0x02ae7975, 0x00473d30, 0x011b11b5, 0x03882fad, 0x0270aa4c, 0x00288db0}}, Y: Field{[10]uint32{0x0088f29b, 0x00e8c7c8, 0x01f4c486, 0x0103eeda, 0x028bc370, 0x00230842, 0x00c3ade6, 0x02f7ad07, 0x01c575a7, 0x00164d66}}}, + {X: Field{[10]uint32{0x02519248, 0x0151bf1d, 0x03644565, 0x03ab6787, 0x02800472, 0x00e0d938, 0x028a3485, 0x0309fcfa, 0x00a56bb8, 0x00035a81}}, Y: Field{[10]uint32{0x0142deb9, 0x01c1a6ad, 0x00e079b7, 0x019889ba, 0x03dbf6e4, 0x015d8490, 0x03099aba, 0x01d8a48a, 0x030d50b9, 0x0012e551}}}, + {X: Field{[10]uint32{0x00a30e7f, 0x000baa7e, 0x02ebd74e, 0x00a0c986, 0x00677732, 0x035c0689, 0x0276f974, 0x00117f86, 0x0377d64a, 0x00342734}}, Y: Field{[10]uint32{0x0188ffea, 0x02a49359, 0x02e57b90, 0x03abb81a, 0x0141a342, 0x032be203, 0x02ed2d01, 0x000acf5d, 0x02b902b7, 0x0027c250}}}, + {X: Field{[10]uint32{0x01d98b8b, 0x0343a979, 0x03440b2e, 0x02fffc29, 0x01b9a469, 0x0071f8ff, 0x02e52456, 0x006a75b0, 0x032c16d0, 0x00340c31}}, Y: Field{[10]uint32{0x031f2c8e, 0x02c3c454, 0x006f473d, 0x019f2850, 0x03fddeee, 0x02baa10e, 0x02b60ffe, 0x03e60405, 0x0308dba4, 0x00031ac4}}}, + {X: Field{[10]uint32{0x0345a691, 0x031aec78, 0x03ba1100, 0x03dd5c1a, 0x0157d0c6, 0x002ce695, 0x01980ab8, 0x0129f510, 0x02c6d2c0, 0x0015b115}}, Y: Field{[10]uint32{0x02084819, 0x00d39909, 0x03189fae, 0x00968184, 0x02825ce5, 0x01d4f0ac, 0x0310ffc2, 0x01743e3b, 0x00dc2c73, 0x00316cbc}}}, + {X: Field{[10]uint32{0x008400c9, 0x0146eb0c, 0x0037d75e, 0x03178396, 0x0129d911, 0x0353f779, 0x01d1b98d, 0x0347d0a3, 0x01f3b505, 0x002ab56b}}, Y: Field{[10]uint32{0x0377acc6, 0x02ae1f89, 0x036e46af, 0x03c877d2, 0x00f55569, 0x01e431a3, 0x03aa411b, 0x02530448, 0x03674f79, 0x003a52b7}}}, + {X: Field{[10]uint32{0x026a0ef0, 0x0219e8d7, 0x0034e6b1, 0x030c67b4, 0x02ca1d43, 0x0062d32c, 0x006b089f, 0x02e3dd22, 0x00b4dd76, 0x002b2336}}, Y: Field{[10]uint32{0x037ba96d, 0x02753dc4, 0x001f3c75, 0x02d26f32, 0x02ffb71d, 0x032b73f1, 0x013f8271, 0x02ac55d0, 0x0094f9da, 0x001c75c2}}}, + {X: Field{[10]uint32{0x0047ca1d, 0x0314d5f7, 0x0394841d, 0x0143d085, 0x0093eb41, 0x01665ad1, 0x01d7a4d0, 0x03e91502, 0x006df110, 0x000e5900}}, Y: Field{[10]uint32{0x03ad7cdb, 0x0291b7c0, 0x017d6395, 0x01d0daff, 0x01c2f244, 0x00fc15f9, 0x022a2bd2, 0x0364ebe4, 0x006d21db, 0x00392847}}}, + {X: Field{[10]uint32{0x03ca56ec, 0x0387efde, 0x01d551a0, 0x03e3ed0f, 0x03723a1f, 0x02fe442d, 0x02a37b19, 0x004aedd3, 0x039227a3, 0x000af842}}, Y: Field{[10]uint32{0x02df59ab, 0x014bb731, 0x000b4590, 0x03a3076f, 0x03755b2d, 0x00a42c92, 0x03ecca94, 0x037034a4, 0x02fbc886, 0x00066aa2}}}, + {X: Field{[10]uint32{0x01ad6ae5, 0x018c96ad, 0x01342a4c, 0x005c70e3, 0x03ccc1e4, 0x03ff22ea, 0x0219a34d, 0x03d46874, 0x01562bd7, 0x000de705}}, Y: Field{[10]uint32{0x03185907, 0x00feb10b, 0x0348db98, 0x00d1fc81, 0x01e7bc67, 0x0036554d, 0x01ce2231, 0x0077d59b, 0x028fa637, 0x0011e87c}}}, + {X: Field{[10]uint32{0x03ce9809, 0x033dea07, 0x014f9914, 0x02426277, 0x0130a362, 0x01e0443a, 0x03584a7d, 0x011674ab, 0x01c2e675, 0x00090153}}, Y: Field{[10]uint32{0x017ae592, 0x016128b9, 0x02a7612b, 0x02069bc0, 0x013553dc, 0x008345a9, 0x00e06d48, 0x03429c71, 0x021d3e05, 0x00195cab}}}, + {X: Field{[10]uint32{0x002420a4, 0x02d323a8, 0x0298fa3b, 0x0322e140, 0x02913199, 0x00408ecc, 0x03cd8790, 0x02a5e6ad, 0x02a6f46c, 0x002604b9}}, Y: Field{[10]uint32{0x00f937f0, 0x004ae722, 0x0315152a, 0x00ed595d, 0x033afd96, 0x021be4dd, 0x03baf369, 0x0364cc06, 0x02eddfec, 0x0011a3db}}}, + {X: Field{[10]uint32{0x0313c700, 0x000e969f, 0x03c6b962, 0x03ee5720, 0x029f6c14, 0x00b2778a, 0x00c928d6, 0x02392b61, 0x02446a34, 0x00118161}}, Y: Field{[10]uint32{0x022d57ab, 0x00079dd8, 0x021ad904, 0x004415ec, 0x034c873f, 0x02c62103, 0x0359c203, 0x01c07f99, 0x02e3ca3d, 0x00277157}}}, + {X: Field{[10]uint32{0x00be006a, 0x002541ef, 0x003228e9, 0x03298e6b, 0x021cb877, 0x012bb43e, 0x00d862fe, 0x0017ca91, 0x03972d5b, 0x002a36eb}}, Y: Field{[10]uint32{0x036fa4bc, 0x0312a5c5, 0x0190251a, 0x00a6e0f2, 0x03253e67, 0x0050742f, 0x018d38c6, 0x024df13e, 0x0003f082, 0x000f6d53}}}, + {X: Field{[10]uint32{0x011149fe, 0x01e0024e, 0x01128741, 0x0064899c, 0x02008b30, 0x013e611a, 0x0324bcd4, 0x004ca44c, 0x01f4f4d9, 0x0026e2ce}}, Y: Field{[10]uint32{0x0052c1d3, 0x025aa647, 0x030976b3, 0x01fcb82a, 0x034e4cae, 0x002c346c, 0x03fc6939, 0x00b96a23, 0x03721c45, 0x00124293}}}, + {X: Field{[10]uint32{0x014615eb, 0x00d62b4c, 0x0059773e, 0x00909e99, 0x017406ce, 0x039407e0, 0x02404ea9, 0x011b6c65, 0x01d5a7ef, 0x000cd1a0}}, Y: Field{[10]uint32{0x03ad6c0d, 0x01951094, 0x02b6d6c1, 0x0304dff9, 0x02e328fd, 0x0081a778, 0x004775a5, 0x0335aa7c, 0x003a1d80, 0x000ac8d8}}}, + {X: Field{[10]uint32{0x01c32529, 0x00fc380a, 0x02a88202, 0x01cadeba, 0x02bd5f83, 0x02933390, 0x00639b40, 0x01baf4a5, 0x0310c63c, 0x003fae38}}, Y: Field{[10]uint32{0x0343b213, 0x02fe1b76, 0x02617fbc, 0x018ef7df, 0x0068a45c, 0x019a0898, 0x017934b8, 0x035e02a9, 0x02ad6a0c, 0x0032db90}}}, + {X: Field{[10]uint32{0x0305cb67, 0x003cb121, 0x013b3fcf, 0x02d8acf6, 0x01a8ca5c, 0x02e44295, 0x01232523, 0x013a4b72, 0x03c2c733, 0x003d285e}}, Y: Field{[10]uint32{0x026e9dfe, 0x011c6c36, 0x02304bb0, 0x038f573e, 0x02e7f4a9, 0x03d14982, 0x03d55a32, 0x011ca52c, 0x039501b2, 0x00204add}}}, + {X: Field{[10]uint32{0x00cf181b, 0x011e6e93, 0x0324c7e0, 0x0257c208, 0x02c330a9, 0x03f2abd3, 0x016d596b, 0x010d2552, 0x007b8551, 0x0023b0ab}}, Y: Field{[10]uint32{0x01250130, 0x03aeea4d, 0x00258ce4, 0x025c9ec7, 0x0070e927, 0x0173c2f1, 0x00b3bcf0, 0x03498def, 0x00b67811, 0x003a8562}}}, + {X: Field{[10]uint32{0x00d4f19a, 0x010f1b01, 0x04001534, 0x02ddf68e, 0x03e4aa9e, 0x039231bd, 0x01c4b6d9, 0x0336f032, 0x021bd9ae, 0x002c79b5}}, Y: Field{[10]uint32{0x028cbf4a, 0x03e62bec, 0x031a35ae, 0x02e83b32, 0x011bc20a, 0x0235bcce, 0x01fdb344, 0x0325da2c, 0x0355b2e2, 0x0010ebde}}}, + {X: Field{[10]uint32{0x0313b2be, 0x03c8124b, 0x022e4b69, 0x018c0b53, 0x031a9519, 0x036cd50c, 0x004a3974, 0x011f70e4, 0x02e8210d, 0x001360f4}}, Y: Field{[10]uint32{0x0137a6b3, 0x015cbd8f, 0x000367c8, 0x02b25500, 0x017a0e3b, 0x039610ae, 0x005f1d88, 0x03f25ef9, 0x00833874, 0x001fb65b}}}, + {X: Field{[10]uint32{0x03b20b84, 0x02dba3ca, 0x01c36b9e, 0x03bac2ca, 0x0325f5c5, 0x01549fd9, 0x035d5143, 0x03f0875b, 0x012efd51, 0x0005123a}}, Y: Field{[10]uint32{0x02e344ad, 0x02efae65, 0x03f4cea8, 0x0298e790, 0x0013336a, 0x021a25cf, 0x011c9a22, 0x020f94be, 0x038fc8be, 0x0009228c}}}, + {X: Field{[10]uint32{0x024e4ead, 0x01c24f24, 0x03e63dcf, 0x02c09617, 0x0239d928, 0x03828863, 0x01cc7d44, 0x0142b0b3, 0x03d69c22, 0x00388ec0}}, Y: Field{[10]uint32{0x01b9aea9, 0x03ee2b9c, 0x024542ef, 0x02e84f7b, 0x0380b91c, 0x02b6c135, 0x017ef44f, 0x012df066, 0x03d04a8a, 0x00231a71}}}, + {X: Field{[10]uint32{0x02b5d7cb, 0x01c8ad0c, 0x02f94e5a, 0x0093699a, 0x00786632, 0x02baff2e, 0x02a929b9, 0x00ff9a51, 0x035e21fb, 0x00133478}}, Y: Field{[10]uint32{0x0167e3bc, 0x012ac1dc, 0x02984cba, 0x035dcc32, 0x03eca892, 0x00a5e185, 0x02887803, 0x016c42e9, 0x02dc5e86, 0x001ac444}}}, + {X: Field{[10]uint32{0x020db647, 0x03ec8102, 0x01bf5f2e, 0x02c363c7, 0x00bf25c6, 0x0165bb38, 0x00b92123, 0x02dec09f, 0x02f8092c, 0x003cf3ae}}, Y: Field{[10]uint32{0x0168d8e0, 0x0160af2a, 0x02ab7e12, 0x01cbbef6, 0x02cf3c71, 0x02ee974f, 0x0123b887, 0x03004e46, 0x01eb8418, 0x00298577}}}, + {X: Field{[10]uint32{0x01655e7d, 0x02168b1b, 0x01736a3a, 0x0379ec75, 0x02dfe341, 0x00c605c1, 0x0337c813, 0x03e235a0, 0x0128500b, 0x0012e2b3}}, Y: Field{[10]uint32{0x01219bb8, 0x0325b83f, 0x018ac624, 0x021e113c, 0x027b7c5d, 0x014bcec1, 0x016f76e0, 0x0159d613, 0x03c3825a, 0x002fa4f5}}}, + {X: Field{[10]uint32{0x00eb9fe1, 0x01c6541f, 0x03c53d47, 0x020616ba, 0x003e567d, 0x0331a37a, 0x03d2de62, 0x0002218f, 0x0081d04e, 0x002371eb}}, Y: Field{[10]uint32{0x01fa9198, 0x02e53104, 0x000e8214, 0x0224bb84, 0x031eb14c, 0x0097200f, 0x03a7755e, 0x0064c711, 0x024abe7b, 0x0018b52d}}}, + {X: Field{[10]uint32{0x01b89a23, 0x01394c30, 0x02033710, 0x015e400f, 0x01a817c2, 0x03d3cb06, 0x002bbbed, 0x03523425, 0x003f3078, 0x002a98cd}}, Y: Field{[10]uint32{0x02a7b524, 0x0256399b, 0x009bbfe7, 0x01b4338e, 0x0013befc, 0x037a51d6, 0x0020f4d9, 0x01cc3da7, 0x003423a6, 0x0009dfbe}}}, + {X: Field{[10]uint32{0x01121d30, 0x0135e841, 0x034955d0, 0x0186f085, 0x02dadeba, 0x028df7ce, 0x01096c01, 0x0079023a, 0x00619f30, 0x000df794}}, Y: Field{[10]uint32{0x0138898a, 0x00cbef39, 0x00c31f57, 0x01c35b6d, 0x00e3f6aa, 0x0001565f, 0x0136516c, 0x002e59a8, 0x009c33e4, 0x0001f9c1}}}, + {X: Field{[10]uint32{0x01eb83b4, 0x03cb0311, 0x0045e011, 0x0208be45, 0x003ebc66, 0x00d1d207, 0x028cd44f, 0x01673a8f, 0x0355506d, 0x001b4633}}, Y: Field{[10]uint32{0x00a30cdb, 0x03cabdee, 0x03854c8f, 0x029f3a01, 0x00220f7b, 0x03536e28, 0x039818e5, 0x01cfd1fe, 0x01c1ca8b, 0x003a4c3a}}}, + {X: Field{[10]uint32{0x02caa7d3, 0x025ece45, 0x01c0a5b7, 0x03f7ac74, 0x00f70243, 0x00054b27, 0x00203c49, 0x036b1775, 0x02606de7, 0x001df615}}, Y: Field{[10]uint32{0x019c659c, 0x01f6123d, 0x0122e8c3, 0x03b3e481, 0x031a2722, 0x02cf038e, 0x01b0fc94, 0x03554327, 0x03e39b37, 0x000fd5f3}}}, + {X: Field{[10]uint32{0x0381bf16, 0x0398d77c, 0x01229670, 0x002f5a76, 0x00ea5645, 0x03e753ee, 0x01dc8b56, 0x016ec715, 0x01a6c44b, 0x00170b9a}}, Y: Field{[10]uint32{0x01a3588d, 0x03c0499d, 0x03049f1a, 0x03c930d2, 0x009ec21a, 0x03f42d1b, 0x0021a8c2, 0x032a6e8a, 0x009d0a69, 0x003c2081}}}, + {X: Field{[10]uint32{0x01a393ee, 0x0339002d, 0x02af1918, 0x023626ca, 0x02aaacb9, 0x00afac1a, 0x01944ed9, 0x02496c94, 0x01f5066d, 0x000ca700}}, Y: Field{[10]uint32{0x02a57abf, 0x02bfb7fe, 0x032a9c3c, 0x0114f531, 0x02e21c2c, 0x0292494b, 0x0150c80a, 0x003ffdab, 0x0038427a, 0x001f8a6c}}}, + {X: Field{[10]uint32{0x029525da, 0x02d26f58, 0x0099df62, 0x03f21519, 0x02b670f4, 0x01c75ec3, 0x02bb4017, 0x037e90df, 0x031f18b2, 0x00130b98}}, Y: Field{[10]uint32{0x029a6f9c, 0x022728ff, 0x013701f7, 0x00b68fe1, 0x00050c6c, 0x02df0813, 0x01314326, 0x00fe9d30, 0x03fb8742, 0x0022a57a}}}, + {X: Field{[10]uint32{0x03d03fdc, 0x03efc6d8, 0x03fd9392, 0x0393184c, 0x01d3808c, 0x0384295d, 0x037cf02c, 0x0111971f, 0x03930d25, 0x003f8486}}, Y: Field{[10]uint32{0x009e0ba6, 0x0032f3a9, 0x036352a8, 0x022bcd82, 0x030e5943, 0x0110e83f, 0x03b997f9, 0x010c4653, 0x03077bda, 0x000cc4a6}}}, + {X: Field{[10]uint32{0x03784c23, 0x00ab984b, 0x0316da53, 0x03510600, 0x032cf8c5, 0x0079d2e2, 0x0220521f, 0x03cfddd3, 0x027b1cdb, 0x000c8eb0}}, Y: Field{[10]uint32{0x03c3dc18, 0x025acb4f, 0x01197bb2, 0x005bcf4c, 0x01c8489e, 0x00d2ea69, 0x00b15fe8, 0x012b1622, 0x0108f6a6, 0x00084558}}}, + {X: Field{[10]uint32{0x03afd533, 0x006a3481, 0x00d3741b, 0x0287964d, 0x01eeccbc, 0x03830840, 0x01f0ed5c, 0x02c780e9, 0x0362fdfc, 0x000451e3}}, Y: Field{[10]uint32{0x005f9153, 0x025a667b, 0x0366c70d, 0x02c82614, 0x02aba8d0, 0x0344549e, 0x00cdb176, 0x03b32191, 0x02732fd3, 0x002a7de5}}}, + {X: Field{[10]uint32{0x00b9d078, 0x010fbf08, 0x016e5e73, 0x02d5d9e2, 0x02bc8d82, 0x03b569a9, 0x008acf3a, 0x0306b7ae, 0x01b6c9d3, 0x0027c242}}, Y: Field{[10]uint32{0x007db181, 0x03ce1139, 0x017a33b0, 0x035ee669, 0x0061a579, 0x023d948d, 0x0263e30b, 0x01759371, 0x00a6c5c9, 0x00294587}}}, + {X: Field{[10]uint32{0x024a6b9f, 0x0255f4e9, 0x01711c55, 0x02c6d4bc, 0x032807ac, 0x006be02e, 0x01d8cd1a, 0x02b508a6, 0x007532a9, 0x0012582a}}, Y: Field{[10]uint32{0x02976625, 0x02e42d37, 0x03dd8cd6, 0x000bbbdd, 0x004bfc62, 0x00fe0bc9, 0x008f54a9, 0x0198a3ad, 0x01f3f1b4, 0x0015e394}}}, + {X: Field{[10]uint32{0x01310354, 0x0160bc17, 0x0066854b, 0x00d92d7b, 0x01d142d5, 0x03f27dcf, 0x010951cb, 0x00997952, 0x01c20bdb, 0x0019d70a}}, Y: Field{[10]uint32{0x008bd6d1, 0x00a411f8, 0x03a49832, 0x017e768c, 0x028cb8ad, 0x021af7e9, 0x02d4f9a1, 0x037a1080, 0x02693d82, 0x0008b47d}}}, + {X: Field{[10]uint32{0x007ce605, 0x02df26c4, 0x01d36f65, 0x037eb612, 0x01a9053a, 0x005aaccb, 0x01221779, 0x034389aa, 0x00bd6c75, 0x0031025b}}, Y: Field{[10]uint32{0x01c2bb46, 0x016f94e5, 0x023c294f, 0x01440092, 0x01b2b97e, 0x018ceb81, 0x0361efb9, 0x0325e4bf, 0x03472ae3, 0x0017c8da}}}, + {X: Field{[10]uint32{0x03905c0b, 0x003b66ce, 0x03789dd8, 0x018007e8, 0x01b1ddd4, 0x031d5055, 0x01205ec2, 0x015007c0, 0x0341ddd0, 0x0027a834}}, Y: Field{[10]uint32{0x01a28e69, 0x00570803, 0x03b717e6, 0x016654fd, 0x00ba7ce0, 0x00e625d9, 0x03692cd5, 0x0342ddbc, 0x010197e7, 0x000efd20}}}, + {X: Field{[10]uint32{0x02fb92e4, 0x035d690c, 0x028c7b4d, 0x03cb78dd, 0x01637367, 0x026056c3, 0x026edd2d, 0x03e8cdca, 0x02d784bf, 0x002f7aef}}, Y: Field{[10]uint32{0x03d0b9c0, 0x01312bb3, 0x00067673, 0x007f28ac, 0x01297a43, 0x02882507, 0x016af105, 0x026d8b70, 0x037eb62a, 0x0017fcd0}}}, + {X: Field{[10]uint32{0x02910932, 0x031f5b27, 0x020c7bcc, 0x01d1ded5, 0x000cbfe6, 0x03d55084, 0x02ea82c8, 0x00d3cb5a, 0x0244b46e, 0x002921be}}, Y: Field{[10]uint32{0x0097317a, 0x007208be, 0x03ca8323, 0x02a9fd1f, 0x01b8ad5b, 0x01532955, 0x023caa0f, 0x038a1022, 0x036d8a15, 0x0006adf8}}}, + {X: Field{[10]uint32{0x01cbba08, 0x0069f44a, 0x03769fbd, 0x02c4631f, 0x0366e7ab, 0x0082bbea, 0x0204376a, 0x02a49aa8, 0x00a557a1, 0x001118e8}}, Y: Field{[10]uint32{0x0034af0d, 0x036ada74, 0x02ce09a9, 0x0148973a, 0x037dc081, 0x002e2b44, 0x00f01de2, 0x0180a9c1, 0x02a5ab7b, 0x0012a08e}}}, + {X: Field{[10]uint32{0x01825ac4, 0x029cf7d3, 0x00b4c593, 0x0318bbad, 0x008cbdc5, 0x03647476, 0x03135840, 0x0237eead, 0x024fc45e, 0x0035b822}}, Y: Field{[10]uint32{0x02b4c55f, 0x020032d7, 0x02506c59, 0x036588bf, 0x0108be98, 0x003f8b6f, 0x031ae8fc, 0x0342e941, 0x03b477c0, 0x000b3616}}}, + {X: Field{[10]uint32{0x016a10f1, 0x00fea1fe, 0x03656a43, 0x034293e2, 0x00546d31, 0x026eff4d, 0x0076dca2, 0x032b5398, 0x02992a69, 0x002d89b8}}, Y: Field{[10]uint32{0x03cb5bc6, 0x015bd0d0, 0x03d343c6, 0x00ee32ef, 0x0162ac5e, 0x01789d95, 0x01686325, 0x0249a3c5, 0x02ceba91, 0x001b7d2c}}}, + {X: Field{[10]uint32{0x007139a5, 0x006959a5, 0x03b057e3, 0x03ad8678, 0x0225a4df, 0x03f93497, 0x01d61965, 0x0141c2cb, 0x02eb7464, 0x000d8679}}, Y: Field{[10]uint32{0x0282093f, 0x0035c944, 0x014311aa, 0x00ed1430, 0x0379940c, 0x02519f1e, 0x036c3bf2, 0x01848674, 0x0189ba15, 0x002592e2}}}, + {X: Field{[10]uint32{0x00bda2e9, 0x03dfd232, 0x02a847cc, 0x01838c9a, 0x0141e5c0, 0x014cc258, 0x00a3a65d, 0x0210ff10, 0x035e6718, 0x002cd4a6}}, Y: Field{[10]uint32{0x01c1b935, 0x03f15496, 0x030579d4, 0x01eca99e, 0x0131111e, 0x0216fb3d, 0x00595ac2, 0x02fd17a7, 0x00d37ce1, 0x001279b8}}}, + {X: Field{[10]uint32{0x03a9e05b, 0x02bf7c4b, 0x01598d42, 0x01e2500d, 0x014a1997, 0x03491fbc, 0x0385527d, 0x00517ff3, 0x00675bd7, 0x003947c0}}, Y: Field{[10]uint32{0x01b32666, 0x00a72ff0, 0x02c8cec7, 0x017cc3ad, 0x017d2e17, 0x026c11f9, 0x023d5fc6, 0x01cbad14, 0x033e8b4d, 0x003566ab}}}, + {X: Field{[10]uint32{0x01e79b28, 0x017e0c73, 0x00720170, 0x03935148, 0x0391c930, 0x0029ed52, 0x025eb6aa, 0x0311a348, 0x0066f64b, 0x0022a1fc}}, Y: Field{[10]uint32{0x02800227, 0x03afa959, 0x0113bb5e, 0x02b18954, 0x03249c34, 0x0343909d, 0x019062f5, 0x01f256c8, 0x0195e005, 0x002a4a97}}}, + {X: Field{[10]uint32{0x01310b06, 0x03661eff, 0x03632cd7, 0x03eee2bb, 0x013a926a, 0x03e236ab, 0x01c771eb, 0x023b969a, 0x0015aa87, 0x00362a04}}, Y: Field{[10]uint32{0x020acbdd, 0x017d4ff8, 0x02ad3d5e, 0x03680667, 0x03ec9f31, 0x03ce50b1, 0x03e3a262, 0x03b53a58, 0x03e8f276, 0x002bddfd}}}, + {X: Field{[10]uint32{0x020cc5c1, 0x01d0f533, 0x034d2c3b, 0x02f5466b, 0x02051c9a, 0x01974a35, 0x025b8a38, 0x01364f6f, 0x02194f3f, 0x002230fe}}, Y: Field{[10]uint32{0x020d8f8d, 0x0192381d, 0x039d9a9d, 0x036a660a, 0x0226b5de, 0x01dd16fb, 0x03671a7e, 0x03e089ec, 0x037a0f9f, 0x0004132b}}}, + {X: Field{[10]uint32{0x01ce648e, 0x00b0f650, 0x02484553, 0x0045b169, 0x02220701, 0x031ca6a2, 0x01e9c763, 0x02c3abc1, 0x03253434, 0x003e1ce1}}, Y: Field{[10]uint32{0x006f7bd7, 0x0327885e, 0x0320146f, 0x0055e059, 0x024c286e, 0x0034f86f, 0x01f66270, 0x01e44eda, 0x02d1d4ee, 0x002a2d7b}}}, + {X: Field{[10]uint32{0x009acc33, 0x021083e4, 0x02f606b1, 0x03e3723f, 0x007b35c8, 0x01a25817, 0x00ca8265, 0x00087e53, 0x01385afb, 0x00017f29}}, Y: Field{[10]uint32{0x01b2b3a8, 0x0246bd75, 0x036392b7, 0x01e35752, 0x03c5b4d0, 0x008facaf, 0x01f9a527, 0x022ff7ac, 0x0251f5c2, 0x000075fe}}}, + {X: Field{[10]uint32{0x035007db, 0x01193eb3, 0x01a51891, 0x013f8558, 0x03f1fddf, 0x03b52f43, 0x02cef9db, 0x02b366ec, 0x0148d4b2, 0x0011d211}}, Y: Field{[10]uint32{0x028f44a8, 0x02a8f20c, 0x02bce3dd, 0x00efb620, 0x01b93e22, 0x03ed113f, 0x03a25397, 0x033f811b, 0x0154f011, 0x003a9878}}}, + {X: Field{[10]uint32{0x02c5b8f1, 0x01ab2179, 0x0234ab46, 0x01b49500, 0x01dd8ef5, 0x0106a008, 0x029a6feb, 0x0350ffb1, 0x03ff0b14, 0x000cc7c5}}, Y: Field{[10]uint32{0x02ec144b, 0x015a6c27, 0x0299b68d, 0x01840b11, 0x0337d8c0, 0x02864c47, 0x0364a0f8, 0x011cc6da, 0x00a18d77, 0x002e882f}}}, + {X: Field{[10]uint32{0x03dc68ce, 0x02c51b76, 0x027f15e9, 0x0073e710, 0x0205b897, 0x0014c395, 0x0388ce98, 0x034b192a, 0x022d200b, 0x0001aae9}}, Y: Field{[10]uint32{0x01f832c8, 0x02ac09ba, 0x00c5b000, 0x035de376, 0x01fcf65f, 0x03c1c7cb, 0x0126ef0c, 0x022466b3, 0x02d7d7d9, 0x0039324d}}}, + {X: Field{[10]uint32{0x03ca19c5, 0x032f1a48, 0x014fcf52, 0x02371cc9, 0x02c0cfee, 0x027b1bb3, 0x01022b4d, 0x02867188, 0x0035e72f, 0x0031dadb}}, Y: Field{[10]uint32{0x0213efc9, 0x02ea0c7e, 0x03fb1ee7, 0x0215ec86, 0x01b49dba, 0x01fe80a2, 0x034d0a1d, 0x0216666d, 0x027a48ee, 0x0016c3fe}}}, + {X: Field{[10]uint32{0x021bb77a, 0x024e1533, 0x014a404a, 0x03b50549, 0x02aaa438, 0x00a70529, 0x01590fa4, 0x00f7e6c0, 0x023d43f3, 0x003015ba}}, Y: Field{[10]uint32{0x033dca7b, 0x01ee31fa, 0x0231cc33, 0x000a2e80, 0x0258355a, 0x01da95c7, 0x0079e7f5, 0x02a7c4b1, 0x00e32337, 0x00356c65}}}, + {X: Field{[10]uint32{0x01ac938a, 0x0222cf6f, 0x003a147e, 0x03124f2b, 0x037df652, 0x01ae3ced, 0x03bb897e, 0x003bc44d, 0x00cc8ddf, 0x000f5a23}}, Y: Field{[10]uint32{0x015879fc, 0x02bc8b53, 0x03b4a691, 0x0269ebce, 0x0338b6bc, 0x0045563d, 0x00daead1, 0x0387ca58, 0x03884d7a, 0x002f2a51}}}, + {X: Field{[10]uint32{0x00d2a179, 0x012ccf42, 0x009cf392, 0x027d7cb9, 0x00c59d7a, 0x03dbf60d, 0x0145f0cd, 0x004602a4, 0x02f669ce, 0x0013ebfe}}, Y: Field{[10]uint32{0x020159d2, 0x03d55841, 0x00485b71, 0x01c9e6f3, 0x03dcbad8, 0x032442ae, 0x000c16d8, 0x00bb0956, 0x00ac2dca, 0x00278057}}}, + {X: Field{[10]uint32{0x024aecad, 0x00c15e68, 0x02f614ac, 0x031d9a67, 0x000e8ba0, 0x037b31f1, 0x01a44eb3, 0x03ade1ad, 0x00e37cd7, 0x00011d5e}}, Y: Field{[10]uint32{0x03171651, 0x03be3259, 0x0056945e, 0x019a7af2, 0x0007fd00, 0x02d8a3b6, 0x00eab83f, 0x03802f1a, 0x0017a6be, 0x002522b2}}}, + {X: Field{[10]uint32{0x00618836, 0x0386a577, 0x01dfe103, 0x029dded6, 0x038c72fd, 0x01d221f6, 0x02d1a35f, 0x0191a892, 0x02753eaa, 0x0026ab78}}, Y: Field{[10]uint32{0x002bca96, 0x000dcf74, 0x0025687e, 0x03b771fd, 0x03ceef2f, 0x0325120f, 0x02e7a050, 0x0097cc79, 0x03848f46, 0x002d9470}}}, + {X: Field{[10]uint32{0x03aed711, 0x004cebd8, 0x02f9a276, 0x027d8a72, 0x03321c9b, 0x011ecaf3, 0x02818524, 0x03b9d556, 0x03e0b1c6, 0x002c6c30}}, Y: Field{[10]uint32{0x000ac827, 0x02eac90c, 0x01571759, 0x019d632f, 0x03c2c741, 0x03fc5c44, 0x001d0dca, 0x01bfcf7f, 0x00fd624e, 0x00124eb3}}}, + {X: Field{[10]uint32{0x032a8ff6, 0x0373cfaf, 0x0201c156, 0x01881eeb, 0x032a0ce4, 0x03ce46a6, 0x02c5762f, 0x028163ab, 0x018fb192, 0x003155dd}}, Y: Field{[10]uint32{0x011bd3b3, 0x011e5a5b, 0x01766399, 0x02129dc6, 0x03989212, 0x006ff6fc, 0x010f671b, 0x0386567c, 0x0353d209, 0x000753a6}}}, + {X: Field{[10]uint32{0x037b5e0e, 0x02b648ca, 0x00d07cc9, 0x0209237d, 0x020edcc0, 0x037d686d, 0x01b5ca60, 0x03b53ed2, 0x01ed5120, 0x001cd48b}}, Y: Field{[10]uint32{0x02e08d74, 0x02233e37, 0x01a96e43, 0x013b25c9, 0x037f87db, 0x016f3f71, 0x01299ced, 0x009c3b47, 0x0194cdf0, 0x0011d5a7}}}, + {X: Field{[10]uint32{0x00323506, 0x02e70bfa, 0x033ad72b, 0x0033c3b1, 0x00fd6fbc, 0x030afb94, 0x03ae46df, 0x02258ca8, 0x000d6632, 0x000595c7}}, Y: Field{[10]uint32{0x03ec68d2, 0x00911212, 0x03143d22, 0x02135d67, 0x00a936d6, 0x01f39854, 0x0157911e, 0x0071833b, 0x01869e00, 0x001977a7}}}, + {X: Field{[10]uint32{0x00e5f090, 0x00be5626, 0x03343dbe, 0x00ba0b72, 0x01b1810d, 0x0327be1b, 0x020cc8d7, 0x00c29721, 0x01642eb6, 0x003d7f95}}, Y: Field{[10]uint32{0x03adfa87, 0x03244fa7, 0x03504e20, 0x02f75fb5, 0x02eec2da, 0x030b025e, 0x0340dcdf, 0x036b2328, 0x021fbea9, 0x00173b9e}}}, + {X: Field{[10]uint32{0x016e3592, 0x0138f28e, 0x00591881, 0x005d635e, 0x037aece0, 0x021f3b6b, 0x01a67a0b, 0x02410d0f, 0x033270d0, 0x003bc276}}, Y: Field{[10]uint32{0x03b675e2, 0x0288e6b1, 0x036ea80c, 0x01c4ab81, 0x037df142, 0x03bf7d38, 0x01c6161c, 0x01ba7e59, 0x0005ba24, 0x00164d3e}}}, + {X: Field{[10]uint32{0x033a54e8, 0x03f948cd, 0x030c13ed, 0x008be5d2, 0x025e1746, 0x03c807b4, 0x012b102b, 0x03c26661, 0x03d727d2, 0x00221b36}}, Y: Field{[10]uint32{0x00a73b2b, 0x029ec277, 0x021426ee, 0x021ce351, 0x015166f6, 0x019393e2, 0x03518255, 0x01b96b94, 0x028a7fca, 0x0036b2cc}}}, + {X: Field{[10]uint32{0x02237cff, 0x03be0ab3, 0x011f96e4, 0x00226ef6, 0x01620713, 0x02367cfa, 0x029ff848, 0x02fcba14, 0x03cd04f7, 0x002df61a}}, Y: Field{[10]uint32{0x03702f0e, 0x03f623ce, 0x0002ee32, 0x0293b434, 0x0303acf2, 0x01d5d210, 0x0146dc41, 0x0151faa1, 0x03f1375a, 0x0031ac2b}}}, + {X: Field{[10]uint32{0x03388c67, 0x03f1eeba, 0x02c4d22b, 0x02659ef1, 0x00c24f5e, 0x0257653b, 0x03910593, 0x02ae14c1, 0x01b28132, 0x0035f45c}}, Y: Field{[10]uint32{0x001a8f8f, 0x01950f77, 0x00744bfe, 0x020a5c22, 0x037be396, 0x02ece6fd, 0x013c1351, 0x038ad957, 0x00e02421, 0x00260ddc}}}, + {X: Field{[10]uint32{0x0394b1be, 0x024202a5, 0x03502a42, 0x025b0524, 0x00f01a18, 0x00cf6b64, 0x01f1cfa8, 0x00c39c8a, 0x02fd881e, 0x003ff9c4}}, Y: Field{[10]uint32{0x00505da8, 0x03063395, 0x01586cda, 0x01e94c59, 0x02f18b03, 0x03cbe8af, 0x0311ae58, 0x00212842, 0x0203075d, 0x003d0a67}}}, + {X: Field{[10]uint32{0x03d13f7c, 0x01919555, 0x03d669f6, 0x03781bc0, 0x03dff3f0, 0x03decd71, 0x03cd10b3, 0x01a54735, 0x02b30322, 0x00158f24}}, Y: Field{[10]uint32{0x03ec10c1, 0x0272cdcc, 0x01f43076, 0x0252153d, 0x009bb210, 0x0105be52, 0x030ccfb2, 0x03bd0602, 0x02f4085b, 0x0037287b}}}, + {X: Field{[10]uint32{0x00f32437, 0x0353591a, 0x013dd9a0, 0x00a19a9f, 0x01dd52c2, 0x03e91f05, 0x00056d7e, 0x03af3985, 0x02f33a2c, 0x002e39db}}, Y: Field{[10]uint32{0x018651c2, 0x01068a24, 0x004a22aa, 0x03084277, 0x003076cc, 0x00986687, 0x02539ba4, 0x039e668e, 0x039d652a, 0x00111539}}}, + {X: Field{[10]uint32{0x02f1c971, 0x01d5182a, 0x002d2c56, 0x03cf8219, 0x0107b4a4, 0x022a6610, 0x02e429fb, 0x000e8b7c, 0x0304f607, 0x000db6c8}}, Y: Field{[10]uint32{0x0284b5cc, 0x010bf269, 0x03ef00f8, 0x02d02323, 0x03ecf7f9, 0x009ac6ae, 0x03859eee, 0x002a8f66, 0x028f5cc3, 0x002814db}}}, + {X: Field{[10]uint32{0x00d9a5ab, 0x01562862, 0x02314f9d, 0x0286df1a, 0x00d537c1, 0x03a6b8a9, 0x0055e529, 0x018df758, 0x011d1521, 0x00317539}}, Y: Field{[10]uint32{0x03eb3f6d, 0x036cce9b, 0x02d0de04, 0x00f12d22, 0x00aaf709, 0x0195c265, 0x0365b08c, 0x01e0b3ef, 0x02ed6a13, 0x0032107b}}}, + {X: Field{[10]uint32{0x01c4bffd, 0x0263e7dc, 0x032207cd, 0x00cd802b, 0x02b05615, 0x018d785e, 0x0379ed3f, 0x0167dbfe, 0x01c29858, 0x0014300f}}, Y: Field{[10]uint32{0x03137720, 0x01929df5, 0x02b0a68b, 0x00a22dfd, 0x025c4255, 0x01471d22, 0x01a2bd74, 0x008a6bd6, 0x0397a7ed, 0x0031a321}}}, + {X: Field{[10]uint32{0x008333ef, 0x014d1b7c, 0x01ff3364, 0x0245c74c, 0x03985606, 0x03d6ec3b, 0x010ae5dc, 0x01be68b8, 0x004b3e7e, 0x000a01b6}}, Y: Field{[10]uint32{0x007b429d, 0x026d40f2, 0x0385e54a, 0x0099090d, 0x02bf8cac, 0x00e9ad63, 0x00b5ddbf, 0x01332d33, 0x004338e3, 0x001cbc8d}}}, + {X: Field{[10]uint32{0x008790a4, 0x02254bce, 0x0353f4c5, 0x006f888a, 0x0282bb9c, 0x026103fb, 0x03e33c62, 0x02374710, 0x01dd1ef5, 0x001035c3}}, Y: Field{[10]uint32{0x030770d5, 0x00a875fd, 0x0130d96b, 0x016ce51a, 0x02e65468, 0x03d35545, 0x00d170ea, 0x0264c8ce, 0x0157b6dd, 0x0026c6a7}}}, + {X: Field{[10]uint32{0x0387c835, 0x01598222, 0x03905d01, 0x00105e60, 0x02ac7338, 0x038876a0, 0x037b193e, 0x00484ef5, 0x003204e7, 0x0022143b}}, Y: Field{[10]uint32{0x01c160e2, 0x00dfddf7, 0x00d3a7d6, 0x02cac32d, 0x02961480, 0x019701c5, 0x01f58eaa, 0x002e464b, 0x03a0a916, 0x002abffd}}}, + {X: Field{[10]uint32{0x00ad6e8b, 0x0033dc54, 0x00bd2c24, 0x02c1a8c2, 0x030de291, 0x02f92175, 0x039d4a62, 0x00a7d1df, 0x0109bd7c, 0x00152545}}, Y: Field{[10]uint32{0x03ef2722, 0x01b1ccb1, 0x02f27f13, 0x027ddf00, 0x01b1d8f7, 0x013307ea, 0x0245c764, 0x00ee7e8e, 0x007cf2a2, 0x000bf6cd}}}, + {X: Field{[10]uint32{0x037e5d44, 0x023da7eb, 0x0221facf, 0x022f990d, 0x031c3d3e, 0x0028f9f3, 0x01af1ab7, 0x03ad3ef9, 0x0355cdf8, 0x0027d7b0}}, Y: Field{[10]uint32{0x01d3c06e, 0x01bcb286, 0x00a58488, 0x017a4afe, 0x0312b8be, 0x0368712e, 0x03da94ba, 0x00d5401b, 0x015fb38b, 0x002c80f7}}}, + {X: Field{[10]uint32{0x02c0b3da, 0x00dc688b, 0x0037bbdf, 0x0388c18a, 0x028b72f0, 0x022cc9bf, 0x035e606c, 0x02794a32, 0x029c1bba, 0x00204b92}}, Y: Field{[10]uint32{0x00e222a1, 0x0347163e, 0x00f24d10, 0x01227be4, 0x015d98d2, 0x03b4004d, 0x02bd36a1, 0x02b8e718, 0x01b714a9, 0x000ae9ed}}}, + {X: Field{[10]uint32{0x023d924a, 0x0072a18a, 0x02c36c5c, 0x03d8a89b, 0x01af52c6, 0x03575ff4, 0x00ff16ec, 0x0185ad50, 0x01dbcf85, 0x003980d7}}, Y: Field{[10]uint32{0x001eec86, 0x03ed77fc, 0x0154ad6c, 0x0011a716, 0x01173d31, 0x007ca7c6, 0x0118718a, 0x03f2b1be, 0x009ef687, 0x002a514e}}}, + {X: Field{[10]uint32{0x02033446, 0x0079d49a, 0x00bc6032, 0x00a69ad4, 0x032643f1, 0x01ac8ce6, 0x01696938, 0x0351c6dc, 0x01e8d771, 0x0035e229}}, Y: Field{[10]uint32{0x017d3990, 0x026259fa, 0x030e0b25, 0x00bde7f8, 0x01c0c9a4, 0x01f646d9, 0x017fe32a, 0x01e0fbe9, 0x02225095, 0x000d2e15}}}, + {X: Field{[10]uint32{0x03c6f41c, 0x0175291d, 0x01802561, 0x00bdc1af, 0x020c8ef4, 0x03e8cad5, 0x01b5f116, 0x013e7c07, 0x03dd2937, 0x00198dcc}}, Y: Field{[10]uint32{0x0078676d, 0x03b09b74, 0x013c1394, 0x0199b895, 0x0185b59f, 0x005002de, 0x014e916a, 0x03f16458, 0x01453ae0, 0x0000d617}}}, + {X: Field{[10]uint32{0x0323ad9c, 0x02c08f6c, 0x006f0a5a, 0x00ccd585, 0x016affda, 0x0278b8f5, 0x03ad4d11, 0x00504cf6, 0x032805ae, 0x0017b1b9}}, Y: Field{[10]uint32{0x00884579, 0x008f5a70, 0x029f645c, 0x03919a37, 0x03d35a56, 0x00683f28, 0x00d609db, 0x00c078a7, 0x01bfcfc6, 0x000f7490}}}, + {X: Field{[10]uint32{0x00f8f3c5, 0x019d28cb, 0x02ceee4a, 0x03975105, 0x0087532b, 0x01165c5f, 0x03366471, 0x019a89f0, 0x00421fbb, 0x003c63f1}}, Y: Field{[10]uint32{0x0359d560, 0x008a7344, 0x00de9b4f, 0x0397dd60, 0x02026847, 0x01a1b03e, 0x03b4e836, 0x00f7c403, 0x00813bb3, 0x0034e282}}}, + {X: Field{[10]uint32{0x01f5345a, 0x0089108e, 0x01719206, 0x03fbba87, 0x017dec0d, 0x004d0919, 0x038d3362, 0x03f87c52, 0x009ed9bc, 0x002063d5}}, Y: Field{[10]uint32{0x006602ee, 0x00b237e1, 0x013688cc, 0x0170ae7d, 0x0048b24c, 0x01fd2cfe, 0x001a8e9d, 0x03d12117, 0x011fcca2, 0x000df398}}}, + {X: Field{[10]uint32{0x02dce942, 0x016c02c7, 0x02a6417a, 0x03ad9086, 0x024f4fa8, 0x00cba1e5, 0x034ee3a5, 0x00ff20a9, 0x0391f98e, 0x001d78b1}}, Y: Field{[10]uint32{0x03e5f6b4, 0x0153354d, 0x00b26f2d, 0x02f888aa, 0x007c4d37, 0x00582157, 0x02a17c71, 0x004d89a2, 0x033ba495, 0x00147c8d}}}, + {X: Field{[10]uint32{0x023954d3, 0x01a0db87, 0x011199ca, 0x01667d2e, 0x009b44de, 0x0264ddcc, 0x03f4ec1f, 0x01b4c76b, 0x01b64c0c, 0x001c47e3}}, Y: Field{[10]uint32{0x00caa4b0, 0x038f9f5c, 0x03eb5b75, 0x02e85c2e, 0x016e4dfb, 0x02cd4673, 0x0170fcf7, 0x0320b7cc, 0x01e3432a, 0x00121655}}}, + {X: Field{[10]uint32{0x033ba6a5, 0x01c6f237, 0x0003a160, 0x003f8878, 0x005216f5, 0x0232a70b, 0x022104ee, 0x0168792f, 0x00266f75, 0x0018d40b}}, Y: Field{[10]uint32{0x01bea942, 0x00a2a852, 0x028dd90f, 0x022bc7ce, 0x033954b8, 0x03f9de5d, 0x01075bda, 0x00fd2bd5, 0x01eac8fc, 0x0029720a}}}, + {X: Field{[10]uint32{0x02850872, 0x00425530, 0x0138c92d, 0x0358e49e, 0x0213f5c3, 0x00bb95f9, 0x01bb82fd, 0x0381c06d, 0x0059ccfe, 0x000a99dd}}, Y: Field{[10]uint32{0x037cbe71, 0x035717bb, 0x02053714, 0x00a3ace7, 0x00401bbf, 0x02c0f831, 0x031cbf5d, 0x02c2ca6e, 0x03985c5d, 0x003fdba5}}}, + {X: Field{[10]uint32{0x02b52cbe, 0x006c020c, 0x00d99f05, 0x03417c8c, 0x015b359b, 0x035febe5, 0x01b4a223, 0x01a69c27, 0x038778fb, 0x001a3e17}}, Y: Field{[10]uint32{0x03c92210, 0x0357cf3f, 0x0389e405, 0x0302cef7, 0x01ef9c65, 0x022d5ae1, 0x037b771f, 0x00c62713, 0x0149f4fc, 0x000370ba}}}, + {X: Field{[10]uint32{0x02b74ade, 0x02413cf4, 0x0390e1c2, 0x0321bd2e, 0x009e9883, 0x039642c9, 0x01fd8b9d, 0x0080d942, 0x01b73b54, 0x001fba75}}, Y: Field{[10]uint32{0x03343e62, 0x030c3b81, 0x03828002, 0x01aa7759, 0x03492063, 0x02497775, 0x01c6977b, 0x03c817e4, 0x0013241c, 0x00260489}}}, + {X: Field{[10]uint32{0x00aa33c8, 0x01d54f89, 0x03391381, 0x0011e7ab, 0x00102b5d, 0x03503948, 0x03680230, 0x0249c76c, 0x0090cdb1, 0x002111ec}}, Y: Field{[10]uint32{0x03c0bdb0, 0x02a3087d, 0x02a78c14, 0x0295e225, 0x03121d02, 0x00096948, 0x02eacd39, 0x01d20700, 0x03e655a2, 0x00096d0f}}}, + {X: Field{[10]uint32{0x0016a645, 0x02a2dbca, 0x03268c89, 0x00b9de8b, 0x03e45e62, 0x00317bce, 0x0151f569, 0x01439ade, 0x03b93f15, 0x000c581c}}, Y: Field{[10]uint32{0x007624be, 0x00b6cc65, 0x02caf6a5, 0x02286191, 0x03a1a6f3, 0x00c7571d, 0x0254a4db, 0x0033a30f, 0x01ac2fc7, 0x00155f29}}}, + {X: Field{[10]uint32{0x0036d6ac, 0x007addd2, 0x004ae5fc, 0x03c7264a, 0x00cdaa8e, 0x030046c6, 0x00fe9495, 0x0086b0d6, 0x012da2ef, 0x003eb88c}}, Y: Field{[10]uint32{0x030b76c7, 0x03ba358f, 0x00b8b54e, 0x0366ca6d, 0x00aa948a, 0x03f32fc2, 0x00ee7cb3, 0x03a196c3, 0x02612d99, 0x001bcefd}}}, + {X: Field{[10]uint32{0x00f839f0, 0x0339e0d5, 0x023e12f8, 0x031addbc, 0x007d4c72, 0x00c58abb, 0x01e1691d, 0x037f7c2c, 0x03ef5588, 0x000a028a}}, Y: Field{[10]uint32{0x03683f72, 0x02d21ce4, 0x01c73ca7, 0x018f3036, 0x01b2b4ba, 0x03910161, 0x03be1bc7, 0x025dd2a1, 0x011bc31a, 0x003c037b}}}, + {X: Field{[10]uint32{0x037ccdcd, 0x03dab02f, 0x01ddb86b, 0x02ca2a99, 0x034d0609, 0x031d5113, 0x037e5d28, 0x024b264a, 0x037a9b7b, 0x000fd0f9}}, Y: Field{[10]uint32{0x0072a2d6, 0x01c2a113, 0x015366cf, 0x0155401d, 0x00ac2678, 0x00ae3617, 0x02bd6b99, 0x002952f1, 0x0103bb3c, 0x002cc45e}}}, + {X: Field{[10]uint32{0x0069f2de, 0x03c58b75, 0x0229646d, 0x0037d941, 0x02953550, 0x00147843, 0x02539290, 0x03e8d21f, 0x01c8387b, 0x000e82bf}}, Y: Field{[10]uint32{0x01bb29c7, 0x0061eb32, 0x0324e8b4, 0x03df23fc, 0x01907d4c, 0x03cb294f, 0x0386dff3, 0x0242db87, 0x00c8f0f6, 0x001d5a5f}}}, + {X: Field{[10]uint32{0x0170809d, 0x03a905de, 0x01660949, 0x02aa288f, 0x002789d0, 0x01c81ca8, 0x026e7c4a, 0x01c8fa66, 0x0364209f, 0x000fe5ca}}, Y: Field{[10]uint32{0x02e47d15, 0x0293e110, 0x02342b32, 0x00fb98fc, 0x039a7c05, 0x0280b17f, 0x0026e769, 0x03f672bf, 0x00287a6b, 0x001e9209}}}, + {X: Field{[10]uint32{0x0089b0b4, 0x036bd2ba, 0x004df0e8, 0x0175c7d0, 0x01c21ff8, 0x02e138f4, 0x01f1ecc4, 0x00d93447, 0x000ffa73, 0x00024e2b}}, Y: Field{[10]uint32{0x01be0312, 0x02e9d291, 0x0204a63f, 0x0255932d, 0x004e9689, 0x03681a84, 0x02e8820e, 0x02ce0437, 0x02d3d526, 0x00287027}}}, + {X: Field{[10]uint32{0x00e28bcc, 0x007b22bd, 0x01071831, 0x016993a6, 0x01631c9b, 0x02f4d15d, 0x01eb9ed3, 0x039d309d, 0x01752993, 0x0014d57b}}, Y: Field{[10]uint32{0x006ad088, 0x01c94f3f, 0x01a40ddf, 0x011c0c24, 0x01c81885, 0x0003c614, 0x010279f6, 0x02aabeb0, 0x007d680a, 0x002eec40}}}, + {X: Field{[10]uint32{0x03f277b7, 0x0224c47e, 0x024574e9, 0x01bead8b, 0x02b03369, 0x010d0191, 0x03bda46a, 0x01db1b60, 0x02ed70ba, 0x0022038c}}, Y: Field{[10]uint32{0x020410bc, 0x0331ea1b, 0x00e7c623, 0x02bccc39, 0x0308dcda, 0x01a59a1a, 0x02763d5f, 0x03578901, 0x02cb8d10, 0x001dbfac}}}, + {X: Field{[10]uint32{0x00f11aa8, 0x03447c42, 0x02beebd6, 0x000f6ab5, 0x00857ac5, 0x012dd3a7, 0x00beec11, 0x016da0ae, 0x00aaa275, 0x0036bdde}}, Y: Field{[10]uint32{0x00a5f428, 0x0260bba6, 0x01c88fd4, 0x03c24a60, 0x02e38325, 0x01bb5a5d, 0x00f3024d, 0x00c05e7c, 0x0062710d, 0x0007b617}}}, + {X: Field{[10]uint32{0x03b474dd, 0x01eaf6a3, 0x004641cf, 0x01690b23, 0x009a60b9, 0x00d4cfe0, 0x01c0a4ff, 0x00f49f46, 0x01dd7563, 0x003970fa}}, Y: Field{[10]uint32{0x01fb0dfc, 0x01ec9063, 0x02afb251, 0x03f858cc, 0x0371b7b7, 0x03c82f27, 0x03036990, 0x0021faac, 0x02f65c5c, 0x003c795a}}}, + {X: Field{[10]uint32{0x00096973, 0x01a0df70, 0x03afdd11, 0x00302335, 0x016859c2, 0x03ec9d32, 0x03f3bf2f, 0x0361c25d, 0x0334ecdf, 0x0017500f}}, Y: Field{[10]uint32{0x00f6aeb1, 0x004a4e76, 0x01e4a5ba, 0x00d110f9, 0x022335c3, 0x005d935c, 0x001ba707, 0x01b3165e, 0x007c7024, 0x001ad6f9}}}, + {X: Field{[10]uint32{0x02246b12, 0x019162d7, 0x01f81389, 0x00d3cf95, 0x03993bf0, 0x02642ac9, 0x01b4caac, 0x007dc6cd, 0x013c2551, 0x00142e81}}, Y: Field{[10]uint32{0x02291f63, 0x03e8aefc, 0x025b88a7, 0x028af32f, 0x009f8a22, 0x0018f6ac, 0x02903993, 0x00c5c19d, 0x02455c7a, 0x0034bc4a}}}, + {X: Field{[10]uint32{0x026629cf, 0x02fc0bc1, 0x03a00b38, 0x0088e670, 0x039f2906, 0x00d961e4, 0x03898f0b, 0x02a7b681, 0x00eaee4a, 0x000e16a0}}, Y: Field{[10]uint32{0x03efcd50, 0x029a5d02, 0x01eb16e6, 0x00091a64, 0x038cfe49, 0x02a42e3e, 0x010806d6, 0x031b975d, 0x020bd72a, 0x002950cc}}}, + {X: Field{[10]uint32{0x03dedbef, 0x03866582, 0x00a9b276, 0x02948d88, 0x02eaa669, 0x03501463, 0x029de6c3, 0x0378e1b9, 0x00b9904e, 0x00026184}}, Y: Field{[10]uint32{0x0206b581, 0x03436522, 0x03315c4a, 0x034d8760, 0x03b88f72, 0x016d7fe3, 0x00d0c892, 0x02840343, 0x01a2eb6a, 0x00241dd5}}}, + {X: Field{[10]uint32{0x011b7fe8, 0x01e66646, 0x0329ed45, 0x016d1d53, 0x0219ae21, 0x032efda8, 0x007b0d3d, 0x0034ef7f, 0x0007d964, 0x0020fc42}}, Y: Field{[10]uint32{0x03293364, 0x029be681, 0x035e2489, 0x012bef0a, 0x02fe719e, 0x002778b1, 0x00e69c65, 0x035b4a18, 0x031b5095, 0x003d8b48}}}, + {X: Field{[10]uint32{0x03b1c246, 0x03285f53, 0x0059e74d, 0x03f19ed8, 0x01e3f287, 0x009d67f4, 0x002b0285, 0x00d718be, 0x02939273, 0x00147488}}, Y: Field{[10]uint32{0x0063745d, 0x008677db, 0x0187be05, 0x0374c4a1, 0x02f7184b, 0x00f22c49, 0x00b909e2, 0x016d3462, 0x03a3b514, 0x002e6e00}}}, + {X: Field{[10]uint32{0x03465006, 0x0277bc53, 0x03c70368, 0x01316827, 0x013e8cc2, 0x009b0df1, 0x02919458, 0x00f50f49, 0x0342e578, 0x002f9a98}}, Y: Field{[10]uint32{0x007ef000, 0x0236e89f, 0x0004c200, 0x012c70d8, 0x0081bc7e, 0x00f773f6, 0x01efc141, 0x0149e76a, 0x00fc3fc1, 0x002071c6}}}, + {X: Field{[10]uint32{0x00790036, 0x023c89af, 0x02e81a4e, 0x03642a0a, 0x00448681, 0x022c9c1c, 0x03b043b5, 0x004a1292, 0x00d9c36f, 0x003c84cd}}, Y: Field{[10]uint32{0x0016eff2, 0x03d1d4e2, 0x0308e428, 0x02e0b3c9, 0x03f5f143, 0x00878a4e, 0x03dcc1eb, 0x03f4c114, 0x00513a87, 0x00000112}}}, + {X: Field{[10]uint32{0x01730508, 0x03abebb2, 0x022cb419, 0x00ca494f, 0x020932a8, 0x01cef49f, 0x00cb1f1b, 0x0118fe04, 0x00e5af34, 0x00055631}}, Y: Field{[10]uint32{0x00c917f8, 0x007f937d, 0x0149e2dd, 0x00dd0a28, 0x006921bb, 0x029d4217, 0x023f3f41, 0x0104c8d9, 0x025025e1, 0x0032e331}}}, + {X: Field{[10]uint32{0x025d71e2, 0x02428699, 0x02e642e0, 0x03b6641c, 0x01b575a4, 0x02238e09, 0x00d3596a, 0x0083606d, 0x032c8f60, 0x000614e8}}, Y: Field{[10]uint32{0x003a8367, 0x03b660a8, 0x005e89e3, 0x0222ca50, 0x03eaf268, 0x006187ff, 0x024aedbb, 0x02ba838d, 0x031cb170, 0x002368a8}}}, + {X: Field{[10]uint32{0x00cd323d, 0x00d4e233, 0x0190b8cc, 0x02d0ef75, 0x002da679, 0x03ebea77, 0x01f60dbc, 0x00efb087, 0x00bcf0f0, 0x003bd617}}, Y: Field{[10]uint32{0x00c2f296, 0x03db601e, 0x03acdd93, 0x02e876a9, 0x01f02ccd, 0x00a04e41, 0x0192e078, 0x007db4e1, 0x0203aff9, 0x000af178}}}, + {X: Field{[10]uint32{0x02fd5c14, 0x01da022c, 0x03471a14, 0x01938344, 0x031fa458, 0x0092cf1e, 0x03d99714, 0x01a3aefb, 0x0237e1ea, 0x000fd30b}}, Y: Field{[10]uint32{0x020eeaa5, 0x038da91f, 0x005e330d, 0x005ed50e, 0x01051b9c, 0x03cca6d4, 0x02665b04, 0x00ecfeaa, 0x00ab3d28, 0x0019e264}}}, + {X: Field{[10]uint32{0x0021693a, 0x02d04679, 0x0133b621, 0x004082d5, 0x0059fc9b, 0x00eafcab, 0x01cb20ab, 0x02b12860, 0x038ad557, 0x000ac006}}, Y: Field{[10]uint32{0x02c6b94a, 0x00a5c8e0, 0x006758fa, 0x0234b283, 0x01310a32, 0x0122c949, 0x026f8c30, 0x0276c5cf, 0x0007f8d1, 0x003f93cc}}}, + {X: Field{[10]uint32{0x012cd229, 0x016f24d1, 0x00bb98d0, 0x009d62e8, 0x0379c90d, 0x007ec328, 0x02b5b108, 0x0023fe37, 0x01dd7d5a, 0x00196274}}, Y: Field{[10]uint32{0x028149a9, 0x01e45966, 0x007faa11, 0x016c64af, 0x01fdc547, 0x038003f5, 0x008dca23, 0x00a64d2f, 0x0080ed84, 0x00209025}}}, + {X: Field{[10]uint32{0x03950a6f, 0x027c3d49, 0x028a83b8, 0x03968e8e, 0x00ab4377, 0x01da9aa4, 0x00553162, 0x020d6e3a, 0x010df5d3, 0x00308cff}}, Y: Field{[10]uint32{0x00f6f3e5, 0x0088e4ad, 0x0384f494, 0x00c61ae2, 0x02314680, 0x016bbf81, 0x00fbac08, 0x02690c4b, 0x00a8775a, 0x0023fa38}}}, + {X: Field{[10]uint32{0x024cc14a, 0x02c4f41d, 0x036e7b65, 0x003e27db, 0x02a38867, 0x01d68afe, 0x02e3f57f, 0x023bbb5b, 0x02852a84, 0x00209cc6}}, Y: Field{[10]uint32{0x01117583, 0x0039334e, 0x004c1208, 0x026e29d4, 0x011ffacc, 0x0238d288, 0x03096883, 0x017a1fc6, 0x009a307c, 0x00300314}}}, + {X: Field{[10]uint32{0x02d2a50d, 0x03a9b401, 0x0097707e, 0x02d54fab, 0x00c9dde3, 0x008a50bb, 0x02b51501, 0x02c6c16a, 0x03a0e5d8, 0x003884e1}}, Y: Field{[10]uint32{0x01b0ff83, 0x02043723, 0x00349bb2, 0x02564cd5, 0x000fc81c, 0x012b177f, 0x003c9207, 0x024f7c0d, 0x0109f90d, 0x0031d379}}}, + {X: Field{[10]uint32{0x039fdc25, 0x03269256, 0x0236a00b, 0x0305b410, 0x0292780f, 0x0358d6e3, 0x035c3414, 0x010f6716, 0x01fd2fa4, 0x0006021c}}, Y: Field{[10]uint32{0x0314d120, 0x021400ea, 0x00146599, 0x00db89de, 0x021f25e6, 0x02f80971, 0x02014a8b, 0x03cde908, 0x01506008, 0x00359b1c}}}, + {X: Field{[10]uint32{0x00cb2c42, 0x034c382f, 0x03ab4b44, 0x024d360f, 0x00d64dff, 0x00455ae4, 0x0329a9a3, 0x00aa307b, 0x027eed11, 0x002d6a77}}, Y: Field{[10]uint32{0x0139db38, 0x029c7d0d, 0x03d91130, 0x033ec3fc, 0x0130315c, 0x03be15c8, 0x00afe660, 0x00febcec, 0x0279a81c, 0x00159d69}}}, + {X: Field{[10]uint32{0x00aee7d6, 0x00047f40, 0x03b4d40d, 0x01ec01b4, 0x018ce569, 0x0016973e, 0x02baf78c, 0x039437d0, 0x007261f1, 0x0026b339}}, Y: Field{[10]uint32{0x0107a05c, 0x0223fae5, 0x01e0a95f, 0x00c6b74a, 0x026cb8c8, 0x00c969e7, 0x03568304, 0x0131a795, 0x013c4046, 0x003edf10}}}, + {X: Field{[10]uint32{0x03574e5c, 0x03303ae2, 0x01100a02, 0x038d9f61, 0x01916796, 0x0064f7bb, 0x007bc4b2, 0x01dc48bf, 0x039b7bef, 0x003e02ad}}, Y: Field{[10]uint32{0x015c8f6d, 0x00067747, 0x022aac77, 0x02142d74, 0x003a1ac5, 0x01b372b3, 0x035834ed, 0x022c9766, 0x003f842d, 0x0031b534}}}, + {X: Field{[10]uint32{0x009366a1, 0x0287e62f, 0x01aeefae, 0x0123b058, 0x0125d814, 0x0182c936, 0x005845ef, 0x008c30c0, 0x0355cdb4, 0x002d0c78}}, Y: Field{[10]uint32{0x0241c1cd, 0x0345db76, 0x0390ef69, 0x0395731c, 0x017aebac, 0x014adb9a, 0x02ddb985, 0x002850e0, 0x01d4ae23, 0x003af36b}}}, + {X: Field{[10]uint32{0x0275f1fb, 0x01aa001b, 0x009c593f, 0x037db082, 0x02efe56e, 0x01b72939, 0x02b686f4, 0x00e98d47, 0x039e08c9, 0x001ea982}}, Y: Field{[10]uint32{0x03a0347e, 0x03c03bd7, 0x00c98328, 0x0002d01a, 0x00cb4248, 0x038cf9a5, 0x013e3892, 0x002fc781, 0x01e21770, 0x00001320}}}, + {X: Field{[10]uint32{0x0286b30b, 0x039d8404, 0x0296ba72, 0x03bc9cbd, 0x01d304fb, 0x028ded37, 0x001d1a4d, 0x0090edd1, 0x010b3aa4, 0x0006a209}}, Y: Field{[10]uint32{0x01b7a473, 0x017d2ada, 0x033fe3fd, 0x0163d166, 0x02b33b76, 0x0015aa6f, 0x02d8cb0f, 0x02056f81, 0x010557d3, 0x001896e7}}}, + {X: Field{[10]uint32{0x022b57c7, 0x03b6f0ea, 0x0196682d, 0x011c7aea, 0x0106c4ca, 0x02d773b8, 0x034db23c, 0x015628b4, 0x02eb49fd, 0x0016d493}}, Y: Field{[10]uint32{0x038ae50c, 0x014a41ae, 0x02d5dbf2, 0x009caf28, 0x0025c8b2, 0x01b80af7, 0x01b163d5, 0x033875cd, 0x009756b7, 0x000b570b}}}, + {X: Field{[10]uint32{0x0276d2c5, 0x0016139d, 0x007d1892, 0x03610cef, 0x00191550, 0x03dd5826, 0x00cb8b10, 0x02f9e749, 0x03776d9f, 0x002b9839}}, Y: Field{[10]uint32{0x018d7784, 0x0249bec5, 0x0311ffff, 0x0350d1a8, 0x00b76c36, 0x03bf219e, 0x011be83e, 0x0091cb28, 0x01867377, 0x0010c3fa}}}, + {X: Field{[10]uint32{0x02efb9d4, 0x03e04a98, 0x03105ab4, 0x00c2710b, 0x0353e8d7, 0x017739be, 0x020b081a, 0x03d9a351, 0x023d9e29, 0x000c8e97}}, Y: Field{[10]uint32{0x004776ba, 0x0295afa0, 0x01830c2f, 0x02911d98, 0x03da6216, 0x02d7aa6b, 0x0256d1d3, 0x00fd0859, 0x03b36948, 0x0000ad15}}}, + {X: Field{[10]uint32{0x027c1c9d, 0x00d9445e, 0x022a2a8b, 0x0125e965, 0x02b3db86, 0x01a50a6c, 0x00e612ed, 0x0154b219, 0x01b6591e, 0x002b346d}}, Y: Field{[10]uint32{0x026e88b8, 0x01886423, 0x00fa3265, 0x00947af1, 0x0067544d, 0x009498d2, 0x02ba7729, 0x01a40249, 0x03ff056f, 0x003984c7}}}, + {X: Field{[10]uint32{0x005b36f4, 0x02fdd3de, 0x02cf114e, 0x018211d0, 0x02f2e61e, 0x01549233, 0x026286b1, 0x014b80a8, 0x00708178, 0x001ad38b}}, Y: Field{[10]uint32{0x01b893df, 0x03a19139, 0x01a1a1e4, 0x03f359b9, 0x037398f7, 0x007354a5, 0x007130d0, 0x026f7080, 0x011c7a52, 0x00210025}}}, + {X: Field{[10]uint32{0x0084ab31, 0x01e5a7e0, 0x017c7151, 0x017e02a0, 0x004e6a37, 0x0230d1d1, 0x004cb914, 0x0029187d, 0x0327d67b, 0x0030acb1}}, Y: Field{[10]uint32{0x036d5f59, 0x0207ebb0, 0x01718824, 0x03522414, 0x03a52c47, 0x030a07f4, 0x00aa2519, 0x01ec3e66, 0x0359ebf3, 0x003fb590}}}, + {X: Field{[10]uint32{0x004f202e, 0x01f286e4, 0x02f71220, 0x008af683, 0x022ec564, 0x01e283e1, 0x014609d9, 0x02f653de, 0x02dab5b2, 0x000ce17b}}, Y: Field{[10]uint32{0x003d7443, 0x01eedc58, 0x0074b490, 0x0219d1a9, 0x01b12a21, 0x006a7d10, 0x01975aa3, 0x02a3b871, 0x02af1db8, 0x000a0234}}}, + {X: Field{[10]uint32{0x00c803f2, 0x006701c5, 0x02a82335, 0x03c35314, 0x02edce15, 0x03ead1e1, 0x030c2923, 0x010dee11, 0x00d7f2cb, 0x002003db}}, Y: Field{[10]uint32{0x00a37056, 0x0054bd35, 0x03734ad0, 0x0233b0e5, 0x0023e0a8, 0x02c980a3, 0x0206ca59, 0x006a8337, 0x023e0ad1, 0x002607cb}}}, + {X: Field{[10]uint32{0x02aa2f3b, 0x0071803b, 0x01f32474, 0x02dd853c, 0x02ebfaf4, 0x01eedb2a, 0x00103c6d, 0x00a1bf4f, 0x03ff3a9f, 0x001cea82}}, Y: Field{[10]uint32{0x00c6f7b1, 0x03c76946, 0x02846701, 0x00f13f79, 0x00a54a2e, 0x0362f39f, 0x009fe73d, 0x02e60f2e, 0x012981a9, 0x0000c2f1}}}, + {X: Field{[10]uint32{0x0178f2c5, 0x005a7ee8, 0x029ca789, 0x02626f3c, 0x03863804, 0x00f9d84b, 0x03fdfa9c, 0x004fda02, 0x00e6ab5c, 0x0024a03f}}, Y: Field{[10]uint32{0x00ae36bb, 0x013df373, 0x03b233e7, 0x02f76c28, 0x03aeb6a7, 0x03dfd6ed, 0x01397b18, 0x00b8ecbf, 0x00dbc5bc, 0x0012e5bb}}}, + {X: Field{[10]uint32{0x026e03ca, 0x02fda769, 0x00b8107d, 0x020397b3, 0x029f4387, 0x01c344ba, 0x009be162, 0x02e7bed6, 0x004bbb50, 0x001c8157}}, Y: Field{[10]uint32{0x036bc7cb, 0x0169b183, 0x023f9891, 0x0016a87f, 0x01985ad7, 0x006a188f, 0x01746935, 0x01df7561, 0x017fc30a, 0x002baa89}}}, + {X: Field{[10]uint32{0x03c1879f, 0x017411f9, 0x008e0308, 0x021c4aaf, 0x000eb8e8, 0x03ea09f3, 0x02687c73, 0x038f6c2e, 0x03d0c771, 0x003c3cf3}}, Y: Field{[10]uint32{0x00936b33, 0x026054e9, 0x02e20eff, 0x01733db8, 0x031bf8aa, 0x013f8428, 0x030c4b32, 0x013153e3, 0x027d8b74, 0x000b184b}}}, + {X: Field{[10]uint32{0x02f5dcfa, 0x01ebe6f9, 0x033ec67a, 0x01df979e, 0x00d8b611, 0x0290ddab, 0x02c8fe8e, 0x03c9c1be, 0x036570b0, 0x0025f1e2}}, Y: Field{[10]uint32{0x03e14c3d, 0x027563ce, 0x00daa127, 0x026cd1f1, 0x01133460, 0x00f2d650, 0x03da765c, 0x016162a5, 0x010cfea9, 0x0006bae5}}}, + {X: Field{[10]uint32{0x02509e69, 0x0327bfa7, 0x03eeb9b5, 0x03d4ce9c, 0x024b7908, 0x022c1dfe, 0x013a9de4, 0x01bf0f52, 0x021e967e, 0x002ce7fe}}, Y: Field{[10]uint32{0x0265dc05, 0x01039d7a, 0x01e16f3b, 0x00bc4486, 0x03f76c30, 0x007205f8, 0x0218c007, 0x01cb3035, 0x015181ac, 0x003d57ce}}}, + {X: Field{[10]uint32{0x00e7baaa, 0x007198fe, 0x03fd1735, 0x01ca2c79, 0x0201b2a9, 0x0246c582, 0x003fcc4d, 0x01f1346f, 0x037a5ff2, 0x000566e7}}, Y: Field{[10]uint32{0x00c4360a, 0x0202df29, 0x02697a83, 0x01f55e30, 0x015e6012, 0x01e27f50, 0x021c7f0d, 0x013febae, 0x036d86c5, 0x002c2abb}}}, + {X: Field{[10]uint32{0x0385e44c, 0x027dfcf2, 0x021aaf72, 0x02acf04d, 0x016dff76, 0x0189bf11, 0x0107a62b, 0x012c5b1f, 0x03d18d4a, 0x00096043}}, Y: Field{[10]uint32{0x036a2d9b, 0x0348864b, 0x00f442fc, 0x017ccd5e, 0x009252dd, 0x02d2e2c0, 0x0295526a, 0x02f5c2b4, 0x03257794, 0x003d0148}}}, + {X: Field{[10]uint32{0x033352b2, 0x024d37d1, 0x0241d6e1, 0x02440b69, 0x01eab362, 0x0241d620, 0x019864c0, 0x028ca312, 0x024d5860, 0x0009f882}}, Y: Field{[10]uint32{0x03b45203, 0x02e52640, 0x02a7b65c, 0x00ac03a1, 0x03d3822a, 0x000f0469, 0x030b4905, 0x02d43f89, 0x00f2888c, 0x00305663}}}, + {X: Field{[10]uint32{0x001448a2, 0x03cef44d, 0x032dd685, 0x01a13651, 0x006d684a, 0x02885ed8, 0x008f465b, 0x0253999c, 0x014e517a, 0x00120fd1}}, Y: Field{[10]uint32{0x039ad11f, 0x01a2985f, 0x02aa82ba, 0x01bfc308, 0x01d338d0, 0x01772dc3, 0x0123346c, 0x0268d917, 0x0144d93b, 0x00304ecc}}}, + {X: Field{[10]uint32{0x0204e6e5, 0x002967af, 0x03266e2e, 0x023e0e93, 0x0267ef06, 0x03054cbc, 0x024c9a30, 0x012a996b, 0x02f63173, 0x0013d1ec}}, Y: Field{[10]uint32{0x00d99d2b, 0x00d35996, 0x03a27c01, 0x00bb7551, 0x01682439, 0x03b6adcb, 0x033ebcf3, 0x0272d174, 0x034cf11b, 0x00163c7c}}}, + {X: Field{[10]uint32{0x0397db07, 0x02d8d05d, 0x0057424f, 0x00ac4711, 0x00d6f42a, 0x03a04330, 0x031774b8, 0x033a12d3, 0x037e0835, 0x002a9e3a}}, Y: Field{[10]uint32{0x005e743b, 0x0124fa86, 0x0311b0cf, 0x018c85c4, 0x03ee9ffc, 0x00fdcb8c, 0x00c7541d, 0x0351f167, 0x0139d957, 0x000e5900}}}, + {X: Field{[10]uint32{0x00033d49, 0x02c33a33, 0x0194417e, 0x03daa97d, 0x0031a3f1, 0x00dd602c, 0x01c0655c, 0x00158047, 0x018583c0, 0x00349662}}, Y: Field{[10]uint32{0x02f24b08, 0x00744696, 0x02d8bc84, 0x00193413, 0x02b6a830, 0x036af85c, 0x014622a2, 0x02062e8a, 0x01739de8, 0x000d9072}}}, + {X: Field{[10]uint32{0x01e26634, 0x004a9215, 0x03faf487, 0x017567df, 0x03f2d2b8, 0x010d641e, 0x0338f877, 0x02dd3d5b, 0x03a0eccc, 0x0013c08e}}, Y: Field{[10]uint32{0x01a6a456, 0x020a57ec, 0x02e95bc4, 0x012e1a9b, 0x03a2ae09, 0x024edb0f, 0x03c35ea3, 0x014496e3, 0x0033b15d, 0x003e03bf}}}, + {X: Field{[10]uint32{0x023a1589, 0x03df8b5d, 0x003c670b, 0x00a3df05, 0x028eda41, 0x0056b22f, 0x03e13cfa, 0x03425def, 0x008b48ab, 0x002721bc}}, Y: Field{[10]uint32{0x01c2df45, 0x014bc570, 0x00a171a1, 0x036b211a, 0x0217d4ee, 0x00a7536c, 0x02ff453d, 0x032e20e7, 0x03870e9e, 0x00045447}}}, + {X: Field{[10]uint32{0x02137576, 0x00362e3b, 0x0120e913, 0x01dda760, 0x01c5e6ac, 0x0355f89a, 0x03affcec, 0x017323ff, 0x018b72e9, 0x000e021c}}, Y: Field{[10]uint32{0x01ea728f, 0x0227f4cc, 0x00ceedb7, 0x0068278f, 0x00c614a6, 0x03b62d63, 0x02e59cf8, 0x02dc8936, 0x01ebcf5e, 0x003d03af}}}, + {X: Field{[10]uint32{0x00dda3df, 0x03e9d4bf, 0x03b4255d, 0x011d71f7, 0x00eb349f, 0x03b68091, 0x01c80a13, 0x024bf01c, 0x015e3994, 0x00237bf4}}, Y: Field{[10]uint32{0x03f7a771, 0x01317d9e, 0x00c7ff9e, 0x033b8ec3, 0x01a01786, 0x03f0e58c, 0x03b0d19f, 0x03430ed3, 0x03784353, 0x0034f7e9}}}, + {X: Field{[10]uint32{0x0024bf8a, 0x02a2a9f7, 0x03d466ea, 0x03430c92, 0x03ed99f9, 0x0263eb79, 0x00052487, 0x0341f8ea, 0x01425ac1, 0x00236b23}}, Y: Field{[10]uint32{0x02ef8009, 0x0042dcaa, 0x00087d64, 0x0098834a, 0x0262e9d9, 0x00d5375b, 0x032f097d, 0x00d3f362, 0x01b79232, 0x003c8cbf}}}, + {X: Field{[10]uint32{0x03a90e1b, 0x032b011f, 0x01d35329, 0x03f1be04, 0x01e45d26, 0x0090f0f4, 0x03178b4f, 0x039b78a1, 0x0043f3bc, 0x0021f399}}, Y: Field{[10]uint32{0x01724138, 0x00cfa54e, 0x02875fac, 0x03523dc3, 0x000f0af0, 0x01fb7cec, 0x002799d7, 0x012ad316, 0x00196241, 0x0002a25c}}}, + {X: Field{[10]uint32{0x00fdf08d, 0x0259b1aa, 0x02f3bd22, 0x03201d06, 0x02124a21, 0x02dddd6e, 0x0360a3f8, 0x02ddfa7a, 0x03fabf2f, 0x002ffb9a}}, Y: Field{[10]uint32{0x03ba76f7, 0x0339757e, 0x03fa69c9, 0x03a102e0, 0x02cd2e8b, 0x00bf20fb, 0x026f2155, 0x012fc5fc, 0x0399541e, 0x000a6870}}}, + {X: Field{[10]uint32{0x00c2bec1, 0x026bcad7, 0x0341daef, 0x02be0e06, 0x00044873, 0x02bfdcae, 0x001a5537, 0x02a0008d, 0x01a5b553, 0x00030c3f}}, Y: Field{[10]uint32{0x039fea6d, 0x01054ed0, 0x0162e7d1, 0x01b99775, 0x028a96f7, 0x0338d011, 0x004aafc0, 0x023593e9, 0x02b587d8, 0x001738fa}}}, + {X: Field{[10]uint32{0x0000ed97, 0x0375360d, 0x030a00f1, 0x001dca35, 0x014d9226, 0x006d067d, 0x01cadbfe, 0x00675c31, 0x01fd5941, 0x00179c54}}, Y: Field{[10]uint32{0x02108917, 0x03654c7a, 0x0020d73b, 0x0259895e, 0x024c64ec, 0x032f75d7, 0x0136816e, 0x0129f58b, 0x02a5a51d, 0x001aa33b}}}, + {X: Field{[10]uint32{0x0086100b, 0x01a436fb, 0x007c04bf, 0x01ead435, 0x03e974af, 0x01494896, 0x03d06208, 0x0357c3cc, 0x030a66cd, 0x002a723a}}, Y: Field{[10]uint32{0x038e0a2f, 0x02786ca2, 0x02bf329c, 0x0223cebb, 0x00a4371e, 0x03ca4335, 0x02a24bcf, 0x00c7cec0, 0x039d8987, 0x003c8272}}}, + {X: Field{[10]uint32{0x03a2e439, 0x021446b8, 0x0253b946, 0x01cd7ebd, 0x01cb8043, 0x00bb9848, 0x01b16595, 0x0245411c, 0x01d79366, 0x0025579e}}, Y: Field{[10]uint32{0x03930d06, 0x001c02f3, 0x028261de, 0x037c4839, 0x002e82cd, 0x0295b1e8, 0x02a3bcc1, 0x019e8043, 0x03e32a9b, 0x001a36ab}}}, + {X: Field{[10]uint32{0x03a34a71, 0x00ad0277, 0x005fac19, 0x0014f21a, 0x02bef248, 0x02edf875, 0x03bc70b3, 0x0331a96c, 0x0293d3c1, 0x0008b49c}}, Y: Field{[10]uint32{0x039b3357, 0x020dfa58, 0x02389e6c, 0x037ece77, 0x014d5d76, 0x01036ed6, 0x004e42e7, 0x0156dd4f, 0x00e34fc8, 0x0031d2d1}}}, + {X: Field{[10]uint32{0x0137abc0, 0x013a3108, 0x03835b2f, 0x022ce80d, 0x0370d46e, 0x0121ebaf, 0x01d91f71, 0x005d9d3a, 0x02cef74b, 0x003467f3}}, Y: Field{[10]uint32{0x02db7580, 0x02b6db12, 0x00a83fe9, 0x0397cd97, 0x0334ca9f, 0x025332e8, 0x02224f74, 0x002604f3, 0x03f63dca, 0x0016e412}}}, + {X: Field{[10]uint32{0x02336899, 0x00df2470, 0x0073f2a4, 0x01b1492a, 0x001723c3, 0x02f1a9aa, 0x02091136, 0x01200359, 0x022aadc7, 0x001aa85c}}, Y: Field{[10]uint32{0x02319d07, 0x03c7b8b5, 0x03c369a4, 0x0367b599, 0x023d9709, 0x00855273, 0x01640583, 0x016d318c, 0x004cdf49, 0x0023a5c0}}}, + {X: Field{[10]uint32{0x00ea6efc, 0x01be146c, 0x01052f73, 0x01ac1c83, 0x02b16e3b, 0x025ab461, 0x0107262e, 0x0348804b, 0x02239ee4, 0x001e6f4d}}, Y: Field{[10]uint32{0x0018729e, 0x03d36fbd, 0x000fe42d, 0x01beb5ae, 0x036a3116, 0x031f24b0, 0x00972c71, 0x03369077, 0x03dbf568, 0x000292d0}}}, + {X: Field{[10]uint32{0x00f16ce9, 0x00460be9, 0x028c9e40, 0x00800500, 0x03a1c7d8, 0x01a43033, 0x0183c5d3, 0x00ded59d, 0x032c1463, 0x002d780a}}, Y: Field{[10]uint32{0x0069e0b2, 0x0389e564, 0x026fb938, 0x0299c634, 0x021a819b, 0x003a2850, 0x013516fa, 0x02a9c39e, 0x02be3fac, 0x0012e591}}}, + {X: Field{[10]uint32{0x03a7403a, 0x02bdd0c1, 0x0057dd05, 0x02152ce2, 0x0114a2b6, 0x021fde43, 0x0044d643, 0x03ad3419, 0x0271de2d, 0x00238cf8}}, Y: Field{[10]uint32{0x01ecc429, 0x00f5b8a2, 0x0171fc91, 0x03fc3fa7, 0x00e08d73, 0x00f833ac, 0x02011bd0, 0x028773aa, 0x03a2c7a4, 0x00360b54}}}, + {X: Field{[10]uint32{0x0019c2f5, 0x0164f293, 0x0036b074, 0x03d8bd7b, 0x020abd6e, 0x03b68df6, 0x0369b73f, 0x029e0395, 0x004277db, 0x0013ffbd}}, Y: Field{[10]uint32{0x0392f854, 0x021a04f4, 0x01d694a1, 0x02f59efe, 0x03796755, 0x02ec27e6, 0x036162cf, 0x0282ae7b, 0x0057378a, 0x002a28c2}}}, + {X: Field{[10]uint32{0x01f57368, 0x00dc49ba, 0x02bdefb7, 0x035bb2e9, 0x03f7e42e, 0x006e491b, 0x00b03341, 0x001722d6, 0x012a6338, 0x0021e2d9}}, Y: Field{[10]uint32{0x02e85836, 0x007bf055, 0x0020ad54, 0x004749d2, 0x02148c97, 0x01290750, 0x02e71f0b, 0x0056334e, 0x033ed691, 0x000b3efa}}}, + {X: Field{[10]uint32{0x01eb415e, 0x002c41a7, 0x02783dd4, 0x00bc6c20, 0x01a0aa0b, 0x01e6b2f0, 0x0399ee6a, 0x02bb451a, 0x0215aee2, 0x003be69a}}, Y: Field{[10]uint32{0x01e97240, 0x02f42392, 0x00d826d9, 0x03686715, 0x02cffd9c, 0x02d271ea, 0x03c44802, 0x00d45286, 0x02ba7fd5, 0x00264278}}}, + {X: Field{[10]uint32{0x0245bf37, 0x02b081c1, 0x008fcdcf, 0x00630b55, 0x02c7814e, 0x036c33a3, 0x00358855, 0x0348c182, 0x00d41551, 0x00357092}}, Y: Field{[10]uint32{0x01a36f05, 0x02013045, 0x029cb3c3, 0x017e0b6a, 0x003cbeb4, 0x0053542a, 0x0378c88c, 0x007e0a32, 0x009e7bf0, 0x003e717a}}}, + {X: Field{[10]uint32{0x03227d1a, 0x016467d5, 0x00289f2c, 0x003c25bb, 0x026dad0c, 0x005155a0, 0x036e6148, 0x0055f659, 0x01cca526, 0x003b6fc9}}, Y: Field{[10]uint32{0x0299554d, 0x036b80bb, 0x034c7409, 0x007bdb95, 0x03d0ca70, 0x0034dc95, 0x0033c137, 0x0191592a, 0x0088be05, 0x0001a115}}}, + {X: Field{[10]uint32{0x00cf09bb, 0x039ba953, 0x0378b26f, 0x02c37f3c, 0x0314be80, 0x033e4a1a, 0x021f5cf0, 0x038dd894, 0x026fb8e2, 0x00170480}}, Y: Field{[10]uint32{0x02daa596, 0x0299d619, 0x010471bf, 0x014102ea, 0x0094b81a, 0x02072691, 0x010154d5, 0x0194a1e5, 0x01ef4e2c, 0x000f6635}}}, + {X: Field{[10]uint32{0x008e2d6d, 0x0134acb9, 0x030a0b43, 0x0352bce5, 0x03ae728b, 0x019cce31, 0x00dcef7f, 0x00157585, 0x02435056, 0x00309f98}}, Y: Field{[10]uint32{0x018525c9, 0x004dea9f, 0x033ced82, 0x025e158c, 0x029e372d, 0x0334a315, 0x00839eeb, 0x03e51bde, 0x02fc703c, 0x001dad61}}}, + {X: Field{[10]uint32{0x01abaf8a, 0x036bb794, 0x027e7b96, 0x00feac52, 0x007f6760, 0x0263b981, 0x0024e8af, 0x0061ad35, 0x03045140, 0x0028a631}}, Y: Field{[10]uint32{0x00108fda, 0x0358e35a, 0x031085d7, 0x027ae9cb, 0x00463b77, 0x01283087, 0x01b430db, 0x0064d529, 0x01582a1b, 0x001371c0}}}, + {X: Field{[10]uint32{0x012013c4, 0x00bccf86, 0x02f073a6, 0x005223ae, 0x02fdf400, 0x0125a8cc, 0x0204fb19, 0x03a2c2b0, 0x015782da, 0x00387f3a}}, Y: Field{[10]uint32{0x01d02f4c, 0x0138d9c7, 0x008a4a26, 0x00e513cc, 0x01e8ca64, 0x01de8435, 0x022b50aa, 0x01bfe5aa, 0x02e5d578, 0x0010145f}}}, + {X: Field{[10]uint32{0x03097d6d, 0x00e6ff02, 0x033a21e1, 0x010bd9cf, 0x001a2b0c, 0x008d8551, 0x00e49bb6, 0x02e00239, 0x03fc5f06, 0x00039c66}}, Y: Field{[10]uint32{0x02fd7822, 0x0118b0ab, 0x025e1a0a, 0x00cd3e45, 0x01d14e2c, 0x00631251, 0x023929ee, 0x037da287, 0x001d83f5, 0x003c320f}}}, + {X: Field{[10]uint32{0x00ad0a4e, 0x0130e2d4, 0x0235a17f, 0x01436723, 0x020dc27c, 0x039a5f6e, 0x00b11277, 0x03358a10, 0x024ba9d8, 0x001ddd9a}}, Y: Field{[10]uint32{0x031b6431, 0x02da7388, 0x00554b26, 0x01b9bdb9, 0x0060b758, 0x01b0642f, 0x02265ac8, 0x009ee808, 0x02d94483, 0x0016ce8a}}}, + {X: Field{[10]uint32{0x008514b4, 0x03ca390d, 0x00292597, 0x035d8983, 0x004f2c9d, 0x00418da4, 0x0260cda4, 0x02a157e1, 0x021f6215, 0x003c8ddc}}, Y: Field{[10]uint32{0x02cfef79, 0x02e4ce06, 0x03651bcc, 0x03a755ec, 0x0046f5ad, 0x00f2e61d, 0x02e8c6d3, 0x027e73b2, 0x021c187b, 0x0004276a}}}, + {X: Field{[10]uint32{0x027b3e08, 0x014fc269, 0x033b9f19, 0x00edb16b, 0x0397517b, 0x01436f20, 0x004e7a8a, 0x006868f3, 0x01d5e889, 0x0025023d}}, Y: Field{[10]uint32{0x01691555, 0x01e7b256, 0x02b90ed8, 0x0150cb67, 0x03ca33e9, 0x0173b4af, 0x01f87b90, 0x006ba725, 0x0212c32f, 0x0006e0bc}}}, + {X: Field{[10]uint32{0x012a7064, 0x027db055, 0x020f4c4f, 0x03223c59, 0x03883649, 0x03a419d7, 0x03214f13, 0x01e49b27, 0x02551170, 0x002ca0dd}}, Y: Field{[10]uint32{0x011abfcf, 0x02c2f5db, 0x00131829, 0x01054671, 0x03be6ee0, 0x02f5545b, 0x0303ca45, 0x02258b9b, 0x033915be, 0x0022554d}}}, + {X: Field{[10]uint32{0x0378f4a9, 0x019eff92, 0x039c1437, 0x00c4fe4b, 0x03986413, 0x01b034a7, 0x012a9dcb, 0x03d5293b, 0x020036b5, 0x003390ae}}, Y: Field{[10]uint32{0x03a048d4, 0x02f4dff8, 0x028024a7, 0x0360914a, 0x0339b757, 0x03dc1afe, 0x00c91792, 0x02ebd1da, 0x0292cf35, 0x001b951c}}}, + {X: Field{[10]uint32{0x00cbcc59, 0x03b738bb, 0x0007d8e9, 0x02f10bc2, 0x00d3942b, 0x0352bd08, 0x009325e8, 0x00ea5efb, 0x02a01a06, 0x002ecf68}}, Y: Field{[10]uint32{0x02d70b32, 0x016749fe, 0x00d9d5c5, 0x00023685, 0x0225d6eb, 0x035b9ecb, 0x018a19ec, 0x0241ffbd, 0x03aabc39, 0x001f0a39}}}, + {X: Field{[10]uint32{0x02c490ee, 0x00b0378d, 0x02acf539, 0x0249b7a3, 0x01dd3e95, 0x01bec9a4, 0x036f620d, 0x0281d3a9, 0x003c97f3, 0x00097613}}, Y: Field{[10]uint32{0x02d5651a, 0x01ce90c5, 0x0154016f, 0x01b279d6, 0x03415309, 0x02b5bf49, 0x0391ffb1, 0x022a6c1e, 0x0345088c, 0x0017839d}}}, + {X: Field{[10]uint32{0x00d5765b, 0x00e511a1, 0x034a7faf, 0x00af9d0e, 0x03764994, 0x01f01d85, 0x015a01de, 0x01bc60b9, 0x03fdca25, 0x0022ea8e}}, Y: Field{[10]uint32{0x030506f1, 0x0022e034, 0x018117f3, 0x01f41f9c, 0x01587bfe, 0x01cc2c84, 0x01c28164, 0x0057345c, 0x00978bbe, 0x001851fa}}}, + {X: Field{[10]uint32{0x021f5170, 0x01a5e5c0, 0x0319274c, 0x026ca1f1, 0x024d3b6b, 0x000931c1, 0x0065dea8, 0x000e1447, 0x020a5b7d, 0x00141f5a}}, Y: Field{[10]uint32{0x037bf5d3, 0x00eb6b5f, 0x03b372dc, 0x034338c3, 0x03c12793, 0x00eb8cae, 0x02a8141c, 0x020eb91f, 0x024770ea, 0x0004e7c5}}}, + {X: Field{[10]uint32{0x02bbd846, 0x003f4e89, 0x030d6d64, 0x03ced3fc, 0x00e45620, 0x003f085f, 0x037354b1, 0x0316fa66, 0x02f7a059, 0x001f1a64}}, Y: Field{[10]uint32{0x01e0bee6, 0x006838ed, 0x02d03274, 0x02814386, 0x001f64e6, 0x004e7efb, 0x027062d7, 0x019070aa, 0x034efa63, 0x00025911}}}, + {X: Field{[10]uint32{0x02698bf2, 0x0319a496, 0x0238fcfc, 0x005efec2, 0x033d5e33, 0x03a9bc55, 0x00507509, 0x016c8c52, 0x02b01bf6, 0x003d8a0c}}, Y: Field{[10]uint32{0x00c1ec95, 0x0230a995, 0x0040d366, 0x00ee31d6, 0x011546cc, 0x013cdd6f, 0x02ce6f88, 0x037f5cfd, 0x00107b8f, 0x0035cc52}}}, + {X: Field{[10]uint32{0x03d1ebad, 0x03e2e71a, 0x02657def, 0x022b3332, 0x00594f62, 0x02f8f1f1, 0x00e20913, 0x03b0d8ad, 0x00abd8e4, 0x002bb487}}, Y: Field{[10]uint32{0x037100f8, 0x03759cae, 0x01dfdf9c, 0x00158094, 0x02b880a2, 0x03d07515, 0x02de1ac2, 0x01ffeaa2, 0x02f3833c, 0x0003e003}}}, + {X: Field{[10]uint32{0x014bf405, 0x0337f6dc, 0x01f66e06, 0x032adb00, 0x029e0ba8, 0x032a5094, 0x011b877a, 0x026905ae, 0x00a9343a, 0x0011b79e}}, Y: Field{[10]uint32{0x014d2bcf, 0x027662fb, 0x00bf66c8, 0x021c237e, 0x0181f30b, 0x00646136, 0x02809c6f, 0x029cfb84, 0x02524f3e, 0x00305104}}}, + {X: Field{[10]uint32{0x00bd41bc, 0x000ed095, 0x02174a63, 0x02469d42, 0x03ba4b65, 0x0010ee66, 0x016ae193, 0x03a4c94d, 0x01b8ab82, 0x000a0cad}}, Y: Field{[10]uint32{0x00aba440, 0x0398fdcd, 0x0049e249, 0x0093d242, 0x01a82752, 0x032e19a5, 0x02ce5340, 0x03c5248f, 0x02033f59, 0x00300d8f}}}, + {X: Field{[10]uint32{0x03e43f9a, 0x017c3132, 0x007ff939, 0x00109cdb, 0x020d85bd, 0x003cdaf6, 0x00abe39b, 0x005885df, 0x01024b5c, 0x0016d5f1}}, Y: Field{[10]uint32{0x0120766c, 0x0032306f, 0x00c06853, 0x0131eb73, 0x01b282ed, 0x00d7613b, 0x03f57b9b, 0x0011cfc6, 0x0007dc0c, 0x00002109}}}, + {X: Field{[10]uint32{0x01c2f103, 0x0132ec70, 0x03af3dac, 0x0362a7b6, 0x00814c45, 0x025ad2a7, 0x01bf8211, 0x01d63a09, 0x02708063, 0x002ce136}}, Y: Field{[10]uint32{0x030fa325, 0x002fbf48, 0x02d13df3, 0x0056bcc3, 0x03aa2375, 0x0241d5fe, 0x03925965, 0x033101d3, 0x01df6400, 0x0039b998}}}, + {X: Field{[10]uint32{0x009a5e1c, 0x00031697, 0x008f8e73, 0x01c8057b, 0x0282a5b6, 0x0069519a, 0x00a5da96, 0x01122a6c, 0x0191563e, 0x000dbff6}}, Y: Field{[10]uint32{0x00bb961c, 0x03b625c0, 0x013b632a, 0x035812d4, 0x01d1a742, 0x0135c8a9, 0x01873208, 0x0351fa50, 0x0035fc17, 0x0025c19e}}}, + {X: Field{[10]uint32{0x0189d81c, 0x02acd2bb, 0x022e7f5a, 0x00b31b0d, 0x035b9d14, 0x00eb7361, 0x0260ecc3, 0x000d9f93, 0x005257c2, 0x0020d9f9}}, Y: Field{[10]uint32{0x008be121, 0x00efc665, 0x0327af1f, 0x0356ef73, 0x02b77ce2, 0x03d0e067, 0x00a9e74d, 0x02c9bb4e, 0x00903ffa, 0x003f1ffc}}}, + {X: Field{[10]uint32{0x00b0564b, 0x0225a6f7, 0x02d179c9, 0x02e752c6, 0x0004719f, 0x0048e196, 0x00539e24, 0x00a5bed0, 0x03e48cc9, 0x003db391}}, Y: Field{[10]uint32{0x03950e1c, 0x003582a1, 0x02a60093, 0x0019e002, 0x02b524a6, 0x033464ab, 0x01590175, 0x03702dbc, 0x036afe5e, 0x000da34a}}}, + {X: Field{[10]uint32{0x01fae013, 0x00769efe, 0x02ac6509, 0x01623fe7, 0x03194ccb, 0x01c95917, 0x03d20c2a, 0x029bc149, 0x03e4beda, 0x0010e308}}, Y: Field{[10]uint32{0x02ff15f8, 0x004c69a4, 0x00b456d6, 0x02ffe392, 0x03e28dc6, 0x01c8a884, 0x01c93b53, 0x02095f6f, 0x0230c721, 0x00151882}}}, + {X: Field{[10]uint32{0x02bee7bd, 0x02124b61, 0x03fbc84e, 0x02acbbb1, 0x03a1fa1d, 0x0176d405, 0x00e87228, 0x00d2fdeb, 0x02f8cc94, 0x00073d9c}}, Y: Field{[10]uint32{0x01cafdcc, 0x00d2f16d, 0x01018167, 0x0047891e, 0x018932b5, 0x01d9f3bf, 0x03cccedb, 0x03769655, 0x01258bb4, 0x0035b48f}}}, + {X: Field{[10]uint32{0x021a2861, 0x01688fcf, 0x00bf4432, 0x018e2bca, 0x01943052, 0x03dc557f, 0x01cd1574, 0x00a6d9ba, 0x0212b0fa, 0x0011d193}}, Y: Field{[10]uint32{0x02b05141, 0x02a19368, 0x01e5681d, 0x02c286c6, 0x03a2468d, 0x0121a6a0, 0x0166e808, 0x03d5997a, 0x01d53bcd, 0x00082690}}}, + {X: Field{[10]uint32{0x02a964a2, 0x0301d69a, 0x02ff8717, 0x008f82c0, 0x020c4ee2, 0x02efdceb, 0x0077a0a9, 0x0324139a, 0x03a1c884, 0x002a6b7e}}, Y: Field{[10]uint32{0x03f79dc8, 0x02b90120, 0x0236c6cf, 0x0282121e, 0x02b2d809, 0x03fad49f, 0x03371d4a, 0x030d71cf, 0x001da7bb, 0x002ac584}}}, + {X: Field{[10]uint32{0x018edcbe, 0x00071bf1, 0x03f97d31, 0x02b97d05, 0x01824421, 0x0167b3e5, 0x00983dd6, 0x000c496b, 0x02de1060, 0x000a4cbf}}, Y: Field{[10]uint32{0x0176d727, 0x01d508f7, 0x02176e10, 0x0385f210, 0x012df54f, 0x03d32c47, 0x0234fe06, 0x0055afcb, 0x0343e666, 0x00218069}}}, + {X: Field{[10]uint32{0x03a50216, 0x0359969c, 0x01df3e31, 0x00e79a62, 0x0064f9ba, 0x03fdd103, 0x02b62c58, 0x02b41080, 0x01282f87, 0x0016afd5}}, Y: Field{[10]uint32{0x01a1fabf, 0x01a4a541, 0x029c5d32, 0x015ca0b5, 0x00610b6f, 0x03b71738, 0x00a1b370, 0x0170080b, 0x0216f270, 0x001c7713}}}, + {X: Field{[10]uint32{0x0001843a, 0x02670f6a, 0x013ec573, 0x02f34902, 0x020f359c, 0x00b0b1f9, 0x0087fc28, 0x0072b506, 0x015d9a12, 0x00010652}}, Y: Field{[10]uint32{0x033e0c31, 0x014daabd, 0x009d2956, 0x01f3638e, 0x02d5e661, 0x00e641cc, 0x02fefc78, 0x01425046, 0x01974029, 0x002454b8}}}, + {X: Field{[10]uint32{0x01fbc3af, 0x016ade8a, 0x03eae416, 0x013889bd, 0x00a902bc, 0x02b2ec56, 0x027979a5, 0x039270f0, 0x0082ea2b, 0x003f28e1}}, Y: Field{[10]uint32{0x0346f5f4, 0x015a9b73, 0x0234f288, 0x01d5ec03, 0x01bad50a, 0x00a5b110, 0x0235f0f7, 0x00999242, 0x035e5fe6, 0x0004981c}}}, + {X: Field{[10]uint32{0x01065d06, 0x02bd1595, 0x02de14b7, 0x01023244, 0x02d499ec, 0x016f0eac, 0x02135305, 0x00da22b2, 0x01233d70, 0x002f3c14}}, Y: Field{[10]uint32{0x01fb8bf9, 0x032d97e9, 0x0271d5f5, 0x0245d9c3, 0x01c16d49, 0x00d15a21, 0x0084e63a, 0x01a42cd5, 0x03f10645, 0x003cc995}}}, + {X: Field{[10]uint32{0x029a92e1, 0x036292e3, 0x018e479d, 0x03128999, 0x0268bf6c, 0x017f25ac, 0x019cf74f, 0x02d092c5, 0x002f6391, 0x00139c2d}}, Y: Field{[10]uint32{0x013b3688, 0x02ccfdf9, 0x03d36591, 0x02c8ff93, 0x0266c595, 0x02db38d5, 0x0324fa44, 0x007019de, 0x00111af3, 0x0022e9e2}}}, + {X: Field{[10]uint32{0x0121742f, 0x0213c37a, 0x00e6e1be, 0x03ce2897, 0x013cdb83, 0x01d8a370, 0x013703ca, 0x0183ab08, 0x03d7331c, 0x000ffa14}}, Y: Field{[10]uint32{0x01dca5d6, 0x00c39517, 0x0076d0b2, 0x00966d81, 0x03f27b51, 0x003c9374, 0x01961540, 0x03704dbd, 0x0377c2c6, 0x003edf6e}}}, + {X: Field{[10]uint32{0x0248b9be, 0x0098d27d, 0x025f5ee7, 0x0208f33d, 0x01ca42f5, 0x013a5d90, 0x02aa8100, 0x03750028, 0x037fc3ca, 0x003600cd}}, Y: Field{[10]uint32{0x03d6fe99, 0x011c67a3, 0x02900d82, 0x00616b44, 0x00aeed21, 0x033044eb, 0x02b7fbfe, 0x02020152, 0x004f281a, 0x0018d5ee}}}, + {X: Field{[10]uint32{0x030bebe1, 0x001b2781, 0x03845941, 0x00535b62, 0x0290a051, 0x01fe97b4, 0x037128e7, 0x01c5880a, 0x007b6f9e, 0x001777f7}}, Y: Field{[10]uint32{0x01cd76ad, 0x0047b915, 0x021e9d59, 0x03644663, 0x02714b6d, 0x00740c19, 0x0274c81a, 0x03edefeb, 0x00edfa1e, 0x00008fab}}}, + {X: Field{[10]uint32{0x036f7dd5, 0x0133528e, 0x004115bc, 0x01bb5c85, 0x037913b4, 0x004b459e, 0x01353e6b, 0x02523fa4, 0x0243c964, 0x0017c540}}, Y: Field{[10]uint32{0x00af903f, 0x0375366e, 0x014e571c, 0x0336555d, 0x03b18147, 0x028d8313, 0x00991e2b, 0x03440805, 0x01497a2f, 0x000daaf2}}}, + {X: Field{[10]uint32{0x00942647, 0x01a6eb14, 0x00e14979, 0x00898551, 0x030539f0, 0x02c49fbf, 0x00cc89c2, 0x0110a5e9, 0x00975b0c, 0x00092d3f}}, Y: Field{[10]uint32{0x02b5c207, 0x00e895e7, 0x038f9a82, 0x00b290f2, 0x0311d96f, 0x000529de, 0x02f88819, 0x001f617e, 0x03df54ad, 0x002f4f8f}}}, + {X: Field{[10]uint32{0x002202e0, 0x03395739, 0x0276e1dc, 0x03aab987, 0x03f11b18, 0x02191061, 0x025ba2b2, 0x02d7f277, 0x03355556, 0x0028083a}}, Y: Field{[10]uint32{0x02639f66, 0x02416755, 0x0188027e, 0x01bafadc, 0x039765ac, 0x02a60b8a, 0x03667c00, 0x03d15c5a, 0x021f1ad2, 0x00269c7a}}}, + {X: Field{[10]uint32{0x01f37a68, 0x01abf6b8, 0x00a0f86f, 0x01e33356, 0x038a224c, 0x018711f8, 0x0131de59, 0x00fab181, 0x0064f717, 0x00182de4}}, Y: Field{[10]uint32{0x010786b7, 0x017ce312, 0x016decfc, 0x038d89c9, 0x013437e4, 0x022d529f, 0x01fcbaed, 0x01f5b5ae, 0x024cf6a4, 0x000eb412}}}, + {X: Field{[10]uint32{0x01f7d60b, 0x01edf8e8, 0x01685177, 0x02d74442, 0x03d2e233, 0x03238ff7, 0x002d9159, 0x0079512b, 0x01f2b57d, 0x0020d73c}}, Y: Field{[10]uint32{0x02a84b31, 0x017281fd, 0x01b16166, 0x0255f24a, 0x01a7112f, 0x03871b80, 0x03f77339, 0x036c4eee, 0x0135136e, 0x001f48f7}}}, + {X: Field{[10]uint32{0x037f77ed, 0x00e549e0, 0x00dcab1d, 0x0378c623, 0x03606cd7, 0x012cc66e, 0x021d8ade, 0x036b540b, 0x03501f1e, 0x003ebdd0}}, Y: Field{[10]uint32{0x0221bcc9, 0x0122f7ff, 0x0147616d, 0x006e15d4, 0x030fbcd1, 0x026deb3f, 0x01a0fa03, 0x0160392e, 0x00bdbffb, 0x0036efac}}}, + {X: Field{[10]uint32{0x012de938, 0x02775dc3, 0x027620a3, 0x02974eca, 0x01044091, 0x004849c7, 0x03f74edf, 0x02eb88f9, 0x03c3e072, 0x000e5b1b}}, Y: Field{[10]uint32{0x026fa667, 0x027458b7, 0x024799e9, 0x01dbd1aa, 0x029fb0e0, 0x01ae3d53, 0x00499409, 0x01513533, 0x02f8a143, 0x00177948}}}, + {X: Field{[10]uint32{0x0144ab88, 0x0051fb83, 0x03684881, 0x0170790e, 0x00ae8e60, 0x0023bc83, 0x02622f80, 0x03cb2870, 0x0140ad8d, 0x0003e2ae}}, Y: Field{[10]uint32{0x01bff796, 0x00f9c377, 0x011e0406, 0x03d4cf91, 0x01630d28, 0x0201310a, 0x0057163f, 0x009f3b26, 0x0281fa74, 0x00267f94}}}, + {X: Field{[10]uint32{0x01772367, 0x0106d1af, 0x01e78758, 0x01325640, 0x008197af, 0x020a70dd, 0x0122219a, 0x03fff078, 0x0068af6d, 0x0029880a}}, Y: Field{[10]uint32{0x01e9af45, 0x03deeac1, 0x00e4d145, 0x031360ec, 0x03fe9c4f, 0x0235a363, 0x0254eb6f, 0x0127053e, 0x020bc82a, 0x000981e8}}}, + {X: Field{[10]uint32{0x0067e41e, 0x0312611c, 0x02bda4d7, 0x017edda8, 0x00cfbced, 0x00e93f6f, 0x03644842, 0x02185a41, 0x019349a9, 0x002c4b46}}, Y: Field{[10]uint32{0x02d75e31, 0x0270cf70, 0x037ec009, 0x0155c006, 0x0173fdd5, 0x01c05112, 0x0045eb3f, 0x022ac4a4, 0x00e0ac6c, 0x00299b75}}}, + {X: Field{[10]uint32{0x01eb3b3c, 0x01ef7085, 0x01c64fd6, 0x00d17372, 0x009ae0a7, 0x0064e0c1, 0x00d3b97b, 0x003d7f1b, 0x0355b499, 0x00023723}}, Y: Field{[10]uint32{0x01435d83, 0x01044679, 0x002f5fa6, 0x00e3211f, 0x02c00ce4, 0x021c8bd2, 0x0354cc38, 0x023f632e, 0x017d62cc, 0x0006f9d1}}}, + {X: Field{[10]uint32{0x018feeec, 0x03586719, 0x0053b1b6, 0x00f6b743, 0x01f12864, 0x018d47d9, 0x0121c4b3, 0x02792df5, 0x0337d1db, 0x000b02dc}}, Y: Field{[10]uint32{0x039bad53, 0x0264016c, 0x02d9ad8b, 0x0254ec20, 0x01ef765b, 0x001f3b85, 0x03dae62c, 0x004867de, 0x039ceb7c, 0x003a289e}}}, + {X: Field{[10]uint32{0x023bab35, 0x001b24f6, 0x00d0e66d, 0x024aed7c, 0x02b17ad6, 0x009052ac, 0x00a0d1d2, 0x001a2692, 0x00a25010, 0x002247ed}}, Y: Field{[10]uint32{0x027260f6, 0x014f8903, 0x00c7c0cb, 0x00399869, 0x0052d06c, 0x00d1fcf2, 0x013c03bc, 0x00f04efa, 0x0166cdf4, 0x00105a14}}}, + {X: Field{[10]uint32{0x01ca1738, 0x027b4eda, 0x03b02ed9, 0x02d87d6e, 0x0039fbcc, 0x0399a3bc, 0x0213729d, 0x01103f9c, 0x01b1511c, 0x00128cde}}, Y: Field{[10]uint32{0x03ac0f6f, 0x00519328, 0x02b0039d, 0x000f505c, 0x0017b3bf, 0x02d133a2, 0x01d75eed, 0x006476a2, 0x01c239e9, 0x002c4a8f}}}, + {X: Field{[10]uint32{0x03815521, 0x01c18697, 0x000d22c5, 0x00f0721e, 0x017dc58e, 0x00efe359, 0x01a360f8, 0x01afe98b, 0x03c85493, 0x002e2ca9}}, Y: Field{[10]uint32{0x02a2d15b, 0x0168f57d, 0x03021c06, 0x00b05f0a, 0x021cd441, 0x014aa26e, 0x02c70012, 0x00d8b096, 0x000b7719, 0x0023e48b}}}, + {X: Field{[10]uint32{0x039624fb, 0x024491f6, 0x03a7ff01, 0x02d88b25, 0x002fb56a, 0x01f3dcea, 0x029341d7, 0x014b941e, 0x0219d1dc, 0x002419bf}}, Y: Field{[10]uint32{0x011baf50, 0x00f9f51c, 0x00896215, 0x02f02aef, 0x00c281f5, 0x02d9e269, 0x01d4929e, 0x0315d760, 0x03436ec3, 0x0008f466}}}, + {X: Field{[10]uint32{0x00ced8ec, 0x00d35d5f, 0x017c2b05, 0x0379b99d, 0x029f32c8, 0x02d6dcfb, 0x01a18df2, 0x03a6c728, 0x014c19c9, 0x002fe6ac}}, Y: Field{[10]uint32{0x029759c0, 0x007c5d03, 0x011dd048, 0x01d756f2, 0x0385e793, 0x00de8ebd, 0x02724188, 0x018f782a, 0x01233c38, 0x003b25a6}}}, + {X: Field{[10]uint32{0x016f9d03, 0x01978d4c, 0x031af102, 0x021ba216, 0x0378c656, 0x023adeab, 0x01b7e69e, 0x01280889, 0x006f9c65, 0x001a2c9a}}, Y: Field{[10]uint32{0x014da9c3, 0x012e06fc, 0x0019af28, 0x035bd3dd, 0x03b6b407, 0x00e49caa, 0x014d4077, 0x009af615, 0x01048468, 0x00074f5d}}}, + {X: Field{[10]uint32{0x010bf2fa, 0x009c00dc, 0x01a7de04, 0x01a6fdef, 0x024d3bf6, 0x00b27cda, 0x00989d39, 0x02886a53, 0x03855251, 0x00083720}}, Y: Field{[10]uint32{0x01aa749f, 0x01d83c25, 0x0224a974, 0x0251588f, 0x03975d67, 0x0182321d, 0x0080c4b3, 0x00ca7fe4, 0x02ff713d, 0x000085f9}}}, + {X: Field{[10]uint32{0x01fd0368, 0x026872ad, 0x01568168, 0x011a6a1d, 0x025c822e, 0x03164612, 0x01859bf8, 0x0266328e, 0x009b555d, 0x003c2fad}}, Y: Field{[10]uint32{0x02664aac, 0x0022d01c, 0x032f53bd, 0x03c05830, 0x002e8ff7, 0x029d74fd, 0x033b3b30, 0x037e52e8, 0x02e7a23d, 0x00383816}}}, + {X: Field{[10]uint32{0x00a0ee57, 0x0168ed71, 0x022cfaab, 0x032b7229, 0x0016ddc1, 0x00b3d311, 0x01ad8abf, 0x03e7ae90, 0x0173270f, 0x0023c6aa}}, Y: Field{[10]uint32{0x015920ec, 0x038c2996, 0x00a87071, 0x02c0ae68, 0x002bd6bb, 0x00bdbae8, 0x02a441f1, 0x026c5ea1, 0x0260e340, 0x00242a8d}}}, + {X: Field{[10]uint32{0x028a9957, 0x0208a0e4, 0x01dfb413, 0x02a02ab2, 0x00fecd43, 0x024d2e20, 0x00ca847a, 0x03051d83, 0x0135278d, 0x0031c7ac}}, Y: Field{[10]uint32{0x02003804, 0x021c57ad, 0x03299a9d, 0x0311f9c6, 0x0351d23a, 0x03b31fdb, 0x0307ad5d, 0x0206e224, 0x03774852, 0x0010599f}}}, + {X: Field{[10]uint32{0x02c41c81, 0x03b5946f, 0x01180b0f, 0x00f6ee87, 0x00fa904d, 0x01259717, 0x0109df5d, 0x01aa7cdf, 0x026e50d6, 0x003a401c}}, Y: Field{[10]uint32{0x01028e39, 0x0317c25c, 0x01d5a921, 0x0095e1ba, 0x03117f77, 0x0371f5ec, 0x00e64f2c, 0x01bd02cd, 0x0230db03, 0x0035482a}}}, + {X: Field{[10]uint32{0x0123fa38, 0x0398ed80, 0x00c3beda, 0x035d3e1f, 0x0258d72d, 0x0083bf79, 0x03a6d6b7, 0x014aa6e8, 0x00afa159, 0x002502ac}}, Y: Field{[10]uint32{0x03bfcbcd, 0x01974a3c, 0x00702f87, 0x03c14f10, 0x016e5061, 0x012445b8, 0x01e443aa, 0x022866e1, 0x03476f78, 0x003fb1b5}}}, + {X: Field{[10]uint32{0x00c76949, 0x00b9c32a, 0x006be8b6, 0x01a81903, 0x02a03ba4, 0x004b1739, 0x033ce9d4, 0x02619937, 0x026d643e, 0x002684f7}}, Y: Field{[10]uint32{0x0126dd5e, 0x000e54da, 0x02499061, 0x00c0bada, 0x01a46016, 0x02f1b2f2, 0x00c914d4, 0x02361e2d, 0x02966c2d, 0x00108e20}}}, + {X: Field{[10]uint32{0x02c577c3, 0x03e0ee9d, 0x01d6f256, 0x0176f782, 0x01b76d6a, 0x035fd8ba, 0x006b1497, 0x00a7652a, 0x01b2b311, 0x0010e10a}}, Y: Field{[10]uint32{0x00bc1c7d, 0x013e4c97, 0x006cd2e4, 0x0261f11b, 0x03b2398e, 0x03a0cef6, 0x03cb600b, 0x026f86cc, 0x0186a722, 0x00390d80}}}, + {X: Field{[10]uint32{0x02d02605, 0x019df1a5, 0x00f018c1, 0x02f9a8ea, 0x03c8bb59, 0x010c03a5, 0x007b524e, 0x01cb97eb, 0x025d66d4, 0x000fd8ec}}, Y: Field{[10]uint32{0x00ca39dd, 0x0257ced4, 0x0249d44c, 0x028bef7d, 0x01d9971a, 0x033fcb1a, 0x0119bbe5, 0x006734af, 0x0042158e, 0x0001161c}}}, + {X: Field{[10]uint32{0x038cc0c5, 0x00d716ae, 0x013d1e17, 0x03b5b3ef, 0x0047afe5, 0x0237b7bc, 0x004f90b9, 0x0294828e, 0x01f717c7, 0x0001987f}}, Y: Field{[10]uint32{0x01a80abd, 0x01c0a4df, 0x02549d99, 0x00cec765, 0x03b83b74, 0x014be083, 0x012f00ea, 0x00386496, 0x003ab43c, 0x002f6689}}}, + {X: Field{[10]uint32{0x02b951ce, 0x0317e256, 0x018cc279, 0x01f1d6f1, 0x000c999d, 0x03a8b532, 0x0027c367, 0x01abdf43, 0x0326daac, 0x002e706e}}, Y: Field{[10]uint32{0x03140f4e, 0x02e1fac6, 0x0138a767, 0x01eed632, 0x01b872d1, 0x03b575fc, 0x026c5b2e, 0x021aedf1, 0x0334a42b, 0x002934ef}}}, + {X: Field{[10]uint32{0x0127e8fa, 0x006fe82c, 0x010999b1, 0x03b2ead7, 0x017d9b23, 0x03bf4aee, 0x02af4733, 0x03676142, 0x00a0fc6c, 0x0033d6b1}}, Y: Field{[10]uint32{0x011070ec, 0x03c5817e, 0x002872ca, 0x01dff521, 0x01ad465d, 0x0298b2bd, 0x03a94fe3, 0x005c601f, 0x0316c37f, 0x00112498}}}, + {X: Field{[10]uint32{0x02b3b422, 0x02191c6f, 0x01b7413c, 0x0286cf0a, 0x03749caa, 0x03c28d3e, 0x0082c57f, 0x028cb8ee, 0x02afab8d, 0x002a94ac}}, Y: Field{[10]uint32{0x000859ce, 0x038fb303, 0x00244ac4, 0x02105b18, 0x03733260, 0x00c8094b, 0x028df35e, 0x0396546d, 0x03284a7b, 0x0012d589}}}, + {X: Field{[10]uint32{0x0068211c, 0x01fc60d2, 0x0217ad34, 0x0159e61c, 0x007926b0, 0x011a25af, 0x032909c5, 0x002342a7, 0x022eb3aa, 0x0001843c}}, Y: Field{[10]uint32{0x0019e6bb, 0x030d5492, 0x006eac1b, 0x01ef09dd, 0x012dbf63, 0x019bb68f, 0x01571e61, 0x0312cc06, 0x010df35f, 0x00294b86}}}, + {X: Field{[10]uint32{0x011a6d80, 0x00f30d31, 0x03b44acc, 0x01690997, 0x02db65f1, 0x025449e5, 0x00543307, 0x02963381, 0x00c3a485, 0x00004fc9}}, Y: Field{[10]uint32{0x03f3bc3b, 0x01261301, 0x02e611a4, 0x01b6c93e, 0x020f0797, 0x03e01cd9, 0x01c4327c, 0x01a7fcf3, 0x03b618e0, 0x003eb32f}}}, + {X: Field{[10]uint32{0x00eb0f24, 0x02176768, 0x02bdf922, 0x03ed0573, 0x01caeb18, 0x008b16a1, 0x00112e69, 0x026ca72c, 0x02a84927, 0x000573af}}, Y: Field{[10]uint32{0x0075d833, 0x03a27e38, 0x00d05821, 0x014a3430, 0x01c36de4, 0x029dec70, 0x01af7ed4, 0x03e6f54e, 0x00fe158f, 0x0008f973}}}, + {X: Field{[10]uint32{0x004d97f6, 0x03721c80, 0x029a55f2, 0x032025bc, 0x02cf92e0, 0x00093586, 0x001b1d60, 0x014d9f71, 0x018efb7d, 0x00098168}}, Y: Field{[10]uint32{0x0266d375, 0x012f5417, 0x022f4f94, 0x0132500b, 0x02fd6d67, 0x002b5bf4, 0x018ae518, 0x02dfb371, 0x0374f111, 0x00235a99}}}, + {X: Field{[10]uint32{0x027f9995, 0x002c172f, 0x0356c33d, 0x004cda52, 0x0225cd05, 0x00d6cd8a, 0x0236d6cd, 0x015bcdfe, 0x0272a787, 0x00396238}}, Y: Field{[10]uint32{0x0072fbb7, 0x015bff55, 0x0191766e, 0x0300341c, 0x02115425, 0x0348f94f, 0x00715c6a, 0x010a5a6e, 0x018320b8, 0x00056fae}}}, + {X: Field{[10]uint32{0x016b46a5, 0x021d436f, 0x00b6ccb9, 0x00e64d16, 0x023a02cc, 0x03de729f, 0x03205cb0, 0x03b716da, 0x0122f264, 0x002000c9}}, Y: Field{[10]uint32{0x011a44a8, 0x01c60ee1, 0x01043bca, 0x03a3530f, 0x02fd2c1d, 0x02aa5c97, 0x038b93b5, 0x007aea63, 0x02f4fb4e, 0x0011e724}}}, + {X: Field{[10]uint32{0x0241bfaa, 0x01a8be85, 0x013f3c16, 0x02dfe45b, 0x0394b525, 0x0084a1f9, 0x0101308a, 0x0206d5c1, 0x000ee1a5, 0x00254301}}, Y: Field{[10]uint32{0x0338ea71, 0x03bc76ed, 0x01a751e4, 0x022370e1, 0x0252441a, 0x01d808de, 0x0171725f, 0x01c29a7c, 0x020e911d, 0x00390f6c}}}, + {X: Field{[10]uint32{0x02c391fa, 0x015402a1, 0x018759db, 0x02f8a0b7, 0x01a634b9, 0x02e2f03d, 0x030aecad, 0x03b95cb9, 0x0336423f, 0x003a267f}}, Y: Field{[10]uint32{0x003a9bd1, 0x01231f2d, 0x02790a02, 0x02432c62, 0x01886117, 0x03e1ea44, 0x03100340, 0x02da3899, 0x03b0dfe6, 0x0001fb65}}}, + {X: Field{[10]uint32{0x00a1a51b, 0x00a972f6, 0x0045e833, 0x034a715e, 0x006a7415, 0x01b867ee, 0x00ce5c76, 0x01adea3e, 0x008f0c20, 0x00348d9a}}, Y: Field{[10]uint32{0x016ec9e9, 0x00170b19, 0x01113adb, 0x021d5486, 0x01d50988, 0x0060ed49, 0x02d65085, 0x012983f9, 0x019fe3d5, 0x001cbc8d}}}, + {X: Field{[10]uint32{0x019dcccf, 0x038be884, 0x0286ae94, 0x017f7709, 0x01430eab, 0x01718a3d, 0x02458c58, 0x00bc920f, 0x0071da4b, 0x00234f5f}}, Y: Field{[10]uint32{0x0361178f, 0x01e3d607, 0x00aad827, 0x000c7d65, 0x021f435c, 0x0191ffc7, 0x039c22ad, 0x03c832f5, 0x00e47948, 0x000cf102}}}, + {X: Field{[10]uint32{0x032651a9, 0x01ff66ed, 0x028a587d, 0x01431585, 0x03fee4b7, 0x034418fe, 0x02542ba5, 0x02066546, 0x037ae891, 0x000c83c4}}, Y: Field{[10]uint32{0x03c402c5, 0x016f3cf4, 0x02232679, 0x0262a317, 0x03086036, 0x014efc00, 0x0275a021, 0x0387bcc8, 0x006ae2a4, 0x002e1015}}}, + {X: Field{[10]uint32{0x0081352c, 0x015df186, 0x020de8ce, 0x01fe691b, 0x027546c8, 0x03519006, 0x01686072, 0x02c967d1, 0x03ce3fe6, 0x0027a2bf}}, Y: Field{[10]uint32{0x029d02f1, 0x01def530, 0x00f9273e, 0x03db14fb, 0x01af8639, 0x01c8d949, 0x00ebaf09, 0x01fdf098, 0x0301d83b, 0x00343a8d}}}, + {X: Field{[10]uint32{0x021eef64, 0x031cacf1, 0x03f539be, 0x03d26b4a, 0x03daf70f, 0x0090487b, 0x03c915ea, 0x00e61ca4, 0x01b81d35, 0x00177d19}}, Y: Field{[10]uint32{0x01e690af, 0x01069eb5, 0x03e54385, 0x01f3ccf0, 0x038b3804, 0x003d1820, 0x00c193d4, 0x03210416, 0x01ff5ae4, 0x000c81b1}}}, + {X: Field{[10]uint32{0x02f28f58, 0x01197523, 0x0064d6e1, 0x00e621a8, 0x011312bb, 0x009ae8f1, 0x0061d488, 0x00d42fd2, 0x0326a18c, 0x00266734}}, Y: Field{[10]uint32{0x00b1ef12, 0x02244772, 0x00b0dd41, 0x02c2fa21, 0x00a9fcea, 0x02554582, 0x018e6629, 0x0337d9e6, 0x032ad6dc, 0x000b362a}}}, + {X: Field{[10]uint32{0x03ce163b, 0x02c09ada, 0x034cdc0a, 0x019d1d86, 0x03479a66, 0x01551832, 0x02ba6f42, 0x02705be8, 0x00ee574d, 0x0020763f}}, Y: Field{[10]uint32{0x00673143, 0x02d2b166, 0x00ca638c, 0x03f3f5f2, 0x003cf771, 0x0169a605, 0x039a996f, 0x01e9a8ed, 0x0334f589, 0x0016539f}}}, + {X: Field{[10]uint32{0x0096d278, 0x01b610f4, 0x020dd4da, 0x027b254e, 0x0385839c, 0x01be1460, 0x032b42d5, 0x01cefbe4, 0x0324b9ac, 0x0027a0f5}}, Y: Field{[10]uint32{0x00c88869, 0x03e9788c, 0x01689a1a, 0x00029287, 0x0100d3a0, 0x03125bb1, 0x02fda95a, 0x016b2e27, 0x00abfed0, 0x003e2c63}}}, + {X: Field{[10]uint32{0x02320c3e, 0x0244510f, 0x0231764f, 0x00ecd6ea, 0x01908ec3, 0x00ecb640, 0x00b1f647, 0x00f022bb, 0x00b13b44, 0x00262e8e}}, Y: Field{[10]uint32{0x0399b84f, 0x0075808f, 0x020a44df, 0x01e8d0d2, 0x010d8ece, 0x01bd0bd2, 0x012f972e, 0x00cbefd7, 0x01d7fc22, 0x000d0fd8}}}, + {X: Field{[10]uint32{0x02a875ec, 0x00120194, 0x01285de7, 0x01ef9b0d, 0x01582244, 0x03a5c19c, 0x03a94886, 0x017bb169, 0x025a9adf, 0x000824ba}}, Y: Field{[10]uint32{0x024e7f35, 0x02b71efa, 0x0228f304, 0x03099650, 0x0195a7e9, 0x00985998, 0x00facc8e, 0x009c8aa5, 0x02eb5238, 0x00377edc}}}, + {X: Field{[10]uint32{0x02eeb75a, 0x00c13080, 0x01e765b9, 0x00e65687, 0x00c044c6, 0x02f25d04, 0x037bce4e, 0x02817ab1, 0x009a8f45, 0x003e7ba4}}, Y: Field{[10]uint32{0x0301705e, 0x03b93b84, 0x01d51a41, 0x034df8ba, 0x023a39c0, 0x02babc4f, 0x03e50fd2, 0x02c3a11c, 0x01ba93f5, 0x0021840c}}}, + {X: Field{[10]uint32{0x01df101c, 0x03394d4d, 0x00603c75, 0x009f18fa, 0x015c676e, 0x03baa6fe, 0x002dfc02, 0x0169f2cd, 0x00e23bc5, 0x00284e1e}}, Y: Field{[10]uint32{0x03108427, 0x03ffe09e, 0x02ed001b, 0x0214d71c, 0x02233f05, 0x034fa069, 0x02a2f833, 0x02c24424, 0x02d03d4b, 0x000d7033}}}, + {X: Field{[10]uint32{0x004ae3e4, 0x01ec6d84, 0x0065d34f, 0x03e0e9c6, 0x03b863a7, 0x02760300, 0x004cfce0, 0x037f61ca, 0x01d2cd32, 0x003a3b20}}, Y: Field{[10]uint32{0x0017648b, 0x009c89c1, 0x01e4ec6e, 0x03a2c219, 0x011d24c4, 0x0145eff2, 0x032b01af, 0x0375ffd4, 0x0377ee12, 0x00182fa6}}}, + {X: Field{[10]uint32{0x00f35b60, 0x00ae2607, 0x0297a664, 0x0261a6e6, 0x00d48e98, 0x013818e4, 0x030b18fe, 0x03710cd1, 0x02551529, 0x003c1f2c}}, Y: Field{[10]uint32{0x0223b550, 0x00a5e9b0, 0x03d2b0a3, 0x00856544, 0x01c6e854, 0x0388d56a, 0x034b9412, 0x018cf566, 0x03776d74, 0x002f51ba}}}, + {X: Field{[10]uint32{0x02af7f51, 0x022136ae, 0x03dd82fe, 0x00fcbcb2, 0x0242becd, 0x02982e0d, 0x03189ae0, 0x02a7c2a5, 0x0023dcfd, 0x000e6f39}}, Y: Field{[10]uint32{0x022c8e4d, 0x01e2ec7a, 0x01a2b2db, 0x03a0525e, 0x01f3430b, 0x00c0fb24, 0x00903127, 0x008679d1, 0x00aa4b71, 0x00305667}}}, + {X: Field{[10]uint32{0x029ad3cf, 0x03f44147, 0x00ec80e0, 0x019f3cb6, 0x0358142f, 0x00f2793f, 0x033de211, 0x02e05062, 0x01cbd51d, 0x001b6984}}, Y: Field{[10]uint32{0x001e4b7f, 0x01e3fcc1, 0x00d704d1, 0x01a0b867, 0x02f7fe55, 0x02c0d203, 0x03d494eb, 0x03d953f6, 0x00483250, 0x001af0bc}}}, + {X: Field{[10]uint32{0x031aed8a, 0x0327eee2, 0x00c709a3, 0x011de51c, 0x01f4e13a, 0x029fa571, 0x00a5e8ef, 0x003ae629, 0x00038d2e, 0x0033b6e7}}, Y: Field{[10]uint32{0x019a0d40, 0x01ab5361, 0x028feeca, 0x0297dfd7, 0x0046804f, 0x034213d0, 0x00d5d56e, 0x0362f208, 0x0131de42, 0x001e68bf}}}, + {X: Field{[10]uint32{0x01ae3d82, 0x01e841c1, 0x02d8a3a0, 0x02134037, 0x0225393f, 0x01b107f9, 0x0340458f, 0x001b40cb, 0x00986d11, 0x001f6255}}, Y: Field{[10]uint32{0x026d0d61, 0x03561a86, 0x01866ee7, 0x030ac842, 0x02edd110, 0x0382b783, 0x02a117c7, 0x01652d86, 0x02cfff1c, 0x001753ed}}}, + {X: Field{[10]uint32{0x03dc3df7, 0x000310f5, 0x01aa175a, 0x01431ba7, 0x00851aaf, 0x00fb3b18, 0x01e26069, 0x010ebfac, 0x01627370, 0x00293ca4}}, Y: Field{[10]uint32{0x039c4439, 0x009a0871, 0x00846b27, 0x01ef118a, 0x0392265d, 0x0116abb4, 0x03abb201, 0x012c54e3, 0x00e8fb76, 0x002fbaff}}}, + {X: Field{[10]uint32{0x011cab70, 0x0058bc3e, 0x000a29cb, 0x01959a03, 0x00e0ba81, 0x01a26ef3, 0x00ce964e, 0x032c23b0, 0x01acde4c, 0x002d8e27}}, Y: Field{[10]uint32{0x00303529, 0x00103294, 0x02cdd679, 0x029fbbf6, 0x039ee836, 0x0238c7f9, 0x032826d2, 0x0091d05e, 0x03dbd2d0, 0x00391031}}}, + {X: Field{[10]uint32{0x02fcc9e1, 0x022bbefd, 0x00b4927b, 0x005a6673, 0x01ae4ee0, 0x03bbcdfd, 0x00ac2d6a, 0x030dbe5e, 0x01acf752, 0x001cb39b}}, Y: Field{[10]uint32{0x039bbca6, 0x017c43b5, 0x03bc67c4, 0x03379e5a, 0x028ad38a, 0x0380409f, 0x00c6d4d5, 0x01100f58, 0x0297bbd8, 0x00339ab0}}}, + {X: Field{[10]uint32{0x00255f06, 0x004e119b, 0x0117531b, 0x02b43e2b, 0x014fb3e5, 0x01af1430, 0x00931faa, 0x01096958, 0x036fcfd7, 0x003beb4c}}, Y: Field{[10]uint32{0x015a82c0, 0x008ba3f8, 0x0203b2b4, 0x00251064, 0x039eab6b, 0x00605c58, 0x03ab5597, 0x026847b1, 0x00f4eeee, 0x000fede1}}}, + {X: Field{[10]uint32{0x034eaae3, 0x0177ac80, 0x0349c289, 0x01b3ce0a, 0x0322002c, 0x00e4f295, 0x034bd1f0, 0x008599f1, 0x022d04bb, 0x003e6352}}, Y: Field{[10]uint32{0x016fd148, 0x01b3116d, 0x0269e9a3, 0x022b59a7, 0x0297a26f, 0x01851f2e, 0x0350763c, 0x01e2a0d1, 0x031f7e37, 0x00261d78}}}, + {X: Field{[10]uint32{0x0134183f, 0x02251832, 0x02eafb0b, 0x0079961d, 0x012b0d16, 0x02b04fb4, 0x01eea342, 0x0108ccb1, 0x034d2bc2, 0x001da33d}}, Y: Field{[10]uint32{0x02fdc34e, 0x0003e9e8, 0x022654ba, 0x00cb9cb9, 0x00af083b, 0x0341a954, 0x02e9f72d, 0x0135ebe1, 0x0207e55b, 0x00108cdd}}}, + {X: Field{[10]uint32{0x01beff7b, 0x0049d369, 0x01c59979, 0x01b88949, 0x03d34cfb, 0x02a45b42, 0x01ec27aa, 0x03189645, 0x03b01d05, 0x002b09bc}}, Y: Field{[10]uint32{0x014f4045, 0x033b37fa, 0x0254a42f, 0x01dae2f7, 0x01a30055, 0x03afac66, 0x0113bcb1, 0x005a0746, 0x00ac89b6, 0x0038d9d8}}}, + {X: Field{[10]uint32{0x0374fbac, 0x0263cd07, 0x01285212, 0x00368234, 0x02fcd905, 0x02c10a8e, 0x025045e1, 0x002f8b99, 0x0181741a, 0x0036b750}}, Y: Field{[10]uint32{0x00a84f60, 0x01b80339, 0x0002b805, 0x02f2a40a, 0x03f6a4df, 0x018d5d39, 0x01e4e2c8, 0x03741098, 0x03e0da78, 0x001b3d1b}}}, + {X: Field{[10]uint32{0x0286a3e8, 0x0342ae46, 0x00f82a6f, 0x03aa46a2, 0x032c4e1e, 0x010fc6dc, 0x03139ed1, 0x01aa18be, 0x0198ce9e, 0x00395945}}, Y: Field{[10]uint32{0x01f1ac98, 0x03bf6cbc, 0x0221a9e9, 0x022b55a6, 0x000770fd, 0x03d357db, 0x01723d8f, 0x01b04042, 0x033669ab, 0x002ed084}}}, + {X: Field{[10]uint32{0x030f5b02, 0x03922b89, 0x03d65de9, 0x02dc3730, 0x032d47a2, 0x0007b8ea, 0x0369b454, 0x03d658e6, 0x011eb4f0, 0x003c9bde}}, Y: Field{[10]uint32{0x030ff699, 0x026f02d1, 0x004fbe1a, 0x02458cea, 0x002693c5, 0x02915d5f, 0x003c799e, 0x02efc946, 0x03251fe5, 0x0008b8d2}}}, + {X: Field{[10]uint32{0x023da9da, 0x0379a398, 0x018ac19f, 0x008a76de, 0x032d2bec, 0x02137628, 0x01da048a, 0x00bd21ea, 0x010b9561, 0x0029433c}}, Y: Field{[10]uint32{0x03dcc576, 0x020554c2, 0x02888e4c, 0x033730f7, 0x00ce345e, 0x03358166, 0x039f9f47, 0x02899076, 0x013c0a76, 0x0014041f}}}, + {X: Field{[10]uint32{0x0245c13c, 0x025fc6c2, 0x00c10a11, 0x02ad7b17, 0x03e917e5, 0x0205f2e6, 0x0386a5c1, 0x01b06f57, 0x03b90273, 0x0031d220}}, Y: Field{[10]uint32{0x008beedc, 0x03d2f44b, 0x0232e847, 0x01570ade, 0x01d1c2bd, 0x003a89d6, 0x013e73b6, 0x00f3fc35, 0x03bce739, 0x00380f10}}}, + {X: Field{[10]uint32{0x01e1c0a9, 0x03fa0002, 0x02e9c98d, 0x02937400, 0x01be7cad, 0x00a78b23, 0x005c00f6, 0x03b622ec, 0x03d01741, 0x00028d0d}}, Y: Field{[10]uint32{0x007bca1c, 0x0181c4e1, 0x01c9ed21, 0x019c2ed0, 0x00fc268e, 0x0134fbbe, 0x01a00afa, 0x032af47f, 0x005a257f, 0x002989f8}}}, + {X: Field{[10]uint32{0x01c8312d, 0x027fe8e6, 0x03093832, 0x01dc128f, 0x0090c00c, 0x00c1a1bf, 0x018ba895, 0x02ead37a, 0x0188f179, 0x0029b312}}, Y: Field{[10]uint32{0x0170b6df, 0x03fd1d67, 0x01643712, 0x03bd3d84, 0x01bbba86, 0x004d191c, 0x03cad7c1, 0x0169e4a6, 0x00737db2, 0x003d3ae9}}}, + {X: Field{[10]uint32{0x00b84dbe, 0x0286b29c, 0x02f2400d, 0x020c4e4d, 0x039e6801, 0x03286af8, 0x03330776, 0x02355ecc, 0x00a8f577, 0x0003becd}}, Y: Field{[10]uint32{0x03428d3f, 0x00a61e1f, 0x025952f0, 0x0328526c, 0x027e5845, 0x019d4dae, 0x00878e71, 0x03ea60c8, 0x016efc53, 0x002a5288}}}, + {X: Field{[10]uint32{0x00dfa07a, 0x017ef5bf, 0x01a94a2c, 0x02e0fe91, 0x03019ec3, 0x021fee6a, 0x03914ef4, 0x039aeec8, 0x02d81385, 0x0004e611}}, Y: Field{[10]uint32{0x00fce099, 0x0132f1ab, 0x02aa09c3, 0x02cba325, 0x0362d837, 0x0237f682, 0x01f6aff2, 0x004336a6, 0x004e599b, 0x0013edf3}}}, + {X: Field{[10]uint32{0x01f2a101, 0x02336aeb, 0x01bb7a53, 0x00284ca6, 0x0249c209, 0x02d4fa98, 0x01f6eeaa, 0x0159ea0f, 0x03af98ba, 0x00198248}}, Y: Field{[10]uint32{0x0094bd29, 0x003c3623, 0x0078d446, 0x021a5c55, 0x00ee2a56, 0x0118bd10, 0x01890ee8, 0x025c89a6, 0x00cab1a2, 0x002ca2d6}}}, + {X: Field{[10]uint32{0x012be3c6, 0x000e243d, 0x01a98d3e, 0x03430772, 0x02d2f86b, 0x00698d16, 0x0389d31f, 0x005f78fc, 0x02b58c75, 0x003c6024}}, Y: Field{[10]uint32{0x00f9c906, 0x02a6bf5a, 0x006d07e8, 0x018ca8db, 0x00440ca7, 0x00ec0c87, 0x00276973, 0x013b5df7, 0x02049148, 0x002a0f9e}}}, + {X: Field{[10]uint32{0x01d0ab75, 0x03844e20, 0x03f74bfe, 0x019d9233, 0x017b7004, 0x02d7eca5, 0x026a6e25, 0x01503ce2, 0x020d1b2c, 0x003a342a}}, Y: Field{[10]uint32{0x0314409a, 0x02ee2af4, 0x016e9f19, 0x032ffaa9, 0x021abfc0, 0x022a0260, 0x00c3f298, 0x01706f43, 0x03be5205, 0x0028c932}}}, + {X: Field{[10]uint32{0x03526c1a, 0x00b7f11b, 0x025f3c7d, 0x00b540c0, 0x021d8ee7, 0x007dd18f, 0x01613df5, 0x001d0c3e, 0x00c0230a, 0x000961a8}}, Y: Field{[10]uint32{0x0016c735, 0x000eb026, 0x02653ede, 0x02891d01, 0x03ce9b1d, 0x02143d70, 0x007b4694, 0x011c350f, 0x01a1eb2b, 0x0028a5cd}}}, + {X: Field{[10]uint32{0x037dffd8, 0x032ad099, 0x00e48a12, 0x015390b0, 0x018be682, 0x0375f23d, 0x01bb2d27, 0x01b51b0c, 0x02888d82, 0x00085f3e}}, Y: Field{[10]uint32{0x001ac4ce, 0x025adab0, 0x031a006d, 0x015fd204, 0x0134179c, 0x02be477b, 0x01f99017, 0x03ec540d, 0x00309ff0, 0x00135767}}}, + {X: Field{[10]uint32{0x02edf4c0, 0x00e8d4c6, 0x03ccb820, 0x02fc4035, 0x03943af3, 0x00df3f59, 0x02791eb0, 0x00ee3e79, 0x013471aa, 0x0013a996}}, Y: Field{[10]uint32{0x00b7b4c5, 0x004a6121, 0x02ca506c, 0x00d3222f, 0x03ded8a5, 0x03257a65, 0x00474035, 0x000b1160, 0x02c419a3, 0x003fbb66}}}, + {X: Field{[10]uint32{0x00c7a1ae, 0x02b09346, 0x01f7d4fa, 0x03cb2591, 0x007d7759, 0x0125fbaf, 0x0122150c, 0x01aa93a9, 0x028b5102, 0x0025d2e0}}, Y: Field{[10]uint32{0x03aa9d26, 0x0063fb53, 0x0109396d, 0x000ff2c1, 0x0165cd3a, 0x02a07c98, 0x026f344c, 0x01ccd895, 0x01a0c308, 0x00300da7}}}, + {X: Field{[10]uint32{0x00978186, 0x031c25a7, 0x01755529, 0x0113b475, 0x0299bb45, 0x033d16cd, 0x01c8ae93, 0x035e9653, 0x0379d572, 0x00366056}}, Y: Field{[10]uint32{0x035241fa, 0x038d62b9, 0x013ecd67, 0x036193b5, 0x035b6c20, 0x0023e99f, 0x00ea24f5, 0x006552b1, 0x02cbf518, 0x0027f3ae}}}, + {X: Field{[10]uint32{0x00368837, 0x00acc3ae, 0x02d38efd, 0x02f7e7da, 0x01478208, 0x03596ab0, 0x01506f1b, 0x03539f2f, 0x01970d9b, 0x00149c49}}, Y: Field{[10]uint32{0x033df18e, 0x008c98a2, 0x01d79aef, 0x03044b5b, 0x0068bbf0, 0x014da004, 0x00911d16, 0x03b2b668, 0x0196ba2c, 0x0014bb2a}}}, + {X: Field{[10]uint32{0x009abf6d, 0x01577a11, 0x018186af, 0x0278ae2b, 0x00ed2fc8, 0x022a3d3a, 0x030e1fee, 0x03d7e7bd, 0x01afd890, 0x0036508c}}, Y: Field{[10]uint32{0x019e2867, 0x01195248, 0x01e27e06, 0x03d23343, 0x0384278f, 0x00b61972, 0x03475fc3, 0x0248609c, 0x036ef078, 0x0009964a}}}, + {X: Field{[10]uint32{0x019a7d90, 0x00a2936a, 0x034bfe53, 0x02c1c534, 0x02b661f7, 0x01d8fae6, 0x03a99d4b, 0x036558ec, 0x02317a69, 0x00192144}}, Y: Field{[10]uint32{0x01d46bc6, 0x024828d4, 0x02fb4af4, 0x02cde048, 0x021e06d3, 0x028fa485, 0x02020885, 0x01038dbe, 0x02335150, 0x003ac82e}}}, + {X: Field{[10]uint32{0x0368a8c2, 0x00e0473b, 0x0021779c, 0x037c3b80, 0x0370df9e, 0x03018959, 0x03413a5f, 0x00bc5e63, 0x011bef66, 0x0034292c}}, Y: Field{[10]uint32{0x0170b9cd, 0x00a7dd37, 0x00dbe8b3, 0x018ffd35, 0x03748b7a, 0x02ace7ba, 0x00ef5c99, 0x01a5170e, 0x012018e1, 0x00352ee6}}}, + {X: Field{[10]uint32{0x005802b6, 0x001fc1a6, 0x0249b3dc, 0x00dcef54, 0x01dcf546, 0x032f5dac, 0x03e103dd, 0x0121a07e, 0x0086c4b2, 0x0007626e}}, Y: Field{[10]uint32{0x0369535d, 0x0024e7d8, 0x01f3030d, 0x01150af3, 0x02a7885a, 0x00e9c31a, 0x036056ba, 0x00415df8, 0x00caaacd, 0x0028ce73}}}, + {X: Field{[10]uint32{0x00dbb256, 0x01d72cb9, 0x036c010a, 0x008efac2, 0x039dbab2, 0x00e2e82d, 0x036682fa, 0x010f93c4, 0x01d59363, 0x002db3b3}}, Y: Field{[10]uint32{0x019f7be8, 0x0236c0cc, 0x01d583ba, 0x00ba090b, 0x025f77d1, 0x03604d99, 0x01a5d1fe, 0x021e896f, 0x005387dd, 0x000a4d70}}}, + {X: Field{[10]uint32{0x032f8e24, 0x02ba942f, 0x002c4028, 0x0244261a, 0x0040f1b4, 0x03d6065a, 0x00a6c5fb, 0x03611cd7, 0x00e0a0ca, 0x00212c91}}, Y: Field{[10]uint32{0x021f7a71, 0x0226b221, 0x021bad82, 0x018b6837, 0x03148c8e, 0x038e9762, 0x0313087e, 0x002c47d5, 0x028c7df8, 0x0018b8a3}}}, + {X: Field{[10]uint32{0x00114d1a, 0x037db073, 0x036d1638, 0x01650ffa, 0x01664331, 0x038ddf10, 0x00366102, 0x0200a0e5, 0x00ff2a90, 0x003e57b3}}, Y: Field{[10]uint32{0x0158eba2, 0x00e34af9, 0x039ca7de, 0x020586d3, 0x0256d16e, 0x022615bb, 0x011b9ea1, 0x001b36e3, 0x003f1a03, 0x002f436a}}}, + {X: Field{[10]uint32{0x010f55e3, 0x03bcc874, 0x0132727f, 0x00d79043, 0x032a1e63, 0x0268b748, 0x02ccd255, 0x00f792bc, 0x01fd3e61, 0x001f133b}}, Y: Field{[10]uint32{0x03d7b1d8, 0x030893b9, 0x026960cd, 0x01f504c1, 0x0111d482, 0x01ca9983, 0x017f73c6, 0x0014db1a, 0x0109d9d0, 0x000cc7c8}}}, + {X: Field{[10]uint32{0x00269713, 0x03dc80e8, 0x021c34b9, 0x019bb4c6, 0x02f88af8, 0x010d789d, 0x03918de0, 0x0360a792, 0x02381bf2, 0x0008d70b}}, Y: Field{[10]uint32{0x00dbf929, 0x00413be8, 0x03d0ff26, 0x00111803, 0x02815a13, 0x013aaa1e, 0x00486144, 0x0024bb9f, 0x030d2671, 0x00143737}}}, + {X: Field{[10]uint32{0x0207cd73, 0x00a1a0fa, 0x02923761, 0x021b1777, 0x000cdf26, 0x007128e2, 0x03ca488d, 0x0025d545, 0x00d09ab5, 0x000aa587}}, Y: Field{[10]uint32{0x0398abe5, 0x024efa48, 0x0152dd7f, 0x00bbb75d, 0x0384f84c, 0x01d951c8, 0x000f7fde, 0x011b48f3, 0x0076b2ee, 0x00217244}}}, + {X: Field{[10]uint32{0x00fd65e3, 0x023d0393, 0x01b51a62, 0x01d424f4, 0x03e00c47, 0x02fc60fd, 0x013f591c, 0x02e32e1c, 0x0091f0af, 0x002562f1}}, Y: Field{[10]uint32{0x009a65b3, 0x01431a82, 0x02eef92d, 0x01eaba3d, 0x01b2a09a, 0x03c1d868, 0x013e026a, 0x037f9244, 0x0339fa21, 0x002fd6f8}}}, + {X: Field{[10]uint32{0x015f78fd, 0x0196f60f, 0x0273ddc8, 0x03319093, 0x030adb5c, 0x01adfa54, 0x035a2e24, 0x01eafe67, 0x00a37b5b, 0x001ba583}}, Y: Field{[10]uint32{0x025e0e15, 0x0166cd5a, 0x01a81bd6, 0x02ca7335, 0x00dcc4b0, 0x0285bf32, 0x02df612e, 0x0190fd7c, 0x03d1d5e9, 0x0014eb52}}}, + {X: Field{[10]uint32{0x00d05871, 0x03b3a3fc, 0x01b5a8b2, 0x029e9237, 0x00e747e4, 0x036475aa, 0x01615257, 0x02eeb776, 0x020e9272, 0x0035eb24}}, Y: Field{[10]uint32{0x00c87ed8, 0x019b893c, 0x02dc4adf, 0x008186d9, 0x039d4c76, 0x00302630, 0x000b96d0, 0x02b178e3, 0x01fcc37b, 0x0018e06e}}}, + {X: Field{[10]uint32{0x01730609, 0x00754c57, 0x00078b6c, 0x00bfcb67, 0x024481c1, 0x02fa506b, 0x0123844e, 0x015c1bb0, 0x003b1de9, 0x00026c20}}, Y: Field{[10]uint32{0x033fb1b0, 0x00258a9a, 0x03ef2f5f, 0x02ec4f30, 0x005a5ff0, 0x0392e007, 0x002ed01f, 0x03f7f3ab, 0x03d6b12a, 0x0005833c}}}, + {X: Field{[10]uint32{0x00c5fd88, 0x0154ef29, 0x033ea689, 0x0027c08b, 0x02991bd5, 0x02e81085, 0x00e0153a, 0x03801a77, 0x006e5b74, 0x0017541d}}, Y: Field{[10]uint32{0x03259ff8, 0x018462da, 0x00e58927, 0x01bedbb4, 0x0299cb33, 0x00a724ad, 0x03a2e484, 0x012c6ef6, 0x005fd2a1, 0x002c3ec8}}}, + {X: Field{[10]uint32{0x00be04ff, 0x0006a17f, 0x02cf0bbd, 0x02af1a1b, 0x01ef4483, 0x0180230b, 0x03087483, 0x018a7249, 0x0269fa27, 0x00386f09}}, Y: Field{[10]uint32{0x00d95ecf, 0x0027e103, 0x00e783d4, 0x0124efb6, 0x0315e8b1, 0x02ce86ca, 0x033fd435, 0x00248585, 0x0371083c, 0x001bedeb}}}, + {X: Field{[10]uint32{0x00bfbf78, 0x003732f6, 0x017a2fe9, 0x00833dc0, 0x02f36ac6, 0x037e873c, 0x00519797, 0x024f6d03, 0x001cb5a8, 0x0033f242}}, Y: Field{[10]uint32{0x02a69ac2, 0x00a6b9a5, 0x01659b5f, 0x00695713, 0x00db321d, 0x026fe05f, 0x0377c15a, 0x00bf0cbc, 0x01235077, 0x0009aa23}}}, + {X: Field{[10]uint32{0x0229bb9b, 0x03677d08, 0x014b05fa, 0x01621163, 0x00cd8ad1, 0x0263b5e3, 0x021246db, 0x01a314e5, 0x009d12bd, 0x00015367}}, Y: Field{[10]uint32{0x021cbff6, 0x01275db7, 0x025eba45, 0x00161248, 0x00f8de70, 0x034cf5f5, 0x00c961fe, 0x0089658c, 0x00311dec, 0x002d7a5f}}}, + {X: Field{[10]uint32{0x03057dff, 0x02d694d0, 0x002e8d64, 0x02a987f9, 0x02bfb11e, 0x01cd71ec, 0x00f19248, 0x01986740, 0x02e67e9d, 0x0022a453}}, Y: Field{[10]uint32{0x03c040c8, 0x0046b0c6, 0x01b05a63, 0x011a8bd6, 0x0199c518, 0x00a9be94, 0x002f018c, 0x0369262f, 0x01da3374, 0x0006e478}}}, + {X: Field{[10]uint32{0x00240522, 0x02c16574, 0x03b030a0, 0x010bef48, 0x00aa2f4c, 0x026ac2ae, 0x0304fbae, 0x0077eaf1, 0x01773e64, 0x00352e04}}, Y: Field{[10]uint32{0x025cc726, 0x03ef8159, 0x007b8ce6, 0x00d405c4, 0x01cf2e68, 0x003d037c, 0x01bd3642, 0x02853d29, 0x023b1ea4, 0x002b0c33}}}, + {X: Field{[10]uint32{0x00780ba9, 0x00999c05, 0x02004362, 0x00b9cb83, 0x006f3c8e, 0x024927d9, 0x002c3517, 0x00d5f2ee, 0x0387c232, 0x002e0429}}, Y: Field{[10]uint32{0x018319e2, 0x036eec05, 0x02ef76a2, 0x00c3c6de, 0x034a422c, 0x02af2119, 0x02bac769, 0x0375fc85, 0x00341078, 0x00150d90}}}, + {X: Field{[10]uint32{0x0134a833, 0x01cb4ffd, 0x00e0d14e, 0x00b63b1f, 0x00d29c76, 0x00e9fbb4, 0x01691eac, 0x023bdc6b, 0x00cedc73, 0x0035c7e2}}, Y: Field{[10]uint32{0x00fbcd99, 0x0139c583, 0x02ad9d2a, 0x0052570e, 0x0197c1b5, 0x02d31449, 0x019d0d97, 0x02b6ba8b, 0x02831aaa, 0x00291f33}}}, + {X: Field{[10]uint32{0x01147ffc, 0x02675c5b, 0x0217496c, 0x00b331b1, 0x011ad709, 0x018b3978, 0x01d9d896, 0x018a384e, 0x031d4cac, 0x0005c33c}}, Y: Field{[10]uint32{0x006d77a5, 0x02977b33, 0x013a46f9, 0x03b9a549, 0x01adf6c4, 0x0377cc46, 0x01e8baaa, 0x03d61405, 0x0094e741, 0x0013ecee}}}, + {X: Field{[10]uint32{0x00c316af, 0x0269913b, 0x034d3172, 0x01250216, 0x03bfd48d, 0x032e6956, 0x00cbf66e, 0x017a00e3, 0x02a3b127, 0x00239da4}}, Y: Field{[10]uint32{0x00c504b1, 0x02ad501a, 0x0241134c, 0x029ae291, 0x024fc0bf, 0x0399aa46, 0x0100665c, 0x01497899, 0x01d3af07, 0x003cce70}}}, + {X: Field{[10]uint32{0x02ca891a, 0x032fbe92, 0x00d40a27, 0x01a79da1, 0x02a07ca8, 0x038addf3, 0x0047002e, 0x017a04cb, 0x03383dda, 0x001747fc}}, Y: Field{[10]uint32{0x035fbb8b, 0x0246006f, 0x039cf5b0, 0x00ce34a5, 0x02fe8438, 0x01d31145, 0x032e62e0, 0x032f6d9d, 0x03acb0de, 0x00286b6c}}}, + {X: Field{[10]uint32{0x002b8af7, 0x03fdbb0f, 0x003ebd75, 0x01717d50, 0x00375e1c, 0x00deb556, 0x032605da, 0x0319af77, 0x03dda9de, 0x003559b3}}, Y: Field{[10]uint32{0x019c78bd, 0x02b78398, 0x01ed8427, 0x035efedd, 0x00b6007b, 0x016a4293, 0x01598bb2, 0x01b6a5d0, 0x032c7858, 0x0004f888}}}, + {X: Field{[10]uint32{0x03d96493, 0x0265f40b, 0x01e33764, 0x03389271, 0x033cb85b, 0x02e7b8f6, 0x01ae74b2, 0x00ebc666, 0x00f9cc71, 0x0032f5c2}}, Y: Field{[10]uint32{0x004cb2cb, 0x03e499da, 0x026d655c, 0x02fdae01, 0x01c264f4, 0x02276376, 0x037a5af8, 0x02c2e24c, 0x016c4ca9, 0x003c0687}}}, + {X: Field{[10]uint32{0x00ed0fe2, 0x02d6e8fc, 0x013f4ad4, 0x02e3e241, 0x03e8d049, 0x014e003c, 0x020bea21, 0x01cf2208, 0x00e4e8ac, 0x003fb87b}}, Y: Field{[10]uint32{0x0226aad6, 0x015a8bba, 0x0154f53d, 0x02c2f6c2, 0x02f9763d, 0x033d0bda, 0x013354a7, 0x0019028d, 0x00ea17c8, 0x0026d482}}}, + {X: Field{[10]uint32{0x02ee843f, 0x0122f251, 0x01dbb79c, 0x00cc5305, 0x01db916f, 0x032cd6a3, 0x03a6c3af, 0x01214e35, 0x0266de44, 0x0031aabe}}, Y: Field{[10]uint32{0x01505b1b, 0x02bceff4, 0x01bfa7cd, 0x016cc2c4, 0x0234c49d, 0x029b893e, 0x001a7617, 0x0243def2, 0x02b67fc5, 0x00229871}}}, + {X: Field{[10]uint32{0x01aac415, 0x0199e076, 0x02f1e0a8, 0x03ffc017, 0x02dcbe21, 0x0199aef3, 0x018551e7, 0x007df922, 0x016083d9, 0x002b0d45}}, Y: Field{[10]uint32{0x0334483d, 0x01f59804, 0x014945ac, 0x002e369b, 0x03557741, 0x03bb2289, 0x00318fbe, 0x026beca3, 0x01977710, 0x0035c276}}}, + {X: Field{[10]uint32{0x01914e18, 0x01a3dc8f, 0x02ef9219, 0x00d25419, 0x017a212e, 0x00eb013d, 0x0055d199, 0x0092d205, 0x021607c0, 0x002a2709}}, Y: Field{[10]uint32{0x03a3c1ab, 0x00867b84, 0x02199ac8, 0x01a10cf7, 0x013569ce, 0x03b636ac, 0x01f092f5, 0x0219b1df, 0x02626127, 0x0015474d}}}, + {X: Field{[10]uint32{0x00a3f06b, 0x02202347, 0x02a3a72e, 0x016bf491, 0x02b045b9, 0x03ee458b, 0x00018d8c, 0x0267aba5, 0x031db584, 0x00265460}}, Y: Field{[10]uint32{0x01e4d773, 0x021ec5b6, 0x01188fd4, 0x02856c34, 0x0081696e, 0x02ce1202, 0x0027146f, 0x03e19f56, 0x02ecb9d5, 0x003f8e6b}}}, + {X: Field{[10]uint32{0x001fba96, 0x009a489a, 0x02e8c78d, 0x03a4df34, 0x028615e2, 0x007b3af1, 0x01be26c6, 0x01111e55, 0x03e01456, 0x002dc785}}, Y: Field{[10]uint32{0x03b9e3bf, 0x007142d8, 0x03dc4301, 0x02a7324a, 0x031a6c5b, 0x03bfa554, 0x023cb224, 0x02e32e57, 0x01f1d21f, 0x003af3f7}}}, + {X: Field{[10]uint32{0x01914074, 0x020fff05, 0x002c22d6, 0x03b5399d, 0x032fe89f, 0x030f52f2, 0x020ef6a1, 0x027fdb51, 0x001edbdd, 0x00385c3e}}, Y: Field{[10]uint32{0x0396e67f, 0x019f9caa, 0x014d2d6f, 0x03af1f7c, 0x03801fa7, 0x03dbe72b, 0x02206e3d, 0x0072b233, 0x00ee0f97, 0x0024fc44}}}, + {X: Field{[10]uint32{0x02c104f2, 0x01757207, 0x00c73acf, 0x02291f73, 0x014ac8dd, 0x007eaeec, 0x00f04eda, 0x0017157b, 0x0147318d, 0x0010c695}}, Y: Field{[10]uint32{0x03a779e7, 0x0022fcaf, 0x00dea6fd, 0x01c1d72a, 0x027a6f1f, 0x01f2a09e, 0x03a1f045, 0x0068d92b, 0x00ad7b14, 0x000f8c62}}}, + {X: Field{[10]uint32{0x02203394, 0x03ffb098, 0x01eec383, 0x0245fc2d, 0x013c1932, 0x007e032c, 0x0226ce4a, 0x01d48caf, 0x026ee158, 0x000a679a}}, Y: Field{[10]uint32{0x01301575, 0x00a9df81, 0x010c93bb, 0x0393b4de, 0x0123c9b3, 0x03002815, 0x008e8bf4, 0x028846ff, 0x00ed3ad4, 0x00176edc}}}, + {X: Field{[10]uint32{0x038934ee, 0x01e32730, 0x0359fb09, 0x026fa80a, 0x01bc99ac, 0x0079fe09, 0x03b5f786, 0x0221a6cb, 0x008ff2b5, 0x0019b6d2}}, Y: Field{[10]uint32{0x00ae6a5f, 0x01adcc3a, 0x0017fc31, 0x03bfac52, 0x006040e7, 0x03da19b1, 0x010e9972, 0x020fe02c, 0x0112b51c, 0x002addb8}}}, + {X: Field{[10]uint32{0x02274932, 0x02091f49, 0x002a1c3c, 0x02d7fb50, 0x0054c812, 0x022b56dc, 0x03912fa7, 0x00354aec, 0x016b6698, 0x00049661}}, Y: Field{[10]uint32{0x02150383, 0x011631fc, 0x03c2245d, 0x02ee1c31, 0x02d70dfc, 0x015a06f0, 0x03e0557d, 0x02571fb7, 0x013fc678, 0x003ab5f3}}}, + {X: Field{[10]uint32{0x01f1cf00, 0x01d177ff, 0x02cf9102, 0x0233bfaf, 0x00426996, 0x03494b1f, 0x025272fd, 0x03cf732a, 0x0214cbb0, 0x00140b21}}, Y: Field{[10]uint32{0x03c53c3c, 0x0242654e, 0x0154c10b, 0x0001921c, 0x001b2f45, 0x01abc28e, 0x01d06951, 0x038d5bf6, 0x028807e4, 0x001c46f1}}}, + {X: Field{[10]uint32{0x02a8d6fd, 0x026f31c2, 0x00c42224, 0x03b05f00, 0x01f43acd, 0x01edadff, 0x01c10734, 0x01900fda, 0x013c323c, 0x00381446}}, Y: Field{[10]uint32{0x02560455, 0x0045f8e2, 0x039f1c85, 0x02c61fe2, 0x00c574d9, 0x0097098c, 0x011d2bcf, 0x023b985b, 0x0271ce42, 0x000840b0}}}, + {X: Field{[10]uint32{0x01f1dc46, 0x0381d06b, 0x02cb800a, 0x0162d4e2, 0x030abe7c, 0x030ecdf9, 0x03d90c15, 0x0234c8a7, 0x03ae0d76, 0x0032461e}}, Y: Field{[10]uint32{0x01c92c0f, 0x011ccd62, 0x000f8d75, 0x0373c9ff, 0x015714f6, 0x0056b0a7, 0x03d02526, 0x02e92865, 0x0043f9eb, 0x00304c35}}}, + {X: Field{[10]uint32{0x010fe897, 0x03b2367a, 0x017a16ea, 0x03513a0a, 0x0123dba4, 0x031ac190, 0x003ae701, 0x02cfb8ac, 0x027eb9f3, 0x0016c215}}, Y: Field{[10]uint32{0x010c27c9, 0x006a61ea, 0x02d92aa8, 0x012dd43f, 0x03914d4b, 0x03a3d32e, 0x02e9c726, 0x03246b37, 0x00159079, 0x002b41c7}}}, + {X: Field{[10]uint32{0x003ba7cc, 0x03d2946d, 0x0286f839, 0x015343aa, 0x038a9cc5, 0x0189a46a, 0x0306a26d, 0x01ea1b3e, 0x008ac581, 0x002b96d9}}, Y: Field{[10]uint32{0x032db311, 0x03a49750, 0x019830d5, 0x004a9bfa, 0x0166e752, 0x0285f18a, 0x00a48c3d, 0x0308aaac, 0x030db665, 0x0007aa2a}}}, + {X: Field{[10]uint32{0x010178d2, 0x00085222, 0x038f0421, 0x034c9f95, 0x0004f2e0, 0x03326aed, 0x02ea5c5c, 0x0215b663, 0x00d0a092, 0x000ee6eb}}, Y: Field{[10]uint32{0x01bd5052, 0x031977c8, 0x024911fd, 0x011fc606, 0x00b79be4, 0x02a4a6b8, 0x03628d7e, 0x02e8715e, 0x008e9603, 0x002da07a}}}, + {X: Field{[10]uint32{0x0259fef4, 0x0016a191, 0x02d7ee8d, 0x01e8707d, 0x03f6dfbf, 0x0179056a, 0x022f8279, 0x019b6b54, 0x0180a740, 0x0014937d}}, Y: Field{[10]uint32{0x0252f35f, 0x02ae9c89, 0x039c1ed2, 0x03e78d62, 0x019c72c5, 0x034c0bbc, 0x03c210ca, 0x0307869b, 0x03285f3b, 0x000feb31}}}, + {X: Field{[10]uint32{0x010e4363, 0x034c2751, 0x00cdff6e, 0x03a9ff1c, 0x01599a34, 0x01202e1d, 0x0109a383, 0x01d7121f, 0x03f2ade7, 0x000b818d}}, Y: Field{[10]uint32{0x0364738e, 0x0228283d, 0x023696da, 0x03bab69c, 0x031aafb7, 0x012b557c, 0x038e903e, 0x01392731, 0x03087e2f, 0x0038f1ba}}}, + {X: Field{[10]uint32{0x020cc483, 0x0184c2ea, 0x0364bbda, 0x00a089bd, 0x033f7857, 0x021ee509, 0x013fb335, 0x02f4ef90, 0x02adbeaf, 0x003dffb1}}, Y: Field{[10]uint32{0x0208c68d, 0x014c7467, 0x00544c66, 0x00eb967f, 0x03dd4209, 0x018ee5da, 0x00fefd8e, 0x015f1ff2, 0x01748eb4, 0x003d91aa}}}, + {X: Field{[10]uint32{0x023608be, 0x0362f122, 0x0229929a, 0x025d3609, 0x00cd6eb4, 0x03624b72, 0x02c95b12, 0x01310cad, 0x00e06af6, 0x001d7e53}}, Y: Field{[10]uint32{0x01958a29, 0x0221deec, 0x026c622e, 0x0248b1ef, 0x026e32c8, 0x007b001d, 0x0316b322, 0x0241a9a4, 0x02d0a2b7, 0x002fe1c5}}}, + {X: Field{[10]uint32{0x03fb4d85, 0x0370733c, 0x0104331b, 0x03a74c04, 0x00f62e07, 0x0321a424, 0x00f039fc, 0x03cf2c31, 0x02de5e0d, 0x001040a5}}, Y: Field{[10]uint32{0x03fecfa0, 0x03dcbb4f, 0x0396c383, 0x01ff2187, 0x02da7426, 0x018996e0, 0x00a82ff8, 0x03765aae, 0x039ca314, 0x003a58d5}}}, + {X: Field{[10]uint32{0x033ffa05, 0x03ff8035, 0x03b23cbd, 0x02605b3e, 0x0369b4e6, 0x025f699e, 0x03c1703d, 0x0385acbd, 0x02ac05f5, 0x00332093}}, Y: Field{[10]uint32{0x013e8abb, 0x03c428cd, 0x02aa8b8c, 0x006a4abe, 0x03d18c6f, 0x01f1e203, 0x00582182, 0x013be577, 0x01a69f41, 0x0005f0c3}}}, + {X: Field{[10]uint32{0x026e5820, 0x03fc44df, 0x00d03a83, 0x0193e976, 0x03d2074b, 0x00c5dc1d, 0x00f0b3fd, 0x03b6335e, 0x00ef4d26, 0x002b306c}}, Y: Field{[10]uint32{0x003ce6c3, 0x01432367, 0x04000111, 0x03405a79, 0x014fcd24, 0x03e3efbb, 0x01d2a804, 0x02ba4406, 0x00c68519, 0x001b3391}}}, + {X: Field{[10]uint32{0x010da922, 0x03f1c6f2, 0x038257c2, 0x0238c61d, 0x01583c2b, 0x00c62e48, 0x034bccf4, 0x00766c1d, 0x036eccce, 0x00072cc1}}, Y: Field{[10]uint32{0x00e373cc, 0x021d2393, 0x03b04c62, 0x03cb3c96, 0x02a6372d, 0x03b37168, 0x0217dfd3, 0x0181760a, 0x036c0058, 0x000a8bc9}}}, + {X: Field{[10]uint32{0x00fe13f2, 0x02096aa1, 0x039783d5, 0x0085e8e2, 0x008cb3a5, 0x02796900, 0x03ea9750, 0x03d26d61, 0x00512a22, 0x001bbf69}}, Y: Field{[10]uint32{0x038e2424, 0x0251d621, 0x0103954a, 0x03f6f2f5, 0x0360673c, 0x03968a96, 0x032a54ad, 0x00becc7f, 0x02d56dfe, 0x00047513}}}, + {X: Field{[10]uint32{0x01bf0858, 0x00c30ee7, 0x01cdd51b, 0x03345f7a, 0x02e2fcf1, 0x02a3f665, 0x00931ecd, 0x00de2d73, 0x0219aef4, 0x0011fda5}}, Y: Field{[10]uint32{0x00b5e274, 0x0242251f, 0x03ee9bf8, 0x022b0cea, 0x020d2fa2, 0x0135c359, 0x0057af2a, 0x038f5b69, 0x02a19776, 0x00052555}}}, + {X: Field{[10]uint32{0x014d28e4, 0x0120cd5e, 0x00d4f8ff, 0x02f0691f, 0x028b2eae, 0x00e86789, 0x01032c51, 0x0375754e, 0x021e97f5, 0x00374f63}}, Y: Field{[10]uint32{0x00467e83, 0x03e7aa93, 0x029c2e0f, 0x02ec0d2f, 0x030c2233, 0x020bafcc, 0x033d7c63, 0x02a0eaa5, 0x000020f6, 0x001e5a2f}}}, + {X: Field{[10]uint32{0x01e16d78, 0x02b4ad99, 0x01f9197a, 0x02dd414d, 0x027de2a2, 0x00f2d2cc, 0x015737cd, 0x00e9b2f9, 0x00eea19d, 0x000af515}}, Y: Field{[10]uint32{0x029f7f99, 0x03c7f5c4, 0x037549c1, 0x01221f8f, 0x039f7c62, 0x02b503fa, 0x0271c667, 0x009e3cd0, 0x00f0d6a1, 0x00029c2c}}}, + {X: Field{[10]uint32{0x035a5ee0, 0x00cc6103, 0x02d91047, 0x037c4eb0, 0x02915462, 0x02899e13, 0x02035b29, 0x01d2d136, 0x01bb2a7e, 0x00233f9d}}, Y: Field{[10]uint32{0x0207cd1e, 0x03cb8919, 0x01ca1eef, 0x0289ff6b, 0x00b65c2d, 0x02491550, 0x02226d1c, 0x01f2193d, 0x0056bdc8, 0x001923ff}}}, + {X: Field{[10]uint32{0x01724d36, 0x02cc9559, 0x02f6e665, 0x01a13c44, 0x005e046a, 0x012d5ef2, 0x03dab832, 0x018b2f0b, 0x00ae19c4, 0x0017bfcd}}, Y: Field{[10]uint32{0x004d68a4, 0x03378568, 0x026b0ccf, 0x020d1f1a, 0x01d551e7, 0x00b80414, 0x0289629d, 0x011fff08, 0x01bb9db3, 0x000663ed}}}, + {X: Field{[10]uint32{0x00f92b91, 0x0198e7de, 0x02a61042, 0x02e07c62, 0x00a2c51b, 0x01d8c5dd, 0x02db6244, 0x00ec238d, 0x0154f367, 0x0026a951}}, Y: Field{[10]uint32{0x01384806, 0x0235e118, 0x006fa75c, 0x01197c97, 0x011d167b, 0x01cad42f, 0x0222faf2, 0x01d0134b, 0x03ad4a6e, 0x0021d128}}}, + {X: Field{[10]uint32{0x03f259e0, 0x032d4e97, 0x0165a955, 0x02a2e75d, 0x03ac88a2, 0x037c1bae, 0x007463c5, 0x0165c37f, 0x01758cfb, 0x0012e0dd}}, Y: Field{[10]uint32{0x028df208, 0x0069793e, 0x02aa9917, 0x01aaadea, 0x02ed7076, 0x0048cf7d, 0x0074396a, 0x0294fdb9, 0x0142bda1, 0x0021d647}}}, + {X: Field{[10]uint32{0x02428bb1, 0x03317bdd, 0x00428226, 0x009615cd, 0x03c49dc7, 0x01671f3b, 0x03f5a579, 0x03e4399c, 0x00b49134, 0x001752dd}}, Y: Field{[10]uint32{0x02d89425, 0x001e83ef, 0x03cfcb1f, 0x02efc670, 0x00cdc2f6, 0x00036368, 0x026bf3f1, 0x03b856af, 0x0110f466, 0x0006caa2}}}, + {X: Field{[10]uint32{0x03cad2d8, 0x00a8c255, 0x002b2570, 0x0105eae7, 0x002d4754, 0x018bb9a0, 0x013bafaf, 0x01133976, 0x02c0c552, 0x003542f8}}, Y: Field{[10]uint32{0x0162f583, 0x00735700, 0x0144ef24, 0x03c82f11, 0x005a4dc0, 0x03aa9779, 0x01854617, 0x026ad300, 0x024c6ee8, 0x003f881f}}}, + {X: Field{[10]uint32{0x0075bff1, 0x0280d384, 0x032e9a1d, 0x03c505b6, 0x02f93bbf, 0x02fe616a, 0x02489155, 0x02ce1193, 0x01ce8e0e, 0x002ec3d8}}, Y: Field{[10]uint32{0x037b7d0e, 0x03dbefed, 0x00412631, 0x0184c51d, 0x034e6b05, 0x02f2c23b, 0x02a1032c, 0x02c37cc3, 0x03152dde, 0x000004e9}}}, + {X: Field{[10]uint32{0x01dcb2f5, 0x00cafe13, 0x03d22886, 0x02785366, 0x0263e22b, 0x00bf17be, 0x00e41fb2, 0x0006c85c, 0x01db473f, 0x000f39af}}, Y: Field{[10]uint32{0x00e0922e, 0x01e896ab, 0x01edf8d4, 0x023c6eb0, 0x029a8426, 0x0043714b, 0x02b73081, 0x034a6109, 0x0057f4b3, 0x0010c218}}}, + {X: Field{[10]uint32{0x038f81aa, 0x01d182ec, 0x03c85bd3, 0x03c695b0, 0x02bbcbbf, 0x01f36dd7, 0x00b5490c, 0x0202ff24, 0x014aef16, 0x003ff7ec}}, Y: Field{[10]uint32{0x02f4af0d, 0x005bb87a, 0x00a547c2, 0x031ceef3, 0x0124f228, 0x02522d69, 0x02880d0e, 0x03c6788c, 0x01ef02f1, 0x003cc117}}}, + {X: Field{[10]uint32{0x0223172c, 0x03e93020, 0x000fed59, 0x000941eb, 0x02c828d1, 0x008cc2bb, 0x026eb60a, 0x00993604, 0x02e19ab4, 0x0006b07c}}, Y: Field{[10]uint32{0x00e18bf8, 0x03c64db6, 0x027f5133, 0x018e06d3, 0x02d8fae0, 0x020363c0, 0x015e3a8f, 0x021abec8, 0x00bc3394, 0x001d8da9}}}, + {X: Field{[10]uint32{0x01ec228e, 0x01987b2b, 0x009a22d6, 0x02d81f9b, 0x01b1a1a6, 0x0083c8ce, 0x002957aa, 0x03a26985, 0x000a0740, 0x001494d3}}, Y: Field{[10]uint32{0x0261b669, 0x02a5f3cc, 0x022f1365, 0x00d6ba00, 0x02e1a318, 0x02213ebe, 0x02c2fa5d, 0x03226707, 0x02bafe41, 0x0033dbf9}}}, + {X: Field{[10]uint32{0x011b09eb, 0x03d91899, 0x0278d5b9, 0x00b25928, 0x0104f36f, 0x00df4cac, 0x00dccd61, 0x00b0b1e3, 0x02857cd2, 0x00102480}}, Y: Field{[10]uint32{0x01031d0d, 0x0384b10b, 0x025fb3bd, 0x023ae2a1, 0x01f6b773, 0x013c5824, 0x01fef1bf, 0x00f8fd9b, 0x0373a5fa, 0x00103253}}}, + {X: Field{[10]uint32{0x03029289, 0x006f1466, 0x019e70c8, 0x030901a7, 0x0225a5b3, 0x021036c5, 0x02ac6e4e, 0x0336c852, 0x00334b9c, 0x0022c74f}}, Y: Field{[10]uint32{0x0223e853, 0x035b6d57, 0x006e5630, 0x027c517e, 0x03802076, 0x01e0889d, 0x01658985, 0x0256647f, 0x00642acf, 0x000453f5}}}, + {X: Field{[10]uint32{0x00a242bd, 0x01ce5e7d, 0x020fd7e4, 0x0398f4d1, 0x008a6055, 0x019058b7, 0x006bbd20, 0x03c4e967, 0x0260b7c7, 0x002b8537}}, Y: Field{[10]uint32{0x0065a412, 0x031a8f93, 0x00ef16ca, 0x039ebe80, 0x03afccfe, 0x01dbc844, 0x00463e23, 0x028cce85, 0x0089cdb5, 0x0022e581}}}, + {X: Field{[10]uint32{0x02d3e3d7, 0x020e1b8b, 0x02420078, 0x01204df7, 0x03b81539, 0x037f76eb, 0x00d4e395, 0x0179b0fa, 0x004099c9, 0x003cdfc7}}, Y: Field{[10]uint32{0x03fb3606, 0x003028ec, 0x01af5031, 0x004413d4, 0x030a5644, 0x033dd95d, 0x0283d769, 0x02b4d2c8, 0x008082f6, 0x0007ca40}}}, + {X: Field{[10]uint32{0x03017a84, 0x00fb2c86, 0x005dfaa5, 0x00cd99b4, 0x00a13f89, 0x030925af, 0x0041c1d3, 0x022270d1, 0x03ae9636, 0x0007ec1f}}, Y: Field{[10]uint32{0x037753c0, 0x03e32718, 0x03cb7b8d, 0x011bea5f, 0x0358e6da, 0x01ffd546, 0x0368934b, 0x015dab12, 0x01c93931, 0x0004a062}}}, + {X: Field{[10]uint32{0x0015f3cc, 0x0365ca12, 0x0371552b, 0x0087435a, 0x032afb07, 0x02e88ae9, 0x00ea2b51, 0x03b3b520, 0x0354e112, 0x0011347a}}, Y: Field{[10]uint32{0x02ed7043, 0x02a6cabc, 0x0288e3c3, 0x02df56db, 0x02ea1855, 0x035e4e3e, 0x0273e02e, 0x0149bc49, 0x0328574c, 0x0029b84e}}}, + {X: Field{[10]uint32{0x0103238e, 0x02559168, 0x03cbfd87, 0x0229d669, 0x00ec9491, 0x01dbdef4, 0x02311cff, 0x02e1d5ff, 0x032e5732, 0x001a6025}}, Y: Field{[10]uint32{0x03d26a5e, 0x03ac18d8, 0x03c262d2, 0x03385f16, 0x02ac4a0f, 0x024be826, 0x0376b24a, 0x02450c85, 0x00324ffb, 0x001ee7fa}}}, + {X: Field{[10]uint32{0x00efcfa3, 0x00c09554, 0x0379bf70, 0x018a7616, 0x01a8566a, 0x03d901a8, 0x019639c4, 0x02c79379, 0x009d405b, 0x001a8ea3}}, Y: Field{[10]uint32{0x02c038ba, 0x023799b2, 0x0124d0ce, 0x03ae7546, 0x002e0f59, 0x025ad1e9, 0x01b408e1, 0x03412a3f, 0x02e87b22, 0x000fa2ae}}}, + {X: Field{[10]uint32{0x0012ed0b, 0x00e42d91, 0x036831da, 0x013251b0, 0x03bfb680, 0x02f3e809, 0x01844c4d, 0x01192afd, 0x00d41598, 0x003fcc42}}, Y: Field{[10]uint32{0x03d0a317, 0x01cb51f2, 0x03515dc0, 0x03408672, 0x0011f5d4, 0x01c15192, 0x02abe857, 0x03422571, 0x01e33ee1, 0x00201559}}}, + {X: Field{[10]uint32{0x01517d73, 0x024c93a5, 0x011bb213, 0x01406012, 0x03499727, 0x00d772d6, 0x0134e533, 0x0126acf8, 0x036a2f85, 0x0003b93d}}, Y: Field{[10]uint32{0x0071a838, 0x0204125c, 0x0075c8fe, 0x01f628a4, 0x03830736, 0x032509d9, 0x0189e899, 0x00ac45a2, 0x01672240, 0x001af640}}}, + {X: Field{[10]uint32{0x0053e0a4, 0x023d4693, 0x01966ac7, 0x00163342, 0x00230c63, 0x032eae83, 0x023b7205, 0x02563cda, 0x01cb01ca, 0x0030845d}}, Y: Field{[10]uint32{0x0072bf51, 0x008da233, 0x02a44ea9, 0x03acbff9, 0x01585a02, 0x03021760, 0x02a0ecd2, 0x0282bc95, 0x03a67a7c, 0x001a8860}}}, + {X: Field{[10]uint32{0x0237d6fc, 0x0272fce6, 0x01292c40, 0x030317cb, 0x03953141, 0x01f2ae46, 0x0246e39e, 0x02ce60d3, 0x0008a9a0, 0x000b5793}}, Y: Field{[10]uint32{0x01c6e15e, 0x0190119d, 0x03054d61, 0x0087713b, 0x004b5127, 0x024017b4, 0x0234f37e, 0x00c7e824, 0x01c531a3, 0x001d5a6e}}}, + {X: Field{[10]uint32{0x0315dbc3, 0x030a932e, 0x01c26ef7, 0x019dade6, 0x015d573b, 0x00c5d97c, 0x00124086, 0x03ac2730, 0x0041bfbb, 0x0018c0b0}}, Y: Field{[10]uint32{0x02491025, 0x02bc209f, 0x0063f915, 0x02201279, 0x01a1e514, 0x0024cba4, 0x00ddfedd, 0x010a82b1, 0x020f67ce, 0x000caa3c}}}, + {X: Field{[10]uint32{0x01934e2d, 0x00d98481, 0x0308ca3b, 0x0330b7aa, 0x005b6c67, 0x027be6e5, 0x01c9cfb8, 0x03823bdf, 0x016c198d, 0x000f9854}}, Y: Field{[10]uint32{0x037520d9, 0x01b818c0, 0x00dbee95, 0x03b41239, 0x005692f3, 0x003d89e1, 0x03849447, 0x01c413dd, 0x03f74d5f, 0x0007bfee}}}, + {X: Field{[10]uint32{0x0142fe30, 0x02ac2bb9, 0x005a7d8a, 0x0064422c, 0x01b89892, 0x03ccc148, 0x0335a378, 0x00d3492a, 0x02b2d7d1, 0x0028022e}}, Y: Field{[10]uint32{0x01b475a1, 0x027f8c54, 0x01de6be0, 0x03aa0ae6, 0x03f5454a, 0x02701790, 0x03ec2fde, 0x001b9518, 0x03ec903c, 0x001de8dd}}}, + {X: Field{[10]uint32{0x0224005f, 0x02645fa9, 0x022f8c38, 0x019c05bc, 0x03287114, 0x00b90c05, 0x00f42b80, 0x0258aa54, 0x0348b928, 0x001de0bf}}, Y: Field{[10]uint32{0x03608c15, 0x0322263e, 0x03c18c78, 0x033d6c8a, 0x008ad2c9, 0x026ebf8c, 0x01b766db, 0x00f832b4, 0x024938a0, 0x001e3c8f}}}, + {X: Field{[10]uint32{0x03ddcfc2, 0x019dbe09, 0x03c20d20, 0x01c633fb, 0x02f6ffbe, 0x03225bba, 0x0019d648, 0x02d13f44, 0x0278c26a, 0x0008ced2}}, Y: Field{[10]uint32{0x033b655c, 0x00fb679d, 0x037b518f, 0x0108b825, 0x01f553d3, 0x020a1337, 0x03ddc1a4, 0x037e4121, 0x0036d976, 0x00379421}}}, + {X: Field{[10]uint32{0x01b8bb0e, 0x0177831c, 0x02a0792c, 0x008ca57c, 0x023f7a46, 0x03630cd0, 0x03d7aed2, 0x03524f60, 0x022906ee, 0x0020052a}}, Y: Field{[10]uint32{0x03583d92, 0x01b75543, 0x02444f3e, 0x02be0687, 0x01695f39, 0x0215aa78, 0x030caba4, 0x02f26c45, 0x029df2a5, 0x0037161c}}}, + {X: Field{[10]uint32{0x03bbdfce, 0x012ad676, 0x012c1b28, 0x03abafab, 0x0060882a, 0x02f18723, 0x03050ce7, 0x02b9c46e, 0x010b233d, 0x0022807a}}, Y: Field{[10]uint32{0x0291fdb0, 0x0376eb5d, 0x01cf4ca4, 0x03bc8294, 0x03b34b72, 0x00b2569d, 0x0006cc41, 0x01a4fa4b, 0x035dc9e3, 0x001603b5}}}, + {X: Field{[10]uint32{0x02e733b4, 0x02e48c86, 0x011a44cb, 0x006825af, 0x03a56988, 0x020ae81f, 0x026372d5, 0x024561c3, 0x034924a2, 0x00014288}}, Y: Field{[10]uint32{0x038cc751, 0x02af3699, 0x03cde3ed, 0x0038bdf3, 0x03aa21d0, 0x0111bf38, 0x01d8e2fa, 0x0007529e, 0x0220a977, 0x001a50f0}}}, + {X: Field{[10]uint32{0x02aa6d83, 0x00821ebb, 0x015cecbd, 0x01b6a299, 0x02b51b8f, 0x0209903b, 0x0307bd61, 0x01d13dea, 0x03578c96, 0x0032fd24}}, Y: Field{[10]uint32{0x028d4bf0, 0x03c1f13b, 0x011d5e75, 0x02961f41, 0x0129e79f, 0x01212813, 0x00bdb1c9, 0x036e6501, 0x02f45711, 0x001346cd}}}, + {X: Field{[10]uint32{0x028efe38, 0x026e9c62, 0x03d89ad5, 0x007fe93a, 0x007c63d1, 0x00a2cc76, 0x0164c2e8, 0x034a5a34, 0x0175e4ed, 0x001cdecf}}, Y: Field{[10]uint32{0x01f31586, 0x0208ad4d, 0x03439e7c, 0x01b74e1d, 0x02ff1ebf, 0x03720c9e, 0x027002ee, 0x03945514, 0x03a18aa8, 0x003b1fde}}}, + {X: Field{[10]uint32{0x0038813a, 0x008bff2b, 0x00b8bb7e, 0x03166aaa, 0x028812e0, 0x035ed105, 0x03f46d69, 0x00e6b9b1, 0x00642519, 0x000a72ca}}, Y: Field{[10]uint32{0x00a2e6e9, 0x02edcebb, 0x038f0528, 0x01477af4, 0x03b5f1eb, 0x01043fc6, 0x02d77c8b, 0x02cb1725, 0x000a7c98, 0x0030fb0a}}}, + {X: Field{[10]uint32{0x0228fe9d, 0x01653f17, 0x01d352c9, 0x015091d0, 0x03f36689, 0x0065e553, 0x00dffa25, 0x00bef791, 0x02592428, 0x0006162a}}, Y: Field{[10]uint32{0x02d4bd46, 0x03b0a074, 0x0248596f, 0x03512f9d, 0x00be50b1, 0x01f92ad3, 0x03d7879a, 0x027eae7e, 0x01d6b0a6, 0x00283a24}}}, + {X: Field{[10]uint32{0x022eb75c, 0x03a45d21, 0x004fc2a9, 0x02374d1b, 0x0126c137, 0x013c24ba, 0x03ae314d, 0x003abd9e, 0x00581a42, 0x001cb39f}}, Y: Field{[10]uint32{0x0025ae1c, 0x012f781d, 0x02ff3628, 0x007fdd18, 0x038bec12, 0x002162ee, 0x02236ae3, 0x00f833db, 0x037a5a9c, 0x0008ca45}}}, + {X: Field{[10]uint32{0x03112903, 0x035bd1ab, 0x0031517b, 0x02f403b3, 0x00a3f9dc, 0x02777e6f, 0x03dcb830, 0x02db492a, 0x025e5dfa, 0x000d3072}}, Y: Field{[10]uint32{0x02a1f803, 0x02a01ec8, 0x021a27ac, 0x0093ad26, 0x0080088a, 0x02962682, 0x03c4aeb6, 0x03325c0d, 0x02adc931, 0x0024fdbf}}}, + {X: Field{[10]uint32{0x00392c36, 0x02e83749, 0x02243284, 0x011e7389, 0x028d348b, 0x03b8f59d, 0x003100cc, 0x01619fe0, 0x004a80af, 0x0001f16b}}, Y: Field{[10]uint32{0x02fc5828, 0x003a9019, 0x01b86337, 0x03faad61, 0x00a3201c, 0x03a9eae1, 0x03db23d1, 0x03991cc7, 0x0164903b, 0x002911a2}}}, + {X: Field{[10]uint32{0x00363caa, 0x012dfb13, 0x00b35e59, 0x00f69d1b, 0x010b57bf, 0x01a0ffdf, 0x018851c8, 0x01dca06a, 0x0113244c, 0x002f8b77}}, Y: Field{[10]uint32{0x02580fa2, 0x0391648f, 0x01f257df, 0x02151e56, 0x018c45ea, 0x02f1ee99, 0x033e5b92, 0x028b3c73, 0x01390af8, 0x002b6dd6}}}, + {X: Field{[10]uint32{0x02c13806, 0x0285d923, 0x039b7901, 0x00ae0665, 0x037f7b22, 0x018b7f67, 0x0244471d, 0x03bf7292, 0x036a3b3b, 0x001b7b87}}, Y: Field{[10]uint32{0x002e5651, 0x02e66657, 0x01ab6af3, 0x00c43d90, 0x021a9a24, 0x02c04c48, 0x000356ce, 0x03dbffe3, 0x01014fa5, 0x001767a1}}}, + {X: Field{[10]uint32{0x01e68c19, 0x039bf9e7, 0x03c3180e, 0x01afdaeb, 0x02c76438, 0x01ec4544, 0x00355b3a, 0x023b5d24, 0x00e68e2c, 0x00057c99}}, Y: Field{[10]uint32{0x00326aba, 0x00fe315c, 0x0374eddf, 0x02ae9daa, 0x03c41291, 0x01c73ca6, 0x01053fd3, 0x03d023be, 0x0126302b, 0x002415d3}}}, + {X: Field{[10]uint32{0x029c91a3, 0x026017af, 0x036660df, 0x01ec60fc, 0x016d4c5e, 0x02a61323, 0x0192b785, 0x022433a9, 0x03e904cc, 0x000f5f3e}}, Y: Field{[10]uint32{0x03f62808, 0x01f7f979, 0x00d12682, 0x01239d8c, 0x0042b30b, 0x01aa12d5, 0x0351694f, 0x00196be3, 0x01d44ea7, 0x00355737}}}, + {X: Field{[10]uint32{0x003a1e10, 0x00773667, 0x02e1445b, 0x02c1ffaf, 0x011ec637, 0x0125c480, 0x035dd3e7, 0x014771ea, 0x03f90d79, 0x00150e22}}, Y: Field{[10]uint32{0x02e5a547, 0x03bfd52a, 0x03dcf6fb, 0x030aa75b, 0x03725f99, 0x03d58348, 0x008738b3, 0x00a97e6f, 0x038825dc, 0x0005ecd9}}}, + {X: Field{[10]uint32{0x02088313, 0x03c065da, 0x03c94be5, 0x03154818, 0x00425327, 0x024a05e5, 0x00a0d2cc, 0x02029652, 0x03dd9a00, 0x000f08a7}}, Y: Field{[10]uint32{0x02926a1c, 0x036ee34a, 0x01d8d3a8, 0x01c7fb48, 0x01192f0a, 0x00dcf141, 0x0083d12c, 0x020ed2be, 0x0395a84f, 0x000d25d5}}}, + {X: Field{[10]uint32{0x03c63210, 0x00149c49, 0x02b26157, 0x0138dbc6, 0x011974e7, 0x03ea35eb, 0x0291f368, 0x01669b85, 0x036ee146, 0x002d84ae}}, Y: Field{[10]uint32{0x00df5bb4, 0x0181cb29, 0x00dc223b, 0x005fa382, 0x02052408, 0x0357a3aa, 0x0077733d, 0x0337c7e5, 0x005dd623, 0x00016523}}}, + {X: Field{[10]uint32{0x0305f613, 0x037bf81e, 0x03d64d2e, 0x0108bbec, 0x03ae381e, 0x024038ce, 0x0341ed3e, 0x003750a0, 0x01855447, 0x003b15b9}}, Y: Field{[10]uint32{0x015e9c45, 0x03d9b3ca, 0x016d9df8, 0x00334ec5, 0x0286effe, 0x01e2f39d, 0x03f2bd65, 0x038c237f, 0x0151acf6, 0x003b35fc}}}, + {X: Field{[10]uint32{0x0011f80d, 0x039d23ff, 0x0308f25e, 0x02bf9353, 0x02a565ee, 0x026c56c9, 0x000c8baf, 0x027e3ef6, 0x03ca85ff, 0x00006fbc}}, Y: Field{[10]uint32{0x012914f9, 0x0315a0fe, 0x03135272, 0x002b7a22, 0x01125f0a, 0x006f2262, 0x014b8927, 0x0125ee86, 0x00bb96be, 0x003f8098}}}, + {X: Field{[10]uint32{0x0107c20a, 0x0020fa64, 0x0325168a, 0x03968bae, 0x010c4b27, 0x034afd2b, 0x00e42653, 0x01a38aa4, 0x004a522b, 0x0006f6eb}}, Y: Field{[10]uint32{0x00d63ea1, 0x00a10e54, 0x03a9e3d2, 0x009c38fe, 0x025b09e1, 0x00ba2c81, 0x00467b9d, 0x01fe8004, 0x03263ede, 0x00135838}}}, + {X: Field{[10]uint32{0x0262fc84, 0x027aab4d, 0x038373bd, 0x01ffa252, 0x026e601b, 0x02cb0b08, 0x01e0f8b1, 0x02e36954, 0x039a567a, 0x003a40cb}}, Y: Field{[10]uint32{0x00eb70e9, 0x00c65b5d, 0x0400064e, 0x0252372c, 0x0121d609, 0x02bf783c, 0x00b0a49d, 0x006bce83, 0x03e647d2, 0x0002b158}}}, + {X: Field{[10]uint32{0x00f79c75, 0x0241f0c2, 0x011a9fda, 0x03af2281, 0x03a9608d, 0x015b8d19, 0x0108044f, 0x03dd2295, 0x02ec044a, 0x001f39d1}}, Y: Field{[10]uint32{0x02aa426a, 0x0103f57c, 0x017d5406, 0x02814beb, 0x012c6b8f, 0x01bcf006, 0x03bbb804, 0x02f48ef9, 0x01c13166, 0x0023c21e}}}, + {X: Field{[10]uint32{0x0359eecd, 0x01b7932e, 0x01fc906c, 0x032fbcda, 0x0068862d, 0x01b34c80, 0x01298564, 0x01b47282, 0x038919de, 0x00383549}}, Y: Field{[10]uint32{0x02886b20, 0x028a51b2, 0x03ce88cd, 0x03c74faf, 0x01f46680, 0x025d02f5, 0x03547912, 0x03764293, 0x039db4eb, 0x00263d19}}}, + {X: Field{[10]uint32{0x025ca397, 0x004eba9f, 0x01f1800a, 0x02159070, 0x02e28c8b, 0x00bc8222, 0x000a4d48, 0x012d6110, 0x01cdcf1f, 0x0031a891}}, Y: Field{[10]uint32{0x021ac628, 0x0399da25, 0x01bf3605, 0x02a0cc08, 0x01cb11ec, 0x02d79b34, 0x00ff944a, 0x032c2656, 0x03b9f8f2, 0x0034c1b6}}}, + {X: Field{[10]uint32{0x0295c910, 0x00a1b9cd, 0x02b06a1b, 0x00652837, 0x024ade09, 0x026661ff, 0x0334acec, 0x03c20a87, 0x008d9710, 0x003fe55b}}, Y: Field{[10]uint32{0x03bcc306, 0x008f4304, 0x0239fb78, 0x03b2c38b, 0x01a8086a, 0x0362a4dd, 0x028c832f, 0x03f5187f, 0x012b866a, 0x003eafb1}}}, + {X: Field{[10]uint32{0x02c23af0, 0x00485489, 0x00cc73ff, 0x0059bd2b, 0x025cef12, 0x0313709d, 0x0344fe45, 0x01813343, 0x024a0d1a, 0x00152776}}, Y: Field{[10]uint32{0x000631ef, 0x03dd9784, 0x00381a33, 0x025d58b1, 0x01166fec, 0x02aec578, 0x02eede71, 0x02a0980d, 0x03c0e05b, 0x001c78eb}}}, + {X: Field{[10]uint32{0x02776416, 0x01f99127, 0x01723207, 0x004bb708, 0x016070dd, 0x037647e7, 0x01896e82, 0x01cf339a, 0x03090215, 0x0019b4f7}}, Y: Field{[10]uint32{0x03b46d5d, 0x03c9e756, 0x01ebc25f, 0x0327aa4c, 0x0009ccf1, 0x02bc162f, 0x0029dd3e, 0x03b8fb65, 0x021359a2, 0x0024e605}}}, + {X: Field{[10]uint32{0x01e4f8d9, 0x01c0bd5e, 0x01be737b, 0x02083eb8, 0x028a4d7a, 0x01713c61, 0x013ede5a, 0x018e1a71, 0x01bc0942, 0x00186f4f}}, Y: Field{[10]uint32{0x0082e780, 0x015cad38, 0x02caac1b, 0x020788cd, 0x00502aee, 0x003be923, 0x01ddf540, 0x013d24b2, 0x0247e27d, 0x0023015a}}}, + {X: Field{[10]uint32{0x00178f4e, 0x01bcee60, 0x0000647d, 0x01dbe99f, 0x004ef20c, 0x005236c7, 0x002f7849, 0x036aa49c, 0x03464a31, 0x00229b62}}, Y: Field{[10]uint32{0x028f7407, 0x019f2eab, 0x00d8ccfe, 0x02864efd, 0x03c31309, 0x02081451, 0x0082f9e3, 0x01d8065b, 0x02eee408, 0x00347d01}}}, + {X: Field{[10]uint32{0x022e573e, 0x03f47924, 0x02b1b809, 0x01096b3d, 0x0137893b, 0x03b76607, 0x00aa90e1, 0x021105c0, 0x029399eb, 0x0038ad83}}, Y: Field{[10]uint32{0x0219f7af, 0x004fba93, 0x029ed635, 0x02b42003, 0x01bd8a38, 0x02cd75e2, 0x0209dc0a, 0x020a6a2b, 0x025fe394, 0x001a2831}}}, + {X: Field{[10]uint32{0x00f55e85, 0x03c9b375, 0x00574ac6, 0x031cad56, 0x01fc23b8, 0x0277e950, 0x0316cad9, 0x03f24993, 0x030fe85c, 0x00131d80}}, Y: Field{[10]uint32{0x012b7bb6, 0x0166fa28, 0x000902d9, 0x02aa62bb, 0x01e98c63, 0x006157df, 0x039a5745, 0x02d3b323, 0x02d89a31, 0x00112cd4}}}, + {X: Field{[10]uint32{0x03baed2e, 0x0151d897, 0x01580fe4, 0x025cd98f, 0x002f0e89, 0x00e304e8, 0x022c9ef5, 0x00f0d42a, 0x02a35910, 0x00372ea5}}, Y: Field{[10]uint32{0x036544b4, 0x00530885, 0x003deb4d, 0x034b6cb6, 0x00b13053, 0x016fedcf, 0x01f91bd7, 0x01a62b7a, 0x005f0727, 0x002be788}}}, + {X: Field{[10]uint32{0x02dc7883, 0x02cacc7c, 0x02a433b5, 0x01ffa6d9, 0x03e68242, 0x0327b71c, 0x03d3e036, 0x03fe6b2f, 0x03d8f75f, 0x003f4125}}, Y: Field{[10]uint32{0x00d62d79, 0x002eb7ff, 0x0213509c, 0x022625b7, 0x01445762, 0x002f792a, 0x03fb2fcc, 0x0041deac, 0x00b69c8d, 0x00348c05}}}, + {X: Field{[10]uint32{0x01f48040, 0x0331bb7b, 0x01077542, 0x026bae28, 0x02e70500, 0x013a0fe7, 0x011b7795, 0x03904d0f, 0x01bb0b38, 0x0016ed00}}, Y: Field{[10]uint32{0x02599c14, 0x020afe20, 0x03a5ee7a, 0x01cc03b3, 0x00ca9445, 0x01e38f2a, 0x00ea6283, 0x004e47da, 0x00b5acec, 0x0010c7f3}}}, + {X: Field{[10]uint32{0x00bb283b, 0x00b6d6d2, 0x01d20a26, 0x00119ef1, 0x023acac7, 0x00d70ddf, 0x0341c38b, 0x01ab62c9, 0x024ff9cc, 0x0007ea5a}}, Y: Field{[10]uint32{0x02b963eb, 0x02a3fafb, 0x02ac8bfc, 0x031c6c88, 0x036404dc, 0x0278527a, 0x02af7f1f, 0x016bf3c7, 0x0092ffc6, 0x0030d123}}}, + {X: Field{[10]uint32{0x002f86ea, 0x00c8a459, 0x00f11614, 0x0080bfb2, 0x03697ea4, 0x01c74298, 0x02384531, 0x014749e9, 0x02ef1ae5, 0x000254d2}}, Y: Field{[10]uint32{0x03729591, 0x00aab03b, 0x03849643, 0x0084b2ff, 0x0346fd7f, 0x0284fa5b, 0x0148a4ec, 0x01f740cf, 0x003c3883, 0x00334325}}}, + {X: Field{[10]uint32{0x001b8ceb, 0x000ca834, 0x038b7b57, 0x02fc06a3, 0x02138440, 0x02a93fd2, 0x018d08f3, 0x000e42f2, 0x03ed4330, 0x003a9cab}}, Y: Field{[10]uint32{0x0058663e, 0x0299b4b6, 0x0280925e, 0x0112145c, 0x00af4fb0, 0x03ab9fa5, 0x02856a44, 0x00b30a72, 0x018c0369, 0x00385d37}}}, + {X: Field{[10]uint32{0x00122327, 0x03e1b517, 0x01fa9a01, 0x0188d75e, 0x03165698, 0x02fce874, 0x03801f2a, 0x0148e980, 0x01343ca2, 0x000e564d}}, Y: Field{[10]uint32{0x0153dd96, 0x00b80026, 0x0175b45d, 0x021eb1b2, 0x0142a5b8, 0x0111d449, 0x01cbf0e9, 0x01b72154, 0x03e92cd7, 0x002b34f8}}}, + {X: Field{[10]uint32{0x002d4721, 0x038f827b, 0x02a3f246, 0x03e1c9d0, 0x034f74ef, 0x037eed46, 0x027d4b53, 0x01683da5, 0x022a375e, 0x00355eca}}, Y: Field{[10]uint32{0x013ed306, 0x03495443, 0x03b036a0, 0x0251c6b9, 0x01c0aeeb, 0x01209e07, 0x02c20913, 0x01fb0c43, 0x00484d10, 0x0004b5be}}}, + {X: Field{[10]uint32{0x002f1082, 0x02eabd91, 0x0119c59b, 0x023f5480, 0x01fc5def, 0x03804d75, 0x02c781af, 0x03bbd839, 0x03c51b99, 0x00027cb7}}, Y: Field{[10]uint32{0x0320dd0d, 0x022d5b96, 0x01a77e0f, 0x01626789, 0x017ad1d7, 0x02a5bf83, 0x03ca6e4e, 0x00c123e8, 0x0162fd27, 0x00023c82}}}, + {X: Field{[10]uint32{0x0229884b, 0x00b06f40, 0x0216a935, 0x01d96316, 0x01afa587, 0x03037b68, 0x0336c1f9, 0x03244d26, 0x03c6f030, 0x002c70c2}}, Y: Field{[10]uint32{0x02ecdfc3, 0x00e43187, 0x019f1939, 0x009fd4ed, 0x035563e7, 0x028b8a32, 0x01c63d18, 0x02223735, 0x01d16e77, 0x003e2916}}}, + {X: Field{[10]uint32{0x01c6e53b, 0x03866369, 0x002eb665, 0x00ce14f8, 0x02305429, 0x02ed7499, 0x01ad6f91, 0x0348dc4b, 0x03e740ca, 0x00022998}}, Y: Field{[10]uint32{0x035c1e99, 0x007bb9ae, 0x03812c0c, 0x03f8081d, 0x000786a8, 0x00ec2463, 0x00cf7116, 0x0174576b, 0x03995117, 0x003881ac}}}, + {X: Field{[10]uint32{0x012941a1, 0x02aa2d2a, 0x03696fe1, 0x03a09f98, 0x005f4a5a, 0x01b302c0, 0x00fac0a7, 0x0247bbd1, 0x02cbe0ca, 0x000ac255}}, Y: Field{[10]uint32{0x006cffd2, 0x00aa588e, 0x03423ddf, 0x03fb68a7, 0x033f84b8, 0x018989f8, 0x02e1e110, 0x013abe43, 0x03a8dd45, 0x0028c79b}}}, + {X: Field{[10]uint32{0x0262c3bd, 0x00a449b9, 0x01330d54, 0x02001a83, 0x006b0099, 0x03847ed3, 0x02381df7, 0x0325c3ad, 0x01517a2a, 0x00380510}}, Y: Field{[10]uint32{0x008dfcee, 0x02e8d810, 0x03a1e7f4, 0x00d12218, 0x03aeb3fd, 0x0234636f, 0x01639341, 0x03203085, 0x029ba691, 0x00208e33}}}, + {X: Field{[10]uint32{0x02c86c37, 0x008568df, 0x02eba08b, 0x035c78a2, 0x02f344e0, 0x01682d99, 0x0316c530, 0x00bccf2b, 0x013e8b06, 0x0002f8c8}}, Y: Field{[10]uint32{0x0151cd1f, 0x02ca725f, 0x00adc3f1, 0x00f7476c, 0x03550fb8, 0x014a8990, 0x03956838, 0x00e29335, 0x03baeaca, 0x00154948}}}, + {X: Field{[10]uint32{0x01e8ff2b, 0x03859faa, 0x030abc4f, 0x01b6d7ac, 0x001c18eb, 0x0396389d, 0x03aa1db9, 0x02f593f1, 0x03b6bfbf, 0x00188ce4}}, Y: Field{[10]uint32{0x00e42cd3, 0x03537f8d, 0x00b500ba, 0x025ed4ac, 0x031339a1, 0x028edee5, 0x025e316f, 0x016fca80, 0x0174f0fd, 0x001f0390}}}, + {X: Field{[10]uint32{0x01cfe97a, 0x00856c43, 0x0326fbc6, 0x02aa2bea, 0x01bffe79, 0x0233d02f, 0x01eb624b, 0x007a1d9a, 0x0302dd0a, 0x0036b7ad}}, Y: Field{[10]uint32{0x03253490, 0x030e37c5, 0x00bb48fb, 0x026686ac, 0x025a5225, 0x0334e6f2, 0x0260acb8, 0x026d04b5, 0x00cae4c2, 0x0024c224}}}, + {X: Field{[10]uint32{0x01362f33, 0x03edde32, 0x03c13627, 0x03563894, 0x010ac98a, 0x00986133, 0x01c9cfec, 0x026e0aec, 0x03b78317, 0x002d4a34}}, Y: Field{[10]uint32{0x038babab, 0x00af54b6, 0x004f047c, 0x00222ed1, 0x01aa902e, 0x028b4628, 0x0140676b, 0x0048a98e, 0x03af1545, 0x00018c80}}}, + {X: Field{[10]uint32{0x01734a6a, 0x0096adc4, 0x036e02d0, 0x018835d0, 0x017a4de5, 0x0013a7a0, 0x0018a5c8, 0x01b88ab9, 0x03e09398, 0x000bfc88}}, Y: Field{[10]uint32{0x0100f678, 0x029e7000, 0x000965ef, 0x01d75280, 0x03819904, 0x01e0e2ad, 0x0276d8a9, 0x036866f6, 0x0188ec9c, 0x00317234}}}, + {X: Field{[10]uint32{0x01eb1742, 0x01b9d2e6, 0x0312ff94, 0x03da67f1, 0x019ec839, 0x0322ac73, 0x03d2c393, 0x014f2733, 0x01d50e1e, 0x0032e1cc}}, Y: Field{[10]uint32{0x02d19fb5, 0x02394f3d, 0x0076d8c1, 0x0123921c, 0x00a9db38, 0x024b3a29, 0x01252480, 0x03141374, 0x01f838fe, 0x00334be7}}}, + {X: Field{[10]uint32{0x00cf4a2e, 0x02c49c78, 0x0379936b, 0x0376fa61, 0x006dac52, 0x03c9c9a4, 0x02c265aa, 0x02972ddb, 0x0045d776, 0x0004ddeb}}, Y: Field{[10]uint32{0x02a04670, 0x02b287b0, 0x010d4f34, 0x0154353b, 0x0025ab21, 0x036524f8, 0x027a8187, 0x0124cb56, 0x030dd595, 0x00292ccc}}}, + {X: Field{[10]uint32{0x001a5ccd, 0x006894d9, 0x00724c51, 0x01cdeb04, 0x0222fbac, 0x020107ea, 0x03489bd8, 0x031d7f80, 0x03f2f140, 0x002612e6}}, Y: Field{[10]uint32{0x00d14ff3, 0x0050c7f2, 0x02bb590b, 0x026a50a8, 0x03d82f4c, 0x03135431, 0x010ea82a, 0x03bb2e9d, 0x02399733, 0x00311d3d}}}, + {X: Field{[10]uint32{0x03bdcb06, 0x025835eb, 0x00c4d857, 0x01e5ca63, 0x01d50504, 0x0000afe6, 0x035d56ac, 0x01f3e6c4, 0x000074f5, 0x0012e3f4}}, Y: Field{[10]uint32{0x00c703bf, 0x038deccd, 0x0097e3a8, 0x03a531b4, 0x0095560e, 0x01833ddb, 0x01937a4c, 0x03dbddc8, 0x01031df0, 0x001f0110}}}, + {X: Field{[10]uint32{0x018b6079, 0x0215a0c8, 0x000b6605, 0x006e2fb3, 0x0334fc75, 0x022f4376, 0x01250b25, 0x0088d986, 0x02536841, 0x0015cc59}}, Y: Field{[10]uint32{0x01652904, 0x010142a4, 0x01c37da6, 0x016f8e8e, 0x0216f833, 0x022bf850, 0x0172898b, 0x00715d22, 0x024f30f0, 0x0034755b}}}, + {X: Field{[10]uint32{0x0369f286, 0x01c883f6, 0x03bd253c, 0x019d3cae, 0x00607373, 0x019f50fd, 0x032cb597, 0x005bcbef, 0x0197a0ff, 0x00326800}}, Y: Field{[10]uint32{0x00142f0b, 0x03314610, 0x034e4009, 0x03b694c7, 0x006b4dfe, 0x018172af, 0x02074b0c, 0x0045f077, 0x0383d739, 0x0005df19}}}, + {X: Field{[10]uint32{0x021881cb, 0x03b1b3a9, 0x03ff645e, 0x03d5fba2, 0x00c87b9e, 0x01e6cc02, 0x01616185, 0x008ea76c, 0x02da91df, 0x00388d05}}, Y: Field{[10]uint32{0x00b8da15, 0x01cb755c, 0x00137937, 0x03d28f78, 0x02e42fbc, 0x005c60a5, 0x02c82e0e, 0x00da479f, 0x017f8404, 0x00395590}}}, + {X: Field{[10]uint32{0x038e9ad8, 0x038a5558, 0x01c1e3b0, 0x03ba29d2, 0x0114293e, 0x01def62a, 0x0214c450, 0x01d4f399, 0x03f2369d, 0x0027e5b8}}, Y: Field{[10]uint32{0x021ddff1, 0x012cae68, 0x00ff6b49, 0x025b94a7, 0x039b01a3, 0x0104f83a, 0x0250d10e, 0x029369c5, 0x02681567, 0x003d7344}}}, + {X: Field{[10]uint32{0x01301fd2, 0x013efdae, 0x03d5f1d9, 0x01e16e90, 0x01ae4880, 0x039a8c91, 0x014317dd, 0x00048f35, 0x03a4b24b, 0x0012195e}}, Y: Field{[10]uint32{0x02f0d890, 0x02319beb, 0x03e36a4a, 0x02824a69, 0x00dd4931, 0x02a4086c, 0x013ca772, 0x00de04a0, 0x02c06eb5, 0x000647b7}}}, + {X: Field{[10]uint32{0x0236f24a, 0x021f9a5a, 0x032d4e01, 0x03201de0, 0x02c6c858, 0x00500b5e, 0x03155111, 0x02193632, 0x02e9d72e, 0x0019ecc8}}, Y: Field{[10]uint32{0x03f6946a, 0x03f7ceb1, 0x02208c3d, 0x019fdfe6, 0x030e15c8, 0x017eaa0c, 0x0387058c, 0x02fc54ef, 0x02c26b58, 0x0033fac4}}}, + {X: Field{[10]uint32{0x004ded15, 0x0381bc29, 0x02d40fbd, 0x004c5820, 0x03c545ba, 0x014800b6, 0x00e89250, 0x037663f3, 0x0068542b, 0x00010ba0}}, Y: Field{[10]uint32{0x03c4aae5, 0x0111146f, 0x02402bf6, 0x0139eab1, 0x01a1ee81, 0x0313c987, 0x03649158, 0x00f3d49c, 0x01b0c1f3, 0x0005916a}}}, + {X: Field{[10]uint32{0x0290d4c7, 0x0230417f, 0x00e30758, 0x03292a32, 0x013e058c, 0x02eeb001, 0x02191079, 0x01437555, 0x00e1339c, 0x0023b9f7}}, Y: Field{[10]uint32{0x02c9d5f9, 0x01a6a05b, 0x011d2b46, 0x03fc79bc, 0x0098e102, 0x036fa7f8, 0x01a61705, 0x0209e4b3, 0x02f48aae, 0x003fef42}}}, + {X: Field{[10]uint32{0x03a368e6, 0x01e2a087, 0x02ece559, 0x03c3319b, 0x0237a935, 0x02c82485, 0x01aaaf27, 0x01a9c5ab, 0x01041292, 0x0002af25}}, Y: Field{[10]uint32{0x01f79203, 0x0317db5c, 0x027c9624, 0x01234e91, 0x02155a4a, 0x036b93f4, 0x0375c484, 0x01879e7e, 0x0135e9b4, 0x001cb952}}}, + {X: Field{[10]uint32{0x02976ba8, 0x037746e9, 0x02f3b433, 0x0235e0fc, 0x00fd72fd, 0x000de3f3, 0x000568d4, 0x03a6d4ec, 0x032081e0, 0x002f4940}}, Y: Field{[10]uint32{0x003ceb39, 0x0318e55b, 0x021ca4c3, 0x01f4a75a, 0x02e8c4c8, 0x005ee39e, 0x00ca8797, 0x01526265, 0x03db8585, 0x0016b6e2}}}, + {X: Field{[10]uint32{0x02e25f71, 0x02297862, 0x00740c01, 0x03812222, 0x01b31609, 0x039ea836, 0x02e91677, 0x03a13926, 0x0262fbee, 0x0002d3ec}}, Y: Field{[10]uint32{0x0176e5fc, 0x0371fe38, 0x0003b24c, 0x00da3a8d, 0x01265d6d, 0x033d85ba, 0x00ecbe41, 0x00754496, 0x0386dc09, 0x000d37cf}}}, + {X: Field{[10]uint32{0x02605c01, 0x03a20cef, 0x021c495d, 0x005c86cd, 0x03e46048, 0x00418ed7, 0x005ad148, 0x013abe85, 0x036766f2, 0x00346ea6}}, Y: Field{[10]uint32{0x01e8400a, 0x011da8f6, 0x03a75068, 0x00f292e2, 0x01f87194, 0x0245f8ea, 0x03ce7f28, 0x00bc7998, 0x00bd17de, 0x003a029b}}}, + {X: Field{[10]uint32{0x022639b3, 0x009d4ba4, 0x01ba8373, 0x0009a771, 0x03a80c67, 0x03ae78aa, 0x006652d5, 0x016a34b5, 0x02b03a3e, 0x0017262d}}, Y: Field{[10]uint32{0x010f4a54, 0x03d944f1, 0x012e06b8, 0x02d98d4a, 0x006a35ef, 0x03e41e81, 0x011bd130, 0x003374b1, 0x039a145d, 0x0002078b}}}, + {X: Field{[10]uint32{0x002618f8, 0x036d7753, 0x02a840c8, 0x00382a1e, 0x02908abf, 0x03ec97cb, 0x00b70714, 0x02e1bd87, 0x0288f75f, 0x00307e91}}, Y: Field{[10]uint32{0x028397ea, 0x00f32e72, 0x01d9b204, 0x0396ae18, 0x039db869, 0x02aa44f2, 0x0355d0b1, 0x03c9b45f, 0x02776d4b, 0x003cbdd2}}}, + {X: Field{[10]uint32{0x03227ec1, 0x00ae9b3d, 0x01f76dc2, 0x022d1017, 0x0396aec7, 0x00269d56, 0x0062ba2f, 0x03acc947, 0x02e9a644, 0x00017a01}}, Y: Field{[10]uint32{0x033e614b, 0x013e1fe9, 0x01bba9d8, 0x03adcbcc, 0x02b871d2, 0x01d08c4e, 0x02caa050, 0x020a75ab, 0x0118d6a1, 0x002e2320}}}, + {X: Field{[10]uint32{0x01c8de9a, 0x018c9bb4, 0x00c1434c, 0x01b7bfd5, 0x01096863, 0x031e406f, 0x023d965b, 0x0069efd8, 0x03fefd2c, 0x003e7451}}, Y: Field{[10]uint32{0x029caffd, 0x01235cb4, 0x00c33cd5, 0x032e1260, 0x0040de44, 0x0045cc18, 0x027d77b4, 0x021b1e4e, 0x0249ab66, 0x0031e21c}}}, + {X: Field{[10]uint32{0x030ccdb1, 0x0283fb29, 0x0023babe, 0x02b8c5c4, 0x009f7020, 0x001e658d, 0x0138a1f5, 0x03447ea3, 0x015685f6, 0x002e6332}}, Y: Field{[10]uint32{0x010ecf7f, 0x00ab6f26, 0x01f49571, 0x0085c25d, 0x013dcbdf, 0x002208d5, 0x024cc0d4, 0x03a28dbb, 0x00953689, 0x003c1d35}}}, + {X: Field{[10]uint32{0x0017b474, 0x0229925a, 0x02b03464, 0x024fceed, 0x02184584, 0x0052f2e9, 0x01091dc7, 0x005f9fbe, 0x02d41008, 0x003c5872}}, Y: Field{[10]uint32{0x03740904, 0x0227db66, 0x01ffd612, 0x03e7e946, 0x01c4410a, 0x01798945, 0x0081eb24, 0x03cc908a, 0x012e396a, 0x002dfbae}}}, + {X: Field{[10]uint32{0x0326914c, 0x02c70214, 0x038fb1b7, 0x03da2899, 0x03fb54af, 0x01bb7022, 0x02abac24, 0x00187915, 0x00892ea4, 0x001f22db}}, Y: Field{[10]uint32{0x027692f8, 0x02722bd7, 0x015b10d6, 0x00f736ae, 0x02296072, 0x00acd1a0, 0x035eacd0, 0x034b0a7f, 0x03026ea1, 0x003c2387}}}, + {X: Field{[10]uint32{0x00f28729, 0x00d7bb49, 0x01e5dd36, 0x023dc937, 0x023ab207, 0x03dc681d, 0x01b93cce, 0x01196065, 0x029f1633, 0x00119a30}}, Y: Field{[10]uint32{0x0074ea4f, 0x039d0013, 0x00fa129e, 0x01f0bd87, 0x008fd22f, 0x02766545, 0x024c7233, 0x03b1480c, 0x00c98391, 0x00176c8a}}}, + {X: Field{[10]uint32{0x0167b65e, 0x0071f94c, 0x00b2f4e2, 0x00a724a4, 0x0296fa67, 0x00d9c994, 0x0239f8cf, 0x03697066, 0x00f39dd6, 0x000d10f4}}, Y: Field{[10]uint32{0x03429234, 0x01f03a25, 0x014b92a8, 0x002edfb6, 0x0114a432, 0x0301e514, 0x0131f637, 0x0237723b, 0x02399a08, 0x0012db6d}}}, + {X: Field{[10]uint32{0x03c227b4, 0x031e0422, 0x020e8ffe, 0x02a6beb0, 0x02458dbc, 0x015d3025, 0x0281e693, 0x013a5560, 0x010117a0, 0x0034f38d}}, Y: Field{[10]uint32{0x02eb9908, 0x01ff2ac1, 0x0384a9b7, 0x01ba4338, 0x007696ee, 0x03555ab4, 0x001e47f8, 0x01bba4d5, 0x03b9628f, 0x002f3f1d}}}, + {X: Field{[10]uint32{0x015127af, 0x0005583e, 0x03080233, 0x030f34b5, 0x00f2bc1a, 0x03782b0a, 0x01f86409, 0x00914888, 0x0363ad77, 0x00313718}}, Y: Field{[10]uint32{0x012d3038, 0x025ae2dd, 0x0271b3e0, 0x03165fda, 0x00038a79, 0x020d1494, 0x01bc9493, 0x0299990e, 0x028fd789, 0x001e326e}}}, + {X: Field{[10]uint32{0x015ac666, 0x034a769b, 0x01075b23, 0x0332ef37, 0x021bf4ed, 0x008f4b83, 0x0178d7a1, 0x011fb3f3, 0x0394221a, 0x00031dc7}}, Y: Field{[10]uint32{0x028d6091, 0x0157dc73, 0x01980d91, 0x01bd6e3d, 0x03f2ec52, 0x01778a4f, 0x00719246, 0x016abbd1, 0x0330829f, 0x00137b8e}}}, + {X: Field{[10]uint32{0x01e6e199, 0x00945f5e, 0x03d50e77, 0x02fc9d6b, 0x0136a1e9, 0x012287c9, 0x02516e64, 0x023dfd6d, 0x00e89633, 0x002ffe23}}, Y: Field{[10]uint32{0x0388c206, 0x01d05629, 0x03f68532, 0x00a6ed56, 0x01c15526, 0x03a5d876, 0x00b62117, 0x004293ac, 0x007ab620, 0x0023cfc3}}}, + {X: Field{[10]uint32{0x01a3b97a, 0x0287ca82, 0x002da576, 0x01dbcb38, 0x006a467e, 0x00f2b089, 0x010e7e3d, 0x02fc93a1, 0x00645d57, 0x0012bf34}}, Y: Field{[10]uint32{0x0110f0a2, 0x02b95393, 0x01f93984, 0x00ec301b, 0x00ef927d, 0x021db5b0, 0x00692f61, 0x02be4db3, 0x035487b2, 0x0014bc8e}}}, + {X: Field{[10]uint32{0x02b1f373, 0x022e884c, 0x03abdf8a, 0x00d26001, 0x0379e23c, 0x0136c04b, 0x03933fd9, 0x0038815f, 0x022cb9bf, 0x00312f04}}, Y: Field{[10]uint32{0x02fbfc6d, 0x01e21859, 0x00ce1a87, 0x02f5ef7e, 0x031daf76, 0x02ad5b5d, 0x005d4273, 0x0206eb71, 0x03b6a31d, 0x00390311}}}, + {X: Field{[10]uint32{0x01f821a8, 0x01a3c614, 0x019ddb4c, 0x0229f4d3, 0x02837a0f, 0x02ac46b2, 0x0223d27b, 0x01de4738, 0x01b1d1be, 0x00121e86}}, Y: Field{[10]uint32{0x01d0ef98, 0x027912a9, 0x00e67f51, 0x000dec97, 0x01055524, 0x0150578d, 0x02335544, 0x013a6821, 0x034316ff, 0x00294f35}}}, + {X: Field{[10]uint32{0x0301a326, 0x00cb2e10, 0x007f8106, 0x0202a162, 0x01f4ac3d, 0x022333ff, 0x02035165, 0x031d201d, 0x00ecbe06, 0x0009d28f}}, Y: Field{[10]uint32{0x01a9f40d, 0x02627121, 0x019b3ff4, 0x01e98efc, 0x035d06b4, 0x00e172db, 0x0272cab5, 0x022d1426, 0x03e3afbe, 0x0005e892}}}, + {X: Field{[10]uint32{0x03afa9e8, 0x01e4418c, 0x022c48a0, 0x01a8002f, 0x03e82fcc, 0x01563e74, 0x03fc34e7, 0x0266b00e, 0x0377b0cb, 0x000cacc7}}, Y: Field{[10]uint32{0x018f5bc2, 0x036a0297, 0x032a8993, 0x03542c5c, 0x0217f422, 0x02e0111c, 0x02b3f71d, 0x036a4383, 0x004cc191, 0x000111ed}}}, + {X: Field{[10]uint32{0x024a2752, 0x022e1680, 0x03c2925d, 0x038419b7, 0x03945285, 0x03f424cd, 0x0339d46f, 0x0051a370, 0x01cf5556, 0x001e30e7}}, Y: Field{[10]uint32{0x03a3ac55, 0x022119de, 0x009ce890, 0x00c57844, 0x02a66809, 0x03008f98, 0x03df63d5, 0x032a17ba, 0x01bb4e41, 0x0035a477}}}, + {X: Field{[10]uint32{0x0134e5ff, 0x035bece7, 0x0325fa04, 0x0258ac79, 0x00d2f21f, 0x03bbf06a, 0x0102116d, 0x001ddf11, 0x0111a492, 0x0017f1d6}}, Y: Field{[10]uint32{0x017512f2, 0x0182ecd2, 0x00d507a4, 0x01892dca, 0x01f3fe16, 0x0284e5d2, 0x03524d96, 0x0221737f, 0x037f18f5, 0x00167cdb}}}, + {X: Field{[10]uint32{0x0108fa8a, 0x00a274eb, 0x0364ae38, 0x039bda4e, 0x01fa62dd, 0x038d1b86, 0x010fc164, 0x00ad269b, 0x00e9152b, 0x00328564}}, Y: Field{[10]uint32{0x0046dc8c, 0x023fcc20, 0x007f524a, 0x01124da5, 0x01535ea7, 0x00499157, 0x029eae17, 0x03b5d527, 0x033c1174, 0x0011a9ee}}}, + {X: Field{[10]uint32{0x0111fa1f, 0x01433767, 0x037f1f3d, 0x02f16ea6, 0x01743d94, 0x03d9b56b, 0x036e660b, 0x02f7ae9f, 0x02665ff0, 0x00171c54}}, Y: Field{[10]uint32{0x0073a03e, 0x03ffa711, 0x00c39b31, 0x02903c82, 0x02e41684, 0x03333293, 0x01ee9ddc, 0x02570e88, 0x031556e9, 0x001f688e}}}, + {X: Field{[10]uint32{0x00177e82, 0x0361a139, 0x017c8c29, 0x03387255, 0x03fa0c09, 0x03cb840c, 0x01c38774, 0x031ce957, 0x01a36361, 0x0031fdc7}}, Y: Field{[10]uint32{0x01b0dedf, 0x03b6e156, 0x01f92078, 0x0030d0a7, 0x0177c6f5, 0x0013c3e5, 0x022dbf9a, 0x033b2dac, 0x007fb5c2, 0x000235b9}}}, + {X: Field{[10]uint32{0x0058afab, 0x00070af7, 0x0316da01, 0x03339be9, 0x024130b4, 0x00cedd4d, 0x01259004, 0x0284f8de, 0x019f5264, 0x001ba46f}}, Y: Field{[10]uint32{0x00fd604f, 0x008e946d, 0x034499ed, 0x00d077d6, 0x01ee0f94, 0x00826a80, 0x0020c20f, 0x01612576, 0x0055506b, 0x0016ea9d}}}, + {X: Field{[10]uint32{0x02ef0d33, 0x015065ae, 0x01072689, 0x0280d416, 0x03244907, 0x00cc8a04, 0x01c789df, 0x01f2ff1d, 0x028e69ac, 0x0007c037}}, Y: Field{[10]uint32{0x02e040f4, 0x020dc0f6, 0x02feab2e, 0x032106e9, 0x020e65fe, 0x0120ad9e, 0x000c30b4, 0x00c3b4a0, 0x0290f323, 0x000a24b3}}}, + {X: Field{[10]uint32{0x01300638, 0x01e4515f, 0x01e1091d, 0x002c8c93, 0x001a2f5b, 0x01c76356, 0x01efa3ad, 0x0311a508, 0x03f507d8, 0x0030004c}}, Y: Field{[10]uint32{0x00f18895, 0x010d3b4d, 0x027a2f86, 0x004bf72d, 0x031aa3dc, 0x027a38c6, 0x005ea455, 0x03a60b74, 0x01820d3e, 0x000f1dac}}}, + {X: Field{[10]uint32{0x020cad49, 0x03a420f1, 0x0248d2f8, 0x03819b37, 0x00cdb172, 0x012efe5c, 0x00ef7560, 0x009a784b, 0x01e795e8, 0x0002bd8e}}, Y: Field{[10]uint32{0x0026abb4, 0x00b11d09, 0x03219808, 0x02bd59ce, 0x030c479d, 0x03477921, 0x0014a74c, 0x0334a439, 0x0179ce92, 0x0006f404}}}, + {X: Field{[10]uint32{0x01f4c9a1, 0x01e5e5cc, 0x00cd54e9, 0x00e22dcf, 0x00ede585, 0x03af2e68, 0x03a0a5d8, 0x03011063, 0x027d5447, 0x0039b6f4}}, Y: Field{[10]uint32{0x01242153, 0x037aaf8f, 0x038ee6b5, 0x00dcd236, 0x01a20710, 0x03433e2f, 0x00c780a0, 0x020c80f5, 0x0124f284, 0x001dfce1}}}, + {X: Field{[10]uint32{0x036360a9, 0x037f54cc, 0x0246e4c2, 0x007b9015, 0x028d1e3e, 0x0304467a, 0x02dd904e, 0x01c2ab40, 0x0123c95b, 0x003d46a3}}, Y: Field{[10]uint32{0x00f46c57, 0x012c6a70, 0x0113873e, 0x02ad4651, 0x02ae5c6a, 0x02566b36, 0x03488714, 0x00f3d831, 0x009a1d70, 0x00109acb}}}, + {X: Field{[10]uint32{0x00f6bcf4, 0x01135428, 0x01863429, 0x02b07b91, 0x00a3e4d1, 0x00eb8e98, 0x038d8fc3, 0x00dedfd5, 0x01e70fe4, 0x00384bc4}}, Y: Field{[10]uint32{0x0019f5d2, 0x01b64011, 0x01253e3c, 0x0359b71f, 0x038bfec8, 0x00453255, 0x03985b14, 0x0226ad58, 0x015835fa, 0x0008b457}}}, + {X: Field{[10]uint32{0x0188e14c, 0x02f1fb7a, 0x00bb9bf6, 0x01467624, 0x03ac6193, 0x02562853, 0x0351e56d, 0x018b418b, 0x020a8ec7, 0x0039d621}}, Y: Field{[10]uint32{0x027ecd78, 0x0070a5d5, 0x03b23ec4, 0x0208ec00, 0x03104386, 0x032d1d43, 0x008d780d, 0x013c87ee, 0x00ef10b8, 0x0010b678}}}, + {X: Field{[10]uint32{0x00a64163, 0x00e8e608, 0x032c6e42, 0x020bbe47, 0x02d47998, 0x022952de, 0x022b90c7, 0x00797360, 0x03e90ba2, 0x000f24cf}}, Y: Field{[10]uint32{0x029080df, 0x00b77cd9, 0x03f96b67, 0x00d447d9, 0x017fc161, 0x01c02d2b, 0x01b23a56, 0x008b8b29, 0x00be5319, 0x00307aa8}}}, + {X: Field{[10]uint32{0x02857872, 0x004d3f7a, 0x00e07939, 0x0138f027, 0x00df828e, 0x02469e70, 0x02b6b08e, 0x0019b2db, 0x036a83c9, 0x0011d5d5}}, Y: Field{[10]uint32{0x0038277a, 0x03b9b183, 0x00d7b058, 0x03a27654, 0x01818248, 0x0249c311, 0x03e8388d, 0x01fc5778, 0x03b262d7, 0x0004fc8b}}}, + {X: Field{[10]uint32{0x031045c7, 0x0275ad00, 0x00aa8012, 0x03361987, 0x0246570f, 0x029fffd0, 0x01df9039, 0x014502c6, 0x01037008, 0x000d798e}}, Y: Field{[10]uint32{0x01b9e8c9, 0x0272b979, 0x011f1b0e, 0x02b6961a, 0x0053cfb3, 0x00f0a3a1, 0x004f022b, 0x018361a9, 0x00bcaa9d, 0x000a157d}}}, + {X: Field{[10]uint32{0x02126fa3, 0x0398cb8c, 0x024fe82b, 0x0371aa2f, 0x02ad5330, 0x0342a17d, 0x025f0316, 0x02081cd5, 0x02011f11, 0x002b511b}}, Y: Field{[10]uint32{0x00e83e39, 0x00653d8a, 0x00d4315c, 0x0150bdcc, 0x021d8acb, 0x02b03aac, 0x012b2f81, 0x038fd47e, 0x02f1dece, 0x000900e0}}}, + {X: Field{[10]uint32{0x02718815, 0x0359001a, 0x021aff82, 0x03d75dd1, 0x0289164e, 0x03108869, 0x00af7529, 0x02b0de08, 0x01f3eb01, 0x003efa79}}, Y: Field{[10]uint32{0x02d088e6, 0x0007fd84, 0x00468478, 0x0210aafe, 0x01ba2073, 0x0137a485, 0x013e0884, 0x00b8338e, 0x00add85a, 0x003cbcc3}}}, + {X: Field{[10]uint32{0x03038135, 0x014bc4ce, 0x029166e9, 0x03d8cb4c, 0x00b9b585, 0x020b326e, 0x0149aa24, 0x03d0c281, 0x0320d81f, 0x000799d4}}, Y: Field{[10]uint32{0x00686aa7, 0x02d326bc, 0x01db1b44, 0x006cd9b4, 0x002e2c7f, 0x02621c03, 0x03aa5de2, 0x03665716, 0x0276c9c7, 0x003283c4}}}, + {X: Field{[10]uint32{0x02267718, 0x00e45f35, 0x0285f359, 0x010cc383, 0x0394c3f6, 0x0349e492, 0x02b8068a, 0x0394ae8b, 0x037023b0, 0x0005db71}}, Y: Field{[10]uint32{0x017ca8d9, 0x003cff8a, 0x02701d51, 0x03da1746, 0x000548d4, 0x03d98254, 0x010686fd, 0x016c1bd1, 0x02885df7, 0x0034b718}}}, + {X: Field{[10]uint32{0x01a9c938, 0x002aded0, 0x008dd99a, 0x01080f3f, 0x017ac839, 0x0331f150, 0x02feadbc, 0x00aceacd, 0x02c232a0, 0x000f214d}}, Y: Field{[10]uint32{0x025186b5, 0x013d6b68, 0x03d9dbdc, 0x014b5a8e, 0x018ebc7f, 0x00c08ab4, 0x00dd8f17, 0x0344ab49, 0x02a5249c, 0x0029a13b}}}, + {X: Field{[10]uint32{0x02f006fd, 0x028c8b5e, 0x014a5605, 0x000f58f1, 0x00ec6ea0, 0x02a20466, 0x00c446fb, 0x01dadb95, 0x03abc61a, 0x00122a9c}}, Y: Field{[10]uint32{0x02403a64, 0x03e64d63, 0x00d4ecdb, 0x02dc1039, 0x035977fa, 0x033cf77c, 0x00185065, 0x002208b4, 0x02eeffb2, 0x0030a317}}}, + {X: Field{[10]uint32{0x03cc1ff1, 0x028e86d4, 0x024cbd83, 0x0034329f, 0x01263d17, 0x022eb292, 0x02d2b363, 0x000a3676, 0x03620abd, 0x001d1cc9}}, Y: Field{[10]uint32{0x0136c2c6, 0x02f5a779, 0x01f3fddf, 0x03f982ea, 0x00927a88, 0x03008edb, 0x02ef7ce5, 0x02827cfc, 0x030ce8df, 0x00328477}}}, + {X: Field{[10]uint32{0x01698522, 0x01cb16e5, 0x0002eb86, 0x0095491f, 0x01a40427, 0x0053fa40, 0x03dc9188, 0x016455d9, 0x0309520e, 0x003adc6a}}, Y: Field{[10]uint32{0x0148e995, 0x027d5b93, 0x031eb874, 0x0007001f, 0x01c81b69, 0x0008ecaa, 0x02563cb2, 0x016ce3b5, 0x02e0a7e9, 0x0017eb5e}}}, + {X: Field{[10]uint32{0x02f5be6b, 0x0110dc5f, 0x021cef84, 0x0256595d, 0x02af5e86, 0x02c5e731, 0x02da74be, 0x00f7d5cb, 0x03f6c776, 0x000ac406}}, Y: Field{[10]uint32{0x03140ce9, 0x03fa188f, 0x02597067, 0x0065fe26, 0x01f66647, 0x03c96108, 0x014629fe, 0x0068f663, 0x02c84e1d, 0x00003745}}}, + {X: Field{[10]uint32{0x020ab337, 0x02910d9b, 0x033ebca2, 0x03fa3cec, 0x0213976a, 0x017a06e8, 0x032b0507, 0x0195494c, 0x03a82c66, 0x0028267b}}, Y: Field{[10]uint32{0x01136c07, 0x02a66f57, 0x013abdc0, 0x02d796dd, 0x02fb1e33, 0x0049ab32, 0x016c7faa, 0x03cacf77, 0x017b5cf1, 0x003e20e5}}}, + {X: Field{[10]uint32{0x0362f95d, 0x02f267e2, 0x00f153d5, 0x03340bd6, 0x018cc107, 0x01c2f7ac, 0x032ab6d4, 0x00f3a56d, 0x0056a61c, 0x003d0e5a}}, Y: Field{[10]uint32{0x029f6133, 0x01db005b, 0x02567cfd, 0x03cf87bc, 0x03df81c2, 0x00c9d398, 0x03240caf, 0x02c2c019, 0x011aa8ed, 0x001b8fab}}}, + {X: Field{[10]uint32{0x014050c0, 0x038e1fda, 0x00008bd5, 0x01f12516, 0x0353215b, 0x0124f600, 0x00aabe5a, 0x02ec6128, 0x019726aa, 0x00369cc8}}, Y: Field{[10]uint32{0x01a0eeb6, 0x0211813a, 0x01b4666d, 0x01339f38, 0x019489af, 0x017a5538, 0x00b987d8, 0x012da1af, 0x03291772, 0x003881d7}}}, + {X: Field{[10]uint32{0x000a6792, 0x01359be6, 0x02f4575f, 0x0345343c, 0x018fea44, 0x025d0080, 0x0259c09b, 0x01860fd0, 0x021e1959, 0x002645c6}}, Y: Field{[10]uint32{0x01219a4f, 0x01d9ec5d, 0x03f5f27a, 0x034b9d81, 0x0066af1b, 0x0381efb0, 0x032cbd80, 0x03bbcf9f, 0x000c83e1, 0x00148ae1}}}, + {X: Field{[10]uint32{0x018cf08f, 0x034d329d, 0x0323f8f0, 0x03da44cc, 0x001db7bc, 0x01122270, 0x008997a9, 0x013cd890, 0x02848a2c, 0x000d4f31}}, Y: Field{[10]uint32{0x0267ebe7, 0x01449373, 0x01fa243d, 0x0051b839, 0x0097effd, 0x000a0d32, 0x02b283f7, 0x000559f8, 0x0062f4ba, 0x0006196f}}}, + {X: Field{[10]uint32{0x02312852, 0x0090b75e, 0x026d5deb, 0x00f755e8, 0x01b9ed7e, 0x02dbf330, 0x027c77f1, 0x034f4e39, 0x003b5053, 0x0022c5a6}}, Y: Field{[10]uint32{0x005d47c6, 0x03217976, 0x00e9fbe6, 0x034b1ca8, 0x000caeb3, 0x03fd26b2, 0x02adeedc, 0x014f4e55, 0x0392fa59, 0x0012764f}}}, + {X: Field{[10]uint32{0x010cabc9, 0x0381191d, 0x002ef505, 0x00c0eeb0, 0x02efb367, 0x020fed88, 0x03b25130, 0x00c9f089, 0x02a4b1da, 0x001a3d77}}, Y: Field{[10]uint32{0x03d31782, 0x01a263f8, 0x0350c435, 0x0115c72d, 0x02146de0, 0x01b271d0, 0x01257744, 0x012e76bb, 0x039c5d62, 0x00099d03}}}, + {X: Field{[10]uint32{0x020c699b, 0x02ec8080, 0x01244e74, 0x001a6156, 0x03cc9367, 0x008229b5, 0x019d8bd7, 0x03c03238, 0x007fc3ac, 0x003ebd48}}, Y: Field{[10]uint32{0x02f1936c, 0x019282f3, 0x03eebb85, 0x009c2181, 0x03d42c15, 0x01c77a39, 0x00186ac9, 0x031b952b, 0x004617a6, 0x003eaded}}}, + {X: Field{[10]uint32{0x00d17630, 0x03d4207a, 0x004a2bca, 0x00828998, 0x02917c04, 0x00bc0685, 0x0204707a, 0x0316f4f6, 0x0291b541, 0x0030f46a}}, Y: Field{[10]uint32{0x00d9ce27, 0x03450d7f, 0x02c64d8c, 0x028d1324, 0x01c9b631, 0x0397ded1, 0x02d7ce54, 0x031017c1, 0x006e5a58, 0x0016d5e0}}}, + {X: Field{[10]uint32{0x02c8db1a, 0x03267ea2, 0x01455623, 0x016bf8b0, 0x0254b5bd, 0x0246cc3c, 0x00db5263, 0x02e48114, 0x02354970, 0x0008c9e2}}, Y: Field{[10]uint32{0x00e1888b, 0x03b91064, 0x0144d55d, 0x01afef48, 0x03357048, 0x018150b7, 0x0093b746, 0x02791c6b, 0x01dae8df, 0x00219360}}}, + {X: Field{[10]uint32{0x038c0146, 0x01d97151, 0x02d25485, 0x00ac3b2b, 0x017c12c3, 0x02773440, 0x00de4ab2, 0x0329341d, 0x018133cb, 0x00180bd8}}, Y: Field{[10]uint32{0x027aa968, 0x02791800, 0x0011f91c, 0x010b39a8, 0x019ffab3, 0x0266e721, 0x03d2da15, 0x030d43dd, 0x03b7279e, 0x001310b3}}}, + {X: Field{[10]uint32{0x01843ee9, 0x03b2ab49, 0x02690fd4, 0x02af1e58, 0x03c545a9, 0x0373233f, 0x002aa463, 0x030ec976, 0x03c70126, 0x00077133}}, Y: Field{[10]uint32{0x03fedeb1, 0x0097986c, 0x003ac182, 0x02e4aa6d, 0x036002b1, 0x0178cabe, 0x0020f172, 0x0155d4d6, 0x01825c53, 0x002a4d5e}}}, + {X: Field{[10]uint32{0x0235af82, 0x0308f3f3, 0x028b33c6, 0x037e2c13, 0x01887a95, 0x032997f1, 0x00d99108, 0x02f1e453, 0x01216e02, 0x000da53c}}, Y: Field{[10]uint32{0x00555d88, 0x00d9090e, 0x006d1d1c, 0x03266e0e, 0x02c61e57, 0x021162e7, 0x016e7428, 0x0065db51, 0x0291b1c4, 0x001fffb8}}}, + {X: Field{[10]uint32{0x01f1bdbf, 0x0248ac87, 0x003b4b65, 0x00eea483, 0x00457be0, 0x03c1b0b1, 0x00725e0a, 0x019081ee, 0x0275a959, 0x001d0eb6}}, Y: Field{[10]uint32{0x000f908f, 0x035c5d6d, 0x026c0b16, 0x03e4e6c4, 0x035629b9, 0x00b706d0, 0x00c23ed9, 0x03176027, 0x01b55ac4, 0x0023cae0}}}, + {X: Field{[10]uint32{0x02420085, 0x02bdf5ac, 0x0394f210, 0x00b89b5b, 0x00f047cf, 0x0011181f, 0x00c42d7f, 0x03129ee7, 0x03977c7c, 0x0002ffa4}}, Y: Field{[10]uint32{0x02373d64, 0x00241beb, 0x01d92126, 0x03fa80b8, 0x01666c3d, 0x037b94f5, 0x02f2b510, 0x03720c07, 0x00598f80, 0x00189758}}}, + {X: Field{[10]uint32{0x03240eb9, 0x01b62e46, 0x01f8373e, 0x03ff21e5, 0x01cb56eb, 0x0219e86b, 0x01447517, 0x011b230a, 0x000e6ee6, 0x0021b00b}}, Y: Field{[10]uint32{0x005be4ed, 0x0299abf2, 0x037b40bf, 0x01224591, 0x0159d39f, 0x03d5be02, 0x02af5290, 0x004262dd, 0x029fda4b, 0x001966d7}}}, + {X: Field{[10]uint32{0x007bfda4, 0x02a48a4e, 0x02ce5dc3, 0x011d2e0a, 0x026c4f8f, 0x02a13719, 0x01d357d3, 0x0007a665, 0x0045857f, 0x000eca04}}, Y: Field{[10]uint32{0x02e9fd4c, 0x02039ff4, 0x00f8a16d, 0x008cfd40, 0x01e318a1, 0x03cc4f6b, 0x007c42f1, 0x0055091f, 0x032ccdeb, 0x00265209}}}, + {X: Field{[10]uint32{0x02fc47c0, 0x0294a13f, 0x007a3da9, 0x02380cc2, 0x02985903, 0x01b5bfca, 0x004d33d4, 0x025e7c14, 0x01d3b54d, 0x00337733}}, Y: Field{[10]uint32{0x016683b8, 0x00ebad01, 0x00321213, 0x02469fac, 0x010196c9, 0x001f7759, 0x0191e5e8, 0x004f0513, 0x03f83693, 0x0027ca84}}}, + {X: Field{[10]uint32{0x030e16d7, 0x014b0d21, 0x00088403, 0x027ccdc2, 0x018f8c2e, 0x0008c9c4, 0x034462bd, 0x00f76fb8, 0x0102a602, 0x00260401}}, Y: Field{[10]uint32{0x0169b9cb, 0x0253a406, 0x01a5747a, 0x019af5c8, 0x004cf8fb, 0x0152a13b, 0x0381c084, 0x00ecec78, 0x02f469af, 0x0006a2ff}}}, + {X: Field{[10]uint32{0x01978179, 0x0088f966, 0x02316c90, 0x03e6cd77, 0x03c26092, 0x02e08492, 0x00168479, 0x005e6c24, 0x017db2fc, 0x0022dd9d}}, Y: Field{[10]uint32{0x02b16f05, 0x03e69cd0, 0x009606ea, 0x01a07a2d, 0x01ee4492, 0x00459cc8, 0x01a71a6a, 0x01972950, 0x0326588e, 0x0011fabc}}}, + {X: Field{[10]uint32{0x02cc3b43, 0x015c759f, 0x02771bf2, 0x02cb557a, 0x0045c83b, 0x01ac3187, 0x004d8a94, 0x02d981bd, 0x03dc897f, 0x00399bb5}}, Y: Field{[10]uint32{0x0214dcbe, 0x03316a7c, 0x01810518, 0x03e64dd3, 0x017f1745, 0x0229016f, 0x00ffd470, 0x03fd3b1b, 0x039b8a9f, 0x00394dbd}}}, + {X: Field{[10]uint32{0x02bc88c8, 0x01aa84fc, 0x020d2262, 0x00241a82, 0x01ead632, 0x03bd7045, 0x02ad0656, 0x002e7e33, 0x0192cc9c, 0x00381801}}, Y: Field{[10]uint32{0x035a584f, 0x035472df, 0x03f7ca42, 0x01775527, 0x02e7f75f, 0x0304e105, 0x02552544, 0x01c1745b, 0x00b78b84, 0x0018a365}}}, + {X: Field{[10]uint32{0x01152767, 0x016b01c6, 0x02cfbffc, 0x0109ace4, 0x0362db2e, 0x018f8bc1, 0x0358fc70, 0x00975331, 0x0242a9cf, 0x0006c2bc}}, Y: Field{[10]uint32{0x0056a2be, 0x010ff0f2, 0x035a0ed0, 0x012c0be5, 0x00592dec, 0x024d5012, 0x0128da0d, 0x0015668f, 0x02a5eec3, 0x000ceba2}}}, + {X: Field{[10]uint32{0x035acb7d, 0x02a935ab, 0x00ed5439, 0x0137396f, 0x009b8092, 0x02c2f2fc, 0x005beeed, 0x01fb68d4, 0x03aa142f, 0x0038813f}}, Y: Field{[10]uint32{0x018911ba, 0x0136d257, 0x0159e692, 0x00c11e69, 0x03a02f70, 0x03bcb08a, 0x02acdd1a, 0x005466b7, 0x019b98e1, 0x0028a013}}}, + {X: Field{[10]uint32{0x01515ed5, 0x03c26683, 0x0196469c, 0x03d24a11, 0x00a35431, 0x00c5cf53, 0x00ea1fc1, 0x00c7d885, 0x02676515, 0x002bf103}}, Y: Field{[10]uint32{0x00b648e0, 0x01b4ccc0, 0x01b45589, 0x001f34ef, 0x035e6297, 0x02c13499, 0x02e85963, 0x0037a4ca, 0x02f41e48, 0x0015fbdb}}}, + {X: Field{[10]uint32{0x03e8d226, 0x037b88aa, 0x001d4690, 0x00197298, 0x01729634, 0x017038f2, 0x00588b04, 0x01907e00, 0x03db747b, 0x001654e2}}, Y: Field{[10]uint32{0x002d4438, 0x000c773b, 0x00e28652, 0x00a174de, 0x0352ca7a, 0x037a5821, 0x026547a3, 0x0270d530, 0x006a3c91, 0x00280c12}}}, + {X: Field{[10]uint32{0x0197ed8f, 0x0391a6aa, 0x026f1efb, 0x01106012, 0x02b964cf, 0x03b6ca9d, 0x03a4baeb, 0x0100a318, 0x034fc38d, 0x001aa474}}, Y: Field{[10]uint32{0x01073260, 0x00075d76, 0x02a00f2b, 0x034729b3, 0x0345f221, 0x034f9cfa, 0x02ead10d, 0x0149d0b4, 0x00836a0b, 0x000c9403}}}, + {X: Field{[10]uint32{0x02c28d61, 0x018330a2, 0x02ee8f77, 0x02772170, 0x00332ae3, 0x038870d1, 0x01c44ab5, 0x025fba5f, 0x0287b11d, 0x00249839}}, Y: Field{[10]uint32{0x0223e778, 0x03a61458, 0x01d1892c, 0x020e8cf9, 0x01c1d13e, 0x03736765, 0x0124f5e2, 0x01953bdc, 0x033de8d8, 0x0003d1f7}}}, + {X: Field{[10]uint32{0x00fe3cba, 0x02410413, 0x03e06a03, 0x030f73e6, 0x00b48820, 0x02d3ca4f, 0x038561f4, 0x03cc07d9, 0x03337a66, 0x000d2439}}, Y: Field{[10]uint32{0x029bbd6c, 0x0281c857, 0x006f1f5e, 0x00d94ca2, 0x02a81695, 0x016eec8a, 0x03876368, 0x01c2b1d3, 0x02797edb, 0x00125646}}}, + {X: Field{[10]uint32{0x0107b4a0, 0x0029a023, 0x03c8a6ec, 0x02049e00, 0x01d71d7a, 0x02a55228, 0x00b1311e, 0x02a68df7, 0x00fe1f47, 0x0025ca7d}}, Y: Field{[10]uint32{0x0317f896, 0x02e2bcba, 0x0386c2dc, 0x01cffa2a, 0x01c8f03d, 0x008bbfa9, 0x03ee569e, 0x03f5ca39, 0x01d4ccc4, 0x0015b869}}}, + {X: Field{[10]uint32{0x029c2caf, 0x036360eb, 0x034b1c37, 0x02d60332, 0x005e694e, 0x0200113c, 0x03d77a66, 0x0108f473, 0x004f06da, 0x002bd8e4}}, Y: Field{[10]uint32{0x03e110b2, 0x006cc1b6, 0x02400f3d, 0x003df1e6, 0x01b8cfaf, 0x029f8bb7, 0x01fa10b4, 0x02e52345, 0x002f5fe2, 0x001b7b37}}}, + {X: Field{[10]uint32{0x00435a3f, 0x00bede8b, 0x031f2f24, 0x03831ede, 0x01403cf0, 0x01f0a53f, 0x0274edf8, 0x007c8688, 0x03721f4a, 0x002589c7}}, Y: Field{[10]uint32{0x025adddf, 0x03d6c872, 0x01e7951c, 0x01deb904, 0x01719400, 0x027dba52, 0x03bbca44, 0x033f54af, 0x00731fc8, 0x0019bfef}}}, + {X: Field{[10]uint32{0x03717c7d, 0x03653292, 0x0296a95b, 0x00f1fb89, 0x00dfa5a1, 0x02ea3658, 0x0027287e, 0x03168056, 0x02151f0c, 0x00290bbc}}, Y: Field{[10]uint32{0x00046fec, 0x0257dad4, 0x03a1ba49, 0x01c82d48, 0x02e32431, 0x0051823b, 0x02969298, 0x029644c8, 0x02d45f08, 0x00179247}}}, + {X: Field{[10]uint32{0x0062e5e4, 0x00b01eee, 0x02c2f7fb, 0x00ac4d6f, 0x00fc4ce9, 0x022f89e0, 0x019c2896, 0x029d5f61, 0x01ede770, 0x00064ecf}}, Y: Field{[10]uint32{0x00716700, 0x0066d7bc, 0x0177522d, 0x01026031, 0x02d1d1d7, 0x02378155, 0x01d5cd13, 0x01cd7828, 0x03baffbb, 0x00064b12}}}, + {X: Field{[10]uint32{0x001e8dc7, 0x0029f3a3, 0x02029e29, 0x02c389d5, 0x02054084, 0x01bfbbcf, 0x03b4fc82, 0x0113933c, 0x0075da6f, 0x00333e68}}, Y: Field{[10]uint32{0x0235a183, 0x02c83266, 0x03a67bf6, 0x0247ffa6, 0x020a5d64, 0x00208671, 0x020f0a23, 0x030c2e40, 0x004dccf2, 0x003413e1}}}, + {X: Field{[10]uint32{0x025b0140, 0x039eb3b4, 0x03831873, 0x02e5b738, 0x00d3ddff, 0x02614c82, 0x00ec69ef, 0x02ed0fd8, 0x025b1d69, 0x001fafa8}}, Y: Field{[10]uint32{0x03ec3d65, 0x00f9f293, 0x01d16fc8, 0x01d62557, 0x002a9483, 0x004e8fce, 0x031a47d0, 0x0358dd53, 0x02f2bf87, 0x00091502}}}, + {X: Field{[10]uint32{0x00a038c7, 0x004718e1, 0x02e45d71, 0x03af5ca6, 0x02674662, 0x00e11e2d, 0x03ff0380, 0x006c066d, 0x034ac2a3, 0x0000327a}}, Y: Field{[10]uint32{0x01f32240, 0x02f77b60, 0x016a6e26, 0x02cca744, 0x0312f6e8, 0x022b90a8, 0x032b90d7, 0x00fd3afb, 0x003dcaed, 0x001f8bb8}}}, + {X: Field{[10]uint32{0x01acd867, 0x03651bf9, 0x007b87fe, 0x00361b15, 0x02cd0b29, 0x03f61ed2, 0x0323bc5c, 0x013a7a9e, 0x020c08c8, 0x00115d5b}}, Y: Field{[10]uint32{0x00acdd1f, 0x0076829c, 0x00413461, 0x00b216c2, 0x0031326e, 0x01f705b4, 0x03984c3d, 0x03005cf6, 0x022ce577, 0x00270fd4}}}, + {X: Field{[10]uint32{0x03e3c0da, 0x0036dfc4, 0x0225ce4a, 0x039c42ae, 0x0359438d, 0x0197891d, 0x009e3416, 0x0358db1e, 0x008121be, 0x0006f561}}, Y: Field{[10]uint32{0x0386a90b, 0x03d0d451, 0x008e7350, 0x035e5627, 0x00ffd4d6, 0x001e1d0c, 0x028a7b75, 0x014e658e, 0x0097bf90, 0x0032c3ae}}}, + {X: Field{[10]uint32{0x01324dc1, 0x01f3b676, 0x00063054, 0x038333e9, 0x0032eda7, 0x01677663, 0x02a80a97, 0x026e9612, 0x022c8e80, 0x003c6655}}, Y: Field{[10]uint32{0x0008d1d0, 0x026b1ead, 0x00f32400, 0x0047374e, 0x022f7ea8, 0x00f28537, 0x01dbcea3, 0x00126252, 0x02ad7643, 0x000cd467}}}, + {X: Field{[10]uint32{0x005ea6f3, 0x00f4f53d, 0x03559674, 0x03a61372, 0x02975319, 0x00162548, 0x02ac3b93, 0x01f707d5, 0x0110e9e3, 0x001fed3a}}, Y: Field{[10]uint32{0x03c960ee, 0x00341399, 0x0062855f, 0x029ef553, 0x005f4d94, 0x038c80f7, 0x02b59bcf, 0x03b273cd, 0x003c0cdb, 0x0002dd28}}}, + {X: Field{[10]uint32{0x006c03e6, 0x03ea7fa2, 0x031364c6, 0x0229ae73, 0x03c1a1d6, 0x0137108c, 0x02270205, 0x0275e2b2, 0x00fd1983, 0x00140f42}}, Y: Field{[10]uint32{0x02448e0a, 0x00def463, 0x02f77589, 0x0355f10d, 0x02698459, 0x01cf48f7, 0x01059144, 0x03ae1ef6, 0x01db9a09, 0x00212b65}}}, + {X: Field{[10]uint32{0x01e1e713, 0x025820d4, 0x02c25091, 0x032390be, 0x0162db42, 0x021c5629, 0x02d0deac, 0x034f8961, 0x0204e6ae, 0x000cd724}}, Y: Field{[10]uint32{0x00c1c2f9, 0x027c2b3d, 0x01ce67ef, 0x01774d06, 0x0049b60c, 0x004bf761, 0x00849d42, 0x02fb8a50, 0x01bb10f8, 0x00056cd6}}}, + {X: Field{[10]uint32{0x0034bc9f, 0x01104d0a, 0x035ef30c, 0x0262738f, 0x00f218c2, 0x01c82ed4, 0x01117df5, 0x00567e08, 0x01cbe0f7, 0x002e9a39}}, Y: Field{[10]uint32{0x00fa5d72, 0x01ef2510, 0x017f3ca5, 0x011dc719, 0x03101ff4, 0x0104a8a1, 0x005a2ede, 0x01393bfd, 0x03dd0ff3, 0x000ab096}}}, + {X: Field{[10]uint32{0x037e6baa, 0x017b0821, 0x03a0a02a, 0x010e8791, 0x03446d79, 0x00e71252, 0x00202677, 0x0210c163, 0x0313311d, 0x0024f5b9}}, Y: Field{[10]uint32{0x001a0856, 0x01a99748, 0x0324fdb5, 0x0055f353, 0x01e10bf6, 0x02d427e7, 0x00710410, 0x03f49b81, 0x019c99a2, 0x001665f0}}}, + {X: Field{[10]uint32{0x03397172, 0x01402917, 0x00c22ac7, 0x009a3b30, 0x00cb8f46, 0x031746da, 0x0284fbe0, 0x01e829ce, 0x001b5cc7, 0x001ea52f}}, Y: Field{[10]uint32{0x0178bee5, 0x03dad341, 0x02cef34a, 0x025405b7, 0x03032d36, 0x02fb7d34, 0x01c9f8c1, 0x0354a9c6, 0x006e82a4, 0x0004a307}}}, + {X: Field{[10]uint32{0x0021b809, 0x00f165b2, 0x01c54c21, 0x00b6eb2b, 0x0375fbe5, 0x01bcf919, 0x02ec848f, 0x020f6517, 0x01a7c193, 0x003c0c7b}}, Y: Field{[10]uint32{0x03cabab8, 0x0031dd88, 0x03ea0517, 0x00dabe5a, 0x01eb505d, 0x0394bc65, 0x001e2e7e, 0x0393d76e, 0x010d1c17, 0x002d29e3}}}, + {X: Field{[10]uint32{0x0039907c, 0x02df5c08, 0x0360857a, 0x01d58329, 0x010ce9f3, 0x01d34065, 0x00cb924c, 0x03820b75, 0x02cd5c17, 0x0021bbc6}}, Y: Field{[10]uint32{0x00f3bb3c, 0x0383b093, 0x03de1ef7, 0x0172731d, 0x0136c310, 0x01b559cf, 0x02d34b10, 0x022b2509, 0x013db907, 0x001a4da8}}}, + {X: Field{[10]uint32{0x03c6d720, 0x005ad832, 0x00bc9409, 0x0324aac4, 0x006d24ee, 0x00a853ee, 0x039beeb6, 0x00e8d526, 0x00c9c78e, 0x003f3adb}}, Y: Field{[10]uint32{0x03f7583d, 0x005e1cdd, 0x0162f08b, 0x024ba9d5, 0x009f8d92, 0x004b2946, 0x03697015, 0x007c7382, 0x00245f56, 0x001f0b98}}}, + {X: Field{[10]uint32{0x03a5c8d9, 0x0084fbb7, 0x00f3ecd2, 0x01b8ec50, 0x00d475e3, 0x02bf90e0, 0x0026d837, 0x03cd207d, 0x011b9a36, 0x0028767b}}, Y: Field{[10]uint32{0x03a558a0, 0x016fc1f7, 0x00c6007d, 0x00ef9aaa, 0x0078bd5e, 0x03a7fb95, 0x002cb779, 0x00fca7b0, 0x017ca127, 0x000da0f2}}}, + {X: Field{[10]uint32{0x01bd48c7, 0x03e43814, 0x03dac844, 0x0269dfac, 0x013e8f62, 0x022bff28, 0x01bbdc75, 0x03b55785, 0x01996311, 0x0036637a}}, Y: Field{[10]uint32{0x00ef2a22, 0x01127ca1, 0x037cc07d, 0x014e5a75, 0x02693943, 0x01de3970, 0x011b8100, 0x023b9da3, 0x014d272a, 0x0022bd86}}}, + {X: Field{[10]uint32{0x019aac60, 0x022e8fea, 0x023edbee, 0x008e625e, 0x0060f4d2, 0x0197e014, 0x031ba80d, 0x03e8a6db, 0x01b7cd6a, 0x001e0ca3}}, Y: Field{[10]uint32{0x02fc5efb, 0x031ea79d, 0x02f01f35, 0x02171265, 0x02629f81, 0x0384d910, 0x023377f4, 0x00eb1204, 0x016f1d14, 0x0038df92}}}, + {X: Field{[10]uint32{0x0336db5e, 0x0347d9b8, 0x02117223, 0x033f36c9, 0x005d9747, 0x02ca7b9b, 0x001e1c09, 0x02bc2cdf, 0x0093031f, 0x000f5c05}}, Y: Field{[10]uint32{0x037600ad, 0x033474f9, 0x008b6648, 0x0316e1fe, 0x03414ea3, 0x02d3a774, 0x01f7ce0a, 0x02c82ad0, 0x01408311, 0x00347a64}}}, + {X: Field{[10]uint32{0x02288628, 0x03dd8ab3, 0x03a96e90, 0x021bf6fd, 0x000e2239, 0x02953b31, 0x015ba2a7, 0x0352ac2f, 0x00c047e0, 0x003d866b}}, Y: Field{[10]uint32{0x001564f2, 0x013b299e, 0x01de68fa, 0x037f3bed, 0x02f9cdcc, 0x039ff07b, 0x016a2d70, 0x017443f2, 0x023de154, 0x003c93ad}}}, + {X: Field{[10]uint32{0x02d0a2d2, 0x02f0032a, 0x03489a1d, 0x00d678be, 0x0291718f, 0x03de5ff3, 0x004a8514, 0x016800cd, 0x01b871f8, 0x00332a02}}, Y: Field{[10]uint32{0x0090b037, 0x0047045a, 0x012f712b, 0x03b4e0a6, 0x03aba642, 0x007d8be5, 0x018f260a, 0x020d6489, 0x02b83565, 0x002df5ca}}}, + {X: Field{[10]uint32{0x01c81958, 0x00fb471f, 0x03eeaa7d, 0x016d4706, 0x01aa26c4, 0x003ee851, 0x034eec03, 0x014076be, 0x0366ee2c, 0x002ef465}}, Y: Field{[10]uint32{0x035250fa, 0x03c6b3f7, 0x03cfeb98, 0x033b0cbb, 0x036c1ca4, 0x01c9110b, 0x030a6e89, 0x0184b9f3, 0x01ff70b3, 0x002f1c27}}}, + {X: Field{[10]uint32{0x001cfadd, 0x01352bfb, 0x025f79c3, 0x03a0e9a2, 0x01ca8f0e, 0x01912a97, 0x03a19381, 0x02065c99, 0x00a0e4a5, 0x001a9bf7}}, Y: Field{[10]uint32{0x02732081, 0x0145fa74, 0x00c36db6, 0x01bf2b6c, 0x006bd7ff, 0x01faf31c, 0x0104298d, 0x01495730, 0x02367658, 0x0030a2c4}}}, + {X: Field{[10]uint32{0x035c8006, 0x014c85b7, 0x00be02c5, 0x00ac05e9, 0x029564af, 0x014bc2b7, 0x03d693de, 0x00688bb9, 0x03e1fd40, 0x000248b8}}, Y: Field{[10]uint32{0x0088f757, 0x03ac7105, 0x004aa3b9, 0x031c82e5, 0x03696841, 0x032a2889, 0x0379e0c5, 0x012902e6, 0x0065aae8, 0x0029ec40}}}, + {X: Field{[10]uint32{0x0276eac8, 0x020be629, 0x01490383, 0x036b5225, 0x03aff8a6, 0x00f2f4ec, 0x02bd9dae, 0x02d54fe4, 0x024e3526, 0x0014ffeb}}, Y: Field{[10]uint32{0x01f8c6f4, 0x0390fb66, 0x03d23cfd, 0x024b115b, 0x009e6652, 0x033a183b, 0x023b2228, 0x0202e0f4, 0x00aeb51f, 0x00207f7f}}}, + {X: Field{[10]uint32{0x0203d119, 0x009e1882, 0x015b9772, 0x031ad574, 0x027c2e70, 0x00a73f92, 0x03e70289, 0x025be274, 0x01d1c945, 0x00052837}}, Y: Field{[10]uint32{0x036dd086, 0x03c7efa5, 0x02e83806, 0x03bed663, 0x007e8c94, 0x00f71956, 0x03e14835, 0x0074777d, 0x0071febe, 0x000ad770}}}, + {X: Field{[10]uint32{0x0168c8f9, 0x0143c78f, 0x03f4dc01, 0x00a9ce7b, 0x00bebe27, 0x032bcee4, 0x01a25428, 0x03cd6ed4, 0x000dfb74, 0x001cda09}}, Y: Field{[10]uint32{0x00a7a27f, 0x02ea17b9, 0x03cd8fd2, 0x01cac572, 0x0321801a, 0x031191a7, 0x00c71687, 0x03a0b9dd, 0x0317b4c5, 0x00254e4a}}}, + {X: Field{[10]uint32{0x00580560, 0x00340408, 0x0079e640, 0x0041ef16, 0x035fbdb6, 0x0105a217, 0x016825e2, 0x02ce748e, 0x0053b9ea, 0x001302a0}}, Y: Field{[10]uint32{0x03db5427, 0x02a5eef5, 0x002f093c, 0x0099820f, 0x02f5a6f8, 0x01022de7, 0x03f67f65, 0x0394c985, 0x02a75b7d, 0x00216888}}}, + {X: Field{[10]uint32{0x01dabbf8, 0x00c814cf, 0x00a1e91e, 0x01abd5e4, 0x026751a2, 0x00cf7f2c, 0x01447a49, 0x03e2b2f6, 0x02a824a6, 0x00328359}}, Y: Field{[10]uint32{0x01395d18, 0x003cca5e, 0x016b2155, 0x0020297c, 0x036f7d7d, 0x03bc0790, 0x01fd49b1, 0x00211447, 0x018d4f8b, 0x00187322}}}, + {X: Field{[10]uint32{0x01e9d6d4, 0x01629b95, 0x03a76453, 0x03dcd572, 0x01a3d7df, 0x031fec20, 0x020763b5, 0x01a8db54, 0x0375e62f, 0x00191a81}}, Y: Field{[10]uint32{0x037dbbb4, 0x006807de, 0x026f7a6b, 0x011b85f1, 0x01b11000, 0x00b24dbe, 0x01b23662, 0x00299083, 0x0044e738, 0x000f94a2}}}, + {X: Field{[10]uint32{0x0055d070, 0x000c00d9, 0x007f2303, 0x00faa044, 0x01bac77f, 0x0014b69c, 0x02d7c477, 0x02f04c50, 0x01ecf3d6, 0x0010d559}}, Y: Field{[10]uint32{0x00c9f6bd, 0x027ad369, 0x02d159fa, 0x01706ba5, 0x03ab6edc, 0x027c31c3, 0x03ca8f6c, 0x023658d0, 0x009689fd, 0x0013b54a}}}, + {X: Field{[10]uint32{0x03aa8f9d, 0x029d82e4, 0x0316fff6, 0x02b000dc, 0x037a014a, 0x018171a4, 0x01f22fee, 0x01512a94, 0x00969328, 0x00362c06}}, Y: Field{[10]uint32{0x0206edf3, 0x03dc964e, 0x020ac989, 0x020b9318, 0x01dd4127, 0x00525ed7, 0x0160719c, 0x01e6b4db, 0x0242a2b8, 0x0018fd47}}}, + {X: Field{[10]uint32{0x023d48d7, 0x039511b5, 0x0399a21e, 0x02ed1fc1, 0x0283a30a, 0x03c60b97, 0x02f6f2b6, 0x00c14a52, 0x01504a9b, 0x002e51d6}}, Y: Field{[10]uint32{0x002fb876, 0x0241a243, 0x01018042, 0x01f0d2b8, 0x02968027, 0x038d62b5, 0x03896769, 0x0266fde6, 0x002837a8, 0x0032f1d0}}}, + {X: Field{[10]uint32{0x038e0ef0, 0x01a89c7f, 0x02f0fc3e, 0x019c6c98, 0x01d521b4, 0x0121084d, 0x0201b5e3, 0x0356fb16, 0x00492972, 0x00050c5f}}, Y: Field{[10]uint32{0x02069381, 0x02419470, 0x006cfc20, 0x027930d2, 0x01d318e7, 0x036d20f6, 0x02a476a7, 0x033f48b9, 0x0235d1ce, 0x00331348}}}, + {X: Field{[10]uint32{0x0144f8c6, 0x03753927, 0x005f8fcd, 0x01cd3a57, 0x0278c4b8, 0x0224a354, 0x0062ab33, 0x019fd13c, 0x03575b68, 0x0022ef6c}}, Y: Field{[10]uint32{0x0173a778, 0x025fccd4, 0x019fa90b, 0x028bb86d, 0x021279ec, 0x01f40398, 0x01a67e6c, 0x01015301, 0x03873242, 0x0034e34c}}}, + {X: Field{[10]uint32{0x006aa685, 0x002c643c, 0x014761ab, 0x03e53b4c, 0x03380b00, 0x0265b035, 0x0279786b, 0x02f9e024, 0x02f636ec, 0x001ddd7f}}, Y: Field{[10]uint32{0x0355407b, 0x025bafcb, 0x018e12a9, 0x014cae0c, 0x00342431, 0x02e21711, 0x0257d7fc, 0x03596773, 0x0273162d, 0x0014c54a}}}, + {X: Field{[10]uint32{0x01693b48, 0x0247030e, 0x0242ba74, 0x02955143, 0x00bc9b0e, 0x0279cbed, 0x02649502, 0x038ddef2, 0x03d139eb, 0x0036d792}}, Y: Field{[10]uint32{0x005a0abb, 0x025399b3, 0x00e62141, 0x003af6f9, 0x00416ca2, 0x00e209f7, 0x037ceb32, 0x025ab68c, 0x0113a5a7, 0x002991a0}}}, + {X: Field{[10]uint32{0x01c619eb, 0x013fc47c, 0x020fc241, 0x00c5c255, 0x016ebf06, 0x03c1a73c, 0x0011be39, 0x014b8bab, 0x03b0578c, 0x003aac15}}, Y: Field{[10]uint32{0x01023f67, 0x036d157f, 0x01f750cd, 0x03386031, 0x006fb041, 0x030b787a, 0x00e5c6c3, 0x02e2a116, 0x023fcf69, 0x00150880}}}, + {X: Field{[10]uint32{0x03f5e44c, 0x00460ff9, 0x02fe6d02, 0x00c90639, 0x02c231ba, 0x01944ccf, 0x02d43cc0, 0x035845f8, 0x00d3c657, 0x003a557f}}, Y: Field{[10]uint32{0x028e6b57, 0x008a3d20, 0x02369cfe, 0x03f2cb8d, 0x02973095, 0x0311b176, 0x014953a4, 0x00bc9c91, 0x02986521, 0x003743aa}}}, + {X: Field{[10]uint32{0x002d8e49, 0x01fe46c1, 0x027a72a0, 0x01cfabec, 0x03ec0f5e, 0x00759817, 0x011f596f, 0x03f0c30c, 0x005758ea, 0x0017d68f}}, Y: Field{[10]uint32{0x01cdf1a2, 0x00fbca97, 0x0090ccf2, 0x017a132a, 0x01c6d9f5, 0x02914dbd, 0x005a04aa, 0x02cbaa76, 0x00b01d1f, 0x0000f378}}}, + {X: Field{[10]uint32{0x00b99bab, 0x00b64902, 0x019c0757, 0x03c9ab48, 0x0049c82c, 0x0012bc46, 0x03fbd7ae, 0x03787bbf, 0x01e4ff0a, 0x003ede8c}}, Y: Field{[10]uint32{0x01df2a01, 0x00ac1fcc, 0x0345a550, 0x00b01cd8, 0x039e6910, 0x03918f75, 0x006bc4eb, 0x0395fbba, 0x020c431d, 0x003aa1ea}}}, + {X: Field{[10]uint32{0x03ae1ffb, 0x005de352, 0x02b44e41, 0x00f79ac8, 0x036ec18d, 0x020fb8e8, 0x01f8dd96, 0x01dde52e, 0x016aa3e8, 0x00355ec7}}, Y: Field{[10]uint32{0x000f62ee, 0x0235eaf7, 0x008ca73f, 0x015c08b6, 0x009fcb9e, 0x00f32ebb, 0x01adb0e4, 0x034bc027, 0x02d6b85b, 0x00095bff}}}, + {X: Field{[10]uint32{0x03b8f1a6, 0x02b15232, 0x00b5bbd6, 0x00cb1c2f, 0x030f7268, 0x020da5ec, 0x00fc90e1, 0x0128e3bc, 0x0052d3a2, 0x0024c9bf}}, Y: Field{[10]uint32{0x02889a2b, 0x01629bc4, 0x0330801a, 0x03095355, 0x00d7d766, 0x0267ebea, 0x01176f5c, 0x00afab48, 0x00a0cc0a, 0x00218ef4}}}, + {X: Field{[10]uint32{0x013caff4, 0x01e6d2ea, 0x036da360, 0x0354c4fb, 0x03d5d310, 0x0082b421, 0x0217e946, 0x02d7995d, 0x00d5abc9, 0x00160d8b}}, Y: Field{[10]uint32{0x022fc52f, 0x012350bd, 0x021c03da, 0x03cf098b, 0x03d6923c, 0x0390c88c, 0x03b673b2, 0x02ef635c, 0x00044e86, 0x00017ca9}}}, + {X: Field{[10]uint32{0x001738ee, 0x03f3a061, 0x03681034, 0x01a5fa68, 0x01b8c4cd, 0x02cc6358, 0x001b3a96, 0x039a3c38, 0x00b9cd06, 0x001f7522}}, Y: Field{[10]uint32{0x019782cf, 0x0267af82, 0x0010f34a, 0x03414998, 0x00d963de, 0x00f4a4a8, 0x0370846a, 0x03225f2d, 0x01ed0130, 0x003f5ea9}}}, + {X: Field{[10]uint32{0x00fe798d, 0x01419003, 0x0061df95, 0x0091aea0, 0x011fa2a3, 0x00ed05c1, 0x030d7d5a, 0x005550cc, 0x0302524c, 0x0026fde2}}, Y: Field{[10]uint32{0x00cf5a83, 0x009d5224, 0x00f48104, 0x0215da59, 0x00c7d063, 0x02d08672, 0x01d5a703, 0x01a0075e, 0x03d66d2e, 0x00167d4d}}}, + {X: Field{[10]uint32{0x02b3fc47, 0x00f70d83, 0x03c39366, 0x02dbbbaf, 0x00e71513, 0x02ef5b47, 0x01b4f879, 0x03572c63, 0x0173743a, 0x0013205a}}, Y: Field{[10]uint32{0x0141105f, 0x010b6243, 0x00254ab1, 0x03af545b, 0x0044c6f8, 0x0003e594, 0x033ef09f, 0x025002a4, 0x02ac37a4, 0x00069b71}}}, + {X: Field{[10]uint32{0x01051be8, 0x00715bec, 0x031a835c, 0x0169fc00, 0x00173f4e, 0x003ce89b, 0x02964084, 0x018d0d64, 0x03c2c748, 0x001818da}}, Y: Field{[10]uint32{0x03e88e8b, 0x03763d76, 0x01b08541, 0x01adf3e0, 0x020efc2e, 0x0346f95b, 0x024190b0, 0x00af25c2, 0x037a3aed, 0x001c69e2}}}, + {X: Field{[10]uint32{0x03f8d00a, 0x01e83cc1, 0x00a2f004, 0x00dd0329, 0x03122115, 0x03579b34, 0x0263fc94, 0x0029c1b1, 0x02dec3e9, 0x0029b9dc}}, Y: Field{[10]uint32{0x00eed520, 0x029f1cf4, 0x032ca76b, 0x00875e30, 0x00f10902, 0x002a87ae, 0x02175a81, 0x01c60529, 0x021f5c72, 0x00096e3f}}}, + {X: Field{[10]uint32{0x00b89262, 0x00c9395f, 0x026c9019, 0x004c598c, 0x031692f6, 0x02a2feeb, 0x03b4b2aa, 0x01c857ea, 0x013c6030, 0x001e7199}}, Y: Field{[10]uint32{0x02197bcb, 0x039fb4b4, 0x028f8db1, 0x00f08138, 0x03c24eaa, 0x0025572f, 0x0379da4c, 0x02525b8a, 0x0112b6b4, 0x000db57b}}}, + {X: Field{[10]uint32{0x0246cb15, 0x02a151b5, 0x0242ed4b, 0x013aaaf6, 0x034a2bdb, 0x03911530, 0x0374af4c, 0x03eb7b51, 0x032e4530, 0x000fd55a}}, Y: Field{[10]uint32{0x00fd25c3, 0x00a4e27b, 0x039e0588, 0x0360e5f3, 0x02c9fd04, 0x01717138, 0x028996bf, 0x010cc4ef, 0x03211ce8, 0x002eac74}}}, + {X: Field{[10]uint32{0x03b3913a, 0x009cedcf, 0x01dd93b7, 0x00abce18, 0x02d645c5, 0x03dcc7f8, 0x011e0fbc, 0x03fa7d78, 0x02238d21, 0x003b6966}}, Y: Field{[10]uint32{0x012bbfee, 0x006e6a1c, 0x02562416, 0x015d032c, 0x03d3cea8, 0x01d6dfad, 0x0029c06d, 0x0082e0b3, 0x03014ba3, 0x0008bc8b}}}, + {X: Field{[10]uint32{0x01e68548, 0x02909e5f, 0x02cb0c42, 0x00aea7d8, 0x033a2bea, 0x01c753c0, 0x0158adf0, 0x03ed3cda, 0x0277323d, 0x0001e87a}}, Y: Field{[10]uint32{0x024825a0, 0x030fc809, 0x01940f6c, 0x0147dbd0, 0x006d2d7f, 0x00984c63, 0x036f9766, 0x00ad7689, 0x0225ee7a, 0x001219b3}}}, + {X: Field{[10]uint32{0x0323de2a, 0x0330f668, 0x00178a0e, 0x023d8b57, 0x0233d102, 0x02421db8, 0x027c51d5, 0x035b42eb, 0x013aad62, 0x0002b43f}}, Y: Field{[10]uint32{0x003b0601, 0x0100e082, 0x02787a6d, 0x01f7b660, 0x01d16315, 0x01e4b5d8, 0x034a64eb, 0x011a7d53, 0x00c59672, 0x00223809}}}, + {X: Field{[10]uint32{0x002729d3, 0x001b3718, 0x00dfd207, 0x01c6358d, 0x03ee7437, 0x02e12972, 0x016e9d67, 0x0129a55b, 0x0032f404, 0x0006fc65}}, Y: Field{[10]uint32{0x00516aa9, 0x00710c1f, 0x0292263d, 0x0270fe93, 0x034f2acd, 0x01b0dfa6, 0x02f8e3e1, 0x028681d7, 0x0200afb6, 0x0010452c}}}, + {X: Field{[10]uint32{0x0121d93b, 0x008130b8, 0x019afc35, 0x017c4b48, 0x012fb1af, 0x0002da53, 0x023b9d5f, 0x036bea2f, 0x02f20bc2, 0x00145185}}, Y: Field{[10]uint32{0x022eaf9c, 0x01cb33e4, 0x0058a740, 0x02dc1140, 0x0257ba8e, 0x0196b6fc, 0x03f4e0a0, 0x00a673d9, 0x0253608a, 0x000f973b}}}, + {X: Field{[10]uint32{0x0121a661, 0x000b685a, 0x01a1c3b0, 0x00c1aa38, 0x00fdc423, 0x033fcd39, 0x0321d181, 0x03b4c64d, 0x00e85338, 0x00238ffb}}, Y: Field{[10]uint32{0x00f686d2, 0x01993e08, 0x03b2e077, 0x010e2ccc, 0x03128945, 0x032b267b, 0x02dfc249, 0x0121ad9d, 0x034b6736, 0x002c255c}}}, + {X: Field{[10]uint32{0x03ad4447, 0x0350e329, 0x03355916, 0x02682b98, 0x016db1eb, 0x0362882e, 0x00421867, 0x007b4a4a, 0x0020df10, 0x0011b01a}}, Y: Field{[10]uint32{0x01f1afa9, 0x031eaf37, 0x0226f9ac, 0x01606f3f, 0x01d7d439, 0x0051ed4d, 0x00d1b601, 0x02dcff12, 0x00f4059b, 0x003f2a84}}}, + {X: Field{[10]uint32{0x03722b31, 0x031f6ff3, 0x02dba0fe, 0x01a470bb, 0x013fff8c, 0x02cdebdc, 0x001e406a, 0x00e42ac0, 0x01f71f9b, 0x00158cd3}}, Y: Field{[10]uint32{0x026707dc, 0x01082f1c, 0x006904af, 0x031011d1, 0x038a3724, 0x01269b24, 0x03c4b0bf, 0x03055a9c, 0x0394340d, 0x0008b410}}}, + {X: Field{[10]uint32{0x00a67c4f, 0x020998c3, 0x03d37cb8, 0x03e86d72, 0x03b2fd55, 0x03294b48, 0x03e3dc97, 0x017e3276, 0x006d8904, 0x00080b89}}, Y: Field{[10]uint32{0x017a62b1, 0x039ec828, 0x033659a2, 0x038d44f2, 0x027a6241, 0x0116201c, 0x01f661ec, 0x03c08c72, 0x03899cbc, 0x003d39b3}}}, + {X: Field{[10]uint32{0x039bd4d5, 0x008e7a66, 0x0009dece, 0x01735979, 0x03c56b63, 0x00d54bbf, 0x03c1ff94, 0x0070b3d6, 0x02e01021, 0x00320153}}, Y: Field{[10]uint32{0x03f31057, 0x008a09c5, 0x0046b46e, 0x034419e3, 0x010bf1eb, 0x02e152c1, 0x02842b43, 0x0072f379, 0x01af5160, 0x003d4145}}}, + {X: Field{[10]uint32{0x00438383, 0x00954e05, 0x004f51c6, 0x02b95be6, 0x01ea3282, 0x02e5c068, 0x01407084, 0x02d86b4a, 0x008c235e, 0x00270a5e}}, Y: Field{[10]uint32{0x0359ead7, 0x01c3b125, 0x0286c2ab, 0x010a6774, 0x00c116cc, 0x02b4c38c, 0x02469db4, 0x03bcb88d, 0x02ecefdb, 0x000c8447}}}, + {X: Field{[10]uint32{0x01a57ef8, 0x005d1706, 0x009e74bc, 0x008cd9d4, 0x02729990, 0x02530f35, 0x028dc86f, 0x030e51c1, 0x00d0b7b5, 0x0016153a}}, Y: Field{[10]uint32{0x023eb98d, 0x02dd72e9, 0x005f2345, 0x001505f5, 0x00edafec, 0x03834b4f, 0x00c41134, 0x02faf7d4, 0x01c50c06, 0x001f9e40}}}, + {X: Field{[10]uint32{0x033fef34, 0x03ea247d, 0x010b74d0, 0x03767239, 0x011104a5, 0x0151e913, 0x0046e1b3, 0x039e2681, 0x03f0f45b, 0x0022ecbf}}, Y: Field{[10]uint32{0x03b182c1, 0x02a45cdc, 0x03a7935d, 0x037dc888, 0x03efb979, 0x00e0fdd9, 0x0171e2bc, 0x00fa99b1, 0x0365a534, 0x0030ccb8}}}, + {X: Field{[10]uint32{0x00cd209e, 0x022d5863, 0x033c45ad, 0x015b71cc, 0x02992f56, 0x02d90f36, 0x0165faac, 0x00ce1e18, 0x02656ee4, 0x0003aa23}}, Y: Field{[10]uint32{0x01f0f909, 0x02a0e897, 0x006f1fd0, 0x012a10e6, 0x02af9f4f, 0x0115c971, 0x03357ab8, 0x00d0f62a, 0x00d64a7a, 0x0030e310}}}, + {X: Field{[10]uint32{0x0046295a, 0x0075aa51, 0x01ff6698, 0x02e33236, 0x02a3b18a, 0x00352e8a, 0x0322c2ee, 0x01fa984c, 0x00df857c, 0x00303075}}, Y: Field{[10]uint32{0x0172b981, 0x00bf8167, 0x02918729, 0x0123aede, 0x029a2846, 0x0326f91a, 0x02ae1dbe, 0x03bdf739, 0x01d10e8e, 0x00091c45}}}, + {X: Field{[10]uint32{0x007fc72a, 0x0380a33b, 0x0265db74, 0x0049e4ae, 0x0267b8e2, 0x02dc8faf, 0x0008d8dd, 0x00d800aa, 0x00f9407d, 0x002479a9}}, Y: Field{[10]uint32{0x005721ba, 0x0394104f, 0x0299547e, 0x02ed1e92, 0x0212e57d, 0x00841b82, 0x00e98f7b, 0x022fa173, 0x016035f5, 0x003bdab9}}}, + {X: Field{[10]uint32{0x03208454, 0x0253823e, 0x03078187, 0x000b8873, 0x0224a7a4, 0x020340d9, 0x015cf613, 0x0074d8a6, 0x02189a8c, 0x00335d25}}, Y: Field{[10]uint32{0x03af0bd9, 0x00b17b72, 0x024f6ba0, 0x00bc748e, 0x022dd6ba, 0x022bf2ae, 0x03debcf8, 0x03e44a80, 0x02be15d1, 0x003cf724}}}, + {X: Field{[10]uint32{0x02943018, 0x01d4bfe0, 0x015e9f71, 0x0196bc28, 0x0285f630, 0x013ac929, 0x004f3fa4, 0x0239c30c, 0x012d02e6, 0x00267d74}}, Y: Field{[10]uint32{0x020b8a9e, 0x01a37076, 0x01dfb611, 0x020091b5, 0x01dff9f9, 0x0028a5ec, 0x03962c9c, 0x02fccda3, 0x021ad97e, 0x00167c64}}}, + {X: Field{[10]uint32{0x01f7608f, 0x03580aee, 0x02dff7b3, 0x036e77ae, 0x01a6ac02, 0x01745c64, 0x0256b1e7, 0x01c25845, 0x0130f9c0, 0x0018f1b3}}, Y: Field{[10]uint32{0x021083f0, 0x00fffbd1, 0x017234b7, 0x03d03b9c, 0x006d8b1e, 0x02add6f9, 0x025f0a13, 0x006e3f83, 0x037370a4, 0x000b90e4}}}, + {X: Field{[10]uint32{0x01184d92, 0x0357a5d7, 0x01e9394c, 0x011c602c, 0x019e04fe, 0x01f9b06c, 0x037fc551, 0x03a84766, 0x032690a5, 0x002dd01f}}, Y: Field{[10]uint32{0x013de6d2, 0x0233df54, 0x0301aaed, 0x0200f835, 0x03828ee8, 0x0299e5b9, 0x020f7277, 0x012611d0, 0x012947dd, 0x0006e54e}}}, + {X: Field{[10]uint32{0x0383fd40, 0x03e69b78, 0x02297150, 0x023761ad, 0x02c29ce4, 0x01e94015, 0x0121e962, 0x02210375, 0x0116161c, 0x000925e4}}, Y: Field{[10]uint32{0x00b9a70b, 0x03826c0a, 0x03649143, 0x010fdee8, 0x0076f999, 0x03ec5992, 0x00d3e325, 0x0273dce1, 0x01ab3dd6, 0x0004f75c}}}, + {X: Field{[10]uint32{0x01d73b7d, 0x037a3dfe, 0x0196b6f2, 0x00651943, 0x030b4199, 0x03210542, 0x016c80d4, 0x02c9e219, 0x02c36122, 0x003c426d}}, Y: Field{[10]uint32{0x011c96ac, 0x03ab575e, 0x01c77142, 0x01ad284f, 0x01bd971f, 0x02525be1, 0x0291d4a3, 0x03553702, 0x0369bef8, 0x0029d15c}}}, + {X: Field{[10]uint32{0x01118df9, 0x038edb5a, 0x015169f0, 0x000289ad, 0x0136be99, 0x03ef42b0, 0x017c9297, 0x030dc13c, 0x03f82031, 0x00166cc0}}, Y: Field{[10]uint32{0x03d678c3, 0x0197af4b, 0x01e02d6c, 0x01b431a5, 0x01983030, 0x00d41a30, 0x008c936b, 0x009c696b, 0x00dd1666, 0x000c31f1}}}, + {X: Field{[10]uint32{0x0062fc52, 0x00e5d3b5, 0x02cd6602, 0x006b4afd, 0x01a67862, 0x01ee2132, 0x0254cd6c, 0x00436d2e, 0x019aeb39, 0x001989cd}}, Y: Field{[10]uint32{0x0110d487, 0x03115f6a, 0x010b2555, 0x0377a93d, 0x00feab83, 0x024de5de, 0x00867347, 0x01e29ff1, 0x01bad2de, 0x002f2f3e}}}, + {X: Field{[10]uint32{0x0151f1d9, 0x009e16b7, 0x0281e921, 0x00104610, 0x00ec7efc, 0x003a062b, 0x01d23059, 0x0141f672, 0x0180c4fb, 0x001dbf6b}}, Y: Field{[10]uint32{0x03a8c346, 0x03b376f8, 0x0119a18c, 0x0035ff27, 0x039b88b7, 0x01566156, 0x00adf7ef, 0x03cc1fcd, 0x03cc349c, 0x00332331}}}, + {X: Field{[10]uint32{0x01313330, 0x00ede478, 0x00700b98, 0x032d30a2, 0x037f2380, 0x02a6ebf6, 0x03ed9cc4, 0x03c2294b, 0x0006e99c, 0x0001e24d}}, Y: Field{[10]uint32{0x0111d149, 0x03e02bc9, 0x0007450e, 0x00ede96e, 0x00d0c2e8, 0x02f56e3b, 0x001acd3f, 0x03f96b42, 0x01af39ea, 0x003b0578}}}, + {X: Field{[10]uint32{0x038c81d5, 0x02c6e820, 0x039ff3bb, 0x033760e8, 0x01018f16, 0x003a0d3d, 0x013c229d, 0x0084cfb6, 0x02a4e8d0, 0x00031152}}, Y: Field{[10]uint32{0x03ac51f0, 0x00ecea1c, 0x01f5c67e, 0x039b7afd, 0x018af57b, 0x00a69b96, 0x00959245, 0x00e023d2, 0x01cf89c4, 0x002a6398}}}, + {X: Field{[10]uint32{0x02402880, 0x002d845c, 0x0327bf99, 0x03b8e55e, 0x0097dac1, 0x0108e404, 0x02ba8f96, 0x03048b74, 0x021ccbe5, 0x003fc2f0}}, Y: Field{[10]uint32{0x03bca50a, 0x0334e59d, 0x020da467, 0x03dc14a5, 0x01ecd634, 0x039117b0, 0x00cd5f89, 0x00860635, 0x009c1f7b, 0x00030d02}}}, + {X: Field{[10]uint32{0x0331c301, 0x00789e4d, 0x0373586f, 0x03a74fad, 0x003a0e61, 0x004ade3c, 0x0132e398, 0x0108ef60, 0x02e349a0, 0x00239121}}, Y: Field{[10]uint32{0x022053a1, 0x01ee6ca6, 0x0083ca8a, 0x02130422, 0x0116bbf0, 0x037088bb, 0x021866f4, 0x0098354b, 0x00d437cc, 0x00225ec9}}}, + {X: Field{[10]uint32{0x01c579e7, 0x03e96d13, 0x03584590, 0x01b04e11, 0x010bf7fb, 0x00d44227, 0x00a30d20, 0x0313a5ab, 0x017f84f5, 0x0013d329}}, Y: Field{[10]uint32{0x01e63a9e, 0x0094396b, 0x010b717d, 0x01d63ca3, 0x01336349, 0x0286e46a, 0x031cb1f8, 0x0155b0db, 0x03dc1691, 0x00354f6d}}}, + {X: Field{[10]uint32{0x03c203bb, 0x002ab633, 0x02423c76, 0x01bce22d, 0x0279b3a9, 0x02bb63ee, 0x00618300, 0x013ea417, 0x00b2d7a2, 0x003fa249}}, Y: Field{[10]uint32{0x00b056be, 0x033a8cb4, 0x0026a7e3, 0x02103ea3, 0x00e92c37, 0x02c5f82b, 0x0279df9c, 0x0038afd3, 0x0229c6be, 0x002f4c0f}}}, + {X: Field{[10]uint32{0x006abb5d, 0x03345371, 0x03fc5dcd, 0x028cc83c, 0x03008ed9, 0x014be66c, 0x005895d1, 0x031cbe1a, 0x035cf6a8, 0x000c267d}}, Y: Field{[10]uint32{0x02fc9f1c, 0x0082cba9, 0x000bc6fc, 0x0313038b, 0x0304a939, 0x02a570a9, 0x038a32c2, 0x014a7289, 0x002aec76, 0x003eed6f}}}, + {X: Field{[10]uint32{0x0072f4eb, 0x0170b727, 0x004b9741, 0x0088ab0e, 0x03432443, 0x00901727, 0x0232de01, 0x009bced9, 0x0383f841, 0x000ee4e7}}, Y: Field{[10]uint32{0x005607fb, 0x030932bc, 0x0255f1d3, 0x031fd22f, 0x01c1e602, 0x00e84e2d, 0x014cc202, 0x010e03a7, 0x0353ec45, 0x00210edc}}}, + {X: Field{[10]uint32{0x01c732d8, 0x03191b65, 0x009327b0, 0x025f5b4c, 0x00b032f1, 0x00e12a4e, 0x023cbc06, 0x038d1772, 0x02a04a50, 0x00371d41}}, Y: Field{[10]uint32{0x03d5772a, 0x0378e766, 0x039eae8d, 0x013ad88f, 0x01c6a39d, 0x0345bd0f, 0x039559a3, 0x02758a67, 0x0311f6d4, 0x003fa508}}}, + {X: Field{[10]uint32{0x03b30dea, 0x03483aa0, 0x01433f84, 0x03ed2af2, 0x003dde68, 0x01c875d7, 0x02fb61a2, 0x01a8d45c, 0x0196c699, 0x003d6931}}, Y: Field{[10]uint32{0x01f26572, 0x01a02ee7, 0x018e35ae, 0x00c3bdf7, 0x02fd783b, 0x034c2e58, 0x02ef9220, 0x03d8eeec, 0x013e77d2, 0x0005d783}}}, + {X: Field{[10]uint32{0x02a4029e, 0x02f87e6b, 0x03133cb9, 0x01a4098b, 0x01373c2f, 0x03de7d2c, 0x01222ae2, 0x00127f97, 0x00e2c499, 0x001fa40e}}, Y: Field{[10]uint32{0x0025c737, 0x01bccae0, 0x03dfe714, 0x012c888e, 0x031d7dc6, 0x015428d8, 0x00162766, 0x00d6f038, 0x026a3433, 0x000d64b9}}}, + {X: Field{[10]uint32{0x022b1f41, 0x01227ffd, 0x0050f0af, 0x00eb6482, 0x02e2cb80, 0x03e643ad, 0x0028e921, 0x03f1bf5b, 0x0373d16b, 0x00203c8b}}, Y: Field{[10]uint32{0x03503b28, 0x02f5df9e, 0x02d682a1, 0x00471c9b, 0x00370e67, 0x0133d360, 0x03e11fd2, 0x01d2f01c, 0x01d3c5ee, 0x0021c529}}}, + {X: Field{[10]uint32{0x020c897d, 0x021efebf, 0x03535fc8, 0x001f6748, 0x03007c31, 0x02e5bf82, 0x0070a58a, 0x014fe10d, 0x02e9e86e, 0x0012628a}}, Y: Field{[10]uint32{0x0001bb53, 0x033b4e99, 0x0209ec3c, 0x02754ee1, 0x037ec380, 0x02acc207, 0x020f6516, 0x01078509, 0x02b373e8, 0x0011eaa7}}}, + {X: Field{[10]uint32{0x033a010e, 0x0377cc0e, 0x03b6d960, 0x026a009d, 0x028e9c06, 0x029e31d1, 0x012c5427, 0x03861329, 0x024cd14c, 0x001806bd}}, Y: Field{[10]uint32{0x02b7fa18, 0x00734833, 0x00d59916, 0x026c00ef, 0x0156dd57, 0x00b21fbd, 0x0346c273, 0x01db4046, 0x023fca15, 0x000a4029}}}, + {X: Field{[10]uint32{0x0174a25b, 0x00d07fcb, 0x019849a1, 0x03c41775, 0x03957f2b, 0x008aa9a0, 0x018b06a8, 0x032f12b5, 0x00f07b2f, 0x0023ecb8}}, Y: Field{[10]uint32{0x01070aa4, 0x01a32d1d, 0x016e6b7c, 0x032427db, 0x0306137d, 0x0357e0ab, 0x03386f75, 0x01f3aac6, 0x03508d79, 0x001f3608}}}, + {X: Field{[10]uint32{0x0269e6d9, 0x03962bda, 0x0282c9bd, 0x02bebbcc, 0x0083468e, 0x01cb18ef, 0x01a14980, 0x0053a2d5, 0x000f0e9d, 0x000cdb5e}}, Y: Field{[10]uint32{0x023d2261, 0x008c8529, 0x00fb00b7, 0x01e7d3f8, 0x02ac3e66, 0x03f4061e, 0x02eba682, 0x02fb9ae3, 0x0004be45, 0x00024b44}}}, + {X: Field{[10]uint32{0x00d5872d, 0x011fbea4, 0x021a5e4e, 0x000f338f, 0x02b06343, 0x02c0eaba, 0x00d2cbdf, 0x021c113e, 0x0321f4d5, 0x00141eb1}}, Y: Field{[10]uint32{0x007174d9, 0x0348b20c, 0x02f0e917, 0x0254e72a, 0x009ba53c, 0x01ee0f58, 0x00550939, 0x00175e84, 0x018de7db, 0x002e268e}}}, + {X: Field{[10]uint32{0x033ba343, 0x01a22a51, 0x009a046e, 0x0132fa86, 0x00992c60, 0x019b004b, 0x0171026f, 0x03ee58a4, 0x02c13bb7, 0x00310b73}}, Y: Field{[10]uint32{0x014f7bb5, 0x007380b9, 0x0064be3c, 0x03b00d4d, 0x018fe010, 0x0104e4a7, 0x021bfe7c, 0x008f2e80, 0x0331a532, 0x0022a8dd}}}, + {X: Field{[10]uint32{0x02866a2c, 0x010651ca, 0x00417d9f, 0x02d9400e, 0x00857eed, 0x03144212, 0x026b5c45, 0x024e8b57, 0x02c3cd60, 0x002c0ba8}}, Y: Field{[10]uint32{0x03a5527c, 0x027049cb, 0x01bf86ac, 0x03a31d69, 0x03ed1d8e, 0x033f3a4e, 0x037c5058, 0x0243186e, 0x0050cea1, 0x003aed17}}}, + {X: Field{[10]uint32{0x0370d84b, 0x005f117b, 0x02db151e, 0x010566df, 0x0185626d, 0x03aad0ed, 0x03dc2c9a, 0x03b4b89c, 0x03d29f20, 0x003d3464}}, Y: Field{[10]uint32{0x02dd0974, 0x03946586, 0x027e7280, 0x01b1847a, 0x0101f84b, 0x0133695e, 0x013f8cf1, 0x00d28b12, 0x023f19b8, 0x002f6866}}}, + {X: Field{[10]uint32{0x025f1bb0, 0x01fed93f, 0x02857eef, 0x02ec7fdb, 0x03cc84f6, 0x0340c0b4, 0x0059b9e4, 0x0318add6, 0x00eb19ea, 0x0021d037}}, Y: Field{[10]uint32{0x03c6ca49, 0x023eda39, 0x01d1b1d9, 0x03780522, 0x00f2f151, 0x03ad4887, 0x01d5b6e7, 0x008168b8, 0x02b04783, 0x00029ca7}}}, + {X: Field{[10]uint32{0x00fcc9cb, 0x017a88e1, 0x03f6c92a, 0x0098da4e, 0x0050aec6, 0x011273a2, 0x010bc940, 0x027c2364, 0x024a85a2, 0x001e7b11}}, Y: Field{[10]uint32{0x02f53b39, 0x039a3a83, 0x03a2cd44, 0x01131896, 0x03a1d7c5, 0x0216aeb8, 0x02d476d0, 0x0342ca6a, 0x00f5b52e, 0x001df45c}}}, + {X: Field{[10]uint32{0x0207fceb, 0x03bf338c, 0x01238847, 0x03011622, 0x006fb3aa, 0x0157abf5, 0x000e29b2, 0x02edc72f, 0x00d5dd54, 0x0013c406}}, Y: Field{[10]uint32{0x03e7dd8c, 0x00bd938e, 0x0222224a, 0x0364b505, 0x03a64531, 0x01c7ef8e, 0x029b2a02, 0x030b9dce, 0x01e5d23c, 0x0030ca06}}}, + {X: Field{[10]uint32{0x03e969a1, 0x00181efe, 0x00eb033a, 0x02ae05e0, 0x00e53768, 0x032a1735, 0x0325de68, 0x03a17f76, 0x01362094, 0x0037efc6}}, Y: Field{[10]uint32{0x0380e563, 0x025f876b, 0x0067193d, 0x02eb82df, 0x00a2ca3a, 0x00cb7af3, 0x005f1e49, 0x00870cab, 0x035933ba, 0x00097a82}}}, + {X: Field{[10]uint32{0x01226649, 0x02ed06a1, 0x034f9b67, 0x01c41505, 0x010940a3, 0x02184912, 0x01805f10, 0x01a20cb0, 0x02c002c3, 0x00061319}}, Y: Field{[10]uint32{0x00662eaf, 0x03fb1f7e, 0x03487ec4, 0x016ea442, 0x00736f81, 0x03814c39, 0x034a24c1, 0x031e453e, 0x0244f1cf, 0x0033d8ff}}}, + {X: Field{[10]uint32{0x03043686, 0x01043d43, 0x022e0a0f, 0x0027d40c, 0x03ede9de, 0x02090b90, 0x01a8a51a, 0x03813b8e, 0x0206d386, 0x0036aacd}}, Y: Field{[10]uint32{0x0011718a, 0x01dc63b5, 0x015e5dbb, 0x0208ea75, 0x00fbb2b6, 0x03a3dba3, 0x010d0ac4, 0x01f441bf, 0x01c40ebe, 0x000302e8}}}, + {X: Field{[10]uint32{0x0204530f, 0x0330ce5f, 0x00dfa89d, 0x0059a408, 0x0026b0e2, 0x021234cd, 0x00219d1f, 0x03c94ae8, 0x034a5311, 0x0002a21f}}, Y: Field{[10]uint32{0x01edeace, 0x023de7e7, 0x03195287, 0x0113bb34, 0x02a5b4fa, 0x03680773, 0x029bff3e, 0x032b1fd0, 0x00bd8c37, 0x00169f01}}}, + {X: Field{[10]uint32{0x002d207a, 0x008fd85f, 0x0158d281, 0x001eca12, 0x024784a9, 0x0216bef3, 0x01dbfd5a, 0x03ae6135, 0x0264409f, 0x0006cc55}}, Y: Field{[10]uint32{0x03a205bb, 0x02715a2a, 0x01c37311, 0x02eaa66f, 0x0384eea5, 0x0165ff55, 0x001d4634, 0x02396961, 0x007cba34, 0x000a5cb3}}}, + {X: Field{[10]uint32{0x01fe4984, 0x037e85ac, 0x00d1f019, 0x027e0bb2, 0x016727e6, 0x035fa119, 0x035de1e0, 0x00355b57, 0x03d427c3, 0x000552b7}}, Y: Field{[10]uint32{0x020372b5, 0x0265dd4f, 0x02079981, 0x0312487c, 0x03882477, 0x01fe94b7, 0x01f61baa, 0x009e7912, 0x028a324b, 0x0016ea1b}}}, + {X: Field{[10]uint32{0x00480994, 0x03b03562, 0x02f9494f, 0x027ed130, 0x02585fe8, 0x02c6bcf0, 0x00df417c, 0x03057eca, 0x01f9fe55, 0x0037af5a}}, Y: Field{[10]uint32{0x03f9708d, 0x038f35d5, 0x03c9ef8d, 0x03fe4d17, 0x03002564, 0x03f3d85a, 0x031b8314, 0x01b493a2, 0x002155c1, 0x00263633}}}, + {X: Field{[10]uint32{0x03baf9e2, 0x01124abb, 0x0066b71d, 0x00f7edcb, 0x01e0316c, 0x01563119, 0x0055fc09, 0x0153e68a, 0x00902a7c, 0x0027f34d}}, Y: Field{[10]uint32{0x03f5d14c, 0x029a47fd, 0x00be51cf, 0x03a09926, 0x03143e1d, 0x0356ae99, 0x029e49c8, 0x02905a27, 0x0160c2b5, 0x0029eb10}}}, + {X: Field{[10]uint32{0x0143a727, 0x02fe9ce2, 0x019bbfda, 0x024bbb83, 0x00586fd7, 0x03cf79f8, 0x00fb1d2d, 0x02ba6566, 0x01f6fe4b, 0x001672b3}}, Y: Field{[10]uint32{0x020df035, 0x0348d045, 0x01acfed8, 0x031034de, 0x03624599, 0x02471213, 0x00d349e1, 0x02b45b1d, 0x01347b3e, 0x001f1cc3}}}, + {X: Field{[10]uint32{0x03fb226c, 0x008bfb01, 0x00821677, 0x01cd01ea, 0x0134e6b3, 0x012b398d, 0x03a4c9ec, 0x00765f6c, 0x03d1fb29, 0x0017386a}}, Y: Field{[10]uint32{0x023b7526, 0x0037a3c0, 0x01d3f763, 0x01bc149d, 0x030a39de, 0x03fdea06, 0x02110255, 0x0025cf62, 0x0234b407, 0x002af091}}}, + {X: Field{[10]uint32{0x0207d73c, 0x02c6a8c0, 0x01baf3af, 0x03433856, 0x01e70897, 0x02cc053d, 0x02680015, 0x002d3dbb, 0x028ebd0a, 0x003de0d8}}, Y: Field{[10]uint32{0x0039af61, 0x027e0273, 0x031df284, 0x03ee0ecb, 0x026c7a6e, 0x03d7efcc, 0x0268b6b1, 0x02e23252, 0x00fd5b96, 0x0034190e}}}, + {X: Field{[10]uint32{0x037ba0b3, 0x01659614, 0x0200c6c1, 0x011dcbaf, 0x029a988d, 0x011074ba, 0x007130db, 0x00a7b8d7, 0x02bccc72, 0x001e0c3e}}, Y: Field{[10]uint32{0x0338fa7f, 0x02aab746, 0x0157e835, 0x02249fcb, 0x0378acc8, 0x0200e8cf, 0x01c901fa, 0x0345e0f5, 0x018e6aea, 0x00127a2d}}}, + {X: Field{[10]uint32{0x03cba9e1, 0x014bead7, 0x03482062, 0x01270a3d, 0x006416d5, 0x03e692a4, 0x024399ee, 0x004a1886, 0x010ea890, 0x00324c0e}}, Y: Field{[10]uint32{0x0161cfce, 0x00443bec, 0x0019704d, 0x01f36aac, 0x023bab13, 0x0052d2f2, 0x014e8fdd, 0x0062883d, 0x03da3d06, 0x003e83a1}}}, + {X: Field{[10]uint32{0x029cd28a, 0x0308f736, 0x018b52d0, 0x02c2979d, 0x03ba0924, 0x017c03b0, 0x0149876e, 0x00645dbe, 0x00672057, 0x000a836a}}, Y: Field{[10]uint32{0x00907647, 0x0342fc3f, 0x01dd1975, 0x007b3413, 0x0390c1fa, 0x01b7c473, 0x01b4870f, 0x00256565, 0x00fc6935, 0x0025b341}}}, + {X: Field{[10]uint32{0x0046fc83, 0x00dd2cc5, 0x01c53256, 0x033b7072, 0x00f2bef6, 0x00e5a389, 0x036e92e0, 0x01606bd5, 0x01e260da, 0x003d9220}}, Y: Field{[10]uint32{0x027c8b94, 0x02dcbd43, 0x01ac3863, 0x0027e28b, 0x022aacec, 0x01247e95, 0x02f833db, 0x019fd10f, 0x005b660b, 0x002022a5}}}, + {X: Field{[10]uint32{0x0381f052, 0x005fe66a, 0x00341330, 0x02205597, 0x00c181e4, 0x00243c78, 0x03cea175, 0x017c34e8, 0x013305ec, 0x0025c2f6}}, Y: Field{[10]uint32{0x02e9fc48, 0x0050c7c6, 0x00a796ca, 0x036ce519, 0x038eb30b, 0x01730066, 0x03b6658d, 0x01dd2bf2, 0x030fe284, 0x00134749}}}, + {X: Field{[10]uint32{0x00c4779a, 0x0056f3b9, 0x03073354, 0x021824a0, 0x032c0588, 0x0172b465, 0x023ecfdf, 0x01507d1c, 0x033124c4, 0x0037fa52}}, Y: Field{[10]uint32{0x0140e23b, 0x0169eae5, 0x00b1c185, 0x03da2c65, 0x01d047af, 0x034d00f1, 0x03afe8c5, 0x0181aa83, 0x0253d547, 0x00330a0f}}}, + {X: Field{[10]uint32{0x018df800, 0x00e8e7a1, 0x007e3bf3, 0x03463dc1, 0x0216c8bd, 0x021cdf43, 0x0230bbad, 0x0396523e, 0x0379673a, 0x003c604c}}, Y: Field{[10]uint32{0x007d294a, 0x011102ea, 0x015d2ed5, 0x03630921, 0x0220bfb9, 0x002d347c, 0x0008d50d, 0x00b6fe6c, 0x01a6139a, 0x002b34b0}}}, + {X: Field{[10]uint32{0x01423740, 0x001810db, 0x00f3ec21, 0x025e70da, 0x008890ec, 0x03036c32, 0x0192bd01, 0x006f7d44, 0x0156fb63, 0x003d3ef0}}, Y: Field{[10]uint32{0x03b7149f, 0x02409b07, 0x03f4b4f6, 0x00eb7d21, 0x039cfccd, 0x0061d2eb, 0x01faf91e, 0x037bfd0c, 0x00f05b07, 0x000f2c23}}}, + {X: Field{[10]uint32{0x0393de6d, 0x00893881, 0x01bbed36, 0x0179d150, 0x00cb9267, 0x033116a0, 0x03a9a725, 0x0275c929, 0x00e83b07, 0x00049369}}, Y: Field{[10]uint32{0x008d00e7, 0x02d26195, 0x01e6ac6f, 0x00c7a819, 0x001cd155, 0x029d6555, 0x02200fb2, 0x0032e935, 0x0066f12e, 0x000f9c00}}}, + {X: Field{[10]uint32{0x038d1138, 0x033a586d, 0x00c16428, 0x00b40ab2, 0x006c2b11, 0x019ae5f4, 0x02045bb2, 0x01e09877, 0x01c4455e, 0x001d25c8}}, Y: Field{[10]uint32{0x015a3032, 0x01567f01, 0x03b87086, 0x0250e7c1, 0x01025bc5, 0x00cc9b1f, 0x015b237d, 0x00c70bfa, 0x02eda3f3, 0x0009d55a}}}, + {X: Field{[10]uint32{0x0227a028, 0x026a46dd, 0x00e979ff, 0x02eff531, 0x00257676, 0x0143efd6, 0x0060dfed, 0x023d5487, 0x02490aa5, 0x0018b372}}, Y: Field{[10]uint32{0x015c37b5, 0x03b58156, 0x00fbbd10, 0x02229c52, 0x0317c4a6, 0x03d0cfa3, 0x021528b4, 0x0043a9fb, 0x039ae16d, 0x0022f526}}}, + {X: Field{[10]uint32{0x006478c6, 0x01692c5a, 0x01344789, 0x03a205d6, 0x011cd3a1, 0x03b4592c, 0x013b2275, 0x00ea985b, 0x00f139b1, 0x00193594}}, Y: Field{[10]uint32{0x01fa5c2f, 0x00f61fcf, 0x03a426b8, 0x0195ee56, 0x02f9e2a0, 0x02590d00, 0x039595b7, 0x00b61fcc, 0x012af757, 0x0037bbb9}}}, + {X: Field{[10]uint32{0x009ab59d, 0x0327d280, 0x0365a1ec, 0x017b6c00, 0x0237cb93, 0x02149b7d, 0x017c17cd, 0x00dbbcd0, 0x025566c6, 0x0034228f}}, Y: Field{[10]uint32{0x000dc103, 0x02b91889, 0x02a549c9, 0x03f49090, 0x00e9ed32, 0x00e15b69, 0x00d35023, 0x0145d8ff, 0x01c75eec, 0x000b6c12}}}, + {X: Field{[10]uint32{0x00f20d89, 0x0237c38c, 0x007c6f4b, 0x020926e9, 0x02971547, 0x006166bf, 0x0220d626, 0x031426be, 0x005a35bc, 0x0021d85c}}, Y: Field{[10]uint32{0x01b726ae, 0x03c37e2b, 0x03f64436, 0x027af8b6, 0x010fd43b, 0x02011a82, 0x029c3db7, 0x02588924, 0x01eebb02, 0x002cd309}}}, + {X: Field{[10]uint32{0x006f5f85, 0x0278468f, 0x03307c4e, 0x03d038de, 0x020e35f6, 0x0139f39f, 0x02cc3175, 0x00990c51, 0x01334ce2, 0x0038d14e}}, Y: Field{[10]uint32{0x0065d97d, 0x03417075, 0x03bf700a, 0x01eccda8, 0x031afdde, 0x00aed144, 0x022a0caf, 0x0206fbfc, 0x038a941e, 0x001cfb85}}}, + {X: Field{[10]uint32{0x00ca917b, 0x00d8208d, 0x01e27fac, 0x02fe5783, 0x02246b36, 0x036ff3a3, 0x00e6f11f, 0x029f9eb2, 0x012f6609, 0x0020e246}}, Y: Field{[10]uint32{0x032b636f, 0x030de303, 0x019bec68, 0x01db94f2, 0x0267c889, 0x033ec6a8, 0x027b681c, 0x023b0a75, 0x03a55044, 0x00255c1c}}}, + {X: Field{[10]uint32{0x03c5d387, 0x0186bd30, 0x02b8de5a, 0x03ede893, 0x03bbf287, 0x025ff618, 0x0278029a, 0x03897f8b, 0x00c067bb, 0x0022ff5c}}, Y: Field{[10]uint32{0x03f952fb, 0x0251d03c, 0x031fd5d8, 0x0069bb6e, 0x008b5900, 0x03c93f3b, 0x01b1d644, 0x01973568, 0x026bee72, 0x0038b9b1}}}, + {X: Field{[10]uint32{0x02ff257d, 0x0164f839, 0x01269fdb, 0x0055a21d, 0x03eaf820, 0x02601482, 0x021582d0, 0x002ec566, 0x019aa05f, 0x00297426}}, Y: Field{[10]uint32{0x0023635a, 0x01970d31, 0x0050bf9c, 0x03469910, 0x00fe6d27, 0x00b392cd, 0x02b62b36, 0x015d999d, 0x03205ef0, 0x0038d365}}}, + {X: Field{[10]uint32{0x015043ce, 0x01eeaa97, 0x02544282, 0x02164b53, 0x01176451, 0x0227ff67, 0x03942e30, 0x03222d41, 0x01a7b949, 0x0011391e}}, Y: Field{[10]uint32{0x013a7087, 0x013b7788, 0x02e23250, 0x01deb84b, 0x01e2b10d, 0x01295c2a, 0x02714162, 0x03118ec2, 0x00298c12, 0x001ee1bb}}}, + {X: Field{[10]uint32{0x012aa558, 0x01b38f4d, 0x013c4317, 0x02355648, 0x023f37bb, 0x002af432, 0x02e0251e, 0x01e045c1, 0x0143d979, 0x001837b2}}, Y: Field{[10]uint32{0x01fcaab8, 0x0042759a, 0x03d508bc, 0x013e331b, 0x0116b076, 0x01a614cd, 0x0181448d, 0x0167db14, 0x01f4a31c, 0x000b71a2}}}, + {X: Field{[10]uint32{0x01f7709b, 0x039eacc0, 0x03b24af7, 0x027f9906, 0x00d4ab82, 0x016506e6, 0x013c5c53, 0x0127983e, 0x01385b54, 0x00172963}}, Y: Field{[10]uint32{0x017cd575, 0x019607b0, 0x03eb74d9, 0x0213574f, 0x00945d9d, 0x03ce7770, 0x00ce0907, 0x01bd2044, 0x02e980eb, 0x0020abee}}}, + {X: Field{[10]uint32{0x018b031c, 0x02641234, 0x01138100, 0x028f34ca, 0x03b9a23e, 0x01afe1b0, 0x009cf3d2, 0x0358326c, 0x027ea1b1, 0x002ddd65}}, Y: Field{[10]uint32{0x0040fef1, 0x001025c2, 0x030b7120, 0x023211bd, 0x0366f12d, 0x0373eb73, 0x01885c4a, 0x004155c3, 0x029becfa, 0x0034adc5}}}, + {X: Field{[10]uint32{0x00220f96, 0x01ade690, 0x0044e92e, 0x03047e8e, 0x03a23bc4, 0x026a8175, 0x003595fb, 0x00bd840f, 0x00f67d60, 0x001cf635}}, Y: Field{[10]uint32{0x0000ce3d, 0x015d6ac9, 0x0285d331, 0x00f55a3f, 0x00bb17fb, 0x03b3453b, 0x02185309, 0x03fb96fa, 0x022cffc9, 0x002fdc8a}}}, + {X: Field{[10]uint32{0x01182b75, 0x02c46026, 0x024d61e7, 0x01151230, 0x008b1e97, 0x0271b7c3, 0x012bcce7, 0x01e08805, 0x01f9f49f, 0x003a0413}}, Y: Field{[10]uint32{0x02137361, 0x00494fe0, 0x0102396b, 0x02087175, 0x03e14fc6, 0x03e57fee, 0x03b0da00, 0x00afac6f, 0x0139ec8f, 0x00370bf5}}}, + {X: Field{[10]uint32{0x006113e6, 0x03a65715, 0x03209e89, 0x00912403, 0x01777e55, 0x00586039, 0x01449b6d, 0x010cb238, 0x02f6fb6c, 0x003b35cb}}, Y: Field{[10]uint32{0x0226e135, 0x03593ade, 0x029e0e00, 0x00f89a04, 0x00425291, 0x00516180, 0x009f518e, 0x02ea6794, 0x015d358f, 0x00059c5c}}}, + {X: Field{[10]uint32{0x00fc36cc, 0x001c1429, 0x02455a99, 0x0041fa75, 0x01464bfe, 0x029b5f0d, 0x01fc6b5f, 0x026f45bc, 0x00cfbe82, 0x00038ed7}}, Y: Field{[10]uint32{0x028044f5, 0x01ea1f68, 0x03fa331e, 0x03c042d7, 0x02296cb5, 0x016d9c7e, 0x017a2c9b, 0x03069b78, 0x039b5471, 0x00339eae}}}, + {X: Field{[10]uint32{0x03107734, 0x0286ae49, 0x01c5ed7c, 0x013c97e2, 0x0041c1ce, 0x013af48b, 0x03e75f7f, 0x024753ad, 0x0202ffab, 0x003cd646}}, Y: Field{[10]uint32{0x00fa4b3d, 0x015f0ae5, 0x01c1018a, 0x01aef8bb, 0x03cf0474, 0x00c52eda, 0x03c7d535, 0x02e49921, 0x0211f2ba, 0x000d168b}}}, + {X: Field{[10]uint32{0x0345c635, 0x006b65f2, 0x021a6550, 0x034c89eb, 0x00c61349, 0x03f16a54, 0x01184f9f, 0x02b654df, 0x005dae54, 0x003292c1}}, Y: Field{[10]uint32{0x03c1d806, 0x01312d35, 0x00d72eaf, 0x015833a7, 0x014660f4, 0x0110747a, 0x02f3c24b, 0x02fb28d4, 0x017e255e, 0x0038c3e0}}}, + {X: Field{[10]uint32{0x0341ea38, 0x00a6ed9b, 0x02a72dfd, 0x00819d6a, 0x02300947, 0x01daa57d, 0x00ebdb7b, 0x03a987ee, 0x034054a9, 0x003df315}}, Y: Field{[10]uint32{0x02556eac, 0x00b207ac, 0x009900f5, 0x02ffd4b5, 0x03b3dd7f, 0x03811af8, 0x0275aeb5, 0x00936460, 0x018cfc54, 0x0027518f}}}, + {X: Field{[10]uint32{0x016ab6c2, 0x007dc37b, 0x029f876b, 0x03ec9eda, 0x01b4fd9b, 0x034d3a2a, 0x024bbef7, 0x038fe3b9, 0x0379fba3, 0x003dd6d7}}, Y: Field{[10]uint32{0x00a43faa, 0x00c3b024, 0x014f9d40, 0x019be168, 0x037e0e82, 0x01d159df, 0x0048e362, 0x02ddedcb, 0x00bc5c3f, 0x000882d0}}}, + {X: Field{[10]uint32{0x019cd450, 0x023e9303, 0x00fde0e8, 0x0191cd69, 0x0189d86a, 0x03428e63, 0x03d89b6a, 0x008da989, 0x03a25060, 0x000aa8d9}}, Y: Field{[10]uint32{0x0041fc32, 0x02512336, 0x038f6e82, 0x03ffa6bb, 0x021e70ec, 0x0135df61, 0x00a802bc, 0x006c69d9, 0x00250249, 0x000affb7}}}, + {X: Field{[10]uint32{0x0141620f, 0x00df0e28, 0x0325765a, 0x039ec7ac, 0x03a1078c, 0x01609ec1, 0x01a1e221, 0x00f3db9f, 0x01c11178, 0x003fdfd2}}, Y: Field{[10]uint32{0x00702733, 0x026b3d95, 0x00bead51, 0x02177d91, 0x03a488c5, 0x0049477e, 0x00a8b542, 0x00163a2f, 0x009e2e48, 0x001a5543}}}, + {X: Field{[10]uint32{0x003aa39f, 0x000a82d7, 0x016016fd, 0x02d1799e, 0x0076d017, 0x034faee4, 0x01f7338f, 0x03d3b291, 0x03581164, 0x000c7414}}, Y: Field{[10]uint32{0x0163f575, 0x03364aa6, 0x011fe6bc, 0x003b46ff, 0x03d4d3ea, 0x0387e348, 0x022fa902, 0x01ffc411, 0x019b7217, 0x003c490c}}}, + {X: Field{[10]uint32{0x026a3bd0, 0x023ed7df, 0x006eabb8, 0x034ead7c, 0x030c8a02, 0x0236a6b5, 0x00bf2f30, 0x000fb28b, 0x02ddfd12, 0x001babc3}}, Y: Field{[10]uint32{0x03e05f08, 0x0242719c, 0x016d4125, 0x01d28c56, 0x02815a0c, 0x0028ee0e, 0x00521a01, 0x0251d127, 0x01012d8e, 0x00364cdb}}}, + {X: Field{[10]uint32{0x02da1347, 0x006ea5df, 0x011b9e9a, 0x0320472e, 0x0168e759, 0x03d7ea23, 0x03943acf, 0x006adff0, 0x01197799, 0x0002e569}}, Y: Field{[10]uint32{0x01e5ef23, 0x0208afdb, 0x0287f533, 0x0054dbba, 0x029758bd, 0x0168bfe9, 0x018fbfe7, 0x0112296a, 0x035f446d, 0x00233cb2}}}, + {X: Field{[10]uint32{0x011427e8, 0x03071608, 0x02eeada6, 0x03d5ae43, 0x021fd386, 0x03a0139f, 0x031dc212, 0x03b6ebce, 0x01d48ce5, 0x001394c0}}, Y: Field{[10]uint32{0x01b9f0d9, 0x00297600, 0x016b76fb, 0x0364ddb6, 0x00dcabaa, 0x02f675a1, 0x012f684c, 0x03f6cb87, 0x003de169, 0x003d40fb}}}, + {X: Field{[10]uint32{0x00f49cd2, 0x0080cf0f, 0x017a3914, 0x0152b587, 0x02fc7c2b, 0x01270b42, 0x01f92cdc, 0x006d0dc5, 0x01e50903, 0x0013f46a}}, Y: Field{[10]uint32{0x024adcb1, 0x02169b23, 0x031602c8, 0x02fa2e1d, 0x022d99c9, 0x033bda52, 0x034b43be, 0x0196f0ea, 0x011cab01, 0x001cfb30}}}, + {X: Field{[10]uint32{0x00257c84, 0x00402648, 0x00b86745, 0x03e8ba29, 0x00384070, 0x02363eb8, 0x03b7fa4a, 0x010fe97a, 0x0065b325, 0x0019d01a}}, Y: Field{[10]uint32{0x03c62008, 0x021625ae, 0x0271f3fd, 0x0173bcf4, 0x03e829a4, 0x00c89f7d, 0x00451f5e, 0x0382e53d, 0x02d593a4, 0x000ff766}}}, + {X: Field{[10]uint32{0x006569e4, 0x024a9969, 0x01cb4e49, 0x02b46723, 0x00de7e8d, 0x036b1028, 0x03dcfa0e, 0x016f9bbc, 0x01aed6ee, 0x00052e55}}, Y: Field{[10]uint32{0x022daf70, 0x0029757e, 0x011ebed6, 0x03097aa7, 0x017d9f31, 0x0184d4f7, 0x001eff67, 0x00fe0612, 0x00b62182, 0x00352e48}}}, + {X: Field{[10]uint32{0x0339ae42, 0x0297c88c, 0x00fb722c, 0x00d318da, 0x004003e4, 0x0390bf48, 0x02a0b3ff, 0x0357eb7e, 0x03bc5608, 0x00053ca0}}, Y: Field{[10]uint32{0x02db7397, 0x015df3e7, 0x008c37c1, 0x00c0aebb, 0x03bf0ba6, 0x002a1ff6, 0x004d4bfb, 0x03f4ff19, 0x023dc3ae, 0x002c9057}}}, + {X: Field{[10]uint32{0x03bd1c1f, 0x00ce8c87, 0x03d098e7, 0x01701637, 0x005416a5, 0x03e032ea, 0x02275be7, 0x038829b9, 0x00677d3c, 0x000ff783}}, Y: Field{[10]uint32{0x02daaac6, 0x01740cc6, 0x0389a115, 0x00962498, 0x009a018b, 0x02fa87c2, 0x01782f90, 0x0064b252, 0x03dc610f, 0x0026e3bd}}}, + {X: Field{[10]uint32{0x02d17267, 0x00cca883, 0x01247df5, 0x01310776, 0x00b993bf, 0x020a4150, 0x01c74dd4, 0x00f417c5, 0x0269df5f, 0x00271579}}, Y: Field{[10]uint32{0x024979f6, 0x02d3829b, 0x00810981, 0x00c8b498, 0x018c6b3c, 0x00dd5ff0, 0x01abd783, 0x01d9945d, 0x00e930c9, 0x0008f6c3}}}, + {X: Field{[10]uint32{0x02968d16, 0x01a2a4a0, 0x02ee7d85, 0x030d2cfe, 0x02506d2d, 0x003d05d1, 0x00da60b3, 0x006835ba, 0x00dfae14, 0x0002f7a1}}, Y: Field{[10]uint32{0x02b3ab04, 0x03ce3112, 0x00dcb468, 0x03cdb0a6, 0x02900374, 0x0269b1a1, 0x024697b9, 0x01877f9c, 0x0214ff13, 0x001168cc}}}, + {X: Field{[10]uint32{0x019546a3, 0x00e76bf2, 0x030c0549, 0x021651ac, 0x01e5d970, 0x03183168, 0x0368f454, 0x030b2917, 0x014ab8f3, 0x0006500a}}, Y: Field{[10]uint32{0x00e3b81e, 0x025aed3b, 0x0386abfd, 0x009b9db8, 0x00848bc9, 0x01f186ec, 0x020ea767, 0x0318a879, 0x03993816, 0x00158fe7}}}, + {X: Field{[10]uint32{0x032ccb0e, 0x027f33ac, 0x00ad6682, 0x0358dcf3, 0x00757a34, 0x0348b60e, 0x00df92ea, 0x00f991f4, 0x01e0d0d1, 0x00375ba8}}, Y: Field{[10]uint32{0x0233c313, 0x00023c3b, 0x003fdd8e, 0x01f2a803, 0x00384b55, 0x012797fe, 0x03ad27fa, 0x03a2ca14, 0x01e36bf4, 0x0030063a}}}, + {X: Field{[10]uint32{0x037fbf19, 0x01a58596, 0x01ffec06, 0x00dd0b13, 0x00dc1047, 0x02f09ee1, 0x02656bfb, 0x01158b89, 0x03e8c784, 0x00195e11}}, Y: Field{[10]uint32{0x015f2df5, 0x03daad82, 0x001725b5, 0x02d39e69, 0x0242c6a4, 0x0292a6a2, 0x01beda90, 0x02b69240, 0x03b658b6, 0x00376437}}}, + {X: Field{[10]uint32{0x023dea6b, 0x0141acff, 0x00d3e352, 0x007ce5ae, 0x0349b8e7, 0x036de072, 0x02d26c2e, 0x0275ba41, 0x00b140be, 0x003edc09}}, Y: Field{[10]uint32{0x0308efdf, 0x03f28cba, 0x0061c5a0, 0x0014501c, 0x02fea360, 0x03746b11, 0x02d961e9, 0x008ca2da, 0x03f4e50b, 0x00379023}}}, + {X: Field{[10]uint32{0x01d8e8e0, 0x004cd434, 0x018dfa31, 0x0031268e, 0x00b3f2be, 0x034fa251, 0x0280179c, 0x02c9e74e, 0x000865a7, 0x000b4a70}}, Y: Field{[10]uint32{0x02efcf8f, 0x027648f6, 0x03ee992e, 0x0017c999, 0x0125c550, 0x02592791, 0x00027485, 0x01292996, 0x027aee70, 0x0032abc4}}}, + {X: Field{[10]uint32{0x03d5662d, 0x01f07314, 0x036326d8, 0x02269f0c, 0x02392685, 0x00f06f8e, 0x028d42ba, 0x00827d37, 0x007479b7, 0x0036da41}}, Y: Field{[10]uint32{0x03aa4e00, 0x01dddc3e, 0x0063c0b7, 0x02fca48b, 0x01c58c1f, 0x020f893a, 0x013ce32c, 0x021eaa64, 0x03e95c35, 0x002437a2}}}, + {X: Field{[10]uint32{0x0141697b, 0x011cd5b2, 0x03f0adf2, 0x021f33c4, 0x01723c70, 0x01635bf0, 0x0154ada2, 0x013c2abf, 0x006f922e, 0x00260194}}, Y: Field{[10]uint32{0x016bc237, 0x011684bc, 0x037c9252, 0x0125dec9, 0x01b97fef, 0x034c72b4, 0x0298eef3, 0x02e104dd, 0x0018a8ca, 0x00301f88}}}, + {X: Field{[10]uint32{0x00e40187, 0x02b9ebd8, 0x025eaae1, 0x03478cf4, 0x01661e0a, 0x023c5188, 0x011c1122, 0x0096b16c, 0x013fe6da, 0x002ae1a3}}, Y: Field{[10]uint32{0x00bf54ad, 0x0357c4cf, 0x001d4d47, 0x0222ef4c, 0x014b12c4, 0x015e9ff6, 0x01195ced, 0x02614068, 0x0298334a, 0x003b892d}}}, + {X: Field{[10]uint32{0x018dcda2, 0x03627bbf, 0x02f4931f, 0x019aafd9, 0x003122f3, 0x01095f8a, 0x0056be17, 0x023b9848, 0x03d19d2a, 0x0039d587}}, Y: Field{[10]uint32{0x02166d5a, 0x02a0004f, 0x0118d5a8, 0x0242281e, 0x0385bcb1, 0x0089edd6, 0x0366ea73, 0x01b63171, 0x034be365, 0x000814b9}}}, + {X: Field{[10]uint32{0x00f21e6c, 0x00b7e6fa, 0x0082083c, 0x0004e654, 0x017b562f, 0x02a1132d, 0x008f2e0f, 0x038c1ef8, 0x023d84bb, 0x0017c654}}, Y: Field{[10]uint32{0x0265d7fa, 0x039f105c, 0x02cb9d9b, 0x0109ba46, 0x00333775, 0x01c93ae2, 0x029ad2d5, 0x007778ab, 0x021628ee, 0x000ea5bf}}}, + {X: Field{[10]uint32{0x01c10cc1, 0x00df4a36, 0x03545698, 0x005c9571, 0x022fdcad, 0x015407bf, 0x022ec1dc, 0x026c4490, 0x02683c94, 0x00327e91}}, Y: Field{[10]uint32{0x03fd1dba, 0x008fb7b1, 0x03ffab5e, 0x00d1db51, 0x00b5b6e7, 0x03a380d2, 0x01dcd8d9, 0x0246b33c, 0x035d18f6, 0x0006aab9}}}, + {X: Field{[10]uint32{0x03eb8d8c, 0x02de4ec2, 0x02401b1a, 0x03505690, 0x011799b2, 0x024ee081, 0x03a084c3, 0x0061e733, 0x022a1e91, 0x00076a43}}, Y: Field{[10]uint32{0x009c0b63, 0x0134a3b2, 0x013322da, 0x03947d3f, 0x0274994e, 0x00ecff0c, 0x02cbae15, 0x0134e011, 0x006911ea, 0x000f4fdf}}}, + {X: Field{[10]uint32{0x031b3186, 0x03e26b7c, 0x029153e6, 0x026363d9, 0x03707e40, 0x02de11fd, 0x01504ac0, 0x0390c9af, 0x010f3851, 0x0031bf3c}}, Y: Field{[10]uint32{0x03a50ced, 0x029494e4, 0x00bff03e, 0x02bea726, 0x004e2705, 0x03e3b972, 0x036ea108, 0x018f61b8, 0x01f4a16a, 0x00342b22}}}, + {X: Field{[10]uint32{0x02378233, 0x035fd185, 0x02588fef, 0x01ac7e6d, 0x0003cf23, 0x00495eb8, 0x02b7d4ef, 0x0319f32d, 0x022eeb56, 0x0005415e}}, Y: Field{[10]uint32{0x004930c2, 0x012ec3f7, 0x010cf505, 0x0188be6a, 0x036f205a, 0x038f42a1, 0x01543ef5, 0x029ea312, 0x0130ccc0, 0x00136ead}}}, + {X: Field{[10]uint32{0x0308b20f, 0x039067c0, 0x01ea36d1, 0x02de300b, 0x0145bf1c, 0x001f77af, 0x027337dd, 0x02b039ba, 0x02e072d5, 0x000dfbab}}, Y: Field{[10]uint32{0x0361d506, 0x02458c3c, 0x0394aebb, 0x036efd68, 0x01a5761a, 0x00ca8e8f, 0x0077249a, 0x02a85067, 0x00965d9d, 0x002c3191}}}, + {X: Field{[10]uint32{0x0157745c, 0x009cd889, 0x03ebe61a, 0x022deb66, 0x01f1d6ce, 0x024a2f71, 0x031cd96d, 0x03438cf1, 0x03f83a8b, 0x0016881e}}, Y: Field{[10]uint32{0x00f54dad, 0x031d9998, 0x0213819e, 0x0004c8f1, 0x03ee8789, 0x015d1044, 0x01494ac1, 0x026da8a9, 0x0357fadc, 0x000eb32d}}}, + {X: Field{[10]uint32{0x03abd139, 0x034e6efe, 0x006d1642, 0x002241c1, 0x02f6b2ee, 0x0206fbed, 0x0391271e, 0x038c9568, 0x016a1a0f, 0x003f8237}}, Y: Field{[10]uint32{0x0181ef40, 0x00319380, 0x030d6c52, 0x00984de6, 0x03665d23, 0x027c8130, 0x02f1b436, 0x0208bb93, 0x02d13535, 0x0010b0d0}}}, + {X: Field{[10]uint32{0x00706111, 0x032e665e, 0x01daca39, 0x03800f47, 0x01d6d859, 0x0201132b, 0x003edcf3, 0x036ee992, 0x02c908df, 0x002df498}}, Y: Field{[10]uint32{0x00d798e8, 0x01ff91ca, 0x01689ee9, 0x0044194f, 0x0230bb4c, 0x00606d6e, 0x0007c8f5, 0x02ce5da8, 0x0350b308, 0x00258218}}}, + {X: Field{[10]uint32{0x00130c86, 0x01be008d, 0x00407683, 0x015f731e, 0x027d354b, 0x006eb7d6, 0x0297d7c0, 0x00ddd4eb, 0x032e23b3, 0x0012c4aa}}, Y: Field{[10]uint32{0x023c450e, 0x03ee3c3c, 0x005c0f52, 0x027926b9, 0x012bc964, 0x007f9605, 0x0211e73a, 0x022fd00b, 0x020d9f70, 0x00106753}}}, + {X: Field{[10]uint32{0x00e88dac, 0x00331276, 0x034f74f3, 0x02addd42, 0x008f362b, 0x02f311f1, 0x009570c8, 0x0333692d, 0x0282a96e, 0x003f1b49}}, Y: Field{[10]uint32{0x00beedbb, 0x0090eb3d, 0x0184808a, 0x03c25800, 0x000694af, 0x024165fe, 0x0322612e, 0x01160347, 0x01273026, 0x0006bd59}}}, + {X: Field{[10]uint32{0x02607e8b, 0x026d9547, 0x00f0632e, 0x0303910b, 0x025e07e6, 0x012bf6e7, 0x0342c40c, 0x03ae8151, 0x03a9a189, 0x0031ee70}}, Y: Field{[10]uint32{0x001822ab, 0x02010bfc, 0x03e30fc5, 0x02e35370, 0x02ef6b38, 0x03069517, 0x0084cd19, 0x01d36d88, 0x02772f22, 0x0016eda0}}}, + {X: Field{[10]uint32{0x00dfd956, 0x001be9d4, 0x01627034, 0x030aedbe, 0x0246c761, 0x03b50c1a, 0x02339ba3, 0x029cbca6, 0x034230de, 0x003ae934}}, Y: Field{[10]uint32{0x01237cee, 0x0172fd77, 0x0106d215, 0x02961e4d, 0x01d31b01, 0x001a1033, 0x01a17477, 0x01e2cb8f, 0x020f23d2, 0x003f385e}}}, + {X: Field{[10]uint32{0x02c04155, 0x0295a7e0, 0x02cc8944, 0x03d1b366, 0x013595dc, 0x02b7b0a1, 0x034358c6, 0x0351c4d6, 0x01c02177, 0x002934db}}, Y: Field{[10]uint32{0x01f00281, 0x00ddfd20, 0x03ad1013, 0x01770beb, 0x0365f3e4, 0x016983f7, 0x038fd0fb, 0x006f838d, 0x037963b2, 0x002168a5}}}, + {X: Field{[10]uint32{0x02109ba2, 0x002b255d, 0x00a16906, 0x02a939b5, 0x020eb165, 0x0379ceaf, 0x035bf56f, 0x03eb878f, 0x0063ae8b, 0x001245b4}}, Y: Field{[10]uint32{0x003f22ee, 0x026d3513, 0x006564ae, 0x013d9d8e, 0x003b2b0b, 0x014dadf2, 0x027a08ca, 0x010357e5, 0x03034a0b, 0x0029e459}}}, + {X: Field{[10]uint32{0x02edd046, 0x02b90483, 0x03f97ecb, 0x01e61605, 0x009de019, 0x0012ad27, 0x038f1a44, 0x0180c217, 0x0310b296, 0x001d8736}}, Y: Field{[10]uint32{0x02193db7, 0x00bce88b, 0x010cf2ee, 0x03aa376a, 0x039789f0, 0x022079fe, 0x038f50ab, 0x015175cb, 0x0320763b, 0x00074455}}}, + {X: Field{[10]uint32{0x01c64ea3, 0x03f28ae3, 0x019d2e05, 0x0053a377, 0x02860ff0, 0x0242f04f, 0x005541b4, 0x023a4b7e, 0x01704d71, 0x00035e89}}, Y: Field{[10]uint32{0x034cb90c, 0x023d0f94, 0x00acec15, 0x0216a8eb, 0x026102db, 0x02f1b7b1, 0x000e035f, 0x019d9dc7, 0x039d2134, 0x00179152}}}, + {X: Field{[10]uint32{0x014d3bbe, 0x00290fcf, 0x025dfeb2, 0x02653716, 0x020a6b9a, 0x00a5d6ef, 0x02bcb063, 0x0314aec3, 0x004f7962, 0x000abd80}}, Y: Field{[10]uint32{0x001a14f3, 0x03825776, 0x01933d91, 0x006d4c8e, 0x02be1deb, 0x01a31965, 0x0108e3eb, 0x0330540c, 0x01e226f8, 0x001a622a}}}, + {X: Field{[10]uint32{0x01504255, 0x0023d72a, 0x00959741, 0x0061d6e9, 0x03ca805d, 0x034cc613, 0x027571e5, 0x00218044, 0x00e53bab, 0x002a49d0}}, Y: Field{[10]uint32{0x02d2379f, 0x01d7adb1, 0x0244e68d, 0x0214436a, 0x0096d49c, 0x00eaa138, 0x02dfd3d0, 0x01adc419, 0x011e2eb7, 0x00177ca1}}}, + {X: Field{[10]uint32{0x00014939, 0x01fb661c, 0x02057bcc, 0x01c0341d, 0x02768567, 0x00e8323a, 0x0287c449, 0x0229ad82, 0x021a510d, 0x00243425}}, Y: Field{[10]uint32{0x00aa545d, 0x01d80eb3, 0x034d3f8d, 0x00be16d2, 0x037c13dc, 0x008e1ab4, 0x036f7a8a, 0x00c2219a, 0x013c1c91, 0x001d351d}}}, + {X: Field{[10]uint32{0x00ecd12b, 0x02f98441, 0x00ded249, 0x029b28ce, 0x038dd5c6, 0x00b8b820, 0x02bfa279, 0x029813d8, 0x03eaf2e3, 0x0003394a}}, Y: Field{[10]uint32{0x015c009e, 0x0220020b, 0x031a1a49, 0x002a3e3f, 0x03dd0867, 0x0097cf66, 0x00244449, 0x0028adf2, 0x0273738a, 0x002a1a77}}}, + {X: Field{[10]uint32{0x03cd05c4, 0x038d43fc, 0x02be7cc3, 0x0105b3c5, 0x01122154, 0x0301ab12, 0x0139a471, 0x03f34bff, 0x01c210e3, 0x002672a3}}, Y: Field{[10]uint32{0x03bc4982, 0x03925ab7, 0x02142c6c, 0x03a00244, 0x024550fb, 0x03c1c82f, 0x0326309e, 0x0370b1af, 0x0280131a, 0x001e021e}}}, + {X: Field{[10]uint32{0x0202d1c6, 0x03b18428, 0x0211ab51, 0x0285f639, 0x00cbfcc6, 0x008b7ae4, 0x03ff1f43, 0x01ef1741, 0x00c29f5a, 0x002f910b}}, Y: Field{[10]uint32{0x03c084a2, 0x01584a1d, 0x03734111, 0x00978c92, 0x02fb3d1f, 0x02b3d6ec, 0x028f2c01, 0x0364d200, 0x02c4680e, 0x0018943c}}}, + {X: Field{[10]uint32{0x00ec8e54, 0x01c2ec39, 0x00e65677, 0x03e6e3e0, 0x03e75d95, 0x006e6c53, 0x030346b5, 0x02c04084, 0x01f4037f, 0x0014fd7d}}, Y: Field{[10]uint32{0x00c62f93, 0x0331774a, 0x020f9cb1, 0x01c4ca14, 0x0224c0d5, 0x00f8b870, 0x00dd2ef2, 0x00cfd6a8, 0x0353c6e7, 0x0023694a}}}, + {X: Field{[10]uint32{0x008c4d6c, 0x039b6a97, 0x0155411d, 0x006461bb, 0x02a897ab, 0x00d295bd, 0x0399e3a1, 0x03affdf5, 0x01650e90, 0x00081b39}}, Y: Field{[10]uint32{0x02a75804, 0x02a6a5a9, 0x006754dc, 0x00f0e2b8, 0x00aaa5d5, 0x01e754c8, 0x03ec5c2e, 0x01b729f7, 0x0122bd2d, 0x0030bfd7}}}, + {X: Field{[10]uint32{0x0073f443, 0x037cab1c, 0x03744faa, 0x0083308f, 0x0002176a, 0x009b4ad5, 0x01f2a727, 0x00beae04, 0x03bb87ee, 0x0034772f}}, Y: Field{[10]uint32{0x01d17db9, 0x003e5a3b, 0x0350c187, 0x024f87d0, 0x00f71da6, 0x03e0cdf6, 0x02fc27e3, 0x002edef2, 0x023b4180, 0x000041b1}}}, + {X: Field{[10]uint32{0x03749328, 0x005ce4b6, 0x002f6db1, 0x0343bc5f, 0x020a516f, 0x01bff26a, 0x039d4322, 0x01dae87a, 0x0173c543, 0x003486a8}}, Y: Field{[10]uint32{0x0074e424, 0x0131a098, 0x00b24772, 0x0293b5d3, 0x002326f9, 0x00e9d52c, 0x00f79de6, 0x02035981, 0x01f4e014, 0x000df3d7}}}, + {X: Field{[10]uint32{0x011fa3d2, 0x03553adf, 0x0203178d, 0x020fe387, 0x0215e563, 0x032edf39, 0x01acfbe2, 0x01a69d5a, 0x0024a22c, 0x00148d2c}}, Y: Field{[10]uint32{0x03c000cb, 0x02258c22, 0x02ddfd91, 0x02569d2b, 0x02b41038, 0x0296cd0e, 0x03c3b042, 0x02d4b58a, 0x0042651d, 0x000afab9}}}, + {X: Field{[10]uint32{0x01412f64, 0x010704cd, 0x00b6a509, 0x033d7b9b, 0x01f5048d, 0x01662253, 0x009dbd4f, 0x0086ae9c, 0x00759f3e, 0x00279ba6}}, Y: Field{[10]uint32{0x01757ea8, 0x009a418c, 0x034a92dc, 0x00ce9f93, 0x01431110, 0x03811c62, 0x00dd1690, 0x00b96909, 0x0199e38f, 0x000ad9c0}}}, + {X: Field{[10]uint32{0x0343ae45, 0x03ca4a21, 0x017fcd28, 0x01ce0c96, 0x0289232c, 0x00b7a6ec, 0x01f8a927, 0x0239dc43, 0x02959a71, 0x002105b8}}, Y: Field{[10]uint32{0x0133d139, 0x01c487c4, 0x004db4c7, 0x01d1d931, 0x0220732a, 0x03347c00, 0x01b79044, 0x01023b60, 0x0202801b, 0x001bbd24}}}, + {X: Field{[10]uint32{0x013561a5, 0x02389eb5, 0x0029bb10, 0x01ca7a8d, 0x0027462f, 0x014ae8b7, 0x02405ebe, 0x00ecbcc9, 0x03a7048a, 0x00214a93}}, Y: Field{[10]uint32{0x0162e520, 0x0332bce9, 0x02ac6a81, 0x03de3418, 0x02770b99, 0x032fad9c, 0x00e441c2, 0x02708dac, 0x0046ee0d, 0x000f81b0}}}, + {X: Field{[10]uint32{0x0277c1bd, 0x00a50b8d, 0x00c5d328, 0x02872c8d, 0x01fa6097, 0x03020f3b, 0x03b876d3, 0x015afae4, 0x01a02dbe, 0x000a2037}}, Y: Field{[10]uint32{0x031bb43a, 0x01991043, 0x019d3bf9, 0x01e103a4, 0x023d371f, 0x00dc37e8, 0x015366c5, 0x01aed3fa, 0x021092d4, 0x0037ec3a}}}, + {X: Field{[10]uint32{0x01819c65, 0x027fe27c, 0x006f0770, 0x01549d72, 0x0037b535, 0x02699da8, 0x03dbf869, 0x0235ff00, 0x00029e82, 0x0032dbef}}, Y: Field{[10]uint32{0x02062266, 0x00589de1, 0x02bdace5, 0x03ef816e, 0x00ce9161, 0x032ddb2e, 0x00d50c21, 0x01ce6457, 0x019a3657, 0x003f138b}}}, + {X: Field{[10]uint32{0x001afebe, 0x00c17bfe, 0x021615f6, 0x02962a1c, 0x030abc76, 0x001b43b0, 0x03241066, 0x00d0e086, 0x035bff1c, 0x002021ee}}, Y: Field{[10]uint32{0x0024ce72, 0x0305f782, 0x00353d9b, 0x01fa513d, 0x0223a443, 0x03a6918c, 0x01c5030a, 0x0300ae3d, 0x007aa602, 0x0015e2ca}}}, + {X: Field{[10]uint32{0x02d3a33a, 0x028a3ed0, 0x01482653, 0x0274493b, 0x00f8ae82, 0x0145f396, 0x030def22, 0x032431eb, 0x00bc30f2, 0x000da7d5}}, Y: Field{[10]uint32{0x01b59d16, 0x009855ee, 0x01b40b45, 0x02f71330, 0x0361f466, 0x01658850, 0x03c97aef, 0x01f8cb18, 0x02af35af, 0x0002e3cb}}}, + {X: Field{[10]uint32{0x03ed8f7d, 0x00f54cc7, 0x01eb6edd, 0x00a1af92, 0x03df2946, 0x03f6dab1, 0x03b2448f, 0x03e1c54e, 0x004c01b2, 0x0021ef93}}, Y: Field{[10]uint32{0x020effb1, 0x01bd3af2, 0x00a2adfe, 0x02a19a4e, 0x0071fdc8, 0x00735474, 0x031ec542, 0x0302855d, 0x00bc6386, 0x001fbd1d}}}, + {X: Field{[10]uint32{0x0214715e, 0x00fe8a47, 0x01cfbc01, 0x006d7bb4, 0x0280393f, 0x00e7b6f8, 0x0310eeb2, 0x016faa30, 0x00f018f7, 0x001ed99e}}, Y: Field{[10]uint32{0x038b1fd7, 0x006a2c7c, 0x02890c18, 0x01f4f754, 0x03d98570, 0x02a86efc, 0x008275d2, 0x039a69ce, 0x00e2666e, 0x001e3a2e}}}, + {X: Field{[10]uint32{0x0160f135, 0x009ce52c, 0x00aed90d, 0x01b5acdf, 0x0377d282, 0x03ee8e22, 0x01608f58, 0x027808aa, 0x02419672, 0x000227b1}}, Y: Field{[10]uint32{0x00786cff, 0x025055e9, 0x021f80ac, 0x02c36466, 0x035e3030, 0x0077ac62, 0x01ee5a74, 0x01ce1c06, 0x0142108d, 0x00177bcc}}}, + {X: Field{[10]uint32{0x02177f8e, 0x01b4698d, 0x0131199e, 0x0275907e, 0x008b8374, 0x01e30feb, 0x022acbab, 0x00242cea, 0x03393769, 0x000b2fb1}}, Y: Field{[10]uint32{0x03de8886, 0x024820fc, 0x03bad2ca, 0x0332240b, 0x0367fea7, 0x013c9aba, 0x034a007f, 0x00b56b2c, 0x03e757ad, 0x000c5039}}}, + {X: Field{[10]uint32{0x01946908, 0x033c3baf, 0x03cf02eb, 0x0061198f, 0x0229d576, 0x000c082b, 0x027b116d, 0x02962d4f, 0x03cda2d6, 0x0019e33b}}, Y: Field{[10]uint32{0x026a3491, 0x02f40a03, 0x01713314, 0x0310cc70, 0x0118834f, 0x00caca90, 0x00d56ee9, 0x023bbcdf, 0x01e01329, 0x003d16fa}}}, + {X: Field{[10]uint32{0x033ec0df, 0x03c608b1, 0x01524b43, 0x01cf2230, 0x015073b0, 0x01337c04, 0x012305a9, 0x013b391a, 0x0278adcc, 0x002376f4}}, Y: Field{[10]uint32{0x00fc5b0c, 0x024ec5e0, 0x0102268b, 0x016e8cec, 0x005d2d67, 0x00a31de1, 0x029ea1ae, 0x031b232a, 0x02dd3c52, 0x00241443}}}, + {X: Field{[10]uint32{0x03e36626, 0x00743035, 0x00739304, 0x01e2abdc, 0x00607d78, 0x008e0983, 0x03149c3d, 0x03fd7c8a, 0x0082b162, 0x0025cafc}}, Y: Field{[10]uint32{0x004087dc, 0x01416f93, 0x01324797, 0x0093408d, 0x026eca9f, 0x03a42910, 0x01b64f43, 0x02f29366, 0x03baf61c, 0x0011a16c}}}, + {X: Field{[10]uint32{0x03c97230, 0x03315f2e, 0x0280f540, 0x0182f218, 0x01d8c1f7, 0x0145348f, 0x02801c54, 0x012ae5f7, 0x01526660, 0x0010abc3}}, Y: Field{[10]uint32{0x0299ce38, 0x024afb05, 0x03b89771, 0x01a26378, 0x01cced06, 0x025edd35, 0x017160bd, 0x00a7b50d, 0x03898c90, 0x00015926}}}, + {X: Field{[10]uint32{0x03bb30ac, 0x0188fcf5, 0x010a9fa5, 0x00853010, 0x021748ee, 0x02686831, 0x02138bca, 0x01b47639, 0x03708729, 0x00014d99}}, Y: Field{[10]uint32{0x015cac1d, 0x02e3f63b, 0x01f31fd8, 0x00b96564, 0x027c297b, 0x01cb642e, 0x0219c2f6, 0x02834d49, 0x0260786b, 0x00381a0e}}}, + {X: Field{[10]uint32{0x0039fc24, 0x0157047f, 0x002559de, 0x02d2b648, 0x017d5d0a, 0x033903a4, 0x00308d6b, 0x02c63fc1, 0x0284e85b, 0x00280ed8}}, Y: Field{[10]uint32{0x00785493, 0x0356a3fa, 0x035644ca, 0x016f8052, 0x02c07300, 0x024e76e2, 0x03e7235a, 0x030d208f, 0x0282c22c, 0x0009ce7b}}}, + {X: Field{[10]uint32{0x02b66e97, 0x00b893c9, 0x03a63733, 0x0326648c, 0x01f5801d, 0x02893df7, 0x01980550, 0x014e9af6, 0x02d7268a, 0x000bce53}}, Y: Field{[10]uint32{0x03918d88, 0x03d3375c, 0x014138d3, 0x027d7415, 0x000e49d0, 0x009af130, 0x03d3714a, 0x02ea1b46, 0x033ee934, 0x002d4ad3}}}, + {X: Field{[10]uint32{0x0133f8ab, 0x01684b1c, 0x016ebbb3, 0x03b7bc2d, 0x027740bc, 0x0047bd7f, 0x020c19a6, 0x014df8ea, 0x0010527e, 0x00245dcc}}, Y: Field{[10]uint32{0x029fb5b6, 0x012053fa, 0x0396500f, 0x017333ee, 0x01b097ae, 0x02ef0dad, 0x021063ab, 0x0120249f, 0x03b328b6, 0x001a3e4d}}}, + {X: Field{[10]uint32{0x004af615, 0x018035a4, 0x00b24763, 0x03154280, 0x0028486b, 0x0354a77e, 0x020c1aeb, 0x022bc5e8, 0x01bfcddc, 0x000a146f}}, Y: Field{[10]uint32{0x00cb1356, 0x016cb5b7, 0x017585d1, 0x0320edcc, 0x02ee2acf, 0x00cc0d75, 0x006c3760, 0x009eb9b5, 0x0085702e, 0x0034c0b0}}}, + {X: Field{[10]uint32{0x014bdfef, 0x0136920c, 0x029c25d3, 0x018d69bc, 0x038be3d3, 0x02d1f965, 0x0210b791, 0x0267c515, 0x03ab0254, 0x003a61b5}}, Y: Field{[10]uint32{0x03de35a6, 0x00f0cc51, 0x01c165f5, 0x00b4c710, 0x01cfdb18, 0x00441156, 0x02c63b96, 0x03054043, 0x00dcb3b3, 0x0003418e}}}, + {X: Field{[10]uint32{0x038bfc03, 0x019238a3, 0x02099b2e, 0x0329fefe, 0x00ab44da, 0x020c7609, 0x001c5e0d, 0x02cb38b7, 0x032c5639, 0x002f1176}}, Y: Field{[10]uint32{0x03213e32, 0x03e6d481, 0x028842c1, 0x02020981, 0x0079a805, 0x02a7d4f8, 0x02327400, 0x0226b527, 0x03b127b2, 0x001764f8}}}, + {X: Field{[10]uint32{0x00a8dfc6, 0x012632d4, 0x022fd667, 0x004b29ec, 0x01849ef5, 0x0278a440, 0x027b4c84, 0x020274b1, 0x027e47d9, 0x00105175}}, Y: Field{[10]uint32{0x0113f096, 0x0085ce91, 0x00ea9492, 0x001f58a4, 0x03daeae0, 0x0036a993, 0x008604d9, 0x01fe0a5c, 0x00fc2a4f, 0x00151c7d}}}, + {X: Field{[10]uint32{0x00686825, 0x035d03d7, 0x02fa3c1a, 0x021f9e96, 0x02427e30, 0x01ce373a, 0x015314aa, 0x02755aec, 0x037f4cd7, 0x000b455f}}, Y: Field{[10]uint32{0x016fc1c0, 0x03c7a88a, 0x034eeeab, 0x0084e9c8, 0x02962a4e, 0x01d9aed1, 0x027a29a2, 0x027d2e53, 0x03187615, 0x0030713c}}}, + {X: Field{[10]uint32{0x033933ba, 0x035e5869, 0x0187b361, 0x025a089a, 0x03d6e896, 0x0304aa06, 0x03e26cb0, 0x002cb977, 0x02847704, 0x000bd098}}, Y: Field{[10]uint32{0x0144075e, 0x0120f460, 0x024bd45e, 0x010a1e7c, 0x00a384f9, 0x01d54cbe, 0x03cf601c, 0x00a1e7bf, 0x020d141b, 0x002f7384}}}, + {X: Field{[10]uint32{0x03bf527f, 0x007fff0e, 0x0220ab8a, 0x0110dfa8, 0x03bf9f8f, 0x03bc8f29, 0x003c9c0e, 0x004c0b9a, 0x03a76cc9, 0x002d0673}}, Y: Field{[10]uint32{0x02929517, 0x009478ea, 0x00dba3c0, 0x015b8f34, 0x00a911e9, 0x012201ad, 0x0091a70b, 0x00906792, 0x014e290f, 0x002ee1a5}}}, + {X: Field{[10]uint32{0x0125236f, 0x035cb552, 0x018dcae2, 0x0026c0da, 0x012b17bd, 0x0037b64e, 0x02f2913f, 0x00593f1e, 0x02f95734, 0x00336d29}}, Y: Field{[10]uint32{0x02c8e7aa, 0x03e39baa, 0x025ffc9e, 0x00f013c4, 0x01d57c96, 0x01265914, 0x0100c47d, 0x03d75c39, 0x0236bd1b, 0x00227b68}}}, + {X: Field{[10]uint32{0x0008c256, 0x02003e3d, 0x00a3e321, 0x013088cf, 0x00a12a8c, 0x000e4bfa, 0x026f2f15, 0x031128cf, 0x0351a45a, 0x003b53a9}}, Y: Field{[10]uint32{0x030ffef2, 0x01018d25, 0x0264acaf, 0x018e62b3, 0x00a296d9, 0x0013644b, 0x01266d4d, 0x00d26aba, 0x01a74a2b, 0x00271fa7}}}, + {X: Field{[10]uint32{0x00fbf5d3, 0x03b3428f, 0x0287c96d, 0x000be9e6, 0x0384a74b, 0x037c229c, 0x00ccfcd1, 0x018f0a0c, 0x0138fdf9, 0x0026c1bf}}, Y: Field{[10]uint32{0x03226416, 0x0277801a, 0x020d4eb2, 0x028ca86c, 0x023ede27, 0x0136b435, 0x004ba3cd, 0x018056bb, 0x021ce7ee, 0x003a1991}}}, + {X: Field{[10]uint32{0x02f6ae75, 0x01b94846, 0x004ef516, 0x012f7869, 0x02c2b789, 0x001c0815, 0x0213f1ee, 0x03346a5f, 0x001eefc1, 0x0037c452}}, Y: Field{[10]uint32{0x022b7e02, 0x0152ae88, 0x03ad4a83, 0x0185c5ea, 0x0180c766, 0x039cf8b3, 0x02e1f24d, 0x027e87af, 0x00563542, 0x00285046}}}, + {X: Field{[10]uint32{0x02a3c9f5, 0x0280cb44, 0x0284523d, 0x00569462, 0x0146e4df, 0x0201f186, 0x03bc65de, 0x00fecf41, 0x01010b1f, 0x003e0ca3}}, Y: Field{[10]uint32{0x01ca6216, 0x003c4033, 0x01df0d5e, 0x0051e9c2, 0x02de1749, 0x0172a7af, 0x029a6d0b, 0x0351e272, 0x00747746, 0x0038a76f}}}, + {X: Field{[10]uint32{0x013fff86, 0x03c024d3, 0x01e461fc, 0x01ea4b82, 0x01ff0d1b, 0x02b313ed, 0x02135900, 0x008c07e6, 0x03bdb7fc, 0x000f8ebe}}, Y: Field{[10]uint32{0x02b6ebd6, 0x0098849b, 0x00742f0f, 0x0070fb0a, 0x01a5c2af, 0x01866bac, 0x004c8d09, 0x007146f5, 0x03e1b982, 0x0007f1fd}}}, + {X: Field{[10]uint32{0x03f86125, 0x007aa6c7, 0x0166074d, 0x02013154, 0x0078ede8, 0x0274cd6d, 0x0019f8b6, 0x02005673, 0x02ea6834, 0x002ab45f}}, Y: Field{[10]uint32{0x01365257, 0x033e77e7, 0x008e8ed6, 0x02749ad2, 0x00dfa174, 0x0187ba44, 0x00f45bf3, 0x02276d9f, 0x038cebab, 0x0003a64e}}}, + {X: Field{[10]uint32{0x010ea35c, 0x03a65ca4, 0x0072d37c, 0x02e3eca4, 0x00286442, 0x0389a85e, 0x00f44b6f, 0x031a1bfa, 0x03195515, 0x00084fee}}, Y: Field{[10]uint32{0x0152a852, 0x0225a77b, 0x0136218e, 0x016189e0, 0x03d68c39, 0x0261d880, 0x00ee5771, 0x03d2ecb4, 0x011b7df7, 0x00125ee5}}}, + {X: Field{[10]uint32{0x030120fa, 0x024de40d, 0x021a2924, 0x011c24a0, 0x03eba91b, 0x022e31e9, 0x013321ec, 0x020678fa, 0x02a578ed, 0x00335fdc}}, Y: Field{[10]uint32{0x01bb1148, 0x03d7f3d1, 0x03ce2d8f, 0x02464fa5, 0x02ca4eac, 0x02441df9, 0x02c537d9, 0x003cb3e8, 0x00709928, 0x0028f547}}}, + {X: Field{[10]uint32{0x027f3b51, 0x0248f82d, 0x01b19068, 0x03061e3e, 0x038240ae, 0x0346a78b, 0x023a28a1, 0x00a4e7e6, 0x00c700a7, 0x001c28d8}}, Y: Field{[10]uint32{0x01710259, 0x001554ab, 0x021b73eb, 0x0261b4bd, 0x00dd175c, 0x01a82ee3, 0x024ae36b, 0x036f08ba, 0x007c53a4, 0x00287670}}}, + {X: Field{[10]uint32{0x01b5e46a, 0x01d98048, 0x02d337a0, 0x03f67369, 0x00eedc35, 0x027a72fa, 0x021dd199, 0x00ad983e, 0x015b4f8e, 0x00151298}}, Y: Field{[10]uint32{0x028451e5, 0x0142cd6e, 0x026bd751, 0x0269cc23, 0x03d7ba7a, 0x0376725f, 0x0286aecb, 0x03235d94, 0x01b9c76f, 0x001d749b}}}, + {X: Field{[10]uint32{0x02c8acef, 0x030d19e3, 0x03c92a01, 0x03dcdb08, 0x00f8b779, 0x01356d72, 0x019b2657, 0x01cf5ebc, 0x039f76a0, 0x00108635}}, Y: Field{[10]uint32{0x02cfb28e, 0x0007ae6f, 0x00bdaf2c, 0x0157881f, 0x0187e603, 0x02ca1308, 0x01c05f4e, 0x00ed7f99, 0x02314907, 0x001a057d}}}, + {X: Field{[10]uint32{0x0269b0a9, 0x00bf06a8, 0x03b3864a, 0x01767936, 0x0203deca, 0x018d7e0e, 0x03337598, 0x02b30628, 0x02381a82, 0x001ab689}}, Y: Field{[10]uint32{0x02da6c08, 0x03388a57, 0x033bae8a, 0x03e2d854, 0x012e77b6, 0x022d7e10, 0x0105f32b, 0x0149bd83, 0x02da65f7, 0x0014f4d5}}}, + {X: Field{[10]uint32{0x0118b09e, 0x019863b8, 0x03579336, 0x0291e04f, 0x018bd46e, 0x030e0b10, 0x0118e987, 0x026965d5, 0x0101d9f2, 0x0017ea67}}, Y: Field{[10]uint32{0x03fc3b39, 0x003a0b4c, 0x034cd6fc, 0x000b6fb0, 0x02f15f66, 0x0260994a, 0x00e381e4, 0x02e06f73, 0x023838de, 0x00351e74}}}, + {X: Field{[10]uint32{0x00d76f6e, 0x000656d1, 0x03e4412d, 0x0002cadf, 0x030bbb4a, 0x03fbe5b4, 0x02676d72, 0x019eadba, 0x017634cc, 0x00331bb5}}, Y: Field{[10]uint32{0x03bf820c, 0x002bd8bd, 0x03e94f52, 0x00343692, 0x03dd801b, 0x020d0a13, 0x009e5f15, 0x0266e2ab, 0x015ad509, 0x0002c570}}}, + {X: Field{[10]uint32{0x00ffceb4, 0x00bb8e90, 0x03ddfec3, 0x01e761d1, 0x01ff4476, 0x00289adb, 0x0310bf89, 0x03a8ff7a, 0x03db5323, 0x00393343}}, Y: Field{[10]uint32{0x0220e1f5, 0x021a8c34, 0x00c48d5d, 0x01ef107e, 0x00e2caa8, 0x02dd8a71, 0x02af718d, 0x010d5d95, 0x00c8ba9c, 0x003ef6d0}}}, + {X: Field{[10]uint32{0x0388a8af, 0x02df3626, 0x025686af, 0x03b1e9d5, 0x030b3c1f, 0x008d1a0c, 0x01e3ca1a, 0x02e4a6b0, 0x022aba51, 0x001dff5c}}, Y: Field{[10]uint32{0x01e98505, 0x0243d6cf, 0x006919cf, 0x016cb1ec, 0x006b5b55, 0x037d2edd, 0x0378ee31, 0x0272d13c, 0x01e10d6e, 0x00340946}}}, + {X: Field{[10]uint32{0x017a41dd, 0x010630a6, 0x033e2665, 0x008e57fd, 0x006291e5, 0x00a67d3e, 0x03ca57bf, 0x00f51e74, 0x03bca9dd, 0x00134e47}}, Y: Field{[10]uint32{0x00ce899e, 0x03afc96d, 0x02fce1a9, 0x0310e7b1, 0x03e5d4a3, 0x024f10fc, 0x03e9fcd5, 0x0181aee4, 0x0033b55e, 0x0017327b}}}, + {X: Field{[10]uint32{0x03084e97, 0x00e9115c, 0x022ba83f, 0x03e20586, 0x012eb232, 0x0324bfa0, 0x019d63c3, 0x01ee1172, 0x004617b1, 0x001d02f1}}, Y: Field{[10]uint32{0x00355464, 0x00952bfe, 0x00c67883, 0x00aa640a, 0x02fb1074, 0x004c061d, 0x0317481c, 0x02559dc5, 0x006e0f4f, 0x0003f63b}}}, + {X: Field{[10]uint32{0x01b46e5c, 0x004396c0, 0x00392b2d, 0x03106f73, 0x00c6aa12, 0x0333b40c, 0x02fd8d60, 0x02114d6e, 0x021cadeb, 0x00309630}}, Y: Field{[10]uint32{0x01171d31, 0x01884e57, 0x022af4cb, 0x029d7b0f, 0x02b73646, 0x0083797c, 0x01d08afa, 0x02f5fdce, 0x037f3e60, 0x001f37c0}}}, + {X: Field{[10]uint32{0x00130d44, 0x03fee0c9, 0x01768dbe, 0x01786fff, 0x01fac22a, 0x00327299, 0x0180261c, 0x0135742f, 0x0069733a, 0x0023f220}}, Y: Field{[10]uint32{0x02fc946e, 0x03d2a804, 0x00a95954, 0x0298e3c3, 0x01ca5bf0, 0x0073b9a4, 0x0137ba74, 0x0010b553, 0x014bf88c, 0x0010846a}}}, + {X: Field{[10]uint32{0x0096ad4c, 0x0186ee43, 0x027c967a, 0x038ccae0, 0x00f5152d, 0x03a674c5, 0x03b0e0bc, 0x007091fe, 0x021a4032, 0x0033d8bb}}, Y: Field{[10]uint32{0x02c4a3fe, 0x00259007, 0x015a19bb, 0x00d99043, 0x02e61373, 0x01f70348, 0x01978c07, 0x01ee352f, 0x03c3e64f, 0x0018a129}}}, + {X: Field{[10]uint32{0x009f8ba7, 0x00103915, 0x019d06c0, 0x032bf5bf, 0x00bb00b3, 0x026da458, 0x00884431, 0x01dd83b3, 0x038a4d44, 0x0014cd47}}, Y: Field{[10]uint32{0x037f6b83, 0x014af34d, 0x02a0a163, 0x02e23027, 0x00c7c1cb, 0x015220e1, 0x01c148fd, 0x039bfdd5, 0x02193816, 0x0020e113}}}, + {X: Field{[10]uint32{0x0106bb0c, 0x00cd2287, 0x000a9e17, 0x01eb4b98, 0x03baa015, 0x02b3a501, 0x010e1f62, 0x02464653, 0x03ceee2c, 0x00280818}}, Y: Field{[10]uint32{0x03146339, 0x03061ba7, 0x01de05f4, 0x02c0401f, 0x03fcdaee, 0x011122a2, 0x01b40eac, 0x00fd4b6a, 0x01b55565, 0x0018c118}}}, + {X: Field{[10]uint32{0x01d35660, 0x02a35bf8, 0x018575a6, 0x027a546e, 0x02c360c0, 0x0259822a, 0x034f3741, 0x005d91c9, 0x01cc25de, 0x001c2f2f}}, Y: Field{[10]uint32{0x03461d74, 0x02c3d3b6, 0x02b64a90, 0x00c252a0, 0x003a1c74, 0x02787503, 0x035e719a, 0x01673a02, 0x019b7163, 0x000ef56f}}}, + {X: Field{[10]uint32{0x02dc8fc7, 0x004b466a, 0x01fff138, 0x0305d055, 0x0054b161, 0x02945778, 0x03b1fe52, 0x030f01be, 0x017783cf, 0x00037e2b}}, Y: Field{[10]uint32{0x00069569, 0x031cd560, 0x0060444e, 0x006c4993, 0x01af3840, 0x002df2e6, 0x034ff20a, 0x036c3274, 0x00f60416, 0x002f1024}}}, + {X: Field{[10]uint32{0x000a30f9, 0x02a76795, 0x009ed777, 0x011f8154, 0x028788df, 0x014b55be, 0x02fff3a4, 0x0260017c, 0x01ccef39, 0x0009413a}}, Y: Field{[10]uint32{0x0390612a, 0x0167de5c, 0x00a51116, 0x013b6da4, 0x036fd651, 0x02d7f60c, 0x03f4d2fa, 0x023bf2bd, 0x02a2c6f4, 0x001cf141}}}, + {X: Field{[10]uint32{0x03c97025, 0x005068d6, 0x03a61571, 0x00320678, 0x0218a9ce, 0x0225e7f3, 0x02a6fa56, 0x000cd0e9, 0x03241c92, 0x00093b81}}, Y: Field{[10]uint32{0x00bd7b8a, 0x00909f2c, 0x00bf6ba2, 0x00580bec, 0x03fa0c68, 0x035fd364, 0x0140a6cc, 0x0213a1a2, 0x02cd605b, 0x003b990b}}}, + {X: Field{[10]uint32{0x023929b3, 0x01b6465e, 0x03093e1c, 0x00ac9700, 0x014961e1, 0x00825fcd, 0x00d8eb11, 0x0301698f, 0x00e09665, 0x0007ab57}}, Y: Field{[10]uint32{0x0156fcc3, 0x012a9b5c, 0x0009dc2f, 0x03d77b9c, 0x007284b5, 0x00775c48, 0x0032fbea, 0x03312ac7, 0x035da1ab, 0x00060037}}}, + {X: Field{[10]uint32{0x0205d507, 0x01e247ba, 0x009c098e, 0x03bcb97a, 0x03160c69, 0x020e21d2, 0x020b0dcd, 0x013e3e40, 0x03f22608, 0x0011f3cb}}, Y: Field{[10]uint32{0x01fb7d48, 0x03e948b5, 0x03516cf8, 0x03723720, 0x00bca2ef, 0x00e19919, 0x004d0d2c, 0x016bfc41, 0x03df129b, 0x0028d034}}}, + {X: Field{[10]uint32{0x02d6cbdd, 0x038e7110, 0x03e75b04, 0x02a0fe69, 0x0151f050, 0x0391d293, 0x018bb8ea, 0x01254a88, 0x039b8e2e, 0x0010193e}}, Y: Field{[10]uint32{0x0035de10, 0x0221b76e, 0x03d2b9c7, 0x030346b7, 0x0118ea66, 0x02b77383, 0x013e02aa, 0x0064c24b, 0x0076a2ef, 0x003fe73b}}}, + {X: Field{[10]uint32{0x0381904e, 0x038cd4fe, 0x000d222d, 0x0101a766, 0x03cdd70a, 0x029b5007, 0x01e0150b, 0x008340c8, 0x00d6e58e, 0x0020e2b2}}, Y: Field{[10]uint32{0x015614bc, 0x015222b6, 0x027105f9, 0x03f03a24, 0x01b1ef24, 0x01054ccc, 0x01a6b251, 0x036efdee, 0x03962909, 0x00264e9b}}}, + {X: Field{[10]uint32{0x0202f266, 0x03a6d7b8, 0x033855fc, 0x01caf133, 0x035aedee, 0x03b3d650, 0x016ea260, 0x010f48d3, 0x0183189d, 0x002978db}}, Y: Field{[10]uint32{0x01822c55, 0x02c7251e, 0x03fe954a, 0x02d79fae, 0x03dfc2d1, 0x01050d68, 0x012933fb, 0x00ee2677, 0x003ce25c, 0x001e300b}}}, + {X: Field{[10]uint32{0x03ba72c9, 0x0323f8c7, 0x035725dd, 0x01ea6d47, 0x015ad79e, 0x0235bdeb, 0x03312095, 0x03134cd3, 0x00bcd357, 0x00278903}}, Y: Field{[10]uint32{0x0111f06b, 0x0245cb2d, 0x030eb672, 0x00433be7, 0x0068cc5e, 0x00c2cf27, 0x01476b7b, 0x02818bb0, 0x025ced60, 0x002ba8d2}}}, + {X: Field{[10]uint32{0x02dc2eba, 0x036bb0ed, 0x020c7ea8, 0x016a182f, 0x02dfc9ed, 0x03b91e89, 0x022b91d1, 0x014e0170, 0x0246bb31, 0x002b46c1}}, Y: Field{[10]uint32{0x02dd2083, 0x02e65564, 0x018bb353, 0x02a5b4c3, 0x03a298da, 0x0285661c, 0x0110c9ee, 0x0314246a, 0x01a22499, 0x003b8b98}}}, + {X: Field{[10]uint32{0x030ec72b, 0x02df34d6, 0x020cc35c, 0x01d288da, 0x02fa12df, 0x0047b2a9, 0x00d8c7f0, 0x03d92954, 0x008911d8, 0x0013dec2}}, Y: Field{[10]uint32{0x01bb21e3, 0x00549713, 0x01d993e3, 0x0143c778, 0x0129b942, 0x035fe1a4, 0x019ffac8, 0x01f862d3, 0x001b0d29, 0x0024c6bd}}}, + {X: Field{[10]uint32{0x03d3a7ee, 0x00d48f24, 0x01870d2d, 0x01d0d5a5, 0x02834d02, 0x002ec4be, 0x03ba8747, 0x023cf24f, 0x0170e410, 0x0036aca8}}, Y: Field{[10]uint32{0x0173ae4d, 0x002cbef1, 0x0251e7bb, 0x01bc5d19, 0x03293a5c, 0x002338d6, 0x02ecb24d, 0x0004377a, 0x02cfc37f, 0x00098bc4}}}, + {X: Field{[10]uint32{0x03cf39be, 0x031d2128, 0x03a317ab, 0x021f12f3, 0x02d499f6, 0x0046d699, 0x01e50823, 0x035cb906, 0x017b0784, 0x000d0dc9}}, Y: Field{[10]uint32{0x01c398d3, 0x02cef6a9, 0x00ec2a49, 0x0281dbc7, 0x00f38bd0, 0x02c1b5f0, 0x013fa143, 0x035a3a11, 0x03076da8, 0x0033a6f3}}}, + {X: Field{[10]uint32{0x0099545b, 0x0179cd82, 0x0155c9ed, 0x0024d2b4, 0x03939fa4, 0x028d2feb, 0x0386024e, 0x006ad6fd, 0x029f8261, 0x0011652b}}, Y: Field{[10]uint32{0x02d450f5, 0x00fe4a3a, 0x00da4c4b, 0x0178fb83, 0x0177d3f1, 0x01ded1e3, 0x0034e72e, 0x02e9cb0e, 0x03f562b0, 0x00089571}}}, + {X: Field{[10]uint32{0x01898819, 0x0084b760, 0x003c2f13, 0x00dac89d, 0x033aebb0, 0x01ad6169, 0x02b21fc2, 0x001bec0d, 0x030512db, 0x0001ccdd}}, Y: Field{[10]uint32{0x00307887, 0x00315fd4, 0x03c51515, 0x03b4a4a0, 0x00848b53, 0x0161fcfe, 0x01cf461c, 0x02c28958, 0x0159725f, 0x001d4f77}}}, + {X: Field{[10]uint32{0x029790ff, 0x02af59b5, 0x0372e3f2, 0x00b41953, 0x00a53f4c, 0x0231d2af, 0x02d81c10, 0x03fbcd54, 0x00144d2a, 0x002f6456}}, Y: Field{[10]uint32{0x0027763e, 0x01fb4b46, 0x005b950e, 0x016e5783, 0x0231ae89, 0x017d1c52, 0x02b3277a, 0x038dced0, 0x01e17f27, 0x0006bd82}}}, + {X: Field{[10]uint32{0x015bb557, 0x0395b6e4, 0x03c73d4c, 0x01007d27, 0x01677827, 0x00f621c3, 0x001ced90, 0x03fb88a3, 0x014ca51d, 0x00228473}}, Y: Field{[10]uint32{0x02f5cf23, 0x003d8655, 0x017196be, 0x03c09cce, 0x02ca46b3, 0x03d1c403, 0x00278229, 0x02725fbb, 0x03eeae9f, 0x0034c2b5}}}, + {X: Field{[10]uint32{0x039bfcfd, 0x011b61db, 0x01ea697d, 0x035f0291, 0x03cfd058, 0x016c09ca, 0x023e6886, 0x02ffadb0, 0x01f02802, 0x001e4a6d}}, Y: Field{[10]uint32{0x00fde5d0, 0x02d538bd, 0x00b36963, 0x033507c2, 0x018c80d1, 0x00aa2430, 0x01e366c3, 0x01e0f534, 0x02218039, 0x003e6eeb}}}, + {X: Field{[10]uint32{0x03d89d01, 0x0131498e, 0x018bcf6e, 0x01566c69, 0x03d55f88, 0x0327c07c, 0x000e79bc, 0x0259be02, 0x02ac1d5b, 0x002037c1}}, Y: Field{[10]uint32{0x01136538, 0x006ab250, 0x03a7ebe4, 0x00dc9983, 0x025ee5c3, 0x030043cd, 0x025614ba, 0x0162a498, 0x02d0a595, 0x000d1a49}}}, + {X: Field{[10]uint32{0x025ccaf7, 0x020cc56f, 0x00ac6efc, 0x036b483d, 0x03ed4b01, 0x020eb44e, 0x0292b4f3, 0x020fca52, 0x00789ff3, 0x001d1515}}, Y: Field{[10]uint32{0x0160fa9a, 0x01ddf2f0, 0x00ceafae, 0x018679d8, 0x03e82173, 0x0133cad7, 0x01ea165c, 0x01dffb78, 0x037781ee, 0x000d9227}}}, + {X: Field{[10]uint32{0x02f8fe85, 0x00af3616, 0x01e67de6, 0x0357e1df, 0x03e562d7, 0x00a0a2df, 0x0011fdb4, 0x02a28257, 0x01bcb213, 0x000b1b4d}}, Y: Field{[10]uint32{0x035d159b, 0x02f9ad31, 0x0163144d, 0x0270af4d, 0x002e6013, 0x00bc8ca6, 0x002206c7, 0x013e7d14, 0x03703409, 0x002a8c38}}}, + {X: Field{[10]uint32{0x02e338db, 0x0369c3ec, 0x027be830, 0x0274c12a, 0x024b4342, 0x00a33458, 0x011846a7, 0x013ac0a0, 0x017a9d93, 0x0020d4d9}}, Y: Field{[10]uint32{0x00e02b71, 0x0275011d, 0x003b166a, 0x02bcebfe, 0x02ed4a4c, 0x039a4f22, 0x0189c5ac, 0x03e974a0, 0x0038020f, 0x003e1001}}}, + {X: Field{[10]uint32{0x02ae494f, 0x02a377ea, 0x027f6fd1, 0x01cd3b61, 0x012177ca, 0x018698a6, 0x02f63365, 0x015b5f1f, 0x013a54ce, 0x003c85ba}}, Y: Field{[10]uint32{0x00d30611, 0x00fa912b, 0x036723f4, 0x02dc0bc6, 0x038da296, 0x004730d1, 0x03e8fadb, 0x020c9818, 0x0313a0fe, 0x0036c28f}}}, + {X: Field{[10]uint32{0x008324fb, 0x0342046a, 0x03112273, 0x032379b9, 0x002e9a3d, 0x018bb1fd, 0x022baa4b, 0x01cfe595, 0x02219b5d, 0x00370dc4}}, Y: Field{[10]uint32{0x0357c004, 0x02c553f7, 0x000fb581, 0x0055f0cc, 0x004f1c90, 0x00a7e6ed, 0x020acaa9, 0x00fa58dc, 0x0092ec56, 0x003bb324}}}, + {X: Field{[10]uint32{0x02649475, 0x02641c8d, 0x0116dd44, 0x01ed0959, 0x02b10f04, 0x03bd4d2b, 0x02f60296, 0x02d3c787, 0x036d48f0, 0x0036cd1c}}, Y: Field{[10]uint32{0x00586bec, 0x02f93fab, 0x00fdfdd1, 0x01985934, 0x001a1169, 0x024f9462, 0x02c34c9b, 0x031e1a54, 0x016cf7a8, 0x00070a73}}}, + {X: Field{[10]uint32{0x03696add, 0x031ca5c0, 0x03d3378f, 0x03b4d63e, 0x01971b09, 0x00bd6f3c, 0x015af536, 0x021093cd, 0x00572046, 0x00028921}}, Y: Field{[10]uint32{0x02547803, 0x028ddd89, 0x006948c9, 0x00c6f214, 0x03baffc9, 0x00b8915c, 0x0367a56c, 0x037ae28d, 0x016137d0, 0x00269c0f}}}, + {X: Field{[10]uint32{0x024436c4, 0x027ea8c4, 0x01ed240c, 0x02e63ec9, 0x023eba38, 0x007da343, 0x02aa4293, 0x01d4eeef, 0x006fa9ac, 0x002edee0}}, Y: Field{[10]uint32{0x02426752, 0x020daa04, 0x02e646e5, 0x0273e6d0, 0x0007c6ff, 0x026c0543, 0x03682e3d, 0x02efa366, 0x0174a1a8, 0x0023e049}}}, + {X: Field{[10]uint32{0x03ecf446, 0x0025bff0, 0x01ad517b, 0x02a9d125, 0x00489344, 0x02783c1a, 0x02194276, 0x02808fd9, 0x0076fc28, 0x0019c0f1}}, Y: Field{[10]uint32{0x00e2a38c, 0x02b10f4a, 0x0215eed3, 0x02ac148b, 0x00f42699, 0x019cc785, 0x00211a30, 0x029c8d61, 0x023f7c9b, 0x0022d200}}}, + {X: Field{[10]uint32{0x02dbf6a2, 0x012e9878, 0x023b71b4, 0x02a8d251, 0x0214cf0d, 0x00584ae0, 0x023f3b7a, 0x02d123f8, 0x00e4bfa4, 0x002f2abe}}, Y: Field{[10]uint32{0x01c7f404, 0x0385c435, 0x01736d6f, 0x03b1a333, 0x03b07498, 0x02fa1e4e, 0x0108835d, 0x0254ffa7, 0x0300e2cc, 0x002f7fc9}}}, + {X: Field{[10]uint32{0x0310cd49, 0x0361e464, 0x00f7bbfe, 0x005cfb1d, 0x02217945, 0x01c9a8b9, 0x015b446d, 0x01c88077, 0x03da1a55, 0x00241ad3}}, Y: Field{[10]uint32{0x012653cf, 0x029d34e2, 0x00f93441, 0x0240b5fd, 0x01cf8384, 0x021a421c, 0x0304bc47, 0x0134a340, 0x02dbcd2c, 0x0035d4fc}}}, + {X: Field{[10]uint32{0x02f93d5f, 0x009ab0e7, 0x029058d7, 0x0337ade1, 0x00fa5369, 0x006ff741, 0x000e326e, 0x01f65546, 0x0383018f, 0x0027b025}}, Y: Field{[10]uint32{0x03acf205, 0x0252b765, 0x02049d17, 0x03e3e252, 0x00ad22ba, 0x034a3edc, 0x02c68424, 0x0059054e, 0x0057994b, 0x002732a0}}}, + {X: Field{[10]uint32{0x02b8209d, 0x038cc504, 0x030f3a2d, 0x02faec00, 0x036f823c, 0x004534bc, 0x0362a96f, 0x0103b0a0, 0x0106b754, 0x0014cd1e}}, Y: Field{[10]uint32{0x020c1fa0, 0x02824332, 0x0034ab06, 0x0200f864, 0x01595816, 0x025543b1, 0x02f1bf02, 0x022af91f, 0x00e0471f, 0x000332ce}}}, + {X: Field{[10]uint32{0x023a4870, 0x023e0374, 0x013373b9, 0x00445485, 0x03a33e54, 0x02cd5e01, 0x0224b18e, 0x0012024f, 0x032961b7, 0x0009f14f}}, Y: Field{[10]uint32{0x02575601, 0x02e222f6, 0x014fe2f3, 0x03ea2016, 0x00703fa5, 0x02b23139, 0x03c70e59, 0x00db11c7, 0x038de186, 0x00168fd2}}}, + {X: Field{[10]uint32{0x0259b68f, 0x03339d77, 0x02a5beac, 0x028f9d72, 0x0322ed51, 0x03d57084, 0x02616bac, 0x017e684a, 0x03e37a11, 0x00248649}}, Y: Field{[10]uint32{0x0327b141, 0x00db1341, 0x00ae2e06, 0x01c45e19, 0x0155884e, 0x0098f5de, 0x02fb5906, 0x0316d662, 0x007bc1e4, 0x002f6edf}}}, + {X: Field{[10]uint32{0x033ea8c2, 0x01b35b8f, 0x01ff8dde, 0x002468f6, 0x01efb3e6, 0x0390c9d4, 0x03c692ca, 0x007ff59d, 0x00876eb8, 0x0025cecf}}, Y: Field{[10]uint32{0x03bbb0ed, 0x03af7655, 0x003b849a, 0x02b8ea5a, 0x018684b0, 0x036f3b36, 0x0112c5da, 0x01442e90, 0x03710129, 0x000d037d}}}, + {X: Field{[10]uint32{0x0301ae71, 0x017a6b06, 0x02ce4020, 0x00c84995, 0x00d5972c, 0x024811c0, 0x038ef036, 0x00dd9e64, 0x03def053, 0x00082e05}}, Y: Field{[10]uint32{0x0395707b, 0x0052aa20, 0x01c1234a, 0x0193faa6, 0x01c6b1ce, 0x01282af1, 0x025c3529, 0x02805871, 0x025be2da, 0x000ab8bf}}}, + {X: Field{[10]uint32{0x03c95876, 0x02226d28, 0x01402aa6, 0x0358f64c, 0x01ca9fc5, 0x01cbad0f, 0x02347b7f, 0x0246041e, 0x004f7a7e, 0x0018f895}}, Y: Field{[10]uint32{0x000d16b1, 0x032b5c4a, 0x02067f91, 0x02c7e1b9, 0x02adf49c, 0x022f57eb, 0x01cdf521, 0x00533801, 0x026d20d7, 0x00398abb}}}, + {X: Field{[10]uint32{0x022aeb80, 0x00e5d4f8, 0x034216ac, 0x01cb9060, 0x01a69dd4, 0x011f5d8b, 0x0183abfc, 0x0233c2cd, 0x02107150, 0x000be437}}, Y: Field{[10]uint32{0x0388d389, 0x024eaf4d, 0x0264b761, 0x0226708f, 0x00880f3a, 0x02846122, 0x01e5e025, 0x0375d189, 0x02bd04a0, 0x0014dc6f}}}, + {X: Field{[10]uint32{0x02ed7209, 0x0373ca74, 0x0048ac9a, 0x03082b47, 0x037c9359, 0x03968d47, 0x0237cf75, 0x01b41517, 0x00e8faa9, 0x0023508f}}, Y: Field{[10]uint32{0x03ab40f2, 0x002c4a42, 0x03d6eea8, 0x03056b02, 0x03bb9d23, 0x0299570f, 0x00df7948, 0x03100686, 0x003dee76, 0x0020f52e}}}, + {X: Field{[10]uint32{0x00181efd, 0x03b04420, 0x03ea3bec, 0x0220156c, 0x02a9c91d, 0x02451090, 0x03111a20, 0x022bfcc0, 0x01425e02, 0x0004be90}}, Y: Field{[10]uint32{0x00c3ff57, 0x00ab103a, 0x03d4dc4d, 0x022ecb8d, 0x03ee5c3b, 0x018bac43, 0x010eddb3, 0x00ad5eb0, 0x03708e79, 0x001ae56c}}}, + {X: Field{[10]uint32{0x02706f73, 0x011e20a2, 0x00bbff83, 0x01bfff43, 0x00ce7019, 0x037cb5cc, 0x0105632c, 0x0375f35d, 0x015f2a3b, 0x00248f2a}}, Y: Field{[10]uint32{0x0346abbc, 0x0106ad49, 0x032ee3e5, 0x036f2b42, 0x031903af, 0x00433ffc, 0x003983b2, 0x0185cece, 0x0066c39b, 0x003e2c32}}}, + {X: Field{[10]uint32{0x00893646, 0x027835a2, 0x01776a86, 0x02859882, 0x0064ce3a, 0x00a3d1c1, 0x023875a7, 0x0103a58f, 0x013e8782, 0x00021135}}, Y: Field{[10]uint32{0x03eeaca1, 0x01579cdb, 0x032b25b8, 0x031c67ec, 0x011c84f9, 0x01c4ef1d, 0x00c47b4a, 0x02307fe6, 0x029192bf, 0x00318334}}}, + {X: Field{[10]uint32{0x01dc98f3, 0x01eb087c, 0x02b2a65e, 0x027d998d, 0x03883829, 0x00016977, 0x0277ff81, 0x007636e8, 0x03d6c547, 0x0010de1b}}, Y: Field{[10]uint32{0x02091b51, 0x00bd4a95, 0x0127e914, 0x0213e630, 0x03745ff8, 0x021c1bf9, 0x039109cb, 0x016ef63d, 0x02c29c8c, 0x0034a4a8}}}, + {X: Field{[10]uint32{0x0236d7ab, 0x01cdb72b, 0x0257ce94, 0x01162c1c, 0x02bb0dec, 0x02e628b3, 0x0383f71f, 0x03b3d8e1, 0x028df5e9, 0x001b46f0}}, Y: Field{[10]uint32{0x00d549e6, 0x020008e2, 0x0238da0e, 0x001c8c85, 0x00e2c00e, 0x00a04237, 0x0214cf7a, 0x00111e18, 0x0192bfd8, 0x0030b150}}}, + {X: Field{[10]uint32{0x02ff86c6, 0x0255aac5, 0x037f67d8, 0x0333fe12, 0x016c742c, 0x00f89975, 0x033f89cc, 0x0338f0bb, 0x03347f74, 0x001af13b}}, Y: Field{[10]uint32{0x01b46408, 0x03f33c5e, 0x0066b8b0, 0x03918317, 0x01be26a6, 0x01af798b, 0x036be35c, 0x02c13c49, 0x02fd2d2a, 0x003ad124}}}, + {X: Field{[10]uint32{0x03678b38, 0x03ea66ef, 0x00ddcb35, 0x00af2ccf, 0x000d67a6, 0x00342357, 0x02a756e0, 0x00256350, 0x0075fa81, 0x001abd14}}, Y: Field{[10]uint32{0x025bff28, 0x01ffe7ee, 0x00bfd528, 0x024e1258, 0x02886c7b, 0x02dce199, 0x00ffc3fa, 0x020b1d9e, 0x024f0e76, 0x002b6edc}}}, + {X: Field{[10]uint32{0x01260600, 0x03a29995, 0x011caa24, 0x003e416b, 0x00939f34, 0x0156dd18, 0x02f49cd3, 0x018d96a5, 0x03763646, 0x003adb62}}, Y: Field{[10]uint32{0x03bea3cd, 0x02eb835f, 0x015c33c2, 0x021c0cfe, 0x0241f7a1, 0x000ee074, 0x03a11ff6, 0x002dfee6, 0x02fdaea3, 0x001eba73}}}, + {X: Field{[10]uint32{0x01795068, 0x0115d7a4, 0x000af11e, 0x026eb594, 0x01b34d5e, 0x02eb533d, 0x038dd694, 0x01f4fd9c, 0x02332fef, 0x002f4308}}, Y: Field{[10]uint32{0x011cf209, 0x02082fa7, 0x0113676f, 0x015ceaa7, 0x01a91c4d, 0x01a08e93, 0x01100b66, 0x02c8702a, 0x004e2ea0, 0x003aae97}}}, + {X: Field{[10]uint32{0x02b7e392, 0x03261e54, 0x034b5054, 0x027e010d, 0x030aa56d, 0x01092455, 0x003e0831, 0x025064d2, 0x03bdc504, 0x0031788e}}, Y: Field{[10]uint32{0x02597751, 0x022b1e9b, 0x00fe2f7f, 0x019a156d, 0x038d59e7, 0x02a92b8f, 0x01cd02e3, 0x0085feff, 0x00cbf684, 0x00132bae}}}, + {X: Field{[10]uint32{0x0092d2a3, 0x019f3e23, 0x00bd8108, 0x02637a8e, 0x0017178e, 0x03487181, 0x003edb03, 0x02ae4955, 0x0231f3aa, 0x002d5c5d}}, Y: Field{[10]uint32{0x0011942a, 0x01027ca3, 0x020e9a02, 0x02b23c74, 0x00d2bdf0, 0x00936ead, 0x03318745, 0x02a7bc22, 0x01cc0324, 0x0039d082}}}, + {X: Field{[10]uint32{0x01305cfc, 0x012d7a57, 0x00cca2fe, 0x01f1ee0e, 0x01b2d17b, 0x00c281f8, 0x00a85d5d, 0x007cbf2b, 0x00994960, 0x00271158}}, Y: Field{[10]uint32{0x0304eeb6, 0x03b81bbf, 0x00674674, 0x030d6172, 0x00329273, 0x0079401e, 0x001b61b3, 0x0371f0a1, 0x0140a109, 0x000b5e85}}}, + {X: Field{[10]uint32{0x02a82f63, 0x01de9462, 0x00d5498c, 0x0175cc8a, 0x03e33dae, 0x00ed9812, 0x02ff1757, 0x00db12a2, 0x0146c0ab, 0x0014ab8a}}, Y: Field{[10]uint32{0x037f87b4, 0x035dc71d, 0x0104d24d, 0x0320190c, 0x027179f5, 0x019524fc, 0x003f899b, 0x006fe934, 0x019b6606, 0x001c388f}}}, + {X: Field{[10]uint32{0x0394adf9, 0x0167c280, 0x03dcef4f, 0x030b0a7b, 0x0189db9a, 0x0210207a, 0x01ba4903, 0x0118b770, 0x03bf55ff, 0x000527b0}}, Y: Field{[10]uint32{0x009dd7af, 0x02a2f05e, 0x01801341, 0x01737e52, 0x0049642b, 0x039a5472, 0x028fbc7c, 0x02e508ab, 0x0188b91d, 0x00016707}}}, + {X: Field{[10]uint32{0x02ea7ea7, 0x018e0410, 0x005768a1, 0x00270534, 0x03dbe14a, 0x0054e368, 0x03835346, 0x0063777f, 0x0294d667, 0x002bfe24}}, Y: Field{[10]uint32{0x0159266b, 0x0139d913, 0x00bb9a92, 0x0244aa23, 0x017b6154, 0x02f095b7, 0x022352ac, 0x021e97b3, 0x03ebcf58, 0x001c619a}}}, + {X: Field{[10]uint32{0x004e76fc, 0x02ed0196, 0x02b78da7, 0x02dce38a, 0x0133887e, 0x000f8ad0, 0x012d49b3, 0x0011cab5, 0x00782cb3, 0x0037913d}}, Y: Field{[10]uint32{0x02482bf5, 0x0348f273, 0x01da7eef, 0x03ea0c3b, 0x01b13d08, 0x02b23bc8, 0x03c630d7, 0x0360b015, 0x018425ba, 0x0019e62b}}}, + {X: Field{[10]uint32{0x01682e61, 0x03b1f1ce, 0x021345a2, 0x03aca253, 0x02b3a380, 0x006e80b1, 0x032c88be, 0x024d9b05, 0x02737616, 0x00382f1e}}, Y: Field{[10]uint32{0x022cb2e0, 0x01827349, 0x024d3c23, 0x030aad50, 0x035ad1f7, 0x01edfa64, 0x027c0ec8, 0x023fa37f, 0x02b933b1, 0x002f451f}}}, + {X: Field{[10]uint32{0x032f0e6d, 0x01e91d80, 0x03b1127c, 0x0269c73e, 0x02ed2613, 0x0294da88, 0x033cfa70, 0x027cce51, 0x03272af6, 0x0017b8d3}}, Y: Field{[10]uint32{0x00e13b8c, 0x018abab1, 0x036cb807, 0x004370d8, 0x011316bf, 0x01737bf1, 0x0257de98, 0x01360bda, 0x0396dc0d, 0x003077e3}}}, + {X: Field{[10]uint32{0x0199a0f2, 0x03397a39, 0x0113a68b, 0x011afb57, 0x03672968, 0x03855f5e, 0x00c274df, 0x01e98e6e, 0x03c177fa, 0x0013728e}}, Y: Field{[10]uint32{0x012fb234, 0x030cb14f, 0x032a1d01, 0x01a14bbf, 0x012fb489, 0x03d6723a, 0x033fd758, 0x026baff6, 0x015836fb, 0x0023f4ad}}}, + {X: Field{[10]uint32{0x00b48136, 0x0211d47e, 0x004f5bc1, 0x00d280d2, 0x00980810, 0x03a64fd5, 0x01ed9373, 0x000a43be, 0x03c18756, 0x001553da}}, Y: Field{[10]uint32{0x0172b26a, 0x0129af28, 0x0183d206, 0x00e8783f, 0x03de8086, 0x0230fd43, 0x03834e0e, 0x004a8d45, 0x03b7dfd5, 0x002d1530}}}, + {X: Field{[10]uint32{0x01592ad4, 0x00a096e1, 0x02ba420b, 0x01f2d4e7, 0x02955af8, 0x018b708b, 0x0160b2e1, 0x021e69aa, 0x0350a6c0, 0x00256a06}}, Y: Field{[10]uint32{0x0045c712, 0x006ac303, 0x011af265, 0x021bd9c0, 0x037c7d50, 0x00e2a930, 0x0072b75f, 0x008b47d6, 0x00c4dfed, 0x002f957a}}}, + {X: Field{[10]uint32{0x037e5c4d, 0x02e2f9d1, 0x01d853ef, 0x029ba8a4, 0x0244a4f8, 0x00c7d560, 0x00d14d34, 0x01a9b8d6, 0x01539e49, 0x00241edb}}, Y: Field{[10]uint32{0x03150eac, 0x021cb91d, 0x0265c21f, 0x0000a489, 0x01ff33e2, 0x0375f475, 0x0017fad1, 0x02ee799e, 0x02943853, 0x002cf4f5}}}, + {X: Field{[10]uint32{0x03f17aa6, 0x03330271, 0x003575bc, 0x0191adea, 0x01c8884c, 0x00fc5d81, 0x0337cb23, 0x015dbd9d, 0x001bb342, 0x002149f2}}, Y: Field{[10]uint32{0x037604fc, 0x013a3d61, 0x02a64504, 0x0274cce1, 0x019cd47b, 0x0115ddfc, 0x031930c1, 0x0149255e, 0x01bcdb8d, 0x002db59d}}}, + {X: Field{[10]uint32{0x03ab00ec, 0x025d38bb, 0x01e9f913, 0x00ea066e, 0x03bc6bf8, 0x03e41ba6, 0x02134360, 0x0036493a, 0x027d5a32, 0x0023878e}}, Y: Field{[10]uint32{0x0018b0b9, 0x002783fd, 0x01c4aff3, 0x01f1e4a0, 0x000792e0, 0x029e4b14, 0x023dad4e, 0x017c970c, 0x03abd81d, 0x003653c0}}}, + {X: Field{[10]uint32{0x019a8d76, 0x03eadd54, 0x0034d72c, 0x0125731d, 0x02dd0d89, 0x031a32da, 0x02cbd86b, 0x012a3426, 0x0393be1f, 0x003f00b2}}, Y: Field{[10]uint32{0x024d4f94, 0x00f1dc9f, 0x004e98b7, 0x027659fa, 0x02ffe4cd, 0x0216895b, 0x026ceb08, 0x01171662, 0x0132729e, 0x001c7de9}}}, + {X: Field{[10]uint32{0x03e6e7b8, 0x00a26c42, 0x016af80a, 0x01fe6cbb, 0x03ff7635, 0x03c21d46, 0x02c44db4, 0x022ceec6, 0x0302a285, 0x0033e604}}, Y: Field{[10]uint32{0x0173b528, 0x006fa223, 0x007bad3a, 0x00a2e221, 0x02f1a8a8, 0x0213c7e8, 0x0205ded9, 0x0199b9c0, 0x0012bf23, 0x0008dfa7}}}, + {X: Field{[10]uint32{0x00231d82, 0x03712faa, 0x01228e97, 0x00782e81, 0x0371718d, 0x03235433, 0x0274cbba, 0x03a480f2, 0x01dc1408, 0x000f9b91}}, Y: Field{[10]uint32{0x031ef848, 0x01d19dce, 0x028a3147, 0x0387c3f7, 0x03961009, 0x01fbe1b7, 0x01f287ca, 0x02a017d8, 0x037a2ad3, 0x000b8ff6}}}, + {X: Field{[10]uint32{0x007d4657, 0x02e7b69c, 0x028b3749, 0x02cb7c99, 0x023ce1b2, 0x00466c3b, 0x00090888, 0x0051c442, 0x03950758, 0x002ec11d}}, Y: Field{[10]uint32{0x01c67587, 0x00e45a1d, 0x01bc1bc4, 0x016ff38a, 0x028d6ee5, 0x036fbbb4, 0x01ad6977, 0x03ce9abd, 0x02fc5f95, 0x002569cb}}}, + {X: Field{[10]uint32{0x00dd6748, 0x01746e5a, 0x0193903f, 0x01b604a4, 0x0100fe35, 0x0338132d, 0x03a31034, 0x00b0412a, 0x0142b8b0, 0x00138057}}, Y: Field{[10]uint32{0x00a870fb, 0x010b001c, 0x00d2dd39, 0x03ea046f, 0x02746419, 0x02499d08, 0x00e96ffc, 0x01b5c765, 0x00e7dfbf, 0x0034d6c8}}}, + {X: Field{[10]uint32{0x00a49daf, 0x00dd1649, 0x0386792a, 0x03c90437, 0x0270850a, 0x01a341e3, 0x037391bd, 0x02c8427a, 0x005790c8, 0x00182693}}, Y: Field{[10]uint32{0x03ad0e98, 0x01540bc2, 0x00e8a0e3, 0x000347cd, 0x0314431d, 0x02290e42, 0x01cb14e7, 0x016ce960, 0x027ebc96, 0x003ce98c}}}, + {X: Field{[10]uint32{0x027fc730, 0x02eac0e8, 0x00aa1780, 0x0184c16d, 0x01b9ea07, 0x005fb3d8, 0x01b7558a, 0x016b0138, 0x03362a95, 0x00332f81}}, Y: Field{[10]uint32{0x0092cd3b, 0x0311fe47, 0x03abb71f, 0x00492c0f, 0x00d981a0, 0x00190ca6, 0x02a4e3ae, 0x02875d97, 0x00166c98, 0x003e5adf}}}, + {X: Field{[10]uint32{0x03ccab14, 0x01471a70, 0x008c3e21, 0x01a6a10e, 0x009143c5, 0x01384738, 0x0310ef90, 0x008c0b9a, 0x028285df, 0x001bb580}}, Y: Field{[10]uint32{0x02d196e7, 0x0247a946, 0x026081d5, 0x00709614, 0x03e91b0d, 0x0199798b, 0x03c75649, 0x00ede3a3, 0x03b0687a, 0x0019d7a8}}}, + {X: Field{[10]uint32{0x0349d8e0, 0x01ffda72, 0x02c7f4c0, 0x01dd10f6, 0x02708061, 0x0214554c, 0x033c5923, 0x02853156, 0x01cba0cc, 0x002f7fc1}}, Y: Field{[10]uint32{0x020c9a50, 0x0041b69b, 0x017981dd, 0x024eaab2, 0x03f09d79, 0x020ce443, 0x00a72390, 0x023b309d, 0x010486cd, 0x0014526b}}}, + {X: Field{[10]uint32{0x022bff2b, 0x01e64453, 0x0386eed5, 0x01570b1c, 0x00af9f6e, 0x01e6bb47, 0x03e53665, 0x00c96c8a, 0x028ccc70, 0x00019339}}, Y: Field{[10]uint32{0x01cb1cae, 0x01abb791, 0x0106bd59, 0x0387aad9, 0x0211bf1b, 0x0084f2ee, 0x021dddf2, 0x02683bbd, 0x01763c8a, 0x003e3226}}}, + {X: Field{[10]uint32{0x00ab2bb4, 0x0051c686, 0x007edaf0, 0x03d58984, 0x02b40de7, 0x007968bd, 0x02f3c06e, 0x0143cf72, 0x006f4891, 0x003350b9}}, Y: Field{[10]uint32{0x01bcfada, 0x03f68280, 0x025c281d, 0x0227d9e7, 0x0017f11f, 0x0094e9e2, 0x00921f4e, 0x01a59ed3, 0x00ddd202, 0x00367094}}}, + {X: Field{[10]uint32{0x01619735, 0x0157c062, 0x02c4359d, 0x0070d713, 0x025e9b12, 0x03b136ba, 0x01a7e8e3, 0x0150838b, 0x0007e714, 0x003df0a4}}, Y: Field{[10]uint32{0x03a493b7, 0x02928cfa, 0x023ddc2b, 0x00e8db3e, 0x005ea293, 0x0281b76c, 0x03735a56, 0x02a4f98d, 0x00064dbd, 0x00199145}}}, + {X: Field{[10]uint32{0x0293b7a8, 0x007d9e57, 0x010f2c5c, 0x034b6445, 0x00377609, 0x01c560d7, 0x033d2214, 0x0121589a, 0x01e1d494, 0x0018ce70}}, Y: Field{[10]uint32{0x02d59b28, 0x00cbf1cf, 0x02d95be5, 0x018261d8, 0x01d10a69, 0x03eb2e30, 0x015a20d8, 0x03a3dffd, 0x01ea47b4, 0x003bef9b}}}, + {X: Field{[10]uint32{0x0089b37b, 0x0160050d, 0x00b4daaf, 0x01e367d0, 0x0207b1ec, 0x027d3ae1, 0x00bbcf1e, 0x03b4197d, 0x03137d22, 0x003f33c7}}, Y: Field{[10]uint32{0x01bf3e10, 0x012d541f, 0x0111c64a, 0x02bc86cd, 0x016646be, 0x025d5ad3, 0x01559d9d, 0x02b30e20, 0x002fef9f, 0x002969df}}}, + {X: Field{[10]uint32{0x004f62d2, 0x03058010, 0x03d4e935, 0x035d63b0, 0x00a13434, 0x01ef23d7, 0x023b5541, 0x0213b3c4, 0x031006f2, 0x0036a5ff}}, Y: Field{[10]uint32{0x0312e168, 0x00c0732b, 0x0093cf8b, 0x008a2069, 0x024f3082, 0x0362ae4a, 0x031e3d1c, 0x00cc37cb, 0x028b4900, 0x00197085}}}, + {X: Field{[10]uint32{0x033e4fd8, 0x00b6260c, 0x039bddce, 0x03c887c2, 0x03343ab6, 0x006d1164, 0x0157556c, 0x009338da, 0x00d5428a, 0x00199da9}}, Y: Field{[10]uint32{0x01af7b41, 0x02c717cf, 0x01593854, 0x01611686, 0x03b7afcf, 0x0119f5e4, 0x034d3d83, 0x0094d7d7, 0x00a4b933, 0x00116f77}}}, + {X: Field{[10]uint32{0x017859ca, 0x004ab7b9, 0x01ccd302, 0x01e8a986, 0x0153396e, 0x00f7ba90, 0x0222c7cd, 0x00508152, 0x02becf46, 0x001e479a}}, Y: Field{[10]uint32{0x02dd37a1, 0x01ec333e, 0x02c9268a, 0x03745f93, 0x03e2ec07, 0x03fd0fb2, 0x0332990a, 0x01724fb1, 0x03fd08c5, 0x003900ce}}}, + {X: Field{[10]uint32{0x030018a1, 0x005fcc6b, 0x005ae207, 0x011d2f5f, 0x02c66dd9, 0x012dcc91, 0x00985aa8, 0x0055429e, 0x03b2d518, 0x000e9f1e}}, Y: Field{[10]uint32{0x029d7459, 0x014b517f, 0x03d1437b, 0x0094612b, 0x02b6c38d, 0x039417e2, 0x01f732a9, 0x03b71488, 0x0317e03c, 0x0008e23a}}}, + {X: Field{[10]uint32{0x013ab999, 0x0082f150, 0x00c3bef7, 0x005cad15, 0x0362b740, 0x0004e075, 0x03ca9361, 0x00725a72, 0x01b18680, 0x0009268b}}, Y: Field{[10]uint32{0x01d5e7a3, 0x0225ed74, 0x030cff71, 0x002cfb24, 0x002f708e, 0x01701d7a, 0x003cf9c8, 0x0247075e, 0x004176aa, 0x00368617}}}, + {X: Field{[10]uint32{0x034f8590, 0x029a215a, 0x0313614d, 0x01fede4a, 0x0032c085, 0x01595794, 0x01f21e0c, 0x03302661, 0x0153b4e0, 0x002c9783}}, Y: Field{[10]uint32{0x0183eda2, 0x021399d7, 0x01055d6b, 0x02010ac8, 0x0300ac5b, 0x034a360d, 0x00fac42f, 0x038eb387, 0x02ff6b02, 0x0006f45e}}}, + {X: Field{[10]uint32{0x03862fcd, 0x0167aaed, 0x02cd6013, 0x03dd45ff, 0x02bd1073, 0x0044090f, 0x029db66f, 0x00ce22a1, 0x036805e8, 0x001cd814}}, Y: Field{[10]uint32{0x015f9d56, 0x00494d9b, 0x02913d69, 0x039569d7, 0x03e767fa, 0x0384b507, 0x02434076, 0x0316983e, 0x002d0842, 0x003a71e8}}}, + {X: Field{[10]uint32{0x03f1b1d9, 0x0172585d, 0x03ff9711, 0x036979c3, 0x022e5b52, 0x03c96750, 0x038a0c9a, 0x00ba5c0b, 0x03567139, 0x003b0bc2}}, Y: Field{[10]uint32{0x008183a8, 0x025263a4, 0x00818204, 0x00ad3f7b, 0x02d49e07, 0x02395b4c, 0x00571fa9, 0x01396432, 0x02bbadb2, 0x0011fdf7}}}, + {X: Field{[10]uint32{0x03e2d378, 0x02981612, 0x038e5cbf, 0x025484dd, 0x01afc255, 0x00838630, 0x022ad2f3, 0x0350ea46, 0x03a8250d, 0x001f5ea3}}, Y: Field{[10]uint32{0x00fea3be, 0x00384458, 0x0352e02a, 0x01e904fd, 0x03fab2b0, 0x026f0835, 0x0300f110, 0x01f5dc09, 0x02168962, 0x001ad22e}}}, + {X: Field{[10]uint32{0x026713d7, 0x01a57fea, 0x0036605c, 0x02433fd3, 0x0206e594, 0x009820b1, 0x03aaa01e, 0x01c8ee99, 0x01ce52b6, 0x000c5a9c}}, Y: Field{[10]uint32{0x02a1cb9e, 0x016bdcf5, 0x020200e9, 0x03f73e0b, 0x0184152f, 0x0172d2e8, 0x0344cf6e, 0x0318484a, 0x01a07820, 0x0035bc70}}}, + {X: Field{[10]uint32{0x03bcca51, 0x01b9caa7, 0x01930ade, 0x015c476e, 0x029ace88, 0x02b65e88, 0x02e5fc6e, 0x0227ff0c, 0x00c30ade, 0x000868aa}}, Y: Field{[10]uint32{0x0082e4d0, 0x01b073e2, 0x001e47c5, 0x00e28ae5, 0x01726fd4, 0x00cbc38d, 0x012aafb4, 0x0145ed5c, 0x010438df, 0x00257f4f}}}, + {X: Field{[10]uint32{0x028f94d5, 0x027b0c9c, 0x01535536, 0x0378107e, 0x021ad2cf, 0x0144ebeb, 0x0146c68f, 0x0205c36b, 0x0067b3ad, 0x000fc606}}, Y: Field{[10]uint32{0x02317527, 0x0277c428, 0x00a915f0, 0x03c0e2c0, 0x0191abb8, 0x0088aac3, 0x01991894, 0x003aab55, 0x00e4e9f2, 0x002946a5}}}, + {X: Field{[10]uint32{0x01f63c1e, 0x0024bc22, 0x02a697d0, 0x01b4c563, 0x0079b7aa, 0x0243b3ed, 0x01ecb9b6, 0x00e6f3c4, 0x013911be, 0x003a59cc}}, Y: Field{[10]uint32{0x0103abc2, 0x02050b52, 0x035461f9, 0x03a184c1, 0x00da9be6, 0x00c808a8, 0x022017c0, 0x020f8e37, 0x00f76f87, 0x00030403}}}, + {X: Field{[10]uint32{0x0008b122, 0x0153eba4, 0x00cd8615, 0x010caf42, 0x02d3096d, 0x03ce61b1, 0x03e94b06, 0x02b1f951, 0x02b01407, 0x00187aa2}}, Y: Field{[10]uint32{0x00a4d182, 0x0172a3fd, 0x02792a10, 0x03d0a0fe, 0x02150167, 0x01a7c73b, 0x0090488e, 0x004ea5d9, 0x03cca6f7, 0x00397156}}}, + {X: Field{[10]uint32{0x02dab9fe, 0x01cfe4ef, 0x02402cab, 0x03dc928e, 0x0149673d, 0x008e68fc, 0x00815540, 0x01ff767d, 0x027a1745, 0x002b63eb}}, Y: Field{[10]uint32{0x00f03e6b, 0x01fbfbd4, 0x035d4d77, 0x0080bb4d, 0x01485172, 0x00958fde, 0x001d0371, 0x0312eeec, 0x03ef7966, 0x0014edf7}}}, + {X: Field{[10]uint32{0x02a829d3, 0x02062f6d, 0x0020c586, 0x01324640, 0x02cdf997, 0x0136750d, 0x0362f274, 0x00b9534f, 0x02dfbf7f, 0x00218173}}, Y: Field{[10]uint32{0x01946b88, 0x01bd52df, 0x01873d78, 0x03c143a1, 0x02e7a33d, 0x01dc23fd, 0x009fe4da, 0x02a86988, 0x015f0ca2, 0x0016be29}}}, + {X: Field{[10]uint32{0x03921d87, 0x034b5b3f, 0x014c8cbc, 0x00f0bc8b, 0x016e8325, 0x029e533e, 0x00ffa5a7, 0x027bd1f7, 0x004b465b, 0x002f7795}}, Y: Field{[10]uint32{0x00aadcd8, 0x02f5b3a3, 0x01a7414e, 0x0237e228, 0x030ec97c, 0x0206f9aa, 0x01e7d230, 0x019fd57b, 0x03677ba8, 0x001b14d8}}}, + {X: Field{[10]uint32{0x02fe1cdb, 0x039cd18c, 0x016bbfe3, 0x034aeb64, 0x0162a47b, 0x0170a3d2, 0x02eafca8, 0x0223724f, 0x0245e8b0, 0x000c620a}}, Y: Field{[10]uint32{0x01f176bc, 0x0075a4d5, 0x021a6fd1, 0x02a780aa, 0x01d03557, 0x00b80a32, 0x02b833c1, 0x01b8784a, 0x00f0c5f8, 0x0002cd62}}}, + {X: Field{[10]uint32{0x01dc1202, 0x0013dda9, 0x00883b0d, 0x02f589e6, 0x03e49fad, 0x000ee398, 0x0110b726, 0x003e7b6d, 0x00524580, 0x0005ef90}}, Y: Field{[10]uint32{0x0132fc54, 0x00ce92e3, 0x01cb9c9e, 0x01568bd6, 0x0181667e, 0x010349df, 0x00f7738e, 0x0156b80a, 0x03dcdf88, 0x0005413a}}}, + {X: Field{[10]uint32{0x03629537, 0x01abeb72, 0x0308c9c5, 0x03d69806, 0x00a303ea, 0x001fcaca, 0x03c4e697, 0x01f4a9af, 0x0133bb69, 0x00318cef}}, Y: Field{[10]uint32{0x0218cef8, 0x03566dee, 0x01eac2b4, 0x01e0cc4e, 0x039f3b7f, 0x0187193c, 0x0006b924, 0x01936fcb, 0x00132d47, 0x0021b8fd}}}, + {X: Field{[10]uint32{0x0260bb52, 0x01863d60, 0x00062570, 0x02d8ed18, 0x03633434, 0x00cf3444, 0x00881f3a, 0x0043dc64, 0x008af4c7, 0x003ce788}}, Y: Field{[10]uint32{0x01e2e62c, 0x014be4ae, 0x014e2bfe, 0x038ee973, 0x03d0171e, 0x03650f0c, 0x02e2b664, 0x00dbd89c, 0x0005807b, 0x0024315a}}}, + {X: Field{[10]uint32{0x00a16c54, 0x01808cbd, 0x033db893, 0x0053d67d, 0x01ee4e54, 0x00b6e2b1, 0x00ddfb37, 0x02581e95, 0x039414f2, 0x0033a610}}, Y: Field{[10]uint32{0x0224e0d7, 0x033eebae, 0x03d7f627, 0x00b6e97a, 0x02bb8054, 0x03502ba5, 0x02f78354, 0x01ec4f1c, 0x01a1d105, 0x00069201}}}, + {X: Field{[10]uint32{0x030a76bb, 0x01fd8cee, 0x0273f625, 0x008a8569, 0x01945041, 0x022175d5, 0x0171af10, 0x01e93ee9, 0x039f8110, 0x001499b9}}, Y: Field{[10]uint32{0x0159b457, 0x003f25a9, 0x01918d3b, 0x0003edce, 0x0018d382, 0x01ed5708, 0x033ca397, 0x017c4a1d, 0x01d09cc8, 0x00179eb4}}}, + {X: Field{[10]uint32{0x027056e4, 0x030563ef, 0x035c11ff, 0x0025449b, 0x03675070, 0x01de2f22, 0x0370113c, 0x01ea8efc, 0x025763f4, 0x0013ee77}}, Y: Field{[10]uint32{0x0086f7ef, 0x021d54c5, 0x0175e52e, 0x01d61e27, 0x0229fe02, 0x00bf8f6c, 0x022fa347, 0x01c65c2a, 0x02368eec, 0x000b365d}}}, + {X: Field{[10]uint32{0x03cc0226, 0x015d01c8, 0x0345bded, 0x02a348cd, 0x024ae7bb, 0x005632e4, 0x03ec8406, 0x0376f6aa, 0x0024a99e, 0x002b45a0}}, Y: Field{[10]uint32{0x014095de, 0x03dc103c, 0x003cba21, 0x01ae47b8, 0x029ee638, 0x014f12f9, 0x01e230bb, 0x0119ce3b, 0x0015968e, 0x002ac414}}}, + {X: Field{[10]uint32{0x03719cb8, 0x0320005c, 0x028d55a7, 0x02e8522e, 0x01277923, 0x03c6cc1f, 0x03aea9b0, 0x01556dcc, 0x01aef7cc, 0x0001560a}}, Y: Field{[10]uint32{0x03267689, 0x03c269d8, 0x03d3d3c4, 0x03db12eb, 0x00382969, 0x031829ef, 0x003b47d6, 0x02561550, 0x02eb9c9b, 0x001a9ecb}}}, + {X: Field{[10]uint32{0x0378b935, 0x03af0e1a, 0x01910960, 0x010d1435, 0x014e1e4c, 0x013a7780, 0x004bbe78, 0x01383888, 0x02338efa, 0x0008467c}}, Y: Field{[10]uint32{0x00e7bb93, 0x00da44ee, 0x0195711c, 0x01a4d29c, 0x0052acb4, 0x027144ea, 0x0337db96, 0x011319e8, 0x01c37785, 0x0027c867}}}, + {X: Field{[10]uint32{0x01295bbf, 0x003f96ec, 0x01b3257f, 0x0260fd70, 0x02c52274, 0x0095634d, 0x01e53caa, 0x006fa75f, 0x021b0949, 0x00047f0f}}, Y: Field{[10]uint32{0x004cf6f5, 0x02314a21, 0x00ed6219, 0x02234427, 0x0191b8d1, 0x00c4416b, 0x026b6c02, 0x0164cdaa, 0x034decb0, 0x00071a71}}}, + {X: Field{[10]uint32{0x03d2a908, 0x02fa8ef7, 0x0182180a, 0x00626421, 0x015e64ac, 0x01f981ab, 0x0091bc86, 0x01450e54, 0x026fea6e, 0x000d2db3}}, Y: Field{[10]uint32{0x03ccad6d, 0x00e5908a, 0x00694403, 0x00953860, 0x0328e9f3, 0x00b1e8c4, 0x01e41a13, 0x02fbcfee, 0x0104f4bd, 0x0016dbb6}}}, + {X: Field{[10]uint32{0x0210a84c, 0x0103254d, 0x02e2e22a, 0x00f4b6da, 0x00b326fb, 0x01fbdd17, 0x01c567d9, 0x01a2acec, 0x01cab457, 0x001b0897}}, Y: Field{[10]uint32{0x002a1084, 0x03f5da10, 0x0229cd72, 0x010b403a, 0x03912fe0, 0x03610ef6, 0x0363cfa2, 0x03f633af, 0x03522180, 0x001fa175}}}, + {X: Field{[10]uint32{0x028ed7d7, 0x001c5116, 0x003e32a7, 0x008039c1, 0x03cbfd20, 0x0052da22, 0x03cc7570, 0x025708cb, 0x02e541dd, 0x00017ddd}}, Y: Field{[10]uint32{0x03273c0e, 0x002cda62, 0x022ff2a2, 0x00fdb435, 0x01c11680, 0x0299354a, 0x009de0b9, 0x020d50e8, 0x0078fc6d, 0x000ee317}}}, + {X: Field{[10]uint32{0x011b0e23, 0x02f64ca2, 0x014e9b8b, 0x01205bf6, 0x01d5371e, 0x00913ea9, 0x037eaa63, 0x010fbd78, 0x00c55315, 0x000f89b6}}, Y: Field{[10]uint32{0x0379bb65, 0x03eaaf82, 0x034b0c70, 0x003db62b, 0x02a5b4c7, 0x01b0fafe, 0x01a53bc0, 0x0280dbb8, 0x011b43a4, 0x000c2827}}}, + {X: Field{[10]uint32{0x018b36af, 0x0036affc, 0x0085e8aa, 0x03efb84b, 0x0106be8a, 0x01954f91, 0x02970ac2, 0x00d5a2aa, 0x0291c17a, 0x00318d36}}, Y: Field{[10]uint32{0x01a925f0, 0x0088067c, 0x0346d6d5, 0x0267181b, 0x0016eb9f, 0x02361fb5, 0x01d34bd9, 0x0029ef41, 0x01bae139, 0x001925a0}}}, + {X: Field{[10]uint32{0x027e9a7e, 0x0258b7cb, 0x0347e806, 0x02ceb235, 0x024e8361, 0x03090b5f, 0x02ab4eef, 0x00d6631b, 0x01d64d64, 0x0003b4cd}}, Y: Field{[10]uint32{0x00aa93e7, 0x01ad803f, 0x015e1eb5, 0x039fd5e3, 0x025a1552, 0x023ca2fb, 0x034b6909, 0x01ea9c8c, 0x03f819c9, 0x003c39f0}}}, + {X: Field{[10]uint32{0x02521581, 0x03656147, 0x0328ed72, 0x0191d54f, 0x02d10be1, 0x021c3fec, 0x023dbf22, 0x0167b0fd, 0x00094113, 0x0034dfe3}}, Y: Field{[10]uint32{0x011f1922, 0x0391ed27, 0x0351a191, 0x03532f8e, 0x02831467, 0x01b4f26f, 0x01f1be75, 0x0380d9cb, 0x03b9ba3a, 0x00369f2f}}}, + {X: Field{[10]uint32{0x0115c360, 0x00cd4b9d, 0x0391943c, 0x0017ba1b, 0x0005b32d, 0x031ad083, 0x02ae0611, 0x017a970e, 0x01d7c747, 0x003b8c48}}, Y: Field{[10]uint32{0x004c1686, 0x03c916ef, 0x00281b76, 0x012ae9a4, 0x01b80916, 0x02b5ec4b, 0x0047411d, 0x028eca6d, 0x023797be, 0x001c0ecb}}}, + {X: Field{[10]uint32{0x0187a12b, 0x02005f46, 0x032b5fe9, 0x024109d5, 0x023f5c72, 0x024a984c, 0x02f1a594, 0x00453a83, 0x01bc5c2b, 0x001ed0b2}}, Y: Field{[10]uint32{0x020d27da, 0x03736549, 0x019c9dc7, 0x0378c377, 0x01dd57ed, 0x024909c9, 0x03cd92a9, 0x01cf5d5b, 0x0382e85b, 0x00173dd8}}}, + {X: Field{[10]uint32{0x00a555cd, 0x01d248be, 0x033c3ad0, 0x02117da4, 0x007c8f9b, 0x003e4975, 0x039b6b9a, 0x014e8a4f, 0x039ab13a, 0x0026bd7f}}, Y: Field{[10]uint32{0x025d4153, 0x01bc7eaf, 0x0042ca33, 0x0065905c, 0x0113a9ec, 0x02423215, 0x02a13fa5, 0x011cd322, 0x009e8995, 0x0032a4fb}}}, + {X: Field{[10]uint32{0x0048dacc, 0x02061dce, 0x017b659c, 0x014215af, 0x00a5b2b8, 0x01c260f7, 0x021d591f, 0x037c6c1b, 0x027401a2, 0x0017afe8}}, Y: Field{[10]uint32{0x00f7ad18, 0x01a7f1e8, 0x020fb5fb, 0x0047d1cb, 0x0046e124, 0x008a647a, 0x004c15e8, 0x00f190a4, 0x00b96ac2, 0x0002c2b7}}}, + {X: Field{[10]uint32{0x00c81e6f, 0x00979b3f, 0x01dd3ac1, 0x0219f699, 0x000daeb4, 0x007dbafb, 0x018382bc, 0x017ab214, 0x0108465e, 0x0024ed63}}, Y: Field{[10]uint32{0x0224a4e7, 0x02cfbd46, 0x01b8cf4f, 0x03618ec7, 0x038a50b8, 0x02f2a722, 0x00646c36, 0x005e135d, 0x0118c315, 0x00152fa2}}}, + {X: Field{[10]uint32{0x036fc858, 0x00c7c772, 0x0211132c, 0x02643b6a, 0x005bc868, 0x00ad0199, 0x00943ee3, 0x0191d3ff, 0x039b4fb4, 0x0028a295}}, Y: Field{[10]uint32{0x02f14670, 0x026c54e6, 0x0239646c, 0x0053ebbd, 0x036e059b, 0x03d942ad, 0x016605f0, 0x01592006, 0x01a3d562, 0x00103ba4}}}, + {X: Field{[10]uint32{0x0206ac9a, 0x0397cab5, 0x01078e8d, 0x011fe432, 0x01add7cb, 0x0143482b, 0x01f60297, 0x015582dc, 0x0109781d, 0x0003a61e}}, Y: Field{[10]uint32{0x029819d2, 0x01d3c63b, 0x00907102, 0x037ab233, 0x01c55318, 0x031786a0, 0x02a346f5, 0x036b3fff, 0x02c34c80, 0x0001c486}}}, + {X: Field{[10]uint32{0x01e1dcef, 0x02cefd18, 0x00a7d1d2, 0x02a5d7a1, 0x025c84bc, 0x00e5515b, 0x00ee62ae, 0x02035ff0, 0x011d1587, 0x000a47fc}}, Y: Field{[10]uint32{0x03ec2616, 0x000d9a94, 0x02ceec23, 0x00de4cd6, 0x0171e79e, 0x00892a51, 0x00298ce8, 0x02152d9c, 0x03e8abb6, 0x00317232}}}, + {X: Field{[10]uint32{0x01e315b4, 0x02600fbf, 0x03d824bd, 0x005ae37f, 0x01efda7d, 0x01cea84c, 0x03d9e573, 0x02d4f90a, 0x03909e28, 0x0012b6c4}}, Y: Field{[10]uint32{0x00b1456a, 0x03b37d75, 0x023eefa2, 0x00093f79, 0x0124eb70, 0x0303266c, 0x00a796e5, 0x02b9f25c, 0x0312b827, 0x0019b5fa}}}, + {X: Field{[10]uint32{0x027591ff, 0x029c0936, 0x033846b3, 0x0237902f, 0x0201707a, 0x00951807, 0x007e47b2, 0x003bf78f, 0x034b9524, 0x00157897}}, Y: Field{[10]uint32{0x00c830c2, 0x038ad6de, 0x022664b1, 0x038c8ba0, 0x03e4491a, 0x00b72e82, 0x03000b37, 0x0181b5d0, 0x017b7e98, 0x003a7c89}}}, + {X: Field{[10]uint32{0x02747eca, 0x00016c7e, 0x03ad8aa3, 0x00063084, 0x01388ddd, 0x0118e0d3, 0x03a6d8d5, 0x03f0caf9, 0x0093e41d, 0x0034939d}}, Y: Field{[10]uint32{0x00c26cac, 0x02de18d2, 0x01e93fc4, 0x028260ae, 0x026d7feb, 0x0053527c, 0x01f5bee4, 0x012c597a, 0x0216a51b, 0x0039cea0}}}, + {X: Field{[10]uint32{0x01fd8b2a, 0x03ba84d8, 0x027d9ed8, 0x01880648, 0x03caa035, 0x03b586bd, 0x03e46003, 0x0176872d, 0x02526d01, 0x0029442c}}, Y: Field{[10]uint32{0x02bea726, 0x0174bce2, 0x01adc356, 0x03ca8004, 0x01eaa2b2, 0x0031b11e, 0x02b15a28, 0x02aee98f, 0x02a09015, 0x000f6630}}}, + {X: Field{[10]uint32{0x03b314d1, 0x030ad221, 0x01f4f6b8, 0x039bf9a0, 0x008404cd, 0x029575db, 0x03ac63cc, 0x00035456, 0x00d81275, 0x00301341}}, Y: Field{[10]uint32{0x034d9d59, 0x01019eb6, 0x02e1b98c, 0x01637dff, 0x00e3cd44, 0x006f0205, 0x00db9373, 0x003aea67, 0x01779fb8, 0x0032cff3}}}, + {X: Field{[10]uint32{0x02bd0649, 0x01c3e43b, 0x0245a0df, 0x03fe9e24, 0x006b5dd2, 0x023fe9dc, 0x0051e691, 0x00cd5eea, 0x0061146c, 0x003b271f}}, Y: Field{[10]uint32{0x01186170, 0x03438f4f, 0x027a4daf, 0x0026c498, 0x03b36b07, 0x02458648, 0x028803ce, 0x01a48f01, 0x03fa10ca, 0x00268274}}}, + {X: Field{[10]uint32{0x020488cc, 0x033b5602, 0x030640ba, 0x0044b294, 0x03b25985, 0x02017952, 0x037e8403, 0x013117d2, 0x013f5d50, 0x002577d7}}, Y: Field{[10]uint32{0x00e8ecc6, 0x01ab5213, 0x00c21c7a, 0x036dd0f7, 0x0235079c, 0x00facc16, 0x03d1ef32, 0x014c16c1, 0x018589b8, 0x00290f73}}}, + {X: Field{[10]uint32{0x033a6d16, 0x00b511d8, 0x016510c7, 0x0135aec6, 0x012fc8ec, 0x0177fe52, 0x02bf50eb, 0x00314b11, 0x020c3a95, 0x002e3bb3}}, Y: Field{[10]uint32{0x01583744, 0x02c23875, 0x0384b8d0, 0x00b338fe, 0x024a4957, 0x025a68b0, 0x02c1460d, 0x02fe0ee9, 0x02a31b75, 0x001d3a50}}}, + {X: Field{[10]uint32{0x02dd09a2, 0x002fc71c, 0x000ba052, 0x01df178b, 0x00c82b2d, 0x014487a8, 0x01eac517, 0x0270894f, 0x0216d1f6, 0x001667b3}}, Y: Field{[10]uint32{0x0111bb14, 0x00f48c6a, 0x038599f7, 0x01c99908, 0x00b2fdb6, 0x035eebd2, 0x00e2e725, 0x00f43b76, 0x00c325af, 0x00012284}}}, + {X: Field{[10]uint32{0x0282ab32, 0x017f37c3, 0x023bc35a, 0x006eee93, 0x007fff71, 0x0186b360, 0x02fdfaa9, 0x0162a5b8, 0x02068d94, 0x002e2e96}}, Y: Field{[10]uint32{0x00f8ca4d, 0x0133b314, 0x007e32d4, 0x005db8ab, 0x03c2d824, 0x0134ca94, 0x00388454, 0x0160b824, 0x03227554, 0x00200d6a}}}, + {X: Field{[10]uint32{0x027e65f4, 0x017b45c8, 0x00c508c3, 0x020285c4, 0x03ae8063, 0x006c7ffc, 0x02d3d7af, 0x01e19795, 0x03e1cccd, 0x002da11a}}, Y: Field{[10]uint32{0x00bc7201, 0x039bed83, 0x0224177f, 0x03527039, 0x03361ee9, 0x0208c1d8, 0x0189f526, 0x017c2b7a, 0x00253294, 0x002ef6dc}}}, + {X: Field{[10]uint32{0x01a9d0fe, 0x0203fe03, 0x032ffc35, 0x02ce8464, 0x0120dd31, 0x0211b668, 0x0009e53f, 0x00aefbb4, 0x025e6987, 0x00287fe9}}, Y: Field{[10]uint32{0x02da215b, 0x00116c73, 0x02adadc0, 0x032c9a11, 0x0331c210, 0x022dae9b, 0x00549996, 0x00efe774, 0x0180d576, 0x002a8cb9}}}, + {X: Field{[10]uint32{0x030d0fa2, 0x03e6885c, 0x02ebeb62, 0x035b7997, 0x022ad73c, 0x0033bc22, 0x008c7078, 0x0071f7d1, 0x036d6709, 0x0026ce05}}, Y: Field{[10]uint32{0x02609207, 0x01813b53, 0x019d26fb, 0x02206412, 0x0264a459, 0x023fd665, 0x02c86bab, 0x026dfbc7, 0x0319c0fb, 0x0008b49a}}}, + {X: Field{[10]uint32{0x01fd0cd2, 0x014a104d, 0x008981fa, 0x0135f7ab, 0x020accfa, 0x036ad0fe, 0x0132553b, 0x03193eec, 0x009e209d, 0x002f0b33}}, Y: Field{[10]uint32{0x015ccfa6, 0x0160c169, 0x0134374d, 0x004dc624, 0x01350d1d, 0x021e47ef, 0x034931ba, 0x03e22c19, 0x02dc176f, 0x0011cd9a}}}, + {X: Field{[10]uint32{0x00730f6a, 0x01f735c9, 0x03aa607a, 0x00d39fe4, 0x00d45187, 0x03ef4a8c, 0x0036f514, 0x00a98974, 0x00a16545, 0x00073800}}, Y: Field{[10]uint32{0x01c6811d, 0x0018abcd, 0x02c19ee3, 0x0336dac3, 0x03fa288a, 0x038f56fc, 0x0334baf3, 0x03c3b552, 0x03fb5b90, 0x00382440}}}, + {X: Field{[10]uint32{0x01e0031f, 0x033742b7, 0x0109d63d, 0x01a13682, 0x034cc63d, 0x02718911, 0x03b26a44, 0x019303a3, 0x029a887d, 0x00211b15}}, Y: Field{[10]uint32{0x0212c07e, 0x010231be, 0x03be47df, 0x0111de61, 0x0207dcbe, 0x013fc105, 0x03acf93d, 0x027e635f, 0x0353132c, 0x0000151d}}}, + {X: Field{[10]uint32{0x00fe59e9, 0x0207a95d, 0x00b82f5c, 0x007d5321, 0x03701f7b, 0x01a1ac62, 0x00585185, 0x01b88f27, 0x00f72865, 0x0018d96a}}, Y: Field{[10]uint32{0x0316c2eb, 0x0273e9fa, 0x0023fc8d, 0x02d5fff3, 0x01be27f2, 0x027302cf, 0x0151d46c, 0x0394f2b4, 0x01fda992, 0x00231f37}}}, + {X: Field{[10]uint32{0x012939fc, 0x019fe01f, 0x0237fbd2, 0x03d66314, 0x0371dc5b, 0x017a3f45, 0x01726195, 0x00f6365e, 0x033c89ae, 0x003b5097}}, Y: Field{[10]uint32{0x01a3590b, 0x03f580a6, 0x01d74daf, 0x0341b8f0, 0x02010c98, 0x0273c53d, 0x03285fd1, 0x0280ef35, 0x03dc14f7, 0x001089aa}}}, + {X: Field{[10]uint32{0x031f00c7, 0x01b728e5, 0x03d5662a, 0x01e8ba40, 0x0285a0bd, 0x02b8c42f, 0x0267f235, 0x01fafa35, 0x006c2e1b, 0x00336949}}, Y: Field{[10]uint32{0x01247f56, 0x020922ca, 0x013f6eae, 0x03cc879b, 0x0296b2c2, 0x006293fa, 0x00534ba3, 0x026cd246, 0x0296f8ea, 0x001e47bc}}}, + {X: Field{[10]uint32{0x00eaf99e, 0x01a968fd, 0x03bc6f90, 0x0260e1be, 0x02f5017d, 0x025a8470, 0x01d3f7e5, 0x030786fb, 0x00e6ce79, 0x002d0aa1}}, Y: Field{[10]uint32{0x0007e6ac, 0x03e903b5, 0x02610823, 0x0005c2c0, 0x03cc3d06, 0x01d427f2, 0x03fad5e4, 0x00dc60db, 0x00c960bb, 0x000b9c8b}}}, + {X: Field{[10]uint32{0x030bcf90, 0x01a807ea, 0x024c16d4, 0x0342ea14, 0x01be23ca, 0x021c021d, 0x03149df5, 0x03a6f2d0, 0x008ce1e2, 0x000d62f8}}, Y: Field{[10]uint32{0x039d1308, 0x00171107, 0x01b0034f, 0x0298d922, 0x03462318, 0x01bd4446, 0x00fe0bfb, 0x02b333d9, 0x02f070ba, 0x003cf13f}}}, + {X: Field{[10]uint32{0x0016a789, 0x02784d58, 0x03ac985c, 0x03de6d0c, 0x01427d16, 0x0115c410, 0x0374bfe1, 0x0188c293, 0x035de5b3, 0x000fb590}}, Y: Field{[10]uint32{0x0041f26f, 0x0249d898, 0x02d9104b, 0x01b56a95, 0x03ee0dc5, 0x014b4f7f, 0x03e677e3, 0x010f4ad6, 0x005e1427, 0x00071cba}}}, + {X: Field{[10]uint32{0x0016c910, 0x00f67989, 0x00610c25, 0x0142e494, 0x000afb7e, 0x01c85dbd, 0x000d7e26, 0x03685965, 0x022c580d, 0x000927df}}, Y: Field{[10]uint32{0x02a9f50c, 0x01c51ece, 0x02e486dc, 0x0021e7a5, 0x021630f5, 0x037378db, 0x030f8423, 0x0245ba3d, 0x031149e9, 0x001bf058}}}, + {X: Field{[10]uint32{0x009cc85f, 0x00379bb2, 0x00d4c69f, 0x01bdbd06, 0x0114d2d7, 0x014b2fe4, 0x00f6f0b7, 0x006e8c6c, 0x0144e838, 0x0025ecec}}, Y: Field{[10]uint32{0x0188724f, 0x00111372, 0x01dc2182, 0x01827904, 0x02f72822, 0x03c77a16, 0x00492570, 0x0082d685, 0x013033b7, 0x0019f26f}}}, + {X: Field{[10]uint32{0x03395a85, 0x03bbc697, 0x01b68cfa, 0x0038e57a, 0x0380610d, 0x00491421, 0x010fcaf4, 0x00a44947, 0x019e868b, 0x000ece11}}, Y: Field{[10]uint32{0x0225ce6f, 0x02392754, 0x023a3c3e, 0x00966c5f, 0x0391ec4c, 0x01dc917a, 0x00cc9a2b, 0x01d1531e, 0x00ddbfde, 0x002f9460}}}, + {X: Field{[10]uint32{0x02163ebf, 0x03f88725, 0x017efc54, 0x03452680, 0x0074fb35, 0x0209c3f4, 0x00974f44, 0x03822a45, 0x03909f33, 0x00139bc5}}, Y: Field{[10]uint32{0x02b9fd15, 0x03341e39, 0x026a3e56, 0x02035dd3, 0x000dcd28, 0x02a69793, 0x02d34913, 0x01c5596d, 0x038f06f4, 0x0003ed95}}}, + {X: Field{[10]uint32{0x015c75de, 0x02ccb68c, 0x01a9218d, 0x02ddd586, 0x0272e301, 0x00289597, 0x025a0a67, 0x024df5d0, 0x0063e408, 0x0024506b}}, Y: Field{[10]uint32{0x006d6045, 0x024713d5, 0x007a05de, 0x037ef5e1, 0x03f10b34, 0x00aa95f6, 0x0055e721, 0x030f84f3, 0x010a56be, 0x0034d78a}}}, + {X: Field{[10]uint32{0x015ba578, 0x00b1844e, 0x01aa2e21, 0x018a23b7, 0x00337c91, 0x013f2480, 0x01c006a0, 0x009d4559, 0x03ca7205, 0x003b26dc}}, Y: Field{[10]uint32{0x00224887, 0x014043cf, 0x039051b1, 0x01d53139, 0x01ba1922, 0x031d38bc, 0x015f3ab4, 0x00b9dce3, 0x02f5c1a2, 0x000df847}}}, + {X: Field{[10]uint32{0x021caca3, 0x016e06b3, 0x00d7ef0f, 0x0022f94c, 0x01aef502, 0x03aab1b9, 0x00430b1f, 0x024a3f38, 0x00e1bb1a, 0x0015bf05}}, Y: Field{[10]uint32{0x00209001, 0x01fcc1e4, 0x01865f6d, 0x01f30e36, 0x03b05e59, 0x0203d14a, 0x03101d7a, 0x00341e7c, 0x0084f868, 0x00139698}}}, + {X: Field{[10]uint32{0x017df731, 0x00ea2699, 0x021e4d80, 0x030fc603, 0x00cf3997, 0x003c6c8b, 0x037c3627, 0x0353320a, 0x001b2ceb, 0x002bb35d}}, Y: Field{[10]uint32{0x010b8e21, 0x0315f9fe, 0x03d4d8cc, 0x005c2bff, 0x02256bd3, 0x037426ce, 0x036356e8, 0x03d27c64, 0x03336c0d, 0x0017c412}}}, + {X: Field{[10]uint32{0x01836cb8, 0x03e2f505, 0x03f0d418, 0x01c8c70f, 0x039b5c10, 0x00c27a7a, 0x0222b9a4, 0x00f54892, 0x03af54f8, 0x00145899}}, Y: Field{[10]uint32{0x03efe4fc, 0x0248261e, 0x0313d865, 0x017628f6, 0x01cc37e8, 0x02dae10e, 0x02f6fd54, 0x00b05fd3, 0x009b9e06, 0x001061ce}}}, + {X: Field{[10]uint32{0x0066fed5, 0x023d50c9, 0x007e7f25, 0x0371b84a, 0x036e7658, 0x00e0ed3f, 0x01a03687, 0x0111cfe4, 0x02bd8d3f, 0x001a2efa}}, Y: Field{[10]uint32{0x017049c4, 0x018d6b42, 0x03c27048, 0x01e9a8e0, 0x008656fc, 0x025e356c, 0x027f7ccd, 0x026d09e9, 0x000f0ac9, 0x0033d8f2}}}, + {X: Field{[10]uint32{0x007b67be, 0x036fad6c, 0x018a2b90, 0x023e4259, 0x0049ba90, 0x02d4b079, 0x01592138, 0x01fa6d47, 0x02ab6946, 0x00083388}}, Y: Field{[10]uint32{0x0297ce2d, 0x008374b7, 0x00c3e68f, 0x03c52a77, 0x0331649f, 0x026e8b05, 0x032d17e4, 0x01cfda48, 0x007d9f41, 0x00158b68}}}, + {X: Field{[10]uint32{0x02798f78, 0x00582b1b, 0x00b07d04, 0x0241ffe0, 0x029c86cd, 0x014855e1, 0x03c1ec6a, 0x027e48eb, 0x02d3a4a5, 0x002d6df5}}, Y: Field{[10]uint32{0x029d4de5, 0x03cf9e7f, 0x02dbcb8e, 0x02e96efd, 0x0045b5ea, 0x034565ed, 0x03c55af4, 0x0097b836, 0x02c97751, 0x0034178c}}}, + {X: Field{[10]uint32{0x03f45df4, 0x0130c28c, 0x03d4acdc, 0x024dac1d, 0x023967e5, 0x01d7db6e, 0x023d848f, 0x0202c577, 0x00897a42, 0x002556f5}}, Y: Field{[10]uint32{0x01453a02, 0x03e5cd0f, 0x016b2749, 0x006d12c5, 0x01644826, 0x03c97700, 0x03b9fe5b, 0x026473bc, 0x03cb5d79, 0x0012efad}}}, + {X: Field{[10]uint32{0x020a5a98, 0x0391fe19, 0x02211201, 0x0126721d, 0x0150fee8, 0x02fd4dcd, 0x0002fe18, 0x00dc3acf, 0x015198e7, 0x0027d83a}}, Y: Field{[10]uint32{0x00d613cc, 0x00b13e93, 0x00a6a3a6, 0x03a98b8a, 0x03c865a7, 0x00c87626, 0x02570f59, 0x01619a80, 0x02a933ed, 0x0018e56a}}}, + {X: Field{[10]uint32{0x00d776ee, 0x03cb5394, 0x01468999, 0x01642895, 0x009c2b64, 0x02269c40, 0x00041c75, 0x00f436f9, 0x00b6f592, 0x001c207c}}, Y: Field{[10]uint32{0x028f9fc9, 0x02a7fdd9, 0x00758403, 0x028ca231, 0x0227f3f0, 0x02fca2d2, 0x02ec9c91, 0x00067a4e, 0x0005e067, 0x00272d80}}}, + {X: Field{[10]uint32{0x0369561f, 0x02adcecc, 0x023fffb0, 0x00161f99, 0x02b607d6, 0x0358fbe6, 0x00e982ab, 0x0169f06c, 0x01800d8d, 0x00038a40}}, Y: Field{[10]uint32{0x00d924f7, 0x022345f5, 0x01f7861b, 0x006850a6, 0x01993f74, 0x002d5394, 0x00ccc7b8, 0x02692894, 0x02fe7728, 0x001189dd}}}, + {X: Field{[10]uint32{0x00598bfb, 0x031590d6, 0x035212f4, 0x037f10b2, 0x00ac254c, 0x017231ad, 0x03d5939c, 0x02f57ad8, 0x0328b285, 0x0022ba9c}}, Y: Field{[10]uint32{0x01568ec2, 0x0064be02, 0x01e228e0, 0x03ba6436, 0x0213819a, 0x03281602, 0x00a559a8, 0x0157ffad, 0x027704fc, 0x002da0b6}}}, + {X: Field{[10]uint32{0x03256e68, 0x005e418b, 0x010feb3a, 0x01e877fa, 0x0127302d, 0x01619702, 0x00fc2874, 0x012d5fa9, 0x00b254b2, 0x003a7442}}, Y: Field{[10]uint32{0x03a128d0, 0x01ee4e6a, 0x032c48f6, 0x026a9169, 0x018d0ba6, 0x02bc50d9, 0x030fc0b1, 0x0367ef9e, 0x02746d29, 0x0003ffdc}}}, + {X: Field{[10]uint32{0x01ba0fee, 0x021ae1ab, 0x009136d8, 0x00505f4a, 0x00b81f29, 0x00a79332, 0x02d49094, 0x01f985e1, 0x013d1f31, 0x0027a87e}}, Y: Field{[10]uint32{0x0180ec0a, 0x031af91a, 0x036e45d9, 0x0002e564, 0x01975a5c, 0x03f7b845, 0x023ba6aa, 0x02cd45b9, 0x0325d3b0, 0x0008c77f}}}, + {X: Field{[10]uint32{0x001e7a0d, 0x006da352, 0x000c5718, 0x00042166, 0x0080701d, 0x00fa354c, 0x00d687c4, 0x02efb81f, 0x0015e5fa, 0x003a2849}}, Y: Field{[10]uint32{0x022f62c6, 0x02886e64, 0x005dd5d6, 0x03c8b80e, 0x030ac53b, 0x021d15c9, 0x0062f185, 0x039d1a65, 0x039ce263, 0x00375a60}}}, + {X: Field{[10]uint32{0x02c3def2, 0x011bfcc1, 0x02cefb44, 0x01009d8d, 0x02ed7968, 0x03db5706, 0x002e04c7, 0x01851687, 0x03baae48, 0x0038a1fc}}, Y: Field{[10]uint32{0x01968c63, 0x02e7efe7, 0x016e0be5, 0x0239f9af, 0x005bcfbe, 0x03c85560, 0x0053baef, 0x02c3a93b, 0x013d401d, 0x0024e550}}}, + {X: Field{[10]uint32{0x02ad1194, 0x02583755, 0x03927641, 0x00c9aadd, 0x01fb23e2, 0x0053239f, 0x01756eba, 0x016ac39e, 0x039cec20, 0x0023e67d}}, Y: Field{[10]uint32{0x0019a2ea, 0x03ffe67a, 0x02de8c5d, 0x013f27c2, 0x0089cbff, 0x0226c92f, 0x021b0da3, 0x01b5b8bd, 0x03e615cc, 0x00201654}}}, + {X: Field{[10]uint32{0x0366f586, 0x00f0d0f1, 0x03e14c6b, 0x0351ebcc, 0x013adb63, 0x01687fdb, 0x00dfb59e, 0x008eb783, 0x036a8cb7, 0x002721ea}}, Y: Field{[10]uint32{0x0165bb19, 0x031ba2aa, 0x002004ed, 0x038dd61d, 0x036a3699, 0x032073fd, 0x01012cbb, 0x035e79f5, 0x01227a3b, 0x001d1e60}}}, + {X: Field{[10]uint32{0x019dc00a, 0x03b1d776, 0x03c3ec75, 0x0141f622, 0x006042bd, 0x02d44bfd, 0x02a10b7f, 0x0177902e, 0x02086f24, 0x00314b21}}, Y: Field{[10]uint32{0x02b3f844, 0x016b80d2, 0x01cc2ca0, 0x01b017ed, 0x0385e540, 0x01f50bf9, 0x00762d83, 0x02e2f672, 0x013abae8, 0x003a30a0}}}, + {X: Field{[10]uint32{0x028dafb2, 0x0138582e, 0x030ded8d, 0x03f419aa, 0x000dd7c3, 0x02f58d2b, 0x039c6b6e, 0x02f89669, 0x02e194d5, 0x0002d8a1}}, Y: Field{[10]uint32{0x019b5910, 0x00e156a2, 0x034aa18b, 0x0090a80c, 0x0027eaaf, 0x01e64549, 0x03cdf7b4, 0x03c9c1dd, 0x02a8ee0b, 0x001cbb0b}}}, + {X: Field{[10]uint32{0x03086b6d, 0x035b4d0b, 0x024ce8c5, 0x02817cee, 0x0245c648, 0x01c32a26, 0x013792e3, 0x00be2dc8, 0x02f2045f, 0x0037ded5}}, Y: Field{[10]uint32{0x0196ab4a, 0x008eb985, 0x02cb43df, 0x0335765f, 0x0139ac18, 0x000e6e5b, 0x009fc90d, 0x02f73d08, 0x01483850, 0x000e1b3b}}}, + {X: Field{[10]uint32{0x0146a3b0, 0x03341a1b, 0x0020f48e, 0x00dd9d79, 0x01459b2b, 0x0192aad6, 0x01110eda, 0x008d5cfa, 0x009f4cd4, 0x000ab3d3}}, Y: Field{[10]uint32{0x022cc579, 0x00a15f56, 0x000cff62, 0x02be5513, 0x0258b37b, 0x009487fe, 0x01ff9bbd, 0x03a60737, 0x0029aea5, 0x0017c696}}}, + {X: Field{[10]uint32{0x00d33f36, 0x02da1367, 0x03877586, 0x02b29082, 0x026a64f2, 0x00d48dcb, 0x010033db, 0x034de1c8, 0x01aaeb55, 0x002febe5}}, Y: Field{[10]uint32{0x00a3d8ee, 0x000f36ac, 0x03b0f608, 0x00b97c50, 0x0378c6ed, 0x02fe7b20, 0x02fce3eb, 0x039db8a8, 0x0313bb61, 0x001f48ae}}}, + {X: Field{[10]uint32{0x00f31421, 0x035f635d, 0x01f6a6ad, 0x02a4528a, 0x01faacb6, 0x01627329, 0x0393c9ef, 0x02a24369, 0x03604eab, 0x001e3374}}, Y: Field{[10]uint32{0x0219a634, 0x028e373a, 0x00bfd327, 0x023bebfd, 0x0376430c, 0x02d788a1, 0x030d60ef, 0x0007445a, 0x001505b8, 0x003b5fa7}}}, + {X: Field{[10]uint32{0x01213d2e, 0x010f08a3, 0x00276d98, 0x0131f2da, 0x01edb894, 0x019aa292, 0x03977135, 0x00e47f1e, 0x03a9050a, 0x003cbaf3}}, Y: Field{[10]uint32{0x00fa4eaa, 0x03d79e2c, 0x01900bb3, 0x00593cf7, 0x0309513d, 0x01a754d3, 0x03a180c5, 0x027c4f14, 0x030d956f, 0x002c71d8}}}, + {X: Field{[10]uint32{0x02af4c2b, 0x0142e746, 0x00adfca8, 0x02aba056, 0x02857593, 0x01154bab, 0x00199433, 0x032ecc33, 0x020d83bf, 0x00010f35}}, Y: Field{[10]uint32{0x007e8f62, 0x02784418, 0x0130247e, 0x00313f33, 0x01099623, 0x00926633, 0x023d6592, 0x0079ae78, 0x02b10f72, 0x003fd92e}}}, + {X: Field{[10]uint32{0x038ea93c, 0x0025c27c, 0x01315f92, 0x03ee97b0, 0x0302168d, 0x009fc4ed, 0x020c3a3b, 0x012775ef, 0x00e0c01a, 0x00106497}}, Y: Field{[10]uint32{0x00f77110, 0x03c362e5, 0x02c26c48, 0x01dbc512, 0x01a725a6, 0x02c0b66a, 0x02f49c19, 0x002b0068, 0x015ecb6a, 0x0014d1ae}}}, + {X: Field{[10]uint32{0x023877e5, 0x03b396cc, 0x03eee3e6, 0x00c9f89b, 0x000fa1c2, 0x0343b836, 0x011bb478, 0x00b60aa1, 0x02106c76, 0x003f48c4}}, Y: Field{[10]uint32{0x016fa162, 0x00bead3e, 0x0266e7eb, 0x018876cf, 0x014bf334, 0x00d3bb70, 0x03748d62, 0x03b3a2eb, 0x0316f5a6, 0x000e5d8c}}}, + {X: Field{[10]uint32{0x00556ef7, 0x01a0f63d, 0x01cb26ea, 0x012c0341, 0x03d5ad68, 0x028f4727, 0x0254a0a0, 0x02f87cda, 0x0298cb7a, 0x003f8fa2}}, Y: Field{[10]uint32{0x031223bf, 0x02503813, 0x0346c3fa, 0x01d6af81, 0x00837b44, 0x02b56992, 0x03f05f9b, 0x00198e87, 0x027734d8, 0x001f4881}}}, + {X: Field{[10]uint32{0x035ec5dd, 0x023adcd3, 0x01ab69ba, 0x02521060, 0x0338232e, 0x01c5c5f6, 0x03f9b1d2, 0x006f7130, 0x0364ae0d, 0x003980a9}}, Y: Field{[10]uint32{0x00916fdb, 0x00f9bd33, 0x03450d51, 0x03d5ed20, 0x028bc9be, 0x02dded20, 0x001f9516, 0x022c400b, 0x00aa2626, 0x002b440e}}}, + {X: Field{[10]uint32{0x0181e086, 0x02f1bfe3, 0x0364eeb0, 0x00b40d91, 0x03321814, 0x01774e46, 0x01cd9620, 0x01cb65c6, 0x01cfadb7, 0x0021c625}}, Y: Field{[10]uint32{0x0337722e, 0x0322658f, 0x029cb555, 0x03293989, 0x00dda2c9, 0x00e184d4, 0x011ef565, 0x01908675, 0x0064f791, 0x00126824}}}, + {X: Field{[10]uint32{0x03a7e4b4, 0x00e83803, 0x0107f4ab, 0x013d3052, 0x028ed4ec, 0x03ef315b, 0x014ec278, 0x01601720, 0x016e7775, 0x00388a75}}, Y: Field{[10]uint32{0x00e48af2, 0x02ae4205, 0x03ce5795, 0x026ab9ba, 0x006d4265, 0x00f3abaa, 0x017a46b6, 0x020156fb, 0x02bd66d6, 0x00336c1f}}}, + {X: Field{[10]uint32{0x00bbf8ed, 0x02a54dda, 0x01dd6ca4, 0x02be9c2b, 0x03471066, 0x034835a3, 0x00a31189, 0x0321a223, 0x03856b0c, 0x000154d7}}, Y: Field{[10]uint32{0x030ac5e8, 0x012096dd, 0x02c296ab, 0x014d3de9, 0x01f6f529, 0x030c81a8, 0x027822fa, 0x00a99e10, 0x0044245e, 0x00219572}}}, + {X: Field{[10]uint32{0x00767ad6, 0x00d7b949, 0x0130c0dd, 0x00843edc, 0x00b8c48d, 0x00f4419b, 0x000d78e0, 0x033a6b89, 0x01054b37, 0x0004195e}}, Y: Field{[10]uint32{0x03e125f5, 0x02077520, 0x02be2e8b, 0x02bf84ce, 0x004393a5, 0x000d57dc, 0x00eb013c, 0x0186400a, 0x037a508a, 0x0014a0da}}}, + {X: Field{[10]uint32{0x00868c1c, 0x02c3fce8, 0x00e4be6c, 0x00321d0a, 0x00e796db, 0x00d11dde, 0x029e311e, 0x03408e67, 0x02072521, 0x000cd9ac}}, Y: Field{[10]uint32{0x0311638c, 0x0168a350, 0x00ae3025, 0x0191d28d, 0x00ac908c, 0x026660e5, 0x032f15d3, 0x0374b29f, 0x02a422a8, 0x003b1808}}}, + {X: Field{[10]uint32{0x035953ca, 0x00c0c582, 0x03332f26, 0x01919905, 0x0291bd01, 0x027f6d07, 0x0208a1f5, 0x0391b1cd, 0x0396339b, 0x00129e24}}, Y: Field{[10]uint32{0x01b4c442, 0x008fbe79, 0x021013a1, 0x011ab86e, 0x016e6e03, 0x03ae1863, 0x01c0af84, 0x02b51602, 0x017f615a, 0x003516d9}}}, + {X: Field{[10]uint32{0x01f1302e, 0x0251f8e2, 0x030fcae9, 0x02d5eae7, 0x00d75d70, 0x037d818a, 0x00c64ad4, 0x0271ff70, 0x0084fa0a, 0x003b93c9}}, Y: Field{[10]uint32{0x01f80170, 0x03afd082, 0x003cbf81, 0x00fd1e95, 0x03409207, 0x036add28, 0x03dbd0d8, 0x037ebb7d, 0x0094d8ec, 0x0014adde}}}, + {X: Field{[10]uint32{0x01f30a1f, 0x02567f89, 0x02c0eaf9, 0x01831421, 0x039aa9b7, 0x000d7da8, 0x037fbb83, 0x0089bde4, 0x035c163f, 0x00010256}}, Y: Field{[10]uint32{0x01dff7ab, 0x011f1601, 0x025aad55, 0x00ca4c11, 0x006a15d0, 0x030167d9, 0x03145955, 0x01353ba6, 0x00ac6555, 0x00073860}}}, + {X: Field{[10]uint32{0x00436a24, 0x03318bec, 0x034943d6, 0x02734bd4, 0x037a36a5, 0x00062fee, 0x02ecd9fd, 0x02750904, 0x013b067d, 0x001a8897}}, Y: Field{[10]uint32{0x027c2701, 0x0213e67a, 0x008da6a3, 0x02f31cf1, 0x03cc698a, 0x00c0164b, 0x023c91ee, 0x038332a8, 0x023d9352, 0x000a6cf5}}}, + {X: Field{[10]uint32{0x01d36e93, 0x0343235c, 0x0057cf46, 0x015253c8, 0x02172492, 0x00fd2e78, 0x0153a89e, 0x02eeff1a, 0x0241e5f9, 0x0008fbea}}, Y: Field{[10]uint32{0x00db789d, 0x023924df, 0x0386ef21, 0x02844c56, 0x0188cea3, 0x0309a486, 0x03d70755, 0x01c68816, 0x03b17f26, 0x00332269}}}, + {X: Field{[10]uint32{0x033ae55f, 0x02b42053, 0x0066a258, 0x01afd8df, 0x02f97217, 0x028e62b8, 0x01591bd6, 0x02655d63, 0x0297f7f9, 0x0038c307}}, Y: Field{[10]uint32{0x026509e1, 0x0192c061, 0x02df311e, 0x0155a096, 0x013e8e47, 0x034a6f62, 0x01edb4d4, 0x03a497f0, 0x036c3e66, 0x00069c32}}}, + {X: Field{[10]uint32{0x0308e278, 0x0328caf7, 0x01265b57, 0x02444f23, 0x03f05aac, 0x018061da, 0x0212f534, 0x005b54ad, 0x0382acd4, 0x002f9935}}, Y: Field{[10]uint32{0x03ad7e4a, 0x01ab3561, 0x0261f946, 0x017d6887, 0x03bff8f1, 0x00f2d413, 0x03b81c87, 0x00df24a4, 0x004a43e8, 0x001e9061}}}, + {X: Field{[10]uint32{0x023822ac, 0x00930e3c, 0x0145076d, 0x02e35291, 0x0073ada0, 0x00bf7cbc, 0x032b4c28, 0x02987019, 0x02bee009, 0x0032ab00}}, Y: Field{[10]uint32{0x0216d06f, 0x03298be4, 0x008ea500, 0x013f1984, 0x0172a9a6, 0x01711579, 0x02cc3047, 0x03d3888e, 0x00bba040, 0x001f64f9}}}, + {X: Field{[10]uint32{0x0284ccb3, 0x03b079c1, 0x02860fc0, 0x030e1b43, 0x03c1ef94, 0x0385c66c, 0x009321e0, 0x03aa5248, 0x01b03a9c, 0x0036894e}}, Y: Field{[10]uint32{0x023cf9f5, 0x0172fc33, 0x01f15779, 0x01bda8cf, 0x00b1b130, 0x0019fa69, 0x03f601f8, 0x033a8bd9, 0x0387bef1, 0x003a1784}}}, + {X: Field{[10]uint32{0x019cc0ed, 0x003a4d9e, 0x00198070, 0x01eefa6d, 0x024ce4fe, 0x03673ee9, 0x03c1bd8a, 0x01492192, 0x01525c96, 0x002fcbb9}}, Y: Field{[10]uint32{0x0058f18e, 0x00c0c3d8, 0x0304f634, 0x02639d80, 0x035df423, 0x000ce408, 0x01529bc3, 0x02289284, 0x021db129, 0x0022277a}}}, + {X: Field{[10]uint32{0x03abde36, 0x0259f051, 0x0226430b, 0x00a9c829, 0x01113060, 0x0290b18d, 0x024c9ff7, 0x00d98a7f, 0x0141cb0c, 0x002cf92c}}, Y: Field{[10]uint32{0x02865657, 0x01f22a94, 0x01f56a7d, 0x02ecb906, 0x03eff979, 0x035abffa, 0x00ff83e5, 0x020a3631, 0x0118c38a, 0x003d9bdc}}}, + {X: Field{[10]uint32{0x009475a0, 0x01ee9622, 0x03e01496, 0x024d8f0c, 0x0124a255, 0x02888d92, 0x01818265, 0x00846844, 0x024ffad7, 0x001147ac}}, Y: Field{[10]uint32{0x00565bb6, 0x01506791, 0x001a21fe, 0x0316fec5, 0x034cb2f8, 0x0307ccf8, 0x01bd3211, 0x030ede69, 0x014049f6, 0x002227fe}}}, + {X: Field{[10]uint32{0x00f5984c, 0x019741ce, 0x03c53b5d, 0x02fd2f03, 0x03ea4c77, 0x012e2bcc, 0x027a0b0c, 0x011de084, 0x018a6a75, 0x000a6ad9}}, Y: Field{[10]uint32{0x03f0f2c1, 0x0380688a, 0x016d215e, 0x02aae02c, 0x02947b8b, 0x01cb69af, 0x0219f9ad, 0x01b0ec29, 0x01a9c77d, 0x002aac6f}}}, + {X: Field{[10]uint32{0x017b24db, 0x026cd04a, 0x038ac287, 0x026b1953, 0x0209d9e7, 0x0076967e, 0x03bb9c0d, 0x03089016, 0x0007d815, 0x0026d671}}, Y: Field{[10]uint32{0x0276d190, 0x006ae369, 0x0376cc76, 0x02d826c6, 0x0117bb35, 0x02eb302a, 0x0027811a, 0x0004530a, 0x018ee630, 0x00293bc1}}}, + {X: Field{[10]uint32{0x026c9fd0, 0x01939d29, 0x0220fc05, 0x01e94ab1, 0x0378e69a, 0x01b0eb1d, 0x01b970e7, 0x02e5d62e, 0x036582ae, 0x0021f49e}}, Y: Field{[10]uint32{0x03511e03, 0x0026384d, 0x00b1acd9, 0x01724c9a, 0x0004d03d, 0x03c1fd07, 0x0083e087, 0x024cdd07, 0x03ccdec2, 0x000ffcec}}}, + {X: Field{[10]uint32{0x009701dc, 0x02e9bda6, 0x00bf4d9b, 0x020edc36, 0x037fe7d3, 0x01af2e4e, 0x005a0ab3, 0x02058ef6, 0x004d3895, 0x003eecda}}, Y: Field{[10]uint32{0x03b94504, 0x02f89921, 0x014c0301, 0x0109a297, 0x01759e73, 0x00981b42, 0x01c2af7b, 0x02cef443, 0x01c6c9c5, 0x001ec1f3}}}, + {X: Field{[10]uint32{0x0314a453, 0x033de7d0, 0x034eacc7, 0x0253e549, 0x01a3ef14, 0x019b9629, 0x03cc1adc, 0x00ae7488, 0x02e4ccc4, 0x0020808a}}, Y: Field{[10]uint32{0x01d2b695, 0x03439245, 0x02a3bb5c, 0x017a6a3a, 0x003a8180, 0x02d36d14, 0x030481a9, 0x00b6841b, 0x02509ddf, 0x00309090}}}, + {X: Field{[10]uint32{0x0220f901, 0x03b2562f, 0x0001a1db, 0x01f15f42, 0x01ab4e65, 0x0247e25d, 0x02475fae, 0x032cdeef, 0x005b3b51, 0x002e9735}}, Y: Field{[10]uint32{0x0341b0a5, 0x00e807b3, 0x0016478e, 0x0062d639, 0x007f9eb7, 0x026394c9, 0x007eddd2, 0x03d638d0, 0x03c0f8b4, 0x000b8353}}}, + {X: Field{[10]uint32{0x026703fc, 0x00197622, 0x02d277cd, 0x00eb7d6d, 0x02cfadaf, 0x00f9cb88, 0x02b44445, 0x0346f9da, 0x0041b316, 0x0004a4f2}}, Y: Field{[10]uint32{0x0133c2fa, 0x01c2ab54, 0x01749286, 0x01122012, 0x002488f1, 0x01081c27, 0x004ab523, 0x012622e1, 0x033740fb, 0x00263d63}}}, + {X: Field{[10]uint32{0x035015c6, 0x02aa6237, 0x037c2c69, 0x03923610, 0x03987d77, 0x022b8db1, 0x03972dea, 0x006f6b6e, 0x03c854bf, 0x003b27ec}}, Y: Field{[10]uint32{0x01486d3f, 0x01047329, 0x00cb2a00, 0x0152ff3b, 0x00fe425d, 0x020c9583, 0x01d6b364, 0x03a5d258, 0x03fdea59, 0x00357cd6}}}, + {X: Field{[10]uint32{0x0144d244, 0x01372dc9, 0x02d62769, 0x03b1ab6b, 0x029950ea, 0x039f563d, 0x03d44662, 0x016da5b2, 0x003f4cd5, 0x000bb338}}, Y: Field{[10]uint32{0x03f68879, 0x01857990, 0x0082f0f6, 0x00ff79e4, 0x00d1bc79, 0x001f3133, 0x01403cae, 0x03dd1fab, 0x00a97f1c, 0x003853cc}}}, + {X: Field{[10]uint32{0x026fb3b2, 0x000973d5, 0x03c3d77c, 0x02beb141, 0x024c6ad5, 0x01bdbbe2, 0x025e7fa5, 0x039481e0, 0x037fa63e, 0x003b63eb}}, Y: Field{[10]uint32{0x03684a9d, 0x0011b620, 0x008f2c9b, 0x03123afe, 0x01cb0636, 0x03e8f953, 0x02f10407, 0x009cf296, 0x00b8ab21, 0x00037c48}}}, + {X: Field{[10]uint32{0x00c32e4f, 0x01e317c5, 0x023a5bc0, 0x027cf0a3, 0x030bf3fd, 0x00c3f645, 0x02b456af, 0x036afb07, 0x037b8780, 0x0011f2e3}}, Y: Field{[10]uint32{0x00aa3203, 0x00c6f4ad, 0x029af669, 0x006625e3, 0x02c5889d, 0x0087b8b7, 0x02fc948f, 0x02a9b1a2, 0x02021f16, 0x003e181e}}}, + {X: Field{[10]uint32{0x01762009, 0x0056890f, 0x025cacf2, 0x011c78e3, 0x02d49620, 0x02bf9c3a, 0x01a3ee38, 0x02acbcee, 0x02c1fdeb, 0x001d8d96}}, Y: Field{[10]uint32{0x0253aa28, 0x03146d53, 0x01c3211f, 0x00d03737, 0x025d7783, 0x01f517e9, 0x037d3a69, 0x02d803fc, 0x03728b4b, 0x000b2b2b}}}, + {X: Field{[10]uint32{0x0027b424, 0x00cc27b3, 0x00ea8a23, 0x0078461a, 0x039f0931, 0x018fb720, 0x03750550, 0x03954b84, 0x01e099b8, 0x00327757}}, Y: Field{[10]uint32{0x00f8c1a5, 0x0088daee, 0x039e4b38, 0x022ec45f, 0x0338163a, 0x02bf9f4a, 0x00f134ae, 0x017adf1a, 0x02384e61, 0x0012f534}}}, + {X: Field{[10]uint32{0x010a8961, 0x0164cb6b, 0x02a3183e, 0x02de08b8, 0x009a1e08, 0x036f2dbe, 0x01c2f96b, 0x01baf1f0, 0x03adcc40, 0x0008ada9}}, Y: Field{[10]uint32{0x020ac794, 0x007b77eb, 0x02d5e22c, 0x0389dd4d, 0x0287b553, 0x00d2bcb5, 0x02be9a95, 0x013d3f4b, 0x0095bab2, 0x0014ae18}}}, + {X: Field{[10]uint32{0x0381a158, 0x006a6da7, 0x00d24a33, 0x0012cb79, 0x0296f06c, 0x02adfdaf, 0x03017fec, 0x01f7c30d, 0x00a749fa, 0x000fba02}}, Y: Field{[10]uint32{0x0039cb4a, 0x008f0709, 0x02d0c01e, 0x015b6107, 0x016c4b13, 0x01933ff9, 0x03dc1740, 0x027b3621, 0x00ef5f1f, 0x000fa553}}}, + {X: Field{[10]uint32{0x00fa4803, 0x027088ae, 0x0048f3e4, 0x0009c10c, 0x00aa97d3, 0x0356d890, 0x0269ae44, 0x01225837, 0x00588a7a, 0x000a4e2f}}, Y: Field{[10]uint32{0x01ada03e, 0x0015340e, 0x0081865b, 0x0071672d, 0x029ea59a, 0x029ba80a, 0x034826cb, 0x00764379, 0x02619fad, 0x003c9aef}}}, + {X: Field{[10]uint32{0x01a15451, 0x025df5f8, 0x030b12c3, 0x01737dca, 0x0094962e, 0x037d0c9d, 0x03ea34f5, 0x03277932, 0x00ecda97, 0x001a0956}}, Y: Field{[10]uint32{0x01fedc6c, 0x02092bee, 0x0220f112, 0x00cd6bad, 0x028b543f, 0x023b1b31, 0x0253c4cc, 0x0004fc64, 0x036522c7, 0x003130b9}}}, + {X: Field{[10]uint32{0x02493620, 0x029a2d01, 0x03d8c08b, 0x00243dfd, 0x010cbfad, 0x007cf411, 0x036811de, 0x003695e7, 0x0068fc52, 0x001c8363}}, Y: Field{[10]uint32{0x004c9cb5, 0x01517899, 0x03a2950d, 0x030ed217, 0x0107ac26, 0x02eecc6a, 0x016fd4b8, 0x01b41813, 0x00a84f7a, 0x002e19fa}}}, + {X: Field{[10]uint32{0x00b84831, 0x01fd7afd, 0x029e02a1, 0x00beceb2, 0x01994d5d, 0x030118ea, 0x02153ec6, 0x019634d5, 0x03e71bdf, 0x00259fec}}, Y: Field{[10]uint32{0x007cc83f, 0x0180bad5, 0x03a094cf, 0x03271e21, 0x03e3cddf, 0x0326a135, 0x01d0926e, 0x0092ccbd, 0x01f88617, 0x002e1299}}}, + {X: Field{[10]uint32{0x03cedc85, 0x029063a2, 0x03d88db2, 0x0353e19c, 0x0273f6eb, 0x03bc4ee6, 0x01fc1131, 0x030f7a39, 0x025c77ec, 0x000767f4}}, Y: Field{[10]uint32{0x028035d7, 0x02b713ab, 0x030e4aa6, 0x032758af, 0x03033012, 0x00fe908c, 0x03ff58e2, 0x003ed2fe, 0x0301d972, 0x00152818}}}, + {X: Field{[10]uint32{0x01311c0a, 0x033aa27c, 0x0144a0b4, 0x027e4143, 0x017d0402, 0x00d1b8ce, 0x00dff5ff, 0x01ebcc45, 0x0158a113, 0x002004e0}}, Y: Field{[10]uint32{0x025a6b31, 0x008d2a9a, 0x01c36bdd, 0x0225f157, 0x00bc5e94, 0x028ebf9c, 0x01cc712d, 0x02b06309, 0x0076e6d6, 0x0005bd26}}}, + {X: Field{[10]uint32{0x03ef632f, 0x00de4cf0, 0x00c55c6c, 0x006088aa, 0x0233aa34, 0x0041f7c8, 0x020906b3, 0x0161138e, 0x002177fa, 0x0002aad0}}, Y: Field{[10]uint32{0x0201b092, 0x0139780c, 0x03d2f703, 0x00e669fe, 0x019a0620, 0x028225c4, 0x02d58767, 0x0373b4e0, 0x008f3ad0, 0x0026e0c8}}}, + {X: Field{[10]uint32{0x03a72f10, 0x004bc4c3, 0x00fe1d36, 0x00dc52ef, 0x003c5232, 0x00052f98, 0x02f1e3b3, 0x03d19367, 0x014c7670, 0x0023cff4}}, Y: Field{[10]uint32{0x0205c68e, 0x01b022d0, 0x030a4b54, 0x03d75c70, 0x02862ef6, 0x032181b9, 0x03a593a5, 0x02e07eef, 0x00947901, 0x002132dc}}}, + {X: Field{[10]uint32{0x021f4933, 0x0254fb52, 0x00d88e49, 0x000cc32e, 0x00df69a9, 0x00e5e7b2, 0x034578a3, 0x0301bfab, 0x011caba3, 0x000eea72}}, Y: Field{[10]uint32{0x026f99cc, 0x03b91ede, 0x0072f582, 0x016ed248, 0x03fdcff6, 0x01646efb, 0x00107990, 0x0188c7a1, 0x034c3eb6, 0x001c1229}}}, + {X: Field{[10]uint32{0x00f36a7c, 0x026a72b7, 0x006455f2, 0x0070a618, 0x017344c2, 0x027db2d8, 0x01524682, 0x02c38354, 0x03d289da, 0x000be30d}}, Y: Field{[10]uint32{0x03508396, 0x01d3503a, 0x00201d2f, 0x024dea0d, 0x014223d0, 0x0271e659, 0x02f145e6, 0x01c43afe, 0x024e9d02, 0x000dfc2d}}}, + {X: Field{[10]uint32{0x02dce846, 0x0310329d, 0x012d300e, 0x00a33b6f, 0x0273fc61, 0x02995bf2, 0x03f60500, 0x02749ee1, 0x03a2c920, 0x001179ba}}, Y: Field{[10]uint32{0x035f16ec, 0x018b24ef, 0x02d908a0, 0x015d399a, 0x02813867, 0x03b88960, 0x0091a635, 0x020aef47, 0x0144ba18, 0x0028f8a3}}}, + {X: Field{[10]uint32{0x01767ee9, 0x03ee2c7f, 0x023cc605, 0x026e62b4, 0x0182ea7d, 0x03a10b67, 0x027143ff, 0x03348d11, 0x03d380a0, 0x00297b34}}, Y: Field{[10]uint32{0x0311353f, 0x029b8a53, 0x03b959be, 0x00cc3459, 0x02c9ab6c, 0x0140573c, 0x0331fe5b, 0x0109a4fe, 0x00238ea8, 0x0008bc4a}}}, + {X: Field{[10]uint32{0x0174be83, 0x00ffe400, 0x034a2c94, 0x02a7fd80, 0x0051eb66, 0x0060dd3a, 0x03698213, 0x00ec3510, 0x0271c466, 0x003dfd16}}, Y: Field{[10]uint32{0x0346fce5, 0x030290d6, 0x021498ac, 0x01b3d4be, 0x017fbdf4, 0x01a8ca07, 0x013d6e3e, 0x025fd503, 0x03cd4ec1, 0x000e858c}}}, + {X: Field{[10]uint32{0x007cb59c, 0x02c9d2d2, 0x00832a94, 0x020a957b, 0x0252bf6c, 0x015c5f50, 0x0303b7de, 0x01385d6b, 0x02866b31, 0x00249608}}, Y: Field{[10]uint32{0x02811f68, 0x03c149d2, 0x004a0369, 0x00b377eb, 0x03d6c2f5, 0x01256ef1, 0x02346700, 0x00277194, 0x01847368, 0x003f23a5}}}, + {X: Field{[10]uint32{0x02556da4, 0x01db3043, 0x027b5a7f, 0x03c53754, 0x011d7849, 0x02b9be9d, 0x017fa966, 0x034028bd, 0x00d32303, 0x003057fa}}, Y: Field{[10]uint32{0x01c10951, 0x03ec4260, 0x00d067b5, 0x01ab8ba7, 0x03e017c0, 0x00334d22, 0x03c445c5, 0x037fc699, 0x03d04685, 0x000d890a}}}, + {X: Field{[10]uint32{0x022b5355, 0x013d8331, 0x03e5ca46, 0x00d9f5ca, 0x0004dd71, 0x01c2fc35, 0x00372df2, 0x029838c4, 0x0026152a, 0x000127be}}, Y: Field{[10]uint32{0x00c4c645, 0x01f4b2c8, 0x02165d9c, 0x00bad597, 0x024e369d, 0x01ea4f85, 0x01c572c7, 0x01202e68, 0x03a20dc4, 0x001f2b52}}}, + {X: Field{[10]uint32{0x0091a18f, 0x02b848a7, 0x006a3be4, 0x0077b59a, 0x03629b2f, 0x018c4cf8, 0x02c876e1, 0x03e53f84, 0x01e7538f, 0x00323782}}, Y: Field{[10]uint32{0x017c2635, 0x02d891da, 0x03e885ea, 0x003c69db, 0x029cecb1, 0x01825958, 0x031e872d, 0x02228417, 0x031fe580, 0x002d69fc}}}, + {X: Field{[10]uint32{0x02abb344, 0x007ffae5, 0x00576946, 0x0067bdd9, 0x016b3d51, 0x026bc92a, 0x03a6cd3d, 0x010ebc75, 0x03a4616f, 0x00361ae7}}, Y: Field{[10]uint32{0x0003bcab, 0x01c3867c, 0x02539fb5, 0x01cb8e4b, 0x0056df6f, 0x01a72e3a, 0x001b6606, 0x006d2652, 0x028e8f93, 0x0008e233}}}, + {X: Field{[10]uint32{0x00cbbf88, 0x00eb9bc0, 0x0055a743, 0x02793cfb, 0x0187c496, 0x003f8c10, 0x027b7193, 0x038ac4fe, 0x0218f351, 0x0028b35d}}, Y: Field{[10]uint32{0x0119d685, 0x034dae17, 0x0324aa8d, 0x034e8258, 0x0229870c, 0x00c430d8, 0x015711ab, 0x00d8ec51, 0x0062436a, 0x000f82d7}}}, + {X: Field{[10]uint32{0x0100b2ca, 0x010b33c8, 0x02b87ab4, 0x00efb4be, 0x02ad6c21, 0x00e6d55d, 0x036e4f6b, 0x0128f5e0, 0x00d4e33e, 0x002dca0f}}, Y: Field{[10]uint32{0x02abc9ea, 0x00c5cfa3, 0x008fc273, 0x019c0109, 0x03090833, 0x0097aacf, 0x021e7e30, 0x008c1c60, 0x02fb111c, 0x00246001}}}, + {X: Field{[10]uint32{0x00b9a769, 0x02903d92, 0x00d9a0cd, 0x0151bbf3, 0x01d12e18, 0x0328c4d9, 0x01b123b9, 0x02ea34d5, 0x012e9707, 0x002c7f4b}}, Y: Field{[10]uint32{0x035e674e, 0x027bd2d1, 0x0294b58c, 0x00f58b6b, 0x021a40cf, 0x00a062ff, 0x004d2226, 0x01577bd8, 0x00168e8f, 0x00230df3}}}, + {X: Field{[10]uint32{0x0339f90f, 0x034ae0b2, 0x0262e7c0, 0x031ce574, 0x02cf6077, 0x0216d69b, 0x034be328, 0x03a17832, 0x03e74242, 0x0006c265}}, Y: Field{[10]uint32{0x037760b3, 0x01a48eda, 0x03183fa3, 0x00493052, 0x02f30fae, 0x00ef3e33, 0x00c2d2ef, 0x00762bb6, 0x00d427cd, 0x00156d36}}}, + {X: Field{[10]uint32{0x018d78d6, 0x01541976, 0x03e698e0, 0x02e06ff5, 0x034f1dc9, 0x03b86eec, 0x02362588, 0x0324977a, 0x03bc094a, 0x0015bfee}}, Y: Field{[10]uint32{0x00edc65f, 0x029c6636, 0x022089f8, 0x02dee00d, 0x02a517fc, 0x02fc716e, 0x02f3d235, 0x00af6c82, 0x008f46d7, 0x002a9cc8}}}, + {X: Field{[10]uint32{0x02d7045e, 0x00f8364e, 0x00685353, 0x02459c8a, 0x00e39081, 0x0049847a, 0x026cd368, 0x01fe70d0, 0x02b07ddb, 0x0030497e}}, Y: Field{[10]uint32{0x0377e5ae, 0x034c3c66, 0x024b68cc, 0x03d137d1, 0x031f235e, 0x00b07763, 0x003f1189, 0x01952bdb, 0x003f622f, 0x000a019c}}}, + {X: Field{[10]uint32{0x027f4a17, 0x014508ff, 0x0130148a, 0x03efc967, 0x02dbab85, 0x0207a02b, 0x01fa6fee, 0x031d0a2c, 0x01dbe4e0, 0x0039fb7a}}, Y: Field{[10]uint32{0x033fc066, 0x01695b34, 0x021d9e63, 0x016f0b6e, 0x02e23692, 0x039fd434, 0x00d32e65, 0x0173eb20, 0x037a9fbc, 0x0024eac9}}}, + {X: Field{[10]uint32{0x03df93f3, 0x02545668, 0x01cc8aa3, 0x00a3122c, 0x03a47c16, 0x0214fe59, 0x00c3da9d, 0x01af311c, 0x0363f1bd, 0x001d1c05}}, Y: Field{[10]uint32{0x018ac8ee, 0x01bb5557, 0x029d8a4b, 0x01eca3b5, 0x02bd2223, 0x001551ee, 0x0393dd5f, 0x0043ccdc, 0x011c7c55, 0x002acb00}}}, + {X: Field{[10]uint32{0x039081b8, 0x02403579, 0x0257689c, 0x00717195, 0x020a6554, 0x00de138c, 0x01ffb8d8, 0x03dc7f9b, 0x039755ba, 0x0002349f}}, Y: Field{[10]uint32{0x02c250ad, 0x02184946, 0x01386e55, 0x0032dfcc, 0x03f308f9, 0x0354889f, 0x021f837b, 0x0258052b, 0x0268f3c8, 0x0029c5db}}}, + {X: Field{[10]uint32{0x00cc7ea9, 0x01e633ab, 0x028c10f5, 0x00063a60, 0x0071b0db, 0x02b0976e, 0x000a0ff1, 0x02d4c7ab, 0x02fe9040, 0x0018f81a}}, Y: Field{[10]uint32{0x00910aa5, 0x003001fd, 0x0213e930, 0x0112ca9a, 0x010c9112, 0x00126bb5, 0x028fcf99, 0x03822dac, 0x0084a9db, 0x002aa846}}}, + {X: Field{[10]uint32{0x004ed50f, 0x0256251d, 0x004b5dde, 0x030a2082, 0x036bf8ba, 0x00f92c6a, 0x01617d02, 0x002acd0b, 0x01ae27d6, 0x00371fa8}}, Y: Field{[10]uint32{0x002f3dfa, 0x000a4705, 0x0140e48a, 0x029b8445, 0x03b63efb, 0x01d52968, 0x03e97fc0, 0x0317feef, 0x036e2b95, 0x0024f1f5}}}, + {X: Field{[10]uint32{0x02e842d7, 0x00ef46fd, 0x02253221, 0x00e6ee5d, 0x0136e402, 0x02d6baa6, 0x03dfb691, 0x03bd28f5, 0x036df69c, 0x003cebbb}}, Y: Field{[10]uint32{0x0208de5d, 0x0343d188, 0x001151fb, 0x023bd24f, 0x0272e562, 0x032c7a2b, 0x03bde031, 0x01c00be1, 0x01da339c, 0x0015f4df}}}, + {X: Field{[10]uint32{0x02bec3ce, 0x0286b29d, 0x01b67816, 0x03eca3da, 0x02ae87da, 0x00f5c9cb, 0x005d0812, 0x0193a837, 0x004c316e, 0x002096f6}}, Y: Field{[10]uint32{0x00a52251, 0x032846d0, 0x00f1dc28, 0x01925d96, 0x00849a25, 0x018be1fc, 0x03e3f69d, 0x01c2a1a8, 0x03fdba83, 0x001878e9}}}, + {X: Field{[10]uint32{0x0056a75d, 0x03bae4ce, 0x03ba7f5a, 0x02e543b0, 0x010edb63, 0x03a509a8, 0x02988cd8, 0x014dc274, 0x00d74dec, 0x000c428b}}, Y: Field{[10]uint32{0x03122c97, 0x00ee07c5, 0x00228ffa, 0x03b8f863, 0x03e3ff1e, 0x02bb0943, 0x02b4ab3a, 0x0395fdfc, 0x02aedfa5, 0x00175b61}}}, + {X: Field{[10]uint32{0x03425217, 0x0160b006, 0x024d85af, 0x02e25dfb, 0x0369f04d, 0x026edb0f, 0x02355aef, 0x004b43e0, 0x007562a5, 0x000d1c75}}, Y: Field{[10]uint32{0x039cba31, 0x00e67af6, 0x00358aed, 0x02a51410, 0x01ccd444, 0x000ded09, 0x006d68c5, 0x02da7afe, 0x02702fe0, 0x0009cb77}}}, + {X: Field{[10]uint32{0x00257a2f, 0x01a01f93, 0x0138d808, 0x03ac3a8d, 0x00aaeee4, 0x020a6bb2, 0x022b3df6, 0x02bc9082, 0x0163bfaf, 0x002fdb49}}, Y: Field{[10]uint32{0x000b496d, 0x003b8ac1, 0x03ff1a92, 0x03113079, 0x003a2738, 0x0155d1ae, 0x03847ef7, 0x0125ad93, 0x02007e7b, 0x003a01de}}}, + {X: Field{[10]uint32{0x039cddc4, 0x03b5094a, 0x023fbbdb, 0x0194c9c8, 0x02d6f4d4, 0x03361db9, 0x03ce42a3, 0x03dc614b, 0x03c4a883, 0x003accf3}}, Y: Field{[10]uint32{0x02e5453f, 0x02b69287, 0x028d2a7d, 0x00df8977, 0x03eaab91, 0x01f7a1be, 0x00f03ad2, 0x022f6641, 0x00f2ef60, 0x0026f500}}}, + {X: Field{[10]uint32{0x00c2279f, 0x002475bb, 0x0108f082, 0x00f68363, 0x016b123d, 0x037a5591, 0x0383edf7, 0x03cc67ec, 0x00d03e5d, 0x0004c5f8}}, Y: Field{[10]uint32{0x03675afd, 0x0348a48c, 0x03b252a9, 0x025fab2e, 0x01dcae42, 0x001a951c, 0x0122b607, 0x02755ac3, 0x024d5c6f, 0x000efd90}}}, + {X: Field{[10]uint32{0x009aeb56, 0x02f38d0c, 0x03456c99, 0x039099ee, 0x007e00f8, 0x01501bcc, 0x022cf5dc, 0x010fafac, 0x032e99dc, 0x00206c27}}, Y: Field{[10]uint32{0x03361932, 0x02006028, 0x03d7c495, 0x01bfafc5, 0x011dbc5f, 0x00b8cc72, 0x035b1df9, 0x03bab10b, 0x02a4b300, 0x00275215}}}, + {X: Field{[10]uint32{0x015a62f2, 0x02199121, 0x01f7e98b, 0x00c8348f, 0x03ed436d, 0x03d3a8cd, 0x02626bae, 0x03fc65c8, 0x01670a32, 0x00037ba9}}, Y: Field{[10]uint32{0x01032414, 0x019b50e7, 0x005a6dfe, 0x03bda79e, 0x014a8310, 0x00305e4b, 0x0157ab34, 0x005ff821, 0x0297c61a, 0x00172449}}}, + {X: Field{[10]uint32{0x003444e5, 0x03713a39, 0x02755ef3, 0x02c73ba1, 0x0296ae44, 0x01ea46e7, 0x00e02ffa, 0x0345cf9a, 0x00835746, 0x003392b4}}, Y: Field{[10]uint32{0x0303aa7d, 0x001bd89f, 0x02a20d34, 0x006bfc70, 0x00df7cc8, 0x01517fa1, 0x013e2891, 0x023532d5, 0x03890523, 0x002fa1b2}}}, + {X: Field{[10]uint32{0x030b077e, 0x0339ffd4, 0x004f6fbb, 0x0131f606, 0x032e3638, 0x02281c57, 0x0119a324, 0x006bdb93, 0x023d407f, 0x0026a64f}}, Y: Field{[10]uint32{0x001a7a7e, 0x03baf04c, 0x034e2481, 0x0077150f, 0x023f8700, 0x01b65bfe, 0x027bd6fe, 0x019fba66, 0x012d80a2, 0x00392869}}}, + {X: Field{[10]uint32{0x039bd0d8, 0x00d844be, 0x03ccc06b, 0x03bd16ab, 0x039247c7, 0x0099ea98, 0x017ae6a1, 0x0017205c, 0x032d7c7f, 0x0007c437}}, Y: Field{[10]uint32{0x00760410, 0x01e0ec16, 0x029affdc, 0x010c9f30, 0x03e45ad6, 0x0259fa6b, 0x0283b0ec, 0x036de4c9, 0x025b71e2, 0x0019c2c9}}}, + {X: Field{[10]uint32{0x02621b53, 0x0355c461, 0x00a5a0ba, 0x03fe7645, 0x02d57d1d, 0x0329dd77, 0x0317633d, 0x008239f6, 0x025729c9, 0x001c33ac}}, Y: Field{[10]uint32{0x01df0c62, 0x0307b0d2, 0x0164ace7, 0x00941fa7, 0x0200ee98, 0x01b475d6, 0x0211c0ec, 0x01157f37, 0x0291b3f3, 0x001b805b}}}, + {X: Field{[10]uint32{0x00694e3e, 0x024fdf9d, 0x032fd466, 0x0312b3a7, 0x00043fb6, 0x02841818, 0x03b79210, 0x020bec37, 0x01e64dc8, 0x002e91b9}}, Y: Field{[10]uint32{0x01789acc, 0x010b221f, 0x009cb0f3, 0x02cf7a81, 0x025868d0, 0x0276310d, 0x0208e060, 0x0207fe28, 0x02b90793, 0x003abad3}}}, + {X: Field{[10]uint32{0x03c30d81, 0x0034e200, 0x037a9e32, 0x01538123, 0x02a631d1, 0x00f5d5e7, 0x0179beaf, 0x02b48390, 0x02dfd233, 0x002ee8ee}}, Y: Field{[10]uint32{0x021b961d, 0x03e400d7, 0x011e8ed3, 0x039a3229, 0x0202bdfc, 0x01d95a4f, 0x03a0af4e, 0x01131cc5, 0x030d69dd, 0x003ca9f1}}}, + {X: Field{[10]uint32{0x02d3f8a5, 0x01d4298d, 0x01283d93, 0x007ce396, 0x02057d49, 0x010782bc, 0x0258f1bf, 0x02e9a05f, 0x0369d300, 0x001b7da9}}, Y: Field{[10]uint32{0x033a4a6f, 0x0268db69, 0x02819dad, 0x024a67c4, 0x01ebf0f4, 0x0337ed36, 0x02d1f31c, 0x031dcbb3, 0x03b3aa51, 0x0018e820}}}, + {X: Field{[10]uint32{0x03174f2c, 0x02970529, 0x022361ad, 0x014c74bf, 0x034fab19, 0x024e945c, 0x00c7ea87, 0x026a60a5, 0x031a4b8c, 0x002bff44}}, Y: Field{[10]uint32{0x0011be6d, 0x00a59c4d, 0x01708734, 0x0072cc81, 0x03342689, 0x022a5e23, 0x02ed3225, 0x00da60ff, 0x00d9ec4a, 0x00130f79}}}, + {X: Field{[10]uint32{0x030abc7e, 0x028914ce, 0x016ee2f0, 0x031af086, 0x01d42cca, 0x031f1c23, 0x01ba5464, 0x02c62867, 0x00499e54, 0x000b68c4}}, Y: Field{[10]uint32{0x032db974, 0x001527c8, 0x03e7c0bb, 0x028fded1, 0x02426981, 0x00713414, 0x0109d445, 0x027e2d5b, 0x009120ad, 0x003cd52b}}}, + {X: Field{[10]uint32{0x02e57b61, 0x01f433e4, 0x03f2b2dc, 0x0007bb24, 0x0323cdd2, 0x036d30c7, 0x01381ace, 0x03e0aba3, 0x0053cbe3, 0x000e20bb}}, Y: Field{[10]uint32{0x037e6e3a, 0x020328bb, 0x03c786cd, 0x014cbec2, 0x0271a43d, 0x009d0191, 0x02b0046b, 0x02ff3124, 0x015de5a7, 0x00074d0c}}}, + {X: Field{[10]uint32{0x0387f9f1, 0x026ed21c, 0x00b28d55, 0x01d4a997, 0x03468259, 0x03a7ad78, 0x03c8e4e8, 0x02ac98e6, 0x02356a08, 0x003f2ae1}}, Y: Field{[10]uint32{0x00fceb94, 0x02c81532, 0x03f540d7, 0x023413bd, 0x02bef2b3, 0x034d5c2b, 0x0166753a, 0x001f395d, 0x00c0d08f, 0x002bd020}}}, + {X: Field{[10]uint32{0x0136bb58, 0x02275d67, 0x00ebe5dd, 0x00468552, 0x02847bf0, 0x01d5032a, 0x01dcd5a5, 0x01f84a8a, 0x00bb8a89, 0x003f4d2e}}, Y: Field{[10]uint32{0x0110b2f3, 0x00d465de, 0x0255b762, 0x00ef4356, 0x00d19b60, 0x008c41b9, 0x0127eaa7, 0x03e5cd5e, 0x02ac6a56, 0x0014699a}}}, + {X: Field{[10]uint32{0x03d4b469, 0x03663961, 0x002fa808, 0x01826776, 0x031d3b46, 0x01f1f605, 0x007a1678, 0x016fc1db, 0x0120c0d8, 0x0007a26f}}, Y: Field{[10]uint32{0x00fe882a, 0x03218a4f, 0x01353eaf, 0x0243ef13, 0x03dcf115, 0x01d3cc48, 0x02dae475, 0x021d80f7, 0x01d0e576, 0x0013d4ea}}}, + {X: Field{[10]uint32{0x03aa05ed, 0x00ea55de, 0x0048f5fb, 0x02795231, 0x01ddca45, 0x03beeaea, 0x017d93ea, 0x026b3b23, 0x03ba6690, 0x002287a9}}, Y: Field{[10]uint32{0x037be091, 0x030133e2, 0x00f99e09, 0x033e2ba5, 0x01ea1f1f, 0x0140600c, 0x037655b2, 0x00de90e7, 0x01e9064f, 0x00356016}}}, + {X: Field{[10]uint32{0x011331a1, 0x03ddb587, 0x032cbd7f, 0x00302d55, 0x00e4451f, 0x03ca586c, 0x0086549a, 0x02649a5a, 0x000d80d5, 0x003830de}}, Y: Field{[10]uint32{0x0145491d, 0x013da392, 0x02551114, 0x02baefb6, 0x03d827dd, 0x008c39ec, 0x03e6f1e5, 0x00ec7f0b, 0x02e6a13c, 0x00267674}}}, + {X: Field{[10]uint32{0x03996035, 0x032303a0, 0x0260ef7c, 0x0373fc83, 0x008e7e1b, 0x036ab786, 0x03ed36c5, 0x02b0485b, 0x00e6ed23, 0x002590d5}}, Y: Field{[10]uint32{0x0028998a, 0x02f4c98d, 0x03529aa8, 0x0234f18c, 0x027e6a40, 0x039bc188, 0x02531984, 0x031ba1c8, 0x009a8563, 0x003dd228}}}, + {X: Field{[10]uint32{0x02fe3f9b, 0x036f0f06, 0x014a1ab1, 0x00556150, 0x038bd094, 0x01a61871, 0x02eab869, 0x03218bf1, 0x03295125, 0x00260279}}, Y: Field{[10]uint32{0x007b9fd7, 0x01afd8e6, 0x0005efd4, 0x02250cbf, 0x00ab0fc0, 0x03f21296, 0x03909f86, 0x0155a20c, 0x0228bbf5, 0x003614d8}}}, + {X: Field{[10]uint32{0x0301ed17, 0x03b31303, 0x03b34abb, 0x01cf6852, 0x011d8d71, 0x00097f1f, 0x0183bf94, 0x013108a3, 0x0102305e, 0x000657d3}}, Y: Field{[10]uint32{0x009d637f, 0x02e1d99f, 0x0221a726, 0x0174ea23, 0x03ce1384, 0x00f2d119, 0x00152e02, 0x02e7341a, 0x00b497ae, 0x00255f6e}}}, + {X: Field{[10]uint32{0x014e0b37, 0x011286a1, 0x036c0f2c, 0x039a06e0, 0x02b0203f, 0x0009243a, 0x023f726d, 0x01f8d3be, 0x02ba3eb1, 0x00158baa}}, Y: Field{[10]uint32{0x0152b1e8, 0x015a9be1, 0x02da59db, 0x02935ecc, 0x0397093b, 0x003bd094, 0x03a35a77, 0x012010b4, 0x00ed9e66, 0x002d3996}}}, + {X: Field{[10]uint32{0x01ec8282, 0x027ca383, 0x01a288d7, 0x00b0292c, 0x03de3a60, 0x00c0bcd3, 0x00579693, 0x02405203, 0x01eb1efa, 0x002128b1}}, Y: Field{[10]uint32{0x02207cf1, 0x018acd91, 0x02023bdf, 0x00fd7c36, 0x00c70331, 0x0372b110, 0x03261dba, 0x03bb6161, 0x01c788cf, 0x001c0354}}}, + {X: Field{[10]uint32{0x0272f913, 0x00025ccd, 0x007fb8ba, 0x02b5df53, 0x00b93e2b, 0x031b52e1, 0x00e73406, 0x0245a2c5, 0x03cf0dbd, 0x0020f44b}}, Y: Field{[10]uint32{0x03279a7b, 0x02d44c79, 0x018ee523, 0x03f61848, 0x013c0dd6, 0x020b3a73, 0x03c78b36, 0x00cb3eeb, 0x0226bf25, 0x0039215b}}}, + {X: Field{[10]uint32{0x015451cf, 0x0001a3b7, 0x03701dfb, 0x008a7b52, 0x00ce64d5, 0x03d190fe, 0x03e73bf9, 0x00c8383e, 0x02f2bbd9, 0x00266229}}, Y: Field{[10]uint32{0x02882d5b, 0x02877462, 0x01910ed5, 0x0070aafa, 0x000d2f43, 0x024be269, 0x0244e4d8, 0x00994342, 0x02fcbd3b, 0x002eecd4}}}, + {X: Field{[10]uint32{0x03ff0724, 0x0202842b, 0x00b5160f, 0x0130aa9c, 0x0183017d, 0x028845ac, 0x0321d1e2, 0x00571ccd, 0x003dcfa6, 0x000fa486}}, Y: Field{[10]uint32{0x002dc945, 0x0202ce45, 0x03d7f226, 0x0029d395, 0x0276a2f3, 0x029cfcf4, 0x01fe5453, 0x02f98bc3, 0x0251f4bc, 0x0031e220}}}, + {X: Field{[10]uint32{0x0239492f, 0x018f5b20, 0x0044de77, 0x02617a96, 0x01e5f85b, 0x02cd89d7, 0x03130faf, 0x03f8e932, 0x0300fa1e, 0x003645d4}}, Y: Field{[10]uint32{0x03678b4b, 0x0199c0a6, 0x03521c55, 0x036217ba, 0x00fbad38, 0x00596aff, 0x0236220d, 0x00a83366, 0x0065e959, 0x001644e3}}}, + {X: Field{[10]uint32{0x02d933dc, 0x01044a4d, 0x01068b47, 0x02e1ea57, 0x03ed74c5, 0x01d9b99d, 0x017f7b47, 0x02fb9974, 0x025f7c12, 0x001bfd60}}, Y: Field{[10]uint32{0x038c0edf, 0x0200920d, 0x0038131f, 0x02a10334, 0x002ea9ac, 0x034ae360, 0x004be0a4, 0x025d2c8c, 0x01de0cb7, 0x001986ba}}}, + {X: Field{[10]uint32{0x00b1c31d, 0x03ac4594, 0x035ab15c, 0x01aeeba1, 0x03956036, 0x030093de, 0x027d580a, 0x004190c1, 0x02b1a876, 0x003b5b2f}}, Y: Field{[10]uint32{0x0217dede, 0x01f59aa1, 0x03f4519a, 0x01dbc675, 0x011269c4, 0x000ba040, 0x024d60f7, 0x02270595, 0x007ed1e8, 0x0024501a}}}, + {X: Field{[10]uint32{0x03d69164, 0x02f812a2, 0x03ca443a, 0x01b8e190, 0x000853bf, 0x02c4c88c, 0x016b56ee, 0x016a8c42, 0x00eb32d7, 0x0017e333}}, Y: Field{[10]uint32{0x0195da3a, 0x0396df9e, 0x02d456bd, 0x03c08734, 0x024f6576, 0x013d60d2, 0x02ac0fac, 0x0077352d, 0x023dd0c8, 0x000d7dca}}}, + {X: Field{[10]uint32{0x002d0b7b, 0x029b88e6, 0x02f7c479, 0x018bc056, 0x0186580d, 0x03b599d4, 0x02896c67, 0x00e5dd48, 0x00859bb2, 0x00207808}}, Y: Field{[10]uint32{0x03fbb669, 0x036f1933, 0x019601eb, 0x00e38abe, 0x02fce84a, 0x017558ac, 0x02ddc088, 0x03c9bed0, 0x029e4159, 0x0021e47e}}}, + {X: Field{[10]uint32{0x01d8f721, 0x0109c4a5, 0x005f141d, 0x03a1eb2a, 0x003eb435, 0x018eeb72, 0x03aba7ad, 0x01709a6d, 0x0316dd1e, 0x0037889a}}, Y: Field{[10]uint32{0x02c8423a, 0x01591c06, 0x0120d841, 0x01a90d37, 0x03342841, 0x038cf644, 0x007dc03d, 0x039cb0fe, 0x0399fa2c, 0x0018b878}}}, + {X: Field{[10]uint32{0x03d140f3, 0x0282f765, 0x012b1d13, 0x02549f2f, 0x00fa7629, 0x03dffc59, 0x0058be59, 0x00ca57f4, 0x03423fcd, 0x0018291b}}, Y: Field{[10]uint32{0x037f1219, 0x034dc3b7, 0x02c8e0f4, 0x015332ff, 0x01912cb8, 0x0280f2ad, 0x02bc31e1, 0x02785f91, 0x02de7b78, 0x00255c74}}}, + {X: Field{[10]uint32{0x032249c0, 0x0227f2f0, 0x027f5ce0, 0x0164fd0a, 0x0080d7e7, 0x028318d9, 0x013a77ab, 0x02f647ef, 0x005ce1b4, 0x001bfbd1}}, Y: Field{[10]uint32{0x00fa347d, 0x00b17a7d, 0x01a919a9, 0x0361f532, 0x03f82e73, 0x01605e5b, 0x020cae2e, 0x036e0e6b, 0x00fbaf46, 0x000457ef}}}, + {X: Field{[10]uint32{0x0293522f, 0x01713f90, 0x02a30914, 0x01705120, 0x03a9892b, 0x03b7af95, 0x025f7c26, 0x03e54e8f, 0x011ca8d2, 0x001b4dfd}}, Y: Field{[10]uint32{0x015309af, 0x019fbba7, 0x03dda0a9, 0x016ea212, 0x00cbefae, 0x00ee4382, 0x026897cd, 0x02b52c37, 0x01f36718, 0x001e3944}}}, + {X: Field{[10]uint32{0x03d46098, 0x02c0d440, 0x02ceaa76, 0x0157f9d2, 0x02738aa1, 0x0376fa65, 0x01cb035e, 0x01c07d72, 0x00275bd0, 0x000302b2}}, Y: Field{[10]uint32{0x00e3cd97, 0x020c807e, 0x026b7c3e, 0x00c5a996, 0x0031d762, 0x003389a9, 0x01684906, 0x029c21aa, 0x022a188f, 0x0039fcca}}}, + {X: Field{[10]uint32{0x00cde108, 0x00481814, 0x02b935d0, 0x02352c95, 0x01822a64, 0x017ebd29, 0x00507df8, 0x01408c7f, 0x03a86f89, 0x00240036}}, Y: Field{[10]uint32{0x014ef3fd, 0x0360f2d9, 0x00ff1779, 0x0008bd63, 0x00323319, 0x03d32c0f, 0x018383c2, 0x03a7a2ef, 0x003694b2, 0x0026deba}}}, + {X: Field{[10]uint32{0x029098a1, 0x02ba35a5, 0x01d9a28a, 0x029d18f8, 0x01ad58de, 0x01b0a8b8, 0x02092532, 0x02f23cd9, 0x03f4b490, 0x003c4426}}, Y: Field{[10]uint32{0x012f24c5, 0x00014257, 0x030224a8, 0x030b0c96, 0x006e3382, 0x032305fb, 0x02305141, 0x00b04200, 0x02279fd7, 0x0021d0c6}}}, + {X: Field{[10]uint32{0x028c0003, 0x0372155b, 0x018b00d1, 0x02353db8, 0x03929adc, 0x01b587e0, 0x00aac8b3, 0x031bc231, 0x01e54e9c, 0x00137a1c}}, Y: Field{[10]uint32{0x00d3bba6, 0x021fc1dc, 0x029c7f01, 0x01c3a68f, 0x00805f4b, 0x027785af, 0x01d7fce1, 0x03a29b1d, 0x03cfca98, 0x00009747}}}, + {X: Field{[10]uint32{0x02766ece, 0x0004f618, 0x01c80b66, 0x019ff633, 0x008f47b4, 0x01384004, 0x02e89ff9, 0x00aefce9, 0x02759297, 0x00288f2d}}, Y: Field{[10]uint32{0x03cf548c, 0x016bae51, 0x01dc7cae, 0x0337f5fa, 0x03cbca18, 0x01f48eab, 0x02811267, 0x0308f685, 0x0384ed05, 0x002371c2}}}, + {X: Field{[10]uint32{0x004244e5, 0x00385256, 0x0032bbb4, 0x00e296df, 0x0179d3c9, 0x039c0f31, 0x03a9dd3b, 0x023e2e46, 0x00cce96d, 0x0000a574}}, Y: Field{[10]uint32{0x0303c926, 0x00fdfb8a, 0x02c95265, 0x02304ace, 0x02745e07, 0x014e2b97, 0x030fe376, 0x0352fdab, 0x0206a16b, 0x0029b516}}}, + {X: Field{[10]uint32{0x02babbce, 0x0009517b, 0x008af9e1, 0x0337bf49, 0x016cb40b, 0x03ef45da, 0x00b13d51, 0x01da9b50, 0x03919d53, 0x001f1a0e}}, Y: Field{[10]uint32{0x01fd3f73, 0x02c6b6ab, 0x02e39332, 0x0169f08e, 0x02197d4e, 0x0367c558, 0x03ed30b8, 0x0215bd6d, 0x01d03608, 0x000f6832}}}, + {X: Field{[10]uint32{0x000c3189, 0x039fbe07, 0x001ecdf5, 0x027b2a7d, 0x038505f3, 0x0388bb08, 0x020e21ff, 0x00926a57, 0x012ed27e, 0x000c3dd4}}, Y: Field{[10]uint32{0x00875169, 0x010790b9, 0x00164fad, 0x01fd5ba2, 0x039e4e7f, 0x02d1cc65, 0x01286514, 0x00e8e856, 0x005e25ea, 0x000bd7f6}}}, + {X: Field{[10]uint32{0x03514961, 0x03d69d8b, 0x00835431, 0x00bed244, 0x031c7f84, 0x02358c52, 0x00a41c77, 0x013c9cc9, 0x038c9658, 0x0024ddef}}, Y: Field{[10]uint32{0x01f3df42, 0x03f5b4da, 0x00ad4335, 0x00b4ea27, 0x003cfa89, 0x03b60c34, 0x017fe92a, 0x036cab9f, 0x0055e2ed, 0x00356673}}}, + {X: Field{[10]uint32{0x0131e9be, 0x0307555b, 0x00ca240a, 0x01e1affd, 0x0328a66e, 0x03e0f153, 0x03530b85, 0x001256e8, 0x03e867f2, 0x000d627f}}, Y: Field{[10]uint32{0x01224c89, 0x02a49d1b, 0x0385b581, 0x019e3f74, 0x00d75b3a, 0x03c4cf71, 0x01c22a89, 0x02278482, 0x02aa9830, 0x0026208b}}}, + {X: Field{[10]uint32{0x023f8935, 0x036e2e3a, 0x03f85999, 0x01e84754, 0x012c79e7, 0x03f31905, 0x00e0f841, 0x03713396, 0x01f4b2da, 0x000e706c}}, Y: Field{[10]uint32{0x00256721, 0x026aa135, 0x0131e628, 0x010985b3, 0x0350bb8a, 0x03fe76a0, 0x036991de, 0x00ce2590, 0x031ad9df, 0x0039e149}}}, + {X: Field{[10]uint32{0x0325be33, 0x03bb7b62, 0x0372cad5, 0x0368914e, 0x00b103f9, 0x02d84639, 0x00799188, 0x00b0b666, 0x0059d3d6, 0x00373c45}}, Y: Field{[10]uint32{0x03a1c074, 0x00f31cbc, 0x017b330a, 0x0323eb9f, 0x02a190f6, 0x031f7771, 0x01a92fe7, 0x01c398d1, 0x001aaf32, 0x003700e3}}}, + {X: Field{[10]uint32{0x02623d1d, 0x018d6cc1, 0x038f0eed, 0x0179bac8, 0x00a32ff0, 0x02f60143, 0x00d82e55, 0x02c304fd, 0x01dd1de9, 0x0018524a}}, Y: Field{[10]uint32{0x00d8a24b, 0x02a9d7b1, 0x02a6ae0e, 0x010c6b2f, 0x02afafdc, 0x020603fd, 0x0118e3be, 0x03c5ee86, 0x0117c9e7, 0x0002bfa1}}}, + {X: Field{[10]uint32{0x00ce743c, 0x006c2ea7, 0x00296a7c, 0x027ed66a, 0x03ef8160, 0x03b22b6f, 0x005da355, 0x036a5029, 0x0228cff6, 0x003d29c8}}, Y: Field{[10]uint32{0x019cdacb, 0x02a069b8, 0x01e50a25, 0x0094f328, 0x032fbcd0, 0x015a71af, 0x01e90f10, 0x016ab827, 0x00fbde09, 0x00151480}}}, + {X: Field{[10]uint32{0x022c93f7, 0x03f94903, 0x01a650b5, 0x0133f23f, 0x0357aa16, 0x00dc6e50, 0x0262fbf5, 0x01565d1b, 0x02736caa, 0x0018f310}}, Y: Field{[10]uint32{0x02ce5665, 0x011f1142, 0x004fe09b, 0x0139143c, 0x01e7d822, 0x012c20a2, 0x02d2bd30, 0x0104eb5a, 0x035bc5a6, 0x0007e93b}}}, + {X: Field{[10]uint32{0x02ab8889, 0x012f8ae3, 0x002016b8, 0x022659e3, 0x00aa7f9d, 0x00d172c1, 0x02cf761f, 0x00e29834, 0x02281184, 0x002b05d4}}, Y: Field{[10]uint32{0x024af2b1, 0x016a60aa, 0x03396343, 0x02266684, 0x00832f29, 0x03ddd97c, 0x02b01b68, 0x00f6b09e, 0x00ae2964, 0x00375f7e}}}, + {X: Field{[10]uint32{0x024a0e48, 0x01e205a7, 0x02c03dd6, 0x008bcde1, 0x03823e86, 0x00bbead6, 0x00a5a2f7, 0x0106d831, 0x02b9637c, 0x00276ed7}}, Y: Field{[10]uint32{0x03d924d7, 0x00e353ad, 0x025cd1ba, 0x001e2718, 0x0205aa01, 0x021466a8, 0x01cde34b, 0x03587d0b, 0x02ba13f4, 0x0001dcb5}}}, + {X: Field{[10]uint32{0x02f7dddc, 0x015cc70f, 0x02fb173d, 0x0266e30c, 0x004e88f5, 0x01683622, 0x015b5866, 0x0304d440, 0x01ddd2fc, 0x001c5c25}}, Y: Field{[10]uint32{0x024fa5af, 0x03f7ed1f, 0x0020e581, 0x01b74638, 0x03472732, 0x031ed902, 0x023da3f3, 0x01c2f3ec, 0x010952b4, 0x0007783c}}}, + {X: Field{[10]uint32{0x025872ca, 0x026a5909, 0x03b2a331, 0x01a0b336, 0x01a32c4a, 0x00535ba7, 0x01e3964c, 0x02c7a900, 0x00d3f829, 0x0016b08c}}, Y: Field{[10]uint32{0x01c026ea, 0x0373ebb2, 0x02e8151b, 0x0360c85e, 0x03423484, 0x00c67290, 0x0206a16e, 0x03d9af17, 0x03a627db, 0x003eb0f0}}}, + {X: Field{[10]uint32{0x038752ef, 0x01f3dd87, 0x00100857, 0x02854446, 0x01382496, 0x00b9d387, 0x0057537b, 0x03d05785, 0x02af0a39, 0x00349fb2}}, Y: Field{[10]uint32{0x01c6c037, 0x037e92dc, 0x03ae35dc, 0x0213eb38, 0x00d5938e, 0x010486da, 0x03d8eb60, 0x02bcc438, 0x036746cb, 0x003f1202}}}, + {X: Field{[10]uint32{0x02ac6cda, 0x007882fc, 0x00d6477f, 0x0064e822, 0x01703af6, 0x03eb6a31, 0x0387d539, 0x0266df13, 0x03ddf92d, 0x003821dd}}, Y: Field{[10]uint32{0x01ccfee9, 0x0169404a, 0x00070db0, 0x039fb6f7, 0x001202c4, 0x03384357, 0x016ecc53, 0x0062c93a, 0x008ac6cb, 0x0009693e}}}, + {X: Field{[10]uint32{0x019ba6ed, 0x0284601a, 0x00776753, 0x039a2015, 0x0363bbe3, 0x0225aae5, 0x02a6a138, 0x01603ef6, 0x02b7afe9, 0x00116b9e}}, Y: Field{[10]uint32{0x0156f322, 0x01b9aa28, 0x00ff16c4, 0x01f83fbf, 0x02502f79, 0x0365bd0f, 0x00d440e3, 0x0381b934, 0x03ed127f, 0x003706bd}}}, + {X: Field{[10]uint32{0x00d00590, 0x0387793d, 0x00045327, 0x00516007, 0x026ae265, 0x01a2d30b, 0x00f509a7, 0x00114ecf, 0x033b71c5, 0x003f4a32}}, Y: Field{[10]uint32{0x00e5a7b6, 0x01994617, 0x02159c26, 0x00ac95fd, 0x013298a2, 0x005d3388, 0x01081f08, 0x033d12a9, 0x03954867, 0x002c1a13}}}, + {X: Field{[10]uint32{0x001d850d, 0x02cc9807, 0x01d7a158, 0x0181d9c7, 0x03956816, 0x00ee7ee9, 0x015e4e22, 0x0127c286, 0x000dac6f, 0x003c89bc}}, Y: Field{[10]uint32{0x0109ef86, 0x01c6d968, 0x0150f10f, 0x0228da45, 0x01d823a0, 0x00661bfa, 0x0230e53a, 0x028e2ad1, 0x004f6925, 0x00341757}}}, + {X: Field{[10]uint32{0x020337a3, 0x0113a41d, 0x0340ff0e, 0x03b23271, 0x00a994e1, 0x02cc0e3e, 0x00e23a72, 0x0212021f, 0x0213a80d, 0x000f3185}}, Y: Field{[10]uint32{0x013c3956, 0x036ef6b3, 0x033f5a11, 0x00794a85, 0x0090377f, 0x0256ac04, 0x0221f09f, 0x00ebda50, 0x016a2409, 0x00211d3e}}}, + {X: Field{[10]uint32{0x0260e736, 0x036b3833, 0x02223e5c, 0x03572579, 0x02633e7e, 0x03d5f5a1, 0x03be2331, 0x025c4af4, 0x01898cd9, 0x001c87b3}}, Y: Field{[10]uint32{0x00ffd69f, 0x02b064a8, 0x028ad532, 0x0284bdd9, 0x0221dc34, 0x03b18cf1, 0x009450bf, 0x01f2b928, 0x00d86fc0, 0x000c74a5}}}, + {X: Field{[10]uint32{0x032eff38, 0x03f3fe8a, 0x03aa2db0, 0x00b03fea, 0x00d5b106, 0x03963ea3, 0x01862715, 0x0366c6c9, 0x02581144, 0x00372eb2}}, Y: Field{[10]uint32{0x01ec7d34, 0x00ec95c8, 0x00689e6d, 0x03986bce, 0x00708b53, 0x038b185d, 0x02fbdca5, 0x01b3fe43, 0x021d339f, 0x00273dd8}}}, + {X: Field{[10]uint32{0x01db8b92, 0x007ccdc5, 0x03878342, 0x02654a39, 0x02b9300b, 0x031e895b, 0x00919382, 0x03b0af39, 0x0293e649, 0x003b4c53}}, Y: Field{[10]uint32{0x00744a11, 0x01f772d8, 0x0318bc83, 0x01238f7e, 0x0153ea03, 0x007c5519, 0x0122355e, 0x03fbcb8a, 0x02af0229, 0x001c2a06}}}, + {X: Field{[10]uint32{0x01c036ee, 0x00dae30a, 0x01c09854, 0x02d8010a, 0x005f5c7e, 0x017d96ba, 0x02977689, 0x02f23466, 0x03cc7a59, 0x001af466}}, Y: Field{[10]uint32{0x00999090, 0x0109cd41, 0x0332c0bc, 0x039de2d5, 0x0131803c, 0x010d5171, 0x03ea28f8, 0x015a06f6, 0x01e3f4f6, 0x00144d1b}}}, + {X: Field{[10]uint32{0x003d9acf, 0x01f1ac75, 0x03e15577, 0x0101eb62, 0x03ebe9d6, 0x02f8222f, 0x00228bb5, 0x037ecd81, 0x02156ac8, 0x00267b47}}, Y: Field{[10]uint32{0x01d2c922, 0x024430c2, 0x03c61e19, 0x02683d11, 0x0169f57e, 0x01c90dab, 0x02a0ac04, 0x01332a03, 0x01a4478b, 0x001d6c56}}}, + {X: Field{[10]uint32{0x02452045, 0x03821dec, 0x0171cc7f, 0x030e30d8, 0x000f00c3, 0x000c0e5c, 0x02dd90fb, 0x0377c212, 0x038c793a, 0x000f859b}}, Y: Field{[10]uint32{0x015bbd59, 0x0086aa07, 0x038da019, 0x0209ee52, 0x019f07e3, 0x0269b31b, 0x0330f6fb, 0x00a997b0, 0x0263b0cd, 0x00245966}}}, + {X: Field{[10]uint32{0x036df936, 0x01567345, 0x03656cf8, 0x00c82107, 0x01a1b1a4, 0x01027427, 0x00d1b168, 0x017ce2fe, 0x02d9a3a9, 0x003f06ea}}, Y: Field{[10]uint32{0x008af43d, 0x0158fc68, 0x0263884a, 0x024486db, 0x02e0b4d7, 0x020ad6d3, 0x005f2489, 0x02e27541, 0x03bdb013, 0x000c7de9}}}, + {X: Field{[10]uint32{0x037ff340, 0x02a0673f, 0x0125a5a5, 0x010d3a72, 0x003bd318, 0x00ce1a21, 0x003c8795, 0x007b2b24, 0x013d4b37, 0x00202ceb}}, Y: Field{[10]uint32{0x012af178, 0x039336dc, 0x02bfdf20, 0x00a1cd1e, 0x010108ae, 0x0197eb1a, 0x03ed7d3b, 0x01b61319, 0x00bdaac9, 0x003ec72a}}}, + {X: Field{[10]uint32{0x00616af2, 0x0330b91a, 0x03422073, 0x012535c9, 0x0002a87d, 0x023bdeab, 0x02c6c364, 0x03dc9f5d, 0x01ab2901, 0x002eb419}}, Y: Field{[10]uint32{0x030a37ed, 0x00ca71d1, 0x01d92236, 0x00d04fc5, 0x02fa925a, 0x02ae8a5c, 0x01d69a2e, 0x03bab536, 0x010216b5, 0x002ba75e}}}, + {X: Field{[10]uint32{0x029b8fe7, 0x010d7e44, 0x03ca9bce, 0x023dfa06, 0x01a2fb75, 0x0321e079, 0x01beb99c, 0x00329a65, 0x02d90d70, 0x00347c11}}, Y: Field{[10]uint32{0x0111a4df, 0x00d16818, 0x01017fca, 0x0029195d, 0x033090fc, 0x0110cc50, 0x03167188, 0x0056bcd1, 0x025d7eb8, 0x0009d3b7}}}, + {X: Field{[10]uint32{0x03f0a22f, 0x02811e8c, 0x03ea1751, 0x01851ce9, 0x0299df17, 0x00a6a83d, 0x01ea798d, 0x02a02963, 0x0355e3dc, 0x0036d4d7}}, Y: Field{[10]uint32{0x0353ff6b, 0x014a2b56, 0x037cced3, 0x03591de8, 0x00e61b86, 0x039ea3c4, 0x013df837, 0x00ef2846, 0x015d931a, 0x0039f600}}}, + {X: Field{[10]uint32{0x00a42a80, 0x039a4703, 0x01d5082a, 0x03945933, 0x008635b7, 0x02693c61, 0x00b1a5db, 0x03c3ebe6, 0x0206a56e, 0x0036876e}}, Y: Field{[10]uint32{0x0210c9ff, 0x0238c4a8, 0x01508d92, 0x0196c85e, 0x008807e2, 0x0172d058, 0x00066210, 0x00c6f2ba, 0x003ca695, 0x0021aa0e}}}, + {X: Field{[10]uint32{0x01aa42e7, 0x03b0a282, 0x008aeff5, 0x01de6cd6, 0x033b176b, 0x01ed509d, 0x014f29ff, 0x0019b1f7, 0x02b4d980, 0x00099f09}}, Y: Field{[10]uint32{0x0027161d, 0x03c82d42, 0x0034142f, 0x0231fe8c, 0x01d58465, 0x0364f6aa, 0x02300531, 0x03ac9574, 0x003ff4e5, 0x000ce430}}}, + {X: Field{[10]uint32{0x01cbea0a, 0x0120fff0, 0x0027d4f3, 0x00a7fb97, 0x025561fd, 0x0021246a, 0x00c79152, 0x03e5541c, 0x03524e6f, 0x0020092b}}, Y: Field{[10]uint32{0x02dd86b0, 0x0075f2ec, 0x00a16dff, 0x01c5cd17, 0x03df7a8a, 0x00279dbf, 0x0078fc06, 0x01c9ac20, 0x00d0498f, 0x0032779e}}}, + {X: Field{[10]uint32{0x0208f661, 0x014d1158, 0x002d2779, 0x025501a2, 0x00dc3dc1, 0x01c73c00, 0x030d7dd3, 0x02d0801f, 0x0268c7be, 0x00047fda}}, Y: Field{[10]uint32{0x03b4092c, 0x0306f029, 0x03dbd658, 0x02ea5e9f, 0x03916b75, 0x007df8ee, 0x03cac25c, 0x0206d479, 0x00252547, 0x002d4f77}}}, + {X: Field{[10]uint32{0x02e3c929, 0x02309fcd, 0x011f6aa8, 0x025ac01d, 0x02b70d65, 0x016a660a, 0x0232d7a6, 0x02080ce6, 0x0083f9a6, 0x00158a84}}, Y: Field{[10]uint32{0x01e05b51, 0x0112b2ec, 0x03364557, 0x01854248, 0x0166ec20, 0x0042b5d0, 0x00e7d255, 0x02022e54, 0x007f0908, 0x0028e03b}}}, + {X: Field{[10]uint32{0x0341c413, 0x0020b8b4, 0x037af68d, 0x029533c1, 0x030e097f, 0x03bd915c, 0x02a75987, 0x0035a4ed, 0x00fd327c, 0x0013bf9c}}, Y: Field{[10]uint32{0x00ce3dc7, 0x02afbcb2, 0x0098a4a1, 0x0118233b, 0x00b110a3, 0x03b476c4, 0x028befc3, 0x02d8b766, 0x039b92e0, 0x0004351e}}}, + {X: Field{[10]uint32{0x03a51f20, 0x03027008, 0x0034ff9a, 0x0260b34c, 0x03354abd, 0x00780709, 0x028576c9, 0x00a2c2f7, 0x030cd7f1, 0x0013592f}}, Y: Field{[10]uint32{0x00a5e28f, 0x030cb97a, 0x00d6eb9d, 0x013cf532, 0x03da3c52, 0x0136f0b9, 0x03bf38e1, 0x037feb79, 0x001af57f, 0x0005679d}}}, + {X: Field{[10]uint32{0x00a187bf, 0x03cc2cc0, 0x0243bc48, 0x02b0dcab, 0x03466de2, 0x03bb3be8, 0x02f0064c, 0x01e35acf, 0x034aff32, 0x00269058}}, Y: Field{[10]uint32{0x02aeae2a, 0x01faa801, 0x03c3cad2, 0x00c3d014, 0x02f409e5, 0x01591262, 0x007a1936, 0x01df3e11, 0x020faebb, 0x0003bbfb}}}, + {X: Field{[10]uint32{0x0102418b, 0x0137b4a4, 0x014cf4fc, 0x03f39e09, 0x002c85cf, 0x039719dd, 0x02fec2d2, 0x03782023, 0x00fb9a6b, 0x00038601}}, Y: Field{[10]uint32{0x02fcdda7, 0x01aacd1f, 0x01e7bfa5, 0x030c60f3, 0x02447e93, 0x00e9996b, 0x03e81c9b, 0x0192e70b, 0x01eb9c16, 0x003a72ac}}}, + {X: Field{[10]uint32{0x00593212, 0x018bc6d9, 0x03b411eb, 0x03c097e7, 0x00717611, 0x03fd134b, 0x021705ad, 0x01ec2be0, 0x0344c024, 0x0002980d}}, Y: Field{[10]uint32{0x02603b61, 0x0066ee32, 0x01d9ce5c, 0x0056a5ae, 0x026dcdb0, 0x021c4ee6, 0x035c0a2f, 0x01d8e10c, 0x032b706a, 0x002083f4}}}, + {X: Field{[10]uint32{0x015f20b0, 0x01882812, 0x036cb66a, 0x02ceab89, 0x01a1108a, 0x03258193, 0x0172a2fe, 0x004a60d2, 0x01b6895b, 0x0029bc76}}, Y: Field{[10]uint32{0x01c8273c, 0x027550db, 0x0288029c, 0x03be0e81, 0x037f55d7, 0x0219e70f, 0x03f5ea81, 0x020e518f, 0x00d0df03, 0x0026a577}}}, + {X: Field{[10]uint32{0x01ac5c48, 0x02bc49b3, 0x0041893b, 0x03cef5d3, 0x02f09f30, 0x01b88850, 0x00f920ab, 0x00ad8f80, 0x00320782, 0x0012b145}}, Y: Field{[10]uint32{0x00f43885, 0x012f0c68, 0x02a6ad7e, 0x031dc83d, 0x027ff037, 0x025156ef, 0x03da161f, 0x01291917, 0x014877e9, 0x002afd74}}}, + {X: Field{[10]uint32{0x03fb7a9b, 0x02efdebd, 0x004752da, 0x00dccd81, 0x0248af6e, 0x02cce508, 0x02c588e1, 0x03ab9633, 0x015ba16e, 0x00168b3d}}, Y: Field{[10]uint32{0x029322e2, 0x00001039, 0x01c4fe0c, 0x007dc58f, 0x01a45f8c, 0x03795688, 0x005aeca5, 0x01cb353f, 0x022d32ff, 0x0023c9ef}}}, + {X: Field{[10]uint32{0x03011c99, 0x00acf636, 0x0388f023, 0x00f8c32c, 0x02a87605, 0x01bff13a, 0x0012b27f, 0x0307d810, 0x03e8ef48, 0x00385bc8}}, Y: Field{[10]uint32{0x00c56000, 0x030e43ee, 0x017990e8, 0x03a84d0a, 0x0247ffe3, 0x02f69853, 0x015bb977, 0x0297036a, 0x0152b0af, 0x000657ff}}}, + {X: Field{[10]uint32{0x0124fb84, 0x02f458e1, 0x0145ac1b, 0x00ebfe5a, 0x0228923a, 0x03761ba4, 0x01e4263c, 0x027dc543, 0x00d7ac10, 0x00194d9f}}, Y: Field{[10]uint32{0x0347d731, 0x020d2945, 0x006b68a7, 0x02541a02, 0x00a7687c, 0x03ad3fa3, 0x009b170b, 0x01f75934, 0x01bafbe6, 0x00033c2e}}}, + {X: Field{[10]uint32{0x03d6eac2, 0x03bcd99a, 0x00d54a5c, 0x02723a55, 0x0389da48, 0x01b75991, 0x004228bd, 0x00ee35e9, 0x000b3944, 0x00042a21}}, Y: Field{[10]uint32{0x0261eff2, 0x01f80d31, 0x00a60798, 0x01571384, 0x03d8cc40, 0x03dfeb44, 0x01163ace, 0x01637861, 0x036ee4aa, 0x001ffdbd}}}, + {X: Field{[10]uint32{0x0245d6a0, 0x02c4c9d4, 0x000e1528, 0x03aa46ba, 0x027b1db5, 0x0315dfc5, 0x039d0380, 0x020809ae, 0x00a6c01b, 0x000ffbfa}}, Y: Field{[10]uint32{0x03637b5e, 0x01630e8e, 0x02350ecd, 0x01e9f27f, 0x03a95975, 0x0275a3bf, 0x00a0b543, 0x00512915, 0x01a937e6, 0x002a5b7d}}}, + {X: Field{[10]uint32{0x00052b61, 0x02b68871, 0x00c626c3, 0x03575861, 0x0058595f, 0x01759534, 0x03fb908f, 0x018ba5af, 0x037c0e41, 0x003be4f5}}, Y: Field{[10]uint32{0x03cd0bf5, 0x03efd03c, 0x0066b953, 0x007db35d, 0x01e53526, 0x011745a7, 0x01a23a86, 0x025f1fd6, 0x0385c18d, 0x00100222}}}, + {X: Field{[10]uint32{0x00ca4872, 0x01ef60ac, 0x01d40d62, 0x0335466f, 0x009224a2, 0x025c6df1, 0x01edbd84, 0x0240f521, 0x035eb0fa, 0x003c5e27}}, Y: Field{[10]uint32{0x031a9da8, 0x000587e9, 0x028d0583, 0x0016b6aa, 0x019e36a9, 0x01ec7d28, 0x03570f47, 0x0115fa8b, 0x00b65456, 0x00132117}}}, + {X: Field{[10]uint32{0x009b3274, 0x03313533, 0x004bfff3, 0x02422a1c, 0x00641938, 0x0353907c, 0x000d15ba, 0x017b4083, 0x0388ebc7, 0x00342ec5}}, Y: Field{[10]uint32{0x022a7641, 0x02aeffc8, 0x022fd8f7, 0x0091137d, 0x0143ac55, 0x00199992, 0x02877963, 0x009fd239, 0x00a895a3, 0x000e8483}}}, + {X: Field{[10]uint32{0x00e8963a, 0x0337df37, 0x0005a3fa, 0x0186bae6, 0x022f05e4, 0x00844350, 0x02aab317, 0x01eb9935, 0x010cf780, 0x000592b0}}, Y: Field{[10]uint32{0x02549b69, 0x037166fa, 0x032093f9, 0x0098c07c, 0x009b6dca, 0x0127e63f, 0x01d6f858, 0x037642ec, 0x03d440f1, 0x002373d0}}}, + {X: Field{[10]uint32{0x001fbe5f, 0x01b1e0a5, 0x02e40987, 0x00a5ce68, 0x00cd3aca, 0x00a527c3, 0x017dcf89, 0x0038eae1, 0x0165a8e4, 0x003c48b6}}, Y: Field{[10]uint32{0x02447371, 0x03409a36, 0x02257f50, 0x01cb4863, 0x00715043, 0x02d9c2fb, 0x02192d0b, 0x02260de2, 0x039dd9e6, 0x00136652}}}, + {X: Field{[10]uint32{0x008870a8, 0x0050e939, 0x03829662, 0x008605b9, 0x01b975fc, 0x015e07c2, 0x02e2cdbf, 0x02a4a86b, 0x014775e5, 0x002b25c5}}, Y: Field{[10]uint32{0x03c9aa71, 0x010f1c50, 0x03edef89, 0x0373e2ef, 0x0253fff7, 0x01e3725e, 0x03679452, 0x005d0a59, 0x0203795b, 0x000927ed}}}, + {X: Field{[10]uint32{0x01330906, 0x0312174b, 0x03fbdd48, 0x01b8512c, 0x02fb0add, 0x03a721c3, 0x013da811, 0x03f73243, 0x011edfd5, 0x002567b2}}, Y: Field{[10]uint32{0x0257ebdc, 0x02428898, 0x024b9aed, 0x01d4a91c, 0x0229f489, 0x014d617f, 0x01b5ebc6, 0x031d86d8, 0x0128b707, 0x000797b0}}}, + {X: Field{[10]uint32{0x02982859, 0x02ea4f87, 0x028b7c59, 0x02348ed7, 0x003c6abd, 0x01b7827c, 0x03b2d157, 0x0208c915, 0x01d8ed7d, 0x001641e5}}, Y: Field{[10]uint32{0x00576708, 0x014a4b4d, 0x003c0683, 0x008ea760, 0x01a09cb1, 0x011ead0b, 0x0216490a, 0x02210583, 0x02861a3c, 0x0017b74a}}}, + {X: Field{[10]uint32{0x03e0ba9e, 0x005373a8, 0x02555897, 0x02d6fc6e, 0x0348fdb4, 0x032b4541, 0x02178535, 0x00916fb6, 0x03987439, 0x00314dca}}, Y: Field{[10]uint32{0x00bca987, 0x02266c58, 0x035a022e, 0x010e2d92, 0x00767afc, 0x01ada713, 0x01536a54, 0x036e300d, 0x03617159, 0x003e0b42}}}, + {X: Field{[10]uint32{0x035bd38a, 0x013e5b38, 0x01ee1653, 0x00a1f72f, 0x00101611, 0x00c3c9b1, 0x00d20166, 0x032f4fb2, 0x01fcae39, 0x003cf656}}, Y: Field{[10]uint32{0x009b3562, 0x00f3c5eb, 0x016ce160, 0x000fb42b, 0x03da586a, 0x03918051, 0x03e2f97f, 0x009e0cbf, 0x001f8760, 0x00387957}}}, + {X: Field{[10]uint32{0x037fad9e, 0x033b0b94, 0x02cf8dd5, 0x010fe2a4, 0x0103a280, 0x0226c193, 0x023d9604, 0x038de0af, 0x036ebe3c, 0x00248af1}}, Y: Field{[10]uint32{0x01122109, 0x0302657d, 0x02b54352, 0x016f440c, 0x00116fbf, 0x006a5486, 0x00b9ea75, 0x03bf688c, 0x03572508, 0x002cc667}}}, + {X: Field{[10]uint32{0x01f0360d, 0x00e1cd36, 0x00a1299a, 0x02236ebf, 0x022c461d, 0x001c2b32, 0x02b1df08, 0x00b255e6, 0x01407a6d, 0x001171f7}}, Y: Field{[10]uint32{0x03e85ac4, 0x01349799, 0x00e73264, 0x029a983a, 0x02d076eb, 0x03765bd2, 0x03c4e044, 0x01a7b5b0, 0x015b5f24, 0x000e85e1}}}, + {X: Field{[10]uint32{0x0159bacb, 0x038b49ae, 0x00d5b33e, 0x02787c24, 0x00f1af5c, 0x01104705, 0x0189a5b7, 0x02c028f7, 0x0198dfd4, 0x001908b6}}, Y: Field{[10]uint32{0x037a3bb7, 0x03df6240, 0x03a09cdb, 0x01f1c0ee, 0x03376f59, 0x01dbd6cf, 0x018cea22, 0x0062864f, 0x03344912, 0x00388d63}}}, + {X: Field{[10]uint32{0x00b0535c, 0x03320b31, 0x01a6f535, 0x033c14d9, 0x0295b1a3, 0x00afdb07, 0x00640f19, 0x01b45469, 0x02143319, 0x00238120}}, Y: Field{[10]uint32{0x017c34ce, 0x023bd43a, 0x00e65b63, 0x02562ea5, 0x00200121, 0x017d56a8, 0x0282ee53, 0x00b1567c, 0x033a1f65, 0x0035b4b5}}}, + {X: Field{[10]uint32{0x024a79bb, 0x001c27f9, 0x002c4a1c, 0x003c0575, 0x02b8a708, 0x0049184f, 0x025a9e17, 0x00bc3e28, 0x01a8b5eb, 0x00168acf}}, Y: Field{[10]uint32{0x0386e6b7, 0x01fc622f, 0x00cd4422, 0x0209ae09, 0x01a6435a, 0x03be7629, 0x0095f8e6, 0x02abf9b7, 0x011deb54, 0x00181f1e}}}, + {X: Field{[10]uint32{0x02cd7ccf, 0x034b573d, 0x0213e1a0, 0x0000f377, 0x01c5296e, 0x0082afd2, 0x00f3d912, 0x005299d4, 0x03a35cf6, 0x00050d61}}, Y: Field{[10]uint32{0x02a653d7, 0x00bcb7e1, 0x0201b662, 0x01f0ba0c, 0x0315f14c, 0x011b0d02, 0x021af490, 0x03162d26, 0x01fade6c, 0x00126f21}}}, + {X: Field{[10]uint32{0x00a93193, 0x006f8677, 0x031a3ac8, 0x01f3fc97, 0x01ba357b, 0x03276141, 0x032c4bc8, 0x031d330e, 0x00428737, 0x003c0203}}, Y: Field{[10]uint32{0x023951f1, 0x00970e52, 0x00f0b5cf, 0x0364b289, 0x001c6a5a, 0x01c09f47, 0x03cfe320, 0x019d29f5, 0x019f57bf, 0x002f7404}}}, + {X: Field{[10]uint32{0x01130034, 0x01235417, 0x009cef77, 0x02bab01d, 0x023e162d, 0x0175f109, 0x00b26b68, 0x03fbd0db, 0x0373e547, 0x0021deb8}}, Y: Field{[10]uint32{0x00dfcf5f, 0x03db7c35, 0x00a8e6f9, 0x0054cb97, 0x03e1275e, 0x03c9a328, 0x0156b798, 0x00d06bb6, 0x0095b750, 0x0007c2bd}}}, + {X: Field{[10]uint32{0x00e619d4, 0x03caae7a, 0x02ca0d1d, 0x00182dce, 0x03e55f07, 0x01a689cb, 0x016a0714, 0x03286232, 0x036f0635, 0x00290637}}, Y: Field{[10]uint32{0x02f754e3, 0x03ff3580, 0x00856525, 0x0061a52e, 0x002e7558, 0x0296d646, 0x0099a6da, 0x009383f9, 0x01bb5bbb, 0x000ac1b3}}}, + {X: Field{[10]uint32{0x02aedeab, 0x001d8de8, 0x029671d9, 0x00253ad4, 0x00114dc2, 0x0131ec2d, 0x02dce4f4, 0x02eb4897, 0x0174bb6f, 0x0013084f}}, Y: Field{[10]uint32{0x03970b51, 0x0037dce7, 0x01be0e48, 0x03ec81b1, 0x01402fb5, 0x022bea73, 0x012c7d54, 0x0170561d, 0x039fccc6, 0x001d06fb}}}, + {X: Field{[10]uint32{0x00deb13a, 0x02dc1588, 0x01bff0ec, 0x030eed33, 0x032cf93b, 0x02240046, 0x014073a4, 0x03946c6a, 0x02fd3f94, 0x0028de41}}, Y: Field{[10]uint32{0x00e6030a, 0x028b59cc, 0x02332f01, 0x0376252a, 0x008a8a16, 0x00cc52dc, 0x00d5e552, 0x026c7461, 0x00b1c14a, 0x001828ec}}}, + {X: Field{[10]uint32{0x01e72301, 0x013b1353, 0x0225c5e8, 0x02396e14, 0x02d6d652, 0x01aed194, 0x038ae3d2, 0x02bd4592, 0x02ed639e, 0x000b19df}}, Y: Field{[10]uint32{0x03ee832a, 0x006e7fc1, 0x0278eaca, 0x00c4ecb4, 0x005fe639, 0x02b01f09, 0x0389240c, 0x01f2e85f, 0x0006d3bb, 0x0037c393}}}, + {X: Field{[10]uint32{0x017e77b4, 0x0077d2df, 0x009395d6, 0x02c33eb2, 0x01684473, 0x02c07000, 0x035fc3c5, 0x01af940c, 0x0014eaf8, 0x002d547e}}, Y: Field{[10]uint32{0x0246664b, 0x026738c1, 0x00bb1bd3, 0x03984693, 0x038818b6, 0x012b879f, 0x033f923b, 0x0057e0c0, 0x03354697, 0x002a5e72}}}, + {X: Field{[10]uint32{0x01f45c39, 0x020851b7, 0x01984fba, 0x02a1d050, 0x012cd47b, 0x0037c31c, 0x0361ad74, 0x0013abc7, 0x03185c8c, 0x00263571}}, Y: Field{[10]uint32{0x00050804, 0x034ae928, 0x01bc5b36, 0x00b10a3d, 0x019d4a8e, 0x007b3aa2, 0x02f88f5f, 0x01fb083a, 0x01915c73, 0x002b2949}}}, + {X: Field{[10]uint32{0x00cefc7c, 0x008f8ae5, 0x03bc9a0b, 0x021bbe3e, 0x02ed1e13, 0x03ef3318, 0x00104854, 0x02d949a3, 0x02f7260f, 0x00145238}}, Y: Field{[10]uint32{0x03ca2500, 0x01c914a9, 0x016e1296, 0x00581f2a, 0x039e9b27, 0x0068236e, 0x024a8ccb, 0x0292616e, 0x012d35de, 0x00196d37}}}, + {X: Field{[10]uint32{0x020e753c, 0x03a44c63, 0x031daf91, 0x01f260b7, 0x00a08a22, 0x02fad145, 0x0240cccb, 0x019042e2, 0x01c18c9d, 0x0004b1a6}}, Y: Field{[10]uint32{0x032fcc99, 0x0008b624, 0x028e120b, 0x01a013b4, 0x004889e9, 0x00145ba2, 0x029a1975, 0x015c90d1, 0x004289b5, 0x001f654f}}}, + {X: Field{[10]uint32{0x020a8d20, 0x01a75204, 0x02c639dc, 0x01e540e6, 0x02134e44, 0x03aec8c4, 0x02ecac37, 0x010046cd, 0x03f8a773, 0x0013434f}}, Y: Field{[10]uint32{0x0144ec64, 0x025816c0, 0x02a57397, 0x00a7c2c3, 0x03960b3d, 0x025fc85c, 0x00f10261, 0x013180f1, 0x03a0e098, 0x003b7fc5}}}, + {X: Field{[10]uint32{0x0136e42d, 0x00941855, 0x03be4481, 0x036606a7, 0x03ccb069, 0x019a0cdb, 0x01b0985a, 0x01e9c6a4, 0x030b3e7b, 0x0033a42d}}, Y: Field{[10]uint32{0x01569000, 0x00e91e01, 0x01e672e6, 0x039915fc, 0x00d3af73, 0x021d581b, 0x00640ca2, 0x03ab5d49, 0x015612e0, 0x002337a7}}}, + {X: Field{[10]uint32{0x0163b2d8, 0x03124c41, 0x0297e360, 0x02c720ef, 0x00d197f5, 0x034bea42, 0x03bf9851, 0x021e7667, 0x03276bb1, 0x000a31e4}}, Y: Field{[10]uint32{0x00643868, 0x02125b3b, 0x010857c1, 0x00f8cf64, 0x03bc0f3e, 0x03873ef8, 0x02b10f6a, 0x02d5196d, 0x0240e2f3, 0x00322513}}}, + {X: Field{[10]uint32{0x03442443, 0x03fa94f9, 0x006659a1, 0x02021f4c, 0x03864d4c, 0x016dc1fc, 0x00c2b6b5, 0x033c0601, 0x01062413, 0x001b8b6b}}, Y: Field{[10]uint32{0x029430e0, 0x000d77c4, 0x01f7dc4c, 0x00a10d10, 0x02497bc0, 0x02703f8d, 0x021fba73, 0x01a450c2, 0x0064e05d, 0x0027699f}}}, + {X: Field{[10]uint32{0x004d20fe, 0x016dc923, 0x0254f871, 0x022248fb, 0x0119f261, 0x037d0dfe, 0x034d03df, 0x00e51b10, 0x02c80376, 0x002fbe52}}, Y: Field{[10]uint32{0x031e25db, 0x033b5500, 0x038aaee7, 0x01cf39f8, 0x02386484, 0x02578501, 0x0383032e, 0x007719be, 0x0134e5fc, 0x00348c91}}}, + {X: Field{[10]uint32{0x018e433d, 0x033b6be0, 0x01125918, 0x0190f517, 0x009b7d86, 0x003c994f, 0x0166a24c, 0x01707728, 0x0057f1b4, 0x0014d523}}, Y: Field{[10]uint32{0x010c3b44, 0x024e013c, 0x0240db6a, 0x0170f2b5, 0x01c36aec, 0x00c2c4ea, 0x01307e21, 0x001fe700, 0x0146f0c2, 0x003304e2}}}, + {X: Field{[10]uint32{0x00b5867e, 0x01bfd001, 0x0188f90f, 0x02aff51e, 0x012aee71, 0x022dc8fb, 0x00b0e09b, 0x0324053a, 0x03847f25, 0x001ff53d}}, Y: Field{[10]uint32{0x00a1bd9d, 0x0174899d, 0x0297641b, 0x0234dd7e, 0x0358eec1, 0x01b900b6, 0x0205805a, 0x004ab659, 0x02bc901f, 0x003ff0f7}}}, + {X: Field{[10]uint32{0x0397dd9d, 0x031e7e94, 0x003ccd3d, 0x03da72e2, 0x03d4251b, 0x036411bb, 0x0062424c, 0x0226d127, 0x027e4997, 0x001112a2}}, Y: Field{[10]uint32{0x03b30282, 0x03117936, 0x03f828f7, 0x0106fce4, 0x02abbe8e, 0x002355b0, 0x028c7757, 0x02c0802b, 0x003b3356, 0x0013317c}}}, + {X: Field{[10]uint32{0x0326bd8b, 0x0033aa15, 0x02bc1acb, 0x019e398a, 0x0204af8c, 0x0108071e, 0x0294bd0a, 0x01897481, 0x007784d8, 0x003fc172}}, Y: Field{[10]uint32{0x0196eeb3, 0x030b79ea, 0x012d906e, 0x028242f4, 0x02a55f6a, 0x02fa613b, 0x025a0b5c, 0x01894f3e, 0x00ce6ac2, 0x001f3c3a}}}, + {X: Field{[10]uint32{0x027e4ab2, 0x020ce6b7, 0x027c679b, 0x001223c2, 0x00e29f47, 0x00ff649d, 0x0094ea08, 0x006daf3a, 0x03ae6aa3, 0x00203f7d}}, Y: Field{[10]uint32{0x0152fb75, 0x01b9828e, 0x018fe3f4, 0x02fc2f79, 0x0249e066, 0x03515d71, 0x004a8b4b, 0x009d158d, 0x017b1696, 0x001df5cc}}}, + {X: Field{[10]uint32{0x01879214, 0x012bab50, 0x01589685, 0x01edfad2, 0x03ef2022, 0x0035dcb5, 0x0020a74f, 0x001f2b54, 0x00c810a3, 0x002b0e29}}, Y: Field{[10]uint32{0x035016ac, 0x034b3a87, 0x01213c7c, 0x02acd057, 0x00d75ecf, 0x00b88a7b, 0x02f77ca9, 0x01616105, 0x00bb3c67, 0x003d2713}}}, + {X: Field{[10]uint32{0x01f75514, 0x02445569, 0x036fea26, 0x00d77a6a, 0x013a90a4, 0x03d40bc6, 0x0162f408, 0x00098bf5, 0x02ddf1e1, 0x002cdcdb}}, Y: Field{[10]uint32{0x015a78c8, 0x020c15eb, 0x027514e4, 0x037995fb, 0x000eafa2, 0x02856b83, 0x01cb0682, 0x00d4f3c0, 0x03aff190, 0x0020633b}}}, + {X: Field{[10]uint32{0x010dc295, 0x00e2cccc, 0x0322f127, 0x03d73ed9, 0x03e698d4, 0x031aa16a, 0x03f6d5ea, 0x03045ad5, 0x0212d100, 0x0019b59f}}, Y: Field{[10]uint32{0x00a05dd3, 0x0097fa85, 0x0318fd4e, 0x0318cb5c, 0x02685fae, 0x026ef5fa, 0x0208ea70, 0x0269534d, 0x021f3a0c, 0x0027353e}}}, + {X: Field{[10]uint32{0x02b59043, 0x011c4d4f, 0x0333eb87, 0x01ae9ee6, 0x029fa10c, 0x01bb37c2, 0x02eb6514, 0x0392136a, 0x035f756a, 0x002e15b5}}, Y: Field{[10]uint32{0x01cb0a38, 0x0069f6e2, 0x004c4b04, 0x0071c9ca, 0x026566da, 0x037c91bc, 0x03a177d8, 0x0259252c, 0x02b12f24, 0x00172150}}}, + {X: Field{[10]uint32{0x01c47d27, 0x014a547e, 0x01548afc, 0x017ee165, 0x03c736b1, 0x01869950, 0x00142cd6, 0x008e4d16, 0x03d70320, 0x0001a0ef}}, Y: Field{[10]uint32{0x022de166, 0x018d045d, 0x01746b41, 0x028a3653, 0x02420387, 0x031a3365, 0x0029f84a, 0x037c9945, 0x0240f5db, 0x00243d4a}}}, + {X: Field{[10]uint32{0x032923c2, 0x003e2a46, 0x018963d0, 0x029fe25d, 0x0141ee1c, 0x00ce8250, 0x00959345, 0x0079944e, 0x01f0811e, 0x000bfaa8}}, Y: Field{[10]uint32{0x00499c1a, 0x00e843fa, 0x0202b07e, 0x0081f41b, 0x03690d18, 0x039bb87b, 0x03701c35, 0x03500575, 0x0176b884, 0x00277602}}}, + {X: Field{[10]uint32{0x0287cda4, 0x001ed608, 0x0009780e, 0x02a86a5a, 0x01847070, 0x01134833, 0x0365e9b1, 0x02ebcea5, 0x0137da9e, 0x0033994a}}, Y: Field{[10]uint32{0x001ba572, 0x00c87cc1, 0x01b6801b, 0x00dbade8, 0x00454e17, 0x0279eba1, 0x01db3782, 0x00b6f96a, 0x03fb5f15, 0x0030711b}}}, + {X: Field{[10]uint32{0x00976211, 0x017f9a1e, 0x008a84fd, 0x02dac137, 0x03556087, 0x01d42f71, 0x03f9738a, 0x018feeac, 0x03d91701, 0x00269a56}}, Y: Field{[10]uint32{0x02aeda70, 0x0273c48f, 0x03c27d0c, 0x00b5935a, 0x010dce26, 0x02521a36, 0x002b1332, 0x03361669, 0x01f375ac, 0x003d02e8}}}, + {X: Field{[10]uint32{0x0134ba44, 0x034c88ef, 0x00ec718c, 0x0285d55e, 0x035908b0, 0x03936930, 0x02bd6d09, 0x020fb2fe, 0x0368bd30, 0x00396eab}}, Y: Field{[10]uint32{0x03a27fb0, 0x03bee642, 0x03dbce4d, 0x011aa6be, 0x005feb7f, 0x028fa1a9, 0x0076d0ed, 0x030f0541, 0x01f0365c, 0x002ae194}}}, + {X: Field{[10]uint32{0x03e59cc7, 0x00ddb63f, 0x0104ce06, 0x0322fd8f, 0x03dd0c4d, 0x01fb87f6, 0x033530bb, 0x03f9df63, 0x02a2b507, 0x000b09b3}}, Y: Field{[10]uint32{0x0230d62e, 0x002da739, 0x0004a500, 0x030abbf0, 0x03c30a1c, 0x016114a5, 0x0367151b, 0x00fae6c2, 0x03af54d0, 0x002cd138}}}, + {X: Field{[10]uint32{0x00bbd0e4, 0x00527d72, 0x027a3c2a, 0x02701ff2, 0x024d5333, 0x0281f8bd, 0x01eadaf0, 0x00b98623, 0x039f52af, 0x001f19d4}}, Y: Field{[10]uint32{0x009067c9, 0x039cfa4c, 0x0303896e, 0x02f986d8, 0x03df7a2c, 0x01990bb1, 0x02cc97ec, 0x0244d813, 0x02fdc21c, 0x000fe61c}}}, + {X: Field{[10]uint32{0x02249574, 0x02b7072a, 0x01aab8f9, 0x013dd080, 0x00334561, 0x00769c72, 0x02e1d17e, 0x002f24ed, 0x012dec8b, 0x0012d777}}, Y: Field{[10]uint32{0x02c5460b, 0x02cdaa2a, 0x03d695df, 0x0155b957, 0x036e16e7, 0x00aa169a, 0x00d18b3d, 0x03bf6d0d, 0x02dcaa3e, 0x0033eb68}}}, + {X: Field{[10]uint32{0x00d80e4b, 0x02f0d6e2, 0x03e59216, 0x0200bac2, 0x00f9bb66, 0x01cea13e, 0x0266edb8, 0x0020d61a, 0x02f2ccfc, 0x0035dd70}}, Y: Field{[10]uint32{0x0053ddbb, 0x02ce933f, 0x01ea765b, 0x015e444d, 0x02ff56ca, 0x025902a1, 0x02aa0b51, 0x0088c73d, 0x01b7988a, 0x00322976}}}, + {X: Field{[10]uint32{0x00d9bb4a, 0x0200ea6f, 0x014dcd3c, 0x01ec0dab, 0x00b005b0, 0x00f70f69, 0x001d9844, 0x003e77ec, 0x03097881, 0x001c68f3}}, Y: Field{[10]uint32{0x03caaa55, 0x00c41002, 0x01f5a1ad, 0x01362627, 0x01bd4a3c, 0x0185eb55, 0x000c5b39, 0x00c06e59, 0x02217db0, 0x0022aae3}}}, + {X: Field{[10]uint32{0x011f53b7, 0x03a2ec66, 0x00d3fdde, 0x00160970, 0x02a82f7d, 0x035de3bd, 0x00596ae3, 0x025b9880, 0x005492b6, 0x002f1c68}}, Y: Field{[10]uint32{0x029a2a15, 0x02abd85c, 0x03b52b07, 0x00db9003, 0x00d11255, 0x018c2a42, 0x03744600, 0x02e362c4, 0x01259785, 0x00055e24}}}, + {X: Field{[10]uint32{0x00847abc, 0x0247193f, 0x01f7e6f8, 0x002f1ade, 0x00e8d94a, 0x003d8396, 0x001ec81a, 0x02ff73ee, 0x0119ee62, 0x00274882}}, Y: Field{[10]uint32{0x02d0c675, 0x002f1f9b, 0x02a16e53, 0x03229efe, 0x0075f3a7, 0x027d3a53, 0x03fe8865, 0x00f0ae37, 0x039b1a07, 0x0020524d}}}, + {X: Field{[10]uint32{0x03f33425, 0x0230cfbb, 0x016e5c6c, 0x006d38da, 0x00d25bff, 0x038eb565, 0x030c6c91, 0x02f4668c, 0x026ad30b, 0x0020da5d}}, Y: Field{[10]uint32{0x02e79e4a, 0x02562e5c, 0x008a4e4b, 0x0236185f, 0x038ed5d2, 0x0087df6b, 0x00970d9c, 0x015d7216, 0x0282b3f4, 0x00289fdd}}}, + {X: Field{[10]uint32{0x00542451, 0x02cba2c8, 0x00ab457d, 0x02b4735a, 0x03e91f51, 0x021fed09, 0x00d36b54, 0x03aaac6a, 0x00750e4a, 0x001389de}}, Y: Field{[10]uint32{0x026566e0, 0x014083a8, 0x0123e763, 0x0036a3e1, 0x02d138fd, 0x0054a951, 0x02bf1d2a, 0x012e07e5, 0x03655bbc, 0x0027ebbf}}}, + {X: Field{[10]uint32{0x01a0d2fa, 0x024408ce, 0x036b108b, 0x0306c84c, 0x01825046, 0x009816a4, 0x028d2027, 0x03ffcc39, 0x03b51b9d, 0x0009fe41}}, Y: Field{[10]uint32{0x012d4a15, 0x035ec301, 0x0068acbf, 0x0167ff10, 0x000105f4, 0x03571276, 0x004bf3dd, 0x00d803ee, 0x01c36cb1, 0x00045489}}}, + {X: Field{[10]uint32{0x02b1fab3, 0x010bbb55, 0x0281864b, 0x02a3cf35, 0x02ef0900, 0x007dc3c5, 0x03ff42d4, 0x01d3110d, 0x03206506, 0x001b67fa}}, Y: Field{[10]uint32{0x03a02065, 0x015d3483, 0x02444f60, 0x0000e6a8, 0x035f7f7b, 0x014ebe8e, 0x015f8576, 0x00f070b9, 0x03ecd82b, 0x0020b365}}}, + {X: Field{[10]uint32{0x0187bfac, 0x03cb3de0, 0x03558857, 0x02f4ef45, 0x01ecb9cd, 0x00a139ca, 0x01c3b363, 0x019a74d8, 0x02b43360, 0x00226074}}, Y: Field{[10]uint32{0x00d48498, 0x01b5e05c, 0x0245a3e8, 0x018db09d, 0x000216b2, 0x0053b357, 0x011bf736, 0x0174761e, 0x0327d5a4, 0x0006e6ba}}}, + {X: Field{[10]uint32{0x02e1d72e, 0x026169dc, 0x010ce9c5, 0x0215b4f0, 0x02816916, 0x01fa4b38, 0x0140d557, 0x0347f895, 0x0118e47a, 0x0021299d}}, Y: Field{[10]uint32{0x01631658, 0x0294d071, 0x03356dc8, 0x0389a67b, 0x0016ca04, 0x0312dcff, 0x0011777d, 0x00ba8b9b, 0x03af8507, 0x0034f2e4}}}, + {X: Field{[10]uint32{0x00a8c683, 0x030a346b, 0x03418d50, 0x0376e77e, 0x007e666c, 0x0196999d, 0x00111e2e, 0x033ddd43, 0x035672a6, 0x0034f999}}, Y: Field{[10]uint32{0x02556dd9, 0x027eb8e9, 0x023f0735, 0x016f7441, 0x034e2e81, 0x008cfe0f, 0x01aca5d8, 0x031b0ead, 0x00aa20e5, 0x001dddbb}}}, + {X: Field{[10]uint32{0x01b87bba, 0x00b6ce19, 0x03c4af7b, 0x02129a3b, 0x02522a76, 0x0394958f, 0x00e76b5e, 0x015a2201, 0x01ef71d4, 0x003b7a5f}}, Y: Field{[10]uint32{0x01ae702f, 0x01eda4bf, 0x03513758, 0x023eddfa, 0x0285bafb, 0x01d62a03, 0x02279f95, 0x0049d982, 0x020f0c9c, 0x0024b9b4}}}, + {X: Field{[10]uint32{0x02e8c871, 0x0282e73a, 0x006ed025, 0x021091eb, 0x036ff84f, 0x00c4b9c0, 0x03db3ae2, 0x01213b3d, 0x0142e000, 0x000cd678}}, Y: Field{[10]uint32{0x021cdf66, 0x019be774, 0x0377f871, 0x0024db90, 0x00d00ada, 0x00e76fca, 0x00c98bf7, 0x017e87ce, 0x01f23c84, 0x0019ec0e}}}, + {X: Field{[10]uint32{0x022b44a1, 0x018b1f84, 0x0158f8fd, 0x02bb3c36, 0x0196f675, 0x00245295, 0x014a3dc4, 0x000bf499, 0x01720c05, 0x0038342a}}, Y: Field{[10]uint32{0x036b0312, 0x01ef51d5, 0x021718db, 0x00b46c47, 0x033ee29e, 0x03684640, 0x03d916ed, 0x0169faef, 0x01bc3457, 0x00032fac}}}, + {X: Field{[10]uint32{0x01a4c987, 0x01f7e108, 0x02605939, 0x00676368, 0x014f3320, 0x007d757b, 0x0031ac7a, 0x01dc1190, 0x03675df7, 0x00142e24}}, Y: Field{[10]uint32{0x0292f293, 0x013ccd74, 0x01204cb0, 0x014cf67b, 0x0045c382, 0x01b5bfc3, 0x009c3f25, 0x0327ae82, 0x0181063e, 0x00311d97}}}, + {X: Field{[10]uint32{0x016d446a, 0x0390cb73, 0x0111391c, 0x02f9073a, 0x037f80cb, 0x03e3a048, 0x01e84e99, 0x017fdbc8, 0x018e6677, 0x0017718b}}, Y: Field{[10]uint32{0x0373a9c2, 0x01bac505, 0x01de99ad, 0x02fc497d, 0x00b020ca, 0x0058ff57, 0x021cdabd, 0x011695db, 0x037de270, 0x0012d15a}}}, + {X: Field{[10]uint32{0x02c10971, 0x0353e588, 0x01b03fdc, 0x01f88bbf, 0x004e56ba, 0x0241c430, 0x0232e187, 0x00611749, 0x038fc792, 0x0022e85d}}, Y: Field{[10]uint32{0x023e3854, 0x031ebd8f, 0x00c53f48, 0x03a23d06, 0x0048ffeb, 0x025c1c9a, 0x01d7d435, 0x025962ce, 0x00ffa835, 0x0007cc7f}}}, + {X: Field{[10]uint32{0x00db9fc7, 0x03681b02, 0x0294be7a, 0x00aeea2d, 0x02999a10, 0x02fe6042, 0x03ad055f, 0x029eef9a, 0x02147d1e, 0x0028e851}}, Y: Field{[10]uint32{0x006ac294, 0x01fab0e2, 0x03d57a69, 0x01ec69c9, 0x00b3bdb8, 0x014c7ff3, 0x00cd6eb3, 0x004a108f, 0x0331d432, 0x0032609d}}}, + {X: Field{[10]uint32{0x00af78f5, 0x03470bf8, 0x0328621a, 0x03d93637, 0x01f6ce1a, 0x00d9a0b1, 0x01671c44, 0x00d2ab20, 0x0047bd20, 0x0025882a}}, Y: Field{[10]uint32{0x01826e1c, 0x03855553, 0x01f0d099, 0x0017a256, 0x016168a2, 0x0055af37, 0x007e32f4, 0x037ffb2d, 0x0108a7e3, 0x0038731b}}}, + {X: Field{[10]uint32{0x0396016b, 0x03663881, 0x016eebc9, 0x01f16126, 0x0395b2c5, 0x012363ff, 0x00b6a52c, 0x01a9e4fc, 0x02a0aa7d, 0x00290361}}, Y: Field{[10]uint32{0x02351ea2, 0x03365402, 0x0087396e, 0x02d117d1, 0x00062911, 0x009585f6, 0x014c15cb, 0x0119b6b6, 0x00e2d453, 0x003b1535}}}, + {X: Field{[10]uint32{0x03484c80, 0x0241de6c, 0x02fbd5ed, 0x03a6e993, 0x037e5f40, 0x01d1661b, 0x0173b979, 0x009a295d, 0x01a6f60f, 0x001c7bcd}}, Y: Field{[10]uint32{0x038a1ba3, 0x0058ded3, 0x01669875, 0x00f2f91d, 0x0302f369, 0x03d69ab5, 0x037df7f6, 0x01642b15, 0x021e9ff3, 0x003aaffe}}}, + {X: Field{[10]uint32{0x00f68de2, 0x031db5e9, 0x0267486f, 0x02fbc40f, 0x005308ab, 0x017dc256, 0x01ffa52c, 0x028ecb92, 0x0008c742, 0x002ef469}}, Y: Field{[10]uint32{0x01246124, 0x002d86d7, 0x0079a2ac, 0x00201428, 0x01ee6e1e, 0x01cca116, 0x00fbe96c, 0x0384f86c, 0x03ec9d07, 0x00125072}}}, + {X: Field{[10]uint32{0x00ba9009, 0x03c7e7a1, 0x012ab433, 0x03fe5613, 0x03805d60, 0x00b226d7, 0x009c92ff, 0x01b7d4f8, 0x03389211, 0x0005a7af}}, Y: Field{[10]uint32{0x03c6228d, 0x000d6641, 0x02a08345, 0x01247a4c, 0x02c997d1, 0x03c77923, 0x01b5adeb, 0x01fb8560, 0x0116e766, 0x002453d5}}}, + {X: Field{[10]uint32{0x00666acc, 0x01d40b3e, 0x020c3977, 0x02781313, 0x01d71c8d, 0x02436391, 0x00115458, 0x031fefab, 0x02bc4c5e, 0x0023c55e}}, Y: Field{[10]uint32{0x03f25908, 0x00604e0f, 0x021bc635, 0x0026260b, 0x02014dc7, 0x000af28f, 0x019883e6, 0x02a7ee62, 0x02ba1e78, 0x0035055d}}}, + {X: Field{[10]uint32{0x00ec9a8d, 0x03632d6d, 0x0010091e, 0x024e53ee, 0x0284f71f, 0x026801b6, 0x00ebcd83, 0x009b7001, 0x00d5694b, 0x002334ce}}, Y: Field{[10]uint32{0x00002578, 0x03b34874, 0x03d952a6, 0x00d30809, 0x0303fd9d, 0x015192ac, 0x000eccf4, 0x0366e702, 0x0010dd88, 0x00100c63}}}, + {X: Field{[10]uint32{0x013272f2, 0x003b8f8a, 0x02e28cbf, 0x030a5224, 0x03a64748, 0x012b5d83, 0x036171af, 0x02e8a834, 0x022f7ba5, 0x0008391f}}, Y: Field{[10]uint32{0x03be00bd, 0x00549519, 0x020a771b, 0x03e1db1c, 0x03162dda, 0x02279099, 0x00520897, 0x02608570, 0x022056b8, 0x002e5ab4}}}, + {X: Field{[10]uint32{0x032bb880, 0x032d7997, 0x015793f3, 0x031bfefc, 0x02f9c31e, 0x03d0477b, 0x02942d11, 0x023e736d, 0x00a5a0d3, 0x00160bb6}}, Y: Field{[10]uint32{0x03ce8486, 0x03d1e580, 0x02352a4c, 0x0248d29b, 0x02948ea8, 0x012ebd2f, 0x00a8db56, 0x0274f7b1, 0x000e4f9d, 0x000524a3}}}, + {X: Field{[10]uint32{0x001896d6, 0x03ac6d18, 0x01e7b877, 0x022db47d, 0x03b0bcab, 0x023011ba, 0x03daf30b, 0x030474fd, 0x019a6e76, 0x003d29bd}}, Y: Field{[10]uint32{0x0070f0c5, 0x0229922c, 0x01abeedc, 0x010792f6, 0x01ccde46, 0x026c5239, 0x01a05d4a, 0x01055956, 0x02e9e5d8, 0x000b4e71}}}, + {X: Field{[10]uint32{0x00957b24, 0x00a6bdcc, 0x0252d2c3, 0x02e31d8e, 0x02fc8564, 0x01588fc1, 0x0266bf01, 0x033d71db, 0x00600f71, 0x000aa083}}, Y: Field{[10]uint32{0x03ff3ca2, 0x0249919d, 0x02d370fd, 0x01f6e655, 0x0236f77f, 0x01401e34, 0x009a1d72, 0x0256679b, 0x0303d742, 0x002ce301}}}, + {X: Field{[10]uint32{0x02e2799e, 0x00612281, 0x03872623, 0x00ef075f, 0x0133634d, 0x001de8ea, 0x01d48026, 0x02fd921c, 0x004e9fcc, 0x00230b67}}, Y: Field{[10]uint32{0x01351a7d, 0x0152162a, 0x02db8d59, 0x01dd8130, 0x03cf032d, 0x02026169, 0x009c534e, 0x02edb631, 0x036cae43, 0x002b5404}}}, + {X: Field{[10]uint32{0x00061ba9, 0x003466dd, 0x004906eb, 0x017eb7f1, 0x03db00d2, 0x00e49d64, 0x00b991e2, 0x02cfb434, 0x00530744, 0x002c63a4}}, Y: Field{[10]uint32{0x033877b6, 0x03faa4ac, 0x002a702f, 0x02e1108c, 0x0343a8aa, 0x02600d34, 0x01edd739, 0x02cb19dc, 0x0244c829, 0x00243d72}}}, + {X: Field{[10]uint32{0x00e835be, 0x01e37347, 0x00109330, 0x01f3d2b1, 0x01d12482, 0x0314efe8, 0x01d2f58c, 0x010d6e41, 0x0157b03d, 0x00033c74}}, Y: Field{[10]uint32{0x0271b459, 0x01b65672, 0x031ab119, 0x037d87ba, 0x003ea656, 0x01147359, 0x0303cf21, 0x031f5a83, 0x01a15547, 0x003b8dea}}}, + {X: Field{[10]uint32{0x014a6007, 0x0358fdf9, 0x004c1562, 0x0347c8be, 0x0192fc13, 0x01bd2f39, 0x021ac36a, 0x02103ecb, 0x018ad91a, 0x002362e7}}, Y: Field{[10]uint32{0x03842dba, 0x006d1ac2, 0x02ee1ce6, 0x03851f39, 0x01ee9227, 0x00e6af7b, 0x020ec3b4, 0x023cb76b, 0x024393ca, 0x00254a2f}}}, + {X: Field{[10]uint32{0x0087fc9d, 0x006d18ff, 0x0106f256, 0x02387569, 0x037ae04a, 0x00366932, 0x02c936fb, 0x02c355c5, 0x0144bbc5, 0x001812d5}}, Y: Field{[10]uint32{0x016ac8eb, 0x00649528, 0x01d8a3e3, 0x01bc41a8, 0x03ee3cde, 0x034f67b6, 0x001e5fe7, 0x029b9d07, 0x039c4fb9, 0x000cff8b}}}, + {X: Field{[10]uint32{0x03aed8f6, 0x030245be, 0x03e5309e, 0x0191e567, 0x02cbd16d, 0x02785328, 0x017aab74, 0x03b91181, 0x00141058, 0x000f9fb5}}, Y: Field{[10]uint32{0x012e79fc, 0x00915a25, 0x006481ba, 0x01860bc6, 0x01f66bd3, 0x00280574, 0x01aa6971, 0x031b8324, 0x024186de, 0x003f056c}}}, + {X: Field{[10]uint32{0x0143f326, 0x034149de, 0x00f26736, 0x01a531a7, 0x0126e46f, 0x01b3d0b0, 0x01242431, 0x01ee2b25, 0x003586c1, 0x00342b9d}}, Y: Field{[10]uint32{0x034e0757, 0x007386fd, 0x0304b197, 0x00fa2ed7, 0x00fbaca0, 0x02fdada7, 0x0398865a, 0x01622b50, 0x01e8b983, 0x002fe80b}}}, + {X: Field{[10]uint32{0x00be1441, 0x0147ae62, 0x0197f5f8, 0x01967781, 0x023627bc, 0x014e02b7, 0x02ce2f94, 0x010f8df9, 0x01ced4f3, 0x003bd701}}, Y: Field{[10]uint32{0x00103281, 0x0031865d, 0x036350d6, 0x030ab527, 0x01b681e7, 0x012ba388, 0x010e40b7, 0x03c678ef, 0x001b0379, 0x0036499f}}}, + {X: Field{[10]uint32{0x008f49ae, 0x01921917, 0x038ca8dc, 0x01971efc, 0x03d7cf42, 0x02c2766b, 0x033015c3, 0x022b65f1, 0x03ebd799, 0x0005dae3}}, Y: Field{[10]uint32{0x0122f1b4, 0x0086fce1, 0x034c5fc8, 0x017a8053, 0x017f989f, 0x019db1e0, 0x00da1905, 0x03268da7, 0x024c8267, 0x002d2f2f}}}, + {X: Field{[10]uint32{0x0116c3dd, 0x00e9d9af, 0x03a0097b, 0x0374d50b, 0x03b20771, 0x02db698b, 0x0358d69f, 0x03053bae, 0x03db0cff, 0x00223da0}}, Y: Field{[10]uint32{0x011cb601, 0x03fdc607, 0x02219f52, 0x025aca5c, 0x020cf800, 0x0094add3, 0x02797ca0, 0x000f1499, 0x03de8121, 0x0002efbc}}}, + {X: Field{[10]uint32{0x0237abaa, 0x03f88e3d, 0x00854dd1, 0x0208c7ee, 0x018488b0, 0x00f59e24, 0x00c4121c, 0x03b113f6, 0x038f1247, 0x00299750}}, Y: Field{[10]uint32{0x023f36a3, 0x012a0be6, 0x00986d4d, 0x0257743f, 0x034bb500, 0x0131dc6b, 0x01cf3c0b, 0x010cff7f, 0x004e551e, 0x0017d972}}}, + {X: Field{[10]uint32{0x0398cc27, 0x0169a818, 0x03d2ff6a, 0x02e40a20, 0x02d5cdda, 0x03c565f1, 0x0208148a, 0x022edfdf, 0x0251c502, 0x002f5a9f}}, Y: Field{[10]uint32{0x0059d885, 0x02dc3d9e, 0x02f662dd, 0x01369dbb, 0x030c1ed1, 0x026a63a4, 0x0397979b, 0x03748ba2, 0x00c4247c, 0x000fc8a0}}}, + {X: Field{[10]uint32{0x009d274b, 0x00468264, 0x02202344, 0x02b1d34d, 0x0158f7a3, 0x01440514, 0x031814ec, 0x02837152, 0x036c2896, 0x00299c90}}, Y: Field{[10]uint32{0x03c2ec3f, 0x03f3b3af, 0x02654a7a, 0x02765590, 0x02c81f3d, 0x02b6b795, 0x02acea6b, 0x01e3656e, 0x02934681, 0x0037ba00}}}, + {X: Field{[10]uint32{0x003a24b0, 0x0380de7c, 0x004bc8d9, 0x02a4c844, 0x0257891b, 0x01f4b6a9, 0x01b0993d, 0x03433c6b, 0x01fed3a1, 0x003283d5}}, Y: Field{[10]uint32{0x023cfa6f, 0x010f9bd6, 0x0399db58, 0x020e59c4, 0x03520166, 0x02f2a363, 0x0188baae, 0x00b73645, 0x00e46346, 0x0037006e}}}, + {X: Field{[10]uint32{0x036429a1, 0x03c2d712, 0x034ccb91, 0x029fa831, 0x02211843, 0x02cbf881, 0x004961cc, 0x00087815, 0x008d9bff, 0x001843fc}}, Y: Field{[10]uint32{0x01d46b28, 0x01d82fb4, 0x020dd9b0, 0x00d8d7c5, 0x02d889bc, 0x03f34f84, 0x03daee68, 0x017e9f6a, 0x018aee96, 0x0012f8ec}}}, + {X: Field{[10]uint32{0x01ff42ae, 0x03318e2a, 0x0162238f, 0x032588b7, 0x026b695d, 0x037e3c28, 0x00f006cd, 0x03b32de3, 0x0215a70a, 0x000b5be0}}, Y: Field{[10]uint32{0x01a3927b, 0x011521e5, 0x010fd3ff, 0x005491b1, 0x037a9887, 0x03543ccd, 0x01e4e5be, 0x0325a798, 0x0164e2a3, 0x0000ff02}}}, + {X: Field{[10]uint32{0x00a1bbbb, 0x00318c22, 0x004ea70b, 0x009a90bf, 0x02998468, 0x0386826b, 0x010b132d, 0x00e716d8, 0x01b4868e, 0x002303a6}}, Y: Field{[10]uint32{0x001cfe52, 0x01314d85, 0x01a95c38, 0x00b821e1, 0x036ead99, 0x0186e305, 0x036a41de, 0x01032ca1, 0x0242f0a2, 0x000cae32}}}, + {X: Field{[10]uint32{0x03c96ed7, 0x0327ac23, 0x007e4dba, 0x007596be, 0x03658c6d, 0x013bdb5d, 0x0062af77, 0x02b9d78c, 0x028f9000, 0x00054a2e}}, Y: Field{[10]uint32{0x013b5651, 0x03b29914, 0x0253a5fa, 0x03571cc6, 0x012d39f0, 0x01d4ea2f, 0x00e64665, 0x01af3475, 0x038d54df, 0x002a3749}}}, + {X: Field{[10]uint32{0x03f1d7a4, 0x027bde9b, 0x037d2fa0, 0x02feb16b, 0x00104394, 0x02545616, 0x03a040e2, 0x01a9ebc4, 0x02a5d925, 0x0030519b}}, Y: Field{[10]uint32{0x01be5128, 0x0115ec9d, 0x00a7bc05, 0x02db8414, 0x00d8bab3, 0x01800f7c, 0x0284b540, 0x0361e7c1, 0x02c6fb36, 0x0032adbf}}}, + {X: Field{[10]uint32{0x03e98cb4, 0x004604b4, 0x02b56c6f, 0x02ea1e9d, 0x022ea946, 0x03e430fc, 0x0297a87c, 0x002274a8, 0x0093e051, 0x0033a2ec}}, Y: Field{[10]uint32{0x003a0470, 0x014ba578, 0x028884c2, 0x02b642c3, 0x00679cbc, 0x0344eeab, 0x03f556fb, 0x0213f9b7, 0x0251b906, 0x002a36ee}}}, + {X: Field{[10]uint32{0x02d6c86d, 0x01960b81, 0x016ea918, 0x018e85ea, 0x027c4267, 0x0024aa53, 0x030ddd9b, 0x02785634, 0x02737c9d, 0x0001dbce}}, Y: Field{[10]uint32{0x01d16c8a, 0x00a808b9, 0x00443b20, 0x00081f90, 0x01b29c53, 0x01b38fc1, 0x00ad27ec, 0x0179b1de, 0x007c4f34, 0x0016c728}}}, + {X: Field{[10]uint32{0x0274017f, 0x015cb542, 0x001adee1, 0x03fabdda, 0x032ed997, 0x0375f50e, 0x03988725, 0x002c84ee, 0x03c32339, 0x003dd5f7}}, Y: Field{[10]uint32{0x01b83cf8, 0x034912e9, 0x016be461, 0x019f2869, 0x0374ec4f, 0x023ace55, 0x00b63d98, 0x025c99c0, 0x00ea6787, 0x00342d39}}}, + {X: Field{[10]uint32{0x02d5f5d0, 0x00aa1ee7, 0x0065c149, 0x01a43647, 0x03f27a57, 0x036f8f19, 0x000ec6d3, 0x02bbf7c2, 0x0198a2de, 0x00166fd8}}, Y: Field{[10]uint32{0x0010f8b2, 0x00f5c3e1, 0x029b3a2f, 0x03b58054, 0x016e02f2, 0x03519e15, 0x010834c4, 0x028a08c4, 0x03399011, 0x002fd7ad}}}, + {X: Field{[10]uint32{0x0149ba16, 0x02020b81, 0x0052d53f, 0x0173c4b3, 0x02a7b0e8, 0x02463056, 0x02857900, 0x021d5d21, 0x030ac86d, 0x002c740b}}, Y: Field{[10]uint32{0x031a19d0, 0x00dff095, 0x0106b854, 0x00965b4f, 0x03972977, 0x00fce14a, 0x000878d6, 0x01adda2a, 0x02039992, 0x0001e497}}}, + {X: Field{[10]uint32{0x001d1905, 0x0393900e, 0x02908882, 0x03bc53ce, 0x027e5267, 0x01f10610, 0x03d2ec12, 0x0381f406, 0x032f41d8, 0x003349cd}}, Y: Field{[10]uint32{0x01c77297, 0x02bc3257, 0x003522ac, 0x005d4826, 0x02c33296, 0x01045a4e, 0x03810f3b, 0x027ccf33, 0x0203661b, 0x003338db}}}, + {X: Field{[10]uint32{0x019d3ace, 0x036d26f7, 0x01695b01, 0x033eef20, 0x03ad2258, 0x032eaad3, 0x028940f5, 0x00d664ed, 0x00fc26ca, 0x00044991}}, Y: Field{[10]uint32{0x01c0bf60, 0x01341245, 0x01b904e7, 0x00acefa7, 0x037ff136, 0x03b7c274, 0x03a49b3b, 0x02e57cbd, 0x03907b5a, 0x0021a17d}}}, + {X: Field{[10]uint32{0x0197d3ce, 0x001b8b03, 0x018bb3a6, 0x03abae12, 0x0192fb51, 0x00d68936, 0x02845759, 0x01285883, 0x032a99ce, 0x0024637d}}, Y: Field{[10]uint32{0x038a8461, 0x0333faee, 0x03065602, 0x00609d26, 0x01bb6b79, 0x0241e533, 0x038b0d3c, 0x03fe63c6, 0x01ec9ebb, 0x00222cce}}}, + {X: Field{[10]uint32{0x00dcb83b, 0x02b3eaff, 0x01af2a7d, 0x0093cd28, 0x00436e64, 0x035229dc, 0x0025b510, 0x03ff2025, 0x00f265c4, 0x0026e3c6}}, Y: Field{[10]uint32{0x0185ba55, 0x0152a6b5, 0x012475e4, 0x03e4fd8f, 0x01476c4a, 0x0318a04e, 0x02e8c78f, 0x0306e4b0, 0x01e86a34, 0x0002fee5}}}, + {X: Field{[10]uint32{0x0024ce30, 0x031e3fef, 0x0340c9b9, 0x002b62cc, 0x00382174, 0x03a87639, 0x02be52a1, 0x0189a90a, 0x032ac396, 0x0002b40b}}, Y: Field{[10]uint32{0x022885fb, 0x030b41c6, 0x01b13255, 0x03978953, 0x03ad8c97, 0x02deede9, 0x0027cfe1, 0x01e1cbfe, 0x00e6cf8a, 0x003f31ce}}}, + {X: Field{[10]uint32{0x026d85a3, 0x03ee6b76, 0x0076c84b, 0x00a23d51, 0x029b5c19, 0x016b3c49, 0x02e34f3f, 0x036b2423, 0x03bd5e60, 0x0000d66b}}, Y: Field{[10]uint32{0x03088955, 0x0055e7ec, 0x030f6b50, 0x00da8608, 0x03443586, 0x024cb385, 0x02721553, 0x03fb59c4, 0x01e79cd3, 0x000b8aa8}}}, + {X: Field{[10]uint32{0x00b279de, 0x0024459a, 0x033ca55e, 0x03008187, 0x030c3c15, 0x0335b1e3, 0x00c34a31, 0x00bc7384, 0x023e230f, 0x00158e6a}}, Y: Field{[10]uint32{0x0111bef1, 0x01b0bb2d, 0x0309c8ed, 0x006c1189, 0x02e3a7d5, 0x02a7a0f8, 0x023bc263, 0x01fc2cfe, 0x015c15de, 0x00382dba}}}, + {X: Field{[10]uint32{0x0269ec44, 0x015d94b5, 0x00e4ad86, 0x01b2b50b, 0x03693d3b, 0x0097bf0a, 0x00ef3d0c, 0x02567617, 0x03cc7b2f, 0x000c273f}}, Y: Field{[10]uint32{0x0150077d, 0x02596dea, 0x0274bcf7, 0x0299e664, 0x0232f949, 0x01487548, 0x00095205, 0x02c6f9e6, 0x022fd917, 0x0000eaed}}}, + {X: Field{[10]uint32{0x033b86b2, 0x006bdb94, 0x033cace9, 0x01a922af, 0x00534a02, 0x01d7244c, 0x018eab63, 0x035f0017, 0x01d2dac1, 0x00147cf5}}, Y: Field{[10]uint32{0x03e99f74, 0x0262a3e8, 0x0235aba9, 0x00aab410, 0x0234f9cf, 0x02816f76, 0x03fbfe0c, 0x0123b67c, 0x027f4bdc, 0x000142c7}}}, + {X: Field{[10]uint32{0x01c2a244, 0x03897b8a, 0x00e1fa3f, 0x03d22cf9, 0x034158b0, 0x014074c9, 0x000e0c6f, 0x01040115, 0x011833aa, 0x0023d58f}}, Y: Field{[10]uint32{0x03432193, 0x01d64a19, 0x03589028, 0x024f0600, 0x033d031d, 0x0004a263, 0x035248da, 0x00cdc55f, 0x01d85ea9, 0x0013531c}}}, + {X: Field{[10]uint32{0x037177a9, 0x031cb229, 0x01108ee7, 0x0303b867, 0x003c4853, 0x02c25ab0, 0x0045b39f, 0x036ae72f, 0x0109d68f, 0x000db28a}}, Y: Field{[10]uint32{0x024301b0, 0x00588234, 0x02ed6905, 0x018cc384, 0x0269cbf3, 0x00519e97, 0x033d0953, 0x00a58217, 0x01dfc825, 0x00193d44}}}, + {X: Field{[10]uint32{0x02a306e0, 0x00d1c0a3, 0x00cf3807, 0x023ad35c, 0x0358dd91, 0x036c9bc3, 0x001ca9c2, 0x03f5f308, 0x00d51f3f, 0x003d8a2e}}, Y: Field{[10]uint32{0x00adc2e8, 0x00d82ef6, 0x01c1ea2d, 0x01f798ca, 0x03b7c2d7, 0x03d55f7b, 0x00d6eb27, 0x00ba6cba, 0x00e30ea8, 0x0002f5af}}}, + {X: Field{[10]uint32{0x00e67c1b, 0x010454b0, 0x02f2586e, 0x035d8400, 0x00b44fa7, 0x0340d435, 0x026922c9, 0x00b02eca, 0x03f500a8, 0x003ede9a}}, Y: Field{[10]uint32{0x02702da1, 0x017af252, 0x02cfb034, 0x00cc8e86, 0x018419fc, 0x03fa3cfa, 0x01f1406e, 0x031c0c00, 0x0037f1c9, 0x00304a87}}}, + {X: Field{[10]uint32{0x0278d092, 0x0247ef3f, 0x03033753, 0x00769696, 0x01bf8ec0, 0x0003231d, 0x014080f4, 0x00abcb7c, 0x01195c3e, 0x00308246}}, Y: Field{[10]uint32{0x031adeb9, 0x01ad8c83, 0x01e6c382, 0x0063a203, 0x037aec38, 0x02d9b0c9, 0x007b1fa3, 0x036acfbe, 0x016fcbeb, 0x002cc1ed}}}, + {X: Field{[10]uint32{0x013192d1, 0x02ff8a2f, 0x0003e8d1, 0x03e3466f, 0x0073c3be, 0x00ddd292, 0x02d7c4c9, 0x009fea81, 0x03893d17, 0x001d89f7}}, Y: Field{[10]uint32{0x028451e1, 0x01c9ac6d, 0x026f4bcf, 0x033fdb4d, 0x021326da, 0x001ddb14, 0x029a865f, 0x0157dea8, 0x036c36f4, 0x000d7499}}}, + {X: Field{[10]uint32{0x002c62b9, 0x012ca580, 0x01639ed5, 0x01cf2c16, 0x01a3df6f, 0x036ff80d, 0x025df658, 0x00cea5b4, 0x01187c9f, 0x00099999}}, Y: Field{[10]uint32{0x0286630d, 0x00096931, 0x037ba468, 0x02bbd2a5, 0x02c4e7fc, 0x00d5aa1d, 0x01fe7578, 0x01789a94, 0x03c7d34a, 0x002ecc2e}}}, + {X: Field{[10]uint32{0x022ac683, 0x02fce931, 0x037bbc7a, 0x017dcd60, 0x01ef8b12, 0x03ca9bdc, 0x006a02e8, 0x000b9df7, 0x0185fa98, 0x000ef6a4}}, Y: Field{[10]uint32{0x00a05b85, 0x00b95300, 0x02118936, 0x0172ec32, 0x0222b347, 0x002b8e1d, 0x0075a76a, 0x005e135e, 0x032bc11d, 0x00080bb7}}}, + {X: Field{[10]uint32{0x003a5c4d, 0x00cf5ae6, 0x00097bc0, 0x022dfd49, 0x023be197, 0x0215c348, 0x0313c714, 0x02d93604, 0x00de4486, 0x000be42f}}, Y: Field{[10]uint32{0x00384f89, 0x03f69c6f, 0x01705270, 0x027b3d5e, 0x01f4aa75, 0x0332a677, 0x01b2e300, 0x0351d4d9, 0x02502028, 0x0018e193}}}, + {X: Field{[10]uint32{0x00becda7, 0x02f3ef32, 0x01cb6562, 0x0309b1c7, 0x017083ed, 0x0327f35c, 0x0192e654, 0x0039bf72, 0x01d4e9b0, 0x002224fd}}, Y: Field{[10]uint32{0x0238ab50, 0x00c4ed2c, 0x003130fe, 0x0275b36e, 0x02a80fa2, 0x03831a65, 0x03566a1f, 0x0041d3ef, 0x00558e63, 0x0007ebcc}}}, + {X: Field{[10]uint32{0x0155abba, 0x030d2561, 0x0237d855, 0x0094c273, 0x00f482fc, 0x0369cd44, 0x024fac54, 0x01778fb6, 0x02e686be, 0x002b3f12}}, Y: Field{[10]uint32{0x02c52d87, 0x01c5a14a, 0x0037cb90, 0x01f3e6f4, 0x0176423f, 0x03b0a47f, 0x03a5b998, 0x0229ab4d, 0x0197d187, 0x000e1fd1}}}, + {X: Field{[10]uint32{0x0017a469, 0x00a95788, 0x020d9542, 0x039f5d19, 0x01d5fe35, 0x00a2948a, 0x03a892dd, 0x03a620bc, 0x0090a4c5, 0x000ab134}}, Y: Field{[10]uint32{0x03086c09, 0x03095c77, 0x01914a3b, 0x00afdd68, 0x01927d17, 0x03639a1a, 0x0279f2d7, 0x03b1151e, 0x01162aa3, 0x0018163d}}}, + {X: Field{[10]uint32{0x02badef6, 0x03d6139f, 0x0024e9c9, 0x03b09430, 0x02c9b1a3, 0x004f1f98, 0x03c235cd, 0x0315cb96, 0x013ffc13, 0x00004dfb}}, Y: Field{[10]uint32{0x02c6fdba, 0x0214daa3, 0x00bf54fb, 0x030bcdeb, 0x010319e7, 0x0321d63c, 0x003ff023, 0x013d442d, 0x01cc3a46, 0x000307a5}}}, + {X: Field{[10]uint32{0x033ecfe4, 0x013615fb, 0x02002cfe, 0x03dd63c2, 0x006cfb16, 0x00454ae5, 0x009f6068, 0x0228f4b2, 0x037a7214, 0x0000a280}}, Y: Field{[10]uint32{0x03973d10, 0x02ce613e, 0x03aa8a1b, 0x0093ea40, 0x02ec5951, 0x031b9e8e, 0x03788cf5, 0x037a6e34, 0x0250135c, 0x002cbd2d}}}, + {X: Field{[10]uint32{0x027a9eeb, 0x02b773c6, 0x000ae3bb, 0x016d7cd3, 0x0378ad6d, 0x01d869db, 0x01d426e8, 0x00cfef3a, 0x01518fd4, 0x000c0fb3}}, Y: Field{[10]uint32{0x01abb602, 0x0158ce66, 0x01385ea9, 0x00fa2761, 0x02cbd8dc, 0x009d72c6, 0x03a5945a, 0x02c67a59, 0x02443b73, 0x001a9ff2}}}, + {X: Field{[10]uint32{0x01533202, 0x008ce054, 0x0140a509, 0x01e7e2cc, 0x02c69cf0, 0x03595a6e, 0x001defd9, 0x03dc7099, 0x002e5680, 0x0033d8c1}}, Y: Field{[10]uint32{0x00eb4ee8, 0x03cd007b, 0x009b6b8f, 0x00ebd437, 0x00017664, 0x0386a90a, 0x01a20525, 0x03f715c6, 0x036dfb17, 0x000e7ccd}}}, + {X: Field{[10]uint32{0x031fe4b7, 0x01216a86, 0x0168c44f, 0x02a38b76, 0x0334a229, 0x0395b124, 0x0123b6f2, 0x027eda5a, 0x03efb4a4, 0x0033ebee}}, Y: Field{[10]uint32{0x029f9007, 0x034971b1, 0x02a160b5, 0x0260063e, 0x01f39506, 0x0075dbdc, 0x03afbc70, 0x005f8777, 0x034d4a9c, 0x003703b4}}}, + {X: Field{[10]uint32{0x010d363e, 0x034bcc4e, 0x0153d785, 0x01da6822, 0x004a7ffd, 0x00f1aa90, 0x0093ff7b, 0x009fa9a9, 0x01e10fd5, 0x003b038f}}, Y: Field{[10]uint32{0x027a35dd, 0x030a17e3, 0x03528fc5, 0x0303fcd4, 0x01723129, 0x005fd4f3, 0x02f3c6a7, 0x00d30420, 0x03ce3002, 0x00252f76}}}, + {X: Field{[10]uint32{0x032bcde0, 0x038a9012, 0x02f7f84b, 0x0213bac0, 0x0113e9cd, 0x000645af, 0x039c0c35, 0x008b3f52, 0x00d19144, 0x003c1f4f}}, Y: Field{[10]uint32{0x01637320, 0x007ddece, 0x018103aa, 0x001a2b8b, 0x01dfe912, 0x01b47dc1, 0x0048de51, 0x00c860df, 0x02facb39, 0x0033c325}}}, + {X: Field{[10]uint32{0x0248db10, 0x01c267cd, 0x003e2821, 0x01f799d9, 0x038a6fab, 0x00031e98, 0x0264ac0a, 0x00813a8c, 0x00b66f2e, 0x00129095}}, Y: Field{[10]uint32{0x02e5023a, 0x02acaf0b, 0x0157ac26, 0x0022eb2c, 0x01b187ab, 0x017df7e5, 0x03ef9891, 0x03f0d7be, 0x0229be93, 0x002d5443}}}, + {X: Field{[10]uint32{0x007774a8, 0x0204fa3a, 0x001d9b5d, 0x02c0e017, 0x01910285, 0x03d9c651, 0x02625829, 0x02bc74d7, 0x03cfb38e, 0x00015bce}}, Y: Field{[10]uint32{0x01ed9dc6, 0x029e9d74, 0x026bac57, 0x01c219df, 0x038a1e82, 0x0051fddc, 0x03f3e5ca, 0x01fe6a6a, 0x00e79e6b, 0x002a6e59}}}, + {X: Field{[10]uint32{0x03081295, 0x01586f9a, 0x03561ace, 0x021947f9, 0x01af6b98, 0x03aa9327, 0x02d95bff, 0x00bbf030, 0x034e07d3, 0x003e2763}}, Y: Field{[10]uint32{0x01bacc69, 0x03b1c663, 0x030d1449, 0x0145235d, 0x0075e48f, 0x01c61a65, 0x02656911, 0x00e19d8e, 0x031156a3, 0x003298cb}}}, + {X: Field{[10]uint32{0x03c5530b, 0x03948149, 0x02af9758, 0x00cf1b66, 0x032890b9, 0x007c3a4a, 0x02e4a075, 0x005bad42, 0x01a0d3e7, 0x00170de4}}, Y: Field{[10]uint32{0x03b34616, 0x03e2eae9, 0x021c3ca1, 0x0070cdab, 0x02c4ed86, 0x0244d24e, 0x01e30dae, 0x00b4445e, 0x03c62de5, 0x00113bc4}}}, + {X: Field{[10]uint32{0x03a38d27, 0x02804caa, 0x0233115f, 0x03c34e8f, 0x038ab94e, 0x01b3bab6, 0x00d71561, 0x0292b98b, 0x025ae6ba, 0x0009d21d}}, Y: Field{[10]uint32{0x03f69e48, 0x013c7c9d, 0x033590cd, 0x00cea4ec, 0x020f36b3, 0x031eba4a, 0x0105bbe6, 0x01dc3582, 0x019dde63, 0x001c7534}}}, + {X: Field{[10]uint32{0x0327e254, 0x00d8efae, 0x0145322e, 0x028116a5, 0x000d2c41, 0x01fb8f9e, 0x00e4ee18, 0x035de00b, 0x03a2f8ec, 0x002593c7}}, Y: Field{[10]uint32{0x00138a2e, 0x01598435, 0x022e6775, 0x0000ee60, 0x015137ae, 0x00b33988, 0x0081a5fa, 0x02a20fa5, 0x03cade64, 0x0031d12e}}}, + {X: Field{[10]uint32{0x01b8ca3b, 0x0217895e, 0x02754589, 0x001d3df4, 0x03ee758a, 0x01b0de7f, 0x003594fe, 0x0327ea14, 0x03758709, 0x0022fd81}}, Y: Field{[10]uint32{0x03dd51a4, 0x03986221, 0x03715a5a, 0x03b9c629, 0x02ccc193, 0x02c46343, 0x011cfb8f, 0x0375cbfd, 0x0192b3fb, 0x000f98e2}}}, + {X: Field{[10]uint32{0x02e06612, 0x008e3740, 0x015f5a10, 0x03603b83, 0x00fbff70, 0x036fb9e6, 0x03c5a95d, 0x008e70af, 0x01239189, 0x003e841c}}, Y: Field{[10]uint32{0x0168e7f1, 0x01311a3e, 0x03936c62, 0x0384b5dc, 0x02315a6b, 0x00757b07, 0x0133ea97, 0x02c29664, 0x015e1a4e, 0x00029833}}}, + {X: Field{[10]uint32{0x00975588, 0x00d39451, 0x0059383c, 0x00f2a251, 0x033fe250, 0x01e5f2e2, 0x03d145ef, 0x025ffb00, 0x02d09f6f, 0x0016d231}}, Y: Field{[10]uint32{0x006e30a0, 0x00428ea4, 0x03d83c64, 0x0114a01d, 0x02173d6c, 0x02597c4d, 0x0291762d, 0x0046f304, 0x02893526, 0x00113619}}}, + {X: Field{[10]uint32{0x02b94fd0, 0x03c6f2bb, 0x025b1ae8, 0x013552f2, 0x005d4e85, 0x0397a232, 0x025d1ea1, 0x01f8fca1, 0x03e823aa, 0x00203854}}, Y: Field{[10]uint32{0x006b9728, 0x01eb2ea8, 0x023f73ed, 0x00b01c60, 0x03c888a1, 0x03d3d904, 0x03a92d8e, 0x03046c04, 0x0229e435, 0x003b74ff}}}, + {X: Field{[10]uint32{0x01ccf2c4, 0x03b5b41e, 0x03e3dae7, 0x027c1ec7, 0x03cd25de, 0x0131b8a6, 0x0190dd15, 0x01d49b09, 0x01d977bf, 0x0005b889}}, Y: Field{[10]uint32{0x01710768, 0x00622b02, 0x0274dd85, 0x014b83e8, 0x0340088c, 0x033708ad, 0x02db82af, 0x01d551b4, 0x0123b9b5, 0x00381c0b}}}, + {X: Field{[10]uint32{0x01456938, 0x0247bf36, 0x013ce7a6, 0x028b78d6, 0x03bb064a, 0x02097af2, 0x021b65e7, 0x01b1d208, 0x020915a1, 0x0028d102}}, Y: Field{[10]uint32{0x00dbf40c, 0x01c24135, 0x0226bbe9, 0x00f79f0f, 0x0326fa5d, 0x03d0de99, 0x001323a7, 0x00aa3d59, 0x02a03a58, 0x003fdf1e}}}, + {X: Field{[10]uint32{0x01aa2b5f, 0x00c3a7b3, 0x037c80a0, 0x000e4fac, 0x018d6072, 0x00b564e1, 0x0320401f, 0x0111a008, 0x034cd116, 0x0020550c}}, Y: Field{[10]uint32{0x033d5142, 0x004e7196, 0x03d54150, 0x0361f55c, 0x0017126a, 0x02824522, 0x030676f4, 0x03939ec3, 0x014e5f97, 0x002ee902}}}, + {X: Field{[10]uint32{0x014d93c7, 0x039a96df, 0x01efa329, 0x0184f86d, 0x02fe7f23, 0x0138265d, 0x0092b257, 0x02eb28e8, 0x00ca27b5, 0x003244d2}}, Y: Field{[10]uint32{0x0176b44a, 0x0079cf16, 0x036399d6, 0x02550257, 0x01e7c372, 0x0006fed6, 0x020e62dc, 0x0268b141, 0x010de9d4, 0x00338907}}}, + {X: Field{[10]uint32{0x026e8a88, 0x0096435f, 0x024363ba, 0x0101cdf9, 0x01cf3629, 0x0272a592, 0x0235e995, 0x02b5319d, 0x01a879fe, 0x0025022d}}, Y: Field{[10]uint32{0x03994fc0, 0x005d915f, 0x00fdfcbf, 0x034a12e0, 0x00e02155, 0x007d1825, 0x02858d52, 0x004306fc, 0x010a26c7, 0x003842d0}}}, + {X: Field{[10]uint32{0x02bdd2ce, 0x00f9f975, 0x01b92e7d, 0x02436408, 0x02f80ddf, 0x02160aab, 0x020a159f, 0x0122e1e7, 0x0158eefe, 0x002e1474}}, Y: Field{[10]uint32{0x02d85469, 0x02f6a8b1, 0x0293f06a, 0x036394dd, 0x0060facf, 0x0271f560, 0x00c53f06, 0x00908707, 0x02e10079, 0x000a42b8}}}, + {X: Field{[10]uint32{0x013d10fc, 0x01c79ab9, 0x005eb1b9, 0x02e15368, 0x0387e7a5, 0x0394d824, 0x00053875, 0x00801d96, 0x034d4a7c, 0x00274c82}}, Y: Field{[10]uint32{0x01d7c456, 0x000fd1c9, 0x0306e796, 0x018729a0, 0x009b44be, 0x039e0ec3, 0x022acd0a, 0x006435a0, 0x037b6a1f, 0x0013dab2}}}, + {X: Field{[10]uint32{0x018ac7b5, 0x002a7a0d, 0x004c22f3, 0x0053401d, 0x01eaa491, 0x004e9362, 0x0386799d, 0x03b1953f, 0x00107b29, 0x001b5de6}}, Y: Field{[10]uint32{0x03823950, 0x028f9e76, 0x038804b0, 0x00d00ee8, 0x0177b2a3, 0x03899731, 0x0060a2ac, 0x013c26e8, 0x03cc105c, 0x0023de64}}}, + {X: Field{[10]uint32{0x017f6489, 0x02476a79, 0x0372d73c, 0x001cb209, 0x00680c96, 0x02015b4a, 0x017d62db, 0x013eda68, 0x02ce77e1, 0x002f6cb4}}, Y: Field{[10]uint32{0x03aa590d, 0x02790b96, 0x030c184c, 0x00000f0a, 0x0008a3bc, 0x029bd592, 0x038ecede, 0x00ec6773, 0x0371d43c, 0x0002707b}}}, + {X: Field{[10]uint32{0x0055b3fa, 0x03ff68fc, 0x02dea741, 0x02a34286, 0x001f7897, 0x01ceec16, 0x01b4787f, 0x002a5293, 0x00ff1ab7, 0x00126a33}}, Y: Field{[10]uint32{0x006ba426, 0x024a0a9b, 0x0243d8bd, 0x0053f5b7, 0x0115b419, 0x03814eb5, 0x02414ed6, 0x03af47b8, 0x02772049, 0x003ca634}}}, + {X: Field{[10]uint32{0x029d2236, 0x0285ce9d, 0x000d77f1, 0x014ad441, 0x013b3d56, 0x00c5e80b, 0x0267992d, 0x02dec158, 0x016eb466, 0x00328fdf}}, Y: Field{[10]uint32{0x02145c37, 0x036ec4a3, 0x021b7126, 0x02b7dbc6, 0x0090e538, 0x025a90b0, 0x00e6f2bf, 0x00e13bde, 0x02259dcf, 0x00289b58}}}, + {X: Field{[10]uint32{0x037176e4, 0x03a98c1c, 0x0065bc00, 0x02b699af, 0x01902e9c, 0x003422e6, 0x038469cb, 0x009f46d1, 0x0214f1c4, 0x002d9cb3}}, Y: Field{[10]uint32{0x00865efa, 0x022fdd9a, 0x03eddb81, 0x0142e312, 0x0083f4f5, 0x00f1695b, 0x020f1aff, 0x0145d89e, 0x01790001, 0x0005db02}}}, + {X: Field{[10]uint32{0x029c199b, 0x03244ebb, 0x0168bda3, 0x01e23cba, 0x022c26dd, 0x010dde2a, 0x01b6866f, 0x01886f5b, 0x0357d4ad, 0x002f72ea}}, Y: Field{[10]uint32{0x00df5603, 0x01548ca2, 0x03c11240, 0x003ba4f1, 0x021cee9f, 0x03585a36, 0x0075a338, 0x004ff5f7, 0x00729bb2, 0x001e61a2}}}, + {X: Field{[10]uint32{0x01fbf9f5, 0x00e12c95, 0x001961cb, 0x03420b60, 0x020d5bee, 0x0317d08f, 0x0064aa96, 0x01f7d5d3, 0x031e382f, 0x003d7c97}}, Y: Field{[10]uint32{0x02210221, 0x0277febc, 0x0324c98a, 0x01a03849, 0x00f54bc0, 0x02942934, 0x0393a829, 0x012ab960, 0x030b5ad8, 0x003a8e23}}}, + {X: Field{[10]uint32{0x02ae09c3, 0x002e2505, 0x0250aa73, 0x01261689, 0x03603720, 0x009d1f10, 0x026e280b, 0x02ae7872, 0x0064f9f8, 0x0034a841}}, Y: Field{[10]uint32{0x029c5962, 0x033da2c8, 0x01b454fd, 0x03aeacf0, 0x032c9ffa, 0x00b240ba, 0x00d8dcaf, 0x0194cc0a, 0x01ed8dc4, 0x003465c6}}}, + {X: Field{[10]uint32{0x00410038, 0x02068008, 0x0291cc5f, 0x00ffcffd, 0x0119058c, 0x03979aa9, 0x01221058, 0x01312f15, 0x02fee672, 0x00224956}}, Y: Field{[10]uint32{0x023fd7bd, 0x01f62bf6, 0x013e6914, 0x02d19c5c, 0x00c833c3, 0x03eead40, 0x0352ffb4, 0x0324d046, 0x02dd9560, 0x00023589}}}, + {X: Field{[10]uint32{0x016e3952, 0x004bef55, 0x03f94beb, 0x03c81b24, 0x015165e3, 0x01e06406, 0x027d73f5, 0x03bbb8a9, 0x0042c5ec, 0x001791a3}}, Y: Field{[10]uint32{0x00f240de, 0x01994163, 0x021edc38, 0x02d0e92b, 0x03ce1fde, 0x00c39003, 0x00b6a8c3, 0x025f8aae, 0x024a467f, 0x002be0f8}}}, + {X: Field{[10]uint32{0x019c4e2c, 0x021401fa, 0x0036d7fc, 0x023a4e14, 0x03552caf, 0x03d52ac0, 0x006850e8, 0x00662fd8, 0x03ac9eca, 0x001c30af}}, Y: Field{[10]uint32{0x02ea37b3, 0x03fadb35, 0x00591544, 0x010034b1, 0x023b45d9, 0x0033dd65, 0x00f99392, 0x02b95e2a, 0x0365f5ff, 0x00180c88}}}, + {X: Field{[10]uint32{0x01c2f318, 0x0107032e, 0x001eeab6, 0x006993a4, 0x03bbb0db, 0x031e58c3, 0x000f86d7, 0x01ad0814, 0x013afe5f, 0x0005850f}}, Y: Field{[10]uint32{0x036a8a94, 0x022c91f5, 0x01e68ecb, 0x009132b4, 0x039fd749, 0x0134734d, 0x0109561d, 0x02075e04, 0x00140bdf, 0x001c1e3a}}}, + {X: Field{[10]uint32{0x02b62bce, 0x01ba5985, 0x03ed029f, 0x02ddce82, 0x03e1326e, 0x003fd82a, 0x025b0346, 0x0059136c, 0x02ada934, 0x0022b0cf}}, Y: Field{[10]uint32{0x00945cc6, 0x0276ff46, 0x0005dc6d, 0x013f6918, 0x00ea9e61, 0x0266f694, 0x0055d0ed, 0x0062d2f4, 0x03566f0d, 0x0001b41d}}}, + {X: Field{[10]uint32{0x0166e22a, 0x02a78189, 0x03ce771e, 0x0096843e, 0x0270cb33, 0x038323ad, 0x01f01166, 0x03abf7bd, 0x00b89e7f, 0x0011dae6}}, Y: Field{[10]uint32{0x02a91050, 0x01743875, 0x03f4730c, 0x0176e03e, 0x00fd98bd, 0x0004bc88, 0x0138483c, 0x00ae19f8, 0x00418325, 0x000e36fc}}}, + {X: Field{[10]uint32{0x01497f11, 0x03114fbb, 0x03058a19, 0x01fc64a5, 0x012e383a, 0x0086b7e8, 0x0302bcb3, 0x0270ef4c, 0x02eff0de, 0x00393498}}, Y: Field{[10]uint32{0x022781d3, 0x01f3def3, 0x0050bfec, 0x0039f008, 0x01953d0c, 0x03a92400, 0x02070c49, 0x0048323c, 0x00fc2fd6, 0x00287e0c}}}, + {X: Field{[10]uint32{0x00b5cbf8, 0x0303f3fc, 0x019871be, 0x01e5065b, 0x03e2e092, 0x027ccf99, 0x00c4f7cb, 0x02f86fc6, 0x010f48f0, 0x0019ef21}}, Y: Field{[10]uint32{0x0352d32f, 0x0373ae17, 0x03355526, 0x02f24b83, 0x01b7e6fa, 0x034bc833, 0x013e9271, 0x0292c91a, 0x0070334a, 0x00389581}}}, + {X: Field{[10]uint32{0x02ef2797, 0x0147849c, 0x02b8d58f, 0x029689c4, 0x02b543a6, 0x00aac9d3, 0x024be020, 0x01250895, 0x02c5c0dd, 0x0014372c}}, Y: Field{[10]uint32{0x02b04ea0, 0x0227e352, 0x03ca890d, 0x01a8bddf, 0x038d2ea1, 0x01c17732, 0x03854b49, 0x01132671, 0x036fb69c, 0x000b2f00}}}, + {X: Field{[10]uint32{0x0358bd6e, 0x029edda1, 0x0287644b, 0x013a2644, 0x01f86080, 0x0377d599, 0x00a57f1b, 0x0123d07a, 0x01777849, 0x001b26f1}}, Y: Field{[10]uint32{0x03b3ff20, 0x003fd13a, 0x00260cd4, 0x005724a0, 0x03a04019, 0x00892406, 0x029ca3d1, 0x02b211cc, 0x01f35998, 0x0021299c}}}, + {X: Field{[10]uint32{0x0382a868, 0x01f12520, 0x010e7a33, 0x011919ce, 0x0128b441, 0x0231bab4, 0x03ceb361, 0x036ee67c, 0x03c6d27c, 0x00176b24}}, Y: Field{[10]uint32{0x002df508, 0x0292fe0d, 0x02d8bac2, 0x02e38c57, 0x008a91c2, 0x025dc13e, 0x034578aa, 0x0020b9d0, 0x00651805, 0x002195c8}}}, + {X: Field{[10]uint32{0x01780c86, 0x00af9f21, 0x0196f2ed, 0x002ad1ae, 0x03f6b2a4, 0x00c1cf03, 0x02e9484d, 0x015f85e9, 0x03c65e1c, 0x00081e40}}, Y: Field{[10]uint32{0x03f6a442, 0x018cf051, 0x02c14854, 0x020c4569, 0x020bbdcb, 0x00f85e8e, 0x00fd3107, 0x01353db1, 0x00202956, 0x0012d5a1}}}, + {X: Field{[10]uint32{0x02dc2f90, 0x0118884b, 0x011dd295, 0x01320a44, 0x036ffbc9, 0x00a0a0c3, 0x03351132, 0x024fa4ea, 0x03639be5, 0x00368097}}, Y: Field{[10]uint32{0x016d2723, 0x0250e0e4, 0x02e68eb6, 0x02997bd2, 0x00714def, 0x006b3d72, 0x02dea9a2, 0x0395dbc3, 0x01eba315, 0x0026d2b3}}}, + {X: Field{[10]uint32{0x02823cb1, 0x002943ec, 0x02ea5603, 0x03d7b91f, 0x012a0f61, 0x021f3c64, 0x026ffa6b, 0x02272084, 0x02cd01b4, 0x000c9fea}}, Y: Field{[10]uint32{0x00c33b9b, 0x03e7b3ee, 0x037e96b7, 0x019d7f85, 0x0314c00c, 0x000f97e2, 0x00c5ac29, 0x00026c51, 0x03426010, 0x00018d2a}}}, + {X: Field{[10]uint32{0x037e8084, 0x0091561e, 0x010cc79a, 0x005fd6fd, 0x006c9cab, 0x02746ff6, 0x013478ba, 0x03d18aa1, 0x03ee1619, 0x001133fe}}, Y: Field{[10]uint32{0x008e7da4, 0x031c535d, 0x01f64563, 0x00703f8d, 0x0176442a, 0x0041e691, 0x02f8c288, 0x0278a1fa, 0x03db6207, 0x002c2260}}}, + {X: Field{[10]uint32{0x02a6fe3a, 0x0085c381, 0x0393a43a, 0x02141203, 0x03beb197, 0x00d3477a, 0x01ad6797, 0x00338b08, 0x01ca1373, 0x00317651}}, Y: Field{[10]uint32{0x023cc3fb, 0x01efc6eb, 0x02f0446e, 0x03ec328f, 0x0374102f, 0x0392a707, 0x03f72878, 0x01c503d9, 0x011b4d8b, 0x0028eab4}}}, + {X: Field{[10]uint32{0x02c0de31, 0x0290b873, 0x019e677f, 0x03d90d4d, 0x01d4bf22, 0x03c76c3b, 0x032694b8, 0x03a4d446, 0x031984df, 0x003d3633}}, Y: Field{[10]uint32{0x01a30845, 0x02e970ba, 0x03f020c0, 0x01753ec3, 0x025b48a5, 0x01f8eff7, 0x02d76bfc, 0x0062035e, 0x01223aae, 0x0020f40b}}}, + {X: Field{[10]uint32{0x0037c4cd, 0x002b9f06, 0x02e707e5, 0x0387854e, 0x03a2dce0, 0x0343c3b9, 0x006380af, 0x002f2243, 0x01dc8e7b, 0x0004f5c8}}, Y: Field{[10]uint32{0x00841116, 0x01844ba2, 0x00d28e97, 0x004b57c5, 0x009309c4, 0x002bdf93, 0x039e8237, 0x015045fa, 0x01e3e157, 0x00318830}}}, + {X: Field{[10]uint32{0x0265ce1a, 0x018b8458, 0x01783928, 0x013389ec, 0x02516482, 0x013076bc, 0x03eb55d9, 0x019ca081, 0x03a666fc, 0x00397e7b}}, Y: Field{[10]uint32{0x000d9975, 0x00bc8f57, 0x0156c771, 0x033d4f82, 0x0201f0f3, 0x018f5e6d, 0x03f9fbe1, 0x00aed48b, 0x03e61830, 0x001402a7}}}, + {X: Field{[10]uint32{0x0319c9ec, 0x0180f0f0, 0x016988da, 0x038290fa, 0x02a48ea0, 0x009ec6cc, 0x027abb98, 0x0284dd96, 0x00bd0a1b, 0x001cfb8f}}, Y: Field{[10]uint32{0x02b38f58, 0x017b1686, 0x00744b0a, 0x03408386, 0x03bbc909, 0x00ba097c, 0x0330bd5a, 0x01a272fa, 0x02b44093, 0x00365a0c}}}, + {X: Field{[10]uint32{0x01990d91, 0x0074b3f1, 0x0255df10, 0x0007c09e, 0x003e0285, 0x0089d429, 0x03285e71, 0x01aeea04, 0x03c59404, 0x00046e4b}}, Y: Field{[10]uint32{0x00315417, 0x0245c5a9, 0x03b639fe, 0x03347655, 0x0023b324, 0x002526cb, 0x01cfcd08, 0x033f8103, 0x00aae20f, 0x003822c9}}}, + {X: Field{[10]uint32{0x0160935b, 0x032873e4, 0x006a0623, 0x0148d8bc, 0x01b1bf49, 0x008a9897, 0x014442a0, 0x003717ec, 0x029c22be, 0x000c10d9}}, Y: Field{[10]uint32{0x00d0eb34, 0x034b2189, 0x00a2206d, 0x02c9724b, 0x0341eead, 0x0349b886, 0x0152c044, 0x01f5afeb, 0x00b04bf4, 0x0037120d}}}, + {X: Field{[10]uint32{0x015f9a0c, 0x02d71f4f, 0x00495132, 0x0185aa72, 0x023f92aa, 0x001f7b12, 0x007622b4, 0x034510ae, 0x01aac290, 0x0012430e}}, Y: Field{[10]uint32{0x0126b986, 0x01a36b8a, 0x021eab3d, 0x03799dcf, 0x03110f87, 0x00f2cc53, 0x001361f7, 0x012a9bfa, 0x00fd5784, 0x00171db0}}}, + {X: Field{[10]uint32{0x0002d03a, 0x02c90ce4, 0x03f2d2bb, 0x02528f82, 0x023a4caf, 0x01cac310, 0x01fb2127, 0x00cd1f28, 0x015867d7, 0x003f7573}}, Y: Field{[10]uint32{0x03411995, 0x033a425d, 0x0117210b, 0x01321762, 0x01bd69f8, 0x02f25369, 0x035bcc06, 0x01af1dbe, 0x0007d1d2, 0x003bf97d}}}, + {X: Field{[10]uint32{0x00435ea9, 0x031405c5, 0x012d80e9, 0x02272b46, 0x00e2d359, 0x01956b10, 0x03db2722, 0x003f3910, 0x008eb083, 0x002f2284}}, Y: Field{[10]uint32{0x03c979f9, 0x01a6e4f8, 0x00d60220, 0x03d8a41f, 0x0076bd3a, 0x024c65b0, 0x008a384b, 0x0369d29c, 0x0258cbc3, 0x00249300}}}, + {X: Field{[10]uint32{0x02924b44, 0x0177e3ab, 0x02e3b339, 0x02904054, 0x012c706e, 0x00626273, 0x02e431a7, 0x02db2e1a, 0x036e41f4, 0x003b6026}}, Y: Field{[10]uint32{0x00315da8, 0x0326ff19, 0x01f8a324, 0x02642c46, 0x00bede66, 0x0251eaa2, 0x0142ffe0, 0x01562723, 0x005c0329, 0x0004d760}}}, + {X: Field{[10]uint32{0x00da52d8, 0x02145edb, 0x03276797, 0x0049e7a7, 0x00043982, 0x0390b5aa, 0x007d2f1e, 0x00781d05, 0x02c75d87, 0x0009ad42}}, Y: Field{[10]uint32{0x005dd7a0, 0x011aeb55, 0x005180e3, 0x02814879, 0x021fe37e, 0x00d253c3, 0x014b4c80, 0x01ba7c2c, 0x00638642, 0x00099667}}}, + {X: Field{[10]uint32{0x03e8efd5, 0x02e53527, 0x01dd725a, 0x00419de1, 0x01679f6b, 0x02241f3c, 0x02746ff9, 0x033351fd, 0x00de27d0, 0x00333b62}}, Y: Field{[10]uint32{0x03f5729a, 0x037d0f5c, 0x00825fe4, 0x019f38af, 0x00e2beba, 0x014ad09a, 0x036adc2c, 0x0212b2d2, 0x022b4dc5, 0x0016c3b7}}}, + {X: Field{[10]uint32{0x003c6249, 0x02a20f76, 0x032bb52d, 0x005863d1, 0x02bf3fe5, 0x01e221b3, 0x00429c11, 0x018cc8c2, 0x03cb3152, 0x00363b7d}}, Y: Field{[10]uint32{0x03984be3, 0x036bc1c5, 0x033437f3, 0x0201ad21, 0x0108c71b, 0x002e9a47, 0x03427e13, 0x03bbdb50, 0x003ec155, 0x00295aaf}}}, + {X: Field{[10]uint32{0x0164b4ef, 0x02dc711d, 0x02515c2f, 0x00414fd9, 0x02526489, 0x035b23f3, 0x0149aa5c, 0x00e9d542, 0x03c9f8db, 0x003b60b0}}, Y: Field{[10]uint32{0x00b2f0b4, 0x03a3f948, 0x00f39b06, 0x032057f3, 0x0141ddcc, 0x0112a291, 0x029a26d4, 0x034f1dbe, 0x014906d9, 0x0017b966}}}, + {X: Field{[10]uint32{0x018ca937, 0x006b910f, 0x0365e777, 0x02b61620, 0x005853b3, 0x01b54212, 0x026249d5, 0x03ad5017, 0x03aee89a, 0x001b89de}}, Y: Field{[10]uint32{0x01f40b8e, 0x01f408ce, 0x025b403f, 0x03713892, 0x008f9623, 0x00e845c3, 0x01a3fe66, 0x02529f0c, 0x03d81e6f, 0x002121c6}}}, + {X: Field{[10]uint32{0x00a03c5c, 0x00abee52, 0x00967f70, 0x0109d9da, 0x00f2f8b6, 0x0386bfe5, 0x01b12293, 0x00484159, 0x02c86727, 0x002bad9e}}, Y: Field{[10]uint32{0x00bde197, 0x0034875e, 0x0289b698, 0x02fcdc1f, 0x02747100, 0x01bfd6b1, 0x027898d6, 0x02700f37, 0x01889425, 0x003f34f1}}}, + {X: Field{[10]uint32{0x0283da79, 0x01f381d4, 0x03af23ba, 0x024e8f44, 0x00457531, 0x00e18cfa, 0x00967d1e, 0x031d5a53, 0x034baa20, 0x0027c1ff}}, Y: Field{[10]uint32{0x03f2136b, 0x017edff7, 0x02e36397, 0x03df656e, 0x0014308c, 0x02b28fc7, 0x03c5f363, 0x0185a3fc, 0x030d49d0, 0x002ba2df}}}, + {X: Field{[10]uint32{0x013e1520, 0x00e5755c, 0x03df7243, 0x0325dab3, 0x03baafc3, 0x02f15406, 0x004b3ef7, 0x036ae859, 0x0114a026, 0x0009011b}}, Y: Field{[10]uint32{0x02029ae6, 0x0219f32a, 0x016cd321, 0x0202eb43, 0x0037fd53, 0x00554d2d, 0x013cd0e9, 0x0028c6ea, 0x01e96dc4, 0x00099521}}}, + {X: Field{[10]uint32{0x033de519, 0x02f08cca, 0x010c913b, 0x02adf67e, 0x011806af, 0x015d39ae, 0x0344f48c, 0x03471a00, 0x0126bf8f, 0x00004dda}}, Y: Field{[10]uint32{0x01a61fa5, 0x02f9e575, 0x01ced56e, 0x014685d5, 0x018aed90, 0x01f4da5b, 0x02b2198e, 0x01309be1, 0x00e7c4b4, 0x0028d040}}}, + {X: Field{[10]uint32{0x035a7d6e, 0x03268fbb, 0x015f11ef, 0x02996073, 0x025e4c38, 0x0045aba0, 0x037c85fb, 0x0319a21f, 0x014e816c, 0x00250f1b}}, Y: Field{[10]uint32{0x029de8dd, 0x00c69825, 0x02b24eca, 0x01c0c5a7, 0x0274112f, 0x0220fb8d, 0x02351657, 0x0369b4a7, 0x0324f618, 0x00364f51}}}, + {X: Field{[10]uint32{0x005432d9, 0x002023a2, 0x03f53d4d, 0x0252bd82, 0x03a0f46e, 0x017d3e19, 0x03c9e61d, 0x0183f72b, 0x001f1592, 0x002b7e01}}, Y: Field{[10]uint32{0x03e57958, 0x01680dc6, 0x02d952b9, 0x01779b0f, 0x02c055ff, 0x03a42cdb, 0x0331bcbb, 0x0145bcf5, 0x021f99d2, 0x00313aae}}}, + {X: Field{[10]uint32{0x022dcc44, 0x014df01b, 0x01bb8d96, 0x01860c97, 0x01dc0d94, 0x001ea7ea, 0x01defb67, 0x02b82047, 0x0313a404, 0x0005705f}}, Y: Field{[10]uint32{0x01b6898e, 0x03ce0eba, 0x01dc679d, 0x01898359, 0x01a799fb, 0x0144b5e7, 0x0042b482, 0x0257a0da, 0x0352021f, 0x0021d034}}}, + {X: Field{[10]uint32{0x02cb8ca0, 0x012df372, 0x0143580e, 0x03b46b0c, 0x00966ec9, 0x01ae04f7, 0x01bd5758, 0x01665271, 0x03356236, 0x0021eeee}}, Y: Field{[10]uint32{0x022a48c4, 0x01892a34, 0x00a36f83, 0x03a472b5, 0x036a28f4, 0x00928fa6, 0x0214ccbe, 0x00f09257, 0x012c1bfc, 0x00005666}}}, + {X: Field{[10]uint32{0x031fa105, 0x01705da7, 0x00daf95b, 0x00f35751, 0x03564da7, 0x02ba710c, 0x0082b5fe, 0x01530678, 0x004a0964, 0x000e6f45}}, Y: Field{[10]uint32{0x016fb207, 0x01dec4c9, 0x019bcfa2, 0x009ccc0c, 0x01dadf15, 0x030f2a3e, 0x02be12eb, 0x03535be2, 0x011c30b5, 0x003ffa28}}}, + {X: Field{[10]uint32{0x003bca7a, 0x02ef592a, 0x00a9ab78, 0x01dbba5c, 0x00a1c696, 0x0196cbd3, 0x0399bfe2, 0x030319ae, 0x034f9bce, 0x0031393a}}, Y: Field{[10]uint32{0x02bfc286, 0x012283a5, 0x03cb7c22, 0x00ed13f0, 0x012ecb49, 0x001798e0, 0x024be2bd, 0x02e712f3, 0x003d316c, 0x0006ee6a}}}, + {X: Field{[10]uint32{0x03244e69, 0x0392bb33, 0x01801488, 0x00d3d4f0, 0x028b53f0, 0x023280d7, 0x01dd2f44, 0x034cd3c3, 0x03831c80, 0x003060f9}}, Y: Field{[10]uint32{0x01a8b820, 0x00c362f6, 0x020b1593, 0x02552539, 0x0008ff2f, 0x03770203, 0x03389268, 0x007520f6, 0x02aac771, 0x003e663f}}}, + {X: Field{[10]uint32{0x02d47d92, 0x0309007f, 0x03b6be39, 0x03655d4e, 0x027ac812, 0x00dd3674, 0x013b630f, 0x038423c2, 0x03ac22a2, 0x00267475}}, Y: Field{[10]uint32{0x02d0e1f0, 0x031378d4, 0x008b039c, 0x00f70d9b, 0x0352080a, 0x00daa25e, 0x01ca3d9b, 0x038d07a3, 0x033488df, 0x000299f4}}}, + {X: Field{[10]uint32{0x0161cea5, 0x033324ab, 0x012bc5c3, 0x00e79fd7, 0x02985a33, 0x01a42420, 0x03d6f187, 0x0226ef7c, 0x025d16cd, 0x00381c02}}, Y: Field{[10]uint32{0x00a0b0f0, 0x025381dc, 0x007e3bd9, 0x00a529eb, 0x001fd08b, 0x02756708, 0x03ec97bc, 0x00fea102, 0x03e03895, 0x0009bdaa}}}, + {X: Field{[10]uint32{0x01a7e721, 0x021e8f98, 0x0268b554, 0x01734fe9, 0x025415e9, 0x01ea98bb, 0x03813b56, 0x0360e546, 0x02e8cf36, 0x002c66fd}}, Y: Field{[10]uint32{0x0170153d, 0x00fe2e46, 0x01041fc0, 0x016e9dc2, 0x0246c105, 0x030439c4, 0x019f59e4, 0x036cbb35, 0x00a5ca2c, 0x0018c39e}}}, + {X: Field{[10]uint32{0x0371fd44, 0x039b867f, 0x03943c6f, 0x01c870cc, 0x0039abaf, 0x025c051d, 0x0027adfa, 0x0343b220, 0x0156e90d, 0x00094024}}, Y: Field{[10]uint32{0x033afc11, 0x019b87d5, 0x01dec9c4, 0x0000b467, 0x01b78255, 0x02e4ce16, 0x014ed74c, 0x01d8c808, 0x03dc8647, 0x000c9011}}}, + {X: Field{[10]uint32{0x01a3e4ae, 0x02e14e18, 0x00681771, 0x007e588e, 0x02aca501, 0x03531402, 0x030c98d9, 0x0174726e, 0x03e8bbe4, 0x0011739f}}, Y: Field{[10]uint32{0x0392f8b1, 0x0018b908, 0x008327ca, 0x01d804d6, 0x019e41b1, 0x02db1fd9, 0x00725702, 0x02e3c297, 0x02afd1ad, 0x00232f08}}}, + {X: Field{[10]uint32{0x019ec059, 0x020522d8, 0x026834e3, 0x014d0ec4, 0x02b939e9, 0x028a1bbd, 0x03392120, 0x01ff19f7, 0x0107d3a2, 0x001cc955}}, Y: Field{[10]uint32{0x01c35b63, 0x013a4fc9, 0x00e28a35, 0x03b44d13, 0x00eeba10, 0x03b5b233, 0x00f3deda, 0x0008376c, 0x02e6e941, 0x000c5d35}}}, + {X: Field{[10]uint32{0x0011df58, 0x0002b072, 0x03885978, 0x00b68481, 0x03602596, 0x0322eb4f, 0x009a9458, 0x030e787b, 0x02f401c6, 0x0025acb3}}, Y: Field{[10]uint32{0x027fa8cd, 0x009271a2, 0x01a997d1, 0x00b660f7, 0x002fbf9e, 0x003000d7, 0x01ab5b7c, 0x02b498eb, 0x012141b4, 0x003b617b}}}, + {X: Field{[10]uint32{0x02b9c772, 0x00fbbd90, 0x01cdbb98, 0x0324dc09, 0x0357f23c, 0x0244aba1, 0x007bebb0, 0x02ca2a8c, 0x001cd941, 0x0015d906}}, Y: Field{[10]uint32{0x00ac7089, 0x0234afb8, 0x01b8ef2c, 0x0133cf38, 0x01249576, 0x0115e90f, 0x01f64375, 0x0023f76d, 0x034fc239, 0x003a05ce}}}, + {X: Field{[10]uint32{0x03ec1b61, 0x00a7b724, 0x02c60efd, 0x028e0aed, 0x02ea16d2, 0x0356c9e0, 0x031e3145, 0x0141580a, 0x00397e96, 0x000e3b1e}}, Y: Field{[10]uint32{0x018ec96e, 0x0353258c, 0x01089744, 0x00c47354, 0x02f522e6, 0x012fc995, 0x02caa3ba, 0x0378b362, 0x02a4c7b6, 0x002b3c13}}}, + {X: Field{[10]uint32{0x02c0b572, 0x03b55e5d, 0x01eb8b7a, 0x03752ca1, 0x0179c9f7, 0x0023dce2, 0x00439fa1, 0x0071e5d6, 0x038013d0, 0x001bb13b}}, Y: Field{[10]uint32{0x0098be7e, 0x006e8bf2, 0x004df13c, 0x01abd7cf, 0x017a6d26, 0x03adabc5, 0x026560e3, 0x03b37c0e, 0x0242e618, 0x0008ca39}}}, + {X: Field{[10]uint32{0x0377141b, 0x0249127b, 0x027ba884, 0x020713b5, 0x034c40a5, 0x029da1a0, 0x000fc149, 0x01ec6940, 0x036b30c2, 0x00363687}}, Y: Field{[10]uint32{0x01519758, 0x00ecd20b, 0x007dc49a, 0x0385c9ca, 0x03d92464, 0x00e4e1f5, 0x038c3108, 0x024b3c0a, 0x02d6876d, 0x00332d4c}}}, + {X: Field{[10]uint32{0x037ccb90, 0x03b458a3, 0x022b4e5f, 0x01b0ce1c, 0x026894d3, 0x032a1287, 0x02aa9f0e, 0x01c3b259, 0x00027349, 0x00213c95}}, Y: Field{[10]uint32{0x035cd8b1, 0x0308648c, 0x02944983, 0x00df4e51, 0x0109bee1, 0x027c18c6, 0x017d283d, 0x018c0b32, 0x0109f07e, 0x003cb5ff}}}, + {X: Field{[10]uint32{0x029503e3, 0x02cb7733, 0x00038136, 0x03533c02, 0x033adabf, 0x00761bfd, 0x01190e39, 0x010dca16, 0x02b55887, 0x003bd9d4}}, Y: Field{[10]uint32{0x03131c56, 0x00567e0f, 0x010f91e6, 0x0391850e, 0x0273f949, 0x02373e63, 0x03aa6759, 0x02d1e5f2, 0x0250013c, 0x0008f672}}}, + {X: Field{[10]uint32{0x0085ba6d, 0x02f0b004, 0x02a46602, 0x01d3f845, 0x00fe198f, 0x01df1ddb, 0x001cb52c, 0x0399f3d9, 0x01903b3f, 0x003e2361}}, Y: Field{[10]uint32{0x0208742d, 0x001fedee, 0x03a32405, 0x028a39b3, 0x0021da61, 0x0377c539, 0x0295714c, 0x02b5a28d, 0x02bd2178, 0x00162bca}}}, + {X: Field{[10]uint32{0x01b9c01c, 0x037805cb, 0x01354645, 0x03543457, 0x0218cde6, 0x0177b5f4, 0x01daaa8c, 0x02e5719d, 0x01bdd366, 0x0024edce}}, Y: Field{[10]uint32{0x01cf3627, 0x02e21b89, 0x03fb4748, 0x03c71f22, 0x017afea5, 0x02b83f2b, 0x03af5b96, 0x023aa98c, 0x01356c2f, 0x000093b1}}}, + {X: Field{[10]uint32{0x00443394, 0x00fc88c0, 0x00f95d41, 0x02496260, 0x006d313b, 0x02030455, 0x0382f801, 0x03968b6f, 0x0004da7a, 0x001ccb3d}}, Y: Field{[10]uint32{0x01596953, 0x035e2693, 0x01e431b7, 0x021054f2, 0x02e88200, 0x029dded5, 0x02eae580, 0x02e42a40, 0x03261758, 0x002163a0}}}, + {X: Field{[10]uint32{0x01d36e32, 0x0296652a, 0x02f7528e, 0x00ad6f92, 0x0365fc25, 0x006e0e2d, 0x002e024a, 0x0000b4fe, 0x03192c40, 0x003bf781}}, Y: Field{[10]uint32{0x01d9107b, 0x00be034f, 0x01483f0c, 0x02d5a751, 0x03b8dd69, 0x020ea71b, 0x02635851, 0x00d5da46, 0x035c3a15, 0x00227074}}}, + {X: Field{[10]uint32{0x02c90a15, 0x03764307, 0x034a6b42, 0x016e6c69, 0x02f114e6, 0x02a542f6, 0x0020c1cd, 0x00ce49d9, 0x02f28069, 0x0027bb6a}}, Y: Field{[10]uint32{0x03164de2, 0x022e81f4, 0x035337de, 0x03842b0e, 0x0226f427, 0x0134a314, 0x009728da, 0x010334c9, 0x00247fa5, 0x0004e677}}}, + {X: Field{[10]uint32{0x01433195, 0x034f5086, 0x017dd877, 0x031f52e8, 0x03775805, 0x03f6d21f, 0x01eaafeb, 0x028851a7, 0x028d342a, 0x0008fc3a}}, Y: Field{[10]uint32{0x03699b03, 0x02ff5182, 0x0306e4fc, 0x030e79f0, 0x0163444d, 0x0353a4f0, 0x032ca8d1, 0x02071574, 0x0231d2a4, 0x0037071b}}}, + {X: Field{[10]uint32{0x03e060b8, 0x032ddbaa, 0x0052c074, 0x003538cc, 0x02edd47c, 0x01a8c174, 0x0116e827, 0x02798162, 0x027058c2, 0x00003614}}, Y: Field{[10]uint32{0x010cfac8, 0x03f69baf, 0x012583a2, 0x02da2a68, 0x0384d497, 0x027a9264, 0x009e5105, 0x016ee57b, 0x0104e4db, 0x00268392}}}, + {X: Field{[10]uint32{0x009f28b8, 0x02411acc, 0x0363ad4d, 0x00ddeacd, 0x00f7d36b, 0x0033ce18, 0x022d2d19, 0x00481164, 0x015cccf9, 0x0006cd32}}, Y: Field{[10]uint32{0x0151e948, 0x0128478a, 0x0008f6f1, 0x03a246ed, 0x01f7080d, 0x0181f2d3, 0x0078c3d2, 0x0198ead9, 0x020c3f5f, 0x001c308c}}}, + {X: Field{[10]uint32{0x0384b228, 0x02851cd2, 0x028c28fc, 0x00d85263, 0x0289569d, 0x03c41c1e, 0x016d4e20, 0x0165aedd, 0x03dcae5e, 0x000c9563}}, Y: Field{[10]uint32{0x02038d86, 0x0241be45, 0x03cfb501, 0x0381d2db, 0x01fe63f6, 0x0356ab36, 0x03978c43, 0x01d56ec8, 0x00b75ed5, 0x001dd66a}}}, + {X: Field{[10]uint32{0x01984acd, 0x032c7a37, 0x02bf8577, 0x03b3e8f5, 0x016028d7, 0x00102bef, 0x01a38202, 0x02f15ce4, 0x037737d2, 0x00192062}}, Y: Field{[10]uint32{0x01ca2300, 0x001d225c, 0x03e1f057, 0x03b29c99, 0x012cf895, 0x0298c12f, 0x027b8914, 0x01553648, 0x01346ae9, 0x001080ae}}}, + {X: Field{[10]uint32{0x0177b333, 0x00b61f63, 0x031aae57, 0x0015cb86, 0x01bcd337, 0x010a2154, 0x02a23732, 0x01f2d50a, 0x02c6ec2d, 0x0031abda}}, Y: Field{[10]uint32{0x02c78cbf, 0x031f36b7, 0x023529fc, 0x022e17c8, 0x015d5af1, 0x034101fb, 0x02393bcd, 0x028b7c63, 0x01594ae5, 0x003fff95}}}, + {X: Field{[10]uint32{0x00f1cef0, 0x00378fa9, 0x02f13a8b, 0x00d0a3ba, 0x002e7a9e, 0x03ccbf51, 0x022a0317, 0x004be03e, 0x004494ea, 0x00247e3f}}, Y: Field{[10]uint32{0x0154dbcf, 0x03fdb669, 0x02a42481, 0x0097aba8, 0x03e76c22, 0x003309ab, 0x02765f42, 0x007742b1, 0x007ad81b, 0x0001a829}}}, + {X: Field{[10]uint32{0x01c1c017, 0x00ff1084, 0x016c8e35, 0x01848cd7, 0x02dc610a, 0x030056d1, 0x01b081fd, 0x03d5f21e, 0x01fa6a26, 0x0038566a}}, Y: Field{[10]uint32{0x013e8851, 0x0126beaa, 0x010b6bd7, 0x031f2a07, 0x00f1c181, 0x013077cb, 0x01656f9b, 0x0380269d, 0x0243445a, 0x00308271}}}, + {X: Field{[10]uint32{0x00f9330b, 0x02fae969, 0x01813556, 0x01a6e279, 0x031a7051, 0x001b4a0f, 0x011eda9c, 0x00ea5c48, 0x005e135f, 0x003a3a7f}}, Y: Field{[10]uint32{0x01af0abb, 0x02c4353a, 0x01553fe0, 0x02e7cff1, 0x01c88423, 0x03c7912d, 0x03b55fa6, 0x03a3db69, 0x00993b73, 0x003a2e5a}}}, + {X: Field{[10]uint32{0x000edead, 0x010d4daf, 0x035b1642, 0x0062bbbe, 0x0011aa98, 0x004ce12d, 0x0027ec6e, 0x013030db, 0x0129d5ae, 0x003cfd75}}, Y: Field{[10]uint32{0x033d34b9, 0x016f9876, 0x02ae533f, 0x00190f94, 0x021dd1e3, 0x03f1782a, 0x01abbc4f, 0x0304ccd1, 0x02431e40, 0x000fdd01}}}, + {X: Field{[10]uint32{0x00c81159, 0x013db5db, 0x0206a02e, 0x01727285, 0x0209eae6, 0x00505d80, 0x039acffe, 0x02ee6b86, 0x0030f5d8, 0x00316dd9}}, Y: Field{[10]uint32{0x032429c1, 0x03a1b633, 0x00fad0d2, 0x00ce6800, 0x0229b139, 0x02454e02, 0x00875916, 0x02426090, 0x03097008, 0x00201a27}}}, + {X: Field{[10]uint32{0x00fc09b0, 0x01442703, 0x00261e93, 0x0191ca25, 0x00ff2755, 0x03edb6d4, 0x02d30c9f, 0x0241d117, 0x00b434f5, 0x002552a9}}, Y: Field{[10]uint32{0x0072e4ad, 0x01974f43, 0x00ec5832, 0x01ba029c, 0x03a808b7, 0x00ec3f3c, 0x0176be8b, 0x00b095b3, 0x02861bad, 0x002008f2}}}, + {X: Field{[10]uint32{0x023d528b, 0x03c4cd5b, 0x00249d6d, 0x01512eed, 0x021b96ee, 0x002960cd, 0x020c9b93, 0x03cce4c0, 0x00bb4803, 0x0001576a}}, Y: Field{[10]uint32{0x02e5b64c, 0x03bdf38c, 0x02575799, 0x0134d568, 0x002387b1, 0x02805e17, 0x00bb209d, 0x03a7d61b, 0x0388ca06, 0x00373112}}}, + {X: Field{[10]uint32{0x03a1de03, 0x01fe2ee8, 0x0236877a, 0x02f285db, 0x01db59ea, 0x0098ad38, 0x02d48d3d, 0x02ca1ac2, 0x0000d810, 0x0020213a}}, Y: Field{[10]uint32{0x03dc1480, 0x0223f118, 0x00f85e08, 0x02b3acd2, 0x00070d60, 0x02f17e60, 0x0309c129, 0x0197f027, 0x029c59f8, 0x00362fba}}}, + {X: Field{[10]uint32{0x0318b39b, 0x03be9055, 0x00bd7f85, 0x005ec030, 0x03d15e02, 0x00252526, 0x00f49a15, 0x01fe21d2, 0x02c236c8, 0x0006caed}}, Y: Field{[10]uint32{0x01029c74, 0x006b4514, 0x001dc810, 0x00b02c3a, 0x00c3c3f4, 0x01afaa69, 0x03dd0180, 0x03cdbbc6, 0x01956aad, 0x0008592c}}}, + {X: Field{[10]uint32{0x00377872, 0x0368e295, 0x02d84830, 0x03667e46, 0x01de9139, 0x034bfafb, 0x01c65ce3, 0x030dcb97, 0x03e80125, 0x003ee9a1}}, Y: Field{[10]uint32{0x03e001c9, 0x00fb049c, 0x03f83092, 0x03c95fd2, 0x0355aabb, 0x0016a584, 0x00a7a821, 0x02540729, 0x02df03b8, 0x0022513a}}}, + {X: Field{[10]uint32{0x01560cbd, 0x038b7fbf, 0x03a948aa, 0x017bc246, 0x03d21e15, 0x0168b5e5, 0x00699c97, 0x0305bfe7, 0x0380a5f1, 0x002d6392}}, Y: Field{[10]uint32{0x02cec3ec, 0x02944a14, 0x02fec937, 0x01f64097, 0x0304606f, 0x00b5aaa5, 0x031b7f41, 0x02fe9b95, 0x02ba1429, 0x003ffe72}}}, + {X: Field{[10]uint32{0x0026edec, 0x03c5f38d, 0x02900fce, 0x01f2750e, 0x00114fdb, 0x00171af9, 0x0222551e, 0x01b08554, 0x0126da5d, 0x0023af35}}, Y: Field{[10]uint32{0x013aa97e, 0x01f7e194, 0x0021eae9, 0x00d2bbb7, 0x03de11f0, 0x014bd519, 0x02aafb1a, 0x0006d8fa, 0x03986b33, 0x001ce83e}}}, + {X: Field{[10]uint32{0x03ee325e, 0x0159a446, 0x00d2dbb9, 0x00c99010, 0x037354e0, 0x025c5526, 0x01c68f0e, 0x00a7a257, 0x000b924b, 0x003ee915}}, Y: Field{[10]uint32{0x0105ebd4, 0x039bd464, 0x0321b6c9, 0x009c5bd4, 0x02290f3c, 0x0394a10e, 0x02ba0d07, 0x015eb8d0, 0x00c33b98, 0x0014a422}}}, + {X: Field{[10]uint32{0x039c44de, 0x01bd3a2f, 0x025b0ab4, 0x025d946c, 0x02ce014c, 0x01bcfcdb, 0x006301a6, 0x034c91b6, 0x0097a1a7, 0x0022de8b}}, Y: Field{[10]uint32{0x00b247c7, 0x00ca3f69, 0x017b94cb, 0x02110ff0, 0x027c88a6, 0x007a9d4d, 0x006c1f47, 0x00d6cd9e, 0x00ab699c, 0x002e0a15}}}, + {X: Field{[10]uint32{0x02d2279c, 0x00e6963a, 0x0096f40c, 0x01dd2f52, 0x03931796, 0x006ea426, 0x0003bbba, 0x01c5539c, 0x03435adb, 0x00277c45}}, Y: Field{[10]uint32{0x01b884eb, 0x03c866d0, 0x02f8377e, 0x019775e8, 0x01d45668, 0x01eae190, 0x02913d6e, 0x0330db0d, 0x034ea216, 0x0029e48b}}}, + {X: Field{[10]uint32{0x02931cd8, 0x02b6b915, 0x03e9e414, 0x005707e6, 0x02c54b62, 0x01cc5224, 0x02fd9e73, 0x0111320b, 0x0384749b, 0x0016fade}}, Y: Field{[10]uint32{0x03abb95c, 0x0183a6cb, 0x01f7b64f, 0x03f3ad47, 0x03d32b7c, 0x03cc23bf, 0x02753fbf, 0x0029f0a3, 0x025f32cd, 0x00026790}}}, + {X: Field{[10]uint32{0x00788879, 0x004abd93, 0x02f43cd5, 0x01745c19, 0x01c9f8ed, 0x028edec2, 0x005114f4, 0x0012e9e3, 0x00430ff2, 0x000aa0c3}}, Y: Field{[10]uint32{0x02666c84, 0x02588c18, 0x0286561e, 0x00267b90, 0x009ba148, 0x0081fac0, 0x02827fed, 0x00994bae, 0x03a4e888, 0x00004948}}}, + {X: Field{[10]uint32{0x0057486a, 0x02488787, 0x014191b6, 0x00500670, 0x00985a77, 0x0334cb65, 0x00ab408b, 0x00a8639a, 0x02a14c1f, 0x003dc691}}, Y: Field{[10]uint32{0x00534875, 0x01d6db48, 0x00f0aef6, 0x00feca07, 0x034fac44, 0x03303683, 0x00ce36a4, 0x02694d3f, 0x033e0ea7, 0x002b7c66}}}, + {X: Field{[10]uint32{0x029d193b, 0x010da9f1, 0x012fdcb6, 0x02acdb10, 0x00bbad2b, 0x01f58f03, 0x00ae2d9f, 0x00acc59e, 0x01dcaa9c, 0x000ae039}}, Y: Field{[10]uint32{0x022119c3, 0x00875880, 0x00ffa276, 0x00670821, 0x038f3c90, 0x0141891e, 0x001ce04c, 0x00018ada, 0x004d71d6, 0x002f20f8}}}, + {X: Field{[10]uint32{0x023beece, 0x0148d739, 0x01d5bb97, 0x00300f11, 0x0175424a, 0x011124d0, 0x0375b58d, 0x031a71a0, 0x033be521, 0x001272f7}}, Y: Field{[10]uint32{0x0062de7f, 0x01b12697, 0x017a8ae4, 0x03c558e6, 0x0291d260, 0x00e84dab, 0x0356abad, 0x039f3b0d, 0x02eaf0f0, 0x00315857}}}, + {X: Field{[10]uint32{0x029ee1b2, 0x016e8c73, 0x0373979c, 0x00ee72a1, 0x03f7aa66, 0x03741c3d, 0x015e2f31, 0x02c45648, 0x0314b643, 0x00339351}}, Y: Field{[10]uint32{0x02feac38, 0x023f76c7, 0x010aad6f, 0x02d08030, 0x00479745, 0x0188406c, 0x0359ef5e, 0x00ea8d36, 0x0212a2fc, 0x002c7cd7}}}, + {X: Field{[10]uint32{0x01e10054, 0x00b53758, 0x01656299, 0x01e7b5f1, 0x01a8bef4, 0x03562071, 0x013bb1b5, 0x016b0e36, 0x02bbaa90, 0x001a09ed}}, Y: Field{[10]uint32{0x016bb869, 0x03e3b3ca, 0x0064d1af, 0x009dfbc8, 0x0030fc37, 0x016007d5, 0x00484279, 0x00083646, 0x007baf65, 0x0021492a}}}, + {X: Field{[10]uint32{0x0056535f, 0x03d2b460, 0x0112519a, 0x0062c5b7, 0x00ab9472, 0x000e9268, 0x037879aa, 0x035fc71e, 0x00d548f4, 0x00039c79}}, Y: Field{[10]uint32{0x0232f574, 0x006ece03, 0x01c09f0d, 0x01a0f7b4, 0x0383aeed, 0x02d72604, 0x03e3beda, 0x02cf55bd, 0x00617098, 0x00125741}}}, + {X: Field{[10]uint32{0x0200e032, 0x00199f1b, 0x02542632, 0x005a1cf3, 0x00656528, 0x00ffb69a, 0x036aa32a, 0x03ecc350, 0x01797429, 0x003bda0e}}, Y: Field{[10]uint32{0x0134613f, 0x028d8d41, 0x01404fbb, 0x001bc053, 0x0002f175, 0x006229ab, 0x01ed846f, 0x025fa03f, 0x024ade11, 0x002d2c63}}}, + {X: Field{[10]uint32{0x012deaf4, 0x0162c0f9, 0x0245b0a2, 0x00db07b1, 0x01dd557e, 0x038bbb61, 0x008007d0, 0x01fbffa4, 0x01c1ac8f, 0x000031ca}}, Y: Field{[10]uint32{0x021305fe, 0x01fafd15, 0x00f27bde, 0x02242b0e, 0x0312365b, 0x00cd6821, 0x02bade6a, 0x013dab17, 0x01c21858, 0x000ba0fb}}}, + {X: Field{[10]uint32{0x015735ab, 0x031fec44, 0x0288cc1c, 0x03088492, 0x01290d54, 0x02b8b7b4, 0x03c4f2c3, 0x01b54eca, 0x01199a71, 0x0033c74e}}, Y: Field{[10]uint32{0x0100e6e6, 0x02dc35b7, 0x029089b7, 0x03bab550, 0x03c276c8, 0x02ae14e2, 0x0180970d, 0x0100b3a2, 0x01a57ec3, 0x001ad13d}}}, + {X: Field{[10]uint32{0x03ecdeae, 0x03582696, 0x00f55cf9, 0x01ffe0b6, 0x01a9c28a, 0x03a4369d, 0x031f772e, 0x03b8a3cf, 0x03a0266d, 0x001b3cf5}}, Y: Field{[10]uint32{0x01bc58d4, 0x037ebad2, 0x01e14034, 0x02d3113b, 0x00ede5c9, 0x0366a66f, 0x01b9cf94, 0x03338a25, 0x03b31e11, 0x000ef463}}}, + {X: Field{[10]uint32{0x01395542, 0x01d2701f, 0x00be7f28, 0x02bb3e0c, 0x0256393c, 0x0002ba4c, 0x02e4274f, 0x03bb2b37, 0x0032ae63, 0x003692d6}}, Y: Field{[10]uint32{0x01b2210b, 0x03220633, 0x00ec4dfe, 0x038c6da5, 0x02106374, 0x005a12e4, 0x01610c9d, 0x0103c605, 0x023bd2d9, 0x0026aaec}}}, + {X: Field{[10]uint32{0x0330bbfa, 0x0357de90, 0x002d4b8a, 0x0043a561, 0x03407d1a, 0x03a8b1af, 0x0063270c, 0x00385be7, 0x03502321, 0x003e46b8}}, Y: Field{[10]uint32{0x013aa1c2, 0x00421ae4, 0x01e161b5, 0x010ccd94, 0x0153c915, 0x034f46bc, 0x029290ef, 0x0095cd65, 0x01acd196, 0x00007c58}}}, + {X: Field{[10]uint32{0x02f1ac02, 0x021d2cbc, 0x0025556c, 0x01cfe872, 0x02c72e3f, 0x01cca149, 0x0047c862, 0x00a8b916, 0x0352cc3e, 0x001f86fb}}, Y: Field{[10]uint32{0x02f6e6fe, 0x0305e1f9, 0x017f44c4, 0x008fba36, 0x0008ff05, 0x003f13d4, 0x03048fee, 0x03934f6d, 0x037ea706, 0x002f92c3}}}, + {X: Field{[10]uint32{0x03d5998f, 0x03f20534, 0x020ecb27, 0x03c52f9c, 0x03706567, 0x03724bad, 0x00e256cc, 0x00bb8dd2, 0x015d30dc, 0x0003749a}}, Y: Field{[10]uint32{0x032dc74f, 0x000a8668, 0x0396ed1a, 0x0103c3c2, 0x01bba677, 0x01151cad, 0x027cf998, 0x02004e7b, 0x0044f102, 0x0026bccb}}}, + {X: Field{[10]uint32{0x009dbb9d, 0x002ccdd9, 0x037c94d2, 0x02550fec, 0x02125fe3, 0x00ceddb6, 0x02602ba0, 0x018f2344, 0x02507147, 0x001e3eb9}}, Y: Field{[10]uint32{0x03ce3aa6, 0x0388d46f, 0x00ce121d, 0x00c81989, 0x00c3b925, 0x02bc7fa9, 0x01826e5e, 0x03339bd9, 0x000f0726, 0x001e3713}}}, + {X: Field{[10]uint32{0x01c98bd5, 0x02498da3, 0x018dfee6, 0x02e16476, 0x021b6fb6, 0x0005ad16, 0x01d3e00d, 0x01774aa8, 0x021e510e, 0x0007b7d4}}, Y: Field{[10]uint32{0x01311f86, 0x02369055, 0x00a59751, 0x034d8efb, 0x00aeafd8, 0x006ac3c8, 0x034d8177, 0x026e3743, 0x016d9b2e, 0x00268340}}}, + {X: Field{[10]uint32{0x00101d39, 0x01aa8634, 0x02b4d416, 0x0250dd58, 0x007ce286, 0x00f31a79, 0x013272cd, 0x02d82e45, 0x030c5e53, 0x002181ee}}, Y: Field{[10]uint32{0x02eb519a, 0x0159b565, 0x00e988ef, 0x015c9e49, 0x02388707, 0x01922be3, 0x01a294aa, 0x0195070d, 0x031ec83c, 0x00005728}}}, + {X: Field{[10]uint32{0x02d02eab, 0x02d97de5, 0x02df7166, 0x001e44bc, 0x03037f96, 0x010ae6ed, 0x020dbb7c, 0x000fde02, 0x000d9a05, 0x00197f4c}}, Y: Field{[10]uint32{0x02a3b5d9, 0x02e4a2d3, 0x00aa5335, 0x00f3513b, 0x02904caf, 0x03dad0fc, 0x03945401, 0x02a14847, 0x035084fb, 0x003f3454}}}, + {X: Field{[10]uint32{0x0002d148, 0x03c51633, 0x03f99f47, 0x02a4cc24, 0x0336d031, 0x01332fac, 0x01845f03, 0x01f38700, 0x03a76c84, 0x0032462c}}, Y: Field{[10]uint32{0x03728568, 0x00eb7f5f, 0x00eb53ed, 0x02772a17, 0x02059632, 0x03ea9b98, 0x00632700, 0x00b880c8, 0x0003dbbb, 0x003c95bd}}}, + {X: Field{[10]uint32{0x01661817, 0x014ab381, 0x03bb5c13, 0x03536f82, 0x01532e54, 0x0102b783, 0x02cb4291, 0x02e1e42f, 0x00fd02f0, 0x001ab0b7}}, Y: Field{[10]uint32{0x029e2af3, 0x02ab8592, 0x026dccca, 0x038c1811, 0x03784c3d, 0x01c89470, 0x0323074e, 0x00e5b16b, 0x0310abf9, 0x003cb098}}}, + {X: Field{[10]uint32{0x033f3d19, 0x02ffcbf2, 0x0295f5b0, 0x02a517da, 0x02cf8e95, 0x017facac, 0x0239b94b, 0x03ce273b, 0x00ee54ac, 0x00235c71}}, Y: Field{[10]uint32{0x031ce52d, 0x01d611c3, 0x00cb6548, 0x015e26d1, 0x03f0bc88, 0x00cc1840, 0x03a3881e, 0x030711f6, 0x03d95a02, 0x0026110a}}}, + {X: Field{[10]uint32{0x00f583c3, 0x03b84911, 0x03072b3d, 0x01a2a426, 0x002e5d73, 0x01447a1d, 0x000abbb0, 0x01c463cb, 0x00d3fd55, 0x003a2f49}}, Y: Field{[10]uint32{0x03ce6538, 0x02c6fc22, 0x0343a4d4, 0x016b3583, 0x02238028, 0x01c59167, 0x037992a6, 0x008b6d96, 0x03a6e286, 0x003874b0}}}, + {X: Field{[10]uint32{0x00075217, 0x01c9568f, 0x011d032d, 0x0092acab, 0x00483fd0, 0x00c478ed, 0x02c8c516, 0x033e2794, 0x01755cf8, 0x0018b70a}}, Y: Field{[10]uint32{0x000e2a97, 0x0247e3d7, 0x00d1e093, 0x02a523cf, 0x018b3fc8, 0x00255094, 0x0301e9cd, 0x008b6383, 0x0132d80d, 0x0001e678}}}, + {X: Field{[10]uint32{0x004c0e13, 0x014125b5, 0x01451a60, 0x013d9aa5, 0x034d4323, 0x031f4f01, 0x01027099, 0x01f9832c, 0x03aacf72, 0x000df6c4}}, Y: Field{[10]uint32{0x01b1066b, 0x0090cd22, 0x02fb0629, 0x01b7427a, 0x02d3402a, 0x0004e87d, 0x02e9d07e, 0x03bfd065, 0x03be8f8c, 0x00030e0e}}}, + {X: Field{[10]uint32{0x032aa1ab, 0x01d6cc3e, 0x02c39378, 0x00e49a67, 0x01be9dc4, 0x01cbc77c, 0x018e17c4, 0x01c67b21, 0x0365eab7, 0x000defed}}, Y: Field{[10]uint32{0x01721364, 0x014d58f4, 0x00eea23b, 0x017419bc, 0x025cf44b, 0x022be329, 0x0135f4a9, 0x031308be, 0x03fd865d, 0x001c9c62}}}, + {X: Field{[10]uint32{0x005d1b94, 0x02e914aa, 0x0145606d, 0x03f84803, 0x03b5d5c3, 0x01885229, 0x01ba6e1f, 0x02fcd57f, 0x021287fc, 0x0010cfb7}}, Y: Field{[10]uint32{0x0357c20e, 0x01765251, 0x02e60571, 0x01f1ebb9, 0x01137a4c, 0x00f8c1e0, 0x030c9591, 0x0144eca3, 0x0213ad6e, 0x002c9f15}}}, + {X: Field{[10]uint32{0x02671861, 0x02695f4f, 0x03b323af, 0x0342e2c9, 0x02d23295, 0x02adf7d1, 0x021917f6, 0x00379a4a, 0x019fc5ed, 0x0003960b}}, Y: Field{[10]uint32{0x00073154, 0x0077bff5, 0x01fd6557, 0x01cc6de3, 0x01d1c9e0, 0x021b2c74, 0x039faa53, 0x0036f5f9, 0x0385e277, 0x000cfba1}}}, + {X: Field{[10]uint32{0x009442c2, 0x00a18013, 0x0189e4e4, 0x000529a8, 0x02ad8fae, 0x003c1ab7, 0x02d4e5da, 0x03c56bb8, 0x0340634b, 0x00182c1e}}, Y: Field{[10]uint32{0x004b283d, 0x00466c6f, 0x00f37ff2, 0x027295ec, 0x011557f2, 0x02362ab1, 0x034a2cd6, 0x010ee98a, 0x03cd00d2, 0x003fb821}}}, + {X: Field{[10]uint32{0x01e03100, 0x0196b4cb, 0x009b2102, 0x029f38df, 0x02643e6d, 0x01ba23ee, 0x0245e35b, 0x03df2828, 0x027601e5, 0x0012c59c}}, Y: Field{[10]uint32{0x02d8dde7, 0x024324e3, 0x00a6473b, 0x00aed8c5, 0x00cacda0, 0x03547c57, 0x0126c1dc, 0x021f8243, 0x03024768, 0x000a2ab3}}}, + {X: Field{[10]uint32{0x022a3170, 0x034be6ff, 0x027b2a17, 0x03853b53, 0x02fab97d, 0x026a22b8, 0x0003e638, 0x01f9d312, 0x013d6d79, 0x00175584}}, Y: Field{[10]uint32{0x01cd524f, 0x00ac79f6, 0x033abee4, 0x024b8b65, 0x02c65459, 0x03acacd3, 0x02462a27, 0x02cbfe98, 0x02a8534e, 0x000253bc}}}, + {X: Field{[10]uint32{0x0234f828, 0x02cf418e, 0x03a7ee38, 0x0363ca37, 0x03f4a06c, 0x03a3111c, 0x01572878, 0x006b6344, 0x03ae7511, 0x002a740f}}, Y: Field{[10]uint32{0x03517881, 0x0347e54c, 0x0262e4d9, 0x02d31f78, 0x03480c94, 0x01a3daea, 0x02665bf9, 0x0261e4b2, 0x000cc731, 0x00281ccf}}}, + {X: Field{[10]uint32{0x020e1ad5, 0x0157c959, 0x00522508, 0x0058599b, 0x0058fd37, 0x02cfdf9c, 0x00db3b77, 0x02f3a7b5, 0x01712b1a, 0x001d0665}}, Y: Field{[10]uint32{0x00da44db, 0x019ef640, 0x0385f22b, 0x03062ab0, 0x00ea3ef2, 0x009c9800, 0x013b8a32, 0x01d6273f, 0x02a8097f, 0x001c432b}}}, + {X: Field{[10]uint32{0x01918dc8, 0x02ae5bc9, 0x00be7cab, 0x03cab31a, 0x02ba0106, 0x0119cf85, 0x03a1e5f8, 0x0296c7ba, 0x010dbf81, 0x0027c5a6}}, Y: Field{[10]uint32{0x00ebc4f5, 0x01962314, 0x007b0f0b, 0x03c7a996, 0x03135d46, 0x000e01aa, 0x0049d39c, 0x004108d3, 0x007b6232, 0x00035835}}}, + {X: Field{[10]uint32{0x0301d57d, 0x01c302c8, 0x00619b6a, 0x03d322c9, 0x03c99143, 0x02af4569, 0x011c888f, 0x02e69eb6, 0x01bc4f12, 0x000ed41a}}, Y: Field{[10]uint32{0x01dd1a79, 0x020a31ff, 0x035a8979, 0x013aa1ad, 0x02da1854, 0x02cc4759, 0x034ddfd4, 0x02a5127e, 0x00d1ae59, 0x0036ee1f}}}, + {X: Field{[10]uint32{0x02baee90, 0x026e51b6, 0x01c68115, 0x035c26dd, 0x01f90cdc, 0x02feaecc, 0x03bf9afb, 0x028db82e, 0x03a967b5, 0x00277a98}}, Y: Field{[10]uint32{0x02bc4464, 0x019989f1, 0x01e57b8a, 0x03ae5353, 0x0305c7d2, 0x02460348, 0x01a605ce, 0x02e5638c, 0x019b11ba, 0x002c52ee}}}, + {X: Field{[10]uint32{0x01e31e79, 0x0377d215, 0x03a188e0, 0x00b30cf0, 0x0309fe6b, 0x0104798e, 0x025cb534, 0x01aa1095, 0x03921da3, 0x00342c8c}}, Y: Field{[10]uint32{0x0374f8e9, 0x010d7943, 0x02a7515c, 0x01d90fed, 0x02991172, 0x00d42cec, 0x02f1cfcc, 0x01524b72, 0x03ea1a6e, 0x00203b64}}}, + {X: Field{[10]uint32{0x00b03d20, 0x0205ece4, 0x01da552c, 0x0323dc44, 0x03acfe85, 0x03d1078f, 0x00ca7a49, 0x03912fe6, 0x0255966a, 0x0022b725}}, Y: Field{[10]uint32{0x03c0021e, 0x0069b95c, 0x013b4eed, 0x019b6c6e, 0x005dd1d5, 0x024cdd0c, 0x00c80eac, 0x01cc4860, 0x014c6a71, 0x00339c81}}}, + {X: Field{[10]uint32{0x020c1670, 0x0059c987, 0x03fe3ec9, 0x00438b84, 0x02141ac6, 0x00062929, 0x00800b6d, 0x00f7a9c0, 0x03f8cf6d, 0x003dbdda}}, Y: Field{[10]uint32{0x039a302c, 0x0070e54f, 0x01a54e24, 0x03dd9913, 0x0263e4fe, 0x01ace93b, 0x025e2a10, 0x0261da63, 0x00afe1ea, 0x002cb11e}}}, + {X: Field{[10]uint32{0x00b898e5, 0x00f61bc5, 0x039fef87, 0x0235b697, 0x03217638, 0x01cece44, 0x00fcaa18, 0x0368c05d, 0x007d38b7, 0x0003560a}}, Y: Field{[10]uint32{0x02fc8402, 0x00ba7b1a, 0x005ee350, 0x03d58795, 0x03da2b8f, 0x0052b433, 0x018f91d1, 0x00217a0c, 0x013469ed, 0x001e17f2}}}, + {X: Field{[10]uint32{0x01a3661c, 0x02fd9d0e, 0x0354a02f, 0x0047d2e0, 0x01538e3d, 0x0361c0b0, 0x03e810c6, 0x03b9567f, 0x022350c5, 0x001ddcb2}}, Y: Field{[10]uint32{0x006edddb, 0x036690da, 0x00d6c931, 0x02a2b87f, 0x03fe3dd3, 0x00fa6393, 0x008aefb2, 0x0368516d, 0x02de853f, 0x001688c4}}}, + {X: Field{[10]uint32{0x02433ad5, 0x01c177dc, 0x02308069, 0x00f9dab7, 0x0046ce90, 0x03f0fecb, 0x010ac95e, 0x00da1deb, 0x0176c50f, 0x0028be7e}}, Y: Field{[10]uint32{0x00c285f3, 0x03c15bf2, 0x0238a22a, 0x012da2be, 0x01f201dd, 0x03e35d11, 0x0211b22b, 0x0227ccd7, 0x031124c2, 0x003b1594}}}, + {X: Field{[10]uint32{0x038b15f7, 0x0086a013, 0x0211bcb2, 0x019ad4b3, 0x0026fce1, 0x02b49c44, 0x010ec165, 0x03159c93, 0x036585f8, 0x00388365}}, Y: Field{[10]uint32{0x018f33fb, 0x01753766, 0x0031bfc8, 0x008059ab, 0x0321d082, 0x01aaed52, 0x0348b6bc, 0x00e18a62, 0x0133c7f6, 0x0018ed86}}}, + {X: Field{[10]uint32{0x00ecc18f, 0x033b00eb, 0x0093e42d, 0x0222cafc, 0x03659ba6, 0x001b6c77, 0x0298d945, 0x00778b2f, 0x019d00ca, 0x00221a2d}}, Y: Field{[10]uint32{0x00f2fd0e, 0x005760ff, 0x03076e22, 0x0146bed4, 0x02dea562, 0x01493afd, 0x01dbfe84, 0x023ec014, 0x030796b9, 0x003c0ba6}}}, + {X: Field{[10]uint32{0x01fb677c, 0x01606e22, 0x016a43f8, 0x0099e09b, 0x0099c832, 0x029afc3a, 0x005f86b9, 0x004d869e, 0x002fe32a, 0x0004267e}}, Y: Field{[10]uint32{0x0044445b, 0x03cdf627, 0x01aac7fc, 0x01866bfa, 0x02cd2d3e, 0x024bab11, 0x0320cd35, 0x03c9c4b3, 0x03f29aa7, 0x0004fee0}}}, + {X: Field{[10]uint32{0x01cbeea3, 0x00147d0d, 0x01d31ef2, 0x032bb8b5, 0x03deae65, 0x032986c9, 0x03329698, 0x039ecd7d, 0x029677ec, 0x0012be71}}, Y: Field{[10]uint32{0x024e5ef0, 0x00420999, 0x006985b2, 0x025a04c3, 0x00ebfe51, 0x00910229, 0x02e3f80a, 0x02a5dbe5, 0x0196429d, 0x001cc011}}}, + {X: Field{[10]uint32{0x03dab473, 0x00ed50d5, 0x02045edb, 0x022f45bb, 0x01300d1f, 0x01c4f2ae, 0x02d4bbe8, 0x02e2c0c8, 0x03ca5ace, 0x0025a032}}, Y: Field{[10]uint32{0x010df58a, 0x004c766f, 0x02aec0e9, 0x00f09e62, 0x006904ee, 0x0026ccf8, 0x014697c2, 0x02874bb3, 0x0140e36b, 0x000bca4e}}}, + {X: Field{[10]uint32{0x03fae7c2, 0x036e6b89, 0x000ee4e2, 0x03eb5ba7, 0x023eb7fd, 0x00520324, 0x01c37203, 0x011fc17e, 0x003afd63, 0x001fbbf3}}, Y: Field{[10]uint32{0x035cac06, 0x023c42fe, 0x0357e973, 0x0276b3ac, 0x007bb93d, 0x01eec78a, 0x0353e421, 0x017051f1, 0x02754f74, 0x002e3a7e}}}, + {X: Field{[10]uint32{0x039fddb4, 0x0351becb, 0x002fe98f, 0x0016c097, 0x01065e78, 0x02252557, 0x021fbf36, 0x004ae4d1, 0x0156d636, 0x0002e08c}}, Y: Field{[10]uint32{0x00bd465a, 0x02771604, 0x0360cdab, 0x031a8aa3, 0x00d0b537, 0x03a7ab75, 0x03453ebf, 0x03a47917, 0x017a826f, 0x003c8f14}}}, + {X: Field{[10]uint32{0x01bdadd9, 0x005134e1, 0x002b44d5, 0x008ba246, 0x01bfb9de, 0x00b9d96a, 0x0178706e, 0x03f55248, 0x035e2035, 0x003a0074}}, Y: Field{[10]uint32{0x02956a26, 0x0186025d, 0x03478481, 0x0000fea9, 0x011c2162, 0x00678dea, 0x00868e04, 0x039bc206, 0x023427de, 0x00079920}}}, + {X: Field{[10]uint32{0x01c67f3a, 0x0123d4b3, 0x01a1c2f3, 0x01402122, 0x0029fd77, 0x01fa243f, 0x00369e50, 0x0025a4a1, 0x010e56b7, 0x003a7518}}, Y: Field{[10]uint32{0x008e4a0e, 0x02a13fad, 0x02c1f7d9, 0x008895f0, 0x031df0e6, 0x03b9145a, 0x01bfca22, 0x020b868a, 0x02ac357d, 0x002397da}}}, + {X: Field{[10]uint32{0x03b7609b, 0x0206bdb4, 0x028ff4a4, 0x022838d4, 0x00b94bae, 0x011a0021, 0x00d7aa09, 0x0377b8d0, 0x030f51d6, 0x001c70fb}}, Y: Field{[10]uint32{0x015f6b96, 0x03d5f8cc, 0x03ca4544, 0x0351264b, 0x03db6886, 0x02985690, 0x00adc4da, 0x021e8c4e, 0x00dc2f80, 0x0013459d}}}, + {X: Field{[10]uint32{0x027d6f20, 0x02670392, 0x03947ce9, 0x020f055e, 0x0121aadb, 0x00e2aeb1, 0x038b44d9, 0x03107ef7, 0x0243b6f5, 0x002559f3}}, Y: Field{[10]uint32{0x03a35538, 0x0280084c, 0x00fe35e2, 0x0366cb79, 0x011fd0fd, 0x011730d7, 0x0247ca89, 0x028c6029, 0x0317031e, 0x00327618}}}, + {X: Field{[10]uint32{0x02dcc141, 0x02c8ade3, 0x0163eb9d, 0x014c3f62, 0x014f8fc7, 0x00468648, 0x033de850, 0x019ce442, 0x014f8116, 0x000d148f}}, Y: Field{[10]uint32{0x0022ac90, 0x03a43121, 0x01ce77d6, 0x0213c9df, 0x02877bca, 0x009df62e, 0x000a0660, 0x0223ae6e, 0x01fe268b, 0x002403ee}}}, + {X: Field{[10]uint32{0x03c1bd98, 0x002b5e78, 0x01278159, 0x03f2d873, 0x01f2993d, 0x0083973c, 0x034350bf, 0x010f7e8b, 0x037e5f1c, 0x001a7f47}}, Y: Field{[10]uint32{0x0051d7f3, 0x0327ce9b, 0x01615043, 0x008caf37, 0x0302d1c9, 0x0249de5c, 0x0315665a, 0x02502bb6, 0x02cf8b74, 0x0018cdc9}}}, + {X: Field{[10]uint32{0x014a3de7, 0x021e2bfa, 0x03aa2a9f, 0x01d78c5f, 0x02411b2a, 0x02d3f1ae, 0x006dd39b, 0x02e3dcc5, 0x0024c28c, 0x003930b1}}, Y: Field{[10]uint32{0x0321ae89, 0x022a527a, 0x01158fcc, 0x023a6cef, 0x01c86137, 0x00814573, 0x02607398, 0x017bd236, 0x03e8468e, 0x003ee345}}}, + {X: Field{[10]uint32{0x00e32773, 0x035ec78d, 0x019ea5de, 0x004c8984, 0x0398e445, 0x03125218, 0x01feb590, 0x005b4270, 0x019aada9, 0x0015c411}}, Y: Field{[10]uint32{0x023871bc, 0x00fb2939, 0x009f0738, 0x00abccfd, 0x02905bf1, 0x002a0d57, 0x016b4093, 0x00e96139, 0x01bdd2d8, 0x002277bb}}}, + {X: Field{[10]uint32{0x03d48e64, 0x0085e81b, 0x01bc189b, 0x02a642e1, 0x0359a3a8, 0x01c406c9, 0x0017f913, 0x001b856b, 0x02d41718, 0x00355beb}}, Y: Field{[10]uint32{0x00a6652c, 0x00c511cd, 0x038c76d7, 0x01de9221, 0x01ebe439, 0x00da3d52, 0x02f513f5, 0x02cb5ad8, 0x02c33408, 0x003ea1c7}}}, + {X: Field{[10]uint32{0x02599bcb, 0x014976ea, 0x003f7604, 0x004a0134, 0x00cb5cf0, 0x03b7e1f7, 0x0347be8e, 0x02016da2, 0x02ebda0b, 0x0039d05b}}, Y: Field{[10]uint32{0x01a56c19, 0x03d510ae, 0x01185bbc, 0x00dc4ec4, 0x03533d4f, 0x01f90c52, 0x03eb4c77, 0x0159f8c4, 0x0316f11c, 0x00218431}}}, + {X: Field{[10]uint32{0x01fa997d, 0x03c581f5, 0x0175f2d5, 0x0291b980, 0x02a4fbfc, 0x00f38cb1, 0x00606081, 0x00d50647, 0x0062ebdd, 0x00232966}}, Y: Field{[10]uint32{0x037698f4, 0x0355a478, 0x031c6980, 0x03bbeab5, 0x01113dd6, 0x00ac5343, 0x01fa1950, 0x03fab1ab, 0x000fb132, 0x002abcd2}}}, + {X: Field{[10]uint32{0x03243413, 0x02e9bc54, 0x0218172f, 0x0314a30a, 0x036eb8e4, 0x011b1480, 0x015867a8, 0x00ed1464, 0x00451fd4, 0x001925b7}}, Y: Field{[10]uint32{0x004da1f2, 0x01358939, 0x03e87cb1, 0x02f1722c, 0x03153fe2, 0x00a4b3c6, 0x00a281b9, 0x03267b80, 0x00410f85, 0x000113f7}}}, + {X: Field{[10]uint32{0x01925a5d, 0x02cbf064, 0x035d6c9c, 0x008753a3, 0x0067d207, 0x032b3348, 0x00bc248d, 0x0105aa8e, 0x0063aa82, 0x000e9091}}, Y: Field{[10]uint32{0x02fa9fb2, 0x01e11922, 0x03ca9c31, 0x02fea949, 0x00d4857a, 0x01f206fc, 0x00775cb3, 0x0096450d, 0x0063fd24, 0x001c6959}}}, + {X: Field{[10]uint32{0x0178c2e6, 0x01344274, 0x03418157, 0x0079ade1, 0x03881178, 0x02a17f98, 0x03f7985a, 0x014652b6, 0x030551d5, 0x001aa516}}, Y: Field{[10]uint32{0x0357ac44, 0x03a67fe6, 0x01d31924, 0x03c4c989, 0x0380df9a, 0x0099f289, 0x0021fc0d, 0x02a0d8c9, 0x003a1ca3, 0x00061b4d}}}, + {X: Field{[10]uint32{0x02add47f, 0x03f5df4e, 0x008aac9f, 0x003adfe3, 0x0132baac, 0x031704ec, 0x027381b8, 0x0012dedf, 0x0292682d, 0x0004fc7d}}, Y: Field{[10]uint32{0x02e99f0e, 0x02a92b89, 0x03ce2282, 0x00cce311, 0x03433725, 0x01745003, 0x03368528, 0x03fe227a, 0x01e49622, 0x0015ca81}}}, + {X: Field{[10]uint32{0x02804330, 0x0198d2f4, 0x02522a51, 0x001f9533, 0x01a27007, 0x03b6ddfd, 0x018e7b33, 0x03a3c7b6, 0x03c14f0d, 0x001e7e84}}, Y: Field{[10]uint32{0x01987c65, 0x02247bb5, 0x03aa096e, 0x02ad68bb, 0x00cf2484, 0x0183dc66, 0x001e40e0, 0x027b9cfd, 0x0188e196, 0x0028252f}}}, + {X: Field{[10]uint32{0x0133130a, 0x0280f6f9, 0x011019dd, 0x01f6ecf7, 0x01fb0837, 0x029b6acf, 0x033f7350, 0x006fdf09, 0x02dbd2c6, 0x0037c7fd}}, Y: Field{[10]uint32{0x023f886e, 0x02584764, 0x02824fd1, 0x02dd6ac3, 0x00cd0061, 0x023452a5, 0x025c969d, 0x021a264b, 0x03ad68c5, 0x0000bf71}}}, + {X: Field{[10]uint32{0x02cbdb34, 0x021b4a86, 0x032ec51d, 0x006f7de5, 0x032bff65, 0x00204331, 0x00f87760, 0x00e6b460, 0x02805f59, 0x002a088c}}, Y: Field{[10]uint32{0x03c2dfba, 0x013fed45, 0x025b5278, 0x00ab52c4, 0x01e7f2ef, 0x00010dd4, 0x02ea9b44, 0x00d8caca, 0x010f982e, 0x0025a056}}}, + {X: Field{[10]uint32{0x004c7c44, 0x01a9a212, 0x018c479e, 0x02b6e8ff, 0x02b3780f, 0x00f1ce4c, 0x010ada16, 0x02fd61a6, 0x00c049f3, 0x00101ac3}}, Y: Field{[10]uint32{0x036503dd, 0x008205f7, 0x012d31bb, 0x00ca1646, 0x028b2179, 0x0062bb9f, 0x0074fe02, 0x023951e4, 0x00eff250, 0x002aac39}}}, + {X: Field{[10]uint32{0x0116bcc8, 0x00cc033d, 0x014604b7, 0x03ab6eb2, 0x00523c81, 0x031366f2, 0x00f103db, 0x011e70f7, 0x03fd5783, 0x00139c10}}, Y: Field{[10]uint32{0x002d1133, 0x014f5a7a, 0x007fa98f, 0x02d9ce93, 0x0177c859, 0x01b24989, 0x0033ead6, 0x006f47a0, 0x03b73ed0, 0x000658a1}}}, + {X: Field{[10]uint32{0x033e9997, 0x03d003c3, 0x0344e43c, 0x0003a74b, 0x00a7d55b, 0x03c9301c, 0x0175c0ef, 0x0297d641, 0x0271b945, 0x002a68a9}}, Y: Field{[10]uint32{0x020c6285, 0x029636db, 0x014ca5b2, 0x0390ed1b, 0x039ae22c, 0x03dfcbcf, 0x03f957ca, 0x009c5459, 0x0220cb97, 0x001b3517}}}, + {X: Field{[10]uint32{0x003d3c01, 0x028ffca2, 0x0208b22b, 0x031da01d, 0x0312b2de, 0x00c569bb, 0x0247ae49, 0x02ba23ee, 0x039475ff, 0x001a4a84}}, Y: Field{[10]uint32{0x02e46131, 0x0197059b, 0x0340685a, 0x00fc2018, 0x00c83477, 0x029df458, 0x02867321, 0x01295302, 0x034a03c1, 0x001d3756}}}, + {X: Field{[10]uint32{0x022cfad8, 0x02aa3235, 0x016e77dd, 0x02b3d740, 0x01063b44, 0x0003f352, 0x0128e75d, 0x00e2ee22, 0x01fd1566, 0x000dbe45}}, Y: Field{[10]uint32{0x0042e8b9, 0x01fd76fa, 0x00e3c0cf, 0x02c38dff, 0x02991dc8, 0x008b3db7, 0x0217d027, 0x03460d7b, 0x02b616ed, 0x0000fc47}}}, + {X: Field{[10]uint32{0x02a53b31, 0x028e3592, 0x02c8f99a, 0x01f82ece, 0x00a5202a, 0x00d90c51, 0x002fd6ca, 0x00302d51, 0x035a7e01, 0x000fc3db}}, Y: Field{[10]uint32{0x0035c649, 0x027f41c3, 0x01f9ab86, 0x035fc4f3, 0x03ab1f9e, 0x02c3fecf, 0x00099acd, 0x038a6a54, 0x03cf5b33, 0x00095d35}}}, + {X: Field{[10]uint32{0x00b7b067, 0x02559ccd, 0x00cfd26b, 0x03eaff00, 0x03508a9d, 0x024aab3c, 0x01d4258a, 0x019876c8, 0x02ff071f, 0x0023163e}}, Y: Field{[10]uint32{0x03944893, 0x0285359c, 0x0273f694, 0x01c56778, 0x01e9a8a1, 0x002c44c9, 0x03d08a88, 0x013b8a10, 0x0094ea1d, 0x000e347a}}}, + {X: Field{[10]uint32{0x01da78de, 0x021fedf1, 0x03a9c0f2, 0x020219ad, 0x02dbc6f5, 0x036502c4, 0x03918642, 0x0068f192, 0x031a205c, 0x0036019c}}, Y: Field{[10]uint32{0x01d0e05e, 0x030bafb3, 0x02ba8d43, 0x001b4907, 0x03704020, 0x018d497e, 0x01da8318, 0x01eaedcd, 0x00302ff5, 0x0021c2a1}}}, + {X: Field{[10]uint32{0x03848648, 0x0108138a, 0x02741335, 0x00244ae6, 0x03416bde, 0x029f3765, 0x01de1515, 0x02c10693, 0x037e195d, 0x001f6f68}}, Y: Field{[10]uint32{0x00715e71, 0x03ec00c4, 0x00cf3885, 0x006a1ea3, 0x03e1c026, 0x00bd82a7, 0x0284ff13, 0x0001c3f7, 0x007a649d, 0x0020f227}}}, + {X: Field{[10]uint32{0x03ec54a1, 0x0233ba00, 0x0245e58d, 0x0149f52f, 0x03410a1b, 0x02dddb3e, 0x038ee093, 0x02c38b7d, 0x03c0c803, 0x0022bf08}}, Y: Field{[10]uint32{0x012ed76b, 0x03ba270d, 0x035b401b, 0x028ae5fa, 0x02bf7b11, 0x0218e52f, 0x02529573, 0x039282ce, 0x02ce4f4a, 0x002c107b}}}, + {X: Field{[10]uint32{0x0252207b, 0x02e4084d, 0x0211236f, 0x033795e1, 0x031b2531, 0x01588452, 0x0003b4b2, 0x03eac12e, 0x00c22c50, 0x00139109}}, Y: Field{[10]uint32{0x01796e6f, 0x02e74376, 0x02ab57e7, 0x0297052d, 0x03889d5c, 0x02c33c90, 0x03421e4f, 0x01c4603e, 0x01815118, 0x0008afd8}}}, + {X: Field{[10]uint32{0x02e97453, 0x024a5079, 0x023828fd, 0x03bb24ee, 0x02f394b1, 0x038e6cd2, 0x0016e396, 0x002be282, 0x03885a23, 0x00181c5d}}, Y: Field{[10]uint32{0x00dc4b26, 0x03d005c0, 0x016f49f8, 0x03ea278d, 0x03fc0a18, 0x037db6e1, 0x03247620, 0x02906c53, 0x029f2b9d, 0x002a137c}}}, + {X: Field{[10]uint32{0x00af3213, 0x00b28923, 0x022ac602, 0x01a40b70, 0x00a271f1, 0x02b3dc39, 0x03bbf8df, 0x015bb0de, 0x0120384e, 0x00327dcf}}, Y: Field{[10]uint32{0x01fb5437, 0x02897e23, 0x02cb069e, 0x022e5d85, 0x0089070e, 0x02fd6d5e, 0x03c9bfa8, 0x025606dc, 0x03f4c77f, 0x001d88b9}}}, + {X: Field{[10]uint32{0x0245282a, 0x0297b6bb, 0x03c4a81e, 0x02718c2f, 0x01a8b995, 0x023643db, 0x002bfea4, 0x0287630f, 0x01fbdab5, 0x00067a97}}, Y: Field{[10]uint32{0x01f1d56c, 0x03876e3f, 0x00c653b8, 0x0275f5b9, 0x00870a95, 0x03cc1ec7, 0x03a4d62a, 0x02f605f0, 0x015d0014, 0x0003084a}}}, + {X: Field{[10]uint32{0x01617b58, 0x032f9b70, 0x025cb290, 0x01a5c5f7, 0x02047806, 0x02febe14, 0x030e1491, 0x030a4b37, 0x031e30b2, 0x001592f6}}, Y: Field{[10]uint32{0x022b1c0d, 0x013dd39f, 0x01984700, 0x00703aee, 0x0332508c, 0x01dfd777, 0x02841988, 0x02e57e67, 0x00e86fc0, 0x0026a368}}}, + {X: Field{[10]uint32{0x010bf06b, 0x011a54df, 0x023b54bf, 0x00778376, 0x0150b39d, 0x02fb81ce, 0x02e21237, 0x039b3249, 0x00424f3e, 0x0016f24e}}, Y: Field{[10]uint32{0x00fd5d16, 0x0277a908, 0x01e00c11, 0x00eda52d, 0x0032bb00, 0x035d4e94, 0x03f4bd4c, 0x01e2f82d, 0x03a96627, 0x00353a70}}}, + {X: Field{[10]uint32{0x00b7f99e, 0x036e6f17, 0x003a5980, 0x00b68ba3, 0x035b2a5f, 0x02071f5f, 0x02f4fc31, 0x022d5cfb, 0x0294829e, 0x000650cb}}, Y: Field{[10]uint32{0x02bcbcf6, 0x039caee6, 0x003f7a4b, 0x0205715c, 0x032e8607, 0x01b806b3, 0x029316e3, 0x02159eed, 0x019e5c5b, 0x003dd726}}}, + {X: Field{[10]uint32{0x00080b8d, 0x00c33688, 0x01672ea2, 0x0346fbbc, 0x018d0235, 0x002c6d56, 0x02c28bfa, 0x0338668b, 0x001e6196, 0x0034e64a}}, Y: Field{[10]uint32{0x0168aa19, 0x013468d4, 0x03ea9638, 0x03c357b6, 0x03d5483c, 0x017ae90c, 0x02949319, 0x0338e8cf, 0x029520ff, 0x0000729f}}}, + {X: Field{[10]uint32{0x00e73c88, 0x032a3a84, 0x026bae21, 0x025dd2b8, 0x0239372e, 0x000bd995, 0x01f55563, 0x03ea7f95, 0x035ab220, 0x001b2138}}, Y: Field{[10]uint32{0x0101b2b3, 0x02d30084, 0x029b89a7, 0x0195c7bf, 0x0001d154, 0x003a2c8d, 0x01711e7b, 0x00b02b52, 0x032abd44, 0x00262846}}}, + {X: Field{[10]uint32{0x00f8f64b, 0x002a0328, 0x00858118, 0x02dba77d, 0x03ec4205, 0x020ef601, 0x0397f14c, 0x0117b685, 0x018ab1b0, 0x001e0533}}, Y: Field{[10]uint32{0x0115f33b, 0x038e34ed, 0x022841b0, 0x00c106bc, 0x036bf177, 0x03798eb7, 0x03e8b704, 0x02e3ffd4, 0x0240edc8, 0x003be45f}}}, + {X: Field{[10]uint32{0x0196235f, 0x0381b1c2, 0x03993fb6, 0x0035c4e2, 0x02444e71, 0x034a014c, 0x01accfcc, 0x008aa2ff, 0x02831c8e, 0x001e807b}}, Y: Field{[10]uint32{0x001a5519, 0x009f9f0a, 0x00b41045, 0x02606058, 0x00dcb061, 0x024370ef, 0x02f2e080, 0x0170aad8, 0x01091989, 0x003f944b}}}, + {X: Field{[10]uint32{0x039bd908, 0x02085f07, 0x000ce72e, 0x01bcfcf9, 0x01512e85, 0x0352979e, 0x00b56605, 0x0327be46, 0x02bcdf86, 0x001957b9}}, Y: Field{[10]uint32{0x02f87721, 0x0253d8c4, 0x035c3cae, 0x02e848f7, 0x037dfdef, 0x002079a6, 0x0196ea9d, 0x02c217ce, 0x01a691fc, 0x0032fae9}}}, + {X: Field{[10]uint32{0x025219bb, 0x021fb877, 0x01d9e1cf, 0x0051103c, 0x003d4d48, 0x01e045ef, 0x00be25fe, 0x01cba3ac, 0x0009fb03, 0x003af5a0}}, Y: Field{[10]uint32{0x0258814b, 0x039e6d2e, 0x0068bd8c, 0x02dbfd96, 0x036da8cd, 0x02f6dd7c, 0x00aed2d6, 0x037d56fc, 0x02386f96, 0x0023bedf}}}, + {X: Field{[10]uint32{0x01a3865b, 0x0358ed86, 0x039149f1, 0x033c45a3, 0x028b7834, 0x01f56af5, 0x015cf051, 0x016eed3a, 0x00189ac0, 0x0021cd02}}, Y: Field{[10]uint32{0x00480838, 0x00fe4f05, 0x0330cdf6, 0x03eb78af, 0x027d24c0, 0x03eb828f, 0x01d4deed, 0x003c5724, 0x012772ce, 0x0027c7ef}}}, + {X: Field{[10]uint32{0x00513df3, 0x03cb18cc, 0x0368ba12, 0x0136aa5b, 0x035dda3a, 0x0055a432, 0x0262e925, 0x01eed937, 0x0213b02a, 0x00186dac}}, Y: Field{[10]uint32{0x02b6144e, 0x01894230, 0x03d56e01, 0x03994e65, 0x03c42c6c, 0x03000e86, 0x02d29628, 0x020650da, 0x00f24eff, 0x00331c6e}}}, + {X: Field{[10]uint32{0x0125fe37, 0x0028190e, 0x0187298f, 0x0388060b, 0x02ed5e02, 0x02126106, 0x01c9e663, 0x006b8b8e, 0x024d7717, 0x0012e9fb}}, Y: Field{[10]uint32{0x0296dbd6, 0x0371cd23, 0x004f1f1f, 0x03ddd46f, 0x035a9da4, 0x02029c9b, 0x032158eb, 0x013c5b2d, 0x01b4fe34, 0x001736f5}}}, + {X: Field{[10]uint32{0x008badb7, 0x011f9bc8, 0x01de2ee2, 0x01c7fa78, 0x026f9a39, 0x01a24ba6, 0x025bd7a4, 0x037350cb, 0x027fc4d5, 0x0035609e}}, Y: Field{[10]uint32{0x0098e1fa, 0x03c28698, 0x00f18ca0, 0x0298ed4b, 0x002fb667, 0x02c8f183, 0x02fb5349, 0x00303d87, 0x02dc9d0e, 0x003de43e}}}, + {X: Field{[10]uint32{0x03237633, 0x032e6ca4, 0x0098d411, 0x03f72894, 0x01e9086d, 0x027bf9a4, 0x0144d4a8, 0x0033df03, 0x01597f95, 0x00207b14}}, Y: Field{[10]uint32{0x039a1e7f, 0x0182dcfa, 0x000655fa, 0x028aaa0a, 0x000741d3, 0x03e4bed8, 0x0253f28e, 0x03e03251, 0x03ddc9ef, 0x002216c9}}}, + {X: Field{[10]uint32{0x02b6dec7, 0x02e8bf5a, 0x01e684cd, 0x01e762b2, 0x026e7237, 0x03c2bfc7, 0x023e06da, 0x03da01da, 0x01f4a0d4, 0x000a3f10}}, Y: Field{[10]uint32{0x01657225, 0x0328aa92, 0x01f54d80, 0x0236c421, 0x01482c6a, 0x0056c8d7, 0x02b9415c, 0x02af1cfa, 0x031e7aff, 0x002c792b}}}, + {X: Field{[10]uint32{0x03ae4f47, 0x02c62a3d, 0x035d1328, 0x02333d66, 0x036341a8, 0x01fe8be7, 0x00f5b857, 0x01d71f2c, 0x03d6c5bf, 0x003579d4}}, Y: Field{[10]uint32{0x00a1bff9, 0x00315031, 0x013cffaf, 0x003765e5, 0x02fc2f38, 0x03b359ba, 0x018a10c8, 0x0068c894, 0x00b98eb0, 0x00346a95}}}, + {X: Field{[10]uint32{0x0076e836, 0x03521cc5, 0x0286d8ba, 0x00f5d624, 0x01257d41, 0x0130696a, 0x0008fac4, 0x010a5f98, 0x015d8909, 0x0005a08d}}, Y: Field{[10]uint32{0x0309cf4a, 0x001151ba, 0x02a0278d, 0x03677b53, 0x002ec9c2, 0x014fb613, 0x0059b11d, 0x024327a1, 0x0362e29f, 0x0013da71}}}, + {X: Field{[10]uint32{0x03e781db, 0x000902c8, 0x032e7903, 0x006b4089, 0x0273425d, 0x03311b88, 0x03511a78, 0x02b9ccba, 0x005fb64c, 0x0027bdea}}, Y: Field{[10]uint32{0x009ce73c, 0x02ce61f4, 0x0204b03e, 0x027ce9dd, 0x0278a50c, 0x03d7a4b8, 0x035e2f20, 0x01691cfc, 0x016f6f6a, 0x0031c80d}}}, + {X: Field{[10]uint32{0x02e915ec, 0x03b1c280, 0x03612dd7, 0x01a304f3, 0x02021744, 0x03383aaa, 0x031be48a, 0x02694932, 0x03b36f42, 0x0013daba}}, Y: Field{[10]uint32{0x038e761f, 0x0082c473, 0x036c6396, 0x01ba1e03, 0x010b28f9, 0x014adb5f, 0x02d36092, 0x035e400a, 0x014da8b6, 0x00101ab6}}}, + {X: Field{[10]uint32{0x023f8232, 0x01586ec8, 0x01f8e088, 0x03c690ac, 0x037a3cc7, 0x03035fa2, 0x0310dae5, 0x00b99999, 0x020e5ac0, 0x00132b0f}}, Y: Field{[10]uint32{0x03263142, 0x00168232, 0x019318ba, 0x015b0bf9, 0x03dca655, 0x0230a749, 0x03fcb9cd, 0x03cf2013, 0x008eaa96, 0x0024e5bb}}}, + {X: Field{[10]uint32{0x039367b8, 0x0282983d, 0x0193738e, 0x01e18186, 0x02f61fbd, 0x01931d81, 0x00a9dd10, 0x02b15cb1, 0x00633aa2, 0x00021bcd}}, Y: Field{[10]uint32{0x01824f05, 0x008f9609, 0x0312a03f, 0x0186d6b9, 0x03cfb2aa, 0x02d30e2b, 0x0376c9fd, 0x01e76d7d, 0x012b5561, 0x003200bf}}}, + {X: Field{[10]uint32{0x007103a9, 0x0371ffcd, 0x034da318, 0x008ee8f5, 0x000bcd6f, 0x0074e7ea, 0x025ab4cd, 0x03848f9e, 0x01457685, 0x0014c8fc}}, Y: Field{[10]uint32{0x00691cb1, 0x0000de22, 0x028e3461, 0x03c7fb87, 0x0394cab4, 0x02efce3e, 0x01ec977c, 0x02ca784b, 0x0379eccc, 0x000c24be}}}, + {X: Field{[10]uint32{0x03ea74fd, 0x03c45e0c, 0x030e71a7, 0x001a60ff, 0x03f85cf1, 0x02838717, 0x000c45f3, 0x00471f9a, 0x01464027, 0x0034f5c3}}, Y: Field{[10]uint32{0x00d07bad, 0x01bd896a, 0x03c90fdf, 0x03cf855d, 0x01e4f722, 0x03ba9fee, 0x0093b9e0, 0x003cc45a, 0x0373d9b9, 0x00246609}}}, + {X: Field{[10]uint32{0x036d4359, 0x02192ef6, 0x02fdd6fd, 0x03e86ac7, 0x01f8cb89, 0x00d953c7, 0x01b5d714, 0x01d84c0b, 0x013728a8, 0x0037d8ee}}, Y: Field{[10]uint32{0x02ce5510, 0x02b2ded8, 0x012a791b, 0x035212de, 0x02a2c7be, 0x00cbe96c, 0x03930348, 0x00fb2db1, 0x01ca191a, 0x001f0ede}}}, + {X: Field{[10]uint32{0x01b70c74, 0x01afa15c, 0x00ec3974, 0x02531f7b, 0x0328a994, 0x0138898a, 0x0303169a, 0x00d3657c, 0x02228cc3, 0x003c7fa4}}, Y: Field{[10]uint32{0x0351a10e, 0x03944db9, 0x02b6469d, 0x00d630a3, 0x03b67a24, 0x0266bc78, 0x0335f60f, 0x03e9ca8a, 0x03b84e65, 0x0015623c}}}, + {X: Field{[10]uint32{0x0274fd95, 0x0324216e, 0x03c7dcb3, 0x02d7e8a7, 0x00fb0adb, 0x01f2ca34, 0x03ec14cb, 0x028cc3b7, 0x035d918c, 0x00240c39}}, Y: Field{[10]uint32{0x00b427f7, 0x0366768e, 0x004cd71a, 0x0304eef7, 0x035a452d, 0x00e2b7b5, 0x0128821c, 0x02261302, 0x01286169, 0x001f7c80}}}, + {X: Field{[10]uint32{0x03ad641a, 0x01f3d71d, 0x007d5ddd, 0x0218b0f3, 0x03dfa0b5, 0x01d9047a, 0x00f628c5, 0x036e1c4d, 0x013935be, 0x000734f0}}, Y: Field{[10]uint32{0x039a324d, 0x012f7852, 0x02bcf592, 0x03c40c3e, 0x0288264c, 0x03211ec9, 0x013a25e0, 0x02ec22fa, 0x01f25488, 0x0008553b}}}, + {X: Field{[10]uint32{0x0046ad96, 0x03c49f49, 0x01f42202, 0x03feb265, 0x03bd6e91, 0x03b0356e, 0x039f4621, 0x03b1f1e2, 0x0337a19f, 0x00395b81}}, Y: Field{[10]uint32{0x02ad70d7, 0x02226a8f, 0x0177698f, 0x00bd2cbb, 0x011e69b4, 0x01a4fa5d, 0x028d9bbb, 0x01d83902, 0x0027368c, 0x00220c36}}}, + {X: Field{[10]uint32{0x03b6b101, 0x0398fc57, 0x02657587, 0x0219e021, 0x0156fd08, 0x012b6299, 0x026dfeb2, 0x03978d8f, 0x02c458ab, 0x0006c29a}}, Y: Field{[10]uint32{0x035178dc, 0x00b3124c, 0x01926521, 0x01acb87d, 0x029a35e8, 0x03777b97, 0x033e5aab, 0x018e8ac4, 0x03dae642, 0x0034b7db}}}, + {X: Field{[10]uint32{0x03ea22b2, 0x03302048, 0x00679d80, 0x01d9173f, 0x0250bb16, 0x011b58a8, 0x01390a62, 0x0186393b, 0x01468fd4, 0x00042850}}, Y: Field{[10]uint32{0x0140185f, 0x00ce003f, 0x015620b0, 0x0096f0c3, 0x01f9a09b, 0x013aec54, 0x0113dbaf, 0x03746bb3, 0x0068dd7f, 0x000ce0ee}}}, + {X: Field{[10]uint32{0x003f5e35, 0x00f90669, 0x006ac8a7, 0x035e5755, 0x02e357f7, 0x01a2be9c, 0x038837e5, 0x028d45b6, 0x03515378, 0x0027712a}}, Y: Field{[10]uint32{0x0305903f, 0x02359a98, 0x01a06cc6, 0x0386410e, 0x02bfe05c, 0x03a9647b, 0x02422be1, 0x033eff8a, 0x022d9bce, 0x0002376a}}}, + {X: Field{[10]uint32{0x00ed7196, 0x02b1db8f, 0x035de1aa, 0x0264d880, 0x0213539e, 0x0226c82b, 0x038eb19e, 0x0387ef14, 0x035de7a4, 0x002aa4c5}}, Y: Field{[10]uint32{0x02afb9ad, 0x02e192b0, 0x01a05eff, 0x01afb38f, 0x00c18d14, 0x022d2001, 0x03e133ad, 0x0115a27c, 0x0304c134, 0x003b73b6}}}, + {X: Field{[10]uint32{0x022edf7b, 0x03bdbec8, 0x00e27536, 0x03e8d753, 0x0294f3ce, 0x0341b31a, 0x036fcbc6, 0x0366822e, 0x03e4da02, 0x00205c7c}}, Y: Field{[10]uint32{0x01e6dd6b, 0x0272967a, 0x03189749, 0x02de9963, 0x03c32038, 0x00f06993, 0x002b55f7, 0x00aae870, 0x01fcaae6, 0x003a46f9}}}, + {X: Field{[10]uint32{0x02a19ab6, 0x00201606, 0x024b111b, 0x009d0dd1, 0x01893fe6, 0x031e73de, 0x01888c93, 0x00a3998d, 0x0183c891, 0x00147db2}}, Y: Field{[10]uint32{0x0081a067, 0x003c164e, 0x03252a3d, 0x0003578d, 0x00b8cee4, 0x02a37194, 0x001dbf41, 0x0193d483, 0x01494bb1, 0x00174bbc}}}, + {X: Field{[10]uint32{0x03d7d38a, 0x002ae3db, 0x02580950, 0x02b1d36b, 0x03ec34df, 0x036c3769, 0x01016b19, 0x00c371a9, 0x0184766b, 0x0030287c}}, Y: Field{[10]uint32{0x02c6f01e, 0x024d65fa, 0x01490528, 0x007b1a57, 0x01b27f36, 0x009349aa, 0x01410516, 0x036bc4a7, 0x03e2c7b6, 0x002f72b4}}}, + {X: Field{[10]uint32{0x03a0eb02, 0x00e51c8c, 0x00a222bd, 0x026c7ade, 0x02fde927, 0x00d07bee, 0x02b6fe07, 0x0145a412, 0x02cc9543, 0x002c6ec7}}, Y: Field{[10]uint32{0x001689a8, 0x02fead32, 0x021d55a7, 0x02137931, 0x014b1490, 0x01c78325, 0x00dbf0a6, 0x010b8b03, 0x035b5253, 0x0037d48f}}}, + {X: Field{[10]uint32{0x000b5dce, 0x00f79f59, 0x00470180, 0x039da063, 0x023b0891, 0x010dce47, 0x0139ea7e, 0x013b5621, 0x00dc86d0, 0x002d730c}}, Y: Field{[10]uint32{0x02d4ec14, 0x00798bd0, 0x00b65ca4, 0x0077fff9, 0x009f5556, 0x00b80fca, 0x031acc86, 0x00c4b43e, 0x019e45c7, 0x003c7303}}}, + {X: Field{[10]uint32{0x0263ccb6, 0x03a503e4, 0x016b0da8, 0x008d47f8, 0x008cacee, 0x01f56507, 0x0155b3ea, 0x03fd4ca0, 0x01e705f0, 0x00378ad2}}, Y: Field{[10]uint32{0x018de99f, 0x01364fdb, 0x032ab74b, 0x02d5c0d5, 0x024690d5, 0x01e0552b, 0x017c6801, 0x02fd9ec3, 0x002bb12d, 0x000d35e9}}}, + {X: Field{[10]uint32{0x03cc8f51, 0x017cf395, 0x0311ad51, 0x02c3bcbb, 0x00ea5c0d, 0x0161c33f, 0x00984046, 0x03845c3a, 0x00e7c129, 0x0022c63d}}, Y: Field{[10]uint32{0x01111f37, 0x00b80226, 0x00aff884, 0x009f9acb, 0x0372281c, 0x0323b72c, 0x01e9d6cd, 0x012964f1, 0x0086c867, 0x001ac784}}}, + {X: Field{[10]uint32{0x03c86889, 0x0160aa45, 0x03442f9e, 0x0092da97, 0x01822ce4, 0x018aa0c3, 0x00e46f17, 0x03222246, 0x02c027ce, 0x001c9c58}}, Y: Field{[10]uint32{0x03223cca, 0x01bce28b, 0x02e7e841, 0x008f3145, 0x03248656, 0x024f9491, 0x03de5af6, 0x028da79b, 0x02961452, 0x00378d20}}}, + {X: Field{[10]uint32{0x0105058c, 0x0215adcd, 0x016056d0, 0x03f28fd8, 0x02946a75, 0x0309252f, 0x00eb9b81, 0x01d20fc6, 0x001f4dd1, 0x0012b93f}}, Y: Field{[10]uint32{0x032563e7, 0x011a4843, 0x017a39ae, 0x00db8b18, 0x0059999b, 0x0361e11c, 0x0034a05b, 0x03f05f68, 0x0012e901, 0x00361f9e}}}, + {X: Field{[10]uint32{0x03f43cd1, 0x00548197, 0x010bf58b, 0x02e93bda, 0x0272007b, 0x01abff40, 0x0026f016, 0x01cffa46, 0x01ace9e8, 0x003a42f2}}, Y: Field{[10]uint32{0x0164fa87, 0x0398d811, 0x02d58905, 0x00b34b95, 0x0147f076, 0x0196e6ff, 0x009b0c00, 0x03f5a147, 0x00e89acd, 0x0012f208}}}, + {X: Field{[10]uint32{0x011450ba, 0x0101db7d, 0x010209af, 0x0295fc14, 0x0208340b, 0x03a7bdd1, 0x021af7db, 0x00bedbde, 0x02a1db43, 0x002e82b9}}, Y: Field{[10]uint32{0x012be720, 0x021dabe4, 0x02908c58, 0x00630cba, 0x0351019a, 0x0068b0c2, 0x029894c5, 0x0250805c, 0x01b70409, 0x001f4e0e}}}, + {X: Field{[10]uint32{0x03accfeb, 0x020808b4, 0x03a5def8, 0x02fca607, 0x034f9682, 0x035ee5f5, 0x018b403e, 0x0194c476, 0x0381f77c, 0x001c1986}}, Y: Field{[10]uint32{0x02d06387, 0x02f13929, 0x0277e4e5, 0x02497d19, 0x027b4eeb, 0x02c1bf99, 0x024bd7cf, 0x027d366b, 0x01731895, 0x002408ae}}}, + {X: Field{[10]uint32{0x00471a47, 0x038248bf, 0x011d80e5, 0x0056347c, 0x0029451c, 0x0367be8e, 0x0381b817, 0x00e81c47, 0x03472815, 0x003f86de}}, Y: Field{[10]uint32{0x02b0f847, 0x02280d34, 0x01fae19c, 0x037c8d13, 0x0285725b, 0x03930c6a, 0x0115dc05, 0x02df1bec, 0x01cc68cf, 0x0025681d}}}, + {X: Field{[10]uint32{0x02cc3fc0, 0x01c3dfa6, 0x01e867ab, 0x00dfb171, 0x004325bc, 0x009f8e97, 0x0013d04f, 0x02a41ca0, 0x03d2bbae, 0x0022b3ce}}, Y: Field{[10]uint32{0x0216174e, 0x012195cf, 0x00785ee1, 0x03bf6f8b, 0x01b3e2e0, 0x02547e03, 0x01c06a25, 0x009f53ca, 0x03fb36da, 0x003d9e78}}}, + {X: Field{[10]uint32{0x02f395e3, 0x03aa3612, 0x0314f1d6, 0x03443283, 0x00d2db01, 0x03d8ae9f, 0x03fc6a47, 0x01f56ae1, 0x013725fc, 0x00076157}}, Y: Field{[10]uint32{0x020b1b90, 0x037234c0, 0x012a5815, 0x03436a24, 0x019b0a9a, 0x0189a317, 0x0255183f, 0x01953b51, 0x03ac2d41, 0x0033ac98}}}, + {X: Field{[10]uint32{0x012a8cba, 0x009b5c16, 0x0302e039, 0x02601147, 0x03099344, 0x01c3466d, 0x00ec6f6d, 0x01338f21, 0x016630c2, 0x0006aed1}}, Y: Field{[10]uint32{0x00525885, 0x0065521d, 0x01863f4b, 0x024d048a, 0x021778d2, 0x00c91514, 0x01886ef7, 0x01ff5cab, 0x006f6be8, 0x001189dc}}}, + {X: Field{[10]uint32{0x03eac036, 0x03cafaa4, 0x00a5fb86, 0x01992c26, 0x03620e5c, 0x0128fcc2, 0x01d07e24, 0x004bfe59, 0x00fa672c, 0x0006d1e4}}, Y: Field{[10]uint32{0x03edd60e, 0x00634939, 0x012831b0, 0x01c27278, 0x017c19fd, 0x02e0e47f, 0x022a9a06, 0x038b47ca, 0x00fca758, 0x003bb414}}}, + {X: Field{[10]uint32{0x00de3dd3, 0x00dcca9a, 0x01c98a43, 0x0280878f, 0x0344c106, 0x01584d9e, 0x01dcfc12, 0x032238c3, 0x032cfc9c, 0x001861e2}}, Y: Field{[10]uint32{0x02aed78e, 0x000037c7, 0x0229d436, 0x002dac4f, 0x03afc6f5, 0x0262a7be, 0x014cb774, 0x009e746d, 0x00a0037c, 0x003e8915}}}, + {X: Field{[10]uint32{0x0144308a, 0x010042a1, 0x030b5335, 0x006a4c5c, 0x00abc727, 0x0114088e, 0x00c21ecf, 0x03fac5ef, 0x01f02767, 0x00210123}}, Y: Field{[10]uint32{0x0193c32f, 0x03223b3a, 0x00b7c838, 0x02a90e33, 0x02605acc, 0x01dd8f1b, 0x03f9814f, 0x00239751, 0x024a39d6, 0x00351c4b}}}, + {X: Field{[10]uint32{0x02683a94, 0x02eb0cf2, 0x015cf889, 0x0032a201, 0x018ba37d, 0x01fa27e5, 0x031e1e03, 0x005d7b0f, 0x00e56c96, 0x003adeb1}}, Y: Field{[10]uint32{0x0285da8a, 0x00e053d7, 0x030112bc, 0x00ccbd45, 0x03cc07de, 0x004f7f1b, 0x00bfe075, 0x009d2db6, 0x02672ccc, 0x00125078}}}, + {X: Field{[10]uint32{0x02142e91, 0x00656bc8, 0x03eaf1a4, 0x0154e027, 0x014cbce4, 0x000a2370, 0x02b452ba, 0x012f6ad8, 0x02c9877d, 0x001228da}}, Y: Field{[10]uint32{0x0369659c, 0x0143aeaa, 0x02e2530b, 0x027087fd, 0x0027eec3, 0x013a5436, 0x02d88480, 0x018a21b1, 0x018a0125, 0x0038935b}}}, + {X: Field{[10]uint32{0x00cca1b5, 0x00b385af, 0x02a91252, 0x019320b4, 0x02e817b6, 0x02c8e803, 0x029af3b1, 0x028975e1, 0x01d05a62, 0x00270c49}}, Y: Field{[10]uint32{0x01e5afe3, 0x026daf4e, 0x03450a18, 0x0185541a, 0x01385663, 0x03863d7d, 0x00172774, 0x01c5a061, 0x0210f670, 0x0031bb36}}}, + {X: Field{[10]uint32{0x00f80d68, 0x02a479a4, 0x0116bc2c, 0x03b526bc, 0x0310160b, 0x013722f8, 0x033843e0, 0x019c371f, 0x0221dcc7, 0x000cfa07}}, Y: Field{[10]uint32{0x01757b6f, 0x024a4195, 0x01bb8fa5, 0x03a27b01, 0x029ce417, 0x03bf8e2b, 0x01f11678, 0x021b4b9b, 0x01d3a0a3, 0x0039a530}}}, + {X: Field{[10]uint32{0x036a1ad2, 0x00700cc6, 0x03056d8e, 0x012e29a3, 0x035c1d0d, 0x00256609, 0x02b10715, 0x0383f2ff, 0x029e6899, 0x002550dd}}, Y: Field{[10]uint32{0x009b0d7e, 0x01e54d3b, 0x00b163f5, 0x0219fd9a, 0x0301c4be, 0x00bb473a, 0x035f1487, 0x021041d8, 0x03fdafc5, 0x0001c033}}}, + {X: Field{[10]uint32{0x0039efdd, 0x0142099d, 0x00203a0d, 0x018f8877, 0x026ca9b1, 0x02d4201f, 0x0081e6e5, 0x00b0e5f5, 0x00d173e6, 0x0013d073}}, Y: Field{[10]uint32{0x0069f79d, 0x0339df43, 0x011eed95, 0x02ff8563, 0x008fea56, 0x02dd2c95, 0x00b309ba, 0x0065cb62, 0x02d6aa8c, 0x003efe63}}}, + {X: Field{[10]uint32{0x005f12e5, 0x03b3c819, 0x03bd9064, 0x01a91946, 0x00a667fe, 0x023baf0a, 0x03fd9c33, 0x00037ef8, 0x0245584b, 0x00133eda}}, Y: Field{[10]uint32{0x0214652b, 0x006486bd, 0x0312f550, 0x028979ca, 0x00219638, 0x00495640, 0x00fac21d, 0x003a1d1c, 0x02dafe08, 0x000b77f5}}}, + {X: Field{[10]uint32{0x01eca626, 0x005dd5dd, 0x039821f2, 0x0324605f, 0x038e536b, 0x03eb94ce, 0x02217fd8, 0x028cf297, 0x03ecd9bb, 0x0027bee2}}, Y: Field{[10]uint32{0x00658fb4, 0x003e32ac, 0x02f8e944, 0x02e21d78, 0x018e3573, 0x029f70f8, 0x00bcf9c1, 0x03057a46, 0x00ed0529, 0x001984c0}}}, + {X: Field{[10]uint32{0x0030e441, 0x039876b9, 0x02470da9, 0x03e7a143, 0x00f5d3c0, 0x02f9b717, 0x01ab953e, 0x039302e1, 0x01525be7, 0x0030aa02}}, Y: Field{[10]uint32{0x009d9d2d, 0x02713be0, 0x0277b483, 0x018f5434, 0x036be063, 0x03027ef0, 0x026fa221, 0x01a5f1f6, 0x0136bf72, 0x00074b7b}}}, + {X: Field{[10]uint32{0x03baa707, 0x010b808e, 0x0030c0a2, 0x02d006fe, 0x032501a1, 0x031882c4, 0x02162764, 0x0208afd6, 0x036b49ae, 0x0010adff}}, Y: Field{[10]uint32{0x02b71d6d, 0x00288da0, 0x028b0eb9, 0x0254317a, 0x00fb2c75, 0x032ed68e, 0x02de994d, 0x039001c4, 0x005883f0, 0x003907f8}}}, + {X: Field{[10]uint32{0x03b0c28c, 0x007c38aa, 0x0386df78, 0x02d1fb8e, 0x01e00cc3, 0x017de3ce, 0x03e15185, 0x02d904ab, 0x0129d420, 0x003b82ec}}, Y: Field{[10]uint32{0x000aec61, 0x00d0fad7, 0x01099258, 0x015552ba, 0x0154b174, 0x003b6eb7, 0x006204b6, 0x02891d9f, 0x027a5a4f, 0x003dc743}}}, + {X: Field{[10]uint32{0x00ef5b9a, 0x0121f01e, 0x02e789ca, 0x0390a894, 0x0077546c, 0x009b140f, 0x031a7160, 0x00efd499, 0x02079cdb, 0x0007c762}}, Y: Field{[10]uint32{0x03571c20, 0x027a6365, 0x01cfc5c3, 0x02a98f47, 0x00180ee4, 0x03ef0c19, 0x00e8e6f9, 0x0144b7aa, 0x030dae55, 0x00318444}}}, + {X: Field{[10]uint32{0x02a31310, 0x004bfb34, 0x017b8b29, 0x01b97e4c, 0x027cf313, 0x01063c05, 0x026ebe55, 0x027ec564, 0x0006ecdc, 0x0016f6a7}}, Y: Field{[10]uint32{0x005ecad7, 0x02370a01, 0x023feb72, 0x01a285ed, 0x03890761, 0x01cbab6c, 0x03e59d5b, 0x00983203, 0x0370dce1, 0x000d63fe}}}, + {X: Field{[10]uint32{0x03866ea6, 0x011d5137, 0x01be91f8, 0x01cd2018, 0x01edc789, 0x0383bf5c, 0x0252dec8, 0x031c9d99, 0x0103fa50, 0x0030cbd9}}, Y: Field{[10]uint32{0x01fca304, 0x02e71c40, 0x008566de, 0x00a882e0, 0x006a34af, 0x02c4fc2c, 0x0309443c, 0x03b3101e, 0x02267a13, 0x0019c8d2}}}, + {X: Field{[10]uint32{0x0089caed, 0x0337aa25, 0x03069941, 0x01ce25ae, 0x00849bb6, 0x02584990, 0x026c83f2, 0x03ac19c3, 0x0111b71f, 0x001520f5}}, Y: Field{[10]uint32{0x008c1148, 0x034e49f6, 0x03ecfbfe, 0x0141e512, 0x03494d53, 0x03639377, 0x02df0f38, 0x00d0dd02, 0x0262d323, 0x0028269a}}}, + {X: Field{[10]uint32{0x02a322ef, 0x00625603, 0x010472d5, 0x03f6710f, 0x02d5e3c6, 0x029b3091, 0x00b93425, 0x01aae47b, 0x035ff0b8, 0x000f4b63}}, Y: Field{[10]uint32{0x0155b830, 0x027cd936, 0x00509c73, 0x03b28613, 0x00fb45d7, 0x01c75d82, 0x039cf4ab, 0x03381461, 0x008b4c23, 0x0010620d}}}, + {X: Field{[10]uint32{0x01af1dc0, 0x011d5d08, 0x01e9e40b, 0x000eaae2, 0x00735ddf, 0x024daf04, 0x01ffa9df, 0x019e017f, 0x013929ed, 0x000e970e}}, Y: Field{[10]uint32{0x00a7011d, 0x020893a4, 0x0081e0dd, 0x00aea517, 0x0344dcd5, 0x00a5d720, 0x002a7de2, 0x00a458ab, 0x01197675, 0x001d82c6}}}, + {X: Field{[10]uint32{0x00590a83, 0x03752135, 0x01f900e5, 0x0120cdcf, 0x00648869, 0x03892831, 0x039272ef, 0x0301b8fb, 0x02ac7c1c, 0x0028f548}}, Y: Field{[10]uint32{0x021b6be2, 0x007cb13b, 0x00795566, 0x031a4c15, 0x0328c377, 0x000005a5, 0x01684a95, 0x03758486, 0x022cb739, 0x001bd4ee}}}, + {X: Field{[10]uint32{0x00e8180f, 0x01451176, 0x01d42367, 0x021f76e5, 0x02c1437d, 0x00b80aa8, 0x00785836, 0x00806110, 0x01311399, 0x003bc2c2}}, Y: Field{[10]uint32{0x0086c634, 0x03210ae5, 0x019801b9, 0x0029065c, 0x00217352, 0x024be31d, 0x00408cdf, 0x011dc9f4, 0x00078d18, 0x001cefd1}}}, + {X: Field{[10]uint32{0x0115da20, 0x01bd031b, 0x03e070f2, 0x01734728, 0x02a770c1, 0x01846169, 0x02118991, 0x033ae708, 0x03fd1498, 0x0020503b}}, Y: Field{[10]uint32{0x0022a474, 0x03127f40, 0x01c3e45f, 0x0008280b, 0x03051c11, 0x0058bc0e, 0x028b7eb2, 0x02dfc6f9, 0x03df6d2d, 0x00131d3c}}}, + {X: Field{[10]uint32{0x03e122f0, 0x02966f3a, 0x00b74215, 0x03c000de, 0x017603c7, 0x03f5bf59, 0x0132f4d3, 0x027c7e4f, 0x03208e08, 0x000d1175}}, Y: Field{[10]uint32{0x010b6d5b, 0x0388e922, 0x013d4b63, 0x00dfa0a5, 0x0238da06, 0x000db868, 0x03c8626f, 0x013bcce8, 0x035dfdb5, 0x001b5040}}}, + {X: Field{[10]uint32{0x03a58cd7, 0x008f50fd, 0x02b9c72c, 0x01b57f9a, 0x01789a36, 0x00493378, 0x01933f97, 0x00da6874, 0x025a6235, 0x003852ca}}, Y: Field{[10]uint32{0x01fc8f8f, 0x011342fe, 0x013be447, 0x00658954, 0x01d67a9f, 0x022a7962, 0x02fe6ce5, 0x030409b2, 0x02c52f63, 0x00085bc1}}}, + {X: Field{[10]uint32{0x01891e0b, 0x00fa4b8b, 0x00deaf8f, 0x00199cd2, 0x00eec931, 0x0302205c, 0x010b2b33, 0x02f113f3, 0x00bc8389, 0x001b6590}}, Y: Field{[10]uint32{0x0104227d, 0x00af105f, 0x0331a185, 0x02c20586, 0x0068b5d4, 0x010a21ff, 0x0204759a, 0x036d927f, 0x00856e42, 0x0012d305}}}, + {X: Field{[10]uint32{0x019b2916, 0x002bf3bf, 0x0232462a, 0x0016e781, 0x02fd028a, 0x01f00ec6, 0x027cc60d, 0x007c84fd, 0x00045c46, 0x0009cbc5}}, Y: Field{[10]uint32{0x03348416, 0x03350cea, 0x00b1e825, 0x020cc551, 0x03fd6b75, 0x0003ac37, 0x023f78d8, 0x00d4e029, 0x02c0c0b2, 0x002618d7}}}, + {X: Field{[10]uint32{0x033a07e3, 0x00ca7b87, 0x02257681, 0x013b7a45, 0x02415233, 0x0378738e, 0x01250bec, 0x01d1698c, 0x0128eaae, 0x002a3266}}, Y: Field{[10]uint32{0x03351621, 0x03358479, 0x006209f5, 0x02df9879, 0x0124ae51, 0x0058bfb4, 0x01149aa5, 0x00fdfa38, 0x0286abdf, 0x00133309}}}, + {X: Field{[10]uint32{0x00975409, 0x00e18036, 0x01ceffac, 0x01403f4c, 0x011c660d, 0x02c79320, 0x01be6869, 0x03559626, 0x03337f93, 0x003ec092}}, Y: Field{[10]uint32{0x00c7fdb0, 0x01cbd1f1, 0x01e127b0, 0x028a2765, 0x03ee562c, 0x0115e59b, 0x00730c39, 0x00f255fa, 0x02b78bff, 0x000ce5a1}}}, + {X: Field{[10]uint32{0x00562f9c, 0x021c15ca, 0x014f2351, 0x03e73912, 0x00a6cb14, 0x0246e136, 0x03ecfe36, 0x00d525dc, 0x0147aa61, 0x00383921}}, Y: Field{[10]uint32{0x00a7b307, 0x01dbbbf7, 0x03676a6d, 0x03e1a7d1, 0x03778609, 0x00e58012, 0x03488389, 0x01d60149, 0x018b5640, 0x00182db7}}}, + {X: Field{[10]uint32{0x025d16e4, 0x01bbd644, 0x02169807, 0x00f77fb0, 0x03ed9e38, 0x001786c2, 0x0374d296, 0x022d4c27, 0x002d378b, 0x002f5b10}}, Y: Field{[10]uint32{0x01ef2c24, 0x0086c8a7, 0x00f10755, 0x012de544, 0x02a27692, 0x0231b4b0, 0x036a8f8c, 0x0071ecdd, 0x009cbb76, 0x00330eab}}}, + {X: Field{[10]uint32{0x01e451c0, 0x0085eb01, 0x02ef552c, 0x02f78542, 0x01d5886c, 0x03da548d, 0x00e2c554, 0x013d1051, 0x0231eefa, 0x0039a464}}, Y: Field{[10]uint32{0x03b1cfa7, 0x02ea6b18, 0x0346bc2a, 0x03f1a49f, 0x0173a888, 0x00a8473f, 0x0156133c, 0x00984ad3, 0x01d4d34d, 0x0039d3b8}}}, + {X: Field{[10]uint32{0x003d03a9, 0x02e92868, 0x01463f9c, 0x007a3051, 0x02037c48, 0x00a2f6ce, 0x012ac5a3, 0x01e1d136, 0x006a2a48, 0x0006a6b3}}, Y: Field{[10]uint32{0x01f0fb10, 0x01f1623f, 0x01ca126a, 0x0206d26d, 0x02df71fc, 0x01ff87d7, 0x02224224, 0x00d8a3eb, 0x029a960e, 0x0002e981}}}, + {X: Field{[10]uint32{0x02070910, 0x033bd33d, 0x028d536c, 0x0108f5b6, 0x00abfde6, 0x00b6e66e, 0x004e9395, 0x038c07cb, 0x03a92e5f, 0x0016d4ae}}, Y: Field{[10]uint32{0x0347ae29, 0x01bb796d, 0x00341f54, 0x02c0bf9d, 0x02cc1ab1, 0x01c6bb42, 0x00c68f0a, 0x0089f446, 0x03dd901e, 0x00042376}}}, + {X: Field{[10]uint32{0x01e05242, 0x00ce29ac, 0x022860f1, 0x02935fe6, 0x000652b0, 0x00ef8a0a, 0x01a096a7, 0x020aa6c4, 0x03601ebe, 0x0024b04d}}, Y: Field{[10]uint32{0x02449d7c, 0x02b01b02, 0x0027559f, 0x02f74538, 0x0251a588, 0x017db1e6, 0x003dd578, 0x0343e975, 0x03fc2dc6, 0x000b8fa4}}}, + {X: Field{[10]uint32{0x014318b8, 0x03ff97c7, 0x01d69a12, 0x01e7d818, 0x0194b4f2, 0x022550af, 0x021c749e, 0x01305dce, 0x00da7996, 0x000f2dbe}}, Y: Field{[10]uint32{0x03b11956, 0x02e904da, 0x01d54d05, 0x01c5b9ac, 0x0272a777, 0x02bb8a55, 0x023bd02f, 0x016b6370, 0x01a8b4f4, 0x0010b930}}}, + {X: Field{[10]uint32{0x03dbf5db, 0x00545142, 0x0183f664, 0x01366a00, 0x013c60a1, 0x01437839, 0x01a51100, 0x00637444, 0x0351d345, 0x0017fb58}}, Y: Field{[10]uint32{0x0346c3f6, 0x0299621d, 0x036cd056, 0x0078a579, 0x01da77e0, 0x026f60dd, 0x00140b64, 0x029342dd, 0x0190de07, 0x001ade69}}}, + {X: Field{[10]uint32{0x015d3840, 0x0064f8f6, 0x0356e7d3, 0x02c7f43e, 0x00a14132, 0x0301844a, 0x00245d37, 0x0213cadf, 0x00a781c3, 0x000ae23c}}, Y: Field{[10]uint32{0x01a0e10e, 0x021cfe22, 0x02981bd4, 0x02e520e2, 0x00c1632b, 0x0089125d, 0x01b6453c, 0x01b95d95, 0x03a21144, 0x003de1f9}}}, + {X: Field{[10]uint32{0x03293443, 0x02ec0b60, 0x02fd2047, 0x0253a623, 0x0118507f, 0x0368d9c6, 0x030ac3e1, 0x0157ecd6, 0x03b15a3f, 0x0031ec91}}, Y: Field{[10]uint32{0x01b85f4f, 0x01ee341b, 0x00b6799e, 0x03d993cf, 0x00c3c8e5, 0x0309f152, 0x02b6ac8b, 0x017c448d, 0x003734c6, 0x0012ad01}}}, + {X: Field{[10]uint32{0x003647dd, 0x02a8dd78, 0x005344c6, 0x03484875, 0x0045df69, 0x00b04df8, 0x0008a201, 0x02520417, 0x01338dcb, 0x00377f6a}}, Y: Field{[10]uint32{0x03795c1b, 0x02ff96d5, 0x02091bbc, 0x015691be, 0x0095f912, 0x0161c4b4, 0x032e93ac, 0x005af565, 0x01fd02a1, 0x003a57de}}}, + {X: Field{[10]uint32{0x031da7db, 0x013fbe8d, 0x00c29da0, 0x02d99dfe, 0x029d15a6, 0x0091fa1f, 0x03e3233b, 0x02c415b1, 0x02455084, 0x00372369}}, Y: Field{[10]uint32{0x001449c3, 0x00c81211, 0x00c80931, 0x00a198df, 0x018fc66d, 0x022f5da1, 0x0207fea0, 0x03b00fda, 0x01a3fde3, 0x0030a8d1}}}, + {X: Field{[10]uint32{0x01ff5333, 0x015520b4, 0x0395b8e3, 0x0334ea31, 0x02a31547, 0x0190e415, 0x0263bc7a, 0x02fea3c4, 0x0326c5fc, 0x003d4fce}}, Y: Field{[10]uint32{0x02716ac1, 0x022f8eb9, 0x031d1bb6, 0x03b1e662, 0x035249e8, 0x005f13ec, 0x0188f1da, 0x02e72a63, 0x0145e664, 0x000044fb}}}, + {X: Field{[10]uint32{0x0246cae9, 0x0277242d, 0x03a391d8, 0x021a4c4e, 0x027d7546, 0x0365a77d, 0x021d6477, 0x012d793b, 0x03fd0c6d, 0x00192348}}, Y: Field{[10]uint32{0x03e18962, 0x036f8a00, 0x0120615e, 0x01500c98, 0x009b3364, 0x02b81a5f, 0x02ffbd4b, 0x01d74d39, 0x00452393, 0x00340d78}}}, + {X: Field{[10]uint32{0x002839b1, 0x020ff84f, 0x011cb1c4, 0x038ac72a, 0x03bd51bd, 0x035c2cd0, 0x0073f3ed, 0x01603e09, 0x010e5dbe, 0x0024b9b7}}, Y: Field{[10]uint32{0x039577a5, 0x03d1852c, 0x012015dd, 0x007a8432, 0x01a61ab0, 0x02826ce4, 0x02d1a465, 0x01ef4964, 0x03fea544, 0x00336437}}}, + {X: Field{[10]uint32{0x009f687b, 0x013b983d, 0x03b782ef, 0x020daf9b, 0x00eaec05, 0x02505695, 0x0223ec54, 0x03be33e8, 0x018a7616, 0x0004c579}}, Y: Field{[10]uint32{0x03e1431c, 0x016109b5, 0x0280f1ac, 0x0285cdf6, 0x022fe189, 0x036b1caa, 0x00e1fa45, 0x01832f15, 0x0100802d, 0x001ca780}}}, + {X: Field{[10]uint32{0x033e2a3b, 0x0008522a, 0x035e6c94, 0x03579b41, 0x0186b001, 0x00d55394, 0x026b284a, 0x03f61438, 0x03999857, 0x000f22a5}}, Y: Field{[10]uint32{0x00b25977, 0x01a76f4a, 0x012f6d6c, 0x00568410, 0x03a722e9, 0x00140819, 0x0087b3d6, 0x00829565, 0x0092acc7, 0x001193c1}}}, + {X: Field{[10]uint32{0x027591c8, 0x00ba9d84, 0x00879f86, 0x03e3fc0f, 0x010bf3c7, 0x01be6b38, 0x02b37cae, 0x0317d10d, 0x0230cc94, 0x003a905c}}, Y: Field{[10]uint32{0x01a4faa6, 0x01819f61, 0x033ace91, 0x01d5c09a, 0x006f4ec4, 0x02735010, 0x00cff1eb, 0x03542eeb, 0x00cb8d95, 0x0025848e}}}, + {X: Field{[10]uint32{0x021a6ceb, 0x0066854d, 0x0040bceb, 0x0282c316, 0x0348496c, 0x00b262bd, 0x01a8c816, 0x001e78ca, 0x01c2f271, 0x0023b33e}}, Y: Field{[10]uint32{0x017e56af, 0x00f5a1ec, 0x03a5b0b5, 0x00e684cb, 0x01c8ac52, 0x00bcdeca, 0x00c6a7c5, 0x03c6a98c, 0x0219165b, 0x000f8966}}}, + {X: Field{[10]uint32{0x030f296d, 0x00e62d53, 0x0155677f, 0x004e10b3, 0x027bf3d9, 0x0153adaa, 0x033c34ab, 0x00e965a1, 0x0083b350, 0x000cbc3f}}, Y: Field{[10]uint32{0x0381a811, 0x036328be, 0x01e26655, 0x02b73268, 0x00311e50, 0x032d7dec, 0x02da3459, 0x01e2dd8b, 0x016d906f, 0x00351cdb}}}, + {X: Field{[10]uint32{0x00d7accb, 0x00c60db8, 0x00a9f638, 0x0302c985, 0x03e4fa4c, 0x017fdf2f, 0x03c171da, 0x00ea3e90, 0x011077c8, 0x002df58c}}, Y: Field{[10]uint32{0x016be9de, 0x0217af5e, 0x037e35e2, 0x02d30648, 0x008b84a5, 0x0307ae99, 0x02c27ef9, 0x00554aa2, 0x02405644, 0x0018257d}}}, + {X: Field{[10]uint32{0x02536954, 0x009a52ef, 0x02cf06c3, 0x03e35a49, 0x010588b4, 0x0158f95b, 0x00cd74e6, 0x013ec295, 0x004a22df, 0x003bdb24}}, Y: Field{[10]uint32{0x025dbaa4, 0x02568881, 0x00c9fb10, 0x024b83a7, 0x02aa7a04, 0x00dc5788, 0x03c3d3c4, 0x00de9396, 0x00b144cd, 0x000c2244}}}, + {X: Field{[10]uint32{0x02941a6a, 0x00b5eac8, 0x02e27067, 0x0079baaa, 0x02b37524, 0x012385fe, 0x00eebf0b, 0x0096f2b3, 0x03d1e628, 0x0006784e}}, Y: Field{[10]uint32{0x00b613f7, 0x00f2430a, 0x03bbad3e, 0x019b92bc, 0x02855ea6, 0x02fe3330, 0x01308bbd, 0x016f0455, 0x03290700, 0x001bc8b0}}}, + {X: Field{[10]uint32{0x008e9420, 0x02dec447, 0x025df967, 0x02af5e4a, 0x009a98a7, 0x03ca602c, 0x0349ae45, 0x03de41e4, 0x00df10f2, 0x0015f66f}}, Y: Field{[10]uint32{0x0265db68, 0x01a29ca6, 0x0265eb50, 0x03d6ff93, 0x0142ebfd, 0x033009ec, 0x00f8fcb1, 0x0215378d, 0x01e1d9b7, 0x002fd997}}}, + {X: Field{[10]uint32{0x03df06b2, 0x03e1eb80, 0x0057e4e3, 0x0087c4f4, 0x00bb530a, 0x0347b4c9, 0x038874e3, 0x017a2c21, 0x02857c3d, 0x000def19}}, Y: Field{[10]uint32{0x00998539, 0x00711493, 0x02ec83a8, 0x02f5cbd7, 0x0377764a, 0x00729eef, 0x02abbeac, 0x02c4bbc4, 0x03dc764d, 0x00055066}}}, + {X: Field{[10]uint32{0x01c2cec2, 0x01962a7e, 0x021387f3, 0x00729d04, 0x00b572e1, 0x01944b0b, 0x00012a59, 0x024544cf, 0x01d99ca5, 0x0006cc31}}, Y: Field{[10]uint32{0x02f39697, 0x02c16417, 0x0169101d, 0x01445a97, 0x002344f7, 0x01ebe327, 0x004d8421, 0x03343150, 0x020b2a0d, 0x0037108c}}}, + {X: Field{[10]uint32{0x01efd0bf, 0x02d387f0, 0x03e65b8d, 0x008616e4, 0x01e6e89f, 0x016b5297, 0x0329f4f8, 0x0156b374, 0x01b3050c, 0x0025a0c7}}, Y: Field{[10]uint32{0x03d47837, 0x0127b673, 0x00ef455e, 0x035687e3, 0x0082bd8b, 0x01c1cbcb, 0x0275ef61, 0x01ce6b43, 0x0020fd03, 0x0021bd0e}}}, + {X: Field{[10]uint32{0x00e3d8ad, 0x024f3551, 0x0379266b, 0x027a85f2, 0x02bce799, 0x01eb3550, 0x0309f28f, 0x00129560, 0x000faa1f, 0x00334bd4}}, Y: Field{[10]uint32{0x00dd8c29, 0x025011b2, 0x0009e929, 0x00158fbc, 0x0127dd1b, 0x02057de5, 0x00743c24, 0x03abba5f, 0x0080ddfc, 0x0007e5dc}}}, + {X: Field{[10]uint32{0x02d01c08, 0x00af85d2, 0x003e8ff3, 0x0279829e, 0x00802f51, 0x00d54a4a, 0x0318ff9d, 0x02789e8c, 0x027d237c, 0x00180e4a}}, Y: Field{[10]uint32{0x02893fdc, 0x03615bc8, 0x02065663, 0x00714e7f, 0x0088ae9e, 0x03ca5f11, 0x0194afbd, 0x0347e362, 0x0147df91, 0x003adfcc}}}, + {X: Field{[10]uint32{0x0237ee9a, 0x015d3e7e, 0x03c90d22, 0x01e45e6c, 0x03d8abb6, 0x03cf075f, 0x00d68fb9, 0x02adcc08, 0x03ad0df6, 0x003db3dd}}, Y: Field{[10]uint32{0x0042ebd1, 0x031de389, 0x03523280, 0x02e873e6, 0x0177e81e, 0x037dd8c4, 0x01d513b7, 0x03dc59ad, 0x01c33587, 0x0023fe8a}}}, + {X: Field{[10]uint32{0x027cdf7a, 0x001c50b6, 0x00abd018, 0x028b49a9, 0x00944a0e, 0x0046f8bf, 0x01b6f4ff, 0x03145165, 0x015af542, 0x0015f200}}, Y: Field{[10]uint32{0x00b05da9, 0x0319cfaa, 0x03e3d2c9, 0x02ff45b8, 0x00ffb692, 0x028dd537, 0x02b32d33, 0x00f319ed, 0x039e8015, 0x002d9f1d}}}, + {X: Field{[10]uint32{0x034fe462, 0x0390679a, 0x03b4bfa1, 0x01feed90, 0x012f58a1, 0x02ba664c, 0x03d5c51c, 0x01248bfe, 0x0158ac18, 0x001ff821}}, Y: Field{[10]uint32{0x01ec7a11, 0x023ef9de, 0x0079e5a8, 0x01745664, 0x007268cb, 0x03565616, 0x027e9e4c, 0x0162d4db, 0x037d8bbf, 0x001d8011}}}, + {X: Field{[10]uint32{0x01517b75, 0x0367cfb7, 0x0177d87b, 0x017d62f8, 0x023d8109, 0x03639f13, 0x029b87a0, 0x026fbf5c, 0x016e73b3, 0x000b85bd}}, Y: Field{[10]uint32{0x035fcb7a, 0x013905cd, 0x011aa69b, 0x03c1e808, 0x0177aa59, 0x01a3c260, 0x02c950e6, 0x00e836ea, 0x01ef5732, 0x0013389c}}}, + {X: Field{[10]uint32{0x00ffdedb, 0x03ae9886, 0x017ad9c2, 0x039b4b76, 0x0049200d, 0x0328929a, 0x0381f666, 0x01e00af9, 0x000d456d, 0x0029351c}}, Y: Field{[10]uint32{0x026e4532, 0x0350d3f1, 0x036d5efe, 0x0396bc4b, 0x009124aa, 0x02192936, 0x030e7628, 0x0283c3a3, 0x006d0e7b, 0x0030267e}}}, + {X: Field{[10]uint32{0x033fc059, 0x02306676, 0x0145dc04, 0x01d061fc, 0x01a2327e, 0x00795eb9, 0x016c9219, 0x0278fa8c, 0x01505011, 0x002d1d93}}, Y: Field{[10]uint32{0x0398653c, 0x00f55a91, 0x03092c2f, 0x01c13e93, 0x004f1270, 0x0005a862, 0x00831ea9, 0x0084a4fb, 0x00facc27, 0x0038e6fa}}}, + {X: Field{[10]uint32{0x027e2d0e, 0x0064c6c3, 0x02235503, 0x008ebae0, 0x02c29fe1, 0x0213f1a5, 0x015b352e, 0x02afc33b, 0x03a7d291, 0x000f9a1a}}, Y: Field{[10]uint32{0x0185d266, 0x0371306a, 0x02ed88c7, 0x001e6327, 0x005a889b, 0x00c86e6e, 0x00caf9a9, 0x00f207e1, 0x00ab07cc, 0x001ecd70}}}, + {X: Field{[10]uint32{0x024a46c5, 0x02501f34, 0x03346db4, 0x0014a234, 0x03584001, 0x00c488c5, 0x0161e563, 0x01c3bf16, 0x032d1d4c, 0x0035e21b}}, Y: Field{[10]uint32{0x00b9efc8, 0x02501015, 0x023e868d, 0x00fe053c, 0x03c5ef50, 0x0135f6ea, 0x0225903d, 0x018092cb, 0x02e617c4, 0x00369917}}}, + {X: Field{[10]uint32{0x03a17a40, 0x01e643c2, 0x03475d3a, 0x03c8c976, 0x02cea867, 0x038dd519, 0x0257ba71, 0x0135016a, 0x03cc1465, 0x001f2f48}}, Y: Field{[10]uint32{0x02dcbc51, 0x03968774, 0x0303954c, 0x01ffb74d, 0x02088d32, 0x018e3b3a, 0x005541ee, 0x01b6d2e6, 0x01af96e6, 0x003b7739}}}, + {X: Field{[10]uint32{0x03eb9795, 0x02e62505, 0x00a5c5d2, 0x02ed6185, 0x0018f877, 0x00cf0864, 0x00ea0a92, 0x03876bbb, 0x0185c279, 0x00151898}}, Y: Field{[10]uint32{0x00e9b6f8, 0x0342e1b8, 0x0309d928, 0x03c37192, 0x018cfb07, 0x033f1e46, 0x03967305, 0x0211502f, 0x0185dc8f, 0x001941fb}}}, + {X: Field{[10]uint32{0x0163c32e, 0x02170201, 0x00681892, 0x03e78880, 0x0259e68c, 0x0376afbe, 0x02db20aa, 0x030b38af, 0x01551cbe, 0x003b73bc}}, Y: Field{[10]uint32{0x02753179, 0x035e8f6f, 0x00b33b03, 0x03f677da, 0x00bed59e, 0x032e936d, 0x016ab45b, 0x00a14f0a, 0x01437559, 0x002b799c}}}, + {X: Field{[10]uint32{0x023380cd, 0x02342180, 0x02dd99cf, 0x017320d2, 0x036a30bc, 0x032476df, 0x03db47fb, 0x03e74fc9, 0x0153ff6e, 0x003809ea}}, Y: Field{[10]uint32{0x03a2bbf5, 0x00d8b6b2, 0x032e4c7e, 0x02025d61, 0x0162eafc, 0x03114aa0, 0x012d174a, 0x03408239, 0x004de18a, 0x00079ac9}}}, + {X: Field{[10]uint32{0x02e2b2d6, 0x02b1bd9c, 0x00960e17, 0x00b2aa88, 0x0366dbf9, 0x01e1f549, 0x02a251f3, 0x00090953, 0x0168db98, 0x0029401b}}, Y: Field{[10]uint32{0x020b2b9c, 0x00fea95a, 0x01babfa6, 0x037d735b, 0x0372d1e6, 0x003dd1c8, 0x0198766c, 0x03756e53, 0x017ee854, 0x002864e3}}}, + {X: Field{[10]uint32{0x0027be11, 0x039419a1, 0x004e03d5, 0x00943b94, 0x01dbb020, 0x00a65646, 0x029adf73, 0x03f67b69, 0x01f201a1, 0x000c9c1d}}, Y: Field{[10]uint32{0x03c4debb, 0x02ace05a, 0x02df32de, 0x03091466, 0x02611a4e, 0x036157e8, 0x00ee3356, 0x0252fa52, 0x02b1c32e, 0x0010695f}}}, + {X: Field{[10]uint32{0x023363bd, 0x01e567c6, 0x0399ac1c, 0x0013188d, 0x039c87ac, 0x03a57dd2, 0x010cdcd7, 0x012f29ac, 0x01c66669, 0x0025f869}}, Y: Field{[10]uint32{0x00ab5e88, 0x026e49f2, 0x006a948c, 0x02601095, 0x01566894, 0x0359c709, 0x032bb6c4, 0x01587ded, 0x008d1ec7, 0x000f3269}}}, + {X: Field{[10]uint32{0x00c07a21, 0x0243b4ec, 0x01a047f7, 0x01a27dbf, 0x03d0a2d8, 0x013bad2a, 0x01bce28f, 0x01373f44, 0x0240a737, 0x001143e9}}, Y: Field{[10]uint32{0x03a77f4c, 0x00f285bb, 0x0231fc4c, 0x01b1fae8, 0x02aa35a5, 0x0034774d, 0x002a1f17, 0x033e8752, 0x0298dc17, 0x003aba20}}}, + {X: Field{[10]uint32{0x020a6559, 0x007bd2e7, 0x004a8a7a, 0x02461fa5, 0x00d81fad, 0x01025090, 0x0209ce1f, 0x019a84b6, 0x0340fc0a, 0x003d6a9c}}, Y: Field{[10]uint32{0x02eb5017, 0x0367f1ca, 0x022e349a, 0x004276d4, 0x00899d98, 0x02136e9d, 0x02e7738f, 0x024bc718, 0x03da9ef9, 0x0004956c}}}, + {X: Field{[10]uint32{0x0242f1b4, 0x032529e2, 0x02c8c90c, 0x022a2c53, 0x028857ac, 0x01fef5d6, 0x03238419, 0x01e0da9e, 0x01655519, 0x0001a402}}, Y: Field{[10]uint32{0x031b027b, 0x02eb6305, 0x007100f1, 0x02d3a7bd, 0x02952b5b, 0x02f817cc, 0x02271072, 0x025db6d1, 0x01d2038c, 0x00077060}}}, + {X: Field{[10]uint32{0x03f290aa, 0x00b484b0, 0x01e878ff, 0x03e4cd55, 0x03bc3bc0, 0x030dd830, 0x019f377b, 0x0104d9fa, 0x005a8ed8, 0x000ac6a8}}, Y: Field{[10]uint32{0x0013e280, 0x019f9633, 0x00a417b2, 0x002b2f74, 0x0035e900, 0x01fcda2f, 0x01f58965, 0x02f0c645, 0x02f41eb8, 0x0011ec96}}}, + {X: Field{[10]uint32{0x0052d81d, 0x00574974, 0x01a7ab53, 0x00e75320, 0x03454b1e, 0x00017976, 0x013540d3, 0x02bfc366, 0x029ca18c, 0x002939ad}}, Y: Field{[10]uint32{0x015d70c5, 0x02b70068, 0x0182236f, 0x00845f22, 0x00df4fcb, 0x00b9e9bb, 0x02d78edc, 0x01e41290, 0x01039c58, 0x001f3fc8}}}, + {X: Field{[10]uint32{0x039d2582, 0x01a45bec, 0x00fa17a3, 0x02ca029f, 0x01f728e1, 0x02775de5, 0x039cb0fd, 0x03292cf8, 0x0396c74f, 0x002ad12e}}, Y: Field{[10]uint32{0x0026f5c1, 0x01a8b264, 0x00ab7cb7, 0x036079e5, 0x037edc0d, 0x00645659, 0x0373febb, 0x03633279, 0x03a4519f, 0x00167646}}}, + {X: Field{[10]uint32{0x01e332a2, 0x036f08e7, 0x03cc7715, 0x01d5750b, 0x00934729, 0x015108a2, 0x016a31ae, 0x030f9232, 0x005b3fb9, 0x0020ec32}}, Y: Field{[10]uint32{0x01a6da6e, 0x034c07cd, 0x014b1e36, 0x00e4b592, 0x009652d7, 0x03c21a00, 0x0033b342, 0x00160bf6, 0x0240fb62, 0x003a67d5}}}, + {X: Field{[10]uint32{0x03954537, 0x02c856bb, 0x0078841e, 0x03d10381, 0x03e5bd10, 0x01402f03, 0x02911ee0, 0x033e059d, 0x013e624e, 0x003a914c}}, Y: Field{[10]uint32{0x000c7445, 0x0344c4db, 0x0244e81a, 0x0005342d, 0x00d5afb1, 0x027a2915, 0x03bde53b, 0x02733880, 0x000ce235, 0x0012ae2c}}}, + {X: Field{[10]uint32{0x01a3cd4e, 0x033a87d4, 0x03412ac4, 0x0278df3d, 0x03ae6d60, 0x023249f2, 0x03f7a269, 0x00f65a7d, 0x00e4af82, 0x0024db04}}, Y: Field{[10]uint32{0x017b7213, 0x023a37ec, 0x02b60bf6, 0x01ec04f4, 0x00bdb906, 0x000d67db, 0x03e5bdcf, 0x02142e38, 0x03bb10dd, 0x0011bdca}}}, + {X: Field{[10]uint32{0x02e9bfd6, 0x0243583c, 0x0296b36c, 0x00597478, 0x01847bb1, 0x01aa26cc, 0x02cf8e13, 0x030f6ce4, 0x015b61aa, 0x0010da97}}, Y: Field{[10]uint32{0x0336d68d, 0x0155a18b, 0x0247e336, 0x036839cd, 0x025e342b, 0x012a43e7, 0x038559c8, 0x032b3065, 0x008dae67, 0x003e079a}}}, + {X: Field{[10]uint32{0x00b315d7, 0x02136001, 0x0067aabd, 0x0108b986, 0x02d931a4, 0x0153d898, 0x024b929e, 0x022684e8, 0x00273fe7, 0x0027ae55}}, Y: Field{[10]uint32{0x012ef59c, 0x03e568d3, 0x01c60768, 0x012bfb04, 0x02d29f20, 0x03bfea0a, 0x0020fba8, 0x03990002, 0x01927dc0, 0x000e2ff0}}}, + {X: Field{[10]uint32{0x02280d8a, 0x0392e97e, 0x0277a0e6, 0x00342f68, 0x02ecb77a, 0x0003d8f9, 0x02b4328a, 0x02f02b2d, 0x02f587ec, 0x000e09ad}}, Y: Field{[10]uint32{0x024ef271, 0x00cbc10e, 0x016e6572, 0x024e2e8f, 0x01db35e2, 0x03698fe2, 0x03e6eb9e, 0x039a6c84, 0x01fedcef, 0x0003650d}}}, + {X: Field{[10]uint32{0x00a1dde2, 0x03e32881, 0x00a21cd0, 0x02e36cf3, 0x034dbdce, 0x010d92e7, 0x0193bcf8, 0x0286f8fe, 0x0111ae0e, 0x0028d233}}, Y: Field{[10]uint32{0x0083ac75, 0x03522107, 0x001e91d1, 0x02f5b591, 0x0007078e, 0x004ada28, 0x01c202f2, 0x03ebc9a8, 0x01d3db7c, 0x0007f214}}}, + {X: Field{[10]uint32{0x03df7329, 0x03a6818a, 0x002053c4, 0x039cf2dc, 0x025d70d1, 0x01c90993, 0x027646d0, 0x037cf139, 0x0239237f, 0x002ff855}}, Y: Field{[10]uint32{0x035f88e4, 0x03413e4a, 0x023adf12, 0x0373924b, 0x03345488, 0x01dd9d20, 0x03c09d1d, 0x03967670, 0x03e61ec5, 0x00240acd}}}, + {X: Field{[10]uint32{0x003dfa5e, 0x004f3270, 0x02944144, 0x00409c1f, 0x012642ae, 0x02081608, 0x00dc346c, 0x02dbd350, 0x014d81a1, 0x0038bf6c}}, Y: Field{[10]uint32{0x0088fceb, 0x0028f88d, 0x004086c6, 0x02ca6c03, 0x02131e37, 0x01d9d818, 0x026925ae, 0x021545b1, 0x00ed846e, 0x000c046d}}}, + {X: Field{[10]uint32{0x013c7416, 0x0377b1a4, 0x0038a535, 0x03aab09f, 0x02cf1119, 0x02d2b088, 0x0263659d, 0x019d205d, 0x01c68f47, 0x002ef196}}, Y: Field{[10]uint32{0x0154b954, 0x026099de, 0x00c7a477, 0x00825d6e, 0x03482501, 0x034ff84e, 0x01d13a40, 0x0144abeb, 0x02e19fdb, 0x0007e2db}}}, + {X: Field{[10]uint32{0x02505521, 0x0137a368, 0x02056cef, 0x02dbf67b, 0x01ce9141, 0x03e169e2, 0x016f743a, 0x01e26f6f, 0x02029866, 0x00196f4a}}, Y: Field{[10]uint32{0x0378f5a5, 0x017ce74c, 0x0370c6b6, 0x0135c429, 0x02990b18, 0x030f9b15, 0x01644a46, 0x02def175, 0x00301ced, 0x000cb6f8}}}, + {X: Field{[10]uint32{0x0278e981, 0x01645ac8, 0x01406a3a, 0x02427817, 0x00e9318d, 0x0303cdc9, 0x0175a49f, 0x033df093, 0x02eb8382, 0x0007b039}}, Y: Field{[10]uint32{0x0015715a, 0x033f0acd, 0x019fc240, 0x0018cdf3, 0x02fa56ac, 0x01a5f7af, 0x008ade3c, 0x02f2bfab, 0x029cf486, 0x00394384}}}, + {X: Field{[10]uint32{0x03a9eb8c, 0x032c43d8, 0x00d9e10d, 0x0248cd96, 0x00c0399c, 0x0284058a, 0x01aceb1e, 0x02896678, 0x031c203d, 0x001ce42b}}, Y: Field{[10]uint32{0x037c3126, 0x03837c25, 0x02418320, 0x028ce6f3, 0x002c3ada, 0x037af9f6, 0x03cad451, 0x01ec275e, 0x00966064, 0x001f4855}}}, + {X: Field{[10]uint32{0x021a533b, 0x01c7a05a, 0x01eb2b4b, 0x007b624c, 0x01127baf, 0x00267311, 0x03ff7f37, 0x00dd91e0, 0x00697b91, 0x00266945}}, Y: Field{[10]uint32{0x03e2e8e4, 0x022018e9, 0x00d4c8a2, 0x03c23a8e, 0x00809d21, 0x02b9d23f, 0x00bd57db, 0x01dc2c3f, 0x000f7503, 0x00127034}}}, + {X: Field{[10]uint32{0x020394d9, 0x03eb5962, 0x018cbf12, 0x038313f2, 0x02320ba2, 0x03c6dc09, 0x03b7dbfe, 0x00133033, 0x00b13b48, 0x003935b8}}, Y: Field{[10]uint32{0x03761a41, 0x01d74d8e, 0x01b6c750, 0x03760619, 0x03af5fc3, 0x038338be, 0x035ad203, 0x001bf9a9, 0x02ac73a0, 0x002bac3a}}}, + {X: Field{[10]uint32{0x01fe1a04, 0x01445b86, 0x03459d88, 0x0160ad54, 0x031a9aa0, 0x02b48fec, 0x03e1c460, 0x0397ab2c, 0x0141507c, 0x00122290}}, Y: Field{[10]uint32{0x0312bd12, 0x008d7d33, 0x0104f0d7, 0x01ce97f6, 0x00e82f80, 0x02b58ec1, 0x01eaf25e, 0x03e31d33, 0x0066043e, 0x001af5a8}}}, + {X: Field{[10]uint32{0x03babaa1, 0x03057659, 0x028c55d2, 0x011f290b, 0x032cb65b, 0x00b7eeb0, 0x011c2ffd, 0x0295346b, 0x024ded0c, 0x00303ff8}}, Y: Field{[10]uint32{0x027e9289, 0x01f1af5f, 0x0167dbbd, 0x03859d59, 0x03a0a330, 0x037dc047, 0x01bbba88, 0x0137c867, 0x023e29c5, 0x00345731}}}, + {X: Field{[10]uint32{0x027780b1, 0x016e48dd, 0x03fb2830, 0x003fc82f, 0x0131b05d, 0x023f17bc, 0x02dd36dd, 0x01389677, 0x030206c7, 0x000cdb66}}, Y: Field{[10]uint32{0x014e647b, 0x0179fd50, 0x01fd1b05, 0x0184051c, 0x032b1b64, 0x006f6e27, 0x03e6510e, 0x029c1eba, 0x00fc9886, 0x0012bb6b}}}, + {X: Field{[10]uint32{0x02dcf04f, 0x03b38b40, 0x024a706a, 0x016b3a11, 0x019a2a17, 0x031ee1b9, 0x03d3711d, 0x029ef8ee, 0x02b98973, 0x00260d4f}}, Y: Field{[10]uint32{0x02ee767e, 0x01d187ea, 0x0196d980, 0x0290f5b1, 0x028e45b4, 0x00178704, 0x02108873, 0x01290e3d, 0x02c22789, 0x002a1dfe}}}, + {X: Field{[10]uint32{0x02da1e61, 0x01f0d84d, 0x039053f3, 0x01df0e3a, 0x0271c9fb, 0x0153f2c2, 0x0239cecb, 0x03e77d8d, 0x021c17ff, 0x003370d7}}, Y: Field{[10]uint32{0x0094eace, 0x026d9a25, 0x017782bb, 0x0275f58a, 0x0087ae55, 0x030528c7, 0x024f0ccd, 0x01c9837d, 0x02bafe91, 0x002a332d}}}, + {X: Field{[10]uint32{0x00111941, 0x026a4d20, 0x00b5b515, 0x03b149b3, 0x015d7407, 0x02701bc5, 0x00584093, 0x0282c9c5, 0x01c15e62, 0x00244b2c}}, Y: Field{[10]uint32{0x03049bf6, 0x02f561cd, 0x035adbf4, 0x02e60d23, 0x026fa710, 0x031c3769, 0x00cecc86, 0x03111f34, 0x00d51723, 0x00161305}}}, + {X: Field{[10]uint32{0x03bff3bc, 0x0339a4f0, 0x0102b5dd, 0x01a26003, 0x01ffd195, 0x03fd00d0, 0x02ec6e2c, 0x022b3667, 0x017c7c1e, 0x00085178}}, Y: Field{[10]uint32{0x0236356f, 0x02ffd3dd, 0x02b68957, 0x0222bebf, 0x00a5c430, 0x02769eeb, 0x030e9b89, 0x02cdce56, 0x01a240c0, 0x000ee29c}}}, + {X: Field{[10]uint32{0x010b1692, 0x00baa523, 0x004ab3aa, 0x002882ff, 0x0143e091, 0x000f3721, 0x024f7e1d, 0x01c9c888, 0x03367e87, 0x00392824}}, Y: Field{[10]uint32{0x02cf846e, 0x00557df0, 0x00f80328, 0x0372bdf4, 0x02898f48, 0x03e9b8d3, 0x02b8315a, 0x01bc0e3b, 0x00313314, 0x00092c7b}}}, + {X: Field{[10]uint32{0x0328db40, 0x026cdb34, 0x02bb0f57, 0x0361001b, 0x012b1390, 0x01900a1d, 0x03387ed4, 0x01166edf, 0x02dd464d, 0x003f7d49}}, Y: Field{[10]uint32{0x013a3987, 0x011f0379, 0x00963141, 0x026a9d17, 0x01937326, 0x004993b1, 0x02cf7766, 0x005b4774, 0x02c56792, 0x0010e5b9}}}, + {X: Field{[10]uint32{0x00729f86, 0x016fed3b, 0x01da4fab, 0x012539d4, 0x0252ca4c, 0x02b77cfd, 0x01933ebc, 0x01c9cd42, 0x0016b3e3, 0x0001b217}}, Y: Field{[10]uint32{0x03648d6f, 0x019bc5ba, 0x01cf1217, 0x02646e7e, 0x01e592ce, 0x0177a64a, 0x0249040c, 0x0201f979, 0x03c8520b, 0x0026d4c3}}}, + {X: Field{[10]uint32{0x00e28e58, 0x0031e44b, 0x03203feb, 0x02889560, 0x03004e7d, 0x0378033e, 0x0098ce4b, 0x038b0043, 0x023c596e, 0x0013efeb}}, Y: Field{[10]uint32{0x026ff099, 0x00d55fb6, 0x017993e7, 0x01960ef0, 0x02396b8a, 0x03d43f58, 0x02dcfdcf, 0x00d92e57, 0x0104ed0e, 0x003fb3c1}}}, + {X: Field{[10]uint32{0x0378bab8, 0x00d44f81, 0x001fa150, 0x02ef4f0a, 0x0197c1d7, 0x003a7204, 0x0283c2b9, 0x0045e4ed, 0x037b8017, 0x0026f30e}}, Y: Field{[10]uint32{0x01bc0b43, 0x002e45d0, 0x03e9f3b7, 0x00275f62, 0x03a887f0, 0x02166ea8, 0x03825ab9, 0x0227469d, 0x00928782, 0x00368bab}}}, + {X: Field{[10]uint32{0x03635150, 0x0380be5a, 0x03c8a024, 0x0098ed78, 0x00855b0a, 0x01cb44c5, 0x02956956, 0x028ecfd6, 0x00400e70, 0x00110568}}, Y: Field{[10]uint32{0x023986be, 0x02961a76, 0x0223ec58, 0x0158e7cc, 0x016843ac, 0x026bf571, 0x02921603, 0x02a7e207, 0x038fcf55, 0x0036294e}}}, + {X: Field{[10]uint32{0x005b2341, 0x00212dc1, 0x030924d2, 0x00d8b54d, 0x01b617b5, 0x03880e0e, 0x00988fcb, 0x02f3da8e, 0x01c9cdaf, 0x001579d6}}, Y: Field{[10]uint32{0x0131bb95, 0x03e0abfe, 0x015d6cf7, 0x02dd0bae, 0x013c1191, 0x0288c561, 0x01524834, 0x00d01626, 0x03eaca8a, 0x00129a4c}}}, + {X: Field{[10]uint32{0x0140e9c8, 0x018d2215, 0x024b95ed, 0x0162b6f7, 0x018d1153, 0x03720f82, 0x017e072b, 0x00f0bc29, 0x0325bee2, 0x00084087}}, Y: Field{[10]uint32{0x01a8c9f0, 0x02ff8f3e, 0x008d4ba5, 0x0071fe19, 0x034ed8dc, 0x037208a8, 0x002c98f8, 0x003bfdf1, 0x0291a770, 0x0026bbd5}}}, + {X: Field{[10]uint32{0x01b376d1, 0x031e60b3, 0x024a7a28, 0x03bda413, 0x02c70771, 0x003502e2, 0x03f3c641, 0x006bffb7, 0x011ddded, 0x000ad38c}}, Y: Field{[10]uint32{0x0309b05c, 0x02b1cc35, 0x02575d20, 0x034db1e4, 0x0248b25d, 0x015fd6e5, 0x0243d02b, 0x016c1c3f, 0x00f56b25, 0x0005170c}}}, + {X: Field{[10]uint32{0x015378b3, 0x022d7d17, 0x0091e8b9, 0x02be412c, 0x025ed91c, 0x0017496d, 0x00dbf5be, 0x01840324, 0x021c7e16, 0x0014642c}}, Y: Field{[10]uint32{0x02650073, 0x0102d299, 0x01166040, 0x01b085b0, 0x001826d2, 0x02f83550, 0x00e3f268, 0x0317e2d4, 0x02471fbd, 0x002e0f33}}}, + {X: Field{[10]uint32{0x005b56f7, 0x03d00c15, 0x016ae1f2, 0x0025df40, 0x0188b1b0, 0x01d82062, 0x007c7b28, 0x01702cd9, 0x02e454c6, 0x000ac847}}, Y: Field{[10]uint32{0x02854f5c, 0x01c3775d, 0x03506f9b, 0x01a6e18f, 0x00fff746, 0x01e984a2, 0x01a25634, 0x03f0755c, 0x015917d8, 0x001d5d0e}}}, + {X: Field{[10]uint32{0x024134d4, 0x03e52bb9, 0x021b6d4a, 0x013e5063, 0x03a3caad, 0x03dae99b, 0x038ec37f, 0x002bb8d1, 0x0392b41e, 0x0032cc2d}}, Y: Field{[10]uint32{0x028358c5, 0x006aad88, 0x008e771b, 0x00376bac, 0x00914230, 0x003471ca, 0x02b8b4ec, 0x027d2e48, 0x02decb3a, 0x001155c6}}}, + {X: Field{[10]uint32{0x00e4bc6c, 0x00f34c81, 0x012e065c, 0x0149fba8, 0x03e46879, 0x0226f99e, 0x0349d070, 0x02a85ba5, 0x03a8d2fc, 0x003d390d}}, Y: Field{[10]uint32{0x03ba97c4, 0x02798a9d, 0x009c4344, 0x03f0e489, 0x008e7647, 0x03743b8a, 0x01e51f8b, 0x02ba28c3, 0x028b7e81, 0x003ed4b4}}}, + {X: Field{[10]uint32{0x0350d518, 0x0314f377, 0x00080545, 0x012f2d9e, 0x00ce85a9, 0x024f677e, 0x02a726c1, 0x0066cef1, 0x02a76a2a, 0x0028299d}}, Y: Field{[10]uint32{0x03190a71, 0x01ff2223, 0x03fe8e43, 0x01a28f26, 0x0041198d, 0x02b901c0, 0x01816e5a, 0x02f4842e, 0x00c6b1b7, 0x00191ffa}}}, + {X: Field{[10]uint32{0x03ff7b7e, 0x00296eed, 0x0171c786, 0x01745762, 0x0275a2ba, 0x03abbbb9, 0x00544ab1, 0x0250a2c4, 0x03ead7f3, 0x00057753}}, Y: Field{[10]uint32{0x0038445c, 0x00b11c67, 0x02961844, 0x007c6c7e, 0x0253924d, 0x02dcc8b4, 0x02313427, 0x008551f4, 0x01dd5fab, 0x00226557}}}, + {X: Field{[10]uint32{0x030ca522, 0x03d8c864, 0x012b8850, 0x00ffdcb3, 0x0301bdea, 0x035d3767, 0x037a188e, 0x012d1d8d, 0x00004029, 0x002a01ae}}, Y: Field{[10]uint32{0x02b97213, 0x02fb7237, 0x010db9c6, 0x02b18624, 0x0253e49a, 0x02aceee1, 0x03f1fa88, 0x02c6bda5, 0x036547d8, 0x0012db5c}}}, + {X: Field{[10]uint32{0x039f148b, 0x02e8fd56, 0x0006df31, 0x02b3cf01, 0x0058a983, 0x0390c7ba, 0x036ff9f6, 0x01921de8, 0x023dca08, 0x001078dc}}, Y: Field{[10]uint32{0x038392e4, 0x0252074e, 0x02007913, 0x00b37ff2, 0x022753c5, 0x0336a7f4, 0x000b136d, 0x0163406a, 0x02caf27c, 0x0022ac59}}}, + {X: Field{[10]uint32{0x01bba3c4, 0x002f2a19, 0x00953ea0, 0x011fe353, 0x01690e04, 0x00251985, 0x03a3e587, 0x02322766, 0x00f27855, 0x0018ee28}}, Y: Field{[10]uint32{0x03cf787f, 0x0002cc90, 0x03a0c2d3, 0x025dca2c, 0x008c09b2, 0x03c01320, 0x0295da00, 0x022d254e, 0x014185eb, 0x000c87eb}}}, + {X: Field{[10]uint32{0x014c5963, 0x00aa6a6c, 0x0056c894, 0x036b4bfe, 0x01c1ca21, 0x0088a698, 0x01cae5f8, 0x0034e941, 0x037faa8b, 0x00018afa}}, Y: Field{[10]uint32{0x02bffd4b, 0x0275efd5, 0x030451ac, 0x0008bd6d, 0x03a36f4c, 0x00fbf710, 0x01886550, 0x0309fd73, 0x00bd7120, 0x0038f673}}}, + {X: Field{[10]uint32{0x03d20427, 0x03cb1206, 0x0199ac65, 0x033cf2cb, 0x03bc133f, 0x024bc0c4, 0x01d79a90, 0x02e27af9, 0x000af524, 0x002dd686}}, Y: Field{[10]uint32{0x021d2747, 0x02e08952, 0x02d48c39, 0x01918cfb, 0x036a6369, 0x0398b7ec, 0x03094b41, 0x0301534d, 0x0056b11c, 0x0039e154}}}, + {X: Field{[10]uint32{0x024949e9, 0x03bb413f, 0x032f2f03, 0x00f3bbc0, 0x026b51f9, 0x013418e8, 0x01df9cbe, 0x03f1da5f, 0x036d5298, 0x001396ef}}, Y: Field{[10]uint32{0x02a12188, 0x039138c5, 0x00119476, 0x02fa6495, 0x001871fb, 0x0336024c, 0x0114a19e, 0x02771951, 0x028640cd, 0x00199c09}}}, + {X: Field{[10]uint32{0x00173237, 0x02fdb7c3, 0x01200074, 0x039b72d8, 0x02b78e86, 0x0357f06a, 0x02edb836, 0x03c1a4ee, 0x003df509, 0x002a5de3}}, Y: Field{[10]uint32{0x01d0cab7, 0x03804fca, 0x025d690e, 0x0072302f, 0x019230a4, 0x002a1759, 0x03a0e50d, 0x03e44e57, 0x019186a0, 0x000cea72}}}, + {X: Field{[10]uint32{0x03570449, 0x01eed8f3, 0x03c95cdb, 0x039c9b32, 0x00757fb3, 0x02924dab, 0x01790bc1, 0x012f9f12, 0x02ad1666, 0x003c6cea}}, Y: Field{[10]uint32{0x0060cc06, 0x003ed29d, 0x02a3a52b, 0x0098934e, 0x02006434, 0x011899e0, 0x02183981, 0x037040fc, 0x01cbea3f, 0x003477f8}}}, + {X: Field{[10]uint32{0x0349f598, 0x02293164, 0x022d0698, 0x0172bd33, 0x019563a0, 0x0133c067, 0x0036ad6a, 0x035615a9, 0x013ab015, 0x00359b3f}}, Y: Field{[10]uint32{0x011efc4d, 0x033dbe84, 0x01756d07, 0x02fbee54, 0x00d8e91b, 0x036e503e, 0x03b73056, 0x03679598, 0x01b6d097, 0x0017a85e}}}, + {X: Field{[10]uint32{0x020ac7aa, 0x03f8ef36, 0x00470ea8, 0x01bcb036, 0x015d87a1, 0x0260bb7f, 0x030f30aa, 0x01744efb, 0x00f0924b, 0x00294ca9}}, Y: Field{[10]uint32{0x038d5c1c, 0x00aa49c7, 0x017ad553, 0x03eab188, 0x0374fd1e, 0x03d40e1b, 0x003de70d, 0x00d204f3, 0x0019ca4e, 0x0030b98b}}}, + {X: Field{[10]uint32{0x00439b70, 0x0397fd8a, 0x03b3e1a3, 0x03bcff8b, 0x0281ebb3, 0x0381ed8c, 0x03d08c09, 0x0220d7fe, 0x01125df7, 0x002a6ac9}}, Y: Field{[10]uint32{0x01877514, 0x00696d61, 0x00c7e350, 0x02d53a54, 0x01f2eaad, 0x0330d77c, 0x0243698a, 0x0056aa6a, 0x01db56e0, 0x00163fd5}}}, + {X: Field{[10]uint32{0x020466eb, 0x03fd1b11, 0x02521f2c, 0x012907b5, 0x0153df17, 0x024571b5, 0x004dc830, 0x00f7b306, 0x03849081, 0x00338163}}, Y: Field{[10]uint32{0x02f3e745, 0x011acbe2, 0x03d47c76, 0x01065ecd, 0x02282377, 0x013d3dc6, 0x02815a78, 0x01d05016, 0x00c45881, 0x0010534e}}}, + {X: Field{[10]uint32{0x02406299, 0x02faaa5b, 0x003d4737, 0x014e76d8, 0x010afe92, 0x0059137a, 0x0385c7f3, 0x02cdaaac, 0x036530a2, 0x002647ea}}, Y: Field{[10]uint32{0x008eed57, 0x00abe7f9, 0x014df4f8, 0x03edeb6a, 0x005d373c, 0x0136807d, 0x016dc9d4, 0x0112f7c5, 0x017677c5, 0x000a8a6d}}}, + {X: Field{[10]uint32{0x03715d8e, 0x0070fcab, 0x01e140e9, 0x03fa84fc, 0x03ddfdd2, 0x016ad205, 0x00419210, 0x013bbf32, 0x001fbd03, 0x003b9b32}}, Y: Field{[10]uint32{0x0386d8be, 0x00ebcef8, 0x00a3f689, 0x011ea5ef, 0x00df8fd8, 0x02972f01, 0x007358de, 0x03a59487, 0x03fe48c3, 0x002e3de7}}}, + {X: Field{[10]uint32{0x019c5ef2, 0x02b33685, 0x017a3c5d, 0x03fa04cd, 0x0316ff2d, 0x00507800, 0x004d5cc5, 0x01995d55, 0x0372d642, 0x0019a8b4}}, Y: Field{[10]uint32{0x01bc8929, 0x0368fdd3, 0x029a05ba, 0x03416608, 0x00780000, 0x03c99781, 0x01423b9a, 0x03d234e2, 0x016b91c6, 0x002d5f4b}}}, + {X: Field{[10]uint32{0x02421da9, 0x0171a48e, 0x00ac6adf, 0x0396b2d3, 0x037a5798, 0x031fcda8, 0x0043e73f, 0x0378e854, 0x01d9f697, 0x0008280b}}, Y: Field{[10]uint32{0x01cf34f7, 0x00db0c33, 0x02b97338, 0x00e0bf31, 0x02ab4ab5, 0x00478f72, 0x02ab61e7, 0x00d87aa9, 0x0100d162, 0x00079b3c}}}, + {X: Field{[10]uint32{0x037bf552, 0x00e8c0f2, 0x0211092e, 0x026873b6, 0x019f92b7, 0x036894cc, 0x0298b154, 0x03a07daf, 0x02437818, 0x00282e32}}, Y: Field{[10]uint32{0x01543be6, 0x02ff968f, 0x030baa1a, 0x039922d8, 0x02218508, 0x003f38b6, 0x0263ca11, 0x03664141, 0x00ebf447, 0x0011506f}}}, + {X: Field{[10]uint32{0x00c52c63, 0x005d3ac7, 0x00ffb9e4, 0x02376d6e, 0x01e0d501, 0x0172ea73, 0x015c25fb, 0x039221f8, 0x02ad73dc, 0x00145c53}}, Y: Field{[10]uint32{0x03dafebf, 0x024507e6, 0x0309773b, 0x00c6665d, 0x01a5c248, 0x019b7480, 0x02272c7d, 0x01587afb, 0x00a082ef, 0x0011ede5}}}, + {X: Field{[10]uint32{0x02451c59, 0x012b0b35, 0x03a2fba7, 0x02904d05, 0x017da195, 0x026487a4, 0x03c41f6a, 0x03781cf9, 0x03631fe4, 0x00063a89}}, Y: Field{[10]uint32{0x024df316, 0x02bb5435, 0x01e6b106, 0x020cba55, 0x00d31b3b, 0x0235f24f, 0x03e0428e, 0x02eea6cc, 0x0337fff6, 0x000e6282}}}, + {X: Field{[10]uint32{0x03c5a87e, 0x02e415c5, 0x030cd0e8, 0x029675d6, 0x03c3d1f0, 0x033ea617, 0x01ec341a, 0x0060d298, 0x034fc39e, 0x00387562}}, Y: Field{[10]uint32{0x006b3c47, 0x02648967, 0x007f2cf2, 0x00e83767, 0x01af8215, 0x02dfe679, 0x03e2ab3b, 0x03f7b023, 0x020215fd, 0x0006d8bb}}}, + {X: Field{[10]uint32{0x016c5a84, 0x03b0f9dc, 0x039a3bbd, 0x0104472b, 0x032c19c5, 0x02c94f70, 0x03f5ba8e, 0x030495f7, 0x011730d3, 0x000e5e4e}}, Y: Field{[10]uint32{0x01f18015, 0x02a929fd, 0x021e3f78, 0x02f5070a, 0x00be7b4e, 0x021476a3, 0x02cded5c, 0x00db6644, 0x0350189f, 0x0035a87e}}}, + {X: Field{[10]uint32{0x039ede88, 0x003c5e96, 0x02ef1552, 0x002c93ca, 0x021d5736, 0x02c09467, 0x01dbf888, 0x0101b4e0, 0x024b601b, 0x00126d27}}, Y: Field{[10]uint32{0x0169a38d, 0x01f9dcbe, 0x02fadbff, 0x02734390, 0x03a0a76e, 0x00279168, 0x03e7be10, 0x035ecd66, 0x00ca02f2, 0x003f3cf3}}}, + {X: Field{[10]uint32{0x00bdc871, 0x036a914a, 0x024c32bf, 0x02848907, 0x01d64e38, 0x003fc5e8, 0x0188548f, 0x03cdb483, 0x010d0b42, 0x000b3606}}, Y: Field{[10]uint32{0x00259187, 0x03bd66da, 0x02a67077, 0x0034ac5a, 0x022fff78, 0x016affab, 0x0284f45e, 0x0052416a, 0x03692214, 0x003dca70}}}, + {X: Field{[10]uint32{0x0241025a, 0x00218997, 0x006f2308, 0x03a91747, 0x02b5b642, 0x007e7466, 0x020cb2cf, 0x015198b6, 0x03111738, 0x0007f43e}}, Y: Field{[10]uint32{0x029ce0e9, 0x02460791, 0x0008f557, 0x035b6edb, 0x0294e928, 0x031c04b6, 0x007825d1, 0x002082af, 0x0288fec6, 0x000c4da9}}}, + {X: Field{[10]uint32{0x02f3a141, 0x0391101e, 0x0387107d, 0x02ec4834, 0x013f93d5, 0x02f61139, 0x0248a0f5, 0x02d6f861, 0x033bd7f8, 0x003c2397}}, Y: Field{[10]uint32{0x01902fac, 0x01b857f6, 0x0289fa52, 0x02f37c74, 0x01bf7ea1, 0x03253a83, 0x0361bdfc, 0x03ab872a, 0x03259067, 0x0000f761}}}, + {X: Field{[10]uint32{0x005ee207, 0x0172ac47, 0x005a5d3f, 0x03c07fbb, 0x03a0584c, 0x0171af75, 0x03a046bb, 0x03ea58dc, 0x0006b997, 0x002800cf}}, Y: Field{[10]uint32{0x03e268b4, 0x002a36f0, 0x03a17d14, 0x02d8f53f, 0x0039a577, 0x00823503, 0x00c2cda2, 0x039235c2, 0x0131aacb, 0x003bb586}}}, + {X: Field{[10]uint32{0x02c16f70, 0x0246db98, 0x03b1e1ea, 0x01c1109a, 0x0383ff8f, 0x005de469, 0x001e29b1, 0x0299c77c, 0x000868be, 0x001df7bb}}, Y: Field{[10]uint32{0x0264861d, 0x009ac015, 0x024b5dc4, 0x009f0288, 0x00fcc1fe, 0x0067d7a7, 0x031ae7ef, 0x01cfd8c9, 0x0228ba8f, 0x002e4228}}}, + {X: Field{[10]uint32{0x01aa72b1, 0x016a86ea, 0x019605fd, 0x03070623, 0x01994a03, 0x00d41acf, 0x01bd1fc6, 0x0043b468, 0x015ffe2f, 0x000bf37b}}, Y: Field{[10]uint32{0x02bbefc6, 0x02df5d81, 0x0145d3fa, 0x00a13fe7, 0x02b4df66, 0x004a8319, 0x00d7c12e, 0x021bc748, 0x03f6f09a, 0x000556fa}}}, + {X: Field{[10]uint32{0x015db3ad, 0x00438826, 0x02904c83, 0x03fddf0a, 0x018667f8, 0x02e91f02, 0x00add0c9, 0x039cceaf, 0x032dfdf5, 0x0007c302}}, Y: Field{[10]uint32{0x037bc566, 0x035d5995, 0x03e448ef, 0x020a1732, 0x0170f631, 0x00c9a122, 0x039b7613, 0x03d57d44, 0x03cb84ce, 0x002f5c46}}}, + {X: Field{[10]uint32{0x0237dcf8, 0x03aa3e42, 0x005ef465, 0x03b52aa2, 0x03d603fd, 0x03b7d953, 0x01bdf3c5, 0x00b11183, 0x0144e716, 0x0002d2a1}}, Y: Field{[10]uint32{0x003c62b2, 0x00e28f48, 0x0134c139, 0x01bb6f86, 0x0099f8ee, 0x00a4b2ce, 0x032e27b2, 0x03a2c800, 0x0391b3f2, 0x0014f010}}}, + {X: Field{[10]uint32{0x005bd68c, 0x016c2dcb, 0x0221a9d8, 0x0031b650, 0x03d00a90, 0x034c1ce5, 0x0331cdfa, 0x02dcd4e3, 0x0282dcde, 0x0037c3af}}, Y: Field{[10]uint32{0x00decfb2, 0x03d1cce2, 0x001c68a2, 0x038b5c1c, 0x034a1d07, 0x0292b3e2, 0x03b869e3, 0x00b95511, 0x0239e7fe, 0x0030ca65}}}, + {X: Field{[10]uint32{0x03c101c0, 0x032499c0, 0x01576ec7, 0x00396cde, 0x02f9fd46, 0x034a3e27, 0x02ed101f, 0x0230cf87, 0x01b6d1c3, 0x003ac12e}}, Y: Field{[10]uint32{0x01e0ee9e, 0x0363ca3d, 0x024eb008, 0x0120e5d2, 0x00f5ee75, 0x020b5ba7, 0x013cab57, 0x03e02cac, 0x00497f47, 0x0013c9b6}}}, + {X: Field{[10]uint32{0x03294334, 0x03dc7434, 0x01cface9, 0x003ba9ee, 0x017db4ee, 0x032ae619, 0x014b37a0, 0x031b3ab2, 0x03e2197c, 0x001ef27b}}, Y: Field{[10]uint32{0x01a72013, 0x01e0b697, 0x009a37ff, 0x024c7057, 0x01ad8fb4, 0x02d6ce94, 0x001d9404, 0x01e41aa5, 0x00ad5234, 0x00364c6f}}}, + {X: Field{[10]uint32{0x033e0b9b, 0x0106b4ed, 0x00844e0a, 0x01433259, 0x011321dc, 0x01a8fa2d, 0x010c10c6, 0x014b192f, 0x01e8f4bd, 0x002248b4}}, Y: Field{[10]uint32{0x0241c431, 0x00a9e8d2, 0x003182a0, 0x031b57b7, 0x0261c9ee, 0x00cdf714, 0x00e6abd3, 0x03887a24, 0x00f17d23, 0x000ad90f}}}, + {X: Field{[10]uint32{0x02ddcc72, 0x006746bc, 0x00e9acdc, 0x0369df28, 0x030139a7, 0x0311a007, 0x036a842a, 0x004bb48b, 0x01e33a93, 0x0010bcbb}}, Y: Field{[10]uint32{0x0326f99b, 0x038d25e3, 0x0376ac70, 0x0029afd1, 0x02ab9536, 0x037238d0, 0x0260edff, 0x026172e4, 0x03cc715c, 0x00143516}}}, + {X: Field{[10]uint32{0x016761c6, 0x009c1453, 0x02ea2f3b, 0x03ca4a4d, 0x00627549, 0x01c9ad79, 0x00792550, 0x03fac962, 0x03201862, 0x001ef725}}, Y: Field{[10]uint32{0x01a4fa8c, 0x02a1504b, 0x02269f1c, 0x039032b5, 0x0065372e, 0x02101998, 0x026f0bff, 0x02b7d5db, 0x032b7f77, 0x001c03ad}}}, + {X: Field{[10]uint32{0x006314cf, 0x0366385d, 0x023066b6, 0x011f4840, 0x01f79d16, 0x008a3868, 0x002e0d85, 0x0126fd79, 0x03a64bf5, 0x002e6d49}}, Y: Field{[10]uint32{0x020cd93f, 0x00a66aaa, 0x00eb7499, 0x00e71b61, 0x02e35b15, 0x000bcc3a, 0x022a2b68, 0x007d6e4e, 0x00642a72, 0x002386cd}}}, + {X: Field{[10]uint32{0x01e3dda9, 0x02b0961d, 0x02d74978, 0x00c56434, 0x03d187c4, 0x00f3845d, 0x00291929, 0x01dd9407, 0x012934d4, 0x002d9779}}, Y: Field{[10]uint32{0x039fa529, 0x038db58e, 0x014ef324, 0x0027b2f6, 0x03f07555, 0x00c0d915, 0x01c55351, 0x02d73acf, 0x03e74ab9, 0x000f5bf2}}}, + {X: Field{[10]uint32{0x027c6b9b, 0x0198d9b3, 0x02ca5c2e, 0x03a8d016, 0x01a036ed, 0x00fc1584, 0x03604f6a, 0x01d47abc, 0x02320608, 0x00063aad}}, Y: Field{[10]uint32{0x015074c5, 0x00acd942, 0x03dd99d1, 0x001492f5, 0x02ccd426, 0x027e479b, 0x0211f057, 0x004464db, 0x03bc9467, 0x00227ac1}}}, + {X: Field{[10]uint32{0x02d360d5, 0x007183ba, 0x000a14eb, 0x03928c6d, 0x03c7502e, 0x025b4e76, 0x01a16065, 0x02590e42, 0x00664a47, 0x00289844}}, Y: Field{[10]uint32{0x01814901, 0x01fcdc9d, 0x00ac03e8, 0x0207cc8f, 0x0085721a, 0x02066086, 0x022d9fe3, 0x0155d8c9, 0x034d8802, 0x0012d175}}}, + {X: Field{[10]uint32{0x0008a8a7, 0x0250d74f, 0x019595da, 0x03ebd800, 0x01c77ac0, 0x0173c972, 0x019dc583, 0x0214de80, 0x00b12c10, 0x001e2515}}, Y: Field{[10]uint32{0x01829041, 0x02b82fe9, 0x007a2591, 0x000c949a, 0x008841da, 0x0282f5d8, 0x02f43378, 0x0167eb2f, 0x030fed28, 0x001afba1}}}, + {X: Field{[10]uint32{0x02791569, 0x03897518, 0x025ed7cf, 0x03e67d98, 0x01f81570, 0x00b837e5, 0x03683b9c, 0x0197c046, 0x0206fb4f, 0x00065df0}}, Y: Field{[10]uint32{0x03698479, 0x0390d7af, 0x01de467d, 0x02c9d764, 0x019dcc79, 0x02a7af81, 0x03f435e5, 0x0112aa57, 0x01a3c222, 0x00379db7}}}, + {X: Field{[10]uint32{0x01f4222f, 0x02b26199, 0x02585189, 0x03530fd5, 0x01ec3b5a, 0x02b0d35f, 0x03e60861, 0x0354d903, 0x01f7d259, 0x002247c3}}, Y: Field{[10]uint32{0x032de219, 0x002b3a46, 0x0257dba9, 0x02ac1010, 0x025c3293, 0x02a35ac3, 0x027a6011, 0x0228a87b, 0x03f70f53, 0x00331782}}}, + {X: Field{[10]uint32{0x0299530b, 0x02a4dfff, 0x01e55c80, 0x0380f171, 0x0350169d, 0x0104ad34, 0x026c282f, 0x03e07964, 0x03f69262, 0x00214d2e}}, Y: Field{[10]uint32{0x017423b5, 0x0239fad5, 0x01cf9fb0, 0x008d3505, 0x00f70cfc, 0x0395147a, 0x00764c0b, 0x001cdd33, 0x0181e0bb, 0x003efbb9}}}, + {X: Field{[10]uint32{0x006f63fb, 0x012c1faa, 0x001989e4, 0x01f03c04, 0x0158fc89, 0x01516635, 0x034eafa3, 0x037f4dd1, 0x016404e7, 0x00396dbd}}, Y: Field{[10]uint32{0x0118da79, 0x01b38998, 0x00ad0b2c, 0x03242ce0, 0x008e153c, 0x022201e0, 0x01e7d983, 0x00ea2ddb, 0x03fa68a8, 0x0010da2e}}}, + {X: Field{[10]uint32{0x02c2b850, 0x02435381, 0x00e29f7c, 0x03ced38e, 0x0046e184, 0x001c91ea, 0x03dc5e55, 0x03945260, 0x028b11c3, 0x003e5646}}, Y: Field{[10]uint32{0x010ff6b5, 0x025e82b6, 0x032a51fe, 0x024fca7f, 0x02957de3, 0x00d9a87e, 0x024e288a, 0x03d61f32, 0x00362361, 0x00108ed9}}}, + {X: Field{[10]uint32{0x0372384c, 0x02482c7f, 0x038212f2, 0x01655ef1, 0x017c9950, 0x025918de, 0x01eb617c, 0x017a7bbe, 0x01d3252f, 0x000f4c8e}}, Y: Field{[10]uint32{0x02a2e57a, 0x00f2a7c8, 0x03df78f7, 0x0386a6d9, 0x03ef860e, 0x0257ad37, 0x02798bf6, 0x02beb394, 0x03b6fc9b, 0x00070f8d}}}, + {X: Field{[10]uint32{0x00c5dfb8, 0x035719ef, 0x00055201, 0x018707c5, 0x02a0a6ce, 0x002184a8, 0x028e8554, 0x0135da1a, 0x03234b57, 0x003d0225}}, Y: Field{[10]uint32{0x000a56a4, 0x014c8243, 0x03af3c74, 0x029d80bf, 0x03c3a62f, 0x015969e7, 0x02aac242, 0x03f24552, 0x03b73e72, 0x001ae0a0}}}, + {X: Field{[10]uint32{0x02267ccf, 0x02d18a8b, 0x03c64bc4, 0x034ac104, 0x0395058e, 0x0262e2d1, 0x03e65f84, 0x031d17da, 0x02e7aea9, 0x002b381d}}, Y: Field{[10]uint32{0x028b97aa, 0x0076b045, 0x0120a31f, 0x018aa651, 0x02dc58f3, 0x02bcd4f8, 0x032ed6dc, 0x02a797ad, 0x0217377f, 0x0002d8b1}}}, + {X: Field{[10]uint32{0x006ec161, 0x01bf0b42, 0x036af29d, 0x00ced3f7, 0x01b4e63f, 0x02b6c747, 0x030b848e, 0x0181a4c8, 0x03a7408c, 0x001c332e}}, Y: Field{[10]uint32{0x014d6959, 0x020b1ee8, 0x02ec4d77, 0x00e1c7ef, 0x025a4ff3, 0x0152a032, 0x01286776, 0x00398390, 0x01a046d3, 0x003f0736}}}, + {X: Field{[10]uint32{0x0358d372, 0x03798a79, 0x02ede7a8, 0x02ce65c2, 0x019e33fc, 0x02bd6af1, 0x0258d3a4, 0x016c317a, 0x00b27c0c, 0x0039b9ea}}, Y: Field{[10]uint32{0x018d4a66, 0x036cf972, 0x017049a8, 0x0297262f, 0x00b40df3, 0x024f8b20, 0x011fee27, 0x02d69754, 0x01c4c8c8, 0x00350344}}}, + {X: Field{[10]uint32{0x03216346, 0x02c74c88, 0x02739117, 0x029433fd, 0x007910e9, 0x0278b109, 0x01495b71, 0x00b9a0ca, 0x01c7e0a0, 0x00337125}}, Y: Field{[10]uint32{0x001583d4, 0x00816c5a, 0x022f0559, 0x0231b390, 0x00d51fc6, 0x03c77dbb, 0x01ddcd87, 0x0302b3ca, 0x036e9306, 0x0018d993}}}, + {X: Field{[10]uint32{0x022fc5cc, 0x025d741e, 0x02e4f825, 0x0065bcd6, 0x01d0142f, 0x02e09370, 0x022ba333, 0x00878000, 0x009c2fd7, 0x0009e13a}}, Y: Field{[10]uint32{0x003b8cf4, 0x00d7bd77, 0x001db4a3, 0x0113c021, 0x005a391e, 0x00958a3d, 0x00232b9b, 0x019874d5, 0x0266bdfa, 0x0002e962}}}, + {X: Field{[10]uint32{0x001a2390, 0x023b37ac, 0x00d0b9b9, 0x02ffdabd, 0x030c9118, 0x0212e8f3, 0x001dd831, 0x01ce0085, 0x0362ebcb, 0x002ada66}}, Y: Field{[10]uint32{0x00766905, 0x0241128d, 0x03e71a60, 0x01ede611, 0x012be011, 0x02829f33, 0x0142547d, 0x0083db17, 0x0210b714, 0x00179520}}}, + {X: Field{[10]uint32{0x035756ec, 0x00f53c2d, 0x02e08dda, 0x00aa60d6, 0x02220955, 0x01b747aa, 0x03ad6d39, 0x038dfee7, 0x03a567ff, 0x001e07a9}}, Y: Field{[10]uint32{0x02637256, 0x0141683c, 0x034b2af9, 0x001f6b37, 0x000403a5, 0x02e99933, 0x01481744, 0x00ee5f93, 0x007b46f6, 0x000f1db6}}}, + {X: Field{[10]uint32{0x0374029c, 0x002f4fb8, 0x033fd39d, 0x00ef882c, 0x03a0e1ce, 0x023fb968, 0x0004fe7b, 0x002a0a97, 0x0130dd5c, 0x001d6acb}}, Y: Field{[10]uint32{0x01914b9f, 0x0057f358, 0x0121a722, 0x03ead7be, 0x0330536e, 0x0253073d, 0x01f6f8e6, 0x00e4eb2e, 0x0147fdb1, 0x002abd18}}}, + {X: Field{[10]uint32{0x00ddaff0, 0x00433e02, 0x03ced85a, 0x00cf4471, 0x01087124, 0x0212b55b, 0x023caea6, 0x00f6a5b4, 0x02983730, 0x000a52d9}}, Y: Field{[10]uint32{0x0346f7c1, 0x02993de6, 0x00b4222f, 0x03f20be7, 0x01e5861b, 0x00e2fc7c, 0x0007fa8b, 0x00fa7aa5, 0x02f7feb7, 0x002bd35f}}}, + {X: Field{[10]uint32{0x0024c8d6, 0x031b8d2e, 0x02e55ea3, 0x03a4495f, 0x00f290f6, 0x0365c047, 0x0283b06b, 0x018e7f25, 0x02ea7433, 0x003619da}}, Y: Field{[10]uint32{0x03a7456d, 0x0296dc65, 0x0230fd71, 0x00ab79c7, 0x0309017b, 0x01aab04c, 0x00f3e5cd, 0x01551424, 0x007635d4, 0x001c4322}}}, + {X: Field{[10]uint32{0x021270d0, 0x02fb9d05, 0x03544fd8, 0x009ea4ed, 0x00cee714, 0x0361a916, 0x004771c6, 0x03d6b0ab, 0x02030d90, 0x001793b2}}, Y: Field{[10]uint32{0x00c97351, 0x02bc2dd0, 0x03b9ff0c, 0x0293d232, 0x00a93bb4, 0x00d8a225, 0x03a6d603, 0x03e2febf, 0x0143b970, 0x00113f80}}}, + {X: Field{[10]uint32{0x0180097e, 0x03c496e1, 0x021dc157, 0x00f76f1d, 0x01265c3a, 0x026d5521, 0x0308f212, 0x02ea17f9, 0x01aa244f, 0x0024054b}}, Y: Field{[10]uint32{0x03ef2cf7, 0x00d5ce60, 0x03939b94, 0x00b120d5, 0x038a6d39, 0x03f0bd84, 0x01fa3b28, 0x021a42d6, 0x02c9200b, 0x0005a534}}}, + {X: Field{[10]uint32{0x005637b5, 0x02cf2423, 0x020f191f, 0x0265ccbb, 0x00daf3a1, 0x032fcae7, 0x03a953fa, 0x01c7114f, 0x00f096f1, 0x0019f755}}, Y: Field{[10]uint32{0x02de74b1, 0x009e6f13, 0x005dfb36, 0x02914d99, 0x025fd6c4, 0x028ce318, 0x01022365, 0x019db6d9, 0x03432d33, 0x0014c9f6}}}, + {X: Field{[10]uint32{0x036c51ef, 0x037e57ee, 0x00790142, 0x015d57bf, 0x032e7704, 0x01d33d50, 0x020f1447, 0x03fd5d96, 0x02838f95, 0x0031925a}}, Y: Field{[10]uint32{0x00d752a2, 0x0099ff2f, 0x038caca8, 0x0078e8e2, 0x031177b5, 0x022c16d4, 0x0186f01d, 0x0075ce4b, 0x01d6604d, 0x00330010}}}, + {X: Field{[10]uint32{0x00c11c74, 0x03f6dbda, 0x029ad933, 0x02da5187, 0x02425bf4, 0x02043674, 0x01e5e728, 0x00eff51d, 0x030a0b16, 0x0039e675}}, Y: Field{[10]uint32{0x00ba8600, 0x027f0605, 0x02b215ef, 0x0274689c, 0x03e50444, 0x00631b44, 0x00adcf76, 0x03b8fe6c, 0x005fe29b, 0x003f0d1d}}}, + {X: Field{[10]uint32{0x01489d3b, 0x03d16b17, 0x0175acb6, 0x01d30f73, 0x02820c87, 0x0060f60b, 0x032aa221, 0x02404540, 0x03b0151a, 0x001b4f25}}, Y: Field{[10]uint32{0x02d4749f, 0x03356c52, 0x023231c2, 0x03e7b99c, 0x0264b57d, 0x033b767b, 0x0295d438, 0x035dee3d, 0x01013d15, 0x0016aa2f}}}, + {X: Field{[10]uint32{0x02517539, 0x0163bfc2, 0x00165456, 0x030ea0be, 0x03b96d8e, 0x0131a8e6, 0x01cf2d9a, 0x01f79d06, 0x02001c1e, 0x0021b94f}}, Y: Field{[10]uint32{0x0344ad86, 0x01d7c06a, 0x03520ce4, 0x02b099b7, 0x00c24491, 0x00198c45, 0x01da5254, 0x03b3033b, 0x0370f2ef, 0x0003e2c6}}}, + {X: Field{[10]uint32{0x02a9880a, 0x014210d4, 0x0074347c, 0x02407cf2, 0x03075feb, 0x023b6ccf, 0x023267a7, 0x01f33aa6, 0x0339ac87, 0x00299070}}, Y: Field{[10]uint32{0x03982163, 0x029c9583, 0x01009c34, 0x031abf72, 0x01407559, 0x01f5a729, 0x03dc101b, 0x016b14f1, 0x014f2b27, 0x0036229b}}}, + {X: Field{[10]uint32{0x0182511a, 0x004d5a27, 0x00ceb9e0, 0x03550243, 0x00b925aa, 0x0378c5d5, 0x001de436, 0x02099916, 0x03a94d77, 0x000e8054}}, Y: Field{[10]uint32{0x00802035, 0x00cf5e96, 0x0055e35a, 0x00367c2b, 0x0111154b, 0x03fc1b3e, 0x0252df38, 0x017169e8, 0x02489493, 0x00003db2}}}, + {X: Field{[10]uint32{0x032b170f, 0x030a9851, 0x0058c5be, 0x035f18fd, 0x002c2e51, 0x009ba5bd, 0x0126b31d, 0x0326b501, 0x00e8a131, 0x0039e009}}, Y: Field{[10]uint32{0x034e0c53, 0x01fd9627, 0x008eaf19, 0x00125d90, 0x013a3092, 0x036ad977, 0x0093d9ce, 0x02c63c8d, 0x014b1ad7, 0x00315028}}}, + {X: Field{[10]uint32{0x006a5162, 0x004cce2a, 0x007cc7df, 0x01878b76, 0x007f05a1, 0x0064919a, 0x00380fab, 0x03c3b1d0, 0x005e8351, 0x001e1632}}, Y: Field{[10]uint32{0x02a6de1c, 0x035f96cd, 0x03a60928, 0x001969db, 0x037e658e, 0x03111354, 0x002897e7, 0x0281bf0e, 0x03445313, 0x0032b650}}}, + {X: Field{[10]uint32{0x030263e6, 0x01c51eb2, 0x024b82f3, 0x022b5666, 0x00ddb9da, 0x02597ccd, 0x0268c170, 0x037750d6, 0x02281c5b, 0x0001990f}}, Y: Field{[10]uint32{0x032cf79b, 0x022d6229, 0x03f36d72, 0x03e9a513, 0x016f2dc8, 0x02125a35, 0x008f9282, 0x02a82e6f, 0x02368ee1, 0x0027e7e7}}}, + {X: Field{[10]uint32{0x01b2254b, 0x0164b5ae, 0x035e7106, 0x008fa684, 0x02b31325, 0x03a81755, 0x03e8f9e3, 0x03c5325b, 0x0137a286, 0x0017cdb6}}, Y: Field{[10]uint32{0x0056310a, 0x011922e4, 0x02cfc2e5, 0x0070f21a, 0x029adb0e, 0x03cbf4e7, 0x02bf753e, 0x017fcb73, 0x037cc826, 0x0002758d}}}, + {X: Field{[10]uint32{0x023e2224, 0x019dfaf1, 0x0212fb17, 0x01c9187a, 0x02310f91, 0x00a140f0, 0x0226f266, 0x0282a97d, 0x01ae93d3, 0x00084bac}}, Y: Field{[10]uint32{0x036d1b67, 0x033f51d2, 0x02fa51df, 0x03fbd7f5, 0x010bbc5a, 0x03d4a09a, 0x038d9fdc, 0x00805b1c, 0x0233347f, 0x0014795f}}}, + {X: Field{[10]uint32{0x01e9eab4, 0x02175dcd, 0x0277e9a0, 0x024e39bc, 0x01dedb3b, 0x000f3898, 0x00481452, 0x027e4cca, 0x02c8940b, 0x00149a54}}, Y: Field{[10]uint32{0x01a42918, 0x013d3361, 0x0210952e, 0x023c50fe, 0x001d9aa5, 0x006013fe, 0x01fe2fd8, 0x00aabe69, 0x03a356df, 0x002195f3}}}, + {X: Field{[10]uint32{0x001c099f, 0x022f81d3, 0x036ef8f9, 0x00f2e5ea, 0x010419e0, 0x0254e8b4, 0x03a8778c, 0x00a04b92, 0x010def76, 0x00083c5d}}, Y: Field{[10]uint32{0x02cd485e, 0x03a2cc6e, 0x0060ebd8, 0x01396af0, 0x01d9d97b, 0x01a87b0b, 0x020bf881, 0x034a9fec, 0x01f53e7a, 0x0034bfba}}}, + {X: Field{[10]uint32{0x027ee910, 0x024db735, 0x02496da2, 0x0397bed9, 0x01dbc7f5, 0x03c4f1a4, 0x023cfb27, 0x00599708, 0x03b7ea01, 0x00388c68}}, Y: Field{[10]uint32{0x0365d53f, 0x02d7f02f, 0x0011e96e, 0x000bec5c, 0x0345e4f6, 0x0337c4f0, 0x027316c7, 0x0004c7cf, 0x002e18e8, 0x002a9917}}}, + {X: Field{[10]uint32{0x01c702ad, 0x005d2d89, 0x002cbed7, 0x0189a1e8, 0x01d01aa9, 0x014b9ca6, 0x02eac355, 0x009b74f6, 0x01523fd0, 0x001e9393}}, Y: Field{[10]uint32{0x01b965d2, 0x02ccc13f, 0x01b8471e, 0x03047e50, 0x007d2bdf, 0x0335f269, 0x00612044, 0x02396ab9, 0x02b6a739, 0x000d4704}}}, + {X: Field{[10]uint32{0x03f137b3, 0x013471b2, 0x03eaa557, 0x019c6688, 0x039a8589, 0x0000431b, 0x00a5a5ca, 0x0159c19f, 0x007e7696, 0x003f4bdc}}, Y: Field{[10]uint32{0x00315408, 0x01d4c1be, 0x038aa1ae, 0x021e78ef, 0x01df00e2, 0x033957d0, 0x039b1613, 0x0391ccc7, 0x030c1d5a, 0x00311690}}}, + {X: Field{[10]uint32{0x002bb89d, 0x024634fc, 0x01373f3f, 0x0293e099, 0x036c2ac2, 0x034c121d, 0x0011d676, 0x03d3f384, 0x001e8cf2, 0x003141b3}}, Y: Field{[10]uint32{0x01d3118a, 0x019078a9, 0x02f0c058, 0x01b8bd63, 0x01bea33d, 0x03dee982, 0x0247f6d1, 0x026cccbe, 0x03b37402, 0x002379b7}}}, + {X: Field{[10]uint32{0x035c0369, 0x0012dd6a, 0x02eebb82, 0x035f63e1, 0x00ad1bb4, 0x0327378f, 0x02b901c3, 0x03e6661a, 0x0102d9cc, 0x000ba9eb}}, Y: Field{[10]uint32{0x02b0ed43, 0x000c6543, 0x03d9ce40, 0x0189253a, 0x032b2135, 0x02bdda51, 0x03648ddd, 0x000c09d8, 0x03d86d75, 0x0004488a}}}, + {X: Field{[10]uint32{0x02159c5c, 0x00e33467, 0x0279c4c3, 0x00eb77f4, 0x00f8a602, 0x028ab04d, 0x004b421b, 0x039394be, 0x01923555, 0x002ae330}}, Y: Field{[10]uint32{0x0351ee1a, 0x007c8fe1, 0x00ff514d, 0x03ad532a, 0x015a5b54, 0x0311241e, 0x029fbda6, 0x0236f08f, 0x03bdcc26, 0x000b1238}}}, + {X: Field{[10]uint32{0x01dad430, 0x02bd01fd, 0x00e04c54, 0x009fcb3f, 0x02c37784, 0x029c4226, 0x0348e1c2, 0x0107ea46, 0x02e1cc7c, 0x00223fb0}}, Y: Field{[10]uint32{0x033ed80b, 0x02277ae2, 0x02cf3c4b, 0x019bec7f, 0x02dce306, 0x02c0d709, 0x02c7a049, 0x01994d7e, 0x02884f69, 0x00332d17}}}, + {X: Field{[10]uint32{0x034b0d41, 0x034dda1d, 0x0357c011, 0x02871931, 0x02940522, 0x03a83373, 0x02c31272, 0x03d746d0, 0x03ae1acc, 0x00101161}}, Y: Field{[10]uint32{0x030e787b, 0x028e4ffb, 0x01325f96, 0x03ad7395, 0x0163401d, 0x02cd46cd, 0x0368c369, 0x0187d3dc, 0x025b25ae, 0x003a373c}}}, + {X: Field{[10]uint32{0x02b9ab8a, 0x0093469f, 0x01097514, 0x033ef136, 0x0128a377, 0x009d4245, 0x00cf20ab, 0x02a30234, 0x02b9cade, 0x00229c07}}, Y: Field{[10]uint32{0x02ba5a45, 0x02737ab2, 0x0143a454, 0x0099bc0b, 0x01265e8b, 0x02a62d68, 0x0076154c, 0x02b1c30f, 0x018282a9, 0x0013c116}}}, + {X: Field{[10]uint32{0x01ad3d56, 0x00aa9e22, 0x0038929b, 0x001b1b59, 0x0366e15e, 0x00422930, 0x02141fdb, 0x00270a76, 0x01781940, 0x0030a04a}}, Y: Field{[10]uint32{0x035db5c1, 0x024db22d, 0x01afa974, 0x039db952, 0x029c9db5, 0x032c7951, 0x0034255d, 0x03a5a68a, 0x02fb6670, 0x00215027}}}, + {X: Field{[10]uint32{0x031d72fe, 0x03ee0401, 0x021298ad, 0x02d0aea9, 0x000f8ea4, 0x002e0af8, 0x03b04d19, 0x03210e4a, 0x02b1c810, 0x0027ff4d}}, Y: Field{[10]uint32{0x01b38404, 0x028f5a80, 0x03d871ca, 0x0291a997, 0x026f25fd, 0x03ea7f86, 0x002955eb, 0x0037e069, 0x024ba11f, 0x0004789e}}}, + {X: Field{[10]uint32{0x01a48b96, 0x01be1e69, 0x02b25f1c, 0x011d78ff, 0x0239e431, 0x0143bb18, 0x01072107, 0x02c05f2b, 0x0044bc92, 0x002b1280}}, Y: Field{[10]uint32{0x02b8dfe1, 0x02233907, 0x00de2d5f, 0x02fd15ed, 0x03f526bb, 0x011307d4, 0x03498533, 0x000bfc79, 0x03ba7310, 0x001071f0}}}, + {X: Field{[10]uint32{0x0306eb5a, 0x0393a19e, 0x0214224a, 0x01b35d93, 0x0357d808, 0x03467f17, 0x03c83bf9, 0x02a482cf, 0x001c157c, 0x0031e2c4}}, Y: Field{[10]uint32{0x038126c8, 0x00dfc674, 0x001d2deb, 0x033570a7, 0x02b7a9d7, 0x013cee3d, 0x035f533b, 0x0183ffeb, 0x006eb9d6, 0x0006a34b}}}, + {X: Field{[10]uint32{0x03147cd2, 0x0396ba1d, 0x03d13578, 0x02e39b45, 0x01c24b0d, 0x02bb7648, 0x03c1c2db, 0x0122e57c, 0x03055723, 0x003423ce}}, Y: Field{[10]uint32{0x022713cb, 0x0187899d, 0x00696914, 0x02bd77f8, 0x034987df, 0x0028e148, 0x02e3e5c9, 0x01f2eda6, 0x00de0a06, 0x0009ed7f}}}, + {X: Field{[10]uint32{0x01e312f5, 0x02312ca9, 0x004893d0, 0x01471602, 0x001091cf, 0x01f1707f, 0x01db0f1c, 0x03d87ae0, 0x003d5060, 0x00103a81}}, Y: Field{[10]uint32{0x0166b27c, 0x005a8007, 0x01f30848, 0x00fbed96, 0x02043de0, 0x0167c54d, 0x02719be2, 0x00c0bf80, 0x02c42836, 0x000bbc47}}}, + {X: Field{[10]uint32{0x018362e7, 0x0212b40d, 0x02ec39f1, 0x03e76ec7, 0x0117db73, 0x0090bae9, 0x00827b28, 0x02d2cb7a, 0x00bdfb53, 0x003e7441}}, Y: Field{[10]uint32{0x01771877, 0x0333f3d3, 0x03167296, 0x03052bdb, 0x0268f4e3, 0x01f50fc2, 0x02707b6d, 0x006520ae, 0x020b6c37, 0x0035d912}}}, + {X: Field{[10]uint32{0x03f9ddc9, 0x00dde37b, 0x02b6e570, 0x028905c4, 0x00fea5f8, 0x0268176b, 0x02132b40, 0x0120a539, 0x02ee14c3, 0x003749da}}, Y: Field{[10]uint32{0x01ceb7ef, 0x0260d4e9, 0x0066b7bc, 0x0180add0, 0x034803f7, 0x025a4343, 0x02de6553, 0x03bb25ff, 0x017d5d92, 0x00026f98}}}, + {X: Field{[10]uint32{0x01155d49, 0x03a13c18, 0x012f4c8b, 0x035de149, 0x032104c7, 0x03c36e36, 0x03d11f67, 0x01ef4319, 0x0039d5f1, 0x002148be}}, Y: Field{[10]uint32{0x023ea117, 0x00ea5656, 0x00777316, 0x0375667e, 0x02e01f3e, 0x03729256, 0x039b59cd, 0x007e3db2, 0x01518031, 0x002dde46}}}, + {X: Field{[10]uint32{0x02b5b225, 0x000c362d, 0x0264eeb2, 0x01992ff3, 0x02510491, 0x018519ca, 0x0002a624, 0x02fa383f, 0x02bdb4f3, 0x001cca00}}, Y: Field{[10]uint32{0x02a3c6f3, 0x01aadc91, 0x01f8e35a, 0x018b4455, 0x02d9022d, 0x0302c973, 0x0105f92c, 0x03b875a9, 0x01ec590e, 0x001ef533}}}, + {X: Field{[10]uint32{0x0167af62, 0x036d5cd6, 0x02fc68fb, 0x02bf1125, 0x01f5ffcb, 0x022f7a85, 0x0273276b, 0x020d4887, 0x01a12c4f, 0x0006cd90}}, Y: Field{[10]uint32{0x01664048, 0x03619b66, 0x021cef0f, 0x00c81ea3, 0x000b824c, 0x02d33407, 0x01e2e153, 0x00adecbb, 0x02f5e5d1, 0x0000f543}}}, + {X: Field{[10]uint32{0x0301a7ce, 0x0254974f, 0x00c852c7, 0x01576efa, 0x010c8972, 0x02d9b4e4, 0x02cbe60c, 0x0213ffb5, 0x02184e92, 0x0034c0d3}}, Y: Field{[10]uint32{0x01d09e25, 0x03e3e67e, 0x013b48c4, 0x0313bacd, 0x0211172a, 0x017c6e87, 0x0094b058, 0x01439ca8, 0x030416ce, 0x002cd998}}}, + {X: Field{[10]uint32{0x01e9db17, 0x00c9c29a, 0x0176d65c, 0x00aa8eb4, 0x0261c6db, 0x023d3e16, 0x03a44610, 0x03d7bc63, 0x0200bd22, 0x00239ea0}}, Y: Field{[10]uint32{0x03530568, 0x012cec7c, 0x01ceadee, 0x01d466cd, 0x004a4824, 0x01c7d335, 0x03536edc, 0x025e6fe1, 0x03b51cce, 0x002107f8}}}, + {X: Field{[10]uint32{0x00a4027e, 0x02c2d958, 0x009e85da, 0x00f60e40, 0x01c4af5f, 0x005086b8, 0x02aee276, 0x0219c746, 0x00de29ab, 0x003f332d}}, Y: Field{[10]uint32{0x037f993b, 0x02f48b83, 0x01c47fa6, 0x0352fa8a, 0x01a6e269, 0x03a5df9c, 0x036ac069, 0x0226bf56, 0x0396203b, 0x002808a7}}}, + {X: Field{[10]uint32{0x004c8a26, 0x00b001f9, 0x02576925, 0x01d87e67, 0x039e74a4, 0x03ab5c16, 0x00681f0a, 0x02060213, 0x017f4435, 0x0039a33f}}, Y: Field{[10]uint32{0x0028f82e, 0x004874b1, 0x013c1672, 0x01863a7c, 0x01712291, 0x03c343ad, 0x0378d50c, 0x038ab908, 0x00a7b027, 0x002b7670}}}, + {X: Field{[10]uint32{0x006891d8, 0x0381184b, 0x029a8072, 0x0022dc9b, 0x0263bfe0, 0x022ecc94, 0x026de7ac, 0x02b05921, 0x03ad4b81, 0x0022dbc3}}, Y: Field{[10]uint32{0x024bc9ca, 0x03b2bb6e, 0x01288092, 0x023e98a4, 0x0391493e, 0x0289ff84, 0x008d328c, 0x0012de02, 0x0108a8d6, 0x0026eb59}}}, + {X: Field{[10]uint32{0x024b78b1, 0x035266f5, 0x021ba8cf, 0x010d5ea4, 0x02470f89, 0x0019d185, 0x03178cf2, 0x00652498, 0x00aa37ac, 0x00042283}}, Y: Field{[10]uint32{0x0265bf55, 0x0067d928, 0x032a75a8, 0x0149844a, 0x039b7c04, 0x03fd45f1, 0x03e302e1, 0x0255bd7f, 0x0122be05, 0x001a0543}}}, + {X: Field{[10]uint32{0x0357edb6, 0x0100a131, 0x0208b429, 0x02949952, 0x02ab8e13, 0x00dc2971, 0x032daa83, 0x0315e474, 0x03330844, 0x003fb460}}, Y: Field{[10]uint32{0x02457fe5, 0x02707fcd, 0x01e56f83, 0x00bb4fe2, 0x00b1b52c, 0x0254ba8d, 0x0229a976, 0x02ae13ae, 0x03378395, 0x0019ef77}}}, + {X: Field{[10]uint32{0x00170a2f, 0x02cbb824, 0x00da501f, 0x02108d46, 0x00848b2d, 0x02933789, 0x03ed6f10, 0x01b3cd42, 0x039decd5, 0x002fafec}}, Y: Field{[10]uint32{0x03a11573, 0x0350328a, 0x0275197d, 0x036c2987, 0x0005acb2, 0x0051b652, 0x0125fbde, 0x03e21c8a, 0x00b3bb86, 0x0004c0ad}}}, + {X: Field{[10]uint32{0x001e716c, 0x01efca06, 0x0286c9c6, 0x015e74a2, 0x02af8d50, 0x01369ed5, 0x0070d3cb, 0x034edb11, 0x02ed2a58, 0x0019c4d6}}, Y: Field{[10]uint32{0x02fd6664, 0x01202723, 0x03040019, 0x00fc14fa, 0x0230fa2f, 0x03cdd111, 0x00f3e778, 0x038fbf72, 0x02ab2786, 0x0025f102}}}, + {X: Field{[10]uint32{0x0354f90e, 0x024a3950, 0x038b9c37, 0x01782436, 0x03c3dea7, 0x0135b7c0, 0x0309dd41, 0x01b96b36, 0x01bb0956, 0x002c03ad}}, Y: Field{[10]uint32{0x029b1258, 0x03e4fbb9, 0x0164d8ae, 0x01c044b2, 0x02ccc3a6, 0x02666bce, 0x0173aa63, 0x0399d3a6, 0x02411cb6, 0x001b4483}}}, + {X: Field{[10]uint32{0x03bb73a2, 0x03cce13c, 0x03bb8ecd, 0x024b7a7b, 0x01233375, 0x028e6cb6, 0x01db6d3b, 0x00808bc2, 0x026cbe8d, 0x001c86c6}}, Y: Field{[10]uint32{0x0205310f, 0x01632392, 0x020885b4, 0x039e542f, 0x014acbb2, 0x0253e01d, 0x01ae1f2e, 0x003d1c1d, 0x0362631a, 0x00336d06}}}, + {X: Field{[10]uint32{0x038a0837, 0x028f9137, 0x03f71d10, 0x020e5226, 0x0242f60b, 0x02431083, 0x0147cde1, 0x004b2a37, 0x00ac015b, 0x0032e35e}}, Y: Field{[10]uint32{0x0296dbc2, 0x01f33ffa, 0x022d5d17, 0x022c4206, 0x03abdc44, 0x03ecb849, 0x00d3846c, 0x00d9d7a3, 0x01a6a307, 0x00202f8c}}}, + {X: Field{[10]uint32{0x00781920, 0x03b1e15b, 0x0017a0af, 0x00af8bb8, 0x0137e5c5, 0x03450f95, 0x03f3ae66, 0x03621348, 0x03cc4919, 0x0012473e}}, Y: Field{[10]uint32{0x02874189, 0x01fb3115, 0x03ee62b1, 0x0353b706, 0x003ba714, 0x01367cbb, 0x004d29cc, 0x00c2234d, 0x03502628, 0x001d8c86}}}, + {X: Field{[10]uint32{0x02b507b4, 0x01c02cda, 0x0027cfb3, 0x011b17af, 0x038145d1, 0x02088c0e, 0x02ed33ff, 0x00898c8e, 0x03ee4899, 0x0001b28c}}, Y: Field{[10]uint32{0x00b11f4e, 0x00fa34b0, 0x03ec644e, 0x002a7276, 0x038c376a, 0x002548af, 0x00a20cfd, 0x03419078, 0x02b3f189, 0x0025adce}}}, + {X: Field{[10]uint32{0x01d842c7, 0x032aea06, 0x00f8997c, 0x03be6058, 0x001bf602, 0x008b3e9a, 0x03b33d38, 0x025c6db2, 0x03cb3c48, 0x001b47f7}}, Y: Field{[10]uint32{0x03b1713f, 0x01b4a733, 0x0376909c, 0x0311565a, 0x00fa555a, 0x01bc1180, 0x017c0629, 0x02098979, 0x03c46608, 0x00020af1}}}, + {X: Field{[10]uint32{0x02a43554, 0x038fea7f, 0x01b55c88, 0x00f0f87a, 0x02daeb53, 0x01ac8de5, 0x01ac3ca3, 0x00bd069a, 0x02991cf9, 0x0028fa05}}, Y: Field{[10]uint32{0x012855f1, 0x02520c8c, 0x020fa25e, 0x03d5e1b4, 0x0165887d, 0x015014c2, 0x0206b0b4, 0x0119ebe8, 0x029be802, 0x0021e9be}}}, + {X: Field{[10]uint32{0x01d49c70, 0x0230fa1f, 0x03ab571f, 0x013cfcbf, 0x007f570e, 0x0142cab1, 0x02c7438d, 0x030ca53a, 0x03d7cbfb, 0x003f212a}}, Y: Field{[10]uint32{0x03f73dd9, 0x014ddf69, 0x0075b691, 0x00ee959b, 0x02589f6c, 0x0266d905, 0x01b3f1cd, 0x015ac396, 0x02690713, 0x001d11ec}}}, + {X: Field{[10]uint32{0x0355d1b1, 0x02090200, 0x01769539, 0x02a1ce9a, 0x01af4e02, 0x03b28568, 0x00d31252, 0x0056e860, 0x02408fc5, 0x002fac8c}}, Y: Field{[10]uint32{0x019c1459, 0x030d0fd4, 0x01e95b3b, 0x028417ae, 0x00e2bbe6, 0x006dd96c, 0x02deba93, 0x02a6ab97, 0x000d6fa8, 0x0004be92}}}, + {X: Field{[10]uint32{0x0299eb8e, 0x0180d906, 0x00f13df7, 0x00ed810d, 0x010a50e6, 0x02f0094a, 0x02373d71, 0x035fcc66, 0x0279cffa, 0x001a2245}}, Y: Field{[10]uint32{0x00772fb8, 0x01ed6dda, 0x00524da0, 0x0258b9bb, 0x037736ce, 0x01b40540, 0x02a7c1e8, 0x022a8b4b, 0x01b76db2, 0x00102de3}}}, + {X: Field{[10]uint32{0x03068817, 0x0007b8ae, 0x01d96ed4, 0x03350a3a, 0x03b42e2f, 0x023ed754, 0x022f736e, 0x02c103f7, 0x01ad1ae7, 0x0003b10d}}, Y: Field{[10]uint32{0x0096f9f2, 0x02fb23bf, 0x03ac244b, 0x01175943, 0x0126860c, 0x01b13de5, 0x0028a856, 0x010dbd2a, 0x02aa1283, 0x0004efdb}}}, + {X: Field{[10]uint32{0x03de3033, 0x0165341a, 0x0249f374, 0x01d9885a, 0x0060a755, 0x01df9241, 0x03b7ce7f, 0x01a22df7, 0x02fa661f, 0x0019e7d6}}, Y: Field{[10]uint32{0x03617ca1, 0x03ecd71b, 0x017094e0, 0x00ca921f, 0x02c8fddd, 0x023c172d, 0x00f14bfc, 0x013f6956, 0x03d96c25, 0x003fcfff}}}, + {X: Field{[10]uint32{0x0233be60, 0x026994bd, 0x02d68ba8, 0x000bb3ad, 0x011aa2fc, 0x010c1ec8, 0x0348aeb6, 0x009b97ef, 0x00ea05dc, 0x0027faf6}}, Y: Field{[10]uint32{0x02630bee, 0x0390d923, 0x0099272b, 0x0258b1de, 0x033fc5dc, 0x02ef1783, 0x036e785c, 0x00e292b4, 0x03c8ea62, 0x0030219e}}}, + {X: Field{[10]uint32{0x000b1601, 0x00df24d8, 0x03acfe21, 0x02046d64, 0x010347b3, 0x03763e7c, 0x02bed696, 0x02d23b6d, 0x0154c534, 0x003621ac}}, Y: Field{[10]uint32{0x0375d077, 0x02ad7583, 0x03964f10, 0x03064edd, 0x03d74028, 0x03faa8fd, 0x02246c8e, 0x036aa713, 0x0118aa07, 0x002932f0}}}, + {X: Field{[10]uint32{0x006e9d47, 0x03929d11, 0x0349ab7e, 0x009f73b0, 0x01096a8e, 0x03fc85e8, 0x03f6ab68, 0x028e9820, 0x03efc187, 0x002be332}}, Y: Field{[10]uint32{0x03e941f0, 0x01c5b3da, 0x03dc4990, 0x00cc96a3, 0x031662a7, 0x0395539b, 0x025b625b, 0x000e49f6, 0x027c9988, 0x0000fb8c}}}, + {X: Field{[10]uint32{0x01d3d26a, 0x00662f1f, 0x033654a6, 0x0162a65e, 0x0042d334, 0x012952a1, 0x0051d224, 0x0098728d, 0x00e7891c, 0x0007a600}}, Y: Field{[10]uint32{0x01a215d4, 0x0269dcd9, 0x013bd566, 0x03259bdd, 0x03978120, 0x020b9acd, 0x031a321e, 0x03f03757, 0x0186bd6f, 0x000c8be2}}}, + {X: Field{[10]uint32{0x03150044, 0x0193159d, 0x015e415d, 0x029a8b49, 0x00aae4ff, 0x00ea43cc, 0x000dc97f, 0x02002561, 0x02f29f00, 0x00045718}}, Y: Field{[10]uint32{0x02d8af95, 0x035f8cba, 0x01a14a8f, 0x017a2f0b, 0x02cceef9, 0x0393f7c2, 0x03660e01, 0x03397bf5, 0x00127e37, 0x00136513}}}, + {X: Field{[10]uint32{0x02e0178c, 0x01565a0a, 0x02ba2598, 0x017fd0a0, 0x033f5313, 0x0144896f, 0x00d78e8e, 0x01e776cd, 0x039dacbf, 0x000072e7}}, Y: Field{[10]uint32{0x011a4bf5, 0x01a32d2f, 0x0284a50c, 0x03421577, 0x02d7b602, 0x02f3c8d3, 0x01595e20, 0x026f2508, 0x00e37a18, 0x0023f4e9}}}, + {X: Field{[10]uint32{0x03bfe357, 0x01e7b94b, 0x0370b66a, 0x0163e779, 0x01af86d2, 0x0326478e, 0x02b2a5bd, 0x03059d2e, 0x03c463e4, 0x0018a856}}, Y: Field{[10]uint32{0x02f52749, 0x02f792e3, 0x01e9f9f7, 0x0107a3af, 0x02d376fe, 0x01bd1548, 0x02da69fe, 0x01f93495, 0x029fd946, 0x002de3f2}}}, + {X: Field{[10]uint32{0x02df505e, 0x0047a4d7, 0x01ec454b, 0x00a96867, 0x026bd2c8, 0x01cefb53, 0x0170914a, 0x006520c5, 0x00e05bf3, 0x0015d29b}}, Y: Field{[10]uint32{0x00001318, 0x0206a5d7, 0x00b789b2, 0x02ea2ed7, 0x02d02dba, 0x006a6943, 0x02a60b8c, 0x03cce3c3, 0x02cccbd6, 0x0039ecb8}}}, + {X: Field{[10]uint32{0x024084e6, 0x02b47549, 0x023194ad, 0x02ad5839, 0x01c5ae50, 0x027b493f, 0x039cedad, 0x018692eb, 0x037ca3a3, 0x001931b8}}, Y: Field{[10]uint32{0x00116067, 0x025bb59a, 0x008d3f79, 0x003a09c7, 0x004b7a48, 0x00d6b801, 0x0054a07f, 0x02d01027, 0x035656b6, 0x0039b90b}}}, + {X: Field{[10]uint32{0x0100fd84, 0x002041d2, 0x03b11553, 0x011ab79f, 0x0371b277, 0x01d581e9, 0x0246af84, 0x02379555, 0x0297fe4a, 0x00124196}}, Y: Field{[10]uint32{0x030ae7f9, 0x0217c6b5, 0x03342834, 0x01efeed0, 0x0094e721, 0x01ec9d9f, 0x038eb43c, 0x00c2426a, 0x009f67a0, 0x0026175a}}}, + {X: Field{[10]uint32{0x030999cb, 0x02532a8c, 0x009aa443, 0x0079f962, 0x028500c9, 0x03a227cc, 0x02a683b7, 0x0242f61d, 0x03f91857, 0x001bf4cb}}, Y: Field{[10]uint32{0x01d2de3b, 0x025ea321, 0x0278c644, 0x024e3c69, 0x03efbd64, 0x031afc07, 0x013784e9, 0x03c975ea, 0x00841be1, 0x0004bfa0}}}, + {X: Field{[10]uint32{0x02d3b185, 0x02e4ad98, 0x0098b4eb, 0x03109bf7, 0x012d6d12, 0x01c25214, 0x0334812f, 0x027239bf, 0x00da4818, 0x001299f5}}, Y: Field{[10]uint32{0x038150f5, 0x033a945f, 0x01540684, 0x0174e269, 0x033e5009, 0x03e9c6e3, 0x03c668ee, 0x02ddddcd, 0x03f2f6e5, 0x00163aa0}}}, + {X: Field{[10]uint32{0x039f4db2, 0x0386fae9, 0x00c85987, 0x03165708, 0x00edecf4, 0x026b6d19, 0x020752db, 0x009dc174, 0x0131d3a9, 0x003a86b2}}, Y: Field{[10]uint32{0x0322b83e, 0x03dbcd19, 0x008309c3, 0x014da292, 0x03426b57, 0x001bf646, 0x0316597b, 0x02580560, 0x030e25aa, 0x0033da26}}}, + {X: Field{[10]uint32{0x01545c5a, 0x0136fd37, 0x006c12de, 0x03cfc65b, 0x0161414a, 0x02af2672, 0x032663f7, 0x00149f55, 0x026e248a, 0x00232cd6}}, Y: Field{[10]uint32{0x000cfcfa, 0x0254b99a, 0x02a7c4a3, 0x02afcdaf, 0x01c43292, 0x00235403, 0x02dfc3fa, 0x0336d99b, 0x00e047da, 0x0012ccb9}}}, + {X: Field{[10]uint32{0x027f21c8, 0x02673374, 0x008e3c8d, 0x02110c1e, 0x00843186, 0x01160558, 0x02f8dfbf, 0x030bab3f, 0x000cf150, 0x00091f20}}, Y: Field{[10]uint32{0x031d0db6, 0x010ba147, 0x030a7579, 0x01776cf9, 0x02a70839, 0x020a7adf, 0x026462f5, 0x03468398, 0x00dc914f, 0x003320b6}}}, + {X: Field{[10]uint32{0x03426673, 0x012191cc, 0x02482c9f, 0x0133b480, 0x025e0c4a, 0x0040dc23, 0x00f35666, 0x0249f3ec, 0x03c407fb, 0x001950f5}}, Y: Field{[10]uint32{0x0107ebab, 0x023cf51e, 0x0019c88d, 0x00c0ff72, 0x0020bbc7, 0x00c7a9d4, 0x00ae0d16, 0x02b5d605, 0x029a69b4, 0x003894ac}}}, + {X: Field{[10]uint32{0x0388e6d0, 0x0155ad30, 0x026c29b3, 0x036cb840, 0x02d5e759, 0x03d72705, 0x01da4aca, 0x00ce8e82, 0x0255d81c, 0x00313c44}}, Y: Field{[10]uint32{0x00a8fd49, 0x03554747, 0x014f24fc, 0x02ac61ba, 0x0195379e, 0x0123d463, 0x00e5530e, 0x022ad605, 0x02a81af4, 0x0038b98d}}}, + {X: Field{[10]uint32{0x02019eec, 0x0363be57, 0x005981ba, 0x023f2798, 0x01b08284, 0x012bd681, 0x003d92a1, 0x00e6ddce, 0x029d85da, 0x0033c61a}}, Y: Field{[10]uint32{0x0079e3fc, 0x01156f2c, 0x0064248f, 0x01f81873, 0x006b49f3, 0x0100425a, 0x03672a16, 0x03f8214f, 0x021bc860, 0x0032af78}}}, + {X: Field{[10]uint32{0x02ea8f32, 0x02ba40e1, 0x037f6be9, 0x011cf517, 0x00fe9d1d, 0x0222e3f6, 0x015c2c7a, 0x03704f96, 0x0353ad69, 0x0039b0f8}}, Y: Field{[10]uint32{0x00690be1, 0x001f0a2b, 0x02b57021, 0x008357b4, 0x0396b5a9, 0x012617cc, 0x0210800a, 0x01707485, 0x00c94f45, 0x001f4efb}}}, + {X: Field{[10]uint32{0x01060988, 0x029ecbb0, 0x01c118d6, 0x03ddcc34, 0x01d1ba01, 0x033c8a44, 0x0295dc6b, 0x01553551, 0x03a39bcb, 0x000e09ec}}, Y: Field{[10]uint32{0x0225a211, 0x0142bff2, 0x027bfd9f, 0x01890648, 0x00c800a3, 0x02e3d304, 0x0018c5ec, 0x03ba0c6e, 0x0047b7c9, 0x000c904c}}}, + {X: Field{[10]uint32{0x006d24fa, 0x01582373, 0x0013e48f, 0x021446d5, 0x004b55ed, 0x0102c3bd, 0x01ae898c, 0x01268aa3, 0x0138a4b1, 0x003fcdf3}}, Y: Field{[10]uint32{0x01c49048, 0x00cb2b2e, 0x03ceca68, 0x0354810c, 0x01f3ffde, 0x01a14ea5, 0x03a489b8, 0x019995f0, 0x01198f4c, 0x00179856}}}, + {X: Field{[10]uint32{0x020ce509, 0x034fa28c, 0x001def68, 0x01f11545, 0x01d9e53c, 0x03a0edd4, 0x03343229, 0x00beb87b, 0x03c85b49, 0x002f7fd3}}, Y: Field{[10]uint32{0x03de3d20, 0x013f7822, 0x00b8a43b, 0x0139135c, 0x02531f8a, 0x02656784, 0x015088a2, 0x01759985, 0x00649dcc, 0x003a3f66}}}, + {X: Field{[10]uint32{0x03bcd0af, 0x02a6cf0e, 0x02aef625, 0x001c9051, 0x02e59d10, 0x00063c47, 0x032719d9, 0x03cb55fe, 0x029c313f, 0x003f5ae8}}, Y: Field{[10]uint32{0x01c1079d, 0x00fa5f7d, 0x02bf6de7, 0x03a078e2, 0x035018db, 0x0065ae1d, 0x01f584b3, 0x00430c0e, 0x035e9133, 0x00061f6b}}}, + {X: Field{[10]uint32{0x0329ff28, 0x02dc42c6, 0x03b621d0, 0x01e05017, 0x004f4b5f, 0x02b0c05e, 0x032ae1c3, 0x01a4a7bd, 0x022d4860, 0x003a8f10}}, Y: Field{[10]uint32{0x03bf208c, 0x03fbe48c, 0x02af2564, 0x01f3be66, 0x01d10b37, 0x028c5b89, 0x03637eef, 0x0381bf0d, 0x001ec6c3, 0x0039162d}}}, + {X: Field{[10]uint32{0x007b3978, 0x01c14fd2, 0x03c390f8, 0x03b6bc6c, 0x0002ba8a, 0x002d166e, 0x0228924f, 0x03580234, 0x01334982, 0x001194dc}}, Y: Field{[10]uint32{0x01adf3f0, 0x03fd9693, 0x017006bb, 0x0368ee25, 0x023b2444, 0x00850f72, 0x003bb29e, 0x0277bfc9, 0x014c1318, 0x003f6599}}}, + {X: Field{[10]uint32{0x0178d8f5, 0x00dc5da1, 0x039dd996, 0x012a8b43, 0x01b5b29b, 0x03e78414, 0x036227f9, 0x001a6ab1, 0x03f11226, 0x003f6924}}, Y: Field{[10]uint32{0x01d46fa3, 0x02e1b1f8, 0x03a06d8e, 0x02d4958c, 0x02e04e55, 0x02600e98, 0x03a69d7f, 0x004db7d0, 0x013df63d, 0x00168cd6}}}, + {X: Field{[10]uint32{0x01f3e4c1, 0x0185d3ce, 0x000cd096, 0x015f15c8, 0x027ab5e7, 0x03a8dbfb, 0x028e2835, 0x00062951, 0x02e95f09, 0x001d3f10}}, Y: Field{[10]uint32{0x018751f0, 0x02c94848, 0x010b32a8, 0x01d52ff4, 0x033760e0, 0x017e3d75, 0x006204d4, 0x0324536a, 0x03403802, 0x00332a82}}}, + {X: Field{[10]uint32{0x00483d53, 0x022ec6bb, 0x03bafe11, 0x030a0503, 0x030d98f8, 0x0239051d, 0x03818da5, 0x01e68032, 0x004a997b, 0x0002633b}}, Y: Field{[10]uint32{0x02aaec08, 0x01a26b1f, 0x02ae4d81, 0x02782103, 0x01ac422d, 0x020b0675, 0x03b82fa1, 0x017354d9, 0x00581494, 0x000bf398}}}, + {X: Field{[10]uint32{0x03cba60f, 0x00dd2c44, 0x01fc13c2, 0x01025b31, 0x01e4fa15, 0x025ff55d, 0x015119f6, 0x032f7081, 0x01b789a5, 0x0031d0b7}}, Y: Field{[10]uint32{0x02f3532d, 0x02837a91, 0x0168013f, 0x03d3cac7, 0x01b32248, 0x039b6ea8, 0x002474b0, 0x02438750, 0x012834a9, 0x0026c2bc}}}, + {X: Field{[10]uint32{0x0391eb89, 0x0027f479, 0x0019b774, 0x0360ec4e, 0x005b5973, 0x03131c89, 0x00979136, 0x0019aad6, 0x004f9a78, 0x0036e8b8}}, Y: Field{[10]uint32{0x033baf43, 0x03f29798, 0x016a889d, 0x03821c11, 0x03aa0e90, 0x005e3c1d, 0x00240e7a, 0x017dd05a, 0x01223adb, 0x000d1d1e}}}, + {X: Field{[10]uint32{0x02f6538d, 0x0271a710, 0x01fbf106, 0x02183ada, 0x036cc47f, 0x03091cac, 0x0184dcb6, 0x021619ee, 0x02436e59, 0x001b532b}}, Y: Field{[10]uint32{0x01e0a84f, 0x02ec7cf5, 0x01cedb98, 0x019f59fc, 0x02125c2b, 0x00fbfbd4, 0x03c53c92, 0x03df3b75, 0x00c9f0c4, 0x0031fed6}}}, + {X: Field{[10]uint32{0x00523982, 0x005a80ee, 0x0010f9cc, 0x00e5bf65, 0x029ec5b5, 0x02eb8a46, 0x0264ed43, 0x01ec156d, 0x036ed5b6, 0x0013115f}}, Y: Field{[10]uint32{0x00f344eb, 0x007fb548, 0x00e988e9, 0x01ffb086, 0x02a435f4, 0x029ca09e, 0x022ed682, 0x03867d51, 0x03cf20aa, 0x00124b96}}}, + {X: Field{[10]uint32{0x0346eb3f, 0x035107f2, 0x018179cd, 0x030c1933, 0x0151fd8a, 0x01d2b8a5, 0x00033bfd, 0x022907d6, 0x01223477, 0x00135f9a}}, Y: Field{[10]uint32{0x022750c4, 0x024bd1b1, 0x012ad0c0, 0x001ef443, 0x036d7bbd, 0x01eb692e, 0x00538791, 0x0274f0e9, 0x00b2ff5c, 0x001d5bb0}}}, + {X: Field{[10]uint32{0x03d464b2, 0x0311f8c1, 0x0115cfef, 0x027292be, 0x004a4839, 0x02dd3be5, 0x03c565ea, 0x0351e6f6, 0x025069ba, 0x0002b16f}}, Y: Field{[10]uint32{0x02874345, 0x02df3eb7, 0x00381928, 0x02a94a6d, 0x008bad5d, 0x02739176, 0x0322c546, 0x0042d8dd, 0x03febc58, 0x000c91b8}}}, + {X: Field{[10]uint32{0x023995b2, 0x027a1036, 0x002d15d6, 0x002d8362, 0x0224f91e, 0x014d2c96, 0x026a4812, 0x0004e6ff, 0x01412135, 0x001f6a23}}, Y: Field{[10]uint32{0x00b9c587, 0x0080d23c, 0x03eb5cbc, 0x00b262b6, 0x026a2d09, 0x025dc90c, 0x00bb03cf, 0x0293e1c0, 0x018d62a7, 0x0026222b}}}, + {X: Field{[10]uint32{0x01abf149, 0x014af8ec, 0x037d4e8b, 0x00ac1744, 0x015d3b92, 0x034f3ad2, 0x01aa3eb4, 0x02734832, 0x031a6323, 0x000e27fc}}, Y: Field{[10]uint32{0x00fe7c93, 0x03000dce, 0x02d49dc3, 0x03b55456, 0x01042f54, 0x01db0521, 0x022ab22b, 0x002fca28, 0x022fbc84, 0x002c3b0a}}}, + {X: Field{[10]uint32{0x016c4370, 0x009e9756, 0x036f8f3c, 0x012637f3, 0x02a94b2e, 0x00f55cdb, 0x025afaad, 0x00a2cba9, 0x02cf5fb1, 0x00307306}}, Y: Field{[10]uint32{0x034fd38e, 0x010279a4, 0x0153b27c, 0x02a706ec, 0x00ecfec6, 0x028aa233, 0x006bf2da, 0x02b4c5b3, 0x004d1986, 0x002240d6}}}, + {X: Field{[10]uint32{0x03c9aa3a, 0x01462d21, 0x03cf98b3, 0x015fa46c, 0x0002a349, 0x00725b01, 0x0340be83, 0x01a28a91, 0x0252b927, 0x000e66b3}}, Y: Field{[10]uint32{0x00800005, 0x03ac4d12, 0x02869786, 0x030f2812, 0x03fd9af1, 0x035827e8, 0x017ae095, 0x00e91e84, 0x00b3abdb, 0x002420c5}}}, + {X: Field{[10]uint32{0x0206d0a2, 0x020eea6e, 0x03c76d82, 0x001832b6, 0x01470cc6, 0x001694ae, 0x02d98593, 0x000695c0, 0x03fd8c9d, 0x0001a550}}, Y: Field{[10]uint32{0x031057df, 0x03a2865c, 0x01d1b6f4, 0x030e2a40, 0x00404eb1, 0x00ca6022, 0x0348f17b, 0x01cbb4b8, 0x03d9a0c3, 0x003a6639}}}, + {X: Field{[10]uint32{0x00200100, 0x02dabdfa, 0x02d6d400, 0x00f3dc0e, 0x00911e55, 0x01cac70a, 0x01289a58, 0x011bbd68, 0x014fdf9b, 0x00085cb5}}, Y: Field{[10]uint32{0x03687a8c, 0x00625c46, 0x035d9edc, 0x03afd90a, 0x0334a8fb, 0x01cac89b, 0x0020df57, 0x00397832, 0x007d3b79, 0x0008486d}}}, + {X: Field{[10]uint32{0x015e8b56, 0x017df3a7, 0x03f286d4, 0x00e84390, 0x01cc2713, 0x01248e59, 0x026847d2, 0x00939743, 0x03e937a3, 0x003d81bd}}, Y: Field{[10]uint32{0x0286e007, 0x039d5c4f, 0x008d1a30, 0x02024728, 0x03f5b805, 0x024c9284, 0x03379448, 0x00878b44, 0x03b8622a, 0x001c004f}}}, + {X: Field{[10]uint32{0x0040fc99, 0x03639c5f, 0x0214edfc, 0x00b7526a, 0x012f95bb, 0x00d0abcd, 0x0032013b, 0x02d93c7d, 0x00c2dfce, 0x0027c548}}, Y: Field{[10]uint32{0x018e863d, 0x035534e2, 0x001996ca, 0x029040c2, 0x02d53dc0, 0x0192a41f, 0x024fe3b7, 0x03c0123e, 0x0226feb1, 0x003fa3f2}}}, + {X: Field{[10]uint32{0x031eaa08, 0x024dc288, 0x0260518a, 0x00632ca1, 0x0053afe4, 0x01724f4e, 0x00674eb7, 0x019dbbac, 0x036e7587, 0x00199c2b}}, Y: Field{[10]uint32{0x03eb09f3, 0x02933b92, 0x0053734b, 0x03314936, 0x00fb59fc, 0x02ec4bf6, 0x03fcee90, 0x01c7b825, 0x035edfc0, 0x000a64ff}}}, + {X: Field{[10]uint32{0x03898350, 0x0166a52c, 0x0152465f, 0x013ab5b2, 0x0140650a, 0x03a5530b, 0x00a4e2fe, 0x0312f393, 0x018b345c, 0x000571b5}}, Y: Field{[10]uint32{0x0363cf7f, 0x0039de28, 0x02cf3a6b, 0x02a9cf7c, 0x00221b12, 0x014a34b0, 0x020f3adf, 0x01865996, 0x013b4727, 0x00022531}}}, + {X: Field{[10]uint32{0x01389621, 0x00665ddd, 0x024548a9, 0x0082583a, 0x00adfffd, 0x017e1692, 0x0293ef17, 0x03790b24, 0x02bf60db, 0x002f12ad}}, Y: Field{[10]uint32{0x01040e42, 0x00d1d846, 0x01a4437a, 0x01d18552, 0x0100791a, 0x0335c64c, 0x016bb68e, 0x038a9d17, 0x00ba24a4, 0x003f8a28}}}, + {X: Field{[10]uint32{0x013e6ee1, 0x03cb8443, 0x01c8054e, 0x0141001f, 0x0064f20e, 0x031c0eea, 0x015e87f1, 0x03cbdb92, 0x006323fb, 0x00176ac7}}, Y: Field{[10]uint32{0x02695d93, 0x00d2a194, 0x023059c1, 0x0305acc3, 0x03e7f01a, 0x039a2ffe, 0x02db4153, 0x0182f6b9, 0x0200cf44, 0x0007f430}}}, + {X: Field{[10]uint32{0x028acaf2, 0x01f0625a, 0x03bb2dd6, 0x03639c0b, 0x035cea0b, 0x030ce73a, 0x0228dbb0, 0x01f111ef, 0x0157d735, 0x000b7c73}}, Y: Field{[10]uint32{0x02f1b9e8, 0x03d096b8, 0x01741492, 0x019e6577, 0x0186eefa, 0x0136ddbd, 0x039c0319, 0x0323770e, 0x001120cb, 0x000cc648}}}, + {X: Field{[10]uint32{0x00d9ab8d, 0x01377bd8, 0x02fea058, 0x019054d5, 0x023d9f97, 0x034aeb1d, 0x0100585e, 0x036bc20c, 0x00175a02, 0x000b606b}}, Y: Field{[10]uint32{0x01f9a0b7, 0x02060f0b, 0x011c9cd5, 0x00b33a7d, 0x0021052e, 0x039b09b9, 0x0297fd49, 0x0217d5e0, 0x00d13b17, 0x003e6423}}}, + {X: Field{[10]uint32{0x037dc097, 0x0241c090, 0x00db59ef, 0x03d3c47a, 0x0367b1e7, 0x00d5bac5, 0x000d40a5, 0x00b9cc91, 0x0362fb73, 0x0007eb05}}, Y: Field{[10]uint32{0x039b8729, 0x0176569e, 0x031584df, 0x009c04a7, 0x015ae7ce, 0x01d72cc3, 0x01a08ace, 0x01444cad, 0x004ca58d, 0x003b755e}}}, + {X: Field{[10]uint32{0x00c8c98e, 0x00659e0e, 0x01a9cc2b, 0x03c266c5, 0x0245caba, 0x02aa421b, 0x0093e884, 0x02e42e03, 0x035b4694, 0x00341a82}}, Y: Field{[10]uint32{0x0347def3, 0x00833ec1, 0x02da4986, 0x00517de2, 0x0114fcc8, 0x008bfcec, 0x01b391b2, 0x02c93f34, 0x02ba2777, 0x00132b51}}}, + {X: Field{[10]uint32{0x01e53445, 0x0054ac5f, 0x01d6929b, 0x02e33e6c, 0x01870059, 0x02dbc1a5, 0x007928ac, 0x0103e664, 0x03275902, 0x00124a37}}, Y: Field{[10]uint32{0x0300d505, 0x029d468c, 0x00ac53db, 0x0330a1aa, 0x03240b83, 0x01f70cda, 0x00c400f3, 0x00ec39ec, 0x020b655b, 0x002ddcf9}}}, + {X: Field{[10]uint32{0x03a28390, 0x018e7fe1, 0x01dda1b8, 0x01430cc7, 0x03f945d4, 0x00c8a09f, 0x02992617, 0x0060452e, 0x01f9cd54, 0x002986f3}}, Y: Field{[10]uint32{0x00d93a68, 0x03fa01ee, 0x004eeb40, 0x01c3af99, 0x018e61b3, 0x0007f893, 0x0201b2b3, 0x02eca151, 0x016ed6fd, 0x000f9dc7}}}, + {X: Field{[10]uint32{0x01db93c3, 0x0106c544, 0x0093f9f6, 0x013041fc, 0x030fb8e3, 0x00029e5d, 0x031228c0, 0x02deaece, 0x01b93e2f, 0x0014d68d}}, Y: Field{[10]uint32{0x02ff786f, 0x027fb26c, 0x02e96f0c, 0x02d7a354, 0x0292475f, 0x01f0b8f0, 0x0283fba2, 0x033230e0, 0x03355657, 0x00091c7f}}}, + {X: Field{[10]uint32{0x0065d4d0, 0x01e42d31, 0x00acfa5f, 0x00ab442e, 0x00f23ad4, 0x01af9c2c, 0x02888bbc, 0x003ca4dd, 0x012ce014, 0x0039a299}}, Y: Field{[10]uint32{0x001a7385, 0x03e7074f, 0x0094c06c, 0x01f82e03, 0x00ea6e0c, 0x02b54848, 0x034ecb6d, 0x00182cc4, 0x010cc368, 0x001275ce}}}, + {X: Field{[10]uint32{0x03e25fde, 0x03c3a64d, 0x007576b4, 0x01bc22f1, 0x01f5f05f, 0x03a883a6, 0x017855c3, 0x03334fbc, 0x027a74df, 0x003a24e7}}, Y: Field{[10]uint32{0x0261b173, 0x020a7fb5, 0x0388b3e0, 0x015368b0, 0x033773f4, 0x0127930a, 0x00c0fdf4, 0x0156df24, 0x033eff0a, 0x001ad229}}}, + {X: Field{[10]uint32{0x00751543, 0x0003ebd2, 0x01dafbfd, 0x020d9f0c, 0x007fe164, 0x029b9c2b, 0x00fa2930, 0x0061d200, 0x03ea3145, 0x00125804}}, Y: Field{[10]uint32{0x038c4332, 0x00b8bc6a, 0x03f65614, 0x0022e14d, 0x02581e15, 0x020accc4, 0x00001cb2, 0x0155be29, 0x01118790, 0x002d5c54}}}, + {X: Field{[10]uint32{0x004b1e1f, 0x0370f060, 0x0120189d, 0x00a79f31, 0x01bb0f6c, 0x00981342, 0x0157a072, 0x030ea55a, 0x01b0b1ef, 0x001111cd}}, Y: Field{[10]uint32{0x0259d6e4, 0x02f9001f, 0x0321f9ae, 0x027cca96, 0x023e9a43, 0x00143956, 0x0332a857, 0x02eacea5, 0x00a3461a, 0x002c6b58}}}, + {X: Field{[10]uint32{0x02d9511c, 0x02d0450f, 0x02475da3, 0x02279dea, 0x03e88821, 0x02e72630, 0x01a40e74, 0x01f573e1, 0x02c84acd, 0x00016016}}, Y: Field{[10]uint32{0x023c07c0, 0x0204d35a, 0x02363bb4, 0x00882bab, 0x0301ad00, 0x03635a6d, 0x0170dcf0, 0x014cfdef, 0x023bfbba, 0x003254a4}}}, + {X: Field{[10]uint32{0x039a9501, 0x02ddfbc9, 0x00898dca, 0x02f711b2, 0x02c12619, 0x02da4080, 0x01c53a12, 0x031e1578, 0x011830fd, 0x0022b045}}, Y: Field{[10]uint32{0x01ca4fa4, 0x035af52a, 0x0053ad59, 0x02e376cc, 0x00d5deb3, 0x02fec800, 0x0015493a, 0x03e83874, 0x00c77867, 0x000a7edf}}}, + {X: Field{[10]uint32{0x02ab542d, 0x01ed1102, 0x01ec67bd, 0x01bc8bd0, 0x014d7022, 0x031efbfd, 0x03c8a7cc, 0x02632da3, 0x01d3e429, 0x002a91eb}}, Y: Field{[10]uint32{0x003683e9, 0x0079d731, 0x01816f77, 0x013f0656, 0x024f8e8c, 0x03d9d166, 0x034f9e39, 0x036630eb, 0x0081ebef, 0x0033e96b}}}, + {X: Field{[10]uint32{0x0199889a, 0x02236e79, 0x013e419e, 0x026390cf, 0x03d39848, 0x019248ad, 0x0133f753, 0x0053ba48, 0x0127a27a, 0x003cd410}}, Y: Field{[10]uint32{0x001b45df, 0x0337c218, 0x03313c09, 0x008e819a, 0x0256c6d4, 0x01ef2e21, 0x02cdae54, 0x01a2a213, 0x037e9f98, 0x003c6be7}}}, + {X: Field{[10]uint32{0x024bf08d, 0x03bbbb5f, 0x0398c7c6, 0x03964986, 0x02272d3c, 0x026a6269, 0x00870766, 0x039a20d6, 0x0344edcb, 0x000cdcc3}}, Y: Field{[10]uint32{0x01775a6b, 0x0172f9b8, 0x02794860, 0x01fb31c2, 0x01b6fd05, 0x02f4b5e2, 0x02a32d81, 0x005b412c, 0x0128d877, 0x000fe0ce}}}, + {X: Field{[10]uint32{0x02dfb0d6, 0x02d2850f, 0x034786e5, 0x01fef84d, 0x00a33d41, 0x02492730, 0x00bdf072, 0x03d61220, 0x02dc8c06, 0x000c5a75}}, Y: Field{[10]uint32{0x0274ce5f, 0x018fa1aa, 0x037fcea1, 0x0030bf79, 0x00a31160, 0x023d0a32, 0x0382f596, 0x00e0e6e9, 0x022dec56, 0x000aa450}}}, + {X: Field{[10]uint32{0x002a4429, 0x03f331bc, 0x038e980c, 0x0114355f, 0x03c8c43a, 0x02a370fa, 0x007a64d5, 0x02ba073c, 0x0182013a, 0x00363191}}, Y: Field{[10]uint32{0x03822aea, 0x012312a4, 0x02a7be7f, 0x011e1278, 0x02c4773d, 0x027fb8ec, 0x012f195c, 0x018eba32, 0x00519688, 0x003121cc}}}, + {X: Field{[10]uint32{0x002b6f11, 0x007da7d0, 0x03fe1789, 0x03605368, 0x007e59c8, 0x018c6e21, 0x03cb0395, 0x0091bde9, 0x001f307e, 0x002b99c4}}, Y: Field{[10]uint32{0x01ed44cb, 0x007871c4, 0x022aee41, 0x03e5f608, 0x031d3900, 0x027e68d5, 0x02767afa, 0x0027a2e5, 0x03b4a90b, 0x003d7cb6}}}, + {X: Field{[10]uint32{0x01dbd8ee, 0x035fc520, 0x00f0c1a9, 0x010e095d, 0x02b4e2ff, 0x02068b17, 0x00a7dc9c, 0x020ce070, 0x023183ba, 0x002a7a1c}}, Y: Field{[10]uint32{0x02468901, 0x03775be5, 0x023354b7, 0x02b0f5ce, 0x03333153, 0x039a0d13, 0x01fb59be, 0x0038cf5a, 0x019990d9, 0x0025a041}}}, + {X: Field{[10]uint32{0x003376f2, 0x01078d39, 0x0048dad1, 0x01e7ed6f, 0x00694ef8, 0x00cf9a12, 0x014f43aa, 0x03502c9a, 0x021c0ae7, 0x00185afc}}, Y: Field{[10]uint32{0x0080fc77, 0x01772526, 0x02799bf0, 0x016a8f67, 0x024a2772, 0x02d693ea, 0x02451153, 0x0282ea0c, 0x03832aa8, 0x002fb063}}}, + {X: Field{[10]uint32{0x033f5c2d, 0x0144262b, 0x0295f8d3, 0x033dc069, 0x0339be47, 0x03a6f96e, 0x02882b11, 0x00cf51e2, 0x0335601f, 0x000487a0}}, Y: Field{[10]uint32{0x0103b3e8, 0x00a8a613, 0x03659f68, 0x01c11216, 0x03010dd0, 0x02ffe077, 0x005fdfdc, 0x02812df6, 0x013318fa, 0x000ba64a}}}, + {X: Field{[10]uint32{0x009f1141, 0x02325eee, 0x0193325c, 0x00a12a42, 0x003a83cc, 0x03bc6f12, 0x0013948f, 0x032a7025, 0x03973025, 0x002fe211}}, Y: Field{[10]uint32{0x02ad5386, 0x01c4fd9b, 0x0363f0e2, 0x0181aaee, 0x016de247, 0x020e3449, 0x015ae3a7, 0x03475e1b, 0x03263d26, 0x000654e8}}}, + {X: Field{[10]uint32{0x02f811f0, 0x0180295a, 0x02124e86, 0x0383ebb6, 0x00dd1b06, 0x0371d734, 0x0094d4bd, 0x0003e617, 0x01a65a38, 0x001f0a3a}}, Y: Field{[10]uint32{0x02b5c277, 0x005218e2, 0x03863134, 0x035bcb90, 0x002d396f, 0x001d09ed, 0x014cedb7, 0x027c0e24, 0x01b70e33, 0x0028dd5b}}}, + {X: Field{[10]uint32{0x00a66077, 0x024c5ca4, 0x02b9cb8b, 0x0244c6f0, 0x0346be07, 0x02e48e1e, 0x00b5bf6b, 0x00b3d073, 0x01ad45e6, 0x00397b1b}}, Y: Field{[10]uint32{0x004f0e19, 0x00ceaeb9, 0x00eda67c, 0x0249e884, 0x012bacd0, 0x038f1348, 0x014bea4b, 0x000f2be1, 0x02cc7757, 0x00340117}}}, + {X: Field{[10]uint32{0x018c2fed, 0x00d85a44, 0x02043583, 0x00f8d363, 0x00703626, 0x0112965d, 0x031c3525, 0x025517ec, 0x021f9203, 0x001bf25b}}, Y: Field{[10]uint32{0x038a9a51, 0x02eaeb62, 0x0089d9aa, 0x00376434, 0x026ca7c2, 0x010e5f8d, 0x030457f8, 0x037a365a, 0x02871571, 0x00340cb7}}}, + {X: Field{[10]uint32{0x006e4133, 0x0244569d, 0x0149acf4, 0x03738684, 0x021db684, 0x01f04c51, 0x02790914, 0x02711d0b, 0x03511c21, 0x002278f4}}, Y: Field{[10]uint32{0x030c5c90, 0x00be4618, 0x00b03689, 0x02eeec89, 0x0352fde5, 0x000f55fa, 0x00b53d23, 0x0211a361, 0x030b672e, 0x002aaf65}}}, + {X: Field{[10]uint32{0x010d5890, 0x0238628e, 0x01de84ff, 0x011c3fa8, 0x00c043e9, 0x02b6e36a, 0x00eb44ea, 0x01914e1e, 0x00f0b213, 0x000ade98}}, Y: Field{[10]uint32{0x004a5244, 0x02eeadf4, 0x02f41ae8, 0x01b46409, 0x01b80668, 0x02ce2cd9, 0x03407091, 0x00ca8164, 0x03161ba0, 0x000320a6}}}, + {X: Field{[10]uint32{0x009627e7, 0x01c8141b, 0x029d42f8, 0x01e6498e, 0x01bfeb98, 0x021e0bc9, 0x037c3dfa, 0x02badf9b, 0x031ac2c2, 0x001192e7}}, Y: Field{[10]uint32{0x02f7502c, 0x016d6d6d, 0x028aadac, 0x001db2d3, 0x029a23a1, 0x0140e1d7, 0x03761dbe, 0x02f30b7d, 0x03f459e1, 0x001f0982}}}, + {X: Field{[10]uint32{0x019b616f, 0x02d8e89d, 0x035ab268, 0x006a61ba, 0x000b2514, 0x01dd2d9c, 0x0331519e, 0x008a5438, 0x02304357, 0x001e494f}}, Y: Field{[10]uint32{0x027f88e1, 0x000d61b8, 0x03f69100, 0x0363c95d, 0x02ed6467, 0x01a59972, 0x00f5bae9, 0x008d4ec8, 0x017a55b6, 0x00369827}}}, + {X: Field{[10]uint32{0x01399556, 0x010b45b7, 0x02773876, 0x00250d65, 0x01019acb, 0x0154643e, 0x02b1967f, 0x03032d70, 0x007ce900, 0x00018d0a}}, Y: Field{[10]uint32{0x03debead, 0x02d186b0, 0x037581fc, 0x00f8c4af, 0x00223c47, 0x014ccd2b, 0x00042db2, 0x005804c3, 0x01098cf0, 0x00288d42}}}, + {X: Field{[10]uint32{0x021bee98, 0x01fc60d0, 0x00223358, 0x012e4588, 0x02d7ef2f, 0x01a9d6d0, 0x0018557f, 0x03f56e8d, 0x01c38bd8, 0x001d8448}}, Y: Field{[10]uint32{0x02dd530f, 0x025ef6d4, 0x010405c8, 0x00d2bebb, 0x0276070e, 0x02eca489, 0x026eeb01, 0x01d0d443, 0x015ff9c1, 0x0010051c}}}, + {X: Field{[10]uint32{0x01453413, 0x0375819b, 0x034b3e63, 0x03870bc1, 0x0077990f, 0x039428ac, 0x01a30784, 0x037c6967, 0x00c1bfbb, 0x00098632}}, Y: Field{[10]uint32{0x02a48da0, 0x01a7774c, 0x01ab0581, 0x016cc9bf, 0x024bdaf3, 0x03a8f2d1, 0x00e584b4, 0x02daac63, 0x023720f5, 0x002b94e6}}}, + {X: Field{[10]uint32{0x00f685be, 0x007c76e4, 0x0020dab3, 0x02d70266, 0x00d91699, 0x0124c22d, 0x03a57e19, 0x03c097f1, 0x00cc10c6, 0x00350a7f}}, Y: Field{[10]uint32{0x02648edf, 0x026f5396, 0x00964068, 0x00f5bedb, 0x00a8df04, 0x02f945a2, 0x0014ae91, 0x01646379, 0x01c1ee15, 0x00368ac5}}}, + {X: Field{[10]uint32{0x00e8b705, 0x036a3639, 0x00b6d56d, 0x03d8d994, 0x01bf1e0c, 0x028b6bbd, 0x0207625b, 0x0232acdb, 0x03c7c04b, 0x001a8638}}, Y: Field{[10]uint32{0x00e94eec, 0x005762f0, 0x0049ed62, 0x010097f3, 0x0120e754, 0x03149507, 0x039c9dab, 0x025b6faf, 0x0330f56c, 0x00198a44}}}, + {X: Field{[10]uint32{0x00f97756, 0x01e848be, 0x032201a3, 0x03fe906c, 0x01d7ca3e, 0x01a88719, 0x002fa4ad, 0x03cff952, 0x0046d1c9, 0x002616da}}, Y: Field{[10]uint32{0x02a3a92e, 0x03d5102a, 0x01592d56, 0x030234e4, 0x03bb9dc6, 0x03150fe2, 0x022f2c32, 0x023dadda, 0x03dd98e1, 0x000f8ac8}}}, + {X: Field{[10]uint32{0x026e8c64, 0x024a5b27, 0x03f3355c, 0x038e5953, 0x0296fba8, 0x031ef328, 0x02ee3395, 0x00e2918f, 0x01db4ba8, 0x00252283}}, Y: Field{[10]uint32{0x00f5c1d8, 0x010c970f, 0x00d2e12c, 0x03b4bde5, 0x01c7b705, 0x03949f58, 0x03b69b52, 0x0360fad9, 0x0025da19, 0x00316cd3}}}, + {X: Field{[10]uint32{0x00a3de2e, 0x02a903ea, 0x028c4256, 0x0331a521, 0x020a437f, 0x020985ec, 0x0246b47e, 0x02c0fede, 0x002c1332, 0x0010ccb4}}, Y: Field{[10]uint32{0x02aa5289, 0x02f83762, 0x01de1e1b, 0x02adcdd9, 0x00393985, 0x025045e0, 0x00327c03, 0x015576a5, 0x016f5f9c, 0x0039b946}}}, + {X: Field{[10]uint32{0x022a5aa3, 0x0330fedc, 0x01d96a67, 0x0315ac84, 0x02f7e12d, 0x0235a7d6, 0x0150b68a, 0x032257cc, 0x03b92ac1, 0x0017725d}}, Y: Field{[10]uint32{0x0107844d, 0x0342e567, 0x0217d10f, 0x00d0d040, 0x0283260c, 0x0331a5b4, 0x03d29123, 0x03b27872, 0x00a74bf1, 0x00116223}}}, + {X: Field{[10]uint32{0x03d15764, 0x006a078f, 0x022b0c6e, 0x035f418e, 0x00605e3b, 0x00000e49, 0x030cb6df, 0x03c492a6, 0x0134ca94, 0x0016e73d}}, Y: Field{[10]uint32{0x00897458, 0x006f2f00, 0x03d1d0d8, 0x01233a22, 0x03f9ba4b, 0x0282cb59, 0x0248790f, 0x01bffaf6, 0x01c3b051, 0x00113a63}}}, + {X: Field{[10]uint32{0x01372f59, 0x035ffdb5, 0x00a6697f, 0x02c25d1b, 0x02e2feb4, 0x022578b7, 0x026baf9c, 0x01c531f4, 0x00073a63, 0x00210d4c}}, Y: Field{[10]uint32{0x00c7a175, 0x00fcda2c, 0x022d23ca, 0x01f209b1, 0x023f9fea, 0x03cbcd14, 0x037361c0, 0x02751132, 0x029e3768, 0x0035cdce}}}, + {X: Field{[10]uint32{0x021e6a61, 0x000c3eb0, 0x02619804, 0x037fe1d1, 0x008f1a28, 0x00e09b9e, 0x008485fc, 0x026d7227, 0x000e3eef, 0x00273c00}}, Y: Field{[10]uint32{0x0291543c, 0x0184bdff, 0x020a1ac2, 0x01daaa47, 0x002764cd, 0x00801708, 0x021fcb9d, 0x012cb653, 0x033ad868, 0x000acf6a}}}, + {X: Field{[10]uint32{0x00e1235c, 0x01c68913, 0x035e9996, 0x014e0ebf, 0x038ee028, 0x012469d5, 0x0088b25b, 0x00623882, 0x03dc5897, 0x002eca4b}}, Y: Field{[10]uint32{0x012507e5, 0x00bd6690, 0x023a09e0, 0x03dc9f86, 0x00d5e9b8, 0x01624cd2, 0x03839909, 0x01e18ef2, 0x01c350ba, 0x0034edb6}}}, + {X: Field{[10]uint32{0x03b7d680, 0x01c32403, 0x01ced2d7, 0x01afc9f1, 0x03efd2bc, 0x008e6d88, 0x008a21a9, 0x03b55daa, 0x01d89835, 0x002575b4}}, Y: Field{[10]uint32{0x00baf048, 0x02ff819b, 0x02468e40, 0x00e31cb3, 0x02b39e7d, 0x03cf39a4, 0x034ac720, 0x01973bea, 0x01ad39db, 0x0032454d}}}, + {X: Field{[10]uint32{0x01d09a46, 0x01428ea1, 0x00fd89ee, 0x021f7cb2, 0x0115ea37, 0x00328325, 0x02c3fb90, 0x03b08270, 0x020fa164, 0x0032f8fc}}, Y: Field{[10]uint32{0x02fb9a28, 0x00bbfe42, 0x00e8b825, 0x01469962, 0x01734a22, 0x0061b9bb, 0x02222804, 0x00596d23, 0x0354faea, 0x00335625}}}, + {X: Field{[10]uint32{0x039f604a, 0x0278a4ec, 0x020949f3, 0x03d121f5, 0x01002942, 0x0299e0d7, 0x031c215b, 0x02788166, 0x02b99bab, 0x000f8076}}, Y: Field{[10]uint32{0x0123d481, 0x0172d7a1, 0x022670bd, 0x03e7a2da, 0x00d0a556, 0x019e7cfa, 0x03509798, 0x014113b8, 0x00323336, 0x002d0777}}}, + {X: Field{[10]uint32{0x02afef7a, 0x004e991d, 0x03350972, 0x0238578f, 0x01c79891, 0x012d8cc7, 0x031cfd2e, 0x03725857, 0x00c05543, 0x000a625d}}, Y: Field{[10]uint32{0x0299da2f, 0x0360181e, 0x0257de5c, 0x028d8b2d, 0x0222354e, 0x011fd82c, 0x00e02e87, 0x0362fa9d, 0x035555f2, 0x001a0060}}}, + {X: Field{[10]uint32{0x011fdc61, 0x019e4fd4, 0x003dfd93, 0x0322824f, 0x022aabde, 0x0107453d, 0x03764b46, 0x00f25ba8, 0x034d5476, 0x00075c19}}, Y: Field{[10]uint32{0x00dfe632, 0x03ad2f8e, 0x0010e8a4, 0x000588f7, 0x02807741, 0x025d4fd0, 0x024378e5, 0x0112f18c, 0x01ac697e, 0x00259d2b}}}, + {X: Field{[10]uint32{0x000fece1, 0x02c713c1, 0x00fbacc0, 0x02be46ae, 0x0073c47a, 0x023e2d8d, 0x021875ec, 0x02e5c189, 0x0107b43a, 0x001d4880}}, Y: Field{[10]uint32{0x03aeaffb, 0x01580ba8, 0x00b7b088, 0x035670d4, 0x0041bc9a, 0x02d5bbee, 0x02ebf2bf, 0x001f404a, 0x027cc3bf, 0x000a4253}}}, + {X: Field{[10]uint32{0x03779720, 0x039e4883, 0x03df92e7, 0x0232743b, 0x03fc7f4c, 0x002eb20e, 0x01b31aab, 0x013b0c9f, 0x01ffb347, 0x0033eb6e}}, Y: Field{[10]uint32{0x019a09b2, 0x002e64c3, 0x00b06ab0, 0x001b34ae, 0x0297d418, 0x02a67ea0, 0x0322ee02, 0x023315e3, 0x017f6f7b, 0x003fedd9}}}, + {X: Field{[10]uint32{0x01cb828f, 0x03a2daf0, 0x026f464c, 0x03d35ee0, 0x0334a7b4, 0x027612a9, 0x02e46e13, 0x01580eb7, 0x019dbe3c, 0x00093ba4}}, Y: Field{[10]uint32{0x03ff1506, 0x0297a985, 0x03e29364, 0x01dbb55f, 0x01ca6514, 0x00e6e3c4, 0x020b63c5, 0x0151ee4d, 0x0356794b, 0x001100e5}}}, + {X: Field{[10]uint32{0x00b100f4, 0x00c3bfdf, 0x011dd1b5, 0x014ff90e, 0x00c50ddb, 0x02972fbb, 0x016b8f10, 0x01495bd3, 0x02462f75, 0x00166578}}, Y: Field{[10]uint32{0x001dc64a, 0x005875b6, 0x0018ce08, 0x01ac4f74, 0x03fe78ac, 0x010049ff, 0x02d7ba20, 0x01459711, 0x027c7da0, 0x001df776}}}, + {X: Field{[10]uint32{0x034d54dd, 0x035470c8, 0x019c29db, 0x00dc073c, 0x00364f8c, 0x02464f02, 0x029fa205, 0x011e3384, 0x007197dd, 0x0029c8cd}}, Y: Field{[10]uint32{0x01796e68, 0x00bbbc4c, 0x019ad92f, 0x00446874, 0x009cfdd7, 0x006a5999, 0x00a5fa00, 0x00b32ce1, 0x015eec2b, 0x000b139a}}}, + {X: Field{[10]uint32{0x032251a5, 0x015b3404, 0x01c234ed, 0x0358eb50, 0x01a57cfe, 0x037a7f32, 0x0275fcc5, 0x00872f5f, 0x0369d5bc, 0x001919aa}}, Y: Field{[10]uint32{0x01294dc9, 0x0037e909, 0x005d2099, 0x033f12bc, 0x022e0c1e, 0x03da2536, 0x0222f5e5, 0x005b89d9, 0x03896dbb, 0x001db9fb}}}, + {X: Field{[10]uint32{0x01c28e60, 0x02b3683d, 0x014f11e0, 0x02d478cf, 0x017fab8b, 0x03c85851, 0x02fca2ab, 0x0222af79, 0x0390a293, 0x00297b33}}, Y: Field{[10]uint32{0x020e3ac3, 0x0016c998, 0x023f7948, 0x038b2044, 0x03110e74, 0x019a42b7, 0x02886435, 0x0047cdcf, 0x0116468a, 0x002bf5d6}}}, + {X: Field{[10]uint32{0x029c2779, 0x03561c7b, 0x01cdf89e, 0x01813472, 0x006a15d0, 0x00fb6796, 0x02e52a1e, 0x01e367c9, 0x02c74936, 0x0010946e}}, Y: Field{[10]uint32{0x02987aa5, 0x016b62dc, 0x0138d3a1, 0x032437fe, 0x004bb023, 0x01980ef3, 0x0190c60e, 0x01c5b5da, 0x027d92e6, 0x003e877c}}}, + {X: Field{[10]uint32{0x027db30e, 0x00b0a93e, 0x01903f04, 0x03409aa0, 0x030f40c9, 0x006078a0, 0x00f6b973, 0x03308763, 0x02a204c3, 0x001dea79}}, Y: Field{[10]uint32{0x00155aa0, 0x00f79746, 0x03180b6e, 0x0041cacb, 0x03e78d93, 0x02a84333, 0x01b757fa, 0x017336f7, 0x03ef23f2, 0x00287bd3}}}, + {X: Field{[10]uint32{0x03dbea6b, 0x007fdf9b, 0x0239de75, 0x003a667d, 0x02e9c0d2, 0x015dfe8a, 0x02de73c4, 0x01386f5a, 0x0161c40d, 0x000cff9e}}, Y: Field{[10]uint32{0x01f54849, 0x0102e335, 0x03037058, 0x0251c8ca, 0x039a5919, 0x01930c33, 0x016e7c14, 0x00c1b38c, 0x01cd4eeb, 0x00246df5}}}, + {X: Field{[10]uint32{0x01179564, 0x02085c3e, 0x003115b6, 0x00054927, 0x03395357, 0x01216f8b, 0x00a9d8cb, 0x00884692, 0x032e5ee5, 0x0010fd9a}}, Y: Field{[10]uint32{0x01a46a45, 0x03de1d0b, 0x028921db, 0x0265ca39, 0x003555e6, 0x018fd7e2, 0x030cf7fe, 0x03aefc30, 0x015ffec0, 0x0014dc2d}}}, + {X: Field{[10]uint32{0x00b19bfc, 0x0116db0e, 0x0170e1a7, 0x010dcfd6, 0x03ad2f0b, 0x011baa1e, 0x00c7f6b4, 0x0041d35d, 0x021497ef, 0x0012b4d9}}, Y: Field{[10]uint32{0x035cfd39, 0x0133583b, 0x03cfc0cd, 0x0208ca7a, 0x036f9eea, 0x00dbe143, 0x02da00d4, 0x016ff57a, 0x01aa769a, 0x0023d770}}}, + {X: Field{[10]uint32{0x0012754d, 0x035654f0, 0x012f9155, 0x019a6cbc, 0x02593368, 0x016de5ea, 0x0334dc97, 0x013553cd, 0x02ef9520, 0x0025e66a}}, Y: Field{[10]uint32{0x003e6353, 0x016a1d7a, 0x02f3a984, 0x03b3a88d, 0x0044c256, 0x03124b55, 0x025b476b, 0x0385cd0e, 0x00a3d31f, 0x0012dacd}}}, + {X: Field{[10]uint32{0x01d828a1, 0x03275045, 0x00dca0fb, 0x0145be6a, 0x03c1c22f, 0x0038d759, 0x003f2525, 0x018d70b4, 0x01f0c6e4, 0x00321892}}, Y: Field{[10]uint32{0x0295ec73, 0x026519fb, 0x0102586d, 0x024d1a7c, 0x02465238, 0x012f1dac, 0x01260b39, 0x013437d3, 0x030b37dc, 0x0003885d}}}, + {X: Field{[10]uint32{0x0256038d, 0x03370b99, 0x0308e3ac, 0x039824be, 0x0061a08f, 0x033f5018, 0x0282c840, 0x021fbf1c, 0x00c5de56, 0x002d237f}}, Y: Field{[10]uint32{0x00e8927c, 0x02db467f, 0x01566277, 0x0254deb4, 0x01c0b52a, 0x01c51d99, 0x0369c7bc, 0x01c1d1c7, 0x021fec73, 0x00021f8f}}}, + {X: Field{[10]uint32{0x02357fca, 0x000ff353, 0x02da8585, 0x0134d9cc, 0x030146fa, 0x034e0da8, 0x025c828f, 0x0154d718, 0x036c62d6, 0x001df73a}}, Y: Field{[10]uint32{0x00228bd4, 0x00747a86, 0x0367e909, 0x02321fee, 0x024304d0, 0x034dc3b4, 0x01b85213, 0x025c4d49, 0x02005a13, 0x003642c9}}}, + {X: Field{[10]uint32{0x0175e49a, 0x0191d40c, 0x01c17473, 0x00f8ccbd, 0x0069cfb4, 0x0331c2b2, 0x031cd633, 0x00061137, 0x00bf4cda, 0x0016d623}}, Y: Field{[10]uint32{0x02d55cda, 0x022432be, 0x017c0d47, 0x01e11d1a, 0x01a52e19, 0x03e57f39, 0x02b823b2, 0x02792a13, 0x031df9e6, 0x0005093b}}}, + {X: Field{[10]uint32{0x0320b20c, 0x001da164, 0x003b7da1, 0x02944711, 0x032c50ce, 0x03277764, 0x00702518, 0x01082023, 0x03ba8393, 0x003021ee}}, Y: Field{[10]uint32{0x0209d996, 0x00881ee4, 0x02b5f6ec, 0x00f1faf0, 0x00f637c2, 0x032f92cc, 0x030e3455, 0x0157cec0, 0x02697175, 0x001dfc9a}}}, + {X: Field{[10]uint32{0x0031ed94, 0x011d304c, 0x02a3835e, 0x0183c45f, 0x00247d7d, 0x030b1563, 0x00b3e7cf, 0x0020bc82, 0x017b68f8, 0x00234581}}, Y: Field{[10]uint32{0x02ba3eca, 0x01442475, 0x0314fed5, 0x029fbb1a, 0x016ffb8c, 0x02710e78, 0x00f6e0d1, 0x0344f440, 0x01b662ff, 0x000f4c17}}}, + {X: Field{[10]uint32{0x01c184b7, 0x03f7307b, 0x019d9242, 0x02597878, 0x03d17daa, 0x03dcdc7f, 0x03b8cd2a, 0x00af21b6, 0x00a603d3, 0x001d7fb8}}, Y: Field{[10]uint32{0x03efa2f8, 0x03f71924, 0x0040910b, 0x027a6810, 0x01061ee8, 0x020245e5, 0x03c992ff, 0x0025d7f9, 0x00ffabc3, 0x0030ac79}}}, + {X: Field{[10]uint32{0x03368abb, 0x0170789b, 0x007a110d, 0x01d51839, 0x02dda7fb, 0x02a1dc42, 0x00925990, 0x0024f5f4, 0x0159b147, 0x0019768e}}, Y: Field{[10]uint32{0x01862844, 0x01171708, 0x03ce95e3, 0x00a32eb8, 0x00a6f530, 0x0268c08c, 0x032b463d, 0x0307870f, 0x01f52f92, 0x000d6678}}}, + {X: Field{[10]uint32{0x027933d3, 0x0102dbe5, 0x03f4df81, 0x016fd101, 0x005dda1a, 0x01d4e61c, 0x02b787ca, 0x0084975d, 0x00109463, 0x0019587f}}, Y: Field{[10]uint32{0x020e6337, 0x02a6d564, 0x01ad629f, 0x00ddb4e8, 0x02cd083f, 0x02dba200, 0x02e8aeca, 0x00a0a0fa, 0x03cea88e, 0x001301b1}}}, + {X: Field{[10]uint32{0x00c4410e, 0x0179e920, 0x016a35ca, 0x00c19993, 0x03c8a3fc, 0x02748cd0, 0x03041a6a, 0x00dc0548, 0x03807049, 0x0032694f}}, Y: Field{[10]uint32{0x036e4bf9, 0x01128882, 0x02d42183, 0x02b7c8d9, 0x02369d4d, 0x038ec9cd, 0x02f0dd06, 0x003517af, 0x00a9b2e3, 0x0026bd1c}}}, + {X: Field{[10]uint32{0x03b89158, 0x00d165cc, 0x03bf03c7, 0x00517d5d, 0x00c203f8, 0x02e68550, 0x009f45a1, 0x015b76c0, 0x01f3443e, 0x00170549}}, Y: Field{[10]uint32{0x034f4f18, 0x00d24efa, 0x03c02f5b, 0x03eb2e67, 0x0358574a, 0x01895c1e, 0x00f4c803, 0x03646b5d, 0x02f7cb3e, 0x00259e24}}}, + {X: Field{[10]uint32{0x001648ed, 0x024e72d5, 0x01454d69, 0x02a5d7d8, 0x0269bb6e, 0x01cbfb83, 0x00add6d4, 0x005c75c5, 0x00dad87c, 0x000d5973}}, Y: Field{[10]uint32{0x0062aef8, 0x01a8b64d, 0x014edd48, 0x029daa35, 0x034f02d3, 0x00022c65, 0x03d09bbd, 0x018d6176, 0x03bfec2b, 0x0027df61}}}, + {X: Field{[10]uint32{0x010e3614, 0x03799847, 0x01edabd8, 0x03744e2d, 0x004527d3, 0x00a85297, 0x00f29df4, 0x0386a2bf, 0x0334c0f5, 0x001000fb}}, Y: Field{[10]uint32{0x003048c4, 0x0131a093, 0x00e2cd3c, 0x003cd85d, 0x033d3ead, 0x0160e70b, 0x03d0a763, 0x0133bf30, 0x01524489, 0x0019c80c}}}, + {X: Field{[10]uint32{0x012ea57f, 0x01574764, 0x013931cf, 0x0088024a, 0x02138864, 0x02d25689, 0x03b7de39, 0x0141e4fa, 0x035b3796, 0x003d7137}}, Y: Field{[10]uint32{0x01eb3482, 0x0011f80c, 0x02968f30, 0x0295f4c6, 0x03aca34d, 0x028d8434, 0x03672c74, 0x02331168, 0x003e12a9, 0x002c2e4f}}}, + {X: Field{[10]uint32{0x029e213a, 0x0259e4d5, 0x010b397a, 0x0239a73b, 0x01cbe869, 0x019600a2, 0x023533e5, 0x021b36e9, 0x0280e211, 0x0002f27d}}, Y: Field{[10]uint32{0x032e06a3, 0x004fea6c, 0x01d72007, 0x03d6e478, 0x017bf54e, 0x01f48137, 0x03b94ff8, 0x01463543, 0x03788105, 0x001ab7fe}}}, + {X: Field{[10]uint32{0x01a16516, 0x02674ab2, 0x006b055f, 0x011d39c1, 0x01549e83, 0x028f8988, 0x03e15d37, 0x02204514, 0x0397f1fe, 0x001373a1}}, Y: Field{[10]uint32{0x03e668ea, 0x0381d52a, 0x01d4337c, 0x02a1d26a, 0x02fc8a8a, 0x035c35ec, 0x00fd9f37, 0x02096a57, 0x0377cca7, 0x003a979a}}}, + {X: Field{[10]uint32{0x0359b16b, 0x01a74fa5, 0x01eee818, 0x02149944, 0x02af2a4f, 0x000024e0, 0x032a0c04, 0x0255c2f5, 0x02ba1ef2, 0x003d26d6}}, Y: Field{[10]uint32{0x017c7f7d, 0x02391675, 0x01202865, 0x010ed060, 0x021d2fb3, 0x0182af19, 0x02125d0f, 0x03a349a5, 0x0020b996, 0x000b925b}}}, + {X: Field{[10]uint32{0x012125ec, 0x006fb902, 0x03fa054a, 0x001df5f5, 0x00a2d02f, 0x00afca52, 0x00ff7657, 0x038749ed, 0x014a7573, 0x0009a45f}}, Y: Field{[10]uint32{0x03cd8f97, 0x0173a0c1, 0x006780ad, 0x00c02986, 0x017eb125, 0x03e32232, 0x02fd2d5c, 0x019a80a9, 0x037eae9b, 0x002e391f}}}, + {X: Field{[10]uint32{0x0329d290, 0x03eab53e, 0x03cb1cd7, 0x01bb3e2e, 0x007ead77, 0x0084f9b6, 0x00b71daf, 0x00bf9263, 0x00d6285a, 0x0006d252}}, Y: Field{[10]uint32{0x00d3bfd8, 0x00306d09, 0x0227bdd3, 0x0266cbd7, 0x00d56984, 0x00b4a186, 0x0336c7a9, 0x0364966d, 0x001fef87, 0x0006ad02}}}, + {X: Field{[10]uint32{0x01ae64ca, 0x022f55e6, 0x036c7725, 0x03d29a58, 0x00f8b20f, 0x02a6594f, 0x019676fe, 0x02ebde77, 0x02ec8179, 0x000535c4}}, Y: Field{[10]uint32{0x000c6ef0, 0x01b8138e, 0x03ad6d36, 0x00e14eeb, 0x0006f385, 0x01cb38fc, 0x030df37d, 0x0143b0ca, 0x00a64246, 0x000b876e}}}, + {X: Field{[10]uint32{0x01952453, 0x01a53dc7, 0x038134d9, 0x02222d6f, 0x03a11119, 0x01111644, 0x01967e15, 0x01da1278, 0x02204174, 0x0001d9d4}}, Y: Field{[10]uint32{0x0182fd31, 0x01da10fb, 0x01c27377, 0x00f58253, 0x00de1a5c, 0x029c8b79, 0x0155a906, 0x02d80ce8, 0x00636457, 0x000fc7ec}}}, + {X: Field{[10]uint32{0x0149fc63, 0x012e8d37, 0x00937fc8, 0x01be5ac9, 0x020a53b1, 0x002ec789, 0x0016d028, 0x022d9d00, 0x0134a882, 0x0016b239}}, Y: Field{[10]uint32{0x00a1fc73, 0x03881bae, 0x0187a8e5, 0x021c457a, 0x0018568f, 0x0242739c, 0x005a4296, 0x03edec0b, 0x020f68f5, 0x00064f40}}}, + {X: Field{[10]uint32{0x034a14b8, 0x00880b6a, 0x02c43337, 0x0375ab3d, 0x02d618d0, 0x0064d127, 0x01135b60, 0x0158a94c, 0x02b28d16, 0x0021f377}}, Y: Field{[10]uint32{0x03846e2e, 0x01a32ea7, 0x0084be5b, 0x009404d7, 0x01cd7094, 0x038ba44a, 0x011cecbd, 0x022b6650, 0x00e67c95, 0x00170779}}}, + {X: Field{[10]uint32{0x024c84cb, 0x01de2810, 0x02d52f8c, 0x01fbac35, 0x004d4f8b, 0x03ea198c, 0x021dfe7a, 0x03427d23, 0x0225a39e, 0x00310c72}}, Y: Field{[10]uint32{0x0100d825, 0x02b8299c, 0x034292ae, 0x035b8d7f, 0x00489ede, 0x00c4a4cc, 0x00f2d11d, 0x02f9b4d7, 0x03d65b2d, 0x00114181}}}, + {X: Field{[10]uint32{0x00a3dd5a, 0x03cda0e2, 0x02c1d9bf, 0x000970bc, 0x03aaa930, 0x003b7128, 0x03af3d44, 0x0068452f, 0x01e8985c, 0x00231408}}, Y: Field{[10]uint32{0x012fb108, 0x02d82aa8, 0x01db13c2, 0x02bb50c5, 0x02b6d31f, 0x0025bf52, 0x01d74ba6, 0x0360701c, 0x00aa8077, 0x00132e58}}}, + {X: Field{[10]uint32{0x02513d4f, 0x0275c5db, 0x01bb770b, 0x012c99e0, 0x0306e7a1, 0x005df6ef, 0x017c07a0, 0x01d21630, 0x00bb38a4, 0x000ce395}}, Y: Field{[10]uint32{0x00420548, 0x02033e31, 0x026fb92f, 0x03554bb9, 0x02c44a6a, 0x019dd8ee, 0x02951def, 0x033e9308, 0x024e84ca, 0x001e1dab}}}, + {X: Field{[10]uint32{0x031f3c5a, 0x01bba34b, 0x0061bcb0, 0x0385fbfd, 0x013c7b0f, 0x03349a2b, 0x03683abc, 0x00e88645, 0x00a9efbb, 0x0021fcef}}, Y: Field{[10]uint32{0x01229b61, 0x028cfb55, 0x007f8361, 0x03c6845f, 0x00e5cc11, 0x03d7eef2, 0x001f258b, 0x03f15122, 0x02a1eccc, 0x0029e874}}}, + {X: Field{[10]uint32{0x013a3e40, 0x001eeed0, 0x01aad524, 0x037119f2, 0x00de27d6, 0x029a9e36, 0x016a0375, 0x01615a39, 0x03df8ed8, 0x0003d008}}, Y: Field{[10]uint32{0x03e178cc, 0x03e7da87, 0x001615cf, 0x0114f89d, 0x03d5e2c5, 0x03567cdc, 0x0230e566, 0x00e845aa, 0x0142fc4e, 0x002c9264}}}, + {X: Field{[10]uint32{0x006f2d3a, 0x00215927, 0x001a8927, 0x00bcdd38, 0x03453b51, 0x0398ecbe, 0x013d282f, 0x02288a27, 0x03c6d55a, 0x0033ed47}}, Y: Field{[10]uint32{0x0070635d, 0x01ffa724, 0x0125eb56, 0x004872c9, 0x03e4ea53, 0x01879874, 0x02c120e7, 0x0047b4a3, 0x02232838, 0x0023528c}}}, + {X: Field{[10]uint32{0x0243c539, 0x01f3a5ab, 0x00486893, 0x02c45c87, 0x01c45f77, 0x0089258d, 0x03219db2, 0x00051c2f, 0x020b9705, 0x00166912}}, Y: Field{[10]uint32{0x03039afa, 0x0364c781, 0x00efd158, 0x01644ddd, 0x02400ff9, 0x017ae29d, 0x021d0cd5, 0x003cfc77, 0x00a66a91, 0x0000c787}}}, + {X: Field{[10]uint32{0x00a8ee7e, 0x015c3a0a, 0x0386f8ab, 0x01cc67f5, 0x02d8e26d, 0x012ecea3, 0x03446281, 0x01e8ddaa, 0x0256ec27, 0x002e673b}}, Y: Field{[10]uint32{0x023494ad, 0x02c44d70, 0x0223062a, 0x00c74773, 0x00b6be5d, 0x01360305, 0x013b16ab, 0x017535c9, 0x0398dda0, 0x0011b83c}}}, + {X: Field{[10]uint32{0x01172bd2, 0x001eb403, 0x03cb0252, 0x00ad4a51, 0x001c6b92, 0x0369d6ce, 0x00398725, 0x006889b4, 0x036ad96b, 0x0028e784}}, Y: Field{[10]uint32{0x02abb532, 0x00286e6d, 0x023a2d91, 0x01de2bc6, 0x007dbfc9, 0x0258e7ea, 0x010fa717, 0x038238f4, 0x0358074d, 0x001e9701}}}, + {X: Field{[10]uint32{0x03001976, 0x02365d15, 0x039c45b4, 0x0154d7d1, 0x032c23c8, 0x02dd44ad, 0x02dd59ae, 0x02dd3989, 0x01253b2e, 0x001ba2d0}}, Y: Field{[10]uint32{0x012bc88e, 0x02667a33, 0x02b47873, 0x020bb086, 0x020715bc, 0x032e16a8, 0x0004068a, 0x0301157a, 0x00e1e4e8, 0x003302e2}}}, + {X: Field{[10]uint32{0x01abb019, 0x0111e294, 0x024189c4, 0x01bc7263, 0x03cd1fb6, 0x03bf44d0, 0x03b6ec98, 0x010627df, 0x02f5681e, 0x002650ad}}, Y: Field{[10]uint32{0x010e7a9a, 0x01459e63, 0x02430569, 0x01afb499, 0x02d2fe98, 0x01f26278, 0x0211e6ff, 0x00b54a42, 0x02bbb0cc, 0x00080343}}}, + {X: Field{[10]uint32{0x0078506d, 0x0383df94, 0x01744642, 0x03dcbabf, 0x02759636, 0x0122bcd4, 0x0166918b, 0x02e52510, 0x01ec3c57, 0x001ff738}}, Y: Field{[10]uint32{0x03baabd2, 0x004e8ab5, 0x0146b2e3, 0x01e5974f, 0x0353cfb9, 0x038b4b39, 0x03786ed1, 0x01db8dce, 0x02efc19a, 0x0035de16}}}, + {X: Field{[10]uint32{0x03989c57, 0x035381a4, 0x01b04a70, 0x01362065, 0x035f5165, 0x01df1e6a, 0x030906bd, 0x020fc3c5, 0x005c958c, 0x001bc4c8}}, Y: Field{[10]uint32{0x03b55ee0, 0x023c4fdc, 0x02c99e84, 0x02655445, 0x01033deb, 0x0254368d, 0x028d4f1c, 0x03920ec9, 0x015bb386, 0x0022b268}}}, + {X: Field{[10]uint32{0x0297654e, 0x03352d8d, 0x007e6e50, 0x013d6d09, 0x03cd405f, 0x0137fefe, 0x00a0665f, 0x01a6f810, 0x035d833c, 0x003e5568}}, Y: Field{[10]uint32{0x03c9ee44, 0x03e93d62, 0x0183e4e2, 0x02c9f686, 0x00f56e80, 0x0103acdf, 0x02f2407f, 0x020e2692, 0x03ce2246, 0x00227d3e}}}, + {X: Field{[10]uint32{0x02248007, 0x03edaa09, 0x00132e65, 0x0346248e, 0x010b58b8, 0x037e5e63, 0x02257431, 0x011a8d0a, 0x012d6196, 0x0036f345}}, Y: Field{[10]uint32{0x02d8ba13, 0x02d34d8c, 0x01dcec02, 0x038f4086, 0x03e57d23, 0x039a0c3d, 0x0025e9e2, 0x023f4f91, 0x017ec194, 0x0019be9c}}}, + {X: Field{[10]uint32{0x026e8ebe, 0x03a854d7, 0x035cc71e, 0x02ca2cd6, 0x0399f713, 0x00b9e54f, 0x03cfb1da, 0x02427eb1, 0x00e8e57b, 0x003c6baf}}, Y: Field{[10]uint32{0x01d9d516, 0x03d842f9, 0x0157e1b7, 0x0365617f, 0x0288b0bf, 0x00b93d65, 0x01c24d09, 0x0396a983, 0x02143e77, 0x0021d57e}}}, + {X: Field{[10]uint32{0x00b55187, 0x01b92281, 0x005f5fef, 0x016a4754, 0x01c002bc, 0x0010c241, 0x01ceab65, 0x0212ffe2, 0x024d941f, 0x00288085}}, Y: Field{[10]uint32{0x02f057ff, 0x00ecfbf0, 0x004c1bee, 0x0256b7a2, 0x01b6d4b0, 0x02e6f393, 0x0172e978, 0x01a2d479, 0x002b2bc2, 0x00038335}}}, + {X: Field{[10]uint32{0x028ad68a, 0x01011f72, 0x02861e78, 0x02942009, 0x02b1344d, 0x021fe2e6, 0x000eccb2, 0x039f7a52, 0x025746fd, 0x0015cb85}}, Y: Field{[10]uint32{0x01eb5d9f, 0x01a585cc, 0x01170475, 0x01ac283f, 0x0239eda8, 0x00176b5d, 0x02461eb4, 0x02aed234, 0x01e7c066, 0x00305d2b}}}, + {X: Field{[10]uint32{0x03eba31d, 0x0333a696, 0x00dac58a, 0x03296799, 0x00b67047, 0x01db927a, 0x00b1052b, 0x035d4f02, 0x0107fee4, 0x003d38b2}}, Y: Field{[10]uint32{0x0011c42c, 0x02fe1c4b, 0x030f8f41, 0x00d09201, 0x032b76d1, 0x02a3fa25, 0x00b8317c, 0x034b6392, 0x022d3a92, 0x002c90ea}}}, + {X: Field{[10]uint32{0x01f06dd5, 0x0258e97f, 0x00463e06, 0x0207c934, 0x02266987, 0x01a2026c, 0x029e436d, 0x015c5bd7, 0x02ec8445, 0x0029bf1a}}, Y: Field{[10]uint32{0x0018ca8d, 0x02402a86, 0x013d5073, 0x013a4614, 0x00a96b7f, 0x01d2367c, 0x02135fdf, 0x03f461ab, 0x0215548e, 0x003705a9}}}, + {X: Field{[10]uint32{0x0205f026, 0x03378b56, 0x009bcc00, 0x033ac133, 0x00c4ffb3, 0x00dfcb2f, 0x00d8eec9, 0x02594a73, 0x00175fde, 0x002f601a}}, Y: Field{[10]uint32{0x00a26216, 0x008a2cd9, 0x03f76bce, 0x01d1454a, 0x02db0482, 0x02daf771, 0x03e6a0d8, 0x010ca383, 0x02e78e01, 0x002c9e46}}}, + {X: Field{[10]uint32{0x000165ef, 0x021b74d7, 0x0251e163, 0x02c8e976, 0x032d8614, 0x032b9ae3, 0x015e810e, 0x00f482e7, 0x02676f8c, 0x003e2229}}, Y: Field{[10]uint32{0x009a0dea, 0x00f6b724, 0x0223942a, 0x014f7890, 0x03579788, 0x031ec7ae, 0x034bfe39, 0x03cfbfdb, 0x020fe429, 0x003ed3b8}}}, + {X: Field{[10]uint32{0x009ae200, 0x0221df10, 0x02fd23ba, 0x039af69d, 0x01c3182e, 0x034583f3, 0x01023a48, 0x02a9c7b2, 0x02055adb, 0x001f2347}}, Y: Field{[10]uint32{0x03907ceb, 0x0385d90b, 0x00524f16, 0x0293cb23, 0x01c489b9, 0x033a0dde, 0x02936f4f, 0x01548f65, 0x020bec59, 0x00228ee0}}}, + {X: Field{[10]uint32{0x02fabf43, 0x00539d89, 0x0159e75c, 0x02dd48a6, 0x026dfd9b, 0x024eebdc, 0x00ccd715, 0x01c48184, 0x02a4ee25, 0x0006221b}}, Y: Field{[10]uint32{0x0091531d, 0x026361b8, 0x01d31ffa, 0x0210e622, 0x02898a31, 0x01f40ade, 0x033ad3f0, 0x01a2c034, 0x0295f570, 0x00099b19}}}, + {X: Field{[10]uint32{0x03e52cba, 0x03f73e9a, 0x009a3184, 0x0265419e, 0x011242a0, 0x02b00dae, 0x039a44ec, 0x02b6f4cc, 0x031e38c8, 0x003fa9c3}}, Y: Field{[10]uint32{0x039e7915, 0x009bb38e, 0x0046883e, 0x00bf5d17, 0x02076c0e, 0x00d99c2d, 0x0058093a, 0x0306e777, 0x01f50ba8, 0x00277fdb}}}, + {X: Field{[10]uint32{0x03d1365a, 0x0312d28d, 0x00c8fb1d, 0x01eff908, 0x0096dcbf, 0x01e5146e, 0x0199142e, 0x00f241db, 0x038945aa, 0x001378c0}}, Y: Field{[10]uint32{0x0287cba4, 0x0193b634, 0x0316d356, 0x02884ec2, 0x03992ac0, 0x0006ccdd, 0x001eb2e2, 0x03799090, 0x029e9093, 0x0033b9d3}}}, + {X: Field{[10]uint32{0x02104fb2, 0x02220c06, 0x03da3739, 0x01adad6f, 0x028c2d8e, 0x03040a60, 0x03b8c401, 0x02f9e718, 0x01d1eafe, 0x0019f427}}, Y: Field{[10]uint32{0x01360a5f, 0x03ea96ef, 0x0098461f, 0x016367cb, 0x00d4f035, 0x0063e26f, 0x019049e8, 0x00365a3a, 0x01089266, 0x00043ad5}}}, + {X: Field{[10]uint32{0x00e6010f, 0x03f75dd0, 0x01b5af5f, 0x03d3fe8c, 0x01325e55, 0x01c0c735, 0x0396d4d8, 0x00d3e34e, 0x00fe1868, 0x000ad75c}}, Y: Field{[10]uint32{0x0095ed02, 0x029351ea, 0x03b1f7bd, 0x024327d4, 0x00384398, 0x02c8206d, 0x031f54af, 0x028dcde2, 0x025324d2, 0x00191b9f}}}, + {X: Field{[10]uint32{0x017be248, 0x03d8b7f8, 0x00752527, 0x008f2893, 0x005d600b, 0x02bb42b4, 0x03f7b446, 0x029db064, 0x02998700, 0x0032d098}}, Y: Field{[10]uint32{0x0019a8b6, 0x03a4e796, 0x006e65ac, 0x01413086, 0x03bcfd02, 0x03339dc8, 0x01f74eb8, 0x01832439, 0x0213f3eb, 0x0024a10f}}}, + {X: Field{[10]uint32{0x018e4e41, 0x00137b50, 0x00d25f9b, 0x014ff638, 0x0322d0b8, 0x039b7a22, 0x01ce4d01, 0x02f15c4d, 0x037e75b3, 0x000fb9aa}}, Y: Field{[10]uint32{0x034bcc87, 0x0154da06, 0x027689ad, 0x013da03b, 0x006ee1ab, 0x00cfd480, 0x01b6afc9, 0x01466e4c, 0x03984e52, 0x001a720f}}}, + {X: Field{[10]uint32{0x0087e7be, 0x010217f2, 0x01724e90, 0x031ca8e1, 0x016918ac, 0x005f5e0a, 0x0232df6f, 0x01450c5c, 0x00b0a95a, 0x00160ddd}}, Y: Field{[10]uint32{0x007c3e7b, 0x01cdaaa0, 0x0042418c, 0x03f8542d, 0x03f8f047, 0x019970d4, 0x00160730, 0x033c5cc3, 0x02660ee8, 0x000ceec7}}}, + {X: Field{[10]uint32{0x0079dc1a, 0x020e381c, 0x03fcb0a8, 0x000269e8, 0x03eb3341, 0x02990fa8, 0x0082b772, 0x009e1de4, 0x01ef3982, 0x002bccb8}}, Y: Field{[10]uint32{0x0295fd4c, 0x027b2dd3, 0x037f8b3a, 0x00c792d2, 0x03169383, 0x0068d9a5, 0x02ee7e8b, 0x0048f9ce, 0x028dc660, 0x001a6178}}}, + {X: Field{[10]uint32{0x0034d0c4, 0x02b705b8, 0x03f9c948, 0x02737aae, 0x0150f724, 0x03eff0fd, 0x020c740e, 0x01d5466d, 0x03dd3266, 0x001bb7df}}, Y: Field{[10]uint32{0x02f46026, 0x01144f43, 0x016d40bb, 0x0052edf6, 0x0164534f, 0x02c249a4, 0x030de819, 0x01f69d7e, 0x03185def, 0x003c2317}}}, + {X: Field{[10]uint32{0x01f16b42, 0x00293c00, 0x01f0072a, 0x0182cff6, 0x0086257a, 0x02060878, 0x0104120a, 0x023e51b1, 0x02455d26, 0x000ee699}}, Y: Field{[10]uint32{0x00fe7c7b, 0x006f774b, 0x00117e2e, 0x0121916c, 0x023dfa48, 0x01864041, 0x03601090, 0x01b02257, 0x0215aedf, 0x003b560e}}}, + {X: Field{[10]uint32{0x007a1039, 0x00eb429d, 0x03ae2d68, 0x010e0ba2, 0x0327b529, 0x02804ac3, 0x03cbdf07, 0x03f6c345, 0x03082b5c, 0x002f40d6}}, Y: Field{[10]uint32{0x03b2ef54, 0x003e68e6, 0x03f61ac9, 0x030e2d8a, 0x00e94a23, 0x01cafa2b, 0x0135ccd5, 0x035fa2a8, 0x03aded4a, 0x00192532}}}, + {X: Field{[10]uint32{0x015338c3, 0x0116d13c, 0x02ff7a8c, 0x02c50408, 0x024dda59, 0x022780e0, 0x03316ef0, 0x00602eb8, 0x0319fe9b, 0x003897ef}}, Y: Field{[10]uint32{0x034c7cf2, 0x0220d8c5, 0x03be6f63, 0x00467d3e, 0x007c2c8f, 0x0214b9a5, 0x02412581, 0x037548d0, 0x03f658a3, 0x00117b11}}}, + {X: Field{[10]uint32{0x00ffc9b8, 0x01cb993b, 0x02e6c7c0, 0x0170e1c7, 0x01f30f59, 0x00059501, 0x02ebea75, 0x01cd5814, 0x01cd8ffd, 0x000b88c7}}, Y: Field{[10]uint32{0x0359317a, 0x03cc591b, 0x0127d29c, 0x032fb946, 0x027610d4, 0x02892b78, 0x018f3d3e, 0x02586a11, 0x0052db15, 0x00031991}}}, + {X: Field{[10]uint32{0x01338fc8, 0x0161983d, 0x020483b4, 0x01d299a9, 0x01fd2a41, 0x00c5b819, 0x01ae1260, 0x0189bc6c, 0x01c93932, 0x001f03ca}}, Y: Field{[10]uint32{0x01cd037f, 0x008cee9d, 0x00162350, 0x013e6326, 0x01b76e2c, 0x021fd5aa, 0x0255d7a5, 0x0049cb00, 0x033ddf6f, 0x0009fbd4}}}, + {X: Field{[10]uint32{0x00d5bb48, 0x02da881f, 0x019ba31b, 0x0385c2ca, 0x027bd857, 0x01e53ecc, 0x003e0144, 0x027fbfed, 0x021cea6f, 0x0039c0b5}}, Y: Field{[10]uint32{0x023f79c9, 0x0303acc6, 0x02f2112e, 0x02bf298e, 0x00ee5e28, 0x03781de5, 0x0228a712, 0x03b8f9fc, 0x0081c924, 0x00311de6}}}, + {X: Field{[10]uint32{0x02c852a8, 0x02b917d9, 0x026d8cc2, 0x02900d69, 0x01c362c5, 0x030591fb, 0x0275c117, 0x0306d6fb, 0x0044eade, 0x003c5e00}}, Y: Field{[10]uint32{0x029e1c18, 0x01dd5c8c, 0x030f89a6, 0x00121727, 0x01e8b7a3, 0x00e00c43, 0x00f63ac1, 0x00e5dfc2, 0x01f0f31b, 0x0017e37a}}}, + {X: Field{[10]uint32{0x0312dd9e, 0x001c07c7, 0x0369f8d0, 0x02dc5982, 0x011582cc, 0x00999969, 0x0152c533, 0x016c6352, 0x037f22ec, 0x001e906c}}, Y: Field{[10]uint32{0x007fc443, 0x01425458, 0x002b9db7, 0x017890a7, 0x01344886, 0x028bc780, 0x00cd74d2, 0x00967020, 0x02132c57, 0x0021102f}}}, + {X: Field{[10]uint32{0x002db6d3, 0x033342ca, 0x02779ca4, 0x005b5482, 0x02a5ce63, 0x01f0d546, 0x00f4e165, 0x035a7866, 0x037d8111, 0x000253ff}}, Y: Field{[10]uint32{0x005c6fc0, 0x00926f14, 0x03b909c3, 0x00c0ea4c, 0x0342541d, 0x02c763b5, 0x00a75d38, 0x0030155e, 0x0270026c, 0x00120b24}}}, + {X: Field{[10]uint32{0x03f4e9d1, 0x03251005, 0x02560a54, 0x0224bdc3, 0x01d37759, 0x02c1692a, 0x00ac76b1, 0x03eaa55b, 0x004e8a3f, 0x0035a9b5}}, Y: Field{[10]uint32{0x00863e1a, 0x01ee95e4, 0x00b6cdc5, 0x021f78e2, 0x03c7b93e, 0x00ea2815, 0x023bbe78, 0x0277a645, 0x0322cd83, 0x001230ee}}}, + {X: Field{[10]uint32{0x00cdf80c, 0x00813e54, 0x03d53699, 0x024e56e4, 0x02c47c09, 0x00550ee4, 0x01dbc477, 0x03b6ac79, 0x01c08e24, 0x00330389}}, Y: Field{[10]uint32{0x011fb70b, 0x00a0af41, 0x038c8220, 0x015490c6, 0x031a977c, 0x02d29b4e, 0x0376ab2c, 0x033ced0e, 0x00b37170, 0x0008314b}}}, + {X: Field{[10]uint32{0x02f8d827, 0x0095ced8, 0x01be3db7, 0x0291041e, 0x01efddb6, 0x03ee0f2d, 0x025d0eac, 0x0346be84, 0x03684cb7, 0x0033e54f}}, Y: Field{[10]uint32{0x00909c0c, 0x027b76cc, 0x009ac0b8, 0x01406bf2, 0x03b302fa, 0x038f9428, 0x0047a7b8, 0x0046c42a, 0x0366a45d, 0x001c33f8}}}, + {X: Field{[10]uint32{0x0015d5dc, 0x02675ada, 0x0319fbff, 0x01d450ea, 0x02f8ce69, 0x03f57f87, 0x016b7112, 0x02ac1bfc, 0x02942b34, 0x0006b089}}, Y: Field{[10]uint32{0x036539fc, 0x038fe96a, 0x026154d9, 0x0348911d, 0x011bd823, 0x027859a0, 0x01b7fddd, 0x0025d53a, 0x017e02bd, 0x00290f51}}}, + {X: Field{[10]uint32{0x024d65c2, 0x03dc8c9e, 0x029e9bb9, 0x03f6904b, 0x00496349, 0x0256501b, 0x03800bcf, 0x02012bc3, 0x03ff1153, 0x00340aee}}, Y: Field{[10]uint32{0x0002a384, 0x03fff06e, 0x032f2876, 0x02087083, 0x020d41e6, 0x03bc22d5, 0x0344f9b9, 0x00cbdc75, 0x00de3c78, 0x000177a0}}}, + {X: Field{[10]uint32{0x031831a7, 0x021496d3, 0x0204025a, 0x009920de, 0x02d8a603, 0x0312ca67, 0x021cc2b2, 0x013b8d0b, 0x03478d46, 0x000f32b4}}, Y: Field{[10]uint32{0x002691c0, 0x00dac9b4, 0x0035af30, 0x00f926d4, 0x0147492f, 0x033acd00, 0x0079fdd6, 0x0156d82b, 0x024ca59b, 0x000d7a8a}}}, + {X: Field{[10]uint32{0x02033688, 0x01ee90cd, 0x0106b80f, 0x02cc1067, 0x01b3a758, 0x03fe12cf, 0x0362e90f, 0x030f3835, 0x01543e69, 0x003ab135}}, Y: Field{[10]uint32{0x01deacbe, 0x01a84bf4, 0x01dbf17f, 0x01b7250d, 0x02ee00fb, 0x036a8611, 0x00449aad, 0x01d2effa, 0x02dac543, 0x002a993e}}}, + {X: Field{[10]uint32{0x03fca753, 0x02383318, 0x037a9a02, 0x01974f6e, 0x015df624, 0x00cef8a0, 0x026d0c61, 0x00dc4ccc, 0x01b173d9, 0x000f4a1e}}, Y: Field{[10]uint32{0x00d6e0f0, 0x029ca59a, 0x00c9d8f0, 0x0230a9aa, 0x01fd38a0, 0x01336e34, 0x023eecb3, 0x02d7a2a7, 0x024d9b95, 0x0015db39}}}, + {X: Field{[10]uint32{0x0176ca14, 0x0138c11a, 0x03ce4cf7, 0x015a67ae, 0x0272358a, 0x02a31d9a, 0x0137087c, 0x01a0b894, 0x038d56a9, 0x000fd62a}}, Y: Field{[10]uint32{0x0321f29d, 0x010169ec, 0x02315447, 0x00280579, 0x01f6bce2, 0x02d2036b, 0x030f45f1, 0x02a2a07c, 0x03d101a2, 0x000f2414}}}, + {X: Field{[10]uint32{0x03fd12d7, 0x01776c44, 0x01b97314, 0x004d6211, 0x022a4ed9, 0x022bab90, 0x029df0fa, 0x03346506, 0x0289b48d, 0x0013d7c4}}, Y: Field{[10]uint32{0x00dc1428, 0x03e095b8, 0x03e86077, 0x01a968f0, 0x0342ac0d, 0x0288cf77, 0x02286ed0, 0x0195dc0f, 0x032cc40c, 0x002d70f8}}}, + {X: Field{[10]uint32{0x03376a76, 0x00e4b724, 0x03bc5ad0, 0x037fe682, 0x03e4a9dc, 0x028aeb35, 0x00e70ddd, 0x031beb9d, 0x01e2a52d, 0x0029928a}}, Y: Field{[10]uint32{0x018a9590, 0x02c05990, 0x0330b4eb, 0x0332c395, 0x01c776f2, 0x00f770d9, 0x02efe873, 0x02c6ddee, 0x00a6faa9, 0x002b78be}}}, + {X: Field{[10]uint32{0x00480e70, 0x0331f6f2, 0x02f04994, 0x017788d2, 0x00b8694b, 0x0071b4f8, 0x0186f94e, 0x03e22b47, 0x0212c4d6, 0x0037b82a}}, Y: Field{[10]uint32{0x02f93389, 0x01947e18, 0x002193d4, 0x0320034d, 0x02413ae1, 0x00cb4c35, 0x01368df3, 0x00df3ea7, 0x00d4cbda, 0x0032f66b}}}, + {X: Field{[10]uint32{0x01796936, 0x003c6235, 0x01f74f9c, 0x023220bf, 0x01772b95, 0x003ad9bf, 0x013e2948, 0x01ab86d9, 0x019dc8af, 0x00219dea}}, Y: Field{[10]uint32{0x0397232e, 0x03abe07f, 0x029ed783, 0x0075370f, 0x00662115, 0x002187d1, 0x03a24f3a, 0x0012392d, 0x00c8348c, 0x000c719a}}}, + {X: Field{[10]uint32{0x02997fee, 0x005e307d, 0x01d80ed6, 0x0306633b, 0x02f44aed, 0x02f5b59d, 0x0229bc79, 0x029f30ac, 0x013acb73, 0x0014445f}}, Y: Field{[10]uint32{0x01110cd6, 0x0395a30e, 0x01a4d174, 0x01c0c870, 0x0278f207, 0x00258d0f, 0x00651d30, 0x0217045c, 0x0004123f, 0x001718e3}}}, + {X: Field{[10]uint32{0x03141b12, 0x0328e0e7, 0x024689c3, 0x03e0d08f, 0x020a83c9, 0x00ba8490, 0x03585d45, 0x0020a3a1, 0x03646967, 0x0012362b}}, Y: Field{[10]uint32{0x0265e9de, 0x035938d4, 0x0040fdc4, 0x00d6501b, 0x011998dd, 0x00157b41, 0x029843b9, 0x01269f1a, 0x0342f07f, 0x001562a3}}}, + {X: Field{[10]uint32{0x02966d2c, 0x03a03d7d, 0x0317aecb, 0x01f7d6ee, 0x01d4060c, 0x0070593a, 0x003d4574, 0x03bb9685, 0x02c1b0fd, 0x0018aea6}}, Y: Field{[10]uint32{0x01d9450e, 0x01b04629, 0x00aedb58, 0x019cec0d, 0x019329fe, 0x01c2cee6, 0x0096494b, 0x0105b17f, 0x013f2290, 0x00196819}}}, + {X: Field{[10]uint32{0x01febf0d, 0x00a5f492, 0x0004a486, 0x00150fcc, 0x00508d8d, 0x00f1e4c4, 0x02f20580, 0x0295ad43, 0x03cb679d, 0x002f937d}}, Y: Field{[10]uint32{0x01f3ba9b, 0x01b10f35, 0x03a0995f, 0x00183e8f, 0x00ca6973, 0x032a21a5, 0x018cb8ba, 0x00f9fea2, 0x0150dd5f, 0x00306d59}}}, + {X: Field{[10]uint32{0x00c9979d, 0x010d6c0a, 0x010c3a0c, 0x00b33855, 0x02424eac, 0x0211ccc5, 0x02cdf340, 0x0381a016, 0x036ccca2, 0x00392700}}, Y: Field{[10]uint32{0x01609a1b, 0x02264b98, 0x03bcab16, 0x0078ed0a, 0x0121186b, 0x009ebf5f, 0x010d273d, 0x03f7956f, 0x025f0457, 0x00115af0}}}, + {X: Field{[10]uint32{0x03fd58e3, 0x01e9be25, 0x01302705, 0x006ab570, 0x02976e70, 0x02ddd30a, 0x03ddfc9c, 0x017642cf, 0x01eda81d, 0x002b9a11}}, Y: Field{[10]uint32{0x02d755bc, 0x01299d5f, 0x03e11e5b, 0x01b39a6c, 0x00450112, 0x014e694d, 0x026194e7, 0x038d8264, 0x0055322a, 0x0014a6f7}}}, + {X: Field{[10]uint32{0x02a25e1b, 0x03ab8c6f, 0x02d183fb, 0x02652867, 0x004c2744, 0x035c4e19, 0x00717e02, 0x02ddcb32, 0x00f8bcc2, 0x0014a876}}, Y: Field{[10]uint32{0x0189011b, 0x01a79810, 0x001dc9f8, 0x01cf1c0d, 0x03dbb806, 0x00edd4a2, 0x00e77f95, 0x01e25212, 0x032ce7f1, 0x00368a82}}}, + {X: Field{[10]uint32{0x02a2250a, 0x03ce0165, 0x02918425, 0x02724349, 0x010cc552, 0x035692af, 0x0119f50d, 0x01e01357, 0x0301d89a, 0x003feeeb}}, Y: Field{[10]uint32{0x029880e2, 0x00dfb666, 0x0214538c, 0x0043dac6, 0x022d5144, 0x00bf84c8, 0x02a47a6c, 0x018af416, 0x03b7eba6, 0x00222d7d}}}, + {X: Field{[10]uint32{0x038c942e, 0x0296783f, 0x011f9fe5, 0x0323fd81, 0x014473fb, 0x013e15c9, 0x03840eed, 0x006adebe, 0x0038aab5, 0x0001bfe9}}, Y: Field{[10]uint32{0x0202d775, 0x02131fb9, 0x01f8e668, 0x0168ab1f, 0x0350a0e9, 0x02584ef2, 0x0060dc66, 0x028100ce, 0x02dd3b88, 0x0016c089}}}, + {X: Field{[10]uint32{0x00a2fc79, 0x03b250c2, 0x00cb5a45, 0x01eb22f2, 0x00c2c1b7, 0x00749a84, 0x00f5ee59, 0x0311f8c6, 0x0258f92a, 0x00272255}}, Y: Field{[10]uint32{0x001045f9, 0x02b3ea70, 0x0338e516, 0x0057fdd3, 0x00ef4b01, 0x0378963b, 0x0255e286, 0x02f563c5, 0x01e2665e, 0x001c201c}}}, + {X: Field{[10]uint32{0x01861ba9, 0x037dbc30, 0x03bb5df1, 0x0338153e, 0x00a59bb3, 0x03afb38f, 0x01bffd18, 0x00d6c4ff, 0x020defba, 0x0014cb9b}}, Y: Field{[10]uint32{0x02bc5b8a, 0x02d1d52b, 0x027fff61, 0x003e942e, 0x0336f04b, 0x0192d164, 0x0332ed24, 0x02ef0fad, 0x01dad326, 0x0006bd19}}}, + {X: Field{[10]uint32{0x01fff425, 0x01238039, 0x02ea138d, 0x02020f69, 0x038a8a9f, 0x01432d28, 0x01add8eb, 0x01c24833, 0x0321e3f2, 0x0026410c}}, Y: Field{[10]uint32{0x0377ea6f, 0x0347c123, 0x03786ef9, 0x00937ca6, 0x02404ecb, 0x0394b0cd, 0x025b1be8, 0x00943f67, 0x0197325c, 0x00046fa1}}}, + {X: Field{[10]uint32{0x004084f9, 0x02bd1b9f, 0x0217287d, 0x01730cc7, 0x017d7908, 0x008308af, 0x00a6e941, 0x00d2a668, 0x00803a09, 0x00259e64}}, Y: Field{[10]uint32{0x00005e03, 0x011b08e6, 0x02d047dc, 0x02ab5d72, 0x02574903, 0x02ca04bb, 0x0120b5c9, 0x002ff9a9, 0x012d1845, 0x003aa400}}}, + {X: Field{[10]uint32{0x02a0afb9, 0x036b0dce, 0x006ab729, 0x006d3f0e, 0x021f36f7, 0x03bfdd85, 0x02d99819, 0x03f8433d, 0x0157915f, 0x001d3d74}}, Y: Field{[10]uint32{0x01b29eb5, 0x02750846, 0x0009a2c4, 0x02925069, 0x034e4ce4, 0x03323111, 0x02e225cd, 0x02f1d04a, 0x011e4922, 0x00152800}}}, + {X: Field{[10]uint32{0x01927855, 0x0335aa30, 0x0231e3e7, 0x035caa81, 0x0176e5f3, 0x0235e9d4, 0x000ddebe, 0x00e5555c, 0x035381c6, 0x00049a49}}, Y: Field{[10]uint32{0x039ae553, 0x03833070, 0x017b72c5, 0x03f544cd, 0x013eefef, 0x0387442d, 0x00554fa1, 0x000b5513, 0x00768110, 0x002e4b94}}}, + {X: Field{[10]uint32{0x00230d9f, 0x03801ee0, 0x028e11aa, 0x02f37471, 0x00d7cdcf, 0x03c63604, 0x036ae35a, 0x00f5cc16, 0x001b1d14, 0x000213be}}, Y: Field{[10]uint32{0x0175d42a, 0x028bb72d, 0x001bb33c, 0x0116a9b8, 0x02b0dda6, 0x00e28b96, 0x02bcf2c6, 0x033a3087, 0x022ba5b4, 0x0032b8e6}}}, + {X: Field{[10]uint32{0x009037ad, 0x00544b7b, 0x02a62dd7, 0x034a9ccf, 0x01c8d89d, 0x03b58aa1, 0x007af5e0, 0x01ab1d99, 0x01a3326e, 0x000708ab}}, Y: Field{[10]uint32{0x02aab458, 0x00126045, 0x00b64493, 0x03726580, 0x00bc4142, 0x02e79bf5, 0x0246283c, 0x029abe67, 0x00c61562, 0x003d6966}}}, + {X: Field{[10]uint32{0x024aff1b, 0x01c7307e, 0x03f4e736, 0x012142ef, 0x03c00f1f, 0x02781054, 0x00dd35fe, 0x02af56aa, 0x024ff08e, 0x001ae472}}, Y: Field{[10]uint32{0x01b31852, 0x00943f84, 0x039778cb, 0x0069f761, 0x01b3c955, 0x00413d61, 0x0368c8b6, 0x03e6753e, 0x02da85ad, 0x0031b36a}}}, + {X: Field{[10]uint32{0x01f85bc2, 0x01e2573b, 0x0188e23f, 0x02d7a3dc, 0x00b99063, 0x020dcdb9, 0x03f03219, 0x00855d84, 0x01996d2e, 0x0015eed2}}, Y: Field{[10]uint32{0x0347cc3a, 0x036dd96a, 0x0150e94f, 0x0050156d, 0x02d0a1ad, 0x01cea0b6, 0x034b9b20, 0x02a43a49, 0x01c672ee, 0x0024ed1b}}}, + {X: Field{[10]uint32{0x0233ba6e, 0x03d49812, 0x001ccb40, 0x0289e2be, 0x00067c38, 0x018f7e3c, 0x016d9f24, 0x0159b841, 0x0327ebf7, 0x001d5e42}}, Y: Field{[10]uint32{0x009d2045, 0x0267172e, 0x02dac6be, 0x01c66b81, 0x003af8dc, 0x011bab75, 0x025decf3, 0x002976c1, 0x00a3d99b, 0x00328323}}}, + {X: Field{[10]uint32{0x0074ebe9, 0x02f2ed41, 0x00a08f32, 0x03d36e31, 0x028dd7b4, 0x00c01287, 0x032b6fde, 0x01642fdf, 0x01ada90b, 0x00329e9d}}, Y: Field{[10]uint32{0x03fc69e3, 0x037b5a60, 0x03a1efd3, 0x0166b372, 0x00512732, 0x003c7700, 0x00e8a08e, 0x01479efd, 0x019c5c93, 0x002cc9e3}}}, + {X: Field{[10]uint32{0x0390b2d1, 0x013d754b, 0x0365c07a, 0x016bcc61, 0x0147b65a, 0x014aecd9, 0x02a8d6ce, 0x018a50e4, 0x00b93bf4, 0x0029b71a}}, Y: Field{[10]uint32{0x010ad45b, 0x00970cf2, 0x024de8f9, 0x01220648, 0x0237f533, 0x024c7718, 0x033c76a0, 0x01558683, 0x0167fc57, 0x00106e9b}}}, + {X: Field{[10]uint32{0x03b6bba5, 0x036b87da, 0x01b56fe0, 0x0130fd49, 0x002fafed, 0x0030d844, 0x035a0252, 0x03242b1f, 0x01f3f8af, 0x0036884e}}, Y: Field{[10]uint32{0x036349db, 0x001819c6, 0x02c369ad, 0x00743d6e, 0x0271e92c, 0x03968e53, 0x0097522d, 0x03605b70, 0x0388fa9e, 0x00256b72}}}, + {X: Field{[10]uint32{0x013da4de, 0x023893d0, 0x002cdf5a, 0x01ec8fc4, 0x03215935, 0x02aea732, 0x034194bf, 0x00018eb2, 0x00752f0e, 0x0028cac9}}, Y: Field{[10]uint32{0x03e576cc, 0x034c587a, 0x013dbddf, 0x02e0d3c1, 0x03e09f8a, 0x030d40db, 0x0316ffd8, 0x009ff31d, 0x0143bd8b, 0x0015f7d0}}}, + {X: Field{[10]uint32{0x01e9bedc, 0x00e2532b, 0x01392b89, 0x03c8b248, 0x02741718, 0x008cf1ce, 0x0319d8ba, 0x013fcf1c, 0x011d3382, 0x002aba92}}, Y: Field{[10]uint32{0x001a63a7, 0x02d85513, 0x02f4eb24, 0x00cb57e3, 0x01a7ad0d, 0x016bb61b, 0x026a3a1a, 0x0371964e, 0x029184d8, 0x000323ec}}}, + {X: Field{[10]uint32{0x007f2c75, 0x0222b362, 0x015e7ed3, 0x0170ac0c, 0x01ccf75d, 0x01a3ed8e, 0x00f3eb3d, 0x0026f489, 0x00e27a84, 0x000a4d78}}, Y: Field{[10]uint32{0x0168aad4, 0x026a4e31, 0x001640c8, 0x00343f7f, 0x03977e90, 0x00603530, 0x03d00680, 0x02b90260, 0x002462c9, 0x000313fc}}}, + {X: Field{[10]uint32{0x030fe577, 0x0091339d, 0x0218163d, 0x02581419, 0x03fdebbd, 0x02fabfb2, 0x034259aa, 0x01c94d60, 0x00769e2e, 0x001ff2a0}}, Y: Field{[10]uint32{0x01bc3542, 0x0384f355, 0x02ed99a5, 0x02e9f6eb, 0x0369cfec, 0x03f453fe, 0x003b8f6f, 0x03b48b2b, 0x03abf04d, 0x0028f770}}}, + {X: Field{[10]uint32{0x028b483e, 0x02d06457, 0x002a96a7, 0x031c4c59, 0x00bc129e, 0x01ed144d, 0x01e665f5, 0x02929fe9, 0x01c601ca, 0x00316d7c}}, Y: Field{[10]uint32{0x00b538e4, 0x01efeee7, 0x012576d3, 0x019b6332, 0x0173dabb, 0x0098047a, 0x0358fd0c, 0x0263368f, 0x0016da50, 0x0009b2ce}}}, + {X: Field{[10]uint32{0x01a50d88, 0x03eda81e, 0x034f456b, 0x01d33ff6, 0x03d7d5b1, 0x01e400d6, 0x01ecf4bf, 0x019dc993, 0x0274df43, 0x00104368}}, Y: Field{[10]uint32{0x039a6abf, 0x034aefbb, 0x000f88e1, 0x00e56efc, 0x02254a19, 0x01065e7e, 0x002ef1e8, 0x02cd25b7, 0x0168188e, 0x001c7206}}}, + {X: Field{[10]uint32{0x0367769a, 0x01634173, 0x03387540, 0x02b142af, 0x036f7976, 0x00e89a06, 0x036c5a24, 0x032002ae, 0x00ca334d, 0x000f664a}}, Y: Field{[10]uint32{0x01d2beb7, 0x03d3a7e5, 0x0115b2e4, 0x02af137c, 0x0062bf01, 0x00282879, 0x0183cdd8, 0x009ed4f8, 0x01dc7661, 0x0033f300}}}, + {X: Field{[10]uint32{0x00040cec, 0x03d0db32, 0x009192e4, 0x0387ce7f, 0x02d858ea, 0x000028c8, 0x037ce312, 0x0392991d, 0x017bc523, 0x00196a3d}}, Y: Field{[10]uint32{0x01192432, 0x01ff7018, 0x01b323f0, 0x03f30815, 0x03c9df69, 0x008affd8, 0x03f7b0ea, 0x00dd16c7, 0x00b99e95, 0x002081a6}}}, + {X: Field{[10]uint32{0x0192fb79, 0x00f99a97, 0x021531ac, 0x00e4929c, 0x0055f4e5, 0x0189c969, 0x013ef5ca, 0x001b0bff, 0x03ccbaa6, 0x00213954}}, Y: Field{[10]uint32{0x00c5f8d2, 0x03f43ce7, 0x01d674dc, 0x01d4640b, 0x014c0b5f, 0x03004887, 0x01f77311, 0x025197f6, 0x03324aaa, 0x000d35ab}}}, + {X: Field{[10]uint32{0x00773783, 0x03059a80, 0x036ac5f8, 0x02d3de68, 0x00dda3d4, 0x03451b6a, 0x011578d5, 0x00489bce, 0x01582885, 0x000ed29d}}, Y: Field{[10]uint32{0x01a59e53, 0x0021306c, 0x007877d0, 0x02f1335f, 0x021a4249, 0x013534d6, 0x00b3cc14, 0x00f30bad, 0x02fc4de8, 0x0038df25}}}, + {X: Field{[10]uint32{0x00cee6b0, 0x01b67bd4, 0x01db8922, 0x01e1920b, 0x02743395, 0x01ff344b, 0x00898193, 0x013a37a9, 0x012c0616, 0x001b6ef4}}, Y: Field{[10]uint32{0x01e02b90, 0x005845ab, 0x02a70333, 0x03182000, 0x020eed3b, 0x0069a2b3, 0x0247c17e, 0x0345514b, 0x0349b3f5, 0x00227923}}}, + {X: Field{[10]uint32{0x03c441f6, 0x03edcaa5, 0x03e02f0b, 0x0275b307, 0x02f1118e, 0x03e12bdc, 0x020b7431, 0x019205d2, 0x00db3b92, 0x002d9060}}, Y: Field{[10]uint32{0x03b25fd2, 0x03c30b13, 0x004d99e1, 0x036fab1c, 0x0033cc19, 0x03256817, 0x03a4f0f8, 0x00205899, 0x019783d0, 0x002ce53e}}}, + {X: Field{[10]uint32{0x016b5c56, 0x003c0e88, 0x02115b26, 0x02fb91ac, 0x0137e96f, 0x02ed9fca, 0x037fc08e, 0x01df1b65, 0x038cf473, 0x00085cfc}}, Y: Field{[10]uint32{0x012e2abf, 0x008becc8, 0x0136f27e, 0x006939e7, 0x023bd1c6, 0x01afb3d5, 0x008c6df0, 0x029a13f6, 0x027803c4, 0x002f680a}}}, + {X: Field{[10]uint32{0x005c5214, 0x03899b7f, 0x0356a222, 0x029aa289, 0x02ea2b89, 0x033cd781, 0x00df0b48, 0x00bc3619, 0x00d3f373, 0x0027767b}}, Y: Field{[10]uint32{0x03e921fe, 0x035c4b85, 0x0106fa70, 0x0069437b, 0x01dcf00b, 0x01f6e52b, 0x019256a5, 0x0209083b, 0x03202ba6, 0x00390ba9}}}, + {X: Field{[10]uint32{0x03af71a9, 0x004873f9, 0x0136b02a, 0x00c98134, 0x029d3982, 0x03dca424, 0x0149526a, 0x02d8bb75, 0x03ed5ceb, 0x001c17e7}}, Y: Field{[10]uint32{0x010d30a8, 0x00b30a5d, 0x01d2c44d, 0x00028580, 0x002b32c1, 0x01e9e18f, 0x0269a4a5, 0x01cbac4b, 0x017daa44, 0x002ecb2c}}}, + {X: Field{[10]uint32{0x00ef4410, 0x02130acb, 0x031a217b, 0x028a3637, 0x033fbcda, 0x03f04978, 0x037fcd8c, 0x01a6f5fe, 0x00d18071, 0x003c6a42}}, Y: Field{[10]uint32{0x00911512, 0x02a91a2e, 0x02cc14e7, 0x03921e04, 0x02d792bb, 0x0214799e, 0x01cfa759, 0x01b15be0, 0x0008804c, 0x0003a1b3}}}, + {X: Field{[10]uint32{0x01355f57, 0x03370938, 0x00d5fd40, 0x00d1491f, 0x005625e4, 0x02148983, 0x012a4756, 0x00f2071d, 0x01793569, 0x0036c317}}, Y: Field{[10]uint32{0x0283daea, 0x030ba371, 0x02629fe8, 0x0354d533, 0x01d0de9b, 0x014e7af9, 0x0321f1e2, 0x034a54dd, 0x02a9fb00, 0x00048317}}}, + {X: Field{[10]uint32{0x02423ec6, 0x03b652f2, 0x00af59a2, 0x01c1ed4f, 0x02e979d4, 0x010476a1, 0x0158f683, 0x01fa486c, 0x01355600, 0x00179356}}, Y: Field{[10]uint32{0x0272d935, 0x01ddcf98, 0x026dcb94, 0x02824a1d, 0x01c309b5, 0x0339abbf, 0x0062fb37, 0x027b4c9e, 0x03001a0e, 0x001c5622}}}, + {X: Field{[10]uint32{0x03ec7f28, 0x00abd013, 0x02bcd487, 0x0019fb3e, 0x00a264d1, 0x00904059, 0x017fd112, 0x0397e23a, 0x02083c46, 0x00069e7b}}, Y: Field{[10]uint32{0x02349111, 0x03de8c8c, 0x02aacc4d, 0x03536501, 0x0254f94b, 0x0229723f, 0x016289f1, 0x01d54c0d, 0x03fc49bf, 0x003e4a36}}}, + {X: Field{[10]uint32{0x00ac5468, 0x028ebcdb, 0x0346e86c, 0x00492af7, 0x011c3a18, 0x00e8290d, 0x000a2d7f, 0x00311b2d, 0x008be3be, 0x0039a4fe}}, Y: Field{[10]uint32{0x01649cc4, 0x002529b7, 0x00efb78f, 0x0135994e, 0x03fb4f35, 0x022bb16b, 0x032db89d, 0x00a8aebb, 0x03bd24ab, 0x00157c2d}}}, + {X: Field{[10]uint32{0x029ca25e, 0x0315468c, 0x03e581bc, 0x015d7435, 0x0043bb61, 0x017a5b8a, 0x03b12d4f, 0x00f1dbdc, 0x00b1f3c7, 0x001b457a}}, Y: Field{[10]uint32{0x017f069d, 0x030d620b, 0x0365db74, 0x02f9b8ed, 0x01173f8c, 0x0067e296, 0x020d05e4, 0x01909cca, 0x02e18438, 0x003c87cf}}}, + {X: Field{[10]uint32{0x03ddb682, 0x02aab78e, 0x02dc48a5, 0x0393fd4d, 0x0220dd98, 0x01964f45, 0x0303f2cf, 0x012bd254, 0x0127b261, 0x00122e3c}}, Y: Field{[10]uint32{0x03546e3f, 0x0395fb0b, 0x02e99c7c, 0x0075a00e, 0x02a50d19, 0x0175e1b5, 0x027e23b5, 0x01f18944, 0x01baec13, 0x0023b46e}}}, + {X: Field{[10]uint32{0x02eb3028, 0x029f03d6, 0x023d4170, 0x02923fdf, 0x008c29fc, 0x028cb828, 0x0319f291, 0x01144251, 0x0231ee1e, 0x000bb0c9}}, Y: Field{[10]uint32{0x017aa945, 0x015e171a, 0x02c91610, 0x03e04faa, 0x02491572, 0x0341f426, 0x010ee359, 0x014db963, 0x019fe21b, 0x003ae187}}}, + {X: Field{[10]uint32{0x03afce3a, 0x02e3282b, 0x017b6776, 0x019ba861, 0x007ab72f, 0x01573251, 0x012c13fb, 0x0353517b, 0x02cb3b35, 0x003de583}}, Y: Field{[10]uint32{0x0010f08a, 0x0366b9e1, 0x00510cd6, 0x01fe3e1f, 0x03d8f7cf, 0x0280bba9, 0x0140334d, 0x01ad029c, 0x00f8d40f, 0x00240917}}}, + {X: Field{[10]uint32{0x02613ef2, 0x011c496e, 0x035af7a2, 0x02e31f72, 0x01139b29, 0x0163cea8, 0x0385780d, 0x03df9bbc, 0x003e4b22, 0x002a5333}}, Y: Field{[10]uint32{0x02845409, 0x03511768, 0x00c45e94, 0x032e33e9, 0x02782471, 0x02f1a99b, 0x01ba357c, 0x03e836a2, 0x00fadd6a, 0x003bdc14}}}, + {X: Field{[10]uint32{0x01485c38, 0x018bd53d, 0x0239956d, 0x03b45c21, 0x028c42b3, 0x0315bc09, 0x03d6f576, 0x03d0c034, 0x03f86d80, 0x0039229f}}, Y: Field{[10]uint32{0x029a6255, 0x03671697, 0x00231a7b, 0x00091ee6, 0x03e429b7, 0x01ffed0a, 0x01e3c65c, 0x01ec2c8a, 0x0229b499, 0x002c5a54}}}, + {X: Field{[10]uint32{0x0322d2ae, 0x027a6edf, 0x00d9eac7, 0x02efd922, 0x02cccb09, 0x00a98cf5, 0x025b422b, 0x0320eb36, 0x008c7d46, 0x0037e652}}, Y: Field{[10]uint32{0x0345fd4b, 0x01dd58bc, 0x038c3e04, 0x01176468, 0x03aaf83a, 0x02f4f1ca, 0x001a8785, 0x03d17114, 0x0280a958, 0x00225240}}}, + {X: Field{[10]uint32{0x0322fd84, 0x03bd06bb, 0x03770553, 0x00f8a6c9, 0x032bb4e4, 0x02e8d23b, 0x024368eb, 0x03e7d1bd, 0x02c04db9, 0x00285431}}, Y: Field{[10]uint32{0x01c5c201, 0x0193ca46, 0x01ccae1f, 0x01fad121, 0x00e7b539, 0x0038fb47, 0x0122ab02, 0x01683b0e, 0x0274e152, 0x001877ea}}}, + {X: Field{[10]uint32{0x03aa0edd, 0x02a9507c, 0x024e1204, 0x03ff615a, 0x00937392, 0x0326128a, 0x03aa167b, 0x031be475, 0x01fa452e, 0x0026df7b}}, Y: Field{[10]uint32{0x03d2c74a, 0x012a113f, 0x03e7910a, 0x002732b6, 0x03b4262c, 0x0326cc6a, 0x020ef6e7, 0x01a37af2, 0x01122f51, 0x0028dfd2}}}, + {X: Field{[10]uint32{0x00e51904, 0x03b4d60a, 0x01a23d38, 0x00f3e482, 0x02ad1aa8, 0x01e69641, 0x00f75c55, 0x03a9c6c8, 0x02516d0c, 0x0031f5de}}, Y: Field{[10]uint32{0x00a44bd6, 0x0393635d, 0x00e7f56d, 0x02232d7b, 0x0108e5a2, 0x026c36ba, 0x030a7a14, 0x00d980de, 0x007d9e1a, 0x000e669f}}}, + {X: Field{[10]uint32{0x02fe73fd, 0x009e52d0, 0x02e8d806, 0x03b2cee1, 0x02fc1d1d, 0x01cf6604, 0x026c2b0f, 0x0396e685, 0x00298e4d, 0x0034c4ea}}, Y: Field{[10]uint32{0x03708fe4, 0x02a20c07, 0x02a16fc9, 0x027182bd, 0x03b8514c, 0x02ef6d36, 0x03062c5d, 0x01b8bcd3, 0x023a7eb2, 0x00194911}}}, + {X: Field{[10]uint32{0x03211e5f, 0x0181ffa5, 0x038b9787, 0x00f1263c, 0x022e6c2a, 0x00f13c63, 0x0069b8e8, 0x031a4c19, 0x023b4d66, 0x0012efcd}}, Y: Field{[10]uint32{0x011c60c3, 0x01ba301f, 0x025629f2, 0x01670378, 0x0382bb0d, 0x00605dd0, 0x03b64061, 0x01cb1631, 0x024b2438, 0x002790b2}}}, + {X: Field{[10]uint32{0x021e9cf2, 0x0114d7e1, 0x0003e3f8, 0x00ddd19d, 0x01d471bd, 0x0199f3c6, 0x027ef1da, 0x033a1b52, 0x00ed23a0, 0x0000ef84}}, Y: Field{[10]uint32{0x0066d885, 0x02c10cd0, 0x00ead0a7, 0x02432e57, 0x00edfd20, 0x026ee7ea, 0x034748a4, 0x005f0194, 0x03780cb3, 0x002ee564}}}, + {X: Field{[10]uint32{0x01ca2076, 0x02736cd7, 0x01d96b16, 0x026032e9, 0x00946da1, 0x034a7bb1, 0x01074ec8, 0x0258f20a, 0x0080d723, 0x003f347e}}, Y: Field{[10]uint32{0x02a87b01, 0x024674ec, 0x013467c0, 0x02b896fb, 0x02d3b105, 0x03e97f21, 0x00ec2755, 0x018b8713, 0x00e3a313, 0x0025226f}}}, + {X: Field{[10]uint32{0x02b317c4, 0x03009c7e, 0x0217cf0e, 0x02a14b34, 0x01f39f42, 0x023a81a0, 0x027114cd, 0x00d98acb, 0x0358993d, 0x0002d7ec}}, Y: Field{[10]uint32{0x03a71b43, 0x02ceeefc, 0x0334a791, 0x0314537d, 0x0380a653, 0x02c12b09, 0x01bfa828, 0x00b2f3c3, 0x02b8ee62, 0x00227623}}}, + {X: Field{[10]uint32{0x03e274e7, 0x00920563, 0x037c9556, 0x01fd8139, 0x0330fc13, 0x00b32acf, 0x000f39bd, 0x0118291d, 0x02d17fca, 0x002a1aee}}, Y: Field{[10]uint32{0x030753fb, 0x02de8a40, 0x01a0bd03, 0x038498fd, 0x031394ed, 0x01258b01, 0x0294742e, 0x026b1e34, 0x0259ba96, 0x00309b70}}}, + {X: Field{[10]uint32{0x0330d29a, 0x02486004, 0x01467887, 0x025309f4, 0x019dd3fc, 0x024d744a, 0x034bc7ba, 0x02f259f8, 0x01f6348c, 0x0003b4c8}}, Y: Field{[10]uint32{0x03f7c3b5, 0x00349468, 0x021351be, 0x00085400, 0x00fc5ac4, 0x03c1ef72, 0x03b44d6c, 0x0177871d, 0x0360832b, 0x002d01e0}}}, + {X: Field{[10]uint32{0x02d17dea, 0x035c6506, 0x0097996e, 0x023dc07f, 0x022c425b, 0x03825312, 0x01e827ed, 0x02e4dbd5, 0x0275e4dd, 0x003205e4}}, Y: Field{[10]uint32{0x002553a7, 0x03fa6776, 0x02622e16, 0x018f14ac, 0x038ce5e9, 0x019921ab, 0x009b0b92, 0x034597ad, 0x005be241, 0x003667c7}}}, + {X: Field{[10]uint32{0x0284985b, 0x03435f77, 0x02512df1, 0x00b87647, 0x010eeaf8, 0x03e37f3f, 0x02743283, 0x02ce0d24, 0x013f23b9, 0x001bc23c}}, Y: Field{[10]uint32{0x00bd602e, 0x00ff8236, 0x03a76a4a, 0x00788b31, 0x010665d6, 0x000dc2b1, 0x0258ed05, 0x010ce9bb, 0x0029f99f, 0x0025adaa}}}, + {X: Field{[10]uint32{0x038f9d5a, 0x031f99e7, 0x015e4b35, 0x01b28461, 0x03e6ab5d, 0x03ab0f97, 0x01f8b609, 0x02753fbe, 0x03e3410f, 0x002510e9}}, Y: Field{[10]uint32{0x03eded57, 0x003e4d8e, 0x01b538fa, 0x03756847, 0x02ac9b2a, 0x001eaf08, 0x03c93e6d, 0x0230fcc6, 0x03b57818, 0x00363141}}}, + {X: Field{[10]uint32{0x033c502b, 0x01c0fd44, 0x013d2e37, 0x0120378a, 0x01d38c88, 0x01c015bb, 0x03afcfa5, 0x00da06b4, 0x00ca3ed5, 0x0010cbaa}}, Y: Field{[10]uint32{0x03edff71, 0x00ce26da, 0x00118faa, 0x0371909c, 0x010965dd, 0x009b1a98, 0x0266a498, 0x00aec023, 0x028b70b5, 0x00278648}}}, + {X: Field{[10]uint32{0x0182403b, 0x0240ff86, 0x032c130f, 0x03ab8adc, 0x005e22ff, 0x00f1ffb6, 0x02584a3d, 0x00bf6316, 0x009a42f8, 0x000745d6}}, Y: Field{[10]uint32{0x00c39ceb, 0x003d549e, 0x00e9454e, 0x017ef978, 0x03511e96, 0x0117c31a, 0x0164ed02, 0x03482099, 0x03b48f18, 0x0027def3}}}, + {X: Field{[10]uint32{0x018e6b2d, 0x00da87f8, 0x0098b554, 0x03fffdf0, 0x021ab8c6, 0x024104b3, 0x02778ea7, 0x0211bd97, 0x01b5cd84, 0x001d0ce6}}, Y: Field{[10]uint32{0x00b784bc, 0x03d26cb6, 0x03145fb1, 0x02739733, 0x01e84ff4, 0x0006dbf4, 0x0166d3fc, 0x006f9399, 0x001a8280, 0x00371b32}}}, + {X: Field{[10]uint32{0x0110b2a7, 0x0268369e, 0x0071fa27, 0x00cb817e, 0x025330d2, 0x02d7e490, 0x023e80e3, 0x0123058b, 0x01583b28, 0x00390de1}}, Y: Field{[10]uint32{0x01624b68, 0x036b3c15, 0x011f080c, 0x006f41db, 0x01d5e242, 0x005e6862, 0x013f99f8, 0x01e3901f, 0x0171aa49, 0x0030e6d0}}}, + {X: Field{[10]uint32{0x0318d63e, 0x0009acd9, 0x02a10664, 0x033bd7d0, 0x038f8a99, 0x00029918, 0x0355ac7d, 0x00e6a3c5, 0x00a31b16, 0x003bbdda}}, Y: Field{[10]uint32{0x0224a991, 0x01211cc7, 0x01ef5ee6, 0x02e22f8a, 0x01878efc, 0x03a5ec19, 0x030043af, 0x039a186b, 0x01f4cbf4, 0x000aa401}}}, + {X: Field{[10]uint32{0x03c91fe9, 0x0032a86f, 0x0129a180, 0x027ecb7a, 0x00fc2afa, 0x01807612, 0x00dce1bd, 0x0184b3d0, 0x02872504, 0x000576d1}}, Y: Field{[10]uint32{0x027eded8, 0x01c43313, 0x03515f17, 0x002e568b, 0x021e7236, 0x0242e0b2, 0x00678a9d, 0x02366941, 0x024e7d50, 0x002a2db9}}}, + {X: Field{[10]uint32{0x014a4191, 0x015eeb43, 0x022a0c77, 0x00fbf1e3, 0x01d2b330, 0x015a87f6, 0x028d2a04, 0x02a12e74, 0x02cf2529, 0x002b517e}}, Y: Field{[10]uint32{0x0254f069, 0x012a234d, 0x0125aa6b, 0x002583e6, 0x01bf8d81, 0x03ddf56b, 0x02f58678, 0x00c0d45b, 0x0171473f, 0x00069e39}}}, + {X: Field{[10]uint32{0x01151824, 0x02526d6e, 0x03d8958c, 0x01b57e92, 0x021c19b6, 0x0224aeb0, 0x0375050a, 0x01ed33ad, 0x03446e02, 0x0010680d}}, Y: Field{[10]uint32{0x01140317, 0x0150df65, 0x00e74bb4, 0x033590d7, 0x0027c53a, 0x00381ea1, 0x021cb2e6, 0x034e3e9c, 0x00ddfa96, 0x003b5f11}}}, + {X: Field{[10]uint32{0x03217ae0, 0x0047c749, 0x00740560, 0x035836b0, 0x015a70d5, 0x003c410f, 0x03645890, 0x031ffcb3, 0x006958f4, 0x0008082e}}, Y: Field{[10]uint32{0x01c4e9e0, 0x02e53df8, 0x02aa0490, 0x0184a754, 0x02b37f59, 0x0093ac71, 0x01946171, 0x03d0c686, 0x01e22757, 0x00044656}}}, + {X: Field{[10]uint32{0x02bd4ba1, 0x00e0ea7a, 0x00180283, 0x0155c400, 0x0299c5f7, 0x021685a7, 0x033bf27d, 0x01d2a543, 0x0146859f, 0x000be66a}}, Y: Field{[10]uint32{0x0389fc53, 0x0153dd37, 0x039fa128, 0x02753a35, 0x0236ecba, 0x03982164, 0x024ed246, 0x03aa891e, 0x0182d3ca, 0x000f9888}}}, + {X: Field{[10]uint32{0x02369baa, 0x03af7467, 0x03a3c177, 0x01d752a0, 0x010e7c56, 0x03889fca, 0x027688c2, 0x014e4005, 0x018957f6, 0x003773ce}}, Y: Field{[10]uint32{0x034b2431, 0x0077004b, 0x01b873da, 0x0233cac4, 0x01c3c342, 0x02437408, 0x01a3ceea, 0x020ce88e, 0x023f3fa6, 0x0029c031}}}, + {X: Field{[10]uint32{0x011ace4f, 0x03441086, 0x0117b73b, 0x02ab02de, 0x0392df1e, 0x024c6716, 0x022fa9e0, 0x008d8067, 0x03b80425, 0x002618e9}}, Y: Field{[10]uint32{0x003b69e6, 0x018d58b8, 0x02b6a3bf, 0x02b93c6c, 0x023a1fa7, 0x00928c3a, 0x0309f8c7, 0x02ac852f, 0x01a9281d, 0x00126926}}}, + {X: Field{[10]uint32{0x01733886, 0x02a3d637, 0x01d2e467, 0x03bcf1b5, 0x0219cb4d, 0x012e3a4b, 0x033734a6, 0x01645cd3, 0x01f9ea2c, 0x001b1519}}, Y: Field{[10]uint32{0x020e733c, 0x03f110c7, 0x03c8d3da, 0x017e8701, 0x03768f65, 0x00c66acf, 0x02a2616a, 0x03cd7456, 0x02bb179d, 0x00015f88}}}, + {X: Field{[10]uint32{0x00f3fcdd, 0x01e7c514, 0x03a530d9, 0x0153f9c0, 0x0025acb6, 0x02c281a4, 0x00ca387f, 0x00efac34, 0x0113360b, 0x002acdd5}}, Y: Field{[10]uint32{0x0041be4a, 0x01170bdb, 0x027c5464, 0x01d940fb, 0x0157f0f7, 0x030de9bb, 0x03842f43, 0x00b7966d, 0x0149309a, 0x000fa704}}}, + {X: Field{[10]uint32{0x002603d2, 0x00481e93, 0x03111482, 0x02a7a450, 0x00ff0878, 0x0016c8b4, 0x03aee379, 0x03bac2c8, 0x03ea4a72, 0x001ab2f8}}, Y: Field{[10]uint32{0x030d32b9, 0x032c6777, 0x025330ae, 0x00f39256, 0x02ac2ca2, 0x03279a01, 0x023dad76, 0x01365a85, 0x00be9f93, 0x0007b3bf}}}, + {X: Field{[10]uint32{0x02955d89, 0x03e573ce, 0x008c3653, 0x00141fc7, 0x03b4ddd1, 0x01d9b894, 0x00ac9f9c, 0x00310979, 0x014458fd, 0x001e5574}}, Y: Field{[10]uint32{0x0250aaca, 0x00d40925, 0x01245847, 0x00ec0349, 0x0340c672, 0x00e880a1, 0x02892255, 0x021fc252, 0x01f73043, 0x0023ea71}}}, + {X: Field{[10]uint32{0x01ace377, 0x0083360d, 0x0213228c, 0x02ff95e0, 0x02d488eb, 0x01ef4f68, 0x02b25a22, 0x010cfdc0, 0x010c0090, 0x002d65cb}}, Y: Field{[10]uint32{0x02b008fa, 0x035932d0, 0x03212cf3, 0x0211702f, 0x00e3e78f, 0x005d2cbf, 0x01ef70ed, 0x00f7949e, 0x00bf7fbc, 0x0008d51c}}}, + {X: Field{[10]uint32{0x00bcf886, 0x02d22f41, 0x038e4d9c, 0x01f91257, 0x02cc500d, 0x00f31e7c, 0x004f3bc5, 0x03e9a288, 0x001033a5, 0x002899aa}}, Y: Field{[10]uint32{0x015949f8, 0x022def7d, 0x011ecb56, 0x00916c2e, 0x03d52b78, 0x011bcf8d, 0x00390e6a, 0x0056dd99, 0x01a1958d, 0x000c6a2c}}}, + {X: Field{[10]uint32{0x00b9cc15, 0x03908751, 0x03123451, 0x00fdf783, 0x01ae7f4f, 0x03a7df08, 0x03bf47e1, 0x006d8d6e, 0x02ec2119, 0x00071904}}, Y: Field{[10]uint32{0x002c685a, 0x0188a131, 0x0169d82a, 0x006c8bfe, 0x016e7fec, 0x000958c2, 0x0173851d, 0x0313cfd6, 0x022c1111, 0x0020cfe2}}}, + {X: Field{[10]uint32{0x020b7fda, 0x018841cf, 0x01f68a74, 0x01f17989, 0x03817267, 0x03b813fc, 0x019ccbef, 0x016d5e70, 0x02ab1757, 0x003b8d4c}}, Y: Field{[10]uint32{0x027e8718, 0x03d1441b, 0x00f53a9a, 0x02d24acb, 0x0304b704, 0x03123b9a, 0x01ff04dc, 0x0261ee0f, 0x00c8b2fd, 0x003c4b84}}}, + {X: Field{[10]uint32{0x021a3838, 0x011367fb, 0x0115e379, 0x012c0259, 0x0152ef9a, 0x01fd6d2f, 0x012765af, 0x01e4dcbb, 0x03be0486, 0x0017b443}}, Y: Field{[10]uint32{0x00080573, 0x03218ced, 0x028af2a8, 0x01ed7ef1, 0x02a4bffd, 0x00977399, 0x00ac6410, 0x00e493b6, 0x01b49fbe, 0x002313ae}}}, + {X: Field{[10]uint32{0x001378d2, 0x00754d74, 0x0152a15a, 0x0165c208, 0x01b8f6b8, 0x01cd0838, 0x03e7345f, 0x0217b5a7, 0x0221f04c, 0x003f8d22}}, Y: Field{[10]uint32{0x001f2b7b, 0x0273f482, 0x019117fa, 0x00f5f67e, 0x03506947, 0x038e3908, 0x02abd103, 0x02afd173, 0x0046c9f5, 0x00356575}}}, + {X: Field{[10]uint32{0x032436e9, 0x0221d17e, 0x0223dbda, 0x02730245, 0x03b57367, 0x016e8e5c, 0x021e1c0b, 0x012e8021, 0x0369b7b6, 0x0001c500}}, Y: Field{[10]uint32{0x03a12b2d, 0x01da9520, 0x010ad1f3, 0x01881cb1, 0x0240dfa3, 0x003199cb, 0x003bc213, 0x02581ca3, 0x0350f979, 0x003c1dc0}}}, + {X: Field{[10]uint32{0x01dad15d, 0x020855e6, 0x01bd40aa, 0x036ea0e0, 0x020a7465, 0x0048c025, 0x02c6b88b, 0x0078eb9f, 0x00e48e98, 0x001b4531}}, Y: Field{[10]uint32{0x03e0f841, 0x016c1439, 0x0299a50e, 0x023ed6fa, 0x01f9c6de, 0x02d62cb5, 0x02635f6d, 0x0344aa93, 0x02aaa5f2, 0x00097934}}}, + {X: Field{[10]uint32{0x024383da, 0x036c2bc6, 0x0228daea, 0x01c416ed, 0x004dffe0, 0x015413a2, 0x020558e5, 0x01f5f8d8, 0x01c6a683, 0x001e4c6e}}, Y: Field{[10]uint32{0x03e80c0b, 0x033fb7be, 0x002ff9d5, 0x0012108b, 0x0196b7a9, 0x03cef4e3, 0x0112128b, 0x00971b77, 0x02733209, 0x00161b2a}}}, + {X: Field{[10]uint32{0x01cec834, 0x03342f79, 0x03d95b0e, 0x01149eaa, 0x0088dca1, 0x005462e2, 0x00e1f32a, 0x00f50d74, 0x016a35b8, 0x000527a7}}, Y: Field{[10]uint32{0x025606f5, 0x01d316b3, 0x02e1fcbc, 0x03300641, 0x00f87b11, 0x03404bed, 0x01d49b38, 0x033197a4, 0x02a0fd84, 0x0011601e}}}, + {X: Field{[10]uint32{0x01297394, 0x026f49c3, 0x03ff7b80, 0x025b0a12, 0x001bf6e6, 0x01e52404, 0x02f2b59d, 0x0146a088, 0x036eb4b3, 0x00195ac9}}, Y: Field{[10]uint32{0x03763291, 0x01cca05e, 0x025d9b64, 0x034feaa3, 0x03905eb6, 0x0038d624, 0x00ebfa9a, 0x010e8a4a, 0x03095f86, 0x0021d1bc}}}, + {X: Field{[10]uint32{0x031eb02e, 0x012d8283, 0x000a6988, 0x00814e62, 0x033656a7, 0x01e14b87, 0x022370ff, 0x01a627b9, 0x01e36808, 0x00183ce6}}, Y: Field{[10]uint32{0x0044ad59, 0x02cadbf5, 0x0267d4f1, 0x03f937bc, 0x039e5976, 0x0082dde7, 0x0251676d, 0x02f85214, 0x005a8347, 0x00157728}}}, + {X: Field{[10]uint32{0x006eaa13, 0x036f9062, 0x00e0d4ca, 0x016a4063, 0x01034a30, 0x013e6f70, 0x006f4175, 0x02907029, 0x03030a67, 0x00136f68}}, Y: Field{[10]uint32{0x03a48fc4, 0x01616e0f, 0x03970c22, 0x025748f5, 0x01909a3b, 0x010cedd1, 0x01f9fe64, 0x00d16359, 0x0086fec3, 0x003818b3}}}, + {X: Field{[10]uint32{0x010363d1, 0x03ca8037, 0x03111d07, 0x0313d256, 0x03f8c8b1, 0x0360671a, 0x03c10c8f, 0x01336569, 0x01ca04d6, 0x00205ab8}}, Y: Field{[10]uint32{0x02526009, 0x03470619, 0x0366b2df, 0x03c83524, 0x03b12187, 0x03a744ee, 0x02a55208, 0x035bf55b, 0x03ffc331, 0x003027da}}}, + {X: Field{[10]uint32{0x0081b52b, 0x00636be0, 0x020a000f, 0x011305b5, 0x01872029, 0x0178a22b, 0x032b8fae, 0x03829f0e, 0x039c983f, 0x001160e7}}, Y: Field{[10]uint32{0x01dd8649, 0x02169a99, 0x004db2a7, 0x01af3684, 0x01aff40c, 0x0020d6be, 0x01f7beb3, 0x013ad020, 0x02074de7, 0x003e4da3}}}, + {X: Field{[10]uint32{0x00223465, 0x016dba35, 0x00d5063c, 0x01f6c8ef, 0x0244b715, 0x0309153c, 0x004c482e, 0x0080ec78, 0x02483a49, 0x00142b92}}, Y: Field{[10]uint32{0x015f3008, 0x02e8df9f, 0x0065836d, 0x00a170d9, 0x010a6190, 0x0160ef69, 0x032031ec, 0x00b87d97, 0x03d7e7bd, 0x00386e33}}}, + {X: Field{[10]uint32{0x016b72d6, 0x010657d8, 0x039dba69, 0x012fb49b, 0x03c5d8bb, 0x0086b39d, 0x02dde15b, 0x01422467, 0x02316039, 0x0037ddec}}, Y: Field{[10]uint32{0x034344a4, 0x03254022, 0x0303717d, 0x0032ccfc, 0x00c99e27, 0x019cd997, 0x00cff822, 0x02fef2e2, 0x01b89ece, 0x002292dd}}}, + {X: Field{[10]uint32{0x0233277d, 0x02c2e3bc, 0x01345437, 0x02358ecb, 0x016d2d23, 0x0009d01d, 0x00419d67, 0x00bc62dd, 0x0219978e, 0x003b1b03}}, Y: Field{[10]uint32{0x0236e553, 0x018fc2c9, 0x02d8a4a3, 0x01a05cf3, 0x0296bd39, 0x016ff931, 0x0171dc13, 0x03133189, 0x039a02df, 0x003e436a}}}, + {X: Field{[10]uint32{0x017b3329, 0x00640458, 0x03e4ba46, 0x0215214a, 0x005af2a8, 0x029c8886, 0x014eacb1, 0x03f39a9b, 0x016f90e7, 0x000a1d10}}, Y: Field{[10]uint32{0x02eb4466, 0x0374997a, 0x0282d448, 0x01256d36, 0x03b8628e, 0x0244ab5f, 0x024c9af7, 0x0359222e, 0x0275f6ce, 0x0007cc8d}}}, + {X: Field{[10]uint32{0x00ff4247, 0x02b3cfdc, 0x01d2be7d, 0x032e25f2, 0x02529de5, 0x00edb74f, 0x0087f3e8, 0x00ea03e3, 0x03ec586d, 0x0021c8d9}}, Y: Field{[10]uint32{0x02a3ac05, 0x01a144a9, 0x02eeceef, 0x032792d8, 0x017dc571, 0x0109f802, 0x00768b5e, 0x0210ede2, 0x00e0fae0, 0x00396ed8}}}, + {X: Field{[10]uint32{0x024713cc, 0x02368f90, 0x01f4891b, 0x02c84efc, 0x004339a0, 0x00312bcd, 0x0030ce94, 0x03f4c2b9, 0x00040baf, 0x003043c8}}, Y: Field{[10]uint32{0x0231c7ee, 0x00dfef61, 0x02e59c35, 0x01e58d0f, 0x03bf6dbf, 0x00fe0bb7, 0x006d456b, 0x026cdb15, 0x0055f0c3, 0x000defa4}}}, + {X: Field{[10]uint32{0x00d847c5, 0x01b7651c, 0x0059da35, 0x02cee4ef, 0x00733b8b, 0x00cd4fa0, 0x01f0f150, 0x00c015af, 0x02e191c8, 0x0005384b}}, Y: Field{[10]uint32{0x03efcfb2, 0x01438ea6, 0x020dab15, 0x00c80634, 0x01d487f0, 0x019b5c91, 0x0332ba7c, 0x005e044a, 0x038ee00c, 0x003a5c1e}}}, + {X: Field{[10]uint32{0x009fdf36, 0x01e08f12, 0x003057b5, 0x02d2ba01, 0x003687ea, 0x02b414f9, 0x00dd89f6, 0x00de774b, 0x021e2583, 0x0036b0ee}}, Y: Field{[10]uint32{0x03e2c041, 0x011d171b, 0x03fa4761, 0x010bf4de, 0x02d13a69, 0x00b47b13, 0x0020ab1c, 0x00546557, 0x024d8821, 0x001178f6}}}, + {X: Field{[10]uint32{0x03800bf4, 0x01373faf, 0x00b09264, 0x02eff74b, 0x00a2507d, 0x000e968b, 0x039fad0b, 0x021abba1, 0x027a05c0, 0x00366ff1}}, Y: Field{[10]uint32{0x02be6730, 0x00518d00, 0x02ca42fc, 0x023ac8f9, 0x02e5bb4e, 0x024d243d, 0x036c8b1e, 0x03d6f454, 0x014b5a39, 0x00380577}}}, + {X: Field{[10]uint32{0x0196c61e, 0x01861cde, 0x00b34007, 0x00704bdb, 0x028a9a98, 0x03659660, 0x00d7e581, 0x03283c5c, 0x00522f04, 0x00379bcd}}, Y: Field{[10]uint32{0x032a0cc7, 0x00153bbd, 0x00e3b826, 0x0053fc09, 0x012fc6d8, 0x00d3857c, 0x039c251f, 0x013ea50e, 0x033b28d7, 0x0007b05b}}}, + {X: Field{[10]uint32{0x00e30eaf, 0x02fe0a28, 0x00d93f54, 0x00e93ea3, 0x02b35c87, 0x00d94a0f, 0x00a15ef2, 0x005eba21, 0x0355338e, 0x0010caac}}, Y: Field{[10]uint32{0x01447807, 0x00f73fe5, 0x02b9e870, 0x0029f61a, 0x01caa9af, 0x00830429, 0x023e0767, 0x0036fc22, 0x02a10a13, 0x003d5819}}}, + {X: Field{[10]uint32{0x037c4d99, 0x0102359f, 0x02afa35a, 0x0036d6fa, 0x008d9699, 0x02550c75, 0x010f546d, 0x009f0e8d, 0x0107cfa1, 0x000f4b8d}}, Y: Field{[10]uint32{0x035f74f2, 0x015564e8, 0x02ac51b2, 0x0020aef4, 0x017f4a05, 0x003e288d, 0x01655cab, 0x030dcc51, 0x005f4711, 0x00369822}}}, + {X: Field{[10]uint32{0x00ba87ef, 0x01b94609, 0x0183f457, 0x03180646, 0x03f781c7, 0x017cedc6, 0x0029d0a5, 0x0352f8df, 0x031cb96d, 0x001fcfd0}}, Y: Field{[10]uint32{0x00b8bfec, 0x032009d8, 0x021c1695, 0x03093a45, 0x02cfdb08, 0x01c5dee5, 0x00259f6f, 0x034930ae, 0x03457649, 0x003d37d0}}}, + {X: Field{[10]uint32{0x03687143, 0x00129fcb, 0x017163d6, 0x0357c4a3, 0x026f7b67, 0x015639ab, 0x036cdd8b, 0x01c00112, 0x0359f2c8, 0x00109c2f}}, Y: Field{[10]uint32{0x01a99315, 0x023aaf53, 0x0174e0d0, 0x0037b494, 0x006c4a18, 0x01689549, 0x025da0a1, 0x03e465a1, 0x00ef2e8f, 0x00000d63}}}, + {X: Field{[10]uint32{0x03603852, 0x0256e31f, 0x02ebd46f, 0x02ac3af8, 0x01b7931c, 0x0147194e, 0x013af50d, 0x03f27104, 0x022b9930, 0x003198dc}}, Y: Field{[10]uint32{0x025ecfab, 0x01c237a4, 0x0313f719, 0x0231e3e3, 0x020b9476, 0x00f292cc, 0x0132a310, 0x008f63ad, 0x03b32cdf, 0x000d10f9}}}, + {X: Field{[10]uint32{0x006c4e14, 0x023c58b2, 0x0214f21f, 0x03ce56b9, 0x010168e8, 0x019b95fe, 0x03d7b65c, 0x03fc0b3a, 0x0064e396, 0x002c0052}}, Y: Field{[10]uint32{0x002eb876, 0x02f92e86, 0x0272cb7d, 0x027a8381, 0x004a80b6, 0x02d4048c, 0x025007da, 0x02537bb9, 0x01d7e2ec, 0x000fdb26}}}, + {X: Field{[10]uint32{0x0284f41a, 0x00310436, 0x03b2e125, 0x03d34919, 0x03c2d735, 0x032e0b90, 0x03329f0c, 0x02768d74, 0x019398fe, 0x00193273}}, Y: Field{[10]uint32{0x024372e9, 0x02544555, 0x0105ec8d, 0x01e3fd42, 0x01c223ef, 0x033b7c12, 0x0206fc6d, 0x0180cf44, 0x00ab71bf, 0x003492d4}}}, + {X: Field{[10]uint32{0x0129b766, 0x03f676f3, 0x02736ab4, 0x03533cc9, 0x00ecccfa, 0x009f6e58, 0x0359706b, 0x0161893d, 0x001d51e0, 0x003ff821}}, Y: Field{[10]uint32{0x01cf2562, 0x001d245e, 0x00a0177c, 0x0244c2cd, 0x03eb5d83, 0x01360193, 0x02c15952, 0x01b0413f, 0x01c9f695, 0x001af47c}}}, + {X: Field{[10]uint32{0x03ca7432, 0x034fe6dd, 0x020fa47f, 0x01873c3c, 0x034b4518, 0x03103479, 0x0138d630, 0x03165eeb, 0x00c0c053, 0x00034774}}, Y: Field{[10]uint32{0x0055976f, 0x0288ef5b, 0x0103280b, 0x02b77a4a, 0x035c9dc5, 0x02aabd9a, 0x03b5628d, 0x0257c0f9, 0x03fdb594, 0x000d2aa5}}}, + {X: Field{[10]uint32{0x028e5779, 0x03b2916b, 0x01d8df99, 0x00106c61, 0x019153f7, 0x03e65bc7, 0x0249cd3a, 0x035fde8f, 0x02e8c76b, 0x0021e90d}}, Y: Field{[10]uint32{0x011006f3, 0x02f9e5fc, 0x02027b6d, 0x03fdaa26, 0x00369ea4, 0x0287f0db, 0x0105d5b2, 0x00e113fe, 0x03f91255, 0x00234b3c}}}, + {X: Field{[10]uint32{0x0327c379, 0x03a7b2f7, 0x016e4b59, 0x0037354e, 0x00180107, 0x023f58bb, 0x00f707da, 0x031100e1, 0x00a74899, 0x00295140}}, Y: Field{[10]uint32{0x03cb2668, 0x00d15c8c, 0x02cae2f3, 0x00fc4768, 0x005315df, 0x00b249fe, 0x035b5e57, 0x02ec1817, 0x004a6d26, 0x00388591}}}, + {X: Field{[10]uint32{0x03d8187b, 0x02f54695, 0x00a9c88f, 0x01c821a4, 0x0328417b, 0x012358c8, 0x01aea85b, 0x0067d3e9, 0x00f799a3, 0x0024dfa9}}, Y: Field{[10]uint32{0x03dc9d9d, 0x03215533, 0x027bbb24, 0x036a9f4f, 0x00fce77b, 0x00510e2b, 0x01ce4afd, 0x02bb22df, 0x03fc9eb4, 0x000a4c69}}}, + {X: Field{[10]uint32{0x03fa6f36, 0x02c1766d, 0x03f07a1e, 0x018e3525, 0x02c70608, 0x02c13fc9, 0x00dbc96c, 0x012a8c81, 0x0076bb91, 0x00141e4f}}, Y: Field{[10]uint32{0x00bdab21, 0x00ff59c1, 0x03fbdeb1, 0x000daec7, 0x03d963b6, 0x0077a7bc, 0x00940df4, 0x001d8ada, 0x0078b5e3, 0x002beabf}}}, + {X: Field{[10]uint32{0x02d8bb5a, 0x025d9bc1, 0x01bf13a2, 0x02098755, 0x01f8da52, 0x02ff86b5, 0x011c5709, 0x03959373, 0x0230fada, 0x0022d801}}, Y: Field{[10]uint32{0x032916c0, 0x0108481a, 0x01f4dc11, 0x026e7080, 0x01788538, 0x0164dd30, 0x005a7c38, 0x010e6bb1, 0x024a3bd0, 0x003efc6d}}}, + {X: Field{[10]uint32{0x038c8458, 0x03cf40b9, 0x027bd635, 0x010c8ac5, 0x021fc616, 0x03ff062e, 0x03c96500, 0x0057b68d, 0x03dde32a, 0x00053a22}}, Y: Field{[10]uint32{0x036f02c9, 0x007bfa65, 0x009d735b, 0x004dd809, 0x035cc2cd, 0x01d6bf82, 0x02355be4, 0x003ea97e, 0x02c3dc24, 0x00020b07}}}, + {X: Field{[10]uint32{0x011c6c06, 0x00bf3d26, 0x00a30a91, 0x024bbf1c, 0x01975a3d, 0x031e2c72, 0x013dc028, 0x0211cb51, 0x00a324b6, 0x00308079}}, Y: Field{[10]uint32{0x00e2dc08, 0x01a7a73c, 0x00cee624, 0x02334e37, 0x02a82f5f, 0x031e1a84, 0x03f3e503, 0x039b423a, 0x015441d6, 0x000098ea}}}, + {X: Field{[10]uint32{0x019db4fb, 0x03443b82, 0x035a70c5, 0x00b9846c, 0x01409418, 0x0060a337, 0x0061b1e1, 0x022cfdc6, 0x025d319a, 0x001025d9}}, Y: Field{[10]uint32{0x027a506a, 0x02dc3540, 0x027a85dc, 0x0255415c, 0x03322a6b, 0x01bffb80, 0x02cd1ef5, 0x00ac7d5d, 0x00ebb1aa, 0x0032835f}}}, + {X: Field{[10]uint32{0x0027fa92, 0x03aad26d, 0x037a445d, 0x007cde94, 0x01371334, 0x02f814b6, 0x02021a04, 0x00a4fb74, 0x007aeff9, 0x0005cf4a}}, Y: Field{[10]uint32{0x02432548, 0x02691b05, 0x00e541fb, 0x00b34fe7, 0x0172e530, 0x015c9519, 0x03c37b58, 0x00621b09, 0x0204f03a, 0x002589b8}}}, + {X: Field{[10]uint32{0x014d4256, 0x0086911a, 0x039e78f1, 0x031a3c7c, 0x01227fb8, 0x0098a6fb, 0x014b03c9, 0x00453cc3, 0x034d001b, 0x003248f1}}, Y: Field{[10]uint32{0x035b3d29, 0x004d1016, 0x002731f4, 0x000f62b5, 0x00c9f918, 0x03c089e2, 0x00d1e08e, 0x004e0842, 0x026bdd5e, 0x00163b6f}}}, + {X: Field{[10]uint32{0x00b92d46, 0x0312adc3, 0x01a57c88, 0x02f9b2e4, 0x0393e5a8, 0x025b3cc7, 0x03104c51, 0x0170b4f7, 0x0106b1f2, 0x0024be9e}}, Y: Field{[10]uint32{0x0087f307, 0x0185d472, 0x0024079a, 0x017b3962, 0x00ae99a7, 0x02f34367, 0x0374db62, 0x007f07a3, 0x02bd7934, 0x00284858}}}, + {X: Field{[10]uint32{0x00639140, 0x02a8f102, 0x0294c691, 0x024412ba, 0x00976a9c, 0x034c3577, 0x008e17ee, 0x01e30aa7, 0x01f6f51f, 0x000dd1df}}, Y: Field{[10]uint32{0x00089872, 0x0357f0aa, 0x037305c2, 0x019bd419, 0x0325c3da, 0x0142c114, 0x006e15de, 0x0195b193, 0x02ed1955, 0x001a9a89}}}, + {X: Field{[10]uint32{0x010521bf, 0x03682637, 0x0359667a, 0x0090db17, 0x00be9bc7, 0x02fc03ec, 0x034e78ca, 0x03ce37e0, 0x02591195, 0x002d6cbb}}, Y: Field{[10]uint32{0x01ddd5e4, 0x01c1b885, 0x03e44314, 0x02c03f63, 0x00cc8bae, 0x0146afa4, 0x01d276d9, 0x00c0211b, 0x03859523, 0x00043cdb}}}, + {X: Field{[10]uint32{0x02a137bb, 0x0116c0f4, 0x03630948, 0x00d5dbb2, 0x02560393, 0x034c1fbc, 0x02415e90, 0x006ff8da, 0x01b8443f, 0x0002c174}}, Y: Field{[10]uint32{0x01066cbc, 0x01fc189f, 0x02f6465f, 0x01200f87, 0x0054098f, 0x03c358fe, 0x002a4156, 0x002cb0c4, 0x024bddc9, 0x00267fb3}}}, + {X: Field{[10]uint32{0x01d918fd, 0x01aba281, 0x03179de7, 0x0219b342, 0x03d69dcd, 0x025496d6, 0x03d703ae, 0x02cef73b, 0x01bd4778, 0x003975c4}}, Y: Field{[10]uint32{0x01b64248, 0x0070d71b, 0x01327542, 0x0092bce2, 0x009685d5, 0x03fbd5a4, 0x0088e218, 0x016ca683, 0x00ae5aa0, 0x0022bc05}}}, + {X: Field{[10]uint32{0x02fa4f30, 0x007de1a1, 0x03eb9f4f, 0x00471092, 0x001e217d, 0x0344de66, 0x031c6fc4, 0x0120beff, 0x02b8377a, 0x001dc0f2}}, Y: Field{[10]uint32{0x0084e8b3, 0x000d5c7a, 0x03f0a8e9, 0x03b5082b, 0x008dd329, 0x015a324b, 0x02247fd5, 0x02e36f1f, 0x01d13c80, 0x000cc8fb}}}, + {X: Field{[10]uint32{0x014f3cc8, 0x017d8985, 0x03085540, 0x00b3052c, 0x032c87da, 0x00a910d5, 0x02cf7225, 0x02d220d9, 0x0329c18b, 0x003e0d2b}}, Y: Field{[10]uint32{0x015ab248, 0x0007fb6f, 0x015c2820, 0x0311c5d8, 0x026bd8f7, 0x03f56f31, 0x027dc094, 0x01068a78, 0x02c0ca54, 0x000ba282}}}, + {X: Field{[10]uint32{0x03bbaee0, 0x01d0cd92, 0x03a794c7, 0x01f40740, 0x0213bbcd, 0x007614ab, 0x038ee845, 0x00f18076, 0x013d13f3, 0x001e0ec2}}, Y: Field{[10]uint32{0x00ae5b4b, 0x0326e09d, 0x001ab66e, 0x031c105c, 0x036b5fb1, 0x03b0b3be, 0x00dbfb20, 0x01aaffe8, 0x0301cfde, 0x000eaa42}}}, + {X: Field{[10]uint32{0x001c3391, 0x00b69678, 0x022666f9, 0x02087062, 0x033ae42e, 0x023bcb1d, 0x00a243b4, 0x002e6405, 0x0035a777, 0x002f8f31}}, Y: Field{[10]uint32{0x00e4a701, 0x02a49d97, 0x01c51e6a, 0x00149775, 0x00a560f7, 0x0187af16, 0x01fc64de, 0x02316056, 0x01360911, 0x003c34ef}}}, + {X: Field{[10]uint32{0x003b606d, 0x0024a15e, 0x02a08fc9, 0x001a115d, 0x0197f89e, 0x03fb86b8, 0x03624545, 0x0003bbf8, 0x03d7adac, 0x000fa602}}, Y: Field{[10]uint32{0x01c5c228, 0x00ccffba, 0x0088a34d, 0x00c14ff5, 0x0367455e, 0x03824451, 0x00734347, 0x0251b1d1, 0x0241204c, 0x003193c3}}}, + {X: Field{[10]uint32{0x0182b442, 0x02f3ecb5, 0x027c335b, 0x01517757, 0x0291d7b1, 0x025e435c, 0x0159bf12, 0x0079a8d2, 0x0140aa62, 0x0029ac10}}, Y: Field{[10]uint32{0x03cce830, 0x00705a6a, 0x0137f804, 0x0363b90b, 0x03a997f8, 0x010abdb9, 0x021d1515, 0x01765d79, 0x01e29cc0, 0x00272cb2}}}, + {X: Field{[10]uint32{0x03fa721b, 0x02038a91, 0x002e51f2, 0x00b4888e, 0x0229ba43, 0x00a6cb0e, 0x009a6a1b, 0x032e3e84, 0x003fc133, 0x001fa9ea}}, Y: Field{[10]uint32{0x0299d7e8, 0x01f763a9, 0x031b45bb, 0x01d78e15, 0x026aabab, 0x03450c29, 0x01c5562a, 0x01dcc60c, 0x00e88a1f, 0x0032f8e1}}}, + {X: Field{[10]uint32{0x010fa042, 0x00ab2982, 0x026c8d84, 0x03b851aa, 0x008189f9, 0x0052e9b5, 0x002b5fca, 0x027af8be, 0x007ef0fc, 0x0021497a}}, Y: Field{[10]uint32{0x0332c86f, 0x01c39d5a, 0x022a686c, 0x0391f7f8, 0x00192873, 0x028d295c, 0x02a393f2, 0x028f3c60, 0x0278f311, 0x00373c1a}}}, + {X: Field{[10]uint32{0x03d56dce, 0x029ed06e, 0x00fc0952, 0x03cdb341, 0x0316daff, 0x0197fa59, 0x0129c337, 0x0034327b, 0x037dfa05, 0x001d5569}}, Y: Field{[10]uint32{0x03152177, 0x035bc7c5, 0x019cfd0b, 0x024a0c1a, 0x0118dc03, 0x002bcc44, 0x03d0a3cd, 0x03707f62, 0x00a7bdc3, 0x00261530}}}, + {X: Field{[10]uint32{0x02ac296b, 0x03b85f66, 0x02f710be, 0x02eefb98, 0x00972bb3, 0x00cf8031, 0x026f0261, 0x036b0453, 0x02a07a0a, 0x0027b450}}, Y: Field{[10]uint32{0x037a9d08, 0x0142880a, 0x03f6a391, 0x02144709, 0x009f4dca, 0x01a66bd4, 0x00d4006f, 0x038ee349, 0x02416c80, 0x00307aba}}}, + {X: Field{[10]uint32{0x03c56b79, 0x00ec6a37, 0x029d5fb1, 0x0310b805, 0x00c9d761, 0x00463f60, 0x02aa67c8, 0x02333424, 0x00b3784d, 0x0028ff4b}}, Y: Field{[10]uint32{0x007ea755, 0x02ff56fe, 0x01f6d659, 0x03c9e827, 0x02b0d13d, 0x03243562, 0x00fcdd48, 0x0157cb54, 0x034155db, 0x001d7366}}}, + {X: Field{[10]uint32{0x005ad251, 0x014880d8, 0x0142fc99, 0x038a2edb, 0x01554338, 0x02703884, 0x01ad598b, 0x01fba1e6, 0x0205217e, 0x000aad2f}}, Y: Field{[10]uint32{0x0076d853, 0x03d78c55, 0x01dc7bd8, 0x0320f231, 0x03b788af, 0x00f8791e, 0x008c8eb8, 0x01b529ff, 0x0258da06, 0x000b0a86}}}, + {X: Field{[10]uint32{0x0248c383, 0x02959ee1, 0x033592ce, 0x002767e3, 0x0308c95d, 0x019bb33a, 0x02268af5, 0x006ababd, 0x0088af8c, 0x0012bf0a}}, Y: Field{[10]uint32{0x004f5eed, 0x0164cdaa, 0x0005458b, 0x012f8778, 0x03cf3f28, 0x03a671fa, 0x01025797, 0x03a4ba62, 0x03825e69, 0x002c789a}}}, + {X: Field{[10]uint32{0x018e3d4a, 0x00086d4b, 0x0188b548, 0x03236bf6, 0x02f63f5f, 0x02b070ac, 0x0038600a, 0x0274b920, 0x03aa9231, 0x00376003}}, Y: Field{[10]uint32{0x0039ed7d, 0x006a5dc4, 0x0260ce8e, 0x024853fb, 0x028fdbc1, 0x006206f1, 0x02522ac9, 0x01a35d83, 0x00926e04, 0x00167fa0}}}, + {X: Field{[10]uint32{0x02378c91, 0x029d3cf1, 0x017e2af5, 0x0209b7e7, 0x0007bb51, 0x02bec1fe, 0x039bc886, 0x0297e226, 0x03d1daa3, 0x00212abc}}, Y: Field{[10]uint32{0x0035afbb, 0x030a920e, 0x030e8011, 0x021add13, 0x03a04fd5, 0x0333825a, 0x0331218e, 0x0375be98, 0x02b845ea, 0x003d0592}}}, + {X: Field{[10]uint32{0x03c40b2b, 0x02b4ea09, 0x02fcc8ad, 0x0202e233, 0x00d2ffc1, 0x037feda4, 0x02823a3a, 0x0276e2a4, 0x02c39e2e, 0x002ddc3c}}, Y: Field{[10]uint32{0x000d53e6, 0x01667a37, 0x0122e79f, 0x025f29b3, 0x037e319c, 0x01ba9593, 0x01b90a91, 0x01260974, 0x02370989, 0x0003df1b}}}, + {X: Field{[10]uint32{0x02bb2b29, 0x00879fae, 0x0336236a, 0x021c924f, 0x017cb1db, 0x02c41f32, 0x0145c5fb, 0x039559c0, 0x00a8a0d7, 0x00298182}}, Y: Field{[10]uint32{0x0354de5f, 0x009715de, 0x00e1906f, 0x007ed603, 0x01a289c9, 0x03528e06, 0x0006f906, 0x01152259, 0x027c4e41, 0x000d08d4}}}, + {X: Field{[10]uint32{0x03414597, 0x02d926d4, 0x032d921e, 0x03dff2af, 0x0320f6b0, 0x0324469c, 0x02b4e5fc, 0x00e4e979, 0x00f97b7f, 0x00203d1c}}, Y: Field{[10]uint32{0x03d9adc3, 0x033a7c4a, 0x03e4afa1, 0x01392d6d, 0x03770fa1, 0x004f0fce, 0x028faea0, 0x02f8304c, 0x02f96e1b, 0x0015f63c}}}, + {X: Field{[10]uint32{0x015abb6f, 0x032ccea6, 0x017fe261, 0x036c7c0e, 0x0072e4a3, 0x01929ed6, 0x03f0096c, 0x012330ff, 0x03f21f52, 0x00138446}}, Y: Field{[10]uint32{0x02eb2b9f, 0x02b2eda5, 0x02b0f6d5, 0x0050c7ea, 0x00c03af6, 0x0182f64c, 0x01829c1d, 0x00cefd7f, 0x01721027, 0x0009273c}}}, + {X: Field{[10]uint32{0x022844c9, 0x005b1a31, 0x034f0184, 0x0037ce05, 0x00960cb7, 0x0083a17b, 0x0254660a, 0x00763040, 0x00b547fa, 0x001f6303}}, Y: Field{[10]uint32{0x0335a271, 0x00015c57, 0x00743404, 0x02b87daf, 0x0372b0f1, 0x00d633f4, 0x017335bf, 0x0135e685, 0x023c17ec, 0x000b5e6e}}}, + {X: Field{[10]uint32{0x030a0034, 0x00aabe59, 0x013aaf61, 0x02e26d65, 0x0014b132, 0x016a7cbc, 0x023d48fa, 0x01be95fc, 0x00bd9589, 0x002f0353}}, Y: Field{[10]uint32{0x03a0639d, 0x0283d20b, 0x01412480, 0x00fca3a9, 0x0383d756, 0x015dcef2, 0x02410915, 0x019605e9, 0x02707b31, 0x003d7419}}}, + {X: Field{[10]uint32{0x02d37a40, 0x039c3ead, 0x006a42df, 0x029a9f99, 0x015cceb0, 0x024c8785, 0x02ddbe1c, 0x03445657, 0x02aead08, 0x002c5528}}, Y: Field{[10]uint32{0x0216592a, 0x01794fcc, 0x00756c8b, 0x0234278f, 0x0217120d, 0x0257225b, 0x01e586f6, 0x0344af40, 0x0221674d, 0x0026aeb7}}}, + {X: Field{[10]uint32{0x0372e1e4, 0x01729615, 0x03325531, 0x0159f91d, 0x02314be7, 0x0107f8b9, 0x013bc318, 0x001bc9c1, 0x0034a6ce, 0x003bd80f}}, Y: Field{[10]uint32{0x009ad65d, 0x02b965f1, 0x00f5164a, 0x023cef42, 0x0115fced, 0x0206688c, 0x03a7e57d, 0x02c2e648, 0x022896f3, 0x003e7aef}}}, + {X: Field{[10]uint32{0x02aa9376, 0x0388ffa0, 0x016e2c04, 0x03686b12, 0x01014f7b, 0x02b70010, 0x01a05d91, 0x007aeeb5, 0x036c2d90, 0x00298045}}, Y: Field{[10]uint32{0x02e88ab8, 0x0228c0c6, 0x01e68f8c, 0x03e74fab, 0x03d59abc, 0x03a450dd, 0x032fb849, 0x00d924dd, 0x01b7ce0c, 0x003de077}}}, + {X: Field{[10]uint32{0x0031e6a7, 0x00c54e57, 0x007eb273, 0x03bcea40, 0x03b1c7f0, 0x0326a409, 0x03968b9b, 0x00413bea, 0x0147b6b3, 0x002af105}}, Y: Field{[10]uint32{0x017e0ec9, 0x02e28df6, 0x00dce879, 0x034d498a, 0x03594c5b, 0x035e0e66, 0x00a1821d, 0x0075bef6, 0x00a228f2, 0x00334a16}}}, + {X: Field{[10]uint32{0x007f5a81, 0x038e85f6, 0x008a92f2, 0x029b4c6d, 0x02941d1d, 0x009b904e, 0x024c4300, 0x031c86cb, 0x010500c9, 0x0024a240}}, Y: Field{[10]uint32{0x0260a5da, 0x025fca36, 0x03e2bb30, 0x02669f2f, 0x0015c223, 0x004ed1f1, 0x0032e17c, 0x03185c79, 0x007b1bdc, 0x003072b6}}}, + {X: Field{[10]uint32{0x037ca563, 0x01129f70, 0x00228ad1, 0x0201af59, 0x00500a7a, 0x0251da43, 0x02468319, 0x00d7291a, 0x02a69f4b, 0x00394837}}, Y: Field{[10]uint32{0x022a82de, 0x02c34f22, 0x03356638, 0x002b6d9c, 0x01e2330b, 0x02b538b6, 0x0355dda6, 0x023efa40, 0x0366ac3f, 0x001b0035}}}, + {X: Field{[10]uint32{0x017fadc4, 0x00b5c071, 0x03fb3750, 0x005463c3, 0x02ac2e93, 0x035bbc97, 0x03d18a79, 0x03c70695, 0x0223e2b3, 0x00300cde}}, Y: Field{[10]uint32{0x00808b65, 0x00851bd4, 0x021eccdd, 0x00e3db81, 0x017ac7e9, 0x001e95c3, 0x029c3d5b, 0x037cd51c, 0x0073be22, 0x003f3a96}}}, + {X: Field{[10]uint32{0x0181ac04, 0x0049e6ca, 0x0193cfa5, 0x02583d4d, 0x001b796a, 0x00b47589, 0x01fb6a76, 0x00b01dad, 0x02bb6a8e, 0x0009db18}}, Y: Field{[10]uint32{0x021afc1a, 0x00ba85db, 0x0292b73e, 0x01e0223d, 0x00773c45, 0x01a588db, 0x01284d7d, 0x000748fe, 0x025abb6b, 0x001714e9}}}, + {X: Field{[10]uint32{0x01663a5f, 0x00776fa3, 0x01ed4fad, 0x01bd9ea7, 0x00c4a2de, 0x00f23b79, 0x037ccdd4, 0x00770ae0, 0x0287e505, 0x00181387}}, Y: Field{[10]uint32{0x03429bee, 0x001ac9e2, 0x0034902d, 0x01ce670d, 0x02ace4c4, 0x01113618, 0x014d6759, 0x0065ce4f, 0x023ce351, 0x003dc3f8}}}, + {X: Field{[10]uint32{0x0041f6fa, 0x038e21d7, 0x00eec3b6, 0x02bbdf93, 0x024aba16, 0x03a40e6e, 0x00b05be5, 0x02441b56, 0x011f470d, 0x003cbf05}}, Y: Field{[10]uint32{0x01e98de0, 0x02a485b8, 0x037b85d2, 0x01ce705a, 0x00d41887, 0x001da418, 0x027f2d6e, 0x01718f63, 0x02c7f1aa, 0x003d26f4}}}, + {X: Field{[10]uint32{0x000ac560, 0x0240b84d, 0x00315eb0, 0x025359ac, 0x007ee0b2, 0x0391babe, 0x001d9cd7, 0x00d3bcee, 0x03460e9f, 0x002380c4}}, Y: Field{[10]uint32{0x00394296, 0x00517e4b, 0x00dca450, 0x023003b0, 0x02006b02, 0x03b81413, 0x027441c0, 0x00787944, 0x00bda5e2, 0x003fc032}}}, + {X: Field{[10]uint32{0x01a9970b, 0x027d03f9, 0x01a0a96b, 0x02cea174, 0x03d4e26e, 0x02ca553a, 0x021cbe16, 0x01ea3c9e, 0x031ad75b, 0x002a1a03}}, Y: Field{[10]uint32{0x02070c01, 0x0065cef9, 0x024c6950, 0x02fb10a5, 0x02757401, 0x00fd4a25, 0x03281f2a, 0x036b18e5, 0x0341a55b, 0x001831af}}}, + {X: Field{[10]uint32{0x004f4658, 0x039b1bd4, 0x03066128, 0x00035372, 0x0009ca8c, 0x002171e5, 0x03407c05, 0x00ba8780, 0x01e7f4d8, 0x00135a28}}, Y: Field{[10]uint32{0x03d1ce76, 0x009979e8, 0x02af4d36, 0x0028e99c, 0x0126a955, 0x030db75b, 0x0295d2d2, 0x00da44aa, 0x0211e5dd, 0x00217177}}}, + {X: Field{[10]uint32{0x02c2a7a9, 0x02882bb9, 0x024835c6, 0x0306b9e2, 0x01758c0b, 0x0340bace, 0x003cdc1b, 0x021925a6, 0x001c2a6d, 0x000dc23d}}, Y: Field{[10]uint32{0x03ec4152, 0x014febea, 0x039e7f45, 0x01171c2b, 0x023c2b71, 0x02aac64f, 0x01ae0f87, 0x03d77572, 0x019e79b7, 0x000c42de}}}, + {X: Field{[10]uint32{0x0115f059, 0x038de028, 0x01a92f6c, 0x0334eaec, 0x022d1a18, 0x00fd6dcc, 0x03961814, 0x02317fc6, 0x01674502, 0x0023220e}}, Y: Field{[10]uint32{0x020725d8, 0x0229f9d8, 0x00e10b00, 0x01097237, 0x0040128e, 0x019b761f, 0x03441800, 0x01212830, 0x02d4e4ae, 0x0009158e}}}, + {X: Field{[10]uint32{0x018f8fb0, 0x0387fd35, 0x0305d0a0, 0x03098d08, 0x03652e83, 0x0129c98e, 0x010fd1a9, 0x01eb4ef7, 0x036a7b37, 0x00311179}}, Y: Field{[10]uint32{0x03acc89d, 0x033a9872, 0x01b8cc94, 0x039c8c19, 0x02f60ae2, 0x02ab9f71, 0x03bd3c13, 0x036d84eb, 0x001adc8d, 0x0012fd69}}}, + {X: Field{[10]uint32{0x02419f16, 0x03d976a3, 0x02e8deb2, 0x017bb6ab, 0x0236949d, 0x0292e7f5, 0x019f1d4d, 0x00d7f983, 0x013ac8a6, 0x0012b658}}, Y: Field{[10]uint32{0x00b0d7c4, 0x02d2545a, 0x0331642a, 0x01ded2c1, 0x01387458, 0x03c6a06e, 0x0131c83e, 0x0283eceb, 0x03068f67, 0x0016a6d6}}}, + {X: Field{[10]uint32{0x0360c943, 0x0074a7f5, 0x00b0c20d, 0x02f163a4, 0x022e397f, 0x0122a998, 0x0349d776, 0x03f9b26a, 0x02e1958b, 0x002facfa}}, Y: Field{[10]uint32{0x0382c9b8, 0x03bfe200, 0x02678dba, 0x01edaa08, 0x03ec76f2, 0x02a9a36b, 0x01dc6fb5, 0x019eac89, 0x02bef43a, 0x00035691}}}, + {X: Field{[10]uint32{0x0134f397, 0x026867f4, 0x018ab9df, 0x0050f900, 0x034623fc, 0x035281da, 0x03f1daea, 0x0086cef8, 0x02b0bc0e, 0x002aaa6a}}, Y: Field{[10]uint32{0x0342e40b, 0x01c0ee89, 0x0390ed3c, 0x03e2ead9, 0x02d3f094, 0x03e8b6b4, 0x000347e8, 0x00b1969b, 0x03fe1964, 0x000271f5}}}, + {X: Field{[10]uint32{0x0199dc52, 0x035a956b, 0x01356604, 0x01867f57, 0x00d40116, 0x0073e749, 0x017ae86f, 0x03d118bf, 0x028999d6, 0x00154f07}}, Y: Field{[10]uint32{0x0150cebc, 0x002f5bfd, 0x004ed646, 0x0250de4d, 0x013f6fe4, 0x01f17c37, 0x02ba776f, 0x02b169b4, 0x013b8410, 0x0009ad03}}}, + {X: Field{[10]uint32{0x02a1abc8, 0x03afe096, 0x0128ab47, 0x0025567b, 0x00c3d565, 0x01c97581, 0x00dae9c4, 0x023f10e6, 0x01ea3637, 0x00216621}}, Y: Field{[10]uint32{0x000687f5, 0x00c7f3fc, 0x030669e5, 0x02a8f102, 0x020e6e84, 0x02cb458d, 0x02fd9305, 0x02e58eec, 0x02f9fc74, 0x003eb96b}}}, + {X: Field{[10]uint32{0x00368f93, 0x01ef7bbc, 0x0254b0bb, 0x00ca9c31, 0x0189e510, 0x00ee08d1, 0x00bf7c16, 0x01752155, 0x0118679c, 0x0017ec28}}, Y: Field{[10]uint32{0x03c2a2d0, 0x03c6099a, 0x00c70a4c, 0x02b4e765, 0x005b9966, 0x02e5761a, 0x0302111e, 0x005b4efe, 0x01f04a68, 0x0003a355}}}, + {X: Field{[10]uint32{0x00f91dfa, 0x02fa0be5, 0x00302194, 0x0175df39, 0x02bbed44, 0x039c376b, 0x03d737c1, 0x03854f26, 0x034786f3, 0x00029090}}, Y: Field{[10]uint32{0x03beed46, 0x00595239, 0x02496971, 0x02963b04, 0x01a54239, 0x0096da7f, 0x0012f4df, 0x03f6a704, 0x02d6abd9, 0x0009f472}}}, + {X: Field{[10]uint32{0x00c821e7, 0x006e4868, 0x003eef57, 0x0115cac2, 0x00394659, 0x01ca4c43, 0x028213cc, 0x0307ce82, 0x0108063f, 0x0017401d}}, Y: Field{[10]uint32{0x02b2df3a, 0x00744aff, 0x007f939f, 0x0205ac10, 0x02d99bfa, 0x0048e121, 0x00c26056, 0x01681ecb, 0x03c45d05, 0x00394e3e}}}, + {X: Field{[10]uint32{0x002e3db9, 0x00bd7a0a, 0x02a525f8, 0x02a9c737, 0x01e80393, 0x012aadfe, 0x00605a0e, 0x000a1a4d, 0x01b897b1, 0x0028fac9}}, Y: Field{[10]uint32{0x01e7f77d, 0x00f60fdc, 0x00c6f030, 0x022f9a24, 0x036beec5, 0x00a259f1, 0x036baaf1, 0x03117908, 0x00c21430, 0x0038acd5}}}, + {X: Field{[10]uint32{0x0097981b, 0x00b8273a, 0x01f0fff7, 0x01453a8d, 0x021e309e, 0x0043f205, 0x033f51cd, 0x00c80a5b, 0x02208a13, 0x001cfd8c}}, Y: Field{[10]uint32{0x02420179, 0x03b41cc2, 0x01dc4015, 0x01ea286d, 0x02309525, 0x00d26a4b, 0x01f7ded0, 0x03ccbb5b, 0x0159cc78, 0x0010d04a}}}, + {X: Field{[10]uint32{0x00da41af, 0x03b139d2, 0x01bb4ccf, 0x00b7c6ee, 0x00776051, 0x01811992, 0x00d9628f, 0x02d7ce3c, 0x01d1c21b, 0x0017c209}}, Y: Field{[10]uint32{0x025c0cab, 0x0108e7ff, 0x02323b37, 0x02e30925, 0x005becd4, 0x01964a09, 0x031abd5b, 0x03784a13, 0x020e1d95, 0x0037aeb1}}}, + {X: Field{[10]uint32{0x03d84294, 0x00967fbd, 0x0276da10, 0x03ff19a9, 0x02efc26d, 0x03448a53, 0x023f624c, 0x03a7cbeb, 0x02f2b4a8, 0x003310a9}}, Y: Field{[10]uint32{0x03230519, 0x0383850e, 0x016901ba, 0x0385a804, 0x03118a7a, 0x02d7ec5f, 0x03f2adb2, 0x02f417c4, 0x0200f92c, 0x00246c99}}}, + {X: Field{[10]uint32{0x03635a17, 0x0000bb1b, 0x022618f0, 0x035af44d, 0x034de0c5, 0x03bef347, 0x01aad7a8, 0x0384fea0, 0x00e76eeb, 0x001f55b8}}, Y: Field{[10]uint32{0x03fa1ad8, 0x004eb090, 0x01754f7d, 0x03b156a4, 0x00051122, 0x03a9779f, 0x01ca813e, 0x038fb91b, 0x0307fe55, 0x00255189}}}, + {X: Field{[10]uint32{0x03a5be61, 0x015301bd, 0x00dc6add, 0x03f0f1d9, 0x02fba8ca, 0x02b6d5ad, 0x03605b3a, 0x017b12b2, 0x021b4fe8, 0x001e5cad}}, Y: Field{[10]uint32{0x02b8c7d8, 0x0249b24c, 0x037dd9f4, 0x03397516, 0x024764c4, 0x011aa3a4, 0x00f5141c, 0x03e9ba9f, 0x02702642, 0x002e8619}}}, + {X: Field{[10]uint32{0x01025626, 0x00208d75, 0x02e0bbbe, 0x01fcd87e, 0x034344c8, 0x019d3e43, 0x01f63609, 0x00540226, 0x0040347b, 0x003b7229}}, Y: Field{[10]uint32{0x032cd77b, 0x007b3106, 0x024864d0, 0x008a6947, 0x027bf841, 0x034502cb, 0x00c7cefa, 0x02fd666f, 0x03409a14, 0x000be049}}}, + {X: Field{[10]uint32{0x01b16899, 0x021df34f, 0x00d18d54, 0x02fc9558, 0x02d4ea1b, 0x027e6661, 0x0327b571, 0x03d354bd, 0x01c97a8c, 0x002f66d9}}, Y: Field{[10]uint32{0x02fe432d, 0x02638af0, 0x019af7db, 0x00fd77fa, 0x01ee9c8e, 0x02f93e18, 0x00d9e02d, 0x023972fc, 0x01274e87, 0x001673dc}}}, + {X: Field{[10]uint32{0x00f35782, 0x038ab313, 0x02106f3b, 0x00096542, 0x0072d918, 0x01317636, 0x03565714, 0x03a3334d, 0x02381191, 0x0009d8d7}}, Y: Field{[10]uint32{0x00d1ab7d, 0x0264bdc3, 0x00ce9db1, 0x03cdf9ae, 0x00eb5251, 0x03d46eb5, 0x03fa3ab8, 0x021c3401, 0x0247a019, 0x0030d67f}}}, + {X: Field{[10]uint32{0x0321d85c, 0x0377c84e, 0x03261839, 0x03d2577e, 0x00359950, 0x01e803a6, 0x02abad14, 0x014c02a5, 0x00c316c0, 0x001124b7}}, Y: Field{[10]uint32{0x009ad35b, 0x00d3b5f7, 0x02433189, 0x02fe9630, 0x02fafed4, 0x008a7716, 0x03b8c6d2, 0x00790b6f, 0x0371a4e8, 0x0003b7c4}}}, + {X: Field{[10]uint32{0x01f9c67b, 0x02a981bb, 0x03c01279, 0x031b3b8d, 0x0325887f, 0x02f623e3, 0x028a3869, 0x00079637, 0x0040409e, 0x003e0493}}, Y: Field{[10]uint32{0x026fa6bc, 0x01830868, 0x009d3655, 0x0231879d, 0x022b0f00, 0x035fcd98, 0x026269c3, 0x03b82a28, 0x01d1d31f, 0x0003801c}}}, + {X: Field{[10]uint32{0x0205a2b5, 0x0212f0e6, 0x030b1b57, 0x00ce3d57, 0x02ce3aed, 0x03579470, 0x000716ad, 0x03337e8b, 0x0367066e, 0x0033165e}}, Y: Field{[10]uint32{0x00682865, 0x00e9061d, 0x022da74e, 0x039fcfbc, 0x03df52da, 0x00a3a356, 0x0212ec40, 0x010f6747, 0x01fc394a, 0x0004b80c}}}, + {X: Field{[10]uint32{0x005aeda2, 0x034c78a0, 0x022ee6fd, 0x01c698c8, 0x03d4a45f, 0x03549774, 0x01642707, 0x020fef48, 0x02c6bc12, 0x00050b2c}}, Y: Field{[10]uint32{0x02d66ec0, 0x017b7197, 0x02f2e181, 0x03edf1a1, 0x00ed082b, 0x02fb1916, 0x015b7180, 0x0108ab93, 0x0112c72c, 0x002f7a4f}}}, + {X: Field{[10]uint32{0x001d2d3c, 0x03645230, 0x0147968f, 0x01d78fc3, 0x01c33273, 0x02a25dea, 0x016704a1, 0x0165079a, 0x0202dd76, 0x003efd35}}, Y: Field{[10]uint32{0x006afa8d, 0x03c4e5b0, 0x0118d08e, 0x02ca6bdf, 0x00c7b96f, 0x01a3d858, 0x014cae8e, 0x02572e9b, 0x01f799e8, 0x00196d1b}}}, + {X: Field{[10]uint32{0x01bfffb8, 0x0048f863, 0x02bc7c6d, 0x036f3163, 0x01f09436, 0x03053143, 0x0300ea5e, 0x03a3338c, 0x0157bb5f, 0x003bf6d7}}, Y: Field{[10]uint32{0x0203fe01, 0x01ee2900, 0x00deb813, 0x01fb7758, 0x01d444e4, 0x019ef627, 0x019ce931, 0x00318988, 0x0003d9a9, 0x000e420e}}}, + {X: Field{[10]uint32{0x003f35ad, 0x0241d08b, 0x03d74976, 0x03c7ab7a, 0x02921f59, 0x01afcb53, 0x00b36c7b, 0x00155c2d, 0x0334faa3, 0x0016f290}}, Y: Field{[10]uint32{0x021206e3, 0x03489ef0, 0x0345b520, 0x00a8d4fe, 0x0179d27f, 0x03591b6d, 0x03f2fe1c, 0x018fdc8a, 0x02f5e2a6, 0x000f25ee}}}, + {X: Field{[10]uint32{0x01156632, 0x03c7cfd4, 0x00d4c49f, 0x025c69cf, 0x01ff921e, 0x012a9990, 0x018a0f05, 0x03c1956b, 0x03bce90c, 0x0026a876}}, Y: Field{[10]uint32{0x031a4200, 0x00efd00a, 0x012dc651, 0x01eae404, 0x016e0b33, 0x02730449, 0x002f0f0b, 0x03a176e0, 0x001d8bf1, 0x0032fdba}}}, + {X: Field{[10]uint32{0x03c2d408, 0x02a5589c, 0x01b86aba, 0x01bfbfc2, 0x035386e5, 0x037b0a09, 0x01d4d23d, 0x01d9d935, 0x005586ed, 0x000bf1ff}}, Y: Field{[10]uint32{0x01d6285f, 0x0272041a, 0x03f3f54f, 0x01617531, 0x016019a5, 0x000c42d7, 0x037b0c3e, 0x00d2bb91, 0x01e4773c, 0x0016ffda}}}, + {X: Field{[10]uint32{0x034190b2, 0x03332ef4, 0x03f34764, 0x00403cbf, 0x026ef3b2, 0x0037e445, 0x01954878, 0x01bcb10c, 0x0141c3ac, 0x002397ee}}, Y: Field{[10]uint32{0x0110d2ce, 0x026ebaff, 0x02c4b1df, 0x027b73c6, 0x038d29b5, 0x039eccbe, 0x03ae154c, 0x01a38b18, 0x01b15f66, 0x0036f8b0}}}, + {X: Field{[10]uint32{0x033d49c6, 0x006f5842, 0x03690480, 0x001c99a4, 0x02dcfbaa, 0x02a56e36, 0x013389ea, 0x035b7417, 0x03594748, 0x001e96ee}}, Y: Field{[10]uint32{0x034187c0, 0x03b7ab18, 0x03fa7fd4, 0x0073bff8, 0x00ca1386, 0x0048d71a, 0x00b755c6, 0x00cffa36, 0x0043a42d, 0x0030b4a0}}}, + {X: Field{[10]uint32{0x03b76753, 0x03ebc86f, 0x00745f87, 0x0388894d, 0x00917c2f, 0x02d8c738, 0x033ee1b1, 0x00d4c6b9, 0x00bdf0d3, 0x00256fae}}, Y: Field{[10]uint32{0x0064f45b, 0x030bc2c3, 0x00adaa43, 0x020df88c, 0x03b9bd77, 0x01283932, 0x03e269fb, 0x0165d549, 0x0200d9c5, 0x0031b3e1}}}, + {X: Field{[10]uint32{0x02968d25, 0x003488f8, 0x03a32054, 0x0365dae3, 0x03576dbb, 0x002ae5e4, 0x00fa4809, 0x01b700c1, 0x030c6d89, 0x003d13b2}}, Y: Field{[10]uint32{0x0321086a, 0x027cd4f0, 0x038106d1, 0x003d79db, 0x01e20e47, 0x03a91a82, 0x0203c629, 0x010ca5da, 0x00f62964, 0x00151419}}}, + {X: Field{[10]uint32{0x038109de, 0x01274994, 0x01e074fb, 0x0309dc18, 0x01d56d68, 0x03deb899, 0x033ef501, 0x024db985, 0x00d33dbd, 0x002374cb}}, Y: Field{[10]uint32{0x003f1e76, 0x0217dc1f, 0x00851ae9, 0x00968430, 0x00ad158c, 0x011f5b64, 0x012bca8a, 0x02b0814e, 0x025c80da, 0x001ac443}}}, + {X: Field{[10]uint32{0x0237997b, 0x01d77698, 0x01a8c770, 0x00fe2473, 0x010fea5e, 0x01c74113, 0x03bc77eb, 0x03d5e353, 0x0130b0f0, 0x000f52bf}}, Y: Field{[10]uint32{0x018bb9ce, 0x02c7bf01, 0x0093ed83, 0x02af9d21, 0x020ae286, 0x02708eb6, 0x013d4424, 0x03d5fb1e, 0x00e8664d, 0x000a05b8}}}, + {X: Field{[10]uint32{0x01d95ff1, 0x03ff45e1, 0x020200a5, 0x0204b4af, 0x02b83913, 0x01a81ee8, 0x015ccac8, 0x00ec8aca, 0x01fbbeaa, 0x002a6dce}}, Y: Field{[10]uint32{0x03b84f1b, 0x016cabaf, 0x02d401a5, 0x00ae3b5e, 0x00d3c5d4, 0x0310ff7b, 0x016d7323, 0x029abbda, 0x023021d6, 0x00287420}}}, + {X: Field{[10]uint32{0x0203715a, 0x01fd1ae4, 0x03632bb7, 0x019eb3e6, 0x02a37e5d, 0x022d5659, 0x02cc754c, 0x0147aff0, 0x0347e512, 0x003a4025}}, Y: Field{[10]uint32{0x02f9df72, 0x036ad3f3, 0x03907d9c, 0x01e85f38, 0x00756f27, 0x015c6962, 0x03476f25, 0x03e65dc6, 0x01679ea8, 0x000d0962}}}, + {X: Field{[10]uint32{0x021a3f2e, 0x01d90e7c, 0x006c1a83, 0x0104eb13, 0x002108fe, 0x02ccc821, 0x00d09b96, 0x035d3309, 0x00ed55aa, 0x001f8d23}}, Y: Field{[10]uint32{0x00389e5f, 0x033e0fad, 0x020f91ed, 0x00bcd964, 0x01c884c2, 0x010e793d, 0x0065706e, 0x009e5761, 0x038e3b72, 0x000e61d3}}}, + {X: Field{[10]uint32{0x03b1f55a, 0x029d29be, 0x01220aaa, 0x02da2834, 0x038e340f, 0x003f3034, 0x032cdabf, 0x035c055b, 0x02765ec2, 0x0029f759}}, Y: Field{[10]uint32{0x0341d447, 0x029439cb, 0x00e73760, 0x02b5117a, 0x0163710d, 0x02c02efa, 0x02ded9b0, 0x0298f4a4, 0x03f2ab00, 0x002dc246}}}, + {X: Field{[10]uint32{0x03f57025, 0x02354780, 0x03a96a30, 0x00a91a4f, 0x0051c085, 0x01b624d3, 0x0033a481, 0x032fdb70, 0x01e9a8cc, 0x0002e15e}}, Y: Field{[10]uint32{0x0158268b, 0x0337315c, 0x00feca8b, 0x00cdbda5, 0x0242c888, 0x02f046f6, 0x0164a3e0, 0x00546cbc, 0x00df4d79, 0x0039a5bb}}}, + {X: Field{[10]uint32{0x03f57af8, 0x00b0b0af, 0x03cdabb4, 0x007519e1, 0x03184f1c, 0x01ed669f, 0x00c8c72e, 0x002032fe, 0x00459de0, 0x0001eca7}}, Y: Field{[10]uint32{0x03801799, 0x011b7a57, 0x026145dc, 0x02dc97d3, 0x02817578, 0x000ddbb7, 0x0101ca56, 0x0344f506, 0x0367a6d8, 0x001037a0}}}, + {X: Field{[10]uint32{0x02f00f9f, 0x026bf765, 0x0214e017, 0x0276cc7f, 0x030d1c4e, 0x002df940, 0x020e34ef, 0x016f9eb0, 0x026f89b6, 0x00073bfe}}, Y: Field{[10]uint32{0x0276f179, 0x01d12d46, 0x02da979a, 0x03d6f2a9, 0x008e293b, 0x005e4384, 0x018feb78, 0x00c2f7b6, 0x00b1f059, 0x001bf7ba}}}, + {X: Field{[10]uint32{0x01e58d74, 0x0365f645, 0x01e47ca2, 0x03fa8013, 0x0280ba4e, 0x00078bb1, 0x01d01e9a, 0x000715b5, 0x016d11d3, 0x00155b8b}}, Y: Field{[10]uint32{0x0249d711, 0x00b175d4, 0x0096108a, 0x031cbd36, 0x013d66e6, 0x03bb2f26, 0x01ba7eef, 0x035edad5, 0x009bb633, 0x0025620d}}}, + {X: Field{[10]uint32{0x01e51586, 0x02ae45e8, 0x026ba6a7, 0x03d3a7b9, 0x02b97f7b, 0x00ad8ba8, 0x004518a4, 0x00f723b4, 0x028873b9, 0x002cd41b}}, Y: Field{[10]uint32{0x030b3b38, 0x00eb9306, 0x023fd582, 0x027c7e3f, 0x025917a3, 0x02b2ea7f, 0x0293eaa7, 0x03edeff9, 0x01001230, 0x0011d3e0}}}, + {X: Field{[10]uint32{0x012628f3, 0x01d2e5af, 0x00504e97, 0x00e86665, 0x001ba7ff, 0x0243b99f, 0x001a886f, 0x0124236c, 0x02f389cb, 0x0003461a}}, Y: Field{[10]uint32{0x02a2db7d, 0x023dfbbc, 0x0021d5d0, 0x01bfd046, 0x02d01d74, 0x0218bbcd, 0x0378c75a, 0x01f372d1, 0x002bc656, 0x000ece5e}}}, + {X: Field{[10]uint32{0x03987bb7, 0x02215cbb, 0x00d55d67, 0x0200aa04, 0x0119e8c9, 0x018b18e7, 0x02459000, 0x016b08fe, 0x0121e106, 0x003e5476}}, Y: Field{[10]uint32{0x01d7d950, 0x002631fe, 0x0207055d, 0x019aedda, 0x01051abc, 0x03d54ed7, 0x03db2397, 0x03a5d409, 0x01c187f8, 0x00373df7}}}, + {X: Field{[10]uint32{0x00d915ec, 0x00f83eb1, 0x0242ebb5, 0x01d3f20a, 0x038bcbf8, 0x03cd0382, 0x021b75e8, 0x01bf1845, 0x02167bac, 0x002373a3}}, Y: Field{[10]uint32{0x00ae940c, 0x004985f8, 0x03674e32, 0x03d240cb, 0x039c0287, 0x01349bb5, 0x00b410b3, 0x02e7ae6d, 0x03a14a9e, 0x00047394}}}, + {X: Field{[10]uint32{0x01e26e2b, 0x00e7baa6, 0x005dc4f4, 0x016bb56a, 0x02755dfc, 0x0304a9ea, 0x012ed15e, 0x0290f35f, 0x00dda0a7, 0x00338b4f}}, Y: Field{[10]uint32{0x03a5a145, 0x025f1801, 0x0009a36b, 0x0191f886, 0x036a8eed, 0x03160881, 0x035c2853, 0x009d03a9, 0x02bbe7ca, 0x001aa5ab}}}, + {X: Field{[10]uint32{0x00d92092, 0x00e42a37, 0x000f05ea, 0x00295632, 0x00f712c4, 0x020ce492, 0x03367b5c, 0x0353173b, 0x02fcdcc2, 0x0008e519}}, Y: Field{[10]uint32{0x03ac28cd, 0x02157849, 0x0318ed0e, 0x02acedf5, 0x0265d176, 0x023805cd, 0x023ee8e9, 0x03c22f29, 0x023c9b49, 0x003cb388}}}, + {X: Field{[10]uint32{0x0163e033, 0x0297fb8d, 0x0395e0f6, 0x01911d98, 0x034a2f3c, 0x00c7825c, 0x005bcd83, 0x00f02367, 0x0364341d, 0x000882ad}}, Y: Field{[10]uint32{0x02df5011, 0x03360dd5, 0x03f4cf9d, 0x028d5e05, 0x03aa51a9, 0x02d48300, 0x03dc7a42, 0x004fbd19, 0x0060d030, 0x003b0791}}}, + {X: Field{[10]uint32{0x004b469f, 0x03ffa024, 0x03db4ee2, 0x004993e8, 0x02845f0b, 0x00f13443, 0x03ffd81f, 0x01a9b1c3, 0x01fe1640, 0x00355157}}, Y: Field{[10]uint32{0x020aaf9a, 0x00428401, 0x019b8088, 0x03c0abe5, 0x0028a20a, 0x0056125f, 0x01d99e49, 0x00798899, 0x038d257e, 0x00283e4e}}}, + {X: Field{[10]uint32{0x00e60c72, 0x03627ca2, 0x0137e1a9, 0x03e73f07, 0x02f5039c, 0x007bb034, 0x0054665f, 0x03c1777c, 0x0377a1f6, 0x00148d9c}}, Y: Field{[10]uint32{0x02c7bb41, 0x027f1767, 0x01ce6a03, 0x005b663e, 0x00d05e70, 0x038925e8, 0x018d0477, 0x030d4b35, 0x0355430f, 0x001e3627}}}, + {X: Field{[10]uint32{0x03a56395, 0x0377a957, 0x02c9f4c1, 0x03c644b9, 0x01a8e569, 0x01cd9049, 0x023dc886, 0x0250889a, 0x01133ecc, 0x0016e658}}, Y: Field{[10]uint32{0x02436d0a, 0x010abd93, 0x00f19101, 0x02a84226, 0x03f7a0bc, 0x0178bf57, 0x00ac902c, 0x01b2bd76, 0x03641207, 0x002ee75d}}}, + {X: Field{[10]uint32{0x004c13fb, 0x0093ccae, 0x00f0c07c, 0x010f6e5b, 0x03eecd1a, 0x02c299dc, 0x007fa4a5, 0x03479963, 0x035cbfbe, 0x003cdb36}}, Y: Field{[10]uint32{0x018c394c, 0x01b24640, 0x039b9315, 0x039d1e4d, 0x01993744, 0x006d8996, 0x016aee18, 0x03b68a45, 0x02f05ee9, 0x0033f1b4}}}, + {X: Field{[10]uint32{0x0079a6f9, 0x017ee45c, 0x03e44059, 0x00cc43b1, 0x030842ce, 0x014c499b, 0x00bf7545, 0x01ebcace, 0x018e2510, 0x000c8231}}, Y: Field{[10]uint32{0x02c785d7, 0x011d628c, 0x001c645a, 0x028b2220, 0x03653599, 0x0257b0b2, 0x01d9ab58, 0x02db2581, 0x01cb5346, 0x0020c71b}}}, + {X: Field{[10]uint32{0x009927a7, 0x014e4623, 0x025a8c52, 0x020d9406, 0x02472535, 0x01135cd5, 0x0021b80b, 0x00438aa8, 0x02071f85, 0x002981ce}}, Y: Field{[10]uint32{0x0364fec9, 0x03c64698, 0x032462a9, 0x00361600, 0x026fefa3, 0x033f26ee, 0x0318baad, 0x01d84859, 0x03c54c8a, 0x003a4ea7}}}, + {X: Field{[10]uint32{0x01f0d913, 0x00d5d62e, 0x007139e3, 0x01f8d589, 0x00f7ec1a, 0x02a9fffa, 0x00f21476, 0x02bdfc98, 0x0062f79e, 0x000cd42d}}, Y: Field{[10]uint32{0x01152959, 0x01c5c448, 0x00d4e805, 0x02f120a9, 0x03020f33, 0x02a34ba4, 0x03d2341b, 0x0048883e, 0x01b30fce, 0x0007c327}}}, + {X: Field{[10]uint32{0x03073caa, 0x03893380, 0x0344c11d, 0x00f99bd9, 0x00177391, 0x02859433, 0x007c89b5, 0x00a9d248, 0x03170bc8, 0x00295356}}, Y: Field{[10]uint32{0x02cd3ab8, 0x01edec4c, 0x033afcdb, 0x009be4ad, 0x02fe62dc, 0x02488b27, 0x007fe5d4, 0x0374460f, 0x035f5309, 0x000f090e}}}, + {X: Field{[10]uint32{0x00a04cf8, 0x0095ca41, 0x005cae5b, 0x01b558e4, 0x028a7d34, 0x0071e18f, 0x0024f7b0, 0x01e8d285, 0x02bf676a, 0x00196428}}, Y: Field{[10]uint32{0x03e781e7, 0x01419168, 0x02f09396, 0x03b10919, 0x004f8d0c, 0x03a8bdcd, 0x002d972e, 0x0106684e, 0x00030490, 0x00047356}}}, + {X: Field{[10]uint32{0x03cba9a5, 0x025bb271, 0x0159289e, 0x00f7ed6e, 0x01884039, 0x028d9c04, 0x03461a20, 0x03d22f4b, 0x00029fc7, 0x002cf027}}, Y: Field{[10]uint32{0x00f5cfa9, 0x03324ac2, 0x0360ab97, 0x035abcb6, 0x03c6a3e6, 0x0300c38a, 0x03bb1bda, 0x012b4065, 0x026cbce5, 0x0039ed6a}}}, + {X: Field{[10]uint32{0x00fa8bc0, 0x024a4e46, 0x0064426a, 0x03be3f75, 0x02cdc693, 0x022ca65c, 0x03361439, 0x004de9f6, 0x02a8044a, 0x0035e5a3}}, Y: Field{[10]uint32{0x0157a75c, 0x009bb22b, 0x022e5283, 0x01d35d36, 0x0156dd31, 0x004338b9, 0x015dd294, 0x010d3b2f, 0x01892901, 0x00209009}}}, + {X: Field{[10]uint32{0x038e8304, 0x0167c020, 0x0365c6d9, 0x03212d40, 0x033bf6ed, 0x009406b6, 0x02ca172b, 0x03e73347, 0x006c2f98, 0x002295ef}}, Y: Field{[10]uint32{0x03e7d14e, 0x02ff8361, 0x038b992c, 0x00404691, 0x01bf6434, 0x02fe9a30, 0x00b5d67c, 0x0166150e, 0x0062a0f8, 0x000bafd5}}}, + {X: Field{[10]uint32{0x0073fd22, 0x03435418, 0x03b4e551, 0x034dfc3b, 0x011a555d, 0x023218f3, 0x00b8d18f, 0x0142a30f, 0x00416847, 0x0014621a}}, Y: Field{[10]uint32{0x02f3f192, 0x0145f68d, 0x03691f30, 0x0141b14b, 0x006a28ce, 0x00bd660f, 0x00e0f15c, 0x00eb429b, 0x009b9e98, 0x003ac17c}}}, + {X: Field{[10]uint32{0x027c85f3, 0x0124f8bd, 0x037b0ab7, 0x005a6e7a, 0x02d3a026, 0x00575574, 0x02ab8566, 0x01e53ea7, 0x035f27e4, 0x003faa30}}, Y: Field{[10]uint32{0x00148864, 0x012940a3, 0x03c889b5, 0x03d52aa5, 0x03b24158, 0x038ae8b9, 0x01123378, 0x01b8ea61, 0x0297cf0a, 0x0030c977}}}, + {X: Field{[10]uint32{0x01f94b63, 0x01409fb4, 0x0051077b, 0x01a5fbd3, 0x01d79d5f, 0x01707273, 0x01ab955d, 0x009793e3, 0x00ccd7bc, 0x001984b3}}, Y: Field{[10]uint32{0x0057860b, 0x0012668d, 0x0320073d, 0x0200570e, 0x03e9bd6a, 0x0094f7e6, 0x02abab50, 0x02342b9e, 0x02c17a37, 0x00185544}}}, + {X: Field{[10]uint32{0x006f8746, 0x02f5f92a, 0x03533cbd, 0x019e7db4, 0x02f8a7ae, 0x00c66655, 0x009d6983, 0x01676c13, 0x007a4998, 0x0032662c}}, Y: Field{[10]uint32{0x01d17138, 0x0046fc23, 0x038a66af, 0x03a444e0, 0x0137d6b5, 0x03a881ba, 0x019d81b0, 0x01dd7a89, 0x0371919e, 0x00367804}}}, + {X: Field{[10]uint32{0x024cc1e1, 0x003ec30e, 0x004bb052, 0x00551835, 0x00c32e39, 0x00f77242, 0x00fcd0d2, 0x02597e15, 0x0269c5cf, 0x00170391}}, Y: Field{[10]uint32{0x035adea1, 0x02e42719, 0x0055464f, 0x03b722cf, 0x0189f5ed, 0x0343df2e, 0x0335ffac, 0x0269374b, 0x03af7e0f, 0x0033faee}}}, + {X: Field{[10]uint32{0x0158c0fd, 0x036fee1c, 0x0350bcb2, 0x016d93e5, 0x037ab319, 0x01aa74fe, 0x02f6433c, 0x01459fc1, 0x02483038, 0x00343f76}}, Y: Field{[10]uint32{0x031283db, 0x000838fb, 0x03c358f0, 0x0057442a, 0x03f5c6e3, 0x01860cda, 0x02e13598, 0x03d87f20, 0x01776a34, 0x00133795}}}, + {X: Field{[10]uint32{0x024a3e81, 0x01c0617e, 0x00fd37bc, 0x014c66df, 0x0007cab1, 0x0088b39d, 0x01482656, 0x03d96817, 0x030fd78b, 0x00364955}}, Y: Field{[10]uint32{0x03c1924c, 0x0360dc21, 0x00ed1673, 0x03833740, 0x00ff52be, 0x027195d7, 0x021a5c7b, 0x02ea4068, 0x019ac448, 0x00000f0e}}}, + {X: Field{[10]uint32{0x018374c8, 0x030861c2, 0x00f9a1d0, 0x013f5e06, 0x02a023cc, 0x0212c200, 0x037d6074, 0x012eb081, 0x016d81f8, 0x001174ad}}, Y: Field{[10]uint32{0x0019d7f4, 0x01901067, 0x03f05030, 0x007e122e, 0x00982941, 0x009598f3, 0x010506ea, 0x032cdeb5, 0x00d192a9, 0x00053286}}}, + {X: Field{[10]uint32{0x02157400, 0x005c2de7, 0x03fba5b7, 0x01e196a4, 0x00ea8c19, 0x03e6843e, 0x013404dd, 0x0316efde, 0x00118588, 0x001ab4eb}}, Y: Field{[10]uint32{0x011686d7, 0x018bfa60, 0x02c97a87, 0x02b45cc7, 0x02382eb5, 0x035d8a4b, 0x0320e80f, 0x00b0ffb7, 0x001f1e24, 0x003e895d}}}, + {X: Field{[10]uint32{0x02595f52, 0x0387afd2, 0x00bf5028, 0x00a00b77, 0x0026d540, 0x004ac876, 0x03ea9e39, 0x02582de4, 0x0045b6dc, 0x00176891}}, Y: Field{[10]uint32{0x01f16026, 0x01007cd9, 0x005fd01b, 0x03663222, 0x02fabfa0, 0x03e28bf4, 0x015063bf, 0x0329a626, 0x038cad1d, 0x002f063f}}}, + {X: Field{[10]uint32{0x0132b346, 0x0057bf2b, 0x00f445ed, 0x0227549f, 0x03d7b5f1, 0x01975c4c, 0x039b89f8, 0x021b4a4e, 0x006811ce, 0x00377fd9}}, Y: Field{[10]uint32{0x027f5737, 0x03b68d95, 0x0110db1a, 0x019c4fa9, 0x034d236b, 0x004ac070, 0x021ae080, 0x0005af84, 0x0194cb22, 0x001c983a}}}, + {X: Field{[10]uint32{0x0097f029, 0x0279a6fe, 0x012436ad, 0x02637275, 0x02c1030d, 0x02142611, 0x032f50bc, 0x03ea4f43, 0x033b9120, 0x002a2e7f}}, Y: Field{[10]uint32{0x0066c591, 0x01f8cca1, 0x017b2359, 0x03da8ac7, 0x00c866aa, 0x00ec1fbf, 0x01a4c2ca, 0x01a1cbaa, 0x029a4e51, 0x00172fe8}}}, + {X: Field{[10]uint32{0x01dbcafd, 0x03068054, 0x00eb7a2f, 0x01921a3b, 0x02628752, 0x03237bac, 0x03c18eda, 0x0275a9c8, 0x03fb177b, 0x00250c1d}}, Y: Field{[10]uint32{0x00e7eb4e, 0x03d2a546, 0x01442e48, 0x004be97f, 0x03ccb6e3, 0x031f7e4f, 0x038248da, 0x0007274f, 0x01fc41ad, 0x0000866a}}}, + {X: Field{[10]uint32{0x0058b8e3, 0x0043cd99, 0x0174e9e8, 0x027e9593, 0x0382b33f, 0x00917aef, 0x0360f524, 0x0205ebf7, 0x01ac09c9, 0x001d72d8}}, Y: Field{[10]uint32{0x0003c367, 0x02b7f7bb, 0x00fb85b3, 0x01df3563, 0x02664414, 0x0277dae7, 0x00986f5f, 0x00210d18, 0x01bdf66f, 0x002aa04d}}}, + {X: Field{[10]uint32{0x031fccc8, 0x0039f238, 0x010c5075, 0x03cee6eb, 0x02c34fdc, 0x0239fc2b, 0x00922b22, 0x023a152f, 0x017727cb, 0x0006edf8}}, Y: Field{[10]uint32{0x00221ca3, 0x00368e30, 0x023d5238, 0x0030f989, 0x02855ea0, 0x0109737a, 0x01e322c2, 0x0179c2f6, 0x00861e85, 0x002efdca}}}, + {X: Field{[10]uint32{0x03ee8dbb, 0x02a536a2, 0x02a2eafd, 0x01c72638, 0x0087f024, 0x001743cc, 0x034b41cf, 0x036fcd16, 0x004b39e9, 0x002510ce}}, Y: Field{[10]uint32{0x024544ee, 0x0380723e, 0x02504aba, 0x015fdbde, 0x03e7b5da, 0x01f8e4e7, 0x00ac6e22, 0x0047d8e3, 0x0173ccb2, 0x0038d984}}}, + {X: Field{[10]uint32{0x03740d25, 0x033a9dbb, 0x0183961c, 0x015359a4, 0x00b4c27d, 0x0306a59a, 0x011638ae, 0x02aaca35, 0x01d5a68c, 0x00126f45}}, Y: Field{[10]uint32{0x0318c6e4, 0x01d0e7cf, 0x03e579db, 0x0183ab3c, 0x0377563b, 0x02657303, 0x03b9f0bd, 0x0391f7ef, 0x00688760, 0x001923f2}}}, + {X: Field{[10]uint32{0x02cfed85, 0x02517f5e, 0x02f9073f, 0x01e2960c, 0x02c151aa, 0x001e241f, 0x013684fd, 0x027a1613, 0x038e9280, 0x003431ed}}, Y: Field{[10]uint32{0x02970c89, 0x02e56ce3, 0x01d5707a, 0x01d48ab6, 0x03be91e4, 0x030c1480, 0x0129046b, 0x012902d5, 0x01abbe49, 0x002a0365}}}, + {X: Field{[10]uint32{0x02eb9275, 0x01af5f64, 0x00bf0cd9, 0x0361e5d2, 0x027c4c28, 0x033721d6, 0x018f9c75, 0x0088c97a, 0x01463ab2, 0x0037af77}}, Y: Field{[10]uint32{0x02b9799c, 0x02531c42, 0x00754ab5, 0x0192c4af, 0x0150d020, 0x01cebc96, 0x03b3dd7a, 0x03f2c17f, 0x008dc3ff, 0x0003440f}}}, + {X: Field{[10]uint32{0x03f33998, 0x01004bc6, 0x02dc33f6, 0x032152c0, 0x029f9ebc, 0x03681cc4, 0x022d6bf9, 0x01a8563a, 0x017c192a, 0x00075e6c}}, Y: Field{[10]uint32{0x00f60a5e, 0x039aef53, 0x00a12b78, 0x020af102, 0x020c7876, 0x033d91c0, 0x00d986fb, 0x0322a014, 0x00b3dbc1, 0x001bb206}}}, + {X: Field{[10]uint32{0x0281ca1b, 0x03f4db9b, 0x018449ed, 0x015c9931, 0x0374bd3b, 0x03454d7f, 0x009c38d7, 0x011fa5ca, 0x02ebff5d, 0x000bfadd}}, Y: Field{[10]uint32{0x01f93b74, 0x030ceee2, 0x00899378, 0x01d1e267, 0x03bb462e, 0x03e72af1, 0x02e18cd1, 0x02a08f7e, 0x024a7ba3, 0x00116f53}}}, + {X: Field{[10]uint32{0x00682573, 0x00bf82ec, 0x013c0637, 0x00e52619, 0x013eef1b, 0x0393d7bf, 0x0372ab62, 0x0169dfd4, 0x0190faef, 0x00005343}}, Y: Field{[10]uint32{0x02081453, 0x02a4bd8d, 0x0131236b, 0x025dcae8, 0x01601a4f, 0x01c65a0c, 0x0130f51d, 0x02e4c13d, 0x029a80c2, 0x00145fc5}}}, + {X: Field{[10]uint32{0x03313321, 0x008aafff, 0x02476fd5, 0x00dd1b4b, 0x02ad0941, 0x0042ce6c, 0x00bd9adb, 0x02470ce1, 0x03a5728f, 0x001cc1a9}}, Y: Field{[10]uint32{0x03a915a2, 0x005ee06d, 0x02a85a8e, 0x03b496e1, 0x01574c85, 0x0124bc6c, 0x03bd4e4f, 0x03a1ecd6, 0x02aba5b9, 0x00085788}}}, + {X: Field{[10]uint32{0x0255aaba, 0x0134d89a, 0x0171976d, 0x01e9cdfa, 0x00fd2406, 0x0263eb48, 0x02873a06, 0x036e32cc, 0x014f870c, 0x00217611}}, Y: Field{[10]uint32{0x0117e4a2, 0x010d2c4c, 0x033bb951, 0x03b8446b, 0x01539fe7, 0x02e720cf, 0x02a0715c, 0x027a3948, 0x000a36eb, 0x000db58f}}}, + {X: Field{[10]uint32{0x034384c3, 0x0028392c, 0x00dffc1f, 0x00a25b63, 0x0202f7da, 0x0386448a, 0x01b21cb9, 0x019ea896, 0x03829930, 0x0031a3d9}}, Y: Field{[10]uint32{0x0079e94a, 0x030da04c, 0x014ffb7d, 0x024daca6, 0x0308dcd4, 0x026575a8, 0x02484fb0, 0x00ce1dfa, 0x016a331c, 0x001d39ba}}}, + {X: Field{[10]uint32{0x00214dd3, 0x038c6101, 0x0217fe18, 0x0141a1c2, 0x00e29cd8, 0x00d47227, 0x02d5c9c3, 0x01554211, 0x01115dbe, 0x00205120}}, Y: Field{[10]uint32{0x030d19a8, 0x02af2c59, 0x02785210, 0x00f97b75, 0x01540ea3, 0x011e1a27, 0x03740e92, 0x030a71a5, 0x00b3d4cd, 0x001d775e}}}, + {X: Field{[10]uint32{0x00c945f5, 0x00120558, 0x00ebe3e2, 0x006f3d85, 0x0324214e, 0x01c1bc87, 0x0325993a, 0x0351e3d7, 0x0319de24, 0x000c42d6}}, Y: Field{[10]uint32{0x004318c3, 0x00ccc9c4, 0x021a147e, 0x014fc0a8, 0x01bf04cc, 0x03a1035a, 0x01d017e2, 0x03481782, 0x02ca0f01, 0x0022d0b1}}}, + {X: Field{[10]uint32{0x03c4bc3e, 0x0165d302, 0x03420a02, 0x00471a13, 0x01b0a90f, 0x00b9b514, 0x01e4bcab, 0x038ae77f, 0x03c74baf, 0x0033e291}}, Y: Field{[10]uint32{0x034c97d1, 0x00806ef8, 0x01c3d1cc, 0x01a70299, 0x02614d8a, 0x0321d8af, 0x02331e62, 0x021a65e1, 0x0264a9a7, 0x003c2dec}}}, + {X: Field{[10]uint32{0x038650fc, 0x011ebe62, 0x002d33d7, 0x0221a6e6, 0x03ab5533, 0x00f4ed82, 0x00100ec6, 0x02a4139c, 0x02267352, 0x00283f18}}, Y: Field{[10]uint32{0x0385865f, 0x025bcace, 0x02497e2b, 0x02cfe659, 0x03cd162e, 0x00870e67, 0x0388c395, 0x013ad192, 0x014c16b2, 0x002e8eb9}}}, + {X: Field{[10]uint32{0x00ff8bdb, 0x038f08db, 0x03fb07dc, 0x01c29386, 0x032e1eaf, 0x000114cc, 0x00d03391, 0x03751d61, 0x03e2535e, 0x002ab976}}, Y: Field{[10]uint32{0x03a7449b, 0x02554ced, 0x00321911, 0x03168d56, 0x02a51d85, 0x011cdccb, 0x02784392, 0x001adeec, 0x01f6e558, 0x001f3ea9}}}, + {X: Field{[10]uint32{0x0103ae39, 0x0285eec1, 0x01bd50b0, 0x009a1b69, 0x005c3172, 0x009c1686, 0x000792fb, 0x01d5432f, 0x03115b89, 0x002293a4}}, Y: Field{[10]uint32{0x017cef2c, 0x03a48ff4, 0x016922dd, 0x0362a770, 0x022442ae, 0x02a85d5c, 0x011b976d, 0x00231c5d, 0x01c8d85f, 0x000588eb}}}, + {X: Field{[10]uint32{0x03066463, 0x0336b1a1, 0x03f26a51, 0x028332eb, 0x018627e1, 0x02404096, 0x015cd612, 0x002c254a, 0x0135eca9, 0x0032f3bd}}, Y: Field{[10]uint32{0x03212653, 0x01fee35a, 0x03c259d8, 0x005cd18b, 0x02498fee, 0x03143855, 0x00afb9d8, 0x032670ff, 0x03fac2a2, 0x0019470b}}}, + {X: Field{[10]uint32{0x010f8c99, 0x00bab07b, 0x02609990, 0x0134bab5, 0x010bf12c, 0x00ae7210, 0x0290e336, 0x00af42ea, 0x01594d6a, 0x000965c5}}, Y: Field{[10]uint32{0x0075245e, 0x02b4afca, 0x02a8294b, 0x008b4289, 0x01d974dd, 0x00cfa2ec, 0x004002bc, 0x00132e05, 0x036cc974, 0x00127806}}}, + {X: Field{[10]uint32{0x02f1445f, 0x00b34a6d, 0x02a89167, 0x0178fa6c, 0x00a707da, 0x0203c0d9, 0x0389044c, 0x027daeb0, 0x028b2b04, 0x002dd535}}, Y: Field{[10]uint32{0x01e37740, 0x02bb1793, 0x01da1af2, 0x01097d37, 0x02bea555, 0x037f0bd3, 0x0092e3ed, 0x008f459c, 0x03c1625e, 0x0006ca6d}}}, + {X: Field{[10]uint32{0x03084037, 0x02263fd3, 0x0040aafa, 0x022f4a53, 0x02ab0bde, 0x03ce2d68, 0x03ca2fe2, 0x023ce731, 0x01a850e6, 0x00082ba9}}, Y: Field{[10]uint32{0x03f59444, 0x03877c00, 0x00fc20b4, 0x00f0c48c, 0x02ab1e88, 0x03f9f86c, 0x02fd6a56, 0x019bb1aa, 0x02b3f176, 0x001bb55d}}}, + {X: Field{[10]uint32{0x031979a6, 0x017876f8, 0x01e7bf0d, 0x0341f340, 0x02c6939f, 0x025fae16, 0x008cba9a, 0x03a48cca, 0x0202919d, 0x0009a113}}, Y: Field{[10]uint32{0x009ebfb7, 0x03154817, 0x005a16c7, 0x030a0cb1, 0x00cc08a6, 0x0063ed83, 0x026f11e5, 0x03eb4409, 0x028e06a5, 0x0000f7e6}}}, + {X: Field{[10]uint32{0x0028414c, 0x0372a577, 0x033fd485, 0x01ac68e2, 0x00efbe0a, 0x03b37e6d, 0x00fd413b, 0x026abc9f, 0x026133a6, 0x00046bf2}}, Y: Field{[10]uint32{0x03737b1c, 0x007d6b36, 0x0377b212, 0x03eee724, 0x009e4678, 0x0391ed00, 0x0047bbf8, 0x01ff988a, 0x0390c067, 0x002352e1}}}, + {X: Field{[10]uint32{0x00d2a63d, 0x01e37bba, 0x0160df3d, 0x01ec8f9c, 0x00498633, 0x039fa578, 0x03be09fc, 0x017594de, 0x00d52fe2, 0x00311b85}}, Y: Field{[10]uint32{0x01d2b723, 0x01d7563d, 0x017589b1, 0x03bd0fe8, 0x011f04b9, 0x0377d9e9, 0x0008dd77, 0x03a7fcb4, 0x01ab4211, 0x0028803f}}}, + {X: Field{[10]uint32{0x0055e4d7, 0x03673635, 0x02142d31, 0x00f23d63, 0x01241228, 0x00429d81, 0x01f598a2, 0x03f82491, 0x0212578a, 0x00015c2a}}, Y: Field{[10]uint32{0x00c50ac8, 0x00b03c4b, 0x01601b93, 0x02a57429, 0x019a2bed, 0x0144a81c, 0x03439e08, 0x00378750, 0x0361f8e9, 0x0030a3f6}}}, + {X: Field{[10]uint32{0x03c3fa64, 0x00c4237e, 0x00d1f3a3, 0x02b33ec5, 0x02224236, 0x00e15385, 0x0170b84e, 0x033a80a1, 0x035e88a1, 0x0034c4b6}}, Y: Field{[10]uint32{0x0397e1de, 0x0185fdb3, 0x026cf36b, 0x012ba9cb, 0x0064b8aa, 0x000c724c, 0x01fa0aae, 0x00e0f211, 0x00891843, 0x00329794}}}, + {X: Field{[10]uint32{0x02398087, 0x013b022a, 0x00a6d1fe, 0x02e1d889, 0x01c9be5e, 0x009e7c00, 0x01a9ad99, 0x019c3853, 0x00769981, 0x0007b88a}}, Y: Field{[10]uint32{0x02176dcc, 0x00c727c0, 0x034526ff, 0x02896031, 0x00b68603, 0x01511835, 0x0242c650, 0x038deb7f, 0x0114e303, 0x00188404}}}, + {X: Field{[10]uint32{0x03bb81a0, 0x02a6a955, 0x004a94af, 0x035cb530, 0x011700b9, 0x03259300, 0x005511d1, 0x013fd2ba, 0x02cde2b8, 0x0007ee72}}, Y: Field{[10]uint32{0x03737fcb, 0x0159d497, 0x0038ee04, 0x01acb3e8, 0x0115b130, 0x0108050d, 0x019f59f7, 0x017cab5b, 0x03c1295c, 0x0010c2dc}}}, + {X: Field{[10]uint32{0x011c085b, 0x00685d98, 0x01145f19, 0x02e7e913, 0x034a998b, 0x0201f9d0, 0x032934a9, 0x002d1da7, 0x002dd3cf, 0x00341332}}, Y: Field{[10]uint32{0x01be5fa9, 0x00805a40, 0x0392d155, 0x02b32196, 0x018f4c13, 0x03848f75, 0x02cf1cac, 0x03454710, 0x01afb551, 0x001e9286}}}, + {X: Field{[10]uint32{0x03e7e9aa, 0x03a1c133, 0x01e15712, 0x02295237, 0x038a544f, 0x009f7d77, 0x00b97f1f, 0x0345faea, 0x02088bd4, 0x0007932c}}, Y: Field{[10]uint32{0x019b828d, 0x0119b369, 0x03e515e8, 0x025971c6, 0x03db0663, 0x00ff68fc, 0x019930a5, 0x00cfb39e, 0x021eb729, 0x00360171}}}, + {X: Field{[10]uint32{0x0251590d, 0x01b71237, 0x028c717d, 0x01a77cf7, 0x008f769f, 0x02f3f6ae, 0x032bbadc, 0x02168359, 0x0398707a, 0x001482a8}}, Y: Field{[10]uint32{0x02e9ada8, 0x01495513, 0x0052a39a, 0x01366638, 0x013b5472, 0x0045daab, 0x01095e2f, 0x01e88b02, 0x00e4a904, 0x002634d1}}}, + {X: Field{[10]uint32{0x03614ef2, 0x032b1b9e, 0x005d7a79, 0x0325e0c9, 0x00e7080a, 0x001a4ff2, 0x00d45a06, 0x03bdf0b8, 0x03de165b, 0x000ea7f8}}, Y: Field{[10]uint32{0x03038d4a, 0x00187bdc, 0x0398e151, 0x0126a9b5, 0x007607ff, 0x024d3222, 0x02895f52, 0x037bbf1e, 0x0046fd3f, 0x00014625}}}, + {X: Field{[10]uint32{0x02149938, 0x03639cf6, 0x0005665f, 0x00190dcc, 0x018e3c68, 0x02db5a32, 0x0289a3a2, 0x00201790, 0x01ccc26c, 0x002724a7}}, Y: Field{[10]uint32{0x016ba2fa, 0x0285034e, 0x02dd956a, 0x00b6aaf9, 0x02c81edf, 0x00409d8a, 0x039f6bab, 0x024824fc, 0x0140b4c2, 0x001b7efe}}}, + {X: Field{[10]uint32{0x01be419e, 0x005dd222, 0x00a660d1, 0x02af1a6b, 0x03ee22ab, 0x0179e822, 0x02f1e42e, 0x0019462e, 0x00cef4e0, 0x000d56d8}}, Y: Field{[10]uint32{0x002604e2, 0x011bd0ff, 0x031b1ed1, 0x02baed13, 0x034fc01d, 0x02d4fedc, 0x020eaaac, 0x03ec417f, 0x023bb277, 0x001fd1e2}}}, + {X: Field{[10]uint32{0x03f7f37f, 0x039efcf5, 0x01705dfc, 0x02465d0e, 0x01ea9660, 0x00478406, 0x0389bb1c, 0x01110b84, 0x014f21ad, 0x001daffc}}, Y: Field{[10]uint32{0x0289d763, 0x01a95260, 0x0307b93f, 0x03e2488f, 0x02a29a34, 0x0308b80b, 0x034da79b, 0x02ac4ad7, 0x0291376a, 0x000e1568}}}, + {X: Field{[10]uint32{0x0156b454, 0x023e2d98, 0x021dbfa0, 0x02ffe88b, 0x02becbb4, 0x01620ce5, 0x023aadd3, 0x01e8edf8, 0x00df1057, 0x00246ee7}}, Y: Field{[10]uint32{0x00edbb91, 0x0333c965, 0x01a1ef2c, 0x010b0b2a, 0x00a3edea, 0x005846d7, 0x0053e93d, 0x026c0bb7, 0x039e4f14, 0x003b1b2e}}}, + {X: Field{[10]uint32{0x00865562, 0x00c4296a, 0x02537f8c, 0x01f53acc, 0x010a7dde, 0x003116c2, 0x0081204f, 0x01b184d9, 0x010f1ba8, 0x002795ac}}, Y: Field{[10]uint32{0x028aa67c, 0x010d8756, 0x022d516f, 0x02bc3461, 0x028b523e, 0x027ba31a, 0x03ca1a37, 0x0305b122, 0x013d8552, 0x00337cd1}}}, + {X: Field{[10]uint32{0x008e09f9, 0x0125cb66, 0x00af500f, 0x01d53a69, 0x01a11dcb, 0x00e4c15c, 0x02e28a42, 0x01af7939, 0x014daf28, 0x00139cd6}}, Y: Field{[10]uint32{0x018a36e7, 0x02d47c51, 0x02418cd1, 0x014c20a2, 0x01af0d8e, 0x0289d00d, 0x03d812ce, 0x010b3b80, 0x03d070c0, 0x002967c8}}}, + {X: Field{[10]uint32{0x0123d860, 0x02b254ce, 0x01bb1d9f, 0x01cc12c4, 0x00393d59, 0x032cb185, 0x01d3c557, 0x0227e9a4, 0x03f7e92d, 0x00055bf7}}, Y: Field{[10]uint32{0x013b360b, 0x03ac04e8, 0x032ee620, 0x033408c4, 0x00bff653, 0x0199408f, 0x02d68f64, 0x01d833bd, 0x0237c448, 0x0013a4a5}}}, + {X: Field{[10]uint32{0x028ea03b, 0x0029f9eb, 0x0356998b, 0x01487e24, 0x0170d23d, 0x00f4d36e, 0x017a9052, 0x008cd975, 0x0250eb37, 0x003cb22d}}, Y: Field{[10]uint32{0x001a7881, 0x010aa1c6, 0x0183d72f, 0x031d9ce5, 0x00204488, 0x002f7a7b, 0x03422a56, 0x026fda5c, 0x031484a9, 0x002f66b0}}}, + {X: Field{[10]uint32{0x0351e3e3, 0x01399eb1, 0x0316cd4a, 0x028806b8, 0x0288d526, 0x01ee05ae, 0x01bb92ba, 0x01d0c17d, 0x0257a4a3, 0x0009f74d}}, Y: Field{[10]uint32{0x03be3304, 0x019092e0, 0x00e8c022, 0x0007df61, 0x008a756b, 0x03fa5d79, 0x03af3d51, 0x029005ab, 0x01d3c0fa, 0x0022033f}}}, + {X: Field{[10]uint32{0x03b3d1bc, 0x013c58fa, 0x037081c6, 0x020b099c, 0x037a3901, 0x03312dfc, 0x00c5d981, 0x00d5f00f, 0x020c19f7, 0x003db097}}, Y: Field{[10]uint32{0x0289e43d, 0x039f08a3, 0x03c2f183, 0x014ab7cd, 0x01295341, 0x010ecd62, 0x0144d666, 0x0283e8e6, 0x03ea7c05, 0x0023202c}}}, + {X: Field{[10]uint32{0x03fad4f2, 0x02b1fd29, 0x01f45087, 0x0015c5bf, 0x02ae2803, 0x0274dd84, 0x02847d3d, 0x017a87a8, 0x000c7130, 0x00319e20}}, Y: Field{[10]uint32{0x000b63c6, 0x0127a21b, 0x022d92d5, 0x00e7c41b, 0x0055d41d, 0x02fabd76, 0x0349a42e, 0x00ae3376, 0x03f4d2fb, 0x002f97fe}}}, + {X: Field{[10]uint32{0x03f6d560, 0x0244ba04, 0x03d30931, 0x037e816f, 0x02f98177, 0x023c347b, 0x01e2d3a6, 0x01de1bf2, 0x0221e66b, 0x003cd76c}}, Y: Field{[10]uint32{0x003f29fa, 0x01f30039, 0x007c7bb6, 0x0054da9f, 0x0209eccb, 0x03f96c7b, 0x0174ca5a, 0x00810226, 0x00080e6b, 0x0012266a}}}, + {X: Field{[10]uint32{0x03e69de9, 0x00718e64, 0x00debd02, 0x0013101d, 0x035d944f, 0x00ce2230, 0x01843d6c, 0x018cfb6e, 0x037da915, 0x000ae4f8}}, Y: Field{[10]uint32{0x030522f0, 0x034f2212, 0x001676f2, 0x017f1c94, 0x00366a4a, 0x004c83bf, 0x0372a58f, 0x0287324f, 0x0095c6ff, 0x003acf44}}}, + {X: Field{[10]uint32{0x02091b69, 0x02407459, 0x02331060, 0x02522c52, 0x03e4875b, 0x03f6d01b, 0x01913ab0, 0x011c5bd4, 0x03b39045, 0x00206008}}, Y: Field{[10]uint32{0x0227e7b1, 0x039130a8, 0x00990f98, 0x0227e9f6, 0x026fe573, 0x00e393cb, 0x01af3e1f, 0x03911c31, 0x018a6224, 0x002cfd5c}}}, + {X: Field{[10]uint32{0x00662bb6, 0x00fc180f, 0x001fbdb3, 0x01ec84f7, 0x006645ce, 0x016c5061, 0x02e565b6, 0x029a76ca, 0x026a244c, 0x000059db}}, Y: Field{[10]uint32{0x022e0298, 0x028c7ee0, 0x001fdcf4, 0x026c5bb3, 0x01aeb968, 0x034b1f03, 0x03208300, 0x0177049a, 0x03a5deef, 0x00223872}}}, + {X: Field{[10]uint32{0x00298d54, 0x00b2c877, 0x02e4c391, 0x0150c38c, 0x01d96574, 0x008f8bc8, 0x0229d733, 0x00df78e1, 0x01a1a925, 0x0000be4c}}, Y: Field{[10]uint32{0x030ef904, 0x0077eba8, 0x03ccc52e, 0x03442f6e, 0x0195a5b2, 0x015899c4, 0x036fe43f, 0x003ebbbb, 0x01086fbc, 0x0024ca4b}}}, + {X: Field{[10]uint32{0x01fd0279, 0x01cc3228, 0x001af2d1, 0x03044898, 0x02be8a32, 0x013d1521, 0x03f20d9b, 0x0232462f, 0x0212f0dd, 0x001ee935}}, Y: Field{[10]uint32{0x02401179, 0x00d39e34, 0x00310d02, 0x0316f131, 0x013018e3, 0x0334126a, 0x0220af14, 0x0190c6cb, 0x02a1f5b0, 0x0022ab5e}}}, + {X: Field{[10]uint32{0x001d5e78, 0x01aa9872, 0x023d8528, 0x00233323, 0x03d6974d, 0x008de67a, 0x039b2be7, 0x01ea45a9, 0x02b085fe, 0x0003a37e}}, Y: Field{[10]uint32{0x023f926c, 0x02ead01b, 0x0181c37d, 0x00eec637, 0x00fbaec5, 0x01521eee, 0x0195d47a, 0x02d55b99, 0x006e519d, 0x0008485a}}}, + {X: Field{[10]uint32{0x0184ab5e, 0x02432683, 0x0264c94c, 0x028554d6, 0x02ea751d, 0x01facb9a, 0x01071061, 0x01fbd1be, 0x03bcb159, 0x001f5588}}, Y: Field{[10]uint32{0x00ce7575, 0x0372f0a8, 0x037e4204, 0x0351759a, 0x00701b3c, 0x02f8ba2e, 0x0114b70e, 0x031378c5, 0x03318004, 0x003718e7}}}, + {X: Field{[10]uint32{0x00a7ffa3, 0x03213ee2, 0x02ad57b9, 0x005a0778, 0x001e4ac9, 0x00ee0880, 0x0186194b, 0x02fb1d22, 0x022d8074, 0x00023a07}}, Y: Field{[10]uint32{0x019fa890, 0x02052641, 0x03e6cdc7, 0x026a37e4, 0x03fa94e9, 0x018b40fd, 0x016f6cf7, 0x01120329, 0x001df4a3, 0x0010217b}}}, + {X: Field{[10]uint32{0x028da71e, 0x034ea169, 0x0052b53e, 0x0324ad73, 0x0173e68a, 0x01a71a0a, 0x018affd1, 0x03b98978, 0x03e78290, 0x002a7568}}, Y: Field{[10]uint32{0x00805fd6, 0x026f92ad, 0x02536ee8, 0x0083391e, 0x028d6e8b, 0x01e4ce22, 0x009ed298, 0x01622546, 0x016bf9eb, 0x000736ab}}}, + {X: Field{[10]uint32{0x03dba2cd, 0x02c48f15, 0x00497d64, 0x03c391ab, 0x00984985, 0x00c4be12, 0x037b3134, 0x01f0380e, 0x03cabcda, 0x0013df05}}, Y: Field{[10]uint32{0x034a25d7, 0x02d72a28, 0x00f5e888, 0x002a6eaa, 0x00c87701, 0x0141c334, 0x00be7c1d, 0x0030efcf, 0x01d95f47, 0x002182fb}}}, + {X: Field{[10]uint32{0x03a64921, 0x02ec2ae7, 0x025b5b4f, 0x00f14d5c, 0x01034b8c, 0x0155cd3a, 0x01bd016f, 0x029ee6a4, 0x017a9234, 0x0011e3cf}}, Y: Field{[10]uint32{0x00051a1f, 0x02d364ee, 0x021018ff, 0x015360fc, 0x003f2530, 0x0087a69f, 0x02bca05c, 0x00fc63ae, 0x0394f025, 0x0036e5e8}}}, + {X: Field{[10]uint32{0x027963d5, 0x014bac7f, 0x02329f25, 0x02ad87ee, 0x033ea09a, 0x007685e7, 0x037cc01b, 0x01b9f5a7, 0x017b73d9, 0x002b39f9}}, Y: Field{[10]uint32{0x02908918, 0x03bee249, 0x0211b796, 0x013040c1, 0x017e213e, 0x03809659, 0x010f824b, 0x02f413b2, 0x01f22b8d, 0x003e8094}}}, + {X: Field{[10]uint32{0x0108d1fd, 0x001039ea, 0x01f24374, 0x03e28742, 0x034401f2, 0x0337da7b, 0x013757cd, 0x001dc609, 0x0067f517, 0x003355ba}}, Y: Field{[10]uint32{0x03338fe1, 0x012ee89f, 0x03b90a45, 0x02109ded, 0x0183e4bd, 0x03d8831f, 0x02b29a22, 0x002e9228, 0x021652cf, 0x0021e3dc}}}, + {X: Field{[10]uint32{0x024d5329, 0x00f944fb, 0x03e33e92, 0x01cae819, 0x0167a2c6, 0x01ec9769, 0x031dd249, 0x03e26992, 0x025cd9d2, 0x000c10ba}}, Y: Field{[10]uint32{0x0268b1fb, 0x03906cd6, 0x0261281c, 0x021a3817, 0x02d3fa1d, 0x01b489e8, 0x028568cd, 0x01a85282, 0x0144d551, 0x0002e130}}}, + {X: Field{[10]uint32{0x02712ec0, 0x0147b267, 0x03f1bce3, 0x02455ebc, 0x0130a2e2, 0x02be80d1, 0x002b042b, 0x03b49802, 0x008da094, 0x00015782}}, Y: Field{[10]uint32{0x026b33e9, 0x03274bb1, 0x01db2082, 0x037e0b54, 0x0100caca, 0x00531512, 0x00919335, 0x020c9258, 0x017f6439, 0x0031be0a}}}, + {X: Field{[10]uint32{0x03408966, 0x02d1a44e, 0x01875e63, 0x020fbb5c, 0x01e0e0da, 0x0295e83a, 0x03f91817, 0x024ef28d, 0x013a69dd, 0x002f4b6c}}, Y: Field{[10]uint32{0x01b0da2d, 0x029d0a82, 0x00cf8078, 0x0391016e, 0x00187ee6, 0x03d96cfe, 0x03c25d50, 0x026cbc48, 0x0260f948, 0x0011b849}}}, + {X: Field{[10]uint32{0x03d3d210, 0x0158939f, 0x03ecb609, 0x006661a9, 0x00ef7c52, 0x013b4685, 0x02678e62, 0x0211557f, 0x0110cdbb, 0x001f5e94}}, Y: Field{[10]uint32{0x02c6c37c, 0x01d2965a, 0x00867727, 0x03680570, 0x00626a46, 0x02ea9281, 0x019d640a, 0x011493e0, 0x01c3c0a5, 0x003255e3}}}, + {X: Field{[10]uint32{0x037a3fa7, 0x02cc3d24, 0x037825bd, 0x00a406f5, 0x02fd4e6d, 0x013b6af1, 0x01669813, 0x004d50aa, 0x0317513b, 0x0007bc48}}, Y: Field{[10]uint32{0x010e1ade, 0x012276d6, 0x00039909, 0x02651a13, 0x01123198, 0x01aa327e, 0x011cee33, 0x02f3bcd1, 0x0288a391, 0x0038392d}}}, + {X: Field{[10]uint32{0x0206baaf, 0x00c33a85, 0x01d1949d, 0x021a2e68, 0x029f463b, 0x00cb4bc4, 0x02c6b2e3, 0x02e5db6f, 0x0003766f, 0x003bfe81}}, Y: Field{[10]uint32{0x001cb082, 0x00877bef, 0x003c2382, 0x03116d28, 0x03b0cbfd, 0x0280f785, 0x00de1b7d, 0x03e993ce, 0x0083bf3e, 0x002316c7}}}, + {X: Field{[10]uint32{0x0087d65c, 0x03699868, 0x02069df5, 0x0036743a, 0x0320bf78, 0x01cebd6f, 0x025f0222, 0x02810955, 0x01e976a9, 0x0037249c}}, Y: Field{[10]uint32{0x023d6063, 0x033629ad, 0x010c1944, 0x01f18852, 0x0055ce7c, 0x031ceddb, 0x02f11bb1, 0x034c3261, 0x01e7b27b, 0x0037219e}}}, + {X: Field{[10]uint32{0x00264619, 0x02ad052e, 0x031b2384, 0x024c0376, 0x02a1336b, 0x01d54075, 0x00f69462, 0x0280b086, 0x01c21e1c, 0x0002b877}}, Y: Field{[10]uint32{0x01b26b48, 0x03d0881f, 0x0076a01f, 0x0326a21f, 0x0332466b, 0x026a9db5, 0x00e5c8e1, 0x018497b2, 0x039d300b, 0x000871ac}}}, + {X: Field{[10]uint32{0x0282cf5b, 0x0338ead3, 0x00a1285c, 0x0226fcaf, 0x01033dd9, 0x00c5918d, 0x00924808, 0x00d724ae, 0x000ffe58, 0x002ba8b0}}, Y: Field{[10]uint32{0x03dfa97f, 0x0064eca4, 0x029673e8, 0x035014ee, 0x039aad65, 0x019c2c64, 0x0220e84e, 0x0184490a, 0x00cf935a, 0x00185566}}}, + {X: Field{[10]uint32{0x02ebf696, 0x02322fa2, 0x0066b634, 0x00f98db2, 0x01b45e72, 0x02451d9f, 0x01b30b65, 0x00ea1bd5, 0x021634b4, 0x00244f43}}, Y: Field{[10]uint32{0x01971a9f, 0x01e9710e, 0x00305148, 0x00385235, 0x0039c0c1, 0x00c5c809, 0x02574af4, 0x03f69340, 0x020751af, 0x00385319}}}, + {X: Field{[10]uint32{0x03c26fc0, 0x0094b48e, 0x0005a301, 0x00f621e3, 0x0040fc16, 0x02ec3e72, 0x00d61916, 0x02b20178, 0x0354775c, 0x0013c2cc}}, Y: Field{[10]uint32{0x018da1e3, 0x03f0fcef, 0x01ac3fa8, 0x01ddba15, 0x016c0e10, 0x03cf897c, 0x02eb2eb5, 0x03f7e0e9, 0x00863aed, 0x002c2dd5}}}, + {X: Field{[10]uint32{0x0316129d, 0x028f693c, 0x0083b181, 0x02583e02, 0x02f469df, 0x03197ab4, 0x033b2f75, 0x025e3dd9, 0x014073cc, 0x00176886}}, Y: Field{[10]uint32{0x02f311d1, 0x03051663, 0x031eaf3b, 0x036d8a16, 0x030237b1, 0x0067ad50, 0x00d5e63e, 0x0099c15c, 0x0080743d, 0x002145b4}}}, + {X: Field{[10]uint32{0x03e74a23, 0x03bbb45a, 0x0163dd4b, 0x00c89a74, 0x02a8fbc1, 0x00d0134d, 0x0392fb46, 0x03e46b32, 0x0330ca7a, 0x001db86c}}, Y: Field{[10]uint32{0x027f5326, 0x02b83787, 0x02791bca, 0x000000c6, 0x0002ce28, 0x03fe837b, 0x016f2e52, 0x023bcfb2, 0x0253c590, 0x00042ce4}}}, + {X: Field{[10]uint32{0x02393e64, 0x025d743b, 0x01be1d76, 0x015d9c77, 0x018fe8ef, 0x022c8cd6, 0x03912637, 0x003b860b, 0x008b2f21, 0x00312f92}}, Y: Field{[10]uint32{0x0379f449, 0x01389c2e, 0x02aee10d, 0x01c3e01f, 0x00b910cd, 0x02632809, 0x00beadcb, 0x02695120, 0x012fa1a0, 0x002fb04e}}}, + {X: Field{[10]uint32{0x0333ff37, 0x00329724, 0x0254256d, 0x000134da, 0x0025f5be, 0x00f58230, 0x0313848d, 0x03f5dec7, 0x018da141, 0x000151a4}}, Y: Field{[10]uint32{0x01914ac7, 0x008fa3ce, 0x004dcc2d, 0x02920cdc, 0x03b0b82b, 0x033e686f, 0x0300d716, 0x02f86973, 0x00c79684, 0x0000f475}}}, + {X: Field{[10]uint32{0x026078de, 0x03065809, 0x0210a320, 0x02c6719f, 0x002e6df8, 0x023fc3d0, 0x03368b09, 0x03af44b7, 0x03c42c51, 0x00337f1b}}, Y: Field{[10]uint32{0x0189cb0d, 0x02f81a3f, 0x0063c0fe, 0x0046dbdd, 0x03c26894, 0x02cddd3c, 0x03bef456, 0x01499151, 0x0130023e, 0x0016617a}}}, + {X: Field{[10]uint32{0x00f03034, 0x02ef351f, 0x00e99c99, 0x012d1c63, 0x02036f0e, 0x01023851, 0x021eec62, 0x005281bc, 0x00cc593b, 0x001dcc3f}}, Y: Field{[10]uint32{0x02016b72, 0x023e644f, 0x0001ccc2, 0x02ddbe5c, 0x0152beac, 0x024aa9f7, 0x030151b4, 0x03904a70, 0x03e20736, 0x003c5f43}}}, + {X: Field{[10]uint32{0x0141b3ea, 0x01acd51e, 0x03090572, 0x02a57eb7, 0x01d855a7, 0x03e256f1, 0x00c7b559, 0x0023d19d, 0x03de4743, 0x0022a930}}, Y: Field{[10]uint32{0x00b8594d, 0x0357dc57, 0x018be7db, 0x01085432, 0x0278d9da, 0x03d00fb4, 0x034ae9ad, 0x00988c6f, 0x004a0eac, 0x003c9d71}}}, + {X: Field{[10]uint32{0x0325bb79, 0x01534434, 0x0313c5cb, 0x0375e156, 0x01f32d33, 0x02250124, 0x036f87ff, 0x03a49625, 0x01a497a4, 0x0005649b}}, Y: Field{[10]uint32{0x03ce8e51, 0x03c5b619, 0x00d40d35, 0x01e20a20, 0x001aa03c, 0x0327dc6e, 0x031bf67e, 0x02fea3a1, 0x00b65b1e, 0x00056b18}}}, + {X: Field{[10]uint32{0x01b1710d, 0x02bbaf7d, 0x02dbb35f, 0x01175159, 0x02fc99f5, 0x00005a23, 0x0062b48f, 0x0055d1e5, 0x00feaa74, 0x00157d3d}}, Y: Field{[10]uint32{0x0302d15f, 0x01486d2e, 0x03e0f662, 0x02b6db8f, 0x03d015a4, 0x01f7fb0f, 0x027b8945, 0x0132139d, 0x020563f2, 0x00203b3a}}}, + {X: Field{[10]uint32{0x00e93cee, 0x00dfda38, 0x03e0d0b1, 0x035d335c, 0x02f04a60, 0x0136ccdf, 0x0357c4ae, 0x01fccfe8, 0x02cf402f, 0x0025695a}}, Y: Field{[10]uint32{0x036501fd, 0x0086d3bb, 0x021a4bd5, 0x038f396d, 0x01d21c89, 0x00c326b9, 0x034e72ca, 0x02ea105b, 0x01bfb7c9, 0x0039c901}}}, + {X: Field{[10]uint32{0x027a2aac, 0x02206ae3, 0x03cd64b0, 0x03fc1266, 0x03c2a697, 0x00daa5e0, 0x0034b7bc, 0x01eed44c, 0x0190b50d, 0x000a2a7f}}, Y: Field{[10]uint32{0x0394a788, 0x00fea8e5, 0x01720b58, 0x03d453e8, 0x01a37cfa, 0x005421e0, 0x02635968, 0x01fa9268, 0x01b05c7e, 0x001dac54}}}, + {X: Field{[10]uint32{0x0334b672, 0x03e97bf9, 0x0393cb36, 0x034e6736, 0x00b571e2, 0x02b0e3ac, 0x0116b93e, 0x018b1290, 0x01136d64, 0x001901b7}}, Y: Field{[10]uint32{0x01d7fd1e, 0x03a8d617, 0x0274fdef, 0x006a5df6, 0x01b4c5eb, 0x00aa447e, 0x019c9d06, 0x0398514b, 0x037b92b8, 0x000e5d31}}}, + {X: Field{[10]uint32{0x01066529, 0x022d99bc, 0x003c2e3c, 0x01f8dd9c, 0x029d40c3, 0x024cdd1f, 0x03ef9039, 0x03870253, 0x023fcb62, 0x0023f63c}}, Y: Field{[10]uint32{0x014ab5c8, 0x003815c3, 0x02baf310, 0x004c8244, 0x025ba190, 0x016498a5, 0x029099d7, 0x005d6c92, 0x039bde10, 0x0022c2cb}}}, + {X: Field{[10]uint32{0x03a1a24b, 0x03bb0558, 0x023cc3e0, 0x02acb49c, 0x03cc525b, 0x02325390, 0x00679bdc, 0x01cda270, 0x022bd445, 0x00145e02}}, Y: Field{[10]uint32{0x00e01109, 0x000fe8bc, 0x03dfc646, 0x028cd4c3, 0x014b6b08, 0x024e4713, 0x006e5db2, 0x02347b1d, 0x019b0e17, 0x001409b3}}}, + {X: Field{[10]uint32{0x00283561, 0x02d0aa63, 0x01065bee, 0x00d1a123, 0x025b8c85, 0x0364e772, 0x02fe0e5c, 0x03e6fcf4, 0x013ae7c7, 0x002a8052}}, Y: Field{[10]uint32{0x00da82d9, 0x0220440b, 0x030f0e9e, 0x0022cf84, 0x021783e9, 0x006678f4, 0x023af145, 0x02d78d91, 0x03454a42, 0x002823c2}}}, + {X: Field{[10]uint32{0x00ceab70, 0x029814c6, 0x01afb97f, 0x035065b3, 0x010e4456, 0x01a89fa0, 0x001c4fad, 0x039b52b2, 0x0349d4bb, 0x003362ad}}, Y: Field{[10]uint32{0x01f59beb, 0x00bc6e17, 0x01231da3, 0x020ec14a, 0x01ca8621, 0x0335eb4f, 0x01c92493, 0x02883780, 0x0339bd68, 0x003f1b1d}}}, + {X: Field{[10]uint32{0x01fe3e32, 0x02fb1715, 0x027eae00, 0x03871668, 0x02379f56, 0x002ed221, 0x017bc54e, 0x014079e8, 0x02f2e824, 0x0039a737}}, Y: Field{[10]uint32{0x02c41cd4, 0x03616362, 0x03c80f41, 0x0399b12e, 0x013fe735, 0x018a45e4, 0x0125338f, 0x014e6040, 0x01104037, 0x0003a03b}}}, + {X: Field{[10]uint32{0x03ff8a8d, 0x00623836, 0x004a2f30, 0x01a5e406, 0x00f6b6ec, 0x038c6073, 0x0308af19, 0x007dfbbe, 0x02d9182b, 0x0016939c}}, Y: Field{[10]uint32{0x01f9da19, 0x0049408b, 0x00bee2d9, 0x0189ed6c, 0x017b62ea, 0x02b0ce97, 0x031c5885, 0x015f60ec, 0x03f2d5a8, 0x000b473d}}}, + {X: Field{[10]uint32{0x00984a2b, 0x00f46d7e, 0x0330a8f2, 0x01517740, 0x020d78f1, 0x024829e7, 0x00416b03, 0x01884504, 0x005948bd, 0x00278002}}, Y: Field{[10]uint32{0x008e3f62, 0x00459d32, 0x03338db6, 0x01683634, 0x00151ab8, 0x036c37f2, 0x030680ce, 0x03f4f308, 0x00920412, 0x000dab81}}}, + {X: Field{[10]uint32{0x018bc6ff, 0x00bc84c9, 0x00d18ac8, 0x0217c2f2, 0x0399f884, 0x03a90971, 0x02d35d4a, 0x021cd3b2, 0x03aeb12f, 0x001f82e5}}, Y: Field{[10]uint32{0x01f3946e, 0x01902d5a, 0x037bccc7, 0x01011a4b, 0x00ab95fb, 0x02c2db97, 0x003b0b8a, 0x006da8ff, 0x0224a4be, 0x0039dbd3}}}, + {X: Field{[10]uint32{0x01038ee2, 0x00cdb198, 0x00c860b9, 0x039606f8, 0x02b3064b, 0x019e1e3e, 0x0281ff28, 0x03125772, 0x00fb1bdf, 0x00188a17}}, Y: Field{[10]uint32{0x009b5161, 0x013705e1, 0x024f771f, 0x0360869b, 0x00a65ca8, 0x03c56775, 0x0285ea08, 0x03a7cd03, 0x03e45f60, 0x003cb246}}}, + {X: Field{[10]uint32{0x02c82623, 0x03c49aa9, 0x00ac8006, 0x02ebbbcf, 0x00cd3765, 0x01b57067, 0x01870ef3, 0x02d735a6, 0x02812de1, 0x001c08d3}}, Y: Field{[10]uint32{0x01330736, 0x00e6ee10, 0x036ec071, 0x01a43f56, 0x023140f7, 0x0011ce2e, 0x03f3c920, 0x029ddc98, 0x018a0f92, 0x0038b6fe}}}, + {X: Field{[10]uint32{0x015db07d, 0x025e29f3, 0x025e6136, 0x0399fd2f, 0x037dc1b4, 0x010d2c29, 0x0240ef57, 0x035737b7, 0x00618f31, 0x002b9dc1}}, Y: Field{[10]uint32{0x013d16e6, 0x034fa4f6, 0x03b01d46, 0x004a5459, 0x005cc43e, 0x001d00df, 0x0120e420, 0x01121cfd, 0x01646558, 0x00293894}}}, + {X: Field{[10]uint32{0x006f2b53, 0x0126dbc9, 0x026049e3, 0x039f590f, 0x005b7f4c, 0x01a39825, 0x02b78fb7, 0x01a62d22, 0x008fe4db, 0x0033b1eb}}, Y: Field{[10]uint32{0x025fadfb, 0x01b4006d, 0x03c325ca, 0x03d2035a, 0x017f5d3c, 0x0293f20c, 0x03bfd2a7, 0x001a150c, 0x01459933, 0x001246ed}}}, + {X: Field{[10]uint32{0x005eee36, 0x013571df, 0x006658db, 0x033f0bfe, 0x010852e4, 0x01588a5e, 0x02f62e83, 0x03927c9d, 0x0296b051, 0x002009db}}, Y: Field{[10]uint32{0x002f6d9d, 0x035f713d, 0x0330cf06, 0x0394dccf, 0x002c4d4c, 0x03dd44e9, 0x00d526e5, 0x0227c21c, 0x02968825, 0x003d4435}}}, + {X: Field{[10]uint32{0x0285b27d, 0x0110c5f6, 0x02741b89, 0x03260af6, 0x00e9e351, 0x03e3e142, 0x0163934e, 0x03eabb98, 0x03d49d85, 0x002c6409}}, Y: Field{[10]uint32{0x0247a824, 0x02ecdcba, 0x002d6dba, 0x0048815d, 0x028439f8, 0x00bac10b, 0x038443af, 0x039a72cd, 0x01cbdec0, 0x00304918}}}, + {X: Field{[10]uint32{0x030c792c, 0x0016cb95, 0x0308129e, 0x01bfef10, 0x01989c65, 0x02b851fc, 0x013fc78a, 0x0300074f, 0x014acf07, 0x0015d667}}, Y: Field{[10]uint32{0x018514b0, 0x02ef7100, 0x03a23f13, 0x03ce4042, 0x0238b57a, 0x02d2d3c0, 0x00e181b1, 0x02e85b86, 0x020fd215, 0x00173e3a}}}, + {X: Field{[10]uint32{0x02e6e4b7, 0x01b9063a, 0x01490bad, 0x0230ac1f, 0x00306e6f, 0x014f9d8f, 0x03cda2b6, 0x002e0b14, 0x0283fa11, 0x0016add8}}, Y: Field{[10]uint32{0x015e8ea0, 0x00deaead, 0x02884f74, 0x01c9058a, 0x03aebe82, 0x00decfe0, 0x027de95b, 0x01e38c5e, 0x0243cc2a, 0x003fcd95}}}, + {X: Field{[10]uint32{0x019d4a85, 0x000f9fe5, 0x00898649, 0x03910943, 0x0266ea88, 0x02800c77, 0x012dd45f, 0x035edfa9, 0x01e48602, 0x001ee4f6}}, Y: Field{[10]uint32{0x022b52f0, 0x01474cc5, 0x01099a48, 0x01807cab, 0x030f6dd0, 0x03beb5b0, 0x00f50a0f, 0x007fa428, 0x02015ab9, 0x0026732c}}}, + {X: Field{[10]uint32{0x0396ebb6, 0x038b38be, 0x00a9307e, 0x0086e584, 0x011de26a, 0x02cded2e, 0x0101be72, 0x009dd904, 0x00b6af64, 0x000b561e}}, Y: Field{[10]uint32{0x00fc585a, 0x012f5f0b, 0x018f547d, 0x01aedf48, 0x00a88706, 0x019c5bcb, 0x00815d94, 0x00013a08, 0x005ddf4b, 0x0004e3b8}}}, + {X: Field{[10]uint32{0x0160af3b, 0x00c9a739, 0x03ee7ac1, 0x03d4e33e, 0x03cf1ccf, 0x039072d5, 0x00a0fce2, 0x00cb6809, 0x0068eebc, 0x000758dc}}, Y: Field{[10]uint32{0x0276eadb, 0x0333f4b0, 0x009ed1b4, 0x0252dfba, 0x02d589a4, 0x0377282b, 0x005ce542, 0x0191159a, 0x01f1a289, 0x001aa4cb}}}, + {X: Field{[10]uint32{0x027de64c, 0x0273c111, 0x029a3947, 0x03bc3fa4, 0x0326a478, 0x0244ac15, 0x0187a680, 0x0048d7cc, 0x036b460e, 0x0020aeae}}, Y: Field{[10]uint32{0x0345647f, 0x00227844, 0x00faff51, 0x0068c9f4, 0x015de43a, 0x013560da, 0x033c11c9, 0x000e5807, 0x0233603d, 0x000ea7d3}}}, + {X: Field{[10]uint32{0x0348090a, 0x01b72a82, 0x01262c27, 0x00d0306e, 0x00a01c51, 0x036ab984, 0x03d899a9, 0x016ff6d8, 0x031d4e71, 0x002ba1b9}}, Y: Field{[10]uint32{0x00fd7b5e, 0x00778a53, 0x02126a30, 0x020e7271, 0x006f2f9e, 0x02d1619e, 0x02c4df93, 0x023deffa, 0x008bfcae, 0x000d592d}}}, + {X: Field{[10]uint32{0x02a413e8, 0x01d0d90a, 0x0000ef57, 0x02f247d0, 0x02664c50, 0x007accad, 0x02d6ad7f, 0x00730fd2, 0x02fbfc66, 0x000d6970}}, Y: Field{[10]uint32{0x02d6cde5, 0x006f33b2, 0x02752711, 0x0249332b, 0x01b901d6, 0x022a0721, 0x00727826, 0x019920f8, 0x01a2887f, 0x0012940a}}}, + {X: Field{[10]uint32{0x0058e2dc, 0x01ac1a56, 0x0360ecbc, 0x0259b1b5, 0x02763244, 0x03494766, 0x027c29ad, 0x00229d87, 0x007f4dd5, 0x000e1afc}}, Y: Field{[10]uint32{0x02407696, 0x006b61f7, 0x01f41e81, 0x008456a0, 0x020f07c6, 0x023ec52c, 0x0103e196, 0x0280e076, 0x00049c1f, 0x00353c52}}}, + {X: Field{[10]uint32{0x02346f96, 0x0379aa84, 0x00909fab, 0x01f32f5c, 0x03f9c46c, 0x02441361, 0x02c445ec, 0x03d33142, 0x001c9bd6, 0x0037fb0e}}, Y: Field{[10]uint32{0x017553f1, 0x033fc09e, 0x03f2e56c, 0x01da922d, 0x03d1ce0f, 0x0365a516, 0x017ef3ca, 0x01926f7e, 0x00f825b6, 0x00179cd1}}}, + {X: Field{[10]uint32{0x002abbb2, 0x0307aa21, 0x00aaa007, 0x000b48d6, 0x02f8a243, 0x03a82ff0, 0x013e0b70, 0x00133152, 0x00c604db, 0x000d81b7}}, Y: Field{[10]uint32{0x0287301d, 0x011f9e15, 0x025edbb5, 0x02c6f880, 0x0387eea8, 0x03b28d99, 0x03569a1f, 0x026dd2e2, 0x003bbc4d, 0x0029721d}}}, + {X: Field{[10]uint32{0x012b0016, 0x014a0979, 0x012b6660, 0x00e239db, 0x00db0860, 0x007464a8, 0x03025a47, 0x025b8a68, 0x0337e190, 0x000d1079}}, Y: Field{[10]uint32{0x01eef0da, 0x02d83de0, 0x01b9e7db, 0x0128de18, 0x015eb9bd, 0x02c8ce8e, 0x003ad47b, 0x032639cf, 0x037ed5ca, 0x0001b443}}}, + {X: Field{[10]uint32{0x02636e99, 0x01504289, 0x03030002, 0x02fd737f, 0x01b1d902, 0x015aa73d, 0x02a7a5c4, 0x0230d2d7, 0x002e460d, 0x002cb25f}}, Y: Field{[10]uint32{0x02057b7c, 0x0227a8f8, 0x02bfa232, 0x007c9c85, 0x021f151e, 0x03da5cf8, 0x03417b3c, 0x03bcc1d4, 0x0081a8c8, 0x0019c4cc}}}, + {X: Field{[10]uint32{0x03e045fd, 0x03054055, 0x01a973b6, 0x02dcf6d1, 0x019b7932, 0x016409ed, 0x03fdabed, 0x00f773e3, 0x018b59a4, 0x0009d02f}}, Y: Field{[10]uint32{0x03b02a85, 0x01e01fa4, 0x0182e1ea, 0x0392c3af, 0x03987aab, 0x0304ddd4, 0x00787a63, 0x006b50b0, 0x02b1f69f, 0x002041bc}}}, + {X: Field{[10]uint32{0x01b6c21b, 0x01597862, 0x009a69ee, 0x01a76331, 0x00aaa8e2, 0x00fe5003, 0x00b4f400, 0x02530336, 0x03d9bdbd, 0x00286b3f}}, Y: Field{[10]uint32{0x02f0235b, 0x0305afc3, 0x00a66df7, 0x03033065, 0x00bcc4fd, 0x03d393d1, 0x00acfbd4, 0x03d4625d, 0x017e0733, 0x0018bb1f}}}, + {X: Field{[10]uint32{0x03349847, 0x007d05d5, 0x00cff630, 0x02f4ccb6, 0x019a5357, 0x00e34eab, 0x038c0f15, 0x012b30c9, 0x02d68d52, 0x00142eca}}, Y: Field{[10]uint32{0x03acfb32, 0x00d4a1fe, 0x03139b85, 0x039659df, 0x02ba4b33, 0x03bc062e, 0x03d4c6e1, 0x009af6e5, 0x03d5d035, 0x00363f0c}}}, + {X: Field{[10]uint32{0x034fdbd9, 0x03420e17, 0x0132ec9f, 0x02823f43, 0x01948e2c, 0x008a2040, 0x035e8601, 0x02d3eb59, 0x02626031, 0x003af7ec}}, Y: Field{[10]uint32{0x000dbf2e, 0x018a69e9, 0x02a0a9c4, 0x010a2546, 0x034f853a, 0x019b8c66, 0x03964e44, 0x0044f76c, 0x026cc470, 0x002c1e01}}}, + {X: Field{[10]uint32{0x018bd48f, 0x022dd0ba, 0x001f63a4, 0x03e05c55, 0x01d57b35, 0x0023f56b, 0x02f73e82, 0x00a8bef7, 0x00236548, 0x00176bd3}}, Y: Field{[10]uint32{0x0287f967, 0x031d728b, 0x0327db2c, 0x03cb08c0, 0x009cbd11, 0x03e8f7fb, 0x03fc83c4, 0x02181fd7, 0x03cb5a24, 0x0024056f}}}, + {X: Field{[10]uint32{0x028533c7, 0x0147327b, 0x0277d085, 0x017cac4a, 0x01238c90, 0x00d4fe09, 0x0219517f, 0x0020519e, 0x00205d84, 0x0008b6e7}}, Y: Field{[10]uint32{0x006dcdf8, 0x01c0e2ce, 0x0231c85f, 0x00a6d811, 0x027ad19e, 0x02e6b3c3, 0x02192642, 0x00a8a28c, 0x03c82343, 0x001a0286}}}, + {X: Field{[10]uint32{0x00c100ae, 0x01ca1875, 0x00d4f4db, 0x016111a5, 0x019fb446, 0x021b9b95, 0x0225213f, 0x02f94649, 0x01d102e8, 0x0010110d}}, Y: Field{[10]uint32{0x011586d1, 0x0213de1b, 0x00f4cb62, 0x016a5078, 0x02dd734e, 0x03e09246, 0x02047768, 0x03bbeba3, 0x0282b321, 0x0027af39}}}, + {X: Field{[10]uint32{0x0037530f, 0x00994cba, 0x009f260c, 0x027331a7, 0x00fe59df, 0x0354b687, 0x0200d1a3, 0x029b7be1, 0x02ff6831, 0x003730db}}, Y: Field{[10]uint32{0x0377a893, 0x0256b307, 0x014d65b7, 0x03fda643, 0x03b6b385, 0x01e159b2, 0x0298c135, 0x02dfa17a, 0x01e67360, 0x0021826d}}}, + {X: Field{[10]uint32{0x001a1514, 0x014f9e67, 0x019a8b43, 0x0101178b, 0x00e991d1, 0x018cf2d2, 0x004cd04c, 0x00e0f929, 0x03941a1c, 0x003bc37e}}, Y: Field{[10]uint32{0x036f6f42, 0x01721abd, 0x006d461e, 0x02f0f8cd, 0x019c3599, 0x01a4fb41, 0x033afabf, 0x017e6adc, 0x0160f2a7, 0x00009a17}}}, + {X: Field{[10]uint32{0x01766b8a, 0x02f14dc7, 0x01b3086a, 0x02eb6758, 0x02410b0f, 0x03299ac1, 0x012e18f2, 0x03bf5ad3, 0x00fdc6c3, 0x00092213}}, Y: Field{[10]uint32{0x00e2267d, 0x01ec5f6b, 0x0119e465, 0x0066a9a1, 0x0086a786, 0x0288f04c, 0x015c6bf8, 0x036a9f4e, 0x008566f3, 0x001f0737}}}, + {X: Field{[10]uint32{0x02cd8b20, 0x01d18c92, 0x01a450de, 0x00219e36, 0x01485b07, 0x0206dbc1, 0x0207756f, 0x012a04b1, 0x0291c700, 0x001506d9}}, Y: Field{[10]uint32{0x01c609d7, 0x0179d931, 0x0117fc7f, 0x037eba61, 0x00cefff3, 0x008e0de1, 0x009f0d50, 0x010a6b1d, 0x03018a3c, 0x0037733c}}}, + {X: Field{[10]uint32{0x01fa822d, 0x0090b068, 0x03b9a138, 0x0322ee76, 0x02f792cf, 0x03c7e0a5, 0x005eea4f, 0x00b8fea4, 0x01696726, 0x0001518a}}, Y: Field{[10]uint32{0x01e6880e, 0x02b6ff88, 0x0218570d, 0x01c043db, 0x03da2d73, 0x02195967, 0x02d8e7f9, 0x02549d3e, 0x02898e42, 0x0018c048}}}, + {X: Field{[10]uint32{0x00848e83, 0x0200833b, 0x01f6d6e1, 0x01241b3a, 0x003ddfd9, 0x001185bf, 0x0122bb97, 0x004a7734, 0x0112ad2c, 0x002501c2}}, Y: Field{[10]uint32{0x0314017b, 0x02e9b66d, 0x01536d1f, 0x03e0ad5c, 0x00b5d261, 0x0169cca9, 0x0101080b, 0x0327c532, 0x00e56bfa, 0x00270ece}}}, + {X: Field{[10]uint32{0x023ca6c9, 0x02e4a95b, 0x020173ed, 0x0180d94e, 0x02ea73b0, 0x00505ee4, 0x028071cc, 0x01987abe, 0x00e48ddc, 0x000a98cc}}, Y: Field{[10]uint32{0x03fc7d79, 0x01d878f0, 0x016f3d8b, 0x00e1ad54, 0x035802bc, 0x02fd3eea, 0x02d56a3f, 0x030d42e8, 0x01cd4754, 0x002ce314}}}, + {X: Field{[10]uint32{0x03f7424d, 0x02c11eb4, 0x00c39dac, 0x0071fbf1, 0x008c418c, 0x03fd69f5, 0x024078c5, 0x03685d6b, 0x00935f95, 0x002450b9}}, Y: Field{[10]uint32{0x0085cd05, 0x022b732e, 0x02ac0e69, 0x01fd629f, 0x0137d0ab, 0x0293e6c1, 0x0284ea55, 0x00cea7a1, 0x0274c471, 0x00054596}}}, + {X: Field{[10]uint32{0x0285804d, 0x03a995b2, 0x0169ad1e, 0x01c9ff2f, 0x000bb8d3, 0x022351fa, 0x0263ef38, 0x0137bb6e, 0x03295cac, 0x000b8662}}, Y: Field{[10]uint32{0x0380fd52, 0x01ae7b19, 0x02e63067, 0x01a07148, 0x00eb3824, 0x02c720c3, 0x02b0c2b1, 0x03fef854, 0x01b3e700, 0x000c7757}}}, + {X: Field{[10]uint32{0x0272f72d, 0x03d4db2c, 0x0264e5a3, 0x038befc0, 0x0032a671, 0x02f66f16, 0x023e52a7, 0x032bebc4, 0x01e9b2ef, 0x002d138d}}, Y: Field{[10]uint32{0x02a43423, 0x005a9696, 0x02b0871c, 0x0304e4d2, 0x03f80c81, 0x0090f992, 0x032b80a1, 0x027f5098, 0x03e3beb3, 0x00235227}}}, + {X: Field{[10]uint32{0x003a3cd7, 0x037d906e, 0x013beefd, 0x02d6439b, 0x00f609f0, 0x008918f7, 0x02cf365c, 0x012db6d7, 0x0101e132, 0x0037266b}}, Y: Field{[10]uint32{0x0111b682, 0x03f921bb, 0x003decf0, 0x02511e81, 0x03a4c1e7, 0x00e4f021, 0x000ad6a4, 0x02fabccb, 0x02ca2fea, 0x002d2d08}}}, + {X: Field{[10]uint32{0x0162a359, 0x03146ebe, 0x0237648f, 0x03f3a8a1, 0x013029eb, 0x021a3d34, 0x02af89bb, 0x0070b73e, 0x038eeb99, 0x00385d20}}, Y: Field{[10]uint32{0x00e7570b, 0x016b4aa8, 0x01ec70c0, 0x018a086a, 0x000238dc, 0x0369731d, 0x031b60a4, 0x0377252e, 0x008727cb, 0x003e0373}}}, + {X: Field{[10]uint32{0x02583d33, 0x00437ea8, 0x0349765d, 0x0062d5a2, 0x014ca21d, 0x02dce7ad, 0x00d79a48, 0x005b510b, 0x018b15bd, 0x0018900d}}, Y: Field{[10]uint32{0x00ec2d00, 0x00f0375b, 0x0013fa61, 0x005b7ccd, 0x01fc5461, 0x0290db54, 0x02d8caa8, 0x01d543b5, 0x014d724e, 0x001ab2c1}}}, + {X: Field{[10]uint32{0x023f8d70, 0x01a0d0b9, 0x007b2e62, 0x01dcb070, 0x02aa61c0, 0x03f4ebde, 0x03a29b4b, 0x02b03d50, 0x00eb560a, 0x0029d5ff}}, Y: Field{[10]uint32{0x000352da, 0x0031033d, 0x0057b39d, 0x01419d25, 0x02b4c074, 0x02f1a880, 0x00713e27, 0x015743ed, 0x02eff808, 0x00161933}}}, + {X: Field{[10]uint32{0x03777bba, 0x02f5044b, 0x008143a1, 0x02602f1d, 0x01d4b1f4, 0x03942746, 0x02e94162, 0x00527640, 0x007357c3, 0x003cdb84}}, Y: Field{[10]uint32{0x03d1993e, 0x02a5a60e, 0x0025a14a, 0x010de3c3, 0x0045f74b, 0x01b0ff92, 0x00d93967, 0x009a4f90, 0x022d139a, 0x003535f6}}}, + {X: Field{[10]uint32{0x024af99a, 0x01a75648, 0x0020b172, 0x013f3125, 0x004a8e0e, 0x0189dfbc, 0x0134949b, 0x003fdc4e, 0x014b55a4, 0x00213bcb}}, Y: Field{[10]uint32{0x01ea73a6, 0x020c2161, 0x03e3e80a, 0x01d9d53b, 0x0260465e, 0x02c759d4, 0x03f2b7a0, 0x01423d97, 0x00b701d3, 0x0015ebff}}}, + {X: Field{[10]uint32{0x03ce7576, 0x01e1e10f, 0x03f4784f, 0x037d022c, 0x0296b046, 0x03fca2eb, 0x02fdca34, 0x03d9b5f7, 0x024b274f, 0x0004e3bd}}, Y: Field{[10]uint32{0x02e1ecf1, 0x021546ff, 0x03d4ced9, 0x004bb929, 0x01dfe979, 0x000c94bb, 0x02010cbd, 0x01f10d04, 0x00e51d51, 0x003af741}}}, + {X: Field{[10]uint32{0x011f318c, 0x032d820f, 0x0189b435, 0x00a38b66, 0x032d4547, 0x01434c15, 0x02a11455, 0x015a4884, 0x03fe2ba0, 0x003a0bc0}}, Y: Field{[10]uint32{0x0012dcda, 0x017d8fd6, 0x010f2eb2, 0x00dd8099, 0x03613b29, 0x028d3848, 0x02aaf1fe, 0x0162064a, 0x03b9cf29, 0x0006469b}}}, + {X: Field{[10]uint32{0x02afb317, 0x02f4b216, 0x0296be44, 0x02630346, 0x00111170, 0x03cd17b0, 0x035fb3e7, 0x01beb1fa, 0x0000676b, 0x0015a9a1}}, Y: Field{[10]uint32{0x031dfb4e, 0x016c33a7, 0x0194903f, 0x03f33874, 0x02f49ff2, 0x03106067, 0x01dcb5f4, 0x02df316e, 0x027a5ae1, 0x000e9060}}}, + {X: Field{[10]uint32{0x001309f5, 0x028f0cb7, 0x010084ef, 0x006b9029, 0x028f735b, 0x007c9982, 0x02fe255e, 0x00f6d3ce, 0x007f1b35, 0x0020bd5d}}, Y: Field{[10]uint32{0x024a0144, 0x02a64189, 0x03bd7dd5, 0x028a933d, 0x03d05f9e, 0x0055caef, 0x007e4c67, 0x03007dfa, 0x0103f4cc, 0x0010ba2e}}}, + {X: Field{[10]uint32{0x02e0cf13, 0x02b5651d, 0x002bb0bf, 0x03040678, 0x0280ef76, 0x01dacc4d, 0x0389e0c3, 0x00659292, 0x0141c47b, 0x002244da}}, Y: Field{[10]uint32{0x002d3f3b, 0x01d4de8b, 0x0221af6f, 0x01641dfd, 0x01d722e6, 0x005df18d, 0x0071bc50, 0x01593fd2, 0x0385fb6a, 0x002ce8a9}}}, + {X: Field{[10]uint32{0x02238909, 0x018297d0, 0x01df1c73, 0x02ee5d9c, 0x010b9954, 0x03bd7628, 0x030cb51e, 0x03d60003, 0x01690c98, 0x00318942}}, Y: Field{[10]uint32{0x018ec724, 0x01cc68c1, 0x01240219, 0x0365ac7b, 0x01552d5b, 0x0065f83a, 0x013f935e, 0x02ac8937, 0x024c915e, 0x0020f40c}}}, + {X: Field{[10]uint32{0x03c7e3b4, 0x0047f523, 0x00184274, 0x02377439, 0x01ad1293, 0x03aa6761, 0x024a481d, 0x00c80119, 0x02d96391, 0x00388e66}}, Y: Field{[10]uint32{0x03c69d47, 0x01537e24, 0x03298f9b, 0x0287ec43, 0x005d8b1f, 0x02270de0, 0x02836ed3, 0x00a388ba, 0x0162beae, 0x00183fff}}}, + {X: Field{[10]uint32{0x0003d959, 0x03e0870c, 0x007b85a1, 0x035f09f3, 0x020a59c5, 0x032345e5, 0x02383d6c, 0x00a64a69, 0x031c186d, 0x00013402}}, Y: Field{[10]uint32{0x02487640, 0x00c9fa33, 0x01cb4687, 0x0375be35, 0x02dd4aa3, 0x002df1f9, 0x01c8ce7a, 0x0067f527, 0x02d127eb, 0x0021d4ba}}}, + {X: Field{[10]uint32{0x0264121e, 0x025ceba4, 0x003185ea, 0x028d6591, 0x00933cbf, 0x02df8712, 0x02548e98, 0x014b246a, 0x03ef8b8b, 0x000d1198}}, Y: Field{[10]uint32{0x014d9efd, 0x02b9d814, 0x02b06dfe, 0x01738bdc, 0x036fe388, 0x02fa959c, 0x017e6240, 0x023bb2e5, 0x01c89dfe, 0x001cf426}}}, + {X: Field{[10]uint32{0x00de6648, 0x0222ef68, 0x019e35c7, 0x0355f28c, 0x03f411d3, 0x02526d3c, 0x03038d47, 0x00aa60cc, 0x004ddbd2, 0x000dffd2}}, Y: Field{[10]uint32{0x00547c67, 0x02b9aa48, 0x00bfba9a, 0x021a0e60, 0x03a45cf0, 0x03b07d70, 0x03b14554, 0x0236074b, 0x014b5161, 0x0015694e}}}, + {X: Field{[10]uint32{0x03556ca5, 0x0256c185, 0x012e14d7, 0x01c035bc, 0x00d2881f, 0x0331b4f6, 0x01339d14, 0x0019ae42, 0x01db0ad5, 0x0033cef3}}, Y: Field{[10]uint32{0x01678a6f, 0x025e91c4, 0x000b13c1, 0x03dc22df, 0x00b61b90, 0x009d8089, 0x020e4023, 0x003c8188, 0x02bc99e2, 0x003849a1}}}, + {X: Field{[10]uint32{0x01a73402, 0x000bb7d7, 0x00d4149f, 0x02852606, 0x03d35e47, 0x00f5d296, 0x00f91101, 0x0346b28e, 0x02e7db8f, 0x00258740}}, Y: Field{[10]uint32{0x01fed240, 0x0014561c, 0x0282a1db, 0x02b7f8be, 0x01765dc8, 0x03fc85fa, 0x0115ca3b, 0x019df059, 0x02acd698, 0x002518ba}}}, + {X: Field{[10]uint32{0x006ec3ba, 0x02be5fad, 0x0135c5e1, 0x00901169, 0x003648b7, 0x01d2052b, 0x0122ca60, 0x02399497, 0x0390574a, 0x0010f98b}}, Y: Field{[10]uint32{0x01939734, 0x01a8d6cf, 0x033a318f, 0x02167b71, 0x03e141dc, 0x00634140, 0x029e20ed, 0x033c5e4d, 0x025617c1, 0x001b7bc2}}}, + {X: Field{[10]uint32{0x03dfdbb7, 0x02001495, 0x0116033b, 0x02d2a58b, 0x020457e4, 0x0237a4ec, 0x02113cf9, 0x000630d4, 0x03799d79, 0x00279a0a}}, Y: Field{[10]uint32{0x0049041b, 0x00fb1754, 0x001e93f2, 0x0153ba6a, 0x01b29833, 0x010174b2, 0x00468a06, 0x018d0e27, 0x0316bfe9, 0x00276e72}}}, + {X: Field{[10]uint32{0x01a1a8b4, 0x021db935, 0x008f9436, 0x0390800b, 0x025f9682, 0x02148064, 0x0222d130, 0x02d676ca, 0x03a78079, 0x001e4061}}, Y: Field{[10]uint32{0x03fa456e, 0x02564b2b, 0x004de17e, 0x0075a981, 0x02ade0ad, 0x01aa39aa, 0x014381e5, 0x00c600d9, 0x0346f6b4, 0x00009722}}}, + {X: Field{[10]uint32{0x00169583, 0x0339557c, 0x02b1d683, 0x030c356e, 0x01662a0d, 0x016887ff, 0x0222d653, 0x012cce67, 0x038a6c74, 0x0024a292}}, Y: Field{[10]uint32{0x026fcf84, 0x01373266, 0x01eaa75d, 0x03d9a1ff, 0x01323d55, 0x03fb21ea, 0x01af7e45, 0x02552f87, 0x0284c064, 0x000947fb}}}, + {X: Field{[10]uint32{0x02084c88, 0x01b0fd2f, 0x03fde6c1, 0x00fa6efe, 0x03a6ffb7, 0x03262e1b, 0x01872de8, 0x00bcb2b1, 0x00da8118, 0x001a13a2}}, Y: Field{[10]uint32{0x036383fe, 0x03c19173, 0x00bb60bf, 0x02c1abee, 0x03ad179e, 0x01d55eac, 0x01ae45ff, 0x018b5648, 0x019dfc9d, 0x0031146d}}}, + {X: Field{[10]uint32{0x01174343, 0x02defe93, 0x02f6cad7, 0x033aa165, 0x038e8166, 0x02526f3a, 0x00ebfa86, 0x02c335ea, 0x0283a403, 0x0022f74b}}, Y: Field{[10]uint32{0x00177172, 0x032f23ea, 0x03bad08c, 0x0167a7bf, 0x03643bb3, 0x03b24df0, 0x0307b2fe, 0x020be1f5, 0x014797f6, 0x001c8830}}}, + {X: Field{[10]uint32{0x02399543, 0x03a02c2f, 0x008b4b69, 0x01a791a5, 0x03b71958, 0x03e487da, 0x0258ef50, 0x01254a14, 0x03216e3c, 0x0030fe8e}}, Y: Field{[10]uint32{0x02ec1796, 0x03b654c2, 0x0310fc8e, 0x0285d22e, 0x015a519c, 0x0009b0b1, 0x00880503, 0x01986ddc, 0x00ed21f6, 0x003ac811}}}, + {X: Field{[10]uint32{0x037e63a2, 0x028e29eb, 0x02b483d6, 0x034b990a, 0x00195a8b, 0x0034d578, 0x01fb0df5, 0x00a564de, 0x0013eb2d, 0x0007018f}}, Y: Field{[10]uint32{0x030f2abb, 0x03d5cde1, 0x02ed7cfc, 0x01d1fd11, 0x02b00428, 0x0310389a, 0x005005c8, 0x027fd9d7, 0x0392d14c, 0x000814e3}}}, + {X: Field{[10]uint32{0x0331d452, 0x006d7803, 0x0399981f, 0x037841f8, 0x016c6086, 0x009f2d4e, 0x002dc6c2, 0x03063d2e, 0x03977b54, 0x00183019}}, Y: Field{[10]uint32{0x0098429a, 0x0157c637, 0x0013b737, 0x03dc2ab3, 0x02ce0e8b, 0x015ebebf, 0x03d2617b, 0x0046cb9b, 0x02c4e3eb, 0x000fd151}}}, + {X: Field{[10]uint32{0x02a36856, 0x03c022ff, 0x01722c0a, 0x00aebc61, 0x03421cdc, 0x008c7b62, 0x0263e90a, 0x01aaef3c, 0x03999225, 0x003f0573}}, Y: Field{[10]uint32{0x0235d798, 0x00d375f1, 0x0197e276, 0x025fd726, 0x00c01dbd, 0x0268efc9, 0x01d46e46, 0x00214dc3, 0x02a4d9c4, 0x002af8d1}}}, + {X: Field{[10]uint32{0x03249454, 0x023f9109, 0x02ee5c6f, 0x01a99649, 0x001a92b0, 0x0322c1ee, 0x00da262b, 0x00eedd0a, 0x01851817, 0x003d850e}}, Y: Field{[10]uint32{0x0301cf84, 0x00f38635, 0x004aab9f, 0x03a6731e, 0x0011fced, 0x02fa397a, 0x001f06d4, 0x01630835, 0x02ef3a25, 0x002c760c}}}, + {X: Field{[10]uint32{0x0261b5f5, 0x0085b73b, 0x00bc7ad5, 0x010c4275, 0x0301f1fd, 0x01a845aa, 0x02685427, 0x02110907, 0x00a96221, 0x0015e516}}, Y: Field{[10]uint32{0x0053e2d8, 0x0352d84b, 0x03e237bd, 0x01365eba, 0x0021274a, 0x00d6fb5c, 0x00c8d461, 0x015f1857, 0x007468c1, 0x000cf959}}}, + {X: Field{[10]uint32{0x01fe62e7, 0x01479e90, 0x023bd8c0, 0x0007f85f, 0x03abab20, 0x038d57a3, 0x0162678f, 0x0104cad5, 0x03dcb080, 0x0018dd54}}, Y: Field{[10]uint32{0x03572dce, 0x005e4826, 0x00d3c319, 0x025a1d38, 0x036989b2, 0x019ee853, 0x026a9511, 0x01b87fc6, 0x01c2ad58, 0x000a2f5b}}}, + {X: Field{[10]uint32{0x0180e2a3, 0x00dc8bad, 0x028ea66c, 0x036d5dfe, 0x0389e99d, 0x03953d60, 0x01ddb923, 0x02156f88, 0x030f6f64, 0x003baef5}}, Y: Field{[10]uint32{0x02fd4d68, 0x021a09cc, 0x00e1dedc, 0x0260f7d8, 0x007c9866, 0x034eb13b, 0x015606ea, 0x000d1529, 0x017915b5, 0x000f46da}}}, + {X: Field{[10]uint32{0x006c56fb, 0x0143909a, 0x01ddb2e3, 0x022db971, 0x023a6e88, 0x01de448d, 0x011135f3, 0x02c769a2, 0x031f2bf4, 0x0013b224}}, Y: Field{[10]uint32{0x02a09bc7, 0x0277c8d5, 0x019f535d, 0x004155a4, 0x003cbab9, 0x02370f8a, 0x03197704, 0x00c1aaf5, 0x02794c2b, 0x00357db1}}}, + {X: Field{[10]uint32{0x02e9730e, 0x03094eaf, 0x001a735b, 0x01733137, 0x018f4937, 0x03f571dc, 0x004deabf, 0x01f9e9f6, 0x0376fc5b, 0x001ad69f}}, Y: Field{[10]uint32{0x03b58af8, 0x0277d910, 0x00b7af8f, 0x02afdab6, 0x039eafb8, 0x006155d5, 0x02562df1, 0x017daac4, 0x01c48fbf, 0x0007a4d7}}}, + {X: Field{[10]uint32{0x02013af7, 0x0391e227, 0x00f27683, 0x03cc8753, 0x035f5b73, 0x01f8a601, 0x024c7591, 0x02562909, 0x01ebf620, 0x000a8c4a}}, Y: Field{[10]uint32{0x01020da4, 0x006487f4, 0x036c689a, 0x00be9b09, 0x01406673, 0x036e2b1f, 0x0346edef, 0x00a2cfe8, 0x01e4c1fc, 0x003a503d}}}, + {X: Field{[10]uint32{0x0328b5ab, 0x03d458ee, 0x02d124c6, 0x00ef120d, 0x0294a872, 0x02fcb209, 0x0307f345, 0x010fcde0, 0x001ce994, 0x00022ffa}}, Y: Field{[10]uint32{0x00433c71, 0x0192b0fc, 0x01348364, 0x01214b99, 0x0087de98, 0x02345de9, 0x028edc26, 0x017ebe5d, 0x0227857e, 0x00162c5b}}}, + {X: Field{[10]uint32{0x02d61be3, 0x00cdef62, 0x00f831c1, 0x024a8143, 0x01054236, 0x03934d5b, 0x039daf3e, 0x0159b4b4, 0x00d9449c, 0x0011e083}}, Y: Field{[10]uint32{0x0152c2e4, 0x03ca3326, 0x026655e5, 0x0232a6ba, 0x011200d3, 0x00bc9d11, 0x02d069d2, 0x02a04001, 0x02032988, 0x001237eb}}}, + {X: Field{[10]uint32{0x01a934e2, 0x03a64855, 0x01131cd6, 0x0149075f, 0x00f9e8dc, 0x0130fbca, 0x01221d88, 0x00d81627, 0x03ce8e45, 0x000b5fc0}}, Y: Field{[10]uint32{0x03ee9c72, 0x00ae3a2d, 0x0043a57a, 0x01c9b5b2, 0x0116a7b2, 0x00a1813e, 0x014d55fe, 0x03ce387c, 0x03c05a39, 0x0021052c}}}, + {X: Field{[10]uint32{0x01d8e37b, 0x008017a6, 0x0267f1dc, 0x01b2cec7, 0x03f5a5b0, 0x02109416, 0x0150d4ee, 0x02321b08, 0x00ec919d, 0x0020e21f}}, Y: Field{[10]uint32{0x02b4c009, 0x03ba5064, 0x03e327a2, 0x039fe620, 0x03fcea9d, 0x03962117, 0x0134fe12, 0x03ab89e3, 0x03cdf5c9, 0x003fb839}}}, + {X: Field{[10]uint32{0x01ca1e24, 0x037c6474, 0x010f3f37, 0x002469ed, 0x00a9d0b7, 0x01970ff8, 0x028c03f5, 0x02eac836, 0x01e1138b, 0x0001467e}}, Y: Field{[10]uint32{0x0261ba9e, 0x0300da86, 0x039eb367, 0x02a6b79a, 0x01ef6cd6, 0x0207a5bd, 0x0231ec07, 0x033908fd, 0x02fe2bff, 0x001935ae}}}, + {X: Field{[10]uint32{0x028fba61, 0x004eb652, 0x02e6c3cd, 0x03998fb7, 0x023946ff, 0x00a4d854, 0x02de2087, 0x01d3a9a6, 0x038f84bc, 0x0020247d}}, Y: Field{[10]uint32{0x030bda1a, 0x00ea7302, 0x02212fe1, 0x03b0e79e, 0x006765fa, 0x01c02aab, 0x03a5d90d, 0x01a23072, 0x018baf84, 0x0006aaa9}}}, + {X: Field{[10]uint32{0x02db3afc, 0x023a5f9e, 0x01bb49ed, 0x00815b35, 0x018388cf, 0x028dbc43, 0x02a53434, 0x015d21f0, 0x000dd3fe, 0x00142af0}}, Y: Field{[10]uint32{0x01ed25ea, 0x00390763, 0x015d68a8, 0x03640eb7, 0x01670fe0, 0x026e76c0, 0x0064f01d, 0x00103ec7, 0x019514b6, 0x002ae2eb}}}, + {X: Field{[10]uint32{0x02a2f110, 0x001dcacd, 0x0131faa2, 0x00b9b44a, 0x0120e572, 0x010dab9d, 0x024f2533, 0x007d12a7, 0x00bb4da0, 0x002a690a}}, Y: Field{[10]uint32{0x034c0c5f, 0x0321141d, 0x037a0557, 0x02da16d0, 0x00f8c226, 0x03e94f88, 0x00f05822, 0x0289b110, 0x021a1830, 0x002e8144}}}, + {X: Field{[10]uint32{0x007a83ce, 0x026c742b, 0x03ecf64e, 0x0396ddd4, 0x01d6948b, 0x0047a668, 0x03fa11b2, 0x0359ddc9, 0x03d46314, 0x0035ebf6}}, Y: Field{[10]uint32{0x00e21d04, 0x02e8734d, 0x008f480a, 0x03e945ca, 0x03ee9b2a, 0x0272d0aa, 0x010ed9d7, 0x012aee8e, 0x017d748a, 0x002d7e2e}}}, + {X: Field{[10]uint32{0x036de265, 0x00aaff66, 0x03a99d62, 0x006b5462, 0x0113f19b, 0x019cab15, 0x0141694b, 0x01119a8f, 0x034cd2b5, 0x000adae0}}, Y: Field{[10]uint32{0x02b9b0d6, 0x033b141e, 0x01df187c, 0x026e24b6, 0x0174ec84, 0x032facb9, 0x01d52dd3, 0x02cf4ab4, 0x0193ddc0, 0x00306489}}}, + {X: Field{[10]uint32{0x016ac8ea, 0x018326ea, 0x025a2513, 0x012c68fb, 0x03f29c34, 0x0270471a, 0x016ef7ea, 0x00fe8c56, 0x034ad7f9, 0x003ce4f3}}, Y: Field{[10]uint32{0x028133e1, 0x03b6ea9e, 0x027ec41b, 0x02ccd78e, 0x01fbfa56, 0x00341849, 0x02480163, 0x033bae43, 0x00a9de67, 0x0013a047}}}, + {X: Field{[10]uint32{0x008f418a, 0x0235d7a7, 0x03c0e084, 0x02f414be, 0x00bbc546, 0x028922a5, 0x03050120, 0x02c95204, 0x02504e14, 0x002f0ee4}}, Y: Field{[10]uint32{0x02a58223, 0x03bcab69, 0x022d9af0, 0x00e31d86, 0x018f5eca, 0x00475e31, 0x013a911f, 0x021f05d9, 0x03c6f8b4, 0x002694ab}}}, + {X: Field{[10]uint32{0x036055c0, 0x019fbbd7, 0x01cec014, 0x00eefdbe, 0x03e71edc, 0x02af6c7d, 0x021e1704, 0x03ee29cc, 0x0273c601, 0x000bd683}}, Y: Field{[10]uint32{0x0153e393, 0x00fd1099, 0x002ebc5a, 0x033c4f65, 0x02b79a5e, 0x03e01c84, 0x01d97f80, 0x00b2c4ee, 0x010d142d, 0x00362ec7}}}, + {X: Field{[10]uint32{0x03a54ae8, 0x00fb4d1c, 0x0215bfa1, 0x01efd72f, 0x018d8d8d, 0x0245b047, 0x01099b96, 0x01a6b213, 0x01e3b4fc, 0x002e0f94}}, Y: Field{[10]uint32{0x023dda5b, 0x00d970b2, 0x02a78f3f, 0x0211b876, 0x01daeb7a, 0x01f3f094, 0x0018084a, 0x00e48c88, 0x038869c5, 0x0008cb83}}}, + {X: Field{[10]uint32{0x03516377, 0x026902f9, 0x00c0ea24, 0x00c16423, 0x00e90e9b, 0x03ba2416, 0x032b3722, 0x01e8c854, 0x019350b0, 0x000425c6}}, Y: Field{[10]uint32{0x020a1055, 0x025adb96, 0x03f672c7, 0x03e7395b, 0x010dc735, 0x00c21e67, 0x023a3a5e, 0x0168126f, 0x027c7bd5, 0x001a682d}}}, + {X: Field{[10]uint32{0x005c4477, 0x009e88fa, 0x01647dcb, 0x0053051a, 0x02622508, 0x000a6774, 0x0171711a, 0x014063cf, 0x035cc95d, 0x0036fbbd}}, Y: Field{[10]uint32{0x00d66413, 0x01daa422, 0x0175335e, 0x038c72fe, 0x00676311, 0x03148dfe, 0x02a68556, 0x013e38ae, 0x02cd1633, 0x003751c4}}}, + {X: Field{[10]uint32{0x03af114f, 0x0201b55a, 0x00d29d96, 0x02239328, 0x03027238, 0x00ded043, 0x0005f185, 0x03a4e3cd, 0x01992bde, 0x000a32c4}}, Y: Field{[10]uint32{0x001e5aa3, 0x03afd2fa, 0x03fea695, 0x01b30a95, 0x01c3e2ef, 0x00e973a2, 0x029fc1e8, 0x0376078e, 0x03febbe5, 0x00039b18}}}, + {X: Field{[10]uint32{0x029f60ba, 0x02e8b893, 0x02da3790, 0x016b919d, 0x00caef38, 0x0273b175, 0x039f1768, 0x03a67997, 0x030b64ef, 0x003c28b7}}, Y: Field{[10]uint32{0x007a4519, 0x02db4520, 0x01a85713, 0x0081ef3c, 0x02006a25, 0x02a9df69, 0x0098c12a, 0x03d99051, 0x0208b900, 0x0029f29f}}}, + {X: Field{[10]uint32{0x002b0f00, 0x037ff952, 0x01410799, 0x001a6aec, 0x0254fe9b, 0x03d54c41, 0x007ad4f0, 0x010e5837, 0x02eb38e5, 0x00346ed1}}, Y: Field{[10]uint32{0x02ce4214, 0x007e48ba, 0x00b14a03, 0x00b2be4c, 0x00d03bbd, 0x01a09adb, 0x00a54639, 0x00c2d834, 0x019fe088, 0x00052c18}}}, + {X: Field{[10]uint32{0x0369517a, 0x00333807, 0x00a8415c, 0x00083152, 0x0185d740, 0x03074268, 0x01adb31a, 0x0049a97d, 0x02567705, 0x0009ef4b}}, Y: Field{[10]uint32{0x01468d32, 0x01e064a9, 0x0008f655, 0x02b61cd3, 0x03202690, 0x0238c0b5, 0x01ce428a, 0x00734a7e, 0x01d7cba2, 0x0004880f}}}, + {X: Field{[10]uint32{0x03d21d9c, 0x010c806f, 0x003bd61d, 0x0376e36f, 0x0355441a, 0x02cad9db, 0x03835efa, 0x038805a4, 0x03901c72, 0x001acb31}}, Y: Field{[10]uint32{0x02dd7456, 0x016ce8d2, 0x015601bd, 0x0014639d, 0x006690bb, 0x018bfce3, 0x03f90d4b, 0x00124f6b, 0x0006deea, 0x001665cd}}}, + {X: Field{[10]uint32{0x00840f27, 0x0027ed65, 0x012675df, 0x024f981f, 0x01c63c3b, 0x02ff35af, 0x02a8bcc6, 0x014f158c, 0x003f32f9, 0x001d7a17}}, Y: Field{[10]uint32{0x00b6bb30, 0x03c07b5b, 0x01c47723, 0x02832fdb, 0x00bc59ac, 0x0109b99a, 0x0324f89d, 0x031cf65a, 0x03768714, 0x0008bd68}}}, + {X: Field{[10]uint32{0x006d56a7, 0x00802e7e, 0x0268315e, 0x0149a314, 0x02f26e17, 0x038a3c79, 0x000eed57, 0x0054bd07, 0x0071969e, 0x0034de8c}}, Y: Field{[10]uint32{0x02ff6181, 0x0080d59d, 0x036d3abe, 0x030ed1d0, 0x0370e296, 0x025885c8, 0x004b1fbd, 0x00747437, 0x03269875, 0x0014f549}}}, + {X: Field{[10]uint32{0x03414976, 0x014407a9, 0x001d237d, 0x0262538d, 0x02676931, 0x03860eec, 0x01466408, 0x01a5ccd9, 0x03047f5e, 0x001c56ec}}, Y: Field{[10]uint32{0x01a968d4, 0x01827ba8, 0x01acadb7, 0x03ec0f60, 0x02a89dd1, 0x03a570f5, 0x01ea6722, 0x0357a1e9, 0x035f9e82, 0x000a1103}}}, + {X: Field{[10]uint32{0x02c642e8, 0x022b7df6, 0x0013968d, 0x0292c21f, 0x028e4924, 0x01a04bb0, 0x034a52cc, 0x0056569e, 0x002a4f5b, 0x003dcb45}}, Y: Field{[10]uint32{0x021087dd, 0x023e5e9d, 0x007a6537, 0x0333eebd, 0x00585486, 0x03165305, 0x02ab9bbb, 0x0010b3c5, 0x004bb5d8, 0x001406d9}}}, + {X: Field{[10]uint32{0x01284c26, 0x00ee58b0, 0x03f28024, 0x01b363ef, 0x00384084, 0x0291a7cd, 0x003cf020, 0x0228e97f, 0x038fb4ca, 0x001ecfbf}}, Y: Field{[10]uint32{0x01748579, 0x0240ad6c, 0x00522811, 0x01bbf544, 0x023bbf63, 0x03858408, 0x00bc5555, 0x01849294, 0x00fd1539, 0x002f8962}}}, + {X: Field{[10]uint32{0x02113dd8, 0x017f0de2, 0x018a59cc, 0x00d7fcad, 0x03ec2a70, 0x025d3933, 0x03652257, 0x03b29334, 0x00d771fb, 0x0009106a}}, Y: Field{[10]uint32{0x02447981, 0x00a624e0, 0x00fccae1, 0x00b64c5b, 0x00fe035d, 0x02b08cd8, 0x03f4c6a7, 0x019c4d2e, 0x03760531, 0x000152c1}}}, + {X: Field{[10]uint32{0x00cf7591, 0x03a68a85, 0x0024de78, 0x01f2d92e, 0x02512d09, 0x03d2ace1, 0x03916b12, 0x019f2916, 0x024ed054, 0x003083f2}}, Y: Field{[10]uint32{0x00eecc02, 0x008d56b9, 0x0346d02b, 0x022c8e33, 0x03931fc4, 0x036b4439, 0x007e69c9, 0x0101cb2a, 0x00c796ee, 0x0022146b}}}, + {X: Field{[10]uint32{0x009ec8e7, 0x024bac81, 0x01d67634, 0x01b5a437, 0x00a34c6c, 0x035d604c, 0x00e415aa, 0x01498edd, 0x028d0137, 0x000bdac3}}, Y: Field{[10]uint32{0x02f25dbe, 0x01354e36, 0x02868e38, 0x01d7d88d, 0x03adc722, 0x02d327d9, 0x02cb614e, 0x03da9e5d, 0x01f8438c, 0x003431e4}}}, + {X: Field{[10]uint32{0x02b665dd, 0x02e47aac, 0x00762c5a, 0x00f0f763, 0x01fc0037, 0x00dd36c8, 0x00b3ed11, 0x0015b5be, 0x01be426f, 0x002febf0}}, Y: Field{[10]uint32{0x010e2a2e, 0x00d84545, 0x02781684, 0x01429d64, 0x006dc400, 0x02841b69, 0x027b0710, 0x0000e9fe, 0x0297a4cf, 0x0027107c}}}, + {X: Field{[10]uint32{0x01cb4e8c, 0x024c1db3, 0x01be91df, 0x03dc5ca3, 0x03895980, 0x01d675d3, 0x0376f860, 0x0009cdb5, 0x01ca9056, 0x0033dc47}}, Y: Field{[10]uint32{0x034f1cd5, 0x0102a9dc, 0x020124e1, 0x02991fb3, 0x022f91f6, 0x02226c8f, 0x0156defe, 0x0085bf8d, 0x01bfcf25, 0x0014a8de}}}, + {X: Field{[10]uint32{0x03d1384b, 0x0145b26a, 0x0394e1c3, 0x01d46191, 0x03f516fd, 0x00da43cb, 0x0001ec36, 0x03c6630c, 0x01de27aa, 0x002e6fa5}}, Y: Field{[10]uint32{0x02cb6df9, 0x030489c7, 0x013cd27f, 0x0160aea1, 0x001ff85d, 0x02232e3e, 0x029b6144, 0x03710c0f, 0x0397dca1, 0x001a21d7}}}, + {X: Field{[10]uint32{0x00e9638e, 0x014ddcca, 0x03331fff, 0x02cf095f, 0x037bec31, 0x01466b80, 0x0042b377, 0x01aa314d, 0x03e6c4d0, 0x003d7c95}}, Y: Field{[10]uint32{0x03e986dd, 0x03c85950, 0x0169e35f, 0x03b2ed00, 0x02c80bea, 0x03483432, 0x012e3ed0, 0x00c84eed, 0x020a48d0, 0x002da879}}}, + {X: Field{[10]uint32{0x00099ce7, 0x02455799, 0x02bf9df0, 0x00ff2db3, 0x02a5281b, 0x002bdf64, 0x00036033, 0x022a8456, 0x034c17e3, 0x003f0d71}}, Y: Field{[10]uint32{0x0379dae9, 0x00e489f6, 0x0245ac62, 0x02ecbb23, 0x018421fb, 0x0205344c, 0x00c1c589, 0x01a4ed69, 0x004d41e8, 0x001b8be6}}}, + {X: Field{[10]uint32{0x014384dd, 0x00bf33b5, 0x00aa7473, 0x0287338d, 0x02c1bc18, 0x027feb29, 0x005e5a98, 0x01cd8dd0, 0x020149d9, 0x002b04d7}}, Y: Field{[10]uint32{0x02f021d0, 0x00685882, 0x01cb1c47, 0x014d844f, 0x01d8e545, 0x027e35c2, 0x00cbf630, 0x0129adaf, 0x02cdff95, 0x000f8e2e}}}, + {X: Field{[10]uint32{0x035f345d, 0x01d3e4a7, 0x01055f36, 0x015f3d30, 0x01bfd8f6, 0x01e46806, 0x02400c4e, 0x03175e00, 0x03fbefb3, 0x00182804}}, Y: Field{[10]uint32{0x00a1bd97, 0x00817cce, 0x035b2711, 0x019151a2, 0x039907e3, 0x028c8004, 0x00a5138c, 0x03f8f8a8, 0x00483582, 0x001f9d8f}}}, + {X: Field{[10]uint32{0x01a7acb7, 0x03413a86, 0x013a906e, 0x01642fbe, 0x02ceb3a6, 0x029e2664, 0x023d0273, 0x01ea290e, 0x01065d90, 0x00282668}}, Y: Field{[10]uint32{0x03c5a50d, 0x038f5ed6, 0x007db06f, 0x02836c50, 0x02d5cca4, 0x03c326d1, 0x034bb579, 0x008bff00, 0x03fbfe3c, 0x0004dfe7}}}, + {X: Field{[10]uint32{0x00a792ab, 0x03d3f0e5, 0x0107b09e, 0x005c127c, 0x00c6ed70, 0x00472769, 0x03ea5a8c, 0x018f5861, 0x0286d027, 0x0026e876}}, Y: Field{[10]uint32{0x0263f741, 0x00866759, 0x01650c47, 0x029970b6, 0x008716ae, 0x0005d461, 0x03879089, 0x0167156f, 0x02d8ab54, 0x003c6788}}}, + {X: Field{[10]uint32{0x0277ada0, 0x01453269, 0x0134f63a, 0x00e24d42, 0x01b5e022, 0x03ca3643, 0x03e93633, 0x0050c05e, 0x001ad30d, 0x000d909c}}, Y: Field{[10]uint32{0x01aba970, 0x00378efc, 0x02c22344, 0x02613d4a, 0x026432fa, 0x02a2ef61, 0x0279f487, 0x02ef1b13, 0x02b9c76b, 0x000bf7e6}}}, + {X: Field{[10]uint32{0x02941a5b, 0x028e94b5, 0x02c31c2e, 0x003551c4, 0x0106188c, 0x00b261c6, 0x0153012e, 0x01c26363, 0x0058100b, 0x000a7de7}}, Y: Field{[10]uint32{0x022d524b, 0x01a242e6, 0x01bf3721, 0x02dc0b56, 0x02919d5b, 0x021a8a01, 0x00ec42f5, 0x0306ec34, 0x0199eaa6, 0x002fa7b7}}}, + {X: Field{[10]uint32{0x01ba1bbc, 0x034b11e2, 0x03061e5e, 0x0342b17f, 0x0004b470, 0x00ffacd4, 0x02d5030c, 0x00a13e05, 0x02dfbc35, 0x0038046a}}, Y: Field{[10]uint32{0x00c979e3, 0x0030068f, 0x0270055a, 0x02a4fd2c, 0x03021ec1, 0x00a4ef9d, 0x026ee97f, 0x016468db, 0x03934f2b, 0x00382a63}}}, + {X: Field{[10]uint32{0x03d78585, 0x025bb813, 0x02dfb3ed, 0x0145dfff, 0x020ee06a, 0x022e4887, 0x02b54b68, 0x014d58df, 0x016b00fe, 0x00297220}}, Y: Field{[10]uint32{0x01ff8e5f, 0x02f96a32, 0x0076fe03, 0x0076bb59, 0x037d6595, 0x029abb54, 0x00977929, 0x02c46912, 0x037b9d63, 0x000fe198}}}, + {X: Field{[10]uint32{0x03194707, 0x03c5b271, 0x02509abe, 0x038244a8, 0x022e6d49, 0x01c23f39, 0x0207798e, 0x00d42e54, 0x00237e44, 0x000ee54b}}, Y: Field{[10]uint32{0x01d68936, 0x026d676f, 0x02edaff4, 0x00c5af37, 0x02e6ebb6, 0x01e44b99, 0x0141a385, 0x01b22b27, 0x032a419e, 0x003de125}}}, + {X: Field{[10]uint32{0x0157af04, 0x000bc937, 0x02632725, 0x004667e1, 0x02b75dd6, 0x021e92aa, 0x007982a1, 0x0054be03, 0x02bcd9d8, 0x002365e5}}, Y: Field{[10]uint32{0x03e611bd, 0x026080ad, 0x0092c89c, 0x034a63a6, 0x010317c2, 0x035a2654, 0x015695f2, 0x0078e8a3, 0x007994a3, 0x003ee6c5}}}, + {X: Field{[10]uint32{0x0202de40, 0x005dc11a, 0x03f51845, 0x01edbbd9, 0x014fde4d, 0x01e2259a, 0x036f689d, 0x01911454, 0x005b2f4e, 0x0025acaf}}, Y: Field{[10]uint32{0x008e89cc, 0x01712842, 0x0178b214, 0x026cd4b0, 0x01914eee, 0x03eff394, 0x039bbf5a, 0x020b6d40, 0x0126f919, 0x00382ddb}}}, + {X: Field{[10]uint32{0x032e2d79, 0x03bd7490, 0x0103625b, 0x02e68743, 0x034e3ab2, 0x01963be5, 0x028f54d8, 0x0254038a, 0x03109f12, 0x0026fdf3}}, Y: Field{[10]uint32{0x016e8582, 0x0343c652, 0x0020be32, 0x029c66f3, 0x01dd6373, 0x0223af49, 0x038bb521, 0x0071a146, 0x03adf77e, 0x000844f5}}}, + {X: Field{[10]uint32{0x03d4f1b7, 0x0013cabc, 0x00dab11a, 0x00f58756, 0x00c91f85, 0x0366a861, 0x008c7414, 0x016d7abf, 0x03a72037, 0x000434ff}}, Y: Field{[10]uint32{0x03298c90, 0x0043a8c3, 0x0321beeb, 0x002b505b, 0x02c98d75, 0x03e30fc0, 0x015c7046, 0x03d0f2c8, 0x032a8a96, 0x00307e12}}}, + {X: Field{[10]uint32{0x003a5eb6, 0x019e7a03, 0x00e92c0e, 0x01fa210c, 0x030e9257, 0x006da1cc, 0x01636920, 0x007342e3, 0x022b6adf, 0x0015b593}}, Y: Field{[10]uint32{0x02f71cc0, 0x0069badf, 0x0382451b, 0x01f89792, 0x025d4b68, 0x01f579a5, 0x00427c25, 0x02108d22, 0x030efbe9, 0x0000004d}}}, + {X: Field{[10]uint32{0x031528bf, 0x02b70d1c, 0x021c1420, 0x014a95a0, 0x026dbfa3, 0x003091e4, 0x01eddbd2, 0x033c81d7, 0x003e1c83, 0x003fb128}}, Y: Field{[10]uint32{0x01a95509, 0x01f9aa2f, 0x00b2aa78, 0x023bf5ef, 0x031bab78, 0x00e1fa6f, 0x03a0d98f, 0x0390b4ee, 0x02af8670, 0x002854ac}}}, + {X: Field{[10]uint32{0x03ee92eb, 0x030983cb, 0x03001779, 0x036ca6a1, 0x02a45d11, 0x02256796, 0x02e6d53e, 0x02a6b18e, 0x01177cce, 0x0016029d}}, Y: Field{[10]uint32{0x029e8edd, 0x03d3e719, 0x02a06862, 0x02436304, 0x0086733a, 0x0054dd69, 0x008c4111, 0x03193081, 0x029c3263, 0x001e4ef9}}}, + {X: Field{[10]uint32{0x02f636f6, 0x036e5d9a, 0x002f535e, 0x034b437b, 0x02991b46, 0x004de866, 0x017431b1, 0x0073af3e, 0x03e57893, 0x0024a1af}}, Y: Field{[10]uint32{0x0329f516, 0x006d6974, 0x015f28cb, 0x020147b7, 0x00c55fce, 0x0014ede0, 0x00b38fb2, 0x036d0a0f, 0x0130e962, 0x001f9dd3}}}, + {X: Field{[10]uint32{0x00f4890d, 0x008b070a, 0x02041e54, 0x01476982, 0x02803e38, 0x03fbb196, 0x002cf2ee, 0x0099494e, 0x01a99b70, 0x00181b55}}, Y: Field{[10]uint32{0x00eda1a7, 0x02295314, 0x02e5407f, 0x00147d3b, 0x0379ae2c, 0x006e2a85, 0x004a1e03, 0x01904528, 0x026e3c2a, 0x00372256}}}, + {X: Field{[10]uint32{0x01f917f5, 0x001fda5d, 0x00df66e8, 0x03180139, 0x0011387d, 0x033f23b6, 0x03ef2f1b, 0x03073773, 0x0140833e, 0x00285a83}}, Y: Field{[10]uint32{0x022d6527, 0x0246f620, 0x01388ba9, 0x03658c04, 0x037fd281, 0x02203421, 0x01f32a82, 0x01294c54, 0x013713de, 0x0015235f}}}, + {X: Field{[10]uint32{0x039f0329, 0x027430d3, 0x0262d9b7, 0x0057b7d6, 0x004a687a, 0x03881c9b, 0x03e3e7aa, 0x01388e68, 0x01d2be57, 0x00001652}}, Y: Field{[10]uint32{0x005288a9, 0x02a44851, 0x0255f337, 0x01de5c8f, 0x02f7f4e7, 0x01203de3, 0x01d94275, 0x02c970c4, 0x025a167a, 0x001c772c}}}, + {X: Field{[10]uint32{0x0168b240, 0x01f1395e, 0x01536cef, 0x00ce0840, 0x03cd1e23, 0x02707fd3, 0x017b295e, 0x00362927, 0x024ae67b, 0x002107d3}}, Y: Field{[10]uint32{0x031f4161, 0x019c7415, 0x03d5cb56, 0x00de335c, 0x01ccae80, 0x0236f99e, 0x03979f4a, 0x0293b43a, 0x009c265f, 0x0007d587}}}, + {X: Field{[10]uint32{0x02cb7442, 0x00fb0791, 0x0240ddd4, 0x02b80289, 0x03faf680, 0x0109e23f, 0x03d4b831, 0x03a7ca22, 0x01f8c748, 0x0008988f}}, Y: Field{[10]uint32{0x03a55da3, 0x003804e1, 0x03aaad5e, 0x01ed2530, 0x0317d582, 0x033a7de1, 0x024381d0, 0x02d64be5, 0x000adfcd, 0x000e03bc}}}, + {X: Field{[10]uint32{0x005185e4, 0x0319523d, 0x02e2dc88, 0x037aced9, 0x02670083, 0x0298285f, 0x007a21e5, 0x00c07ba8, 0x03c36438, 0x00205819}}, Y: Field{[10]uint32{0x01c4cbf7, 0x020abb93, 0x02647f59, 0x03b11409, 0x022eeedc, 0x00dbf0e7, 0x00f4e8e2, 0x03a7c7c1, 0x011b9a95, 0x0016be8e}}}, + {X: Field{[10]uint32{0x02085c1f, 0x01a49373, 0x02485354, 0x0270b065, 0x017d28af, 0x02a38109, 0x00f6431b, 0x0314c493, 0x01614745, 0x003e3c8d}}, Y: Field{[10]uint32{0x0334750f, 0x0199d4d9, 0x01e7507f, 0x01d6b34a, 0x02bd1012, 0x03f9dad7, 0x008c1b93, 0x006d5695, 0x0067e3b4, 0x00028594}}}, + {X: Field{[10]uint32{0x03f2f57a, 0x00ee4cd5, 0x03e23775, 0x00f77812, 0x0228bb93, 0x01c214ec, 0x01537d4c, 0x02285709, 0x0184e25b, 0x00084c95}}, Y: Field{[10]uint32{0x02e873e2, 0x02dc9fa1, 0x01f53d20, 0x03c566e8, 0x03f627b5, 0x01fc869b, 0x00b00d51, 0x03d5e83c, 0x00f2078e, 0x000dc232}}}, + {X: Field{[10]uint32{0x03dfbda3, 0x0335a98f, 0x01c77845, 0x02b2f245, 0x0188b0ba, 0x03feb050, 0x00c24b37, 0x0066cb00, 0x03fcf485, 0x002cbd3d}}, Y: Field{[10]uint32{0x0157702c, 0x0138a31f, 0x03e171c9, 0x00eb356c, 0x03de4972, 0x03d33cf1, 0x03196bb5, 0x03b90cf9, 0x019e6f52, 0x002c81ad}}}, + {X: Field{[10]uint32{0x027f7265, 0x004bfb3b, 0x02064622, 0x014f6b2b, 0x03fd9c5c, 0x01593e70, 0x0070fd39, 0x00001adf, 0x014f5f42, 0x002d3997}}, Y: Field{[10]uint32{0x016bee0e, 0x01cd41a0, 0x025bffc0, 0x0235a119, 0x0003c75b, 0x020fb0b1, 0x021723ea, 0x00efd3cc, 0x02f2e399, 0x000c1edb}}}, + {X: Field{[10]uint32{0x023a7240, 0x00d4ac77, 0x00bab8f2, 0x007410fd, 0x03aa58b6, 0x01e63ba4, 0x033968e9, 0x0026b497, 0x01939ac6, 0x0013c411}}, Y: Field{[10]uint32{0x038179ae, 0x00887b9f, 0x024bd186, 0x0224fd2a, 0x03ed9d0a, 0x01569424, 0x01698f5c, 0x0257e960, 0x03bb9883, 0x003b6361}}}, + {X: Field{[10]uint32{0x014672fa, 0x01f00592, 0x00738d09, 0x02148e22, 0x0390018e, 0x02b5d4a7, 0x026b2157, 0x0304967e, 0x00ffe515, 0x0026d79d}}, Y: Field{[10]uint32{0x01fece15, 0x00f8ebc8, 0x00bc43db, 0x03610786, 0x01fe2df3, 0x00fecee7, 0x01bf70c4, 0x00c3c5ef, 0x026d4c4e, 0x00075561}}}, + {X: Field{[10]uint32{0x0217e302, 0x0205f21f, 0x02cf510d, 0x030b1da8, 0x0330f8a2, 0x024e1ec6, 0x02968f94, 0x03dc6040, 0x0042ac8c, 0x0001defd}}, Y: Field{[10]uint32{0x032af0e9, 0x039d5bf4, 0x021f26a6, 0x0217dbbb, 0x01e4daaa, 0x01b16fbb, 0x03b1103e, 0x0011ac74, 0x02611d90, 0x002ec3e7}}}, + {X: Field{[10]uint32{0x00c266a9, 0x034e22de, 0x00fe64bc, 0x01a4c20d, 0x00d2f5d4, 0x005aa662, 0x0028f34b, 0x008125ac, 0x025cd49f, 0x0009f784}}, Y: Field{[10]uint32{0x00b54bfe, 0x00f78957, 0x039b81a4, 0x00b4c8e5, 0x0384cdfc, 0x000e6b4a, 0x019dac24, 0x0364a8ab, 0x02a8483d, 0x003d0f61}}}, + {X: Field{[10]uint32{0x03e9c116, 0x00262712, 0x01b13225, 0x03c1fe11, 0x017f026c, 0x03bed6a3, 0x03b60ae4, 0x01d78652, 0x0178ae1d, 0x00086fdc}}, Y: Field{[10]uint32{0x01b8d967, 0x03da26bb, 0x0081d434, 0x02455a59, 0x0076b522, 0x034ed63e, 0x03444664, 0x037c5745, 0x02adbc21, 0x001b2aa0}}}, + {X: Field{[10]uint32{0x0232e234, 0x00916c15, 0x0156a66d, 0x03e6702e, 0x02dc9100, 0x020a2768, 0x0365b7f0, 0x0005a906, 0x025493ee, 0x00000924}}, Y: Field{[10]uint32{0x03c45b3d, 0x01738c41, 0x016f82ed, 0x0119ebb2, 0x00d883ff, 0x013dbe41, 0x004c5367, 0x007e6054, 0x01941cb5, 0x002f28c0}}}, + {X: Field{[10]uint32{0x01867f76, 0x039d4e1f, 0x016fe230, 0x00966e4c, 0x00ea8e94, 0x02e4dc42, 0x02d89b96, 0x00ad3351, 0x00c1e347, 0x0034fd91}}, Y: Field{[10]uint32{0x018cade5, 0x02cb6943, 0x03b7c597, 0x02b8c5af, 0x0202e536, 0x01489e50, 0x0337ed9d, 0x025cca8e, 0x0203fd62, 0x00246089}}}, + {X: Field{[10]uint32{0x0325b261, 0x00dfdeb8, 0x02e89d03, 0x01d51894, 0x01915c26, 0x011fd95b, 0x00e52c81, 0x034532a2, 0x034b0e2b, 0x00321187}}, Y: Field{[10]uint32{0x00dcae06, 0x033bb6a7, 0x02b07e38, 0x016aa2a4, 0x01fa3b61, 0x011bbf7d, 0x0232868e, 0x01e66cfd, 0x018197ac, 0x000625c4}}}, + {X: Field{[10]uint32{0x0395a380, 0x00cd0ab0, 0x0060d913, 0x01aaaa96, 0x01a8c240, 0x01ef5b28, 0x0357e1da, 0x02a4e306, 0x0190be20, 0x002db97d}}, Y: Field{[10]uint32{0x018a04b6, 0x011b579f, 0x02026ff1, 0x0325a9b7, 0x01cf01ee, 0x02d698c1, 0x0186569a, 0x03ab79cb, 0x00f1a2f2, 0x00299ca3}}}, + {X: Field{[10]uint32{0x01eb5d6c, 0x013b2556, 0x008c0312, 0x0237c524, 0x018b7013, 0x017bf043, 0x014eee4b, 0x0007415b, 0x039d4657, 0x000f4945}}, Y: Field{[10]uint32{0x0395980f, 0x00ca9c62, 0x03c8c3e0, 0x028ab155, 0x023b56f7, 0x00f1625e, 0x03e88e2b, 0x035fb18c, 0x03fe1d61, 0x000562de}}}, + {X: Field{[10]uint32{0x02f94d99, 0x026965d1, 0x02927984, 0x004646bd, 0x00d85155, 0x03689fc4, 0x0093425b, 0x00526656, 0x0154c717, 0x0002aed7}}, Y: Field{[10]uint32{0x00b9a161, 0x015108b1, 0x03ad04e4, 0x002b64f5, 0x037012ff, 0x03d08270, 0x0106e89f, 0x0237a8db, 0x03cc3be2, 0x001337fa}}}, + {X: Field{[10]uint32{0x0325c73e, 0x014a41ec, 0x0224c523, 0x0219cfb1, 0x02f12433, 0x038c72ec, 0x00dedaa4, 0x03e70a40, 0x0125115e, 0x00262740}}, Y: Field{[10]uint32{0x00c6c8df, 0x01a081a5, 0x000c8d16, 0x018ca547, 0x00d553df, 0x0109e5d4, 0x01f28ee1, 0x0381c3f0, 0x02e9945d, 0x0034da67}}}, + {X: Field{[10]uint32{0x02013884, 0x03908c97, 0x02af82d0, 0x004f20a8, 0x015e05db, 0x003b7dc3, 0x028bbe4e, 0x0347fc18, 0x01d429c3, 0x00313171}}, Y: Field{[10]uint32{0x03a97eea, 0x02e9f9fb, 0x023ee0f2, 0x003744cc, 0x03ccee86, 0x002b7a5f, 0x029da677, 0x0222a7f0, 0x00b88251, 0x0030b1db}}}, + {X: Field{[10]uint32{0x02c0807b, 0x00552789, 0x01edc360, 0x0047b02e, 0x03be9471, 0x000283a0, 0x035080a9, 0x02d97236, 0x0050c623, 0x002198b6}}, Y: Field{[10]uint32{0x01da840b, 0x03c3db8d, 0x01526b3d, 0x01333e32, 0x03f91e72, 0x0246020e, 0x02a72b32, 0x039e93d9, 0x0277b0c9, 0x00029c75}}}, + {X: Field{[10]uint32{0x01083898, 0x03b6c5c7, 0x02626cbd, 0x031f03aa, 0x00543b73, 0x00eaef51, 0x0309b389, 0x0166fccc, 0x03497e73, 0x00349bfb}}, Y: Field{[10]uint32{0x01851395, 0x00e07e1e, 0x03ad956d, 0x00835236, 0x0004d60c, 0x0141c3e4, 0x0101ea9a, 0x002ce5ad, 0x0209bb09, 0x002b62ec}}}, + {X: Field{[10]uint32{0x029d8d0f, 0x01e17488, 0x009838f8, 0x03d7c5cf, 0x025b4560, 0x02d00844, 0x0342ff85, 0x02da09f5, 0x00e8c584, 0x0015a6fa}}, Y: Field{[10]uint32{0x001b8559, 0x036bf1f5, 0x0235422e, 0x00cd789b, 0x0247c74a, 0x02692754, 0x015581bf, 0x01f626a3, 0x01a4a826, 0x002c24e0}}}, + {X: Field{[10]uint32{0x030116d4, 0x0279e534, 0x02255d4a, 0x02ef256a, 0x03842f82, 0x01658363, 0x0167bc6c, 0x021eceb6, 0x00c34d17, 0x00378d2b}}, Y: Field{[10]uint32{0x021816d3, 0x02cf5de8, 0x00505b6c, 0x002fbc26, 0x00e322c4, 0x0220f4fc, 0x00f4d3e0, 0x02d4a95f, 0x001cb2b6, 0x000bf76d}}}, + {X: Field{[10]uint32{0x01c50b1a, 0x01bea671, 0x003d5544, 0x0101c376, 0x03ece852, 0x01d0a96c, 0x0149b861, 0x02dd89b5, 0x034876db, 0x0011d0c2}}, Y: Field{[10]uint32{0x03200df1, 0x00d5e92b, 0x033e85af, 0x01223771, 0x02b53dd0, 0x0323b1dc, 0x006a0ead, 0x0115cd63, 0x02ba0700, 0x0035d564}}}, + {X: Field{[10]uint32{0x02e9fe13, 0x002c25f5, 0x00fd7914, 0x03fbdb1a, 0x018c2d8f, 0x01aeeadb, 0x017339b7, 0x01c99ae8, 0x00b5e668, 0x003c7478}}, Y: Field{[10]uint32{0x0324e580, 0x0150f56f, 0x0350bb96, 0x013699f6, 0x03a1d849, 0x008c03e5, 0x01c54837, 0x00ce14d2, 0x0226fc23, 0x00002958}}}, + {X: Field{[10]uint32{0x00cdbcd0, 0x0056e17e, 0x004c3c05, 0x03fce0fd, 0x006e8132, 0x025a30dd, 0x03d0426e, 0x003784f6, 0x03357614, 0x0008a9bd}}, Y: Field{[10]uint32{0x03d18d1b, 0x038d157e, 0x01e48e69, 0x0276a101, 0x03430a39, 0x003e5690, 0x00dc0044, 0x0038f8d6, 0x01a89027, 0x00277362}}}, + {X: Field{[10]uint32{0x01a9ada2, 0x019538f8, 0x02867b46, 0x00c30a78, 0x02fc307b, 0x01d10ba3, 0x030c6ea5, 0x0232826e, 0x03280afd, 0x000b7714}}, Y: Field{[10]uint32{0x0087dee4, 0x03b6dcf0, 0x03393b5f, 0x024c665d, 0x0107d077, 0x007fe438, 0x02daa6e3, 0x039ba1ef, 0x010edb84, 0x001ee6ae}}}, + {X: Field{[10]uint32{0x01da0fca, 0x0078b065, 0x03a9e1a0, 0x015151b7, 0x011fb1c8, 0x0162e719, 0x00a116c0, 0x03d4bf4c, 0x0039a60a, 0x00182dbe}}, Y: Field{[10]uint32{0x00d26c40, 0x01360f88, 0x02bcdca5, 0x00187615, 0x03b0e743, 0x011a763a, 0x039b07b2, 0x02d052f8, 0x029f28cf, 0x00179dfd}}}, + {X: Field{[10]uint32{0x01dee53c, 0x009a9f43, 0x02776dcd, 0x00a15f25, 0x022a1f1f, 0x0257a90e, 0x0306bfdf, 0x024b9432, 0x019b9b90, 0x0009e430}}, Y: Field{[10]uint32{0x014e7f64, 0x01767cdc, 0x005b6271, 0x01662caf, 0x00de0677, 0x00085c26, 0x0387afaa, 0x01b9e2c8, 0x0120d04e, 0x003f7ba8}}}, + {X: Field{[10]uint32{0x01113803, 0x03e411bd, 0x037c00d7, 0x028d1453, 0x02db181e, 0x03eb65e0, 0x03576b16, 0x02f22c49, 0x020f9ee8, 0x0039510c}}, Y: Field{[10]uint32{0x00510741, 0x00465cb0, 0x01e0f952, 0x002b89ad, 0x023c7368, 0x03739f0c, 0x01b63dd9, 0x01d1139a, 0x02fb0239, 0x002e4dd8}}}, + {X: Field{[10]uint32{0x0355313d, 0x026abeb6, 0x00cee39f, 0x0335a6ed, 0x038e2706, 0x02f535d3, 0x00a236cb, 0x00a35618, 0x01ae73e4, 0x001b1fc9}}, Y: Field{[10]uint32{0x00dc9121, 0x012d6072, 0x030916a4, 0x012f577f, 0x018db30c, 0x0163aa48, 0x020864be, 0x026c63a6, 0x03c9e33f, 0x003632e3}}}, + {X: Field{[10]uint32{0x0393d4e8, 0x03a94ee6, 0x03499121, 0x00e80c3b, 0x03dd9eaa, 0x00e54bc9, 0x01e9c3ef, 0x00351d34, 0x0328ff71, 0x000a2746}}, Y: Field{[10]uint32{0x02880667, 0x02ce52bb, 0x03e38cf2, 0x00c9dfd2, 0x02642859, 0x0116cf2e, 0x00d5cb72, 0x00b75613, 0x000aaebc, 0x003cdabe}}}, + {X: Field{[10]uint32{0x0110b5aa, 0x028769d6, 0x03476b9f, 0x022b53bd, 0x002a6f4a, 0x0244c306, 0x0287b5d2, 0x0359cc97, 0x0197ac01, 0x003c0aad}}, Y: Field{[10]uint32{0x00e38adb, 0x025902b3, 0x02aaffe8, 0x007d97b2, 0x01d3262d, 0x030d18cf, 0x02c53795, 0x022c4fb3, 0x002aecf2, 0x002ba230}}}, + {X: Field{[10]uint32{0x00a0413a, 0x03e10637, 0x01a8d2d8, 0x01c13b0a, 0x03c625bb, 0x01b531b4, 0x0332c82d, 0x00c4195d, 0x034f71a7, 0x0002a6a5}}, Y: Field{[10]uint32{0x01b372cd, 0x022496e4, 0x01c2126e, 0x02b33f47, 0x01af1497, 0x0183b479, 0x02f222d8, 0x03a5bf57, 0x0033eed4, 0x0030837d}}}, + {X: Field{[10]uint32{0x0177496a, 0x0073d023, 0x0071f4a2, 0x03f05941, 0x024cc392, 0x018d2d57, 0x020e9c78, 0x00226466, 0x010d728e, 0x001e1986}}, Y: Field{[10]uint32{0x000cfd22, 0x004a44eb, 0x01b23035, 0x038ea4da, 0x0029d79d, 0x00d68799, 0x028e265c, 0x008bbf2a, 0x00d95404, 0x0006ed7f}}}, + {X: Field{[10]uint32{0x0333b9ac, 0x004c2920, 0x00773ce0, 0x016a4443, 0x0025cc11, 0x018f6550, 0x00e4e2de, 0x02e3afc0, 0x03e344b3, 0x003229ff}}, Y: Field{[10]uint32{0x02e67b6e, 0x0148ff97, 0x02806dbb, 0x003f6a5f, 0x02ca9128, 0x032a1c91, 0x00141aa5, 0x018ed59d, 0x03e5010c, 0x003287fe}}}, + {X: Field{[10]uint32{0x039208ba, 0x0259b993, 0x033472f9, 0x00cf533c, 0x019cc1e6, 0x01369a1c, 0x0019e84e, 0x01ab4e0d, 0x026a13ff, 0x0001b2ee}}, Y: Field{[10]uint32{0x02214a88, 0x0228a987, 0x011fcfac, 0x02258a9f, 0x03058598, 0x02711986, 0x0392c34e, 0x024fd13e, 0x01820c78, 0x000d4489}}}, + {X: Field{[10]uint32{0x019de719, 0x008ff6bf, 0x03e1287b, 0x020526e8, 0x00ffe9aa, 0x031d976b, 0x01450c82, 0x021847ad, 0x01bd691a, 0x00381fe3}}, Y: Field{[10]uint32{0x00fbc509, 0x02c18763, 0x02bc6894, 0x01b96d49, 0x030acb0c, 0x0384631f, 0x01937994, 0x033fba89, 0x01f08e39, 0x0024cb8d}}}, + {X: Field{[10]uint32{0x02d2c5d4, 0x00ce8b21, 0x029b84b6, 0x00e3f331, 0x0151f3e2, 0x034fcca9, 0x02720d71, 0x02505b37, 0x009832fd, 0x001884da}}, Y: Field{[10]uint32{0x02784e9c, 0x03dc576f, 0x00f68206, 0x01b5a72f, 0x03791f3b, 0x03c79665, 0x016d9684, 0x01f90616, 0x024d6224, 0x0004dfa6}}}, + {X: Field{[10]uint32{0x03a7b9eb, 0x013a3036, 0x004f2325, 0x02e87a9a, 0x0240a318, 0x01c43021, 0x03eb2faf, 0x019c1894, 0x018862de, 0x0022c041}}, Y: Field{[10]uint32{0x01bfd264, 0x008dc686, 0x0348e2ce, 0x00655bc3, 0x03dbd7e4, 0x01e8cfe7, 0x00bf43cf, 0x01b18333, 0x0062dcc5, 0x00152922}}}, + {X: Field{[10]uint32{0x00f213d8, 0x01203aa1, 0x031cfeaf, 0x021f70c2, 0x023fb2ed, 0x015af2eb, 0x03bbbace, 0x020d1bfb, 0x008c14af, 0x0004b4e4}}, Y: Field{[10]uint32{0x0267fdfc, 0x0206a626, 0x0024ecb1, 0x01766396, 0x01fef41e, 0x000b1366, 0x02764210, 0x036b2611, 0x01fbdf7d, 0x003f1185}}}, + {X: Field{[10]uint32{0x01784cd2, 0x018b4580, 0x013dc8da, 0x01bb7df0, 0x02b47428, 0x00a48a64, 0x00e368f6, 0x0331a6ef, 0x01e2a7b8, 0x00086741}}, Y: Field{[10]uint32{0x034c7f5c, 0x00785e28, 0x02de2076, 0x00ec8587, 0x03dd2820, 0x023eeafb, 0x029407de, 0x02c79e3b, 0x03739a7e, 0x0022bb93}}}, + {X: Field{[10]uint32{0x005de204, 0x00016db6, 0x03074852, 0x004f0e32, 0x0049bbe2, 0x034997ce, 0x011fa23a, 0x03ea47da, 0x01599a76, 0x0035f433}}, Y: Field{[10]uint32{0x011ce2fa, 0x023cdf24, 0x019d1e93, 0x018302c7, 0x03ed1a2d, 0x01c9683b, 0x021330ea, 0x0036b97a, 0x032c6075, 0x003cd255}}}, + {X: Field{[10]uint32{0x02bb6c6d, 0x03d25e3a, 0x0042d635, 0x02ecb1dc, 0x009f65cf, 0x03ea3f0f, 0x018b73f6, 0x02408e0f, 0x01f5a04c, 0x0028fe9a}}, Y: Field{[10]uint32{0x03cbdea2, 0x007296b0, 0x03e8372c, 0x035d6665, 0x010accb2, 0x00e268bc, 0x0395b18f, 0x02aac52b, 0x01a89994, 0x0031e628}}}, + {X: Field{[10]uint32{0x03b2d1cd, 0x0322bec4, 0x00e92cc5, 0x01307414, 0x00854073, 0x0176505c, 0x0072e71e, 0x0115f5e6, 0x001a825c, 0x00240ba2}}, Y: Field{[10]uint32{0x01a62d43, 0x020b0c2f, 0x01e338ac, 0x001f33f2, 0x02de099f, 0x018be091, 0x0163cccf, 0x01bee444, 0x013263bf, 0x003fc1d4}}}, + {X: Field{[10]uint32{0x0329c144, 0x03318381, 0x03505d34, 0x01693e32, 0x036923ea, 0x03c64cae, 0x021aa2b3, 0x00155b4d, 0x01f24c47, 0x000c97c6}}, Y: Field{[10]uint32{0x0294bec4, 0x01f11ae7, 0x021782a5, 0x03058665, 0x0173e3e9, 0x006fe3e7, 0x001bf358, 0x028337e6, 0x02b829a6, 0x003d2a6b}}}, + {X: Field{[10]uint32{0x021edd4b, 0x02c1f1be, 0x0024763b, 0x0117ac1e, 0x00bcdf72, 0x033ffeb3, 0x025f8602, 0x033d854f, 0x03b441a6, 0x001a653c}}, Y: Field{[10]uint32{0x0074c174, 0x02c45806, 0x03bd927d, 0x02ae1fdc, 0x02198ee4, 0x00fc1454, 0x00479d8d, 0x02a25ca7, 0x01ea892d, 0x003b0bf1}}}, + {X: Field{[10]uint32{0x02cb2d8c, 0x0284149a, 0x0137f3b7, 0x028ad6eb, 0x005663c5, 0x02307daa, 0x011bd2f0, 0x01e5bff5, 0x00324e8f, 0x00086156}}, Y: Field{[10]uint32{0x01897c2d, 0x03475da8, 0x00cf4b15, 0x0255759f, 0x033b93c4, 0x000d0efd, 0x0290d44b, 0x0300f265, 0x02cb33ce, 0x0039df3b}}}, + {X: Field{[10]uint32{0x0191b099, 0x01d33be7, 0x021b0a56, 0x00fd21ea, 0x01319693, 0x0391dcad, 0x027c312a, 0x02a00695, 0x023b32f2, 0x0024176a}}, Y: Field{[10]uint32{0x01cf369f, 0x0161c710, 0x021d6b69, 0x010d6cb2, 0x0382b648, 0x019ff705, 0x0291d5d7, 0x005c644d, 0x01c36d27, 0x002fd8a1}}}, + {X: Field{[10]uint32{0x025339f1, 0x02547bad, 0x017f5b39, 0x01d8c54e, 0x031b6853, 0x036f839f, 0x03e51613, 0x001491d7, 0x038434b6, 0x0037df3e}}, Y: Field{[10]uint32{0x03558243, 0x00333d37, 0x00d2ee58, 0x00f1be91, 0x010d1beb, 0x03659475, 0x0153393d, 0x039154b6, 0x017e1419, 0x0039c973}}}, + {X: Field{[10]uint32{0x01732491, 0x016f2d39, 0x024a5d8c, 0x01d8a33d, 0x00385cb2, 0x03297ae0, 0x0096b821, 0x00ae7a8f, 0x02fc8884, 0x0039fee7}}, Y: Field{[10]uint32{0x00f22331, 0x00a054de, 0x03d5f5e9, 0x00a3b76a, 0x011353c1, 0x019d6a5f, 0x03b83900, 0x0380dc98, 0x02bca6f9, 0x0032399d}}}, + {X: Field{[10]uint32{0x0124285b, 0x008da773, 0x012fecc1, 0x00575c78, 0x01bad797, 0x029103d6, 0x02ac0a3f, 0x02885879, 0x030c272b, 0x003468d7}}, Y: Field{[10]uint32{0x019edb3c, 0x02e526b2, 0x02ec1806, 0x02a25840, 0x0049dc41, 0x02c55900, 0x02f2f21b, 0x01c5b6e7, 0x00f7d475, 0x0007d6dc}}}, + {X: Field{[10]uint32{0x027b079f, 0x0043694a, 0x032e5551, 0x00a41164, 0x024f4204, 0x01eb98a7, 0x03da74ac, 0x03753385, 0x02e85f2d, 0x00019ae9}}, Y: Field{[10]uint32{0x03a80402, 0x002279c1, 0x03733263, 0x0010d921, 0x02219679, 0x026f7fef, 0x01a4f357, 0x03bef3d3, 0x005beb8e, 0x00363aeb}}}, + {X: Field{[10]uint32{0x00f3a749, 0x03ce682d, 0x01e487b1, 0x008875ee, 0x00c36e7c, 0x01d7e714, 0x03cf8065, 0x00414ad2, 0x029a2688, 0x0001bdfd}}, Y: Field{[10]uint32{0x0331a4c4, 0x00d6a99c, 0x0202b892, 0x016096ed, 0x00bc1835, 0x03058394, 0x00352b9c, 0x02e22ead, 0x03840d89, 0x0004741a}}}, + {X: Field{[10]uint32{0x026c0abd, 0x00308724, 0x01b90eda, 0x03fa132b, 0x0141c23a, 0x017006b1, 0x01699067, 0x0140ec98, 0x016f571d, 0x0012f85b}}, Y: Field{[10]uint32{0x02c1d06d, 0x013f8ca7, 0x011bd9a0, 0x023f2c8c, 0x01d9ede7, 0x034cffb5, 0x02116c5d, 0x03cb7586, 0x02deffa1, 0x00004107}}}, + {X: Field{[10]uint32{0x01e75886, 0x03c142c0, 0x029bd33b, 0x00d43b95, 0x03191603, 0x005a6315, 0x00abbc79, 0x02b2d9d8, 0x005db55e, 0x0022be23}}, Y: Field{[10]uint32{0x01d9a12c, 0x02fd65af, 0x02beaf61, 0x02d74af9, 0x00ca203e, 0x025801f0, 0x02eeb245, 0x02d2c4a6, 0x010b6bf2, 0x0013d6e1}}}, + {X: Field{[10]uint32{0x00ef8672, 0x02d82213, 0x035072e2, 0x00602339, 0x01edb695, 0x00e457a0, 0x03648491, 0x03ae3869, 0x037a3316, 0x002b4cf9}}, Y: Field{[10]uint32{0x037ccd90, 0x0297932b, 0x0313f16c, 0x0227c563, 0x016c4f4f, 0x025431d7, 0x01157fd7, 0x022f6769, 0x01e24bc8, 0x003e8058}}}, + {X: Field{[10]uint32{0x01d8c2bc, 0x037b6cf6, 0x01ba069e, 0x007d808b, 0x01cdb51e, 0x0070d121, 0x0196ee9b, 0x02bf9e47, 0x01ef7620, 0x001112a0}}, Y: Field{[10]uint32{0x0351e2fd, 0x006bc465, 0x03b52e64, 0x00a47beb, 0x02bd2683, 0x02ff366e, 0x02811c7f, 0x013af0bb, 0x03d9a49d, 0x002a2005}}}, + {X: Field{[10]uint32{0x02aa5c51, 0x002d98f3, 0x00aa51d1, 0x034492b2, 0x0377af3a, 0x01940e8b, 0x0387e9d2, 0x03e2d981, 0x03a39530, 0x0016c781}}, Y: Field{[10]uint32{0x037810b9, 0x00311c3d, 0x0013b450, 0x0041eef4, 0x02e87cb5, 0x021aa01a, 0x031e59b6, 0x0383ec9c, 0x00d38d55, 0x003f3d30}}}, + {X: Field{[10]uint32{0x03174309, 0x00cfb45c, 0x02844ba5, 0x01f65897, 0x01b1d42e, 0x00c5f99f, 0x034c4033, 0x01aa195e, 0x00170e98, 0x00000fa3}}, Y: Field{[10]uint32{0x00cd6caa, 0x03d54865, 0x03e5e696, 0x03d70a5b, 0x029db702, 0x00f1fb83, 0x020f3966, 0x028d743a, 0x009ff4f5, 0x0037baf9}}}, + {X: Field{[10]uint32{0x00d112c1, 0x03a0f601, 0x017e5746, 0x0241fc75, 0x036432af, 0x011ad4a2, 0x024c078b, 0x032c6674, 0x02ee5e9b, 0x0028425b}}, Y: Field{[10]uint32{0x02e7c6d4, 0x0229db74, 0x02fc13f0, 0x003f87a4, 0x0097eace, 0x033553cf, 0x02b3019a, 0x00db3595, 0x00fe6994, 0x002f44f9}}}, + {X: Field{[10]uint32{0x0265f2f0, 0x001c6dd9, 0x0093898c, 0x024d37b4, 0x00368610, 0x0269d7ba, 0x000a6d89, 0x0379d76d, 0x01794218, 0x00151d61}}, Y: Field{[10]uint32{0x01174548, 0x0184fd86, 0x021b5c6f, 0x02fca71d, 0x026bcde4, 0x0376a995, 0x00dcd94f, 0x031a25c3, 0x024213e1, 0x000ef555}}}, + {X: Field{[10]uint32{0x01456057, 0x02f1a511, 0x02df7f7b, 0x02417ba6, 0x02a44002, 0x013dd161, 0x0356604f, 0x02f112ff, 0x0192fcb4, 0x0013acca}}, Y: Field{[10]uint32{0x0245c3d4, 0x0185502e, 0x03609216, 0x02319b6d, 0x00e0cc9d, 0x0014400c, 0x0277c673, 0x027c06b6, 0x00f26834, 0x00215daa}}}, + {X: Field{[10]uint32{0x0261a22d, 0x016d322d, 0x01ea269c, 0x008fe4b9, 0x000f2917, 0x026429f0, 0x01428e75, 0x0124cf1b, 0x01efd2eb, 0x000d42cb}}, Y: Field{[10]uint32{0x00de6943, 0x003ec964, 0x0159e354, 0x02a04c83, 0x0370f807, 0x0203bd6f, 0x02126d83, 0x03cd2fcd, 0x0300add9, 0x00186b36}}}, + {X: Field{[10]uint32{0x01f360ff, 0x03f6611d, 0x03017d7a, 0x01ac0c1a, 0x032da3c9, 0x02b284a6, 0x037341ee, 0x0220654c, 0x00bece7f, 0x002453aa}}, Y: Field{[10]uint32{0x01ac7b53, 0x01ca98e1, 0x01213d32, 0x02927f22, 0x03582948, 0x022c90b6, 0x03b563ce, 0x02029d20, 0x0148ebef, 0x003caa95}}}, + {X: Field{[10]uint32{0x03dc0fef, 0x01891ae0, 0x01a33459, 0x03e714f8, 0x03ad6d44, 0x01c38fd7, 0x02baa6bd, 0x0097d2ea, 0x021738da, 0x0003d95b}}, Y: Field{[10]uint32{0x01fd83e5, 0x0076b256, 0x03ef54c3, 0x012c8103, 0x00c742ce, 0x00dcf0b1, 0x025f53cf, 0x024a1c29, 0x00fc3463, 0x00102a2d}}}, + {X: Field{[10]uint32{0x033b618f, 0x0399dc64, 0x00182ce3, 0x008e8849, 0x02d77e10, 0x0036a99b, 0x00310bbc, 0x00f39519, 0x02f0334e, 0x00291f22}}, Y: Field{[10]uint32{0x000c7f08, 0x0254a503, 0x02c4b522, 0x00ba1c57, 0x0341ec5b, 0x0285c4fa, 0x031694ff, 0x01f1d579, 0x0354056d, 0x001b6f32}}}, + {X: Field{[10]uint32{0x00753ca9, 0x01bba74c, 0x02688676, 0x00c47ab3, 0x003b5fde, 0x0085e357, 0x007947f8, 0x0012997a, 0x00625e1d, 0x0002a28a}}, Y: Field{[10]uint32{0x02fc2169, 0x03cbc78b, 0x023ba94d, 0x01d75ce4, 0x021feb3f, 0x03e8426f, 0x039e672e, 0x02813429, 0x02f7483a, 0x003e0ab5}}}, + {X: Field{[10]uint32{0x01c017d0, 0x00fde88c, 0x008371e8, 0x002283d1, 0x034fe062, 0x03f501fb, 0x02903cb3, 0x02e15789, 0x014e5f8e, 0x002807fd}}, Y: Field{[10]uint32{0x032edf92, 0x016cbb83, 0x03ee2f0e, 0x00009d98, 0x009fd59b, 0x01f64945, 0x0018ec07, 0x0069a213, 0x02f9c52f, 0x000891f1}}}, + {X: Field{[10]uint32{0x0142aed1, 0x01f21d63, 0x0072ff2d, 0x038c47d8, 0x0061ef4f, 0x02668c83, 0x02adbd60, 0x03226db2, 0x003a626a, 0x0039ec27}}, Y: Field{[10]uint32{0x00609fdc, 0x02bbf34e, 0x005e2c0f, 0x0285b667, 0x0337c3c5, 0x000f3d68, 0x01c64ace, 0x0143a639, 0x02d36a7b, 0x0023b665}}}, + {X: Field{[10]uint32{0x023ff2fd, 0x016916e1, 0x037173f3, 0x025cdcf2, 0x0196307c, 0x01816410, 0x009fb522, 0x00a81b2a, 0x0253336c, 0x000eeea7}}, Y: Field{[10]uint32{0x03d24799, 0x03a0d049, 0x0160d52a, 0x008dba32, 0x00419d51, 0x0153a6e3, 0x00ccaeae, 0x03f05bd6, 0x01093faf, 0x003cbfa4}}}, + {X: Field{[10]uint32{0x000630a3, 0x0017e70b, 0x00acdaf9, 0x0086d890, 0x0311950c, 0x010cbd4c, 0x01224000, 0x0005d088, 0x02b6dc66, 0x003d8748}}, Y: Field{[10]uint32{0x009ffb05, 0x006915c1, 0x02796142, 0x01405778, 0x00692bb2, 0x0337eac6, 0x02b7e865, 0x00b3ce4f, 0x035a1a66, 0x000181a3}}}, + {X: Field{[10]uint32{0x00a80962, 0x026f9c3a, 0x02d13718, 0x037009c0, 0x01891c45, 0x03cf91c8, 0x0038dcb8, 0x0288b62f, 0x00556b1a, 0x00296d82}}, Y: Field{[10]uint32{0x00b1ddb6, 0x02640cbf, 0x0234a071, 0x01a5f357, 0x023a9b3a, 0x01b060ab, 0x0220b99e, 0x0017287f, 0x03d2d5e3, 0x003ddfe5}}}, + {X: Field{[10]uint32{0x01e1a259, 0x02a97321, 0x02ac1be3, 0x006ca008, 0x02f03030, 0x039bd64b, 0x00ae950b, 0x00958b87, 0x02f900eb, 0x001c30ea}}, Y: Field{[10]uint32{0x00587583, 0x0085ee53, 0x01deb61f, 0x02fa85eb, 0x033f91f2, 0x004eabbd, 0x00626f72, 0x034c6739, 0x03cd31a8, 0x000fcb2d}}}, + {X: Field{[10]uint32{0x0106e530, 0x01744da3, 0x03d93b97, 0x02bf0cf9, 0x01a67952, 0x010f9e44, 0x01fcc4d4, 0x0178dca3, 0x01d1a875, 0x000775c3}}, Y: Field{[10]uint32{0x0190d084, 0x0077f35c, 0x020c4014, 0x01f6dafb, 0x01240e67, 0x03b31cf7, 0x00400742, 0x0253bd1c, 0x01741f58, 0x0011a13e}}}, + {X: Field{[10]uint32{0x0083fcf9, 0x020331a4, 0x035462b1, 0x00f5195c, 0x02f5d37c, 0x034372a0, 0x016bb7f2, 0x03f52f63, 0x018d7aac, 0x0035135a}}, Y: Field{[10]uint32{0x007dc407, 0x026fafc2, 0x03e47281, 0x0104dd02, 0x03c0c940, 0x031056f5, 0x0067b0f4, 0x00a59643, 0x003d0423, 0x00286360}}}, + {X: Field{[10]uint32{0x01b34ca5, 0x02700414, 0x019f9410, 0x00418553, 0x0362730a, 0x02c6f0ee, 0x0122ae74, 0x015d0a15, 0x02e13045, 0x00211626}}, Y: Field{[10]uint32{0x03b3606c, 0x03d88d4d, 0x0390349b, 0x02e8f78e, 0x03de14fc, 0x00be9c1f, 0x02ffce9b, 0x02bd26fd, 0x0208f2a9, 0x002e5e7e}}}, + {X: Field{[10]uint32{0x03724627, 0x034bc122, 0x006f5469, 0x00fff413, 0x01bc84e7, 0x03fc5707, 0x0131c1ef, 0x02265afb, 0x03df8911, 0x000f7b23}}, Y: Field{[10]uint32{0x03eb2c8c, 0x0389c406, 0x0310c16a, 0x028aff50, 0x03daccca, 0x013fe237, 0x011a555f, 0x016f3f6f, 0x03c1e20b, 0x002c50fc}}}, + {X: Field{[10]uint32{0x00cac160, 0x03d0dd02, 0x0012a2f0, 0x037905ed, 0x02023a8d, 0x00339197, 0x01bfcc47, 0x0367180e, 0x03c5519d, 0x000d9e97}}, Y: Field{[10]uint32{0x03f021a6, 0x03eb1729, 0x03cc2dba, 0x00825ea1, 0x03faa648, 0x00f83e3c, 0x011b136a, 0x03f2438a, 0x01df2c6b, 0x0016e3ef}}}, + {X: Field{[10]uint32{0x0063efc1, 0x00c95b25, 0x02cce5fa, 0x03f521ee, 0x031e7c2e, 0x003623a4, 0x03ab6b32, 0x0181bd82, 0x007e7777, 0x0022a956}}, Y: Field{[10]uint32{0x03f091dc, 0x00e7f474, 0x00c1888a, 0x00d11278, 0x0150beeb, 0x02b548a2, 0x02921eca, 0x0284cb05, 0x036c98bf, 0x002b16e9}}}, + {X: Field{[10]uint32{0x0084cae0, 0x01afcf03, 0x038c6a5d, 0x0107b299, 0x02af3aa4, 0x02c34471, 0x00fd9e60, 0x00cba80c, 0x01910ea6, 0x001e7000}}, Y: Field{[10]uint32{0x01dfb899, 0x034b608e, 0x01e85472, 0x037caf46, 0x01ae9c8b, 0x03d0070b, 0x000b659b, 0x02a504eb, 0x00703b19, 0x000fe550}}}, + {X: Field{[10]uint32{0x03a04fc8, 0x03e2fe00, 0x018b3d4e, 0x0292b692, 0x01e858aa, 0x01920c95, 0x01951a06, 0x027a5737, 0x032221a5, 0x00321379}}, Y: Field{[10]uint32{0x02f0a0b9, 0x02f11452, 0x01102158, 0x03483d8e, 0x010548fc, 0x01888112, 0x0011109a, 0x02fca37e, 0x0158915a, 0x001cf37a}}}, + {X: Field{[10]uint32{0x01a9d6d5, 0x01ae24ad, 0x00c218cb, 0x0373f9a5, 0x01fedf74, 0x028f164d, 0x023822b2, 0x01f58781, 0x0050c632, 0x0022c6e3}}, Y: Field{[10]uint32{0x00fe168b, 0x01832c00, 0x037f841f, 0x01ad6d90, 0x00c03676, 0x03fd0c53, 0x03dfc479, 0x0190d7d1, 0x01529f15, 0x0015ef62}}}, + {X: Field{[10]uint32{0x00702c52, 0x00ff5492, 0x03650e78, 0x039dc675, 0x0033a31c, 0x0107e061, 0x0117c4a3, 0x00be6148, 0x008a3ae8, 0x002d17bb}}, Y: Field{[10]uint32{0x020a1c90, 0x0231b867, 0x0046dc98, 0x02167ba4, 0x03254117, 0x0280525e, 0x005d0fce, 0x01ad3c24, 0x035cc708, 0x0033555a}}}, + {X: Field{[10]uint32{0x00757319, 0x001de020, 0x01cd2c57, 0x004e196a, 0x0031ab70, 0x031632f7, 0x034871ea, 0x025b1d9e, 0x00ddd930, 0x0028b577}}, Y: Field{[10]uint32{0x03064547, 0x0351ab92, 0x001a60a6, 0x02a2bd8b, 0x03227ae8, 0x00782d4d, 0x02b5978b, 0x02c8fa79, 0x02b4b130, 0x001ea901}}}, + {X: Field{[10]uint32{0x01ed2b2d, 0x0053066e, 0x025db3d3, 0x0064486b, 0x01e97f6e, 0x01426fb0, 0x0164ea83, 0x0165429d, 0x02b4e5d3, 0x001c480d}}, Y: Field{[10]uint32{0x00a93616, 0x01d0539a, 0x0172a21d, 0x00cbe725, 0x00e3a322, 0x0094d0b2, 0x0298d2f4, 0x0183a811, 0x03f38d05, 0x0009618b}}}, + {X: Field{[10]uint32{0x00bfb392, 0x00ad54bc, 0x02df0756, 0x038c1e56, 0x03dca402, 0x026bf25c, 0x02e58c87, 0x0322ea50, 0x00f7d70f, 0x0016f3bc}}, Y: Field{[10]uint32{0x03af1919, 0x032c2242, 0x0247454c, 0x0391cc95, 0x011a444c, 0x00ff15be, 0x03b0e12c, 0x016ff4fb, 0x024cecb4, 0x001f3216}}}, + {X: Field{[10]uint32{0x01741ada, 0x0076164e, 0x02b0eb5c, 0x00519d9e, 0x03b9e5f2, 0x03d713a6, 0x03ab9f0a, 0x02286c2b, 0x002f9d50, 0x0037355c}}, Y: Field{[10]uint32{0x01cc1fa1, 0x009463b7, 0x0335f9eb, 0x0161bc31, 0x013369d5, 0x00949940, 0x00d40a4a, 0x038e9f73, 0x02d7ea13, 0x003dfaba}}}, + {X: Field{[10]uint32{0x02cb3d9f, 0x02e46ef9, 0x02ec9784, 0x02e4974f, 0x02363bfc, 0x02e2dc5d, 0x01c3ade1, 0x018a7424, 0x00d0004f, 0x000b3a8c}}, Y: Field{[10]uint32{0x01c42624, 0x011825a8, 0x036e3444, 0x0152ce6c, 0x03c48ba4, 0x00f778d2, 0x009a76aa, 0x02c5c73f, 0x03ada42a, 0x002a0fd2}}}, + {X: Field{[10]uint32{0x01c32f8d, 0x01b7f1e8, 0x035d009c, 0x035ba540, 0x01150e54, 0x029064d3, 0x015fcb13, 0x00647b7c, 0x01f2767b, 0x002162d0}}, Y: Field{[10]uint32{0x03de8dd7, 0x03b3e0a7, 0x01358e5c, 0x0277d975, 0x00b34d6e, 0x01200a8a, 0x00a21720, 0x0257d51e, 0x017d76dc, 0x0020602e}}}, + {X: Field{[10]uint32{0x030e81e6, 0x03f40830, 0x01294245, 0x01a034bc, 0x033eb9a6, 0x03d06004, 0x01234e5f, 0x0166e1b4, 0x0002bee3, 0x00357260}}, Y: Field{[10]uint32{0x033781de, 0x02bad256, 0x0376d921, 0x03a47640, 0x03a0b6bc, 0x00bf21ed, 0x01a2e4ee, 0x031e5419, 0x01a4cd2b, 0x0013948b}}}, + {X: Field{[10]uint32{0x0120c1ed, 0x01b0e865, 0x00fb7d4d, 0x01db6a2b, 0x0134002d, 0x00b792df, 0x024ddf58, 0x03aa7dc6, 0x01622f9c, 0x0003afe4}}, Y: Field{[10]uint32{0x02d4e251, 0x02074616, 0x0136ecd4, 0x0126394d, 0x027e43d0, 0x00631d6a, 0x03fb4833, 0x02073638, 0x03223e18, 0x003bb9d4}}}, + {X: Field{[10]uint32{0x0261db4d, 0x01bdb202, 0x01ff6b40, 0x0013cd9a, 0x000acc45, 0x03dd2f9a, 0x002e111a, 0x015bcc23, 0x02a9d087, 0x0000e1fd}}, Y: Field{[10]uint32{0x03cdd28a, 0x02d54ba1, 0x00c4a59d, 0x0288dc89, 0x01ed0bbb, 0x033d73d3, 0x01f96d5d, 0x017e449b, 0x01e3ea1d, 0x000a2165}}}, + {X: Field{[10]uint32{0x03e46714, 0x01d255b7, 0x020df255, 0x03ba7fbc, 0x009aa409, 0x01648051, 0x03a2d70e, 0x0354b8e0, 0x01c0989b, 0x00225ffc}}, Y: Field{[10]uint32{0x01adc9d1, 0x03b3e942, 0x016c6bca, 0x01a4db7f, 0x02de0940, 0x0112a1ce, 0x0295a006, 0x0194a7d3, 0x00c9308c, 0x000f3ef0}}}, + {X: Field{[10]uint32{0x01a395af, 0x01fbc6ad, 0x03eefb57, 0x00ddbe13, 0x03bbcbb3, 0x00b62c93, 0x02bbf21e, 0x02131e2d, 0x00a68e04, 0x000c956a}}, Y: Field{[10]uint32{0x0112aeb3, 0x0089664a, 0x0081fd81, 0x0355107a, 0x0379ef3f, 0x00b5d224, 0x014a426d, 0x012e139b, 0x0002f920, 0x0005ecf0}}}, + {X: Field{[10]uint32{0x01c55599, 0x023be7f7, 0x01b7e277, 0x00079c1c, 0x011fbca1, 0x007b6889, 0x003eeafb, 0x038ec0e5, 0x0152d4d9, 0x000b292a}}, Y: Field{[10]uint32{0x03891e00, 0x00b858c8, 0x016a0989, 0x032d8f28, 0x03e98631, 0x01d231fa, 0x01a2c044, 0x030637e0, 0x02ccdf02, 0x002feb2e}}}, + {X: Field{[10]uint32{0x024383b2, 0x0017dab7, 0x03d73105, 0x03e22936, 0x02046ee5, 0x006dbb2d, 0x03b0410e, 0x00cd2b51, 0x009c478c, 0x0030fa0a}}, Y: Field{[10]uint32{0x02f0f55f, 0x00012cf5, 0x0391fde4, 0x03b89c9e, 0x0000229b, 0x02d3b488, 0x03f4309c, 0x0048e191, 0x02ceb043, 0x0015e4b0}}}, + {X: Field{[10]uint32{0x01119049, 0x02f49f05, 0x019d5f87, 0x02376e4b, 0x0086fb96, 0x01fe6108, 0x03ad63c6, 0x024be619, 0x0360a862, 0x000aef7b}}, Y: Field{[10]uint32{0x00a85362, 0x0219d598, 0x03538802, 0x018953c0, 0x00e75dac, 0x03503534, 0x0099d193, 0x0311e4a4, 0x03623536, 0x003d292d}}}, + {X: Field{[10]uint32{0x032496a9, 0x00cf2e7f, 0x03d2ce03, 0x01ef88ab, 0x01fe3ee4, 0x005292f8, 0x0014ef07, 0x02b2cc60, 0x00909e7d, 0x001de9b8}}, Y: Field{[10]uint32{0x0251065f, 0x01746214, 0x00384381, 0x009f858f, 0x0234461e, 0x00658524, 0x01915d18, 0x0241b347, 0x0075b1a9, 0x00153c39}}}, + {X: Field{[10]uint32{0x00f40ff0, 0x00e79141, 0x00b1145c, 0x0391e4d4, 0x02ea94d5, 0x01e7d935, 0x034f4139, 0x0249537a, 0x016b7871, 0x0034656e}}, Y: Field{[10]uint32{0x00e0636c, 0x01fdca70, 0x0069bd99, 0x02b696bd, 0x00b8245c, 0x002936e2, 0x032d4b2b, 0x0211ba51, 0x0040613c, 0x0008e291}}}, + {X: Field{[10]uint32{0x00815b1f, 0x029866c1, 0x01bd8113, 0x00552369, 0x00ad024d, 0x00213d05, 0x03b0f3c6, 0x029975d6, 0x0336208a, 0x0030e6a8}}, Y: Field{[10]uint32{0x0126fe5a, 0x00cc54c4, 0x012004b2, 0x014db612, 0x02455a00, 0x0395cfb9, 0x0083b226, 0x00775052, 0x02d63274, 0x001eaac7}}}, + {X: Field{[10]uint32{0x01e31f30, 0x01dd933f, 0x028d2296, 0x01c11362, 0x01d6661c, 0x00932ecc, 0x020bd270, 0x020b6f2f, 0x023d0baf, 0x003a0328}}, Y: Field{[10]uint32{0x0197451b, 0x0211d129, 0x017138c4, 0x01091a18, 0x01f67e81, 0x03ae0f97, 0x03c583a5, 0x01e1e2f2, 0x01d47318, 0x002854f4}}}, + {X: Field{[10]uint32{0x0272ef80, 0x032dec0b, 0x00120711, 0x017f82bb, 0x01f3e850, 0x0356569f, 0x016723a4, 0x0308e83e, 0x0265a5a9, 0x000e56de}}, Y: Field{[10]uint32{0x009bf990, 0x026979f9, 0x034b6222, 0x000ca64b, 0x034f88cf, 0x02895950, 0x02d37b19, 0x01b8e4da, 0x01d54747, 0x00164083}}}, + {X: Field{[10]uint32{0x010b495c, 0x03f688a4, 0x02577644, 0x0117ffbc, 0x02e8b495, 0x0144a976, 0x017e2cd9, 0x008f49ed, 0x00dbb83e, 0x0019e9fa}}, Y: Field{[10]uint32{0x00965735, 0x014c0cba, 0x01f15a87, 0x03b9a338, 0x0041fd34, 0x03a02d04, 0x00a89f78, 0x02e7d040, 0x019d3791, 0x001f0052}}}, + {X: Field{[10]uint32{0x01c0c7e7, 0x02cecfdb, 0x03892ac9, 0x00218508, 0x03ecfb4b, 0x032f8b38, 0x01863952, 0x039ec21a, 0x027d76d2, 0x003100e3}}, Y: Field{[10]uint32{0x01e92f3b, 0x0080d459, 0x0229e72f, 0x002d9909, 0x00012946, 0x030d3f23, 0x02a27bab, 0x026df4c9, 0x030d9efc, 0x00186ece}}}, + {X: Field{[10]uint32{0x03a25e5a, 0x0095a630, 0x019a88a5, 0x00201c28, 0x01b9bdda, 0x03f0fd5d, 0x029c52f5, 0x034ebbb9, 0x01e226a4, 0x001dc169}}, Y: Field{[10]uint32{0x03c7a1b7, 0x020f92d4, 0x022073a8, 0x00088901, 0x0244be9e, 0x0071aa60, 0x0026973d, 0x001be309, 0x016cf019, 0x00116382}}}, + {X: Field{[10]uint32{0x00ff48d0, 0x028d1d4d, 0x028759e4, 0x03c6d192, 0x0268a5f1, 0x007f80e5, 0x02994fa0, 0x02d7985a, 0x03c35958, 0x003cf3a2}}, Y: Field{[10]uint32{0x010058fe, 0x02891cf8, 0x00d6b222, 0x02821d40, 0x038dc92a, 0x01ebb18f, 0x008c441f, 0x035e2d9f, 0x0197be3a, 0x00270687}}}, + {X: Field{[10]uint32{0x00a4e0d0, 0x0279fccf, 0x005d7664, 0x02b6bd5a, 0x003ebb94, 0x00075be2, 0x029d764e, 0x033af6e6, 0x0120de69, 0x002417b0}}, Y: Field{[10]uint32{0x00a9d554, 0x039127a7, 0x030e93a8, 0x004b5e6a, 0x024d42ce, 0x01470032, 0x00a75d0e, 0x02a8e9dd, 0x02993974, 0x0024985f}}}, + {X: Field{[10]uint32{0x0321eeed, 0x02b69a26, 0x006b4f15, 0x011ff6c9, 0x0127d484, 0x01993078, 0x02d0edc3, 0x02164a2e, 0x024da357, 0x002c6dd2}}, Y: Field{[10]uint32{0x013206d9, 0x02c9baa7, 0x021328f5, 0x0240cf13, 0x00c14e4d, 0x00c8b134, 0x00e38231, 0x027a3ef3, 0x01c7b84e, 0x00310d4e}}}, + {X: Field{[10]uint32{0x03d8bcf1, 0x03ee58c0, 0x02025bd5, 0x01344b4f, 0x038dcf81, 0x0310b6ad, 0x03a2a471, 0x00b51acb, 0x0165c72f, 0x00035100}}, Y: Field{[10]uint32{0x0343ae3e, 0x001c87d4, 0x0022aca3, 0x01247601, 0x03fabab7, 0x031da0f7, 0x03ad9cff, 0x017eb3a5, 0x0150261f, 0x00382192}}}, + {X: Field{[10]uint32{0x0053b303, 0x00fe4e54, 0x02ed1de0, 0x02bd9602, 0x03fe08d5, 0x0355ce95, 0x03910be6, 0x00669fde, 0x004f722c, 0x003fd493}}, Y: Field{[10]uint32{0x0353bf0d, 0x02ea986d, 0x0391398f, 0x01a18bd7, 0x035b9f13, 0x00c80cd6, 0x0262deab, 0x02aa2ece, 0x014e5b25, 0x0003f52b}}}, + {X: Field{[10]uint32{0x018d091e, 0x017fbc63, 0x01a4463a, 0x02c128eb, 0x038fafa2, 0x02706e90, 0x0376a53c, 0x00420f92, 0x00bd331c, 0x003bff78}}, Y: Field{[10]uint32{0x01947dde, 0x038530c7, 0x02b9aee0, 0x037cad06, 0x02c563bd, 0x01b33bc3, 0x02e54208, 0x0084179a, 0x029ca75c, 0x003f5ea1}}}, + {X: Field{[10]uint32{0x033875e8, 0x03115c4b, 0x01278f40, 0x01939027, 0x021115ba, 0x0160eb6c, 0x034a304b, 0x03667a22, 0x02c099c8, 0x002979d1}}, Y: Field{[10]uint32{0x02934a68, 0x0307bbcb, 0x00c07fd2, 0x00e7767a, 0x02841709, 0x001cfdff, 0x00baba4f, 0x00e0c0b1, 0x0112c2af, 0x001fe0c8}}}, + {X: Field{[10]uint32{0x02ccb431, 0x006424cc, 0x0246a1ba, 0x01d121be, 0x037df5e2, 0x03f91544, 0x00daa722, 0x03a50e76, 0x01e3af5e, 0x001ab32e}}, Y: Field{[10]uint32{0x0328dcae, 0x03277267, 0x01dc443e, 0x00207f3d, 0x01a3faf1, 0x01a3e4b9, 0x03c26a9b, 0x01960141, 0x0258842d, 0x003c3785}}}, + {X: Field{[10]uint32{0x032b6d4e, 0x0225e2bd, 0x023ba1ec, 0x00c7b404, 0x00b86f3d, 0x03be15a6, 0x00e782b3, 0x00cafdba, 0x0055e40d, 0x003204f4}}, Y: Field{[10]uint32{0x01068ca6, 0x01e40463, 0x0128d288, 0x03d0aee5, 0x0047d37e, 0x021318a0, 0x01a41916, 0x0118c713, 0x03572f92, 0x002ebdb5}}}, + {X: Field{[10]uint32{0x03c7aaf9, 0x02a11365, 0x01177038, 0x0398bf7c, 0x03599dfa, 0x02f93561, 0x03baeb58, 0x03f18913, 0x00122cad, 0x0022e208}}, Y: Field{[10]uint32{0x02f7a6a3, 0x00f1e081, 0x00b2d409, 0x0291da02, 0x007867c8, 0x029690aa, 0x016e131f, 0x003693dc, 0x0293ac90, 0x003d79b0}}}, + {X: Field{[10]uint32{0x017310ce, 0x006760cb, 0x017ee096, 0x00d1341c, 0x03bc02ff, 0x03fea910, 0x00a5acc4, 0x03960ad5, 0x0050f49e, 0x0023c1d4}}, Y: Field{[10]uint32{0x01f7fd3f, 0x0284c56d, 0x021c9b99, 0x02a1adc0, 0x01f1f9f9, 0x011e668f, 0x00555c4a, 0x034c95f3, 0x01bb7ab3, 0x0004ee40}}}, + {X: Field{[10]uint32{0x00374c58, 0x035047ec, 0x01f66921, 0x036c8720, 0x0389a456, 0x00bdcb25, 0x025fb1df, 0x00f950f1, 0x02f8cf64, 0x002ef214}}, Y: Field{[10]uint32{0x030a590b, 0x012ee8ac, 0x032cd4c1, 0x00be13c0, 0x03a27e1c, 0x02c922cf, 0x03f604cf, 0x007892ca, 0x02bbe797, 0x002b423a}}}, + {X: Field{[10]uint32{0x0280bc1f, 0x000940c6, 0x009fcffa, 0x0332c795, 0x03009278, 0x03730b72, 0x00edddc9, 0x0156ee1e, 0x004b662b, 0x000b5df7}}, Y: Field{[10]uint32{0x00d058eb, 0x01821c3b, 0x03fffa8e, 0x0282272b, 0x02c07707, 0x01dbbdbb, 0x01a62f4e, 0x03ca86b4, 0x00d84fa7, 0x000a22ec}}}, + {X: Field{[10]uint32{0x03ccbdf9, 0x01e452b5, 0x00b4ffea, 0x02ae7216, 0x00c90945, 0x012ee9b2, 0x03df7d99, 0x02a1bae6, 0x031ff3b4, 0x002f20fd}}, Y: Field{[10]uint32{0x03232292, 0x034f9252, 0x00b30020, 0x018e8ea2, 0x01fa3c25, 0x03446550, 0x01ed4553, 0x01f48e02, 0x03a3e506, 0x00063a47}}}, + {X: Field{[10]uint32{0x00200919, 0x036d0d4b, 0x037b3205, 0x03038aee, 0x0045f83d, 0x011f4149, 0x0211b7e8, 0x02239ac3, 0x02578d9b, 0x001f56e5}}, Y: Field{[10]uint32{0x00515ba9, 0x03d55c24, 0x00d352fa, 0x01caabf5, 0x00b1c9e6, 0x015a6bd3, 0x00e7230c, 0x0304370a, 0x037b8830, 0x00079a27}}}, + {X: Field{[10]uint32{0x000cdc80, 0x03e4a288, 0x03cdc1ba, 0x021f2b30, 0x01516148, 0x01183128, 0x01bab4c7, 0x021a20c7, 0x03648d75, 0x00217a7c}}, Y: Field{[10]uint32{0x01369e27, 0x0239684c, 0x03a9dd5f, 0x03d300ff, 0x035ba5e4, 0x001fdff0, 0x025224cc, 0x01170161, 0x01180d50, 0x001fd339}}}, + {X: Field{[10]uint32{0x02cd0810, 0x00765d12, 0x0065da10, 0x01dd16c7, 0x029c1d10, 0x02ef6dc6, 0x0055816d, 0x0252f4d2, 0x00dfc1c0, 0x001094e4}}, Y: Field{[10]uint32{0x0349bc00, 0x01df53c7, 0x0327d1e2, 0x030c2303, 0x02707547, 0x0027785d, 0x0026d94f, 0x0135c1a4, 0x00dd20ef, 0x00207c53}}}, + {X: Field{[10]uint32{0x013549d7, 0x036bfd90, 0x004194ce, 0x0026fe39, 0x02dbb594, 0x00283dd6, 0x00d00bb6, 0x024eb094, 0x030b66dc, 0x000f31f3}}, Y: Field{[10]uint32{0x00204a58, 0x01307587, 0x0323a066, 0x00668afa, 0x02ae17b7, 0x037dc399, 0x008bcf99, 0x036267da, 0x032fc3db, 0x000cc698}}}, + {X: Field{[10]uint32{0x0270853d, 0x00acfaf3, 0x035f017e, 0x00a8af8e, 0x009d6a0b, 0x03fde276, 0x03c923bc, 0x02f3a023, 0x008db8a1, 0x003f5c82}}, Y: Field{[10]uint32{0x01eaf599, 0x0037b242, 0x03494b71, 0x02a37d91, 0x0193db4a, 0x0282fb76, 0x03296383, 0x0066ebac, 0x0323a388, 0x0034e44a}}}, + {X: Field{[10]uint32{0x03e65060, 0x02cd6b3b, 0x037a6b72, 0x01071f74, 0x01c73185, 0x0282ea89, 0x00940af9, 0x025b6936, 0x038d5e00, 0x000f9563}}, Y: Field{[10]uint32{0x0260e90a, 0x01414f79, 0x00dde769, 0x00c5ffb0, 0x03f78f64, 0x02ea56e1, 0x03bdb3ef, 0x020170fa, 0x017f069d, 0x000a900f}}}, + {X: Field{[10]uint32{0x00694a7e, 0x03c81276, 0x00b01e82, 0x00aa43f4, 0x03721ec3, 0x0386dd17, 0x0000149f, 0x03c8885b, 0x0223f525, 0x001c1c20}}, Y: Field{[10]uint32{0x03d12569, 0x036afafb, 0x0354b410, 0x02218d98, 0x01fce17d, 0x01f650ed, 0x0186ac90, 0x0354fc67, 0x0387f0b4, 0x003bd2b5}}}, + {X: Field{[10]uint32{0x02414f72, 0x03a4452a, 0x012fc6e5, 0x02537be7, 0x02440b4a, 0x007933dd, 0x01eddb71, 0x03ebd92e, 0x0225eabf, 0x003b28a5}}, Y: Field{[10]uint32{0x037618cf, 0x00e2e388, 0x009dcd35, 0x00a0a0e6, 0x03f798b6, 0x03162433, 0x03bb2274, 0x028ff2c8, 0x007575af, 0x003c7e0e}}}, + {X: Field{[10]uint32{0x03297695, 0x00e3d957, 0x00108778, 0x02959b5b, 0x02da7423, 0x02186496, 0x0206db46, 0x03c31311, 0x0350542d, 0x0016df11}}, Y: Field{[10]uint32{0x011f784d, 0x008ae79e, 0x010795f9, 0x00b57a01, 0x01de04db, 0x033669a9, 0x00cb1a24, 0x02227f5b, 0x03661ae1, 0x0010a044}}}, + {X: Field{[10]uint32{0x00012042, 0x026e61af, 0x0038cb37, 0x01a20016, 0x02bd5da1, 0x039e20bf, 0x02982dd1, 0x02cbbb4d, 0x03e6040c, 0x002bc697}}, Y: Field{[10]uint32{0x013e6224, 0x0104856b, 0x00778b7e, 0x023a18f5, 0x02576877, 0x03f3f228, 0x03d12ed1, 0x0298d298, 0x0149305f, 0x001c55c1}}}, + {X: Field{[10]uint32{0x0366b1d2, 0x00659da4, 0x0346a9a3, 0x022c755d, 0x03e1e8b1, 0x00627132, 0x03cd1be1, 0x01f9c3e0, 0x03a24678, 0x001c9d10}}, Y: Field{[10]uint32{0x0116d540, 0x024a341b, 0x03dead68, 0x0303480b, 0x004df56a, 0x01dc396d, 0x02565cc1, 0x00fa2684, 0x00269bba, 0x00218d5e}}}, + {X: Field{[10]uint32{0x02640b8d, 0x03866284, 0x012556c5, 0x00aeafcf, 0x03ae2c9a, 0x004e647d, 0x01e68352, 0x0398a852, 0x0179db34, 0x0000259e}}, Y: Field{[10]uint32{0x019edcc4, 0x0301f07f, 0x03b014d4, 0x009c946c, 0x018547b8, 0x02fcf47b, 0x02e44ac3, 0x015944f3, 0x014f5244, 0x00267707}}}, + {X: Field{[10]uint32{0x03203601, 0x03ee20eb, 0x038b159d, 0x01f6f95e, 0x02be5693, 0x0016c1ac, 0x02f9d739, 0x0124789f, 0x01db08f3, 0x001e5002}}, Y: Field{[10]uint32{0x02da40b6, 0x0329878a, 0x017e750e, 0x009090e4, 0x005db60d, 0x022761ad, 0x026a0872, 0x03873456, 0x024d7ee5, 0x00169ab5}}}, + {X: Field{[10]uint32{0x01851d10, 0x018a5faa, 0x015110cf, 0x00bd41e4, 0x03d2f421, 0x03ec3747, 0x029470b1, 0x02c2436e, 0x02396f90, 0x0021f2f6}}, Y: Field{[10]uint32{0x001b63f0, 0x02480169, 0x013e773a, 0x014b8473, 0x03fb8f79, 0x01561771, 0x01fb4c9c, 0x03e65d40, 0x01f3a2a4, 0x00272825}}}, + {X: Field{[10]uint32{0x0110acb0, 0x0116c06e, 0x01fa84b2, 0x036816e5, 0x02cd1f3a, 0x006f9f84, 0x00207720, 0x005d4963, 0x0303475d, 0x0027b55e}}, Y: Field{[10]uint32{0x03bbd5eb, 0x03ba8da8, 0x0350d324, 0x0112387b, 0x03253106, 0x0032cfa2, 0x0058a7bd, 0x0206be17, 0x005443bd, 0x00356324}}}, + {X: Field{[10]uint32{0x028b0402, 0x00d53980, 0x02be7d5d, 0x0087f499, 0x0335fd95, 0x01844cd8, 0x02c77e38, 0x011260b6, 0x022292ca, 0x003be342}}, Y: Field{[10]uint32{0x00b58b6b, 0x01629d0f, 0x0037ff97, 0x034b8ad0, 0x02f2f547, 0x01df06a6, 0x0223e5b6, 0x02076a92, 0x034a5568, 0x00395712}}}, + {X: Field{[10]uint32{0x0127e3d9, 0x000565f4, 0x01c75abd, 0x0386c4bd, 0x002299f6, 0x03e93b42, 0x02d369f4, 0x03ca7540, 0x01f5a274, 0x001b6e88}}, Y: Field{[10]uint32{0x01a39d94, 0x0369de94, 0x00f3c930, 0x02774b7c, 0x01c951f6, 0x039ba720, 0x00302de3, 0x03907a31, 0x032f0a0c, 0x001da17d}}}, + {X: Field{[10]uint32{0x00399a3d, 0x0111a4f2, 0x032aa6ba, 0x026dfecc, 0x02784196, 0x01bb4a94, 0x001b0f42, 0x0308d5f7, 0x02bf857a, 0x0023370f}}, Y: Field{[10]uint32{0x03f910ca, 0x01dbe92d, 0x02beca58, 0x02ac9d22, 0x03df250d, 0x02da2866, 0x00d87249, 0x031c501b, 0x03c1915a, 0x0008d374}}}, + {X: Field{[10]uint32{0x01eca2da, 0x03f620ad, 0x00de1e88, 0x03e8a4d1, 0x00a9c790, 0x011c1a26, 0x03391b6f, 0x0196d1f8, 0x01c8caa6, 0x0028020a}}, Y: Field{[10]uint32{0x01424110, 0x02d4c5bf, 0x02aa8184, 0x025d81a3, 0x00234862, 0x020c6095, 0x004b1299, 0x01333962, 0x00c71e83, 0x002df23f}}}, + {X: Field{[10]uint32{0x0149ce6a, 0x02007748, 0x005f5640, 0x00bbbfdf, 0x02a4ed5b, 0x0353c8b5, 0x012e54a1, 0x02fac528, 0x0362446c, 0x00161cbd}}, Y: Field{[10]uint32{0x00ee198f, 0x0283070a, 0x01e2ac75, 0x0362eeb3, 0x004c37d5, 0x010d93bd, 0x030c29e2, 0x015fe869, 0x03e88627, 0x0022ab34}}}, + {X: Field{[10]uint32{0x02fd34f2, 0x0331ae40, 0x03b2fec4, 0x02b24674, 0x0353e7ce, 0x016d4cb3, 0x02677d2e, 0x01c543c8, 0x01c05dba, 0x002dc3b5}}, Y: Field{[10]uint32{0x00d28cf8, 0x035120a9, 0x0083126b, 0x026c2158, 0x0376c3d6, 0x006363f2, 0x03cee0b0, 0x005c728b, 0x0128cc74, 0x001f90fd}}}, + {X: Field{[10]uint32{0x0053bb52, 0x00305ae0, 0x027d309d, 0x00169e42, 0x022e8ca5, 0x03ac272e, 0x01a6d7c8, 0x0187431f, 0x02133c61, 0x0012faa8}}, Y: Field{[10]uint32{0x01d4f6d5, 0x02b372a6, 0x03ffadb1, 0x01b30a62, 0x03070349, 0x012cbb84, 0x0226d8fe, 0x0368bb19, 0x003c9cbd, 0x00369302}}}, + {X: Field{[10]uint32{0x01804831, 0x003a07c1, 0x035fc8a1, 0x00d134d3, 0x0108594b, 0x017e6af4, 0x00de363c, 0x0060d29e, 0x02c653ce, 0x002a34c7}}, Y: Field{[10]uint32{0x02c5cff9, 0x0130a1b6, 0x00bce64f, 0x00616529, 0x008c462c, 0x02df22e9, 0x01b5601c, 0x038dc27b, 0x01cd7cbb, 0x002d35aa}}}, +} + +var prec = [64][16]XY{ + { + {X: Field{[10]uint32{0x02f81798, 0x00a056c5, 0x028d959f, 0x036cb738, 0x03029bfc, 0x03a1c2c1, 0x0206295c, 0x02eeb156, 0x027ef9dc, 0x001e6f99}}, Y: Field{[10]uint32{0x0310d4b8, 0x01f423fe, 0x014199c4, 0x01229a15, 0x00fd17b4, 0x0384422a, 0x024fbfc0, 0x03119576, 0x027726a3, 0x00120eb6}}}, + {X: Field{[10]uint32{0x00709ee5, 0x03026e57, 0x03ca7aba, 0x012e33bc, 0x005c778e, 0x01701f36, 0x005406e9, 0x01f5b4c1, 0x039441ed, 0x0031811f}}, Y: Field{[10]uint32{0x00cfe52a, 0x010c6a54, 0x010e1236, 0x0194c99b, 0x02f7f632, 0x019b3abb, 0x00584194, 0x030ce68f, 0x00fea63d, 0x0006b85a}}}, + {X: Field{[10]uint32{0x00e036f9, 0x007c44ef, 0x019b0860, 0x01160dbe, 0x01b531c8, 0x0227548a, 0x0344f85f, 0x030c4124, 0x02019258, 0x003e4c22}}, Y: Field{[10]uint32{0x00b8e672, 0x027f5d61, 0x0231b6cb, 0x0264d308, 0x026500a9, 0x028dfcd5, 0x02337e62, 0x03a0503f, 0x030f632d, 0x000e23de}}}, + {X: Field{[10]uint32{0x00c4cd13, 0x02a52afa, 0x0358474f, 0x02403b81, 0x00cc6c13, 0x00c2c501, 0x01e49049, 0x0203cd60, 0x03f1c10d, 0x003924f6}}, Y: Field{[10]uint32{0x03739922, 0x025ef711, 0x03e40cfe, 0x00cefef7, 0x00d967ae, 0x03a94512, 0x002e2098, 0x0156dd59, 0x013ea0d4, 0x00147b66}}}, + {X: Field{[10]uint32{0x0240efe4, 0x02355a6c, 0x01ab7cba, 0x02f77186, 0x00e88b84, 0x0297144a, 0x034a7250, 0x00824d56, 0x024d1a07, 0x000be2f7}}, Y: Field{[10]uint32{0x02ac62d6, 0x021f4ea9, 0x02840dca, 0x006eac35, 0x02f78827, 0x01b27109, 0x01ba9dda, 0x038f5b53, 0x022636e5, 0x00362b08}}}, + {X: Field{[10]uint32{0x00297556, 0x015e8518, 0x0218b2f0, 0x00be15a2, 0x0382f647, 0x01548d74, 0x0053a143, 0x03ba9081, 0x03d5755e, 0x003ffe5e}}, Y: Field{[10]uint32{0x0075f297, 0x01c30dac, 0x024a03c8, 0x03d9463f, 0x00de80f0, 0x03d17158, 0x03e96017, 0x02d883ce, 0x037aacfb, 0x002b849d}}}, + {X: Field{[10]uint32{0x02c4f9bc, 0x02f77b72, 0x0239ce92, 0x01f80cc3, 0x023d419b, 0x00ba9e83, 0x018f365f, 0x02d3aa8e, 0x00646e5d, 0x00172f7c}}, Y: Field{[10]uint32{0x007264da, 0x02098a02, 0x027b5a50, 0x02e04ff7, 0x03a813d0, 0x01869536, 0x0178d6d8, 0x0165828c, 0x0240ba25, 0x001abaf2}}}, + {X: Field{[10]uint32{0x010a2a01, 0x0213bcf8, 0x0088a677, 0x001796be, 0x030a1bdd, 0x01c3cf0b, 0x033843fb, 0x00d476bf, 0x01e15cca, 0x000bc079}}, Y: Field{[10]uint32{0x00bde904, 0x028b2ddb, 0x03617b5d, 0x035ae96d, 0x00c2e213, 0x00cb44ed, 0x03d082a1, 0x026524a4, 0x00a74153, 0x0017136a}}}, + {X: Field{[10]uint32{0x0027ccbe, 0x03c4437f, 0x02714c35, 0x025d315f, 0x01e09796, 0x03d566af, 0x02d178a9, 0x03d94c26, 0x00e2f0c7, 0x002b3521}}, Y: Field{[10]uint32{0x024f9c37, 0x03098ab1, 0x00e0f05c, 0x0290dd7e, 0x01add888, 0x018ed87a, 0x03809717, 0x0367f590, 0x0121b0a7, 0x00330ce2}}}, + {X: Field{[10]uint32{0x03e247c7, 0x01a38a91, 0x002b752a, 0x026c650f, 0x013442d4, 0x02b9ab97, 0x0077c7b1, 0x032188d5, 0x019e47f3, 0x002810d3}}, Y: Field{[10]uint32{0x037368d7, 0x03b94ec0, 0x021593cb, 0x00bb61de, 0x016f794c, 0x00e8931a, 0x036c7e69, 0x02f09e8e, 0x02425419, 0x00224eae}}}, + {X: Field{[10]uint32{0x01a008cb, 0x0305e257, 0x03891bbe, 0x002f9705, 0x00564998, 0x003196ab, 0x034246b7, 0x0104797b, 0x03f858a9, 0x001dd2b9}}, Y: Field{[10]uint32{0x0153c61b, 0x035d3272, 0x016a8301, 0x038b7fe7, 0x01372db1, 0x01edecd9, 0x003dd56d, 0x01786409, 0x0032eb6b, 0x00366128}}}, + {X: Field{[10]uint32{0x00afe85a, 0x003d1c1c, 0x0095bc5b, 0x01065880, 0x03687cf4, 0x035cd18c, 0x0038f004, 0x01586c57, 0x01d548e7, 0x00340445}}, Y: Field{[10]uint32{0x00062327, 0x0146c4fd, 0x02d526b0, 0x017766a1, 0x0179238c, 0x005ef605, 0x0364537e, 0x03835ea2, 0x03fdc815, 0x002a7cd3}}}, + {X: Field{[10]uint32{0x01405aa8, 0x0377e3c6, 0x018cddee, 0x03198439, 0x01b075fb, 0x00dd2194, 0x011d205c, 0x00a22f1f, 0x03c2d975, 0x003ca1dc}}, Y: Field{[10]uint32{0x0303ed81, 0x0172d4b6, 0x0291f29b, 0x0369487e, 0x033a1a06, 0x01736bd1, 0x00212eb6, 0x002a25d6, 0x002e8d88, 0x0002ac24}}}, + {X: Field{[10]uint32{0x00e823e4, 0x02c90698, 0x009e6e49, 0x018d9e25, 0x0226aa7b, 0x01f4e38c, 0x024e67f0, 0x01c673f5, 0x039e895e, 0x001267f7}}, Y: Field{[10]uint32{0x03a13f5b, 0x03d03500, 0x015bcc65, 0x0309e8fe, 0x00464279, 0x01ecf519, 0x03044e4a, 0x02154643, 0x02c4b54e, 0x0032b0bd}}}, + {X: Field{[10]uint32{0x027e080e, 0x036f3e38, 0x0379e44a, 0x01bcf217, 0x0131e594, 0x0257fd04, 0x0065ae30, 0x03aa5969, 0x014f7d43, 0x0035e493}}, Y: Field{[10]uint32{0x02a26b58, 0x013727fd, 0x013a5c50, 0x00af625b, 0x03ea40af, 0x02331b7b, 0x0042ec22, 0x01ca9a0e, 0x0072a86c, 0x0016078a}}}, + {X: Field{[10]uint32{0x026dec0a, 0x03ba278a, 0x01ae9c44, 0x01a6e1e9, 0x03b2a313, 0x00708fa5, 0x011aabc2, 0x027b14c0, 0x0293b59e, 0x003983f3}}, Y: Field{[10]uint32{0x01616821, 0x00cb339a, 0x03f0be1f, 0x00791348, 0x00129689, 0x015e4dc4, 0x0399f34f, 0x02564a76, 0x007399e5, 0x003df8d4}}}, + }, + { + {X: Field{[10]uint32{0x026dec0a, 0x03ba278a, 0x01ae9c44, 0x01a6e1e9, 0x03b2a313, 0x00708fa5, 0x011aabc2, 0x027b14c0, 0x0293b59e, 0x003983f3}}, Y: Field{[10]uint32{0x01616821, 0x00cb339a, 0x03f0be1f, 0x00791348, 0x00129689, 0x015e4dc4, 0x0399f34f, 0x02564a76, 0x007399e5, 0x003df8d4}}}, + {X: Field{[10]uint32{0x03143e65, 0x0036f501, 0x0261d75d, 0x02e26412, 0x02dacffc, 0x00bcde33, 0x036e054e, 0x0288b51e, 0x01d74fb5, 0x0034c066}}, Y: Field{[10]uint32{0x00106ab9, 0x00ffc7c9, 0x0019605b, 0x030d93b6, 0x011f760c, 0x0260e019, 0x016dec9e, 0x03570ecf, 0x019d0ae3, 0x002540e3}}}, + {X: Field{[10]uint32{0x0118e5c3, 0x021c2a84, 0x02bc19bd, 0x009d14af, 0x03fc579b, 0x013996d2, 0x001656ef, 0x00c1f6d1, 0x035d9645, 0x001bb28c}}, Y: Field{[10]uint32{0x01a08668, 0x028bde01, 0x02c34498, 0x00e8efe3, 0x003a496a, 0x012e1d68, 0x02f57907, 0x001c4164, 0x03b57a7a, 0x00354048}}}, + {X: Field{[10]uint32{0x0074ef8b, 0x024639be, 0x03d81e37, 0x007736eb, 0x00fc4c6f, 0x020ca08f, 0x01051eaf, 0x03aadc2c, 0x01542d16, 0x002fc8f0}}, Y: Field{[10]uint32{0x02831d9f, 0x00dfbf99, 0x02f784dc, 0x01520478, 0x00c522fc, 0x0294e4b9, 0x01928a0b, 0x000dcdeb, 0x026fc330, 0x00172ce1}}}, + {X: Field{[10]uint32{0x0387f62e, 0x034c7853, 0x021270ec, 0x00e18dc5, 0x0010e6e6, 0x00d1967c, 0x03c744ed, 0x0243b035, 0x03bef1bf, 0x003a588e}}, Y: Field{[10]uint32{0x004ee737, 0x004fabe9, 0x0044e530, 0x032775a2, 0x01fe6043, 0x03b6aa4a, 0x03e953a8, 0x0267a783, 0x003b4bc2, 0x000e2a5d}}}, + {X: Field{[10]uint32{0x038cb0e3, 0x00ceb29f, 0x023a4439, 0x00ff87bf, 0x02a22eb5, 0x02cbadcb, 0x0264e044, 0x01b63e3e, 0x00e57445, 0x000fc3a0}}, Y: Field{[10]uint32{0x025f404f, 0x00a278ba, 0x013a4cb0, 0x00ea996d, 0x03950125, 0x0217406c, 0x00b9c084, 0x02f247a4, 0x03d7296c, 0x0032d9b5}}}, + {X: Field{[10]uint32{0x028d733c, 0x02ab7e0a, 0x028f9eb0, 0x02fd8bf2, 0x02ffc274, 0x002035a0, 0x004a36f2, 0x0076e822, 0x0173e516, 0x002f20b7}}, Y: Field{[10]uint32{0x007797f0, 0x0218413d, 0x017301e7, 0x02eb9ce2, 0x03ae93a0, 0x0067c0b7, 0x029b4bf7, 0x0072b152, 0x003a044b, 0x00397ca3}}}, + {X: Field{[10]uint32{0x0369a24e, 0x001dd159, 0x01655647, 0x035c014d, 0x00bcf55c, 0x01f459c7, 0x02c3d09f, 0x01e819a5, 0x03e4033f, 0x000d3fce}}, Y: Field{[10]uint32{0x03cc2f1a, 0x00419e9c, 0x03681849, 0x030fa3e2, 0x0055df16, 0x020c8263, 0x02619d89, 0x01b154fd, 0x01623a23, 0x00176744}}}, + {X: Field{[10]uint32{0x03bc7671, 0x03f88c57, 0x00e32d7e, 0x03214a16, 0x00743f1b, 0x01e63d24, 0x00291ce1, 0x01c84748, 0x0248c765, 0x00238f44}}, Y: Field{[10]uint32{0x00717dec, 0x00771906, 0x0144a7ef, 0x02aa98f8, 0x02b9352b, 0x00e4fa43, 0x00480e19, 0x032e07d9, 0x00e10ecf, 0x00026692}}}, + {X: Field{[10]uint32{0x01b03f6c, 0x030cab54, 0x0184b05e, 0x0048aa6c, 0x02a4d047, 0x03dcfd5d, 0x00776838, 0x036488af, 0x03a27a52, 0x000c2244}}, Y: Field{[10]uint32{0x00fe4c67, 0x02d7bf3a, 0x01f1260a, 0x03aa0af4, 0x01a8333f, 0x01b00dd7, 0x023531f6, 0x02f97e47, 0x009543fe, 0x003d296c}}}, + {X: Field{[10]uint32{0x02b31db2, 0x021d0caf, 0x006a0f32, 0x009e23d4, 0x028fcae8, 0x002228ad, 0x02a193ed, 0x02926225, 0x01aa2234, 0x001e2a24}}, Y: Field{[10]uint32{0x01fa4343, 0x027588ee, 0x0382d306, 0x03376002, 0x0254379b, 0x01cc0b7d, 0x035f2552, 0x00d72ff3, 0x035beb50, 0x001a44a8}}}, + {X: Field{[10]uint32{0x03ce1752, 0x01d43dcc, 0x0204ec7b, 0x025f5f34, 0x02e783c7, 0x026726ba, 0x02ddf64d, 0x0318d604, 0x0258d01d, 0x0035e836}}, Y: Field{[10]uint32{0x0362cef4, 0x0009ce01, 0x03742bbc, 0x02a3018a, 0x010be040, 0x0038a119, 0x03292834, 0x0200cbdb, 0x00e06800, 0x002449dc}}}, + {X: Field{[10]uint32{0x01b0e595, 0x0123dde3, 0x002bb653, 0x02e7ee82, 0x03a7163c, 0x00581dba, 0x00e37658, 0x006c5f5f, 0x001855db, 0x001f619e}}, Y: Field{[10]uint32{0x00733de8, 0x01478eaf, 0x01532999, 0x01383897, 0x00293784, 0x0353e20e, 0x0162e2be, 0x03e1dcb9, 0x02dfec86, 0x0038ae66}}}, + {X: Field{[10]uint32{0x00e6b514, 0x03115c1b, 0x03322609, 0x031e6cd5, 0x01890905, 0x00211352, 0x005c3560, 0x03b45622, 0x01c2f919, 0x00022f22}}, Y: Field{[10]uint32{0x00c95157, 0x00fd33aa, 0x036f06f6, 0x0158449d, 0x01172d30, 0x02d624b0, 0x0376fec3, 0x03305b79, 0x03cdd7cd, 0x0034c4fc}}}, + {X: Field{[10]uint32{0x02060dfc, 0x03fbe145, 0x02a2a008, 0x02108179, 0x0276545f, 0x0106ac21, 0x0094b9dc, 0x00ab2121, 0x010f0058, 0x0037714c}}, Y: Field{[10]uint32{0x03820ca8, 0x03e2adb9, 0x00730fb5, 0x031aaf41, 0x0041dbaf, 0x0323c3a4, 0x011ab6dc, 0x025a4806, 0x033af20d, 0x002e834b}}}, + {X: Field{[10]uint32{0x01f51508, 0x01b88ff5, 0x01ca1064, 0x02af56b0, 0x00d8c39c, 0x01cb788e, 0x02a6e3e1, 0x002767a8, 0x023212c6, 0x0020a089}}, Y: Field{[10]uint32{0x02e26caf, 0x02dbabfd, 0x017bed31, 0x02b0bdec, 0x0262d613, 0x002d82b3, 0x00256e83, 0x037f917a, 0x00098557, 0x00047e2a}}}, + }, + { + {X: Field{[10]uint32{0x01f51508, 0x01b88ff5, 0x01ca1064, 0x02af56b0, 0x00d8c39c, 0x01cb788e, 0x02a6e3e1, 0x002767a8, 0x023212c6, 0x0020a089}}, Y: Field{[10]uint32{0x02e26caf, 0x02dbabfd, 0x017bed31, 0x02b0bdec, 0x0262d613, 0x002d82b3, 0x00256e83, 0x037f917a, 0x00098557, 0x00047e2a}}}, + {X: Field{[10]uint32{0x0334a24d, 0x038b003b, 0x019d0926, 0x01a36785, 0x010adbc9, 0x033e4635, 0x01a857a9, 0x027fce41, 0x00b287a7, 0x001194dc}}, Y: Field{[10]uint32{0x033887f4, 0x023ec82c, 0x03a10a2f, 0x02c8574d, 0x01588e09, 0x037bb0b0, 0x02f8bdaf, 0x03020a92, 0x01b38368, 0x000d794c}}}, + {X: Field{[10]uint32{0x017e8dfa, 0x03032e79, 0x02184fcf, 0x02468f1f, 0x00098091, 0x032a6328, 0x01a30f8a, 0x02713036, 0x032ff079, 0x002098b3}}, Y: Field{[10]uint32{0x03ac376a, 0x03fe363e, 0x0047835c, 0x00ccac53, 0x0057b6ed, 0x016cd3cd, 0x03ee22ec, 0x0279399b, 0x01e20910, 0x0020ff65}}}, + {X: Field{[10]uint32{0x0285131f, 0x02406cb8, 0x03088d5b, 0x0337204e, 0x00aaec6e, 0x01ab5890, 0x024a18f6, 0x02f5df59, 0x03b8e23c, 0x000907fa}}, Y: Field{[10]uint32{0x0350026d, 0x00f99bc9, 0x035afabb, 0x003ef432, 0x00cd50fd, 0x00e6077e, 0x00420bd1, 0x03e34f5b, 0x00d9ff94, 0x00144cde}}}, + {X: Field{[10]uint32{0x026bdb6f, 0x00b922c0, 0x00b94905, 0x0351edcd, 0x037ca41b, 0x033a6721, 0x00105b24, 0x0377545a, 0x008b1da0, 0x00066097}}, Y: Field{[10]uint32{0x009cfc9b, 0x03dc2131, 0x013a6b5d, 0x033233db, 0x00ebe9ee, 0x013d67db, 0x00261cc9, 0x021e3cc8, 0x010f0d4c, 0x0018a50c}}}, + {X: Field{[10]uint32{0x0070620c, 0x03307c9f, 0x008d9d17, 0x02faaf0a, 0x004998c4, 0x02d9c5e0, 0x00dd31a2, 0x008db718, 0x00a48d2c, 0x000594ea}}, Y: Field{[10]uint32{0x015b32cd, 0x00ba074c, 0x01c526ca, 0x01237f4f, 0x00012af7, 0x03be9c07, 0x03a99474, 0x01fdebab, 0x010935af, 0x0000ce0a}}}, + {X: Field{[10]uint32{0x0182824c, 0x0342548f, 0x034e650e, 0x00d17854, 0x02dfa58e, 0x01b0a667, 0x005f56ec, 0x0064510f, 0x006c1160, 0x001bc4b6}}, Y: Field{[10]uint32{0x02eb34d0, 0x0270d201, 0x03c5b857, 0x01042152, 0x01391c92, 0x03588dda, 0x01994f3f, 0x02fe821d, 0x03f44ab3, 0x001713fd}}}, + {X: Field{[10]uint32{0x03920471, 0x02d8c1a6, 0x01e0dedc, 0x0217d08f, 0x01fc318b, 0x00f63e36, 0x024cc298, 0x03e9e7f3, 0x034ea172, 0x001746f6}}, Y: Field{[10]uint32{0x03b83103, 0x00c199bd, 0x02e7b703, 0x02665b15, 0x0279eb1e, 0x02288995, 0x00bb9943, 0x0278b9e5, 0x02677937, 0x000a10e0}}}, + {X: Field{[10]uint32{0x03453629, 0x037700b6, 0x02603076, 0x03703d67, 0x0245cfdc, 0x008eafbd, 0x0262716a, 0x02a97450, 0x006f9a0a, 0x00080ea3}}, Y: Field{[10]uint32{0x03f89f84, 0x0071e14f, 0x01ed4597, 0x009714a1, 0x02686deb, 0x03d04184, 0x00c76d15, 0x0366e4db, 0x0353de5d, 0x000ec3c2}}}, + {X: Field{[10]uint32{0x0147f3d6, 0x011955ec, 0x00b45b94, 0x0085eae3, 0x03553199, 0x01195440, 0x026a3632, 0x02c78467, 0x0332c294, 0x0011d291}}, Y: Field{[10]uint32{0x00628ba4, 0x03a14a0a, 0x01300dce, 0x005c0438, 0x0311fa7f, 0x00e922a8, 0x02cc30cc, 0x03c13bb4, 0x02231206, 0x00251897}}}, + {X: Field{[10]uint32{0x006c7ecb, 0x004c3779, 0x00ce9783, 0x00ff96ed, 0x009d3aed, 0x0219b87b, 0x01ef7334, 0x01060720, 0x02eb3d03, 0x001b8ab2}}, Y: Field{[10]uint32{0x02bc8720, 0x024807bb, 0x0112c844, 0x02e46d9d, 0x02fac706, 0x003ed90e, 0x000c4daf, 0x03b85276, 0x006797ef, 0x00279869}}}, + {X: Field{[10]uint32{0x031dabcd, 0x010ae9b9, 0x00b4f47d, 0x01262797, 0x0354d3fe, 0x002d4dcf, 0x018ae326, 0x03d0f182, 0x00fb6b63, 0x003527b9}}, Y: Field{[10]uint32{0x016603c2, 0x02a433c0, 0x03031e66, 0x024c4bfd, 0x02129c50, 0x0186fcd5, 0x0087ea7a, 0x0124375f, 0x039209a5, 0x00014c78}}}, + {X: Field{[10]uint32{0x00a4147e, 0x00063cfc, 0x03201eb7, 0x022fddd7, 0x002747dd, 0x02924296, 0x021717e8, 0x0055aebd, 0x0092e9e9, 0x003569c1}}, Y: Field{[10]uint32{0x03fb65ff, 0x02cf2e0c, 0x0357f8e4, 0x0211e59f, 0x02f4c4d9, 0x0197814c, 0x00909907, 0x02271bf1, 0x02f5dbab, 0x00276d49}}}, + {X: Field{[10]uint32{0x003841c6, 0x02a3da2d, 0x02fbd63d, 0x03034d0f, 0x0212aa3c, 0x033afd30, 0x03b6b52d, 0x00226526, 0x009e03df, 0x001b3044}}, Y: Field{[10]uint32{0x0154e94d, 0x00ce91ae, 0x02cf5b97, 0x00f8b641, 0x00d79b43, 0x028a7ffb, 0x03d3d6b0, 0x012dd83f, 0x02fe9c09, 0x002bd586}}}, + {X: Field{[10]uint32{0x00edcec6, 0x036d1af6, 0x00f454ed, 0x030b4d8d, 0x02a1061c, 0x000b36b1, 0x023efc63, 0x022ea014, 0x019aabe1, 0x000e3144}}, Y: Field{[10]uint32{0x0133db08, 0x0382fec6, 0x030a6456, 0x0208ad54, 0x0328a16c, 0x01d7ca0b, 0x00cb2da2, 0x01cca99a, 0x012285d9, 0x00399277}}}, + {X: Field{[10]uint32{0x01e5b739, 0x03396d54, 0x022ed73f, 0x00cff488, 0x01e0b938, 0x01bf211b, 0x0399cc6c, 0x021969cb, 0x019f728b, 0x0005d785}}, Y: Field{[10]uint32{0x01fed695, 0x029bffba, 0x0345c6ef, 0x016b7490, 0x02acb595, 0x03fdc7d7, 0x02f97a51, 0x01e7ae93, 0x020d9e3c, 0x0034d41b}}}, + }, + { + {X: Field{[10]uint32{0x01e5b739, 0x03396d54, 0x022ed73f, 0x00cff488, 0x01e0b938, 0x01bf211b, 0x0399cc6c, 0x021969cb, 0x019f728b, 0x0005d785}}, Y: Field{[10]uint32{0x01fed695, 0x029bffba, 0x0345c6ef, 0x016b7490, 0x02acb595, 0x03fdc7d7, 0x02f97a51, 0x01e7ae93, 0x020d9e3c, 0x0034d41b}}}, + {X: Field{[10]uint32{0x02bc47d6, 0x02012791, 0x0121bce7, 0x02d71b68, 0x0130fdfe, 0x004e7188, 0x03fbcc8e, 0x00cb5e97, 0x013f03ff, 0x00108e80}}, Y: Field{[10]uint32{0x03548a34, 0x00db9b62, 0x0009ed12, 0x030d493c, 0x03720d8e, 0x02bdacf1, 0x0179f7bb, 0x0365c284, 0x000fe1e1, 0x002e46b8}}}, + {X: Field{[10]uint32{0x01041216, 0x01fe3c71, 0x0036a65b, 0x03da10ae, 0x023f7335, 0x030bfb54, 0x00b59efd, 0x02b3d04a, 0x017b21f7, 0x00369d4c}}, Y: Field{[10]uint32{0x02708572, 0x034ca61b, 0x00edadae, 0x01eb9deb, 0x02e9aac0, 0x010b5ff1, 0x019e21b3, 0x0357c37c, 0x0046bf72, 0x001cfe28}}}, + {X: Field{[10]uint32{0x0016824a, 0x037dbde1, 0x02741302, 0x00bcecf8, 0x0249df66, 0x0335a1dd, 0x0107a7ab, 0x02e41422, 0x0245ac1f, 0x0004475a}}, Y: Field{[10]uint32{0x0108e9d0, 0x00447508, 0x00a4ca9a, 0x02265b6b, 0x02f07000, 0x03c19654, 0x00d48dbf, 0x02bfeee4, 0x011c478e, 0x0001a5a4}}}, + {X: Field{[10]uint32{0x0065a930, 0x010f9c79, 0x012fdb01, 0x0305ac4d, 0x022587f1, 0x02a0bac7, 0x033c58c4, 0x01275c15, 0x01b48e97, 0x00071c71}}, Y: Field{[10]uint32{0x034638b5, 0x01cfdb30, 0x00d471d8, 0x00fedc5d, 0x0079345e, 0x0092eda3, 0x013f1f28, 0x03e8309c, 0x0334e8f5, 0x0012a470}}}, + {X: Field{[10]uint32{0x0062bac0, 0x014c93cf, 0x02b06950, 0x037d47c2, 0x0219150d, 0x00fa2dc3, 0x024b7d2c, 0x011a704d, 0x00f9023f, 0x00254c3c}}, Y: Field{[10]uint32{0x0218e309, 0x02af6a5d, 0x01c68478, 0x0214bc7f, 0x00e25b32, 0x026cccf8, 0x01d2f7f5, 0x008788d3, 0x005a8f9f, 0x0023cf0c}}}, + {X: Field{[10]uint32{0x02db6ee7, 0x0236b96e, 0x02077e31, 0x010c9d12, 0x007850dd, 0x0026d327, 0x02e837a9, 0x02959a4d, 0x02fc1f31, 0x00361392}}, Y: Field{[10]uint32{0x002ebed2, 0x0155b9b5, 0x0264982d, 0x025d2a8f, 0x01fdd8ac, 0x01597793, 0x0238d58f, 0x01e7384a, 0x009a7c7b, 0x00394960}}}, + {X: Field{[10]uint32{0x03ced775, 0x03b77806, 0x00e56ab5, 0x02297bdd, 0x037290b6, 0x032e773f, 0x0395dbeb, 0x0322e2b5, 0x01c97ac7, 0x0012929b}}, Y: Field{[10]uint32{0x038dd66d, 0x03e3da29, 0x002acb2b, 0x036d091d, 0x031de90c, 0x02703d15, 0x03ef9f73, 0x0079ca50, 0x01b01663, 0x0014a644}}}, + {X: Field{[10]uint32{0x009e6d10, 0x03a7b3e9, 0x019d2394, 0x03cebab2, 0x03f60adf, 0x017fdbb4, 0x0322b928, 0x02053506, 0x004bde66, 0x003cf511}}, Y: Field{[10]uint32{0x0347da3f, 0x00e33014, 0x02c630a0, 0x01433a75, 0x03fc1ada, 0x026292d6, 0x02b95ac1, 0x0058f52e, 0x00dfa6f0, 0x000290c9}}}, + {X: Field{[10]uint32{0x0147b4b3, 0x0246dde9, 0x01411f5e, 0x0347f599, 0x00356929, 0x0026548b, 0x0382efee, 0x013dd477, 0x002f1d8e, 0x003c01b1}}, Y: Field{[10]uint32{0x006aa74b, 0x03d127ea, 0x03ae1b5e, 0x03bb5af9, 0x0275c933, 0x0393df45, 0x007848a4, 0x01482971, 0x00d4a666, 0x003da055}}}, + {X: Field{[10]uint32{0x01d33a07, 0x02cd01ba, 0x03cab48c, 0x0022a8e6, 0x004e72ee, 0x036f7d01, 0x0085520c, 0x007627e4, 0x012c9d9c, 0x002b8c19}}, Y: Field{[10]uint32{0x00a0b2a6, 0x01c303d8, 0x0295c748, 0x03d77f5f, 0x031c9c37, 0x036e3573, 0x00ce7d33, 0x03f95fbf, 0x01c38d63, 0x001b2e76}}}, + {X: Field{[10]uint32{0x003c9c8f, 0x0010e177, 0x027b2067, 0x03b8f90d, 0x00f2816f, 0x02a8ccac, 0x009ff43a, 0x0263f5bc, 0x02dcbe42, 0x0019ef80}}, Y: Field{[10]uint32{0x013652d9, 0x02126616, 0x002be553, 0x03d82e23, 0x03cd993b, 0x020a45a4, 0x00945b60, 0x03be128b, 0x01a73e4d, 0x001ea6d5}}}, + {X: Field{[10]uint32{0x0028caca, 0x01952e43, 0x001da759, 0x02ef320a, 0x021869c7, 0x00ce2326, 0x0217e758, 0x03872057, 0x032a5bd5, 0x00363706}}, Y: Field{[10]uint32{0x03b3ec7a, 0x019dba88, 0x028f6cdb, 0x00b3b204, 0x007d315d, 0x00091f65, 0x02d8da42, 0x031f5631, 0x02d927ce, 0x00233b02}}}, + {X: Field{[10]uint32{0x018b01b5, 0x00be5d14, 0x03adac5c, 0x022e1c42, 0x01ddccc8, 0x0149016c, 0x0250c453, 0x03a21706, 0x0346403d, 0x00039a6c}}, Y: Field{[10]uint32{0x00d965c5, 0x03b8da1e, 0x0283e418, 0x017cf401, 0x03cedf59, 0x01f5f74d, 0x01ed70ab, 0x03914987, 0x02c5fcd7, 0x0002d3be}}}, + {X: Field{[10]uint32{0x03c4416f, 0x007ed98e, 0x00402892, 0x008fcc2c, 0x01a7aefd, 0x000cbcc7, 0x01425a8d, 0x013b3356, 0x0292c5f8, 0x0009d278}}, Y: Field{[10]uint32{0x006bbd8e, 0x022f78bf, 0x021057e9, 0x02d97ba5, 0x02f59e9f, 0x03f2b6cf, 0x03d94990, 0x00af1100, 0x014e3767, 0x0014330b}}}, + {X: Field{[10]uint32{0x03ff4640, 0x02eb63e0, 0x02ffe526, 0x01f95554, 0x0053441c, 0x01898bb8, 0x00eac05b, 0x00327267, 0x00d447b0, 0x000d8f64}}, Y: Field{[10]uint32{0x03ee9de9, 0x000f1fce, 0x01ecb620, 0x02402066, 0x0145b9a8, 0x01fccd8c, 0x03b44539, 0x00888654, 0x03adfc73, 0x0001389c}}}, + }, + { + {X: Field{[10]uint32{0x03ff4640, 0x02eb63e0, 0x02ffe526, 0x01f95554, 0x0053441c, 0x01898bb8, 0x00eac05b, 0x00327267, 0x00d447b0, 0x000d8f64}}, Y: Field{[10]uint32{0x03ee9de9, 0x000f1fce, 0x01ecb620, 0x02402066, 0x0145b9a8, 0x01fccd8c, 0x03b44539, 0x00888654, 0x03adfc73, 0x0001389c}}}, + {X: Field{[10]uint32{0x0392c541, 0x004a972b, 0x0359dd27, 0x0004bb7e, 0x030b62fb, 0x024ec0af, 0x03973c6c, 0x01fa6d54, 0x0066ed9a, 0x001306e6}}, Y: Field{[10]uint32{0x028fe020, 0x013cff71, 0x031ad72c, 0x035f90fa, 0x00c652ea, 0x0395b9a7, 0x03cb753c, 0x02283dfe, 0x02d320be, 0x00307de4}}}, + {X: Field{[10]uint32{0x02e55dc8, 0x024485bd, 0x004394b8, 0x02dbab28, 0x026ff95a, 0x00142510, 0x004a440c, 0x03fecaea, 0x004790c5, 0x00110c50}}, Y: Field{[10]uint32{0x03e323b3, 0x02512bb6, 0x02e5031d, 0x02de7aa8, 0x03a66a29, 0x0190bfb5, 0x019837f5, 0x019be3fa, 0x0142e653, 0x0025ac30}}}, + {X: Field{[10]uint32{0x02aaf3d1, 0x023ca32f, 0x03135e0c, 0x02f068a3, 0x023233ed, 0x01e02d53, 0x01a2f3c0, 0x02c4ad4a, 0x0077ba83, 0x0029020e}}, Y: Field{[10]uint32{0x00b254b9, 0x02d4d37c, 0x02f90b12, 0x015dbb47, 0x022001e7, 0x00d86cf8, 0x03f83d69, 0x02f1e6e2, 0x0212feef, 0x00103a7d}}}, + {X: Field{[10]uint32{0x001b23a8, 0x0252175c, 0x02e0adfe, 0x011c2a1f, 0x01ab7b7d, 0x02484227, 0x02243d5b, 0x02a1f049, 0x028d866c, 0x002788bf}}, Y: Field{[10]uint32{0x0084edae, 0x0104f142, 0x01cecf7a, 0x0127ed44, 0x03c0f7c9, 0x0267054c, 0x03f3f020, 0x00b4405d, 0x00e9ca12, 0x003f4bfc}}}, + {X: Field{[10]uint32{0x03f0e9aa, 0x0178658c, 0x0134b3eb, 0x01dac46f, 0x02681127, 0x01604e34, 0x0124ae0d, 0x009ab6de, 0x03e8575f, 0x00394e03}}, Y: Field{[10]uint32{0x0082720f, 0x02904d90, 0x0318ec4b, 0x0177d1a0, 0x016fb94e, 0x00932380, 0x02913639, 0x02d0756d, 0x00739087, 0x002e5ff6}}}, + {X: Field{[10]uint32{0x031a70e4, 0x01022fc1, 0x03475dd7, 0x007d7d73, 0x01cd5ee5, 0x01c14c1b, 0x01d69e64, 0x00aa34bb, 0x02d503ce, 0x0014237d}}, Y: Field{[10]uint32{0x01950984, 0x0396fdca, 0x02dfedf2, 0x00a3ba2a, 0x014ec032, 0x00cf9271, 0x03304aa7, 0x0310b5dd, 0x039b933b, 0x00055310}}}, + {X: Field{[10]uint32{0x0140d33a, 0x00f6d69e, 0x003b98cd, 0x00291508, 0x036e0d88, 0x03d5b21b, 0x00e3e1a2, 0x0302d4e9, 0x0241d28c, 0x002a0131}}, Y: Field{[10]uint32{0x0146967a, 0x03a57e9b, 0x036a943c, 0x02a273dc, 0x001af18c, 0x005811fa, 0x02c2842c, 0x029b40f7, 0x03252b2f, 0x00256fa0}}}, + {X: Field{[10]uint32{0x021abe11, 0x03f69db3, 0x0220f6ea, 0x0309672c, 0x02dab921, 0x00c0496c, 0x00df5819, 0x025d8cce, 0x03845510, 0x0038f6ff}}, Y: Field{[10]uint32{0x03a8de63, 0x026b5527, 0x01c414b4, 0x0240f1ad, 0x03d3c97d, 0x02e2a3bc, 0x038fa75d, 0x00508590, 0x01099a34, 0x0001bcbe}}}, + {X: Field{[10]uint32{0x023968b6, 0x00a4de2d, 0x03ab2e69, 0x0197b678, 0x02f40261, 0x0224224e, 0x005a9600, 0x01e7ed0f, 0x023dfc65, 0x003de92f}}, Y: Field{[10]uint32{0x00c34882, 0x03768cb4, 0x0105e494, 0x02e34440, 0x0299702f, 0x023294b4, 0x01290303, 0x03185487, 0x036ce823, 0x0035b77b}}}, + {X: Field{[10]uint32{0x03593449, 0x006c8d80, 0x006ffdcf, 0x004b90a9, 0x02f61b7c, 0x001f4052, 0x00d9c13a, 0x0250361e, 0x0064c7de, 0x00066b38}}, Y: Field{[10]uint32{0x01f83631, 0x0052e4eb, 0x0068a3a4, 0x027d0210, 0x02ac710b, 0x02500b11, 0x02bd739d, 0x028cceff, 0x02035268, 0x0038de64}}}, + {X: Field{[10]uint32{0x02bc61d6, 0x034d86fb, 0x002de1ae, 0x029f67fd, 0x018a8fd3, 0x035ac7d4, 0x015f0d15, 0x026bc30e, 0x03e4a3ed, 0x0024e7fc}}, Y: Field{[10]uint32{0x03f5cb70, 0x03a919a8, 0x03f82e75, 0x01bade31, 0x00980bf2, 0x03c05b01, 0x006fc4ee, 0x02a43a75, 0x03cf08b7, 0x0037aace}}}, + {X: Field{[10]uint32{0x00ba6b63, 0x03a624b3, 0x03bb5ee3, 0x01d3f42c, 0x010a0fe6, 0x03aa238c, 0x00c33228, 0x01f6a842, 0x00ec20f8, 0x00361d03}}, Y: Field{[10]uint32{0x0134c5f3, 0x028db01a, 0x0294abee, 0x01730e05, 0x0140104f, 0x000eb0df, 0x00a6ee99, 0x00cafcde, 0x0133c6b9, 0x00191cb0}}}, + {X: Field{[10]uint32{0x028ff2cf, 0x03b5ba22, 0x02094a34, 0x0171ec18, 0x0038ea75, 0x00901469, 0x03a98dba, 0x02b8c1e5, 0x025f1c4c, 0x000066a7}}, Y: Field{[10]uint32{0x030e4352, 0x01f9d9b6, 0x02d353a7, 0x03ba2121, 0x000ce7eb, 0x0004adcc, 0x01062925, 0x02bd7bea, 0x0067ea85, 0x00079987}}}, + {X: Field{[10]uint32{0x033ec038, 0x013fcb06, 0x02b27619, 0x01ab9831, 0x00d9fd51, 0x03ca4294, 0x0083e762, 0x01820d92, 0x03391b50, 0x00162b0c}}, Y: Field{[10]uint32{0x00246279, 0x02a8fc44, 0x03bca16e, 0x00f02d3e, 0x03021904, 0x02647fa5, 0x0379249e, 0x024b65e1, 0x0306d55c, 0x002458f5}}}, + {X: Field{[10]uint32{0x03fdf80c, 0x01e69577, 0x00d1b69f, 0x0206856f, 0x0043e4a7, 0x01d158e2, 0x02244b5b, 0x030afa31, 0x03165df3, 0x0022d2d7}}, Y: Field{[10]uint32{0x03d4fd36, 0x03fc3197, 0x02e56b3e, 0x0151858b, 0x00f9e336, 0x02ac3681, 0x03bd7813, 0x0022d2cf, 0x026f68d3, 0x0012ab42}}}, + }, + { + {X: Field{[10]uint32{0x03fdf80c, 0x01e69577, 0x00d1b69f, 0x0206856f, 0x0043e4a7, 0x01d158e2, 0x02244b5b, 0x030afa31, 0x03165df3, 0x0022d2d7}}, Y: Field{[10]uint32{0x03d4fd36, 0x03fc3197, 0x02e56b3e, 0x0151858b, 0x00f9e336, 0x02ac3681, 0x03bd7813, 0x0022d2cf, 0x026f68d3, 0x0012ab42}}}, + {X: Field{[10]uint32{0x0355e4be, 0x03c99c51, 0x0197abb3, 0x03b905f2, 0x0071af64, 0x020f1844, 0x0217c7ec, 0x0245c633, 0x00e4e132, 0x003b4317}}, Y: Field{[10]uint32{0x007bf42f, 0x027e9ba8, 0x01ab163f, 0x0095d8f7, 0x0049d939, 0x029fa9a0, 0x03dad7f5, 0x0116f6fc, 0x03c7bc23, 0x000886a7}}}, + {X: Field{[10]uint32{0x015812dd, 0x00a960bd, 0x030e2a0a, 0x008d54b4, 0x023d4467, 0x00163de3, 0x02abed6c, 0x00d4bc2d, 0x017a92ff, 0x001c0a6f}}, Y: Field{[10]uint32{0x022d2927, 0x03319ac6, 0x0073c721, 0x01090ecb, 0x0047dae8, 0x00c1a0eb, 0x016544ae, 0x02cf49f7, 0x02dafde8, 0x002c3bbe}}}, + {X: Field{[10]uint32{0x03cec8ab, 0x01b9b201, 0x012ced4b, 0x0159b815, 0x00e53254, 0x00fc7eba, 0x0315c3f8, 0x039a52ce, 0x0013c44c, 0x003ebb2c}}, Y: Field{[10]uint32{0x03155070, 0x0077f66a, 0x02e2e898, 0x021ae178, 0x019c32b2, 0x030bec4f, 0x02e02c6e, 0x032d5ff0, 0x01e90e9e, 0x0033026d}}}, + {X: Field{[10]uint32{0x01486ed1, 0x0395a0ef, 0x01b6a49c, 0x02e92559, 0x005745be, 0x0233dd58, 0x01d4109d, 0x01726402, 0x01caeae6, 0x002733fb}}, Y: Field{[10]uint32{0x01e95d8d, 0x03567b5d, 0x02aa24f6, 0x0165a564, 0x01242167, 0x0002cd04, 0x01224812, 0x00cb3ed8, 0x01713d6a, 0x001f0bd3}}}, + {X: Field{[10]uint32{0x0181fdc2, 0x02affe6c, 0x02364dcd, 0x02ed7318, 0x02dd2f62, 0x0228d39f, 0x02264b81, 0x01b91d2a, 0x002af47e, 0x003d0b04}}, Y: Field{[10]uint32{0x0085d7fd, 0x000024e9, 0x00f2681f, 0x00b668ab, 0x024c1550, 0x021bf88a, 0x03ad05cb, 0x0201b1e3, 0x02b46cfe, 0x0015d40e}}}, + {X: Field{[10]uint32{0x03d0eaca, 0x01ac69d6, 0x00ab7a20, 0x01dae8b5, 0x01d0c745, 0x032937c6, 0x028fde33, 0x01050cd6, 0x03876341, 0x00336692}}, Y: Field{[10]uint32{0x03ff4acc, 0x03ebed6a, 0x0234f6e6, 0x023bb5bd, 0x030127b3, 0x00cfa822, 0x01488ae9, 0x03c8fa05, 0x0079a1e8, 0x003c1156}}}, + {X: Field{[10]uint32{0x02d1b1f7, 0x0193aba6, 0x00d3e07f, 0x02093c8f, 0x01b3b2dd, 0x01f2f2bf, 0x0331a0b3, 0x034bcb21, 0x02132dca, 0x00026ee2}}, Y: Field{[10]uint32{0x03811c80, 0x00c189f0, 0x02d53641, 0x0103d1d4, 0x010f54a8, 0x03e18fa1, 0x039dd284, 0x038ee6db, 0x02b2afee, 0x002516ec}}}, + {X: Field{[10]uint32{0x03bc57c6, 0x0254e8f1, 0x036cbf20, 0x0288fac9, 0x004903d7, 0x00f58c25, 0x00f2d2e9, 0x026faa21, 0x002f88ed, 0x002b4262}}, Y: Field{[10]uint32{0x024a0ab8, 0x00b03b6b, 0x022d3ca3, 0x00dcd643, 0x037b311d, 0x0276af97, 0x00186c72, 0x0294ae8a, 0x008c42fb, 0x001c90f0}}}, + {X: Field{[10]uint32{0x03927dc7, 0x036ad913, 0x018a49e2, 0x00358f50, 0x0337a7a4, 0x019a8508, 0x029ed953, 0x029aef99, 0x00cc082b, 0x00389828}}, Y: Field{[10]uint32{0x02aef35d, 0x03cdbd11, 0x0382da45, 0x02d118b2, 0x00edbcc0, 0x0096fd10, 0x033cb3d7, 0x02759fc1, 0x0344b0da, 0x000dfb99}}}, + {X: Field{[10]uint32{0x03a56302, 0x00c31caa, 0x01862ea8, 0x00debc3c, 0x00f506a9, 0x027eb4b8, 0x02da2d2a, 0x02907c7a, 0x010aeb3c, 0x0036744a}}, Y: Field{[10]uint32{0x00291c29, 0x0376bea2, 0x00f2aeaa, 0x03367e9d, 0x001739ae, 0x0098e1b9, 0x01715c67, 0x00fbb40a, 0x0113ec2d, 0x001fad4c}}}, + {X: Field{[10]uint32{0x02dd7dd6, 0x01b51f7b, 0x0168c386, 0x03899786, 0x0049376f, 0x039f3f7b, 0x01a7840e, 0x01492f29, 0x036a24c7, 0x000cb3f3}}, Y: Field{[10]uint32{0x0208e330, 0x03512bbf, 0x0208b25f, 0x03480d26, 0x027a0d8c, 0x0027d587, 0x008096a4, 0x01dd2188, 0x0234976a, 0x0008611a}}}, + {X: Field{[10]uint32{0x00d1243a, 0x034dc13d, 0x025fdbac, 0x0008fd52, 0x0002b126, 0x018fd561, 0x00d21ac0, 0x01b3be47, 0x01de539d, 0x002f141e}}, Y: Field{[10]uint32{0x015db68a, 0x02545a21, 0x03169f5c, 0x03d6c7d1, 0x035f7ee4, 0x037ff235, 0x02c72b94, 0x0172ee3b, 0x023b3a70, 0x0019418a}}}, + {X: Field{[10]uint32{0x02abf83d, 0x0340ff7d, 0x00596696, 0x0163ecb4, 0x02b8f940, 0x00348b00, 0x00be68f1, 0x03127cfb, 0x02dde85a, 0x0008d72a}}, Y: Field{[10]uint32{0x0133e191, 0x03b27a43, 0x010ae7f4, 0x0358c8d8, 0x013f0518, 0x0324eb62, 0x00232a5b, 0x011fafb9, 0x01c745fd, 0x003704be}}}, + {X: Field{[10]uint32{0x034a3f9f, 0x009139ad, 0x0016908d, 0x01977026, 0x02c287a6, 0x036c9896, 0x03deaae7, 0x031fa244, 0x037e505f, 0x00134c69}}, Y: Field{[10]uint32{0x001e0ba7, 0x02c0904c, 0x00a754fc, 0x0146db80, 0x03cbf6fb, 0x01e009d4, 0x0318f38c, 0x015d6c1a, 0x02c96098, 0x00088907}}}, + {X: Field{[10]uint32{0x0232fcda, 0x00456494, 0x0277bcb6, 0x03fe9b03, 0x03b700db, 0x02f55231, 0x03771c00, 0x0265b5af, 0x02a6e5db, 0x001c8f2e}}, Y: Field{[10]uint32{0x02b39f5f, 0x0301a767, 0x0094801d, 0x0194dde5, 0x022660a0, 0x0220935b, 0x02113748, 0x031262a4, 0x03b5595c, 0x0025ba19}}}, + }, + { + {X: Field{[10]uint32{0x0232fcda, 0x00456494, 0x0277bcb6, 0x03fe9b03, 0x03b700db, 0x02f55231, 0x03771c00, 0x0265b5af, 0x02a6e5db, 0x001c8f2e}}, Y: Field{[10]uint32{0x02b39f5f, 0x0301a767, 0x0094801d, 0x0194dde5, 0x022660a0, 0x0220935b, 0x02113748, 0x031262a4, 0x03b5595c, 0x0025ba19}}}, + {X: Field{[10]uint32{0x00a030d5, 0x00e0f583, 0x009071fd, 0x010c1e61, 0x022d240a, 0x01dce8f1, 0x03d7dc45, 0x01d134d0, 0x0386437b, 0x0015fbe9}}, Y: Field{[10]uint32{0x00b02f9e, 0x02ad109d, 0x0174ab07, 0x00ab97a6, 0x00689b6d, 0x023780fb, 0x03627c92, 0x02146224, 0x030bd1b4, 0x0035c4b6}}}, + {X: Field{[10]uint32{0x00633cb1, 0x01f827a0, 0x02113256, 0x012da740, 0x03575a22, 0x008607f2, 0x00627321, 0x032b5003, 0x00f317aa, 0x001b77a7}}, Y: Field{[10]uint32{0x03ce6b34, 0x03526a99, 0x01ef357d, 0x036b3e16, 0x0080b27f, 0x006e99aa, 0x019ef86a, 0x03907572, 0x03e7a707, 0x0024623e}}}, + {X: Field{[10]uint32{0x00584dd5, 0x03f1ddc3, 0x0012a7fa, 0x01f8c9ec, 0x01108057, 0x01489b2e, 0x01f7e9cd, 0x02f10a8b, 0x01436a28, 0x000992ef}}, Y: Field{[10]uint32{0x0304ab11, 0x0089e4dd, 0x00d8de61, 0x010dc5ee, 0x026a1182, 0x030cef88, 0x0375ce24, 0x024ed353, 0x03a94ee0, 0x00361f1b}}}, + {X: Field{[10]uint32{0x0133f3c5, 0x0294634a, 0x02522419, 0x01c457c4, 0x00085a0f, 0x0391ee14, 0x004bb7f8, 0x0337a04f, 0x032cd5b5, 0x00121be9}}, Y: Field{[10]uint32{0x02fb0f53, 0x0129c6b2, 0x023b79ad, 0x020f3c3c, 0x0362d9b7, 0x03323c67, 0x00c48bae, 0x03750f92, 0x0319f56b, 0x0018b848}}}, + {X: Field{[10]uint32{0x00e5467d, 0x02f5da91, 0x03ace4d0, 0x02e066ef, 0x0140908a, 0x03b25c3a, 0x021f62e0, 0x028488b0, 0x00f0fc69, 0x0025f419}}, Y: Field{[10]uint32{0x029cb3fa, 0x00c03f47, 0x03ccd797, 0x02e153c5, 0x03da5fb3, 0x02142187, 0x037c66fa, 0x000b300f, 0x032ed334, 0x002265d3}}}, + {X: Field{[10]uint32{0x0299f728, 0x01650897, 0x02204ebd, 0x03ef9bc4, 0x03677375, 0x01da94c0, 0x024ff27b, 0x02bd3ed9, 0x0174a894, 0x00091e5a}}, Y: Field{[10]uint32{0x03aaebff, 0x000145ba, 0x022d837a, 0x030255d6, 0x025adbf3, 0x03635992, 0x012e87e7, 0x00c007b1, 0x0144688f, 0x0038f5e3}}}, + {X: Field{[10]uint32{0x032438e8, 0x009af612, 0x02c9d2bf, 0x007f56f7, 0x01a78bc6, 0x008da9e7, 0x0085c056, 0x034aef6b, 0x0124bd40, 0x002a5319}}, Y: Field{[10]uint32{0x018661f4, 0x00b236fc, 0x01b2bc2e, 0x0182838e, 0x027e5d3c, 0x0140678e, 0x03921950, 0x018a03f5, 0x03d992f9, 0x002d4807}}}, + {X: Field{[10]uint32{0x03b0079a, 0x0031b50b, 0x02049c9e, 0x03dc8e49, 0x00916f9e, 0x01ace0c9, 0x01a59ee7, 0x017fc18c, 0x03daa3d5, 0x000bce72}}, Y: Field{[10]uint32{0x005690ba, 0x00a5cc0b, 0x00230fe2, 0x02f220a8, 0x039bfb3f, 0x01e36962, 0x02936d02, 0x00e60d36, 0x03de1386, 0x002afab6}}}, + {X: Field{[10]uint32{0x018086c8, 0x01bca26e, 0x023ff5f4, 0x00d2d899, 0x0040c10e, 0x02aa39bf, 0x01263b70, 0x00af74a2, 0x025baa80, 0x000fa10b}}, Y: Field{[10]uint32{0x02e939a9, 0x012d44e3, 0x03d4ef99, 0x01dadd79, 0x0037b8e5, 0x006c1df0, 0x01370463, 0x039cb86e, 0x03f5fc92, 0x00227c93}}}, + {X: Field{[10]uint32{0x00f7ab73, 0x00c02cb9, 0x003a7793, 0x03aa7511, 0x0262e3d4, 0x014d2bb4, 0x0239e86c, 0x0186e95a, 0x016c327d, 0x003968c7}}, Y: Field{[10]uint32{0x00561f42, 0x00e8ff1c, 0x03a21391, 0x0126a032, 0x01bf8c44, 0x0293b397, 0x0118a977, 0x0275e830, 0x003d8d1e, 0x000dde23}}}, + {X: Field{[10]uint32{0x03613bec, 0x02072e44, 0x03e67cca, 0x02744073, 0x028bb5fc, 0x01d3e5ca, 0x031b33dc, 0x00def7b7, 0x02b8c939, 0x000b73f2}}, Y: Field{[10]uint32{0x02039215, 0x00c24926, 0x01f383e7, 0x02eb4cfd, 0x003732cf, 0x01bdb1bd, 0x03088b7d, 0x02904997, 0x00dd9474, 0x0011b6f1}}}, + {X: Field{[10]uint32{0x014dcd86, 0x024a68f0, 0x031b588f, 0x00825afd, 0x011fc5d4, 0x0014773c, 0x010dd982, 0x00d11f7d, 0x014a0d15, 0x00330e27}}, Y: Field{[10]uint32{0x00f0a873, 0x02db7672, 0x0387468e, 0x0063f9f9, 0x0205c57e, 0x03aa4432, 0x0168bdbb, 0x02efb66d, 0x03d660f6, 0x0024eb93}}}, + {X: Field{[10]uint32{0x03b4f6be, 0x00f5d937, 0x02b64844, 0x03fd3e8f, 0x02b567d5, 0x023c3a2d, 0x004bb042, 0x0208a23b, 0x03d1ae75, 0x0028ab94}}, Y: Field{[10]uint32{0x02eeb9a2, 0x008959d2, 0x00436c04, 0x019f0f50, 0x004c0efa, 0x0306d51f, 0x015679c7, 0x028261f2, 0x014d44b3, 0x001a4cd6}}}, + {X: Field{[10]uint32{0x00819311, 0x0271bade, 0x0314724f, 0x0388421d, 0x030b3e1e, 0x033d7b47, 0x010a17e0, 0x03a408dd, 0x01c89d71, 0x001fe4a4}}, Y: Field{[10]uint32{0x002eb125, 0x03e6d5eb, 0x02174aa9, 0x0102721a, 0x02120aaa, 0x0149056d, 0x010de8c4, 0x00fbc3d7, 0x011063ec, 0x00276803}}}, + {X: Field{[10]uint32{0x027dd7fa, 0x00cfb283, 0x019839a5, 0x0048dea4, 0x01094796, 0x00b0b4ed, 0x01feec81, 0x02fe62e9, 0x00d493be, 0x003bafe9}}, Y: Field{[10]uint32{0x01de8999, 0x0353f6b8, 0x03712ddf, 0x030e9c47, 0x019ae4cd, 0x005e0227, 0x02e7edaf, 0x03c3c9a7, 0x00a3970e, 0x001766a3}}}, + }, + { + {X: Field{[10]uint32{0x027dd7fa, 0x00cfb283, 0x019839a5, 0x0048dea4, 0x01094796, 0x00b0b4ed, 0x01feec81, 0x02fe62e9, 0x00d493be, 0x003bafe9}}, Y: Field{[10]uint32{0x01de8999, 0x0353f6b8, 0x03712ddf, 0x030e9c47, 0x019ae4cd, 0x005e0227, 0x02e7edaf, 0x03c3c9a7, 0x00a3970e, 0x001766a3}}}, + {X: Field{[10]uint32{0x03d297fd, 0x03ba4211, 0x026d676b, 0x03023d9d, 0x03c4ea4b, 0x00461257, 0x01c6031c, 0x01eff698, 0x02d7a7a9, 0x000e0712}}, Y: Field{[10]uint32{0x01493fc5, 0x0338c61f, 0x01c0093a, 0x00cb6e4e, 0x00f04510, 0x026457b3, 0x03e5fa70, 0x03bb923c, 0x013b238e, 0x0024dabd}}}, + {X: Field{[10]uint32{0x037ceceb, 0x019e3fee, 0x03af0f3f, 0x024e225f, 0x0073a59f, 0x03db9a05, 0x03fb8126, 0x035140db, 0x02204276, 0x0010dea1}}, Y: Field{[10]uint32{0x02c181e1, 0x00ef30d5, 0x01782736, 0x033f723e, 0x0387220f, 0x0274a5ff, 0x038feb69, 0x030cbda6, 0x03a13eea, 0x0002e45a}}}, + {X: Field{[10]uint32{0x02de454c, 0x035c108b, 0x008b2448, 0x017fbf74, 0x039cf1d0, 0x0254e311, 0x0210831d, 0x0318ef33, 0x01cd05ad, 0x00387bee}}, Y: Field{[10]uint32{0x00913797, 0x03f48cea, 0x014c6ad9, 0x01129e8b, 0x03464e32, 0x0391dc48, 0x0154c1ff, 0x026f9ec0, 0x0130d8af, 0x0003b2d1}}}, + {X: Field{[10]uint32{0x017f96f2, 0x035ca782, 0x0335cd58, 0x00a74b21, 0x03358235, 0x028f309c, 0x00b7e3b9, 0x0226f20f, 0x0313e2a4, 0x002a7be7}}, Y: Field{[10]uint32{0x02c04be4, 0x03556c15, 0x00702c03, 0x02bd6a6d, 0x01b74f89, 0x03aed84f, 0x016ee160, 0x0275f365, 0x00e59455, 0x003a0533}}}, + {X: Field{[10]uint32{0x00bf00eb, 0x036761f7, 0x002274c9, 0x022f0634, 0x0241b4e9, 0x0068c2f0, 0x03e16f6a, 0x03537126, 0x00ae96ea, 0x002e241c}}, Y: Field{[10]uint32{0x030e664e, 0x03c6f346, 0x02a671b7, 0x001adae5, 0x02cb0d8b, 0x007129d9, 0x02294e4c, 0x03623d1c, 0x00c2c8a2, 0x001bc932}}}, + {X: Field{[10]uint32{0x010cf77e, 0x02ad684d, 0x02b0dbc0, 0x01d152a2, 0x0207dbf5, 0x03ea8190, 0x03827d69, 0x00d6f954, 0x0141ee1d, 0x0019b601}}, Y: Field{[10]uint32{0x00eaa3a6, 0x03e5ebe8, 0x0376d2a5, 0x00eadec6, 0x029444b4, 0x00d584fd, 0x031d4205, 0x03ed0b0f, 0x03e732ff, 0x001473f7}}}, + {X: Field{[10]uint32{0x01eb99a4, 0x03fbacca, 0x03b18d33, 0x027ccf51, 0x00c7e541, 0x02bd1d6a, 0x02c235e9, 0x01c04316, 0x01b1a269, 0x0014c63e}}, Y: Field{[10]uint32{0x0291f92d, 0x009bbbbf, 0x02c652c7, 0x0103478f, 0x00a41f2b, 0x02ed017a, 0x032d93ae, 0x0290655d, 0x03eb4bed, 0x003d1333}}}, + {X: Field{[10]uint32{0x03213a5a, 0x01218a21, 0x0262b935, 0x0129e17e, 0x000b7320, 0x019330f2, 0x03508a1c, 0x00fe8afc, 0x01e13650, 0x0018ab01}}, Y: Field{[10]uint32{0x006a9e45, 0x0348703d, 0x014efc10, 0x000605e6, 0x01e55909, 0x01ea495e, 0x015e79e0, 0x029b934e, 0x01f3a0d1, 0x0008dbef}}}, + {X: Field{[10]uint32{0x03c76ac1, 0x0086cf3b, 0x02c05d6b, 0x02572908, 0x016124c3, 0x0354fa26, 0x021859a7, 0x00de10df, 0x03bfab10, 0x000623bc}}, Y: Field{[10]uint32{0x028f00bc, 0x0180ca94, 0x03875351, 0x03a0f1d8, 0x00e4d66d, 0x03ce638e, 0x005fb18c, 0x02ea6740, 0x017a052f, 0x0039bf26}}}, + {X: Field{[10]uint32{0x03bad12b, 0x03f52619, 0x02e1ec30, 0x0003abd9, 0x0385d5ea, 0x031bcb6c, 0x03613af5, 0x023d6d6f, 0x00497244, 0x003284f1}}, Y: Field{[10]uint32{0x0323b0f2, 0x0267d1a5, 0x03566896, 0x01c44695, 0x026370ab, 0x02ab68f5, 0x015fa64e, 0x021f22b0, 0x018361c2, 0x0020ea82}}}, + {X: Field{[10]uint32{0x02fbe7b2, 0x01bfe6ad, 0x025a3b9d, 0x03051635, 0x005eaded, 0x00aa2118, 0x036bbb1b, 0x0107e3cc, 0x03669cb4, 0x00099221}}, Y: Field{[10]uint32{0x01bc2a34, 0x029e2f08, 0x03603932, 0x0205a83a, 0x005638d9, 0x000b77c6, 0x02f2dcad, 0x0112623c, 0x02b4b201, 0x00278576}}}, + {X: Field{[10]uint32{0x0080414e, 0x03b97e57, 0x00f7fdda, 0x0218b59b, 0x0114ef8a, 0x01182792, 0x0011c4f4, 0x00aba16b, 0x0101a705, 0x00073b2c}}, Y: Field{[10]uint32{0x02169a3b, 0x03a524b4, 0x031d0dca, 0x039511c8, 0x02907557, 0x017b6b45, 0x01aa3283, 0x01f3ed39, 0x00669609, 0x003cd0d8}}}, + {X: Field{[10]uint32{0x0320907d, 0x00793462, 0x0051c50d, 0x0358581e, 0x003b15b2, 0x012143fd, 0x002f4589, 0x03089ec0, 0x01bc3e54, 0x003e62d7}}, Y: Field{[10]uint32{0x00c926af, 0x004c66d7, 0x00e35835, 0x038096a4, 0x0241fcd9, 0x02ea7327, 0x0139b706, 0x004fe90a, 0x00bd4f4a, 0x0038b542}}}, + {X: Field{[10]uint32{0x02d810a9, 0x016f2313, 0x00155c4f, 0x00fcf1c0, 0x024f889d, 0x0077c8e4, 0x010daf5f, 0x023e7325, 0x007504d7, 0x000a9a64}}, Y: Field{[10]uint32{0x029b4728, 0x01ace23e, 0x005c7cf8, 0x03a5fb05, 0x00667d47, 0x013ec13f, 0x02c58695, 0x03ff6b0f, 0x039b6c3d, 0x00153e40}}}, + {X: Field{[10]uint32{0x01a48db0, 0x01e0d6ce, 0x003bfefd, 0x028a6cf0, 0x019f1215, 0x02def791, 0x011d0a09, 0x01c59c9e, 0x00da696e, 0x000403d1}}, Y: Field{[10]uint32{0x03c65a09, 0x0357358a, 0x015ac0fb, 0x0063fd46, 0x02b7ff4a, 0x03024199, 0x008f3300, 0x002ddcbb, 0x013192a0, 0x00337678}}}, + }, + { + {X: Field{[10]uint32{0x01a48db0, 0x01e0d6ce, 0x003bfefd, 0x028a6cf0, 0x019f1215, 0x02def791, 0x011d0a09, 0x01c59c9e, 0x00da696e, 0x000403d1}}, Y: Field{[10]uint32{0x03c65a09, 0x0357358a, 0x015ac0fb, 0x0063fd46, 0x02b7ff4a, 0x03024199, 0x008f3300, 0x002ddcbb, 0x013192a0, 0x00337678}}}, + {X: Field{[10]uint32{0x024df706, 0x014a13c7, 0x008084b0, 0x03e48df4, 0x01d8d9c8, 0x02d31066, 0x0015dff2, 0x031dc6a1, 0x01f2ceb5, 0x00230262}}, Y: Field{[10]uint32{0x0172fa98, 0x02b168d7, 0x011aa736, 0x03d45594, 0x0060de6b, 0x0277259b, 0x012172cb, 0x0080d3ff, 0x01044f43, 0x003ed36f}}}, + {X: Field{[10]uint32{0x01bc15b4, 0x02684d25, 0x02ee69cb, 0x02391968, 0x01927502, 0x03b5f2a3, 0x0058ee9c, 0x02b727b6, 0x022e51ee, 0x00043a43}}, Y: Field{[10]uint32{0x00aa258d, 0x02f98256, 0x02a8834e, 0x018c0aed, 0x014ca589, 0x01ab47dd, 0x017a8c61, 0x03810935, 0x030380d5, 0x0031a28d}}}, + {X: Field{[10]uint32{0x0047bffd, 0x018f0cf7, 0x03c1bb1e, 0x00e6f256, 0x019c5285, 0x0098b009, 0x02481743, 0x019c1312, 0x013c5e26, 0x003ee3c5}}, Y: Field{[10]uint32{0x0149b095, 0x02917776, 0x02613090, 0x0226b150, 0x031dde13, 0x012f3354, 0x03a11d9b, 0x0188605b, 0x029dc5e0, 0x001b289e}}}, + {X: Field{[10]uint32{0x03e75269, 0x00ff0c0f, 0x033182dd, 0x033014f4, 0x01a377a3, 0x0052df73, 0x035b90b7, 0x0058e115, 0x0342da54, 0x003dd08b}}, Y: Field{[10]uint32{0x03e49bd5, 0x0203a1c5, 0x018e0189, 0x00dfd28e, 0x037fb3a2, 0x027d8d65, 0x00ce7dcb, 0x0024ff46, 0x031a3313, 0x00101b0b}}}, + {X: Field{[10]uint32{0x021c0a80, 0x00aaf21e, 0x01c740f6, 0x0163196a, 0x034d6251, 0x000bfe70, 0x03c9be70, 0x033296c5, 0x0268a614, 0x002dac56}}, Y: Field{[10]uint32{0x01ce0a03, 0x03404410, 0x016eeb6c, 0x02cc20b8, 0x009c9a12, 0x03d94db5, 0x00e223ee, 0x02d87a95, 0x0214d6cd, 0x003eb98b}}}, + {X: Field{[10]uint32{0x01a7175f, 0x02d9a5bd, 0x0342a653, 0x01c74c73, 0x03edb8e7, 0x00b577ae, 0x0079a558, 0x00f3fdca, 0x010417d4, 0x000b632b}}, Y: Field{[10]uint32{0x039d592a, 0x01eee46e, 0x025e0cf3, 0x03f672d7, 0x037a846b, 0x004b274d, 0x03232fa6, 0x02a529ee, 0x0383318c, 0x0031cfce}}}, + {X: Field{[10]uint32{0x03b2629a, 0x0286e2d2, 0x027b8b8f, 0x0161dcde, 0x0065a02c, 0x01ca1c21, 0x00cc9f0a, 0x0145d568, 0x033fd75d, 0x0039d1cc}}, Y: Field{[10]uint32{0x0146f6d6, 0x0365869a, 0x0169a9f8, 0x02a9b86a, 0x01c88376, 0x00130960, 0x00436038, 0x00304533, 0x02014507, 0x003cabff}}}, + {X: Field{[10]uint32{0x00b51045, 0x0326f0e5, 0x025b3e34, 0x025bcc70, 0x03bbc6c8, 0x007a33dc, 0x0273d4eb, 0x01ba962b, 0x011db98a, 0x0007b2ff}}, Y: Field{[10]uint32{0x02c70026, 0x019c4040, 0x0022d53a, 0x011ad0d9, 0x00b19006, 0x0126a6ce, 0x03d0bb18, 0x030e9911, 0x02308b99, 0x00073db8}}}, + {X: Field{[10]uint32{0x0013e439, 0x016d5b19, 0x02f674a3, 0x03bf7757, 0x02f92f69, 0x01fb6d92, 0x00b1bfeb, 0x038a5abe, 0x03b8b477, 0x00265d06}}, Y: Field{[10]uint32{0x0032cd5b, 0x015f609a, 0x026e43e6, 0x0325a5d1, 0x02b17c15, 0x01638f9e, 0x035aa562, 0x0326979c, 0x01b07bd9, 0x003791fa}}}, + {X: Field{[10]uint32{0x01358533, 0x0335d9ba, 0x00b9df7a, 0x03e753ed, 0x0010a933, 0x0074caa3, 0x02955a29, 0x01d4a20f, 0x00c5fe57, 0x00268225}}, Y: Field{[10]uint32{0x0360ba08, 0x03871770, 0x01dadfb3, 0x02f6ee03, 0x0165a6e5, 0x0153f0c8, 0x0117d5f9, 0x023f0c7e, 0x03c4201b, 0x0029e620}}}, + {X: Field{[10]uint32{0x02b062d4, 0x02a942a4, 0x02141a7c, 0x03966eda, 0x027a5ce7, 0x00fa889e, 0x03b17128, 0x03ab281b, 0x02a43256, 0x000d658f}}, Y: Field{[10]uint32{0x03b25302, 0x02a9346e, 0x019b1a10, 0x02e59379, 0x02d04082, 0x027022a5, 0x00ce196f, 0x039726ff, 0x01454951, 0x003d96f8}}}, + {X: Field{[10]uint32{0x018ef7f6, 0x01017586, 0x00f9f694, 0x03dde81e, 0x025923f3, 0x00ee2ba9, 0x019c8527, 0x034b8d6f, 0x0049db4f, 0x00199376}}, Y: Field{[10]uint32{0x011eac94, 0x025bfcd7, 0x02ecee74, 0x02cc6e39, 0x03fc3d3a, 0x03411633, 0x0048ce5d, 0x01e4ca85, 0x001717f2, 0x002b5448}}}, + {X: Field{[10]uint32{0x019334f0, 0x02d9bcc4, 0x011b60d0, 0x03ece82b, 0x0174728e, 0x0170a790, 0x020e8248, 0x030c871a, 0x037b02cf, 0x0033aede}}, Y: Field{[10]uint32{0x01e45191, 0x0142f494, 0x036cb167, 0x0276e780, 0x004765a2, 0x0374b8dc, 0x01ec0f74, 0x0128cae8, 0x0243633b, 0x003f8f7c}}}, + {X: Field{[10]uint32{0x03c934b3, 0x0029adf0, 0x022c4e0c, 0x02016c2b, 0x022b31f5, 0x020469c0, 0x031d9669, 0x02e18e08, 0x029377d0, 0x0020844e}}, Y: Field{[10]uint32{0x002c6a0f, 0x01798ab1, 0x0280377e, 0x009a6911, 0x00aa1f7c, 0x0168318a, 0x0066cf2b, 0x00d99821, 0x00dac9ae, 0x0023686e}}}, + {X: Field{[10]uint32{0x0134fd2d, 0x02b379b9, 0x033852c8, 0x011193ce, 0x03a77f8d, 0x02813005, 0x009227a4, 0x03b46c77, 0x03e262c7, 0x003840c6}}, Y: Field{[10]uint32{0x0056a00d, 0x03c63ca5, 0x02d79a44, 0x01067873, 0x02f292dd, 0x0165d4d6, 0x036a4176, 0x010179ae, 0x01928940, 0x00275c18}}}, + }, + { + {X: Field{[10]uint32{0x0134fd2d, 0x02b379b9, 0x033852c8, 0x011193ce, 0x03a77f8d, 0x02813005, 0x009227a4, 0x03b46c77, 0x03e262c7, 0x003840c6}}, Y: Field{[10]uint32{0x0056a00d, 0x03c63ca5, 0x02d79a44, 0x01067873, 0x02f292dd, 0x0165d4d6, 0x036a4176, 0x010179ae, 0x01928940, 0x00275c18}}}, + {X: Field{[10]uint32{0x015c8356, 0x009f8daa, 0x0185784e, 0x03177a53, 0x01028a6a, 0x03ca6cb2, 0x0395dcd0, 0x0227aae7, 0x03224c80, 0x003d2e4f}}, Y: Field{[10]uint32{0x02001fd3, 0x02186e6f, 0x0209abd5, 0x00d12455, 0x00c37ef1, 0x0103bba4, 0x025f6a7a, 0x018b7ec3, 0x02ec0629, 0x00299ea4}}}, + {X: Field{[10]uint32{0x03028d83, 0x0188ebbb, 0x03961579, 0x01b6e9d0, 0x03619592, 0x01779a76, 0x01abe5a1, 0x0217b1a9, 0x03c4e3c7, 0x0029fafd}}, Y: Field{[10]uint32{0x01d0bed1, 0x000e4ae6, 0x03919964, 0x009d2c14, 0x0347a389, 0x00112012, 0x019c7377, 0x018b573f, 0x012fbfe3, 0x00188145}}}, + {X: Field{[10]uint32{0x03160e8a, 0x018bf85e, 0x0296c20d, 0x004be5f9, 0x00d51e85, 0x0096c22c, 0x01622ea0, 0x0148dac6, 0x00a1fce5, 0x0002746b}}, Y: Field{[10]uint32{0x00a04c44, 0x0014315f, 0x035e534e, 0x03ba484a, 0x026fe9e0, 0x0036309f, 0x016692ce, 0x03c318f9, 0x008f5101, 0x000454c6}}}, + {X: Field{[10]uint32{0x03dd5cfa, 0x00390089, 0x014b5bae, 0x004dfc27, 0x036a89c5, 0x0098d18c, 0x01c6a534, 0x013d3073, 0x008dcb02, 0x0016d728}}, Y: Field{[10]uint32{0x0248e98c, 0x0129be67, 0x029d3e66, 0x0332bcc9, 0x00bfd067, 0x0221a425, 0x011f0cea, 0x016097a6, 0x02f70aa1, 0x000fb32d}}}, + {X: Field{[10]uint32{0x03b61ee5, 0x021104de, 0x00c13f28, 0x038bec7c, 0x02da4f04, 0x025d2b9b, 0x02638cd8, 0x0086e198, 0x0230cc87, 0x003524cc}}, Y: Field{[10]uint32{0x01d694a8, 0x03693439, 0x00ddc662, 0x0231690e, 0x021ad12c, 0x03b2bed7, 0x00c5e9d1, 0x02748fb7, 0x01abf51a, 0x00008702}}}, + {X: Field{[10]uint32{0x03531f82, 0x014a38c8, 0x02c9f2b9, 0x01aec430, 0x01ff5132, 0x02708b0a, 0x02f3e748, 0x012ed733, 0x02acc111, 0x00011bc9}}, Y: Field{[10]uint32{0x03ceda07, 0x017f22c2, 0x01c7fa50, 0x01736ad5, 0x01d02594, 0x03f0c95e, 0x02370ac2, 0x020bab38, 0x0331635b, 0x001ae012}}}, + {X: Field{[10]uint32{0x01ba7fc2, 0x035f411d, 0x01562e97, 0x024eff0e, 0x03518b3a, 0x02087379, 0x022ad793, 0x00ae7862, 0x01cc454c, 0x00319b16}}, Y: Field{[10]uint32{0x035f5956, 0x00f1a73d, 0x015977ec, 0x0376c565, 0x02f00a60, 0x02b0432c, 0x024f3cea, 0x003f3efa, 0x03e2bfb3, 0x0036564b}}}, + {X: Field{[10]uint32{0x00432711, 0x00550dc4, 0x02b9060b, 0x00bf7645, 0x02cf140b, 0x02265916, 0x0396f0f0, 0x03bed4d7, 0x02d931e0, 0x00304649}}, Y: Field{[10]uint32{0x03e2610c, 0x009878bb, 0x00055e49, 0x00b283cd, 0x0383ab92, 0x01b331b3, 0x0094bf18, 0x02da2461, 0x00cc7d25, 0x0022f87e}}}, + {X: Field{[10]uint32{0x02be316c, 0x01b1b348, 0x03ad0f83, 0x00fc9e39, 0x016bf404, 0x0097bd7c, 0x017cef5b, 0x00deccac, 0x01aa4a0b, 0x00156735}}, Y: Field{[10]uint32{0x03e04013, 0x02ae7267, 0x000e71a6, 0x0074d81e, 0x038a389a, 0x01d31a4b, 0x01ba9298, 0x0101dbcb, 0x009c08d4, 0x002ab551}}}, + {X: Field{[10]uint32{0x01257963, 0x0261d3e8, 0x02861c17, 0x014b0d2a, 0x005b018d, 0x00e25e71, 0x01bb54b5, 0x023cb9b3, 0x02e9eb68, 0x001a4211}}, Y: Field{[10]uint32{0x026f9835, 0x01d96651, 0x02b253a5, 0x02a08724, 0x036cbc3c, 0x024beedf, 0x0017024f, 0x03af16d0, 0x03cb7f3f, 0x00389217}}}, + {X: Field{[10]uint32{0x0004554a, 0x03772f3b, 0x00ffe530, 0x02ed1a23, 0x00aadcff, 0x028428bb, 0x00652c27, 0x0346811d, 0x03c89873, 0x00225bcd}}, Y: Field{[10]uint32{0x029138df, 0x03e7f864, 0x017dcd68, 0x0186b310, 0x01e6085b, 0x03a046fc, 0x0222bb04, 0x0312b369, 0x03e7224a, 0x000e0108}}}, + {X: Field{[10]uint32{0x02e23ace, 0x004e52f7, 0x012fd2d1, 0x0196d537, 0x01dec87c, 0x0128ca45, 0x027552df, 0x0082eaee, 0x03fb8c92, 0x003ecf7d}}, Y: Field{[10]uint32{0x0322e8de, 0x037bd325, 0x03f5ee09, 0x010bfb49, 0x029e7271, 0x036ead62, 0x02251540, 0x00f1594a, 0x01bc11c7, 0x0014438a}}}, + {X: Field{[10]uint32{0x00d36f89, 0x003c4c17, 0x00b925f9, 0x031b9c03, 0x031e4754, 0x00a403b8, 0x01d68b87, 0x0148e594, 0x03176915, 0x00120adb}}, Y: Field{[10]uint32{0x00a4f423, 0x0328dc9c, 0x01a68467, 0x00d10b52, 0x0219ee07, 0x035ffa4b, 0x018c23e6, 0x03316b2c, 0x011df9a5, 0x003a30f0}}}, + {X: Field{[10]uint32{0x00272351, 0x01f3fbd4, 0x03109860, 0x00f7e67f, 0x0170734b, 0x02ac7350, 0x038a3eb3, 0x01462cfa, 0x02c24f5c, 0x001b7617}}, Y: Field{[10]uint32{0x03c7664b, 0x01fe8adf, 0x0017c9b0, 0x03df0f82, 0x03877c6f, 0x03d7106d, 0x01407f9a, 0x0109f827, 0x03f4121f, 0x0005ba99}}}, + {X: Field{[10]uint32{0x0094696d, 0x039a2364, 0x02af52d5, 0x019a9075, 0x005cf8b2, 0x010ef5fb, 0x002839f1, 0x016d4c2b, 0x00ae46d5, 0x003fba9b}}, Y: Field{[10]uint32{0x00090088, 0x0177afc6, 0x0042d315, 0x015f3105, 0x00981c89, 0x03cfb357, 0x02e4e12b, 0x0386eac1, 0x036c97dc, 0x00395f1a}}}, + }, + { + {X: Field{[10]uint32{0x0094696d, 0x039a2364, 0x02af52d5, 0x019a9075, 0x005cf8b2, 0x010ef5fb, 0x002839f1, 0x016d4c2b, 0x00ae46d5, 0x003fba9b}}, Y: Field{[10]uint32{0x00090088, 0x0177afc6, 0x0042d315, 0x015f3105, 0x00981c89, 0x03cfb357, 0x02e4e12b, 0x0386eac1, 0x036c97dc, 0x00395f1a}}}, + {X: Field{[10]uint32{0x02752b08, 0x010102bb, 0x021870aa, 0x0382ccc6, 0x01141eca, 0x036cb85e, 0x03261af9, 0x021f8714, 0x03621adb, 0x00134002}}, Y: Field{[10]uint32{0x00302cea, 0x00a147d2, 0x0293a3e7, 0x03c4671c, 0x00cb7df5, 0x00b65cb3, 0x02d82558, 0x0349572d, 0x038f18e0, 0x001a8356}}}, + {X: Field{[10]uint32{0x00dfd587, 0x00d86ed2, 0x02656079, 0x00e326c0, 0x015ec4ba, 0x033d684b, 0x0067aaa2, 0x01422cd2, 0x001bacf4, 0x0014212d}}, Y: Field{[10]uint32{0x01470e89, 0x027a5fe4, 0x035606e7, 0x0181a247, 0x035db6f5, 0x014a49d1, 0x01aa6c85, 0x0034c586, 0x031a1d98, 0x000d2a58}}}, + {X: Field{[10]uint32{0x035c58ef, 0x0258bf51, 0x01b77f89, 0x0100f87c, 0x00d657a0, 0x011c5c4a, 0x02a26211, 0x0281775a, 0x00ca203d, 0x001c7d5c}}, Y: Field{[10]uint32{0x035d420e, 0x01269cb4, 0x03e7df86, 0x00030cd8, 0x01f2445d, 0x02f256e3, 0x01557345, 0x02203749, 0x015b95dc, 0x003ad090}}}, + {X: Field{[10]uint32{0x02b34cc6, 0x008c985e, 0x00a12d08, 0x01d9f3cc, 0x00c80c29, 0x00635c4a, 0x03b3f1fd, 0x0357a94f, 0x003e0642, 0x0013c530}}, Y: Field{[10]uint32{0x007e681f, 0x03094be6, 0x01d0225e, 0x033a3a07, 0x00b9de3c, 0x00e98950, 0x013a70f4, 0x03a25319, 0x00a8caa4, 0x001ed4f4}}}, + {X: Field{[10]uint32{0x00953fa9, 0x01655b5b, 0x003db4d0, 0x00a7c2e3, 0x0228ab26, 0x02f46301, 0x01f485d4, 0x024c8ce9, 0x010eaaab, 0x002927b4}}, Y: Field{[10]uint32{0x02fb4c72, 0x00af4891, 0x0181b67b, 0x00d25a38, 0x035ae875, 0x0037f77e, 0x03476c0a, 0x014e6380, 0x0094660f, 0x00331cae}}}, + {X: Field{[10]uint32{0x0241d90d, 0x01dc4044, 0x004f8342, 0x01076c91, 0x03e81cf1, 0x03b774d8, 0x01436095, 0x027b4750, 0x007e49c7, 0x0029d36e}}, Y: Field{[10]uint32{0x037adad4, 0x01462e0f, 0x02313f32, 0x024d1282, 0x00a9ee50, 0x02205c72, 0x03dd08a5, 0x03bbcc9f, 0x01cdaf23, 0x003de1a4}}}, + {X: Field{[10]uint32{0x03ff8359, 0x022c1810, 0x03651604, 0x00771979, 0x0046b482, 0x00876805, 0x01282b5c, 0x03494edf, 0x03629f7b, 0x0028adec}}, Y: Field{[10]uint32{0x0286fec2, 0x025ffb3f, 0x03835a23, 0x00d411bc, 0x0110d108, 0x01c78a72, 0x02937a3f, 0x0048b55e, 0x00941695, 0x001a4c0e}}}, + {X: Field{[10]uint32{0x01c1ae1f, 0x0332888c, 0x000b2a5e, 0x031a2b35, 0x00456e58, 0x02e8d596, 0x00dcd44e, 0x028b3e6b, 0x025744ba, 0x001a407e}}, Y: Field{[10]uint32{0x022838b0, 0x00cc1974, 0x03a930f8, 0x0297971d, 0x01d79f3b, 0x00a72403, 0x01b5380c, 0x03084918, 0x00882273, 0x000d7797}}}, + {X: Field{[10]uint32{0x01f1f366, 0x002404e6, 0x036be34f, 0x01e8f401, 0x004a7905, 0x01265364, 0x015f216b, 0x01fdee92, 0x025c5da4, 0x001744d3}}, Y: Field{[10]uint32{0x00990f2c, 0x0034fa71, 0x00b39e2b, 0x005882a2, 0x03cf02d6, 0x00ea0adc, 0x03e2a4ae, 0x011410b6, 0x034d3e08, 0x0000ec7b}}}, + {X: Field{[10]uint32{0x027a4bdb, 0x00c4206c, 0x00cac4b0, 0x0010d525, 0x01046a6d, 0x006ee8d7, 0x004b643f, 0x02049e89, 0x002d1d43, 0x00234f36}}, Y: Field{[10]uint32{0x029a8a2c, 0x00d31f39, 0x01296c3d, 0x01f4dc2b, 0x02d4e380, 0x001d88db, 0x00fbf9d0, 0x0107d1c3, 0x016180ee, 0x0026f509}}}, + {X: Field{[10]uint32{0x03a1d916, 0x025b4ff9, 0x01f3a3c0, 0x00e5747c, 0x00315b0a, 0x0176ec1c, 0x006158a6, 0x027432eb, 0x01acb6d5, 0x001943be}}, Y: Field{[10]uint32{0x0068387b, 0x0127299c, 0x026ba858, 0x00229db0, 0x0158bb46, 0x01e6e0b1, 0x029c0b92, 0x02c461c3, 0x01f21162, 0x00021744}}}, + {X: Field{[10]uint32{0x00ec1d2d, 0x0334f1ad, 0x00f45440, 0x0171b9f6, 0x03d9099f, 0x019eda47, 0x029d6729, 0x011ce6bf, 0x0363d606, 0x003abe60}}, Y: Field{[10]uint32{0x00838452, 0x039d5813, 0x00b53fcf, 0x01515fa1, 0x02a9f52d, 0x01ac666a, 0x01228a0e, 0x023489dd, 0x003a7fe7, 0x00394606}}}, + {X: Field{[10]uint32{0x03d98ee1, 0x0323a022, 0x012bed42, 0x01ea4226, 0x03579df3, 0x023ee865, 0x027c924a, 0x00860ffa, 0x02ce0ceb, 0x00075dc2}}, Y: Field{[10]uint32{0x0138ffca, 0x02e05e47, 0x017ecf9f, 0x029038f5, 0x0237f61c, 0x01954aa1, 0x0163038b, 0x03d779e2, 0x0005f46e, 0x0009e3e2}}}, + {X: Field{[10]uint32{0x005ae767, 0x00d6fdc1, 0x0371cbcb, 0x032e7a25, 0x00c273a9, 0x0301b976, 0x0340e052, 0x02d8d19b, 0x01163aed, 0x003ee56f}}, Y: Field{[10]uint32{0x03bf0e11, 0x00fa82be, 0x03134185, 0x01c62967, 0x03b816f4, 0x01a089d6, 0x0004d9d3, 0x0376f148, 0x00d811a8, 0x00199305}}}, + {X: Field{[10]uint32{0x01ec6cb1, 0x02a5e2f0, 0x003de33f, 0x01f60216, 0x00feed65, 0x01bff28f, 0x027be4be, 0x027372cd, 0x011d9104, 0x003699ea}}, Y: Field{[10]uint32{0x0268be1d, 0x03aa389e, 0x000a17e9, 0x031423dd, 0x01dec7ad, 0x0325e039, 0x03463f7e, 0x010af107, 0x02354816, 0x0026eb2a}}}, + }, + { + {X: Field{[10]uint32{0x01ec6cb1, 0x02a5e2f0, 0x003de33f, 0x01f60216, 0x00feed65, 0x01bff28f, 0x027be4be, 0x027372cd, 0x011d9104, 0x003699ea}}, Y: Field{[10]uint32{0x0268be1d, 0x03aa389e, 0x000a17e9, 0x031423dd, 0x01dec7ad, 0x0325e039, 0x03463f7e, 0x010af107, 0x02354816, 0x0026eb2a}}}, + {X: Field{[10]uint32{0x03e741c9, 0x00f32087, 0x01a835ee, 0x00d733a9, 0x018bbd9f, 0x03c0361c, 0x00c0cfaa, 0x03bd61f0, 0x01365fa1, 0x00136eb3}}, Y: Field{[10]uint32{0x038eb623, 0x03843e0c, 0x0135f60b, 0x02827f01, 0x010cc384, 0x020e0a67, 0x01cfd59e, 0x0224b9ff, 0x000e8a51, 0x0005b0d5}}}, + {X: Field{[10]uint32{0x01bc8a44, 0x03741945, 0x011a19ef, 0x01df2f85, 0x03684101, 0x029697f1, 0x00565a4b, 0x03b68f4e, 0x00583cfc, 0x00134060}}, Y: Field{[10]uint32{0x02dbc09e, 0x03e53246, 0x01a362f1, 0x011a160b, 0x03969420, 0x01f58e04, 0x029ba800, 0x03d74d9f, 0x02c18cb4, 0x000e8cf1}}}, + {X: Field{[10]uint32{0x00e218da, 0x036a2ead, 0x0205087e, 0x03c549a1, 0x010f4c85, 0x03d07096, 0x00f17d8f, 0x026fbb9a, 0x03c48150, 0x0004f47f}}, Y: Field{[10]uint32{0x03191c19, 0x02d06776, 0x01127e0d, 0x0081b56f, 0x01a4ad01, 0x006dd62f, 0x00b9337b, 0x0258773b, 0x011fa991, 0x0018020e}}}, + {X: Field{[10]uint32{0x01daeb00, 0x02ad4a19, 0x01f76bc1, 0x00933991, 0x015923eb, 0x00edba74, 0x02cb6a27, 0x03e55c20, 0x0107df5c, 0x000bd985}}, Y: Field{[10]uint32{0x033992c0, 0x01d9e260, 0x0308c122, 0x009c6574, 0x006ecdee, 0x00802b74, 0x039537a8, 0x02ccfdbb, 0x02136f52, 0x003f5704}}}, + {X: Field{[10]uint32{0x035b4eb8, 0x0084f924, 0x01a3cf52, 0x03c6ae2d, 0x0207f557, 0x032bcb73, 0x03f54a3c, 0x00895bc3, 0x00e43adf, 0x0030465a}}, Y: Field{[10]uint32{0x03911add, 0x01265b5b, 0x0149b704, 0x02504a9c, 0x0242f8b4, 0x019d9be0, 0x039d81fe, 0x01163e0d, 0x02937786, 0x002ffd79}}}, + {X: Field{[10]uint32{0x016aa6d9, 0x02a42824, 0x02dcf182, 0x02d91dc0, 0x003662c8, 0x0060d68e, 0x00f174da, 0x011f4895, 0x017d05fe, 0x003d6504}}, Y: Field{[10]uint32{0x032e50cf, 0x001a5baf, 0x01b86c7d, 0x0220f9ad, 0x037a9277, 0x00252f3a, 0x025dbdab, 0x006c4b3d, 0x01a56e97, 0x0032a9d8}}}, + {X: Field{[10]uint32{0x02e96db8, 0x02d032a8, 0x01bff133, 0x005b38a7, 0x033cc9d9, 0x016c14ce, 0x019c79c4, 0x018001d9, 0x039cef6c, 0x000866d3}}, Y: Field{[10]uint32{0x013b6bc7, 0x03c069e3, 0x0176527d, 0x0314fa41, 0x02394f8a, 0x000dca9b, 0x0244180c, 0x03bfabd6, 0x0205d959, 0x00093671}}}, + {X: Field{[10]uint32{0x02c6f4c0, 0x0380e55e, 0x01c4ccaa, 0x03a3312f, 0x01da4e8d, 0x01a59c47, 0x021c38be, 0x02737b13, 0x017f1f4d, 0x0003cb53}}, Y: Field{[10]uint32{0x02339b58, 0x01eeeb5c, 0x02656e7e, 0x029e4090, 0x028f6a10, 0x00e079c7, 0x03b27fdf, 0x0379345f, 0x03857e93, 0x000fb227}}}, + {X: Field{[10]uint32{0x00284327, 0x0347e6bd, 0x02facc56, 0x02c0e0e9, 0x03ac4020, 0x001a8d05, 0x003ebdd8, 0x02d17375, 0x00bdcd64, 0x0003da10}}, Y: Field{[10]uint32{0x01e2ab72, 0x0349d691, 0x01eb7400, 0x029dc4ae, 0x03b68dab, 0x02d8452b, 0x01e8bff4, 0x0069dd25, 0x037f100f, 0x003cc134}}}, + {X: Field{[10]uint32{0x03428cb2, 0x01414ff7, 0x02b55d85, 0x03f59a88, 0x01233822, 0x0256343c, 0x037a1815, 0x012ef47a, 0x02c2e2a1, 0x00075773}}, Y: Field{[10]uint32{0x015b189b, 0x03b44022, 0x004a51e5, 0x00be1d81, 0x00bd3e91, 0x021bc2e2, 0x00787824, 0x03231434, 0x0083b142, 0x001b9710}}}, + {X: Field{[10]uint32{0x01dffc96, 0x02e84256, 0x01857295, 0x0296beb1, 0x019228cd, 0x0205fac0, 0x039b395c, 0x00f7abdb, 0x00bee148, 0x0005871b}}, Y: Field{[10]uint32{0x03492de4, 0x02f3d846, 0x00621c93, 0x0324babe, 0x019b9634, 0x032c60c1, 0x01259391, 0x03fe616f, 0x0292a6b9, 0x002289b2}}}, + {X: Field{[10]uint32{0x00381273, 0x03aa23ea, 0x01ae5fb0, 0x02581a4f, 0x02d84376, 0x031049b3, 0x01ea9b2c, 0x019d0e7f, 0x02fd3009, 0x00227668}}, Y: Field{[10]uint32{0x0309773d, 0x03acfbb4, 0x03324a03, 0x0202b449, 0x018f61d6, 0x01b3d8bd, 0x03aaf207, 0x01bd40dd, 0x01b451d6, 0x0037f289}}}, + {X: Field{[10]uint32{0x010a683f, 0x018557e0, 0x031be4cf, 0x00c6fdba, 0x005248bd, 0x00626aa3, 0x02c7285f, 0x035283f9, 0x02cc3f64, 0x001e0f43}}, Y: Field{[10]uint32{0x00f54c4c, 0x019b38b8, 0x01ee9dfd, 0x0221c8e5, 0x02b5de92, 0x01fcb547, 0x02b74572, 0x03d28c05, 0x01029073, 0x0008029b}}}, + {X: Field{[10]uint32{0x01c71d91, 0x00cacb2d, 0x00fd21cc, 0x00b8aa25, 0x0223945e, 0x0056bfb3, 0x02a1c131, 0x002b8714, 0x038783a5, 0x0020c646}}, Y: Field{[10]uint32{0x02148a61, 0x027b0238, 0x005ee70b, 0x0145d411, 0x0217a11f, 0x005f2ba2, 0x006de13d, 0x006dc278, 0x03157380, 0x00382b1f}}}, + {X: Field{[10]uint32{0x0237b7c0, 0x01173306, 0x0069f575, 0x03deec44, 0x01ec08d0, 0x03bc8854, 0x02000935, 0x0133769b, 0x03aa0b33, 0x0014e413}}, Y: Field{[10]uint32{0x022771c8, 0x02c25ac0, 0x034699dc, 0x02078510, 0x00139999, 0x00834f07, 0x009eccac, 0x0041b623, 0x03d0bc80, 0x0016f021}}}, + }, + { + {X: Field{[10]uint32{0x0237b7c0, 0x01173306, 0x0069f575, 0x03deec44, 0x01ec08d0, 0x03bc8854, 0x02000935, 0x0133769b, 0x03aa0b33, 0x0014e413}}, Y: Field{[10]uint32{0x022771c8, 0x02c25ac0, 0x034699dc, 0x02078510, 0x00139999, 0x00834f07, 0x009eccac, 0x0041b623, 0x03d0bc80, 0x0016f021}}}, + {X: Field{[10]uint32{0x00a47ca9, 0x0343c7ce, 0x005ad57c, 0x02aab43e, 0x012a6ee7, 0x00c5a657, 0x03991196, 0x0119d4f3, 0x01af9d41, 0x0000695d}}, Y: Field{[10]uint32{0x03ebcdb7, 0x0177cb9d, 0x03ea667c, 0x01767d35, 0x00bdb93c, 0x006ee1a6, 0x015fc52e, 0x00370f31, 0x01cb8ab2, 0x000c0e3c}}}, + {X: Field{[10]uint32{0x00a2050e, 0x0310bf92, 0x00a6771a, 0x015d857e, 0x01742ef5, 0x0391e6e2, 0x03769cc6, 0x01cc625a, 0x00fd24bc, 0x0019cdc9}}, Y: Field{[10]uint32{0x021d3d70, 0x03269241, 0x01cc2b90, 0x03f50cd2, 0x01be6bac, 0x02a21adb, 0x03482c09, 0x01288080, 0x0257896a, 0x003933e0}}}, + {X: Field{[10]uint32{0x0315565b, 0x0275d578, 0x00c6ee30, 0x020f4f08, 0x02d3a61a, 0x01d85575, 0x031f5c1b, 0x0350e729, 0x00437621, 0x003d7c38}}, Y: Field{[10]uint32{0x012ecc82, 0x010c2bf7, 0x0240a678, 0x02fcfb5f, 0x02a5bf61, 0x037dc406, 0x02189160, 0x0014afd8, 0x0262be5a, 0x001ae7d3}}}, + {X: Field{[10]uint32{0x02de63bf, 0x01b920e0, 0x01c66cbf, 0x00ca1c98, 0x00e03af5, 0x03d859aa, 0x0198a631, 0x0130c279, 0x03a472df, 0x0010d9bb}}, Y: Field{[10]uint32{0x017924cd, 0x01a90238, 0x02d6b02c, 0x01496aa9, 0x02f33b0c, 0x00c09a3a, 0x022537e1, 0x035f38bb, 0x0109bee2, 0x000b9f76}}}, + {X: Field{[10]uint32{0x01a78179, 0x03d807ea, 0x02afe34c, 0x00149835, 0x036b50e9, 0x00827b67, 0x01a47336, 0x02e37241, 0x03f37081, 0x00265729}}, Y: Field{[10]uint32{0x03ec1f47, 0x03eed32b, 0x00e52931, 0x015a6ad9, 0x02bbcc85, 0x0124a18e, 0x0234d880, 0x015cead7, 0x01e95553, 0x00366816}}}, + {X: Field{[10]uint32{0x02f96190, 0x0149ffc1, 0x0125ef10, 0x03a41f25, 0x03d1f02d, 0x019ea9d7, 0x03e55696, 0x02ac7e5e, 0x03627991, 0x001ef5d4}}, Y: Field{[10]uint32{0x03da00f6, 0x005c812a, 0x02695a3d, 0x0170783a, 0x02ce0fcc, 0x010e09f5, 0x02d64749, 0x018c2757, 0x02b3dbba, 0x0020cdbc}}}, + {X: Field{[10]uint32{0x01362d33, 0x01e0767d, 0x03642cbe, 0x00851889, 0x0347cbc9, 0x01c32938, 0x027f36d9, 0x01ba695e, 0x030b6c0b, 0x0023d41b}}, Y: Field{[10]uint32{0x03fa243f, 0x021f4321, 0x00eaf304, 0x01750eee, 0x0048cf92, 0x03c70cda, 0x030c5424, 0x0185c654, 0x015d2afa, 0x0011a7e5}}}, + {X: Field{[10]uint32{0x02ad41ed, 0x0054c555, 0x0352433b, 0x00d7d3c0, 0x020308ac, 0x02463724, 0x023419e8, 0x035706be, 0x027bddaa, 0x0013dfa4}}, Y: Field{[10]uint32{0x02642d57, 0x00d5e19f, 0x0375bdf4, 0x01c53abd, 0x022e7314, 0x00ea3da9, 0x02980df5, 0x022c4154, 0x005156a8, 0x0037f9dd}}}, + {X: Field{[10]uint32{0x025e6618, 0x010e868f, 0x03cb4c18, 0x03d6763f, 0x03166d65, 0x03904918, 0x02017141, 0x01f6fe1f, 0x007338b9, 0x003ef084}}, Y: Field{[10]uint32{0x0230c860, 0x01536808, 0x00cf20ed, 0x00fc772f, 0x017f3c4f, 0x03ce6c47, 0x0160c1a6, 0x025052d2, 0x0059185c, 0x0027e6c2}}}, + {X: Field{[10]uint32{0x03748690, 0x01814499, 0x00b01cfa, 0x0137618c, 0x007d5790, 0x0374cf40, 0x03452b1e, 0x00733252, 0x03867d29, 0x0008d572}}, Y: Field{[10]uint32{0x0089582b, 0x011d4c53, 0x0139147c, 0x01633472, 0x00582868, 0x016a9f16, 0x01b85ec1, 0x0387e3d5, 0x018a5a71, 0x000870bc}}}, + {X: Field{[10]uint32{0x009135d3, 0x02361761, 0x031fc13d, 0x03404b90, 0x0274203c, 0x004c2c5a, 0x00134294, 0x02a16997, 0x03c7ef82, 0x00016502}}, Y: Field{[10]uint32{0x022255d2, 0x035d1465, 0x02391d02, 0x00a32640, 0x02f12863, 0x02ad9a1e, 0x035b0c7a, 0x02ad84bd, 0x0185eb4f, 0x002414de}}}, + {X: Field{[10]uint32{0x02de7f16, 0x03a88582, 0x0028c6da, 0x03a4f2f8, 0x00ae9cba, 0x0309d749, 0x03592ab6, 0x0295b004, 0x025b9b3d, 0x0002d9a0}}, Y: Field{[10]uint32{0x00c56217, 0x01109a12, 0x00d2bd94, 0x0037cf9f, 0x03b7243c, 0x02d5ea5f, 0x03a76ba8, 0x026cffbc, 0x00b818e0, 0x00287ee8}}}, + {X: Field{[10]uint32{0x00d2374d, 0x00c1c059, 0x02b2bc63, 0x025a133f, 0x00dcf38a, 0x02cffda9, 0x025a9f71, 0x03274976, 0x02d8b5e5, 0x0005bba3}}, Y: Field{[10]uint32{0x00865998, 0x016f2d3f, 0x01dd980e, 0x003b9b53, 0x02075513, 0x016dbfd8, 0x026b843e, 0x03c44228, 0x03f0546f, 0x003d4039}}}, + {X: Field{[10]uint32{0x01060d5b, 0x01ac08a6, 0x03a7c290, 0x02c470e8, 0x03904613, 0x027e5472, 0x0109b2fd, 0x0008b2d8, 0x003cf0bd, 0x003d8081}}, Y: Field{[10]uint32{0x02f88f13, 0x01bd42c6, 0x01a3f76f, 0x034adf74, 0x0237aa56, 0x0313defa, 0x01a8f64a, 0x033c6620, 0x0306c1f0, 0x003c0dad}}}, + {X: Field{[10]uint32{0x02d86047, 0x02567d0e, 0x00bcaeff, 0x0010ea6e, 0x0379b53a, 0x0132a419, 0x01cca776, 0x020e9dc6, 0x010bd359, 0x00239ef3}}, Y: Field{[10]uint32{0x0060372a, 0x00011fa1, 0x028b3ea1, 0x00b91ff5, 0x0179e88e, 0x032a5451, 0x00310420, 0x0292ce50, 0x030b2a3d, 0x00042ddd}}}, + }, + { + {X: Field{[10]uint32{0x02d86047, 0x02567d0e, 0x00bcaeff, 0x0010ea6e, 0x0379b53a, 0x0132a419, 0x01cca776, 0x020e9dc6, 0x010bd359, 0x00239ef3}}, Y: Field{[10]uint32{0x0060372a, 0x00011fa1, 0x028b3ea1, 0x00b91ff5, 0x0179e88e, 0x032a5451, 0x00310420, 0x0292ce50, 0x030b2a3d, 0x00042ddd}}}, + {X: Field{[10]uint32{0x013f0351, 0x00a022fc, 0x009e777d, 0x0234f40e, 0x033bc15b, 0x025a5437, 0x010f3199, 0x01ca770d, 0x03aa195e, 0x000cecd6}}, Y: Field{[10]uint32{0x038d7418, 0x0140f332, 0x01b702bc, 0x03bef222, 0x00aa6560, 0x012354af, 0x00640362, 0x02fe1fe5, 0x0185640a, 0x00296280}}}, + {X: Field{[10]uint32{0x001ead4b, 0x0221e681, 0x003c1ffe, 0x03eda46c, 0x023a75ed, 0x02bf9daf, 0x014734ef, 0x00cdfb1c, 0x000c8c8f, 0x002ff243}}, Y: Field{[10]uint32{0x02fedaed, 0x00b1bc21, 0x02e3e745, 0x03fccb82, 0x02fb468e, 0x01410b4d, 0x03a718dd, 0x037b4936, 0x01b1e09c, 0x001ea520}}}, + {X: Field{[10]uint32{0x0014bb36, 0x0371ec91, 0x03ca6d71, 0x00272b5e, 0x0256f6e1, 0x01c7df88, 0x0383ad20, 0x00fe5572, 0x02ae22c9, 0x000dd37b}}, Y: Field{[10]uint32{0x01af734a, 0x016faa63, 0x00321787, 0x018c0395, 0x013828d6, 0x0201bdca, 0x0032c06f, 0x013e6458, 0x01b64fcd, 0x0005c459}}}, + {X: Field{[10]uint32{0x01bb3b3e, 0x01ef41dd, 0x033cb26e, 0x005fbe7d, 0x03507536, 0x030b4fd6, 0x025993e8, 0x02aa9372, 0x011cbe3f, 0x001ccb7c}}, Y: Field{[10]uint32{0x03366693, 0x01df87b5, 0x00436cc5, 0x01b59316, 0x02e69dad, 0x00094e45, 0x03e25584, 0x0265df2d, 0x003ede8f, 0x001fd064}}}, + {X: Field{[10]uint32{0x01b7ad0d, 0x03215bb9, 0x011d3694, 0x01f2a743, 0x0076ee76, 0x01b45b11, 0x010d8a49, 0x0380370b, 0x010dabb5, 0x000e955a}}, Y: Field{[10]uint32{0x02e8c407, 0x0261e42c, 0x01218d6c, 0x022b2b0c, 0x0301cacb, 0x01fbe67c, 0x021fbac9, 0x0195efec, 0x021975a0, 0x0030f8a3}}}, + {X: Field{[10]uint32{0x008dc3b9, 0x016cf062, 0x00c99c5f, 0x0093a5dd, 0x0019a669, 0x0325fbd8, 0x01a8840c, 0x011ed0a3, 0x00b96039, 0x00133825}}, Y: Field{[10]uint32{0x01c0de52, 0x013dedb9, 0x006502c1, 0x008327a8, 0x0216205b, 0x029dab28, 0x03b4d80c, 0x026cfb55, 0x03babf1a, 0x00014e43}}}, + {X: Field{[10]uint32{0x02e7d616, 0x02992b5a, 0x01f0c5e8, 0x03cad8aa, 0x00944dba, 0x016bac37, 0x006e0739, 0x03ab95f1, 0x009c7f3a, 0x0008e030}}, Y: Field{[10]uint32{0x021bbc1a, 0x026f9205, 0x02756009, 0x00523e11, 0x0293af92, 0x01426c26, 0x0198aefd, 0x0255abc5, 0x02193464, 0x001be3a1}}}, + {X: Field{[10]uint32{0x02aafe5a, 0x01d782c2, 0x02edd4c3, 0x02ce9426, 0x00e25470, 0x02c08ff4, 0x018a6a95, 0x019f7a5b, 0x02b76fc6, 0x0026a5a3}}, Y: Field{[10]uint32{0x02d975c0, 0x02ff5093, 0x00cc0ce6, 0x0029979c, 0x02e7b588, 0x03618743, 0x03c66d03, 0x02e8a553, 0x0307a6d3, 0x002afdbe}}}, + {X: Field{[10]uint32{0x03a32402, 0x018b453b, 0x025348d9, 0x0184f19a, 0x025e659c, 0x000e00d3, 0x037db3bb, 0x03aaaf83, 0x02ced74c, 0x00060293}}, Y: Field{[10]uint32{0x00894b4e, 0x00de0371, 0x0118b320, 0x024dff73, 0x01a602c5, 0x013fafa1, 0x03bfc2f2, 0x035f8ab6, 0x015747ba, 0x00126293}}}, + {X: Field{[10]uint32{0x034c6397, 0x0072fe7c, 0x00d09375, 0x02d401d3, 0x0107dd3d, 0x014dac88, 0x00aef802, 0x0186553c, 0x03ed0171, 0x0034f1be}}, Y: Field{[10]uint32{0x00cb3f9c, 0x0323415a, 0x00e00b1f, 0x00224178, 0x028a0c77, 0x00baad91, 0x018394d9, 0x00abc651, 0x02c55e5e, 0x00128374}}}, + {X: Field{[10]uint32{0x01b2df82, 0x0291ec26, 0x00fb1927, 0x00591c41, 0x00ec5e7a, 0x0338cb01, 0x012d18ec, 0x02e4b332, 0x005c62bf, 0x00101699}}, Y: Field{[10]uint32{0x01307dbf, 0x00a0d282, 0x0062b5da, 0x02cb3b71, 0x022ffa9d, 0x008df9c4, 0x00aca61e, 0x025b83d7, 0x0014f44d, 0x002f0f2d}}}, + {X: Field{[10]uint32{0x02c3137e, 0x020964c2, 0x0244619b, 0x018a96bd, 0x03fe925b, 0x02aace54, 0x02f06a76, 0x010ee380, 0x03981292, 0x00132f78}}, Y: Field{[10]uint32{0x02c02fe6, 0x023c573b, 0x02d60c00, 0x02b9623a, 0x00d193a7, 0x02e530dc, 0x0092a134, 0x01856540, 0x00608f13, 0x001b3955}}}, + {X: Field{[10]uint32{0x010ce56e, 0x006788f9, 0x014a3c71, 0x03c35de4, 0x02c8293a, 0x032f9e05, 0x00590fca, 0x006bcf9a, 0x00d3ce53, 0x002a9b71}}, Y: Field{[10]uint32{0x01edd739, 0x03ce8d1f, 0x010a8b9d, 0x036be3dc, 0x03c11984, 0x03997998, 0x01f6edc5, 0x0394a5b8, 0x018fa241, 0x003af1e6}}}, + {X: Field{[10]uint32{0x00fbf84b, 0x008c1b38, 0x00b8a47a, 0x032ef0fc, 0x0303c48f, 0x030533ae, 0x03d9c730, 0x01891ee2, 0x033c82b1, 0x0012e74c}}, Y: Field{[10]uint32{0x036c3c48, 0x03b92d28, 0x035e6239, 0x010f8bd6, 0x036766d5, 0x019e6dfa, 0x0313d982, 0x03054954, 0x03fbe24c, 0x003f5ff1}}}, + {X: Field{[10]uint32{0x01c43862, 0x01078566, 0x026690a8, 0x03c60e5f, 0x0271a7f4, 0x026e06f7, 0x01081868, 0x03fc879b, 0x0134c1cd, 0x000e17bb}}, Y: Field{[10]uint32{0x002e5453, 0x0163f955, 0x01c8cc04, 0x03b0821b, 0x036b304e, 0x027afd15, 0x001de19e, 0x008fd59c, 0x03c3e8ea, 0x000a0efa}}}, + }, + { + {X: Field{[10]uint32{0x01c43862, 0x01078566, 0x026690a8, 0x03c60e5f, 0x0271a7f4, 0x026e06f7, 0x01081868, 0x03fc879b, 0x0134c1cd, 0x000e17bb}}, Y: Field{[10]uint32{0x002e5453, 0x0163f955, 0x01c8cc04, 0x03b0821b, 0x036b304e, 0x027afd15, 0x001de19e, 0x008fd59c, 0x03c3e8ea, 0x000a0efa}}}, + {X: Field{[10]uint32{0x00f2827c, 0x00e89c1e, 0x01ce2dc8, 0x010afbf0, 0x0147c826, 0x0357d9f4, 0x016be134, 0x01520011, 0x02083daf, 0x003dbd88}}, Y: Field{[10]uint32{0x00aaa102, 0x02c82d48, 0x01bf6d15, 0x01d120c8, 0x03e657ca, 0x00d9f3b9, 0x02c5715b, 0x00e83ebc, 0x02817de7, 0x0006f353}}}, + {X: Field{[10]uint32{0x02e2d9b3, 0x034c1aad, 0x0163514b, 0x020c6ce3, 0x0241db92, 0x0273e115, 0x012ea613, 0x00179d78, 0x00f397c7, 0x000668c5}}, Y: Field{[10]uint32{0x03aaaf33, 0x00bb8972, 0x03e56d55, 0x00749012, 0x03a5021d, 0x01fd4a2c, 0x00965f88, 0x00a3748d, 0x00f5dac7, 0x001b2b36}}}, + {X: Field{[10]uint32{0x015adcb6, 0x024c825c, 0x02f369d8, 0x0339f631, 0x01cd91c3, 0x0347f095, 0x030cb3c3, 0x00f78af5, 0x01188f95, 0x003ec9b9}}, Y: Field{[10]uint32{0x00ba68f3, 0x02f28ed6, 0x02b5449d, 0x00c6e2de, 0x0116d2cb, 0x027405da, 0x02846a71, 0x028d3563, 0x00811012, 0x003cf84a}}}, + {X: Field{[10]uint32{0x02f00480, 0x0161fac4, 0x01cee7d8, 0x00128403, 0x01203588, 0x013d9c86, 0x01c98636, 0x036a8d57, 0x014b95a8, 0x0016103b}}, Y: Field{[10]uint32{0x0222cf9e, 0x00b578af, 0x03872159, 0x01514ab8, 0x02ba7522, 0x00577636, 0x0168deaa, 0x03c5041e, 0x026b220b, 0x0019c336}}}, + {X: Field{[10]uint32{0x03a52264, 0x01cdf658, 0x00b3752e, 0x000c5500, 0x03d0adfc, 0x02b9473f, 0x006e2a9a, 0x01ffa6a0, 0x000de818, 0x00217ff7}}, Y: Field{[10]uint32{0x02da2082, 0x01f4a6a0, 0x01d0498c, 0x0324ac5e, 0x00678182, 0x01551c1b, 0x02568f50, 0x0252342f, 0x00187ae2, 0x000ffb8c}}}, + {X: Field{[10]uint32{0x03f54c42, 0x0137ba08, 0x03dc8e48, 0x00f09a68, 0x0145dc1a, 0x03b394c9, 0x0058c1f4, 0x0063ec77, 0x01a53469, 0x0027d5c0}}, Y: Field{[10]uint32{0x03eb6a21, 0x0387124b, 0x02527860, 0x012ac867, 0x0189ee78, 0x01ca6ff7, 0x0395b6b5, 0x02795efe, 0x03b8801d, 0x00339ee3}}}, + {X: Field{[10]uint32{0x00788c1e, 0x0136dd58, 0x011d7ed4, 0x00183a2f, 0x03d18c37, 0x018f3aad, 0x035c6bc7, 0x004cb4a3, 0x025911b9, 0x00226448}}, Y: Field{[10]uint32{0x028f0ef1, 0x031088a3, 0x01e11635, 0x0213f7be, 0x0236969c, 0x026c4dbe, 0x03876355, 0x02b26c9e, 0x01987cc9, 0x0036a2d3}}}, + {X: Field{[10]uint32{0x0122461a, 0x0104cca5, 0x018327e9, 0x00996f1c, 0x00bcb30a, 0x019fbe68, 0x03b87010, 0x0233f006, 0x0169235a, 0x0009fd84}}, Y: Field{[10]uint32{0x03301a2d, 0x0132be71, 0x039446aa, 0x00836a18, 0x00e4981b, 0x01d0a3ba, 0x008c5612, 0x01ab4ba9, 0x01a9900a, 0x003944bc}}}, + {X: Field{[10]uint32{0x02ddd3ac, 0x03662579, 0x006516db, 0x00ce8bc0, 0x037bf8f6, 0x0338b568, 0x012d90d6, 0x00b82561, 0x03e6732a, 0x0025bb94}}, Y: Field{[10]uint32{0x029b6fde, 0x0096cd9c, 0x01c06fbf, 0x025db19b, 0x02ef0d07, 0x03afc783, 0x004c9711, 0x00a7cb63, 0x02eae4b6, 0x000e6e72}}}, + {X: Field{[10]uint32{0x014f36b9, 0x00b26cb4, 0x03390cce, 0x02ed8ee7, 0x012598ca, 0x017d2a60, 0x01bf2f43, 0x03e50498, 0x01856cee, 0x001901de}}, Y: Field{[10]uint32{0x00b4b50a, 0x02c7ba79, 0x02eb2894, 0x01c12673, 0x008cda08, 0x02169edb, 0x010d75fd, 0x01bbebbe, 0x028f44e5, 0x00369864}}}, + {X: Field{[10]uint32{0x02a88c9c, 0x03fd692d, 0x01f069c1, 0x0198c527, 0x02a37b68, 0x01cb2a8a, 0x021d9ac9, 0x0244e62c, 0x0081e547, 0x001e1964}}, Y: Field{[10]uint32{0x01a7d19b, 0x0164d15d, 0x02a155e0, 0x026c0ead, 0x0112cf91, 0x017a0658, 0x028fa722, 0x0034ada7, 0x007792a3, 0x0016688c}}}, + {X: Field{[10]uint32{0x00d6b76f, 0x018f7e65, 0x015dbcef, 0x03eed320, 0x027fe5a9, 0x00277fab, 0x02f708bc, 0x019a7d14, 0x00e31c85, 0x00288dd4}}, Y: Field{[10]uint32{0x01cca8da, 0x024b3323, 0x008d141d, 0x0047f6e1, 0x03e7707c, 0x03504444, 0x032fa3e4, 0x0379b6b0, 0x0314a6e7, 0x003dcce6}}}, + {X: Field{[10]uint32{0x00c13079, 0x0336c4f4, 0x01688d4f, 0x00055374, 0x026f3e5a, 0x036bcc05, 0x01fea76e, 0x003aee02, 0x010b6e1f, 0x001794ad}}, Y: Field{[10]uint32{0x00e1296f, 0x00f1239c, 0x00e1cc10, 0x0344f58f, 0x004a3829, 0x01280fab, 0x02987853, 0x012c326d, 0x02e73a35, 0x000667b7}}}, + {X: Field{[10]uint32{0x00eee475, 0x03a7193f, 0x0382b12e, 0x00a103b5, 0x01ab6ac8, 0x00f2bfd0, 0x013c021f, 0x00de357b, 0x0007a3f2, 0x002efc6b}}, Y: Field{[10]uint32{0x03fe5067, 0x008a8021, 0x001d6846, 0x02250e2d, 0x0324eb9d, 0x01ac57f8, 0x0083cc83, 0x01839842, 0x00deead4, 0x002d2fee}}}, + {X: Field{[10]uint32{0x03fac3a7, 0x01bb61b0, 0x03bc9c60, 0x0129651f, 0x000fddf8, 0x004f7e86, 0x03c73a44, 0x03c6458d, 0x01b803ec, 0x0001be76}}, Y: Field{[10]uint32{0x02842160, 0x0224180e, 0x01002d86, 0x00bd70a0, 0x007ea4dd, 0x03917135, 0x038e2a30, 0x0166e9a6, 0x028e6030, 0x001f2031}}}, + }, + { + {X: Field{[10]uint32{0x03fac3a7, 0x01bb61b0, 0x03bc9c60, 0x0129651f, 0x000fddf8, 0x004f7e86, 0x03c73a44, 0x03c6458d, 0x01b803ec, 0x0001be76}}, Y: Field{[10]uint32{0x02842160, 0x0224180e, 0x01002d86, 0x00bd70a0, 0x007ea4dd, 0x03917135, 0x038e2a30, 0x0166e9a6, 0x028e6030, 0x001f2031}}}, + {X: Field{[10]uint32{0x037fd72d, 0x03489d12, 0x01a175c9, 0x03969f93, 0x01da1745, 0x01120a4e, 0x01c36c28, 0x01047073, 0x02ea252b, 0x002ba1bb}}, Y: Field{[10]uint32{0x02ee38bc, 0x0132de93, 0x03728233, 0x015451cb, 0x018d9211, 0x0227fc3a, 0x02b0ace5, 0x000be58a, 0x03c97073, 0x00067a64}}}, + {X: Field{[10]uint32{0x021ce204, 0x035d7a34, 0x023d524e, 0x0239099d, 0x03b2a725, 0x0329bdcb, 0x0374d859, 0x03193ee0, 0x01d162b3, 0x0010f290}}, Y: Field{[10]uint32{0x034a8f6b, 0x014113a4, 0x02468e52, 0x02ccfa92, 0x039ab6c7, 0x0236e8c7, 0x0250f921, 0x008fe871, 0x0282e370, 0x00373a96}}}, + {X: Field{[10]uint32{0x00169290, 0x011d099f, 0x032ee7a1, 0x01d73cdb, 0x008718be, 0x01b70b12, 0x01d2f8c5, 0x03fd5798, 0x01f90bbf, 0x00089232}}, Y: Field{[10]uint32{0x003ea257, 0x036284a2, 0x02be2369, 0x0008d768, 0x00e16375, 0x010d6e86, 0x006bb55b, 0x03bb5e94, 0x00692d21, 0x003e8165}}}, + {X: Field{[10]uint32{0x03e6efda, 0x033a4b3a, 0x0005964f, 0x03cfe1ca, 0x01922d4f, 0x0216941b, 0x026f7237, 0x00afd6d9, 0x02ef2289, 0x00270f81}}, Y: Field{[10]uint32{0x03aefc7d, 0x0103cca9, 0x03df7df1, 0x01a1ecdb, 0x01d43bc8, 0x03389bf5, 0x030b2d44, 0x0248f62b, 0x01e5e762, 0x0029edc2}}}, + {X: Field{[10]uint32{0x00978583, 0x0290c805, 0x0213f5b3, 0x02bbc185, 0x00cdd6e9, 0x003e4885, 0x03841999, 0x00c4dd25, 0x009b9cf2, 0x000c2afe}}, Y: Field{[10]uint32{0x01c75777, 0x00600d47, 0x004ac446, 0x0288eed6, 0x0063120e, 0x00386ae0, 0x037b4f2d, 0x01d26337, 0x0115477f, 0x0012c0d4}}}, + {X: Field{[10]uint32{0x02c88be2, 0x009ead71, 0x025e2791, 0x008341bb, 0x03ea2c78, 0x020c1dd6, 0x0372759d, 0x003c0cee, 0x02a313e2, 0x00175be2}}, Y: Field{[10]uint32{0x017ad75d, 0x03954fc3, 0x012c2892, 0x023a9afe, 0x00edab6f, 0x02c22f08, 0x01aaf33a, 0x0353a31c, 0x018d8d56, 0x002b712c}}}, + {X: Field{[10]uint32{0x010964e3, 0x036b12ed, 0x02f76fd0, 0x01df7471, 0x00a99f08, 0x02502174, 0x0011b48d, 0x01101d2b, 0x0216e05c, 0x0038469b}}, Y: Field{[10]uint32{0x0282bfc8, 0x03efe2c1, 0x00c6f767, 0x0384e0c6, 0x0017adc6, 0x01bc2bc9, 0x02d5e259, 0x0350c386, 0x025b87a2, 0x0021f581}}}, + {X: Field{[10]uint32{0x02d1b844, 0x024d46e4, 0x02484f28, 0x020b05cf, 0x01c69c03, 0x004e22f1, 0x02b15c3c, 0x00357f21, 0x01c304a6, 0x003d5f4d}}, Y: Field{[10]uint32{0x01266837, 0x02eaef58, 0x01c6a464, 0x0080c245, 0x00700697, 0x027918d3, 0x004d3f5a, 0x03d365e4, 0x019ea98e, 0x001c1fcf}}}, + {X: Field{[10]uint32{0x021f51d3, 0x01c591ec, 0x03df8739, 0x0118b0e7, 0x0011f80d, 0x036842ea, 0x00d419b9, 0x02a5573a, 0x03216726, 0x001a9cfe}}, Y: Field{[10]uint32{0x01224b17, 0x00937669, 0x03774018, 0x011a2d82, 0x022db482, 0x025c844c, 0x02a7d294, 0x03cf09ff, 0x02fca1ed, 0x0013cf3b}}}, + {X: Field{[10]uint32{0x00c7cb09, 0x03401fcf, 0x03435234, 0x01a28746, 0x023bc7eb, 0x00f61c51, 0x016e1fee, 0x025297d6, 0x007a3a65, 0x0004f9d8}}, Y: Field{[10]uint32{0x00079160, 0x01d6a282, 0x036411be, 0x02ed9ad5, 0x0165eae2, 0x02cd0a67, 0x025fdd85, 0x02e2c78c, 0x008de8fb, 0x000a1372}}}, + {X: Field{[10]uint32{0x00288015, 0x00df98fb, 0x019cc39a, 0x014fbb72, 0x024673f8, 0x0016daa9, 0x01fac61a, 0x0379bda0, 0x02aad936, 0x002a8053}}, Y: Field{[10]uint32{0x02c1006f, 0x00539991, 0x00ad9df8, 0x001d0f3b, 0x03ef4b9b, 0x03dec3d8, 0x032a7e43, 0x02fa6b0f, 0x03c04636, 0x000f7a44}}}, + {X: Field{[10]uint32{0x00cdee05, 0x00338496, 0x003b9006, 0x02c85cbb, 0x01a8761f, 0x02c1a407, 0x000250b1, 0x020b9890, 0x03225681, 0x000a6fa8}}, Y: Field{[10]uint32{0x022651c8, 0x0280d669, 0x018e39e4, 0x02db231a, 0x03f9fc31, 0x021c17b1, 0x0009b3fb, 0x02683aa4, 0x01a2690e, 0x001f1036}}}, + {X: Field{[10]uint32{0x011d45f9, 0x02155e3c, 0x026144cf, 0x0379b1e5, 0x02ba4c1c, 0x01f6de5b, 0x022ef2c7, 0x0144ad3a, 0x03d35337, 0x000dabb8}}, Y: Field{[10]uint32{0x00febad4, 0x02eacfdf, 0x036069d3, 0x0342b11c, 0x00004b35, 0x01f263d5, 0x00b95470, 0x018271e7, 0x0235cd69, 0x0032ab76}}}, + {X: Field{[10]uint32{0x02f18ada, 0x01b1d584, 0x01bcc11b, 0x024eef6f, 0x01d460bd, 0x00cf5296, 0x0036faff, 0x02239f67, 0x006d2382, 0x003d485e}}, Y: Field{[10]uint32{0x03953516, 0x01a2bf48, 0x030981dd, 0x028db16f, 0x02aa5ef4, 0x03347475, 0x0026102b, 0x036d5fb3, 0x03bf6038, 0x00381a1b}}}, + {X: Field{[10]uint32{0x02d0e6bd, 0x01f839d0, 0x01e5313b, 0x018f6c3d, 0x03f774d1, 0x00135bb2, 0x022147c1, 0x0138960a, 0x0001243c, 0x000cc8b5}}, Y: Field{[10]uint32{0x0028b2a0, 0x00e8ba5b, 0x03af624f, 0x00fa8a1c, 0x032805f6, 0x0376be6d, 0x03019bc4, 0x013bd6fe, 0x0397e966, 0x0015b9c1}}}, + }, + { + {X: Field{[10]uint32{0x02d0e6bd, 0x01f839d0, 0x01e5313b, 0x018f6c3d, 0x03f774d1, 0x00135bb2, 0x022147c1, 0x0138960a, 0x0001243c, 0x000cc8b5}}, Y: Field{[10]uint32{0x0028b2a0, 0x00e8ba5b, 0x03af624f, 0x00fa8a1c, 0x032805f6, 0x0376be6d, 0x03019bc4, 0x013bd6fe, 0x0397e966, 0x0015b9c1}}}, + {X: Field{[10]uint32{0x00ade462, 0x025b4cb0, 0x00f29fc6, 0x0323ab6f, 0x010d4cdd, 0x01320335, 0x00ef31b0, 0x02f6b848, 0x000250ce, 0x00234988}}, Y: Field{[10]uint32{0x0326470c, 0x002a2e43, 0x00b3ad8e, 0x0139c99e, 0x021d4afb, 0x00fb8dae, 0x01f6f2dc, 0x03d0df4c, 0x03b4715b, 0x003afb4e}}}, + {X: Field{[10]uint32{0x019ab499, 0x0274fc81, 0x00330abd, 0x0271b9cf, 0x000b1329, 0x019fc06f, 0x02196b3c, 0x0016e974, 0x03f3015c, 0x001e2eab}}, Y: Field{[10]uint32{0x02e097fd, 0x0348c63f, 0x01199681, 0x03ba3449, 0x0291632e, 0x0360820b, 0x00a84e0e, 0x0302bebf, 0x00dbdb06, 0x002b52f7}}}, + {X: Field{[10]uint32{0x0116e633, 0x01190f85, 0x01c8b916, 0x00341cb6, 0x038ed493, 0x0165340e, 0x00068a1f, 0x02faa739, 0x00766eae, 0x00048e30}}, Y: Field{[10]uint32{0x037b7805, 0x036dca31, 0x0022805c, 0x00b731d0, 0x03094625, 0x0070f705, 0x00979e2d, 0x004d675b, 0x002dbb27, 0x0022a76c}}}, + {X: Field{[10]uint32{0x0106ace6, 0x00f85b3f, 0x020ca449, 0x00dbe0e8, 0x0223709b, 0x024a6ac6, 0x00b84984, 0x038f5308, 0x0211a14a, 0x001bdc3c}}, Y: Field{[10]uint32{0x0202d5de, 0x02fb4d2d, 0x005ee048, 0x019af96b, 0x00753295, 0x01ee67d4, 0x015d8f34, 0x01edcdbe, 0x02309402, 0x001e47a2}}}, + {X: Field{[10]uint32{0x01cd5379, 0x018ccc29, 0x03cadc30, 0x00e161c2, 0x032db794, 0x02a93488, 0x002481b8, 0x004e0a9e, 0x02d56bdd, 0x0005f01c}}, Y: Field{[10]uint32{0x0108cd25, 0x02b8146c, 0x02d0df7c, 0x01d8996e, 0x038959ac, 0x03c740d3, 0x03c1247a, 0x0281939d, 0x01f4283d, 0x0036406f}}}, + {X: Field{[10]uint32{0x00ee1b40, 0x03b8fb98, 0x02247dc8, 0x016dc7a5, 0x008ced48, 0x0040f335, 0x00949f19, 0x029057e0, 0x01b29d6a, 0x00385667}}, Y: Field{[10]uint32{0x038f93a6, 0x018997b5, 0x0199de1d, 0x01d2f0ca, 0x03a6363a, 0x028bf1f3, 0x02f894aa, 0x035283be, 0x02232a81, 0x001e4cd8}}}, + {X: Field{[10]uint32{0x008e7a66, 0x0005549e, 0x0021619b, 0x00a0ac3b, 0x01cddcd7, 0x029a846e, 0x032ea758, 0x0270579e, 0x030770cb, 0x0009c756}}, Y: Field{[10]uint32{0x003c9727, 0x035c9638, 0x0024e7a8, 0x038d422a, 0x03e2a065, 0x026b21df, 0x017d0994, 0x03d24791, 0x005834e7, 0x00174ea9}}}, + {X: Field{[10]uint32{0x01c00c3e, 0x037e8a12, 0x008e2f81, 0x000f2448, 0x01f00e8f, 0x03514616, 0x02562d33, 0x01a5590d, 0x00970440, 0x002ec2c1}}, Y: Field{[10]uint32{0x01955a35, 0x02a60b44, 0x0090a799, 0x013a4177, 0x02fe6704, 0x02ac6c14, 0x01d2fa17, 0x027d8d95, 0x005853af, 0x001019f9}}}, + {X: Field{[10]uint32{0x00a923b7, 0x03a1f62a, 0x01b30da1, 0x03bb6071, 0x02aef650, 0x020ce099, 0x00708ab6, 0x0269c150, 0x039b2199, 0x002b0ab2}}, Y: Field{[10]uint32{0x03cd20a6, 0x030492b5, 0x03a4fa2d, 0x02fc4b49, 0x0360b0d0, 0x004f67ac, 0x01afa0df, 0x01c93472, 0x028511c1, 0x001da110}}}, + {X: Field{[10]uint32{0x01dd32e6, 0x01d6e701, 0x01ee7e0e, 0x0146d4f9, 0x03c663b5, 0x01d697ef, 0x0249dbe0, 0x01e27a6d, 0x01554195, 0x00371690}}, Y: Field{[10]uint32{0x014a99b9, 0x01f6de9d, 0x01bcf80e, 0x0241db92, 0x002ff2ee, 0x006fd651, 0x00ea5e20, 0x019e9db7, 0x00a63f9f, 0x0012bcea}}}, + {X: Field{[10]uint32{0x022d8dae, 0x00f00632, 0x01ea9579, 0x03e47f49, 0x02ac32a5, 0x032c895b, 0x02b25ef9, 0x024be6e9, 0x00026211, 0x002209c7}}, Y: Field{[10]uint32{0x021e77d9, 0x009b03cf, 0x01099fb4, 0x01b71c5f, 0x00c30087, 0x016afd6b, 0x01c8b3ae, 0x01daa900, 0x01535071, 0x0035c677}}}, + {X: Field{[10]uint32{0x0144e7cb, 0x0116eb11, 0x020359ed, 0x0096d4a5, 0x01a10642, 0x004053a6, 0x03354a57, 0x00ee76f8, 0x01703987, 0x00055b86}}, Y: Field{[10]uint32{0x01250a37, 0x00e4b02b, 0x039cd6d5, 0x02357ad0, 0x009496d5, 0x00e0d2fa, 0x039572a6, 0x0241f6a4, 0x019f8f31, 0x001af023}}}, + {X: Field{[10]uint32{0x0089240f, 0x02eb7267, 0x03b858f5, 0x02ebe8b9, 0x0274f8c4, 0x01f8385d, 0x00ee0919, 0x01cce386, 0x010d652d, 0x00056e0e}}, Y: Field{[10]uint32{0x0326f04a, 0x03e7be38, 0x033352e2, 0x02ad7068, 0x01b30367, 0x01e967e6, 0x03dd7ccc, 0x023420ea, 0x020c8efe, 0x001e1b3c}}}, + {X: Field{[10]uint32{0x019853ca, 0x02f0a731, 0x03f54dbf, 0x01ae7c66, 0x0348e962, 0x0239c584, 0x00a76a22, 0x010e09af, 0x00cecb68, 0x00109a6f}}, Y: Field{[10]uint32{0x01b8d367, 0x0163bd4d, 0x028a3da9, 0x0297e796, 0x01fd3940, 0x010c6902, 0x0084ca9c, 0x005adc8f, 0x001a82c0, 0x003b4ac7}}}, + {X: Field{[10]uint32{0x0134ab83, 0x035d34a0, 0x03397721, 0x026bdd90, 0x00741b3f, 0x0259961a, 0x011770d8, 0x02df68af, 0x007d2de0, 0x002159cb}}, Y: Field{[10]uint32{0x010313a6, 0x00c253de, 0x00f44c8e, 0x03f314a6, 0x01e77f17, 0x0298b0b9, 0x034049bf, 0x02cbad8d, 0x039b5b43, 0x001f1206}}}, + }, + { + {X: Field{[10]uint32{0x0134ab83, 0x035d34a0, 0x03397721, 0x026bdd90, 0x00741b3f, 0x0259961a, 0x011770d8, 0x02df68af, 0x007d2de0, 0x002159cb}}, Y: Field{[10]uint32{0x010313a6, 0x00c253de, 0x00f44c8e, 0x03f314a6, 0x01e77f17, 0x0298b0b9, 0x034049bf, 0x02cbad8d, 0x039b5b43, 0x001f1206}}}, + {X: Field{[10]uint32{0x0317fc25, 0x02e42f07, 0x02d96998, 0x011b7cb9, 0x033b89ea, 0x01722987, 0x00186121, 0x027b00db, 0x036b740f, 0x0014d333}}, Y: Field{[10]uint32{0x03e86e76, 0x031fdbb3, 0x028ddd71, 0x01deff74, 0x010ae3d2, 0x00b550d5, 0x02ae3dd3, 0x00b76d18, 0x00b09c8b, 0x00355c57}}}, + {X: Field{[10]uint32{0x03ba9000, 0x001c8ea0, 0x028b6fdf, 0x0271a097, 0x01c4872f, 0x0210050f, 0x00876075, 0x036305a1, 0x00f9fff1, 0x002b0e1d}}, Y: Field{[10]uint32{0x0310cf0a, 0x00f1f65b, 0x029fa4da, 0x0035fd9b, 0x03085e35, 0x01045fe4, 0x022dde89, 0x0301a6e1, 0x012308a1, 0x002a997a}}}, + {X: Field{[10]uint32{0x00bee8b6, 0x01c248fa, 0x008d2c71, 0x011fb3ef, 0x0179020d, 0x023e2abb, 0x01e14201, 0x02dfcc20, 0x035cee87, 0x002a4747}}, Y: Field{[10]uint32{0x010644c1, 0x0345aa90, 0x03225003, 0x027d8a32, 0x02f80056, 0x0376b4ec, 0x03189c8d, 0x023b8569, 0x024ee2df, 0x001d228c}}}, + {X: Field{[10]uint32{0x0106dbd4, 0x001bd9bb, 0x00d081a6, 0x0215e288, 0x01ec0e3f, 0x0268f9ca, 0x0114075e, 0x01c04e6b, 0x00e7aa68, 0x0015c357}}, Y: Field{[10]uint32{0x011ed495, 0x016fb3af, 0x00bed5a6, 0x01b71918, 0x03b683a3, 0x007406ee, 0x0366e671, 0x000bd816, 0x0349420e, 0x0029ab94}}}, + {X: Field{[10]uint32{0x03ba402e, 0x0358c2c5, 0x02989ae5, 0x0170b410, 0x03c3b81a, 0x021238f0, 0x03ead0c4, 0x0280a962, 0x035cd18f, 0x0023a246}}, Y: Field{[10]uint32{0x00fad9e0, 0x02d89e71, 0x027ee8e1, 0x0090855e, 0x02af650c, 0x013ca8c1, 0x038d0e40, 0x0319a02c, 0x020e6a9e, 0x003974c3}}}, + {X: Field{[10]uint32{0x012d230e, 0x0307e482, 0x03928434, 0x02834a4c, 0x01daee32, 0x000d9bbd, 0x03c229ee, 0x022edbe1, 0x00702826, 0x001d6d7e}}, Y: Field{[10]uint32{0x011570b8, 0x032f7ef5, 0x038fb037, 0x02c01447, 0x020267a4, 0x01377ea3, 0x01787455, 0x02148d8f, 0x0221e3a7, 0x00149f33}}}, + {X: Field{[10]uint32{0x0184cf74, 0x02870956, 0x01f10aa1, 0x0116fbd8, 0x000735ae, 0x00b50e0f, 0x02214dde, 0x0238d706, 0x0023d90c, 0x00305723}}, Y: Field{[10]uint32{0x01ccb000, 0x0123360e, 0x015a2c4a, 0x00b542c0, 0x0247bf77, 0x0097f5ee, 0x01c6f45e, 0x0088d723, 0x00d82852, 0x000aea55}}}, + {X: Field{[10]uint32{0x034fcc0e, 0x01afdab0, 0x0084c47b, 0x0290af8e, 0x00927f10, 0x01f49672, 0x025b80e2, 0x037b0ac2, 0x02fae1ed, 0x00113f23}}, Y: Field{[10]uint32{0x019c420a, 0x03c0c79c, 0x0089d9cf, 0x0292f341, 0x03720e94, 0x020cf4f5, 0x01267e78, 0x004d9f92, 0x0294ba9b, 0x0034b1f7}}}, + {X: Field{[10]uint32{0x0142dea9, 0x004fc3a2, 0x03130584, 0x0232e2df, 0x02ab35a9, 0x0182a1ff, 0x006ad8ba, 0x0176d9e5, 0x02133428, 0x000559a1}}, Y: Field{[10]uint32{0x027be3df, 0x0151bc0d, 0x02dcbf92, 0x01a22c8f, 0x02de4828, 0x02c83f48, 0x02894eff, 0x03c14413, 0x03aa0e82, 0x0013cd65}}}, + {X: Field{[10]uint32{0x03b69991, 0x01207f22, 0x03175d5a, 0x028b0cc1, 0x01fffb3f, 0x0380bd4d, 0x02a16620, 0x01ef1a19, 0x0247bace, 0x0037a8ae}}, Y: Field{[10]uint32{0x016fe2df, 0x01d0aa7c, 0x019bc706, 0x02cd887b, 0x03229dcd, 0x013dee79, 0x01cbfec8, 0x00a392b1, 0x03d6d90c, 0x002b8a2f}}}, + {X: Field{[10]uint32{0x036bcfe8, 0x03b58794, 0x03bb3e61, 0x027b5a6d, 0x020e0c17, 0x001acc66, 0x02ca8f23, 0x02666d1c, 0x00bc1cc6, 0x0004ccbe}}, Y: Field{[10]uint32{0x02e78402, 0x00374b36, 0x0021451b, 0x009356a3, 0x01ba93b4, 0x017701a0, 0x0367c453, 0x00bb5c4f, 0x03ee2960, 0x0030e771}}}, + {X: Field{[10]uint32{0x014fc9cc, 0x01034094, 0x021658c2, 0x02f0a691, 0x0226d00a, 0x012e2a0d, 0x001cf6cc, 0x01a35bbf, 0x0098a6e1, 0x000e5a3f}}, Y: Field{[10]uint32{0x03ad37dd, 0x00e52257, 0x03334019, 0x01dbfe23, 0x011a1465, 0x02ab4cb2, 0x037982d1, 0x0164a048, 0x03d0db4b, 0x001e272e}}}, + {X: Field{[10]uint32{0x00cc84bf, 0x00ebcf85, 0x01f27c02, 0x01b7bae8, 0x0380bf1d, 0x030a9254, 0x00e37159, 0x00205a0c, 0x01364e54, 0x002d775a}}, Y: Field{[10]uint32{0x0374750c, 0x01485f38, 0x01a90c78, 0x037b75ac, 0x01353110, 0x01635051, 0x0118733c, 0x032dadaf, 0x005853c7, 0x0012cdbb}}}, + {X: Field{[10]uint32{0x020c85f1, 0x0308646b, 0x03a250ae, 0x014d80e8, 0x01a6a52e, 0x015e5175, 0x0325df09, 0x01a8a49a, 0x010698e0, 0x001a25a4}}, Y: Field{[10]uint32{0x01c1de21, 0x01208ccb, 0x003922c7, 0x02768354, 0x011f40c1, 0x021175cb, 0x03305c1d, 0x025e495b, 0x03b4b38c, 0x002bbf4f}}}, + {X: Field{[10]uint32{0x00c82a0a, 0x02566bd8, 0x00832ffd, 0x03183d9a, 0x010f9226, 0x006504ec, 0x006c9f19, 0x022291ac, 0x03809b19, 0x0002522f}}, Y: Field{[10]uint32{0x00c8e589, 0x02dfe236, 0x012bed4c, 0x002325f3, 0x006d4dff, 0x0070d063, 0x02b74c5d, 0x01991b71, 0x02856dcb, 0x0014e958}}}, + }, + { + {X: Field{[10]uint32{0x00c82a0a, 0x02566bd8, 0x00832ffd, 0x03183d9a, 0x010f9226, 0x006504ec, 0x006c9f19, 0x022291ac, 0x03809b19, 0x0002522f}}, Y: Field{[10]uint32{0x00c8e589, 0x02dfe236, 0x012bed4c, 0x002325f3, 0x006d4dff, 0x0070d063, 0x02b74c5d, 0x01991b71, 0x02856dcb, 0x0014e958}}}, + {X: Field{[10]uint32{0x028b000a, 0x03ac115f, 0x01e51396, 0x00cc7a09, 0x02ef16c1, 0x00a47c2d, 0x01ce4c66, 0x0164d835, 0x007f372e, 0x0009a54b}}, Y: Field{[10]uint32{0x01ef705a, 0x035007c1, 0x027318c3, 0x023d94f5, 0x02debe39, 0x035a2108, 0x03c893d2, 0x029a218a, 0x024c5800, 0x003d44fa}}}, + {X: Field{[10]uint32{0x00c8ac7f, 0x00bf97ee, 0x02a52728, 0x03b9978a, 0x01641242, 0x0015be12, 0x003396d2, 0x00aef2d7, 0x02fbe382, 0x0026516c}}, Y: Field{[10]uint32{0x01aea3b0, 0x0250e85a, 0x00dfa96d, 0x008fbb6b, 0x01282f7a, 0x02ca3bfd, 0x03db44ff, 0x00a0b581, 0x01824b0f, 0x000fbbfb}}}, + {X: Field{[10]uint32{0x02134f96, 0x0096225d, 0x030e9f10, 0x0195cb5a, 0x03f52119, 0x00c7fc90, 0x032be8b1, 0x0316f6fb, 0x00e6fc23, 0x00318b96}}, Y: Field{[10]uint32{0x014cf97e, 0x01dfb534, 0x01c3e822, 0x00d58dcc, 0x01bcfb85, 0x00c507f1, 0x03d67675, 0x02859e30, 0x027d45b1, 0x0010e5e0}}}, + {X: Field{[10]uint32{0x029e353a, 0x035e78e5, 0x021f6ed1, 0x00214aef, 0x0210a044, 0x0041f57f, 0x01f82227, 0x01c3988d, 0x006b2058, 0x000a8c53}}, Y: Field{[10]uint32{0x01746067, 0x0249b879, 0x018bfc25, 0x02ab6c99, 0x00138a54, 0x02ea86e8, 0x0063e476, 0x009eb069, 0x000bf35a, 0x0005692b}}}, + {X: Field{[10]uint32{0x02fccf64, 0x02926624, 0x0318e3ba, 0x03789604, 0x033bd278, 0x01f2576f, 0x028772c7, 0x018df6c1, 0x015c0eb4, 0x00031f44}}, Y: Field{[10]uint32{0x0078fee0, 0x01b4ecca, 0x0268d53f, 0x020e566b, 0x0148785d, 0x01e2bc51, 0x02424b84, 0x02c111ea, 0x007b1925, 0x0012aa1d}}}, + {X: Field{[10]uint32{0x01b84966, 0x00bd27ba, 0x03ff989e, 0x001b75fc, 0x011b4f41, 0x029adb24, 0x00b6faf3, 0x03f0b526, 0x0100b703, 0x00165669}}, Y: Field{[10]uint32{0x03473a6a, 0x0198c861, 0x0242640a, 0x030233f8, 0x009100dc, 0x03720a9c, 0x00312820, 0x02a25fe5, 0x02741f5c, 0x0000dc39}}}, + {X: Field{[10]uint32{0x03188cbb, 0x01be2002, 0x01e97368, 0x0080201f, 0x00b81c03, 0x005988ac, 0x003329a7, 0x0171d05a, 0x00520eec, 0x00041d18}}, Y: Field{[10]uint32{0x03272124, 0x01ed8d87, 0x03da601d, 0x01d23738, 0x01242e0d, 0x033d5284, 0x0326b9b9, 0x016630d4, 0x00c09a21, 0x002af975}}}, + {X: Field{[10]uint32{0x03c6b173, 0x0326e48a, 0x03feb3b0, 0x00f1fbb4, 0x017dd862, 0x0016d7e7, 0x0160c463, 0x00bfa384, 0x01393722, 0x0027bacc}}, Y: Field{[10]uint32{0x0323a71d, 0x02588365, 0x00c4b953, 0x02fb439c, 0x030ea71a, 0x02ee86b8, 0x02aabfdb, 0x03563654, 0x01e0110e, 0x0038487c}}}, + {X: Field{[10]uint32{0x02d2cf25, 0x03a6f24a, 0x03a94457, 0x0136f249, 0x037ba49b, 0x009ecf0b, 0x011e80ba, 0x02a72c63, 0x029bf3da, 0x00148366}}, Y: Field{[10]uint32{0x0285181f, 0x02db20e8, 0x030c7610, 0x019446fd, 0x022bab0b, 0x012ea5c1, 0x030ae71b, 0x007ab923, 0x009b1027, 0x003949bd}}}, + {X: Field{[10]uint32{0x02c805f3, 0x00910fdf, 0x01591577, 0x01d42766, 0x007de40f, 0x001ba5e2, 0x02bb2388, 0x0063d45b, 0x03e4c7f7, 0x000e7313}}, Y: Field{[10]uint32{0x023c48d3, 0x0068304e, 0x012e4d19, 0x00dcff24, 0x01bbb957, 0x03d0b79f, 0x01e6693c, 0x03e3cc54, 0x032c5a46, 0x003b2c51}}}, + {X: Field{[10]uint32{0x008d5622, 0x02baeb15, 0x03d2e8b5, 0x03bde946, 0x03e1db07, 0x02fcce06, 0x01586a81, 0x0254d68e, 0x011e6168, 0x0017f1b0}}, Y: Field{[10]uint32{0x01ac1683, 0x03610040, 0x03f300d0, 0x00239b1e, 0x030e05ad, 0x000d9eb2, 0x019ba2db, 0x03676e70, 0x02549aa1, 0x00043a03}}}, + {X: Field{[10]uint32{0x0222580e, 0x018bed73, 0x0388793d, 0x025b4b5b, 0x02c71328, 0x0136f534, 0x012ffde6, 0x0371a5a2, 0x007466ec, 0x003e5320}}, Y: Field{[10]uint32{0x0127db82, 0x0148fd9c, 0x01d4e81e, 0x0114c8dc, 0x029887ec, 0x02d6a07d, 0x014bff6a, 0x00896a46, 0x03dc6785, 0x0017a71f}}}, + {X: Field{[10]uint32{0x00a3d8a5, 0x02ad81f0, 0x02f99123, 0x01a115cf, 0x0126d77d, 0x00fb426b, 0x031274a3, 0x035ba4d0, 0x03e5d872, 0x0016a90c}}, Y: Field{[10]uint32{0x013c2ba7, 0x03dfbddb, 0x02ef4fb5, 0x03d4b675, 0x0116475c, 0x01ca2958, 0x02394aec, 0x039e6866, 0x01fc682a, 0x003773a8}}}, + {X: Field{[10]uint32{0x00c4f21f, 0x0102eb44, 0x01a7a6be, 0x0165340f, 0x025024a9, 0x02c66674, 0x0002068d, 0x03458bf3, 0x006c6ad5, 0x0023332e}}, Y: Field{[10]uint32{0x029dfea0, 0x0049ba9c, 0x03e28f7f, 0x02b20992, 0x014b92dc, 0x0321d629, 0x01bef549, 0x00710da6, 0x02586275, 0x0015fe25}}}, + {X: Field{[10]uint32{0x038fd8e8, 0x0336067c, 0x0352acce, 0x0137f1a5, 0x00f1b0e4, 0x000a1cea, 0x0067ce0f, 0x00070d3c, 0x027f4618, 0x00189833}}, Y: Field{[10]uint32{0x02b4ae17, 0x0213a56c, 0x00198c1a, 0x008e0147, 0x03ecd292, 0x01da87bd, 0x03090497, 0x02d5c69f, 0x002b6fa5, 0x002f0b6a}}}, + }, + { + {X: Field{[10]uint32{0x038fd8e8, 0x0336067c, 0x0352acce, 0x0137f1a5, 0x00f1b0e4, 0x000a1cea, 0x0067ce0f, 0x00070d3c, 0x027f4618, 0x00189833}}, Y: Field{[10]uint32{0x02b4ae17, 0x0213a56c, 0x00198c1a, 0x008e0147, 0x03ecd292, 0x01da87bd, 0x03090497, 0x02d5c69f, 0x002b6fa5, 0x002f0b6a}}}, + {X: Field{[10]uint32{0x01477c2d, 0x019d1bcf, 0x0127e076, 0x01465aab, 0x0316e65c, 0x0213c684, 0x008409be, 0x0069cf7b, 0x024748ad, 0x00217636}}, Y: Field{[10]uint32{0x03d1dd70, 0x02605bf1, 0x015a6207, 0x0080cf13, 0x0094b0a0, 0x007bf1ef, 0x02b53653, 0x019a4161, 0x0353665c, 0x00162522}}}, + {X: Field{[10]uint32{0x01136602, 0x02e91950, 0x03a5bbb0, 0x01203678, 0x0138c46f, 0x008ccecf, 0x0058937f, 0x037f0cf4, 0x03280482, 0x0021f449}}, Y: Field{[10]uint32{0x00af6aac, 0x020f1076, 0x03f7c4f6, 0x01d1bf4e, 0x0387a884, 0x03d9dd14, 0x02a276cf, 0x000f7a49, 0x00870a5a, 0x001c7389}}}, + {X: Field{[10]uint32{0x000b80d9, 0x000c4b5b, 0x007f0485, 0x00403f71, 0x024d1e7e, 0x030fb8fb, 0x00892e9c, 0x012e5a30, 0x0166e7ec, 0x00238a9c}}, Y: Field{[10]uint32{0x02b29f50, 0x0187cab5, 0x0349a49c, 0x02235c18, 0x005297b6, 0x005aa752, 0x02dd29b7, 0x02f964b3, 0x03a9ae2c, 0x003ab6c2}}}, + {X: Field{[10]uint32{0x00c5a916, 0x00175cd2, 0x010f25b2, 0x00354d58, 0x013f5c44, 0x02ad52a8, 0x00acc63d, 0x03a5d1ac, 0x013fe261, 0x003f575f}}, Y: Field{[10]uint32{0x02db8bda, 0x02cdec1e, 0x02faab14, 0x0052f73d, 0x03e5d738, 0x0271ed4b, 0x0343ca67, 0x016c1f4a, 0x02d0eeb5, 0x0003760f}}}, + {X: Field{[10]uint32{0x00e74459, 0x028d722c, 0x036dd674, 0x018e1f76, 0x01fef237, 0x004f22a4, 0x00f46587, 0x015a0164, 0x001d4ec0, 0x000a37de}}, Y: Field{[10]uint32{0x035e656f, 0x001f303b, 0x02f0a8de, 0x029406b9, 0x00a3795b, 0x003c89e5, 0x00db1789, 0x003c5f2c, 0x02a66a13, 0x003c5267}}}, + {X: Field{[10]uint32{0x01f7529c, 0x0264258d, 0x011dd45d, 0x0262d6f5, 0x0138765b, 0x034d10e0, 0x02453c32, 0x009848ae, 0x0010981c, 0x00378375}}, Y: Field{[10]uint32{0x00cd88fe, 0x008300b9, 0x0374063c, 0x031a226d, 0x00178924, 0x035e8d5c, 0x02109822, 0x00517e6c, 0x029d10a2, 0x0035c29b}}}, + {X: Field{[10]uint32{0x004561be, 0x007e8f4b, 0x0190f992, 0x03a04d67, 0x00ee4ab2, 0x01e3e254, 0x00366ecd, 0x03d63b72, 0x035842bf, 0x001da6f1}}, Y: Field{[10]uint32{0x00d9685f, 0x0082ffec, 0x033add59, 0x01d9ede1, 0x0341a177, 0x01cfd751, 0x01ce4cef, 0x020eeb23, 0x03362fe7, 0x0012fe05}}}, + {X: Field{[10]uint32{0x00f76d11, 0x00bd234e, 0x015573c8, 0x003efe14, 0x02151100, 0x0270a4a8, 0x005befc3, 0x03d139a7, 0x008ada4c, 0x002c9b08}}, Y: Field{[10]uint32{0x03b7356b, 0x03002c78, 0x0224bdc1, 0x01967609, 0x03050030, 0x0033590c, 0x004e87d9, 0x034cf3c3, 0x00820949, 0x0007c73e}}}, + {X: Field{[10]uint32{0x008e129e, 0x00e76825, 0x01b10312, 0x02cb00a2, 0x032bd1df, 0x0394f0b7, 0x00f8de28, 0x0133debc, 0x00efb7b2, 0x0019b8ff}}, Y: Field{[10]uint32{0x02e7bbea, 0x02f0d80b, 0x03b5172b, 0x027b4694, 0x035fd7d9, 0x0337e032, 0x00b5bf34, 0x0303d966, 0x034fb770, 0x00082fe2}}}, + {X: Field{[10]uint32{0x029e22db, 0x038ec199, 0x00933f94, 0x03d67e72, 0x02ac993f, 0x00630a53, 0x023bd290, 0x03d48e9f, 0x00b8fc7f, 0x003f3ac5}}, Y: Field{[10]uint32{0x002260a1, 0x01cb6c97, 0x03e4cbf5, 0x01e4e93a, 0x00ad550e, 0x0097c249, 0x018a5a75, 0x02e347f3, 0x033a40d6, 0x00192a9a}}}, + {X: Field{[10]uint32{0x01c71143, 0x0367714a, 0x017ea346, 0x02b113c1, 0x012e7ead, 0x0008fe8d, 0x027ccf90, 0x03a840f2, 0x039622bb, 0x0003ad17}}, Y: Field{[10]uint32{0x0370b136, 0x02336882, 0x01bf4c8a, 0x03a9a8ac, 0x03d65969, 0x00078a15, 0x03601f59, 0x02f43d5c, 0x03585838, 0x0014b10b}}}, + {X: Field{[10]uint32{0x038a2755, 0x02105e68, 0x005506f0, 0x01c59527, 0x0253721a, 0x02d41fea, 0x00175774, 0x0172b157, 0x02623ccd, 0x0013a426}}, Y: Field{[10]uint32{0x03cca3de, 0x02927d88, 0x0000caf7, 0x025348a6, 0x03b6cd53, 0x001d5676, 0x03246dd5, 0x00d6bb3b, 0x02878cce, 0x002b95b6}}}, + {X: Field{[10]uint32{0x0007d7c8, 0x0345234f, 0x0232f00c, 0x01d7e0a7, 0x01e0f196, 0x03cf5226, 0x0070411b, 0x02dcf5a1, 0x008ab230, 0x000f3e48}}, Y: Field{[10]uint32{0x024cee08, 0x02a476b6, 0x0059c0c4, 0x032356e3, 0x009d4684, 0x017059c8, 0x02ce6ca6, 0x02197547, 0x024c15af, 0x003780f1}}}, + {X: Field{[10]uint32{0x003ba64d, 0x01625666, 0x015a3a82, 0x01de2316, 0x02bde60f, 0x02e39038, 0x030a145e, 0x01300efe, 0x015c22e0, 0x0030d9d1}}, Y: Field{[10]uint32{0x022181fd, 0x03323e5a, 0x00f14614, 0x02b285de, 0x0342626a, 0x01365931, 0x00e0e6e8, 0x0180cc20, 0x02d069cb, 0x000e9482}}}, + {X: Field{[10]uint32{0x0037fa2d, 0x00f32348, 0x01c43295, 0x03d5d6ff, 0x03043ec8, 0x02efd040, 0x00348414, 0x036350f6, 0x01e0afc1, 0x003940df}}, Y: Field{[10]uint32{0x01755bda, 0x01772107, 0x01f10e0e, 0x000fb120, 0x01bd5f5b, 0x02e642f7, 0x0398d09f, 0x034ed7e7, 0x034baa94, 0x00115c54}}}, + }, + { + {X: Field{[10]uint32{0x0037fa2d, 0x00f32348, 0x01c43295, 0x03d5d6ff, 0x03043ec8, 0x02efd040, 0x00348414, 0x036350f6, 0x01e0afc1, 0x003940df}}, Y: Field{[10]uint32{0x01755bda, 0x01772107, 0x01f10e0e, 0x000fb120, 0x01bd5f5b, 0x02e642f7, 0x0398d09f, 0x034ed7e7, 0x034baa94, 0x00115c54}}}, + {X: Field{[10]uint32{0x023d34ef, 0x00f231e7, 0x02ddb8c6, 0x01f1e4a8, 0x02c3ab21, 0x00b586cf, 0x00b6cf7d, 0x015253d0, 0x01a467fd, 0x00297803}}, Y: Field{[10]uint32{0x037adb4c, 0x0171738b, 0x000acb85, 0x03f9e424, 0x025b60dc, 0x026fd0f4, 0x01726fe9, 0x02155508, 0x01f5e560, 0x000263f9}}}, + {X: Field{[10]uint32{0x037e7775, 0x02a29b85, 0x015f6388, 0x024e23b6, 0x02b5e155, 0x03d4a46b, 0x00543bac, 0x00cf3b96, 0x023aff96, 0x0027625a}}, Y: Field{[10]uint32{0x02056691, 0x03db4eae, 0x0253befc, 0x01fb8a64, 0x01e899cd, 0x0094249f, 0x02964ed7, 0x02fc2e53, 0x01e43f49, 0x0037646a}}}, + {X: Field{[10]uint32{0x03b91252, 0x00dc5835, 0x0172ae67, 0x00b911dd, 0x006d4afd, 0x0326fef1, 0x019f4bb1, 0x00ad00d4, 0x01f5ef3a, 0x002a6505}}, Y: Field{[10]uint32{0x03edc264, 0x00ddeb12, 0x00ddd73a, 0x02b5643d, 0x02899a16, 0x013dbdad, 0x022f10f2, 0x03e12ee7, 0x024cae81, 0x0020b439}}}, + {X: Field{[10]uint32{0x002a3293, 0x0381378f, 0x0076c5fd, 0x01bba40d, 0x015688b8, 0x00a0bd33, 0x02b0a573, 0x00de4b43, 0x00ee7116, 0x0020c9ee}}, Y: Field{[10]uint32{0x020df9bd, 0x02153863, 0x02a416bc, 0x02d3b8c9, 0x0096afda, 0x009e5c21, 0x03b3ea66, 0x02a63862, 0x02266ee0, 0x0001265f}}}, + {X: Field{[10]uint32{0x00904ed3, 0x015fc7a3, 0x01784159, 0x01624161, 0x00df2a74, 0x0049c8e1, 0x03f8e643, 0x00637fe5, 0x002d2db8, 0x000033e3}}, Y: Field{[10]uint32{0x016f77c1, 0x02658ede, 0x02827b00, 0x01e74cbd, 0x0122991d, 0x0146f604, 0x01d5c1bd, 0x03510467, 0x000ea781, 0x002aab40}}}, + {X: Field{[10]uint32{0x0162c042, 0x006c9b11, 0x03b1a242, 0x008d2e37, 0x02092d23, 0x03e6a3b5, 0x016661d8, 0x02c5a25f, 0x02aa2a6d, 0x0016b90a}}, Y: Field{[10]uint32{0x0379269c, 0x017337e3, 0x018dbf90, 0x025441f3, 0x0294e0db, 0x000e2752, 0x01c1ddc6, 0x00147aad, 0x027c05ff, 0x0026764e}}}, + {X: Field{[10]uint32{0x02540f17, 0x01196d9a, 0x0132bd8c, 0x01c17c30, 0x004c750d, 0x023e4d7e, 0x00edde09, 0x0347f1f6, 0x029f9e4f, 0x002d5bd3}}, Y: Field{[10]uint32{0x0200102d, 0x00bf2b80, 0x0285446a, 0x018f2f32, 0x0121d429, 0x00160b47, 0x01c11adf, 0x02a15b4f, 0x013429cc, 0x000cba39}}}, + {X: Field{[10]uint32{0x0285af61, 0x02204a17, 0x02766b34, 0x008b752b, 0x034e8ed7, 0x01b086c3, 0x02eb68ff, 0x0323ad66, 0x02e426a1, 0x0024b08e}}, Y: Field{[10]uint32{0x036a2b09, 0x008d9a70, 0x02fed4e7, 0x020ad8a1, 0x012d23ad, 0x01ce355e, 0x03217d5c, 0x006ed027, 0x008f0155, 0x0010533e}}}, + {X: Field{[10]uint32{0x01e5d1b3, 0x02a92096, 0x02a3e280, 0x0227f5b2, 0x0048c9b7, 0x003f36cc, 0x027e4c6f, 0x0120ef47, 0x0151caf6, 0x000eae94}}, Y: Field{[10]uint32{0x02f30087, 0x02d9e350, 0x02ee6a85, 0x01674b79, 0x01e18463, 0x01f5cb32, 0x024ec804, 0x01474241, 0x0223bff2, 0x0023079c}}}, + {X: Field{[10]uint32{0x03b5eba8, 0x02bc6cb1, 0x02a36ce2, 0x031fe463, 0x022dabed, 0x02be37d0, 0x010f4176, 0x037c4223, 0x008c76af, 0x003fb958}}, Y: Field{[10]uint32{0x010b9b5c, 0x00574da3, 0x014793f5, 0x010afe41, 0x02e380ff, 0x00a1f053, 0x01402f99, 0x0162bec4, 0x019134fe, 0x000e01d6}}}, + {X: Field{[10]uint32{0x00f8cffd, 0x02d66223, 0x01ae61b2, 0x0056de91, 0x01432e6b, 0x01e6f762, 0x01afb88f, 0x02306f51, 0x037f1fe7, 0x00002026}}, Y: Field{[10]uint32{0x01b5f32f, 0x03516863, 0x01f93d91, 0x03eb64ae, 0x0112a340, 0x0394bf72, 0x008c836d, 0x02a18c0a, 0x0022bf41, 0x003e05f8}}}, + {X: Field{[10]uint32{0x0063caf4, 0x00ee92cf, 0x03d5281e, 0x02aca3d4, 0x00a28ff3, 0x018a9abf, 0x02113b4c, 0x019f9882, 0x00eb92e6, 0x0010b951}}, Y: Field{[10]uint32{0x029c29c8, 0x02bb0265, 0x005f1187, 0x01edafbf, 0x0073a50e, 0x01d0579e, 0x01f220c1, 0x0319c7dc, 0x00e0f91c, 0x0027fe15}}}, + {X: Field{[10]uint32{0x03ed9ef9, 0x006417bd, 0x0063d6c6, 0x02803bc3, 0x02ad2ba5, 0x01ff064a, 0x01f78494, 0x03529d07, 0x02ddd352, 0x000cb779}}, Y: Field{[10]uint32{0x031fb871, 0x02e11a00, 0x034b21ab, 0x00de7263, 0x0059ec1b, 0x0356307d, 0x036a4f94, 0x019ef388, 0x03dc3420, 0x0010745e}}}, + {X: Field{[10]uint32{0x020f09a1, 0x00af6617, 0x0328380a, 0x03c6e500, 0x02f0a109, 0x011c03bf, 0x0196ed2a, 0x00b38e0e, 0x03b66553, 0x001ebb60}}, Y: Field{[10]uint32{0x01857d73, 0x036337a1, 0x00a54045, 0x00c03cfd, 0x02d88b2f, 0x0040cb63, 0x01afd0ab, 0x03bdf1f7, 0x005f9a31, 0x003d6e15}}}, + {X: Field{[10]uint32{0x00fce725, 0x019a82b9, 0x005b7258, 0x03471a9b, 0x00e7e8db, 0x03c5dc6d, 0x02a905e8, 0x001eb7d7, 0x02b0f4a2, 0x003818dc}}, Y: Field{[10]uint32{0x02ee31dd, 0x000d3e53, 0x00870b27, 0x01de1c41, 0x00d7484a, 0x03569223, 0x0227bb2a, 0x0233f84a, 0x0174bce1, 0x001ea422}}}, + }, + { + {X: Field{[10]uint32{0x00fce725, 0x019a82b9, 0x005b7258, 0x03471a9b, 0x00e7e8db, 0x03c5dc6d, 0x02a905e8, 0x001eb7d7, 0x02b0f4a2, 0x003818dc}}, Y: Field{[10]uint32{0x02ee31dd, 0x000d3e53, 0x00870b27, 0x01de1c41, 0x00d7484a, 0x03569223, 0x0227bb2a, 0x0233f84a, 0x0174bce1, 0x001ea422}}}, + {X: Field{[10]uint32{0x02d2ff3e, 0x026bb90f, 0x02d3cfe0, 0x036d3b1b, 0x00045ebf, 0x03eb4fcf, 0x00dbd304, 0x01ae3e72, 0x034ca204, 0x0003ab04}}, Y: Field{[10]uint32{0x01210988, 0x0081881f, 0x01376e17, 0x025adfc8, 0x01ac19f6, 0x00ac45e6, 0x03f103bf, 0x026d0916, 0x01be7935, 0x001258c3}}}, + {X: Field{[10]uint32{0x02328d6a, 0x02a06236, 0x0018bdba, 0x00ea56b7, 0x03b24d77, 0x016c23e9, 0x00689918, 0x0138028d, 0x005ba623, 0x003198f0}}, Y: Field{[10]uint32{0x02c9b8c0, 0x002edaaf, 0x039cc23b, 0x03a944af, 0x03dd8551, 0x01d5c4c5, 0x01afdcf2, 0x0070e34e, 0x018d5f72, 0x000ccc7a}}}, + {X: Field{[10]uint32{0x03bfa4dc, 0x01c1b937, 0x01b17476, 0x01e01321, 0x03f5948a, 0x02b6ed07, 0x012119d7, 0x03a8660e, 0x0190731f, 0x00359e21}}, Y: Field{[10]uint32{0x013b5406, 0x02f35aef, 0x0207cca7, 0x03137726, 0x026206f1, 0x008704ea, 0x00ef5c6d, 0x018f1250, 0x00c89d50, 0x000a3aaa}}}, + {X: Field{[10]uint32{0x0196de2f, 0x0072120e, 0x01114bc9, 0x00bb82c9, 0x0177cedf, 0x0283f93a, 0x02b30dee, 0x01a91673, 0x0282dfb8, 0x0034ff09}}, Y: Field{[10]uint32{0x00526f8c, 0x02489075, 0x03f168c4, 0x02637dea, 0x024e59b4, 0x013de076, 0x00b4754d, 0x002863da, 0x0399a45f, 0x00313c37}}}, + {X: Field{[10]uint32{0x02143fb0, 0x00d69958, 0x005dd6dc, 0x020c2f08, 0x03a9fb92, 0x011e6565, 0x03aff339, 0x020de433, 0x001c33af, 0x000a4ab7}}, Y: Field{[10]uint32{0x036ad01c, 0x036d8f38, 0x01d4d8a9, 0x00b5cd7a, 0x02d83e66, 0x03313b3d, 0x031968a0, 0x02d91fcf, 0x021bcee0, 0x00281c99}}}, + {X: Field{[10]uint32{0x03e697ea, 0x03123440, 0x003e85c6, 0x03ee617e, 0x019ce678, 0x028feaf4, 0x00a1fec9, 0x03008df7, 0x0343feb2, 0x00305e92}}, Y: Field{[10]uint32{0x02dc6c87, 0x00ee1f77, 0x002ab0ee, 0x02d5fe7c, 0x0296e1a1, 0x025807eb, 0x02178f71, 0x0165532b, 0x002d55ab, 0x000e4d57}}}, + {X: Field{[10]uint32{0x008ff9b3, 0x017ed039, 0x0301a727, 0x00815666, 0x03c7b1a6, 0x00adc752, 0x03f210f1, 0x01025d2a, 0x00cbd9a0, 0x001a4c3f}}, Y: Field{[10]uint32{0x02e96a4e, 0x036ad7e3, 0x0051acfd, 0x004f92b3, 0x00090f9b, 0x01d7db5e, 0x030fcdb8, 0x0007ab68, 0x0294b947, 0x001fc0ab}}}, + {X: Field{[10]uint32{0x0163da1b, 0x00b0c08c, 0x0231182d, 0x03983e4e, 0x029a0ede, 0x03f047f7, 0x009349d7, 0x0242d1a3, 0x037ca267, 0x0023d862}}, Y: Field{[10]uint32{0x03bdd76e, 0x00c48440, 0x036e7c7f, 0x01a8c926, 0x026450c6, 0x01eb1690, 0x03bda74d, 0x03adbad7, 0x0325f08b, 0x001e08cf}}}, + {X: Field{[10]uint32{0x010cec10, 0x02c26d53, 0x016b084f, 0x03f2ab7b, 0x02ba25f0, 0x00b4f39c, 0x02b0e61b, 0x0079a6ba, 0x029ca332, 0x0013654a}}, Y: Field{[10]uint32{0x03d06932, 0x00dac4ee, 0x014da8ee, 0x037f213d, 0x02ba4aa2, 0x01ed72d3, 0x002aec78, 0x009e7915, 0x004a66dd, 0x002c5e06}}}, + {X: Field{[10]uint32{0x02c8ae90, 0x01643f83, 0x005deee8, 0x024ba2ef, 0x00cfb26b, 0x0320fc6e, 0x02d5b8da, 0x0079bae1, 0x00f15b7a, 0x0025e630}}, Y: Field{[10]uint32{0x012844d3, 0x02b0bab9, 0x008e27a9, 0x016f40c6, 0x02e2e496, 0x03e71cef, 0x02ec9494, 0x00bb4f74, 0x02aa75a4, 0x002e9038}}}, + {X: Field{[10]uint32{0x00b90e0b, 0x03079b0c, 0x00a4589e, 0x00e7ec25, 0x03d6ff1d, 0x02719d6c, 0x01c804a5, 0x019f4ffb, 0x03f9ad54, 0x00290d41}}, Y: Field{[10]uint32{0x021fdc20, 0x0002e64e, 0x01b5a3f0, 0x00d94d66, 0x00dc2a20, 0x0102fa30, 0x02d07ccb, 0x035c6850, 0x01c94c3f, 0x001f23cb}}}, + {X: Field{[10]uint32{0x01d66b7f, 0x0065e3c4, 0x01c8105a, 0x0141461f, 0x017aa692, 0x0224a11d, 0x00f1b90b, 0x00b59d1f, 0x02e3fb5a, 0x003f7e9b}}, Y: Field{[10]uint32{0x00e5178b, 0x023e019e, 0x00de9daa, 0x03744f5e, 0x00d846f9, 0x00f68631, 0x000c1c9a, 0x02636e4f, 0x031e2249, 0x0013673c}}}, + {X: Field{[10]uint32{0x01c0d7ad, 0x01ad6196, 0x0093ab83, 0x036de8ad, 0x011ddb64, 0x01d2799c, 0x0211ca1a, 0x03eeebbf, 0x02cd4b7b, 0x001cac13}}, Y: Field{[10]uint32{0x0323cd97, 0x039bfd19, 0x034fb2ef, 0x01a0771b, 0x0196265d, 0x0364d340, 0x01d452d6, 0x028d633b, 0x03ea0e64, 0x001a196c}}}, + {X: Field{[10]uint32{0x0265bcf0, 0x01d5e124, 0x03d30b80, 0x01e10471, 0x0269ce2b, 0x0073c883, 0x01ea9a46, 0x02790eb7, 0x0238de22, 0x003f5633}}, Y: Field{[10]uint32{0x03996292, 0x039ea73a, 0x00d1df33, 0x03f8a3c7, 0x0387261b, 0x0121793e, 0x0382ab9a, 0x00856f54, 0x01e53763, 0x003ff829}}}, + {X: Field{[10]uint32{0x00559754, 0x035a4234, 0x0358540a, 0x03778a8f, 0x0204b10b, 0x03033808, 0x010bbf9d, 0x03514d63, 0x02715cd5, 0x00084f1e}}, Y: Field{[10]uint32{0x00b458f2, 0x00b09d4d, 0x03eeddff, 0x03d7cda9, 0x00bb4850, 0x0116e864, 0x013ad062, 0x018941c0, 0x010b5ae4, 0x0012db6b}}}, + }, + { + {X: Field{[10]uint32{0x00559754, 0x035a4234, 0x0358540a, 0x03778a8f, 0x0204b10b, 0x03033808, 0x010bbf9d, 0x03514d63, 0x02715cd5, 0x00084f1e}}, Y: Field{[10]uint32{0x00b458f2, 0x00b09d4d, 0x03eeddff, 0x03d7cda9, 0x00bb4850, 0x0116e864, 0x013ad062, 0x018941c0, 0x010b5ae4, 0x0012db6b}}}, + {X: Field{[10]uint32{0x02c87fac, 0x00e25783, 0x03cf0899, 0x01d188b9, 0x020d1ab9, 0x00c8d203, 0x02e9fed8, 0x0269fd9a, 0x008132b4, 0x00071795}}, Y: Field{[10]uint32{0x03c2d4ef, 0x035ecf57, 0x0324c555, 0x03ac9bf8, 0x03a3deac, 0x03530ab4, 0x03959fa1, 0x011a3cae, 0x020f837f, 0x0013ff3d}}}, + {X: Field{[10]uint32{0x0205dccc, 0x03600467, 0x0293e532, 0x03b53066, 0x02ae3fa3, 0x0254f45c, 0x006e096b, 0x0280c255, 0x02e1753d, 0x002e33bd}}, Y: Field{[10]uint32{0x006d5750, 0x012833f3, 0x02813301, 0x030da9ad, 0x01df757f, 0x0134af66, 0x00d4a74e, 0x026efda9, 0x0260a6cc, 0x000c0ae2}}}, + {X: Field{[10]uint32{0x00531dbc, 0x03f2e875, 0x00970e20, 0x0067fb57, 0x021f901c, 0x002ef1f3, 0x036e9421, 0x019a377b, 0x010602c5, 0x001189db}}, Y: Field{[10]uint32{0x0286b8e2, 0x01cc0265, 0x03c99af8, 0x03efff86, 0x01498bad, 0x01c37b66, 0x02922875, 0x01d6e128, 0x0324d44c, 0x000383df}}}, + {X: Field{[10]uint32{0x033bb31a, 0x037fb84d, 0x017b485b, 0x01ad7f6e, 0x01701f7b, 0x03aed7d2, 0x02a0bde2, 0x01ce1780, 0x03e779b4, 0x0000fecc}}, Y: Field{[10]uint32{0x01215c9e, 0x032f9a5f, 0x000d4e34, 0x01db11d9, 0x03c65a7c, 0x02eed5ca, 0x00c161aa, 0x03f8a078, 0x0152548e, 0x003cdab6}}}, + {X: Field{[10]uint32{0x006df50d, 0x03bb405a, 0x012bd0c4, 0x00a871be, 0x00cd5e79, 0x03020818, 0x03d87442, 0x007c0b5b, 0x0230935c, 0x000e95c5}}, Y: Field{[10]uint32{0x0059679b, 0x0162ca3a, 0x01a11d21, 0x007aede0, 0x01e0aaf8, 0x015c2837, 0x02f3ff2e, 0x03ccbd45, 0x0073b599, 0x0021784e}}}, + {X: Field{[10]uint32{0x019a4ab4, 0x01457af7, 0x037c0a5b, 0x0306156e, 0x02717c36, 0x0343de8d, 0x0316f7b4, 0x00f84587, 0x00d109ec, 0x0012c5df}}, Y: Field{[10]uint32{0x035ab6f7, 0x0377f918, 0x01f558aa, 0x0157c5d0, 0x006e37e2, 0x00d89ad2, 0x028f6729, 0x03e997f6, 0x02e9a5e2, 0x000fb259}}}, + {X: Field{[10]uint32{0x022f001d, 0x013bc4d4, 0x01899611, 0x02b371e3, 0x036850e0, 0x030c6458, 0x025eb211, 0x03093d39, 0x00eca7a6, 0x003bfa9a}}, Y: Field{[10]uint32{0x03bc4415, 0x021067dc, 0x00771c12, 0x027ece12, 0x03e41395, 0x00dc6685, 0x0150307a, 0x00f05368, 0x03869d58, 0x002aae11}}}, + {X: Field{[10]uint32{0x001c23a4, 0x01beca6c, 0x01cf56f4, 0x01611e92, 0x01c22a41, 0x026e735d, 0x0203829b, 0x01e81b0a, 0x035206a2, 0x0017a1c0}}, Y: Field{[10]uint32{0x00d986f9, 0x01e65ac4, 0x00fda121, 0x021d2933, 0x01a2171d, 0x038b1b8b, 0x01755d1a, 0x0248879c, 0x004efb9c, 0x0016e599}}}, + {X: Field{[10]uint32{0x0291dc6e, 0x007bc8b0, 0x01fbd8b4, 0x02a537ca, 0x02661fa8, 0x028f8e3c, 0x03136c23, 0x016c9171, 0x0347a3f1, 0x0033c2f7}}, Y: Field{[10]uint32{0x037a8196, 0x00f05136, 0x032a99c7, 0x03f4aed7, 0x02b4fc6c, 0x015e463d, 0x00523b4e, 0x03d44693, 0x001c6e61, 0x000e30b8}}}, + {X: Field{[10]uint32{0x007b0c66, 0x03cd7480, 0x006fb1f3, 0x039195b2, 0x0034a7fe, 0x002b3add, 0x032244f6, 0x01a02911, 0x0301930d, 0x00395170}}, Y: Field{[10]uint32{0x01f2d470, 0x03d5f49c, 0x0239dd87, 0x02386d68, 0x0397e582, 0x02566f2f, 0x01c6fda3, 0x025579f9, 0x000e8c62, 0x00381a8d}}}, + {X: Field{[10]uint32{0x008f7e09, 0x028ad9fe, 0x012cde2a, 0x01e6e9f6, 0x02b3a037, 0x0117702f, 0x00e12e5a, 0x017f2ef6, 0x023d4f20, 0x00179aa1}}, Y: Field{[10]uint32{0x00dfca97, 0x018a19d2, 0x00fe3bbd, 0x00dc8ed3, 0x00a68e50, 0x01a5008d, 0x004a8d1f, 0x023b7f11, 0x02078a38, 0x003095c6}}}, + {X: Field{[10]uint32{0x03648bba, 0x020642e0, 0x007444a5, 0x02c1a70f, 0x0082a0f0, 0x03c06ce6, 0x033ee225, 0x03d60284, 0x02157a54, 0x002ca910}}, Y: Field{[10]uint32{0x00fb6452, 0x03ead280, 0x017bb246, 0x00547270, 0x01c0d855, 0x03ef5f8c, 0x01fbc978, 0x0199867a, 0x03c2b693, 0x003f93d7}}}, + {X: Field{[10]uint32{0x0304ab91, 0x039d78ac, 0x01557679, 0x00650914, 0x0325a40c, 0x02de0470, 0x02383063, 0x00452e29, 0x03ea8fe5, 0x0001e87f}}, Y: Field{[10]uint32{0x0397e554, 0x03d18ed9, 0x01d9d35a, 0x03a86402, 0x01287e5d, 0x00d12965, 0x010437c4, 0x01f151a4, 0x0021b0fd, 0x00384301}}}, + {X: Field{[10]uint32{0x03ab27d0, 0x03748bba, 0x0103fcf6, 0x03e8b114, 0x03f70b41, 0x02365c01, 0x02970191, 0x00e1946e, 0x020f3d45, 0x0006e423}}, Y: Field{[10]uint32{0x00d3d110, 0x0219d790, 0x011b571e, 0x024d61f9, 0x02b5bbca, 0x005f12e6, 0x0357c918, 0x01ad79bc, 0x025eec46, 0x0026db58}}}, + {X: Field{[10]uint32{0x00fbd53c, 0x030e8ec2, 0x02cddf0c, 0x01c2b718, 0x03e2838c, 0x015066a1, 0x03b9352a, 0x02cd3a36, 0x032a7af4, 0x00139f09}}, Y: Field{[10]uint32{0x03dcaae6, 0x00e50605, 0x01d33e0b, 0x0052ffdf, 0x03530b96, 0x037bda06, 0x02fd09f6, 0x002c6385, 0x00766c9d, 0x0005dd27}}}, + }, + { + {X: Field{[10]uint32{0x00fbd53c, 0x030e8ec2, 0x02cddf0c, 0x01c2b718, 0x03e2838c, 0x015066a1, 0x03b9352a, 0x02cd3a36, 0x032a7af4, 0x00139f09}}, Y: Field{[10]uint32{0x03dcaae6, 0x00e50605, 0x01d33e0b, 0x0052ffdf, 0x03530b96, 0x037bda06, 0x02fd09f6, 0x002c6385, 0x00766c9d, 0x0005dd27}}}, + {X: Field{[10]uint32{0x006e1b4d, 0x00879b9f, 0x00790e28, 0x01686fbe, 0x009b11f2, 0x038e1767, 0x00a269f4, 0x02223c9a, 0x03b02696, 0x00226405}}, Y: Field{[10]uint32{0x0014ab2b, 0x02baf6b6, 0x03212009, 0x0303e4ca, 0x02e4e51b, 0x018d62fe, 0x00579833, 0x00d3c2ed, 0x00dab5b3, 0x0010eb8b}}}, + {X: Field{[10]uint32{0x0121b3ff, 0x02611939, 0x0350cee2, 0x005fa6a9, 0x01233c07, 0x026b8929, 0x0244d2be, 0x011571d7, 0x023010c9, 0x00009213}}, Y: Field{[10]uint32{0x0269da7e, 0x02b92e40, 0x008bbcc1, 0x037a48eb, 0x03ad7006, 0x02cb43ba, 0x02c2b3c2, 0x038c341f, 0x00a0aa23, 0x00258674}}}, + {X: Field{[10]uint32{0x025f712f, 0x018d685f, 0x003a8af2, 0x02fe46d6, 0x022831f5, 0x00c89fc3, 0x034728e6, 0x017f52a3, 0x00f76e90, 0x0019fd91}}, Y: Field{[10]uint32{0x007160e5, 0x02b2d79c, 0x02198d68, 0x0223df4d, 0x005e0e14, 0x0161b3de, 0x01adeb7b, 0x017413c1, 0x028f6644, 0x002e0cf5}}}, + {X: Field{[10]uint32{0x004ba7b9, 0x02de7ea0, 0x01751f96, 0x01c0c1d0, 0x0220d6a4, 0x01cb2553, 0x039b70d6, 0x03395fbd, 0x0126cfb6, 0x0005b071}}, Y: Field{[10]uint32{0x005bd741, 0x02f8e947, 0x029cc475, 0x0006f726, 0x02ec755c, 0x0322a537, 0x02627459, 0x0050e418, 0x037c3403, 0x0036c55f}}}, + {X: Field{[10]uint32{0x00692fd1, 0x01825850, 0x00dfe2b2, 0x01b32f64, 0x02dcf43c, 0x02c7c643, 0x00aadef4, 0x03fe0038, 0x00b49901, 0x001394f2}}, Y: Field{[10]uint32{0x028625e0, 0x024c39cc, 0x01753934, 0x03695ff2, 0x01a87a50, 0x01c86768, 0x02cd709a, 0x02807861, 0x024f4d41, 0x00375b8f}}}, + {X: Field{[10]uint32{0x036683fa, 0x01921ea8, 0x00825e83, 0x014e03b0, 0x0295821b, 0x01149ed9, 0x0289ce77, 0x00c6be1e, 0x00d753f9, 0x0000e5cf}}, Y: Field{[10]uint32{0x034a577f, 0x03ecaddf, 0x001dedf5, 0x03863fa6, 0x00d77884, 0x00ad689b, 0x03e12b63, 0x028e8d90, 0x022cc30c, 0x000e33d6}}}, + {X: Field{[10]uint32{0x0389a762, 0x0098fb4e, 0x02b8dc10, 0x00c04bb9, 0x02930dc9, 0x01a2d1c4, 0x000a0549, 0x009557ea, 0x036c9365, 0x000c9fe1}}, Y: Field{[10]uint32{0x01203301, 0x03f6566e, 0x03dfe9c9, 0x01c3faf5, 0x01755350, 0x038665ee, 0x01969255, 0x01009ac2, 0x00eab352, 0x002cb501}}}, + {X: Field{[10]uint32{0x00bf6f06, 0x02ce6670, 0x03b57180, 0x00c89410, 0x01713c13, 0x000815d9, 0x02c04f4b, 0x03c54470, 0x03ba72ec, 0x002e9aa6}}, Y: Field{[10]uint32{0x001db551, 0x02fbdc1e, 0x03aafe32, 0x03deb1a5, 0x029e5d14, 0x01562f63, 0x0020bf2e, 0x0046c0c8, 0x0238b34a, 0x0004ddc7}}}, + {X: Field{[10]uint32{0x01637b39, 0x03c46655, 0x01fa2799, 0x02617b1d, 0x026c52b9, 0x0300c05a, 0x015b9286, 0x02b1730f, 0x01da6b99, 0x00033cf1}}, Y: Field{[10]uint32{0x02852a40, 0x01e8f5e8, 0x01c3cd24, 0x00148f09, 0x0137acd3, 0x00600929, 0x00671adc, 0x026d904d, 0x012fd9f3, 0x0000b3ed}}}, + {X: Field{[10]uint32{0x01231a43, 0x03be7c1c, 0x003b9fd1, 0x035996b5, 0x0344d514, 0x0137910b, 0x02ed9506, 0x01374b62, 0x00cc27cc, 0x000d716f}}, Y: Field{[10]uint32{0x0220c8f6, 0x01cb9145, 0x030ae7db, 0x033018f3, 0x014cf7a4, 0x01be9627, 0x00e5820b, 0x011b39cd, 0x01723b97, 0x00038d9d}}}, + {X: Field{[10]uint32{0x0149827b, 0x038d5f6d, 0x03d6148c, 0x03cf8486, 0x01fcc4f7, 0x038b38c4, 0x0212e06d, 0x01d7cea0, 0x00f5e0d3, 0x003391f4}}, Y: Field{[10]uint32{0x03aed097, 0x032697fb, 0x029df43c, 0x00bfc15d, 0x0329e659, 0x016e6b43, 0x009139fe, 0x00352756, 0x00fb9963, 0x000571a6}}}, + {X: Field{[10]uint32{0x01d40609, 0x002f15bf, 0x00d76bf4, 0x02603607, 0x02c74190, 0x01620d5a, 0x022f12fc, 0x021af284, 0x00245c55, 0x003f51e7}}, Y: Field{[10]uint32{0x0264ca53, 0x00bc4d9a, 0x024739de, 0x035c9872, 0x019113ae, 0x0326107f, 0x00ad7a43, 0x02bfbfcb, 0x03b52694, 0x000c1a73}}}, + {X: Field{[10]uint32{0x0148be00, 0x03f9c55f, 0x03e13b38, 0x03a85a63, 0x03f60682, 0x03e550f1, 0x030e2207, 0x010bcd3a, 0x00bd4a8e, 0x0024c6fe}}, Y: Field{[10]uint32{0x0344f452, 0x01aa44c7, 0x01df5158, 0x01aacccf, 0x026a43ee, 0x00503afb, 0x03388e61, 0x00820f46, 0x03f0489c, 0x003c454e}}}, + {X: Field{[10]uint32{0x03799a7f, 0x01c0bd4a, 0x028424db, 0x03354ee3, 0x004f18b6, 0x03cb1f55, 0x02d8eb9a, 0x036192f7, 0x002a3acc, 0x001b1000}}, Y: Field{[10]uint32{0x03c81e32, 0x03320b34, 0x003f68b5, 0x01320812, 0x01c07abd, 0x0387772f, 0x00b836a0, 0x00d6f9a4, 0x001530b6, 0x002570b7}}}, + {X: Field{[10]uint32{0x00fb27b6, 0x009f8a10, 0x00576324, 0x02caf90c, 0x01c76e3d, 0x005a1aa9, 0x03238ad6, 0x022c6c43, 0x023dbe77, 0x003fa9d3}}, Y: Field{[10]uint32{0x023cb96f, 0x034f6dfc, 0x03b77701, 0x01ae5cfd, 0x03126b59, 0x032dabe4, 0x03674dec, 0x004ca5f3, 0x00db9b0b, 0x001b815a}}}, + }, + { + {X: Field{[10]uint32{0x00fb27b6, 0x009f8a10, 0x00576324, 0x02caf90c, 0x01c76e3d, 0x005a1aa9, 0x03238ad6, 0x022c6c43, 0x023dbe77, 0x003fa9d3}}, Y: Field{[10]uint32{0x023cb96f, 0x034f6dfc, 0x03b77701, 0x01ae5cfd, 0x03126b59, 0x032dabe4, 0x03674dec, 0x004ca5f3, 0x00db9b0b, 0x001b815a}}}, + {X: Field{[10]uint32{0x039756e4, 0x025f2587, 0x030488fd, 0x039778dc, 0x02bb570e, 0x003a3343, 0x00e03d85, 0x0203fc60, 0x01c83042, 0x003b6510}}, Y: Field{[10]uint32{0x033abfae, 0x03827e4f, 0x0298bff0, 0x01d3f937, 0x0209f237, 0x02c4e447, 0x02176128, 0x03e866be, 0x029efe8b, 0x000f6fa7}}}, + {X: Field{[10]uint32{0x02889756, 0x0206ba6f, 0x00bb25dd, 0x0265ec01, 0x03f27b64, 0x01c6267c, 0x02cd97b2, 0x03faa089, 0x03c33211, 0x001d8ba2}}, Y: Field{[10]uint32{0x00a6b774, 0x0096781f, 0x03a5e25e, 0x00c52213, 0x031972db, 0x0260b8d1, 0x03cc4f14, 0x03a5f0f1, 0x00260af3, 0x00300a25}}}, + {X: Field{[10]uint32{0x011cf119, 0x02b40cf5, 0x00d3015b, 0x03613ead, 0x015b10bd, 0x012d21d4, 0x03ed3f62, 0x01f0ff27, 0x018ee67a, 0x000a765a}}, Y: Field{[10]uint32{0x01056339, 0x021d015d, 0x002963c8, 0x003a4e9f, 0x03b89c94, 0x013c725b, 0x03a12540, 0x00ad149d, 0x00517dc8, 0x001ff40b}}}, + {X: Field{[10]uint32{0x0175d2ea, 0x01d7a5c2, 0x028ea26f, 0x03e84053, 0x011e52ac, 0x00c23d2a, 0x019bdbb2, 0x0254d238, 0x0147df60, 0x0037c1df}}, Y: Field{[10]uint32{0x01936f95, 0x030b678c, 0x01277aa3, 0x02e13ef7, 0x008a1ec5, 0x0228949f, 0x008425c9, 0x01fd1093, 0x028800ef, 0x003e185e}}}, + {X: Field{[10]uint32{0x02714560, 0x01602969, 0x006c2875, 0x0009f95b, 0x00247f21, 0x00696a17, 0x007ef64f, 0x034dae75, 0x0275579a, 0x000e2e0a}}, Y: Field{[10]uint32{0x0374299e, 0x021ccd29, 0x02284ada, 0x00efbdc5, 0x017d94f2, 0x00590d16, 0x03f56346, 0x007bd0a2, 0x02976f26, 0x003e7629}}}, + {X: Field{[10]uint32{0x004c92d7, 0x01247eef, 0x011b45b8, 0x01bb950e, 0x0135db4d, 0x00d2c50a, 0x017dea83, 0x03680cb8, 0x01758bd3, 0x0027cf9f}}, Y: Field{[10]uint32{0x014906dd, 0x02eff3ec, 0x021186cb, 0x000f5a53, 0x02452a23, 0x02eac540, 0x0062b21c, 0x0119ad62, 0x001ea77d, 0x003b34a1}}}, + {X: Field{[10]uint32{0x03422491, 0x031114df, 0x00cff467, 0x012a1818, 0x01fd453e, 0x00d6028c, 0x03fb7bd3, 0x024db5bc, 0x03d05013, 0x00049ad5}}, Y: Field{[10]uint32{0x01a3ef84, 0x00c7c667, 0x01347afa, 0x030c2fce, 0x00e148ba, 0x00afcfec, 0x004a3eba, 0x018b0b8f, 0x00130616, 0x003069f7}}}, + {X: Field{[10]uint32{0x02a8c483, 0x0035ccac, 0x00ac35ae, 0x02231410, 0x01174b0c, 0x03be54a0, 0x038c3d22, 0x033e7b70, 0x015d7b5c, 0x0028331e}}, Y: Field{[10]uint32{0x02cc6ba9, 0x019d1564, 0x03605509, 0x006f7da4, 0x006b348f, 0x008c77de, 0x0374fc97, 0x021cfb88, 0x0122f8b3, 0x002af0c0}}}, + {X: Field{[10]uint32{0x02faf403, 0x01588e8e, 0x03576051, 0x03ee5eb5, 0x0338a0ae, 0x02282d6f, 0x00faffac, 0x007d59c3, 0x0179b9e8, 0x00068904}}, Y: Field{[10]uint32{0x00d79a16, 0x02db9039, 0x0360d590, 0x03d05e37, 0x002c8177, 0x02416ddb, 0x03f27493, 0x01030b12, 0x00c0a867, 0x00238728}}}, + {X: Field{[10]uint32{0x01dd3aee, 0x03c6daf1, 0x012f2170, 0x022a3e5b, 0x0213153a, 0x01aa5db2, 0x0222a9ac, 0x031f3383, 0x00a51553, 0x001b4714}}, Y: Field{[10]uint32{0x01f597f7, 0x00d5393f, 0x013adfee, 0x002aa3b5, 0x00851e31, 0x00a1f51d, 0x03272002, 0x037f725d, 0x008e06ab, 0x002bffc5}}}, + {X: Field{[10]uint32{0x03720b26, 0x00bac126, 0x03cd0762, 0x017e6333, 0x0026f283, 0x004e4188, 0x006bbed4, 0x01a3b87d, 0x01ae9ac9, 0x000f8431}}, Y: Field{[10]uint32{0x01d92db5, 0x03a631eb, 0x01e43346, 0x02936f82, 0x00e2ff79, 0x01c8578a, 0x00665b28, 0x0222456a, 0x02cffe42, 0x0031cd71}}}, + {X: Field{[10]uint32{0x00a6d0bb, 0x032a6df9, 0x02fdc678, 0x008bd686, 0x03659d31, 0x02299063, 0x011a6d8a, 0x03e7cfcc, 0x01618b97, 0x001797c7}}, Y: Field{[10]uint32{0x0033eaf9, 0x00e11e44, 0x0253a168, 0x00b941bd, 0x0272555f, 0x0139c876, 0x00f6bcd0, 0x039bdcd6, 0x002b06a7, 0x0035ec54}}}, + {X: Field{[10]uint32{0x01543cb4, 0x020e9f59, 0x00299e00, 0x02db08b4, 0x003c4529, 0x0203aa28, 0x03684d05, 0x02152a2a, 0x03ae9734, 0x001cfe1e}}, Y: Field{[10]uint32{0x00856cdd, 0x03761cb1, 0x02d7a3d2, 0x03d4d5fc, 0x019d5c42, 0x028500a2, 0x03fbfc11, 0x03e1bfba, 0x00f03a87, 0x000df19b}}}, + {X: Field{[10]uint32{0x03005e3f, 0x026d7913, 0x01bd2dda, 0x00c6fb0e, 0x015af68e, 0x03806852, 0x013cb9ac, 0x0109ffff, 0x026b3c16, 0x003e04e2}}, Y: Field{[10]uint32{0x03357eb7, 0x01f8080b, 0x0221342d, 0x02f5552f, 0x01f4ec41, 0x02a972d4, 0x01015e57, 0x03af67e7, 0x033befb4, 0x00329d63}}}, + {X: Field{[10]uint32{0x03bdde39, 0x000a9105, 0x0032952c, 0x01e6dd81, 0x031544e1, 0x02665a34, 0x022570d5, 0x033c3842, 0x0113f677, 0x001db990}}, Y: Field{[10]uint32{0x0101ac01, 0x005d4b46, 0x02032b4b, 0x034ad5b4, 0x035e2a33, 0x01a07c34, 0x03066d70, 0x02573d5d, 0x038dee4e, 0x00324377}}}, + }, + { + {X: Field{[10]uint32{0x03bdde39, 0x000a9105, 0x0032952c, 0x01e6dd81, 0x031544e1, 0x02665a34, 0x022570d5, 0x033c3842, 0x0113f677, 0x001db990}}, Y: Field{[10]uint32{0x0101ac01, 0x005d4b46, 0x02032b4b, 0x034ad5b4, 0x035e2a33, 0x01a07c34, 0x03066d70, 0x02573d5d, 0x038dee4e, 0x00324377}}}, + {X: Field{[10]uint32{0x021187a5, 0x02666a0e, 0x02e691cf, 0x0188b0a6, 0x00005d57, 0x00587204, 0x007c9d88, 0x031cefba, 0x030e9e52, 0x001c2294}}, Y: Field{[10]uint32{0x033db9c0, 0x013c66d1, 0x03e8a58a, 0x00f1b4d4, 0x003ecda7, 0x02db4e0a, 0x01656dcb, 0x02a25fea, 0x0011e1f9, 0x0026e212}}}, + {X: Field{[10]uint32{0x0078ee8d, 0x01424730, 0x019442f0, 0x033941a4, 0x024ebf20, 0x02a6d3fd, 0x03f7263a, 0x02a6f897, 0x03ad859d, 0x00342395}}, Y: Field{[10]uint32{0x01a63e86, 0x01fd370b, 0x02d9de99, 0x033e508b, 0x00123ef7, 0x015f9b7d, 0x02172ee7, 0x02235cb5, 0x03984ab4, 0x00214ba5}}}, + {X: Field{[10]uint32{0x01e4f5be, 0x02c5b1b3, 0x0359e2e1, 0x01b61aca, 0x039f374b, 0x017918b3, 0x03d64839, 0x00ef8866, 0x034fc48b, 0x000673c0}}, Y: Field{[10]uint32{0x03321af2, 0x0054cadb, 0x01c0c0a9, 0x0324fc3c, 0x03ef91d1, 0x02c60651, 0x034be68a, 0x02d19b0e, 0x0306a15a, 0x000a38ca}}}, + {X: Field{[10]uint32{0x029129ec, 0x00519c10, 0x02548159, 0x033c7920, 0x000cae3a, 0x0334c742, 0x018be80e, 0x01349d7d, 0x0085e4d4, 0x001f69b0}}, Y: Field{[10]uint32{0x00d9ff0e, 0x002bb8ab, 0x0186aeb5, 0x02195329, 0x030448c0, 0x024589ef, 0x01d02074, 0x00615d44, 0x006bb9f4, 0x003d2605}}}, + {X: Field{[10]uint32{0x029c22bc, 0x02b950c3, 0x0042fd43, 0x035a46f3, 0x0201da67, 0x026f1ef9, 0x01b3444d, 0x03ac8dd9, 0x02a5e99e, 0x0014cd73}}, Y: Field{[10]uint32{0x03dacb60, 0x03099cb2, 0x0319b3c2, 0x008db287, 0x02c8c30c, 0x0033ae1a, 0x027f080f, 0x01489281, 0x0020769c, 0x000efe34}}}, + {X: Field{[10]uint32{0x01654f22, 0x00f52554, 0x02ee94f8, 0x02508c6a, 0x03b2f7f3, 0x039a7653, 0x03e9001b, 0x02f9b886, 0x00cff5c1, 0x00243424}}, Y: Field{[10]uint32{0x001a43e1, 0x037815d8, 0x038740f5, 0x0194f68f, 0x036dd635, 0x01afdc0c, 0x03f021e0, 0x03d86a54, 0x021d2bac, 0x003355a6}}}, + {X: Field{[10]uint32{0x017cf3e8, 0x02f08274, 0x02219e3a, 0x000d2fa8, 0x02ee93bd, 0x00e5fd5d, 0x0319c2f8, 0x017c35f1, 0x00a078cb, 0x002bdb11}}, Y: Field{[10]uint32{0x0351baea, 0x03741805, 0x01435b8a, 0x03a9f283, 0x03ec362a, 0x032c91b7, 0x01e73153, 0x012cc2be, 0x016fe85d, 0x0001e102}}}, + {X: Field{[10]uint32{0x036b19fa, 0x03bd9471, 0x019d71b6, 0x01b41a20, 0x02d9d6e0, 0x02084a4b, 0x0322c310, 0x0347b31c, 0x00587cf1, 0x003691e6}}, Y: Field{[10]uint32{0x026f5af7, 0x009bbacc, 0x03c206aa, 0x00fa554f, 0x02a67bd1, 0x038595a7, 0x03369077, 0x02bc0745, 0x03789bcc, 0x003aec75}}}, + {X: Field{[10]uint32{0x02569044, 0x03e47b75, 0x02ef96d2, 0x01b3e833, 0x0033c039, 0x017163cc, 0x002bafe9, 0x01894e75, 0x020d6f7d, 0x002a8871}}, Y: Field{[10]uint32{0x02f37766, 0x00931070, 0x00334c19, 0x03044e4a, 0x02ee5aba, 0x0106b7d3, 0x01d26add, 0x01aba9b4, 0x0086fc4e, 0x002cab9a}}}, + {X: Field{[10]uint32{0x01135dbd, 0x00bed96e, 0x0231ecd9, 0x02bce761, 0x00f0c087, 0x00ba625f, 0x017aaf58, 0x03b9ab60, 0x0104a8dd, 0x0038f91d}}, Y: Field{[10]uint32{0x0348045d, 0x01abcf91, 0x01da9690, 0x03fd7b25, 0x02a5a202, 0x00ae0fff, 0x018c8195, 0x031b102e, 0x03f809cb, 0x0024c296}}}, + {X: Field{[10]uint32{0x03f4de54, 0x00798853, 0x002be5bc, 0x0247a74f, 0x00a5cabd, 0x00528a16, 0x034031cf, 0x000a8b0e, 0x00355df2, 0x0015c5b7}}, Y: Field{[10]uint32{0x00100fa5, 0x0293f554, 0x02417d3e, 0x0333411f, 0x01ebf3fe, 0x0264c931, 0x02aa661a, 0x020fce47, 0x00400a5b, 0x002617db}}}, + {X: Field{[10]uint32{0x01ee455f, 0x002e7973, 0x00075cbf, 0x039ba339, 0x02ff67ff, 0x0202f6d2, 0x0345338f, 0x02a6c291, 0x016fe870, 0x001fa319}}, Y: Field{[10]uint32{0x031b9cba, 0x037a6605, 0x02627173, 0x019d1bd1, 0x034aa2d1, 0x0200e94e, 0x03f760f4, 0x01d03ca8, 0x0232ca30, 0x002f7771}}}, + {X: Field{[10]uint32{0x0369b57c, 0x00540365, 0x03c7b1e6, 0x02f0e78b, 0x01da5033, 0x02f8fc13, 0x008f1925, 0x00a0ad4d, 0x01cb592d, 0x0000c194}}, Y: Field{[10]uint32{0x033236e3, 0x00e9417c, 0x038057ff, 0x0061ce7d, 0x03192a4d, 0x0215a0b0, 0x00e2423e, 0x030262b1, 0x0033bb7a, 0x00094822}}}, + {X: Field{[10]uint32{0x0298b59e, 0x025ae6d9, 0x007a4377, 0x009624d1, 0x020a3359, 0x00f8f1c9, 0x02b035ab, 0x017ac56f, 0x01f891a9, 0x000f7e10}}, Y: Field{[10]uint32{0x0392baf5, 0x02399e5a, 0x009f8bcf, 0x01ec8525, 0x027bfc86, 0x00473ce1, 0x002bae8f, 0x02430768, 0x02df98b0, 0x002ce3f9}}}, + {X: Field{[10]uint32{0x03cbb891, 0x0054090a, 0x00bee3ab, 0x010f7c9b, 0x028f7cc6, 0x010fe3e6, 0x0281baa7, 0x02af87a0, 0x016b03b2, 0x0031ce31}}, Y: Field{[10]uint32{0x019a84c3, 0x01cd765a, 0x00fe917e, 0x03bde203, 0x0382314e, 0x032feeee, 0x0318f2ea, 0x03494dfd, 0x0178951a, 0x00224fed}}}, + }, + { + {X: Field{[10]uint32{0x03cbb891, 0x0054090a, 0x00bee3ab, 0x010f7c9b, 0x028f7cc6, 0x010fe3e6, 0x0281baa7, 0x02af87a0, 0x016b03b2, 0x0031ce31}}, Y: Field{[10]uint32{0x019a84c3, 0x01cd765a, 0x00fe917e, 0x03bde203, 0x0382314e, 0x032feeee, 0x0318f2ea, 0x03494dfd, 0x0178951a, 0x00224fed}}}, + {X: Field{[10]uint32{0x0262ab1b, 0x02ac1e11, 0x009e4dda, 0x03a926e3, 0x00647197, 0x00b9eaa5, 0x0332a699, 0x000dd0d6, 0x005ecd7c, 0x00155e21}}, Y: Field{[10]uint32{0x016f3511, 0x03463cc1, 0x024de316, 0x01d1a975, 0x03f653a7, 0x034a9014, 0x026d0a51, 0x038b0f3a, 0x03978b6d, 0x00398741}}}, + {X: Field{[10]uint32{0x0361d58d, 0x02abcce1, 0x00e2f34b, 0x03902358, 0x02ca4c9b, 0x01c837de, 0x02240a35, 0x01851842, 0x0127823f, 0x002e3118}}, Y: Field{[10]uint32{0x011051a4, 0x03a82ea7, 0x03c5b638, 0x01e17841, 0x013f7504, 0x01fcf141, 0x02458f69, 0x038df452, 0x016c5170, 0x0023e7b6}}}, + {X: Field{[10]uint32{0x008b6c29, 0x021a6e25, 0x0196094f, 0x0153f38e, 0x0122f123, 0x03433b33, 0x03fa3bc1, 0x0193312a, 0x003888a3, 0x0011fcce}}, Y: Field{[10]uint32{0x02537ef9, 0x03b84483, 0x014a81ed, 0x025623e6, 0x0118bb49, 0x02d05b1c, 0x00e48675, 0x00a4dc64, 0x028d0f03, 0x001232a6}}}, + {X: Field{[10]uint32{0x010b0040, 0x002cc101, 0x00adc2db, 0x02e7c04d, 0x01f3f47d, 0x03a68d9c, 0x010c993f, 0x01c7de8d, 0x029f7102, 0x0002355b}}, Y: Field{[10]uint32{0x033fd0a1, 0x03899e96, 0x002beb58, 0x01c8385e, 0x01f6d7c4, 0x035e6ca1, 0x03d150a8, 0x026a887f, 0x01aebd0a, 0x00284861}}}, + {X: Field{[10]uint32{0x0166ff40, 0x037a8684, 0x0336da14, 0x012907ff, 0x02caeebf, 0x0392028b, 0x038125d8, 0x0234adf1, 0x00331881, 0x001ac010}}, Y: Field{[10]uint32{0x0171b847, 0x0104c3a7, 0x02de9eb7, 0x03db9fcf, 0x00076883, 0x0242fcbc, 0x00943a05, 0x03eb265a, 0x033ae8aa, 0x00107346}}}, + {X: Field{[10]uint32{0x03573b7f, 0x0158f7c4, 0x02270f56, 0x017b4c2d, 0x03889a1c, 0x02f9968d, 0x0220f977, 0x03398d07, 0x0232d42f, 0x003704fc}}, Y: Field{[10]uint32{0x001f2ba6, 0x03348a13, 0x00b1c42a, 0x01c05d01, 0x02704554, 0x012a429d, 0x03410da8, 0x00d030f1, 0x0280429e, 0x0032426e}}}, + {X: Field{[10]uint32{0x01ff4adb, 0x029b23c1, 0x03768a81, 0x035bf2fb, 0x0214f570, 0x01a9757d, 0x026b4c9c, 0x02e33f91, 0x0334ae41, 0x00303007}}, Y: Field{[10]uint32{0x00351065, 0x03bfdceb, 0x01b85fc4, 0x0345c345, 0x02cdbc43, 0x001d6e33, 0x0137a0b4, 0x01fd71f2, 0x01bee435, 0x0002e13d}}}, + {X: Field{[10]uint32{0x03ae9ceb, 0x03d642e1, 0x02d14b02, 0x03a9c3bc, 0x00226c21, 0x02c8466a, 0x0319565d, 0x01fc1ceb, 0x01e601df, 0x0009700b}}, Y: Field{[10]uint32{0x03c6e275, 0x024344d2, 0x00726470, 0x037c2996, 0x0137c641, 0x03eb4475, 0x0084e0dc, 0x00e0f032, 0x02d2c812, 0x0022a7fa}}}, + {X: Field{[10]uint32{0x032c1a1c, 0x000675e4, 0x01d6e365, 0x006808af, 0x03a2f32b, 0x002d8ee4, 0x0229ea40, 0x032f6cf4, 0x03bc468e, 0x000ea4cb}}, Y: Field{[10]uint32{0x01343540, 0x02a49a5f, 0x028b684a, 0x0055d268, 0x02c0417e, 0x03720742, 0x009547d4, 0x015ea007, 0x00540f34, 0x002b4f60}}}, + {X: Field{[10]uint32{0x005a3c34, 0x00263dbb, 0x009fe1f8, 0x0300a565, 0x00aece82, 0x01eb8f96, 0x02b9f4ca, 0x039273a2, 0x011b2cf8, 0x003fb767}}, Y: Field{[10]uint32{0x013d7714, 0x0152fd38, 0x0029762b, 0x011a66fe, 0x00adaeb5, 0x0323d2c0, 0x03e85312, 0x02e382c2, 0x00c31853, 0x00294b89}}}, + {X: Field{[10]uint32{0x00d6bf1f, 0x00841ae0, 0x03cbb045, 0x00fa6093, 0x0146bd03, 0x01acd1ae, 0x0121e927, 0x02e0f28d, 0x0343451c, 0x0030ccdc}}, Y: Field{[10]uint32{0x00b01f48, 0x0396108f, 0x02162f95, 0x01083899, 0x0198ba36, 0x01cb0c55, 0x01ff31af, 0x00b3684f, 0x01391b81, 0x000bbbfa}}}, + {X: Field{[10]uint32{0x02b6a396, 0x0395346a, 0x020769b4, 0x0246844d, 0x0373021b, 0x03a1222c, 0x02e2d7f5, 0x029230b7, 0x0286bc6e, 0x000f838c}}, Y: Field{[10]uint32{0x0180e27e, 0x00c79236, 0x00f6a2eb, 0x0107cd1a, 0x026ab010, 0x02d14ff1, 0x031fe1de, 0x00de593c, 0x0172fa3b, 0x00329120}}}, + {X: Field{[10]uint32{0x02f027e9, 0x03d31236, 0x0277e27b, 0x036fb951, 0x03d7ca75, 0x01fb5b45, 0x03c7cd53, 0x00f894f0, 0x033d3ea8, 0x001698a1}}, Y: Field{[10]uint32{0x004c68b4, 0x02764161, 0x035fb319, 0x00c27299, 0x03988af4, 0x03b15e90, 0x02409cfe, 0x01abf69d, 0x0079a5bf, 0x003db651}}}, + {X: Field{[10]uint32{0x001023ec, 0x00d6188d, 0x03570aaf, 0x03ddbfb3, 0x035645d8, 0x0260ae6b, 0x002e0200, 0x00b4a126, 0x013080c3, 0x000d12ae}}, Y: Field{[10]uint32{0x021eeb87, 0x02260a47, 0x015d704f, 0x01abf0e6, 0x03fc4e97, 0x02945317, 0x038f2d1e, 0x0118a9cf, 0x03042b24, 0x001b870a}}}, + {X: Field{[10]uint32{0x00f6c14b, 0x03a7d962, 0x01014372, 0x017cea49, 0x03d1d72e, 0x0325ca1d, 0x024c7637, 0x016e0789, 0x026548b6, 0x00362558}}, Y: Field{[10]uint32{0x017d991f, 0x018fb5d7, 0x027e1793, 0x018caec1, 0x0303428d, 0x0230d03a, 0x00ec6081, 0x01fab9ca, 0x0238f2bc, 0x003fafea}}}, + }, + { + {X: Field{[10]uint32{0x00f6c14b, 0x03a7d962, 0x01014372, 0x017cea49, 0x03d1d72e, 0x0325ca1d, 0x024c7637, 0x016e0789, 0x026548b6, 0x00362558}}, Y: Field{[10]uint32{0x017d991f, 0x018fb5d7, 0x027e1793, 0x018caec1, 0x0303428d, 0x0230d03a, 0x00ec6081, 0x01fab9ca, 0x0238f2bc, 0x003fafea}}}, + {X: Field{[10]uint32{0x03078424, 0x02d652dd, 0x00c3fba5, 0x01e83b10, 0x0303ecaf, 0x0000e899, 0x03a43622, 0x00113a28, 0x02ef8971, 0x003f44db}}, Y: Field{[10]uint32{0x0271ddf1, 0x007bbbf1, 0x01fa8cd6, 0x03de28ab, 0x017cf2b1, 0x01717be9, 0x021d191b, 0x014b319e, 0x0034f3c6, 0x0008636a}}}, + {X: Field{[10]uint32{0x0127b756, 0x02a1ffd8, 0x0170480b, 0x0392ae82, 0x0203428b, 0x00182d05, 0x01362da5, 0x03c499cb, 0x002f716d, 0x001b631e}}, Y: Field{[10]uint32{0x03172571, 0x007dd2af, 0x01cca655, 0x0368b5f3, 0x034e3aa6, 0x01b4d36b, 0x019a82d3, 0x02e44451, 0x030896fd, 0x00266bb7}}}, + {X: Field{[10]uint32{0x01b1cb3c, 0x03613b23, 0x0024a5f1, 0x028350fc, 0x021b7003, 0x01d467e1, 0x01cca536, 0x0234503a, 0x029dd963, 0x003667a3}}, Y: Field{[10]uint32{0x038637a7, 0x028a78da, 0x0365cd88, 0x03e3ff21, 0x026286fe, 0x02f3ae9b, 0x005bb321, 0x028e9ea5, 0x01ad1cc0, 0x000db706}}}, + {X: Field{[10]uint32{0x018cf17a, 0x03869cdd, 0x023524de, 0x032e9620, 0x00f1f85d, 0x02d025fe, 0x0059aef1, 0x01eb2a34, 0x02dd95bf, 0x003af2af}}, Y: Field{[10]uint32{0x00aa0ccd, 0x033717d7, 0x0295c446, 0x004b42b3, 0x0310fad2, 0x01f0cb9a, 0x0000a1b6, 0x02e72c0b, 0x020f8f22, 0x0011f4f3}}}, + {X: Field{[10]uint32{0x01a3c43c, 0x012cb154, 0x02258e4c, 0x032a3b3b, 0x000df701, 0x02ab99c5, 0x00c1f2b4, 0x03356d23, 0x029467ca, 0x0015b276}}, Y: Field{[10]uint32{0x00d7c9ed, 0x0362df48, 0x00aa1824, 0x03e4cbb7, 0x0241d40f, 0x0372da14, 0x03c7964d, 0x027b0bcc, 0x02cb42c7, 0x000e351a}}}, + {X: Field{[10]uint32{0x00855c5b, 0x03b9456b, 0x00afbbce, 0x006805f2, 0x00118562, 0x0385ff0a, 0x0331a369, 0x03389114, 0x012e4bd4, 0x003a37d3}}, Y: Field{[10]uint32{0x02465650, 0x0179cb0b, 0x00d7d59d, 0x017c7879, 0x019663b5, 0x027bccb1, 0x004db4f5, 0x026c9911, 0x0170c47f, 0x001b15ff}}}, + {X: Field{[10]uint32{0x00385172, 0x01bda34f, 0x02636fd4, 0x00781103, 0x01d20335, 0x016c2464, 0x03d8a54e, 0x020c5e86, 0x01619a19, 0x0000ff7c}}, Y: Field{[10]uint32{0x00cb9794, 0x0319fc3f, 0x0232b79a, 0x027a439c, 0x015b9b92, 0x03215cdd, 0x0070c7d3, 0x004b0ff9, 0x02c06e5c, 0x00102340}}}, + {X: Field{[10]uint32{0x02e7e454, 0x03d6f694, 0x02150d08, 0x03bc3c39, 0x02fe32ef, 0x02a60598, 0x02486023, 0x02a0ca44, 0x03d718ec, 0x00101a34}}, Y: Field{[10]uint32{0x00ef191e, 0x02b37976, 0x03332779, 0x03b44f0d, 0x01988d21, 0x03674e34, 0x02c14597, 0x011eaae7, 0x03b7254a, 0x00233614}}}, + {X: Field{[10]uint32{0x01d8247e, 0x0307fd4d, 0x011eb400, 0x0309445a, 0x00cd4780, 0x03e82de8, 0x02101f9a, 0x0157395b, 0x01bba2c3, 0x000cfab2}}, Y: Field{[10]uint32{0x033da9bf, 0x005aac2b, 0x0007f372, 0x00dedfa9, 0x0184f8cf, 0x03457bcb, 0x0061f2af, 0x01f10751, 0x0173e4e1, 0x000d65cc}}}, + {X: Field{[10]uint32{0x02c5d939, 0x01eb7e11, 0x033de085, 0x021deea4, 0x02a475a2, 0x0032809f, 0x01bf32e6, 0x009782d5, 0x02cdb1d8, 0x00049543}}, Y: Field{[10]uint32{0x01e757c9, 0x01d3f156, 0x0143192a, 0x007fb363, 0x02838b74, 0x01dc929c, 0x008e43c1, 0x035e9d51, 0x0334f872, 0x001ee3e0}}}, + {X: Field{[10]uint32{0x01f771c8, 0x0092740b, 0x00c87b9e, 0x0047b825, 0x00335a52, 0x0007e1d4, 0x032c2b3c, 0x03240a74, 0x006d922d, 0x002dc795}}, Y: Field{[10]uint32{0x03f48c51, 0x00e89be4, 0x02286245, 0x00ad56ee, 0x0026bd52, 0x0338a23d, 0x0112a4cc, 0x03e401e2, 0x03a8cec9, 0x0039f33b}}}, + {X: Field{[10]uint32{0x02c8a56f, 0x002ab195, 0x0342138d, 0x0150d3cd, 0x0385093c, 0x02beb423, 0x01bb7b53, 0x0217531a, 0x031ac3b5, 0x00251359}}, Y: Field{[10]uint32{0x027be289, 0x01371976, 0x0117eb9f, 0x01d37419, 0x0167d4c1, 0x00ceb186, 0x01439361, 0x007ffd30, 0x01977b50, 0x0029c419}}}, + {X: Field{[10]uint32{0x03194444, 0x01cc24b4, 0x03ea268f, 0x0252ea9f, 0x02850fea, 0x0361e867, 0x02239666, 0x009ae184, 0x0196ba15, 0x003eb3d7}}, Y: Field{[10]uint32{0x00bad676, 0x02fd2211, 0x0100b552, 0x0116e51f, 0x02be72b2, 0x024b76b1, 0x01b77563, 0x0113da4d, 0x007bb8ad, 0x001f3ae4}}}, + {X: Field{[10]uint32{0x0208f15a, 0x02e2862b, 0x0100baee, 0x01b7204a, 0x01fd69e5, 0x02b4f0c1, 0x02b03655, 0x026833f9, 0x0291cd09, 0x0021a953}}, Y: Field{[10]uint32{0x01388308, 0x013479f0, 0x0254d352, 0x00496cd4, 0x0377129d, 0x035d5a19, 0x032a8d06, 0x021180e9, 0x014837a7, 0x0033fb98}}}, + {X: Field{[10]uint32{0x03676e03, 0x01429593, 0x00edd491, 0x00da4fa1, 0x01ceffc7, 0x01c7a1d8, 0x00f64335, 0x01d463ac, 0x00032a95, 0x002e36a5}}, Y: Field{[10]uint32{0x02fdf6e7, 0x023939d3, 0x03b51148, 0x013657fc, 0x0092cc58, 0x018a022c, 0x0099cc97, 0x0287935f, 0x03a44805, 0x000a0137}}}, + }, + { + {X: Field{[10]uint32{0x03676e03, 0x01429593, 0x00edd491, 0x00da4fa1, 0x01ceffc7, 0x01c7a1d8, 0x00f64335, 0x01d463ac, 0x00032a95, 0x002e36a5}}, Y: Field{[10]uint32{0x02fdf6e7, 0x023939d3, 0x03b51148, 0x013657fc, 0x0092cc58, 0x018a022c, 0x0099cc97, 0x0287935f, 0x03a44805, 0x000a0137}}}, + {X: Field{[10]uint32{0x01af726a, 0x00fd0531, 0x036e6d41, 0x0172c96f, 0x01469a3e, 0x02ad883e, 0x032cb698, 0x0317394f, 0x0105ed8c, 0x001b4db4}}, Y: Field{[10]uint32{0x03f9fc7d, 0x00124684, 0x00a35c57, 0x00dad042, 0x01dcc599, 0x0171400a, 0x018c66c9, 0x019a79cb, 0x0034e377, 0x00392e97}}}, + {X: Field{[10]uint32{0x02e1346b, 0x02612771, 0x031c5ea1, 0x0040e16b, 0x005abe7b, 0x013454b0, 0x00c761f1, 0x03442f95, 0x00ff0982, 0x0001a41a}}, Y: Field{[10]uint32{0x03226c13, 0x01629535, 0x0026e7bb, 0x00e65318, 0x02a4f689, 0x0021910a, 0x005db2bd, 0x03789b6a, 0x03e090bf, 0x002e18f8}}}, + {X: Field{[10]uint32{0x0140db99, 0x00a8c329, 0x0012286e, 0x03014d2e, 0x03eb1309, 0x01bc2c38, 0x02883fa6, 0x02b03341, 0x01e10cd3, 0x000eadaf}}, Y: Field{[10]uint32{0x03da78a3, 0x01cff8c6, 0x00043e68, 0x02c38da7, 0x0038d137, 0x0284fa67, 0x03117a96, 0x01c75ff0, 0x02079be8, 0x002eb298}}}, + {X: Field{[10]uint32{0x00a1f6a1, 0x01a47f37, 0x03f1a30e, 0x0050d233, 0x01068cbd, 0x007a1b38, 0x006dc5cb, 0x025d854a, 0x0093cb25, 0x0022630d}}, Y: Field{[10]uint32{0x024f647c, 0x037083c5, 0x0179ca4a, 0x025e7caf, 0x03b2a7cf, 0x00ab1ba4, 0x00454245, 0x02955276, 0x0186ab56, 0x001d7dd6}}}, + {X: Field{[10]uint32{0x0235c795, 0x038aef1c, 0x001d7584, 0x0163af55, 0x030b0d89, 0x03472275, 0x03b05b37, 0x025d2ce4, 0x022435ef, 0x00018f11}}, Y: Field{[10]uint32{0x03110258, 0x00b70256, 0x029bd3f3, 0x02b3e926, 0x029e4acb, 0x00c7216d, 0x01f660d9, 0x0210110c, 0x03b91303, 0x00389fe6}}}, + {X: Field{[10]uint32{0x011e3998, 0x02780f0f, 0x00328aa6, 0x02e45e81, 0x025e56c8, 0x008a89d3, 0x01299d70, 0x022fc069, 0x02fed291, 0x002c84f8}}, Y: Field{[10]uint32{0x025fb81e, 0x032f718c, 0x01175ec2, 0x016faf7b, 0x03d53416, 0x00e90ef0, 0x0161ebf8, 0x00f04b0f, 0x02c20f2d, 0x0008a7e3}}}, + {X: Field{[10]uint32{0x031048da, 0x01efc9e7, 0x013ba777, 0x03cdcf77, 0x02ba2fd4, 0x0341ef38, 0x03a069d9, 0x015bc3f6, 0x00e3f1ad, 0x001e598d}}, Y: Field{[10]uint32{0x0106cf01, 0x026f8928, 0x00862e8f, 0x03633f5d, 0x02532576, 0x029e49fc, 0x01e74735, 0x002e255b, 0x02b6cfb2, 0x001363b8}}}, + {X: Field{[10]uint32{0x025be234, 0x0387fb28, 0x0350700b, 0x039c377c, 0x020e83e3, 0x00581b81, 0x01d0ba69, 0x03e4f974, 0x02d816c7, 0x0012cece}}, Y: Field{[10]uint32{0x020e8362, 0x02df80e4, 0x01b84063, 0x024b3c84, 0x0041e7fd, 0x03633013, 0x035e96df, 0x02f271e1, 0x023b85da, 0x0017bb00}}}, + {X: Field{[10]uint32{0x005201e1, 0x0026b270, 0x0377dab2, 0x016ba0da, 0x01d264cb, 0x03a8d7e6, 0x02bd55cd, 0x01e2ba14, 0x02b06e6c, 0x0030a671}}, Y: Field{[10]uint32{0x00f51ba3, 0x00cc4e94, 0x02ae9add, 0x03d60eb0, 0x03bd74dc, 0x035dd335, 0x0084f24f, 0x02016ce2, 0x01923611, 0x0016a9ce}}}, + {X: Field{[10]uint32{0x0289f55e, 0x018d29f8, 0x02707b96, 0x03c38b1d, 0x022976b0, 0x01e2596f, 0x00251b02, 0x013e5808, 0x00b6ddb0, 0x0027dee2}}, Y: Field{[10]uint32{0x021e4bde, 0x034ed97f, 0x022b1b3c, 0x0383ac42, 0x03c0e536, 0x0263f1c7, 0x03146b42, 0x0043def8, 0x0384c704, 0x000cbe7d}}}, + {X: Field{[10]uint32{0x001cbaab, 0x01e9fc5b, 0x0164cfd3, 0x01e40cf5, 0x001acab8, 0x029c18d7, 0x00ab6c18, 0x0181c566, 0x0298fb35, 0x00340c6b}}, Y: Field{[10]uint32{0x01116b26, 0x02411fe1, 0x01fdc4c3, 0x013f6f59, 0x036dfb4a, 0x0372d373, 0x02e4c06a, 0x01613a39, 0x02b4e954, 0x00105465}}}, + {X: Field{[10]uint32{0x01fe1d2b, 0x01272307, 0x038e5165, 0x002795a1, 0x00c493f5, 0x00fedce9, 0x02ccadfd, 0x01238f9d, 0x03e9cb74, 0x00356290}}, Y: Field{[10]uint32{0x00d50922, 0x009e56e3, 0x02fbffcf, 0x008572f5, 0x0354d9ba, 0x020a09da, 0x02729132, 0x020f3c42, 0x026ba058, 0x003f05e1}}}, + {X: Field{[10]uint32{0x007996c0, 0x03ef5611, 0x0269a626, 0x01c9dae8, 0x016e2eed, 0x02fb743a, 0x03979577, 0x00d590e6, 0x02d86a95, 0x0005ba16}}, Y: Field{[10]uint32{0x00151d48, 0x022f192e, 0x01d54488, 0x02b6715a, 0x0221b642, 0x0003b556, 0x0217e5ce, 0x0124fbec, 0x00aeb424, 0x001d022c}}}, + {X: Field{[10]uint32{0x009c795e, 0x00546f89, 0x0005e124, 0x02aa673a, 0x02ed4406, 0x0309fa93, 0x02d969c3, 0x020c4335, 0x01397111, 0x0008749c}}, Y: Field{[10]uint32{0x01208ece, 0x004bb0e6, 0x03761b00, 0x01292b7e, 0x03d67194, 0x008aed30, 0x0335b855, 0x02b3a85d, 0x01b4b075, 0x0025317e}}}, + {X: Field{[10]uint32{0x03c0df5d, 0x0045de38, 0x02792f1a, 0x03ed455a, 0x032019ef, 0x01d75fea, 0x00adab94, 0x02cce9f6, 0x0214441f, 0x003a03fa}}, Y: Field{[10]uint32{0x02c9ec78, 0x010a46da, 0x02ea9fcb, 0x0202bcc8, 0x032d155e, 0x00f2a511, 0x009768ca, 0x0001dc7a, 0x027f638e, 0x003bb477}}}, + }, + { + {X: Field{[10]uint32{0x03c0df5d, 0x0045de38, 0x02792f1a, 0x03ed455a, 0x032019ef, 0x01d75fea, 0x00adab94, 0x02cce9f6, 0x0214441f, 0x003a03fa}}, Y: Field{[10]uint32{0x02c9ec78, 0x010a46da, 0x02ea9fcb, 0x0202bcc8, 0x032d155e, 0x00f2a511, 0x009768ca, 0x0001dc7a, 0x027f638e, 0x003bb477}}}, + {X: Field{[10]uint32{0x0383cd58, 0x0039e2c3, 0x039162db, 0x00e1df4b, 0x03122dcc, 0x03bf9e8d, 0x01ac4ed1, 0x00499660, 0x01f08ea4, 0x00110328}}, Y: Field{[10]uint32{0x008a3f4b, 0x02f01a6e, 0x02260b07, 0x0109a702, 0x02a21e4d, 0x03538bc0, 0x00954dc9, 0x03848abe, 0x00d2cd5e, 0x0029b22c}}}, + {X: Field{[10]uint32{0x03592d55, 0x00d67b35, 0x010192c0, 0x011d038d, 0x0106d5b9, 0x00cf38ec, 0x02fef696, 0x00149822, 0x02dbc4a1, 0x00174bb1}}, Y: Field{[10]uint32{0x035183a7, 0x039743ab, 0x01174266, 0x0336b445, 0x010e2a7b, 0x01a335a5, 0x03710fa2, 0x0117ad63, 0x01f89c6e, 0x0002a4b3}}}, + {X: Field{[10]uint32{0x02998b10, 0x02f689c4, 0x029d9e81, 0x02f306c8, 0x019bc70e, 0x00ea41e0, 0x037f829d, 0x01b07317, 0x03af2b96, 0x003da532}}, Y: Field{[10]uint32{0x00f05e51, 0x0222c5c0, 0x02a47f67, 0x030c60f0, 0x02eb6c64, 0x0311b60a, 0x03c5ffac, 0x03c0f58c, 0x02ba61be, 0x0010298f}}}, + {X: Field{[10]uint32{0x028f9f5c, 0x03d2d27f, 0x00a51991, 0x03856620, 0x017361f1, 0x0057d013, 0x02cae342, 0x03dd0bf8, 0x01c3b11b, 0x002b0dc7}}, Y: Field{[10]uint32{0x025a503c, 0x020ffccc, 0x01e1d17a, 0x0163b9d4, 0x01229534, 0x009539cd, 0x02101e73, 0x0291dffc, 0x02c18709, 0x00314585}}}, + {X: Field{[10]uint32{0x015bf84c, 0x012e3e39, 0x01027a74, 0x03b55c36, 0x03d964c6, 0x008f2b93, 0x01d3c252, 0x01b32397, 0x0099ceb9, 0x00189e0a}}, Y: Field{[10]uint32{0x0315fa2a, 0x0073ead7, 0x036ed6f5, 0x039f7745, 0x039a020d, 0x025c99e0, 0x00549722, 0x028a2407, 0x00a40911, 0x00359c2b}}}, + {X: Field{[10]uint32{0x01e33446, 0x00723546, 0x0385df4a, 0x03114abc, 0x0240893b, 0x0088a85e, 0x008c0bd0, 0x0210324d, 0x003a14f1, 0x00225080}}, Y: Field{[10]uint32{0x02387689, 0x00e28039, 0x00f9840d, 0x00d9e79d, 0x006bfd77, 0x03bf7938, 0x00b2d6d0, 0x001de936, 0x039595a5, 0x002a7f40}}}, + {X: Field{[10]uint32{0x01d553fd, 0x0284cd63, 0x02414f95, 0x0257022d, 0x0047abf6, 0x02689654, 0x036d4f43, 0x01a12142, 0x022a3556, 0x0022dba1}}, Y: Field{[10]uint32{0x029be5ed, 0x00f6b4cf, 0x003d0d80, 0x016860ce, 0x0124ac3c, 0x013ae7e8, 0x010bc2df, 0x0072d034, 0x00910ed1, 0x003a9782}}}, + {X: Field{[10]uint32{0x0113cb26, 0x00a3256e, 0x016d03d7, 0x027004ef, 0x0099eb41, 0x01541726, 0x00da44ff, 0x010aa28b, 0x026b30a3, 0x0009dc09}}, Y: Field{[10]uint32{0x0348a7a2, 0x01c5ccfc, 0x01bebbfe, 0x006f3205, 0x00e940c9, 0x01fcacc9, 0x012d24d0, 0x036c6955, 0x005e79b0, 0x003d926f}}}, + {X: Field{[10]uint32{0x030c58bd, 0x010912b3, 0x024ce23f, 0x0137d911, 0x0228d49f, 0x01aabb3d, 0x019e1005, 0x013024cb, 0x006e2484, 0x0034eb7c}}, Y: Field{[10]uint32{0x03c89387, 0x0392ae4d, 0x00c9ce52, 0x027e92e6, 0x02aee386, 0x03fd8e2e, 0x03b2febc, 0x0181def7, 0x01b4fc2a, 0x0015fa67}}}, + {X: Field{[10]uint32{0x015e8247, 0x02a80856, 0x00d1af0a, 0x01155a1b, 0x0097bfdc, 0x033e2ea4, 0x025e6e01, 0x03b485e3, 0x00d383cb, 0x001d7934}}, Y: Field{[10]uint32{0x01982d22, 0x00ff6756, 0x01893ca2, 0x02dbaa6b, 0x007ddab5, 0x01edc9b5, 0x01f970ec, 0x002641d0, 0x02a17541, 0x0007f390}}}, + {X: Field{[10]uint32{0x039715c2, 0x011c743c, 0x0129a399, 0x0087e629, 0x01690065, 0x028cffb7, 0x011f78ce, 0x00f616d0, 0x0288f19a, 0x000bc627}}, Y: Field{[10]uint32{0x0171dfea, 0x018d6110, 0x014f066a, 0x038b0da1, 0x03eb3333, 0x03443e7d, 0x0308475e, 0x035f3f7d, 0x01f8f3c5, 0x0032468e}}}, + {X: Field{[10]uint32{0x02333323, 0x027d1369, 0x02bf4747, 0x0071a3d2, 0x009cbbbc, 0x026136a1, 0x0020d605, 0x02efc0fc, 0x02383361, 0x000fb46d}}, Y: Field{[10]uint32{0x01d61ba3, 0x00ff122d, 0x037294b1, 0x02842de3, 0x02a9b728, 0x0223e4a7, 0x017c9896, 0x013b9d76, 0x01a48b5b, 0x003613cb}}}, + {X: Field{[10]uint32{0x023eb3fc, 0x018bb73e, 0x02398875, 0x02513643, 0x0277ee68, 0x02229bdf, 0x0246b408, 0x01aedddf, 0x00bb0a1b, 0x0034b372}}, Y: Field{[10]uint32{0x02d37564, 0x021f6cf7, 0x00927442, 0x02e4c42d, 0x02c1f217, 0x033e49bb, 0x01e95362, 0x018411b7, 0x02f9e5c5, 0x003154e2}}}, + {X: Field{[10]uint32{0x033980bf, 0x0015f52c, 0x000baf25, 0x00b94374, 0x0368a370, 0x00d23750, 0x006fd772, 0x020606e1, 0x02f06a75, 0x001c3f74}}, Y: Field{[10]uint32{0x00b75785, 0x03aa33a8, 0x00a5612e, 0x020e175d, 0x030a1035, 0x007b965a, 0x03a410d1, 0x021a5a55, 0x02c0d0d5, 0x0017b7f2}}}, + {X: Field{[10]uint32{0x00e16070, 0x001eef31, 0x02915ddc, 0x000c7bf5, 0x03f2a182, 0x03559d50, 0x03a48e51, 0x01c10c4e, 0x017bdfcd, 0x0028c05a}}, Y: Field{[10]uint32{0x02177ea1, 0x03468107, 0x01a130c0, 0x03df0284, 0x031735db, 0x017503e6, 0x01809fa2, 0x0393d420, 0x011cfb67, 0x001cdc3e}}}, + }, + { + {X: Field{[10]uint32{0x00e16070, 0x001eef31, 0x02915ddc, 0x000c7bf5, 0x03f2a182, 0x03559d50, 0x03a48e51, 0x01c10c4e, 0x017bdfcd, 0x0028c05a}}, Y: Field{[10]uint32{0x02177ea1, 0x03468107, 0x01a130c0, 0x03df0284, 0x031735db, 0x017503e6, 0x01809fa2, 0x0393d420, 0x011cfb67, 0x001cdc3e}}}, + {X: Field{[10]uint32{0x024ba5ae, 0x0080c5bc, 0x035d8114, 0x000130d2, 0x00b43965, 0x0382ffdd, 0x028d2419, 0x03c127cf, 0x019cff79, 0x0009f879}}, Y: Field{[10]uint32{0x003a45b3, 0x016ffba2, 0x023f784a, 0x029a6be9, 0x01df48a1, 0x031e77c1, 0x01b5e3cf, 0x038827b8, 0x02a6c804, 0x000c42c9}}}, + {X: Field{[10]uint32{0x038011fc, 0x0049c004, 0x00562670, 0x019eb5ca, 0x0183596a, 0x00880293, 0x02b13308, 0x03ac4455, 0x03a30815, 0x001ba0c4}}, Y: Field{[10]uint32{0x0315ab7d, 0x02da7e8f, 0x01f9a6ac, 0x016ba714, 0x0026af91, 0x0076b0c1, 0x0212db20, 0x03c81306, 0x018bdc24, 0x003051e0}}}, + {X: Field{[10]uint32{0x00aed7ae, 0x0245d727, 0x03b4f996, 0x037a13ef, 0x035a39ad, 0x024b5f93, 0x0188ec38, 0x012bb859, 0x03a5f686, 0x0031c4b9}}, Y: Field{[10]uint32{0x02156294, 0x00522a91, 0x0263784d, 0x01512c33, 0x01380d8e, 0x00477679, 0x02d4b823, 0x018ecd97, 0x01075163, 0x00125910}}}, + {X: Field{[10]uint32{0x000e6ba7, 0x01d26e34, 0x02f7f53a, 0x016d1245, 0x003d36ec, 0x0136786d, 0x011e038a, 0x02147caf, 0x01099784, 0x003e54aa}}, Y: Field{[10]uint32{0x0175e4c1, 0x02bbb940, 0x022b98db, 0x01ed318a, 0x02555716, 0x009fe83d, 0x01376a2e, 0x033afe18, 0x025b08ab, 0x00362a4e}}}, + {X: Field{[10]uint32{0x015b6f7e, 0x0127d716, 0x02021f95, 0x014f4e2c, 0x01beb32b, 0x00261db3, 0x02053aad, 0x028c320e, 0x011d04cd, 0x00296b1f}}, Y: Field{[10]uint32{0x02b19c84, 0x02edcc22, 0x00a4848d, 0x0183d606, 0x0399e391, 0x01f67b86, 0x00c3c924, 0x03d56cdb, 0x020ab540, 0x0037c2e2}}}, + {X: Field{[10]uint32{0x03aa0e93, 0x001968a0, 0x01f62690, 0x010ebbec, 0x028f2e39, 0x0367a24e, 0x00031a19, 0x03fb9d41, 0x015e31d3, 0x0025005b}}, Y: Field{[10]uint32{0x03addac2, 0x03b49a21, 0x0307a38e, 0x00eea95e, 0x03f48437, 0x03bb9bf5, 0x0355d354, 0x01365900, 0x02ee5c45, 0x0019d40c}}}, + {X: Field{[10]uint32{0x00a6db03, 0x00f87f91, 0x01d791b4, 0x01bd609d, 0x00b2c85d, 0x02e19d7f, 0x01c0d426, 0x008d7419, 0x0104a4b3, 0x0002ff01}}, Y: Field{[10]uint32{0x024b8542, 0x03234691, 0x00f0558a, 0x025cd175, 0x02374271, 0x0129b264, 0x038ec7f9, 0x03cd14fe, 0x027a6c34, 0x00065551}}}, + {X: Field{[10]uint32{0x0266b17b, 0x01218b80, 0x03b32b0f, 0x0288098a, 0x02023568, 0x02a7c270, 0x03978846, 0x02ca246e, 0x0174d59f, 0x003bc8b4}}, Y: Field{[10]uint32{0x01dac83e, 0x01b810de, 0x001b732a, 0x01bdc70d, 0x033ee727, 0x038d2841, 0x039ccc3a, 0x0131d5a3, 0x00c97ab2, 0x002f15e1}}}, + {X: Field{[10]uint32{0x034318b5, 0x00b150ba, 0x0045657f, 0x0204bd6e, 0x0272ed5c, 0x03c815fb, 0x0388a38d, 0x02343d55, 0x01fbe194, 0x0026217d}}, Y: Field{[10]uint32{0x0199175c, 0x01509505, 0x004af2fe, 0x03b59da4, 0x027c82ad, 0x01a33ae3, 0x012c4677, 0x0263e65b, 0x02f69ef1, 0x0004d7f5}}}, + {X: Field{[10]uint32{0x02d382a0, 0x00c056a4, 0x019ae231, 0x02f38bb3, 0x03f28dcb, 0x02cb7e49, 0x00acc780, 0x0224b4e7, 0x03ce4ceb, 0x002d7dfb}}, Y: Field{[10]uint32{0x01b4b532, 0x03c2aee9, 0x038c5ba2, 0x01b4a6b3, 0x0371fb09, 0x0032f774, 0x00957c6e, 0x03c8d4f0, 0x005b51c3, 0x001a10d5}}}, + {X: Field{[10]uint32{0x0281c1bc, 0x0292b933, 0x01b33b93, 0x03962aed, 0x03d25365, 0x01a339d9, 0x01815b8d, 0x00118d6b, 0x0305465c, 0x0000cd83}}, Y: Field{[10]uint32{0x026cbedd, 0x034a2595, 0x0150176d, 0x03ad7204, 0x03231728, 0x004c19d4, 0x0369c425, 0x0140053f, 0x01f90c57, 0x001f922d}}}, + {X: Field{[10]uint32{0x012cffa5, 0x02491910, 0x005c47e6, 0x00219a33, 0x0389ed42, 0x02f51890, 0x00754d8f, 0x0041d902, 0x03d2b2e7, 0x00073770}}, Y: Field{[10]uint32{0x0121954e, 0x01b62735, 0x03528ade, 0x0109acda, 0x02c41c98, 0x0250ac22, 0x01b126bf, 0x03e298ff, 0x020cb2f1, 0x000791da}}}, + {X: Field{[10]uint32{0x008993f7, 0x027dcd01, 0x03ce1150, 0x008fe09c, 0x02962552, 0x0322eb90, 0x034fbe1b, 0x0214458c, 0x006a56a3, 0x00021d4d}}, Y: Field{[10]uint32{0x02b9dcc2, 0x030b205c, 0x0018e601, 0x03c6c498, 0x03c9f4d4, 0x01d7e8a1, 0x02994e6e, 0x022c0c43, 0x00a8a2ef, 0x0001939b}}}, + {X: Field{[10]uint32{0x00a9f22f, 0x03f90e4d, 0x00e2ad35, 0x031485ea, 0x00cc0819, 0x01220d6c, 0x01f8b8b9, 0x03a4e7c8, 0x0359f25c, 0x000ab32c}}, Y: Field{[10]uint32{0x035c4927, 0x01772ced, 0x0150b7b7, 0x02fb16e9, 0x01154bd7, 0x037c3b7c, 0x0213a37e, 0x034b9464, 0x00e9588a, 0x00354629}}}, + {X: Field{[10]uint32{0x03b04ed4, 0x02b18f8f, 0x03fffab7, 0x002c44c1, 0x0208cc33, 0x0099e378, 0x03f9d051, 0x02e4d918, 0x01b389d6, 0x00242b61}}, Y: Field{[10]uint32{0x036ef150, 0x03535232, 0x0094d991, 0x02f8560a, 0x0039aefa, 0x009c88ae, 0x03dcbd94, 0x020986bf, 0x023620a3, 0x0003941e}}}, + }, + { + {X: Field{[10]uint32{0x03b04ed4, 0x02b18f8f, 0x03fffab7, 0x002c44c1, 0x0208cc33, 0x0099e378, 0x03f9d051, 0x02e4d918, 0x01b389d6, 0x00242b61}}, Y: Field{[10]uint32{0x036ef150, 0x03535232, 0x0094d991, 0x02f8560a, 0x0039aefa, 0x009c88ae, 0x03dcbd94, 0x020986bf, 0x023620a3, 0x0003941e}}}, + {X: Field{[10]uint32{0x03dc0151, 0x022c3b69, 0x03bad281, 0x039919c1, 0x017e125b, 0x0210978f, 0x00b1d154, 0x0101dfd1, 0x000ef8c9, 0x001f8b35}}, Y: Field{[10]uint32{0x00721ec7, 0x02f14e48, 0x0082c9a3, 0x0102bbb8, 0x01889bee, 0x0087be57, 0x0261a8b3, 0x03eace0a, 0x01082adc, 0x002416dd}}}, + {X: Field{[10]uint32{0x00b7b678, 0x0176ccec, 0x03816627, 0x0046f3d8, 0x02f13c43, 0x009adb1d, 0x0186bca4, 0x008c6e86, 0x017334e4, 0x00061b92}}, Y: Field{[10]uint32{0x00d91fc1, 0x001dbcbe, 0x035dca7a, 0x00951254, 0x02110772, 0x002df99f, 0x03fc825c, 0x02f612a9, 0x00e49807, 0x00303518}}}, + {X: Field{[10]uint32{0x0345e597, 0x000eb904, 0x03cf90e1, 0x03e76e14, 0x039c636b, 0x007bd4a9, 0x00975bbd, 0x036b3887, 0x012195be, 0x002851bd}}, Y: Field{[10]uint32{0x005a770a, 0x0159dabd, 0x014b0767, 0x02c887c2, 0x00ea67a5, 0x02ecc6d0, 0x0295dd2d, 0x03fac26b, 0x030ab053, 0x00296a66}}}, + {X: Field{[10]uint32{0x03421fb8, 0x01b972ec, 0x015d0cf0, 0x03cbbd69, 0x02984971, 0x00edc904, 0x0206b34c, 0x02fd8b9f, 0x01834f6d, 0x00018723}}, Y: Field{[10]uint32{0x023ccd80, 0x03bd9a13, 0x00dd2995, 0x012ce9bf, 0x00806713, 0x03817ad7, 0x01392590, 0x02d2deea, 0x02d99003, 0x001b7f1a}}}, + {X: Field{[10]uint32{0x03b9dc8f, 0x03226e12, 0x01333d08, 0x00fbd7b7, 0x01aba9e9, 0x0149e1f4, 0x00f70353, 0x01a19092, 0x01cee1c2, 0x003f6650}}, Y: Field{[10]uint32{0x019780d5, 0x03ab94f9, 0x0138d743, 0x03f7bbfa, 0x027872b2, 0x02221679, 0x0297e057, 0x039bd1b7, 0x0075bd40, 0x001e907b}}}, + {X: Field{[10]uint32{0x036b35a4, 0x012f862b, 0x03b48712, 0x029aac9f, 0x01889f37, 0x00ce9a2b, 0x03632407, 0x03944edc, 0x023a208e, 0x003da9ad}}, Y: Field{[10]uint32{0x01f422a6, 0x02dbfb20, 0x01862cae, 0x01b9d7b8, 0x0319d575, 0x0158061b, 0x02d3704f, 0x004e2c72, 0x00a8002d, 0x000f7df2}}}, + {X: Field{[10]uint32{0x00e45444, 0x02d4ff13, 0x004e20cb, 0x007bfb33, 0x00dbde42, 0x0096a045, 0x03bf9dab, 0x024ee6f3, 0x01a1cf19, 0x0034931d}}, Y: Field{[10]uint32{0x03dd4a57, 0x00c91a61, 0x02524cb9, 0x03d267c7, 0x02bf7593, 0x003969e2, 0x00b7d181, 0x0307473f, 0x012de84d, 0x00163f87}}}, + {X: Field{[10]uint32{0x02954c11, 0x0208fa29, 0x01018b96, 0x00f05583, 0x037fa8a4, 0x0141de3f, 0x00d1b0f1, 0x030dd888, 0x0028c286, 0x0021e8bf}}, Y: Field{[10]uint32{0x032a8b45, 0x038ccb89, 0x0124b756, 0x00fca9e0, 0x02cc4893, 0x00349d4c, 0x031948da, 0x03b3be5e, 0x018b45aa, 0x000ceb54}}}, + {X: Field{[10]uint32{0x03a43ddc, 0x006bfa61, 0x02e4aeeb, 0x0286a655, 0x0124282c, 0x039ef7d5, 0x001eb85e, 0x02b1b684, 0x03864946, 0x002a2c22}}, Y: Field{[10]uint32{0x03a2a6b8, 0x000720b7, 0x036c3870, 0x0114ac41, 0x00a325b4, 0x03c3a3b7, 0x01591ffd, 0x01a807cc, 0x028bc8a3, 0x001fc03f}}}, + {X: Field{[10]uint32{0x02706ab6, 0x01d1cab8, 0x03c0dae4, 0x00774b94, 0x023c0b34, 0x030e133f, 0x0156efcb, 0x02069a11, 0x02046e78, 0x003851cb}}, Y: Field{[10]uint32{0x0158de05, 0x021a85a7, 0x0127536e, 0x015514f3, 0x00aa589d, 0x0321887e, 0x03691978, 0x023f1a0f, 0x02aa47c5, 0x0020b364}}}, + {X: Field{[10]uint32{0x03963645, 0x0250cb0e, 0x031f8e3e, 0x0201f9c7, 0x032dcdb2, 0x038c4cbe, 0x034781a2, 0x0298f9b9, 0x014fb1b8, 0x00317c25}}, Y: Field{[10]uint32{0x008be2dd, 0x0221d3c0, 0x03e4edbf, 0x00ac011e, 0x02a33050, 0x009835f9, 0x023cb440, 0x02dbec62, 0x031021b0, 0x003554b4}}}, + {X: Field{[10]uint32{0x03a84fb6, 0x02b95081, 0x01021ebf, 0x01d43e85, 0x03c42368, 0x03922e7a, 0x00b4d601, 0x02bbd77a, 0x02c804f8, 0x00072be4}}, Y: Field{[10]uint32{0x03149109, 0x00606409, 0x0267616b, 0x01a5a8b3, 0x02ec1cc1, 0x03c40588, 0x01a64f8f, 0x0394e920, 0x005ac976, 0x002f092e}}}, + {X: Field{[10]uint32{0x01c8381f, 0x024c48fa, 0x011a753a, 0x0358e0f0, 0x000ed3d6, 0x013f8404, 0x02beb463, 0x025f38d3, 0x0355bc6d, 0x0037ceb3}}, Y: Field{[10]uint32{0x0347de3a, 0x03f5a588, 0x009e61af, 0x01f99f8e, 0x03b10195, 0x036b347a, 0x0099c1de, 0x01e9d698, 0x00ca5190, 0x001acf76}}}, + {X: Field{[10]uint32{0x02955911, 0x0233f852, 0x0152db76, 0x0289837b, 0x03107e16, 0x00f5e0e5, 0x009efe9b, 0x01943496, 0x0169af09, 0x001c16ff}}, Y: Field{[10]uint32{0x03d200e4, 0x01f1a4ff, 0x0272d8bb, 0x0148a90b, 0x02297f3b, 0x0150147e, 0x0263d81f, 0x03e6429f, 0x00130b73, 0x003852a9}}}, + {X: Field{[10]uint32{0x02c4c0da, 0x02d11327, 0x023351b7, 0x01e1c8fa, 0x02e88c56, 0x0207c58b, 0x039c1ad9, 0x017cce48, 0x01d2f63b, 0x0023da2e}}, Y: Field{[10]uint32{0x001fff82, 0x032fde54, 0x00bfdf23, 0x03fa5544, 0x01bbea2c, 0x01af8857, 0x01d90c2b, 0x00e61b78, 0x032dba06, 0x00198aa7}}}, + }, + { + {X: Field{[10]uint32{0x02c4c0da, 0x02d11327, 0x023351b7, 0x01e1c8fa, 0x02e88c56, 0x0207c58b, 0x039c1ad9, 0x017cce48, 0x01d2f63b, 0x0023da2e}}, Y: Field{[10]uint32{0x001fff82, 0x032fde54, 0x00bfdf23, 0x03fa5544, 0x01bbea2c, 0x01af8857, 0x01d90c2b, 0x00e61b78, 0x032dba06, 0x00198aa7}}}, + {X: Field{[10]uint32{0x00f27076, 0x011f7e13, 0x03eaee68, 0x02b79d89, 0x01d89858, 0x03f66bd6, 0x02febe77, 0x020563f2, 0x02fd784e, 0x0013526b}}, Y: Field{[10]uint32{0x03aa781e, 0x002d9880, 0x018466b9, 0x0069f7d3, 0x006e0f2d, 0x016729bc, 0x023f2103, 0x0344d79c, 0x0059a10d, 0x00334cbf}}}, + {X: Field{[10]uint32{0x023809fa, 0x00ae3b74, 0x014be18e, 0x02cd4765, 0x00fd845c, 0x009147c2, 0x0293363f, 0x027c8a2e, 0x01be2e50, 0x000e0e07}}, Y: Field{[10]uint32{0x031fed52, 0x001d460c, 0x0324dbd7, 0x032ccb63, 0x003681fc, 0x0083ac73, 0x01405a55, 0x005f72c2, 0x010a0fb9, 0x003928cb}}}, + {X: Field{[10]uint32{0x01b62026, 0x02f2d5ca, 0x01d4ee8d, 0x03822274, 0x038d2a3d, 0x03d716a9, 0x016619e1, 0x01be14df, 0x039e85d5, 0x001d5914}}, Y: Field{[10]uint32{0x02ce0cf3, 0x00b23eb6, 0x01f33417, 0x036552de, 0x01684aac, 0x029c8a49, 0x031df524, 0x02cf1948, 0x01413749, 0x003075a1}}}, + {X: Field{[10]uint32{0x03c2a310, 0x01099225, 0x026303ea, 0x02950048, 0x01f186ae, 0x0291a668, 0x0121b82a, 0x00ab9bda, 0x0324e437, 0x00124989}}, Y: Field{[10]uint32{0x0227ded0, 0x006da057, 0x038ce0c4, 0x004a9d7f, 0x036d1636, 0x01c50c0e, 0x02cfa569, 0x02afe568, 0x0373bca7, 0x0004cdf9}}}, + {X: Field{[10]uint32{0x03663da4, 0x019b0640, 0x00b81f81, 0x02467d74, 0x03a5a362, 0x03112a8a, 0x008a6ed7, 0x01c179a0, 0x02356aa5, 0x001a9992}}, Y: Field{[10]uint32{0x03fc22c4, 0x00c4fecc, 0x004c9c28, 0x0049f9b0, 0x01089916, 0x01afc335, 0x0386ec19, 0x03a62ca7, 0x025954fd, 0x00112684}}}, + {X: Field{[10]uint32{0x02bd2d31, 0x012c1e73, 0x01b8d138, 0x015bfc1b, 0x004dcc1a, 0x011df8be, 0x02253b3e, 0x00324357, 0x028c1a24, 0x0038c195}}, Y: Field{[10]uint32{0x02546e44, 0x02d020e4, 0x03826692, 0x010af8dc, 0x02ffbc80, 0x03df436d, 0x00f2b107, 0x01098222, 0x03e37893, 0x0003ab1b}}}, + {X: Field{[10]uint32{0x03b4a278, 0x0136b355, 0x0082b536, 0x017c7fd0, 0x0078f61a, 0x02b67332, 0x006ff301, 0x009de59d, 0x017ad9df, 0x000842a4}}, Y: Field{[10]uint32{0x007b2231, 0x01c4ff43, 0x00bfc7f2, 0x006abfc8, 0x013789e6, 0x02359cdf, 0x039be81f, 0x0395ede8, 0x035450b5, 0x0019c386}}}, + {X: Field{[10]uint32{0x023136b0, 0x0030e78d, 0x01dd9c53, 0x0366aad0, 0x0374ebf8, 0x00fef58c, 0x01b0e762, 0x033bf09c, 0x000e2428, 0x000ee784}}, Y: Field{[10]uint32{0x00dbbc8a, 0x03b05bdb, 0x01f81953, 0x028ceb4c, 0x02a2ae28, 0x03d1d6c9, 0x01533eb8, 0x02edc77c, 0x00152d16, 0x003ebee6}}}, + {X: Field{[10]uint32{0x0190124e, 0x023ad4f7, 0x0085dea9, 0x01a14a07, 0x02c1e802, 0x036ce055, 0x029a1946, 0x015505df, 0x0293c06c, 0x001ebab2}}, Y: Field{[10]uint32{0x02021e31, 0x001e0408, 0x0104b3f5, 0x03e6e42a, 0x0159bc1b, 0x01b07654, 0x02caff04, 0x0243c13e, 0x03190c13, 0x0037eca6}}}, + {X: Field{[10]uint32{0x03485d3f, 0x023c11cb, 0x03eee960, 0x01a2041e, 0x0317ca07, 0x0177b7bd, 0x036ca80f, 0x0326a4ad, 0x0149712a, 0x002ec2ab}}, Y: Field{[10]uint32{0x00a2f975, 0x00e4940f, 0x00bffe79, 0x03e8c59c, 0x00895a5a, 0x00a5f68d, 0x00d201f7, 0x0151e63b, 0x0053c583, 0x003a9a67}}}, + {X: Field{[10]uint32{0x01ed815e, 0x01c0b541, 0x017b470f, 0x02af0700, 0x0166f440, 0x02551eb4, 0x035fad21, 0x0128cbae, 0x02c679f7, 0x00155a36}}, Y: Field{[10]uint32{0x00602df0, 0x02fd9300, 0x02151d9b, 0x03bb8960, 0x03eb05f7, 0x0341cfca, 0x00d6fe01, 0x02e99160, 0x00742788, 0x001ea17e}}}, + {X: Field{[10]uint32{0x02718dc9, 0x03b4ce8d, 0x023de4ae, 0x0136c044, 0x03e1e58b, 0x02bf8044, 0x028eb197, 0x03f30353, 0x02c8e4ee, 0x001e4242}}, Y: Field{[10]uint32{0x00fae7c5, 0x00c8ac47, 0x0008b963, 0x02dc2ea4, 0x02dd36af, 0x0366aa95, 0x01816cbc, 0x016e3c4f, 0x022b9190, 0x003aaadc}}}, + {X: Field{[10]uint32{0x0244a0c8, 0x0306f70b, 0x01932abe, 0x0100bb8a, 0x032c9be7, 0x031d0db0, 0x01bae600, 0x0250f2f2, 0x02884807, 0x001807a7}}, Y: Field{[10]uint32{0x0200e557, 0x024d04ae, 0x02659547, 0x0169ad1b, 0x01424e0c, 0x03feaeec, 0x00b8cfa9, 0x023b31c5, 0x02aa6fdc, 0x00169e88}}}, + {X: Field{[10]uint32{0x0360c7d1, 0x025a531f, 0x01ad2a26, 0x039f35dd, 0x028dd71d, 0x01526e99, 0x003dbbce, 0x01ed5470, 0x01ade9f9, 0x0039df20}}, Y: Field{[10]uint32{0x02d72449, 0x01607ca0, 0x006d34ec, 0x03dc70a6, 0x03631470, 0x03aa0550, 0x03c3b323, 0x004c8717, 0x0078eef8, 0x000eb3c5}}}, + {X: Field{[10]uint32{0x03231e11, 0x01bf5414, 0x01e3e668, 0x01940da0, 0x011f48e8, 0x02630d82, 0x0399ff91, 0x0217597f, 0x030176af, 0x00393cfe}}, Y: Field{[10]uint32{0x03eb73bc, 0x030e15db, 0x011c9822, 0x013b2547, 0x006cc7e7, 0x0280adca, 0x021a6d0e, 0x013c7059, 0x033ad0ef, 0x000798d8}}}, + }, + { + {X: Field{[10]uint32{0x03231e11, 0x01bf5414, 0x01e3e668, 0x01940da0, 0x011f48e8, 0x02630d82, 0x0399ff91, 0x0217597f, 0x030176af, 0x00393cfe}}, Y: Field{[10]uint32{0x03eb73bc, 0x030e15db, 0x011c9822, 0x013b2547, 0x006cc7e7, 0x0280adca, 0x021a6d0e, 0x013c7059, 0x033ad0ef, 0x000798d8}}}, + {X: Field{[10]uint32{0x03cdaf2f, 0x03b888ce, 0x032953bf, 0x02096e85, 0x0388531a, 0x02f6cd8b, 0x0064110a, 0x01cf807b, 0x03b76867, 0x0012cc32}}, Y: Field{[10]uint32{0x0126b5b7, 0x00cf518f, 0x00575680, 0x020790d2, 0x011fdf3c, 0x01f0f12a, 0x01e2c577, 0x018a6dbe, 0x010265bb, 0x001d318d}}}, + {X: Field{[10]uint32{0x03f05bd6, 0x027c139a, 0x01946539, 0x000c84aa, 0x00a2f56e, 0x02d1c37b, 0x032f51fe, 0x013fa420, 0x0241bee4, 0x0024030c}}, Y: Field{[10]uint32{0x000d358b, 0x00ab4efc, 0x03b15de5, 0x0160f13b, 0x01d69853, 0x01c2c90e, 0x01c72045, 0x03c3d7e5, 0x01e8e8b1, 0x001b0c7e}}}, + {X: Field{[10]uint32{0x0273059f, 0x03a70a69, 0x03a192ff, 0x01414383, 0x03ec1171, 0x01d19205, 0x015b20b1, 0x01c03734, 0x00aa7ae1, 0x0032ed0d}}, Y: Field{[10]uint32{0x027c070c, 0x02a59088, 0x03845b7d, 0x013c2b57, 0x0141d45e, 0x022d77eb, 0x02d49233, 0x02f45d58, 0x000ab4da, 0x00128688}}}, + {X: Field{[10]uint32{0x03105c50, 0x030a3327, 0x005257a7, 0x03bdec4e, 0x0182e0de, 0x00f08cf3, 0x028cc340, 0x0242ab58, 0x0362ab05, 0x0016a340}}, Y: Field{[10]uint32{0x00a4cde9, 0x02c8060e, 0x013c35c9, 0x02299b40, 0x00a605f6, 0x0050ffdd, 0x02a6b724, 0x0394da4d, 0x02b113d4, 0x0030167a}}}, + {X: Field{[10]uint32{0x032e294d, 0x03ecbde9, 0x00dd5be6, 0x028fc034, 0x02f158eb, 0x037dfb71, 0x02289eae, 0x00d2e469, 0x00805cd5, 0x000a77f9}}, Y: Field{[10]uint32{0x00469b52, 0x00dc983b, 0x02e69441, 0x0070e4a7, 0x01d1f196, 0x02281793, 0x0034e758, 0x01cb866d, 0x0026d006, 0x002fd9b6}}}, + {X: Field{[10]uint32{0x02d64feb, 0x03862e6c, 0x0292c647, 0x02964a48, 0x003772f8, 0x01b2e93a, 0x02f3a577, 0x03d82923, 0x01031232, 0x00364fd3}}, Y: Field{[10]uint32{0x00698359, 0x03ef564d, 0x00da37b0, 0x002fbb24, 0x0193e043, 0x01372313, 0x037311c5, 0x009cce88, 0x015d45cb, 0x001e4955}}}, + {X: Field{[10]uint32{0x02de12c0, 0x01e1b841, 0x010e94d4, 0x03161d18, 0x006d9cda, 0x0155c913, 0x02d7b1e7, 0x00b07341, 0x016d9c10, 0x003d1e01}}, Y: Field{[10]uint32{0x025361fe, 0x01db39b2, 0x012d769a, 0x03d826ae, 0x0026c17e, 0x001a1a53, 0x00095e01, 0x00e51b9a, 0x0210f33e, 0x001fc279}}}, + {X: Field{[10]uint32{0x039fbc84, 0x00813350, 0x02016722, 0x0245815e, 0x037e7062, 0x018ab196, 0x014e2bc6, 0x00a1106c, 0x01c6e36f, 0x000bc1da}}, Y: Field{[10]uint32{0x00201bec, 0x0240b787, 0x015d73fb, 0x01a93137, 0x01cca79b, 0x02438852, 0x01df0079, 0x02f777e9, 0x03724d73, 0x002d0d3c}}}, + {X: Field{[10]uint32{0x0026dea2, 0x02cbf4b4, 0x005d8928, 0x0114b167, 0x0187c84c, 0x0269b758, 0x01a1e26d, 0x02efef5c, 0x0248d561, 0x0007773e}}, Y: Field{[10]uint32{0x003de522, 0x0121cf46, 0x0273406f, 0x02314701, 0x00666fd6, 0x0100b008, 0x03ea34d6, 0x00e9f507, 0x001fa992, 0x0031be90}}}, + {X: Field{[10]uint32{0x02a758ea, 0x01fab321, 0x019c4d53, 0x006249fc, 0x01911883, 0x01505b8e, 0x006895a1, 0x000c2656, 0x0380559e, 0x003f9f99}}, Y: Field{[10]uint32{0x037ab649, 0x008b6576, 0x020d1e4f, 0x001d10c4, 0x033b8017, 0x02124947, 0x0008e169, 0x0372e623, 0x0167a281, 0x000e2a9a}}}, + {X: Field{[10]uint32{0x033773f7, 0x03c011b0, 0x019953c7, 0x034d16d6, 0x0150d44f, 0x0278dca8, 0x01410c00, 0x008db4f8, 0x0226f5dd, 0x000d56cc}}, Y: Field{[10]uint32{0x0087c182, 0x00f0ffc6, 0x01109005, 0x01e33389, 0x001e25df, 0x03487f2e, 0x0310eedd, 0x000eb527, 0x00807047, 0x00023b29}}}, + {X: Field{[10]uint32{0x00fffefa, 0x005589a3, 0x01afade7, 0x013dc194, 0x01101804, 0x0030ebe1, 0x01f6f915, 0x00c49f5b, 0x01ca7538, 0x00246ebd}}, Y: Field{[10]uint32{0x037f6faf, 0x00dbcd37, 0x0303dc7d, 0x00439bf4, 0x02f4bef3, 0x01f74f64, 0x01969f12, 0x02f3af97, 0x03119347, 0x00013973}}}, + {X: Field{[10]uint32{0x00785491, 0x037d01a4, 0x025d1dd3, 0x01792baa, 0x035291de, 0x00be19ad, 0x019f43cb, 0x002eb958, 0x00f17f26, 0x0024ac78}}, Y: Field{[10]uint32{0x00be555b, 0x0234d816, 0x00d7b9c9, 0x01df88a2, 0x003985fb, 0x00d396b4, 0x027c1d10, 0x02798f85, 0x00028d8d, 0x00207b11}}}, + {X: Field{[10]uint32{0x0133c546, 0x00245fa3, 0x01af32fc, 0x02cca17b, 0x0382575f, 0x003d7775, 0x02c5373e, 0x01e29f2c, 0x0121cb3f, 0x00111610}}, Y: Field{[10]uint32{0x000b4fd4, 0x01b461c0, 0x0273660a, 0x00f3ecb2, 0x00852f0a, 0x0246b688, 0x0225eae3, 0x01d4e9dc, 0x0377f3f8, 0x000c2364}}}, + {X: Field{[10]uint32{0x00eae29e, 0x02dbab88, 0x01d0716f, 0x00bc3538, 0x02c7034f, 0x01169099, 0x0161537a, 0x03ccc7ae, 0x029b18eb, 0x0023003e}}, Y: Field{[10]uint32{0x0302414b, 0x00a93199, 0x02c54e7d, 0x03ea078d, 0x00c2fada, 0x01cdb25d, 0x01c343a3, 0x008686a7, 0x0267fea5, 0x003be91c}}}, + }, + { + {X: Field{[10]uint32{0x00eae29e, 0x02dbab88, 0x01d0716f, 0x00bc3538, 0x02c7034f, 0x01169099, 0x0161537a, 0x03ccc7ae, 0x029b18eb, 0x0023003e}}, Y: Field{[10]uint32{0x0302414b, 0x00a93199, 0x02c54e7d, 0x03ea078d, 0x00c2fada, 0x01cdb25d, 0x01c343a3, 0x008686a7, 0x0267fea5, 0x003be91c}}}, + {X: Field{[10]uint32{0x018ada5f, 0x0326ac30, 0x02fb3e84, 0x01fca448, 0x03fd7e29, 0x00daf87b, 0x03b5bf96, 0x02d1bea2, 0x00176da2, 0x000933f0}}, Y: Field{[10]uint32{0x038a586b, 0x02984e65, 0x014f268f, 0x028693e0, 0x03ed959c, 0x037b6a49, 0x028714d5, 0x01869a61, 0x03bb079c, 0x003affe3}}}, + {X: Field{[10]uint32{0x03fd913d, 0x025580fa, 0x009eac3f, 0x039bb953, 0x0050a680, 0x030aa348, 0x0107a084, 0x0377e1d3, 0x02a7e907, 0x000d8d8a}}, Y: Field{[10]uint32{0x012e243d, 0x03e6bab1, 0x03aafc44, 0x00435acb, 0x02d830bb, 0x00368aa0, 0x01624437, 0x02bf54d0, 0x00676cb8, 0x00123c9e}}}, + {X: Field{[10]uint32{0x00679da2, 0x00c62565, 0x017edf10, 0x01ff1fc1, 0x0216ddd6, 0x004a4bb1, 0x02ded72a, 0x02f20ba8, 0x0158d4b9, 0x0000129f}}, Y: Field{[10]uint32{0x039ffe26, 0x01fd211d, 0x0228a487, 0x025258fe, 0x0371c3b4, 0x03b1c6ce, 0x031d8147, 0x032dd79a, 0x01b76702, 0x002e62b1}}}, + {X: Field{[10]uint32{0x01132896, 0x02eafe6b, 0x02c967ca, 0x02eadef1, 0x01fcb1e3, 0x03764803, 0x015ad962, 0x00780bca, 0x036df32a, 0x001121e5}}, Y: Field{[10]uint32{0x03685248, 0x0006c4ab, 0x02a7a48c, 0x016989da, 0x0306b40d, 0x0115868c, 0x009a9077, 0x02bf87bf, 0x0060d115, 0x0009ef56}}}, + {X: Field{[10]uint32{0x035732c0, 0x021934dd, 0x037aa859, 0x039c8cdd, 0x02202fe5, 0x032c425b, 0x00a5d1b7, 0x012e6d89, 0x0331f8b7, 0x0023cf33}}, Y: Field{[10]uint32{0x01b9415b, 0x02f79799, 0x00825e73, 0x01dd5216, 0x00a90e68, 0x01f394f6, 0x02f46d99, 0x0394c627, 0x013e2d39, 0x0019fc73}}}, + {X: Field{[10]uint32{0x03a2670c, 0x0055bdaf, 0x033e6e08, 0x00ae8189, 0x007400f8, 0x00cd40c9, 0x02a9caa8, 0x020de22d, 0x02c28bcb, 0x0012934e}}, Y: Field{[10]uint32{0x02c1764d, 0x02e7ff75, 0x03eed808, 0x0132fca6, 0x01493059, 0x03bc0ae7, 0x027711dd, 0x01693c5f, 0x011c0184, 0x001c2aee}}}, + {X: Field{[10]uint32{0x007c4b65, 0x00d3ab72, 0x032a9ccf, 0x0228781e, 0x0196f880, 0x0019b392, 0x036c5e2c, 0x00071ff1, 0x01c4cbd0, 0x003b9f5a}}, Y: Field{[10]uint32{0x0136a95a, 0x023d13b4, 0x002e523e, 0x0266eba5, 0x02c33e89, 0x00c3cbb8, 0x0192abf0, 0x004e0868, 0x026ec1a4, 0x003b3218}}}, + {X: Field{[10]uint32{0x00b24aa7, 0x01abf893, 0x01c530d9, 0x0318e4d1, 0x00903108, 0x03fe3f86, 0x02e6fd89, 0x00600b0e, 0x01190ae9, 0x0017decb}}, Y: Field{[10]uint32{0x02693d7d, 0x0201d0d2, 0x01d0c6d7, 0x01c24f20, 0x03ce8deb, 0x03399f11, 0x023f80a3, 0x03caccc2, 0x0200c4fd, 0x0001dc0d}}}, + {X: Field{[10]uint32{0x03004130, 0x018cb5ff, 0x02b09842, 0x00ce070d, 0x0249fd86, 0x01532d6a, 0x02a14e52, 0x0061ac99, 0x01b5f72d, 0x001435dd}}, Y: Field{[10]uint32{0x036e406d, 0x02e31937, 0x024c3456, 0x0117bbda, 0x032975d9, 0x0004018f, 0x01724346, 0x02955f14, 0x023b0f4e, 0x000d007b}}}, + {X: Field{[10]uint32{0x037fb8bd, 0x006f17cb, 0x0090a419, 0x02857f90, 0x007bc464, 0x025221b6, 0x02c24e6d, 0x024340ab, 0x0051339d, 0x00144e5d}}, Y: Field{[10]uint32{0x03908c0f, 0x012b0b60, 0x00d5a809, 0x034f8fe6, 0x03fafc32, 0x03a05711, 0x008fefda, 0x00efcd2e, 0x003e4764, 0x003f35c5}}}, + {X: Field{[10]uint32{0x00889f3f, 0x007e0e4d, 0x01da7f2a, 0x022d1425, 0x03c4feb2, 0x005a6c3a, 0x02a3469b, 0x00465887, 0x0026f1b2, 0x0021e644}}, Y: Field{[10]uint32{0x03bb792b, 0x00b7e6f0, 0x0037b49e, 0x006fca18, 0x01e932f6, 0x005fc9e7, 0x032f2cb7, 0x00765884, 0x014ca5a9, 0x00377aae}}}, + {X: Field{[10]uint32{0x0236ca73, 0x01d2457b, 0x033ede2b, 0x034daeef, 0x03eac864, 0x03c05221, 0x0029112b, 0x037ee2a9, 0x02d62bfb, 0x0033e0c5}}, Y: Field{[10]uint32{0x02c25534, 0x0248650b, 0x0310f5b4, 0x02636235, 0x001c9615, 0x0037329a, 0x00445089, 0x0275cf8e, 0x018deb5d, 0x00027fad}}}, + {X: Field{[10]uint32{0x019c8f0a, 0x036611af, 0x00e64afc, 0x00b22f61, 0x00af3e9f, 0x0300ea1f, 0x0126603b, 0x02913f0e, 0x00ed297b, 0x001b8845}}, Y: Field{[10]uint32{0x016a2c9b, 0x02452374, 0x0195ebd7, 0x01d743e5, 0x01090bec, 0x00317647, 0x026d50f8, 0x001b89f6, 0x020cc26f, 0x00015646}}}, + {X: Field{[10]uint32{0x0352f97d, 0x024df5ad, 0x036613c8, 0x031d7cd1, 0x025a2efb, 0x0233e985, 0x039d2866, 0x02d27794, 0x029a4c4b, 0x00218437}}, Y: Field{[10]uint32{0x031b1af2, 0x01f73507, 0x003e0805, 0x027d5155, 0x0257ab4d, 0x014cfe67, 0x03cd99b2, 0x002ef24d, 0x03a02b63, 0x0034c665}}}, + {X: Field{[10]uint32{0x00cb3e41, 0x03f77f18, 0x012c0997, 0x013cc22e, 0x03143d08, 0x027a63b4, 0x010cec0a, 0x020a7cf8, 0x00e69dd4, 0x0039e89b}}, Y: Field{[10]uint32{0x032cfd51, 0x02a50873, 0x003e20e8, 0x0301083a, 0x00d0a6b2, 0x02abeec6, 0x01b006a1, 0x02612d1c, 0x02300fa7, 0x000a9d63}}}, + }, + { + {X: Field{[10]uint32{0x00cb3e41, 0x03f77f18, 0x012c0997, 0x013cc22e, 0x03143d08, 0x027a63b4, 0x010cec0a, 0x020a7cf8, 0x00e69dd4, 0x0039e89b}}, Y: Field{[10]uint32{0x032cfd51, 0x02a50873, 0x003e20e8, 0x0301083a, 0x00d0a6b2, 0x02abeec6, 0x01b006a1, 0x02612d1c, 0x02300fa7, 0x000a9d63}}}, + {X: Field{[10]uint32{0x034ae861, 0x0396e45e, 0x02fa9d97, 0x03935b8c, 0x01203c35, 0x01c8227d, 0x038bfb67, 0x03e34034, 0x02ba036b, 0x003d72be}}, Y: Field{[10]uint32{0x0182239c, 0x0308e703, 0x005f3cc9, 0x027154bc, 0x019b3b2a, 0x01020e45, 0x03f99046, 0x01b605ef, 0x038a022a, 0x00067a0e}}}, + {X: Field{[10]uint32{0x02ee42db, 0x027f4afe, 0x0314a70f, 0x016d1cc1, 0x01d9bbbc, 0x007b2ff0, 0x03b6edb9, 0x024543f1, 0x03e7d9b5, 0x00330d09}}, Y: Field{[10]uint32{0x01d87bdb, 0x00a70045, 0x0022dc62, 0x02b639c9, 0x0010e5cb, 0x02c85480, 0x01e3fd3f, 0x031a8621, 0x0041a521, 0x003a8926}}}, + {X: Field{[10]uint32{0x012a9651, 0x035335ef, 0x0182084f, 0x02712532, 0x028f9e50, 0x01fa0150, 0x01f5156d, 0x00fc7c4b, 0x0024ceb6, 0x003a4e24}}, Y: Field{[10]uint32{0x02786824, 0x0378add7, 0x00bfefef, 0x033b19dc, 0x018d7110, 0x019c6abc, 0x0287abaf, 0x019657e4, 0x00872372, 0x0021921a}}}, + {X: Field{[10]uint32{0x02d4a086, 0x00d9b19f, 0x0010eff4, 0x00563a71, 0x00b1d75c, 0x02f2d73d, 0x003c585f, 0x011177b2, 0x01bacd98, 0x002523c1}}, Y: Field{[10]uint32{0x022bca4b, 0x006003e7, 0x022d1a2a, 0x029c70fe, 0x011c2328, 0x00044e50, 0x03450a66, 0x00a8ce0b, 0x009ffb5a, 0x0021932a}}}, + {X: Field{[10]uint32{0x0296e4f1, 0x029c594b, 0x00030cb0, 0x01802ba0, 0x02ff5f01, 0x00d7bf32, 0x01777083, 0x0065f880, 0x008f0198, 0x0015aec5}}, Y: Field{[10]uint32{0x02b0582e, 0x027c067b, 0x030eb588, 0x0348012b, 0x037313d1, 0x038c3aa7, 0x0303ed8b, 0x0028cefa, 0x00a56130, 0x00282561}}}, + {X: Field{[10]uint32{0x03542c21, 0x02fa9b2d, 0x00c15c0c, 0x034a3a99, 0x03ae19f4, 0x01475b50, 0x016fc454, 0x026b2419, 0x01629291, 0x00096106}}, Y: Field{[10]uint32{0x032bfabf, 0x02f8c659, 0x02d7b3be, 0x021b930a, 0x01f3e3a1, 0x031d44f5, 0x025daa4c, 0x00912007, 0x031f1cdb, 0x003f2cd6}}}, + {X: Field{[10]uint32{0x00ddab8b, 0x03506b9f, 0x00e6fcf2, 0x00494f1a, 0x039f0e4d, 0x020b430d, 0x0116900d, 0x0095afb4, 0x01d87829, 0x00099156}}, Y: Field{[10]uint32{0x001de473, 0x0192d140, 0x031e6c9f, 0x02bce72b, 0x037a8631, 0x00d01cb5, 0x03bc6370, 0x0144b3bd, 0x011926d3, 0x001e796f}}}, + {X: Field{[10]uint32{0x001ecbf8, 0x01187d03, 0x017ca43c, 0x037a6bbb, 0x036489f0, 0x007a1087, 0x029754cc, 0x0314948a, 0x01c41373, 0x001f84b3}}, Y: Field{[10]uint32{0x00bed615, 0x016e336c, 0x019f59d4, 0x00763f87, 0x01c969f6, 0x03934496, 0x03f94dab, 0x0320dc50, 0x0388888d, 0x001c4a13}}}, + {X: Field{[10]uint32{0x018a26c1, 0x028a3ee2, 0x0304ae2d, 0x0285ce4e, 0x019a954f, 0x0309b871, 0x02351579, 0x014aedba, 0x00fd373b, 0x002da832}}, Y: Field{[10]uint32{0x0278217c, 0x0143b6a2, 0x01a06f55, 0x03a162ad, 0x00fc94a5, 0x02f69feb, 0x0101e3fe, 0x01d2526a, 0x03bfda03, 0x0017bc64}}}, + {X: Field{[10]uint32{0x00557d86, 0x01994705, 0x03ff417e, 0x011e3999, 0x031cfeec, 0x028169b3, 0x02b91ca7, 0x010a99dc, 0x02ff2a37, 0x0012e3b0}}, Y: Field{[10]uint32{0x01167eb9, 0x026c646d, 0x03692bdd, 0x03bc3f0f, 0x0328d5f2, 0x0149eb17, 0x024072de, 0x015eac52, 0x03ff04c1, 0x003f79b0}}}, + {X: Field{[10]uint32{0x01f23d1f, 0x015fd660, 0x036d8a4c, 0x035c8300, 0x02b6b25f, 0x03f62829, 0x03d489e1, 0x002eeef4, 0x00153d67, 0x002ce63a}}, Y: Field{[10]uint32{0x032ff3fc, 0x00faffe0, 0x016cd158, 0x022b4985, 0x02ea791d, 0x02c02e94, 0x037feb2f, 0x03d1fc1f, 0x0022572d, 0x001a7d67}}}, + {X: Field{[10]uint32{0x0380763c, 0x020b4ed1, 0x0291d52b, 0x017a4995, 0x025f8a6d, 0x025eb01f, 0x02436dc6, 0x00e9094c, 0x01073396, 0x003f3570}}, Y: Field{[10]uint32{0x00e851cb, 0x039d080e, 0x023a4b54, 0x00b9c591, 0x00b119b2, 0x03dcb8e3, 0x0320db35, 0x00b118ed, 0x03e2e552, 0x0006376a}}}, + {X: Field{[10]uint32{0x03e9fc8d, 0x0311e98c, 0x028ad2b1, 0x0026093c, 0x0348b848, 0x0118c69c, 0x00d0b205, 0x0177fe9b, 0x01c1bb42, 0x0018d283}}, Y: Field{[10]uint32{0x033f87b6, 0x01fcc2c9, 0x00616958, 0x02863b57, 0x03519ad5, 0x03792a73, 0x0205a657, 0x012db2bf, 0x021fe75a, 0x0035d6f8}}}, + {X: Field{[10]uint32{0x018ef686, 0x00ef8c17, 0x02e66bce, 0x03d0089c, 0x03f68e48, 0x02099b94, 0x038a5daf, 0x032f9488, 0x00ee5843, 0x002403cb}}, Y: Field{[10]uint32{0x0121a8cf, 0x029259f8, 0x016d5073, 0x03d0f245, 0x00596cdf, 0x00d27444, 0x01c551b1, 0x01096b58, 0x0155ec60, 0x001ccab0}}}, + {X: Field{[10]uint32{0x026b80ef, 0x00a7acf7, 0x0024f3cf, 0x0259f5e5, 0x0171cbcb, 0x00ef2f71, 0x03540c22, 0x00bb2348, 0x020ee366, 0x002d9167}}, Y: Field{[10]uint32{0x0271ba45, 0x02fc2d86, 0x01b2ff30, 0x01b5238d, 0x03c4b3ae, 0x0159876c, 0x01adf16e, 0x0381b787, 0x036d06f3, 0x00019f21}}}, + }, + { + {X: Field{[10]uint32{0x026b80ef, 0x00a7acf7, 0x0024f3cf, 0x0259f5e5, 0x0171cbcb, 0x00ef2f71, 0x03540c22, 0x00bb2348, 0x020ee366, 0x002d9167}}, Y: Field{[10]uint32{0x0271ba45, 0x02fc2d86, 0x01b2ff30, 0x01b5238d, 0x03c4b3ae, 0x0159876c, 0x01adf16e, 0x0381b787, 0x036d06f3, 0x00019f21}}}, + {X: Field{[10]uint32{0x033eb51f, 0x03bcdd40, 0x00211253, 0x01daf9e7, 0x03b68905, 0x007d0564, 0x0136f730, 0x00f22393, 0x00f0d982, 0x0039763a}}, Y: Field{[10]uint32{0x0262a2d9, 0x016f6596, 0x0354979d, 0x011b67c3, 0x00e509dc, 0x023fbbbc, 0x0316a57d, 0x00f812ae, 0x01b7861e, 0x0013707a}}}, + {X: Field{[10]uint32{0x019888e9, 0x033c9e4c, 0x00a8b439, 0x01afc912, 0x033d12ba, 0x0259a059, 0x0260d302, 0x029b8b77, 0x02773ac3, 0x0007e43a}}, Y: Field{[10]uint32{0x03113b79, 0x037f25fb, 0x022e656f, 0x03fb9654, 0x00213751, 0x007ae5aa, 0x00153d27, 0x02843a56, 0x027c15da, 0x00226f8d}}}, + {X: Field{[10]uint32{0x03155e64, 0x019d9203, 0x0011737a, 0x013ea28c, 0x01ab66be, 0x006eb837, 0x02b0f732, 0x0230f715, 0x03f77dbc, 0x002a7289}}, Y: Field{[10]uint32{0x021b3297, 0x03cccf15, 0x030ae1f3, 0x02086f2b, 0x00875d41, 0x0300b401, 0x017d2246, 0x00535346, 0x035678fb, 0x003d2ecc}}}, + {X: Field{[10]uint32{0x0162222c, 0x03bedbcd, 0x032c6085, 0x01e6479b, 0x02de0344, 0x00d2d4ae, 0x0302bad3, 0x0382b5b9, 0x014dedff, 0x0004e939}}, Y: Field{[10]uint32{0x00200145, 0x0059a32a, 0x004c08cb, 0x01deb724, 0x02d4f9c5, 0x03582694, 0x00ac2f81, 0x03a04ecb, 0x014e5816, 0x0032759f}}}, + {X: Field{[10]uint32{0x01bf6c42, 0x02acf770, 0x0075393e, 0x026c4662, 0x02f7793d, 0x01b3b9d3, 0x03465481, 0x00171fb9, 0x033cd6c1, 0x00340b86}}, Y: Field{[10]uint32{0x03bc54cc, 0x018ca3e1, 0x02aac133, 0x026e4c6d, 0x02bca587, 0x00349149, 0x0332270d, 0x00896049, 0x00f3ca8e, 0x002682dd}}}, + {X: Field{[10]uint32{0x003b46bb, 0x0393703d, 0x02525437, 0x018feb24, 0x0112ed3a, 0x0211576f, 0x0007c05d, 0x02ab7475, 0x02bf233c, 0x00186647}}, Y: Field{[10]uint32{0x0020a848, 0x03d64073, 0x00d8ef48, 0x027294bb, 0x011ca872, 0x01beeb7c, 0x02f38716, 0x03924a54, 0x0308f3fd, 0x00007178}}}, + {X: Field{[10]uint32{0x02ee247c, 0x02f18a75, 0x00ee06d4, 0x0211fd47, 0x011f478e, 0x0073f9d6, 0x03a10561, 0x035fc97a, 0x01800686, 0x001a3edc}}, Y: Field{[10]uint32{0x0201865d, 0x03e08b46, 0x03c9dae1, 0x002c131c, 0x039a8d58, 0x0006c301, 0x03354275, 0x0258d9cd, 0x023462dd, 0x003344b4}}}, + {X: Field{[10]uint32{0x021add3b, 0x02f8f774, 0x03d8f7e5, 0x013d15c9, 0x018b9a94, 0x03458984, 0x0039cdb0, 0x034e1d24, 0x02a4b787, 0x003a89eb}}, Y: Field{[10]uint32{0x028ce7dd, 0x038a476d, 0x01be71b5, 0x035a3938, 0x0278b212, 0x00970bd8, 0x023ceb23, 0x005f795c, 0x01e6e42a, 0x0031c3fc}}}, + {X: Field{[10]uint32{0x02da1f54, 0x016af6f8, 0x025df934, 0x03088c50, 0x021b2b52, 0x024d1445, 0x03550ab1, 0x0183ae61, 0x03b23df2, 0x001c4dfd}}, Y: Field{[10]uint32{0x01c3edbc, 0x02350db3, 0x01bb84af, 0x03551b3f, 0x03ebf081, 0x03c98029, 0x00dacb17, 0x0201d397, 0x02d80435, 0x0017f9e2}}}, + {X: Field{[10]uint32{0x011ff757, 0x02be2ed8, 0x0226e6e8, 0x01d07130, 0x029b4ce9, 0x01b8adb6, 0x01010f8b, 0x03f552ea, 0x01356b7f, 0x00165194}}, Y: Field{[10]uint32{0x014d031a, 0x019bb2a2, 0x03e3b28a, 0x01edfeff, 0x01961bbc, 0x017101be, 0x02038d01, 0x009d4010, 0x020ce5df, 0x000d844d}}}, + {X: Field{[10]uint32{0x036c15c2, 0x03d1fc63, 0x00f1ca1e, 0x005323ce, 0x003de764, 0x027450d2, 0x01739813, 0x01d5ffa8, 0x0052bca1, 0x002115aa}}, Y: Field{[10]uint32{0x03174134, 0x03bf0ca2, 0x03671ff1, 0x002615be, 0x034cc90f, 0x0041e79f, 0x0349ec37, 0x00b37bf4, 0x0246d484, 0x00386e76}}}, + {X: Field{[10]uint32{0x036160b5, 0x009628d8, 0x02bc0676, 0x0091c39f, 0x00ccc53f, 0x000247b0, 0x003af797, 0x00ca43a1, 0x023915f7, 0x0005ac9b}}, Y: Field{[10]uint32{0x00a1dc0e, 0x0097efd6, 0x03ef8146, 0x02b1c2e8, 0x00e1363a, 0x018d9535, 0x03643524, 0x03be2ed8, 0x025a6302, 0x000183d5}}}, + {X: Field{[10]uint32{0x021b793e, 0x0077a4e3, 0x025183d6, 0x028ac34b, 0x01d36aee, 0x033eab93, 0x002eccf2, 0x00739970, 0x017c9835, 0x0013c545}}, Y: Field{[10]uint32{0x03ba9889, 0x03307f70, 0x007aab4f, 0x012cd529, 0x02c0daff, 0x03352833, 0x01da9db9, 0x02e4e7f2, 0x0366079d, 0x00302538}}}, + {X: Field{[10]uint32{0x03b32db8, 0x0134a24d, 0x0391f396, 0x0127d91d, 0x01c91ed7, 0x010b3aa1, 0x02a143c8, 0x027e4c6f, 0x0295c455, 0x000092d4}}, Y: Field{[10]uint32{0x0264f760, 0x0153eaaa, 0x001a9594, 0x0044816e, 0x0062ab68, 0x031796fa, 0x02e2821c, 0x00c271ed, 0x038f5bff, 0x001827fb}}}, + {X: Field{[10]uint32{0x016943e8, 0x0283d6d2, 0x005a5ded, 0x0319f9cf, 0x031d6f1f, 0x0063c188, 0x03234aa1, 0x02e101e4, 0x00c8280b, 0x0035a2a0}}, Y: Field{[10]uint32{0x03133120, 0x0321099a, 0x0295a294, 0x023de114, 0x035b0e7b, 0x01ec38a2, 0x00b1f917, 0x021b4031, 0x01fff4b5, 0x0036e2ea}}}, + }, + { + {X: Field{[10]uint32{0x016943e8, 0x0283d6d2, 0x005a5ded, 0x0319f9cf, 0x031d6f1f, 0x0063c188, 0x03234aa1, 0x02e101e4, 0x00c8280b, 0x0035a2a0}}, Y: Field{[10]uint32{0x03133120, 0x0321099a, 0x0295a294, 0x023de114, 0x035b0e7b, 0x01ec38a2, 0x00b1f917, 0x021b4031, 0x01fff4b5, 0x0036e2ea}}}, + {X: Field{[10]uint32{0x0012b6fd, 0x02888b29, 0x02b828bd, 0x00f1bdc0, 0x00aced05, 0x01d48dcf, 0x02f8efb3, 0x0102f900, 0x009c677a, 0x003c5a90}}, Y: Field{[10]uint32{0x00a052da, 0x036b9dfb, 0x03ca4268, 0x0164927a, 0x02165406, 0x0138c393, 0x026a75a7, 0x009e675e, 0x01171453, 0x000a904c}}}, + {X: Field{[10]uint32{0x00a1c4f9, 0x010aa863, 0x0228235b, 0x00d32adf, 0x004f4efe, 0x0187c5bd, 0x000b83da, 0x01ca3131, 0x038f22bd, 0x001e057d}}, Y: Field{[10]uint32{0x0378bc15, 0x007a8dad, 0x011e19ab, 0x039855df, 0x015cb42d, 0x011630d7, 0x0193cf31, 0x02bda9f7, 0x01e8cd39, 0x00307180}}}, + {X: Field{[10]uint32{0x026dd4e4, 0x0282db8c, 0x018325c1, 0x00bdafb6, 0x01b89f4f, 0x025dbe13, 0x0237f699, 0x01bd0bef, 0x0106ab76, 0x0010552d}}, Y: Field{[10]uint32{0x035ded1c, 0x0164a541, 0x02dd46c8, 0x03674788, 0x02414ea9, 0x004097fd, 0x006e44d6, 0x02622253, 0x035043c5, 0x0008eb41}}}, + {X: Field{[10]uint32{0x028c8530, 0x01b870fb, 0x00d8e6d2, 0x0207be3d, 0x01512df6, 0x005a9b1b, 0x0377c640, 0x01005db8, 0x03cda0ec, 0x0030e49c}}, Y: Field{[10]uint32{0x018446c7, 0x00c3c3de, 0x01715c40, 0x02f68bbb, 0x0050edfc, 0x0070c666, 0x001d3944, 0x00f23a74, 0x02425743, 0x0023106f}}}, + {X: Field{[10]uint32{0x03ed5996, 0x0133a2d0, 0x02f53bde, 0x01664d82, 0x006831fe, 0x00a06e49, 0x02fbc903, 0x0293a924, 0x03e9fe99, 0x000691ad}}, Y: Field{[10]uint32{0x00c85cae, 0x013b447a, 0x0345c2ee, 0x02a7bd49, 0x01508794, 0x0018fafd, 0x03ee084a, 0x03715c38, 0x001ea3f1, 0x001a0f3a}}}, + {X: Field{[10]uint32{0x037a26c1, 0x00902ec8, 0x036a531f, 0x0163036f, 0x01166c6e, 0x00740ec9, 0x0122431c, 0x0046c09d, 0x0047f584, 0x00368c5d}}, Y: Field{[10]uint32{0x00f74d6f, 0x020dbb3b, 0x01525f51, 0x03175ea0, 0x03d36836, 0x0096762d, 0x0384167c, 0x0231a748, 0x03b87f5d, 0x001d4ee5}}}, + {X: Field{[10]uint32{0x037f0246, 0x0069e98f, 0x03ddf4c5, 0x0127f1c9, 0x0293e86e, 0x02d655ba, 0x00a8d4d0, 0x02570420, 0x012769cc, 0x002dcf19}}, Y: Field{[10]uint32{0x022a407b, 0x0394593a, 0x014e5597, 0x03931b95, 0x021a0d72, 0x016db07a, 0x0135893c, 0x032a752d, 0x03107174, 0x002699f6}}}, + {X: Field{[10]uint32{0x0339dc49, 0x018a2a4d, 0x01603d2b, 0x03699bd5, 0x02239392, 0x02ffc8c6, 0x024ac508, 0x0039b041, 0x02cb02af, 0x001a92f9}}, Y: Field{[10]uint32{0x02edd5cf, 0x028ae77c, 0x00a4d3e6, 0x0132c529, 0x00ab7e2b, 0x003ea016, 0x00166e36, 0x001d65f7, 0x03aa2a89, 0x003c5763}}}, + {X: Field{[10]uint32{0x00f8fb8c, 0x026fe776, 0x01e148ad, 0x026ea96f, 0x014cdc2b, 0x031cc044, 0x012facb5, 0x00803254, 0x027060d8, 0x000d966e}}, Y: Field{[10]uint32{0x00c8a3d1, 0x011ae31f, 0x0313575e, 0x0353912e, 0x031e142e, 0x031d261f, 0x01725f8e, 0x00685c4e, 0x01e806e0, 0x0013b9ea}}}, + {X: Field{[10]uint32{0x02987fac, 0x03a28311, 0x02f6798b, 0x021902a1, 0x008bc90f, 0x03b2628f, 0x02982603, 0x01fc4d13, 0x029f13ae, 0x00007df1}}, Y: Field{[10]uint32{0x01174c68, 0x0079ce06, 0x03c263f9, 0x038867da, 0x01cb7f5d, 0x00a6adbe, 0x031036e3, 0x0288b796, 0x003f36fd, 0x002753b3}}}, + {X: Field{[10]uint32{0x022e607b, 0x034d673b, 0x036aa1f4, 0x03b1b03c, 0x0388aa1e, 0x015ff74a, 0x01111f56, 0x01dcb083, 0x0367fd31, 0x0001dccf}}, Y: Field{[10]uint32{0x00614763, 0x03cc4773, 0x017d26a2, 0x03816f80, 0x0089e3bd, 0x02ec55bd, 0x0263a8c5, 0x020a17ab, 0x00fbac17, 0x003f67fa}}}, + {X: Field{[10]uint32{0x02daba4d, 0x00e86f5d, 0x016261d3, 0x003880c6, 0x039c65fb, 0x023e8af2, 0x03062edd, 0x034e072d, 0x0001761f, 0x00155fa5}}, Y: Field{[10]uint32{0x03a52316, 0x01d286ed, 0x0190a513, 0x03d7e90d, 0x02c5e9b8, 0x01732f21, 0x0135cfa1, 0x029f811b, 0x033a601f, 0x001e9fa3}}}, + {X: Field{[10]uint32{0x0005fbdd, 0x00b6734f, 0x001396e2, 0x0149d392, 0x0279589d, 0x01abe80c, 0x0120654b, 0x003120e2, 0x010a0031, 0x0038f91d}}, Y: Field{[10]uint32{0x0135b883, 0x0088c745, 0x02ffbcba, 0x02ff173e, 0x00b46587, 0x01868481, 0x02350499, 0x00964014, 0x0301abad, 0x0003e9e5}}}, + {X: Field{[10]uint32{0x01f5341a, 0x03d4bfca, 0x036b8038, 0x00b19a58, 0x019cc7a3, 0x01ec4050, 0x029d40ea, 0x0216a4ec, 0x02821998, 0x000eb6b6}}, Y: Field{[10]uint32{0x0186c6cc, 0x016024d9, 0x00fbcb51, 0x0396d17a, 0x03e9d6d2, 0x01aac405, 0x02e35bf3, 0x00da7d54, 0x02228999, 0x002ffa87}}}, + {X: Field{[10]uint32{0x028d3d5d, 0x016603f0, 0x01cea409, 0x02e5cd12, 0x009612ae, 0x001e8c2c, 0x01c02709, 0x0201094b, 0x017df65c, 0x000c92bb}}, Y: Field{[10]uint32{0x02ab7c84, 0x00892be5, 0x02843967, 0x0031f8cc, 0x0319213b, 0x02bb07d3, 0x030c0c35, 0x007cbfc4, 0x025774b6, 0x0019228d}}}, + }, + { + {X: Field{[10]uint32{0x028d3d5d, 0x016603f0, 0x01cea409, 0x02e5cd12, 0x009612ae, 0x001e8c2c, 0x01c02709, 0x0201094b, 0x017df65c, 0x000c92bb}}, Y: Field{[10]uint32{0x02ab7c84, 0x00892be5, 0x02843967, 0x0031f8cc, 0x0319213b, 0x02bb07d3, 0x030c0c35, 0x007cbfc4, 0x025774b6, 0x0019228d}}}, + {X: Field{[10]uint32{0x02919749, 0x00e0e06c, 0x01b1fa8f, 0x012a3783, 0x03f72b3e, 0x02035c80, 0x01326818, 0x012408a3, 0x031ea26f, 0x000cb24c}}, Y: Field{[10]uint32{0x0290b5e3, 0x03a5ec3c, 0x02b09631, 0x02f6b8e6, 0x00268a4a, 0x01bcf6ee, 0x01a2f02b, 0x0272d5a5, 0x032b3420, 0x0035f349}}}, + {X: Field{[10]uint32{0x03d53ed3, 0x0245d60b, 0x02ccef5c, 0x03ee7695, 0x01163f74, 0x0077df12, 0x00f60b93, 0x01cab56e, 0x03d59967, 0x00082102}}, Y: Field{[10]uint32{0x027a7132, 0x010ff946, 0x00899871, 0x01ce539c, 0x025487c4, 0x01aebeb0, 0x03bd476a, 0x02090d21, 0x0097cec1, 0x003ca64d}}}, + {X: Field{[10]uint32{0x039795e4, 0x0308949e, 0x02b8e1e1, 0x02db8611, 0x0069c161, 0x03fb1ac7, 0x002f6a70, 0x00de1528, 0x033b3b98, 0x003aca4b}}, Y: Field{[10]uint32{0x0253a0fe, 0x03a74beb, 0x01c6f5b7, 0x01d42444, 0x0357131d, 0x005160d6, 0x016634af, 0x02fa005a, 0x025a96ee, 0x002310f0}}}, + {X: Field{[10]uint32{0x00a35b35, 0x00b2ed62, 0x0121edbd, 0x02297028, 0x011ab5d8, 0x01623aff, 0x013d029e, 0x00e6eef4, 0x03f60eb3, 0x0039adaf}}, Y: Field{[10]uint32{0x001007bd, 0x00a4f6e7, 0x019c7c57, 0x0274efa6, 0x01fe3b6c, 0x00d65877, 0x02f43e38, 0x034bcc99, 0x02bd3300, 0x000697fc}}}, + {X: Field{[10]uint32{0x0032f9a2, 0x02e38a48, 0x006ccc48, 0x0143e87f, 0x03ce566f, 0x007fe3d8, 0x02374cb3, 0x009903b4, 0x02bd9a6b, 0x00096ab1}}, Y: Field{[10]uint32{0x0351d4f0, 0x008c284a, 0x033d9e76, 0x02ef1067, 0x02559883, 0x013c643d, 0x0332f54f, 0x0151b05b, 0x023ba644, 0x003d69b1}}}, + {X: Field{[10]uint32{0x00360dd3, 0x03be34b0, 0x022090d4, 0x00db6143, 0x0347a8a8, 0x038338ee, 0x030b8086, 0x0266ca22, 0x03745be4, 0x003814c5}}, Y: Field{[10]uint32{0x0024f87b, 0x03b3644f, 0x03dc2b2a, 0x037a6040, 0x0061b987, 0x016da805, 0x0009582b, 0x00bce736, 0x0371a5d9, 0x0037070e}}}, + {X: Field{[10]uint32{0x01303fdd, 0x00e755e2, 0x02d35aea, 0x01fc6747, 0x014d7145, 0x00127ef8, 0x020d4310, 0x017bcb98, 0x0201df3b, 0x0029968e}}, Y: Field{[10]uint32{0x02e68703, 0x0112a340, 0x013cadad, 0x00093ebb, 0x0286861d, 0x003b4b1d, 0x0343d8d9, 0x0171bee3, 0x00940cff, 0x001e63a8}}}, + {X: Field{[10]uint32{0x0098dfea, 0x011998b4, 0x038797c1, 0x0324ba99, 0x03fadcb3, 0x020e9795, 0x018e5d2a, 0x01b16780, 0x033a7788, 0x002a054e}}, Y: Field{[10]uint32{0x026d892f, 0x026a77db, 0x034158a4, 0x03dd0b6b, 0x03b1b5e0, 0x01e14f80, 0x018db9c5, 0x0183f14f, 0x016461d0, 0x000a91ce}}}, + {X: Field{[10]uint32{0x024c9489, 0x00c354b4, 0x00a98616, 0x039b8539, 0x00c0aef4, 0x01ba754a, 0x027887ff, 0x019f0a68, 0x0315d9d5, 0x0018a06e}}, Y: Field{[10]uint32{0x01f42bc6, 0x01fc9ae7, 0x033ad918, 0x01374c86, 0x0145fd96, 0x01ba6efd, 0x02738f45, 0x02a19648, 0x01a0908d, 0x000bf4f1}}}, + {X: Field{[10]uint32{0x03cecfa5, 0x039de922, 0x03b020a7, 0x03686c5a, 0x032a0d62, 0x00e3b68e, 0x034695c6, 0x02b76b7a, 0x03b30fec, 0x0013c170}}, Y: Field{[10]uint32{0x01d37b53, 0x034092a5, 0x008cd2ec, 0x00c7c06d, 0x01447ee4, 0x01654d2e, 0x01632361, 0x0109beb7, 0x01ea603d, 0x0014e926}}}, + {X: Field{[10]uint32{0x00445a7a, 0x00c72ea5, 0x01ec5901, 0x03c2073c, 0x01df9535, 0x01807235, 0x02f11b6c, 0x031afec4, 0x03bc9f06, 0x003e0bfb}}, Y: Field{[10]uint32{0x002a7a98, 0x02b38619, 0x011e5963, 0x02d91903, 0x00b51c83, 0x02502d29, 0x003942c1, 0x01ad9d54, 0x03bdc6fb, 0x00252ecd}}}, + {X: Field{[10]uint32{0x004b96aa, 0x039d9642, 0x03cce461, 0x00d548aa, 0x02d02986, 0x028ee603, 0x02405e1a, 0x02a46f89, 0x02b99f67, 0x00364c26}}, Y: Field{[10]uint32{0x02b28a86, 0x0313cdf0, 0x02978f26, 0x03eebf3f, 0x03d3b6c9, 0x009d32d7, 0x0210f066, 0x03155f5f, 0x032a9b4e, 0x001bbe66}}}, + {X: Field{[10]uint32{0x02b7d2d5, 0x03750ac5, 0x02a66f6f, 0x0134755b, 0x022637b8, 0x00bbd40b, 0x030f3d32, 0x01080f20, 0x03aa9783, 0x0028a16a}}, Y: Field{[10]uint32{0x0001f99c, 0x01754be4, 0x013e9c40, 0x0086dadd, 0x02d86573, 0x0042cb8a, 0x03952dfe, 0x01eb1a4a, 0x0292cd1b, 0x00395ba5}}}, + {X: Field{[10]uint32{0x038fcf0e, 0x02e34167, 0x026facf7, 0x03f79f12, 0x01d65b6f, 0x03aa8d04, 0x01c3446d, 0x00b4d6ea, 0x00a13856, 0x001f561f}}, Y: Field{[10]uint32{0x00bc9459, 0x03068276, 0x0380a501, 0x002b4c8d, 0x00c46390, 0x033f5ab4, 0x023400b6, 0x0131849c, 0x00038830, 0x0029ca57}}}, + {X: Field{[10]uint32{0x01054c96, 0x02f4dcff, 0x00a888e8, 0x00eea347, 0x00eec414, 0x017fb977, 0x011dfdbe, 0x03987db5, 0x014919cd, 0x00137e70}}, Y: Field{[10]uint32{0x02d10d5d, 0x02eb01b2, 0x0090192e, 0x03370a21, 0x00b5d506, 0x02876175, 0x00974c23, 0x021ca014, 0x0051092d, 0x00000d7b}}}, + }, + { + {X: Field{[10]uint32{0x01054c96, 0x02f4dcff, 0x00a888e8, 0x00eea347, 0x00eec414, 0x017fb977, 0x011dfdbe, 0x03987db5, 0x014919cd, 0x00137e70}}, Y: Field{[10]uint32{0x02d10d5d, 0x02eb01b2, 0x0090192e, 0x03370a21, 0x00b5d506, 0x02876175, 0x00974c23, 0x021ca014, 0x0051092d, 0x00000d7b}}}, + {X: Field{[10]uint32{0x01a49e04, 0x01ac3f07, 0x00d70c0c, 0x015395ea, 0x00e9de45, 0x012e1c22, 0x01317d4e, 0x02663349, 0x02d8d2cc, 0x003b4cb2}}, Y: Field{[10]uint32{0x001db9e0, 0x0048345f, 0x02b7db63, 0x02b2d27e, 0x0352da9f, 0x02167482, 0x001ca375, 0x00081295, 0x035f1d03, 0x0004a7fb}}}, + {X: Field{[10]uint32{0x01ef001d, 0x00897697, 0x0227ef4f, 0x035a626e, 0x0321f9bb, 0x0278ed92, 0x020bd1c0, 0x00b2bc83, 0x032db27e, 0x00295268}}, Y: Field{[10]uint32{0x00624783, 0x036c69fc, 0x0305add5, 0x00a98b25, 0x02eb141e, 0x02296515, 0x00cc30ed, 0x019b2f7d, 0x027906d9, 0x001e66de}}}, + {X: Field{[10]uint32{0x0083f855, 0x0106353a, 0x00016cb7, 0x032d8f0d, 0x0228c36d, 0x031c0d9b, 0x009e4111, 0x0183c601, 0x03724d63, 0x003a086a}}, Y: Field{[10]uint32{0x01852ddf, 0x03831a96, 0x023efed4, 0x031853b0, 0x018b3b19, 0x0105b3d6, 0x010d4115, 0x00f38d9f, 0x03f863f5, 0x002b7bf2}}}, + {X: Field{[10]uint32{0x012ed4cb, 0x03bc7971, 0x02c5a05a, 0x03ecf027, 0x02c954de, 0x00d4cb9b, 0x0308bd98, 0x03b3448f, 0x0330da07, 0x001f9e63}}, Y: Field{[10]uint32{0x00bb9462, 0x005981e5, 0x037a1257, 0x006ffe7c, 0x03b17357, 0x03bcbc15, 0x01a9549d, 0x02b20c10, 0x00c4a24d, 0x00348f73}}}, + {X: Field{[10]uint32{0x0206e37a, 0x01de2b10, 0x00731a24, 0x02523141, 0x034d8c18, 0x02d689d3, 0x00e83f46, 0x02000b3d, 0x0387f286, 0x002d49aa}}, Y: Field{[10]uint32{0x00c5ccab, 0x019e3ffc, 0x0392abf3, 0x026c03e8, 0x0128ce53, 0x0029bc63, 0x00aaced6, 0x00363b57, 0x01d77810, 0x001907cd}}}, + {X: Field{[10]uint32{0x03630834, 0x00e83ef4, 0x00067fdf, 0x00a18f6b, 0x008463f1, 0x02a32042, 0x01b9e96b, 0x011e0eb5, 0x02003151, 0x000893e8}}, Y: Field{[10]uint32{0x007a2272, 0x0311cdf1, 0x00f75cd3, 0x013b0294, 0x013d6292, 0x0247427d, 0x00b70fa3, 0x036970f1, 0x0232bb3e, 0x002ef953}}}, + {X: Field{[10]uint32{0x0041742e, 0x03d67bad, 0x006e9fbf, 0x011ebce0, 0x032f14a5, 0x0325a4e9, 0x015452fb, 0x03484bd1, 0x0194e51a, 0x000fc362}}, Y: Field{[10]uint32{0x03ecadbe, 0x014d8ef3, 0x03d958c6, 0x00b0eb44, 0x031e205e, 0x011e9b82, 0x025cb0e8, 0x00f71117, 0x0023f28c, 0x003ef5db}}}, + {X: Field{[10]uint32{0x003c19d7, 0x01927456, 0x0357bb67, 0x0116b0b3, 0x02bbbb5e, 0x0108a3bc, 0x01a25cce, 0x00e7904a, 0x00cc600a, 0x0030b528}}, Y: Field{[10]uint32{0x0107928d, 0x00a2e0b1, 0x01c9772f, 0x020c5cd1, 0x0126804a, 0x03d04983, 0x0183b5f7, 0x018a5350, 0x00f9c080, 0x00196b68}}}, + {X: Field{[10]uint32{0x01848116, 0x01507957, 0x027bba04, 0x0003f278, 0x001cc9b1, 0x03a52115, 0x0072ce10, 0x034ef814, 0x019abb39, 0x0005a4de}}, Y: Field{[10]uint32{0x027198b3, 0x03d9b080, 0x012e483d, 0x03971366, 0x02c03193, 0x01b1837b, 0x02af60f1, 0x03631539, 0x033b9cb2, 0x00312710}}}, + {X: Field{[10]uint32{0x00940c9a, 0x0202b52f, 0x0233084c, 0x0384ebd0, 0x0113cf3c, 0x01137708, 0x01585e27, 0x03cc6439, 0x027ec305, 0x000bb08a}}, Y: Field{[10]uint32{0x011e7a4d, 0x0253f661, 0x01bdacd1, 0x020f668d, 0x03124051, 0x00a71ffa, 0x02e24f50, 0x01e5a130, 0x0068de33, 0x0022c769}}}, + {X: Field{[10]uint32{0x01d9123f, 0x00e0c7ae, 0x03a7d7e9, 0x006c7e22, 0x0129fc79, 0x03ef47a4, 0x015f8eca, 0x01a9bcbe, 0x038f72aa, 0x000d06d4}}, Y: Field{[10]uint32{0x00bb9a40, 0x0282abc6, 0x026ed19e, 0x029c14a8, 0x0072dee6, 0x0049366b, 0x02f2f041, 0x03167ae9, 0x024719c1, 0x00161604}}}, + {X: Field{[10]uint32{0x01683eeb, 0x003b97f7, 0x03133aa7, 0x00e28234, 0x033e36eb, 0x00212e3c, 0x01af6525, 0x0233b2ac, 0x01738f9a, 0x002bf19a}}, Y: Field{[10]uint32{0x00cd4509, 0x00a72acc, 0x01fdc91e, 0x015497b7, 0x02570bab, 0x0288e705, 0x0359c7fc, 0x009d4af0, 0x01976dd2, 0x00000b08}}}, + {X: Field{[10]uint32{0x03aad77f, 0x001ec731, 0x03b7fa7d, 0x037c3d69, 0x006d4ebb, 0x01da659c, 0x004afc3a, 0x02e378ca, 0x033ec68e, 0x0013c3aa}}, Y: Field{[10]uint32{0x00e6eea8, 0x00fc4773, 0x0092ce6c, 0x0234096b, 0x00adaa07, 0x00ab0bca, 0x008de306, 0x02dd5d68, 0x027176eb, 0x002ca3a8}}}, + {X: Field{[10]uint32{0x036f4293, 0x0007e1ed, 0x01139ea2, 0x02d594f1, 0x0210e978, 0x01c2ca0b, 0x01bc8cf3, 0x00cc2448, 0x035a9f34, 0x0034955e}}, Y: Field{[10]uint32{0x0282740a, 0x0061e894, 0x01a5f1db, 0x00e37901, 0x03e34b68, 0x02d2b487, 0x0282f06e, 0x009fc049, 0x034355e4, 0x0029e1ec}}}, + {X: Field{[10]uint32{0x001f98cd, 0x0326722b, 0x00308cbf, 0x001535fc, 0x01523489, 0x03319808, 0x02d8a9c1, 0x0121c3eb, 0x01a84a47, 0x00270e46}}, Y: Field{[10]uint32{0x00fc599d, 0x039780f5, 0x008e6be7, 0x03ddb193, 0x01905326, 0x00983990, 0x00f044bf, 0x03755d61, 0x030f4a4d, 0x00376e13}}}, + }, + { + {X: Field{[10]uint32{0x001f98cd, 0x0326722b, 0x00308cbf, 0x001535fc, 0x01523489, 0x03319808, 0x02d8a9c1, 0x0121c3eb, 0x01a84a47, 0x00270e46}}, Y: Field{[10]uint32{0x00fc599d, 0x039780f5, 0x008e6be7, 0x03ddb193, 0x01905326, 0x00983990, 0x00f044bf, 0x03755d61, 0x030f4a4d, 0x00376e13}}}, + {X: Field{[10]uint32{0x014a09ec, 0x03bededa, 0x035f0435, 0x0294fa14, 0x000cd326, 0x01724aa9, 0x002fc69d, 0x03603c29, 0x01326255, 0x000b8f01}}, Y: Field{[10]uint32{0x00c7327e, 0x0121a062, 0x02651253, 0x00f1c1ed, 0x03e048a5, 0x020bf06a, 0x01ae240b, 0x01bed6f7, 0x0091656c, 0x000007fe}}}, + {X: Field{[10]uint32{0x03b64db3, 0x026354e3, 0x0138417b, 0x0328e775, 0x02a7ede4, 0x0394ee35, 0x03bb83fb, 0x0332dd02, 0x039229bd, 0x00304508}}, Y: Field{[10]uint32{0x000259be, 0x0033a7ff, 0x027d1e23, 0x02413515, 0x01a87580, 0x03a5e2f4, 0x00ecde4f, 0x01bf0a97, 0x02dc5b48, 0x00048dfd}}}, + {X: Field{[10]uint32{0x039c7ce6, 0x03c668aa, 0x00934205, 0x005a8642, 0x00337103, 0x03893769, 0x015fb7e3, 0x00561eb8, 0x024ccfa4, 0x003a38a8}}, Y: Field{[10]uint32{0x0036267c, 0x0007ada2, 0x03a73b2c, 0x000ed709, 0x016e09e6, 0x02fb8816, 0x02f2b2b3, 0x01746d32, 0x03ce0c6f, 0x0011b260}}}, + {X: Field{[10]uint32{0x03081e46, 0x03b60d00, 0x019ea1ed, 0x02315515, 0x013a5221, 0x02498d1c, 0x02d9c2c1, 0x01c89020, 0x03f831a7, 0x001b16d2}}, Y: Field{[10]uint32{0x03fbcd70, 0x03e72e02, 0x02a62ed1, 0x0209ab08, 0x0041d0cf, 0x038af91e, 0x0347863c, 0x0350bec8, 0x03714926, 0x0032c144}}}, + {X: Field{[10]uint32{0x011349e2, 0x00cab77c, 0x00c05808, 0x03d05d49, 0x0160e3ec, 0x0106b5e3, 0x02147e9a, 0x030b9f98, 0x0324c6b9, 0x003e0160}}, Y: Field{[10]uint32{0x032025fc, 0x0311a796, 0x0288d5fa, 0x02d589b7, 0x03509498, 0x03a84488, 0x0281aa60, 0x015b3737, 0x025a0a88, 0x00257183}}}, + {X: Field{[10]uint32{0x024dcd4b, 0x0396bb11, 0x00124dca, 0x03566447, 0x010c30c7, 0x02ac4291, 0x0270665c, 0x02b792d5, 0x0056670c, 0x00387a6a}}, Y: Field{[10]uint32{0x03041f2c, 0x02d897ae, 0x02b292d0, 0x026ab285, 0x027f44d1, 0x02c95de4, 0x02c43599, 0x0314c6de, 0x02954455, 0x00158ac2}}}, + {X: Field{[10]uint32{0x02c7b3c2, 0x034e59a2, 0x01b5f5b0, 0x0248e0f5, 0x0212acaf, 0x01c00ca8, 0x030a38b1, 0x01cf0acb, 0x02ac5d85, 0x0029d526}}, Y: Field{[10]uint32{0x0287eaef, 0x03245c64, 0x016dffa0, 0x00554dc4, 0x035d6b51, 0x00651f4a, 0x01a1d70c, 0x009054cd, 0x01b90d1c, 0x002f45f4}}}, + {X: Field{[10]uint32{0x03add73c, 0x021dbf8a, 0x00b7d005, 0x03640a99, 0x008fd9cd, 0x03b70508, 0x00a74e42, 0x02c265de, 0x0257ad11, 0x00146c86}}, Y: Field{[10]uint32{0x0336d8d1, 0x0352b87a, 0x034ba6f7, 0x003ca31c, 0x026c2013, 0x034b073e, 0x00a07f01, 0x034f9755, 0x0010001f, 0x00001e4c}}}, + {X: Field{[10]uint32{0x017e2c95, 0x037265af, 0x00d82ab7, 0x02852e1e, 0x036f3f2b, 0x02b15055, 0x019a12a8, 0x034697b7, 0x03fbb24a, 0x003281f2}}, Y: Field{[10]uint32{0x0150dfa2, 0x0266eb23, 0x00cbf05e, 0x03ccedf8, 0x013ac306, 0x030419b2, 0x00a2267b, 0x003b7d2a, 0x011032df, 0x002bb70c}}}, + {X: Field{[10]uint32{0x0309f34b, 0x01742dce, 0x026ce6d7, 0x03982331, 0x01e58873, 0x00fce758, 0x02b6296f, 0x02de6186, 0x03a63b1c, 0x0025c07c}}, Y: Field{[10]uint32{0x00df5793, 0x03214330, 0x00794acd, 0x00e5ff73, 0x037104bc, 0x0055a0cd, 0x03031b53, 0x003b4575, 0x03bb8caf, 0x000f7512}}}, + {X: Field{[10]uint32{0x02548418, 0x01c7446b, 0x03923173, 0x01f62260, 0x02dce488, 0x00de8d06, 0x03072b05, 0x01f8a4be, 0x00c9e481, 0x000b9b6c}}, Y: Field{[10]uint32{0x00a2b918, 0x01e4b004, 0x035f1e69, 0x01cf870f, 0x004b8e1d, 0x022a4459, 0x01314897, 0x01befe88, 0x02411d77, 0x001d3ada}}}, + {X: Field{[10]uint32{0x031e2f46, 0x039888ef, 0x0383015c, 0x007a1c9d, 0x035270f7, 0x00358f15, 0x01592e04, 0x019b3111, 0x001d2c9e, 0x00280dad}}, Y: Field{[10]uint32{0x02ffb349, 0x00789a57, 0x031f4f73, 0x020b3fc2, 0x010680e2, 0x01e7ac23, 0x031f6aa4, 0x01acf5f7, 0x01a003e9, 0x0030efe4}}}, + {X: Field{[10]uint32{0x03db2a09, 0x00154580, 0x01bbf096, 0x021f7080, 0x01f63142, 0x029d9b68, 0x01638800, 0x0030d4af, 0x0004d9c3, 0x002c2773}}, Y: Field{[10]uint32{0x00b1a093, 0x01f6cea0, 0x014e7aed, 0x035305ab, 0x026a951b, 0x02bab403, 0x008d1635, 0x009037dc, 0x006481cf, 0x00229fcc}}}, + {X: Field{[10]uint32{0x004cea08, 0x022e40e3, 0x0221dbcd, 0x02e8383a, 0x02654b58, 0x01001194, 0x00a61153, 0x023141bd, 0x02dbaa4e, 0x001aa17e}}, Y: Field{[10]uint32{0x0062f4f3, 0x037b3966, 0x021b6a19, 0x012d0f5c, 0x00b4271a, 0x023f988c, 0x01933c14, 0x0196754c, 0x0204bae4, 0x00002d91}}}, + {X: Field{[10]uint32{0x00a959e5, 0x004e0848, 0x014cc5a2, 0x00ea2e47, 0x0391e149, 0x036381ae, 0x0205f281, 0x00bf7e37, 0x030b1dd1, 0x001815c5}}, Y: Field{[10]uint32{0x0385a2a8, 0x026fa4c8, 0x00c65e89, 0x02f0fb89, 0x02465152, 0x01c77c98, 0x019a2daf, 0x01201eb7, 0x00b26a6a, 0x002686bc}}}, + }, + { + {X: Field{[10]uint32{0x00a959e5, 0x004e0848, 0x014cc5a2, 0x00ea2e47, 0x0391e149, 0x036381ae, 0x0205f281, 0x00bf7e37, 0x030b1dd1, 0x001815c5}}, Y: Field{[10]uint32{0x0385a2a8, 0x026fa4c8, 0x00c65e89, 0x02f0fb89, 0x02465152, 0x01c77c98, 0x019a2daf, 0x01201eb7, 0x00b26a6a, 0x002686bc}}}, + {X: Field{[10]uint32{0x02fd545c, 0x02729760, 0x00e66189, 0x0237528a, 0x037c133f, 0x01b72177, 0x014110a4, 0x0381900e, 0x01677c52, 0x0019dcff}}, Y: Field{[10]uint32{0x007eb1ae, 0x01fc0d25, 0x00f98e8c, 0x03d6871b, 0x03ead780, 0x034ac91a, 0x00f25c9d, 0x0194bc3c, 0x02d8cd97, 0x001113ad}}}, + {X: Field{[10]uint32{0x031c032b, 0x036858a5, 0x01c980d4, 0x02285ebf, 0x01ff6b66, 0x03f1d9b1, 0x0111b5fd, 0x000980f7, 0x00fcd6e0, 0x001c7aea}}, Y: Field{[10]uint32{0x0268359f, 0x02d6a385, 0x00755e7a, 0x0345dd2d, 0x0371931a, 0x01532edf, 0x0260516f, 0x034e77bd, 0x02624b61, 0x0034bfc4}}}, + {X: Field{[10]uint32{0x0386f021, 0x03185ac2, 0x00050373, 0x00e0411a, 0x020374e4, 0x038321f0, 0x03c79aac, 0x0395948d, 0x0194d17c, 0x00383e1b}}, Y: Field{[10]uint32{0x01bf325a, 0x02de732d, 0x0045b3b6, 0x0300457f, 0x009a80bc, 0x0072268b, 0x011e832f, 0x02f3d1ea, 0x0073730a, 0x000315c7}}}, + {X: Field{[10]uint32{0x0203a61c, 0x0391d14a, 0x00574d06, 0x03d1a41c, 0x00507868, 0x02aaa774, 0x0217442b, 0x02748cb2, 0x0305b324, 0x002157b0}}, Y: Field{[10]uint32{0x025dfc07, 0x031baab1, 0x004965df, 0x013a85f9, 0x02d332f7, 0x02d0bed3, 0x003cbff9, 0x00705fd5, 0x012ec5f0, 0x00037617}}}, + {X: Field{[10]uint32{0x02aa138b, 0x00367dce, 0x02cd66df, 0x002fbde1, 0x0363efba, 0x03119c7f, 0x003ebc18, 0x02b8a1e5, 0x0249d3c3, 0x00105ff8}}, Y: Field{[10]uint32{0x021ae869, 0x0246ccd2, 0x026afd1c, 0x037b0155, 0x03c19daf, 0x003ea795, 0x00a5d29f, 0x00f8e308, 0x01d7bcd2, 0x00008d62}}}, + {X: Field{[10]uint32{0x0332d706, 0x03029207, 0x00678b00, 0x0291d1a8, 0x020618cc, 0x00256fe8, 0x010d29a3, 0x03efc7c5, 0x006abab3, 0x000f3912}}, Y: Field{[10]uint32{0x007fd9e4, 0x01cd8dff, 0x0289f40b, 0x010f3587, 0x02edd156, 0x00425241, 0x02fd046b, 0x01e14a23, 0x008daae3, 0x0039dd50}}}, + {X: Field{[10]uint32{0x02da6e03, 0x001dcb00, 0x016038ad, 0x03e4232b, 0x034c277d, 0x035a5bd3, 0x0191e193, 0x0141073a, 0x01ab9f24, 0x0010b285}}, Y: Field{[10]uint32{0x00347793, 0x02227ea3, 0x03ea7836, 0x029a041a, 0x02d66e85, 0x032e003b, 0x03ce4d1f, 0x015f2591, 0x0326c81c, 0x001a34bb}}}, + {X: Field{[10]uint32{0x011cd3fb, 0x01032ede, 0x03e686db, 0x03f65ca6, 0x034a2a33, 0x03e2113a, 0x02e03218, 0x00dfebc0, 0x01143f4e, 0x00047331}}, Y: Field{[10]uint32{0x01160d86, 0x01c5ae95, 0x03472a93, 0x03f4b374, 0x01fa0b1e, 0x00e3308e, 0x028e2449, 0x00477ad4, 0x032a902b, 0x0012a95a}}}, + {X: Field{[10]uint32{0x01583a3e, 0x02ebc10a, 0x02808108, 0x02662c55, 0x00b15205, 0x036521c7, 0x0275dbbe, 0x03df955c, 0x033f16d0, 0x00162255}}, Y: Field{[10]uint32{0x025b124f, 0x016632df, 0x029cf8f1, 0x01335331, 0x0096fe29, 0x0269ad39, 0x00f5df8a, 0x015bf811, 0x0062c558, 0x0006be8a}}}, + {X: Field{[10]uint32{0x018f7552, 0x02e44658, 0x00fac387, 0x022e6015, 0x01bd4113, 0x0208e0b7, 0x0397774f, 0x0271bd0e, 0x0317e514, 0x0000942e}}, Y: Field{[10]uint32{0x0110b14d, 0x0212588d, 0x02f1e3f0, 0x00f0ccf5, 0x03da006f, 0x03fa7605, 0x02d7df75, 0x020208d0, 0x00fc9bbe, 0x001cc64c}}}, + {X: Field{[10]uint32{0x0307e636, 0x0162d040, 0x011d97e1, 0x039cc858, 0x00b4a77d, 0x028844b2, 0x01bc29bd, 0x01d910f7, 0x01601638, 0x0008867c}}, Y: Field{[10]uint32{0x01f15109, 0x0286cb5c, 0x02f55e07, 0x0034fdce, 0x016dd723, 0x02e08c2f, 0x0006d4f1, 0x028bd86e, 0x00ac5cb6, 0x00012a61}}}, + {X: Field{[10]uint32{0x03725d12, 0x004fa4e7, 0x0347505d, 0x02ef72d7, 0x03d94642, 0x02808bef, 0x00a39ce0, 0x01ff4ead, 0x0088b346, 0x00069d27}}, Y: Field{[10]uint32{0x03ac56e4, 0x01945348, 0x01aa7013, 0x01a62643, 0x03607208, 0x00abcf63, 0x018be75c, 0x0038b3d1, 0x019573ec, 0x001fa474}}}, + {X: Field{[10]uint32{0x02c704c0, 0x00b59c2d, 0x0394f5d2, 0x0183b378, 0x00560446, 0x00d41e09, 0x027f8a6e, 0x0099d285, 0x0107c92f, 0x0029deaa}}, Y: Field{[10]uint32{0x02dfea48, 0x02f1c11f, 0x01462af8, 0x0311d056, 0x014c921f, 0x030af56a, 0x01e188e5, 0x033f93c8, 0x02e5bf35, 0x002e2206}}}, + {X: Field{[10]uint32{0x01fae458, 0x0012394a, 0x0097fd61, 0x0109d9bb, 0x028b0a5c, 0x037edecc, 0x01d156a5, 0x00863042, 0x005be0f8, 0x0031d41a}}, Y: Field{[10]uint32{0x0357b598, 0x01a10655, 0x011a2b01, 0x0140cd65, 0x000a5dca, 0x019cb1ed, 0x012f414c, 0x007817ed, 0x01f8cf92, 0x003ab5e5}}}, + {X: Field{[10]uint32{0x00b94266, 0x01a5cfbb, 0x01f12b1a, 0x03ee9f53, 0x0080cef0, 0x006368c6, 0x01439a45, 0x02104508, 0x038e23a0, 0x00295db7}}, Y: Field{[10]uint32{0x01b28ec8, 0x02f846b8, 0x019f3ee8, 0x029fd453, 0x00432e10, 0x0163360b, 0x02b97afe, 0x0102cb24, 0x0320e766, 0x001029af}}}, + }, + { + {X: Field{[10]uint32{0x00b94266, 0x01a5cfbb, 0x01f12b1a, 0x03ee9f53, 0x0080cef0, 0x006368c6, 0x01439a45, 0x02104508, 0x038e23a0, 0x00295db7}}, Y: Field{[10]uint32{0x01b28ec8, 0x02f846b8, 0x019f3ee8, 0x029fd453, 0x00432e10, 0x0163360b, 0x02b97afe, 0x0102cb24, 0x0320e766, 0x001029af}}}, + {X: Field{[10]uint32{0x02704896, 0x015c96f6, 0x03b8dcec, 0x018f26b3, 0x026f3ba0, 0x02f9c6eb, 0x02520867, 0x0168ed51, 0x0062ef3b, 0x00279773}}, Y: Field{[10]uint32{0x0282c835, 0x009da772, 0x0351248f, 0x006180c3, 0x0279605d, 0x0131d848, 0x03d3a215, 0x017cfa97, 0x012ddb92, 0x001bfb74}}}, + {X: Field{[10]uint32{0x019ed6c1, 0x02bad633, 0x013d6b68, 0x016f0f56, 0x02c24e74, 0x0017b743, 0x03fc1877, 0x03d4fa02, 0x036dcb74, 0x0000ca0c}}, Y: Field{[10]uint32{0x00fafeee, 0x01baf9be, 0x0094adec, 0x037c972d, 0x00265bf4, 0x00835f23, 0x02d5943a, 0x027ca311, 0x003812fd, 0x001c6a26}}}, + {X: Field{[10]uint32{0x00bf7ea0, 0x03b561d1, 0x01833953, 0x028173bd, 0x00e33625, 0x01bc0ec8, 0x016e9f97, 0x0116b7e3, 0x00375b87, 0x0029f782}}, Y: Field{[10]uint32{0x03bcabaa, 0x030154e6, 0x01aa2e04, 0x0303faf1, 0x02645a47, 0x012223a6, 0x004a0b33, 0x02979484, 0x02b057ad, 0x00298f65}}}, + {X: Field{[10]uint32{0x0235983a, 0x02a6a34c, 0x00eb2919, 0x00dc04ef, 0x01e38a10, 0x003f854c, 0x023926d7, 0x00715371, 0x02ae8b91, 0x003393d3}}, Y: Field{[10]uint32{0x013cdecf, 0x035ac643, 0x0340aecf, 0x008a3afd, 0x03526c65, 0x039c1d50, 0x02de0249, 0x03eeecfa, 0x0173c390, 0x003cf27e}}}, + {X: Field{[10]uint32{0x02da57e4, 0x01592299, 0x019f86b7, 0x01bbf737, 0x0298c499, 0x018c6f07, 0x01ea2a74, 0x0062e76f, 0x02e39839, 0x001a4336}}, Y: Field{[10]uint32{0x033f33bb, 0x00656d24, 0x023d42b6, 0x03ef3a56, 0x01f863d8, 0x01656253, 0x01fd91bf, 0x01e691ea, 0x0079677b, 0x002102b7}}}, + {X: Field{[10]uint32{0x01b0e6c9, 0x02aad995, 0x00c89a6d, 0x033de1b9, 0x01db5ff9, 0x037e2f2f, 0x0228fb36, 0x018889e3, 0x03a54b98, 0x00136faf}}, Y: Field{[10]uint32{0x02b2cc25, 0x029e1557, 0x00efae94, 0x02caf141, 0x03589311, 0x03888a7c, 0x01a626e6, 0x00ebb7d1, 0x03b03c91, 0x00043fb9}}}, + {X: Field{[10]uint32{0x02d916fb, 0x023e8412, 0x024a3a9f, 0x03f7a527, 0x03e68065, 0x0073fd32, 0x03c35ac0, 0x02032704, 0x018e6890, 0x00309999}}, Y: Field{[10]uint32{0x00887814, 0x03bd4ae8, 0x0138856a, 0x037fad84, 0x036b8fec, 0x009189ea, 0x0398170b, 0x036aac3d, 0x013854e7, 0x0039fa16}}}, + {X: Field{[10]uint32{0x01857295, 0x00068469, 0x03f0164e, 0x01fc0d0c, 0x0069c8e4, 0x02872848, 0x02e118fc, 0x0170862c, 0x000bfef4, 0x00290a89}}, Y: Field{[10]uint32{0x027eb9c1, 0x00ddffb2, 0x0139556b, 0x00b34546, 0x0027a1c2, 0x01376931, 0x026b22b2, 0x0175159e, 0x03f26100, 0x000ea82c}}}, + {X: Field{[10]uint32{0x005c5b40, 0x02f3f580, 0x03d1e269, 0x021e6ee7, 0x03150b96, 0x023330f7, 0x01ed382e, 0x0334536b, 0x00c8bf53, 0x00292d4f}}, Y: Field{[10]uint32{0x01c61bfd, 0x017b45b4, 0x019e3d1f, 0x026fdd49, 0x03199cca, 0x037f6961, 0x015ca003, 0x016e0112, 0x00ce8300, 0x0033bbc2}}}, + {X: Field{[10]uint32{0x03cdc098, 0x003fd55b, 0x02803222, 0x003dab91, 0x01550ae0, 0x00312670, 0x03f1f86c, 0x008899e9, 0x032f96fb, 0x000d384a}}, Y: Field{[10]uint32{0x027474e2, 0x02c6b79a, 0x003f664c, 0x00c3c662, 0x0304df51, 0x005e5cb6, 0x034cbc84, 0x034c8b65, 0x02ddd7b5, 0x002992b0}}}, + {X: Field{[10]uint32{0x00fb8036, 0x02262a97, 0x035085f9, 0x024b0368, 0x033ad09a, 0x03f59fa0, 0x02117dd1, 0x011ed22b, 0x0351fb16, 0x0033fd89}}, Y: Field{[10]uint32{0x00f59de0, 0x03ced689, 0x02825843, 0x0363d80c, 0x0278a589, 0x021850f1, 0x03e34b58, 0x00b46b17, 0x0126bd54, 0x00337d3b}}}, + {X: Field{[10]uint32{0x03173b92, 0x01bad7a3, 0x037611cd, 0x03d05a7e, 0x003b7e72, 0x03d3595a, 0x0231a218, 0x0247ca6f, 0x0240d9bb, 0x00043d34}}, Y: Field{[10]uint32{0x033146c2, 0x00801b58, 0x02db7c90, 0x0274521a, 0x0290bb76, 0x00ce422e, 0x01b25a5a, 0x014eb484, 0x01950917, 0x0021438b}}}, + {X: Field{[10]uint32{0x004393d7, 0x01983b74, 0x01de1ee6, 0x00959dd2, 0x03869dff, 0x008d5cf8, 0x017f8936, 0x03cee10c, 0x00018a78, 0x0037a87f}}, Y: Field{[10]uint32{0x01710ccd, 0x01f53be5, 0x00cbdbf9, 0x0268ade7, 0x03af6def, 0x01b59b80, 0x03f134ff, 0x0171434e, 0x01cc942e, 0x0013d952}}}, + {X: Field{[10]uint32{0x00d84958, 0x03f4766a, 0x005caee6, 0x02c5b2b3, 0x026a11de, 0x03503321, 0x0319b976, 0x01df9d27, 0x000b69b6, 0x003a11ba}}, Y: Field{[10]uint32{0x0082cf9f, 0x01191ede, 0x001a640c, 0x00d9c783, 0x03ad51a3, 0x01e62ddb, 0x01bd9104, 0x01f89507, 0x00fc894c, 0x0028a72e}}}, + {X: Field{[10]uint32{0x0258ad71, 0x018e226f, 0x03a208f7, 0x03d73e68, 0x00bb30d1, 0x0277a30e, 0x005fe962, 0x030f8c28, 0x038c28de, 0x001dde29}}, Y: Field{[10]uint32{0x019f43ac, 0x004ff07f, 0x02c563b5, 0x0047fc92, 0x0087b384, 0x00bfd600, 0x0098e12f, 0x02c8bfdc, 0x019ab5a5, 0x000d189b}}}, + }, + { + {X: Field{[10]uint32{0x0258ad71, 0x018e226f, 0x03a208f7, 0x03d73e68, 0x00bb30d1, 0x0277a30e, 0x005fe962, 0x030f8c28, 0x038c28de, 0x001dde29}}, Y: Field{[10]uint32{0x019f43ac, 0x004ff07f, 0x02c563b5, 0x0047fc92, 0x0087b384, 0x00bfd600, 0x0098e12f, 0x02c8bfdc, 0x019ab5a5, 0x000d189b}}}, + {X: Field{[10]uint32{0x0073e879, 0x02870944, 0x02ea7a7e, 0x016b8413, 0x032cf16a, 0x03c3f8e4, 0x02f482d7, 0x001b458c, 0x016b5ca0, 0x0039ee5e}}, Y: Field{[10]uint32{0x02a89d98, 0x01c4226e, 0x00af338e, 0x0097b6a6, 0x029cb5bf, 0x00df3072, 0x002102a7, 0x0278bf7d, 0x008c1916, 0x0004ae26}}}, + {X: Field{[10]uint32{0x0319c869, 0x031bab8c, 0x032702f7, 0x0175d87a, 0x0018a9f9, 0x03f32b37, 0x01839022, 0x00ff2340, 0x005d9817, 0x000c0601}}, Y: Field{[10]uint32{0x02b856f0, 0x031db274, 0x01a7bfc0, 0x032928f6, 0x03ca2a84, 0x03588b8e, 0x02624320, 0x02dedbe1, 0x01782503, 0x002b17f1}}}, + {X: Field{[10]uint32{0x02628f0f, 0x035c8afc, 0x02919865, 0x02abcabb, 0x0365423d, 0x02f8269c, 0x00915a24, 0x01880f0b, 0x00185087, 0x0001c6fc}}, Y: Field{[10]uint32{0x01a1c334, 0x03172f51, 0x000bbb57, 0x01a88c72, 0x02098f9c, 0x03021338, 0x03600bc1, 0x033d2b8c, 0x015d504d, 0x00149ea8}}}, + {X: Field{[10]uint32{0x01ed29b5, 0x01a61be9, 0x01d1b4c6, 0x0181c4ab, 0x01f5830b, 0x0298f221, 0x02b67db9, 0x01fbcd0e, 0x01b61ee5, 0x000c8a20}}, Y: Field{[10]uint32{0x00d15ad2, 0x03c49b9f, 0x03604ef4, 0x02ae53b9, 0x01ca83ae, 0x01054c78, 0x010b19df, 0x00d13ac4, 0x028417a0, 0x00059dc0}}}, + {X: Field{[10]uint32{0x00953133, 0x01f726c6, 0x021ae647, 0x00a9d21c, 0x017fb3b4, 0x03f337ea, 0x012806c0, 0x03748e20, 0x034fed0d, 0x000282ca}}, Y: Field{[10]uint32{0x00af0fc9, 0x00928dcd, 0x00ba94bc, 0x03a2c3b5, 0x016fa384, 0x01916323, 0x001c6ca8, 0x02fcbc0f, 0x002cfb5a, 0x00336846}}}, + {X: Field{[10]uint32{0x02c96100, 0x02a101e1, 0x008e63bf, 0x006a9ba7, 0x00a16301, 0x037cf6f3, 0x003dd9b2, 0x006e7fed, 0x033ac0fb, 0x000fce11}}, Y: Field{[10]uint32{0x02624707, 0x00ab06fc, 0x031bcf1e, 0x01f02dd7, 0x0166571c, 0x03c1e739, 0x034c4462, 0x000e5494, 0x0055f5d4, 0x001c31a7}}}, + {X: Field{[10]uint32{0x039620e1, 0x00ddb7e8, 0x013786f6, 0x03214048, 0x025b1911, 0x0300f0e7, 0x0232e594, 0x0395a0ce, 0x003acb9b, 0x0000860d}}, Y: Field{[10]uint32{0x006998b5, 0x00667d94, 0x009ec5e0, 0x0290bd0f, 0x00443299, 0x000beff0, 0x03f24fd6, 0x0142fabc, 0x0148970a, 0x002faa07}}}, + {X: Field{[10]uint32{0x0122d2ac, 0x031bb1bf, 0x02ce0234, 0x0049b72a, 0x0310ddfe, 0x01e177cb, 0x003c0e09, 0x029db72d, 0x03c5fd27, 0x000a2044}}, Y: Field{[10]uint32{0x0342a268, 0x03ad57e3, 0x008fd081, 0x01285523, 0x03ddc3d4, 0x0325d84d, 0x00777260, 0x031723c8, 0x030158fb, 0x002869fa}}}, + {X: Field{[10]uint32{0x02e515dd, 0x0284ebbf, 0x024228c1, 0x008cd0ea, 0x029d0453, 0x012f7f8b, 0x035866ab, 0x0306083b, 0x02fee6ee, 0x0028afe6}}, Y: Field{[10]uint32{0x02c30212, 0x02a5ac01, 0x018745c3, 0x02aa6a3a, 0x0000f2e3, 0x03017a8a, 0x00a5e2ab, 0x02adece8, 0x0071c55c, 0x0016846f}}}, + {X: Field{[10]uint32{0x005f8ea8, 0x02a03749, 0x02900d4b, 0x038e5934, 0x01d17248, 0x01c467f9, 0x03f4d95d, 0x00e8a954, 0x0200c846, 0x003e58e8}}, Y: Field{[10]uint32{0x01bc99eb, 0x0157ec16, 0x020824bc, 0x00d6762d, 0x008bb8f2, 0x03fd09c8, 0x03722301, 0x020f028e, 0x00268c7f, 0x00272165}}}, + {X: Field{[10]uint32{0x030a2a53, 0x03c3b037, 0x0211e7ea, 0x02cfe059, 0x02d51dca, 0x00ea6e24, 0x00394574, 0x0265f0ea, 0x018d07c3, 0x001be194}}, Y: Field{[10]uint32{0x033bfeb2, 0x02695d1c, 0x01f35113, 0x01cbaa81, 0x00bf54f7, 0x029c265a, 0x0376ea95, 0x020bca6d, 0x0216fd45, 0x003542bd}}}, + {X: Field{[10]uint32{0x0206a315, 0x02a20c49, 0x023ad9e1, 0x01cbc9a5, 0x02407260, 0x0243825f, 0x00d8b2a5, 0x03669fe6, 0x024cff70, 0x00297648}}, Y: Field{[10]uint32{0x023b68d1, 0x0184cd67, 0x027c9d35, 0x00d1f446, 0x01ed4d0d, 0x01e6037a, 0x03306abd, 0x03696cd0, 0x03003b20, 0x0021cca2}}}, + {X: Field{[10]uint32{0x00d52891, 0x027abd36, 0x01f52af1, 0x03620fae, 0x0339a0f7, 0x02c5ffe9, 0x0244de90, 0x02378d19, 0x03c9cbc5, 0x000ef092}}, Y: Field{[10]uint32{0x0105b79c, 0x03478a13, 0x032d1386, 0x00a02921, 0x004da845, 0x02fed23d, 0x02bed840, 0x00f629ff, 0x00a48a78, 0x003c238c}}}, + {X: Field{[10]uint32{0x02231493, 0x02ded501, 0x00d469cd, 0x020c3331, 0x0096411a, 0x003979a9, 0x034e41d0, 0x030d813a, 0x002e1b73, 0x003c7fa6}}, Y: Field{[10]uint32{0x018848c1, 0x02a6699d, 0x030d0196, 0x00d1b97f, 0x03f173fb, 0x03df6674, 0x02d3c205, 0x01377085, 0x01eaed9a, 0x000b8806}}}, + {X: Field{[10]uint32{0x02d903ac, 0x03b6a701, 0x03e5cb09, 0x01d396b5, 0x02d5f962, 0x039ebf4b, 0x0329fd30, 0x02a1118d, 0x015ee637, 0x00024a25}}, Y: Field{[10]uint32{0x03cd091f, 0x0203a4d6, 0x0183fc51, 0x03bea2a3, 0x02ac3d26, 0x024ea57b, 0x0378a130, 0x010aa09e, 0x01003d3f, 0x00309588}}}, + }, + { + {X: Field{[10]uint32{0x02d903ac, 0x03b6a701, 0x03e5cb09, 0x01d396b5, 0x02d5f962, 0x039ebf4b, 0x0329fd30, 0x02a1118d, 0x015ee637, 0x00024a25}}, Y: Field{[10]uint32{0x03cd091f, 0x0203a4d6, 0x0183fc51, 0x03bea2a3, 0x02ac3d26, 0x024ea57b, 0x0378a130, 0x010aa09e, 0x01003d3f, 0x00309588}}}, + {X: Field{[10]uint32{0x0359dd9e, 0x0011e983, 0x030e7231, 0x03156d63, 0x027ce5e9, 0x032c62b5, 0x01163b04, 0x034d436b, 0x01ee3771, 0x0013e26f}}, Y: Field{[10]uint32{0x0156b049, 0x01ab8c80, 0x01f5c101, 0x014198e3, 0x031e4882, 0x010eec91, 0x00baf4c0, 0x007da571, 0x02d5227a, 0x00329e54}}}, + {X: Field{[10]uint32{0x0074b839, 0x004a1d5e, 0x02b41811, 0x02ce54f4, 0x02be4115, 0x008c2dab, 0x03df0dfb, 0x0396a014, 0x001fc0e1, 0x000f80ee}}, Y: Field{[10]uint32{0x000594ba, 0x0073959f, 0x01b8da0c, 0x03c3f6ad, 0x027de5c5, 0x01c663d9, 0x00f66075, 0x01fd0b11, 0x0163dff0, 0x00344eb8}}}, + {X: Field{[10]uint32{0x03f01197, 0x030c533f, 0x005bf529, 0x03c1e689, 0x0194b668, 0x00b0f132, 0x0396baca, 0x0316a030, 0x0304cae3, 0x0032e7a0}}, Y: Field{[10]uint32{0x03989c1d, 0x01381d8e, 0x00a24c33, 0x02300578, 0x0341b2d1, 0x03c22245, 0x03258cdf, 0x0039a849, 0x02801eb8, 0x0018b1f4}}}, + {X: Field{[10]uint32{0x0357a513, 0x03de39a0, 0x0023f3a3, 0x004d16cc, 0x01f151bd, 0x028a48b1, 0x02fa283a, 0x0124b358, 0x00b7a2f4, 0x003998b0}}, Y: Field{[10]uint32{0x0017d07e, 0x02880728, 0x00d89192, 0x0358954e, 0x01d8035c, 0x00486906, 0x01ae208a, 0x01148c17, 0x013ce612, 0x002ac2c6}}}, + {X: Field{[10]uint32{0x01a7d197, 0x03a434ee, 0x019459ba, 0x030623a9, 0x035e83a8, 0x008b08d2, 0x038ffe0a, 0x03d8e51d, 0x0254280d, 0x0030b162}}, Y: Field{[10]uint32{0x01eeb5e9, 0x00732fe2, 0x002484e4, 0x011516b6, 0x020a47ec, 0x00bb4e69, 0x03041ab6, 0x00249d5c, 0x0288366e, 0x001cba8c}}}, + {X: Field{[10]uint32{0x0337d242, 0x017dfbf7, 0x014b0499, 0x02981e70, 0x01c29fec, 0x02f8d61f, 0x03862c7c, 0x03db2e10, 0x00b1c94c, 0x00102fe0}}, Y: Field{[10]uint32{0x02405088, 0x03609e69, 0x035583d1, 0x02e90af4, 0x0274321e, 0x02c9bf84, 0x013fe9b1, 0x02abc13d, 0x0135d856, 0x002d5e77}}}, + {X: Field{[10]uint32{0x008d2cc2, 0x027ff094, 0x0058c15f, 0x0351c123, 0x018e0bee, 0x001cc371, 0x00cf2a41, 0x01a6f4f2, 0x01b0f89c, 0x0038bcd2}}, Y: Field{[10]uint32{0x00d4c04f, 0x011ef638, 0x03db37e3, 0x03a38272, 0x0242344b, 0x0180856e, 0x0060aec7, 0x01c8de06, 0x03280f82, 0x0007facb}}}, + {X: Field{[10]uint32{0x015a3558, 0x00acd916, 0x027f2baf, 0x021788d2, 0x02ac071f, 0x0236d67d, 0x02f97813, 0x0329c201, 0x0297601d, 0x000f453f}}, Y: Field{[10]uint32{0x0043df4c, 0x036ceb19, 0x01727c6a, 0x03851f07, 0x0082e0a2, 0x02fd5b85, 0x029a931d, 0x0207be3c, 0x01d6e846, 0x0005b1af}}}, + {X: Field{[10]uint32{0x00ea4178, 0x031c0905, 0x03cd510f, 0x0153931d, 0x03782e03, 0x01dd2532, 0x00453c6a, 0x018da1a0, 0x0072d175, 0x00011c2a}}, Y: Field{[10]uint32{0x00098bd6, 0x01127c6e, 0x01aea079, 0x01c1a613, 0x0319b568, 0x034e7032, 0x02145e9f, 0x026b359d, 0x03a9c110, 0x00022669}}}, + {X: Field{[10]uint32{0x02b1fc24, 0x027d6b60, 0x03570ede, 0x0071f8fd, 0x012528d8, 0x03249219, 0x001ac4d2, 0x01949473, 0x0140e82e, 0x00375be9}}, Y: Field{[10]uint32{0x029b74ca, 0x00c71183, 0x022304a4, 0x01afb5cc, 0x03ec10de, 0x00595f9d, 0x026f1ebf, 0x0061bf8d, 0x037eb1d3, 0x0019f98a}}}, + {X: Field{[10]uint32{0x03369217, 0x0379b658, 0x011ead74, 0x01a40198, 0x01ca1c39, 0x01013ab3, 0x01a278f5, 0x03589288, 0x00ffcba4, 0x0010b714}}, Y: Field{[10]uint32{0x022dbc57, 0x0025f88f, 0x01e841c3, 0x03b2a380, 0x03a7a139, 0x0182ea14, 0x0178f5f1, 0x016c75fb, 0x021f6638, 0x00296ea6}}}, + {X: Field{[10]uint32{0x01d08e02, 0x02a4564f, 0x0302881e, 0x02dff6b7, 0x00108547, 0x028f47a0, 0x0069499a, 0x0175e03e, 0x01a82de5, 0x0004fe8b}}, Y: Field{[10]uint32{0x00b03410, 0x0150770f, 0x02b97da5, 0x02ec6690, 0x03e644af, 0x02ed0cb1, 0x03356206, 0x0369c8c4, 0x00b04555, 0x0004d8ce}}}, + {X: Field{[10]uint32{0x0246a9e9, 0x006b3a45, 0x03b0423f, 0x029f62b9, 0x015dcbb7, 0x03329d77, 0x01f82bb9, 0x03bdd5f4, 0x039c4b0a, 0x002560ad}}, Y: Field{[10]uint32{0x0256a698, 0x035d24ea, 0x002ffbc4, 0x0317c4ee, 0x0001cbb5, 0x02be39a9, 0x02c6acee, 0x009bbb53, 0x01800ed4, 0x0008819f}}}, + {X: Field{[10]uint32{0x004ee41a, 0x00ceae65, 0x029a6ac2, 0x0374edf5, 0x02879b56, 0x00b1a0a0, 0x03c10b67, 0x002910fd, 0x0051d3c7, 0x00341b12}}, Y: Field{[10]uint32{0x03295e6f, 0x03e13a62, 0x02e252f1, 0x00d1858b, 0x019b7b84, 0x013d8c24, 0x030acd4f, 0x0342b6ee, 0x014c0584, 0x0016057f}}}, + {X: Field{[10]uint32{0x03d82751, 0x02b9d458, 0x0354527a, 0x02a41eb4, 0x015645b4, 0x0038eca1, 0x01064f3a, 0x02c424e6, 0x02f3ec6d, 0x0021743f}}, Y: Field{[10]uint32{0x02b1f962, 0x008de893, 0x0331582c, 0x03a5a1dc, 0x023e8751, 0x020b3d59, 0x01d496e5, 0x02302f8a, 0x008413a3, 0x0007c0d9}}}, + }, + { + {X: Field{[10]uint32{0x03d82751, 0x02b9d458, 0x0354527a, 0x02a41eb4, 0x015645b4, 0x0038eca1, 0x01064f3a, 0x02c424e6, 0x02f3ec6d, 0x0021743f}}, Y: Field{[10]uint32{0x02b1f962, 0x008de893, 0x0331582c, 0x03a5a1dc, 0x023e8751, 0x020b3d59, 0x01d496e5, 0x02302f8a, 0x008413a3, 0x0007c0d9}}}, + {X: Field{[10]uint32{0x015fcade, 0x015b4507, 0x01ff7563, 0x038025c4, 0x0068b482, 0x034477c1, 0x007a6cfc, 0x0313d3d8, 0x034b19a4, 0x001ade43}}, Y: Field{[10]uint32{0x0338d3ff, 0x03fe1bf0, 0x02b0ab6f, 0x02d1ef89, 0x03a83fa5, 0x032b8272, 0x016661f9, 0x03acfbca, 0x001b2ff9, 0x00340ea6}}}, + {X: Field{[10]uint32{0x00de4cf3, 0x0154187b, 0x0066ab99, 0x00d51e28, 0x039340e5, 0x005766b9, 0x03c2d26d, 0x008b0ef9, 0x034ac114, 0x000e136a}}, Y: Field{[10]uint32{0x012d0566, 0x01e5ac89, 0x03a73b7c, 0x00ce5d46, 0x001f430a, 0x00ad31bc, 0x034ed6da, 0x03290efe, 0x01bcd1b9, 0x0035b8f1}}}, + {X: Field{[10]uint32{0x03a3e0cb, 0x03336af8, 0x00be0bb0, 0x037a165e, 0x023d2479, 0x03313e3f, 0x022c367a, 0x02fb4f05, 0x032c2d7e, 0x00104526}}, Y: Field{[10]uint32{0x039033a8, 0x024ba60c, 0x00f2470e, 0x0017bd24, 0x00b3ec78, 0x0240b3ca, 0x0015c9b9, 0x00c150ad, 0x0392db7c, 0x00324356}}}, + {X: Field{[10]uint32{0x025238c2, 0x03cfa487, 0x00b8b98a, 0x0170e03b, 0x0040355f, 0x03a0bb52, 0x031610b4, 0x0056a906, 0x000eb7d4, 0x00053c3b}}, Y: Field{[10]uint32{0x02f07922, 0x01a8d1e4, 0x0139d6e8, 0x03600c12, 0x03d25c00, 0x02109d1f, 0x01fc73e3, 0x01760248, 0x013dd483, 0x002ac4b5}}}, + {X: Field{[10]uint32{0x02972627, 0x00d9a822, 0x01e1f8a4, 0x00100948, 0x00e19216, 0x02f11068, 0x018c1efc, 0x03857206, 0x030949bf, 0x00228c61}}, Y: Field{[10]uint32{0x02bb8af9, 0x011ed591, 0x00bcce7b, 0x016b0fbf, 0x00174436, 0x0161eea9, 0x0177ed28, 0x02993425, 0x008768f7, 0x00192edf}}}, + {X: Field{[10]uint32{0x0143e94d, 0x00d4bbf5, 0x00e188f6, 0x029d5be6, 0x02dd1302, 0x02968376, 0x01c34678, 0x00a1fb10, 0x03bb782c, 0x003ad0bc}}, Y: Field{[10]uint32{0x01924d89, 0x01677911, 0x02d42405, 0x02379835, 0x034cd846, 0x03f37edd, 0x020dd572, 0x0364b726, 0x01074f25, 0x0008d29b}}}, + {X: Field{[10]uint32{0x03f3d3fc, 0x03774a38, 0x01cebf8d, 0x0208170a, 0x02664a9b, 0x021ca9ee, 0x02c3dfe2, 0x021277eb, 0x00fa4e7c, 0x00347eb5}}, Y: Field{[10]uint32{0x00f3704d, 0x008d0f14, 0x03326ed2, 0x00c7bfcd, 0x00bad371, 0x0162de06, 0x033f70e8, 0x03f7f951, 0x0314a348, 0x0023f865}}}, + {X: Field{[10]uint32{0x0219aaed, 0x01396d5f, 0x03327032, 0x037a3199, 0x00459bac, 0x0381aa48, 0x02ec02f6, 0x008366a7, 0x00ca5168, 0x00073c4e}}, Y: Field{[10]uint32{0x012f400e, 0x01ba975a, 0x03ffbc13, 0x023fbf1d, 0x03479eef, 0x02db7785, 0x00372a66, 0x018e197d, 0x02f3171c, 0x0035bff6}}}, + {X: Field{[10]uint32{0x00ba68dd, 0x01cee8b8, 0x02d65374, 0x010e31fa, 0x02bca7c9, 0x0076b4c4, 0x0266838c, 0x01d049fc, 0x02abfe2b, 0x000172fa}}, Y: Field{[10]uint32{0x01d03959, 0x00a7cc9f, 0x033b5942, 0x01c17794, 0x007f3d96, 0x0141bbe8, 0x01386665, 0x0055baba, 0x03b6fa90, 0x0004f288}}}, + {X: Field{[10]uint32{0x02a8aa39, 0x0303a7ed, 0x03ac55f6, 0x01ed29e3, 0x0137a663, 0x01266436, 0x035a0968, 0x03504b21, 0x02be5f40, 0x002d61a1}}, Y: Field{[10]uint32{0x03493c1f, 0x01e4d74a, 0x0347b8fc, 0x02639b6c, 0x01abbdaf, 0x01302a47, 0x01478d45, 0x0230b052, 0x014324c7, 0x00158cb5}}}, + {X: Field{[10]uint32{0x023a1550, 0x011319f2, 0x01f279a5, 0x027e3bff, 0x01801da9, 0x007e2dd4, 0x0130976e, 0x015d04b7, 0x01ab3405, 0x003aff1a}}, Y: Field{[10]uint32{0x01362f6e, 0x010afd90, 0x00b1951f, 0x00639a30, 0x037983c8, 0x01fd3f41, 0x01f199db, 0x02d5028f, 0x00cdb99c, 0x0038bffa}}}, + {X: Field{[10]uint32{0x003b4cc5, 0x007af8ec, 0x037c2ee9, 0x02e96871, 0x02572831, 0x01fcea00, 0x035bc4fe, 0x0330ad9e, 0x01b06b8b, 0x0017f067}}, Y: Field{[10]uint32{0x01b57c28, 0x00e7ee19, 0x03ec4a3b, 0x000f3021, 0x009276f5, 0x028e97bd, 0x022138f9, 0x031f19bb, 0x00c0ec98, 0x003b23a1}}}, + {X: Field{[10]uint32{0x028d319f, 0x02fce397, 0x018e948b, 0x0185b510, 0x00e66aa5, 0x01eab260, 0x010b6533, 0x02a19841, 0x0350ce93, 0x001b3970}}, Y: Field{[10]uint32{0x01cf513f, 0x031af5e5, 0x0378308a, 0x03803b14, 0x012da8f2, 0x02ef88fc, 0x013e3e8c, 0x00f216fb, 0x0026e250, 0x00254340}}}, + {X: Field{[10]uint32{0x00b38cb5, 0x02e15f53, 0x00948bb4, 0x037d34e2, 0x03e10b7f, 0x034fba86, 0x03a8a40f, 0x038a277a, 0x030d42ed, 0x002e23ed}}, Y: Field{[10]uint32{0x0165f3d7, 0x03e9d596, 0x00c7197b, 0x00489ebe, 0x024d4f3e, 0x02cd6a38, 0x034bb994, 0x00ca0180, 0x02ad46ea, 0x0035b1cd}}}, + {X: Field{[10]uint32{0x0126087e, 0x01012091, 0x020308f5, 0x02220b68, 0x01fdfb6d, 0x01e62e17, 0x009b6041, 0x033a5f07, 0x01ce97ee, 0x003fcac3}}, Y: Field{[10]uint32{0x00c29907, 0x0147807c, 0x02ceb2c9, 0x01bee438, 0x02c7b7ed, 0x01341e4d, 0x034c4dc5, 0x02e8622b, 0x03fef524, 0x00124f44}}}, + }, + { + {X: Field{[10]uint32{0x0126087e, 0x01012091, 0x020308f5, 0x02220b68, 0x01fdfb6d, 0x01e62e17, 0x009b6041, 0x033a5f07, 0x01ce97ee, 0x003fcac3}}, Y: Field{[10]uint32{0x00c29907, 0x0147807c, 0x02ceb2c9, 0x01bee438, 0x02c7b7ed, 0x01341e4d, 0x034c4dc5, 0x02e8622b, 0x03fef524, 0x00124f44}}}, + {X: Field{[10]uint32{0x0149f8ef, 0x00ea6bcc, 0x034583bd, 0x013b98e2, 0x023deb5c, 0x032c6ec8, 0x0229ebbe, 0x01b27de3, 0x03bc5f36, 0x000a60b6}}, Y: Field{[10]uint32{0x02c7a248, 0x01c9ac05, 0x02d8456e, 0x02504b8f, 0x01095db9, 0x01ed6f27, 0x03a5339c, 0x00882ae7, 0x03e9af66, 0x002986d6}}}, + {X: Field{[10]uint32{0x01d681f9, 0x00153f9e, 0x02b9fc59, 0x03beb23f, 0x0066ce0e, 0x000b252c, 0x037ff25e, 0x008c2222, 0x01f2775f, 0x0031d17f}}, Y: Field{[10]uint32{0x03bb1247, 0x005cd0de, 0x005c7603, 0x00d719f5, 0x038cdbd3, 0x003a0619, 0x031394c7, 0x03979e29, 0x02f2f6b9, 0x00164088}}}, + {X: Field{[10]uint32{0x0380441b, 0x0227d848, 0x03658852, 0x01160385, 0x0060011f, 0x0125f6d6, 0x036eb590, 0x0303dad0, 0x01042af0, 0x00068a39}}, Y: Field{[10]uint32{0x0052af25, 0x03d81aa1, 0x027aeb05, 0x016d1bb9, 0x0104b3e7, 0x025dbc3b, 0x038329a8, 0x0276adf1, 0x027996c5, 0x00155de6}}}, + {X: Field{[10]uint32{0x01cd0ea3, 0x0133bb4d, 0x004815e0, 0x03a0832b, 0x02b34478, 0x019cb9fc, 0x0259e5eb, 0x00142c9e, 0x01f3a975, 0x002aec9e}}, Y: Field{[10]uint32{0x00307bce, 0x024c4cdf, 0x033b6470, 0x0016780b, 0x007c9769, 0x00c1e3b5, 0x034be0c0, 0x025c367e, 0x003bbf17, 0x00177b84}}}, + {X: Field{[10]uint32{0x009a2115, 0x03f54d19, 0x025ebe77, 0x00245e95, 0x02ec7960, 0x01902606, 0x006aca9d, 0x031b1b75, 0x0052b194, 0x003f5cf0}}, Y: Field{[10]uint32{0x02ba6cda, 0x032adee9, 0x0021f049, 0x0158ba75, 0x0104f601, 0x01bdf5b6, 0x00abab02, 0x02211008, 0x00c1c817, 0x001881da}}}, + {X: Field{[10]uint32{0x03c9ee3e, 0x038bcfc6, 0x0382c5c2, 0x02a58f9c, 0x01ea9fa1, 0x0099fb44, 0x03aeaa74, 0x01a0a09f, 0x010b59fc, 0x000fe045}}, Y: Field{[10]uint32{0x019aae06, 0x02b6c316, 0x001603ce, 0x0373f36a, 0x027623b2, 0x011e5598, 0x031beb3c, 0x02a0b519, 0x0268fdbf, 0x00067222}}}, + {X: Field{[10]uint32{0x021e30a7, 0x03c38e58, 0x003242ee, 0x02de6176, 0x002edd5e, 0x034fc805, 0x0250cc0b, 0x00c18074, 0x03e9535f, 0x000322e0}}, Y: Field{[10]uint32{0x03f688de, 0x03defae7, 0x0134dbeb, 0x00dee61c, 0x00aacad2, 0x03bf7215, 0x010e3f17, 0x036b1ee1, 0x0077065f, 0x0003731c}}}, + {X: Field{[10]uint32{0x00e4a007, 0x006fbebe, 0x0358b617, 0x033c22ec, 0x0015ecee, 0x0295b1fb, 0x014ba33a, 0x00b79a56, 0x032dd008, 0x00173e04}}, Y: Field{[10]uint32{0x0068b883, 0x00fc2424, 0x03fe8ce6, 0x025b1e71, 0x02c8946f, 0x01230f7d, 0x02d41588, 0x03e837d2, 0x025c0d61, 0x002d16bb}}}, + {X: Field{[10]uint32{0x003c18e1, 0x00fbf313, 0x03230300, 0x03eeeab5, 0x00ba4ae5, 0x012eb1fd, 0x02267110, 0x0035ae44, 0x01458351, 0x002cfe81}}, Y: Field{[10]uint32{0x02aa2b4f, 0x007efb84, 0x02542cb1, 0x0267c433, 0x01aa55a4, 0x0193f9bf, 0x02182980, 0x03d5adee, 0x00759340, 0x002a1709}}}, + {X: Field{[10]uint32{0x02c2d4a7, 0x01bf9ec9, 0x03fb1095, 0x024cef3f, 0x021bc36f, 0x031013b4, 0x03e33973, 0x02925194, 0x024d0d4b, 0x002db57f}}, Y: Field{[10]uint32{0x02e86371, 0x03739f8e, 0x03cc8118, 0x0139bd78, 0x02745b7e, 0x037fff63, 0x03cf9209, 0x035b0537, 0x03a13abb, 0x0011fcdc}}}, + {X: Field{[10]uint32{0x03816b2f, 0x021b0d46, 0x02e11fdb, 0x021048a3, 0x01ee0cb7, 0x009b1757, 0x00165fe1, 0x00699dba, 0x02dd6595, 0x00169351}}, Y: Field{[10]uint32{0x03e86c60, 0x01ebae1c, 0x00cebaf9, 0x0317ecfb, 0x02b50e6c, 0x03cf7f35, 0x003e27f8, 0x0182ac0a, 0x0396ca0e, 0x001df248}}}, + {X: Field{[10]uint32{0x0066dd33, 0x00cd88bf, 0x036dc509, 0x023fc771, 0x02ea8fbc, 0x000a6c08, 0x03b1b150, 0x01621c1a, 0x03c066cf, 0x0018722e}}, Y: Field{[10]uint32{0x02f10bfa, 0x02ea7ced, 0x00c8ca3b, 0x03ab0a08, 0x036a5106, 0x026174fe, 0x0269994b, 0x03dc0d11, 0x02239e54, 0x0024d667}}}, + {X: Field{[10]uint32{0x035cacbb, 0x019233cc, 0x01b26fce, 0x00a2f58d, 0x0118ac30, 0x0318899c, 0x0177e5bd, 0x003335ee, 0x01b12c72, 0x0013f5a6}}, Y: Field{[10]uint32{0x021ad839, 0x00bbea23, 0x03e6133b, 0x02cba088, 0x00aa998e, 0x036d878b, 0x0079dbfc, 0x0282bb65, 0x02f3f511, 0x0031b243}}}, + {X: Field{[10]uint32{0x016b2ff8, 0x016df337, 0x008fa980, 0x0305ca1b, 0x01876336, 0x03b0ef7c, 0x009f5373, 0x01e1461f, 0x03a57426, 0x002538ca}}, Y: Field{[10]uint32{0x00e1af3e, 0x0121554b, 0x03e13add, 0x010949af, 0x00b33af0, 0x018b67a3, 0x031e4886, 0x0013864b, 0x008b43da, 0x000346d1}}}, + {X: Field{[10]uint32{0x0056e241, 0x03978b3e, 0x01d28780, 0x0052335b, 0x0357f1ee, 0x0006c84a, 0x012b2e63, 0x0203aa7b, 0x03e4b1e8, 0x00209fee}}, Y: Field{[10]uint32{0x02c293ec, 0x016da2eb, 0x03166d60, 0x00c61a40, 0x007ff7a6, 0x0347449a, 0x03ef2c67, 0x01ec2dc6, 0x00923c72, 0x003183e7}}}, + }, + { + {X: Field{[10]uint32{0x0056e241, 0x03978b3e, 0x01d28780, 0x0052335b, 0x0357f1ee, 0x0006c84a, 0x012b2e63, 0x0203aa7b, 0x03e4b1e8, 0x00209fee}}, Y: Field{[10]uint32{0x02c293ec, 0x016da2eb, 0x03166d60, 0x00c61a40, 0x007ff7a6, 0x0347449a, 0x03ef2c67, 0x01ec2dc6, 0x00923c72, 0x003183e7}}}, + {X: Field{[10]uint32{0x00b1815d, 0x03912dc3, 0x03461ef6, 0x024862e1, 0x0260470a, 0x01db9acd, 0x02d7c8d5, 0x01ae5cf8, 0x02a7dce5, 0x002ddfc4}}, Y: Field{[10]uint32{0x0257dbc5, 0x00f4af23, 0x0016d6ba, 0x03e46912, 0x014c42f0, 0x00f30b99, 0x00cefb37, 0x02b310fc, 0x01b14f86, 0x0012dbe1}}}, + {X: Field{[10]uint32{0x03b80fa7, 0x012172ce, 0x01388634, 0x01aedc10, 0x033aa7da, 0x00c82067, 0x011a06bd, 0x030bef03, 0x031f6308, 0x000215f8}}, Y: Field{[10]uint32{0x01366b2d, 0x020847c2, 0x0016abd9, 0x0010f35c, 0x03172e37, 0x0372dc51, 0x017cc9d1, 0x005c824b, 0x03423ae0, 0x003d90e4}}}, + {X: Field{[10]uint32{0x005565ec, 0x0176b4b1, 0x005970fe, 0x037d25df, 0x02d858d8, 0x02de7e55, 0x03308b2c, 0x02fc491e, 0x03943018, 0x001225ce}}, Y: Field{[10]uint32{0x02ed07e9, 0x01e41d7e, 0x037b83b8, 0x02596011, 0x01511b35, 0x005116bc, 0x037bb3a0, 0x03706d90, 0x01684f3c, 0x001d87dd}}}, + {X: Field{[10]uint32{0x01c70e63, 0x000b0e82, 0x01496f5d, 0x01e39d4f, 0x029cbb8b, 0x019299cb, 0x005c6557, 0x018010d5, 0x00ea56bd, 0x000a2ab3}}, Y: Field{[10]uint32{0x0057da4e, 0x000e20bc, 0x021e8b9f, 0x03391136, 0x03f5fc59, 0x01da3aed, 0x0289667c, 0x0038559e, 0x022ef81a, 0x000ada4c}}}, + {X: Field{[10]uint32{0x036d6cd3, 0x0002af9e, 0x0378833a, 0x00740e24, 0x03341661, 0x015948e5, 0x0269b870, 0x02061206, 0x02167f2b, 0x003a8499}}, Y: Field{[10]uint32{0x00f450be, 0x018a497d, 0x01a88aae, 0x00b7aef8, 0x01b1c975, 0x00451789, 0x00e112bf, 0x038ff6ab, 0x02e5078e, 0x00086938}}}, + {X: Field{[10]uint32{0x03e674b5, 0x03714bdc, 0x00aac601, 0x02739c18, 0x0392d8f6, 0x033ae293, 0x01db2c9b, 0x02998517, 0x0225a055, 0x0028bced}}, Y: Field{[10]uint32{0x02937941, 0x00e32383, 0x03a53b09, 0x00c5f0cf, 0x039222fa, 0x00ca9f12, 0x0044a90f, 0x01a2ba00, 0x0159614c, 0x001883a8}}}, + {X: Field{[10]uint32{0x03fd71fa, 0x0135d0ae, 0x027d4a4d, 0x00996d14, 0x030b775a, 0x029c1305, 0x02972728, 0x015671b5, 0x018e8eb5, 0x003a4c49}}, Y: Field{[10]uint32{0x034d3307, 0x02f434c5, 0x035f33d9, 0x0386ed78, 0x00b3946c, 0x032552d0, 0x01eb4169, 0x037b83a1, 0x03364c3f, 0x003ec78c}}}, + {X: Field{[10]uint32{0x011eb056, 0x00058c76, 0x01386c76, 0x036e3b3f, 0x01a002ef, 0x00fd457d, 0x018b5c6a, 0x01648c76, 0x03c9eaae, 0x000f13e0}}, Y: Field{[10]uint32{0x005cecab, 0x01624f68, 0x02b87742, 0x0112073d, 0x001982b5, 0x00ec9e20, 0x02d6573c, 0x022da8ce, 0x0007514a, 0x002511e4}}}, + {X: Field{[10]uint32{0x008fadf1, 0x00f632d5, 0x01f9de64, 0x021e9c4b, 0x0300359b, 0x0224605e, 0x0365f8de, 0x01091270, 0x00387f7f, 0x003b7ce1}}, Y: Field{[10]uint32{0x00415fb6, 0x010db3db, 0x03d2879c, 0x004f7a8d, 0x030f4e88, 0x0082a9ad, 0x01802351, 0x0214037b, 0x01b0a189, 0x001cb4ed}}}, + {X: Field{[10]uint32{0x0186dfa9, 0x0187f6ef, 0x013a7190, 0x029026e6, 0x02dc38b4, 0x02040eea, 0x01c1e03e, 0x019f538a, 0x01288a99, 0x002bfe38}}, Y: Field{[10]uint32{0x01d12681, 0x000f0db0, 0x039c7071, 0x02a51067, 0x00f9116d, 0x03f3d4fd, 0x013ebaa1, 0x01f0ff4f, 0x03b32137, 0x002362d2}}}, + {X: Field{[10]uint32{0x00ff55c5, 0x008f5097, 0x01ec9771, 0x00a0689d, 0x035f4efd, 0x020ad2d8, 0x0012c1e7, 0x0110b29b, 0x01fdfb25, 0x0033cdab}}, Y: Field{[10]uint32{0x01a0228e, 0x009e2148, 0x02706aca, 0x03097034, 0x03a7547e, 0x02f67c81, 0x002f58b3, 0x01da1927, 0x02166ae0, 0x00345a84}}}, + {X: Field{[10]uint32{0x009ba9c1, 0x009cdae6, 0x0338e28f, 0x02968274, 0x01e40f7c, 0x03b3b95e, 0x0058262a, 0x0002cfa1, 0x004528dc, 0x0034fede}}, Y: Field{[10]uint32{0x0351b267, 0x02e237fa, 0x02de0061, 0x03570046, 0x02341ced, 0x022dc3f9, 0x03ca0575, 0x02d39f29, 0x0034efa6, 0x003e2535}}}, + {X: Field{[10]uint32{0x0181f79b, 0x015032f0, 0x02db4fe8, 0x01943392, 0x02e045d8, 0x01a97289, 0x01f82e7c, 0x037ebb8b, 0x00a26c63, 0x000c7203}}, Y: Field{[10]uint32{0x01225400, 0x027949b5, 0x025f1f0b, 0x03abd444, 0x01622ff9, 0x023cc364, 0x014e4d36, 0x009b7cc2, 0x02c12029, 0x0024ad67}}}, + {X: Field{[10]uint32{0x032bb909, 0x025b0743, 0x00d999da, 0x01f14d66, 0x03639102, 0x02461f5f, 0x00729883, 0x02aa23fd, 0x000e0ac9, 0x0013b24c}}, Y: Field{[10]uint32{0x00cf4071, 0x028e0fe9, 0x03827b88, 0x020836b0, 0x02d52e16, 0x0213126e, 0x000dc451, 0x00137172, 0x0106be1b, 0x001e0ae8}}}, + {X: Field{[10]uint32{0x0120e2b3, 0x02d63e88, 0x039aa7f3, 0x0339fd1f, 0x017a58fd, 0x0339b948, 0x03e4ae34, 0x02f6eb9e, 0x01f21f51, 0x003aa992}}, Y: Field{[10]uint32{0x025ad93d, 0x0294c16e, 0x03e59d47, 0x0197c4fd, 0x0201a6b9, 0x021e6a96, 0x01a80f89, 0x02c0eb1a, 0x01ed5bbb, 0x002f8c9e}}}, + }, + { + {X: Field{[10]uint32{0x0120e2b3, 0x02d63e88, 0x039aa7f3, 0x0339fd1f, 0x017a58fd, 0x0339b948, 0x03e4ae34, 0x02f6eb9e, 0x01f21f51, 0x003aa992}}, Y: Field{[10]uint32{0x025ad93d, 0x0294c16e, 0x03e59d47, 0x0197c4fd, 0x0201a6b9, 0x021e6a96, 0x01a80f89, 0x02c0eb1a, 0x01ed5bbb, 0x002f8c9e}}}, + {X: Field{[10]uint32{0x03c9b0a8, 0x02f07307, 0x03db453d, 0x0171c17c, 0x029e337b, 0x00089e7a, 0x0223ea50, 0x025fbb09, 0x01b3beb9, 0x000eb6e7}}, Y: Field{[10]uint32{0x005bbdda, 0x039e5d7c, 0x026cc61a, 0x03e61c09, 0x02aad9c8, 0x030257fd, 0x0374de07, 0x0139c4f1, 0x016daee7, 0x000dd38b}}}, + {X: Field{[10]uint32{0x032e070d, 0x00ff4e8f, 0x02a98f58, 0x007314a9, 0x0229aab7, 0x021411f8, 0x00731c3b, 0x012affd2, 0x01e9042f, 0x0012dca9}}, Y: Field{[10]uint32{0x016dd780, 0x02ea0bba, 0x00c3de44, 0x03774a52, 0x00b0b465, 0x0343cf04, 0x0277bb36, 0x03873d80, 0x014e1d6a, 0x00166787}}}, + {X: Field{[10]uint32{0x00ae86f9, 0x03a78324, 0x03caf054, 0x015a58f9, 0x01fefdff, 0x01b17f1a, 0x010955e5, 0x0272edf8, 0x03ac428e, 0x0004a794}}, Y: Field{[10]uint32{0x0289c85d, 0x03bf7347, 0x0201b822, 0x03f45acf, 0x03b2a232, 0x01c4860f, 0x01a2115b, 0x0268a6cb, 0x03958aee, 0x001057b2}}}, + {X: Field{[10]uint32{0x0202591c, 0x039ff612, 0x025a1e9c, 0x02596144, 0x013ef549, 0x01787f58, 0x026bfbeb, 0x03238a16, 0x03fc6539, 0x002a7f24}}, Y: Field{[10]uint32{0x01bec2dc, 0x02b77bda, 0x03253790, 0x01057f3d, 0x01ca888c, 0x02a45979, 0x004c17a1, 0x021c5cfa, 0x0339dc53, 0x00270b39}}}, + {X: Field{[10]uint32{0x005912ec, 0x01c0283e, 0x01113428, 0x00139182, 0x0327f9ca, 0x02abc150, 0x03499694, 0x016de1aa, 0x01d4e3fb, 0x002a9c48}}, Y: Field{[10]uint32{0x02e35978, 0x0132c992, 0x02cbdb11, 0x02a33815, 0x03fee134, 0x01a8bb7a, 0x005266b9, 0x02542714, 0x0077dad0, 0x0031a43c}}}, + {X: Field{[10]uint32{0x01968b59, 0x001b838b, 0x03c2e110, 0x02b84f2e, 0x0309a28b, 0x0026c09d, 0x03d7ac12, 0x027c29a9, 0x017c1a6f, 0x00325000}}, Y: Field{[10]uint32{0x01e572fb, 0x035d9023, 0x009c8fef, 0x02d90e43, 0x00e2842c, 0x016d5d0b, 0x038a1bfa, 0x0218804e, 0x02500c9b, 0x000e7648}}}, + {X: Field{[10]uint32{0x0055b8da, 0x0090f57a, 0x00711922, 0x01f44a25, 0x02c75626, 0x03b84255, 0x005ecb6a, 0x0251216e, 0x0094c8f6, 0x00180511}}, Y: Field{[10]uint32{0x034e4bbd, 0x0001643c, 0x02a4bad5, 0x0309f8fc, 0x03543955, 0x004cb996, 0x00be1fd9, 0x03991a7a, 0x0269f681, 0x0022ed75}}}, + {X: Field{[10]uint32{0x026b3332, 0x01cccd5c, 0x01de6a28, 0x0341cfb9, 0x00310388, 0x01c2fe38, 0x02793a5f, 0x000093b1, 0x039d7eed, 0x0007e12e}}, Y: Field{[10]uint32{0x00e8d52e, 0x010a28c5, 0x003a2554, 0x00b50db7, 0x00c2bcce, 0x016e7b7c, 0x007c27f7, 0x027b3095, 0x01072bca, 0x003b9c9b}}}, + {X: Field{[10]uint32{0x01972bcb, 0x02565e6c, 0x00ceb9dd, 0x00f8907b, 0x02c2f22e, 0x03b685dd, 0x028e0213, 0x027c0a3d, 0x0057c8bb, 0x000f7cb4}}, Y: Field{[10]uint32{0x025d09df, 0x008b34f5, 0x00771b28, 0x025a0065, 0x031b9144, 0x011a9a12, 0x026b23b0, 0x01bbab5b, 0x01c640c8, 0x00371fac}}}, + {X: Field{[10]uint32{0x01efa98e, 0x02a952b3, 0x027995cd, 0x01a046b0, 0x03724844, 0x02647a71, 0x028157b3, 0x03f341b2, 0x00890945, 0x0003c4f8}}, Y: Field{[10]uint32{0x02286767, 0x029dda6f, 0x02ccdc08, 0x01785b3a, 0x03287e70, 0x01ecd8b6, 0x023f8b0a, 0x01f140d7, 0x01f1764e, 0x002b7548}}}, + {X: Field{[10]uint32{0x03d292dc, 0x001a893f, 0x014ce1b8, 0x0202c5dc, 0x01775e26, 0x01ef5e76, 0x008070d3, 0x03e4d2e9, 0x01533720, 0x0012e645}}, Y: Field{[10]uint32{0x03095ca6, 0x0297ff95, 0x02afd433, 0x03116cdd, 0x03938323, 0x017c07d5, 0x03c0a74b, 0x00e889b7, 0x01496110, 0x0038c9dd}}}, + {X: Field{[10]uint32{0x01f59b6b, 0x00700efa, 0x00e2fa5e, 0x018f0622, 0x03e9b38c, 0x035609b4, 0x0328a1d2, 0x03b1f6cd, 0x01a551dd, 0x00377864}}, Y: Field{[10]uint32{0x02cb1410, 0x03658a49, 0x00fecf6a, 0x02ef9c55, 0x028b5738, 0x0314b853, 0x02757d61, 0x01d72f82, 0x03780282, 0x0016cafe}}}, + {X: Field{[10]uint32{0x03b43eeb, 0x0346cd08, 0x0184feee, 0x0006fe04, 0x00181c94, 0x03cd6717, 0x024825ff, 0x017a4dfa, 0x03979eb9, 0x0020f100}}, Y: Field{[10]uint32{0x0084fb51, 0x00d021b5, 0x03b40aff, 0x032ad54f, 0x0295b6bf, 0x0003586c, 0x03c1e46d, 0x03b8f42f, 0x03f2437c, 0x000a55d7}}}, + {X: Field{[10]uint32{0x01c6b699, 0x03157f72, 0x02871b68, 0x00d5af91, 0x02a86f57, 0x01ed05a0, 0x016d7bf9, 0x01bde968, 0x012eed83, 0x0017eac0}}, Y: Field{[10]uint32{0x01c6c3aa, 0x00c854b0, 0x03519b17, 0x01ffaa20, 0x0390ab11, 0x00358bde, 0x02bb4113, 0x034513a7, 0x0270a3c3, 0x000b66fe}}}, + {X: Field{[10]uint32{0x0234d24f, 0x00d8cb76, 0x037401e2, 0x03c32684, 0x0141b6d8, 0x033d0bb9, 0x011df6de, 0x005a764e, 0x0143c5cf, 0x0039290b}}, Y: Field{[10]uint32{0x02ba9414, 0x03dc4c77, 0x024f13a7, 0x037ea363, 0x00e886ee, 0x02e2b4d3, 0x03c99ccf, 0x031cd49b, 0x02e716d1, 0x001367e4}}}, + }, + { + {X: Field{[10]uint32{0x0234d24f, 0x00d8cb76, 0x037401e2, 0x03c32684, 0x0141b6d8, 0x033d0bb9, 0x011df6de, 0x005a764e, 0x0143c5cf, 0x0039290b}}, Y: Field{[10]uint32{0x02ba9414, 0x03dc4c77, 0x024f13a7, 0x037ea363, 0x00e886ee, 0x02e2b4d3, 0x03c99ccf, 0x031cd49b, 0x02e716d1, 0x001367e4}}}, + {X: Field{[10]uint32{0x028f62bb, 0x03cba8cf, 0x00d2a303, 0x018bdeb9, 0x010553c5, 0x01b13bd3, 0x030acf85, 0x02c634fb, 0x01fb84cf, 0x003f5914}}, Y: Field{[10]uint32{0x032c0911, 0x03642184, 0x0283fd0a, 0x024b4803, 0x00fa2ab4, 0x02f0d133, 0x03e7a5c1, 0x0055e2db, 0x02b2b187, 0x0039d173}}}, + {X: Field{[10]uint32{0x03ea0c68, 0x01042bce, 0x0392b5c8, 0x008d9dec, 0x03094301, 0x034e5beb, 0x009bc8e8, 0x028e8925, 0x0234e156, 0x000f9065}}, Y: Field{[10]uint32{0x0245edb6, 0x02dbfdc6, 0x01a1abcb, 0x0118c0f3, 0x022fa119, 0x01c1a4c1, 0x033cbfe3, 0x0087dfcd, 0x019d924b, 0x000048f1}}}, + {X: Field{[10]uint32{0x01fe696b, 0x0347ee75, 0x007a1fa1, 0x035773cf, 0x030042e2, 0x03e7b6ee, 0x02e81a06, 0x021af1c5, 0x007cb240, 0x0007bb88}}, Y: Field{[10]uint32{0x0029337b, 0x0159c39d, 0x0294ebb4, 0x00b82bf5, 0x037a0206, 0x01187257, 0x03196d12, 0x009a734a, 0x0119aef6, 0x00194b2f}}}, + {X: Field{[10]uint32{0x039824d7, 0x01748f24, 0x01897af7, 0x0130d472, 0x036eb7b6, 0x03dfc2d5, 0x014a3e62, 0x01d423bb, 0x00f5455d, 0x0023650e}}, Y: Field{[10]uint32{0x0366489f, 0x0013d224, 0x0063d8a0, 0x02e0c9ac, 0x038fb9e2, 0x02adbbdb, 0x0260bd31, 0x01b0a8b2, 0x00734fee, 0x000c9878}}}, + {X: Field{[10]uint32{0x03d4b84a, 0x02053105, 0x033e69a9, 0x0123c7d0, 0x00621ddf, 0x00a141c1, 0x022a492d, 0x00bf2c31, 0x01e58dc7, 0x003c4ea6}}, Y: Field{[10]uint32{0x03fd1c81, 0x0243f154, 0x01962859, 0x011c43cb, 0x02b6e37d, 0x038ff81b, 0x02b91cd1, 0x03a656a9, 0x00cd0f0b, 0x000cf0b2}}}, + {X: Field{[10]uint32{0x00d713de, 0x0201c6a6, 0x026208e4, 0x03edd0a3, 0x039360c2, 0x03f95150, 0x00a912a2, 0x01510835, 0x00c558ee, 0x002dc949}}, Y: Field{[10]uint32{0x038350e9, 0x03f94966, 0x01fcb76f, 0x01bf9129, 0x010482d2, 0x0275a505, 0x002d182e, 0x00f91441, 0x039a8a28, 0x0013146c}}}, + {X: Field{[10]uint32{0x0394c0d5, 0x0103c67b, 0x0257908d, 0x0005f15c, 0x01e1c0fc, 0x011b8844, 0x025ab2c3, 0x03ac5351, 0x033ea8a9, 0x003303a8}}, Y: Field{[10]uint32{0x03452fe6, 0x02f965eb, 0x03543dea, 0x0099844f, 0x03f6074f, 0x017ef998, 0x03dd203b, 0x0228bec8, 0x023b711c, 0x003e641e}}}, + {X: Field{[10]uint32{0x023b2cb4, 0x01b0a4ff, 0x010402cc, 0x016fcdc8, 0x023049f3, 0x00484527, 0x01c76e38, 0x0049466b, 0x035a216d, 0x000f7917}}, Y: Field{[10]uint32{0x007eb02f, 0x038ceb0c, 0x0044cf61, 0x03996a1c, 0x02823e28, 0x025f2441, 0x0208aa4a, 0x02b77143, 0x0198405e, 0x002e8aa1}}}, + {X: Field{[10]uint32{0x020c0222, 0x02f5d44a, 0x00b559cc, 0x03e720ba, 0x0016937e, 0x005c03cb, 0x00a18bfc, 0x0228111b, 0x024d9ca5, 0x002792b1}}, Y: Field{[10]uint32{0x00fdc9bb, 0x03dd9ce9, 0x0104e16c, 0x003cf6ae, 0x001c6203, 0x00ecc034, 0x000e8df6, 0x039d34c2, 0x011d9fe4, 0x0033a917}}}, + {X: Field{[10]uint32{0x00e4e5bf, 0x011d9bdb, 0x005b1723, 0x021a8240, 0x029b67ca, 0x012241ab, 0x023fce37, 0x02fa1f07, 0x01c68959, 0x0021447c}}, Y: Field{[10]uint32{0x01789c08, 0x024a5130, 0x025262fc, 0x0226f14d, 0x032da878, 0x01aa8008, 0x01ddf7ec, 0x03521d30, 0x01cf91bc, 0x003b37fd}}}, + {X: Field{[10]uint32{0x02735a1e, 0x030ec513, 0x01fa05f0, 0x0259af98, 0x004003e0, 0x018480bf, 0x038cddad, 0x015b2d1a, 0x03c0799b, 0x0019e2b1}}, Y: Field{[10]uint32{0x02f7c055, 0x00e97dc4, 0x01457a36, 0x02ccf4dc, 0x02597fff, 0x01c417a3, 0x030ff3d5, 0x00a16de9, 0x0233d9a5, 0x00021453}}}, + {X: Field{[10]uint32{0x013258ab, 0x0159a28f, 0x014dc31b, 0x02062af0, 0x0157d242, 0x03852ad6, 0x03a1c72e, 0x018088b3, 0x012e81cf, 0x00231681}}, Y: Field{[10]uint32{0x022d0f8f, 0x038214c0, 0x004ade57, 0x03e70365, 0x0246dae8, 0x00130230, 0x01a80c79, 0x02f6841e, 0x034bb443, 0x001a0476}}}, + {X: Field{[10]uint32{0x022aa9b8, 0x03a5dc20, 0x02f8ed7b, 0x00a4cd41, 0x0300006e, 0x0316b517, 0x026895d9, 0x003db375, 0x0114d868, 0x00192ea5}}, Y: Field{[10]uint32{0x02163565, 0x0347ee6d, 0x03b35e93, 0x01bda0c1, 0x025fef1b, 0x0066f927, 0x0207728c, 0x006f6edf, 0x0322a643, 0x002049cf}}}, + {X: Field{[10]uint32{0x0391bcee, 0x030a82af, 0x00d84158, 0x023c7830, 0x03f5cf1d, 0x015afc4d, 0x0063cec5, 0x00d582f7, 0x0016debd, 0x0033bdfe}}, Y: Field{[10]uint32{0x01966b33, 0x0136a7e0, 0x036ac6bb, 0x000a85cb, 0x03a63e4b, 0x00074917, 0x023b339c, 0x021c0491, 0x00836374, 0x0019f9d3}}}, + {X: Field{[10]uint32{0x0300bf19, 0x01cee750, 0x02a49471, 0x01daa23f, 0x0392b535, 0x02cd4ada, 0x0160fada, 0x02f76550, 0x03ef360c, 0x0007b203}}, Y: Field{[10]uint32{0x0107cefd, 0x03370730, 0x0207b671, 0x01fd8a56, 0x020146e7, 0x01eaefd7, 0x03a4958a, 0x00d034bc, 0x013756b5, 0x002bbbfa}}}, + }, + { + {X: Field{[10]uint32{0x0300bf19, 0x01cee750, 0x02a49471, 0x01daa23f, 0x0392b535, 0x02cd4ada, 0x0160fada, 0x02f76550, 0x03ef360c, 0x0007b203}}, Y: Field{[10]uint32{0x0107cefd, 0x03370730, 0x0207b671, 0x01fd8a56, 0x020146e7, 0x01eaefd7, 0x03a4958a, 0x00d034bc, 0x013756b5, 0x002bbbfa}}}, + {X: Field{[10]uint32{0x014ff9e4, 0x03a01750, 0x010560da, 0x03dbaf62, 0x038e8462, 0x013f242e, 0x02eaa034, 0x012f1b2f, 0x023519f0, 0x0016f9fa}}, Y: Field{[10]uint32{0x03e0bdbb, 0x002c1e11, 0x02309403, 0x00c08466, 0x020e99c6, 0x0156adff, 0x03f890f6, 0x0398151d, 0x02c3f638, 0x000cbccb}}}, + {X: Field{[10]uint32{0x02fea1f9, 0x01f2ef14, 0x012b94b1, 0x01423011, 0x01c4ff0b, 0x01c4194c, 0x00fddab6, 0x03cba0ef, 0x000a55d1, 0x0029b722}}, Y: Field{[10]uint32{0x03c345e9, 0x0305391e, 0x037e63b1, 0x036df9a3, 0x00057b89, 0x01ab2f14, 0x00683a11, 0x019f0c0e, 0x00547dc3, 0x001fbc6a}}}, + {X: Field{[10]uint32{0x01db7bb8, 0x02d517d3, 0x03991e3f, 0x01927e14, 0x00d50028, 0x0237dfd7, 0x013fc869, 0x01399420, 0x01116eae, 0x00163c26}}, Y: Field{[10]uint32{0x025b2d6e, 0x031cd60b, 0x00302bde, 0x0018b45d, 0x02507ee4, 0x0118e019, 0x022ff761, 0x00446835, 0x002aaffe, 0x001f81c0}}}, + {X: Field{[10]uint32{0x02d6c9b3, 0x01030fc1, 0x01637c8d, 0x03a1d219, 0x028c6c4c, 0x0229206e, 0x01c229c7, 0x011664af, 0x013fea42, 0x003f9aea}}, Y: Field{[10]uint32{0x0148bdfb, 0x031e23ea, 0x029b00c2, 0x02fc170b, 0x02d980f1, 0x01504ed5, 0x03b41b34, 0x0261cada, 0x00d74053, 0x001fba46}}}, + {X: Field{[10]uint32{0x007985c4, 0x004f9dc7, 0x02b108b6, 0x01256e78, 0x00134bfc, 0x00bdd30d, 0x00284280, 0x026df395, 0x01caf7b5, 0x0008c82d}}, Y: Field{[10]uint32{0x002c6d44, 0x013c77d3, 0x02b8d4ff, 0x00847367, 0x03d96f10, 0x03e6f2a4, 0x00721b81, 0x03a50c63, 0x003dc88b, 0x0031e7e5}}}, + {X: Field{[10]uint32{0x00f95151, 0x03c41cc3, 0x00b64422, 0x01b910b1, 0x01b96480, 0x030237b4, 0x020c8c2d, 0x0262fec0, 0x02f146fc, 0x00057578}}, Y: Field{[10]uint32{0x03f8ecf2, 0x0281f30b, 0x000f9482, 0x02e5f763, 0x01bb204f, 0x022408fe, 0x010e1097, 0x0353b1fe, 0x0231915f, 0x00296dcb}}}, + {X: Field{[10]uint32{0x009a8e2c, 0x030581b3, 0x021c1413, 0x00693306, 0x03823d8d, 0x021832c3, 0x03cc04fd, 0x0242d8ce, 0x00b9b297, 0x002c3e79}}, Y: Field{[10]uint32{0x033d0db4, 0x0019b137, 0x00ee76c2, 0x000b05c7, 0x003350cc, 0x01bf78fc, 0x00bb0b90, 0x0379b507, 0x03f1843a, 0x00127a0a}}}, + {X: Field{[10]uint32{0x016a5658, 0x02042e4a, 0x025643d7, 0x014907bd, 0x023814b2, 0x01eb8a6f, 0x007e0092, 0x0111eb63, 0x00725688, 0x0021303a}}, Y: Field{[10]uint32{0x001b80d1, 0x019ca6f6, 0x01fd22d9, 0x02607d3c, 0x02d3a61a, 0x0194dc97, 0x007e3190, 0x008b1282, 0x0380c160, 0x00099660}}}, + {X: Field{[10]uint32{0x01d6fad4, 0x000bca76, 0x0124c5aa, 0x033c7268, 0x0094b357, 0x004f567d, 0x02d04ce2, 0x0247b23e, 0x0280670a, 0x0015b6d8}}, Y: Field{[10]uint32{0x019e0836, 0x02703f4d, 0x01cc867a, 0x02868c79, 0x03f5b8b2, 0x035a0c31, 0x03591016, 0x009c9143, 0x0394db57, 0x0036834e}}}, + {X: Field{[10]uint32{0x00dc6a0f, 0x02ed7225, 0x01575375, 0x02450bf8, 0x02744341, 0x00b01df0, 0x01264e7a, 0x01cc7559, 0x01c71a93, 0x003fb5ac}}, Y: Field{[10]uint32{0x036fc7e0, 0x0235cb65, 0x00409ccb, 0x024c28ff, 0x031374d5, 0x0134eb88, 0x039181ae, 0x03fc2a11, 0x03e6b0ff, 0x002378aa}}}, + {X: Field{[10]uint32{0x023a809c, 0x0382c2f2, 0x0346d79f, 0x03d75e60, 0x02dab662, 0x00952a27, 0x03cf97e4, 0x037d5afe, 0x02c83933, 0x0004979f}}, Y: Field{[10]uint32{0x009e70d9, 0x032402a5, 0x00a3dda8, 0x00bbc1ff, 0x031e4e3b, 0x015c868d, 0x03747caf, 0x032ce221, 0x02ede254, 0x003834fd}}}, + {X: Field{[10]uint32{0x00e29355, 0x02217c46, 0x00d86db3, 0x024ce5c8, 0x002f1c8e, 0x0008ee76, 0x00ef8604, 0x032f1c3f, 0x01d992d3, 0x000a9a93}}, Y: Field{[10]uint32{0x01cc2872, 0x00f803ed, 0x0076c005, 0x00e99313, 0x01fe905a, 0x009a3e43, 0x00fdc81e, 0x01f831d8, 0x03ba7c4a, 0x00219df7}}}, + {X: Field{[10]uint32{0x03681028, 0x00a54479, 0x01bb47f5, 0x017abf2e, 0x03196e23, 0x036bcf63, 0x033ce97d, 0x008386fc, 0x03f1185d, 0x00286b2c}}, Y: Field{[10]uint32{0x00a11c9d, 0x02918f85, 0x017881f1, 0x009c7e83, 0x0266eecb, 0x0223c316, 0x00475882, 0x02ca6da8, 0x03a61abb, 0x00156a20}}}, + {X: Field{[10]uint32{0x0148dabf, 0x03ea23f8, 0x038eb1f9, 0x02e4d275, 0x01c1add2, 0x017eb9cd, 0x0364ec23, 0x01d51b65, 0x03026c92, 0x00390b64}}, Y: Field{[10]uint32{0x011e1361, 0x00b1d5a0, 0x03eb9d77, 0x01c0679d, 0x00327275, 0x037ce14c, 0x0338cebf, 0x0212c362, 0x022c6e2d, 0x001904e1}}}, + {X: Field{[10]uint32{0x026642be, 0x02d64a0d, 0x03a889dd, 0x01c5f562, 0x03ce3490, 0x02037ea2, 0x0300af46, 0x0030be46, 0x038c0467, 0x00051a9d}}, Y: Field{[10]uint32{0x0183efd0, 0x00a5d20f, 0x01ed1d0b, 0x0074bdf9, 0x030aaa97, 0x02752ca1, 0x0269827f, 0x000a2b75, 0x00ec3354, 0x002cc638}}}, + }, + { + {X: Field{[10]uint32{0x026642be, 0x02d64a0d, 0x03a889dd, 0x01c5f562, 0x03ce3490, 0x02037ea2, 0x0300af46, 0x0030be46, 0x038c0467, 0x00051a9d}}, Y: Field{[10]uint32{0x0183efd0, 0x00a5d20f, 0x01ed1d0b, 0x0074bdf9, 0x030aaa97, 0x02752ca1, 0x0269827f, 0x000a2b75, 0x00ec3354, 0x002cc638}}}, + {X: Field{[10]uint32{0x01de5cac, 0x008d955e, 0x0261911b, 0x00f1fb2c, 0x03eefc98, 0x02f34533, 0x0270b5c0, 0x01f89395, 0x00ce8a59, 0x0015d3bc}}, Y: Field{[10]uint32{0x035a4805, 0x026ba9b1, 0x0008cae5, 0x01efbc40, 0x011a260a, 0x01a6de11, 0x016ada05, 0x00671cef, 0x0130281f, 0x00026e66}}}, + {X: Field{[10]uint32{0x03315443, 0x00e1ce09, 0x027299d9, 0x03552ba1, 0x013d79bb, 0x002850a8, 0x02c89982, 0x024d7fd0, 0x00040660, 0x003f1a5b}}, Y: Field{[10]uint32{0x03d28960, 0x003582d5, 0x011b1749, 0x0218426f, 0x01487ff4, 0x01a59ded, 0x030e1cdd, 0x01624aef, 0x03ebf83b, 0x00383389}}}, + {X: Field{[10]uint32{0x020966d3, 0x030b5d09, 0x00645808, 0x0306bbfe, 0x0110a770, 0x026320d7, 0x0109397b, 0x03e7e176, 0x02799d8b, 0x0034f65f}}, Y: Field{[10]uint32{0x033c2e52, 0x03ae1420, 0x004eebdd, 0x0046fa37, 0x03b5e487, 0x03500eb4, 0x02a89275, 0x032579aa, 0x006376ba, 0x002376ed}}}, + {X: Field{[10]uint32{0x02fdb4eb, 0x02cbd705, 0x02a79d1b, 0x01e718b9, 0x028fa3dd, 0x00afac24, 0x0256a356, 0x03cab46b, 0x0221ff4f, 0x0025d2bc}}, Y: Field{[10]uint32{0x01f6f484, 0x0270f7ea, 0x00234840, 0x00a8efff, 0x01111c57, 0x00b0243b, 0x011e43d0, 0x000f2993, 0x007d5350, 0x0015548e}}}, + {X: Field{[10]uint32{0x006b5b56, 0x01857f5f, 0x00b607f3, 0x02abb622, 0x014185c8, 0x02fc8039, 0x03587ed3, 0x010ce337, 0x025700ef, 0x00283a21}}, Y: Field{[10]uint32{0x021d7518, 0x02f7944e, 0x00a51a16, 0x0075c216, 0x01526b87, 0x0214f7ab, 0x01a6b89b, 0x02b542e6, 0x02839fa9, 0x003d6e91}}}, + {X: Field{[10]uint32{0x015aeee3, 0x0012b6d7, 0x00813739, 0x030d9963, 0x01e8284b, 0x01a49c31, 0x0121b3a6, 0x00e62c24, 0x019b49de, 0x0016eaad}}, Y: Field{[10]uint32{0x00f69717, 0x00a6bedc, 0x01eed82d, 0x0276af4c, 0x03215ddc, 0x007ff6bd, 0x01a00866, 0x01fa15b9, 0x03617c0f, 0x002295df}}}, + {X: Field{[10]uint32{0x028c6d4b, 0x003ee4e5, 0x00c12004, 0x033e3d25, 0x02b2be78, 0x032efb82, 0x0174e782, 0x006261ee, 0x013288b3, 0x002c6a99}}, Y: Field{[10]uint32{0x0091ac51, 0x02798aba, 0x03cc383d, 0x02427588, 0x03100a1d, 0x0358ea0e, 0x004aa8e2, 0x0035c49a, 0x031c6081, 0x001fb581}}}, + {X: Field{[10]uint32{0x01726890, 0x02c7913d, 0x03d15851, 0x03fab20d, 0x02e59025, 0x03e44283, 0x0032fceb, 0x0310f404, 0x03a7eb49, 0x003eda17}}, Y: Field{[10]uint32{0x0035783a, 0x03aa3cee, 0x039b2606, 0x004ba439, 0x014fa6cb, 0x02192e82, 0x01ca16d9, 0x0178ba1a, 0x0322c98e, 0x0035d437}}}, + {X: Field{[10]uint32{0x02c6e5bb, 0x03b6bb18, 0x03e6ab7e, 0x03b8d5b3, 0x0324fdff, 0x024a965f, 0x00ab0b83, 0x00417cd6, 0x004108c7, 0x0009445b}}, Y: Field{[10]uint32{0x037e1321, 0x011cca83, 0x0272d4dc, 0x037d4730, 0x0377c508, 0x02057763, 0x037406dc, 0x01df807a, 0x0113e771, 0x0018361a}}}, + {X: Field{[10]uint32{0x00bca48a, 0x012fc4ea, 0x0362f546, 0x03d3a0f7, 0x0178b4d5, 0x00a1fdc7, 0x0327b91c, 0x0265682a, 0x03f659e2, 0x00177963}}, Y: Field{[10]uint32{0x02fd41cd, 0x0253a034, 0x00aa9587, 0x0271383e, 0x003fe5bd, 0x014b4f21, 0x01a623c2, 0x026d54c2, 0x033d8035, 0x001a168e}}}, + {X: Field{[10]uint32{0x00cedd26, 0x01977dd4, 0x015541d7, 0x0277a95c, 0x023cc8b9, 0x0258e78a, 0x01d8100f, 0x03aec984, 0x00372961, 0x002be212}}, Y: Field{[10]uint32{0x00e43f7f, 0x039eb4ec, 0x001708b6, 0x01219ea9, 0x0254549e, 0x02fb4be5, 0x00cbb88e, 0x01c0c34a, 0x03f97b16, 0x003715fe}}}, + {X: Field{[10]uint32{0x01ef63b6, 0x00e0d139, 0x0182ebde, 0x0059cc6c, 0x005ab4d0, 0x02d3f072, 0x01b7fda3, 0x0062febc, 0x01cdead6, 0x001bc609}}, Y: Field{[10]uint32{0x01c655f3, 0x0211b3d1, 0x0145412c, 0x019009fe, 0x013c895a, 0x020ccd15, 0x034204d7, 0x02446e63, 0x027dd591, 0x003fc25f}}}, + {X: Field{[10]uint32{0x02a50e2d, 0x02796c7e, 0x00bdc39f, 0x03b3dab9, 0x00b5a275, 0x00206b74, 0x0256e3ea, 0x0200d96c, 0x02605b88, 0x00148435}}, Y: Field{[10]uint32{0x02fda8ee, 0x026a24d6, 0x0286eb02, 0x03371909, 0x035a273d, 0x03fd9622, 0x0013c0e7, 0x034c04e7, 0x034a5dec, 0x000d7d99}}}, + {X: Field{[10]uint32{0x00a63f3b, 0x0011fb7d, 0x039727b5, 0x000665e3, 0x0183203b, 0x039db1d9, 0x007115f5, 0x028ddad6, 0x0095f762, 0x00317b2e}}, Y: Field{[10]uint32{0x01005024, 0x03cdd1a1, 0x03ee5b53, 0x03b978c2, 0x008beb65, 0x03e48cfb, 0x02a4058f, 0x0207cdd3, 0x01181978, 0x00088949}}}, + {X: Field{[10]uint32{0x0180eef9, 0x01aa1e4c, 0x039776d7, 0x008268a2, 0x028d0012, 0x02a81ec4, 0x03acebb1, 0x0397c1f8, 0x00f61d22, 0x003e9430}}, Y: Field{[10]uint32{0x034f2811, 0x03635f4f, 0x0213b38c, 0x024e95e8, 0x025e6832, 0x00a069a2, 0x02cd2872, 0x03aea6dc, 0x02922397, 0x001ae131}}}, + }, + { + {X: Field{[10]uint32{0x0180eef9, 0x01aa1e4c, 0x039776d7, 0x008268a2, 0x028d0012, 0x02a81ec4, 0x03acebb1, 0x0397c1f8, 0x00f61d22, 0x003e9430}}, Y: Field{[10]uint32{0x034f2811, 0x03635f4f, 0x0213b38c, 0x024e95e8, 0x025e6832, 0x00a069a2, 0x02cd2872, 0x03aea6dc, 0x02922397, 0x001ae131}}}, + {X: Field{[10]uint32{0x007f5048, 0x016f88c6, 0x006d459c, 0x0349120e, 0x02e72328, 0x00ba420d, 0x00140fe0, 0x01d381e0, 0x02ee6190, 0x0018e593}}, Y: Field{[10]uint32{0x01309df8, 0x028a1362, 0x02c84383, 0x024d3779, 0x013d580b, 0x00d2fef2, 0x01ff9b1c, 0x033d068e, 0x033a6b89, 0x000edb3e}}}, + {X: Field{[10]uint32{0x01da5e12, 0x03838ce4, 0x00b2971e, 0x0100572b, 0x02a9c60a, 0x028728ad, 0x02329f93, 0x038c6f36, 0x023c4379, 0x003dd40b}}, Y: Field{[10]uint32{0x0385f4eb, 0x02e717a0, 0x00ebc7a4, 0x00bbdc97, 0x007b86d3, 0x00f59c81, 0x0170945c, 0x03ebf566, 0x01edd67c, 0x000f15fd}}}, + {X: Field{[10]uint32{0x02db2a65, 0x012e87ae, 0x01a31f81, 0x00ab4f2f, 0x01afd7f1, 0x003f27dd, 0x01469ddf, 0x02df88b4, 0x025b4d15, 0x00168f38}}, Y: Field{[10]uint32{0x01327f1d, 0x005c33c7, 0x03e8ed8b, 0x030f6097, 0x033ee28b, 0x03cfe66b, 0x03a6dbfb, 0x017d8e1c, 0x025b92e0, 0x0022cd04}}}, + {X: Field{[10]uint32{0x00b7d105, 0x0124cc44, 0x03c9f207, 0x012e5395, 0x03f4ca5c, 0x038d156c, 0x024f6624, 0x01618a8e, 0x00f983ae, 0x0004bf9e}}, Y: Field{[10]uint32{0x03794a60, 0x02b1bee7, 0x010b8458, 0x01975bba, 0x031dece2, 0x0269f2dd, 0x02b5aa19, 0x02f3dde1, 0x01a338d6, 0x000818bc}}}, + {X: Field{[10]uint32{0x0232478e, 0x00c481cf, 0x027ed237, 0x023caa6e, 0x0024ab31, 0x03cccac8, 0x02c6b7f3, 0x004e203f, 0x01d60106, 0x00350804}}, Y: Field{[10]uint32{0x004e88d4, 0x0015a074, 0x00cc31ce, 0x00bcd542, 0x036fb24b, 0x012fe11e, 0x02d5f5f4, 0x0138306c, 0x00e9a37d, 0x002eb975}}}, + {X: Field{[10]uint32{0x020c5d05, 0x00760ce7, 0x02daff62, 0x0142a95c, 0x02480e6c, 0x020212c6, 0x004bb102, 0x011cf563, 0x031347df, 0x001daab0}}, Y: Field{[10]uint32{0x01ece63e, 0x01866dd4, 0x02ee3556, 0x033c0579, 0x034b1225, 0x00809897, 0x02f32c83, 0x01c3beaf, 0x02ef0d5c, 0x003bd55d}}}, + {X: Field{[10]uint32{0x029f44d0, 0x01ccdd52, 0x03a0016a, 0x01b9a6a3, 0x0385dbcb, 0x0037907f, 0x010be34f, 0x00fb69a4, 0x01af98f9, 0x00173981}}, Y: Field{[10]uint32{0x01d30105, 0x0017cd22, 0x00cc6c0d, 0x02fe8cbb, 0x00ab3cb1, 0x0071db16, 0x0256bd03, 0x01aff9ee, 0x039bec22, 0x00133773}}}, + {X: Field{[10]uint32{0x0053c086, 0x01bd217f, 0x01aec9e2, 0x00d27268, 0x00c6b55c, 0x017a2041, 0x0260c314, 0x0173321f, 0x025bbe5c, 0x002998ff}}, Y: Field{[10]uint32{0x01016201, 0x03140ca9, 0x00fc0e69, 0x0295ce65, 0x03991ecc, 0x02608f70, 0x01b102c8, 0x007efd74, 0x017f6b21, 0x002d5066}}}, + {X: Field{[10]uint32{0x01f40840, 0x0035a472, 0x0359eaa2, 0x010a7954, 0x03a71df4, 0x00e290d1, 0x00eaa239, 0x03dd07f9, 0x0121121f, 0x00380d1b}}, Y: Field{[10]uint32{0x03d7ce72, 0x0286abfc, 0x033edc39, 0x0269baf4, 0x02269cd3, 0x03b9ee8a, 0x016d4a97, 0x02255b5d, 0x03713c99, 0x000fb9a0}}}, + {X: Field{[10]uint32{0x03758574, 0x02007b52, 0x01c6e9ad, 0x02250d3e, 0x03d83266, 0x02b8af7c, 0x03ca1027, 0x0336096d, 0x027a0206, 0x0037a554}}, Y: Field{[10]uint32{0x0367232a, 0x037c7f3e, 0x02deb4b7, 0x00145568, 0x03bae6a1, 0x03c5a7b5, 0x021dc847, 0x03453938, 0x0056ac93, 0x001334f8}}}, + {X: Field{[10]uint32{0x016ddcd3, 0x01c8dee8, 0x0003556a, 0x000087a8, 0x03044b11, 0x02e1d86b, 0x035beb6c, 0x0267b7de, 0x0136f64e, 0x0006b86b}}, Y: Field{[10]uint32{0x027eb2b7, 0x0118674b, 0x0213c7cc, 0x0377f2ed, 0x0159616a, 0x00841122, 0x0074f775, 0x02488167, 0x014987a0, 0x001c0581}}}, + {X: Field{[10]uint32{0x0185474f, 0x026e2aff, 0x00668d77, 0x00ae258d, 0x02894c4a, 0x011e16ba, 0x02dccbe4, 0x00ab76ff, 0x00e066d3, 0x002369af}}, Y: Field{[10]uint32{0x017b4ef7, 0x03e71f4f, 0x01d7a5fd, 0x024c176f, 0x010b1cc5, 0x01c77ffc, 0x03ddf5d0, 0x0353fe13, 0x006af31e, 0x0004ff1b}}}, + {X: Field{[10]uint32{0x029de533, 0x03ffe242, 0x02e3c80f, 0x019c08d5, 0x002a9bb5, 0x0191c49d, 0x02979f6a, 0x0243e483, 0x01123337, 0x00044e2b}}, Y: Field{[10]uint32{0x01332573, 0x02dc253f, 0x040006a8, 0x002d1528, 0x03f679bd, 0x03e569f7, 0x030dc3e9, 0x0076521b, 0x01b75875, 0x002cd549}}}, + {X: Field{[10]uint32{0x01d042ea, 0x0350959f, 0x02fd06b5, 0x0299163a, 0x02ebfa26, 0x00cf24ef, 0x03d6649e, 0x02e8e6c6, 0x00c7cfb3, 0x001cca6b}}, Y: Field{[10]uint32{0x035c94a1, 0x0233fb0b, 0x034f0ada, 0x01cc77ea, 0x02184897, 0x03eada3b, 0x0284e794, 0x01bc5224, 0x013541b7, 0x00249c92}}}, + {X: Field{[10]uint32{0x03067ec2, 0x00f4cad7, 0x025220e5, 0x02d756ee, 0x021a288a, 0x03623a10, 0x025bf6b7, 0x006846c6, 0x01d0ca72, 0x00368758}}, Y: Field{[10]uint32{0x02d836f1, 0x03ee83c6, 0x0348a655, 0x026749e6, 0x0166a738, 0x0072478a, 0x00076616, 0x00c1b1e7, 0x015a7c99, 0x002055fd}}}, + }, + { + {X: Field{[10]uint32{0x03067ec2, 0x00f4cad7, 0x025220e5, 0x02d756ee, 0x021a288a, 0x03623a10, 0x025bf6b7, 0x006846c6, 0x01d0ca72, 0x00368758}}, Y: Field{[10]uint32{0x02d836f1, 0x03ee83c6, 0x0348a655, 0x026749e6, 0x0166a738, 0x0072478a, 0x00076616, 0x00c1b1e7, 0x015a7c99, 0x002055fd}}}, + {X: Field{[10]uint32{0x00d3c369, 0x0084348b, 0x02934b3c, 0x020f87e3, 0x02236054, 0x03704a0e, 0x005d5f61, 0x0311137e, 0x000b4ef4, 0x00271ef8}}, Y: Field{[10]uint32{0x02329515, 0x038ffae8, 0x01cbd29e, 0x00e859da, 0x003e3115, 0x03390052, 0x0226d455, 0x0034814a, 0x00de74b2, 0x00248830}}}, + {X: Field{[10]uint32{0x0295a8db, 0x021dccbe, 0x036f615d, 0x03111e74, 0x03b83ec0, 0x0246c5c8, 0x02966469, 0x03741067, 0x01a46303, 0x0038fa43}}, Y: Field{[10]uint32{0x030d1cf9, 0x01b3dfc6, 0x00d3d101, 0x025f3261, 0x02fbb1ef, 0x01c0b9da, 0x00faa90c, 0x005e2ec0, 0x03c0056c, 0x003ef94e}}}, + {X: Field{[10]uint32{0x03b8c9e3, 0x03364b5e, 0x0178e76b, 0x029c1504, 0x0174dd06, 0x02333124, 0x01664b23, 0x0098eed5, 0x03f42825, 0x0003f360}}, Y: Field{[10]uint32{0x034aa9ad, 0x03557ef7, 0x03bf4e86, 0x0337c589, 0x03adbeae, 0x017f6da0, 0x018232de, 0x03ef3b47, 0x01cfeac5, 0x001b02f0}}}, + {X: Field{[10]uint32{0x012ee214, 0x02bf5904, 0x0154017a, 0x025e564c, 0x00782a4e, 0x01703007, 0x03650dfd, 0x035dd6a2, 0x02c732e3, 0x0027d3ff}}, Y: Field{[10]uint32{0x0085f37a, 0x01108894, 0x000283ef, 0x024c2f22, 0x019719b6, 0x035d71a7, 0x0296682f, 0x00bcb983, 0x02e1318e, 0x0018e738}}}, + {X: Field{[10]uint32{0x001d0ce6, 0x030f72d5, 0x00d41f4f, 0x028b3d66, 0x02748992, 0x00e817ec, 0x0214cce3, 0x02a504bb, 0x022937f1, 0x00050a56}}, Y: Field{[10]uint32{0x0338bb86, 0x0206a2b5, 0x0241a52a, 0x01806d74, 0x01310895, 0x011020ec, 0x0031c448, 0x0141c46c, 0x0363df11, 0x003fa9d4}}}, + {X: Field{[10]uint32{0x0361a0a5, 0x01a05147, 0x00e3ef8b, 0x0386cf05, 0x004b1253, 0x03d102cb, 0x031a0a41, 0x012b06c5, 0x022d4113, 0x0010c7d8}}, Y: Field{[10]uint32{0x00cef899, 0x01edff9e, 0x0177246b, 0x0010d559, 0x0241baaa, 0x01c8ea9c, 0x02de6519, 0x010e3db5, 0x027fe7aa, 0x0028a60c}}}, + {X: Field{[10]uint32{0x026b64f1, 0x00e6512c, 0x02d995cf, 0x00a3d51d, 0x01b7edcf, 0x01447967, 0x00da4c62, 0x03c04353, 0x007f1b58, 0x001c5d50}}, Y: Field{[10]uint32{0x024234d5, 0x039fbeac, 0x01d2a426, 0x02ddd11c, 0x02b01fe8, 0x00d3321b, 0x02d34011, 0x035543cd, 0x014344e3, 0x0010ed15}}}, + {X: Field{[10]uint32{0x03748503, 0x0099f559, 0x028e7cac, 0x011dcc4c, 0x000e6e0e, 0x03e284ab, 0x0362ef39, 0x023ee1b2, 0x02ddece7, 0x00264f6e}}, Y: Field{[10]uint32{0x02b0cee2, 0x01cd84df, 0x01aa49ba, 0x03da6e2b, 0x0217f87b, 0x01e87d46, 0x01f78478, 0x03bbade1, 0x01ee8569, 0x0029486a}}}, + {X: Field{[10]uint32{0x03421e21, 0x0136ea65, 0x022f4e46, 0x0288f3bf, 0x003aca86, 0x010633eb, 0x00289212, 0x005dcaea, 0x006b84e5, 0x0003083a}}, Y: Field{[10]uint32{0x01aa6a45, 0x020f5928, 0x01349dfc, 0x03d96f42, 0x0386ee76, 0x0386696d, 0x01237a11, 0x02b6b068, 0x01bf76d0, 0x003d587a}}}, + {X: Field{[10]uint32{0x02d23d80, 0x02889d69, 0x00d478de, 0x007c991d, 0x00e10bd1, 0x024258b0, 0x039431cb, 0x017a968c, 0x02ba06ad, 0x001d7c5e}}, Y: Field{[10]uint32{0x000dd57e, 0x02a16c0a, 0x02590986, 0x03b6ed3a, 0x02372ffb, 0x0066d8a4, 0x03c7d0bf, 0x026a031f, 0x02fe1563, 0x00281e98}}}, + {X: Field{[10]uint32{0x03344f7f, 0x0233e712, 0x020c4c71, 0x03f52339, 0x00ee8b89, 0x0349b504, 0x017e32cb, 0x0382b83a, 0x004bd972, 0x000d5332}}, Y: Field{[10]uint32{0x01db82d6, 0x02c46ba9, 0x020ec7e4, 0x0006180b, 0x018e36c6, 0x026ea215, 0x010b493f, 0x01ad759d, 0x0329291c, 0x0027012f}}}, + {X: Field{[10]uint32{0x01ad3413, 0x02e6db58, 0x01684ae2, 0x00100c9f, 0x028db9c0, 0x032e1ede, 0x0295f485, 0x03d2829b, 0x015e11d9, 0x00199e15}}, Y: Field{[10]uint32{0x02bca672, 0x0204081f, 0x02660124, 0x0054eb71, 0x02a6ce2d, 0x01f2f7e7, 0x01266d92, 0x03d91a49, 0x023de278, 0x00144376}}}, + {X: Field{[10]uint32{0x0102b4b1, 0x01ed7e0d, 0x00a44748, 0x01535b02, 0x01c4af25, 0x018884ea, 0x0086c0f2, 0x0250a101, 0x0018da0f, 0x002b3bc5}}, Y: Field{[10]uint32{0x02e85bfc, 0x007e9e59, 0x0078c6f8, 0x0242b7c6, 0x012a3f62, 0x03625c73, 0x00017b53, 0x01e93781, 0x019fd7e8, 0x003134d5}}}, + {X: Field{[10]uint32{0x02cc8563, 0x002bd6c1, 0x001eaac0, 0x016fff84, 0x009224df, 0x00658da2, 0x02c82bd8, 0x01dd22b6, 0x02362cda, 0x003af712}}, Y: Field{[10]uint32{0x0394ccfa, 0x005ef3a8, 0x00f9249b, 0x02492481, 0x03bec407, 0x033753c1, 0x01ee35e6, 0x034d7e6c, 0x0144e856, 0x0019668c}}}, + {X: Field{[10]uint32{0x01064e13, 0x00ec1843, 0x01e062a7, 0x038111bc, 0x0215311d, 0x023f5059, 0x015ff98e, 0x001a41c8, 0x02ff0c97, 0x002a38a0}}, Y: Field{[10]uint32{0x01f4cc0c, 0x01f1cc44, 0x02bd6cef, 0x00f94375, 0x008b679a, 0x02c94562, 0x03b7f3c5, 0x007026af, 0x015b8db8, 0x001fe5cd}}}, + }, + { + {X: Field{[10]uint32{0x01064e13, 0x00ec1843, 0x01e062a7, 0x038111bc, 0x0215311d, 0x023f5059, 0x015ff98e, 0x001a41c8, 0x02ff0c97, 0x002a38a0}}, Y: Field{[10]uint32{0x01f4cc0c, 0x01f1cc44, 0x02bd6cef, 0x00f94375, 0x008b679a, 0x02c94562, 0x03b7f3c5, 0x007026af, 0x015b8db8, 0x001fe5cd}}}, + {X: Field{[10]uint32{0x037653a1, 0x03ae7a9f, 0x027c1c15, 0x02a9d4f5, 0x03efbe9e, 0x03a99b98, 0x0076f805, 0x02bb2f2e, 0x02e7e27f, 0x0032b1bc}}, Y: Field{[10]uint32{0x02c5e556, 0x0042b43f, 0x003a068c, 0x0395a204, 0x0081e83a, 0x010a8d14, 0x01b65d9a, 0x01bc6533, 0x02e5e2aa, 0x003df505}}}, + {X: Field{[10]uint32{0x023979b5, 0x00666c2e, 0x0029e22a, 0x023799fa, 0x00ba288f, 0x03b90394, 0x0337f0b1, 0x03898c9f, 0x03c5cdad, 0x002b8881}}, Y: Field{[10]uint32{0x0050fa6f, 0x00f359a1, 0x0388968f, 0x01f4df53, 0x00fca87b, 0x00eb5c18, 0x00c92452, 0x027dc6b5, 0x02510c07, 0x003aa47f}}}, + {X: Field{[10]uint32{0x0224003d, 0x03d2ac21, 0x00b11cc9, 0x00a508e3, 0x014ab767, 0x016390c9, 0x03c5932e, 0x03481bbe, 0x0246ee37, 0x0039b7f7}}, Y: Field{[10]uint32{0x0216b93b, 0x02194388, 0x017dd754, 0x03a949ff, 0x003b1ce5, 0x0223e488, 0x02f48f7b, 0x00e5263c, 0x03b7be91, 0x0021c9ec}}}, + {X: Field{[10]uint32{0x02fca824, 0x00064403, 0x024fae41, 0x013fa885, 0x01e0be0c, 0x01961518, 0x02c54100, 0x02b39673, 0x010cad72, 0x0032e37b}}, Y: Field{[10]uint32{0x03227361, 0x002f4163, 0x01742f14, 0x037f1e4c, 0x0096ad1f, 0x028b32f1, 0x0316c487, 0x0223216c, 0x008f740d, 0x000ce940}}}, + {X: Field{[10]uint32{0x00e4dd6a, 0x0384787b, 0x01cef559, 0x02728c88, 0x020a00e4, 0x02359311, 0x01eca37e, 0x00ad92f2, 0x00f7b279, 0x001276f9}}, Y: Field{[10]uint32{0x029e3eae, 0x02dca90a, 0x03b69b13, 0x00bf2816, 0x021c3855, 0x01a48956, 0x01fe33db, 0x02071cb1, 0x02984704, 0x002e2d5c}}}, + {X: Field{[10]uint32{0x03cbd327, 0x006d368e, 0x02aee941, 0x01488792, 0x02b04e08, 0x01f9dbb5, 0x0294900d, 0x020d9c23, 0x03298af1, 0x002c314e}}, Y: Field{[10]uint32{0x017be436, 0x01af128b, 0x02a0f161, 0x0031d18d, 0x03d82a22, 0x02d9acab, 0x00f6a601, 0x01fa858e, 0x03401fbd, 0x003b8aa5}}}, + {X: Field{[10]uint32{0x00dce109, 0x00440d52, 0x011d3b0e, 0x005273c8, 0x02e250e3, 0x02b25820, 0x0240cfc7, 0x0208f59a, 0x009cd9a6, 0x000f1382}}, Y: Field{[10]uint32{0x0219aeea, 0x03d9648e, 0x02697e2b, 0x010b65ff, 0x039579e1, 0x015d934d, 0x0357bca1, 0x0246d201, 0x02669fe1, 0x0010feef}}}, + {X: Field{[10]uint32{0x03b836a1, 0x03bed8e5, 0x01ef7de6, 0x017fdd9e, 0x02c80640, 0x039dfd49, 0x018862ec, 0x02e48353, 0x033f329d, 0x001bdae9}}, Y: Field{[10]uint32{0x02832b84, 0x037cbec1, 0x03f934db, 0x014a2387, 0x00d8990c, 0x016fba70, 0x030b8a40, 0x030638f6, 0x0217ff5f, 0x00371de2}}}, + {X: Field{[10]uint32{0x025d5241, 0x015adfe0, 0x012f6680, 0x032a482f, 0x02563ed7, 0x002cfaa2, 0x00277d34, 0x019d394d, 0x01ada779, 0x003e3307}}, Y: Field{[10]uint32{0x0070e10a, 0x02bc0e3c, 0x00bd4960, 0x01b187ac, 0x0052c2d7, 0x01459bc1, 0x03e892fa, 0x01c3facc, 0x024410b1, 0x0004f793}}}, + {X: Field{[10]uint32{0x02b39ede, 0x038d0827, 0x012d42ae, 0x00cb5c18, 0x00310880, 0x004090d8, 0x00ff467e, 0x00abd2ef, 0x027dc742, 0x001f51c6}}, Y: Field{[10]uint32{0x03f6607e, 0x02f3652a, 0x028fd0c9, 0x01f4708a, 0x027795cf, 0x03ff21be, 0x0382231e, 0x0215941e, 0x0319f3a6, 0x0000129e}}}, + {X: Field{[10]uint32{0x00e5f03a, 0x022d6f7d, 0x006d54fe, 0x03ac7858, 0x0196565f, 0x035f7f8d, 0x03dcfb33, 0x02f8cdcd, 0x03dd0289, 0x002030d3}}, Y: Field{[10]uint32{0x023ca504, 0x03d151bf, 0x005cb117, 0x03bc7cc9, 0x03d30b2a, 0x01f72680, 0x02db5700, 0x007b3557, 0x0056a78c, 0x00091f82}}}, + {X: Field{[10]uint32{0x025eb1c1, 0x03527895, 0x01c5aa56, 0x019f36b9, 0x027fcd75, 0x0260bc25, 0x030fcc31, 0x00feb1c1, 0x0163f9b7, 0x003c0094}}, Y: Field{[10]uint32{0x01de2ae0, 0x01f5c11b, 0x011e57da, 0x01735b34, 0x018576ff, 0x0289abfb, 0x026b4a5d, 0x00837d31, 0x01e8883d, 0x000153aa}}}, + {X: Field{[10]uint32{0x0214f422, 0x00281872, 0x00deca61, 0x03b67931, 0x00b383e4, 0x0136f1ef, 0x03e80221, 0x037cf52b, 0x02e897a9, 0x001b3b46}}, Y: Field{[10]uint32{0x004fc091, 0x00f690f6, 0x00932ae7, 0x0321e6a7, 0x008ca102, 0x02f9ae6e, 0x0095a728, 0x0239eaed, 0x02eb1b0f, 0x00096222}}}, + {X: Field{[10]uint32{0x02c32c64, 0x00d424f6, 0x00bf84cf, 0x000fb2b9, 0x020e36fe, 0x03d1dc57, 0x0304e950, 0x008ea83d, 0x000001ed, 0x002b0485}}, Y: Field{[10]uint32{0x02b1a867, 0x00ab6eb7, 0x03089881, 0x00e9694f, 0x03ed5a5d, 0x00c12668, 0x030b6957, 0x022ebc61, 0x00cbac33, 0x0033a3af}}}, + {X: Field{[10]uint32{0x0319497c, 0x00e0b7a0, 0x008c022f, 0x03e94494, 0x015d59b1, 0x0244f2ac, 0x039e56e6, 0x02161cb4, 0x03b9c9a2, 0x0005d294}}, Y: Field{[10]uint32{0x039afa73, 0x0284eb01, 0x0054383d, 0x007632e6, 0x02646b3a, 0x0311fe79, 0x034155f2, 0x0270595e, 0x0037abfc, 0x00333277}}}, + }, + { + {X: Field{[10]uint32{0x0319497c, 0x00e0b7a0, 0x008c022f, 0x03e94494, 0x015d59b1, 0x0244f2ac, 0x039e56e6, 0x02161cb4, 0x03b9c9a2, 0x0005d294}}, Y: Field{[10]uint32{0x039afa73, 0x0284eb01, 0x0054383d, 0x007632e6, 0x02646b3a, 0x0311fe79, 0x034155f2, 0x0270595e, 0x0037abfc, 0x00333277}}}, + {X: Field{[10]uint32{0x000dd273, 0x0368dbe1, 0x001115f5, 0x00383914, 0x03d53d28, 0x006e4ba8, 0x007071ef, 0x01aed8c3, 0x02e79694, 0x000839b8}}, Y: Field{[10]uint32{0x0346b593, 0x033f456e, 0x0293cc07, 0x01e4f6a1, 0x01811ec9, 0x01e1d195, 0x00ba1ad9, 0x01679128, 0x02fe4f15, 0x0034eb5e}}}, + {X: Field{[10]uint32{0x014b8367, 0x0201cf5d, 0x006bfe94, 0x01f59f54, 0x01b775b7, 0x0210da97, 0x00aa5d45, 0x0149b903, 0x014ae446, 0x00179682}}, Y: Field{[10]uint32{0x01ce85ca, 0x00a6a764, 0x03fa4453, 0x03bcf797, 0x02796aa9, 0x01ca92de, 0x00901f15, 0x0178170b, 0x00c9a479, 0x002ba2be}}}, + {X: Field{[10]uint32{0x02077674, 0x0153cc06, 0x00ca3e7b, 0x004db309, 0x0035ae68, 0x039c76dc, 0x00280a07, 0x01476ea0, 0x0024d7a3, 0x0023832a}}, Y: Field{[10]uint32{0x02b7ed98, 0x0132fb04, 0x010290b8, 0x00674be4, 0x03cff604, 0x0298b3d5, 0x0169d24d, 0x00b50771, 0x02075919, 0x00013b15}}}, + {X: Field{[10]uint32{0x03b10d9d, 0x0215e4e5, 0x00fcaf19, 0x0062747e, 0x01e6a52f, 0x00432e0b, 0x02ccb833, 0x00ba1677, 0x00adb970, 0x00003538}}, Y: Field{[10]uint32{0x0140dced, 0x0040121c, 0x01923e82, 0x0325e38b, 0x030b5898, 0x00c8a1fd, 0x012f8464, 0x0190251f, 0x01981837, 0x0021ee00}}}, + {X: Field{[10]uint32{0x00bcad59, 0x017a0d83, 0x02aa07b0, 0x00169382, 0x017c845a, 0x017e40bc, 0x0217c85a, 0x00d801ea, 0x001152ac, 0x000bb5db}}, Y: Field{[10]uint32{0x00ea66fe, 0x031ea271, 0x0394114a, 0x0004c29f, 0x015f72c6, 0x0205d9fb, 0x01a6eaec, 0x017c88b3, 0x014043b8, 0x0018e7d3}}}, + {X: Field{[10]uint32{0x009caee8, 0x00469827, 0x030bb208, 0x0116c689, 0x03632e20, 0x03b12999, 0x037a19ae, 0x01d303db, 0x021368ef, 0x0000d994}}, Y: Field{[10]uint32{0x0372b711, 0x03b1a8ed, 0x03a7f0a9, 0x0224ca56, 0x0101cba9, 0x02e9a511, 0x009fc681, 0x037b6665, 0x032b2a93, 0x0007c630}}}, + {X: Field{[10]uint32{0x00192441, 0x02bf17aa, 0x034afe96, 0x00868c86, 0x01afdb58, 0x038f59b0, 0x03a63553, 0x020b4717, 0x00da51c9, 0x003deed4}}, Y: Field{[10]uint32{0x005165ae, 0x0103a875, 0x0074bbc6, 0x007eef13, 0x01b1cfdc, 0x03799217, 0x01bc63bd, 0x029498c4, 0x03e30334, 0x0024f30e}}}, + {X: Field{[10]uint32{0x0046c85c, 0x03e5d465, 0x0006353f, 0x00239807, 0x02de37de, 0x00fdb1ba, 0x00676c45, 0x023c7ea8, 0x01056fdb, 0x00039624}}, Y: Field{[10]uint32{0x0148972e, 0x031df9c8, 0x01add5f6, 0x013a0337, 0x00f49023, 0x03d20626, 0x007418ba, 0x01ef683b, 0x005f11fa, 0x0038e692}}}, + {X: Field{[10]uint32{0x015ae087, 0x01240401, 0x00a57e03, 0x01be8d25, 0x00c671b9, 0x010e8544, 0x03945fb7, 0x029660b4, 0x03155b6e, 0x0028d199}}, Y: Field{[10]uint32{0x02887627, 0x03cd98c8, 0x030bccb3, 0x01bc8e53, 0x01c53eab, 0x028a8c14, 0x02fe9a1a, 0x0316f637, 0x03a5e56b, 0x00087297}}}, + {X: Field{[10]uint32{0x022e1259, 0x022b7cf0, 0x0362aff1, 0x02901a04, 0x01931739, 0x0001dddc, 0x02cf5faa, 0x0118fcad, 0x026d26f1, 0x0029d004}}, Y: Field{[10]uint32{0x034a5f43, 0x01c5c90c, 0x02dad5f7, 0x01d4ec75, 0x0117865e, 0x019f1fb9, 0x005f174a, 0x03c7fc6c, 0x03baf194, 0x00016a7f}}}, + {X: Field{[10]uint32{0x00b84b48, 0x03d15c79, 0x017ea830, 0x031e67a0, 0x0091adf4, 0x03505fdc, 0x0110f577, 0x0293d506, 0x030e7d45, 0x0017ec77}}, Y: Field{[10]uint32{0x03be8eb8, 0x037a9a8d, 0x021ad77e, 0x02421cfc, 0x020629c3, 0x039b4960, 0x00f4646f, 0x013527ef, 0x03bcbc3c, 0x000854be}}}, + {X: Field{[10]uint32{0x0308f1fe, 0x0285e8f2, 0x007bfd88, 0x039c2e82, 0x03d7ce7e, 0x0360b45d, 0x01405765, 0x01d39299, 0x00216d94, 0x0021f92e}}, Y: Field{[10]uint32{0x02d5e2ec, 0x01d2b26b, 0x02d9d75f, 0x036f59e1, 0x006e2f23, 0x00be30b3, 0x03d7f8ea, 0x01233b35, 0x02c07663, 0x003dd38e}}}, + {X: Field{[10]uint32{0x01b8f255, 0x01b661fe, 0x00d21114, 0x039d24a8, 0x01e77d43, 0x02aa0bfa, 0x022e4608, 0x02e29058, 0x017478e1, 0x00256ef6}}, Y: Field{[10]uint32{0x00361439, 0x038ffa0a, 0x03fc1010, 0x02bbf1dd, 0x00f2ba72, 0x003cb436, 0x032c208f, 0x031dff7b, 0x02d129e3, 0x002fb50e}}}, + {X: Field{[10]uint32{0x01c4d15c, 0x01c039a8, 0x0274b9a8, 0x02fc1f03, 0x00105ea7, 0x00495291, 0x02c22c0c, 0x01e696a4, 0x03463fea, 0x000d7a86}}, Y: Field{[10]uint32{0x033fe1ea, 0x00e6ebdf, 0x0095edc9, 0x0280c194, 0x005d633a, 0x01d34ec6, 0x008fa5fd, 0x034b35e2, 0x01651b9e, 0x002b4864}}}, + {X: Field{[10]uint32{0x0075b7ba, 0x03f7fc25, 0x00b3d884, 0x00c39246, 0x03e039e7, 0x01406336, 0x03e57edf, 0x01e170f4, 0x02981943, 0x002564e5}}, Y: Field{[10]uint32{0x0124f2fd, 0x022afe1d, 0x01385e9b, 0x019321c2, 0x009c653f, 0x02e735a1, 0x020386a4, 0x00c7762e, 0x012888c3, 0x000b9f95}}}, + }, + { + {X: Field{[10]uint32{0x0075b7ba, 0x03f7fc25, 0x00b3d884, 0x00c39246, 0x03e039e7, 0x01406336, 0x03e57edf, 0x01e170f4, 0x02981943, 0x002564e5}}, Y: Field{[10]uint32{0x0124f2fd, 0x022afe1d, 0x01385e9b, 0x019321c2, 0x009c653f, 0x02e735a1, 0x020386a4, 0x00c7762e, 0x012888c3, 0x000b9f95}}}, + {X: Field{[10]uint32{0x03c8f53b, 0x01d6a502, 0x007c7072, 0x01ace45d, 0x02d70222, 0x035cf657, 0x0232ca7d, 0x029f7abf, 0x0005ff0d, 0x0032fb85}}, Y: Field{[10]uint32{0x00c87f45, 0x00b9ac9e, 0x03728292, 0x03da049b, 0x030d9ff4, 0x02e0a533, 0x01f3e689, 0x03e40ad4, 0x034f4e75, 0x003d8847}}}, + {X: Field{[10]uint32{0x03d69985, 0x03177643, 0x032aea09, 0x032db77d, 0x009f309c, 0x02f333c5, 0x00f690df, 0x00bdf9e2, 0x0275ceb7, 0x0002ba5d}}, Y: Field{[10]uint32{0x0009a003, 0x023ad045, 0x01aff89c, 0x0105ebb8, 0x01d0b99d, 0x01469531, 0x038dfee0, 0x023453a6, 0x0173f6e4, 0x00244866}}}, + {X: Field{[10]uint32{0x00b311dd, 0x01f222c5, 0x01b9cf37, 0x02bbef5c, 0x003de3be, 0x02e894b8, 0x0180bfa0, 0x03d6b375, 0x02d28faa, 0x002b756e}}, Y: Field{[10]uint32{0x01d6c38d, 0x0260bcd2, 0x01b8902f, 0x039d9a6e, 0x0352d4e1, 0x00d66053, 0x00e434f8, 0x030e965d, 0x00f4da3d, 0x003a710f}}}, + {X: Field{[10]uint32{0x01262b90, 0x0064f7f6, 0x0029a9dc, 0x0307f8f3, 0x03b723c4, 0x02009747, 0x0365f177, 0x0184bb26, 0x022a5ac1, 0x000ac561}}, Y: Field{[10]uint32{0x003d7557, 0x0265b992, 0x009a4991, 0x01c3e652, 0x026f5349, 0x02a1d241, 0x0230d52d, 0x00cfea9e, 0x013daa0a, 0x000bac01}}}, + {X: Field{[10]uint32{0x0078afb0, 0x016b9e58, 0x021974e7, 0x031b1049, 0x0314ff12, 0x019b45c1, 0x00d4468c, 0x018ed492, 0x03cd7661, 0x0008275a}}, Y: Field{[10]uint32{0x0340b310, 0x006ddd69, 0x023e385d, 0x024ce7d3, 0x0301edb7, 0x02626296, 0x0165baba, 0x00ca0282, 0x03429e7b, 0x00068bc4}}}, + {X: Field{[10]uint32{0x00e7be40, 0x025c532a, 0x00ee593f, 0x02524410, 0x02f2d2c8, 0x01b91da6, 0x0295c161, 0x03b99dfb, 0x02ed1a96, 0x001abe7a}}, Y: Field{[10]uint32{0x02387e1c, 0x005b809b, 0x01569fa4, 0x019a83d6, 0x0145e3f6, 0x00d1f720, 0x009ea428, 0x0199259c, 0x02116900, 0x002ce04a}}}, + {X: Field{[10]uint32{0x017c0979, 0x01900283, 0x00c96f5f, 0x0052f16a, 0x024a29b3, 0x03d073b4, 0x029df3df, 0x005c50fe, 0x032ba817, 0x0014fc90}}, Y: Field{[10]uint32{0x037b36a2, 0x01fa4314, 0x03845f9f, 0x03d727a2, 0x024bd5a4, 0x0046c1f7, 0x014e3e09, 0x01e6df33, 0x03fbc1f0, 0x002f54bb}}}, + {X: Field{[10]uint32{0x0082801e, 0x02dbe83d, 0x00155d26, 0x022f16f5, 0x0140794f, 0x032e35be, 0x03aab424, 0x00513bac, 0x00ee0444, 0x0016599a}}, Y: Field{[10]uint32{0x00870c37, 0x01c523c1, 0x0135ad47, 0x032d8f4d, 0x028db6c1, 0x01dc4c13, 0x008f9608, 0x03bd7c7b, 0x00a85bba, 0x002526a8}}}, + {X: Field{[10]uint32{0x00977063, 0x00102962, 0x00c4fef4, 0x022fec4c, 0x0365bf6f, 0x019f83f6, 0x0150f838, 0x0269bd87, 0x029e047f, 0x0029d8b9}}, Y: Field{[10]uint32{0x014f6ef1, 0x00da7e0a, 0x00e62a06, 0x028e5b7f, 0x01958b48, 0x00cdcaa2, 0x021732d9, 0x00455e06, 0x0157cbed, 0x001ae637}}}, + {X: Field{[10]uint32{0x032c19fd, 0x026cb9f0, 0x028c3e4c, 0x03a41600, 0x034acab8, 0x02d5c2d6, 0x01f4d17a, 0x0141d8bf, 0x01881b50, 0x002fa134}}, Y: Field{[10]uint32{0x02f1281f, 0x025294dc, 0x01c37676, 0x03d57943, 0x007955a7, 0x00c20e65, 0x01e65f48, 0x01425134, 0x00cb32dc, 0x003bfe58}}}, + {X: Field{[10]uint32{0x0355a9bf, 0x02c0a637, 0x01bf8ebc, 0x03bca7a9, 0x00f6b015, 0x0075f15e, 0x00307f60, 0x00c60604, 0x00eb9c6e, 0x001c98a6}}, Y: Field{[10]uint32{0x003accae, 0x01be2c2f, 0x033b4e11, 0x032f0019, 0x00be797b, 0x00f42678, 0x0035a2ef, 0x026ff6a6, 0x0001a9de, 0x000e3522}}}, + {X: Field{[10]uint32{0x02c69482, 0x02dd7f55, 0x02167bd1, 0x01004cbe, 0x00cbeab5, 0x02bcaf22, 0x0357274c, 0x01fb9507, 0x00314c0d, 0x002619e8}}, Y: Field{[10]uint32{0x03792cd7, 0x0018451b, 0x028a916f, 0x033d4558, 0x039e6245, 0x006ea658, 0x0392d55b, 0x020d3e71, 0x015a3b10, 0x00340b98}}}, + {X: Field{[10]uint32{0x01a7e7d2, 0x01fcb610, 0x03d85995, 0x0230fbea, 0x03a4c90e, 0x0251b791, 0x03af7555, 0x039229a4, 0x030f1339, 0x002e4d04}}, Y: Field{[10]uint32{0x00653d39, 0x02646a26, 0x00c41a4a, 0x036f9c37, 0x03ffd381, 0x02fde347, 0x00929a5f, 0x0015daa8, 0x036b9b2d, 0x002548cf}}}, + {X: Field{[10]uint32{0x01557aa1, 0x008e7647, 0x03c2978a, 0x03fb3407, 0x03df1d92, 0x002675aa, 0x027f2ea0, 0x02056964, 0x024540d8, 0x002a19bc}}, Y: Field{[10]uint32{0x01430634, 0x006eed30, 0x01a4b798, 0x0319f184, 0x0161eb69, 0x036c384e, 0x013d8fa5, 0x00ad135e, 0x01f6a802, 0x002d61ce}}}, + {X: Field{[10]uint32{0x0182b151, 0x004d0327, 0x03a2dbb5, 0x00f5587e, 0x03cca0a4, 0x02c426a3, 0x005a1153, 0x00795b59, 0x0250ae40, 0x0034a98e}}, Y: Field{[10]uint32{0x00f89405, 0x01085d37, 0x00a52d41, 0x002bd213, 0x00a70f75, 0x00a52088, 0x01aee58b, 0x03f2dd59, 0x02fb6443, 0x003a0b61}}}, + }, + { + {X: Field{[10]uint32{0x0182b151, 0x004d0327, 0x03a2dbb5, 0x00f5587e, 0x03cca0a4, 0x02c426a3, 0x005a1153, 0x00795b59, 0x0250ae40, 0x0034a98e}}, Y: Field{[10]uint32{0x00f89405, 0x01085d37, 0x00a52d41, 0x002bd213, 0x00a70f75, 0x00a52088, 0x01aee58b, 0x03f2dd59, 0x02fb6443, 0x003a0b61}}}, + {X: Field{[10]uint32{0x0272da5f, 0x0312eb32, 0x013497c6, 0x01acdb10, 0x0122b9cd, 0x00cdc97e, 0x03c72020, 0x0149788e, 0x03a76100, 0x002ebc60}}, Y: Field{[10]uint32{0x00f2a0cf, 0x03398a2a, 0x01361377, 0x031729ce, 0x018e2336, 0x035a6c74, 0x008bd58d, 0x0134cd5a, 0x03be9ccb, 0x0037ab27}}}, + {X: Field{[10]uint32{0x024b3ba0, 0x027d8d7b, 0x031f1785, 0x03d7c62f, 0x035c2abe, 0x006fc917, 0x03e170f3, 0x03edcefb, 0x0105221f, 0x00104204}}, Y: Field{[10]uint32{0x03525595, 0x02587705, 0x02455486, 0x02159681, 0x00133649, 0x035ae126, 0x00a65ae1, 0x0159a3cb, 0x036976ff, 0x00370dfc}}}, + {X: Field{[10]uint32{0x016c3943, 0x02b29631, 0x02a5ffa5, 0x00b55add, 0x015adbd0, 0x03923dbf, 0x01332906, 0x01008e3e, 0x00a7e384, 0x003debbe}}, Y: Field{[10]uint32{0x00f442f1, 0x03d89feb, 0x01003431, 0x0212a373, 0x03eec301, 0x00eacff3, 0x0042bbdc, 0x0369e5f1, 0x0344d5ff, 0x00138ec2}}}, + {X: Field{[10]uint32{0x03d98ded, 0x02726e24, 0x00218462, 0x020cee28, 0x02dbdf22, 0x014c7597, 0x00f22990, 0x03032323, 0x0210a16c, 0x0018e8a8}}, Y: Field{[10]uint32{0x00d1cfc2, 0x0065f538, 0x0073a519, 0x0280271e, 0x021fabf6, 0x013b6511, 0x02503325, 0x031dbf41, 0x02e2e7fe, 0x00220ad0}}}, + {X: Field{[10]uint32{0x000e5485, 0x02799a80, 0x01df0208, 0x022fd769, 0x02451306, 0x01cc83c4, 0x02c70862, 0x02f7fe38, 0x02d793a2, 0x0007349d}}, Y: Field{[10]uint32{0x005fbd7f, 0x033c1462, 0x024ecca5, 0x01c2c826, 0x0399d0e2, 0x014ba5df, 0x00b34d45, 0x02bdce35, 0x01d18b2e, 0x0019856f}}}, + {X: Field{[10]uint32{0x00045445, 0x0186942e, 0x00d7eea8, 0x01c6407a, 0x0080ff73, 0x0355efbc, 0x0312e2e5, 0x019f28f7, 0x015d449d, 0x00030560}}, Y: Field{[10]uint32{0x0054a206, 0x03e1f550, 0x00ea3214, 0x0390d963, 0x00ba3054, 0x0198f34a, 0x0293c3b6, 0x01045742, 0x020a3ae9, 0x000bcc35}}}, + {X: Field{[10]uint32{0x01924459, 0x032515c4, 0x0278c1fa, 0x00968f1e, 0x037af2fa, 0x03776ec7, 0x022e29f0, 0x0240db16, 0x03cb1001, 0x0037ed51}}, Y: Field{[10]uint32{0x0065fd9e, 0x00178373, 0x031dcfa2, 0x00c39700, 0x0022af09, 0x03721933, 0x00389ce9, 0x011c222e, 0x02a9ba0f, 0x0026b334}}}, + {X: Field{[10]uint32{0x03857faf, 0x0048e730, 0x019701e9, 0x03787a58, 0x03882fca, 0x020a3bdf, 0x017ba8f4, 0x022a7035, 0x036b89ae, 0x0031d5fa}}, Y: Field{[10]uint32{0x00584ca4, 0x0276c328, 0x014c101d, 0x00344062, 0x03627d31, 0x022fb186, 0x03369f20, 0x03fcd895, 0x01cfcd23, 0x003c0e96}}}, + {X: Field{[10]uint32{0x02f8b517, 0x02ecd463, 0x01bac9a8, 0x00691c5c, 0x0177c277, 0x02845789, 0x01bc8064, 0x036c9257, 0x02f7ccc4, 0x001c4808}}, Y: Field{[10]uint32{0x009da1ac, 0x01f7ca09, 0x01d7748b, 0x037cef5e, 0x01a3603e, 0x00251d50, 0x03101f9b, 0x03a4a2b9, 0x0338de4d, 0x002f55e0}}}, + {X: Field{[10]uint32{0x0059225d, 0x034613d5, 0x018d10e4, 0x01f8b621, 0x0244faf7, 0x006700a8, 0x015d4099, 0x028343e0, 0x03aeadaf, 0x003ea018}}, Y: Field{[10]uint32{0x02ce1507, 0x02df8edf, 0x0059c3a2, 0x00db401f, 0x000a2b6c, 0x00931097, 0x00de2208, 0x0301a458, 0x039057c0, 0x0002e9c7}}}, + {X: Field{[10]uint32{0x010bc03e, 0x014f566a, 0x015e33c7, 0x024d4780, 0x0084b0f3, 0x011143e0, 0x01a925f7, 0x001cba79, 0x00ed2c82, 0x000b3bb6}}, Y: Field{[10]uint32{0x02b82adc, 0x01cae2de, 0x03cd01cb, 0x033c8354, 0x034a1df9, 0x03f1f6ba, 0x0050eb7a, 0x0378fb36, 0x0380e9b9, 0x002909da}}}, + {X: Field{[10]uint32{0x02f0d044, 0x027fa505, 0x021a7967, 0x03524279, 0x01aaba9f, 0x018bb829, 0x02f69cf8, 0x015ea278, 0x03c59d02, 0x00196328}}, Y: Field{[10]uint32{0x03cb872d, 0x007ccbbd, 0x00e89add, 0x018f1063, 0x0255a167, 0x004ef4dd, 0x0165d627, 0x0095183c, 0x01377aea, 0x002b9730}}}, + {X: Field{[10]uint32{0x02aa2494, 0x03538c50, 0x00c9a50c, 0x03f9f744, 0x027bdcdd, 0x013aef20, 0x01136e7c, 0x03a3b374, 0x009a4539, 0x000de71d}}, Y: Field{[10]uint32{0x02c86c63, 0x03ea7a33, 0x016435be, 0x029edfa1, 0x011364f6, 0x019e0fc4, 0x01c0ef1d, 0x0300c4f2, 0x03848bf9, 0x00289518}}}, + {X: Field{[10]uint32{0x0296756d, 0x02b255cd, 0x01417ab5, 0x01815958, 0x00676af1, 0x034fcc17, 0x00c19835, 0x03caeb39, 0x034aaf91, 0x000c7252}}, Y: Field{[10]uint32{0x0208ae78, 0x0117a377, 0x01070abc, 0x032b9ab4, 0x0283aedf, 0x02bd0581, 0x00b8b59a, 0x020ea6fd, 0x004b556e, 0x003e03e2}}}, + {X: Field{[10]uint32{0x0217e073, 0x01be6d15, 0x0317b343, 0x02f4e0e4, 0x026bacbd, 0x01f3f721, 0x02e7896d, 0x007ae243, 0x02233547, 0x0019161f}}, Y: Field{[10]uint32{0x03af6589, 0x026797a7, 0x02ab3582, 0x00e44ceb, 0x0185b90a, 0x01f0a668, 0x016dd644, 0x000b8aba, 0x01d5bf69, 0x003667f3}}}, + }, + { + {X: Field{[10]uint32{0x0217e073, 0x01be6d15, 0x0317b343, 0x02f4e0e4, 0x026bacbd, 0x01f3f721, 0x02e7896d, 0x007ae243, 0x02233547, 0x0019161f}}, Y: Field{[10]uint32{0x03af6589, 0x026797a7, 0x02ab3582, 0x00e44ceb, 0x0185b90a, 0x01f0a668, 0x016dd644, 0x000b8aba, 0x01d5bf69, 0x003667f3}}}, + {X: Field{[10]uint32{0x0384480d, 0x03362310, 0x032ef44b, 0x0288aa47, 0x0294e0b6, 0x024bc304, 0x0328b54c, 0x02503cb3, 0x02b142df, 0x002e19b5}}, Y: Field{[10]uint32{0x004cafa8, 0x0166d1c3, 0x006d60e6, 0x02012c76, 0x0024e522, 0x02a6b5eb, 0x02278d7e, 0x03adc226, 0x00b3426a, 0x0006452c}}}, + {X: Field{[10]uint32{0x02103dd6, 0x01c51c83, 0x00859adf, 0x0301f001, 0x02c34604, 0x0164a85e, 0x02213cfc, 0x000fe0da, 0x03d55a42, 0x002f11de}}, Y: Field{[10]uint32{0x02f7c343, 0x0020b635, 0x004ac639, 0x01cb18ed, 0x015d2935, 0x01b7a98e, 0x03ac552c, 0x037549b2, 0x022429a8, 0x0038c787}}}, + {X: Field{[10]uint32{0x01b20d6c, 0x02736a07, 0x02455d22, 0x0393b53f, 0x03e2d52a, 0x0040aea1, 0x019d1646, 0x02067b13, 0x009085de, 0x003b0aee}}, Y: Field{[10]uint32{0x029cf4a0, 0x02671358, 0x03a98a0e, 0x012fa1fb, 0x0233a236, 0x01425031, 0x02f66f06, 0x004e84cc, 0x017661e0, 0x00333b30}}}, + {X: Field{[10]uint32{0x004eab31, 0x0370ec35, 0x034907d0, 0x00501398, 0x000ac5af, 0x019efe3a, 0x003b4232, 0x02e0e00c, 0x00fe5a6b, 0x0016276d}}, Y: Field{[10]uint32{0x01361f6a, 0x02baf9d4, 0x038db941, 0x01548523, 0x031f610e, 0x012f643c, 0x00706202, 0x028a93d8, 0x005c108a, 0x00189551}}}, + {X: Field{[10]uint32{0x02695f94, 0x0202c60d, 0x03fa592d, 0x031a4589, 0x0362a169, 0x02be6a73, 0x00cb8683, 0x023d7f43, 0x0151b455, 0x002c7497}}, Y: Field{[10]uint32{0x02e32736, 0x01fae697, 0x03edca5b, 0x0236ae18, 0x0360f6f1, 0x026aea05, 0x03ea0ac1, 0x0242c7de, 0x0272030e, 0x001c1b76}}}, + {X: Field{[10]uint32{0x020c2c41, 0x02585ca6, 0x036c67bf, 0x0071580c, 0x0042831c, 0x035bb6df, 0x00a1860a, 0x00be8baa, 0x0337d16e, 0x0004ce6c}}, Y: Field{[10]uint32{0x01f1bc2b, 0x03c152ea, 0x023a4185, 0x03e1f7a4, 0x006b1227, 0x0044e8d0, 0x023240fd, 0x02b96e9e, 0x016362c7, 0x0027e6ca}}}, + {X: Field{[10]uint32{0x03b09d0f, 0x0183b2c8, 0x03ecf38a, 0x01903d42, 0x01e50050, 0x03951641, 0x01d75ef5, 0x025b3b4e, 0x03e389e2, 0x001c7129}}, Y: Field{[10]uint32{0x020ddb62, 0x02c7c05c, 0x03fc7637, 0x0021298b, 0x02786f2b, 0x00be042a, 0x033e0a29, 0x03cee82b, 0x02db737a, 0x0004c4fe}}}, + {X: Field{[10]uint32{0x00fc47af, 0x012c7e16, 0x00dec370, 0x0320cb03, 0x00a8ddfe, 0x00006d5a, 0x010329b5, 0x033c5f31, 0x03a11363, 0x001ffcee}}, Y: Field{[10]uint32{0x01ba43a7, 0x0185933e, 0x02c297f8, 0x006b462e, 0x0317a53b, 0x011cd11a, 0x03c891b7, 0x0298a682, 0x03ae8018, 0x0007dae9}}}, + {X: Field{[10]uint32{0x0241e20e, 0x03132ea7, 0x03864d1d, 0x00f5e34c, 0x0138a87a, 0x00e934fa, 0x030f7f00, 0x013722f2, 0x01c4a511, 0x003f0e57}}, Y: Field{[10]uint32{0x03cf42ee, 0x036330b9, 0x00e2b77a, 0x0169a179, 0x02022147, 0x02f76db5, 0x02b81a98, 0x01f42533, 0x009108d0, 0x000e19b8}}}, + {X: Field{[10]uint32{0x01213775, 0x01358025, 0x02a99018, 0x00ec8f50, 0x0100b429, 0x03fb1fd8, 0x001e9395, 0x0182ed85, 0x00463ceb, 0x0023b19c}}, Y: Field{[10]uint32{0x0041ffff, 0x0043cf9e, 0x011e90e0, 0x0282f33d, 0x0271da98, 0x033b7b83, 0x02643415, 0x016f8c1b, 0x026fa0da, 0x0023d629}}}, + {X: Field{[10]uint32{0x02f83231, 0x01c4062d, 0x025e3499, 0x0239d810, 0x00b7c30d, 0x016cff74, 0x01158276, 0x02e89aa3, 0x00c53502, 0x002143e3}}, Y: Field{[10]uint32{0x032e8373, 0x00c6a757, 0x0177f4a0, 0x0285dc8b, 0x010a85bf, 0x020b31e2, 0x03f7086b, 0x02414f42, 0x01be02a7, 0x002f12a7}}}, + {X: Field{[10]uint32{0x0052abbb, 0x00ffe34d, 0x01c2e3cb, 0x00bf8ae5, 0x01ae6aa7, 0x03657525, 0x01bac3fe, 0x0006ee27, 0x01b441e7, 0x0020f798}}, Y: Field{[10]uint32{0x014eb66e, 0x0145dac1, 0x002918a0, 0x00daef39, 0x03d79c5f, 0x03138558, 0x03fb6af8, 0x01827e9a, 0x0334a34c, 0x000cbc38}}}, + {X: Field{[10]uint32{0x032e6ffa, 0x00441937, 0x0176388b, 0x00dedc55, 0x0246be9f, 0x011d4351, 0x005bb6a9, 0x0067ec51, 0x02f98f94, 0x0014ffa2}}, Y: Field{[10]uint32{0x00e92eb5, 0x03acdc99, 0x030c22a1, 0x03980ef5, 0x005fb5f8, 0x01193797, 0x000cf6c4, 0x01518859, 0x017e7b51, 0x0024ca20}}}, + {X: Field{[10]uint32{0x019276f1, 0x022309bd, 0x03b15e96, 0x02ca4a85, 0x0033ae25, 0x03df361a, 0x00bb5c00, 0x03076c6a, 0x03898f50, 0x000f5d98}}, Y: Field{[10]uint32{0x019cbcb3, 0x012996e1, 0x0178601e, 0x008066c6, 0x02f32198, 0x02b60ccf, 0x0176e34d, 0x01f76d82, 0x01737a18, 0x0034dd9a}}}, + {X: Field{[10]uint32{0x0145e458, 0x035b21b7, 0x027fd358, 0x033a8943, 0x002f0aa6, 0x01527781, 0x02546d3e, 0x036216ce, 0x01e0e4e4, 0x0021206f}}, Y: Field{[10]uint32{0x0379057e, 0x012c6d65, 0x02e556d6, 0x0310ac98, 0x02900a79, 0x033b2cb2, 0x0225bf39, 0x00137612, 0x038cba54, 0x000e3b9e}}}, + }, + { + {X: Field{[10]uint32{0x0145e458, 0x035b21b7, 0x027fd358, 0x033a8943, 0x002f0aa6, 0x01527781, 0x02546d3e, 0x036216ce, 0x01e0e4e4, 0x0021206f}}, Y: Field{[10]uint32{0x0379057e, 0x012c6d65, 0x02e556d6, 0x0310ac98, 0x02900a79, 0x033b2cb2, 0x0225bf39, 0x00137612, 0x038cba54, 0x000e3b9e}}}, + {X: Field{[10]uint32{0x00e9f114, 0x010cd49b, 0x021dde54, 0x0014a655, 0x03392ed6, 0x007524af, 0x0143c6cd, 0x00ea2e7f, 0x0050bd38, 0x00258a69}}, Y: Field{[10]uint32{0x024aa391, 0x025cb128, 0x02f8dca3, 0x00f9715a, 0x01b92559, 0x0033bd93, 0x02befd22, 0x02db5d5d, 0x03280c5f, 0x002fd0e6}}}, + {X: Field{[10]uint32{0x012da17d, 0x0283e905, 0x0246b160, 0x036c2341, 0x0011dc13, 0x03f802f2, 0x014e6b05, 0x02317c22, 0x011e0f51, 0x000efabb}}, Y: Field{[10]uint32{0x00c768d2, 0x0012617b, 0x00416ce7, 0x01ee37fb, 0x0154cde7, 0x03a0386d, 0x034a8beb, 0x01eb37fb, 0x03f55aff, 0x0030ec35}}}, + {X: Field{[10]uint32{0x02ca6cc3, 0x00e36589, 0x0218383d, 0x011f861f, 0x031477d7, 0x033224f7, 0x01730da7, 0x011a23ac, 0x0047ef1e, 0x002dcec7}}, Y: Field{[10]uint32{0x014fdba3, 0x00d75da9, 0x03f5afac, 0x014825d5, 0x017322a2, 0x03320142, 0x017d64bb, 0x008aa429, 0x01cb2949, 0x001610c5}}}, + {X: Field{[10]uint32{0x024edcc5, 0x03e85f6e, 0x011b7234, 0x0085080c, 0x03e74e32, 0x0249d665, 0x012dfc03, 0x0275861d, 0x03a0cbdc, 0x001b9cf6}}, Y: Field{[10]uint32{0x019da0e4, 0x007df375, 0x039037b3, 0x0369c019, 0x03278a77, 0x0220a1a4, 0x02455088, 0x033122fa, 0x01fc49ee, 0x003b82b0}}}, + {X: Field{[10]uint32{0x0063e1be, 0x026b4134, 0x01a75c1b, 0x028bdf8e, 0x03a92429, 0x036f3c09, 0x02615253, 0x00ac51c8, 0x01d11d60, 0x0004c590}}, Y: Field{[10]uint32{0x01fec890, 0x007fcf88, 0x01b77fdd, 0x0303e5d1, 0x03bd0fae, 0x036f4afa, 0x002e30fc, 0x00e7c1a9, 0x02617960, 0x00130ef6}}}, + {X: Field{[10]uint32{0x0280b979, 0x03131092, 0x03b31409, 0x03e8ca6a, 0x000490f5, 0x0291f0c4, 0x027d97ea, 0x02d649d8, 0x018937e5, 0x001dc1b7}}, Y: Field{[10]uint32{0x0126cfde, 0x03d20410, 0x03e3214c, 0x00d3f5fb, 0x0117fa0a, 0x007aa71c, 0x038dd799, 0x02dc51dd, 0x01827d5b, 0x002280aa}}}, + {X: Field{[10]uint32{0x038f93e0, 0x038864b4, 0x0099f9c6, 0x00eed9da, 0x03d05b2a, 0x01e8bfbd, 0x03989200, 0x00600c47, 0x02b2db40, 0x003b7f85}}, Y: Field{[10]uint32{0x029405ad, 0x005e4f78, 0x0227e3d0, 0x000311b8, 0x025b3d51, 0x02c17434, 0x0174faa4, 0x036cda53, 0x02f1fca5, 0x003b9a40}}}, + {X: Field{[10]uint32{0x026fe285, 0x02e712dc, 0x03127dcd, 0x00a504fb, 0x02a45bac, 0x007e781a, 0x02f3c7a4, 0x0303e034, 0x02c5929b, 0x0005b508}}, Y: Field{[10]uint32{0x0155b441, 0x003ff9b0, 0x00d4233e, 0x0044dcd9, 0x01e93f0c, 0x018d4c6c, 0x02b7e69a, 0x009906a2, 0x00fa51e2, 0x00037e22}}}, + {X: Field{[10]uint32{0x01e306a5, 0x004cae1a, 0x007f15d3, 0x00931309, 0x02b8b5f6, 0x017cb971, 0x027129b3, 0x0030cd24, 0x0363f9f3, 0x0025cb2c}}, Y: Field{[10]uint32{0x02e86295, 0x007f502d, 0x00f35d06, 0x03b732b5, 0x01b85702, 0x02f1941e, 0x01e77fe5, 0x024aa97e, 0x0304e2df, 0x002b98d1}}}, + {X: Field{[10]uint32{0x02cfa513, 0x0042f2ae, 0x023aeae3, 0x027e6983, 0x004e2407, 0x003d5aa7, 0x01a34475, 0x01b58ea9, 0x0247eec7, 0x0007f303}}, Y: Field{[10]uint32{0x007afc9c, 0x01d6e904, 0x03918750, 0x03459260, 0x004beded, 0x00ce7e6d, 0x00e38754, 0x0151e2d2, 0x01a041e3, 0x00059770}}}, + {X: Field{[10]uint32{0x0046e079, 0x0280d49f, 0x0078dd12, 0x002e17a7, 0x00ab6693, 0x000ae8dd, 0x02f75adb, 0x02b14c3f, 0x02ad2acf, 0x002ae1b0}}, Y: Field{[10]uint32{0x0236ffe1, 0x00a2f05d, 0x017c0ec4, 0x03a12143, 0x01ce7728, 0x01cc8032, 0x01c46d4d, 0x00a6af3d, 0x0286019f, 0x00048270}}}, + {X: Field{[10]uint32{0x02dc69b2, 0x009c1f3f, 0x0371721a, 0x0226c9ad, 0x02a50a60, 0x0172a8e1, 0x00643043, 0x02e285cc, 0x0073ad6c, 0x00304ae4}}, Y: Field{[10]uint32{0x00dd41dd, 0x02ba6c08, 0x032a0032, 0x02f8f49e, 0x02b8ee1d, 0x03e2525d, 0x0372dc89, 0x0337c765, 0x003fe534, 0x000c5cf1}}}, + {X: Field{[10]uint32{0x02341142, 0x031ef3a7, 0x02760d3e, 0x03add91c, 0x007ae684, 0x0268459a, 0x021bd217, 0x028ec06e, 0x00110c2d, 0x00319c07}}, Y: Field{[10]uint32{0x020f4dad, 0x01318567, 0x03e57892, 0x02e96f26, 0x015d07fc, 0x03867d68, 0x03869bbd, 0x0376654b, 0x02b38d6c, 0x000a8083}}}, + {X: Field{[10]uint32{0x0161fe4d, 0x03d6177e, 0x03197ab6, 0x01be2c41, 0x028a1488, 0x004b29cf, 0x033e9313, 0x01ea3e8f, 0x0385dc32, 0x0034166f}}, Y: Field{[10]uint32{0x02e823c2, 0x00d6c19a, 0x0364cb99, 0x0287d36a, 0x00fd388b, 0x0212556d, 0x020765dc, 0x014978ff, 0x0260c08b, 0x0011441e}}}, + {X: Field{[10]uint32{0x00af666b, 0x018c0fdb, 0x00e30bcd, 0x034f12c7, 0x037ffcfe, 0x0205fd18, 0x036979ae, 0x000aa98a, 0x0257a781, 0x0004d192}}, Y: Field{[10]uint32{0x036ecc27, 0x0256a41f, 0x002e13f4, 0x02a07425, 0x0248f300, 0x00f32c32, 0x03e43345, 0x011603bd, 0x01900461, 0x001a6f85}}}, + }, + { + {X: Field{[10]uint32{0x00af666b, 0x018c0fdb, 0x00e30bcd, 0x034f12c7, 0x037ffcfe, 0x0205fd18, 0x036979ae, 0x000aa98a, 0x0257a781, 0x0004d192}}, Y: Field{[10]uint32{0x036ecc27, 0x0256a41f, 0x002e13f4, 0x02a07425, 0x0248f300, 0x00f32c32, 0x03e43345, 0x011603bd, 0x01900461, 0x001a6f85}}}, + {X: Field{[10]uint32{0x025084ae, 0x02127181, 0x02577c75, 0x01f73aaf, 0x019182be, 0x017f84b4, 0x005c88c8, 0x014d8bb0, 0x00f53224, 0x003acf3e}}, Y: Field{[10]uint32{0x016b9480, 0x01f07ffe, 0x012a66f6, 0x03179f6f, 0x01f52b45, 0x03f72928, 0x03e63dce, 0x035c010f, 0x038222d9, 0x00320cf1}}}, + {X: Field{[10]uint32{0x02ca5f51, 0x01ac8263, 0x01aebf21, 0x006e53f2, 0x03ddea17, 0x03c16d73, 0x02ed6b2b, 0x039a58b1, 0x0114dd9e, 0x00377a75}}, Y: Field{[10]uint32{0x00c638f7, 0x01a69cf4, 0x0171f9ad, 0x03a37a25, 0x0150feeb, 0x029fe3c2, 0x011f34b0, 0x02044762, 0x01133ce2, 0x002e139a}}}, + {X: Field{[10]uint32{0x02e9a5d0, 0x016f2f30, 0x001d9f8e, 0x03e61288, 0x02a576fc, 0x0211466c, 0x03a60f21, 0x02665d3d, 0x027d092d, 0x002f7c69}}, Y: Field{[10]uint32{0x0162ff7b, 0x013dc061, 0x02461cdb, 0x01879589, 0x02a6280b, 0x01afdeea, 0x00be54a8, 0x0286aaa0, 0x002bab65, 0x00102564}}}, + {X: Field{[10]uint32{0x019c88e4, 0x001ac166, 0x006ec2f9, 0x00f882b5, 0x039aed51, 0x004812c5, 0x01f406eb, 0x024dcdba, 0x02102369, 0x003f4698}}, Y: Field{[10]uint32{0x015bc8df, 0x02324596, 0x000f299c, 0x03525730, 0x02dc6b71, 0x0125dde0, 0x013c0695, 0x03082fec, 0x0354b9c8, 0x0006b25e}}}, + {X: Field{[10]uint32{0x009b0cca, 0x031a9568, 0x016f01cc, 0x02249293, 0x01a34575, 0x028a3696, 0x00454f68, 0x03d32357, 0x00b1dbb0, 0x000354e3}}, Y: Field{[10]uint32{0x00929e05, 0x02c51f83, 0x034c9731, 0x02676244, 0x038534cd, 0x003bb5f3, 0x00a8d5c4, 0x0304432c, 0x03ac7a3e, 0x0032065a}}}, + {X: Field{[10]uint32{0x038018ce, 0x0056d6d7, 0x02d68bd5, 0x01ce3624, 0x03cf2da5, 0x00b21b71, 0x03ffce4f, 0x025ae7c4, 0x0131d8c2, 0x0013b921}}, Y: Field{[10]uint32{0x0248381f, 0x016986c7, 0x006013c3, 0x01c6d3a0, 0x02710749, 0x0031f179, 0x03b4408d, 0x03e2d7f1, 0x02d4810b, 0x002da3e7}}}, + {X: Field{[10]uint32{0x0327e771, 0x017f05ce, 0x0262abde, 0x02591df6, 0x008c3b41, 0x019120ed, 0x01be267b, 0x03b0a735, 0x026eddc4, 0x001a215a}}, Y: Field{[10]uint32{0x03bbdab6, 0x02358a81, 0x0333a611, 0x03ca4ec1, 0x02331d22, 0x0067ded2, 0x036fd49c, 0x0287ec4e, 0x01f14f79, 0x001de8cf}}}, + {X: Field{[10]uint32{0x01473678, 0x014ba47c, 0x012f7028, 0x0254250e, 0x00cba057, 0x016e301c, 0x01e314c5, 0x00036ffd, 0x009c34c4, 0x003f5db3}}, Y: Field{[10]uint32{0x01144f4f, 0x0193baa3, 0x008437e1, 0x03b85007, 0x0260628e, 0x0340cb35, 0x03ee0a73, 0x010f6b83, 0x01437871, 0x003c8119}}}, + {X: Field{[10]uint32{0x02e66b24, 0x00014cb3, 0x00366b5f, 0x003fb5ee, 0x02e8b9c6, 0x03c6b7b4, 0x0244d99b, 0x031ee203, 0x00cfb9e9, 0x00133576}}, Y: Field{[10]uint32{0x000932fd, 0x03bf6ebd, 0x03aed221, 0x01784b4b, 0x03ca61e4, 0x0335b440, 0x024e8c39, 0x012d567f, 0x0282deb9, 0x0015dbab}}}, + {X: Field{[10]uint32{0x017a2193, 0x002dc523, 0x0146edf0, 0x0113c65d, 0x012c691e, 0x012d3a88, 0x026ce827, 0x02d00867, 0x03a33123, 0x002168aa}}, Y: Field{[10]uint32{0x00cdcf3a, 0x0320f52c, 0x012427f0, 0x037e70ec, 0x03e1c6da, 0x007300a7, 0x02c6082d, 0x00145b60, 0x0057eb2b, 0x002704a6}}}, + {X: Field{[10]uint32{0x01d7e577, 0x00c0f3bb, 0x004d56ae, 0x015a14db, 0x03d3a0f2, 0x003a8841, 0x00604727, 0x03dec96b, 0x010f8828, 0x0030d4b5}}, Y: Field{[10]uint32{0x00d9b570, 0x013fe23e, 0x017063ca, 0x02cad848, 0x0300a8ab, 0x02f39e7e, 0x03d53145, 0x02e6e5aa, 0x0038ba76, 0x002f9dca}}}, + {X: Field{[10]uint32{0x037568b0, 0x000c16cd, 0x03b0535b, 0x03406780, 0x0335ae8d, 0x01e0d943, 0x00b6d6c5, 0x03f9d110, 0x03fc73cf, 0x00349776}}, Y: Field{[10]uint32{0x0339929c, 0x004e49b7, 0x03f0060a, 0x022078f0, 0x03832273, 0x0379f64a, 0x02aef74c, 0x01224e2f, 0x037593f8, 0x001e8ebf}}}, + {X: Field{[10]uint32{0x02712536, 0x0158fa07, 0x03e71a33, 0x03d5bfd7, 0x02a85051, 0x02d8d7a7, 0x006de71a, 0x00ea7f82, 0x0286b0a4, 0x0001a453}}, Y: Field{[10]uint32{0x001128f1, 0x011dc4e0, 0x029da2a2, 0x01ac2bde, 0x00896c22, 0x016b0a30, 0x018aceae, 0x02f4149f, 0x012852d9, 0x000adf9e}}}, + {X: Field{[10]uint32{0x031d7c13, 0x03944629, 0x03a3855f, 0x03dfe83f, 0x01641ab5, 0x01eab201, 0x0307e9a9, 0x0129c957, 0x013143e9, 0x0011604d}}, Y: Field{[10]uint32{0x02ff63cf, 0x022f154e, 0x016b9963, 0x01550af6, 0x01702006, 0x01f75a72, 0x03f50f17, 0x026b62d5, 0x00ec1497, 0x0027d616}}}, + {X: Field{[10]uint32{0x0183f366, 0x028e834b, 0x00588cad, 0x03b78bca, 0x020cd9cc, 0x0307725e, 0x02f430bc, 0x03f8ba6b, 0x01f5b713, 0x002f12a7}}, Y: Field{[10]uint32{0x001f33c1, 0x02359996, 0x03b16d75, 0x03efe951, 0x02a6e8a9, 0x012de632, 0x03937adf, 0x017018e0, 0x01ca6e78, 0x00034ea0}}}, + }, + { + {X: Field{[10]uint32{0x0183f366, 0x028e834b, 0x00588cad, 0x03b78bca, 0x020cd9cc, 0x0307725e, 0x02f430bc, 0x03f8ba6b, 0x01f5b713, 0x002f12a7}}, Y: Field{[10]uint32{0x001f33c1, 0x02359996, 0x03b16d75, 0x03efe951, 0x02a6e8a9, 0x012de632, 0x03937adf, 0x017018e0, 0x01ca6e78, 0x00034ea0}}}, + {X: Field{[10]uint32{0x03fceb19, 0x0379517c, 0x00409282, 0x0087de17, 0x002e89b2, 0x0339eead, 0x005c7626, 0x033302af, 0x015e11ce, 0x003690cf}}, Y: Field{[10]uint32{0x02f5cc64, 0x039c4829, 0x03277684, 0x00b6489e, 0x018e77fc, 0x03e57948, 0x02bbdc4a, 0x0040c077, 0x03d321a8, 0x00392636}}}, + {X: Field{[10]uint32{0x0312be3c, 0x028b8cbd, 0x02a66b06, 0x023b6851, 0x007295f1, 0x02c0054d, 0x00725dba, 0x02cde34f, 0x009d9331, 0x000e75cd}}, Y: Field{[10]uint32{0x006ff65c, 0x00067d07, 0x01644cc3, 0x0297b290, 0x00ef5ef7, 0x019a04ba, 0x0127554c, 0x00efdfec, 0x034f56ef, 0x0023e4a6}}}, + {X: Field{[10]uint32{0x02cf692a, 0x0389d716, 0x03e0654d, 0x0229c881, 0x01bcc483, 0x00705bbf, 0x01c11698, 0x031fb070, 0x021ee9e8, 0x0000c7a3}}, Y: Field{[10]uint32{0x016f667a, 0x00aa13ac, 0x033b09cc, 0x009f16fd, 0x03706498, 0x00359d0e, 0x01097029, 0x00d4f767, 0x035b465b, 0x002b5f9f}}}, + {X: Field{[10]uint32{0x0377f22b, 0x0393ef37, 0x02e035aa, 0x00e653e0, 0x02c69972, 0x02656bc9, 0x011cd6c2, 0x00774279, 0x0217f7dc, 0x003c32e9}}, Y: Field{[10]uint32{0x0109a03c, 0x0238b1d6, 0x015661fc, 0x01fa4282, 0x0004f18c, 0x0145b410, 0x03326c36, 0x037e627b, 0x034313f9, 0x0006896a}}}, + {X: Field{[10]uint32{0x03829372, 0x002a929d, 0x00553dec, 0x003222e9, 0x03c49b30, 0x00e15e5a, 0x03626ae5, 0x0034ecc4, 0x00c90f3e, 0x002d0c67}}, Y: Field{[10]uint32{0x02dd5427, 0x02733002, 0x011bb772, 0x005728f8, 0x02707b12, 0x03087168, 0x037afe09, 0x0140affe, 0x00499a6f, 0x0011c1f5}}}, + {X: Field{[10]uint32{0x02509c12, 0x03373531, 0x0347658a, 0x008d6f47, 0x018d6bfe, 0x021c9a3b, 0x01170e8d, 0x01534c87, 0x02b9db21, 0x000e075e}}, Y: Field{[10]uint32{0x02b46102, 0x010aa38b, 0x02af7546, 0x0161b39b, 0x03205828, 0x02996079, 0x01d24573, 0x00f6a7ad, 0x035b7fda, 0x00291eaa}}}, + {X: Field{[10]uint32{0x01f488b6, 0x02f5ffe0, 0x0291592b, 0x00d8ff1e, 0x03e9c9bf, 0x00995fdc, 0x03e00d86, 0x01845574, 0x0207a88d, 0x002a61e1}}, Y: Field{[10]uint32{0x031dab1d, 0x029eeec0, 0x01c6d495, 0x006592b5, 0x0239d0f0, 0x00855f08, 0x0063e7c8, 0x02575870, 0x01abd588, 0x00346068}}}, + {X: Field{[10]uint32{0x004fe955, 0x00ed358e, 0x03ce48db, 0x0296818e, 0x03f69956, 0x02532294, 0x013b73e6, 0x021f991e, 0x005467ab, 0x0029c0fc}}, Y: Field{[10]uint32{0x021344bd, 0x02cbbef5, 0x0277fa26, 0x00a7165c, 0x03539e16, 0x02c64666, 0x02a792d6, 0x011eb703, 0x0135a2b0, 0x0035403e}}}, + {X: Field{[10]uint32{0x038a8cc6, 0x0024edb0, 0x038fbe64, 0x007a7da7, 0x00ba2e12, 0x03b5fcf7, 0x02279ff6, 0x0105f923, 0x00c750b3, 0x000cc649}}, Y: Field{[10]uint32{0x02587810, 0x02383ed1, 0x01b54c4e, 0x026b3a7a, 0x017fb99e, 0x038bfecc, 0x025b601b, 0x03c060ae, 0x01411b33, 0x0032a3de}}}, + {X: Field{[10]uint32{0x02eace58, 0x02595b01, 0x0211d349, 0x018e8bcc, 0x031b7e45, 0x0014e80f, 0x006ad0d7, 0x01435d1b, 0x03c5aad5, 0x001cf1ac}}, Y: Field{[10]uint32{0x02f8654e, 0x002a45ca, 0x01291717, 0x0236eee3, 0x02aa6a87, 0x019b6471, 0x02909913, 0x013dd06e, 0x00a4733a, 0x000e8bed}}}, + {X: Field{[10]uint32{0x01cbcb9e, 0x03c449b3, 0x03c3df4b, 0x02277360, 0x01d6fa56, 0x03f50dd8, 0x00c32447, 0x00cdea7b, 0x02d7119d, 0x003372c4}}, Y: Field{[10]uint32{0x0161cfd1, 0x029616b2, 0x03340a08, 0x0090d637, 0x01a199af, 0x01b7a652, 0x02fbea09, 0x03c47eff, 0x02e17bb9, 0x0039a678}}}, + {X: Field{[10]uint32{0x00181d5e, 0x00e22fc0, 0x02f2054b, 0x02a6e56a, 0x00de71b3, 0x0303b76e, 0x0100d3a1, 0x011ff687, 0x03e7506d, 0x003189fc}}, Y: Field{[10]uint32{0x029f886d, 0x0240298d, 0x022c3927, 0x0015272f, 0x028ef6b0, 0x02287df5, 0x01696013, 0x00a98ecb, 0x01d71e44, 0x0035e3e7}}}, + {X: Field{[10]uint32{0x025fe9cc, 0x011f3dcc, 0x008db1d7, 0x02ecd276, 0x03fbb883, 0x00b52b08, 0x00411084, 0x00c6c4dc, 0x026328ec, 0x0031bb57}}, Y: Field{[10]uint32{0x028fd94b, 0x02f38712, 0x02cf10c0, 0x00ad83c8, 0x02844f97, 0x031fdeca, 0x032ee125, 0x03e0c0a4, 0x005b49d7, 0x003791d0}}}, + {X: Field{[10]uint32{0x03828b16, 0x00a367ed, 0x0047f34e, 0x023ca292, 0x03a04795, 0x03c1b794, 0x025f40a6, 0x0348cfe8, 0x02be0edf, 0x002ee23e}}, Y: Field{[10]uint32{0x02ea5df7, 0x011ce882, 0x02969c51, 0x01d38e87, 0x03ec4a81, 0x00456458, 0x01dc5960, 0x03a374d1, 0x02b304f5, 0x002dcd9d}}}, + {X: Field{[10]uint32{0x01324caa, 0x02acc3f9, 0x032a3954, 0x038c2a51, 0x02694b65, 0x0114a8cb, 0x03d8c749, 0x022f0348, 0x017bf829, 0x00230a2a}}, Y: Field{[10]uint32{0x03ef9482, 0x00771cf2, 0x039459e7, 0x03c11472, 0x037ae784, 0x03df303a, 0x00fedf31, 0x01464cde, 0x0063a330, 0x001028c1}}}, + }, + { + {X: Field{[10]uint32{0x01324caa, 0x02acc3f9, 0x032a3954, 0x038c2a51, 0x02694b65, 0x0114a8cb, 0x03d8c749, 0x022f0348, 0x017bf829, 0x00230a2a}}, Y: Field{[10]uint32{0x03ef9482, 0x00771cf2, 0x039459e7, 0x03c11472, 0x037ae784, 0x03df303a, 0x00fedf31, 0x01464cde, 0x0063a330, 0x001028c1}}}, + {X: Field{[10]uint32{0x0211d8e2, 0x02c807dd, 0x03c4d5df, 0x03a37927, 0x02c8130f, 0x011fc368, 0x03ed5a60, 0x028bc65a, 0x01872a38, 0x002ac6b0}}, Y: Field{[10]uint32{0x0029d15b, 0x01607cf1, 0x0145f01a, 0x034cf879, 0x02f7ef93, 0x02da90ad, 0x02a5f39d, 0x005e87a6, 0x037a324d, 0x0004fd28}}}, + {X: Field{[10]uint32{0x0354dd40, 0x03a1c551, 0x026cf863, 0x00c7f0d1, 0x01a24226, 0x035cbdba, 0x034841fc, 0x037f3d16, 0x007032c0, 0x0025ca49}}, Y: Field{[10]uint32{0x02a36143, 0x02d24bca, 0x02f49384, 0x014956b2, 0x0290dae8, 0x02f537cd, 0x015c75dc, 0x03a87734, 0x0244265f, 0x00247468}}}, + {X: Field{[10]uint32{0x0251b3fa, 0x02bb9909, 0x03434226, 0x0195dcb7, 0x038ea1b3, 0x014fcc7b, 0x003a6072, 0x03e0b4dc, 0x029b5bee, 0x0009593f}}, Y: Field{[10]uint32{0x01e5122d, 0x00b9a8c0, 0x0016edb8, 0x02adade6, 0x0314f37d, 0x0080e497, 0x03a14ae1, 0x00e24257, 0x03a60678, 0x0022b67d}}}, + {X: Field{[10]uint32{0x002ca7ff, 0x0360bae3, 0x0021a3c2, 0x0176577c, 0x03180364, 0x028bc9eb, 0x00791ad5, 0x01e5b814, 0x0397580a, 0x002258df}}, Y: Field{[10]uint32{0x00493e68, 0x0105785c, 0x02ab7bed, 0x028e390b, 0x01f87bc6, 0x010d5d22, 0x03b9cf15, 0x02109355, 0x01248c88, 0x000b47f8}}}, + {X: Field{[10]uint32{0x007a89ee, 0x030d4cc3, 0x014f8057, 0x0271eadb, 0x024bdbc5, 0x03261962, 0x0060b88f, 0x01e7844a, 0x00e26a41, 0x001c7be9}}, Y: Field{[10]uint32{0x01366a2e, 0x0224ca70, 0x01a0b4f4, 0x02e2397a, 0x022aaafa, 0x005ca528, 0x03b2c32b, 0x0092ba7b, 0x001f8bb6, 0x000517ea}}}, + {X: Field{[10]uint32{0x00a8dd7f, 0x01b58e83, 0x0381a618, 0x000d5a84, 0x021bc728, 0x0354d5d0, 0x01c9da03, 0x017824bf, 0x00e71be2, 0x000c204e}}, Y: Field{[10]uint32{0x0292c7f2, 0x017c91e2, 0x01915e41, 0x01190d2b, 0x00c81656, 0x00502386, 0x039ec45d, 0x03f24978, 0x02d28828, 0x000a3478}}}, + {X: Field{[10]uint32{0x02180068, 0x0238f4eb, 0x03103b17, 0x01b082f4, 0x027ea3d5, 0x00c37006, 0x006c5c0c, 0x016c32ff, 0x0136ffac, 0x003fcf58}}, Y: Field{[10]uint32{0x008c6077, 0x01aedb86, 0x035e670a, 0x03c90007, 0x01547676, 0x0365ab70, 0x010372cd, 0x00003903, 0x01be84e4, 0x0004cc8e}}}, + {X: Field{[10]uint32{0x026a3fb1, 0x03315a21, 0x02206c0d, 0x00a0664b, 0x036ec009, 0x016da18b, 0x025750c8, 0x03ad9747, 0x00e82a6d, 0x0015d7f1}}, Y: Field{[10]uint32{0x002655ad, 0x023a42a4, 0x02f2f09b, 0x01cf1a8e, 0x02ed33b5, 0x01e3a1f6, 0x031dbc29, 0x03f28b59, 0x039042a6, 0x001bdbb6}}}, + {X: Field{[10]uint32{0x0121250a, 0x039ff72f, 0x00ad4954, 0x01d60e66, 0x03df45e1, 0x010d5579, 0x01e342ba, 0x022b494c, 0x01480bab, 0x000fea45}}, Y: Field{[10]uint32{0x02a76731, 0x021b00be, 0x01fb791c, 0x01680cad, 0x002e45e5, 0x00eec49f, 0x01bdf960, 0x02c0c33d, 0x02905499, 0x002fe6d9}}}, + {X: Field{[10]uint32{0x010117df, 0x01aa291e, 0x0102921b, 0x02ef3880, 0x03da253b, 0x03ba8aa3, 0x03f26f81, 0x02ade889, 0x0036b64e, 0x00297b24}}, Y: Field{[10]uint32{0x006462fe, 0x00a04cfe, 0x02363d81, 0x03c15852, 0x031c8461, 0x0347e83d, 0x0197983a, 0x01010031, 0x02625ec1, 0x002de771}}}, + {X: Field{[10]uint32{0x01e0545f, 0x0008d263, 0x0074f5cb, 0x0368841b, 0x0080e625, 0x02cd422b, 0x035ea004, 0x01c4928d, 0x03cc58e0, 0x00148116}}, Y: Field{[10]uint32{0x006c3d91, 0x028d3014, 0x01af236e, 0x003caa3f, 0x03793b9d, 0x00338c4a, 0x030ed9c2, 0x0048eb50, 0x01fcebe3, 0x0006cfcc}}}, + {X: Field{[10]uint32{0x032ad712, 0x03e5d705, 0x007290b0, 0x02c37841, 0x015a398c, 0x0118d26e, 0x01e79761, 0x002c2527, 0x03e91331, 0x002854f7}}, Y: Field{[10]uint32{0x0148fdd2, 0x017d94e3, 0x03329c8a, 0x00a16bc2, 0x02bd053f, 0x007c6e26, 0x00318d5f, 0x016cbf12, 0x00413fb0, 0x003f6536}}}, + {X: Field{[10]uint32{0x0220479f, 0x004f430c, 0x0338a89f, 0x02579796, 0x035de47b, 0x00dd80d8, 0x0162c8d2, 0x00bf6e00, 0x036ebe47, 0x00162d50}}, Y: Field{[10]uint32{0x027db17a, 0x01cdd795, 0x0334144a, 0x03120a6e, 0x0396af27, 0x00bdb7a0, 0x02913a25, 0x019cb138, 0x02b055cd, 0x002175ed}}}, + {X: Field{[10]uint32{0x01cf5b3a, 0x030dc044, 0x02781030, 0x020ef6d6, 0x00c4433a, 0x023b7209, 0x01c34d08, 0x0118564d, 0x02c6af79, 0x00269506}}, Y: Field{[10]uint32{0x02a44ae4, 0x0155d7cd, 0x0252d63f, 0x0389487a, 0x035548fe, 0x0223d1d7, 0x03e1af36, 0x01aadf2b, 0x00c1cb10, 0x002d9852}}}, + {X: Field{[10]uint32{0x03accae0, 0x012e8447, 0x0333748c, 0x0031692e, 0x023c8b35, 0x03c1c7f4, 0x01d94ce4, 0x009ea307, 0x02661395, 0x00023aa5}}, Y: Field{[10]uint32{0x0262b945, 0x03cd28c3, 0x038e955a, 0x02fa73c3, 0x0335b783, 0x02e57175, 0x00e7c0cf, 0x009e0b89, 0x02bbc8ee, 0x001883be}}}, + }, + { + {X: Field{[10]uint32{0x03accae0, 0x012e8447, 0x0333748c, 0x0031692e, 0x023c8b35, 0x03c1c7f4, 0x01d94ce4, 0x009ea307, 0x02661395, 0x00023aa5}}, Y: Field{[10]uint32{0x0262b945, 0x03cd28c3, 0x038e955a, 0x02fa73c3, 0x0335b783, 0x02e57175, 0x00e7c0cf, 0x009e0b89, 0x02bbc8ee, 0x001883be}}}, + {X: Field{[10]uint32{0x0190b632, 0x00c4c768, 0x01ab9a29, 0x008e92ad, 0x0263cf2a, 0x01556760, 0x0266df31, 0x003367ce, 0x03717622, 0x003097d8}}, Y: Field{[10]uint32{0x009590cf, 0x02fcf5bf, 0x03a1d6ee, 0x03fe7809, 0x000a9f04, 0x020275e6, 0x01049903, 0x00a1ce62, 0x03ede94d, 0x0014c553}}}, + {X: Field{[10]uint32{0x02a06f5e, 0x0102d659, 0x0037021a, 0x0145ba82, 0x02a34192, 0x0098edc5, 0x03b0d421, 0x0094eb0d, 0x00fbea14, 0x000e0ec9}}, Y: Field{[10]uint32{0x03c6e772, 0x03d1e1b4, 0x02b04089, 0x01d2ee30, 0x01e8f6ae, 0x013a9686, 0x00f566d5, 0x02e88113, 0x006ac4ed, 0x001533dc}}}, + {X: Field{[10]uint32{0x0066d561, 0x032cedf5, 0x00b4de2c, 0x0370c65e, 0x000c7b55, 0x01a21513, 0x002d82a5, 0x01aeacfa, 0x01fe3cce, 0x000aa7a3}}, Y: Field{[10]uint32{0x02e76373, 0x0333d494, 0x02182f96, 0x03b05e80, 0x035e01ea, 0x0022e5b3, 0x007b5ad6, 0x01947eeb, 0x01a5c16e, 0x000077fb}}}, + {X: Field{[10]uint32{0x0238a136, 0x01d70751, 0x00195c79, 0x038cda0e, 0x002b0d1c, 0x01835e43, 0x01e59c6b, 0x03b5b5e2, 0x02d03e02, 0x0039a10c}}, Y: Field{[10]uint32{0x006c2584, 0x03460423, 0x03336aaf, 0x03af6cd5, 0x032e09e3, 0x02807991, 0x012a7303, 0x01699893, 0x001398e3, 0x003296f9}}}, + {X: Field{[10]uint32{0x03cf2dce, 0x026d0236, 0x006c0213, 0x00417077, 0x0068114a, 0x00bfe660, 0x009e4c99, 0x018862f5, 0x014292e4, 0x0025798b}}, Y: Field{[10]uint32{0x00c86594, 0x0377f7d6, 0x0120e62b, 0x0180dc13, 0x025e7b30, 0x010a354b, 0x03a26e2b, 0x00a1d460, 0x0184296c, 0x0001ada0}}}, + {X: Field{[10]uint32{0x02e8c10c, 0x021f1105, 0x016807ce, 0x017ce46f, 0x03b47298, 0x01cc1b9f, 0x02fbdece, 0x0170a83b, 0x0159e2fe, 0x000e5775}}, Y: Field{[10]uint32{0x01fe638e, 0x035b64c1, 0x0122cbc3, 0x0013719a, 0x034c909c, 0x03fe9389, 0x0013e87a, 0x00ab1741, 0x00d4b459, 0x003f58b7}}}, + {X: Field{[10]uint32{0x038be384, 0x034c810f, 0x036c3e8b, 0x02b68c76, 0x0271ec0a, 0x03f7bc1c, 0x01ad6c94, 0x00f86c94, 0x00a42be6, 0x002c8de4}}, Y: Field{[10]uint32{0x0319880e, 0x0291cf7a, 0x00b58d10, 0x03d0527b, 0x0117f004, 0x02a07e51, 0x0150f88a, 0x017b6fa3, 0x014919d5, 0x003f1ada}}}, + {X: Field{[10]uint32{0x016c14ef, 0x01936c83, 0x03c8f516, 0x01d41be4, 0x000858fc, 0x03b89920, 0x02eed5be, 0x01772e7d, 0x02dc3552, 0x001e9452}}, Y: Field{[10]uint32{0x033fbd13, 0x00f861c2, 0x0224f7ad, 0x03dcaa9b, 0x0329beae, 0x0323d70d, 0x017f0b94, 0x039363a2, 0x01fed152, 0x0015bb74}}}, + {X: Field{[10]uint32{0x017ec94b, 0x03c14f42, 0x01c2dff9, 0x02472356, 0x0127ed70, 0x02b9a060, 0x02215aa8, 0x03bfb47b, 0x03cb7b4a, 0x002c844e}}, Y: Field{[10]uint32{0x007831ad, 0x03efff1a, 0x010fdbd5, 0x002c8d5f, 0x03094322, 0x01532d3a, 0x01a0b534, 0x03b9cc41, 0x027399e8, 0x0024efa7}}}, + {X: Field{[10]uint32{0x036d65eb, 0x0118f413, 0x021524a9, 0x01dd5100, 0x035a9910, 0x012423c8, 0x028ef3bf, 0x0364363a, 0x01584325, 0x0007b87f}}, Y: Field{[10]uint32{0x0122941c, 0x00dae497, 0x002b11e0, 0x03a618d6, 0x02ca32f4, 0x03d0bf3e, 0x03ab9fc4, 0x031cf073, 0x0091bdd6, 0x002eda4a}}}, + {X: Field{[10]uint32{0x03a6257f, 0x01499165, 0x02c40b80, 0x02c689e9, 0x011873c3, 0x02c1f9e2, 0x0024274a, 0x013c9699, 0x01c8e1f5, 0x001c7a4d}}, Y: Field{[10]uint32{0x01b1e582, 0x005d1874, 0x00f7a5b2, 0x015033dc, 0x02ef2523, 0x01eb8a94, 0x02d86ba4, 0x008944f7, 0x0259f47c, 0x001e364f}}}, + {X: Field{[10]uint32{0x0236cb44, 0x02543bc3, 0x020191f1, 0x01b23728, 0x01617e8b, 0x0220cd5f, 0x0058fd0d, 0x02aaa2f0, 0x0234d38f, 0x00055455}}, Y: Field{[10]uint32{0x03495a68, 0x02bd1947, 0x001e5329, 0x01d7c083, 0x01a8c371, 0x0118c817, 0x030e3f0b, 0x0148578d, 0x03c75557, 0x002ad3ff}}}, + {X: Field{[10]uint32{0x01ca950e, 0x0211c91e, 0x03bacbf0, 0x01d8aec4, 0x0139e015, 0x03b8b118, 0x02f8be79, 0x02572b14, 0x01ca4ee7, 0x002af114}}, Y: Field{[10]uint32{0x029490d2, 0x039f6326, 0x013ec07c, 0x00033a95, 0x02526840, 0x00b24515, 0x01dfb80c, 0x0029676c, 0x00befe82, 0x002b89c6}}}, + {X: Field{[10]uint32{0x0027bacc, 0x0251841d, 0x022e151f, 0x019374b5, 0x029e7331, 0x0163712a, 0x0358eb09, 0x014804d8, 0x006446bf, 0x000ef1af}}, Y: Field{[10]uint32{0x02d6fda6, 0x00cff57a, 0x02b4714c, 0x02948a2f, 0x03d71b75, 0x01b5b00a, 0x0362ee22, 0x030c1736, 0x00c07176, 0x00238c17}}}, + {X: Field{[10]uint32{0x039a9787, 0x01db313a, 0x0168092f, 0x02056566, 0x0189bdde, 0x02f4de23, 0x0269716b, 0x028181d1, 0x01faef5b, 0x00374d89}}, Y: Field{[10]uint32{0x0244a573, 0x01a34031, 0x0395937f, 0x0260a20c, 0x02941461, 0x0115cc72, 0x01a25010, 0x00c35187, 0x03a3520e, 0x001e8623}}}, + }, +} diff --git a/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/z_init.go b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/z_init.go new file mode 100644 index 000000000..051b8d1bf --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2/z_init.go @@ -0,0 +1,113 @@ +package secp256k1go + +/* +import ( + "os" + "fmt" + "time" +) + + +var ( + pre_g, pre_g_128 []XY + prec [64][16]XY + fin XY +) + + +func ecmult_start() { + return + sta := time.Now() + + g := TheCurve.G + + // calculate 2^128*generator + var g_128j XYZ + g_128j.SetXY(&g) + + for i := 0; i < 128; i++ { + g_128j.Double(&g_128j) + } + + var g_128 XY + g_128.SetXYZ(&g_128j) + + // precompute the tables with odd multiples + pre_g = g.precomp(WINDOW_G) + pre_g_128 = g_128.precomp(WINDOW_G) + + // compute prec and fin + var gg XYZ + gg.SetXY(&g) + ad := g + var fn XYZ + fn.Infinity = true + for j:=0; j<64; j++ { + prec[j][0].SetXYZ(&gg) + fn.Add(&fn, &gg) + for i:=1; i<16; i++ { + gg.AddXY(&gg, &ad) + prec[j][i].SetXYZ(&gg) + } + ad = prec[j][15] + } + fin.SetXYZ(&fn) + fin.Neg(&fin) + + if false { + f, _ := os.Create("z_prec.go") + fmt.Fprintln(f, "package secp256k1\n\nvar prec = [64][16]XY {") + for j:=0; j<64; j++ { + fmt.Fprintln(f, " {") + for i:=0; i<16; i++ { + fmt.Fprintln(f, "{X:" + fe2str(&prec[j][i].X) + ", Y:" + fe2str(&prec[j][i].Y) + "},") + } + fmt.Fprintln(f, "},") + } + fmt.Fprintln(f, "}") + f.Close() + } + + if false { + f, _ := os.Create("z_pre_g.go") + fmt.Fprintln(f, "package secp256k1\n\nvar pre_g = []XY {") + for i := range pre_g { + fmt.Fprintln(f, "{X:" + fe2str(&pre_g[i].X) + ", Y:" + fe2str(&pre_g[i].Y) + "},") + } + fmt.Fprintln(f, "}") + f.Close() + } + + if false { + f, _ := os.Create("z_pre_g_128.go") + fmt.Fprintln(f, "package secp256k1\n\nvar pre_g_128 = []XY {") + for i := range pre_g_128 { + fmt.Fprintln(f, "{X:" + fe2str(&pre_g_128[i].X) + ", Y:" + fe2str(&pre_g_128[i].Y) + "},") + } + fmt.Fprintln(f, "}") + f.Close() + } + + if false { + f, _ := os.Create("z_fin.go") + fmt.Fprintln(f, "package secp256k1\n\nvar fim = XY {") + fmt.Fprintln(f, "X:" + fe2str(&fin.X) + ", Y:" + fe2str(&fin.Y) + ",") + fmt.Fprintln(f, "}") + f.Close() + } + + println("start done in", time.Now().Sub(sta).String()) +} + + +func fe2str(f *Field) (s string) { + s = fmt.Sprintf("Field{[10]uint32{0x%08x", f.n[0]) + for i:=1; i 4 { // nolint: unconvert + log.Panic() + } + + return sig +} + +// SignDeterministic generates signature in repeatable way +func SignDeterministic(msg []byte, seckey []byte, nonceSeed []byte) []byte { + nonceSeed2 := SumSHA256(nonceSeed) //deterministicly generate nonce + + var sig = make([]byte, 65) + var recid int + + var cSig secp.Signature + + var seckey1 secp.Number + var msg1 secp.Number + var nonce1 secp.Number + + seckey1.SetBytes(seckey) + msg1.SetBytes(msg) + nonce1.SetBytes(nonceSeed2) + + ret := cSig.Sign(&seckey1, &msg1, &nonce1, &recid) + if ret != 1 { + log.Panic("Secp256k1-go, SignDeterministic, signature fail") + } + + sigBytes := cSig.Bytes() + for i := 0; i < 64; i++ { + sig[i] = sigBytes[i] + } + + sig[64] = byte(recid) + + if len(sigBytes) != 64 { + log.Fatalf("Invalid signature byte count: %d", len(sigBytes)) + } + + if int(recid) > 4 { // nolint: unconvert + log.Panic() + } + + return sig + +} + +// VerifySeckey renames ChkSeckeyValidity +func VerifySeckey(seckey []byte) int { + if len(seckey) != 32 { + return -1 + } + + //does conversion internally if less than order of curve + if secp.SeckeyIsValid(seckey) != 1 { + return -2 + } + + //seckey is just 32 bit integer + //assume all seckey are valid + //no. must be less than order of curve + //note: converts internally + return 1 +} + +/* +* Validate a public key. +* Returns: 1: valid public key +* 0: invalid public key + */ + +// VerifyPubkey renames ChkPubkeyValidity +// returns 1 on success +func VerifyPubkey(pubkey []byte) int { + if len(pubkey) != 33 { + //log.Printf("Seck256k1, VerifyPubkey, pubkey length invalid") + return -1 + } + + if secp.PubkeyIsValid(pubkey) != 1 { + return -3 //tests parse and validity + } + + var pubkey1 secp.XY + ret := pubkey1.ParsePubkey(pubkey) + + if !ret { + return -2 //invalid, parse fail + } + //fails for unknown reason + //TODO: uncomment + if !pubkey1.IsValid() { + return -4 //invalid, validation fail + } + return 1 //valid +} + +// VerifySignatureValidity verifies a signature is well formed and not malleable +func VerifySignatureValidity(sig []byte) int { + //64+1 + if len(sig) != 65 { + log.Fatal("1") + return 0 + } + //malleability check: + //highest bit of 32nd byte must be 1 + //0x7f us 126 or 0b01111111 + if (sig[32] >> 7) == 1 { + log.Fatal("2") + return 0 + } + //recovery id check + if sig[64] >= 4 { + log.Fatal("3") + return 0 + } + return 1 +} + +// VerifySignature for compressed signatures, does not need pubkey +func VerifySignature(msg []byte, sig []byte, pubkey1 []byte) int { + if msg == nil || sig == nil || pubkey1 == nil { + log.Panic("VerifySignature, ERROR: invalid input, nils") + } + if len(sig) != 65 { + log.Panic("VerifySignature, invalid signature length") + } + if len(pubkey1) != 33 { + log.Panic("VerifySignature, invalid pubkey length") + } + + //malleability check: + //to enforce malleability, highest bit of S must be 1 + //S starts at 32nd byte + //0x80 is 0b10000000 or 128 and masks highest bit + if (sig[32] >> 7) == 1 { + return 0 //valid signature, but fails malleability + } + + if sig[64] >= 4 { + return 0 //recover byte invalid + } + + pubkey2 := RecoverPubkey(msg, sig) //if pubkey recovered, signature valid + + if pubkey2 == nil { + return 0 + } + + if len(pubkey2) != 33 { + log.Panic("recovered pubkey length invalid") + } + + if !bytes.Equal(pubkey1, pubkey2) { + return 0 //pubkeys do not match + } + + return 1 //valid signature +} + +//SignatureErrorString returns error string for signature failure +func SignatureErrorString(msg []byte, sig []byte, pubkey1 []byte) string { + + if msg == nil || len(sig) != 65 || len(pubkey1) != 33 { + log.Panic() + } + + if (sig[32] >> 7) == 1 { + return "signature fails malleability requirement" + } + + if sig[64] >= 4 { + return "signature recovery byte is invalid, must be 0 to 3" + } + + pubkey2 := RecoverPubkey(msg, sig) //if pubkey recovered, signature valid + if pubkey2 == nil { + return "pubkey from signature failed" + } + + if !bytes.Equal(pubkey1, pubkey2) { + return "input pubkey and recovered pubkey do not match" + } + + return "No Error!" +} + +// RecoverPubkey recovers the public key from the signature +//recovery of pubkey means correct signature +func RecoverPubkey(msg []byte, sig []byte) []byte { + if len(sig) != 65 { + log.Panic() + } + + var recid = int(sig[64]) + + pubkey, ret := secp.RecoverPublicKey( + sig[0:64], + msg, + recid) + + if ret != 1 { + if DebugPrint { + log.Printf("RecoverPubkey: code %d", ret) + } + return nil + } + //var pubkey2 []byte = pubkey1.Bytes() //compressed + + if pubkey == nil { + log.Panic("ERROR: impossible, pubkey nil and ret ==1") + } + if len(pubkey) != 33 { + log.Panic("pubkey length wrong") + } + + return pubkey + //nonce1.SetBytes(nonce_seed) + +} + +// ECDH raise a pubkey to the power of a seckey +func ECDH(pub []byte, sec []byte) []byte { + if len(sec) != 32 { + log.Panic() + } + + if len(pub) != 33 { + log.Panic() + } + + if VerifySeckey(sec) != 1 { + if DebugPrint { + log.Printf("Invalid Seckey") + } + } + + if ret := VerifyPubkey(pub); ret != 1 { + if DebugPrint { + log.Printf("Invalid Pubkey, %d", ret) + } + return nil + } + + pubkeyOut := secp.Multiply(pub, sec) + if pubkeyOut == nil { + return nil + } + if len(pubkeyOut) != 33 { + log.Panic("ERROR: impossible, invalid pubkey length") + } + return pubkeyOut +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/logging/formatter.go b/vendor/github.com/skycoin/skycoin/src/util/logging/formatter.go new file mode 100644 index 000000000..983a382bb --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/logging/formatter.go @@ -0,0 +1,441 @@ +package logging + +import ( + "bytes" + "fmt" + "io" + "os" + "sort" + "strings" + "sync" + "time" + + "github.com/mgutz/ansi" + "github.com/sirupsen/logrus" + "golang.org/x/crypto/ssh/terminal" +) + +const defaultTimestampFormat = time.RFC3339 + +var ( + baseTimestamp = time.Now() + defaultColorScheme = &ColorScheme{ + InfoLevelStyle: "green", + WarnLevelStyle: "yellow", + ErrorLevelStyle: "red", + FatalLevelStyle: "red", + PanicLevelStyle: "red", + DebugLevelStyle: "blue", + PrefixStyle: "cyan", + TimestampStyle: "black+h", + CallContextStyle: "black+h", + CriticalStyle: "magenta+h", + } + noColorsColorScheme = &compiledColorScheme{ + InfoLevelColor: ansi.ColorFunc(""), + WarnLevelColor: ansi.ColorFunc(""), + ErrorLevelColor: ansi.ColorFunc(""), + FatalLevelColor: ansi.ColorFunc(""), + PanicLevelColor: ansi.ColorFunc(""), + DebugLevelColor: ansi.ColorFunc(""), + PrefixColor: ansi.ColorFunc(""), + TimestampColor: ansi.ColorFunc(""), + CallContextColor: ansi.ColorFunc(""), + CriticalColor: ansi.ColorFunc(""), + } + defaultCompiledColorScheme = compileColorScheme(defaultColorScheme) +) + +func miniTS() int { + return int(time.Since(baseTimestamp) / time.Second) +} + +// ColorScheme configures the logging output colors +type ColorScheme struct { + InfoLevelStyle string + WarnLevelStyle string + ErrorLevelStyle string + FatalLevelStyle string + PanicLevelStyle string + DebugLevelStyle string + PrefixStyle string + TimestampStyle string + CallContextStyle string + CriticalStyle string +} + +type compiledColorScheme struct { + InfoLevelColor func(string) string + WarnLevelColor func(string) string + ErrorLevelColor func(string) string + FatalLevelColor func(string) string + PanicLevelColor func(string) string + DebugLevelColor func(string) string + PrefixColor func(string) string + TimestampColor func(string) string + CallContextColor func(string) string + CriticalColor func(string) string +} + +// TextFormatter formats log output +type TextFormatter struct { + // Set to true to bypass checking for a TTY before outputting colors. + ForceColors bool + + // Force disabling colors. For a TTY colors are enabled by default. + DisableColors bool + + // Force formatted layout, even for non-TTY output. + ForceFormatting bool + + // Disable timestamp logging. useful when output is redirected to logging + // system that already adds timestamps. + DisableTimestamp bool + + // Disable the conversion of the log levels to uppercase + DisableUppercase bool + + // Enable logging the full timestamp when a TTY is attached instead of just + // the time passed since beginning of execution. + FullTimestamp bool + + // Timestamp format to use for display when a full timestamp is printed. + TimestampFormat string + + // The fields are sorted by default for a consistent output. For applications + // that log extremely frequently and don't use the JSON formatter this may not + // be desired. + DisableSorting bool + + // Wrap empty fields in quotes if true. + QuoteEmptyFields bool + + // Can be set to the override the default quoting character " + // with something else. For example: ', or `. + QuoteCharacter string + + // Pad msg field with spaces on the right for display. + // The value for this parameter will be the size of padding. + // Its default value is zero, which means no padding will be applied for msg. + SpacePadding int + + // Always use quotes for string values (except for empty fields) + AlwaysQuoteStrings bool + + // Color scheme to use. + colorScheme *compiledColorScheme + + // Whether the logger's out is to a terminal. + isTerminal bool + + sync.Once +} + +func getCompiledColor(main string, fallback string) func(string) string { + var style string + if main != "" { + style = main + } else { + style = fallback + } + return ansi.ColorFunc(style) +} + +func compileColorScheme(s *ColorScheme) *compiledColorScheme { + return &compiledColorScheme{ + InfoLevelColor: getCompiledColor(s.InfoLevelStyle, defaultColorScheme.InfoLevelStyle), + WarnLevelColor: getCompiledColor(s.WarnLevelStyle, defaultColorScheme.WarnLevelStyle), + ErrorLevelColor: getCompiledColor(s.ErrorLevelStyle, defaultColorScheme.ErrorLevelStyle), + FatalLevelColor: getCompiledColor(s.FatalLevelStyle, defaultColorScheme.FatalLevelStyle), + PanicLevelColor: getCompiledColor(s.PanicLevelStyle, defaultColorScheme.PanicLevelStyle), + DebugLevelColor: getCompiledColor(s.DebugLevelStyle, defaultColorScheme.DebugLevelStyle), + PrefixColor: getCompiledColor(s.PrefixStyle, defaultColorScheme.PrefixStyle), + TimestampColor: getCompiledColor(s.TimestampStyle, defaultColorScheme.TimestampStyle), + CallContextColor: getCompiledColor(s.CallContextStyle, defaultColorScheme.CallContextStyle), + CriticalColor: getCompiledColor(s.CriticalStyle, defaultColorScheme.CriticalStyle), + } +} + +func (f *TextFormatter) init(entry *logrus.Entry) { + if len(f.QuoteCharacter) == 0 { + f.QuoteCharacter = "\"" + } + if entry.Logger != nil { + f.isTerminal = f.checkIfTerminal(entry.Logger.Out) + } +} + +func (f *TextFormatter) checkIfTerminal(w io.Writer) bool { + switch v := w.(type) { + case *os.File: + return terminal.IsTerminal(int(v.Fd())) + default: + return false + } +} + +// SetColorScheme sets the TextFormatter's color scheme configuration +func (f *TextFormatter) SetColorScheme(colorScheme *ColorScheme) { + f.colorScheme = compileColorScheme(colorScheme) +} + +// Format formats a logrus.Entry +func (f *TextFormatter) Format(entry *logrus.Entry) ([]byte, error) { + var b *bytes.Buffer + keys := make([]string, 0, len(entry.Data)) + for k := range entry.Data { + keys = append(keys, k) + } + lastKeyIdx := len(keys) - 1 + + if !f.DisableSorting { + sort.Strings(keys) + } + if entry.Buffer != nil { + b = entry.Buffer + } else { + b = &bytes.Buffer{} + } + + f.Do(func() { f.init(entry) }) + + isFormatted := f.ForceFormatting || f.isTerminal + + timestampFormat := f.TimestampFormat + if timestampFormat == "" { + timestampFormat = defaultTimestampFormat + } + if isFormatted { + isColored := (f.ForceColors || f.isTerminal) && !f.DisableColors + var colorScheme *compiledColorScheme + if isColored { + if f.colorScheme == nil { + colorScheme = defaultCompiledColorScheme + } else { + colorScheme = f.colorScheme + } + } else { + colorScheme = noColorsColorScheme + } + f.printColored(b, entry, keys, timestampFormat, colorScheme) + } else { + if !f.DisableTimestamp { + f.appendKeyValue(b, "time", entry.Time.Format(timestampFormat), true) + } + f.appendKeyValue(b, "level", entry.Level.String(), true) + if entry.Message != "" { + f.appendKeyValue(b, "msg", entry.Message, lastKeyIdx >= 0) + } + for i, key := range keys { + f.appendKeyValue(b, key, entry.Data[key], lastKeyIdx != i) + } + } + + b.WriteByte('\n') // nolint: gosec + return b.Bytes(), nil +} + +func (f *TextFormatter) printColored(b *bytes.Buffer, entry *logrus.Entry, keys []string, timestampFormat string, colorScheme *compiledColorScheme) { + var levelColor func(string) string + var levelText string + switch entry.Level { + case logrus.InfoLevel: + levelColor = colorScheme.InfoLevelColor + case logrus.WarnLevel: + levelColor = colorScheme.WarnLevelColor + case logrus.ErrorLevel: + levelColor = colorScheme.ErrorLevelColor + case logrus.FatalLevel: + levelColor = colorScheme.FatalLevelColor + case logrus.PanicLevel: + levelColor = colorScheme.PanicLevelColor + default: + levelColor = colorScheme.DebugLevelColor + } + + priority, ok := entry.Data[logPriorityKey] + hasPriority := ok && priority == logPriorityCritical + + if entry.Level != logrus.WarnLevel { + levelText = entry.Level.String() + } else { + levelText = "warn" + } + + if !f.DisableUppercase { + levelText = strings.ToUpper(levelText) + } + + level := levelColor(levelText) + message := entry.Message + prefix := "" + + prefixText := extractPrefix(entry) + if prefixText != "" { + prefixText = " " + prefixText + ":" + prefix = colorScheme.PrefixColor(prefixText) + } + + messageFormat := "%s" + if f.SpacePadding != 0 { + messageFormat = fmt.Sprintf("%%-%ds", f.SpacePadding) + } + if message != "" { + messageFormat = " " + messageFormat + } + + callContextParts := []string{} + if ifile, ok := entry.Data["file"]; ok { + if sfile, ok := ifile.(string); ok && sfile != "" { + callContextParts = append(callContextParts, sfile) + } + } + if ifunc, ok := entry.Data["func"]; ok { + if sfunc, ok := ifunc.(string); ok && sfunc != "" { + callContextParts = append(callContextParts, sfunc) + } + } + if iline, ok := entry.Data["line"]; ok { + sline := "" + switch iline := iline.(type) { + case string: + sline = iline + case int, uint, int32, int64, uint32, uint64: + sline = fmt.Sprint(iline) + } + if sline != "" { + callContextParts = append(callContextParts, fmt.Sprint(sline)) + } + } + callContextText := strings.Join(callContextParts, ":") + callContext := colorScheme.CallContextColor(callContextText) + if callContext != "" { + callContext = " " + callContext + } + + if f.DisableTimestamp { + if hasPriority { + str := fmt.Sprintf("%s%s%s"+messageFormat, levelText, callContextText, prefixText, message) + fmt.Fprint(b, colorScheme.CriticalColor(str)) + } else { + fmt.Fprintf(b, "%s%s%s"+messageFormat, level, callContext, prefix, message) + } + } else { + var timestamp string + if !f.FullTimestamp { + timestamp = fmt.Sprintf("[%04d]", miniTS()) + } else { + timestamp = fmt.Sprintf("[%s]", entry.Time.Format(timestampFormat)) + } + + coloredTimestamp := colorScheme.TimestampColor(timestamp) + + if hasPriority { + str := fmt.Sprintf("%s %s%s%s"+messageFormat, timestamp, levelText, callContextText, prefixText, message) + fmt.Fprint(b, colorScheme.CriticalColor(str)) + } else { + fmt.Fprintf(b, "%s %s%s%s"+messageFormat, coloredTimestamp, level, callContext, prefix, message) + } + } + + for _, k := range keys { + if k != "prefix" && k != "file" && k != "func" && k != "line" && k != logPriorityKey && k != logModuleKey { + v := entry.Data[k] + fmt.Fprintf(b, " %s", f.formatKeyValue(levelColor(k), v)) + } + } +} + +func (f *TextFormatter) needsQuoting(text string) bool { + if len(text) == 0 { + return f.QuoteEmptyFields + } + + if f.AlwaysQuoteStrings { + return true + } + + for _, ch := range text { + if !((ch >= 'a' && ch <= 'z') || + (ch >= 'A' && ch <= 'Z') || + (ch >= '0' && ch <= '9') || + ch == '-' || ch == '.') { + return true + } + } + + return false +} + +func extractPrefix(e *logrus.Entry) string { + var module string + if iModule, ok := e.Data[logModuleKey]; ok { + module, _ = iModule.(string) + } + + var priority string + if iPriority, ok := e.Data[logPriorityKey]; ok { + priority, _ = iPriority.(string) + } + + switch { + case priority == "": + return fmt.Sprintf("[%s]", module) + case module == "": + return fmt.Sprintf("[%s]", priority) + default: + return fmt.Sprintf("[%s:%s]", module, priority) + } +} + +func (f *TextFormatter) formatKeyValue(key string, value interface{}) string { + return fmt.Sprintf("%s=%s", key, f.formatValue(value)) +} + +func (f *TextFormatter) formatValue(value interface{}) string { + switch value := value.(type) { + case string: + if f.needsQuoting(value) { + return fmt.Sprintf("%s%+v%s", f.QuoteCharacter, value, f.QuoteCharacter) + } + return value + case error: + errmsg := value.Error() + if f.needsQuoting(errmsg) { + return fmt.Sprintf("%s%+v%s", f.QuoteCharacter, errmsg, f.QuoteCharacter) + } + return errmsg + default: + return fmt.Sprintf("%+v", value) + } +} + +func (f *TextFormatter) appendKeyValue(b *bytes.Buffer, key string, value interface{}, appendSpace bool) { + b.WriteString(key) // nolint: gosec + b.WriteByte('=') // nolint: gosec + f.appendValue(b, value) // nolint: gosec + + if appendSpace { + b.WriteByte(' ') // nolint: gosec + } +} + +func (f *TextFormatter) appendValue(b *bytes.Buffer, value interface{}) { + switch value := value.(type) { + case string: + if f.needsQuoting(value) { + fmt.Fprintf(b, "%s%+v%s", f.QuoteCharacter, value, f.QuoteCharacter) + } else { + b.WriteString(value) // nolint: gosec + } + case error: + errmsg := value.Error() + if f.needsQuoting(errmsg) { + fmt.Fprintf(b, "%s%+v%s", f.QuoteCharacter, errmsg, f.QuoteCharacter) + } else { + b.WriteString(errmsg) // nolint: gosec + } + default: + fmt.Fprint(b, value) + } +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/logging/hooks.go b/vendor/github.com/skycoin/skycoin/src/util/logging/hooks.go new file mode 100644 index 000000000..d8d0cc61d --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/logging/hooks.go @@ -0,0 +1,44 @@ +package logging + +import ( + "io" + + "github.com/sirupsen/logrus" +) + +// WriteHook is a logrus.Hook that logs to an io.Writer +type WriteHook struct { + w io.Writer + formatter logrus.Formatter +} + +// NewWriteHook returns a new WriteHook +func NewWriteHook(w io.Writer) *WriteHook { + return &WriteHook{ + w: w, + formatter: &TextFormatter{ + DisableColors: true, + FullTimestamp: true, + AlwaysQuoteStrings: true, + QuoteEmptyFields: true, + ForceFormatting: true, + }, + } +} + +// Levels returns Levels accepted by the WriteHook. +// All logrus.Levels are returned. +func (f *WriteHook) Levels() []logrus.Level { + return logrus.AllLevels +} + +// Fire writes a logrus.Entry to the file +func (f *WriteHook) Fire(e *logrus.Entry) error { + b, err := f.formatter.Format(e) + if err != nil { + return err + } + + _, err = f.w.Write(b) + return err +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/logging/logger.go b/vendor/github.com/skycoin/skycoin/src/util/logging/logger.go new file mode 100644 index 000000000..2f3b4f7b5 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/logging/logger.go @@ -0,0 +1,71 @@ +package logging + +import ( + "os" + + "github.com/sirupsen/logrus" +) + +// Logger wraps logrus.FieldLogger +type Logger struct { + logrus.FieldLogger +} + +// Critical adds special critical-level fields for specially highlighted logging, +// since logrus lacks a distinct critical field and does not have configurable log levels +func (logger *Logger) Critical() logrus.FieldLogger { + return logger.WithField(logPriorityKey, logPriorityCritical) +} + +// MasterLogger wraps logrus.Logger and is able to create new package-aware loggers +type MasterLogger struct { + *logrus.Logger +} + +// NewMasterLogger creates a new package-aware logger with formatting string +func NewMasterLogger() *MasterLogger { + hooks := make(logrus.LevelHooks) + + return &MasterLogger{ + Logger: &logrus.Logger{ + Out: os.Stdout, + Formatter: &TextFormatter{ + FullTimestamp: true, + AlwaysQuoteStrings: true, + QuoteEmptyFields: true, + ForceFormatting: true, + DisableColors: false, + ForceColors: false, + }, + Hooks: hooks, + Level: logrus.DebugLevel, + }, + } +} + +// PackageLogger instantiates a package-aware logger +func (logger *MasterLogger) PackageLogger(moduleName string) *Logger { + return &Logger{ + FieldLogger: logger.WithField(logModuleKey, moduleName), + } +} + +// AddHook adds a logrus.Hook to the logger and its module loggers +func (logger *MasterLogger) AddHook(hook logrus.Hook) { + logger.Hooks.Add(hook) +} + +// SetLevel sets the log level for the logger and its module loggers +func (logger *MasterLogger) SetLevel(level logrus.Level) { + logger.Level = level +} + +// EnableColors enables colored logging +func (logger *MasterLogger) EnableColors() { + logger.Formatter.(*TextFormatter).DisableColors = false +} + +// DisableColors disables colored logging +func (logger *MasterLogger) DisableColors() { + logger.Formatter.(*TextFormatter).DisableColors = true +} diff --git a/vendor/github.com/skycoin/skycoin/src/util/logging/logging.go b/vendor/github.com/skycoin/skycoin/src/util/logging/logging.go new file mode 100644 index 000000000..f7b86ffc6 --- /dev/null +++ b/vendor/github.com/skycoin/skycoin/src/util/logging/logging.go @@ -0,0 +1,79 @@ +/* +Package logging provides application logging utilities +*/ +package logging + +import ( + "errors" + "io" + "io/ioutil" + "strings" + + "github.com/sirupsen/logrus" +) + +var log = NewMasterLogger() + +const ( + // logModuleKey is the key used for the module name data entry + logModuleKey = "_module" + // logPriorityKey is the log entry key for priority log statements + logPriorityKey = "_priority" + // logPriorityCritical is the log entry value for priority log statements + logPriorityCritical = "CRITICAL" +) + +// LevelFromString returns a logrus.Level from a string identifier +func LevelFromString(s string) (logrus.Level, error) { + switch strings.ToLower(s) { + case "debug": + return logrus.DebugLevel, nil + case "info", "notice": + return logrus.InfoLevel, nil + case "warn", "warning": + return logrus.WarnLevel, nil + case "error": + return logrus.ErrorLevel, nil + case "fatal", "critical": + return logrus.FatalLevel, nil + case "panic": + return logrus.PanicLevel, nil + default: + return logrus.DebugLevel, errors.New("could not convert string to log level") + } +} + +// MustGetLogger returns a package-aware logger from the master logger +func MustGetLogger(module string) *Logger { + return log.PackageLogger(module) +} + +// AddHook adds a hook to the global logger +func AddHook(hook logrus.Hook) { + log.AddHook(hook) +} + +// EnableColors enables colored logging +func EnableColors() { + log.EnableColors() +} + +// DisableColors disables colored logging +func DisableColors() { + log.DisableColors() +} + +// SetLevel sets the logger's minimum log level +func SetLevel(level logrus.Level) { + log.SetLevel(level) +} + +// SetOutputTo sets the logger's output to an io.Writer +func SetOutputTo(w io.Writer) { + log.Out = w +} + +// Disable disables the logger completely +func Disable() { + log.Out = ioutil.Discard +} diff --git a/vendor/github.com/spf13/cobra/.gitignore b/vendor/github.com/spf13/cobra/.gitignore new file mode 100644 index 000000000..1b8c7c261 --- /dev/null +++ b/vendor/github.com/spf13/cobra/.gitignore @@ -0,0 +1,36 @@ +# Compiled Object files, Static and Dynamic libs (Shared Objects) +*.o +*.a +*.so + +# Folders +_obj +_test + +# Architecture specific extensions/prefixes +*.[568vq] +[568vq].out + +*.cgo1.go +*.cgo2.c +_cgo_defun.c +_cgo_gotypes.go +_cgo_export.* + +_testmain.go + +# Vim files https://github.com/github/gitignore/blob/master/Global/Vim.gitignore +# swap +[._]*.s[a-w][a-z] +[._]s[a-w][a-z] +# session +Session.vim +# temporary +.netrwhist +*~ +# auto-generated tag files +tags + +*.exe + +cobra.test diff --git a/vendor/github.com/spf13/cobra/.mailmap b/vendor/github.com/spf13/cobra/.mailmap new file mode 100644 index 000000000..94ec53068 --- /dev/null +++ b/vendor/github.com/spf13/cobra/.mailmap @@ -0,0 +1,3 @@ +Steve Francia +Bjørn Erik Pedersen +Fabiano Franz diff --git a/vendor/github.com/spf13/cobra/.travis.yml b/vendor/github.com/spf13/cobra/.travis.yml new file mode 100644 index 000000000..5afcb2096 --- /dev/null +++ b/vendor/github.com/spf13/cobra/.travis.yml @@ -0,0 +1,21 @@ +language: go + +matrix: + include: + - go: 1.9.4 + - go: 1.10.0 + - go: tip + allow_failures: + - go: tip + +before_install: + - mkdir -p bin + - curl -Lso bin/shellcheck https://github.com/caarlos0/shellcheck-docker/releases/download/v0.4.3/shellcheck + - chmod +x bin/shellcheck +script: + - PATH=$PATH:$PWD/bin go test -v ./... + - go build + - diff -u <(echo -n) <(gofmt -d -s .) + - if [ -z $NOVET ]; then + diff -u <(echo -n) <(go tool vet . 2>&1 | grep -vE 'ExampleCommand|bash_completions.*Fprint'); + fi diff --git a/vendor/github.com/spf13/cobra/LICENSE.txt b/vendor/github.com/spf13/cobra/LICENSE.txt new file mode 100644 index 000000000..298f0e266 --- /dev/null +++ b/vendor/github.com/spf13/cobra/LICENSE.txt @@ -0,0 +1,174 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. diff --git a/vendor/github.com/spf13/cobra/README.md b/vendor/github.com/spf13/cobra/README.md new file mode 100644 index 000000000..851fcc087 --- /dev/null +++ b/vendor/github.com/spf13/cobra/README.md @@ -0,0 +1,736 @@ +![cobra logo](https://cloud.githubusercontent.com/assets/173412/10886352/ad566232-814f-11e5-9cd0-aa101788c117.png) + +Cobra is both a library for creating powerful modern CLI applications as well as a program to generate applications and command files. + +Many of the most widely used Go projects are built using Cobra including: + +* [Kubernetes](http://kubernetes.io/) +* [Hugo](http://gohugo.io) +* [rkt](https://github.com/coreos/rkt) +* [etcd](https://github.com/coreos/etcd) +* [Moby (former Docker)](https://github.com/moby/moby) +* [Docker (distribution)](https://github.com/docker/distribution) +* [OpenShift](https://www.openshift.com/) +* [Delve](https://github.com/derekparker/delve) +* [GopherJS](http://www.gopherjs.org/) +* [CockroachDB](http://www.cockroachlabs.com/) +* [Bleve](http://www.blevesearch.com/) +* [ProjectAtomic (enterprise)](http://www.projectatomic.io/) +* [GiantSwarm's swarm](https://github.com/giantswarm/cli) +* [Nanobox](https://github.com/nanobox-io/nanobox)/[Nanopack](https://github.com/nanopack) +* [rclone](http://rclone.org/) +* [nehm](https://github.com/bogem/nehm) +* [Pouch](https://github.com/alibaba/pouch) + +[![Build Status](https://travis-ci.org/spf13/cobra.svg "Travis CI status")](https://travis-ci.org/spf13/cobra) +[![CircleCI status](https://circleci.com/gh/spf13/cobra.png?circle-token=:circle-token "CircleCI status")](https://circleci.com/gh/spf13/cobra) +[![GoDoc](https://godoc.org/github.com/spf13/cobra?status.svg)](https://godoc.org/github.com/spf13/cobra) + +# Table of Contents + +- [Overview](#overview) +- [Concepts](#concepts) + * [Commands](#commands) + * [Flags](#flags) +- [Installing](#installing) +- [Getting Started](#getting-started) + * [Using the Cobra Generator](#using-the-cobra-generator) + * [Using the Cobra Library](#using-the-cobra-library) + * [Working with Flags](#working-with-flags) + * [Positional and Custom Arguments](#positional-and-custom-arguments) + * [Example](#example) + * [Help Command](#help-command) + * [Usage Message](#usage-message) + * [PreRun and PostRun Hooks](#prerun-and-postrun-hooks) + * [Suggestions when "unknown command" happens](#suggestions-when-unknown-command-happens) + * [Generating documentation for your command](#generating-documentation-for-your-command) + * [Generating bash completions](#generating-bash-completions) +- [Contributing](#contributing) +- [License](#license) + +# Overview + +Cobra is a library providing a simple interface to create powerful modern CLI +interfaces similar to git & go tools. + +Cobra is also an application that will generate your application scaffolding to rapidly +develop a Cobra-based application. + +Cobra provides: +* Easy subcommand-based CLIs: `app server`, `app fetch`, etc. +* Fully POSIX-compliant flags (including short & long versions) +* Nested subcommands +* Global, local and cascading flags +* Easy generation of applications & commands with `cobra init appname` & `cobra add cmdname` +* Intelligent suggestions (`app srver`... did you mean `app server`?) +* Automatic help generation for commands and flags +* Automatic help flag recognition of `-h`, `--help`, etc. +* Automatically generated bash autocomplete for your application +* Automatically generated man pages for your application +* Command aliases so you can change things without breaking them +* The flexibility to define your own help, usage, etc. +* Optional tight integration with [viper](http://github.com/spf13/viper) for 12-factor apps + +# Concepts + +Cobra is built on a structure of commands, arguments & flags. + +**Commands** represent actions, **Args** are things and **Flags** are modifiers for those actions. + +The best applications will read like sentences when used. Users will know how +to use the application because they will natively understand how to use it. + +The pattern to follow is +`APPNAME VERB NOUN --ADJECTIVE.` + or +`APPNAME COMMAND ARG --FLAG` + +A few good real world examples may better illustrate this point. + +In the following example, 'server' is a command, and 'port' is a flag: + + hugo server --port=1313 + +In this command we are telling Git to clone the url bare. + + git clone URL --bare + +## Commands + +Command is the central point of the application. Each interaction that +the application supports will be contained in a Command. A command can +have children commands and optionally run an action. + +In the example above, 'server' is the command. + +[More about cobra.Command](https://godoc.org/github.com/spf13/cobra#Command) + +## Flags + +A flag is a way to modify the behavior of a command. Cobra supports +fully POSIX-compliant flags as well as the Go [flag package](https://golang.org/pkg/flag/). +A Cobra command can define flags that persist through to children commands +and flags that are only available to that command. + +In the example above, 'port' is the flag. + +Flag functionality is provided by the [pflag +library](https://github.com/spf13/pflag), a fork of the flag standard library +which maintains the same interface while adding POSIX compliance. + +# Installing +Using Cobra is easy. First, use `go get` to install the latest version +of the library. This command will install the `cobra` generator executable +along with the library and its dependencies: + + go get -u github.com/spf13/cobra/cobra + +Next, include Cobra in your application: + +```go +import "github.com/spf13/cobra" +``` + +# Getting Started + +While you are welcome to provide your own organization, typically a Cobra-based +application will follow the following organizational structure: + +``` + ▾ appName/ + ▾ cmd/ + add.go + your.go + commands.go + here.go + main.go +``` + +In a Cobra app, typically the main.go file is very bare. It serves one purpose: initializing Cobra. + +```go +package main + +import ( + "fmt" + "os" + + "{pathToYourApp}/cmd" +) + +func main() { + cmd.Execute() +} +``` + +## Using the Cobra Generator + +Cobra provides its own program that will create your application and add any +commands you want. It's the easiest way to incorporate Cobra into your application. + +[Here](https://github.com/spf13/cobra/blob/master/cobra/README.md) you can find more information about it. + +## Using the Cobra Library + +To manually implement Cobra you need to create a bare main.go file and a rootCmd file. +You will optionally provide additional commands as you see fit. + +### Create rootCmd + +Cobra doesn't require any special constructors. Simply create your commands. + +Ideally you place this in app/cmd/root.go: + +```go +var rootCmd = &cobra.Command{ + Use: "hugo", + Short: "Hugo is a very fast static site generator", + Long: `A Fast and Flexible Static Site Generator built with + love by spf13 and friends in Go. + Complete documentation is available at http://hugo.spf13.com`, + Run: func(cmd *cobra.Command, args []string) { + // Do Stuff Here + }, +} + +func Execute() { + if err := rootCmd.Execute(); err != nil { + fmt.Println(err) + os.Exit(1) + } +} +``` + +You will additionally define flags and handle configuration in your init() function. + +For example cmd/root.go: + +```go +import ( + "fmt" + "os" + + homedir "github.com/mitchellh/go-homedir" + "github.com/spf13/cobra" + "github.com/spf13/viper" +) + +func init() { + cobra.OnInitialize(initConfig) + rootCmd.PersistentFlags().StringVar(&cfgFile, "config", "", "config file (default is $HOME/.cobra.yaml)") + rootCmd.PersistentFlags().StringVarP(&projectBase, "projectbase", "b", "", "base project directory eg. github.com/spf13/") + rootCmd.PersistentFlags().StringP("author", "a", "YOUR NAME", "Author name for copyright attribution") + rootCmd.PersistentFlags().StringVarP(&userLicense, "license", "l", "", "Name of license for the project (can provide `licensetext` in config)") + rootCmd.PersistentFlags().Bool("viper", true, "Use Viper for configuration") + viper.BindPFlag("author", rootCmd.PersistentFlags().Lookup("author")) + viper.BindPFlag("projectbase", rootCmd.PersistentFlags().Lookup("projectbase")) + viper.BindPFlag("useViper", rootCmd.PersistentFlags().Lookup("viper")) + viper.SetDefault("author", "NAME HERE ") + viper.SetDefault("license", "apache") +} + +func initConfig() { + // Don't forget to read config either from cfgFile or from home directory! + if cfgFile != "" { + // Use config file from the flag. + viper.SetConfigFile(cfgFile) + } else { + // Find home directory. + home, err := homedir.Dir() + if err != nil { + fmt.Println(err) + os.Exit(1) + } + + // Search config in home directory with name ".cobra" (without extension). + viper.AddConfigPath(home) + viper.SetConfigName(".cobra") + } + + if err := viper.ReadInConfig(); err != nil { + fmt.Println("Can't read config:", err) + os.Exit(1) + } +} +``` + +### Create your main.go + +With the root command you need to have your main function execute it. +Execute should be run on the root for clarity, though it can be called on any command. + +In a Cobra app, typically the main.go file is very bare. It serves, one purpose, to initialize Cobra. + +```go +package main + +import ( + "fmt" + "os" + + "{pathToYourApp}/cmd" +) + +func main() { + cmd.Execute() +} +``` + +### Create additional commands + +Additional commands can be defined and typically are each given their own file +inside of the cmd/ directory. + +If you wanted to create a version command you would create cmd/version.go and +populate it with the following: + +```go +package cmd + +import ( + "fmt" + + "github.com/spf13/cobra" +) + +func init() { + rootCmd.AddCommand(versionCmd) +} + +var versionCmd = &cobra.Command{ + Use: "version", + Short: "Print the version number of Hugo", + Long: `All software has versions. This is Hugo's`, + Run: func(cmd *cobra.Command, args []string) { + fmt.Println("Hugo Static Site Generator v0.9 -- HEAD") + }, +} +``` + +## Working with Flags + +Flags provide modifiers to control how the action command operates. + +### Assign flags to a command + +Since the flags are defined and used in different locations, we need to +define a variable outside with the correct scope to assign the flag to +work with. + +```go +var Verbose bool +var Source string +``` + +There are two different approaches to assign a flag. + +### Persistent Flags + +A flag can be 'persistent' meaning that this flag will be available to the +command it's assigned to as well as every command under that command. For +global flags, assign a flag as a persistent flag on the root. + +```go +rootCmd.PersistentFlags().BoolVarP(&Verbose, "verbose", "v", false, "verbose output") +``` + +### Local Flags + +A flag can also be assigned locally which will only apply to that specific command. + +```go +rootCmd.Flags().StringVarP(&Source, "source", "s", "", "Source directory to read from") +``` + +### Local Flag on Parent Commands + +By default Cobra only parses local flags on the target command, any local flags on +parent commands are ignored. By enabling `Command.TraverseChildren` Cobra will +parse local flags on each command before executing the target command. + +```go +command := cobra.Command{ + Use: "print [OPTIONS] [COMMANDS]", + TraverseChildren: true, +} +``` + +### Bind Flags with Config + +You can also bind your flags with [viper](https://github.com/spf13/viper): +```go +var author string + +func init() { + rootCmd.PersistentFlags().StringVar(&author, "author", "YOUR NAME", "Author name for copyright attribution") + viper.BindPFlag("author", rootCmd.PersistentFlags().Lookup("author")) +} +``` + +In this example the persistent flag `author` is bound with `viper`. +**Note**, that the variable `author` will not be set to the value from config, +when the `--author` flag is not provided by user. + +More in [viper documentation](https://github.com/spf13/viper#working-with-flags). + +### Required flags + +Flags are optional by default. If instead you wish your command to report an error +when a flag has not been set, mark it as required: +```go +rootCmd.Flags().StringVarP(&Region, "region", "r", "", "AWS region (required)") +rootCmd.MarkFlagRequired("region") +``` + +## Positional and Custom Arguments + +Validation of positional arguments can be specified using the `Args` field +of `Command`. + +The following validators are built in: + +- `NoArgs` - the command will report an error if there are any positional args. +- `ArbitraryArgs` - the command will accept any args. +- `OnlyValidArgs` - the command will report an error if there are any positional args that are not in the `ValidArgs` field of `Command`. +- `MinimumNArgs(int)` - the command will report an error if there are not at least N positional args. +- `MaximumNArgs(int)` - the command will report an error if there are more than N positional args. +- `ExactArgs(int)` - the command will report an error if there are not exactly N positional args. +- `RangeArgs(min, max)` - the command will report an error if the number of args is not between the minimum and maximum number of expected args. + +An example of setting the custom validator: + +```go +var cmd = &cobra.Command{ + Short: "hello", + Args: func(cmd *cobra.Command, args []string) error { + if len(args) < 1 { + return errors.New("requires at least one arg") + } + if myapp.IsValidColor(args[0]) { + return nil + } + return fmt.Errorf("invalid color specified: %s", args[0]) + }, + Run: func(cmd *cobra.Command, args []string) { + fmt.Println("Hello, World!") + }, +} +``` + +## Example + +In the example below, we have defined three commands. Two are at the top level +and one (cmdTimes) is a child of one of the top commands. In this case the root +is not executable meaning that a subcommand is required. This is accomplished +by not providing a 'Run' for the 'rootCmd'. + +We have only defined one flag for a single command. + +More documentation about flags is available at https://github.com/spf13/pflag + +```go +package main + +import ( + "fmt" + "strings" + + "github.com/spf13/cobra" +) + +func main() { + var echoTimes int + + var cmdPrint = &cobra.Command{ + Use: "print [string to print]", + Short: "Print anything to the screen", + Long: `print is for printing anything back to the screen. +For many years people have printed back to the screen.`, + Args: cobra.MinimumNArgs(1), + Run: func(cmd *cobra.Command, args []string) { + fmt.Println("Print: " + strings.Join(args, " ")) + }, + } + + var cmdEcho = &cobra.Command{ + Use: "echo [string to echo]", + Short: "Echo anything to the screen", + Long: `echo is for echoing anything back. +Echo works a lot like print, except it has a child command.`, + Args: cobra.MinimumNArgs(1), + Run: func(cmd *cobra.Command, args []string) { + fmt.Println("Print: " + strings.Join(args, " ")) + }, + } + + var cmdTimes = &cobra.Command{ + Use: "times [# times] [string to echo]", + Short: "Echo anything to the screen more times", + Long: `echo things multiple times back to the user by providing +a count and a string.`, + Args: cobra.MinimumNArgs(1), + Run: func(cmd *cobra.Command, args []string) { + for i := 0; i < echoTimes; i++ { + fmt.Println("Echo: " + strings.Join(args, " ")) + } + }, + } + + cmdTimes.Flags().IntVarP(&echoTimes, "times", "t", 1, "times to echo the input") + + var rootCmd = &cobra.Command{Use: "app"} + rootCmd.AddCommand(cmdPrint, cmdEcho) + cmdEcho.AddCommand(cmdTimes) + rootCmd.Execute() +} +``` + +For a more complete example of a larger application, please checkout [Hugo](http://gohugo.io/). + +## Help Command + +Cobra automatically adds a help command to your application when you have subcommands. +This will be called when a user runs 'app help'. Additionally, help will also +support all other commands as input. Say, for instance, you have a command called +'create' without any additional configuration; Cobra will work when 'app help +create' is called. Every command will automatically have the '--help' flag added. + +### Example + +The following output is automatically generated by Cobra. Nothing beyond the +command and flag definitions are needed. + + $ cobra help + + Cobra is a CLI library for Go that empowers applications. + This application is a tool to generate the needed files + to quickly create a Cobra application. + + Usage: + cobra [command] + + Available Commands: + add Add a command to a Cobra Application + help Help about any command + init Initialize a Cobra Application + + Flags: + -a, --author string author name for copyright attribution (default "YOUR NAME") + --config string config file (default is $HOME/.cobra.yaml) + -h, --help help for cobra + -l, --license string name of license for the project + --viper use Viper for configuration (default true) + + Use "cobra [command] --help" for more information about a command. + + +Help is just a command like any other. There is no special logic or behavior +around it. In fact, you can provide your own if you want. + +### Defining your own help + +You can provide your own Help command or your own template for the default command to use +with following functions: + +```go +cmd.SetHelpCommand(cmd *Command) +cmd.SetHelpFunc(f func(*Command, []string)) +cmd.SetHelpTemplate(s string) +``` + +The latter two will also apply to any children commands. + +## Usage Message + +When the user provides an invalid flag or invalid command, Cobra responds by +showing the user the 'usage'. + +### Example +You may recognize this from the help above. That's because the default help +embeds the usage as part of its output. + + $ cobra --invalid + Error: unknown flag: --invalid + Usage: + cobra [command] + + Available Commands: + add Add a command to a Cobra Application + help Help about any command + init Initialize a Cobra Application + + Flags: + -a, --author string author name for copyright attribution (default "YOUR NAME") + --config string config file (default is $HOME/.cobra.yaml) + -h, --help help for cobra + -l, --license string name of license for the project + --viper use Viper for configuration (default true) + + Use "cobra [command] --help" for more information about a command. + +### Defining your own usage +You can provide your own usage function or template for Cobra to use. +Like help, the function and template are overridable through public methods: + +```go +cmd.SetUsageFunc(f func(*Command) error) +cmd.SetUsageTemplate(s string) +``` + +## Version Flag + +Cobra adds a top-level '--version' flag if the Version field is set on the root command. +Running an application with the '--version' flag will print the version to stdout using +the version template. The template can be customized using the +`cmd.SetVersionTemplate(s string)` function. + +## PreRun and PostRun Hooks + +It is possible to run functions before or after the main `Run` function of your command. The `PersistentPreRun` and `PreRun` functions will be executed before `Run`. `PersistentPostRun` and `PostRun` will be executed after `Run`. The `Persistent*Run` functions will be inherited by children if they do not declare their own. These functions are run in the following order: + +- `PersistentPreRun` +- `PreRun` +- `Run` +- `PostRun` +- `PersistentPostRun` + +An example of two commands which use all of these features is below. When the subcommand is executed, it will run the root command's `PersistentPreRun` but not the root command's `PersistentPostRun`: + +```go +package main + +import ( + "fmt" + + "github.com/spf13/cobra" +) + +func main() { + + var rootCmd = &cobra.Command{ + Use: "root [sub]", + Short: "My root command", + PersistentPreRun: func(cmd *cobra.Command, args []string) { + fmt.Printf("Inside rootCmd PersistentPreRun with args: %v\n", args) + }, + PreRun: func(cmd *cobra.Command, args []string) { + fmt.Printf("Inside rootCmd PreRun with args: %v\n", args) + }, + Run: func(cmd *cobra.Command, args []string) { + fmt.Printf("Inside rootCmd Run with args: %v\n", args) + }, + PostRun: func(cmd *cobra.Command, args []string) { + fmt.Printf("Inside rootCmd PostRun with args: %v\n", args) + }, + PersistentPostRun: func(cmd *cobra.Command, args []string) { + fmt.Printf("Inside rootCmd PersistentPostRun with args: %v\n", args) + }, + } + + var subCmd = &cobra.Command{ + Use: "sub [no options!]", + Short: "My subcommand", + PreRun: func(cmd *cobra.Command, args []string) { + fmt.Printf("Inside subCmd PreRun with args: %v\n", args) + }, + Run: func(cmd *cobra.Command, args []string) { + fmt.Printf("Inside subCmd Run with args: %v\n", args) + }, + PostRun: func(cmd *cobra.Command, args []string) { + fmt.Printf("Inside subCmd PostRun with args: %v\n", args) + }, + PersistentPostRun: func(cmd *cobra.Command, args []string) { + fmt.Printf("Inside subCmd PersistentPostRun with args: %v\n", args) + }, + } + + rootCmd.AddCommand(subCmd) + + rootCmd.SetArgs([]string{""}) + rootCmd.Execute() + fmt.Println() + rootCmd.SetArgs([]string{"sub", "arg1", "arg2"}) + rootCmd.Execute() +} +``` + +Output: +``` +Inside rootCmd PersistentPreRun with args: [] +Inside rootCmd PreRun with args: [] +Inside rootCmd Run with args: [] +Inside rootCmd PostRun with args: [] +Inside rootCmd PersistentPostRun with args: [] + +Inside rootCmd PersistentPreRun with args: [arg1 arg2] +Inside subCmd PreRun with args: [arg1 arg2] +Inside subCmd Run with args: [arg1 arg2] +Inside subCmd PostRun with args: [arg1 arg2] +Inside subCmd PersistentPostRun with args: [arg1 arg2] +``` + +## Suggestions when "unknown command" happens + +Cobra will print automatic suggestions when "unknown command" errors happen. This allows Cobra to behave similarly to the `git` command when a typo happens. For example: + +``` +$ hugo srever +Error: unknown command "srever" for "hugo" + +Did you mean this? + server + +Run 'hugo --help' for usage. +``` + +Suggestions are automatic based on every subcommand registered and use an implementation of [Levenshtein distance](http://en.wikipedia.org/wiki/Levenshtein_distance). Every registered command that matches a minimum distance of 2 (ignoring case) will be displayed as a suggestion. + +If you need to disable suggestions or tweak the string distance in your command, use: + +```go +command.DisableSuggestions = true +``` + +or + +```go +command.SuggestionsMinimumDistance = 1 +``` + +You can also explicitly set names for which a given command will be suggested using the `SuggestFor` attribute. This allows suggestions for strings that are not close in terms of string distance, but makes sense in your set of commands and for some which you don't want aliases. Example: + +``` +$ kubectl remove +Error: unknown command "remove" for "kubectl" + +Did you mean this? + delete + +Run 'kubectl help' for usage. +``` + +## Generating documentation for your command + +Cobra can generate documentation based on subcommands, flags, etc. in the following formats: + +- [Markdown](doc/md_docs.md) +- [ReStructured Text](doc/rest_docs.md) +- [Man Page](doc/man_docs.md) + +## Generating bash completions + +Cobra can generate a bash-completion file. If you add more information to your command, these completions can be amazingly powerful and flexible. Read more about it in [Bash Completions](bash_completions.md). + +# Contributing + +1. Fork it +2. Download your fork to your PC (`git clone https://github.com/your_username/cobra && cd cobra`) +3. Create your feature branch (`git checkout -b my-new-feature`) +4. Make changes and add them (`git add .`) +5. Commit your changes (`git commit -m 'Add some feature'`) +6. Push to the branch (`git push origin my-new-feature`) +7. Create new pull request + +# License + +Cobra is released under the Apache 2.0 license. See [LICENSE.txt](https://github.com/spf13/cobra/blob/master/LICENSE.txt) diff --git a/vendor/github.com/spf13/cobra/args.go b/vendor/github.com/spf13/cobra/args.go new file mode 100644 index 000000000..a5d8a9273 --- /dev/null +++ b/vendor/github.com/spf13/cobra/args.go @@ -0,0 +1,89 @@ +package cobra + +import ( + "fmt" +) + +type PositionalArgs func(cmd *Command, args []string) error + +// Legacy arg validation has the following behaviour: +// - root commands with no subcommands can take arbitrary arguments +// - root commands with subcommands will do subcommand validity checking +// - subcommands will always accept arbitrary arguments +func legacyArgs(cmd *Command, args []string) error { + // no subcommand, always take args + if !cmd.HasSubCommands() { + return nil + } + + // root command with subcommands, do subcommand checking. + if !cmd.HasParent() && len(args) > 0 { + return fmt.Errorf("unknown command %q for %q%s", args[0], cmd.CommandPath(), cmd.findSuggestions(args[0])) + } + return nil +} + +// NoArgs returns an error if any args are included. +func NoArgs(cmd *Command, args []string) error { + if len(args) > 0 { + return fmt.Errorf("unknown command %q for %q", args[0], cmd.CommandPath()) + } + return nil +} + +// OnlyValidArgs returns an error if any args are not in the list of ValidArgs. +func OnlyValidArgs(cmd *Command, args []string) error { + if len(cmd.ValidArgs) > 0 { + for _, v := range args { + if !stringInSlice(v, cmd.ValidArgs) { + return fmt.Errorf("invalid argument %q for %q%s", v, cmd.CommandPath(), cmd.findSuggestions(args[0])) + } + } + } + return nil +} + +// ArbitraryArgs never returns an error. +func ArbitraryArgs(cmd *Command, args []string) error { + return nil +} + +// MinimumNArgs returns an error if there is not at least N args. +func MinimumNArgs(n int) PositionalArgs { + return func(cmd *Command, args []string) error { + if len(args) < n { + return fmt.Errorf("requires at least %d arg(s), only received %d", n, len(args)) + } + return nil + } +} + +// MaximumNArgs returns an error if there are more than N args. +func MaximumNArgs(n int) PositionalArgs { + return func(cmd *Command, args []string) error { + if len(args) > n { + return fmt.Errorf("accepts at most %d arg(s), received %d", n, len(args)) + } + return nil + } +} + +// ExactArgs returns an error if there are not exactly n args. +func ExactArgs(n int) PositionalArgs { + return func(cmd *Command, args []string) error { + if len(args) != n { + return fmt.Errorf("accepts %d arg(s), received %d", n, len(args)) + } + return nil + } +} + +// RangeArgs returns an error if the number of args is not within the expected range. +func RangeArgs(min int, max int) PositionalArgs { + return func(cmd *Command, args []string) error { + if len(args) < min || len(args) > max { + return fmt.Errorf("accepts between %d and %d arg(s), received %d", min, max, len(args)) + } + return nil + } +} diff --git a/vendor/github.com/spf13/cobra/bash_completions.go b/vendor/github.com/spf13/cobra/bash_completions.go new file mode 100644 index 000000000..8fa8f486f --- /dev/null +++ b/vendor/github.com/spf13/cobra/bash_completions.go @@ -0,0 +1,584 @@ +package cobra + +import ( + "bytes" + "fmt" + "io" + "os" + "sort" + "strings" + + "github.com/spf13/pflag" +) + +// Annotations for Bash completion. +const ( + BashCompFilenameExt = "cobra_annotation_bash_completion_filename_extensions" + BashCompCustom = "cobra_annotation_bash_completion_custom" + BashCompOneRequiredFlag = "cobra_annotation_bash_completion_one_required_flag" + BashCompSubdirsInDir = "cobra_annotation_bash_completion_subdirs_in_dir" +) + +func writePreamble(buf *bytes.Buffer, name string) { + buf.WriteString(fmt.Sprintf("# bash completion for %-36s -*- shell-script -*-\n", name)) + buf.WriteString(fmt.Sprintf(` +__%[1]s_debug() +{ + if [[ -n ${BASH_COMP_DEBUG_FILE} ]]; then + echo "$*" >> "${BASH_COMP_DEBUG_FILE}" + fi +} + +# Homebrew on Macs have version 1.3 of bash-completion which doesn't include +# _init_completion. This is a very minimal version of that function. +__%[1]s_init_completion() +{ + COMPREPLY=() + _get_comp_words_by_ref "$@" cur prev words cword +} + +__%[1]s_index_of_word() +{ + local w word=$1 + shift + index=0 + for w in "$@"; do + [[ $w = "$word" ]] && return + index=$((index+1)) + done + index=-1 +} + +__%[1]s_contains_word() +{ + local w word=$1; shift + for w in "$@"; do + [[ $w = "$word" ]] && return + done + return 1 +} + +__%[1]s_handle_reply() +{ + __%[1]s_debug "${FUNCNAME[0]}" + case $cur in + -*) + if [[ $(type -t compopt) = "builtin" ]]; then + compopt -o nospace + fi + local allflags + if [ ${#must_have_one_flag[@]} -ne 0 ]; then + allflags=("${must_have_one_flag[@]}") + else + allflags=("${flags[*]} ${two_word_flags[*]}") + fi + COMPREPLY=( $(compgen -W "${allflags[*]}" -- "$cur") ) + if [[ $(type -t compopt) = "builtin" ]]; then + [[ "${COMPREPLY[0]}" == *= ]] || compopt +o nospace + fi + + # complete after --flag=abc + if [[ $cur == *=* ]]; then + if [[ $(type -t compopt) = "builtin" ]]; then + compopt +o nospace + fi + + local index flag + flag="${cur%%=*}" + __%[1]s_index_of_word "${flag}" "${flags_with_completion[@]}" + COMPREPLY=() + if [[ ${index} -ge 0 ]]; then + PREFIX="" + cur="${cur#*=}" + ${flags_completion[${index}]} + if [ -n "${ZSH_VERSION}" ]; then + # zsh completion needs --flag= prefix + eval "COMPREPLY=( \"\${COMPREPLY[@]/#/${flag}=}\" )" + fi + fi + fi + return 0; + ;; + esac + + # check if we are handling a flag with special work handling + local index + __%[1]s_index_of_word "${prev}" "${flags_with_completion[@]}" + if [[ ${index} -ge 0 ]]; then + ${flags_completion[${index}]} + return + fi + + # we are parsing a flag and don't have a special handler, no completion + if [[ ${cur} != "${words[cword]}" ]]; then + return + fi + + local completions + completions=("${commands[@]}") + if [[ ${#must_have_one_noun[@]} -ne 0 ]]; then + completions=("${must_have_one_noun[@]}") + fi + if [[ ${#must_have_one_flag[@]} -ne 0 ]]; then + completions+=("${must_have_one_flag[@]}") + fi + COMPREPLY=( $(compgen -W "${completions[*]}" -- "$cur") ) + + if [[ ${#COMPREPLY[@]} -eq 0 && ${#noun_aliases[@]} -gt 0 && ${#must_have_one_noun[@]} -ne 0 ]]; then + COMPREPLY=( $(compgen -W "${noun_aliases[*]}" -- "$cur") ) + fi + + if [[ ${#COMPREPLY[@]} -eq 0 ]]; then + declare -F __custom_func >/dev/null && __custom_func + fi + + # available in bash-completion >= 2, not always present on macOS + if declare -F __ltrim_colon_completions >/dev/null; then + __ltrim_colon_completions "$cur" + fi + + # If there is only 1 completion and it is a flag with an = it will be completed + # but we don't want a space after the = + if [[ "${#COMPREPLY[@]}" -eq "1" ]] && [[ $(type -t compopt) = "builtin" ]] && [[ "${COMPREPLY[0]}" == --*= ]]; then + compopt -o nospace + fi +} + +# The arguments should be in the form "ext1|ext2|extn" +__%[1]s_handle_filename_extension_flag() +{ + local ext="$1" + _filedir "@(${ext})" +} + +__%[1]s_handle_subdirs_in_dir_flag() +{ + local dir="$1" + pushd "${dir}" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 +} + +__%[1]s_handle_flag() +{ + __%[1]s_debug "${FUNCNAME[0]}: c is $c words[c] is ${words[c]}" + + # if a command required a flag, and we found it, unset must_have_one_flag() + local flagname=${words[c]} + local flagvalue + # if the word contained an = + if [[ ${words[c]} == *"="* ]]; then + flagvalue=${flagname#*=} # take in as flagvalue after the = + flagname=${flagname%%=*} # strip everything after the = + flagname="${flagname}=" # but put the = back + fi + __%[1]s_debug "${FUNCNAME[0]}: looking for ${flagname}" + if __%[1]s_contains_word "${flagname}" "${must_have_one_flag[@]}"; then + must_have_one_flag=() + fi + + # if you set a flag which only applies to this command, don't show subcommands + if __%[1]s_contains_word "${flagname}" "${local_nonpersistent_flags[@]}"; then + commands=() + fi + + # keep flag value with flagname as flaghash + # flaghash variable is an associative array which is only supported in bash > 3. + if [[ -z "${BASH_VERSION}" || "${BASH_VERSINFO[0]}" -gt 3 ]]; then + if [ -n "${flagvalue}" ] ; then + flaghash[${flagname}]=${flagvalue} + elif [ -n "${words[ $((c+1)) ]}" ] ; then + flaghash[${flagname}]=${words[ $((c+1)) ]} + else + flaghash[${flagname}]="true" # pad "true" for bool flag + fi + fi + + # skip the argument to a two word flag + if __%[1]s_contains_word "${words[c]}" "${two_word_flags[@]}"; then + c=$((c+1)) + # if we are looking for a flags value, don't show commands + if [[ $c -eq $cword ]]; then + commands=() + fi + fi + + c=$((c+1)) + +} + +__%[1]s_handle_noun() +{ + __%[1]s_debug "${FUNCNAME[0]}: c is $c words[c] is ${words[c]}" + + if __%[1]s_contains_word "${words[c]}" "${must_have_one_noun[@]}"; then + must_have_one_noun=() + elif __%[1]s_contains_word "${words[c]}" "${noun_aliases[@]}"; then + must_have_one_noun=() + fi + + nouns+=("${words[c]}") + c=$((c+1)) +} + +__%[1]s_handle_command() +{ + __%[1]s_debug "${FUNCNAME[0]}: c is $c words[c] is ${words[c]}" + + local next_command + if [[ -n ${last_command} ]]; then + next_command="_${last_command}_${words[c]//:/__}" + else + if [[ $c -eq 0 ]]; then + next_command="_%[1]s_root_command" + else + next_command="_${words[c]//:/__}" + fi + fi + c=$((c+1)) + __%[1]s_debug "${FUNCNAME[0]}: looking for ${next_command}" + declare -F "$next_command" >/dev/null && $next_command +} + +__%[1]s_handle_word() +{ + if [[ $c -ge $cword ]]; then + __%[1]s_handle_reply + return + fi + __%[1]s_debug "${FUNCNAME[0]}: c is $c words[c] is ${words[c]}" + if [[ "${words[c]}" == -* ]]; then + __%[1]s_handle_flag + elif __%[1]s_contains_word "${words[c]}" "${commands[@]}"; then + __%[1]s_handle_command + elif [[ $c -eq 0 ]]; then + __%[1]s_handle_command + elif __%[1]s_contains_word "${words[c]}" "${command_aliases[@]}"; then + # aliashash variable is an associative array which is only supported in bash > 3. + if [[ -z "${BASH_VERSION}" || "${BASH_VERSINFO[0]}" -gt 3 ]]; then + words[c]=${aliashash[${words[c]}]} + __%[1]s_handle_command + else + __%[1]s_handle_noun + fi + else + __%[1]s_handle_noun + fi + __%[1]s_handle_word +} + +`, name)) +} + +func writePostscript(buf *bytes.Buffer, name string) { + name = strings.Replace(name, ":", "__", -1) + buf.WriteString(fmt.Sprintf("__start_%s()\n", name)) + buf.WriteString(fmt.Sprintf(`{ + local cur prev words cword + declare -A flaghash 2>/dev/null || : + declare -A aliashash 2>/dev/null || : + if declare -F _init_completion >/dev/null 2>&1; then + _init_completion -s || return + else + __%[1]s_init_completion -n "=" || return + fi + + local c=0 + local flags=() + local two_word_flags=() + local local_nonpersistent_flags=() + local flags_with_completion=() + local flags_completion=() + local commands=("%[1]s") + local must_have_one_flag=() + local must_have_one_noun=() + local last_command + local nouns=() + + __%[1]s_handle_word +} + +`, name)) + buf.WriteString(fmt.Sprintf(`if [[ $(type -t compopt) = "builtin" ]]; then + complete -o default -F __start_%s %s +else + complete -o default -o nospace -F __start_%s %s +fi + +`, name, name, name, name)) + buf.WriteString("# ex: ts=4 sw=4 et filetype=sh\n") +} + +func writeCommands(buf *bytes.Buffer, cmd *Command) { + buf.WriteString(" commands=()\n") + for _, c := range cmd.Commands() { + if !c.IsAvailableCommand() || c == cmd.helpCommand { + continue + } + buf.WriteString(fmt.Sprintf(" commands+=(%q)\n", c.Name())) + writeCmdAliases(buf, c) + } + buf.WriteString("\n") +} + +func writeFlagHandler(buf *bytes.Buffer, name string, annotations map[string][]string, cmd *Command) { + for key, value := range annotations { + switch key { + case BashCompFilenameExt: + buf.WriteString(fmt.Sprintf(" flags_with_completion+=(%q)\n", name)) + + var ext string + if len(value) > 0 { + ext = fmt.Sprintf("__%s_handle_filename_extension_flag ", cmd.Root().Name()) + strings.Join(value, "|") + } else { + ext = "_filedir" + } + buf.WriteString(fmt.Sprintf(" flags_completion+=(%q)\n", ext)) + case BashCompCustom: + buf.WriteString(fmt.Sprintf(" flags_with_completion+=(%q)\n", name)) + if len(value) > 0 { + handlers := strings.Join(value, "; ") + buf.WriteString(fmt.Sprintf(" flags_completion+=(%q)\n", handlers)) + } else { + buf.WriteString(" flags_completion+=(:)\n") + } + case BashCompSubdirsInDir: + buf.WriteString(fmt.Sprintf(" flags_with_completion+=(%q)\n", name)) + + var ext string + if len(value) == 1 { + ext = fmt.Sprintf("__%s_handle_subdirs_in_dir_flag ", cmd.Root().Name()) + value[0] + } else { + ext = "_filedir -d" + } + buf.WriteString(fmt.Sprintf(" flags_completion+=(%q)\n", ext)) + } + } +} + +func writeShortFlag(buf *bytes.Buffer, flag *pflag.Flag, cmd *Command) { + name := flag.Shorthand + format := " " + if len(flag.NoOptDefVal) == 0 { + format += "two_word_" + } + format += "flags+=(\"-%s\")\n" + buf.WriteString(fmt.Sprintf(format, name)) + writeFlagHandler(buf, "-"+name, flag.Annotations, cmd) +} + +func writeFlag(buf *bytes.Buffer, flag *pflag.Flag, cmd *Command) { + name := flag.Name + format := " flags+=(\"--%s" + if len(flag.NoOptDefVal) == 0 { + format += "=" + } + format += "\")\n" + buf.WriteString(fmt.Sprintf(format, name)) + writeFlagHandler(buf, "--"+name, flag.Annotations, cmd) +} + +func writeLocalNonPersistentFlag(buf *bytes.Buffer, flag *pflag.Flag) { + name := flag.Name + format := " local_nonpersistent_flags+=(\"--%s" + if len(flag.NoOptDefVal) == 0 { + format += "=" + } + format += "\")\n" + buf.WriteString(fmt.Sprintf(format, name)) +} + +func writeFlags(buf *bytes.Buffer, cmd *Command) { + buf.WriteString(` flags=() + two_word_flags=() + local_nonpersistent_flags=() + flags_with_completion=() + flags_completion=() + +`) + localNonPersistentFlags := cmd.LocalNonPersistentFlags() + cmd.NonInheritedFlags().VisitAll(func(flag *pflag.Flag) { + if nonCompletableFlag(flag) { + return + } + writeFlag(buf, flag, cmd) + if len(flag.Shorthand) > 0 { + writeShortFlag(buf, flag, cmd) + } + if localNonPersistentFlags.Lookup(flag.Name) != nil { + writeLocalNonPersistentFlag(buf, flag) + } + }) + cmd.InheritedFlags().VisitAll(func(flag *pflag.Flag) { + if nonCompletableFlag(flag) { + return + } + writeFlag(buf, flag, cmd) + if len(flag.Shorthand) > 0 { + writeShortFlag(buf, flag, cmd) + } + }) + + buf.WriteString("\n") +} + +func writeRequiredFlag(buf *bytes.Buffer, cmd *Command) { + buf.WriteString(" must_have_one_flag=()\n") + flags := cmd.NonInheritedFlags() + flags.VisitAll(func(flag *pflag.Flag) { + if nonCompletableFlag(flag) { + return + } + for key := range flag.Annotations { + switch key { + case BashCompOneRequiredFlag: + format := " must_have_one_flag+=(\"--%s" + if flag.Value.Type() != "bool" { + format += "=" + } + format += "\")\n" + buf.WriteString(fmt.Sprintf(format, flag.Name)) + + if len(flag.Shorthand) > 0 { + buf.WriteString(fmt.Sprintf(" must_have_one_flag+=(\"-%s\")\n", flag.Shorthand)) + } + } + } + }) +} + +func writeRequiredNouns(buf *bytes.Buffer, cmd *Command) { + buf.WriteString(" must_have_one_noun=()\n") + sort.Sort(sort.StringSlice(cmd.ValidArgs)) + for _, value := range cmd.ValidArgs { + buf.WriteString(fmt.Sprintf(" must_have_one_noun+=(%q)\n", value)) + } +} + +func writeCmdAliases(buf *bytes.Buffer, cmd *Command) { + if len(cmd.Aliases) == 0 { + return + } + + sort.Sort(sort.StringSlice(cmd.Aliases)) + + buf.WriteString(fmt.Sprint(` if [[ -z "${BASH_VERSION}" || "${BASH_VERSINFO[0]}" -gt 3 ]]; then`, "\n")) + for _, value := range cmd.Aliases { + buf.WriteString(fmt.Sprintf(" command_aliases+=(%q)\n", value)) + buf.WriteString(fmt.Sprintf(" aliashash[%q]=%q\n", value, cmd.Name())) + } + buf.WriteString(` fi`) + buf.WriteString("\n") +} +func writeArgAliases(buf *bytes.Buffer, cmd *Command) { + buf.WriteString(" noun_aliases=()\n") + sort.Sort(sort.StringSlice(cmd.ArgAliases)) + for _, value := range cmd.ArgAliases { + buf.WriteString(fmt.Sprintf(" noun_aliases+=(%q)\n", value)) + } +} + +func gen(buf *bytes.Buffer, cmd *Command) { + for _, c := range cmd.Commands() { + if !c.IsAvailableCommand() || c == cmd.helpCommand { + continue + } + gen(buf, c) + } + commandName := cmd.CommandPath() + commandName = strings.Replace(commandName, " ", "_", -1) + commandName = strings.Replace(commandName, ":", "__", -1) + + if cmd.Root() == cmd { + buf.WriteString(fmt.Sprintf("_%s_root_command()\n{\n", commandName)) + } else { + buf.WriteString(fmt.Sprintf("_%s()\n{\n", commandName)) + } + + buf.WriteString(fmt.Sprintf(" last_command=%q\n", commandName)) + buf.WriteString("\n") + buf.WriteString(" command_aliases=()\n") + buf.WriteString("\n") + + writeCommands(buf, cmd) + writeFlags(buf, cmd) + writeRequiredFlag(buf, cmd) + writeRequiredNouns(buf, cmd) + writeArgAliases(buf, cmd) + buf.WriteString("}\n\n") +} + +// GenBashCompletion generates bash completion file and writes to the passed writer. +func (c *Command) GenBashCompletion(w io.Writer) error { + buf := new(bytes.Buffer) + writePreamble(buf, c.Name()) + if len(c.BashCompletionFunction) > 0 { + buf.WriteString(c.BashCompletionFunction + "\n") + } + gen(buf, c) + writePostscript(buf, c.Name()) + + _, err := buf.WriteTo(w) + return err +} + +func nonCompletableFlag(flag *pflag.Flag) bool { + return flag.Hidden || len(flag.Deprecated) > 0 +} + +// GenBashCompletionFile generates bash completion file. +func (c *Command) GenBashCompletionFile(filename string) error { + outFile, err := os.Create(filename) + if err != nil { + return err + } + defer outFile.Close() + + return c.GenBashCompletion(outFile) +} + +// MarkFlagRequired adds the BashCompOneRequiredFlag annotation to the named flag if it exists, +// and causes your command to report an error if invoked without the flag. +func (c *Command) MarkFlagRequired(name string) error { + return MarkFlagRequired(c.Flags(), name) +} + +// MarkPersistentFlagRequired adds the BashCompOneRequiredFlag annotation to the named persistent flag if it exists, +// and causes your command to report an error if invoked without the flag. +func (c *Command) MarkPersistentFlagRequired(name string) error { + return MarkFlagRequired(c.PersistentFlags(), name) +} + +// MarkFlagRequired adds the BashCompOneRequiredFlag annotation to the named flag if it exists, +// and causes your command to report an error if invoked without the flag. +func MarkFlagRequired(flags *pflag.FlagSet, name string) error { + return flags.SetAnnotation(name, BashCompOneRequiredFlag, []string{"true"}) +} + +// MarkFlagFilename adds the BashCompFilenameExt annotation to the named flag, if it exists. +// Generated bash autocompletion will select filenames for the flag, limiting to named extensions if provided. +func (c *Command) MarkFlagFilename(name string, extensions ...string) error { + return MarkFlagFilename(c.Flags(), name, extensions...) +} + +// MarkFlagCustom adds the BashCompCustom annotation to the named flag, if it exists. +// Generated bash autocompletion will call the bash function f for the flag. +func (c *Command) MarkFlagCustom(name string, f string) error { + return MarkFlagCustom(c.Flags(), name, f) +} + +// MarkPersistentFlagFilename adds the BashCompFilenameExt annotation to the named persistent flag, if it exists. +// Generated bash autocompletion will select filenames for the flag, limiting to named extensions if provided. +func (c *Command) MarkPersistentFlagFilename(name string, extensions ...string) error { + return MarkFlagFilename(c.PersistentFlags(), name, extensions...) +} + +// MarkFlagFilename adds the BashCompFilenameExt annotation to the named flag in the flag set, if it exists. +// Generated bash autocompletion will select filenames for the flag, limiting to named extensions if provided. +func MarkFlagFilename(flags *pflag.FlagSet, name string, extensions ...string) error { + return flags.SetAnnotation(name, BashCompFilenameExt, extensions) +} + +// MarkFlagCustom adds the BashCompCustom annotation to the named flag in the flag set, if it exists. +// Generated bash autocompletion will call the bash function f for the flag. +func MarkFlagCustom(flags *pflag.FlagSet, name string, f string) error { + return flags.SetAnnotation(name, BashCompCustom, []string{f}) +} diff --git a/vendor/github.com/spf13/cobra/bash_completions.md b/vendor/github.com/spf13/cobra/bash_completions.md new file mode 100644 index 000000000..e79d4769d --- /dev/null +++ b/vendor/github.com/spf13/cobra/bash_completions.md @@ -0,0 +1,221 @@ +# Generating Bash Completions For Your Own cobra.Command + +Generating bash completions from a cobra command is incredibly easy. An actual program which does so for the kubernetes kubectl binary is as follows: + +```go +package main + +import ( + "io/ioutil" + "os" + + "k8s.io/kubernetes/pkg/kubectl/cmd" + "k8s.io/kubernetes/pkg/kubectl/cmd/util" +) + +func main() { + kubectl := cmd.NewKubectlCommand(util.NewFactory(nil), os.Stdin, ioutil.Discard, ioutil.Discard) + kubectl.GenBashCompletionFile("out.sh") +} +``` + +`out.sh` will get you completions of subcommands and flags. Copy it to `/etc/bash_completion.d/` as described [here](https://debian-administration.org/article/316/An_introduction_to_bash_completion_part_1) and reset your terminal to use autocompletion. If you make additional annotations to your code, you can get even more intelligent and flexible behavior. + +## Creating your own custom functions + +Some more actual code that works in kubernetes: + +```bash +const ( + bash_completion_func = `__kubectl_parse_get() +{ + local kubectl_output out + if kubectl_output=$(kubectl get --no-headers "$1" 2>/dev/null); then + out=($(echo "${kubectl_output}" | awk '{print $1}')) + COMPREPLY=( $( compgen -W "${out[*]}" -- "$cur" ) ) + fi +} + +__kubectl_get_resource() +{ + if [[ ${#nouns[@]} -eq 0 ]]; then + return 1 + fi + __kubectl_parse_get ${nouns[${#nouns[@]} -1]} + if [[ $? -eq 0 ]]; then + return 0 + fi +} + +__custom_func() { + case ${last_command} in + kubectl_get | kubectl_describe | kubectl_delete | kubectl_stop) + __kubectl_get_resource + return + ;; + *) + ;; + esac +} +`) +``` + +And then I set that in my command definition: + +```go +cmds := &cobra.Command{ + Use: "kubectl", + Short: "kubectl controls the Kubernetes cluster manager", + Long: `kubectl controls the Kubernetes cluster manager. + +Find more information at https://github.com/GoogleCloudPlatform/kubernetes.`, + Run: runHelp, + BashCompletionFunction: bash_completion_func, +} +``` + +The `BashCompletionFunction` option is really only valid/useful on the root command. Doing the above will cause `__custom_func()` to be called when the built in processor was unable to find a solution. In the case of kubernetes a valid command might look something like `kubectl get pod [mypod]`. If you type `kubectl get pod [tab][tab]` the `__customc_func()` will run because the cobra.Command only understood "kubectl" and "get." `__custom_func()` will see that the cobra.Command is "kubectl_get" and will thus call another helper `__kubectl_get_resource()`. `__kubectl_get_resource` will look at the 'nouns' collected. In our example the only noun will be `pod`. So it will call `__kubectl_parse_get pod`. `__kubectl_parse_get` will actually call out to kubernetes and get any pods. It will then set `COMPREPLY` to valid pods! + +## Have the completions code complete your 'nouns' + +In the above example "pod" was assumed to already be typed. But if you want `kubectl get [tab][tab]` to show a list of valid "nouns" you have to set them. Simplified code from `kubectl get` looks like: + +```go +validArgs []string = { "pod", "node", "service", "replicationcontroller" } + +cmd := &cobra.Command{ + Use: "get [(-o|--output=)json|yaml|template|...] (RESOURCE [NAME] | RESOURCE/NAME ...)", + Short: "Display one or many resources", + Long: get_long, + Example: get_example, + Run: func(cmd *cobra.Command, args []string) { + err := RunGet(f, out, cmd, args) + util.CheckErr(err) + }, + ValidArgs: validArgs, +} +``` + +Notice we put the "ValidArgs" on the "get" subcommand. Doing so will give results like + +```bash +# kubectl get [tab][tab] +node pod replicationcontroller service +``` + +## Plural form and shortcuts for nouns + +If your nouns have a number of aliases, you can define them alongside `ValidArgs` using `ArgAliases`: + +```go +argAliases []string = { "pods", "nodes", "services", "svc", "replicationcontrollers", "rc" } + +cmd := &cobra.Command{ + ... + ValidArgs: validArgs, + ArgAliases: argAliases +} +``` + +The aliases are not shown to the user on tab completion, but they are accepted as valid nouns by +the completion algorithm if entered manually, e.g. in: + +```bash +# kubectl get rc [tab][tab] +backend frontend database +``` + +Note that without declaring `rc` as an alias, the completion algorithm would show the list of nouns +in this example again instead of the replication controllers. + +## Mark flags as required + +Most of the time completions will only show subcommands. But if a flag is required to make a subcommand work, you probably want it to show up when the user types [tab][tab]. Marking a flag as 'Required' is incredibly easy. + +```go +cmd.MarkFlagRequired("pod") +cmd.MarkFlagRequired("container") +``` + +and you'll get something like + +```bash +# kubectl exec [tab][tab][tab] +-c --container= -p --pod= +``` + +# Specify valid filename extensions for flags that take a filename + +In this example we use --filename= and expect to get a json or yaml file as the argument. To make this easier we annotate the --filename flag with valid filename extensions. + +```go + annotations := []string{"json", "yaml", "yml"} + annotation := make(map[string][]string) + annotation[cobra.BashCompFilenameExt] = annotations + + flag := &pflag.Flag{ + Name: "filename", + Shorthand: "f", + Usage: usage, + Value: value, + DefValue: value.String(), + Annotations: annotation, + } + cmd.Flags().AddFlag(flag) +``` + +Now when you run a command with this filename flag you'll get something like + +```bash +# kubectl create -f +test/ example/ rpmbuild/ +hello.yml test.json +``` + +So while there are many other files in the CWD it only shows me subdirs and those with valid extensions. + +# Specify custom flag completion + +Similar to the filename completion and filtering using cobra.BashCompFilenameExt, you can specify +a custom flag completion function with cobra.BashCompCustom: + +```go + annotation := make(map[string][]string) + annotation[cobra.BashCompCustom] = []string{"__kubectl_get_namespaces"} + + flag := &pflag.Flag{ + Name: "namespace", + Usage: usage, + Annotations: annotation, + } + cmd.Flags().AddFlag(flag) +``` + +In addition add the `__handle_namespace_flag` implementation in the `BashCompletionFunction` +value, e.g.: + +```bash +__kubectl_get_namespaces() +{ + local template + template="{{ range .items }}{{ .metadata.name }} {{ end }}" + local kubectl_out + if kubectl_out=$(kubectl get -o template --template="${template}" namespace 2>/dev/null); then + COMPREPLY=( $( compgen -W "${kubectl_out}[*]" -- "$cur" ) ) + fi +} +``` +# Using bash aliases for commands + +You can also configure the `bash aliases` for the commands and they will also support completions. + +```bash +alias aliasname=origcommand +complete -o default -F __start_origcommand aliasname + +# and now when you run `aliasname` completion will make +# suggestions as it did for `origcommand`. + +$) aliasname +completion firstcommand secondcommand +``` diff --git a/vendor/github.com/spf13/cobra/cobra.go b/vendor/github.com/spf13/cobra/cobra.go new file mode 100644 index 000000000..7010fd15b --- /dev/null +++ b/vendor/github.com/spf13/cobra/cobra.go @@ -0,0 +1,200 @@ +// Copyright © 2013 Steve Francia . +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Commands similar to git, go tools and other modern CLI tools +// inspired by go, go-Commander, gh and subcommand + +package cobra + +import ( + "fmt" + "io" + "reflect" + "strconv" + "strings" + "text/template" + "unicode" +) + +var templateFuncs = template.FuncMap{ + "trim": strings.TrimSpace, + "trimRightSpace": trimRightSpace, + "trimTrailingWhitespaces": trimRightSpace, + "appendIfNotPresent": appendIfNotPresent, + "rpad": rpad, + "gt": Gt, + "eq": Eq, +} + +var initializers []func() + +// EnablePrefixMatching allows to set automatic prefix matching. Automatic prefix matching can be a dangerous thing +// to automatically enable in CLI tools. +// Set this to true to enable it. +var EnablePrefixMatching = false + +// EnableCommandSorting controls sorting of the slice of commands, which is turned on by default. +// To disable sorting, set it to false. +var EnableCommandSorting = true + +// MousetrapHelpText enables an information splash screen on Windows +// if the CLI is started from explorer.exe. +// To disable the mousetrap, just set this variable to blank string (""). +// Works only on Microsoft Windows. +var MousetrapHelpText string = `This is a command line tool. + +You need to open cmd.exe and run it from there. +` + +// AddTemplateFunc adds a template function that's available to Usage and Help +// template generation. +func AddTemplateFunc(name string, tmplFunc interface{}) { + templateFuncs[name] = tmplFunc +} + +// AddTemplateFuncs adds multiple template functions that are available to Usage and +// Help template generation. +func AddTemplateFuncs(tmplFuncs template.FuncMap) { + for k, v := range tmplFuncs { + templateFuncs[k] = v + } +} + +// OnInitialize sets the passed functions to be run when each command's +// Execute method is called. +func OnInitialize(y ...func()) { + initializers = append(initializers, y...) +} + +// FIXME Gt is unused by cobra and should be removed in a version 2. It exists only for compatibility with users of cobra. + +// Gt takes two types and checks whether the first type is greater than the second. In case of types Arrays, Chans, +// Maps and Slices, Gt will compare their lengths. Ints are compared directly while strings are first parsed as +// ints and then compared. +func Gt(a interface{}, b interface{}) bool { + var left, right int64 + av := reflect.ValueOf(a) + + switch av.Kind() { + case reflect.Array, reflect.Chan, reflect.Map, reflect.Slice: + left = int64(av.Len()) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + left = av.Int() + case reflect.String: + left, _ = strconv.ParseInt(av.String(), 10, 64) + } + + bv := reflect.ValueOf(b) + + switch bv.Kind() { + case reflect.Array, reflect.Chan, reflect.Map, reflect.Slice: + right = int64(bv.Len()) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + right = bv.Int() + case reflect.String: + right, _ = strconv.ParseInt(bv.String(), 10, 64) + } + + return left > right +} + +// FIXME Eq is unused by cobra and should be removed in a version 2. It exists only for compatibility with users of cobra. + +// Eq takes two types and checks whether they are equal. Supported types are int and string. Unsupported types will panic. +func Eq(a interface{}, b interface{}) bool { + av := reflect.ValueOf(a) + bv := reflect.ValueOf(b) + + switch av.Kind() { + case reflect.Array, reflect.Chan, reflect.Map, reflect.Slice: + panic("Eq called on unsupported type") + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return av.Int() == bv.Int() + case reflect.String: + return av.String() == bv.String() + } + return false +} + +func trimRightSpace(s string) string { + return strings.TrimRightFunc(s, unicode.IsSpace) +} + +// FIXME appendIfNotPresent is unused by cobra and should be removed in a version 2. It exists only for compatibility with users of cobra. + +// appendIfNotPresent will append stringToAppend to the end of s, but only if it's not yet present in s. +func appendIfNotPresent(s, stringToAppend string) string { + if strings.Contains(s, stringToAppend) { + return s + } + return s + " " + stringToAppend +} + +// rpad adds padding to the right of a string. +func rpad(s string, padding int) string { + template := fmt.Sprintf("%%-%ds", padding) + return fmt.Sprintf(template, s) +} + +// tmpl executes the given template text on data, writing the result to w. +func tmpl(w io.Writer, text string, data interface{}) error { + t := template.New("top") + t.Funcs(templateFuncs) + template.Must(t.Parse(text)) + return t.Execute(w, data) +} + +// ld compares two strings and returns the levenshtein distance between them. +func ld(s, t string, ignoreCase bool) int { + if ignoreCase { + s = strings.ToLower(s) + t = strings.ToLower(t) + } + d := make([][]int, len(s)+1) + for i := range d { + d[i] = make([]int, len(t)+1) + } + for i := range d { + d[i][0] = i + } + for j := range d[0] { + d[0][j] = j + } + for j := 1; j <= len(t); j++ { + for i := 1; i <= len(s); i++ { + if s[i-1] == t[j-1] { + d[i][j] = d[i-1][j-1] + } else { + min := d[i-1][j] + if d[i][j-1] < min { + min = d[i][j-1] + } + if d[i-1][j-1] < min { + min = d[i-1][j-1] + } + d[i][j] = min + 1 + } + } + + } + return d[len(s)][len(t)] +} + +func stringInSlice(a string, list []string) bool { + for _, b := range list { + if b == a { + return true + } + } + return false +} diff --git a/vendor/github.com/spf13/cobra/command.go b/vendor/github.com/spf13/cobra/command.go new file mode 100644 index 000000000..34d1bf367 --- /dev/null +++ b/vendor/github.com/spf13/cobra/command.go @@ -0,0 +1,1517 @@ +// Copyright © 2013 Steve Francia . +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package cobra is a commander providing a simple interface to create powerful modern CLI interfaces. +// In addition to providing an interface, Cobra simultaneously provides a controller to organize your application code. +package cobra + +import ( + "bytes" + "fmt" + "io" + "os" + "path/filepath" + "sort" + "strings" + + flag "github.com/spf13/pflag" +) + +// FParseErrWhitelist configures Flag parse errors to be ignored +type FParseErrWhitelist flag.ParseErrorsWhitelist + +// Command is just that, a command for your application. +// E.g. 'go run ...' - 'run' is the command. Cobra requires +// you to define the usage and description as part of your command +// definition to ensure usability. +type Command struct { + // Use is the one-line usage message. + Use string + + // Aliases is an array of aliases that can be used instead of the first word in Use. + Aliases []string + + // SuggestFor is an array of command names for which this command will be suggested - + // similar to aliases but only suggests. + SuggestFor []string + + // Short is the short description shown in the 'help' output. + Short string + + // Long is the long message shown in the 'help ' output. + Long string + + // Example is examples of how to use the command. + Example string + + // ValidArgs is list of all valid non-flag arguments that are accepted in bash completions + ValidArgs []string + + // Expected arguments + Args PositionalArgs + + // ArgAliases is List of aliases for ValidArgs. + // These are not suggested to the user in the bash completion, + // but accepted if entered manually. + ArgAliases []string + + // BashCompletionFunction is custom functions used by the bash autocompletion generator. + BashCompletionFunction string + + // Deprecated defines, if this command is deprecated and should print this string when used. + Deprecated string + + // Hidden defines, if this command is hidden and should NOT show up in the list of available commands. + Hidden bool + + // Annotations are key/value pairs that can be used by applications to identify or + // group commands. + Annotations map[string]string + + // Version defines the version for this command. If this value is non-empty and the command does not + // define a "version" flag, a "version" boolean flag will be added to the command and, if specified, + // will print content of the "Version" variable. + Version string + + // The *Run functions are executed in the following order: + // * PersistentPreRun() + // * PreRun() + // * Run() + // * PostRun() + // * PersistentPostRun() + // All functions get the same args, the arguments after the command name. + // + // PersistentPreRun: children of this command will inherit and execute. + PersistentPreRun func(cmd *Command, args []string) + // PersistentPreRunE: PersistentPreRun but returns an error. + PersistentPreRunE func(cmd *Command, args []string) error + // PreRun: children of this command will not inherit. + PreRun func(cmd *Command, args []string) + // PreRunE: PreRun but returns an error. + PreRunE func(cmd *Command, args []string) error + // Run: Typically the actual work function. Most commands will only implement this. + Run func(cmd *Command, args []string) + // RunE: Run but returns an error. + RunE func(cmd *Command, args []string) error + // PostRun: run after the Run command. + PostRun func(cmd *Command, args []string) + // PostRunE: PostRun but returns an error. + PostRunE func(cmd *Command, args []string) error + // PersistentPostRun: children of this command will inherit and execute after PostRun. + PersistentPostRun func(cmd *Command, args []string) + // PersistentPostRunE: PersistentPostRun but returns an error. + PersistentPostRunE func(cmd *Command, args []string) error + + // SilenceErrors is an option to quiet errors down stream. + SilenceErrors bool + + // SilenceUsage is an option to silence usage when an error occurs. + SilenceUsage bool + + // DisableFlagParsing disables the flag parsing. + // If this is true all flags will be passed to the command as arguments. + DisableFlagParsing bool + + // DisableAutoGenTag defines, if gen tag ("Auto generated by spf13/cobra...") + // will be printed by generating docs for this command. + DisableAutoGenTag bool + + // DisableFlagsInUseLine will disable the addition of [flags] to the usage + // line of a command when printing help or generating docs + DisableFlagsInUseLine bool + + // DisableSuggestions disables the suggestions based on Levenshtein distance + // that go along with 'unknown command' messages. + DisableSuggestions bool + // SuggestionsMinimumDistance defines minimum levenshtein distance to display suggestions. + // Must be > 0. + SuggestionsMinimumDistance int + + // TraverseChildren parses flags on all parents before executing child command. + TraverseChildren bool + + //FParseErrWhitelist flag parse errors to be ignored + FParseErrWhitelist FParseErrWhitelist + + // commands is the list of commands supported by this program. + commands []*Command + // parent is a parent command for this command. + parent *Command + // Max lengths of commands' string lengths for use in padding. + commandsMaxUseLen int + commandsMaxCommandPathLen int + commandsMaxNameLen int + // commandsAreSorted defines, if command slice are sorted or not. + commandsAreSorted bool + // commandCalledAs is the name or alias value used to call this command. + commandCalledAs struct { + name string + called bool + } + + // args is actual args parsed from flags. + args []string + // flagErrorBuf contains all error messages from pflag. + flagErrorBuf *bytes.Buffer + // flags is full set of flags. + flags *flag.FlagSet + // pflags contains persistent flags. + pflags *flag.FlagSet + // lflags contains local flags. + lflags *flag.FlagSet + // iflags contains inherited flags. + iflags *flag.FlagSet + // parentsPflags is all persistent flags of cmd's parents. + parentsPflags *flag.FlagSet + // globNormFunc is the global normalization function + // that we can use on every pflag set and children commands + globNormFunc func(f *flag.FlagSet, name string) flag.NormalizedName + + // output is an output writer defined by user. + output io.Writer + // usageFunc is usage func defined by user. + usageFunc func(*Command) error + // usageTemplate is usage template defined by user. + usageTemplate string + // flagErrorFunc is func defined by user and it's called when the parsing of + // flags returns an error. + flagErrorFunc func(*Command, error) error + // helpTemplate is help template defined by user. + helpTemplate string + // helpFunc is help func defined by user. + helpFunc func(*Command, []string) + // helpCommand is command with usage 'help'. If it's not defined by user, + // cobra uses default help command. + helpCommand *Command + // versionTemplate is the version template defined by user. + versionTemplate string +} + +// SetArgs sets arguments for the command. It is set to os.Args[1:] by default, if desired, can be overridden +// particularly useful when testing. +func (c *Command) SetArgs(a []string) { + c.args = a +} + +// SetOutput sets the destination for usage and error messages. +// If output is nil, os.Stderr is used. +func (c *Command) SetOutput(output io.Writer) { + c.output = output +} + +// SetUsageFunc sets usage function. Usage can be defined by application. +func (c *Command) SetUsageFunc(f func(*Command) error) { + c.usageFunc = f +} + +// SetUsageTemplate sets usage template. Can be defined by Application. +func (c *Command) SetUsageTemplate(s string) { + c.usageTemplate = s +} + +// SetFlagErrorFunc sets a function to generate an error when flag parsing +// fails. +func (c *Command) SetFlagErrorFunc(f func(*Command, error) error) { + c.flagErrorFunc = f +} + +// SetHelpFunc sets help function. Can be defined by Application. +func (c *Command) SetHelpFunc(f func(*Command, []string)) { + c.helpFunc = f +} + +// SetHelpCommand sets help command. +func (c *Command) SetHelpCommand(cmd *Command) { + c.helpCommand = cmd +} + +// SetHelpTemplate sets help template to be used. Application can use it to set custom template. +func (c *Command) SetHelpTemplate(s string) { + c.helpTemplate = s +} + +// SetVersionTemplate sets version template to be used. Application can use it to set custom template. +func (c *Command) SetVersionTemplate(s string) { + c.versionTemplate = s +} + +// SetGlobalNormalizationFunc sets a normalization function to all flag sets and also to child commands. +// The user should not have a cyclic dependency on commands. +func (c *Command) SetGlobalNormalizationFunc(n func(f *flag.FlagSet, name string) flag.NormalizedName) { + c.Flags().SetNormalizeFunc(n) + c.PersistentFlags().SetNormalizeFunc(n) + c.globNormFunc = n + + for _, command := range c.commands { + command.SetGlobalNormalizationFunc(n) + } +} + +// OutOrStdout returns output to stdout. +func (c *Command) OutOrStdout() io.Writer { + return c.getOut(os.Stdout) +} + +// OutOrStderr returns output to stderr +func (c *Command) OutOrStderr() io.Writer { + return c.getOut(os.Stderr) +} + +func (c *Command) getOut(def io.Writer) io.Writer { + if c.output != nil { + return c.output + } + if c.HasParent() { + return c.parent.getOut(def) + } + return def +} + +// UsageFunc returns either the function set by SetUsageFunc for this command +// or a parent, or it returns a default usage function. +func (c *Command) UsageFunc() (f func(*Command) error) { + if c.usageFunc != nil { + return c.usageFunc + } + if c.HasParent() { + return c.Parent().UsageFunc() + } + return func(c *Command) error { + c.mergePersistentFlags() + err := tmpl(c.OutOrStderr(), c.UsageTemplate(), c) + if err != nil { + c.Println(err) + } + return err + } +} + +// Usage puts out the usage for the command. +// Used when a user provides invalid input. +// Can be defined by user by overriding UsageFunc. +func (c *Command) Usage() error { + return c.UsageFunc()(c) +} + +// HelpFunc returns either the function set by SetHelpFunc for this command +// or a parent, or it returns a function with default help behavior. +func (c *Command) HelpFunc() func(*Command, []string) { + if c.helpFunc != nil { + return c.helpFunc + } + if c.HasParent() { + return c.Parent().HelpFunc() + } + return func(c *Command, a []string) { + c.mergePersistentFlags() + err := tmpl(c.OutOrStdout(), c.HelpTemplate(), c) + if err != nil { + c.Println(err) + } + } +} + +// Help puts out the help for the command. +// Used when a user calls help [command]. +// Can be defined by user by overriding HelpFunc. +func (c *Command) Help() error { + c.HelpFunc()(c, []string{}) + return nil +} + +// UsageString return usage string. +func (c *Command) UsageString() string { + tmpOutput := c.output + bb := new(bytes.Buffer) + c.SetOutput(bb) + c.Usage() + c.output = tmpOutput + return bb.String() +} + +// FlagErrorFunc returns either the function set by SetFlagErrorFunc for this +// command or a parent, or it returns a function which returns the original +// error. +func (c *Command) FlagErrorFunc() (f func(*Command, error) error) { + if c.flagErrorFunc != nil { + return c.flagErrorFunc + } + + if c.HasParent() { + return c.parent.FlagErrorFunc() + } + return func(c *Command, err error) error { + return err + } +} + +var minUsagePadding = 25 + +// UsagePadding return padding for the usage. +func (c *Command) UsagePadding() int { + if c.parent == nil || minUsagePadding > c.parent.commandsMaxUseLen { + return minUsagePadding + } + return c.parent.commandsMaxUseLen +} + +var minCommandPathPadding = 11 + +// CommandPathPadding return padding for the command path. +func (c *Command) CommandPathPadding() int { + if c.parent == nil || minCommandPathPadding > c.parent.commandsMaxCommandPathLen { + return minCommandPathPadding + } + return c.parent.commandsMaxCommandPathLen +} + +var minNamePadding = 11 + +// NamePadding returns padding for the name. +func (c *Command) NamePadding() int { + if c.parent == nil || minNamePadding > c.parent.commandsMaxNameLen { + return minNamePadding + } + return c.parent.commandsMaxNameLen +} + +// UsageTemplate returns usage template for the command. +func (c *Command) UsageTemplate() string { + if c.usageTemplate != "" { + return c.usageTemplate + } + + if c.HasParent() { + return c.parent.UsageTemplate() + } + return `Usage:{{if .Runnable}} + {{.UseLine}}{{end}}{{if .HasAvailableSubCommands}} + {{.CommandPath}} [command]{{end}}{{if gt (len .Aliases) 0}} + +Aliases: + {{.NameAndAliases}}{{end}}{{if .HasExample}} + +Examples: +{{.Example}}{{end}}{{if .HasAvailableSubCommands}} + +Available Commands:{{range .Commands}}{{if (or .IsAvailableCommand (eq .Name "help"))}} + {{rpad .Name .NamePadding }} {{.Short}}{{end}}{{end}}{{end}}{{if .HasAvailableLocalFlags}} + +Flags: +{{.LocalFlags.FlagUsages | trimTrailingWhitespaces}}{{end}}{{if .HasAvailableInheritedFlags}} + +Global Flags: +{{.InheritedFlags.FlagUsages | trimTrailingWhitespaces}}{{end}}{{if .HasHelpSubCommands}} + +Additional help topics:{{range .Commands}}{{if .IsAdditionalHelpTopicCommand}} + {{rpad .CommandPath .CommandPathPadding}} {{.Short}}{{end}}{{end}}{{end}}{{if .HasAvailableSubCommands}} + +Use "{{.CommandPath}} [command] --help" for more information about a command.{{end}} +` +} + +// HelpTemplate return help template for the command. +func (c *Command) HelpTemplate() string { + if c.helpTemplate != "" { + return c.helpTemplate + } + + if c.HasParent() { + return c.parent.HelpTemplate() + } + return `{{with (or .Long .Short)}}{{. | trimTrailingWhitespaces}} + +{{end}}{{if or .Runnable .HasSubCommands}}{{.UsageString}}{{end}}` +} + +// VersionTemplate return version template for the command. +func (c *Command) VersionTemplate() string { + if c.versionTemplate != "" { + return c.versionTemplate + } + + if c.HasParent() { + return c.parent.VersionTemplate() + } + return `{{with .Name}}{{printf "%s " .}}{{end}}{{printf "version %s" .Version}} +` +} + +func hasNoOptDefVal(name string, fs *flag.FlagSet) bool { + flag := fs.Lookup(name) + if flag == nil { + return false + } + return flag.NoOptDefVal != "" +} + +func shortHasNoOptDefVal(name string, fs *flag.FlagSet) bool { + if len(name) == 0 { + return false + } + + flag := fs.ShorthandLookup(name[:1]) + if flag == nil { + return false + } + return flag.NoOptDefVal != "" +} + +func stripFlags(args []string, c *Command) []string { + if len(args) == 0 { + return args + } + c.mergePersistentFlags() + + commands := []string{} + flags := c.Flags() + +Loop: + for len(args) > 0 { + s := args[0] + args = args[1:] + switch { + case s == "--": + // "--" terminates the flags + break Loop + case strings.HasPrefix(s, "--") && !strings.Contains(s, "=") && !hasNoOptDefVal(s[2:], flags): + // If '--flag arg' then + // delete arg from args. + fallthrough // (do the same as below) + case strings.HasPrefix(s, "-") && !strings.Contains(s, "=") && len(s) == 2 && !shortHasNoOptDefVal(s[1:], flags): + // If '-f arg' then + // delete 'arg' from args or break the loop if len(args) <= 1. + if len(args) <= 1 { + break Loop + } else { + args = args[1:] + continue + } + case s != "" && !strings.HasPrefix(s, "-"): + commands = append(commands, s) + } + } + + return commands +} + +// argsMinusFirstX removes only the first x from args. Otherwise, commands that look like +// openshift admin policy add-role-to-user admin my-user, lose the admin argument (arg[4]). +func argsMinusFirstX(args []string, x string) []string { + for i, y := range args { + if x == y { + ret := []string{} + ret = append(ret, args[:i]...) + ret = append(ret, args[i+1:]...) + return ret + } + } + return args +} + +func isFlagArg(arg string) bool { + return ((len(arg) >= 3 && arg[1] == '-') || + (len(arg) >= 2 && arg[0] == '-' && arg[1] != '-')) +} + +// Find the target command given the args and command tree +// Meant to be run on the highest node. Only searches down. +func (c *Command) Find(args []string) (*Command, []string, error) { + var innerfind func(*Command, []string) (*Command, []string) + + innerfind = func(c *Command, innerArgs []string) (*Command, []string) { + argsWOflags := stripFlags(innerArgs, c) + if len(argsWOflags) == 0 { + return c, innerArgs + } + nextSubCmd := argsWOflags[0] + + cmd := c.findNext(nextSubCmd) + if cmd != nil { + return innerfind(cmd, argsMinusFirstX(innerArgs, nextSubCmd)) + } + return c, innerArgs + } + + commandFound, a := innerfind(c, args) + if commandFound.Args == nil { + return commandFound, a, legacyArgs(commandFound, stripFlags(a, commandFound)) + } + return commandFound, a, nil +} + +func (c *Command) findSuggestions(arg string) string { + if c.DisableSuggestions { + return "" + } + if c.SuggestionsMinimumDistance <= 0 { + c.SuggestionsMinimumDistance = 2 + } + suggestionsString := "" + if suggestions := c.SuggestionsFor(arg); len(suggestions) > 0 { + suggestionsString += "\n\nDid you mean this?\n" + for _, s := range suggestions { + suggestionsString += fmt.Sprintf("\t%v\n", s) + } + } + return suggestionsString +} + +func (c *Command) findNext(next string) *Command { + matches := make([]*Command, 0) + for _, cmd := range c.commands { + if cmd.Name() == next || cmd.HasAlias(next) { + cmd.commandCalledAs.name = next + return cmd + } + if EnablePrefixMatching && cmd.hasNameOrAliasPrefix(next) { + matches = append(matches, cmd) + } + } + + if len(matches) == 1 { + return matches[0] + } + + return nil +} + +// Traverse the command tree to find the command, and parse args for +// each parent. +func (c *Command) Traverse(args []string) (*Command, []string, error) { + flags := []string{} + inFlag := false + + for i, arg := range args { + switch { + // A long flag with a space separated value + case strings.HasPrefix(arg, "--") && !strings.Contains(arg, "="): + // TODO: this isn't quite right, we should really check ahead for 'true' or 'false' + inFlag = !hasNoOptDefVal(arg[2:], c.Flags()) + flags = append(flags, arg) + continue + // A short flag with a space separated value + case strings.HasPrefix(arg, "-") && !strings.Contains(arg, "=") && len(arg) == 2 && !shortHasNoOptDefVal(arg[1:], c.Flags()): + inFlag = true + flags = append(flags, arg) + continue + // The value for a flag + case inFlag: + inFlag = false + flags = append(flags, arg) + continue + // A flag without a value, or with an `=` separated value + case isFlagArg(arg): + flags = append(flags, arg) + continue + } + + cmd := c.findNext(arg) + if cmd == nil { + return c, args, nil + } + + if err := c.ParseFlags(flags); err != nil { + return nil, args, err + } + return cmd.Traverse(args[i+1:]) + } + return c, args, nil +} + +// SuggestionsFor provides suggestions for the typedName. +func (c *Command) SuggestionsFor(typedName string) []string { + suggestions := []string{} + for _, cmd := range c.commands { + if cmd.IsAvailableCommand() { + levenshteinDistance := ld(typedName, cmd.Name(), true) + suggestByLevenshtein := levenshteinDistance <= c.SuggestionsMinimumDistance + suggestByPrefix := strings.HasPrefix(strings.ToLower(cmd.Name()), strings.ToLower(typedName)) + if suggestByLevenshtein || suggestByPrefix { + suggestions = append(suggestions, cmd.Name()) + } + for _, explicitSuggestion := range cmd.SuggestFor { + if strings.EqualFold(typedName, explicitSuggestion) { + suggestions = append(suggestions, cmd.Name()) + } + } + } + } + return suggestions +} + +// VisitParents visits all parents of the command and invokes fn on each parent. +func (c *Command) VisitParents(fn func(*Command)) { + if c.HasParent() { + fn(c.Parent()) + c.Parent().VisitParents(fn) + } +} + +// Root finds root command. +func (c *Command) Root() *Command { + if c.HasParent() { + return c.Parent().Root() + } + return c +} + +// ArgsLenAtDash will return the length of c.Flags().Args at the moment +// when a -- was found during args parsing. +func (c *Command) ArgsLenAtDash() int { + return c.Flags().ArgsLenAtDash() +} + +func (c *Command) execute(a []string) (err error) { + if c == nil { + return fmt.Errorf("Called Execute() on a nil Command") + } + + if len(c.Deprecated) > 0 { + c.Printf("Command %q is deprecated, %s\n", c.Name(), c.Deprecated) + } + + // initialize help and version flag at the last point possible to allow for user + // overriding + c.InitDefaultHelpFlag() + c.InitDefaultVersionFlag() + + err = c.ParseFlags(a) + if err != nil { + return c.FlagErrorFunc()(c, err) + } + + // If help is called, regardless of other flags, return we want help. + // Also say we need help if the command isn't runnable. + helpVal, err := c.Flags().GetBool("help") + if err != nil { + // should be impossible to get here as we always declare a help + // flag in InitDefaultHelpFlag() + c.Println("\"help\" flag declared as non-bool. Please correct your code") + return err + } + + if helpVal { + return flag.ErrHelp + } + + // for back-compat, only add version flag behavior if version is defined + if c.Version != "" { + versionVal, err := c.Flags().GetBool("version") + if err != nil { + c.Println("\"version\" flag declared as non-bool. Please correct your code") + return err + } + if versionVal { + err := tmpl(c.OutOrStdout(), c.VersionTemplate(), c) + if err != nil { + c.Println(err) + } + return err + } + } + + if !c.Runnable() { + return flag.ErrHelp + } + + c.preRun() + + argWoFlags := c.Flags().Args() + if c.DisableFlagParsing { + argWoFlags = a + } + + if err := c.ValidateArgs(argWoFlags); err != nil { + return err + } + + for p := c; p != nil; p = p.Parent() { + if p.PersistentPreRunE != nil { + if err := p.PersistentPreRunE(c, argWoFlags); err != nil { + return err + } + break + } else if p.PersistentPreRun != nil { + p.PersistentPreRun(c, argWoFlags) + break + } + } + if c.PreRunE != nil { + if err := c.PreRunE(c, argWoFlags); err != nil { + return err + } + } else if c.PreRun != nil { + c.PreRun(c, argWoFlags) + } + + if err := c.validateRequiredFlags(); err != nil { + return err + } + if c.RunE != nil { + if err := c.RunE(c, argWoFlags); err != nil { + return err + } + } else { + c.Run(c, argWoFlags) + } + if c.PostRunE != nil { + if err := c.PostRunE(c, argWoFlags); err != nil { + return err + } + } else if c.PostRun != nil { + c.PostRun(c, argWoFlags) + } + for p := c; p != nil; p = p.Parent() { + if p.PersistentPostRunE != nil { + if err := p.PersistentPostRunE(c, argWoFlags); err != nil { + return err + } + break + } else if p.PersistentPostRun != nil { + p.PersistentPostRun(c, argWoFlags) + break + } + } + + return nil +} + +func (c *Command) preRun() { + for _, x := range initializers { + x() + } +} + +// Execute uses the args (os.Args[1:] by default) +// and run through the command tree finding appropriate matches +// for commands and then corresponding flags. +func (c *Command) Execute() error { + _, err := c.ExecuteC() + return err +} + +// ExecuteC executes the command. +func (c *Command) ExecuteC() (cmd *Command, err error) { + // Regardless of what command execute is called on, run on Root only + if c.HasParent() { + return c.Root().ExecuteC() + } + + // windows hook + if preExecHookFn != nil { + preExecHookFn(c) + } + + // initialize help as the last point possible to allow for user + // overriding + c.InitDefaultHelpCmd() + + var args []string + + // Workaround FAIL with "go test -v" or "cobra.test -test.v", see #155 + if c.args == nil && filepath.Base(os.Args[0]) != "cobra.test" { + args = os.Args[1:] + } else { + args = c.args + } + + var flags []string + if c.TraverseChildren { + cmd, flags, err = c.Traverse(args) + } else { + cmd, flags, err = c.Find(args) + } + if err != nil { + // If found parse to a subcommand and then failed, talk about the subcommand + if cmd != nil { + c = cmd + } + if !c.SilenceErrors { + c.Println("Error:", err.Error()) + c.Printf("Run '%v --help' for usage.\n", c.CommandPath()) + } + return c, err + } + + cmd.commandCalledAs.called = true + if cmd.commandCalledAs.name == "" { + cmd.commandCalledAs.name = cmd.Name() + } + + err = cmd.execute(flags) + if err != nil { + // Always show help if requested, even if SilenceErrors is in + // effect + if err == flag.ErrHelp { + cmd.HelpFunc()(cmd, args) + return cmd, nil + } + + // If root command has SilentErrors flagged, + // all subcommands should respect it + if !cmd.SilenceErrors && !c.SilenceErrors { + c.Println("Error:", err.Error()) + } + + // If root command has SilentUsage flagged, + // all subcommands should respect it + if !cmd.SilenceUsage && !c.SilenceUsage { + c.Println(cmd.UsageString()) + } + } + return cmd, err +} + +func (c *Command) ValidateArgs(args []string) error { + if c.Args == nil { + return nil + } + return c.Args(c, args) +} + +func (c *Command) validateRequiredFlags() error { + flags := c.Flags() + missingFlagNames := []string{} + flags.VisitAll(func(pflag *flag.Flag) { + requiredAnnotation, found := pflag.Annotations[BashCompOneRequiredFlag] + if !found { + return + } + if (requiredAnnotation[0] == "true") && !pflag.Changed { + missingFlagNames = append(missingFlagNames, pflag.Name) + } + }) + + if len(missingFlagNames) > 0 { + return fmt.Errorf(`required flag(s) "%s" not set`, strings.Join(missingFlagNames, `", "`)) + } + return nil +} + +// InitDefaultHelpFlag adds default help flag to c. +// It is called automatically by executing the c or by calling help and usage. +// If c already has help flag, it will do nothing. +func (c *Command) InitDefaultHelpFlag() { + c.mergePersistentFlags() + if c.Flags().Lookup("help") == nil { + usage := "help for " + if c.Name() == "" { + usage += "this command" + } else { + usage += c.Name() + } + c.Flags().BoolP("help", "h", false, usage) + } +} + +// InitDefaultVersionFlag adds default version flag to c. +// It is called automatically by executing the c. +// If c already has a version flag, it will do nothing. +// If c.Version is empty, it will do nothing. +func (c *Command) InitDefaultVersionFlag() { + if c.Version == "" { + return + } + + c.mergePersistentFlags() + if c.Flags().Lookup("version") == nil { + usage := "version for " + if c.Name() == "" { + usage += "this command" + } else { + usage += c.Name() + } + c.Flags().Bool("version", false, usage) + } +} + +// InitDefaultHelpCmd adds default help command to c. +// It is called automatically by executing the c or by calling help and usage. +// If c already has help command or c has no subcommands, it will do nothing. +func (c *Command) InitDefaultHelpCmd() { + if !c.HasSubCommands() { + return + } + + if c.helpCommand == nil { + c.helpCommand = &Command{ + Use: "help [command]", + Short: "Help about any command", + Long: `Help provides help for any command in the application. +Simply type ` + c.Name() + ` help [path to command] for full details.`, + + Run: func(c *Command, args []string) { + cmd, _, e := c.Root().Find(args) + if cmd == nil || e != nil { + c.Printf("Unknown help topic %#q\n", args) + c.Root().Usage() + } else { + cmd.InitDefaultHelpFlag() // make possible 'help' flag to be shown + cmd.Help() + } + }, + } + } + c.RemoveCommand(c.helpCommand) + c.AddCommand(c.helpCommand) +} + +// ResetCommands delete parent, subcommand and help command from c. +func (c *Command) ResetCommands() { + c.parent = nil + c.commands = nil + c.helpCommand = nil + c.parentsPflags = nil +} + +// Sorts commands by their names. +type commandSorterByName []*Command + +func (c commandSorterByName) Len() int { return len(c) } +func (c commandSorterByName) Swap(i, j int) { c[i], c[j] = c[j], c[i] } +func (c commandSorterByName) Less(i, j int) bool { return c[i].Name() < c[j].Name() } + +// Commands returns a sorted slice of child commands. +func (c *Command) Commands() []*Command { + // do not sort commands if it already sorted or sorting was disabled + if EnableCommandSorting && !c.commandsAreSorted { + sort.Sort(commandSorterByName(c.commands)) + c.commandsAreSorted = true + } + return c.commands +} + +// AddCommand adds one or more commands to this parent command. +func (c *Command) AddCommand(cmds ...*Command) { + for i, x := range cmds { + if cmds[i] == c { + panic("Command can't be a child of itself") + } + cmds[i].parent = c + // update max lengths + usageLen := len(x.Use) + if usageLen > c.commandsMaxUseLen { + c.commandsMaxUseLen = usageLen + } + commandPathLen := len(x.CommandPath()) + if commandPathLen > c.commandsMaxCommandPathLen { + c.commandsMaxCommandPathLen = commandPathLen + } + nameLen := len(x.Name()) + if nameLen > c.commandsMaxNameLen { + c.commandsMaxNameLen = nameLen + } + // If global normalization function exists, update all children + if c.globNormFunc != nil { + x.SetGlobalNormalizationFunc(c.globNormFunc) + } + c.commands = append(c.commands, x) + c.commandsAreSorted = false + } +} + +// RemoveCommand removes one or more commands from a parent command. +func (c *Command) RemoveCommand(cmds ...*Command) { + commands := []*Command{} +main: + for _, command := range c.commands { + for _, cmd := range cmds { + if command == cmd { + command.parent = nil + continue main + } + } + commands = append(commands, command) + } + c.commands = commands + // recompute all lengths + c.commandsMaxUseLen = 0 + c.commandsMaxCommandPathLen = 0 + c.commandsMaxNameLen = 0 + for _, command := range c.commands { + usageLen := len(command.Use) + if usageLen > c.commandsMaxUseLen { + c.commandsMaxUseLen = usageLen + } + commandPathLen := len(command.CommandPath()) + if commandPathLen > c.commandsMaxCommandPathLen { + c.commandsMaxCommandPathLen = commandPathLen + } + nameLen := len(command.Name()) + if nameLen > c.commandsMaxNameLen { + c.commandsMaxNameLen = nameLen + } + } +} + +// Print is a convenience method to Print to the defined output, fallback to Stderr if not set. +func (c *Command) Print(i ...interface{}) { + fmt.Fprint(c.OutOrStderr(), i...) +} + +// Println is a convenience method to Println to the defined output, fallback to Stderr if not set. +func (c *Command) Println(i ...interface{}) { + c.Print(fmt.Sprintln(i...)) +} + +// Printf is a convenience method to Printf to the defined output, fallback to Stderr if not set. +func (c *Command) Printf(format string, i ...interface{}) { + c.Print(fmt.Sprintf(format, i...)) +} + +// CommandPath returns the full path to this command. +func (c *Command) CommandPath() string { + if c.HasParent() { + return c.Parent().CommandPath() + " " + c.Name() + } + return c.Name() +} + +// UseLine puts out the full usage for a given command (including parents). +func (c *Command) UseLine() string { + var useline string + if c.HasParent() { + useline = c.parent.CommandPath() + " " + c.Use + } else { + useline = c.Use + } + if c.DisableFlagsInUseLine { + return useline + } + if c.HasAvailableFlags() && !strings.Contains(useline, "[flags]") { + useline += " [flags]" + } + return useline +} + +// DebugFlags used to determine which flags have been assigned to which commands +// and which persist. +func (c *Command) DebugFlags() { + c.Println("DebugFlags called on", c.Name()) + var debugflags func(*Command) + + debugflags = func(x *Command) { + if x.HasFlags() || x.HasPersistentFlags() { + c.Println(x.Name()) + } + if x.HasFlags() { + x.flags.VisitAll(func(f *flag.Flag) { + if x.HasPersistentFlags() && x.persistentFlag(f.Name) != nil { + c.Println(" -"+f.Shorthand+",", "--"+f.Name, "["+f.DefValue+"]", "", f.Value, " [LP]") + } else { + c.Println(" -"+f.Shorthand+",", "--"+f.Name, "["+f.DefValue+"]", "", f.Value, " [L]") + } + }) + } + if x.HasPersistentFlags() { + x.pflags.VisitAll(func(f *flag.Flag) { + if x.HasFlags() { + if x.flags.Lookup(f.Name) == nil { + c.Println(" -"+f.Shorthand+",", "--"+f.Name, "["+f.DefValue+"]", "", f.Value, " [P]") + } + } else { + c.Println(" -"+f.Shorthand+",", "--"+f.Name, "["+f.DefValue+"]", "", f.Value, " [P]") + } + }) + } + c.Println(x.flagErrorBuf) + if x.HasSubCommands() { + for _, y := range x.commands { + debugflags(y) + } + } + } + + debugflags(c) +} + +// Name returns the command's name: the first word in the use line. +func (c *Command) Name() string { + name := c.Use + i := strings.Index(name, " ") + if i >= 0 { + name = name[:i] + } + return name +} + +// HasAlias determines if a given string is an alias of the command. +func (c *Command) HasAlias(s string) bool { + for _, a := range c.Aliases { + if a == s { + return true + } + } + return false +} + +// CalledAs returns the command name or alias that was used to invoke +// this command or an empty string if the command has not been called. +func (c *Command) CalledAs() string { + if c.commandCalledAs.called { + return c.commandCalledAs.name + } + return "" +} + +// hasNameOrAliasPrefix returns true if the Name or any of aliases start +// with prefix +func (c *Command) hasNameOrAliasPrefix(prefix string) bool { + if strings.HasPrefix(c.Name(), prefix) { + c.commandCalledAs.name = c.Name() + return true + } + for _, alias := range c.Aliases { + if strings.HasPrefix(alias, prefix) { + c.commandCalledAs.name = alias + return true + } + } + return false +} + +// NameAndAliases returns a list of the command name and all aliases +func (c *Command) NameAndAliases() string { + return strings.Join(append([]string{c.Name()}, c.Aliases...), ", ") +} + +// HasExample determines if the command has example. +func (c *Command) HasExample() bool { + return len(c.Example) > 0 +} + +// Runnable determines if the command is itself runnable. +func (c *Command) Runnable() bool { + return c.Run != nil || c.RunE != nil +} + +// HasSubCommands determines if the command has children commands. +func (c *Command) HasSubCommands() bool { + return len(c.commands) > 0 +} + +// IsAvailableCommand determines if a command is available as a non-help command +// (this includes all non deprecated/hidden commands). +func (c *Command) IsAvailableCommand() bool { + if len(c.Deprecated) != 0 || c.Hidden { + return false + } + + if c.HasParent() && c.Parent().helpCommand == c { + return false + } + + if c.Runnable() || c.HasAvailableSubCommands() { + return true + } + + return false +} + +// IsAdditionalHelpTopicCommand determines if a command is an additional +// help topic command; additional help topic command is determined by the +// fact that it is NOT runnable/hidden/deprecated, and has no sub commands that +// are runnable/hidden/deprecated. +// Concrete example: https://github.com/spf13/cobra/issues/393#issuecomment-282741924. +func (c *Command) IsAdditionalHelpTopicCommand() bool { + // if a command is runnable, deprecated, or hidden it is not a 'help' command + if c.Runnable() || len(c.Deprecated) != 0 || c.Hidden { + return false + } + + // if any non-help sub commands are found, the command is not a 'help' command + for _, sub := range c.commands { + if !sub.IsAdditionalHelpTopicCommand() { + return false + } + } + + // the command either has no sub commands, or no non-help sub commands + return true +} + +// HasHelpSubCommands determines if a command has any available 'help' sub commands +// that need to be shown in the usage/help default template under 'additional help +// topics'. +func (c *Command) HasHelpSubCommands() bool { + // return true on the first found available 'help' sub command + for _, sub := range c.commands { + if sub.IsAdditionalHelpTopicCommand() { + return true + } + } + + // the command either has no sub commands, or no available 'help' sub commands + return false +} + +// HasAvailableSubCommands determines if a command has available sub commands that +// need to be shown in the usage/help default template under 'available commands'. +func (c *Command) HasAvailableSubCommands() bool { + // return true on the first found available (non deprecated/help/hidden) + // sub command + for _, sub := range c.commands { + if sub.IsAvailableCommand() { + return true + } + } + + // the command either has no sub commands, or no available (non deprecated/help/hidden) + // sub commands + return false +} + +// HasParent determines if the command is a child command. +func (c *Command) HasParent() bool { + return c.parent != nil +} + +// GlobalNormalizationFunc returns the global normalization function or nil if it doesn't exist. +func (c *Command) GlobalNormalizationFunc() func(f *flag.FlagSet, name string) flag.NormalizedName { + return c.globNormFunc +} + +// Flags returns the complete FlagSet that applies +// to this command (local and persistent declared here and by all parents). +func (c *Command) Flags() *flag.FlagSet { + if c.flags == nil { + c.flags = flag.NewFlagSet(c.Name(), flag.ContinueOnError) + if c.flagErrorBuf == nil { + c.flagErrorBuf = new(bytes.Buffer) + } + c.flags.SetOutput(c.flagErrorBuf) + } + + return c.flags +} + +// LocalNonPersistentFlags are flags specific to this command which will NOT persist to subcommands. +func (c *Command) LocalNonPersistentFlags() *flag.FlagSet { + persistentFlags := c.PersistentFlags() + + out := flag.NewFlagSet(c.Name(), flag.ContinueOnError) + c.LocalFlags().VisitAll(func(f *flag.Flag) { + if persistentFlags.Lookup(f.Name) == nil { + out.AddFlag(f) + } + }) + return out +} + +// LocalFlags returns the local FlagSet specifically set in the current command. +func (c *Command) LocalFlags() *flag.FlagSet { + c.mergePersistentFlags() + + if c.lflags == nil { + c.lflags = flag.NewFlagSet(c.Name(), flag.ContinueOnError) + if c.flagErrorBuf == nil { + c.flagErrorBuf = new(bytes.Buffer) + } + c.lflags.SetOutput(c.flagErrorBuf) + } + c.lflags.SortFlags = c.Flags().SortFlags + if c.globNormFunc != nil { + c.lflags.SetNormalizeFunc(c.globNormFunc) + } + + addToLocal := func(f *flag.Flag) { + if c.lflags.Lookup(f.Name) == nil && c.parentsPflags.Lookup(f.Name) == nil { + c.lflags.AddFlag(f) + } + } + c.Flags().VisitAll(addToLocal) + c.PersistentFlags().VisitAll(addToLocal) + return c.lflags +} + +// InheritedFlags returns all flags which were inherited from parents commands. +func (c *Command) InheritedFlags() *flag.FlagSet { + c.mergePersistentFlags() + + if c.iflags == nil { + c.iflags = flag.NewFlagSet(c.Name(), flag.ContinueOnError) + if c.flagErrorBuf == nil { + c.flagErrorBuf = new(bytes.Buffer) + } + c.iflags.SetOutput(c.flagErrorBuf) + } + + local := c.LocalFlags() + if c.globNormFunc != nil { + c.iflags.SetNormalizeFunc(c.globNormFunc) + } + + c.parentsPflags.VisitAll(func(f *flag.Flag) { + if c.iflags.Lookup(f.Name) == nil && local.Lookup(f.Name) == nil { + c.iflags.AddFlag(f) + } + }) + return c.iflags +} + +// NonInheritedFlags returns all flags which were not inherited from parent commands. +func (c *Command) NonInheritedFlags() *flag.FlagSet { + return c.LocalFlags() +} + +// PersistentFlags returns the persistent FlagSet specifically set in the current command. +func (c *Command) PersistentFlags() *flag.FlagSet { + if c.pflags == nil { + c.pflags = flag.NewFlagSet(c.Name(), flag.ContinueOnError) + if c.flagErrorBuf == nil { + c.flagErrorBuf = new(bytes.Buffer) + } + c.pflags.SetOutput(c.flagErrorBuf) + } + return c.pflags +} + +// ResetFlags deletes all flags from command. +func (c *Command) ResetFlags() { + c.flagErrorBuf = new(bytes.Buffer) + c.flagErrorBuf.Reset() + c.flags = flag.NewFlagSet(c.Name(), flag.ContinueOnError) + c.flags.SetOutput(c.flagErrorBuf) + c.pflags = flag.NewFlagSet(c.Name(), flag.ContinueOnError) + c.pflags.SetOutput(c.flagErrorBuf) + + c.lflags = nil + c.iflags = nil + c.parentsPflags = nil +} + +// HasFlags checks if the command contains any flags (local plus persistent from the entire structure). +func (c *Command) HasFlags() bool { + return c.Flags().HasFlags() +} + +// HasPersistentFlags checks if the command contains persistent flags. +func (c *Command) HasPersistentFlags() bool { + return c.PersistentFlags().HasFlags() +} + +// HasLocalFlags checks if the command has flags specifically declared locally. +func (c *Command) HasLocalFlags() bool { + return c.LocalFlags().HasFlags() +} + +// HasInheritedFlags checks if the command has flags inherited from its parent command. +func (c *Command) HasInheritedFlags() bool { + return c.InheritedFlags().HasFlags() +} + +// HasAvailableFlags checks if the command contains any flags (local plus persistent from the entire +// structure) which are not hidden or deprecated. +func (c *Command) HasAvailableFlags() bool { + return c.Flags().HasAvailableFlags() +} + +// HasAvailablePersistentFlags checks if the command contains persistent flags which are not hidden or deprecated. +func (c *Command) HasAvailablePersistentFlags() bool { + return c.PersistentFlags().HasAvailableFlags() +} + +// HasAvailableLocalFlags checks if the command has flags specifically declared locally which are not hidden +// or deprecated. +func (c *Command) HasAvailableLocalFlags() bool { + return c.LocalFlags().HasAvailableFlags() +} + +// HasAvailableInheritedFlags checks if the command has flags inherited from its parent command which are +// not hidden or deprecated. +func (c *Command) HasAvailableInheritedFlags() bool { + return c.InheritedFlags().HasAvailableFlags() +} + +// Flag climbs up the command tree looking for matching flag. +func (c *Command) Flag(name string) (flag *flag.Flag) { + flag = c.Flags().Lookup(name) + + if flag == nil { + flag = c.persistentFlag(name) + } + + return +} + +// Recursively find matching persistent flag. +func (c *Command) persistentFlag(name string) (flag *flag.Flag) { + if c.HasPersistentFlags() { + flag = c.PersistentFlags().Lookup(name) + } + + if flag == nil { + c.updateParentsPflags() + flag = c.parentsPflags.Lookup(name) + } + return +} + +// ParseFlags parses persistent flag tree and local flags. +func (c *Command) ParseFlags(args []string) error { + if c.DisableFlagParsing { + return nil + } + + if c.flagErrorBuf == nil { + c.flagErrorBuf = new(bytes.Buffer) + } + beforeErrorBufLen := c.flagErrorBuf.Len() + c.mergePersistentFlags() + + //do it here after merging all flags and just before parse + c.Flags().ParseErrorsWhitelist = flag.ParseErrorsWhitelist(c.FParseErrWhitelist) + + err := c.Flags().Parse(args) + // Print warnings if they occurred (e.g. deprecated flag messages). + if c.flagErrorBuf.Len()-beforeErrorBufLen > 0 && err == nil { + c.Print(c.flagErrorBuf.String()) + } + + return err +} + +// Parent returns a commands parent command. +func (c *Command) Parent() *Command { + return c.parent +} + +// mergePersistentFlags merges c.PersistentFlags() to c.Flags() +// and adds missing persistent flags of all parents. +func (c *Command) mergePersistentFlags() { + c.updateParentsPflags() + c.Flags().AddFlagSet(c.PersistentFlags()) + c.Flags().AddFlagSet(c.parentsPflags) +} + +// updateParentsPflags updates c.parentsPflags by adding +// new persistent flags of all parents. +// If c.parentsPflags == nil, it makes new. +func (c *Command) updateParentsPflags() { + if c.parentsPflags == nil { + c.parentsPflags = flag.NewFlagSet(c.Name(), flag.ContinueOnError) + c.parentsPflags.SetOutput(c.flagErrorBuf) + c.parentsPflags.SortFlags = false + } + + if c.globNormFunc != nil { + c.parentsPflags.SetNormalizeFunc(c.globNormFunc) + } + + c.Root().PersistentFlags().AddFlagSet(flag.CommandLine) + + c.VisitParents(func(parent *Command) { + c.parentsPflags.AddFlagSet(parent.PersistentFlags()) + }) +} diff --git a/vendor/github.com/spf13/cobra/command_notwin.go b/vendor/github.com/spf13/cobra/command_notwin.go new file mode 100644 index 000000000..6159c1cc1 --- /dev/null +++ b/vendor/github.com/spf13/cobra/command_notwin.go @@ -0,0 +1,5 @@ +// +build !windows + +package cobra + +var preExecHookFn func(*Command) diff --git a/vendor/github.com/spf13/cobra/command_win.go b/vendor/github.com/spf13/cobra/command_win.go new file mode 100644 index 000000000..edec728e4 --- /dev/null +++ b/vendor/github.com/spf13/cobra/command_win.go @@ -0,0 +1,20 @@ +// +build windows + +package cobra + +import ( + "os" + "time" + + "github.com/inconshreveable/mousetrap" +) + +var preExecHookFn = preExecHook + +func preExecHook(c *Command) { + if MousetrapHelpText != "" && mousetrap.StartedByExplorer() { + c.Print(MousetrapHelpText) + time.Sleep(5 * time.Second) + os.Exit(1) + } +} diff --git a/vendor/github.com/spf13/cobra/zsh_completions.go b/vendor/github.com/spf13/cobra/zsh_completions.go new file mode 100644 index 000000000..889c22e27 --- /dev/null +++ b/vendor/github.com/spf13/cobra/zsh_completions.go @@ -0,0 +1,126 @@ +package cobra + +import ( + "bytes" + "fmt" + "io" + "os" + "strings" +) + +// GenZshCompletionFile generates zsh completion file. +func (c *Command) GenZshCompletionFile(filename string) error { + outFile, err := os.Create(filename) + if err != nil { + return err + } + defer outFile.Close() + + return c.GenZshCompletion(outFile) +} + +// GenZshCompletion generates a zsh completion file and writes to the passed writer. +func (c *Command) GenZshCompletion(w io.Writer) error { + buf := new(bytes.Buffer) + + writeHeader(buf, c) + maxDepth := maxDepth(c) + writeLevelMapping(buf, maxDepth) + writeLevelCases(buf, maxDepth, c) + + _, err := buf.WriteTo(w) + return err +} + +func writeHeader(w io.Writer, cmd *Command) { + fmt.Fprintf(w, "#compdef %s\n\n", cmd.Name()) +} + +func maxDepth(c *Command) int { + if len(c.Commands()) == 0 { + return 0 + } + maxDepthSub := 0 + for _, s := range c.Commands() { + subDepth := maxDepth(s) + if subDepth > maxDepthSub { + maxDepthSub = subDepth + } + } + return 1 + maxDepthSub +} + +func writeLevelMapping(w io.Writer, numLevels int) { + fmt.Fprintln(w, `_arguments \`) + for i := 1; i <= numLevels; i++ { + fmt.Fprintf(w, ` '%d: :->level%d' \`, i, i) + fmt.Fprintln(w) + } + fmt.Fprintf(w, ` '%d: :%s'`, numLevels+1, "_files") + fmt.Fprintln(w) +} + +func writeLevelCases(w io.Writer, maxDepth int, root *Command) { + fmt.Fprintln(w, "case $state in") + defer fmt.Fprintln(w, "esac") + + for i := 1; i <= maxDepth; i++ { + fmt.Fprintf(w, " level%d)\n", i) + writeLevel(w, root, i) + fmt.Fprintln(w, " ;;") + } + fmt.Fprintln(w, " *)") + fmt.Fprintln(w, " _arguments '*: :_files'") + fmt.Fprintln(w, " ;;") +} + +func writeLevel(w io.Writer, root *Command, i int) { + fmt.Fprintf(w, " case $words[%d] in\n", i) + defer fmt.Fprintln(w, " esac") + + commands := filterByLevel(root, i) + byParent := groupByParent(commands) + + for p, c := range byParent { + names := names(c) + fmt.Fprintf(w, " %s)\n", p) + fmt.Fprintf(w, " _arguments '%d: :(%s)'\n", i, strings.Join(names, " ")) + fmt.Fprintln(w, " ;;") + } + fmt.Fprintln(w, " *)") + fmt.Fprintln(w, " _arguments '*: :_files'") + fmt.Fprintln(w, " ;;") + +} + +func filterByLevel(c *Command, l int) []*Command { + cs := make([]*Command, 0) + if l == 0 { + cs = append(cs, c) + return cs + } + for _, s := range c.Commands() { + cs = append(cs, filterByLevel(s, l-1)...) + } + return cs +} + +func groupByParent(commands []*Command) map[string][]*Command { + m := make(map[string][]*Command) + for _, c := range commands { + parent := c.Parent() + if parent == nil { + continue + } + m[parent.Name()] = append(m[parent.Name()], c) + } + return m +} + +func names(commands []*Command) []string { + ns := make([]string, len(commands)) + for i, c := range commands { + ns[i] = c.Name() + } + return ns +} diff --git a/vendor/github.com/spf13/pflag/.gitignore b/vendor/github.com/spf13/pflag/.gitignore new file mode 100644 index 000000000..c3da29013 --- /dev/null +++ b/vendor/github.com/spf13/pflag/.gitignore @@ -0,0 +1,2 @@ +.idea/* + diff --git a/vendor/github.com/spf13/pflag/.travis.yml b/vendor/github.com/spf13/pflag/.travis.yml new file mode 100644 index 000000000..f8a63b308 --- /dev/null +++ b/vendor/github.com/spf13/pflag/.travis.yml @@ -0,0 +1,21 @@ +sudo: false + +language: go + +go: + - 1.7.3 + - 1.8.1 + - tip + +matrix: + allow_failures: + - go: tip + +install: + - go get github.com/golang/lint/golint + - export PATH=$GOPATH/bin:$PATH + - go install ./... + +script: + - verify/all.sh -v + - go test ./... diff --git a/vendor/github.com/spf13/pflag/LICENSE b/vendor/github.com/spf13/pflag/LICENSE new file mode 100644 index 000000000..63ed1cfea --- /dev/null +++ b/vendor/github.com/spf13/pflag/LICENSE @@ -0,0 +1,28 @@ +Copyright (c) 2012 Alex Ogier. All rights reserved. +Copyright (c) 2012 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/spf13/pflag/README.md b/vendor/github.com/spf13/pflag/README.md new file mode 100644 index 000000000..b052414d1 --- /dev/null +++ b/vendor/github.com/spf13/pflag/README.md @@ -0,0 +1,296 @@ +[![Build Status](https://travis-ci.org/spf13/pflag.svg?branch=master)](https://travis-ci.org/spf13/pflag) +[![Go Report Card](https://goreportcard.com/badge/github.com/spf13/pflag)](https://goreportcard.com/report/github.com/spf13/pflag) +[![GoDoc](https://godoc.org/github.com/spf13/pflag?status.svg)](https://godoc.org/github.com/spf13/pflag) + +## Description + +pflag is a drop-in replacement for Go's flag package, implementing +POSIX/GNU-style --flags. + +pflag is compatible with the [GNU extensions to the POSIX recommendations +for command-line options][1]. For a more precise description, see the +"Command-line flag syntax" section below. + +[1]: http://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html + +pflag is available under the same style of BSD license as the Go language, +which can be found in the LICENSE file. + +## Installation + +pflag is available using the standard `go get` command. + +Install by running: + + go get github.com/spf13/pflag + +Run tests by running: + + go test github.com/spf13/pflag + +## Usage + +pflag is a drop-in replacement of Go's native flag package. If you import +pflag under the name "flag" then all code should continue to function +with no changes. + +``` go +import flag "github.com/spf13/pflag" +``` + +There is one exception to this: if you directly instantiate the Flag struct +there is one more field "Shorthand" that you will need to set. +Most code never instantiates this struct directly, and instead uses +functions such as String(), BoolVar(), and Var(), and is therefore +unaffected. + +Define flags using flag.String(), Bool(), Int(), etc. + +This declares an integer flag, -flagname, stored in the pointer ip, with type *int. + +``` go +var ip *int = flag.Int("flagname", 1234, "help message for flagname") +``` + +If you like, you can bind the flag to a variable using the Var() functions. + +``` go +var flagvar int +func init() { + flag.IntVar(&flagvar, "flagname", 1234, "help message for flagname") +} +``` + +Or you can create custom flags that satisfy the Value interface (with +pointer receivers) and couple them to flag parsing by + +``` go +flag.Var(&flagVal, "name", "help message for flagname") +``` + +For such flags, the default value is just the initial value of the variable. + +After all flags are defined, call + +``` go +flag.Parse() +``` + +to parse the command line into the defined flags. + +Flags may then be used directly. If you're using the flags themselves, +they are all pointers; if you bind to variables, they're values. + +``` go +fmt.Println("ip has value ", *ip) +fmt.Println("flagvar has value ", flagvar) +``` + +There are helpers function to get values later if you have the FlagSet but +it was difficult to keep up with all of the flag pointers in your code. +If you have a pflag.FlagSet with a flag called 'flagname' of type int you +can use GetInt() to get the int value. But notice that 'flagname' must exist +and it must be an int. GetString("flagname") will fail. + +``` go +i, err := flagset.GetInt("flagname") +``` + +After parsing, the arguments after the flag are available as the +slice flag.Args() or individually as flag.Arg(i). +The arguments are indexed from 0 through flag.NArg()-1. + +The pflag package also defines some new functions that are not in flag, +that give one-letter shorthands for flags. You can use these by appending +'P' to the name of any function that defines a flag. + +``` go +var ip = flag.IntP("flagname", "f", 1234, "help message") +var flagvar bool +func init() { + flag.BoolVarP(&flagvar, "boolname", "b", true, "help message") +} +flag.VarP(&flagVal, "varname", "v", "help message") +``` + +Shorthand letters can be used with single dashes on the command line. +Boolean shorthand flags can be combined with other shorthand flags. + +The default set of command-line flags is controlled by +top-level functions. The FlagSet type allows one to define +independent sets of flags, such as to implement subcommands +in a command-line interface. The methods of FlagSet are +analogous to the top-level functions for the command-line +flag set. + +## Setting no option default values for flags + +After you create a flag it is possible to set the pflag.NoOptDefVal for +the given flag. Doing this changes the meaning of the flag slightly. If +a flag has a NoOptDefVal and the flag is set on the command line without +an option the flag will be set to the NoOptDefVal. For example given: + +``` go +var ip = flag.IntP("flagname", "f", 1234, "help message") +flag.Lookup("flagname").NoOptDefVal = "4321" +``` + +Would result in something like + +| Parsed Arguments | Resulting Value | +| ------------- | ------------- | +| --flagname=1357 | ip=1357 | +| --flagname | ip=4321 | +| [nothing] | ip=1234 | + +## Command line flag syntax + +``` +--flag // boolean flags, or flags with no option default values +--flag x // only on flags without a default value +--flag=x +``` + +Unlike the flag package, a single dash before an option means something +different than a double dash. Single dashes signify a series of shorthand +letters for flags. All but the last shorthand letter must be boolean flags +or a flag with a default value + +``` +// boolean or flags where the 'no option default value' is set +-f +-f=true +-abc +but +-b true is INVALID + +// non-boolean and flags without a 'no option default value' +-n 1234 +-n=1234 +-n1234 + +// mixed +-abcs "hello" +-absd="hello" +-abcs1234 +``` + +Flag parsing stops after the terminator "--". Unlike the flag package, +flags can be interspersed with arguments anywhere on the command line +before this terminator. + +Integer flags accept 1234, 0664, 0x1234 and may be negative. +Boolean flags (in their long form) accept 1, 0, t, f, true, false, +TRUE, FALSE, True, False. +Duration flags accept any input valid for time.ParseDuration. + +## Mutating or "Normalizing" Flag names + +It is possible to set a custom flag name 'normalization function.' It allows flag names to be mutated both when created in the code and when used on the command line to some 'normalized' form. The 'normalized' form is used for comparison. Two examples of using the custom normalization func follow. + +**Example #1**: You want -, _, and . in flags to compare the same. aka --my-flag == --my_flag == --my.flag + +``` go +func wordSepNormalizeFunc(f *pflag.FlagSet, name string) pflag.NormalizedName { + from := []string{"-", "_"} + to := "." + for _, sep := range from { + name = strings.Replace(name, sep, to, -1) + } + return pflag.NormalizedName(name) +} + +myFlagSet.SetNormalizeFunc(wordSepNormalizeFunc) +``` + +**Example #2**: You want to alias two flags. aka --old-flag-name == --new-flag-name + +``` go +func aliasNormalizeFunc(f *pflag.FlagSet, name string) pflag.NormalizedName { + switch name { + case "old-flag-name": + name = "new-flag-name" + break + } + return pflag.NormalizedName(name) +} + +myFlagSet.SetNormalizeFunc(aliasNormalizeFunc) +``` + +## Deprecating a flag or its shorthand +It is possible to deprecate a flag, or just its shorthand. Deprecating a flag/shorthand hides it from help text and prints a usage message when the deprecated flag/shorthand is used. + +**Example #1**: You want to deprecate a flag named "badflag" as well as inform the users what flag they should use instead. +```go +// deprecate a flag by specifying its name and a usage message +flags.MarkDeprecated("badflag", "please use --good-flag instead") +``` +This hides "badflag" from help text, and prints `Flag --badflag has been deprecated, please use --good-flag instead` when "badflag" is used. + +**Example #2**: You want to keep a flag name "noshorthandflag" but deprecate its shortname "n". +```go +// deprecate a flag shorthand by specifying its flag name and a usage message +flags.MarkShorthandDeprecated("noshorthandflag", "please use --noshorthandflag only") +``` +This hides the shortname "n" from help text, and prints `Flag shorthand -n has been deprecated, please use --noshorthandflag only` when the shorthand "n" is used. + +Note that usage message is essential here, and it should not be empty. + +## Hidden flags +It is possible to mark a flag as hidden, meaning it will still function as normal, however will not show up in usage/help text. + +**Example**: You have a flag named "secretFlag" that you need for internal use only and don't want it showing up in help text, or for its usage text to be available. +```go +// hide a flag by specifying its name +flags.MarkHidden("secretFlag") +``` + +## Disable sorting of flags +`pflag` allows you to disable sorting of flags for help and usage message. + +**Example**: +```go +flags.BoolP("verbose", "v", false, "verbose output") +flags.String("coolflag", "yeaah", "it's really cool flag") +flags.Int("usefulflag", 777, "sometimes it's very useful") +flags.SortFlags = false +flags.PrintDefaults() +``` +**Output**: +``` + -v, --verbose verbose output + --coolflag string it's really cool flag (default "yeaah") + --usefulflag int sometimes it's very useful (default 777) +``` + + +## Supporting Go flags when using pflag +In order to support flags defined using Go's `flag` package, they must be added to the `pflag` flagset. This is usually necessary +to support flags defined by third-party dependencies (e.g. `golang/glog`). + +**Example**: You want to add the Go flags to the `CommandLine` flagset +```go +import ( + goflag "flag" + flag "github.com/spf13/pflag" +) + +var ip *int = flag.Int("flagname", 1234, "help message for flagname") + +func main() { + flag.CommandLine.AddGoFlagSet(goflag.CommandLine) + flag.Parse() +} +``` + +## More info + +You can see the full reference documentation of the pflag package +[at godoc.org][3], or through go's standard documentation system by +running `godoc -http=:6060` and browsing to +[http://localhost:6060/pkg/github.com/spf13/pflag][2] after +installation. + +[2]: http://localhost:6060/pkg/github.com/spf13/pflag +[3]: http://godoc.org/github.com/spf13/pflag diff --git a/vendor/github.com/spf13/pflag/bool.go b/vendor/github.com/spf13/pflag/bool.go new file mode 100644 index 000000000..c4c5c0bfd --- /dev/null +++ b/vendor/github.com/spf13/pflag/bool.go @@ -0,0 +1,94 @@ +package pflag + +import "strconv" + +// optional interface to indicate boolean flags that can be +// supplied without "=value" text +type boolFlag interface { + Value + IsBoolFlag() bool +} + +// -- bool Value +type boolValue bool + +func newBoolValue(val bool, p *bool) *boolValue { + *p = val + return (*boolValue)(p) +} + +func (b *boolValue) Set(s string) error { + v, err := strconv.ParseBool(s) + *b = boolValue(v) + return err +} + +func (b *boolValue) Type() string { + return "bool" +} + +func (b *boolValue) String() string { return strconv.FormatBool(bool(*b)) } + +func (b *boolValue) IsBoolFlag() bool { return true } + +func boolConv(sval string) (interface{}, error) { + return strconv.ParseBool(sval) +} + +// GetBool return the bool value of a flag with the given name +func (f *FlagSet) GetBool(name string) (bool, error) { + val, err := f.getFlagType(name, "bool", boolConv) + if err != nil { + return false, err + } + return val.(bool), nil +} + +// BoolVar defines a bool flag with specified name, default value, and usage string. +// The argument p points to a bool variable in which to store the value of the flag. +func (f *FlagSet) BoolVar(p *bool, name string, value bool, usage string) { + f.BoolVarP(p, name, "", value, usage) +} + +// BoolVarP is like BoolVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) BoolVarP(p *bool, name, shorthand string, value bool, usage string) { + flag := f.VarPF(newBoolValue(value, p), name, shorthand, usage) + flag.NoOptDefVal = "true" +} + +// BoolVar defines a bool flag with specified name, default value, and usage string. +// The argument p points to a bool variable in which to store the value of the flag. +func BoolVar(p *bool, name string, value bool, usage string) { + BoolVarP(p, name, "", value, usage) +} + +// BoolVarP is like BoolVar, but accepts a shorthand letter that can be used after a single dash. +func BoolVarP(p *bool, name, shorthand string, value bool, usage string) { + flag := CommandLine.VarPF(newBoolValue(value, p), name, shorthand, usage) + flag.NoOptDefVal = "true" +} + +// Bool defines a bool flag with specified name, default value, and usage string. +// The return value is the address of a bool variable that stores the value of the flag. +func (f *FlagSet) Bool(name string, value bool, usage string) *bool { + return f.BoolP(name, "", value, usage) +} + +// BoolP is like Bool, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) BoolP(name, shorthand string, value bool, usage string) *bool { + p := new(bool) + f.BoolVarP(p, name, shorthand, value, usage) + return p +} + +// Bool defines a bool flag with specified name, default value, and usage string. +// The return value is the address of a bool variable that stores the value of the flag. +func Bool(name string, value bool, usage string) *bool { + return BoolP(name, "", value, usage) +} + +// BoolP is like Bool, but accepts a shorthand letter that can be used after a single dash. +func BoolP(name, shorthand string, value bool, usage string) *bool { + b := CommandLine.BoolP(name, shorthand, value, usage) + return b +} diff --git a/vendor/github.com/spf13/pflag/bool_slice.go b/vendor/github.com/spf13/pflag/bool_slice.go new file mode 100644 index 000000000..5af02f1a7 --- /dev/null +++ b/vendor/github.com/spf13/pflag/bool_slice.go @@ -0,0 +1,147 @@ +package pflag + +import ( + "io" + "strconv" + "strings" +) + +// -- boolSlice Value +type boolSliceValue struct { + value *[]bool + changed bool +} + +func newBoolSliceValue(val []bool, p *[]bool) *boolSliceValue { + bsv := new(boolSliceValue) + bsv.value = p + *bsv.value = val + return bsv +} + +// Set converts, and assigns, the comma-separated boolean argument string representation as the []bool value of this flag. +// If Set is called on a flag that already has a []bool assigned, the newly converted values will be appended. +func (s *boolSliceValue) Set(val string) error { + + // remove all quote characters + rmQuote := strings.NewReplacer(`"`, "", `'`, "", "`", "") + + // read flag arguments with CSV parser + boolStrSlice, err := readAsCSV(rmQuote.Replace(val)) + if err != nil && err != io.EOF { + return err + } + + // parse boolean values into slice + out := make([]bool, 0, len(boolStrSlice)) + for _, boolStr := range boolStrSlice { + b, err := strconv.ParseBool(strings.TrimSpace(boolStr)) + if err != nil { + return err + } + out = append(out, b) + } + + if !s.changed { + *s.value = out + } else { + *s.value = append(*s.value, out...) + } + + s.changed = true + + return nil +} + +// Type returns a string that uniquely represents this flag's type. +func (s *boolSliceValue) Type() string { + return "boolSlice" +} + +// String defines a "native" format for this boolean slice flag value. +func (s *boolSliceValue) String() string { + + boolStrSlice := make([]string, len(*s.value)) + for i, b := range *s.value { + boolStrSlice[i] = strconv.FormatBool(b) + } + + out, _ := writeAsCSV(boolStrSlice) + + return "[" + out + "]" +} + +func boolSliceConv(val string) (interface{}, error) { + val = strings.Trim(val, "[]") + // Empty string would cause a slice with one (empty) entry + if len(val) == 0 { + return []bool{}, nil + } + ss := strings.Split(val, ",") + out := make([]bool, len(ss)) + for i, t := range ss { + var err error + out[i], err = strconv.ParseBool(t) + if err != nil { + return nil, err + } + } + return out, nil +} + +// GetBoolSlice returns the []bool value of a flag with the given name. +func (f *FlagSet) GetBoolSlice(name string) ([]bool, error) { + val, err := f.getFlagType(name, "boolSlice", boolSliceConv) + if err != nil { + return []bool{}, err + } + return val.([]bool), nil +} + +// BoolSliceVar defines a boolSlice flag with specified name, default value, and usage string. +// The argument p points to a []bool variable in which to store the value of the flag. +func (f *FlagSet) BoolSliceVar(p *[]bool, name string, value []bool, usage string) { + f.VarP(newBoolSliceValue(value, p), name, "", usage) +} + +// BoolSliceVarP is like BoolSliceVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) BoolSliceVarP(p *[]bool, name, shorthand string, value []bool, usage string) { + f.VarP(newBoolSliceValue(value, p), name, shorthand, usage) +} + +// BoolSliceVar defines a []bool flag with specified name, default value, and usage string. +// The argument p points to a []bool variable in which to store the value of the flag. +func BoolSliceVar(p *[]bool, name string, value []bool, usage string) { + CommandLine.VarP(newBoolSliceValue(value, p), name, "", usage) +} + +// BoolSliceVarP is like BoolSliceVar, but accepts a shorthand letter that can be used after a single dash. +func BoolSliceVarP(p *[]bool, name, shorthand string, value []bool, usage string) { + CommandLine.VarP(newBoolSliceValue(value, p), name, shorthand, usage) +} + +// BoolSlice defines a []bool flag with specified name, default value, and usage string. +// The return value is the address of a []bool variable that stores the value of the flag. +func (f *FlagSet) BoolSlice(name string, value []bool, usage string) *[]bool { + p := []bool{} + f.BoolSliceVarP(&p, name, "", value, usage) + return &p +} + +// BoolSliceP is like BoolSlice, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) BoolSliceP(name, shorthand string, value []bool, usage string) *[]bool { + p := []bool{} + f.BoolSliceVarP(&p, name, shorthand, value, usage) + return &p +} + +// BoolSlice defines a []bool flag with specified name, default value, and usage string. +// The return value is the address of a []bool variable that stores the value of the flag. +func BoolSlice(name string, value []bool, usage string) *[]bool { + return CommandLine.BoolSliceP(name, "", value, usage) +} + +// BoolSliceP is like BoolSlice, but accepts a shorthand letter that can be used after a single dash. +func BoolSliceP(name, shorthand string, value []bool, usage string) *[]bool { + return CommandLine.BoolSliceP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/bytes.go b/vendor/github.com/spf13/pflag/bytes.go new file mode 100644 index 000000000..67d530457 --- /dev/null +++ b/vendor/github.com/spf13/pflag/bytes.go @@ -0,0 +1,209 @@ +package pflag + +import ( + "encoding/base64" + "encoding/hex" + "fmt" + "strings" +) + +// BytesHex adapts []byte for use as a flag. Value of flag is HEX encoded +type bytesHexValue []byte + +// String implements pflag.Value.String. +func (bytesHex bytesHexValue) String() string { + return fmt.Sprintf("%X", []byte(bytesHex)) +} + +// Set implements pflag.Value.Set. +func (bytesHex *bytesHexValue) Set(value string) error { + bin, err := hex.DecodeString(strings.TrimSpace(value)) + + if err != nil { + return err + } + + *bytesHex = bin + + return nil +} + +// Type implements pflag.Value.Type. +func (*bytesHexValue) Type() string { + return "bytesHex" +} + +func newBytesHexValue(val []byte, p *[]byte) *bytesHexValue { + *p = val + return (*bytesHexValue)(p) +} + +func bytesHexConv(sval string) (interface{}, error) { + + bin, err := hex.DecodeString(sval) + + if err == nil { + return bin, nil + } + + return nil, fmt.Errorf("invalid string being converted to Bytes: %s %s", sval, err) +} + +// GetBytesHex return the []byte value of a flag with the given name +func (f *FlagSet) GetBytesHex(name string) ([]byte, error) { + val, err := f.getFlagType(name, "bytesHex", bytesHexConv) + + if err != nil { + return []byte{}, err + } + + return val.([]byte), nil +} + +// BytesHexVar defines an []byte flag with specified name, default value, and usage string. +// The argument p points to an []byte variable in which to store the value of the flag. +func (f *FlagSet) BytesHexVar(p *[]byte, name string, value []byte, usage string) { + f.VarP(newBytesHexValue(value, p), name, "", usage) +} + +// BytesHexVarP is like BytesHexVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) BytesHexVarP(p *[]byte, name, shorthand string, value []byte, usage string) { + f.VarP(newBytesHexValue(value, p), name, shorthand, usage) +} + +// BytesHexVar defines an []byte flag with specified name, default value, and usage string. +// The argument p points to an []byte variable in which to store the value of the flag. +func BytesHexVar(p *[]byte, name string, value []byte, usage string) { + CommandLine.VarP(newBytesHexValue(value, p), name, "", usage) +} + +// BytesHexVarP is like BytesHexVar, but accepts a shorthand letter that can be used after a single dash. +func BytesHexVarP(p *[]byte, name, shorthand string, value []byte, usage string) { + CommandLine.VarP(newBytesHexValue(value, p), name, shorthand, usage) +} + +// BytesHex defines an []byte flag with specified name, default value, and usage string. +// The return value is the address of an []byte variable that stores the value of the flag. +func (f *FlagSet) BytesHex(name string, value []byte, usage string) *[]byte { + p := new([]byte) + f.BytesHexVarP(p, name, "", value, usage) + return p +} + +// BytesHexP is like BytesHex, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) BytesHexP(name, shorthand string, value []byte, usage string) *[]byte { + p := new([]byte) + f.BytesHexVarP(p, name, shorthand, value, usage) + return p +} + +// BytesHex defines an []byte flag with specified name, default value, and usage string. +// The return value is the address of an []byte variable that stores the value of the flag. +func BytesHex(name string, value []byte, usage string) *[]byte { + return CommandLine.BytesHexP(name, "", value, usage) +} + +// BytesHexP is like BytesHex, but accepts a shorthand letter that can be used after a single dash. +func BytesHexP(name, shorthand string, value []byte, usage string) *[]byte { + return CommandLine.BytesHexP(name, shorthand, value, usage) +} + +// BytesBase64 adapts []byte for use as a flag. Value of flag is Base64 encoded +type bytesBase64Value []byte + +// String implements pflag.Value.String. +func (bytesBase64 bytesBase64Value) String() string { + return base64.StdEncoding.EncodeToString([]byte(bytesBase64)) +} + +// Set implements pflag.Value.Set. +func (bytesBase64 *bytesBase64Value) Set(value string) error { + bin, err := base64.StdEncoding.DecodeString(strings.TrimSpace(value)) + + if err != nil { + return err + } + + *bytesBase64 = bin + + return nil +} + +// Type implements pflag.Value.Type. +func (*bytesBase64Value) Type() string { + return "bytesBase64" +} + +func newBytesBase64Value(val []byte, p *[]byte) *bytesBase64Value { + *p = val + return (*bytesBase64Value)(p) +} + +func bytesBase64ValueConv(sval string) (interface{}, error) { + + bin, err := base64.StdEncoding.DecodeString(sval) + if err == nil { + return bin, nil + } + + return nil, fmt.Errorf("invalid string being converted to Bytes: %s %s", sval, err) +} + +// GetBytesBase64 return the []byte value of a flag with the given name +func (f *FlagSet) GetBytesBase64(name string) ([]byte, error) { + val, err := f.getFlagType(name, "bytesBase64", bytesBase64ValueConv) + + if err != nil { + return []byte{}, err + } + + return val.([]byte), nil +} + +// BytesBase64Var defines an []byte flag with specified name, default value, and usage string. +// The argument p points to an []byte variable in which to store the value of the flag. +func (f *FlagSet) BytesBase64Var(p *[]byte, name string, value []byte, usage string) { + f.VarP(newBytesBase64Value(value, p), name, "", usage) +} + +// BytesBase64VarP is like BytesBase64Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) BytesBase64VarP(p *[]byte, name, shorthand string, value []byte, usage string) { + f.VarP(newBytesBase64Value(value, p), name, shorthand, usage) +} + +// BytesBase64Var defines an []byte flag with specified name, default value, and usage string. +// The argument p points to an []byte variable in which to store the value of the flag. +func BytesBase64Var(p *[]byte, name string, value []byte, usage string) { + CommandLine.VarP(newBytesBase64Value(value, p), name, "", usage) +} + +// BytesBase64VarP is like BytesBase64Var, but accepts a shorthand letter that can be used after a single dash. +func BytesBase64VarP(p *[]byte, name, shorthand string, value []byte, usage string) { + CommandLine.VarP(newBytesBase64Value(value, p), name, shorthand, usage) +} + +// BytesBase64 defines an []byte flag with specified name, default value, and usage string. +// The return value is the address of an []byte variable that stores the value of the flag. +func (f *FlagSet) BytesBase64(name string, value []byte, usage string) *[]byte { + p := new([]byte) + f.BytesBase64VarP(p, name, "", value, usage) + return p +} + +// BytesBase64P is like BytesBase64, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) BytesBase64P(name, shorthand string, value []byte, usage string) *[]byte { + p := new([]byte) + f.BytesBase64VarP(p, name, shorthand, value, usage) + return p +} + +// BytesBase64 defines an []byte flag with specified name, default value, and usage string. +// The return value is the address of an []byte variable that stores the value of the flag. +func BytesBase64(name string, value []byte, usage string) *[]byte { + return CommandLine.BytesBase64P(name, "", value, usage) +} + +// BytesBase64P is like BytesBase64, but accepts a shorthand letter that can be used after a single dash. +func BytesBase64P(name, shorthand string, value []byte, usage string) *[]byte { + return CommandLine.BytesBase64P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/count.go b/vendor/github.com/spf13/pflag/count.go new file mode 100644 index 000000000..aa126e44d --- /dev/null +++ b/vendor/github.com/spf13/pflag/count.go @@ -0,0 +1,96 @@ +package pflag + +import "strconv" + +// -- count Value +type countValue int + +func newCountValue(val int, p *int) *countValue { + *p = val + return (*countValue)(p) +} + +func (i *countValue) Set(s string) error { + // "+1" means that no specific value was passed, so increment + if s == "+1" { + *i = countValue(*i + 1) + return nil + } + v, err := strconv.ParseInt(s, 0, 0) + *i = countValue(v) + return err +} + +func (i *countValue) Type() string { + return "count" +} + +func (i *countValue) String() string { return strconv.Itoa(int(*i)) } + +func countConv(sval string) (interface{}, error) { + i, err := strconv.Atoi(sval) + if err != nil { + return nil, err + } + return i, nil +} + +// GetCount return the int value of a flag with the given name +func (f *FlagSet) GetCount(name string) (int, error) { + val, err := f.getFlagType(name, "count", countConv) + if err != nil { + return 0, err + } + return val.(int), nil +} + +// CountVar defines a count flag with specified name, default value, and usage string. +// The argument p points to an int variable in which to store the value of the flag. +// A count flag will add 1 to its value evey time it is found on the command line +func (f *FlagSet) CountVar(p *int, name string, usage string) { + f.CountVarP(p, name, "", usage) +} + +// CountVarP is like CountVar only take a shorthand for the flag name. +func (f *FlagSet) CountVarP(p *int, name, shorthand string, usage string) { + flag := f.VarPF(newCountValue(0, p), name, shorthand, usage) + flag.NoOptDefVal = "+1" +} + +// CountVar like CountVar only the flag is placed on the CommandLine instead of a given flag set +func CountVar(p *int, name string, usage string) { + CommandLine.CountVar(p, name, usage) +} + +// CountVarP is like CountVar only take a shorthand for the flag name. +func CountVarP(p *int, name, shorthand string, usage string) { + CommandLine.CountVarP(p, name, shorthand, usage) +} + +// Count defines a count flag with specified name, default value, and usage string. +// The return value is the address of an int variable that stores the value of the flag. +// A count flag will add 1 to its value evey time it is found on the command line +func (f *FlagSet) Count(name string, usage string) *int { + p := new(int) + f.CountVarP(p, name, "", usage) + return p +} + +// CountP is like Count only takes a shorthand for the flag name. +func (f *FlagSet) CountP(name, shorthand string, usage string) *int { + p := new(int) + f.CountVarP(p, name, shorthand, usage) + return p +} + +// Count defines a count flag with specified name, default value, and usage string. +// The return value is the address of an int variable that stores the value of the flag. +// A count flag will add 1 to its value evey time it is found on the command line +func Count(name string, usage string) *int { + return CommandLine.CountP(name, "", usage) +} + +// CountP is like Count only takes a shorthand for the flag name. +func CountP(name, shorthand string, usage string) *int { + return CommandLine.CountP(name, shorthand, usage) +} diff --git a/vendor/github.com/spf13/pflag/duration.go b/vendor/github.com/spf13/pflag/duration.go new file mode 100644 index 000000000..e9debef88 --- /dev/null +++ b/vendor/github.com/spf13/pflag/duration.go @@ -0,0 +1,86 @@ +package pflag + +import ( + "time" +) + +// -- time.Duration Value +type durationValue time.Duration + +func newDurationValue(val time.Duration, p *time.Duration) *durationValue { + *p = val + return (*durationValue)(p) +} + +func (d *durationValue) Set(s string) error { + v, err := time.ParseDuration(s) + *d = durationValue(v) + return err +} + +func (d *durationValue) Type() string { + return "duration" +} + +func (d *durationValue) String() string { return (*time.Duration)(d).String() } + +func durationConv(sval string) (interface{}, error) { + return time.ParseDuration(sval) +} + +// GetDuration return the duration value of a flag with the given name +func (f *FlagSet) GetDuration(name string) (time.Duration, error) { + val, err := f.getFlagType(name, "duration", durationConv) + if err != nil { + return 0, err + } + return val.(time.Duration), nil +} + +// DurationVar defines a time.Duration flag with specified name, default value, and usage string. +// The argument p points to a time.Duration variable in which to store the value of the flag. +func (f *FlagSet) DurationVar(p *time.Duration, name string, value time.Duration, usage string) { + f.VarP(newDurationValue(value, p), name, "", usage) +} + +// DurationVarP is like DurationVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) DurationVarP(p *time.Duration, name, shorthand string, value time.Duration, usage string) { + f.VarP(newDurationValue(value, p), name, shorthand, usage) +} + +// DurationVar defines a time.Duration flag with specified name, default value, and usage string. +// The argument p points to a time.Duration variable in which to store the value of the flag. +func DurationVar(p *time.Duration, name string, value time.Duration, usage string) { + CommandLine.VarP(newDurationValue(value, p), name, "", usage) +} + +// DurationVarP is like DurationVar, but accepts a shorthand letter that can be used after a single dash. +func DurationVarP(p *time.Duration, name, shorthand string, value time.Duration, usage string) { + CommandLine.VarP(newDurationValue(value, p), name, shorthand, usage) +} + +// Duration defines a time.Duration flag with specified name, default value, and usage string. +// The return value is the address of a time.Duration variable that stores the value of the flag. +func (f *FlagSet) Duration(name string, value time.Duration, usage string) *time.Duration { + p := new(time.Duration) + f.DurationVarP(p, name, "", value, usage) + return p +} + +// DurationP is like Duration, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) DurationP(name, shorthand string, value time.Duration, usage string) *time.Duration { + p := new(time.Duration) + f.DurationVarP(p, name, shorthand, value, usage) + return p +} + +// Duration defines a time.Duration flag with specified name, default value, and usage string. +// The return value is the address of a time.Duration variable that stores the value of the flag. +func Duration(name string, value time.Duration, usage string) *time.Duration { + return CommandLine.DurationP(name, "", value, usage) +} + +// DurationP is like Duration, but accepts a shorthand letter that can be used after a single dash. +func DurationP(name, shorthand string, value time.Duration, usage string) *time.Duration { + return CommandLine.DurationP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/duration_slice.go b/vendor/github.com/spf13/pflag/duration_slice.go new file mode 100644 index 000000000..52c6b6dc1 --- /dev/null +++ b/vendor/github.com/spf13/pflag/duration_slice.go @@ -0,0 +1,128 @@ +package pflag + +import ( + "fmt" + "strings" + "time" +) + +// -- durationSlice Value +type durationSliceValue struct { + value *[]time.Duration + changed bool +} + +func newDurationSliceValue(val []time.Duration, p *[]time.Duration) *durationSliceValue { + dsv := new(durationSliceValue) + dsv.value = p + *dsv.value = val + return dsv +} + +func (s *durationSliceValue) Set(val string) error { + ss := strings.Split(val, ",") + out := make([]time.Duration, len(ss)) + for i, d := range ss { + var err error + out[i], err = time.ParseDuration(d) + if err != nil { + return err + } + + } + if !s.changed { + *s.value = out + } else { + *s.value = append(*s.value, out...) + } + s.changed = true + return nil +} + +func (s *durationSliceValue) Type() string { + return "durationSlice" +} + +func (s *durationSliceValue) String() string { + out := make([]string, len(*s.value)) + for i, d := range *s.value { + out[i] = fmt.Sprintf("%s", d) + } + return "[" + strings.Join(out, ",") + "]" +} + +func durationSliceConv(val string) (interface{}, error) { + val = strings.Trim(val, "[]") + // Empty string would cause a slice with one (empty) entry + if len(val) == 0 { + return []time.Duration{}, nil + } + ss := strings.Split(val, ",") + out := make([]time.Duration, len(ss)) + for i, d := range ss { + var err error + out[i], err = time.ParseDuration(d) + if err != nil { + return nil, err + } + + } + return out, nil +} + +// GetDurationSlice returns the []time.Duration value of a flag with the given name +func (f *FlagSet) GetDurationSlice(name string) ([]time.Duration, error) { + val, err := f.getFlagType(name, "durationSlice", durationSliceConv) + if err != nil { + return []time.Duration{}, err + } + return val.([]time.Duration), nil +} + +// DurationSliceVar defines a durationSlice flag with specified name, default value, and usage string. +// The argument p points to a []time.Duration variable in which to store the value of the flag. +func (f *FlagSet) DurationSliceVar(p *[]time.Duration, name string, value []time.Duration, usage string) { + f.VarP(newDurationSliceValue(value, p), name, "", usage) +} + +// DurationSliceVarP is like DurationSliceVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) DurationSliceVarP(p *[]time.Duration, name, shorthand string, value []time.Duration, usage string) { + f.VarP(newDurationSliceValue(value, p), name, shorthand, usage) +} + +// DurationSliceVar defines a duration[] flag with specified name, default value, and usage string. +// The argument p points to a duration[] variable in which to store the value of the flag. +func DurationSliceVar(p *[]time.Duration, name string, value []time.Duration, usage string) { + CommandLine.VarP(newDurationSliceValue(value, p), name, "", usage) +} + +// DurationSliceVarP is like DurationSliceVar, but accepts a shorthand letter that can be used after a single dash. +func DurationSliceVarP(p *[]time.Duration, name, shorthand string, value []time.Duration, usage string) { + CommandLine.VarP(newDurationSliceValue(value, p), name, shorthand, usage) +} + +// DurationSlice defines a []time.Duration flag with specified name, default value, and usage string. +// The return value is the address of a []time.Duration variable that stores the value of the flag. +func (f *FlagSet) DurationSlice(name string, value []time.Duration, usage string) *[]time.Duration { + p := []time.Duration{} + f.DurationSliceVarP(&p, name, "", value, usage) + return &p +} + +// DurationSliceP is like DurationSlice, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) DurationSliceP(name, shorthand string, value []time.Duration, usage string) *[]time.Duration { + p := []time.Duration{} + f.DurationSliceVarP(&p, name, shorthand, value, usage) + return &p +} + +// DurationSlice defines a []time.Duration flag with specified name, default value, and usage string. +// The return value is the address of a []time.Duration variable that stores the value of the flag. +func DurationSlice(name string, value []time.Duration, usage string) *[]time.Duration { + return CommandLine.DurationSliceP(name, "", value, usage) +} + +// DurationSliceP is like DurationSlice, but accepts a shorthand letter that can be used after a single dash. +func DurationSliceP(name, shorthand string, value []time.Duration, usage string) *[]time.Duration { + return CommandLine.DurationSliceP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/flag.go b/vendor/github.com/spf13/pflag/flag.go new file mode 100644 index 000000000..9beeda8ec --- /dev/null +++ b/vendor/github.com/spf13/pflag/flag.go @@ -0,0 +1,1227 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +/* +Package pflag is a drop-in replacement for Go's flag package, implementing +POSIX/GNU-style --flags. + +pflag is compatible with the GNU extensions to the POSIX recommendations +for command-line options. See +http://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html + +Usage: + +pflag is a drop-in replacement of Go's native flag package. If you import +pflag under the name "flag" then all code should continue to function +with no changes. + + import flag "github.com/spf13/pflag" + +There is one exception to this: if you directly instantiate the Flag struct +there is one more field "Shorthand" that you will need to set. +Most code never instantiates this struct directly, and instead uses +functions such as String(), BoolVar(), and Var(), and is therefore +unaffected. + +Define flags using flag.String(), Bool(), Int(), etc. + +This declares an integer flag, -flagname, stored in the pointer ip, with type *int. + var ip = flag.Int("flagname", 1234, "help message for flagname") +If you like, you can bind the flag to a variable using the Var() functions. + var flagvar int + func init() { + flag.IntVar(&flagvar, "flagname", 1234, "help message for flagname") + } +Or you can create custom flags that satisfy the Value interface (with +pointer receivers) and couple them to flag parsing by + flag.Var(&flagVal, "name", "help message for flagname") +For such flags, the default value is just the initial value of the variable. + +After all flags are defined, call + flag.Parse() +to parse the command line into the defined flags. + +Flags may then be used directly. If you're using the flags themselves, +they are all pointers; if you bind to variables, they're values. + fmt.Println("ip has value ", *ip) + fmt.Println("flagvar has value ", flagvar) + +After parsing, the arguments after the flag are available as the +slice flag.Args() or individually as flag.Arg(i). +The arguments are indexed from 0 through flag.NArg()-1. + +The pflag package also defines some new functions that are not in flag, +that give one-letter shorthands for flags. You can use these by appending +'P' to the name of any function that defines a flag. + var ip = flag.IntP("flagname", "f", 1234, "help message") + var flagvar bool + func init() { + flag.BoolVarP("boolname", "b", true, "help message") + } + flag.VarP(&flagVar, "varname", "v", 1234, "help message") +Shorthand letters can be used with single dashes on the command line. +Boolean shorthand flags can be combined with other shorthand flags. + +Command line flag syntax: + --flag // boolean flags only + --flag=x + +Unlike the flag package, a single dash before an option means something +different than a double dash. Single dashes signify a series of shorthand +letters for flags. All but the last shorthand letter must be boolean flags. + // boolean flags + -f + -abc + // non-boolean flags + -n 1234 + -Ifile + // mixed + -abcs "hello" + -abcn1234 + +Flag parsing stops after the terminator "--". Unlike the flag package, +flags can be interspersed with arguments anywhere on the command line +before this terminator. + +Integer flags accept 1234, 0664, 0x1234 and may be negative. +Boolean flags (in their long form) accept 1, 0, t, f, true, false, +TRUE, FALSE, True, False. +Duration flags accept any input valid for time.ParseDuration. + +The default set of command-line flags is controlled by +top-level functions. The FlagSet type allows one to define +independent sets of flags, such as to implement subcommands +in a command-line interface. The methods of FlagSet are +analogous to the top-level functions for the command-line +flag set. +*/ +package pflag + +import ( + "bytes" + "errors" + goflag "flag" + "fmt" + "io" + "os" + "sort" + "strings" +) + +// ErrHelp is the error returned if the flag -help is invoked but no such flag is defined. +var ErrHelp = errors.New("pflag: help requested") + +// ErrorHandling defines how to handle flag parsing errors. +type ErrorHandling int + +const ( + // ContinueOnError will return an err from Parse() if an error is found + ContinueOnError ErrorHandling = iota + // ExitOnError will call os.Exit(2) if an error is found when parsing + ExitOnError + // PanicOnError will panic() if an error is found when parsing flags + PanicOnError +) + +// ParseErrorsWhitelist defines the parsing errors that can be ignored +type ParseErrorsWhitelist struct { + // UnknownFlags will ignore unknown flags errors and continue parsing rest of the flags + UnknownFlags bool +} + +// NormalizedName is a flag name that has been normalized according to rules +// for the FlagSet (e.g. making '-' and '_' equivalent). +type NormalizedName string + +// A FlagSet represents a set of defined flags. +type FlagSet struct { + // Usage is the function called when an error occurs while parsing flags. + // The field is a function (not a method) that may be changed to point to + // a custom error handler. + Usage func() + + // SortFlags is used to indicate, if user wants to have sorted flags in + // help/usage messages. + SortFlags bool + + // ParseErrorsWhitelist is used to configure a whitelist of errors + ParseErrorsWhitelist ParseErrorsWhitelist + + name string + parsed bool + actual map[NormalizedName]*Flag + orderedActual []*Flag + sortedActual []*Flag + formal map[NormalizedName]*Flag + orderedFormal []*Flag + sortedFormal []*Flag + shorthands map[byte]*Flag + args []string // arguments after flags + argsLenAtDash int // len(args) when a '--' was located when parsing, or -1 if no -- + errorHandling ErrorHandling + output io.Writer // nil means stderr; use out() accessor + interspersed bool // allow interspersed option/non-option args + normalizeNameFunc func(f *FlagSet, name string) NormalizedName + + addedGoFlagSets []*goflag.FlagSet +} + +// A Flag represents the state of a flag. +type Flag struct { + Name string // name as it appears on command line + Shorthand string // one-letter abbreviated flag + Usage string // help message + Value Value // value as set + DefValue string // default value (as text); for usage message + Changed bool // If the user set the value (or if left to default) + NoOptDefVal string // default value (as text); if the flag is on the command line without any options + Deprecated string // If this flag is deprecated, this string is the new or now thing to use + Hidden bool // used by cobra.Command to allow flags to be hidden from help/usage text + ShorthandDeprecated string // If the shorthand of this flag is deprecated, this string is the new or now thing to use + Annotations map[string][]string // used by cobra.Command bash autocomple code +} + +// Value is the interface to the dynamic value stored in a flag. +// (The default value is represented as a string.) +type Value interface { + String() string + Set(string) error + Type() string +} + +// sortFlags returns the flags as a slice in lexicographical sorted order. +func sortFlags(flags map[NormalizedName]*Flag) []*Flag { + list := make(sort.StringSlice, len(flags)) + i := 0 + for k := range flags { + list[i] = string(k) + i++ + } + list.Sort() + result := make([]*Flag, len(list)) + for i, name := range list { + result[i] = flags[NormalizedName(name)] + } + return result +} + +// SetNormalizeFunc allows you to add a function which can translate flag names. +// Flags added to the FlagSet will be translated and then when anything tries to +// look up the flag that will also be translated. So it would be possible to create +// a flag named "getURL" and have it translated to "geturl". A user could then pass +// "--getUrl" which may also be translated to "geturl" and everything will work. +func (f *FlagSet) SetNormalizeFunc(n func(f *FlagSet, name string) NormalizedName) { + f.normalizeNameFunc = n + f.sortedFormal = f.sortedFormal[:0] + for fname, flag := range f.formal { + nname := f.normalizeFlagName(flag.Name) + if fname == nname { + continue + } + flag.Name = string(nname) + delete(f.formal, fname) + f.formal[nname] = flag + if _, set := f.actual[fname]; set { + delete(f.actual, fname) + f.actual[nname] = flag + } + } +} + +// GetNormalizeFunc returns the previously set NormalizeFunc of a function which +// does no translation, if not set previously. +func (f *FlagSet) GetNormalizeFunc() func(f *FlagSet, name string) NormalizedName { + if f.normalizeNameFunc != nil { + return f.normalizeNameFunc + } + return func(f *FlagSet, name string) NormalizedName { return NormalizedName(name) } +} + +func (f *FlagSet) normalizeFlagName(name string) NormalizedName { + n := f.GetNormalizeFunc() + return n(f, name) +} + +func (f *FlagSet) out() io.Writer { + if f.output == nil { + return os.Stderr + } + return f.output +} + +// SetOutput sets the destination for usage and error messages. +// If output is nil, os.Stderr is used. +func (f *FlagSet) SetOutput(output io.Writer) { + f.output = output +} + +// VisitAll visits the flags in lexicographical order or +// in primordial order if f.SortFlags is false, calling fn for each. +// It visits all flags, even those not set. +func (f *FlagSet) VisitAll(fn func(*Flag)) { + if len(f.formal) == 0 { + return + } + + var flags []*Flag + if f.SortFlags { + if len(f.formal) != len(f.sortedFormal) { + f.sortedFormal = sortFlags(f.formal) + } + flags = f.sortedFormal + } else { + flags = f.orderedFormal + } + + for _, flag := range flags { + fn(flag) + } +} + +// HasFlags returns a bool to indicate if the FlagSet has any flags defined. +func (f *FlagSet) HasFlags() bool { + return len(f.formal) > 0 +} + +// HasAvailableFlags returns a bool to indicate if the FlagSet has any flags +// that are not hidden. +func (f *FlagSet) HasAvailableFlags() bool { + for _, flag := range f.formal { + if !flag.Hidden { + return true + } + } + return false +} + +// VisitAll visits the command-line flags in lexicographical order or +// in primordial order if f.SortFlags is false, calling fn for each. +// It visits all flags, even those not set. +func VisitAll(fn func(*Flag)) { + CommandLine.VisitAll(fn) +} + +// Visit visits the flags in lexicographical order or +// in primordial order if f.SortFlags is false, calling fn for each. +// It visits only those flags that have been set. +func (f *FlagSet) Visit(fn func(*Flag)) { + if len(f.actual) == 0 { + return + } + + var flags []*Flag + if f.SortFlags { + if len(f.actual) != len(f.sortedActual) { + f.sortedActual = sortFlags(f.actual) + } + flags = f.sortedActual + } else { + flags = f.orderedActual + } + + for _, flag := range flags { + fn(flag) + } +} + +// Visit visits the command-line flags in lexicographical order or +// in primordial order if f.SortFlags is false, calling fn for each. +// It visits only those flags that have been set. +func Visit(fn func(*Flag)) { + CommandLine.Visit(fn) +} + +// Lookup returns the Flag structure of the named flag, returning nil if none exists. +func (f *FlagSet) Lookup(name string) *Flag { + return f.lookup(f.normalizeFlagName(name)) +} + +// ShorthandLookup returns the Flag structure of the short handed flag, +// returning nil if none exists. +// It panics, if len(name) > 1. +func (f *FlagSet) ShorthandLookup(name string) *Flag { + if name == "" { + return nil + } + if len(name) > 1 { + msg := fmt.Sprintf("can not look up shorthand which is more than one ASCII character: %q", name) + fmt.Fprintf(f.out(), msg) + panic(msg) + } + c := name[0] + return f.shorthands[c] +} + +// lookup returns the Flag structure of the named flag, returning nil if none exists. +func (f *FlagSet) lookup(name NormalizedName) *Flag { + return f.formal[name] +} + +// func to return a given type for a given flag name +func (f *FlagSet) getFlagType(name string, ftype string, convFunc func(sval string) (interface{}, error)) (interface{}, error) { + flag := f.Lookup(name) + if flag == nil { + err := fmt.Errorf("flag accessed but not defined: %s", name) + return nil, err + } + + if flag.Value.Type() != ftype { + err := fmt.Errorf("trying to get %s value of flag of type %s", ftype, flag.Value.Type()) + return nil, err + } + + sval := flag.Value.String() + result, err := convFunc(sval) + if err != nil { + return nil, err + } + return result, nil +} + +// ArgsLenAtDash will return the length of f.Args at the moment when a -- was +// found during arg parsing. This allows your program to know which args were +// before the -- and which came after. +func (f *FlagSet) ArgsLenAtDash() int { + return f.argsLenAtDash +} + +// MarkDeprecated indicated that a flag is deprecated in your program. It will +// continue to function but will not show up in help or usage messages. Using +// this flag will also print the given usageMessage. +func (f *FlagSet) MarkDeprecated(name string, usageMessage string) error { + flag := f.Lookup(name) + if flag == nil { + return fmt.Errorf("flag %q does not exist", name) + } + if usageMessage == "" { + return fmt.Errorf("deprecated message for flag %q must be set", name) + } + flag.Deprecated = usageMessage + flag.Hidden = true + return nil +} + +// MarkShorthandDeprecated will mark the shorthand of a flag deprecated in your +// program. It will continue to function but will not show up in help or usage +// messages. Using this flag will also print the given usageMessage. +func (f *FlagSet) MarkShorthandDeprecated(name string, usageMessage string) error { + flag := f.Lookup(name) + if flag == nil { + return fmt.Errorf("flag %q does not exist", name) + } + if usageMessage == "" { + return fmt.Errorf("deprecated message for flag %q must be set", name) + } + flag.ShorthandDeprecated = usageMessage + return nil +} + +// MarkHidden sets a flag to 'hidden' in your program. It will continue to +// function but will not show up in help or usage messages. +func (f *FlagSet) MarkHidden(name string) error { + flag := f.Lookup(name) + if flag == nil { + return fmt.Errorf("flag %q does not exist", name) + } + flag.Hidden = true + return nil +} + +// Lookup returns the Flag structure of the named command-line flag, +// returning nil if none exists. +func Lookup(name string) *Flag { + return CommandLine.Lookup(name) +} + +// ShorthandLookup returns the Flag structure of the short handed flag, +// returning nil if none exists. +func ShorthandLookup(name string) *Flag { + return CommandLine.ShorthandLookup(name) +} + +// Set sets the value of the named flag. +func (f *FlagSet) Set(name, value string) error { + normalName := f.normalizeFlagName(name) + flag, ok := f.formal[normalName] + if !ok { + return fmt.Errorf("no such flag -%v", name) + } + + err := flag.Value.Set(value) + if err != nil { + var flagName string + if flag.Shorthand != "" && flag.ShorthandDeprecated == "" { + flagName = fmt.Sprintf("-%s, --%s", flag.Shorthand, flag.Name) + } else { + flagName = fmt.Sprintf("--%s", flag.Name) + } + return fmt.Errorf("invalid argument %q for %q flag: %v", value, flagName, err) + } + + if !flag.Changed { + if f.actual == nil { + f.actual = make(map[NormalizedName]*Flag) + } + f.actual[normalName] = flag + f.orderedActual = append(f.orderedActual, flag) + + flag.Changed = true + } + + if flag.Deprecated != "" { + fmt.Fprintf(f.out(), "Flag --%s has been deprecated, %s\n", flag.Name, flag.Deprecated) + } + return nil +} + +// SetAnnotation allows one to set arbitrary annotations on a flag in the FlagSet. +// This is sometimes used by spf13/cobra programs which want to generate additional +// bash completion information. +func (f *FlagSet) SetAnnotation(name, key string, values []string) error { + normalName := f.normalizeFlagName(name) + flag, ok := f.formal[normalName] + if !ok { + return fmt.Errorf("no such flag -%v", name) + } + if flag.Annotations == nil { + flag.Annotations = map[string][]string{} + } + flag.Annotations[key] = values + return nil +} + +// Changed returns true if the flag was explicitly set during Parse() and false +// otherwise +func (f *FlagSet) Changed(name string) bool { + flag := f.Lookup(name) + // If a flag doesn't exist, it wasn't changed.... + if flag == nil { + return false + } + return flag.Changed +} + +// Set sets the value of the named command-line flag. +func Set(name, value string) error { + return CommandLine.Set(name, value) +} + +// PrintDefaults prints, to standard error unless configured +// otherwise, the default values of all defined flags in the set. +func (f *FlagSet) PrintDefaults() { + usages := f.FlagUsages() + fmt.Fprint(f.out(), usages) +} + +// defaultIsZeroValue returns true if the default value for this flag represents +// a zero value. +func (f *Flag) defaultIsZeroValue() bool { + switch f.Value.(type) { + case boolFlag: + return f.DefValue == "false" + case *durationValue: + // Beginning in Go 1.7, duration zero values are "0s" + return f.DefValue == "0" || f.DefValue == "0s" + case *intValue, *int8Value, *int32Value, *int64Value, *uintValue, *uint8Value, *uint16Value, *uint32Value, *uint64Value, *countValue, *float32Value, *float64Value: + return f.DefValue == "0" + case *stringValue: + return f.DefValue == "" + case *ipValue, *ipMaskValue, *ipNetValue: + return f.DefValue == "" + case *intSliceValue, *stringSliceValue, *stringArrayValue: + return f.DefValue == "[]" + default: + switch f.Value.String() { + case "false": + return true + case "": + return true + case "": + return true + case "0": + return true + } + return false + } +} + +// UnquoteUsage extracts a back-quoted name from the usage +// string for a flag and returns it and the un-quoted usage. +// Given "a `name` to show" it returns ("name", "a name to show"). +// If there are no back quotes, the name is an educated guess of the +// type of the flag's value, or the empty string if the flag is boolean. +func UnquoteUsage(flag *Flag) (name string, usage string) { + // Look for a back-quoted name, but avoid the strings package. + usage = flag.Usage + for i := 0; i < len(usage); i++ { + if usage[i] == '`' { + for j := i + 1; j < len(usage); j++ { + if usage[j] == '`' { + name = usage[i+1 : j] + usage = usage[:i] + name + usage[j+1:] + return name, usage + } + } + break // Only one back quote; use type name. + } + } + + name = flag.Value.Type() + switch name { + case "bool": + name = "" + case "float64": + name = "float" + case "int64": + name = "int" + case "uint64": + name = "uint" + case "stringSlice": + name = "strings" + case "intSlice": + name = "ints" + case "uintSlice": + name = "uints" + case "boolSlice": + name = "bools" + } + + return +} + +// Splits the string `s` on whitespace into an initial substring up to +// `i` runes in length and the remainder. Will go `slop` over `i` if +// that encompasses the entire string (which allows the caller to +// avoid short orphan words on the final line). +func wrapN(i, slop int, s string) (string, string) { + if i+slop > len(s) { + return s, "" + } + + w := strings.LastIndexAny(s[:i], " \t\n") + if w <= 0 { + return s, "" + } + nlPos := strings.LastIndex(s[:i], "\n") + if nlPos > 0 && nlPos < w { + return s[:nlPos], s[nlPos+1:] + } + return s[:w], s[w+1:] +} + +// Wraps the string `s` to a maximum width `w` with leading indent +// `i`. The first line is not indented (this is assumed to be done by +// caller). Pass `w` == 0 to do no wrapping +func wrap(i, w int, s string) string { + if w == 0 { + return strings.Replace(s, "\n", "\n"+strings.Repeat(" ", i), -1) + } + + // space between indent i and end of line width w into which + // we should wrap the text. + wrap := w - i + + var r, l string + + // Not enough space for sensible wrapping. Wrap as a block on + // the next line instead. + if wrap < 24 { + i = 16 + wrap = w - i + r += "\n" + strings.Repeat(" ", i) + } + // If still not enough space then don't even try to wrap. + if wrap < 24 { + return strings.Replace(s, "\n", r, -1) + } + + // Try to avoid short orphan words on the final line, by + // allowing wrapN to go a bit over if that would fit in the + // remainder of the line. + slop := 5 + wrap = wrap - slop + + // Handle first line, which is indented by the caller (or the + // special case above) + l, s = wrapN(wrap, slop, s) + r = r + strings.Replace(l, "\n", "\n"+strings.Repeat(" ", i), -1) + + // Now wrap the rest + for s != "" { + var t string + + t, s = wrapN(wrap, slop, s) + r = r + "\n" + strings.Repeat(" ", i) + strings.Replace(t, "\n", "\n"+strings.Repeat(" ", i), -1) + } + + return r + +} + +// FlagUsagesWrapped returns a string containing the usage information +// for all flags in the FlagSet. Wrapped to `cols` columns (0 for no +// wrapping) +func (f *FlagSet) FlagUsagesWrapped(cols int) string { + buf := new(bytes.Buffer) + + lines := make([]string, 0, len(f.formal)) + + maxlen := 0 + f.VisitAll(func(flag *Flag) { + if flag.Hidden { + return + } + + line := "" + if flag.Shorthand != "" && flag.ShorthandDeprecated == "" { + line = fmt.Sprintf(" -%s, --%s", flag.Shorthand, flag.Name) + } else { + line = fmt.Sprintf(" --%s", flag.Name) + } + + varname, usage := UnquoteUsage(flag) + if varname != "" { + line += " " + varname + } + if flag.NoOptDefVal != "" { + switch flag.Value.Type() { + case "string": + line += fmt.Sprintf("[=\"%s\"]", flag.NoOptDefVal) + case "bool": + if flag.NoOptDefVal != "true" { + line += fmt.Sprintf("[=%s]", flag.NoOptDefVal) + } + case "count": + if flag.NoOptDefVal != "+1" { + line += fmt.Sprintf("[=%s]", flag.NoOptDefVal) + } + default: + line += fmt.Sprintf("[=%s]", flag.NoOptDefVal) + } + } + + // This special character will be replaced with spacing once the + // correct alignment is calculated + line += "\x00" + if len(line) > maxlen { + maxlen = len(line) + } + + line += usage + if !flag.defaultIsZeroValue() { + if flag.Value.Type() == "string" { + line += fmt.Sprintf(" (default %q)", flag.DefValue) + } else { + line += fmt.Sprintf(" (default %s)", flag.DefValue) + } + } + if len(flag.Deprecated) != 0 { + line += fmt.Sprintf(" (DEPRECATED: %s)", flag.Deprecated) + } + + lines = append(lines, line) + }) + + for _, line := range lines { + sidx := strings.Index(line, "\x00") + spacing := strings.Repeat(" ", maxlen-sidx) + // maxlen + 2 comes from + 1 for the \x00 and + 1 for the (deliberate) off-by-one in maxlen-sidx + fmt.Fprintln(buf, line[:sidx], spacing, wrap(maxlen+2, cols, line[sidx+1:])) + } + + return buf.String() +} + +// FlagUsages returns a string containing the usage information for all flags in +// the FlagSet +func (f *FlagSet) FlagUsages() string { + return f.FlagUsagesWrapped(0) +} + +// PrintDefaults prints to standard error the default values of all defined command-line flags. +func PrintDefaults() { + CommandLine.PrintDefaults() +} + +// defaultUsage is the default function to print a usage message. +func defaultUsage(f *FlagSet) { + fmt.Fprintf(f.out(), "Usage of %s:\n", f.name) + f.PrintDefaults() +} + +// NOTE: Usage is not just defaultUsage(CommandLine) +// because it serves (via godoc flag Usage) as the example +// for how to write your own usage function. + +// Usage prints to standard error a usage message documenting all defined command-line flags. +// The function is a variable that may be changed to point to a custom function. +// By default it prints a simple header and calls PrintDefaults; for details about the +// format of the output and how to control it, see the documentation for PrintDefaults. +var Usage = func() { + fmt.Fprintf(os.Stderr, "Usage of %s:\n", os.Args[0]) + PrintDefaults() +} + +// NFlag returns the number of flags that have been set. +func (f *FlagSet) NFlag() int { return len(f.actual) } + +// NFlag returns the number of command-line flags that have been set. +func NFlag() int { return len(CommandLine.actual) } + +// Arg returns the i'th argument. Arg(0) is the first remaining argument +// after flags have been processed. +func (f *FlagSet) Arg(i int) string { + if i < 0 || i >= len(f.args) { + return "" + } + return f.args[i] +} + +// Arg returns the i'th command-line argument. Arg(0) is the first remaining argument +// after flags have been processed. +func Arg(i int) string { + return CommandLine.Arg(i) +} + +// NArg is the number of arguments remaining after flags have been processed. +func (f *FlagSet) NArg() int { return len(f.args) } + +// NArg is the number of arguments remaining after flags have been processed. +func NArg() int { return len(CommandLine.args) } + +// Args returns the non-flag arguments. +func (f *FlagSet) Args() []string { return f.args } + +// Args returns the non-flag command-line arguments. +func Args() []string { return CommandLine.args } + +// Var defines a flag with the specified name and usage string. The type and +// value of the flag are represented by the first argument, of type Value, which +// typically holds a user-defined implementation of Value. For instance, the +// caller could create a flag that turns a comma-separated string into a slice +// of strings by giving the slice the methods of Value; in particular, Set would +// decompose the comma-separated string into the slice. +func (f *FlagSet) Var(value Value, name string, usage string) { + f.VarP(value, name, "", usage) +} + +// VarPF is like VarP, but returns the flag created +func (f *FlagSet) VarPF(value Value, name, shorthand, usage string) *Flag { + // Remember the default value as a string; it won't change. + flag := &Flag{ + Name: name, + Shorthand: shorthand, + Usage: usage, + Value: value, + DefValue: value.String(), + } + f.AddFlag(flag) + return flag +} + +// VarP is like Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) VarP(value Value, name, shorthand, usage string) { + f.VarPF(value, name, shorthand, usage) +} + +// AddFlag will add the flag to the FlagSet +func (f *FlagSet) AddFlag(flag *Flag) { + normalizedFlagName := f.normalizeFlagName(flag.Name) + + _, alreadyThere := f.formal[normalizedFlagName] + if alreadyThere { + msg := fmt.Sprintf("%s flag redefined: %s", f.name, flag.Name) + fmt.Fprintln(f.out(), msg) + panic(msg) // Happens only if flags are declared with identical names + } + if f.formal == nil { + f.formal = make(map[NormalizedName]*Flag) + } + + flag.Name = string(normalizedFlagName) + f.formal[normalizedFlagName] = flag + f.orderedFormal = append(f.orderedFormal, flag) + + if flag.Shorthand == "" { + return + } + if len(flag.Shorthand) > 1 { + msg := fmt.Sprintf("%q shorthand is more than one ASCII character", flag.Shorthand) + fmt.Fprintf(f.out(), msg) + panic(msg) + } + if f.shorthands == nil { + f.shorthands = make(map[byte]*Flag) + } + c := flag.Shorthand[0] + used, alreadyThere := f.shorthands[c] + if alreadyThere { + msg := fmt.Sprintf("unable to redefine %q shorthand in %q flagset: it's already used for %q flag", c, f.name, used.Name) + fmt.Fprintf(f.out(), msg) + panic(msg) + } + f.shorthands[c] = flag +} + +// AddFlagSet adds one FlagSet to another. If a flag is already present in f +// the flag from newSet will be ignored. +func (f *FlagSet) AddFlagSet(newSet *FlagSet) { + if newSet == nil { + return + } + newSet.VisitAll(func(flag *Flag) { + if f.Lookup(flag.Name) == nil { + f.AddFlag(flag) + } + }) +} + +// Var defines a flag with the specified name and usage string. The type and +// value of the flag are represented by the first argument, of type Value, which +// typically holds a user-defined implementation of Value. For instance, the +// caller could create a flag that turns a comma-separated string into a slice +// of strings by giving the slice the methods of Value; in particular, Set would +// decompose the comma-separated string into the slice. +func Var(value Value, name string, usage string) { + CommandLine.VarP(value, name, "", usage) +} + +// VarP is like Var, but accepts a shorthand letter that can be used after a single dash. +func VarP(value Value, name, shorthand, usage string) { + CommandLine.VarP(value, name, shorthand, usage) +} + +// failf prints to standard error a formatted error and usage message and +// returns the error. +func (f *FlagSet) failf(format string, a ...interface{}) error { + err := fmt.Errorf(format, a...) + if f.errorHandling != ContinueOnError { + fmt.Fprintln(f.out(), err) + f.usage() + } + return err +} + +// usage calls the Usage method for the flag set, or the usage function if +// the flag set is CommandLine. +func (f *FlagSet) usage() { + if f == CommandLine { + Usage() + } else if f.Usage == nil { + defaultUsage(f) + } else { + f.Usage() + } +} + +//--unknown (args will be empty) +//--unknown --next-flag ... (args will be --next-flag ...) +//--unknown arg ... (args will be arg ...) +func stripUnknownFlagValue(args []string) []string { + if len(args) == 0 { + //--unknown + return args + } + + first := args[0] + if len(first) > 0 && first[0] == '-' { + //--unknown --next-flag ... + return args + } + + //--unknown arg ... (args will be arg ...) + if len(args) > 1 { + return args[1:] + } + return nil +} + +func (f *FlagSet) parseLongArg(s string, args []string, fn parseFunc) (a []string, err error) { + a = args + name := s[2:] + if len(name) == 0 || name[0] == '-' || name[0] == '=' { + err = f.failf("bad flag syntax: %s", s) + return + } + + split := strings.SplitN(name, "=", 2) + name = split[0] + flag, exists := f.formal[f.normalizeFlagName(name)] + + if !exists { + switch { + case name == "help": + f.usage() + return a, ErrHelp + case f.ParseErrorsWhitelist.UnknownFlags: + // --unknown=unknownval arg ... + // we do not want to lose arg in this case + if len(split) >= 2 { + return a, nil + } + + return stripUnknownFlagValue(a), nil + default: + err = f.failf("unknown flag: --%s", name) + return + } + } + + var value string + if len(split) == 2 { + // '--flag=arg' + value = split[1] + } else if flag.NoOptDefVal != "" { + // '--flag' (arg was optional) + value = flag.NoOptDefVal + } else if len(a) > 0 { + // '--flag arg' + value = a[0] + a = a[1:] + } else { + // '--flag' (arg was required) + err = f.failf("flag needs an argument: %s", s) + return + } + + err = fn(flag, value) + if err != nil { + f.failf(err.Error()) + } + return +} + +func (f *FlagSet) parseSingleShortArg(shorthands string, args []string, fn parseFunc) (outShorts string, outArgs []string, err error) { + outArgs = args + + if strings.HasPrefix(shorthands, "test.") { + return + } + + outShorts = shorthands[1:] + c := shorthands[0] + + flag, exists := f.shorthands[c] + if !exists { + switch { + case c == 'h': + f.usage() + err = ErrHelp + return + case f.ParseErrorsWhitelist.UnknownFlags: + // '-f=arg arg ...' + // we do not want to lose arg in this case + if len(shorthands) > 2 && shorthands[1] == '=' { + outShorts = "" + return + } + + outArgs = stripUnknownFlagValue(outArgs) + return + default: + err = f.failf("unknown shorthand flag: %q in -%s", c, shorthands) + return + } + } + + var value string + if len(shorthands) > 2 && shorthands[1] == '=' { + // '-f=arg' + value = shorthands[2:] + outShorts = "" + } else if flag.NoOptDefVal != "" { + // '-f' (arg was optional) + value = flag.NoOptDefVal + } else if len(shorthands) > 1 { + // '-farg' + value = shorthands[1:] + outShorts = "" + } else if len(args) > 0 { + // '-f arg' + value = args[0] + outArgs = args[1:] + } else { + // '-f' (arg was required) + err = f.failf("flag needs an argument: %q in -%s", c, shorthands) + return + } + + if flag.ShorthandDeprecated != "" { + fmt.Fprintf(f.out(), "Flag shorthand -%s has been deprecated, %s\n", flag.Shorthand, flag.ShorthandDeprecated) + } + + err = fn(flag, value) + if err != nil { + f.failf(err.Error()) + } + return +} + +func (f *FlagSet) parseShortArg(s string, args []string, fn parseFunc) (a []string, err error) { + a = args + shorthands := s[1:] + + // "shorthands" can be a series of shorthand letters of flags (e.g. "-vvv"). + for len(shorthands) > 0 { + shorthands, a, err = f.parseSingleShortArg(shorthands, args, fn) + if err != nil { + return + } + } + + return +} + +func (f *FlagSet) parseArgs(args []string, fn parseFunc) (err error) { + for len(args) > 0 { + s := args[0] + args = args[1:] + if len(s) == 0 || s[0] != '-' || len(s) == 1 { + if !f.interspersed { + f.args = append(f.args, s) + f.args = append(f.args, args...) + return nil + } + f.args = append(f.args, s) + continue + } + + if s[1] == '-' { + if len(s) == 2 { // "--" terminates the flags + f.argsLenAtDash = len(f.args) + f.args = append(f.args, args...) + break + } + args, err = f.parseLongArg(s, args, fn) + } else { + args, err = f.parseShortArg(s, args, fn) + } + if err != nil { + return + } + } + return +} + +// Parse parses flag definitions from the argument list, which should not +// include the command name. Must be called after all flags in the FlagSet +// are defined and before flags are accessed by the program. +// The return value will be ErrHelp if -help was set but not defined. +func (f *FlagSet) Parse(arguments []string) error { + if f.addedGoFlagSets != nil { + for _, goFlagSet := range f.addedGoFlagSets { + goFlagSet.Parse(nil) + } + } + f.parsed = true + + if len(arguments) < 0 { + return nil + } + + f.args = make([]string, 0, len(arguments)) + + set := func(flag *Flag, value string) error { + return f.Set(flag.Name, value) + } + + err := f.parseArgs(arguments, set) + if err != nil { + switch f.errorHandling { + case ContinueOnError: + return err + case ExitOnError: + fmt.Println(err) + os.Exit(2) + case PanicOnError: + panic(err) + } + } + return nil +} + +type parseFunc func(flag *Flag, value string) error + +// ParseAll parses flag definitions from the argument list, which should not +// include the command name. The arguments for fn are flag and value. Must be +// called after all flags in the FlagSet are defined and before flags are +// accessed by the program. The return value will be ErrHelp if -help was set +// but not defined. +func (f *FlagSet) ParseAll(arguments []string, fn func(flag *Flag, value string) error) error { + f.parsed = true + f.args = make([]string, 0, len(arguments)) + + err := f.parseArgs(arguments, fn) + if err != nil { + switch f.errorHandling { + case ContinueOnError: + return err + case ExitOnError: + os.Exit(2) + case PanicOnError: + panic(err) + } + } + return nil +} + +// Parsed reports whether f.Parse has been called. +func (f *FlagSet) Parsed() bool { + return f.parsed +} + +// Parse parses the command-line flags from os.Args[1:]. Must be called +// after all flags are defined and before flags are accessed by the program. +func Parse() { + // Ignore errors; CommandLine is set for ExitOnError. + CommandLine.Parse(os.Args[1:]) +} + +// ParseAll parses the command-line flags from os.Args[1:] and called fn for each. +// The arguments for fn are flag and value. Must be called after all flags are +// defined and before flags are accessed by the program. +func ParseAll(fn func(flag *Flag, value string) error) { + // Ignore errors; CommandLine is set for ExitOnError. + CommandLine.ParseAll(os.Args[1:], fn) +} + +// SetInterspersed sets whether to support interspersed option/non-option arguments. +func SetInterspersed(interspersed bool) { + CommandLine.SetInterspersed(interspersed) +} + +// Parsed returns true if the command-line flags have been parsed. +func Parsed() bool { + return CommandLine.Parsed() +} + +// CommandLine is the default set of command-line flags, parsed from os.Args. +var CommandLine = NewFlagSet(os.Args[0], ExitOnError) + +// NewFlagSet returns a new, empty flag set with the specified name, +// error handling property and SortFlags set to true. +func NewFlagSet(name string, errorHandling ErrorHandling) *FlagSet { + f := &FlagSet{ + name: name, + errorHandling: errorHandling, + argsLenAtDash: -1, + interspersed: true, + SortFlags: true, + } + return f +} + +// SetInterspersed sets whether to support interspersed option/non-option arguments. +func (f *FlagSet) SetInterspersed(interspersed bool) { + f.interspersed = interspersed +} + +// Init sets the name and error handling property for a flag set. +// By default, the zero FlagSet uses an empty name and the +// ContinueOnError error handling policy. +func (f *FlagSet) Init(name string, errorHandling ErrorHandling) { + f.name = name + f.errorHandling = errorHandling + f.argsLenAtDash = -1 +} diff --git a/vendor/github.com/spf13/pflag/float32.go b/vendor/github.com/spf13/pflag/float32.go new file mode 100644 index 000000000..a243f81f7 --- /dev/null +++ b/vendor/github.com/spf13/pflag/float32.go @@ -0,0 +1,88 @@ +package pflag + +import "strconv" + +// -- float32 Value +type float32Value float32 + +func newFloat32Value(val float32, p *float32) *float32Value { + *p = val + return (*float32Value)(p) +} + +func (f *float32Value) Set(s string) error { + v, err := strconv.ParseFloat(s, 32) + *f = float32Value(v) + return err +} + +func (f *float32Value) Type() string { + return "float32" +} + +func (f *float32Value) String() string { return strconv.FormatFloat(float64(*f), 'g', -1, 32) } + +func float32Conv(sval string) (interface{}, error) { + v, err := strconv.ParseFloat(sval, 32) + if err != nil { + return 0, err + } + return float32(v), nil +} + +// GetFloat32 return the float32 value of a flag with the given name +func (f *FlagSet) GetFloat32(name string) (float32, error) { + val, err := f.getFlagType(name, "float32", float32Conv) + if err != nil { + return 0, err + } + return val.(float32), nil +} + +// Float32Var defines a float32 flag with specified name, default value, and usage string. +// The argument p points to a float32 variable in which to store the value of the flag. +func (f *FlagSet) Float32Var(p *float32, name string, value float32, usage string) { + f.VarP(newFloat32Value(value, p), name, "", usage) +} + +// Float32VarP is like Float32Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Float32VarP(p *float32, name, shorthand string, value float32, usage string) { + f.VarP(newFloat32Value(value, p), name, shorthand, usage) +} + +// Float32Var defines a float32 flag with specified name, default value, and usage string. +// The argument p points to a float32 variable in which to store the value of the flag. +func Float32Var(p *float32, name string, value float32, usage string) { + CommandLine.VarP(newFloat32Value(value, p), name, "", usage) +} + +// Float32VarP is like Float32Var, but accepts a shorthand letter that can be used after a single dash. +func Float32VarP(p *float32, name, shorthand string, value float32, usage string) { + CommandLine.VarP(newFloat32Value(value, p), name, shorthand, usage) +} + +// Float32 defines a float32 flag with specified name, default value, and usage string. +// The return value is the address of a float32 variable that stores the value of the flag. +func (f *FlagSet) Float32(name string, value float32, usage string) *float32 { + p := new(float32) + f.Float32VarP(p, name, "", value, usage) + return p +} + +// Float32P is like Float32, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Float32P(name, shorthand string, value float32, usage string) *float32 { + p := new(float32) + f.Float32VarP(p, name, shorthand, value, usage) + return p +} + +// Float32 defines a float32 flag with specified name, default value, and usage string. +// The return value is the address of a float32 variable that stores the value of the flag. +func Float32(name string, value float32, usage string) *float32 { + return CommandLine.Float32P(name, "", value, usage) +} + +// Float32P is like Float32, but accepts a shorthand letter that can be used after a single dash. +func Float32P(name, shorthand string, value float32, usage string) *float32 { + return CommandLine.Float32P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/float64.go b/vendor/github.com/spf13/pflag/float64.go new file mode 100644 index 000000000..04b5492a7 --- /dev/null +++ b/vendor/github.com/spf13/pflag/float64.go @@ -0,0 +1,84 @@ +package pflag + +import "strconv" + +// -- float64 Value +type float64Value float64 + +func newFloat64Value(val float64, p *float64) *float64Value { + *p = val + return (*float64Value)(p) +} + +func (f *float64Value) Set(s string) error { + v, err := strconv.ParseFloat(s, 64) + *f = float64Value(v) + return err +} + +func (f *float64Value) Type() string { + return "float64" +} + +func (f *float64Value) String() string { return strconv.FormatFloat(float64(*f), 'g', -1, 64) } + +func float64Conv(sval string) (interface{}, error) { + return strconv.ParseFloat(sval, 64) +} + +// GetFloat64 return the float64 value of a flag with the given name +func (f *FlagSet) GetFloat64(name string) (float64, error) { + val, err := f.getFlagType(name, "float64", float64Conv) + if err != nil { + return 0, err + } + return val.(float64), nil +} + +// Float64Var defines a float64 flag with specified name, default value, and usage string. +// The argument p points to a float64 variable in which to store the value of the flag. +func (f *FlagSet) Float64Var(p *float64, name string, value float64, usage string) { + f.VarP(newFloat64Value(value, p), name, "", usage) +} + +// Float64VarP is like Float64Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Float64VarP(p *float64, name, shorthand string, value float64, usage string) { + f.VarP(newFloat64Value(value, p), name, shorthand, usage) +} + +// Float64Var defines a float64 flag with specified name, default value, and usage string. +// The argument p points to a float64 variable in which to store the value of the flag. +func Float64Var(p *float64, name string, value float64, usage string) { + CommandLine.VarP(newFloat64Value(value, p), name, "", usage) +} + +// Float64VarP is like Float64Var, but accepts a shorthand letter that can be used after a single dash. +func Float64VarP(p *float64, name, shorthand string, value float64, usage string) { + CommandLine.VarP(newFloat64Value(value, p), name, shorthand, usage) +} + +// Float64 defines a float64 flag with specified name, default value, and usage string. +// The return value is the address of a float64 variable that stores the value of the flag. +func (f *FlagSet) Float64(name string, value float64, usage string) *float64 { + p := new(float64) + f.Float64VarP(p, name, "", value, usage) + return p +} + +// Float64P is like Float64, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Float64P(name, shorthand string, value float64, usage string) *float64 { + p := new(float64) + f.Float64VarP(p, name, shorthand, value, usage) + return p +} + +// Float64 defines a float64 flag with specified name, default value, and usage string. +// The return value is the address of a float64 variable that stores the value of the flag. +func Float64(name string, value float64, usage string) *float64 { + return CommandLine.Float64P(name, "", value, usage) +} + +// Float64P is like Float64, but accepts a shorthand letter that can be used after a single dash. +func Float64P(name, shorthand string, value float64, usage string) *float64 { + return CommandLine.Float64P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/golangflag.go b/vendor/github.com/spf13/pflag/golangflag.go new file mode 100644 index 000000000..d3dd72b7f --- /dev/null +++ b/vendor/github.com/spf13/pflag/golangflag.go @@ -0,0 +1,105 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package pflag + +import ( + goflag "flag" + "reflect" + "strings" +) + +// flagValueWrapper implements pflag.Value around a flag.Value. The main +// difference here is the addition of the Type method that returns a string +// name of the type. As this is generally unknown, we approximate that with +// reflection. +type flagValueWrapper struct { + inner goflag.Value + flagType string +} + +// We are just copying the boolFlag interface out of goflag as that is what +// they use to decide if a flag should get "true" when no arg is given. +type goBoolFlag interface { + goflag.Value + IsBoolFlag() bool +} + +func wrapFlagValue(v goflag.Value) Value { + // If the flag.Value happens to also be a pflag.Value, just use it directly. + if pv, ok := v.(Value); ok { + return pv + } + + pv := &flagValueWrapper{ + inner: v, + } + + t := reflect.TypeOf(v) + if t.Kind() == reflect.Interface || t.Kind() == reflect.Ptr { + t = t.Elem() + } + + pv.flagType = strings.TrimSuffix(t.Name(), "Value") + return pv +} + +func (v *flagValueWrapper) String() string { + return v.inner.String() +} + +func (v *flagValueWrapper) Set(s string) error { + return v.inner.Set(s) +} + +func (v *flagValueWrapper) Type() string { + return v.flagType +} + +// PFlagFromGoFlag will return a *pflag.Flag given a *flag.Flag +// If the *flag.Flag.Name was a single character (ex: `v`) it will be accessiblei +// with both `-v` and `--v` in flags. If the golang flag was more than a single +// character (ex: `verbose`) it will only be accessible via `--verbose` +func PFlagFromGoFlag(goflag *goflag.Flag) *Flag { + // Remember the default value as a string; it won't change. + flag := &Flag{ + Name: goflag.Name, + Usage: goflag.Usage, + Value: wrapFlagValue(goflag.Value), + // Looks like golang flags don't set DefValue correctly :-( + //DefValue: goflag.DefValue, + DefValue: goflag.Value.String(), + } + // Ex: if the golang flag was -v, allow both -v and --v to work + if len(flag.Name) == 1 { + flag.Shorthand = flag.Name + } + if fv, ok := goflag.Value.(goBoolFlag); ok && fv.IsBoolFlag() { + flag.NoOptDefVal = "true" + } + return flag +} + +// AddGoFlag will add the given *flag.Flag to the pflag.FlagSet +func (f *FlagSet) AddGoFlag(goflag *goflag.Flag) { + if f.Lookup(goflag.Name) != nil { + return + } + newflag := PFlagFromGoFlag(goflag) + f.AddFlag(newflag) +} + +// AddGoFlagSet will add the given *flag.FlagSet to the pflag.FlagSet +func (f *FlagSet) AddGoFlagSet(newSet *goflag.FlagSet) { + if newSet == nil { + return + } + newSet.VisitAll(func(goflag *goflag.Flag) { + f.AddGoFlag(goflag) + }) + if f.addedGoFlagSets == nil { + f.addedGoFlagSets = make([]*goflag.FlagSet, 0) + } + f.addedGoFlagSets = append(f.addedGoFlagSets, newSet) +} diff --git a/vendor/github.com/spf13/pflag/int.go b/vendor/github.com/spf13/pflag/int.go new file mode 100644 index 000000000..1474b89df --- /dev/null +++ b/vendor/github.com/spf13/pflag/int.go @@ -0,0 +1,84 @@ +package pflag + +import "strconv" + +// -- int Value +type intValue int + +func newIntValue(val int, p *int) *intValue { + *p = val + return (*intValue)(p) +} + +func (i *intValue) Set(s string) error { + v, err := strconv.ParseInt(s, 0, 64) + *i = intValue(v) + return err +} + +func (i *intValue) Type() string { + return "int" +} + +func (i *intValue) String() string { return strconv.Itoa(int(*i)) } + +func intConv(sval string) (interface{}, error) { + return strconv.Atoi(sval) +} + +// GetInt return the int value of a flag with the given name +func (f *FlagSet) GetInt(name string) (int, error) { + val, err := f.getFlagType(name, "int", intConv) + if err != nil { + return 0, err + } + return val.(int), nil +} + +// IntVar defines an int flag with specified name, default value, and usage string. +// The argument p points to an int variable in which to store the value of the flag. +func (f *FlagSet) IntVar(p *int, name string, value int, usage string) { + f.VarP(newIntValue(value, p), name, "", usage) +} + +// IntVarP is like IntVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IntVarP(p *int, name, shorthand string, value int, usage string) { + f.VarP(newIntValue(value, p), name, shorthand, usage) +} + +// IntVar defines an int flag with specified name, default value, and usage string. +// The argument p points to an int variable in which to store the value of the flag. +func IntVar(p *int, name string, value int, usage string) { + CommandLine.VarP(newIntValue(value, p), name, "", usage) +} + +// IntVarP is like IntVar, but accepts a shorthand letter that can be used after a single dash. +func IntVarP(p *int, name, shorthand string, value int, usage string) { + CommandLine.VarP(newIntValue(value, p), name, shorthand, usage) +} + +// Int defines an int flag with specified name, default value, and usage string. +// The return value is the address of an int variable that stores the value of the flag. +func (f *FlagSet) Int(name string, value int, usage string) *int { + p := new(int) + f.IntVarP(p, name, "", value, usage) + return p +} + +// IntP is like Int, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IntP(name, shorthand string, value int, usage string) *int { + p := new(int) + f.IntVarP(p, name, shorthand, value, usage) + return p +} + +// Int defines an int flag with specified name, default value, and usage string. +// The return value is the address of an int variable that stores the value of the flag. +func Int(name string, value int, usage string) *int { + return CommandLine.IntP(name, "", value, usage) +} + +// IntP is like Int, but accepts a shorthand letter that can be used after a single dash. +func IntP(name, shorthand string, value int, usage string) *int { + return CommandLine.IntP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/int16.go b/vendor/github.com/spf13/pflag/int16.go new file mode 100644 index 000000000..f1a01d05e --- /dev/null +++ b/vendor/github.com/spf13/pflag/int16.go @@ -0,0 +1,88 @@ +package pflag + +import "strconv" + +// -- int16 Value +type int16Value int16 + +func newInt16Value(val int16, p *int16) *int16Value { + *p = val + return (*int16Value)(p) +} + +func (i *int16Value) Set(s string) error { + v, err := strconv.ParseInt(s, 0, 16) + *i = int16Value(v) + return err +} + +func (i *int16Value) Type() string { + return "int16" +} + +func (i *int16Value) String() string { return strconv.FormatInt(int64(*i), 10) } + +func int16Conv(sval string) (interface{}, error) { + v, err := strconv.ParseInt(sval, 0, 16) + if err != nil { + return 0, err + } + return int16(v), nil +} + +// GetInt16 returns the int16 value of a flag with the given name +func (f *FlagSet) GetInt16(name string) (int16, error) { + val, err := f.getFlagType(name, "int16", int16Conv) + if err != nil { + return 0, err + } + return val.(int16), nil +} + +// Int16Var defines an int16 flag with specified name, default value, and usage string. +// The argument p points to an int16 variable in which to store the value of the flag. +func (f *FlagSet) Int16Var(p *int16, name string, value int16, usage string) { + f.VarP(newInt16Value(value, p), name, "", usage) +} + +// Int16VarP is like Int16Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Int16VarP(p *int16, name, shorthand string, value int16, usage string) { + f.VarP(newInt16Value(value, p), name, shorthand, usage) +} + +// Int16Var defines an int16 flag with specified name, default value, and usage string. +// The argument p points to an int16 variable in which to store the value of the flag. +func Int16Var(p *int16, name string, value int16, usage string) { + CommandLine.VarP(newInt16Value(value, p), name, "", usage) +} + +// Int16VarP is like Int16Var, but accepts a shorthand letter that can be used after a single dash. +func Int16VarP(p *int16, name, shorthand string, value int16, usage string) { + CommandLine.VarP(newInt16Value(value, p), name, shorthand, usage) +} + +// Int16 defines an int16 flag with specified name, default value, and usage string. +// The return value is the address of an int16 variable that stores the value of the flag. +func (f *FlagSet) Int16(name string, value int16, usage string) *int16 { + p := new(int16) + f.Int16VarP(p, name, "", value, usage) + return p +} + +// Int16P is like Int16, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Int16P(name, shorthand string, value int16, usage string) *int16 { + p := new(int16) + f.Int16VarP(p, name, shorthand, value, usage) + return p +} + +// Int16 defines an int16 flag with specified name, default value, and usage string. +// The return value is the address of an int16 variable that stores the value of the flag. +func Int16(name string, value int16, usage string) *int16 { + return CommandLine.Int16P(name, "", value, usage) +} + +// Int16P is like Int16, but accepts a shorthand letter that can be used after a single dash. +func Int16P(name, shorthand string, value int16, usage string) *int16 { + return CommandLine.Int16P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/int32.go b/vendor/github.com/spf13/pflag/int32.go new file mode 100644 index 000000000..9b95944f0 --- /dev/null +++ b/vendor/github.com/spf13/pflag/int32.go @@ -0,0 +1,88 @@ +package pflag + +import "strconv" + +// -- int32 Value +type int32Value int32 + +func newInt32Value(val int32, p *int32) *int32Value { + *p = val + return (*int32Value)(p) +} + +func (i *int32Value) Set(s string) error { + v, err := strconv.ParseInt(s, 0, 32) + *i = int32Value(v) + return err +} + +func (i *int32Value) Type() string { + return "int32" +} + +func (i *int32Value) String() string { return strconv.FormatInt(int64(*i), 10) } + +func int32Conv(sval string) (interface{}, error) { + v, err := strconv.ParseInt(sval, 0, 32) + if err != nil { + return 0, err + } + return int32(v), nil +} + +// GetInt32 return the int32 value of a flag with the given name +func (f *FlagSet) GetInt32(name string) (int32, error) { + val, err := f.getFlagType(name, "int32", int32Conv) + if err != nil { + return 0, err + } + return val.(int32), nil +} + +// Int32Var defines an int32 flag with specified name, default value, and usage string. +// The argument p points to an int32 variable in which to store the value of the flag. +func (f *FlagSet) Int32Var(p *int32, name string, value int32, usage string) { + f.VarP(newInt32Value(value, p), name, "", usage) +} + +// Int32VarP is like Int32Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Int32VarP(p *int32, name, shorthand string, value int32, usage string) { + f.VarP(newInt32Value(value, p), name, shorthand, usage) +} + +// Int32Var defines an int32 flag with specified name, default value, and usage string. +// The argument p points to an int32 variable in which to store the value of the flag. +func Int32Var(p *int32, name string, value int32, usage string) { + CommandLine.VarP(newInt32Value(value, p), name, "", usage) +} + +// Int32VarP is like Int32Var, but accepts a shorthand letter that can be used after a single dash. +func Int32VarP(p *int32, name, shorthand string, value int32, usage string) { + CommandLine.VarP(newInt32Value(value, p), name, shorthand, usage) +} + +// Int32 defines an int32 flag with specified name, default value, and usage string. +// The return value is the address of an int32 variable that stores the value of the flag. +func (f *FlagSet) Int32(name string, value int32, usage string) *int32 { + p := new(int32) + f.Int32VarP(p, name, "", value, usage) + return p +} + +// Int32P is like Int32, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Int32P(name, shorthand string, value int32, usage string) *int32 { + p := new(int32) + f.Int32VarP(p, name, shorthand, value, usage) + return p +} + +// Int32 defines an int32 flag with specified name, default value, and usage string. +// The return value is the address of an int32 variable that stores the value of the flag. +func Int32(name string, value int32, usage string) *int32 { + return CommandLine.Int32P(name, "", value, usage) +} + +// Int32P is like Int32, but accepts a shorthand letter that can be used after a single dash. +func Int32P(name, shorthand string, value int32, usage string) *int32 { + return CommandLine.Int32P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/int64.go b/vendor/github.com/spf13/pflag/int64.go new file mode 100644 index 000000000..0026d781d --- /dev/null +++ b/vendor/github.com/spf13/pflag/int64.go @@ -0,0 +1,84 @@ +package pflag + +import "strconv" + +// -- int64 Value +type int64Value int64 + +func newInt64Value(val int64, p *int64) *int64Value { + *p = val + return (*int64Value)(p) +} + +func (i *int64Value) Set(s string) error { + v, err := strconv.ParseInt(s, 0, 64) + *i = int64Value(v) + return err +} + +func (i *int64Value) Type() string { + return "int64" +} + +func (i *int64Value) String() string { return strconv.FormatInt(int64(*i), 10) } + +func int64Conv(sval string) (interface{}, error) { + return strconv.ParseInt(sval, 0, 64) +} + +// GetInt64 return the int64 value of a flag with the given name +func (f *FlagSet) GetInt64(name string) (int64, error) { + val, err := f.getFlagType(name, "int64", int64Conv) + if err != nil { + return 0, err + } + return val.(int64), nil +} + +// Int64Var defines an int64 flag with specified name, default value, and usage string. +// The argument p points to an int64 variable in which to store the value of the flag. +func (f *FlagSet) Int64Var(p *int64, name string, value int64, usage string) { + f.VarP(newInt64Value(value, p), name, "", usage) +} + +// Int64VarP is like Int64Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Int64VarP(p *int64, name, shorthand string, value int64, usage string) { + f.VarP(newInt64Value(value, p), name, shorthand, usage) +} + +// Int64Var defines an int64 flag with specified name, default value, and usage string. +// The argument p points to an int64 variable in which to store the value of the flag. +func Int64Var(p *int64, name string, value int64, usage string) { + CommandLine.VarP(newInt64Value(value, p), name, "", usage) +} + +// Int64VarP is like Int64Var, but accepts a shorthand letter that can be used after a single dash. +func Int64VarP(p *int64, name, shorthand string, value int64, usage string) { + CommandLine.VarP(newInt64Value(value, p), name, shorthand, usage) +} + +// Int64 defines an int64 flag with specified name, default value, and usage string. +// The return value is the address of an int64 variable that stores the value of the flag. +func (f *FlagSet) Int64(name string, value int64, usage string) *int64 { + p := new(int64) + f.Int64VarP(p, name, "", value, usage) + return p +} + +// Int64P is like Int64, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Int64P(name, shorthand string, value int64, usage string) *int64 { + p := new(int64) + f.Int64VarP(p, name, shorthand, value, usage) + return p +} + +// Int64 defines an int64 flag with specified name, default value, and usage string. +// The return value is the address of an int64 variable that stores the value of the flag. +func Int64(name string, value int64, usage string) *int64 { + return CommandLine.Int64P(name, "", value, usage) +} + +// Int64P is like Int64, but accepts a shorthand letter that can be used after a single dash. +func Int64P(name, shorthand string, value int64, usage string) *int64 { + return CommandLine.Int64P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/int8.go b/vendor/github.com/spf13/pflag/int8.go new file mode 100644 index 000000000..4da92228e --- /dev/null +++ b/vendor/github.com/spf13/pflag/int8.go @@ -0,0 +1,88 @@ +package pflag + +import "strconv" + +// -- int8 Value +type int8Value int8 + +func newInt8Value(val int8, p *int8) *int8Value { + *p = val + return (*int8Value)(p) +} + +func (i *int8Value) Set(s string) error { + v, err := strconv.ParseInt(s, 0, 8) + *i = int8Value(v) + return err +} + +func (i *int8Value) Type() string { + return "int8" +} + +func (i *int8Value) String() string { return strconv.FormatInt(int64(*i), 10) } + +func int8Conv(sval string) (interface{}, error) { + v, err := strconv.ParseInt(sval, 0, 8) + if err != nil { + return 0, err + } + return int8(v), nil +} + +// GetInt8 return the int8 value of a flag with the given name +func (f *FlagSet) GetInt8(name string) (int8, error) { + val, err := f.getFlagType(name, "int8", int8Conv) + if err != nil { + return 0, err + } + return val.(int8), nil +} + +// Int8Var defines an int8 flag with specified name, default value, and usage string. +// The argument p points to an int8 variable in which to store the value of the flag. +func (f *FlagSet) Int8Var(p *int8, name string, value int8, usage string) { + f.VarP(newInt8Value(value, p), name, "", usage) +} + +// Int8VarP is like Int8Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Int8VarP(p *int8, name, shorthand string, value int8, usage string) { + f.VarP(newInt8Value(value, p), name, shorthand, usage) +} + +// Int8Var defines an int8 flag with specified name, default value, and usage string. +// The argument p points to an int8 variable in which to store the value of the flag. +func Int8Var(p *int8, name string, value int8, usage string) { + CommandLine.VarP(newInt8Value(value, p), name, "", usage) +} + +// Int8VarP is like Int8Var, but accepts a shorthand letter that can be used after a single dash. +func Int8VarP(p *int8, name, shorthand string, value int8, usage string) { + CommandLine.VarP(newInt8Value(value, p), name, shorthand, usage) +} + +// Int8 defines an int8 flag with specified name, default value, and usage string. +// The return value is the address of an int8 variable that stores the value of the flag. +func (f *FlagSet) Int8(name string, value int8, usage string) *int8 { + p := new(int8) + f.Int8VarP(p, name, "", value, usage) + return p +} + +// Int8P is like Int8, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Int8P(name, shorthand string, value int8, usage string) *int8 { + p := new(int8) + f.Int8VarP(p, name, shorthand, value, usage) + return p +} + +// Int8 defines an int8 flag with specified name, default value, and usage string. +// The return value is the address of an int8 variable that stores the value of the flag. +func Int8(name string, value int8, usage string) *int8 { + return CommandLine.Int8P(name, "", value, usage) +} + +// Int8P is like Int8, but accepts a shorthand letter that can be used after a single dash. +func Int8P(name, shorthand string, value int8, usage string) *int8 { + return CommandLine.Int8P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/int_slice.go b/vendor/github.com/spf13/pflag/int_slice.go new file mode 100644 index 000000000..1e7c9edde --- /dev/null +++ b/vendor/github.com/spf13/pflag/int_slice.go @@ -0,0 +1,128 @@ +package pflag + +import ( + "fmt" + "strconv" + "strings" +) + +// -- intSlice Value +type intSliceValue struct { + value *[]int + changed bool +} + +func newIntSliceValue(val []int, p *[]int) *intSliceValue { + isv := new(intSliceValue) + isv.value = p + *isv.value = val + return isv +} + +func (s *intSliceValue) Set(val string) error { + ss := strings.Split(val, ",") + out := make([]int, len(ss)) + for i, d := range ss { + var err error + out[i], err = strconv.Atoi(d) + if err != nil { + return err + } + + } + if !s.changed { + *s.value = out + } else { + *s.value = append(*s.value, out...) + } + s.changed = true + return nil +} + +func (s *intSliceValue) Type() string { + return "intSlice" +} + +func (s *intSliceValue) String() string { + out := make([]string, len(*s.value)) + for i, d := range *s.value { + out[i] = fmt.Sprintf("%d", d) + } + return "[" + strings.Join(out, ",") + "]" +} + +func intSliceConv(val string) (interface{}, error) { + val = strings.Trim(val, "[]") + // Empty string would cause a slice with one (empty) entry + if len(val) == 0 { + return []int{}, nil + } + ss := strings.Split(val, ",") + out := make([]int, len(ss)) + for i, d := range ss { + var err error + out[i], err = strconv.Atoi(d) + if err != nil { + return nil, err + } + + } + return out, nil +} + +// GetIntSlice return the []int value of a flag with the given name +func (f *FlagSet) GetIntSlice(name string) ([]int, error) { + val, err := f.getFlagType(name, "intSlice", intSliceConv) + if err != nil { + return []int{}, err + } + return val.([]int), nil +} + +// IntSliceVar defines a intSlice flag with specified name, default value, and usage string. +// The argument p points to a []int variable in which to store the value of the flag. +func (f *FlagSet) IntSliceVar(p *[]int, name string, value []int, usage string) { + f.VarP(newIntSliceValue(value, p), name, "", usage) +} + +// IntSliceVarP is like IntSliceVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IntSliceVarP(p *[]int, name, shorthand string, value []int, usage string) { + f.VarP(newIntSliceValue(value, p), name, shorthand, usage) +} + +// IntSliceVar defines a int[] flag with specified name, default value, and usage string. +// The argument p points to a int[] variable in which to store the value of the flag. +func IntSliceVar(p *[]int, name string, value []int, usage string) { + CommandLine.VarP(newIntSliceValue(value, p), name, "", usage) +} + +// IntSliceVarP is like IntSliceVar, but accepts a shorthand letter that can be used after a single dash. +func IntSliceVarP(p *[]int, name, shorthand string, value []int, usage string) { + CommandLine.VarP(newIntSliceValue(value, p), name, shorthand, usage) +} + +// IntSlice defines a []int flag with specified name, default value, and usage string. +// The return value is the address of a []int variable that stores the value of the flag. +func (f *FlagSet) IntSlice(name string, value []int, usage string) *[]int { + p := []int{} + f.IntSliceVarP(&p, name, "", value, usage) + return &p +} + +// IntSliceP is like IntSlice, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IntSliceP(name, shorthand string, value []int, usage string) *[]int { + p := []int{} + f.IntSliceVarP(&p, name, shorthand, value, usage) + return &p +} + +// IntSlice defines a []int flag with specified name, default value, and usage string. +// The return value is the address of a []int variable that stores the value of the flag. +func IntSlice(name string, value []int, usage string) *[]int { + return CommandLine.IntSliceP(name, "", value, usage) +} + +// IntSliceP is like IntSlice, but accepts a shorthand letter that can be used after a single dash. +func IntSliceP(name, shorthand string, value []int, usage string) *[]int { + return CommandLine.IntSliceP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/ip.go b/vendor/github.com/spf13/pflag/ip.go new file mode 100644 index 000000000..3d414ba69 --- /dev/null +++ b/vendor/github.com/spf13/pflag/ip.go @@ -0,0 +1,94 @@ +package pflag + +import ( + "fmt" + "net" + "strings" +) + +// -- net.IP value +type ipValue net.IP + +func newIPValue(val net.IP, p *net.IP) *ipValue { + *p = val + return (*ipValue)(p) +} + +func (i *ipValue) String() string { return net.IP(*i).String() } +func (i *ipValue) Set(s string) error { + ip := net.ParseIP(strings.TrimSpace(s)) + if ip == nil { + return fmt.Errorf("failed to parse IP: %q", s) + } + *i = ipValue(ip) + return nil +} + +func (i *ipValue) Type() string { + return "ip" +} + +func ipConv(sval string) (interface{}, error) { + ip := net.ParseIP(sval) + if ip != nil { + return ip, nil + } + return nil, fmt.Errorf("invalid string being converted to IP address: %s", sval) +} + +// GetIP return the net.IP value of a flag with the given name +func (f *FlagSet) GetIP(name string) (net.IP, error) { + val, err := f.getFlagType(name, "ip", ipConv) + if err != nil { + return nil, err + } + return val.(net.IP), nil +} + +// IPVar defines an net.IP flag with specified name, default value, and usage string. +// The argument p points to an net.IP variable in which to store the value of the flag. +func (f *FlagSet) IPVar(p *net.IP, name string, value net.IP, usage string) { + f.VarP(newIPValue(value, p), name, "", usage) +} + +// IPVarP is like IPVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IPVarP(p *net.IP, name, shorthand string, value net.IP, usage string) { + f.VarP(newIPValue(value, p), name, shorthand, usage) +} + +// IPVar defines an net.IP flag with specified name, default value, and usage string. +// The argument p points to an net.IP variable in which to store the value of the flag. +func IPVar(p *net.IP, name string, value net.IP, usage string) { + CommandLine.VarP(newIPValue(value, p), name, "", usage) +} + +// IPVarP is like IPVar, but accepts a shorthand letter that can be used after a single dash. +func IPVarP(p *net.IP, name, shorthand string, value net.IP, usage string) { + CommandLine.VarP(newIPValue(value, p), name, shorthand, usage) +} + +// IP defines an net.IP flag with specified name, default value, and usage string. +// The return value is the address of an net.IP variable that stores the value of the flag. +func (f *FlagSet) IP(name string, value net.IP, usage string) *net.IP { + p := new(net.IP) + f.IPVarP(p, name, "", value, usage) + return p +} + +// IPP is like IP, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IPP(name, shorthand string, value net.IP, usage string) *net.IP { + p := new(net.IP) + f.IPVarP(p, name, shorthand, value, usage) + return p +} + +// IP defines an net.IP flag with specified name, default value, and usage string. +// The return value is the address of an net.IP variable that stores the value of the flag. +func IP(name string, value net.IP, usage string) *net.IP { + return CommandLine.IPP(name, "", value, usage) +} + +// IPP is like IP, but accepts a shorthand letter that can be used after a single dash. +func IPP(name, shorthand string, value net.IP, usage string) *net.IP { + return CommandLine.IPP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/ip_slice.go b/vendor/github.com/spf13/pflag/ip_slice.go new file mode 100644 index 000000000..7dd196fe3 --- /dev/null +++ b/vendor/github.com/spf13/pflag/ip_slice.go @@ -0,0 +1,148 @@ +package pflag + +import ( + "fmt" + "io" + "net" + "strings" +) + +// -- ipSlice Value +type ipSliceValue struct { + value *[]net.IP + changed bool +} + +func newIPSliceValue(val []net.IP, p *[]net.IP) *ipSliceValue { + ipsv := new(ipSliceValue) + ipsv.value = p + *ipsv.value = val + return ipsv +} + +// Set converts, and assigns, the comma-separated IP argument string representation as the []net.IP value of this flag. +// If Set is called on a flag that already has a []net.IP assigned, the newly converted values will be appended. +func (s *ipSliceValue) Set(val string) error { + + // remove all quote characters + rmQuote := strings.NewReplacer(`"`, "", `'`, "", "`", "") + + // read flag arguments with CSV parser + ipStrSlice, err := readAsCSV(rmQuote.Replace(val)) + if err != nil && err != io.EOF { + return err + } + + // parse ip values into slice + out := make([]net.IP, 0, len(ipStrSlice)) + for _, ipStr := range ipStrSlice { + ip := net.ParseIP(strings.TrimSpace(ipStr)) + if ip == nil { + return fmt.Errorf("invalid string being converted to IP address: %s", ipStr) + } + out = append(out, ip) + } + + if !s.changed { + *s.value = out + } else { + *s.value = append(*s.value, out...) + } + + s.changed = true + + return nil +} + +// Type returns a string that uniquely represents this flag's type. +func (s *ipSliceValue) Type() string { + return "ipSlice" +} + +// String defines a "native" format for this net.IP slice flag value. +func (s *ipSliceValue) String() string { + + ipStrSlice := make([]string, len(*s.value)) + for i, ip := range *s.value { + ipStrSlice[i] = ip.String() + } + + out, _ := writeAsCSV(ipStrSlice) + + return "[" + out + "]" +} + +func ipSliceConv(val string) (interface{}, error) { + val = strings.Trim(val, "[]") + // Emtpy string would cause a slice with one (empty) entry + if len(val) == 0 { + return []net.IP{}, nil + } + ss := strings.Split(val, ",") + out := make([]net.IP, len(ss)) + for i, sval := range ss { + ip := net.ParseIP(strings.TrimSpace(sval)) + if ip == nil { + return nil, fmt.Errorf("invalid string being converted to IP address: %s", sval) + } + out[i] = ip + } + return out, nil +} + +// GetIPSlice returns the []net.IP value of a flag with the given name +func (f *FlagSet) GetIPSlice(name string) ([]net.IP, error) { + val, err := f.getFlagType(name, "ipSlice", ipSliceConv) + if err != nil { + return []net.IP{}, err + } + return val.([]net.IP), nil +} + +// IPSliceVar defines a ipSlice flag with specified name, default value, and usage string. +// The argument p points to a []net.IP variable in which to store the value of the flag. +func (f *FlagSet) IPSliceVar(p *[]net.IP, name string, value []net.IP, usage string) { + f.VarP(newIPSliceValue(value, p), name, "", usage) +} + +// IPSliceVarP is like IPSliceVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IPSliceVarP(p *[]net.IP, name, shorthand string, value []net.IP, usage string) { + f.VarP(newIPSliceValue(value, p), name, shorthand, usage) +} + +// IPSliceVar defines a []net.IP flag with specified name, default value, and usage string. +// The argument p points to a []net.IP variable in which to store the value of the flag. +func IPSliceVar(p *[]net.IP, name string, value []net.IP, usage string) { + CommandLine.VarP(newIPSliceValue(value, p), name, "", usage) +} + +// IPSliceVarP is like IPSliceVar, but accepts a shorthand letter that can be used after a single dash. +func IPSliceVarP(p *[]net.IP, name, shorthand string, value []net.IP, usage string) { + CommandLine.VarP(newIPSliceValue(value, p), name, shorthand, usage) +} + +// IPSlice defines a []net.IP flag with specified name, default value, and usage string. +// The return value is the address of a []net.IP variable that stores the value of that flag. +func (f *FlagSet) IPSlice(name string, value []net.IP, usage string) *[]net.IP { + p := []net.IP{} + f.IPSliceVarP(&p, name, "", value, usage) + return &p +} + +// IPSliceP is like IPSlice, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IPSliceP(name, shorthand string, value []net.IP, usage string) *[]net.IP { + p := []net.IP{} + f.IPSliceVarP(&p, name, shorthand, value, usage) + return &p +} + +// IPSlice defines a []net.IP flag with specified name, default value, and usage string. +// The return value is the address of a []net.IP variable that stores the value of the flag. +func IPSlice(name string, value []net.IP, usage string) *[]net.IP { + return CommandLine.IPSliceP(name, "", value, usage) +} + +// IPSliceP is like IPSlice, but accepts a shorthand letter that can be used after a single dash. +func IPSliceP(name, shorthand string, value []net.IP, usage string) *[]net.IP { + return CommandLine.IPSliceP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/ipmask.go b/vendor/github.com/spf13/pflag/ipmask.go new file mode 100644 index 000000000..5bd44bd21 --- /dev/null +++ b/vendor/github.com/spf13/pflag/ipmask.go @@ -0,0 +1,122 @@ +package pflag + +import ( + "fmt" + "net" + "strconv" +) + +// -- net.IPMask value +type ipMaskValue net.IPMask + +func newIPMaskValue(val net.IPMask, p *net.IPMask) *ipMaskValue { + *p = val + return (*ipMaskValue)(p) +} + +func (i *ipMaskValue) String() string { return net.IPMask(*i).String() } +func (i *ipMaskValue) Set(s string) error { + ip := ParseIPv4Mask(s) + if ip == nil { + return fmt.Errorf("failed to parse IP mask: %q", s) + } + *i = ipMaskValue(ip) + return nil +} + +func (i *ipMaskValue) Type() string { + return "ipMask" +} + +// ParseIPv4Mask written in IP form (e.g. 255.255.255.0). +// This function should really belong to the net package. +func ParseIPv4Mask(s string) net.IPMask { + mask := net.ParseIP(s) + if mask == nil { + if len(s) != 8 { + return nil + } + // net.IPMask.String() actually outputs things like ffffff00 + // so write a horrible parser for that as well :-( + m := []int{} + for i := 0; i < 4; i++ { + b := "0x" + s[2*i:2*i+2] + d, err := strconv.ParseInt(b, 0, 0) + if err != nil { + return nil + } + m = append(m, int(d)) + } + s := fmt.Sprintf("%d.%d.%d.%d", m[0], m[1], m[2], m[3]) + mask = net.ParseIP(s) + if mask == nil { + return nil + } + } + return net.IPv4Mask(mask[12], mask[13], mask[14], mask[15]) +} + +func parseIPv4Mask(sval string) (interface{}, error) { + mask := ParseIPv4Mask(sval) + if mask == nil { + return nil, fmt.Errorf("unable to parse %s as net.IPMask", sval) + } + return mask, nil +} + +// GetIPv4Mask return the net.IPv4Mask value of a flag with the given name +func (f *FlagSet) GetIPv4Mask(name string) (net.IPMask, error) { + val, err := f.getFlagType(name, "ipMask", parseIPv4Mask) + if err != nil { + return nil, err + } + return val.(net.IPMask), nil +} + +// IPMaskVar defines an net.IPMask flag with specified name, default value, and usage string. +// The argument p points to an net.IPMask variable in which to store the value of the flag. +func (f *FlagSet) IPMaskVar(p *net.IPMask, name string, value net.IPMask, usage string) { + f.VarP(newIPMaskValue(value, p), name, "", usage) +} + +// IPMaskVarP is like IPMaskVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IPMaskVarP(p *net.IPMask, name, shorthand string, value net.IPMask, usage string) { + f.VarP(newIPMaskValue(value, p), name, shorthand, usage) +} + +// IPMaskVar defines an net.IPMask flag with specified name, default value, and usage string. +// The argument p points to an net.IPMask variable in which to store the value of the flag. +func IPMaskVar(p *net.IPMask, name string, value net.IPMask, usage string) { + CommandLine.VarP(newIPMaskValue(value, p), name, "", usage) +} + +// IPMaskVarP is like IPMaskVar, but accepts a shorthand letter that can be used after a single dash. +func IPMaskVarP(p *net.IPMask, name, shorthand string, value net.IPMask, usage string) { + CommandLine.VarP(newIPMaskValue(value, p), name, shorthand, usage) +} + +// IPMask defines an net.IPMask flag with specified name, default value, and usage string. +// The return value is the address of an net.IPMask variable that stores the value of the flag. +func (f *FlagSet) IPMask(name string, value net.IPMask, usage string) *net.IPMask { + p := new(net.IPMask) + f.IPMaskVarP(p, name, "", value, usage) + return p +} + +// IPMaskP is like IPMask, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IPMaskP(name, shorthand string, value net.IPMask, usage string) *net.IPMask { + p := new(net.IPMask) + f.IPMaskVarP(p, name, shorthand, value, usage) + return p +} + +// IPMask defines an net.IPMask flag with specified name, default value, and usage string. +// The return value is the address of an net.IPMask variable that stores the value of the flag. +func IPMask(name string, value net.IPMask, usage string) *net.IPMask { + return CommandLine.IPMaskP(name, "", value, usage) +} + +// IPMaskP is like IP, but accepts a shorthand letter that can be used after a single dash. +func IPMaskP(name, shorthand string, value net.IPMask, usage string) *net.IPMask { + return CommandLine.IPMaskP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/ipnet.go b/vendor/github.com/spf13/pflag/ipnet.go new file mode 100644 index 000000000..e2c1b8bcd --- /dev/null +++ b/vendor/github.com/spf13/pflag/ipnet.go @@ -0,0 +1,98 @@ +package pflag + +import ( + "fmt" + "net" + "strings" +) + +// IPNet adapts net.IPNet for use as a flag. +type ipNetValue net.IPNet + +func (ipnet ipNetValue) String() string { + n := net.IPNet(ipnet) + return n.String() +} + +func (ipnet *ipNetValue) Set(value string) error { + _, n, err := net.ParseCIDR(strings.TrimSpace(value)) + if err != nil { + return err + } + *ipnet = ipNetValue(*n) + return nil +} + +func (*ipNetValue) Type() string { + return "ipNet" +} + +func newIPNetValue(val net.IPNet, p *net.IPNet) *ipNetValue { + *p = val + return (*ipNetValue)(p) +} + +func ipNetConv(sval string) (interface{}, error) { + _, n, err := net.ParseCIDR(strings.TrimSpace(sval)) + if err == nil { + return *n, nil + } + return nil, fmt.Errorf("invalid string being converted to IPNet: %s", sval) +} + +// GetIPNet return the net.IPNet value of a flag with the given name +func (f *FlagSet) GetIPNet(name string) (net.IPNet, error) { + val, err := f.getFlagType(name, "ipNet", ipNetConv) + if err != nil { + return net.IPNet{}, err + } + return val.(net.IPNet), nil +} + +// IPNetVar defines an net.IPNet flag with specified name, default value, and usage string. +// The argument p points to an net.IPNet variable in which to store the value of the flag. +func (f *FlagSet) IPNetVar(p *net.IPNet, name string, value net.IPNet, usage string) { + f.VarP(newIPNetValue(value, p), name, "", usage) +} + +// IPNetVarP is like IPNetVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IPNetVarP(p *net.IPNet, name, shorthand string, value net.IPNet, usage string) { + f.VarP(newIPNetValue(value, p), name, shorthand, usage) +} + +// IPNetVar defines an net.IPNet flag with specified name, default value, and usage string. +// The argument p points to an net.IPNet variable in which to store the value of the flag. +func IPNetVar(p *net.IPNet, name string, value net.IPNet, usage string) { + CommandLine.VarP(newIPNetValue(value, p), name, "", usage) +} + +// IPNetVarP is like IPNetVar, but accepts a shorthand letter that can be used after a single dash. +func IPNetVarP(p *net.IPNet, name, shorthand string, value net.IPNet, usage string) { + CommandLine.VarP(newIPNetValue(value, p), name, shorthand, usage) +} + +// IPNet defines an net.IPNet flag with specified name, default value, and usage string. +// The return value is the address of an net.IPNet variable that stores the value of the flag. +func (f *FlagSet) IPNet(name string, value net.IPNet, usage string) *net.IPNet { + p := new(net.IPNet) + f.IPNetVarP(p, name, "", value, usage) + return p +} + +// IPNetP is like IPNet, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IPNetP(name, shorthand string, value net.IPNet, usage string) *net.IPNet { + p := new(net.IPNet) + f.IPNetVarP(p, name, shorthand, value, usage) + return p +} + +// IPNet defines an net.IPNet flag with specified name, default value, and usage string. +// The return value is the address of an net.IPNet variable that stores the value of the flag. +func IPNet(name string, value net.IPNet, usage string) *net.IPNet { + return CommandLine.IPNetP(name, "", value, usage) +} + +// IPNetP is like IPNet, but accepts a shorthand letter that can be used after a single dash. +func IPNetP(name, shorthand string, value net.IPNet, usage string) *net.IPNet { + return CommandLine.IPNetP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/string.go b/vendor/github.com/spf13/pflag/string.go new file mode 100644 index 000000000..04e0a26ff --- /dev/null +++ b/vendor/github.com/spf13/pflag/string.go @@ -0,0 +1,80 @@ +package pflag + +// -- string Value +type stringValue string + +func newStringValue(val string, p *string) *stringValue { + *p = val + return (*stringValue)(p) +} + +func (s *stringValue) Set(val string) error { + *s = stringValue(val) + return nil +} +func (s *stringValue) Type() string { + return "string" +} + +func (s *stringValue) String() string { return string(*s) } + +func stringConv(sval string) (interface{}, error) { + return sval, nil +} + +// GetString return the string value of a flag with the given name +func (f *FlagSet) GetString(name string) (string, error) { + val, err := f.getFlagType(name, "string", stringConv) + if err != nil { + return "", err + } + return val.(string), nil +} + +// StringVar defines a string flag with specified name, default value, and usage string. +// The argument p points to a string variable in which to store the value of the flag. +func (f *FlagSet) StringVar(p *string, name string, value string, usage string) { + f.VarP(newStringValue(value, p), name, "", usage) +} + +// StringVarP is like StringVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) StringVarP(p *string, name, shorthand string, value string, usage string) { + f.VarP(newStringValue(value, p), name, shorthand, usage) +} + +// StringVar defines a string flag with specified name, default value, and usage string. +// The argument p points to a string variable in which to store the value of the flag. +func StringVar(p *string, name string, value string, usage string) { + CommandLine.VarP(newStringValue(value, p), name, "", usage) +} + +// StringVarP is like StringVar, but accepts a shorthand letter that can be used after a single dash. +func StringVarP(p *string, name, shorthand string, value string, usage string) { + CommandLine.VarP(newStringValue(value, p), name, shorthand, usage) +} + +// String defines a string flag with specified name, default value, and usage string. +// The return value is the address of a string variable that stores the value of the flag. +func (f *FlagSet) String(name string, value string, usage string) *string { + p := new(string) + f.StringVarP(p, name, "", value, usage) + return p +} + +// StringP is like String, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) StringP(name, shorthand string, value string, usage string) *string { + p := new(string) + f.StringVarP(p, name, shorthand, value, usage) + return p +} + +// String defines a string flag with specified name, default value, and usage string. +// The return value is the address of a string variable that stores the value of the flag. +func String(name string, value string, usage string) *string { + return CommandLine.StringP(name, "", value, usage) +} + +// StringP is like String, but accepts a shorthand letter that can be used after a single dash. +func StringP(name, shorthand string, value string, usage string) *string { + return CommandLine.StringP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/string_array.go b/vendor/github.com/spf13/pflag/string_array.go new file mode 100644 index 000000000..fa7bc6018 --- /dev/null +++ b/vendor/github.com/spf13/pflag/string_array.go @@ -0,0 +1,103 @@ +package pflag + +// -- stringArray Value +type stringArrayValue struct { + value *[]string + changed bool +} + +func newStringArrayValue(val []string, p *[]string) *stringArrayValue { + ssv := new(stringArrayValue) + ssv.value = p + *ssv.value = val + return ssv +} + +func (s *stringArrayValue) Set(val string) error { + if !s.changed { + *s.value = []string{val} + s.changed = true + } else { + *s.value = append(*s.value, val) + } + return nil +} + +func (s *stringArrayValue) Type() string { + return "stringArray" +} + +func (s *stringArrayValue) String() string { + str, _ := writeAsCSV(*s.value) + return "[" + str + "]" +} + +func stringArrayConv(sval string) (interface{}, error) { + sval = sval[1 : len(sval)-1] + // An empty string would cause a array with one (empty) string + if len(sval) == 0 { + return []string{}, nil + } + return readAsCSV(sval) +} + +// GetStringArray return the []string value of a flag with the given name +func (f *FlagSet) GetStringArray(name string) ([]string, error) { + val, err := f.getFlagType(name, "stringArray", stringArrayConv) + if err != nil { + return []string{}, err + } + return val.([]string), nil +} + +// StringArrayVar defines a string flag with specified name, default value, and usage string. +// The argument p points to a []string variable in which to store the values of the multiple flags. +// The value of each argument will not try to be separated by comma. Use a StringSlice for that. +func (f *FlagSet) StringArrayVar(p *[]string, name string, value []string, usage string) { + f.VarP(newStringArrayValue(value, p), name, "", usage) +} + +// StringArrayVarP is like StringArrayVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) StringArrayVarP(p *[]string, name, shorthand string, value []string, usage string) { + f.VarP(newStringArrayValue(value, p), name, shorthand, usage) +} + +// StringArrayVar defines a string flag with specified name, default value, and usage string. +// The argument p points to a []string variable in which to store the value of the flag. +// The value of each argument will not try to be separated by comma. Use a StringSlice for that. +func StringArrayVar(p *[]string, name string, value []string, usage string) { + CommandLine.VarP(newStringArrayValue(value, p), name, "", usage) +} + +// StringArrayVarP is like StringArrayVar, but accepts a shorthand letter that can be used after a single dash. +func StringArrayVarP(p *[]string, name, shorthand string, value []string, usage string) { + CommandLine.VarP(newStringArrayValue(value, p), name, shorthand, usage) +} + +// StringArray defines a string flag with specified name, default value, and usage string. +// The return value is the address of a []string variable that stores the value of the flag. +// The value of each argument will not try to be separated by comma. Use a StringSlice for that. +func (f *FlagSet) StringArray(name string, value []string, usage string) *[]string { + p := []string{} + f.StringArrayVarP(&p, name, "", value, usage) + return &p +} + +// StringArrayP is like StringArray, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) StringArrayP(name, shorthand string, value []string, usage string) *[]string { + p := []string{} + f.StringArrayVarP(&p, name, shorthand, value, usage) + return &p +} + +// StringArray defines a string flag with specified name, default value, and usage string. +// The return value is the address of a []string variable that stores the value of the flag. +// The value of each argument will not try to be separated by comma. Use a StringSlice for that. +func StringArray(name string, value []string, usage string) *[]string { + return CommandLine.StringArrayP(name, "", value, usage) +} + +// StringArrayP is like StringArray, but accepts a shorthand letter that can be used after a single dash. +func StringArrayP(name, shorthand string, value []string, usage string) *[]string { + return CommandLine.StringArrayP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/string_slice.go b/vendor/github.com/spf13/pflag/string_slice.go new file mode 100644 index 000000000..0cd3ccc08 --- /dev/null +++ b/vendor/github.com/spf13/pflag/string_slice.go @@ -0,0 +1,149 @@ +package pflag + +import ( + "bytes" + "encoding/csv" + "strings" +) + +// -- stringSlice Value +type stringSliceValue struct { + value *[]string + changed bool +} + +func newStringSliceValue(val []string, p *[]string) *stringSliceValue { + ssv := new(stringSliceValue) + ssv.value = p + *ssv.value = val + return ssv +} + +func readAsCSV(val string) ([]string, error) { + if val == "" { + return []string{}, nil + } + stringReader := strings.NewReader(val) + csvReader := csv.NewReader(stringReader) + return csvReader.Read() +} + +func writeAsCSV(vals []string) (string, error) { + b := &bytes.Buffer{} + w := csv.NewWriter(b) + err := w.Write(vals) + if err != nil { + return "", err + } + w.Flush() + return strings.TrimSuffix(b.String(), "\n"), nil +} + +func (s *stringSliceValue) Set(val string) error { + v, err := readAsCSV(val) + if err != nil { + return err + } + if !s.changed { + *s.value = v + } else { + *s.value = append(*s.value, v...) + } + s.changed = true + return nil +} + +func (s *stringSliceValue) Type() string { + return "stringSlice" +} + +func (s *stringSliceValue) String() string { + str, _ := writeAsCSV(*s.value) + return "[" + str + "]" +} + +func stringSliceConv(sval string) (interface{}, error) { + sval = sval[1 : len(sval)-1] + // An empty string would cause a slice with one (empty) string + if len(sval) == 0 { + return []string{}, nil + } + return readAsCSV(sval) +} + +// GetStringSlice return the []string value of a flag with the given name +func (f *FlagSet) GetStringSlice(name string) ([]string, error) { + val, err := f.getFlagType(name, "stringSlice", stringSliceConv) + if err != nil { + return []string{}, err + } + return val.([]string), nil +} + +// StringSliceVar defines a string flag with specified name, default value, and usage string. +// The argument p points to a []string variable in which to store the value of the flag. +// Compared to StringArray flags, StringSlice flags take comma-separated value as arguments and split them accordingly. +// For example: +// --ss="v1,v2" -ss="v3" +// will result in +// []string{"v1", "v2", "v3"} +func (f *FlagSet) StringSliceVar(p *[]string, name string, value []string, usage string) { + f.VarP(newStringSliceValue(value, p), name, "", usage) +} + +// StringSliceVarP is like StringSliceVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) StringSliceVarP(p *[]string, name, shorthand string, value []string, usage string) { + f.VarP(newStringSliceValue(value, p), name, shorthand, usage) +} + +// StringSliceVar defines a string flag with specified name, default value, and usage string. +// The argument p points to a []string variable in which to store the value of the flag. +// Compared to StringArray flags, StringSlice flags take comma-separated value as arguments and split them accordingly. +// For example: +// --ss="v1,v2" -ss="v3" +// will result in +// []string{"v1", "v2", "v3"} +func StringSliceVar(p *[]string, name string, value []string, usage string) { + CommandLine.VarP(newStringSliceValue(value, p), name, "", usage) +} + +// StringSliceVarP is like StringSliceVar, but accepts a shorthand letter that can be used after a single dash. +func StringSliceVarP(p *[]string, name, shorthand string, value []string, usage string) { + CommandLine.VarP(newStringSliceValue(value, p), name, shorthand, usage) +} + +// StringSlice defines a string flag with specified name, default value, and usage string. +// The return value is the address of a []string variable that stores the value of the flag. +// Compared to StringArray flags, StringSlice flags take comma-separated value as arguments and split them accordingly. +// For example: +// --ss="v1,v2" -ss="v3" +// will result in +// []string{"v1", "v2", "v3"} +func (f *FlagSet) StringSlice(name string, value []string, usage string) *[]string { + p := []string{} + f.StringSliceVarP(&p, name, "", value, usage) + return &p +} + +// StringSliceP is like StringSlice, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) StringSliceP(name, shorthand string, value []string, usage string) *[]string { + p := []string{} + f.StringSliceVarP(&p, name, shorthand, value, usage) + return &p +} + +// StringSlice defines a string flag with specified name, default value, and usage string. +// The return value is the address of a []string variable that stores the value of the flag. +// Compared to StringArray flags, StringSlice flags take comma-separated value as arguments and split them accordingly. +// For example: +// --ss="v1,v2" -ss="v3" +// will result in +// []string{"v1", "v2", "v3"} +func StringSlice(name string, value []string, usage string) *[]string { + return CommandLine.StringSliceP(name, "", value, usage) +} + +// StringSliceP is like StringSlice, but accepts a shorthand letter that can be used after a single dash. +func StringSliceP(name, shorthand string, value []string, usage string) *[]string { + return CommandLine.StringSliceP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/string_to_int.go b/vendor/github.com/spf13/pflag/string_to_int.go new file mode 100644 index 000000000..5ceda3965 --- /dev/null +++ b/vendor/github.com/spf13/pflag/string_to_int.go @@ -0,0 +1,149 @@ +package pflag + +import ( + "bytes" + "fmt" + "strconv" + "strings" +) + +// -- stringToInt Value +type stringToIntValue struct { + value *map[string]int + changed bool +} + +func newStringToIntValue(val map[string]int, p *map[string]int) *stringToIntValue { + ssv := new(stringToIntValue) + ssv.value = p + *ssv.value = val + return ssv +} + +// Format: a=1,b=2 +func (s *stringToIntValue) Set(val string) error { + ss := strings.Split(val, ",") + out := make(map[string]int, len(ss)) + for _, pair := range ss { + kv := strings.SplitN(pair, "=", 2) + if len(kv) != 2 { + return fmt.Errorf("%s must be formatted as key=value", pair) + } + var err error + out[kv[0]], err = strconv.Atoi(kv[1]) + if err != nil { + return err + } + } + if !s.changed { + *s.value = out + } else { + for k, v := range out { + (*s.value)[k] = v + } + } + s.changed = true + return nil +} + +func (s *stringToIntValue) Type() string { + return "stringToInt" +} + +func (s *stringToIntValue) String() string { + var buf bytes.Buffer + i := 0 + for k, v := range *s.value { + if i > 0 { + buf.WriteRune(',') + } + buf.WriteString(k) + buf.WriteRune('=') + buf.WriteString(strconv.Itoa(v)) + i++ + } + return "[" + buf.String() + "]" +} + +func stringToIntConv(val string) (interface{}, error) { + val = strings.Trim(val, "[]") + // An empty string would cause an empty map + if len(val) == 0 { + return map[string]int{}, nil + } + ss := strings.Split(val, ",") + out := make(map[string]int, len(ss)) + for _, pair := range ss { + kv := strings.SplitN(pair, "=", 2) + if len(kv) != 2 { + return nil, fmt.Errorf("%s must be formatted as key=value", pair) + } + var err error + out[kv[0]], err = strconv.Atoi(kv[1]) + if err != nil { + return nil, err + } + } + return out, nil +} + +// GetStringToInt return the map[string]int value of a flag with the given name +func (f *FlagSet) GetStringToInt(name string) (map[string]int, error) { + val, err := f.getFlagType(name, "stringToInt", stringToIntConv) + if err != nil { + return map[string]int{}, err + } + return val.(map[string]int), nil +} + +// StringToIntVar defines a string flag with specified name, default value, and usage string. +// The argument p points to a map[string]int variable in which to store the values of the multiple flags. +// The value of each argument will not try to be separated by comma +func (f *FlagSet) StringToIntVar(p *map[string]int, name string, value map[string]int, usage string) { + f.VarP(newStringToIntValue(value, p), name, "", usage) +} + +// StringToIntVarP is like StringToIntVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) StringToIntVarP(p *map[string]int, name, shorthand string, value map[string]int, usage string) { + f.VarP(newStringToIntValue(value, p), name, shorthand, usage) +} + +// StringToIntVar defines a string flag with specified name, default value, and usage string. +// The argument p points to a map[string]int variable in which to store the value of the flag. +// The value of each argument will not try to be separated by comma +func StringToIntVar(p *map[string]int, name string, value map[string]int, usage string) { + CommandLine.VarP(newStringToIntValue(value, p), name, "", usage) +} + +// StringToIntVarP is like StringToIntVar, but accepts a shorthand letter that can be used after a single dash. +func StringToIntVarP(p *map[string]int, name, shorthand string, value map[string]int, usage string) { + CommandLine.VarP(newStringToIntValue(value, p), name, shorthand, usage) +} + +// StringToInt defines a string flag with specified name, default value, and usage string. +// The return value is the address of a map[string]int variable that stores the value of the flag. +// The value of each argument will not try to be separated by comma +func (f *FlagSet) StringToInt(name string, value map[string]int, usage string) *map[string]int { + p := map[string]int{} + f.StringToIntVarP(&p, name, "", value, usage) + return &p +} + +// StringToIntP is like StringToInt, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) StringToIntP(name, shorthand string, value map[string]int, usage string) *map[string]int { + p := map[string]int{} + f.StringToIntVarP(&p, name, shorthand, value, usage) + return &p +} + +// StringToInt defines a string flag with specified name, default value, and usage string. +// The return value is the address of a map[string]int variable that stores the value of the flag. +// The value of each argument will not try to be separated by comma +func StringToInt(name string, value map[string]int, usage string) *map[string]int { + return CommandLine.StringToIntP(name, "", value, usage) +} + +// StringToIntP is like StringToInt, but accepts a shorthand letter that can be used after a single dash. +func StringToIntP(name, shorthand string, value map[string]int, usage string) *map[string]int { + return CommandLine.StringToIntP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/string_to_string.go b/vendor/github.com/spf13/pflag/string_to_string.go new file mode 100644 index 000000000..890a01afc --- /dev/null +++ b/vendor/github.com/spf13/pflag/string_to_string.go @@ -0,0 +1,160 @@ +package pflag + +import ( + "bytes" + "encoding/csv" + "fmt" + "strings" +) + +// -- stringToString Value +type stringToStringValue struct { + value *map[string]string + changed bool +} + +func newStringToStringValue(val map[string]string, p *map[string]string) *stringToStringValue { + ssv := new(stringToStringValue) + ssv.value = p + *ssv.value = val + return ssv +} + +// Format: a=1,b=2 +func (s *stringToStringValue) Set(val string) error { + var ss []string + n := strings.Count(val, "=") + switch n { + case 0: + return fmt.Errorf("%s must be formatted as key=value", val) + case 1: + ss = append(ss, strings.Trim(val, `"`)) + default: + r := csv.NewReader(strings.NewReader(val)) + var err error + ss, err = r.Read() + if err != nil { + return err + } + } + + out := make(map[string]string, len(ss)) + for _, pair := range ss { + kv := strings.SplitN(pair, "=", 2) + if len(kv) != 2 { + return fmt.Errorf("%s must be formatted as key=value", pair) + } + out[kv[0]] = kv[1] + } + if !s.changed { + *s.value = out + } else { + for k, v := range out { + (*s.value)[k] = v + } + } + s.changed = true + return nil +} + +func (s *stringToStringValue) Type() string { + return "stringToString" +} + +func (s *stringToStringValue) String() string { + records := make([]string, 0, len(*s.value)>>1) + for k, v := range *s.value { + records = append(records, k+"="+v) + } + + var buf bytes.Buffer + w := csv.NewWriter(&buf) + if err := w.Write(records); err != nil { + panic(err) + } + w.Flush() + return "[" + strings.TrimSpace(buf.String()) + "]" +} + +func stringToStringConv(val string) (interface{}, error) { + val = strings.Trim(val, "[]") + // An empty string would cause an empty map + if len(val) == 0 { + return map[string]string{}, nil + } + r := csv.NewReader(strings.NewReader(val)) + ss, err := r.Read() + if err != nil { + return nil, err + } + out := make(map[string]string, len(ss)) + for _, pair := range ss { + kv := strings.SplitN(pair, "=", 2) + if len(kv) != 2 { + return nil, fmt.Errorf("%s must be formatted as key=value", pair) + } + out[kv[0]] = kv[1] + } + return out, nil +} + +// GetStringToString return the map[string]string value of a flag with the given name +func (f *FlagSet) GetStringToString(name string) (map[string]string, error) { + val, err := f.getFlagType(name, "stringToString", stringToStringConv) + if err != nil { + return map[string]string{}, err + } + return val.(map[string]string), nil +} + +// StringToStringVar defines a string flag with specified name, default value, and usage string. +// The argument p points to a map[string]string variable in which to store the values of the multiple flags. +// The value of each argument will not try to be separated by comma +func (f *FlagSet) StringToStringVar(p *map[string]string, name string, value map[string]string, usage string) { + f.VarP(newStringToStringValue(value, p), name, "", usage) +} + +// StringToStringVarP is like StringToStringVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) StringToStringVarP(p *map[string]string, name, shorthand string, value map[string]string, usage string) { + f.VarP(newStringToStringValue(value, p), name, shorthand, usage) +} + +// StringToStringVar defines a string flag with specified name, default value, and usage string. +// The argument p points to a map[string]string variable in which to store the value of the flag. +// The value of each argument will not try to be separated by comma +func StringToStringVar(p *map[string]string, name string, value map[string]string, usage string) { + CommandLine.VarP(newStringToStringValue(value, p), name, "", usage) +} + +// StringToStringVarP is like StringToStringVar, but accepts a shorthand letter that can be used after a single dash. +func StringToStringVarP(p *map[string]string, name, shorthand string, value map[string]string, usage string) { + CommandLine.VarP(newStringToStringValue(value, p), name, shorthand, usage) +} + +// StringToString defines a string flag with specified name, default value, and usage string. +// The return value is the address of a map[string]string variable that stores the value of the flag. +// The value of each argument will not try to be separated by comma +func (f *FlagSet) StringToString(name string, value map[string]string, usage string) *map[string]string { + p := map[string]string{} + f.StringToStringVarP(&p, name, "", value, usage) + return &p +} + +// StringToStringP is like StringToString, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) StringToStringP(name, shorthand string, value map[string]string, usage string) *map[string]string { + p := map[string]string{} + f.StringToStringVarP(&p, name, shorthand, value, usage) + return &p +} + +// StringToString defines a string flag with specified name, default value, and usage string. +// The return value is the address of a map[string]string variable that stores the value of the flag. +// The value of each argument will not try to be separated by comma +func StringToString(name string, value map[string]string, usage string) *map[string]string { + return CommandLine.StringToStringP(name, "", value, usage) +} + +// StringToStringP is like StringToString, but accepts a shorthand letter that can be used after a single dash. +func StringToStringP(name, shorthand string, value map[string]string, usage string) *map[string]string { + return CommandLine.StringToStringP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/uint.go b/vendor/github.com/spf13/pflag/uint.go new file mode 100644 index 000000000..dcbc2b758 --- /dev/null +++ b/vendor/github.com/spf13/pflag/uint.go @@ -0,0 +1,88 @@ +package pflag + +import "strconv" + +// -- uint Value +type uintValue uint + +func newUintValue(val uint, p *uint) *uintValue { + *p = val + return (*uintValue)(p) +} + +func (i *uintValue) Set(s string) error { + v, err := strconv.ParseUint(s, 0, 64) + *i = uintValue(v) + return err +} + +func (i *uintValue) Type() string { + return "uint" +} + +func (i *uintValue) String() string { return strconv.FormatUint(uint64(*i), 10) } + +func uintConv(sval string) (interface{}, error) { + v, err := strconv.ParseUint(sval, 0, 0) + if err != nil { + return 0, err + } + return uint(v), nil +} + +// GetUint return the uint value of a flag with the given name +func (f *FlagSet) GetUint(name string) (uint, error) { + val, err := f.getFlagType(name, "uint", uintConv) + if err != nil { + return 0, err + } + return val.(uint), nil +} + +// UintVar defines a uint flag with specified name, default value, and usage string. +// The argument p points to a uint variable in which to store the value of the flag. +func (f *FlagSet) UintVar(p *uint, name string, value uint, usage string) { + f.VarP(newUintValue(value, p), name, "", usage) +} + +// UintVarP is like UintVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) UintVarP(p *uint, name, shorthand string, value uint, usage string) { + f.VarP(newUintValue(value, p), name, shorthand, usage) +} + +// UintVar defines a uint flag with specified name, default value, and usage string. +// The argument p points to a uint variable in which to store the value of the flag. +func UintVar(p *uint, name string, value uint, usage string) { + CommandLine.VarP(newUintValue(value, p), name, "", usage) +} + +// UintVarP is like UintVar, but accepts a shorthand letter that can be used after a single dash. +func UintVarP(p *uint, name, shorthand string, value uint, usage string) { + CommandLine.VarP(newUintValue(value, p), name, shorthand, usage) +} + +// Uint defines a uint flag with specified name, default value, and usage string. +// The return value is the address of a uint variable that stores the value of the flag. +func (f *FlagSet) Uint(name string, value uint, usage string) *uint { + p := new(uint) + f.UintVarP(p, name, "", value, usage) + return p +} + +// UintP is like Uint, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) UintP(name, shorthand string, value uint, usage string) *uint { + p := new(uint) + f.UintVarP(p, name, shorthand, value, usage) + return p +} + +// Uint defines a uint flag with specified name, default value, and usage string. +// The return value is the address of a uint variable that stores the value of the flag. +func Uint(name string, value uint, usage string) *uint { + return CommandLine.UintP(name, "", value, usage) +} + +// UintP is like Uint, but accepts a shorthand letter that can be used after a single dash. +func UintP(name, shorthand string, value uint, usage string) *uint { + return CommandLine.UintP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/uint16.go b/vendor/github.com/spf13/pflag/uint16.go new file mode 100644 index 000000000..7e9914edd --- /dev/null +++ b/vendor/github.com/spf13/pflag/uint16.go @@ -0,0 +1,88 @@ +package pflag + +import "strconv" + +// -- uint16 value +type uint16Value uint16 + +func newUint16Value(val uint16, p *uint16) *uint16Value { + *p = val + return (*uint16Value)(p) +} + +func (i *uint16Value) Set(s string) error { + v, err := strconv.ParseUint(s, 0, 16) + *i = uint16Value(v) + return err +} + +func (i *uint16Value) Type() string { + return "uint16" +} + +func (i *uint16Value) String() string { return strconv.FormatUint(uint64(*i), 10) } + +func uint16Conv(sval string) (interface{}, error) { + v, err := strconv.ParseUint(sval, 0, 16) + if err != nil { + return 0, err + } + return uint16(v), nil +} + +// GetUint16 return the uint16 value of a flag with the given name +func (f *FlagSet) GetUint16(name string) (uint16, error) { + val, err := f.getFlagType(name, "uint16", uint16Conv) + if err != nil { + return 0, err + } + return val.(uint16), nil +} + +// Uint16Var defines a uint flag with specified name, default value, and usage string. +// The argument p points to a uint variable in which to store the value of the flag. +func (f *FlagSet) Uint16Var(p *uint16, name string, value uint16, usage string) { + f.VarP(newUint16Value(value, p), name, "", usage) +} + +// Uint16VarP is like Uint16Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Uint16VarP(p *uint16, name, shorthand string, value uint16, usage string) { + f.VarP(newUint16Value(value, p), name, shorthand, usage) +} + +// Uint16Var defines a uint flag with specified name, default value, and usage string. +// The argument p points to a uint variable in which to store the value of the flag. +func Uint16Var(p *uint16, name string, value uint16, usage string) { + CommandLine.VarP(newUint16Value(value, p), name, "", usage) +} + +// Uint16VarP is like Uint16Var, but accepts a shorthand letter that can be used after a single dash. +func Uint16VarP(p *uint16, name, shorthand string, value uint16, usage string) { + CommandLine.VarP(newUint16Value(value, p), name, shorthand, usage) +} + +// Uint16 defines a uint flag with specified name, default value, and usage string. +// The return value is the address of a uint variable that stores the value of the flag. +func (f *FlagSet) Uint16(name string, value uint16, usage string) *uint16 { + p := new(uint16) + f.Uint16VarP(p, name, "", value, usage) + return p +} + +// Uint16P is like Uint16, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Uint16P(name, shorthand string, value uint16, usage string) *uint16 { + p := new(uint16) + f.Uint16VarP(p, name, shorthand, value, usage) + return p +} + +// Uint16 defines a uint flag with specified name, default value, and usage string. +// The return value is the address of a uint variable that stores the value of the flag. +func Uint16(name string, value uint16, usage string) *uint16 { + return CommandLine.Uint16P(name, "", value, usage) +} + +// Uint16P is like Uint16, but accepts a shorthand letter that can be used after a single dash. +func Uint16P(name, shorthand string, value uint16, usage string) *uint16 { + return CommandLine.Uint16P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/uint32.go b/vendor/github.com/spf13/pflag/uint32.go new file mode 100644 index 000000000..d8024539b --- /dev/null +++ b/vendor/github.com/spf13/pflag/uint32.go @@ -0,0 +1,88 @@ +package pflag + +import "strconv" + +// -- uint32 value +type uint32Value uint32 + +func newUint32Value(val uint32, p *uint32) *uint32Value { + *p = val + return (*uint32Value)(p) +} + +func (i *uint32Value) Set(s string) error { + v, err := strconv.ParseUint(s, 0, 32) + *i = uint32Value(v) + return err +} + +func (i *uint32Value) Type() string { + return "uint32" +} + +func (i *uint32Value) String() string { return strconv.FormatUint(uint64(*i), 10) } + +func uint32Conv(sval string) (interface{}, error) { + v, err := strconv.ParseUint(sval, 0, 32) + if err != nil { + return 0, err + } + return uint32(v), nil +} + +// GetUint32 return the uint32 value of a flag with the given name +func (f *FlagSet) GetUint32(name string) (uint32, error) { + val, err := f.getFlagType(name, "uint32", uint32Conv) + if err != nil { + return 0, err + } + return val.(uint32), nil +} + +// Uint32Var defines a uint32 flag with specified name, default value, and usage string. +// The argument p points to a uint32 variable in which to store the value of the flag. +func (f *FlagSet) Uint32Var(p *uint32, name string, value uint32, usage string) { + f.VarP(newUint32Value(value, p), name, "", usage) +} + +// Uint32VarP is like Uint32Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Uint32VarP(p *uint32, name, shorthand string, value uint32, usage string) { + f.VarP(newUint32Value(value, p), name, shorthand, usage) +} + +// Uint32Var defines a uint32 flag with specified name, default value, and usage string. +// The argument p points to a uint32 variable in which to store the value of the flag. +func Uint32Var(p *uint32, name string, value uint32, usage string) { + CommandLine.VarP(newUint32Value(value, p), name, "", usage) +} + +// Uint32VarP is like Uint32Var, but accepts a shorthand letter that can be used after a single dash. +func Uint32VarP(p *uint32, name, shorthand string, value uint32, usage string) { + CommandLine.VarP(newUint32Value(value, p), name, shorthand, usage) +} + +// Uint32 defines a uint32 flag with specified name, default value, and usage string. +// The return value is the address of a uint32 variable that stores the value of the flag. +func (f *FlagSet) Uint32(name string, value uint32, usage string) *uint32 { + p := new(uint32) + f.Uint32VarP(p, name, "", value, usage) + return p +} + +// Uint32P is like Uint32, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Uint32P(name, shorthand string, value uint32, usage string) *uint32 { + p := new(uint32) + f.Uint32VarP(p, name, shorthand, value, usage) + return p +} + +// Uint32 defines a uint32 flag with specified name, default value, and usage string. +// The return value is the address of a uint32 variable that stores the value of the flag. +func Uint32(name string, value uint32, usage string) *uint32 { + return CommandLine.Uint32P(name, "", value, usage) +} + +// Uint32P is like Uint32, but accepts a shorthand letter that can be used after a single dash. +func Uint32P(name, shorthand string, value uint32, usage string) *uint32 { + return CommandLine.Uint32P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/uint64.go b/vendor/github.com/spf13/pflag/uint64.go new file mode 100644 index 000000000..f62240f2c --- /dev/null +++ b/vendor/github.com/spf13/pflag/uint64.go @@ -0,0 +1,88 @@ +package pflag + +import "strconv" + +// -- uint64 Value +type uint64Value uint64 + +func newUint64Value(val uint64, p *uint64) *uint64Value { + *p = val + return (*uint64Value)(p) +} + +func (i *uint64Value) Set(s string) error { + v, err := strconv.ParseUint(s, 0, 64) + *i = uint64Value(v) + return err +} + +func (i *uint64Value) Type() string { + return "uint64" +} + +func (i *uint64Value) String() string { return strconv.FormatUint(uint64(*i), 10) } + +func uint64Conv(sval string) (interface{}, error) { + v, err := strconv.ParseUint(sval, 0, 64) + if err != nil { + return 0, err + } + return uint64(v), nil +} + +// GetUint64 return the uint64 value of a flag with the given name +func (f *FlagSet) GetUint64(name string) (uint64, error) { + val, err := f.getFlagType(name, "uint64", uint64Conv) + if err != nil { + return 0, err + } + return val.(uint64), nil +} + +// Uint64Var defines a uint64 flag with specified name, default value, and usage string. +// The argument p points to a uint64 variable in which to store the value of the flag. +func (f *FlagSet) Uint64Var(p *uint64, name string, value uint64, usage string) { + f.VarP(newUint64Value(value, p), name, "", usage) +} + +// Uint64VarP is like Uint64Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Uint64VarP(p *uint64, name, shorthand string, value uint64, usage string) { + f.VarP(newUint64Value(value, p), name, shorthand, usage) +} + +// Uint64Var defines a uint64 flag with specified name, default value, and usage string. +// The argument p points to a uint64 variable in which to store the value of the flag. +func Uint64Var(p *uint64, name string, value uint64, usage string) { + CommandLine.VarP(newUint64Value(value, p), name, "", usage) +} + +// Uint64VarP is like Uint64Var, but accepts a shorthand letter that can be used after a single dash. +func Uint64VarP(p *uint64, name, shorthand string, value uint64, usage string) { + CommandLine.VarP(newUint64Value(value, p), name, shorthand, usage) +} + +// Uint64 defines a uint64 flag with specified name, default value, and usage string. +// The return value is the address of a uint64 variable that stores the value of the flag. +func (f *FlagSet) Uint64(name string, value uint64, usage string) *uint64 { + p := new(uint64) + f.Uint64VarP(p, name, "", value, usage) + return p +} + +// Uint64P is like Uint64, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Uint64P(name, shorthand string, value uint64, usage string) *uint64 { + p := new(uint64) + f.Uint64VarP(p, name, shorthand, value, usage) + return p +} + +// Uint64 defines a uint64 flag with specified name, default value, and usage string. +// The return value is the address of a uint64 variable that stores the value of the flag. +func Uint64(name string, value uint64, usage string) *uint64 { + return CommandLine.Uint64P(name, "", value, usage) +} + +// Uint64P is like Uint64, but accepts a shorthand letter that can be used after a single dash. +func Uint64P(name, shorthand string, value uint64, usage string) *uint64 { + return CommandLine.Uint64P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/uint8.go b/vendor/github.com/spf13/pflag/uint8.go new file mode 100644 index 000000000..bb0e83c1f --- /dev/null +++ b/vendor/github.com/spf13/pflag/uint8.go @@ -0,0 +1,88 @@ +package pflag + +import "strconv" + +// -- uint8 Value +type uint8Value uint8 + +func newUint8Value(val uint8, p *uint8) *uint8Value { + *p = val + return (*uint8Value)(p) +} + +func (i *uint8Value) Set(s string) error { + v, err := strconv.ParseUint(s, 0, 8) + *i = uint8Value(v) + return err +} + +func (i *uint8Value) Type() string { + return "uint8" +} + +func (i *uint8Value) String() string { return strconv.FormatUint(uint64(*i), 10) } + +func uint8Conv(sval string) (interface{}, error) { + v, err := strconv.ParseUint(sval, 0, 8) + if err != nil { + return 0, err + } + return uint8(v), nil +} + +// GetUint8 return the uint8 value of a flag with the given name +func (f *FlagSet) GetUint8(name string) (uint8, error) { + val, err := f.getFlagType(name, "uint8", uint8Conv) + if err != nil { + return 0, err + } + return val.(uint8), nil +} + +// Uint8Var defines a uint8 flag with specified name, default value, and usage string. +// The argument p points to a uint8 variable in which to store the value of the flag. +func (f *FlagSet) Uint8Var(p *uint8, name string, value uint8, usage string) { + f.VarP(newUint8Value(value, p), name, "", usage) +} + +// Uint8VarP is like Uint8Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Uint8VarP(p *uint8, name, shorthand string, value uint8, usage string) { + f.VarP(newUint8Value(value, p), name, shorthand, usage) +} + +// Uint8Var defines a uint8 flag with specified name, default value, and usage string. +// The argument p points to a uint8 variable in which to store the value of the flag. +func Uint8Var(p *uint8, name string, value uint8, usage string) { + CommandLine.VarP(newUint8Value(value, p), name, "", usage) +} + +// Uint8VarP is like Uint8Var, but accepts a shorthand letter that can be used after a single dash. +func Uint8VarP(p *uint8, name, shorthand string, value uint8, usage string) { + CommandLine.VarP(newUint8Value(value, p), name, shorthand, usage) +} + +// Uint8 defines a uint8 flag with specified name, default value, and usage string. +// The return value is the address of a uint8 variable that stores the value of the flag. +func (f *FlagSet) Uint8(name string, value uint8, usage string) *uint8 { + p := new(uint8) + f.Uint8VarP(p, name, "", value, usage) + return p +} + +// Uint8P is like Uint8, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Uint8P(name, shorthand string, value uint8, usage string) *uint8 { + p := new(uint8) + f.Uint8VarP(p, name, shorthand, value, usage) + return p +} + +// Uint8 defines a uint8 flag with specified name, default value, and usage string. +// The return value is the address of a uint8 variable that stores the value of the flag. +func Uint8(name string, value uint8, usage string) *uint8 { + return CommandLine.Uint8P(name, "", value, usage) +} + +// Uint8P is like Uint8, but accepts a shorthand letter that can be used after a single dash. +func Uint8P(name, shorthand string, value uint8, usage string) *uint8 { + return CommandLine.Uint8P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/uint_slice.go b/vendor/github.com/spf13/pflag/uint_slice.go new file mode 100644 index 000000000..edd94c600 --- /dev/null +++ b/vendor/github.com/spf13/pflag/uint_slice.go @@ -0,0 +1,126 @@ +package pflag + +import ( + "fmt" + "strconv" + "strings" +) + +// -- uintSlice Value +type uintSliceValue struct { + value *[]uint + changed bool +} + +func newUintSliceValue(val []uint, p *[]uint) *uintSliceValue { + uisv := new(uintSliceValue) + uisv.value = p + *uisv.value = val + return uisv +} + +func (s *uintSliceValue) Set(val string) error { + ss := strings.Split(val, ",") + out := make([]uint, len(ss)) + for i, d := range ss { + u, err := strconv.ParseUint(d, 10, 0) + if err != nil { + return err + } + out[i] = uint(u) + } + if !s.changed { + *s.value = out + } else { + *s.value = append(*s.value, out...) + } + s.changed = true + return nil +} + +func (s *uintSliceValue) Type() string { + return "uintSlice" +} + +func (s *uintSliceValue) String() string { + out := make([]string, len(*s.value)) + for i, d := range *s.value { + out[i] = fmt.Sprintf("%d", d) + } + return "[" + strings.Join(out, ",") + "]" +} + +func uintSliceConv(val string) (interface{}, error) { + val = strings.Trim(val, "[]") + // Empty string would cause a slice with one (empty) entry + if len(val) == 0 { + return []uint{}, nil + } + ss := strings.Split(val, ",") + out := make([]uint, len(ss)) + for i, d := range ss { + u, err := strconv.ParseUint(d, 10, 0) + if err != nil { + return nil, err + } + out[i] = uint(u) + } + return out, nil +} + +// GetUintSlice returns the []uint value of a flag with the given name. +func (f *FlagSet) GetUintSlice(name string) ([]uint, error) { + val, err := f.getFlagType(name, "uintSlice", uintSliceConv) + if err != nil { + return []uint{}, err + } + return val.([]uint), nil +} + +// UintSliceVar defines a uintSlice flag with specified name, default value, and usage string. +// The argument p points to a []uint variable in which to store the value of the flag. +func (f *FlagSet) UintSliceVar(p *[]uint, name string, value []uint, usage string) { + f.VarP(newUintSliceValue(value, p), name, "", usage) +} + +// UintSliceVarP is like UintSliceVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) UintSliceVarP(p *[]uint, name, shorthand string, value []uint, usage string) { + f.VarP(newUintSliceValue(value, p), name, shorthand, usage) +} + +// UintSliceVar defines a uint[] flag with specified name, default value, and usage string. +// The argument p points to a uint[] variable in which to store the value of the flag. +func UintSliceVar(p *[]uint, name string, value []uint, usage string) { + CommandLine.VarP(newUintSliceValue(value, p), name, "", usage) +} + +// UintSliceVarP is like the UintSliceVar, but accepts a shorthand letter that can be used after a single dash. +func UintSliceVarP(p *[]uint, name, shorthand string, value []uint, usage string) { + CommandLine.VarP(newUintSliceValue(value, p), name, shorthand, usage) +} + +// UintSlice defines a []uint flag with specified name, default value, and usage string. +// The return value is the address of a []uint variable that stores the value of the flag. +func (f *FlagSet) UintSlice(name string, value []uint, usage string) *[]uint { + p := []uint{} + f.UintSliceVarP(&p, name, "", value, usage) + return &p +} + +// UintSliceP is like UintSlice, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) UintSliceP(name, shorthand string, value []uint, usage string) *[]uint { + p := []uint{} + f.UintSliceVarP(&p, name, shorthand, value, usage) + return &p +} + +// UintSlice defines a []uint flag with specified name, default value, and usage string. +// The return value is the address of a []uint variable that stores the value of the flag. +func UintSlice(name string, value []uint, usage string) *[]uint { + return CommandLine.UintSliceP(name, "", value, usage) +} + +// UintSliceP is like UintSlice, but accepts a shorthand letter that can be used after a single dash. +func UintSliceP(name, shorthand string, value []uint, usage string) *[]uint { + return CommandLine.UintSliceP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/stretchr/testify/LICENSE b/vendor/github.com/stretchr/testify/LICENSE new file mode 100644 index 000000000..f38ec5956 --- /dev/null +++ b/vendor/github.com/stretchr/testify/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2012-2018 Mat Ryer and Tyler Bunnell + +Permission 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: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE 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. diff --git a/vendor/github.com/stretchr/testify/assert/assertion_format.go b/vendor/github.com/stretchr/testify/assert/assertion_format.go new file mode 100644 index 000000000..aa1c2b95c --- /dev/null +++ b/vendor/github.com/stretchr/testify/assert/assertion_format.go @@ -0,0 +1,484 @@ +/* +* CODE GENERATED AUTOMATICALLY WITH github.com/stretchr/testify/_codegen +* THIS FILE MUST NOT BE EDITED BY HAND + */ + +package assert + +import ( + http "net/http" + url "net/url" + time "time" +) + +// Conditionf uses a Comparison to assert a complex condition. +func Conditionf(t TestingT, comp Comparison, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Condition(t, comp, append([]interface{}{msg}, args...)...) +} + +// Containsf asserts that the specified string, list(array, slice...) or map contains the +// specified substring or element. +// +// assert.Containsf(t, "Hello World", "World", "error message %s", "formatted") +// assert.Containsf(t, ["Hello", "World"], "World", "error message %s", "formatted") +// assert.Containsf(t, {"Hello": "World"}, "Hello", "error message %s", "formatted") +func Containsf(t TestingT, s interface{}, contains interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Contains(t, s, contains, append([]interface{}{msg}, args...)...) +} + +// 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. +func DirExistsf(t TestingT, path string, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return DirExists(t, path, append([]interface{}{msg}, args...)...) +} + +// ElementsMatchf asserts that the specified listA(array, slice...) is equal to specified +// listB(array, slice...) ignoring the order of the elements. If there are duplicate elements, +// the number of appearances of each of them in both lists should match. +// +// assert.ElementsMatchf(t, [1, 3, 2, 3], [1, 3, 3, 2], "error message %s", "formatted") +func ElementsMatchf(t TestingT, listA interface{}, listB interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return ElementsMatch(t, listA, listB, append([]interface{}{msg}, args...)...) +} + +// Emptyf asserts that the specified object is empty. I.e. nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// assert.Emptyf(t, obj, "error message %s", "formatted") +func Emptyf(t TestingT, object interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Empty(t, object, append([]interface{}{msg}, args...)...) +} + +// Equalf asserts that two objects are equal. +// +// assert.Equalf(t, 123, 123, "error message %s", "formatted") +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). Function equality +// cannot be determined and will always fail. +func Equalf(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Equal(t, expected, actual, append([]interface{}{msg}, args...)...) +} + +// EqualErrorf asserts that a function returned an error (i.e. not `nil`) +// and that it is equal to the provided error. +// +// actualObj, err := SomeFunction() +// assert.EqualErrorf(t, err, expectedErrorString, "error message %s", "formatted") +func EqualErrorf(t TestingT, theError error, errString string, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return EqualError(t, theError, errString, append([]interface{}{msg}, args...)...) +} + +// EqualValuesf asserts that two objects are equal or convertable to the same types +// and equal. +// +// assert.EqualValuesf(t, uint32(123, "error message %s", "formatted"), int32(123)) +func EqualValuesf(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return EqualValues(t, expected, actual, append([]interface{}{msg}, args...)...) +} + +// Errorf asserts that a function returned an error (i.e. not `nil`). +// +// actualObj, err := SomeFunction() +// if assert.Errorf(t, err, "error message %s", "formatted") { +// assert.Equal(t, expectedErrorf, err) +// } +func Errorf(t TestingT, err error, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Error(t, err, append([]interface{}{msg}, args...)...) +} + +// Exactlyf asserts that two objects are equal in value and type. +// +// assert.Exactlyf(t, int32(123, "error message %s", "formatted"), int64(123)) +func Exactlyf(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Exactly(t, expected, actual, append([]interface{}{msg}, args...)...) +} + +// Failf reports a failure through +func Failf(t TestingT, failureMessage string, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Fail(t, failureMessage, append([]interface{}{msg}, args...)...) +} + +// FailNowf fails test +func FailNowf(t TestingT, failureMessage string, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return FailNow(t, failureMessage, append([]interface{}{msg}, args...)...) +} + +// Falsef asserts that the specified value is false. +// +// assert.Falsef(t, myBool, "error message %s", "formatted") +func Falsef(t TestingT, value bool, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return False(t, value, append([]interface{}{msg}, args...)...) +} + +// 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. +func FileExistsf(t TestingT, path string, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return FileExists(t, path, append([]interface{}{msg}, args...)...) +} + +// HTTPBodyContainsf asserts that a specified handler returns a +// body that contains a string. +// +// assert.HTTPBodyContainsf(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky", "error message %s", "formatted") +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPBodyContainsf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return HTTPBodyContains(t, handler, method, url, values, str, append([]interface{}{msg}, args...)...) +} + +// HTTPBodyNotContainsf asserts that a specified handler returns a +// body that does not contain a string. +// +// assert.HTTPBodyNotContainsf(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky", "error message %s", "formatted") +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPBodyNotContainsf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return HTTPBodyNotContains(t, handler, method, url, values, str, append([]interface{}{msg}, args...)...) +} + +// HTTPErrorf asserts that a specified handler returns an error status code. +// +// assert.HTTPErrorf(t, myHandler, "POST", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true, "error message %s", "formatted") or not (false). +func HTTPErrorf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return HTTPError(t, handler, method, url, values, append([]interface{}{msg}, args...)...) +} + +// HTTPRedirectf asserts that a specified handler returns a redirect status code. +// +// assert.HTTPRedirectf(t, myHandler, "GET", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true, "error message %s", "formatted") or not (false). +func HTTPRedirectf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return HTTPRedirect(t, handler, method, url, values, append([]interface{}{msg}, args...)...) +} + +// HTTPSuccessf asserts that a specified handler returns a success status code. +// +// assert.HTTPSuccessf(t, myHandler, "POST", "http://www.google.com", nil, "error message %s", "formatted") +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPSuccessf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return HTTPSuccess(t, handler, method, url, values, append([]interface{}{msg}, args...)...) +} + +// Implementsf asserts that an object is implemented by the specified interface. +// +// assert.Implementsf(t, (*MyInterface, "error message %s", "formatted")(nil), new(MyObject)) +func Implementsf(t TestingT, interfaceObject interface{}, object interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Implements(t, interfaceObject, object, append([]interface{}{msg}, args...)...) +} + +// InDeltaf asserts that the two numerals are within delta of each other. +// +// assert.InDeltaf(t, math.Pi, (22 / 7.0, "error message %s", "formatted"), 0.01) +func InDeltaf(t TestingT, expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return InDelta(t, expected, actual, delta, append([]interface{}{msg}, args...)...) +} + +// InDeltaMapValuesf is the same as InDelta, but it compares all values between two maps. Both maps must have exactly the same keys. +func InDeltaMapValuesf(t TestingT, expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return InDeltaMapValues(t, expected, actual, delta, append([]interface{}{msg}, args...)...) +} + +// InDeltaSlicef is the same as InDelta, except it compares two slices. +func InDeltaSlicef(t TestingT, expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return InDeltaSlice(t, expected, actual, delta, append([]interface{}{msg}, args...)...) +} + +// InEpsilonf asserts that expected and actual have a relative error less than epsilon +func InEpsilonf(t TestingT, expected interface{}, actual interface{}, epsilon float64, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return InEpsilon(t, expected, actual, epsilon, append([]interface{}{msg}, args...)...) +} + +// InEpsilonSlicef is the same as InEpsilon, except it compares each value from two slices. +func InEpsilonSlicef(t TestingT, expected interface{}, actual interface{}, epsilon float64, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return InEpsilonSlice(t, expected, actual, epsilon, append([]interface{}{msg}, args...)...) +} + +// IsTypef asserts that the specified objects are of the same type. +func IsTypef(t TestingT, expectedType interface{}, object interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return IsType(t, expectedType, object, append([]interface{}{msg}, args...)...) +} + +// JSONEqf asserts that two JSON strings are equivalent. +// +// assert.JSONEqf(t, `{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`, "error message %s", "formatted") +func JSONEqf(t TestingT, expected string, actual string, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return JSONEq(t, expected, actual, append([]interface{}{msg}, args...)...) +} + +// Lenf asserts that the specified object has specific length. +// Lenf also fails if the object has a type that len() not accept. +// +// assert.Lenf(t, mySlice, 3, "error message %s", "formatted") +func Lenf(t TestingT, object interface{}, length int, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Len(t, object, length, append([]interface{}{msg}, args...)...) +} + +// Nilf asserts that the specified object is nil. +// +// assert.Nilf(t, err, "error message %s", "formatted") +func Nilf(t TestingT, object interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Nil(t, object, append([]interface{}{msg}, args...)...) +} + +// NoErrorf asserts that a function returned no error (i.e. `nil`). +// +// actualObj, err := SomeFunction() +// if assert.NoErrorf(t, err, "error message %s", "formatted") { +// assert.Equal(t, expectedObj, actualObj) +// } +func NoErrorf(t TestingT, err error, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return NoError(t, err, append([]interface{}{msg}, args...)...) +} + +// NotContainsf asserts that the specified string, list(array, slice...) or map does NOT contain the +// specified substring or element. +// +// assert.NotContainsf(t, "Hello World", "Earth", "error message %s", "formatted") +// assert.NotContainsf(t, ["Hello", "World"], "Earth", "error message %s", "formatted") +// assert.NotContainsf(t, {"Hello": "World"}, "Earth", "error message %s", "formatted") +func NotContainsf(t TestingT, s interface{}, contains interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return NotContains(t, s, contains, append([]interface{}{msg}, args...)...) +} + +// NotEmptyf asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// if assert.NotEmptyf(t, obj, "error message %s", "formatted") { +// assert.Equal(t, "two", obj[1]) +// } +func NotEmptyf(t TestingT, object interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return NotEmpty(t, object, append([]interface{}{msg}, args...)...) +} + +// NotEqualf asserts that the specified values are NOT equal. +// +// assert.NotEqualf(t, obj1, obj2, "error message %s", "formatted") +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). +func NotEqualf(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return NotEqual(t, expected, actual, append([]interface{}{msg}, args...)...) +} + +// NotNilf asserts that the specified object is not nil. +// +// assert.NotNilf(t, err, "error message %s", "formatted") +func NotNilf(t TestingT, object interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return NotNil(t, object, append([]interface{}{msg}, args...)...) +} + +// NotPanicsf asserts that the code inside the specified PanicTestFunc does NOT panic. +// +// assert.NotPanicsf(t, func(){ RemainCalm() }, "error message %s", "formatted") +func NotPanicsf(t TestingT, f PanicTestFunc, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return NotPanics(t, f, append([]interface{}{msg}, args...)...) +} + +// NotRegexpf asserts that a specified regexp does not match a string. +// +// assert.NotRegexpf(t, regexp.MustCompile("starts", "error message %s", "formatted"), "it's starting") +// assert.NotRegexpf(t, "^start", "it's not starting", "error message %s", "formatted") +func NotRegexpf(t TestingT, rx interface{}, str interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return NotRegexp(t, rx, str, append([]interface{}{msg}, args...)...) +} + +// NotSubsetf asserts that the specified list(array, slice...) contains not all +// elements given in the specified subset(array, slice...). +// +// assert.NotSubsetf(t, [1, 3, 4], [1, 2], "But [1, 3, 4] does not contain [1, 2]", "error message %s", "formatted") +func NotSubsetf(t TestingT, list interface{}, subset interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return NotSubset(t, list, subset, append([]interface{}{msg}, args...)...) +} + +// NotZerof asserts that i is not the zero value for its type. +func NotZerof(t TestingT, i interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return NotZero(t, i, append([]interface{}{msg}, args...)...) +} + +// Panicsf asserts that the code inside the specified PanicTestFunc panics. +// +// assert.Panicsf(t, func(){ GoCrazy() }, "error message %s", "formatted") +func Panicsf(t TestingT, f PanicTestFunc, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Panics(t, f, append([]interface{}{msg}, args...)...) +} + +// PanicsWithValuef asserts that the code inside the specified PanicTestFunc panics, and that +// the recovered panic value equals the expected panic value. +// +// assert.PanicsWithValuef(t, "crazy error", func(){ GoCrazy() }, "error message %s", "formatted") +func PanicsWithValuef(t TestingT, expected interface{}, f PanicTestFunc, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return PanicsWithValue(t, expected, f, append([]interface{}{msg}, args...)...) +} + +// Regexpf asserts that a specified regexp matches a string. +// +// assert.Regexpf(t, regexp.MustCompile("start", "error message %s", "formatted"), "it's starting") +// assert.Regexpf(t, "start...$", "it's not starting", "error message %s", "formatted") +func Regexpf(t TestingT, rx interface{}, str interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Regexp(t, rx, str, append([]interface{}{msg}, args...)...) +} + +// Subsetf asserts that the specified list(array, slice...) contains all +// elements given in the specified subset(array, slice...). +// +// assert.Subsetf(t, [1, 2, 3], [1, 2], "But [1, 2, 3] does contain [1, 2]", "error message %s", "formatted") +func Subsetf(t TestingT, list interface{}, subset interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Subset(t, list, subset, append([]interface{}{msg}, args...)...) +} + +// Truef asserts that the specified value is true. +// +// assert.Truef(t, myBool, "error message %s", "formatted") +func Truef(t TestingT, value bool, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return True(t, value, append([]interface{}{msg}, args...)...) +} + +// WithinDurationf asserts that the two times are within duration delta of each other. +// +// assert.WithinDurationf(t, time.Now(), time.Now(), 10*time.Second, "error message %s", "formatted") +func WithinDurationf(t TestingT, expected time.Time, actual time.Time, delta time.Duration, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return WithinDuration(t, expected, actual, delta, append([]interface{}{msg}, args...)...) +} + +// Zerof asserts that i is the zero value for its type. +func Zerof(t TestingT, i interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Zero(t, i, append([]interface{}{msg}, args...)...) +} diff --git a/vendor/github.com/stretchr/testify/assert/assertion_format.go.tmpl b/vendor/github.com/stretchr/testify/assert/assertion_format.go.tmpl new file mode 100644 index 000000000..d2bb0b817 --- /dev/null +++ b/vendor/github.com/stretchr/testify/assert/assertion_format.go.tmpl @@ -0,0 +1,5 @@ +{{.CommentFormat}} +func {{.DocInfo.Name}}f(t TestingT, {{.ParamsFormat}}) bool { + if h, ok := t.(tHelper); ok { h.Helper() } + return {{.DocInfo.Name}}(t, {{.ForwardedParamsFormat}}) +} diff --git a/vendor/github.com/stretchr/testify/assert/assertion_forward.go b/vendor/github.com/stretchr/testify/assert/assertion_forward.go new file mode 100644 index 000000000..de39f794e --- /dev/null +++ b/vendor/github.com/stretchr/testify/assert/assertion_forward.go @@ -0,0 +1,956 @@ +/* +* CODE GENERATED AUTOMATICALLY WITH github.com/stretchr/testify/_codegen +* THIS FILE MUST NOT BE EDITED BY HAND + */ + +package assert + +import ( + http "net/http" + url "net/url" + time "time" +) + +// Condition uses a Comparison to assert a complex condition. +func (a *Assertions) Condition(comp Comparison, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Condition(a.t, comp, msgAndArgs...) +} + +// Conditionf uses a Comparison to assert a complex condition. +func (a *Assertions) Conditionf(comp Comparison, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Conditionf(a.t, comp, msg, args...) +} + +// Contains asserts that the specified string, list(array, slice...) or map contains the +// specified substring or element. +// +// a.Contains("Hello World", "World") +// a.Contains(["Hello", "World"], "World") +// a.Contains({"Hello": "World"}, "Hello") +func (a *Assertions) Contains(s interface{}, contains interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Contains(a.t, s, contains, msgAndArgs...) +} + +// Containsf asserts that the specified string, list(array, slice...) or map contains the +// specified substring or element. +// +// a.Containsf("Hello World", "World", "error message %s", "formatted") +// a.Containsf(["Hello", "World"], "World", "error message %s", "formatted") +// a.Containsf({"Hello": "World"}, "Hello", "error message %s", "formatted") +func (a *Assertions) Containsf(s interface{}, contains interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Containsf(a.t, s, contains, msg, args...) +} + +// 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. +func (a *Assertions) DirExists(path string, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return DirExists(a.t, path, msgAndArgs...) +} + +// 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. +func (a *Assertions) DirExistsf(path string, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return DirExistsf(a.t, path, msg, args...) +} + +// ElementsMatch asserts that the specified listA(array, slice...) is equal to specified +// listB(array, slice...) ignoring the order of the elements. If there are duplicate elements, +// the number of appearances of each of them in both lists should match. +// +// a.ElementsMatch([1, 3, 2, 3], [1, 3, 3, 2]) +func (a *Assertions) ElementsMatch(listA interface{}, listB interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return ElementsMatch(a.t, listA, listB, msgAndArgs...) +} + +// ElementsMatchf asserts that the specified listA(array, slice...) is equal to specified +// listB(array, slice...) ignoring the order of the elements. If there are duplicate elements, +// the number of appearances of each of them in both lists should match. +// +// a.ElementsMatchf([1, 3, 2, 3], [1, 3, 3, 2], "error message %s", "formatted") +func (a *Assertions) ElementsMatchf(listA interface{}, listB interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return ElementsMatchf(a.t, listA, listB, msg, args...) +} + +// Empty asserts that the specified object is empty. I.e. nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// a.Empty(obj) +func (a *Assertions) Empty(object interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Empty(a.t, object, msgAndArgs...) +} + +// Emptyf asserts that the specified object is empty. I.e. nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// a.Emptyf(obj, "error message %s", "formatted") +func (a *Assertions) Emptyf(object interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Emptyf(a.t, object, msg, args...) +} + +// Equal asserts that two objects are equal. +// +// a.Equal(123, 123) +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). Function equality +// cannot be determined and will always fail. +func (a *Assertions) Equal(expected interface{}, actual interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Equal(a.t, expected, actual, msgAndArgs...) +} + +// EqualError asserts that a function returned an error (i.e. not `nil`) +// and that it is equal to the provided error. +// +// actualObj, err := SomeFunction() +// a.EqualError(err, expectedErrorString) +func (a *Assertions) EqualError(theError error, errString string, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return EqualError(a.t, theError, errString, msgAndArgs...) +} + +// EqualErrorf asserts that a function returned an error (i.e. not `nil`) +// and that it is equal to the provided error. +// +// actualObj, err := SomeFunction() +// a.EqualErrorf(err, expectedErrorString, "error message %s", "formatted") +func (a *Assertions) EqualErrorf(theError error, errString string, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return EqualErrorf(a.t, theError, errString, msg, args...) +} + +// EqualValues asserts that two objects are equal or convertable to the same types +// and equal. +// +// a.EqualValues(uint32(123), int32(123)) +func (a *Assertions) EqualValues(expected interface{}, actual interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return EqualValues(a.t, expected, actual, msgAndArgs...) +} + +// EqualValuesf asserts that two objects are equal or convertable to the same types +// and equal. +// +// a.EqualValuesf(uint32(123, "error message %s", "formatted"), int32(123)) +func (a *Assertions) EqualValuesf(expected interface{}, actual interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return EqualValuesf(a.t, expected, actual, msg, args...) +} + +// Equalf asserts that two objects are equal. +// +// a.Equalf(123, 123, "error message %s", "formatted") +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). Function equality +// cannot be determined and will always fail. +func (a *Assertions) Equalf(expected interface{}, actual interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Equalf(a.t, expected, actual, msg, args...) +} + +// Error asserts that a function returned an error (i.e. not `nil`). +// +// actualObj, err := SomeFunction() +// if a.Error(err) { +// assert.Equal(t, expectedError, err) +// } +func (a *Assertions) Error(err error, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Error(a.t, err, msgAndArgs...) +} + +// Errorf asserts that a function returned an error (i.e. not `nil`). +// +// actualObj, err := SomeFunction() +// if a.Errorf(err, "error message %s", "formatted") { +// assert.Equal(t, expectedErrorf, err) +// } +func (a *Assertions) Errorf(err error, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Errorf(a.t, err, msg, args...) +} + +// Exactly asserts that two objects are equal in value and type. +// +// a.Exactly(int32(123), int64(123)) +func (a *Assertions) Exactly(expected interface{}, actual interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Exactly(a.t, expected, actual, msgAndArgs...) +} + +// Exactlyf asserts that two objects are equal in value and type. +// +// a.Exactlyf(int32(123, "error message %s", "formatted"), int64(123)) +func (a *Assertions) Exactlyf(expected interface{}, actual interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Exactlyf(a.t, expected, actual, msg, args...) +} + +// Fail reports a failure through +func (a *Assertions) Fail(failureMessage string, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Fail(a.t, failureMessage, msgAndArgs...) +} + +// FailNow fails test +func (a *Assertions) FailNow(failureMessage string, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return FailNow(a.t, failureMessage, msgAndArgs...) +} + +// FailNowf fails test +func (a *Assertions) FailNowf(failureMessage string, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return FailNowf(a.t, failureMessage, msg, args...) +} + +// Failf reports a failure through +func (a *Assertions) Failf(failureMessage string, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Failf(a.t, failureMessage, msg, args...) +} + +// False asserts that the specified value is false. +// +// a.False(myBool) +func (a *Assertions) False(value bool, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return False(a.t, value, msgAndArgs...) +} + +// Falsef asserts that the specified value is false. +// +// a.Falsef(myBool, "error message %s", "formatted") +func (a *Assertions) Falsef(value bool, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Falsef(a.t, value, msg, args...) +} + +// 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. +func (a *Assertions) FileExists(path string, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return FileExists(a.t, path, msgAndArgs...) +} + +// 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. +func (a *Assertions) FileExistsf(path string, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return FileExistsf(a.t, path, msg, args...) +} + +// HTTPBodyContains asserts that a specified handler returns a +// body that contains a string. +// +// a.HTTPBodyContains(myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky") +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPBodyContains(handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return HTTPBodyContains(a.t, handler, method, url, values, str, msgAndArgs...) +} + +// HTTPBodyContainsf asserts that a specified handler returns a +// body that contains a string. +// +// a.HTTPBodyContainsf(myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky", "error message %s", "formatted") +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPBodyContainsf(handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return HTTPBodyContainsf(a.t, handler, method, url, values, str, msg, args...) +} + +// HTTPBodyNotContains asserts that a specified handler returns a +// body that does not contain a string. +// +// a.HTTPBodyNotContains(myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky") +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPBodyNotContains(handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return HTTPBodyNotContains(a.t, handler, method, url, values, str, msgAndArgs...) +} + +// HTTPBodyNotContainsf asserts that a specified handler returns a +// body that does not contain a string. +// +// a.HTTPBodyNotContainsf(myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky", "error message %s", "formatted") +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPBodyNotContainsf(handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return HTTPBodyNotContainsf(a.t, handler, method, url, values, str, msg, args...) +} + +// HTTPError asserts that a specified handler returns an error status code. +// +// a.HTTPError(myHandler, "POST", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPError(handler http.HandlerFunc, method string, url string, values url.Values, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return HTTPError(a.t, handler, method, url, values, msgAndArgs...) +} + +// HTTPErrorf asserts that a specified handler returns an error status code. +// +// a.HTTPErrorf(myHandler, "POST", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true, "error message %s", "formatted") or not (false). +func (a *Assertions) HTTPErrorf(handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return HTTPErrorf(a.t, handler, method, url, values, msg, args...) +} + +// HTTPRedirect asserts that a specified handler returns a redirect status code. +// +// a.HTTPRedirect(myHandler, "GET", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPRedirect(handler http.HandlerFunc, method string, url string, values url.Values, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return HTTPRedirect(a.t, handler, method, url, values, msgAndArgs...) +} + +// HTTPRedirectf asserts that a specified handler returns a redirect status code. +// +// a.HTTPRedirectf(myHandler, "GET", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true, "error message %s", "formatted") or not (false). +func (a *Assertions) HTTPRedirectf(handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return HTTPRedirectf(a.t, handler, method, url, values, msg, args...) +} + +// HTTPSuccess asserts that a specified handler returns a success status code. +// +// a.HTTPSuccess(myHandler, "POST", "http://www.google.com", nil) +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPSuccess(handler http.HandlerFunc, method string, url string, values url.Values, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return HTTPSuccess(a.t, handler, method, url, values, msgAndArgs...) +} + +// HTTPSuccessf asserts that a specified handler returns a success status code. +// +// a.HTTPSuccessf(myHandler, "POST", "http://www.google.com", nil, "error message %s", "formatted") +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPSuccessf(handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return HTTPSuccessf(a.t, handler, method, url, values, msg, args...) +} + +// Implements asserts that an object is implemented by the specified interface. +// +// a.Implements((*MyInterface)(nil), new(MyObject)) +func (a *Assertions) Implements(interfaceObject interface{}, object interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Implements(a.t, interfaceObject, object, msgAndArgs...) +} + +// Implementsf asserts that an object is implemented by the specified interface. +// +// a.Implementsf((*MyInterface, "error message %s", "formatted")(nil), new(MyObject)) +func (a *Assertions) Implementsf(interfaceObject interface{}, object interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Implementsf(a.t, interfaceObject, object, msg, args...) +} + +// InDelta asserts that the two numerals are within delta of each other. +// +// a.InDelta(math.Pi, (22 / 7.0), 0.01) +func (a *Assertions) InDelta(expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return InDelta(a.t, expected, actual, delta, msgAndArgs...) +} + +// InDeltaMapValues is the same as InDelta, but it compares all values between two maps. Both maps must have exactly the same keys. +func (a *Assertions) InDeltaMapValues(expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return InDeltaMapValues(a.t, expected, actual, delta, msgAndArgs...) +} + +// InDeltaMapValuesf is the same as InDelta, but it compares all values between two maps. Both maps must have exactly the same keys. +func (a *Assertions) InDeltaMapValuesf(expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return InDeltaMapValuesf(a.t, expected, actual, delta, msg, args...) +} + +// InDeltaSlice is the same as InDelta, except it compares two slices. +func (a *Assertions) InDeltaSlice(expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return InDeltaSlice(a.t, expected, actual, delta, msgAndArgs...) +} + +// InDeltaSlicef is the same as InDelta, except it compares two slices. +func (a *Assertions) InDeltaSlicef(expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return InDeltaSlicef(a.t, expected, actual, delta, msg, args...) +} + +// InDeltaf asserts that the two numerals are within delta of each other. +// +// a.InDeltaf(math.Pi, (22 / 7.0, "error message %s", "formatted"), 0.01) +func (a *Assertions) InDeltaf(expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return InDeltaf(a.t, expected, actual, delta, msg, args...) +} + +// InEpsilon asserts that expected and actual have a relative error less than epsilon +func (a *Assertions) InEpsilon(expected interface{}, actual interface{}, epsilon float64, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return InEpsilon(a.t, expected, actual, epsilon, msgAndArgs...) +} + +// InEpsilonSlice is the same as InEpsilon, except it compares each value from two slices. +func (a *Assertions) InEpsilonSlice(expected interface{}, actual interface{}, epsilon float64, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return InEpsilonSlice(a.t, expected, actual, epsilon, msgAndArgs...) +} + +// InEpsilonSlicef is the same as InEpsilon, except it compares each value from two slices. +func (a *Assertions) InEpsilonSlicef(expected interface{}, actual interface{}, epsilon float64, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return InEpsilonSlicef(a.t, expected, actual, epsilon, msg, args...) +} + +// InEpsilonf asserts that expected and actual have a relative error less than epsilon +func (a *Assertions) InEpsilonf(expected interface{}, actual interface{}, epsilon float64, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return InEpsilonf(a.t, expected, actual, epsilon, msg, args...) +} + +// IsType asserts that the specified objects are of the same type. +func (a *Assertions) IsType(expectedType interface{}, object interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return IsType(a.t, expectedType, object, msgAndArgs...) +} + +// IsTypef asserts that the specified objects are of the same type. +func (a *Assertions) IsTypef(expectedType interface{}, object interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return IsTypef(a.t, expectedType, object, msg, args...) +} + +// JSONEq asserts that two JSON strings are equivalent. +// +// a.JSONEq(`{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`) +func (a *Assertions) JSONEq(expected string, actual string, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return JSONEq(a.t, expected, actual, msgAndArgs...) +} + +// JSONEqf asserts that two JSON strings are equivalent. +// +// a.JSONEqf(`{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`, "error message %s", "formatted") +func (a *Assertions) JSONEqf(expected string, actual string, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return JSONEqf(a.t, expected, actual, msg, args...) +} + +// Len asserts that the specified object has specific length. +// Len also fails if the object has a type that len() not accept. +// +// a.Len(mySlice, 3) +func (a *Assertions) Len(object interface{}, length int, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Len(a.t, object, length, msgAndArgs...) +} + +// Lenf asserts that the specified object has specific length. +// Lenf also fails if the object has a type that len() not accept. +// +// a.Lenf(mySlice, 3, "error message %s", "formatted") +func (a *Assertions) Lenf(object interface{}, length int, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Lenf(a.t, object, length, msg, args...) +} + +// Nil asserts that the specified object is nil. +// +// a.Nil(err) +func (a *Assertions) Nil(object interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Nil(a.t, object, msgAndArgs...) +} + +// Nilf asserts that the specified object is nil. +// +// a.Nilf(err, "error message %s", "formatted") +func (a *Assertions) Nilf(object interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Nilf(a.t, object, msg, args...) +} + +// NoError asserts that a function returned no error (i.e. `nil`). +// +// actualObj, err := SomeFunction() +// if a.NoError(err) { +// assert.Equal(t, expectedObj, actualObj) +// } +func (a *Assertions) NoError(err error, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NoError(a.t, err, msgAndArgs...) +} + +// NoErrorf asserts that a function returned no error (i.e. `nil`). +// +// actualObj, err := SomeFunction() +// if a.NoErrorf(err, "error message %s", "formatted") { +// assert.Equal(t, expectedObj, actualObj) +// } +func (a *Assertions) NoErrorf(err error, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NoErrorf(a.t, err, msg, args...) +} + +// NotContains asserts that the specified string, list(array, slice...) or map does NOT contain the +// specified substring or element. +// +// a.NotContains("Hello World", "Earth") +// a.NotContains(["Hello", "World"], "Earth") +// a.NotContains({"Hello": "World"}, "Earth") +func (a *Assertions) NotContains(s interface{}, contains interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotContains(a.t, s, contains, msgAndArgs...) +} + +// NotContainsf asserts that the specified string, list(array, slice...) or map does NOT contain the +// specified substring or element. +// +// a.NotContainsf("Hello World", "Earth", "error message %s", "formatted") +// a.NotContainsf(["Hello", "World"], "Earth", "error message %s", "formatted") +// a.NotContainsf({"Hello": "World"}, "Earth", "error message %s", "formatted") +func (a *Assertions) NotContainsf(s interface{}, contains interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotContainsf(a.t, s, contains, msg, args...) +} + +// NotEmpty asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// if a.NotEmpty(obj) { +// assert.Equal(t, "two", obj[1]) +// } +func (a *Assertions) NotEmpty(object interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotEmpty(a.t, object, msgAndArgs...) +} + +// NotEmptyf asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// if a.NotEmptyf(obj, "error message %s", "formatted") { +// assert.Equal(t, "two", obj[1]) +// } +func (a *Assertions) NotEmptyf(object interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotEmptyf(a.t, object, msg, args...) +} + +// NotEqual asserts that the specified values are NOT equal. +// +// a.NotEqual(obj1, obj2) +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). +func (a *Assertions) NotEqual(expected interface{}, actual interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotEqual(a.t, expected, actual, msgAndArgs...) +} + +// NotEqualf asserts that the specified values are NOT equal. +// +// a.NotEqualf(obj1, obj2, "error message %s", "formatted") +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). +func (a *Assertions) NotEqualf(expected interface{}, actual interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotEqualf(a.t, expected, actual, msg, args...) +} + +// NotNil asserts that the specified object is not nil. +// +// a.NotNil(err) +func (a *Assertions) NotNil(object interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotNil(a.t, object, msgAndArgs...) +} + +// NotNilf asserts that the specified object is not nil. +// +// a.NotNilf(err, "error message %s", "formatted") +func (a *Assertions) NotNilf(object interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotNilf(a.t, object, msg, args...) +} + +// NotPanics asserts that the code inside the specified PanicTestFunc does NOT panic. +// +// a.NotPanics(func(){ RemainCalm() }) +func (a *Assertions) NotPanics(f PanicTestFunc, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotPanics(a.t, f, msgAndArgs...) +} + +// NotPanicsf asserts that the code inside the specified PanicTestFunc does NOT panic. +// +// a.NotPanicsf(func(){ RemainCalm() }, "error message %s", "formatted") +func (a *Assertions) NotPanicsf(f PanicTestFunc, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotPanicsf(a.t, f, msg, args...) +} + +// NotRegexp asserts that a specified regexp does not match a string. +// +// a.NotRegexp(regexp.MustCompile("starts"), "it's starting") +// a.NotRegexp("^start", "it's not starting") +func (a *Assertions) NotRegexp(rx interface{}, str interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotRegexp(a.t, rx, str, msgAndArgs...) +} + +// NotRegexpf asserts that a specified regexp does not match a string. +// +// a.NotRegexpf(regexp.MustCompile("starts", "error message %s", "formatted"), "it's starting") +// a.NotRegexpf("^start", "it's not starting", "error message %s", "formatted") +func (a *Assertions) NotRegexpf(rx interface{}, str interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotRegexpf(a.t, rx, str, msg, args...) +} + +// NotSubset asserts that the specified list(array, slice...) contains not all +// elements given in the specified subset(array, slice...). +// +// a.NotSubset([1, 3, 4], [1, 2], "But [1, 3, 4] does not contain [1, 2]") +func (a *Assertions) NotSubset(list interface{}, subset interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotSubset(a.t, list, subset, msgAndArgs...) +} + +// NotSubsetf asserts that the specified list(array, slice...) contains not all +// elements given in the specified subset(array, slice...). +// +// a.NotSubsetf([1, 3, 4], [1, 2], "But [1, 3, 4] does not contain [1, 2]", "error message %s", "formatted") +func (a *Assertions) NotSubsetf(list interface{}, subset interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotSubsetf(a.t, list, subset, msg, args...) +} + +// NotZero asserts that i is not the zero value for its type. +func (a *Assertions) NotZero(i interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotZero(a.t, i, msgAndArgs...) +} + +// NotZerof asserts that i is not the zero value for its type. +func (a *Assertions) NotZerof(i interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return NotZerof(a.t, i, msg, args...) +} + +// Panics asserts that the code inside the specified PanicTestFunc panics. +// +// a.Panics(func(){ GoCrazy() }) +func (a *Assertions) Panics(f PanicTestFunc, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Panics(a.t, f, msgAndArgs...) +} + +// PanicsWithValue asserts that the code inside the specified PanicTestFunc panics, and that +// the recovered panic value equals the expected panic value. +// +// a.PanicsWithValue("crazy error", func(){ GoCrazy() }) +func (a *Assertions) PanicsWithValue(expected interface{}, f PanicTestFunc, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return PanicsWithValue(a.t, expected, f, msgAndArgs...) +} + +// PanicsWithValuef asserts that the code inside the specified PanicTestFunc panics, and that +// the recovered panic value equals the expected panic value. +// +// a.PanicsWithValuef("crazy error", func(){ GoCrazy() }, "error message %s", "formatted") +func (a *Assertions) PanicsWithValuef(expected interface{}, f PanicTestFunc, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return PanicsWithValuef(a.t, expected, f, msg, args...) +} + +// Panicsf asserts that the code inside the specified PanicTestFunc panics. +// +// a.Panicsf(func(){ GoCrazy() }, "error message %s", "formatted") +func (a *Assertions) Panicsf(f PanicTestFunc, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Panicsf(a.t, f, msg, args...) +} + +// Regexp asserts that a specified regexp matches a string. +// +// a.Regexp(regexp.MustCompile("start"), "it's starting") +// a.Regexp("start...$", "it's not starting") +func (a *Assertions) Regexp(rx interface{}, str interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Regexp(a.t, rx, str, msgAndArgs...) +} + +// Regexpf asserts that a specified regexp matches a string. +// +// a.Regexpf(regexp.MustCompile("start", "error message %s", "formatted"), "it's starting") +// a.Regexpf("start...$", "it's not starting", "error message %s", "formatted") +func (a *Assertions) Regexpf(rx interface{}, str interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Regexpf(a.t, rx, str, msg, args...) +} + +// Subset asserts that the specified list(array, slice...) contains all +// elements given in the specified subset(array, slice...). +// +// a.Subset([1, 2, 3], [1, 2], "But [1, 2, 3] does contain [1, 2]") +func (a *Assertions) Subset(list interface{}, subset interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Subset(a.t, list, subset, msgAndArgs...) +} + +// Subsetf asserts that the specified list(array, slice...) contains all +// elements given in the specified subset(array, slice...). +// +// a.Subsetf([1, 2, 3], [1, 2], "But [1, 2, 3] does contain [1, 2]", "error message %s", "formatted") +func (a *Assertions) Subsetf(list interface{}, subset interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Subsetf(a.t, list, subset, msg, args...) +} + +// True asserts that the specified value is true. +// +// a.True(myBool) +func (a *Assertions) True(value bool, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return True(a.t, value, msgAndArgs...) +} + +// Truef asserts that the specified value is true. +// +// a.Truef(myBool, "error message %s", "formatted") +func (a *Assertions) Truef(value bool, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Truef(a.t, value, msg, args...) +} + +// WithinDuration asserts that the two times are within duration delta of each other. +// +// a.WithinDuration(time.Now(), time.Now(), 10*time.Second) +func (a *Assertions) WithinDuration(expected time.Time, actual time.Time, delta time.Duration, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return WithinDuration(a.t, expected, actual, delta, msgAndArgs...) +} + +// WithinDurationf asserts that the two times are within duration delta of each other. +// +// a.WithinDurationf(time.Now(), time.Now(), 10*time.Second, "error message %s", "formatted") +func (a *Assertions) WithinDurationf(expected time.Time, actual time.Time, delta time.Duration, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return WithinDurationf(a.t, expected, actual, delta, msg, args...) +} + +// Zero asserts that i is the zero value for its type. +func (a *Assertions) Zero(i interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Zero(a.t, i, msgAndArgs...) +} + +// Zerof asserts that i is the zero value for its type. +func (a *Assertions) Zerof(i interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return Zerof(a.t, i, msg, args...) +} diff --git a/vendor/github.com/stretchr/testify/assert/assertion_forward.go.tmpl b/vendor/github.com/stretchr/testify/assert/assertion_forward.go.tmpl new file mode 100644 index 000000000..188bb9e17 --- /dev/null +++ b/vendor/github.com/stretchr/testify/assert/assertion_forward.go.tmpl @@ -0,0 +1,5 @@ +{{.CommentWithoutT "a"}} +func (a *Assertions) {{.DocInfo.Name}}({{.Params}}) bool { + if h, ok := a.t.(tHelper); ok { h.Helper() } + return {{.DocInfo.Name}}(a.t, {{.ForwardedParams}}) +} diff --git a/vendor/github.com/stretchr/testify/assert/assertions.go b/vendor/github.com/stretchr/testify/assert/assertions.go new file mode 100644 index 000000000..9bd4a80e4 --- /dev/null +++ b/vendor/github.com/stretchr/testify/assert/assertions.go @@ -0,0 +1,1416 @@ +package assert + +import ( + "bufio" + "bytes" + "encoding/json" + "errors" + "fmt" + "math" + "os" + "reflect" + "regexp" + "runtime" + "strings" + "time" + "unicode" + "unicode/utf8" + + "github.com/davecgh/go-spew/spew" + "github.com/pmezard/go-difflib/difflib" +) + +//go:generate go run ../_codegen/main.go -output-package=assert -template=assertion_format.go.tmpl + +// TestingT is an interface wrapper around *testing.T +type TestingT interface { + Errorf(format string, args ...interface{}) +} + +// ComparisonAssertionFunc is a common function prototype when comparing two values. Can be useful +// for table driven tests. +type ComparisonAssertionFunc func(TestingT, interface{}, interface{}, ...interface{}) bool + +// ValueAssertionFunc is a common function prototype when validating a single value. Can be useful +// for table driven tests. +type ValueAssertionFunc func(TestingT, interface{}, ...interface{}) bool + +// BoolAssertionFunc is a common function prototype when validating a bool value. Can be useful +// for table driven tests. +type BoolAssertionFunc func(TestingT, bool, ...interface{}) bool + +// ErrorAssertionFunc is a common function prototype when validating an error value. Can be useful +// for table driven tests. +type ErrorAssertionFunc func(TestingT, error, ...interface{}) bool + +// Comparison a custom function that returns true on success and false on failure +type Comparison func() (success bool) + +/* + Helper functions +*/ + +// ObjectsAreEqual determines if two objects are considered equal. +// +// This function does no assertion of any kind. +func ObjectsAreEqual(expected, actual interface{}) bool { + if expected == nil || actual == nil { + return expected == actual + } + + exp, ok := expected.([]byte) + if !ok { + return reflect.DeepEqual(expected, actual) + } + + act, ok := actual.([]byte) + if !ok { + return false + } + if exp == nil || act == nil { + return exp == nil && act == nil + } + return bytes.Equal(exp, act) +} + +// ObjectsAreEqualValues gets whether two objects are equal, or if their +// values are equal. +func ObjectsAreEqualValues(expected, actual interface{}) bool { + if ObjectsAreEqual(expected, actual) { + return true + } + + actualType := reflect.TypeOf(actual) + if actualType == nil { + return false + } + expectedValue := reflect.ValueOf(expected) + if expectedValue.IsValid() && expectedValue.Type().ConvertibleTo(actualType) { + // Attempt comparison after type conversion + return reflect.DeepEqual(expectedValue.Convert(actualType).Interface(), actual) + } + + return false +} + +/* CallerInfo is necessary because the assert functions use the testing object +internally, causing it to print the file:line of the assert method, rather than where +the problem actually occurred in calling code.*/ + +// CallerInfo returns an array of strings containing the file and line number +// of each stack frame leading from the current test to the assert call that +// failed. +func CallerInfo() []string { + + pc := uintptr(0) + file := "" + line := 0 + ok := false + name := "" + + callers := []string{} + for i := 0; ; i++ { + pc, file, line, ok = runtime.Caller(i) + if !ok { + // The breaks below failed to terminate the loop, and we ran off the + // end of the call stack. + break + } + + // This is a huge edge case, but it will panic if this is the case, see #180 + if file == "" { + break + } + + f := runtime.FuncForPC(pc) + if f == nil { + break + } + name = f.Name() + + // testing.tRunner is the standard library function that calls + // tests. Subtests are called directly by tRunner, without going through + // the Test/Benchmark/Example function that contains the t.Run calls, so + // with subtests we should break when we hit tRunner, without adding it + // to the list of callers. + if name == "testing.tRunner" { + break + } + + parts := strings.Split(file, "/") + file = parts[len(parts)-1] + if len(parts) > 1 { + dir := parts[len(parts)-2] + if (dir != "assert" && dir != "mock" && dir != "require") || file == "mock_test.go" { + callers = append(callers, fmt.Sprintf("%s:%d", file, line)) + } + } + + // Drop the package + segments := strings.Split(name, ".") + name = segments[len(segments)-1] + if isTest(name, "Test") || + isTest(name, "Benchmark") || + isTest(name, "Example") { + break + } + } + + return callers +} + +// Stolen from the `go test` tool. +// isTest tells whether name looks like a test (or benchmark, according to prefix). +// It is a Test (say) if there is a character after Test that is not a lower-case letter. +// We don't want TesticularCancer. +func isTest(name, prefix string) bool { + if !strings.HasPrefix(name, prefix) { + return false + } + if len(name) == len(prefix) { // "Test" is ok + return true + } + rune, _ := utf8.DecodeRuneInString(name[len(prefix):]) + return !unicode.IsLower(rune) +} + +func messageFromMsgAndArgs(msgAndArgs ...interface{}) string { + if len(msgAndArgs) == 0 || msgAndArgs == nil { + return "" + } + if len(msgAndArgs) == 1 { + msg := msgAndArgs[0] + if msgAsStr, ok := msg.(string); ok { + return msgAsStr + } + return fmt.Sprintf("%+v", msg) + } + if len(msgAndArgs) > 1 { + return fmt.Sprintf(msgAndArgs[0].(string), msgAndArgs[1:]...) + } + return "" +} + +// Aligns the provided message so that all lines after the first line start at the same location as the first line. +// Assumes that the first line starts at the correct location (after carriage return, tab, label, spacer and tab). +// The longestLabelLen parameter specifies the length of the longest label in the output (required becaues this is the +// basis on which the alignment occurs). +func indentMessageLines(message string, longestLabelLen int) string { + outBuf := new(bytes.Buffer) + + for i, scanner := 0, bufio.NewScanner(strings.NewReader(message)); scanner.Scan(); i++ { + // no need to align first line because it starts at the correct location (after the label) + if i != 0 { + // append alignLen+1 spaces to align with "{{longestLabel}}:" before adding tab + outBuf.WriteString("\n\t" + strings.Repeat(" ", longestLabelLen+1) + "\t") + } + outBuf.WriteString(scanner.Text()) + } + + return outBuf.String() +} + +type failNower interface { + FailNow() +} + +// FailNow fails test +func FailNow(t TestingT, failureMessage string, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + Fail(t, failureMessage, msgAndArgs...) + + // We cannot extend TestingT with FailNow() and + // maintain backwards compatibility, so we fallback + // to panicking when FailNow is not available in + // TestingT. + // See issue #263 + + if t, ok := t.(failNower); ok { + t.FailNow() + } else { + panic("test failed and t is missing `FailNow()`") + } + return false +} + +// Fail reports a failure through +func Fail(t TestingT, failureMessage string, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + content := []labeledContent{ + {"Error Trace", strings.Join(CallerInfo(), "\n\t\t\t")}, + {"Error", failureMessage}, + } + + // Add test name if the Go version supports it + if n, ok := t.(interface { + Name() string + }); ok { + content = append(content, labeledContent{"Test", n.Name()}) + } + + message := messageFromMsgAndArgs(msgAndArgs...) + if len(message) > 0 { + content = append(content, labeledContent{"Messages", message}) + } + + t.Errorf("\n%s", ""+labeledOutput(content...)) + + return false +} + +type labeledContent struct { + label string + content string +} + +// labeledOutput returns a string consisting of the provided labeledContent. Each labeled output is appended in the following manner: +// +// \t{{label}}:{{align_spaces}}\t{{content}}\n +// +// The initial carriage return is required to undo/erase any padding added by testing.T.Errorf. The "\t{{label}}:" is for the label. +// If a label is shorter than the longest label provided, padding spaces are added to make all the labels match in length. Once this +// alignment is achieved, "\t{{content}}\n" is added for the output. +// +// 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. +func labeledOutput(content ...labeledContent) string { + longestLabel := 0 + for _, v := range content { + if len(v.label) > longestLabel { + longestLabel = len(v.label) + } + } + var output string + for _, v := range content { + output += "\t" + v.label + ":" + strings.Repeat(" ", longestLabel-len(v.label)) + "\t" + indentMessageLines(v.content, longestLabel) + "\n" + } + return output +} + +// Implements asserts that an object is implemented by the specified interface. +// +// assert.Implements(t, (*MyInterface)(nil), new(MyObject)) +func Implements(t TestingT, interfaceObject interface{}, object interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + interfaceType := reflect.TypeOf(interfaceObject).Elem() + + if object == nil { + return Fail(t, fmt.Sprintf("Cannot check if nil implements %v", interfaceType), msgAndArgs...) + } + if !reflect.TypeOf(object).Implements(interfaceType) { + return Fail(t, fmt.Sprintf("%T must implement %v", object, interfaceType), msgAndArgs...) + } + + return true +} + +// IsType asserts that the specified objects are of the same type. +func IsType(t TestingT, expectedType interface{}, object interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + if !ObjectsAreEqual(reflect.TypeOf(object), reflect.TypeOf(expectedType)) { + return Fail(t, fmt.Sprintf("Object expected to be of type %v, but was %v", reflect.TypeOf(expectedType), reflect.TypeOf(object)), msgAndArgs...) + } + + return true +} + +// Equal asserts that two objects are equal. +// +// assert.Equal(t, 123, 123) +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). Function equality +// cannot be determined and will always fail. +func Equal(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if err := validateEqualArgs(expected, actual); err != nil { + return Fail(t, fmt.Sprintf("Invalid operation: %#v == %#v (%s)", + expected, actual, err), msgAndArgs...) + } + + if !ObjectsAreEqual(expected, actual) { + diff := diff(expected, actual) + expected, actual = formatUnequalValues(expected, actual) + return Fail(t, fmt.Sprintf("Not equal: \n"+ + "expected: %s\n"+ + "actual : %s%s", expected, actual, diff), msgAndArgs...) + } + + return true + +} + +// formatUnequalValues takes two values of arbitrary types and returns string +// representations appropriate to be presented to the user. +// +// If the values are not of like type, the returned strings will be prefixed +// with the type name, and the value will be enclosed in parenthesis similar +// to a type conversion in the Go grammar. +func formatUnequalValues(expected, actual interface{}) (e string, a string) { + if reflect.TypeOf(expected) != reflect.TypeOf(actual) { + return fmt.Sprintf("%T(%#v)", expected, expected), + fmt.Sprintf("%T(%#v)", actual, actual) + } + + return fmt.Sprintf("%#v", expected), + fmt.Sprintf("%#v", actual) +} + +// EqualValues asserts that two objects are equal or convertable to the same types +// and equal. +// +// assert.EqualValues(t, uint32(123), int32(123)) +func EqualValues(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + if !ObjectsAreEqualValues(expected, actual) { + diff := diff(expected, actual) + expected, actual = formatUnequalValues(expected, actual) + return Fail(t, fmt.Sprintf("Not equal: \n"+ + "expected: %s\n"+ + "actual : %s%s", expected, actual, diff), msgAndArgs...) + } + + return true + +} + +// Exactly asserts that two objects are equal in value and type. +// +// assert.Exactly(t, int32(123), int64(123)) +func Exactly(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + aType := reflect.TypeOf(expected) + bType := reflect.TypeOf(actual) + + if aType != bType { + return Fail(t, fmt.Sprintf("Types expected to match exactly\n\t%v != %v", aType, bType), msgAndArgs...) + } + + return Equal(t, expected, actual, msgAndArgs...) + +} + +// NotNil asserts that the specified object is not nil. +// +// assert.NotNil(t, err) +func NotNil(t TestingT, object interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if !isNil(object) { + return true + } + return Fail(t, "Expected value not to be nil.", msgAndArgs...) +} + +// containsKind checks if a specified kind in the slice of kinds. +func containsKind(kinds []reflect.Kind, kind reflect.Kind) bool { + for i := 0; i < len(kinds); i++ { + if kind == kinds[i] { + return true + } + } + + return false +} + +// isNil checks if a specified object is nil or not, without Failing. +func isNil(object interface{}) bool { + if object == nil { + return true + } + + value := reflect.ValueOf(object) + kind := value.Kind() + isNilableKind := containsKind( + []reflect.Kind{ + reflect.Chan, reflect.Func, + reflect.Interface, reflect.Map, + reflect.Ptr, reflect.Slice}, + kind) + + if isNilableKind && value.IsNil() { + return true + } + + return false +} + +// Nil asserts that the specified object is nil. +// +// assert.Nil(t, err) +func Nil(t TestingT, object interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if isNil(object) { + return true + } + return Fail(t, fmt.Sprintf("Expected nil, but got: %#v", object), msgAndArgs...) +} + +// isEmpty gets whether the specified object is considered empty or not. +func isEmpty(object interface{}) bool { + + // get nil case out of the way + if object == nil { + return true + } + + objValue := reflect.ValueOf(object) + + switch objValue.Kind() { + // collection types are empty when they have no element + case reflect.Array, reflect.Chan, reflect.Map, reflect.Slice: + return objValue.Len() == 0 + // pointers are empty if nil or if the value they point to is empty + case reflect.Ptr: + if objValue.IsNil() { + return true + } + deref := objValue.Elem().Interface() + return isEmpty(deref) + // for all other types, compare against the zero value + default: + zero := reflect.Zero(objValue.Type()) + return reflect.DeepEqual(object, zero.Interface()) + } +} + +// Empty asserts that the specified object is empty. I.e. nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// assert.Empty(t, obj) +func Empty(t TestingT, object interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + pass := isEmpty(object) + if !pass { + Fail(t, fmt.Sprintf("Should be empty, but was %v", object), msgAndArgs...) + } + + return pass + +} + +// NotEmpty asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// if assert.NotEmpty(t, obj) { +// assert.Equal(t, "two", obj[1]) +// } +func NotEmpty(t TestingT, object interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + pass := !isEmpty(object) + if !pass { + Fail(t, fmt.Sprintf("Should NOT be empty, but was %v", object), msgAndArgs...) + } + + return pass + +} + +// getLen try to get length of object. +// return (false, 0) if impossible. +func getLen(x interface{}) (ok bool, length int) { + v := reflect.ValueOf(x) + defer func() { + if e := recover(); e != nil { + ok = false + } + }() + return true, v.Len() +} + +// Len asserts that the specified object has specific length. +// Len also fails if the object has a type that len() not accept. +// +// assert.Len(t, mySlice, 3) +func Len(t TestingT, object interface{}, length int, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + ok, l := getLen(object) + if !ok { + return Fail(t, fmt.Sprintf("\"%s\" could not be applied builtin len()", object), msgAndArgs...) + } + + if l != length { + return Fail(t, fmt.Sprintf("\"%s\" should have %d item(s), but has %d", object, length, l), msgAndArgs...) + } + return true +} + +// True asserts that the specified value is true. +// +// assert.True(t, myBool) +func True(t TestingT, value bool, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if h, ok := t.(interface { + Helper() + }); ok { + h.Helper() + } + + if value != true { + return Fail(t, "Should be true", msgAndArgs...) + } + + return true + +} + +// False asserts that the specified value is false. +// +// assert.False(t, myBool) +func False(t TestingT, value bool, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + if value != false { + return Fail(t, "Should be false", msgAndArgs...) + } + + return true + +} + +// NotEqual asserts that the specified values are NOT equal. +// +// assert.NotEqual(t, obj1, obj2) +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). +func NotEqual(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if err := validateEqualArgs(expected, actual); err != nil { + return Fail(t, fmt.Sprintf("Invalid operation: %#v != %#v (%s)", + expected, actual, err), msgAndArgs...) + } + + if ObjectsAreEqual(expected, actual) { + return Fail(t, fmt.Sprintf("Should not be: %#v\n", actual), msgAndArgs...) + } + + return true + +} + +// containsElement try loop over the list check if the list includes the element. +// return (false, false) if impossible. +// return (true, false) if element was not found. +// return (true, true) if element was found. +func includeElement(list interface{}, element interface{}) (ok, found bool) { + + listValue := reflect.ValueOf(list) + elementValue := reflect.ValueOf(element) + defer func() { + if e := recover(); e != nil { + ok = false + found = false + } + }() + + if reflect.TypeOf(list).Kind() == reflect.String { + return true, strings.Contains(listValue.String(), elementValue.String()) + } + + if reflect.TypeOf(list).Kind() == reflect.Map { + mapKeys := listValue.MapKeys() + for i := 0; i < len(mapKeys); i++ { + if ObjectsAreEqual(mapKeys[i].Interface(), element) { + return true, true + } + } + return true, false + } + + for i := 0; i < listValue.Len(); i++ { + if ObjectsAreEqual(listValue.Index(i).Interface(), element) { + return true, true + } + } + return true, false + +} + +// Contains asserts that the specified string, list(array, slice...) or map contains the +// specified substring or element. +// +// assert.Contains(t, "Hello World", "World") +// assert.Contains(t, ["Hello", "World"], "World") +// assert.Contains(t, {"Hello": "World"}, "Hello") +func Contains(t TestingT, s, contains interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + ok, found := includeElement(s, contains) + if !ok { + return Fail(t, fmt.Sprintf("\"%s\" could not be applied builtin len()", s), msgAndArgs...) + } + if !found { + return Fail(t, fmt.Sprintf("\"%s\" does not contain \"%s\"", s, contains), msgAndArgs...) + } + + return true + +} + +// NotContains asserts that the specified string, list(array, slice...) or map does NOT contain the +// specified substring or element. +// +// assert.NotContains(t, "Hello World", "Earth") +// assert.NotContains(t, ["Hello", "World"], "Earth") +// assert.NotContains(t, {"Hello": "World"}, "Earth") +func NotContains(t TestingT, s, contains interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + ok, found := includeElement(s, contains) + if !ok { + return Fail(t, fmt.Sprintf("\"%s\" could not be applied builtin len()", s), msgAndArgs...) + } + if found { + return Fail(t, fmt.Sprintf("\"%s\" should not contain \"%s\"", s, contains), msgAndArgs...) + } + + return true + +} + +// Subset asserts that the specified list(array, slice...) contains all +// elements given in the specified subset(array, slice...). +// +// assert.Subset(t, [1, 2, 3], [1, 2], "But [1, 2, 3] does contain [1, 2]") +func Subset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) (ok bool) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if subset == nil { + return true // we consider nil to be equal to the nil set + } + + subsetValue := reflect.ValueOf(subset) + defer func() { + if e := recover(); e != nil { + ok = false + } + }() + + listKind := reflect.TypeOf(list).Kind() + subsetKind := reflect.TypeOf(subset).Kind() + + if listKind != reflect.Array && listKind != reflect.Slice { + return Fail(t, fmt.Sprintf("%q has an unsupported type %s", list, listKind), msgAndArgs...) + } + + if subsetKind != reflect.Array && subsetKind != reflect.Slice { + return Fail(t, fmt.Sprintf("%q has an unsupported type %s", subset, subsetKind), msgAndArgs...) + } + + for i := 0; i < subsetValue.Len(); i++ { + element := subsetValue.Index(i).Interface() + ok, found := includeElement(list, element) + if !ok { + return Fail(t, fmt.Sprintf("\"%s\" could not be applied builtin len()", list), msgAndArgs...) + } + if !found { + return Fail(t, fmt.Sprintf("\"%s\" does not contain \"%s\"", list, element), msgAndArgs...) + } + } + + return true +} + +// NotSubset asserts that the specified list(array, slice...) contains not all +// elements given in the specified subset(array, slice...). +// +// assert.NotSubset(t, [1, 3, 4], [1, 2], "But [1, 3, 4] does not contain [1, 2]") +func NotSubset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) (ok bool) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if subset == nil { + return Fail(t, fmt.Sprintf("nil is the empty set which is a subset of every set"), msgAndArgs...) + } + + subsetValue := reflect.ValueOf(subset) + defer func() { + if e := recover(); e != nil { + ok = false + } + }() + + listKind := reflect.TypeOf(list).Kind() + subsetKind := reflect.TypeOf(subset).Kind() + + if listKind != reflect.Array && listKind != reflect.Slice { + return Fail(t, fmt.Sprintf("%q has an unsupported type %s", list, listKind), msgAndArgs...) + } + + if subsetKind != reflect.Array && subsetKind != reflect.Slice { + return Fail(t, fmt.Sprintf("%q has an unsupported type %s", subset, subsetKind), msgAndArgs...) + } + + for i := 0; i < subsetValue.Len(); i++ { + element := subsetValue.Index(i).Interface() + ok, found := includeElement(list, element) + if !ok { + return Fail(t, fmt.Sprintf("\"%s\" could not be applied builtin len()", list), msgAndArgs...) + } + if !found { + return true + } + } + + return Fail(t, fmt.Sprintf("%q is a subset of %q", subset, list), msgAndArgs...) +} + +// ElementsMatch asserts that the specified listA(array, slice...) is equal to specified +// listB(array, slice...) ignoring the order of the elements. If there are duplicate elements, +// the number of appearances of each of them in both lists should match. +// +// assert.ElementsMatch(t, [1, 3, 2, 3], [1, 3, 3, 2]) +func ElementsMatch(t TestingT, listA, listB interface{}, msgAndArgs ...interface{}) (ok bool) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if isEmpty(listA) && isEmpty(listB) { + return true + } + + aKind := reflect.TypeOf(listA).Kind() + bKind := reflect.TypeOf(listB).Kind() + + if aKind != reflect.Array && aKind != reflect.Slice { + return Fail(t, fmt.Sprintf("%q has an unsupported type %s", listA, aKind), msgAndArgs...) + } + + if bKind != reflect.Array && bKind != reflect.Slice { + return Fail(t, fmt.Sprintf("%q has an unsupported type %s", listB, bKind), msgAndArgs...) + } + + aValue := reflect.ValueOf(listA) + bValue := reflect.ValueOf(listB) + + aLen := aValue.Len() + bLen := bValue.Len() + + if aLen != bLen { + return Fail(t, fmt.Sprintf("lengths don't match: %d != %d", aLen, bLen), msgAndArgs...) + } + + // Mark indexes in bValue that we already used + visited := make([]bool, bLen) + for i := 0; i < aLen; i++ { + element := aValue.Index(i).Interface() + found := false + for j := 0; j < bLen; j++ { + if visited[j] { + continue + } + if ObjectsAreEqual(bValue.Index(j).Interface(), element) { + visited[j] = true + found = true + break + } + } + if !found { + return Fail(t, fmt.Sprintf("element %s appears more times in %s than in %s", element, aValue, bValue), msgAndArgs...) + } + } + + return true +} + +// Condition uses a Comparison to assert a complex condition. +func Condition(t TestingT, comp Comparison, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + result := comp() + if !result { + Fail(t, "Condition failed!", msgAndArgs...) + } + return result +} + +// PanicTestFunc defines a func that should be passed to the assert.Panics and assert.NotPanics +// methods, and represents a simple func that takes no arguments, and returns nothing. +type PanicTestFunc func() + +// didPanic returns true if the function passed to it panics. Otherwise, it returns false. +func didPanic(f PanicTestFunc) (bool, interface{}) { + + didPanic := false + var message interface{} + func() { + + defer func() { + if message = recover(); message != nil { + didPanic = true + } + }() + + // call the target function + f() + + }() + + return didPanic, message + +} + +// Panics asserts that the code inside the specified PanicTestFunc panics. +// +// assert.Panics(t, func(){ GoCrazy() }) +func Panics(t TestingT, f PanicTestFunc, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + if funcDidPanic, panicValue := didPanic(f); !funcDidPanic { + return Fail(t, fmt.Sprintf("func %#v should panic\n\tPanic value:\t%#v", f, panicValue), msgAndArgs...) + } + + return true +} + +// PanicsWithValue asserts that the code inside the specified PanicTestFunc panics, and that +// the recovered panic value equals the expected panic value. +// +// assert.PanicsWithValue(t, "crazy error", func(){ GoCrazy() }) +func PanicsWithValue(t TestingT, expected interface{}, f PanicTestFunc, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + funcDidPanic, panicValue := didPanic(f) + if !funcDidPanic { + return Fail(t, fmt.Sprintf("func %#v should panic\n\tPanic value:\t%#v", f, panicValue), msgAndArgs...) + } + if panicValue != expected { + return Fail(t, fmt.Sprintf("func %#v should panic with value:\t%#v\n\tPanic value:\t%#v", f, expected, panicValue), msgAndArgs...) + } + + return true +} + +// NotPanics asserts that the code inside the specified PanicTestFunc does NOT panic. +// +// assert.NotPanics(t, func(){ RemainCalm() }) +func NotPanics(t TestingT, f PanicTestFunc, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + if funcDidPanic, panicValue := didPanic(f); funcDidPanic { + return Fail(t, fmt.Sprintf("func %#v should not panic\n\tPanic value:\t%v", f, panicValue), msgAndArgs...) + } + + return true +} + +// WithinDuration asserts that the two times are within duration delta of each other. +// +// assert.WithinDuration(t, time.Now(), time.Now(), 10*time.Second) +func WithinDuration(t TestingT, expected, actual time.Time, delta time.Duration, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + dt := expected.Sub(actual) + if dt < -delta || dt > delta { + return Fail(t, fmt.Sprintf("Max difference between %v and %v allowed is %v, but difference was %v", expected, actual, delta, dt), msgAndArgs...) + } + + return true +} + +func toFloat(x interface{}) (float64, bool) { + var xf float64 + xok := true + + switch xn := x.(type) { + case uint8: + xf = float64(xn) + case uint16: + xf = float64(xn) + case uint32: + xf = float64(xn) + case uint64: + xf = float64(xn) + case int: + xf = float64(xn) + case int8: + xf = float64(xn) + case int16: + xf = float64(xn) + case int32: + xf = float64(xn) + case int64: + xf = float64(xn) + case float32: + xf = float64(xn) + case float64: + xf = float64(xn) + case time.Duration: + xf = float64(xn) + default: + xok = false + } + + return xf, xok +} + +// InDelta asserts that the two numerals are within delta of each other. +// +// assert.InDelta(t, math.Pi, (22 / 7.0), 0.01) +func InDelta(t TestingT, expected, actual interface{}, delta float64, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + af, aok := toFloat(expected) + bf, bok := toFloat(actual) + + if !aok || !bok { + return Fail(t, fmt.Sprintf("Parameters must be numerical"), msgAndArgs...) + } + + if math.IsNaN(af) { + return Fail(t, fmt.Sprintf("Expected must not be NaN"), msgAndArgs...) + } + + if math.IsNaN(bf) { + return Fail(t, fmt.Sprintf("Expected %v with delta %v, but was NaN", expected, delta), msgAndArgs...) + } + + dt := af - bf + if dt < -delta || dt > delta { + return Fail(t, fmt.Sprintf("Max difference between %v and %v allowed is %v, but difference was %v", expected, actual, delta, dt), msgAndArgs...) + } + + return true +} + +// InDeltaSlice is the same as InDelta, except it compares two slices. +func InDeltaSlice(t TestingT, expected, actual interface{}, delta float64, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if expected == nil || actual == nil || + reflect.TypeOf(actual).Kind() != reflect.Slice || + reflect.TypeOf(expected).Kind() != reflect.Slice { + return Fail(t, fmt.Sprintf("Parameters must be slice"), msgAndArgs...) + } + + actualSlice := reflect.ValueOf(actual) + expectedSlice := reflect.ValueOf(expected) + + for i := 0; i < actualSlice.Len(); i++ { + result := InDelta(t, actualSlice.Index(i).Interface(), expectedSlice.Index(i).Interface(), delta, msgAndArgs...) + if !result { + return result + } + } + + return true +} + +// InDeltaMapValues is the same as InDelta, but it compares all values between two maps. Both maps must have exactly the same keys. +func InDeltaMapValues(t TestingT, expected, actual interface{}, delta float64, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if expected == nil || actual == nil || + reflect.TypeOf(actual).Kind() != reflect.Map || + reflect.TypeOf(expected).Kind() != reflect.Map { + return Fail(t, "Arguments must be maps", msgAndArgs...) + } + + expectedMap := reflect.ValueOf(expected) + actualMap := reflect.ValueOf(actual) + + if expectedMap.Len() != actualMap.Len() { + return Fail(t, "Arguments must have the same number of keys", msgAndArgs...) + } + + for _, k := range expectedMap.MapKeys() { + ev := expectedMap.MapIndex(k) + av := actualMap.MapIndex(k) + + if !ev.IsValid() { + return Fail(t, fmt.Sprintf("missing key %q in expected map", k), msgAndArgs...) + } + + if !av.IsValid() { + return Fail(t, fmt.Sprintf("missing key %q in actual map", k), msgAndArgs...) + } + + if !InDelta( + t, + ev.Interface(), + av.Interface(), + delta, + msgAndArgs..., + ) { + return false + } + } + + return true +} + +func calcRelativeError(expected, actual interface{}) (float64, error) { + af, aok := toFloat(expected) + if !aok { + return 0, fmt.Errorf("expected value %q cannot be converted to float", expected) + } + if af == 0 { + return 0, fmt.Errorf("expected value must have a value other than zero to calculate the relative error") + } + bf, bok := toFloat(actual) + if !bok { + return 0, fmt.Errorf("actual value %q cannot be converted to float", actual) + } + + return math.Abs(af-bf) / math.Abs(af), nil +} + +// InEpsilon asserts that expected and actual have a relative error less than epsilon +func InEpsilon(t TestingT, expected, actual interface{}, epsilon float64, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + actualEpsilon, err := calcRelativeError(expected, actual) + if err != nil { + return Fail(t, err.Error(), msgAndArgs...) + } + if actualEpsilon > epsilon { + return Fail(t, fmt.Sprintf("Relative error is too high: %#v (expected)\n"+ + " < %#v (actual)", epsilon, actualEpsilon), msgAndArgs...) + } + + return true +} + +// InEpsilonSlice is the same as InEpsilon, except it compares each value from two slices. +func InEpsilonSlice(t TestingT, expected, actual interface{}, epsilon float64, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if expected == nil || actual == nil || + reflect.TypeOf(actual).Kind() != reflect.Slice || + reflect.TypeOf(expected).Kind() != reflect.Slice { + return Fail(t, fmt.Sprintf("Parameters must be slice"), msgAndArgs...) + } + + actualSlice := reflect.ValueOf(actual) + expectedSlice := reflect.ValueOf(expected) + + for i := 0; i < actualSlice.Len(); i++ { + result := InEpsilon(t, actualSlice.Index(i).Interface(), expectedSlice.Index(i).Interface(), epsilon) + if !result { + return result + } + } + + return true +} + +/* + Errors +*/ + +// NoError asserts that a function returned no error (i.e. `nil`). +// +// actualObj, err := SomeFunction() +// if assert.NoError(t, err) { +// assert.Equal(t, expectedObj, actualObj) +// } +func NoError(t TestingT, err error, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if err != nil { + return Fail(t, fmt.Sprintf("Received unexpected error:\n%+v", err), msgAndArgs...) + } + + return true +} + +// Error asserts that a function returned an error (i.e. not `nil`). +// +// actualObj, err := SomeFunction() +// if assert.Error(t, err) { +// assert.Equal(t, expectedError, err) +// } +func Error(t TestingT, err error, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + if err == nil { + return Fail(t, "An error is expected but got nil.", msgAndArgs...) + } + + return true +} + +// EqualError asserts that a function returned an error (i.e. not `nil`) +// and that it is equal to the provided error. +// +// actualObj, err := SomeFunction() +// assert.EqualError(t, err, expectedErrorString) +func EqualError(t TestingT, theError error, errString string, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if !Error(t, theError, msgAndArgs...) { + return false + } + expected := errString + actual := theError.Error() + // don't need to use deep equals here, we know they are both strings + if expected != actual { + return Fail(t, fmt.Sprintf("Error message not equal:\n"+ + "expected: %q\n"+ + "actual : %q", expected, actual), msgAndArgs...) + } + return true +} + +// matchRegexp return true if a specified regexp matches a string. +func matchRegexp(rx interface{}, str interface{}) bool { + + var r *regexp.Regexp + if rr, ok := rx.(*regexp.Regexp); ok { + r = rr + } else { + r = regexp.MustCompile(fmt.Sprint(rx)) + } + + return (r.FindStringIndex(fmt.Sprint(str)) != nil) + +} + +// Regexp asserts that a specified regexp matches a string. +// +// assert.Regexp(t, regexp.MustCompile("start"), "it's starting") +// assert.Regexp(t, "start...$", "it's not starting") +func Regexp(t TestingT, rx interface{}, str interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + + match := matchRegexp(rx, str) + + if !match { + Fail(t, fmt.Sprintf("Expect \"%v\" to match \"%v\"", str, rx), msgAndArgs...) + } + + return match +} + +// NotRegexp asserts that a specified regexp does not match a string. +// +// assert.NotRegexp(t, regexp.MustCompile("starts"), "it's starting") +// assert.NotRegexp(t, "^start", "it's not starting") +func NotRegexp(t TestingT, rx interface{}, str interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + match := matchRegexp(rx, str) + + if match { + Fail(t, fmt.Sprintf("Expect \"%v\" to NOT match \"%v\"", str, rx), msgAndArgs...) + } + + return !match + +} + +// Zero asserts that i is the zero value for its type. +func Zero(t TestingT, i interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if i != nil && !reflect.DeepEqual(i, reflect.Zero(reflect.TypeOf(i)).Interface()) { + return Fail(t, fmt.Sprintf("Should be zero, but was %v", i), msgAndArgs...) + } + return true +} + +// NotZero asserts that i is not the zero value for its type. +func NotZero(t TestingT, i interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if i == nil || reflect.DeepEqual(i, reflect.Zero(reflect.TypeOf(i)).Interface()) { + return Fail(t, fmt.Sprintf("Should not be zero, but was %v", i), msgAndArgs...) + } + return true +} + +// 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. +func FileExists(t TestingT, path string, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + info, err := os.Lstat(path) + if err != nil { + if os.IsNotExist(err) { + return Fail(t, fmt.Sprintf("unable to find file %q", path), msgAndArgs...) + } + return Fail(t, fmt.Sprintf("error when running os.Lstat(%q): %s", path, err), msgAndArgs...) + } + if info.IsDir() { + return Fail(t, fmt.Sprintf("%q is a directory", path), msgAndArgs...) + } + return true +} + +// 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. +func DirExists(t TestingT, path string, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + info, err := os.Lstat(path) + if err != nil { + if os.IsNotExist(err) { + return Fail(t, fmt.Sprintf("unable to find file %q", path), msgAndArgs...) + } + return Fail(t, fmt.Sprintf("error when running os.Lstat(%q): %s", path, err), msgAndArgs...) + } + if !info.IsDir() { + return Fail(t, fmt.Sprintf("%q is a file", path), msgAndArgs...) + } + return true +} + +// JSONEq asserts that two JSON strings are equivalent. +// +// assert.JSONEq(t, `{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`) +func JSONEq(t TestingT, expected string, actual string, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + var expectedJSONAsInterface, actualJSONAsInterface interface{} + + if err := json.Unmarshal([]byte(expected), &expectedJSONAsInterface); err != nil { + return Fail(t, fmt.Sprintf("Expected value ('%s') is not valid json.\nJSON parsing error: '%s'", expected, err.Error()), msgAndArgs...) + } + + if err := json.Unmarshal([]byte(actual), &actualJSONAsInterface); err != nil { + return Fail(t, fmt.Sprintf("Input ('%s') needs to be valid json.\nJSON parsing error: '%s'", actual, err.Error()), msgAndArgs...) + } + + return Equal(t, expectedJSONAsInterface, actualJSONAsInterface, msgAndArgs...) +} + +func typeAndKind(v interface{}) (reflect.Type, reflect.Kind) { + t := reflect.TypeOf(v) + k := t.Kind() + + if k == reflect.Ptr { + t = t.Elem() + k = t.Kind() + } + return t, k +} + +// diff returns a diff of both values as long as both are of the same type and +// are a struct, map, slice, array or string. Otherwise it returns an empty string. +func diff(expected interface{}, actual interface{}) string { + if expected == nil || actual == nil { + return "" + } + + et, ek := typeAndKind(expected) + at, _ := typeAndKind(actual) + + if et != at { + return "" + } + + if ek != reflect.Struct && ek != reflect.Map && ek != reflect.Slice && ek != reflect.Array && ek != reflect.String { + return "" + } + + var e, a string + if et != reflect.TypeOf("") { + e = spewConfig.Sdump(expected) + a = spewConfig.Sdump(actual) + } else { + e = expected.(string) + a = actual.(string) + } + + diff, _ := difflib.GetUnifiedDiffString(difflib.UnifiedDiff{ + A: difflib.SplitLines(e), + B: difflib.SplitLines(a), + FromFile: "Expected", + FromDate: "", + ToFile: "Actual", + ToDate: "", + Context: 1, + }) + + return "\n\nDiff:\n" + diff +} + +// validateEqualArgs checks whether provided arguments can be safely used in the +// Equal/NotEqual functions. +func validateEqualArgs(expected, actual interface{}) error { + if isFunction(expected) || isFunction(actual) { + return errors.New("cannot take func type as argument") + } + return nil +} + +func isFunction(arg interface{}) bool { + if arg == nil { + return false + } + return reflect.TypeOf(arg).Kind() == reflect.Func +} + +var spewConfig = spew.ConfigState{ + Indent: " ", + DisablePointerAddresses: true, + DisableCapacities: true, + SortKeys: true, +} + +type tHelper interface { + Helper() +} diff --git a/vendor/github.com/stretchr/testify/assert/doc.go b/vendor/github.com/stretchr/testify/assert/doc.go new file mode 100644 index 000000000..c9dccc4d6 --- /dev/null +++ b/vendor/github.com/stretchr/testify/assert/doc.go @@ -0,0 +1,45 @@ +// Package assert provides a set of comprehensive testing tools for use with the normal Go testing system. +// +// Example Usage +// +// The following is a complete example using assert in a standard test function: +// import ( +// "testing" +// "github.com/stretchr/testify/assert" +// ) +// +// func TestSomething(t *testing.T) { +// +// var a string = "Hello" +// var b string = "Hello" +// +// assert.Equal(t, a, b, "The two words should be the same.") +// +// } +// +// if you assert many times, use the format below: +// +// import ( +// "testing" +// "github.com/stretchr/testify/assert" +// ) +// +// func TestSomething(t *testing.T) { +// assert := assert.New(t) +// +// var a string = "Hello" +// var b string = "Hello" +// +// assert.Equal(a, b, "The two words should be the same.") +// } +// +// Assertions +// +// Assertions allow you to easily write test code, and are global funcs in the `assert` package. +// All assertion functions take, as the first argument, the `*testing.T` object provided by the +// testing framework. This allows the assertion funcs to write the failings and other details to +// the correct place. +// +// Every assertion function also takes an optional string message as the final argument, +// allowing custom error messages to be appended to the message the assertion method outputs. +package assert diff --git a/vendor/github.com/stretchr/testify/assert/errors.go b/vendor/github.com/stretchr/testify/assert/errors.go new file mode 100644 index 000000000..ac9dc9d1d --- /dev/null +++ b/vendor/github.com/stretchr/testify/assert/errors.go @@ -0,0 +1,10 @@ +package assert + +import ( + "errors" +) + +// AnError is an error instance useful for testing. If the code does not care +// about error specifics, and only needs to return the error for example, this +// error should be used to make the test code more readable. +var AnError = errors.New("assert.AnError general error for testing") diff --git a/vendor/github.com/stretchr/testify/assert/forward_assertions.go b/vendor/github.com/stretchr/testify/assert/forward_assertions.go new file mode 100644 index 000000000..9ad56851d --- /dev/null +++ b/vendor/github.com/stretchr/testify/assert/forward_assertions.go @@ -0,0 +1,16 @@ +package assert + +// Assertions provides assertion methods around the +// TestingT interface. +type Assertions struct { + t TestingT +} + +// New makes a new Assertions object for the specified TestingT. +func New(t TestingT) *Assertions { + return &Assertions{ + t: t, + } +} + +//go:generate go run ../_codegen/main.go -output-package=assert -template=assertion_forward.go.tmpl -include-format-funcs diff --git a/vendor/github.com/stretchr/testify/assert/http_assertions.go b/vendor/github.com/stretchr/testify/assert/http_assertions.go new file mode 100644 index 000000000..df46fa777 --- /dev/null +++ b/vendor/github.com/stretchr/testify/assert/http_assertions.go @@ -0,0 +1,143 @@ +package assert + +import ( + "fmt" + "net/http" + "net/http/httptest" + "net/url" + "strings" +) + +// httpCode is a helper that returns HTTP code of the response. It returns -1 and +// an error if building a new request fails. +func httpCode(handler http.HandlerFunc, method, url string, values url.Values) (int, error) { + w := httptest.NewRecorder() + req, err := http.NewRequest(method, url, nil) + if err != nil { + return -1, err + } + req.URL.RawQuery = values.Encode() + handler(w, req) + return w.Code, nil +} + +// HTTPSuccess asserts that a specified handler returns a success status code. +// +// assert.HTTPSuccess(t, myHandler, "POST", "http://www.google.com", nil) +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPSuccess(t TestingT, handler http.HandlerFunc, method, url string, values url.Values, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + code, err := httpCode(handler, method, url, values) + if err != nil { + Fail(t, fmt.Sprintf("Failed to build test request, got error: %s", err)) + return false + } + + isSuccessCode := code >= http.StatusOK && code <= http.StatusPartialContent + if !isSuccessCode { + Fail(t, fmt.Sprintf("Expected HTTP success status code for %q but received %d", url+"?"+values.Encode(), code)) + } + + return isSuccessCode +} + +// HTTPRedirect asserts that a specified handler returns a redirect status code. +// +// assert.HTTPRedirect(t, myHandler, "GET", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPRedirect(t TestingT, handler http.HandlerFunc, method, url string, values url.Values, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + code, err := httpCode(handler, method, url, values) + if err != nil { + Fail(t, fmt.Sprintf("Failed to build test request, got error: %s", err)) + return false + } + + isRedirectCode := code >= http.StatusMultipleChoices && code <= http.StatusTemporaryRedirect + if !isRedirectCode { + Fail(t, fmt.Sprintf("Expected HTTP redirect status code for %q but received %d", url+"?"+values.Encode(), code)) + } + + return isRedirectCode +} + +// HTTPError asserts that a specified handler returns an error status code. +// +// assert.HTTPError(t, myHandler, "POST", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPError(t TestingT, handler http.HandlerFunc, method, url string, values url.Values, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + code, err := httpCode(handler, method, url, values) + if err != nil { + Fail(t, fmt.Sprintf("Failed to build test request, got error: %s", err)) + return false + } + + isErrorCode := code >= http.StatusBadRequest + if !isErrorCode { + Fail(t, fmt.Sprintf("Expected HTTP error status code for %q but received %d", url+"?"+values.Encode(), code)) + } + + return isErrorCode +} + +// HTTPBody is a helper that returns HTTP body of the response. It returns +// empty string if building a new request fails. +func HTTPBody(handler http.HandlerFunc, method, url string, values url.Values) string { + w := httptest.NewRecorder() + req, err := http.NewRequest(method, url+"?"+values.Encode(), nil) + if err != nil { + return "" + } + handler(w, req) + return w.Body.String() +} + +// HTTPBodyContains asserts that a specified handler returns a +// body that contains a string. +// +// assert.HTTPBodyContains(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky") +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPBodyContains(t TestingT, handler http.HandlerFunc, method, url string, values url.Values, str interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + body := HTTPBody(handler, method, url, values) + + contains := strings.Contains(body, fmt.Sprint(str)) + if !contains { + Fail(t, fmt.Sprintf("Expected response body for \"%s\" to contain \"%s\" but found \"%s\"", url+"?"+values.Encode(), str, body)) + } + + return contains +} + +// HTTPBodyNotContains asserts that a specified handler returns a +// body that does not contain a string. +// +// assert.HTTPBodyNotContains(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky") +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPBodyNotContains(t TestingT, handler http.HandlerFunc, method, url string, values url.Values, str interface{}, msgAndArgs ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + body := HTTPBody(handler, method, url, values) + + contains := strings.Contains(body, fmt.Sprint(str)) + if contains { + Fail(t, fmt.Sprintf("Expected response body for \"%s\" to NOT contain \"%s\" but found \"%s\"", url+"?"+values.Encode(), str, body)) + } + + return !contains +} diff --git a/vendor/github.com/stretchr/testify/require/doc.go b/vendor/github.com/stretchr/testify/require/doc.go new file mode 100644 index 000000000..169de3922 --- /dev/null +++ b/vendor/github.com/stretchr/testify/require/doc.go @@ -0,0 +1,28 @@ +// Package require implements the same assertions as the `assert` package but +// stops test execution when a test fails. +// +// Example Usage +// +// The following is a complete example using require in a standard test function: +// import ( +// "testing" +// "github.com/stretchr/testify/require" +// ) +// +// func TestSomething(t *testing.T) { +// +// var a string = "Hello" +// var b string = "Hello" +// +// require.Equal(t, a, b, "The two words should be the same.") +// +// } +// +// Assertions +// +// The `require` package have same global functions as in the `assert` package, +// but instead of returning a boolean result they call `t.FailNow()`. +// +// Every assertion function also takes an optional string message as the final argument, +// allowing custom error messages to be appended to the message the assertion method outputs. +package require diff --git a/vendor/github.com/stretchr/testify/require/forward_requirements.go b/vendor/github.com/stretchr/testify/require/forward_requirements.go new file mode 100644 index 000000000..ac71d4058 --- /dev/null +++ b/vendor/github.com/stretchr/testify/require/forward_requirements.go @@ -0,0 +1,16 @@ +package require + +// Assertions provides assertion methods around the +// TestingT interface. +type Assertions struct { + t TestingT +} + +// New makes a new Assertions object for the specified TestingT. +func New(t TestingT) *Assertions { + return &Assertions{ + t: t, + } +} + +//go:generate go run ../_codegen/main.go -output-package=require -template=require_forward.go.tmpl -include-format-funcs diff --git a/vendor/github.com/stretchr/testify/require/require.go b/vendor/github.com/stretchr/testify/require/require.go new file mode 100644 index 000000000..535f29349 --- /dev/null +++ b/vendor/github.com/stretchr/testify/require/require.go @@ -0,0 +1,1227 @@ +/* +* CODE GENERATED AUTOMATICALLY WITH github.com/stretchr/testify/_codegen +* THIS FILE MUST NOT BE EDITED BY HAND + */ + +package require + +import ( + assert "github.com/stretchr/testify/assert" + http "net/http" + url "net/url" + time "time" +) + +// Condition uses a Comparison to assert a complex condition. +func Condition(t TestingT, comp assert.Comparison, msgAndArgs ...interface{}) { + if assert.Condition(t, comp, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Conditionf uses a Comparison to assert a complex condition. +func Conditionf(t TestingT, comp assert.Comparison, msg string, args ...interface{}) { + if assert.Conditionf(t, comp, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Contains asserts that the specified string, list(array, slice...) or map contains the +// specified substring or element. +// +// assert.Contains(t, "Hello World", "World") +// assert.Contains(t, ["Hello", "World"], "World") +// assert.Contains(t, {"Hello": "World"}, "Hello") +func Contains(t TestingT, s interface{}, contains interface{}, msgAndArgs ...interface{}) { + if assert.Contains(t, s, contains, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Containsf asserts that the specified string, list(array, slice...) or map contains the +// specified substring or element. +// +// assert.Containsf(t, "Hello World", "World", "error message %s", "formatted") +// assert.Containsf(t, ["Hello", "World"], "World", "error message %s", "formatted") +// assert.Containsf(t, {"Hello": "World"}, "Hello", "error message %s", "formatted") +func Containsf(t TestingT, s interface{}, contains interface{}, msg string, args ...interface{}) { + if assert.Containsf(t, s, contains, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// 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. +func DirExists(t TestingT, path string, msgAndArgs ...interface{}) { + if assert.DirExists(t, path, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// 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. +func DirExistsf(t TestingT, path string, msg string, args ...interface{}) { + if assert.DirExistsf(t, path, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// ElementsMatch asserts that the specified listA(array, slice...) is equal to specified +// listB(array, slice...) ignoring the order of the elements. If there are duplicate elements, +// the number of appearances of each of them in both lists should match. +// +// assert.ElementsMatch(t, [1, 3, 2, 3], [1, 3, 3, 2]) +func ElementsMatch(t TestingT, listA interface{}, listB interface{}, msgAndArgs ...interface{}) { + if assert.ElementsMatch(t, listA, listB, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// ElementsMatchf asserts that the specified listA(array, slice...) is equal to specified +// listB(array, slice...) ignoring the order of the elements. If there are duplicate elements, +// the number of appearances of each of them in both lists should match. +// +// assert.ElementsMatchf(t, [1, 3, 2, 3], [1, 3, 3, 2], "error message %s", "formatted") +func ElementsMatchf(t TestingT, listA interface{}, listB interface{}, msg string, args ...interface{}) { + if assert.ElementsMatchf(t, listA, listB, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Empty asserts that the specified object is empty. I.e. nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// assert.Empty(t, obj) +func Empty(t TestingT, object interface{}, msgAndArgs ...interface{}) { + if assert.Empty(t, object, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Emptyf asserts that the specified object is empty. I.e. nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// assert.Emptyf(t, obj, "error message %s", "formatted") +func Emptyf(t TestingT, object interface{}, msg string, args ...interface{}) { + if assert.Emptyf(t, object, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Equal asserts that two objects are equal. +// +// assert.Equal(t, 123, 123) +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). Function equality +// cannot be determined and will always fail. +func Equal(t TestingT, expected interface{}, actual interface{}, msgAndArgs ...interface{}) { + if assert.Equal(t, expected, actual, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// EqualError asserts that a function returned an error (i.e. not `nil`) +// and that it is equal to the provided error. +// +// actualObj, err := SomeFunction() +// assert.EqualError(t, err, expectedErrorString) +func EqualError(t TestingT, theError error, errString string, msgAndArgs ...interface{}) { + if assert.EqualError(t, theError, errString, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// EqualErrorf asserts that a function returned an error (i.e. not `nil`) +// and that it is equal to the provided error. +// +// actualObj, err := SomeFunction() +// assert.EqualErrorf(t, err, expectedErrorString, "error message %s", "formatted") +func EqualErrorf(t TestingT, theError error, errString string, msg string, args ...interface{}) { + if assert.EqualErrorf(t, theError, errString, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// EqualValues asserts that two objects are equal or convertable to the same types +// and equal. +// +// assert.EqualValues(t, uint32(123), int32(123)) +func EqualValues(t TestingT, expected interface{}, actual interface{}, msgAndArgs ...interface{}) { + if assert.EqualValues(t, expected, actual, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// EqualValuesf asserts that two objects are equal or convertable to the same types +// and equal. +// +// assert.EqualValuesf(t, uint32(123, "error message %s", "formatted"), int32(123)) +func EqualValuesf(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) { + if assert.EqualValuesf(t, expected, actual, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Equalf asserts that two objects are equal. +// +// assert.Equalf(t, 123, 123, "error message %s", "formatted") +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). Function equality +// cannot be determined and will always fail. +func Equalf(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) { + if assert.Equalf(t, expected, actual, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Error asserts that a function returned an error (i.e. not `nil`). +// +// actualObj, err := SomeFunction() +// if assert.Error(t, err) { +// assert.Equal(t, expectedError, err) +// } +func Error(t TestingT, err error, msgAndArgs ...interface{}) { + if assert.Error(t, err, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Errorf asserts that a function returned an error (i.e. not `nil`). +// +// actualObj, err := SomeFunction() +// if assert.Errorf(t, err, "error message %s", "formatted") { +// assert.Equal(t, expectedErrorf, err) +// } +func Errorf(t TestingT, err error, msg string, args ...interface{}) { + if assert.Errorf(t, err, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Exactly asserts that two objects are equal in value and type. +// +// assert.Exactly(t, int32(123), int64(123)) +func Exactly(t TestingT, expected interface{}, actual interface{}, msgAndArgs ...interface{}) { + if assert.Exactly(t, expected, actual, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Exactlyf asserts that two objects are equal in value and type. +// +// assert.Exactlyf(t, int32(123, "error message %s", "formatted"), int64(123)) +func Exactlyf(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) { + if assert.Exactlyf(t, expected, actual, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Fail reports a failure through +func Fail(t TestingT, failureMessage string, msgAndArgs ...interface{}) { + if assert.Fail(t, failureMessage, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// FailNow fails test +func FailNow(t TestingT, failureMessage string, msgAndArgs ...interface{}) { + if assert.FailNow(t, failureMessage, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// FailNowf fails test +func FailNowf(t TestingT, failureMessage string, msg string, args ...interface{}) { + if assert.FailNowf(t, failureMessage, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Failf reports a failure through +func Failf(t TestingT, failureMessage string, msg string, args ...interface{}) { + if assert.Failf(t, failureMessage, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// False asserts that the specified value is false. +// +// assert.False(t, myBool) +func False(t TestingT, value bool, msgAndArgs ...interface{}) { + if assert.False(t, value, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Falsef asserts that the specified value is false. +// +// assert.Falsef(t, myBool, "error message %s", "formatted") +func Falsef(t TestingT, value bool, msg string, args ...interface{}) { + if assert.Falsef(t, value, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// 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. +func FileExists(t TestingT, path string, msgAndArgs ...interface{}) { + if assert.FileExists(t, path, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// 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. +func FileExistsf(t TestingT, path string, msg string, args ...interface{}) { + if assert.FileExistsf(t, path, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// HTTPBodyContains asserts that a specified handler returns a +// body that contains a string. +// +// assert.HTTPBodyContains(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky") +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPBodyContains(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msgAndArgs ...interface{}) { + if assert.HTTPBodyContains(t, handler, method, url, values, str, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// HTTPBodyContainsf asserts that a specified handler returns a +// body that contains a string. +// +// assert.HTTPBodyContainsf(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky", "error message %s", "formatted") +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPBodyContainsf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msg string, args ...interface{}) { + if assert.HTTPBodyContainsf(t, handler, method, url, values, str, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// HTTPBodyNotContains asserts that a specified handler returns a +// body that does not contain a string. +// +// assert.HTTPBodyNotContains(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky") +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPBodyNotContains(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msgAndArgs ...interface{}) { + if assert.HTTPBodyNotContains(t, handler, method, url, values, str, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// HTTPBodyNotContainsf asserts that a specified handler returns a +// body that does not contain a string. +// +// assert.HTTPBodyNotContainsf(t, myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky", "error message %s", "formatted") +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPBodyNotContainsf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msg string, args ...interface{}) { + if assert.HTTPBodyNotContainsf(t, handler, method, url, values, str, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// HTTPError asserts that a specified handler returns an error status code. +// +// assert.HTTPError(t, myHandler, "POST", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPError(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, msgAndArgs ...interface{}) { + if assert.HTTPError(t, handler, method, url, values, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// HTTPErrorf asserts that a specified handler returns an error status code. +// +// assert.HTTPErrorf(t, myHandler, "POST", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true, "error message %s", "formatted") or not (false). +func HTTPErrorf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) { + if assert.HTTPErrorf(t, handler, method, url, values, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// HTTPRedirect asserts that a specified handler returns a redirect status code. +// +// assert.HTTPRedirect(t, myHandler, "GET", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPRedirect(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, msgAndArgs ...interface{}) { + if assert.HTTPRedirect(t, handler, method, url, values, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// HTTPRedirectf asserts that a specified handler returns a redirect status code. +// +// assert.HTTPRedirectf(t, myHandler, "GET", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true, "error message %s", "formatted") or not (false). +func HTTPRedirectf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) { + if assert.HTTPRedirectf(t, handler, method, url, values, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// HTTPSuccess asserts that a specified handler returns a success status code. +// +// assert.HTTPSuccess(t, myHandler, "POST", "http://www.google.com", nil) +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPSuccess(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, msgAndArgs ...interface{}) { + if assert.HTTPSuccess(t, handler, method, url, values, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// HTTPSuccessf asserts that a specified handler returns a success status code. +// +// assert.HTTPSuccessf(t, myHandler, "POST", "http://www.google.com", nil, "error message %s", "formatted") +// +// Returns whether the assertion was successful (true) or not (false). +func HTTPSuccessf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) { + if assert.HTTPSuccessf(t, handler, method, url, values, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Implements asserts that an object is implemented by the specified interface. +// +// assert.Implements(t, (*MyInterface)(nil), new(MyObject)) +func Implements(t TestingT, interfaceObject interface{}, object interface{}, msgAndArgs ...interface{}) { + if assert.Implements(t, interfaceObject, object, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Implementsf asserts that an object is implemented by the specified interface. +// +// assert.Implementsf(t, (*MyInterface, "error message %s", "formatted")(nil), new(MyObject)) +func Implementsf(t TestingT, interfaceObject interface{}, object interface{}, msg string, args ...interface{}) { + if assert.Implementsf(t, interfaceObject, object, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// InDelta asserts that the two numerals are within delta of each other. +// +// assert.InDelta(t, math.Pi, (22 / 7.0), 0.01) +func InDelta(t TestingT, expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) { + if assert.InDelta(t, expected, actual, delta, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// InDeltaMapValues is the same as InDelta, but it compares all values between two maps. Both maps must have exactly the same keys. +func InDeltaMapValues(t TestingT, expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) { + if assert.InDeltaMapValues(t, expected, actual, delta, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// InDeltaMapValuesf is the same as InDelta, but it compares all values between two maps. Both maps must have exactly the same keys. +func InDeltaMapValuesf(t TestingT, expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) { + if assert.InDeltaMapValuesf(t, expected, actual, delta, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// InDeltaSlice is the same as InDelta, except it compares two slices. +func InDeltaSlice(t TestingT, expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) { + if assert.InDeltaSlice(t, expected, actual, delta, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// InDeltaSlicef is the same as InDelta, except it compares two slices. +func InDeltaSlicef(t TestingT, expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) { + if assert.InDeltaSlicef(t, expected, actual, delta, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// InDeltaf asserts that the two numerals are within delta of each other. +// +// assert.InDeltaf(t, math.Pi, (22 / 7.0, "error message %s", "formatted"), 0.01) +func InDeltaf(t TestingT, expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) { + if assert.InDeltaf(t, expected, actual, delta, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// InEpsilon asserts that expected and actual have a relative error less than epsilon +func InEpsilon(t TestingT, expected interface{}, actual interface{}, epsilon float64, msgAndArgs ...interface{}) { + if assert.InEpsilon(t, expected, actual, epsilon, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// InEpsilonSlice is the same as InEpsilon, except it compares each value from two slices. +func InEpsilonSlice(t TestingT, expected interface{}, actual interface{}, epsilon float64, msgAndArgs ...interface{}) { + if assert.InEpsilonSlice(t, expected, actual, epsilon, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// InEpsilonSlicef is the same as InEpsilon, except it compares each value from two slices. +func InEpsilonSlicef(t TestingT, expected interface{}, actual interface{}, epsilon float64, msg string, args ...interface{}) { + if assert.InEpsilonSlicef(t, expected, actual, epsilon, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// InEpsilonf asserts that expected and actual have a relative error less than epsilon +func InEpsilonf(t TestingT, expected interface{}, actual interface{}, epsilon float64, msg string, args ...interface{}) { + if assert.InEpsilonf(t, expected, actual, epsilon, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// IsType asserts that the specified objects are of the same type. +func IsType(t TestingT, expectedType interface{}, object interface{}, msgAndArgs ...interface{}) { + if assert.IsType(t, expectedType, object, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// IsTypef asserts that the specified objects are of the same type. +func IsTypef(t TestingT, expectedType interface{}, object interface{}, msg string, args ...interface{}) { + if assert.IsTypef(t, expectedType, object, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// JSONEq asserts that two JSON strings are equivalent. +// +// assert.JSONEq(t, `{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`) +func JSONEq(t TestingT, expected string, actual string, msgAndArgs ...interface{}) { + if assert.JSONEq(t, expected, actual, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// JSONEqf asserts that two JSON strings are equivalent. +// +// assert.JSONEqf(t, `{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`, "error message %s", "formatted") +func JSONEqf(t TestingT, expected string, actual string, msg string, args ...interface{}) { + if assert.JSONEqf(t, expected, actual, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Len asserts that the specified object has specific length. +// Len also fails if the object has a type that len() not accept. +// +// assert.Len(t, mySlice, 3) +func Len(t TestingT, object interface{}, length int, msgAndArgs ...interface{}) { + if assert.Len(t, object, length, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Lenf asserts that the specified object has specific length. +// Lenf also fails if the object has a type that len() not accept. +// +// assert.Lenf(t, mySlice, 3, "error message %s", "formatted") +func Lenf(t TestingT, object interface{}, length int, msg string, args ...interface{}) { + if assert.Lenf(t, object, length, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Nil asserts that the specified object is nil. +// +// assert.Nil(t, err) +func Nil(t TestingT, object interface{}, msgAndArgs ...interface{}) { + if assert.Nil(t, object, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Nilf asserts that the specified object is nil. +// +// assert.Nilf(t, err, "error message %s", "formatted") +func Nilf(t TestingT, object interface{}, msg string, args ...interface{}) { + if assert.Nilf(t, object, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// NoError asserts that a function returned no error (i.e. `nil`). +// +// actualObj, err := SomeFunction() +// if assert.NoError(t, err) { +// assert.Equal(t, expectedObj, actualObj) +// } +func NoError(t TestingT, err error, msgAndArgs ...interface{}) { + if assert.NoError(t, err, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// NoErrorf asserts that a function returned no error (i.e. `nil`). +// +// actualObj, err := SomeFunction() +// if assert.NoErrorf(t, err, "error message %s", "formatted") { +// assert.Equal(t, expectedObj, actualObj) +// } +func NoErrorf(t TestingT, err error, msg string, args ...interface{}) { + if assert.NoErrorf(t, err, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// NotContains asserts that the specified string, list(array, slice...) or map does NOT contain the +// specified substring or element. +// +// assert.NotContains(t, "Hello World", "Earth") +// assert.NotContains(t, ["Hello", "World"], "Earth") +// assert.NotContains(t, {"Hello": "World"}, "Earth") +func NotContains(t TestingT, s interface{}, contains interface{}, msgAndArgs ...interface{}) { + if assert.NotContains(t, s, contains, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// NotContainsf asserts that the specified string, list(array, slice...) or map does NOT contain the +// specified substring or element. +// +// assert.NotContainsf(t, "Hello World", "Earth", "error message %s", "formatted") +// assert.NotContainsf(t, ["Hello", "World"], "Earth", "error message %s", "formatted") +// assert.NotContainsf(t, {"Hello": "World"}, "Earth", "error message %s", "formatted") +func NotContainsf(t TestingT, s interface{}, contains interface{}, msg string, args ...interface{}) { + if assert.NotContainsf(t, s, contains, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// NotEmpty asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// if assert.NotEmpty(t, obj) { +// assert.Equal(t, "two", obj[1]) +// } +func NotEmpty(t TestingT, object interface{}, msgAndArgs ...interface{}) { + if assert.NotEmpty(t, object, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// NotEmptyf asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// if assert.NotEmptyf(t, obj, "error message %s", "formatted") { +// assert.Equal(t, "two", obj[1]) +// } +func NotEmptyf(t TestingT, object interface{}, msg string, args ...interface{}) { + if assert.NotEmptyf(t, object, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// NotEqual asserts that the specified values are NOT equal. +// +// assert.NotEqual(t, obj1, obj2) +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). +func NotEqual(t TestingT, expected interface{}, actual interface{}, msgAndArgs ...interface{}) { + if assert.NotEqual(t, expected, actual, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// NotEqualf asserts that the specified values are NOT equal. +// +// assert.NotEqualf(t, obj1, obj2, "error message %s", "formatted") +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). +func NotEqualf(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) { + if assert.NotEqualf(t, expected, actual, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// NotNil asserts that the specified object is not nil. +// +// assert.NotNil(t, err) +func NotNil(t TestingT, object interface{}, msgAndArgs ...interface{}) { + if assert.NotNil(t, object, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// NotNilf asserts that the specified object is not nil. +// +// assert.NotNilf(t, err, "error message %s", "formatted") +func NotNilf(t TestingT, object interface{}, msg string, args ...interface{}) { + if assert.NotNilf(t, object, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// NotPanics asserts that the code inside the specified PanicTestFunc does NOT panic. +// +// assert.NotPanics(t, func(){ RemainCalm() }) +func NotPanics(t TestingT, f assert.PanicTestFunc, msgAndArgs ...interface{}) { + if assert.NotPanics(t, f, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// NotPanicsf asserts that the code inside the specified PanicTestFunc does NOT panic. +// +// assert.NotPanicsf(t, func(){ RemainCalm() }, "error message %s", "formatted") +func NotPanicsf(t TestingT, f assert.PanicTestFunc, msg string, args ...interface{}) { + if assert.NotPanicsf(t, f, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// NotRegexp asserts that a specified regexp does not match a string. +// +// assert.NotRegexp(t, regexp.MustCompile("starts"), "it's starting") +// assert.NotRegexp(t, "^start", "it's not starting") +func NotRegexp(t TestingT, rx interface{}, str interface{}, msgAndArgs ...interface{}) { + if assert.NotRegexp(t, rx, str, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// NotRegexpf asserts that a specified regexp does not match a string. +// +// assert.NotRegexpf(t, regexp.MustCompile("starts", "error message %s", "formatted"), "it's starting") +// assert.NotRegexpf(t, "^start", "it's not starting", "error message %s", "formatted") +func NotRegexpf(t TestingT, rx interface{}, str interface{}, msg string, args ...interface{}) { + if assert.NotRegexpf(t, rx, str, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// NotSubset asserts that the specified list(array, slice...) contains not all +// elements given in the specified subset(array, slice...). +// +// assert.NotSubset(t, [1, 3, 4], [1, 2], "But [1, 3, 4] does not contain [1, 2]") +func NotSubset(t TestingT, list interface{}, subset interface{}, msgAndArgs ...interface{}) { + if assert.NotSubset(t, list, subset, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// NotSubsetf asserts that the specified list(array, slice...) contains not all +// elements given in the specified subset(array, slice...). +// +// assert.NotSubsetf(t, [1, 3, 4], [1, 2], "But [1, 3, 4] does not contain [1, 2]", "error message %s", "formatted") +func NotSubsetf(t TestingT, list interface{}, subset interface{}, msg string, args ...interface{}) { + if assert.NotSubsetf(t, list, subset, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// NotZero asserts that i is not the zero value for its type. +func NotZero(t TestingT, i interface{}, msgAndArgs ...interface{}) { + if assert.NotZero(t, i, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// NotZerof asserts that i is not the zero value for its type. +func NotZerof(t TestingT, i interface{}, msg string, args ...interface{}) { + if assert.NotZerof(t, i, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Panics asserts that the code inside the specified PanicTestFunc panics. +// +// assert.Panics(t, func(){ GoCrazy() }) +func Panics(t TestingT, f assert.PanicTestFunc, msgAndArgs ...interface{}) { + if assert.Panics(t, f, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// PanicsWithValue asserts that the code inside the specified PanicTestFunc panics, and that +// the recovered panic value equals the expected panic value. +// +// assert.PanicsWithValue(t, "crazy error", func(){ GoCrazy() }) +func PanicsWithValue(t TestingT, expected interface{}, f assert.PanicTestFunc, msgAndArgs ...interface{}) { + if assert.PanicsWithValue(t, expected, f, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// PanicsWithValuef asserts that the code inside the specified PanicTestFunc panics, and that +// the recovered panic value equals the expected panic value. +// +// assert.PanicsWithValuef(t, "crazy error", func(){ GoCrazy() }, "error message %s", "formatted") +func PanicsWithValuef(t TestingT, expected interface{}, f assert.PanicTestFunc, msg string, args ...interface{}) { + if assert.PanicsWithValuef(t, expected, f, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Panicsf asserts that the code inside the specified PanicTestFunc panics. +// +// assert.Panicsf(t, func(){ GoCrazy() }, "error message %s", "formatted") +func Panicsf(t TestingT, f assert.PanicTestFunc, msg string, args ...interface{}) { + if assert.Panicsf(t, f, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Regexp asserts that a specified regexp matches a string. +// +// assert.Regexp(t, regexp.MustCompile("start"), "it's starting") +// assert.Regexp(t, "start...$", "it's not starting") +func Regexp(t TestingT, rx interface{}, str interface{}, msgAndArgs ...interface{}) { + if assert.Regexp(t, rx, str, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Regexpf asserts that a specified regexp matches a string. +// +// assert.Regexpf(t, regexp.MustCompile("start", "error message %s", "formatted"), "it's starting") +// assert.Regexpf(t, "start...$", "it's not starting", "error message %s", "formatted") +func Regexpf(t TestingT, rx interface{}, str interface{}, msg string, args ...interface{}) { + if assert.Regexpf(t, rx, str, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Subset asserts that the specified list(array, slice...) contains all +// elements given in the specified subset(array, slice...). +// +// assert.Subset(t, [1, 2, 3], [1, 2], "But [1, 2, 3] does contain [1, 2]") +func Subset(t TestingT, list interface{}, subset interface{}, msgAndArgs ...interface{}) { + if assert.Subset(t, list, subset, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Subsetf asserts that the specified list(array, slice...) contains all +// elements given in the specified subset(array, slice...). +// +// assert.Subsetf(t, [1, 2, 3], [1, 2], "But [1, 2, 3] does contain [1, 2]", "error message %s", "formatted") +func Subsetf(t TestingT, list interface{}, subset interface{}, msg string, args ...interface{}) { + if assert.Subsetf(t, list, subset, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// True asserts that the specified value is true. +// +// assert.True(t, myBool) +func True(t TestingT, value bool, msgAndArgs ...interface{}) { + if assert.True(t, value, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Truef asserts that the specified value is true. +// +// assert.Truef(t, myBool, "error message %s", "formatted") +func Truef(t TestingT, value bool, msg string, args ...interface{}) { + if assert.Truef(t, value, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// WithinDuration asserts that the two times are within duration delta of each other. +// +// assert.WithinDuration(t, time.Now(), time.Now(), 10*time.Second) +func WithinDuration(t TestingT, expected time.Time, actual time.Time, delta time.Duration, msgAndArgs ...interface{}) { + if assert.WithinDuration(t, expected, actual, delta, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// WithinDurationf asserts that the two times are within duration delta of each other. +// +// assert.WithinDurationf(t, time.Now(), time.Now(), 10*time.Second, "error message %s", "formatted") +func WithinDurationf(t TestingT, expected time.Time, actual time.Time, delta time.Duration, msg string, args ...interface{}) { + if assert.WithinDurationf(t, expected, actual, delta, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Zero asserts that i is the zero value for its type. +func Zero(t TestingT, i interface{}, msgAndArgs ...interface{}) { + if assert.Zero(t, i, msgAndArgs...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} + +// Zerof asserts that i is the zero value for its type. +func Zerof(t TestingT, i interface{}, msg string, args ...interface{}) { + if assert.Zerof(t, i, msg, args...) { + return + } + if h, ok := t.(tHelper); ok { + h.Helper() + } + t.FailNow() +} diff --git a/vendor/github.com/stretchr/testify/require/require.go.tmpl b/vendor/github.com/stretchr/testify/require/require.go.tmpl new file mode 100644 index 000000000..6ffc751b5 --- /dev/null +++ b/vendor/github.com/stretchr/testify/require/require.go.tmpl @@ -0,0 +1,6 @@ +{{.Comment}} +func {{.DocInfo.Name}}(t TestingT, {{.Params}}) { + if assert.{{.DocInfo.Name}}(t, {{.ForwardedParams}}) { return } + if h, ok := t.(tHelper); ok { h.Helper() } + t.FailNow() +} diff --git a/vendor/github.com/stretchr/testify/require/require_forward.go b/vendor/github.com/stretchr/testify/require/require_forward.go new file mode 100644 index 000000000..9fe41dbdc --- /dev/null +++ b/vendor/github.com/stretchr/testify/require/require_forward.go @@ -0,0 +1,957 @@ +/* +* CODE GENERATED AUTOMATICALLY WITH github.com/stretchr/testify/_codegen +* THIS FILE MUST NOT BE EDITED BY HAND + */ + +package require + +import ( + assert "github.com/stretchr/testify/assert" + http "net/http" + url "net/url" + time "time" +) + +// Condition uses a Comparison to assert a complex condition. +func (a *Assertions) Condition(comp assert.Comparison, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Condition(a.t, comp, msgAndArgs...) +} + +// Conditionf uses a Comparison to assert a complex condition. +func (a *Assertions) Conditionf(comp assert.Comparison, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Conditionf(a.t, comp, msg, args...) +} + +// Contains asserts that the specified string, list(array, slice...) or map contains the +// specified substring or element. +// +// a.Contains("Hello World", "World") +// a.Contains(["Hello", "World"], "World") +// a.Contains({"Hello": "World"}, "Hello") +func (a *Assertions) Contains(s interface{}, contains interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Contains(a.t, s, contains, msgAndArgs...) +} + +// Containsf asserts that the specified string, list(array, slice...) or map contains the +// specified substring or element. +// +// a.Containsf("Hello World", "World", "error message %s", "formatted") +// a.Containsf(["Hello", "World"], "World", "error message %s", "formatted") +// a.Containsf({"Hello": "World"}, "Hello", "error message %s", "formatted") +func (a *Assertions) Containsf(s interface{}, contains interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Containsf(a.t, s, contains, msg, args...) +} + +// 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. +func (a *Assertions) DirExists(path string, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + DirExists(a.t, path, msgAndArgs...) +} + +// 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. +func (a *Assertions) DirExistsf(path string, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + DirExistsf(a.t, path, msg, args...) +} + +// ElementsMatch asserts that the specified listA(array, slice...) is equal to specified +// listB(array, slice...) ignoring the order of the elements. If there are duplicate elements, +// the number of appearances of each of them in both lists should match. +// +// a.ElementsMatch([1, 3, 2, 3], [1, 3, 3, 2]) +func (a *Assertions) ElementsMatch(listA interface{}, listB interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + ElementsMatch(a.t, listA, listB, msgAndArgs...) +} + +// ElementsMatchf asserts that the specified listA(array, slice...) is equal to specified +// listB(array, slice...) ignoring the order of the elements. If there are duplicate elements, +// the number of appearances of each of them in both lists should match. +// +// a.ElementsMatchf([1, 3, 2, 3], [1, 3, 3, 2], "error message %s", "formatted") +func (a *Assertions) ElementsMatchf(listA interface{}, listB interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + ElementsMatchf(a.t, listA, listB, msg, args...) +} + +// Empty asserts that the specified object is empty. I.e. nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// a.Empty(obj) +func (a *Assertions) Empty(object interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Empty(a.t, object, msgAndArgs...) +} + +// Emptyf asserts that the specified object is empty. I.e. nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// a.Emptyf(obj, "error message %s", "formatted") +func (a *Assertions) Emptyf(object interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Emptyf(a.t, object, msg, args...) +} + +// Equal asserts that two objects are equal. +// +// a.Equal(123, 123) +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). Function equality +// cannot be determined and will always fail. +func (a *Assertions) Equal(expected interface{}, actual interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Equal(a.t, expected, actual, msgAndArgs...) +} + +// EqualError asserts that a function returned an error (i.e. not `nil`) +// and that it is equal to the provided error. +// +// actualObj, err := SomeFunction() +// a.EqualError(err, expectedErrorString) +func (a *Assertions) EqualError(theError error, errString string, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + EqualError(a.t, theError, errString, msgAndArgs...) +} + +// EqualErrorf asserts that a function returned an error (i.e. not `nil`) +// and that it is equal to the provided error. +// +// actualObj, err := SomeFunction() +// a.EqualErrorf(err, expectedErrorString, "error message %s", "formatted") +func (a *Assertions) EqualErrorf(theError error, errString string, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + EqualErrorf(a.t, theError, errString, msg, args...) +} + +// EqualValues asserts that two objects are equal or convertable to the same types +// and equal. +// +// a.EqualValues(uint32(123), int32(123)) +func (a *Assertions) EqualValues(expected interface{}, actual interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + EqualValues(a.t, expected, actual, msgAndArgs...) +} + +// EqualValuesf asserts that two objects are equal or convertable to the same types +// and equal. +// +// a.EqualValuesf(uint32(123, "error message %s", "formatted"), int32(123)) +func (a *Assertions) EqualValuesf(expected interface{}, actual interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + EqualValuesf(a.t, expected, actual, msg, args...) +} + +// Equalf asserts that two objects are equal. +// +// a.Equalf(123, 123, "error message %s", "formatted") +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). Function equality +// cannot be determined and will always fail. +func (a *Assertions) Equalf(expected interface{}, actual interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Equalf(a.t, expected, actual, msg, args...) +} + +// Error asserts that a function returned an error (i.e. not `nil`). +// +// actualObj, err := SomeFunction() +// if a.Error(err) { +// assert.Equal(t, expectedError, err) +// } +func (a *Assertions) Error(err error, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Error(a.t, err, msgAndArgs...) +} + +// Errorf asserts that a function returned an error (i.e. not `nil`). +// +// actualObj, err := SomeFunction() +// if a.Errorf(err, "error message %s", "formatted") { +// assert.Equal(t, expectedErrorf, err) +// } +func (a *Assertions) Errorf(err error, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Errorf(a.t, err, msg, args...) +} + +// Exactly asserts that two objects are equal in value and type. +// +// a.Exactly(int32(123), int64(123)) +func (a *Assertions) Exactly(expected interface{}, actual interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Exactly(a.t, expected, actual, msgAndArgs...) +} + +// Exactlyf asserts that two objects are equal in value and type. +// +// a.Exactlyf(int32(123, "error message %s", "formatted"), int64(123)) +func (a *Assertions) Exactlyf(expected interface{}, actual interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Exactlyf(a.t, expected, actual, msg, args...) +} + +// Fail reports a failure through +func (a *Assertions) Fail(failureMessage string, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Fail(a.t, failureMessage, msgAndArgs...) +} + +// FailNow fails test +func (a *Assertions) FailNow(failureMessage string, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + FailNow(a.t, failureMessage, msgAndArgs...) +} + +// FailNowf fails test +func (a *Assertions) FailNowf(failureMessage string, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + FailNowf(a.t, failureMessage, msg, args...) +} + +// Failf reports a failure through +func (a *Assertions) Failf(failureMessage string, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Failf(a.t, failureMessage, msg, args...) +} + +// False asserts that the specified value is false. +// +// a.False(myBool) +func (a *Assertions) False(value bool, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + False(a.t, value, msgAndArgs...) +} + +// Falsef asserts that the specified value is false. +// +// a.Falsef(myBool, "error message %s", "formatted") +func (a *Assertions) Falsef(value bool, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Falsef(a.t, value, msg, args...) +} + +// 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. +func (a *Assertions) FileExists(path string, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + FileExists(a.t, path, msgAndArgs...) +} + +// 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. +func (a *Assertions) FileExistsf(path string, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + FileExistsf(a.t, path, msg, args...) +} + +// HTTPBodyContains asserts that a specified handler returns a +// body that contains a string. +// +// a.HTTPBodyContains(myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky") +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPBodyContains(handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + HTTPBodyContains(a.t, handler, method, url, values, str, msgAndArgs...) +} + +// HTTPBodyContainsf asserts that a specified handler returns a +// body that contains a string. +// +// a.HTTPBodyContainsf(myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky", "error message %s", "formatted") +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPBodyContainsf(handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + HTTPBodyContainsf(a.t, handler, method, url, values, str, msg, args...) +} + +// HTTPBodyNotContains asserts that a specified handler returns a +// body that does not contain a string. +// +// a.HTTPBodyNotContains(myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky") +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPBodyNotContains(handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + HTTPBodyNotContains(a.t, handler, method, url, values, str, msgAndArgs...) +} + +// HTTPBodyNotContainsf asserts that a specified handler returns a +// body that does not contain a string. +// +// a.HTTPBodyNotContainsf(myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky", "error message %s", "formatted") +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPBodyNotContainsf(handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + HTTPBodyNotContainsf(a.t, handler, method, url, values, str, msg, args...) +} + +// HTTPError asserts that a specified handler returns an error status code. +// +// a.HTTPError(myHandler, "POST", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPError(handler http.HandlerFunc, method string, url string, values url.Values, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + HTTPError(a.t, handler, method, url, values, msgAndArgs...) +} + +// HTTPErrorf asserts that a specified handler returns an error status code. +// +// a.HTTPErrorf(myHandler, "POST", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true, "error message %s", "formatted") or not (false). +func (a *Assertions) HTTPErrorf(handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + HTTPErrorf(a.t, handler, method, url, values, msg, args...) +} + +// HTTPRedirect asserts that a specified handler returns a redirect status code. +// +// a.HTTPRedirect(myHandler, "GET", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPRedirect(handler http.HandlerFunc, method string, url string, values url.Values, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + HTTPRedirect(a.t, handler, method, url, values, msgAndArgs...) +} + +// HTTPRedirectf asserts that a specified handler returns a redirect status code. +// +// a.HTTPRedirectf(myHandler, "GET", "/a/b/c", url.Values{"a": []string{"b", "c"}} +// +// Returns whether the assertion was successful (true, "error message %s", "formatted") or not (false). +func (a *Assertions) HTTPRedirectf(handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + HTTPRedirectf(a.t, handler, method, url, values, msg, args...) +} + +// HTTPSuccess asserts that a specified handler returns a success status code. +// +// a.HTTPSuccess(myHandler, "POST", "http://www.google.com", nil) +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPSuccess(handler http.HandlerFunc, method string, url string, values url.Values, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + HTTPSuccess(a.t, handler, method, url, values, msgAndArgs...) +} + +// HTTPSuccessf asserts that a specified handler returns a success status code. +// +// a.HTTPSuccessf(myHandler, "POST", "http://www.google.com", nil, "error message %s", "formatted") +// +// Returns whether the assertion was successful (true) or not (false). +func (a *Assertions) HTTPSuccessf(handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + HTTPSuccessf(a.t, handler, method, url, values, msg, args...) +} + +// Implements asserts that an object is implemented by the specified interface. +// +// a.Implements((*MyInterface)(nil), new(MyObject)) +func (a *Assertions) Implements(interfaceObject interface{}, object interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Implements(a.t, interfaceObject, object, msgAndArgs...) +} + +// Implementsf asserts that an object is implemented by the specified interface. +// +// a.Implementsf((*MyInterface, "error message %s", "formatted")(nil), new(MyObject)) +func (a *Assertions) Implementsf(interfaceObject interface{}, object interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Implementsf(a.t, interfaceObject, object, msg, args...) +} + +// InDelta asserts that the two numerals are within delta of each other. +// +// a.InDelta(math.Pi, (22 / 7.0), 0.01) +func (a *Assertions) InDelta(expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + InDelta(a.t, expected, actual, delta, msgAndArgs...) +} + +// InDeltaMapValues is the same as InDelta, but it compares all values between two maps. Both maps must have exactly the same keys. +func (a *Assertions) InDeltaMapValues(expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + InDeltaMapValues(a.t, expected, actual, delta, msgAndArgs...) +} + +// InDeltaMapValuesf is the same as InDelta, but it compares all values between two maps. Both maps must have exactly the same keys. +func (a *Assertions) InDeltaMapValuesf(expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + InDeltaMapValuesf(a.t, expected, actual, delta, msg, args...) +} + +// InDeltaSlice is the same as InDelta, except it compares two slices. +func (a *Assertions) InDeltaSlice(expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + InDeltaSlice(a.t, expected, actual, delta, msgAndArgs...) +} + +// InDeltaSlicef is the same as InDelta, except it compares two slices. +func (a *Assertions) InDeltaSlicef(expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + InDeltaSlicef(a.t, expected, actual, delta, msg, args...) +} + +// InDeltaf asserts that the two numerals are within delta of each other. +// +// a.InDeltaf(math.Pi, (22 / 7.0, "error message %s", "formatted"), 0.01) +func (a *Assertions) InDeltaf(expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + InDeltaf(a.t, expected, actual, delta, msg, args...) +} + +// InEpsilon asserts that expected and actual have a relative error less than epsilon +func (a *Assertions) InEpsilon(expected interface{}, actual interface{}, epsilon float64, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + InEpsilon(a.t, expected, actual, epsilon, msgAndArgs...) +} + +// InEpsilonSlice is the same as InEpsilon, except it compares each value from two slices. +func (a *Assertions) InEpsilonSlice(expected interface{}, actual interface{}, epsilon float64, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + InEpsilonSlice(a.t, expected, actual, epsilon, msgAndArgs...) +} + +// InEpsilonSlicef is the same as InEpsilon, except it compares each value from two slices. +func (a *Assertions) InEpsilonSlicef(expected interface{}, actual interface{}, epsilon float64, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + InEpsilonSlicef(a.t, expected, actual, epsilon, msg, args...) +} + +// InEpsilonf asserts that expected and actual have a relative error less than epsilon +func (a *Assertions) InEpsilonf(expected interface{}, actual interface{}, epsilon float64, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + InEpsilonf(a.t, expected, actual, epsilon, msg, args...) +} + +// IsType asserts that the specified objects are of the same type. +func (a *Assertions) IsType(expectedType interface{}, object interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + IsType(a.t, expectedType, object, msgAndArgs...) +} + +// IsTypef asserts that the specified objects are of the same type. +func (a *Assertions) IsTypef(expectedType interface{}, object interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + IsTypef(a.t, expectedType, object, msg, args...) +} + +// JSONEq asserts that two JSON strings are equivalent. +// +// a.JSONEq(`{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`) +func (a *Assertions) JSONEq(expected string, actual string, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + JSONEq(a.t, expected, actual, msgAndArgs...) +} + +// JSONEqf asserts that two JSON strings are equivalent. +// +// a.JSONEqf(`{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`, "error message %s", "formatted") +func (a *Assertions) JSONEqf(expected string, actual string, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + JSONEqf(a.t, expected, actual, msg, args...) +} + +// Len asserts that the specified object has specific length. +// Len also fails if the object has a type that len() not accept. +// +// a.Len(mySlice, 3) +func (a *Assertions) Len(object interface{}, length int, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Len(a.t, object, length, msgAndArgs...) +} + +// Lenf asserts that the specified object has specific length. +// Lenf also fails if the object has a type that len() not accept. +// +// a.Lenf(mySlice, 3, "error message %s", "formatted") +func (a *Assertions) Lenf(object interface{}, length int, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Lenf(a.t, object, length, msg, args...) +} + +// Nil asserts that the specified object is nil. +// +// a.Nil(err) +func (a *Assertions) Nil(object interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Nil(a.t, object, msgAndArgs...) +} + +// Nilf asserts that the specified object is nil. +// +// a.Nilf(err, "error message %s", "formatted") +func (a *Assertions) Nilf(object interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Nilf(a.t, object, msg, args...) +} + +// NoError asserts that a function returned no error (i.e. `nil`). +// +// actualObj, err := SomeFunction() +// if a.NoError(err) { +// assert.Equal(t, expectedObj, actualObj) +// } +func (a *Assertions) NoError(err error, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NoError(a.t, err, msgAndArgs...) +} + +// NoErrorf asserts that a function returned no error (i.e. `nil`). +// +// actualObj, err := SomeFunction() +// if a.NoErrorf(err, "error message %s", "formatted") { +// assert.Equal(t, expectedObj, actualObj) +// } +func (a *Assertions) NoErrorf(err error, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NoErrorf(a.t, err, msg, args...) +} + +// NotContains asserts that the specified string, list(array, slice...) or map does NOT contain the +// specified substring or element. +// +// a.NotContains("Hello World", "Earth") +// a.NotContains(["Hello", "World"], "Earth") +// a.NotContains({"Hello": "World"}, "Earth") +func (a *Assertions) NotContains(s interface{}, contains interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotContains(a.t, s, contains, msgAndArgs...) +} + +// NotContainsf asserts that the specified string, list(array, slice...) or map does NOT contain the +// specified substring or element. +// +// a.NotContainsf("Hello World", "Earth", "error message %s", "formatted") +// a.NotContainsf(["Hello", "World"], "Earth", "error message %s", "formatted") +// a.NotContainsf({"Hello": "World"}, "Earth", "error message %s", "formatted") +func (a *Assertions) NotContainsf(s interface{}, contains interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotContainsf(a.t, s, contains, msg, args...) +} + +// NotEmpty asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// if a.NotEmpty(obj) { +// assert.Equal(t, "two", obj[1]) +// } +func (a *Assertions) NotEmpty(object interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotEmpty(a.t, object, msgAndArgs...) +} + +// NotEmptyf asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either +// a slice or a channel with len == 0. +// +// if a.NotEmptyf(obj, "error message %s", "formatted") { +// assert.Equal(t, "two", obj[1]) +// } +func (a *Assertions) NotEmptyf(object interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotEmptyf(a.t, object, msg, args...) +} + +// NotEqual asserts that the specified values are NOT equal. +// +// a.NotEqual(obj1, obj2) +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). +func (a *Assertions) NotEqual(expected interface{}, actual interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotEqual(a.t, expected, actual, msgAndArgs...) +} + +// NotEqualf asserts that the specified values are NOT equal. +// +// a.NotEqualf(obj1, obj2, "error message %s", "formatted") +// +// Pointer variable equality is determined based on the equality of the +// referenced values (as opposed to the memory addresses). +func (a *Assertions) NotEqualf(expected interface{}, actual interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotEqualf(a.t, expected, actual, msg, args...) +} + +// NotNil asserts that the specified object is not nil. +// +// a.NotNil(err) +func (a *Assertions) NotNil(object interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotNil(a.t, object, msgAndArgs...) +} + +// NotNilf asserts that the specified object is not nil. +// +// a.NotNilf(err, "error message %s", "formatted") +func (a *Assertions) NotNilf(object interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotNilf(a.t, object, msg, args...) +} + +// NotPanics asserts that the code inside the specified PanicTestFunc does NOT panic. +// +// a.NotPanics(func(){ RemainCalm() }) +func (a *Assertions) NotPanics(f assert.PanicTestFunc, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotPanics(a.t, f, msgAndArgs...) +} + +// NotPanicsf asserts that the code inside the specified PanicTestFunc does NOT panic. +// +// a.NotPanicsf(func(){ RemainCalm() }, "error message %s", "formatted") +func (a *Assertions) NotPanicsf(f assert.PanicTestFunc, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotPanicsf(a.t, f, msg, args...) +} + +// NotRegexp asserts that a specified regexp does not match a string. +// +// a.NotRegexp(regexp.MustCompile("starts"), "it's starting") +// a.NotRegexp("^start", "it's not starting") +func (a *Assertions) NotRegexp(rx interface{}, str interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotRegexp(a.t, rx, str, msgAndArgs...) +} + +// NotRegexpf asserts that a specified regexp does not match a string. +// +// a.NotRegexpf(regexp.MustCompile("starts", "error message %s", "formatted"), "it's starting") +// a.NotRegexpf("^start", "it's not starting", "error message %s", "formatted") +func (a *Assertions) NotRegexpf(rx interface{}, str interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotRegexpf(a.t, rx, str, msg, args...) +} + +// NotSubset asserts that the specified list(array, slice...) contains not all +// elements given in the specified subset(array, slice...). +// +// a.NotSubset([1, 3, 4], [1, 2], "But [1, 3, 4] does not contain [1, 2]") +func (a *Assertions) NotSubset(list interface{}, subset interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotSubset(a.t, list, subset, msgAndArgs...) +} + +// NotSubsetf asserts that the specified list(array, slice...) contains not all +// elements given in the specified subset(array, slice...). +// +// a.NotSubsetf([1, 3, 4], [1, 2], "But [1, 3, 4] does not contain [1, 2]", "error message %s", "formatted") +func (a *Assertions) NotSubsetf(list interface{}, subset interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotSubsetf(a.t, list, subset, msg, args...) +} + +// NotZero asserts that i is not the zero value for its type. +func (a *Assertions) NotZero(i interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotZero(a.t, i, msgAndArgs...) +} + +// NotZerof asserts that i is not the zero value for its type. +func (a *Assertions) NotZerof(i interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + NotZerof(a.t, i, msg, args...) +} + +// Panics asserts that the code inside the specified PanicTestFunc panics. +// +// a.Panics(func(){ GoCrazy() }) +func (a *Assertions) Panics(f assert.PanicTestFunc, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Panics(a.t, f, msgAndArgs...) +} + +// PanicsWithValue asserts that the code inside the specified PanicTestFunc panics, and that +// the recovered panic value equals the expected panic value. +// +// a.PanicsWithValue("crazy error", func(){ GoCrazy() }) +func (a *Assertions) PanicsWithValue(expected interface{}, f assert.PanicTestFunc, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + PanicsWithValue(a.t, expected, f, msgAndArgs...) +} + +// PanicsWithValuef asserts that the code inside the specified PanicTestFunc panics, and that +// the recovered panic value equals the expected panic value. +// +// a.PanicsWithValuef("crazy error", func(){ GoCrazy() }, "error message %s", "formatted") +func (a *Assertions) PanicsWithValuef(expected interface{}, f assert.PanicTestFunc, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + PanicsWithValuef(a.t, expected, f, msg, args...) +} + +// Panicsf asserts that the code inside the specified PanicTestFunc panics. +// +// a.Panicsf(func(){ GoCrazy() }, "error message %s", "formatted") +func (a *Assertions) Panicsf(f assert.PanicTestFunc, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Panicsf(a.t, f, msg, args...) +} + +// Regexp asserts that a specified regexp matches a string. +// +// a.Regexp(regexp.MustCompile("start"), "it's starting") +// a.Regexp("start...$", "it's not starting") +func (a *Assertions) Regexp(rx interface{}, str interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Regexp(a.t, rx, str, msgAndArgs...) +} + +// Regexpf asserts that a specified regexp matches a string. +// +// a.Regexpf(regexp.MustCompile("start", "error message %s", "formatted"), "it's starting") +// a.Regexpf("start...$", "it's not starting", "error message %s", "formatted") +func (a *Assertions) Regexpf(rx interface{}, str interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Regexpf(a.t, rx, str, msg, args...) +} + +// Subset asserts that the specified list(array, slice...) contains all +// elements given in the specified subset(array, slice...). +// +// a.Subset([1, 2, 3], [1, 2], "But [1, 2, 3] does contain [1, 2]") +func (a *Assertions) Subset(list interface{}, subset interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Subset(a.t, list, subset, msgAndArgs...) +} + +// Subsetf asserts that the specified list(array, slice...) contains all +// elements given in the specified subset(array, slice...). +// +// a.Subsetf([1, 2, 3], [1, 2], "But [1, 2, 3] does contain [1, 2]", "error message %s", "formatted") +func (a *Assertions) Subsetf(list interface{}, subset interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Subsetf(a.t, list, subset, msg, args...) +} + +// True asserts that the specified value is true. +// +// a.True(myBool) +func (a *Assertions) True(value bool, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + True(a.t, value, msgAndArgs...) +} + +// Truef asserts that the specified value is true. +// +// a.Truef(myBool, "error message %s", "formatted") +func (a *Assertions) Truef(value bool, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Truef(a.t, value, msg, args...) +} + +// WithinDuration asserts that the two times are within duration delta of each other. +// +// a.WithinDuration(time.Now(), time.Now(), 10*time.Second) +func (a *Assertions) WithinDuration(expected time.Time, actual time.Time, delta time.Duration, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + WithinDuration(a.t, expected, actual, delta, msgAndArgs...) +} + +// WithinDurationf asserts that the two times are within duration delta of each other. +// +// a.WithinDurationf(time.Now(), time.Now(), 10*time.Second, "error message %s", "formatted") +func (a *Assertions) WithinDurationf(expected time.Time, actual time.Time, delta time.Duration, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + WithinDurationf(a.t, expected, actual, delta, msg, args...) +} + +// Zero asserts that i is the zero value for its type. +func (a *Assertions) Zero(i interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Zero(a.t, i, msgAndArgs...) +} + +// Zerof asserts that i is the zero value for its type. +func (a *Assertions) Zerof(i interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + Zerof(a.t, i, msg, args...) +} diff --git a/vendor/github.com/stretchr/testify/require/require_forward.go.tmpl b/vendor/github.com/stretchr/testify/require/require_forward.go.tmpl new file mode 100644 index 000000000..54124df1d --- /dev/null +++ b/vendor/github.com/stretchr/testify/require/require_forward.go.tmpl @@ -0,0 +1,5 @@ +{{.CommentWithoutT "a"}} +func (a *Assertions) {{.DocInfo.Name}}({{.Params}}) { + if h, ok := a.t.(tHelper); ok { h.Helper() } + {{.DocInfo.Name}}(a.t, {{.ForwardedParams}}) +} diff --git a/vendor/github.com/stretchr/testify/require/requirements.go b/vendor/github.com/stretchr/testify/require/requirements.go new file mode 100644 index 000000000..6b85c5ece --- /dev/null +++ b/vendor/github.com/stretchr/testify/require/requirements.go @@ -0,0 +1,29 @@ +package require + +// TestingT is an interface wrapper around *testing.T +type TestingT interface { + Errorf(format string, args ...interface{}) + FailNow() +} + +type tHelper interface { + Helper() +} + +// ComparisonAssertionFunc is a common function prototype when comparing two values. Can be useful +// for table driven tests. +type ComparisonAssertionFunc func(TestingT, interface{}, interface{}, ...interface{}) + +// ValueAssertionFunc is a common function prototype when validating a single value. Can be useful +// for table driven tests. +type ValueAssertionFunc func(TestingT, interface{}, ...interface{}) + +// BoolAssertionFunc is a common function prototype when validating a bool value. Can be useful +// for table driven tests. +type BoolAssertionFunc func(TestingT, bool, ...interface{}) + +// ErrorAssertionFunc is a common function prototype when validating an error value. Can be useful +// for table driven tests. +type ErrorAssertionFunc func(TestingT, error, ...interface{}) + +//go:generate go run ../_codegen/main.go -output-package=require -template=require.go.tmpl -include-format-funcs diff --git a/vendor/go.etcd.io/bbolt/.gitignore b/vendor/go.etcd.io/bbolt/.gitignore new file mode 100644 index 000000000..3bcd8cbaf --- /dev/null +++ b/vendor/go.etcd.io/bbolt/.gitignore @@ -0,0 +1,5 @@ +*.prof +*.test +*.swp +/bin/ +cover.out diff --git a/vendor/go.etcd.io/bbolt/.travis.yml b/vendor/go.etcd.io/bbolt/.travis.yml new file mode 100644 index 000000000..a60300c55 --- /dev/null +++ b/vendor/go.etcd.io/bbolt/.travis.yml @@ -0,0 +1,17 @@ +language: go +go_import_path: go.etcd.io/bbolt + +sudo: false + +go: +- 1.11 + +before_install: +- go get -v honnef.co/go/tools/... +- go get -v github.com/kisielk/errcheck + +script: +- make fmt +- make test +- make race +# - make errcheck diff --git a/vendor/go.etcd.io/bbolt/LICENSE b/vendor/go.etcd.io/bbolt/LICENSE new file mode 100644 index 000000000..004e77fe5 --- /dev/null +++ b/vendor/go.etcd.io/bbolt/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2013 Ben Johnson + +Permission 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: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE 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. diff --git a/vendor/go.etcd.io/bbolt/Makefile b/vendor/go.etcd.io/bbolt/Makefile new file mode 100644 index 000000000..2968aaa61 --- /dev/null +++ b/vendor/go.etcd.io/bbolt/Makefile @@ -0,0 +1,38 @@ +BRANCH=`git rev-parse --abbrev-ref HEAD` +COMMIT=`git rev-parse --short HEAD` +GOLDFLAGS="-X main.branch $(BRANCH) -X main.commit $(COMMIT)" + +default: build + +race: + @TEST_FREELIST_TYPE=hashmap go test -v -race -test.run="TestSimulate_(100op|1000op)" + @echo "array freelist test" + @TEST_FREELIST_TYPE=array go test -v -race -test.run="TestSimulate_(100op|1000op)" + +fmt: + !(gofmt -l -s -d $(shell find . -name \*.go) | grep '[a-z]') + +# go get honnef.co/go/tools/simple +gosimple: + gosimple ./... + +# go get honnef.co/go/tools/unused +unused: + unused ./... + +# go get github.com/kisielk/errcheck +errcheck: + @errcheck -ignorepkg=bytes -ignore=os:Remove go.etcd.io/bbolt + +test: + TEST_FREELIST_TYPE=hashmap go test -timeout 20m -v -coverprofile cover.out -covermode atomic + # Note: gets "program not an importable package" in out of path builds + TEST_FREELIST_TYPE=hashmap go test -v ./cmd/bbolt + + @echo "array freelist test" + + @TEST_FREELIST_TYPE=array go test -timeout 20m -v -coverprofile cover.out -covermode atomic + # Note: gets "program not an importable package" in out of path builds + @TEST_FREELIST_TYPE=array go test -v ./cmd/bbolt + +.PHONY: race fmt errcheck test gosimple unused diff --git a/vendor/go.etcd.io/bbolt/README.md b/vendor/go.etcd.io/bbolt/README.md new file mode 100644 index 000000000..e9989efc5 --- /dev/null +++ b/vendor/go.etcd.io/bbolt/README.md @@ -0,0 +1,954 @@ +bbolt +===== + +[![Go Report Card](https://goreportcard.com/badge/github.com/etcd-io/bbolt?style=flat-square)](https://goreportcard.com/report/github.com/etcd-io/bbolt) +[![Coverage](https://codecov.io/gh/etcd-io/bbolt/branch/master/graph/badge.svg)](https://codecov.io/gh/etcd-io/bbolt) +[![Build Status Travis](https://img.shields.io/travis/etcd-io/bboltlabs.svg?style=flat-square&&branch=master)](https://travis-ci.com/etcd-io/bbolt) +[![Godoc](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)](https://godoc.org/github.com/etcd-io/bbolt) +[![Releases](https://img.shields.io/github/release/etcd-io/bbolt/all.svg?style=flat-square)](https://github.com/etcd-io/bbolt/releases) +[![LICENSE](https://img.shields.io/github/license/etcd-io/bbolt.svg?style=flat-square)](https://github.com/etcd-io/bbolt/blob/master/LICENSE) + +bbolt is a fork of [Ben Johnson's][gh_ben] [Bolt][bolt] key/value +store. The purpose of this fork is to provide the Go community with an active +maintenance and development target for Bolt; the goal is improved reliability +and stability. bbolt includes bug fixes, performance enhancements, and features +not found in Bolt while preserving backwards compatibility with the Bolt API. + +Bolt is a pure Go key/value store inspired by [Howard Chu's][hyc_symas] +[LMDB project][lmdb]. The goal of the project is to provide a simple, +fast, and reliable database for projects that don't require a full database +server such as Postgres or MySQL. + +Since Bolt is meant to be used as such a low-level piece of functionality, +simplicity is key. The API will be small and only focus on getting values +and setting values. That's it. + +[gh_ben]: https://github.com/benbjohnson +[bolt]: https://github.com/boltdb/bolt +[hyc_symas]: https://twitter.com/hyc_symas +[lmdb]: http://symas.com/mdb/ + +## Project Status + +Bolt is stable, the API is fixed, and the file format is fixed. Full unit +test coverage and randomized black box testing are used to ensure database +consistency and thread safety. Bolt is currently used in high-load production +environments serving databases as large as 1TB. Many companies such as +Shopify and Heroku use Bolt-backed services every day. + +## Project versioning + +bbolt uses [semantic versioning](http://semver.org). +API should not change between patch and minor releases. +New minor versions may add additional features to the API. + +## Table of Contents + + - [Getting Started](#getting-started) + - [Installing](#installing) + - [Opening a database](#opening-a-database) + - [Transactions](#transactions) + - [Read-write transactions](#read-write-transactions) + - [Read-only transactions](#read-only-transactions) + - [Batch read-write transactions](#batch-read-write-transactions) + - [Managing transactions manually](#managing-transactions-manually) + - [Using buckets](#using-buckets) + - [Using key/value pairs](#using-keyvalue-pairs) + - [Autoincrementing integer for the bucket](#autoincrementing-integer-for-the-bucket) + - [Iterating over keys](#iterating-over-keys) + - [Prefix scans](#prefix-scans) + - [Range scans](#range-scans) + - [ForEach()](#foreach) + - [Nested buckets](#nested-buckets) + - [Database backups](#database-backups) + - [Statistics](#statistics) + - [Read-Only Mode](#read-only-mode) + - [Mobile Use (iOS/Android)](#mobile-use-iosandroid) + - [Resources](#resources) + - [Comparison with other databases](#comparison-with-other-databases) + - [Postgres, MySQL, & other relational databases](#postgres-mysql--other-relational-databases) + - [LevelDB, RocksDB](#leveldb-rocksdb) + - [LMDB](#lmdb) + - [Caveats & Limitations](#caveats--limitations) + - [Reading the Source](#reading-the-source) + - [Other Projects Using Bolt](#other-projects-using-bolt) + +## Getting Started + +### Installing + +To start using Bolt, install Go and run `go get`: + +```sh +$ go get go.etcd.io/bbolt/... +``` + +This will retrieve the library and install the `bolt` command line utility into +your `$GOBIN` path. + + +### Importing bbolt + +To use bbolt as an embedded key-value store, import as: + +```go +import bolt "go.etcd.io/bbolt" + +db, err := bolt.Open(path, 0666, nil) +if err != nil { + return err +} +defer db.Close() +``` + + +### Opening a database + +The top-level object in Bolt is a `DB`. It is represented as a single file on +your disk and represents a consistent snapshot of your data. + +To open your database, simply use the `bolt.Open()` function: + +```go +package main + +import ( + "log" + + bolt "go.etcd.io/bbolt" +) + +func main() { + // Open the my.db data file in your current directory. + // It will be created if it doesn't exist. + db, err := bolt.Open("my.db", 0600, nil) + if err != nil { + log.Fatal(err) + } + defer db.Close() + + ... +} +``` + +Please note that Bolt obtains a file lock on the data file so multiple processes +cannot open the same database at the same time. Opening an already open Bolt +database will cause it to hang until the other process closes it. To prevent +an indefinite wait you can pass a timeout option to the `Open()` function: + +```go +db, err := bolt.Open("my.db", 0600, &bolt.Options{Timeout: 1 * time.Second}) +``` + + +### Transactions + +Bolt allows only one read-write transaction at a time but allows as many +read-only transactions as you want at a time. Each transaction has a consistent +view of the data as it existed when the transaction started. + +Individual transactions and all objects created from them (e.g. buckets, keys) +are not thread safe. To work with data in multiple goroutines you must start +a transaction for each one or use locking to ensure only one goroutine accesses +a transaction at a time. Creating transaction from the `DB` is thread safe. + +Read-only transactions and read-write transactions should not depend on one +another and generally shouldn't be opened simultaneously in the same goroutine. +This can cause a deadlock as the read-write transaction needs to periodically +re-map the data file but it cannot do so while a read-only transaction is open. + + +#### Read-write transactions + +To start a read-write transaction, you can use the `DB.Update()` function: + +```go +err := db.Update(func(tx *bolt.Tx) error { + ... + return nil +}) +``` + +Inside the closure, you have a consistent view of the database. You commit the +transaction by returning `nil` at the end. You can also rollback the transaction +at any point by returning an error. All database operations are allowed inside +a read-write transaction. + +Always check the return error as it will report any disk failures that can cause +your transaction to not complete. If you return an error within your closure +it will be passed through. + + +#### Read-only transactions + +To start a read-only transaction, you can use the `DB.View()` function: + +```go +err := db.View(func(tx *bolt.Tx) error { + ... + return nil +}) +``` + +You also get a consistent view of the database within this closure, however, +no mutating operations are allowed within a read-only transaction. You can only +retrieve buckets, retrieve values, and copy the database within a read-only +transaction. + + +#### Batch read-write transactions + +Each `DB.Update()` waits for disk to commit the writes. This overhead +can be minimized by combining multiple updates with the `DB.Batch()` +function: + +```go +err := db.Batch(func(tx *bolt.Tx) error { + ... + return nil +}) +``` + +Concurrent Batch calls are opportunistically combined into larger +transactions. Batch is only useful when there are multiple goroutines +calling it. + +The trade-off is that `Batch` can call the given +function multiple times, if parts of the transaction fail. The +function must be idempotent and side effects must take effect only +after a successful return from `DB.Batch()`. + +For example: don't display messages from inside the function, instead +set variables in the enclosing scope: + +```go +var id uint64 +err := db.Batch(func(tx *bolt.Tx) error { + // Find last key in bucket, decode as bigendian uint64, increment + // by one, encode back to []byte, and add new key. + ... + id = newValue + return nil +}) +if err != nil { + return ... +} +fmt.Println("Allocated ID %d", id) +``` + + +#### Managing transactions manually + +The `DB.View()` and `DB.Update()` functions are wrappers around the `DB.Begin()` +function. These helper functions will start the transaction, execute a function, +and then safely close your transaction if an error is returned. This is the +recommended way to use Bolt transactions. + +However, sometimes you may want to manually start and end your transactions. +You can use the `DB.Begin()` function directly but **please** be sure to close +the transaction. + +```go +// Start a writable transaction. +tx, err := db.Begin(true) +if err != nil { + return err +} +defer tx.Rollback() + +// Use the transaction... +_, err := tx.CreateBucket([]byte("MyBucket")) +if err != nil { + return err +} + +// Commit the transaction and check for error. +if err := tx.Commit(); err != nil { + return err +} +``` + +The first argument to `DB.Begin()` is a boolean stating if the transaction +should be writable. + + +### Using buckets + +Buckets are collections of key/value pairs within the database. All keys in a +bucket must be unique. You can create a bucket using the `DB.CreateBucket()` +function: + +```go +db.Update(func(tx *bolt.Tx) error { + b, err := tx.CreateBucket([]byte("MyBucket")) + if err != nil { + return fmt.Errorf("create bucket: %s", err) + } + return nil +}) +``` + +You can also create a bucket only if it doesn't exist by using the +`Tx.CreateBucketIfNotExists()` function. It's a common pattern to call this +function for all your top-level buckets after you open your database so you can +guarantee that they exist for future transactions. + +To delete a bucket, simply call the `Tx.DeleteBucket()` function. + + +### Using key/value pairs + +To save a key/value pair to a bucket, use the `Bucket.Put()` function: + +```go +db.Update(func(tx *bolt.Tx) error { + b := tx.Bucket([]byte("MyBucket")) + err := b.Put([]byte("answer"), []byte("42")) + return err +}) +``` + +This will set the value of the `"answer"` key to `"42"` in the `MyBucket` +bucket. To retrieve this value, we can use the `Bucket.Get()` function: + +```go +db.View(func(tx *bolt.Tx) error { + b := tx.Bucket([]byte("MyBucket")) + v := b.Get([]byte("answer")) + fmt.Printf("The answer is: %s\n", v) + return nil +}) +``` + +The `Get()` function does not return an error because its operation is +guaranteed to work (unless there is some kind of system failure). If the key +exists then it will return its byte slice value. If it doesn't exist then it +will return `nil`. It's important to note that you can have a zero-length value +set to a key which is different than the key not existing. + +Use the `Bucket.Delete()` function to delete a key from the bucket. + +Please note that values returned from `Get()` are only valid while the +transaction is open. If you need to use a value outside of the transaction +then you must use `copy()` to copy it to another byte slice. + + +### Autoincrementing integer for the bucket +By using the `NextSequence()` function, you can let Bolt determine a sequence +which can be used as the unique identifier for your key/value pairs. See the +example below. + +```go +// CreateUser saves u to the store. The new user ID is set on u once the data is persisted. +func (s *Store) CreateUser(u *User) error { + return s.db.Update(func(tx *bolt.Tx) error { + // Retrieve the users bucket. + // This should be created when the DB is first opened. + b := tx.Bucket([]byte("users")) + + // Generate ID for the user. + // This returns an error only if the Tx is closed or not writeable. + // That can't happen in an Update() call so I ignore the error check. + id, _ := b.NextSequence() + u.ID = int(id) + + // Marshal user data into bytes. + buf, err := json.Marshal(u) + if err != nil { + return err + } + + // Persist bytes to users bucket. + return b.Put(itob(u.ID), buf) + }) +} + +// itob returns an 8-byte big endian representation of v. +func itob(v int) []byte { + b := make([]byte, 8) + binary.BigEndian.PutUint64(b, uint64(v)) + return b +} + +type User struct { + ID int + ... +} +``` + +### Iterating over keys + +Bolt stores its keys in byte-sorted order within a bucket. This makes sequential +iteration over these keys extremely fast. To iterate over keys we'll use a +`Cursor`: + +```go +db.View(func(tx *bolt.Tx) error { + // Assume bucket exists and has keys + b := tx.Bucket([]byte("MyBucket")) + + c := b.Cursor() + + for k, v := c.First(); k != nil; k, v = c.Next() { + fmt.Printf("key=%s, value=%s\n", k, v) + } + + return nil +}) +``` + +The cursor allows you to move to a specific point in the list of keys and move +forward or backward through the keys one at a time. + +The following functions are available on the cursor: + +``` +First() Move to the first key. +Last() Move to the last key. +Seek() Move to a specific key. +Next() Move to the next key. +Prev() Move to the previous key. +``` + +Each of those functions has a return signature of `(key []byte, value []byte)`. +When you have iterated to the end of the cursor then `Next()` will return a +`nil` key. You must seek to a position using `First()`, `Last()`, or `Seek()` +before calling `Next()` or `Prev()`. If you do not seek to a position then +these functions will return a `nil` key. + +During iteration, if the key is non-`nil` but the value is `nil`, that means +the key refers to a bucket rather than a value. Use `Bucket.Bucket()` to +access the sub-bucket. + + +#### Prefix scans + +To iterate over a key prefix, you can combine `Seek()` and `bytes.HasPrefix()`: + +```go +db.View(func(tx *bolt.Tx) error { + // Assume bucket exists and has keys + c := tx.Bucket([]byte("MyBucket")).Cursor() + + prefix := []byte("1234") + for k, v := c.Seek(prefix); k != nil && bytes.HasPrefix(k, prefix); k, v = c.Next() { + fmt.Printf("key=%s, value=%s\n", k, v) + } + + return nil +}) +``` + +#### Range scans + +Another common use case is scanning over a range such as a time range. If you +use a sortable time encoding such as RFC3339 then you can query a specific +date range like this: + +```go +db.View(func(tx *bolt.Tx) error { + // Assume our events bucket exists and has RFC3339 encoded time keys. + c := tx.Bucket([]byte("Events")).Cursor() + + // Our time range spans the 90's decade. + min := []byte("1990-01-01T00:00:00Z") + max := []byte("2000-01-01T00:00:00Z") + + // Iterate over the 90's. + for k, v := c.Seek(min); k != nil && bytes.Compare(k, max) <= 0; k, v = c.Next() { + fmt.Printf("%s: %s\n", k, v) + } + + return nil +}) +``` + +Note 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. + + +#### ForEach() + +You can also use the function `ForEach()` if you know you'll be iterating over +all the keys in a bucket: + +```go +db.View(func(tx *bolt.Tx) error { + // Assume bucket exists and has keys + b := tx.Bucket([]byte("MyBucket")) + + b.ForEach(func(k, v []byte) error { + fmt.Printf("key=%s, value=%s\n", k, v) + return nil + }) + return nil +}) +``` + +Please note that keys and values in `ForEach()` are only valid while +the transaction is open. If you need to use a key or value outside of +the transaction, you must use `copy()` to copy it to another byte +slice. + +### Nested buckets + +You can also store a bucket in a key to create nested buckets. The API is the +same as the bucket management API on the `DB` object: + +```go +func (*Bucket) CreateBucket(key []byte) (*Bucket, error) +func (*Bucket) CreateBucketIfNotExists(key []byte) (*Bucket, error) +func (*Bucket) DeleteBucket(key []byte) error +``` + +Say 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. + +```go + +// createUser creates a new user in the given account. +func createUser(accountID int, u *User) error { + // Start the transaction. + tx, err := db.Begin(true) + if err != nil { + return err + } + defer tx.Rollback() + + // Retrieve the root bucket for the account. + // Assume this has already been created when the account was set up. + root := tx.Bucket([]byte(strconv.FormatUint(accountID, 10))) + + // Setup the users bucket. + bkt, err := root.CreateBucketIfNotExists([]byte("USERS")) + if err != nil { + return err + } + + // Generate an ID for the new user. + userID, err := bkt.NextSequence() + if err != nil { + return err + } + u.ID = userID + + // Marshal and save the encoded user. + if buf, err := json.Marshal(u); err != nil { + return err + } else if err := bkt.Put([]byte(strconv.FormatUint(u.ID, 10)), buf); err != nil { + return err + } + + // Commit the transaction. + if err := tx.Commit(); err != nil { + return err + } + + return nil +} + +``` + + + + +### Database backups + +Bolt is a single file so it's easy to backup. You can use the `Tx.WriteTo()` +function to write a consistent view of the database to a writer. If you call +this from a read-only transaction, it will perform a hot backup and not block +your other database reads and writes. + +By default, it will use a regular file handle which will utilize the operating +system's page cache. See the [`Tx`](https://godoc.org/go.etcd.io/bbolt#Tx) +documentation for information about optimizing for larger-than-RAM datasets. + +One common use case is to backup over HTTP so you can use tools like `cURL` to +do database backups: + +```go +func BackupHandleFunc(w http.ResponseWriter, req *http.Request) { + err := db.View(func(tx *bolt.Tx) error { + w.Header().Set("Content-Type", "application/octet-stream") + w.Header().Set("Content-Disposition", `attachment; filename="my.db"`) + w.Header().Set("Content-Length", strconv.Itoa(int(tx.Size()))) + _, err := tx.WriteTo(w) + return err + }) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + } +} +``` + +Then you can backup using this command: + +```sh +$ curl http://localhost/backup > my.db +``` + +Or you can open your browser to `http://localhost/backup` and it will download +automatically. + +If you want to backup to another file you can use the `Tx.CopyFile()` helper +function. + + +### Statistics + +The database keeps a running count of many of the internal operations it +performs so you can better understand what's going on. By grabbing a snapshot +of these stats at two points in time we can see what operations were performed +in that time range. + +For example, we could start a goroutine to log stats every 10 seconds: + +```go +go func() { + // Grab the initial stats. + prev := db.Stats() + + for { + // Wait for 10s. + time.Sleep(10 * time.Second) + + // Grab the current stats and diff them. + stats := db.Stats() + diff := stats.Sub(&prev) + + // Encode stats to JSON and print to STDERR. + json.NewEncoder(os.Stderr).Encode(diff) + + // Save stats for the next loop. + prev = stats + } +}() +``` + +It's also useful to pipe these stats to a service such as statsd for monitoring +or to provide an HTTP endpoint that will perform a fixed-length sample. + + +### Read-Only Mode + +Sometimes it is useful to create a shared, read-only Bolt database. To this, +set the `Options.ReadOnly` flag when opening your database. Read-only mode +uses a shared lock to allow multiple processes to read from the database but +it will block any processes from opening the database in read-write mode. + +```go +db, err := bolt.Open("my.db", 0666, &bolt.Options{ReadOnly: true}) +if err != nil { + log.Fatal(err) +} +``` + +### Mobile Use (iOS/Android) + +Bolt is able to run on mobile devices by leveraging the binding feature of the +[gomobile](https://github.com/golang/mobile) tool. Create a struct that will +contain your database logic and a reference to a `*bolt.DB` with a initializing +constructor that takes in a filepath where the database file will be stored. +Neither Android nor iOS require extra permissions or cleanup from using this method. + +```go +func NewBoltDB(filepath string) *BoltDB { + db, err := bolt.Open(filepath+"/demo.db", 0600, nil) + if err != nil { + log.Fatal(err) + } + + return &BoltDB{db} +} + +type BoltDB struct { + db *bolt.DB + ... +} + +func (b *BoltDB) Path() string { + return b.db.Path() +} + +func (b *BoltDB) Close() { + b.db.Close() +} +``` + +Database logic should be defined as methods on this wrapper struct. + +To initialize this struct from the native language (both platforms now sync +their local storage to the cloud. These snippets disable that functionality for the +database file): + +#### Android + +```java +String path; +if (android.os.Build.VERSION.SDK_INT >=android.os.Build.VERSION_CODES.LOLLIPOP){ + path = getNoBackupFilesDir().getAbsolutePath(); +} else{ + path = getFilesDir().getAbsolutePath(); +} +Boltmobiledemo.BoltDB boltDB = Boltmobiledemo.NewBoltDB(path) +``` + +#### iOS + +```objc +- (void)demo { + NSString* path = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, + NSUserDomainMask, + YES) objectAtIndex:0]; + GoBoltmobiledemoBoltDB * demo = GoBoltmobiledemoNewBoltDB(path); + [self addSkipBackupAttributeToItemAtPath:demo.path]; + //Some DB Logic would go here + [demo close]; +} + +- (BOOL)addSkipBackupAttributeToItemAtPath:(NSString *) filePathString +{ + NSURL* URL= [NSURL fileURLWithPath: filePathString]; + assert([[NSFileManager defaultManager] fileExistsAtPath: [URL path]]); + + NSError *error = nil; + BOOL success = [URL setResourceValue: [NSNumber numberWithBool: YES] + forKey: NSURLIsExcludedFromBackupKey error: &error]; + if(!success){ + NSLog(@"Error excluding %@ from backup %@", [URL lastPathComponent], error); + } + return success; +} + +``` + +## Resources + +For more information on getting started with Bolt, check out the following articles: + +* [Intro to BoltDB: Painless Performant Persistence](http://npf.io/2014/07/intro-to-boltdb-painless-performant-persistence/) by [Nate Finch](https://github.com/natefinch). +* [Bolt -- an embedded key/value database for Go](https://www.progville.com/go/bolt-embedded-db-golang/) by Progville + + +## Comparison with other databases + +### Postgres, MySQL, & other relational databases + +Relational databases structure data into rows and are only accessible through +the use of SQL. This approach provides flexibility in how you store and query +your data but also incurs overhead in parsing and planning SQL statements. Bolt +accesses all data by a byte slice key. This makes Bolt fast to read and write +data by key but provides no built-in support for joining values together. + +Most relational databases (with the exception of SQLite) are standalone servers +that run separately from your application. This gives your systems +flexibility to connect multiple application servers to a single database +server but also adds overhead in serializing and transporting data over the +network. Bolt runs as a library included in your application so all data access +has to go through your application's process. This brings data closer to your +application but limits multi-process access to the data. + + +### LevelDB, RocksDB + +LevelDB and its derivatives (RocksDB, HyperLevelDB) are similar to Bolt in that +they are libraries bundled into the application, however, their underlying +structure is a log-structured merge-tree (LSM tree). An LSM tree optimizes +random writes by using a write ahead log and multi-tiered, sorted files called +SSTables. Bolt uses a B+tree internally and only a single file. Both approaches +have trade-offs. + +If you require a high random write throughput (>10,000 w/sec) or you need to use +spinning disks then LevelDB could be a good choice. If your application is +read-heavy or does a lot of range scans then Bolt could be a good choice. + +One other important consideration is that LevelDB does not have transactions. +It supports batch writing of key/values pairs and it supports read snapshots +but it will not give you the ability to do a compare-and-swap operation safely. +Bolt supports fully serializable ACID transactions. + + +### LMDB + +Bolt was originally a port of LMDB so it is architecturally similar. Both use +a B+tree, have ACID semantics with fully serializable transactions, and support +lock-free MVCC using a single writer and multiple readers. + +The two projects have somewhat diverged. LMDB heavily focuses on raw performance +while Bolt has focused on simplicity and ease of use. For example, LMDB allows +several unsafe actions such as direct writes for the sake of performance. Bolt +opts to disallow actions which can leave the database in a corrupted state. The +only exception to this in Bolt is `DB.NoSync`. + +There are also a few differences in API. LMDB requires a maximum mmap size when +opening an `mdb_env` whereas Bolt will handle incremental mmap resizing +automatically. LMDB overloads the getter and setter functions with multiple +flags whereas Bolt splits these specialized cases into their own functions. + + +## Caveats & Limitations + +It's important to pick the right tool for the job and Bolt is no exception. +Here are a few things to note when evaluating and using Bolt: + +* Bolt is good for read intensive workloads. Sequential write performance is + also fast but random writes can be slow. You can use `DB.Batch()` or add a + write-ahead log to help mitigate this issue. + +* Bolt uses a B+tree internally so there can be a lot of random page access. + SSDs provide a significant performance boost over spinning disks. + +* Try to avoid long running read transactions. Bolt uses copy-on-write so + old pages cannot be reclaimed while an old transaction is using them. + +* Byte slices returned from Bolt are only valid during a transaction. Once the + transaction has been committed or rolled back then the memory they point to + can be reused by a new page or can be unmapped from virtual memory and you'll + see an `unexpected fault address` panic when accessing it. + +* Bolt uses an exclusive write lock on the database file so it cannot be + shared by multiple processes. + +* Be careful when using `Bucket.FillPercent`. Setting a high fill percent for + buckets that have random inserts will cause your database to have very poor + page utilization. + +* Use larger buckets in general. Smaller buckets causes poor page utilization + once they become larger than the page size (typically 4KB). + +* Bulk loading a lot of random writes into a new bucket can be slow as the + page will not split until the transaction is committed. Randomly inserting + more than 100,000 key/value pairs into a single new bucket in a single + transaction is not advised. + +* Bolt uses a memory-mapped file so the underlying operating system handles the + caching of the data. Typically, the OS will cache as much of the file as it + can in memory and will release memory as needed to other processes. This means + that Bolt can show very high memory usage when working with large databases. + However, this is expected and the OS will release memory as needed. Bolt can + handle databases much larger than the available physical RAM, provided its + memory-map fits in the process virtual address space. It may be problematic + on 32-bits systems. + +* The data structures in the Bolt database are memory mapped so the data file + will be endian specific. This means that you cannot copy a Bolt file from a + little endian machine to a big endian machine and have it work. For most + users this is not a concern since most modern CPUs are little endian. + +* Because of the way pages are laid out on disk, Bolt cannot truncate data files + and return free pages back to the disk. Instead, Bolt maintains a free list + of unused pages within its data file. These free pages can be reused by later + transactions. This works well for many use cases as databases generally tend + to grow. However, it's important to note that deleting large chunks of data + will not allow you to reclaim that space on disk. + + For more information on page allocation, [see this comment][page-allocation]. + +[page-allocation]: https://github.com/boltdb/bolt/issues/308#issuecomment-74811638 + + +## Reading the Source + +Bolt is a relatively small code base (<5KLOC) for an embedded, serializable, +transactional key/value database so it can be a good starting point for people +interested in how databases work. + +The best places to start are the main entry points into Bolt: + +- `Open()` - Initializes the reference to the database. It's responsible for + creating the database if it doesn't exist, obtaining an exclusive lock on the + file, reading the meta pages, & memory-mapping the file. + +- `DB.Begin()` - Starts a read-only or read-write transaction depending on the + value of the `writable` argument. This requires briefly obtaining the "meta" + lock to keep track of open transactions. Only one read-write transaction can + exist at a time so the "rwlock" is acquired during the life of a read-write + transaction. + +- `Bucket.Put()` - Writes a key/value pair into a bucket. After validating the + arguments, a cursor is used to traverse the B+tree to the page and position + where they key & value will be written. Once the position is found, the bucket + materializes the underlying page and the page's parent pages into memory as + "nodes". These nodes are where mutations occur during read-write transactions. + These changes get flushed to disk during commit. + +- `Bucket.Get()` - Retrieves a key/value pair from a bucket. This uses a cursor + to move to the page & position of a key/value pair. During a read-only + transaction, the key and value data is returned as a direct reference to the + underlying mmap file so there's no allocation overhead. For read-write + transactions, this data may reference the mmap file or one of the in-memory + node values. + +- `Cursor` - This object is simply for traversing the B+tree of on-disk pages + or in-memory nodes. It can seek to a specific key, move to the first or last + value, or it can move forward or backward. The cursor handles the movement up + and down the B+tree transparently to the end user. + +- `Tx.Commit()` - Converts the in-memory dirty nodes and the list of free pages + into pages to be written to disk. Writing to disk then occurs in two phases. + First, the dirty pages are written to disk and an `fsync()` occurs. Second, a + new meta page with an incremented transaction ID is written and another + `fsync()` occurs. This two phase write ensures that partially written data + pages are ignored in the event of a crash since the meta page pointing to them + is never written. Partially written meta pages are invalidated because they + are written with a checksum. + +If you have additional notes that could be helpful for others, please submit +them via pull request. + + +## Other Projects Using Bolt + +Below is a list of public, open source projects that use Bolt: + +* [Algernon](https://github.com/xyproto/algernon) - A HTTP/2 web server with built-in support for Lua. Uses BoltDB as the default database backend. +* [Bazil](https://bazil.org/) - A file system that lets your data reside where it is most convenient for it to reside. +* [bolter](https://github.com/hasit/bolter) - Command-line app for viewing BoltDB file in your terminal. +* [boltcli](https://github.com/spacewander/boltcli) - the redis-cli for boltdb with Lua script support. +* [BoltHold](https://github.com/timshannon/bolthold) - An embeddable NoSQL store for Go types built on BoltDB +* [BoltStore](https://github.com/yosssi/boltstore) - Session store using Bolt. +* [Boltdb Boilerplate](https://github.com/bobintornado/boltdb-boilerplate) - Boilerplate wrapper around bolt aiming to make simple calls one-liners. +* [BoltDbWeb](https://github.com/evnix/boltdbweb) - A web based GUI for BoltDB files. +* [bleve](http://www.blevesearch.com/) - A pure Go search engine similar to ElasticSearch that uses Bolt as the default storage backend. +* [btcwallet](https://github.com/btcsuite/btcwallet) - A bitcoin wallet. +* [buckets](https://github.com/joyrexus/buckets) - a bolt wrapper streamlining + simple tx and key scans. +* [cayley](https://github.com/google/cayley) - Cayley is an open-source graph database using Bolt as optional backend. +* [ChainStore](https://github.com/pressly/chainstore) - Simple key-value interface to a variety of storage engines organized as a chain of operations. +* [Consul](https://github.com/hashicorp/consul) - Consul is service discovery and configuration made easy. Distributed, highly available, and datacenter-aware. +* [DVID](https://github.com/janelia-flyem/dvid) - Added Bolt as optional storage engine and testing it against Basho-tuned leveldb. +* [dcrwallet](https://github.com/decred/dcrwallet) - A wallet for the Decred cryptocurrency. +* [drive](https://github.com/odeke-em/drive) - drive is an unofficial Google Drive command line client for \*NIX operating systems. +* [event-shuttle](https://github.com/sclasen/event-shuttle) - A Unix system service to collect and reliably deliver messages to Kafka. +* [Freehold](http://tshannon.bitbucket.org/freehold/) - An open, secure, and lightweight platform for your files and data. +* [Go Report Card](https://goreportcard.com/) - Go code quality report cards as a (free and open source) service. +* [GoWebApp](https://github.com/josephspurrier/gowebapp) - A basic MVC web application in Go using BoltDB. +* [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. +* [gopherpit](https://github.com/gopherpit/gopherpit) - A web service to manage Go remote import paths with custom domains +* [Gitchain](https://github.com/gitchain/gitchain) - Decentralized, peer-to-peer Git repositories aka "Git meets Bitcoin". +* [InfluxDB](https://influxdata.com) - Scalable datastore for metrics, events, and real-time analytics. +* [ipLocator](https://github.com/AndreasBriese/ipLocator) - A fast ip-geo-location-server using bolt with bloom filters. +* [ipxed](https://github.com/kelseyhightower/ipxed) - Web interface and api for ipxed. +* [Ironsmith](https://github.com/timshannon/ironsmith) - A simple, script-driven continuous integration (build - > test -> release) tool, with no external dependencies +* [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. +* [Key Value Access Langusge (KVAL)](https://github.com/kval-access-language) - A proposed grammar for key-value datastores offering a bbolt binding. +* [LedisDB](https://github.com/siddontang/ledisdb) - A high performance NoSQL, using Bolt as optional storage. +* [lru](https://github.com/crowdriff/lru) - Easy to use Bolt-backed Least-Recently-Used (LRU) read-through cache with chainable remote stores. +* [mbuckets](https://github.com/abhigupta912/mbuckets) - A Bolt wrapper that allows easy operations on multi level (nested) buckets. +* [MetricBase](https://github.com/msiebuhr/MetricBase) - Single-binary version of Graphite. +* [MuLiFS](https://github.com/dankomiocevic/mulifs) - Music Library Filesystem creates a filesystem to organise your music files. +* [Operation Go: A Routine Mission](http://gocode.io) - An online programming game for Golang using Bolt for user accounts and a leaderboard. +* [photosite/session](https://godoc.org/bitbucket.org/kardianos/photosite/session) - Sessions for a photo viewing site. +* [Prometheus Annotation Server](https://github.com/oliver006/prom_annotation_server) - Annotation server for PromDash & Prometheus service monitoring system. +* [reef-pi](https://github.com/reef-pi/reef-pi) - reef-pi is an award winning, modular, DIY reef tank controller using easy to learn electronics based on a Raspberry Pi. +* [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 +* [Seaweed File System](https://github.com/chrislusf/seaweedfs) - Highly scalable distributed key~file system with O(1) disk read. +* [stow](https://github.com/djherbis/stow) - a persistence manager for objects + backed by boltdb. +* [Storm](https://github.com/asdine/storm) - Simple and powerful ORM for BoltDB. +* [SimpleBolt](https://github.com/xyproto/simplebolt) - A simple way to use BoltDB. Deals mainly with strings. +* [Skybox Analytics](https://github.com/skybox/skybox) - A standalone funnel analysis tool for web analytics. +* [Scuttlebutt](https://github.com/benbjohnson/scuttlebutt) - Uses Bolt to store and process all Twitter mentions of GitHub projects. +* [tentacool](https://github.com/optiflows/tentacool) - REST api server to manage system stuff (IP, DNS, Gateway...) on a linux server. +* [torrent](https://github.com/anacrolix/torrent) - Full-featured BitTorrent client package and utilities in Go. BoltDB is a storage backend in development. +* [Wiki](https://github.com/peterhellberg/wiki) - A tiny wiki using Goji, BoltDB and Blackfriday. + +If you are using Bolt in a project please send a pull request to add it to the list. diff --git a/vendor/go.etcd.io/bbolt/bolt_386.go b/vendor/go.etcd.io/bbolt/bolt_386.go new file mode 100644 index 000000000..4d35ee7cf --- /dev/null +++ b/vendor/go.etcd.io/bbolt/bolt_386.go @@ -0,0 +1,10 @@ +package bbolt + +// maxMapSize represents the largest mmap size supported by Bolt. +const maxMapSize = 0x7FFFFFFF // 2GB + +// maxAllocSize is the size used when creating array pointers. +const maxAllocSize = 0xFFFFFFF + +// Are unaligned load/stores broken on this arch? +var brokenUnaligned = false diff --git a/vendor/go.etcd.io/bbolt/bolt_amd64.go b/vendor/go.etcd.io/bbolt/bolt_amd64.go new file mode 100644 index 000000000..60a52dad5 --- /dev/null +++ b/vendor/go.etcd.io/bbolt/bolt_amd64.go @@ -0,0 +1,10 @@ +package bbolt + +// maxMapSize represents the largest mmap size supported by Bolt. +const maxMapSize = 0xFFFFFFFFFFFF // 256TB + +// maxAllocSize is the size used when creating array pointers. +const maxAllocSize = 0x7FFFFFFF + +// Are unaligned load/stores broken on this arch? +var brokenUnaligned = false diff --git a/vendor/go.etcd.io/bbolt/bolt_arm.go b/vendor/go.etcd.io/bbolt/bolt_arm.go new file mode 100644 index 000000000..105d27ddb --- /dev/null +++ b/vendor/go.etcd.io/bbolt/bolt_arm.go @@ -0,0 +1,28 @@ +package bbolt + +import "unsafe" + +// maxMapSize represents the largest mmap size supported by Bolt. +const maxMapSize = 0x7FFFFFFF // 2GB + +// maxAllocSize is the size used when creating array pointers. +const maxAllocSize = 0xFFFFFFF + +// Are unaligned load/stores broken on this arch? +var brokenUnaligned bool + +func init() { + // Simple check to see whether this arch handles unaligned load/stores + // correctly. + + // ARM9 and older devices require load/stores to be from/to aligned + // addresses. If not, the lower 2 bits are cleared and that address is + // read in a jumbled up order. + + // See http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka15414.html + + raw := [6]byte{0xfe, 0xef, 0x11, 0x22, 0x22, 0x11} + val := *(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&raw)) + 2)) + + brokenUnaligned = val != 0x11222211 +} diff --git a/vendor/go.etcd.io/bbolt/bolt_arm64.go b/vendor/go.etcd.io/bbolt/bolt_arm64.go new file mode 100644 index 000000000..f5aa2a5ee --- /dev/null +++ b/vendor/go.etcd.io/bbolt/bolt_arm64.go @@ -0,0 +1,12 @@ +// +build arm64 + +package bbolt + +// maxMapSize represents the largest mmap size supported by Bolt. +const maxMapSize = 0xFFFFFFFFFFFF // 256TB + +// maxAllocSize is the size used when creating array pointers. +const maxAllocSize = 0x7FFFFFFF + +// Are unaligned load/stores broken on this arch? +var brokenUnaligned = false diff --git a/vendor/go.etcd.io/bbolt/bolt_linux.go b/vendor/go.etcd.io/bbolt/bolt_linux.go new file mode 100644 index 000000000..7707bcacf --- /dev/null +++ b/vendor/go.etcd.io/bbolt/bolt_linux.go @@ -0,0 +1,10 @@ +package bbolt + +import ( + "syscall" +) + +// fdatasync flushes written data to a file descriptor. +func fdatasync(db *DB) error { + return syscall.Fdatasync(int(db.file.Fd())) +} diff --git a/vendor/go.etcd.io/bbolt/bolt_mips64x.go b/vendor/go.etcd.io/bbolt/bolt_mips64x.go new file mode 100644 index 000000000..baeb289fd --- /dev/null +++ b/vendor/go.etcd.io/bbolt/bolt_mips64x.go @@ -0,0 +1,12 @@ +// +build mips64 mips64le + +package bbolt + +// maxMapSize represents the largest mmap size supported by Bolt. +const maxMapSize = 0x8000000000 // 512GB + +// maxAllocSize is the size used when creating array pointers. +const maxAllocSize = 0x7FFFFFFF + +// Are unaligned load/stores broken on this arch? +var brokenUnaligned = false diff --git a/vendor/go.etcd.io/bbolt/bolt_mipsx.go b/vendor/go.etcd.io/bbolt/bolt_mipsx.go new file mode 100644 index 000000000..2d9b1a91f --- /dev/null +++ b/vendor/go.etcd.io/bbolt/bolt_mipsx.go @@ -0,0 +1,12 @@ +// +build mips mipsle + +package bbolt + +// maxMapSize represents the largest mmap size supported by Bolt. +const maxMapSize = 0x40000000 // 1GB + +// maxAllocSize is the size used when creating array pointers. +const maxAllocSize = 0xFFFFFFF + +// Are unaligned load/stores broken on this arch? +var brokenUnaligned = false diff --git a/vendor/go.etcd.io/bbolt/bolt_openbsd.go b/vendor/go.etcd.io/bbolt/bolt_openbsd.go new file mode 100644 index 000000000..d7f50358e --- /dev/null +++ b/vendor/go.etcd.io/bbolt/bolt_openbsd.go @@ -0,0 +1,27 @@ +package bbolt + +import ( + "syscall" + "unsafe" +) + +const ( + msAsync = 1 << iota // perform asynchronous writes + msSync // perform synchronous writes + msInvalidate // invalidate cached data +) + +func msync(db *DB) error { + _, _, errno := syscall.Syscall(syscall.SYS_MSYNC, uintptr(unsafe.Pointer(db.data)), uintptr(db.datasz), msInvalidate) + if errno != 0 { + return errno + } + return nil +} + +func fdatasync(db *DB) error { + if db.data != nil { + return msync(db) + } + return db.file.Sync() +} diff --git a/vendor/go.etcd.io/bbolt/bolt_ppc.go b/vendor/go.etcd.io/bbolt/bolt_ppc.go new file mode 100644 index 000000000..69804714a --- /dev/null +++ b/vendor/go.etcd.io/bbolt/bolt_ppc.go @@ -0,0 +1,12 @@ +// +build ppc + +package bbolt + +// maxMapSize represents the largest mmap size supported by Bolt. +const maxMapSize = 0x7FFFFFFF // 2GB + +// maxAllocSize is the size used when creating array pointers. +const maxAllocSize = 0xFFFFFFF + +// Are unaligned load/stores broken on this arch? +var brokenUnaligned = false diff --git a/vendor/go.etcd.io/bbolt/bolt_ppc64.go b/vendor/go.etcd.io/bbolt/bolt_ppc64.go new file mode 100644 index 000000000..356590857 --- /dev/null +++ b/vendor/go.etcd.io/bbolt/bolt_ppc64.go @@ -0,0 +1,12 @@ +// +build ppc64 + +package bbolt + +// maxMapSize represents the largest mmap size supported by Bolt. +const maxMapSize = 0xFFFFFFFFFFFF // 256TB + +// maxAllocSize is the size used when creating array pointers. +const maxAllocSize = 0x7FFFFFFF + +// Are unaligned load/stores broken on this arch? +var brokenUnaligned = false diff --git a/vendor/go.etcd.io/bbolt/bolt_ppc64le.go b/vendor/go.etcd.io/bbolt/bolt_ppc64le.go new file mode 100644 index 000000000..422c7c69d --- /dev/null +++ b/vendor/go.etcd.io/bbolt/bolt_ppc64le.go @@ -0,0 +1,12 @@ +// +build ppc64le + +package bbolt + +// maxMapSize represents the largest mmap size supported by Bolt. +const maxMapSize = 0xFFFFFFFFFFFF // 256TB + +// maxAllocSize is the size used when creating array pointers. +const maxAllocSize = 0x7FFFFFFF + +// Are unaligned load/stores broken on this arch? +var brokenUnaligned = false diff --git a/vendor/go.etcd.io/bbolt/bolt_s390x.go b/vendor/go.etcd.io/bbolt/bolt_s390x.go new file mode 100644 index 000000000..6d3fcb825 --- /dev/null +++ b/vendor/go.etcd.io/bbolt/bolt_s390x.go @@ -0,0 +1,12 @@ +// +build s390x + +package bbolt + +// maxMapSize represents the largest mmap size supported by Bolt. +const maxMapSize = 0xFFFFFFFFFFFF // 256TB + +// maxAllocSize is the size used when creating array pointers. +const maxAllocSize = 0x7FFFFFFF + +// Are unaligned load/stores broken on this arch? +var brokenUnaligned = false diff --git a/vendor/go.etcd.io/bbolt/bolt_unix.go b/vendor/go.etcd.io/bbolt/bolt_unix.go new file mode 100644 index 000000000..5f2bb5145 --- /dev/null +++ b/vendor/go.etcd.io/bbolt/bolt_unix.go @@ -0,0 +1,93 @@ +// +build !windows,!plan9,!solaris + +package bbolt + +import ( + "fmt" + "syscall" + "time" + "unsafe" +) + +// flock acquires an advisory lock on a file descriptor. +func flock(db *DB, exclusive bool, timeout time.Duration) error { + var t time.Time + if timeout != 0 { + t = time.Now() + } + fd := db.file.Fd() + flag := syscall.LOCK_NB + if exclusive { + flag |= syscall.LOCK_EX + } else { + flag |= syscall.LOCK_SH + } + for { + // Attempt to obtain an exclusive lock. + err := syscall.Flock(int(fd), flag) + if err == nil { + return nil + } else if err != syscall.EWOULDBLOCK { + return err + } + + // If we timed out then return an error. + if timeout != 0 && time.Since(t) > timeout-flockRetryTimeout { + return ErrTimeout + } + + // Wait for a bit and try again. + time.Sleep(flockRetryTimeout) + } +} + +// funlock releases an advisory lock on a file descriptor. +func funlock(db *DB) error { + return syscall.Flock(int(db.file.Fd()), syscall.LOCK_UN) +} + +// mmap memory maps a DB's data file. +func mmap(db *DB, sz int) error { + // Map the data file to memory. + b, err := syscall.Mmap(int(db.file.Fd()), 0, sz, syscall.PROT_READ, syscall.MAP_SHARED|db.MmapFlags) + if err != nil { + return err + } + + // Advise the kernel that the mmap is accessed randomly. + err = madvise(b, syscall.MADV_RANDOM) + if err != nil && err != syscall.ENOSYS { + // Ignore not implemented error in kernel because it still works. + return fmt.Errorf("madvise: %s", err) + } + + // Save the original byte slice and convert to a byte array pointer. + db.dataref = b + db.data = (*[maxMapSize]byte)(unsafe.Pointer(&b[0])) + db.datasz = sz + return nil +} + +// munmap unmaps a DB's data file from memory. +func munmap(db *DB) error { + // Ignore the unmap if we have no mapped data. + if db.dataref == nil { + return nil + } + + // Unmap using the original byte slice. + err := syscall.Munmap(db.dataref) + db.dataref = nil + db.data = nil + db.datasz = 0 + return err +} + +// NOTE: This function is copied from stdlib because it is not available on darwin. +func madvise(b []byte, advice int) (err error) { + _, _, e1 := syscall.Syscall(syscall.SYS_MADVISE, uintptr(unsafe.Pointer(&b[0])), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = e1 + } + return +} diff --git a/vendor/go.etcd.io/bbolt/bolt_unix_solaris.go b/vendor/go.etcd.io/bbolt/bolt_unix_solaris.go new file mode 100644 index 000000000..babad6578 --- /dev/null +++ b/vendor/go.etcd.io/bbolt/bolt_unix_solaris.go @@ -0,0 +1,88 @@ +package bbolt + +import ( + "fmt" + "syscall" + "time" + "unsafe" + + "golang.org/x/sys/unix" +) + +// flock acquires an advisory lock on a file descriptor. +func flock(db *DB, exclusive bool, timeout time.Duration) error { + var t time.Time + if timeout != 0 { + t = time.Now() + } + fd := db.file.Fd() + var lockType int16 + if exclusive { + lockType = syscall.F_WRLCK + } else { + lockType = syscall.F_RDLCK + } + for { + // Attempt to obtain an exclusive lock. + lock := syscall.Flock_t{Type: lockType} + err := syscall.FcntlFlock(fd, syscall.F_SETLK, &lock) + if err == nil { + return nil + } else if err != syscall.EAGAIN { + return err + } + + // If we timed out then return an error. + if timeout != 0 && time.Since(t) > timeout-flockRetryTimeout { + return ErrTimeout + } + + // Wait for a bit and try again. + time.Sleep(flockRetryTimeout) + } +} + +// funlock releases an advisory lock on a file descriptor. +func funlock(db *DB) error { + var lock syscall.Flock_t + lock.Start = 0 + lock.Len = 0 + lock.Type = syscall.F_UNLCK + lock.Whence = 0 + return syscall.FcntlFlock(uintptr(db.file.Fd()), syscall.F_SETLK, &lock) +} + +// mmap memory maps a DB's data file. +func mmap(db *DB, sz int) error { + // Map the data file to memory. + b, err := unix.Mmap(int(db.file.Fd()), 0, sz, syscall.PROT_READ, syscall.MAP_SHARED|db.MmapFlags) + if err != nil { + return err + } + + // Advise the kernel that the mmap is accessed randomly. + if err := unix.Madvise(b, syscall.MADV_RANDOM); err != nil { + return fmt.Errorf("madvise: %s", err) + } + + // Save the original byte slice and convert to a byte array pointer. + db.dataref = b + db.data = (*[maxMapSize]byte)(unsafe.Pointer(&b[0])) + db.datasz = sz + return nil +} + +// munmap unmaps a DB's data file from memory. +func munmap(db *DB) error { + // Ignore the unmap if we have no mapped data. + if db.dataref == nil { + return nil + } + + // Unmap using the original byte slice. + err := unix.Munmap(db.dataref) + db.dataref = nil + db.data = nil + db.datasz = 0 + return err +} diff --git a/vendor/go.etcd.io/bbolt/bolt_windows.go b/vendor/go.etcd.io/bbolt/bolt_windows.go new file mode 100644 index 000000000..fca178bd2 --- /dev/null +++ b/vendor/go.etcd.io/bbolt/bolt_windows.go @@ -0,0 +1,141 @@ +package bbolt + +import ( + "fmt" + "os" + "syscall" + "time" + "unsafe" +) + +// LockFileEx code derived from golang build filemutex_windows.go @ v1.5.1 +var ( + modkernel32 = syscall.NewLazyDLL("kernel32.dll") + procLockFileEx = modkernel32.NewProc("LockFileEx") + procUnlockFileEx = modkernel32.NewProc("UnlockFileEx") +) + +const ( + // see https://msdn.microsoft.com/en-us/library/windows/desktop/aa365203(v=vs.85).aspx + flagLockExclusive = 2 + flagLockFailImmediately = 1 + + // see https://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx + errLockViolation syscall.Errno = 0x21 +) + +func lockFileEx(h syscall.Handle, flags, reserved, locklow, lockhigh uint32, ol *syscall.Overlapped) (err error) { + r, _, err := procLockFileEx.Call(uintptr(h), uintptr(flags), uintptr(reserved), uintptr(locklow), uintptr(lockhigh), uintptr(unsafe.Pointer(ol))) + if r == 0 { + return err + } + return nil +} + +func unlockFileEx(h syscall.Handle, reserved, locklow, lockhigh uint32, ol *syscall.Overlapped) (err error) { + r, _, err := procUnlockFileEx.Call(uintptr(h), uintptr(reserved), uintptr(locklow), uintptr(lockhigh), uintptr(unsafe.Pointer(ol)), 0) + if r == 0 { + return err + } + return nil +} + +// fdatasync flushes written data to a file descriptor. +func fdatasync(db *DB) error { + return db.file.Sync() +} + +// flock acquires an advisory lock on a file descriptor. +func flock(db *DB, exclusive bool, timeout time.Duration) error { + var t time.Time + if timeout != 0 { + t = time.Now() + } + var flag uint32 = flagLockFailImmediately + if exclusive { + flag |= flagLockExclusive + } + for { + // Fix for https://github.com/etcd-io/bbolt/issues/121. Use byte-range + // -1..0 as the lock on the database file. + var m1 uint32 = (1 << 32) - 1 // -1 in a uint32 + err := lockFileEx(syscall.Handle(db.file.Fd()), flag, 0, 1, 0, &syscall.Overlapped{ + Offset: m1, + OffsetHigh: m1, + }) + + if err == nil { + return nil + } else if err != errLockViolation { + return err + } + + // If we timed oumercit then return an error. + if timeout != 0 && time.Since(t) > timeout-flockRetryTimeout { + return ErrTimeout + } + + // Wait for a bit and try again. + time.Sleep(flockRetryTimeout) + } +} + +// funlock releases an advisory lock on a file descriptor. +func funlock(db *DB) error { + var m1 uint32 = (1 << 32) - 1 // -1 in a uint32 + err := unlockFileEx(syscall.Handle(db.file.Fd()), 0, 1, 0, &syscall.Overlapped{ + Offset: m1, + OffsetHigh: m1, + }) + return err +} + +// mmap memory maps a DB's data file. +// Based on: https://github.com/edsrzf/mmap-go +func mmap(db *DB, sz int) error { + if !db.readOnly { + // Truncate the database to the size of the mmap. + if err := db.file.Truncate(int64(sz)); err != nil { + return fmt.Errorf("truncate: %s", err) + } + } + + // Open a file mapping handle. + sizelo := uint32(sz >> 32) + sizehi := uint32(sz) & 0xffffffff + h, errno := syscall.CreateFileMapping(syscall.Handle(db.file.Fd()), nil, syscall.PAGE_READONLY, sizelo, sizehi, nil) + if h == 0 { + return os.NewSyscallError("CreateFileMapping", errno) + } + + // Create the memory map. + addr, errno := syscall.MapViewOfFile(h, syscall.FILE_MAP_READ, 0, 0, uintptr(sz)) + if addr == 0 { + return os.NewSyscallError("MapViewOfFile", errno) + } + + // Close mapping handle. + if err := syscall.CloseHandle(syscall.Handle(h)); err != nil { + return os.NewSyscallError("CloseHandle", err) + } + + // Convert to a byte array. + db.data = ((*[maxMapSize]byte)(unsafe.Pointer(addr))) + db.datasz = sz + + return nil +} + +// munmap unmaps a pointer from a file. +// Based on: https://github.com/edsrzf/mmap-go +func munmap(db *DB) error { + if db.data == nil { + return nil + } + + addr := (uintptr)(unsafe.Pointer(&db.data[0])) + if err := syscall.UnmapViewOfFile(addr); err != nil { + return os.NewSyscallError("UnmapViewOfFile", err) + } + return nil +} diff --git a/vendor/go.etcd.io/bbolt/boltsync_unix.go b/vendor/go.etcd.io/bbolt/boltsync_unix.go new file mode 100644 index 000000000..9587afefe --- /dev/null +++ b/vendor/go.etcd.io/bbolt/boltsync_unix.go @@ -0,0 +1,8 @@ +// +build !windows,!plan9,!linux,!openbsd + +package bbolt + +// fdatasync flushes written data to a file descriptor. +func fdatasync(db *DB) error { + return db.file.Sync() +} diff --git a/vendor/go.etcd.io/bbolt/bucket.go b/vendor/go.etcd.io/bbolt/bucket.go new file mode 100644 index 000000000..84bfd4d6a --- /dev/null +++ b/vendor/go.etcd.io/bbolt/bucket.go @@ -0,0 +1,775 @@ +package bbolt + +import ( + "bytes" + "fmt" + "unsafe" +) + +const ( + // MaxKeySize is the maximum length of a key, in bytes. + MaxKeySize = 32768 + + // MaxValueSize is the maximum length of a value, in bytes. + MaxValueSize = (1 << 31) - 2 +) + +const bucketHeaderSize = int(unsafe.Sizeof(bucket{})) + +const ( + minFillPercent = 0.1 + maxFillPercent = 1.0 +) + +// DefaultFillPercent is the percentage that split pages are filled. +// This value can be changed by setting Bucket.FillPercent. +const DefaultFillPercent = 0.5 + +// Bucket represents a collection of key/value pairs inside the database. +type Bucket struct { + *bucket + tx *Tx // the associated transaction + buckets map[string]*Bucket // subbucket cache + page *page // inline page reference + rootNode *node // materialized node for the root page. + nodes map[pgid]*node // node cache + + // Sets the threshold for filling nodes when they split. By default, + // the bucket will fill to 50% but it can be useful to increase this + // amount if you know that your write workloads are mostly append-only. + // + // This is non-persisted across transactions so it must be set in every Tx. + FillPercent float64 +} + +// bucket represents the on-file representation of a bucket. +// This is stored as the "value" of a bucket key. If the bucket is small enough, +// then its root page can be stored inline in the "value", after the bucket +// header. In the case of inline buckets, the "root" will be 0. +type bucket struct { + root pgid // page id of the bucket's root-level page + sequence uint64 // monotonically incrementing, used by NextSequence() +} + +// newBucket returns a new bucket associated with a transaction. +func newBucket(tx *Tx) Bucket { + var b = Bucket{tx: tx, FillPercent: DefaultFillPercent} + if tx.writable { + b.buckets = make(map[string]*Bucket) + b.nodes = make(map[pgid]*node) + } + return b +} + +// Tx returns the tx of the bucket. +func (b *Bucket) Tx() *Tx { + return b.tx +} + +// Root returns the root of the bucket. +func (b *Bucket) Root() pgid { + return b.root +} + +// Writable returns whether the bucket is writable. +func (b *Bucket) Writable() bool { + return b.tx.writable +} + +// Cursor creates a cursor associated with the bucket. +// The cursor is only valid as long as the transaction is open. +// Do not use a cursor after the transaction is closed. +func (b *Bucket) Cursor() *Cursor { + // Update transaction statistics. + b.tx.stats.CursorCount++ + + // Allocate and return a cursor. + return &Cursor{ + bucket: b, + stack: make([]elemRef, 0), + } +} + +// Bucket retrieves a nested bucket by name. +// Returns nil if the bucket does not exist. +// The bucket instance is only valid for the lifetime of the transaction. +func (b *Bucket) Bucket(name []byte) *Bucket { + if b.buckets != nil { + if child := b.buckets[string(name)]; child != nil { + return child + } + } + + // Move cursor to key. + c := b.Cursor() + k, v, flags := c.seek(name) + + // Return nil if the key doesn't exist or it is not a bucket. + if !bytes.Equal(name, k) || (flags&bucketLeafFlag) == 0 { + return nil + } + + // Otherwise create a bucket and cache it. + var child = b.openBucket(v) + if b.buckets != nil { + b.buckets[string(name)] = child + } + + return child +} + +// Helper method that re-interprets a sub-bucket value +// from a parent into a Bucket +func (b *Bucket) openBucket(value []byte) *Bucket { + var child = newBucket(b.tx) + + // If unaligned load/stores are broken on this arch and value is + // unaligned simply clone to an aligned byte array. + unaligned := brokenUnaligned && uintptr(unsafe.Pointer(&value[0]))&3 != 0 + + if unaligned { + value = cloneBytes(value) + } + + // If this is a writable transaction then we need to copy the bucket entry. + // Read-only transactions can point directly at the mmap entry. + if b.tx.writable && !unaligned { + child.bucket = &bucket{} + *child.bucket = *(*bucket)(unsafe.Pointer(&value[0])) + } else { + child.bucket = (*bucket)(unsafe.Pointer(&value[0])) + } + + // Save a reference to the inline page if the bucket is inline. + if child.root == 0 { + child.page = (*page)(unsafe.Pointer(&value[bucketHeaderSize])) + } + + return &child +} + +// CreateBucket creates a new bucket at the given key and returns the new bucket. +// Returns an error if the key already exists, if the bucket name is blank, or if the bucket name is too long. +// The bucket instance is only valid for the lifetime of the transaction. +func (b *Bucket) CreateBucket(key []byte) (*Bucket, error) { + if b.tx.db == nil { + return nil, ErrTxClosed + } else if !b.tx.writable { + return nil, ErrTxNotWritable + } else if len(key) == 0 { + return nil, ErrBucketNameRequired + } + + // Move cursor to correct position. + c := b.Cursor() + k, _, flags := c.seek(key) + + // Return an error if there is an existing key. + if bytes.Equal(key, k) { + if (flags & bucketLeafFlag) != 0 { + return nil, ErrBucketExists + } + return nil, ErrIncompatibleValue + } + + // Create empty, inline bucket. + var bucket = Bucket{ + bucket: &bucket{}, + rootNode: &node{isLeaf: true}, + FillPercent: DefaultFillPercent, + } + var value = bucket.write() + + // Insert into node. + key = cloneBytes(key) + c.node().put(key, key, value, 0, bucketLeafFlag) + + // Since subbuckets are not allowed on inline buckets, we need to + // dereference the inline page, if it exists. This will cause the bucket + // to be treated as a regular, non-inline bucket for the rest of the tx. + b.page = nil + + return b.Bucket(key), nil +} + +// CreateBucketIfNotExists creates a new bucket if it doesn't already exist and returns a reference to it. +// Returns an error if the bucket name is blank, or if the bucket name is too long. +// The bucket instance is only valid for the lifetime of the transaction. +func (b *Bucket) CreateBucketIfNotExists(key []byte) (*Bucket, error) { + child, err := b.CreateBucket(key) + if err == ErrBucketExists { + return b.Bucket(key), nil + } else if err != nil { + return nil, err + } + return child, nil +} + +// DeleteBucket deletes a bucket at the given key. +// Returns an error if the bucket does not exists, or if the key represents a non-bucket value. +func (b *Bucket) DeleteBucket(key []byte) error { + if b.tx.db == nil { + return ErrTxClosed + } else if !b.Writable() { + return ErrTxNotWritable + } + + // Move cursor to correct position. + c := b.Cursor() + k, _, flags := c.seek(key) + + // Return an error if bucket doesn't exist or is not a bucket. + if !bytes.Equal(key, k) { + return ErrBucketNotFound + } else if (flags & bucketLeafFlag) == 0 { + return ErrIncompatibleValue + } + + // Recursively delete all child buckets. + child := b.Bucket(key) + err := child.ForEach(func(k, v []byte) error { + if v == nil { + if err := child.DeleteBucket(k); err != nil { + return fmt.Errorf("delete bucket: %s", err) + } + } + return nil + }) + if err != nil { + return err + } + + // Remove cached copy. + delete(b.buckets, string(key)) + + // Release all bucket pages to freelist. + child.nodes = nil + child.rootNode = nil + child.free() + + // Delete the node if we have a matching key. + c.node().del(key) + + return nil +} + +// Get retrieves the value for a key in the bucket. +// Returns a nil value if the key does not exist or if the key is a nested bucket. +// The returned value is only valid for the life of the transaction. +func (b *Bucket) Get(key []byte) []byte { + k, v, flags := b.Cursor().seek(key) + + // Return nil if this is a bucket. + if (flags & bucketLeafFlag) != 0 { + return nil + } + + // If our target node isn't the same key as what's passed in then return nil. + if !bytes.Equal(key, k) { + return nil + } + return v +} + +// Put sets the value for a key in the bucket. +// If the key exist then its previous value will be overwritten. +// Supplied value must remain valid for the life of the transaction. +// 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. +func (b *Bucket) Put(key []byte, value []byte) error { + if b.tx.db == nil { + return ErrTxClosed + } else if !b.Writable() { + return ErrTxNotWritable + } else if len(key) == 0 { + return ErrKeyRequired + } else if len(key) > MaxKeySize { + return ErrKeyTooLarge + } else if int64(len(value)) > MaxValueSize { + return ErrValueTooLarge + } + + // Move cursor to correct position. + c := b.Cursor() + k, _, flags := c.seek(key) + + // Return an error if there is an existing key with a bucket value. + if bytes.Equal(key, k) && (flags&bucketLeafFlag) != 0 { + return ErrIncompatibleValue + } + + // Insert into node. + key = cloneBytes(key) + c.node().put(key, key, value, 0, 0) + + return nil +} + +// Delete removes a key from the bucket. +// If the key does not exist then nothing is done and a nil error is returned. +// Returns an error if the bucket was created from a read-only transaction. +func (b *Bucket) Delete(key []byte) error { + if b.tx.db == nil { + return ErrTxClosed + } else if !b.Writable() { + return ErrTxNotWritable + } + + // Move cursor to correct position. + c := b.Cursor() + k, _, flags := c.seek(key) + + // Return nil if the key doesn't exist. + if !bytes.Equal(key, k) { + return nil + } + + // Return an error if there is already existing bucket value. + if (flags & bucketLeafFlag) != 0 { + return ErrIncompatibleValue + } + + // Delete the node if we have a matching key. + c.node().del(key) + + return nil +} + +// Sequence returns the current integer for the bucket without incrementing it. +func (b *Bucket) Sequence() uint64 { return b.bucket.sequence } + +// SetSequence updates the sequence number for the bucket. +func (b *Bucket) SetSequence(v uint64) error { + if b.tx.db == nil { + return ErrTxClosed + } else if !b.Writable() { + return ErrTxNotWritable + } + + // Materialize the root node if it hasn't been already so that the + // bucket will be saved during commit. + if b.rootNode == nil { + _ = b.node(b.root, nil) + } + + // Increment and return the sequence. + b.bucket.sequence = v + return nil +} + +// NextSequence returns an autoincrementing integer for the bucket. +func (b *Bucket) NextSequence() (uint64, error) { + if b.tx.db == nil { + return 0, ErrTxClosed + } else if !b.Writable() { + return 0, ErrTxNotWritable + } + + // Materialize the root node if it hasn't been already so that the + // bucket will be saved during commit. + if b.rootNode == nil { + _ = b.node(b.root, nil) + } + + // Increment and return the sequence. + b.bucket.sequence++ + return b.bucket.sequence, nil +} + +// ForEach executes a function for each key/value pair in a bucket. +// If the provided function returns an error then the iteration is stopped and +// the error is returned to the caller. The provided function must not modify +// the bucket; this will result in undefined behavior. +func (b *Bucket) ForEach(fn func(k, v []byte) error) error { + if b.tx.db == nil { + return ErrTxClosed + } + c := b.Cursor() + for k, v := c.First(); k != nil; k, v = c.Next() { + if err := fn(k, v); err != nil { + return err + } + } + return nil +} + +// Stat returns stats on a bucket. +func (b *Bucket) Stats() BucketStats { + var s, subStats BucketStats + pageSize := b.tx.db.pageSize + s.BucketN += 1 + if b.root == 0 { + s.InlineBucketN += 1 + } + b.forEachPage(func(p *page, depth int) { + if (p.flags & leafPageFlag) != 0 { + s.KeyN += int(p.count) + + // used totals the used bytes for the page + used := pageHeaderSize + + if p.count != 0 { + // If page has any elements, add all element headers. + used += leafPageElementSize * int(p.count-1) + + // Add all element key, value sizes. + // The computation takes advantage of the fact that the position + // of the last element's key/value equals to the total of the sizes + // of all previous elements' keys and values. + // It also includes the last element's header. + lastElement := p.leafPageElement(p.count - 1) + used += int(lastElement.pos + lastElement.ksize + lastElement.vsize) + } + + if b.root == 0 { + // For inlined bucket just update the inline stats + s.InlineBucketInuse += used + } else { + // For non-inlined bucket update all the leaf stats + s.LeafPageN++ + s.LeafInuse += used + s.LeafOverflowN += int(p.overflow) + + // Collect stats from sub-buckets. + // Do that by iterating over all element headers + // looking for the ones with the bucketLeafFlag. + for i := uint16(0); i < p.count; i++ { + e := p.leafPageElement(i) + if (e.flags & bucketLeafFlag) != 0 { + // For any bucket element, open the element value + // and recursively call Stats on the contained bucket. + subStats.Add(b.openBucket(e.value()).Stats()) + } + } + } + } else if (p.flags & branchPageFlag) != 0 { + s.BranchPageN++ + lastElement := p.branchPageElement(p.count - 1) + + // used totals the used bytes for the page + // Add header and all element headers. + used := pageHeaderSize + (branchPageElementSize * int(p.count-1)) + + // Add size of all keys and values. + // Again, use the fact that last element's position equals to + // the total of key, value sizes of all previous elements. + used += int(lastElement.pos + lastElement.ksize) + s.BranchInuse += used + s.BranchOverflowN += int(p.overflow) + } + + // Keep track of maximum page depth. + if depth+1 > s.Depth { + s.Depth = (depth + 1) + } + }) + + // Alloc stats can be computed from page counts and pageSize. + s.BranchAlloc = (s.BranchPageN + s.BranchOverflowN) * pageSize + s.LeafAlloc = (s.LeafPageN + s.LeafOverflowN) * pageSize + + // Add the max depth of sub-buckets to get total nested depth. + s.Depth += subStats.Depth + // Add the stats for all sub-buckets + s.Add(subStats) + return s +} + +// forEachPage iterates over every page in a bucket, including inline pages. +func (b *Bucket) forEachPage(fn func(*page, int)) { + // If we have an inline page then just use that. + if b.page != nil { + fn(b.page, 0) + return + } + + // Otherwise traverse the page hierarchy. + b.tx.forEachPage(b.root, 0, fn) +} + +// forEachPageNode iterates over every page (or node) in a bucket. +// This also includes inline pages. +func (b *Bucket) forEachPageNode(fn func(*page, *node, int)) { + // If we have an inline page or root node then just use that. + if b.page != nil { + fn(b.page, nil, 0) + return + } + b._forEachPageNode(b.root, 0, fn) +} + +func (b *Bucket) _forEachPageNode(pgid pgid, depth int, fn func(*page, *node, int)) { + var p, n = b.pageNode(pgid) + + // Execute function. + fn(p, n, depth) + + // Recursively loop over children. + if p != nil { + if (p.flags & branchPageFlag) != 0 { + for i := 0; i < int(p.count); i++ { + elem := p.branchPageElement(uint16(i)) + b._forEachPageNode(elem.pgid, depth+1, fn) + } + } + } else { + if !n.isLeaf { + for _, inode := range n.inodes { + b._forEachPageNode(inode.pgid, depth+1, fn) + } + } + } +} + +// spill writes all the nodes for this bucket to dirty pages. +func (b *Bucket) spill() error { + // Spill all child buckets first. + for name, child := range b.buckets { + // If the child bucket is small enough and it has no child buckets then + // write it inline into the parent bucket's page. Otherwise spill it + // like a normal bucket and make the parent value a pointer to the page. + var value []byte + if child.inlineable() { + child.free() + value = child.write() + } else { + if err := child.spill(); err != nil { + return err + } + + // Update the child bucket header in this bucket. + value = make([]byte, unsafe.Sizeof(bucket{})) + var bucket = (*bucket)(unsafe.Pointer(&value[0])) + *bucket = *child.bucket + } + + // Skip writing the bucket if there are no materialized nodes. + if child.rootNode == nil { + continue + } + + // Update parent node. + var c = b.Cursor() + k, _, flags := c.seek([]byte(name)) + if !bytes.Equal([]byte(name), k) { + panic(fmt.Sprintf("misplaced bucket header: %x -> %x", []byte(name), k)) + } + if flags&bucketLeafFlag == 0 { + panic(fmt.Sprintf("unexpected bucket header flag: %x", flags)) + } + c.node().put([]byte(name), []byte(name), value, 0, bucketLeafFlag) + } + + // Ignore if there's not a materialized root node. + if b.rootNode == nil { + return nil + } + + // Spill nodes. + if err := b.rootNode.spill(); err != nil { + return err + } + b.rootNode = b.rootNode.root() + + // Update the root node for this bucket. + if b.rootNode.pgid >= b.tx.meta.pgid { + panic(fmt.Sprintf("pgid (%d) above high water mark (%d)", b.rootNode.pgid, b.tx.meta.pgid)) + } + b.root = b.rootNode.pgid + + return nil +} + +// inlineable returns true if a bucket is small enough to be written inline +// and if it contains no subbuckets. Otherwise returns false. +func (b *Bucket) inlineable() bool { + var n = b.rootNode + + // Bucket must only contain a single leaf node. + if n == nil || !n.isLeaf { + return false + } + + // Bucket is not inlineable if it contains subbuckets or if it goes beyond + // our threshold for inline bucket size. + var size = pageHeaderSize + for _, inode := range n.inodes { + size += leafPageElementSize + len(inode.key) + len(inode.value) + + if inode.flags&bucketLeafFlag != 0 { + return false + } else if size > b.maxInlineBucketSize() { + return false + } + } + + return true +} + +// Returns the maximum total size of a bucket to make it a candidate for inlining. +func (b *Bucket) maxInlineBucketSize() int { + return b.tx.db.pageSize / 4 +} + +// write allocates and writes a bucket to a byte slice. +func (b *Bucket) write() []byte { + // Allocate the appropriate size. + var n = b.rootNode + var value = make([]byte, bucketHeaderSize+n.size()) + + // Write a bucket header. + var bucket = (*bucket)(unsafe.Pointer(&value[0])) + *bucket = *b.bucket + + // Convert byte slice to a fake page and write the root node. + var p = (*page)(unsafe.Pointer(&value[bucketHeaderSize])) + n.write(p) + + return value +} + +// rebalance attempts to balance all nodes. +func (b *Bucket) rebalance() { + for _, n := range b.nodes { + n.rebalance() + } + for _, child := range b.buckets { + child.rebalance() + } +} + +// node creates a node from a page and associates it with a given parent. +func (b *Bucket) node(pgid pgid, parent *node) *node { + _assert(b.nodes != nil, "nodes map expected") + + // Retrieve node if it's already been created. + if n := b.nodes[pgid]; n != nil { + return n + } + + // Otherwise create a node and cache it. + n := &node{bucket: b, parent: parent} + if parent == nil { + b.rootNode = n + } else { + parent.children = append(parent.children, n) + } + + // Use the inline page if this is an inline bucket. + var p = b.page + if p == nil { + p = b.tx.page(pgid) + } + + // Read the page into the node and cache it. + n.read(p) + b.nodes[pgid] = n + + // Update statistics. + b.tx.stats.NodeCount++ + + return n +} + +// free recursively frees all pages in the bucket. +func (b *Bucket) free() { + if b.root == 0 { + return + } + + var tx = b.tx + b.forEachPageNode(func(p *page, n *node, _ int) { + if p != nil { + tx.db.freelist.free(tx.meta.txid, p) + } else { + n.free() + } + }) + b.root = 0 +} + +// dereference removes all references to the old mmap. +func (b *Bucket) dereference() { + if b.rootNode != nil { + b.rootNode.root().dereference() + } + + for _, child := range b.buckets { + child.dereference() + } +} + +// pageNode returns the in-memory node, if it exists. +// Otherwise returns the underlying page. +func (b *Bucket) pageNode(id pgid) (*page, *node) { + // Inline buckets have a fake page embedded in their value so treat them + // differently. We'll return the rootNode (if available) or the fake page. + if b.root == 0 { + if id != 0 { + panic(fmt.Sprintf("inline bucket non-zero page access(2): %d != 0", id)) + } + if b.rootNode != nil { + return nil, b.rootNode + } + return b.page, nil + } + + // Check the node cache for non-inline buckets. + if b.nodes != nil { + if n := b.nodes[id]; n != nil { + return nil, n + } + } + + // Finally lookup the page from the transaction if no node is materialized. + return b.tx.page(id), nil +} + +// BucketStats records statistics about resources used by a bucket. +type BucketStats struct { + // Page count statistics. + BranchPageN int // number of logical branch pages + BranchOverflowN int // number of physical branch overflow pages + LeafPageN int // number of logical leaf pages + LeafOverflowN int // number of physical leaf overflow pages + + // Tree statistics. + KeyN int // number of keys/value pairs + Depth int // number of levels in B+tree + + // Page size utilization. + BranchAlloc int // bytes allocated for physical branch pages + BranchInuse int // bytes actually used for branch data + LeafAlloc int // bytes allocated for physical leaf pages + LeafInuse int // bytes actually used for leaf data + + // Bucket statistics + BucketN int // total number of buckets including the top bucket + InlineBucketN int // total number on inlined buckets + InlineBucketInuse int // bytes used for inlined buckets (also accounted for in LeafInuse) +} + +func (s *BucketStats) Add(other BucketStats) { + s.BranchPageN += other.BranchPageN + s.BranchOverflowN += other.BranchOverflowN + s.LeafPageN += other.LeafPageN + s.LeafOverflowN += other.LeafOverflowN + s.KeyN += other.KeyN + if s.Depth < other.Depth { + s.Depth = other.Depth + } + s.BranchAlloc += other.BranchAlloc + s.BranchInuse += other.BranchInuse + s.LeafAlloc += other.LeafAlloc + s.LeafInuse += other.LeafInuse + + s.BucketN += other.BucketN + s.InlineBucketN += other.InlineBucketN + s.InlineBucketInuse += other.InlineBucketInuse +} + +// cloneBytes returns a copy of a given slice. +func cloneBytes(v []byte) []byte { + var clone = make([]byte, len(v)) + copy(clone, v) + return clone +} diff --git a/vendor/go.etcd.io/bbolt/cursor.go b/vendor/go.etcd.io/bbolt/cursor.go new file mode 100644 index 000000000..3000aced6 --- /dev/null +++ b/vendor/go.etcd.io/bbolt/cursor.go @@ -0,0 +1,396 @@ +package bbolt + +import ( + "bytes" + "fmt" + "sort" +) + +// Cursor represents an iterator that can traverse over all key/value pairs in a bucket in sorted order. +// Cursors see nested buckets with value == nil. +// Cursors can be obtained from a transaction and are valid as long as the transaction is open. +// +// Keys and values returned from the cursor are only valid for the life of the transaction. +// +// Changing data while traversing with a cursor may cause it to be invalidated +// and return unexpected keys and/or values. You must reposition your cursor +// after mutating data. +type Cursor struct { + bucket *Bucket + stack []elemRef +} + +// Bucket returns the bucket that this cursor was created from. +func (c *Cursor) Bucket() *Bucket { + return c.bucket +} + +// First moves the cursor to the first item in the bucket and returns its key and value. +// If the bucket is empty then a nil key and value are returned. +// The returned key and value are only valid for the life of the transaction. +func (c *Cursor) First() (key []byte, value []byte) { + _assert(c.bucket.tx.db != nil, "tx closed") + c.stack = c.stack[:0] + p, n := c.bucket.pageNode(c.bucket.root) + c.stack = append(c.stack, elemRef{page: p, node: n, index: 0}) + c.first() + + // If we land on an empty page then move to the next value. + // https://github.com/boltdb/bolt/issues/450 + if c.stack[len(c.stack)-1].count() == 0 { + c.next() + } + + k, v, flags := c.keyValue() + if (flags & uint32(bucketLeafFlag)) != 0 { + return k, nil + } + return k, v + +} + +// Last moves the cursor to the last item in the bucket and returns its key and value. +// If the bucket is empty then a nil key and value are returned. +// The returned key and value are only valid for the life of the transaction. +func (c *Cursor) Last() (key []byte, value []byte) { + _assert(c.bucket.tx.db != nil, "tx closed") + c.stack = c.stack[:0] + p, n := c.bucket.pageNode(c.bucket.root) + ref := elemRef{page: p, node: n} + ref.index = ref.count() - 1 + c.stack = append(c.stack, ref) + c.last() + k, v, flags := c.keyValue() + if (flags & uint32(bucketLeafFlag)) != 0 { + return k, nil + } + return k, v +} + +// Next moves the cursor to the next item in the bucket and returns its key and value. +// If the cursor is at the end of the bucket then a nil key and value are returned. +// The returned key and value are only valid for the life of the transaction. +func (c *Cursor) Next() (key []byte, value []byte) { + _assert(c.bucket.tx.db != nil, "tx closed") + k, v, flags := c.next() + if (flags & uint32(bucketLeafFlag)) != 0 { + return k, nil + } + return k, v +} + +// Prev moves the cursor to the previous item in the bucket and returns its key and value. +// If the cursor is at the beginning of the bucket then a nil key and value are returned. +// The returned key and value are only valid for the life of the transaction. +func (c *Cursor) Prev() (key []byte, value []byte) { + _assert(c.bucket.tx.db != nil, "tx closed") + + // Attempt to move back one element until we're successful. + // Move up the stack as we hit the beginning of each page in our stack. + for i := len(c.stack) - 1; i >= 0; i-- { + elem := &c.stack[i] + if elem.index > 0 { + elem.index-- + break + } + c.stack = c.stack[:i] + } + + // If we've hit the end then return nil. + if len(c.stack) == 0 { + return nil, nil + } + + // Move down the stack to find the last element of the last leaf under this branch. + c.last() + k, v, flags := c.keyValue() + if (flags & uint32(bucketLeafFlag)) != 0 { + return k, nil + } + return k, v +} + +// Seek moves the cursor to a given key and returns it. +// If the key does not exist then the next key is used. If no keys +// follow, a nil key is returned. +// The returned key and value are only valid for the life of the transaction. +func (c *Cursor) Seek(seek []byte) (key []byte, value []byte) { + k, v, flags := c.seek(seek) + + // If we ended up after the last element of a page then move to the next one. + if ref := &c.stack[len(c.stack)-1]; ref.index >= ref.count() { + k, v, flags = c.next() + } + + if k == nil { + return nil, nil + } else if (flags & uint32(bucketLeafFlag)) != 0 { + return k, nil + } + return k, v +} + +// Delete removes the current key/value under the cursor from the bucket. +// Delete fails if current key/value is a bucket or if the transaction is not writable. +func (c *Cursor) Delete() error { + if c.bucket.tx.db == nil { + return ErrTxClosed + } else if !c.bucket.Writable() { + return ErrTxNotWritable + } + + key, _, flags := c.keyValue() + // Return an error if current value is a bucket. + if (flags & bucketLeafFlag) != 0 { + return ErrIncompatibleValue + } + c.node().del(key) + + return nil +} + +// seek moves the cursor to a given key and returns it. +// If the key does not exist then the next key is used. +func (c *Cursor) seek(seek []byte) (key []byte, value []byte, flags uint32) { + _assert(c.bucket.tx.db != nil, "tx closed") + + // Start from root page/node and traverse to correct page. + c.stack = c.stack[:0] + c.search(seek, c.bucket.root) + + // If this is a bucket then return a nil value. + return c.keyValue() +} + +// first moves the cursor to the first leaf element under the last page in the stack. +func (c *Cursor) first() { + for { + // Exit when we hit a leaf page. + var ref = &c.stack[len(c.stack)-1] + if ref.isLeaf() { + break + } + + // Keep adding pages pointing to the first element to the stack. + var pgid pgid + if ref.node != nil { + pgid = ref.node.inodes[ref.index].pgid + } else { + pgid = ref.page.branchPageElement(uint16(ref.index)).pgid + } + p, n := c.bucket.pageNode(pgid) + c.stack = append(c.stack, elemRef{page: p, node: n, index: 0}) + } +} + +// last moves the cursor to the last leaf element under the last page in the stack. +func (c *Cursor) last() { + for { + // Exit when we hit a leaf page. + ref := &c.stack[len(c.stack)-1] + if ref.isLeaf() { + break + } + + // Keep adding pages pointing to the last element in the stack. + var pgid pgid + if ref.node != nil { + pgid = ref.node.inodes[ref.index].pgid + } else { + pgid = ref.page.branchPageElement(uint16(ref.index)).pgid + } + p, n := c.bucket.pageNode(pgid) + + var nextRef = elemRef{page: p, node: n} + nextRef.index = nextRef.count() - 1 + c.stack = append(c.stack, nextRef) + } +} + +// next moves to the next leaf element and returns the key and value. +// If the cursor is at the last leaf element then it stays there and returns nil. +func (c *Cursor) next() (key []byte, value []byte, flags uint32) { + for { + // Attempt to move over one element until we're successful. + // Move up the stack as we hit the end of each page in our stack. + var i int + for i = len(c.stack) - 1; i >= 0; i-- { + elem := &c.stack[i] + if elem.index < elem.count()-1 { + elem.index++ + break + } + } + + // If we've hit the root page then stop and return. This will leave the + // cursor on the last element of the last page. + if i == -1 { + return nil, nil, 0 + } + + // Otherwise start from where we left off in the stack and find the + // first element of the first leaf page. + c.stack = c.stack[:i+1] + c.first() + + // If this is an empty page then restart and move back up the stack. + // https://github.com/boltdb/bolt/issues/450 + if c.stack[len(c.stack)-1].count() == 0 { + continue + } + + return c.keyValue() + } +} + +// search recursively performs a binary search against a given page/node until it finds a given key. +func (c *Cursor) search(key []byte, pgid pgid) { + p, n := c.bucket.pageNode(pgid) + if p != nil && (p.flags&(branchPageFlag|leafPageFlag)) == 0 { + panic(fmt.Sprintf("invalid page type: %d: %x", p.id, p.flags)) + } + e := elemRef{page: p, node: n} + c.stack = append(c.stack, e) + + // If we're on a leaf page/node then find the specific node. + if e.isLeaf() { + c.nsearch(key) + return + } + + if n != nil { + c.searchNode(key, n) + return + } + c.searchPage(key, p) +} + +func (c *Cursor) searchNode(key []byte, n *node) { + var exact bool + index := sort.Search(len(n.inodes), func(i int) bool { + // TODO(benbjohnson): Optimize this range search. It's a bit hacky right now. + // sort.Search() finds the lowest index where f() != -1 but we need the highest index. + ret := bytes.Compare(n.inodes[i].key, key) + if ret == 0 { + exact = true + } + return ret != -1 + }) + if !exact && index > 0 { + index-- + } + c.stack[len(c.stack)-1].index = index + + // Recursively search to the next page. + c.search(key, n.inodes[index].pgid) +} + +func (c *Cursor) searchPage(key []byte, p *page) { + // Binary search for the correct range. + inodes := p.branchPageElements() + + var exact bool + index := sort.Search(int(p.count), func(i int) bool { + // TODO(benbjohnson): Optimize this range search. It's a bit hacky right now. + // sort.Search() finds the lowest index where f() != -1 but we need the highest index. + ret := bytes.Compare(inodes[i].key(), key) + if ret == 0 { + exact = true + } + return ret != -1 + }) + if !exact && index > 0 { + index-- + } + c.stack[len(c.stack)-1].index = index + + // Recursively search to the next page. + c.search(key, inodes[index].pgid) +} + +// nsearch searches the leaf node on the top of the stack for a key. +func (c *Cursor) nsearch(key []byte) { + e := &c.stack[len(c.stack)-1] + p, n := e.page, e.node + + // If we have a node then search its inodes. + if n != nil { + index := sort.Search(len(n.inodes), func(i int) bool { + return bytes.Compare(n.inodes[i].key, key) != -1 + }) + e.index = index + return + } + + // If we have a page then search its leaf elements. + inodes := p.leafPageElements() + index := sort.Search(int(p.count), func(i int) bool { + return bytes.Compare(inodes[i].key(), key) != -1 + }) + e.index = index +} + +// keyValue returns the key and value of the current leaf element. +func (c *Cursor) keyValue() ([]byte, []byte, uint32) { + ref := &c.stack[len(c.stack)-1] + + // If the cursor is pointing to the end of page/node then return nil. + if ref.count() == 0 || ref.index >= ref.count() { + return nil, nil, 0 + } + + // Retrieve value from node. + if ref.node != nil { + inode := &ref.node.inodes[ref.index] + return inode.key, inode.value, inode.flags + } + + // Or retrieve value from page. + elem := ref.page.leafPageElement(uint16(ref.index)) + return elem.key(), elem.value(), elem.flags +} + +// node returns the node that the cursor is currently positioned on. +func (c *Cursor) node() *node { + _assert(len(c.stack) > 0, "accessing a node with a zero-length cursor stack") + + // If the top of the stack is a leaf node then just return it. + if ref := &c.stack[len(c.stack)-1]; ref.node != nil && ref.isLeaf() { + return ref.node + } + + // Start from root and traverse down the hierarchy. + var n = c.stack[0].node + if n == nil { + n = c.bucket.node(c.stack[0].page.id, nil) + } + for _, ref := range c.stack[:len(c.stack)-1] { + _assert(!n.isLeaf, "expected branch node") + n = n.childAt(int(ref.index)) + } + _assert(n.isLeaf, "expected leaf node") + return n +} + +// elemRef represents a reference to an element on a given page/node. +type elemRef struct { + page *page + node *node + index int +} + +// isLeaf returns whether the ref is pointing at a leaf page/node. +func (r *elemRef) isLeaf() bool { + if r.node != nil { + return r.node.isLeaf + } + return (r.page.flags & leafPageFlag) != 0 +} + +// count returns the number of inodes or page elements. +func (r *elemRef) count() int { + if r.node != nil { + return len(r.node.inodes) + } + return int(r.page.count) +} diff --git a/vendor/go.etcd.io/bbolt/db.go b/vendor/go.etcd.io/bbolt/db.go new file mode 100644 index 000000000..962248c99 --- /dev/null +++ b/vendor/go.etcd.io/bbolt/db.go @@ -0,0 +1,1164 @@ +package bbolt + +import ( + "errors" + "fmt" + "hash/fnv" + "log" + "os" + "runtime" + "sort" + "sync" + "time" + "unsafe" +) + +// The largest step that can be taken when remapping the mmap. +const maxMmapStep = 1 << 30 // 1GB + +// The data file format version. +const version = 2 + +// Represents a marker value to indicate that a file is a Bolt DB. +const magic uint32 = 0xED0CDAED + +const pgidNoFreelist pgid = 0xffffffffffffffff + +// IgnoreNoSync specifies whether the NoSync field of a DB is ignored when +// syncing changes to a file. This is required as some operating systems, +// such as OpenBSD, do not have a unified buffer cache (UBC) and writes +// must be synchronized using the msync(2) syscall. +const IgnoreNoSync = runtime.GOOS == "openbsd" + +// Default values if not set in a DB instance. +const ( + DefaultMaxBatchSize int = 1000 + DefaultMaxBatchDelay = 10 * time.Millisecond + DefaultAllocSize = 16 * 1024 * 1024 +) + +// default page size for db is set to the OS page size. +var defaultPageSize = os.Getpagesize() + +// The time elapsed between consecutive file locking attempts. +const flockRetryTimeout = 50 * time.Millisecond + +// FreelistType is the type of the freelist backend +type FreelistType string + +const ( + // FreelistArrayType indicates backend freelist type is array + FreelistArrayType = FreelistType("array") + // FreelistMapType indicates backend freelist type is hashmap + FreelistMapType = FreelistType("hashmap") +) + +// DB represents a collection of buckets persisted to a file on disk. +// All data access is performed through transactions which can be obtained through the DB. +// All the functions on DB will return a ErrDatabaseNotOpen if accessed before Open() is called. +type DB struct { + // When enabled, the database will perform a Check() after every commit. + // A panic is issued if the database is in an inconsistent state. This + // flag has a large performance impact so it should only be used for + // debugging purposes. + StrictMode bool + + // Setting the NoSync flag will cause the database to skip fsync() + // calls after each commit. This can be useful when bulk loading data + // into a database and you can restart the bulk load in the event of + // a system failure or database corruption. Do not set this flag for + // normal use. + // + // If the package global IgnoreNoSync constant is true, this value is + // ignored. See the comment on that constant for more details. + // + // THIS IS UNSAFE. PLEASE USE WITH CAUTION. + NoSync bool + + // When true, skips syncing freelist to disk. This improves the database + // write performance under normal operation, but requires a full database + // re-sync during recovery. + NoFreelistSync bool + + // FreelistType sets the backend freelist type. There are two options. Array which is simple but endures + // dramatic performance degradation if database is large and framentation in freelist is common. + // The alternative one is using hashmap, it is faster in almost all circumstances + // but it doesn't guarantee that it offers the smallest page id available. In normal case it is safe. + // The default type is array + FreelistType FreelistType + + // When true, skips the truncate call when growing the database. + // Setting this to true is only safe on non-ext3/ext4 systems. + // Skipping truncation avoids preallocation of hard drive space and + // bypasses a truncate() and fsync() syscall on remapping. + // + // https://github.com/boltdb/bolt/issues/284 + NoGrowSync bool + + // If you want to read the entire database fast, you can set MmapFlag to + // syscall.MAP_POPULATE on Linux 2.6.23+ for sequential read-ahead. + MmapFlags int + + // MaxBatchSize is the maximum size of a batch. Default value is + // copied from DefaultMaxBatchSize in Open. + // + // If <=0, disables batching. + // + // Do not change concurrently with calls to Batch. + MaxBatchSize int + + // MaxBatchDelay is the maximum delay before a batch starts. + // Default value is copied from DefaultMaxBatchDelay in Open. + // + // If <=0, effectively disables batching. + // + // Do not change concurrently with calls to Batch. + MaxBatchDelay time.Duration + + // AllocSize is the amount of space allocated when the database + // needs to create new pages. This is done to amortize the cost + // of truncate() and fsync() when growing the data file. + AllocSize int + + path string + file *os.File + dataref []byte // mmap'ed readonly, write throws SEGV + data *[maxMapSize]byte + datasz int + filesz int // current on disk file size + meta0 *meta + meta1 *meta + pageSize int + opened bool + rwtx *Tx + txs []*Tx + stats Stats + + freelist *freelist + freelistLoad sync.Once + + pagePool sync.Pool + + batchMu sync.Mutex + batch *batch + + rwlock sync.Mutex // Allows only one writer at a time. + metalock sync.Mutex // Protects meta page access. + mmaplock sync.RWMutex // Protects mmap access during remapping. + statlock sync.RWMutex // Protects stats access. + + ops struct { + writeAt func(b []byte, off int64) (n int, err error) + } + + // Read only mode. + // When true, Update() and Begin(true) return ErrDatabaseReadOnly immediately. + readOnly bool +} + +// Path returns the path to currently open database file. +func (db *DB) Path() string { + return db.path +} + +// GoString returns the Go string representation of the database. +func (db *DB) GoString() string { + return fmt.Sprintf("bolt.DB{path:%q}", db.path) +} + +// String returns the string representation of the database. +func (db *DB) String() string { + return fmt.Sprintf("DB<%q>", db.path) +} + +// Open creates and opens a database at the given path. +// If the file does not exist then it will be created automatically. +// Passing in nil options will cause Bolt to open the database with the default options. +func Open(path string, mode os.FileMode, options *Options) (*DB, error) { + db := &DB{ + opened: true, + } + // Set default options if no options are provided. + if options == nil { + options = DefaultOptions + } + db.NoSync = options.NoSync + db.NoGrowSync = options.NoGrowSync + db.MmapFlags = options.MmapFlags + db.NoFreelistSync = options.NoFreelistSync + db.FreelistType = options.FreelistType + + // Set default values for later DB operations. + db.MaxBatchSize = DefaultMaxBatchSize + db.MaxBatchDelay = DefaultMaxBatchDelay + db.AllocSize = DefaultAllocSize + + flag := os.O_RDWR + if options.ReadOnly { + flag = os.O_RDONLY + db.readOnly = true + } + + // Open data file and separate sync handler for metadata writes. + db.path = path + var err error + if db.file, err = os.OpenFile(db.path, flag|os.O_CREATE, mode); err != nil { + _ = db.close() + return nil, err + } + + // Lock file so that other processes using Bolt in read-write mode cannot + // use the database at the same time. This would cause corruption since + // the two processes would write meta pages and free pages separately. + // The database file is locked exclusively (only one process can grab the lock) + // if !options.ReadOnly. + // The database file is locked using the shared lock (more than one process may + // hold a lock at the same time) otherwise (options.ReadOnly is set). + if err := flock(db, !db.readOnly, options.Timeout); err != nil { + _ = db.close() + return nil, err + } + + // Default values for test hooks + db.ops.writeAt = db.file.WriteAt + + if db.pageSize = options.PageSize; db.pageSize == 0 { + // Set the default page size to the OS page size. + db.pageSize = defaultPageSize + } + + // Initialize the database if it doesn't exist. + if info, err := db.file.Stat(); err != nil { + _ = db.close() + return nil, err + } else if info.Size() == 0 { + // Initialize new files with meta pages. + if err := db.init(); err != nil { + // clean up file descriptor on initialization fail + _ = db.close() + return nil, err + } + } else { + // Read the first meta page to determine the page size. + var buf [0x1000]byte + // If we can't read the page size, but can read a page, assume + // it's the same as the OS or one given -- since that's how the + // page size was chosen in the first place. + // + // If the first page is invalid and this OS uses a different + // page size than what the database was created with then we + // are out of luck and cannot access the database. + // + // TODO: scan for next page + if bw, err := db.file.ReadAt(buf[:], 0); err == nil && bw == len(buf) { + if m := db.pageInBuffer(buf[:], 0).meta(); m.validate() == nil { + db.pageSize = int(m.pageSize) + } + } else { + _ = db.close() + return nil, ErrInvalid + } + } + + // Initialize page pool. + db.pagePool = sync.Pool{ + New: func() interface{} { + return make([]byte, db.pageSize) + }, + } + + // Memory map the data file. + if err := db.mmap(options.InitialMmapSize); err != nil { + _ = db.close() + return nil, err + } + + if db.readOnly { + return db, nil + } + + db.loadFreelist() + + // Flush freelist when transitioning from no sync to sync so + // NoFreelistSync unaware boltdb can open the db later. + if !db.NoFreelistSync && !db.hasSyncedFreelist() { + tx, err := db.Begin(true) + if tx != nil { + err = tx.Commit() + } + if err != nil { + _ = db.close() + return nil, err + } + } + + // Mark the database as opened and return. + return db, nil +} + +// loadFreelist reads the freelist if it is synced, or reconstructs it +// by scanning the DB if it is not synced. It assumes there are no +// concurrent accesses being made to the freelist. +func (db *DB) loadFreelist() { + db.freelistLoad.Do(func() { + db.freelist = newFreelist(db.FreelistType) + if !db.hasSyncedFreelist() { + // Reconstruct free list by scanning the DB. + db.freelist.readIDs(db.freepages()) + } else { + // Read free list from freelist page. + db.freelist.read(db.page(db.meta().freelist)) + } + db.stats.FreePageN = db.freelist.free_count() + }) +} + +func (db *DB) hasSyncedFreelist() bool { + return db.meta().freelist != pgidNoFreelist +} + +// mmap opens the underlying memory-mapped file and initializes the meta references. +// minsz is the minimum size that the new mmap can be. +func (db *DB) mmap(minsz int) error { + db.mmaplock.Lock() + defer db.mmaplock.Unlock() + + info, err := db.file.Stat() + if err != nil { + return fmt.Errorf("mmap stat error: %s", err) + } else if int(info.Size()) < db.pageSize*2 { + return fmt.Errorf("file size too small") + } + + // Ensure the size is at least the minimum size. + var size = int(info.Size()) + if size < minsz { + size = minsz + } + size, err = db.mmapSize(size) + if err != nil { + return err + } + + // Dereference all mmap references before unmapping. + if db.rwtx != nil { + db.rwtx.root.dereference() + } + + // Unmap existing data before continuing. + if err := db.munmap(); err != nil { + return err + } + + // Memory-map the data file as a byte slice. + if err := mmap(db, size); err != nil { + return err + } + + // Save references to the meta pages. + db.meta0 = db.page(0).meta() + db.meta1 = db.page(1).meta() + + // Validate the meta pages. We only return an error if both meta pages fail + // validation, since meta0 failing validation means that it wasn't saved + // properly -- but we can recover using meta1. And vice-versa. + err0 := db.meta0.validate() + err1 := db.meta1.validate() + if err0 != nil && err1 != nil { + return err0 + } + + return nil +} + +// munmap unmaps the data file from memory. +func (db *DB) munmap() error { + if err := munmap(db); err != nil { + return fmt.Errorf("unmap error: " + err.Error()) + } + return nil +} + +// mmapSize determines the appropriate size for the mmap given the current size +// of the database. The minimum size is 32KB and doubles until it reaches 1GB. +// Returns an error if the new mmap size is greater than the max allowed. +func (db *DB) mmapSize(size int) (int, error) { + // Double the size from 32KB until 1GB. + for i := uint(15); i <= 30; i++ { + if size <= 1< maxMapSize { + return 0, fmt.Errorf("mmap too large") + } + + // If larger than 1GB then grow by 1GB at a time. + sz := int64(size) + if remainder := sz % int64(maxMmapStep); remainder > 0 { + sz += int64(maxMmapStep) - remainder + } + + // Ensure that the mmap size is a multiple of the page size. + // This should always be true since we're incrementing in MBs. + pageSize := int64(db.pageSize) + if (sz % pageSize) != 0 { + sz = ((sz / pageSize) + 1) * pageSize + } + + // If we've exceeded the max size then only grow up to the max size. + if sz > maxMapSize { + sz = maxMapSize + } + + return int(sz), nil +} + +// init creates a new database file and initializes its meta pages. +func (db *DB) init() error { + // Create two meta pages on a buffer. + buf := make([]byte, db.pageSize*4) + for i := 0; i < 2; i++ { + p := db.pageInBuffer(buf[:], pgid(i)) + p.id = pgid(i) + p.flags = metaPageFlag + + // Initialize the meta page. + m := p.meta() + m.magic = magic + m.version = version + m.pageSize = uint32(db.pageSize) + m.freelist = 2 + m.root = bucket{root: 3} + m.pgid = 4 + m.txid = txid(i) + m.checksum = m.sum64() + } + + // Write an empty freelist at page 3. + p := db.pageInBuffer(buf[:], pgid(2)) + p.id = pgid(2) + p.flags = freelistPageFlag + p.count = 0 + + // Write an empty leaf page at page 4. + p = db.pageInBuffer(buf[:], pgid(3)) + p.id = pgid(3) + p.flags = leafPageFlag + p.count = 0 + + // Write the buffer to our data file. + if _, err := db.ops.writeAt(buf, 0); err != nil { + return err + } + if err := fdatasync(db); err != nil { + return err + } + + return nil +} + +// Close releases all database resources. +// It will block waiting for any open transactions to finish +// before closing the database and returning. +func (db *DB) Close() error { + db.rwlock.Lock() + defer db.rwlock.Unlock() + + db.metalock.Lock() + defer db.metalock.Unlock() + + db.mmaplock.Lock() + defer db.mmaplock.Unlock() + + return db.close() +} + +func (db *DB) close() error { + if !db.opened { + return nil + } + + db.opened = false + + db.freelist = nil + + // Clear ops. + db.ops.writeAt = nil + + // Close the mmap. + if err := db.munmap(); err != nil { + return err + } + + // Close file handles. + if db.file != nil { + // No need to unlock read-only file. + if !db.readOnly { + // Unlock the file. + if err := funlock(db); err != nil { + log.Printf("bolt.Close(): funlock error: %s", err) + } + } + + // Close the file descriptor. + if err := db.file.Close(); err != nil { + return fmt.Errorf("db file close: %s", err) + } + db.file = nil + } + + db.path = "" + return nil +} + +// Begin starts a new transaction. +// Multiple read-only transactions can be used concurrently but only one +// write transaction can be used at a time. Starting multiple write transactions +// will cause the calls to block and be serialized until the current write +// transaction finishes. +// +// Transactions should not be dependent on one another. Opening a read +// transaction and a write transaction in the same goroutine can cause the +// writer to deadlock because the database periodically needs to re-mmap itself +// as it grows and it cannot do that while a read transaction is open. +// +// If a long running read transaction (for example, a snapshot transaction) is +// needed, you might want to set DB.InitialMmapSize to a large enough value +// to avoid potential blocking of write transaction. +// +// IMPORTANT: You must close read-only transactions after you are finished or +// else the database will not reclaim old pages. +func (db *DB) Begin(writable bool) (*Tx, error) { + if writable { + return db.beginRWTx() + } + return db.beginTx() +} + +func (db *DB) beginTx() (*Tx, error) { + // Lock the meta pages while we initialize the transaction. We obtain + // the meta lock before the mmap lock because that's the order that the + // write transaction will obtain them. + db.metalock.Lock() + + // Obtain a read-only lock on the mmap. When the mmap is remapped it will + // obtain a write lock so all transactions must finish before it can be + // remapped. + db.mmaplock.RLock() + + // Exit if the database is not open yet. + if !db.opened { + db.mmaplock.RUnlock() + db.metalock.Unlock() + return nil, ErrDatabaseNotOpen + } + + // Create a transaction associated with the database. + t := &Tx{} + t.init(db) + + // Keep track of transaction until it closes. + db.txs = append(db.txs, t) + n := len(db.txs) + + // Unlock the meta pages. + db.metalock.Unlock() + + // Update the transaction stats. + db.statlock.Lock() + db.stats.TxN++ + db.stats.OpenTxN = n + db.statlock.Unlock() + + return t, nil +} + +func (db *DB) beginRWTx() (*Tx, error) { + // If the database was opened with Options.ReadOnly, return an error. + if db.readOnly { + return nil, ErrDatabaseReadOnly + } + + // Obtain writer lock. This is released by the transaction when it closes. + // This enforces only one writer transaction at a time. + db.rwlock.Lock() + + // Once we have the writer lock then we can lock the meta pages so that + // we can set up the transaction. + db.metalock.Lock() + defer db.metalock.Unlock() + + // Exit if the database is not open yet. + if !db.opened { + db.rwlock.Unlock() + return nil, ErrDatabaseNotOpen + } + + // Create a transaction associated with the database. + t := &Tx{writable: true} + t.init(db) + db.rwtx = t + db.freePages() + return t, nil +} + +// freePages releases any pages associated with closed read-only transactions. +func (db *DB) freePages() { + // Free all pending pages prior to earliest open transaction. + sort.Sort(txsById(db.txs)) + minid := txid(0xFFFFFFFFFFFFFFFF) + if len(db.txs) > 0 { + minid = db.txs[0].meta.txid + } + if minid > 0 { + db.freelist.release(minid - 1) + } + // Release unused txid extents. + for _, t := range db.txs { + db.freelist.releaseRange(minid, t.meta.txid-1) + minid = t.meta.txid + 1 + } + db.freelist.releaseRange(minid, txid(0xFFFFFFFFFFFFFFFF)) + // Any page both allocated and freed in an extent is safe to release. +} + +type txsById []*Tx + +func (t txsById) Len() int { return len(t) } +func (t txsById) Swap(i, j int) { t[i], t[j] = t[j], t[i] } +func (t txsById) Less(i, j int) bool { return t[i].meta.txid < t[j].meta.txid } + +// removeTx removes a transaction from the database. +func (db *DB) removeTx(tx *Tx) { + // Release the read lock on the mmap. + db.mmaplock.RUnlock() + + // Use the meta lock to restrict access to the DB object. + db.metalock.Lock() + + // Remove the transaction. + for i, t := range db.txs { + if t == tx { + last := len(db.txs) - 1 + db.txs[i] = db.txs[last] + db.txs[last] = nil + db.txs = db.txs[:last] + break + } + } + n := len(db.txs) + + // Unlock the meta pages. + db.metalock.Unlock() + + // Merge statistics. + db.statlock.Lock() + db.stats.OpenTxN = n + db.stats.TxStats.add(&tx.stats) + db.statlock.Unlock() +} + +// Update executes a function within the context of a read-write managed transaction. +// If no error is returned from the function then the transaction is committed. +// If an error is returned then the entire transaction is rolled back. +// Any error that is returned from the function or returned from the commit is +// returned from the Update() method. +// +// Attempting to manually commit or rollback within the function will cause a panic. +func (db *DB) Update(fn func(*Tx) error) error { + t, err := db.Begin(true) + if err != nil { + return err + } + + // Make sure the transaction rolls back in the event of a panic. + defer func() { + if t.db != nil { + t.rollback() + } + }() + + // Mark as a managed tx so that the inner function cannot manually commit. + t.managed = true + + // If an error is returned from the function then rollback and return error. + err = fn(t) + t.managed = false + if err != nil { + _ = t.Rollback() + return err + } + + return t.Commit() +} + +// View executes a function within the context of a managed read-only transaction. +// Any error that is returned from the function is returned from the View() method. +// +// Attempting to manually rollback within the function will cause a panic. +func (db *DB) View(fn func(*Tx) error) error { + t, err := db.Begin(false) + if err != nil { + return err + } + + // Make sure the transaction rolls back in the event of a panic. + defer func() { + if t.db != nil { + t.rollback() + } + }() + + // Mark as a managed tx so that the inner function cannot manually rollback. + t.managed = true + + // If an error is returned from the function then pass it through. + err = fn(t) + t.managed = false + if err != nil { + _ = t.Rollback() + return err + } + + return t.Rollback() +} + +// Batch calls fn as part of a batch. It behaves similar to Update, +// except: +// +// 1. concurrent Batch calls can be combined into a single Bolt +// transaction. +// +// 2. the function passed to Batch may be called multiple times, +// regardless of whether it returns error or not. +// +// This means that Batch function side effects must be idempotent and +// take permanent effect only after a successful return is seen in +// caller. +// +// The maximum batch size and delay can be adjusted with DB.MaxBatchSize +// and DB.MaxBatchDelay, respectively. +// +// Batch is only useful when there are multiple goroutines calling it. +func (db *DB) Batch(fn func(*Tx) error) error { + errCh := make(chan error, 1) + + db.batchMu.Lock() + if (db.batch == nil) || (db.batch != nil && len(db.batch.calls) >= db.MaxBatchSize) { + // There is no existing batch, or the existing batch is full; start a new one. + db.batch = &batch{ + db: db, + } + db.batch.timer = time.AfterFunc(db.MaxBatchDelay, db.batch.trigger) + } + db.batch.calls = append(db.batch.calls, call{fn: fn, err: errCh}) + if len(db.batch.calls) >= db.MaxBatchSize { + // wake up batch, it's ready to run + go db.batch.trigger() + } + db.batchMu.Unlock() + + err := <-errCh + if err == trySolo { + err = db.Update(fn) + } + return err +} + +type call struct { + fn func(*Tx) error + err chan<- error +} + +type batch struct { + db *DB + timer *time.Timer + start sync.Once + calls []call +} + +// trigger runs the batch if it hasn't already been run. +func (b *batch) trigger() { + b.start.Do(b.run) +} + +// run performs the transactions in the batch and communicates results +// back to DB.Batch. +func (b *batch) run() { + b.db.batchMu.Lock() + b.timer.Stop() + // Make sure no new work is added to this batch, but don't break + // other batches. + if b.db.batch == b { + b.db.batch = nil + } + b.db.batchMu.Unlock() + +retry: + for len(b.calls) > 0 { + var failIdx = -1 + err := b.db.Update(func(tx *Tx) error { + for i, c := range b.calls { + if err := safelyCall(c.fn, tx); err != nil { + failIdx = i + return err + } + } + return nil + }) + + if failIdx >= 0 { + // take the failing transaction out of the batch. it's + // safe to shorten b.calls here because db.batch no longer + // points to us, and we hold the mutex anyway. + c := b.calls[failIdx] + b.calls[failIdx], b.calls = b.calls[len(b.calls)-1], b.calls[:len(b.calls)-1] + // tell the submitter re-run it solo, continue with the rest of the batch + c.err <- trySolo + continue retry + } + + // pass success, or bolt internal errors, to all callers + for _, c := range b.calls { + c.err <- err + } + break retry + } +} + +// trySolo is a special sentinel error value used for signaling that a +// transaction function should be re-run. It should never be seen by +// callers. +var trySolo = errors.New("batch function returned an error and should be re-run solo") + +type panicked struct { + reason interface{} +} + +func (p panicked) Error() string { + if err, ok := p.reason.(error); ok { + return err.Error() + } + return fmt.Sprintf("panic: %v", p.reason) +} + +func safelyCall(fn func(*Tx) error, tx *Tx) (err error) { + defer func() { + if p := recover(); p != nil { + err = panicked{p} + } + }() + return fn(tx) +} + +// Sync executes fdatasync() against the database file handle. +// +// This is not necessary under normal operation, however, if you use NoSync +// then it allows you to force the database file to sync against the disk. +func (db *DB) Sync() error { return fdatasync(db) } + +// Stats retrieves ongoing performance stats for the database. +// This is only updated when a transaction closes. +func (db *DB) Stats() Stats { + db.statlock.RLock() + defer db.statlock.RUnlock() + return db.stats +} + +// This is for internal access to the raw data bytes from the C cursor, use +// carefully, or not at all. +func (db *DB) Info() *Info { + return &Info{uintptr(unsafe.Pointer(&db.data[0])), db.pageSize} +} + +// page retrieves a page reference from the mmap based on the current page size. +func (db *DB) page(id pgid) *page { + pos := id * pgid(db.pageSize) + return (*page)(unsafe.Pointer(&db.data[pos])) +} + +// pageInBuffer retrieves a page reference from a given byte array based on the current page size. +func (db *DB) pageInBuffer(b []byte, id pgid) *page { + return (*page)(unsafe.Pointer(&b[id*pgid(db.pageSize)])) +} + +// meta retrieves the current meta page reference. +func (db *DB) meta() *meta { + // We have to return the meta with the highest txid which doesn't fail + // validation. Otherwise, we can cause errors when in fact the database is + // in a consistent state. metaA is the one with the higher txid. + metaA := db.meta0 + metaB := db.meta1 + if db.meta1.txid > db.meta0.txid { + metaA = db.meta1 + metaB = db.meta0 + } + + // Use higher meta page if valid. Otherwise fallback to previous, if valid. + if err := metaA.validate(); err == nil { + return metaA + } else if err := metaB.validate(); err == nil { + return metaB + } + + // This should never be reached, because both meta1 and meta0 were validated + // on mmap() and we do fsync() on every write. + panic("bolt.DB.meta(): invalid meta pages") +} + +// allocate returns a contiguous block of memory starting at a given page. +func (db *DB) allocate(txid txid, count int) (*page, error) { + // Allocate a temporary buffer for the page. + var buf []byte + if count == 1 { + buf = db.pagePool.Get().([]byte) + } else { + buf = make([]byte, count*db.pageSize) + } + p := (*page)(unsafe.Pointer(&buf[0])) + p.overflow = uint32(count - 1) + + // Use pages from the freelist if they are available. + if p.id = db.freelist.allocate(txid, count); p.id != 0 { + return p, nil + } + + // Resize mmap() if we're at the end. + p.id = db.rwtx.meta.pgid + var minsz = int((p.id+pgid(count))+1) * db.pageSize + if minsz >= db.datasz { + if err := db.mmap(minsz); err != nil { + return nil, fmt.Errorf("mmap allocate error: %s", err) + } + } + + // Move the page id high water mark. + db.rwtx.meta.pgid += pgid(count) + + return p, nil +} + +// grow grows the size of the database to the given sz. +func (db *DB) grow(sz int) error { + // Ignore if the new size is less than available file size. + if sz <= db.filesz { + return nil + } + + // If the data is smaller than the alloc size then only allocate what's needed. + // Once it goes over the allocation size then allocate in chunks. + if db.datasz < db.AllocSize { + sz = db.datasz + } else { + sz += db.AllocSize + } + + // Truncate and fsync to ensure file size metadata is flushed. + // https://github.com/boltdb/bolt/issues/284 + if !db.NoGrowSync && !db.readOnly { + if runtime.GOOS != "windows" { + if err := db.file.Truncate(int64(sz)); err != nil { + return fmt.Errorf("file resize error: %s", err) + } + } + if err := db.file.Sync(); err != nil { + return fmt.Errorf("file sync error: %s", err) + } + } + + db.filesz = sz + return nil +} + +func (db *DB) IsReadOnly() bool { + return db.readOnly +} + +func (db *DB) freepages() []pgid { + tx, err := db.beginTx() + defer func() { + err = tx.Rollback() + if err != nil { + panic("freepages: failed to rollback tx") + } + }() + if err != nil { + panic("freepages: failed to open read only tx") + } + + reachable := make(map[pgid]*page) + nofreed := make(map[pgid]bool) + ech := make(chan error) + go func() { + for e := range ech { + panic(fmt.Sprintf("freepages: failed to get all reachable pages (%v)", e)) + } + }() + tx.checkBucket(&tx.root, reachable, nofreed, ech) + close(ech) + + var fids []pgid + for i := pgid(2); i < db.meta().pgid; i++ { + if _, ok := reachable[i]; !ok { + fids = append(fids, i) + } + } + return fids +} + +// Options represents the options that can be set when opening a database. +type Options struct { + // Timeout is the amount of time to wait to obtain a file lock. + // When set to zero it will wait indefinitely. This option is only + // available on Darwin and Linux. + Timeout time.Duration + + // Sets the DB.NoGrowSync flag before memory mapping the file. + NoGrowSync bool + + // Do not sync freelist to disk. This improves the database write performance + // under normal operation, but requires a full database re-sync during recovery. + NoFreelistSync bool + + // FreelistType sets the backend freelist type. There are two options. Array which is simple but endures + // dramatic performance degradation if database is large and framentation in freelist is common. + // The alternative one is using hashmap, it is faster in almost all circumstances + // but it doesn't guarantee that it offers the smallest page id available. In normal case it is safe. + // The default type is array + FreelistType FreelistType + + // Open database in read-only mode. Uses flock(..., LOCK_SH |LOCK_NB) to + // grab a shared lock (UNIX). + ReadOnly bool + + // Sets the DB.MmapFlags flag before memory mapping the file. + MmapFlags int + + // InitialMmapSize is the initial mmap size of the database + // in bytes. Read transactions won't block write transaction + // if the InitialMmapSize is large enough to hold database mmap + // size. (See DB.Begin for more information) + // + // If <=0, the initial map size is 0. + // If initialMmapSize is smaller than the previous database size, + // it takes no effect. + InitialMmapSize int + + // PageSize overrides the default OS page size. + PageSize int + + // NoSync sets the initial value of DB.NoSync. Normally this can just be + // set directly on the DB itself when returned from Open(), but this option + // is useful in APIs which expose Options but not the underlying DB. + NoSync bool +} + +// DefaultOptions represent the options used if nil options are passed into Open(). +// No timeout is used which will cause Bolt to wait indefinitely for a lock. +var DefaultOptions = &Options{ + Timeout: 0, + NoGrowSync: false, + FreelistType: FreelistArrayType, +} + +// Stats represents statistics about the database. +type Stats struct { + // Freelist stats + FreePageN int // total number of free pages on the freelist + PendingPageN int // total number of pending pages on the freelist + FreeAlloc int // total bytes allocated in free pages + FreelistInuse int // total bytes used by the freelist + + // Transaction stats + TxN int // total number of started read transactions + OpenTxN int // number of currently open read transactions + + TxStats TxStats // global, ongoing stats. +} + +// Sub calculates and returns the difference between two sets of database stats. +// This is useful when obtaining stats at two different points and time and +// you need the performance counters that occurred within that time span. +func (s *Stats) Sub(other *Stats) Stats { + if other == nil { + return *s + } + var diff Stats + diff.FreePageN = s.FreePageN + diff.PendingPageN = s.PendingPageN + diff.FreeAlloc = s.FreeAlloc + diff.FreelistInuse = s.FreelistInuse + diff.TxN = s.TxN - other.TxN + diff.TxStats = s.TxStats.Sub(&other.TxStats) + return diff +} + +type Info struct { + Data uintptr + PageSize int +} + +type meta struct { + magic uint32 + version uint32 + pageSize uint32 + flags uint32 + root bucket + freelist pgid + pgid pgid + txid txid + checksum uint64 +} + +// validate checks the marker bytes and version of the meta page to ensure it matches this binary. +func (m *meta) validate() error { + if m.magic != magic { + return ErrInvalid + } else if m.version != version { + return ErrVersionMismatch + } else if m.checksum != 0 && m.checksum != m.sum64() { + return ErrChecksum + } + return nil +} + +// copy copies one meta object to another. +func (m *meta) copy(dest *meta) { + *dest = *m +} + +// write writes the meta onto a page. +func (m *meta) write(p *page) { + if m.root.root >= m.pgid { + panic(fmt.Sprintf("root bucket pgid (%d) above high water mark (%d)", m.root.root, m.pgid)) + } else if m.freelist >= m.pgid && m.freelist != pgidNoFreelist { + // TODO: reject pgidNoFreeList if !NoFreelistSync + panic(fmt.Sprintf("freelist pgid (%d) above high water mark (%d)", m.freelist, m.pgid)) + } + + // Page id is either going to be 0 or 1 which we can determine by the transaction ID. + p.id = pgid(m.txid % 2) + p.flags |= metaPageFlag + + // Calculate the checksum. + m.checksum = m.sum64() + + m.copy(p.meta()) +} + +// generates the checksum for the meta. +func (m *meta) sum64() uint64 { + var h = fnv.New64a() + _, _ = h.Write((*[unsafe.Offsetof(meta{}.checksum)]byte)(unsafe.Pointer(m))[:]) + return h.Sum64() +} + +// _assert will panic with a given formatted message if the given condition is false. +func _assert(condition bool, msg string, v ...interface{}) { + if !condition { + panic(fmt.Sprintf("assertion failed: "+msg, v...)) + } +} diff --git a/vendor/go.etcd.io/bbolt/doc.go b/vendor/go.etcd.io/bbolt/doc.go new file mode 100644 index 000000000..95f25f01c --- /dev/null +++ b/vendor/go.etcd.io/bbolt/doc.go @@ -0,0 +1,44 @@ +/* +package bbolt implements a low-level key/value store in pure Go. It supports +fully serializable transactions, ACID semantics, and lock-free MVCC with +multiple readers and a single writer. Bolt can be used for projects that +want a simple data store without the need to add large dependencies such as +Postgres or MySQL. + +Bolt is a single-level, zero-copy, B+tree data store. This means that Bolt is +optimized for fast read access and does not require recovery in the event of a +system crash. Transactions which have not finished committing will simply be +rolled back in the event of a crash. + +The design of Bolt is based on Howard Chu's LMDB database project. + +Bolt currently works on Windows, Mac OS X, and Linux. + + +Basics + +There are only a few types in Bolt: DB, Bucket, Tx, and Cursor. The DB is +a collection of buckets and is represented by a single file on disk. A bucket is +a collection of unique keys that are associated with values. + +Transactions provide either read-only or read-write access to the database. +Read-only transactions can retrieve key/value pairs and can use Cursors to +iterate over the dataset sequentially. Read-write transactions can create and +delete buckets and can insert and remove keys. Only one read-write transaction +is allowed at a time. + + +Caveats + +The database uses a read-only, memory-mapped data file to ensure that +applications cannot corrupt the database, however, this means that keys and +values returned from Bolt cannot be changed. Writing to a read-only byte slice +will cause Go to panic. + +Keys and values retrieved from the database are only valid for the life of +the transaction. When used outside the transaction, these byte slices can +point to different data or can point to invalid memory which will cause a panic. + + +*/ +package bbolt diff --git a/vendor/go.etcd.io/bbolt/errors.go b/vendor/go.etcd.io/bbolt/errors.go new file mode 100644 index 000000000..48758ca57 --- /dev/null +++ b/vendor/go.etcd.io/bbolt/errors.go @@ -0,0 +1,71 @@ +package bbolt + +import "errors" + +// These errors can be returned when opening or calling methods on a DB. +var ( + // ErrDatabaseNotOpen is returned when a DB instance is accessed before it + // is opened or after it is closed. + ErrDatabaseNotOpen = errors.New("database not open") + + // ErrDatabaseOpen is returned when opening a database that is + // already open. + ErrDatabaseOpen = errors.New("database already open") + + // ErrInvalid is returned when both meta pages on a database are invalid. + // This typically occurs when a file is not a bolt database. + ErrInvalid = errors.New("invalid database") + + // ErrVersionMismatch is returned when the data file was created with a + // different version of Bolt. + ErrVersionMismatch = errors.New("version mismatch") + + // ErrChecksum is returned when either meta page checksum does not match. + ErrChecksum = errors.New("checksum error") + + // ErrTimeout is returned when a database cannot obtain an exclusive lock + // on the data file after the timeout passed to Open(). + ErrTimeout = errors.New("timeout") +) + +// These errors can occur when beginning or committing a Tx. +var ( + // ErrTxNotWritable is returned when performing a write operation on a + // read-only transaction. + ErrTxNotWritable = errors.New("tx not writable") + + // ErrTxClosed is returned when committing or rolling back a transaction + // that has already been committed or rolled back. + ErrTxClosed = errors.New("tx closed") + + // ErrDatabaseReadOnly is returned when a mutating transaction is started on a + // read-only database. + ErrDatabaseReadOnly = errors.New("database is in read-only mode") +) + +// These errors can occur when putting or deleting a value or a bucket. +var ( + // ErrBucketNotFound is returned when trying to access a bucket that has + // not been created yet. + ErrBucketNotFound = errors.New("bucket not found") + + // ErrBucketExists is returned when creating a bucket that already exists. + ErrBucketExists = errors.New("bucket already exists") + + // ErrBucketNameRequired is returned when creating a bucket with a blank name. + ErrBucketNameRequired = errors.New("bucket name required") + + // ErrKeyRequired is returned when inserting a zero-length key. + ErrKeyRequired = errors.New("key required") + + // ErrKeyTooLarge is returned when inserting a key that is larger than MaxKeySize. + ErrKeyTooLarge = errors.New("key too large") + + // ErrValueTooLarge is returned when inserting a value that is larger than MaxValueSize. + ErrValueTooLarge = errors.New("value too large") + + // ErrIncompatibleValue is returned when trying create or delete a bucket + // on an existing non-bucket key or when trying to create or delete a + // non-bucket key on an existing bucket key. + ErrIncompatibleValue = errors.New("incompatible value") +) diff --git a/vendor/go.etcd.io/bbolt/freelist.go b/vendor/go.etcd.io/bbolt/freelist.go new file mode 100644 index 000000000..93fd85d50 --- /dev/null +++ b/vendor/go.etcd.io/bbolt/freelist.go @@ -0,0 +1,370 @@ +package bbolt + +import ( + "fmt" + "sort" + "unsafe" +) + +// txPending holds a list of pgids and corresponding allocation txns +// that are pending to be freed. +type txPending struct { + ids []pgid + alloctx []txid // txids allocating the ids + lastReleaseBegin txid // beginning txid of last matching releaseRange +} + +// pidSet holds the set of starting pgids which have the same span size +type pidSet map[pgid]struct{} + +// freelist represents a list of all pages that are available for allocation. +// It also tracks pages that have been freed but are still in use by open transactions. +type freelist struct { + freelistType FreelistType // freelist type + ids []pgid // all free and available free page ids. + allocs map[pgid]txid // mapping of txid that allocated a pgid. + pending map[txid]*txPending // mapping of soon-to-be free page ids by tx. + cache map[pgid]bool // fast lookup of all free and pending page ids. + freemaps map[uint64]pidSet // key is the size of continuous pages(span), value is a set which contains the starting pgids of same size + forwardMap map[pgid]uint64 // key is start pgid, value is its span size + backwardMap map[pgid]uint64 // key is end pgid, value is its span size + allocate func(txid txid, n int) pgid // the freelist allocate func + free_count func() int // the function which gives you free page number + mergeSpans func(ids pgids) // the mergeSpan func + getFreePageIDs func() []pgid // get free pgids func + readIDs func(pgids []pgid) // readIDs func reads list of pages and init the freelist +} + +// newFreelist returns an empty, initialized freelist. +func newFreelist(freelistType FreelistType) *freelist { + f := &freelist{ + freelistType: freelistType, + allocs: make(map[pgid]txid), + pending: make(map[txid]*txPending), + cache: make(map[pgid]bool), + freemaps: make(map[uint64]pidSet), + forwardMap: make(map[pgid]uint64), + backwardMap: make(map[pgid]uint64), + } + + if freelistType == FreelistMapType { + f.allocate = f.hashmapAllocate + f.free_count = f.hashmapFreeCount + f.mergeSpans = f.hashmapMergeSpans + f.getFreePageIDs = f.hashmapGetFreePageIDs + f.readIDs = f.hashmapReadIDs + } else { + f.allocate = f.arrayAllocate + f.free_count = f.arrayFreeCount + f.mergeSpans = f.arrayMergeSpans + f.getFreePageIDs = f.arrayGetFreePageIDs + f.readIDs = f.arrayReadIDs + } + + return f +} + +// size returns the size of the page after serialization. +func (f *freelist) size() int { + n := f.count() + if n >= 0xFFFF { + // The first element will be used to store the count. See freelist.write. + n++ + } + return pageHeaderSize + (int(unsafe.Sizeof(pgid(0))) * n) +} + +// count returns count of pages on the freelist +func (f *freelist) count() int { + return f.free_count() + f.pending_count() +} + +// arrayFreeCount returns count of free pages(array version) +func (f *freelist) arrayFreeCount() int { + return len(f.ids) +} + +// pending_count returns count of pending pages +func (f *freelist) pending_count() int { + var count int + for _, txp := range f.pending { + count += len(txp.ids) + } + return count +} + +// copyall copies into dst a list of all free ids and all pending ids in one sorted list. +// f.count returns the minimum length required for dst. +func (f *freelist) copyall(dst []pgid) { + m := make(pgids, 0, f.pending_count()) + for _, txp := range f.pending { + m = append(m, txp.ids...) + } + sort.Sort(m) + mergepgids(dst, f.getFreePageIDs(), m) +} + +// arrayAllocate returns the starting page id of a contiguous list of pages of a given size. +// If a contiguous block cannot be found then 0 is returned. +func (f *freelist) arrayAllocate(txid txid, n int) pgid { + if len(f.ids) == 0 { + return 0 + } + + var initial, previd pgid + for i, id := range f.ids { + if id <= 1 { + panic(fmt.Sprintf("invalid page allocation: %d", id)) + } + + // Reset initial page if this is not contiguous. + if previd == 0 || id-previd != 1 { + initial = id + } + + // If we found a contiguous block then remove it and return it. + if (id-initial)+1 == pgid(n) { + // If we're allocating off the beginning then take the fast path + // and just adjust the existing slice. This will use extra memory + // temporarily but the append() in free() will realloc the slice + // as is necessary. + if (i + 1) == n { + f.ids = f.ids[i+1:] + } else { + copy(f.ids[i-n+1:], f.ids[i+1:]) + f.ids = f.ids[:len(f.ids)-n] + } + + // Remove from the free cache. + for i := pgid(0); i < pgid(n); i++ { + delete(f.cache, initial+i) + } + f.allocs[initial] = txid + return initial + } + + previd = id + } + return 0 +} + +// free releases a page and its overflow for a given transaction id. +// If the page is already free then a panic will occur. +func (f *freelist) free(txid txid, p *page) { + if p.id <= 1 { + panic(fmt.Sprintf("cannot free page 0 or 1: %d", p.id)) + } + + // Free page and all its overflow pages. + txp := f.pending[txid] + if txp == nil { + txp = &txPending{} + f.pending[txid] = txp + } + allocTxid, ok := f.allocs[p.id] + if ok { + delete(f.allocs, p.id) + } else if (p.flags & freelistPageFlag) != 0 { + // Freelist is always allocated by prior tx. + allocTxid = txid - 1 + } + + for id := p.id; id <= p.id+pgid(p.overflow); id++ { + // Verify that page is not already free. + if f.cache[id] { + panic(fmt.Sprintf("page %d already freed", id)) + } + // Add to the freelist and cache. + txp.ids = append(txp.ids, id) + txp.alloctx = append(txp.alloctx, allocTxid) + f.cache[id] = true + } +} + +// release moves all page ids for a transaction id (or older) to the freelist. +func (f *freelist) release(txid txid) { + m := make(pgids, 0) + for tid, txp := range f.pending { + if tid <= txid { + // Move transaction's pending pages to the available freelist. + // Don't remove from the cache since the page is still free. + m = append(m, txp.ids...) + delete(f.pending, tid) + } + } + f.mergeSpans(m) +} + +// releaseRange moves pending pages allocated within an extent [begin,end] to the free list. +func (f *freelist) releaseRange(begin, end txid) { + if begin > end { + return + } + var m pgids + for tid, txp := range f.pending { + if tid < begin || tid > end { + continue + } + // Don't recompute freed pages if ranges haven't updated. + if txp.lastReleaseBegin == begin { + continue + } + for i := 0; i < len(txp.ids); i++ { + if atx := txp.alloctx[i]; atx < begin || atx > end { + continue + } + m = append(m, txp.ids[i]) + txp.ids[i] = txp.ids[len(txp.ids)-1] + txp.ids = txp.ids[:len(txp.ids)-1] + txp.alloctx[i] = txp.alloctx[len(txp.alloctx)-1] + txp.alloctx = txp.alloctx[:len(txp.alloctx)-1] + i-- + } + txp.lastReleaseBegin = begin + if len(txp.ids) == 0 { + delete(f.pending, tid) + } + } + f.mergeSpans(m) +} + +// rollback removes the pages from a given pending tx. +func (f *freelist) rollback(txid txid) { + // Remove page ids from cache. + txp := f.pending[txid] + if txp == nil { + return + } + var m pgids + for i, pgid := range txp.ids { + delete(f.cache, pgid) + tx := txp.alloctx[i] + if tx == 0 { + continue + } + if tx != txid { + // Pending free aborted; restore page back to alloc list. + f.allocs[pgid] = tx + } else { + // Freed page was allocated by this txn; OK to throw away. + m = append(m, pgid) + } + } + // Remove pages from pending list and mark as free if allocated by txid. + delete(f.pending, txid) + f.mergeSpans(m) +} + +// freed returns whether a given page is in the free list. +func (f *freelist) freed(pgid pgid) bool { + return f.cache[pgid] +} + +// read initializes the freelist from a freelist page. +func (f *freelist) read(p *page) { + if (p.flags & freelistPageFlag) == 0 { + panic(fmt.Sprintf("invalid freelist page: %d, page type is %s", p.id, p.typ())) + } + // If the page.count is at the max uint16 value (64k) then it's considered + // an overflow and the size of the freelist is stored as the first element. + idx, count := 0, int(p.count) + if count == 0xFFFF { + idx = 1 + count = int(((*[maxAllocSize]pgid)(unsafe.Pointer(&p.ptr)))[0]) + } + + // Copy the list of page ids from the freelist. + if count == 0 { + f.ids = nil + } else { + ids := ((*[maxAllocSize]pgid)(unsafe.Pointer(&p.ptr)))[idx : idx+count] + + // copy the ids, so we don't modify on the freelist page directly + idsCopy := make([]pgid, count) + copy(idsCopy, ids) + // Make sure they're sorted. + sort.Sort(pgids(idsCopy)) + + f.readIDs(idsCopy) + } +} + +// arrayReadIDs initializes the freelist from a given list of ids. +func (f *freelist) arrayReadIDs(ids []pgid) { + f.ids = ids + f.reindex() +} + +func (f *freelist) arrayGetFreePageIDs() []pgid { + return f.ids +} + +// write writes the page ids onto a freelist page. All free and pending ids are +// saved to disk since in the event of a program crash, all pending ids will +// become free. +func (f *freelist) write(p *page) error { + // Combine the old free pgids and pgids waiting on an open transaction. + + // Update the header flag. + p.flags |= freelistPageFlag + + // The page.count can only hold up to 64k elements so if we overflow that + // number then we handle it by putting the size in the first element. + lenids := f.count() + if lenids == 0 { + p.count = uint16(lenids) + } else if lenids < 0xFFFF { + p.count = uint16(lenids) + f.copyall(((*[maxAllocSize]pgid)(unsafe.Pointer(&p.ptr)))[:]) + } else { + p.count = 0xFFFF + ((*[maxAllocSize]pgid)(unsafe.Pointer(&p.ptr)))[0] = pgid(lenids) + f.copyall(((*[maxAllocSize]pgid)(unsafe.Pointer(&p.ptr)))[1:]) + } + + return nil +} + +// reload reads the freelist from a page and filters out pending items. +func (f *freelist) reload(p *page) { + f.read(p) + + // Build a cache of only pending pages. + pcache := make(map[pgid]bool) + for _, txp := range f.pending { + for _, pendingID := range txp.ids { + pcache[pendingID] = true + } + } + + // Check each page in the freelist and build a new available freelist + // with any pages not in the pending lists. + var a []pgid + for _, id := range f.getFreePageIDs() { + if !pcache[id] { + a = append(a, id) + } + } + + f.readIDs(a) +} + +// reindex rebuilds the free cache based on available and pending free lists. +func (f *freelist) reindex() { + ids := f.getFreePageIDs() + f.cache = make(map[pgid]bool, len(ids)) + for _, id := range ids { + f.cache[id] = true + } + for _, txp := range f.pending { + for _, pendingID := range txp.ids { + f.cache[pendingID] = true + } + } +} + +// arrayMergeSpans try to merge list of pages(represented by pgids) with existing spans but using array +func (f *freelist) arrayMergeSpans(ids pgids) { + sort.Sort(ids) + f.ids = pgids(f.ids).merge(ids) +} diff --git a/vendor/go.etcd.io/bbolt/freelist_hmap.go b/vendor/go.etcd.io/bbolt/freelist_hmap.go new file mode 100644 index 000000000..6a03a6c3c --- /dev/null +++ b/vendor/go.etcd.io/bbolt/freelist_hmap.go @@ -0,0 +1,178 @@ +package bbolt + +import "sort" + +// hashmapFreeCount returns count of free pages(hashmap version) +func (f *freelist) hashmapFreeCount() int { + // use the forwardmap to get the total count + count := 0 + for _, size := range f.forwardMap { + count += int(size) + } + return count +} + +// hashmapAllocate serves the same purpose as arrayAllocate, but use hashmap as backend +func (f *freelist) hashmapAllocate(txid txid, n int) pgid { + if n == 0 { + return 0 + } + + // if we have a exact size match just return short path + if bm, ok := f.freemaps[uint64(n)]; ok { + for pid := range bm { + // remove the span + f.delSpan(pid, uint64(n)) + + f.allocs[pid] = txid + + for i := pgid(0); i < pgid(n); i++ { + delete(f.cache, pid+pgid(i)) + } + return pid + } + } + + // lookup the map to find larger span + for size, bm := range f.freemaps { + if size < uint64(n) { + continue + } + + for pid := range bm { + // remove the initial + f.delSpan(pid, uint64(size)) + + f.allocs[pid] = txid + + remain := size - uint64(n) + + // add remain span + f.addSpan(pid+pgid(n), remain) + + for i := pgid(0); i < pgid(n); i++ { + delete(f.cache, pid+pgid(i)) + } + return pid + } + } + + return 0 +} + +// hashmapReadIDs reads pgids as input an initial the freelist(hashmap version) +func (f *freelist) hashmapReadIDs(pgids []pgid) { + f.init(pgids) + + // Rebuild the page cache. + f.reindex() +} + +// hashmapGetFreePageIDs returns the sorted free page ids +func (f *freelist) hashmapGetFreePageIDs() []pgid { + count := f.free_count() + if count == 0 { + return nil + } + + m := make([]pgid, 0, count) + for start, size := range f.forwardMap { + for i := 0; i < int(size); i++ { + m = append(m, start+pgid(i)) + } + } + sort.Sort(pgids(m)) + + return m +} + +// hashmapMergeSpans try to merge list of pages(represented by pgids) with existing spans +func (f *freelist) hashmapMergeSpans(ids pgids) { + for _, id := range ids { + // try to see if we can merge and update + f.mergeWithExistingSpan(id) + } +} + +// mergeWithExistingSpan merges pid to the existing free spans, try to merge it backward and forward +func (f *freelist) mergeWithExistingSpan(pid pgid) { + prev := pid - 1 + next := pid + 1 + + preSize, mergeWithPrev := f.backwardMap[prev] + nextSize, mergeWithNext := f.forwardMap[next] + newStart := pid + newSize := uint64(1) + + if mergeWithPrev { + //merge with previous span + start := prev + 1 - pgid(preSize) + f.delSpan(start, preSize) + + newStart -= pgid(preSize) + newSize += preSize + } + + if mergeWithNext { + // merge with next span + f.delSpan(next, nextSize) + newSize += nextSize + } + + f.addSpan(newStart, newSize) +} + +func (f *freelist) addSpan(start pgid, size uint64) { + f.backwardMap[start-1+pgid(size)] = size + f.forwardMap[start] = size + if _, ok := f.freemaps[size]; !ok { + f.freemaps[size] = make(map[pgid]struct{}) + } + + f.freemaps[size][start] = struct{}{} +} + +func (f *freelist) delSpan(start pgid, size uint64) { + delete(f.forwardMap, start) + delete(f.backwardMap, start+pgid(size-1)) + delete(f.freemaps[size], start) + if len(f.freemaps[size]) == 0 { + delete(f.freemaps, size) + } +} + +// initial from pgids using when use hashmap version +// pgids must be sorted +func (f *freelist) init(pgids []pgid) { + if len(pgids) == 0 { + return + } + + size := uint64(1) + start := pgids[0] + + if !sort.SliceIsSorted([]pgid(pgids), func(i, j int) bool { return pgids[i] < pgids[j] }) { + panic("pgids not sorted") + } + + f.freemaps = make(map[uint64]pidSet) + f.forwardMap = make(map[pgid]uint64) + f.backwardMap = make(map[pgid]uint64) + + for i := 1; i < len(pgids); i++ { + // continuous page + if pgids[i] == pgids[i-1]+1 { + size++ + } else { + f.addSpan(start, size) + + size = 1 + start = pgids[i] + } + } + + // init the tail + if size != 0 && start != 0 { + f.addSpan(start, size) + } +} diff --git a/vendor/go.etcd.io/bbolt/node.go b/vendor/go.etcd.io/bbolt/node.go new file mode 100644 index 000000000..6c3fa553e --- /dev/null +++ b/vendor/go.etcd.io/bbolt/node.go @@ -0,0 +1,604 @@ +package bbolt + +import ( + "bytes" + "fmt" + "sort" + "unsafe" +) + +// node represents an in-memory, deserialized page. +type node struct { + bucket *Bucket + isLeaf bool + unbalanced bool + spilled bool + key []byte + pgid pgid + parent *node + children nodes + inodes inodes +} + +// root returns the top-level node this node is attached to. +func (n *node) root() *node { + if n.parent == nil { + return n + } + return n.parent.root() +} + +// minKeys returns the minimum number of inodes this node should have. +func (n *node) minKeys() int { + if n.isLeaf { + return 1 + } + return 2 +} + +// size returns the size of the node after serialization. +func (n *node) size() int { + sz, elsz := pageHeaderSize, n.pageElementSize() + for i := 0; i < len(n.inodes); i++ { + item := &n.inodes[i] + sz += elsz + len(item.key) + len(item.value) + } + return sz +} + +// sizeLessThan returns true if the node is less than a given size. +// This is an optimization to avoid calculating a large node when we only need +// to know if it fits inside a certain page size. +func (n *node) sizeLessThan(v int) bool { + sz, elsz := pageHeaderSize, n.pageElementSize() + for i := 0; i < len(n.inodes); i++ { + item := &n.inodes[i] + sz += elsz + len(item.key) + len(item.value) + if sz >= v { + return false + } + } + return true +} + +// pageElementSize returns the size of each page element based on the type of node. +func (n *node) pageElementSize() int { + if n.isLeaf { + return leafPageElementSize + } + return branchPageElementSize +} + +// childAt returns the child node at a given index. +func (n *node) childAt(index int) *node { + if n.isLeaf { + panic(fmt.Sprintf("invalid childAt(%d) on a leaf node", index)) + } + return n.bucket.node(n.inodes[index].pgid, n) +} + +// childIndex returns the index of a given child node. +func (n *node) childIndex(child *node) int { + index := sort.Search(len(n.inodes), func(i int) bool { return bytes.Compare(n.inodes[i].key, child.key) != -1 }) + return index +} + +// numChildren returns the number of children. +func (n *node) numChildren() int { + return len(n.inodes) +} + +// nextSibling returns the next node with the same parent. +func (n *node) nextSibling() *node { + if n.parent == nil { + return nil + } + index := n.parent.childIndex(n) + if index >= n.parent.numChildren()-1 { + return nil + } + return n.parent.childAt(index + 1) +} + +// prevSibling returns the previous node with the same parent. +func (n *node) prevSibling() *node { + if n.parent == nil { + return nil + } + index := n.parent.childIndex(n) + if index == 0 { + return nil + } + return n.parent.childAt(index - 1) +} + +// put inserts a key/value. +func (n *node) put(oldKey, newKey, value []byte, pgid pgid, flags uint32) { + if pgid >= n.bucket.tx.meta.pgid { + panic(fmt.Sprintf("pgid (%d) above high water mark (%d)", pgid, n.bucket.tx.meta.pgid)) + } else if len(oldKey) <= 0 { + panic("put: zero-length old key") + } else if len(newKey) <= 0 { + panic("put: zero-length new key") + } + + // Find insertion index. + index := sort.Search(len(n.inodes), func(i int) bool { return bytes.Compare(n.inodes[i].key, oldKey) != -1 }) + + // Add capacity and shift nodes if we don't have an exact match and need to insert. + exact := (len(n.inodes) > 0 && index < len(n.inodes) && bytes.Equal(n.inodes[index].key, oldKey)) + if !exact { + n.inodes = append(n.inodes, inode{}) + copy(n.inodes[index+1:], n.inodes[index:]) + } + + inode := &n.inodes[index] + inode.flags = flags + inode.key = newKey + inode.value = value + inode.pgid = pgid + _assert(len(inode.key) > 0, "put: zero-length inode key") +} + +// del removes a key from the node. +func (n *node) del(key []byte) { + // Find index of key. + index := sort.Search(len(n.inodes), func(i int) bool { return bytes.Compare(n.inodes[i].key, key) != -1 }) + + // Exit if the key isn't found. + if index >= len(n.inodes) || !bytes.Equal(n.inodes[index].key, key) { + return + } + + // Delete inode from the node. + n.inodes = append(n.inodes[:index], n.inodes[index+1:]...) + + // Mark the node as needing rebalancing. + n.unbalanced = true +} + +// read initializes the node from a page. +func (n *node) read(p *page) { + n.pgid = p.id + n.isLeaf = ((p.flags & leafPageFlag) != 0) + n.inodes = make(inodes, int(p.count)) + + for i := 0; i < int(p.count); i++ { + inode := &n.inodes[i] + if n.isLeaf { + elem := p.leafPageElement(uint16(i)) + inode.flags = elem.flags + inode.key = elem.key() + inode.value = elem.value() + } else { + elem := p.branchPageElement(uint16(i)) + inode.pgid = elem.pgid + inode.key = elem.key() + } + _assert(len(inode.key) > 0, "read: zero-length inode key") + } + + // Save first key so we can find the node in the parent when we spill. + if len(n.inodes) > 0 { + n.key = n.inodes[0].key + _assert(len(n.key) > 0, "read: zero-length node key") + } else { + n.key = nil + } +} + +// write writes the items onto one or more pages. +func (n *node) write(p *page) { + // Initialize page. + if n.isLeaf { + p.flags |= leafPageFlag + } else { + p.flags |= branchPageFlag + } + + if len(n.inodes) >= 0xFFFF { + panic(fmt.Sprintf("inode overflow: %d (pgid=%d)", len(n.inodes), p.id)) + } + p.count = uint16(len(n.inodes)) + + // Stop here if there are no items to write. + if p.count == 0 { + return + } + + // Loop over each item and write it to the page. + b := (*[maxAllocSize]byte)(unsafe.Pointer(&p.ptr))[n.pageElementSize()*len(n.inodes):] + for i, item := range n.inodes { + _assert(len(item.key) > 0, "write: zero-length inode key") + + // Write the page element. + if n.isLeaf { + elem := p.leafPageElement(uint16(i)) + elem.pos = uint32(uintptr(unsafe.Pointer(&b[0])) - uintptr(unsafe.Pointer(elem))) + elem.flags = item.flags + elem.ksize = uint32(len(item.key)) + elem.vsize = uint32(len(item.value)) + } else { + elem := p.branchPageElement(uint16(i)) + elem.pos = uint32(uintptr(unsafe.Pointer(&b[0])) - uintptr(unsafe.Pointer(elem))) + elem.ksize = uint32(len(item.key)) + elem.pgid = item.pgid + _assert(elem.pgid != p.id, "write: circular dependency occurred") + } + + // If the length of key+value is larger than the max allocation size + // then we need to reallocate the byte array pointer. + // + // See: https://github.com/boltdb/bolt/pull/335 + klen, vlen := len(item.key), len(item.value) + if len(b) < klen+vlen { + b = (*[maxAllocSize]byte)(unsafe.Pointer(&b[0]))[:] + } + + // Write data for the element to the end of the page. + copy(b[0:], item.key) + b = b[klen:] + copy(b[0:], item.value) + b = b[vlen:] + } + + // DEBUG ONLY: n.dump() +} + +// split breaks up a node into multiple smaller nodes, if appropriate. +// This should only be called from the spill() function. +func (n *node) split(pageSize int) []*node { + var nodes []*node + + node := n + for { + // Split node into two. + a, b := node.splitTwo(pageSize) + nodes = append(nodes, a) + + // If we can't split then exit the loop. + if b == nil { + break + } + + // Set node to b so it gets split on the next iteration. + node = b + } + + return nodes +} + +// splitTwo breaks up a node into two smaller nodes, if appropriate. +// This should only be called from the split() function. +func (n *node) splitTwo(pageSize int) (*node, *node) { + // Ignore the split if the page doesn't have at least enough nodes for + // two pages or if the nodes can fit in a single page. + if len(n.inodes) <= (minKeysPerPage*2) || n.sizeLessThan(pageSize) { + return n, nil + } + + // Determine the threshold before starting a new node. + var fillPercent = n.bucket.FillPercent + if fillPercent < minFillPercent { + fillPercent = minFillPercent + } else if fillPercent > maxFillPercent { + fillPercent = maxFillPercent + } + threshold := int(float64(pageSize) * fillPercent) + + // Determine split position and sizes of the two pages. + splitIndex, _ := n.splitIndex(threshold) + + // Split node into two separate nodes. + // If there's no parent then we'll need to create one. + if n.parent == nil { + n.parent = &node{bucket: n.bucket, children: []*node{n}} + } + + // Create a new node and add it to the parent. + next := &node{bucket: n.bucket, isLeaf: n.isLeaf, parent: n.parent} + n.parent.children = append(n.parent.children, next) + + // Split inodes across two nodes. + next.inodes = n.inodes[splitIndex:] + n.inodes = n.inodes[:splitIndex] + + // Update the statistics. + n.bucket.tx.stats.Split++ + + return n, next +} + +// splitIndex finds the position where a page will fill a given threshold. +// It returns the index as well as the size of the first page. +// This is only be called from split(). +func (n *node) splitIndex(threshold int) (index, sz int) { + sz = pageHeaderSize + + // Loop until we only have the minimum number of keys required for the second page. + for i := 0; i < len(n.inodes)-minKeysPerPage; i++ { + index = i + inode := n.inodes[i] + elsize := n.pageElementSize() + len(inode.key) + len(inode.value) + + // If we have at least the minimum number of keys and adding another + // node would put us over the threshold then exit and return. + if i >= minKeysPerPage && sz+elsize > threshold { + break + } + + // Add the element size to the total size. + sz += elsize + } + + return +} + +// spill writes the nodes to dirty pages and splits nodes as it goes. +// Returns an error if dirty pages cannot be allocated. +func (n *node) spill() error { + var tx = n.bucket.tx + if n.spilled { + return nil + } + + // Spill child nodes first. Child nodes can materialize sibling nodes in + // the case of split-merge so we cannot use a range loop. We have to check + // the children size on every loop iteration. + sort.Sort(n.children) + for i := 0; i < len(n.children); i++ { + if err := n.children[i].spill(); err != nil { + return err + } + } + + // We no longer need the child list because it's only used for spill tracking. + n.children = nil + + // Split nodes into appropriate sizes. The first node will always be n. + var nodes = n.split(tx.db.pageSize) + for _, node := range nodes { + // Add node's page to the freelist if it's not new. + if node.pgid > 0 { + tx.db.freelist.free(tx.meta.txid, tx.page(node.pgid)) + node.pgid = 0 + } + + // Allocate contiguous space for the node. + p, err := tx.allocate((node.size() + tx.db.pageSize - 1) / tx.db.pageSize) + if err != nil { + return err + } + + // Write the node. + if p.id >= tx.meta.pgid { + panic(fmt.Sprintf("pgid (%d) above high water mark (%d)", p.id, tx.meta.pgid)) + } + node.pgid = p.id + node.write(p) + node.spilled = true + + // Insert into parent inodes. + if node.parent != nil { + var key = node.key + if key == nil { + key = node.inodes[0].key + } + + node.parent.put(key, node.inodes[0].key, nil, node.pgid, 0) + node.key = node.inodes[0].key + _assert(len(node.key) > 0, "spill: zero-length node key") + } + + // Update the statistics. + tx.stats.Spill++ + } + + // If the root node split and created a new root then we need to spill that + // as well. We'll clear out the children to make sure it doesn't try to respill. + if n.parent != nil && n.parent.pgid == 0 { + n.children = nil + return n.parent.spill() + } + + return nil +} + +// rebalance attempts to combine the node with sibling nodes if the node fill +// size is below a threshold or if there are not enough keys. +func (n *node) rebalance() { + if !n.unbalanced { + return + } + n.unbalanced = false + + // Update statistics. + n.bucket.tx.stats.Rebalance++ + + // Ignore if node is above threshold (25%) and has enough keys. + var threshold = n.bucket.tx.db.pageSize / 4 + if n.size() > threshold && len(n.inodes) > n.minKeys() { + return + } + + // Root node has special handling. + if n.parent == nil { + // If root node is a branch and only has one node then collapse it. + if !n.isLeaf && len(n.inodes) == 1 { + // Move root's child up. + child := n.bucket.node(n.inodes[0].pgid, n) + n.isLeaf = child.isLeaf + n.inodes = child.inodes[:] + n.children = child.children + + // Reparent all child nodes being moved. + for _, inode := range n.inodes { + if child, ok := n.bucket.nodes[inode.pgid]; ok { + child.parent = n + } + } + + // Remove old child. + child.parent = nil + delete(n.bucket.nodes, child.pgid) + child.free() + } + + return + } + + // If node has no keys then just remove it. + if n.numChildren() == 0 { + n.parent.del(n.key) + n.parent.removeChild(n) + delete(n.bucket.nodes, n.pgid) + n.free() + n.parent.rebalance() + return + } + + _assert(n.parent.numChildren() > 1, "parent must have at least 2 children") + + // Destination node is right sibling if idx == 0, otherwise left sibling. + var target *node + var useNextSibling = (n.parent.childIndex(n) == 0) + if useNextSibling { + target = n.nextSibling() + } else { + target = n.prevSibling() + } + + // If both this node and the target node are too small then merge them. + if useNextSibling { + // Reparent all child nodes being moved. + for _, inode := range target.inodes { + if child, ok := n.bucket.nodes[inode.pgid]; ok { + child.parent.removeChild(child) + child.parent = n + child.parent.children = append(child.parent.children, child) + } + } + + // Copy over inodes from target and remove target. + n.inodes = append(n.inodes, target.inodes...) + n.parent.del(target.key) + n.parent.removeChild(target) + delete(n.bucket.nodes, target.pgid) + target.free() + } else { + // Reparent all child nodes being moved. + for _, inode := range n.inodes { + if child, ok := n.bucket.nodes[inode.pgid]; ok { + child.parent.removeChild(child) + child.parent = target + child.parent.children = append(child.parent.children, child) + } + } + + // Copy over inodes to target and remove node. + target.inodes = append(target.inodes, n.inodes...) + n.parent.del(n.key) + n.parent.removeChild(n) + delete(n.bucket.nodes, n.pgid) + n.free() + } + + // Either this node or the target node was deleted from the parent so rebalance it. + n.parent.rebalance() +} + +// removes a node from the list of in-memory children. +// This does not affect the inodes. +func (n *node) removeChild(target *node) { + for i, child := range n.children { + if child == target { + n.children = append(n.children[:i], n.children[i+1:]...) + return + } + } +} + +// dereference causes the node to copy all its inode key/value references to heap memory. +// This is required when the mmap is reallocated so inodes are not pointing to stale data. +func (n *node) dereference() { + if n.key != nil { + key := make([]byte, len(n.key)) + copy(key, n.key) + n.key = key + _assert(n.pgid == 0 || len(n.key) > 0, "dereference: zero-length node key on existing node") + } + + for i := range n.inodes { + inode := &n.inodes[i] + + key := make([]byte, len(inode.key)) + copy(key, inode.key) + inode.key = key + _assert(len(inode.key) > 0, "dereference: zero-length inode key") + + value := make([]byte, len(inode.value)) + copy(value, inode.value) + inode.value = value + } + + // Recursively dereference children. + for _, child := range n.children { + child.dereference() + } + + // Update statistics. + n.bucket.tx.stats.NodeDeref++ +} + +// free adds the node's underlying page to the freelist. +func (n *node) free() { + if n.pgid != 0 { + n.bucket.tx.db.freelist.free(n.bucket.tx.meta.txid, n.bucket.tx.page(n.pgid)) + n.pgid = 0 + } +} + +// dump writes the contents of the node to STDERR for debugging purposes. +/* +func (n *node) dump() { + // Write node header. + var typ = "branch" + if n.isLeaf { + typ = "leaf" + } + warnf("[NODE %d {type=%s count=%d}]", n.pgid, typ, len(n.inodes)) + + // Write out abbreviated version of each item. + for _, item := range n.inodes { + if n.isLeaf { + if item.flags&bucketLeafFlag != 0 { + bucket := (*bucket)(unsafe.Pointer(&item.value[0])) + warnf("+L %08x -> (bucket root=%d)", trunc(item.key, 4), bucket.root) + } else { + warnf("+L %08x -> %08x", trunc(item.key, 4), trunc(item.value, 4)) + } + } else { + warnf("+B %08x -> pgid=%d", trunc(item.key, 4), item.pgid) + } + } + warn("") +} +*/ + +type nodes []*node + +func (s nodes) Len() int { return len(s) } +func (s nodes) Swap(i, j int) { s[i], s[j] = s[j], s[i] } +func (s nodes) Less(i, j int) bool { return bytes.Compare(s[i].inodes[0].key, s[j].inodes[0].key) == -1 } + +// inode represents an internal node inside of a node. +// It can be used to point to elements in a page or point +// to an element which hasn't been added to a page yet. +type inode struct { + flags uint32 + pgid pgid + key []byte + value []byte +} + +type inodes []inode diff --git a/vendor/go.etcd.io/bbolt/page.go b/vendor/go.etcd.io/bbolt/page.go new file mode 100644 index 000000000..bca9615f0 --- /dev/null +++ b/vendor/go.etcd.io/bbolt/page.go @@ -0,0 +1,197 @@ +package bbolt + +import ( + "fmt" + "os" + "sort" + "unsafe" +) + +const pageHeaderSize = int(unsafe.Offsetof(((*page)(nil)).ptr)) + +const minKeysPerPage = 2 + +const branchPageElementSize = int(unsafe.Sizeof(branchPageElement{})) +const leafPageElementSize = int(unsafe.Sizeof(leafPageElement{})) + +const ( + branchPageFlag = 0x01 + leafPageFlag = 0x02 + metaPageFlag = 0x04 + freelistPageFlag = 0x10 +) + +const ( + bucketLeafFlag = 0x01 +) + +type pgid uint64 + +type page struct { + id pgid + flags uint16 + count uint16 + overflow uint32 + ptr uintptr +} + +// typ returns a human readable page type string used for debugging. +func (p *page) typ() string { + if (p.flags & branchPageFlag) != 0 { + return "branch" + } else if (p.flags & leafPageFlag) != 0 { + return "leaf" + } else if (p.flags & metaPageFlag) != 0 { + return "meta" + } else if (p.flags & freelistPageFlag) != 0 { + return "freelist" + } + return fmt.Sprintf("unknown<%02x>", p.flags) +} + +// meta returns a pointer to the metadata section of the page. +func (p *page) meta() *meta { + return (*meta)(unsafe.Pointer(&p.ptr)) +} + +// leafPageElement retrieves the leaf node by index +func (p *page) leafPageElement(index uint16) *leafPageElement { + n := &((*[0x7FFFFFF]leafPageElement)(unsafe.Pointer(&p.ptr)))[index] + return n +} + +// leafPageElements retrieves a list of leaf nodes. +func (p *page) leafPageElements() []leafPageElement { + if p.count == 0 { + return nil + } + return ((*[0x7FFFFFF]leafPageElement)(unsafe.Pointer(&p.ptr)))[:] +} + +// branchPageElement retrieves the branch node by index +func (p *page) branchPageElement(index uint16) *branchPageElement { + return &((*[0x7FFFFFF]branchPageElement)(unsafe.Pointer(&p.ptr)))[index] +} + +// branchPageElements retrieves a list of branch nodes. +func (p *page) branchPageElements() []branchPageElement { + if p.count == 0 { + return nil + } + return ((*[0x7FFFFFF]branchPageElement)(unsafe.Pointer(&p.ptr)))[:] +} + +// dump writes n bytes of the page to STDERR as hex output. +func (p *page) hexdump(n int) { + buf := (*[maxAllocSize]byte)(unsafe.Pointer(p))[:n] + fmt.Fprintf(os.Stderr, "%x\n", buf) +} + +type pages []*page + +func (s pages) Len() int { return len(s) } +func (s pages) Swap(i, j int) { s[i], s[j] = s[j], s[i] } +func (s pages) Less(i, j int) bool { return s[i].id < s[j].id } + +// branchPageElement represents a node on a branch page. +type branchPageElement struct { + pos uint32 + ksize uint32 + pgid pgid +} + +// key returns a byte slice of the node key. +func (n *branchPageElement) key() []byte { + buf := (*[maxAllocSize]byte)(unsafe.Pointer(n)) + return (*[maxAllocSize]byte)(unsafe.Pointer(&buf[n.pos]))[:n.ksize] +} + +// leafPageElement represents a node on a leaf page. +type leafPageElement struct { + flags uint32 + pos uint32 + ksize uint32 + vsize uint32 +} + +// key returns a byte slice of the node key. +func (n *leafPageElement) key() []byte { + buf := (*[maxAllocSize]byte)(unsafe.Pointer(n)) + return (*[maxAllocSize]byte)(unsafe.Pointer(&buf[n.pos]))[:n.ksize:n.ksize] +} + +// value returns a byte slice of the node value. +func (n *leafPageElement) value() []byte { + buf := (*[maxAllocSize]byte)(unsafe.Pointer(n)) + return (*[maxAllocSize]byte)(unsafe.Pointer(&buf[n.pos+n.ksize]))[:n.vsize:n.vsize] +} + +// PageInfo represents human readable information about a page. +type PageInfo struct { + ID int + Type string + Count int + OverflowCount int +} + +type pgids []pgid + +func (s pgids) Len() int { return len(s) } +func (s pgids) Swap(i, j int) { s[i], s[j] = s[j], s[i] } +func (s pgids) Less(i, j int) bool { return s[i] < s[j] } + +// merge returns the sorted union of a and b. +func (a pgids) merge(b pgids) pgids { + // Return the opposite slice if one is nil. + if len(a) == 0 { + return b + } + if len(b) == 0 { + return a + } + merged := make(pgids, len(a)+len(b)) + mergepgids(merged, a, b) + return merged +} + +// mergepgids copies the sorted union of a and b into dst. +// If dst is too small, it panics. +func mergepgids(dst, a, b pgids) { + if len(dst) < len(a)+len(b) { + panic(fmt.Errorf("mergepgids bad len %d < %d + %d", len(dst), len(a), len(b))) + } + // Copy in the opposite slice if one is nil. + if len(a) == 0 { + copy(dst, b) + return + } + if len(b) == 0 { + copy(dst, a) + return + } + + // Merged will hold all elements from both lists. + merged := dst[:0] + + // Assign lead to the slice with a lower starting value, follow to the higher value. + lead, follow := a, b + if b[0] < a[0] { + lead, follow = b, a + } + + // Continue while there are elements in the lead. + for len(lead) > 0 { + // Merge largest prefix of lead that is ahead of follow[0]. + n := sort.Search(len(lead), func(i int) bool { return lead[i] > follow[0] }) + merged = append(merged, lead[:n]...) + if n >= len(lead) { + break + } + + // Swap lead and follow. + lead, follow = follow, lead[n:] + } + + // Append what's left in follow. + _ = append(merged, follow...) +} diff --git a/vendor/go.etcd.io/bbolt/tx.go b/vendor/go.etcd.io/bbolt/tx.go new file mode 100644 index 000000000..f50864142 --- /dev/null +++ b/vendor/go.etcd.io/bbolt/tx.go @@ -0,0 +1,707 @@ +package bbolt + +import ( + "fmt" + "io" + "os" + "sort" + "strings" + "time" + "unsafe" +) + +// txid represents the internal transaction identifier. +type txid uint64 + +// Tx represents a read-only or read/write transaction on the database. +// Read-only transactions can be used for retrieving values for keys and creating cursors. +// Read/write transactions can create and remove buckets and create and remove keys. +// +// IMPORTANT: You must commit or rollback transactions when you are done with +// them. Pages can not be reclaimed by the writer until no more transactions +// are using them. A long running read transaction can cause the database to +// quickly grow. +type Tx struct { + writable bool + managed bool + db *DB + meta *meta + root Bucket + pages map[pgid]*page + stats TxStats + commitHandlers []func() + + // WriteFlag specifies the flag for write-related methods like WriteTo(). + // Tx opens the database file with the specified flag to copy the data. + // + // By default, the flag is unset, which works well for mostly in-memory + // workloads. For databases that are much larger than available RAM, + // set the flag to syscall.O_DIRECT to avoid trashing the page cache. + WriteFlag int +} + +// init initializes the transaction. +func (tx *Tx) init(db *DB) { + tx.db = db + tx.pages = nil + + // Copy the meta page since it can be changed by the writer. + tx.meta = &meta{} + db.meta().copy(tx.meta) + + // Copy over the root bucket. + tx.root = newBucket(tx) + tx.root.bucket = &bucket{} + *tx.root.bucket = tx.meta.root + + // Increment the transaction id and add a page cache for writable transactions. + if tx.writable { + tx.pages = make(map[pgid]*page) + tx.meta.txid += txid(1) + } +} + +// ID returns the transaction id. +func (tx *Tx) ID() int { + return int(tx.meta.txid) +} + +// DB returns a reference to the database that created the transaction. +func (tx *Tx) DB() *DB { + return tx.db +} + +// Size returns current database size in bytes as seen by this transaction. +func (tx *Tx) Size() int64 { + return int64(tx.meta.pgid) * int64(tx.db.pageSize) +} + +// Writable returns whether the transaction can perform write operations. +func (tx *Tx) Writable() bool { + return tx.writable +} + +// Cursor creates a cursor associated with the root bucket. +// All items in the cursor will return a nil value because all root bucket keys point to buckets. +// The cursor is only valid as long as the transaction is open. +// Do not use a cursor after the transaction is closed. +func (tx *Tx) Cursor() *Cursor { + return tx.root.Cursor() +} + +// Stats retrieves a copy of the current transaction statistics. +func (tx *Tx) Stats() TxStats { + return tx.stats +} + +// Bucket retrieves a bucket by name. +// Returns nil if the bucket does not exist. +// The bucket instance is only valid for the lifetime of the transaction. +func (tx *Tx) Bucket(name []byte) *Bucket { + return tx.root.Bucket(name) +} + +// CreateBucket creates a new bucket. +// Returns an error if the bucket already exists, if the bucket name is blank, or if the bucket name is too long. +// The bucket instance is only valid for the lifetime of the transaction. +func (tx *Tx) CreateBucket(name []byte) (*Bucket, error) { + return tx.root.CreateBucket(name) +} + +// CreateBucketIfNotExists creates a new bucket if it doesn't already exist. +// Returns an error if the bucket name is blank, or if the bucket name is too long. +// The bucket instance is only valid for the lifetime of the transaction. +func (tx *Tx) CreateBucketIfNotExists(name []byte) (*Bucket, error) { + return tx.root.CreateBucketIfNotExists(name) +} + +// DeleteBucket deletes a bucket. +// Returns an error if the bucket cannot be found or if the key represents a non-bucket value. +func (tx *Tx) DeleteBucket(name []byte) error { + return tx.root.DeleteBucket(name) +} + +// ForEach executes a function for each bucket in the root. +// If the provided function returns an error then the iteration is stopped and +// the error is returned to the caller. +func (tx *Tx) ForEach(fn func(name []byte, b *Bucket) error) error { + return tx.root.ForEach(func(k, v []byte) error { + return fn(k, tx.root.Bucket(k)) + }) +} + +// OnCommit adds a handler function to be executed after the transaction successfully commits. +func (tx *Tx) OnCommit(fn func()) { + tx.commitHandlers = append(tx.commitHandlers, fn) +} + +// Commit writes all changes to disk and updates the meta page. +// Returns an error if a disk write error occurs, or if Commit is +// called on a read-only transaction. +func (tx *Tx) Commit() error { + _assert(!tx.managed, "managed tx commit not allowed") + if tx.db == nil { + return ErrTxClosed + } else if !tx.writable { + return ErrTxNotWritable + } + + // TODO(benbjohnson): Use vectorized I/O to write out dirty pages. + + // Rebalance nodes which have had deletions. + var startTime = time.Now() + tx.root.rebalance() + if tx.stats.Rebalance > 0 { + tx.stats.RebalanceTime += time.Since(startTime) + } + + // spill data onto dirty pages. + startTime = time.Now() + if err := tx.root.spill(); err != nil { + tx.rollback() + return err + } + tx.stats.SpillTime += time.Since(startTime) + + // Free the old root bucket. + tx.meta.root.root = tx.root.root + + // Free the old freelist because commit writes out a fresh freelist. + if tx.meta.freelist != pgidNoFreelist { + tx.db.freelist.free(tx.meta.txid, tx.db.page(tx.meta.freelist)) + } + + if !tx.db.NoFreelistSync { + err := tx.commitFreelist() + if err != nil { + return err + } + } else { + tx.meta.freelist = pgidNoFreelist + } + + // Write dirty pages to disk. + startTime = time.Now() + if err := tx.write(); err != nil { + tx.rollback() + return err + } + + // If strict mode is enabled then perform a consistency check. + // Only the first consistency error is reported in the panic. + if tx.db.StrictMode { + ch := tx.Check() + var errs []string + for { + err, ok := <-ch + if !ok { + break + } + errs = append(errs, err.Error()) + } + if len(errs) > 0 { + panic("check fail: " + strings.Join(errs, "\n")) + } + } + + // Write meta to disk. + if err := tx.writeMeta(); err != nil { + tx.rollback() + return err + } + tx.stats.WriteTime += time.Since(startTime) + + // Finalize the transaction. + tx.close() + + // Execute commit handlers now that the locks have been removed. + for _, fn := range tx.commitHandlers { + fn() + } + + return nil +} + +func (tx *Tx) commitFreelist() error { + // Allocate new pages for the new free list. This will overestimate + // the size of the freelist but not underestimate the size (which would be bad). + opgid := tx.meta.pgid + p, err := tx.allocate((tx.db.freelist.size() / tx.db.pageSize) + 1) + if err != nil { + tx.rollback() + return err + } + if err := tx.db.freelist.write(p); err != nil { + tx.rollback() + return err + } + tx.meta.freelist = p.id + // If the high water mark has moved up then attempt to grow the database. + if tx.meta.pgid > opgid { + if err := tx.db.grow(int(tx.meta.pgid+1) * tx.db.pageSize); err != nil { + tx.rollback() + return err + } + } + + return nil +} + +// Rollback closes the transaction and ignores all previous updates. Read-only +// transactions must be rolled back and not committed. +func (tx *Tx) Rollback() error { + _assert(!tx.managed, "managed tx rollback not allowed") + if tx.db == nil { + return ErrTxClosed + } + tx.rollback() + return nil +} + +func (tx *Tx) rollback() { + if tx.db == nil { + return + } + if tx.writable { + tx.db.freelist.rollback(tx.meta.txid) + tx.db.freelist.reload(tx.db.page(tx.db.meta().freelist)) + } + tx.close() +} + +func (tx *Tx) close() { + if tx.db == nil { + return + } + if tx.writable { + // Grab freelist stats. + var freelistFreeN = tx.db.freelist.free_count() + var freelistPendingN = tx.db.freelist.pending_count() + var freelistAlloc = tx.db.freelist.size() + + // Remove transaction ref & writer lock. + tx.db.rwtx = nil + tx.db.rwlock.Unlock() + + // Merge statistics. + tx.db.statlock.Lock() + tx.db.stats.FreePageN = freelistFreeN + tx.db.stats.PendingPageN = freelistPendingN + tx.db.stats.FreeAlloc = (freelistFreeN + freelistPendingN) * tx.db.pageSize + tx.db.stats.FreelistInuse = freelistAlloc + tx.db.stats.TxStats.add(&tx.stats) + tx.db.statlock.Unlock() + } else { + tx.db.removeTx(tx) + } + + // Clear all references. + tx.db = nil + tx.meta = nil + tx.root = Bucket{tx: tx} + tx.pages = nil +} + +// Copy writes the entire database to a writer. +// This function exists for backwards compatibility. +// +// Deprecated; Use WriteTo() instead. +func (tx *Tx) Copy(w io.Writer) error { + _, err := tx.WriteTo(w) + return err +} + +// WriteTo writes the entire database to a writer. +// If err == nil then exactly tx.Size() bytes will be written into the writer. +func (tx *Tx) WriteTo(w io.Writer) (n int64, err error) { + // Attempt to open reader with WriteFlag + f, err := os.OpenFile(tx.db.path, os.O_RDONLY|tx.WriteFlag, 0) + if err != nil { + return 0, err + } + defer func() { + if cerr := f.Close(); err == nil { + err = cerr + } + }() + + // Generate a meta page. We use the same page data for both meta pages. + buf := make([]byte, tx.db.pageSize) + page := (*page)(unsafe.Pointer(&buf[0])) + page.flags = metaPageFlag + *page.meta() = *tx.meta + + // Write meta 0. + page.id = 0 + page.meta().checksum = page.meta().sum64() + nn, err := w.Write(buf) + n += int64(nn) + if err != nil { + return n, fmt.Errorf("meta 0 copy: %s", err) + } + + // Write meta 1 with a lower transaction id. + page.id = 1 + page.meta().txid -= 1 + page.meta().checksum = page.meta().sum64() + nn, err = w.Write(buf) + n += int64(nn) + if err != nil { + return n, fmt.Errorf("meta 1 copy: %s", err) + } + + // Move past the meta pages in the file. + if _, err := f.Seek(int64(tx.db.pageSize*2), io.SeekStart); err != nil { + return n, fmt.Errorf("seek: %s", err) + } + + // Copy data pages. + wn, err := io.CopyN(w, f, tx.Size()-int64(tx.db.pageSize*2)) + n += wn + if err != nil { + return n, err + } + + return n, nil +} + +// CopyFile copies the entire database to file at the given path. +// A reader transaction is maintained during the copy so it is safe to continue +// using the database while a copy is in progress. +func (tx *Tx) CopyFile(path string, mode os.FileMode) error { + f, err := os.OpenFile(path, os.O_RDWR|os.O_CREATE|os.O_TRUNC, mode) + if err != nil { + return err + } + + err = tx.Copy(f) + if err != nil { + _ = f.Close() + return err + } + return f.Close() +} + +// Check performs several consistency checks on the database for this transaction. +// An error is returned if any inconsistency is found. +// +// It can be safely run concurrently on a writable transaction. However, this +// incurs a high cost for large databases and databases with a lot of subbuckets +// because of caching. This overhead can be removed if running on a read-only +// transaction, however, it is not safe to execute other writer transactions at +// the same time. +func (tx *Tx) Check() <-chan error { + ch := make(chan error) + go tx.check(ch) + return ch +} + +func (tx *Tx) check(ch chan error) { + // Force loading free list if opened in ReadOnly mode. + tx.db.loadFreelist() + + // Check if any pages are double freed. + freed := make(map[pgid]bool) + all := make([]pgid, tx.db.freelist.count()) + tx.db.freelist.copyall(all) + for _, id := range all { + if freed[id] { + ch <- fmt.Errorf("page %d: already freed", id) + } + freed[id] = true + } + + // Track every reachable page. + reachable := make(map[pgid]*page) + reachable[0] = tx.page(0) // meta0 + reachable[1] = tx.page(1) // meta1 + if tx.meta.freelist != pgidNoFreelist { + for i := uint32(0); i <= tx.page(tx.meta.freelist).overflow; i++ { + reachable[tx.meta.freelist+pgid(i)] = tx.page(tx.meta.freelist) + } + } + + // Recursively check buckets. + tx.checkBucket(&tx.root, reachable, freed, ch) + + // Ensure all pages below high water mark are either reachable or freed. + for i := pgid(0); i < tx.meta.pgid; i++ { + _, isReachable := reachable[i] + if !isReachable && !freed[i] { + ch <- fmt.Errorf("page %d: unreachable unfreed", int(i)) + } + } + + // Close the channel to signal completion. + close(ch) +} + +func (tx *Tx) checkBucket(b *Bucket, reachable map[pgid]*page, freed map[pgid]bool, ch chan error) { + // Ignore inline buckets. + if b.root == 0 { + return + } + + // Check every page used by this bucket. + b.tx.forEachPage(b.root, 0, func(p *page, _ int) { + if p.id > tx.meta.pgid { + ch <- fmt.Errorf("page %d: out of bounds: %d", int(p.id), int(b.tx.meta.pgid)) + } + + // Ensure each page is only referenced once. + for i := pgid(0); i <= pgid(p.overflow); i++ { + var id = p.id + i + if _, ok := reachable[id]; ok { + ch <- fmt.Errorf("page %d: multiple references", int(id)) + } + reachable[id] = p + } + + // We should only encounter un-freed leaf and branch pages. + if freed[p.id] { + ch <- fmt.Errorf("page %d: reachable freed", int(p.id)) + } else if (p.flags&branchPageFlag) == 0 && (p.flags&leafPageFlag) == 0 { + ch <- fmt.Errorf("page %d: invalid type: %s", int(p.id), p.typ()) + } + }) + + // Check each bucket within this bucket. + _ = b.ForEach(func(k, v []byte) error { + if child := b.Bucket(k); child != nil { + tx.checkBucket(child, reachable, freed, ch) + } + return nil + }) +} + +// allocate returns a contiguous block of memory starting at a given page. +func (tx *Tx) allocate(count int) (*page, error) { + p, err := tx.db.allocate(tx.meta.txid, count) + if err != nil { + return nil, err + } + + // Save to our page cache. + tx.pages[p.id] = p + + // Update statistics. + tx.stats.PageCount += count + tx.stats.PageAlloc += count * tx.db.pageSize + + return p, nil +} + +// write writes any dirty pages to disk. +func (tx *Tx) write() error { + // Sort pages by id. + pages := make(pages, 0, len(tx.pages)) + for _, p := range tx.pages { + pages = append(pages, p) + } + // Clear out page cache early. + tx.pages = make(map[pgid]*page) + sort.Sort(pages) + + // Write pages to disk in order. + for _, p := range pages { + size := (int(p.overflow) + 1) * tx.db.pageSize + offset := int64(p.id) * int64(tx.db.pageSize) + + // Write out page in "max allocation" sized chunks. + ptr := (*[maxAllocSize]byte)(unsafe.Pointer(p)) + for { + // Limit our write to our max allocation size. + sz := size + if sz > maxAllocSize-1 { + sz = maxAllocSize - 1 + } + + // Write chunk to disk. + buf := ptr[:sz] + if _, err := tx.db.ops.writeAt(buf, offset); err != nil { + return err + } + + // Update statistics. + tx.stats.Write++ + + // Exit inner for loop if we've written all the chunks. + size -= sz + if size == 0 { + break + } + + // Otherwise move offset forward and move pointer to next chunk. + offset += int64(sz) + ptr = (*[maxAllocSize]byte)(unsafe.Pointer(&ptr[sz])) + } + } + + // Ignore file sync if flag is set on DB. + if !tx.db.NoSync || IgnoreNoSync { + if err := fdatasync(tx.db); err != nil { + return err + } + } + + // Put small pages back to page pool. + for _, p := range pages { + // Ignore page sizes over 1 page. + // These are allocated using make() instead of the page pool. + if int(p.overflow) != 0 { + continue + } + + buf := (*[maxAllocSize]byte)(unsafe.Pointer(p))[:tx.db.pageSize] + + // See https://go.googlesource.com/go/+/f03c9202c43e0abb130669852082117ca50aa9b1 + for i := range buf { + buf[i] = 0 + } + tx.db.pagePool.Put(buf) + } + + return nil +} + +// writeMeta writes the meta to the disk. +func (tx *Tx) writeMeta() error { + // Create a temporary buffer for the meta page. + buf := make([]byte, tx.db.pageSize) + p := tx.db.pageInBuffer(buf, 0) + tx.meta.write(p) + + // Write the meta page to file. + if _, err := tx.db.ops.writeAt(buf, int64(p.id)*int64(tx.db.pageSize)); err != nil { + return err + } + if !tx.db.NoSync || IgnoreNoSync { + if err := fdatasync(tx.db); err != nil { + return err + } + } + + // Update statistics. + tx.stats.Write++ + + return nil +} + +// page returns a reference to the page with a given id. +// If page has been written to then a temporary buffered page is returned. +func (tx *Tx) page(id pgid) *page { + // Check the dirty pages first. + if tx.pages != nil { + if p, ok := tx.pages[id]; ok { + return p + } + } + + // Otherwise return directly from the mmap. + return tx.db.page(id) +} + +// forEachPage iterates over every page within a given page and executes a function. +func (tx *Tx) forEachPage(pgid pgid, depth int, fn func(*page, int)) { + p := tx.page(pgid) + + // Execute function. + fn(p, depth) + + // Recursively loop over children. + if (p.flags & branchPageFlag) != 0 { + for i := 0; i < int(p.count); i++ { + elem := p.branchPageElement(uint16(i)) + tx.forEachPage(elem.pgid, depth+1, fn) + } + } +} + +// Page returns page information for a given page number. +// This is only safe for concurrent use when used by a writable transaction. +func (tx *Tx) Page(id int) (*PageInfo, error) { + if tx.db == nil { + return nil, ErrTxClosed + } else if pgid(id) >= tx.meta.pgid { + return nil, nil + } + + // Build the page info. + p := tx.db.page(pgid(id)) + info := &PageInfo{ + ID: id, + Count: int(p.count), + OverflowCount: int(p.overflow), + } + + // Determine the type (or if it's free). + if tx.db.freelist.freed(pgid(id)) { + info.Type = "free" + } else { + info.Type = p.typ() + } + + return info, nil +} + +// TxStats represents statistics about the actions performed by the transaction. +type TxStats struct { + // Page statistics. + PageCount int // number of page allocations + PageAlloc int // total bytes allocated + + // Cursor statistics. + CursorCount int // number of cursors created + + // Node statistics + NodeCount int // number of node allocations + NodeDeref int // number of node dereferences + + // Rebalance statistics. + Rebalance int // number of node rebalances + RebalanceTime time.Duration // total time spent rebalancing + + // Split/Spill statistics. + Split int // number of nodes split + Spill int // number of nodes spilled + SpillTime time.Duration // total time spent spilling + + // Write statistics. + Write int // number of writes performed + WriteTime time.Duration // total time spent writing to disk +} + +func (s *TxStats) add(other *TxStats) { + s.PageCount += other.PageCount + s.PageAlloc += other.PageAlloc + s.CursorCount += other.CursorCount + s.NodeCount += other.NodeCount + s.NodeDeref += other.NodeDeref + s.Rebalance += other.Rebalance + s.RebalanceTime += other.RebalanceTime + s.Split += other.Split + s.Spill += other.Spill + s.SpillTime += other.SpillTime + s.Write += other.Write + s.WriteTime += other.WriteTime +} + +// Sub calculates and returns the difference between two sets of transaction stats. +// This is useful when obtaining stats at two different points and time and +// you need the performance counters that occurred within that time span. +func (s *TxStats) Sub(other *TxStats) TxStats { + var diff TxStats + diff.PageCount = s.PageCount - other.PageCount + diff.PageAlloc = s.PageAlloc - other.PageAlloc + diff.CursorCount = s.CursorCount - other.CursorCount + diff.NodeCount = s.NodeCount - other.NodeCount + diff.NodeDeref = s.NodeDeref - other.NodeDeref + diff.Rebalance = s.Rebalance - other.Rebalance + diff.RebalanceTime = s.RebalanceTime - other.RebalanceTime + diff.Split = s.Split - other.Split + diff.Spill = s.Spill - other.Spill + diff.SpillTime = s.SpillTime - other.SpillTime + diff.Write = s.Write - other.Write + diff.WriteTime = s.WriteTime - other.WriteTime + return diff +} diff --git a/vendor/golang.org/x/crypto/AUTHORS b/vendor/golang.org/x/crypto/AUTHORS new file mode 100644 index 000000000..2b00ddba0 --- /dev/null +++ b/vendor/golang.org/x/crypto/AUTHORS @@ -0,0 +1,3 @@ +# This source code refers to The Go Authors for copyright purposes. +# The master list of authors is in the main Go distribution, +# visible at https://tip.golang.org/AUTHORS. diff --git a/vendor/golang.org/x/crypto/CONTRIBUTORS b/vendor/golang.org/x/crypto/CONTRIBUTORS new file mode 100644 index 000000000..1fbd3e976 --- /dev/null +++ b/vendor/golang.org/x/crypto/CONTRIBUTORS @@ -0,0 +1,3 @@ +# This source code was written by the Go contributors. +# The master list of contributors is in the main Go distribution, +# visible at https://tip.golang.org/CONTRIBUTORS. diff --git a/vendor/golang.org/x/crypto/LICENSE b/vendor/golang.org/x/crypto/LICENSE new file mode 100644 index 000000000..6a66aea5e --- /dev/null +++ b/vendor/golang.org/x/crypto/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/golang.org/x/crypto/PATENTS b/vendor/golang.org/x/crypto/PATENTS new file mode 100644 index 000000000..733099041 --- /dev/null +++ b/vendor/golang.org/x/crypto/PATENTS @@ -0,0 +1,22 @@ +Additional IP Rights Grant (Patents) + +"This implementation" means the copyrightable works distributed by +Google as part of the Go project. + +Google hereby grants to You a perpetual, worldwide, non-exclusive, +no-charge, royalty-free, irrevocable (except as stated in this section) +patent license to make, have made, use, offer to sell, sell, import, +transfer and otherwise run, modify and propagate the contents of this +implementation of Go, where such license applies only to those patent +claims, both currently owned or controlled by Google and acquired in +the future, licensable by Google that are necessarily infringed by this +implementation of Go. This grant does not include claims that would be +infringed only as a consequence of further modification of this +implementation. If you or your agent or exclusive licensee institute or +order or agree to the institution of patent litigation against any +entity (including a cross-claim or counterclaim in a lawsuit) alleging +that this implementation of Go or any code incorporated within this +implementation of Go constitutes direct or contributory patent +infringement, or inducement of patent infringement, then any patent +rights granted to you under this License for this implementation of Go +shall terminate as of the date such litigation is filed. diff --git a/vendor/golang.org/x/crypto/blake2b/blake2b.go b/vendor/golang.org/x/crypto/blake2b/blake2b.go new file mode 100644 index 000000000..c160e1a4e --- /dev/null +++ b/vendor/golang.org/x/crypto/blake2b/blake2b.go @@ -0,0 +1,289 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package blake2b implements the BLAKE2b hash algorithm defined by RFC 7693 +// and the extendable output function (XOF) BLAKE2Xb. +// +// For a detailed specification of BLAKE2b see https://blake2.net/blake2.pdf +// and for BLAKE2Xb see https://blake2.net/blake2x.pdf +// +// If you aren't sure which function you need, use BLAKE2b (Sum512 or New512). +// If you need a secret-key MAC (message authentication code), use the New512 +// function with a non-nil key. +// +// BLAKE2X is a construction to compute hash values larger than 64 bytes. It +// can produce hash values between 0 and 4 GiB. +package blake2b + +import ( + "encoding/binary" + "errors" + "hash" +) + +const ( + // The blocksize of BLAKE2b in bytes. + BlockSize = 128 + // The hash size of BLAKE2b-512 in bytes. + Size = 64 + // The hash size of BLAKE2b-384 in bytes. + Size384 = 48 + // The hash size of BLAKE2b-256 in bytes. + Size256 = 32 +) + +var ( + useAVX2 bool + useAVX bool + useSSE4 bool +) + +var ( + errKeySize = errors.New("blake2b: invalid key size") + errHashSize = errors.New("blake2b: invalid hash size") +) + +var iv = [8]uint64{ + 0x6a09e667f3bcc908, 0xbb67ae8584caa73b, 0x3c6ef372fe94f82b, 0xa54ff53a5f1d36f1, + 0x510e527fade682d1, 0x9b05688c2b3e6c1f, 0x1f83d9abfb41bd6b, 0x5be0cd19137e2179, +} + +// Sum512 returns the BLAKE2b-512 checksum of the data. +func Sum512(data []byte) [Size]byte { + var sum [Size]byte + checkSum(&sum, Size, data) + return sum +} + +// Sum384 returns the BLAKE2b-384 checksum of the data. +func Sum384(data []byte) [Size384]byte { + var sum [Size]byte + var sum384 [Size384]byte + checkSum(&sum, Size384, data) + copy(sum384[:], sum[:Size384]) + return sum384 +} + +// Sum256 returns the BLAKE2b-256 checksum of the data. +func Sum256(data []byte) [Size256]byte { + var sum [Size]byte + var sum256 [Size256]byte + checkSum(&sum, Size256, data) + copy(sum256[:], sum[:Size256]) + return sum256 +} + +// New512 returns a new hash.Hash computing the BLAKE2b-512 checksum. A non-nil +// key turns the hash into a MAC. The key must be between zero and 64 bytes long. +func New512(key []byte) (hash.Hash, error) { return newDigest(Size, key) } + +// New384 returns a new hash.Hash computing the BLAKE2b-384 checksum. A non-nil +// key turns the hash into a MAC. The key must be between zero and 64 bytes long. +func New384(key []byte) (hash.Hash, error) { return newDigest(Size384, key) } + +// New256 returns a new hash.Hash computing the BLAKE2b-256 checksum. A non-nil +// key turns the hash into a MAC. The key must be between zero and 64 bytes long. +func New256(key []byte) (hash.Hash, error) { return newDigest(Size256, key) } + +// New returns a new hash.Hash computing the BLAKE2b checksum with a custom length. +// A non-nil key turns the hash into a MAC. The key must be between zero and 64 bytes long. +// The hash size can be a value between 1 and 64 but it is highly recommended to use +// values equal or greater than: +// - 32 if BLAKE2b is used as a hash function (The key is zero bytes long). +// - 16 if BLAKE2b is used as a MAC function (The key is at least 16 bytes long). +// When the key is nil, the returned hash.Hash implements BinaryMarshaler +// and BinaryUnmarshaler for state (de)serialization as documented by hash.Hash. +func New(size int, key []byte) (hash.Hash, error) { return newDigest(size, key) } + +func newDigest(hashSize int, key []byte) (*digest, error) { + if hashSize < 1 || hashSize > Size { + return nil, errHashSize + } + if len(key) > Size { + return nil, errKeySize + } + d := &digest{ + size: hashSize, + keyLen: len(key), + } + copy(d.key[:], key) + d.Reset() + return d, nil +} + +func checkSum(sum *[Size]byte, hashSize int, data []byte) { + h := iv + h[0] ^= uint64(hashSize) | (1 << 16) | (1 << 24) + var c [2]uint64 + + if length := len(data); length > BlockSize { + n := length &^ (BlockSize - 1) + if length == n { + n -= BlockSize + } + hashBlocks(&h, &c, 0, data[:n]) + data = data[n:] + } + + var block [BlockSize]byte + offset := copy(block[:], data) + remaining := uint64(BlockSize - offset) + if c[0] < remaining { + c[1]-- + } + c[0] -= remaining + + hashBlocks(&h, &c, 0xFFFFFFFFFFFFFFFF, block[:]) + + for i, v := range h[:(hashSize+7)/8] { + binary.LittleEndian.PutUint64(sum[8*i:], v) + } +} + +type digest struct { + h [8]uint64 + c [2]uint64 + size int + block [BlockSize]byte + offset int + + key [BlockSize]byte + keyLen int +} + +const ( + magic = "b2b" + marshaledSize = len(magic) + 8*8 + 2*8 + 1 + BlockSize + 1 +) + +func (d *digest) MarshalBinary() ([]byte, error) { + if d.keyLen != 0 { + return nil, errors.New("crypto/blake2b: cannot marshal MACs") + } + b := make([]byte, 0, marshaledSize) + b = append(b, magic...) + for i := 0; i < 8; i++ { + b = appendUint64(b, d.h[i]) + } + b = appendUint64(b, d.c[0]) + b = appendUint64(b, d.c[1]) + // Maximum value for size is 64 + b = append(b, byte(d.size)) + b = append(b, d.block[:]...) + b = append(b, byte(d.offset)) + return b, nil +} + +func (d *digest) UnmarshalBinary(b []byte) error { + if len(b) < len(magic) || string(b[:len(magic)]) != magic { + return errors.New("crypto/blake2b: invalid hash state identifier") + } + if len(b) != marshaledSize { + return errors.New("crypto/blake2b: invalid hash state size") + } + b = b[len(magic):] + for i := 0; i < 8; i++ { + b, d.h[i] = consumeUint64(b) + } + b, d.c[0] = consumeUint64(b) + b, d.c[1] = consumeUint64(b) + d.size = int(b[0]) + b = b[1:] + copy(d.block[:], b[:BlockSize]) + b = b[BlockSize:] + d.offset = int(b[0]) + return nil +} + +func (d *digest) BlockSize() int { return BlockSize } + +func (d *digest) Size() int { return d.size } + +func (d *digest) Reset() { + d.h = iv + d.h[0] ^= uint64(d.size) | (uint64(d.keyLen) << 8) | (1 << 16) | (1 << 24) + d.offset, d.c[0], d.c[1] = 0, 0, 0 + if d.keyLen > 0 { + d.block = d.key + d.offset = BlockSize + } +} + +func (d *digest) Write(p []byte) (n int, err error) { + n = len(p) + + if d.offset > 0 { + remaining := BlockSize - d.offset + if n <= remaining { + d.offset += copy(d.block[d.offset:], p) + return + } + copy(d.block[d.offset:], p[:remaining]) + hashBlocks(&d.h, &d.c, 0, d.block[:]) + d.offset = 0 + p = p[remaining:] + } + + if length := len(p); length > BlockSize { + nn := length &^ (BlockSize - 1) + if length == nn { + nn -= BlockSize + } + hashBlocks(&d.h, &d.c, 0, p[:nn]) + p = p[nn:] + } + + if len(p) > 0 { + d.offset += copy(d.block[:], p) + } + + return +} + +func (d *digest) Sum(sum []byte) []byte { + var hash [Size]byte + d.finalize(&hash) + return append(sum, hash[:d.size]...) +} + +func (d *digest) finalize(hash *[Size]byte) { + var block [BlockSize]byte + copy(block[:], d.block[:d.offset]) + remaining := uint64(BlockSize - d.offset) + + c := d.c + if c[0] < remaining { + c[1]-- + } + c[0] -= remaining + + h := d.h + hashBlocks(&h, &c, 0xFFFFFFFFFFFFFFFF, block[:]) + + for i, v := range h { + binary.LittleEndian.PutUint64(hash[8*i:], v) + } +} + +func appendUint64(b []byte, x uint64) []byte { + var a [8]byte + binary.BigEndian.PutUint64(a[:], x) + return append(b, a[:]...) +} + +func appendUint32(b []byte, x uint32) []byte { + var a [4]byte + binary.BigEndian.PutUint32(a[:], x) + return append(b, a[:]...) +} + +func consumeUint64(b []byte) ([]byte, uint64) { + x := binary.BigEndian.Uint64(b) + return b[8:], x +} + +func consumeUint32(b []byte) ([]byte, uint32) { + x := binary.BigEndian.Uint32(b) + return b[4:], x +} diff --git a/vendor/golang.org/x/crypto/blake2b/blake2bAVX2_amd64.go b/vendor/golang.org/x/crypto/blake2b/blake2bAVX2_amd64.go new file mode 100644 index 000000000..4d31dd0fd --- /dev/null +++ b/vendor/golang.org/x/crypto/blake2b/blake2bAVX2_amd64.go @@ -0,0 +1,37 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.7,amd64,!gccgo,!appengine + +package blake2b + +import "golang.org/x/sys/cpu" + +func init() { + useAVX2 = cpu.X86.HasAVX2 + useAVX = cpu.X86.HasAVX + useSSE4 = cpu.X86.HasSSE41 +} + +//go:noescape +func hashBlocksAVX2(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte) + +//go:noescape +func hashBlocksAVX(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte) + +//go:noescape +func hashBlocksSSE4(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte) + +func hashBlocks(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte) { + switch { + case useAVX2: + hashBlocksAVX2(h, c, flag, blocks) + case useAVX: + hashBlocksAVX(h, c, flag, blocks) + case useSSE4: + hashBlocksSSE4(h, c, flag, blocks) + default: + hashBlocksGeneric(h, c, flag, blocks) + } +} diff --git a/vendor/golang.org/x/crypto/blake2b/blake2bAVX2_amd64.s b/vendor/golang.org/x/crypto/blake2b/blake2bAVX2_amd64.s new file mode 100644 index 000000000..5593b1b3d --- /dev/null +++ b/vendor/golang.org/x/crypto/blake2b/blake2bAVX2_amd64.s @@ -0,0 +1,750 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.7,amd64,!gccgo,!appengine + +#include "textflag.h" + +DATA ·AVX2_iv0<>+0x00(SB)/8, $0x6a09e667f3bcc908 +DATA ·AVX2_iv0<>+0x08(SB)/8, $0xbb67ae8584caa73b +DATA ·AVX2_iv0<>+0x10(SB)/8, $0x3c6ef372fe94f82b +DATA ·AVX2_iv0<>+0x18(SB)/8, $0xa54ff53a5f1d36f1 +GLOBL ·AVX2_iv0<>(SB), (NOPTR+RODATA), $32 + +DATA ·AVX2_iv1<>+0x00(SB)/8, $0x510e527fade682d1 +DATA ·AVX2_iv1<>+0x08(SB)/8, $0x9b05688c2b3e6c1f +DATA ·AVX2_iv1<>+0x10(SB)/8, $0x1f83d9abfb41bd6b +DATA ·AVX2_iv1<>+0x18(SB)/8, $0x5be0cd19137e2179 +GLOBL ·AVX2_iv1<>(SB), (NOPTR+RODATA), $32 + +DATA ·AVX2_c40<>+0x00(SB)/8, $0x0201000706050403 +DATA ·AVX2_c40<>+0x08(SB)/8, $0x0a09080f0e0d0c0b +DATA ·AVX2_c40<>+0x10(SB)/8, $0x0201000706050403 +DATA ·AVX2_c40<>+0x18(SB)/8, $0x0a09080f0e0d0c0b +GLOBL ·AVX2_c40<>(SB), (NOPTR+RODATA), $32 + +DATA ·AVX2_c48<>+0x00(SB)/8, $0x0100070605040302 +DATA ·AVX2_c48<>+0x08(SB)/8, $0x09080f0e0d0c0b0a +DATA ·AVX2_c48<>+0x10(SB)/8, $0x0100070605040302 +DATA ·AVX2_c48<>+0x18(SB)/8, $0x09080f0e0d0c0b0a +GLOBL ·AVX2_c48<>(SB), (NOPTR+RODATA), $32 + +DATA ·AVX_iv0<>+0x00(SB)/8, $0x6a09e667f3bcc908 +DATA ·AVX_iv0<>+0x08(SB)/8, $0xbb67ae8584caa73b +GLOBL ·AVX_iv0<>(SB), (NOPTR+RODATA), $16 + +DATA ·AVX_iv1<>+0x00(SB)/8, $0x3c6ef372fe94f82b +DATA ·AVX_iv1<>+0x08(SB)/8, $0xa54ff53a5f1d36f1 +GLOBL ·AVX_iv1<>(SB), (NOPTR+RODATA), $16 + +DATA ·AVX_iv2<>+0x00(SB)/8, $0x510e527fade682d1 +DATA ·AVX_iv2<>+0x08(SB)/8, $0x9b05688c2b3e6c1f +GLOBL ·AVX_iv2<>(SB), (NOPTR+RODATA), $16 + +DATA ·AVX_iv3<>+0x00(SB)/8, $0x1f83d9abfb41bd6b +DATA ·AVX_iv3<>+0x08(SB)/8, $0x5be0cd19137e2179 +GLOBL ·AVX_iv3<>(SB), (NOPTR+RODATA), $16 + +DATA ·AVX_c40<>+0x00(SB)/8, $0x0201000706050403 +DATA ·AVX_c40<>+0x08(SB)/8, $0x0a09080f0e0d0c0b +GLOBL ·AVX_c40<>(SB), (NOPTR+RODATA), $16 + +DATA ·AVX_c48<>+0x00(SB)/8, $0x0100070605040302 +DATA ·AVX_c48<>+0x08(SB)/8, $0x09080f0e0d0c0b0a +GLOBL ·AVX_c48<>(SB), (NOPTR+RODATA), $16 + +#define VPERMQ_0x39_Y1_Y1 BYTE $0xc4; BYTE $0xe3; BYTE $0xfd; BYTE $0x00; BYTE $0xc9; BYTE $0x39 +#define VPERMQ_0x93_Y1_Y1 BYTE $0xc4; BYTE $0xe3; BYTE $0xfd; BYTE $0x00; BYTE $0xc9; BYTE $0x93 +#define VPERMQ_0x4E_Y2_Y2 BYTE $0xc4; BYTE $0xe3; BYTE $0xfd; BYTE $0x00; BYTE $0xd2; BYTE $0x4e +#define VPERMQ_0x93_Y3_Y3 BYTE $0xc4; BYTE $0xe3; BYTE $0xfd; BYTE $0x00; BYTE $0xdb; BYTE $0x93 +#define VPERMQ_0x39_Y3_Y3 BYTE $0xc4; BYTE $0xe3; BYTE $0xfd; BYTE $0x00; BYTE $0xdb; BYTE $0x39 + +#define ROUND_AVX2(m0, m1, m2, m3, t, c40, c48) \ + VPADDQ m0, Y0, Y0; \ + VPADDQ Y1, Y0, Y0; \ + VPXOR Y0, Y3, Y3; \ + VPSHUFD $-79, Y3, Y3; \ + VPADDQ Y3, Y2, Y2; \ + VPXOR Y2, Y1, Y1; \ + VPSHUFB c40, Y1, Y1; \ + VPADDQ m1, Y0, Y0; \ + VPADDQ Y1, Y0, Y0; \ + VPXOR Y0, Y3, Y3; \ + VPSHUFB c48, Y3, Y3; \ + VPADDQ Y3, Y2, Y2; \ + VPXOR Y2, Y1, Y1; \ + VPADDQ Y1, Y1, t; \ + VPSRLQ $63, Y1, Y1; \ + VPXOR t, Y1, Y1; \ + VPERMQ_0x39_Y1_Y1; \ + VPERMQ_0x4E_Y2_Y2; \ + VPERMQ_0x93_Y3_Y3; \ + VPADDQ m2, Y0, Y0; \ + VPADDQ Y1, Y0, Y0; \ + VPXOR Y0, Y3, Y3; \ + VPSHUFD $-79, Y3, Y3; \ + VPADDQ Y3, Y2, Y2; \ + VPXOR Y2, Y1, Y1; \ + VPSHUFB c40, Y1, Y1; \ + VPADDQ m3, Y0, Y0; \ + VPADDQ Y1, Y0, Y0; \ + VPXOR Y0, Y3, Y3; \ + VPSHUFB c48, Y3, Y3; \ + VPADDQ Y3, Y2, Y2; \ + VPXOR Y2, Y1, Y1; \ + VPADDQ Y1, Y1, t; \ + VPSRLQ $63, Y1, Y1; \ + VPXOR t, Y1, Y1; \ + VPERMQ_0x39_Y3_Y3; \ + VPERMQ_0x4E_Y2_Y2; \ + VPERMQ_0x93_Y1_Y1 + +#define VMOVQ_SI_X11_0 BYTE $0xC5; BYTE $0x7A; BYTE $0x7E; BYTE $0x1E +#define VMOVQ_SI_X12_0 BYTE $0xC5; BYTE $0x7A; BYTE $0x7E; BYTE $0x26 +#define VMOVQ_SI_X13_0 BYTE $0xC5; BYTE $0x7A; BYTE $0x7E; BYTE $0x2E +#define VMOVQ_SI_X14_0 BYTE $0xC5; BYTE $0x7A; BYTE $0x7E; BYTE $0x36 +#define VMOVQ_SI_X15_0 BYTE $0xC5; BYTE $0x7A; BYTE $0x7E; BYTE $0x3E + +#define VMOVQ_SI_X11(n) BYTE $0xC5; BYTE $0x7A; BYTE $0x7E; BYTE $0x5E; BYTE $n +#define VMOVQ_SI_X12(n) BYTE $0xC5; BYTE $0x7A; BYTE $0x7E; BYTE $0x66; BYTE $n +#define VMOVQ_SI_X13(n) BYTE $0xC5; BYTE $0x7A; BYTE $0x7E; BYTE $0x6E; BYTE $n +#define VMOVQ_SI_X14(n) BYTE $0xC5; BYTE $0x7A; BYTE $0x7E; BYTE $0x76; BYTE $n +#define VMOVQ_SI_X15(n) BYTE $0xC5; BYTE $0x7A; BYTE $0x7E; BYTE $0x7E; BYTE $n + +#define VPINSRQ_1_SI_X11_0 BYTE $0xC4; BYTE $0x63; BYTE $0xA1; BYTE $0x22; BYTE $0x1E; BYTE $0x01 +#define VPINSRQ_1_SI_X12_0 BYTE $0xC4; BYTE $0x63; BYTE $0x99; BYTE $0x22; BYTE $0x26; BYTE $0x01 +#define VPINSRQ_1_SI_X13_0 BYTE $0xC4; BYTE $0x63; BYTE $0x91; BYTE $0x22; BYTE $0x2E; BYTE $0x01 +#define VPINSRQ_1_SI_X14_0 BYTE $0xC4; BYTE $0x63; BYTE $0x89; BYTE $0x22; BYTE $0x36; BYTE $0x01 +#define VPINSRQ_1_SI_X15_0 BYTE $0xC4; BYTE $0x63; BYTE $0x81; BYTE $0x22; BYTE $0x3E; BYTE $0x01 + +#define VPINSRQ_1_SI_X11(n) BYTE $0xC4; BYTE $0x63; BYTE $0xA1; BYTE $0x22; BYTE $0x5E; BYTE $n; BYTE $0x01 +#define VPINSRQ_1_SI_X12(n) BYTE $0xC4; BYTE $0x63; BYTE $0x99; BYTE $0x22; BYTE $0x66; BYTE $n; BYTE $0x01 +#define VPINSRQ_1_SI_X13(n) BYTE $0xC4; BYTE $0x63; BYTE $0x91; BYTE $0x22; BYTE $0x6E; BYTE $n; BYTE $0x01 +#define VPINSRQ_1_SI_X14(n) BYTE $0xC4; BYTE $0x63; BYTE $0x89; BYTE $0x22; BYTE $0x76; BYTE $n; BYTE $0x01 +#define VPINSRQ_1_SI_X15(n) BYTE $0xC4; BYTE $0x63; BYTE $0x81; BYTE $0x22; BYTE $0x7E; BYTE $n; BYTE $0x01 + +#define VMOVQ_R8_X15 BYTE $0xC4; BYTE $0x41; BYTE $0xF9; BYTE $0x6E; BYTE $0xF8 +#define VPINSRQ_1_R9_X15 BYTE $0xC4; BYTE $0x43; BYTE $0x81; BYTE $0x22; BYTE $0xF9; BYTE $0x01 + +// load msg: Y12 = (i0, i1, i2, i3) +// i0, i1, i2, i3 must not be 0 +#define LOAD_MSG_AVX2_Y12(i0, i1, i2, i3) \ + VMOVQ_SI_X12(i0*8); \ + VMOVQ_SI_X11(i2*8); \ + VPINSRQ_1_SI_X12(i1*8); \ + VPINSRQ_1_SI_X11(i3*8); \ + VINSERTI128 $1, X11, Y12, Y12 + +// load msg: Y13 = (i0, i1, i2, i3) +// i0, i1, i2, i3 must not be 0 +#define LOAD_MSG_AVX2_Y13(i0, i1, i2, i3) \ + VMOVQ_SI_X13(i0*8); \ + VMOVQ_SI_X11(i2*8); \ + VPINSRQ_1_SI_X13(i1*8); \ + VPINSRQ_1_SI_X11(i3*8); \ + VINSERTI128 $1, X11, Y13, Y13 + +// load msg: Y14 = (i0, i1, i2, i3) +// i0, i1, i2, i3 must not be 0 +#define LOAD_MSG_AVX2_Y14(i0, i1, i2, i3) \ + VMOVQ_SI_X14(i0*8); \ + VMOVQ_SI_X11(i2*8); \ + VPINSRQ_1_SI_X14(i1*8); \ + VPINSRQ_1_SI_X11(i3*8); \ + VINSERTI128 $1, X11, Y14, Y14 + +// load msg: Y15 = (i0, i1, i2, i3) +// i0, i1, i2, i3 must not be 0 +#define LOAD_MSG_AVX2_Y15(i0, i1, i2, i3) \ + VMOVQ_SI_X15(i0*8); \ + VMOVQ_SI_X11(i2*8); \ + VPINSRQ_1_SI_X15(i1*8); \ + VPINSRQ_1_SI_X11(i3*8); \ + VINSERTI128 $1, X11, Y15, Y15 + +#define LOAD_MSG_AVX2_0_2_4_6_1_3_5_7_8_10_12_14_9_11_13_15() \ + VMOVQ_SI_X12_0; \ + VMOVQ_SI_X11(4*8); \ + VPINSRQ_1_SI_X12(2*8); \ + VPINSRQ_1_SI_X11(6*8); \ + VINSERTI128 $1, X11, Y12, Y12; \ + LOAD_MSG_AVX2_Y13(1, 3, 5, 7); \ + LOAD_MSG_AVX2_Y14(8, 10, 12, 14); \ + LOAD_MSG_AVX2_Y15(9, 11, 13, 15) + +#define LOAD_MSG_AVX2_14_4_9_13_10_8_15_6_1_0_11_5_12_2_7_3() \ + LOAD_MSG_AVX2_Y12(14, 4, 9, 13); \ + LOAD_MSG_AVX2_Y13(10, 8, 15, 6); \ + VMOVQ_SI_X11(11*8); \ + VPSHUFD $0x4E, 0*8(SI), X14; \ + VPINSRQ_1_SI_X11(5*8); \ + VINSERTI128 $1, X11, Y14, Y14; \ + LOAD_MSG_AVX2_Y15(12, 2, 7, 3) + +#define LOAD_MSG_AVX2_11_12_5_15_8_0_2_13_10_3_7_9_14_6_1_4() \ + VMOVQ_SI_X11(5*8); \ + VMOVDQU 11*8(SI), X12; \ + VPINSRQ_1_SI_X11(15*8); \ + VINSERTI128 $1, X11, Y12, Y12; \ + VMOVQ_SI_X13(8*8); \ + VMOVQ_SI_X11(2*8); \ + VPINSRQ_1_SI_X13_0; \ + VPINSRQ_1_SI_X11(13*8); \ + VINSERTI128 $1, X11, Y13, Y13; \ + LOAD_MSG_AVX2_Y14(10, 3, 7, 9); \ + LOAD_MSG_AVX2_Y15(14, 6, 1, 4) + +#define LOAD_MSG_AVX2_7_3_13_11_9_1_12_14_2_5_4_15_6_10_0_8() \ + LOAD_MSG_AVX2_Y12(7, 3, 13, 11); \ + LOAD_MSG_AVX2_Y13(9, 1, 12, 14); \ + LOAD_MSG_AVX2_Y14(2, 5, 4, 15); \ + VMOVQ_SI_X15(6*8); \ + VMOVQ_SI_X11_0; \ + VPINSRQ_1_SI_X15(10*8); \ + VPINSRQ_1_SI_X11(8*8); \ + VINSERTI128 $1, X11, Y15, Y15 + +#define LOAD_MSG_AVX2_9_5_2_10_0_7_4_15_14_11_6_3_1_12_8_13() \ + LOAD_MSG_AVX2_Y12(9, 5, 2, 10); \ + VMOVQ_SI_X13_0; \ + VMOVQ_SI_X11(4*8); \ + VPINSRQ_1_SI_X13(7*8); \ + VPINSRQ_1_SI_X11(15*8); \ + VINSERTI128 $1, X11, Y13, Y13; \ + LOAD_MSG_AVX2_Y14(14, 11, 6, 3); \ + LOAD_MSG_AVX2_Y15(1, 12, 8, 13) + +#define LOAD_MSG_AVX2_2_6_0_8_12_10_11_3_4_7_15_1_13_5_14_9() \ + VMOVQ_SI_X12(2*8); \ + VMOVQ_SI_X11_0; \ + VPINSRQ_1_SI_X12(6*8); \ + VPINSRQ_1_SI_X11(8*8); \ + VINSERTI128 $1, X11, Y12, Y12; \ + LOAD_MSG_AVX2_Y13(12, 10, 11, 3); \ + LOAD_MSG_AVX2_Y14(4, 7, 15, 1); \ + LOAD_MSG_AVX2_Y15(13, 5, 14, 9) + +#define LOAD_MSG_AVX2_12_1_14_4_5_15_13_10_0_6_9_8_7_3_2_11() \ + LOAD_MSG_AVX2_Y12(12, 1, 14, 4); \ + LOAD_MSG_AVX2_Y13(5, 15, 13, 10); \ + VMOVQ_SI_X14_0; \ + VPSHUFD $0x4E, 8*8(SI), X11; \ + VPINSRQ_1_SI_X14(6*8); \ + VINSERTI128 $1, X11, Y14, Y14; \ + LOAD_MSG_AVX2_Y15(7, 3, 2, 11) + +#define LOAD_MSG_AVX2_13_7_12_3_11_14_1_9_5_15_8_2_0_4_6_10() \ + LOAD_MSG_AVX2_Y12(13, 7, 12, 3); \ + LOAD_MSG_AVX2_Y13(11, 14, 1, 9); \ + LOAD_MSG_AVX2_Y14(5, 15, 8, 2); \ + VMOVQ_SI_X15_0; \ + VMOVQ_SI_X11(6*8); \ + VPINSRQ_1_SI_X15(4*8); \ + VPINSRQ_1_SI_X11(10*8); \ + VINSERTI128 $1, X11, Y15, Y15 + +#define LOAD_MSG_AVX2_6_14_11_0_15_9_3_8_12_13_1_10_2_7_4_5() \ + VMOVQ_SI_X12(6*8); \ + VMOVQ_SI_X11(11*8); \ + VPINSRQ_1_SI_X12(14*8); \ + VPINSRQ_1_SI_X11_0; \ + VINSERTI128 $1, X11, Y12, Y12; \ + LOAD_MSG_AVX2_Y13(15, 9, 3, 8); \ + VMOVQ_SI_X11(1*8); \ + VMOVDQU 12*8(SI), X14; \ + VPINSRQ_1_SI_X11(10*8); \ + VINSERTI128 $1, X11, Y14, Y14; \ + VMOVQ_SI_X15(2*8); \ + VMOVDQU 4*8(SI), X11; \ + VPINSRQ_1_SI_X15(7*8); \ + VINSERTI128 $1, X11, Y15, Y15 + +#define LOAD_MSG_AVX2_10_8_7_1_2_4_6_5_15_9_3_13_11_14_12_0() \ + LOAD_MSG_AVX2_Y12(10, 8, 7, 1); \ + VMOVQ_SI_X13(2*8); \ + VPSHUFD $0x4E, 5*8(SI), X11; \ + VPINSRQ_1_SI_X13(4*8); \ + VINSERTI128 $1, X11, Y13, Y13; \ + LOAD_MSG_AVX2_Y14(15, 9, 3, 13); \ + VMOVQ_SI_X15(11*8); \ + VMOVQ_SI_X11(12*8); \ + VPINSRQ_1_SI_X15(14*8); \ + VPINSRQ_1_SI_X11_0; \ + VINSERTI128 $1, X11, Y15, Y15 + +// func hashBlocksAVX2(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte) +TEXT ·hashBlocksAVX2(SB), 4, $320-48 // frame size = 288 + 32 byte alignment + MOVQ h+0(FP), AX + MOVQ c+8(FP), BX + MOVQ flag+16(FP), CX + MOVQ blocks_base+24(FP), SI + MOVQ blocks_len+32(FP), DI + + MOVQ SP, DX + MOVQ SP, R9 + ADDQ $31, R9 + ANDQ $~31, R9 + MOVQ R9, SP + + MOVQ CX, 16(SP) + XORQ CX, CX + MOVQ CX, 24(SP) + + VMOVDQU ·AVX2_c40<>(SB), Y4 + VMOVDQU ·AVX2_c48<>(SB), Y5 + + VMOVDQU 0(AX), Y8 + VMOVDQU 32(AX), Y9 + VMOVDQU ·AVX2_iv0<>(SB), Y6 + VMOVDQU ·AVX2_iv1<>(SB), Y7 + + MOVQ 0(BX), R8 + MOVQ 8(BX), R9 + MOVQ R9, 8(SP) + +loop: + ADDQ $128, R8 + MOVQ R8, 0(SP) + CMPQ R8, $128 + JGE noinc + INCQ R9 + MOVQ R9, 8(SP) + +noinc: + VMOVDQA Y8, Y0 + VMOVDQA Y9, Y1 + VMOVDQA Y6, Y2 + VPXOR 0(SP), Y7, Y3 + + LOAD_MSG_AVX2_0_2_4_6_1_3_5_7_8_10_12_14_9_11_13_15() + VMOVDQA Y12, 32(SP) + VMOVDQA Y13, 64(SP) + VMOVDQA Y14, 96(SP) + VMOVDQA Y15, 128(SP) + ROUND_AVX2(Y12, Y13, Y14, Y15, Y10, Y4, Y5) + LOAD_MSG_AVX2_14_4_9_13_10_8_15_6_1_0_11_5_12_2_7_3() + VMOVDQA Y12, 160(SP) + VMOVDQA Y13, 192(SP) + VMOVDQA Y14, 224(SP) + VMOVDQA Y15, 256(SP) + + ROUND_AVX2(Y12, Y13, Y14, Y15, Y10, Y4, Y5) + LOAD_MSG_AVX2_11_12_5_15_8_0_2_13_10_3_7_9_14_6_1_4() + ROUND_AVX2(Y12, Y13, Y14, Y15, Y10, Y4, Y5) + LOAD_MSG_AVX2_7_3_13_11_9_1_12_14_2_5_4_15_6_10_0_8() + ROUND_AVX2(Y12, Y13, Y14, Y15, Y10, Y4, Y5) + LOAD_MSG_AVX2_9_5_2_10_0_7_4_15_14_11_6_3_1_12_8_13() + ROUND_AVX2(Y12, Y13, Y14, Y15, Y10, Y4, Y5) + LOAD_MSG_AVX2_2_6_0_8_12_10_11_3_4_7_15_1_13_5_14_9() + ROUND_AVX2(Y12, Y13, Y14, Y15, Y10, Y4, Y5) + LOAD_MSG_AVX2_12_1_14_4_5_15_13_10_0_6_9_8_7_3_2_11() + ROUND_AVX2(Y12, Y13, Y14, Y15, Y10, Y4, Y5) + LOAD_MSG_AVX2_13_7_12_3_11_14_1_9_5_15_8_2_0_4_6_10() + ROUND_AVX2(Y12, Y13, Y14, Y15, Y10, Y4, Y5) + LOAD_MSG_AVX2_6_14_11_0_15_9_3_8_12_13_1_10_2_7_4_5() + ROUND_AVX2(Y12, Y13, Y14, Y15, Y10, Y4, Y5) + LOAD_MSG_AVX2_10_8_7_1_2_4_6_5_15_9_3_13_11_14_12_0() + ROUND_AVX2(Y12, Y13, Y14, Y15, Y10, Y4, Y5) + + ROUND_AVX2(32(SP), 64(SP), 96(SP), 128(SP), Y10, Y4, Y5) + ROUND_AVX2(160(SP), 192(SP), 224(SP), 256(SP), Y10, Y4, Y5) + + VPXOR Y0, Y8, Y8 + VPXOR Y1, Y9, Y9 + VPXOR Y2, Y8, Y8 + VPXOR Y3, Y9, Y9 + + LEAQ 128(SI), SI + SUBQ $128, DI + JNE loop + + MOVQ R8, 0(BX) + MOVQ R9, 8(BX) + + VMOVDQU Y8, 0(AX) + VMOVDQU Y9, 32(AX) + VZEROUPPER + + MOVQ DX, SP + RET + +#define VPUNPCKLQDQ_X2_X2_X15 BYTE $0xC5; BYTE $0x69; BYTE $0x6C; BYTE $0xFA +#define VPUNPCKLQDQ_X3_X3_X15 BYTE $0xC5; BYTE $0x61; BYTE $0x6C; BYTE $0xFB +#define VPUNPCKLQDQ_X7_X7_X15 BYTE $0xC5; BYTE $0x41; BYTE $0x6C; BYTE $0xFF +#define VPUNPCKLQDQ_X13_X13_X15 BYTE $0xC4; BYTE $0x41; BYTE $0x11; BYTE $0x6C; BYTE $0xFD +#define VPUNPCKLQDQ_X14_X14_X15 BYTE $0xC4; BYTE $0x41; BYTE $0x09; BYTE $0x6C; BYTE $0xFE + +#define VPUNPCKHQDQ_X15_X2_X2 BYTE $0xC4; BYTE $0xC1; BYTE $0x69; BYTE $0x6D; BYTE $0xD7 +#define VPUNPCKHQDQ_X15_X3_X3 BYTE $0xC4; BYTE $0xC1; BYTE $0x61; BYTE $0x6D; BYTE $0xDF +#define VPUNPCKHQDQ_X15_X6_X6 BYTE $0xC4; BYTE $0xC1; BYTE $0x49; BYTE $0x6D; BYTE $0xF7 +#define VPUNPCKHQDQ_X15_X7_X7 BYTE $0xC4; BYTE $0xC1; BYTE $0x41; BYTE $0x6D; BYTE $0xFF +#define VPUNPCKHQDQ_X15_X3_X2 BYTE $0xC4; BYTE $0xC1; BYTE $0x61; BYTE $0x6D; BYTE $0xD7 +#define VPUNPCKHQDQ_X15_X7_X6 BYTE $0xC4; BYTE $0xC1; BYTE $0x41; BYTE $0x6D; BYTE $0xF7 +#define VPUNPCKHQDQ_X15_X13_X3 BYTE $0xC4; BYTE $0xC1; BYTE $0x11; BYTE $0x6D; BYTE $0xDF +#define VPUNPCKHQDQ_X15_X13_X7 BYTE $0xC4; BYTE $0xC1; BYTE $0x11; BYTE $0x6D; BYTE $0xFF + +#define SHUFFLE_AVX() \ + VMOVDQA X6, X13; \ + VMOVDQA X2, X14; \ + VMOVDQA X4, X6; \ + VPUNPCKLQDQ_X13_X13_X15; \ + VMOVDQA X5, X4; \ + VMOVDQA X6, X5; \ + VPUNPCKHQDQ_X15_X7_X6; \ + VPUNPCKLQDQ_X7_X7_X15; \ + VPUNPCKHQDQ_X15_X13_X7; \ + VPUNPCKLQDQ_X3_X3_X15; \ + VPUNPCKHQDQ_X15_X2_X2; \ + VPUNPCKLQDQ_X14_X14_X15; \ + VPUNPCKHQDQ_X15_X3_X3; \ + +#define SHUFFLE_AVX_INV() \ + VMOVDQA X2, X13; \ + VMOVDQA X4, X14; \ + VPUNPCKLQDQ_X2_X2_X15; \ + VMOVDQA X5, X4; \ + VPUNPCKHQDQ_X15_X3_X2; \ + VMOVDQA X14, X5; \ + VPUNPCKLQDQ_X3_X3_X15; \ + VMOVDQA X6, X14; \ + VPUNPCKHQDQ_X15_X13_X3; \ + VPUNPCKLQDQ_X7_X7_X15; \ + VPUNPCKHQDQ_X15_X6_X6; \ + VPUNPCKLQDQ_X14_X14_X15; \ + VPUNPCKHQDQ_X15_X7_X7; \ + +#define HALF_ROUND_AVX(v0, v1, v2, v3, v4, v5, v6, v7, m0, m1, m2, m3, t0, c40, c48) \ + VPADDQ m0, v0, v0; \ + VPADDQ v2, v0, v0; \ + VPADDQ m1, v1, v1; \ + VPADDQ v3, v1, v1; \ + VPXOR v0, v6, v6; \ + VPXOR v1, v7, v7; \ + VPSHUFD $-79, v6, v6; \ + VPSHUFD $-79, v7, v7; \ + VPADDQ v6, v4, v4; \ + VPADDQ v7, v5, v5; \ + VPXOR v4, v2, v2; \ + VPXOR v5, v3, v3; \ + VPSHUFB c40, v2, v2; \ + VPSHUFB c40, v3, v3; \ + VPADDQ m2, v0, v0; \ + VPADDQ v2, v0, v0; \ + VPADDQ m3, v1, v1; \ + VPADDQ v3, v1, v1; \ + VPXOR v0, v6, v6; \ + VPXOR v1, v7, v7; \ + VPSHUFB c48, v6, v6; \ + VPSHUFB c48, v7, v7; \ + VPADDQ v6, v4, v4; \ + VPADDQ v7, v5, v5; \ + VPXOR v4, v2, v2; \ + VPXOR v5, v3, v3; \ + VPADDQ v2, v2, t0; \ + VPSRLQ $63, v2, v2; \ + VPXOR t0, v2, v2; \ + VPADDQ v3, v3, t0; \ + VPSRLQ $63, v3, v3; \ + VPXOR t0, v3, v3 + +// load msg: X12 = (i0, i1), X13 = (i2, i3), X14 = (i4, i5), X15 = (i6, i7) +// i0, i1, i2, i3, i4, i5, i6, i7 must not be 0 +#define LOAD_MSG_AVX(i0, i1, i2, i3, i4, i5, i6, i7) \ + VMOVQ_SI_X12(i0*8); \ + VMOVQ_SI_X13(i2*8); \ + VMOVQ_SI_X14(i4*8); \ + VMOVQ_SI_X15(i6*8); \ + VPINSRQ_1_SI_X12(i1*8); \ + VPINSRQ_1_SI_X13(i3*8); \ + VPINSRQ_1_SI_X14(i5*8); \ + VPINSRQ_1_SI_X15(i7*8) + +// load msg: X12 = (0, 2), X13 = (4, 6), X14 = (1, 3), X15 = (5, 7) +#define LOAD_MSG_AVX_0_2_4_6_1_3_5_7() \ + VMOVQ_SI_X12_0; \ + VMOVQ_SI_X13(4*8); \ + VMOVQ_SI_X14(1*8); \ + VMOVQ_SI_X15(5*8); \ + VPINSRQ_1_SI_X12(2*8); \ + VPINSRQ_1_SI_X13(6*8); \ + VPINSRQ_1_SI_X14(3*8); \ + VPINSRQ_1_SI_X15(7*8) + +// load msg: X12 = (1, 0), X13 = (11, 5), X14 = (12, 2), X15 = (7, 3) +#define LOAD_MSG_AVX_1_0_11_5_12_2_7_3() \ + VPSHUFD $0x4E, 0*8(SI), X12; \ + VMOVQ_SI_X13(11*8); \ + VMOVQ_SI_X14(12*8); \ + VMOVQ_SI_X15(7*8); \ + VPINSRQ_1_SI_X13(5*8); \ + VPINSRQ_1_SI_X14(2*8); \ + VPINSRQ_1_SI_X15(3*8) + +// load msg: X12 = (11, 12), X13 = (5, 15), X14 = (8, 0), X15 = (2, 13) +#define LOAD_MSG_AVX_11_12_5_15_8_0_2_13() \ + VMOVDQU 11*8(SI), X12; \ + VMOVQ_SI_X13(5*8); \ + VMOVQ_SI_X14(8*8); \ + VMOVQ_SI_X15(2*8); \ + VPINSRQ_1_SI_X13(15*8); \ + VPINSRQ_1_SI_X14_0; \ + VPINSRQ_1_SI_X15(13*8) + +// load msg: X12 = (2, 5), X13 = (4, 15), X14 = (6, 10), X15 = (0, 8) +#define LOAD_MSG_AVX_2_5_4_15_6_10_0_8() \ + VMOVQ_SI_X12(2*8); \ + VMOVQ_SI_X13(4*8); \ + VMOVQ_SI_X14(6*8); \ + VMOVQ_SI_X15_0; \ + VPINSRQ_1_SI_X12(5*8); \ + VPINSRQ_1_SI_X13(15*8); \ + VPINSRQ_1_SI_X14(10*8); \ + VPINSRQ_1_SI_X15(8*8) + +// load msg: X12 = (9, 5), X13 = (2, 10), X14 = (0, 7), X15 = (4, 15) +#define LOAD_MSG_AVX_9_5_2_10_0_7_4_15() \ + VMOVQ_SI_X12(9*8); \ + VMOVQ_SI_X13(2*8); \ + VMOVQ_SI_X14_0; \ + VMOVQ_SI_X15(4*8); \ + VPINSRQ_1_SI_X12(5*8); \ + VPINSRQ_1_SI_X13(10*8); \ + VPINSRQ_1_SI_X14(7*8); \ + VPINSRQ_1_SI_X15(15*8) + +// load msg: X12 = (2, 6), X13 = (0, 8), X14 = (12, 10), X15 = (11, 3) +#define LOAD_MSG_AVX_2_6_0_8_12_10_11_3() \ + VMOVQ_SI_X12(2*8); \ + VMOVQ_SI_X13_0; \ + VMOVQ_SI_X14(12*8); \ + VMOVQ_SI_X15(11*8); \ + VPINSRQ_1_SI_X12(6*8); \ + VPINSRQ_1_SI_X13(8*8); \ + VPINSRQ_1_SI_X14(10*8); \ + VPINSRQ_1_SI_X15(3*8) + +// load msg: X12 = (0, 6), X13 = (9, 8), X14 = (7, 3), X15 = (2, 11) +#define LOAD_MSG_AVX_0_6_9_8_7_3_2_11() \ + MOVQ 0*8(SI), X12; \ + VPSHUFD $0x4E, 8*8(SI), X13; \ + MOVQ 7*8(SI), X14; \ + MOVQ 2*8(SI), X15; \ + VPINSRQ_1_SI_X12(6*8); \ + VPINSRQ_1_SI_X14(3*8); \ + VPINSRQ_1_SI_X15(11*8) + +// load msg: X12 = (6, 14), X13 = (11, 0), X14 = (15, 9), X15 = (3, 8) +#define LOAD_MSG_AVX_6_14_11_0_15_9_3_8() \ + MOVQ 6*8(SI), X12; \ + MOVQ 11*8(SI), X13; \ + MOVQ 15*8(SI), X14; \ + MOVQ 3*8(SI), X15; \ + VPINSRQ_1_SI_X12(14*8); \ + VPINSRQ_1_SI_X13_0; \ + VPINSRQ_1_SI_X14(9*8); \ + VPINSRQ_1_SI_X15(8*8) + +// load msg: X12 = (5, 15), X13 = (8, 2), X14 = (0, 4), X15 = (6, 10) +#define LOAD_MSG_AVX_5_15_8_2_0_4_6_10() \ + MOVQ 5*8(SI), X12; \ + MOVQ 8*8(SI), X13; \ + MOVQ 0*8(SI), X14; \ + MOVQ 6*8(SI), X15; \ + VPINSRQ_1_SI_X12(15*8); \ + VPINSRQ_1_SI_X13(2*8); \ + VPINSRQ_1_SI_X14(4*8); \ + VPINSRQ_1_SI_X15(10*8) + +// load msg: X12 = (12, 13), X13 = (1, 10), X14 = (2, 7), X15 = (4, 5) +#define LOAD_MSG_AVX_12_13_1_10_2_7_4_5() \ + VMOVDQU 12*8(SI), X12; \ + MOVQ 1*8(SI), X13; \ + MOVQ 2*8(SI), X14; \ + VPINSRQ_1_SI_X13(10*8); \ + VPINSRQ_1_SI_X14(7*8); \ + VMOVDQU 4*8(SI), X15 + +// load msg: X12 = (15, 9), X13 = (3, 13), X14 = (11, 14), X15 = (12, 0) +#define LOAD_MSG_AVX_15_9_3_13_11_14_12_0() \ + MOVQ 15*8(SI), X12; \ + MOVQ 3*8(SI), X13; \ + MOVQ 11*8(SI), X14; \ + MOVQ 12*8(SI), X15; \ + VPINSRQ_1_SI_X12(9*8); \ + VPINSRQ_1_SI_X13(13*8); \ + VPINSRQ_1_SI_X14(14*8); \ + VPINSRQ_1_SI_X15_0 + +// func hashBlocksAVX(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte) +TEXT ·hashBlocksAVX(SB), 4, $288-48 // frame size = 272 + 16 byte alignment + MOVQ h+0(FP), AX + MOVQ c+8(FP), BX + MOVQ flag+16(FP), CX + MOVQ blocks_base+24(FP), SI + MOVQ blocks_len+32(FP), DI + + MOVQ SP, BP + MOVQ SP, R9 + ADDQ $15, R9 + ANDQ $~15, R9 + MOVQ R9, SP + + VMOVDQU ·AVX_c40<>(SB), X0 + VMOVDQU ·AVX_c48<>(SB), X1 + VMOVDQA X0, X8 + VMOVDQA X1, X9 + + VMOVDQU ·AVX_iv3<>(SB), X0 + VMOVDQA X0, 0(SP) + XORQ CX, 0(SP) // 0(SP) = ·AVX_iv3 ^ (CX || 0) + + VMOVDQU 0(AX), X10 + VMOVDQU 16(AX), X11 + VMOVDQU 32(AX), X2 + VMOVDQU 48(AX), X3 + + MOVQ 0(BX), R8 + MOVQ 8(BX), R9 + +loop: + ADDQ $128, R8 + CMPQ R8, $128 + JGE noinc + INCQ R9 + +noinc: + VMOVQ_R8_X15 + VPINSRQ_1_R9_X15 + + VMOVDQA X10, X0 + VMOVDQA X11, X1 + VMOVDQU ·AVX_iv0<>(SB), X4 + VMOVDQU ·AVX_iv1<>(SB), X5 + VMOVDQU ·AVX_iv2<>(SB), X6 + + VPXOR X15, X6, X6 + VMOVDQA 0(SP), X7 + + LOAD_MSG_AVX_0_2_4_6_1_3_5_7() + VMOVDQA X12, 16(SP) + VMOVDQA X13, 32(SP) + VMOVDQA X14, 48(SP) + VMOVDQA X15, 64(SP) + HALF_ROUND_AVX(X0, X1, X2, X3, X4, X5, X6, X7, X12, X13, X14, X15, X15, X8, X9) + SHUFFLE_AVX() + LOAD_MSG_AVX(8, 10, 12, 14, 9, 11, 13, 15) + VMOVDQA X12, 80(SP) + VMOVDQA X13, 96(SP) + VMOVDQA X14, 112(SP) + VMOVDQA X15, 128(SP) + HALF_ROUND_AVX(X0, X1, X2, X3, X4, X5, X6, X7, X12, X13, X14, X15, X15, X8, X9) + SHUFFLE_AVX_INV() + + LOAD_MSG_AVX(14, 4, 9, 13, 10, 8, 15, 6) + VMOVDQA X12, 144(SP) + VMOVDQA X13, 160(SP) + VMOVDQA X14, 176(SP) + VMOVDQA X15, 192(SP) + HALF_ROUND_AVX(X0, X1, X2, X3, X4, X5, X6, X7, X12, X13, X14, X15, X15, X8, X9) + SHUFFLE_AVX() + LOAD_MSG_AVX_1_0_11_5_12_2_7_3() + VMOVDQA X12, 208(SP) + VMOVDQA X13, 224(SP) + VMOVDQA X14, 240(SP) + VMOVDQA X15, 256(SP) + HALF_ROUND_AVX(X0, X1, X2, X3, X4, X5, X6, X7, X12, X13, X14, X15, X15, X8, X9) + SHUFFLE_AVX_INV() + + LOAD_MSG_AVX_11_12_5_15_8_0_2_13() + HALF_ROUND_AVX(X0, X1, X2, X3, X4, X5, X6, X7, X12, X13, X14, X15, X15, X8, X9) + SHUFFLE_AVX() + LOAD_MSG_AVX(10, 3, 7, 9, 14, 6, 1, 4) + HALF_ROUND_AVX(X0, X1, X2, X3, X4, X5, X6, X7, X12, X13, X14, X15, X15, X8, X9) + SHUFFLE_AVX_INV() + + LOAD_MSG_AVX(7, 3, 13, 11, 9, 1, 12, 14) + HALF_ROUND_AVX(X0, X1, X2, X3, X4, X5, X6, X7, X12, X13, X14, X15, X15, X8, X9) + SHUFFLE_AVX() + LOAD_MSG_AVX_2_5_4_15_6_10_0_8() + HALF_ROUND_AVX(X0, X1, X2, X3, X4, X5, X6, X7, X12, X13, X14, X15, X15, X8, X9) + SHUFFLE_AVX_INV() + + LOAD_MSG_AVX_9_5_2_10_0_7_4_15() + HALF_ROUND_AVX(X0, X1, X2, X3, X4, X5, X6, X7, X12, X13, X14, X15, X15, X8, X9) + SHUFFLE_AVX() + LOAD_MSG_AVX(14, 11, 6, 3, 1, 12, 8, 13) + HALF_ROUND_AVX(X0, X1, X2, X3, X4, X5, X6, X7, X12, X13, X14, X15, X15, X8, X9) + SHUFFLE_AVX_INV() + + LOAD_MSG_AVX_2_6_0_8_12_10_11_3() + HALF_ROUND_AVX(X0, X1, X2, X3, X4, X5, X6, X7, X12, X13, X14, X15, X15, X8, X9) + SHUFFLE_AVX() + LOAD_MSG_AVX(4, 7, 15, 1, 13, 5, 14, 9) + HALF_ROUND_AVX(X0, X1, X2, X3, X4, X5, X6, X7, X12, X13, X14, X15, X15, X8, X9) + SHUFFLE_AVX_INV() + + LOAD_MSG_AVX(12, 1, 14, 4, 5, 15, 13, 10) + HALF_ROUND_AVX(X0, X1, X2, X3, X4, X5, X6, X7, X12, X13, X14, X15, X15, X8, X9) + SHUFFLE_AVX() + LOAD_MSG_AVX_0_6_9_8_7_3_2_11() + HALF_ROUND_AVX(X0, X1, X2, X3, X4, X5, X6, X7, X12, X13, X14, X15, X15, X8, X9) + SHUFFLE_AVX_INV() + + LOAD_MSG_AVX(13, 7, 12, 3, 11, 14, 1, 9) + HALF_ROUND_AVX(X0, X1, X2, X3, X4, X5, X6, X7, X12, X13, X14, X15, X15, X8, X9) + SHUFFLE_AVX() + LOAD_MSG_AVX_5_15_8_2_0_4_6_10() + HALF_ROUND_AVX(X0, X1, X2, X3, X4, X5, X6, X7, X12, X13, X14, X15, X15, X8, X9) + SHUFFLE_AVX_INV() + + LOAD_MSG_AVX_6_14_11_0_15_9_3_8() + HALF_ROUND_AVX(X0, X1, X2, X3, X4, X5, X6, X7, X12, X13, X14, X15, X15, X8, X9) + SHUFFLE_AVX() + LOAD_MSG_AVX_12_13_1_10_2_7_4_5() + HALF_ROUND_AVX(X0, X1, X2, X3, X4, X5, X6, X7, X12, X13, X14, X15, X15, X8, X9) + SHUFFLE_AVX_INV() + + LOAD_MSG_AVX(10, 8, 7, 1, 2, 4, 6, 5) + HALF_ROUND_AVX(X0, X1, X2, X3, X4, X5, X6, X7, X12, X13, X14, X15, X15, X8, X9) + SHUFFLE_AVX() + LOAD_MSG_AVX_15_9_3_13_11_14_12_0() + HALF_ROUND_AVX(X0, X1, X2, X3, X4, X5, X6, X7, X12, X13, X14, X15, X15, X8, X9) + SHUFFLE_AVX_INV() + + HALF_ROUND_AVX(X0, X1, X2, X3, X4, X5, X6, X7, 16(SP), 32(SP), 48(SP), 64(SP), X15, X8, X9) + SHUFFLE_AVX() + HALF_ROUND_AVX(X0, X1, X2, X3, X4, X5, X6, X7, 80(SP), 96(SP), 112(SP), 128(SP), X15, X8, X9) + SHUFFLE_AVX_INV() + + HALF_ROUND_AVX(X0, X1, X2, X3, X4, X5, X6, X7, 144(SP), 160(SP), 176(SP), 192(SP), X15, X8, X9) + SHUFFLE_AVX() + HALF_ROUND_AVX(X0, X1, X2, X3, X4, X5, X6, X7, 208(SP), 224(SP), 240(SP), 256(SP), X15, X8, X9) + SHUFFLE_AVX_INV() + + VMOVDQU 32(AX), X14 + VMOVDQU 48(AX), X15 + VPXOR X0, X10, X10 + VPXOR X1, X11, X11 + VPXOR X2, X14, X14 + VPXOR X3, X15, X15 + VPXOR X4, X10, X10 + VPXOR X5, X11, X11 + VPXOR X6, X14, X2 + VPXOR X7, X15, X3 + VMOVDQU X2, 32(AX) + VMOVDQU X3, 48(AX) + + LEAQ 128(SI), SI + SUBQ $128, DI + JNE loop + + VMOVDQU X10, 0(AX) + VMOVDQU X11, 16(AX) + + MOVQ R8, 0(BX) + MOVQ R9, 8(BX) + VZEROUPPER + + MOVQ BP, SP + RET diff --git a/vendor/golang.org/x/crypto/blake2b/blake2b_amd64.go b/vendor/golang.org/x/crypto/blake2b/blake2b_amd64.go new file mode 100644 index 000000000..30e2fcd58 --- /dev/null +++ b/vendor/golang.org/x/crypto/blake2b/blake2b_amd64.go @@ -0,0 +1,24 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !go1.7,amd64,!gccgo,!appengine + +package blake2b + +import "golang.org/x/sys/cpu" + +func init() { + useSSE4 = cpu.X86.HasSSE41 +} + +//go:noescape +func hashBlocksSSE4(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte) + +func hashBlocks(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte) { + if useSSE4 { + hashBlocksSSE4(h, c, flag, blocks) + } else { + hashBlocksGeneric(h, c, flag, blocks) + } +} diff --git a/vendor/golang.org/x/crypto/blake2b/blake2b_amd64.s b/vendor/golang.org/x/crypto/blake2b/blake2b_amd64.s new file mode 100644 index 000000000..578e947b3 --- /dev/null +++ b/vendor/golang.org/x/crypto/blake2b/blake2b_amd64.s @@ -0,0 +1,281 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,!gccgo,!appengine + +#include "textflag.h" + +DATA ·iv0<>+0x00(SB)/8, $0x6a09e667f3bcc908 +DATA ·iv0<>+0x08(SB)/8, $0xbb67ae8584caa73b +GLOBL ·iv0<>(SB), (NOPTR+RODATA), $16 + +DATA ·iv1<>+0x00(SB)/8, $0x3c6ef372fe94f82b +DATA ·iv1<>+0x08(SB)/8, $0xa54ff53a5f1d36f1 +GLOBL ·iv1<>(SB), (NOPTR+RODATA), $16 + +DATA ·iv2<>+0x00(SB)/8, $0x510e527fade682d1 +DATA ·iv2<>+0x08(SB)/8, $0x9b05688c2b3e6c1f +GLOBL ·iv2<>(SB), (NOPTR+RODATA), $16 + +DATA ·iv3<>+0x00(SB)/8, $0x1f83d9abfb41bd6b +DATA ·iv3<>+0x08(SB)/8, $0x5be0cd19137e2179 +GLOBL ·iv3<>(SB), (NOPTR+RODATA), $16 + +DATA ·c40<>+0x00(SB)/8, $0x0201000706050403 +DATA ·c40<>+0x08(SB)/8, $0x0a09080f0e0d0c0b +GLOBL ·c40<>(SB), (NOPTR+RODATA), $16 + +DATA ·c48<>+0x00(SB)/8, $0x0100070605040302 +DATA ·c48<>+0x08(SB)/8, $0x09080f0e0d0c0b0a +GLOBL ·c48<>(SB), (NOPTR+RODATA), $16 + +#define SHUFFLE(v2, v3, v4, v5, v6, v7, t1, t2) \ + MOVO v4, t1; \ + MOVO v5, v4; \ + MOVO t1, v5; \ + MOVO v6, t1; \ + PUNPCKLQDQ v6, t2; \ + PUNPCKHQDQ v7, v6; \ + PUNPCKHQDQ t2, v6; \ + PUNPCKLQDQ v7, t2; \ + MOVO t1, v7; \ + MOVO v2, t1; \ + PUNPCKHQDQ t2, v7; \ + PUNPCKLQDQ v3, t2; \ + PUNPCKHQDQ t2, v2; \ + PUNPCKLQDQ t1, t2; \ + PUNPCKHQDQ t2, v3 + +#define SHUFFLE_INV(v2, v3, v4, v5, v6, v7, t1, t2) \ + MOVO v4, t1; \ + MOVO v5, v4; \ + MOVO t1, v5; \ + MOVO v2, t1; \ + PUNPCKLQDQ v2, t2; \ + PUNPCKHQDQ v3, v2; \ + PUNPCKHQDQ t2, v2; \ + PUNPCKLQDQ v3, t2; \ + MOVO t1, v3; \ + MOVO v6, t1; \ + PUNPCKHQDQ t2, v3; \ + PUNPCKLQDQ v7, t2; \ + PUNPCKHQDQ t2, v6; \ + PUNPCKLQDQ t1, t2; \ + PUNPCKHQDQ t2, v7 + +#define HALF_ROUND(v0, v1, v2, v3, v4, v5, v6, v7, m0, m1, m2, m3, t0, c40, c48) \ + PADDQ m0, v0; \ + PADDQ m1, v1; \ + PADDQ v2, v0; \ + PADDQ v3, v1; \ + PXOR v0, v6; \ + PXOR v1, v7; \ + PSHUFD $0xB1, v6, v6; \ + PSHUFD $0xB1, v7, v7; \ + PADDQ v6, v4; \ + PADDQ v7, v5; \ + PXOR v4, v2; \ + PXOR v5, v3; \ + PSHUFB c40, v2; \ + PSHUFB c40, v3; \ + PADDQ m2, v0; \ + PADDQ m3, v1; \ + PADDQ v2, v0; \ + PADDQ v3, v1; \ + PXOR v0, v6; \ + PXOR v1, v7; \ + PSHUFB c48, v6; \ + PSHUFB c48, v7; \ + PADDQ v6, v4; \ + PADDQ v7, v5; \ + PXOR v4, v2; \ + PXOR v5, v3; \ + MOVOU v2, t0; \ + PADDQ v2, t0; \ + PSRLQ $63, v2; \ + PXOR t0, v2; \ + MOVOU v3, t0; \ + PADDQ v3, t0; \ + PSRLQ $63, v3; \ + PXOR t0, v3 + +#define LOAD_MSG(m0, m1, m2, m3, src, i0, i1, i2, i3, i4, i5, i6, i7) \ + MOVQ i0*8(src), m0; \ + PINSRQ $1, i1*8(src), m0; \ + MOVQ i2*8(src), m1; \ + PINSRQ $1, i3*8(src), m1; \ + MOVQ i4*8(src), m2; \ + PINSRQ $1, i5*8(src), m2; \ + MOVQ i6*8(src), m3; \ + PINSRQ $1, i7*8(src), m3 + +// func hashBlocksSSE4(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte) +TEXT ·hashBlocksSSE4(SB), 4, $288-48 // frame size = 272 + 16 byte alignment + MOVQ h+0(FP), AX + MOVQ c+8(FP), BX + MOVQ flag+16(FP), CX + MOVQ blocks_base+24(FP), SI + MOVQ blocks_len+32(FP), DI + + MOVQ SP, BP + MOVQ SP, R9 + ADDQ $15, R9 + ANDQ $~15, R9 + MOVQ R9, SP + + MOVOU ·iv3<>(SB), X0 + MOVO X0, 0(SP) + XORQ CX, 0(SP) // 0(SP) = ·iv3 ^ (CX || 0) + + MOVOU ·c40<>(SB), X13 + MOVOU ·c48<>(SB), X14 + + MOVOU 0(AX), X12 + MOVOU 16(AX), X15 + + MOVQ 0(BX), R8 + MOVQ 8(BX), R9 + +loop: + ADDQ $128, R8 + CMPQ R8, $128 + JGE noinc + INCQ R9 + +noinc: + MOVQ R8, X8 + PINSRQ $1, R9, X8 + + MOVO X12, X0 + MOVO X15, X1 + MOVOU 32(AX), X2 + MOVOU 48(AX), X3 + MOVOU ·iv0<>(SB), X4 + MOVOU ·iv1<>(SB), X5 + MOVOU ·iv2<>(SB), X6 + + PXOR X8, X6 + MOVO 0(SP), X7 + + LOAD_MSG(X8, X9, X10, X11, SI, 0, 2, 4, 6, 1, 3, 5, 7) + MOVO X8, 16(SP) + MOVO X9, 32(SP) + MOVO X10, 48(SP) + MOVO X11, 64(SP) + HALF_ROUND(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X11, X13, X14) + SHUFFLE(X2, X3, X4, X5, X6, X7, X8, X9) + LOAD_MSG(X8, X9, X10, X11, SI, 8, 10, 12, 14, 9, 11, 13, 15) + MOVO X8, 80(SP) + MOVO X9, 96(SP) + MOVO X10, 112(SP) + MOVO X11, 128(SP) + HALF_ROUND(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X11, X13, X14) + SHUFFLE_INV(X2, X3, X4, X5, X6, X7, X8, X9) + + LOAD_MSG(X8, X9, X10, X11, SI, 14, 4, 9, 13, 10, 8, 15, 6) + MOVO X8, 144(SP) + MOVO X9, 160(SP) + MOVO X10, 176(SP) + MOVO X11, 192(SP) + HALF_ROUND(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X11, X13, X14) + SHUFFLE(X2, X3, X4, X5, X6, X7, X8, X9) + LOAD_MSG(X8, X9, X10, X11, SI, 1, 0, 11, 5, 12, 2, 7, 3) + MOVO X8, 208(SP) + MOVO X9, 224(SP) + MOVO X10, 240(SP) + MOVO X11, 256(SP) + HALF_ROUND(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X11, X13, X14) + SHUFFLE_INV(X2, X3, X4, X5, X6, X7, X8, X9) + + LOAD_MSG(X8, X9, X10, X11, SI, 11, 12, 5, 15, 8, 0, 2, 13) + HALF_ROUND(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X11, X13, X14) + SHUFFLE(X2, X3, X4, X5, X6, X7, X8, X9) + LOAD_MSG(X8, X9, X10, X11, SI, 10, 3, 7, 9, 14, 6, 1, 4) + HALF_ROUND(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X11, X13, X14) + SHUFFLE_INV(X2, X3, X4, X5, X6, X7, X8, X9) + + LOAD_MSG(X8, X9, X10, X11, SI, 7, 3, 13, 11, 9, 1, 12, 14) + HALF_ROUND(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X11, X13, X14) + SHUFFLE(X2, X3, X4, X5, X6, X7, X8, X9) + LOAD_MSG(X8, X9, X10, X11, SI, 2, 5, 4, 15, 6, 10, 0, 8) + HALF_ROUND(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X11, X13, X14) + SHUFFLE_INV(X2, X3, X4, X5, X6, X7, X8, X9) + + LOAD_MSG(X8, X9, X10, X11, SI, 9, 5, 2, 10, 0, 7, 4, 15) + HALF_ROUND(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X11, X13, X14) + SHUFFLE(X2, X3, X4, X5, X6, X7, X8, X9) + LOAD_MSG(X8, X9, X10, X11, SI, 14, 11, 6, 3, 1, 12, 8, 13) + HALF_ROUND(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X11, X13, X14) + SHUFFLE_INV(X2, X3, X4, X5, X6, X7, X8, X9) + + LOAD_MSG(X8, X9, X10, X11, SI, 2, 6, 0, 8, 12, 10, 11, 3) + HALF_ROUND(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X11, X13, X14) + SHUFFLE(X2, X3, X4, X5, X6, X7, X8, X9) + LOAD_MSG(X8, X9, X10, X11, SI, 4, 7, 15, 1, 13, 5, 14, 9) + HALF_ROUND(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X11, X13, X14) + SHUFFLE_INV(X2, X3, X4, X5, X6, X7, X8, X9) + + LOAD_MSG(X8, X9, X10, X11, SI, 12, 1, 14, 4, 5, 15, 13, 10) + HALF_ROUND(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X11, X13, X14) + SHUFFLE(X2, X3, X4, X5, X6, X7, X8, X9) + LOAD_MSG(X8, X9, X10, X11, SI, 0, 6, 9, 8, 7, 3, 2, 11) + HALF_ROUND(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X11, X13, X14) + SHUFFLE_INV(X2, X3, X4, X5, X6, X7, X8, X9) + + LOAD_MSG(X8, X9, X10, X11, SI, 13, 7, 12, 3, 11, 14, 1, 9) + HALF_ROUND(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X11, X13, X14) + SHUFFLE(X2, X3, X4, X5, X6, X7, X8, X9) + LOAD_MSG(X8, X9, X10, X11, SI, 5, 15, 8, 2, 0, 4, 6, 10) + HALF_ROUND(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X11, X13, X14) + SHUFFLE_INV(X2, X3, X4, X5, X6, X7, X8, X9) + + LOAD_MSG(X8, X9, X10, X11, SI, 6, 14, 11, 0, 15, 9, 3, 8) + HALF_ROUND(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X11, X13, X14) + SHUFFLE(X2, X3, X4, X5, X6, X7, X8, X9) + LOAD_MSG(X8, X9, X10, X11, SI, 12, 13, 1, 10, 2, 7, 4, 5) + HALF_ROUND(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X11, X13, X14) + SHUFFLE_INV(X2, X3, X4, X5, X6, X7, X8, X9) + + LOAD_MSG(X8, X9, X10, X11, SI, 10, 8, 7, 1, 2, 4, 6, 5) + HALF_ROUND(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X11, X13, X14) + SHUFFLE(X2, X3, X4, X5, X6, X7, X8, X9) + LOAD_MSG(X8, X9, X10, X11, SI, 15, 9, 3, 13, 11, 14, 12, 0) + HALF_ROUND(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X11, X13, X14) + SHUFFLE_INV(X2, X3, X4, X5, X6, X7, X8, X9) + + HALF_ROUND(X0, X1, X2, X3, X4, X5, X6, X7, 16(SP), 32(SP), 48(SP), 64(SP), X11, X13, X14) + SHUFFLE(X2, X3, X4, X5, X6, X7, X8, X9) + HALF_ROUND(X0, X1, X2, X3, X4, X5, X6, X7, 80(SP), 96(SP), 112(SP), 128(SP), X11, X13, X14) + SHUFFLE_INV(X2, X3, X4, X5, X6, X7, X8, X9) + + HALF_ROUND(X0, X1, X2, X3, X4, X5, X6, X7, 144(SP), 160(SP), 176(SP), 192(SP), X11, X13, X14) + SHUFFLE(X2, X3, X4, X5, X6, X7, X8, X9) + HALF_ROUND(X0, X1, X2, X3, X4, X5, X6, X7, 208(SP), 224(SP), 240(SP), 256(SP), X11, X13, X14) + SHUFFLE_INV(X2, X3, X4, X5, X6, X7, X8, X9) + + MOVOU 32(AX), X10 + MOVOU 48(AX), X11 + PXOR X0, X12 + PXOR X1, X15 + PXOR X2, X10 + PXOR X3, X11 + PXOR X4, X12 + PXOR X5, X15 + PXOR X6, X10 + PXOR X7, X11 + MOVOU X10, 32(AX) + MOVOU X11, 48(AX) + + LEAQ 128(SI), SI + SUBQ $128, DI + JNE loop + + MOVOU X12, 0(AX) + MOVOU X15, 16(AX) + + MOVQ R8, 0(BX) + MOVQ R9, 8(BX) + + MOVQ BP, SP + RET diff --git a/vendor/golang.org/x/crypto/blake2b/blake2b_generic.go b/vendor/golang.org/x/crypto/blake2b/blake2b_generic.go new file mode 100644 index 000000000..4bd2abc91 --- /dev/null +++ b/vendor/golang.org/x/crypto/blake2b/blake2b_generic.go @@ -0,0 +1,179 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package blake2b + +import "encoding/binary" + +// the precomputed values for BLAKE2b +// there are 12 16-byte arrays - one for each round +// the entries are calculated from the sigma constants. +var precomputed = [12][16]byte{ + {0, 2, 4, 6, 1, 3, 5, 7, 8, 10, 12, 14, 9, 11, 13, 15}, + {14, 4, 9, 13, 10, 8, 15, 6, 1, 0, 11, 5, 12, 2, 7, 3}, + {11, 12, 5, 15, 8, 0, 2, 13, 10, 3, 7, 9, 14, 6, 1, 4}, + {7, 3, 13, 11, 9, 1, 12, 14, 2, 5, 4, 15, 6, 10, 0, 8}, + {9, 5, 2, 10, 0, 7, 4, 15, 14, 11, 6, 3, 1, 12, 8, 13}, + {2, 6, 0, 8, 12, 10, 11, 3, 4, 7, 15, 1, 13, 5, 14, 9}, + {12, 1, 14, 4, 5, 15, 13, 10, 0, 6, 9, 8, 7, 3, 2, 11}, + {13, 7, 12, 3, 11, 14, 1, 9, 5, 15, 8, 2, 0, 4, 6, 10}, + {6, 14, 11, 0, 15, 9, 3, 8, 12, 13, 1, 10, 2, 7, 4, 5}, + {10, 8, 7, 1, 2, 4, 6, 5, 15, 9, 3, 13, 11, 14, 12, 0}, + {0, 2, 4, 6, 1, 3, 5, 7, 8, 10, 12, 14, 9, 11, 13, 15}, // equal to the first + {14, 4, 9, 13, 10, 8, 15, 6, 1, 0, 11, 5, 12, 2, 7, 3}, // equal to the second +} + +func hashBlocksGeneric(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte) { + var m [16]uint64 + c0, c1 := c[0], c[1] + + for i := 0; i < len(blocks); { + c0 += BlockSize + if c0 < BlockSize { + c1++ + } + + v0, v1, v2, v3, v4, v5, v6, v7 := h[0], h[1], h[2], h[3], h[4], h[5], h[6], h[7] + v8, v9, v10, v11, v12, v13, v14, v15 := iv[0], iv[1], iv[2], iv[3], iv[4], iv[5], iv[6], iv[7] + v12 ^= c0 + v13 ^= c1 + v14 ^= flag + + for j := range m { + m[j] = binary.LittleEndian.Uint64(blocks[i:]) + i += 8 + } + + for j := range precomputed { + s := &(precomputed[j]) + + v0 += m[s[0]] + v0 += v4 + v12 ^= v0 + v12 = v12<<(64-32) | v12>>32 + v8 += v12 + v4 ^= v8 + v4 = v4<<(64-24) | v4>>24 + v1 += m[s[1]] + v1 += v5 + v13 ^= v1 + v13 = v13<<(64-32) | v13>>32 + v9 += v13 + v5 ^= v9 + v5 = v5<<(64-24) | v5>>24 + v2 += m[s[2]] + v2 += v6 + v14 ^= v2 + v14 = v14<<(64-32) | v14>>32 + v10 += v14 + v6 ^= v10 + v6 = v6<<(64-24) | v6>>24 + v3 += m[s[3]] + v3 += v7 + v15 ^= v3 + v15 = v15<<(64-32) | v15>>32 + v11 += v15 + v7 ^= v11 + v7 = v7<<(64-24) | v7>>24 + + v0 += m[s[4]] + v0 += v4 + v12 ^= v0 + v12 = v12<<(64-16) | v12>>16 + v8 += v12 + v4 ^= v8 + v4 = v4<<(64-63) | v4>>63 + v1 += m[s[5]] + v1 += v5 + v13 ^= v1 + v13 = v13<<(64-16) | v13>>16 + v9 += v13 + v5 ^= v9 + v5 = v5<<(64-63) | v5>>63 + v2 += m[s[6]] + v2 += v6 + v14 ^= v2 + v14 = v14<<(64-16) | v14>>16 + v10 += v14 + v6 ^= v10 + v6 = v6<<(64-63) | v6>>63 + v3 += m[s[7]] + v3 += v7 + v15 ^= v3 + v15 = v15<<(64-16) | v15>>16 + v11 += v15 + v7 ^= v11 + v7 = v7<<(64-63) | v7>>63 + + v0 += m[s[8]] + v0 += v5 + v15 ^= v0 + v15 = v15<<(64-32) | v15>>32 + v10 += v15 + v5 ^= v10 + v5 = v5<<(64-24) | v5>>24 + v1 += m[s[9]] + v1 += v6 + v12 ^= v1 + v12 = v12<<(64-32) | v12>>32 + v11 += v12 + v6 ^= v11 + v6 = v6<<(64-24) | v6>>24 + v2 += m[s[10]] + v2 += v7 + v13 ^= v2 + v13 = v13<<(64-32) | v13>>32 + v8 += v13 + v7 ^= v8 + v7 = v7<<(64-24) | v7>>24 + v3 += m[s[11]] + v3 += v4 + v14 ^= v3 + v14 = v14<<(64-32) | v14>>32 + v9 += v14 + v4 ^= v9 + v4 = v4<<(64-24) | v4>>24 + + v0 += m[s[12]] + v0 += v5 + v15 ^= v0 + v15 = v15<<(64-16) | v15>>16 + v10 += v15 + v5 ^= v10 + v5 = v5<<(64-63) | v5>>63 + v1 += m[s[13]] + v1 += v6 + v12 ^= v1 + v12 = v12<<(64-16) | v12>>16 + v11 += v12 + v6 ^= v11 + v6 = v6<<(64-63) | v6>>63 + v2 += m[s[14]] + v2 += v7 + v13 ^= v2 + v13 = v13<<(64-16) | v13>>16 + v8 += v13 + v7 ^= v8 + v7 = v7<<(64-63) | v7>>63 + v3 += m[s[15]] + v3 += v4 + v14 ^= v3 + v14 = v14<<(64-16) | v14>>16 + v9 += v14 + v4 ^= v9 + v4 = v4<<(64-63) | v4>>63 + + } + + h[0] ^= v0 ^ v8 + h[1] ^= v1 ^ v9 + h[2] ^= v2 ^ v10 + h[3] ^= v3 ^ v11 + h[4] ^= v4 ^ v12 + h[5] ^= v5 ^ v13 + h[6] ^= v6 ^ v14 + h[7] ^= v7 ^ v15 + } + c[0], c[1] = c0, c1 +} diff --git a/vendor/golang.org/x/crypto/blake2b/blake2b_ref.go b/vendor/golang.org/x/crypto/blake2b/blake2b_ref.go new file mode 100644 index 000000000..da156a1ba --- /dev/null +++ b/vendor/golang.org/x/crypto/blake2b/blake2b_ref.go @@ -0,0 +1,11 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !amd64 appengine gccgo + +package blake2b + +func hashBlocks(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte) { + hashBlocksGeneric(h, c, flag, blocks) +} diff --git a/vendor/golang.org/x/crypto/blake2b/blake2x.go b/vendor/golang.org/x/crypto/blake2b/blake2x.go new file mode 100644 index 000000000..52c414db0 --- /dev/null +++ b/vendor/golang.org/x/crypto/blake2b/blake2x.go @@ -0,0 +1,177 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package blake2b + +import ( + "encoding/binary" + "errors" + "io" +) + +// XOF defines the interface to hash functions that +// support arbitrary-length output. +type XOF interface { + // Write absorbs more data into the hash's state. It panics if called + // after Read. + io.Writer + + // Read reads more output from the hash. It returns io.EOF if the limit + // has been reached. + io.Reader + + // Clone returns a copy of the XOF in its current state. + Clone() XOF + + // Reset resets the XOF to its initial state. + Reset() +} + +// OutputLengthUnknown can be used as the size argument to NewXOF to indicate +// the length of the output is not known in advance. +const OutputLengthUnknown = 0 + +// magicUnknownOutputLength is a magic value for the output size that indicates +// an unknown number of output bytes. +const magicUnknownOutputLength = (1 << 32) - 1 + +// maxOutputLength is the absolute maximum number of bytes to produce when the +// number of output bytes is unknown. +const maxOutputLength = (1 << 32) * 64 + +// NewXOF creates a new variable-output-length hash. The hash either produce a +// known number of bytes (1 <= size < 2**32-1), or an unknown number of bytes +// (size == OutputLengthUnknown). In the latter case, an absolute limit of +// 256GiB applies. +// +// A non-nil key turns the hash into a MAC. The key must between +// zero and 32 bytes long. +func NewXOF(size uint32, key []byte) (XOF, error) { + if len(key) > Size { + return nil, errKeySize + } + if size == magicUnknownOutputLength { + // 2^32-1 indicates an unknown number of bytes and thus isn't a + // valid length. + return nil, errors.New("blake2b: XOF length too large") + } + if size == OutputLengthUnknown { + size = magicUnknownOutputLength + } + x := &xof{ + d: digest{ + size: Size, + keyLen: len(key), + }, + length: size, + } + copy(x.d.key[:], key) + x.Reset() + return x, nil +} + +type xof struct { + d digest + length uint32 + remaining uint64 + cfg, root, block [Size]byte + offset int + nodeOffset uint32 + readMode bool +} + +func (x *xof) Write(p []byte) (n int, err error) { + if x.readMode { + panic("blake2b: write to XOF after read") + } + return x.d.Write(p) +} + +func (x *xof) Clone() XOF { + clone := *x + return &clone +} + +func (x *xof) Reset() { + x.cfg[0] = byte(Size) + binary.LittleEndian.PutUint32(x.cfg[4:], uint32(Size)) // leaf length + binary.LittleEndian.PutUint32(x.cfg[12:], x.length) // XOF length + x.cfg[17] = byte(Size) // inner hash size + + x.d.Reset() + x.d.h[1] ^= uint64(x.length) << 32 + + x.remaining = uint64(x.length) + if x.remaining == magicUnknownOutputLength { + x.remaining = maxOutputLength + } + x.offset, x.nodeOffset = 0, 0 + x.readMode = false +} + +func (x *xof) Read(p []byte) (n int, err error) { + if !x.readMode { + x.d.finalize(&x.root) + x.readMode = true + } + + if x.remaining == 0 { + return 0, io.EOF + } + + n = len(p) + if uint64(n) > x.remaining { + n = int(x.remaining) + p = p[:n] + } + + if x.offset > 0 { + blockRemaining := Size - x.offset + if n < blockRemaining { + x.offset += copy(p, x.block[x.offset:]) + x.remaining -= uint64(n) + return + } + copy(p, x.block[x.offset:]) + p = p[blockRemaining:] + x.offset = 0 + x.remaining -= uint64(blockRemaining) + } + + for len(p) >= Size { + binary.LittleEndian.PutUint32(x.cfg[8:], x.nodeOffset) + x.nodeOffset++ + + x.d.initConfig(&x.cfg) + x.d.Write(x.root[:]) + x.d.finalize(&x.block) + + copy(p, x.block[:]) + p = p[Size:] + x.remaining -= uint64(Size) + } + + if todo := len(p); todo > 0 { + if x.remaining < uint64(Size) { + x.cfg[0] = byte(x.remaining) + } + binary.LittleEndian.PutUint32(x.cfg[8:], x.nodeOffset) + x.nodeOffset++ + + x.d.initConfig(&x.cfg) + x.d.Write(x.root[:]) + x.d.finalize(&x.block) + + x.offset = copy(p, x.block[:todo]) + x.remaining -= uint64(todo) + } + return +} + +func (d *digest) initConfig(cfg *[Size]byte) { + d.offset, d.c[0], d.c[1] = 0, 0, 0 + for i := range d.h { + d.h[i] = iv[i] ^ binary.LittleEndian.Uint64(cfg[i*8:]) + } +} diff --git a/vendor/golang.org/x/crypto/blake2b/register.go b/vendor/golang.org/x/crypto/blake2b/register.go new file mode 100644 index 000000000..efd689af4 --- /dev/null +++ b/vendor/golang.org/x/crypto/blake2b/register.go @@ -0,0 +1,32 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.9 + +package blake2b + +import ( + "crypto" + "hash" +) + +func init() { + newHash256 := func() hash.Hash { + h, _ := New256(nil) + return h + } + newHash384 := func() hash.Hash { + h, _ := New384(nil) + return h + } + + newHash512 := func() hash.Hash { + h, _ := New512(nil) + return h + } + + crypto.RegisterHash(crypto.BLAKE2b_256, newHash256) + crypto.RegisterHash(crypto.BLAKE2b_384, newHash384) + crypto.RegisterHash(crypto.BLAKE2b_512, newHash512) +} diff --git a/vendor/golang.org/x/crypto/blake2s/blake2s.go b/vendor/golang.org/x/crypto/blake2s/blake2s.go new file mode 100644 index 000000000..5fb4a9ecd --- /dev/null +++ b/vendor/golang.org/x/crypto/blake2s/blake2s.go @@ -0,0 +1,244 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package blake2s implements the BLAKE2s hash algorithm defined by RFC 7693 +// and the extendable output function (XOF) BLAKE2Xs. +// +// For a detailed specification of BLAKE2s see https://blake2.net/blake2.pdf +// and for BLAKE2Xs see https://blake2.net/blake2x.pdf +// +// If you aren't sure which function you need, use BLAKE2s (Sum256 or New256). +// If you need a secret-key MAC (message authentication code), use the New256 +// function with a non-nil key. +// +// BLAKE2X is a construction to compute hash values larger than 32 bytes. It +// can produce hash values between 0 and 65535 bytes. +package blake2s // import "golang.org/x/crypto/blake2s" + +import ( + "encoding/binary" + "errors" + "hash" +) + +const ( + // The blocksize of BLAKE2s in bytes. + BlockSize = 64 + + // The hash size of BLAKE2s-256 in bytes. + Size = 32 + + // The hash size of BLAKE2s-128 in bytes. + Size128 = 16 +) + +var errKeySize = errors.New("blake2s: invalid key size") + +var iv = [8]uint32{ + 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, + 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19, +} + +// Sum256 returns the BLAKE2s-256 checksum of the data. +func Sum256(data []byte) [Size]byte { + var sum [Size]byte + checkSum(&sum, Size, data) + return sum +} + +// New256 returns a new hash.Hash computing the BLAKE2s-256 checksum. A non-nil +// key turns the hash into a MAC. The key must between zero and 32 bytes long. +// When the key is nil, the returned hash.Hash implements BinaryMarshaler +// and BinaryUnmarshaler for state (de)serialization as documented by hash.Hash. +func New256(key []byte) (hash.Hash, error) { return newDigest(Size, key) } + +// New128 returns a new hash.Hash computing the BLAKE2s-128 checksum given a +// non-empty key. Note that a 128-bit digest is too small to be secure as a +// cryptographic hash and should only be used as a MAC, thus the key argument +// is not optional. +func New128(key []byte) (hash.Hash, error) { + if len(key) == 0 { + return nil, errors.New("blake2s: a key is required for a 128-bit hash") + } + return newDigest(Size128, key) +} + +func newDigest(hashSize int, key []byte) (*digest, error) { + if len(key) > Size { + return nil, errKeySize + } + d := &digest{ + size: hashSize, + keyLen: len(key), + } + copy(d.key[:], key) + d.Reset() + return d, nil +} + +func checkSum(sum *[Size]byte, hashSize int, data []byte) { + var ( + h [8]uint32 + c [2]uint32 + ) + + h = iv + h[0] ^= uint32(hashSize) | (1 << 16) | (1 << 24) + + if length := len(data); length > BlockSize { + n := length &^ (BlockSize - 1) + if length == n { + n -= BlockSize + } + hashBlocks(&h, &c, 0, data[:n]) + data = data[n:] + } + + var block [BlockSize]byte + offset := copy(block[:], data) + remaining := uint32(BlockSize - offset) + + if c[0] < remaining { + c[1]-- + } + c[0] -= remaining + + hashBlocks(&h, &c, 0xFFFFFFFF, block[:]) + + for i, v := range h { + binary.LittleEndian.PutUint32(sum[4*i:], v) + } +} + +type digest struct { + h [8]uint32 + c [2]uint32 + size int + block [BlockSize]byte + offset int + + key [BlockSize]byte + keyLen int +} + +const ( + magic = "b2s" + marshaledSize = len(magic) + 8*4 + 2*4 + 1 + BlockSize + 1 +) + +func (d *digest) MarshalBinary() ([]byte, error) { + if d.keyLen != 0 { + return nil, errors.New("crypto/blake2s: cannot marshal MACs") + } + b := make([]byte, 0, marshaledSize) + b = append(b, magic...) + for i := 0; i < 8; i++ { + b = appendUint32(b, d.h[i]) + } + b = appendUint32(b, d.c[0]) + b = appendUint32(b, d.c[1]) + // Maximum value for size is 32 + b = append(b, byte(d.size)) + b = append(b, d.block[:]...) + b = append(b, byte(d.offset)) + return b, nil +} + +func (d *digest) UnmarshalBinary(b []byte) error { + if len(b) < len(magic) || string(b[:len(magic)]) != magic { + return errors.New("crypto/blake2s: invalid hash state identifier") + } + if len(b) != marshaledSize { + return errors.New("crypto/blake2s: invalid hash state size") + } + b = b[len(magic):] + for i := 0; i < 8; i++ { + b, d.h[i] = consumeUint32(b) + } + b, d.c[0] = consumeUint32(b) + b, d.c[1] = consumeUint32(b) + d.size = int(b[0]) + b = b[1:] + copy(d.block[:], b[:BlockSize]) + b = b[BlockSize:] + d.offset = int(b[0]) + return nil +} + +func (d *digest) BlockSize() int { return BlockSize } + +func (d *digest) Size() int { return d.size } + +func (d *digest) Reset() { + d.h = iv + d.h[0] ^= uint32(d.size) | (uint32(d.keyLen) << 8) | (1 << 16) | (1 << 24) + d.offset, d.c[0], d.c[1] = 0, 0, 0 + if d.keyLen > 0 { + d.block = d.key + d.offset = BlockSize + } +} + +func (d *digest) Write(p []byte) (n int, err error) { + n = len(p) + + if d.offset > 0 { + remaining := BlockSize - d.offset + if n <= remaining { + d.offset += copy(d.block[d.offset:], p) + return + } + copy(d.block[d.offset:], p[:remaining]) + hashBlocks(&d.h, &d.c, 0, d.block[:]) + d.offset = 0 + p = p[remaining:] + } + + if length := len(p); length > BlockSize { + nn := length &^ (BlockSize - 1) + if length == nn { + nn -= BlockSize + } + hashBlocks(&d.h, &d.c, 0, p[:nn]) + p = p[nn:] + } + + d.offset += copy(d.block[:], p) + return +} + +func (d *digest) Sum(sum []byte) []byte { + var hash [Size]byte + d.finalize(&hash) + return append(sum, hash[:d.size]...) +} + +func (d *digest) finalize(hash *[Size]byte) { + var block [BlockSize]byte + h := d.h + c := d.c + + copy(block[:], d.block[:d.offset]) + remaining := uint32(BlockSize - d.offset) + if c[0] < remaining { + c[1]-- + } + c[0] -= remaining + + hashBlocks(&h, &c, 0xFFFFFFFF, block[:]) + for i, v := range h { + binary.LittleEndian.PutUint32(hash[4*i:], v) + } +} + +func appendUint32(b []byte, x uint32) []byte { + var a [4]byte + binary.BigEndian.PutUint32(a[:], x) + return append(b, a[:]...) +} + +func consumeUint32(b []byte) ([]byte, uint32) { + x := binary.BigEndian.Uint32(b) + return b[4:], x +} diff --git a/vendor/golang.org/x/crypto/blake2s/blake2s_386.go b/vendor/golang.org/x/crypto/blake2s/blake2s_386.go new file mode 100644 index 000000000..d8f9cea93 --- /dev/null +++ b/vendor/golang.org/x/crypto/blake2s/blake2s_386.go @@ -0,0 +1,32 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build 386,!gccgo,!appengine + +package blake2s + +import "golang.org/x/sys/cpu" + +var ( + useSSE4 = false + useSSSE3 = cpu.X86.HasSSSE3 + useSSE2 = cpu.X86.HasSSE2 +) + +//go:noescape +func hashBlocksSSE2(h *[8]uint32, c *[2]uint32, flag uint32, blocks []byte) + +//go:noescape +func hashBlocksSSSE3(h *[8]uint32, c *[2]uint32, flag uint32, blocks []byte) + +func hashBlocks(h *[8]uint32, c *[2]uint32, flag uint32, blocks []byte) { + switch { + case useSSSE3: + hashBlocksSSSE3(h, c, flag, blocks) + case useSSE2: + hashBlocksSSE2(h, c, flag, blocks) + default: + hashBlocksGeneric(h, c, flag, blocks) + } +} diff --git a/vendor/golang.org/x/crypto/blake2s/blake2s_386.s b/vendor/golang.org/x/crypto/blake2s/blake2s_386.s new file mode 100644 index 000000000..c123e5d60 --- /dev/null +++ b/vendor/golang.org/x/crypto/blake2s/blake2s_386.s @@ -0,0 +1,435 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build 386,!gccgo,!appengine + +#include "textflag.h" + +DATA iv0<>+0x00(SB)/4, $0x6a09e667 +DATA iv0<>+0x04(SB)/4, $0xbb67ae85 +DATA iv0<>+0x08(SB)/4, $0x3c6ef372 +DATA iv0<>+0x0c(SB)/4, $0xa54ff53a +GLOBL iv0<>(SB), (NOPTR+RODATA), $16 + +DATA iv1<>+0x00(SB)/4, $0x510e527f +DATA iv1<>+0x04(SB)/4, $0x9b05688c +DATA iv1<>+0x08(SB)/4, $0x1f83d9ab +DATA iv1<>+0x0c(SB)/4, $0x5be0cd19 +GLOBL iv1<>(SB), (NOPTR+RODATA), $16 + +DATA rol16<>+0x00(SB)/8, $0x0504070601000302 +DATA rol16<>+0x08(SB)/8, $0x0D0C0F0E09080B0A +GLOBL rol16<>(SB), (NOPTR+RODATA), $16 + +DATA rol8<>+0x00(SB)/8, $0x0407060500030201 +DATA rol8<>+0x08(SB)/8, $0x0C0F0E0D080B0A09 +GLOBL rol8<>(SB), (NOPTR+RODATA), $16 + +DATA counter<>+0x00(SB)/8, $0x40 +DATA counter<>+0x08(SB)/8, $0x0 +GLOBL counter<>(SB), (NOPTR+RODATA), $16 + +#define ROTL_SSE2(n, t, v) \ + MOVO v, t; \ + PSLLL $n, t; \ + PSRLL $(32-n), v; \ + PXOR t, v + +#define ROTL_SSSE3(c, v) \ + PSHUFB c, v + +#define ROUND_SSE2(v0, v1, v2, v3, m0, m1, m2, m3, t) \ + PADDL m0, v0; \ + PADDL v1, v0; \ + PXOR v0, v3; \ + ROTL_SSE2(16, t, v3); \ + PADDL v3, v2; \ + PXOR v2, v1; \ + ROTL_SSE2(20, t, v1); \ + PADDL m1, v0; \ + PADDL v1, v0; \ + PXOR v0, v3; \ + ROTL_SSE2(24, t, v3); \ + PADDL v3, v2; \ + PXOR v2, v1; \ + ROTL_SSE2(25, t, v1); \ + PSHUFL $0x39, v1, v1; \ + PSHUFL $0x4E, v2, v2; \ + PSHUFL $0x93, v3, v3; \ + PADDL m2, v0; \ + PADDL v1, v0; \ + PXOR v0, v3; \ + ROTL_SSE2(16, t, v3); \ + PADDL v3, v2; \ + PXOR v2, v1; \ + ROTL_SSE2(20, t, v1); \ + PADDL m3, v0; \ + PADDL v1, v0; \ + PXOR v0, v3; \ + ROTL_SSE2(24, t, v3); \ + PADDL v3, v2; \ + PXOR v2, v1; \ + ROTL_SSE2(25, t, v1); \ + PSHUFL $0x39, v3, v3; \ + PSHUFL $0x4E, v2, v2; \ + PSHUFL $0x93, v1, v1 + +#define ROUND_SSSE3(v0, v1, v2, v3, m0, m1, m2, m3, t, c16, c8) \ + PADDL m0, v0; \ + PADDL v1, v0; \ + PXOR v0, v3; \ + ROTL_SSSE3(c16, v3); \ + PADDL v3, v2; \ + PXOR v2, v1; \ + ROTL_SSE2(20, t, v1); \ + PADDL m1, v0; \ + PADDL v1, v0; \ + PXOR v0, v3; \ + ROTL_SSSE3(c8, v3); \ + PADDL v3, v2; \ + PXOR v2, v1; \ + ROTL_SSE2(25, t, v1); \ + PSHUFL $0x39, v1, v1; \ + PSHUFL $0x4E, v2, v2; \ + PSHUFL $0x93, v3, v3; \ + PADDL m2, v0; \ + PADDL v1, v0; \ + PXOR v0, v3; \ + ROTL_SSSE3(c16, v3); \ + PADDL v3, v2; \ + PXOR v2, v1; \ + ROTL_SSE2(20, t, v1); \ + PADDL m3, v0; \ + PADDL v1, v0; \ + PXOR v0, v3; \ + ROTL_SSSE3(c8, v3); \ + PADDL v3, v2; \ + PXOR v2, v1; \ + ROTL_SSE2(25, t, v1); \ + PSHUFL $0x39, v3, v3; \ + PSHUFL $0x4E, v2, v2; \ + PSHUFL $0x93, v1, v1 + +#define PRECOMPUTE(dst, off, src, t) \ + MOVL 0*4(src), t; \ + MOVL t, 0*4+off+0(dst); \ + MOVL t, 9*4+off+64(dst); \ + MOVL t, 5*4+off+128(dst); \ + MOVL t, 14*4+off+192(dst); \ + MOVL t, 4*4+off+256(dst); \ + MOVL t, 2*4+off+320(dst); \ + MOVL t, 8*4+off+384(dst); \ + MOVL t, 12*4+off+448(dst); \ + MOVL t, 3*4+off+512(dst); \ + MOVL t, 15*4+off+576(dst); \ + MOVL 1*4(src), t; \ + MOVL t, 4*4+off+0(dst); \ + MOVL t, 8*4+off+64(dst); \ + MOVL t, 14*4+off+128(dst); \ + MOVL t, 5*4+off+192(dst); \ + MOVL t, 12*4+off+256(dst); \ + MOVL t, 11*4+off+320(dst); \ + MOVL t, 1*4+off+384(dst); \ + MOVL t, 6*4+off+448(dst); \ + MOVL t, 10*4+off+512(dst); \ + MOVL t, 3*4+off+576(dst); \ + MOVL 2*4(src), t; \ + MOVL t, 1*4+off+0(dst); \ + MOVL t, 13*4+off+64(dst); \ + MOVL t, 6*4+off+128(dst); \ + MOVL t, 8*4+off+192(dst); \ + MOVL t, 2*4+off+256(dst); \ + MOVL t, 0*4+off+320(dst); \ + MOVL t, 14*4+off+384(dst); \ + MOVL t, 11*4+off+448(dst); \ + MOVL t, 12*4+off+512(dst); \ + MOVL t, 4*4+off+576(dst); \ + MOVL 3*4(src), t; \ + MOVL t, 5*4+off+0(dst); \ + MOVL t, 15*4+off+64(dst); \ + MOVL t, 9*4+off+128(dst); \ + MOVL t, 1*4+off+192(dst); \ + MOVL t, 11*4+off+256(dst); \ + MOVL t, 7*4+off+320(dst); \ + MOVL t, 13*4+off+384(dst); \ + MOVL t, 3*4+off+448(dst); \ + MOVL t, 6*4+off+512(dst); \ + MOVL t, 10*4+off+576(dst); \ + MOVL 4*4(src), t; \ + MOVL t, 2*4+off+0(dst); \ + MOVL t, 1*4+off+64(dst); \ + MOVL t, 15*4+off+128(dst); \ + MOVL t, 10*4+off+192(dst); \ + MOVL t, 6*4+off+256(dst); \ + MOVL t, 8*4+off+320(dst); \ + MOVL t, 3*4+off+384(dst); \ + MOVL t, 13*4+off+448(dst); \ + MOVL t, 14*4+off+512(dst); \ + MOVL t, 5*4+off+576(dst); \ + MOVL 5*4(src), t; \ + MOVL t, 6*4+off+0(dst); \ + MOVL t, 11*4+off+64(dst); \ + MOVL t, 2*4+off+128(dst); \ + MOVL t, 9*4+off+192(dst); \ + MOVL t, 1*4+off+256(dst); \ + MOVL t, 13*4+off+320(dst); \ + MOVL t, 4*4+off+384(dst); \ + MOVL t, 8*4+off+448(dst); \ + MOVL t, 15*4+off+512(dst); \ + MOVL t, 7*4+off+576(dst); \ + MOVL 6*4(src), t; \ + MOVL t, 3*4+off+0(dst); \ + MOVL t, 7*4+off+64(dst); \ + MOVL t, 13*4+off+128(dst); \ + MOVL t, 12*4+off+192(dst); \ + MOVL t, 10*4+off+256(dst); \ + MOVL t, 1*4+off+320(dst); \ + MOVL t, 9*4+off+384(dst); \ + MOVL t, 14*4+off+448(dst); \ + MOVL t, 0*4+off+512(dst); \ + MOVL t, 6*4+off+576(dst); \ + MOVL 7*4(src), t; \ + MOVL t, 7*4+off+0(dst); \ + MOVL t, 14*4+off+64(dst); \ + MOVL t, 10*4+off+128(dst); \ + MOVL t, 0*4+off+192(dst); \ + MOVL t, 5*4+off+256(dst); \ + MOVL t, 9*4+off+320(dst); \ + MOVL t, 12*4+off+384(dst); \ + MOVL t, 1*4+off+448(dst); \ + MOVL t, 13*4+off+512(dst); \ + MOVL t, 2*4+off+576(dst); \ + MOVL 8*4(src), t; \ + MOVL t, 8*4+off+0(dst); \ + MOVL t, 5*4+off+64(dst); \ + MOVL t, 4*4+off+128(dst); \ + MOVL t, 15*4+off+192(dst); \ + MOVL t, 14*4+off+256(dst); \ + MOVL t, 3*4+off+320(dst); \ + MOVL t, 11*4+off+384(dst); \ + MOVL t, 10*4+off+448(dst); \ + MOVL t, 7*4+off+512(dst); \ + MOVL t, 1*4+off+576(dst); \ + MOVL 9*4(src), t; \ + MOVL t, 12*4+off+0(dst); \ + MOVL t, 2*4+off+64(dst); \ + MOVL t, 11*4+off+128(dst); \ + MOVL t, 4*4+off+192(dst); \ + MOVL t, 0*4+off+256(dst); \ + MOVL t, 15*4+off+320(dst); \ + MOVL t, 10*4+off+384(dst); \ + MOVL t, 7*4+off+448(dst); \ + MOVL t, 5*4+off+512(dst); \ + MOVL t, 9*4+off+576(dst); \ + MOVL 10*4(src), t; \ + MOVL t, 9*4+off+0(dst); \ + MOVL t, 4*4+off+64(dst); \ + MOVL t, 8*4+off+128(dst); \ + MOVL t, 13*4+off+192(dst); \ + MOVL t, 3*4+off+256(dst); \ + MOVL t, 5*4+off+320(dst); \ + MOVL t, 7*4+off+384(dst); \ + MOVL t, 15*4+off+448(dst); \ + MOVL t, 11*4+off+512(dst); \ + MOVL t, 0*4+off+576(dst); \ + MOVL 11*4(src), t; \ + MOVL t, 13*4+off+0(dst); \ + MOVL t, 10*4+off+64(dst); \ + MOVL t, 0*4+off+128(dst); \ + MOVL t, 3*4+off+192(dst); \ + MOVL t, 9*4+off+256(dst); \ + MOVL t, 6*4+off+320(dst); \ + MOVL t, 15*4+off+384(dst); \ + MOVL t, 4*4+off+448(dst); \ + MOVL t, 2*4+off+512(dst); \ + MOVL t, 12*4+off+576(dst); \ + MOVL 12*4(src), t; \ + MOVL t, 10*4+off+0(dst); \ + MOVL t, 12*4+off+64(dst); \ + MOVL t, 1*4+off+128(dst); \ + MOVL t, 6*4+off+192(dst); \ + MOVL t, 13*4+off+256(dst); \ + MOVL t, 4*4+off+320(dst); \ + MOVL t, 0*4+off+384(dst); \ + MOVL t, 2*4+off+448(dst); \ + MOVL t, 8*4+off+512(dst); \ + MOVL t, 14*4+off+576(dst); \ + MOVL 13*4(src), t; \ + MOVL t, 14*4+off+0(dst); \ + MOVL t, 3*4+off+64(dst); \ + MOVL t, 7*4+off+128(dst); \ + MOVL t, 2*4+off+192(dst); \ + MOVL t, 15*4+off+256(dst); \ + MOVL t, 12*4+off+320(dst); \ + MOVL t, 6*4+off+384(dst); \ + MOVL t, 0*4+off+448(dst); \ + MOVL t, 9*4+off+512(dst); \ + MOVL t, 11*4+off+576(dst); \ + MOVL 14*4(src), t; \ + MOVL t, 11*4+off+0(dst); \ + MOVL t, 0*4+off+64(dst); \ + MOVL t, 12*4+off+128(dst); \ + MOVL t, 7*4+off+192(dst); \ + MOVL t, 8*4+off+256(dst); \ + MOVL t, 14*4+off+320(dst); \ + MOVL t, 2*4+off+384(dst); \ + MOVL t, 5*4+off+448(dst); \ + MOVL t, 1*4+off+512(dst); \ + MOVL t, 13*4+off+576(dst); \ + MOVL 15*4(src), t; \ + MOVL t, 15*4+off+0(dst); \ + MOVL t, 6*4+off+64(dst); \ + MOVL t, 3*4+off+128(dst); \ + MOVL t, 11*4+off+192(dst); \ + MOVL t, 7*4+off+256(dst); \ + MOVL t, 10*4+off+320(dst); \ + MOVL t, 5*4+off+384(dst); \ + MOVL t, 9*4+off+448(dst); \ + MOVL t, 4*4+off+512(dst); \ + MOVL t, 8*4+off+576(dst) + +// func hashBlocksSSE2(h *[8]uint32, c *[2]uint32, flag uint32, blocks []byte) +TEXT ·hashBlocksSSE2(SB), 0, $672-24 // frame = 656 + 16 byte alignment + MOVL h+0(FP), AX + MOVL c+4(FP), BX + MOVL flag+8(FP), CX + MOVL blocks_base+12(FP), SI + MOVL blocks_len+16(FP), DX + + MOVL SP, BP + MOVL SP, DI + ADDL $15, DI + ANDL $~15, DI + MOVL DI, SP + + MOVL CX, 8(SP) + MOVL 0(BX), CX + MOVL CX, 0(SP) + MOVL 4(BX), CX + MOVL CX, 4(SP) + XORL CX, CX + MOVL CX, 12(SP) + + MOVOU 0(AX), X0 + MOVOU 16(AX), X1 + MOVOU counter<>(SB), X2 + +loop: + MOVO X0, X4 + MOVO X1, X5 + MOVOU iv0<>(SB), X6 + MOVOU iv1<>(SB), X7 + + MOVO 0(SP), X3 + PADDQ X2, X3 + PXOR X3, X7 + MOVO X3, 0(SP) + + PRECOMPUTE(SP, 16, SI, CX) + ROUND_SSE2(X4, X5, X6, X7, 16(SP), 32(SP), 48(SP), 64(SP), X3) + ROUND_SSE2(X4, X5, X6, X7, 16+64(SP), 32+64(SP), 48+64(SP), 64+64(SP), X3) + ROUND_SSE2(X4, X5, X6, X7, 16+128(SP), 32+128(SP), 48+128(SP), 64+128(SP), X3) + ROUND_SSE2(X4, X5, X6, X7, 16+192(SP), 32+192(SP), 48+192(SP), 64+192(SP), X3) + ROUND_SSE2(X4, X5, X6, X7, 16+256(SP), 32+256(SP), 48+256(SP), 64+256(SP), X3) + ROUND_SSE2(X4, X5, X6, X7, 16+320(SP), 32+320(SP), 48+320(SP), 64+320(SP), X3) + ROUND_SSE2(X4, X5, X6, X7, 16+384(SP), 32+384(SP), 48+384(SP), 64+384(SP), X3) + ROUND_SSE2(X4, X5, X6, X7, 16+448(SP), 32+448(SP), 48+448(SP), 64+448(SP), X3) + ROUND_SSE2(X4, X5, X6, X7, 16+512(SP), 32+512(SP), 48+512(SP), 64+512(SP), X3) + ROUND_SSE2(X4, X5, X6, X7, 16+576(SP), 32+576(SP), 48+576(SP), 64+576(SP), X3) + + PXOR X4, X0 + PXOR X5, X1 + PXOR X6, X0 + PXOR X7, X1 + + LEAL 64(SI), SI + SUBL $64, DX + JNE loop + + MOVL 0(SP), CX + MOVL CX, 0(BX) + MOVL 4(SP), CX + MOVL CX, 4(BX) + + MOVOU X0, 0(AX) + MOVOU X1, 16(AX) + + MOVL BP, SP + RET + +// func hashBlocksSSSE3(h *[8]uint32, c *[2]uint32, flag uint32, blocks []byte) +TEXT ·hashBlocksSSSE3(SB), 0, $704-24 // frame = 688 + 16 byte alignment + MOVL h+0(FP), AX + MOVL c+4(FP), BX + MOVL flag+8(FP), CX + MOVL blocks_base+12(FP), SI + MOVL blocks_len+16(FP), DX + + MOVL SP, BP + MOVL SP, DI + ADDL $15, DI + ANDL $~15, DI + MOVL DI, SP + + MOVL CX, 8(SP) + MOVL 0(BX), CX + MOVL CX, 0(SP) + MOVL 4(BX), CX + MOVL CX, 4(SP) + XORL CX, CX + MOVL CX, 12(SP) + + MOVOU 0(AX), X0 + MOVOU 16(AX), X1 + MOVOU counter<>(SB), X2 + +loop: + MOVO X0, 656(SP) + MOVO X1, 672(SP) + MOVO X0, X4 + MOVO X1, X5 + MOVOU iv0<>(SB), X6 + MOVOU iv1<>(SB), X7 + + MOVO 0(SP), X3 + PADDQ X2, X3 + PXOR X3, X7 + MOVO X3, 0(SP) + + MOVOU rol16<>(SB), X0 + MOVOU rol8<>(SB), X1 + + PRECOMPUTE(SP, 16, SI, CX) + ROUND_SSSE3(X4, X5, X6, X7, 16(SP), 32(SP), 48(SP), 64(SP), X3, X0, X1) + ROUND_SSSE3(X4, X5, X6, X7, 16+64(SP), 32+64(SP), 48+64(SP), 64+64(SP), X3, X0, X1) + ROUND_SSSE3(X4, X5, X6, X7, 16+128(SP), 32+128(SP), 48+128(SP), 64+128(SP), X3, X0, X1) + ROUND_SSSE3(X4, X5, X6, X7, 16+192(SP), 32+192(SP), 48+192(SP), 64+192(SP), X3, X0, X1) + ROUND_SSSE3(X4, X5, X6, X7, 16+256(SP), 32+256(SP), 48+256(SP), 64+256(SP), X3, X0, X1) + ROUND_SSSE3(X4, X5, X6, X7, 16+320(SP), 32+320(SP), 48+320(SP), 64+320(SP), X3, X0, X1) + ROUND_SSSE3(X4, X5, X6, X7, 16+384(SP), 32+384(SP), 48+384(SP), 64+384(SP), X3, X0, X1) + ROUND_SSSE3(X4, X5, X6, X7, 16+448(SP), 32+448(SP), 48+448(SP), 64+448(SP), X3, X0, X1) + ROUND_SSSE3(X4, X5, X6, X7, 16+512(SP), 32+512(SP), 48+512(SP), 64+512(SP), X3, X0, X1) + ROUND_SSSE3(X4, X5, X6, X7, 16+576(SP), 32+576(SP), 48+576(SP), 64+576(SP), X3, X0, X1) + + MOVO 656(SP), X0 + MOVO 672(SP), X1 + PXOR X4, X0 + PXOR X5, X1 + PXOR X6, X0 + PXOR X7, X1 + + LEAL 64(SI), SI + SUBL $64, DX + JNE loop + + MOVL 0(SP), CX + MOVL CX, 0(BX) + MOVL 4(SP), CX + MOVL CX, 4(BX) + + MOVOU X0, 0(AX) + MOVOU X1, 16(AX) + + MOVL BP, SP + RET diff --git a/vendor/golang.org/x/crypto/blake2s/blake2s_amd64.go b/vendor/golang.org/x/crypto/blake2s/blake2s_amd64.go new file mode 100644 index 000000000..4e8d2d745 --- /dev/null +++ b/vendor/golang.org/x/crypto/blake2s/blake2s_amd64.go @@ -0,0 +1,37 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,!gccgo,!appengine + +package blake2s + +import "golang.org/x/sys/cpu" + +var ( + useSSE4 = cpu.X86.HasSSE41 + useSSSE3 = cpu.X86.HasSSSE3 + useSSE2 = cpu.X86.HasSSE2 +) + +//go:noescape +func hashBlocksSSE2(h *[8]uint32, c *[2]uint32, flag uint32, blocks []byte) + +//go:noescape +func hashBlocksSSSE3(h *[8]uint32, c *[2]uint32, flag uint32, blocks []byte) + +//go:noescape +func hashBlocksSSE4(h *[8]uint32, c *[2]uint32, flag uint32, blocks []byte) + +func hashBlocks(h *[8]uint32, c *[2]uint32, flag uint32, blocks []byte) { + switch { + case useSSE4: + hashBlocksSSE4(h, c, flag, blocks) + case useSSSE3: + hashBlocksSSSE3(h, c, flag, blocks) + case useSSE2: + hashBlocksSSE2(h, c, flag, blocks) + default: + hashBlocksGeneric(h, c, flag, blocks) + } +} diff --git a/vendor/golang.org/x/crypto/blake2s/blake2s_amd64.s b/vendor/golang.org/x/crypto/blake2s/blake2s_amd64.s new file mode 100644 index 000000000..8da280262 --- /dev/null +++ b/vendor/golang.org/x/crypto/blake2s/blake2s_amd64.s @@ -0,0 +1,438 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,!gccgo,!appengine + +#include "textflag.h" + +DATA iv0<>+0x00(SB)/4, $0x6a09e667 +DATA iv0<>+0x04(SB)/4, $0xbb67ae85 +DATA iv0<>+0x08(SB)/4, $0x3c6ef372 +DATA iv0<>+0x0c(SB)/4, $0xa54ff53a +GLOBL iv0<>(SB), (NOPTR+RODATA), $16 + +DATA iv1<>+0x00(SB)/4, $0x510e527f +DATA iv1<>+0x04(SB)/4, $0x9b05688c +DATA iv1<>+0x08(SB)/4, $0x1f83d9ab +DATA iv1<>+0x0c(SB)/4, $0x5be0cd19 +GLOBL iv1<>(SB), (NOPTR+RODATA), $16 + +DATA rol16<>+0x00(SB)/8, $0x0504070601000302 +DATA rol16<>+0x08(SB)/8, $0x0D0C0F0E09080B0A +GLOBL rol16<>(SB), (NOPTR+RODATA), $16 + +DATA rol8<>+0x00(SB)/8, $0x0407060500030201 +DATA rol8<>+0x08(SB)/8, $0x0C0F0E0D080B0A09 +GLOBL rol8<>(SB), (NOPTR+RODATA), $16 + +DATA counter<>+0x00(SB)/8, $0x40 +DATA counter<>+0x08(SB)/8, $0x0 +GLOBL counter<>(SB), (NOPTR+RODATA), $16 + +#define ROTL_SSE2(n, t, v) \ + MOVO v, t; \ + PSLLL $n, t; \ + PSRLL $(32-n), v; \ + PXOR t, v + +#define ROTL_SSSE3(c, v) \ + PSHUFB c, v + +#define ROUND_SSE2(v0, v1, v2, v3, m0, m1, m2, m3, t) \ + PADDL m0, v0; \ + PADDL v1, v0; \ + PXOR v0, v3; \ + ROTL_SSE2(16, t, v3); \ + PADDL v3, v2; \ + PXOR v2, v1; \ + ROTL_SSE2(20, t, v1); \ + PADDL m1, v0; \ + PADDL v1, v0; \ + PXOR v0, v3; \ + ROTL_SSE2(24, t, v3); \ + PADDL v3, v2; \ + PXOR v2, v1; \ + ROTL_SSE2(25, t, v1); \ + PSHUFL $0x39, v1, v1; \ + PSHUFL $0x4E, v2, v2; \ + PSHUFL $0x93, v3, v3; \ + PADDL m2, v0; \ + PADDL v1, v0; \ + PXOR v0, v3; \ + ROTL_SSE2(16, t, v3); \ + PADDL v3, v2; \ + PXOR v2, v1; \ + ROTL_SSE2(20, t, v1); \ + PADDL m3, v0; \ + PADDL v1, v0; \ + PXOR v0, v3; \ + ROTL_SSE2(24, t, v3); \ + PADDL v3, v2; \ + PXOR v2, v1; \ + ROTL_SSE2(25, t, v1); \ + PSHUFL $0x39, v3, v3; \ + PSHUFL $0x4E, v2, v2; \ + PSHUFL $0x93, v1, v1 + +#define ROUND_SSSE3(v0, v1, v2, v3, m0, m1, m2, m3, t, c16, c8) \ + PADDL m0, v0; \ + PADDL v1, v0; \ + PXOR v0, v3; \ + ROTL_SSSE3(c16, v3); \ + PADDL v3, v2; \ + PXOR v2, v1; \ + ROTL_SSE2(20, t, v1); \ + PADDL m1, v0; \ + PADDL v1, v0; \ + PXOR v0, v3; \ + ROTL_SSSE3(c8, v3); \ + PADDL v3, v2; \ + PXOR v2, v1; \ + ROTL_SSE2(25, t, v1); \ + PSHUFL $0x39, v1, v1; \ + PSHUFL $0x4E, v2, v2; \ + PSHUFL $0x93, v3, v3; \ + PADDL m2, v0; \ + PADDL v1, v0; \ + PXOR v0, v3; \ + ROTL_SSSE3(c16, v3); \ + PADDL v3, v2; \ + PXOR v2, v1; \ + ROTL_SSE2(20, t, v1); \ + PADDL m3, v0; \ + PADDL v1, v0; \ + PXOR v0, v3; \ + ROTL_SSSE3(c8, v3); \ + PADDL v3, v2; \ + PXOR v2, v1; \ + ROTL_SSE2(25, t, v1); \ + PSHUFL $0x39, v3, v3; \ + PSHUFL $0x4E, v2, v2; \ + PSHUFL $0x93, v1, v1 + + +#define LOAD_MSG_SSE4(m0, m1, m2, m3, src, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15) \ + MOVL i0*4(src), m0; \ + PINSRD $1, i1*4(src), m0; \ + PINSRD $2, i2*4(src), m0; \ + PINSRD $3, i3*4(src), m0; \ + MOVL i4*4(src), m1; \ + PINSRD $1, i5*4(src), m1; \ + PINSRD $2, i6*4(src), m1; \ + PINSRD $3, i7*4(src), m1; \ + MOVL i8*4(src), m2; \ + PINSRD $1, i9*4(src), m2; \ + PINSRD $2, i10*4(src), m2; \ + PINSRD $3, i11*4(src), m2; \ + MOVL i12*4(src), m3; \ + PINSRD $1, i13*4(src), m3; \ + PINSRD $2, i14*4(src), m3; \ + PINSRD $3, i15*4(src), m3 + +#define PRECOMPUTE_MSG(dst, off, src, R8, R9, R10, R11, R12, R13, R14, R15) \ + MOVQ 0*4(src), R8; \ + MOVQ 2*4(src), R9; \ + MOVQ 4*4(src), R10; \ + MOVQ 6*4(src), R11; \ + MOVQ 8*4(src), R12; \ + MOVQ 10*4(src), R13; \ + MOVQ 12*4(src), R14; \ + MOVQ 14*4(src), R15; \ + \ + MOVL R8, 0*4+off+0(dst); \ + MOVL R8, 9*4+off+64(dst); \ + MOVL R8, 5*4+off+128(dst); \ + MOVL R8, 14*4+off+192(dst); \ + MOVL R8, 4*4+off+256(dst); \ + MOVL R8, 2*4+off+320(dst); \ + MOVL R8, 8*4+off+384(dst); \ + MOVL R8, 12*4+off+448(dst); \ + MOVL R8, 3*4+off+512(dst); \ + MOVL R8, 15*4+off+576(dst); \ + SHRQ $32, R8; \ + MOVL R8, 4*4+off+0(dst); \ + MOVL R8, 8*4+off+64(dst); \ + MOVL R8, 14*4+off+128(dst); \ + MOVL R8, 5*4+off+192(dst); \ + MOVL R8, 12*4+off+256(dst); \ + MOVL R8, 11*4+off+320(dst); \ + MOVL R8, 1*4+off+384(dst); \ + MOVL R8, 6*4+off+448(dst); \ + MOVL R8, 10*4+off+512(dst); \ + MOVL R8, 3*4+off+576(dst); \ + \ + MOVL R9, 1*4+off+0(dst); \ + MOVL R9, 13*4+off+64(dst); \ + MOVL R9, 6*4+off+128(dst); \ + MOVL R9, 8*4+off+192(dst); \ + MOVL R9, 2*4+off+256(dst); \ + MOVL R9, 0*4+off+320(dst); \ + MOVL R9, 14*4+off+384(dst); \ + MOVL R9, 11*4+off+448(dst); \ + MOVL R9, 12*4+off+512(dst); \ + MOVL R9, 4*4+off+576(dst); \ + SHRQ $32, R9; \ + MOVL R9, 5*4+off+0(dst); \ + MOVL R9, 15*4+off+64(dst); \ + MOVL R9, 9*4+off+128(dst); \ + MOVL R9, 1*4+off+192(dst); \ + MOVL R9, 11*4+off+256(dst); \ + MOVL R9, 7*4+off+320(dst); \ + MOVL R9, 13*4+off+384(dst); \ + MOVL R9, 3*4+off+448(dst); \ + MOVL R9, 6*4+off+512(dst); \ + MOVL R9, 10*4+off+576(dst); \ + \ + MOVL R10, 2*4+off+0(dst); \ + MOVL R10, 1*4+off+64(dst); \ + MOVL R10, 15*4+off+128(dst); \ + MOVL R10, 10*4+off+192(dst); \ + MOVL R10, 6*4+off+256(dst); \ + MOVL R10, 8*4+off+320(dst); \ + MOVL R10, 3*4+off+384(dst); \ + MOVL R10, 13*4+off+448(dst); \ + MOVL R10, 14*4+off+512(dst); \ + MOVL R10, 5*4+off+576(dst); \ + SHRQ $32, R10; \ + MOVL R10, 6*4+off+0(dst); \ + MOVL R10, 11*4+off+64(dst); \ + MOVL R10, 2*4+off+128(dst); \ + MOVL R10, 9*4+off+192(dst); \ + MOVL R10, 1*4+off+256(dst); \ + MOVL R10, 13*4+off+320(dst); \ + MOVL R10, 4*4+off+384(dst); \ + MOVL R10, 8*4+off+448(dst); \ + MOVL R10, 15*4+off+512(dst); \ + MOVL R10, 7*4+off+576(dst); \ + \ + MOVL R11, 3*4+off+0(dst); \ + MOVL R11, 7*4+off+64(dst); \ + MOVL R11, 13*4+off+128(dst); \ + MOVL R11, 12*4+off+192(dst); \ + MOVL R11, 10*4+off+256(dst); \ + MOVL R11, 1*4+off+320(dst); \ + MOVL R11, 9*4+off+384(dst); \ + MOVL R11, 14*4+off+448(dst); \ + MOVL R11, 0*4+off+512(dst); \ + MOVL R11, 6*4+off+576(dst); \ + SHRQ $32, R11; \ + MOVL R11, 7*4+off+0(dst); \ + MOVL R11, 14*4+off+64(dst); \ + MOVL R11, 10*4+off+128(dst); \ + MOVL R11, 0*4+off+192(dst); \ + MOVL R11, 5*4+off+256(dst); \ + MOVL R11, 9*4+off+320(dst); \ + MOVL R11, 12*4+off+384(dst); \ + MOVL R11, 1*4+off+448(dst); \ + MOVL R11, 13*4+off+512(dst); \ + MOVL R11, 2*4+off+576(dst); \ + \ + MOVL R12, 8*4+off+0(dst); \ + MOVL R12, 5*4+off+64(dst); \ + MOVL R12, 4*4+off+128(dst); \ + MOVL R12, 15*4+off+192(dst); \ + MOVL R12, 14*4+off+256(dst); \ + MOVL R12, 3*4+off+320(dst); \ + MOVL R12, 11*4+off+384(dst); \ + MOVL R12, 10*4+off+448(dst); \ + MOVL R12, 7*4+off+512(dst); \ + MOVL R12, 1*4+off+576(dst); \ + SHRQ $32, R12; \ + MOVL R12, 12*4+off+0(dst); \ + MOVL R12, 2*4+off+64(dst); \ + MOVL R12, 11*4+off+128(dst); \ + MOVL R12, 4*4+off+192(dst); \ + MOVL R12, 0*4+off+256(dst); \ + MOVL R12, 15*4+off+320(dst); \ + MOVL R12, 10*4+off+384(dst); \ + MOVL R12, 7*4+off+448(dst); \ + MOVL R12, 5*4+off+512(dst); \ + MOVL R12, 9*4+off+576(dst); \ + \ + MOVL R13, 9*4+off+0(dst); \ + MOVL R13, 4*4+off+64(dst); \ + MOVL R13, 8*4+off+128(dst); \ + MOVL R13, 13*4+off+192(dst); \ + MOVL R13, 3*4+off+256(dst); \ + MOVL R13, 5*4+off+320(dst); \ + MOVL R13, 7*4+off+384(dst); \ + MOVL R13, 15*4+off+448(dst); \ + MOVL R13, 11*4+off+512(dst); \ + MOVL R13, 0*4+off+576(dst); \ + SHRQ $32, R13; \ + MOVL R13, 13*4+off+0(dst); \ + MOVL R13, 10*4+off+64(dst); \ + MOVL R13, 0*4+off+128(dst); \ + MOVL R13, 3*4+off+192(dst); \ + MOVL R13, 9*4+off+256(dst); \ + MOVL R13, 6*4+off+320(dst); \ + MOVL R13, 15*4+off+384(dst); \ + MOVL R13, 4*4+off+448(dst); \ + MOVL R13, 2*4+off+512(dst); \ + MOVL R13, 12*4+off+576(dst); \ + \ + MOVL R14, 10*4+off+0(dst); \ + MOVL R14, 12*4+off+64(dst); \ + MOVL R14, 1*4+off+128(dst); \ + MOVL R14, 6*4+off+192(dst); \ + MOVL R14, 13*4+off+256(dst); \ + MOVL R14, 4*4+off+320(dst); \ + MOVL R14, 0*4+off+384(dst); \ + MOVL R14, 2*4+off+448(dst); \ + MOVL R14, 8*4+off+512(dst); \ + MOVL R14, 14*4+off+576(dst); \ + SHRQ $32, R14; \ + MOVL R14, 14*4+off+0(dst); \ + MOVL R14, 3*4+off+64(dst); \ + MOVL R14, 7*4+off+128(dst); \ + MOVL R14, 2*4+off+192(dst); \ + MOVL R14, 15*4+off+256(dst); \ + MOVL R14, 12*4+off+320(dst); \ + MOVL R14, 6*4+off+384(dst); \ + MOVL R14, 0*4+off+448(dst); \ + MOVL R14, 9*4+off+512(dst); \ + MOVL R14, 11*4+off+576(dst); \ + \ + MOVL R15, 11*4+off+0(dst); \ + MOVL R15, 0*4+off+64(dst); \ + MOVL R15, 12*4+off+128(dst); \ + MOVL R15, 7*4+off+192(dst); \ + MOVL R15, 8*4+off+256(dst); \ + MOVL R15, 14*4+off+320(dst); \ + MOVL R15, 2*4+off+384(dst); \ + MOVL R15, 5*4+off+448(dst); \ + MOVL R15, 1*4+off+512(dst); \ + MOVL R15, 13*4+off+576(dst); \ + SHRQ $32, R15; \ + MOVL R15, 15*4+off+0(dst); \ + MOVL R15, 6*4+off+64(dst); \ + MOVL R15, 3*4+off+128(dst); \ + MOVL R15, 11*4+off+192(dst); \ + MOVL R15, 7*4+off+256(dst); \ + MOVL R15, 10*4+off+320(dst); \ + MOVL R15, 5*4+off+384(dst); \ + MOVL R15, 9*4+off+448(dst); \ + MOVL R15, 4*4+off+512(dst); \ + MOVL R15, 8*4+off+576(dst) + +#define BLAKE2s_SSE2() \ + PRECOMPUTE_MSG(SP, 16, SI, R8, R9, R10, R11, R12, R13, R14, R15); \ + ROUND_SSE2(X4, X5, X6, X7, 16(SP), 32(SP), 48(SP), 64(SP), X8); \ + ROUND_SSE2(X4, X5, X6, X7, 16+64(SP), 32+64(SP), 48+64(SP), 64+64(SP), X8); \ + ROUND_SSE2(X4, X5, X6, X7, 16+128(SP), 32+128(SP), 48+128(SP), 64+128(SP), X8); \ + ROUND_SSE2(X4, X5, X6, X7, 16+192(SP), 32+192(SP), 48+192(SP), 64+192(SP), X8); \ + ROUND_SSE2(X4, X5, X6, X7, 16+256(SP), 32+256(SP), 48+256(SP), 64+256(SP), X8); \ + ROUND_SSE2(X4, X5, X6, X7, 16+320(SP), 32+320(SP), 48+320(SP), 64+320(SP), X8); \ + ROUND_SSE2(X4, X5, X6, X7, 16+384(SP), 32+384(SP), 48+384(SP), 64+384(SP), X8); \ + ROUND_SSE2(X4, X5, X6, X7, 16+448(SP), 32+448(SP), 48+448(SP), 64+448(SP), X8); \ + ROUND_SSE2(X4, X5, X6, X7, 16+512(SP), 32+512(SP), 48+512(SP), 64+512(SP), X8); \ + ROUND_SSE2(X4, X5, X6, X7, 16+576(SP), 32+576(SP), 48+576(SP), 64+576(SP), X8) + +#define BLAKE2s_SSSE3() \ + PRECOMPUTE_MSG(SP, 16, SI, R8, R9, R10, R11, R12, R13, R14, R15); \ + ROUND_SSSE3(X4, X5, X6, X7, 16(SP), 32(SP), 48(SP), 64(SP), X8, X13, X14); \ + ROUND_SSSE3(X4, X5, X6, X7, 16+64(SP), 32+64(SP), 48+64(SP), 64+64(SP), X8, X13, X14); \ + ROUND_SSSE3(X4, X5, X6, X7, 16+128(SP), 32+128(SP), 48+128(SP), 64+128(SP), X8, X13, X14); \ + ROUND_SSSE3(X4, X5, X6, X7, 16+192(SP), 32+192(SP), 48+192(SP), 64+192(SP), X8, X13, X14); \ + ROUND_SSSE3(X4, X5, X6, X7, 16+256(SP), 32+256(SP), 48+256(SP), 64+256(SP), X8, X13, X14); \ + ROUND_SSSE3(X4, X5, X6, X7, 16+320(SP), 32+320(SP), 48+320(SP), 64+320(SP), X8, X13, X14); \ + ROUND_SSSE3(X4, X5, X6, X7, 16+384(SP), 32+384(SP), 48+384(SP), 64+384(SP), X8, X13, X14); \ + ROUND_SSSE3(X4, X5, X6, X7, 16+448(SP), 32+448(SP), 48+448(SP), 64+448(SP), X8, X13, X14); \ + ROUND_SSSE3(X4, X5, X6, X7, 16+512(SP), 32+512(SP), 48+512(SP), 64+512(SP), X8, X13, X14); \ + ROUND_SSSE3(X4, X5, X6, X7, 16+576(SP), 32+576(SP), 48+576(SP), 64+576(SP), X8, X13, X14) + +#define BLAKE2s_SSE4() \ + LOAD_MSG_SSE4(X8, X9, X10, X11, SI, 0, 2, 4, 6, 1, 3, 5, 7, 8, 10, 12, 14, 9, 11, 13, 15); \ + ROUND_SSSE3(X4, X5, X6, X7, X8, X9, X10, X11, X8, X13, X14); \ + LOAD_MSG_SSE4(X8, X9, X10, X11, SI, 14, 4, 9, 13, 10, 8, 15, 6, 1, 0, 11, 5, 12, 2, 7, 3); \ + ROUND_SSSE3(X4, X5, X6, X7, X8, X9, X10, X11, X8, X13, X14); \ + LOAD_MSG_SSE4(X8, X9, X10, X11, SI, 11, 12, 5, 15, 8, 0, 2, 13, 10, 3, 7, 9, 14, 6, 1, 4); \ + ROUND_SSSE3(X4, X5, X6, X7, X8, X9, X10, X11, X8, X13, X14); \ + LOAD_MSG_SSE4(X8, X9, X10, X11, SI, 7, 3, 13, 11, 9, 1, 12, 14, 2, 5, 4, 15, 6, 10, 0, 8); \ + ROUND_SSSE3(X4, X5, X6, X7, X8, X9, X10, X11, X8, X13, X14); \ + LOAD_MSG_SSE4(X8, X9, X10, X11, SI, 9, 5, 2, 10, 0, 7, 4, 15, 14, 11, 6, 3, 1, 12, 8, 13); \ + ROUND_SSSE3(X4, X5, X6, X7, X8, X9, X10, X11, X8, X13, X14); \ + LOAD_MSG_SSE4(X8, X9, X10, X11, SI, 2, 6, 0, 8, 12, 10, 11, 3, 4, 7, 15, 1, 13, 5, 14, 9); \ + ROUND_SSSE3(X4, X5, X6, X7, X8, X9, X10, X11, X8, X13, X14); \ + LOAD_MSG_SSE4(X8, X9, X10, X11, SI, 12, 1, 14, 4, 5, 15, 13, 10, 0, 6, 9, 8, 7, 3, 2, 11); \ + ROUND_SSSE3(X4, X5, X6, X7, X8, X9, X10, X11, X8, X13, X14); \ + LOAD_MSG_SSE4(X8, X9, X10, X11, SI, 13, 7, 12, 3, 11, 14, 1, 9, 5, 15, 8, 2, 0, 4, 6, 10); \ + ROUND_SSSE3(X4, X5, X6, X7, X8, X9, X10, X11, X8, X13, X14); \ + LOAD_MSG_SSE4(X8, X9, X10, X11, SI, 6, 14, 11, 0, 15, 9, 3, 8, 12, 13, 1, 10, 2, 7, 4, 5); \ + ROUND_SSSE3(X4, X5, X6, X7, X8, X9, X10, X11, X8, X13, X14); \ + LOAD_MSG_SSE4(X8, X9, X10, X11, SI, 10, 8, 7, 1, 2, 4, 6, 5, 15, 9, 3, 13, 11, 14, 12, 0); \ + ROUND_SSSE3(X4, X5, X6, X7, X8, X9, X10, X11, X8, X13, X14) + +#define HASH_BLOCKS(h, c, flag, blocks_base, blocks_len, BLAKE2s_FUNC) \ + MOVQ h, AX; \ + MOVQ c, BX; \ + MOVL flag, CX; \ + MOVQ blocks_base, SI; \ + MOVQ blocks_len, DX; \ + \ + MOVQ SP, BP; \ + MOVQ SP, R9; \ + ADDQ $15, R9; \ + ANDQ $~15, R9; \ + MOVQ R9, SP; \ + \ + MOVQ 0(BX), R9; \ + MOVQ R9, 0(SP); \ + XORQ R9, R9; \ + MOVQ R9, 8(SP); \ + MOVL CX, 8(SP); \ + \ + MOVOU 0(AX), X0; \ + MOVOU 16(AX), X1; \ + MOVOU iv0<>(SB), X2; \ + MOVOU iv1<>(SB), X3 \ + \ + MOVOU counter<>(SB), X12; \ + MOVOU rol16<>(SB), X13; \ + MOVOU rol8<>(SB), X14; \ + MOVO 0(SP), X15; \ + \ + loop: \ + MOVO X0, X4; \ + MOVO X1, X5; \ + MOVO X2, X6; \ + MOVO X3, X7; \ + \ + PADDQ X12, X15; \ + PXOR X15, X7; \ + \ + BLAKE2s_FUNC(); \ + \ + PXOR X4, X0; \ + PXOR X5, X1; \ + PXOR X6, X0; \ + PXOR X7, X1; \ + \ + LEAQ 64(SI), SI; \ + SUBQ $64, DX; \ + JNE loop; \ + \ + MOVO X15, 0(SP); \ + MOVQ 0(SP), R9; \ + MOVQ R9, 0(BX); \ + \ + MOVOU X0, 0(AX); \ + MOVOU X1, 16(AX); \ + \ + MOVQ BP, SP + +// func hashBlocksSSE2(h *[8]uint32, c *[2]uint32, flag uint32, blocks []byte) +TEXT ·hashBlocksSSE2(SB), 0, $672-48 // frame = 656 + 16 byte alignment + HASH_BLOCKS(h+0(FP), c+8(FP), flag+16(FP), blocks_base+24(FP), blocks_len+32(FP), BLAKE2s_SSE2) + RET + +// func hashBlocksSSSE3(h *[8]uint32, c *[2]uint32, flag uint32, blocks []byte) +TEXT ·hashBlocksSSSE3(SB), 0, $672-48 // frame = 656 + 16 byte alignment + HASH_BLOCKS(h+0(FP), c+8(FP), flag+16(FP), blocks_base+24(FP), blocks_len+32(FP), BLAKE2s_SSSE3) + RET + +// func hashBlocksSSE4(h *[8]uint32, c *[2]uint32, flag uint32, blocks []byte) +TEXT ·hashBlocksSSE4(SB), 0, $32-48 // frame = 16 + 16 byte alignment + HASH_BLOCKS(h+0(FP), c+8(FP), flag+16(FP), blocks_base+24(FP), blocks_len+32(FP), BLAKE2s_SSE4) + RET diff --git a/vendor/golang.org/x/crypto/blake2s/blake2s_generic.go b/vendor/golang.org/x/crypto/blake2s/blake2s_generic.go new file mode 100644 index 000000000..f7e065378 --- /dev/null +++ b/vendor/golang.org/x/crypto/blake2s/blake2s_generic.go @@ -0,0 +1,174 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package blake2s + +// the precomputed values for BLAKE2s +// there are 10 16-byte arrays - one for each round +// the entries are calculated from the sigma constants. +var precomputed = [10][16]byte{ + {0, 2, 4, 6, 1, 3, 5, 7, 8, 10, 12, 14, 9, 11, 13, 15}, + {14, 4, 9, 13, 10, 8, 15, 6, 1, 0, 11, 5, 12, 2, 7, 3}, + {11, 12, 5, 15, 8, 0, 2, 13, 10, 3, 7, 9, 14, 6, 1, 4}, + {7, 3, 13, 11, 9, 1, 12, 14, 2, 5, 4, 15, 6, 10, 0, 8}, + {9, 5, 2, 10, 0, 7, 4, 15, 14, 11, 6, 3, 1, 12, 8, 13}, + {2, 6, 0, 8, 12, 10, 11, 3, 4, 7, 15, 1, 13, 5, 14, 9}, + {12, 1, 14, 4, 5, 15, 13, 10, 0, 6, 9, 8, 7, 3, 2, 11}, + {13, 7, 12, 3, 11, 14, 1, 9, 5, 15, 8, 2, 0, 4, 6, 10}, + {6, 14, 11, 0, 15, 9, 3, 8, 12, 13, 1, 10, 2, 7, 4, 5}, + {10, 8, 7, 1, 2, 4, 6, 5, 15, 9, 3, 13, 11, 14, 12, 0}, +} + +func hashBlocksGeneric(h *[8]uint32, c *[2]uint32, flag uint32, blocks []byte) { + var m [16]uint32 + c0, c1 := c[0], c[1] + + for i := 0; i < len(blocks); { + c0 += BlockSize + if c0 < BlockSize { + c1++ + } + + v0, v1, v2, v3, v4, v5, v6, v7 := h[0], h[1], h[2], h[3], h[4], h[5], h[6], h[7] + v8, v9, v10, v11, v12, v13, v14, v15 := iv[0], iv[1], iv[2], iv[3], iv[4], iv[5], iv[6], iv[7] + v12 ^= c0 + v13 ^= c1 + v14 ^= flag + + for j := range m { + m[j] = uint32(blocks[i]) | uint32(blocks[i+1])<<8 | uint32(blocks[i+2])<<16 | uint32(blocks[i+3])<<24 + i += 4 + } + + for k := range precomputed { + s := &(precomputed[k]) + + v0 += m[s[0]] + v0 += v4 + v12 ^= v0 + v12 = v12<<(32-16) | v12>>16 + v8 += v12 + v4 ^= v8 + v4 = v4<<(32-12) | v4>>12 + v1 += m[s[1]] + v1 += v5 + v13 ^= v1 + v13 = v13<<(32-16) | v13>>16 + v9 += v13 + v5 ^= v9 + v5 = v5<<(32-12) | v5>>12 + v2 += m[s[2]] + v2 += v6 + v14 ^= v2 + v14 = v14<<(32-16) | v14>>16 + v10 += v14 + v6 ^= v10 + v6 = v6<<(32-12) | v6>>12 + v3 += m[s[3]] + v3 += v7 + v15 ^= v3 + v15 = v15<<(32-16) | v15>>16 + v11 += v15 + v7 ^= v11 + v7 = v7<<(32-12) | v7>>12 + + v0 += m[s[4]] + v0 += v4 + v12 ^= v0 + v12 = v12<<(32-8) | v12>>8 + v8 += v12 + v4 ^= v8 + v4 = v4<<(32-7) | v4>>7 + v1 += m[s[5]] + v1 += v5 + v13 ^= v1 + v13 = v13<<(32-8) | v13>>8 + v9 += v13 + v5 ^= v9 + v5 = v5<<(32-7) | v5>>7 + v2 += m[s[6]] + v2 += v6 + v14 ^= v2 + v14 = v14<<(32-8) | v14>>8 + v10 += v14 + v6 ^= v10 + v6 = v6<<(32-7) | v6>>7 + v3 += m[s[7]] + v3 += v7 + v15 ^= v3 + v15 = v15<<(32-8) | v15>>8 + v11 += v15 + v7 ^= v11 + v7 = v7<<(32-7) | v7>>7 + + v0 += m[s[8]] + v0 += v5 + v15 ^= v0 + v15 = v15<<(32-16) | v15>>16 + v10 += v15 + v5 ^= v10 + v5 = v5<<(32-12) | v5>>12 + v1 += m[s[9]] + v1 += v6 + v12 ^= v1 + v12 = v12<<(32-16) | v12>>16 + v11 += v12 + v6 ^= v11 + v6 = v6<<(32-12) | v6>>12 + v2 += m[s[10]] + v2 += v7 + v13 ^= v2 + v13 = v13<<(32-16) | v13>>16 + v8 += v13 + v7 ^= v8 + v7 = v7<<(32-12) | v7>>12 + v3 += m[s[11]] + v3 += v4 + v14 ^= v3 + v14 = v14<<(32-16) | v14>>16 + v9 += v14 + v4 ^= v9 + v4 = v4<<(32-12) | v4>>12 + + v0 += m[s[12]] + v0 += v5 + v15 ^= v0 + v15 = v15<<(32-8) | v15>>8 + v10 += v15 + v5 ^= v10 + v5 = v5<<(32-7) | v5>>7 + v1 += m[s[13]] + v1 += v6 + v12 ^= v1 + v12 = v12<<(32-8) | v12>>8 + v11 += v12 + v6 ^= v11 + v6 = v6<<(32-7) | v6>>7 + v2 += m[s[14]] + v2 += v7 + v13 ^= v2 + v13 = v13<<(32-8) | v13>>8 + v8 += v13 + v7 ^= v8 + v7 = v7<<(32-7) | v7>>7 + v3 += m[s[15]] + v3 += v4 + v14 ^= v3 + v14 = v14<<(32-8) | v14>>8 + v9 += v14 + v4 ^= v9 + v4 = v4<<(32-7) | v4>>7 + } + + h[0] ^= v0 ^ v8 + h[1] ^= v1 ^ v9 + h[2] ^= v2 ^ v10 + h[3] ^= v3 ^ v11 + h[4] ^= v4 ^ v12 + h[5] ^= v5 ^ v13 + h[6] ^= v6 ^ v14 + h[7] ^= v7 ^ v15 + } + c[0], c[1] = c0, c1 +} diff --git a/vendor/golang.org/x/crypto/blake2s/blake2s_ref.go b/vendor/golang.org/x/crypto/blake2s/blake2s_ref.go new file mode 100644 index 000000000..a31127345 --- /dev/null +++ b/vendor/golang.org/x/crypto/blake2s/blake2s_ref.go @@ -0,0 +1,17 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !amd64,!386 gccgo appengine + +package blake2s + +var ( + useSSE4 = false + useSSSE3 = false + useSSE2 = false +) + +func hashBlocks(h *[8]uint32, c *[2]uint32, flag uint32, blocks []byte) { + hashBlocksGeneric(h, c, flag, blocks) +} diff --git a/vendor/golang.org/x/crypto/blake2s/blake2x.go b/vendor/golang.org/x/crypto/blake2s/blake2x.go new file mode 100644 index 000000000..828749ff0 --- /dev/null +++ b/vendor/golang.org/x/crypto/blake2s/blake2x.go @@ -0,0 +1,178 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package blake2s + +import ( + "encoding/binary" + "errors" + "io" +) + +// XOF defines the interface to hash functions that +// support arbitrary-length output. +type XOF interface { + // Write absorbs more data into the hash's state. It panics if called + // after Read. + io.Writer + + // Read reads more output from the hash. It returns io.EOF if the limit + // has been reached. + io.Reader + + // Clone returns a copy of the XOF in its current state. + Clone() XOF + + // Reset resets the XOF to its initial state. + Reset() +} + +// OutputLengthUnknown can be used as the size argument to NewXOF to indicate +// the length of the output is not known in advance. +const OutputLengthUnknown = 0 + +// magicUnknownOutputLength is a magic value for the output size that indicates +// an unknown number of output bytes. +const magicUnknownOutputLength = 65535 + +// maxOutputLength is the absolute maximum number of bytes to produce when the +// number of output bytes is unknown. +const maxOutputLength = (1 << 32) * 32 + +// NewXOF creates a new variable-output-length hash. The hash either produce a +// known number of bytes (1 <= size < 65535), or an unknown number of bytes +// (size == OutputLengthUnknown). In the latter case, an absolute limit of +// 128GiB applies. +// +// A non-nil key turns the hash into a MAC. The key must between +// zero and 32 bytes long. +func NewXOF(size uint16, key []byte) (XOF, error) { + if len(key) > Size { + return nil, errKeySize + } + if size == magicUnknownOutputLength { + // 2^16-1 indicates an unknown number of bytes and thus isn't a + // valid length. + return nil, errors.New("blake2s: XOF length too large") + } + if size == OutputLengthUnknown { + size = magicUnknownOutputLength + } + x := &xof{ + d: digest{ + size: Size, + keyLen: len(key), + }, + length: size, + } + copy(x.d.key[:], key) + x.Reset() + return x, nil +} + +type xof struct { + d digest + length uint16 + remaining uint64 + cfg, root, block [Size]byte + offset int + nodeOffset uint32 + readMode bool +} + +func (x *xof) Write(p []byte) (n int, err error) { + if x.readMode { + panic("blake2s: write to XOF after read") + } + return x.d.Write(p) +} + +func (x *xof) Clone() XOF { + clone := *x + return &clone +} + +func (x *xof) Reset() { + x.cfg[0] = byte(Size) + binary.LittleEndian.PutUint32(x.cfg[4:], uint32(Size)) // leaf length + binary.LittleEndian.PutUint16(x.cfg[12:], x.length) // XOF length + x.cfg[15] = byte(Size) // inner hash size + + x.d.Reset() + x.d.h[3] ^= uint32(x.length) + + x.remaining = uint64(x.length) + if x.remaining == magicUnknownOutputLength { + x.remaining = maxOutputLength + } + x.offset, x.nodeOffset = 0, 0 + x.readMode = false +} + +func (x *xof) Read(p []byte) (n int, err error) { + if !x.readMode { + x.d.finalize(&x.root) + x.readMode = true + } + + if x.remaining == 0 { + return 0, io.EOF + } + + n = len(p) + if uint64(n) > x.remaining { + n = int(x.remaining) + p = p[:n] + } + + if x.offset > 0 { + blockRemaining := Size - x.offset + if n < blockRemaining { + x.offset += copy(p, x.block[x.offset:]) + x.remaining -= uint64(n) + return + } + copy(p, x.block[x.offset:]) + p = p[blockRemaining:] + x.offset = 0 + x.remaining -= uint64(blockRemaining) + } + + for len(p) >= Size { + binary.LittleEndian.PutUint32(x.cfg[8:], x.nodeOffset) + x.nodeOffset++ + + x.d.initConfig(&x.cfg) + x.d.Write(x.root[:]) + x.d.finalize(&x.block) + + copy(p, x.block[:]) + p = p[Size:] + x.remaining -= uint64(Size) + } + + if todo := len(p); todo > 0 { + if x.remaining < uint64(Size) { + x.cfg[0] = byte(x.remaining) + } + binary.LittleEndian.PutUint32(x.cfg[8:], x.nodeOffset) + x.nodeOffset++ + + x.d.initConfig(&x.cfg) + x.d.Write(x.root[:]) + x.d.finalize(&x.block) + + x.offset = copy(p, x.block[:todo]) + x.remaining -= uint64(todo) + } + + return +} + +func (d *digest) initConfig(cfg *[Size]byte) { + d.offset, d.c[0], d.c[1] = 0, 0, 0 + for i := range d.h { + d.h[i] = iv[i] ^ binary.LittleEndian.Uint32(cfg[i*4:]) + } +} diff --git a/vendor/golang.org/x/crypto/blake2s/register.go b/vendor/golang.org/x/crypto/blake2s/register.go new file mode 100644 index 000000000..d277459a1 --- /dev/null +++ b/vendor/golang.org/x/crypto/blake2s/register.go @@ -0,0 +1,21 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.9 + +package blake2s + +import ( + "crypto" + "hash" +) + +func init() { + newHash256 := func() hash.Hash { + h, _ := New256(nil) + return h + } + + crypto.RegisterHash(crypto.BLAKE2s_256, newHash256) +} diff --git a/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305.go b/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305.go new file mode 100644 index 000000000..bbb86efef --- /dev/null +++ b/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305.go @@ -0,0 +1,101 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package chacha20poly1305 implements the ChaCha20-Poly1305 AEAD as specified in RFC 7539, +// and its extended nonce variant XChaCha20-Poly1305. +package chacha20poly1305 // import "golang.org/x/crypto/chacha20poly1305" + +import ( + "crypto/cipher" + "encoding/binary" + "errors" +) + +const ( + // KeySize is the size of the key used by this AEAD, in bytes. + KeySize = 32 + + // NonceSize is the size of the nonce used with the standard variant of this + // AEAD, in bytes. + // + // Note that this is too short to be safely generated at random if the same + // key is reused more than 2³² times. + NonceSize = 12 + + // NonceSizeX is the size of the nonce used with the XChaCha20-Poly1305 + // variant of this AEAD, in bytes. + NonceSizeX = 24 +) + +type chacha20poly1305 struct { + key [8]uint32 +} + +// New returns a ChaCha20-Poly1305 AEAD that uses the given 256-bit key. +func New(key []byte) (cipher.AEAD, error) { + if len(key) != KeySize { + return nil, errors.New("chacha20poly1305: bad key length") + } + ret := new(chacha20poly1305) + ret.key[0] = binary.LittleEndian.Uint32(key[0:4]) + ret.key[1] = binary.LittleEndian.Uint32(key[4:8]) + ret.key[2] = binary.LittleEndian.Uint32(key[8:12]) + ret.key[3] = binary.LittleEndian.Uint32(key[12:16]) + ret.key[4] = binary.LittleEndian.Uint32(key[16:20]) + ret.key[5] = binary.LittleEndian.Uint32(key[20:24]) + ret.key[6] = binary.LittleEndian.Uint32(key[24:28]) + ret.key[7] = binary.LittleEndian.Uint32(key[28:32]) + return ret, nil +} + +func (c *chacha20poly1305) NonceSize() int { + return NonceSize +} + +func (c *chacha20poly1305) Overhead() int { + return 16 +} + +func (c *chacha20poly1305) Seal(dst, nonce, plaintext, additionalData []byte) []byte { + if len(nonce) != NonceSize { + panic("chacha20poly1305: bad nonce length passed to Seal") + } + + if uint64(len(plaintext)) > (1<<38)-64 { + panic("chacha20poly1305: plaintext too large") + } + + return c.seal(dst, nonce, plaintext, additionalData) +} + +var errOpen = errors.New("chacha20poly1305: message authentication failed") + +func (c *chacha20poly1305) Open(dst, nonce, ciphertext, additionalData []byte) ([]byte, error) { + if len(nonce) != NonceSize { + panic("chacha20poly1305: bad nonce length passed to Open") + } + if len(ciphertext) < 16 { + return nil, errOpen + } + if uint64(len(ciphertext)) > (1<<38)-48 { + panic("chacha20poly1305: ciphertext too large") + } + + return c.open(dst, nonce, ciphertext, additionalData) +} + +// sliceForAppend takes a slice and a requested number of bytes. It returns a +// slice with the contents of the given slice followed by that many bytes and a +// second slice that aliases into it and contains only the extra bytes. If the +// original slice has sufficient capacity then no allocation is performed. +func sliceForAppend(in []byte, n int) (head, tail []byte) { + if total := len(in) + n; cap(in) >= total { + head = in[:total] + } else { + head = make([]byte, total) + copy(head, in) + } + tail = head[len(in):] + return +} diff --git a/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.go b/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.go new file mode 100644 index 000000000..2aa4fd89d --- /dev/null +++ b/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.go @@ -0,0 +1,86 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.7,amd64,!gccgo,!appengine + +package chacha20poly1305 + +import ( + "encoding/binary" + + "golang.org/x/crypto/internal/subtle" + "golang.org/x/sys/cpu" +) + +//go:noescape +func chacha20Poly1305Open(dst []byte, key []uint32, src, ad []byte) bool + +//go:noescape +func chacha20Poly1305Seal(dst []byte, key []uint32, src, ad []byte) + +var ( + useAVX2 = cpu.X86.HasAVX2 && cpu.X86.HasBMI2 +) + +// setupState writes a ChaCha20 input matrix to state. See +// https://tools.ietf.org/html/rfc7539#section-2.3. +func setupState(state *[16]uint32, key *[8]uint32, nonce []byte) { + state[0] = 0x61707865 + state[1] = 0x3320646e + state[2] = 0x79622d32 + state[3] = 0x6b206574 + + state[4] = key[0] + state[5] = key[1] + state[6] = key[2] + state[7] = key[3] + state[8] = key[4] + state[9] = key[5] + state[10] = key[6] + state[11] = key[7] + + state[12] = 0 + state[13] = binary.LittleEndian.Uint32(nonce[:4]) + state[14] = binary.LittleEndian.Uint32(nonce[4:8]) + state[15] = binary.LittleEndian.Uint32(nonce[8:12]) +} + +func (c *chacha20poly1305) seal(dst, nonce, plaintext, additionalData []byte) []byte { + if !cpu.X86.HasSSSE3 { + return c.sealGeneric(dst, nonce, plaintext, additionalData) + } + + var state [16]uint32 + setupState(&state, &c.key, nonce) + + ret, out := sliceForAppend(dst, len(plaintext)+16) + if subtle.InexactOverlap(out, plaintext) { + panic("chacha20poly1305: invalid buffer overlap") + } + chacha20Poly1305Seal(out[:], state[:], plaintext, additionalData) + return ret +} + +func (c *chacha20poly1305) open(dst, nonce, ciphertext, additionalData []byte) ([]byte, error) { + if !cpu.X86.HasSSSE3 { + return c.openGeneric(dst, nonce, ciphertext, additionalData) + } + + var state [16]uint32 + setupState(&state, &c.key, nonce) + + ciphertext = ciphertext[:len(ciphertext)-16] + ret, out := sliceForAppend(dst, len(ciphertext)) + if subtle.InexactOverlap(out, ciphertext) { + panic("chacha20poly1305: invalid buffer overlap") + } + if !chacha20Poly1305Open(out, state[:], ciphertext, additionalData) { + for i := range out { + out[i] = 0 + } + return nil, errOpen + } + + return ret, nil +} diff --git a/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.s b/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.s new file mode 100644 index 000000000..af76bbcc9 --- /dev/null +++ b/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.s @@ -0,0 +1,2695 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// This file was originally from https://golang.org/cl/24717 by Vlad Krasnov of CloudFlare. + +// +build go1.7,amd64,!gccgo,!appengine + +#include "textflag.h" +// General register allocation +#define oup DI +#define inp SI +#define inl BX +#define adp CX // free to reuse, after we hash the additional data +#define keyp R8 // free to reuse, when we copy the key to stack +#define itr2 R9 // general iterator +#define itr1 CX // general iterator +#define acc0 R10 +#define acc1 R11 +#define acc2 R12 +#define t0 R13 +#define t1 R14 +#define t2 R15 +#define t3 R8 +// Register and stack allocation for the SSE code +#define rStore (0*16)(BP) +#define sStore (1*16)(BP) +#define state1Store (2*16)(BP) +#define state2Store (3*16)(BP) +#define tmpStore (4*16)(BP) +#define ctr0Store (5*16)(BP) +#define ctr1Store (6*16)(BP) +#define ctr2Store (7*16)(BP) +#define ctr3Store (8*16)(BP) +#define A0 X0 +#define A1 X1 +#define A2 X2 +#define B0 X3 +#define B1 X4 +#define B2 X5 +#define C0 X6 +#define C1 X7 +#define C2 X8 +#define D0 X9 +#define D1 X10 +#define D2 X11 +#define T0 X12 +#define T1 X13 +#define T2 X14 +#define T3 X15 +#define A3 T0 +#define B3 T1 +#define C3 T2 +#define D3 T3 +// Register and stack allocation for the AVX2 code +#define rsStoreAVX2 (0*32)(BP) +#define state1StoreAVX2 (1*32)(BP) +#define state2StoreAVX2 (2*32)(BP) +#define ctr0StoreAVX2 (3*32)(BP) +#define ctr1StoreAVX2 (4*32)(BP) +#define ctr2StoreAVX2 (5*32)(BP) +#define ctr3StoreAVX2 (6*32)(BP) +#define tmpStoreAVX2 (7*32)(BP) // 256 bytes on stack +#define AA0 Y0 +#define AA1 Y5 +#define AA2 Y6 +#define AA3 Y7 +#define BB0 Y14 +#define BB1 Y9 +#define BB2 Y10 +#define BB3 Y11 +#define CC0 Y12 +#define CC1 Y13 +#define CC2 Y8 +#define CC3 Y15 +#define DD0 Y4 +#define DD1 Y1 +#define DD2 Y2 +#define DD3 Y3 +#define TT0 DD3 +#define TT1 AA3 +#define TT2 BB3 +#define TT3 CC3 +// ChaCha20 constants +DATA ·chacha20Constants<>+0x00(SB)/4, $0x61707865 +DATA ·chacha20Constants<>+0x04(SB)/4, $0x3320646e +DATA ·chacha20Constants<>+0x08(SB)/4, $0x79622d32 +DATA ·chacha20Constants<>+0x0c(SB)/4, $0x6b206574 +DATA ·chacha20Constants<>+0x10(SB)/4, $0x61707865 +DATA ·chacha20Constants<>+0x14(SB)/4, $0x3320646e +DATA ·chacha20Constants<>+0x18(SB)/4, $0x79622d32 +DATA ·chacha20Constants<>+0x1c(SB)/4, $0x6b206574 +// <<< 16 with PSHUFB +DATA ·rol16<>+0x00(SB)/8, $0x0504070601000302 +DATA ·rol16<>+0x08(SB)/8, $0x0D0C0F0E09080B0A +DATA ·rol16<>+0x10(SB)/8, $0x0504070601000302 +DATA ·rol16<>+0x18(SB)/8, $0x0D0C0F0E09080B0A +// <<< 8 with PSHUFB +DATA ·rol8<>+0x00(SB)/8, $0x0605040702010003 +DATA ·rol8<>+0x08(SB)/8, $0x0E0D0C0F0A09080B +DATA ·rol8<>+0x10(SB)/8, $0x0605040702010003 +DATA ·rol8<>+0x18(SB)/8, $0x0E0D0C0F0A09080B + +DATA ·avx2InitMask<>+0x00(SB)/8, $0x0 +DATA ·avx2InitMask<>+0x08(SB)/8, $0x0 +DATA ·avx2InitMask<>+0x10(SB)/8, $0x1 +DATA ·avx2InitMask<>+0x18(SB)/8, $0x0 + +DATA ·avx2IncMask<>+0x00(SB)/8, $0x2 +DATA ·avx2IncMask<>+0x08(SB)/8, $0x0 +DATA ·avx2IncMask<>+0x10(SB)/8, $0x2 +DATA ·avx2IncMask<>+0x18(SB)/8, $0x0 +// Poly1305 key clamp +DATA ·polyClampMask<>+0x00(SB)/8, $0x0FFFFFFC0FFFFFFF +DATA ·polyClampMask<>+0x08(SB)/8, $0x0FFFFFFC0FFFFFFC +DATA ·polyClampMask<>+0x10(SB)/8, $0xFFFFFFFFFFFFFFFF +DATA ·polyClampMask<>+0x18(SB)/8, $0xFFFFFFFFFFFFFFFF + +DATA ·sseIncMask<>+0x00(SB)/8, $0x1 +DATA ·sseIncMask<>+0x08(SB)/8, $0x0 +// To load/store the last < 16 bytes in a buffer +DATA ·andMask<>+0x00(SB)/8, $0x00000000000000ff +DATA ·andMask<>+0x08(SB)/8, $0x0000000000000000 +DATA ·andMask<>+0x10(SB)/8, $0x000000000000ffff +DATA ·andMask<>+0x18(SB)/8, $0x0000000000000000 +DATA ·andMask<>+0x20(SB)/8, $0x0000000000ffffff +DATA ·andMask<>+0x28(SB)/8, $0x0000000000000000 +DATA ·andMask<>+0x30(SB)/8, $0x00000000ffffffff +DATA ·andMask<>+0x38(SB)/8, $0x0000000000000000 +DATA ·andMask<>+0x40(SB)/8, $0x000000ffffffffff +DATA ·andMask<>+0x48(SB)/8, $0x0000000000000000 +DATA ·andMask<>+0x50(SB)/8, $0x0000ffffffffffff +DATA ·andMask<>+0x58(SB)/8, $0x0000000000000000 +DATA ·andMask<>+0x60(SB)/8, $0x00ffffffffffffff +DATA ·andMask<>+0x68(SB)/8, $0x0000000000000000 +DATA ·andMask<>+0x70(SB)/8, $0xffffffffffffffff +DATA ·andMask<>+0x78(SB)/8, $0x0000000000000000 +DATA ·andMask<>+0x80(SB)/8, $0xffffffffffffffff +DATA ·andMask<>+0x88(SB)/8, $0x00000000000000ff +DATA ·andMask<>+0x90(SB)/8, $0xffffffffffffffff +DATA ·andMask<>+0x98(SB)/8, $0x000000000000ffff +DATA ·andMask<>+0xa0(SB)/8, $0xffffffffffffffff +DATA ·andMask<>+0xa8(SB)/8, $0x0000000000ffffff +DATA ·andMask<>+0xb0(SB)/8, $0xffffffffffffffff +DATA ·andMask<>+0xb8(SB)/8, $0x00000000ffffffff +DATA ·andMask<>+0xc0(SB)/8, $0xffffffffffffffff +DATA ·andMask<>+0xc8(SB)/8, $0x000000ffffffffff +DATA ·andMask<>+0xd0(SB)/8, $0xffffffffffffffff +DATA ·andMask<>+0xd8(SB)/8, $0x0000ffffffffffff +DATA ·andMask<>+0xe0(SB)/8, $0xffffffffffffffff +DATA ·andMask<>+0xe8(SB)/8, $0x00ffffffffffffff + +GLOBL ·chacha20Constants<>(SB), (NOPTR+RODATA), $32 +GLOBL ·rol16<>(SB), (NOPTR+RODATA), $32 +GLOBL ·rol8<>(SB), (NOPTR+RODATA), $32 +GLOBL ·sseIncMask<>(SB), (NOPTR+RODATA), $16 +GLOBL ·avx2IncMask<>(SB), (NOPTR+RODATA), $32 +GLOBL ·avx2InitMask<>(SB), (NOPTR+RODATA), $32 +GLOBL ·polyClampMask<>(SB), (NOPTR+RODATA), $32 +GLOBL ·andMask<>(SB), (NOPTR+RODATA), $240 +// No PALIGNR in Go ASM yet (but VPALIGNR is present). +#define shiftB0Left BYTE $0x66; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xdb; BYTE $0x04 // PALIGNR $4, X3, X3 +#define shiftB1Left BYTE $0x66; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xe4; BYTE $0x04 // PALIGNR $4, X4, X4 +#define shiftB2Left BYTE $0x66; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xed; BYTE $0x04 // PALIGNR $4, X5, X5 +#define shiftB3Left BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xed; BYTE $0x04 // PALIGNR $4, X13, X13 +#define shiftC0Left BYTE $0x66; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xf6; BYTE $0x08 // PALIGNR $8, X6, X6 +#define shiftC1Left BYTE $0x66; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xff; BYTE $0x08 // PALIGNR $8, X7, X7 +#define shiftC2Left BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xc0; BYTE $0x08 // PALIGNR $8, X8, X8 +#define shiftC3Left BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xf6; BYTE $0x08 // PALIGNR $8, X14, X14 +#define shiftD0Left BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xc9; BYTE $0x0c // PALIGNR $12, X9, X9 +#define shiftD1Left BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xd2; BYTE $0x0c // PALIGNR $12, X10, X10 +#define shiftD2Left BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xdb; BYTE $0x0c // PALIGNR $12, X11, X11 +#define shiftD3Left BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xff; BYTE $0x0c // PALIGNR $12, X15, X15 +#define shiftB0Right BYTE $0x66; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xdb; BYTE $0x0c // PALIGNR $12, X3, X3 +#define shiftB1Right BYTE $0x66; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xe4; BYTE $0x0c // PALIGNR $12, X4, X4 +#define shiftB2Right BYTE $0x66; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xed; BYTE $0x0c // PALIGNR $12, X5, X5 +#define shiftB3Right BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xed; BYTE $0x0c // PALIGNR $12, X13, X13 +#define shiftC0Right shiftC0Left +#define shiftC1Right shiftC1Left +#define shiftC2Right shiftC2Left +#define shiftC3Right shiftC3Left +#define shiftD0Right BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xc9; BYTE $0x04 // PALIGNR $4, X9, X9 +#define shiftD1Right BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xd2; BYTE $0x04 // PALIGNR $4, X10, X10 +#define shiftD2Right BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xdb; BYTE $0x04 // PALIGNR $4, X11, X11 +#define shiftD3Right BYTE $0x66; BYTE $0x45; BYTE $0x0f; BYTE $0x3a; BYTE $0x0f; BYTE $0xff; BYTE $0x04 // PALIGNR $4, X15, X15 +// Some macros +#define chachaQR(A, B, C, D, T) \ + PADDD B, A; PXOR A, D; PSHUFB ·rol16<>(SB), D \ + PADDD D, C; PXOR C, B; MOVO B, T; PSLLL $12, T; PSRLL $20, B; PXOR T, B \ + PADDD B, A; PXOR A, D; PSHUFB ·rol8<>(SB), D \ + PADDD D, C; PXOR C, B; MOVO B, T; PSLLL $7, T; PSRLL $25, B; PXOR T, B + +#define chachaQR_AVX2(A, B, C, D, T) \ + VPADDD B, A, A; VPXOR A, D, D; VPSHUFB ·rol16<>(SB), D, D \ + VPADDD D, C, C; VPXOR C, B, B; VPSLLD $12, B, T; VPSRLD $20, B, B; VPXOR T, B, B \ + VPADDD B, A, A; VPXOR A, D, D; VPSHUFB ·rol8<>(SB), D, D \ + VPADDD D, C, C; VPXOR C, B, B; VPSLLD $7, B, T; VPSRLD $25, B, B; VPXOR T, B, B + +#define polyAdd(S) ADDQ S, acc0; ADCQ 8+S, acc1; ADCQ $1, acc2 +#define polyMulStage1 MOVQ (0*8)(BP), AX; MOVQ AX, t2; MULQ acc0; MOVQ AX, t0; MOVQ DX, t1; MOVQ (0*8)(BP), AX; MULQ acc1; IMULQ acc2, t2; ADDQ AX, t1; ADCQ DX, t2 +#define polyMulStage2 MOVQ (1*8)(BP), AX; MOVQ AX, t3; MULQ acc0; ADDQ AX, t1; ADCQ $0, DX; MOVQ DX, acc0; MOVQ (1*8)(BP), AX; MULQ acc1; ADDQ AX, t2; ADCQ $0, DX +#define polyMulStage3 IMULQ acc2, t3; ADDQ acc0, t2; ADCQ DX, t3 +#define polyMulReduceStage MOVQ t0, acc0; MOVQ t1, acc1; MOVQ t2, acc2; ANDQ $3, acc2; MOVQ t2, t0; ANDQ $-4, t0; MOVQ t3, t1; SHRQ $2, t2:t3; SHRQ $2, t3; ADDQ t0, acc0; ADCQ t1, acc1; ADCQ $0, acc2; ADDQ t2, acc0; ADCQ t3, acc1; ADCQ $0, acc2 + +#define polyMulStage1_AVX2 MOVQ (0*8)(BP), DX; MOVQ DX, t2; MULXQ acc0, t0, t1; IMULQ acc2, t2; MULXQ acc1, AX, DX; ADDQ AX, t1; ADCQ DX, t2 +#define polyMulStage2_AVX2 MOVQ (1*8)(BP), DX; MULXQ acc0, acc0, AX; ADDQ acc0, t1; MULXQ acc1, acc1, t3; ADCQ acc1, t2; ADCQ $0, t3 +#define polyMulStage3_AVX2 IMULQ acc2, DX; ADDQ AX, t2; ADCQ DX, t3 + +#define polyMul polyMulStage1; polyMulStage2; polyMulStage3; polyMulReduceStage +#define polyMulAVX2 polyMulStage1_AVX2; polyMulStage2_AVX2; polyMulStage3_AVX2; polyMulReduceStage +// ---------------------------------------------------------------------------- +TEXT polyHashADInternal<>(SB), NOSPLIT, $0 + // adp points to beginning of additional data + // itr2 holds ad length + XORQ acc0, acc0 + XORQ acc1, acc1 + XORQ acc2, acc2 + CMPQ itr2, $13 + JNE hashADLoop + +openFastTLSAD: + // Special treatment for the TLS case of 13 bytes + MOVQ (adp), acc0 + MOVQ 5(adp), acc1 + SHRQ $24, acc1 + MOVQ $1, acc2 + polyMul + RET + +hashADLoop: + // Hash in 16 byte chunks + CMPQ itr2, $16 + JB hashADTail + polyAdd(0(adp)) + LEAQ (1*16)(adp), adp + SUBQ $16, itr2 + polyMul + JMP hashADLoop + +hashADTail: + CMPQ itr2, $0 + JE hashADDone + + // Hash last < 16 byte tail + XORQ t0, t0 + XORQ t1, t1 + XORQ t2, t2 + ADDQ itr2, adp + +hashADTailLoop: + SHLQ $8, t1:t0 + SHLQ $8, t0 + MOVB -1(adp), t2 + XORQ t2, t0 + DECQ adp + DECQ itr2 + JNE hashADTailLoop + +hashADTailFinish: + ADDQ t0, acc0; ADCQ t1, acc1; ADCQ $1, acc2 + polyMul + + // Finished AD +hashADDone: + RET + +// ---------------------------------------------------------------------------- +// func chacha20Poly1305Open(dst, key, src, ad []byte) bool +TEXT ·chacha20Poly1305Open(SB), 0, $288-97 + // For aligned stack access + MOVQ SP, BP + ADDQ $32, BP + ANDQ $-32, BP + MOVQ dst+0(FP), oup + MOVQ key+24(FP), keyp + MOVQ src+48(FP), inp + MOVQ src_len+56(FP), inl + MOVQ ad+72(FP), adp + + // Check for AVX2 support + CMPB ·useAVX2(SB), $1 + JE chacha20Poly1305Open_AVX2 + + // Special optimization, for very short buffers + CMPQ inl, $128 + JBE openSSE128 // About 16% faster + + // For long buffers, prepare the poly key first + MOVOU ·chacha20Constants<>(SB), A0 + MOVOU (1*16)(keyp), B0 + MOVOU (2*16)(keyp), C0 + MOVOU (3*16)(keyp), D0 + MOVO D0, T1 + + // Store state on stack for future use + MOVO B0, state1Store + MOVO C0, state2Store + MOVO D0, ctr3Store + MOVQ $10, itr2 + +openSSEPreparePolyKey: + chachaQR(A0, B0, C0, D0, T0) + shiftB0Left; shiftC0Left; shiftD0Left + chachaQR(A0, B0, C0, D0, T0) + shiftB0Right; shiftC0Right; shiftD0Right + DECQ itr2 + JNE openSSEPreparePolyKey + + // A0|B0 hold the Poly1305 32-byte key, C0,D0 can be discarded + PADDL ·chacha20Constants<>(SB), A0; PADDL state1Store, B0 + + // Clamp and store the key + PAND ·polyClampMask<>(SB), A0 + MOVO A0, rStore; MOVO B0, sStore + + // Hash AAD + MOVQ ad_len+80(FP), itr2 + CALL polyHashADInternal<>(SB) + +openSSEMainLoop: + CMPQ inl, $256 + JB openSSEMainLoopDone + + // Load state, increment counter blocks + MOVO ·chacha20Constants<>(SB), A0; MOVO state1Store, B0; MOVO state2Store, C0; MOVO ctr3Store, D0; PADDL ·sseIncMask<>(SB), D0 + MOVO A0, A1; MOVO B0, B1; MOVO C0, C1; MOVO D0, D1; PADDL ·sseIncMask<>(SB), D1 + MOVO A1, A2; MOVO B1, B2; MOVO C1, C2; MOVO D1, D2; PADDL ·sseIncMask<>(SB), D2 + MOVO A2, A3; MOVO B2, B3; MOVO C2, C3; MOVO D2, D3; PADDL ·sseIncMask<>(SB), D3 + + // Store counters + MOVO D0, ctr0Store; MOVO D1, ctr1Store; MOVO D2, ctr2Store; MOVO D3, ctr3Store + + // There are 10 ChaCha20 iterations of 2QR each, so for 6 iterations we hash 2 blocks, and for the remaining 4 only 1 block - for a total of 16 + MOVQ $4, itr1 + MOVQ inp, itr2 + +openSSEInternalLoop: + MOVO C3, tmpStore + chachaQR(A0, B0, C0, D0, C3); chachaQR(A1, B1, C1, D1, C3); chachaQR(A2, B2, C2, D2, C3) + MOVO tmpStore, C3 + MOVO C1, tmpStore + chachaQR(A3, B3, C3, D3, C1) + MOVO tmpStore, C1 + polyAdd(0(itr2)) + shiftB0Left; shiftB1Left; shiftB2Left; shiftB3Left + shiftC0Left; shiftC1Left; shiftC2Left; shiftC3Left + shiftD0Left; shiftD1Left; shiftD2Left; shiftD3Left + polyMulStage1 + polyMulStage2 + LEAQ (2*8)(itr2), itr2 + MOVO C3, tmpStore + chachaQR(A0, B0, C0, D0, C3); chachaQR(A1, B1, C1, D1, C3); chachaQR(A2, B2, C2, D2, C3) + MOVO tmpStore, C3 + MOVO C1, tmpStore + polyMulStage3 + chachaQR(A3, B3, C3, D3, C1) + MOVO tmpStore, C1 + polyMulReduceStage + shiftB0Right; shiftB1Right; shiftB2Right; shiftB3Right + shiftC0Right; shiftC1Right; shiftC2Right; shiftC3Right + shiftD0Right; shiftD1Right; shiftD2Right; shiftD3Right + DECQ itr1 + JGE openSSEInternalLoop + + polyAdd(0(itr2)) + polyMul + LEAQ (2*8)(itr2), itr2 + + CMPQ itr1, $-6 + JG openSSEInternalLoop + + // Add in the state + PADDD ·chacha20Constants<>(SB), A0; PADDD ·chacha20Constants<>(SB), A1; PADDD ·chacha20Constants<>(SB), A2; PADDD ·chacha20Constants<>(SB), A3 + PADDD state1Store, B0; PADDD state1Store, B1; PADDD state1Store, B2; PADDD state1Store, B3 + PADDD state2Store, C0; PADDD state2Store, C1; PADDD state2Store, C2; PADDD state2Store, C3 + PADDD ctr0Store, D0; PADDD ctr1Store, D1; PADDD ctr2Store, D2; PADDD ctr3Store, D3 + + // Load - xor - store + MOVO D3, tmpStore + MOVOU (0*16)(inp), D3; PXOR D3, A0; MOVOU A0, (0*16)(oup) + MOVOU (1*16)(inp), D3; PXOR D3, B0; MOVOU B0, (1*16)(oup) + MOVOU (2*16)(inp), D3; PXOR D3, C0; MOVOU C0, (2*16)(oup) + MOVOU (3*16)(inp), D3; PXOR D3, D0; MOVOU D0, (3*16)(oup) + MOVOU (4*16)(inp), D0; PXOR D0, A1; MOVOU A1, (4*16)(oup) + MOVOU (5*16)(inp), D0; PXOR D0, B1; MOVOU B1, (5*16)(oup) + MOVOU (6*16)(inp), D0; PXOR D0, C1; MOVOU C1, (6*16)(oup) + MOVOU (7*16)(inp), D0; PXOR D0, D1; MOVOU D1, (7*16)(oup) + MOVOU (8*16)(inp), D0; PXOR D0, A2; MOVOU A2, (8*16)(oup) + MOVOU (9*16)(inp), D0; PXOR D0, B2; MOVOU B2, (9*16)(oup) + MOVOU (10*16)(inp), D0; PXOR D0, C2; MOVOU C2, (10*16)(oup) + MOVOU (11*16)(inp), D0; PXOR D0, D2; MOVOU D2, (11*16)(oup) + MOVOU (12*16)(inp), D0; PXOR D0, A3; MOVOU A3, (12*16)(oup) + MOVOU (13*16)(inp), D0; PXOR D0, B3; MOVOU B3, (13*16)(oup) + MOVOU (14*16)(inp), D0; PXOR D0, C3; MOVOU C3, (14*16)(oup) + MOVOU (15*16)(inp), D0; PXOR tmpStore, D0; MOVOU D0, (15*16)(oup) + LEAQ 256(inp), inp + LEAQ 256(oup), oup + SUBQ $256, inl + JMP openSSEMainLoop + +openSSEMainLoopDone: + // Handle the various tail sizes efficiently + TESTQ inl, inl + JE openSSEFinalize + CMPQ inl, $64 + JBE openSSETail64 + CMPQ inl, $128 + JBE openSSETail128 + CMPQ inl, $192 + JBE openSSETail192 + JMP openSSETail256 + +openSSEFinalize: + // Hash in the PT, AAD lengths + ADDQ ad_len+80(FP), acc0; ADCQ src_len+56(FP), acc1; ADCQ $1, acc2 + polyMul + + // Final reduce + MOVQ acc0, t0 + MOVQ acc1, t1 + MOVQ acc2, t2 + SUBQ $-5, acc0 + SBBQ $-1, acc1 + SBBQ $3, acc2 + CMOVQCS t0, acc0 + CMOVQCS t1, acc1 + CMOVQCS t2, acc2 + + // Add in the "s" part of the key + ADDQ 0+sStore, acc0 + ADCQ 8+sStore, acc1 + + // Finally, constant time compare to the tag at the end of the message + XORQ AX, AX + MOVQ $1, DX + XORQ (0*8)(inp), acc0 + XORQ (1*8)(inp), acc1 + ORQ acc1, acc0 + CMOVQEQ DX, AX + + // Return true iff tags are equal + MOVB AX, ret+96(FP) + RET + +// ---------------------------------------------------------------------------- +// Special optimization for buffers smaller than 129 bytes +openSSE128: + // For up to 128 bytes of ciphertext and 64 bytes for the poly key, we require to process three blocks + MOVOU ·chacha20Constants<>(SB), A0; MOVOU (1*16)(keyp), B0; MOVOU (2*16)(keyp), C0; MOVOU (3*16)(keyp), D0 + MOVO A0, A1; MOVO B0, B1; MOVO C0, C1; MOVO D0, D1; PADDL ·sseIncMask<>(SB), D1 + MOVO A1, A2; MOVO B1, B2; MOVO C1, C2; MOVO D1, D2; PADDL ·sseIncMask<>(SB), D2 + MOVO B0, T1; MOVO C0, T2; MOVO D1, T3 + MOVQ $10, itr2 + +openSSE128InnerCipherLoop: + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0); chachaQR(A2, B2, C2, D2, T0) + shiftB0Left; shiftB1Left; shiftB2Left + shiftC0Left; shiftC1Left; shiftC2Left + shiftD0Left; shiftD1Left; shiftD2Left + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0); chachaQR(A2, B2, C2, D2, T0) + shiftB0Right; shiftB1Right; shiftB2Right + shiftC0Right; shiftC1Right; shiftC2Right + shiftD0Right; shiftD1Right; shiftD2Right + DECQ itr2 + JNE openSSE128InnerCipherLoop + + // A0|B0 hold the Poly1305 32-byte key, C0,D0 can be discarded + PADDL ·chacha20Constants<>(SB), A0; PADDL ·chacha20Constants<>(SB), A1; PADDL ·chacha20Constants<>(SB), A2 + PADDL T1, B0; PADDL T1, B1; PADDL T1, B2 + PADDL T2, C1; PADDL T2, C2 + PADDL T3, D1; PADDL ·sseIncMask<>(SB), T3; PADDL T3, D2 + + // Clamp and store the key + PAND ·polyClampMask<>(SB), A0 + MOVOU A0, rStore; MOVOU B0, sStore + + // Hash + MOVQ ad_len+80(FP), itr2 + CALL polyHashADInternal<>(SB) + +openSSE128Open: + CMPQ inl, $16 + JB openSSETail16 + SUBQ $16, inl + + // Load for hashing + polyAdd(0(inp)) + + // Load for decryption + MOVOU (inp), T0; PXOR T0, A1; MOVOU A1, (oup) + LEAQ (1*16)(inp), inp + LEAQ (1*16)(oup), oup + polyMul + + // Shift the stream "left" + MOVO B1, A1 + MOVO C1, B1 + MOVO D1, C1 + MOVO A2, D1 + MOVO B2, A2 + MOVO C2, B2 + MOVO D2, C2 + JMP openSSE128Open + +openSSETail16: + TESTQ inl, inl + JE openSSEFinalize + + // We can safely load the CT from the end, because it is padded with the MAC + MOVQ inl, itr2 + SHLQ $4, itr2 + LEAQ ·andMask<>(SB), t0 + MOVOU (inp), T0 + ADDQ inl, inp + PAND -16(t0)(itr2*1), T0 + MOVO T0, 0+tmpStore + MOVQ T0, t0 + MOVQ 8+tmpStore, t1 + PXOR A1, T0 + + // We can only store one byte at a time, since plaintext can be shorter than 16 bytes +openSSETail16Store: + MOVQ T0, t3 + MOVB t3, (oup) + PSRLDQ $1, T0 + INCQ oup + DECQ inl + JNE openSSETail16Store + ADDQ t0, acc0; ADCQ t1, acc1; ADCQ $1, acc2 + polyMul + JMP openSSEFinalize + +// ---------------------------------------------------------------------------- +// Special optimization for the last 64 bytes of ciphertext +openSSETail64: + // Need to decrypt up to 64 bytes - prepare single block + MOVO ·chacha20Constants<>(SB), A0; MOVO state1Store, B0; MOVO state2Store, C0; MOVO ctr3Store, D0; PADDL ·sseIncMask<>(SB), D0; MOVO D0, ctr0Store + XORQ itr2, itr2 + MOVQ inl, itr1 + CMPQ itr1, $16 + JB openSSETail64LoopB + +openSSETail64LoopA: + // Perform ChaCha rounds, while hashing the remaining input + polyAdd(0(inp)(itr2*1)) + polyMul + SUBQ $16, itr1 + +openSSETail64LoopB: + ADDQ $16, itr2 + chachaQR(A0, B0, C0, D0, T0) + shiftB0Left; shiftC0Left; shiftD0Left + chachaQR(A0, B0, C0, D0, T0) + shiftB0Right; shiftC0Right; shiftD0Right + + CMPQ itr1, $16 + JAE openSSETail64LoopA + + CMPQ itr2, $160 + JNE openSSETail64LoopB + + PADDL ·chacha20Constants<>(SB), A0; PADDL state1Store, B0; PADDL state2Store, C0; PADDL ctr0Store, D0 + +openSSETail64DecLoop: + CMPQ inl, $16 + JB openSSETail64DecLoopDone + SUBQ $16, inl + MOVOU (inp), T0 + PXOR T0, A0 + MOVOU A0, (oup) + LEAQ 16(inp), inp + LEAQ 16(oup), oup + MOVO B0, A0 + MOVO C0, B0 + MOVO D0, C0 + JMP openSSETail64DecLoop + +openSSETail64DecLoopDone: + MOVO A0, A1 + JMP openSSETail16 + +// ---------------------------------------------------------------------------- +// Special optimization for the last 128 bytes of ciphertext +openSSETail128: + // Need to decrypt up to 128 bytes - prepare two blocks + MOVO ·chacha20Constants<>(SB), A1; MOVO state1Store, B1; MOVO state2Store, C1; MOVO ctr3Store, D1; PADDL ·sseIncMask<>(SB), D1; MOVO D1, ctr0Store + MOVO A1, A0; MOVO B1, B0; MOVO C1, C0; MOVO D1, D0; PADDL ·sseIncMask<>(SB), D0; MOVO D0, ctr1Store + XORQ itr2, itr2 + MOVQ inl, itr1 + ANDQ $-16, itr1 + +openSSETail128LoopA: + // Perform ChaCha rounds, while hashing the remaining input + polyAdd(0(inp)(itr2*1)) + polyMul + +openSSETail128LoopB: + ADDQ $16, itr2 + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0) + shiftB0Left; shiftC0Left; shiftD0Left + shiftB1Left; shiftC1Left; shiftD1Left + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0) + shiftB0Right; shiftC0Right; shiftD0Right + shiftB1Right; shiftC1Right; shiftD1Right + + CMPQ itr2, itr1 + JB openSSETail128LoopA + + CMPQ itr2, $160 + JNE openSSETail128LoopB + + PADDL ·chacha20Constants<>(SB), A0; PADDL ·chacha20Constants<>(SB), A1 + PADDL state1Store, B0; PADDL state1Store, B1 + PADDL state2Store, C0; PADDL state2Store, C1 + PADDL ctr1Store, D0; PADDL ctr0Store, D1 + + MOVOU (0*16)(inp), T0; MOVOU (1*16)(inp), T1; MOVOU (2*16)(inp), T2; MOVOU (3*16)(inp), T3 + PXOR T0, A1; PXOR T1, B1; PXOR T2, C1; PXOR T3, D1 + MOVOU A1, (0*16)(oup); MOVOU B1, (1*16)(oup); MOVOU C1, (2*16)(oup); MOVOU D1, (3*16)(oup) + + SUBQ $64, inl + LEAQ 64(inp), inp + LEAQ 64(oup), oup + JMP openSSETail64DecLoop + +// ---------------------------------------------------------------------------- +// Special optimization for the last 192 bytes of ciphertext +openSSETail192: + // Need to decrypt up to 192 bytes - prepare three blocks + MOVO ·chacha20Constants<>(SB), A2; MOVO state1Store, B2; MOVO state2Store, C2; MOVO ctr3Store, D2; PADDL ·sseIncMask<>(SB), D2; MOVO D2, ctr0Store + MOVO A2, A1; MOVO B2, B1; MOVO C2, C1; MOVO D2, D1; PADDL ·sseIncMask<>(SB), D1; MOVO D1, ctr1Store + MOVO A1, A0; MOVO B1, B0; MOVO C1, C0; MOVO D1, D0; PADDL ·sseIncMask<>(SB), D0; MOVO D0, ctr2Store + + MOVQ inl, itr1 + MOVQ $160, itr2 + CMPQ itr1, $160 + CMOVQGT itr2, itr1 + ANDQ $-16, itr1 + XORQ itr2, itr2 + +openSSLTail192LoopA: + // Perform ChaCha rounds, while hashing the remaining input + polyAdd(0(inp)(itr2*1)) + polyMul + +openSSLTail192LoopB: + ADDQ $16, itr2 + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0); chachaQR(A2, B2, C2, D2, T0) + shiftB0Left; shiftC0Left; shiftD0Left + shiftB1Left; shiftC1Left; shiftD1Left + shiftB2Left; shiftC2Left; shiftD2Left + + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0); chachaQR(A2, B2, C2, D2, T0) + shiftB0Right; shiftC0Right; shiftD0Right + shiftB1Right; shiftC1Right; shiftD1Right + shiftB2Right; shiftC2Right; shiftD2Right + + CMPQ itr2, itr1 + JB openSSLTail192LoopA + + CMPQ itr2, $160 + JNE openSSLTail192LoopB + + CMPQ inl, $176 + JB openSSLTail192Store + + polyAdd(160(inp)) + polyMul + + CMPQ inl, $192 + JB openSSLTail192Store + + polyAdd(176(inp)) + polyMul + +openSSLTail192Store: + PADDL ·chacha20Constants<>(SB), A0; PADDL ·chacha20Constants<>(SB), A1; PADDL ·chacha20Constants<>(SB), A2 + PADDL state1Store, B0; PADDL state1Store, B1; PADDL state1Store, B2 + PADDL state2Store, C0; PADDL state2Store, C1; PADDL state2Store, C2 + PADDL ctr2Store, D0; PADDL ctr1Store, D1; PADDL ctr0Store, D2 + + MOVOU (0*16)(inp), T0; MOVOU (1*16)(inp), T1; MOVOU (2*16)(inp), T2; MOVOU (3*16)(inp), T3 + PXOR T0, A2; PXOR T1, B2; PXOR T2, C2; PXOR T3, D2 + MOVOU A2, (0*16)(oup); MOVOU B2, (1*16)(oup); MOVOU C2, (2*16)(oup); MOVOU D2, (3*16)(oup) + + MOVOU (4*16)(inp), T0; MOVOU (5*16)(inp), T1; MOVOU (6*16)(inp), T2; MOVOU (7*16)(inp), T3 + PXOR T0, A1; PXOR T1, B1; PXOR T2, C1; PXOR T3, D1 + MOVOU A1, (4*16)(oup); MOVOU B1, (5*16)(oup); MOVOU C1, (6*16)(oup); MOVOU D1, (7*16)(oup) + + SUBQ $128, inl + LEAQ 128(inp), inp + LEAQ 128(oup), oup + JMP openSSETail64DecLoop + +// ---------------------------------------------------------------------------- +// Special optimization for the last 256 bytes of ciphertext +openSSETail256: + // Need to decrypt up to 256 bytes - prepare four blocks + MOVO ·chacha20Constants<>(SB), A0; MOVO state1Store, B0; MOVO state2Store, C0; MOVO ctr3Store, D0; PADDL ·sseIncMask<>(SB), D0 + MOVO A0, A1; MOVO B0, B1; MOVO C0, C1; MOVO D0, D1; PADDL ·sseIncMask<>(SB), D1 + MOVO A1, A2; MOVO B1, B2; MOVO C1, C2; MOVO D1, D2; PADDL ·sseIncMask<>(SB), D2 + MOVO A2, A3; MOVO B2, B3; MOVO C2, C3; MOVO D2, D3; PADDL ·sseIncMask<>(SB), D3 + + // Store counters + MOVO D0, ctr0Store; MOVO D1, ctr1Store; MOVO D2, ctr2Store; MOVO D3, ctr3Store + XORQ itr2, itr2 + +openSSETail256Loop: + // This loop inteleaves 8 ChaCha quarter rounds with 1 poly multiplication + polyAdd(0(inp)(itr2*1)) + MOVO C3, tmpStore + chachaQR(A0, B0, C0, D0, C3); chachaQR(A1, B1, C1, D1, C3); chachaQR(A2, B2, C2, D2, C3) + MOVO tmpStore, C3 + MOVO C1, tmpStore + chachaQR(A3, B3, C3, D3, C1) + MOVO tmpStore, C1 + shiftB0Left; shiftB1Left; shiftB2Left; shiftB3Left + shiftC0Left; shiftC1Left; shiftC2Left; shiftC3Left + shiftD0Left; shiftD1Left; shiftD2Left; shiftD3Left + polyMulStage1 + polyMulStage2 + MOVO C3, tmpStore + chachaQR(A0, B0, C0, D0, C3); chachaQR(A1, B1, C1, D1, C3); chachaQR(A2, B2, C2, D2, C3) + MOVO tmpStore, C3 + MOVO C1, tmpStore + chachaQR(A3, B3, C3, D3, C1) + MOVO tmpStore, C1 + polyMulStage3 + polyMulReduceStage + shiftB0Right; shiftB1Right; shiftB2Right; shiftB3Right + shiftC0Right; shiftC1Right; shiftC2Right; shiftC3Right + shiftD0Right; shiftD1Right; shiftD2Right; shiftD3Right + ADDQ $2*8, itr2 + CMPQ itr2, $160 + JB openSSETail256Loop + MOVQ inl, itr1 + ANDQ $-16, itr1 + +openSSETail256HashLoop: + polyAdd(0(inp)(itr2*1)) + polyMul + ADDQ $2*8, itr2 + CMPQ itr2, itr1 + JB openSSETail256HashLoop + + // Add in the state + PADDD ·chacha20Constants<>(SB), A0; PADDD ·chacha20Constants<>(SB), A1; PADDD ·chacha20Constants<>(SB), A2; PADDD ·chacha20Constants<>(SB), A3 + PADDD state1Store, B0; PADDD state1Store, B1; PADDD state1Store, B2; PADDD state1Store, B3 + PADDD state2Store, C0; PADDD state2Store, C1; PADDD state2Store, C2; PADDD state2Store, C3 + PADDD ctr0Store, D0; PADDD ctr1Store, D1; PADDD ctr2Store, D2; PADDD ctr3Store, D3 + MOVO D3, tmpStore + + // Load - xor - store + MOVOU (0*16)(inp), D3; PXOR D3, A0 + MOVOU (1*16)(inp), D3; PXOR D3, B0 + MOVOU (2*16)(inp), D3; PXOR D3, C0 + MOVOU (3*16)(inp), D3; PXOR D3, D0 + MOVOU A0, (0*16)(oup) + MOVOU B0, (1*16)(oup) + MOVOU C0, (2*16)(oup) + MOVOU D0, (3*16)(oup) + MOVOU (4*16)(inp), A0; MOVOU (5*16)(inp), B0; MOVOU (6*16)(inp), C0; MOVOU (7*16)(inp), D0 + PXOR A0, A1; PXOR B0, B1; PXOR C0, C1; PXOR D0, D1 + MOVOU A1, (4*16)(oup); MOVOU B1, (5*16)(oup); MOVOU C1, (6*16)(oup); MOVOU D1, (7*16)(oup) + MOVOU (8*16)(inp), A0; MOVOU (9*16)(inp), B0; MOVOU (10*16)(inp), C0; MOVOU (11*16)(inp), D0 + PXOR A0, A2; PXOR B0, B2; PXOR C0, C2; PXOR D0, D2 + MOVOU A2, (8*16)(oup); MOVOU B2, (9*16)(oup); MOVOU C2, (10*16)(oup); MOVOU D2, (11*16)(oup) + LEAQ 192(inp), inp + LEAQ 192(oup), oup + SUBQ $192, inl + MOVO A3, A0 + MOVO B3, B0 + MOVO C3, C0 + MOVO tmpStore, D0 + + JMP openSSETail64DecLoop + +// ---------------------------------------------------------------------------- +// ------------------------- AVX2 Code ---------------------------------------- +chacha20Poly1305Open_AVX2: + VZEROUPPER + VMOVDQU ·chacha20Constants<>(SB), AA0 + BYTE $0xc4; BYTE $0x42; BYTE $0x7d; BYTE $0x5a; BYTE $0x70; BYTE $0x10 // broadcasti128 16(r8), ymm14 + BYTE $0xc4; BYTE $0x42; BYTE $0x7d; BYTE $0x5a; BYTE $0x60; BYTE $0x20 // broadcasti128 32(r8), ymm12 + BYTE $0xc4; BYTE $0xc2; BYTE $0x7d; BYTE $0x5a; BYTE $0x60; BYTE $0x30 // broadcasti128 48(r8), ymm4 + VPADDD ·avx2InitMask<>(SB), DD0, DD0 + + // Special optimization, for very short buffers + CMPQ inl, $192 + JBE openAVX2192 + CMPQ inl, $320 + JBE openAVX2320 + + // For the general key prepare the key first - as a byproduct we have 64 bytes of cipher stream + VMOVDQA BB0, state1StoreAVX2 + VMOVDQA CC0, state2StoreAVX2 + VMOVDQA DD0, ctr3StoreAVX2 + MOVQ $10, itr2 + +openAVX2PreparePolyKey: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0) + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $12, DD0, DD0, DD0 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0) + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $4, DD0, DD0, DD0 + DECQ itr2 + JNE openAVX2PreparePolyKey + + VPADDD ·chacha20Constants<>(SB), AA0, AA0 + VPADDD state1StoreAVX2, BB0, BB0 + VPADDD state2StoreAVX2, CC0, CC0 + VPADDD ctr3StoreAVX2, DD0, DD0 + + VPERM2I128 $0x02, AA0, BB0, TT0 + + // Clamp and store poly key + VPAND ·polyClampMask<>(SB), TT0, TT0 + VMOVDQA TT0, rsStoreAVX2 + + // Stream for the first 64 bytes + VPERM2I128 $0x13, AA0, BB0, AA0 + VPERM2I128 $0x13, CC0, DD0, BB0 + + // Hash AD + first 64 bytes + MOVQ ad_len+80(FP), itr2 + CALL polyHashADInternal<>(SB) + XORQ itr1, itr1 + +openAVX2InitialHash64: + polyAdd(0(inp)(itr1*1)) + polyMulAVX2 + ADDQ $16, itr1 + CMPQ itr1, $64 + JNE openAVX2InitialHash64 + + // Decrypt the first 64 bytes + VPXOR (0*32)(inp), AA0, AA0 + VPXOR (1*32)(inp), BB0, BB0 + VMOVDQU AA0, (0*32)(oup) + VMOVDQU BB0, (1*32)(oup) + LEAQ (2*32)(inp), inp + LEAQ (2*32)(oup), oup + SUBQ $64, inl + +openAVX2MainLoop: + CMPQ inl, $512 + JB openAVX2MainLoopDone + + // Load state, increment counter blocks, store the incremented counters + VMOVDQU ·chacha20Constants<>(SB), AA0; VMOVDQA AA0, AA1; VMOVDQA AA0, AA2; VMOVDQA AA0, AA3 + VMOVDQA state1StoreAVX2, BB0; VMOVDQA BB0, BB1; VMOVDQA BB0, BB2; VMOVDQA BB0, BB3 + VMOVDQA state2StoreAVX2, CC0; VMOVDQA CC0, CC1; VMOVDQA CC0, CC2; VMOVDQA CC0, CC3 + VMOVDQA ctr3StoreAVX2, DD0; VPADDD ·avx2IncMask<>(SB), DD0, DD0; VPADDD ·avx2IncMask<>(SB), DD0, DD1; VPADDD ·avx2IncMask<>(SB), DD1, DD2; VPADDD ·avx2IncMask<>(SB), DD2, DD3 + VMOVDQA DD0, ctr0StoreAVX2; VMOVDQA DD1, ctr1StoreAVX2; VMOVDQA DD2, ctr2StoreAVX2; VMOVDQA DD3, ctr3StoreAVX2 + XORQ itr1, itr1 + +openAVX2InternalLoop: + // Lets just say this spaghetti loop interleaves 2 quarter rounds with 3 poly multiplications + // Effectively per 512 bytes of stream we hash 480 bytes of ciphertext + polyAdd(0*8(inp)(itr1*1)) + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + polyMulStage1_AVX2 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol16<>(SB), DD0, DD0; VPSHUFB ·rol16<>(SB), DD1, DD1; VPSHUFB ·rol16<>(SB), DD2, DD2; VPSHUFB ·rol16<>(SB), DD3, DD3 + polyMulStage2_AVX2 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + polyMulStage3_AVX2 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $12, BB0, CC3; VPSRLD $20, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $12, BB1, CC3; VPSRLD $20, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $12, BB2, CC3; VPSRLD $20, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $12, BB3, CC3; VPSRLD $20, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyMulReduceStage + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol8<>(SB), DD0, DD0; VPSHUFB ·rol8<>(SB), DD1, DD1; VPSHUFB ·rol8<>(SB), DD2, DD2; VPSHUFB ·rol8<>(SB), DD3, DD3 + polyAdd(2*8(inp)(itr1*1)) + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + polyMulStage1_AVX2 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $7, BB0, CC3; VPSRLD $25, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $7, BB1, CC3; VPSRLD $25, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $7, BB2, CC3; VPSRLD $25, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $7, BB3, CC3; VPSRLD $25, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyMulStage2_AVX2 + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $4, BB2, BB2, BB2; VPALIGNR $4, BB3, BB3, BB3 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $8, CC3, CC3, CC3 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1; VPALIGNR $12, DD2, DD2, DD2; VPALIGNR $12, DD3, DD3, DD3 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + polyMulStage3_AVX2 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol16<>(SB), DD0, DD0; VPSHUFB ·rol16<>(SB), DD1, DD1; VPSHUFB ·rol16<>(SB), DD2, DD2; VPSHUFB ·rol16<>(SB), DD3, DD3 + polyMulReduceStage + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + polyAdd(4*8(inp)(itr1*1)) + LEAQ (6*8)(itr1), itr1 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $12, BB0, CC3; VPSRLD $20, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $12, BB1, CC3; VPSRLD $20, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $12, BB2, CC3; VPSRLD $20, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $12, BB3, CC3; VPSRLD $20, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyMulStage1_AVX2 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + polyMulStage2_AVX2 + VPSHUFB ·rol8<>(SB), DD0, DD0; VPSHUFB ·rol8<>(SB), DD1, DD1; VPSHUFB ·rol8<>(SB), DD2, DD2; VPSHUFB ·rol8<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + polyMulStage3_AVX2 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $7, BB0, CC3; VPSRLD $25, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $7, BB1, CC3; VPSRLD $25, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $7, BB2, CC3; VPSRLD $25, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $7, BB3, CC3; VPSRLD $25, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyMulReduceStage + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $12, BB2, BB2, BB2; VPALIGNR $12, BB3, BB3, BB3 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $8, CC3, CC3, CC3 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1; VPALIGNR $4, DD2, DD2, DD2; VPALIGNR $4, DD3, DD3, DD3 + CMPQ itr1, $480 + JNE openAVX2InternalLoop + + VPADDD ·chacha20Constants<>(SB), AA0, AA0; VPADDD ·chacha20Constants<>(SB), AA1, AA1; VPADDD ·chacha20Constants<>(SB), AA2, AA2; VPADDD ·chacha20Constants<>(SB), AA3, AA3 + VPADDD state1StoreAVX2, BB0, BB0; VPADDD state1StoreAVX2, BB1, BB1; VPADDD state1StoreAVX2, BB2, BB2; VPADDD state1StoreAVX2, BB3, BB3 + VPADDD state2StoreAVX2, CC0, CC0; VPADDD state2StoreAVX2, CC1, CC1; VPADDD state2StoreAVX2, CC2, CC2; VPADDD state2StoreAVX2, CC3, CC3 + VPADDD ctr0StoreAVX2, DD0, DD0; VPADDD ctr1StoreAVX2, DD1, DD1; VPADDD ctr2StoreAVX2, DD2, DD2; VPADDD ctr3StoreAVX2, DD3, DD3 + VMOVDQA CC3, tmpStoreAVX2 + + // We only hashed 480 of the 512 bytes available - hash the remaining 32 here + polyAdd(480(inp)) + polyMulAVX2 + VPERM2I128 $0x02, AA0, BB0, CC3; VPERM2I128 $0x13, AA0, BB0, BB0; VPERM2I128 $0x02, CC0, DD0, AA0; VPERM2I128 $0x13, CC0, DD0, CC0 + VPXOR (0*32)(inp), CC3, CC3; VPXOR (1*32)(inp), AA0, AA0; VPXOR (2*32)(inp), BB0, BB0; VPXOR (3*32)(inp), CC0, CC0 + VMOVDQU CC3, (0*32)(oup); VMOVDQU AA0, (1*32)(oup); VMOVDQU BB0, (2*32)(oup); VMOVDQU CC0, (3*32)(oup) + VPERM2I128 $0x02, AA1, BB1, AA0; VPERM2I128 $0x02, CC1, DD1, BB0; VPERM2I128 $0x13, AA1, BB1, CC0; VPERM2I128 $0x13, CC1, DD1, DD0 + VPXOR (4*32)(inp), AA0, AA0; VPXOR (5*32)(inp), BB0, BB0; VPXOR (6*32)(inp), CC0, CC0; VPXOR (7*32)(inp), DD0, DD0 + VMOVDQU AA0, (4*32)(oup); VMOVDQU BB0, (5*32)(oup); VMOVDQU CC0, (6*32)(oup); VMOVDQU DD0, (7*32)(oup) + + // and here + polyAdd(496(inp)) + polyMulAVX2 + VPERM2I128 $0x02, AA2, BB2, AA0; VPERM2I128 $0x02, CC2, DD2, BB0; VPERM2I128 $0x13, AA2, BB2, CC0; VPERM2I128 $0x13, CC2, DD2, DD0 + VPXOR (8*32)(inp), AA0, AA0; VPXOR (9*32)(inp), BB0, BB0; VPXOR (10*32)(inp), CC0, CC0; VPXOR (11*32)(inp), DD0, DD0 + VMOVDQU AA0, (8*32)(oup); VMOVDQU BB0, (9*32)(oup); VMOVDQU CC0, (10*32)(oup); VMOVDQU DD0, (11*32)(oup) + VPERM2I128 $0x02, AA3, BB3, AA0; VPERM2I128 $0x02, tmpStoreAVX2, DD3, BB0; VPERM2I128 $0x13, AA3, BB3, CC0; VPERM2I128 $0x13, tmpStoreAVX2, DD3, DD0 + VPXOR (12*32)(inp), AA0, AA0; VPXOR (13*32)(inp), BB0, BB0; VPXOR (14*32)(inp), CC0, CC0; VPXOR (15*32)(inp), DD0, DD0 + VMOVDQU AA0, (12*32)(oup); VMOVDQU BB0, (13*32)(oup); VMOVDQU CC0, (14*32)(oup); VMOVDQU DD0, (15*32)(oup) + LEAQ (32*16)(inp), inp + LEAQ (32*16)(oup), oup + SUBQ $(32*16), inl + JMP openAVX2MainLoop + +openAVX2MainLoopDone: + // Handle the various tail sizes efficiently + TESTQ inl, inl + JE openSSEFinalize + CMPQ inl, $128 + JBE openAVX2Tail128 + CMPQ inl, $256 + JBE openAVX2Tail256 + CMPQ inl, $384 + JBE openAVX2Tail384 + JMP openAVX2Tail512 + +// ---------------------------------------------------------------------------- +// Special optimization for buffers smaller than 193 bytes +openAVX2192: + // For up to 192 bytes of ciphertext and 64 bytes for the poly key, we process four blocks + VMOVDQA AA0, AA1 + VMOVDQA BB0, BB1 + VMOVDQA CC0, CC1 + VPADDD ·avx2IncMask<>(SB), DD0, DD1 + VMOVDQA AA0, AA2 + VMOVDQA BB0, BB2 + VMOVDQA CC0, CC2 + VMOVDQA DD0, DD2 + VMOVDQA DD1, TT3 + MOVQ $10, itr2 + +openAVX2192InnerCipherLoop: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1 + DECQ itr2 + JNE openAVX2192InnerCipherLoop + VPADDD AA2, AA0, AA0; VPADDD AA2, AA1, AA1 + VPADDD BB2, BB0, BB0; VPADDD BB2, BB1, BB1 + VPADDD CC2, CC0, CC0; VPADDD CC2, CC1, CC1 + VPADDD DD2, DD0, DD0; VPADDD TT3, DD1, DD1 + VPERM2I128 $0x02, AA0, BB0, TT0 + + // Clamp and store poly key + VPAND ·polyClampMask<>(SB), TT0, TT0 + VMOVDQA TT0, rsStoreAVX2 + + // Stream for up to 192 bytes + VPERM2I128 $0x13, AA0, BB0, AA0 + VPERM2I128 $0x13, CC0, DD0, BB0 + VPERM2I128 $0x02, AA1, BB1, CC0 + VPERM2I128 $0x02, CC1, DD1, DD0 + VPERM2I128 $0x13, AA1, BB1, AA1 + VPERM2I128 $0x13, CC1, DD1, BB1 + +openAVX2ShortOpen: + // Hash + MOVQ ad_len+80(FP), itr2 + CALL polyHashADInternal<>(SB) + +openAVX2ShortOpenLoop: + CMPQ inl, $32 + JB openAVX2ShortTail32 + SUBQ $32, inl + + // Load for hashing + polyAdd(0*8(inp)) + polyMulAVX2 + polyAdd(2*8(inp)) + polyMulAVX2 + + // Load for decryption + VPXOR (inp), AA0, AA0 + VMOVDQU AA0, (oup) + LEAQ (1*32)(inp), inp + LEAQ (1*32)(oup), oup + + // Shift stream left + VMOVDQA BB0, AA0 + VMOVDQA CC0, BB0 + VMOVDQA DD0, CC0 + VMOVDQA AA1, DD0 + VMOVDQA BB1, AA1 + VMOVDQA CC1, BB1 + VMOVDQA DD1, CC1 + VMOVDQA AA2, DD1 + VMOVDQA BB2, AA2 + JMP openAVX2ShortOpenLoop + +openAVX2ShortTail32: + CMPQ inl, $16 + VMOVDQA A0, A1 + JB openAVX2ShortDone + + SUBQ $16, inl + + // Load for hashing + polyAdd(0*8(inp)) + polyMulAVX2 + + // Load for decryption + VPXOR (inp), A0, T0 + VMOVDQU T0, (oup) + LEAQ (1*16)(inp), inp + LEAQ (1*16)(oup), oup + VPERM2I128 $0x11, AA0, AA0, AA0 + VMOVDQA A0, A1 + +openAVX2ShortDone: + VZEROUPPER + JMP openSSETail16 + +// ---------------------------------------------------------------------------- +// Special optimization for buffers smaller than 321 bytes +openAVX2320: + // For up to 320 bytes of ciphertext and 64 bytes for the poly key, we process six blocks + VMOVDQA AA0, AA1; VMOVDQA BB0, BB1; VMOVDQA CC0, CC1; VPADDD ·avx2IncMask<>(SB), DD0, DD1 + VMOVDQA AA0, AA2; VMOVDQA BB0, BB2; VMOVDQA CC0, CC2; VPADDD ·avx2IncMask<>(SB), DD1, DD2 + VMOVDQA BB0, TT1; VMOVDQA CC0, TT2; VMOVDQA DD0, TT3 + MOVQ $10, itr2 + +openAVX2320InnerCipherLoop: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0); chachaQR_AVX2(AA2, BB2, CC2, DD2, TT0) + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $4, BB2, BB2, BB2 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1; VPALIGNR $12, DD2, DD2, DD2 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0); chachaQR_AVX2(AA2, BB2, CC2, DD2, TT0) + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $12, BB2, BB2, BB2 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1; VPALIGNR $4, DD2, DD2, DD2 + DECQ itr2 + JNE openAVX2320InnerCipherLoop + + VMOVDQA ·chacha20Constants<>(SB), TT0 + VPADDD TT0, AA0, AA0; VPADDD TT0, AA1, AA1; VPADDD TT0, AA2, AA2 + VPADDD TT1, BB0, BB0; VPADDD TT1, BB1, BB1; VPADDD TT1, BB2, BB2 + VPADDD TT2, CC0, CC0; VPADDD TT2, CC1, CC1; VPADDD TT2, CC2, CC2 + VMOVDQA ·avx2IncMask<>(SB), TT0 + VPADDD TT3, DD0, DD0; VPADDD TT0, TT3, TT3 + VPADDD TT3, DD1, DD1; VPADDD TT0, TT3, TT3 + VPADDD TT3, DD2, DD2 + + // Clamp and store poly key + VPERM2I128 $0x02, AA0, BB0, TT0 + VPAND ·polyClampMask<>(SB), TT0, TT0 + VMOVDQA TT0, rsStoreAVX2 + + // Stream for up to 320 bytes + VPERM2I128 $0x13, AA0, BB0, AA0 + VPERM2I128 $0x13, CC0, DD0, BB0 + VPERM2I128 $0x02, AA1, BB1, CC0 + VPERM2I128 $0x02, CC1, DD1, DD0 + VPERM2I128 $0x13, AA1, BB1, AA1 + VPERM2I128 $0x13, CC1, DD1, BB1 + VPERM2I128 $0x02, AA2, BB2, CC1 + VPERM2I128 $0x02, CC2, DD2, DD1 + VPERM2I128 $0x13, AA2, BB2, AA2 + VPERM2I128 $0x13, CC2, DD2, BB2 + JMP openAVX2ShortOpen + +// ---------------------------------------------------------------------------- +// Special optimization for the last 128 bytes of ciphertext +openAVX2Tail128: + // Need to decrypt up to 128 bytes - prepare two blocks + VMOVDQA ·chacha20Constants<>(SB), AA1 + VMOVDQA state1StoreAVX2, BB1 + VMOVDQA state2StoreAVX2, CC1 + VMOVDQA ctr3StoreAVX2, DD1 + VPADDD ·avx2IncMask<>(SB), DD1, DD1 + VMOVDQA DD1, DD0 + + XORQ itr2, itr2 + MOVQ inl, itr1 + ANDQ $-16, itr1 + TESTQ itr1, itr1 + JE openAVX2Tail128LoopB + +openAVX2Tail128LoopA: + // Perform ChaCha rounds, while hashing the remaining input + polyAdd(0(inp)(itr2*1)) + polyMulAVX2 + +openAVX2Tail128LoopB: + ADDQ $16, itr2 + chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + VPALIGNR $4, BB1, BB1, BB1 + VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $12, DD1, DD1, DD1 + chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + VPALIGNR $12, BB1, BB1, BB1 + VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $4, DD1, DD1, DD1 + CMPQ itr2, itr1 + JB openAVX2Tail128LoopA + CMPQ itr2, $160 + JNE openAVX2Tail128LoopB + + VPADDD ·chacha20Constants<>(SB), AA1, AA1 + VPADDD state1StoreAVX2, BB1, BB1 + VPADDD state2StoreAVX2, CC1, CC1 + VPADDD DD0, DD1, DD1 + VPERM2I128 $0x02, AA1, BB1, AA0; VPERM2I128 $0x02, CC1, DD1, BB0; VPERM2I128 $0x13, AA1, BB1, CC0; VPERM2I128 $0x13, CC1, DD1, DD0 + +openAVX2TailLoop: + CMPQ inl, $32 + JB openAVX2Tail + SUBQ $32, inl + + // Load for decryption + VPXOR (inp), AA0, AA0 + VMOVDQU AA0, (oup) + LEAQ (1*32)(inp), inp + LEAQ (1*32)(oup), oup + VMOVDQA BB0, AA0 + VMOVDQA CC0, BB0 + VMOVDQA DD0, CC0 + JMP openAVX2TailLoop + +openAVX2Tail: + CMPQ inl, $16 + VMOVDQA A0, A1 + JB openAVX2TailDone + SUBQ $16, inl + + // Load for decryption + VPXOR (inp), A0, T0 + VMOVDQU T0, (oup) + LEAQ (1*16)(inp), inp + LEAQ (1*16)(oup), oup + VPERM2I128 $0x11, AA0, AA0, AA0 + VMOVDQA A0, A1 + +openAVX2TailDone: + VZEROUPPER + JMP openSSETail16 + +// ---------------------------------------------------------------------------- +// Special optimization for the last 256 bytes of ciphertext +openAVX2Tail256: + // Need to decrypt up to 256 bytes - prepare four blocks + VMOVDQA ·chacha20Constants<>(SB), AA0; VMOVDQA AA0, AA1 + VMOVDQA state1StoreAVX2, BB0; VMOVDQA BB0, BB1 + VMOVDQA state2StoreAVX2, CC0; VMOVDQA CC0, CC1 + VMOVDQA ctr3StoreAVX2, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD1 + VMOVDQA DD0, TT1 + VMOVDQA DD1, TT2 + + // Compute the number of iterations that will hash data + MOVQ inl, tmpStoreAVX2 + MOVQ inl, itr1 + SUBQ $128, itr1 + SHRQ $4, itr1 + MOVQ $10, itr2 + CMPQ itr1, $10 + CMOVQGT itr2, itr1 + MOVQ inp, inl + XORQ itr2, itr2 + +openAVX2Tail256LoopA: + polyAdd(0(inl)) + polyMulAVX2 + LEAQ 16(inl), inl + + // Perform ChaCha rounds, while hashing the remaining input +openAVX2Tail256LoopB: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1 + INCQ itr2 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1 + CMPQ itr2, itr1 + JB openAVX2Tail256LoopA + + CMPQ itr2, $10 + JNE openAVX2Tail256LoopB + + MOVQ inl, itr2 + SUBQ inp, inl + MOVQ inl, itr1 + MOVQ tmpStoreAVX2, inl + + // Hash the remainder of data (if any) +openAVX2Tail256Hash: + ADDQ $16, itr1 + CMPQ itr1, inl + JGT openAVX2Tail256HashEnd + polyAdd (0(itr2)) + polyMulAVX2 + LEAQ 16(itr2), itr2 + JMP openAVX2Tail256Hash + +// Store 128 bytes safely, then go to store loop +openAVX2Tail256HashEnd: + VPADDD ·chacha20Constants<>(SB), AA0, AA0; VPADDD ·chacha20Constants<>(SB), AA1, AA1 + VPADDD state1StoreAVX2, BB0, BB0; VPADDD state1StoreAVX2, BB1, BB1 + VPADDD state2StoreAVX2, CC0, CC0; VPADDD state2StoreAVX2, CC1, CC1 + VPADDD TT1, DD0, DD0; VPADDD TT2, DD1, DD1 + VPERM2I128 $0x02, AA0, BB0, AA2; VPERM2I128 $0x02, CC0, DD0, BB2; VPERM2I128 $0x13, AA0, BB0, CC2; VPERM2I128 $0x13, CC0, DD0, DD2 + VPERM2I128 $0x02, AA1, BB1, AA0; VPERM2I128 $0x02, CC1, DD1, BB0; VPERM2I128 $0x13, AA1, BB1, CC0; VPERM2I128 $0x13, CC1, DD1, DD0 + + VPXOR (0*32)(inp), AA2, AA2; VPXOR (1*32)(inp), BB2, BB2; VPXOR (2*32)(inp), CC2, CC2; VPXOR (3*32)(inp), DD2, DD2 + VMOVDQU AA2, (0*32)(oup); VMOVDQU BB2, (1*32)(oup); VMOVDQU CC2, (2*32)(oup); VMOVDQU DD2, (3*32)(oup) + LEAQ (4*32)(inp), inp + LEAQ (4*32)(oup), oup + SUBQ $4*32, inl + + JMP openAVX2TailLoop + +// ---------------------------------------------------------------------------- +// Special optimization for the last 384 bytes of ciphertext +openAVX2Tail384: + // Need to decrypt up to 384 bytes - prepare six blocks + VMOVDQA ·chacha20Constants<>(SB), AA0; VMOVDQA AA0, AA1; VMOVDQA AA0, AA2 + VMOVDQA state1StoreAVX2, BB0; VMOVDQA BB0, BB1; VMOVDQA BB0, BB2 + VMOVDQA state2StoreAVX2, CC0; VMOVDQA CC0, CC1; VMOVDQA CC0, CC2 + VMOVDQA ctr3StoreAVX2, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD1 + VPADDD ·avx2IncMask<>(SB), DD1, DD2 + VMOVDQA DD0, ctr0StoreAVX2 + VMOVDQA DD1, ctr1StoreAVX2 + VMOVDQA DD2, ctr2StoreAVX2 + + // Compute the number of iterations that will hash two blocks of data + MOVQ inl, tmpStoreAVX2 + MOVQ inl, itr1 + SUBQ $256, itr1 + SHRQ $4, itr1 + ADDQ $6, itr1 + MOVQ $10, itr2 + CMPQ itr1, $10 + CMOVQGT itr2, itr1 + MOVQ inp, inl + XORQ itr2, itr2 + + // Perform ChaCha rounds, while hashing the remaining input +openAVX2Tail384LoopB: + polyAdd(0(inl)) + polyMulAVX2 + LEAQ 16(inl), inl + +openAVX2Tail384LoopA: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0); chachaQR_AVX2(AA2, BB2, CC2, DD2, TT0) + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $4, BB2, BB2, BB2 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1; VPALIGNR $12, DD2, DD2, DD2 + polyAdd(0(inl)) + polyMulAVX2 + LEAQ 16(inl), inl + INCQ itr2 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0); chachaQR_AVX2(AA2, BB2, CC2, DD2, TT0) + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $12, BB2, BB2, BB2 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1; VPALIGNR $4, DD2, DD2, DD2 + + CMPQ itr2, itr1 + JB openAVX2Tail384LoopB + + CMPQ itr2, $10 + JNE openAVX2Tail384LoopA + + MOVQ inl, itr2 + SUBQ inp, inl + MOVQ inl, itr1 + MOVQ tmpStoreAVX2, inl + +openAVX2Tail384Hash: + ADDQ $16, itr1 + CMPQ itr1, inl + JGT openAVX2Tail384HashEnd + polyAdd(0(itr2)) + polyMulAVX2 + LEAQ 16(itr2), itr2 + JMP openAVX2Tail384Hash + +// Store 256 bytes safely, then go to store loop +openAVX2Tail384HashEnd: + VPADDD ·chacha20Constants<>(SB), AA0, AA0; VPADDD ·chacha20Constants<>(SB), AA1, AA1; VPADDD ·chacha20Constants<>(SB), AA2, AA2 + VPADDD state1StoreAVX2, BB0, BB0; VPADDD state1StoreAVX2, BB1, BB1; VPADDD state1StoreAVX2, BB2, BB2 + VPADDD state2StoreAVX2, CC0, CC0; VPADDD state2StoreAVX2, CC1, CC1; VPADDD state2StoreAVX2, CC2, CC2 + VPADDD ctr0StoreAVX2, DD0, DD0; VPADDD ctr1StoreAVX2, DD1, DD1; VPADDD ctr2StoreAVX2, DD2, DD2 + VPERM2I128 $0x02, AA0, BB0, TT0; VPERM2I128 $0x02, CC0, DD0, TT1; VPERM2I128 $0x13, AA0, BB0, TT2; VPERM2I128 $0x13, CC0, DD0, TT3 + VPXOR (0*32)(inp), TT0, TT0; VPXOR (1*32)(inp), TT1, TT1; VPXOR (2*32)(inp), TT2, TT2; VPXOR (3*32)(inp), TT3, TT3 + VMOVDQU TT0, (0*32)(oup); VMOVDQU TT1, (1*32)(oup); VMOVDQU TT2, (2*32)(oup); VMOVDQU TT3, (3*32)(oup) + VPERM2I128 $0x02, AA1, BB1, TT0; VPERM2I128 $0x02, CC1, DD1, TT1; VPERM2I128 $0x13, AA1, BB1, TT2; VPERM2I128 $0x13, CC1, DD1, TT3 + VPXOR (4*32)(inp), TT0, TT0; VPXOR (5*32)(inp), TT1, TT1; VPXOR (6*32)(inp), TT2, TT2; VPXOR (7*32)(inp), TT3, TT3 + VMOVDQU TT0, (4*32)(oup); VMOVDQU TT1, (5*32)(oup); VMOVDQU TT2, (6*32)(oup); VMOVDQU TT3, (7*32)(oup) + VPERM2I128 $0x02, AA2, BB2, AA0; VPERM2I128 $0x02, CC2, DD2, BB0; VPERM2I128 $0x13, AA2, BB2, CC0; VPERM2I128 $0x13, CC2, DD2, DD0 + LEAQ (8*32)(inp), inp + LEAQ (8*32)(oup), oup + SUBQ $8*32, inl + JMP openAVX2TailLoop + +// ---------------------------------------------------------------------------- +// Special optimization for the last 512 bytes of ciphertext +openAVX2Tail512: + VMOVDQU ·chacha20Constants<>(SB), AA0; VMOVDQA AA0, AA1; VMOVDQA AA0, AA2; VMOVDQA AA0, AA3 + VMOVDQA state1StoreAVX2, BB0; VMOVDQA BB0, BB1; VMOVDQA BB0, BB2; VMOVDQA BB0, BB3 + VMOVDQA state2StoreAVX2, CC0; VMOVDQA CC0, CC1; VMOVDQA CC0, CC2; VMOVDQA CC0, CC3 + VMOVDQA ctr3StoreAVX2, DD0; VPADDD ·avx2IncMask<>(SB), DD0, DD0; VPADDD ·avx2IncMask<>(SB), DD0, DD1; VPADDD ·avx2IncMask<>(SB), DD1, DD2; VPADDD ·avx2IncMask<>(SB), DD2, DD3 + VMOVDQA DD0, ctr0StoreAVX2; VMOVDQA DD1, ctr1StoreAVX2; VMOVDQA DD2, ctr2StoreAVX2; VMOVDQA DD3, ctr3StoreAVX2 + XORQ itr1, itr1 + MOVQ inp, itr2 + +openAVX2Tail512LoopB: + polyAdd(0(itr2)) + polyMulAVX2 + LEAQ (2*8)(itr2), itr2 + +openAVX2Tail512LoopA: + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol16<>(SB), DD0, DD0; VPSHUFB ·rol16<>(SB), DD1, DD1; VPSHUFB ·rol16<>(SB), DD2, DD2; VPSHUFB ·rol16<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $12, BB0, CC3; VPSRLD $20, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $12, BB1, CC3; VPSRLD $20, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $12, BB2, CC3; VPSRLD $20, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $12, BB3, CC3; VPSRLD $20, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyAdd(0*8(itr2)) + polyMulAVX2 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol8<>(SB), DD0, DD0; VPSHUFB ·rol8<>(SB), DD1, DD1; VPSHUFB ·rol8<>(SB), DD2, DD2; VPSHUFB ·rol8<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $7, BB0, CC3; VPSRLD $25, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $7, BB1, CC3; VPSRLD $25, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $7, BB2, CC3; VPSRLD $25, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $7, BB3, CC3; VPSRLD $25, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $4, BB2, BB2, BB2; VPALIGNR $4, BB3, BB3, BB3 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $8, CC3, CC3, CC3 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1; VPALIGNR $12, DD2, DD2, DD2; VPALIGNR $12, DD3, DD3, DD3 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol16<>(SB), DD0, DD0; VPSHUFB ·rol16<>(SB), DD1, DD1; VPSHUFB ·rol16<>(SB), DD2, DD2; VPSHUFB ·rol16<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + polyAdd(2*8(itr2)) + polyMulAVX2 + LEAQ (4*8)(itr2), itr2 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $12, BB0, CC3; VPSRLD $20, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $12, BB1, CC3; VPSRLD $20, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $12, BB2, CC3; VPSRLD $20, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $12, BB3, CC3; VPSRLD $20, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol8<>(SB), DD0, DD0; VPSHUFB ·rol8<>(SB), DD1, DD1; VPSHUFB ·rol8<>(SB), DD2, DD2; VPSHUFB ·rol8<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $7, BB0, CC3; VPSRLD $25, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $7, BB1, CC3; VPSRLD $25, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $7, BB2, CC3; VPSRLD $25, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $7, BB3, CC3; VPSRLD $25, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $12, BB2, BB2, BB2; VPALIGNR $12, BB3, BB3, BB3 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $8, CC3, CC3, CC3 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1; VPALIGNR $4, DD2, DD2, DD2; VPALIGNR $4, DD3, DD3, DD3 + INCQ itr1 + CMPQ itr1, $4 + JLT openAVX2Tail512LoopB + + CMPQ itr1, $10 + JNE openAVX2Tail512LoopA + + MOVQ inl, itr1 + SUBQ $384, itr1 + ANDQ $-16, itr1 + +openAVX2Tail512HashLoop: + TESTQ itr1, itr1 + JE openAVX2Tail512HashEnd + polyAdd(0(itr2)) + polyMulAVX2 + LEAQ 16(itr2), itr2 + SUBQ $16, itr1 + JMP openAVX2Tail512HashLoop + +openAVX2Tail512HashEnd: + VPADDD ·chacha20Constants<>(SB), AA0, AA0; VPADDD ·chacha20Constants<>(SB), AA1, AA1; VPADDD ·chacha20Constants<>(SB), AA2, AA2; VPADDD ·chacha20Constants<>(SB), AA3, AA3 + VPADDD state1StoreAVX2, BB0, BB0; VPADDD state1StoreAVX2, BB1, BB1; VPADDD state1StoreAVX2, BB2, BB2; VPADDD state1StoreAVX2, BB3, BB3 + VPADDD state2StoreAVX2, CC0, CC0; VPADDD state2StoreAVX2, CC1, CC1; VPADDD state2StoreAVX2, CC2, CC2; VPADDD state2StoreAVX2, CC3, CC3 + VPADDD ctr0StoreAVX2, DD0, DD0; VPADDD ctr1StoreAVX2, DD1, DD1; VPADDD ctr2StoreAVX2, DD2, DD2; VPADDD ctr3StoreAVX2, DD3, DD3 + VMOVDQA CC3, tmpStoreAVX2 + VPERM2I128 $0x02, AA0, BB0, CC3; VPERM2I128 $0x13, AA0, BB0, BB0; VPERM2I128 $0x02, CC0, DD0, AA0; VPERM2I128 $0x13, CC0, DD0, CC0 + VPXOR (0*32)(inp), CC3, CC3; VPXOR (1*32)(inp), AA0, AA0; VPXOR (2*32)(inp), BB0, BB0; VPXOR (3*32)(inp), CC0, CC0 + VMOVDQU CC3, (0*32)(oup); VMOVDQU AA0, (1*32)(oup); VMOVDQU BB0, (2*32)(oup); VMOVDQU CC0, (3*32)(oup) + VPERM2I128 $0x02, AA1, BB1, AA0; VPERM2I128 $0x02, CC1, DD1, BB0; VPERM2I128 $0x13, AA1, BB1, CC0; VPERM2I128 $0x13, CC1, DD1, DD0 + VPXOR (4*32)(inp), AA0, AA0; VPXOR (5*32)(inp), BB0, BB0; VPXOR (6*32)(inp), CC0, CC0; VPXOR (7*32)(inp), DD0, DD0 + VMOVDQU AA0, (4*32)(oup); VMOVDQU BB0, (5*32)(oup); VMOVDQU CC0, (6*32)(oup); VMOVDQU DD0, (7*32)(oup) + VPERM2I128 $0x02, AA2, BB2, AA0; VPERM2I128 $0x02, CC2, DD2, BB0; VPERM2I128 $0x13, AA2, BB2, CC0; VPERM2I128 $0x13, CC2, DD2, DD0 + VPXOR (8*32)(inp), AA0, AA0; VPXOR (9*32)(inp), BB0, BB0; VPXOR (10*32)(inp), CC0, CC0; VPXOR (11*32)(inp), DD0, DD0 + VMOVDQU AA0, (8*32)(oup); VMOVDQU BB0, (9*32)(oup); VMOVDQU CC0, (10*32)(oup); VMOVDQU DD0, (11*32)(oup) + VPERM2I128 $0x02, AA3, BB3, AA0; VPERM2I128 $0x02, tmpStoreAVX2, DD3, BB0; VPERM2I128 $0x13, AA3, BB3, CC0; VPERM2I128 $0x13, tmpStoreAVX2, DD3, DD0 + + LEAQ (12*32)(inp), inp + LEAQ (12*32)(oup), oup + SUBQ $12*32, inl + + JMP openAVX2TailLoop + +// ---------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- +// func chacha20Poly1305Seal(dst, key, src, ad []byte) +TEXT ·chacha20Poly1305Seal(SB), 0, $288-96 + // For aligned stack access + MOVQ SP, BP + ADDQ $32, BP + ANDQ $-32, BP + MOVQ dst+0(FP), oup + MOVQ key+24(FP), keyp + MOVQ src+48(FP), inp + MOVQ src_len+56(FP), inl + MOVQ ad+72(FP), adp + + CMPB ·useAVX2(SB), $1 + JE chacha20Poly1305Seal_AVX2 + + // Special optimization, for very short buffers + CMPQ inl, $128 + JBE sealSSE128 // About 15% faster + + // In the seal case - prepare the poly key + 3 blocks of stream in the first iteration + MOVOU ·chacha20Constants<>(SB), A0 + MOVOU (1*16)(keyp), B0 + MOVOU (2*16)(keyp), C0 + MOVOU (3*16)(keyp), D0 + + // Store state on stack for future use + MOVO B0, state1Store + MOVO C0, state2Store + + // Load state, increment counter blocks + MOVO A0, A1; MOVO B0, B1; MOVO C0, C1; MOVO D0, D1; PADDL ·sseIncMask<>(SB), D1 + MOVO A1, A2; MOVO B1, B2; MOVO C1, C2; MOVO D1, D2; PADDL ·sseIncMask<>(SB), D2 + MOVO A2, A3; MOVO B2, B3; MOVO C2, C3; MOVO D2, D3; PADDL ·sseIncMask<>(SB), D3 + + // Store counters + MOVO D0, ctr0Store; MOVO D1, ctr1Store; MOVO D2, ctr2Store; MOVO D3, ctr3Store + MOVQ $10, itr2 + +sealSSEIntroLoop: + MOVO C3, tmpStore + chachaQR(A0, B0, C0, D0, C3); chachaQR(A1, B1, C1, D1, C3); chachaQR(A2, B2, C2, D2, C3) + MOVO tmpStore, C3 + MOVO C1, tmpStore + chachaQR(A3, B3, C3, D3, C1) + MOVO tmpStore, C1 + shiftB0Left; shiftB1Left; shiftB2Left; shiftB3Left + shiftC0Left; shiftC1Left; shiftC2Left; shiftC3Left + shiftD0Left; shiftD1Left; shiftD2Left; shiftD3Left + + MOVO C3, tmpStore + chachaQR(A0, B0, C0, D0, C3); chachaQR(A1, B1, C1, D1, C3); chachaQR(A2, B2, C2, D2, C3) + MOVO tmpStore, C3 + MOVO C1, tmpStore + chachaQR(A3, B3, C3, D3, C1) + MOVO tmpStore, C1 + shiftB0Right; shiftB1Right; shiftB2Right; shiftB3Right + shiftC0Right; shiftC1Right; shiftC2Right; shiftC3Right + shiftD0Right; shiftD1Right; shiftD2Right; shiftD3Right + DECQ itr2 + JNE sealSSEIntroLoop + + // Add in the state + PADDD ·chacha20Constants<>(SB), A0; PADDD ·chacha20Constants<>(SB), A1; PADDD ·chacha20Constants<>(SB), A2; PADDD ·chacha20Constants<>(SB), A3 + PADDD state1Store, B0; PADDD state1Store, B1; PADDD state1Store, B2; PADDD state1Store, B3 + PADDD state2Store, C1; PADDD state2Store, C2; PADDD state2Store, C3 + PADDD ctr1Store, D1; PADDD ctr2Store, D2; PADDD ctr3Store, D3 + + // Clamp and store the key + PAND ·polyClampMask<>(SB), A0 + MOVO A0, rStore + MOVO B0, sStore + + // Hash AAD + MOVQ ad_len+80(FP), itr2 + CALL polyHashADInternal<>(SB) + + MOVOU (0*16)(inp), A0; MOVOU (1*16)(inp), B0; MOVOU (2*16)(inp), C0; MOVOU (3*16)(inp), D0 + PXOR A0, A1; PXOR B0, B1; PXOR C0, C1; PXOR D0, D1 + MOVOU A1, (0*16)(oup); MOVOU B1, (1*16)(oup); MOVOU C1, (2*16)(oup); MOVOU D1, (3*16)(oup) + MOVOU (4*16)(inp), A0; MOVOU (5*16)(inp), B0; MOVOU (6*16)(inp), C0; MOVOU (7*16)(inp), D0 + PXOR A0, A2; PXOR B0, B2; PXOR C0, C2; PXOR D0, D2 + MOVOU A2, (4*16)(oup); MOVOU B2, (5*16)(oup); MOVOU C2, (6*16)(oup); MOVOU D2, (7*16)(oup) + + MOVQ $128, itr1 + SUBQ $128, inl + LEAQ 128(inp), inp + + MOVO A3, A1; MOVO B3, B1; MOVO C3, C1; MOVO D3, D1 + + CMPQ inl, $64 + JBE sealSSE128SealHash + + MOVOU (0*16)(inp), A0; MOVOU (1*16)(inp), B0; MOVOU (2*16)(inp), C0; MOVOU (3*16)(inp), D0 + PXOR A0, A3; PXOR B0, B3; PXOR C0, C3; PXOR D0, D3 + MOVOU A3, (8*16)(oup); MOVOU B3, (9*16)(oup); MOVOU C3, (10*16)(oup); MOVOU D3, (11*16)(oup) + + ADDQ $64, itr1 + SUBQ $64, inl + LEAQ 64(inp), inp + + MOVQ $2, itr1 + MOVQ $8, itr2 + + CMPQ inl, $64 + JBE sealSSETail64 + CMPQ inl, $128 + JBE sealSSETail128 + CMPQ inl, $192 + JBE sealSSETail192 + +sealSSEMainLoop: + // Load state, increment counter blocks + MOVO ·chacha20Constants<>(SB), A0; MOVO state1Store, B0; MOVO state2Store, C0; MOVO ctr3Store, D0; PADDL ·sseIncMask<>(SB), D0 + MOVO A0, A1; MOVO B0, B1; MOVO C0, C1; MOVO D0, D1; PADDL ·sseIncMask<>(SB), D1 + MOVO A1, A2; MOVO B1, B2; MOVO C1, C2; MOVO D1, D2; PADDL ·sseIncMask<>(SB), D2 + MOVO A2, A3; MOVO B2, B3; MOVO C2, C3; MOVO D2, D3; PADDL ·sseIncMask<>(SB), D3 + + // Store counters + MOVO D0, ctr0Store; MOVO D1, ctr1Store; MOVO D2, ctr2Store; MOVO D3, ctr3Store + +sealSSEInnerLoop: + MOVO C3, tmpStore + chachaQR(A0, B0, C0, D0, C3); chachaQR(A1, B1, C1, D1, C3); chachaQR(A2, B2, C2, D2, C3) + MOVO tmpStore, C3 + MOVO C1, tmpStore + chachaQR(A3, B3, C3, D3, C1) + MOVO tmpStore, C1 + polyAdd(0(oup)) + shiftB0Left; shiftB1Left; shiftB2Left; shiftB3Left + shiftC0Left; shiftC1Left; shiftC2Left; shiftC3Left + shiftD0Left; shiftD1Left; shiftD2Left; shiftD3Left + polyMulStage1 + polyMulStage2 + LEAQ (2*8)(oup), oup + MOVO C3, tmpStore + chachaQR(A0, B0, C0, D0, C3); chachaQR(A1, B1, C1, D1, C3); chachaQR(A2, B2, C2, D2, C3) + MOVO tmpStore, C3 + MOVO C1, tmpStore + polyMulStage3 + chachaQR(A3, B3, C3, D3, C1) + MOVO tmpStore, C1 + polyMulReduceStage + shiftB0Right; shiftB1Right; shiftB2Right; shiftB3Right + shiftC0Right; shiftC1Right; shiftC2Right; shiftC3Right + shiftD0Right; shiftD1Right; shiftD2Right; shiftD3Right + DECQ itr2 + JGE sealSSEInnerLoop + polyAdd(0(oup)) + polyMul + LEAQ (2*8)(oup), oup + DECQ itr1 + JG sealSSEInnerLoop + + // Add in the state + PADDD ·chacha20Constants<>(SB), A0; PADDD ·chacha20Constants<>(SB), A1; PADDD ·chacha20Constants<>(SB), A2; PADDD ·chacha20Constants<>(SB), A3 + PADDD state1Store, B0; PADDD state1Store, B1; PADDD state1Store, B2; PADDD state1Store, B3 + PADDD state2Store, C0; PADDD state2Store, C1; PADDD state2Store, C2; PADDD state2Store, C3 + PADDD ctr0Store, D0; PADDD ctr1Store, D1; PADDD ctr2Store, D2; PADDD ctr3Store, D3 + MOVO D3, tmpStore + + // Load - xor - store + MOVOU (0*16)(inp), D3; PXOR D3, A0 + MOVOU (1*16)(inp), D3; PXOR D3, B0 + MOVOU (2*16)(inp), D3; PXOR D3, C0 + MOVOU (3*16)(inp), D3; PXOR D3, D0 + MOVOU A0, (0*16)(oup) + MOVOU B0, (1*16)(oup) + MOVOU C0, (2*16)(oup) + MOVOU D0, (3*16)(oup) + MOVO tmpStore, D3 + + MOVOU (4*16)(inp), A0; MOVOU (5*16)(inp), B0; MOVOU (6*16)(inp), C0; MOVOU (7*16)(inp), D0 + PXOR A0, A1; PXOR B0, B1; PXOR C0, C1; PXOR D0, D1 + MOVOU A1, (4*16)(oup); MOVOU B1, (5*16)(oup); MOVOU C1, (6*16)(oup); MOVOU D1, (7*16)(oup) + MOVOU (8*16)(inp), A0; MOVOU (9*16)(inp), B0; MOVOU (10*16)(inp), C0; MOVOU (11*16)(inp), D0 + PXOR A0, A2; PXOR B0, B2; PXOR C0, C2; PXOR D0, D2 + MOVOU A2, (8*16)(oup); MOVOU B2, (9*16)(oup); MOVOU C2, (10*16)(oup); MOVOU D2, (11*16)(oup) + ADDQ $192, inp + MOVQ $192, itr1 + SUBQ $192, inl + MOVO A3, A1 + MOVO B3, B1 + MOVO C3, C1 + MOVO D3, D1 + CMPQ inl, $64 + JBE sealSSE128SealHash + MOVOU (0*16)(inp), A0; MOVOU (1*16)(inp), B0; MOVOU (2*16)(inp), C0; MOVOU (3*16)(inp), D0 + PXOR A0, A3; PXOR B0, B3; PXOR C0, C3; PXOR D0, D3 + MOVOU A3, (12*16)(oup); MOVOU B3, (13*16)(oup); MOVOU C3, (14*16)(oup); MOVOU D3, (15*16)(oup) + LEAQ 64(inp), inp + SUBQ $64, inl + MOVQ $6, itr1 + MOVQ $4, itr2 + CMPQ inl, $192 + JG sealSSEMainLoop + + MOVQ inl, itr1 + TESTQ inl, inl + JE sealSSE128SealHash + MOVQ $6, itr1 + CMPQ inl, $64 + JBE sealSSETail64 + CMPQ inl, $128 + JBE sealSSETail128 + JMP sealSSETail192 + +// ---------------------------------------------------------------------------- +// Special optimization for the last 64 bytes of plaintext +sealSSETail64: + // Need to encrypt up to 64 bytes - prepare single block, hash 192 or 256 bytes + MOVO ·chacha20Constants<>(SB), A1 + MOVO state1Store, B1 + MOVO state2Store, C1 + MOVO ctr3Store, D1 + PADDL ·sseIncMask<>(SB), D1 + MOVO D1, ctr0Store + +sealSSETail64LoopA: + // Perform ChaCha rounds, while hashing the previously encrypted ciphertext + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + +sealSSETail64LoopB: + chachaQR(A1, B1, C1, D1, T1) + shiftB1Left; shiftC1Left; shiftD1Left + chachaQR(A1, B1, C1, D1, T1) + shiftB1Right; shiftC1Right; shiftD1Right + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + + DECQ itr1 + JG sealSSETail64LoopA + + DECQ itr2 + JGE sealSSETail64LoopB + PADDL ·chacha20Constants<>(SB), A1 + PADDL state1Store, B1 + PADDL state2Store, C1 + PADDL ctr0Store, D1 + + JMP sealSSE128Seal + +// ---------------------------------------------------------------------------- +// Special optimization for the last 128 bytes of plaintext +sealSSETail128: + // Need to encrypt up to 128 bytes - prepare two blocks, hash 192 or 256 bytes + MOVO ·chacha20Constants<>(SB), A0; MOVO state1Store, B0; MOVO state2Store, C0; MOVO ctr3Store, D0; PADDL ·sseIncMask<>(SB), D0; MOVO D0, ctr0Store + MOVO A0, A1; MOVO B0, B1; MOVO C0, C1; MOVO D0, D1; PADDL ·sseIncMask<>(SB), D1; MOVO D1, ctr1Store + +sealSSETail128LoopA: + // Perform ChaCha rounds, while hashing the previously encrypted ciphertext + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + +sealSSETail128LoopB: + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0) + shiftB0Left; shiftC0Left; shiftD0Left + shiftB1Left; shiftC1Left; shiftD1Left + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0) + shiftB0Right; shiftC0Right; shiftD0Right + shiftB1Right; shiftC1Right; shiftD1Right + + DECQ itr1 + JG sealSSETail128LoopA + + DECQ itr2 + JGE sealSSETail128LoopB + + PADDL ·chacha20Constants<>(SB), A0; PADDL ·chacha20Constants<>(SB), A1 + PADDL state1Store, B0; PADDL state1Store, B1 + PADDL state2Store, C0; PADDL state2Store, C1 + PADDL ctr0Store, D0; PADDL ctr1Store, D1 + + MOVOU (0*16)(inp), T0; MOVOU (1*16)(inp), T1; MOVOU (2*16)(inp), T2; MOVOU (3*16)(inp), T3 + PXOR T0, A0; PXOR T1, B0; PXOR T2, C0; PXOR T3, D0 + MOVOU A0, (0*16)(oup); MOVOU B0, (1*16)(oup); MOVOU C0, (2*16)(oup); MOVOU D0, (3*16)(oup) + + MOVQ $64, itr1 + LEAQ 64(inp), inp + SUBQ $64, inl + + JMP sealSSE128SealHash + +// ---------------------------------------------------------------------------- +// Special optimization for the last 192 bytes of plaintext +sealSSETail192: + // Need to encrypt up to 192 bytes - prepare three blocks, hash 192 or 256 bytes + MOVO ·chacha20Constants<>(SB), A0; MOVO state1Store, B0; MOVO state2Store, C0; MOVO ctr3Store, D0; PADDL ·sseIncMask<>(SB), D0; MOVO D0, ctr0Store + MOVO A0, A1; MOVO B0, B1; MOVO C0, C1; MOVO D0, D1; PADDL ·sseIncMask<>(SB), D1; MOVO D1, ctr1Store + MOVO A1, A2; MOVO B1, B2; MOVO C1, C2; MOVO D1, D2; PADDL ·sseIncMask<>(SB), D2; MOVO D2, ctr2Store + +sealSSETail192LoopA: + // Perform ChaCha rounds, while hashing the previously encrypted ciphertext + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + +sealSSETail192LoopB: + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0); chachaQR(A2, B2, C2, D2, T0) + shiftB0Left; shiftC0Left; shiftD0Left + shiftB1Left; shiftC1Left; shiftD1Left + shiftB2Left; shiftC2Left; shiftD2Left + + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0); chachaQR(A2, B2, C2, D2, T0) + shiftB0Right; shiftC0Right; shiftD0Right + shiftB1Right; shiftC1Right; shiftD1Right + shiftB2Right; shiftC2Right; shiftD2Right + + DECQ itr1 + JG sealSSETail192LoopA + + DECQ itr2 + JGE sealSSETail192LoopB + + PADDL ·chacha20Constants<>(SB), A0; PADDL ·chacha20Constants<>(SB), A1; PADDL ·chacha20Constants<>(SB), A2 + PADDL state1Store, B0; PADDL state1Store, B1; PADDL state1Store, B2 + PADDL state2Store, C0; PADDL state2Store, C1; PADDL state2Store, C2 + PADDL ctr0Store, D0; PADDL ctr1Store, D1; PADDL ctr2Store, D2 + + MOVOU (0*16)(inp), T0; MOVOU (1*16)(inp), T1; MOVOU (2*16)(inp), T2; MOVOU (3*16)(inp), T3 + PXOR T0, A0; PXOR T1, B0; PXOR T2, C0; PXOR T3, D0 + MOVOU A0, (0*16)(oup); MOVOU B0, (1*16)(oup); MOVOU C0, (2*16)(oup); MOVOU D0, (3*16)(oup) + MOVOU (4*16)(inp), T0; MOVOU (5*16)(inp), T1; MOVOU (6*16)(inp), T2; MOVOU (7*16)(inp), T3 + PXOR T0, A1; PXOR T1, B1; PXOR T2, C1; PXOR T3, D1 + MOVOU A1, (4*16)(oup); MOVOU B1, (5*16)(oup); MOVOU C1, (6*16)(oup); MOVOU D1, (7*16)(oup) + + MOVO A2, A1 + MOVO B2, B1 + MOVO C2, C1 + MOVO D2, D1 + MOVQ $128, itr1 + LEAQ 128(inp), inp + SUBQ $128, inl + + JMP sealSSE128SealHash + +// ---------------------------------------------------------------------------- +// Special seal optimization for buffers smaller than 129 bytes +sealSSE128: + // For up to 128 bytes of ciphertext and 64 bytes for the poly key, we require to process three blocks + MOVOU ·chacha20Constants<>(SB), A0; MOVOU (1*16)(keyp), B0; MOVOU (2*16)(keyp), C0; MOVOU (3*16)(keyp), D0 + MOVO A0, A1; MOVO B0, B1; MOVO C0, C1; MOVO D0, D1; PADDL ·sseIncMask<>(SB), D1 + MOVO A1, A2; MOVO B1, B2; MOVO C1, C2; MOVO D1, D2; PADDL ·sseIncMask<>(SB), D2 + MOVO B0, T1; MOVO C0, T2; MOVO D1, T3 + MOVQ $10, itr2 + +sealSSE128InnerCipherLoop: + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0); chachaQR(A2, B2, C2, D2, T0) + shiftB0Left; shiftB1Left; shiftB2Left + shiftC0Left; shiftC1Left; shiftC2Left + shiftD0Left; shiftD1Left; shiftD2Left + chachaQR(A0, B0, C0, D0, T0); chachaQR(A1, B1, C1, D1, T0); chachaQR(A2, B2, C2, D2, T0) + shiftB0Right; shiftB1Right; shiftB2Right + shiftC0Right; shiftC1Right; shiftC2Right + shiftD0Right; shiftD1Right; shiftD2Right + DECQ itr2 + JNE sealSSE128InnerCipherLoop + + // A0|B0 hold the Poly1305 32-byte key, C0,D0 can be discarded + PADDL ·chacha20Constants<>(SB), A0; PADDL ·chacha20Constants<>(SB), A1; PADDL ·chacha20Constants<>(SB), A2 + PADDL T1, B0; PADDL T1, B1; PADDL T1, B2 + PADDL T2, C1; PADDL T2, C2 + PADDL T3, D1; PADDL ·sseIncMask<>(SB), T3; PADDL T3, D2 + PAND ·polyClampMask<>(SB), A0 + MOVOU A0, rStore + MOVOU B0, sStore + + // Hash + MOVQ ad_len+80(FP), itr2 + CALL polyHashADInternal<>(SB) + XORQ itr1, itr1 + +sealSSE128SealHash: + // itr1 holds the number of bytes encrypted but not yet hashed + CMPQ itr1, $16 + JB sealSSE128Seal + polyAdd(0(oup)) + polyMul + + SUBQ $16, itr1 + ADDQ $16, oup + + JMP sealSSE128SealHash + +sealSSE128Seal: + CMPQ inl, $16 + JB sealSSETail + SUBQ $16, inl + + // Load for decryption + MOVOU (inp), T0 + PXOR T0, A1 + MOVOU A1, (oup) + LEAQ (1*16)(inp), inp + LEAQ (1*16)(oup), oup + + // Extract for hashing + MOVQ A1, t0 + PSRLDQ $8, A1 + MOVQ A1, t1 + ADDQ t0, acc0; ADCQ t1, acc1; ADCQ $1, acc2 + polyMul + + // Shift the stream "left" + MOVO B1, A1 + MOVO C1, B1 + MOVO D1, C1 + MOVO A2, D1 + MOVO B2, A2 + MOVO C2, B2 + MOVO D2, C2 + JMP sealSSE128Seal + +sealSSETail: + TESTQ inl, inl + JE sealSSEFinalize + + // We can only load the PT one byte at a time to avoid read after end of buffer + MOVQ inl, itr2 + SHLQ $4, itr2 + LEAQ ·andMask<>(SB), t0 + MOVQ inl, itr1 + LEAQ -1(inp)(inl*1), inp + XORQ t2, t2 + XORQ t3, t3 + XORQ AX, AX + +sealSSETailLoadLoop: + SHLQ $8, t2, t3 + SHLQ $8, t2 + MOVB (inp), AX + XORQ AX, t2 + LEAQ -1(inp), inp + DECQ itr1 + JNE sealSSETailLoadLoop + MOVQ t2, 0+tmpStore + MOVQ t3, 8+tmpStore + PXOR 0+tmpStore, A1 + MOVOU A1, (oup) + MOVOU -16(t0)(itr2*1), T0 + PAND T0, A1 + MOVQ A1, t0 + PSRLDQ $8, A1 + MOVQ A1, t1 + ADDQ t0, acc0; ADCQ t1, acc1; ADCQ $1, acc2 + polyMul + + ADDQ inl, oup + +sealSSEFinalize: + // Hash in the buffer lengths + ADDQ ad_len+80(FP), acc0 + ADCQ src_len+56(FP), acc1 + ADCQ $1, acc2 + polyMul + + // Final reduce + MOVQ acc0, t0 + MOVQ acc1, t1 + MOVQ acc2, t2 + SUBQ $-5, acc0 + SBBQ $-1, acc1 + SBBQ $3, acc2 + CMOVQCS t0, acc0 + CMOVQCS t1, acc1 + CMOVQCS t2, acc2 + + // Add in the "s" part of the key + ADDQ 0+sStore, acc0 + ADCQ 8+sStore, acc1 + + // Finally store the tag at the end of the message + MOVQ acc0, (0*8)(oup) + MOVQ acc1, (1*8)(oup) + RET + +// ---------------------------------------------------------------------------- +// ------------------------- AVX2 Code ---------------------------------------- +chacha20Poly1305Seal_AVX2: + VZEROUPPER + VMOVDQU ·chacha20Constants<>(SB), AA0 + BYTE $0xc4; BYTE $0x42; BYTE $0x7d; BYTE $0x5a; BYTE $0x70; BYTE $0x10 // broadcasti128 16(r8), ymm14 + BYTE $0xc4; BYTE $0x42; BYTE $0x7d; BYTE $0x5a; BYTE $0x60; BYTE $0x20 // broadcasti128 32(r8), ymm12 + BYTE $0xc4; BYTE $0xc2; BYTE $0x7d; BYTE $0x5a; BYTE $0x60; BYTE $0x30 // broadcasti128 48(r8), ymm4 + VPADDD ·avx2InitMask<>(SB), DD0, DD0 + + // Special optimizations, for very short buffers + CMPQ inl, $192 + JBE seal192AVX2 // 33% faster + CMPQ inl, $320 + JBE seal320AVX2 // 17% faster + + // For the general key prepare the key first - as a byproduct we have 64 bytes of cipher stream + VMOVDQA AA0, AA1; VMOVDQA AA0, AA2; VMOVDQA AA0, AA3 + VMOVDQA BB0, BB1; VMOVDQA BB0, BB2; VMOVDQA BB0, BB3; VMOVDQA BB0, state1StoreAVX2 + VMOVDQA CC0, CC1; VMOVDQA CC0, CC2; VMOVDQA CC0, CC3; VMOVDQA CC0, state2StoreAVX2 + VPADDD ·avx2IncMask<>(SB), DD0, DD1; VMOVDQA DD0, ctr0StoreAVX2 + VPADDD ·avx2IncMask<>(SB), DD1, DD2; VMOVDQA DD1, ctr1StoreAVX2 + VPADDD ·avx2IncMask<>(SB), DD2, DD3; VMOVDQA DD2, ctr2StoreAVX2 + VMOVDQA DD3, ctr3StoreAVX2 + MOVQ $10, itr2 + +sealAVX2IntroLoop: + VMOVDQA CC3, tmpStoreAVX2 + chachaQR_AVX2(AA0, BB0, CC0, DD0, CC3); chachaQR_AVX2(AA1, BB1, CC1, DD1, CC3); chachaQR_AVX2(AA2, BB2, CC2, DD2, CC3) + VMOVDQA tmpStoreAVX2, CC3 + VMOVDQA CC1, tmpStoreAVX2 + chachaQR_AVX2(AA3, BB3, CC3, DD3, CC1) + VMOVDQA tmpStoreAVX2, CC1 + + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $12, DD0, DD0, DD0 + VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $12, DD1, DD1, DD1 + VPALIGNR $4, BB2, BB2, BB2; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $12, DD2, DD2, DD2 + VPALIGNR $4, BB3, BB3, BB3; VPALIGNR $8, CC3, CC3, CC3; VPALIGNR $12, DD3, DD3, DD3 + + VMOVDQA CC3, tmpStoreAVX2 + chachaQR_AVX2(AA0, BB0, CC0, DD0, CC3); chachaQR_AVX2(AA1, BB1, CC1, DD1, CC3); chachaQR_AVX2(AA2, BB2, CC2, DD2, CC3) + VMOVDQA tmpStoreAVX2, CC3 + VMOVDQA CC1, tmpStoreAVX2 + chachaQR_AVX2(AA3, BB3, CC3, DD3, CC1) + VMOVDQA tmpStoreAVX2, CC1 + + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $4, DD0, DD0, DD0 + VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $4, DD1, DD1, DD1 + VPALIGNR $12, BB2, BB2, BB2; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $4, DD2, DD2, DD2 + VPALIGNR $12, BB3, BB3, BB3; VPALIGNR $8, CC3, CC3, CC3; VPALIGNR $4, DD3, DD3, DD3 + DECQ itr2 + JNE sealAVX2IntroLoop + + VPADDD ·chacha20Constants<>(SB), AA0, AA0; VPADDD ·chacha20Constants<>(SB), AA1, AA1; VPADDD ·chacha20Constants<>(SB), AA2, AA2; VPADDD ·chacha20Constants<>(SB), AA3, AA3 + VPADDD state1StoreAVX2, BB0, BB0; VPADDD state1StoreAVX2, BB1, BB1; VPADDD state1StoreAVX2, BB2, BB2; VPADDD state1StoreAVX2, BB3, BB3 + VPADDD state2StoreAVX2, CC0, CC0; VPADDD state2StoreAVX2, CC1, CC1; VPADDD state2StoreAVX2, CC2, CC2; VPADDD state2StoreAVX2, CC3, CC3 + VPADDD ctr0StoreAVX2, DD0, DD0; VPADDD ctr1StoreAVX2, DD1, DD1; VPADDD ctr2StoreAVX2, DD2, DD2; VPADDD ctr3StoreAVX2, DD3, DD3 + + VPERM2I128 $0x13, CC0, DD0, CC0 // Stream bytes 96 - 127 + VPERM2I128 $0x02, AA0, BB0, DD0 // The Poly1305 key + VPERM2I128 $0x13, AA0, BB0, AA0 // Stream bytes 64 - 95 + + // Clamp and store poly key + VPAND ·polyClampMask<>(SB), DD0, DD0 + VMOVDQA DD0, rsStoreAVX2 + + // Hash AD + MOVQ ad_len+80(FP), itr2 + CALL polyHashADInternal<>(SB) + + // Can store at least 320 bytes + VPXOR (0*32)(inp), AA0, AA0 + VPXOR (1*32)(inp), CC0, CC0 + VMOVDQU AA0, (0*32)(oup) + VMOVDQU CC0, (1*32)(oup) + + VPERM2I128 $0x02, AA1, BB1, AA0; VPERM2I128 $0x02, CC1, DD1, BB0; VPERM2I128 $0x13, AA1, BB1, CC0; VPERM2I128 $0x13, CC1, DD1, DD0 + VPXOR (2*32)(inp), AA0, AA0; VPXOR (3*32)(inp), BB0, BB0; VPXOR (4*32)(inp), CC0, CC0; VPXOR (5*32)(inp), DD0, DD0 + VMOVDQU AA0, (2*32)(oup); VMOVDQU BB0, (3*32)(oup); VMOVDQU CC0, (4*32)(oup); VMOVDQU DD0, (5*32)(oup) + VPERM2I128 $0x02, AA2, BB2, AA0; VPERM2I128 $0x02, CC2, DD2, BB0; VPERM2I128 $0x13, AA2, BB2, CC0; VPERM2I128 $0x13, CC2, DD2, DD0 + VPXOR (6*32)(inp), AA0, AA0; VPXOR (7*32)(inp), BB0, BB0; VPXOR (8*32)(inp), CC0, CC0; VPXOR (9*32)(inp), DD0, DD0 + VMOVDQU AA0, (6*32)(oup); VMOVDQU BB0, (7*32)(oup); VMOVDQU CC0, (8*32)(oup); VMOVDQU DD0, (9*32)(oup) + + MOVQ $320, itr1 + SUBQ $320, inl + LEAQ 320(inp), inp + + VPERM2I128 $0x02, AA3, BB3, AA0; VPERM2I128 $0x02, CC3, DD3, BB0; VPERM2I128 $0x13, AA3, BB3, CC0; VPERM2I128 $0x13, CC3, DD3, DD0 + CMPQ inl, $128 + JBE sealAVX2SealHash + + VPXOR (0*32)(inp), AA0, AA0; VPXOR (1*32)(inp), BB0, BB0; VPXOR (2*32)(inp), CC0, CC0; VPXOR (3*32)(inp), DD0, DD0 + VMOVDQU AA0, (10*32)(oup); VMOVDQU BB0, (11*32)(oup); VMOVDQU CC0, (12*32)(oup); VMOVDQU DD0, (13*32)(oup) + SUBQ $128, inl + LEAQ 128(inp), inp + + MOVQ $8, itr1 + MOVQ $2, itr2 + + CMPQ inl, $128 + JBE sealAVX2Tail128 + CMPQ inl, $256 + JBE sealAVX2Tail256 + CMPQ inl, $384 + JBE sealAVX2Tail384 + CMPQ inl, $512 + JBE sealAVX2Tail512 + + // We have 448 bytes to hash, but main loop hashes 512 bytes at a time - perform some rounds, before the main loop + VMOVDQA ·chacha20Constants<>(SB), AA0; VMOVDQA AA0, AA1; VMOVDQA AA0, AA2; VMOVDQA AA0, AA3 + VMOVDQA state1StoreAVX2, BB0; VMOVDQA BB0, BB1; VMOVDQA BB0, BB2; VMOVDQA BB0, BB3 + VMOVDQA state2StoreAVX2, CC0; VMOVDQA CC0, CC1; VMOVDQA CC0, CC2; VMOVDQA CC0, CC3 + VMOVDQA ctr3StoreAVX2, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD0; VPADDD ·avx2IncMask<>(SB), DD0, DD1; VPADDD ·avx2IncMask<>(SB), DD1, DD2; VPADDD ·avx2IncMask<>(SB), DD2, DD3 + VMOVDQA DD0, ctr0StoreAVX2; VMOVDQA DD1, ctr1StoreAVX2; VMOVDQA DD2, ctr2StoreAVX2; VMOVDQA DD3, ctr3StoreAVX2 + + VMOVDQA CC3, tmpStoreAVX2 + chachaQR_AVX2(AA0, BB0, CC0, DD0, CC3); chachaQR_AVX2(AA1, BB1, CC1, DD1, CC3); chachaQR_AVX2(AA2, BB2, CC2, DD2, CC3) + VMOVDQA tmpStoreAVX2, CC3 + VMOVDQA CC1, tmpStoreAVX2 + chachaQR_AVX2(AA3, BB3, CC3, DD3, CC1) + VMOVDQA tmpStoreAVX2, CC1 + + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $12, DD0, DD0, DD0 + VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $12, DD1, DD1, DD1 + VPALIGNR $4, BB2, BB2, BB2; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $12, DD2, DD2, DD2 + VPALIGNR $4, BB3, BB3, BB3; VPALIGNR $8, CC3, CC3, CC3; VPALIGNR $12, DD3, DD3, DD3 + + VMOVDQA CC3, tmpStoreAVX2 + chachaQR_AVX2(AA0, BB0, CC0, DD0, CC3); chachaQR_AVX2(AA1, BB1, CC1, DD1, CC3); chachaQR_AVX2(AA2, BB2, CC2, DD2, CC3) + VMOVDQA tmpStoreAVX2, CC3 + VMOVDQA CC1, tmpStoreAVX2 + chachaQR_AVX2(AA3, BB3, CC3, DD3, CC1) + VMOVDQA tmpStoreAVX2, CC1 + + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $4, DD0, DD0, DD0 + VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $4, DD1, DD1, DD1 + VPALIGNR $12, BB2, BB2, BB2; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $4, DD2, DD2, DD2 + VPALIGNR $12, BB3, BB3, BB3; VPALIGNR $8, CC3, CC3, CC3; VPALIGNR $4, DD3, DD3, DD3 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol16<>(SB), DD0, DD0; VPSHUFB ·rol16<>(SB), DD1, DD1; VPSHUFB ·rol16<>(SB), DD2, DD2; VPSHUFB ·rol16<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $12, BB0, CC3; VPSRLD $20, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $12, BB1, CC3; VPSRLD $20, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $12, BB2, CC3; VPSRLD $20, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $12, BB3, CC3; VPSRLD $20, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + + SUBQ $16, oup // Adjust the pointer + MOVQ $9, itr1 + JMP sealAVX2InternalLoopStart + +sealAVX2MainLoop: + // Load state, increment counter blocks, store the incremented counters + VMOVDQU ·chacha20Constants<>(SB), AA0; VMOVDQA AA0, AA1; VMOVDQA AA0, AA2; VMOVDQA AA0, AA3 + VMOVDQA state1StoreAVX2, BB0; VMOVDQA BB0, BB1; VMOVDQA BB0, BB2; VMOVDQA BB0, BB3 + VMOVDQA state2StoreAVX2, CC0; VMOVDQA CC0, CC1; VMOVDQA CC0, CC2; VMOVDQA CC0, CC3 + VMOVDQA ctr3StoreAVX2, DD0; VPADDD ·avx2IncMask<>(SB), DD0, DD0; VPADDD ·avx2IncMask<>(SB), DD0, DD1; VPADDD ·avx2IncMask<>(SB), DD1, DD2; VPADDD ·avx2IncMask<>(SB), DD2, DD3 + VMOVDQA DD0, ctr0StoreAVX2; VMOVDQA DD1, ctr1StoreAVX2; VMOVDQA DD2, ctr2StoreAVX2; VMOVDQA DD3, ctr3StoreAVX2 + MOVQ $10, itr1 + +sealAVX2InternalLoop: + polyAdd(0*8(oup)) + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + polyMulStage1_AVX2 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol16<>(SB), DD0, DD0; VPSHUFB ·rol16<>(SB), DD1, DD1; VPSHUFB ·rol16<>(SB), DD2, DD2; VPSHUFB ·rol16<>(SB), DD3, DD3 + polyMulStage2_AVX2 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + polyMulStage3_AVX2 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $12, BB0, CC3; VPSRLD $20, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $12, BB1, CC3; VPSRLD $20, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $12, BB2, CC3; VPSRLD $20, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $12, BB3, CC3; VPSRLD $20, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyMulReduceStage + +sealAVX2InternalLoopStart: + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol8<>(SB), DD0, DD0; VPSHUFB ·rol8<>(SB), DD1, DD1; VPSHUFB ·rol8<>(SB), DD2, DD2; VPSHUFB ·rol8<>(SB), DD3, DD3 + polyAdd(2*8(oup)) + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + polyMulStage1_AVX2 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $7, BB0, CC3; VPSRLD $25, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $7, BB1, CC3; VPSRLD $25, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $7, BB2, CC3; VPSRLD $25, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $7, BB3, CC3; VPSRLD $25, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyMulStage2_AVX2 + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $4, BB2, BB2, BB2; VPALIGNR $4, BB3, BB3, BB3 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $8, CC3, CC3, CC3 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1; VPALIGNR $12, DD2, DD2, DD2; VPALIGNR $12, DD3, DD3, DD3 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + polyMulStage3_AVX2 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol16<>(SB), DD0, DD0; VPSHUFB ·rol16<>(SB), DD1, DD1; VPSHUFB ·rol16<>(SB), DD2, DD2; VPSHUFB ·rol16<>(SB), DD3, DD3 + polyMulReduceStage + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + polyAdd(4*8(oup)) + LEAQ (6*8)(oup), oup + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $12, BB0, CC3; VPSRLD $20, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $12, BB1, CC3; VPSRLD $20, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $12, BB2, CC3; VPSRLD $20, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $12, BB3, CC3; VPSRLD $20, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyMulStage1_AVX2 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + polyMulStage2_AVX2 + VPSHUFB ·rol8<>(SB), DD0, DD0; VPSHUFB ·rol8<>(SB), DD1, DD1; VPSHUFB ·rol8<>(SB), DD2, DD2; VPSHUFB ·rol8<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + polyMulStage3_AVX2 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $7, BB0, CC3; VPSRLD $25, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $7, BB1, CC3; VPSRLD $25, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $7, BB2, CC3; VPSRLD $25, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $7, BB3, CC3; VPSRLD $25, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyMulReduceStage + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $12, BB2, BB2, BB2; VPALIGNR $12, BB3, BB3, BB3 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $8, CC3, CC3, CC3 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1; VPALIGNR $4, DD2, DD2, DD2; VPALIGNR $4, DD3, DD3, DD3 + DECQ itr1 + JNE sealAVX2InternalLoop + + VPADDD ·chacha20Constants<>(SB), AA0, AA0; VPADDD ·chacha20Constants<>(SB), AA1, AA1; VPADDD ·chacha20Constants<>(SB), AA2, AA2; VPADDD ·chacha20Constants<>(SB), AA3, AA3 + VPADDD state1StoreAVX2, BB0, BB0; VPADDD state1StoreAVX2, BB1, BB1; VPADDD state1StoreAVX2, BB2, BB2; VPADDD state1StoreAVX2, BB3, BB3 + VPADDD state2StoreAVX2, CC0, CC0; VPADDD state2StoreAVX2, CC1, CC1; VPADDD state2StoreAVX2, CC2, CC2; VPADDD state2StoreAVX2, CC3, CC3 + VPADDD ctr0StoreAVX2, DD0, DD0; VPADDD ctr1StoreAVX2, DD1, DD1; VPADDD ctr2StoreAVX2, DD2, DD2; VPADDD ctr3StoreAVX2, DD3, DD3 + VMOVDQA CC3, tmpStoreAVX2 + + // We only hashed 480 of the 512 bytes available - hash the remaining 32 here + polyAdd(0*8(oup)) + polyMulAVX2 + LEAQ (4*8)(oup), oup + VPERM2I128 $0x02, AA0, BB0, CC3; VPERM2I128 $0x13, AA0, BB0, BB0; VPERM2I128 $0x02, CC0, DD0, AA0; VPERM2I128 $0x13, CC0, DD0, CC0 + VPXOR (0*32)(inp), CC3, CC3; VPXOR (1*32)(inp), AA0, AA0; VPXOR (2*32)(inp), BB0, BB0; VPXOR (3*32)(inp), CC0, CC0 + VMOVDQU CC3, (0*32)(oup); VMOVDQU AA0, (1*32)(oup); VMOVDQU BB0, (2*32)(oup); VMOVDQU CC0, (3*32)(oup) + VPERM2I128 $0x02, AA1, BB1, AA0; VPERM2I128 $0x02, CC1, DD1, BB0; VPERM2I128 $0x13, AA1, BB1, CC0; VPERM2I128 $0x13, CC1, DD1, DD0 + VPXOR (4*32)(inp), AA0, AA0; VPXOR (5*32)(inp), BB0, BB0; VPXOR (6*32)(inp), CC0, CC0; VPXOR (7*32)(inp), DD0, DD0 + VMOVDQU AA0, (4*32)(oup); VMOVDQU BB0, (5*32)(oup); VMOVDQU CC0, (6*32)(oup); VMOVDQU DD0, (7*32)(oup) + + // and here + polyAdd(-2*8(oup)) + polyMulAVX2 + VPERM2I128 $0x02, AA2, BB2, AA0; VPERM2I128 $0x02, CC2, DD2, BB0; VPERM2I128 $0x13, AA2, BB2, CC0; VPERM2I128 $0x13, CC2, DD2, DD0 + VPXOR (8*32)(inp), AA0, AA0; VPXOR (9*32)(inp), BB0, BB0; VPXOR (10*32)(inp), CC0, CC0; VPXOR (11*32)(inp), DD0, DD0 + VMOVDQU AA0, (8*32)(oup); VMOVDQU BB0, (9*32)(oup); VMOVDQU CC0, (10*32)(oup); VMOVDQU DD0, (11*32)(oup) + VPERM2I128 $0x02, AA3, BB3, AA0; VPERM2I128 $0x02, tmpStoreAVX2, DD3, BB0; VPERM2I128 $0x13, AA3, BB3, CC0; VPERM2I128 $0x13, tmpStoreAVX2, DD3, DD0 + VPXOR (12*32)(inp), AA0, AA0; VPXOR (13*32)(inp), BB0, BB0; VPXOR (14*32)(inp), CC0, CC0; VPXOR (15*32)(inp), DD0, DD0 + VMOVDQU AA0, (12*32)(oup); VMOVDQU BB0, (13*32)(oup); VMOVDQU CC0, (14*32)(oup); VMOVDQU DD0, (15*32)(oup) + LEAQ (32*16)(inp), inp + SUBQ $(32*16), inl + CMPQ inl, $512 + JG sealAVX2MainLoop + + // Tail can only hash 480 bytes + polyAdd(0*8(oup)) + polyMulAVX2 + polyAdd(2*8(oup)) + polyMulAVX2 + LEAQ 32(oup), oup + + MOVQ $10, itr1 + MOVQ $0, itr2 + CMPQ inl, $128 + JBE sealAVX2Tail128 + CMPQ inl, $256 + JBE sealAVX2Tail256 + CMPQ inl, $384 + JBE sealAVX2Tail384 + JMP sealAVX2Tail512 + +// ---------------------------------------------------------------------------- +// Special optimization for buffers smaller than 193 bytes +seal192AVX2: + // For up to 192 bytes of ciphertext and 64 bytes for the poly key, we process four blocks + VMOVDQA AA0, AA1 + VMOVDQA BB0, BB1 + VMOVDQA CC0, CC1 + VPADDD ·avx2IncMask<>(SB), DD0, DD1 + VMOVDQA AA0, AA2 + VMOVDQA BB0, BB2 + VMOVDQA CC0, CC2 + VMOVDQA DD0, DD2 + VMOVDQA DD1, TT3 + MOVQ $10, itr2 + +sealAVX2192InnerCipherLoop: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1 + DECQ itr2 + JNE sealAVX2192InnerCipherLoop + VPADDD AA2, AA0, AA0; VPADDD AA2, AA1, AA1 + VPADDD BB2, BB0, BB0; VPADDD BB2, BB1, BB1 + VPADDD CC2, CC0, CC0; VPADDD CC2, CC1, CC1 + VPADDD DD2, DD0, DD0; VPADDD TT3, DD1, DD1 + VPERM2I128 $0x02, AA0, BB0, TT0 + + // Clamp and store poly key + VPAND ·polyClampMask<>(SB), TT0, TT0 + VMOVDQA TT0, rsStoreAVX2 + + // Stream for up to 192 bytes + VPERM2I128 $0x13, AA0, BB0, AA0 + VPERM2I128 $0x13, CC0, DD0, BB0 + VPERM2I128 $0x02, AA1, BB1, CC0 + VPERM2I128 $0x02, CC1, DD1, DD0 + VPERM2I128 $0x13, AA1, BB1, AA1 + VPERM2I128 $0x13, CC1, DD1, BB1 + +sealAVX2ShortSeal: + // Hash aad + MOVQ ad_len+80(FP), itr2 + CALL polyHashADInternal<>(SB) + XORQ itr1, itr1 + +sealAVX2SealHash: + // itr1 holds the number of bytes encrypted but not yet hashed + CMPQ itr1, $16 + JB sealAVX2ShortSealLoop + polyAdd(0(oup)) + polyMul + SUBQ $16, itr1 + ADDQ $16, oup + JMP sealAVX2SealHash + +sealAVX2ShortSealLoop: + CMPQ inl, $32 + JB sealAVX2ShortTail32 + SUBQ $32, inl + + // Load for encryption + VPXOR (inp), AA0, AA0 + VMOVDQU AA0, (oup) + LEAQ (1*32)(inp), inp + + // Now can hash + polyAdd(0*8(oup)) + polyMulAVX2 + polyAdd(2*8(oup)) + polyMulAVX2 + LEAQ (1*32)(oup), oup + + // Shift stream left + VMOVDQA BB0, AA0 + VMOVDQA CC0, BB0 + VMOVDQA DD0, CC0 + VMOVDQA AA1, DD0 + VMOVDQA BB1, AA1 + VMOVDQA CC1, BB1 + VMOVDQA DD1, CC1 + VMOVDQA AA2, DD1 + VMOVDQA BB2, AA2 + JMP sealAVX2ShortSealLoop + +sealAVX2ShortTail32: + CMPQ inl, $16 + VMOVDQA A0, A1 + JB sealAVX2ShortDone + + SUBQ $16, inl + + // Load for encryption + VPXOR (inp), A0, T0 + VMOVDQU T0, (oup) + LEAQ (1*16)(inp), inp + + // Hash + polyAdd(0*8(oup)) + polyMulAVX2 + LEAQ (1*16)(oup), oup + VPERM2I128 $0x11, AA0, AA0, AA0 + VMOVDQA A0, A1 + +sealAVX2ShortDone: + VZEROUPPER + JMP sealSSETail + +// ---------------------------------------------------------------------------- +// Special optimization for buffers smaller than 321 bytes +seal320AVX2: + // For up to 320 bytes of ciphertext and 64 bytes for the poly key, we process six blocks + VMOVDQA AA0, AA1; VMOVDQA BB0, BB1; VMOVDQA CC0, CC1; VPADDD ·avx2IncMask<>(SB), DD0, DD1 + VMOVDQA AA0, AA2; VMOVDQA BB0, BB2; VMOVDQA CC0, CC2; VPADDD ·avx2IncMask<>(SB), DD1, DD2 + VMOVDQA BB0, TT1; VMOVDQA CC0, TT2; VMOVDQA DD0, TT3 + MOVQ $10, itr2 + +sealAVX2320InnerCipherLoop: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0); chachaQR_AVX2(AA2, BB2, CC2, DD2, TT0) + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $4, BB2, BB2, BB2 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1; VPALIGNR $12, DD2, DD2, DD2 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0); chachaQR_AVX2(AA2, BB2, CC2, DD2, TT0) + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $12, BB2, BB2, BB2 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1; VPALIGNR $4, DD2, DD2, DD2 + DECQ itr2 + JNE sealAVX2320InnerCipherLoop + + VMOVDQA ·chacha20Constants<>(SB), TT0 + VPADDD TT0, AA0, AA0; VPADDD TT0, AA1, AA1; VPADDD TT0, AA2, AA2 + VPADDD TT1, BB0, BB0; VPADDD TT1, BB1, BB1; VPADDD TT1, BB2, BB2 + VPADDD TT2, CC0, CC0; VPADDD TT2, CC1, CC1; VPADDD TT2, CC2, CC2 + VMOVDQA ·avx2IncMask<>(SB), TT0 + VPADDD TT3, DD0, DD0; VPADDD TT0, TT3, TT3 + VPADDD TT3, DD1, DD1; VPADDD TT0, TT3, TT3 + VPADDD TT3, DD2, DD2 + + // Clamp and store poly key + VPERM2I128 $0x02, AA0, BB0, TT0 + VPAND ·polyClampMask<>(SB), TT0, TT0 + VMOVDQA TT0, rsStoreAVX2 + + // Stream for up to 320 bytes + VPERM2I128 $0x13, AA0, BB0, AA0 + VPERM2I128 $0x13, CC0, DD0, BB0 + VPERM2I128 $0x02, AA1, BB1, CC0 + VPERM2I128 $0x02, CC1, DD1, DD0 + VPERM2I128 $0x13, AA1, BB1, AA1 + VPERM2I128 $0x13, CC1, DD1, BB1 + VPERM2I128 $0x02, AA2, BB2, CC1 + VPERM2I128 $0x02, CC2, DD2, DD1 + VPERM2I128 $0x13, AA2, BB2, AA2 + VPERM2I128 $0x13, CC2, DD2, BB2 + JMP sealAVX2ShortSeal + +// ---------------------------------------------------------------------------- +// Special optimization for the last 128 bytes of ciphertext +sealAVX2Tail128: + // Need to decrypt up to 128 bytes - prepare two blocks + // If we got here after the main loop - there are 512 encrypted bytes waiting to be hashed + // If we got here before the main loop - there are 448 encrpyred bytes waiting to be hashed + VMOVDQA ·chacha20Constants<>(SB), AA0 + VMOVDQA state1StoreAVX2, BB0 + VMOVDQA state2StoreAVX2, CC0 + VMOVDQA ctr3StoreAVX2, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD0 + VMOVDQA DD0, DD1 + +sealAVX2Tail128LoopA: + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + +sealAVX2Tail128LoopB: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0) + polyAdd(0(oup)) + polyMul + VPALIGNR $4, BB0, BB0, BB0 + VPALIGNR $8, CC0, CC0, CC0 + VPALIGNR $12, DD0, DD0, DD0 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0) + polyAdd(16(oup)) + polyMul + LEAQ 32(oup), oup + VPALIGNR $12, BB0, BB0, BB0 + VPALIGNR $8, CC0, CC0, CC0 + VPALIGNR $4, DD0, DD0, DD0 + DECQ itr1 + JG sealAVX2Tail128LoopA + DECQ itr2 + JGE sealAVX2Tail128LoopB + + VPADDD ·chacha20Constants<>(SB), AA0, AA1 + VPADDD state1StoreAVX2, BB0, BB1 + VPADDD state2StoreAVX2, CC0, CC1 + VPADDD DD1, DD0, DD1 + + VPERM2I128 $0x02, AA1, BB1, AA0 + VPERM2I128 $0x02, CC1, DD1, BB0 + VPERM2I128 $0x13, AA1, BB1, CC0 + VPERM2I128 $0x13, CC1, DD1, DD0 + JMP sealAVX2ShortSealLoop + +// ---------------------------------------------------------------------------- +// Special optimization for the last 256 bytes of ciphertext +sealAVX2Tail256: + // Need to decrypt up to 256 bytes - prepare two blocks + // If we got here after the main loop - there are 512 encrypted bytes waiting to be hashed + // If we got here before the main loop - there are 448 encrpyred bytes waiting to be hashed + VMOVDQA ·chacha20Constants<>(SB), AA0; VMOVDQA ·chacha20Constants<>(SB), AA1 + VMOVDQA state1StoreAVX2, BB0; VMOVDQA state1StoreAVX2, BB1 + VMOVDQA state2StoreAVX2, CC0; VMOVDQA state2StoreAVX2, CC1 + VMOVDQA ctr3StoreAVX2, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD1 + VMOVDQA DD0, TT1 + VMOVDQA DD1, TT2 + +sealAVX2Tail256LoopA: + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + +sealAVX2Tail256LoopB: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + polyAdd(0(oup)) + polyMul + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0) + polyAdd(16(oup)) + polyMul + LEAQ 32(oup), oup + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1 + DECQ itr1 + JG sealAVX2Tail256LoopA + DECQ itr2 + JGE sealAVX2Tail256LoopB + + VPADDD ·chacha20Constants<>(SB), AA0, AA0; VPADDD ·chacha20Constants<>(SB), AA1, AA1 + VPADDD state1StoreAVX2, BB0, BB0; VPADDD state1StoreAVX2, BB1, BB1 + VPADDD state2StoreAVX2, CC0, CC0; VPADDD state2StoreAVX2, CC1, CC1 + VPADDD TT1, DD0, DD0; VPADDD TT2, DD1, DD1 + VPERM2I128 $0x02, AA0, BB0, TT0 + VPERM2I128 $0x02, CC0, DD0, TT1 + VPERM2I128 $0x13, AA0, BB0, TT2 + VPERM2I128 $0x13, CC0, DD0, TT3 + VPXOR (0*32)(inp), TT0, TT0; VPXOR (1*32)(inp), TT1, TT1; VPXOR (2*32)(inp), TT2, TT2; VPXOR (3*32)(inp), TT3, TT3 + VMOVDQU TT0, (0*32)(oup); VMOVDQU TT1, (1*32)(oup); VMOVDQU TT2, (2*32)(oup); VMOVDQU TT3, (3*32)(oup) + MOVQ $128, itr1 + LEAQ 128(inp), inp + SUBQ $128, inl + VPERM2I128 $0x02, AA1, BB1, AA0 + VPERM2I128 $0x02, CC1, DD1, BB0 + VPERM2I128 $0x13, AA1, BB1, CC0 + VPERM2I128 $0x13, CC1, DD1, DD0 + + JMP sealAVX2SealHash + +// ---------------------------------------------------------------------------- +// Special optimization for the last 384 bytes of ciphertext +sealAVX2Tail384: + // Need to decrypt up to 384 bytes - prepare two blocks + // If we got here after the main loop - there are 512 encrypted bytes waiting to be hashed + // If we got here before the main loop - there are 448 encrpyred bytes waiting to be hashed + VMOVDQA ·chacha20Constants<>(SB), AA0; VMOVDQA AA0, AA1; VMOVDQA AA0, AA2 + VMOVDQA state1StoreAVX2, BB0; VMOVDQA BB0, BB1; VMOVDQA BB0, BB2 + VMOVDQA state2StoreAVX2, CC0; VMOVDQA CC0, CC1; VMOVDQA CC0, CC2 + VMOVDQA ctr3StoreAVX2, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD0; VPADDD ·avx2IncMask<>(SB), DD0, DD1; VPADDD ·avx2IncMask<>(SB), DD1, DD2 + VMOVDQA DD0, TT1; VMOVDQA DD1, TT2; VMOVDQA DD2, TT3 + +sealAVX2Tail384LoopA: + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + +sealAVX2Tail384LoopB: + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0); chachaQR_AVX2(AA2, BB2, CC2, DD2, TT0) + polyAdd(0(oup)) + polyMul + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $4, BB2, BB2, BB2 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1; VPALIGNR $12, DD2, DD2, DD2 + chachaQR_AVX2(AA0, BB0, CC0, DD0, TT0); chachaQR_AVX2(AA1, BB1, CC1, DD1, TT0); chachaQR_AVX2(AA2, BB2, CC2, DD2, TT0) + polyAdd(16(oup)) + polyMul + LEAQ 32(oup), oup + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $12, BB2, BB2, BB2 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1; VPALIGNR $4, DD2, DD2, DD2 + DECQ itr1 + JG sealAVX2Tail384LoopA + DECQ itr2 + JGE sealAVX2Tail384LoopB + + VPADDD ·chacha20Constants<>(SB), AA0, AA0; VPADDD ·chacha20Constants<>(SB), AA1, AA1; VPADDD ·chacha20Constants<>(SB), AA2, AA2 + VPADDD state1StoreAVX2, BB0, BB0; VPADDD state1StoreAVX2, BB1, BB1; VPADDD state1StoreAVX2, BB2, BB2 + VPADDD state2StoreAVX2, CC0, CC0; VPADDD state2StoreAVX2, CC1, CC1; VPADDD state2StoreAVX2, CC2, CC2 + VPADDD TT1, DD0, DD0; VPADDD TT2, DD1, DD1; VPADDD TT3, DD2, DD2 + VPERM2I128 $0x02, AA0, BB0, TT0 + VPERM2I128 $0x02, CC0, DD0, TT1 + VPERM2I128 $0x13, AA0, BB0, TT2 + VPERM2I128 $0x13, CC0, DD0, TT3 + VPXOR (0*32)(inp), TT0, TT0; VPXOR (1*32)(inp), TT1, TT1; VPXOR (2*32)(inp), TT2, TT2; VPXOR (3*32)(inp), TT3, TT3 + VMOVDQU TT0, (0*32)(oup); VMOVDQU TT1, (1*32)(oup); VMOVDQU TT2, (2*32)(oup); VMOVDQU TT3, (3*32)(oup) + VPERM2I128 $0x02, AA1, BB1, TT0 + VPERM2I128 $0x02, CC1, DD1, TT1 + VPERM2I128 $0x13, AA1, BB1, TT2 + VPERM2I128 $0x13, CC1, DD1, TT3 + VPXOR (4*32)(inp), TT0, TT0; VPXOR (5*32)(inp), TT1, TT1; VPXOR (6*32)(inp), TT2, TT2; VPXOR (7*32)(inp), TT3, TT3 + VMOVDQU TT0, (4*32)(oup); VMOVDQU TT1, (5*32)(oup); VMOVDQU TT2, (6*32)(oup); VMOVDQU TT3, (7*32)(oup) + MOVQ $256, itr1 + LEAQ 256(inp), inp + SUBQ $256, inl + VPERM2I128 $0x02, AA2, BB2, AA0 + VPERM2I128 $0x02, CC2, DD2, BB0 + VPERM2I128 $0x13, AA2, BB2, CC0 + VPERM2I128 $0x13, CC2, DD2, DD0 + + JMP sealAVX2SealHash + +// ---------------------------------------------------------------------------- +// Special optimization for the last 512 bytes of ciphertext +sealAVX2Tail512: + // Need to decrypt up to 512 bytes - prepare two blocks + // If we got here after the main loop - there are 512 encrypted bytes waiting to be hashed + // If we got here before the main loop - there are 448 encrpyred bytes waiting to be hashed + VMOVDQA ·chacha20Constants<>(SB), AA0; VMOVDQA AA0, AA1; VMOVDQA AA0, AA2; VMOVDQA AA0, AA3 + VMOVDQA state1StoreAVX2, BB0; VMOVDQA BB0, BB1; VMOVDQA BB0, BB2; VMOVDQA BB0, BB3 + VMOVDQA state2StoreAVX2, CC0; VMOVDQA CC0, CC1; VMOVDQA CC0, CC2; VMOVDQA CC0, CC3 + VMOVDQA ctr3StoreAVX2, DD0 + VPADDD ·avx2IncMask<>(SB), DD0, DD0; VPADDD ·avx2IncMask<>(SB), DD0, DD1; VPADDD ·avx2IncMask<>(SB), DD1, DD2; VPADDD ·avx2IncMask<>(SB), DD2, DD3 + VMOVDQA DD0, ctr0StoreAVX2; VMOVDQA DD1, ctr1StoreAVX2; VMOVDQA DD2, ctr2StoreAVX2; VMOVDQA DD3, ctr3StoreAVX2 + +sealAVX2Tail512LoopA: + polyAdd(0(oup)) + polyMul + LEAQ 16(oup), oup + +sealAVX2Tail512LoopB: + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol16<>(SB), DD0, DD0; VPSHUFB ·rol16<>(SB), DD1, DD1; VPSHUFB ·rol16<>(SB), DD2, DD2; VPSHUFB ·rol16<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $12, BB0, CC3; VPSRLD $20, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $12, BB1, CC3; VPSRLD $20, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $12, BB2, CC3; VPSRLD $20, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $12, BB3, CC3; VPSRLD $20, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + polyAdd(0*8(oup)) + polyMulAVX2 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol8<>(SB), DD0, DD0; VPSHUFB ·rol8<>(SB), DD1, DD1; VPSHUFB ·rol8<>(SB), DD2, DD2; VPSHUFB ·rol8<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $7, BB0, CC3; VPSRLD $25, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $7, BB1, CC3; VPSRLD $25, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $7, BB2, CC3; VPSRLD $25, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $7, BB3, CC3; VPSRLD $25, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + VPALIGNR $4, BB0, BB0, BB0; VPALIGNR $4, BB1, BB1, BB1; VPALIGNR $4, BB2, BB2, BB2; VPALIGNR $4, BB3, BB3, BB3 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $8, CC3, CC3, CC3 + VPALIGNR $12, DD0, DD0, DD0; VPALIGNR $12, DD1, DD1, DD1; VPALIGNR $12, DD2, DD2, DD2; VPALIGNR $12, DD3, DD3, DD3 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol16<>(SB), DD0, DD0; VPSHUFB ·rol16<>(SB), DD1, DD1; VPSHUFB ·rol16<>(SB), DD2, DD2; VPSHUFB ·rol16<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + polyAdd(2*8(oup)) + polyMulAVX2 + LEAQ (4*8)(oup), oup + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $12, BB0, CC3; VPSRLD $20, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $12, BB1, CC3; VPSRLD $20, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $12, BB2, CC3; VPSRLD $20, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $12, BB3, CC3; VPSRLD $20, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + VPADDD BB0, AA0, AA0; VPADDD BB1, AA1, AA1; VPADDD BB2, AA2, AA2; VPADDD BB3, AA3, AA3 + VPXOR AA0, DD0, DD0; VPXOR AA1, DD1, DD1; VPXOR AA2, DD2, DD2; VPXOR AA3, DD3, DD3 + VPSHUFB ·rol8<>(SB), DD0, DD0; VPSHUFB ·rol8<>(SB), DD1, DD1; VPSHUFB ·rol8<>(SB), DD2, DD2; VPSHUFB ·rol8<>(SB), DD3, DD3 + VPADDD DD0, CC0, CC0; VPADDD DD1, CC1, CC1; VPADDD DD2, CC2, CC2; VPADDD DD3, CC3, CC3 + VPXOR CC0, BB0, BB0; VPXOR CC1, BB1, BB1; VPXOR CC2, BB2, BB2; VPXOR CC3, BB3, BB3 + VMOVDQA CC3, tmpStoreAVX2 + VPSLLD $7, BB0, CC3; VPSRLD $25, BB0, BB0; VPXOR CC3, BB0, BB0 + VPSLLD $7, BB1, CC3; VPSRLD $25, BB1, BB1; VPXOR CC3, BB1, BB1 + VPSLLD $7, BB2, CC3; VPSRLD $25, BB2, BB2; VPXOR CC3, BB2, BB2 + VPSLLD $7, BB3, CC3; VPSRLD $25, BB3, BB3; VPXOR CC3, BB3, BB3 + VMOVDQA tmpStoreAVX2, CC3 + VPALIGNR $12, BB0, BB0, BB0; VPALIGNR $12, BB1, BB1, BB1; VPALIGNR $12, BB2, BB2, BB2; VPALIGNR $12, BB3, BB3, BB3 + VPALIGNR $8, CC0, CC0, CC0; VPALIGNR $8, CC1, CC1, CC1; VPALIGNR $8, CC2, CC2, CC2; VPALIGNR $8, CC3, CC3, CC3 + VPALIGNR $4, DD0, DD0, DD0; VPALIGNR $4, DD1, DD1, DD1; VPALIGNR $4, DD2, DD2, DD2; VPALIGNR $4, DD3, DD3, DD3 + + DECQ itr1 + JG sealAVX2Tail512LoopA + DECQ itr2 + JGE sealAVX2Tail512LoopB + + VPADDD ·chacha20Constants<>(SB), AA0, AA0; VPADDD ·chacha20Constants<>(SB), AA1, AA1; VPADDD ·chacha20Constants<>(SB), AA2, AA2; VPADDD ·chacha20Constants<>(SB), AA3, AA3 + VPADDD state1StoreAVX2, BB0, BB0; VPADDD state1StoreAVX2, BB1, BB1; VPADDD state1StoreAVX2, BB2, BB2; VPADDD state1StoreAVX2, BB3, BB3 + VPADDD state2StoreAVX2, CC0, CC0; VPADDD state2StoreAVX2, CC1, CC1; VPADDD state2StoreAVX2, CC2, CC2; VPADDD state2StoreAVX2, CC3, CC3 + VPADDD ctr0StoreAVX2, DD0, DD0; VPADDD ctr1StoreAVX2, DD1, DD1; VPADDD ctr2StoreAVX2, DD2, DD2; VPADDD ctr3StoreAVX2, DD3, DD3 + VMOVDQA CC3, tmpStoreAVX2 + VPERM2I128 $0x02, AA0, BB0, CC3 + VPXOR (0*32)(inp), CC3, CC3 + VMOVDQU CC3, (0*32)(oup) + VPERM2I128 $0x02, CC0, DD0, CC3 + VPXOR (1*32)(inp), CC3, CC3 + VMOVDQU CC3, (1*32)(oup) + VPERM2I128 $0x13, AA0, BB0, CC3 + VPXOR (2*32)(inp), CC3, CC3 + VMOVDQU CC3, (2*32)(oup) + VPERM2I128 $0x13, CC0, DD0, CC3 + VPXOR (3*32)(inp), CC3, CC3 + VMOVDQU CC3, (3*32)(oup) + + VPERM2I128 $0x02, AA1, BB1, AA0 + VPERM2I128 $0x02, CC1, DD1, BB0 + VPERM2I128 $0x13, AA1, BB1, CC0 + VPERM2I128 $0x13, CC1, DD1, DD0 + VPXOR (4*32)(inp), AA0, AA0; VPXOR (5*32)(inp), BB0, BB0; VPXOR (6*32)(inp), CC0, CC0; VPXOR (7*32)(inp), DD0, DD0 + VMOVDQU AA0, (4*32)(oup); VMOVDQU BB0, (5*32)(oup); VMOVDQU CC0, (6*32)(oup); VMOVDQU DD0, (7*32)(oup) + + VPERM2I128 $0x02, AA2, BB2, AA0 + VPERM2I128 $0x02, CC2, DD2, BB0 + VPERM2I128 $0x13, AA2, BB2, CC0 + VPERM2I128 $0x13, CC2, DD2, DD0 + VPXOR (8*32)(inp), AA0, AA0; VPXOR (9*32)(inp), BB0, BB0; VPXOR (10*32)(inp), CC0, CC0; VPXOR (11*32)(inp), DD0, DD0 + VMOVDQU AA0, (8*32)(oup); VMOVDQU BB0, (9*32)(oup); VMOVDQU CC0, (10*32)(oup); VMOVDQU DD0, (11*32)(oup) + + MOVQ $384, itr1 + LEAQ 384(inp), inp + SUBQ $384, inl + VPERM2I128 $0x02, AA3, BB3, AA0 + VPERM2I128 $0x02, tmpStoreAVX2, DD3, BB0 + VPERM2I128 $0x13, AA3, BB3, CC0 + VPERM2I128 $0x13, tmpStoreAVX2, DD3, DD0 + + JMP sealAVX2SealHash diff --git a/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_generic.go b/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_generic.go new file mode 100644 index 000000000..c27971216 --- /dev/null +++ b/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_generic.go @@ -0,0 +1,81 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package chacha20poly1305 + +import ( + "encoding/binary" + + "golang.org/x/crypto/internal/chacha20" + "golang.org/x/crypto/internal/subtle" + "golang.org/x/crypto/poly1305" +) + +func roundTo16(n int) int { + return 16 * ((n + 15) / 16) +} + +func (c *chacha20poly1305) sealGeneric(dst, nonce, plaintext, additionalData []byte) []byte { + ret, out := sliceForAppend(dst, len(plaintext)+poly1305.TagSize) + if subtle.InexactOverlap(out, plaintext) { + panic("chacha20poly1305: invalid buffer overlap") + } + + var polyKey [32]byte + s := chacha20.New(c.key, [3]uint32{ + binary.LittleEndian.Uint32(nonce[0:4]), + binary.LittleEndian.Uint32(nonce[4:8]), + binary.LittleEndian.Uint32(nonce[8:12]), + }) + s.XORKeyStream(polyKey[:], polyKey[:]) + s.Advance() // skip the next 32 bytes + s.XORKeyStream(out, plaintext) + + polyInput := make([]byte, roundTo16(len(additionalData))+roundTo16(len(plaintext))+8+8) + copy(polyInput, additionalData) + copy(polyInput[roundTo16(len(additionalData)):], out[:len(plaintext)]) + binary.LittleEndian.PutUint64(polyInput[len(polyInput)-16:], uint64(len(additionalData))) + binary.LittleEndian.PutUint64(polyInput[len(polyInput)-8:], uint64(len(plaintext))) + + var tag [poly1305.TagSize]byte + poly1305.Sum(&tag, polyInput, &polyKey) + copy(out[len(plaintext):], tag[:]) + + return ret +} + +func (c *chacha20poly1305) openGeneric(dst, nonce, ciphertext, additionalData []byte) ([]byte, error) { + var tag [poly1305.TagSize]byte + copy(tag[:], ciphertext[len(ciphertext)-16:]) + ciphertext = ciphertext[:len(ciphertext)-16] + + var polyKey [32]byte + s := chacha20.New(c.key, [3]uint32{ + binary.LittleEndian.Uint32(nonce[0:4]), + binary.LittleEndian.Uint32(nonce[4:8]), + binary.LittleEndian.Uint32(nonce[8:12]), + }) + s.XORKeyStream(polyKey[:], polyKey[:]) + s.Advance() // skip the next 32 bytes + + polyInput := make([]byte, roundTo16(len(additionalData))+roundTo16(len(ciphertext))+8+8) + copy(polyInput, additionalData) + copy(polyInput[roundTo16(len(additionalData)):], ciphertext) + binary.LittleEndian.PutUint64(polyInput[len(polyInput)-16:], uint64(len(additionalData))) + binary.LittleEndian.PutUint64(polyInput[len(polyInput)-8:], uint64(len(ciphertext))) + + ret, out := sliceForAppend(dst, len(ciphertext)) + if subtle.InexactOverlap(out, ciphertext) { + panic("chacha20poly1305: invalid buffer overlap") + } + if !poly1305.Verify(&tag, polyInput, &polyKey) { + for i := range out { + out[i] = 0 + } + return nil, errOpen + } + + s.XORKeyStream(out, ciphertext) + return ret, nil +} diff --git a/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_noasm.go b/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_noasm.go new file mode 100644 index 000000000..4c2eb703c --- /dev/null +++ b/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_noasm.go @@ -0,0 +1,15 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !amd64 !go1.7 gccgo appengine + +package chacha20poly1305 + +func (c *chacha20poly1305) seal(dst, nonce, plaintext, additionalData []byte) []byte { + return c.sealGeneric(dst, nonce, plaintext, additionalData) +} + +func (c *chacha20poly1305) open(dst, nonce, ciphertext, additionalData []byte) ([]byte, error) { + return c.openGeneric(dst, nonce, ciphertext, additionalData) +} diff --git a/vendor/golang.org/x/crypto/chacha20poly1305/xchacha20poly1305.go b/vendor/golang.org/x/crypto/chacha20poly1305/xchacha20poly1305.go new file mode 100644 index 000000000..a02fa5719 --- /dev/null +++ b/vendor/golang.org/x/crypto/chacha20poly1305/xchacha20poly1305.go @@ -0,0 +1,104 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package chacha20poly1305 + +import ( + "crypto/cipher" + "encoding/binary" + "errors" + + "golang.org/x/crypto/internal/chacha20" +) + +type xchacha20poly1305 struct { + key [8]uint32 +} + +// NewX returns a XChaCha20-Poly1305 AEAD that uses the given 256-bit key. +// +// XChaCha20-Poly1305 is a ChaCha20-Poly1305 variant that takes a longer nonce, +// suitable to be generated randomly without risk of collisions. It should be +// preferred when nonce uniqueness cannot be trivially ensured, or whenever +// nonces are randomly generated. +func NewX(key []byte) (cipher.AEAD, error) { + if len(key) != KeySize { + return nil, errors.New("chacha20poly1305: bad key length") + } + ret := new(xchacha20poly1305) + ret.key[0] = binary.LittleEndian.Uint32(key[0:4]) + ret.key[1] = binary.LittleEndian.Uint32(key[4:8]) + ret.key[2] = binary.LittleEndian.Uint32(key[8:12]) + ret.key[3] = binary.LittleEndian.Uint32(key[12:16]) + ret.key[4] = binary.LittleEndian.Uint32(key[16:20]) + ret.key[5] = binary.LittleEndian.Uint32(key[20:24]) + ret.key[6] = binary.LittleEndian.Uint32(key[24:28]) + ret.key[7] = binary.LittleEndian.Uint32(key[28:32]) + return ret, nil +} + +func (*xchacha20poly1305) NonceSize() int { + return NonceSizeX +} + +func (*xchacha20poly1305) Overhead() int { + return 16 +} + +func (x *xchacha20poly1305) Seal(dst, nonce, plaintext, additionalData []byte) []byte { + if len(nonce) != NonceSizeX { + panic("chacha20poly1305: bad nonce length passed to Seal") + } + + // XChaCha20-Poly1305 technically supports a 64-bit counter, so there is no + // size limit. However, since we reuse the ChaCha20-Poly1305 implementation, + // the second half of the counter is not available. This is unlikely to be + // an issue because the cipher.AEAD API requires the entire message to be in + // memory, and the counter overflows at 256 GB. + if uint64(len(plaintext)) > (1<<38)-64 { + panic("chacha20poly1305: plaintext too large") + } + + hNonce := [4]uint32{ + binary.LittleEndian.Uint32(nonce[0:4]), + binary.LittleEndian.Uint32(nonce[4:8]), + binary.LittleEndian.Uint32(nonce[8:12]), + binary.LittleEndian.Uint32(nonce[12:16]), + } + c := &chacha20poly1305{ + key: chacha20.HChaCha20(&x.key, &hNonce), + } + // The first 4 bytes of the final nonce are unused counter space. + cNonce := make([]byte, NonceSize) + copy(cNonce[4:12], nonce[16:24]) + + return c.seal(dst, cNonce[:], plaintext, additionalData) +} + +func (x *xchacha20poly1305) Open(dst, nonce, ciphertext, additionalData []byte) ([]byte, error) { + if len(nonce) != NonceSizeX { + panic("chacha20poly1305: bad nonce length passed to Open") + } + if len(ciphertext) < 16 { + return nil, errOpen + } + if uint64(len(ciphertext)) > (1<<38)-48 { + panic("chacha20poly1305: ciphertext too large") + } + + hNonce := [4]uint32{ + binary.LittleEndian.Uint32(nonce[0:4]), + binary.LittleEndian.Uint32(nonce[4:8]), + binary.LittleEndian.Uint32(nonce[8:12]), + binary.LittleEndian.Uint32(nonce[12:16]), + } + c := &chacha20poly1305{ + key: chacha20.HChaCha20(&x.key, &hNonce), + } + // The first 4 bytes of the final nonce are unused counter space. + cNonce := make([]byte, NonceSize) + copy(cNonce[4:12], nonce[16:24]) + + return c.open(dst, cNonce[:], ciphertext, additionalData) +} diff --git a/vendor/golang.org/x/crypto/curve25519/const_amd64.h b/vendor/golang.org/x/crypto/curve25519/const_amd64.h new file mode 100644 index 000000000..b3f74162f --- /dev/null +++ b/vendor/golang.org/x/crypto/curve25519/const_amd64.h @@ -0,0 +1,8 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// This code was translated into a form compatible with 6a from the public +// domain sources in SUPERCOP: https://bench.cr.yp.to/supercop.html + +#define REDMASK51 0x0007FFFFFFFFFFFF diff --git a/vendor/golang.org/x/crypto/curve25519/const_amd64.s b/vendor/golang.org/x/crypto/curve25519/const_amd64.s new file mode 100644 index 000000000..ee7b4bd5f --- /dev/null +++ b/vendor/golang.org/x/crypto/curve25519/const_amd64.s @@ -0,0 +1,20 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// This code was translated into a form compatible with 6a from the public +// domain sources in SUPERCOP: https://bench.cr.yp.to/supercop.html + +// +build amd64,!gccgo,!appengine + +// These constants cannot be encoded in non-MOVQ immediates. +// We access them directly from memory instead. + +DATA ·_121666_213(SB)/8, $996687872 +GLOBL ·_121666_213(SB), 8, $8 + +DATA ·_2P0(SB)/8, $0xFFFFFFFFFFFDA +GLOBL ·_2P0(SB), 8, $8 + +DATA ·_2P1234(SB)/8, $0xFFFFFFFFFFFFE +GLOBL ·_2P1234(SB), 8, $8 diff --git a/vendor/golang.org/x/crypto/curve25519/cswap_amd64.s b/vendor/golang.org/x/crypto/curve25519/cswap_amd64.s new file mode 100644 index 000000000..cd793a5b5 --- /dev/null +++ b/vendor/golang.org/x/crypto/curve25519/cswap_amd64.s @@ -0,0 +1,65 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,!gccgo,!appengine + +// func cswap(inout *[4][5]uint64, v uint64) +TEXT ·cswap(SB),7,$0 + MOVQ inout+0(FP),DI + MOVQ v+8(FP),SI + + SUBQ $1, SI + NOTQ SI + MOVQ SI, X15 + PSHUFD $0x44, X15, X15 + + MOVOU 0(DI), X0 + MOVOU 16(DI), X2 + MOVOU 32(DI), X4 + MOVOU 48(DI), X6 + MOVOU 64(DI), X8 + MOVOU 80(DI), X1 + MOVOU 96(DI), X3 + MOVOU 112(DI), X5 + MOVOU 128(DI), X7 + MOVOU 144(DI), X9 + + MOVO X1, X10 + MOVO X3, X11 + MOVO X5, X12 + MOVO X7, X13 + MOVO X9, X14 + + PXOR X0, X10 + PXOR X2, X11 + PXOR X4, X12 + PXOR X6, X13 + PXOR X8, X14 + PAND X15, X10 + PAND X15, X11 + PAND X15, X12 + PAND X15, X13 + PAND X15, X14 + PXOR X10, X0 + PXOR X10, X1 + PXOR X11, X2 + PXOR X11, X3 + PXOR X12, X4 + PXOR X12, X5 + PXOR X13, X6 + PXOR X13, X7 + PXOR X14, X8 + PXOR X14, X9 + + MOVOU X0, 0(DI) + MOVOU X2, 16(DI) + MOVOU X4, 32(DI) + MOVOU X6, 48(DI) + MOVOU X8, 64(DI) + MOVOU X1, 80(DI) + MOVOU X3, 96(DI) + MOVOU X5, 112(DI) + MOVOU X7, 128(DI) + MOVOU X9, 144(DI) + RET diff --git a/vendor/golang.org/x/crypto/curve25519/curve25519.go b/vendor/golang.org/x/crypto/curve25519/curve25519.go new file mode 100644 index 000000000..75f24babb --- /dev/null +++ b/vendor/golang.org/x/crypto/curve25519/curve25519.go @@ -0,0 +1,834 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// We have an implementation in amd64 assembly so this code is only run on +// non-amd64 platforms. The amd64 assembly does not support gccgo. +// +build !amd64 gccgo appengine + +package curve25519 + +import ( + "encoding/binary" +) + +// This code is a port of the public domain, "ref10" implementation of +// curve25519 from SUPERCOP 20130419 by D. J. Bernstein. + +// fieldElement represents an element of the field GF(2^255 - 19). An element +// t, entries t[0]...t[9], represents the integer t[0]+2^26 t[1]+2^51 t[2]+2^77 +// t[3]+2^102 t[4]+...+2^230 t[9]. Bounds on each t[i] vary depending on +// context. +type fieldElement [10]int32 + +func feZero(fe *fieldElement) { + for i := range fe { + fe[i] = 0 + } +} + +func feOne(fe *fieldElement) { + feZero(fe) + fe[0] = 1 +} + +func feAdd(dst, a, b *fieldElement) { + for i := range dst { + dst[i] = a[i] + b[i] + } +} + +func feSub(dst, a, b *fieldElement) { + for i := range dst { + dst[i] = a[i] - b[i] + } +} + +func feCopy(dst, src *fieldElement) { + for i := range dst { + dst[i] = src[i] + } +} + +// feCSwap replaces (f,g) with (g,f) if b == 1; replaces (f,g) with (f,g) if b == 0. +// +// Preconditions: b in {0,1}. +func feCSwap(f, g *fieldElement, b int32) { + b = -b + for i := range f { + t := b & (f[i] ^ g[i]) + f[i] ^= t + g[i] ^= t + } +} + +// load3 reads a 24-bit, little-endian value from in. +func load3(in []byte) int64 { + var r int64 + r = int64(in[0]) + r |= int64(in[1]) << 8 + r |= int64(in[2]) << 16 + return r +} + +// load4 reads a 32-bit, little-endian value from in. +func load4(in []byte) int64 { + return int64(binary.LittleEndian.Uint32(in)) +} + +func feFromBytes(dst *fieldElement, src *[32]byte) { + h0 := load4(src[:]) + h1 := load3(src[4:]) << 6 + h2 := load3(src[7:]) << 5 + h3 := load3(src[10:]) << 3 + h4 := load3(src[13:]) << 2 + h5 := load4(src[16:]) + h6 := load3(src[20:]) << 7 + h7 := load3(src[23:]) << 5 + h8 := load3(src[26:]) << 4 + h9 := (load3(src[29:]) & 0x7fffff) << 2 + + var carry [10]int64 + carry[9] = (h9 + 1<<24) >> 25 + h0 += carry[9] * 19 + h9 -= carry[9] << 25 + carry[1] = (h1 + 1<<24) >> 25 + h2 += carry[1] + h1 -= carry[1] << 25 + carry[3] = (h3 + 1<<24) >> 25 + h4 += carry[3] + h3 -= carry[3] << 25 + carry[5] = (h5 + 1<<24) >> 25 + h6 += carry[5] + h5 -= carry[5] << 25 + carry[7] = (h7 + 1<<24) >> 25 + h8 += carry[7] + h7 -= carry[7] << 25 + + carry[0] = (h0 + 1<<25) >> 26 + h1 += carry[0] + h0 -= carry[0] << 26 + carry[2] = (h2 + 1<<25) >> 26 + h3 += carry[2] + h2 -= carry[2] << 26 + carry[4] = (h4 + 1<<25) >> 26 + h5 += carry[4] + h4 -= carry[4] << 26 + carry[6] = (h6 + 1<<25) >> 26 + h7 += carry[6] + h6 -= carry[6] << 26 + carry[8] = (h8 + 1<<25) >> 26 + h9 += carry[8] + h8 -= carry[8] << 26 + + dst[0] = int32(h0) + dst[1] = int32(h1) + dst[2] = int32(h2) + dst[3] = int32(h3) + dst[4] = int32(h4) + dst[5] = int32(h5) + dst[6] = int32(h6) + dst[7] = int32(h7) + dst[8] = int32(h8) + dst[9] = int32(h9) +} + +// feToBytes marshals h to s. +// Preconditions: +// |h| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. +// +// Write p=2^255-19; q=floor(h/p). +// Basic claim: q = floor(2^(-255)(h + 19 2^(-25)h9 + 2^(-1))). +// +// Proof: +// Have |h|<=p so |q|<=1 so |19^2 2^(-255) q|<1/4. +// Also have |h-2^230 h9|<2^230 so |19 2^(-255)(h-2^230 h9)|<1/4. +// +// Write y=2^(-1)-19^2 2^(-255)q-19 2^(-255)(h-2^230 h9). +// Then 0> 25 + q = (h[0] + q) >> 26 + q = (h[1] + q) >> 25 + q = (h[2] + q) >> 26 + q = (h[3] + q) >> 25 + q = (h[4] + q) >> 26 + q = (h[5] + q) >> 25 + q = (h[6] + q) >> 26 + q = (h[7] + q) >> 25 + q = (h[8] + q) >> 26 + q = (h[9] + q) >> 25 + + // Goal: Output h-(2^255-19)q, which is between 0 and 2^255-20. + h[0] += 19 * q + // Goal: Output h-2^255 q, which is between 0 and 2^255-20. + + carry[0] = h[0] >> 26 + h[1] += carry[0] + h[0] -= carry[0] << 26 + carry[1] = h[1] >> 25 + h[2] += carry[1] + h[1] -= carry[1] << 25 + carry[2] = h[2] >> 26 + h[3] += carry[2] + h[2] -= carry[2] << 26 + carry[3] = h[3] >> 25 + h[4] += carry[3] + h[3] -= carry[3] << 25 + carry[4] = h[4] >> 26 + h[5] += carry[4] + h[4] -= carry[4] << 26 + carry[5] = h[5] >> 25 + h[6] += carry[5] + h[5] -= carry[5] << 25 + carry[6] = h[6] >> 26 + h[7] += carry[6] + h[6] -= carry[6] << 26 + carry[7] = h[7] >> 25 + h[8] += carry[7] + h[7] -= carry[7] << 25 + carry[8] = h[8] >> 26 + h[9] += carry[8] + h[8] -= carry[8] << 26 + carry[9] = h[9] >> 25 + h[9] -= carry[9] << 25 + // h10 = carry9 + + // Goal: Output h[0]+...+2^255 h10-2^255 q, which is between 0 and 2^255-20. + // Have h[0]+...+2^230 h[9] between 0 and 2^255-1; + // evidently 2^255 h10-2^255 q = 0. + // Goal: Output h[0]+...+2^230 h[9]. + + s[0] = byte(h[0] >> 0) + s[1] = byte(h[0] >> 8) + s[2] = byte(h[0] >> 16) + s[3] = byte((h[0] >> 24) | (h[1] << 2)) + s[4] = byte(h[1] >> 6) + s[5] = byte(h[1] >> 14) + s[6] = byte((h[1] >> 22) | (h[2] << 3)) + s[7] = byte(h[2] >> 5) + s[8] = byte(h[2] >> 13) + s[9] = byte((h[2] >> 21) | (h[3] << 5)) + s[10] = byte(h[3] >> 3) + s[11] = byte(h[3] >> 11) + s[12] = byte((h[3] >> 19) | (h[4] << 6)) + s[13] = byte(h[4] >> 2) + s[14] = byte(h[4] >> 10) + s[15] = byte(h[4] >> 18) + s[16] = byte(h[5] >> 0) + s[17] = byte(h[5] >> 8) + s[18] = byte(h[5] >> 16) + s[19] = byte((h[5] >> 24) | (h[6] << 1)) + s[20] = byte(h[6] >> 7) + s[21] = byte(h[6] >> 15) + s[22] = byte((h[6] >> 23) | (h[7] << 3)) + s[23] = byte(h[7] >> 5) + s[24] = byte(h[7] >> 13) + s[25] = byte((h[7] >> 21) | (h[8] << 4)) + s[26] = byte(h[8] >> 4) + s[27] = byte(h[8] >> 12) + s[28] = byte((h[8] >> 20) | (h[9] << 6)) + s[29] = byte(h[9] >> 2) + s[30] = byte(h[9] >> 10) + s[31] = byte(h[9] >> 18) +} + +// feMul calculates h = f * g +// Can overlap h with f or g. +// +// Preconditions: +// |f| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc. +// |g| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc. +// +// Postconditions: +// |h| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. +// +// Notes on implementation strategy: +// +// Using schoolbook multiplication. +// Karatsuba would save a little in some cost models. +// +// Most multiplications by 2 and 19 are 32-bit precomputations; +// cheaper than 64-bit postcomputations. +// +// There is one remaining multiplication by 19 in the carry chain; +// one *19 precomputation can be merged into this, +// but the resulting data flow is considerably less clean. +// +// There are 12 carries below. +// 10 of them are 2-way parallelizable and vectorizable. +// Can get away with 11 carries, but then data flow is much deeper. +// +// With tighter constraints on inputs can squeeze carries into int32. +func feMul(h, f, g *fieldElement) { + f0 := f[0] + f1 := f[1] + f2 := f[2] + f3 := f[3] + f4 := f[4] + f5 := f[5] + f6 := f[6] + f7 := f[7] + f8 := f[8] + f9 := f[9] + g0 := g[0] + g1 := g[1] + g2 := g[2] + g3 := g[3] + g4 := g[4] + g5 := g[5] + g6 := g[6] + g7 := g[7] + g8 := g[8] + g9 := g[9] + g1_19 := 19 * g1 // 1.4*2^29 + g2_19 := 19 * g2 // 1.4*2^30; still ok + g3_19 := 19 * g3 + g4_19 := 19 * g4 + g5_19 := 19 * g5 + g6_19 := 19 * g6 + g7_19 := 19 * g7 + g8_19 := 19 * g8 + g9_19 := 19 * g9 + f1_2 := 2 * f1 + f3_2 := 2 * f3 + f5_2 := 2 * f5 + f7_2 := 2 * f7 + f9_2 := 2 * f9 + f0g0 := int64(f0) * int64(g0) + f0g1 := int64(f0) * int64(g1) + f0g2 := int64(f0) * int64(g2) + f0g3 := int64(f0) * int64(g3) + f0g4 := int64(f0) * int64(g4) + f0g5 := int64(f0) * int64(g5) + f0g6 := int64(f0) * int64(g6) + f0g7 := int64(f0) * int64(g7) + f0g8 := int64(f0) * int64(g8) + f0g9 := int64(f0) * int64(g9) + f1g0 := int64(f1) * int64(g0) + f1g1_2 := int64(f1_2) * int64(g1) + f1g2 := int64(f1) * int64(g2) + f1g3_2 := int64(f1_2) * int64(g3) + f1g4 := int64(f1) * int64(g4) + f1g5_2 := int64(f1_2) * int64(g5) + f1g6 := int64(f1) * int64(g6) + f1g7_2 := int64(f1_2) * int64(g7) + f1g8 := int64(f1) * int64(g8) + f1g9_38 := int64(f1_2) * int64(g9_19) + f2g0 := int64(f2) * int64(g0) + f2g1 := int64(f2) * int64(g1) + f2g2 := int64(f2) * int64(g2) + f2g3 := int64(f2) * int64(g3) + f2g4 := int64(f2) * int64(g4) + f2g5 := int64(f2) * int64(g5) + f2g6 := int64(f2) * int64(g6) + f2g7 := int64(f2) * int64(g7) + f2g8_19 := int64(f2) * int64(g8_19) + f2g9_19 := int64(f2) * int64(g9_19) + f3g0 := int64(f3) * int64(g0) + f3g1_2 := int64(f3_2) * int64(g1) + f3g2 := int64(f3) * int64(g2) + f3g3_2 := int64(f3_2) * int64(g3) + f3g4 := int64(f3) * int64(g4) + f3g5_2 := int64(f3_2) * int64(g5) + f3g6 := int64(f3) * int64(g6) + f3g7_38 := int64(f3_2) * int64(g7_19) + f3g8_19 := int64(f3) * int64(g8_19) + f3g9_38 := int64(f3_2) * int64(g9_19) + f4g0 := int64(f4) * int64(g0) + f4g1 := int64(f4) * int64(g1) + f4g2 := int64(f4) * int64(g2) + f4g3 := int64(f4) * int64(g3) + f4g4 := int64(f4) * int64(g4) + f4g5 := int64(f4) * int64(g5) + f4g6_19 := int64(f4) * int64(g6_19) + f4g7_19 := int64(f4) * int64(g7_19) + f4g8_19 := int64(f4) * int64(g8_19) + f4g9_19 := int64(f4) * int64(g9_19) + f5g0 := int64(f5) * int64(g0) + f5g1_2 := int64(f5_2) * int64(g1) + f5g2 := int64(f5) * int64(g2) + f5g3_2 := int64(f5_2) * int64(g3) + f5g4 := int64(f5) * int64(g4) + f5g5_38 := int64(f5_2) * int64(g5_19) + f5g6_19 := int64(f5) * int64(g6_19) + f5g7_38 := int64(f5_2) * int64(g7_19) + f5g8_19 := int64(f5) * int64(g8_19) + f5g9_38 := int64(f5_2) * int64(g9_19) + f6g0 := int64(f6) * int64(g0) + f6g1 := int64(f6) * int64(g1) + f6g2 := int64(f6) * int64(g2) + f6g3 := int64(f6) * int64(g3) + f6g4_19 := int64(f6) * int64(g4_19) + f6g5_19 := int64(f6) * int64(g5_19) + f6g6_19 := int64(f6) * int64(g6_19) + f6g7_19 := int64(f6) * int64(g7_19) + f6g8_19 := int64(f6) * int64(g8_19) + f6g9_19 := int64(f6) * int64(g9_19) + f7g0 := int64(f7) * int64(g0) + f7g1_2 := int64(f7_2) * int64(g1) + f7g2 := int64(f7) * int64(g2) + f7g3_38 := int64(f7_2) * int64(g3_19) + f7g4_19 := int64(f7) * int64(g4_19) + f7g5_38 := int64(f7_2) * int64(g5_19) + f7g6_19 := int64(f7) * int64(g6_19) + f7g7_38 := int64(f7_2) * int64(g7_19) + f7g8_19 := int64(f7) * int64(g8_19) + f7g9_38 := int64(f7_2) * int64(g9_19) + f8g0 := int64(f8) * int64(g0) + f8g1 := int64(f8) * int64(g1) + f8g2_19 := int64(f8) * int64(g2_19) + f8g3_19 := int64(f8) * int64(g3_19) + f8g4_19 := int64(f8) * int64(g4_19) + f8g5_19 := int64(f8) * int64(g5_19) + f8g6_19 := int64(f8) * int64(g6_19) + f8g7_19 := int64(f8) * int64(g7_19) + f8g8_19 := int64(f8) * int64(g8_19) + f8g9_19 := int64(f8) * int64(g9_19) + f9g0 := int64(f9) * int64(g0) + f9g1_38 := int64(f9_2) * int64(g1_19) + f9g2_19 := int64(f9) * int64(g2_19) + f9g3_38 := int64(f9_2) * int64(g3_19) + f9g4_19 := int64(f9) * int64(g4_19) + f9g5_38 := int64(f9_2) * int64(g5_19) + f9g6_19 := int64(f9) * int64(g6_19) + f9g7_38 := int64(f9_2) * int64(g7_19) + f9g8_19 := int64(f9) * int64(g8_19) + f9g9_38 := int64(f9_2) * int64(g9_19) + h0 := f0g0 + f1g9_38 + f2g8_19 + f3g7_38 + f4g6_19 + f5g5_38 + f6g4_19 + f7g3_38 + f8g2_19 + f9g1_38 + h1 := f0g1 + f1g0 + f2g9_19 + f3g8_19 + f4g7_19 + f5g6_19 + f6g5_19 + f7g4_19 + f8g3_19 + f9g2_19 + h2 := f0g2 + f1g1_2 + f2g0 + f3g9_38 + f4g8_19 + f5g7_38 + f6g6_19 + f7g5_38 + f8g4_19 + f9g3_38 + h3 := f0g3 + f1g2 + f2g1 + f3g0 + f4g9_19 + f5g8_19 + f6g7_19 + f7g6_19 + f8g5_19 + f9g4_19 + h4 := f0g4 + f1g3_2 + f2g2 + f3g1_2 + f4g0 + f5g9_38 + f6g8_19 + f7g7_38 + f8g6_19 + f9g5_38 + h5 := f0g5 + f1g4 + f2g3 + f3g2 + f4g1 + f5g0 + f6g9_19 + f7g8_19 + f8g7_19 + f9g6_19 + h6 := f0g6 + f1g5_2 + f2g4 + f3g3_2 + f4g2 + f5g1_2 + f6g0 + f7g9_38 + f8g8_19 + f9g7_38 + h7 := f0g7 + f1g6 + f2g5 + f3g4 + f4g3 + f5g2 + f6g1 + f7g0 + f8g9_19 + f9g8_19 + h8 := f0g8 + f1g7_2 + f2g6 + f3g5_2 + f4g4 + f5g3_2 + f6g2 + f7g1_2 + f8g0 + f9g9_38 + h9 := f0g9 + f1g8 + f2g7 + f3g6 + f4g5 + f5g4 + f6g3 + f7g2 + f8g1 + f9g0 + var carry [10]int64 + + // |h0| <= (1.1*1.1*2^52*(1+19+19+19+19)+1.1*1.1*2^50*(38+38+38+38+38)) + // i.e. |h0| <= 1.2*2^59; narrower ranges for h2, h4, h6, h8 + // |h1| <= (1.1*1.1*2^51*(1+1+19+19+19+19+19+19+19+19)) + // i.e. |h1| <= 1.5*2^58; narrower ranges for h3, h5, h7, h9 + + carry[0] = (h0 + (1 << 25)) >> 26 + h1 += carry[0] + h0 -= carry[0] << 26 + carry[4] = (h4 + (1 << 25)) >> 26 + h5 += carry[4] + h4 -= carry[4] << 26 + // |h0| <= 2^25 + // |h4| <= 2^25 + // |h1| <= 1.51*2^58 + // |h5| <= 1.51*2^58 + + carry[1] = (h1 + (1 << 24)) >> 25 + h2 += carry[1] + h1 -= carry[1] << 25 + carry[5] = (h5 + (1 << 24)) >> 25 + h6 += carry[5] + h5 -= carry[5] << 25 + // |h1| <= 2^24; from now on fits into int32 + // |h5| <= 2^24; from now on fits into int32 + // |h2| <= 1.21*2^59 + // |h6| <= 1.21*2^59 + + carry[2] = (h2 + (1 << 25)) >> 26 + h3 += carry[2] + h2 -= carry[2] << 26 + carry[6] = (h6 + (1 << 25)) >> 26 + h7 += carry[6] + h6 -= carry[6] << 26 + // |h2| <= 2^25; from now on fits into int32 unchanged + // |h6| <= 2^25; from now on fits into int32 unchanged + // |h3| <= 1.51*2^58 + // |h7| <= 1.51*2^58 + + carry[3] = (h3 + (1 << 24)) >> 25 + h4 += carry[3] + h3 -= carry[3] << 25 + carry[7] = (h7 + (1 << 24)) >> 25 + h8 += carry[7] + h7 -= carry[7] << 25 + // |h3| <= 2^24; from now on fits into int32 unchanged + // |h7| <= 2^24; from now on fits into int32 unchanged + // |h4| <= 1.52*2^33 + // |h8| <= 1.52*2^33 + + carry[4] = (h4 + (1 << 25)) >> 26 + h5 += carry[4] + h4 -= carry[4] << 26 + carry[8] = (h8 + (1 << 25)) >> 26 + h9 += carry[8] + h8 -= carry[8] << 26 + // |h4| <= 2^25; from now on fits into int32 unchanged + // |h8| <= 2^25; from now on fits into int32 unchanged + // |h5| <= 1.01*2^24 + // |h9| <= 1.51*2^58 + + carry[9] = (h9 + (1 << 24)) >> 25 + h0 += carry[9] * 19 + h9 -= carry[9] << 25 + // |h9| <= 2^24; from now on fits into int32 unchanged + // |h0| <= 1.8*2^37 + + carry[0] = (h0 + (1 << 25)) >> 26 + h1 += carry[0] + h0 -= carry[0] << 26 + // |h0| <= 2^25; from now on fits into int32 unchanged + // |h1| <= 1.01*2^24 + + h[0] = int32(h0) + h[1] = int32(h1) + h[2] = int32(h2) + h[3] = int32(h3) + h[4] = int32(h4) + h[5] = int32(h5) + h[6] = int32(h6) + h[7] = int32(h7) + h[8] = int32(h8) + h[9] = int32(h9) +} + +// feSquare calculates h = f*f. Can overlap h with f. +// +// Preconditions: +// |f| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc. +// +// Postconditions: +// |h| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. +func feSquare(h, f *fieldElement) { + f0 := f[0] + f1 := f[1] + f2 := f[2] + f3 := f[3] + f4 := f[4] + f5 := f[5] + f6 := f[6] + f7 := f[7] + f8 := f[8] + f9 := f[9] + f0_2 := 2 * f0 + f1_2 := 2 * f1 + f2_2 := 2 * f2 + f3_2 := 2 * f3 + f4_2 := 2 * f4 + f5_2 := 2 * f5 + f6_2 := 2 * f6 + f7_2 := 2 * f7 + f5_38 := 38 * f5 // 1.31*2^30 + f6_19 := 19 * f6 // 1.31*2^30 + f7_38 := 38 * f7 // 1.31*2^30 + f8_19 := 19 * f8 // 1.31*2^30 + f9_38 := 38 * f9 // 1.31*2^30 + f0f0 := int64(f0) * int64(f0) + f0f1_2 := int64(f0_2) * int64(f1) + f0f2_2 := int64(f0_2) * int64(f2) + f0f3_2 := int64(f0_2) * int64(f3) + f0f4_2 := int64(f0_2) * int64(f4) + f0f5_2 := int64(f0_2) * int64(f5) + f0f6_2 := int64(f0_2) * int64(f6) + f0f7_2 := int64(f0_2) * int64(f7) + f0f8_2 := int64(f0_2) * int64(f8) + f0f9_2 := int64(f0_2) * int64(f9) + f1f1_2 := int64(f1_2) * int64(f1) + f1f2_2 := int64(f1_2) * int64(f2) + f1f3_4 := int64(f1_2) * int64(f3_2) + f1f4_2 := int64(f1_2) * int64(f4) + f1f5_4 := int64(f1_2) * int64(f5_2) + f1f6_2 := int64(f1_2) * int64(f6) + f1f7_4 := int64(f1_2) * int64(f7_2) + f1f8_2 := int64(f1_2) * int64(f8) + f1f9_76 := int64(f1_2) * int64(f9_38) + f2f2 := int64(f2) * int64(f2) + f2f3_2 := int64(f2_2) * int64(f3) + f2f4_2 := int64(f2_2) * int64(f4) + f2f5_2 := int64(f2_2) * int64(f5) + f2f6_2 := int64(f2_2) * int64(f6) + f2f7_2 := int64(f2_2) * int64(f7) + f2f8_38 := int64(f2_2) * int64(f8_19) + f2f9_38 := int64(f2) * int64(f9_38) + f3f3_2 := int64(f3_2) * int64(f3) + f3f4_2 := int64(f3_2) * int64(f4) + f3f5_4 := int64(f3_2) * int64(f5_2) + f3f6_2 := int64(f3_2) * int64(f6) + f3f7_76 := int64(f3_2) * int64(f7_38) + f3f8_38 := int64(f3_2) * int64(f8_19) + f3f9_76 := int64(f3_2) * int64(f9_38) + f4f4 := int64(f4) * int64(f4) + f4f5_2 := int64(f4_2) * int64(f5) + f4f6_38 := int64(f4_2) * int64(f6_19) + f4f7_38 := int64(f4) * int64(f7_38) + f4f8_38 := int64(f4_2) * int64(f8_19) + f4f9_38 := int64(f4) * int64(f9_38) + f5f5_38 := int64(f5) * int64(f5_38) + f5f6_38 := int64(f5_2) * int64(f6_19) + f5f7_76 := int64(f5_2) * int64(f7_38) + f5f8_38 := int64(f5_2) * int64(f8_19) + f5f9_76 := int64(f5_2) * int64(f9_38) + f6f6_19 := int64(f6) * int64(f6_19) + f6f7_38 := int64(f6) * int64(f7_38) + f6f8_38 := int64(f6_2) * int64(f8_19) + f6f9_38 := int64(f6) * int64(f9_38) + f7f7_38 := int64(f7) * int64(f7_38) + f7f8_38 := int64(f7_2) * int64(f8_19) + f7f9_76 := int64(f7_2) * int64(f9_38) + f8f8_19 := int64(f8) * int64(f8_19) + f8f9_38 := int64(f8) * int64(f9_38) + f9f9_38 := int64(f9) * int64(f9_38) + h0 := f0f0 + f1f9_76 + f2f8_38 + f3f7_76 + f4f6_38 + f5f5_38 + h1 := f0f1_2 + f2f9_38 + f3f8_38 + f4f7_38 + f5f6_38 + h2 := f0f2_2 + f1f1_2 + f3f9_76 + f4f8_38 + f5f7_76 + f6f6_19 + h3 := f0f3_2 + f1f2_2 + f4f9_38 + f5f8_38 + f6f7_38 + h4 := f0f4_2 + f1f3_4 + f2f2 + f5f9_76 + f6f8_38 + f7f7_38 + h5 := f0f5_2 + f1f4_2 + f2f3_2 + f6f9_38 + f7f8_38 + h6 := f0f6_2 + f1f5_4 + f2f4_2 + f3f3_2 + f7f9_76 + f8f8_19 + h7 := f0f7_2 + f1f6_2 + f2f5_2 + f3f4_2 + f8f9_38 + h8 := f0f8_2 + f1f7_4 + f2f6_2 + f3f5_4 + f4f4 + f9f9_38 + h9 := f0f9_2 + f1f8_2 + f2f7_2 + f3f6_2 + f4f5_2 + var carry [10]int64 + + carry[0] = (h0 + (1 << 25)) >> 26 + h1 += carry[0] + h0 -= carry[0] << 26 + carry[4] = (h4 + (1 << 25)) >> 26 + h5 += carry[4] + h4 -= carry[4] << 26 + + carry[1] = (h1 + (1 << 24)) >> 25 + h2 += carry[1] + h1 -= carry[1] << 25 + carry[5] = (h5 + (1 << 24)) >> 25 + h6 += carry[5] + h5 -= carry[5] << 25 + + carry[2] = (h2 + (1 << 25)) >> 26 + h3 += carry[2] + h2 -= carry[2] << 26 + carry[6] = (h6 + (1 << 25)) >> 26 + h7 += carry[6] + h6 -= carry[6] << 26 + + carry[3] = (h3 + (1 << 24)) >> 25 + h4 += carry[3] + h3 -= carry[3] << 25 + carry[7] = (h7 + (1 << 24)) >> 25 + h8 += carry[7] + h7 -= carry[7] << 25 + + carry[4] = (h4 + (1 << 25)) >> 26 + h5 += carry[4] + h4 -= carry[4] << 26 + carry[8] = (h8 + (1 << 25)) >> 26 + h9 += carry[8] + h8 -= carry[8] << 26 + + carry[9] = (h9 + (1 << 24)) >> 25 + h0 += carry[9] * 19 + h9 -= carry[9] << 25 + + carry[0] = (h0 + (1 << 25)) >> 26 + h1 += carry[0] + h0 -= carry[0] << 26 + + h[0] = int32(h0) + h[1] = int32(h1) + h[2] = int32(h2) + h[3] = int32(h3) + h[4] = int32(h4) + h[5] = int32(h5) + h[6] = int32(h6) + h[7] = int32(h7) + h[8] = int32(h8) + h[9] = int32(h9) +} + +// feMul121666 calculates h = f * 121666. Can overlap h with f. +// +// Preconditions: +// |f| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc. +// +// Postconditions: +// |h| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. +func feMul121666(h, f *fieldElement) { + h0 := int64(f[0]) * 121666 + h1 := int64(f[1]) * 121666 + h2 := int64(f[2]) * 121666 + h3 := int64(f[3]) * 121666 + h4 := int64(f[4]) * 121666 + h5 := int64(f[5]) * 121666 + h6 := int64(f[6]) * 121666 + h7 := int64(f[7]) * 121666 + h8 := int64(f[8]) * 121666 + h9 := int64(f[9]) * 121666 + var carry [10]int64 + + carry[9] = (h9 + (1 << 24)) >> 25 + h0 += carry[9] * 19 + h9 -= carry[9] << 25 + carry[1] = (h1 + (1 << 24)) >> 25 + h2 += carry[1] + h1 -= carry[1] << 25 + carry[3] = (h3 + (1 << 24)) >> 25 + h4 += carry[3] + h3 -= carry[3] << 25 + carry[5] = (h5 + (1 << 24)) >> 25 + h6 += carry[5] + h5 -= carry[5] << 25 + carry[7] = (h7 + (1 << 24)) >> 25 + h8 += carry[7] + h7 -= carry[7] << 25 + + carry[0] = (h0 + (1 << 25)) >> 26 + h1 += carry[0] + h0 -= carry[0] << 26 + carry[2] = (h2 + (1 << 25)) >> 26 + h3 += carry[2] + h2 -= carry[2] << 26 + carry[4] = (h4 + (1 << 25)) >> 26 + h5 += carry[4] + h4 -= carry[4] << 26 + carry[6] = (h6 + (1 << 25)) >> 26 + h7 += carry[6] + h6 -= carry[6] << 26 + carry[8] = (h8 + (1 << 25)) >> 26 + h9 += carry[8] + h8 -= carry[8] << 26 + + h[0] = int32(h0) + h[1] = int32(h1) + h[2] = int32(h2) + h[3] = int32(h3) + h[4] = int32(h4) + h[5] = int32(h5) + h[6] = int32(h6) + h[7] = int32(h7) + h[8] = int32(h8) + h[9] = int32(h9) +} + +// feInvert sets out = z^-1. +func feInvert(out, z *fieldElement) { + var t0, t1, t2, t3 fieldElement + var i int + + feSquare(&t0, z) + for i = 1; i < 1; i++ { + feSquare(&t0, &t0) + } + feSquare(&t1, &t0) + for i = 1; i < 2; i++ { + feSquare(&t1, &t1) + } + feMul(&t1, z, &t1) + feMul(&t0, &t0, &t1) + feSquare(&t2, &t0) + for i = 1; i < 1; i++ { + feSquare(&t2, &t2) + } + feMul(&t1, &t1, &t2) + feSquare(&t2, &t1) + for i = 1; i < 5; i++ { + feSquare(&t2, &t2) + } + feMul(&t1, &t2, &t1) + feSquare(&t2, &t1) + for i = 1; i < 10; i++ { + feSquare(&t2, &t2) + } + feMul(&t2, &t2, &t1) + feSquare(&t3, &t2) + for i = 1; i < 20; i++ { + feSquare(&t3, &t3) + } + feMul(&t2, &t3, &t2) + feSquare(&t2, &t2) + for i = 1; i < 10; i++ { + feSquare(&t2, &t2) + } + feMul(&t1, &t2, &t1) + feSquare(&t2, &t1) + for i = 1; i < 50; i++ { + feSquare(&t2, &t2) + } + feMul(&t2, &t2, &t1) + feSquare(&t3, &t2) + for i = 1; i < 100; i++ { + feSquare(&t3, &t3) + } + feMul(&t2, &t3, &t2) + feSquare(&t2, &t2) + for i = 1; i < 50; i++ { + feSquare(&t2, &t2) + } + feMul(&t1, &t2, &t1) + feSquare(&t1, &t1) + for i = 1; i < 5; i++ { + feSquare(&t1, &t1) + } + feMul(out, &t1, &t0) +} + +func scalarMult(out, in, base *[32]byte) { + var e [32]byte + + copy(e[:], in[:]) + e[0] &= 248 + e[31] &= 127 + e[31] |= 64 + + var x1, x2, z2, x3, z3, tmp0, tmp1 fieldElement + feFromBytes(&x1, base) + feOne(&x2) + feCopy(&x3, &x1) + feOne(&z3) + + swap := int32(0) + for pos := 254; pos >= 0; pos-- { + b := e[pos/8] >> uint(pos&7) + b &= 1 + swap ^= int32(b) + feCSwap(&x2, &x3, swap) + feCSwap(&z2, &z3, swap) + swap = int32(b) + + feSub(&tmp0, &x3, &z3) + feSub(&tmp1, &x2, &z2) + feAdd(&x2, &x2, &z2) + feAdd(&z2, &x3, &z3) + feMul(&z3, &tmp0, &x2) + feMul(&z2, &z2, &tmp1) + feSquare(&tmp0, &tmp1) + feSquare(&tmp1, &x2) + feAdd(&x3, &z3, &z2) + feSub(&z2, &z3, &z2) + feMul(&x2, &tmp1, &tmp0) + feSub(&tmp1, &tmp1, &tmp0) + feSquare(&z2, &z2) + feMul121666(&z3, &tmp1) + feSquare(&x3, &x3) + feAdd(&tmp0, &tmp0, &z3) + feMul(&z3, &x1, &z2) + feMul(&z2, &tmp1, &tmp0) + } + + feCSwap(&x2, &x3, swap) + feCSwap(&z2, &z3, swap) + + feInvert(&z2, &z2) + feMul(&x2, &x2, &z2) + feToBytes(out, &x2) +} diff --git a/vendor/golang.org/x/crypto/curve25519/doc.go b/vendor/golang.org/x/crypto/curve25519/doc.go new file mode 100644 index 000000000..da9b10d9c --- /dev/null +++ b/vendor/golang.org/x/crypto/curve25519/doc.go @@ -0,0 +1,23 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package curve25519 provides an implementation of scalar multiplication on +// the elliptic curve known as curve25519. See https://cr.yp.to/ecdh.html +package curve25519 // import "golang.org/x/crypto/curve25519" + +// basePoint is the x coordinate of the generator of the curve. +var basePoint = [32]byte{9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} + +// ScalarMult sets dst to the product in*base where dst and base are the x +// coordinates of group points and all values are in little-endian form. +func ScalarMult(dst, in, base *[32]byte) { + scalarMult(dst, in, base) +} + +// ScalarBaseMult sets dst to the product in*base where dst and base are the x +// coordinates of group points, base is the standard generator and all values +// are in little-endian form. +func ScalarBaseMult(dst, in *[32]byte) { + ScalarMult(dst, in, &basePoint) +} diff --git a/vendor/golang.org/x/crypto/curve25519/freeze_amd64.s b/vendor/golang.org/x/crypto/curve25519/freeze_amd64.s new file mode 100644 index 000000000..390816106 --- /dev/null +++ b/vendor/golang.org/x/crypto/curve25519/freeze_amd64.s @@ -0,0 +1,73 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// This code was translated into a form compatible with 6a from the public +// domain sources in SUPERCOP: https://bench.cr.yp.to/supercop.html + +// +build amd64,!gccgo,!appengine + +#include "const_amd64.h" + +// func freeze(inout *[5]uint64) +TEXT ·freeze(SB),7,$0-8 + MOVQ inout+0(FP), DI + + MOVQ 0(DI),SI + MOVQ 8(DI),DX + MOVQ 16(DI),CX + MOVQ 24(DI),R8 + MOVQ 32(DI),R9 + MOVQ $REDMASK51,AX + MOVQ AX,R10 + SUBQ $18,R10 + MOVQ $3,R11 +REDUCELOOP: + MOVQ SI,R12 + SHRQ $51,R12 + ANDQ AX,SI + ADDQ R12,DX + MOVQ DX,R12 + SHRQ $51,R12 + ANDQ AX,DX + ADDQ R12,CX + MOVQ CX,R12 + SHRQ $51,R12 + ANDQ AX,CX + ADDQ R12,R8 + MOVQ R8,R12 + SHRQ $51,R12 + ANDQ AX,R8 + ADDQ R12,R9 + MOVQ R9,R12 + SHRQ $51,R12 + ANDQ AX,R9 + IMUL3Q $19,R12,R12 + ADDQ R12,SI + SUBQ $1,R11 + JA REDUCELOOP + MOVQ $1,R12 + CMPQ R10,SI + CMOVQLT R11,R12 + CMPQ AX,DX + CMOVQNE R11,R12 + CMPQ AX,CX + CMOVQNE R11,R12 + CMPQ AX,R8 + CMOVQNE R11,R12 + CMPQ AX,R9 + CMOVQNE R11,R12 + NEGQ R12 + ANDQ R12,AX + ANDQ R12,R10 + SUBQ R10,SI + SUBQ AX,DX + SUBQ AX,CX + SUBQ AX,R8 + SUBQ AX,R9 + MOVQ SI,0(DI) + MOVQ DX,8(DI) + MOVQ CX,16(DI) + MOVQ R8,24(DI) + MOVQ R9,32(DI) + RET diff --git a/vendor/golang.org/x/crypto/curve25519/ladderstep_amd64.s b/vendor/golang.org/x/crypto/curve25519/ladderstep_amd64.s new file mode 100644 index 000000000..9e9040b25 --- /dev/null +++ b/vendor/golang.org/x/crypto/curve25519/ladderstep_amd64.s @@ -0,0 +1,1377 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// This code was translated into a form compatible with 6a from the public +// domain sources in SUPERCOP: https://bench.cr.yp.to/supercop.html + +// +build amd64,!gccgo,!appengine + +#include "const_amd64.h" + +// func ladderstep(inout *[5][5]uint64) +TEXT ·ladderstep(SB),0,$296-8 + MOVQ inout+0(FP),DI + + MOVQ 40(DI),SI + MOVQ 48(DI),DX + MOVQ 56(DI),CX + MOVQ 64(DI),R8 + MOVQ 72(DI),R9 + MOVQ SI,AX + MOVQ DX,R10 + MOVQ CX,R11 + MOVQ R8,R12 + MOVQ R9,R13 + ADDQ ·_2P0(SB),AX + ADDQ ·_2P1234(SB),R10 + ADDQ ·_2P1234(SB),R11 + ADDQ ·_2P1234(SB),R12 + ADDQ ·_2P1234(SB),R13 + ADDQ 80(DI),SI + ADDQ 88(DI),DX + ADDQ 96(DI),CX + ADDQ 104(DI),R8 + ADDQ 112(DI),R9 + SUBQ 80(DI),AX + SUBQ 88(DI),R10 + SUBQ 96(DI),R11 + SUBQ 104(DI),R12 + SUBQ 112(DI),R13 + MOVQ SI,0(SP) + MOVQ DX,8(SP) + MOVQ CX,16(SP) + MOVQ R8,24(SP) + MOVQ R9,32(SP) + MOVQ AX,40(SP) + MOVQ R10,48(SP) + MOVQ R11,56(SP) + MOVQ R12,64(SP) + MOVQ R13,72(SP) + MOVQ 40(SP),AX + MULQ 40(SP) + MOVQ AX,SI + MOVQ DX,CX + MOVQ 40(SP),AX + SHLQ $1,AX + MULQ 48(SP) + MOVQ AX,R8 + MOVQ DX,R9 + MOVQ 40(SP),AX + SHLQ $1,AX + MULQ 56(SP) + MOVQ AX,R10 + MOVQ DX,R11 + MOVQ 40(SP),AX + SHLQ $1,AX + MULQ 64(SP) + MOVQ AX,R12 + MOVQ DX,R13 + MOVQ 40(SP),AX + SHLQ $1,AX + MULQ 72(SP) + MOVQ AX,R14 + MOVQ DX,R15 + MOVQ 48(SP),AX + MULQ 48(SP) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 48(SP),AX + SHLQ $1,AX + MULQ 56(SP) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ 48(SP),AX + SHLQ $1,AX + MULQ 64(SP) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 48(SP),DX + IMUL3Q $38,DX,AX + MULQ 72(SP) + ADDQ AX,SI + ADCQ DX,CX + MOVQ 56(SP),AX + MULQ 56(SP) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 56(SP),DX + IMUL3Q $38,DX,AX + MULQ 64(SP) + ADDQ AX,SI + ADCQ DX,CX + MOVQ 56(SP),DX + IMUL3Q $38,DX,AX + MULQ 72(SP) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 64(SP),DX + IMUL3Q $19,DX,AX + MULQ 64(SP) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 64(SP),DX + IMUL3Q $38,DX,AX + MULQ 72(SP) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 72(SP),DX + IMUL3Q $19,DX,AX + MULQ 72(SP) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ $REDMASK51,DX + SHLQ $13,CX:SI + ANDQ DX,SI + SHLQ $13,R9:R8 + ANDQ DX,R8 + ADDQ CX,R8 + SHLQ $13,R11:R10 + ANDQ DX,R10 + ADDQ R9,R10 + SHLQ $13,R13:R12 + ANDQ DX,R12 + ADDQ R11,R12 + SHLQ $13,R15:R14 + ANDQ DX,R14 + ADDQ R13,R14 + IMUL3Q $19,R15,CX + ADDQ CX,SI + MOVQ SI,CX + SHRQ $51,CX + ADDQ R8,CX + ANDQ DX,SI + MOVQ CX,R8 + SHRQ $51,CX + ADDQ R10,CX + ANDQ DX,R8 + MOVQ CX,R9 + SHRQ $51,CX + ADDQ R12,CX + ANDQ DX,R9 + MOVQ CX,AX + SHRQ $51,CX + ADDQ R14,CX + ANDQ DX,AX + MOVQ CX,R10 + SHRQ $51,CX + IMUL3Q $19,CX,CX + ADDQ CX,SI + ANDQ DX,R10 + MOVQ SI,80(SP) + MOVQ R8,88(SP) + MOVQ R9,96(SP) + MOVQ AX,104(SP) + MOVQ R10,112(SP) + MOVQ 0(SP),AX + MULQ 0(SP) + MOVQ AX,SI + MOVQ DX,CX + MOVQ 0(SP),AX + SHLQ $1,AX + MULQ 8(SP) + MOVQ AX,R8 + MOVQ DX,R9 + MOVQ 0(SP),AX + SHLQ $1,AX + MULQ 16(SP) + MOVQ AX,R10 + MOVQ DX,R11 + MOVQ 0(SP),AX + SHLQ $1,AX + MULQ 24(SP) + MOVQ AX,R12 + MOVQ DX,R13 + MOVQ 0(SP),AX + SHLQ $1,AX + MULQ 32(SP) + MOVQ AX,R14 + MOVQ DX,R15 + MOVQ 8(SP),AX + MULQ 8(SP) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 8(SP),AX + SHLQ $1,AX + MULQ 16(SP) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ 8(SP),AX + SHLQ $1,AX + MULQ 24(SP) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 8(SP),DX + IMUL3Q $38,DX,AX + MULQ 32(SP) + ADDQ AX,SI + ADCQ DX,CX + MOVQ 16(SP),AX + MULQ 16(SP) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 16(SP),DX + IMUL3Q $38,DX,AX + MULQ 24(SP) + ADDQ AX,SI + ADCQ DX,CX + MOVQ 16(SP),DX + IMUL3Q $38,DX,AX + MULQ 32(SP) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 24(SP),DX + IMUL3Q $19,DX,AX + MULQ 24(SP) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 24(SP),DX + IMUL3Q $38,DX,AX + MULQ 32(SP) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 32(SP),DX + IMUL3Q $19,DX,AX + MULQ 32(SP) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ $REDMASK51,DX + SHLQ $13,CX:SI + ANDQ DX,SI + SHLQ $13,R9:R8 + ANDQ DX,R8 + ADDQ CX,R8 + SHLQ $13,R11:R10 + ANDQ DX,R10 + ADDQ R9,R10 + SHLQ $13,R13:R12 + ANDQ DX,R12 + ADDQ R11,R12 + SHLQ $13,R15:R14 + ANDQ DX,R14 + ADDQ R13,R14 + IMUL3Q $19,R15,CX + ADDQ CX,SI + MOVQ SI,CX + SHRQ $51,CX + ADDQ R8,CX + ANDQ DX,SI + MOVQ CX,R8 + SHRQ $51,CX + ADDQ R10,CX + ANDQ DX,R8 + MOVQ CX,R9 + SHRQ $51,CX + ADDQ R12,CX + ANDQ DX,R9 + MOVQ CX,AX + SHRQ $51,CX + ADDQ R14,CX + ANDQ DX,AX + MOVQ CX,R10 + SHRQ $51,CX + IMUL3Q $19,CX,CX + ADDQ CX,SI + ANDQ DX,R10 + MOVQ SI,120(SP) + MOVQ R8,128(SP) + MOVQ R9,136(SP) + MOVQ AX,144(SP) + MOVQ R10,152(SP) + MOVQ SI,SI + MOVQ R8,DX + MOVQ R9,CX + MOVQ AX,R8 + MOVQ R10,R9 + ADDQ ·_2P0(SB),SI + ADDQ ·_2P1234(SB),DX + ADDQ ·_2P1234(SB),CX + ADDQ ·_2P1234(SB),R8 + ADDQ ·_2P1234(SB),R9 + SUBQ 80(SP),SI + SUBQ 88(SP),DX + SUBQ 96(SP),CX + SUBQ 104(SP),R8 + SUBQ 112(SP),R9 + MOVQ SI,160(SP) + MOVQ DX,168(SP) + MOVQ CX,176(SP) + MOVQ R8,184(SP) + MOVQ R9,192(SP) + MOVQ 120(DI),SI + MOVQ 128(DI),DX + MOVQ 136(DI),CX + MOVQ 144(DI),R8 + MOVQ 152(DI),R9 + MOVQ SI,AX + MOVQ DX,R10 + MOVQ CX,R11 + MOVQ R8,R12 + MOVQ R9,R13 + ADDQ ·_2P0(SB),AX + ADDQ ·_2P1234(SB),R10 + ADDQ ·_2P1234(SB),R11 + ADDQ ·_2P1234(SB),R12 + ADDQ ·_2P1234(SB),R13 + ADDQ 160(DI),SI + ADDQ 168(DI),DX + ADDQ 176(DI),CX + ADDQ 184(DI),R8 + ADDQ 192(DI),R9 + SUBQ 160(DI),AX + SUBQ 168(DI),R10 + SUBQ 176(DI),R11 + SUBQ 184(DI),R12 + SUBQ 192(DI),R13 + MOVQ SI,200(SP) + MOVQ DX,208(SP) + MOVQ CX,216(SP) + MOVQ R8,224(SP) + MOVQ R9,232(SP) + MOVQ AX,240(SP) + MOVQ R10,248(SP) + MOVQ R11,256(SP) + MOVQ R12,264(SP) + MOVQ R13,272(SP) + MOVQ 224(SP),SI + IMUL3Q $19,SI,AX + MOVQ AX,280(SP) + MULQ 56(SP) + MOVQ AX,SI + MOVQ DX,CX + MOVQ 232(SP),DX + IMUL3Q $19,DX,AX + MOVQ AX,288(SP) + MULQ 48(SP) + ADDQ AX,SI + ADCQ DX,CX + MOVQ 200(SP),AX + MULQ 40(SP) + ADDQ AX,SI + ADCQ DX,CX + MOVQ 200(SP),AX + MULQ 48(SP) + MOVQ AX,R8 + MOVQ DX,R9 + MOVQ 200(SP),AX + MULQ 56(SP) + MOVQ AX,R10 + MOVQ DX,R11 + MOVQ 200(SP),AX + MULQ 64(SP) + MOVQ AX,R12 + MOVQ DX,R13 + MOVQ 200(SP),AX + MULQ 72(SP) + MOVQ AX,R14 + MOVQ DX,R15 + MOVQ 208(SP),AX + MULQ 40(SP) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 208(SP),AX + MULQ 48(SP) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 208(SP),AX + MULQ 56(SP) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ 208(SP),AX + MULQ 64(SP) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 208(SP),DX + IMUL3Q $19,DX,AX + MULQ 72(SP) + ADDQ AX,SI + ADCQ DX,CX + MOVQ 216(SP),AX + MULQ 40(SP) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 216(SP),AX + MULQ 48(SP) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ 216(SP),AX + MULQ 56(SP) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 216(SP),DX + IMUL3Q $19,DX,AX + MULQ 64(SP) + ADDQ AX,SI + ADCQ DX,CX + MOVQ 216(SP),DX + IMUL3Q $19,DX,AX + MULQ 72(SP) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 224(SP),AX + MULQ 40(SP) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ 224(SP),AX + MULQ 48(SP) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 280(SP),AX + MULQ 64(SP) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 280(SP),AX + MULQ 72(SP) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 232(SP),AX + MULQ 40(SP) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 288(SP),AX + MULQ 56(SP) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 288(SP),AX + MULQ 64(SP) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 288(SP),AX + MULQ 72(SP) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ $REDMASK51,DX + SHLQ $13,CX:SI + ANDQ DX,SI + SHLQ $13,R9:R8 + ANDQ DX,R8 + ADDQ CX,R8 + SHLQ $13,R11:R10 + ANDQ DX,R10 + ADDQ R9,R10 + SHLQ $13,R13:R12 + ANDQ DX,R12 + ADDQ R11,R12 + SHLQ $13,R15:R14 + ANDQ DX,R14 + ADDQ R13,R14 + IMUL3Q $19,R15,CX + ADDQ CX,SI + MOVQ SI,CX + SHRQ $51,CX + ADDQ R8,CX + MOVQ CX,R8 + SHRQ $51,CX + ANDQ DX,SI + ADDQ R10,CX + MOVQ CX,R9 + SHRQ $51,CX + ANDQ DX,R8 + ADDQ R12,CX + MOVQ CX,AX + SHRQ $51,CX + ANDQ DX,R9 + ADDQ R14,CX + MOVQ CX,R10 + SHRQ $51,CX + ANDQ DX,AX + IMUL3Q $19,CX,CX + ADDQ CX,SI + ANDQ DX,R10 + MOVQ SI,40(SP) + MOVQ R8,48(SP) + MOVQ R9,56(SP) + MOVQ AX,64(SP) + MOVQ R10,72(SP) + MOVQ 264(SP),SI + IMUL3Q $19,SI,AX + MOVQ AX,200(SP) + MULQ 16(SP) + MOVQ AX,SI + MOVQ DX,CX + MOVQ 272(SP),DX + IMUL3Q $19,DX,AX + MOVQ AX,208(SP) + MULQ 8(SP) + ADDQ AX,SI + ADCQ DX,CX + MOVQ 240(SP),AX + MULQ 0(SP) + ADDQ AX,SI + ADCQ DX,CX + MOVQ 240(SP),AX + MULQ 8(SP) + MOVQ AX,R8 + MOVQ DX,R9 + MOVQ 240(SP),AX + MULQ 16(SP) + MOVQ AX,R10 + MOVQ DX,R11 + MOVQ 240(SP),AX + MULQ 24(SP) + MOVQ AX,R12 + MOVQ DX,R13 + MOVQ 240(SP),AX + MULQ 32(SP) + MOVQ AX,R14 + MOVQ DX,R15 + MOVQ 248(SP),AX + MULQ 0(SP) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 248(SP),AX + MULQ 8(SP) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 248(SP),AX + MULQ 16(SP) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ 248(SP),AX + MULQ 24(SP) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 248(SP),DX + IMUL3Q $19,DX,AX + MULQ 32(SP) + ADDQ AX,SI + ADCQ DX,CX + MOVQ 256(SP),AX + MULQ 0(SP) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 256(SP),AX + MULQ 8(SP) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ 256(SP),AX + MULQ 16(SP) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 256(SP),DX + IMUL3Q $19,DX,AX + MULQ 24(SP) + ADDQ AX,SI + ADCQ DX,CX + MOVQ 256(SP),DX + IMUL3Q $19,DX,AX + MULQ 32(SP) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 264(SP),AX + MULQ 0(SP) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ 264(SP),AX + MULQ 8(SP) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 200(SP),AX + MULQ 24(SP) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 200(SP),AX + MULQ 32(SP) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 272(SP),AX + MULQ 0(SP) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 208(SP),AX + MULQ 16(SP) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 208(SP),AX + MULQ 24(SP) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 208(SP),AX + MULQ 32(SP) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ $REDMASK51,DX + SHLQ $13,CX:SI + ANDQ DX,SI + SHLQ $13,R9:R8 + ANDQ DX,R8 + ADDQ CX,R8 + SHLQ $13,R11:R10 + ANDQ DX,R10 + ADDQ R9,R10 + SHLQ $13,R13:R12 + ANDQ DX,R12 + ADDQ R11,R12 + SHLQ $13,R15:R14 + ANDQ DX,R14 + ADDQ R13,R14 + IMUL3Q $19,R15,CX + ADDQ CX,SI + MOVQ SI,CX + SHRQ $51,CX + ADDQ R8,CX + MOVQ CX,R8 + SHRQ $51,CX + ANDQ DX,SI + ADDQ R10,CX + MOVQ CX,R9 + SHRQ $51,CX + ANDQ DX,R8 + ADDQ R12,CX + MOVQ CX,AX + SHRQ $51,CX + ANDQ DX,R9 + ADDQ R14,CX + MOVQ CX,R10 + SHRQ $51,CX + ANDQ DX,AX + IMUL3Q $19,CX,CX + ADDQ CX,SI + ANDQ DX,R10 + MOVQ SI,DX + MOVQ R8,CX + MOVQ R9,R11 + MOVQ AX,R12 + MOVQ R10,R13 + ADDQ ·_2P0(SB),DX + ADDQ ·_2P1234(SB),CX + ADDQ ·_2P1234(SB),R11 + ADDQ ·_2P1234(SB),R12 + ADDQ ·_2P1234(SB),R13 + ADDQ 40(SP),SI + ADDQ 48(SP),R8 + ADDQ 56(SP),R9 + ADDQ 64(SP),AX + ADDQ 72(SP),R10 + SUBQ 40(SP),DX + SUBQ 48(SP),CX + SUBQ 56(SP),R11 + SUBQ 64(SP),R12 + SUBQ 72(SP),R13 + MOVQ SI,120(DI) + MOVQ R8,128(DI) + MOVQ R9,136(DI) + MOVQ AX,144(DI) + MOVQ R10,152(DI) + MOVQ DX,160(DI) + MOVQ CX,168(DI) + MOVQ R11,176(DI) + MOVQ R12,184(DI) + MOVQ R13,192(DI) + MOVQ 120(DI),AX + MULQ 120(DI) + MOVQ AX,SI + MOVQ DX,CX + MOVQ 120(DI),AX + SHLQ $1,AX + MULQ 128(DI) + MOVQ AX,R8 + MOVQ DX,R9 + MOVQ 120(DI),AX + SHLQ $1,AX + MULQ 136(DI) + MOVQ AX,R10 + MOVQ DX,R11 + MOVQ 120(DI),AX + SHLQ $1,AX + MULQ 144(DI) + MOVQ AX,R12 + MOVQ DX,R13 + MOVQ 120(DI),AX + SHLQ $1,AX + MULQ 152(DI) + MOVQ AX,R14 + MOVQ DX,R15 + MOVQ 128(DI),AX + MULQ 128(DI) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 128(DI),AX + SHLQ $1,AX + MULQ 136(DI) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ 128(DI),AX + SHLQ $1,AX + MULQ 144(DI) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 128(DI),DX + IMUL3Q $38,DX,AX + MULQ 152(DI) + ADDQ AX,SI + ADCQ DX,CX + MOVQ 136(DI),AX + MULQ 136(DI) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 136(DI),DX + IMUL3Q $38,DX,AX + MULQ 144(DI) + ADDQ AX,SI + ADCQ DX,CX + MOVQ 136(DI),DX + IMUL3Q $38,DX,AX + MULQ 152(DI) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 144(DI),DX + IMUL3Q $19,DX,AX + MULQ 144(DI) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 144(DI),DX + IMUL3Q $38,DX,AX + MULQ 152(DI) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 152(DI),DX + IMUL3Q $19,DX,AX + MULQ 152(DI) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ $REDMASK51,DX + SHLQ $13,CX:SI + ANDQ DX,SI + SHLQ $13,R9:R8 + ANDQ DX,R8 + ADDQ CX,R8 + SHLQ $13,R11:R10 + ANDQ DX,R10 + ADDQ R9,R10 + SHLQ $13,R13:R12 + ANDQ DX,R12 + ADDQ R11,R12 + SHLQ $13,R15:R14 + ANDQ DX,R14 + ADDQ R13,R14 + IMUL3Q $19,R15,CX + ADDQ CX,SI + MOVQ SI,CX + SHRQ $51,CX + ADDQ R8,CX + ANDQ DX,SI + MOVQ CX,R8 + SHRQ $51,CX + ADDQ R10,CX + ANDQ DX,R8 + MOVQ CX,R9 + SHRQ $51,CX + ADDQ R12,CX + ANDQ DX,R9 + MOVQ CX,AX + SHRQ $51,CX + ADDQ R14,CX + ANDQ DX,AX + MOVQ CX,R10 + SHRQ $51,CX + IMUL3Q $19,CX,CX + ADDQ CX,SI + ANDQ DX,R10 + MOVQ SI,120(DI) + MOVQ R8,128(DI) + MOVQ R9,136(DI) + MOVQ AX,144(DI) + MOVQ R10,152(DI) + MOVQ 160(DI),AX + MULQ 160(DI) + MOVQ AX,SI + MOVQ DX,CX + MOVQ 160(DI),AX + SHLQ $1,AX + MULQ 168(DI) + MOVQ AX,R8 + MOVQ DX,R9 + MOVQ 160(DI),AX + SHLQ $1,AX + MULQ 176(DI) + MOVQ AX,R10 + MOVQ DX,R11 + MOVQ 160(DI),AX + SHLQ $1,AX + MULQ 184(DI) + MOVQ AX,R12 + MOVQ DX,R13 + MOVQ 160(DI),AX + SHLQ $1,AX + MULQ 192(DI) + MOVQ AX,R14 + MOVQ DX,R15 + MOVQ 168(DI),AX + MULQ 168(DI) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 168(DI),AX + SHLQ $1,AX + MULQ 176(DI) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ 168(DI),AX + SHLQ $1,AX + MULQ 184(DI) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 168(DI),DX + IMUL3Q $38,DX,AX + MULQ 192(DI) + ADDQ AX,SI + ADCQ DX,CX + MOVQ 176(DI),AX + MULQ 176(DI) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 176(DI),DX + IMUL3Q $38,DX,AX + MULQ 184(DI) + ADDQ AX,SI + ADCQ DX,CX + MOVQ 176(DI),DX + IMUL3Q $38,DX,AX + MULQ 192(DI) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 184(DI),DX + IMUL3Q $19,DX,AX + MULQ 184(DI) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 184(DI),DX + IMUL3Q $38,DX,AX + MULQ 192(DI) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 192(DI),DX + IMUL3Q $19,DX,AX + MULQ 192(DI) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ $REDMASK51,DX + SHLQ $13,CX:SI + ANDQ DX,SI + SHLQ $13,R9:R8 + ANDQ DX,R8 + ADDQ CX,R8 + SHLQ $13,R11:R10 + ANDQ DX,R10 + ADDQ R9,R10 + SHLQ $13,R13:R12 + ANDQ DX,R12 + ADDQ R11,R12 + SHLQ $13,R15:R14 + ANDQ DX,R14 + ADDQ R13,R14 + IMUL3Q $19,R15,CX + ADDQ CX,SI + MOVQ SI,CX + SHRQ $51,CX + ADDQ R8,CX + ANDQ DX,SI + MOVQ CX,R8 + SHRQ $51,CX + ADDQ R10,CX + ANDQ DX,R8 + MOVQ CX,R9 + SHRQ $51,CX + ADDQ R12,CX + ANDQ DX,R9 + MOVQ CX,AX + SHRQ $51,CX + ADDQ R14,CX + ANDQ DX,AX + MOVQ CX,R10 + SHRQ $51,CX + IMUL3Q $19,CX,CX + ADDQ CX,SI + ANDQ DX,R10 + MOVQ SI,160(DI) + MOVQ R8,168(DI) + MOVQ R9,176(DI) + MOVQ AX,184(DI) + MOVQ R10,192(DI) + MOVQ 184(DI),SI + IMUL3Q $19,SI,AX + MOVQ AX,0(SP) + MULQ 16(DI) + MOVQ AX,SI + MOVQ DX,CX + MOVQ 192(DI),DX + IMUL3Q $19,DX,AX + MOVQ AX,8(SP) + MULQ 8(DI) + ADDQ AX,SI + ADCQ DX,CX + MOVQ 160(DI),AX + MULQ 0(DI) + ADDQ AX,SI + ADCQ DX,CX + MOVQ 160(DI),AX + MULQ 8(DI) + MOVQ AX,R8 + MOVQ DX,R9 + MOVQ 160(DI),AX + MULQ 16(DI) + MOVQ AX,R10 + MOVQ DX,R11 + MOVQ 160(DI),AX + MULQ 24(DI) + MOVQ AX,R12 + MOVQ DX,R13 + MOVQ 160(DI),AX + MULQ 32(DI) + MOVQ AX,R14 + MOVQ DX,R15 + MOVQ 168(DI),AX + MULQ 0(DI) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 168(DI),AX + MULQ 8(DI) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 168(DI),AX + MULQ 16(DI) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ 168(DI),AX + MULQ 24(DI) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 168(DI),DX + IMUL3Q $19,DX,AX + MULQ 32(DI) + ADDQ AX,SI + ADCQ DX,CX + MOVQ 176(DI),AX + MULQ 0(DI) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 176(DI),AX + MULQ 8(DI) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ 176(DI),AX + MULQ 16(DI) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 176(DI),DX + IMUL3Q $19,DX,AX + MULQ 24(DI) + ADDQ AX,SI + ADCQ DX,CX + MOVQ 176(DI),DX + IMUL3Q $19,DX,AX + MULQ 32(DI) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 184(DI),AX + MULQ 0(DI) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ 184(DI),AX + MULQ 8(DI) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 0(SP),AX + MULQ 24(DI) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 0(SP),AX + MULQ 32(DI) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 192(DI),AX + MULQ 0(DI) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 8(SP),AX + MULQ 16(DI) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 8(SP),AX + MULQ 24(DI) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 8(SP),AX + MULQ 32(DI) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ $REDMASK51,DX + SHLQ $13,CX:SI + ANDQ DX,SI + SHLQ $13,R9:R8 + ANDQ DX,R8 + ADDQ CX,R8 + SHLQ $13,R11:R10 + ANDQ DX,R10 + ADDQ R9,R10 + SHLQ $13,R13:R12 + ANDQ DX,R12 + ADDQ R11,R12 + SHLQ $13,R15:R14 + ANDQ DX,R14 + ADDQ R13,R14 + IMUL3Q $19,R15,CX + ADDQ CX,SI + MOVQ SI,CX + SHRQ $51,CX + ADDQ R8,CX + MOVQ CX,R8 + SHRQ $51,CX + ANDQ DX,SI + ADDQ R10,CX + MOVQ CX,R9 + SHRQ $51,CX + ANDQ DX,R8 + ADDQ R12,CX + MOVQ CX,AX + SHRQ $51,CX + ANDQ DX,R9 + ADDQ R14,CX + MOVQ CX,R10 + SHRQ $51,CX + ANDQ DX,AX + IMUL3Q $19,CX,CX + ADDQ CX,SI + ANDQ DX,R10 + MOVQ SI,160(DI) + MOVQ R8,168(DI) + MOVQ R9,176(DI) + MOVQ AX,184(DI) + MOVQ R10,192(DI) + MOVQ 144(SP),SI + IMUL3Q $19,SI,AX + MOVQ AX,0(SP) + MULQ 96(SP) + MOVQ AX,SI + MOVQ DX,CX + MOVQ 152(SP),DX + IMUL3Q $19,DX,AX + MOVQ AX,8(SP) + MULQ 88(SP) + ADDQ AX,SI + ADCQ DX,CX + MOVQ 120(SP),AX + MULQ 80(SP) + ADDQ AX,SI + ADCQ DX,CX + MOVQ 120(SP),AX + MULQ 88(SP) + MOVQ AX,R8 + MOVQ DX,R9 + MOVQ 120(SP),AX + MULQ 96(SP) + MOVQ AX,R10 + MOVQ DX,R11 + MOVQ 120(SP),AX + MULQ 104(SP) + MOVQ AX,R12 + MOVQ DX,R13 + MOVQ 120(SP),AX + MULQ 112(SP) + MOVQ AX,R14 + MOVQ DX,R15 + MOVQ 128(SP),AX + MULQ 80(SP) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 128(SP),AX + MULQ 88(SP) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 128(SP),AX + MULQ 96(SP) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ 128(SP),AX + MULQ 104(SP) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 128(SP),DX + IMUL3Q $19,DX,AX + MULQ 112(SP) + ADDQ AX,SI + ADCQ DX,CX + MOVQ 136(SP),AX + MULQ 80(SP) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 136(SP),AX + MULQ 88(SP) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ 136(SP),AX + MULQ 96(SP) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 136(SP),DX + IMUL3Q $19,DX,AX + MULQ 104(SP) + ADDQ AX,SI + ADCQ DX,CX + MOVQ 136(SP),DX + IMUL3Q $19,DX,AX + MULQ 112(SP) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 144(SP),AX + MULQ 80(SP) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ 144(SP),AX + MULQ 88(SP) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 0(SP),AX + MULQ 104(SP) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 0(SP),AX + MULQ 112(SP) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 152(SP),AX + MULQ 80(SP) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 8(SP),AX + MULQ 96(SP) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 8(SP),AX + MULQ 104(SP) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 8(SP),AX + MULQ 112(SP) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ $REDMASK51,DX + SHLQ $13,CX:SI + ANDQ DX,SI + SHLQ $13,R9:R8 + ANDQ DX,R8 + ADDQ CX,R8 + SHLQ $13,R11:R10 + ANDQ DX,R10 + ADDQ R9,R10 + SHLQ $13,R13:R12 + ANDQ DX,R12 + ADDQ R11,R12 + SHLQ $13,R15:R14 + ANDQ DX,R14 + ADDQ R13,R14 + IMUL3Q $19,R15,CX + ADDQ CX,SI + MOVQ SI,CX + SHRQ $51,CX + ADDQ R8,CX + MOVQ CX,R8 + SHRQ $51,CX + ANDQ DX,SI + ADDQ R10,CX + MOVQ CX,R9 + SHRQ $51,CX + ANDQ DX,R8 + ADDQ R12,CX + MOVQ CX,AX + SHRQ $51,CX + ANDQ DX,R9 + ADDQ R14,CX + MOVQ CX,R10 + SHRQ $51,CX + ANDQ DX,AX + IMUL3Q $19,CX,CX + ADDQ CX,SI + ANDQ DX,R10 + MOVQ SI,40(DI) + MOVQ R8,48(DI) + MOVQ R9,56(DI) + MOVQ AX,64(DI) + MOVQ R10,72(DI) + MOVQ 160(SP),AX + MULQ ·_121666_213(SB) + SHRQ $13,AX + MOVQ AX,SI + MOVQ DX,CX + MOVQ 168(SP),AX + MULQ ·_121666_213(SB) + SHRQ $13,AX + ADDQ AX,CX + MOVQ DX,R8 + MOVQ 176(SP),AX + MULQ ·_121666_213(SB) + SHRQ $13,AX + ADDQ AX,R8 + MOVQ DX,R9 + MOVQ 184(SP),AX + MULQ ·_121666_213(SB) + SHRQ $13,AX + ADDQ AX,R9 + MOVQ DX,R10 + MOVQ 192(SP),AX + MULQ ·_121666_213(SB) + SHRQ $13,AX + ADDQ AX,R10 + IMUL3Q $19,DX,DX + ADDQ DX,SI + ADDQ 80(SP),SI + ADDQ 88(SP),CX + ADDQ 96(SP),R8 + ADDQ 104(SP),R9 + ADDQ 112(SP),R10 + MOVQ SI,80(DI) + MOVQ CX,88(DI) + MOVQ R8,96(DI) + MOVQ R9,104(DI) + MOVQ R10,112(DI) + MOVQ 104(DI),SI + IMUL3Q $19,SI,AX + MOVQ AX,0(SP) + MULQ 176(SP) + MOVQ AX,SI + MOVQ DX,CX + MOVQ 112(DI),DX + IMUL3Q $19,DX,AX + MOVQ AX,8(SP) + MULQ 168(SP) + ADDQ AX,SI + ADCQ DX,CX + MOVQ 80(DI),AX + MULQ 160(SP) + ADDQ AX,SI + ADCQ DX,CX + MOVQ 80(DI),AX + MULQ 168(SP) + MOVQ AX,R8 + MOVQ DX,R9 + MOVQ 80(DI),AX + MULQ 176(SP) + MOVQ AX,R10 + MOVQ DX,R11 + MOVQ 80(DI),AX + MULQ 184(SP) + MOVQ AX,R12 + MOVQ DX,R13 + MOVQ 80(DI),AX + MULQ 192(SP) + MOVQ AX,R14 + MOVQ DX,R15 + MOVQ 88(DI),AX + MULQ 160(SP) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 88(DI),AX + MULQ 168(SP) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 88(DI),AX + MULQ 176(SP) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ 88(DI),AX + MULQ 184(SP) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 88(DI),DX + IMUL3Q $19,DX,AX + MULQ 192(SP) + ADDQ AX,SI + ADCQ DX,CX + MOVQ 96(DI),AX + MULQ 160(SP) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 96(DI),AX + MULQ 168(SP) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ 96(DI),AX + MULQ 176(SP) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 96(DI),DX + IMUL3Q $19,DX,AX + MULQ 184(SP) + ADDQ AX,SI + ADCQ DX,CX + MOVQ 96(DI),DX + IMUL3Q $19,DX,AX + MULQ 192(SP) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 104(DI),AX + MULQ 160(SP) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ 104(DI),AX + MULQ 168(SP) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 0(SP),AX + MULQ 184(SP) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 0(SP),AX + MULQ 192(SP) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 112(DI),AX + MULQ 160(SP) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 8(SP),AX + MULQ 176(SP) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 8(SP),AX + MULQ 184(SP) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 8(SP),AX + MULQ 192(SP) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ $REDMASK51,DX + SHLQ $13,CX:SI + ANDQ DX,SI + SHLQ $13,R9:R8 + ANDQ DX,R8 + ADDQ CX,R8 + SHLQ $13,R11:R10 + ANDQ DX,R10 + ADDQ R9,R10 + SHLQ $13,R13:R12 + ANDQ DX,R12 + ADDQ R11,R12 + SHLQ $13,R15:R14 + ANDQ DX,R14 + ADDQ R13,R14 + IMUL3Q $19,R15,CX + ADDQ CX,SI + MOVQ SI,CX + SHRQ $51,CX + ADDQ R8,CX + MOVQ CX,R8 + SHRQ $51,CX + ANDQ DX,SI + ADDQ R10,CX + MOVQ CX,R9 + SHRQ $51,CX + ANDQ DX,R8 + ADDQ R12,CX + MOVQ CX,AX + SHRQ $51,CX + ANDQ DX,R9 + ADDQ R14,CX + MOVQ CX,R10 + SHRQ $51,CX + ANDQ DX,AX + IMUL3Q $19,CX,CX + ADDQ CX,SI + ANDQ DX,R10 + MOVQ SI,80(DI) + MOVQ R8,88(DI) + MOVQ R9,96(DI) + MOVQ AX,104(DI) + MOVQ R10,112(DI) + RET diff --git a/vendor/golang.org/x/crypto/curve25519/mont25519_amd64.go b/vendor/golang.org/x/crypto/curve25519/mont25519_amd64.go new file mode 100644 index 000000000..5822bd533 --- /dev/null +++ b/vendor/golang.org/x/crypto/curve25519/mont25519_amd64.go @@ -0,0 +1,240 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,!gccgo,!appengine + +package curve25519 + +// These functions are implemented in the .s files. The names of the functions +// in the rest of the file are also taken from the SUPERCOP sources to help +// people following along. + +//go:noescape + +func cswap(inout *[5]uint64, v uint64) + +//go:noescape + +func ladderstep(inout *[5][5]uint64) + +//go:noescape + +func freeze(inout *[5]uint64) + +//go:noescape + +func mul(dest, a, b *[5]uint64) + +//go:noescape + +func square(out, in *[5]uint64) + +// mladder uses a Montgomery ladder to calculate (xr/zr) *= s. +func mladder(xr, zr *[5]uint64, s *[32]byte) { + var work [5][5]uint64 + + work[0] = *xr + setint(&work[1], 1) + setint(&work[2], 0) + work[3] = *xr + setint(&work[4], 1) + + j := uint(6) + var prevbit byte + + for i := 31; i >= 0; i-- { + for j < 8 { + bit := ((*s)[i] >> j) & 1 + swap := bit ^ prevbit + prevbit = bit + cswap(&work[1], uint64(swap)) + ladderstep(&work) + j-- + } + j = 7 + } + + *xr = work[1] + *zr = work[2] +} + +func scalarMult(out, in, base *[32]byte) { + var e [32]byte + copy(e[:], (*in)[:]) + e[0] &= 248 + e[31] &= 127 + e[31] |= 64 + + var t, z [5]uint64 + unpack(&t, base) + mladder(&t, &z, &e) + invert(&z, &z) + mul(&t, &t, &z) + pack(out, &t) +} + +func setint(r *[5]uint64, v uint64) { + r[0] = v + r[1] = 0 + r[2] = 0 + r[3] = 0 + r[4] = 0 +} + +// unpack sets r = x where r consists of 5, 51-bit limbs in little-endian +// order. +func unpack(r *[5]uint64, x *[32]byte) { + r[0] = uint64(x[0]) | + uint64(x[1])<<8 | + uint64(x[2])<<16 | + uint64(x[3])<<24 | + uint64(x[4])<<32 | + uint64(x[5])<<40 | + uint64(x[6]&7)<<48 + + r[1] = uint64(x[6])>>3 | + uint64(x[7])<<5 | + uint64(x[8])<<13 | + uint64(x[9])<<21 | + uint64(x[10])<<29 | + uint64(x[11])<<37 | + uint64(x[12]&63)<<45 + + r[2] = uint64(x[12])>>6 | + uint64(x[13])<<2 | + uint64(x[14])<<10 | + uint64(x[15])<<18 | + uint64(x[16])<<26 | + uint64(x[17])<<34 | + uint64(x[18])<<42 | + uint64(x[19]&1)<<50 + + r[3] = uint64(x[19])>>1 | + uint64(x[20])<<7 | + uint64(x[21])<<15 | + uint64(x[22])<<23 | + uint64(x[23])<<31 | + uint64(x[24])<<39 | + uint64(x[25]&15)<<47 + + r[4] = uint64(x[25])>>4 | + uint64(x[26])<<4 | + uint64(x[27])<<12 | + uint64(x[28])<<20 | + uint64(x[29])<<28 | + uint64(x[30])<<36 | + uint64(x[31]&127)<<44 +} + +// pack sets out = x where out is the usual, little-endian form of the 5, +// 51-bit limbs in x. +func pack(out *[32]byte, x *[5]uint64) { + t := *x + freeze(&t) + + out[0] = byte(t[0]) + out[1] = byte(t[0] >> 8) + out[2] = byte(t[0] >> 16) + out[3] = byte(t[0] >> 24) + out[4] = byte(t[0] >> 32) + out[5] = byte(t[0] >> 40) + out[6] = byte(t[0] >> 48) + + out[6] ^= byte(t[1]<<3) & 0xf8 + out[7] = byte(t[1] >> 5) + out[8] = byte(t[1] >> 13) + out[9] = byte(t[1] >> 21) + out[10] = byte(t[1] >> 29) + out[11] = byte(t[1] >> 37) + out[12] = byte(t[1] >> 45) + + out[12] ^= byte(t[2]<<6) & 0xc0 + out[13] = byte(t[2] >> 2) + out[14] = byte(t[2] >> 10) + out[15] = byte(t[2] >> 18) + out[16] = byte(t[2] >> 26) + out[17] = byte(t[2] >> 34) + out[18] = byte(t[2] >> 42) + out[19] = byte(t[2] >> 50) + + out[19] ^= byte(t[3]<<1) & 0xfe + out[20] = byte(t[3] >> 7) + out[21] = byte(t[3] >> 15) + out[22] = byte(t[3] >> 23) + out[23] = byte(t[3] >> 31) + out[24] = byte(t[3] >> 39) + out[25] = byte(t[3] >> 47) + + out[25] ^= byte(t[4]<<4) & 0xf0 + out[26] = byte(t[4] >> 4) + out[27] = byte(t[4] >> 12) + out[28] = byte(t[4] >> 20) + out[29] = byte(t[4] >> 28) + out[30] = byte(t[4] >> 36) + out[31] = byte(t[4] >> 44) +} + +// invert calculates r = x^-1 mod p using Fermat's little theorem. +func invert(r *[5]uint64, x *[5]uint64) { + var z2, z9, z11, z2_5_0, z2_10_0, z2_20_0, z2_50_0, z2_100_0, t [5]uint64 + + square(&z2, x) /* 2 */ + square(&t, &z2) /* 4 */ + square(&t, &t) /* 8 */ + mul(&z9, &t, x) /* 9 */ + mul(&z11, &z9, &z2) /* 11 */ + square(&t, &z11) /* 22 */ + mul(&z2_5_0, &t, &z9) /* 2^5 - 2^0 = 31 */ + + square(&t, &z2_5_0) /* 2^6 - 2^1 */ + for i := 1; i < 5; i++ { /* 2^20 - 2^10 */ + square(&t, &t) + } + mul(&z2_10_0, &t, &z2_5_0) /* 2^10 - 2^0 */ + + square(&t, &z2_10_0) /* 2^11 - 2^1 */ + for i := 1; i < 10; i++ { /* 2^20 - 2^10 */ + square(&t, &t) + } + mul(&z2_20_0, &t, &z2_10_0) /* 2^20 - 2^0 */ + + square(&t, &z2_20_0) /* 2^21 - 2^1 */ + for i := 1; i < 20; i++ { /* 2^40 - 2^20 */ + square(&t, &t) + } + mul(&t, &t, &z2_20_0) /* 2^40 - 2^0 */ + + square(&t, &t) /* 2^41 - 2^1 */ + for i := 1; i < 10; i++ { /* 2^50 - 2^10 */ + square(&t, &t) + } + mul(&z2_50_0, &t, &z2_10_0) /* 2^50 - 2^0 */ + + square(&t, &z2_50_0) /* 2^51 - 2^1 */ + for i := 1; i < 50; i++ { /* 2^100 - 2^50 */ + square(&t, &t) + } + mul(&z2_100_0, &t, &z2_50_0) /* 2^100 - 2^0 */ + + square(&t, &z2_100_0) /* 2^101 - 2^1 */ + for i := 1; i < 100; i++ { /* 2^200 - 2^100 */ + square(&t, &t) + } + mul(&t, &t, &z2_100_0) /* 2^200 - 2^0 */ + + square(&t, &t) /* 2^201 - 2^1 */ + for i := 1; i < 50; i++ { /* 2^250 - 2^50 */ + square(&t, &t) + } + mul(&t, &t, &z2_50_0) /* 2^250 - 2^0 */ + + square(&t, &t) /* 2^251 - 2^1 */ + square(&t, &t) /* 2^252 - 2^2 */ + square(&t, &t) /* 2^253 - 2^3 */ + + square(&t, &t) /* 2^254 - 2^4 */ + + square(&t, &t) /* 2^255 - 2^5 */ + mul(r, &t, &z11) /* 2^255 - 21 */ +} diff --git a/vendor/golang.org/x/crypto/curve25519/mul_amd64.s b/vendor/golang.org/x/crypto/curve25519/mul_amd64.s new file mode 100644 index 000000000..5ce80a2e5 --- /dev/null +++ b/vendor/golang.org/x/crypto/curve25519/mul_amd64.s @@ -0,0 +1,169 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// This code was translated into a form compatible with 6a from the public +// domain sources in SUPERCOP: https://bench.cr.yp.to/supercop.html + +// +build amd64,!gccgo,!appengine + +#include "const_amd64.h" + +// func mul(dest, a, b *[5]uint64) +TEXT ·mul(SB),0,$16-24 + MOVQ dest+0(FP), DI + MOVQ a+8(FP), SI + MOVQ b+16(FP), DX + + MOVQ DX,CX + MOVQ 24(SI),DX + IMUL3Q $19,DX,AX + MOVQ AX,0(SP) + MULQ 16(CX) + MOVQ AX,R8 + MOVQ DX,R9 + MOVQ 32(SI),DX + IMUL3Q $19,DX,AX + MOVQ AX,8(SP) + MULQ 8(CX) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 0(SI),AX + MULQ 0(CX) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 0(SI),AX + MULQ 8(CX) + MOVQ AX,R10 + MOVQ DX,R11 + MOVQ 0(SI),AX + MULQ 16(CX) + MOVQ AX,R12 + MOVQ DX,R13 + MOVQ 0(SI),AX + MULQ 24(CX) + MOVQ AX,R14 + MOVQ DX,R15 + MOVQ 0(SI),AX + MULQ 32(CX) + MOVQ AX,BX + MOVQ DX,BP + MOVQ 8(SI),AX + MULQ 0(CX) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 8(SI),AX + MULQ 8(CX) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ 8(SI),AX + MULQ 16(CX) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 8(SI),AX + MULQ 24(CX) + ADDQ AX,BX + ADCQ DX,BP + MOVQ 8(SI),DX + IMUL3Q $19,DX,AX + MULQ 32(CX) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 16(SI),AX + MULQ 0(CX) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ 16(SI),AX + MULQ 8(CX) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 16(SI),AX + MULQ 16(CX) + ADDQ AX,BX + ADCQ DX,BP + MOVQ 16(SI),DX + IMUL3Q $19,DX,AX + MULQ 24(CX) + ADDQ AX,R8 + ADCQ DX,R9 + MOVQ 16(SI),DX + IMUL3Q $19,DX,AX + MULQ 32(CX) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 24(SI),AX + MULQ 0(CX) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ 24(SI),AX + MULQ 8(CX) + ADDQ AX,BX + ADCQ DX,BP + MOVQ 0(SP),AX + MULQ 24(CX) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 0(SP),AX + MULQ 32(CX) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ 32(SI),AX + MULQ 0(CX) + ADDQ AX,BX + ADCQ DX,BP + MOVQ 8(SP),AX + MULQ 16(CX) + ADDQ AX,R10 + ADCQ DX,R11 + MOVQ 8(SP),AX + MULQ 24(CX) + ADDQ AX,R12 + ADCQ DX,R13 + MOVQ 8(SP),AX + MULQ 32(CX) + ADDQ AX,R14 + ADCQ DX,R15 + MOVQ $REDMASK51,SI + SHLQ $13,R9:R8 + ANDQ SI,R8 + SHLQ $13,R11:R10 + ANDQ SI,R10 + ADDQ R9,R10 + SHLQ $13,R13:R12 + ANDQ SI,R12 + ADDQ R11,R12 + SHLQ $13,R15:R14 + ANDQ SI,R14 + ADDQ R13,R14 + SHLQ $13,BP:BX + ANDQ SI,BX + ADDQ R15,BX + IMUL3Q $19,BP,DX + ADDQ DX,R8 + MOVQ R8,DX + SHRQ $51,DX + ADDQ R10,DX + MOVQ DX,CX + SHRQ $51,DX + ANDQ SI,R8 + ADDQ R12,DX + MOVQ DX,R9 + SHRQ $51,DX + ANDQ SI,CX + ADDQ R14,DX + MOVQ DX,AX + SHRQ $51,DX + ANDQ SI,R9 + ADDQ BX,DX + MOVQ DX,R10 + SHRQ $51,DX + ANDQ SI,AX + IMUL3Q $19,DX,DX + ADDQ DX,R8 + ANDQ SI,R10 + MOVQ R8,0(DI) + MOVQ CX,8(DI) + MOVQ R9,16(DI) + MOVQ AX,24(DI) + MOVQ R10,32(DI) + RET diff --git a/vendor/golang.org/x/crypto/curve25519/square_amd64.s b/vendor/golang.org/x/crypto/curve25519/square_amd64.s new file mode 100644 index 000000000..12f73734f --- /dev/null +++ b/vendor/golang.org/x/crypto/curve25519/square_amd64.s @@ -0,0 +1,132 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// This code was translated into a form compatible with 6a from the public +// domain sources in SUPERCOP: https://bench.cr.yp.to/supercop.html + +// +build amd64,!gccgo,!appengine + +#include "const_amd64.h" + +// func square(out, in *[5]uint64) +TEXT ·square(SB),7,$0-16 + MOVQ out+0(FP), DI + MOVQ in+8(FP), SI + + MOVQ 0(SI),AX + MULQ 0(SI) + MOVQ AX,CX + MOVQ DX,R8 + MOVQ 0(SI),AX + SHLQ $1,AX + MULQ 8(SI) + MOVQ AX,R9 + MOVQ DX,R10 + MOVQ 0(SI),AX + SHLQ $1,AX + MULQ 16(SI) + MOVQ AX,R11 + MOVQ DX,R12 + MOVQ 0(SI),AX + SHLQ $1,AX + MULQ 24(SI) + MOVQ AX,R13 + MOVQ DX,R14 + MOVQ 0(SI),AX + SHLQ $1,AX + MULQ 32(SI) + MOVQ AX,R15 + MOVQ DX,BX + MOVQ 8(SI),AX + MULQ 8(SI) + ADDQ AX,R11 + ADCQ DX,R12 + MOVQ 8(SI),AX + SHLQ $1,AX + MULQ 16(SI) + ADDQ AX,R13 + ADCQ DX,R14 + MOVQ 8(SI),AX + SHLQ $1,AX + MULQ 24(SI) + ADDQ AX,R15 + ADCQ DX,BX + MOVQ 8(SI),DX + IMUL3Q $38,DX,AX + MULQ 32(SI) + ADDQ AX,CX + ADCQ DX,R8 + MOVQ 16(SI),AX + MULQ 16(SI) + ADDQ AX,R15 + ADCQ DX,BX + MOVQ 16(SI),DX + IMUL3Q $38,DX,AX + MULQ 24(SI) + ADDQ AX,CX + ADCQ DX,R8 + MOVQ 16(SI),DX + IMUL3Q $38,DX,AX + MULQ 32(SI) + ADDQ AX,R9 + ADCQ DX,R10 + MOVQ 24(SI),DX + IMUL3Q $19,DX,AX + MULQ 24(SI) + ADDQ AX,R9 + ADCQ DX,R10 + MOVQ 24(SI),DX + IMUL3Q $38,DX,AX + MULQ 32(SI) + ADDQ AX,R11 + ADCQ DX,R12 + MOVQ 32(SI),DX + IMUL3Q $19,DX,AX + MULQ 32(SI) + ADDQ AX,R13 + ADCQ DX,R14 + MOVQ $REDMASK51,SI + SHLQ $13,R8:CX + ANDQ SI,CX + SHLQ $13,R10:R9 + ANDQ SI,R9 + ADDQ R8,R9 + SHLQ $13,R12:R11 + ANDQ SI,R11 + ADDQ R10,R11 + SHLQ $13,R14:R13 + ANDQ SI,R13 + ADDQ R12,R13 + SHLQ $13,BX:R15 + ANDQ SI,R15 + ADDQ R14,R15 + IMUL3Q $19,BX,DX + ADDQ DX,CX + MOVQ CX,DX + SHRQ $51,DX + ADDQ R9,DX + ANDQ SI,CX + MOVQ DX,R8 + SHRQ $51,DX + ADDQ R11,DX + ANDQ SI,R8 + MOVQ DX,R9 + SHRQ $51,DX + ADDQ R13,DX + ANDQ SI,R9 + MOVQ DX,AX + SHRQ $51,DX + ADDQ R15,DX + ANDQ SI,AX + MOVQ DX,R10 + SHRQ $51,DX + IMUL3Q $19,DX,DX + ADDQ DX,CX + ANDQ SI,R10 + MOVQ CX,0(DI) + MOVQ R8,8(DI) + MOVQ R9,16(DI) + MOVQ AX,24(DI) + MOVQ R10,32(DI) + RET diff --git a/vendor/golang.org/x/crypto/internal/chacha20/asm_arm64.s b/vendor/golang.org/x/crypto/internal/chacha20/asm_arm64.s new file mode 100644 index 000000000..b3a16ef75 --- /dev/null +++ b/vendor/golang.org/x/crypto/internal/chacha20/asm_arm64.s @@ -0,0 +1,308 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.11 +// +build !gccgo,!appengine + +#include "textflag.h" + +#define NUM_ROUNDS 10 + +// func xorKeyStreamVX(dst, src []byte, key *[8]uint32, nonce *[3]uint32, counter *uint32) +TEXT ·xorKeyStreamVX(SB), NOSPLIT, $0 + MOVD dst+0(FP), R1 + MOVD src+24(FP), R2 + MOVD src_len+32(FP), R3 + MOVD key+48(FP), R4 + MOVD nonce+56(FP), R6 + MOVD counter+64(FP), R7 + + MOVD $·constants(SB), R10 + MOVD $·incRotMatrix(SB), R11 + + MOVW (R7), R20 + + AND $~255, R3, R13 + ADD R2, R13, R12 // R12 for block end + AND $255, R3, R13 +loop: + MOVD $NUM_ROUNDS, R21 + VLD1 (R11), [V30.S4, V31.S4] + + // load contants + // VLD4R (R10), [V0.S4, V1.S4, V2.S4, V3.S4] + WORD $0x4D60E940 + + // load keys + // VLD4R 16(R4), [V4.S4, V5.S4, V6.S4, V7.S4] + WORD $0x4DFFE884 + // VLD4R 16(R4), [V8.S4, V9.S4, V10.S4, V11.S4] + WORD $0x4DFFE888 + SUB $32, R4 + + // load counter + nonce + // VLD1R (R7), [V12.S4] + WORD $0x4D40C8EC + + // VLD3R (R6), [V13.S4, V14.S4, V15.S4] + WORD $0x4D40E8CD + + // update counter + VADD V30.S4, V12.S4, V12.S4 + +chacha: + // V0..V3 += V4..V7 + // V12..V15 <<<= ((V12..V15 XOR V0..V3), 16) + VADD V0.S4, V4.S4, V0.S4 + VADD V1.S4, V5.S4, V1.S4 + VADD V2.S4, V6.S4, V2.S4 + VADD V3.S4, V7.S4, V3.S4 + VEOR V12.B16, V0.B16, V12.B16 + VEOR V13.B16, V1.B16, V13.B16 + VEOR V14.B16, V2.B16, V14.B16 + VEOR V15.B16, V3.B16, V15.B16 + VREV32 V12.H8, V12.H8 + VREV32 V13.H8, V13.H8 + VREV32 V14.H8, V14.H8 + VREV32 V15.H8, V15.H8 + // V8..V11 += V12..V15 + // V4..V7 <<<= ((V4..V7 XOR V8..V11), 12) + VADD V8.S4, V12.S4, V8.S4 + VADD V9.S4, V13.S4, V9.S4 + VADD V10.S4, V14.S4, V10.S4 + VADD V11.S4, V15.S4, V11.S4 + VEOR V8.B16, V4.B16, V16.B16 + VEOR V9.B16, V5.B16, V17.B16 + VEOR V10.B16, V6.B16, V18.B16 + VEOR V11.B16, V7.B16, V19.B16 + VSHL $12, V16.S4, V4.S4 + VSHL $12, V17.S4, V5.S4 + VSHL $12, V18.S4, V6.S4 + VSHL $12, V19.S4, V7.S4 + VSRI $20, V16.S4, V4.S4 + VSRI $20, V17.S4, V5.S4 + VSRI $20, V18.S4, V6.S4 + VSRI $20, V19.S4, V7.S4 + + // V0..V3 += V4..V7 + // V12..V15 <<<= ((V12..V15 XOR V0..V3), 8) + VADD V0.S4, V4.S4, V0.S4 + VADD V1.S4, V5.S4, V1.S4 + VADD V2.S4, V6.S4, V2.S4 + VADD V3.S4, V7.S4, V3.S4 + VEOR V12.B16, V0.B16, V12.B16 + VEOR V13.B16, V1.B16, V13.B16 + VEOR V14.B16, V2.B16, V14.B16 + VEOR V15.B16, V3.B16, V15.B16 + VTBL V31.B16, [V12.B16], V12.B16 + VTBL V31.B16, [V13.B16], V13.B16 + VTBL V31.B16, [V14.B16], V14.B16 + VTBL V31.B16, [V15.B16], V15.B16 + + // V8..V11 += V12..V15 + // V4..V7 <<<= ((V4..V7 XOR V8..V11), 7) + VADD V12.S4, V8.S4, V8.S4 + VADD V13.S4, V9.S4, V9.S4 + VADD V14.S4, V10.S4, V10.S4 + VADD V15.S4, V11.S4, V11.S4 + VEOR V8.B16, V4.B16, V16.B16 + VEOR V9.B16, V5.B16, V17.B16 + VEOR V10.B16, V6.B16, V18.B16 + VEOR V11.B16, V7.B16, V19.B16 + VSHL $7, V16.S4, V4.S4 + VSHL $7, V17.S4, V5.S4 + VSHL $7, V18.S4, V6.S4 + VSHL $7, V19.S4, V7.S4 + VSRI $25, V16.S4, V4.S4 + VSRI $25, V17.S4, V5.S4 + VSRI $25, V18.S4, V6.S4 + VSRI $25, V19.S4, V7.S4 + + // V0..V3 += V5..V7, V4 + // V15,V12-V14 <<<= ((V15,V12-V14 XOR V0..V3), 16) + VADD V0.S4, V5.S4, V0.S4 + VADD V1.S4, V6.S4, V1.S4 + VADD V2.S4, V7.S4, V2.S4 + VADD V3.S4, V4.S4, V3.S4 + VEOR V15.B16, V0.B16, V15.B16 + VEOR V12.B16, V1.B16, V12.B16 + VEOR V13.B16, V2.B16, V13.B16 + VEOR V14.B16, V3.B16, V14.B16 + VREV32 V12.H8, V12.H8 + VREV32 V13.H8, V13.H8 + VREV32 V14.H8, V14.H8 + VREV32 V15.H8, V15.H8 + + // V10 += V15; V5 <<<= ((V10 XOR V5), 12) + // ... + VADD V15.S4, V10.S4, V10.S4 + VADD V12.S4, V11.S4, V11.S4 + VADD V13.S4, V8.S4, V8.S4 + VADD V14.S4, V9.S4, V9.S4 + VEOR V10.B16, V5.B16, V16.B16 + VEOR V11.B16, V6.B16, V17.B16 + VEOR V8.B16, V7.B16, V18.B16 + VEOR V9.B16, V4.B16, V19.B16 + VSHL $12, V16.S4, V5.S4 + VSHL $12, V17.S4, V6.S4 + VSHL $12, V18.S4, V7.S4 + VSHL $12, V19.S4, V4.S4 + VSRI $20, V16.S4, V5.S4 + VSRI $20, V17.S4, V6.S4 + VSRI $20, V18.S4, V7.S4 + VSRI $20, V19.S4, V4.S4 + + // V0 += V5; V15 <<<= ((V0 XOR V15), 8) + // ... + VADD V5.S4, V0.S4, V0.S4 + VADD V6.S4, V1.S4, V1.S4 + VADD V7.S4, V2.S4, V2.S4 + VADD V4.S4, V3.S4, V3.S4 + VEOR V0.B16, V15.B16, V15.B16 + VEOR V1.B16, V12.B16, V12.B16 + VEOR V2.B16, V13.B16, V13.B16 + VEOR V3.B16, V14.B16, V14.B16 + VTBL V31.B16, [V12.B16], V12.B16 + VTBL V31.B16, [V13.B16], V13.B16 + VTBL V31.B16, [V14.B16], V14.B16 + VTBL V31.B16, [V15.B16], V15.B16 + + // V10 += V15; V5 <<<= ((V10 XOR V5), 7) + // ... + VADD V15.S4, V10.S4, V10.S4 + VADD V12.S4, V11.S4, V11.S4 + VADD V13.S4, V8.S4, V8.S4 + VADD V14.S4, V9.S4, V9.S4 + VEOR V10.B16, V5.B16, V16.B16 + VEOR V11.B16, V6.B16, V17.B16 + VEOR V8.B16, V7.B16, V18.B16 + VEOR V9.B16, V4.B16, V19.B16 + VSHL $7, V16.S4, V5.S4 + VSHL $7, V17.S4, V6.S4 + VSHL $7, V18.S4, V7.S4 + VSHL $7, V19.S4, V4.S4 + VSRI $25, V16.S4, V5.S4 + VSRI $25, V17.S4, V6.S4 + VSRI $25, V18.S4, V7.S4 + VSRI $25, V19.S4, V4.S4 + + SUB $1, R21 + CBNZ R21, chacha + + // VLD4R (R10), [V16.S4, V17.S4, V18.S4, V19.S4] + WORD $0x4D60E950 + + // VLD4R 16(R4), [V20.S4, V21.S4, V22.S4, V23.S4] + WORD $0x4DFFE894 + VADD V30.S4, V12.S4, V12.S4 + VADD V16.S4, V0.S4, V0.S4 + VADD V17.S4, V1.S4, V1.S4 + VADD V18.S4, V2.S4, V2.S4 + VADD V19.S4, V3.S4, V3.S4 + // VLD4R 16(R4), [V24.S4, V25.S4, V26.S4, V27.S4] + WORD $0x4DFFE898 + // restore R4 + SUB $32, R4 + + // load counter + nonce + // VLD1R (R7), [V28.S4] + WORD $0x4D40C8FC + // VLD3R (R6), [V29.S4, V30.S4, V31.S4] + WORD $0x4D40E8DD + + VADD V20.S4, V4.S4, V4.S4 + VADD V21.S4, V5.S4, V5.S4 + VADD V22.S4, V6.S4, V6.S4 + VADD V23.S4, V7.S4, V7.S4 + VADD V24.S4, V8.S4, V8.S4 + VADD V25.S4, V9.S4, V9.S4 + VADD V26.S4, V10.S4, V10.S4 + VADD V27.S4, V11.S4, V11.S4 + VADD V28.S4, V12.S4, V12.S4 + VADD V29.S4, V13.S4, V13.S4 + VADD V30.S4, V14.S4, V14.S4 + VADD V31.S4, V15.S4, V15.S4 + + VZIP1 V1.S4, V0.S4, V16.S4 + VZIP2 V1.S4, V0.S4, V17.S4 + VZIP1 V3.S4, V2.S4, V18.S4 + VZIP2 V3.S4, V2.S4, V19.S4 + VZIP1 V5.S4, V4.S4, V20.S4 + VZIP2 V5.S4, V4.S4, V21.S4 + VZIP1 V7.S4, V6.S4, V22.S4 + VZIP2 V7.S4, V6.S4, V23.S4 + VZIP1 V9.S4, V8.S4, V24.S4 + VZIP2 V9.S4, V8.S4, V25.S4 + VZIP1 V11.S4, V10.S4, V26.S4 + VZIP2 V11.S4, V10.S4, V27.S4 + VZIP1 V13.S4, V12.S4, V28.S4 + VZIP2 V13.S4, V12.S4, V29.S4 + VZIP1 V15.S4, V14.S4, V30.S4 + VZIP2 V15.S4, V14.S4, V31.S4 + VZIP1 V18.D2, V16.D2, V0.D2 + VZIP2 V18.D2, V16.D2, V4.D2 + VZIP1 V19.D2, V17.D2, V8.D2 + VZIP2 V19.D2, V17.D2, V12.D2 + VLD1.P 64(R2), [V16.B16, V17.B16, V18.B16, V19.B16] + + VZIP1 V22.D2, V20.D2, V1.D2 + VZIP2 V22.D2, V20.D2, V5.D2 + VZIP1 V23.D2, V21.D2, V9.D2 + VZIP2 V23.D2, V21.D2, V13.D2 + VLD1.P 64(R2), [V20.B16, V21.B16, V22.B16, V23.B16] + VZIP1 V26.D2, V24.D2, V2.D2 + VZIP2 V26.D2, V24.D2, V6.D2 + VZIP1 V27.D2, V25.D2, V10.D2 + VZIP2 V27.D2, V25.D2, V14.D2 + VLD1.P 64(R2), [V24.B16, V25.B16, V26.B16, V27.B16] + VZIP1 V30.D2, V28.D2, V3.D2 + VZIP2 V30.D2, V28.D2, V7.D2 + VZIP1 V31.D2, V29.D2, V11.D2 + VZIP2 V31.D2, V29.D2, V15.D2 + VLD1.P 64(R2), [V28.B16, V29.B16, V30.B16, V31.B16] + VEOR V0.B16, V16.B16, V16.B16 + VEOR V1.B16, V17.B16, V17.B16 + VEOR V2.B16, V18.B16, V18.B16 + VEOR V3.B16, V19.B16, V19.B16 + VST1.P [V16.B16, V17.B16, V18.B16, V19.B16], 64(R1) + VEOR V4.B16, V20.B16, V20.B16 + VEOR V5.B16, V21.B16, V21.B16 + VEOR V6.B16, V22.B16, V22.B16 + VEOR V7.B16, V23.B16, V23.B16 + VST1.P [V20.B16, V21.B16, V22.B16, V23.B16], 64(R1) + VEOR V8.B16, V24.B16, V24.B16 + VEOR V9.B16, V25.B16, V25.B16 + VEOR V10.B16, V26.B16, V26.B16 + VEOR V11.B16, V27.B16, V27.B16 + VST1.P [V24.B16, V25.B16, V26.B16, V27.B16], 64(R1) + VEOR V12.B16, V28.B16, V28.B16 + VEOR V13.B16, V29.B16, V29.B16 + VEOR V14.B16, V30.B16, V30.B16 + VEOR V15.B16, V31.B16, V31.B16 + VST1.P [V28.B16, V29.B16, V30.B16, V31.B16], 64(R1) + + ADD $4, R20 + MOVW R20, (R7) // update counter + + CMP R2, R12 + BGT loop + + RET + + +DATA ·constants+0x00(SB)/4, $0x61707865 +DATA ·constants+0x04(SB)/4, $0x3320646e +DATA ·constants+0x08(SB)/4, $0x79622d32 +DATA ·constants+0x0c(SB)/4, $0x6b206574 +GLOBL ·constants(SB), NOPTR|RODATA, $32 + +DATA ·incRotMatrix+0x00(SB)/4, $0x00000000 +DATA ·incRotMatrix+0x04(SB)/4, $0x00000001 +DATA ·incRotMatrix+0x08(SB)/4, $0x00000002 +DATA ·incRotMatrix+0x0c(SB)/4, $0x00000003 +DATA ·incRotMatrix+0x10(SB)/4, $0x02010003 +DATA ·incRotMatrix+0x14(SB)/4, $0x06050407 +DATA ·incRotMatrix+0x18(SB)/4, $0x0A09080B +DATA ·incRotMatrix+0x1c(SB)/4, $0x0E0D0C0F +GLOBL ·incRotMatrix(SB), NOPTR|RODATA, $32 diff --git a/vendor/golang.org/x/crypto/internal/chacha20/chacha_arm64.go b/vendor/golang.org/x/crypto/internal/chacha20/chacha_arm64.go new file mode 100644 index 000000000..ad74e23ae --- /dev/null +++ b/vendor/golang.org/x/crypto/internal/chacha20/chacha_arm64.go @@ -0,0 +1,31 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.11 +// +build !gccgo + +package chacha20 + +const ( + haveAsm = true + bufSize = 256 +) + +//go:noescape +func xorKeyStreamVX(dst, src []byte, key *[8]uint32, nonce *[3]uint32, counter *uint32) + +func (c *Cipher) xorKeyStreamAsm(dst, src []byte) { + + if len(src) >= bufSize { + xorKeyStreamVX(dst, src, &c.key, &c.nonce, &c.counter) + } + + if len(src)%bufSize != 0 { + i := len(src) - len(src)%bufSize + c.buf = [bufSize]byte{} + copy(c.buf[:], src[i:]) + xorKeyStreamVX(c.buf[:], c.buf[:], &c.key, &c.nonce, &c.counter) + c.len = bufSize - copy(dst[i:], c.buf[:len(src)%bufSize]) + } +} diff --git a/vendor/golang.org/x/crypto/internal/chacha20/chacha_generic.go b/vendor/golang.org/x/crypto/internal/chacha20/chacha_generic.go new file mode 100644 index 000000000..6570847f5 --- /dev/null +++ b/vendor/golang.org/x/crypto/internal/chacha20/chacha_generic.go @@ -0,0 +1,264 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package ChaCha20 implements the core ChaCha20 function as specified +// in https://tools.ietf.org/html/rfc7539#section-2.3. +package chacha20 + +import ( + "crypto/cipher" + "encoding/binary" + + "golang.org/x/crypto/internal/subtle" +) + +// assert that *Cipher implements cipher.Stream +var _ cipher.Stream = (*Cipher)(nil) + +// Cipher is a stateful instance of ChaCha20 using a particular key +// and nonce. A *Cipher implements the cipher.Stream interface. +type Cipher struct { + key [8]uint32 + counter uint32 // incremented after each block + nonce [3]uint32 + buf [bufSize]byte // buffer for unused keystream bytes + len int // number of unused keystream bytes at end of buf +} + +// New creates a new ChaCha20 stream cipher with the given key and nonce. +// The initial counter value is set to 0. +func New(key [8]uint32, nonce [3]uint32) *Cipher { + return &Cipher{key: key, nonce: nonce} +} + +// ChaCha20 constants spelling "expand 32-byte k" +const ( + j0 uint32 = 0x61707865 + j1 uint32 = 0x3320646e + j2 uint32 = 0x79622d32 + j3 uint32 = 0x6b206574 +) + +func quarterRound(a, b, c, d uint32) (uint32, uint32, uint32, uint32) { + a += b + d ^= a + d = (d << 16) | (d >> 16) + c += d + b ^= c + b = (b << 12) | (b >> 20) + a += b + d ^= a + d = (d << 8) | (d >> 24) + c += d + b ^= c + b = (b << 7) | (b >> 25) + return a, b, c, d +} + +// XORKeyStream XORs each byte in the given slice with a byte from the +// cipher's key stream. Dst and src must overlap entirely or not at all. +// +// If len(dst) < len(src), XORKeyStream will panic. It is acceptable +// to pass a dst bigger than src, and in that case, XORKeyStream will +// only update dst[:len(src)] and will not touch the rest of dst. +// +// Multiple calls to XORKeyStream behave as if the concatenation of +// the src buffers was passed in a single run. That is, Cipher +// maintains state and does not reset at each XORKeyStream call. +func (s *Cipher) XORKeyStream(dst, src []byte) { + if len(dst) < len(src) { + panic("chacha20: output smaller than input") + } + if subtle.InexactOverlap(dst[:len(src)], src) { + panic("chacha20: invalid buffer overlap") + } + + // xor src with buffered keystream first + if s.len != 0 { + buf := s.buf[len(s.buf)-s.len:] + if len(src) < len(buf) { + buf = buf[:len(src)] + } + td, ts := dst[:len(buf)], src[:len(buf)] // BCE hint + for i, b := range buf { + td[i] = ts[i] ^ b + } + s.len -= len(buf) + if s.len != 0 { + return + } + s.buf = [len(s.buf)]byte{} // zero the empty buffer + src = src[len(buf):] + dst = dst[len(buf):] + } + + if len(src) == 0 { + return + } + if haveAsm { + if uint64(len(src))+uint64(s.counter)*64 > (1<<38)-64 { + panic("chacha20: counter overflow") + } + s.xorKeyStreamAsm(dst, src) + return + } + + // set up a 64-byte buffer to pad out the final block if needed + // (hoisted out of the main loop to avoid spills) + rem := len(src) % 64 // length of final block + fin := len(src) - rem // index of final block + if rem > 0 { + copy(s.buf[len(s.buf)-64:], src[fin:]) + } + + // pre-calculate most of the first round + s1, s5, s9, s13 := quarterRound(j1, s.key[1], s.key[5], s.nonce[0]) + s2, s6, s10, s14 := quarterRound(j2, s.key[2], s.key[6], s.nonce[1]) + s3, s7, s11, s15 := quarterRound(j3, s.key[3], s.key[7], s.nonce[2]) + + n := len(src) + src, dst = src[:n:n], dst[:n:n] // BCE hint + for i := 0; i < n; i += 64 { + // calculate the remainder of the first round + s0, s4, s8, s12 := quarterRound(j0, s.key[0], s.key[4], s.counter) + + // execute the second round + x0, x5, x10, x15 := quarterRound(s0, s5, s10, s15) + x1, x6, x11, x12 := quarterRound(s1, s6, s11, s12) + x2, x7, x8, x13 := quarterRound(s2, s7, s8, s13) + x3, x4, x9, x14 := quarterRound(s3, s4, s9, s14) + + // execute the remaining 18 rounds + for i := 0; i < 9; i++ { + x0, x4, x8, x12 = quarterRound(x0, x4, x8, x12) + x1, x5, x9, x13 = quarterRound(x1, x5, x9, x13) + x2, x6, x10, x14 = quarterRound(x2, x6, x10, x14) + x3, x7, x11, x15 = quarterRound(x3, x7, x11, x15) + + x0, x5, x10, x15 = quarterRound(x0, x5, x10, x15) + x1, x6, x11, x12 = quarterRound(x1, x6, x11, x12) + x2, x7, x8, x13 = quarterRound(x2, x7, x8, x13) + x3, x4, x9, x14 = quarterRound(x3, x4, x9, x14) + } + + x0 += j0 + x1 += j1 + x2 += j2 + x3 += j3 + + x4 += s.key[0] + x5 += s.key[1] + x6 += s.key[2] + x7 += s.key[3] + x8 += s.key[4] + x9 += s.key[5] + x10 += s.key[6] + x11 += s.key[7] + + x12 += s.counter + x13 += s.nonce[0] + x14 += s.nonce[1] + x15 += s.nonce[2] + + // increment the counter + s.counter += 1 + if s.counter == 0 { + panic("chacha20: counter overflow") + } + + // pad to 64 bytes if needed + in, out := src[i:], dst[i:] + if i == fin { + // src[fin:] has already been copied into s.buf before + // the main loop + in, out = s.buf[len(s.buf)-64:], s.buf[len(s.buf)-64:] + } + in, out = in[:64], out[:64] // BCE hint + + // XOR the key stream with the source and write out the result + xor(out[0:], in[0:], x0) + xor(out[4:], in[4:], x1) + xor(out[8:], in[8:], x2) + xor(out[12:], in[12:], x3) + xor(out[16:], in[16:], x4) + xor(out[20:], in[20:], x5) + xor(out[24:], in[24:], x6) + xor(out[28:], in[28:], x7) + xor(out[32:], in[32:], x8) + xor(out[36:], in[36:], x9) + xor(out[40:], in[40:], x10) + xor(out[44:], in[44:], x11) + xor(out[48:], in[48:], x12) + xor(out[52:], in[52:], x13) + xor(out[56:], in[56:], x14) + xor(out[60:], in[60:], x15) + } + // copy any trailing bytes out of the buffer and into dst + if rem != 0 { + s.len = 64 - rem + copy(dst[fin:], s.buf[len(s.buf)-64:]) + } +} + +// Advance discards bytes in the key stream until the next 64 byte block +// boundary is reached and updates the counter accordingly. If the key +// stream is already at a block boundary no bytes will be discarded and +// the counter will be unchanged. +func (s *Cipher) Advance() { + s.len -= s.len % 64 + if s.len == 0 { + s.buf = [len(s.buf)]byte{} + } +} + +// XORKeyStream crypts bytes from in to out using the given key and counters. +// In and out must overlap entirely or not at all. Counter contains the raw +// ChaCha20 counter bytes (i.e. block counter followed by nonce). +func XORKeyStream(out, in []byte, counter *[16]byte, key *[32]byte) { + s := Cipher{ + key: [8]uint32{ + binary.LittleEndian.Uint32(key[0:4]), + binary.LittleEndian.Uint32(key[4:8]), + binary.LittleEndian.Uint32(key[8:12]), + binary.LittleEndian.Uint32(key[12:16]), + binary.LittleEndian.Uint32(key[16:20]), + binary.LittleEndian.Uint32(key[20:24]), + binary.LittleEndian.Uint32(key[24:28]), + binary.LittleEndian.Uint32(key[28:32]), + }, + nonce: [3]uint32{ + binary.LittleEndian.Uint32(counter[4:8]), + binary.LittleEndian.Uint32(counter[8:12]), + binary.LittleEndian.Uint32(counter[12:16]), + }, + counter: binary.LittleEndian.Uint32(counter[0:4]), + } + s.XORKeyStream(out, in) +} + +// HChaCha20 uses the ChaCha20 core to generate a derived key from a key and a +// nonce. It should only be used as part of the XChaCha20 construction. +func HChaCha20(key *[8]uint32, nonce *[4]uint32) [8]uint32 { + x0, x1, x2, x3 := j0, j1, j2, j3 + x4, x5, x6, x7 := key[0], key[1], key[2], key[3] + x8, x9, x10, x11 := key[4], key[5], key[6], key[7] + x12, x13, x14, x15 := nonce[0], nonce[1], nonce[2], nonce[3] + + for i := 0; i < 10; i++ { + x0, x4, x8, x12 = quarterRound(x0, x4, x8, x12) + x1, x5, x9, x13 = quarterRound(x1, x5, x9, x13) + x2, x6, x10, x14 = quarterRound(x2, x6, x10, x14) + x3, x7, x11, x15 = quarterRound(x3, x7, x11, x15) + + x0, x5, x10, x15 = quarterRound(x0, x5, x10, x15) + x1, x6, x11, x12 = quarterRound(x1, x6, x11, x12) + x2, x7, x8, x13 = quarterRound(x2, x7, x8, x13) + x3, x4, x9, x14 = quarterRound(x3, x4, x9, x14) + } + + var out [8]uint32 + out[0], out[1], out[2], out[3] = x0, x1, x2, x3 + out[4], out[5], out[6], out[7] = x12, x13, x14, x15 + return out +} diff --git a/vendor/golang.org/x/crypto/internal/chacha20/chacha_noasm.go b/vendor/golang.org/x/crypto/internal/chacha20/chacha_noasm.go new file mode 100644 index 000000000..47eac0314 --- /dev/null +++ b/vendor/golang.org/x/crypto/internal/chacha20/chacha_noasm.go @@ -0,0 +1,16 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !arm64,!s390x arm64,!go1.11 gccgo appengine + +package chacha20 + +const ( + bufSize = 64 + haveAsm = false +) + +func (*Cipher) xorKeyStreamAsm(dst, src []byte) { + panic("not implemented") +} diff --git a/vendor/golang.org/x/crypto/internal/chacha20/chacha_s390x.go b/vendor/golang.org/x/crypto/internal/chacha20/chacha_s390x.go new file mode 100644 index 000000000..0c1c671c4 --- /dev/null +++ b/vendor/golang.org/x/crypto/internal/chacha20/chacha_s390x.go @@ -0,0 +1,30 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build s390x,!gccgo,!appengine + +package chacha20 + +var haveAsm = hasVectorFacility() + +const bufSize = 256 + +// hasVectorFacility reports whether the machine supports the vector +// facility (vx). +// Implementation in asm_s390x.s. +func hasVectorFacility() bool + +// xorKeyStreamVX is an assembly implementation of XORKeyStream. It must only +// be called when the vector facility is available. +// Implementation in asm_s390x.s. +//go:noescape +func xorKeyStreamVX(dst, src []byte, key *[8]uint32, nonce *[3]uint32, counter *uint32, buf *[256]byte, len *int) + +func (c *Cipher) xorKeyStreamAsm(dst, src []byte) { + xorKeyStreamVX(dst, src, &c.key, &c.nonce, &c.counter, &c.buf, &c.len) +} + +// EXRL targets, DO NOT CALL! +func mvcSrcToBuf() +func mvcBufToDst() diff --git a/vendor/golang.org/x/crypto/internal/chacha20/chacha_s390x.s b/vendor/golang.org/x/crypto/internal/chacha20/chacha_s390x.s new file mode 100644 index 000000000..98427c5e2 --- /dev/null +++ b/vendor/golang.org/x/crypto/internal/chacha20/chacha_s390x.s @@ -0,0 +1,283 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build s390x,!gccgo,!appengine + +#include "go_asm.h" +#include "textflag.h" + +// This is an implementation of the ChaCha20 encryption algorithm as +// specified in RFC 7539. It uses vector instructions to compute +// 4 keystream blocks in parallel (256 bytes) which are then XORed +// with the bytes in the input slice. + +GLOBL ·constants<>(SB), RODATA|NOPTR, $32 +// BSWAP: swap bytes in each 4-byte element +DATA ·constants<>+0x00(SB)/4, $0x03020100 +DATA ·constants<>+0x04(SB)/4, $0x07060504 +DATA ·constants<>+0x08(SB)/4, $0x0b0a0908 +DATA ·constants<>+0x0c(SB)/4, $0x0f0e0d0c +// J0: [j0, j1, j2, j3] +DATA ·constants<>+0x10(SB)/4, $0x61707865 +DATA ·constants<>+0x14(SB)/4, $0x3320646e +DATA ·constants<>+0x18(SB)/4, $0x79622d32 +DATA ·constants<>+0x1c(SB)/4, $0x6b206574 + +// EXRL targets: +TEXT ·mvcSrcToBuf(SB), NOFRAME|NOSPLIT, $0 + MVC $1, (R1), (R8) + RET + +TEXT ·mvcBufToDst(SB), NOFRAME|NOSPLIT, $0 + MVC $1, (R8), (R9) + RET + +#define BSWAP V5 +#define J0 V6 +#define KEY0 V7 +#define KEY1 V8 +#define NONCE V9 +#define CTR V10 +#define M0 V11 +#define M1 V12 +#define M2 V13 +#define M3 V14 +#define INC V15 +#define X0 V16 +#define X1 V17 +#define X2 V18 +#define X3 V19 +#define X4 V20 +#define X5 V21 +#define X6 V22 +#define X7 V23 +#define X8 V24 +#define X9 V25 +#define X10 V26 +#define X11 V27 +#define X12 V28 +#define X13 V29 +#define X14 V30 +#define X15 V31 + +#define NUM_ROUNDS 20 + +#define ROUND4(a0, a1, a2, a3, b0, b1, b2, b3, c0, c1, c2, c3, d0, d1, d2, d3) \ + VAF a1, a0, a0 \ + VAF b1, b0, b0 \ + VAF c1, c0, c0 \ + VAF d1, d0, d0 \ + VX a0, a2, a2 \ + VX b0, b2, b2 \ + VX c0, c2, c2 \ + VX d0, d2, d2 \ + VERLLF $16, a2, a2 \ + VERLLF $16, b2, b2 \ + VERLLF $16, c2, c2 \ + VERLLF $16, d2, d2 \ + VAF a2, a3, a3 \ + VAF b2, b3, b3 \ + VAF c2, c3, c3 \ + VAF d2, d3, d3 \ + VX a3, a1, a1 \ + VX b3, b1, b1 \ + VX c3, c1, c1 \ + VX d3, d1, d1 \ + VERLLF $12, a1, a1 \ + VERLLF $12, b1, b1 \ + VERLLF $12, c1, c1 \ + VERLLF $12, d1, d1 \ + VAF a1, a0, a0 \ + VAF b1, b0, b0 \ + VAF c1, c0, c0 \ + VAF d1, d0, d0 \ + VX a0, a2, a2 \ + VX b0, b2, b2 \ + VX c0, c2, c2 \ + VX d0, d2, d2 \ + VERLLF $8, a2, a2 \ + VERLLF $8, b2, b2 \ + VERLLF $8, c2, c2 \ + VERLLF $8, d2, d2 \ + VAF a2, a3, a3 \ + VAF b2, b3, b3 \ + VAF c2, c3, c3 \ + VAF d2, d3, d3 \ + VX a3, a1, a1 \ + VX b3, b1, b1 \ + VX c3, c1, c1 \ + VX d3, d1, d1 \ + VERLLF $7, a1, a1 \ + VERLLF $7, b1, b1 \ + VERLLF $7, c1, c1 \ + VERLLF $7, d1, d1 + +#define PERMUTE(mask, v0, v1, v2, v3) \ + VPERM v0, v0, mask, v0 \ + VPERM v1, v1, mask, v1 \ + VPERM v2, v2, mask, v2 \ + VPERM v3, v3, mask, v3 + +#define ADDV(x, v0, v1, v2, v3) \ + VAF x, v0, v0 \ + VAF x, v1, v1 \ + VAF x, v2, v2 \ + VAF x, v3, v3 + +#define XORV(off, dst, src, v0, v1, v2, v3) \ + VLM off(src), M0, M3 \ + PERMUTE(BSWAP, v0, v1, v2, v3) \ + VX v0, M0, M0 \ + VX v1, M1, M1 \ + VX v2, M2, M2 \ + VX v3, M3, M3 \ + VSTM M0, M3, off(dst) + +#define SHUFFLE(a, b, c, d, t, u, v, w) \ + VMRHF a, c, t \ // t = {a[0], c[0], a[1], c[1]} + VMRHF b, d, u \ // u = {b[0], d[0], b[1], d[1]} + VMRLF a, c, v \ // v = {a[2], c[2], a[3], c[3]} + VMRLF b, d, w \ // w = {b[2], d[2], b[3], d[3]} + VMRHF t, u, a \ // a = {a[0], b[0], c[0], d[0]} + VMRLF t, u, b \ // b = {a[1], b[1], c[1], d[1]} + VMRHF v, w, c \ // c = {a[2], b[2], c[2], d[2]} + VMRLF v, w, d // d = {a[3], b[3], c[3], d[3]} + +// func xorKeyStreamVX(dst, src []byte, key *[8]uint32, nonce *[3]uint32, counter *uint32, buf *[256]byte, len *int) +TEXT ·xorKeyStreamVX(SB), NOSPLIT, $0 + MOVD $·constants<>(SB), R1 + MOVD dst+0(FP), R2 // R2=&dst[0] + LMG src+24(FP), R3, R4 // R3=&src[0] R4=len(src) + MOVD key+48(FP), R5 // R5=key + MOVD nonce+56(FP), R6 // R6=nonce + MOVD counter+64(FP), R7 // R7=counter + MOVD buf+72(FP), R8 // R8=buf + MOVD len+80(FP), R9 // R9=len + + // load BSWAP and J0 + VLM (R1), BSWAP, J0 + + // set up tail buffer + ADD $-1, R4, R12 + MOVBZ R12, R12 + CMPUBEQ R12, $255, aligned + MOVD R4, R1 + AND $~255, R1 + MOVD $(R3)(R1*1), R1 + EXRL $·mvcSrcToBuf(SB), R12 + MOVD $255, R0 + SUB R12, R0 + MOVD R0, (R9) // update len + +aligned: + // setup + MOVD $95, R0 + VLM (R5), KEY0, KEY1 + VLL R0, (R6), NONCE + VZERO M0 + VLEIB $7, $32, M0 + VSRLB M0, NONCE, NONCE + + // initialize counter values + VLREPF (R7), CTR + VZERO INC + VLEIF $1, $1, INC + VLEIF $2, $2, INC + VLEIF $3, $3, INC + VAF INC, CTR, CTR + VREPIF $4, INC + +chacha: + VREPF $0, J0, X0 + VREPF $1, J0, X1 + VREPF $2, J0, X2 + VREPF $3, J0, X3 + VREPF $0, KEY0, X4 + VREPF $1, KEY0, X5 + VREPF $2, KEY0, X6 + VREPF $3, KEY0, X7 + VREPF $0, KEY1, X8 + VREPF $1, KEY1, X9 + VREPF $2, KEY1, X10 + VREPF $3, KEY1, X11 + VLR CTR, X12 + VREPF $1, NONCE, X13 + VREPF $2, NONCE, X14 + VREPF $3, NONCE, X15 + + MOVD $(NUM_ROUNDS/2), R1 + +loop: + ROUND4(X0, X4, X12, X8, X1, X5, X13, X9, X2, X6, X14, X10, X3, X7, X15, X11) + ROUND4(X0, X5, X15, X10, X1, X6, X12, X11, X2, X7, X13, X8, X3, X4, X14, X9) + + ADD $-1, R1 + BNE loop + + // decrement length + ADD $-256, R4 + BLT tail + +continue: + // rearrange vectors + SHUFFLE(X0, X1, X2, X3, M0, M1, M2, M3) + ADDV(J0, X0, X1, X2, X3) + SHUFFLE(X4, X5, X6, X7, M0, M1, M2, M3) + ADDV(KEY0, X4, X5, X6, X7) + SHUFFLE(X8, X9, X10, X11, M0, M1, M2, M3) + ADDV(KEY1, X8, X9, X10, X11) + VAF CTR, X12, X12 + SHUFFLE(X12, X13, X14, X15, M0, M1, M2, M3) + ADDV(NONCE, X12, X13, X14, X15) + + // increment counters + VAF INC, CTR, CTR + + // xor keystream with plaintext + XORV(0*64, R2, R3, X0, X4, X8, X12) + XORV(1*64, R2, R3, X1, X5, X9, X13) + XORV(2*64, R2, R3, X2, X6, X10, X14) + XORV(3*64, R2, R3, X3, X7, X11, X15) + + // increment pointers + MOVD $256(R2), R2 + MOVD $256(R3), R3 + + CMPBNE R4, $0, chacha + CMPUBEQ R12, $255, return + EXRL $·mvcBufToDst(SB), R12 // len was updated during setup + +return: + VSTEF $0, CTR, (R7) + RET + +tail: + MOVD R2, R9 + MOVD R8, R2 + MOVD R8, R3 + MOVD $0, R4 + JMP continue + +// func hasVectorFacility() bool +TEXT ·hasVectorFacility(SB), NOSPLIT, $24-1 + MOVD $x-24(SP), R1 + XC $24, 0(R1), 0(R1) // clear the storage + MOVD $2, R0 // R0 is the number of double words stored -1 + WORD $0xB2B01000 // STFLE 0(R1) + XOR R0, R0 // reset the value of R0 + MOVBZ z-8(SP), R1 + AND $0x40, R1 + BEQ novector + +vectorinstalled: + // check if the vector instruction has been enabled + VLEIB $0, $0xF, V16 + VLGVB $0, V16, R1 + CMPBNE R1, $0xF, novector + MOVB $1, ret+0(FP) // have vx + RET + +novector: + MOVB $0, ret+0(FP) // no vx + RET diff --git a/vendor/golang.org/x/crypto/internal/chacha20/xor.go b/vendor/golang.org/x/crypto/internal/chacha20/xor.go new file mode 100644 index 000000000..9c5ba0b33 --- /dev/null +++ b/vendor/golang.org/x/crypto/internal/chacha20/xor.go @@ -0,0 +1,43 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found src the LICENSE file. + +package chacha20 + +import ( + "runtime" +) + +// Platforms that have fast unaligned 32-bit little endian accesses. +const unaligned = runtime.GOARCH == "386" || + runtime.GOARCH == "amd64" || + runtime.GOARCH == "arm64" || + runtime.GOARCH == "ppc64le" || + runtime.GOARCH == "s390x" + +// xor reads a little endian uint32 from src, XORs it with u and +// places the result in little endian byte order in dst. +func xor(dst, src []byte, u uint32) { + _, _ = src[3], dst[3] // eliminate bounds checks + if unaligned { + // The compiler should optimize this code into + // 32-bit unaligned little endian loads and stores. + // TODO: delete once the compiler does a reliably + // good job with the generic code below. + // See issue #25111 for more details. + v := uint32(src[0]) + v |= uint32(src[1]) << 8 + v |= uint32(src[2]) << 16 + v |= uint32(src[3]) << 24 + v ^= u + dst[0] = byte(v) + dst[1] = byte(v >> 8) + dst[2] = byte(v >> 16) + dst[3] = byte(v >> 24) + } else { + dst[0] = src[0] ^ byte(u) + dst[1] = src[1] ^ byte(u>>8) + dst[2] = src[2] ^ byte(u>>16) + dst[3] = src[3] ^ byte(u>>24) + } +} diff --git a/vendor/golang.org/x/crypto/internal/subtle/aliasing.go b/vendor/golang.org/x/crypto/internal/subtle/aliasing.go new file mode 100644 index 000000000..f38797bfa --- /dev/null +++ b/vendor/golang.org/x/crypto/internal/subtle/aliasing.go @@ -0,0 +1,32 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !appengine + +// Package subtle implements functions that are often useful in cryptographic +// code but require careful thought to use correctly. +package subtle // import "golang.org/x/crypto/internal/subtle" + +import "unsafe" + +// AnyOverlap reports whether x and y share memory at any (not necessarily +// corresponding) index. The memory beyond the slice length is ignored. +func AnyOverlap(x, y []byte) bool { + return len(x) > 0 && len(y) > 0 && + uintptr(unsafe.Pointer(&x[0])) <= uintptr(unsafe.Pointer(&y[len(y)-1])) && + uintptr(unsafe.Pointer(&y[0])) <= uintptr(unsafe.Pointer(&x[len(x)-1])) +} + +// InexactOverlap reports whether x and y share memory at any non-corresponding +// index. The memory beyond the slice length is ignored. Note that x and y can +// have different lengths and still not have any inexact overlap. +// +// InexactOverlap can be used to implement the requirements of the crypto/cipher +// AEAD, Block, BlockMode and Stream interfaces. +func InexactOverlap(x, y []byte) bool { + if len(x) == 0 || len(y) == 0 || &x[0] == &y[0] { + return false + } + return AnyOverlap(x, y) +} diff --git a/vendor/golang.org/x/crypto/internal/subtle/aliasing_appengine.go b/vendor/golang.org/x/crypto/internal/subtle/aliasing_appengine.go new file mode 100644 index 000000000..0cc4a8a64 --- /dev/null +++ b/vendor/golang.org/x/crypto/internal/subtle/aliasing_appengine.go @@ -0,0 +1,35 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build appengine + +// Package subtle implements functions that are often useful in cryptographic +// code but require careful thought to use correctly. +package subtle // import "golang.org/x/crypto/internal/subtle" + +// This is the Google App Engine standard variant based on reflect +// because the unsafe package and cgo are disallowed. + +import "reflect" + +// AnyOverlap reports whether x and y share memory at any (not necessarily +// corresponding) index. The memory beyond the slice length is ignored. +func AnyOverlap(x, y []byte) bool { + return len(x) > 0 && len(y) > 0 && + reflect.ValueOf(&x[0]).Pointer() <= reflect.ValueOf(&y[len(y)-1]).Pointer() && + reflect.ValueOf(&y[0]).Pointer() <= reflect.ValueOf(&x[len(x)-1]).Pointer() +} + +// InexactOverlap reports whether x and y share memory at any non-corresponding +// index. The memory beyond the slice length is ignored. Note that x and y can +// have different lengths and still not have any inexact overlap. +// +// InexactOverlap can be used to implement the requirements of the crypto/cipher +// AEAD, Block, BlockMode and Stream interfaces. +func InexactOverlap(x, y []byte) bool { + if len(x) == 0 || len(y) == 0 || &x[0] == &y[0] { + return false + } + return AnyOverlap(x, y) +} diff --git a/vendor/golang.org/x/crypto/poly1305/poly1305.go b/vendor/golang.org/x/crypto/poly1305/poly1305.go new file mode 100644 index 000000000..f562fa571 --- /dev/null +++ b/vendor/golang.org/x/crypto/poly1305/poly1305.go @@ -0,0 +1,33 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +/* +Package poly1305 implements Poly1305 one-time message authentication code as +specified in https://cr.yp.to/mac/poly1305-20050329.pdf. + +Poly1305 is a fast, one-time authentication function. It is infeasible for an +attacker to generate an authenticator for a message without the key. However, a +key must only be used for a single message. Authenticating two different +messages with the same key allows an attacker to forge authenticators for other +messages with the same key. + +Poly1305 was originally coupled with AES in order to make Poly1305-AES. AES was +used with a fixed key in order to generate one-time keys from an nonce. +However, in this package AES isn't used and the one-time key is specified +directly. +*/ +package poly1305 // import "golang.org/x/crypto/poly1305" + +import "crypto/subtle" + +// TagSize is the size, in bytes, of a poly1305 authenticator. +const TagSize = 16 + +// Verify returns true if mac is a valid authenticator for m with the given +// key. +func Verify(mac *[16]byte, m []byte, key *[32]byte) bool { + var tmp [16]byte + Sum(&tmp, m, key) + return subtle.ConstantTimeCompare(tmp[:], mac[:]) == 1 +} diff --git a/vendor/golang.org/x/crypto/poly1305/sum_amd64.go b/vendor/golang.org/x/crypto/poly1305/sum_amd64.go new file mode 100644 index 000000000..4dd72fe79 --- /dev/null +++ b/vendor/golang.org/x/crypto/poly1305/sum_amd64.go @@ -0,0 +1,22 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,!gccgo,!appengine + +package poly1305 + +// This function is implemented in sum_amd64.s +//go:noescape +func poly1305(out *[16]byte, m *byte, mlen uint64, key *[32]byte) + +// Sum generates an authenticator for m using a one-time key and puts the +// 16-byte result into out. Authenticating two different messages with the same +// key allows an attacker to forge messages at will. +func Sum(out *[16]byte, m []byte, key *[32]byte) { + var mPtr *byte + if len(m) > 0 { + mPtr = &m[0] + } + poly1305(out, mPtr, uint64(len(m)), key) +} diff --git a/vendor/golang.org/x/crypto/poly1305/sum_amd64.s b/vendor/golang.org/x/crypto/poly1305/sum_amd64.s new file mode 100644 index 000000000..2edae6382 --- /dev/null +++ b/vendor/golang.org/x/crypto/poly1305/sum_amd64.s @@ -0,0 +1,125 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,!gccgo,!appengine + +#include "textflag.h" + +#define POLY1305_ADD(msg, h0, h1, h2) \ + ADDQ 0(msg), h0; \ + ADCQ 8(msg), h1; \ + ADCQ $1, h2; \ + LEAQ 16(msg), msg + +#define POLY1305_MUL(h0, h1, h2, r0, r1, t0, t1, t2, t3) \ + MOVQ r0, AX; \ + MULQ h0; \ + MOVQ AX, t0; \ + MOVQ DX, t1; \ + MOVQ r0, AX; \ + MULQ h1; \ + ADDQ AX, t1; \ + ADCQ $0, DX; \ + MOVQ r0, t2; \ + IMULQ h2, t2; \ + ADDQ DX, t2; \ + \ + MOVQ r1, AX; \ + MULQ h0; \ + ADDQ AX, t1; \ + ADCQ $0, DX; \ + MOVQ DX, h0; \ + MOVQ r1, t3; \ + IMULQ h2, t3; \ + MOVQ r1, AX; \ + MULQ h1; \ + ADDQ AX, t2; \ + ADCQ DX, t3; \ + ADDQ h0, t2; \ + ADCQ $0, t3; \ + \ + MOVQ t0, h0; \ + MOVQ t1, h1; \ + MOVQ t2, h2; \ + ANDQ $3, h2; \ + MOVQ t2, t0; \ + ANDQ $0xFFFFFFFFFFFFFFFC, t0; \ + ADDQ t0, h0; \ + ADCQ t3, h1; \ + ADCQ $0, h2; \ + SHRQ $2, t3, t2; \ + SHRQ $2, t3; \ + ADDQ t2, h0; \ + ADCQ t3, h1; \ + ADCQ $0, h2 + +DATA ·poly1305Mask<>+0x00(SB)/8, $0x0FFFFFFC0FFFFFFF +DATA ·poly1305Mask<>+0x08(SB)/8, $0x0FFFFFFC0FFFFFFC +GLOBL ·poly1305Mask<>(SB), RODATA, $16 + +// func poly1305(out *[16]byte, m *byte, mlen uint64, key *[32]key) +TEXT ·poly1305(SB), $0-32 + MOVQ out+0(FP), DI + MOVQ m+8(FP), SI + MOVQ mlen+16(FP), R15 + MOVQ key+24(FP), AX + + MOVQ 0(AX), R11 + MOVQ 8(AX), R12 + ANDQ ·poly1305Mask<>(SB), R11 // r0 + ANDQ ·poly1305Mask<>+8(SB), R12 // r1 + XORQ R8, R8 // h0 + XORQ R9, R9 // h1 + XORQ R10, R10 // h2 + + CMPQ R15, $16 + JB bytes_between_0_and_15 + +loop: + POLY1305_ADD(SI, R8, R9, R10) + +multiply: + POLY1305_MUL(R8, R9, R10, R11, R12, BX, CX, R13, R14) + SUBQ $16, R15 + CMPQ R15, $16 + JAE loop + +bytes_between_0_and_15: + TESTQ R15, R15 + JZ done + MOVQ $1, BX + XORQ CX, CX + XORQ R13, R13 + ADDQ R15, SI + +flush_buffer: + SHLQ $8, BX, CX + SHLQ $8, BX + MOVB -1(SI), R13 + XORQ R13, BX + DECQ SI + DECQ R15 + JNZ flush_buffer + + ADDQ BX, R8 + ADCQ CX, R9 + ADCQ $0, R10 + MOVQ $16, R15 + JMP multiply + +done: + MOVQ R8, AX + MOVQ R9, BX + SUBQ $0xFFFFFFFFFFFFFFFB, AX + SBBQ $0xFFFFFFFFFFFFFFFF, BX + SBBQ $3, R10 + CMOVQCS R8, AX + CMOVQCS R9, BX + MOVQ key+24(FP), R8 + ADDQ 16(R8), AX + ADCQ 24(R8), BX + + MOVQ AX, 0(DI) + MOVQ BX, 8(DI) + RET diff --git a/vendor/golang.org/x/crypto/poly1305/sum_arm.go b/vendor/golang.org/x/crypto/poly1305/sum_arm.go new file mode 100644 index 000000000..5dc321c2f --- /dev/null +++ b/vendor/golang.org/x/crypto/poly1305/sum_arm.go @@ -0,0 +1,22 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm,!gccgo,!appengine,!nacl + +package poly1305 + +// This function is implemented in sum_arm.s +//go:noescape +func poly1305_auth_armv6(out *[16]byte, m *byte, mlen uint32, key *[32]byte) + +// Sum generates an authenticator for m using a one-time key and puts the +// 16-byte result into out. Authenticating two different messages with the same +// key allows an attacker to forge messages at will. +func Sum(out *[16]byte, m []byte, key *[32]byte) { + var mPtr *byte + if len(m) > 0 { + mPtr = &m[0] + } + poly1305_auth_armv6(out, mPtr, uint32(len(m)), key) +} diff --git a/vendor/golang.org/x/crypto/poly1305/sum_arm.s b/vendor/golang.org/x/crypto/poly1305/sum_arm.s new file mode 100644 index 000000000..f70b4ac48 --- /dev/null +++ b/vendor/golang.org/x/crypto/poly1305/sum_arm.s @@ -0,0 +1,427 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm,!gccgo,!appengine,!nacl + +#include "textflag.h" + +// This code was translated into a form compatible with 5a from the public +// domain source by Andrew Moon: github.com/floodyberry/poly1305-opt/blob/master/app/extensions/poly1305. + +DATA ·poly1305_init_constants_armv6<>+0x00(SB)/4, $0x3ffffff +DATA ·poly1305_init_constants_armv6<>+0x04(SB)/4, $0x3ffff03 +DATA ·poly1305_init_constants_armv6<>+0x08(SB)/4, $0x3ffc0ff +DATA ·poly1305_init_constants_armv6<>+0x0c(SB)/4, $0x3f03fff +DATA ·poly1305_init_constants_armv6<>+0x10(SB)/4, $0x00fffff +GLOBL ·poly1305_init_constants_armv6<>(SB), 8, $20 + +// Warning: the linker may use R11 to synthesize certain instructions. Please +// take care and verify that no synthetic instructions use it. + +TEXT poly1305_init_ext_armv6<>(SB), NOSPLIT, $0 + // Needs 16 bytes of stack and 64 bytes of space pointed to by R0. (It + // might look like it's only 60 bytes of space but the final four bytes + // will be written by another function.) We need to skip over four + // bytes of stack because that's saving the value of 'g'. + ADD $4, R13, R8 + MOVM.IB [R4-R7], (R8) + MOVM.IA.W (R1), [R2-R5] + MOVW $·poly1305_init_constants_armv6<>(SB), R7 + MOVW R2, R8 + MOVW R2>>26, R9 + MOVW R3>>20, g + MOVW R4>>14, R11 + MOVW R5>>8, R12 + ORR R3<<6, R9, R9 + ORR R4<<12, g, g + ORR R5<<18, R11, R11 + MOVM.IA (R7), [R2-R6] + AND R8, R2, R2 + AND R9, R3, R3 + AND g, R4, R4 + AND R11, R5, R5 + AND R12, R6, R6 + MOVM.IA.W [R2-R6], (R0) + EOR R2, R2, R2 + EOR R3, R3, R3 + EOR R4, R4, R4 + EOR R5, R5, R5 + EOR R6, R6, R6 + MOVM.IA.W [R2-R6], (R0) + MOVM.IA.W (R1), [R2-R5] + MOVM.IA [R2-R6], (R0) + ADD $20, R13, R0 + MOVM.DA (R0), [R4-R7] + RET + +#define MOVW_UNALIGNED(Rsrc, Rdst, Rtmp, offset) \ + MOVBU (offset+0)(Rsrc), Rtmp; \ + MOVBU Rtmp, (offset+0)(Rdst); \ + MOVBU (offset+1)(Rsrc), Rtmp; \ + MOVBU Rtmp, (offset+1)(Rdst); \ + MOVBU (offset+2)(Rsrc), Rtmp; \ + MOVBU Rtmp, (offset+2)(Rdst); \ + MOVBU (offset+3)(Rsrc), Rtmp; \ + MOVBU Rtmp, (offset+3)(Rdst) + +TEXT poly1305_blocks_armv6<>(SB), NOSPLIT, $0 + // Needs 24 bytes of stack for saved registers and then 88 bytes of + // scratch space after that. We assume that 24 bytes at (R13) have + // already been used: four bytes for the link register saved in the + // prelude of poly1305_auth_armv6, four bytes for saving the value of g + // in that function and 16 bytes of scratch space used around + // poly1305_finish_ext_armv6_skip1. + ADD $24, R13, R12 + MOVM.IB [R4-R8, R14], (R12) + MOVW R0, 88(R13) + MOVW R1, 92(R13) + MOVW R2, 96(R13) + MOVW R1, R14 + MOVW R2, R12 + MOVW 56(R0), R8 + WORD $0xe1180008 // TST R8, R8 not working see issue 5921 + EOR R6, R6, R6 + MOVW.EQ $(1<<24), R6 + MOVW R6, 84(R13) + ADD $116, R13, g + MOVM.IA (R0), [R0-R9] + MOVM.IA [R0-R4], (g) + CMP $16, R12 + BLO poly1305_blocks_armv6_done + +poly1305_blocks_armv6_mainloop: + WORD $0xe31e0003 // TST R14, #3 not working see issue 5921 + BEQ poly1305_blocks_armv6_mainloop_aligned + ADD $100, R13, g + MOVW_UNALIGNED(R14, g, R0, 0) + MOVW_UNALIGNED(R14, g, R0, 4) + MOVW_UNALIGNED(R14, g, R0, 8) + MOVW_UNALIGNED(R14, g, R0, 12) + MOVM.IA (g), [R0-R3] + ADD $16, R14 + B poly1305_blocks_armv6_mainloop_loaded + +poly1305_blocks_armv6_mainloop_aligned: + MOVM.IA.W (R14), [R0-R3] + +poly1305_blocks_armv6_mainloop_loaded: + MOVW R0>>26, g + MOVW R1>>20, R11 + MOVW R2>>14, R12 + MOVW R14, 92(R13) + MOVW R3>>8, R4 + ORR R1<<6, g, g + ORR R2<<12, R11, R11 + ORR R3<<18, R12, R12 + BIC $0xfc000000, R0, R0 + BIC $0xfc000000, g, g + MOVW 84(R13), R3 + BIC $0xfc000000, R11, R11 + BIC $0xfc000000, R12, R12 + ADD R0, R5, R5 + ADD g, R6, R6 + ORR R3, R4, R4 + ADD R11, R7, R7 + ADD $116, R13, R14 + ADD R12, R8, R8 + ADD R4, R9, R9 + MOVM.IA (R14), [R0-R4] + MULLU R4, R5, (R11, g) + MULLU R3, R5, (R14, R12) + MULALU R3, R6, (R11, g) + MULALU R2, R6, (R14, R12) + MULALU R2, R7, (R11, g) + MULALU R1, R7, (R14, R12) + ADD R4<<2, R4, R4 + ADD R3<<2, R3, R3 + MULALU R1, R8, (R11, g) + MULALU R0, R8, (R14, R12) + MULALU R0, R9, (R11, g) + MULALU R4, R9, (R14, R12) + MOVW g, 76(R13) + MOVW R11, 80(R13) + MOVW R12, 68(R13) + MOVW R14, 72(R13) + MULLU R2, R5, (R11, g) + MULLU R1, R5, (R14, R12) + MULALU R1, R6, (R11, g) + MULALU R0, R6, (R14, R12) + MULALU R0, R7, (R11, g) + MULALU R4, R7, (R14, R12) + ADD R2<<2, R2, R2 + ADD R1<<2, R1, R1 + MULALU R4, R8, (R11, g) + MULALU R3, R8, (R14, R12) + MULALU R3, R9, (R11, g) + MULALU R2, R9, (R14, R12) + MOVW g, 60(R13) + MOVW R11, 64(R13) + MOVW R12, 52(R13) + MOVW R14, 56(R13) + MULLU R0, R5, (R11, g) + MULALU R4, R6, (R11, g) + MULALU R3, R7, (R11, g) + MULALU R2, R8, (R11, g) + MULALU R1, R9, (R11, g) + ADD $52, R13, R0 + MOVM.IA (R0), [R0-R7] + MOVW g>>26, R12 + MOVW R4>>26, R14 + ORR R11<<6, R12, R12 + ORR R5<<6, R14, R14 + BIC $0xfc000000, g, g + BIC $0xfc000000, R4, R4 + ADD.S R12, R0, R0 + ADC $0, R1, R1 + ADD.S R14, R6, R6 + ADC $0, R7, R7 + MOVW R0>>26, R12 + MOVW R6>>26, R14 + ORR R1<<6, R12, R12 + ORR R7<<6, R14, R14 + BIC $0xfc000000, R0, R0 + BIC $0xfc000000, R6, R6 + ADD R14<<2, R14, R14 + ADD.S R12, R2, R2 + ADC $0, R3, R3 + ADD R14, g, g + MOVW R2>>26, R12 + MOVW g>>26, R14 + ORR R3<<6, R12, R12 + BIC $0xfc000000, g, R5 + BIC $0xfc000000, R2, R7 + ADD R12, R4, R4 + ADD R14, R0, R0 + MOVW R4>>26, R12 + BIC $0xfc000000, R4, R8 + ADD R12, R6, R9 + MOVW 96(R13), R12 + MOVW 92(R13), R14 + MOVW R0, R6 + CMP $32, R12 + SUB $16, R12, R12 + MOVW R12, 96(R13) + BHS poly1305_blocks_armv6_mainloop + +poly1305_blocks_armv6_done: + MOVW 88(R13), R12 + MOVW R5, 20(R12) + MOVW R6, 24(R12) + MOVW R7, 28(R12) + MOVW R8, 32(R12) + MOVW R9, 36(R12) + ADD $48, R13, R0 + MOVM.DA (R0), [R4-R8, R14] + RET + +#define MOVHUP_UNALIGNED(Rsrc, Rdst, Rtmp) \ + MOVBU.P 1(Rsrc), Rtmp; \ + MOVBU.P Rtmp, 1(Rdst); \ + MOVBU.P 1(Rsrc), Rtmp; \ + MOVBU.P Rtmp, 1(Rdst) + +#define MOVWP_UNALIGNED(Rsrc, Rdst, Rtmp) \ + MOVHUP_UNALIGNED(Rsrc, Rdst, Rtmp); \ + MOVHUP_UNALIGNED(Rsrc, Rdst, Rtmp) + +// func poly1305_auth_armv6(out *[16]byte, m *byte, mlen uint32, key *[32]key) +TEXT ·poly1305_auth_armv6(SB), $196-16 + // The value 196, just above, is the sum of 64 (the size of the context + // structure) and 132 (the amount of stack needed). + // + // At this point, the stack pointer (R13) has been moved down. It + // points to the saved link register and there's 196 bytes of free + // space above it. + // + // The stack for this function looks like: + // + // +--------------------- + // | + // | 64 bytes of context structure + // | + // +--------------------- + // | + // | 112 bytes for poly1305_blocks_armv6 + // | + // +--------------------- + // | 16 bytes of final block, constructed at + // | poly1305_finish_ext_armv6_skip8 + // +--------------------- + // | four bytes of saved 'g' + // +--------------------- + // | lr, saved by prelude <- R13 points here + // +--------------------- + MOVW g, 4(R13) + + MOVW out+0(FP), R4 + MOVW m+4(FP), R5 + MOVW mlen+8(FP), R6 + MOVW key+12(FP), R7 + + ADD $136, R13, R0 // 136 = 4 + 4 + 16 + 112 + MOVW R7, R1 + + // poly1305_init_ext_armv6 will write to the stack from R13+4, but + // that's ok because none of the other values have been written yet. + BL poly1305_init_ext_armv6<>(SB) + BIC.S $15, R6, R2 + BEQ poly1305_auth_armv6_noblocks + ADD $136, R13, R0 + MOVW R5, R1 + ADD R2, R5, R5 + SUB R2, R6, R6 + BL poly1305_blocks_armv6<>(SB) + +poly1305_auth_armv6_noblocks: + ADD $136, R13, R0 + MOVW R5, R1 + MOVW R6, R2 + MOVW R4, R3 + + MOVW R0, R5 + MOVW R1, R6 + MOVW R2, R7 + MOVW R3, R8 + AND.S R2, R2, R2 + BEQ poly1305_finish_ext_armv6_noremaining + EOR R0, R0 + ADD $8, R13, R9 // 8 = offset to 16 byte scratch space + MOVW R0, (R9) + MOVW R0, 4(R9) + MOVW R0, 8(R9) + MOVW R0, 12(R9) + WORD $0xe3110003 // TST R1, #3 not working see issue 5921 + BEQ poly1305_finish_ext_armv6_aligned + WORD $0xe3120008 // TST R2, #8 not working see issue 5921 + BEQ poly1305_finish_ext_armv6_skip8 + MOVWP_UNALIGNED(R1, R9, g) + MOVWP_UNALIGNED(R1, R9, g) + +poly1305_finish_ext_armv6_skip8: + WORD $0xe3120004 // TST $4, R2 not working see issue 5921 + BEQ poly1305_finish_ext_armv6_skip4 + MOVWP_UNALIGNED(R1, R9, g) + +poly1305_finish_ext_armv6_skip4: + WORD $0xe3120002 // TST $2, R2 not working see issue 5921 + BEQ poly1305_finish_ext_armv6_skip2 + MOVHUP_UNALIGNED(R1, R9, g) + B poly1305_finish_ext_armv6_skip2 + +poly1305_finish_ext_armv6_aligned: + WORD $0xe3120008 // TST R2, #8 not working see issue 5921 + BEQ poly1305_finish_ext_armv6_skip8_aligned + MOVM.IA.W (R1), [g-R11] + MOVM.IA.W [g-R11], (R9) + +poly1305_finish_ext_armv6_skip8_aligned: + WORD $0xe3120004 // TST $4, R2 not working see issue 5921 + BEQ poly1305_finish_ext_armv6_skip4_aligned + MOVW.P 4(R1), g + MOVW.P g, 4(R9) + +poly1305_finish_ext_armv6_skip4_aligned: + WORD $0xe3120002 // TST $2, R2 not working see issue 5921 + BEQ poly1305_finish_ext_armv6_skip2 + MOVHU.P 2(R1), g + MOVH.P g, 2(R9) + +poly1305_finish_ext_armv6_skip2: + WORD $0xe3120001 // TST $1, R2 not working see issue 5921 + BEQ poly1305_finish_ext_armv6_skip1 + MOVBU.P 1(R1), g + MOVBU.P g, 1(R9) + +poly1305_finish_ext_armv6_skip1: + MOVW $1, R11 + MOVBU R11, 0(R9) + MOVW R11, 56(R5) + MOVW R5, R0 + ADD $8, R13, R1 + MOVW $16, R2 + BL poly1305_blocks_armv6<>(SB) + +poly1305_finish_ext_armv6_noremaining: + MOVW 20(R5), R0 + MOVW 24(R5), R1 + MOVW 28(R5), R2 + MOVW 32(R5), R3 + MOVW 36(R5), R4 + MOVW R4>>26, R12 + BIC $0xfc000000, R4, R4 + ADD R12<<2, R12, R12 + ADD R12, R0, R0 + MOVW R0>>26, R12 + BIC $0xfc000000, R0, R0 + ADD R12, R1, R1 + MOVW R1>>26, R12 + BIC $0xfc000000, R1, R1 + ADD R12, R2, R2 + MOVW R2>>26, R12 + BIC $0xfc000000, R2, R2 + ADD R12, R3, R3 + MOVW R3>>26, R12 + BIC $0xfc000000, R3, R3 + ADD R12, R4, R4 + ADD $5, R0, R6 + MOVW R6>>26, R12 + BIC $0xfc000000, R6, R6 + ADD R12, R1, R7 + MOVW R7>>26, R12 + BIC $0xfc000000, R7, R7 + ADD R12, R2, g + MOVW g>>26, R12 + BIC $0xfc000000, g, g + ADD R12, R3, R11 + MOVW $-(1<<26), R12 + ADD R11>>26, R12, R12 + BIC $0xfc000000, R11, R11 + ADD R12, R4, R9 + MOVW R9>>31, R12 + SUB $1, R12 + AND R12, R6, R6 + AND R12, R7, R7 + AND R12, g, g + AND R12, R11, R11 + AND R12, R9, R9 + MVN R12, R12 + AND R12, R0, R0 + AND R12, R1, R1 + AND R12, R2, R2 + AND R12, R3, R3 + AND R12, R4, R4 + ORR R6, R0, R0 + ORR R7, R1, R1 + ORR g, R2, R2 + ORR R11, R3, R3 + ORR R9, R4, R4 + ORR R1<<26, R0, R0 + MOVW R1>>6, R1 + ORR R2<<20, R1, R1 + MOVW R2>>12, R2 + ORR R3<<14, R2, R2 + MOVW R3>>18, R3 + ORR R4<<8, R3, R3 + MOVW 40(R5), R6 + MOVW 44(R5), R7 + MOVW 48(R5), g + MOVW 52(R5), R11 + ADD.S R6, R0, R0 + ADC.S R7, R1, R1 + ADC.S g, R2, R2 + ADC.S R11, R3, R3 + MOVM.IA [R0-R3], (R8) + MOVW R5, R12 + EOR R0, R0, R0 + EOR R1, R1, R1 + EOR R2, R2, R2 + EOR R3, R3, R3 + EOR R4, R4, R4 + EOR R5, R5, R5 + EOR R6, R6, R6 + EOR R7, R7, R7 + MOVM.IA.W [R0-R7], (R12) + MOVM.IA [R0-R7], (R12) + MOVW 4(R13), g + RET diff --git a/vendor/golang.org/x/crypto/poly1305/sum_noasm.go b/vendor/golang.org/x/crypto/poly1305/sum_noasm.go new file mode 100644 index 000000000..751eec527 --- /dev/null +++ b/vendor/golang.org/x/crypto/poly1305/sum_noasm.go @@ -0,0 +1,14 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build s390x,!go1.11 !arm,!amd64,!s390x gccgo appengine nacl + +package poly1305 + +// Sum generates an authenticator for msg using a one-time key and puts the +// 16-byte result into out. Authenticating two different messages with the same +// key allows an attacker to forge messages at will. +func Sum(out *[TagSize]byte, msg []byte, key *[32]byte) { + sumGeneric(out, msg, key) +} diff --git a/vendor/golang.org/x/crypto/poly1305/sum_ref.go b/vendor/golang.org/x/crypto/poly1305/sum_ref.go new file mode 100644 index 000000000..c4d59bd09 --- /dev/null +++ b/vendor/golang.org/x/crypto/poly1305/sum_ref.go @@ -0,0 +1,139 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package poly1305 + +import "encoding/binary" + +// sumGeneric generates an authenticator for msg using a one-time key and +// puts the 16-byte result into out. This is the generic implementation of +// Sum and should be called if no assembly implementation is available. +func sumGeneric(out *[TagSize]byte, msg []byte, key *[32]byte) { + var ( + h0, h1, h2, h3, h4 uint32 // the hash accumulators + r0, r1, r2, r3, r4 uint64 // the r part of the key + ) + + r0 = uint64(binary.LittleEndian.Uint32(key[0:]) & 0x3ffffff) + r1 = uint64((binary.LittleEndian.Uint32(key[3:]) >> 2) & 0x3ffff03) + r2 = uint64((binary.LittleEndian.Uint32(key[6:]) >> 4) & 0x3ffc0ff) + r3 = uint64((binary.LittleEndian.Uint32(key[9:]) >> 6) & 0x3f03fff) + r4 = uint64((binary.LittleEndian.Uint32(key[12:]) >> 8) & 0x00fffff) + + R1, R2, R3, R4 := r1*5, r2*5, r3*5, r4*5 + + for len(msg) >= TagSize { + // h += msg + h0 += binary.LittleEndian.Uint32(msg[0:]) & 0x3ffffff + h1 += (binary.LittleEndian.Uint32(msg[3:]) >> 2) & 0x3ffffff + h2 += (binary.LittleEndian.Uint32(msg[6:]) >> 4) & 0x3ffffff + h3 += (binary.LittleEndian.Uint32(msg[9:]) >> 6) & 0x3ffffff + h4 += (binary.LittleEndian.Uint32(msg[12:]) >> 8) | (1 << 24) + + // h *= r + d0 := (uint64(h0) * r0) + (uint64(h1) * R4) + (uint64(h2) * R3) + (uint64(h3) * R2) + (uint64(h4) * R1) + d1 := (d0 >> 26) + (uint64(h0) * r1) + (uint64(h1) * r0) + (uint64(h2) * R4) + (uint64(h3) * R3) + (uint64(h4) * R2) + d2 := (d1 >> 26) + (uint64(h0) * r2) + (uint64(h1) * r1) + (uint64(h2) * r0) + (uint64(h3) * R4) + (uint64(h4) * R3) + d3 := (d2 >> 26) + (uint64(h0) * r3) + (uint64(h1) * r2) + (uint64(h2) * r1) + (uint64(h3) * r0) + (uint64(h4) * R4) + d4 := (d3 >> 26) + (uint64(h0) * r4) + (uint64(h1) * r3) + (uint64(h2) * r2) + (uint64(h3) * r1) + (uint64(h4) * r0) + + // h %= p + h0 = uint32(d0) & 0x3ffffff + h1 = uint32(d1) & 0x3ffffff + h2 = uint32(d2) & 0x3ffffff + h3 = uint32(d3) & 0x3ffffff + h4 = uint32(d4) & 0x3ffffff + + h0 += uint32(d4>>26) * 5 + h1 += h0 >> 26 + h0 = h0 & 0x3ffffff + + msg = msg[TagSize:] + } + + if len(msg) > 0 { + var block [TagSize]byte + off := copy(block[:], msg) + block[off] = 0x01 + + // h += msg + h0 += binary.LittleEndian.Uint32(block[0:]) & 0x3ffffff + h1 += (binary.LittleEndian.Uint32(block[3:]) >> 2) & 0x3ffffff + h2 += (binary.LittleEndian.Uint32(block[6:]) >> 4) & 0x3ffffff + h3 += (binary.LittleEndian.Uint32(block[9:]) >> 6) & 0x3ffffff + h4 += (binary.LittleEndian.Uint32(block[12:]) >> 8) + + // h *= r + d0 := (uint64(h0) * r0) + (uint64(h1) * R4) + (uint64(h2) * R3) + (uint64(h3) * R2) + (uint64(h4) * R1) + d1 := (d0 >> 26) + (uint64(h0) * r1) + (uint64(h1) * r0) + (uint64(h2) * R4) + (uint64(h3) * R3) + (uint64(h4) * R2) + d2 := (d1 >> 26) + (uint64(h0) * r2) + (uint64(h1) * r1) + (uint64(h2) * r0) + (uint64(h3) * R4) + (uint64(h4) * R3) + d3 := (d2 >> 26) + (uint64(h0) * r3) + (uint64(h1) * r2) + (uint64(h2) * r1) + (uint64(h3) * r0) + (uint64(h4) * R4) + d4 := (d3 >> 26) + (uint64(h0) * r4) + (uint64(h1) * r3) + (uint64(h2) * r2) + (uint64(h3) * r1) + (uint64(h4) * r0) + + // h %= p + h0 = uint32(d0) & 0x3ffffff + h1 = uint32(d1) & 0x3ffffff + h2 = uint32(d2) & 0x3ffffff + h3 = uint32(d3) & 0x3ffffff + h4 = uint32(d4) & 0x3ffffff + + h0 += uint32(d4>>26) * 5 + h1 += h0 >> 26 + h0 = h0 & 0x3ffffff + } + + // h %= p reduction + h2 += h1 >> 26 + h1 &= 0x3ffffff + h3 += h2 >> 26 + h2 &= 0x3ffffff + h4 += h3 >> 26 + h3 &= 0x3ffffff + h0 += 5 * (h4 >> 26) + h4 &= 0x3ffffff + h1 += h0 >> 26 + h0 &= 0x3ffffff + + // h - p + t0 := h0 + 5 + t1 := h1 + (t0 >> 26) + t2 := h2 + (t1 >> 26) + t3 := h3 + (t2 >> 26) + t4 := h4 + (t3 >> 26) - (1 << 26) + t0 &= 0x3ffffff + t1 &= 0x3ffffff + t2 &= 0x3ffffff + t3 &= 0x3ffffff + + // select h if h < p else h - p + t_mask := (t4 >> 31) - 1 + h_mask := ^t_mask + h0 = (h0 & h_mask) | (t0 & t_mask) + h1 = (h1 & h_mask) | (t1 & t_mask) + h2 = (h2 & h_mask) | (t2 & t_mask) + h3 = (h3 & h_mask) | (t3 & t_mask) + h4 = (h4 & h_mask) | (t4 & t_mask) + + // h %= 2^128 + h0 |= h1 << 26 + h1 = ((h1 >> 6) | (h2 << 20)) + h2 = ((h2 >> 12) | (h3 << 14)) + h3 = ((h3 >> 18) | (h4 << 8)) + + // s: the s part of the key + // tag = (h + s) % (2^128) + t := uint64(h0) + uint64(binary.LittleEndian.Uint32(key[16:])) + h0 = uint32(t) + t = uint64(h1) + uint64(binary.LittleEndian.Uint32(key[20:])) + (t >> 32) + h1 = uint32(t) + t = uint64(h2) + uint64(binary.LittleEndian.Uint32(key[24:])) + (t >> 32) + h2 = uint32(t) + t = uint64(h3) + uint64(binary.LittleEndian.Uint32(key[28:])) + (t >> 32) + h3 = uint32(t) + + binary.LittleEndian.PutUint32(out[0:], h0) + binary.LittleEndian.PutUint32(out[4:], h1) + binary.LittleEndian.PutUint32(out[8:], h2) + binary.LittleEndian.PutUint32(out[12:], h3) +} diff --git a/vendor/golang.org/x/crypto/poly1305/sum_s390x.go b/vendor/golang.org/x/crypto/poly1305/sum_s390x.go new file mode 100644 index 000000000..7a266cece --- /dev/null +++ b/vendor/golang.org/x/crypto/poly1305/sum_s390x.go @@ -0,0 +1,49 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build s390x,go1.11,!gccgo,!appengine + +package poly1305 + +// hasVectorFacility reports whether the machine supports +// the vector facility (vx). +func hasVectorFacility() bool + +// hasVMSLFacility reports whether the machine supports +// Vector Multiply Sum Logical (VMSL). +func hasVMSLFacility() bool + +var hasVX = hasVectorFacility() +var hasVMSL = hasVMSLFacility() + +// poly1305vx is an assembly implementation of Poly1305 that uses vector +// instructions. It must only be called if the vector facility (vx) is +// available. +//go:noescape +func poly1305vx(out *[16]byte, m *byte, mlen uint64, key *[32]byte) + +// poly1305vmsl is an assembly implementation of Poly1305 that uses vector +// instructions, including VMSL. It must only be called if the vector facility (vx) is +// available and if VMSL is supported. +//go:noescape +func poly1305vmsl(out *[16]byte, m *byte, mlen uint64, key *[32]byte) + +// Sum generates an authenticator for m using a one-time key and puts the +// 16-byte result into out. Authenticating two different messages with the same +// key allows an attacker to forge messages at will. +func Sum(out *[16]byte, m []byte, key *[32]byte) { + if hasVX { + var mPtr *byte + if len(m) > 0 { + mPtr = &m[0] + } + if hasVMSL && len(m) > 256 { + poly1305vmsl(out, mPtr, uint64(len(m)), key) + } else { + poly1305vx(out, mPtr, uint64(len(m)), key) + } + } else { + sumGeneric(out, m, key) + } +} diff --git a/vendor/golang.org/x/crypto/poly1305/sum_s390x.s b/vendor/golang.org/x/crypto/poly1305/sum_s390x.s new file mode 100644 index 000000000..356c07a6c --- /dev/null +++ b/vendor/golang.org/x/crypto/poly1305/sum_s390x.s @@ -0,0 +1,400 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build s390x,go1.11,!gccgo,!appengine + +#include "textflag.h" + +// Implementation of Poly1305 using the vector facility (vx). + +// constants +#define MOD26 V0 +#define EX0 V1 +#define EX1 V2 +#define EX2 V3 + +// temporaries +#define T_0 V4 +#define T_1 V5 +#define T_2 V6 +#define T_3 V7 +#define T_4 V8 + +// key (r) +#define R_0 V9 +#define R_1 V10 +#define R_2 V11 +#define R_3 V12 +#define R_4 V13 +#define R5_1 V14 +#define R5_2 V15 +#define R5_3 V16 +#define R5_4 V17 +#define RSAVE_0 R5 +#define RSAVE_1 R6 +#define RSAVE_2 R7 +#define RSAVE_3 R8 +#define RSAVE_4 R9 +#define R5SAVE_1 V28 +#define R5SAVE_2 V29 +#define R5SAVE_3 V30 +#define R5SAVE_4 V31 + +// message block +#define F_0 V18 +#define F_1 V19 +#define F_2 V20 +#define F_3 V21 +#define F_4 V22 + +// accumulator +#define H_0 V23 +#define H_1 V24 +#define H_2 V25 +#define H_3 V26 +#define H_4 V27 + +GLOBL ·keyMask<>(SB), RODATA, $16 +DATA ·keyMask<>+0(SB)/8, $0xffffff0ffcffff0f +DATA ·keyMask<>+8(SB)/8, $0xfcffff0ffcffff0f + +GLOBL ·bswapMask<>(SB), RODATA, $16 +DATA ·bswapMask<>+0(SB)/8, $0x0f0e0d0c0b0a0908 +DATA ·bswapMask<>+8(SB)/8, $0x0706050403020100 + +GLOBL ·constants<>(SB), RODATA, $64 +// MOD26 +DATA ·constants<>+0(SB)/8, $0x3ffffff +DATA ·constants<>+8(SB)/8, $0x3ffffff +// EX0 +DATA ·constants<>+16(SB)/8, $0x0006050403020100 +DATA ·constants<>+24(SB)/8, $0x1016151413121110 +// EX1 +DATA ·constants<>+32(SB)/8, $0x060c0b0a09080706 +DATA ·constants<>+40(SB)/8, $0x161c1b1a19181716 +// EX2 +DATA ·constants<>+48(SB)/8, $0x0d0d0d0d0d0f0e0d +DATA ·constants<>+56(SB)/8, $0x1d1d1d1d1d1f1e1d + +// h = (f*g) % (2**130-5) [partial reduction] +#define MULTIPLY(f0, f1, f2, f3, f4, g0, g1, g2, g3, g4, g51, g52, g53, g54, h0, h1, h2, h3, h4) \ + VMLOF f0, g0, h0 \ + VMLOF f0, g1, h1 \ + VMLOF f0, g2, h2 \ + VMLOF f0, g3, h3 \ + VMLOF f0, g4, h4 \ + VMLOF f1, g54, T_0 \ + VMLOF f1, g0, T_1 \ + VMLOF f1, g1, T_2 \ + VMLOF f1, g2, T_3 \ + VMLOF f1, g3, T_4 \ + VMALOF f2, g53, h0, h0 \ + VMALOF f2, g54, h1, h1 \ + VMALOF f2, g0, h2, h2 \ + VMALOF f2, g1, h3, h3 \ + VMALOF f2, g2, h4, h4 \ + VMALOF f3, g52, T_0, T_0 \ + VMALOF f3, g53, T_1, T_1 \ + VMALOF f3, g54, T_2, T_2 \ + VMALOF f3, g0, T_3, T_3 \ + VMALOF f3, g1, T_4, T_4 \ + VMALOF f4, g51, h0, h0 \ + VMALOF f4, g52, h1, h1 \ + VMALOF f4, g53, h2, h2 \ + VMALOF f4, g54, h3, h3 \ + VMALOF f4, g0, h4, h4 \ + VAG T_0, h0, h0 \ + VAG T_1, h1, h1 \ + VAG T_2, h2, h2 \ + VAG T_3, h3, h3 \ + VAG T_4, h4, h4 + +// carry h0->h1 h3->h4, h1->h2 h4->h0, h0->h1 h2->h3, h3->h4 +#define REDUCE(h0, h1, h2, h3, h4) \ + VESRLG $26, h0, T_0 \ + VESRLG $26, h3, T_1 \ + VN MOD26, h0, h0 \ + VN MOD26, h3, h3 \ + VAG T_0, h1, h1 \ + VAG T_1, h4, h4 \ + VESRLG $26, h1, T_2 \ + VESRLG $26, h4, T_3 \ + VN MOD26, h1, h1 \ + VN MOD26, h4, h4 \ + VESLG $2, T_3, T_4 \ + VAG T_3, T_4, T_4 \ + VAG T_2, h2, h2 \ + VAG T_4, h0, h0 \ + VESRLG $26, h2, T_0 \ + VESRLG $26, h0, T_1 \ + VN MOD26, h2, h2 \ + VN MOD26, h0, h0 \ + VAG T_0, h3, h3 \ + VAG T_1, h1, h1 \ + VESRLG $26, h3, T_2 \ + VN MOD26, h3, h3 \ + VAG T_2, h4, h4 + +// expand in0 into d[0] and in1 into d[1] +#define EXPAND(in0, in1, d0, d1, d2, d3, d4) \ + VGBM $0x0707, d1 \ // d1=tmp + VPERM in0, in1, EX2, d4 \ + VPERM in0, in1, EX0, d0 \ + VPERM in0, in1, EX1, d2 \ + VN d1, d4, d4 \ + VESRLG $26, d0, d1 \ + VESRLG $30, d2, d3 \ + VESRLG $4, d2, d2 \ + VN MOD26, d0, d0 \ + VN MOD26, d1, d1 \ + VN MOD26, d2, d2 \ + VN MOD26, d3, d3 + +// pack h4:h0 into h1:h0 (no carry) +#define PACK(h0, h1, h2, h3, h4) \ + VESLG $26, h1, h1 \ + VESLG $26, h3, h3 \ + VO h0, h1, h0 \ + VO h2, h3, h2 \ + VESLG $4, h2, h2 \ + VLEIB $7, $48, h1 \ + VSLB h1, h2, h2 \ + VO h0, h2, h0 \ + VLEIB $7, $104, h1 \ + VSLB h1, h4, h3 \ + VO h3, h0, h0 \ + VLEIB $7, $24, h1 \ + VSRLB h1, h4, h1 + +// if h > 2**130-5 then h -= 2**130-5 +#define MOD(h0, h1, t0, t1, t2) \ + VZERO t0 \ + VLEIG $1, $5, t0 \ + VACCQ h0, t0, t1 \ + VAQ h0, t0, t0 \ + VONE t2 \ + VLEIG $1, $-4, t2 \ + VAQ t2, t1, t1 \ + VACCQ h1, t1, t1 \ + VONE t2 \ + VAQ t2, t1, t1 \ + VN h0, t1, t2 \ + VNC t0, t1, t1 \ + VO t1, t2, h0 + +// func poly1305vx(out *[16]byte, m *byte, mlen uint64, key *[32]key) +TEXT ·poly1305vx(SB), $0-32 + // This code processes up to 2 blocks (32 bytes) per iteration + // using the algorithm described in: + // NEON crypto, Daniel J. Bernstein & Peter Schwabe + // https://cryptojedi.org/papers/neoncrypto-20120320.pdf + LMG out+0(FP), R1, R4 // R1=out, R2=m, R3=mlen, R4=key + + // load MOD26, EX0, EX1 and EX2 + MOVD $·constants<>(SB), R5 + VLM (R5), MOD26, EX2 + + // setup r + VL (R4), T_0 + MOVD $·keyMask<>(SB), R6 + VL (R6), T_1 + VN T_0, T_1, T_0 + EXPAND(T_0, T_0, R_0, R_1, R_2, R_3, R_4) + + // setup r*5 + VLEIG $0, $5, T_0 + VLEIG $1, $5, T_0 + + // store r (for final block) + VMLOF T_0, R_1, R5SAVE_1 + VMLOF T_0, R_2, R5SAVE_2 + VMLOF T_0, R_3, R5SAVE_3 + VMLOF T_0, R_4, R5SAVE_4 + VLGVG $0, R_0, RSAVE_0 + VLGVG $0, R_1, RSAVE_1 + VLGVG $0, R_2, RSAVE_2 + VLGVG $0, R_3, RSAVE_3 + VLGVG $0, R_4, RSAVE_4 + + // skip r**2 calculation + CMPBLE R3, $16, skip + + // calculate r**2 + MULTIPLY(R_0, R_1, R_2, R_3, R_4, R_0, R_1, R_2, R_3, R_4, R5SAVE_1, R5SAVE_2, R5SAVE_3, R5SAVE_4, H_0, H_1, H_2, H_3, H_4) + REDUCE(H_0, H_1, H_2, H_3, H_4) + VLEIG $0, $5, T_0 + VLEIG $1, $5, T_0 + VMLOF T_0, H_1, R5_1 + VMLOF T_0, H_2, R5_2 + VMLOF T_0, H_3, R5_3 + VMLOF T_0, H_4, R5_4 + VLR H_0, R_0 + VLR H_1, R_1 + VLR H_2, R_2 + VLR H_3, R_3 + VLR H_4, R_4 + + // initialize h + VZERO H_0 + VZERO H_1 + VZERO H_2 + VZERO H_3 + VZERO H_4 + +loop: + CMPBLE R3, $32, b2 + VLM (R2), T_0, T_1 + SUB $32, R3 + MOVD $32(R2), R2 + EXPAND(T_0, T_1, F_0, F_1, F_2, F_3, F_4) + VLEIB $4, $1, F_4 + VLEIB $12, $1, F_4 + +multiply: + VAG H_0, F_0, F_0 + VAG H_1, F_1, F_1 + VAG H_2, F_2, F_2 + VAG H_3, F_3, F_3 + VAG H_4, F_4, F_4 + MULTIPLY(F_0, F_1, F_2, F_3, F_4, R_0, R_1, R_2, R_3, R_4, R5_1, R5_2, R5_3, R5_4, H_0, H_1, H_2, H_3, H_4) + REDUCE(H_0, H_1, H_2, H_3, H_4) + CMPBNE R3, $0, loop + +finish: + // sum vectors + VZERO T_0 + VSUMQG H_0, T_0, H_0 + VSUMQG H_1, T_0, H_1 + VSUMQG H_2, T_0, H_2 + VSUMQG H_3, T_0, H_3 + VSUMQG H_4, T_0, H_4 + + // h may be >= 2*(2**130-5) so we need to reduce it again + REDUCE(H_0, H_1, H_2, H_3, H_4) + + // carry h1->h4 + VESRLG $26, H_1, T_1 + VN MOD26, H_1, H_1 + VAQ T_1, H_2, H_2 + VESRLG $26, H_2, T_2 + VN MOD26, H_2, H_2 + VAQ T_2, H_3, H_3 + VESRLG $26, H_3, T_3 + VN MOD26, H_3, H_3 + VAQ T_3, H_4, H_4 + + // h is now < 2*(2**130-5) + // pack h into h1 (hi) and h0 (lo) + PACK(H_0, H_1, H_2, H_3, H_4) + + // if h > 2**130-5 then h -= 2**130-5 + MOD(H_0, H_1, T_0, T_1, T_2) + + // h += s + MOVD $·bswapMask<>(SB), R5 + VL (R5), T_1 + VL 16(R4), T_0 + VPERM T_0, T_0, T_1, T_0 // reverse bytes (to big) + VAQ T_0, H_0, H_0 + VPERM H_0, H_0, T_1, H_0 // reverse bytes (to little) + VST H_0, (R1) + + RET + +b2: + CMPBLE R3, $16, b1 + + // 2 blocks remaining + SUB $17, R3 + VL (R2), T_0 + VLL R3, 16(R2), T_1 + ADD $1, R3 + MOVBZ $1, R0 + CMPBEQ R3, $16, 2(PC) + VLVGB R3, R0, T_1 + EXPAND(T_0, T_1, F_0, F_1, F_2, F_3, F_4) + CMPBNE R3, $16, 2(PC) + VLEIB $12, $1, F_4 + VLEIB $4, $1, F_4 + + // setup [r²,r] + VLVGG $1, RSAVE_0, R_0 + VLVGG $1, RSAVE_1, R_1 + VLVGG $1, RSAVE_2, R_2 + VLVGG $1, RSAVE_3, R_3 + VLVGG $1, RSAVE_4, R_4 + VPDI $0, R5_1, R5SAVE_1, R5_1 + VPDI $0, R5_2, R5SAVE_2, R5_2 + VPDI $0, R5_3, R5SAVE_3, R5_3 + VPDI $0, R5_4, R5SAVE_4, R5_4 + + MOVD $0, R3 + BR multiply + +skip: + VZERO H_0 + VZERO H_1 + VZERO H_2 + VZERO H_3 + VZERO H_4 + + CMPBEQ R3, $0, finish + +b1: + // 1 block remaining + SUB $1, R3 + VLL R3, (R2), T_0 + ADD $1, R3 + MOVBZ $1, R0 + CMPBEQ R3, $16, 2(PC) + VLVGB R3, R0, T_0 + VZERO T_1 + EXPAND(T_0, T_1, F_0, F_1, F_2, F_3, F_4) + CMPBNE R3, $16, 2(PC) + VLEIB $4, $1, F_4 + VLEIG $1, $1, R_0 + VZERO R_1 + VZERO R_2 + VZERO R_3 + VZERO R_4 + VZERO R5_1 + VZERO R5_2 + VZERO R5_3 + VZERO R5_4 + + // setup [r, 1] + VLVGG $0, RSAVE_0, R_0 + VLVGG $0, RSAVE_1, R_1 + VLVGG $0, RSAVE_2, R_2 + VLVGG $0, RSAVE_3, R_3 + VLVGG $0, RSAVE_4, R_4 + VPDI $0, R5SAVE_1, R5_1, R5_1 + VPDI $0, R5SAVE_2, R5_2, R5_2 + VPDI $0, R5SAVE_3, R5_3, R5_3 + VPDI $0, R5SAVE_4, R5_4, R5_4 + + MOVD $0, R3 + BR multiply + +TEXT ·hasVectorFacility(SB), NOSPLIT, $24-1 + MOVD $x-24(SP), R1 + XC $24, 0(R1), 0(R1) // clear the storage + MOVD $2, R0 // R0 is the number of double words stored -1 + WORD $0xB2B01000 // STFLE 0(R1) + XOR R0, R0 // reset the value of R0 + MOVBZ z-8(SP), R1 + AND $0x40, R1 + BEQ novector + +vectorinstalled: + // check if the vector instruction has been enabled + VLEIB $0, $0xF, V16 + VLGVB $0, V16, R1 + CMPBNE R1, $0xF, novector + MOVB $1, ret+0(FP) // have vx + RET + +novector: + MOVB $0, ret+0(FP) // no vx + RET diff --git a/vendor/golang.org/x/crypto/poly1305/sum_vmsl_s390x.s b/vendor/golang.org/x/crypto/poly1305/sum_vmsl_s390x.s new file mode 100644 index 000000000..e548020b1 --- /dev/null +++ b/vendor/golang.org/x/crypto/poly1305/sum_vmsl_s390x.s @@ -0,0 +1,931 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build s390x,go1.11,!gccgo,!appengine + +#include "textflag.h" + +// Implementation of Poly1305 using the vector facility (vx) and the VMSL instruction. + +// constants +#define EX0 V1 +#define EX1 V2 +#define EX2 V3 + +// temporaries +#define T_0 V4 +#define T_1 V5 +#define T_2 V6 +#define T_3 V7 +#define T_4 V8 +#define T_5 V9 +#define T_6 V10 +#define T_7 V11 +#define T_8 V12 +#define T_9 V13 +#define T_10 V14 + +// r**2 & r**4 +#define R_0 V15 +#define R_1 V16 +#define R_2 V17 +#define R5_1 V18 +#define R5_2 V19 +// key (r) +#define RSAVE_0 R7 +#define RSAVE_1 R8 +#define RSAVE_2 R9 +#define R5SAVE_1 R10 +#define R5SAVE_2 R11 + +// message block +#define M0 V20 +#define M1 V21 +#define M2 V22 +#define M3 V23 +#define M4 V24 +#define M5 V25 + +// accumulator +#define H0_0 V26 +#define H1_0 V27 +#define H2_0 V28 +#define H0_1 V29 +#define H1_1 V30 +#define H2_1 V31 + +GLOBL ·keyMask<>(SB), RODATA, $16 +DATA ·keyMask<>+0(SB)/8, $0xffffff0ffcffff0f +DATA ·keyMask<>+8(SB)/8, $0xfcffff0ffcffff0f + +GLOBL ·bswapMask<>(SB), RODATA, $16 +DATA ·bswapMask<>+0(SB)/8, $0x0f0e0d0c0b0a0908 +DATA ·bswapMask<>+8(SB)/8, $0x0706050403020100 + +GLOBL ·constants<>(SB), RODATA, $48 +// EX0 +DATA ·constants<>+0(SB)/8, $0x18191a1b1c1d1e1f +DATA ·constants<>+8(SB)/8, $0x0000050403020100 +// EX1 +DATA ·constants<>+16(SB)/8, $0x18191a1b1c1d1e1f +DATA ·constants<>+24(SB)/8, $0x00000a0908070605 +// EX2 +DATA ·constants<>+32(SB)/8, $0x18191a1b1c1d1e1f +DATA ·constants<>+40(SB)/8, $0x0000000f0e0d0c0b + +GLOBL ·c<>(SB), RODATA, $48 +// EX0 +DATA ·c<>+0(SB)/8, $0x0000050403020100 +DATA ·c<>+8(SB)/8, $0x0000151413121110 +// EX1 +DATA ·c<>+16(SB)/8, $0x00000a0908070605 +DATA ·c<>+24(SB)/8, $0x00001a1918171615 +// EX2 +DATA ·c<>+32(SB)/8, $0x0000000f0e0d0c0b +DATA ·c<>+40(SB)/8, $0x0000001f1e1d1c1b + +GLOBL ·reduce<>(SB), RODATA, $32 +// 44 bit +DATA ·reduce<>+0(SB)/8, $0x0 +DATA ·reduce<>+8(SB)/8, $0xfffffffffff +// 42 bit +DATA ·reduce<>+16(SB)/8, $0x0 +DATA ·reduce<>+24(SB)/8, $0x3ffffffffff + +// h = (f*g) % (2**130-5) [partial reduction] +// uses T_0...T_9 temporary registers +// input: m02_0, m02_1, m02_2, m13_0, m13_1, m13_2, r_0, r_1, r_2, r5_1, r5_2, m4_0, m4_1, m4_2, m5_0, m5_1, m5_2 +// temp: t0, t1, t2, t3, t4, t5, t6, t7, t8, t9 +// output: m02_0, m02_1, m02_2, m13_0, m13_1, m13_2 +#define MULTIPLY(m02_0, m02_1, m02_2, m13_0, m13_1, m13_2, r_0, r_1, r_2, r5_1, r5_2, m4_0, m4_1, m4_2, m5_0, m5_1, m5_2, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) \ + \ // Eliminate the dependency for the last 2 VMSLs + VMSLG m02_0, r_2, m4_2, m4_2 \ + VMSLG m13_0, r_2, m5_2, m5_2 \ // 8 VMSLs pipelined + VMSLG m02_0, r_0, m4_0, m4_0 \ + VMSLG m02_1, r5_2, V0, T_0 \ + VMSLG m02_0, r_1, m4_1, m4_1 \ + VMSLG m02_1, r_0, V0, T_1 \ + VMSLG m02_1, r_1, V0, T_2 \ + VMSLG m02_2, r5_1, V0, T_3 \ + VMSLG m02_2, r5_2, V0, T_4 \ + VMSLG m13_0, r_0, m5_0, m5_0 \ + VMSLG m13_1, r5_2, V0, T_5 \ + VMSLG m13_0, r_1, m5_1, m5_1 \ + VMSLG m13_1, r_0, V0, T_6 \ + VMSLG m13_1, r_1, V0, T_7 \ + VMSLG m13_2, r5_1, V0, T_8 \ + VMSLG m13_2, r5_2, V0, T_9 \ + VMSLG m02_2, r_0, m4_2, m4_2 \ + VMSLG m13_2, r_0, m5_2, m5_2 \ + VAQ m4_0, T_0, m02_0 \ + VAQ m4_1, T_1, m02_1 \ + VAQ m5_0, T_5, m13_0 \ + VAQ m5_1, T_6, m13_1 \ + VAQ m02_0, T_3, m02_0 \ + VAQ m02_1, T_4, m02_1 \ + VAQ m13_0, T_8, m13_0 \ + VAQ m13_1, T_9, m13_1 \ + VAQ m4_2, T_2, m02_2 \ + VAQ m5_2, T_7, m13_2 \ + +// SQUARE uses three limbs of r and r_2*5 to output square of r +// uses T_1, T_5 and T_7 temporary registers +// input: r_0, r_1, r_2, r5_2 +// temp: TEMP0, TEMP1, TEMP2 +// output: p0, p1, p2 +#define SQUARE(r_0, r_1, r_2, r5_2, p0, p1, p2, TEMP0, TEMP1, TEMP2) \ + VMSLG r_0, r_0, p0, p0 \ + VMSLG r_1, r5_2, V0, TEMP0 \ + VMSLG r_2, r5_2, p1, p1 \ + VMSLG r_0, r_1, V0, TEMP1 \ + VMSLG r_1, r_1, p2, p2 \ + VMSLG r_0, r_2, V0, TEMP2 \ + VAQ TEMP0, p0, p0 \ + VAQ TEMP1, p1, p1 \ + VAQ TEMP2, p2, p2 \ + VAQ TEMP0, p0, p0 \ + VAQ TEMP1, p1, p1 \ + VAQ TEMP2, p2, p2 \ + +// carry h0->h1->h2->h0 || h3->h4->h5->h3 +// uses T_2, T_4, T_5, T_7, T_8, T_9 +// t6, t7, t8, t9, t10, t11 +// input: h0, h1, h2, h3, h4, h5 +// temp: t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11 +// output: h0, h1, h2, h3, h4, h5 +#define REDUCE(h0, h1, h2, h3, h4, h5, t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) \ + VLM (R12), t6, t7 \ // 44 and 42 bit clear mask + VLEIB $7, $0x28, t10 \ // 5 byte shift mask + VREPIB $4, t8 \ // 4 bit shift mask + VREPIB $2, t11 \ // 2 bit shift mask + VSRLB t10, h0, t0 \ // h0 byte shift + VSRLB t10, h1, t1 \ // h1 byte shift + VSRLB t10, h2, t2 \ // h2 byte shift + VSRLB t10, h3, t3 \ // h3 byte shift + VSRLB t10, h4, t4 \ // h4 byte shift + VSRLB t10, h5, t5 \ // h5 byte shift + VSRL t8, t0, t0 \ // h0 bit shift + VSRL t8, t1, t1 \ // h2 bit shift + VSRL t11, t2, t2 \ // h2 bit shift + VSRL t8, t3, t3 \ // h3 bit shift + VSRL t8, t4, t4 \ // h4 bit shift + VESLG $2, t2, t9 \ // h2 carry x5 + VSRL t11, t5, t5 \ // h5 bit shift + VN t6, h0, h0 \ // h0 clear carry + VAQ t2, t9, t2 \ // h2 carry x5 + VESLG $2, t5, t9 \ // h5 carry x5 + VN t6, h1, h1 \ // h1 clear carry + VN t7, h2, h2 \ // h2 clear carry + VAQ t5, t9, t5 \ // h5 carry x5 + VN t6, h3, h3 \ // h3 clear carry + VN t6, h4, h4 \ // h4 clear carry + VN t7, h5, h5 \ // h5 clear carry + VAQ t0, h1, h1 \ // h0->h1 + VAQ t3, h4, h4 \ // h3->h4 + VAQ t1, h2, h2 \ // h1->h2 + VAQ t4, h5, h5 \ // h4->h5 + VAQ t2, h0, h0 \ // h2->h0 + VAQ t5, h3, h3 \ // h5->h3 + VREPG $1, t6, t6 \ // 44 and 42 bit masks across both halves + VREPG $1, t7, t7 \ + VSLDB $8, h0, h0, h0 \ // set up [h0/1/2, h3/4/5] + VSLDB $8, h1, h1, h1 \ + VSLDB $8, h2, h2, h2 \ + VO h0, h3, h3 \ + VO h1, h4, h4 \ + VO h2, h5, h5 \ + VESRLG $44, h3, t0 \ // 44 bit shift right + VESRLG $44, h4, t1 \ + VESRLG $42, h5, t2 \ + VN t6, h3, h3 \ // clear carry bits + VN t6, h4, h4 \ + VN t7, h5, h5 \ + VESLG $2, t2, t9 \ // multiply carry by 5 + VAQ t9, t2, t2 \ + VAQ t0, h4, h4 \ + VAQ t1, h5, h5 \ + VAQ t2, h3, h3 \ + +// carry h0->h1->h2->h0 +// input: h0, h1, h2 +// temp: t0, t1, t2, t3, t4, t5, t6, t7, t8 +// output: h0, h1, h2 +#define REDUCE2(h0, h1, h2, t0, t1, t2, t3, t4, t5, t6, t7, t8) \ + VLEIB $7, $0x28, t3 \ // 5 byte shift mask + VREPIB $4, t4 \ // 4 bit shift mask + VREPIB $2, t7 \ // 2 bit shift mask + VGBM $0x003F, t5 \ // mask to clear carry bits + VSRLB t3, h0, t0 \ + VSRLB t3, h1, t1 \ + VSRLB t3, h2, t2 \ + VESRLG $4, t5, t5 \ // 44 bit clear mask + VSRL t4, t0, t0 \ + VSRL t4, t1, t1 \ + VSRL t7, t2, t2 \ + VESRLG $2, t5, t6 \ // 42 bit clear mask + VESLG $2, t2, t8 \ + VAQ t8, t2, t2 \ + VN t5, h0, h0 \ + VN t5, h1, h1 \ + VN t6, h2, h2 \ + VAQ t0, h1, h1 \ + VAQ t1, h2, h2 \ + VAQ t2, h0, h0 \ + VSRLB t3, h0, t0 \ + VSRLB t3, h1, t1 \ + VSRLB t3, h2, t2 \ + VSRL t4, t0, t0 \ + VSRL t4, t1, t1 \ + VSRL t7, t2, t2 \ + VN t5, h0, h0 \ + VN t5, h1, h1 \ + VESLG $2, t2, t8 \ + VN t6, h2, h2 \ + VAQ t0, h1, h1 \ + VAQ t8, t2, t2 \ + VAQ t1, h2, h2 \ + VAQ t2, h0, h0 \ + +// expands two message blocks into the lower halfs of the d registers +// moves the contents of the d registers into upper halfs +// input: in1, in2, d0, d1, d2, d3, d4, d5 +// temp: TEMP0, TEMP1, TEMP2, TEMP3 +// output: d0, d1, d2, d3, d4, d5 +#define EXPACC(in1, in2, d0, d1, d2, d3, d4, d5, TEMP0, TEMP1, TEMP2, TEMP3) \ + VGBM $0xff3f, TEMP0 \ + VGBM $0xff1f, TEMP1 \ + VESLG $4, d1, TEMP2 \ + VESLG $4, d4, TEMP3 \ + VESRLG $4, TEMP0, TEMP0 \ + VPERM in1, d0, EX0, d0 \ + VPERM in2, d3, EX0, d3 \ + VPERM in1, d2, EX2, d2 \ + VPERM in2, d5, EX2, d5 \ + VPERM in1, TEMP2, EX1, d1 \ + VPERM in2, TEMP3, EX1, d4 \ + VN TEMP0, d0, d0 \ + VN TEMP0, d3, d3 \ + VESRLG $4, d1, d1 \ + VESRLG $4, d4, d4 \ + VN TEMP1, d2, d2 \ + VN TEMP1, d5, d5 \ + VN TEMP0, d1, d1 \ + VN TEMP0, d4, d4 \ + +// expands one message block into the lower halfs of the d registers +// moves the contents of the d registers into upper halfs +// input: in, d0, d1, d2 +// temp: TEMP0, TEMP1, TEMP2 +// output: d0, d1, d2 +#define EXPACC2(in, d0, d1, d2, TEMP0, TEMP1, TEMP2) \ + VGBM $0xff3f, TEMP0 \ + VESLG $4, d1, TEMP2 \ + VGBM $0xff1f, TEMP1 \ + VPERM in, d0, EX0, d0 \ + VESRLG $4, TEMP0, TEMP0 \ + VPERM in, d2, EX2, d2 \ + VPERM in, TEMP2, EX1, d1 \ + VN TEMP0, d0, d0 \ + VN TEMP1, d2, d2 \ + VESRLG $4, d1, d1 \ + VN TEMP0, d1, d1 \ + +// pack h2:h0 into h1:h0 (no carry) +// input: h0, h1, h2 +// output: h0, h1, h2 +#define PACK(h0, h1, h2) \ + VMRLG h1, h2, h2 \ // copy h1 to upper half h2 + VESLG $44, h1, h1 \ // shift limb 1 44 bits, leaving 20 + VO h0, h1, h0 \ // combine h0 with 20 bits from limb 1 + VESRLG $20, h2, h1 \ // put top 24 bits of limb 1 into h1 + VLEIG $1, $0, h1 \ // clear h2 stuff from lower half of h1 + VO h0, h1, h0 \ // h0 now has 88 bits (limb 0 and 1) + VLEIG $0, $0, h2 \ // clear upper half of h2 + VESRLG $40, h2, h1 \ // h1 now has upper two bits of result + VLEIB $7, $88, h1 \ // for byte shift (11 bytes) + VSLB h1, h2, h2 \ // shift h2 11 bytes to the left + VO h0, h2, h0 \ // combine h0 with 20 bits from limb 1 + VLEIG $0, $0, h1 \ // clear upper half of h1 + +// if h > 2**130-5 then h -= 2**130-5 +// input: h0, h1 +// temp: t0, t1, t2 +// output: h0 +#define MOD(h0, h1, t0, t1, t2) \ + VZERO t0 \ + VLEIG $1, $5, t0 \ + VACCQ h0, t0, t1 \ + VAQ h0, t0, t0 \ + VONE t2 \ + VLEIG $1, $-4, t2 \ + VAQ t2, t1, t1 \ + VACCQ h1, t1, t1 \ + VONE t2 \ + VAQ t2, t1, t1 \ + VN h0, t1, t2 \ + VNC t0, t1, t1 \ + VO t1, t2, h0 \ + +// func poly1305vmsl(out *[16]byte, m *byte, mlen uint64, key *[32]key) +TEXT ·poly1305vmsl(SB), $0-32 + // This code processes 6 + up to 4 blocks (32 bytes) per iteration + // using the algorithm described in: + // NEON crypto, Daniel J. Bernstein & Peter Schwabe + // https://cryptojedi.org/papers/neoncrypto-20120320.pdf + // And as moddified for VMSL as described in + // Accelerating Poly1305 Cryptographic Message Authentication on the z14 + // O'Farrell et al, CASCON 2017, p48-55 + // https://ibm.ent.box.com/s/jf9gedj0e9d2vjctfyh186shaztavnht + + LMG out+0(FP), R1, R4 // R1=out, R2=m, R3=mlen, R4=key + VZERO V0 // c + + // load EX0, EX1 and EX2 + MOVD $·constants<>(SB), R5 + VLM (R5), EX0, EX2 // c + + // setup r + VL (R4), T_0 + MOVD $·keyMask<>(SB), R6 + VL (R6), T_1 + VN T_0, T_1, T_0 + VZERO T_2 // limbs for r + VZERO T_3 + VZERO T_4 + EXPACC2(T_0, T_2, T_3, T_4, T_1, T_5, T_7) + + // T_2, T_3, T_4: [0, r] + + // setup r*20 + VLEIG $0, $0, T_0 + VLEIG $1, $20, T_0 // T_0: [0, 20] + VZERO T_5 + VZERO T_6 + VMSLG T_0, T_3, T_5, T_5 + VMSLG T_0, T_4, T_6, T_6 + + // store r for final block in GR + VLGVG $1, T_2, RSAVE_0 // c + VLGVG $1, T_3, RSAVE_1 // c + VLGVG $1, T_4, RSAVE_2 // c + VLGVG $1, T_5, R5SAVE_1 // c + VLGVG $1, T_6, R5SAVE_2 // c + + // initialize h + VZERO H0_0 + VZERO H1_0 + VZERO H2_0 + VZERO H0_1 + VZERO H1_1 + VZERO H2_1 + + // initialize pointer for reduce constants + MOVD $·reduce<>(SB), R12 + + // calculate r**2 and 20*(r**2) + VZERO R_0 + VZERO R_1 + VZERO R_2 + SQUARE(T_2, T_3, T_4, T_6, R_0, R_1, R_2, T_1, T_5, T_7) + REDUCE2(R_0, R_1, R_2, M0, M1, M2, M3, M4, R5_1, R5_2, M5, T_1) + VZERO R5_1 + VZERO R5_2 + VMSLG T_0, R_1, R5_1, R5_1 + VMSLG T_0, R_2, R5_2, R5_2 + + // skip r**4 calculation if 3 blocks or less + CMPBLE R3, $48, b4 + + // calculate r**4 and 20*(r**4) + VZERO T_8 + VZERO T_9 + VZERO T_10 + SQUARE(R_0, R_1, R_2, R5_2, T_8, T_9, T_10, T_1, T_5, T_7) + REDUCE2(T_8, T_9, T_10, M0, M1, M2, M3, M4, T_2, T_3, M5, T_1) + VZERO T_2 + VZERO T_3 + VMSLG T_0, T_9, T_2, T_2 + VMSLG T_0, T_10, T_3, T_3 + + // put r**2 to the right and r**4 to the left of R_0, R_1, R_2 + VSLDB $8, T_8, T_8, T_8 + VSLDB $8, T_9, T_9, T_9 + VSLDB $8, T_10, T_10, T_10 + VSLDB $8, T_2, T_2, T_2 + VSLDB $8, T_3, T_3, T_3 + + VO T_8, R_0, R_0 + VO T_9, R_1, R_1 + VO T_10, R_2, R_2 + VO T_2, R5_1, R5_1 + VO T_3, R5_2, R5_2 + + CMPBLE R3, $80, load // less than or equal to 5 blocks in message + + // 6(or 5+1) blocks + SUB $81, R3 + VLM (R2), M0, M4 + VLL R3, 80(R2), M5 + ADD $1, R3 + MOVBZ $1, R0 + CMPBGE R3, $16, 2(PC) + VLVGB R3, R0, M5 + MOVD $96(R2), R2 + EXPACC(M0, M1, H0_0, H1_0, H2_0, H0_1, H1_1, H2_1, T_0, T_1, T_2, T_3) + EXPACC(M2, M3, H0_0, H1_0, H2_0, H0_1, H1_1, H2_1, T_0, T_1, T_2, T_3) + VLEIB $2, $1, H2_0 + VLEIB $2, $1, H2_1 + VLEIB $10, $1, H2_0 + VLEIB $10, $1, H2_1 + + VZERO M0 + VZERO M1 + VZERO M2 + VZERO M3 + VZERO T_4 + VZERO T_10 + EXPACC(M4, M5, M0, M1, M2, M3, T_4, T_10, T_0, T_1, T_2, T_3) + VLR T_4, M4 + VLEIB $10, $1, M2 + CMPBLT R3, $16, 2(PC) + VLEIB $10, $1, T_10 + MULTIPLY(H0_0, H1_0, H2_0, H0_1, H1_1, H2_1, R_0, R_1, R_2, R5_1, R5_2, M0, M1, M2, M3, M4, T_10, T_0, T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9) + REDUCE(H0_0, H1_0, H2_0, H0_1, H1_1, H2_1, T_10, M0, M1, M2, M3, M4, T_4, T_5, T_2, T_7, T_8, T_9) + VMRHG V0, H0_1, H0_0 + VMRHG V0, H1_1, H1_0 + VMRHG V0, H2_1, H2_0 + VMRLG V0, H0_1, H0_1 + VMRLG V0, H1_1, H1_1 + VMRLG V0, H2_1, H2_1 + + SUB $16, R3 + CMPBLE R3, $0, square + +load: + // load EX0, EX1 and EX2 + MOVD $·c<>(SB), R5 + VLM (R5), EX0, EX2 + +loop: + CMPBLE R3, $64, add // b4 // last 4 or less blocks left + + // next 4 full blocks + VLM (R2), M2, M5 + SUB $64, R3 + MOVD $64(R2), R2 + REDUCE(H0_0, H1_0, H2_0, H0_1, H1_1, H2_1, T_10, M0, M1, T_0, T_1, T_3, T_4, T_5, T_2, T_7, T_8, T_9) + + // expacc in-lined to create [m2, m3] limbs + VGBM $0x3f3f, T_0 // 44 bit clear mask + VGBM $0x1f1f, T_1 // 40 bit clear mask + VPERM M2, M3, EX0, T_3 + VESRLG $4, T_0, T_0 // 44 bit clear mask ready + VPERM M2, M3, EX1, T_4 + VPERM M2, M3, EX2, T_5 + VN T_0, T_3, T_3 + VESRLG $4, T_4, T_4 + VN T_1, T_5, T_5 + VN T_0, T_4, T_4 + VMRHG H0_1, T_3, H0_0 + VMRHG H1_1, T_4, H1_0 + VMRHG H2_1, T_5, H2_0 + VMRLG H0_1, T_3, H0_1 + VMRLG H1_1, T_4, H1_1 + VMRLG H2_1, T_5, H2_1 + VLEIB $10, $1, H2_0 + VLEIB $10, $1, H2_1 + VPERM M4, M5, EX0, T_3 + VPERM M4, M5, EX1, T_4 + VPERM M4, M5, EX2, T_5 + VN T_0, T_3, T_3 + VESRLG $4, T_4, T_4 + VN T_1, T_5, T_5 + VN T_0, T_4, T_4 + VMRHG V0, T_3, M0 + VMRHG V0, T_4, M1 + VMRHG V0, T_5, M2 + VMRLG V0, T_3, M3 + VMRLG V0, T_4, M4 + VMRLG V0, T_5, M5 + VLEIB $10, $1, M2 + VLEIB $10, $1, M5 + + MULTIPLY(H0_0, H1_0, H2_0, H0_1, H1_1, H2_1, R_0, R_1, R_2, R5_1, R5_2, M0, M1, M2, M3, M4, M5, T_0, T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9) + CMPBNE R3, $0, loop + REDUCE(H0_0, H1_0, H2_0, H0_1, H1_1, H2_1, T_10, M0, M1, M3, M4, M5, T_4, T_5, T_2, T_7, T_8, T_9) + VMRHG V0, H0_1, H0_0 + VMRHG V0, H1_1, H1_0 + VMRHG V0, H2_1, H2_0 + VMRLG V0, H0_1, H0_1 + VMRLG V0, H1_1, H1_1 + VMRLG V0, H2_1, H2_1 + + // load EX0, EX1, EX2 + MOVD $·constants<>(SB), R5 + VLM (R5), EX0, EX2 + + // sum vectors + VAQ H0_0, H0_1, H0_0 + VAQ H1_0, H1_1, H1_0 + VAQ H2_0, H2_1, H2_0 + + // h may be >= 2*(2**130-5) so we need to reduce it again + // M0...M4 are used as temps here + REDUCE2(H0_0, H1_0, H2_0, M0, M1, M2, M3, M4, T_9, T_10, H0_1, M5) + +next: // carry h1->h2 + VLEIB $7, $0x28, T_1 + VREPIB $4, T_2 + VGBM $0x003F, T_3 + VESRLG $4, T_3 + + // byte shift + VSRLB T_1, H1_0, T_4 + + // bit shift + VSRL T_2, T_4, T_4 + + // clear h1 carry bits + VN T_3, H1_0, H1_0 + + // add carry + VAQ T_4, H2_0, H2_0 + + // h is now < 2*(2**130-5) + // pack h into h1 (hi) and h0 (lo) + PACK(H0_0, H1_0, H2_0) + + // if h > 2**130-5 then h -= 2**130-5 + MOD(H0_0, H1_0, T_0, T_1, T_2) + + // h += s + MOVD $·bswapMask<>(SB), R5 + VL (R5), T_1 + VL 16(R4), T_0 + VPERM T_0, T_0, T_1, T_0 // reverse bytes (to big) + VAQ T_0, H0_0, H0_0 + VPERM H0_0, H0_0, T_1, H0_0 // reverse bytes (to little) + VST H0_0, (R1) + RET + +add: + // load EX0, EX1, EX2 + MOVD $·constants<>(SB), R5 + VLM (R5), EX0, EX2 + + REDUCE(H0_0, H1_0, H2_0, H0_1, H1_1, H2_1, T_10, M0, M1, M3, M4, M5, T_4, T_5, T_2, T_7, T_8, T_9) + VMRHG V0, H0_1, H0_0 + VMRHG V0, H1_1, H1_0 + VMRHG V0, H2_1, H2_0 + VMRLG V0, H0_1, H0_1 + VMRLG V0, H1_1, H1_1 + VMRLG V0, H2_1, H2_1 + CMPBLE R3, $64, b4 + +b4: + CMPBLE R3, $48, b3 // 3 blocks or less + + // 4(3+1) blocks remaining + SUB $49, R3 + VLM (R2), M0, M2 + VLL R3, 48(R2), M3 + ADD $1, R3 + MOVBZ $1, R0 + CMPBEQ R3, $16, 2(PC) + VLVGB R3, R0, M3 + MOVD $64(R2), R2 + EXPACC(M0, M1, H0_0, H1_0, H2_0, H0_1, H1_1, H2_1, T_0, T_1, T_2, T_3) + VLEIB $10, $1, H2_0 + VLEIB $10, $1, H2_1 + VZERO M0 + VZERO M1 + VZERO M4 + VZERO M5 + VZERO T_4 + VZERO T_10 + EXPACC(M2, M3, M0, M1, M4, M5, T_4, T_10, T_0, T_1, T_2, T_3) + VLR T_4, M2 + VLEIB $10, $1, M4 + CMPBNE R3, $16, 2(PC) + VLEIB $10, $1, T_10 + MULTIPLY(H0_0, H1_0, H2_0, H0_1, H1_1, H2_1, R_0, R_1, R_2, R5_1, R5_2, M0, M1, M4, M5, M2, T_10, T_0, T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9) + REDUCE(H0_0, H1_0, H2_0, H0_1, H1_1, H2_1, T_10, M0, M1, M3, M4, M5, T_4, T_5, T_2, T_7, T_8, T_9) + VMRHG V0, H0_1, H0_0 + VMRHG V0, H1_1, H1_0 + VMRHG V0, H2_1, H2_0 + VMRLG V0, H0_1, H0_1 + VMRLG V0, H1_1, H1_1 + VMRLG V0, H2_1, H2_1 + SUB $16, R3 + CMPBLE R3, $0, square // this condition must always hold true! + +b3: + CMPBLE R3, $32, b2 + + // 3 blocks remaining + + // setup [r²,r] + VSLDB $8, R_0, R_0, R_0 + VSLDB $8, R_1, R_1, R_1 + VSLDB $8, R_2, R_2, R_2 + VSLDB $8, R5_1, R5_1, R5_1 + VSLDB $8, R5_2, R5_2, R5_2 + + VLVGG $1, RSAVE_0, R_0 + VLVGG $1, RSAVE_1, R_1 + VLVGG $1, RSAVE_2, R_2 + VLVGG $1, R5SAVE_1, R5_1 + VLVGG $1, R5SAVE_2, R5_2 + + // setup [h0, h1] + VSLDB $8, H0_0, H0_0, H0_0 + VSLDB $8, H1_0, H1_0, H1_0 + VSLDB $8, H2_0, H2_0, H2_0 + VO H0_1, H0_0, H0_0 + VO H1_1, H1_0, H1_0 + VO H2_1, H2_0, H2_0 + VZERO H0_1 + VZERO H1_1 + VZERO H2_1 + + VZERO M0 + VZERO M1 + VZERO M2 + VZERO M3 + VZERO M4 + VZERO M5 + + // H*[r**2, r] + MULTIPLY(H0_0, H1_0, H2_0, H0_1, H1_1, H2_1, R_0, R_1, R_2, R5_1, R5_2, M0, M1, M2, M3, M4, M5, T_0, T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9) + REDUCE2(H0_0, H1_0, H2_0, M0, M1, M2, M3, M4, H0_1, H1_1, T_10, M5) + + SUB $33, R3 + VLM (R2), M0, M1 + VLL R3, 32(R2), M2 + ADD $1, R3 + MOVBZ $1, R0 + CMPBEQ R3, $16, 2(PC) + VLVGB R3, R0, M2 + + // H += m0 + VZERO T_1 + VZERO T_2 + VZERO T_3 + EXPACC2(M0, T_1, T_2, T_3, T_4, T_5, T_6) + VLEIB $10, $1, T_3 + VAG H0_0, T_1, H0_0 + VAG H1_0, T_2, H1_0 + VAG H2_0, T_3, H2_0 + + VZERO M0 + VZERO M3 + VZERO M4 + VZERO M5 + VZERO T_10 + + // (H+m0)*r + MULTIPLY(H0_0, H1_0, H2_0, H0_1, H1_1, H2_1, R_0, R_1, R_2, R5_1, R5_2, M0, M3, M4, M5, V0, T_10, T_0, T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9) + REDUCE2(H0_0, H1_0, H2_0, M0, M3, M4, M5, T_10, H0_1, H1_1, H2_1, T_9) + + // H += m1 + VZERO V0 + VZERO T_1 + VZERO T_2 + VZERO T_3 + EXPACC2(M1, T_1, T_2, T_3, T_4, T_5, T_6) + VLEIB $10, $1, T_3 + VAQ H0_0, T_1, H0_0 + VAQ H1_0, T_2, H1_0 + VAQ H2_0, T_3, H2_0 + REDUCE2(H0_0, H1_0, H2_0, M0, M3, M4, M5, T_9, H0_1, H1_1, H2_1, T_10) + + // [H, m2] * [r**2, r] + EXPACC2(M2, H0_0, H1_0, H2_0, T_1, T_2, T_3) + CMPBNE R3, $16, 2(PC) + VLEIB $10, $1, H2_0 + VZERO M0 + VZERO M1 + VZERO M2 + VZERO M3 + VZERO M4 + VZERO M5 + MULTIPLY(H0_0, H1_0, H2_0, H0_1, H1_1, H2_1, R_0, R_1, R_2, R5_1, R5_2, M0, M1, M2, M3, M4, M5, T_0, T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9) + REDUCE2(H0_0, H1_0, H2_0, M0, M1, M2, M3, M4, H0_1, H1_1, M5, T_10) + SUB $16, R3 + CMPBLE R3, $0, next // this condition must always hold true! + +b2: + CMPBLE R3, $16, b1 + + // 2 blocks remaining + + // setup [r²,r] + VSLDB $8, R_0, R_0, R_0 + VSLDB $8, R_1, R_1, R_1 + VSLDB $8, R_2, R_2, R_2 + VSLDB $8, R5_1, R5_1, R5_1 + VSLDB $8, R5_2, R5_2, R5_2 + + VLVGG $1, RSAVE_0, R_0 + VLVGG $1, RSAVE_1, R_1 + VLVGG $1, RSAVE_2, R_2 + VLVGG $1, R5SAVE_1, R5_1 + VLVGG $1, R5SAVE_2, R5_2 + + // setup [h0, h1] + VSLDB $8, H0_0, H0_0, H0_0 + VSLDB $8, H1_0, H1_0, H1_0 + VSLDB $8, H2_0, H2_0, H2_0 + VO H0_1, H0_0, H0_0 + VO H1_1, H1_0, H1_0 + VO H2_1, H2_0, H2_0 + VZERO H0_1 + VZERO H1_1 + VZERO H2_1 + + VZERO M0 + VZERO M1 + VZERO M2 + VZERO M3 + VZERO M4 + VZERO M5 + + // H*[r**2, r] + MULTIPLY(H0_0, H1_0, H2_0, H0_1, H1_1, H2_1, R_0, R_1, R_2, R5_1, R5_2, M0, M1, M2, M3, M4, M5, T_0, T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9) + REDUCE(H0_0, H1_0, H2_0, H0_1, H1_1, H2_1, T_10, M0, M1, M2, M3, M4, T_4, T_5, T_2, T_7, T_8, T_9) + VMRHG V0, H0_1, H0_0 + VMRHG V0, H1_1, H1_0 + VMRHG V0, H2_1, H2_0 + VMRLG V0, H0_1, H0_1 + VMRLG V0, H1_1, H1_1 + VMRLG V0, H2_1, H2_1 + + // move h to the left and 0s at the right + VSLDB $8, H0_0, H0_0, H0_0 + VSLDB $8, H1_0, H1_0, H1_0 + VSLDB $8, H2_0, H2_0, H2_0 + + // get message blocks and append 1 to start + SUB $17, R3 + VL (R2), M0 + VLL R3, 16(R2), M1 + ADD $1, R3 + MOVBZ $1, R0 + CMPBEQ R3, $16, 2(PC) + VLVGB R3, R0, M1 + VZERO T_6 + VZERO T_7 + VZERO T_8 + EXPACC2(M0, T_6, T_7, T_8, T_1, T_2, T_3) + EXPACC2(M1, T_6, T_7, T_8, T_1, T_2, T_3) + VLEIB $2, $1, T_8 + CMPBNE R3, $16, 2(PC) + VLEIB $10, $1, T_8 + + // add [m0, m1] to h + VAG H0_0, T_6, H0_0 + VAG H1_0, T_7, H1_0 + VAG H2_0, T_8, H2_0 + + VZERO M2 + VZERO M3 + VZERO M4 + VZERO M5 + VZERO T_10 + VZERO M0 + + // at this point R_0 .. R5_2 look like [r**2, r] + MULTIPLY(H0_0, H1_0, H2_0, H0_1, H1_1, H2_1, R_0, R_1, R_2, R5_1, R5_2, M2, M3, M4, M5, T_10, M0, T_0, T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9) + REDUCE2(H0_0, H1_0, H2_0, M2, M3, M4, M5, T_9, H0_1, H1_1, H2_1, T_10) + SUB $16, R3, R3 + CMPBLE R3, $0, next + +b1: + CMPBLE R3, $0, next + + // 1 block remaining + + // setup [r²,r] + VSLDB $8, R_0, R_0, R_0 + VSLDB $8, R_1, R_1, R_1 + VSLDB $8, R_2, R_2, R_2 + VSLDB $8, R5_1, R5_1, R5_1 + VSLDB $8, R5_2, R5_2, R5_2 + + VLVGG $1, RSAVE_0, R_0 + VLVGG $1, RSAVE_1, R_1 + VLVGG $1, RSAVE_2, R_2 + VLVGG $1, R5SAVE_1, R5_1 + VLVGG $1, R5SAVE_2, R5_2 + + // setup [h0, h1] + VSLDB $8, H0_0, H0_0, H0_0 + VSLDB $8, H1_0, H1_0, H1_0 + VSLDB $8, H2_0, H2_0, H2_0 + VO H0_1, H0_0, H0_0 + VO H1_1, H1_0, H1_0 + VO H2_1, H2_0, H2_0 + VZERO H0_1 + VZERO H1_1 + VZERO H2_1 + + VZERO M0 + VZERO M1 + VZERO M2 + VZERO M3 + VZERO M4 + VZERO M5 + + // H*[r**2, r] + MULTIPLY(H0_0, H1_0, H2_0, H0_1, H1_1, H2_1, R_0, R_1, R_2, R5_1, R5_2, M0, M1, M2, M3, M4, M5, T_0, T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9) + REDUCE2(H0_0, H1_0, H2_0, M0, M1, M2, M3, M4, T_9, T_10, H0_1, M5) + + // set up [0, m0] limbs + SUB $1, R3 + VLL R3, (R2), M0 + ADD $1, R3 + MOVBZ $1, R0 + CMPBEQ R3, $16, 2(PC) + VLVGB R3, R0, M0 + VZERO T_1 + VZERO T_2 + VZERO T_3 + EXPACC2(M0, T_1, T_2, T_3, T_4, T_5, T_6)// limbs: [0, m] + CMPBNE R3, $16, 2(PC) + VLEIB $10, $1, T_3 + + // h+m0 + VAQ H0_0, T_1, H0_0 + VAQ H1_0, T_2, H1_0 + VAQ H2_0, T_3, H2_0 + + VZERO M0 + VZERO M1 + VZERO M2 + VZERO M3 + VZERO M4 + VZERO M5 + MULTIPLY(H0_0, H1_0, H2_0, H0_1, H1_1, H2_1, R_0, R_1, R_2, R5_1, R5_2, M0, M1, M2, M3, M4, M5, T_0, T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9) + REDUCE2(H0_0, H1_0, H2_0, M0, M1, M2, M3, M4, T_9, T_10, H0_1, M5) + + BR next + +square: + // setup [r²,r] + VSLDB $8, R_0, R_0, R_0 + VSLDB $8, R_1, R_1, R_1 + VSLDB $8, R_2, R_2, R_2 + VSLDB $8, R5_1, R5_1, R5_1 + VSLDB $8, R5_2, R5_2, R5_2 + + VLVGG $1, RSAVE_0, R_0 + VLVGG $1, RSAVE_1, R_1 + VLVGG $1, RSAVE_2, R_2 + VLVGG $1, R5SAVE_1, R5_1 + VLVGG $1, R5SAVE_2, R5_2 + + // setup [h0, h1] + VSLDB $8, H0_0, H0_0, H0_0 + VSLDB $8, H1_0, H1_0, H1_0 + VSLDB $8, H2_0, H2_0, H2_0 + VO H0_1, H0_0, H0_0 + VO H1_1, H1_0, H1_0 + VO H2_1, H2_0, H2_0 + VZERO H0_1 + VZERO H1_1 + VZERO H2_1 + + VZERO M0 + VZERO M1 + VZERO M2 + VZERO M3 + VZERO M4 + VZERO M5 + + // (h0*r**2) + (h1*r) + MULTIPLY(H0_0, H1_0, H2_0, H0_1, H1_1, H2_1, R_0, R_1, R_2, R5_1, R5_2, M0, M1, M2, M3, M4, M5, T_0, T_1, T_2, T_3, T_4, T_5, T_6, T_7, T_8, T_9) + REDUCE2(H0_0, H1_0, H2_0, M0, M1, M2, M3, M4, T_9, T_10, H0_1, M5) + BR next + +TEXT ·hasVMSLFacility(SB), NOSPLIT, $24-1 + MOVD $x-24(SP), R1 + XC $24, 0(R1), 0(R1) // clear the storage + MOVD $2, R0 // R0 is the number of double words stored -1 + WORD $0xB2B01000 // STFLE 0(R1) + XOR R0, R0 // reset the value of R0 + MOVBZ z-8(SP), R1 + AND $0x01, R1 + BEQ novmsl + +vectorinstalled: + // check if the vector instruction has been enabled + VLEIB $0, $0xF, V16 + VLGVB $0, V16, R1 + CMPBNE R1, $0xF, novmsl + MOVB $1, ret+0(FP) // have vx + RET + +novmsl: + MOVB $0, ret+0(FP) // no vx + RET diff --git a/vendor/golang.org/x/crypto/ssh/terminal/terminal.go b/vendor/golang.org/x/crypto/ssh/terminal/terminal.go new file mode 100644 index 000000000..9d666ffcf --- /dev/null +++ b/vendor/golang.org/x/crypto/ssh/terminal/terminal.go @@ -0,0 +1,955 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package terminal + +import ( + "bytes" + "io" + "sync" + "unicode/utf8" +) + +// EscapeCodes contains escape sequences that can be written to the terminal in +// order to achieve different styles of text. +type EscapeCodes struct { + // Foreground colors + Black, Red, Green, Yellow, Blue, Magenta, Cyan, White []byte + + // Reset all attributes + Reset []byte +} + +var vt100EscapeCodes = EscapeCodes{ + Black: []byte{keyEscape, '[', '3', '0', 'm'}, + Red: []byte{keyEscape, '[', '3', '1', 'm'}, + Green: []byte{keyEscape, '[', '3', '2', 'm'}, + Yellow: []byte{keyEscape, '[', '3', '3', 'm'}, + Blue: []byte{keyEscape, '[', '3', '4', 'm'}, + Magenta: []byte{keyEscape, '[', '3', '5', 'm'}, + Cyan: []byte{keyEscape, '[', '3', '6', 'm'}, + White: []byte{keyEscape, '[', '3', '7', 'm'}, + + Reset: []byte{keyEscape, '[', '0', 'm'}, +} + +// Terminal contains the state for running a VT100 terminal that is capable of +// reading lines of input. +type Terminal struct { + // AutoCompleteCallback, if non-null, is called for each keypress with + // the full input line and the current position of the cursor (in + // bytes, as an index into |line|). If it returns ok=false, the key + // press is processed normally. Otherwise it returns a replacement line + // and the new cursor position. + AutoCompleteCallback func(line string, pos int, key rune) (newLine string, newPos int, ok bool) + + // Escape contains a pointer to the escape codes for this terminal. + // It's always a valid pointer, although the escape codes themselves + // may be empty if the terminal doesn't support them. + Escape *EscapeCodes + + // lock protects the terminal and the state in this object from + // concurrent processing of a key press and a Write() call. + lock sync.Mutex + + c io.ReadWriter + prompt []rune + + // line is the current line being entered. + line []rune + // pos is the logical position of the cursor in line + pos int + // echo is true if local echo is enabled + echo bool + // pasteActive is true iff there is a bracketed paste operation in + // progress. + pasteActive bool + + // cursorX contains the current X value of the cursor where the left + // edge is 0. cursorY contains the row number where the first row of + // the current line is 0. + cursorX, cursorY int + // maxLine is the greatest value of cursorY so far. + maxLine int + + termWidth, termHeight int + + // outBuf contains the terminal data to be sent. + outBuf []byte + // remainder contains the remainder of any partial key sequences after + // a read. It aliases into inBuf. + remainder []byte + inBuf [256]byte + + // history contains previously entered commands so that they can be + // accessed with the up and down keys. + history stRingBuffer + // historyIndex stores the currently accessed history entry, where zero + // means the immediately previous entry. + historyIndex int + // When navigating up and down the history it's possible to return to + // the incomplete, initial line. That value is stored in + // historyPending. + historyPending string +} + +// NewTerminal runs a VT100 terminal on the given ReadWriter. If the ReadWriter is +// a local terminal, that terminal must first have been put into raw mode. +// prompt is a string that is written at the start of each input line (i.e. +// "> "). +func NewTerminal(c io.ReadWriter, prompt string) *Terminal { + return &Terminal{ + Escape: &vt100EscapeCodes, + c: c, + prompt: []rune(prompt), + termWidth: 80, + termHeight: 24, + echo: true, + historyIndex: -1, + } +} + +const ( + keyCtrlD = 4 + keyCtrlU = 21 + keyEnter = '\r' + keyEscape = 27 + keyBackspace = 127 + keyUnknown = 0xd800 /* UTF-16 surrogate area */ + iota + keyUp + keyDown + keyLeft + keyRight + keyAltLeft + keyAltRight + keyHome + keyEnd + keyDeleteWord + keyDeleteLine + keyClearScreen + keyPasteStart + keyPasteEnd +) + +var ( + crlf = []byte{'\r', '\n'} + pasteStart = []byte{keyEscape, '[', '2', '0', '0', '~'} + pasteEnd = []byte{keyEscape, '[', '2', '0', '1', '~'} +) + +// bytesToKey tries to parse a key sequence from b. If successful, it returns +// the key and the remainder of the input. Otherwise it returns utf8.RuneError. +func bytesToKey(b []byte, pasteActive bool) (rune, []byte) { + if len(b) == 0 { + return utf8.RuneError, nil + } + + if !pasteActive { + switch b[0] { + case 1: // ^A + return keyHome, b[1:] + case 5: // ^E + return keyEnd, b[1:] + case 8: // ^H + return keyBackspace, b[1:] + case 11: // ^K + return keyDeleteLine, b[1:] + case 12: // ^L + return keyClearScreen, b[1:] + case 23: // ^W + return keyDeleteWord, b[1:] + case 14: // ^N + return keyDown, b[1:] + case 16: // ^P + return keyUp, b[1:] + } + } + + if b[0] != keyEscape { + if !utf8.FullRune(b) { + return utf8.RuneError, b + } + r, l := utf8.DecodeRune(b) + return r, b[l:] + } + + if !pasteActive && len(b) >= 3 && b[0] == keyEscape && b[1] == '[' { + switch b[2] { + case 'A': + return keyUp, b[3:] + case 'B': + return keyDown, b[3:] + case 'C': + return keyRight, b[3:] + case 'D': + return keyLeft, b[3:] + case 'H': + return keyHome, b[3:] + case 'F': + return keyEnd, b[3:] + } + } + + if !pasteActive && len(b) >= 6 && b[0] == keyEscape && b[1] == '[' && b[2] == '1' && b[3] == ';' && b[4] == '3' { + switch b[5] { + case 'C': + return keyAltRight, b[6:] + case 'D': + return keyAltLeft, b[6:] + } + } + + if !pasteActive && len(b) >= 6 && bytes.Equal(b[:6], pasteStart) { + return keyPasteStart, b[6:] + } + + if pasteActive && len(b) >= 6 && bytes.Equal(b[:6], pasteEnd) { + return keyPasteEnd, b[6:] + } + + // If we get here then we have a key that we don't recognise, or a + // partial sequence. It's not clear how one should find the end of a + // sequence without knowing them all, but it seems that [a-zA-Z~] only + // appears at the end of a sequence. + for i, c := range b[0:] { + if c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c == '~' { + return keyUnknown, b[i+1:] + } + } + + return utf8.RuneError, b +} + +// queue appends data to the end of t.outBuf +func (t *Terminal) queue(data []rune) { + t.outBuf = append(t.outBuf, []byte(string(data))...) +} + +var eraseUnderCursor = []rune{' ', keyEscape, '[', 'D'} +var space = []rune{' '} + +func isPrintable(key rune) bool { + isInSurrogateArea := key >= 0xd800 && key <= 0xdbff + return key >= 32 && !isInSurrogateArea +} + +// moveCursorToPos appends data to t.outBuf which will move the cursor to the +// given, logical position in the text. +func (t *Terminal) moveCursorToPos(pos int) { + if !t.echo { + return + } + + x := visualLength(t.prompt) + pos + y := x / t.termWidth + x = x % t.termWidth + + up := 0 + if y < t.cursorY { + up = t.cursorY - y + } + + down := 0 + if y > t.cursorY { + down = y - t.cursorY + } + + left := 0 + if x < t.cursorX { + left = t.cursorX - x + } + + right := 0 + if x > t.cursorX { + right = x - t.cursorX + } + + t.cursorX = x + t.cursorY = y + t.move(up, down, left, right) +} + +func (t *Terminal) move(up, down, left, right int) { + movement := make([]rune, 3*(up+down+left+right)) + m := movement + for i := 0; i < up; i++ { + m[0] = keyEscape + m[1] = '[' + m[2] = 'A' + m = m[3:] + } + for i := 0; i < down; i++ { + m[0] = keyEscape + m[1] = '[' + m[2] = 'B' + m = m[3:] + } + for i := 0; i < left; i++ { + m[0] = keyEscape + m[1] = '[' + m[2] = 'D' + m = m[3:] + } + for i := 0; i < right; i++ { + m[0] = keyEscape + m[1] = '[' + m[2] = 'C' + m = m[3:] + } + + t.queue(movement) +} + +func (t *Terminal) clearLineToRight() { + op := []rune{keyEscape, '[', 'K'} + t.queue(op) +} + +const maxLineLength = 4096 + +func (t *Terminal) setLine(newLine []rune, newPos int) { + if t.echo { + t.moveCursorToPos(0) + t.writeLine(newLine) + for i := len(newLine); i < len(t.line); i++ { + t.writeLine(space) + } + t.moveCursorToPos(newPos) + } + t.line = newLine + t.pos = newPos +} + +func (t *Terminal) advanceCursor(places int) { + t.cursorX += places + t.cursorY += t.cursorX / t.termWidth + if t.cursorY > t.maxLine { + t.maxLine = t.cursorY + } + t.cursorX = t.cursorX % t.termWidth + + if places > 0 && t.cursorX == 0 { + // Normally terminals will advance the current position + // when writing a character. But that doesn't happen + // for the last character in a line. However, when + // writing a character (except a new line) that causes + // a line wrap, the position will be advanced two + // places. + // + // So, if we are stopping at the end of a line, we + // need to write a newline so that our cursor can be + // advanced to the next line. + t.outBuf = append(t.outBuf, '\r', '\n') + } +} + +func (t *Terminal) eraseNPreviousChars(n int) { + if n == 0 { + return + } + + if t.pos < n { + n = t.pos + } + t.pos -= n + t.moveCursorToPos(t.pos) + + copy(t.line[t.pos:], t.line[n+t.pos:]) + t.line = t.line[:len(t.line)-n] + if t.echo { + t.writeLine(t.line[t.pos:]) + for i := 0; i < n; i++ { + t.queue(space) + } + t.advanceCursor(n) + t.moveCursorToPos(t.pos) + } +} + +// countToLeftWord returns then number of characters from the cursor to the +// start of the previous word. +func (t *Terminal) countToLeftWord() int { + if t.pos == 0 { + return 0 + } + + pos := t.pos - 1 + for pos > 0 { + if t.line[pos] != ' ' { + break + } + pos-- + } + for pos > 0 { + if t.line[pos] == ' ' { + pos++ + break + } + pos-- + } + + return t.pos - pos +} + +// countToRightWord returns then number of characters from the cursor to the +// start of the next word. +func (t *Terminal) countToRightWord() int { + pos := t.pos + for pos < len(t.line) { + if t.line[pos] == ' ' { + break + } + pos++ + } + for pos < len(t.line) { + if t.line[pos] != ' ' { + break + } + pos++ + } + return pos - t.pos +} + +// visualLength returns the number of visible glyphs in s. +func visualLength(runes []rune) int { + inEscapeSeq := false + length := 0 + + for _, r := range runes { + switch { + case inEscapeSeq: + if (r >= 'a' && r <= 'z') || (r >= 'A' && r <= 'Z') { + inEscapeSeq = false + } + case r == '\x1b': + inEscapeSeq = true + default: + length++ + } + } + + return length +} + +// handleKey processes the given key and, optionally, returns a line of text +// that the user has entered. +func (t *Terminal) handleKey(key rune) (line string, ok bool) { + if t.pasteActive && key != keyEnter { + t.addKeyToLine(key) + return + } + + switch key { + case keyBackspace: + if t.pos == 0 { + return + } + t.eraseNPreviousChars(1) + case keyAltLeft: + // move left by a word. + t.pos -= t.countToLeftWord() + t.moveCursorToPos(t.pos) + case keyAltRight: + // move right by a word. + t.pos += t.countToRightWord() + t.moveCursorToPos(t.pos) + case keyLeft: + if t.pos == 0 { + return + } + t.pos-- + t.moveCursorToPos(t.pos) + case keyRight: + if t.pos == len(t.line) { + return + } + t.pos++ + t.moveCursorToPos(t.pos) + case keyHome: + if t.pos == 0 { + return + } + t.pos = 0 + t.moveCursorToPos(t.pos) + case keyEnd: + if t.pos == len(t.line) { + return + } + t.pos = len(t.line) + t.moveCursorToPos(t.pos) + case keyUp: + entry, ok := t.history.NthPreviousEntry(t.historyIndex + 1) + if !ok { + return "", false + } + if t.historyIndex == -1 { + t.historyPending = string(t.line) + } + t.historyIndex++ + runes := []rune(entry) + t.setLine(runes, len(runes)) + case keyDown: + switch t.historyIndex { + case -1: + return + case 0: + runes := []rune(t.historyPending) + t.setLine(runes, len(runes)) + t.historyIndex-- + default: + entry, ok := t.history.NthPreviousEntry(t.historyIndex - 1) + if ok { + t.historyIndex-- + runes := []rune(entry) + t.setLine(runes, len(runes)) + } + } + case keyEnter: + t.moveCursorToPos(len(t.line)) + t.queue([]rune("\r\n")) + line = string(t.line) + ok = true + t.line = t.line[:0] + t.pos = 0 + t.cursorX = 0 + t.cursorY = 0 + t.maxLine = 0 + case keyDeleteWord: + // Delete zero or more spaces and then one or more characters. + t.eraseNPreviousChars(t.countToLeftWord()) + case keyDeleteLine: + // Delete everything from the current cursor position to the + // end of line. + for i := t.pos; i < len(t.line); i++ { + t.queue(space) + t.advanceCursor(1) + } + t.line = t.line[:t.pos] + t.moveCursorToPos(t.pos) + case keyCtrlD: + // Erase the character under the current position. + // The EOF case when the line is empty is handled in + // readLine(). + if t.pos < len(t.line) { + t.pos++ + t.eraseNPreviousChars(1) + } + case keyCtrlU: + t.eraseNPreviousChars(t.pos) + case keyClearScreen: + // Erases the screen and moves the cursor to the home position. + t.queue([]rune("\x1b[2J\x1b[H")) + t.queue(t.prompt) + t.cursorX, t.cursorY = 0, 0 + t.advanceCursor(visualLength(t.prompt)) + t.setLine(t.line, t.pos) + default: + if t.AutoCompleteCallback != nil { + prefix := string(t.line[:t.pos]) + suffix := string(t.line[t.pos:]) + + t.lock.Unlock() + newLine, newPos, completeOk := t.AutoCompleteCallback(prefix+suffix, len(prefix), key) + t.lock.Lock() + + if completeOk { + t.setLine([]rune(newLine), utf8.RuneCount([]byte(newLine)[:newPos])) + return + } + } + if !isPrintable(key) { + return + } + if len(t.line) == maxLineLength { + return + } + t.addKeyToLine(key) + } + return +} + +// addKeyToLine inserts the given key at the current position in the current +// line. +func (t *Terminal) addKeyToLine(key rune) { + if len(t.line) == cap(t.line) { + newLine := make([]rune, len(t.line), 2*(1+len(t.line))) + copy(newLine, t.line) + t.line = newLine + } + t.line = t.line[:len(t.line)+1] + copy(t.line[t.pos+1:], t.line[t.pos:]) + t.line[t.pos] = key + if t.echo { + t.writeLine(t.line[t.pos:]) + } + t.pos++ + t.moveCursorToPos(t.pos) +} + +func (t *Terminal) writeLine(line []rune) { + for len(line) != 0 { + remainingOnLine := t.termWidth - t.cursorX + todo := len(line) + if todo > remainingOnLine { + todo = remainingOnLine + } + t.queue(line[:todo]) + t.advanceCursor(visualLength(line[:todo])) + line = line[todo:] + } +} + +// writeWithCRLF writes buf to w but replaces all occurrences of \n with \r\n. +func writeWithCRLF(w io.Writer, buf []byte) (n int, err error) { + for len(buf) > 0 { + i := bytes.IndexByte(buf, '\n') + todo := len(buf) + if i >= 0 { + todo = i + } + + var nn int + nn, err = w.Write(buf[:todo]) + n += nn + if err != nil { + return n, err + } + buf = buf[todo:] + + if i >= 0 { + if _, err = w.Write(crlf); err != nil { + return n, err + } + n++ + buf = buf[1:] + } + } + + return n, nil +} + +func (t *Terminal) Write(buf []byte) (n int, err error) { + t.lock.Lock() + defer t.lock.Unlock() + + if t.cursorX == 0 && t.cursorY == 0 { + // This is the easy case: there's nothing on the screen that we + // have to move out of the way. + return writeWithCRLF(t.c, buf) + } + + // We have a prompt and possibly user input on the screen. We + // have to clear it first. + t.move(0 /* up */, 0 /* down */, t.cursorX /* left */, 0 /* right */) + t.cursorX = 0 + t.clearLineToRight() + + for t.cursorY > 0 { + t.move(1 /* up */, 0, 0, 0) + t.cursorY-- + t.clearLineToRight() + } + + if _, err = t.c.Write(t.outBuf); err != nil { + return + } + t.outBuf = t.outBuf[:0] + + if n, err = writeWithCRLF(t.c, buf); err != nil { + return + } + + t.writeLine(t.prompt) + if t.echo { + t.writeLine(t.line) + } + + t.moveCursorToPos(t.pos) + + if _, err = t.c.Write(t.outBuf); err != nil { + return + } + t.outBuf = t.outBuf[:0] + return +} + +// ReadPassword temporarily changes the prompt and reads a password, without +// echo, from the terminal. +func (t *Terminal) ReadPassword(prompt string) (line string, err error) { + t.lock.Lock() + defer t.lock.Unlock() + + oldPrompt := t.prompt + t.prompt = []rune(prompt) + t.echo = false + + line, err = t.readLine() + + t.prompt = oldPrompt + t.echo = true + + return +} + +// ReadLine returns a line of input from the terminal. +func (t *Terminal) ReadLine() (line string, err error) { + t.lock.Lock() + defer t.lock.Unlock() + + return t.readLine() +} + +func (t *Terminal) readLine() (line string, err error) { + // t.lock must be held at this point + + if t.cursorX == 0 && t.cursorY == 0 { + t.writeLine(t.prompt) + t.c.Write(t.outBuf) + t.outBuf = t.outBuf[:0] + } + + lineIsPasted := t.pasteActive + + for { + rest := t.remainder + lineOk := false + for !lineOk { + var key rune + key, rest = bytesToKey(rest, t.pasteActive) + if key == utf8.RuneError { + break + } + if !t.pasteActive { + if key == keyCtrlD { + if len(t.line) == 0 { + return "", io.EOF + } + } + if key == keyPasteStart { + t.pasteActive = true + if len(t.line) == 0 { + lineIsPasted = true + } + continue + } + } else if key == keyPasteEnd { + t.pasteActive = false + continue + } + if !t.pasteActive { + lineIsPasted = false + } + line, lineOk = t.handleKey(key) + } + if len(rest) > 0 { + n := copy(t.inBuf[:], rest) + t.remainder = t.inBuf[:n] + } else { + t.remainder = nil + } + t.c.Write(t.outBuf) + t.outBuf = t.outBuf[:0] + if lineOk { + if t.echo { + t.historyIndex = -1 + t.history.Add(line) + } + if lineIsPasted { + err = ErrPasteIndicator + } + return + } + + // t.remainder is a slice at the beginning of t.inBuf + // containing a partial key sequence + readBuf := t.inBuf[len(t.remainder):] + var n int + + t.lock.Unlock() + n, err = t.c.Read(readBuf) + t.lock.Lock() + + if err != nil { + return + } + + t.remainder = t.inBuf[:n+len(t.remainder)] + } +} + +// SetPrompt sets the prompt to be used when reading subsequent lines. +func (t *Terminal) SetPrompt(prompt string) { + t.lock.Lock() + defer t.lock.Unlock() + + t.prompt = []rune(prompt) +} + +func (t *Terminal) clearAndRepaintLinePlusNPrevious(numPrevLines int) { + // Move cursor to column zero at the start of the line. + t.move(t.cursorY, 0, t.cursorX, 0) + t.cursorX, t.cursorY = 0, 0 + t.clearLineToRight() + for t.cursorY < numPrevLines { + // Move down a line + t.move(0, 1, 0, 0) + t.cursorY++ + t.clearLineToRight() + } + // Move back to beginning. + t.move(t.cursorY, 0, 0, 0) + t.cursorX, t.cursorY = 0, 0 + + t.queue(t.prompt) + t.advanceCursor(visualLength(t.prompt)) + t.writeLine(t.line) + t.moveCursorToPos(t.pos) +} + +func (t *Terminal) SetSize(width, height int) error { + t.lock.Lock() + defer t.lock.Unlock() + + if width == 0 { + width = 1 + } + + oldWidth := t.termWidth + t.termWidth, t.termHeight = width, height + + switch { + case width == oldWidth: + // If the width didn't change then nothing else needs to be + // done. + return nil + case len(t.line) == 0 && t.cursorX == 0 && t.cursorY == 0: + // If there is nothing on current line and no prompt printed, + // just do nothing + return nil + case width < oldWidth: + // Some terminals (e.g. xterm) will truncate lines that were + // too long when shinking. Others, (e.g. gnome-terminal) will + // attempt to wrap them. For the former, repainting t.maxLine + // works great, but that behaviour goes badly wrong in the case + // of the latter because they have doubled every full line. + + // We assume that we are working on a terminal that wraps lines + // and adjust the cursor position based on every previous line + // wrapping and turning into two. This causes the prompt on + // xterms to move upwards, which isn't great, but it avoids a + // huge mess with gnome-terminal. + if t.cursorX >= t.termWidth { + t.cursorX = t.termWidth - 1 + } + t.cursorY *= 2 + t.clearAndRepaintLinePlusNPrevious(t.maxLine * 2) + case width > oldWidth: + // If the terminal expands then our position calculations will + // be wrong in the future because we think the cursor is + // |t.pos| chars into the string, but there will be a gap at + // the end of any wrapped line. + // + // But the position will actually be correct until we move, so + // we can move back to the beginning and repaint everything. + t.clearAndRepaintLinePlusNPrevious(t.maxLine) + } + + _, err := t.c.Write(t.outBuf) + t.outBuf = t.outBuf[:0] + return err +} + +type pasteIndicatorError struct{} + +func (pasteIndicatorError) Error() string { + return "terminal: ErrPasteIndicator not correctly handled" +} + +// ErrPasteIndicator may be returned from ReadLine as the error, in addition +// to valid line data. It indicates that bracketed paste mode is enabled and +// that the returned line consists only of pasted data. Programs may wish to +// interpret pasted data more literally than typed data. +var ErrPasteIndicator = pasteIndicatorError{} + +// SetBracketedPasteMode requests that the terminal bracket paste operations +// with markers. Not all terminals support this but, if it is supported, then +// enabling this mode will stop any autocomplete callback from running due to +// pastes. Additionally, any lines that are completely pasted will be returned +// from ReadLine with the error set to ErrPasteIndicator. +func (t *Terminal) SetBracketedPasteMode(on bool) { + if on { + io.WriteString(t.c, "\x1b[?2004h") + } else { + io.WriteString(t.c, "\x1b[?2004l") + } +} + +// stRingBuffer is a ring buffer of strings. +type stRingBuffer struct { + // entries contains max elements. + entries []string + max int + // head contains the index of the element most recently added to the ring. + head int + // size contains the number of elements in the ring. + size int +} + +func (s *stRingBuffer) Add(a string) { + if s.entries == nil { + const defaultNumEntries = 100 + s.entries = make([]string, defaultNumEntries) + s.max = defaultNumEntries + } + + s.head = (s.head + 1) % s.max + s.entries[s.head] = a + if s.size < s.max { + s.size++ + } +} + +// NthPreviousEntry returns the value passed to the nth previous call to Add. +// If n is zero then the immediately prior value is returned, if one, then the +// next most recent, and so on. If such an element doesn't exist then ok is +// false. +func (s *stRingBuffer) NthPreviousEntry(n int) (value string, ok bool) { + if n >= s.size { + return "", false + } + index := s.head - n + if index < 0 { + index += s.max + } + return s.entries[index], true +} + +// readPasswordLine reads from reader until it finds \n or io.EOF. +// The slice returned does not include the \n. +// readPasswordLine also ignores any \r it finds. +func readPasswordLine(reader io.Reader) ([]byte, error) { + var buf [1]byte + var ret []byte + + for { + n, err := reader.Read(buf[:]) + if n > 0 { + switch buf[0] { + case '\n': + return ret, nil + case '\r': + // remove \r from passwords on Windows + default: + ret = append(ret, buf[0]) + } + continue + } + if err != nil { + if err == io.EOF && len(ret) > 0 { + return ret, nil + } + return ret, err + } + } +} diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util.go b/vendor/golang.org/x/crypto/ssh/terminal/util.go new file mode 100644 index 000000000..391104084 --- /dev/null +++ b/vendor/golang.org/x/crypto/ssh/terminal/util.go @@ -0,0 +1,114 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux,!appengine netbsd openbsd + +// Package terminal provides support functions for dealing with terminals, as +// commonly found on UNIX systems. +// +// Putting a terminal into raw mode is the most common requirement: +// +// oldState, err := terminal.MakeRaw(0) +// if err != nil { +// panic(err) +// } +// defer terminal.Restore(0, oldState) +package terminal // import "golang.org/x/crypto/ssh/terminal" + +import ( + "golang.org/x/sys/unix" +) + +// State contains the state of a terminal. +type State struct { + termios unix.Termios +} + +// IsTerminal returns whether the given file descriptor is a terminal. +func IsTerminal(fd int) bool { + _, err := unix.IoctlGetTermios(fd, ioctlReadTermios) + return err == nil +} + +// MakeRaw put the terminal connected to the given file descriptor into raw +// mode and returns the previous state of the terminal so that it can be +// restored. +func MakeRaw(fd int) (*State, error) { + termios, err := unix.IoctlGetTermios(fd, ioctlReadTermios) + if err != nil { + return nil, err + } + + oldState := State{termios: *termios} + + // This attempts to replicate the behaviour documented for cfmakeraw in + // the termios(3) manpage. + termios.Iflag &^= unix.IGNBRK | unix.BRKINT | unix.PARMRK | unix.ISTRIP | unix.INLCR | unix.IGNCR | unix.ICRNL | unix.IXON + termios.Oflag &^= unix.OPOST + termios.Lflag &^= unix.ECHO | unix.ECHONL | unix.ICANON | unix.ISIG | unix.IEXTEN + termios.Cflag &^= unix.CSIZE | unix.PARENB + termios.Cflag |= unix.CS8 + termios.Cc[unix.VMIN] = 1 + termios.Cc[unix.VTIME] = 0 + if err := unix.IoctlSetTermios(fd, ioctlWriteTermios, termios); err != nil { + return nil, err + } + + return &oldState, nil +} + +// GetState returns the current state of a terminal which may be useful to +// restore the terminal after a signal. +func GetState(fd int) (*State, error) { + termios, err := unix.IoctlGetTermios(fd, ioctlReadTermios) + if err != nil { + return nil, err + } + + return &State{termios: *termios}, nil +} + +// Restore restores the terminal connected to the given file descriptor to a +// previous state. +func Restore(fd int, state *State) error { + return unix.IoctlSetTermios(fd, ioctlWriteTermios, &state.termios) +} + +// GetSize returns the dimensions of the given terminal. +func GetSize(fd int) (width, height int, err error) { + ws, err := unix.IoctlGetWinsize(fd, unix.TIOCGWINSZ) + if err != nil { + return -1, -1, err + } + return int(ws.Col), int(ws.Row), nil +} + +// passwordReader is an io.Reader that reads from a specific file descriptor. +type passwordReader int + +func (r passwordReader) Read(buf []byte) (int, error) { + return unix.Read(int(r), buf) +} + +// ReadPassword reads a line of input from a terminal without local echo. This +// is commonly used for inputting passwords and other sensitive data. The slice +// returned does not include the \n. +func ReadPassword(fd int) ([]byte, error) { + termios, err := unix.IoctlGetTermios(fd, ioctlReadTermios) + if err != nil { + return nil, err + } + + newState := *termios + newState.Lflag &^= unix.ECHO + newState.Lflag |= unix.ICANON | unix.ISIG + newState.Iflag |= unix.ICRNL + if err := unix.IoctlSetTermios(fd, ioctlWriteTermios, &newState); err != nil { + return nil, err + } + + defer unix.IoctlSetTermios(fd, ioctlWriteTermios, termios) + + return readPasswordLine(passwordReader(fd)) +} diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util_aix.go b/vendor/golang.org/x/crypto/ssh/terminal/util_aix.go new file mode 100644 index 000000000..dfcd62785 --- /dev/null +++ b/vendor/golang.org/x/crypto/ssh/terminal/util_aix.go @@ -0,0 +1,12 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix + +package terminal + +import "golang.org/x/sys/unix" + +const ioctlReadTermios = unix.TCGETS +const ioctlWriteTermios = unix.TCSETS diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util_bsd.go b/vendor/golang.org/x/crypto/ssh/terminal/util_bsd.go new file mode 100644 index 000000000..cb23a5904 --- /dev/null +++ b/vendor/golang.org/x/crypto/ssh/terminal/util_bsd.go @@ -0,0 +1,12 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin dragonfly freebsd netbsd openbsd + +package terminal + +import "golang.org/x/sys/unix" + +const ioctlReadTermios = unix.TIOCGETA +const ioctlWriteTermios = unix.TIOCSETA diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util_linux.go b/vendor/golang.org/x/crypto/ssh/terminal/util_linux.go new file mode 100644 index 000000000..5fadfe8a1 --- /dev/null +++ b/vendor/golang.org/x/crypto/ssh/terminal/util_linux.go @@ -0,0 +1,10 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package terminal + +import "golang.org/x/sys/unix" + +const ioctlReadTermios = unix.TCGETS +const ioctlWriteTermios = unix.TCSETS diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util_plan9.go b/vendor/golang.org/x/crypto/ssh/terminal/util_plan9.go new file mode 100644 index 000000000..9317ac7ed --- /dev/null +++ b/vendor/golang.org/x/crypto/ssh/terminal/util_plan9.go @@ -0,0 +1,58 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package terminal provides support functions for dealing with terminals, as +// commonly found on UNIX systems. +// +// Putting a terminal into raw mode is the most common requirement: +// +// oldState, err := terminal.MakeRaw(0) +// if err != nil { +// panic(err) +// } +// defer terminal.Restore(0, oldState) +package terminal + +import ( + "fmt" + "runtime" +) + +type State struct{} + +// IsTerminal returns whether the given file descriptor is a terminal. +func IsTerminal(fd int) bool { + return false +} + +// MakeRaw put the terminal connected to the given file descriptor into raw +// mode and returns the previous state of the terminal so that it can be +// restored. +func MakeRaw(fd int) (*State, error) { + return nil, fmt.Errorf("terminal: MakeRaw not implemented on %s/%s", runtime.GOOS, runtime.GOARCH) +} + +// GetState returns the current state of a terminal which may be useful to +// restore the terminal after a signal. +func GetState(fd int) (*State, error) { + return nil, fmt.Errorf("terminal: GetState not implemented on %s/%s", runtime.GOOS, runtime.GOARCH) +} + +// Restore restores the terminal connected to the given file descriptor to a +// previous state. +func Restore(fd int, state *State) error { + return fmt.Errorf("terminal: Restore not implemented on %s/%s", runtime.GOOS, runtime.GOARCH) +} + +// GetSize returns the dimensions of the given terminal. +func GetSize(fd int) (width, height int, err error) { + return 0, 0, fmt.Errorf("terminal: GetSize not implemented on %s/%s", runtime.GOOS, runtime.GOARCH) +} + +// ReadPassword reads a line of input from a terminal without local echo. This +// is commonly used for inputting passwords and other sensitive data. The slice +// returned does not include the \n. +func ReadPassword(fd int) ([]byte, error) { + return nil, fmt.Errorf("terminal: ReadPassword not implemented on %s/%s", runtime.GOOS, runtime.GOARCH) +} diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util_solaris.go b/vendor/golang.org/x/crypto/ssh/terminal/util_solaris.go new file mode 100644 index 000000000..3d5f06a9f --- /dev/null +++ b/vendor/golang.org/x/crypto/ssh/terminal/util_solaris.go @@ -0,0 +1,124 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build solaris + +package terminal // import "golang.org/x/crypto/ssh/terminal" + +import ( + "golang.org/x/sys/unix" + "io" + "syscall" +) + +// State contains the state of a terminal. +type State struct { + termios unix.Termios +} + +// IsTerminal returns whether the given file descriptor is a terminal. +func IsTerminal(fd int) bool { + _, err := unix.IoctlGetTermio(fd, unix.TCGETA) + return err == nil +} + +// ReadPassword reads a line of input from a terminal without local echo. This +// is commonly used for inputting passwords and other sensitive data. The slice +// returned does not include the \n. +func ReadPassword(fd int) ([]byte, error) { + // see also: http://src.illumos.org/source/xref/illumos-gate/usr/src/lib/libast/common/uwin/getpass.c + val, err := unix.IoctlGetTermios(fd, unix.TCGETS) + if err != nil { + return nil, err + } + oldState := *val + + newState := oldState + newState.Lflag &^= syscall.ECHO + newState.Lflag |= syscall.ICANON | syscall.ISIG + newState.Iflag |= syscall.ICRNL + err = unix.IoctlSetTermios(fd, unix.TCSETS, &newState) + if err != nil { + return nil, err + } + + defer unix.IoctlSetTermios(fd, unix.TCSETS, &oldState) + + var buf [16]byte + var ret []byte + for { + n, err := syscall.Read(fd, buf[:]) + if err != nil { + return nil, err + } + if n == 0 { + if len(ret) == 0 { + return nil, io.EOF + } + break + } + if buf[n-1] == '\n' { + n-- + } + ret = append(ret, buf[:n]...) + if n < len(buf) { + break + } + } + + return ret, nil +} + +// MakeRaw puts the terminal connected to the given file descriptor into raw +// mode and returns the previous state of the terminal so that it can be +// restored. +// see http://cr.illumos.org/~webrev/andy_js/1060/ +func MakeRaw(fd int) (*State, error) { + termios, err := unix.IoctlGetTermios(fd, unix.TCGETS) + if err != nil { + return nil, err + } + + oldState := State{termios: *termios} + + termios.Iflag &^= unix.IGNBRK | unix.BRKINT | unix.PARMRK | unix.ISTRIP | unix.INLCR | unix.IGNCR | unix.ICRNL | unix.IXON + termios.Oflag &^= unix.OPOST + termios.Lflag &^= unix.ECHO | unix.ECHONL | unix.ICANON | unix.ISIG | unix.IEXTEN + termios.Cflag &^= unix.CSIZE | unix.PARENB + termios.Cflag |= unix.CS8 + termios.Cc[unix.VMIN] = 1 + termios.Cc[unix.VTIME] = 0 + + if err := unix.IoctlSetTermios(fd, unix.TCSETS, termios); err != nil { + return nil, err + } + + return &oldState, nil +} + +// Restore restores the terminal connected to the given file descriptor to a +// previous state. +func Restore(fd int, oldState *State) error { + return unix.IoctlSetTermios(fd, unix.TCSETS, &oldState.termios) +} + +// GetState returns the current state of a terminal which may be useful to +// restore the terminal after a signal. +func GetState(fd int) (*State, error) { + termios, err := unix.IoctlGetTermios(fd, unix.TCGETS) + if err != nil { + return nil, err + } + + return &State{termios: *termios}, nil +} + +// GetSize returns the dimensions of the given terminal. +func GetSize(fd int) (width, height int, err error) { + ws, err := unix.IoctlGetWinsize(fd, unix.TIOCGWINSZ) + if err != nil { + return 0, 0, err + } + return int(ws.Col), int(ws.Row), nil +} diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util_windows.go b/vendor/golang.org/x/crypto/ssh/terminal/util_windows.go new file mode 100644 index 000000000..6cb8a9503 --- /dev/null +++ b/vendor/golang.org/x/crypto/ssh/terminal/util_windows.go @@ -0,0 +1,103 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build windows + +// Package terminal provides support functions for dealing with terminals, as +// commonly found on UNIX systems. +// +// Putting a terminal into raw mode is the most common requirement: +// +// oldState, err := terminal.MakeRaw(0) +// if err != nil { +// panic(err) +// } +// defer terminal.Restore(0, oldState) +package terminal + +import ( + "os" + + "golang.org/x/sys/windows" +) + +type State struct { + mode uint32 +} + +// IsTerminal returns whether the given file descriptor is a terminal. +func IsTerminal(fd int) bool { + var st uint32 + err := windows.GetConsoleMode(windows.Handle(fd), &st) + return err == nil +} + +// MakeRaw put the terminal connected to the given file descriptor into raw +// mode and returns the previous state of the terminal so that it can be +// restored. +func MakeRaw(fd int) (*State, error) { + var st uint32 + if err := windows.GetConsoleMode(windows.Handle(fd), &st); err != nil { + return nil, err + } + raw := st &^ (windows.ENABLE_ECHO_INPUT | windows.ENABLE_PROCESSED_INPUT | windows.ENABLE_LINE_INPUT | windows.ENABLE_PROCESSED_OUTPUT) + if err := windows.SetConsoleMode(windows.Handle(fd), raw); err != nil { + return nil, err + } + return &State{st}, nil +} + +// GetState returns the current state of a terminal which may be useful to +// restore the terminal after a signal. +func GetState(fd int) (*State, error) { + var st uint32 + if err := windows.GetConsoleMode(windows.Handle(fd), &st); err != nil { + return nil, err + } + return &State{st}, nil +} + +// Restore restores the terminal connected to the given file descriptor to a +// previous state. +func Restore(fd int, state *State) error { + return windows.SetConsoleMode(windows.Handle(fd), state.mode) +} + +// GetSize returns the dimensions of the given terminal. +func GetSize(fd int) (width, height int, err error) { + var info windows.ConsoleScreenBufferInfo + if err := windows.GetConsoleScreenBufferInfo(windows.Handle(fd), &info); err != nil { + return 0, 0, err + } + return int(info.Size.X), int(info.Size.Y), nil +} + +// ReadPassword reads a line of input from a terminal without local echo. This +// is commonly used for inputting passwords and other sensitive data. The slice +// returned does not include the \n. +func ReadPassword(fd int) ([]byte, error) { + var st uint32 + if err := windows.GetConsoleMode(windows.Handle(fd), &st); err != nil { + return nil, err + } + old := st + + st &^= (windows.ENABLE_ECHO_INPUT) + st |= (windows.ENABLE_PROCESSED_INPUT | windows.ENABLE_LINE_INPUT | windows.ENABLE_PROCESSED_OUTPUT) + if err := windows.SetConsoleMode(windows.Handle(fd), st); err != nil { + return nil, err + } + + defer windows.SetConsoleMode(windows.Handle(fd), old) + + var h windows.Handle + p, _ := windows.GetCurrentProcess() + if err := windows.DuplicateHandle(p, windows.Handle(fd), p, &h, 0, false, windows.DUPLICATE_SAME_ACCESS); err != nil { + return nil, err + } + + f := os.NewFile(uintptr(h), "stdin") + defer f.Close() + return readPasswordLine(f) +} diff --git a/vendor/golang.org/x/net/AUTHORS b/vendor/golang.org/x/net/AUTHORS new file mode 100644 index 000000000..15167cd74 --- /dev/null +++ b/vendor/golang.org/x/net/AUTHORS @@ -0,0 +1,3 @@ +# This source code refers to The Go Authors for copyright purposes. +# The master list of authors is in the main Go distribution, +# visible at http://tip.golang.org/AUTHORS. diff --git a/vendor/golang.org/x/net/CONTRIBUTORS b/vendor/golang.org/x/net/CONTRIBUTORS new file mode 100644 index 000000000..1c4577e96 --- /dev/null +++ b/vendor/golang.org/x/net/CONTRIBUTORS @@ -0,0 +1,3 @@ +# This source code was written by the Go contributors. +# The master list of contributors is in the main Go distribution, +# visible at http://tip.golang.org/CONTRIBUTORS. diff --git a/vendor/golang.org/x/net/LICENSE b/vendor/golang.org/x/net/LICENSE new file mode 100644 index 000000000..6a66aea5e --- /dev/null +++ b/vendor/golang.org/x/net/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/golang.org/x/net/PATENTS b/vendor/golang.org/x/net/PATENTS new file mode 100644 index 000000000..733099041 --- /dev/null +++ b/vendor/golang.org/x/net/PATENTS @@ -0,0 +1,22 @@ +Additional IP Rights Grant (Patents) + +"This implementation" means the copyrightable works distributed by +Google as part of the Go project. + +Google hereby grants to You a perpetual, worldwide, non-exclusive, +no-charge, royalty-free, irrevocable (except as stated in this section) +patent license to make, have made, use, offer to sell, sell, import, +transfer and otherwise run, modify and propagate the contents of this +implementation of Go, where such license applies only to those patent +claims, both currently owned or controlled by Google and acquired in +the future, licensable by Google that are necessarily infringed by this +implementation of Go. This grant does not include claims that would be +infringed only as a consequence of further modification of this +implementation. If you or your agent or exclusive licensee institute or +order or agree to the institution of patent litigation against any +entity (including a cross-claim or counterclaim in a lawsuit) alleging +that this implementation of Go or any code incorporated within this +implementation of Go constitutes direct or contributory patent +infringement, or inducement of patent infringement, then any patent +rights granted to you under this License for this implementation of Go +shall terminate as of the date such litigation is filed. diff --git a/vendor/golang.org/x/net/context/context.go b/vendor/golang.org/x/net/context/context.go new file mode 100644 index 000000000..a3c021d3f --- /dev/null +++ b/vendor/golang.org/x/net/context/context.go @@ -0,0 +1,56 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package context defines the Context type, which carries deadlines, +// cancelation signals, and other request-scoped values across API boundaries +// and between processes. +// As of Go 1.7 this package is available in the standard library under the +// name context. https://golang.org/pkg/context. +// +// Incoming requests to a server should create a Context, and outgoing calls to +// servers should accept a Context. The chain of function calls between must +// propagate the Context, optionally replacing it with a modified copy created +// using WithDeadline, WithTimeout, WithCancel, or WithValue. +// +// Programs that use Contexts should follow these rules to keep interfaces +// consistent across packages and enable static analysis tools to check context +// propagation: +// +// Do not store Contexts inside a struct type; instead, pass a Context +// explicitly to each function that needs it. The Context should be the first +// parameter, typically named ctx: +// +// func DoSomething(ctx context.Context, arg Arg) error { +// // ... use ctx ... +// } +// +// Do not pass a nil Context, even if a function permits it. Pass context.TODO +// if you are unsure about which Context to use. +// +// Use context Values only for request-scoped data that transits processes and +// APIs, not for passing optional parameters to functions. +// +// The same Context may be passed to functions running in different goroutines; +// Contexts are safe for simultaneous use by multiple goroutines. +// +// See http://blog.golang.org/context for example code for a server that uses +// Contexts. +package context // import "golang.org/x/net/context" + +// Background returns a non-nil, empty Context. It is never canceled, has no +// values, and has no deadline. It is typically used by the main function, +// initialization, and tests, and as the top-level Context for incoming +// requests. +func Background() Context { + return background +} + +// TODO returns a non-nil, empty Context. Code should use context.TODO when +// it's unclear which Context to use or it is not yet available (because the +// surrounding function has not yet been extended to accept a Context +// parameter). TODO is recognized by static analysis tools that determine +// whether Contexts are propagated correctly in a program. +func TODO() Context { + return todo +} diff --git a/vendor/golang.org/x/net/context/go17.go b/vendor/golang.org/x/net/context/go17.go new file mode 100644 index 000000000..d20f52b7d --- /dev/null +++ b/vendor/golang.org/x/net/context/go17.go @@ -0,0 +1,72 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.7 + +package context + +import ( + "context" // standard library's context, as of Go 1.7 + "time" +) + +var ( + todo = context.TODO() + background = context.Background() +) + +// Canceled is the error returned by Context.Err when the context is canceled. +var Canceled = context.Canceled + +// DeadlineExceeded is the error returned by Context.Err when the context's +// deadline passes. +var DeadlineExceeded = context.DeadlineExceeded + +// WithCancel returns a copy of parent with a new Done channel. The returned +// context's Done channel is closed when the returned cancel function is called +// or when the parent context's Done channel is closed, whichever happens first. +// +// Canceling this context releases resources associated with it, so code should +// call cancel as soon as the operations running in this Context complete. +func WithCancel(parent Context) (ctx Context, cancel CancelFunc) { + ctx, f := context.WithCancel(parent) + return ctx, CancelFunc(f) +} + +// WithDeadline returns a copy of the parent context with the deadline adjusted +// to be no later than d. If the parent's deadline is already earlier than d, +// WithDeadline(parent, d) is semantically equivalent to parent. The returned +// context's Done channel is closed when the deadline expires, when the returned +// cancel function is called, or when the parent context's Done channel is +// closed, whichever happens first. +// +// Canceling this context releases resources associated with it, so code should +// call cancel as soon as the operations running in this Context complete. +func WithDeadline(parent Context, deadline time.Time) (Context, CancelFunc) { + ctx, f := context.WithDeadline(parent, deadline) + return ctx, CancelFunc(f) +} + +// WithTimeout returns WithDeadline(parent, time.Now().Add(timeout)). +// +// Canceling this context releases resources associated with it, so code should +// call cancel as soon as the operations running in this Context complete: +// +// func slowOperationWithTimeout(ctx context.Context) (Result, error) { +// ctx, cancel := context.WithTimeout(ctx, 100*time.Millisecond) +// defer cancel() // releases resources if slowOperation completes before timeout elapses +// return slowOperation(ctx) +// } +func WithTimeout(parent Context, timeout time.Duration) (Context, CancelFunc) { + return WithDeadline(parent, time.Now().Add(timeout)) +} + +// WithValue returns a copy of parent in which the value associated with key is +// val. +// +// Use context Values only for request-scoped data that transits processes and +// APIs, not for passing optional parameters to functions. +func WithValue(parent Context, key interface{}, val interface{}) Context { + return context.WithValue(parent, key, val) +} diff --git a/vendor/golang.org/x/net/context/go19.go b/vendor/golang.org/x/net/context/go19.go new file mode 100644 index 000000000..d88bd1db1 --- /dev/null +++ b/vendor/golang.org/x/net/context/go19.go @@ -0,0 +1,20 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.9 + +package context + +import "context" // standard library's context, as of Go 1.7 + +// A Context carries a deadline, a cancelation signal, and other values across +// API boundaries. +// +// Context's methods may be called by multiple goroutines simultaneously. +type Context = context.Context + +// A CancelFunc tells an operation to abandon its work. +// A CancelFunc does not wait for the work to stop. +// After the first call, subsequent calls to a CancelFunc do nothing. +type CancelFunc = context.CancelFunc diff --git a/vendor/golang.org/x/net/context/pre_go17.go b/vendor/golang.org/x/net/context/pre_go17.go new file mode 100644 index 000000000..0f35592df --- /dev/null +++ b/vendor/golang.org/x/net/context/pre_go17.go @@ -0,0 +1,300 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !go1.7 + +package context + +import ( + "errors" + "fmt" + "sync" + "time" +) + +// An emptyCtx is never canceled, has no values, and has no deadline. It is not +// struct{}, since vars of this type must have distinct addresses. +type emptyCtx int + +func (*emptyCtx) Deadline() (deadline time.Time, ok bool) { + return +} + +func (*emptyCtx) Done() <-chan struct{} { + return nil +} + +func (*emptyCtx) Err() error { + return nil +} + +func (*emptyCtx) Value(key interface{}) interface{} { + return nil +} + +func (e *emptyCtx) String() string { + switch e { + case background: + return "context.Background" + case todo: + return "context.TODO" + } + return "unknown empty Context" +} + +var ( + background = new(emptyCtx) + todo = new(emptyCtx) +) + +// Canceled is the error returned by Context.Err when the context is canceled. +var Canceled = errors.New("context canceled") + +// DeadlineExceeded is the error returned by Context.Err when the context's +// deadline passes. +var DeadlineExceeded = errors.New("context deadline exceeded") + +// WithCancel returns a copy of parent with a new Done channel. The returned +// context's Done channel is closed when the returned cancel function is called +// or when the parent context's Done channel is closed, whichever happens first. +// +// Canceling this context releases resources associated with it, so code should +// call cancel as soon as the operations running in this Context complete. +func WithCancel(parent Context) (ctx Context, cancel CancelFunc) { + c := newCancelCtx(parent) + propagateCancel(parent, c) + return c, func() { c.cancel(true, Canceled) } +} + +// newCancelCtx returns an initialized cancelCtx. +func newCancelCtx(parent Context) *cancelCtx { + return &cancelCtx{ + Context: parent, + done: make(chan struct{}), + } +} + +// propagateCancel arranges for child to be canceled when parent is. +func propagateCancel(parent Context, child canceler) { + if parent.Done() == nil { + return // parent is never canceled + } + if p, ok := parentCancelCtx(parent); ok { + p.mu.Lock() + if p.err != nil { + // parent has already been canceled + child.cancel(false, p.err) + } else { + if p.children == nil { + p.children = make(map[canceler]bool) + } + p.children[child] = true + } + p.mu.Unlock() + } else { + go func() { + select { + case <-parent.Done(): + child.cancel(false, parent.Err()) + case <-child.Done(): + } + }() + } +} + +// parentCancelCtx follows a chain of parent references until it finds a +// *cancelCtx. This function understands how each of the concrete types in this +// package represents its parent. +func parentCancelCtx(parent Context) (*cancelCtx, bool) { + for { + switch c := parent.(type) { + case *cancelCtx: + return c, true + case *timerCtx: + return c.cancelCtx, true + case *valueCtx: + parent = c.Context + default: + return nil, false + } + } +} + +// removeChild removes a context from its parent. +func removeChild(parent Context, child canceler) { + p, ok := parentCancelCtx(parent) + if !ok { + return + } + p.mu.Lock() + if p.children != nil { + delete(p.children, child) + } + p.mu.Unlock() +} + +// A canceler is a context type that can be canceled directly. The +// implementations are *cancelCtx and *timerCtx. +type canceler interface { + cancel(removeFromParent bool, err error) + Done() <-chan struct{} +} + +// A cancelCtx can be canceled. When canceled, it also cancels any children +// that implement canceler. +type cancelCtx struct { + Context + + done chan struct{} // closed by the first cancel call. + + mu sync.Mutex + children map[canceler]bool // set to nil by the first cancel call + err error // set to non-nil by the first cancel call +} + +func (c *cancelCtx) Done() <-chan struct{} { + return c.done +} + +func (c *cancelCtx) Err() error { + c.mu.Lock() + defer c.mu.Unlock() + return c.err +} + +func (c *cancelCtx) String() string { + return fmt.Sprintf("%v.WithCancel", c.Context) +} + +// cancel closes c.done, cancels each of c's children, and, if +// removeFromParent is true, removes c from its parent's children. +func (c *cancelCtx) cancel(removeFromParent bool, err error) { + if err == nil { + panic("context: internal error: missing cancel error") + } + c.mu.Lock() + if c.err != nil { + c.mu.Unlock() + return // already canceled + } + c.err = err + close(c.done) + for child := range c.children { + // NOTE: acquiring the child's lock while holding parent's lock. + child.cancel(false, err) + } + c.children = nil + c.mu.Unlock() + + if removeFromParent { + removeChild(c.Context, c) + } +} + +// WithDeadline returns a copy of the parent context with the deadline adjusted +// to be no later than d. If the parent's deadline is already earlier than d, +// WithDeadline(parent, d) is semantically equivalent to parent. The returned +// context's Done channel is closed when the deadline expires, when the returned +// cancel function is called, or when the parent context's Done channel is +// closed, whichever happens first. +// +// Canceling this context releases resources associated with it, so code should +// call cancel as soon as the operations running in this Context complete. +func WithDeadline(parent Context, deadline time.Time) (Context, CancelFunc) { + if cur, ok := parent.Deadline(); ok && cur.Before(deadline) { + // The current deadline is already sooner than the new one. + return WithCancel(parent) + } + c := &timerCtx{ + cancelCtx: newCancelCtx(parent), + deadline: deadline, + } + propagateCancel(parent, c) + d := deadline.Sub(time.Now()) + if d <= 0 { + c.cancel(true, DeadlineExceeded) // deadline has already passed + return c, func() { c.cancel(true, Canceled) } + } + c.mu.Lock() + defer c.mu.Unlock() + if c.err == nil { + c.timer = time.AfterFunc(d, func() { + c.cancel(true, DeadlineExceeded) + }) + } + return c, func() { c.cancel(true, Canceled) } +} + +// A timerCtx carries a timer and a deadline. It embeds a cancelCtx to +// implement Done and Err. It implements cancel by stopping its timer then +// delegating to cancelCtx.cancel. +type timerCtx struct { + *cancelCtx + timer *time.Timer // Under cancelCtx.mu. + + deadline time.Time +} + +func (c *timerCtx) Deadline() (deadline time.Time, ok bool) { + return c.deadline, true +} + +func (c *timerCtx) String() string { + return fmt.Sprintf("%v.WithDeadline(%s [%s])", c.cancelCtx.Context, c.deadline, c.deadline.Sub(time.Now())) +} + +func (c *timerCtx) cancel(removeFromParent bool, err error) { + c.cancelCtx.cancel(false, err) + if removeFromParent { + // Remove this timerCtx from its parent cancelCtx's children. + removeChild(c.cancelCtx.Context, c) + } + c.mu.Lock() + if c.timer != nil { + c.timer.Stop() + c.timer = nil + } + c.mu.Unlock() +} + +// WithTimeout returns WithDeadline(parent, time.Now().Add(timeout)). +// +// Canceling this context releases resources associated with it, so code should +// call cancel as soon as the operations running in this Context complete: +// +// func slowOperationWithTimeout(ctx context.Context) (Result, error) { +// ctx, cancel := context.WithTimeout(ctx, 100*time.Millisecond) +// defer cancel() // releases resources if slowOperation completes before timeout elapses +// return slowOperation(ctx) +// } +func WithTimeout(parent Context, timeout time.Duration) (Context, CancelFunc) { + return WithDeadline(parent, time.Now().Add(timeout)) +} + +// WithValue returns a copy of parent in which the value associated with key is +// val. +// +// Use context Values only for request-scoped data that transits processes and +// APIs, not for passing optional parameters to functions. +func WithValue(parent Context, key interface{}, val interface{}) Context { + return &valueCtx{parent, key, val} +} + +// A valueCtx carries a key-value pair. It implements Value for that key and +// delegates all other calls to the embedded Context. +type valueCtx struct { + Context + key, val interface{} +} + +func (c *valueCtx) String() string { + return fmt.Sprintf("%v.WithValue(%#v, %#v)", c.Context, c.key, c.val) +} + +func (c *valueCtx) Value(key interface{}) interface{} { + if c.key == key { + return c.val + } + return c.Context.Value(key) +} diff --git a/vendor/golang.org/x/net/context/pre_go19.go b/vendor/golang.org/x/net/context/pre_go19.go new file mode 100644 index 000000000..b105f80be --- /dev/null +++ b/vendor/golang.org/x/net/context/pre_go19.go @@ -0,0 +1,109 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !go1.9 + +package context + +import "time" + +// A Context carries a deadline, a cancelation signal, and other values across +// API boundaries. +// +// Context's methods may be called by multiple goroutines simultaneously. +type Context interface { + // Deadline returns the time when work done on behalf of this context + // should be canceled. Deadline returns ok==false when no deadline is + // set. Successive calls to Deadline return the same results. + Deadline() (deadline time.Time, ok bool) + + // Done returns a channel that's closed when work done on behalf of this + // context should be canceled. Done may return nil if this context can + // never be canceled. Successive calls to Done return the same value. + // + // WithCancel arranges for Done to be closed when cancel is called; + // WithDeadline arranges for Done to be closed when the deadline + // expires; WithTimeout arranges for Done to be closed when the timeout + // elapses. + // + // Done is provided for use in select statements: + // + // // Stream generates values with DoSomething and sends them to out + // // until DoSomething returns an error or ctx.Done is closed. + // func Stream(ctx context.Context, out chan<- Value) error { + // for { + // v, err := DoSomething(ctx) + // if err != nil { + // return err + // } + // select { + // case <-ctx.Done(): + // return ctx.Err() + // case out <- v: + // } + // } + // } + // + // See http://blog.golang.org/pipelines for more examples of how to use + // a Done channel for cancelation. + Done() <-chan struct{} + + // Err returns a non-nil error value after Done is closed. Err returns + // Canceled if the context was canceled or DeadlineExceeded if the + // context's deadline passed. No other values for Err are defined. + // After Done is closed, successive calls to Err return the same value. + Err() error + + // Value returns the value associated with this context for key, or nil + // if no value is associated with key. Successive calls to Value with + // the same key returns the same result. + // + // Use context values only for request-scoped data that transits + // processes and API boundaries, not for passing optional parameters to + // functions. + // + // A key identifies a specific value in a Context. Functions that wish + // to store values in Context typically allocate a key in a global + // variable then use that key as the argument to context.WithValue and + // Context.Value. A key can be any type that supports equality; + // packages should define keys as an unexported type to avoid + // collisions. + // + // Packages that define a Context key should provide type-safe accessors + // for the values stores using that key: + // + // // Package user defines a User type that's stored in Contexts. + // package user + // + // import "golang.org/x/net/context" + // + // // User is the type of value stored in the Contexts. + // type User struct {...} + // + // // key is an unexported type for keys defined in this package. + // // This prevents collisions with keys defined in other packages. + // type key int + // + // // userKey is the key for user.User values in Contexts. It is + // // unexported; clients use user.NewContext and user.FromContext + // // instead of using this key directly. + // var userKey key = 0 + // + // // NewContext returns a new Context that carries value u. + // func NewContext(ctx context.Context, u *User) context.Context { + // return context.WithValue(ctx, userKey, u) + // } + // + // // FromContext returns the User value stored in ctx, if any. + // func FromContext(ctx context.Context) (*User, bool) { + // u, ok := ctx.Value(userKey).(*User) + // return u, ok + // } + Value(key interface{}) interface{} +} + +// A CancelFunc tells an operation to abandon its work. +// A CancelFunc does not wait for the work to stop. +// After the first call, subsequent calls to a CancelFunc do nothing. +type CancelFunc func() diff --git a/vendor/golang.org/x/net/internal/socks/client.go b/vendor/golang.org/x/net/internal/socks/client.go new file mode 100644 index 000000000..3d6f516a5 --- /dev/null +++ b/vendor/golang.org/x/net/internal/socks/client.go @@ -0,0 +1,168 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package socks + +import ( + "context" + "errors" + "io" + "net" + "strconv" + "time" +) + +var ( + noDeadline = time.Time{} + aLongTimeAgo = time.Unix(1, 0) +) + +func (d *Dialer) connect(ctx context.Context, c net.Conn, address string) (_ net.Addr, ctxErr error) { + host, port, err := splitHostPort(address) + if err != nil { + return nil, err + } + if deadline, ok := ctx.Deadline(); ok && !deadline.IsZero() { + c.SetDeadline(deadline) + defer c.SetDeadline(noDeadline) + } + if ctx != context.Background() { + errCh := make(chan error, 1) + done := make(chan struct{}) + defer func() { + close(done) + if ctxErr == nil { + ctxErr = <-errCh + } + }() + go func() { + select { + case <-ctx.Done(): + c.SetDeadline(aLongTimeAgo) + errCh <- ctx.Err() + case <-done: + errCh <- nil + } + }() + } + + b := make([]byte, 0, 6+len(host)) // the size here is just an estimate + b = append(b, Version5) + if len(d.AuthMethods) == 0 || d.Authenticate == nil { + b = append(b, 1, byte(AuthMethodNotRequired)) + } else { + ams := d.AuthMethods + if len(ams) > 255 { + return nil, errors.New("too many authentication methods") + } + b = append(b, byte(len(ams))) + for _, am := range ams { + b = append(b, byte(am)) + } + } + if _, ctxErr = c.Write(b); ctxErr != nil { + return + } + + if _, ctxErr = io.ReadFull(c, b[:2]); ctxErr != nil { + return + } + if b[0] != Version5 { + return nil, errors.New("unexpected protocol version " + strconv.Itoa(int(b[0]))) + } + am := AuthMethod(b[1]) + if am == AuthMethodNoAcceptableMethods { + return nil, errors.New("no acceptable authentication methods") + } + if d.Authenticate != nil { + if ctxErr = d.Authenticate(ctx, c, am); ctxErr != nil { + return + } + } + + b = b[:0] + b = append(b, Version5, byte(d.cmd), 0) + if ip := net.ParseIP(host); ip != nil { + if ip4 := ip.To4(); ip4 != nil { + b = append(b, AddrTypeIPv4) + b = append(b, ip4...) + } else if ip6 := ip.To16(); ip6 != nil { + b = append(b, AddrTypeIPv6) + b = append(b, ip6...) + } else { + return nil, errors.New("unknown address type") + } + } else { + if len(host) > 255 { + return nil, errors.New("FQDN too long") + } + b = append(b, AddrTypeFQDN) + b = append(b, byte(len(host))) + b = append(b, host...) + } + b = append(b, byte(port>>8), byte(port)) + if _, ctxErr = c.Write(b); ctxErr != nil { + return + } + + if _, ctxErr = io.ReadFull(c, b[:4]); ctxErr != nil { + return + } + if b[0] != Version5 { + return nil, errors.New("unexpected protocol version " + strconv.Itoa(int(b[0]))) + } + if cmdErr := Reply(b[1]); cmdErr != StatusSucceeded { + return nil, errors.New("unknown error " + cmdErr.String()) + } + if b[2] != 0 { + return nil, errors.New("non-zero reserved field") + } + l := 2 + var a Addr + switch b[3] { + case AddrTypeIPv4: + l += net.IPv4len + a.IP = make(net.IP, net.IPv4len) + case AddrTypeIPv6: + l += net.IPv6len + a.IP = make(net.IP, net.IPv6len) + case AddrTypeFQDN: + if _, err := io.ReadFull(c, b[:1]); err != nil { + return nil, err + } + l += int(b[0]) + default: + return nil, errors.New("unknown address type " + strconv.Itoa(int(b[3]))) + } + if cap(b) < l { + b = make([]byte, l) + } else { + b = b[:l] + } + if _, ctxErr = io.ReadFull(c, b); ctxErr != nil { + return + } + if a.IP != nil { + copy(a.IP, b) + } else { + a.Name = string(b[:len(b)-2]) + } + a.Port = int(b[len(b)-2])<<8 | int(b[len(b)-1]) + return &a, nil +} + +func splitHostPort(address string) (string, int, error) { + host, port, err := net.SplitHostPort(address) + if err != nil { + return "", 0, err + } + portnum, err := strconv.Atoi(port) + if err != nil { + return "", 0, err + } + if 1 > portnum || portnum > 0xffff { + return "", 0, errors.New("port number out of range " + port) + } + return host, portnum, nil +} diff --git a/vendor/golang.org/x/net/internal/socks/socks.go b/vendor/golang.org/x/net/internal/socks/socks.go new file mode 100644 index 000000000..6929a9fd5 --- /dev/null +++ b/vendor/golang.org/x/net/internal/socks/socks.go @@ -0,0 +1,317 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package socks provides a SOCKS version 5 client implementation. +// +// SOCKS protocol version 5 is defined in RFC 1928. +// Username/Password authentication for SOCKS version 5 is defined in +// RFC 1929. +package socks + +import ( + "context" + "errors" + "io" + "net" + "strconv" +) + +// A Command represents a SOCKS command. +type Command int + +func (cmd Command) String() string { + switch cmd { + case CmdConnect: + return "socks connect" + case cmdBind: + return "socks bind" + default: + return "socks " + strconv.Itoa(int(cmd)) + } +} + +// An AuthMethod represents a SOCKS authentication method. +type AuthMethod int + +// A Reply represents a SOCKS command reply code. +type Reply int + +func (code Reply) String() string { + switch code { + case StatusSucceeded: + return "succeeded" + case 0x01: + return "general SOCKS server failure" + case 0x02: + return "connection not allowed by ruleset" + case 0x03: + return "network unreachable" + case 0x04: + return "host unreachable" + case 0x05: + return "connection refused" + case 0x06: + return "TTL expired" + case 0x07: + return "command not supported" + case 0x08: + return "address type not supported" + default: + return "unknown code: " + strconv.Itoa(int(code)) + } +} + +// Wire protocol constants. +const ( + Version5 = 0x05 + + AddrTypeIPv4 = 0x01 + AddrTypeFQDN = 0x03 + AddrTypeIPv6 = 0x04 + + CmdConnect Command = 0x01 // establishes an active-open forward proxy connection + cmdBind Command = 0x02 // establishes a passive-open forward proxy connection + + AuthMethodNotRequired AuthMethod = 0x00 // no authentication required + AuthMethodUsernamePassword AuthMethod = 0x02 // use username/password + AuthMethodNoAcceptableMethods AuthMethod = 0xff // no acceptable authentication methods + + StatusSucceeded Reply = 0x00 +) + +// An Addr represents a SOCKS-specific address. +// Either Name or IP is used exclusively. +type Addr struct { + Name string // fully-qualified domain name + IP net.IP + Port int +} + +func (a *Addr) Network() string { return "socks" } + +func (a *Addr) String() string { + if a == nil { + return "" + } + port := strconv.Itoa(a.Port) + if a.IP == nil { + return net.JoinHostPort(a.Name, port) + } + return net.JoinHostPort(a.IP.String(), port) +} + +// A Conn represents a forward proxy connection. +type Conn struct { + net.Conn + + boundAddr net.Addr +} + +// BoundAddr returns the address assigned by the proxy server for +// connecting to the command target address from the proxy server. +func (c *Conn) BoundAddr() net.Addr { + if c == nil { + return nil + } + return c.boundAddr +} + +// A Dialer holds SOCKS-specific options. +type Dialer struct { + cmd Command // either CmdConnect or cmdBind + proxyNetwork string // network between a proxy server and a client + proxyAddress string // proxy server address + + // ProxyDial specifies the optional dial function for + // establishing the transport connection. + ProxyDial func(context.Context, string, string) (net.Conn, error) + + // AuthMethods specifies the list of request authention + // methods. + // If empty, SOCKS client requests only AuthMethodNotRequired. + AuthMethods []AuthMethod + + // Authenticate specifies the optional authentication + // function. It must be non-nil when AuthMethods is not empty. + // It must return an error when the authentication is failed. + Authenticate func(context.Context, io.ReadWriter, AuthMethod) error +} + +// DialContext connects to the provided address on the provided +// network. +// +// The returned error value may be a net.OpError. When the Op field of +// net.OpError contains "socks", the Source field contains a proxy +// server address and the Addr field contains a command target +// address. +// +// See func Dial of the net package of standard library for a +// description of the network and address parameters. +func (d *Dialer) DialContext(ctx context.Context, network, address string) (net.Conn, error) { + if err := d.validateTarget(network, address); err != nil { + proxy, dst, _ := d.pathAddrs(address) + return nil, &net.OpError{Op: d.cmd.String(), Net: network, Source: proxy, Addr: dst, Err: err} + } + if ctx == nil { + proxy, dst, _ := d.pathAddrs(address) + return nil, &net.OpError{Op: d.cmd.String(), Net: network, Source: proxy, Addr: dst, Err: errors.New("nil context")} + } + var err error + var c net.Conn + if d.ProxyDial != nil { + c, err = d.ProxyDial(ctx, d.proxyNetwork, d.proxyAddress) + } else { + var dd net.Dialer + c, err = dd.DialContext(ctx, d.proxyNetwork, d.proxyAddress) + } + if err != nil { + proxy, dst, _ := d.pathAddrs(address) + return nil, &net.OpError{Op: d.cmd.String(), Net: network, Source: proxy, Addr: dst, Err: err} + } + a, err := d.connect(ctx, c, address) + if err != nil { + c.Close() + proxy, dst, _ := d.pathAddrs(address) + return nil, &net.OpError{Op: d.cmd.String(), Net: network, Source: proxy, Addr: dst, Err: err} + } + return &Conn{Conn: c, boundAddr: a}, nil +} + +// DialWithConn initiates a connection from SOCKS server to the target +// network and address using the connection c that is already +// connected to the SOCKS server. +// +// It returns the connection's local address assigned by the SOCKS +// server. +func (d *Dialer) DialWithConn(ctx context.Context, c net.Conn, network, address string) (net.Addr, error) { + if err := d.validateTarget(network, address); err != nil { + proxy, dst, _ := d.pathAddrs(address) + return nil, &net.OpError{Op: d.cmd.String(), Net: network, Source: proxy, Addr: dst, Err: err} + } + if ctx == nil { + proxy, dst, _ := d.pathAddrs(address) + return nil, &net.OpError{Op: d.cmd.String(), Net: network, Source: proxy, Addr: dst, Err: errors.New("nil context")} + } + a, err := d.connect(ctx, c, address) + if err != nil { + proxy, dst, _ := d.pathAddrs(address) + return nil, &net.OpError{Op: d.cmd.String(), Net: network, Source: proxy, Addr: dst, Err: err} + } + return a, nil +} + +// Dial connects to the provided address on the provided network. +// +// Unlike DialContext, it returns a raw transport connection instead +// of a forward proxy connection. +// +// Deprecated: Use DialContext or DialWithConn instead. +func (d *Dialer) Dial(network, address string) (net.Conn, error) { + if err := d.validateTarget(network, address); err != nil { + proxy, dst, _ := d.pathAddrs(address) + return nil, &net.OpError{Op: d.cmd.String(), Net: network, Source: proxy, Addr: dst, Err: err} + } + var err error + var c net.Conn + if d.ProxyDial != nil { + c, err = d.ProxyDial(context.Background(), d.proxyNetwork, d.proxyAddress) + } else { + c, err = net.Dial(d.proxyNetwork, d.proxyAddress) + } + if err != nil { + proxy, dst, _ := d.pathAddrs(address) + return nil, &net.OpError{Op: d.cmd.String(), Net: network, Source: proxy, Addr: dst, Err: err} + } + if _, err := d.DialWithConn(context.Background(), c, network, address); err != nil { + c.Close() + return nil, err + } + return c, nil +} + +func (d *Dialer) validateTarget(network, address string) error { + switch network { + case "tcp", "tcp6", "tcp4": + default: + return errors.New("network not implemented") + } + switch d.cmd { + case CmdConnect, cmdBind: + default: + return errors.New("command not implemented") + } + return nil +} + +func (d *Dialer) pathAddrs(address string) (proxy, dst net.Addr, err error) { + for i, s := range []string{d.proxyAddress, address} { + host, port, err := splitHostPort(s) + if err != nil { + return nil, nil, err + } + a := &Addr{Port: port} + a.IP = net.ParseIP(host) + if a.IP == nil { + a.Name = host + } + if i == 0 { + proxy = a + } else { + dst = a + } + } + return +} + +// NewDialer returns a new Dialer that dials through the provided +// proxy server's network and address. +func NewDialer(network, address string) *Dialer { + return &Dialer{proxyNetwork: network, proxyAddress: address, cmd: CmdConnect} +} + +const ( + authUsernamePasswordVersion = 0x01 + authStatusSucceeded = 0x00 +) + +// UsernamePassword are the credentials for the username/password +// authentication method. +type UsernamePassword struct { + Username string + Password string +} + +// Authenticate authenticates a pair of username and password with the +// proxy server. +func (up *UsernamePassword) Authenticate(ctx context.Context, rw io.ReadWriter, auth AuthMethod) error { + switch auth { + case AuthMethodNotRequired: + return nil + case AuthMethodUsernamePassword: + if len(up.Username) == 0 || len(up.Username) > 255 || len(up.Password) == 0 || len(up.Password) > 255 { + return errors.New("invalid username/password") + } + b := []byte{authUsernamePasswordVersion} + b = append(b, byte(len(up.Username))) + b = append(b, up.Username...) + b = append(b, byte(len(up.Password))) + b = append(b, up.Password...) + // TODO(mikio): handle IO deadlines and cancelation if + // necessary + if _, err := rw.Write(b); err != nil { + return err + } + if _, err := io.ReadFull(rw, b[:2]); err != nil { + return err + } + if b[0] != authUsernamePasswordVersion { + return errors.New("invalid username/password version") + } + if b[1] != authStatusSucceeded { + return errors.New("username/password authentication failed") + } + return nil + } + return errors.New("unsupported authentication method " + strconv.Itoa(int(auth))) +} diff --git a/vendor/golang.org/x/net/proxy/direct.go b/vendor/golang.org/x/net/proxy/direct.go new file mode 100644 index 000000000..4c5ad88b1 --- /dev/null +++ b/vendor/golang.org/x/net/proxy/direct.go @@ -0,0 +1,18 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package proxy + +import ( + "net" +) + +type direct struct{} + +// Direct is a direct proxy: one that makes network connections directly. +var Direct = direct{} + +func (direct) Dial(network, addr string) (net.Conn, error) { + return net.Dial(network, addr) +} diff --git a/vendor/golang.org/x/net/proxy/per_host.go b/vendor/golang.org/x/net/proxy/per_host.go new file mode 100644 index 000000000..0689bb6a7 --- /dev/null +++ b/vendor/golang.org/x/net/proxy/per_host.go @@ -0,0 +1,140 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package proxy + +import ( + "net" + "strings" +) + +// A PerHost directs connections to a default Dialer unless the host name +// requested matches one of a number of exceptions. +type PerHost struct { + def, bypass Dialer + + bypassNetworks []*net.IPNet + bypassIPs []net.IP + bypassZones []string + bypassHosts []string +} + +// NewPerHost returns a PerHost Dialer that directs connections to either +// defaultDialer or bypass, depending on whether the connection matches one of +// the configured rules. +func NewPerHost(defaultDialer, bypass Dialer) *PerHost { + return &PerHost{ + def: defaultDialer, + bypass: bypass, + } +} + +// Dial connects to the address addr on the given network through either +// defaultDialer or bypass. +func (p *PerHost) Dial(network, addr string) (c net.Conn, err error) { + host, _, err := net.SplitHostPort(addr) + if err != nil { + return nil, err + } + + return p.dialerForRequest(host).Dial(network, addr) +} + +func (p *PerHost) dialerForRequest(host string) Dialer { + if ip := net.ParseIP(host); ip != nil { + for _, net := range p.bypassNetworks { + if net.Contains(ip) { + return p.bypass + } + } + for _, bypassIP := range p.bypassIPs { + if bypassIP.Equal(ip) { + return p.bypass + } + } + return p.def + } + + for _, zone := range p.bypassZones { + if strings.HasSuffix(host, zone) { + return p.bypass + } + if host == zone[1:] { + // For a zone ".example.com", we match "example.com" + // too. + return p.bypass + } + } + for _, bypassHost := range p.bypassHosts { + if bypassHost == host { + return p.bypass + } + } + return p.def +} + +// AddFromString parses a string that contains comma-separated values +// specifying hosts that should use the bypass proxy. Each value is either an +// IP address, a CIDR range, a zone (*.example.com) or a host name +// (localhost). A best effort is made to parse the string and errors are +// ignored. +func (p *PerHost) AddFromString(s string) { + hosts := strings.Split(s, ",") + for _, host := range hosts { + host = strings.TrimSpace(host) + if len(host) == 0 { + continue + } + if strings.Contains(host, "/") { + // We assume that it's a CIDR address like 127.0.0.0/8 + if _, net, err := net.ParseCIDR(host); err == nil { + p.AddNetwork(net) + } + continue + } + if ip := net.ParseIP(host); ip != nil { + p.AddIP(ip) + continue + } + if strings.HasPrefix(host, "*.") { + p.AddZone(host[1:]) + continue + } + p.AddHost(host) + } +} + +// AddIP specifies an IP address that will use the bypass proxy. Note that +// this will only take effect if a literal IP address is dialed. A connection +// to a named host will never match an IP. +func (p *PerHost) AddIP(ip net.IP) { + p.bypassIPs = append(p.bypassIPs, ip) +} + +// AddNetwork specifies an IP range that will use the bypass proxy. Note that +// this will only take effect if a literal IP address is dialed. A connection +// to a named host will never match. +func (p *PerHost) AddNetwork(net *net.IPNet) { + p.bypassNetworks = append(p.bypassNetworks, net) +} + +// AddZone specifies a DNS suffix that will use the bypass proxy. A zone of +// "example.com" matches "example.com" and all of its subdomains. +func (p *PerHost) AddZone(zone string) { + if strings.HasSuffix(zone, ".") { + zone = zone[:len(zone)-1] + } + if !strings.HasPrefix(zone, ".") { + zone = "." + zone + } + p.bypassZones = append(p.bypassZones, zone) +} + +// AddHost specifies a host name that will use the bypass proxy. +func (p *PerHost) AddHost(host string) { + if strings.HasSuffix(host, ".") { + host = host[:len(host)-1] + } + p.bypassHosts = append(p.bypassHosts, host) +} diff --git a/vendor/golang.org/x/net/proxy/proxy.go b/vendor/golang.org/x/net/proxy/proxy.go new file mode 100644 index 000000000..f6026b902 --- /dev/null +++ b/vendor/golang.org/x/net/proxy/proxy.go @@ -0,0 +1,139 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package proxy provides support for a variety of protocols to proxy network +// data. +package proxy // import "golang.org/x/net/proxy" + +import ( + "errors" + "net" + "net/url" + "os" + "sync" +) + +// A Dialer is a means to establish a connection. +type Dialer interface { + // Dial connects to the given address via the proxy. + Dial(network, addr string) (c net.Conn, err error) +} + +// Auth contains authentication parameters that specific Dialers may require. +type Auth struct { + User, Password string +} + +// FromEnvironment returns the dialer specified by the proxy related variables in +// the environment. +func FromEnvironment() Dialer { + allProxy := allProxyEnv.Get() + if len(allProxy) == 0 { + return Direct + } + + proxyURL, err := url.Parse(allProxy) + if err != nil { + return Direct + } + proxy, err := FromURL(proxyURL, Direct) + if err != nil { + return Direct + } + + noProxy := noProxyEnv.Get() + if len(noProxy) == 0 { + return proxy + } + + perHost := NewPerHost(proxy, Direct) + perHost.AddFromString(noProxy) + return perHost +} + +// proxySchemes is a map from URL schemes to a function that creates a Dialer +// from a URL with such a scheme. +var proxySchemes map[string]func(*url.URL, Dialer) (Dialer, error) + +// RegisterDialerType takes a URL scheme and a function to generate Dialers from +// a URL with that scheme and a forwarding Dialer. Registered schemes are used +// by FromURL. +func RegisterDialerType(scheme string, f func(*url.URL, Dialer) (Dialer, error)) { + if proxySchemes == nil { + proxySchemes = make(map[string]func(*url.URL, Dialer) (Dialer, error)) + } + proxySchemes[scheme] = f +} + +// FromURL returns a Dialer given a URL specification and an underlying +// Dialer for it to make network requests. +func FromURL(u *url.URL, forward Dialer) (Dialer, error) { + var auth *Auth + if u.User != nil { + auth = new(Auth) + auth.User = u.User.Username() + if p, ok := u.User.Password(); ok { + auth.Password = p + } + } + + switch u.Scheme { + case "socks5", "socks5h": + addr := u.Hostname() + port := u.Port() + if port == "" { + port = "1080" + } + return SOCKS5("tcp", net.JoinHostPort(addr, port), auth, forward) + } + + // If the scheme doesn't match any of the built-in schemes, see if it + // was registered by another package. + if proxySchemes != nil { + if f, ok := proxySchemes[u.Scheme]; ok { + return f(u, forward) + } + } + + return nil, errors.New("proxy: unknown scheme: " + u.Scheme) +} + +var ( + allProxyEnv = &envOnce{ + names: []string{"ALL_PROXY", "all_proxy"}, + } + noProxyEnv = &envOnce{ + names: []string{"NO_PROXY", "no_proxy"}, + } +) + +// envOnce looks up an environment variable (optionally by multiple +// names) once. It mitigates expensive lookups on some platforms +// (e.g. Windows). +// (Borrowed from net/http/transport.go) +type envOnce struct { + names []string + once sync.Once + val string +} + +func (e *envOnce) Get() string { + e.once.Do(e.init) + return e.val +} + +func (e *envOnce) init() { + for _, n := range e.names { + e.val = os.Getenv(n) + if e.val != "" { + return + } + } +} + +// reset is used by tests +func (e *envOnce) reset() { + e.once = sync.Once{} + e.val = "" +} diff --git a/vendor/golang.org/x/net/proxy/socks5.go b/vendor/golang.org/x/net/proxy/socks5.go new file mode 100644 index 000000000..56345ec8b --- /dev/null +++ b/vendor/golang.org/x/net/proxy/socks5.go @@ -0,0 +1,36 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package proxy + +import ( + "context" + "net" + + "golang.org/x/net/internal/socks" +) + +// SOCKS5 returns a Dialer that makes SOCKSv5 connections to the given +// address with an optional username and password. +// See RFC 1928 and RFC 1929. +func SOCKS5(network, address string, auth *Auth, forward Dialer) (Dialer, error) { + d := socks.NewDialer(network, address) + if forward != nil { + d.ProxyDial = func(_ context.Context, network string, address string) (net.Conn, error) { + return forward.Dial(network, address) + } + } + if auth != nil { + up := socks.UsernamePassword{ + Username: auth.User, + Password: auth.Password, + } + d.AuthMethods = []socks.AuthMethod{ + socks.AuthMethodNotRequired, + socks.AuthMethodUsernamePassword, + } + d.Authenticate = up.Authenticate + } + return d, nil +} diff --git a/vendor/golang.org/x/sys/AUTHORS b/vendor/golang.org/x/sys/AUTHORS new file mode 100644 index 000000000..15167cd74 --- /dev/null +++ b/vendor/golang.org/x/sys/AUTHORS @@ -0,0 +1,3 @@ +# This source code refers to The Go Authors for copyright purposes. +# The master list of authors is in the main Go distribution, +# visible at http://tip.golang.org/AUTHORS. diff --git a/vendor/golang.org/x/sys/CONTRIBUTORS b/vendor/golang.org/x/sys/CONTRIBUTORS new file mode 100644 index 000000000..1c4577e96 --- /dev/null +++ b/vendor/golang.org/x/sys/CONTRIBUTORS @@ -0,0 +1,3 @@ +# This source code was written by the Go contributors. +# The master list of contributors is in the main Go distribution, +# visible at http://tip.golang.org/CONTRIBUTORS. diff --git a/vendor/golang.org/x/sys/LICENSE b/vendor/golang.org/x/sys/LICENSE new file mode 100644 index 000000000..6a66aea5e --- /dev/null +++ b/vendor/golang.org/x/sys/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/golang.org/x/sys/PATENTS b/vendor/golang.org/x/sys/PATENTS new file mode 100644 index 000000000..733099041 --- /dev/null +++ b/vendor/golang.org/x/sys/PATENTS @@ -0,0 +1,22 @@ +Additional IP Rights Grant (Patents) + +"This implementation" means the copyrightable works distributed by +Google as part of the Go project. + +Google hereby grants to You a perpetual, worldwide, non-exclusive, +no-charge, royalty-free, irrevocable (except as stated in this section) +patent license to make, have made, use, offer to sell, sell, import, +transfer and otherwise run, modify and propagate the contents of this +implementation of Go, where such license applies only to those patent +claims, both currently owned or controlled by Google and acquired in +the future, licensable by Google that are necessarily infringed by this +implementation of Go. This grant does not include claims that would be +infringed only as a consequence of further modification of this +implementation. If you or your agent or exclusive licensee institute or +order or agree to the institution of patent litigation against any +entity (including a cross-claim or counterclaim in a lawsuit) alleging +that this implementation of Go or any code incorporated within this +implementation of Go constitutes direct or contributory patent +infringement, or inducement of patent infringement, then any patent +rights granted to you under this License for this implementation of Go +shall terminate as of the date such litigation is filed. diff --git a/vendor/golang.org/x/sys/cpu/byteorder.go b/vendor/golang.org/x/sys/cpu/byteorder.go new file mode 100644 index 000000000..da6b9e436 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/byteorder.go @@ -0,0 +1,30 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package cpu + +import ( + "encoding/binary" + "runtime" +) + +// hostByteOrder returns binary.LittleEndian on little-endian machines and +// binary.BigEndian on big-endian machines. +func hostByteOrder() binary.ByteOrder { + switch runtime.GOARCH { + case "386", "amd64", "amd64p32", + "arm", "arm64", + "mipsle", "mips64le", "mips64p32le", + "ppc64le", + "riscv", "riscv64": + return binary.LittleEndian + case "armbe", "arm64be", + "mips", "mips64", "mips64p32", + "ppc", "ppc64", + "s390", "s390x", + "sparc", "sparc64": + return binary.BigEndian + } + panic("unknown architecture") +} diff --git a/vendor/golang.org/x/sys/cpu/cpu.go b/vendor/golang.org/x/sys/cpu/cpu.go new file mode 100644 index 000000000..6b0034ecd --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu.go @@ -0,0 +1,89 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package cpu implements processor feature detection for +// various CPU architectures. +package cpu + +// CacheLinePad is used to pad structs to avoid false sharing. +type CacheLinePad struct{ _ [cacheLineSize]byte } + +// X86 contains the supported CPU features of the +// current X86/AMD64 platform. If the current platform +// is not X86/AMD64 then all feature flags are false. +// +// X86 is padded to avoid false sharing. Further the HasAVX +// and HasAVX2 are only set if the OS supports XMM and YMM +// registers in addition to the CPUID feature bit being set. +var X86 struct { + _ CacheLinePad + HasAES bool // AES hardware implementation (AES NI) + HasADX bool // Multi-precision add-carry instruction extensions + HasAVX bool // Advanced vector extension + HasAVX2 bool // Advanced vector extension 2 + HasBMI1 bool // Bit manipulation instruction set 1 + HasBMI2 bool // Bit manipulation instruction set 2 + HasERMS bool // Enhanced REP for MOVSB and STOSB + HasFMA bool // Fused-multiply-add instructions + HasOSXSAVE bool // OS supports XSAVE/XRESTOR for saving/restoring XMM registers. + HasPCLMULQDQ bool // PCLMULQDQ instruction - most often used for AES-GCM + HasPOPCNT bool // Hamming weight instruction POPCNT. + HasRDRAND bool // RDRAND instruction (on-chip random number generator) + HasRDSEED bool // RDSEED instruction (on-chip random number generator) + HasSSE2 bool // Streaming SIMD extension 2 (always available on amd64) + HasSSE3 bool // Streaming SIMD extension 3 + HasSSSE3 bool // Supplemental streaming SIMD extension 3 + HasSSE41 bool // Streaming SIMD extension 4 and 4.1 + HasSSE42 bool // Streaming SIMD extension 4 and 4.2 + _ CacheLinePad +} + +// ARM64 contains the supported CPU features of the +// current ARMv8(aarch64) platform. If the current platform +// is not arm64 then all feature flags are false. +var ARM64 struct { + _ CacheLinePad + HasFP bool // Floating-point instruction set (always available) + HasASIMD bool // Advanced SIMD (always available) + HasEVTSTRM bool // Event stream support + HasAES bool // AES hardware implementation + HasPMULL bool // Polynomial multiplication instruction set + HasSHA1 bool // SHA1 hardware implementation + HasSHA2 bool // SHA2 hardware implementation + HasCRC32 bool // CRC32 hardware implementation + HasATOMICS bool // Atomic memory operation instruction set + HasFPHP bool // Half precision floating-point instruction set + HasASIMDHP bool // Advanced SIMD half precision instruction set + HasCPUID bool // CPUID identification scheme registers + HasASIMDRDM bool // Rounding double multiply add/subtract instruction set + HasJSCVT bool // Javascript conversion from floating-point to integer + HasFCMA bool // Floating-point multiplication and addition of complex numbers + HasLRCPC bool // Release Consistent processor consistent support + HasDCPOP bool // Persistent memory support + HasSHA3 bool // SHA3 hardware implementation + HasSM3 bool // SM3 hardware implementation + HasSM4 bool // SM4 hardware implementation + HasASIMDDP bool // Advanced SIMD double precision instruction set + HasSHA512 bool // SHA512 hardware implementation + HasSVE bool // Scalable Vector Extensions + HasASIMDFHM bool // Advanced SIMD multiplication FP16 to FP32 + _ CacheLinePad +} + +// PPC64 contains the supported CPU features of the current ppc64/ppc64le platforms. +// If the current platform is not ppc64/ppc64le then all feature flags are false. +// +// For ppc64/ppc64le, it is safe to check only for ISA level starting on ISA v3.00, +// since there are no optional categories. There are some exceptions that also +// require kernel support to work (DARN, SCV), so there are feature bits for +// those as well. The minimum processor requirement is POWER8 (ISA 2.07). +// The struct is padded to avoid false sharing. +var PPC64 struct { + _ CacheLinePad + HasDARN bool // Hardware random number generator (requires kernel enablement) + HasSCV bool // Syscall vectored (requires kernel enablement) + IsPOWER8 bool // ISA v2.07 (POWER8) + IsPOWER9 bool // ISA v3.00 (POWER9) + _ CacheLinePad +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_arm.go b/vendor/golang.org/x/sys/cpu/cpu_arm.go new file mode 100644 index 000000000..7f2348b7d --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_arm.go @@ -0,0 +1,9 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package cpu + +const cacheLineSize = 32 + +func doinit() {} diff --git a/vendor/golang.org/x/sys/cpu/cpu_gc_x86.go b/vendor/golang.org/x/sys/cpu/cpu_gc_x86.go new file mode 100644 index 000000000..f7cb46971 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_gc_x86.go @@ -0,0 +1,16 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build 386 amd64 amd64p32 +// +build !gccgo + +package cpu + +// cpuid is implemented in cpu_x86.s for gc compiler +// and in cpu_gccgo.c for gccgo. +func cpuid(eaxArg, ecxArg uint32) (eax, ebx, ecx, edx uint32) + +// xgetbv with ecx = 0 is implemented in cpu_x86.s for gc compiler +// and in cpu_gccgo.c for gccgo. +func xgetbv() (eax, edx uint32) diff --git a/vendor/golang.org/x/sys/cpu/cpu_gccgo.c b/vendor/golang.org/x/sys/cpu/cpu_gccgo.c new file mode 100644 index 000000000..e363c7d13 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_gccgo.c @@ -0,0 +1,43 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build 386 amd64 amd64p32 +// +build gccgo + +#include +#include + +// Need to wrap __get_cpuid_count because it's declared as static. +int +gccgoGetCpuidCount(uint32_t leaf, uint32_t subleaf, + uint32_t *eax, uint32_t *ebx, + uint32_t *ecx, uint32_t *edx) +{ + return __get_cpuid_count(leaf, subleaf, eax, ebx, ecx, edx); +} + +// xgetbv reads the contents of an XCR (Extended Control Register) +// specified in the ECX register into registers EDX:EAX. +// Currently, the only supported value for XCR is 0. +// +// TODO: Replace with a better alternative: +// +// #include +// +// #pragma GCC target("xsave") +// +// void gccgoXgetbv(uint32_t *eax, uint32_t *edx) { +// unsigned long long x = _xgetbv(0); +// *eax = x & 0xffffffff; +// *edx = (x >> 32) & 0xffffffff; +// } +// +// Note that _xgetbv is defined starting with GCC 8. +void +gccgoXgetbv(uint32_t *eax, uint32_t *edx) +{ + __asm(" xorl %%ecx, %%ecx\n" + " xgetbv" + : "=a"(*eax), "=d"(*edx)); +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_gccgo.go b/vendor/golang.org/x/sys/cpu/cpu_gccgo.go new file mode 100644 index 000000000..ba49b91bd --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_gccgo.go @@ -0,0 +1,26 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build 386 amd64 amd64p32 +// +build gccgo + +package cpu + +//extern gccgoGetCpuidCount +func gccgoGetCpuidCount(eaxArg, ecxArg uint32, eax, ebx, ecx, edx *uint32) + +func cpuid(eaxArg, ecxArg uint32) (eax, ebx, ecx, edx uint32) { + var a, b, c, d uint32 + gccgoGetCpuidCount(eaxArg, ecxArg, &a, &b, &c, &d) + return a, b, c, d +} + +//extern gccgoXgetbv +func gccgoXgetbv(eax, edx *uint32) + +func xgetbv() (eax, edx uint32) { + var a, d uint32 + gccgoXgetbv(&a, &d) + return a, d +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_linux.go b/vendor/golang.org/x/sys/cpu/cpu_linux.go new file mode 100644 index 000000000..33b61e528 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_linux.go @@ -0,0 +1,55 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//+build !amd64,!amd64p32,!386 + +package cpu + +import ( + "io/ioutil" +) + +const ( + _AT_HWCAP = 16 + _AT_HWCAP2 = 26 + + procAuxv = "/proc/self/auxv" + + uintSize = int(32 << (^uint(0) >> 63)) +) + +// For those platforms don't have a 'cpuid' equivalent we use HWCAP/HWCAP2 +// These are initialized in cpu_$GOARCH.go +// and should not be changed after they are initialized. +var hwCap uint +var hwCap2 uint + +func init() { + buf, err := ioutil.ReadFile(procAuxv) + if err != nil { + panic("read proc auxv failed: " + err.Error()) + } + + bo := hostByteOrder() + for len(buf) >= 2*(uintSize/8) { + var tag, val uint + switch uintSize { + case 32: + tag = uint(bo.Uint32(buf[0:])) + val = uint(bo.Uint32(buf[4:])) + buf = buf[8:] + case 64: + tag = uint(bo.Uint64(buf[0:])) + val = uint(bo.Uint64(buf[8:])) + buf = buf[16:] + } + switch tag { + case _AT_HWCAP: + hwCap = val + case _AT_HWCAP2: + hwCap2 = val + } + } + doinit() +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_linux_arm64.go b/vendor/golang.org/x/sys/cpu/cpu_linux_arm64.go new file mode 100644 index 000000000..fa7fb1bd7 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_linux_arm64.go @@ -0,0 +1,67 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package cpu + +const cacheLineSize = 64 + +// HWCAP/HWCAP2 bits. These are exposed by Linux. +const ( + hwcap_FP = 1 << 0 + hwcap_ASIMD = 1 << 1 + hwcap_EVTSTRM = 1 << 2 + hwcap_AES = 1 << 3 + hwcap_PMULL = 1 << 4 + hwcap_SHA1 = 1 << 5 + hwcap_SHA2 = 1 << 6 + hwcap_CRC32 = 1 << 7 + hwcap_ATOMICS = 1 << 8 + hwcap_FPHP = 1 << 9 + hwcap_ASIMDHP = 1 << 10 + hwcap_CPUID = 1 << 11 + hwcap_ASIMDRDM = 1 << 12 + hwcap_JSCVT = 1 << 13 + hwcap_FCMA = 1 << 14 + hwcap_LRCPC = 1 << 15 + hwcap_DCPOP = 1 << 16 + hwcap_SHA3 = 1 << 17 + hwcap_SM3 = 1 << 18 + hwcap_SM4 = 1 << 19 + hwcap_ASIMDDP = 1 << 20 + hwcap_SHA512 = 1 << 21 + hwcap_SVE = 1 << 22 + hwcap_ASIMDFHM = 1 << 23 +) + +func doinit() { + // HWCAP feature bits + ARM64.HasFP = isSet(hwCap, hwcap_FP) + ARM64.HasASIMD = isSet(hwCap, hwcap_ASIMD) + ARM64.HasEVTSTRM = isSet(hwCap, hwcap_EVTSTRM) + ARM64.HasAES = isSet(hwCap, hwcap_AES) + ARM64.HasPMULL = isSet(hwCap, hwcap_PMULL) + ARM64.HasSHA1 = isSet(hwCap, hwcap_SHA1) + ARM64.HasSHA2 = isSet(hwCap, hwcap_SHA2) + ARM64.HasCRC32 = isSet(hwCap, hwcap_CRC32) + ARM64.HasATOMICS = isSet(hwCap, hwcap_ATOMICS) + ARM64.HasFPHP = isSet(hwCap, hwcap_FPHP) + ARM64.HasASIMDHP = isSet(hwCap, hwcap_ASIMDHP) + ARM64.HasCPUID = isSet(hwCap, hwcap_CPUID) + ARM64.HasASIMDRDM = isSet(hwCap, hwcap_ASIMDRDM) + ARM64.HasJSCVT = isSet(hwCap, hwcap_JSCVT) + ARM64.HasFCMA = isSet(hwCap, hwcap_FCMA) + ARM64.HasLRCPC = isSet(hwCap, hwcap_LRCPC) + ARM64.HasDCPOP = isSet(hwCap, hwcap_DCPOP) + ARM64.HasSHA3 = isSet(hwCap, hwcap_SHA3) + ARM64.HasSM3 = isSet(hwCap, hwcap_SM3) + ARM64.HasSM4 = isSet(hwCap, hwcap_SM4) + ARM64.HasASIMDDP = isSet(hwCap, hwcap_ASIMDDP) + ARM64.HasSHA512 = isSet(hwCap, hwcap_SHA512) + ARM64.HasSVE = isSet(hwCap, hwcap_SVE) + ARM64.HasASIMDFHM = isSet(hwCap, hwcap_ASIMDFHM) +} + +func isSet(hwc uint, value uint) bool { + return hwc&value != 0 +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_mips64x.go b/vendor/golang.org/x/sys/cpu/cpu_mips64x.go new file mode 100644 index 000000000..f55e0c82c --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_mips64x.go @@ -0,0 +1,11 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build mips64 mips64le + +package cpu + +const cacheLineSize = 32 + +func doinit() {} diff --git a/vendor/golang.org/x/sys/cpu/cpu_mipsx.go b/vendor/golang.org/x/sys/cpu/cpu_mipsx.go new file mode 100644 index 000000000..cda87b1a1 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_mipsx.go @@ -0,0 +1,11 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build mips mipsle + +package cpu + +const cacheLineSize = 32 + +func doinit() {} diff --git a/vendor/golang.org/x/sys/cpu/cpu_other_arm64.go b/vendor/golang.org/x/sys/cpu/cpu_other_arm64.go new file mode 100644 index 000000000..dd1e76dc9 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_other_arm64.go @@ -0,0 +1,11 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !linux,arm64 + +package cpu + +const cacheLineSize = 64 + +func doinit() {} diff --git a/vendor/golang.org/x/sys/cpu/cpu_ppc64x.go b/vendor/golang.org/x/sys/cpu/cpu_ppc64x.go new file mode 100644 index 000000000..a971b0125 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_ppc64x.go @@ -0,0 +1,32 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ppc64 ppc64le + +package cpu + +const cacheLineSize = 128 + +// HWCAP/HWCAP2 bits. These are exposed by the kernel. +const ( + // ISA Level + _PPC_FEATURE2_ARCH_2_07 = 0x80000000 + _PPC_FEATURE2_ARCH_3_00 = 0x00800000 + + // CPU features + _PPC_FEATURE2_DARN = 0x00200000 + _PPC_FEATURE2_SCV = 0x00100000 +) + +func doinit() { + // HWCAP2 feature bits + PPC64.IsPOWER8 = isSet(hwCap2, _PPC_FEATURE2_ARCH_2_07) + PPC64.IsPOWER9 = isSet(hwCap2, _PPC_FEATURE2_ARCH_3_00) + PPC64.HasDARN = isSet(hwCap2, _PPC_FEATURE2_DARN) + PPC64.HasSCV = isSet(hwCap2, _PPC_FEATURE2_SCV) +} + +func isSet(hwc uint, value uint) bool { + return hwc&value != 0 +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_s390x.go b/vendor/golang.org/x/sys/cpu/cpu_s390x.go new file mode 100644 index 000000000..ce8a2289e --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_s390x.go @@ -0,0 +1,9 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package cpu + +const cacheLineSize = 256 + +func doinit() {} diff --git a/vendor/golang.org/x/sys/cpu/cpu_x86.go b/vendor/golang.org/x/sys/cpu/cpu_x86.go new file mode 100644 index 000000000..2b3ca2e11 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_x86.go @@ -0,0 +1,57 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build 386 amd64 amd64p32 + +package cpu + +const cacheLineSize = 64 + +func init() { + maxID, _, _, _ := cpuid(0, 0) + + if maxID < 1 { + return + } + + _, _, ecx1, edx1 := cpuid(1, 0) + X86.HasSSE2 = isSet(26, edx1) + + X86.HasSSE3 = isSet(0, ecx1) + X86.HasPCLMULQDQ = isSet(1, ecx1) + X86.HasSSSE3 = isSet(9, ecx1) + X86.HasFMA = isSet(12, ecx1) + X86.HasSSE41 = isSet(19, ecx1) + X86.HasSSE42 = isSet(20, ecx1) + X86.HasPOPCNT = isSet(23, ecx1) + X86.HasAES = isSet(25, ecx1) + X86.HasOSXSAVE = isSet(27, ecx1) + X86.HasRDRAND = isSet(30, ecx1) + + osSupportsAVX := false + // For XGETBV, OSXSAVE bit is required and sufficient. + if X86.HasOSXSAVE { + eax, _ := xgetbv() + // Check if XMM and YMM registers have OS support. + osSupportsAVX = isSet(1, eax) && isSet(2, eax) + } + + X86.HasAVX = isSet(28, ecx1) && osSupportsAVX + + if maxID < 7 { + return + } + + _, ebx7, _, _ := cpuid(7, 0) + X86.HasBMI1 = isSet(3, ebx7) + X86.HasAVX2 = isSet(5, ebx7) && osSupportsAVX + X86.HasBMI2 = isSet(8, ebx7) + X86.HasERMS = isSet(9, ebx7) + X86.HasRDSEED = isSet(18, ebx7) + X86.HasADX = isSet(19, ebx7) +} + +func isSet(bitpos uint, value uint32) bool { + return value&(1<

) { + if ($_ =~ /^#define\s+(CTL_NAMES)\s+{/ || + $_ =~ /^#define\s+(CTL_(.*)_NAMES)\s+{/ || + $_ =~ /^#define\s+((.*)CTL_NAMES)\s+{/) { + if ($1 eq 'CTL_NAMES') { + # Top level. + $node = \%mib; + } else { + # Node. + my $nodename = lc($2); + if ($header =~ /^netinet\//) { + $ctlname = "net.inet.$nodename"; + } elsif ($header =~ /^netinet6\//) { + $ctlname = "net.inet6.$nodename"; + } elsif ($header =~ /^net\//) { + $ctlname = "net.$nodename"; + } else { + $ctlname = "$nodename"; + $ctlname =~ s/^(fs|net|kern)_/$1\./; + } + if (exists $ctl_map{$ctlname}) { + $ctlname = $ctl_map{$ctlname}; + } + if (not exists $ctls{$ctlname}) { + &debug("Ignoring $ctlname..."); + next; + } + + # Walk down from the top of the MIB. + $node = \%mib; + foreach my $part (split /\./, $ctlname) { + if (not exists $$node{$part}) { + &debug("Missing node $part"); + $$node{$part} = [ 0, '', {} ]; + } + $node = \%{@{$$node{$part}}[2]}; + } + } + + # Populate current node with entries. + my $i = -1; + while (defined($_) && $_ !~ /^}/) { + $_ =
; + $i++ if $_ =~ /{.*}/; + next if $_ !~ /{\s+"(\w+)",\s+(CTLTYPE_[A-Z]+)\s+}/; + $$node{$1} = [ $i, $2, {} ]; + } + } + } + close HEADER; +} + +&build_sysctl(\%mib, "", []); + +print < 6.2, pass execpromises to the syscall. + if maj > 6 || (maj == 6 && min > 2) { + exptr, err := syscall.BytePtrFromString(execpromises) + if err != nil { + return err + } + expr = unsafe.Pointer(exptr) + } + + _, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(unsafe.Pointer(pptr)), uintptr(expr), 0) + if e != 0 { + return e + } + + return nil +} + +// PledgePromises implements the pledge syscall. +// +// This changes the promises and leaves the execpromises untouched. +// +// For more information see pledge(2). +func PledgePromises(promises string) error { + maj, min, err := majmin() + if err != nil { + return err + } + + err = pledgeAvailable(maj, min, "") + if err != nil { + return err + } + + // This variable holds the execpromises and is always nil. + var expr unsafe.Pointer + + pptr, err := syscall.BytePtrFromString(promises) + if err != nil { + return err + } + + _, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(unsafe.Pointer(pptr)), uintptr(expr), 0) + if e != 0 { + return e + } + + return nil +} + +// PledgeExecpromises implements the pledge syscall. +// +// This changes the execpromises and leaves the promises untouched. +// +// For more information see pledge(2). +func PledgeExecpromises(execpromises string) error { + maj, min, err := majmin() + if err != nil { + return err + } + + err = pledgeAvailable(maj, min, execpromises) + if err != nil { + return err + } + + // This variable holds the promises and is always nil. + var pptr unsafe.Pointer + + exptr, err := syscall.BytePtrFromString(execpromises) + if err != nil { + return err + } + + _, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(pptr), uintptr(unsafe.Pointer(exptr)), 0) + if e != 0 { + return e + } + + return nil +} + +// majmin returns major and minor version number for an OpenBSD system. +func majmin() (major int, minor int, err error) { + var v Utsname + err = Uname(&v) + if err != nil { + return + } + + major, err = strconv.Atoi(string(v.Release[0])) + if err != nil { + err = errors.New("cannot parse major version number returned by uname") + return + } + + minor, err = strconv.Atoi(string(v.Release[2])) + if err != nil { + err = errors.New("cannot parse minor version number returned by uname") + return + } + + return +} + +// pledgeAvailable checks for availability of the pledge(2) syscall +// based on the running OpenBSD version. +func pledgeAvailable(maj, min int, execpromises string) error { + // If OpenBSD <= 5.9, pledge is not available. + if (maj == 5 && min != 9) || maj < 5 { + return fmt.Errorf("pledge syscall is not available on OpenBSD %d.%d", maj, min) + } + + // If OpenBSD <= 6.2 and execpromises is not empty, + // return an error - execpromises is not available before 6.3 + if (maj < 6 || (maj == 6 && min <= 2)) && execpromises != "" { + return fmt.Errorf("cannot use execpromises on OpenBSD %d.%d", maj, min) + } + + return nil +} diff --git a/vendor/golang.org/x/sys/unix/openbsd_unveil.go b/vendor/golang.org/x/sys/unix/openbsd_unveil.go new file mode 100644 index 000000000..aebc2dc57 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/openbsd_unveil.go @@ -0,0 +1,44 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build openbsd + +package unix + +import ( + "syscall" + "unsafe" +) + +// Unveil implements the unveil syscall. +// For more information see unveil(2). +// Note that the special case of blocking further +// unveil calls is handled by UnveilBlock. +func Unveil(path string, flags string) error { + pathPtr, err := syscall.BytePtrFromString(path) + if err != nil { + return err + } + flagsPtr, err := syscall.BytePtrFromString(flags) + if err != nil { + return err + } + _, _, e := syscall.Syscall(SYS_UNVEIL, uintptr(unsafe.Pointer(pathPtr)), uintptr(unsafe.Pointer(flagsPtr)), 0) + if e != 0 { + return e + } + return nil +} + +// UnveilBlock blocks future unveil calls. +// For more information see unveil(2). +func UnveilBlock() error { + // Both pointers must be nil. + var pathUnsafe, flagsUnsafe unsafe.Pointer + _, _, e := syscall.Syscall(SYS_UNVEIL, uintptr(pathUnsafe), uintptr(flagsUnsafe), 0) + if e != 0 { + return e + } + return nil +} diff --git a/vendor/golang.org/x/sys/unix/pagesize_unix.go b/vendor/golang.org/x/sys/unix/pagesize_unix.go new file mode 100644 index 000000000..bc2f3629a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/pagesize_unix.go @@ -0,0 +1,15 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +// For Unix, get the pagesize from the runtime. + +package unix + +import "syscall" + +func Getpagesize() int { + return syscall.Getpagesize() +} diff --git a/vendor/golang.org/x/sys/unix/race.go b/vendor/golang.org/x/sys/unix/race.go new file mode 100644 index 000000000..61712b51c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/race.go @@ -0,0 +1,30 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin,race linux,race freebsd,race + +package unix + +import ( + "runtime" + "unsafe" +) + +const raceenabled = true + +func raceAcquire(addr unsafe.Pointer) { + runtime.RaceAcquire(addr) +} + +func raceReleaseMerge(addr unsafe.Pointer) { + runtime.RaceReleaseMerge(addr) +} + +func raceReadRange(addr unsafe.Pointer, len int) { + runtime.RaceReadRange(addr, len) +} + +func raceWriteRange(addr unsafe.Pointer, len int) { + runtime.RaceWriteRange(addr, len) +} diff --git a/vendor/golang.org/x/sys/unix/race0.go b/vendor/golang.org/x/sys/unix/race0.go new file mode 100644 index 000000000..ad026678c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/race0.go @@ -0,0 +1,25 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin,!race linux,!race freebsd,!race netbsd openbsd solaris dragonfly + +package unix + +import ( + "unsafe" +) + +const raceenabled = false + +func raceAcquire(addr unsafe.Pointer) { +} + +func raceReleaseMerge(addr unsafe.Pointer) { +} + +func raceReadRange(addr unsafe.Pointer, len int) { +} + +func raceWriteRange(addr unsafe.Pointer, len int) { +} diff --git a/vendor/golang.org/x/sys/unix/sockcmsg_linux.go b/vendor/golang.org/x/sys/unix/sockcmsg_linux.go new file mode 100644 index 000000000..6079eb4ac --- /dev/null +++ b/vendor/golang.org/x/sys/unix/sockcmsg_linux.go @@ -0,0 +1,36 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Socket control messages + +package unix + +import "unsafe" + +// UnixCredentials encodes credentials into a socket control message +// for sending to another process. This can be used for +// authentication. +func UnixCredentials(ucred *Ucred) []byte { + b := make([]byte, CmsgSpace(SizeofUcred)) + h := (*Cmsghdr)(unsafe.Pointer(&b[0])) + h.Level = SOL_SOCKET + h.Type = SCM_CREDENTIALS + h.SetLen(CmsgLen(SizeofUcred)) + *((*Ucred)(cmsgData(h))) = *ucred + return b +} + +// ParseUnixCredentials decodes a socket control message that contains +// credentials in a Ucred structure. To receive such a message, the +// SO_PASSCRED option must be enabled on the socket. +func ParseUnixCredentials(m *SocketControlMessage) (*Ucred, error) { + if m.Header.Level != SOL_SOCKET { + return nil, EINVAL + } + if m.Header.Type != SCM_CREDENTIALS { + return nil, EINVAL + } + ucred := *(*Ucred)(unsafe.Pointer(&m.Data[0])) + return &ucred, nil +} diff --git a/vendor/golang.org/x/sys/unix/sockcmsg_unix.go b/vendor/golang.org/x/sys/unix/sockcmsg_unix.go new file mode 100644 index 000000000..5f9ae233a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/sockcmsg_unix.go @@ -0,0 +1,117 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +// Socket control messages + +package unix + +import ( + "runtime" + "unsafe" +) + +// Round the length of a raw sockaddr up to align it properly. +func cmsgAlignOf(salen int) int { + salign := SizeofPtr + + switch runtime.GOOS { + case "darwin", "dragonfly", "solaris": + // NOTE: It seems like 64-bit Darwin, DragonFly BSD and + // Solaris kernels still require 32-bit aligned access to + // network subsystem. + if SizeofPtr == 8 { + salign = 4 + } + case "openbsd": + // OpenBSD armv7 requires 64-bit alignment. + if runtime.GOARCH == "arm" { + salign = 8 + } + } + + return (salen + salign - 1) & ^(salign - 1) +} + +// CmsgLen returns the value to store in the Len field of the Cmsghdr +// structure, taking into account any necessary alignment. +func CmsgLen(datalen int) int { + return cmsgAlignOf(SizeofCmsghdr) + datalen +} + +// CmsgSpace returns the number of bytes an ancillary element with +// payload of the passed data length occupies. +func CmsgSpace(datalen int) int { + return cmsgAlignOf(SizeofCmsghdr) + cmsgAlignOf(datalen) +} + +func cmsgData(h *Cmsghdr) unsafe.Pointer { + return unsafe.Pointer(uintptr(unsafe.Pointer(h)) + uintptr(cmsgAlignOf(SizeofCmsghdr))) +} + +// SocketControlMessage represents a socket control message. +type SocketControlMessage struct { + Header Cmsghdr + Data []byte +} + +// ParseSocketControlMessage parses b as an array of socket control +// messages. +func ParseSocketControlMessage(b []byte) ([]SocketControlMessage, error) { + var msgs []SocketControlMessage + i := 0 + for i+CmsgLen(0) <= len(b) { + h, dbuf, err := socketControlMessageHeaderAndData(b[i:]) + if err != nil { + return nil, err + } + m := SocketControlMessage{Header: *h, Data: dbuf} + msgs = append(msgs, m) + i += cmsgAlignOf(int(h.Len)) + } + return msgs, nil +} + +func socketControlMessageHeaderAndData(b []byte) (*Cmsghdr, []byte, error) { + h := (*Cmsghdr)(unsafe.Pointer(&b[0])) + if h.Len < SizeofCmsghdr || uint64(h.Len) > uint64(len(b)) { + return nil, nil, EINVAL + } + return h, b[cmsgAlignOf(SizeofCmsghdr):h.Len], nil +} + +// UnixRights encodes a set of open file descriptors into a socket +// control message for sending to another process. +func UnixRights(fds ...int) []byte { + datalen := len(fds) * 4 + b := make([]byte, CmsgSpace(datalen)) + h := (*Cmsghdr)(unsafe.Pointer(&b[0])) + h.Level = SOL_SOCKET + h.Type = SCM_RIGHTS + h.SetLen(CmsgLen(datalen)) + data := cmsgData(h) + for _, fd := range fds { + *(*int32)(data) = int32(fd) + data = unsafe.Pointer(uintptr(data) + 4) + } + return b +} + +// ParseUnixRights decodes a socket control message that contains an +// integer array of open file descriptors from another process. +func ParseUnixRights(m *SocketControlMessage) ([]int, error) { + if m.Header.Level != SOL_SOCKET { + return nil, EINVAL + } + if m.Header.Type != SCM_RIGHTS { + return nil, EINVAL + } + fds := make([]int, len(m.Data)>>2) + for i, j := 0, 0; i < len(m.Data); i += 4 { + fds[j] = int(*(*int32)(unsafe.Pointer(&m.Data[i]))) + j++ + } + return fds, nil +} diff --git a/vendor/golang.org/x/sys/unix/str.go b/vendor/golang.org/x/sys/unix/str.go new file mode 100644 index 000000000..17fb69868 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/str.go @@ -0,0 +1,26 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +package unix + +func itoa(val int) string { // do it here rather than with fmt to avoid dependency + if val < 0 { + return "-" + uitoa(uint(-val)) + } + return uitoa(uint(val)) +} + +func uitoa(val uint) string { + var buf [32]byte // big enough for int64 + i := len(buf) - 1 + for val >= 10 { + buf[i] = byte(val%10 + '0') + i-- + val /= 10 + } + buf[i] = byte(val + '0') + return string(buf[i:]) +} diff --git a/vendor/golang.org/x/sys/unix/syscall.go b/vendor/golang.org/x/sys/unix/syscall.go new file mode 100644 index 000000000..0d4b1d7a2 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall.go @@ -0,0 +1,54 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +// Package unix contains an interface to the low-level operating system +// primitives. OS details vary depending on the underlying system, and +// by default, godoc will display OS-specific documentation for the current +// system. If you want godoc to display OS documentation for another +// system, set $GOOS and $GOARCH to the desired system. For example, if +// you want to view documentation for freebsd/arm on linux/amd64, set $GOOS +// to freebsd and $GOARCH to arm. +// +// The primary use of this package is inside other packages that provide a more +// portable interface to the system, such as "os", "time" and "net". Use +// those packages rather than this one if you can. +// +// For details of the functions and data types in this package consult +// the manuals for the appropriate operating system. +// +// These calls return err == nil to indicate success; otherwise +// err represents an operating system error describing the failure and +// holds a value of type syscall.Errno. +package unix // import "golang.org/x/sys/unix" + +import "strings" + +// ByteSliceFromString returns a NUL-terminated slice of bytes +// containing the text of s. If s contains a NUL byte at any +// location, it returns (nil, EINVAL). +func ByteSliceFromString(s string) ([]byte, error) { + if strings.IndexByte(s, 0) != -1 { + return nil, EINVAL + } + a := make([]byte, len(s)+1) + copy(a, s) + return a, nil +} + +// BytePtrFromString returns a pointer to a NUL-terminated array of +// bytes containing the text of s. If s contains a NUL byte at any +// location, it returns (nil, EINVAL). +func BytePtrFromString(s string) (*byte, error) { + a, err := ByteSliceFromString(s) + if err != nil { + return nil, err + } + return &a[0], nil +} + +// Single-word zero for use when we need a valid pointer to 0 bytes. +// See mkunix.pl. +var _zero uintptr diff --git a/vendor/golang.org/x/sys/unix/syscall_aix.go b/vendor/golang.org/x/sys/unix/syscall_aix.go new file mode 100644 index 000000000..a76826f44 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_aix.go @@ -0,0 +1,547 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix + +// Aix system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and +// wrap it in our own nicer implementation. + +package unix + +import "unsafe" + +/* + * Wrapped + */ + +//sys utimes(path string, times *[2]Timeval) (err error) +func Utimes(path string, tv []Timeval) error { + if len(tv) != 2 { + return EINVAL + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +//sys utimensat(dirfd int, path string, times *[2]Timespec, flag int) (err error) +func UtimesNano(path string, ts []Timespec) error { + if len(ts) != 2 { + return EINVAL + } + return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) +} + +func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { + if ts == nil { + return utimensat(dirfd, path, nil, flags) + } + if len(ts) != 2 { + return EINVAL + } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags) +} + +func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Family = AF_INET + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil +} + +func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Family = AF_INET6 + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + sa.raw.Scope_id = sa.ZoneId + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil +} + +func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { + name := sa.Name + n := len(name) + if n > len(sa.raw.Path) { + return nil, 0, EINVAL + } + if n == len(sa.raw.Path) && name[0] != '@' { + return nil, 0, EINVAL + } + sa.raw.Family = AF_UNIX + for i := 0; i < n; i++ { + sa.raw.Path[i] = uint8(name[i]) + } + // length is family (uint16), name, NUL. + sl := _Socklen(2) + if n > 0 { + sl += _Socklen(n) + 1 + } + if sa.raw.Path[0] == '@' { + sa.raw.Path[0] = 0 + // Don't count trailing NUL for abstract address. + sl-- + } + + return unsafe.Pointer(&sa.raw), sl, nil +} + +func Getsockname(fd int) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if err = getsockname(fd, &rsa, &len); err != nil { + return + } + return anyToSockaddr(fd, &rsa) +} + +//sys getcwd(buf []byte) (err error) + +const ImplementsGetwd = true + +func Getwd() (ret string, err error) { + for len := uint64(4096); ; len *= 2 { + b := make([]byte, len) + err := getcwd(b) + if err == nil { + i := 0 + for b[i] != 0 { + i++ + } + return string(b[0:i]), nil + } + if err != ERANGE { + return "", err + } + } +} + +func Getcwd(buf []byte) (n int, err error) { + err = getcwd(buf) + if err == nil { + i := 0 + for buf[i] != 0 { + i++ + } + n = i + 1 + } + return +} + +func Getgroups() (gids []int, err error) { + n, err := getgroups(0, nil) + if err != nil { + return nil, err + } + if n == 0 { + return nil, nil + } + + // Sanity check group count. Max is 16 on BSD. + if n < 0 || n > 1000 { + return nil, EINVAL + } + + a := make([]_Gid_t, n) + n, err = getgroups(n, &a[0]) + if err != nil { + return nil, err + } + gids = make([]int, n) + for i, v := range a[0:n] { + gids[i] = int(v) + } + return +} + +func Setgroups(gids []int) (err error) { + if len(gids) == 0 { + return setgroups(0, nil) + } + + a := make([]_Gid_t, len(gids)) + for i, v := range gids { + a[i] = _Gid_t(v) + } + return setgroups(len(a), &a[0]) +} + +/* + * Socket + */ + +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) + +func Accept(fd int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept(fd, &rsa, &len) + if nfd == -1 { + return + } + sa, err = anyToSockaddr(fd, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { + // Recvmsg not implemented on AIX + sa := new(SockaddrUnix) + return -1, -1, -1, sa, ENOSYS +} + +func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { + _, err = SendmsgN(fd, p, oob, to, flags) + return +} + +func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { + // SendmsgN not implemented on AIX + return -1, ENOSYS +} + +func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + switch rsa.Addr.Family { + + case AF_UNIX: + pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) + sa := new(SockaddrUnix) + + // Some versions of AIX have a bug in getsockname (see IV78655). + // We can't rely on sa.Len being set correctly. + n := SizeofSockaddrUnix - 3 // subtract leading Family, Len, terminating NUL. + for i := 0; i < n; i++ { + if pp.Path[i] == 0 { + n = i + break + } + } + + bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] + sa.Name = string(bytes) + return sa, nil + + case AF_INET: + pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet4) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + + case AF_INET6: + pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet6) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + sa.ZoneId = pp.Scope_id + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + } + return nil, EAFNOSUPPORT +} + +func Gettimeofday(tv *Timeval) (err error) { + err = gettimeofday(tv, nil) + return +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + +// TODO +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + return -1, ENOSYS +} + +//sys getdirent(fd int, buf []byte) (n int, err error) +func ReadDirent(fd int, buf []byte) (n int, err error) { + return getdirent(fd, buf) +} + +//sys wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t, err error) +func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { + var status _C_int + var r Pid_t + err = ERESTART + // AIX wait4 may return with ERESTART errno, while the processus is still + // active. + for err == ERESTART { + r, err = wait4(Pid_t(pid), &status, options, rusage) + } + wpid = int(r) + if wstatus != nil { + *wstatus = WaitStatus(status) + } + return +} + +/* + * Wait + */ + +type WaitStatus uint32 + +func (w WaitStatus) Stopped() bool { return w&0x40 != 0 } +func (w WaitStatus) StopSignal() Signal { + if !w.Stopped() { + return -1 + } + return Signal(w>>8) & 0xFF +} + +func (w WaitStatus) Exited() bool { return w&0xFF == 0 } +func (w WaitStatus) ExitStatus() int { + if !w.Exited() { + return -1 + } + return int((w >> 8) & 0xFF) +} + +func (w WaitStatus) Signaled() bool { return w&0x40 == 0 && w&0xFF != 0 } +func (w WaitStatus) Signal() Signal { + if !w.Signaled() { + return -1 + } + return Signal(w>>16) & 0xFF +} + +func (w WaitStatus) Continued() bool { return w&0x01000000 != 0 } + +func (w WaitStatus) CoreDump() bool { return w&0x200 != 0 } + +func (w WaitStatus) TrapCause() int { return -1 } + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +// ioctl itself should not be exposed directly, but additional get/set +// functions for specific types are permissible. + +// IoctlSetInt performs an ioctl operation which sets an integer value +// on fd, using the specified request number. +func IoctlSetInt(fd int, req uint, value int) error { + return ioctl(fd, req, uintptr(value)) +} + +func ioctlSetWinsize(fd int, req uint, value *Winsize) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func ioctlSetTermios(fd int, req uint, value *Termios) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +// IoctlGetInt performs an ioctl operation which gets an integer value +// from fd, using the specified request number. +func IoctlGetInt(fd int, req uint) (int, error) { + var value int + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return value, err +} + +func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { + var value Winsize + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetTermios(fd int, req uint) (*Termios, error) { + var value Termios + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +// fcntl must never be called with cmd=F_DUP2FD because it doesn't work on AIX +// There is no way to create a custom fcntl and to keep //sys fcntl easily, +// Therefore, the programmer must call dup2 instead of fcntl in this case. + +// FcntlInt performs a fcntl syscall on fd with the provided command and argument. +//sys FcntlInt(fd uintptr, cmd int, arg int) (r int,err error) = fcntl + +// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. +//sys FcntlFlock(fd uintptr, cmd int, lk *Flock_t) (err error) = fcntl + +//sys fcntl(fd int, cmd int, arg int) (val int, err error) + +/* + * Direct access + */ + +//sys Acct(path string) (err error) +//sys Chdir(path string) (err error) +//sys Chroot(path string) (err error) +//sys Close(fd int) (err error) +//sys Dup(oldfd int) (fd int, err error) +//sys Exit(code int) +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Fdatasync(fd int) (err error) +//sys Fsync(fd int) (err error) +// readdir_r +//sysnb Getpgid(pid int) (pgid int, err error) + +//sys Getpgrp() (pid int) + +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Kill(pid int, sig Signal) (err error) +//sys Klogctl(typ int, buf []byte) (n int, err error) = syslog +//sys Mkdir(dirfd int, path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) = open64 +//sys Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Setdomainname(p []byte) (err error) +//sys Sethostname(p []byte) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tv *Timeval) (err error) + +//sys Setuid(uid int) (err error) +//sys Setgid(uid int) (err error) + +//sys Setpriority(which int, who int, prio int) (err error) +//sys Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) +//sys Sync() +//sysnb Times(tms *Tms) (ticks uintptr, err error) +//sysnb Umask(mask int) (oldmask int) +//sysnb Uname(buf *Utsname) (err error) +//TODO umount +// //sys Unmount(target string, flags int) (err error) = umount +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys readlen(fd int, p *byte, np int) (n int, err error) = read +//sys writelen(fd int, p *byte, np int) (n int, err error) = write + +//sys Dup2(oldfd int, newfd int) (err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = posix_fadvise64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = fstatat +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getuid() (uid int) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = pread64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = pwrite64 +//TODO Select +// //sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) +//sys Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys Truncate(path string, length int64) (err error) + +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) + +//sys munmap(addr uintptr, length uintptr) (err error) + +var mapper = &mmapper{ + active: make(map[*byte][]byte), + mmap: mmap, + munmap: munmap, +} + +func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { + return mapper.Mmap(fd, offset, length, prot, flags) +} + +func Munmap(b []byte) (err error) { + return mapper.Munmap(b) +} + +//sys Madvise(b []byte, advice int) (err error) +//sys Mprotect(b []byte, prot int) (err error) +//sys Mlock(b []byte) (err error) +//sys Mlockall(flags int) (err error) +//sys Msync(b []byte, flags int) (err error) +//sys Munlock(b []byte) (err error) +//sys Munlockall() (err error) + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + +//sys gettimeofday(tv *Timeval, tzp *Timezone) (err error) +//sysnb Time(t *Time_t) (tt Time_t, err error) +//sys Utime(path string, buf *Utimbuf) (err error) diff --git a/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go b/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go new file mode 100644 index 000000000..c28af1f86 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go @@ -0,0 +1,34 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix +// +build ppc + +package unix + +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) = getrlimit64 +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) = setrlimit64 +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = lseek64 + +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: int32(sec), Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go b/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go new file mode 100644 index 000000000..881cacc6c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go @@ -0,0 +1,34 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix +// +build ppc64 + +package unix + +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = lseek + +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) = mmap64 + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int64(sec), Usec: int32(usec)} +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_bsd.go b/vendor/golang.org/x/sys/unix/syscall_bsd.go new file mode 100644 index 000000000..33c8b5f0d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_bsd.go @@ -0,0 +1,624 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin dragonfly freebsd netbsd openbsd + +// BSD system call wrappers shared by *BSD based systems +// including OS X (Darwin) and FreeBSD. Like the other +// syscall_*.go files it is compiled as Go code but also +// used as input to mksyscall which parses the //sys +// lines and generates system call stubs. + +package unix + +import ( + "runtime" + "syscall" + "unsafe" +) + +/* + * Wrapped + */ + +//sysnb getgroups(ngid int, gid *_Gid_t) (n int, err error) +//sysnb setgroups(ngid int, gid *_Gid_t) (err error) + +func Getgroups() (gids []int, err error) { + n, err := getgroups(0, nil) + if err != nil { + return nil, err + } + if n == 0 { + return nil, nil + } + + // Sanity check group count. Max is 16 on BSD. + if n < 0 || n > 1000 { + return nil, EINVAL + } + + a := make([]_Gid_t, n) + n, err = getgroups(n, &a[0]) + if err != nil { + return nil, err + } + gids = make([]int, n) + for i, v := range a[0:n] { + gids[i] = int(v) + } + return +} + +func Setgroups(gids []int) (err error) { + if len(gids) == 0 { + return setgroups(0, nil) + } + + a := make([]_Gid_t, len(gids)) + for i, v := range gids { + a[i] = _Gid_t(v) + } + return setgroups(len(a), &a[0]) +} + +func ReadDirent(fd int, buf []byte) (n int, err error) { + // Final argument is (basep *uintptr) and the syscall doesn't take nil. + // 64 bits should be enough. (32 bits isn't even on 386). Since the + // actual system call is getdirentries64, 64 is a good guess. + // TODO(rsc): Can we use a single global basep for all calls? + var base = (*uintptr)(unsafe.Pointer(new(uint64))) + return Getdirentries(fd, buf, base) +} + +// Wait status is 7 bits at bottom, either 0 (exited), +// 0x7F (stopped), or a signal number that caused an exit. +// The 0x80 bit is whether there was a core dump. +// An extra number (exit code, signal causing a stop) +// is in the high bits. + +type WaitStatus uint32 + +const ( + mask = 0x7F + core = 0x80 + shift = 8 + + exited = 0 + stopped = 0x7F +) + +func (w WaitStatus) Exited() bool { return w&mask == exited } + +func (w WaitStatus) ExitStatus() int { + if w&mask != exited { + return -1 + } + return int(w >> shift) +} + +func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != 0 } + +func (w WaitStatus) Signal() syscall.Signal { + sig := syscall.Signal(w & mask) + if sig == stopped || sig == 0 { + return -1 + } + return sig +} + +func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 } + +func (w WaitStatus) Stopped() bool { return w&mask == stopped && syscall.Signal(w>>shift) != SIGSTOP } + +func (w WaitStatus) Continued() bool { return w&mask == stopped && syscall.Signal(w>>shift) == SIGSTOP } + +func (w WaitStatus) StopSignal() syscall.Signal { + if !w.Stopped() { + return -1 + } + return syscall.Signal(w>>shift) & 0xFF +} + +func (w WaitStatus) TrapCause() int { return -1 } + +//sys wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) + +func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { + var status _C_int + wpid, err = wait4(pid, &status, options, rusage) + if wstatus != nil { + *wstatus = WaitStatus(status) + } + return +} + +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys Shutdown(s int, how int) (err error) + +func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Len = SizeofSockaddrInet4 + sa.raw.Family = AF_INET + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil +} + +func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Len = SizeofSockaddrInet6 + sa.raw.Family = AF_INET6 + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + sa.raw.Scope_id = sa.ZoneId + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil +} + +func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { + name := sa.Name + n := len(name) + if n >= len(sa.raw.Path) || n == 0 { + return nil, 0, EINVAL + } + sa.raw.Len = byte(3 + n) // 2 for Family, Len; 1 for NUL + sa.raw.Family = AF_UNIX + for i := 0; i < n; i++ { + sa.raw.Path[i] = int8(name[i]) + } + return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil +} + +func (sa *SockaddrDatalink) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Index == 0 { + return nil, 0, EINVAL + } + sa.raw.Len = sa.Len + sa.raw.Family = AF_LINK + sa.raw.Index = sa.Index + sa.raw.Type = sa.Type + sa.raw.Nlen = sa.Nlen + sa.raw.Alen = sa.Alen + sa.raw.Slen = sa.Slen + for i := 0; i < len(sa.raw.Data); i++ { + sa.raw.Data[i] = sa.Data[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrDatalink, nil +} + +func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + switch rsa.Addr.Family { + case AF_LINK: + pp := (*RawSockaddrDatalink)(unsafe.Pointer(rsa)) + sa := new(SockaddrDatalink) + sa.Len = pp.Len + sa.Family = pp.Family + sa.Index = pp.Index + sa.Type = pp.Type + sa.Nlen = pp.Nlen + sa.Alen = pp.Alen + sa.Slen = pp.Slen + for i := 0; i < len(sa.Data); i++ { + sa.Data[i] = pp.Data[i] + } + return sa, nil + + case AF_UNIX: + pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) + if pp.Len < 2 || pp.Len > SizeofSockaddrUnix { + return nil, EINVAL + } + sa := new(SockaddrUnix) + + // Some BSDs include the trailing NUL in the length, whereas + // others do not. Work around this by subtracting the leading + // family and len. The path is then scanned to see if a NUL + // terminator still exists within the length. + n := int(pp.Len) - 2 // subtract leading Family, Len + for i := 0; i < n; i++ { + if pp.Path[i] == 0 { + // found early NUL; assume Len included the NUL + // or was overestimating. + n = i + break + } + } + bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] + sa.Name = string(bytes) + return sa, nil + + case AF_INET: + pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet4) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + + case AF_INET6: + pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet6) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + sa.ZoneId = pp.Scope_id + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + } + return nil, EAFNOSUPPORT +} + +func Accept(fd int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept(fd, &rsa, &len) + if err != nil { + return + } + if runtime.GOOS == "darwin" && len == 0 { + // Accepted socket has no address. + // This is likely due to a bug in xnu kernels, + // where instead of ECONNABORTED error socket + // is accepted, but has no address. + Close(nfd) + return 0, nil, ECONNABORTED + } + sa, err = anyToSockaddr(fd, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +func Getsockname(fd int) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if err = getsockname(fd, &rsa, &len); err != nil { + return + } + // TODO(jsing): DragonFly has a "bug" (see issue 3349), which should be + // reported upstream. + if runtime.GOOS == "dragonfly" && rsa.Addr.Family == AF_UNSPEC && rsa.Addr.Len == 0 { + rsa.Addr.Family = AF_UNIX + rsa.Addr.Len = SizeofSockaddrUnix + } + return anyToSockaddr(fd, &rsa) +} + +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) + +// GetsockoptString returns the string value of the socket option opt for the +// socket associated with fd at the given socket level. +func GetsockoptString(fd, level, opt int) (string, error) { + buf := make([]byte, 256) + vallen := _Socklen(len(buf)) + err := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen) + if err != nil { + return "", err + } + return string(buf[:vallen-1]), nil +} + +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) + +func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { + var msg Msghdr + var rsa RawSockaddrAny + msg.Name = (*byte)(unsafe.Pointer(&rsa)) + msg.Namelen = uint32(SizeofSockaddrAny) + var iov Iovec + if len(p) > 0 { + iov.Base = (*byte)(unsafe.Pointer(&p[0])) + iov.SetLen(len(p)) + } + var dummy byte + if len(oob) > 0 { + // receive at least one normal byte + if len(p) == 0 { + iov.Base = &dummy + iov.SetLen(1) + } + msg.Control = (*byte)(unsafe.Pointer(&oob[0])) + msg.SetControllen(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = recvmsg(fd, &msg, flags); err != nil { + return + } + oobn = int(msg.Controllen) + recvflags = int(msg.Flags) + // source address is only specified if the socket is unconnected + if rsa.Addr.Family != AF_UNSPEC { + from, err = anyToSockaddr(fd, &rsa) + } + return +} + +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) + +func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { + _, err = SendmsgN(fd, p, oob, to, flags) + return +} + +func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { + var ptr unsafe.Pointer + var salen _Socklen + if to != nil { + ptr, salen, err = to.sockaddr() + if err != nil { + return 0, err + } + } + var msg Msghdr + msg.Name = (*byte)(unsafe.Pointer(ptr)) + msg.Namelen = uint32(salen) + var iov Iovec + if len(p) > 0 { + iov.Base = (*byte)(unsafe.Pointer(&p[0])) + iov.SetLen(len(p)) + } + var dummy byte + if len(oob) > 0 { + // send at least one normal byte + if len(p) == 0 { + iov.Base = &dummy + iov.SetLen(1) + } + msg.Control = (*byte)(unsafe.Pointer(&oob[0])) + msg.SetControllen(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = sendmsg(fd, &msg, flags); err != nil { + return 0, err + } + if len(oob) > 0 && len(p) == 0 { + n = 0 + } + return n, nil +} + +//sys kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) + +func Kevent(kq int, changes, events []Kevent_t, timeout *Timespec) (n int, err error) { + var change, event unsafe.Pointer + if len(changes) > 0 { + change = unsafe.Pointer(&changes[0]) + } + if len(events) > 0 { + event = unsafe.Pointer(&events[0]) + } + return kevent(kq, change, len(changes), event, len(events), timeout) +} + +//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL + +// sysctlmib translates name to mib number and appends any additional args. +func sysctlmib(name string, args ...int) ([]_C_int, error) { + // Translate name to mib number. + mib, err := nametomib(name) + if err != nil { + return nil, err + } + + for _, a := range args { + mib = append(mib, _C_int(a)) + } + + return mib, nil +} + +func Sysctl(name string) (string, error) { + return SysctlArgs(name) +} + +func SysctlArgs(name string, args ...int) (string, error) { + buf, err := SysctlRaw(name, args...) + if err != nil { + return "", err + } + n := len(buf) + + // Throw away terminating NUL. + if n > 0 && buf[n-1] == '\x00' { + n-- + } + return string(buf[0:n]), nil +} + +func SysctlUint32(name string) (uint32, error) { + return SysctlUint32Args(name) +} + +func SysctlUint32Args(name string, args ...int) (uint32, error) { + mib, err := sysctlmib(name, args...) + if err != nil { + return 0, err + } + + n := uintptr(4) + buf := make([]byte, 4) + if err := sysctl(mib, &buf[0], &n, nil, 0); err != nil { + return 0, err + } + if n != 4 { + return 0, EIO + } + return *(*uint32)(unsafe.Pointer(&buf[0])), nil +} + +func SysctlUint64(name string, args ...int) (uint64, error) { + mib, err := sysctlmib(name, args...) + if err != nil { + return 0, err + } + + n := uintptr(8) + buf := make([]byte, 8) + if err := sysctl(mib, &buf[0], &n, nil, 0); err != nil { + return 0, err + } + if n != 8 { + return 0, EIO + } + return *(*uint64)(unsafe.Pointer(&buf[0])), nil +} + +func SysctlRaw(name string, args ...int) ([]byte, error) { + mib, err := sysctlmib(name, args...) + if err != nil { + return nil, err + } + + // Find size. + n := uintptr(0) + if err := sysctl(mib, nil, &n, nil, 0); err != nil { + return nil, err + } + if n == 0 { + return nil, nil + } + + // Read into buffer of that size. + buf := make([]byte, n) + if err := sysctl(mib, &buf[0], &n, nil, 0); err != nil { + return nil, err + } + + // The actual call may return less than the original reported required + // size so ensure we deal with that. + return buf[:n], nil +} + +//sys utimes(path string, timeval *[2]Timeval) (err error) + +func Utimes(path string, tv []Timeval) error { + if tv == nil { + return utimes(path, nil) + } + if len(tv) != 2 { + return EINVAL + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +func UtimesNano(path string, ts []Timespec) error { + if ts == nil { + err := utimensat(AT_FDCWD, path, nil, 0) + if err != ENOSYS { + return err + } + return utimes(path, nil) + } + if len(ts) != 2 { + return EINVAL + } + // Darwin setattrlist can set nanosecond timestamps + err := setattrlistTimes(path, ts, 0) + if err != ENOSYS { + return err + } + err = utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) + if err != ENOSYS { + return err + } + // Not as efficient as it could be because Timespec and + // Timeval have different types in the different OSes + tv := [2]Timeval{ + NsecToTimeval(TimespecToNsec(ts[0])), + NsecToTimeval(TimespecToNsec(ts[1])), + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { + if ts == nil { + return utimensat(dirfd, path, nil, flags) + } + if len(ts) != 2 { + return EINVAL + } + err := setattrlistTimes(path, ts, flags) + if err != ENOSYS { + return err + } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags) +} + +//sys futimes(fd int, timeval *[2]Timeval) (err error) + +func Futimes(fd int, tv []Timeval) error { + if tv == nil { + return futimes(fd, nil) + } + if len(tv) != 2 { + return EINVAL + } + return futimes(fd, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +//sys fcntl(fd int, cmd int, arg int) (val int, err error) + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + +// TODO: wrap +// Acct(name nil-string) (err error) +// Gethostuuid(uuid *byte, timeout *Timespec) (err error) +// Ptrace(req int, pid int, addr uintptr, data int) (ret uintptr, err error) + +var mapper = &mmapper{ + active: make(map[*byte][]byte), + mmap: mmap, + munmap: munmap, +} + +func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { + return mapper.Mmap(fd, offset, length, prot, flags) +} + +func Munmap(b []byte) (err error) { + return mapper.Munmap(b) +} + +//sys Madvise(b []byte, behav int) (err error) +//sys Mlock(b []byte) (err error) +//sys Mlockall(flags int) (err error) +//sys Mprotect(b []byte, prot int) (err error) +//sys Msync(b []byte, flags int) (err error) +//sys Munlock(b []byte) (err error) +//sys Munlockall() (err error) diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.go b/vendor/golang.org/x/sys/unix/syscall_darwin.go new file mode 100644 index 000000000..a2e368882 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_darwin.go @@ -0,0 +1,689 @@ +// Copyright 2009,2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Darwin system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and wrap +// it in our own nicer implementation, either here or in +// syscall_bsd.go or syscall_unix.go. + +package unix + +import ( + "errors" + "syscall" + "unsafe" +) + +const ImplementsGetwd = true + +func Getwd() (string, error) { + buf := make([]byte, 2048) + attrs, err := getAttrList(".", attrList{CommonAttr: attrCmnFullpath}, buf, 0) + if err == nil && len(attrs) == 1 && len(attrs[0]) >= 2 { + wd := string(attrs[0]) + // Sanity check that it's an absolute path and ends + // in a null byte, which we then strip. + if wd[0] == '/' && wd[len(wd)-1] == 0 { + return wd[:len(wd)-1], nil + } + } + // If pkg/os/getwd.go gets ENOTSUP, it will fall back to the + // slow algorithm. + return "", ENOTSUP +} + +// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. +type SockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 + raw RawSockaddrDatalink +} + +// Translate "kern.hostname" to []_C_int{0,1,2,3}. +func nametomib(name string) (mib []_C_int, err error) { + const siz = unsafe.Sizeof(mib[0]) + + // NOTE(rsc): It seems strange to set the buffer to have + // size CTL_MAXNAME+2 but use only CTL_MAXNAME + // as the size. I don't know why the +2 is here, but the + // kernel uses +2 for its own implementation of this function. + // I am scared that if we don't include the +2 here, the kernel + // will silently write 2 words farther than we specify + // and we'll get memory corruption. + var buf [CTL_MAXNAME + 2]_C_int + n := uintptr(CTL_MAXNAME) * siz + + p := (*byte)(unsafe.Pointer(&buf[0])) + bytes, err := ByteSliceFromString(name) + if err != nil { + return nil, err + } + + // Magic sysctl: "setting" 0.3 to a string name + // lets you read back the array of integers form. + if err = sysctl([]_C_int{0, 3}, p, &n, &bytes[0], uintptr(len(name))); err != nil { + return nil, err + } + return buf[0 : n/siz], nil +} + +//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error) +func PtraceAttach(pid int) (err error) { return ptrace(PT_ATTACH, pid, 0, 0) } +func PtraceDetach(pid int) (err error) { return ptrace(PT_DETACH, pid, 0, 0) } + +const ( + attrBitMapCount = 5 + attrCmnFullpath = 0x08000000 +) + +type attrList struct { + bitmapCount uint16 + _ uint16 + CommonAttr uint32 + VolAttr uint32 + DirAttr uint32 + FileAttr uint32 + Forkattr uint32 +} + +func getAttrList(path string, attrList attrList, attrBuf []byte, options uint) (attrs [][]byte, err error) { + if len(attrBuf) < 4 { + return nil, errors.New("attrBuf too small") + } + attrList.bitmapCount = attrBitMapCount + + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return nil, err + } + + if err := getattrlist(_p0, unsafe.Pointer(&attrList), unsafe.Pointer(&attrBuf[0]), uintptr(len(attrBuf)), int(options)); err != nil { + return nil, err + } + size := *(*uint32)(unsafe.Pointer(&attrBuf[0])) + + // dat is the section of attrBuf that contains valid data, + // without the 4 byte length header. All attribute offsets + // are relative to dat. + dat := attrBuf + if int(size) < len(attrBuf) { + dat = dat[:size] + } + dat = dat[4:] // remove length prefix + + for i := uint32(0); int(i) < len(dat); { + header := dat[i:] + if len(header) < 8 { + return attrs, errors.New("truncated attribute header") + } + datOff := *(*int32)(unsafe.Pointer(&header[0])) + attrLen := *(*uint32)(unsafe.Pointer(&header[4])) + if datOff < 0 || uint32(datOff)+attrLen > uint32(len(dat)) { + return attrs, errors.New("truncated results; attrBuf too small") + } + end := uint32(datOff) + attrLen + attrs = append(attrs, dat[datOff:end]) + i = end + if r := i % 4; r != 0 { + i += (4 - r) + } + } + return +} + +//sys getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) + +//sysnb pipe() (r int, w int, err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + p[0], p[1], err = pipe() + return +} + +func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { + var _p0 unsafe.Pointer + var bufsize uintptr + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) + } + return getfsstat(_p0, bufsize, flags) +} + +func xattrPointer(dest []byte) *byte { + // It's only when dest is set to NULL that the OS X implementations of + // getxattr() and listxattr() return the current sizes of the named attributes. + // An empty byte array is not sufficient. To maintain the same behaviour as the + // linux implementation, we wrap around the system calls and pass in NULL when + // dest is empty. + var destp *byte + if len(dest) > 0 { + destp = &dest[0] + } + return destp +} + +//sys getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + return getxattr(path, attr, xattrPointer(dest), len(dest), 0, 0) +} + +func Lgetxattr(link string, attr string, dest []byte) (sz int, err error) { + return getxattr(link, attr, xattrPointer(dest), len(dest), 0, XATTR_NOFOLLOW) +} + +//sys fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + return fgetxattr(fd, attr, xattrPointer(dest), len(dest), 0, 0) +} + +//sys setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + // The parameters for the OS X implementation vary slightly compared to the + // linux system call, specifically the position parameter: + // + // linux: + // int setxattr( + // const char *path, + // const char *name, + // const void *value, + // size_t size, + // int flags + // ); + // + // darwin: + // int setxattr( + // const char *path, + // const char *name, + // void *value, + // size_t size, + // u_int32_t position, + // int options + // ); + // + // position specifies the offset within the extended attribute. In the + // current implementation, only the resource fork extended attribute makes + // use of this argument. For all others, position is reserved. We simply + // default to setting it to zero. + return setxattr(path, attr, xattrPointer(data), len(data), 0, flags) +} + +func Lsetxattr(link string, attr string, data []byte, flags int) (err error) { + return setxattr(link, attr, xattrPointer(data), len(data), 0, flags|XATTR_NOFOLLOW) +} + +//sys fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) + +func Fsetxattr(fd int, attr string, data []byte, flags int) (err error) { + return fsetxattr(fd, attr, xattrPointer(data), len(data), 0, 0) +} + +//sys removexattr(path string, attr string, options int) (err error) + +func Removexattr(path string, attr string) (err error) { + // We wrap around and explicitly zero out the options provided to the OS X + // implementation of removexattr, we do so for interoperability with the + // linux variant. + return removexattr(path, attr, 0) +} + +func Lremovexattr(link string, attr string) (err error) { + return removexattr(link, attr, XATTR_NOFOLLOW) +} + +//sys fremovexattr(fd int, attr string, options int) (err error) + +func Fremovexattr(fd int, attr string) (err error) { + return fremovexattr(fd, attr, 0) +} + +//sys listxattr(path string, dest *byte, size int, options int) (sz int, err error) + +func Listxattr(path string, dest []byte) (sz int, err error) { + return listxattr(path, xattrPointer(dest), len(dest), 0) +} + +func Llistxattr(link string, dest []byte) (sz int, err error) { + return listxattr(link, xattrPointer(dest), len(dest), XATTR_NOFOLLOW) +} + +//sys flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + return flistxattr(fd, xattrPointer(dest), len(dest), 0) +} + +func setattrlistTimes(path string, times []Timespec, flags int) error { + _p0, err := BytePtrFromString(path) + if err != nil { + return err + } + + var attrList attrList + attrList.bitmapCount = ATTR_BIT_MAP_COUNT + attrList.CommonAttr = ATTR_CMN_MODTIME | ATTR_CMN_ACCTIME + + // order is mtime, atime: the opposite of Chtimes + attributes := [2]Timespec{times[1], times[0]} + options := 0 + if flags&AT_SYMLINK_NOFOLLOW != 0 { + options |= FSOPT_NOFOLLOW + } + return setattrlist( + _p0, + unsafe.Pointer(&attrList), + unsafe.Pointer(&attributes), + unsafe.Sizeof(attributes), + options) +} + +//sys setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) error { + // Darwin doesn't support SYS_UTIMENSAT + return ENOSYS +} + +/* + * Wrapped + */ + +//sys kill(pid int, signum int, posix int) (err error) + +func Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(signum), 1) } + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +// ioctl itself should not be exposed directly, but additional get/set +// functions for specific types are permissible. + +// IoctlSetInt performs an ioctl operation which sets an integer value +// on fd, using the specified request number. +func IoctlSetInt(fd int, req uint, value int) error { + return ioctl(fd, req, uintptr(value)) +} + +func ioctlSetWinsize(fd int, req uint, value *Winsize) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func ioctlSetTermios(fd int, req uint, value *Termios) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +// IoctlGetInt performs an ioctl operation which gets an integer value +// from fd, using the specified request number. +func IoctlGetInt(fd int, req uint) (int, error) { + var value int + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return value, err +} + +func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { + var value Winsize + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetTermios(fd int, req uint) (*Termios, error) { + var value Termios + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func Uname(uname *Utsname) error { + mib := []_C_int{CTL_KERN, KERN_OSTYPE} + n := unsafe.Sizeof(uname.Sysname) + if err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_HOSTNAME} + n = unsafe.Sizeof(uname.Nodename) + if err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_OSRELEASE} + n = unsafe.Sizeof(uname.Release) + if err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_VERSION} + n = unsafe.Sizeof(uname.Version) + if err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil { + return err + } + + // The version might have newlines or tabs in it, convert them to + // spaces. + for i, b := range uname.Version { + if b == '\n' || b == '\t' { + if i == len(uname.Version)-1 { + uname.Version[i] = 0 + } else { + uname.Version[i] = ' ' + } + } + } + + mib = []_C_int{CTL_HW, HW_MACHINE} + n = unsafe.Sizeof(uname.Machine) + if err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil { + return err + } + + return nil +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + var length = int64(count) + err = sendfile(infd, outfd, *offset, &length, nil, 0) + written = int(length) + return +} + +//sys sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) + +/* + * Exposed directly + */ +//sys Access(path string, mode uint32) (err error) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys Chdir(path string) (err error) +//sys Chflags(path string, flags int) (err error) +//sys Chmod(path string, mode uint32) (err error) +//sys Chown(path string, uid int, gid int) (err error) +//sys Chroot(path string) (err error) +//sys ClockGettime(clockid int32, time *Timespec) (err error) +//sys Close(fd int) (err error) +//sys Dup(fd int) (nfd int, err error) +//sys Dup2(from int, to int) (err error) +//sys Exchangedata(path1 string, path2 string, options int) (err error) +//sys Exit(code int) +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchflags(fd int, flags int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sys Getdtablesize() (size int) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (uid int) +//sysnb Getgid() (gid int) +//sysnb Getpgid(pid int) (pgid int, err error) +//sysnb Getpgrp() (pgrp int) +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sysnb Getrlimit(which int, lim *Rlimit) (err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Getuid() (uid int) +//sysnb Issetugid() (tainted bool) +//sys Kqueue() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) +//sys Listen(s int, backlog int) (err error) +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Renameat(fromfd int, from string, tofd int, to string) (err error) +//sys Revoke(path string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK +//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) +//sys Setegid(egid int) (err error) +//sysnb Seteuid(euid int) (err error) +//sysnb Setgid(gid int) (err error) +//sys Setlogin(name string) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sys Setpriority(which int, who int, prio int) (err error) +//sys Setprivexec(flag int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sysnb Setrlimit(which int, lim *Rlimit) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tp *Timeval) (err error) +//sysnb Setuid(uid int) (err error) +//sys Symlink(path string, link string) (err error) +//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) +//sys Sync() (err error) +//sys Truncate(path string, length int64) (err error) +//sys Umask(newmask int) (oldmask int) +//sys Undelete(path string) (err error) +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Unmount(path string, flags int) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ +//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE + +/* + * Unimplemented + */ +// Profil +// Sigaction +// Sigprocmask +// Getlogin +// Sigpending +// Sigaltstack +// Ioctl +// Reboot +// Execve +// Vfork +// Sbrk +// Sstk +// Ovadvise +// Mincore +// Setitimer +// Swapon +// Select +// Sigsuspend +// Readv +// Writev +// Nfssvc +// Getfh +// Quotactl +// Mount +// Csops +// Waitid +// Add_profil +// Kdebug_trace +// Sigreturn +// Atsocket +// Kqueue_from_portset_np +// Kqueue_portset +// Getattrlist +// Setattrlist +// Getdirentriesattr +// Searchfs +// Delete +// Copyfile +// Watchevent +// Waitevent +// Modwatch +// Fsctl +// Initgroups +// Posix_spawn +// Nfsclnt +// Fhopen +// Minherit +// Semsys +// Msgsys +// Shmsys +// Semctl +// Semget +// Semop +// Msgctl +// Msgget +// Msgsnd +// Msgrcv +// Shmat +// Shmctl +// Shmdt +// Shmget +// Shm_open +// Shm_unlink +// Sem_open +// Sem_close +// Sem_unlink +// Sem_wait +// Sem_trywait +// Sem_post +// Sem_getvalue +// Sem_init +// Sem_destroy +// Open_extended +// Umask_extended +// Stat_extended +// Lstat_extended +// Fstat_extended +// Chmod_extended +// Fchmod_extended +// Access_extended +// Settid +// Gettid +// Setsgroups +// Getsgroups +// Setwgroups +// Getwgroups +// Mkfifo_extended +// Mkdir_extended +// Identitysvc +// Shared_region_check_np +// Shared_region_map_np +// __pthread_mutex_destroy +// __pthread_mutex_init +// __pthread_mutex_lock +// __pthread_mutex_trylock +// __pthread_mutex_unlock +// __pthread_cond_init +// __pthread_cond_destroy +// __pthread_cond_broadcast +// __pthread_cond_signal +// Setsid_with_pid +// __pthread_cond_timedwait +// Aio_fsync +// Aio_return +// Aio_suspend +// Aio_cancel +// Aio_error +// Aio_read +// Aio_write +// Lio_listio +// __pthread_cond_wait +// Iopolicysys +// __pthread_kill +// __pthread_sigmask +// __sigwait +// __disable_threadsignal +// __pthread_markcancel +// __pthread_canceled +// __semwait_signal +// Proc_info +// sendfile +// Stat64_extended +// Lstat64_extended +// Fstat64_extended +// __pthread_chdir +// __pthread_fchdir +// Audit +// Auditon +// Getauid +// Setauid +// Getaudit +// Setaudit +// Getaudit_addr +// Setaudit_addr +// Auditctl +// Bsdthread_create +// Bsdthread_terminate +// Stack_snapshot +// Bsdthread_register +// Workq_open +// Workq_ops +// __mac_execve +// __mac_syscall +// __mac_get_file +// __mac_set_file +// __mac_get_link +// __mac_set_link +// __mac_get_proc +// __mac_set_proc +// __mac_get_fd +// __mac_set_fd +// __mac_get_pid +// __mac_get_lcid +// __mac_get_lctx +// __mac_set_lctx +// Setlcid +// Read_nocancel +// Write_nocancel +// Open_nocancel +// Close_nocancel +// Wait4_nocancel +// Recvmsg_nocancel +// Sendmsg_nocancel +// Recvfrom_nocancel +// Accept_nocancel +// Fcntl_nocancel +// Select_nocancel +// Fsync_nocancel +// Connect_nocancel +// Sigsuspend_nocancel +// Readv_nocancel +// Writev_nocancel +// Sendto_nocancel +// Pread_nocancel +// Pwrite_nocancel +// Waitid_nocancel +// Poll_nocancel +// Msgsnd_nocancel +// Msgrcv_nocancel +// Sem_wait_nocancel +// Aio_suspend_nocancel +// __sigwait_nocancel +// __semwait_signal_nocancel +// __mac_mount +// __mac_get_mount +// __mac_getfsstat diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_386.go b/vendor/golang.org/x/sys/unix/syscall_darwin_386.go new file mode 100644 index 000000000..489726fa9 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_darwin_386.go @@ -0,0 +1,63 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build 386,darwin + +package unix + +import ( + "syscall" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: int32(sec), Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} +} + +//sysnb gettimeofday(tp *Timeval) (sec int32, usec int32, err error) +func Gettimeofday(tv *Timeval) (err error) { + // The tv passed to gettimeofday must be non-nil + // but is otherwise unused. The answers come back + // in the two registers. + sec, usec, err := gettimeofday(tv) + tv.Sec = int32(sec) + tv.Usec = int32(usec) + return err +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of darwin/386 the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL + +//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 +//sys Fstatfs(fd int, stat *Statfs_t) (err error) = SYS_FSTATFS64 +//sys Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) = SYS_GETDIRENTRIES64 +//sys getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT64 +//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 +//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 +//sys Statfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64 diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go new file mode 100644 index 000000000..914b89bde --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go @@ -0,0 +1,63 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,darwin + +package unix + +import ( + "syscall" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +//sysnb gettimeofday(tp *Timeval) (sec int64, usec int32, err error) +func Gettimeofday(tv *Timeval) (err error) { + // The tv passed to gettimeofday must be non-nil + // but is otherwise unused. The answers come back + // in the two registers. + sec, usec, err := gettimeofday(tv) + tv.Sec = sec + tv.Usec = usec + return err +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of darwin/amd64 the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL + +//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 +//sys Fstatfs(fd int, stat *Statfs_t) (err error) = SYS_FSTATFS64 +//sys Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) = SYS_GETDIRENTRIES64 +//sys getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT64 +//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 +//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 +//sys Statfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64 diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go new file mode 100644 index 000000000..4a284cf50 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go @@ -0,0 +1,64 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package unix + +import ( + "syscall" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: int32(sec), Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} +} + +//sysnb gettimeofday(tp *Timeval) (sec int32, usec int32, err error) +func Gettimeofday(tv *Timeval) (err error) { + // The tv passed to gettimeofday must be non-nil + // but is otherwise unused. The answers come back + // in the two registers. + sec, usec, err := gettimeofday(tv) + tv.Sec = int32(sec) + tv.Usec = int32(usec) + return err +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) // sic + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of darwin/arm the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL + +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fstatfs(fd int, stat *Statfs_t) (err error) +//sys getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, stat *Statfs_t) (err error) + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + return 0, ENOSYS +} diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go new file mode 100644 index 000000000..52dcd88f6 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go @@ -0,0 +1,66 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm64,darwin + +package unix + +import ( + "syscall" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +//sysnb gettimeofday(tp *Timeval) (sec int64, usec int32, err error) +func Gettimeofday(tv *Timeval) (err error) { + // The tv passed to gettimeofday must be non-nil + // but is otherwise unused. The answers come back + // in the two registers. + sec, usec, err := gettimeofday(tv) + tv.Sec = sec + tv.Usec = usec + return err +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) // sic + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of darwin/arm64 the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL + +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fstatfs(fd int, stat *Statfs_t) (err error) +//sys getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, stat *Statfs_t) (err error) + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + return 0, ENOSYS +} diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go b/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go new file mode 100644 index 000000000..4b4ae460f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go @@ -0,0 +1,31 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin,go1.12 + +package unix + +import "unsafe" + +// Implemented in the runtime package (runtime/sys_darwin.go) +func syscall_syscall(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) +func syscall_syscall6(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) +func syscall_syscall6X(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) +func syscall_syscall9(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err Errno) // 32-bit only +func syscall_rawSyscall(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) +func syscall_rawSyscall6(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) + +//go:linkname syscall_syscall syscall.syscall +//go:linkname syscall_syscall6 syscall.syscall6 +//go:linkname syscall_syscall6X syscall.syscall6X +//go:linkname syscall_syscall9 syscall.syscall9 +//go:linkname syscall_rawSyscall syscall.rawSyscall +//go:linkname syscall_rawSyscall6 syscall.rawSyscall6 + +// Find the entry point for f. See comments in runtime/proc.go for the +// function of the same name. +//go:nosplit +func funcPC(f func()) uintptr { + return **(**uintptr)(unsafe.Pointer(&f)) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go new file mode 100644 index 000000000..962eee304 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go @@ -0,0 +1,539 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// DragonFly BSD system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and wrap +// it in our own nicer implementation, either here or in +// syscall_bsd.go or syscall_unix.go. + +package unix + +import "unsafe" + +// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. +type SockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 + Rcf uint16 + Route [16]uint16 + raw RawSockaddrDatalink +} + +// Translate "kern.hostname" to []_C_int{0,1,2,3}. +func nametomib(name string) (mib []_C_int, err error) { + const siz = unsafe.Sizeof(mib[0]) + + // NOTE(rsc): It seems strange to set the buffer to have + // size CTL_MAXNAME+2 but use only CTL_MAXNAME + // as the size. I don't know why the +2 is here, but the + // kernel uses +2 for its own implementation of this function. + // I am scared that if we don't include the +2 here, the kernel + // will silently write 2 words farther than we specify + // and we'll get memory corruption. + var buf [CTL_MAXNAME + 2]_C_int + n := uintptr(CTL_MAXNAME) * siz + + p := (*byte)(unsafe.Pointer(&buf[0])) + bytes, err := ByteSliceFromString(name) + if err != nil { + return nil, err + } + + // Magic sysctl: "setting" 0.3 to a string name + // lets you read back the array of integers form. + if err = sysctl([]_C_int{0, 3}, p, &n, &bytes[0], uintptr(len(name))); err != nil { + return nil, err + } + return buf[0 : n/siz], nil +} + +//sysnb pipe() (r int, w int, err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + p[0], p[1], err = pipe() + return +} + +//sys extpread(fd int, p []byte, flags int, offset int64) (n int, err error) +func Pread(fd int, p []byte, offset int64) (n int, err error) { + return extpread(fd, p, 0, offset) +} + +//sys extpwrite(fd int, p []byte, flags int, offset int64) (n int, err error) +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + return extpwrite(fd, p, 0, offset) +} + +func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept4(fd, &rsa, &len, flags) + if err != nil { + return + } + if len > SizeofSockaddrAny { + panic("RawSockaddrAny too small") + } + sa, err = anyToSockaddr(fd, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +const ImplementsGetwd = true + +//sys Getcwd(buf []byte) (n int, err error) = SYS___GETCWD + +func Getwd() (string, error) { + var buf [PathMax]byte + _, err := Getcwd(buf[0:]) + if err != nil { + return "", err + } + n := clen(buf[:]) + if n < 1 { + return "", EINVAL + } + return string(buf[:n]), nil +} + +func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { + var _p0 unsafe.Pointer + var bufsize uintptr + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) + } + r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func setattrlistTimes(path string, times []Timespec, flags int) error { + // used on Darwin for UtimesNano + return ENOSYS +} + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +// ioctl itself should not be exposed directly, but additional get/set +// functions for specific types are permissible. + +// IoctlSetInt performs an ioctl operation which sets an integer value +// on fd, using the specified request number. +func IoctlSetInt(fd int, req uint, value int) error { + return ioctl(fd, req, uintptr(value)) +} + +func ioctlSetWinsize(fd int, req uint, value *Winsize) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func ioctlSetTermios(fd int, req uint, value *Termios) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +// IoctlGetInt performs an ioctl operation which gets an integer value +// from fd, using the specified request number. +func IoctlGetInt(fd int, req uint) (int, error) { + var value int + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return value, err +} + +func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { + var value Winsize + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetTermios(fd int, req uint) (*Termios, error) { + var value Termios + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func sysctlUname(mib []_C_int, old *byte, oldlen *uintptr) error { + err := sysctl(mib, old, oldlen, nil, 0) + if err != nil { + // Utsname members on Dragonfly are only 32 bytes and + // the syscall returns ENOMEM in case the actual value + // is longer. + if err == ENOMEM { + err = nil + } + } + return err +} + +func Uname(uname *Utsname) error { + mib := []_C_int{CTL_KERN, KERN_OSTYPE} + n := unsafe.Sizeof(uname.Sysname) + if err := sysctlUname(mib, &uname.Sysname[0], &n); err != nil { + return err + } + uname.Sysname[unsafe.Sizeof(uname.Sysname)-1] = 0 + + mib = []_C_int{CTL_KERN, KERN_HOSTNAME} + n = unsafe.Sizeof(uname.Nodename) + if err := sysctlUname(mib, &uname.Nodename[0], &n); err != nil { + return err + } + uname.Nodename[unsafe.Sizeof(uname.Nodename)-1] = 0 + + mib = []_C_int{CTL_KERN, KERN_OSRELEASE} + n = unsafe.Sizeof(uname.Release) + if err := sysctlUname(mib, &uname.Release[0], &n); err != nil { + return err + } + uname.Release[unsafe.Sizeof(uname.Release)-1] = 0 + + mib = []_C_int{CTL_KERN, KERN_VERSION} + n = unsafe.Sizeof(uname.Version) + if err := sysctlUname(mib, &uname.Version[0], &n); err != nil { + return err + } + + // The version might have newlines or tabs in it, convert them to + // spaces. + for i, b := range uname.Version { + if b == '\n' || b == '\t' { + if i == len(uname.Version)-1 { + uname.Version[i] = 0 + } else { + uname.Version[i] = ' ' + } + } + } + + mib = []_C_int{CTL_HW, HW_MACHINE} + n = unsafe.Sizeof(uname.Machine) + if err := sysctlUname(mib, &uname.Machine[0], &n); err != nil { + return err + } + uname.Machine[unsafe.Sizeof(uname.Machine)-1] = 0 + + return nil +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + +/* + * Exposed directly + */ +//sys Access(path string, mode uint32) (err error) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys Chdir(path string) (err error) +//sys Chflags(path string, flags int) (err error) +//sys Chmod(path string, mode uint32) (err error) +//sys Chown(path string, uid int, gid int) (err error) +//sys Chroot(path string) (err error) +//sys Close(fd int) (err error) +//sys Dup(fd int) (nfd int, err error) +//sys Dup2(from int, to int) (err error) +//sys Exit(code int) +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchflags(fd int, flags int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fstatfs(fd int, stat *Statfs_t) (err error) +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sys Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) +//sys Getdtablesize() (size int) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (uid int) +//sysnb Getgid() (gid int) +//sysnb Getpgid(pid int) (pgid int, err error) +//sysnb Getpgrp() (pgrp int) +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sysnb Getrlimit(which int, lim *Rlimit) (err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Getuid() (uid int) +//sys Issetugid() (tainted bool) +//sys Kill(pid int, signum syscall.Signal) (err error) +//sys Kqueue() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) +//sys Listen(s int, backlog int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Mknodat(fd int, path string, mode uint32, dev int) (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Renameat(fromfd int, from string, tofd int, to string) (err error) +//sys Revoke(path string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK +//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) +//sysnb Setegid(egid int) (err error) +//sysnb Seteuid(euid int) (err error) +//sysnb Setgid(gid int) (err error) +//sys Setlogin(name string) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sys Setpriority(which int, who int, prio int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(which int, lim *Rlimit) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tp *Timeval) (err error) +//sysnb Setuid(uid int) (err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, stat *Statfs_t) (err error) +//sys Symlink(path string, link string) (err error) +//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) +//sys Sync() (err error) +//sys Truncate(path string, length int64) (err error) +//sys Umask(newmask int) (oldmask int) +//sys Undelete(path string) (err error) +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Unmount(path string, flags int) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ +//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE +//sys accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) +//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) + +/* + * Unimplemented + * TODO(jsing): Update this list for DragonFly. + */ +// Profil +// Sigaction +// Sigprocmask +// Getlogin +// Sigpending +// Sigaltstack +// Reboot +// Execve +// Vfork +// Sbrk +// Sstk +// Ovadvise +// Mincore +// Setitimer +// Swapon +// Select +// Sigsuspend +// Readv +// Writev +// Nfssvc +// Getfh +// Quotactl +// Mount +// Csops +// Waitid +// Add_profil +// Kdebug_trace +// Sigreturn +// Atsocket +// Kqueue_from_portset_np +// Kqueue_portset +// Getattrlist +// Setattrlist +// Getdirentriesattr +// Searchfs +// Delete +// Copyfile +// Watchevent +// Waitevent +// Modwatch +// Getxattr +// Fgetxattr +// Setxattr +// Fsetxattr +// Removexattr +// Fremovexattr +// Listxattr +// Flistxattr +// Fsctl +// Initgroups +// Posix_spawn +// Nfsclnt +// Fhopen +// Minherit +// Semsys +// Msgsys +// Shmsys +// Semctl +// Semget +// Semop +// Msgctl +// Msgget +// Msgsnd +// Msgrcv +// Shmat +// Shmctl +// Shmdt +// Shmget +// Shm_open +// Shm_unlink +// Sem_open +// Sem_close +// Sem_unlink +// Sem_wait +// Sem_trywait +// Sem_post +// Sem_getvalue +// Sem_init +// Sem_destroy +// Open_extended +// Umask_extended +// Stat_extended +// Lstat_extended +// Fstat_extended +// Chmod_extended +// Fchmod_extended +// Access_extended +// Settid +// Gettid +// Setsgroups +// Getsgroups +// Setwgroups +// Getwgroups +// Mkfifo_extended +// Mkdir_extended +// Identitysvc +// Shared_region_check_np +// Shared_region_map_np +// __pthread_mutex_destroy +// __pthread_mutex_init +// __pthread_mutex_lock +// __pthread_mutex_trylock +// __pthread_mutex_unlock +// __pthread_cond_init +// __pthread_cond_destroy +// __pthread_cond_broadcast +// __pthread_cond_signal +// Setsid_with_pid +// __pthread_cond_timedwait +// Aio_fsync +// Aio_return +// Aio_suspend +// Aio_cancel +// Aio_error +// Aio_read +// Aio_write +// Lio_listio +// __pthread_cond_wait +// Iopolicysys +// __pthread_kill +// __pthread_sigmask +// __sigwait +// __disable_threadsignal +// __pthread_markcancel +// __pthread_canceled +// __semwait_signal +// Proc_info +// Stat64_extended +// Lstat64_extended +// Fstat64_extended +// __pthread_chdir +// __pthread_fchdir +// Audit +// Auditon +// Getauid +// Setauid +// Getaudit +// Setaudit +// Getaudit_addr +// Setaudit_addr +// Auditctl +// Bsdthread_create +// Bsdthread_terminate +// Stack_snapshot +// Bsdthread_register +// Workq_open +// Workq_ops +// __mac_execve +// __mac_syscall +// __mac_get_file +// __mac_set_file +// __mac_get_link +// __mac_set_link +// __mac_get_proc +// __mac_set_proc +// __mac_get_fd +// __mac_set_fd +// __mac_get_pid +// __mac_get_lcid +// __mac_get_lctx +// __mac_set_lctx +// Setlcid +// Read_nocancel +// Write_nocancel +// Open_nocancel +// Close_nocancel +// Wait4_nocancel +// Recvmsg_nocancel +// Sendmsg_nocancel +// Recvfrom_nocancel +// Accept_nocancel +// Fcntl_nocancel +// Select_nocancel +// Fsync_nocancel +// Connect_nocancel +// Sigsuspend_nocancel +// Readv_nocancel +// Writev_nocancel +// Sendto_nocancel +// Pread_nocancel +// Pwrite_nocancel +// Waitid_nocancel +// Msgsnd_nocancel +// Msgrcv_nocancel +// Sem_wait_nocancel +// Aio_suspend_nocancel +// __sigwait_nocancel +// __semwait_signal_nocancel +// __mac_mount +// __mac_get_mount +// __mac_getfsstat diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go new file mode 100644 index 000000000..9babb31ea --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go @@ -0,0 +1,52 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,dragonfly + +package unix + +import ( + "syscall" + "unsafe" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + var writtenOut uint64 = 0 + _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0, 0) + + written = int(writtenOut) + + if e1 != 0 { + err = e1 + } + return +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd.go b/vendor/golang.org/x/sys/unix/syscall_freebsd.go new file mode 100644 index 000000000..a7ca1ebea --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_freebsd.go @@ -0,0 +1,824 @@ +// Copyright 2009,2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// FreeBSD system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and wrap +// it in our own nicer implementation, either here or in +// syscall_bsd.go or syscall_unix.go. + +package unix + +import ( + "sync" + "unsafe" +) + +const ( + SYS_FSTAT_FREEBSD12 = 551 // { int fstat(int fd, _Out_ struct stat *sb); } + SYS_FSTATAT_FREEBSD12 = 552 // { int fstatat(int fd, _In_z_ char *path, \ + SYS_GETDIRENTRIES_FREEBSD12 = 554 // { ssize_t getdirentries(int fd, \ + SYS_STATFS_FREEBSD12 = 555 // { int statfs(_In_z_ char *path, \ + SYS_FSTATFS_FREEBSD12 = 556 // { int fstatfs(int fd, \ + SYS_GETFSSTAT_FREEBSD12 = 557 // { int getfsstat( \ + SYS_MKNODAT_FREEBSD12 = 559 // { int mknodat(int fd, _In_z_ char *path, \ +) + +// See https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/versions.html. +var ( + osreldateOnce sync.Once + osreldate uint32 +) + +// INO64_FIRST from /usr/src/lib/libc/sys/compat-ino64.h +const _ino64First = 1200031 + +func supportsABI(ver uint32) bool { + osreldateOnce.Do(func() { osreldate, _ = SysctlUint32("kern.osreldate") }) + return osreldate >= ver +} + +// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. +type SockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [46]int8 + raw RawSockaddrDatalink +} + +// Translate "kern.hostname" to []_C_int{0,1,2,3}. +func nametomib(name string) (mib []_C_int, err error) { + const siz = unsafe.Sizeof(mib[0]) + + // NOTE(rsc): It seems strange to set the buffer to have + // size CTL_MAXNAME+2 but use only CTL_MAXNAME + // as the size. I don't know why the +2 is here, but the + // kernel uses +2 for its own implementation of this function. + // I am scared that if we don't include the +2 here, the kernel + // will silently write 2 words farther than we specify + // and we'll get memory corruption. + var buf [CTL_MAXNAME + 2]_C_int + n := uintptr(CTL_MAXNAME) * siz + + p := (*byte)(unsafe.Pointer(&buf[0])) + bytes, err := ByteSliceFromString(name) + if err != nil { + return nil, err + } + + // Magic sysctl: "setting" 0.3 to a string name + // lets you read back the array of integers form. + if err = sysctl([]_C_int{0, 3}, p, &n, &bytes[0], uintptr(len(name))); err != nil { + return nil, err + } + return buf[0 : n/siz], nil +} + +func Pipe(p []int) (err error) { + return Pipe2(p, 0) +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) error { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err := pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return err +} + +func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) { + var value IPMreqn + vallen := _Socklen(SizeofIPMreqn) + errno := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, errno +} + +func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq)) +} + +func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept4(fd, &rsa, &len, flags) + if err != nil { + return + } + if len > SizeofSockaddrAny { + panic("RawSockaddrAny too small") + } + sa, err = anyToSockaddr(fd, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +const ImplementsGetwd = true + +//sys Getcwd(buf []byte) (n int, err error) = SYS___GETCWD + +func Getwd() (string, error) { + var buf [PathMax]byte + _, err := Getcwd(buf[0:]) + if err != nil { + return "", err + } + n := clen(buf[:]) + if n < 1 { + return "", EINVAL + } + return string(buf[:n]), nil +} + +func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { + var ( + _p0 unsafe.Pointer + bufsize uintptr + oldBuf []statfs_freebsd11_t + needsConvert bool + ) + + if len(buf) > 0 { + if supportsABI(_ino64First) { + _p0 = unsafe.Pointer(&buf[0]) + bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) + } else { + n := len(buf) + oldBuf = make([]statfs_freebsd11_t, n) + _p0 = unsafe.Pointer(&oldBuf[0]) + bufsize = unsafe.Sizeof(statfs_freebsd11_t{}) * uintptr(n) + needsConvert = true + } + } + var sysno uintptr = SYS_GETFSSTAT + if supportsABI(_ino64First) { + sysno = SYS_GETFSSTAT_FREEBSD12 + } + r0, _, e1 := Syscall(sysno, uintptr(_p0), bufsize, uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = e1 + } + if e1 == 0 && needsConvert { + for i := range oldBuf { + buf[i].convertFrom(&oldBuf[i]) + } + } + return +} + +func setattrlistTimes(path string, times []Timespec, flags int) error { + // used on Darwin for UtimesNano + return ENOSYS +} + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +// ioctl itself should not be exposed directly, but additional get/set +// functions for specific types are permissible. + +// IoctlSetInt performs an ioctl operation which sets an integer value +// on fd, using the specified request number. +func IoctlSetInt(fd int, req uint, value int) error { + return ioctl(fd, req, uintptr(value)) +} + +func ioctlSetWinsize(fd int, req uint, value *Winsize) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func ioctlSetTermios(fd int, req uint, value *Termios) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +// IoctlGetInt performs an ioctl operation which gets an integer value +// from fd, using the specified request number. +func IoctlGetInt(fd int, req uint) (int, error) { + var value int + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return value, err +} + +func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { + var value Winsize + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetTermios(fd int, req uint) (*Termios, error) { + var value Termios + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func Uname(uname *Utsname) error { + mib := []_C_int{CTL_KERN, KERN_OSTYPE} + n := unsafe.Sizeof(uname.Sysname) + if err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_HOSTNAME} + n = unsafe.Sizeof(uname.Nodename) + if err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_OSRELEASE} + n = unsafe.Sizeof(uname.Release) + if err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_VERSION} + n = unsafe.Sizeof(uname.Version) + if err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil { + return err + } + + // The version might have newlines or tabs in it, convert them to + // spaces. + for i, b := range uname.Version { + if b == '\n' || b == '\t' { + if i == len(uname.Version)-1 { + uname.Version[i] = 0 + } else { + uname.Version[i] = ' ' + } + } + } + + mib = []_C_int{CTL_HW, HW_MACHINE} + n = unsafe.Sizeof(uname.Machine) + if err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil { + return err + } + + return nil +} + +func Stat(path string, st *Stat_t) (err error) { + var oldStat stat_freebsd11_t + if supportsABI(_ino64First) { + return fstatat_freebsd12(AT_FDCWD, path, st, 0) + } + err = stat(path, &oldStat) + if err != nil { + return err + } + + st.convertFrom(&oldStat) + return nil +} + +func Lstat(path string, st *Stat_t) (err error) { + var oldStat stat_freebsd11_t + if supportsABI(_ino64First) { + return fstatat_freebsd12(AT_FDCWD, path, st, AT_SYMLINK_NOFOLLOW) + } + err = lstat(path, &oldStat) + if err != nil { + return err + } + + st.convertFrom(&oldStat) + return nil +} + +func Fstat(fd int, st *Stat_t) (err error) { + var oldStat stat_freebsd11_t + if supportsABI(_ino64First) { + return fstat_freebsd12(fd, st) + } + err = fstat(fd, &oldStat) + if err != nil { + return err + } + + st.convertFrom(&oldStat) + return nil +} + +func Fstatat(fd int, path string, st *Stat_t, flags int) (err error) { + var oldStat stat_freebsd11_t + if supportsABI(_ino64First) { + return fstatat_freebsd12(fd, path, st, flags) + } + err = fstatat(fd, path, &oldStat, flags) + if err != nil { + return err + } + + st.convertFrom(&oldStat) + return nil +} + +func Statfs(path string, st *Statfs_t) (err error) { + var oldStatfs statfs_freebsd11_t + if supportsABI(_ino64First) { + return statfs_freebsd12(path, st) + } + err = statfs(path, &oldStatfs) + if err != nil { + return err + } + + st.convertFrom(&oldStatfs) + return nil +} + +func Fstatfs(fd int, st *Statfs_t) (err error) { + var oldStatfs statfs_freebsd11_t + if supportsABI(_ino64First) { + return fstatfs_freebsd12(fd, st) + } + err = fstatfs(fd, &oldStatfs) + if err != nil { + return err + } + + st.convertFrom(&oldStatfs) + return nil +} + +func Getdents(fd int, buf []byte) (n int, err error) { + return Getdirentries(fd, buf, nil) +} + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + if supportsABI(_ino64First) { + return getdirentries_freebsd12(fd, buf, basep) + } + + // The old syscall entries are smaller than the new. Use 1/4 of the original + // buffer size rounded up to DIRBLKSIZ (see /usr/src/lib/libc/sys/getdirentries.c). + oldBufLen := roundup(len(buf)/4, _dirblksiz) + oldBuf := make([]byte, oldBufLen) + n, err = getdirentries(fd, oldBuf, basep) + if err == nil && n > 0 { + n = convertFromDirents11(buf, oldBuf[:n]) + } + return +} + +func Mknod(path string, mode uint32, dev uint64) (err error) { + var oldDev int + if supportsABI(_ino64First) { + return mknodat_freebsd12(AT_FDCWD, path, mode, dev) + } + oldDev = int(dev) + return mknod(path, mode, oldDev) +} + +func Mknodat(fd int, path string, mode uint32, dev uint64) (err error) { + var oldDev int + if supportsABI(_ino64First) { + return mknodat_freebsd12(fd, path, mode, dev) + } + oldDev = int(dev) + return mknodat(fd, path, mode, oldDev) +} + +// round x to the nearest multiple of y, larger or equal to x. +// +// from /usr/include/sys/param.h Macros for counting and rounding. +// #define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) +func roundup(x, y int) int { + return ((x + y - 1) / y) * y +} + +func (s *Stat_t) convertFrom(old *stat_freebsd11_t) { + *s = Stat_t{ + Dev: uint64(old.Dev), + Ino: uint64(old.Ino), + Nlink: uint64(old.Nlink), + Mode: old.Mode, + Uid: old.Uid, + Gid: old.Gid, + Rdev: uint64(old.Rdev), + Atim: old.Atim, + Mtim: old.Mtim, + Ctim: old.Ctim, + Birthtim: old.Birthtim, + Size: old.Size, + Blocks: old.Blocks, + Blksize: old.Blksize, + Flags: old.Flags, + Gen: uint64(old.Gen), + } +} + +func (s *Statfs_t) convertFrom(old *statfs_freebsd11_t) { + *s = Statfs_t{ + Version: _statfsVersion, + Type: old.Type, + Flags: old.Flags, + Bsize: old.Bsize, + Iosize: old.Iosize, + Blocks: old.Blocks, + Bfree: old.Bfree, + Bavail: old.Bavail, + Files: old.Files, + Ffree: old.Ffree, + Syncwrites: old.Syncwrites, + Asyncwrites: old.Asyncwrites, + Syncreads: old.Syncreads, + Asyncreads: old.Asyncreads, + // Spare + Namemax: old.Namemax, + Owner: old.Owner, + Fsid: old.Fsid, + // Charspare + // Fstypename + // Mntfromname + // Mntonname + } + + sl := old.Fstypename[:] + n := clen(*(*[]byte)(unsafe.Pointer(&sl))) + copy(s.Fstypename[:], old.Fstypename[:n]) + + sl = old.Mntfromname[:] + n = clen(*(*[]byte)(unsafe.Pointer(&sl))) + copy(s.Mntfromname[:], old.Mntfromname[:n]) + + sl = old.Mntonname[:] + n = clen(*(*[]byte)(unsafe.Pointer(&sl))) + copy(s.Mntonname[:], old.Mntonname[:n]) +} + +func convertFromDirents11(buf []byte, old []byte) int { + const ( + fixedSize = int(unsafe.Offsetof(Dirent{}.Name)) + oldFixedSize = int(unsafe.Offsetof(dirent_freebsd11{}.Name)) + ) + + dstPos := 0 + srcPos := 0 + for dstPos+fixedSize < len(buf) && srcPos+oldFixedSize < len(old) { + dstDirent := (*Dirent)(unsafe.Pointer(&buf[dstPos])) + srcDirent := (*dirent_freebsd11)(unsafe.Pointer(&old[srcPos])) + + reclen := roundup(fixedSize+int(srcDirent.Namlen)+1, 8) + if dstPos+reclen > len(buf) { + break + } + + dstDirent.Fileno = uint64(srcDirent.Fileno) + dstDirent.Off = 0 + dstDirent.Reclen = uint16(reclen) + dstDirent.Type = srcDirent.Type + dstDirent.Pad0 = 0 + dstDirent.Namlen = uint16(srcDirent.Namlen) + dstDirent.Pad1 = 0 + + copy(dstDirent.Name[:], srcDirent.Name[:srcDirent.Namlen]) + padding := buf[dstPos+fixedSize+int(dstDirent.Namlen) : dstPos+reclen] + for i := range padding { + padding[i] = 0 + } + + dstPos += int(dstDirent.Reclen) + srcPos += int(srcDirent.Reclen) + } + + return dstPos +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + +/* + * Exposed directly + */ +//sys Access(path string, mode uint32) (err error) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys CapEnter() (err error) +//sys capRightsGet(version int, fd int, rightsp *CapRights) (err error) = SYS___CAP_RIGHTS_GET +//sys capRightsLimit(fd int, rightsp *CapRights) (err error) +//sys Chdir(path string) (err error) +//sys Chflags(path string, flags int) (err error) +//sys Chmod(path string, mode uint32) (err error) +//sys Chown(path string, uid int, gid int) (err error) +//sys Chroot(path string) (err error) +//sys Close(fd int) (err error) +//sys Dup(fd int) (nfd int, err error) +//sys Dup2(from int, to int) (err error) +//sys Exit(code int) +//sys ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) +//sys ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) +//sys ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) +//sys ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_POSIX_FADVISE +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchflags(fd int, flags int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys fstat(fd int, stat *stat_freebsd11_t) (err error) +//sys fstat_freebsd12(fd int, stat *Stat_t) (err error) +//sys fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) +//sys fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) +//sys fstatfs(fd int, stat *statfs_freebsd11_t) (err error) +//sys fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sys getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) +//sys getdirentries_freebsd12(fd int, buf []byte, basep *uintptr) (n int, err error) +//sys Getdtablesize() (size int) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (uid int) +//sysnb Getgid() (gid int) +//sysnb Getpgid(pid int) (pgid int, err error) +//sysnb Getpgrp() (pgrp int) +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sysnb Getrlimit(which int, lim *Rlimit) (err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Getuid() (uid int) +//sys Issetugid() (tainted bool) +//sys Kill(pid int, signum syscall.Signal) (err error) +//sys Kqueue() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) +//sys Listen(s int, backlog int) (err error) +//sys lstat(path string, stat *stat_freebsd11_t) (err error) +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys mknod(path string, mode uint32, dev int) (err error) +//sys mknodat(fd int, path string, mode uint32, dev int) (err error) +//sys mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Renameat(fromfd int, from string, tofd int, to string) (err error) +//sys Revoke(path string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK +//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) +//sysnb Setegid(egid int) (err error) +//sysnb Seteuid(euid int) (err error) +//sysnb Setgid(gid int) (err error) +//sys Setlogin(name string) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sys Setpriority(which int, who int, prio int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(which int, lim *Rlimit) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tp *Timeval) (err error) +//sysnb Setuid(uid int) (err error) +//sys stat(path string, stat *stat_freebsd11_t) (err error) +//sys statfs(path string, stat *statfs_freebsd11_t) (err error) +//sys statfs_freebsd12(path string, stat *Statfs_t) (err error) +//sys Symlink(path string, link string) (err error) +//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) +//sys Sync() (err error) +//sys Truncate(path string, length int64) (err error) +//sys Umask(newmask int) (oldmask int) +//sys Undelete(path string) (err error) +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Unmount(path string, flags int) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ +//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE +//sys accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) +//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) + +/* + * Unimplemented + */ +// Profil +// Sigaction +// Sigprocmask +// Getlogin +// Sigpending +// Sigaltstack +// Ioctl +// Reboot +// Execve +// Vfork +// Sbrk +// Sstk +// Ovadvise +// Mincore +// Setitimer +// Swapon +// Select +// Sigsuspend +// Readv +// Writev +// Nfssvc +// Getfh +// Quotactl +// Mount +// Csops +// Waitid +// Add_profil +// Kdebug_trace +// Sigreturn +// Atsocket +// Kqueue_from_portset_np +// Kqueue_portset +// Getattrlist +// Setattrlist +// Getdents +// Getdirentriesattr +// Searchfs +// Delete +// Copyfile +// Watchevent +// Waitevent +// Modwatch +// Fsctl +// Initgroups +// Posix_spawn +// Nfsclnt +// Fhopen +// Minherit +// Semsys +// Msgsys +// Shmsys +// Semctl +// Semget +// Semop +// Msgctl +// Msgget +// Msgsnd +// Msgrcv +// Shmat +// Shmctl +// Shmdt +// Shmget +// Shm_open +// Shm_unlink +// Sem_open +// Sem_close +// Sem_unlink +// Sem_wait +// Sem_trywait +// Sem_post +// Sem_getvalue +// Sem_init +// Sem_destroy +// Open_extended +// Umask_extended +// Stat_extended +// Lstat_extended +// Fstat_extended +// Chmod_extended +// Fchmod_extended +// Access_extended +// Settid +// Gettid +// Setsgroups +// Getsgroups +// Setwgroups +// Getwgroups +// Mkfifo_extended +// Mkdir_extended +// Identitysvc +// Shared_region_check_np +// Shared_region_map_np +// __pthread_mutex_destroy +// __pthread_mutex_init +// __pthread_mutex_lock +// __pthread_mutex_trylock +// __pthread_mutex_unlock +// __pthread_cond_init +// __pthread_cond_destroy +// __pthread_cond_broadcast +// __pthread_cond_signal +// Setsid_with_pid +// __pthread_cond_timedwait +// Aio_fsync +// Aio_return +// Aio_suspend +// Aio_cancel +// Aio_error +// Aio_read +// Aio_write +// Lio_listio +// __pthread_cond_wait +// Iopolicysys +// __pthread_kill +// __pthread_sigmask +// __sigwait +// __disable_threadsignal +// __pthread_markcancel +// __pthread_canceled +// __semwait_signal +// Proc_info +// Stat64_extended +// Lstat64_extended +// Fstat64_extended +// __pthread_chdir +// __pthread_fchdir +// Audit +// Auditon +// Getauid +// Setauid +// Getaudit +// Setaudit +// Getaudit_addr +// Setaudit_addr +// Auditctl +// Bsdthread_create +// Bsdthread_terminate +// Stack_snapshot +// Bsdthread_register +// Workq_open +// Workq_ops +// __mac_execve +// __mac_syscall +// __mac_get_file +// __mac_set_file +// __mac_get_link +// __mac_set_link +// __mac_get_proc +// __mac_set_proc +// __mac_get_fd +// __mac_set_fd +// __mac_get_pid +// __mac_get_lcid +// __mac_get_lctx +// __mac_set_lctx +// Setlcid +// Read_nocancel +// Write_nocancel +// Open_nocancel +// Close_nocancel +// Wait4_nocancel +// Recvmsg_nocancel +// Sendmsg_nocancel +// Recvfrom_nocancel +// Accept_nocancel +// Fcntl_nocancel +// Select_nocancel +// Fsync_nocancel +// Connect_nocancel +// Sigsuspend_nocancel +// Readv_nocancel +// Writev_nocancel +// Sendto_nocancel +// Pread_nocancel +// Pwrite_nocancel +// Waitid_nocancel +// Poll_nocancel +// Msgsnd_nocancel +// Msgrcv_nocancel +// Sem_wait_nocancel +// Aio_suspend_nocancel +// __sigwait_nocancel +// __semwait_signal_nocancel +// __mac_mount +// __mac_get_mount +// __mac_getfsstat diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go new file mode 100644 index 000000000..21e03958c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go @@ -0,0 +1,52 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build 386,freebsd + +package unix + +import ( + "syscall" + "unsafe" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: int32(sec), Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + var writtenOut uint64 = 0 + _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr((*offset)>>32), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0) + + written = int(writtenOut) + + if e1 != 0 { + err = e1 + } + return +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go new file mode 100644 index 000000000..9c945a657 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go @@ -0,0 +1,52 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,freebsd + +package unix + +import ( + "syscall" + "unsafe" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + var writtenOut uint64 = 0 + _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0, 0) + + written = int(writtenOut) + + if e1 != 0 { + err = e1 + } + return +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go new file mode 100644 index 000000000..5cd6243f2 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go @@ -0,0 +1,52 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm,freebsd + +package unix + +import ( + "syscall" + "unsafe" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + var writtenOut uint64 = 0 + _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr((*offset)>>32), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0) + + written = int(writtenOut) + + if e1 != 0 { + err = e1 + } + return +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go new file mode 100644 index 000000000..a31805487 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go @@ -0,0 +1,52 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm64,freebsd + +package unix + +import ( + "syscall" + "unsafe" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + var writtenOut uint64 = 0 + _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0, 0) + + written = int(writtenOut) + + if e1 != 0 { + err = e1 + } + return +} + +func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/syscall_linux.go b/vendor/golang.org/x/sys/unix/syscall_linux.go new file mode 100644 index 000000000..a07ee49ea --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux.go @@ -0,0 +1,1717 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Linux system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and +// wrap it in our own nicer implementation. + +package unix + +import ( + "encoding/binary" + "net" + "runtime" + "syscall" + "unsafe" +) + +/* + * Wrapped + */ + +func Access(path string, mode uint32) (err error) { + return Faccessat(AT_FDCWD, path, mode, 0) +} + +func Chmod(path string, mode uint32) (err error) { + return Fchmodat(AT_FDCWD, path, mode, 0) +} + +func Chown(path string, uid int, gid int) (err error) { + return Fchownat(AT_FDCWD, path, uid, gid, 0) +} + +func Creat(path string, mode uint32) (fd int, err error) { + return Open(path, O_CREAT|O_WRONLY|O_TRUNC, mode) +} + +//sys fchmodat(dirfd int, path string, mode uint32) (err error) + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + // Linux fchmodat doesn't support the flags parameter. Mimick glibc's behavior + // and check the flags. Otherwise the mode would be applied to the symlink + // destination which is not what the user expects. + if flags&^AT_SYMLINK_NOFOLLOW != 0 { + return EINVAL + } else if flags&AT_SYMLINK_NOFOLLOW != 0 { + return EOPNOTSUPP + } + return fchmodat(dirfd, path, mode) +} + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +// ioctl itself should not be exposed directly, but additional get/set +// functions for specific types are permissible. + +// IoctlSetPointerInt performs an ioctl operation which sets an +// integer value on fd, using the specified request number. The ioctl +// argument is called with a pointer to the integer value, rather than +// passing the integer value directly. +func IoctlSetPointerInt(fd int, req uint, value int) error { + v := int32(value) + return ioctl(fd, req, uintptr(unsafe.Pointer(&v))) +} + +// IoctlSetInt performs an ioctl operation which sets an integer value +// on fd, using the specified request number. +func IoctlSetInt(fd int, req uint, value int) error { + return ioctl(fd, req, uintptr(value)) +} + +func ioctlSetWinsize(fd int, req uint, value *Winsize) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func ioctlSetTermios(fd int, req uint, value *Termios) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func IoctlSetRTCTime(fd int, value *RTCTime) error { + err := ioctl(fd, RTC_SET_TIME, uintptr(unsafe.Pointer(value))) + runtime.KeepAlive(value) + return err +} + +// IoctlGetInt performs an ioctl operation which gets an integer value +// from fd, using the specified request number. +func IoctlGetInt(fd int, req uint) (int, error) { + var value int + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return value, err +} + +func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { + var value Winsize + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetTermios(fd int, req uint) (*Termios, error) { + var value Termios + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetRTCTime(fd int) (*RTCTime, error) { + var value RTCTime + err := ioctl(fd, RTC_RD_TIME, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +//sys Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) + +func Link(oldpath string, newpath string) (err error) { + return Linkat(AT_FDCWD, oldpath, AT_FDCWD, newpath, 0) +} + +func Mkdir(path string, mode uint32) (err error) { + return Mkdirat(AT_FDCWD, path, mode) +} + +func Mknod(path string, mode uint32, dev int) (err error) { + return Mknodat(AT_FDCWD, path, mode, dev) +} + +func Open(path string, mode int, perm uint32) (fd int, err error) { + return openat(AT_FDCWD, path, mode|O_LARGEFILE, perm) +} + +//sys openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) + +func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + return openat(dirfd, path, flags|O_LARGEFILE, mode) +} + +//sys ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) + +func Ppoll(fds []PollFd, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + if len(fds) == 0 { + return ppoll(nil, 0, timeout, sigmask) + } + return ppoll(&fds[0], len(fds), timeout, sigmask) +} + +//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) + +func Readlink(path string, buf []byte) (n int, err error) { + return Readlinkat(AT_FDCWD, path, buf) +} + +func Rename(oldpath string, newpath string) (err error) { + return Renameat(AT_FDCWD, oldpath, AT_FDCWD, newpath) +} + +func Rmdir(path string) error { + return Unlinkat(AT_FDCWD, path, AT_REMOVEDIR) +} + +//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) + +func Symlink(oldpath string, newpath string) (err error) { + return Symlinkat(oldpath, AT_FDCWD, newpath) +} + +func Unlink(path string) error { + return Unlinkat(AT_FDCWD, path, 0) +} + +//sys Unlinkat(dirfd int, path string, flags int) (err error) + +func Utimes(path string, tv []Timeval) error { + if tv == nil { + err := utimensat(AT_FDCWD, path, nil, 0) + if err != ENOSYS { + return err + } + return utimes(path, nil) + } + if len(tv) != 2 { + return EINVAL + } + var ts [2]Timespec + ts[0] = NsecToTimespec(TimevalToNsec(tv[0])) + ts[1] = NsecToTimespec(TimevalToNsec(tv[1])) + err := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) + if err != ENOSYS { + return err + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) + +func UtimesNano(path string, ts []Timespec) error { + if ts == nil { + err := utimensat(AT_FDCWD, path, nil, 0) + if err != ENOSYS { + return err + } + return utimes(path, nil) + } + if len(ts) != 2 { + return EINVAL + } + err := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) + if err != ENOSYS { + return err + } + // If the utimensat syscall isn't available (utimensat was added to Linux + // in 2.6.22, Released, 8 July 2007) then fall back to utimes + var tv [2]Timeval + for i := 0; i < 2; i++ { + tv[i] = NsecToTimeval(TimespecToNsec(ts[i])) + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { + if ts == nil { + return utimensat(dirfd, path, nil, flags) + } + if len(ts) != 2 { + return EINVAL + } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags) +} + +func Futimesat(dirfd int, path string, tv []Timeval) error { + if tv == nil { + return futimesat(dirfd, path, nil) + } + if len(tv) != 2 { + return EINVAL + } + return futimesat(dirfd, path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +func Futimes(fd int, tv []Timeval) (err error) { + // Believe it or not, this is the best we can do on Linux + // (and is what glibc does). + return Utimes("/proc/self/fd/"+itoa(fd), tv) +} + +const ImplementsGetwd = true + +//sys Getcwd(buf []byte) (n int, err error) + +func Getwd() (wd string, err error) { + var buf [PathMax]byte + n, err := Getcwd(buf[0:]) + if err != nil { + return "", err + } + // Getcwd returns the number of bytes written to buf, including the NUL. + if n < 1 || n > len(buf) || buf[n-1] != 0 { + return "", EINVAL + } + return string(buf[0 : n-1]), nil +} + +func Getgroups() (gids []int, err error) { + n, err := getgroups(0, nil) + if err != nil { + return nil, err + } + if n == 0 { + return nil, nil + } + + // Sanity check group count. Max is 1<<16 on Linux. + if n < 0 || n > 1<<20 { + return nil, EINVAL + } + + a := make([]_Gid_t, n) + n, err = getgroups(n, &a[0]) + if err != nil { + return nil, err + } + gids = make([]int, n) + for i, v := range a[0:n] { + gids[i] = int(v) + } + return +} + +func Setgroups(gids []int) (err error) { + if len(gids) == 0 { + return setgroups(0, nil) + } + + a := make([]_Gid_t, len(gids)) + for i, v := range gids { + a[i] = _Gid_t(v) + } + return setgroups(len(a), &a[0]) +} + +type WaitStatus uint32 + +// Wait status is 7 bits at bottom, either 0 (exited), +// 0x7F (stopped), or a signal number that caused an exit. +// The 0x80 bit is whether there was a core dump. +// An extra number (exit code, signal causing a stop) +// is in the high bits. At least that's the idea. +// There are various irregularities. For example, the +// "continued" status is 0xFFFF, distinguishing itself +// from stopped via the core dump bit. + +const ( + mask = 0x7F + core = 0x80 + exited = 0x00 + stopped = 0x7F + shift = 8 +) + +func (w WaitStatus) Exited() bool { return w&mask == exited } + +func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != exited } + +func (w WaitStatus) Stopped() bool { return w&0xFF == stopped } + +func (w WaitStatus) Continued() bool { return w == 0xFFFF } + +func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 } + +func (w WaitStatus) ExitStatus() int { + if !w.Exited() { + return -1 + } + return int(w>>shift) & 0xFF +} + +func (w WaitStatus) Signal() syscall.Signal { + if !w.Signaled() { + return -1 + } + return syscall.Signal(w & mask) +} + +func (w WaitStatus) StopSignal() syscall.Signal { + if !w.Stopped() { + return -1 + } + return syscall.Signal(w>>shift) & 0xFF +} + +func (w WaitStatus) TrapCause() int { + if w.StopSignal() != SIGTRAP { + return -1 + } + return int(w>>shift) >> 8 +} + +//sys wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) + +func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { + var status _C_int + wpid, err = wait4(pid, &status, options, rusage) + if wstatus != nil { + *wstatus = WaitStatus(status) + } + return +} + +func Mkfifo(path string, mode uint32) error { + return Mknod(path, mode|S_IFIFO, 0) +} + +func Mkfifoat(dirfd int, path string, mode uint32) error { + return Mknodat(dirfd, path, mode|S_IFIFO, 0) +} + +func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Family = AF_INET + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil +} + +func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Family = AF_INET6 + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + sa.raw.Scope_id = sa.ZoneId + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil +} + +func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { + name := sa.Name + n := len(name) + if n >= len(sa.raw.Path) { + return nil, 0, EINVAL + } + sa.raw.Family = AF_UNIX + for i := 0; i < n; i++ { + sa.raw.Path[i] = int8(name[i]) + } + // length is family (uint16), name, NUL. + sl := _Socklen(2) + if n > 0 { + sl += _Socklen(n) + 1 + } + if sa.raw.Path[0] == '@' { + sa.raw.Path[0] = 0 + // Don't count trailing NUL for abstract address. + sl-- + } + + return unsafe.Pointer(&sa.raw), sl, nil +} + +// SockaddrLinklayer implements the Sockaddr interface for AF_PACKET type sockets. +type SockaddrLinklayer struct { + Protocol uint16 + Ifindex int + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]byte + raw RawSockaddrLinklayer +} + +func (sa *SockaddrLinklayer) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Ifindex < 0 || sa.Ifindex > 0x7fffffff { + return nil, 0, EINVAL + } + sa.raw.Family = AF_PACKET + sa.raw.Protocol = sa.Protocol + sa.raw.Ifindex = int32(sa.Ifindex) + sa.raw.Hatype = sa.Hatype + sa.raw.Pkttype = sa.Pkttype + sa.raw.Halen = sa.Halen + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrLinklayer, nil +} + +// SockaddrNetlink implements the Sockaddr interface for AF_NETLINK type sockets. +type SockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 + raw RawSockaddrNetlink +} + +func (sa *SockaddrNetlink) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_NETLINK + sa.raw.Pad = sa.Pad + sa.raw.Pid = sa.Pid + sa.raw.Groups = sa.Groups + return unsafe.Pointer(&sa.raw), SizeofSockaddrNetlink, nil +} + +// SockaddrHCI implements the Sockaddr interface for AF_BLUETOOTH type sockets +// using the HCI protocol. +type SockaddrHCI struct { + Dev uint16 + Channel uint16 + raw RawSockaddrHCI +} + +func (sa *SockaddrHCI) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_BLUETOOTH + sa.raw.Dev = sa.Dev + sa.raw.Channel = sa.Channel + return unsafe.Pointer(&sa.raw), SizeofSockaddrHCI, nil +} + +// SockaddrL2 implements the Sockaddr interface for AF_BLUETOOTH type sockets +// using the L2CAP protocol. +type SockaddrL2 struct { + PSM uint16 + CID uint16 + Addr [6]uint8 + AddrType uint8 + raw RawSockaddrL2 +} + +func (sa *SockaddrL2) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_BLUETOOTH + psm := (*[2]byte)(unsafe.Pointer(&sa.raw.Psm)) + psm[0] = byte(sa.PSM) + psm[1] = byte(sa.PSM >> 8) + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Bdaddr[i] = sa.Addr[len(sa.Addr)-1-i] + } + cid := (*[2]byte)(unsafe.Pointer(&sa.raw.Cid)) + cid[0] = byte(sa.CID) + cid[1] = byte(sa.CID >> 8) + sa.raw.Bdaddr_type = sa.AddrType + return unsafe.Pointer(&sa.raw), SizeofSockaddrL2, nil +} + +// SockaddrRFCOMM implements the Sockaddr interface for AF_BLUETOOTH type sockets +// using the RFCOMM protocol. +// +// Server example: +// +// fd, _ := Socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM) +// _ = unix.Bind(fd, &unix.SockaddrRFCOMM{ +// Channel: 1, +// Addr: [6]uint8{0, 0, 0, 0, 0, 0}, // BDADDR_ANY or 00:00:00:00:00:00 +// }) +// _ = Listen(fd, 1) +// nfd, sa, _ := Accept(fd) +// fmt.Printf("conn addr=%v fd=%d", sa.(*unix.SockaddrRFCOMM).Addr, nfd) +// Read(nfd, buf) +// +// Client example: +// +// fd, _ := Socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM) +// _ = Connect(fd, &SockaddrRFCOMM{ +// Channel: 1, +// Addr: [6]byte{0x11, 0x22, 0x33, 0xaa, 0xbb, 0xcc}, // CC:BB:AA:33:22:11 +// }) +// Write(fd, []byte(`hello`)) +type SockaddrRFCOMM struct { + // Addr represents a bluetooth address, byte ordering is little-endian. + Addr [6]uint8 + + // Channel is a designated bluetooth channel, only 1-30 are available for use. + // Since Linux 2.6.7 and further zero value is the first available channel. + Channel uint8 + + raw RawSockaddrRFCOMM +} + +func (sa *SockaddrRFCOMM) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_BLUETOOTH + sa.raw.Channel = sa.Channel + sa.raw.Bdaddr = sa.Addr + return unsafe.Pointer(&sa.raw), SizeofSockaddrRFCOMM, nil +} + +// SockaddrCAN implements the Sockaddr interface for AF_CAN type sockets. +// The RxID and TxID fields are used for transport protocol addressing in +// (CAN_TP16, CAN_TP20, CAN_MCNET, and CAN_ISOTP), they can be left with +// zero values for CAN_RAW and CAN_BCM sockets as they have no meaning. +// +// The SockaddrCAN struct must be bound to the socket file descriptor +// using Bind before the CAN socket can be used. +// +// // Read one raw CAN frame +// fd, _ := Socket(AF_CAN, SOCK_RAW, CAN_RAW) +// addr := &SockaddrCAN{Ifindex: index} +// Bind(fd, addr) +// frame := make([]byte, 16) +// Read(fd, frame) +// +// The full SocketCAN documentation can be found in the linux kernel +// archives at: https://www.kernel.org/doc/Documentation/networking/can.txt +type SockaddrCAN struct { + Ifindex int + RxID uint32 + TxID uint32 + raw RawSockaddrCAN +} + +func (sa *SockaddrCAN) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Ifindex < 0 || sa.Ifindex > 0x7fffffff { + return nil, 0, EINVAL + } + sa.raw.Family = AF_CAN + sa.raw.Ifindex = int32(sa.Ifindex) + rx := (*[4]byte)(unsafe.Pointer(&sa.RxID)) + for i := 0; i < 4; i++ { + sa.raw.Addr[i] = rx[i] + } + tx := (*[4]byte)(unsafe.Pointer(&sa.TxID)) + for i := 0; i < 4; i++ { + sa.raw.Addr[i+4] = tx[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrCAN, nil +} + +// SockaddrALG implements the Sockaddr interface for AF_ALG type sockets. +// SockaddrALG enables userspace access to the Linux kernel's cryptography +// subsystem. The Type and Name fields specify which type of hash or cipher +// should be used with a given socket. +// +// To create a file descriptor that provides access to a hash or cipher, both +// Bind and Accept must be used. Once the setup process is complete, input +// data can be written to the socket, processed by the kernel, and then read +// back as hash output or ciphertext. +// +// Here is an example of using an AF_ALG socket with SHA1 hashing. +// The initial socket setup process is as follows: +// +// // Open a socket to perform SHA1 hashing. +// fd, _ := unix.Socket(unix.AF_ALG, unix.SOCK_SEQPACKET, 0) +// addr := &unix.SockaddrALG{Type: "hash", Name: "sha1"} +// unix.Bind(fd, addr) +// // Note: unix.Accept does not work at this time; must invoke accept() +// // manually using unix.Syscall. +// hashfd, _, _ := unix.Syscall(unix.SYS_ACCEPT, uintptr(fd), 0, 0) +// +// Once a file descriptor has been returned from Accept, it may be used to +// perform SHA1 hashing. The descriptor is not safe for concurrent use, but +// may be re-used repeatedly with subsequent Write and Read operations. +// +// When hashing a small byte slice or string, a single Write and Read may +// be used: +// +// // Assume hashfd is already configured using the setup process. +// hash := os.NewFile(hashfd, "sha1") +// // Hash an input string and read the results. Each Write discards +// // previous hash state. Read always reads the current state. +// b := make([]byte, 20) +// for i := 0; i < 2; i++ { +// io.WriteString(hash, "Hello, world.") +// hash.Read(b) +// fmt.Println(hex.EncodeToString(b)) +// } +// // Output: +// // 2ae01472317d1935a84797ec1983ae243fc6aa28 +// // 2ae01472317d1935a84797ec1983ae243fc6aa28 +// +// For hashing larger byte slices, or byte streams such as those read from +// a file or socket, use Sendto with MSG_MORE to instruct the kernel to update +// the hash digest instead of creating a new one for a given chunk and finalizing it. +// +// // Assume hashfd and addr are already configured using the setup process. +// hash := os.NewFile(hashfd, "sha1") +// // Hash the contents of a file. +// f, _ := os.Open("/tmp/linux-4.10-rc7.tar.xz") +// b := make([]byte, 4096) +// for { +// n, err := f.Read(b) +// if err == io.EOF { +// break +// } +// unix.Sendto(hashfd, b[:n], unix.MSG_MORE, addr) +// } +// hash.Read(b) +// fmt.Println(hex.EncodeToString(b)) +// // Output: 85cdcad0c06eef66f805ecce353bec9accbeecc5 +// +// For more information, see: http://www.chronox.de/crypto-API/crypto/userspace-if.html. +type SockaddrALG struct { + Type string + Name string + Feature uint32 + Mask uint32 + raw RawSockaddrALG +} + +func (sa *SockaddrALG) sockaddr() (unsafe.Pointer, _Socklen, error) { + // Leave room for NUL byte terminator. + if len(sa.Type) > 13 { + return nil, 0, EINVAL + } + if len(sa.Name) > 63 { + return nil, 0, EINVAL + } + + sa.raw.Family = AF_ALG + sa.raw.Feat = sa.Feature + sa.raw.Mask = sa.Mask + + typ, err := ByteSliceFromString(sa.Type) + if err != nil { + return nil, 0, err + } + name, err := ByteSliceFromString(sa.Name) + if err != nil { + return nil, 0, err + } + + copy(sa.raw.Type[:], typ) + copy(sa.raw.Name[:], name) + + return unsafe.Pointer(&sa.raw), SizeofSockaddrALG, nil +} + +// SockaddrVM implements the Sockaddr interface for AF_VSOCK type sockets. +// SockaddrVM provides access to Linux VM sockets: a mechanism that enables +// bidirectional communication between a hypervisor and its guest virtual +// machines. +type SockaddrVM struct { + // CID and Port specify a context ID and port address for a VM socket. + // Guests have a unique CID, and hosts may have a well-known CID of: + // - VMADDR_CID_HYPERVISOR: refers to the hypervisor process. + // - VMADDR_CID_HOST: refers to other processes on the host. + CID uint32 + Port uint32 + raw RawSockaddrVM +} + +func (sa *SockaddrVM) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_VSOCK + sa.raw.Port = sa.Port + sa.raw.Cid = sa.CID + + return unsafe.Pointer(&sa.raw), SizeofSockaddrVM, nil +} + +type SockaddrXDP struct { + Flags uint16 + Ifindex uint32 + QueueID uint32 + SharedUmemFD uint32 + raw RawSockaddrXDP +} + +func (sa *SockaddrXDP) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_XDP + sa.raw.Flags = sa.Flags + sa.raw.Ifindex = sa.Ifindex + sa.raw.Queue_id = sa.QueueID + sa.raw.Shared_umem_fd = sa.SharedUmemFD + + return unsafe.Pointer(&sa.raw), SizeofSockaddrXDP, nil +} + +// This constant mirrors the #define of PX_PROTO_OE in +// linux/if_pppox.h. We're defining this by hand here instead of +// autogenerating through mkerrors.sh because including +// linux/if_pppox.h causes some declaration conflicts with other +// includes (linux/if_pppox.h includes linux/in.h, which conflicts +// with netinet/in.h). Given that we only need a single zero constant +// out of that file, it's cleaner to just define it by hand here. +const px_proto_oe = 0 + +type SockaddrPPPoE struct { + SID uint16 + Remote net.HardwareAddr + Dev string + raw RawSockaddrPPPoX +} + +func (sa *SockaddrPPPoE) sockaddr() (unsafe.Pointer, _Socklen, error) { + if len(sa.Remote) != 6 { + return nil, 0, EINVAL + } + if len(sa.Dev) > IFNAMSIZ-1 { + return nil, 0, EINVAL + } + + *(*uint16)(unsafe.Pointer(&sa.raw[0])) = AF_PPPOX + // This next field is in host-endian byte order. We can't use the + // same unsafe pointer cast as above, because this value is not + // 32-bit aligned and some architectures don't allow unaligned + // access. + // + // However, the value of px_proto_oe is 0, so we can use + // encoding/binary helpers to write the bytes without worrying + // about the ordering. + binary.BigEndian.PutUint32(sa.raw[2:6], px_proto_oe) + // This field is deliberately big-endian, unlike the previous + // one. The kernel expects SID to be in network byte order. + binary.BigEndian.PutUint16(sa.raw[6:8], sa.SID) + copy(sa.raw[8:14], sa.Remote) + for i := 14; i < 14+IFNAMSIZ; i++ { + sa.raw[i] = 0 + } + copy(sa.raw[14:], sa.Dev) + return unsafe.Pointer(&sa.raw), SizeofSockaddrPPPoX, nil +} + +func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + switch rsa.Addr.Family { + case AF_NETLINK: + pp := (*RawSockaddrNetlink)(unsafe.Pointer(rsa)) + sa := new(SockaddrNetlink) + sa.Family = pp.Family + sa.Pad = pp.Pad + sa.Pid = pp.Pid + sa.Groups = pp.Groups + return sa, nil + + case AF_PACKET: + pp := (*RawSockaddrLinklayer)(unsafe.Pointer(rsa)) + sa := new(SockaddrLinklayer) + sa.Protocol = pp.Protocol + sa.Ifindex = int(pp.Ifindex) + sa.Hatype = pp.Hatype + sa.Pkttype = pp.Pkttype + sa.Halen = pp.Halen + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + + case AF_UNIX: + pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) + sa := new(SockaddrUnix) + if pp.Path[0] == 0 { + // "Abstract" Unix domain socket. + // Rewrite leading NUL as @ for textual display. + // (This is the standard convention.) + // Not friendly to overwrite in place, + // but the callers below don't care. + pp.Path[0] = '@' + } + + // Assume path ends at NUL. + // This is not technically the Linux semantics for + // abstract Unix domain sockets--they are supposed + // to be uninterpreted fixed-size binary blobs--but + // everyone uses this convention. + n := 0 + for n < len(pp.Path) && pp.Path[n] != 0 { + n++ + } + bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] + sa.Name = string(bytes) + return sa, nil + + case AF_INET: + pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet4) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + + case AF_INET6: + pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet6) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + sa.ZoneId = pp.Scope_id + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + + case AF_VSOCK: + pp := (*RawSockaddrVM)(unsafe.Pointer(rsa)) + sa := &SockaddrVM{ + CID: pp.Cid, + Port: pp.Port, + } + return sa, nil + case AF_BLUETOOTH: + proto, err := GetsockoptInt(fd, SOL_SOCKET, SO_PROTOCOL) + if err != nil { + return nil, err + } + // only BTPROTO_L2CAP and BTPROTO_RFCOMM can accept connections + switch proto { + case BTPROTO_L2CAP: + pp := (*RawSockaddrL2)(unsafe.Pointer(rsa)) + sa := &SockaddrL2{ + PSM: pp.Psm, + CID: pp.Cid, + Addr: pp.Bdaddr, + AddrType: pp.Bdaddr_type, + } + return sa, nil + case BTPROTO_RFCOMM: + pp := (*RawSockaddrRFCOMM)(unsafe.Pointer(rsa)) + sa := &SockaddrRFCOMM{ + Channel: pp.Channel, + Addr: pp.Bdaddr, + } + return sa, nil + } + case AF_XDP: + pp := (*RawSockaddrXDP)(unsafe.Pointer(rsa)) + sa := &SockaddrXDP{ + Flags: pp.Flags, + Ifindex: pp.Ifindex, + QueueID: pp.Queue_id, + SharedUmemFD: pp.Shared_umem_fd, + } + return sa, nil + case AF_PPPOX: + pp := (*RawSockaddrPPPoX)(unsafe.Pointer(rsa)) + if binary.BigEndian.Uint32(pp[2:6]) != px_proto_oe { + return nil, EINVAL + } + sa := &SockaddrPPPoE{ + SID: binary.BigEndian.Uint16(pp[6:8]), + Remote: net.HardwareAddr(pp[8:14]), + } + for i := 14; i < 14+IFNAMSIZ; i++ { + if pp[i] == 0 { + sa.Dev = string(pp[14:i]) + break + } + } + return sa, nil + } + return nil, EAFNOSUPPORT +} + +func Accept(fd int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept(fd, &rsa, &len) + if err != nil { + return + } + sa, err = anyToSockaddr(fd, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +func Accept4(fd int, flags int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept4(fd, &rsa, &len, flags) + if err != nil { + return + } + if len > SizeofSockaddrAny { + panic("RawSockaddrAny too small") + } + sa, err = anyToSockaddr(fd, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +func Getsockname(fd int) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if err = getsockname(fd, &rsa, &len); err != nil { + return + } + return anyToSockaddr(fd, &rsa) +} + +func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) { + var value IPMreqn + vallen := _Socklen(SizeofIPMreqn) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptUcred(fd, level, opt int) (*Ucred, error) { + var value Ucred + vallen := _Socklen(SizeofUcred) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptTCPInfo(fd, level, opt int) (*TCPInfo, error) { + var value TCPInfo + vallen := _Socklen(SizeofTCPInfo) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +// GetsockoptString returns the string value of the socket option opt for the +// socket associated with fd at the given socket level. +func GetsockoptString(fd, level, opt int) (string, error) { + buf := make([]byte, 256) + vallen := _Socklen(len(buf)) + err := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen) + if err != nil { + if err == ERANGE { + buf = make([]byte, vallen) + err = getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen) + } + if err != nil { + return "", err + } + } + return string(buf[:vallen-1]), nil +} + +func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq)) +} + +// Keyctl Commands (http://man7.org/linux/man-pages/man2/keyctl.2.html) + +// KeyctlInt calls keyctl commands in which each argument is an int. +// These commands are KEYCTL_REVOKE, KEYCTL_CHOWN, KEYCTL_CLEAR, KEYCTL_LINK, +// KEYCTL_UNLINK, KEYCTL_NEGATE, KEYCTL_SET_REQKEY_KEYRING, KEYCTL_SET_TIMEOUT, +// KEYCTL_ASSUME_AUTHORITY, KEYCTL_SESSION_TO_PARENT, KEYCTL_REJECT, +// KEYCTL_INVALIDATE, and KEYCTL_GET_PERSISTENT. +//sys KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) = SYS_KEYCTL + +// KeyctlBuffer calls keyctl commands in which the third and fourth +// arguments are a buffer and its length, respectively. +// These commands are KEYCTL_UPDATE, KEYCTL_READ, and KEYCTL_INSTANTIATE. +//sys KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) = SYS_KEYCTL + +// KeyctlString calls keyctl commands which return a string. +// These commands are KEYCTL_DESCRIBE and KEYCTL_GET_SECURITY. +func KeyctlString(cmd int, id int) (string, error) { + // We must loop as the string data may change in between the syscalls. + // We could allocate a large buffer here to reduce the chance that the + // syscall needs to be called twice; however, this is unnecessary as + // the performance loss is negligible. + var buffer []byte + for { + // Try to fill the buffer with data + length, err := KeyctlBuffer(cmd, id, buffer, 0) + if err != nil { + return "", err + } + + // Check if the data was written + if length <= len(buffer) { + // Exclude the null terminator + return string(buffer[:length-1]), nil + } + + // Make a bigger buffer if needed + buffer = make([]byte, length) + } +} + +// Keyctl commands with special signatures. + +// KeyctlGetKeyringID implements the KEYCTL_GET_KEYRING_ID command. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_get_keyring_ID.3.html +func KeyctlGetKeyringID(id int, create bool) (ringid int, err error) { + createInt := 0 + if create { + createInt = 1 + } + return KeyctlInt(KEYCTL_GET_KEYRING_ID, id, createInt, 0, 0) +} + +// KeyctlSetperm implements the KEYCTL_SETPERM command. The perm value is the +// key handle permission mask as described in the "keyctl setperm" section of +// http://man7.org/linux/man-pages/man1/keyctl.1.html. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_setperm.3.html +func KeyctlSetperm(id int, perm uint32) error { + _, err := KeyctlInt(KEYCTL_SETPERM, id, int(perm), 0, 0) + return err +} + +//sys keyctlJoin(cmd int, arg2 string) (ret int, err error) = SYS_KEYCTL + +// KeyctlJoinSessionKeyring implements the KEYCTL_JOIN_SESSION_KEYRING command. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_join_session_keyring.3.html +func KeyctlJoinSessionKeyring(name string) (ringid int, err error) { + return keyctlJoin(KEYCTL_JOIN_SESSION_KEYRING, name) +} + +//sys keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) = SYS_KEYCTL + +// KeyctlSearch implements the KEYCTL_SEARCH command. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_search.3.html +func KeyctlSearch(ringid int, keyType, description string, destRingid int) (id int, err error) { + return keyctlSearch(KEYCTL_SEARCH, ringid, keyType, description, destRingid) +} + +//sys keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) = SYS_KEYCTL + +// KeyctlInstantiateIOV implements the KEYCTL_INSTANTIATE_IOV command. This +// command is similar to KEYCTL_INSTANTIATE, except that the payload is a slice +// of Iovec (each of which represents a buffer) instead of a single buffer. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_instantiate_iov.3.html +func KeyctlInstantiateIOV(id int, payload []Iovec, ringid int) error { + return keyctlIOV(KEYCTL_INSTANTIATE_IOV, id, payload, ringid) +} + +//sys keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) = SYS_KEYCTL + +// KeyctlDHCompute implements the KEYCTL_DH_COMPUTE command. This command +// computes a Diffie-Hellman shared secret based on the provide params. The +// secret is written to the provided buffer and the returned size is the number +// of bytes written (returning an error if there is insufficient space in the +// buffer). If a nil buffer is passed in, this function returns the minimum +// buffer length needed to store the appropriate data. Note that this differs +// from KEYCTL_READ's behavior which always returns the requested payload size. +// See the full documentation at: +// http://man7.org/linux/man-pages/man3/keyctl_dh_compute.3.html +func KeyctlDHCompute(params *KeyctlDHParams, buffer []byte) (size int, err error) { + return keyctlDH(KEYCTL_DH_COMPUTE, params, buffer) +} + +func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { + var msg Msghdr + var rsa RawSockaddrAny + msg.Name = (*byte)(unsafe.Pointer(&rsa)) + msg.Namelen = uint32(SizeofSockaddrAny) + var iov Iovec + if len(p) > 0 { + iov.Base = &p[0] + iov.SetLen(len(p)) + } + var dummy byte + if len(oob) > 0 { + if len(p) == 0 { + var sockType int + sockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE) + if err != nil { + return + } + // receive at least one normal byte + if sockType != SOCK_DGRAM { + iov.Base = &dummy + iov.SetLen(1) + } + } + msg.Control = &oob[0] + msg.SetControllen(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = recvmsg(fd, &msg, flags); err != nil { + return + } + oobn = int(msg.Controllen) + recvflags = int(msg.Flags) + // source address is only specified if the socket is unconnected + if rsa.Addr.Family != AF_UNSPEC { + from, err = anyToSockaddr(fd, &rsa) + } + return +} + +func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { + _, err = SendmsgN(fd, p, oob, to, flags) + return +} + +func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { + var ptr unsafe.Pointer + var salen _Socklen + if to != nil { + var err error + ptr, salen, err = to.sockaddr() + if err != nil { + return 0, err + } + } + var msg Msghdr + msg.Name = (*byte)(ptr) + msg.Namelen = uint32(salen) + var iov Iovec + if len(p) > 0 { + iov.Base = &p[0] + iov.SetLen(len(p)) + } + var dummy byte + if len(oob) > 0 { + if len(p) == 0 { + var sockType int + sockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE) + if err != nil { + return 0, err + } + // send at least one normal byte + if sockType != SOCK_DGRAM { + iov.Base = &dummy + iov.SetLen(1) + } + } + msg.Control = &oob[0] + msg.SetControllen(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = sendmsg(fd, &msg, flags); err != nil { + return 0, err + } + if len(oob) > 0 && len(p) == 0 { + n = 0 + } + return n, nil +} + +// BindToDevice binds the socket associated with fd to device. +func BindToDevice(fd int, device string) (err error) { + return SetsockoptString(fd, SOL_SOCKET, SO_BINDTODEVICE, device) +} + +//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error) + +func ptracePeek(req int, pid int, addr uintptr, out []byte) (count int, err error) { + // The peek requests are machine-size oriented, so we wrap it + // to retrieve arbitrary-length data. + + // The ptrace syscall differs from glibc's ptrace. + // Peeks returns the word in *data, not as the return value. + + var buf [SizeofPtr]byte + + // Leading edge. PEEKTEXT/PEEKDATA don't require aligned + // access (PEEKUSER warns that it might), but if we don't + // align our reads, we might straddle an unmapped page + // boundary and not get the bytes leading up to the page + // boundary. + n := 0 + if addr%SizeofPtr != 0 { + err = ptrace(req, pid, addr-addr%SizeofPtr, uintptr(unsafe.Pointer(&buf[0]))) + if err != nil { + return 0, err + } + n += copy(out, buf[addr%SizeofPtr:]) + out = out[n:] + } + + // Remainder. + for len(out) > 0 { + // We use an internal buffer to guarantee alignment. + // It's not documented if this is necessary, but we're paranoid. + err = ptrace(req, pid, addr+uintptr(n), uintptr(unsafe.Pointer(&buf[0]))) + if err != nil { + return n, err + } + copied := copy(out, buf[0:]) + n += copied + out = out[copied:] + } + + return n, nil +} + +func PtracePeekText(pid int, addr uintptr, out []byte) (count int, err error) { + return ptracePeek(PTRACE_PEEKTEXT, pid, addr, out) +} + +func PtracePeekData(pid int, addr uintptr, out []byte) (count int, err error) { + return ptracePeek(PTRACE_PEEKDATA, pid, addr, out) +} + +func PtracePeekUser(pid int, addr uintptr, out []byte) (count int, err error) { + return ptracePeek(PTRACE_PEEKUSR, pid, addr, out) +} + +func ptracePoke(pokeReq int, peekReq int, pid int, addr uintptr, data []byte) (count int, err error) { + // As for ptracePeek, we need to align our accesses to deal + // with the possibility of straddling an invalid page. + + // Leading edge. + n := 0 + if addr%SizeofPtr != 0 { + var buf [SizeofPtr]byte + err = ptrace(peekReq, pid, addr-addr%SizeofPtr, uintptr(unsafe.Pointer(&buf[0]))) + if err != nil { + return 0, err + } + n += copy(buf[addr%SizeofPtr:], data) + word := *((*uintptr)(unsafe.Pointer(&buf[0]))) + err = ptrace(pokeReq, pid, addr-addr%SizeofPtr, word) + if err != nil { + return 0, err + } + data = data[n:] + } + + // Interior. + for len(data) > SizeofPtr { + word := *((*uintptr)(unsafe.Pointer(&data[0]))) + err = ptrace(pokeReq, pid, addr+uintptr(n), word) + if err != nil { + return n, err + } + n += SizeofPtr + data = data[SizeofPtr:] + } + + // Trailing edge. + if len(data) > 0 { + var buf [SizeofPtr]byte + err = ptrace(peekReq, pid, addr+uintptr(n), uintptr(unsafe.Pointer(&buf[0]))) + if err != nil { + return n, err + } + copy(buf[0:], data) + word := *((*uintptr)(unsafe.Pointer(&buf[0]))) + err = ptrace(pokeReq, pid, addr+uintptr(n), word) + if err != nil { + return n, err + } + n += len(data) + } + + return n, nil +} + +func PtracePokeText(pid int, addr uintptr, data []byte) (count int, err error) { + return ptracePoke(PTRACE_POKETEXT, PTRACE_PEEKTEXT, pid, addr, data) +} + +func PtracePokeData(pid int, addr uintptr, data []byte) (count int, err error) { + return ptracePoke(PTRACE_POKEDATA, PTRACE_PEEKDATA, pid, addr, data) +} + +func PtracePokeUser(pid int, addr uintptr, data []byte) (count int, err error) { + return ptracePoke(PTRACE_POKEUSR, PTRACE_PEEKUSR, pid, addr, data) +} + +func PtraceGetRegs(pid int, regsout *PtraceRegs) (err error) { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +func PtraceSetRegs(pid int, regs *PtraceRegs) (err error) { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} + +func PtraceSetOptions(pid int, options int) (err error) { + return ptrace(PTRACE_SETOPTIONS, pid, 0, uintptr(options)) +} + +func PtraceGetEventMsg(pid int) (msg uint, err error) { + var data _C_long + err = ptrace(PTRACE_GETEVENTMSG, pid, 0, uintptr(unsafe.Pointer(&data))) + msg = uint(data) + return +} + +func PtraceCont(pid int, signal int) (err error) { + return ptrace(PTRACE_CONT, pid, 0, uintptr(signal)) +} + +func PtraceSyscall(pid int, signal int) (err error) { + return ptrace(PTRACE_SYSCALL, pid, 0, uintptr(signal)) +} + +func PtraceSingleStep(pid int) (err error) { return ptrace(PTRACE_SINGLESTEP, pid, 0, 0) } + +func PtraceAttach(pid int) (err error) { return ptrace(PTRACE_ATTACH, pid, 0, 0) } + +func PtraceDetach(pid int) (err error) { return ptrace(PTRACE_DETACH, pid, 0, 0) } + +//sys reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) + +func Reboot(cmd int) (err error) { + return reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, cmd, "") +} + +func ReadDirent(fd int, buf []byte) (n int, err error) { + return Getdents(fd, buf) +} + +//sys mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) + +func Mount(source string, target string, fstype string, flags uintptr, data string) (err error) { + // Certain file systems get rather angry and EINVAL if you give + // them an empty string of data, rather than NULL. + if data == "" { + return mount(source, target, fstype, flags, nil) + } + datap, err := BytePtrFromString(data) + if err != nil { + return err + } + return mount(source, target, fstype, flags, datap) +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + +// Sendto +// Recvfrom +// Socketpair + +/* + * Direct access + */ +//sys Acct(path string) (err error) +//sys AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) +//sys Adjtimex(buf *Timex) (state int, err error) +//sys Chdir(path string) (err error) +//sys Chroot(path string) (err error) +//sys ClockGetres(clockid int32, res *Timespec) (err error) +//sys ClockGettime(clockid int32, time *Timespec) (err error) +//sys ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) +//sys Close(fd int) (err error) +//sys CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) +//sys DeleteModule(name string, flags int) (err error) +//sys Dup(oldfd int) (fd int, err error) +//sys Dup3(oldfd int, newfd int, flags int) (err error) +//sysnb EpollCreate1(flag int) (fd int, err error) +//sysnb EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) +//sys Eventfd(initval uint, flags int) (fd int, err error) = SYS_EVENTFD2 +//sys Exit(code int) = SYS_EXIT_GROUP +//sys Fallocate(fd int, mode uint32, off int64, len int64) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys fcntl(fd int, cmd int, arg int) (val int, err error) +//sys Fdatasync(fd int) (err error) +//sys Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) +//sys FinitModule(fd int, params string, flags int) (err error) +//sys Flistxattr(fd int, dest []byte) (sz int, err error) +//sys Flock(fd int, how int) (err error) +//sys Fremovexattr(fd int, attr string) (err error) +//sys Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) +//sys Fsync(fd int) (err error) +//sys Getdents(fd int, buf []byte) (n int, err error) = SYS_GETDENTS64 +//sysnb Getpgid(pid int) (pgid int, err error) + +func Getpgrp() (pid int) { + pid, _ = Getpgid(0) + return +} + +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sys Getrandom(buf []byte, flags int) (n int, err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Gettid() (tid int) +//sys Getxattr(path string, attr string, dest []byte) (sz int, err error) +//sys InitModule(moduleImage []byte, params string) (err error) +//sys InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) +//sysnb InotifyInit1(flags int) (fd int, err error) +//sysnb InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) +//sysnb Kill(pid int, sig syscall.Signal) (err error) +//sys Klogctl(typ int, buf []byte) (n int, err error) = SYS_SYSLOG +//sys Lgetxattr(path string, attr string, dest []byte) (sz int, err error) +//sys Listxattr(path string, dest []byte) (sz int, err error) +//sys Llistxattr(path string, dest []byte) (sz int, err error) +//sys Lremovexattr(path string, attr string) (err error) +//sys Lsetxattr(path string, attr string, data []byte, flags int) (err error) +//sys MemfdCreate(name string, flags int) (fd int, err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) +//sys PivotRoot(newroot string, putold string) (err error) = SYS_PIVOT_ROOT +//sysnb prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT64 +//sys Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) +//sys Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) = SYS_PSELECT6 +//sys read(fd int, p []byte) (n int, err error) +//sys Removexattr(path string, attr string) (err error) +//sys Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) +//sys RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) +//sys Setdomainname(p []byte) (err error) +//sys Sethostname(p []byte) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tv *Timeval) (err error) +//sys Setns(fd int, nstype int) (err error) + +// issue 1435. +// On linux Setuid and Setgid only affects the current thread, not the process. +// This does not match what most callers expect so we must return an error +// here rather than letting the caller think that the call succeeded. + +func Setuid(uid int) (err error) { + return EOPNOTSUPP +} + +func Setgid(uid int) (err error) { + return EOPNOTSUPP +} + +//sys Setpriority(which int, who int, prio int) (err error) +//sys Setxattr(path string, attr string, data []byte, flags int) (err error) +//sys Signalfd(fd int, mask *Sigset_t, flags int) = SYS_SIGNALFD4 +//sys Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) +//sys Sync() +//sys Syncfs(fd int) (err error) +//sysnb Sysinfo(info *Sysinfo_t) (err error) +//sys Tee(rfd int, wfd int, len int, flags int) (n int64, err error) +//sysnb Tgkill(tgid int, tid int, sig syscall.Signal) (err error) +//sysnb Times(tms *Tms) (ticks uintptr, err error) +//sysnb Umask(mask int) (oldmask int) +//sysnb Uname(buf *Utsname) (err error) +//sys Unmount(target string, flags int) (err error) = SYS_UMOUNT2 +//sys Unshare(flags int) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys exitThread(code int) (err error) = SYS_EXIT +//sys readlen(fd int, p *byte, np int) (n int, err error) = SYS_READ +//sys writelen(fd int, p *byte, np int) (n int, err error) = SYS_WRITE + +// mmap varies by architecture; see syscall_linux_*.go. +//sys munmap(addr uintptr, length uintptr) (err error) + +var mapper = &mmapper{ + active: make(map[*byte][]byte), + mmap: mmap, + munmap: munmap, +} + +func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { + return mapper.Mmap(fd, offset, length, prot, flags) +} + +func Munmap(b []byte) (err error) { + return mapper.Munmap(b) +} + +//sys Madvise(b []byte, advice int) (err error) +//sys Mprotect(b []byte, prot int) (err error) +//sys Mlock(b []byte) (err error) +//sys Mlockall(flags int) (err error) +//sys Msync(b []byte, flags int) (err error) +//sys Munlock(b []byte) (err error) +//sys Munlockall() (err error) + +// Vmsplice splices user pages from a slice of Iovecs into a pipe specified by fd, +// using the specified flags. +func Vmsplice(fd int, iovs []Iovec, flags int) (int, error) { + var p unsafe.Pointer + if len(iovs) > 0 { + p = unsafe.Pointer(&iovs[0]) + } + + n, _, errno := Syscall6(SYS_VMSPLICE, uintptr(fd), uintptr(p), uintptr(len(iovs)), uintptr(flags), 0, 0) + if errno != 0 { + return 0, syscall.Errno(errno) + } + + return int(n), nil +} + +//sys faccessat(dirfd int, path string, mode uint32) (err error) + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + if flags & ^(AT_SYMLINK_NOFOLLOW|AT_EACCESS) != 0 { + return EINVAL + } + + // The Linux kernel faccessat system call does not take any flags. + // The glibc faccessat implements the flags itself; see + // https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/faccessat.c;hb=HEAD + // Because people naturally expect syscall.Faccessat to act + // like C faccessat, we do the same. + + if flags == 0 { + return faccessat(dirfd, path, mode) + } + + var st Stat_t + if err := Fstatat(dirfd, path, &st, flags&AT_SYMLINK_NOFOLLOW); err != nil { + return err + } + + mode &= 7 + if mode == 0 { + return nil + } + + var uid int + if flags&AT_EACCESS != 0 { + uid = Geteuid() + } else { + uid = Getuid() + } + + if uid == 0 { + if mode&1 == 0 { + // Root can read and write any file. + return nil + } + if st.Mode&0111 != 0 { + // Root can execute any file that anybody can execute. + return nil + } + return EACCES + } + + var fmode uint32 + if uint32(uid) == st.Uid { + fmode = (st.Mode >> 6) & 7 + } else { + var gid int + if flags&AT_EACCESS != 0 { + gid = Getegid() + } else { + gid = Getgid() + } + + if uint32(gid) == st.Gid { + fmode = (st.Mode >> 3) & 7 + } else { + fmode = st.Mode & 7 + } + } + + if fmode&mode == mode { + return nil + } + + return EACCES +} + +/* + * Unimplemented + */ +// AfsSyscall +// Alarm +// ArchPrctl +// Brk +// Capget +// Capset +// ClockNanosleep +// ClockSettime +// Clone +// EpollCtlOld +// EpollPwait +// EpollWaitOld +// Execve +// Fork +// Futex +// GetKernelSyms +// GetMempolicy +// GetRobustList +// GetThreadArea +// Getitimer +// Getpmsg +// IoCancel +// IoDestroy +// IoGetevents +// IoSetup +// IoSubmit +// IoprioGet +// IoprioSet +// KexecLoad +// LookupDcookie +// Mbind +// MigratePages +// Mincore +// ModifyLdt +// Mount +// MovePages +// MqGetsetattr +// MqNotify +// MqOpen +// MqTimedreceive +// MqTimedsend +// MqUnlink +// Mremap +// Msgctl +// Msgget +// Msgrcv +// Msgsnd +// Nfsservctl +// Personality +// Pselect6 +// Ptrace +// Putpmsg +// Quotactl +// Readahead +// Readv +// RemapFilePages +// RestartSyscall +// RtSigaction +// RtSigpending +// RtSigprocmask +// RtSigqueueinfo +// RtSigreturn +// RtSigsuspend +// RtSigtimedwait +// SchedGetPriorityMax +// SchedGetPriorityMin +// SchedGetparam +// SchedGetscheduler +// SchedRrGetInterval +// SchedSetparam +// SchedYield +// Security +// Semctl +// Semget +// Semop +// Semtimedop +// SetMempolicy +// SetRobustList +// SetThreadArea +// SetTidAddress +// Shmat +// Shmctl +// Shmdt +// Shmget +// Sigaltstack +// Swapoff +// Swapon +// Sysfs +// TimerCreate +// TimerDelete +// TimerGetoverrun +// TimerGettime +// TimerSettime +// Timerfd +// Tkill (obsolete) +// Tuxcall +// Umount2 +// Uselib +// Utimensat +// Vfork +// Vhangup +// Vserver +// Waitid +// _Sysctl diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_386.go b/vendor/golang.org/x/sys/unix/syscall_linux_386.go new file mode 100644 index 000000000..e2f8cf6e5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_386.go @@ -0,0 +1,386 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// TODO(rsc): Rewrite all nn(SP) references into name+(nn-8)(FP) +// so that go vet can check that they are correct. + +// +build 386,linux + +package unix + +import ( + "unsafe" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: int32(sec), Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} +} + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +// 64-bit file system and 32-bit uid calls +// (386 default is 32-bit file system and 16-bit uid). +//sys Dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64_64 +//sys Fchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32 +//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 +//sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 +//sysnb Getegid() (egid int) = SYS_GETEGID32 +//sysnb Geteuid() (euid int) = SYS_GETEUID32 +//sysnb Getgid() (gid int) = SYS_GETGID32 +//sysnb Getuid() (uid int) = SYS_GETUID32 +//sysnb InotifyInit() (fd int, err error) +//sys Ioperm(from int, num int, on int) (err error) +//sys Iopl(level int) (err error) +//sys Lchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32 +//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 +//sys Setfsgid(gid int) (err error) = SYS_SETFSGID32 +//sys Setfsuid(uid int) (err error) = SYS_SETFSUID32 +//sysnb Setregid(rgid int, egid int) (err error) = SYS_SETREGID32 +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) = SYS_SETRESGID32 +//sysnb Setresuid(ruid int, euid int, suid int) (err error) = SYS_SETRESUID32 +//sysnb Setreuid(ruid int, euid int) (err error) = SYS_SETREUID32 +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) +//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) = SYS_GETGROUPS32 +//sysnb setgroups(n int, list *_Gid_t) (err error) = SYS_SETGROUPS32 +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT + +//sys mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) +//sys Pause() (err error) + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + page := uintptr(offset / 4096) + if offset != int64(page)*4096 { + return 0, EINVAL + } + return mmap2(addr, length, prot, flags, fd, page) +} + +type rlimit32 struct { + Cur uint32 + Max uint32 +} + +//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT + +const rlimInf32 = ^uint32(0) +const rlimInf64 = ^uint64(0) + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, nil, rlim) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + err = getrlimit(resource, &rl) + if err != nil { + return + } + + if rl.Cur == rlimInf32 { + rlim.Cur = rlimInf64 + } else { + rlim.Cur = uint64(rl.Cur) + } + + if rl.Max == rlimInf32 { + rlim.Max = rlimInf64 + } else { + rlim.Max = uint64(rl.Max) + } + return +} + +//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, rlim, nil) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + if rlim.Cur == rlimInf64 { + rl.Cur = rlimInf32 + } else if rlim.Cur < uint64(rlimInf32) { + rl.Cur = uint32(rlim.Cur) + } else { + return EINVAL + } + if rlim.Max == rlimInf64 { + rl.Max = rlimInf32 + } else if rlim.Max < uint64(rlimInf32) { + rl.Max = uint32(rlim.Max) + } else { + return EINVAL + } + + return setrlimit(resource, &rl) +} + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + newoffset, errno := seek(fd, offset, whence) + if errno != 0 { + return 0, errno + } + return newoffset, nil +} + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Time(t *Time_t) (tt Time_t, err error) +//sys Utime(path string, buf *Utimbuf) (err error) +//sys utimes(path string, times *[2]Timeval) (err error) + +// On x86 Linux, all the socket calls go through an extra indirection, +// I think because the 5-register system call interface can't handle +// the 6-argument calls like sendto and recvfrom. Instead the +// arguments to the underlying system call are the number below +// and a pointer to an array of uintptr. We hide the pointer in the +// socketcall assembly to avoid allocation on every system call. + +const ( + // see linux/net.h + _SOCKET = 1 + _BIND = 2 + _CONNECT = 3 + _LISTEN = 4 + _ACCEPT = 5 + _GETSOCKNAME = 6 + _GETPEERNAME = 7 + _SOCKETPAIR = 8 + _SEND = 9 + _RECV = 10 + _SENDTO = 11 + _RECVFROM = 12 + _SHUTDOWN = 13 + _SETSOCKOPT = 14 + _GETSOCKOPT = 15 + _SENDMSG = 16 + _RECVMSG = 17 + _ACCEPT4 = 18 + _RECVMMSG = 19 + _SENDMMSG = 20 +) + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + fd, e := socketcall(_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + fd, e := socketcall(_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + if e != 0 { + err = e + } + return +} + +func getsockname(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, e := rawsocketcall(_GETSOCKNAME, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func getpeername(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, e := rawsocketcall(_GETPEERNAME, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) { + _, e := rawsocketcall(_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(flags), uintptr(unsafe.Pointer(fd)), 0, 0) + if e != 0 { + err = e + } + return +} + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, e := socketcall(_BIND, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, e := socketcall(_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func socket(domain int, typ int, proto int) (fd int, err error) { + fd, e := rawsocketcall(_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, e := socketcall(_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e != 0 { + err = e + } + return +} + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, e := socketcall(_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), vallen, 0) + if e != 0 { + err = e + } + return +} + +func recvfrom(s int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var base uintptr + if len(p) > 0 { + base = uintptr(unsafe.Pointer(&p[0])) + } + n, e := socketcall(_RECVFROM, uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + if e != 0 { + err = e + } + return +} + +func sendto(s int, p []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var base uintptr + if len(p) > 0 { + base = uintptr(unsafe.Pointer(&p[0])) + } + _, e := socketcall(_SENDTO, uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e != 0 { + err = e + } + return +} + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + n, e := socketcall(_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + n, e := socketcall(_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func Listen(s int, n int) (err error) { + _, e := socketcall(_LISTEN, uintptr(s), uintptr(n), 0, 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func Shutdown(s, how int) (err error) { + _, e := socketcall(_SHUTDOWN, uintptr(s), uintptr(how), 0, 0, 0, 0) + if e != 0 { + err = e + } + return +} + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = e + } + return +} + +func Statfs(path string, buf *Statfs_t) (err error) { + pathp, err := BytePtrFromString(path) + if err != nil { + return err + } + _, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(pathp)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = e + } + return +} + +func (r *PtraceRegs) PC() uint64 { return uint64(uint32(r.Eip)) } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Eip = int32(pc) } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go new file mode 100644 index 000000000..87a30744d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go @@ -0,0 +1,190 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,linux + +package unix + +//sys Dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sysnb inotifyInit() (fd int, err error) + +func InotifyInit() (fd int, err error) { + // First try inotify_init1, because Android's seccomp policy blocks the latter. + fd, err = InotifyInit1(0) + if err == ENOSYS { + fd, err = inotifyInit() + } + return +} + +//sys Ioperm(from int, num int, on int) (err error) +//sys Iopl(level int) (err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) + +func Lstat(path string, stat *Stat_t) (err error) { + return Fstatat(AT_FDCWD, path, stat, AT_SYMLINK_NOFOLLOW) +} + +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + var ts *Timespec + if timeout != nil { + ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000} + } + return Pselect(nfd, r, w, e, ts, nil) +} + +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) + +func Stat(path string, stat *Stat_t) (err error) { + // Use fstatat, because Android's seccomp policy blocks stat. + return Fstatat(AT_FDCWD, path, stat, 0) +} + +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) + +func Gettimeofday(tv *Timeval) (err error) { + errno := gettimeofday(tv) + if errno != 0 { + return errno + } + return nil +} + +func Time(t *Time_t) (tt Time_t, err error) { + var tv Timeval + errno := gettimeofday(&tv) + if errno != 0 { + return 0, errno + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +//sys Utime(path string, buf *Utimbuf) (err error) +//sys utimes(path string, times *[2]Timeval) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func (r *PtraceRegs) PC() uint64 { return r.Rip } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Rip = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + +//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) + +func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { + cmdlineLen := len(cmdline) + if cmdlineLen > 0 { + // Account for the additional NULL byte added by + // BytePtrFromString in kexecFileLoad. The kexec_file_load + // syscall expects a NULL-terminated string. + cmdlineLen++ + } + return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go b/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go new file mode 100644 index 000000000..21a4946ba --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go @@ -0,0 +1,13 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,linux +// +build !gccgo + +package unix + +import "syscall" + +//go:noescape +func gettimeofday(tv *Timeval) (err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go new file mode 100644 index 000000000..cda355941 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go @@ -0,0 +1,268 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm,linux + +package unix + +import ( + "syscall" + "unsafe" +) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: int32(sec), Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} +} + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, 0) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +// Underlying system call writes to newoffset via pointer. +// Implemented in assembly to avoid allocation. +func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + newoffset, errno := seek(fd, offset, whence) + if errno != 0 { + return 0, errno + } + return newoffset, nil +} + +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) = SYS_GETGROUPS32 +//sysnb setgroups(n int, list *_Gid_t) (err error) = SYS_SETGROUPS32 +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) + +// 64-bit file system and 32-bit uid calls +// (16-bit uid calls are not always supported in newer kernels) +//sys Dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32 +//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 +//sysnb Getegid() (egid int) = SYS_GETEGID32 +//sysnb Geteuid() (euid int) = SYS_GETEUID32 +//sysnb Getgid() (gid int) = SYS_GETGID32 +//sysnb Getuid() (uid int) = SYS_GETUID32 +//sysnb InotifyInit() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32 +//sys Listen(s int, n int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 +//sys Pause() (err error) +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT +//sys Setfsgid(gid int) (err error) = SYS_SETFSGID32 +//sys Setfsuid(uid int) (err error) = SYS_SETFSUID32 +//sysnb Setregid(rgid int, egid int) (err error) = SYS_SETREGID32 +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) = SYS_SETRESGID32 +//sysnb Setresuid(ruid int, euid int, suid int) (err error) = SYS_SETRESUID32 +//sysnb Setreuid(ruid int, euid int) (err error) = SYS_SETREUID32 +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) +//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 +//sys Ustat(dev int, ubuf *Ustat_t) (err error) + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) + +func Time(t *Time_t) (Time_t, error) { + var tv Timeval + err := Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +func Utime(path string, buf *Utimbuf) error { + tv := []Timeval{ + {Sec: buf.Actime}, + {Sec: buf.Modtime}, + } + return Utimes(path, tv) +} + +//sys utimes(path string, times *[2]Timeval) (err error) + +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 +//sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_ARM_FADVISE64_64, uintptr(fd), uintptr(advice), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +//sys mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = e + } + return +} + +func Statfs(path string, buf *Statfs_t) (err error) { + pathp, err := BytePtrFromString(path) + if err != nil { + return err + } + _, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(pathp)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = e + } + return +} + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + page := uintptr(offset / 4096) + if offset != int64(page)*4096 { + return 0, EINVAL + } + return mmap2(addr, length, prot, flags, fd, page) +} + +type rlimit32 struct { + Cur uint32 + Max uint32 +} + +//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_UGETRLIMIT + +const rlimInf32 = ^uint32(0) +const rlimInf64 = ^uint64(0) + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, nil, rlim) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + err = getrlimit(resource, &rl) + if err != nil { + return + } + + if rl.Cur == rlimInf32 { + rlim.Cur = rlimInf64 + } else { + rlim.Cur = uint64(rl.Cur) + } + + if rl.Max == rlimInf32 { + rlim.Max = rlimInf64 + } else { + rlim.Max = uint64(rl.Max) + } + return +} + +//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, rlim, nil) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + if rlim.Cur == rlimInf64 { + rl.Cur = rlimInf32 + } else if rlim.Cur < uint64(rlimInf32) { + rl.Cur = uint32(rlim.Cur) + } else { + return EINVAL + } + if rlim.Max == rlimInf64 { + rl.Max = rlimInf32 + } else if rlim.Max < uint64(rlimInf32) { + rl.Max = uint32(rlim.Max) + } else { + return EINVAL + } + + return setrlimit(resource, &rl) +} + +func (r *PtraceRegs) PC() uint64 { return uint64(r.Uregs[15]) } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Uregs[15] = uint32(pc) } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + +//sys armSyncFileRange(fd int, flags int, off int64, n int64) (err error) = SYS_ARM_SYNC_FILE_RANGE + +func SyncFileRange(fd int, off int64, n int64, flags int) error { + // The sync_file_range and arm_sync_file_range syscalls differ only in the + // order of their arguments. + return armSyncFileRange(fd, flags, off, n) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go new file mode 100644 index 000000000..6d5672240 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go @@ -0,0 +1,210 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm64,linux + +package unix + +import "unsafe" + +func EpollCreate(size int) (fd int, err error) { + if size <= 0 { + return -1, EINVAL + } + return EpollCreate1(0) +} + +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sys Listen(s int, n int) (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + var ts *Timespec + if timeout != nil { + ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000} + } + return Pselect(nfd, r, w, e, ts, nil) +} + +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) + +func Stat(path string, stat *Stat_t) (err error) { + return Fstatat(AT_FDCWD, path, stat, 0) +} + +func Lchown(path string, uid int, gid int) (err error) { + return Fchownat(AT_FDCWD, path, uid, gid, AT_SYMLINK_NOFOLLOW) +} + +func Lstat(path string, stat *Stat_t) (err error) { + return Fstatat(AT_FDCWD, path, stat, AT_SYMLINK_NOFOLLOW) +} + +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + return ENOSYS +} + +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +//sysnb Gettimeofday(tv *Timeval) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func futimesat(dirfd int, path string, tv *[2]Timeval) (err error) { + if tv == nil { + return utimensat(dirfd, path, nil, 0) + } + + ts := []Timespec{ + NsecToTimespec(TimevalToNsec(tv[0])), + NsecToTimespec(TimevalToNsec(tv[1])), + } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) +} + +func Time(t *Time_t) (Time_t, error) { + var tv Timeval + err := Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +func Utime(path string, buf *Utimbuf) error { + tv := []Timeval{ + {Sec: buf.Actime}, + {Sec: buf.Modtime}, + } + return Utimes(path, tv) +} + +func utimes(path string, tv *[2]Timeval) (err error) { + if tv == nil { + return utimensat(AT_FDCWD, path, nil, 0) + } + + ts := []Timespec{ + NsecToTimespec(TimevalToNsec(tv[0])), + NsecToTimespec(TimevalToNsec(tv[1])), + } + return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) +} + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, 0) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func (r *PtraceRegs) PC() uint64 { return r.Pc } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Pc = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +func InotifyInit() (fd int, err error) { + return InotifyInit1(0) +} + +func Dup2(oldfd int, newfd int) (err error) { + return Dup3(oldfd, newfd, 0) +} + +func Pause() error { + _, err := ppoll(nil, 0, nil, nil) + return err +} + +func Poll(fds []PollFd, timeout int) (n int, err error) { + var ts *Timespec + if timeout >= 0 { + ts = new(Timespec) + *ts = NsecToTimespec(int64(timeout) * 1e6) + } + if len(fds) == 0 { + return ppoll(nil, 0, ts, nil) + } + return ppoll(&fds[0], len(fds), ts, nil) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_gc.go b/vendor/golang.org/x/sys/unix/syscall_linux_gc.go new file mode 100644 index 000000000..c26e6ec23 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_gc.go @@ -0,0 +1,14 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux,!gccgo + +package unix + +// SyscallNoError may be used instead of Syscall for syscalls that don't fail. +func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) + +// RawSyscallNoError may be used instead of RawSyscall for syscalls that don't +// fail. +func RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go b/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go new file mode 100644 index 000000000..070bd3899 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go @@ -0,0 +1,16 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux,!gccgo,386 + +package unix + +import "syscall" + +// Underlying system call writes to newoffset via pointer. +// Implemented in assembly to avoid allocation. +func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) + +func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) +func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go b/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go new file mode 100644 index 000000000..308eb7aec --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go @@ -0,0 +1,30 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux,gccgo,386 + +package unix + +import ( + "syscall" + "unsafe" +) + +func seek(fd int, offset int64, whence int) (int64, syscall.Errno) { + var newoffset int64 + offsetLow := uint32(offset & 0xffffffff) + offsetHigh := uint32((offset >> 32) & 0xffffffff) + _, _, err := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offsetHigh), uintptr(offsetLow), uintptr(unsafe.Pointer(&newoffset)), uintptr(whence), 0) + return newoffset, err +} + +func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (int, syscall.Errno) { + fd, _, err := Syscall(SYS_SOCKETCALL, uintptr(call), uintptr(unsafe.Pointer(&a0)), 0) + return int(fd), err +} + +func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (int, syscall.Errno) { + fd, _, err := RawSyscall(SYS_SOCKETCALL, uintptr(call), uintptr(unsafe.Pointer(&a0)), 0) + return int(fd), err +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go b/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go new file mode 100644 index 000000000..aa7fc9e19 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go @@ -0,0 +1,20 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux,gccgo,arm + +package unix + +import ( + "syscall" + "unsafe" +) + +func seek(fd int, offset int64, whence int) (int64, syscall.Errno) { + var newoffset int64 + offsetLow := uint32(offset & 0xffffffff) + offsetHigh := uint32((offset >> 32) & 0xffffffff) + _, _, err := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offsetHigh), uintptr(offsetLow), uintptr(unsafe.Pointer(&newoffset)), uintptr(whence), 0) + return newoffset, err +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go new file mode 100644 index 000000000..b3b21ec1e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go @@ -0,0 +1,222 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux +// +build mips64 mips64le + +package unix + +//sys Dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + var ts *Timespec + if timeout != nil { + ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000} + } + return Pselect(nfd, r, w, e, ts, nil) +} + +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) + +func Time(t *Time_t) (tt Time_t, err error) { + var tv Timeval + err = Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +//sys Utime(path string, buf *Utimbuf) (err error) +//sys utimes(path string, times *[2]Timeval) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, 0) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func Ioperm(from int, num int, on int) (err error) { + return ENOSYS +} + +func Iopl(level int) (err error) { + return ENOSYS +} + +type stat_t struct { + Dev uint32 + Pad0 [3]int32 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint32 + Pad1 [3]uint32 + Size int64 + Atime uint32 + Atime_nsec uint32 + Mtime uint32 + Mtime_nsec uint32 + Ctime uint32 + Ctime_nsec uint32 + Blksize uint32 + Pad2 uint32 + Blocks int64 +} + +//sys fstat(fd int, st *stat_t) (err error) +//sys fstatat(dirfd int, path string, st *stat_t, flags int) (err error) = SYS_NEWFSTATAT +//sys lstat(path string, st *stat_t) (err error) +//sys stat(path string, st *stat_t) (err error) + +func Fstat(fd int, s *Stat_t) (err error) { + st := &stat_t{} + err = fstat(fd, st) + fillStat_t(s, st) + return +} + +func Fstatat(dirfd int, path string, s *Stat_t, flags int) (err error) { + st := &stat_t{} + err = fstatat(dirfd, path, st, flags) + fillStat_t(s, st) + return +} + +func Lstat(path string, s *Stat_t) (err error) { + st := &stat_t{} + err = lstat(path, st) + fillStat_t(s, st) + return +} + +func Stat(path string, s *Stat_t) (err error) { + st := &stat_t{} + err = stat(path, st) + fillStat_t(s, st) + return +} + +func fillStat_t(s *Stat_t, st *stat_t) { + s.Dev = st.Dev + s.Ino = st.Ino + s.Mode = st.Mode + s.Nlink = st.Nlink + s.Uid = st.Uid + s.Gid = st.Gid + s.Rdev = st.Rdev + s.Size = st.Size + s.Atim = Timespec{int64(st.Atime), int64(st.Atime_nsec)} + s.Mtim = Timespec{int64(st.Mtime), int64(st.Mtime_nsec)} + s.Ctim = Timespec{int64(st.Ctime), int64(st.Ctime_nsec)} + s.Blksize = st.Blksize + s.Blocks = st.Blocks +} + +func (r *PtraceRegs) PC() uint64 { return r.Epc } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Epc = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go new file mode 100644 index 000000000..5144d4e13 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go @@ -0,0 +1,234 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux +// +build mips mipsle + +package unix + +import ( + "syscall" + "unsafe" +) + +func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + +//sys Dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getuid() (uid int) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) + +//sysnb InotifyInit() (fd int, err error) +//sys Ioperm(from int, num int, on int) (err error) +//sys Iopl(level int) (err error) + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Time(t *Time_t) (tt Time_t, err error) +//sys Utime(path string, buf *Utimbuf) (err error) +//sys utimes(path string, times *[2]Timeval) (err error) + +//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 +//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 +//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 + +//sys Pause() (err error) + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = errnoErr(e) + } + return +} + +func Statfs(path string, buf *Statfs_t) (err error) { + p, err := BytePtrFromString(path) + if err != nil { + return err + } + _, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(p)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) + if e != 0 { + err = errnoErr(e) + } + return +} + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + _, _, e := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offset>>32), uintptr(offset), uintptr(unsafe.Pointer(&off)), uintptr(whence), 0) + if e != 0 { + err = errnoErr(e) + } + return +} + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: int32(sec), Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe() (p1 int, p2 int, err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + p[0], p[1], err = pipe() + return +} + +//sys mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + page := uintptr(offset / 4096) + if offset != int64(page)*4096 { + return 0, EINVAL + } + return mmap2(addr, length, prot, flags, fd, page) +} + +const rlimInf32 = ^uint32(0) +const rlimInf64 = ^uint64(0) + +type rlimit32 struct { + Cur uint32 + Max uint32 +} + +//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, nil, rlim) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + err = getrlimit(resource, &rl) + if err != nil { + return + } + + if rl.Cur == rlimInf32 { + rlim.Cur = rlimInf64 + } else { + rlim.Cur = uint64(rl.Cur) + } + + if rl.Max == rlimInf32 { + rlim.Max = rlimInf64 + } else { + rlim.Max = uint64(rl.Max) + } + return +} + +//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + err = prlimit(0, resource, rlim, nil) + if err != ENOSYS { + return err + } + + rl := rlimit32{} + if rlim.Cur == rlimInf64 { + rl.Cur = rlimInf32 + } else if rlim.Cur < uint64(rlimInf32) { + rl.Cur = uint32(rlim.Cur) + } else { + return EINVAL + } + if rlim.Max == rlimInf64 { + rl.Max = rlimInf32 + } else if rlim.Max < uint64(rlimInf32) { + rl.Max = uint32(rlim.Max) + } else { + return EINVAL + } + + return setrlimit(resource, &rl) +} + +func (r *PtraceRegs) PC() uint64 { return r.Epc } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Epc = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go new file mode 100644 index 000000000..0a100b66a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go @@ -0,0 +1,152 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux +// +build ppc64 ppc64le + +package unix + +//sys Dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) = SYS_UGETRLIMIT +//sysnb Getuid() (uid int) +//sysnb InotifyInit() (fd int, err error) +//sys Ioperm(from int, num int, on int) (err error) +//sys Iopl(level int) (err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys Truncate(path string, length int64) (err error) +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Time(t *Time_t) (tt Time_t, err error) +//sys Utime(path string, buf *Utimbuf) (err error) +//sys utimes(path string, times *[2]Timeval) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func (r *PtraceRegs) PC() uint64 { return r.Nip } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Nip = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + +//sys syncFileRange2(fd int, flags int, off int64, n int64) (err error) = SYS_SYNC_FILE_RANGE2 + +func SyncFileRange(fd int, off int64, n int64, flags int) error { + // The sync_file_range and sync_file_range2 syscalls differ only in the + // order of their arguments. + return syncFileRange2(fd, flags, off, n) +} + +//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) + +func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { + cmdlineLen := len(cmdline) + if cmdlineLen > 0 { + // Account for the additional NULL byte added by + // BytePtrFromString in kexecFileLoad. The kexec_file_load + // syscall expects a NULL-terminated string. + cmdlineLen++ + } + return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go b/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go new file mode 100644 index 000000000..f23ca451c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go @@ -0,0 +1,213 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build riscv64,linux + +package unix + +import "unsafe" + +func EpollCreate(size int) (fd int, err error) { + if size <= 0 { + return -1, EINVAL + } + return EpollCreate1(0) +} + +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sys Listen(s int, n int) (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + var ts *Timespec + if timeout != nil { + ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000} + } + return Pselect(nfd, r, w, e, ts, nil) +} + +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) + +func Stat(path string, stat *Stat_t) (err error) { + return Fstatat(AT_FDCWD, path, stat, 0) +} + +func Lchown(path string, uid int, gid int) (err error) { + return Fchownat(AT_FDCWD, path, uid, gid, AT_SYMLINK_NOFOLLOW) +} + +func Lstat(path string, stat *Stat_t) (err error) { + return Fstatat(AT_FDCWD, path, stat, AT_SYMLINK_NOFOLLOW) +} + +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + return ENOSYS +} + +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +//sysnb Gettimeofday(tv *Timeval) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func futimesat(dirfd int, path string, tv *[2]Timeval) (err error) { + if tv == nil { + return utimensat(dirfd, path, nil, 0) + } + + ts := []Timespec{ + NsecToTimespec(TimevalToNsec(tv[0])), + NsecToTimespec(TimevalToNsec(tv[1])), + } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) +} + +func Time(t *Time_t) (Time_t, error) { + var tv Timeval + err := Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +func Utime(path string, buf *Utimbuf) error { + tv := []Timeval{ + {Sec: buf.Actime}, + {Sec: buf.Modtime}, + } + return Utimes(path, tv) +} + +func utimes(path string, tv *[2]Timeval) (err error) { + if tv == nil { + return utimensat(AT_FDCWD, path, nil, 0) + } + + ts := []Timespec{ + NsecToTimespec(TimevalToNsec(tv[0])), + NsecToTimespec(TimevalToNsec(tv[1])), + } + return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) +} + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, 0) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func (r *PtraceRegs) PC() uint64 { return r.Pc } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Pc = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +func InotifyInit() (fd int, err error) { + return InotifyInit1(0) +} + +func Dup2(oldfd int, newfd int) (err error) { + return Dup3(oldfd, newfd, 0) +} + +func Pause() error { + _, err := ppoll(nil, 0, nil, nil) + return err +} + +func Poll(fds []PollFd, timeout int) (n int, err error) { + var ts *Timespec + if timeout >= 0 { + ts = new(Timespec) + *ts = NsecToTimespec(int64(timeout) * 1e6) + } + if len(fds) == 0 { + return ppoll(nil, 0, ts, nil) + } + return ppoll(&fds[0], len(fds), ts, nil) +} + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + return Renameat2(olddirfd, oldpath, newdirfd, newpath, 0) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go new file mode 100644 index 000000000..f81dbdc9c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go @@ -0,0 +1,338 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build s390x,linux + +package unix + +import ( + "unsafe" +) + +//sys Dup2(oldfd int, newfd int) (err error) +//sysnb EpollCreate(size int) (fd int, err error) +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sysnb InotifyInit() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) + +func Time(t *Time_t) (tt Time_t, err error) { + var tv Timeval + err = Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +//sys Utime(path string, buf *Utimbuf) (err error) +//sys utimes(path string, times *[2]Timeval) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, 0) // pipe2 is the same as pipe when flags are set to 0. + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +func Ioperm(from int, num int, on int) (err error) { + return ENOSYS +} + +func Iopl(level int) (err error) { + return ENOSYS +} + +func (r *PtraceRegs) PC() uint64 { return r.Psw.Addr } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Psw.Addr = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +// Linux on s390x uses the old mmap interface, which requires arguments to be passed in a struct. +// mmap2 also requires arguments to be passed in a struct; it is currently not exposed in . +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + mmap_args := [6]uintptr{addr, length, uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)} + r0, _, e1 := Syscall(SYS_MMAP, uintptr(unsafe.Pointer(&mmap_args[0])), 0, 0) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// On s390x Linux, all the socket calls go through an extra indirection. +// The arguments to the underlying system call (SYS_SOCKETCALL) are the +// number below and a pointer to an array of uintptr. +const ( + // see linux/net.h + netSocket = 1 + netBind = 2 + netConnect = 3 + netListen = 4 + netAccept = 5 + netGetSockName = 6 + netGetPeerName = 7 + netSocketPair = 8 + netSend = 9 + netRecv = 10 + netSendTo = 11 + netRecvFrom = 12 + netShutdown = 13 + netSetSockOpt = 14 + netGetSockOpt = 15 + netSendMsg = 16 + netRecvMsg = 17 + netAccept4 = 18 + netRecvMMsg = 19 + netSendMMsg = 20 +) + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (int, error) { + args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))} + fd, _, err := Syscall(SYS_SOCKETCALL, netAccept, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return 0, err + } + return int(fd), nil +} + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (int, error) { + args := [4]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags)} + fd, _, err := Syscall(SYS_SOCKETCALL, netAccept4, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return 0, err + } + return int(fd), nil +} + +func getsockname(s int, rsa *RawSockaddrAny, addrlen *_Socklen) error { + args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))} + _, _, err := RawSyscall(SYS_SOCKETCALL, netGetSockName, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func getpeername(s int, rsa *RawSockaddrAny, addrlen *_Socklen) error { + args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))} + _, _, err := RawSyscall(SYS_SOCKETCALL, netGetPeerName, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func socketpair(domain int, typ int, flags int, fd *[2]int32) error { + args := [4]uintptr{uintptr(domain), uintptr(typ), uintptr(flags), uintptr(unsafe.Pointer(fd))} + _, _, err := RawSyscall(SYS_SOCKETCALL, netSocketPair, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) error { + args := [3]uintptr{uintptr(s), uintptr(addr), uintptr(addrlen)} + _, _, err := Syscall(SYS_SOCKETCALL, netBind, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) error { + args := [3]uintptr{uintptr(s), uintptr(addr), uintptr(addrlen)} + _, _, err := Syscall(SYS_SOCKETCALL, netConnect, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func socket(domain int, typ int, proto int) (int, error) { + args := [3]uintptr{uintptr(domain), uintptr(typ), uintptr(proto)} + fd, _, err := RawSyscall(SYS_SOCKETCALL, netSocket, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return 0, err + } + return int(fd), nil +} + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) error { + args := [5]uintptr{uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen))} + _, _, err := Syscall(SYS_SOCKETCALL, netGetSockOpt, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) error { + args := [4]uintptr{uintptr(s), uintptr(level), uintptr(name), uintptr(val)} + _, _, err := Syscall(SYS_SOCKETCALL, netSetSockOpt, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func recvfrom(s int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (int, error) { + var base uintptr + if len(p) > 0 { + base = uintptr(unsafe.Pointer(&p[0])) + } + args := [6]uintptr{uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))} + n, _, err := Syscall(SYS_SOCKETCALL, netRecvFrom, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return 0, err + } + return int(n), nil +} + +func sendto(s int, p []byte, flags int, to unsafe.Pointer, addrlen _Socklen) error { + var base uintptr + if len(p) > 0 { + base = uintptr(unsafe.Pointer(&p[0])) + } + args := [6]uintptr{uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(to), uintptr(addrlen)} + _, _, err := Syscall(SYS_SOCKETCALL, netSendTo, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func recvmsg(s int, msg *Msghdr, flags int) (int, error) { + args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)} + n, _, err := Syscall(SYS_SOCKETCALL, netRecvMsg, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return 0, err + } + return int(n), nil +} + +func sendmsg(s int, msg *Msghdr, flags int) (int, error) { + args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)} + n, _, err := Syscall(SYS_SOCKETCALL, netSendMsg, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return 0, err + } + return int(n), nil +} + +func Listen(s int, n int) error { + args := [2]uintptr{uintptr(s), uintptr(n)} + _, _, err := Syscall(SYS_SOCKETCALL, netListen, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +func Shutdown(s, how int) error { + args := [2]uintptr{uintptr(s), uintptr(how)} + _, _, err := Syscall(SYS_SOCKETCALL, netShutdown, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err + } + return nil +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + +//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) + +func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { + cmdlineLen := len(cmdline) + if cmdlineLen > 0 { + // Account for the additional NULL byte added by + // BytePtrFromString in kexecFileLoad. The kexec_file_load + // syscall expects a NULL-terminated string. + cmdlineLen++ + } + return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go new file mode 100644 index 000000000..b69565616 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go @@ -0,0 +1,147 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build sparc64,linux + +package unix + +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +//sys Dup2(oldfd int, newfd int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sysnb InotifyInit() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +func Ioperm(from int, num int, on int) (err error) { + return ENOSYS +} + +func Iopl(level int) (err error) { + return ENOSYS +} + +//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) + +func Time(t *Time_t) (tt Time_t, err error) { + var tv Timeval + err = Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +//sys Utime(path string, buf *Utimbuf) (err error) +//sys utimes(path string, times *[2]Timeval) (err error) + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func (r *PtraceRegs) PC() uint64 { return r.Tpc } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Tpc = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd.go b/vendor/golang.org/x/sys/unix/syscall_netbsd.go new file mode 100644 index 000000000..5240e16e4 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_netbsd.go @@ -0,0 +1,622 @@ +// Copyright 2009,2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// NetBSD system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and wrap +// it in our own nicer implementation, either here or in +// syscall_bsd.go or syscall_unix.go. + +package unix + +import ( + "runtime" + "syscall" + "unsafe" +) + +// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. +type SockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 + raw RawSockaddrDatalink +} + +func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + +func sysctlNodes(mib []_C_int) (nodes []Sysctlnode, err error) { + var olen uintptr + + // Get a list of all sysctl nodes below the given MIB by performing + // a sysctl for the given MIB with CTL_QUERY appended. + mib = append(mib, CTL_QUERY) + qnode := Sysctlnode{Flags: SYSCTL_VERS_1} + qp := (*byte)(unsafe.Pointer(&qnode)) + sz := unsafe.Sizeof(qnode) + if err = sysctl(mib, nil, &olen, qp, sz); err != nil { + return nil, err + } + + // Now that we know the size, get the actual nodes. + nodes = make([]Sysctlnode, olen/sz) + np := (*byte)(unsafe.Pointer(&nodes[0])) + if err = sysctl(mib, np, &olen, qp, sz); err != nil { + return nil, err + } + + return nodes, nil +} + +func nametomib(name string) (mib []_C_int, err error) { + // Split name into components. + var parts []string + last := 0 + for i := 0; i < len(name); i++ { + if name[i] == '.' { + parts = append(parts, name[last:i]) + last = i + 1 + } + } + parts = append(parts, name[last:]) + + // Discover the nodes and construct the MIB OID. + for partno, part := range parts { + nodes, err := sysctlNodes(mib) + if err != nil { + return nil, err + } + for _, node := range nodes { + n := make([]byte, 0) + for i := range node.Name { + if node.Name[i] != 0 { + n = append(n, byte(node.Name[i])) + } + } + if string(n) == part { + mib = append(mib, _C_int(node.Num)) + break + } + } + if len(mib) != partno+1 { + return nil, EINVAL + } + } + + return mib, nil +} + +func SysctlClockinfo(name string) (*Clockinfo, error) { + mib, err := sysctlmib(name) + if err != nil { + return nil, err + } + + n := uintptr(SizeofClockinfo) + var ci Clockinfo + if err := sysctl(mib, (*byte)(unsafe.Pointer(&ci)), &n, nil, 0); err != nil { + return nil, err + } + if n != SizeofClockinfo { + return nil, EIO + } + return &ci, nil +} + +//sysnb pipe() (fd1 int, fd2 int, err error) +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + p[0], p[1], err = pipe() + return +} + +//sys getdents(fd int, buf []byte) (n int, err error) +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + return getdents(fd, buf) +} + +const ImplementsGetwd = true + +//sys Getcwd(buf []byte) (n int, err error) = SYS___GETCWD + +func Getwd() (string, error) { + var buf [PathMax]byte + _, err := Getcwd(buf[0:]) + if err != nil { + return "", err + } + n := clen(buf[:]) + if n < 1 { + return "", EINVAL + } + return string(buf[:n]), nil +} + +// TODO +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + return -1, ENOSYS +} + +func setattrlistTimes(path string, times []Timespec, flags int) error { + // used on Darwin for UtimesNano + return ENOSYS +} + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +// ioctl itself should not be exposed directly, but additional get/set +// functions for specific types are permissible. + +// IoctlSetInt performs an ioctl operation which sets an integer value +// on fd, using the specified request number. +func IoctlSetInt(fd int, req uint, value int) error { + return ioctl(fd, req, uintptr(value)) +} + +func ioctlSetWinsize(fd int, req uint, value *Winsize) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func ioctlSetTermios(fd int, req uint, value *Termios) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +// IoctlGetInt performs an ioctl operation which gets an integer value +// from fd, using the specified request number. +func IoctlGetInt(fd int, req uint) (int, error) { + var value int + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return value, err +} + +func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { + var value Winsize + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetTermios(fd int, req uint) (*Termios, error) { + var value Termios + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetPtmget(fd int, req uint) (*Ptmget, error) { + var value Ptmget + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + runtime.KeepAlive(value) + return &value, err +} + +func Uname(uname *Utsname) error { + mib := []_C_int{CTL_KERN, KERN_OSTYPE} + n := unsafe.Sizeof(uname.Sysname) + if err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_HOSTNAME} + n = unsafe.Sizeof(uname.Nodename) + if err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_OSRELEASE} + n = unsafe.Sizeof(uname.Release) + if err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_VERSION} + n = unsafe.Sizeof(uname.Version) + if err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil { + return err + } + + // The version might have newlines or tabs in it, convert them to + // spaces. + for i, b := range uname.Version { + if b == '\n' || b == '\t' { + if i == len(uname.Version)-1 { + uname.Version[i] = 0 + } else { + uname.Version[i] = ' ' + } + } + } + + mib = []_C_int{CTL_HW, HW_MACHINE} + n = unsafe.Sizeof(uname.Machine) + if err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil { + return err + } + + return nil +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + +/* + * Exposed directly + */ +//sys Access(path string, mode uint32) (err error) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys Chdir(path string) (err error) +//sys Chflags(path string, flags int) (err error) +//sys Chmod(path string, mode uint32) (err error) +//sys Chown(path string, uid int, gid int) (err error) +//sys Chroot(path string) (err error) +//sys Close(fd int) (err error) +//sys Dup(fd int) (nfd int, err error) +//sys Dup2(from int, to int) (err error) +//sys Exit(code int) +//sys ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) +//sys ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) +//sys ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) +//sys ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) +//sys ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_POSIX_FADVISE +//sys Fchdir(fd int) (err error) +//sys Fchflags(fd int, flags int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (uid int) +//sysnb Getgid() (gid int) +//sysnb Getpgid(pid int) (pgid int, err error) +//sysnb Getpgrp() (pgrp int) +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sysnb Getrlimit(which int, lim *Rlimit) (err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Getuid() (uid int) +//sys Issetugid() (tainted bool) +//sys Kill(pid int, signum syscall.Signal) (err error) +//sys Kqueue() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) +//sys Listen(s int, backlog int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mkfifoat(dirfd int, path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Renameat(fromfd int, from string, tofd int, to string) (err error) +//sys Revoke(path string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK +//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) +//sysnb Setegid(egid int) (err error) +//sysnb Seteuid(euid int) (err error) +//sysnb Setgid(gid int) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sys Setpriority(which int, who int, prio int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sysnb Setrlimit(which int, lim *Rlimit) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tp *Timeval) (err error) +//sysnb Setuid(uid int) (err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Symlink(path string, link string) (err error) +//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) +//sys Sync() (err error) +//sys Truncate(path string, length int64) (err error) +//sys Umask(newmask int) (oldmask int) +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Unmount(path string, flags int) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ +//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE +//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) + +/* + * Unimplemented + */ +// ____semctl13 +// __clone +// __fhopen40 +// __fhstat40 +// __fhstatvfs140 +// __fstat30 +// __getcwd +// __getfh30 +// __getlogin +// __lstat30 +// __mount50 +// __msgctl13 +// __msync13 +// __ntp_gettime30 +// __posix_chown +// __posix_fchown +// __posix_lchown +// __posix_rename +// __setlogin +// __shmctl13 +// __sigaction_sigtramp +// __sigaltstack14 +// __sigpending14 +// __sigprocmask14 +// __sigsuspend14 +// __sigtimedwait +// __stat30 +// __syscall +// __vfork14 +// _ksem_close +// _ksem_destroy +// _ksem_getvalue +// _ksem_init +// _ksem_open +// _ksem_post +// _ksem_trywait +// _ksem_unlink +// _ksem_wait +// _lwp_continue +// _lwp_create +// _lwp_ctl +// _lwp_detach +// _lwp_exit +// _lwp_getname +// _lwp_getprivate +// _lwp_kill +// _lwp_park +// _lwp_self +// _lwp_setname +// _lwp_setprivate +// _lwp_suspend +// _lwp_unpark +// _lwp_unpark_all +// _lwp_wait +// _lwp_wakeup +// _pset_bind +// _sched_getaffinity +// _sched_getparam +// _sched_setaffinity +// _sched_setparam +// acct +// aio_cancel +// aio_error +// aio_fsync +// aio_read +// aio_return +// aio_suspend +// aio_write +// break +// clock_getres +// clock_gettime +// clock_settime +// compat_09_ogetdomainname +// compat_09_osetdomainname +// compat_09_ouname +// compat_10_omsgsys +// compat_10_osemsys +// compat_10_oshmsys +// compat_12_fstat12 +// compat_12_getdirentries +// compat_12_lstat12 +// compat_12_msync +// compat_12_oreboot +// compat_12_oswapon +// compat_12_stat12 +// compat_13_sigaction13 +// compat_13_sigaltstack13 +// compat_13_sigpending13 +// compat_13_sigprocmask13 +// compat_13_sigreturn13 +// compat_13_sigsuspend13 +// compat_14___semctl +// compat_14_msgctl +// compat_14_shmctl +// compat_16___sigaction14 +// compat_16___sigreturn14 +// compat_20_fhstatfs +// compat_20_fstatfs +// compat_20_getfsstat +// compat_20_statfs +// compat_30___fhstat30 +// compat_30___fstat13 +// compat_30___lstat13 +// compat_30___stat13 +// compat_30_fhopen +// compat_30_fhstat +// compat_30_fhstatvfs1 +// compat_30_getdents +// compat_30_getfh +// compat_30_ntp_gettime +// compat_30_socket +// compat_40_mount +// compat_43_fstat43 +// compat_43_lstat43 +// compat_43_oaccept +// compat_43_ocreat +// compat_43_oftruncate +// compat_43_ogetdirentries +// compat_43_ogetdtablesize +// compat_43_ogethostid +// compat_43_ogethostname +// compat_43_ogetkerninfo +// compat_43_ogetpagesize +// compat_43_ogetpeername +// compat_43_ogetrlimit +// compat_43_ogetsockname +// compat_43_okillpg +// compat_43_olseek +// compat_43_ommap +// compat_43_oquota +// compat_43_orecv +// compat_43_orecvfrom +// compat_43_orecvmsg +// compat_43_osend +// compat_43_osendmsg +// compat_43_osethostid +// compat_43_osethostname +// compat_43_osetrlimit +// compat_43_osigblock +// compat_43_osigsetmask +// compat_43_osigstack +// compat_43_osigvec +// compat_43_otruncate +// compat_43_owait +// compat_43_stat43 +// execve +// extattr_delete_fd +// extattr_delete_file +// extattr_delete_link +// extattr_get_fd +// extattr_get_file +// extattr_get_link +// extattr_list_fd +// extattr_list_file +// extattr_list_link +// extattr_set_fd +// extattr_set_file +// extattr_set_link +// extattrctl +// fchroot +// fdatasync +// fgetxattr +// fktrace +// flistxattr +// fork +// fremovexattr +// fsetxattr +// fstatvfs1 +// fsync_range +// getcontext +// getitimer +// getvfsstat +// getxattr +// ktrace +// lchflags +// lchmod +// lfs_bmapv +// lfs_markv +// lfs_segclean +// lfs_segwait +// lgetxattr +// lio_listio +// listxattr +// llistxattr +// lremovexattr +// lseek +// lsetxattr +// lutimes +// madvise +// mincore +// minherit +// modctl +// mq_close +// mq_getattr +// mq_notify +// mq_open +// mq_receive +// mq_send +// mq_setattr +// mq_timedreceive +// mq_timedsend +// mq_unlink +// mremap +// msgget +// msgrcv +// msgsnd +// nfssvc +// ntp_adjtime +// pmc_control +// pmc_get_info +// pollts +// preadv +// profil +// pselect +// pset_assign +// pset_create +// pset_destroy +// ptrace +// pwritev +// quotactl +// rasctl +// readv +// reboot +// removexattr +// sa_enable +// sa_preempt +// sa_register +// sa_setconcurrency +// sa_stacks +// sa_yield +// sbrk +// sched_yield +// semconfig +// semget +// semop +// setcontext +// setitimer +// setxattr +// shmat +// shmdt +// shmget +// sstk +// statvfs1 +// swapctl +// sysarch +// syscall +// timer_create +// timer_delete +// timer_getoverrun +// timer_gettime +// timer_settime +// undelete +// utrace +// uuidgen +// vadvise +// vfork +// writev diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go new file mode 100644 index 000000000..24f74e58c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go @@ -0,0 +1,33 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build 386,netbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = uint32(mode) + k.Flags = uint32(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go new file mode 100644 index 000000000..6878bf7ff --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go @@ -0,0 +1,33 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,netbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = uint32(mode) + k.Flags = uint32(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go new file mode 100644 index 000000000..dbbfcf71d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go @@ -0,0 +1,33 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm,netbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = uint32(mode) + k.Flags = uint32(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go new file mode 100644 index 000000000..f3434465a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go @@ -0,0 +1,33 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm64,netbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = uint32(mode) + k.Flags = uint32(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd.go b/vendor/golang.org/x/sys/unix/syscall_openbsd.go new file mode 100644 index 000000000..687999549 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_openbsd.go @@ -0,0 +1,399 @@ +// Copyright 2009,2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// OpenBSD system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and wrap +// it in our own nicer implementation, either here or in +// syscall_bsd.go or syscall_unix.go. + +package unix + +import ( + "sort" + "syscall" + "unsafe" +) + +// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. +type SockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [24]int8 + raw RawSockaddrDatalink +} + +func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + +func nametomib(name string) (mib []_C_int, err error) { + i := sort.Search(len(sysctlMib), func(i int) bool { + return sysctlMib[i].ctlname >= name + }) + if i < len(sysctlMib) && sysctlMib[i].ctlname == name { + return sysctlMib[i].ctloid, nil + } + return nil, EINVAL +} + +func SysctlUvmexp(name string) (*Uvmexp, error) { + mib, err := sysctlmib(name) + if err != nil { + return nil, err + } + + n := uintptr(SizeofUvmexp) + var u Uvmexp + if err := sysctl(mib, (*byte)(unsafe.Pointer(&u)), &n, nil, 0); err != nil { + return nil, err + } + if n != SizeofUvmexp { + return nil, EIO + } + return &u, nil +} + +//sysnb pipe(p *[2]_C_int) (err error) +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sys getdents(fd int, buf []byte) (n int, err error) +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + return getdents(fd, buf) +} + +const ImplementsGetwd = true + +//sys Getcwd(buf []byte) (n int, err error) = SYS___GETCWD + +func Getwd() (string, error) { + var buf [PathMax]byte + _, err := Getcwd(buf[0:]) + if err != nil { + return "", err + } + n := clen(buf[:]) + if n < 1 { + return "", EINVAL + } + return string(buf[:n]), nil +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + +// TODO +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + return -1, ENOSYS +} + +func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { + var _p0 unsafe.Pointer + var bufsize uintptr + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) + } + r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func setattrlistTimes(path string, times []Timespec, flags int) error { + // used on Darwin for UtimesNano + return ENOSYS +} + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +// ioctl itself should not be exposed directly, but additional get/set +// functions for specific types are permissible. + +// IoctlSetInt performs an ioctl operation which sets an integer value +// on fd, using the specified request number. +func IoctlSetInt(fd int, req uint, value int) error { + return ioctl(fd, req, uintptr(value)) +} + +func ioctlSetWinsize(fd int, req uint, value *Winsize) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func ioctlSetTermios(fd int, req uint, value *Termios) error { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +// IoctlGetInt performs an ioctl operation which gets an integer value +// from fd, using the specified request number. +func IoctlGetInt(fd int, req uint) (int, error) { + var value int + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return value, err +} + +func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { + var value Winsize + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetTermios(fd int, req uint) (*Termios, error) { + var value Termios + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +//sys ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) + +func Ppoll(fds []PollFd, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + if len(fds) == 0 { + return ppoll(nil, 0, timeout, sigmask) + } + return ppoll(&fds[0], len(fds), timeout, sigmask) +} + +func Uname(uname *Utsname) error { + mib := []_C_int{CTL_KERN, KERN_OSTYPE} + n := unsafe.Sizeof(uname.Sysname) + if err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_HOSTNAME} + n = unsafe.Sizeof(uname.Nodename) + if err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_OSRELEASE} + n = unsafe.Sizeof(uname.Release) + if err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil { + return err + } + + mib = []_C_int{CTL_KERN, KERN_VERSION} + n = unsafe.Sizeof(uname.Version) + if err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil { + return err + } + + // The version might have newlines or tabs in it, convert them to + // spaces. + for i, b := range uname.Version { + if b == '\n' || b == '\t' { + if i == len(uname.Version)-1 { + uname.Version[i] = 0 + } else { + uname.Version[i] = ' ' + } + } + } + + mib = []_C_int{CTL_HW, HW_MACHINE} + n = unsafe.Sizeof(uname.Machine) + if err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil { + return err + } + + return nil +} + +/* + * Exposed directly + */ +//sys Access(path string, mode uint32) (err error) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys Chdir(path string) (err error) +//sys Chflags(path string, flags int) (err error) +//sys Chmod(path string, mode uint32) (err error) +//sys Chown(path string, uid int, gid int) (err error) +//sys Chroot(path string) (err error) +//sys Close(fd int) (err error) +//sys Dup(fd int) (nfd int, err error) +//sys Dup2(from int, to int) (err error) +//sys Exit(code int) +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchflags(fd int, flags int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fstatfs(fd int, stat *Statfs_t) (err error) +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (uid int) +//sysnb Getgid() (gid int) +//sysnb Getpgid(pid int) (pgid int, err error) +//sysnb Getpgrp() (pgrp int) +//sysnb Getpid() (pid int) +//sysnb Getppid() (ppid int) +//sys Getpriority(which int, who int) (prio int, err error) +//sysnb Getrlimit(which int, lim *Rlimit) (err error) +//sysnb Getrtable() (rtable int, err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Getsid(pid int) (sid int, err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Getuid() (uid int) +//sys Issetugid() (tainted bool) +//sys Kill(pid int, signum syscall.Signal) (err error) +//sys Kqueue() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) +//sys Listen(s int, backlog int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mkfifoat(dirfd int, path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Renameat(fromfd int, from string, tofd int, to string) (err error) +//sys Revoke(path string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK +//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) +//sysnb Setegid(egid int) (err error) +//sysnb Seteuid(euid int) (err error) +//sysnb Setgid(gid int) (err error) +//sys Setlogin(name string) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sys Setpriority(which int, who int, prio int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(which int, lim *Rlimit) (err error) +//sysnb Setrtable(rtable int) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Settimeofday(tp *Timeval) (err error) +//sysnb Setuid(uid int) (err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, stat *Statfs_t) (err error) +//sys Symlink(path string, link string) (err error) +//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) +//sys Sync() (err error) +//sys Truncate(path string, length int64) (err error) +//sys Umask(newmask int) (oldmask int) +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Unmount(path string, flags int) (err error) +//sys write(fd int, p []byte) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ +//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE +//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) + +/* + * Unimplemented + */ +// __getcwd +// __semctl +// __syscall +// __sysctl +// adjfreq +// break +// clock_getres +// clock_gettime +// clock_settime +// closefrom +// execve +// fcntl +// fhopen +// fhstat +// fhstatfs +// fork +// futimens +// getfh +// getgid +// getitimer +// getlogin +// getresgid +// getresuid +// getthrid +// ktrace +// lfs_bmapv +// lfs_markv +// lfs_segclean +// lfs_segwait +// mincore +// minherit +// mount +// mquery +// msgctl +// msgget +// msgrcv +// msgsnd +// nfssvc +// nnpfspioctl +// preadv +// profil +// pwritev +// quotactl +// readv +// reboot +// renameat +// rfork +// sched_yield +// semget +// semop +// setgroups +// setitimer +// setsockopt +// shmat +// shmctl +// shmdt +// shmget +// sigaction +// sigaltstack +// sigpending +// sigprocmask +// sigreturn +// sigsuspend +// sysarch +// syscall +// threxit +// thrsigdivert +// thrsleep +// thrwakeup +// vfork +// writev diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go new file mode 100644 index 000000000..d62da60d1 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go @@ -0,0 +1,37 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build 386,openbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of openbsd/386 the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go new file mode 100644 index 000000000..9a35334cb --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go @@ -0,0 +1,37 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,openbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of openbsd/amd64 the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go new file mode 100644 index 000000000..5d812aaea --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go @@ -0,0 +1,37 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build arm,openbsd + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: int32(nsec)} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} +} + +func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint32(fd) + k.Filter = int16(mode) + k.Flags = uint16(flags) +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint32(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint32(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} + +// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +// of openbsd/arm the syscall is called sysctl instead of __sysctl. +const SYS___SYSCTL = SYS_SYSCTL diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris.go b/vendor/golang.org/x/sys/unix/syscall_solaris.go new file mode 100644 index 000000000..e47801275 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_solaris.go @@ -0,0 +1,737 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Solaris system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and wrap +// it in our own nicer implementation, either here or in +// syscall_solaris.go or syscall_unix.go. + +package unix + +import ( + "syscall" + "unsafe" +) + +// Implemented in runtime/syscall_solaris.go. +type syscallFunc uintptr + +func rawSysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) +func sysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) + +// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. +type SockaddrDatalink struct { + Family uint16 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [244]int8 + raw RawSockaddrDatalink +} + +//sysnb pipe(p *[2]_C_int) (n int, err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + n, err := pipe(&pp) + if n != 0 { + return err + } + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return nil +} + +func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Family = AF_INET + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil +} + +func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL + } + sa.raw.Family = AF_INET6 + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + sa.raw.Scope_id = sa.ZoneId + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil +} + +func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { + name := sa.Name + n := len(name) + if n >= len(sa.raw.Path) { + return nil, 0, EINVAL + } + sa.raw.Family = AF_UNIX + for i := 0; i < n; i++ { + sa.raw.Path[i] = int8(name[i]) + } + // length is family (uint16), name, NUL. + sl := _Socklen(2) + if n > 0 { + sl += _Socklen(n) + 1 + } + if sa.raw.Path[0] == '@' { + sa.raw.Path[0] = 0 + // Don't count trailing NUL for abstract address. + sl-- + } + + return unsafe.Pointer(&sa.raw), sl, nil +} + +//sys getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = libsocket.getsockname + +func Getsockname(fd int) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if err = getsockname(fd, &rsa, &len); err != nil { + return + } + return anyToSockaddr(fd, &rsa) +} + +// GetsockoptString returns the string value of the socket option opt for the +// socket associated with fd at the given socket level. +func GetsockoptString(fd, level, opt int) (string, error) { + buf := make([]byte, 256) + vallen := _Socklen(len(buf)) + err := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen) + if err != nil { + return "", err + } + return string(buf[:vallen-1]), nil +} + +const ImplementsGetwd = true + +//sys Getcwd(buf []byte) (n int, err error) + +func Getwd() (wd string, err error) { + var buf [PathMax]byte + // Getcwd will return an error if it failed for any reason. + _, err = Getcwd(buf[0:]) + if err != nil { + return "", err + } + n := clen(buf[:]) + if n < 1 { + return "", EINVAL + } + return string(buf[:n]), nil +} + +/* + * Wrapped + */ + +//sysnb getgroups(ngid int, gid *_Gid_t) (n int, err error) +//sysnb setgroups(ngid int, gid *_Gid_t) (err error) + +func Getgroups() (gids []int, err error) { + n, err := getgroups(0, nil) + // Check for error and sanity check group count. Newer versions of + // Solaris allow up to 1024 (NGROUPS_MAX). + if n < 0 || n > 1024 { + if err != nil { + return nil, err + } + return nil, EINVAL + } else if n == 0 { + return nil, nil + } + + a := make([]_Gid_t, n) + n, err = getgroups(n, &a[0]) + if n == -1 { + return nil, err + } + gids = make([]int, n) + for i, v := range a[0:n] { + gids[i] = int(v) + } + return +} + +func Setgroups(gids []int) (err error) { + if len(gids) == 0 { + return setgroups(0, nil) + } + + a := make([]_Gid_t, len(gids)) + for i, v := range gids { + a[i] = _Gid_t(v) + } + return setgroups(len(a), &a[0]) +} + +func ReadDirent(fd int, buf []byte) (n int, err error) { + // Final argument is (basep *uintptr) and the syscall doesn't take nil. + // TODO(rsc): Can we use a single global basep for all calls? + return Getdents(fd, buf, new(uintptr)) +} + +// Wait status is 7 bits at bottom, either 0 (exited), +// 0x7F (stopped), or a signal number that caused an exit. +// The 0x80 bit is whether there was a core dump. +// An extra number (exit code, signal causing a stop) +// is in the high bits. + +type WaitStatus uint32 + +const ( + mask = 0x7F + core = 0x80 + shift = 8 + + exited = 0 + stopped = 0x7F +) + +func (w WaitStatus) Exited() bool { return w&mask == exited } + +func (w WaitStatus) ExitStatus() int { + if w&mask != exited { + return -1 + } + return int(w >> shift) +} + +func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != 0 } + +func (w WaitStatus) Signal() syscall.Signal { + sig := syscall.Signal(w & mask) + if sig == stopped || sig == 0 { + return -1 + } + return sig +} + +func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 } + +func (w WaitStatus) Stopped() bool { return w&mask == stopped && syscall.Signal(w>>shift) != SIGSTOP } + +func (w WaitStatus) Continued() bool { return w&mask == stopped && syscall.Signal(w>>shift) == SIGSTOP } + +func (w WaitStatus) StopSignal() syscall.Signal { + if !w.Stopped() { + return -1 + } + return syscall.Signal(w>>shift) & 0xFF +} + +func (w WaitStatus) TrapCause() int { return -1 } + +//sys wait4(pid int32, statusp *_C_int, options int, rusage *Rusage) (wpid int32, err error) + +func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (int, error) { + var status _C_int + rpid, err := wait4(int32(pid), &status, options, rusage) + wpid := int(rpid) + if wpid == -1 { + return wpid, err + } + if wstatus != nil { + *wstatus = WaitStatus(status) + } + return wpid, nil +} + +//sys gethostname(buf []byte) (n int, err error) + +func Gethostname() (name string, err error) { + var buf [MaxHostNameLen]byte + n, err := gethostname(buf[:]) + if n != 0 { + return "", err + } + n = clen(buf[:]) + if n < 1 { + return "", EFAULT + } + return string(buf[:n]), nil +} + +//sys utimes(path string, times *[2]Timeval) (err error) + +func Utimes(path string, tv []Timeval) (err error) { + if tv == nil { + return utimes(path, nil) + } + if len(tv) != 2 { + return EINVAL + } + return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +//sys utimensat(fd int, path string, times *[2]Timespec, flag int) (err error) + +func UtimesNano(path string, ts []Timespec) error { + if ts == nil { + return utimensat(AT_FDCWD, path, nil, 0) + } + if len(ts) != 2 { + return EINVAL + } + return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) +} + +func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { + if ts == nil { + return utimensat(dirfd, path, nil, flags) + } + if len(ts) != 2 { + return EINVAL + } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags) +} + +//sys fcntl(fd int, cmd int, arg int) (val int, err error) + +// FcntlInt performs a fcntl syscall on fd with the provided command and argument. +func FcntlInt(fd uintptr, cmd, arg int) (int, error) { + valptr, _, errno := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(arg), 0, 0, 0) + var err error + if errno != 0 { + err = errno + } + return int(valptr), err +} + +// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. +func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(unsafe.Pointer(lk)), 0, 0, 0) + if e1 != 0 { + return e1 + } + return nil +} + +//sys futimesat(fildes int, path *byte, times *[2]Timeval) (err error) + +func Futimesat(dirfd int, path string, tv []Timeval) error { + pathp, err := BytePtrFromString(path) + if err != nil { + return err + } + if tv == nil { + return futimesat(dirfd, pathp, nil) + } + if len(tv) != 2 { + return EINVAL + } + return futimesat(dirfd, pathp, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +// Solaris doesn't have an futimes function because it allows NULL to be +// specified as the path for futimesat. However, Go doesn't like +// NULL-style string interfaces, so this simple wrapper is provided. +func Futimes(fd int, tv []Timeval) error { + if tv == nil { + return futimesat(fd, nil, nil) + } + if len(tv) != 2 { + return EINVAL + } + return futimesat(fd, nil, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) +} + +func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + switch rsa.Addr.Family { + case AF_UNIX: + pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) + sa := new(SockaddrUnix) + // Assume path ends at NUL. + // This is not technically the Solaris semantics for + // abstract Unix domain sockets -- they are supposed + // to be uninterpreted fixed-size binary blobs -- but + // everyone uses this convention. + n := 0 + for n < len(pp.Path) && pp.Path[n] != 0 { + n++ + } + bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] + sa.Name = string(bytes) + return sa, nil + + case AF_INET: + pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet4) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + + case AF_INET6: + pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet6) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + sa.ZoneId = pp.Scope_id + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + } + return nil, EAFNOSUPPORT +} + +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) = libsocket.accept + +func Accept(fd int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, err = accept(fd, &rsa, &len) + if nfd == -1 { + return + } + sa, err = anyToSockaddr(fd, &rsa) + if err != nil { + Close(nfd) + nfd = 0 + } + return +} + +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.__xnet_recvmsg + +func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { + var msg Msghdr + var rsa RawSockaddrAny + msg.Name = (*byte)(unsafe.Pointer(&rsa)) + msg.Namelen = uint32(SizeofSockaddrAny) + var iov Iovec + if len(p) > 0 { + iov.Base = (*int8)(unsafe.Pointer(&p[0])) + iov.SetLen(len(p)) + } + var dummy int8 + if len(oob) > 0 { + // receive at least one normal byte + if len(p) == 0 { + iov.Base = &dummy + iov.SetLen(1) + } + msg.Accrightslen = int32(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = recvmsg(fd, &msg, flags); n == -1 { + return + } + oobn = int(msg.Accrightslen) + // source address is only specified if the socket is unconnected + if rsa.Addr.Family != AF_UNSPEC { + from, err = anyToSockaddr(fd, &rsa) + } + return +} + +func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { + _, err = SendmsgN(fd, p, oob, to, flags) + return +} + +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.__xnet_sendmsg + +func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { + var ptr unsafe.Pointer + var salen _Socklen + if to != nil { + ptr, salen, err = to.sockaddr() + if err != nil { + return 0, err + } + } + var msg Msghdr + msg.Name = (*byte)(unsafe.Pointer(ptr)) + msg.Namelen = uint32(salen) + var iov Iovec + if len(p) > 0 { + iov.Base = (*int8)(unsafe.Pointer(&p[0])) + iov.SetLen(len(p)) + } + var dummy int8 + if len(oob) > 0 { + // send at least one normal byte + if len(p) == 0 { + iov.Base = &dummy + iov.SetLen(1) + } + msg.Accrightslen = int32(len(oob)) + } + msg.Iov = &iov + msg.Iovlen = 1 + if n, err = sendmsg(fd, &msg, flags); err != nil { + return 0, err + } + if len(oob) > 0 && len(p) == 0 { + n = 0 + } + return n, nil +} + +//sys acct(path *byte) (err error) + +func Acct(path string) (err error) { + if len(path) == 0 { + // Assume caller wants to disable accounting. + return acct(nil) + } + + pathp, err := BytePtrFromString(path) + if err != nil { + return err + } + return acct(pathp) +} + +//sys __makedev(version int, major uint, minor uint) (val uint64) + +func Mkdev(major, minor uint32) uint64 { + return __makedev(NEWDEV, uint(major), uint(minor)) +} + +//sys __major(version int, dev uint64) (val uint) + +func Major(dev uint64) uint32 { + return uint32(__major(NEWDEV, dev)) +} + +//sys __minor(version int, dev uint64) (val uint) + +func Minor(dev uint64) uint32 { + return uint32(__minor(NEWDEV, dev)) +} + +/* + * Expose the ioctl function + */ + +//sys ioctl(fd int, req uint, arg uintptr) (err error) + +func IoctlSetInt(fd int, req uint, value int) (err error) { + return ioctl(fd, req, uintptr(value)) +} + +func ioctlSetWinsize(fd int, req uint, value *Winsize) (err error) { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func ioctlSetTermios(fd int, req uint, value *Termios) (err error) { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func IoctlSetTermio(fd int, req uint, value *Termio) (err error) { + return ioctl(fd, req, uintptr(unsafe.Pointer(value))) +} + +func IoctlGetInt(fd int, req uint) (int, error) { + var value int + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return value, err +} + +func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { + var value Winsize + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetTermios(fd int, req uint) (*Termios, error) { + var value Termios + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +func IoctlGetTermio(fd int, req uint) (*Termio, error) { + var value Termio + err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) + return &value, err +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} + +func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + return sendfile(outfd, infd, offset, count) +} + +/* + * Exposed directly + */ +//sys Access(path string, mode uint32) (err error) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) +//sys Chdir(path string) (err error) +//sys Chmod(path string, mode uint32) (err error) +//sys Chown(path string, uid int, gid int) (err error) +//sys Chroot(path string) (err error) +//sys Close(fd int) (err error) +//sys Creat(path string, mode uint32) (fd int, err error) +//sys Dup(fd int) (nfd int, err error) +//sys Dup2(oldfd int, newfd int) (err error) +//sys Exit(code int) +//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchdir(fd int) (err error) +//sys Fchmod(fd int, mode uint32) (err error) +//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) +//sys Fdatasync(fd int) (err error) +//sys Flock(fd int, how int) (err error) +//sys Fpathconf(fd int, name int) (val int, err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +//sys Fstatvfs(fd int, vfsstat *Statvfs_t) (err error) +//sys Getdents(fd int, buf []byte, basep *uintptr) (n int, err error) +//sysnb Getgid() (gid int) +//sysnb Getpid() (pid int) +//sysnb Getpgid(pid int) (pgid int, err error) +//sysnb Getpgrp() (pgid int, err error) +//sys Geteuid() (euid int) +//sys Getegid() (egid int) +//sys Getppid() (ppid int) +//sys Getpriority(which int, who int) (n int, err error) +//sysnb Getrlimit(which int, lim *Rlimit) (err error) +//sysnb Getrusage(who int, rusage *Rusage) (err error) +//sysnb Gettimeofday(tv *Timeval) (err error) +//sysnb Getuid() (uid int) +//sys Kill(pid int, signum syscall.Signal) (err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Link(path string, link string) (err error) +//sys Listen(s int, backlog int) (err error) = libsocket.__xnet_llisten +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Madvise(b []byte, advice int) (err error) +//sys Mkdir(path string, mode uint32) (err error) +//sys Mkdirat(dirfd int, path string, mode uint32) (err error) +//sys Mkfifo(path string, mode uint32) (err error) +//sys Mkfifoat(dirfd int, path string, mode uint32) (err error) +//sys Mknod(path string, mode uint32, dev int) (err error) +//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) +//sys Mlock(b []byte) (err error) +//sys Mlockall(flags int) (err error) +//sys Mprotect(b []byte, prot int) (err error) +//sys Msync(b []byte, flags int) (err error) +//sys Munlock(b []byte) (err error) +//sys Munlockall() (err error) +//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +//sys Open(path string, mode int, perm uint32) (fd int, err error) +//sys Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) +//sys Pathconf(path string, name int) (val int, err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) +//sys read(fd int, p []byte) (n int, err error) +//sys Readlink(path string, buf []byte) (n int, err error) +//sys Rename(from string, to string) (err error) +//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +//sys Rmdir(path string) (err error) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = lseek +//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) +//sysnb Setegid(egid int) (err error) +//sysnb Seteuid(euid int) (err error) +//sysnb Setgid(gid int) (err error) +//sys Sethostname(p []byte) (err error) +//sysnb Setpgid(pid int, pgid int) (err error) +//sys Setpriority(which int, who int, prio int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sysnb Setrlimit(which int, lim *Rlimit) (err error) +//sysnb Setsid() (pid int, err error) +//sysnb Setuid(uid int) (err error) +//sys Shutdown(s int, how int) (err error) = libsocket.shutdown +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statvfs(path string, vfsstat *Statvfs_t) (err error) +//sys Symlink(path string, link string) (err error) +//sys Sync() (err error) +//sysnb Times(tms *Tms) (ticks uintptr, err error) +//sys Truncate(path string, length int64) (err error) +//sys Fsync(fd int) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sys Umask(mask int) (oldmask int) +//sysnb Uname(buf *Utsname) (err error) +//sys Unmount(target string, flags int) (err error) = libc.umount +//sys Unlink(path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) +//sys Ustat(dev int, ubuf *Ustat_t) (err error) +//sys Utime(path string, buf *Utimbuf) (err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.__xnet_bind +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.__xnet_connect +//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +//sys munmap(addr uintptr, length uintptr) (err error) +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = libsendfile.sendfile +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.__xnet_sendto +//sys socket(domain int, typ int, proto int) (fd int, err error) = libsocket.__xnet_socket +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) = libsocket.__xnet_socketpair +//sys write(fd int, p []byte) (n int, err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) = libsocket.__xnet_getsockopt +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = libsocket.getpeername +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) = libsocket.setsockopt +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) = libsocket.recvfrom + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procread)), 3, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwrite)), 3, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +var mapper = &mmapper{ + active: make(map[*byte][]byte), + mmap: mmap, + munmap: munmap, +} + +func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { + return mapper.Mmap(fd, offset, length, prot, flags) +} + +func Munmap(b []byte) (err error) { + return mapper.Munmap(b) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go new file mode 100644 index 000000000..91c32ddf0 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go @@ -0,0 +1,23 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build amd64,solaris + +package unix + +func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +} + +func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} +} + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_unix.go b/vendor/golang.org/x/sys/unix/syscall_unix.go new file mode 100644 index 000000000..33583a22b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_unix.go @@ -0,0 +1,379 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +package unix + +import ( + "bytes" + "sort" + "sync" + "syscall" + "unsafe" +) + +var ( + Stdin = 0 + Stdout = 1 + Stderr = 2 +) + +// Do the interface allocations only once for common +// Errno values. +var ( + errEAGAIN error = syscall.EAGAIN + errEINVAL error = syscall.EINVAL + errENOENT error = syscall.ENOENT +) + +// errnoErr returns common boxed Errno values, to prevent +// allocations at runtime. +func errnoErr(e syscall.Errno) error { + switch e { + case 0: + return nil + case EAGAIN: + return errEAGAIN + case EINVAL: + return errEINVAL + case ENOENT: + return errENOENT + } + return e +} + +// ErrnoName returns the error name for error number e. +func ErrnoName(e syscall.Errno) string { + i := sort.Search(len(errorList), func(i int) bool { + return errorList[i].num >= e + }) + if i < len(errorList) && errorList[i].num == e { + return errorList[i].name + } + return "" +} + +// SignalName returns the signal name for signal number s. +func SignalName(s syscall.Signal) string { + i := sort.Search(len(signalList), func(i int) bool { + return signalList[i].num >= s + }) + if i < len(signalList) && signalList[i].num == s { + return signalList[i].name + } + return "" +} + +// clen returns the index of the first NULL byte in n or len(n) if n contains no NULL byte. +func clen(n []byte) int { + i := bytes.IndexByte(n, 0) + if i == -1 { + i = len(n) + } + return i +} + +// Mmap manager, for use by operating system-specific implementations. + +type mmapper struct { + sync.Mutex + active map[*byte][]byte // active mappings; key is last byte in mapping + mmap func(addr, length uintptr, prot, flags, fd int, offset int64) (uintptr, error) + munmap func(addr uintptr, length uintptr) error +} + +func (m *mmapper) Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { + if length <= 0 { + return nil, EINVAL + } + + // Map the requested memory. + addr, errno := m.mmap(0, uintptr(length), prot, flags, fd, offset) + if errno != nil { + return nil, errno + } + + // Slice memory layout + var sl = struct { + addr uintptr + len int + cap int + }{addr, length, length} + + // Use unsafe to turn sl into a []byte. + b := *(*[]byte)(unsafe.Pointer(&sl)) + + // Register mapping in m and return it. + p := &b[cap(b)-1] + m.Lock() + defer m.Unlock() + m.active[p] = b + return b, nil +} + +func (m *mmapper) Munmap(data []byte) (err error) { + if len(data) == 0 || len(data) != cap(data) { + return EINVAL + } + + // Find the base of the mapping. + p := &data[cap(data)-1] + m.Lock() + defer m.Unlock() + b := m.active[p] + if b == nil || &b[0] != &data[0] { + return EINVAL + } + + // Unmap the memory and update m. + if errno := m.munmap(uintptr(unsafe.Pointer(&b[0])), uintptr(len(b))); errno != nil { + return errno + } + delete(m.active, p) + return nil +} + +func Read(fd int, p []byte) (n int, err error) { + n, err = read(fd, p) + if raceenabled { + if n > 0 { + raceWriteRange(unsafe.Pointer(&p[0]), n) + } + if err == nil { + raceAcquire(unsafe.Pointer(&ioSync)) + } + } + return +} + +func Write(fd int, p []byte) (n int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + n, err = write(fd, p) + if raceenabled && n > 0 { + raceReadRange(unsafe.Pointer(&p[0]), n) + } + return +} + +// For testing: clients can set this flag to force +// creation of IPv6 sockets to return EAFNOSUPPORT. +var SocketDisableIPv6 bool + +// Sockaddr represents a socket address. +type Sockaddr interface { + sockaddr() (ptr unsafe.Pointer, len _Socklen, err error) // lowercase; only we can define Sockaddrs +} + +// SockaddrInet4 implements the Sockaddr interface for AF_INET type sockets. +type SockaddrInet4 struct { + Port int + Addr [4]byte + raw RawSockaddrInet4 +} + +// SockaddrInet6 implements the Sockaddr interface for AF_INET6 type sockets. +type SockaddrInet6 struct { + Port int + ZoneId uint32 + Addr [16]byte + raw RawSockaddrInet6 +} + +// SockaddrUnix implements the Sockaddr interface for AF_UNIX type sockets. +type SockaddrUnix struct { + Name string + raw RawSockaddrUnix +} + +func Bind(fd int, sa Sockaddr) (err error) { + ptr, n, err := sa.sockaddr() + if err != nil { + return err + } + return bind(fd, ptr, n) +} + +func Connect(fd int, sa Sockaddr) (err error) { + ptr, n, err := sa.sockaddr() + if err != nil { + return err + } + return connect(fd, ptr, n) +} + +func Getpeername(fd int) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if err = getpeername(fd, &rsa, &len); err != nil { + return + } + return anyToSockaddr(fd, &rsa) +} + +func GetsockoptByte(fd, level, opt int) (value byte, err error) { + var n byte + vallen := _Socklen(1) + err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) + return n, err +} + +func GetsockoptInt(fd, level, opt int) (value int, err error) { + var n int32 + vallen := _Socklen(4) + err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) + return int(n), err +} + +func GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error) { + vallen := _Socklen(4) + err = getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen) + return value, err +} + +func GetsockoptIPMreq(fd, level, opt int) (*IPMreq, error) { + var value IPMreq + vallen := _Socklen(SizeofIPMreq) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error) { + var value IPv6Mreq + vallen := _Socklen(SizeofIPv6Mreq) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) { + var value IPv6MTUInfo + vallen := _Socklen(SizeofIPv6MTUInfo) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error) { + var value ICMPv6Filter + vallen := _Socklen(SizeofICMPv6Filter) + err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) + return &value, err +} + +func GetsockoptLinger(fd, level, opt int) (*Linger, error) { + var linger Linger + vallen := _Socklen(SizeofLinger) + err := getsockopt(fd, level, opt, unsafe.Pointer(&linger), &vallen) + return &linger, err +} + +func GetsockoptTimeval(fd, level, opt int) (*Timeval, error) { + var tv Timeval + vallen := _Socklen(unsafe.Sizeof(tv)) + err := getsockopt(fd, level, opt, unsafe.Pointer(&tv), &vallen) + return &tv, err +} + +func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if n, err = recvfrom(fd, p, flags, &rsa, &len); err != nil { + return + } + if rsa.Addr.Family != AF_UNSPEC { + from, err = anyToSockaddr(fd, &rsa) + } + return +} + +func Sendto(fd int, p []byte, flags int, to Sockaddr) (err error) { + ptr, n, err := to.sockaddr() + if err != nil { + return err + } + return sendto(fd, p, flags, ptr, n) +} + +func SetsockoptByte(fd, level, opt int, value byte) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(&value), 1) +} + +func SetsockoptInt(fd, level, opt int, value int) (err error) { + var n = int32(value) + return setsockopt(fd, level, opt, unsafe.Pointer(&n), 4) +} + +func SetsockoptInet4Addr(fd, level, opt int, value [4]byte) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(&value[0]), 4) +} + +func SetsockoptIPMreq(fd, level, opt int, mreq *IPMreq) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPMreq) +} + +func SetsockoptIPv6Mreq(fd, level, opt int, mreq *IPv6Mreq) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPv6Mreq) +} + +func SetsockoptICMPv6Filter(fd, level, opt int, filter *ICMPv6Filter) error { + return setsockopt(fd, level, opt, unsafe.Pointer(filter), SizeofICMPv6Filter) +} + +func SetsockoptLinger(fd, level, opt int, l *Linger) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(l), SizeofLinger) +} + +func SetsockoptString(fd, level, opt int, s string) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(&[]byte(s)[0]), uintptr(len(s))) +} + +func SetsockoptTimeval(fd, level, opt int, tv *Timeval) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(tv), unsafe.Sizeof(*tv)) +} + +func Socket(domain, typ, proto int) (fd int, err error) { + if domain == AF_INET6 && SocketDisableIPv6 { + return -1, EAFNOSUPPORT + } + fd, err = socket(domain, typ, proto) + return +} + +func Socketpair(domain, typ, proto int) (fd [2]int, err error) { + var fdx [2]int32 + err = socketpair(domain, typ, proto, &fdx) + if err == nil { + fd[0] = int(fdx[0]) + fd[1] = int(fdx[1]) + } + return +} + +var ioSync int64 + +func CloseOnExec(fd int) { fcntl(fd, F_SETFD, FD_CLOEXEC) } + +func SetNonblock(fd int, nonblocking bool) (err error) { + flag, err := fcntl(fd, F_GETFL, 0) + if err != nil { + return err + } + if nonblocking { + flag |= O_NONBLOCK + } else { + flag &= ^O_NONBLOCK + } + _, err = fcntl(fd, F_SETFL, flag) + return err +} + +// Exec calls execve(2), which replaces the calling executable in the process +// tree. argv0 should be the full path to an executable ("/bin/ls") and the +// executable name should also be the first argument in argv (["ls", "-l"]). +// envv are the environment variables that should be passed to the new +// process (["USER=go", "PWD=/tmp"]). +func Exec(argv0 string, argv []string, envv []string) error { + return syscall.Exec(argv0, argv, envv) +} diff --git a/vendor/golang.org/x/sys/unix/syscall_unix_gc.go b/vendor/golang.org/x/sys/unix/syscall_unix_gc.go new file mode 100644 index 000000000..1c70d1b69 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_unix_gc.go @@ -0,0 +1,15 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build darwin dragonfly freebsd linux netbsd openbsd solaris +// +build !gccgo,!ppc64le,!ppc64 + +package unix + +import "syscall" + +func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) +func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) +func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) +func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) diff --git a/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go b/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go new file mode 100644 index 000000000..86dc765ab --- /dev/null +++ b/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go @@ -0,0 +1,24 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build linux +// +build ppc64le ppc64 +// +build !gccgo + +package unix + +import "syscall" + +func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { + return syscall.Syscall(trap, a1, a2, a3) +} +func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { + return syscall.Syscall6(trap, a1, a2, a3, a4, a5, a6) +} +func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { + return syscall.RawSyscall(trap, a1, a2, a3) +} +func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { + return syscall.RawSyscall6(trap, a1, a2, a3, a4, a5, a6) +} diff --git a/vendor/golang.org/x/sys/unix/timestruct.go b/vendor/golang.org/x/sys/unix/timestruct.go new file mode 100644 index 000000000..4a672f569 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/timestruct.go @@ -0,0 +1,82 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +package unix + +import "time" + +// TimespecToNsec converts a Timespec value into a number of +// nanoseconds since the Unix epoch. +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +// NsecToTimespec takes a number of nanoseconds since the Unix epoch +// and returns the corresponding Timespec value. +func NsecToTimespec(nsec int64) Timespec { + sec := nsec / 1e9 + nsec = nsec % 1e9 + if nsec < 0 { + nsec += 1e9 + sec-- + } + return setTimespec(sec, nsec) +} + +// TimeToTimespec converts t into a Timespec. +// On some 32-bit systems the range of valid Timespec values are smaller +// than that of time.Time values. So if t is out of the valid range of +// Timespec, it returns a zero Timespec and ERANGE. +func TimeToTimespec(t time.Time) (Timespec, error) { + sec := t.Unix() + nsec := int64(t.Nanosecond()) + ts := setTimespec(sec, nsec) + + // Currently all targets have either int32 or int64 for Timespec.Sec. + // If there were a new target with floating point type for it, we have + // to consider the rounding error. + if int64(ts.Sec) != sec { + return Timespec{}, ERANGE + } + return ts, nil +} + +// TimevalToNsec converts a Timeval value into a number of nanoseconds +// since the Unix epoch. +func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 } + +// NsecToTimeval takes a number of nanoseconds since the Unix epoch +// and returns the corresponding Timeval value. +func NsecToTimeval(nsec int64) Timeval { + nsec += 999 // round up to microsecond + usec := nsec % 1e9 / 1e3 + sec := nsec / 1e9 + if usec < 0 { + usec += 1e6 + sec-- + } + return setTimeval(sec, usec) +} + +// Unix returns ts as the number of seconds and nanoseconds elapsed since the +// Unix epoch. +func (ts *Timespec) Unix() (sec int64, nsec int64) { + return int64(ts.Sec), int64(ts.Nsec) +} + +// Unix returns tv as the number of seconds and nanoseconds elapsed since the +// Unix epoch. +func (tv *Timeval) Unix() (sec int64, nsec int64) { + return int64(tv.Sec), int64(tv.Usec) * 1000 +} + +// Nano returns ts as the number of nanoseconds elapsed since the Unix epoch. +func (ts *Timespec) Nano() int64 { + return int64(ts.Sec)*1e9 + int64(ts.Nsec) +} + +// Nano returns tv as the number of nanoseconds elapsed since the Unix epoch. +func (tv *Timeval) Nano() int64 { + return int64(tv.Sec)*1e9 + int64(tv.Usec)*1000 +} diff --git a/vendor/golang.org/x/sys/unix/types_aix.go b/vendor/golang.org/x/sys/unix/types_aix.go new file mode 100644 index 000000000..25e834940 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/types_aix.go @@ -0,0 +1,236 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore +// +build aix + +/* +Input to cgo -godefs. See also mkerrors.sh and mkall.sh +*/ + +// +godefs map struct_in_addr [4]byte /* in_addr */ +// +godefs map struct_in6_addr [16]byte /* in6_addr */ + +package unix + +/* +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include +#include +#include + + +#include +#include + +enum { + sizeofPtr = sizeof(void*), +}; + +union sockaddr_all { + struct sockaddr s1; // this one gets used for fields + struct sockaddr_in s2; // these pad it out + struct sockaddr_in6 s3; + struct sockaddr_un s4; + struct sockaddr_dl s5; +}; + +struct sockaddr_any { + struct sockaddr addr; + char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; +}; + +*/ +import "C" + +// Machine characteristics + +const ( + SizeofPtr = C.sizeofPtr + SizeofShort = C.sizeof_short + SizeofInt = C.sizeof_int + SizeofLong = C.sizeof_long + SizeofLongLong = C.sizeof_longlong + PathMax = C.PATH_MAX +) + +// Basic types + +type ( + _C_short C.short + _C_int C.int + _C_long C.long + _C_long_long C.longlong +) + +type off64 C.off64_t +type off C.off_t +type Mode_t C.mode_t + +// Time + +type Timespec C.struct_timespec + +type StTimespec C.struct_st_timespec + +type Timeval C.struct_timeval + +type Timeval32 C.struct_timeval32 + +type Timex C.struct_timex + +type Time_t C.time_t + +type Tms C.struct_tms + +type Utimbuf C.struct_utimbuf + +type Timezone C.struct_timezone + +// Processes + +type Rusage C.struct_rusage + +type Rlimit C.struct_rlimit64 + +type Pid_t C.pid_t + +type _Gid_t C.gid_t + +type dev_t C.dev_t + +// Files + +type Stat_t C.struct_stat + +type StatxTimestamp C.struct_statx_timestamp + +type Statx_t C.struct_statx + +type Dirent C.struct_dirent + +// Sockets + +type RawSockaddrInet4 C.struct_sockaddr_in + +type RawSockaddrInet6 C.struct_sockaddr_in6 + +type RawSockaddrUnix C.struct_sockaddr_un + +type RawSockaddr C.struct_sockaddr + +type RawSockaddrAny C.struct_sockaddr_any + +type _Socklen C.socklen_t + +type Cmsghdr C.struct_cmsghdr + +type ICMPv6Filter C.struct_icmp6_filter + +type Iovec C.struct_iovec + +type IPMreq C.struct_ip_mreq + +type IPv6Mreq C.struct_ipv6_mreq + +type IPv6MTUInfo C.struct_ip6_mtuinfo + +type Linger C.struct_linger + +type Msghdr C.struct_msghdr + +const ( + SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in + SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 + SizeofSockaddrAny = C.sizeof_struct_sockaddr_any + SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un + SizeofLinger = C.sizeof_struct_linger + SizeofIPMreq = C.sizeof_struct_ip_mreq + SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq + SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo + SizeofMsghdr = C.sizeof_struct_msghdr + SizeofCmsghdr = C.sizeof_struct_cmsghdr + SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter +) + +// Routing and interface messages + +const ( + SizeofIfMsghdr = C.sizeof_struct_if_msghdr +) + +type IfMsgHdr C.struct_if_msghdr + +// Misc + +type FdSet C.fd_set + +type Utsname C.struct_utsname + +type Ustat_t C.struct_ustat + +type Sigset_t C.sigset_t + +const ( + AT_FDCWD = C.AT_FDCWD + AT_REMOVEDIR = C.AT_REMOVEDIR + AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW +) + +// Terminal handling + +type Termios C.struct_termios + +type Termio C.struct_termio + +type Winsize C.struct_winsize + +//poll + +type PollFd struct { + Fd int32 + Events uint16 + Revents uint16 +} + +const ( + POLLERR = C.POLLERR + POLLHUP = C.POLLHUP + POLLIN = C.POLLIN + POLLNVAL = C.POLLNVAL + POLLOUT = C.POLLOUT + POLLPRI = C.POLLPRI + POLLRDBAND = C.POLLRDBAND + POLLRDNORM = C.POLLRDNORM + POLLWRBAND = C.POLLWRBAND + POLLWRNORM = C.POLLWRNORM +) + +//flock_t + +type Flock_t C.struct_flock64 + +// Statfs + +type Fsid_t C.struct_fsid_t +type Fsid64_t C.struct_fsid64_t + +type Statfs_t C.struct_statfs + +const RNDGETENTCNT = 0x80045200 diff --git a/vendor/golang.org/x/sys/unix/types_darwin.go b/vendor/golang.org/x/sys/unix/types_darwin.go new file mode 100644 index 000000000..9fd2aaa6a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/types_darwin.go @@ -0,0 +1,277 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +/* +Input to cgo -godefs. See README.md +*/ + +// +godefs map struct_in_addr [4]byte /* in_addr */ +// +godefs map struct_in6_addr [16]byte /* in6_addr */ + +package unix + +/* +#define __DARWIN_UNIX03 0 +#define KERNEL +#define _DARWIN_USE_64_BIT_INODE +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +enum { + sizeofPtr = sizeof(void*), +}; + +union sockaddr_all { + struct sockaddr s1; // this one gets used for fields + struct sockaddr_in s2; // these pad it out + struct sockaddr_in6 s3; + struct sockaddr_un s4; + struct sockaddr_dl s5; +}; + +struct sockaddr_any { + struct sockaddr addr; + char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; +}; + +*/ +import "C" + +// Machine characteristics + +const ( + SizeofPtr = C.sizeofPtr + SizeofShort = C.sizeof_short + SizeofInt = C.sizeof_int + SizeofLong = C.sizeof_long + SizeofLongLong = C.sizeof_longlong +) + +// Basic types + +type ( + _C_short C.short + _C_int C.int + _C_long C.long + _C_long_long C.longlong +) + +// Time + +type Timespec C.struct_timespec + +type Timeval C.struct_timeval + +type Timeval32 C.struct_timeval32 + +// Processes + +type Rusage C.struct_rusage + +type Rlimit C.struct_rlimit + +type _Gid_t C.gid_t + +// Files + +type Stat_t C.struct_stat64 + +type Statfs_t C.struct_statfs64 + +type Flock_t C.struct_flock + +type Fstore_t C.struct_fstore + +type Radvisory_t C.struct_radvisory + +type Fbootstraptransfer_t C.struct_fbootstraptransfer + +type Log2phys_t C.struct_log2phys + +type Fsid C.struct_fsid + +type Dirent C.struct_dirent + +// Sockets + +type RawSockaddrInet4 C.struct_sockaddr_in + +type RawSockaddrInet6 C.struct_sockaddr_in6 + +type RawSockaddrUnix C.struct_sockaddr_un + +type RawSockaddrDatalink C.struct_sockaddr_dl + +type RawSockaddr C.struct_sockaddr + +type RawSockaddrAny C.struct_sockaddr_any + +type _Socklen C.socklen_t + +type Linger C.struct_linger + +type Iovec C.struct_iovec + +type IPMreq C.struct_ip_mreq + +type IPv6Mreq C.struct_ipv6_mreq + +type Msghdr C.struct_msghdr + +type Cmsghdr C.struct_cmsghdr + +type Inet4Pktinfo C.struct_in_pktinfo + +type Inet6Pktinfo C.struct_in6_pktinfo + +type IPv6MTUInfo C.struct_ip6_mtuinfo + +type ICMPv6Filter C.struct_icmp6_filter + +const ( + SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in + SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 + SizeofSockaddrAny = C.sizeof_struct_sockaddr_any + SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un + SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl + SizeofLinger = C.sizeof_struct_linger + SizeofIPMreq = C.sizeof_struct_ip_mreq + SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq + SizeofMsghdr = C.sizeof_struct_msghdr + SizeofCmsghdr = C.sizeof_struct_cmsghdr + SizeofInet4Pktinfo = C.sizeof_struct_in_pktinfo + SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo + SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo + SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter +) + +// Ptrace requests + +const ( + PTRACE_TRACEME = C.PT_TRACE_ME + PTRACE_CONT = C.PT_CONTINUE + PTRACE_KILL = C.PT_KILL +) + +// Events (kqueue, kevent) + +type Kevent_t C.struct_kevent + +// Select + +type FdSet C.fd_set + +// Routing and interface messages + +const ( + SizeofIfMsghdr = C.sizeof_struct_if_msghdr + SizeofIfData = C.sizeof_struct_if_data + SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr + SizeofIfmaMsghdr = C.sizeof_struct_ifma_msghdr + SizeofIfmaMsghdr2 = C.sizeof_struct_ifma_msghdr2 + SizeofRtMsghdr = C.sizeof_struct_rt_msghdr + SizeofRtMetrics = C.sizeof_struct_rt_metrics +) + +type IfMsghdr C.struct_if_msghdr + +type IfData C.struct_if_data + +type IfaMsghdr C.struct_ifa_msghdr + +type IfmaMsghdr C.struct_ifma_msghdr + +type IfmaMsghdr2 C.struct_ifma_msghdr2 + +type RtMsghdr C.struct_rt_msghdr + +type RtMetrics C.struct_rt_metrics + +// Berkeley packet filter + +const ( + SizeofBpfVersion = C.sizeof_struct_bpf_version + SizeofBpfStat = C.sizeof_struct_bpf_stat + SizeofBpfProgram = C.sizeof_struct_bpf_program + SizeofBpfInsn = C.sizeof_struct_bpf_insn + SizeofBpfHdr = C.sizeof_struct_bpf_hdr +) + +type BpfVersion C.struct_bpf_version + +type BpfStat C.struct_bpf_stat + +type BpfProgram C.struct_bpf_program + +type BpfInsn C.struct_bpf_insn + +type BpfHdr C.struct_bpf_hdr + +// Terminal handling + +type Termios C.struct_termios + +type Winsize C.struct_winsize + +// fchmodat-like syscalls. + +const ( + AT_FDCWD = C.AT_FDCWD + AT_REMOVEDIR = C.AT_REMOVEDIR + AT_SYMLINK_FOLLOW = C.AT_SYMLINK_FOLLOW + AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW +) + +// poll + +type PollFd C.struct_pollfd + +const ( + POLLERR = C.POLLERR + POLLHUP = C.POLLHUP + POLLIN = C.POLLIN + POLLNVAL = C.POLLNVAL + POLLOUT = C.POLLOUT + POLLPRI = C.POLLPRI + POLLRDBAND = C.POLLRDBAND + POLLRDNORM = C.POLLRDNORM + POLLWRBAND = C.POLLWRBAND + POLLWRNORM = C.POLLWRNORM +) + +// uname + +type Utsname C.struct_utsname diff --git a/vendor/golang.org/x/sys/unix/types_dragonfly.go b/vendor/golang.org/x/sys/unix/types_dragonfly.go new file mode 100644 index 000000000..3365dd79d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/types_dragonfly.go @@ -0,0 +1,263 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +/* +Input to cgo -godefs. See README.md +*/ + +// +godefs map struct_in_addr [4]byte /* in_addr */ +// +godefs map struct_in6_addr [16]byte /* in6_addr */ + +package unix + +/* +#define KERNEL +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +enum { + sizeofPtr = sizeof(void*), +}; + +union sockaddr_all { + struct sockaddr s1; // this one gets used for fields + struct sockaddr_in s2; // these pad it out + struct sockaddr_in6 s3; + struct sockaddr_un s4; + struct sockaddr_dl s5; +}; + +struct sockaddr_any { + struct sockaddr addr; + char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; +}; + +*/ +import "C" + +// Machine characteristics + +const ( + SizeofPtr = C.sizeofPtr + SizeofShort = C.sizeof_short + SizeofInt = C.sizeof_int + SizeofLong = C.sizeof_long + SizeofLongLong = C.sizeof_longlong +) + +// Basic types + +type ( + _C_short C.short + _C_int C.int + _C_long C.long + _C_long_long C.longlong +) + +// Time + +type Timespec C.struct_timespec + +type Timeval C.struct_timeval + +// Processes + +type Rusage C.struct_rusage + +type Rlimit C.struct_rlimit + +type _Gid_t C.gid_t + +// Files + +type Stat_t C.struct_stat + +type Statfs_t C.struct_statfs + +type Flock_t C.struct_flock + +type Dirent C.struct_dirent + +type Fsid C.struct_fsid + +// File system limits + +const ( + PathMax = C.PATH_MAX +) + +// Sockets + +type RawSockaddrInet4 C.struct_sockaddr_in + +type RawSockaddrInet6 C.struct_sockaddr_in6 + +type RawSockaddrUnix C.struct_sockaddr_un + +type RawSockaddrDatalink C.struct_sockaddr_dl + +type RawSockaddr C.struct_sockaddr + +type RawSockaddrAny C.struct_sockaddr_any + +type _Socklen C.socklen_t + +type Linger C.struct_linger + +type Iovec C.struct_iovec + +type IPMreq C.struct_ip_mreq + +type IPv6Mreq C.struct_ipv6_mreq + +type Msghdr C.struct_msghdr + +type Cmsghdr C.struct_cmsghdr + +type Inet6Pktinfo C.struct_in6_pktinfo + +type IPv6MTUInfo C.struct_ip6_mtuinfo + +type ICMPv6Filter C.struct_icmp6_filter + +const ( + SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in + SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 + SizeofSockaddrAny = C.sizeof_struct_sockaddr_any + SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un + SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl + SizeofLinger = C.sizeof_struct_linger + SizeofIPMreq = C.sizeof_struct_ip_mreq + SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq + SizeofMsghdr = C.sizeof_struct_msghdr + SizeofCmsghdr = C.sizeof_struct_cmsghdr + SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo + SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo + SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter +) + +// Ptrace requests + +const ( + PTRACE_TRACEME = C.PT_TRACE_ME + PTRACE_CONT = C.PT_CONTINUE + PTRACE_KILL = C.PT_KILL +) + +// Events (kqueue, kevent) + +type Kevent_t C.struct_kevent + +// Select + +type FdSet C.fd_set + +// Routing and interface messages + +const ( + SizeofIfMsghdr = C.sizeof_struct_if_msghdr + SizeofIfData = C.sizeof_struct_if_data + SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr + SizeofIfmaMsghdr = C.sizeof_struct_ifma_msghdr + SizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr + SizeofRtMsghdr = C.sizeof_struct_rt_msghdr + SizeofRtMetrics = C.sizeof_struct_rt_metrics +) + +type IfMsghdr C.struct_if_msghdr + +type IfData C.struct_if_data + +type IfaMsghdr C.struct_ifa_msghdr + +type IfmaMsghdr C.struct_ifma_msghdr + +type IfAnnounceMsghdr C.struct_if_announcemsghdr + +type RtMsghdr C.struct_rt_msghdr + +type RtMetrics C.struct_rt_metrics + +// Berkeley packet filter + +const ( + SizeofBpfVersion = C.sizeof_struct_bpf_version + SizeofBpfStat = C.sizeof_struct_bpf_stat + SizeofBpfProgram = C.sizeof_struct_bpf_program + SizeofBpfInsn = C.sizeof_struct_bpf_insn + SizeofBpfHdr = C.sizeof_struct_bpf_hdr +) + +type BpfVersion C.struct_bpf_version + +type BpfStat C.struct_bpf_stat + +type BpfProgram C.struct_bpf_program + +type BpfInsn C.struct_bpf_insn + +type BpfHdr C.struct_bpf_hdr + +// Terminal handling + +type Termios C.struct_termios + +type Winsize C.struct_winsize + +// fchmodat-like syscalls. + +const ( + AT_FDCWD = C.AT_FDCWD + AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW +) + +// poll + +type PollFd C.struct_pollfd + +const ( + POLLERR = C.POLLERR + POLLHUP = C.POLLHUP + POLLIN = C.POLLIN + POLLNVAL = C.POLLNVAL + POLLOUT = C.POLLOUT + POLLPRI = C.POLLPRI + POLLRDBAND = C.POLLRDBAND + POLLRDNORM = C.POLLRDNORM + POLLWRBAND = C.POLLWRBAND + POLLWRNORM = C.POLLWRNORM +) + +// Uname + +type Utsname C.struct_utsname diff --git a/vendor/golang.org/x/sys/unix/types_freebsd.go b/vendor/golang.org/x/sys/unix/types_freebsd.go new file mode 100644 index 000000000..747079895 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/types_freebsd.go @@ -0,0 +1,356 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +/* +Input to cgo -godefs. See README.md +*/ + +// +godefs map struct_in_addr [4]byte /* in_addr */ +// +godefs map struct_in6_addr [16]byte /* in6_addr */ + +package unix + +/* +#define _WANT_FREEBSD11_STAT 1 +#define _WANT_FREEBSD11_STATFS 1 +#define _WANT_FREEBSD11_DIRENT 1 +#define _WANT_FREEBSD11_KEVENT 1 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +enum { + sizeofPtr = sizeof(void*), +}; + +union sockaddr_all { + struct sockaddr s1; // this one gets used for fields + struct sockaddr_in s2; // these pad it out + struct sockaddr_in6 s3; + struct sockaddr_un s4; + struct sockaddr_dl s5; +}; + +struct sockaddr_any { + struct sockaddr addr; + char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; +}; + +// This structure is a duplicate of if_data on FreeBSD 8-STABLE. +// See /usr/include/net/if.h. +struct if_data8 { + u_char ifi_type; + u_char ifi_physical; + u_char ifi_addrlen; + u_char ifi_hdrlen; + u_char ifi_link_state; + u_char ifi_spare_char1; + u_char ifi_spare_char2; + u_char ifi_datalen; + u_long ifi_mtu; + u_long ifi_metric; + u_long ifi_baudrate; + u_long ifi_ipackets; + u_long ifi_ierrors; + u_long ifi_opackets; + u_long ifi_oerrors; + u_long ifi_collisions; + u_long ifi_ibytes; + u_long ifi_obytes; + u_long ifi_imcasts; + u_long ifi_omcasts; + u_long ifi_iqdrops; + u_long ifi_noproto; + u_long ifi_hwassist; +// FIXME: these are now unions, so maybe need to change definitions? +#undef ifi_epoch + time_t ifi_epoch; +#undef ifi_lastchange + struct timeval ifi_lastchange; +}; + +// This structure is a duplicate of if_msghdr on FreeBSD 8-STABLE. +// See /usr/include/net/if.h. +struct if_msghdr8 { + u_short ifm_msglen; + u_char ifm_version; + u_char ifm_type; + int ifm_addrs; + int ifm_flags; + u_short ifm_index; + struct if_data8 ifm_data; +}; +*/ +import "C" + +// Machine characteristics + +const ( + SizeofPtr = C.sizeofPtr + SizeofShort = C.sizeof_short + SizeofInt = C.sizeof_int + SizeofLong = C.sizeof_long + SizeofLongLong = C.sizeof_longlong +) + +// Basic types + +type ( + _C_short C.short + _C_int C.int + _C_long C.long + _C_long_long C.longlong +) + +// Time + +type Timespec C.struct_timespec + +type Timeval C.struct_timeval + +// Processes + +type Rusage C.struct_rusage + +type Rlimit C.struct_rlimit + +type _Gid_t C.gid_t + +// Files + +const ( + _statfsVersion = C.STATFS_VERSION + _dirblksiz = C.DIRBLKSIZ +) + +type Stat_t C.struct_stat + +type stat_freebsd11_t C.struct_freebsd11_stat + +type Statfs_t C.struct_statfs + +type statfs_freebsd11_t C.struct_freebsd11_statfs + +type Flock_t C.struct_flock + +type Dirent C.struct_dirent + +type dirent_freebsd11 C.struct_freebsd11_dirent + +type Fsid C.struct_fsid + +// File system limits + +const ( + PathMax = C.PATH_MAX +) + +// Advice to Fadvise + +const ( + FADV_NORMAL = C.POSIX_FADV_NORMAL + FADV_RANDOM = C.POSIX_FADV_RANDOM + FADV_SEQUENTIAL = C.POSIX_FADV_SEQUENTIAL + FADV_WILLNEED = C.POSIX_FADV_WILLNEED + FADV_DONTNEED = C.POSIX_FADV_DONTNEED + FADV_NOREUSE = C.POSIX_FADV_NOREUSE +) + +// Sockets + +type RawSockaddrInet4 C.struct_sockaddr_in + +type RawSockaddrInet6 C.struct_sockaddr_in6 + +type RawSockaddrUnix C.struct_sockaddr_un + +type RawSockaddrDatalink C.struct_sockaddr_dl + +type RawSockaddr C.struct_sockaddr + +type RawSockaddrAny C.struct_sockaddr_any + +type _Socklen C.socklen_t + +type Linger C.struct_linger + +type Iovec C.struct_iovec + +type IPMreq C.struct_ip_mreq + +type IPMreqn C.struct_ip_mreqn + +type IPv6Mreq C.struct_ipv6_mreq + +type Msghdr C.struct_msghdr + +type Cmsghdr C.struct_cmsghdr + +type Inet6Pktinfo C.struct_in6_pktinfo + +type IPv6MTUInfo C.struct_ip6_mtuinfo + +type ICMPv6Filter C.struct_icmp6_filter + +const ( + SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in + SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 + SizeofSockaddrAny = C.sizeof_struct_sockaddr_any + SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un + SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl + SizeofLinger = C.sizeof_struct_linger + SizeofIPMreq = C.sizeof_struct_ip_mreq + SizeofIPMreqn = C.sizeof_struct_ip_mreqn + SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq + SizeofMsghdr = C.sizeof_struct_msghdr + SizeofCmsghdr = C.sizeof_struct_cmsghdr + SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo + SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo + SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter +) + +// Ptrace requests + +const ( + PTRACE_TRACEME = C.PT_TRACE_ME + PTRACE_CONT = C.PT_CONTINUE + PTRACE_KILL = C.PT_KILL +) + +// Events (kqueue, kevent) + +type Kevent_t C.struct_kevent_freebsd11 + +// Select + +type FdSet C.fd_set + +// Routing and interface messages + +const ( + sizeofIfMsghdr = C.sizeof_struct_if_msghdr + SizeofIfMsghdr = C.sizeof_struct_if_msghdr8 + sizeofIfData = C.sizeof_struct_if_data + SizeofIfData = C.sizeof_struct_if_data8 + SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr + SizeofIfmaMsghdr = C.sizeof_struct_ifma_msghdr + SizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr + SizeofRtMsghdr = C.sizeof_struct_rt_msghdr + SizeofRtMetrics = C.sizeof_struct_rt_metrics +) + +type ifMsghdr C.struct_if_msghdr + +type IfMsghdr C.struct_if_msghdr8 + +type ifData C.struct_if_data + +type IfData C.struct_if_data8 + +type IfaMsghdr C.struct_ifa_msghdr + +type IfmaMsghdr C.struct_ifma_msghdr + +type IfAnnounceMsghdr C.struct_if_announcemsghdr + +type RtMsghdr C.struct_rt_msghdr + +type RtMetrics C.struct_rt_metrics + +// Berkeley packet filter + +const ( + SizeofBpfVersion = C.sizeof_struct_bpf_version + SizeofBpfStat = C.sizeof_struct_bpf_stat + SizeofBpfZbuf = C.sizeof_struct_bpf_zbuf + SizeofBpfProgram = C.sizeof_struct_bpf_program + SizeofBpfInsn = C.sizeof_struct_bpf_insn + SizeofBpfHdr = C.sizeof_struct_bpf_hdr + SizeofBpfZbufHeader = C.sizeof_struct_bpf_zbuf_header +) + +type BpfVersion C.struct_bpf_version + +type BpfStat C.struct_bpf_stat + +type BpfZbuf C.struct_bpf_zbuf + +type BpfProgram C.struct_bpf_program + +type BpfInsn C.struct_bpf_insn + +type BpfHdr C.struct_bpf_hdr + +type BpfZbufHeader C.struct_bpf_zbuf_header + +// Terminal handling + +type Termios C.struct_termios + +type Winsize C.struct_winsize + +// fchmodat-like syscalls. + +const ( + AT_FDCWD = C.AT_FDCWD + AT_REMOVEDIR = C.AT_REMOVEDIR + AT_SYMLINK_FOLLOW = C.AT_SYMLINK_FOLLOW + AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW +) + +// poll + +type PollFd C.struct_pollfd + +const ( + POLLERR = C.POLLERR + POLLHUP = C.POLLHUP + POLLIN = C.POLLIN + POLLINIGNEOF = C.POLLINIGNEOF + POLLNVAL = C.POLLNVAL + POLLOUT = C.POLLOUT + POLLPRI = C.POLLPRI + POLLRDBAND = C.POLLRDBAND + POLLRDNORM = C.POLLRDNORM + POLLWRBAND = C.POLLWRBAND + POLLWRNORM = C.POLLWRNORM +) + +// Capabilities + +type CapRights C.struct_cap_rights + +// Uname + +type Utsname C.struct_utsname diff --git a/vendor/golang.org/x/sys/unix/types_netbsd.go b/vendor/golang.org/x/sys/unix/types_netbsd.go new file mode 100644 index 000000000..2dd4f9542 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/types_netbsd.go @@ -0,0 +1,289 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +/* +Input to cgo -godefs. See README.md +*/ + +// +godefs map struct_in_addr [4]byte /* in_addr */ +// +godefs map struct_in6_addr [16]byte /* in6_addr */ + +package unix + +/* +#define KERNEL +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +enum { + sizeofPtr = sizeof(void*), +}; + +union sockaddr_all { + struct sockaddr s1; // this one gets used for fields + struct sockaddr_in s2; // these pad it out + struct sockaddr_in6 s3; + struct sockaddr_un s4; + struct sockaddr_dl s5; +}; + +struct sockaddr_any { + struct sockaddr addr; + char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; +}; + +*/ +import "C" + +// Machine characteristics + +const ( + SizeofPtr = C.sizeofPtr + SizeofShort = C.sizeof_short + SizeofInt = C.sizeof_int + SizeofLong = C.sizeof_long + SizeofLongLong = C.sizeof_longlong +) + +// Basic types + +type ( + _C_short C.short + _C_int C.int + _C_long C.long + _C_long_long C.longlong +) + +// Time + +type Timespec C.struct_timespec + +type Timeval C.struct_timeval + +// Processes + +type Rusage C.struct_rusage + +type Rlimit C.struct_rlimit + +type _Gid_t C.gid_t + +// Files + +type Stat_t C.struct_stat + +type Statfs_t C.struct_statfs + +type Flock_t C.struct_flock + +type Dirent C.struct_dirent + +type Fsid C.fsid_t + +// File system limits + +const ( + PathMax = C.PATH_MAX +) + +// Advice to Fadvise + +const ( + FADV_NORMAL = C.POSIX_FADV_NORMAL + FADV_RANDOM = C.POSIX_FADV_RANDOM + FADV_SEQUENTIAL = C.POSIX_FADV_SEQUENTIAL + FADV_WILLNEED = C.POSIX_FADV_WILLNEED + FADV_DONTNEED = C.POSIX_FADV_DONTNEED + FADV_NOREUSE = C.POSIX_FADV_NOREUSE +) + +// Sockets + +type RawSockaddrInet4 C.struct_sockaddr_in + +type RawSockaddrInet6 C.struct_sockaddr_in6 + +type RawSockaddrUnix C.struct_sockaddr_un + +type RawSockaddrDatalink C.struct_sockaddr_dl + +type RawSockaddr C.struct_sockaddr + +type RawSockaddrAny C.struct_sockaddr_any + +type _Socklen C.socklen_t + +type Linger C.struct_linger + +type Iovec C.struct_iovec + +type IPMreq C.struct_ip_mreq + +type IPv6Mreq C.struct_ipv6_mreq + +type Msghdr C.struct_msghdr + +type Cmsghdr C.struct_cmsghdr + +type Inet6Pktinfo C.struct_in6_pktinfo + +type IPv6MTUInfo C.struct_ip6_mtuinfo + +type ICMPv6Filter C.struct_icmp6_filter + +const ( + SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in + SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 + SizeofSockaddrAny = C.sizeof_struct_sockaddr_any + SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un + SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl + SizeofLinger = C.sizeof_struct_linger + SizeofIPMreq = C.sizeof_struct_ip_mreq + SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq + SizeofMsghdr = C.sizeof_struct_msghdr + SizeofCmsghdr = C.sizeof_struct_cmsghdr + SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo + SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo + SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter +) + +// Ptrace requests + +const ( + PTRACE_TRACEME = C.PT_TRACE_ME + PTRACE_CONT = C.PT_CONTINUE + PTRACE_KILL = C.PT_KILL +) + +// Events (kqueue, kevent) + +type Kevent_t C.struct_kevent + +// Select + +type FdSet C.fd_set + +// Routing and interface messages + +const ( + SizeofIfMsghdr = C.sizeof_struct_if_msghdr + SizeofIfData = C.sizeof_struct_if_data + SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr + SizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr + SizeofRtMsghdr = C.sizeof_struct_rt_msghdr + SizeofRtMetrics = C.sizeof_struct_rt_metrics +) + +type IfMsghdr C.struct_if_msghdr + +type IfData C.struct_if_data + +type IfaMsghdr C.struct_ifa_msghdr + +type IfAnnounceMsghdr C.struct_if_announcemsghdr + +type RtMsghdr C.struct_rt_msghdr + +type RtMetrics C.struct_rt_metrics + +type Mclpool C.struct_mclpool + +// Berkeley packet filter + +const ( + SizeofBpfVersion = C.sizeof_struct_bpf_version + SizeofBpfStat = C.sizeof_struct_bpf_stat + SizeofBpfProgram = C.sizeof_struct_bpf_program + SizeofBpfInsn = C.sizeof_struct_bpf_insn + SizeofBpfHdr = C.sizeof_struct_bpf_hdr +) + +type BpfVersion C.struct_bpf_version + +type BpfStat C.struct_bpf_stat + +type BpfProgram C.struct_bpf_program + +type BpfInsn C.struct_bpf_insn + +type BpfHdr C.struct_bpf_hdr + +type BpfTimeval C.struct_bpf_timeval + +// Terminal handling + +type Termios C.struct_termios + +type Winsize C.struct_winsize + +type Ptmget C.struct_ptmget + +// fchmodat-like syscalls. + +const ( + AT_FDCWD = C.AT_FDCWD + AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW +) + +// poll + +type PollFd C.struct_pollfd + +const ( + POLLERR = C.POLLERR + POLLHUP = C.POLLHUP + POLLIN = C.POLLIN + POLLNVAL = C.POLLNVAL + POLLOUT = C.POLLOUT + POLLPRI = C.POLLPRI + POLLRDBAND = C.POLLRDBAND + POLLRDNORM = C.POLLRDNORM + POLLWRBAND = C.POLLWRBAND + POLLWRNORM = C.POLLWRNORM +) + +// Sysctl + +type Sysctlnode C.struct_sysctlnode + +// Uname + +type Utsname C.struct_utsname + +// Clockinfo + +const SizeofClockinfo = C.sizeof_struct_clockinfo + +type Clockinfo C.struct_clockinfo diff --git a/vendor/golang.org/x/sys/unix/types_openbsd.go b/vendor/golang.org/x/sys/unix/types_openbsd.go new file mode 100644 index 000000000..4e5e57f9a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/types_openbsd.go @@ -0,0 +1,276 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +/* +Input to cgo -godefs. See README.md +*/ + +// +godefs map struct_in_addr [4]byte /* in_addr */ +// +godefs map struct_in6_addr [16]byte /* in6_addr */ + +package unix + +/* +#define KERNEL +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +enum { + sizeofPtr = sizeof(void*), +}; + +union sockaddr_all { + struct sockaddr s1; // this one gets used for fields + struct sockaddr_in s2; // these pad it out + struct sockaddr_in6 s3; + struct sockaddr_un s4; + struct sockaddr_dl s5; +}; + +struct sockaddr_any { + struct sockaddr addr; + char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; +}; + +*/ +import "C" + +// Machine characteristics + +const ( + SizeofPtr = C.sizeofPtr + SizeofShort = C.sizeof_short + SizeofInt = C.sizeof_int + SizeofLong = C.sizeof_long + SizeofLongLong = C.sizeof_longlong +) + +// Basic types + +type ( + _C_short C.short + _C_int C.int + _C_long C.long + _C_long_long C.longlong +) + +// Time + +type Timespec C.struct_timespec + +type Timeval C.struct_timeval + +// Processes + +type Rusage C.struct_rusage + +type Rlimit C.struct_rlimit + +type _Gid_t C.gid_t + +// Files + +type Stat_t C.struct_stat + +type Statfs_t C.struct_statfs + +type Flock_t C.struct_flock + +type Dirent C.struct_dirent + +type Fsid C.fsid_t + +// File system limits + +const ( + PathMax = C.PATH_MAX +) + +// Sockets + +type RawSockaddrInet4 C.struct_sockaddr_in + +type RawSockaddrInet6 C.struct_sockaddr_in6 + +type RawSockaddrUnix C.struct_sockaddr_un + +type RawSockaddrDatalink C.struct_sockaddr_dl + +type RawSockaddr C.struct_sockaddr + +type RawSockaddrAny C.struct_sockaddr_any + +type _Socklen C.socklen_t + +type Linger C.struct_linger + +type Iovec C.struct_iovec + +type IPMreq C.struct_ip_mreq + +type IPv6Mreq C.struct_ipv6_mreq + +type Msghdr C.struct_msghdr + +type Cmsghdr C.struct_cmsghdr + +type Inet6Pktinfo C.struct_in6_pktinfo + +type IPv6MTUInfo C.struct_ip6_mtuinfo + +type ICMPv6Filter C.struct_icmp6_filter + +const ( + SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in + SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 + SizeofSockaddrAny = C.sizeof_struct_sockaddr_any + SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un + SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl + SizeofLinger = C.sizeof_struct_linger + SizeofIPMreq = C.sizeof_struct_ip_mreq + SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq + SizeofMsghdr = C.sizeof_struct_msghdr + SizeofCmsghdr = C.sizeof_struct_cmsghdr + SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo + SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo + SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter +) + +// Ptrace requests + +const ( + PTRACE_TRACEME = C.PT_TRACE_ME + PTRACE_CONT = C.PT_CONTINUE + PTRACE_KILL = C.PT_KILL +) + +// Events (kqueue, kevent) + +type Kevent_t C.struct_kevent + +// Select + +type FdSet C.fd_set + +// Routing and interface messages + +const ( + SizeofIfMsghdr = C.sizeof_struct_if_msghdr + SizeofIfData = C.sizeof_struct_if_data + SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr + SizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr + SizeofRtMsghdr = C.sizeof_struct_rt_msghdr + SizeofRtMetrics = C.sizeof_struct_rt_metrics +) + +type IfMsghdr C.struct_if_msghdr + +type IfData C.struct_if_data + +type IfaMsghdr C.struct_ifa_msghdr + +type IfAnnounceMsghdr C.struct_if_announcemsghdr + +type RtMsghdr C.struct_rt_msghdr + +type RtMetrics C.struct_rt_metrics + +type Mclpool C.struct_mclpool + +// Berkeley packet filter + +const ( + SizeofBpfVersion = C.sizeof_struct_bpf_version + SizeofBpfStat = C.sizeof_struct_bpf_stat + SizeofBpfProgram = C.sizeof_struct_bpf_program + SizeofBpfInsn = C.sizeof_struct_bpf_insn + SizeofBpfHdr = C.sizeof_struct_bpf_hdr +) + +type BpfVersion C.struct_bpf_version + +type BpfStat C.struct_bpf_stat + +type BpfProgram C.struct_bpf_program + +type BpfInsn C.struct_bpf_insn + +type BpfHdr C.struct_bpf_hdr + +type BpfTimeval C.struct_bpf_timeval + +// Terminal handling + +type Termios C.struct_termios + +type Winsize C.struct_winsize + +// fchmodat-like syscalls. + +const ( + AT_FDCWD = C.AT_FDCWD + AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW +) + +// poll + +type PollFd C.struct_pollfd + +const ( + POLLERR = C.POLLERR + POLLHUP = C.POLLHUP + POLLIN = C.POLLIN + POLLNVAL = C.POLLNVAL + POLLOUT = C.POLLOUT + POLLPRI = C.POLLPRI + POLLRDBAND = C.POLLRDBAND + POLLRDNORM = C.POLLRDNORM + POLLWRBAND = C.POLLWRBAND + POLLWRNORM = C.POLLWRNORM +) + +// Signal Sets + +type Sigset_t C.sigset_t + +// Uname + +type Utsname C.struct_utsname + +// Uvmexp + +const SizeofUvmexp = C.sizeof_struct_uvmexp + +type Uvmexp C.struct_uvmexp diff --git a/vendor/golang.org/x/sys/unix/types_solaris.go b/vendor/golang.org/x/sys/unix/types_solaris.go new file mode 100644 index 000000000..2b716f934 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/types_solaris.go @@ -0,0 +1,266 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +/* +Input to cgo -godefs. See README.md +*/ + +// +godefs map struct_in_addr [4]byte /* in_addr */ +// +godefs map struct_in6_addr [16]byte /* in6_addr */ + +package unix + +/* +#define KERNEL +// These defines ensure that builds done on newer versions of Solaris are +// backwards-compatible with older versions of Solaris and +// OpenSolaris-based derivatives. +#define __USE_SUNOS_SOCKETS__ // msghdr +#define __USE_LEGACY_PROTOTYPES__ // iovec +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +enum { + sizeofPtr = sizeof(void*), +}; + +union sockaddr_all { + struct sockaddr s1; // this one gets used for fields + struct sockaddr_in s2; // these pad it out + struct sockaddr_in6 s3; + struct sockaddr_un s4; + struct sockaddr_dl s5; +}; + +struct sockaddr_any { + struct sockaddr addr; + char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; +}; + +*/ +import "C" + +// Machine characteristics + +const ( + SizeofPtr = C.sizeofPtr + SizeofShort = C.sizeof_short + SizeofInt = C.sizeof_int + SizeofLong = C.sizeof_long + SizeofLongLong = C.sizeof_longlong + PathMax = C.PATH_MAX + MaxHostNameLen = C.MAXHOSTNAMELEN +) + +// Basic types + +type ( + _C_short C.short + _C_int C.int + _C_long C.long + _C_long_long C.longlong +) + +// Time + +type Timespec C.struct_timespec + +type Timeval C.struct_timeval + +type Timeval32 C.struct_timeval32 + +type Tms C.struct_tms + +type Utimbuf C.struct_utimbuf + +// Processes + +type Rusage C.struct_rusage + +type Rlimit C.struct_rlimit + +type _Gid_t C.gid_t + +// Files + +type Stat_t C.struct_stat + +type Flock_t C.struct_flock + +type Dirent C.struct_dirent + +// Filesystems + +type _Fsblkcnt_t C.fsblkcnt_t + +type Statvfs_t C.struct_statvfs + +// Sockets + +type RawSockaddrInet4 C.struct_sockaddr_in + +type RawSockaddrInet6 C.struct_sockaddr_in6 + +type RawSockaddrUnix C.struct_sockaddr_un + +type RawSockaddrDatalink C.struct_sockaddr_dl + +type RawSockaddr C.struct_sockaddr + +type RawSockaddrAny C.struct_sockaddr_any + +type _Socklen C.socklen_t + +type Linger C.struct_linger + +type Iovec C.struct_iovec + +type IPMreq C.struct_ip_mreq + +type IPv6Mreq C.struct_ipv6_mreq + +type Msghdr C.struct_msghdr + +type Cmsghdr C.struct_cmsghdr + +type Inet6Pktinfo C.struct_in6_pktinfo + +type IPv6MTUInfo C.struct_ip6_mtuinfo + +type ICMPv6Filter C.struct_icmp6_filter + +const ( + SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in + SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 + SizeofSockaddrAny = C.sizeof_struct_sockaddr_any + SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un + SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl + SizeofLinger = C.sizeof_struct_linger + SizeofIPMreq = C.sizeof_struct_ip_mreq + SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq + SizeofMsghdr = C.sizeof_struct_msghdr + SizeofCmsghdr = C.sizeof_struct_cmsghdr + SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo + SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo + SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter +) + +// Select + +type FdSet C.fd_set + +// Misc + +type Utsname C.struct_utsname + +type Ustat_t C.struct_ustat + +const ( + AT_FDCWD = C.AT_FDCWD + AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW + AT_SYMLINK_FOLLOW = C.AT_SYMLINK_FOLLOW + AT_REMOVEDIR = C.AT_REMOVEDIR + AT_EACCESS = C.AT_EACCESS +) + +// Routing and interface messages + +const ( + SizeofIfMsghdr = C.sizeof_struct_if_msghdr + SizeofIfData = C.sizeof_struct_if_data + SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr + SizeofRtMsghdr = C.sizeof_struct_rt_msghdr + SizeofRtMetrics = C.sizeof_struct_rt_metrics +) + +type IfMsghdr C.struct_if_msghdr + +type IfData C.struct_if_data + +type IfaMsghdr C.struct_ifa_msghdr + +type RtMsghdr C.struct_rt_msghdr + +type RtMetrics C.struct_rt_metrics + +// Berkeley packet filter + +const ( + SizeofBpfVersion = C.sizeof_struct_bpf_version + SizeofBpfStat = C.sizeof_struct_bpf_stat + SizeofBpfProgram = C.sizeof_struct_bpf_program + SizeofBpfInsn = C.sizeof_struct_bpf_insn + SizeofBpfHdr = C.sizeof_struct_bpf_hdr +) + +type BpfVersion C.struct_bpf_version + +type BpfStat C.struct_bpf_stat + +type BpfProgram C.struct_bpf_program + +type BpfInsn C.struct_bpf_insn + +type BpfTimeval C.struct_bpf_timeval + +type BpfHdr C.struct_bpf_hdr + +// Terminal handling + +type Termios C.struct_termios + +type Termio C.struct_termio + +type Winsize C.struct_winsize + +// poll + +type PollFd C.struct_pollfd + +const ( + POLLERR = C.POLLERR + POLLHUP = C.POLLHUP + POLLIN = C.POLLIN + POLLNVAL = C.POLLNVAL + POLLOUT = C.POLLOUT + POLLPRI = C.POLLPRI + POLLRDBAND = C.POLLRDBAND + POLLRDNORM = C.POLLRDNORM + POLLWRBAND = C.POLLWRBAND + POLLWRNORM = C.POLLWRNORM +) diff --git a/vendor/golang.org/x/sys/unix/xattr_bsd.go b/vendor/golang.org/x/sys/unix/xattr_bsd.go new file mode 100644 index 000000000..30c1d71f4 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/xattr_bsd.go @@ -0,0 +1,240 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build freebsd netbsd + +package unix + +import ( + "strings" + "unsafe" +) + +// Derive extattr namespace and attribute name + +func xattrnamespace(fullattr string) (ns int, attr string, err error) { + s := strings.IndexByte(fullattr, '.') + if s == -1 { + return -1, "", ENOATTR + } + + namespace := fullattr[0:s] + attr = fullattr[s+1:] + + switch namespace { + case "user": + return EXTATTR_NAMESPACE_USER, attr, nil + case "system": + return EXTATTR_NAMESPACE_SYSTEM, attr, nil + default: + return -1, "", ENOATTR + } +} + +func initxattrdest(dest []byte, idx int) (d unsafe.Pointer) { + if len(dest) > idx { + return unsafe.Pointer(&dest[idx]) + } else { + return unsafe.Pointer(_zero) + } +} + +// FreeBSD and NetBSD implement their own syscalls to handle extended attributes + +func Getxattr(file string, attr string, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsize := len(dest) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return -1, err + } + + return ExtattrGetFile(file, nsid, a, uintptr(d), destsize) +} + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsize := len(dest) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return -1, err + } + + return ExtattrGetFd(fd, nsid, a, uintptr(d), destsize) +} + +func Lgetxattr(link string, attr string, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsize := len(dest) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return -1, err + } + + return ExtattrGetLink(link, nsid, a, uintptr(d), destsize) +} + +// flags are unused on FreeBSD + +func Fsetxattr(fd int, attr string, data []byte, flags int) (err error) { + var d unsafe.Pointer + if len(data) > 0 { + d = unsafe.Pointer(&data[0]) + } + datasiz := len(data) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + _, err = ExtattrSetFd(fd, nsid, a, uintptr(d), datasiz) + return +} + +func Setxattr(file string, attr string, data []byte, flags int) (err error) { + var d unsafe.Pointer + if len(data) > 0 { + d = unsafe.Pointer(&data[0]) + } + datasiz := len(data) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + _, err = ExtattrSetFile(file, nsid, a, uintptr(d), datasiz) + return +} + +func Lsetxattr(link string, attr string, data []byte, flags int) (err error) { + var d unsafe.Pointer + if len(data) > 0 { + d = unsafe.Pointer(&data[0]) + } + datasiz := len(data) + + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + _, err = ExtattrSetLink(link, nsid, a, uintptr(d), datasiz) + return +} + +func Removexattr(file string, attr string) (err error) { + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + err = ExtattrDeleteFile(file, nsid, a) + return +} + +func Fremovexattr(fd int, attr string) (err error) { + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + err = ExtattrDeleteFd(fd, nsid, a) + return +} + +func Lremovexattr(link string, attr string) (err error) { + nsid, a, err := xattrnamespace(attr) + if err != nil { + return + } + + err = ExtattrDeleteLink(link, nsid, a) + return +} + +func Listxattr(file string, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsiz := len(dest) + + // FreeBSD won't allow you to list xattrs from multiple namespaces + s := 0 + for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} { + stmp, e := ExtattrListFile(file, nsid, uintptr(d), destsiz) + + /* Errors accessing system attrs are ignored so that + * we can implement the Linux-like behavior of omitting errors that + * we don't have read permissions on + * + * Linux will still error if we ask for user attributes on a file that + * we don't have read permissions on, so don't ignore those errors + */ + if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER { + continue + } else if e != nil { + return s, e + } + + s += stmp + destsiz -= s + if destsiz < 0 { + destsiz = 0 + } + d = initxattrdest(dest, s) + } + + return s, nil +} + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsiz := len(dest) + + s := 0 + for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} { + stmp, e := ExtattrListFd(fd, nsid, uintptr(d), destsiz) + if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER { + continue + } else if e != nil { + return s, e + } + + s += stmp + destsiz -= s + if destsiz < 0 { + destsiz = 0 + } + d = initxattrdest(dest, s) + } + + return s, nil +} + +func Llistxattr(link string, dest []byte) (sz int, err error) { + d := initxattrdest(dest, 0) + destsiz := len(dest) + + s := 0 + for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} { + stmp, e := ExtattrListLink(link, nsid, uintptr(d), destsiz) + if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER { + continue + } else if e != nil { + return s, e + } + + s += stmp + destsiz -= s + if destsiz < 0 { + destsiz = 0 + } + d = initxattrdest(dest, s) + } + + return s, nil +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go new file mode 100644 index 000000000..4b7b96502 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go @@ -0,0 +1,1372 @@ +// mkerrors.sh -maix32 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc,aix + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -maix32 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_BYPASS = 0x19 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_INTF = 0x14 + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x1e + AF_NDD = 0x17 + AF_NETWARE = 0x16 + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_RIF = 0x15 + AF_ROUTE = 0x11 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ALTWERASE = 0x400000 + ARPHRD_802_3 = 0x6 + ARPHRD_802_5 = 0x6 + ARPHRD_ETHER = 0x1 + ARPHRD_FDDI = 0x1 + B0 = 0x0 + B110 = 0x3 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2400 = 0xb + B300 = 0x7 + B38400 = 0xf + B4800 = 0xc + B50 = 0x1 + B600 = 0x8 + B75 = 0x2 + B9600 = 0xd + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x1000 + BSDLY = 0x1000 + CAP_AACCT = 0x6 + CAP_ARM_APPLICATION = 0x5 + CAP_BYPASS_RAC_VMM = 0x3 + CAP_CLEAR = 0x0 + CAP_CREDENTIALS = 0x7 + CAP_EFFECTIVE = 0x1 + CAP_EWLM_AGENT = 0x4 + CAP_INHERITABLE = 0x2 + CAP_MAXIMUM = 0x7 + CAP_NUMA_ATTACH = 0x2 + CAP_PERMITTED = 0x3 + CAP_PROPAGATE = 0x1 + CAP_PROPOGATE = 0x1 + CAP_SET = 0x1 + CBAUD = 0xf + CFLUSH = 0xf + CIBAUD = 0xf0000 + CLOCAL = 0x800 + CLOCK_MONOTONIC = 0xa + CLOCK_PROCESS_CPUTIME_ID = 0xb + CLOCK_REALTIME = 0x9 + CLOCK_THREAD_CPUTIME_ID = 0xc + CR0 = 0x0 + CR1 = 0x100 + CR2 = 0x200 + CR3 = 0x300 + CRDLY = 0x300 + CREAD = 0x80 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIOCGIFCONF = -0x3ff796dc + CSIZE = 0x30 + CSMAP_DIR = "/usr/lib/nls/csmap/" + CSTART = '\021' + CSTOP = '\023' + CSTOPB = 0x40 + CSUSP = 0x1a + ECHO = 0x8 + ECHOCTL = 0x20000 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x80000 + ECHONL = 0x40 + ECHOPRT = 0x40000 + ECH_ICMPID = 0x2 + ETHERNET_CSMACD = 0x6 + EVENP = 0x80 + EXCONTINUE = 0x0 + EXDLOK = 0x3 + EXIO = 0x2 + EXPGIO = 0x0 + EXRESUME = 0x2 + EXRETURN = 0x1 + EXSIG = 0x4 + EXTA = 0xe + EXTB = 0xf + EXTRAP = 0x1 + EYEC_RTENTRYA = 0x257274656e747241 + EYEC_RTENTRYF = 0x257274656e747246 + E_ACC = 0x0 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0xfffe + FF0 = 0x0 + FF1 = 0x2000 + FFDLY = 0x2000 + FLUSHBAND = 0x40 + FLUSHLOW = 0x8 + FLUSHO = 0x100000 + FLUSHR = 0x1 + FLUSHRW = 0x3 + FLUSHW = 0x2 + F_CLOSEM = 0xa + F_DUP2FD = 0xe + F_DUPFD = 0x0 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x5 + F_GETLK64 = 0xb + F_GETOWN = 0x8 + F_LOCK = 0x1 + F_OK = 0x0 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x6 + F_SETLK64 = 0xc + F_SETLKW = 0x7 + F_SETLKW64 = 0xd + F_SETOWN = 0x9 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_TSTLK = 0xf + F_ULOCK = 0x0 + F_UNLCK = 0x3 + F_WRLCK = 0x2 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMP6_FILTER = 0x26 + ICMP6_SEC_SEND_DEL = 0x46 + ICMP6_SEC_SEND_GET = 0x47 + ICMP6_SEC_SEND_SET = 0x44 + ICMP6_SEC_SEND_SET_CGA_ADDR = 0x45 + ICRNL = 0x100 + IEXTEN = 0x200000 + IFA_FIRSTALIAS = 0x2000 + IFA_ROUTE = 0x1 + IFF_64BIT = 0x4000000 + IFF_ALLCAST = 0x20000 + IFF_ALLMULTI = 0x200 + IFF_BPF = 0x8000000 + IFF_BRIDGE = 0x40000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x80c52 + IFF_CHECKSUM_OFFLOAD = 0x10000000 + IFF_D1 = 0x8000 + IFF_D2 = 0x4000 + IFF_D3 = 0x2000 + IFF_D4 = 0x1000 + IFF_DEBUG = 0x4 + IFF_DEVHEALTH = 0x4000 + IFF_DO_HW_LOOPBACK = 0x10000 + IFF_GROUP_ROUTING = 0x2000000 + IFF_IFBUFMGT = 0x800000 + IFF_LINK0 = 0x100000 + IFF_LINK1 = 0x200000 + IFF_LINK2 = 0x400000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x80000 + IFF_NOARP = 0x80 + IFF_NOECHO = 0x800 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_PSEG = 0x40000000 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_SNAP = 0x8000 + IFF_TCP_DISABLE_CKSUM = 0x20000000 + IFF_TCP_NOCKSUM = 0x1000000 + IFF_UP = 0x1 + IFF_VIPA = 0x80000000 + IFNAMSIZ = 0x10 + IFO_FLUSH = 0x1 + IFT_1822 = 0x2 + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_CEPT = 0x13 + IFT_CLUSTER = 0x3e + IFT_DS3 = 0x1e + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FCS = 0x3a + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_GIFTUNNEL = 0x3c + IFT_HDH1822 = 0x3 + IFT_HF = 0x3d + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IB = 0xc7 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SN = 0x38 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SP = 0x39 + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_TUNNEL = 0x3b + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_VIPA = 0x37 + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x10000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_USE = 0x1 + IPPROTO_AH = 0x33 + IPPROTO_BIP = 0x53 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GIF = 0x8c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_LOCAL = 0x3f + IPPROTO_MAX = 0x100 + IPPROTO_MH = 0x87 + IPPROTO_NONE = 0x3b + IPPROTO_PUP = 0xc + IPPROTO_QOS = 0x2d + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPV6_ADDRFORM = 0x16 + IPV6_ADDR_PREFERENCES = 0x4a + IPV6_ADD_MEMBERSHIP = 0xc + IPV6_AIXRAWSOCKET = 0x39 + IPV6_CHECKSUM = 0x27 + IPV6_DONTFRAG = 0x2d + IPV6_DROP_MEMBERSHIP = 0xd + IPV6_DSTOPTS = 0x36 + IPV6_FLOWINFO_FLOWLABEL = 0xffffff + IPV6_FLOWINFO_PRIFLOW = 0xfffffff + IPV6_FLOWINFO_PRIORITY = 0xf000000 + IPV6_FLOWINFO_SRFLAG = 0x10000000 + IPV6_FLOWINFO_VERSION = 0xf0000000 + IPV6_HOPLIMIT = 0x28 + IPV6_HOPOPTS = 0x34 + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MIPDSTOPTS = 0x36 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_NOPROBE = 0x1c + IPV6_PATHMTU = 0x2e + IPV6_PKTINFO = 0x21 + IPV6_PKTOPTIONS = 0x24 + IPV6_PRIORITY_10 = 0xa000000 + IPV6_PRIORITY_11 = 0xb000000 + IPV6_PRIORITY_12 = 0xc000000 + IPV6_PRIORITY_13 = 0xd000000 + IPV6_PRIORITY_14 = 0xe000000 + IPV6_PRIORITY_15 = 0xf000000 + IPV6_PRIORITY_8 = 0x8000000 + IPV6_PRIORITY_9 = 0x9000000 + IPV6_PRIORITY_BULK = 0x4000000 + IPV6_PRIORITY_CONTROL = 0x7000000 + IPV6_PRIORITY_FILLER = 0x1000000 + IPV6_PRIORITY_INTERACTIVE = 0x6000000 + IPV6_PRIORITY_RESERVED1 = 0x3000000 + IPV6_PRIORITY_RESERVED2 = 0x5000000 + IPV6_PRIORITY_UNATTENDED = 0x2000000 + IPV6_PRIORITY_UNCHARACTERIZED = 0x0 + IPV6_RECVDSTOPTS = 0x38 + IPV6_RECVHOPLIMIT = 0x29 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVHOPS = 0x22 + IPV6_RECVIF = 0x1e + IPV6_RECVPATHMTU = 0x2f + IPV6_RECVPKTINFO = 0x23 + IPV6_RECVRTHDR = 0x33 + IPV6_RECVSRCRT = 0x1d + IPV6_RECVTCLASS = 0x2a + IPV6_RTHDR = 0x32 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RTHDR_TYPE_2 = 0x2 + IPV6_SENDIF = 0x1f + IPV6_SRFLAG_LOOSE = 0x0 + IPV6_SRFLAG_STRICT = 0x10000000 + IPV6_TCLASS = 0x2b + IPV6_TOKEN_LENGTH = 0x40 + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2c + IPV6_V6ONLY = 0x25 + IPV6_VERSION = 0x60000000 + IP_ADDRFORM = 0x16 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x3c + IP_BLOCK_SOURCE = 0x3a + IP_BROADCAST_IF = 0x10 + IP_CACHE_LINE_SIZE = 0x80 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DHCPMODE = 0x11 + IP_DONTFRAG = 0x19 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x3d + IP_FINDPMTU = 0x1a + IP_HDRINCL = 0x2 + IP_INC_MEMBERSHIPS = 0x14 + IP_INIT_MEMBERSHIP = 0x14 + IP_MAXPACKET = 0xffff + IP_MF = 0x2000 + IP_MSS = 0x240 + IP_MULTICAST_HOPS = 0xa + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OPT = 0x1b + IP_OPTIONS = 0x1 + IP_PMTUAGE = 0x1b + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVIFINFO = 0xf + IP_RECVINTERFACE = 0x20 + IP_RECVMACHDR = 0xe + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x22 + IP_RETOPTS = 0x8 + IP_SOURCE_FILTER = 0x48 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x3b + IP_UNICAST_HOPS = 0x4 + ISIG = 0x1 + ISTRIP = 0x20 + IUCLC = 0x800 + IXANY = 0x1000 + IXOFF = 0x400 + IXON = 0x200 + I_FLUSH = 0x20005305 + LNOFLSH = 0x8000 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ANON = 0x10 + MAP_ANONYMOUS = 0x10 + MAP_FILE = 0x0 + MAP_FIXED = 0x100 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_TYPE = 0xf0 + MAP_VARIABLE = 0x0 + MCL_CURRENT = 0x100 + MCL_FUTURE = 0x200 + MSG_ANY = 0x4 + MSG_ARGEXT = 0x400 + MSG_BAND = 0x2 + MSG_COMPAT = 0x8000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_EOR = 0x8 + MSG_HIPRI = 0x1 + MSG_MAXIOVLEN = 0x10 + MSG_MPEG2 = 0x80 + MSG_NONBLOCK = 0x4000 + MSG_NOSIGNAL = 0x100 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITFORONE = 0x200 + MS_ASYNC = 0x10 + MS_EINTR = 0x80 + MS_INVALIDATE = 0x40 + MS_PER_SEC = 0x3e8 + MS_SYNC = 0x20 + NL0 = 0x0 + NL1 = 0x4000 + NL2 = 0x8000 + NL3 = 0xc000 + NLDLY = 0x4000 + NOFLSH = 0x80 + NOFLUSH = 0x80000000 + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + ONOEOT = 0x80000 + OPOST = 0x1 + OXTABS = 0x40000 + O_ACCMODE = 0x23 + O_APPEND = 0x8 + O_CIO = 0x80 + O_CIOR = 0x800000000 + O_CLOEXEC = 0x800000 + O_CREAT = 0x100 + O_DEFER = 0x2000 + O_DELAY = 0x4000 + O_DIRECT = 0x8000000 + O_DIRECTORY = 0x80000 + O_DSYNC = 0x400000 + O_EFSOFF = 0x400000000 + O_EFSON = 0x200000000 + O_EXCL = 0x400 + O_EXEC = 0x20 + O_LARGEFILE = 0x4000000 + O_NDELAY = 0x8000 + O_NOCACHE = 0x100000 + O_NOCTTY = 0x800 + O_NOFOLLOW = 0x1000000 + O_NONBLOCK = 0x4 + O_NONE = 0x3 + O_NSHARE = 0x10000 + O_RAW = 0x100000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSHARE = 0x1000 + O_RSYNC = 0x200000 + O_SEARCH = 0x20 + O_SNAPSHOT = 0x40 + O_SYNC = 0x10 + O_TRUNC = 0x200 + O_TTY_INIT = 0x0 + O_WRONLY = 0x1 + PARENB = 0x100 + PAREXT = 0x100000 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_64BIT = 0x20 + PR_ADDR = 0x2 + PR_ARGEXT = 0x400 + PR_ATOMIC = 0x1 + PR_CONNREQUIRED = 0x4 + PR_FASTHZ = 0x5 + PR_INP = 0x40 + PR_INTRLEVEL = 0x8000 + PR_MLS = 0x100 + PR_MLS_1_LABEL = 0x200 + PR_NOEOR = 0x4000 + PR_RIGHTS = 0x10 + PR_SLOWHZ = 0x2 + PR_WANTRCVD = 0x8 + RLIMIT_AS = 0x6 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x9 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DOWNSTREAM = 0x100 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTC_IA64 = 0x3 + RTC_POWER = 0x1 + RTC_POWER_PC = 0x2 + RTF_ACTIVE_DGD = 0x1000000 + RTF_BCE = 0x80000 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_BUL = 0x2000 + RTF_CLONE = 0x10000 + RTF_CLONED = 0x20000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FREE_IN_PROG = 0x4000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_PERMANENT6 = 0x8000000 + RTF_PINNED = 0x100000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_SMALLMTU = 0x40000 + RTF_STATIC = 0x800 + RTF_STOPSRCH = 0x2000000 + RTF_UNREACHABLE = 0x10000000 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_EXPIRE = 0xf + RTM_GET = 0x4 + RTM_GETNEXT = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTLOST = 0x10 + RTM_RTTUNIT = 0xf4240 + RTM_SAMEADDR = 0x12 + RTM_SET = 0x13 + RTM_VERSION = 0x2 + RTM_VERSION_GR = 0x4 + RTM_VERSION_GR_COMPAT = 0x3 + RTM_VERSION_POLICY = 0x5 + RTM_VERSION_POLICY_EXT = 0x6 + RTM_VERSION_POLICY_PRFN = 0x7 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIGMAX64 = 0xff + SIGQUEUE_MAX = 0x20 + SIOCADDIFVIPA = 0x20006942 + SIOCADDMTU = -0x7ffb9690 + SIOCADDMULTI = -0x7fdf96cf + SIOCADDNETID = -0x7fd796a9 + SIOCADDRT = -0x7fcf8df6 + SIOCAIFADDR = -0x7fbf96e6 + SIOCATMARK = 0x40047307 + SIOCDARP = -0x7fb396e0 + SIOCDELIFVIPA = 0x20006943 + SIOCDELMTU = -0x7ffb968f + SIOCDELMULTI = -0x7fdf96ce + SIOCDELPMTU = -0x7fd78ff6 + SIOCDELRT = -0x7fcf8df5 + SIOCDIFADDR = -0x7fd796e7 + SIOCDNETOPT = -0x3ffe9680 + SIOCDX25XLATE = -0x7fd7969b + SIOCFIFADDR = -0x7fdf966d + SIOCGARP = -0x3fb396da + SIOCGETMTUS = 0x2000696f + SIOCGETSGCNT = -0x3feb8acc + SIOCGETVIFCNT = -0x3feb8acd + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = -0x3fd796df + SIOCGIFADDRS = 0x2000698c + SIOCGIFBAUDRATE = -0x3fd79693 + SIOCGIFBRDADDR = -0x3fd796dd + SIOCGIFCONF = -0x3ff796bb + SIOCGIFCONFGLOB = -0x3ff79670 + SIOCGIFDSTADDR = -0x3fd796de + SIOCGIFFLAGS = -0x3fd796ef + SIOCGIFGIDLIST = 0x20006968 + SIOCGIFHWADDR = -0x3fab966b + SIOCGIFMETRIC = -0x3fd796e9 + SIOCGIFMTU = -0x3fd796aa + SIOCGIFNETMASK = -0x3fd796db + SIOCGIFOPTIONS = -0x3fd796d6 + SIOCGISNO = -0x3fd79695 + SIOCGLOADF = -0x3ffb967e + SIOCGLOWAT = 0x40047303 + SIOCGNETOPT = -0x3ffe96a5 + SIOCGNETOPT1 = -0x3fdf967f + SIOCGNMTUS = 0x2000696e + SIOCGPGRP = 0x40047309 + SIOCGSIZIFCONF = 0x4004696a + SIOCGSRCFILTER = -0x3fe796cb + SIOCGTUNEPHASE = -0x3ffb9676 + SIOCGX25XLATE = -0x3fd7969c + SIOCIFATTACH = -0x7fdf9699 + SIOCIFDETACH = -0x7fdf969a + SIOCIFGETPKEY = -0x7fdf969b + SIOCIF_ATM_DARP = -0x7fdf9683 + SIOCIF_ATM_DUMPARP = -0x7fdf9685 + SIOCIF_ATM_GARP = -0x7fdf9682 + SIOCIF_ATM_IDLE = -0x7fdf9686 + SIOCIF_ATM_SARP = -0x7fdf9681 + SIOCIF_ATM_SNMPARP = -0x7fdf9687 + SIOCIF_ATM_SVC = -0x7fdf9684 + SIOCIF_ATM_UBR = -0x7fdf9688 + SIOCIF_DEVHEALTH = -0x7ffb966c + SIOCIF_IB_ARP_INCOMP = -0x7fdf9677 + SIOCIF_IB_ARP_TIMER = -0x7fdf9678 + SIOCIF_IB_CLEAR_PINFO = -0x3fdf966f + SIOCIF_IB_DEL_ARP = -0x7fdf967f + SIOCIF_IB_DEL_PINFO = -0x3fdf9670 + SIOCIF_IB_DUMP_ARP = -0x7fdf9680 + SIOCIF_IB_GET_ARP = -0x7fdf967e + SIOCIF_IB_GET_INFO = -0x3f879675 + SIOCIF_IB_GET_STATS = -0x3f879672 + SIOCIF_IB_NOTIFY_ADDR_REM = -0x3f87966a + SIOCIF_IB_RESET_STATS = -0x3f879671 + SIOCIF_IB_RESIZE_CQ = -0x7fdf9679 + SIOCIF_IB_SET_ARP = -0x7fdf967d + SIOCIF_IB_SET_PKEY = -0x7fdf967c + SIOCIF_IB_SET_PORT = -0x7fdf967b + SIOCIF_IB_SET_QKEY = -0x7fdf9676 + SIOCIF_IB_SET_QSIZE = -0x7fdf967a + SIOCLISTIFVIPA = 0x20006944 + SIOCSARP = -0x7fb396e2 + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = -0x7fd796f4 + SIOCSIFADDRORI = -0x7fdb9673 + SIOCSIFBRDADDR = -0x7fd796ed + SIOCSIFDSTADDR = -0x7fd796f2 + SIOCSIFFLAGS = -0x7fd796f0 + SIOCSIFGIDLIST = 0x20006969 + SIOCSIFMETRIC = -0x7fd796e8 + SIOCSIFMTU = -0x7fd796a8 + SIOCSIFNETDUMP = -0x7fd796e4 + SIOCSIFNETMASK = -0x7fd796ea + SIOCSIFOPTIONS = -0x7fd796d7 + SIOCSIFSUBCHAN = -0x7fd796e5 + SIOCSISNO = -0x7fd79694 + SIOCSLOADF = -0x3ffb967d + SIOCSLOWAT = 0x80047302 + SIOCSNETOPT = -0x7ffe96a6 + SIOCSPGRP = 0x80047308 + SIOCSX25XLATE = -0x7fd7969d + SOCK_CONN_DGRAM = 0x6 + SOCK_DGRAM = 0x2 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x400 + SO_ACCEPTCONN = 0x2 + SO_AUDIT = 0x8000 + SO_BROADCAST = 0x20 + SO_CKSUMRECV = 0x800 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_KERNACCEPT = 0x2000 + SO_LINGER = 0x80 + SO_NOMULTIPATH = 0x4000 + SO_NOREUSEADDR = 0x1000 + SO_OOBINLINE = 0x100 + SO_PEERID = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMPNS = 0x100a + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USE_IFBUFS = 0x400 + S_BANDURG = 0x400 + S_EMODFMT = 0x3c000000 + S_ENFMT = 0x400 + S_ERROR = 0x100 + S_HANGUP = 0x200 + S_HIPRI = 0x2 + S_ICRYPTO = 0x80000 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFJOURNAL = 0x10000 + S_IFLNK = 0xa000 + S_IFMPX = 0x2200 + S_IFMT = 0xf000 + S_IFPDIR = 0x4000000 + S_IFPSDIR = 0x8000000 + S_IFPSSDIR = 0xc000000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFSYSEA = 0x30000000 + S_INPUT = 0x1 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_ITCB = 0x1000000 + S_ITP = 0x800000 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXACL = 0x2000000 + S_IXATTR = 0x40000 + S_IXGRP = 0x8 + S_IXINTERFACE = 0x100000 + S_IXMOD = 0x40000000 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + S_MSG = 0x8 + S_OUTPUT = 0x4 + S_RDBAND = 0x20 + S_RDNORM = 0x10 + S_RESERVED1 = 0x20000 + S_RESERVED2 = 0x200000 + S_RESERVED3 = 0x400000 + S_RESERVED4 = 0x80000000 + S_RESFMT1 = 0x10000000 + S_RESFMT10 = 0x34000000 + S_RESFMT11 = 0x38000000 + S_RESFMT12 = 0x3c000000 + S_RESFMT2 = 0x14000000 + S_RESFMT3 = 0x18000000 + S_RESFMT4 = 0x1c000000 + S_RESFMT5 = 0x20000000 + S_RESFMT6 = 0x24000000 + S_RESFMT7 = 0x28000000 + S_RESFMT8 = 0x2c000000 + S_WRBAND = 0x80 + S_WRNORM = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0xc00 + TABDLY = 0xc00 + TCFLSH = 0x540c + TCGETA = 0x5405 + TCGETS = 0x5401 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_24DAYS_WORTH_OF_SLOWTICKS = 0x3f4800 + TCP_ACLADD = 0x23 + TCP_ACLBIND = 0x26 + TCP_ACLCLEAR = 0x22 + TCP_ACLDEL = 0x24 + TCP_ACLDENY = 0x8 + TCP_ACLFLUSH = 0x21 + TCP_ACLGID = 0x1 + TCP_ACLLS = 0x25 + TCP_ACLSUBNET = 0x4 + TCP_ACLUID = 0x2 + TCP_CWND_DF = 0x16 + TCP_CWND_IF = 0x15 + TCP_DELAY_ACK_FIN = 0x2 + TCP_DELAY_ACK_SYN = 0x1 + TCP_FASTNAME = 0x101080a + TCP_KEEPCNT = 0x13 + TCP_KEEPIDLE = 0x11 + TCP_KEEPINTVL = 0x12 + TCP_LSPRIV = 0x29 + TCP_LUID = 0x20 + TCP_MAXBURST = 0x8 + TCP_MAXDF = 0x64 + TCP_MAXIF = 0x64 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAXWINDOWSCALE = 0xe + TCP_MAX_SACK = 0x4 + TCP_MSS = 0x5b4 + TCP_NODELAY = 0x1 + TCP_NODELAYACK = 0x14 + TCP_NOREDUCE_CWND_EXIT_FRXMT = 0x19 + TCP_NOREDUCE_CWND_IN_FRXMT = 0x18 + TCP_NOTENTER_SSTART = 0x17 + TCP_OPT = 0x19 + TCP_RFC1323 = 0x4 + TCP_SETPRIV = 0x27 + TCP_STDURG = 0x10 + TCP_TIMESTAMP_OPTLEN = 0xc + TCP_UNSETPRIV = 0x28 + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETSF = 0x5404 + TCSETSW = 0x5403 + TCXONC = 0x540b + TIOC = 0x5400 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCEXCL = 0x2000740d + TIOCFLUSH = 0x80047410 + TIOCGETC = 0x40067412 + TIOCGETD = 0x40047400 + TIOCGETP = 0x40067408 + TIOCGLTC = 0x40067474 + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047448 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCHPCL = 0x20007402 + TIOCLBIC = 0x8004747e + TIOCLBIS = 0x8004747f + TIOCLGET = 0x4004747c + TIOCLSET = 0x8004747d + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMIWAIT = 0x80047464 + TIOCMODG = 0x40047403 + TIOCMODS = 0x80047404 + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSDTR = 0x20007479 + TIOCSETC = 0x80067411 + TIOCSETD = 0x80047401 + TIOCSETN = 0x8006740a + TIOCSETP = 0x80067409 + TIOCSLTC = 0x80067475 + TIOCSPGRP = 0x80047476 + TIOCSSIZE = 0x80087467 + TIOCSTART = 0x2000746e + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x10000 + UTIME_NOW = -0x2 + UTIME_OMIT = -0x3 + VDISCRD = 0xc + VDSUSP = 0xa + VEOF = 0x4 + VEOL = 0x5 + VEOL2 = 0x6 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xe + VMIN = 0x4 + VQUIT = 0x1 + VREPRINT = 0xb + VSTART = 0x7 + VSTOP = 0x8 + VSTRT = 0x7 + VSUSP = 0x9 + VT0 = 0x0 + VT1 = 0x8000 + VTDELAY = 0x2000 + VTDLY = 0x8000 + VTIME = 0x5 + VWERSE = 0xd + WPARSTART = 0x1 + WPARSTOP = 0x2 + WPARTTYNAME = "Global" + XCASE = 0x4 + XTABS = 0xc00 + _FDATAFLUSH = 0x2000000000 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x43) + EADDRNOTAVAIL = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x42) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x38) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x78) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x75) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x25) + ECLONEME = syscall.Errno(0x52) + ECONNABORTED = syscall.Errno(0x48) + ECONNREFUSED = syscall.Errno(0x4f) + ECONNRESET = syscall.Errno(0x49) + ECORRUPT = syscall.Errno(0x59) + EDEADLK = syscall.Errno(0x2d) + EDESTADDREQ = syscall.Errno(0x3a) + EDESTADDRREQ = syscall.Errno(0x3a) + EDIST = syscall.Errno(0x35) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x58) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFORMAT = syscall.Errno(0x30) + EHOSTDOWN = syscall.Errno(0x50) + EHOSTUNREACH = syscall.Errno(0x51) + EIDRM = syscall.Errno(0x24) + EILSEQ = syscall.Errno(0x74) + EINPROGRESS = syscall.Errno(0x37) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x4b) + EISDIR = syscall.Errno(0x15) + EL2HLT = syscall.Errno(0x2c) + EL2NSYNC = syscall.Errno(0x26) + EL3HLT = syscall.Errno(0x27) + EL3RST = syscall.Errno(0x28) + ELNRNG = syscall.Errno(0x29) + ELOOP = syscall.Errno(0x55) + EMEDIA = syscall.Errno(0x6e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x3b) + EMULTIHOP = syscall.Errno(0x7d) + ENAMETOOLONG = syscall.Errno(0x56) + ENETDOWN = syscall.Errno(0x45) + ENETRESET = syscall.Errno(0x47) + ENETUNREACH = syscall.Errno(0x46) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x70) + ENOBUFS = syscall.Errno(0x4a) + ENOCONNECT = syscall.Errno(0x32) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x7a) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x31) + ENOLINK = syscall.Errno(0x7e) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x23) + ENOPROTOOPT = syscall.Errno(0x3d) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x76) + ENOSTR = syscall.Errno(0x7b) + ENOSYS = syscall.Errno(0x6d) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x4c) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x11) + ENOTREADY = syscall.Errno(0x2e) + ENOTRECOVERABLE = syscall.Errno(0x5e) + ENOTRUST = syscall.Errno(0x72) + ENOTSOCK = syscall.Errno(0x39) + ENOTSUP = syscall.Errno(0x7c) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x40) + EOVERFLOW = syscall.Errno(0x7f) + EOWNERDEAD = syscall.Errno(0x5f) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x41) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x53) + EPROTO = syscall.Errno(0x79) + EPROTONOSUPPORT = syscall.Errno(0x3e) + EPROTOTYPE = syscall.Errno(0x3c) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x5d) + ERESTART = syscall.Errno(0x52) + EROFS = syscall.Errno(0x1e) + ESAD = syscall.Errno(0x71) + ESHUTDOWN = syscall.Errno(0x4d) + ESOCKTNOSUPPORT = syscall.Errno(0x3f) + ESOFT = syscall.Errno(0x6f) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x34) + ESYSERROR = syscall.Errno(0x5a) + ETIME = syscall.Errno(0x77) + ETIMEDOUT = syscall.Errno(0x4e) + ETOOMANYREFS = syscall.Errno(0x73) + ETXTBSY = syscall.Errno(0x1a) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x54) + EWOULDBLOCK = syscall.Errno(0xb) + EWRPROTECT = syscall.Errno(0x2f) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGAIO = syscall.Signal(0x17) + SIGALRM = syscall.Signal(0xe) + SIGALRM1 = syscall.Signal(0x26) + SIGBUS = syscall.Signal(0xa) + SIGCAPI = syscall.Signal(0x31) + SIGCHLD = syscall.Signal(0x14) + SIGCLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGCPUFAIL = syscall.Signal(0x3b) + SIGDANGER = syscall.Signal(0x21) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGGRANT = syscall.Signal(0x3c) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOINT = syscall.Signal(0x10) + SIGIOT = syscall.Signal(0x6) + SIGKAP = syscall.Signal(0x3c) + SIGKILL = syscall.Signal(0x9) + SIGLOST = syscall.Signal(0x6) + SIGMAX = syscall.Signal(0x3f) + SIGMAX32 = syscall.Signal(0x3f) + SIGMIGRATE = syscall.Signal(0x23) + SIGMSG = syscall.Signal(0x1b) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x17) + SIGPRE = syscall.Signal(0x24) + SIGPROF = syscall.Signal(0x20) + SIGPTY = syscall.Signal(0x17) + SIGPWR = syscall.Signal(0x1d) + SIGQUIT = syscall.Signal(0x3) + SIGRECONFIG = syscall.Signal(0x3a) + SIGRETRACT = syscall.Signal(0x3d) + SIGSAK = syscall.Signal(0x3f) + SIGSEGV = syscall.Signal(0xb) + SIGSOUND = syscall.Signal(0x3e) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGSYSERROR = syscall.Signal(0x30) + SIGTALRM = syscall.Signal(0x26) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVIRT = syscall.Signal(0x25) + SIGVTALRM = syscall.Signal(0x22) + SIGWAITING = syscall.Signal(0x27) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "not owner"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "I/O error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "arg list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file number"}, + {10, "ECHILD", "no child processes"}, + {11, "EWOULDBLOCK", "resource temporarily unavailable"}, + {12, "ENOMEM", "not enough space"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "ENOTEMPTY", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "file table overflow"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "not a typewriter"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "ENOMSG", "no message of desired type"}, + {36, "EIDRM", "identifier removed"}, + {37, "ECHRNG", "channel number out of range"}, + {38, "EL2NSYNC", "level 2 not synchronized"}, + {39, "EL3HLT", "level 3 halted"}, + {40, "EL3RST", "level 3 reset"}, + {41, "ELNRNG", "link number out of range"}, + {42, "EUNATCH", "protocol driver not attached"}, + {43, "ENOCSI", "no CSI structure available"}, + {44, "EL2HLT", "level 2 halted"}, + {45, "EDEADLK", "deadlock condition if locked"}, + {46, "ENOTREADY", "device not ready"}, + {47, "EWRPROTECT", "write-protected media"}, + {48, "EFORMAT", "unformatted or incompatible media"}, + {49, "ENOLCK", "no locks available"}, + {50, "ENOCONNECT", "cannot Establish Connection"}, + {52, "ESTALE", "missing file or filesystem"}, + {53, "EDIST", "requests blocked by Administrator"}, + {55, "EINPROGRESS", "operation now in progress"}, + {56, "EALREADY", "operation already in progress"}, + {57, "ENOTSOCK", "socket operation on non-socket"}, + {58, "EDESTADDREQ", "destination address required"}, + {59, "EMSGSIZE", "message too long"}, + {60, "EPROTOTYPE", "protocol wrong type for socket"}, + {61, "ENOPROTOOPT", "protocol not available"}, + {62, "EPROTONOSUPPORT", "protocol not supported"}, + {63, "ESOCKTNOSUPPORT", "socket type not supported"}, + {64, "EOPNOTSUPP", "operation not supported on socket"}, + {65, "EPFNOSUPPORT", "protocol family not supported"}, + {66, "EAFNOSUPPORT", "addr family not supported by protocol"}, + {67, "EADDRINUSE", "address already in use"}, + {68, "EADDRNOTAVAIL", "can't assign requested address"}, + {69, "ENETDOWN", "network is down"}, + {70, "ENETUNREACH", "network is unreachable"}, + {71, "ENETRESET", "network dropped connection on reset"}, + {72, "ECONNABORTED", "software caused connection abort"}, + {73, "ECONNRESET", "connection reset by peer"}, + {74, "ENOBUFS", "no buffer space available"}, + {75, "EISCONN", "socket is already connected"}, + {76, "ENOTCONN", "socket is not connected"}, + {77, "ESHUTDOWN", "can't send after socket shutdown"}, + {78, "ETIMEDOUT", "connection timed out"}, + {79, "ECONNREFUSED", "connection refused"}, + {80, "EHOSTDOWN", "host is down"}, + {81, "EHOSTUNREACH", "no route to host"}, + {82, "ERESTART", "restart the system call"}, + {83, "EPROCLIM", "too many processes"}, + {84, "EUSERS", "too many users"}, + {85, "ELOOP", "too many levels of symbolic links"}, + {86, "ENAMETOOLONG", "file name too long"}, + {88, "EDQUOT", "disk quota exceeded"}, + {89, "ECORRUPT", "invalid file system control data detected"}, + {90, "ESYSERROR", "for future use "}, + {93, "EREMOTE", "item is not local to host"}, + {94, "ENOTRECOVERABLE", "state not recoverable "}, + {95, "EOWNERDEAD", "previous owner died "}, + {109, "ENOSYS", "function not implemented"}, + {110, "EMEDIA", "media surface error"}, + {111, "ESOFT", "I/O completed, but needs relocation"}, + {112, "ENOATTR", "no attribute found"}, + {113, "ESAD", "security Authentication Denied"}, + {114, "ENOTRUST", "not a Trusted Program"}, + {115, "ETOOMANYREFS", "too many references: can't splice"}, + {116, "EILSEQ", "invalid wide character"}, + {117, "ECANCELED", "asynchronous I/O cancelled"}, + {118, "ENOSR", "out of STREAMS resources"}, + {119, "ETIME", "system call timed out"}, + {120, "EBADMSG", "next message has wrong type"}, + {121, "EPROTO", "error in protocol"}, + {122, "ENODATA", "no message on stream head read q"}, + {123, "ENOSTR", "fd not associated with a stream"}, + {124, "ENOTSUP", "unsupported attribute value"}, + {125, "EMULTIHOP", "multihop is not allowed"}, + {126, "ENOLINK", "the server link has been severed"}, + {127, "EOVERFLOW", "value too large to be stored in data type"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "IOT/Abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "stopped (signal)"}, + {18, "SIGTSTP", "stopped"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible/complete"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {27, "SIGMSG", "input device data"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGPWR", "power-failure"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGPROF", "profiling timer expired"}, + {33, "SIGDANGER", "paging space low"}, + {34, "SIGVTALRM", "virtual timer expired"}, + {35, "SIGMIGRATE", "signal 35"}, + {36, "SIGPRE", "signal 36"}, + {37, "SIGVIRT", "signal 37"}, + {38, "SIGTALRM", "signal 38"}, + {39, "SIGWAITING", "signal 39"}, + {48, "SIGSYSERROR", "signal 48"}, + {49, "SIGCAPI", "signal 49"}, + {58, "SIGRECONFIG", "signal 58"}, + {59, "SIGCPUFAIL", "CPU Failure Predicted"}, + {60, "SIGKAP", "monitor mode granted"}, + {61, "SIGRETRACT", "monitor mode retracted"}, + {62, "SIGSOUND", "sound completed"}, + {63, "SIGSAK", "secure attention"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go new file mode 100644 index 000000000..ed04fd1b7 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go @@ -0,0 +1,1373 @@ +// mkerrors.sh -maix64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64,aix + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -maix64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_BYPASS = 0x19 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_INTF = 0x14 + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x1e + AF_NDD = 0x17 + AF_NETWARE = 0x16 + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_RIF = 0x15 + AF_ROUTE = 0x11 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ALTWERASE = 0x400000 + ARPHRD_802_3 = 0x6 + ARPHRD_802_5 = 0x6 + ARPHRD_ETHER = 0x1 + ARPHRD_FDDI = 0x1 + B0 = 0x0 + B110 = 0x3 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2400 = 0xb + B300 = 0x7 + B38400 = 0xf + B4800 = 0xc + B50 = 0x1 + B600 = 0x8 + B75 = 0x2 + B9600 = 0xd + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x1000 + BSDLY = 0x1000 + CAP_AACCT = 0x6 + CAP_ARM_APPLICATION = 0x5 + CAP_BYPASS_RAC_VMM = 0x3 + CAP_CLEAR = 0x0 + CAP_CREDENTIALS = 0x7 + CAP_EFFECTIVE = 0x1 + CAP_EWLM_AGENT = 0x4 + CAP_INHERITABLE = 0x2 + CAP_MAXIMUM = 0x7 + CAP_NUMA_ATTACH = 0x2 + CAP_PERMITTED = 0x3 + CAP_PROPAGATE = 0x1 + CAP_PROPOGATE = 0x1 + CAP_SET = 0x1 + CBAUD = 0xf + CFLUSH = 0xf + CIBAUD = 0xf0000 + CLOCAL = 0x800 + CLOCK_MONOTONIC = 0xa + CLOCK_PROCESS_CPUTIME_ID = 0xb + CLOCK_REALTIME = 0x9 + CLOCK_THREAD_CPUTIME_ID = 0xc + CR0 = 0x0 + CR1 = 0x100 + CR2 = 0x200 + CR3 = 0x300 + CRDLY = 0x300 + CREAD = 0x80 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIOCGIFCONF = -0x3fef96dc + CSIZE = 0x30 + CSMAP_DIR = "/usr/lib/nls/csmap/" + CSTART = '\021' + CSTOP = '\023' + CSTOPB = 0x40 + CSUSP = 0x1a + ECHO = 0x8 + ECHOCTL = 0x20000 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x80000 + ECHONL = 0x40 + ECHOPRT = 0x40000 + ECH_ICMPID = 0x2 + ETHERNET_CSMACD = 0x6 + EVENP = 0x80 + EXCONTINUE = 0x0 + EXDLOK = 0x3 + EXIO = 0x2 + EXPGIO = 0x0 + EXRESUME = 0x2 + EXRETURN = 0x1 + EXSIG = 0x4 + EXTA = 0xe + EXTB = 0xf + EXTRAP = 0x1 + EYEC_RTENTRYA = 0x257274656e747241 + EYEC_RTENTRYF = 0x257274656e747246 + E_ACC = 0x0 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0xfffe + FF0 = 0x0 + FF1 = 0x2000 + FFDLY = 0x2000 + FLUSHBAND = 0x40 + FLUSHLOW = 0x8 + FLUSHO = 0x100000 + FLUSHR = 0x1 + FLUSHRW = 0x3 + FLUSHW = 0x2 + F_CLOSEM = 0xa + F_DUP2FD = 0xe + F_DUPFD = 0x0 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0xb + F_GETLK64 = 0xb + F_GETOWN = 0x8 + F_LOCK = 0x1 + F_OK = 0x0 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0xc + F_SETLK64 = 0xc + F_SETLKW = 0xd + F_SETLKW64 = 0xd + F_SETOWN = 0x9 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_TSTLK = 0xf + F_ULOCK = 0x0 + F_UNLCK = 0x3 + F_WRLCK = 0x2 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMP6_FILTER = 0x26 + ICMP6_SEC_SEND_DEL = 0x46 + ICMP6_SEC_SEND_GET = 0x47 + ICMP6_SEC_SEND_SET = 0x44 + ICMP6_SEC_SEND_SET_CGA_ADDR = 0x45 + ICRNL = 0x100 + IEXTEN = 0x200000 + IFA_FIRSTALIAS = 0x2000 + IFA_ROUTE = 0x1 + IFF_64BIT = 0x4000000 + IFF_ALLCAST = 0x20000 + IFF_ALLMULTI = 0x200 + IFF_BPF = 0x8000000 + IFF_BRIDGE = 0x40000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x80c52 + IFF_CHECKSUM_OFFLOAD = 0x10000000 + IFF_D1 = 0x8000 + IFF_D2 = 0x4000 + IFF_D3 = 0x2000 + IFF_D4 = 0x1000 + IFF_DEBUG = 0x4 + IFF_DEVHEALTH = 0x4000 + IFF_DO_HW_LOOPBACK = 0x10000 + IFF_GROUP_ROUTING = 0x2000000 + IFF_IFBUFMGT = 0x800000 + IFF_LINK0 = 0x100000 + IFF_LINK1 = 0x200000 + IFF_LINK2 = 0x400000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x80000 + IFF_NOARP = 0x80 + IFF_NOECHO = 0x800 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_PSEG = 0x40000000 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_SNAP = 0x8000 + IFF_TCP_DISABLE_CKSUM = 0x20000000 + IFF_TCP_NOCKSUM = 0x1000000 + IFF_UP = 0x1 + IFF_VIPA = 0x80000000 + IFNAMSIZ = 0x10 + IFO_FLUSH = 0x1 + IFT_1822 = 0x2 + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_CEPT = 0x13 + IFT_CLUSTER = 0x3e + IFT_DS3 = 0x1e + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FCS = 0x3a + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_GIFTUNNEL = 0x3c + IFT_HDH1822 = 0x3 + IFT_HF = 0x3d + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IB = 0xc7 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SN = 0x38 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SP = 0x39 + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_TUNNEL = 0x3b + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_VIPA = 0x37 + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x10000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_USE = 0x1 + IPPROTO_AH = 0x33 + IPPROTO_BIP = 0x53 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GIF = 0x8c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_LOCAL = 0x3f + IPPROTO_MAX = 0x100 + IPPROTO_MH = 0x87 + IPPROTO_NONE = 0x3b + IPPROTO_PUP = 0xc + IPPROTO_QOS = 0x2d + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPV6_ADDRFORM = 0x16 + IPV6_ADDR_PREFERENCES = 0x4a + IPV6_ADD_MEMBERSHIP = 0xc + IPV6_AIXRAWSOCKET = 0x39 + IPV6_CHECKSUM = 0x27 + IPV6_DONTFRAG = 0x2d + IPV6_DROP_MEMBERSHIP = 0xd + IPV6_DSTOPTS = 0x36 + IPV6_FLOWINFO_FLOWLABEL = 0xffffff + IPV6_FLOWINFO_PRIFLOW = 0xfffffff + IPV6_FLOWINFO_PRIORITY = 0xf000000 + IPV6_FLOWINFO_SRFLAG = 0x10000000 + IPV6_FLOWINFO_VERSION = 0xf0000000 + IPV6_HOPLIMIT = 0x28 + IPV6_HOPOPTS = 0x34 + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MIPDSTOPTS = 0x36 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_NOPROBE = 0x1c + IPV6_PATHMTU = 0x2e + IPV6_PKTINFO = 0x21 + IPV6_PKTOPTIONS = 0x24 + IPV6_PRIORITY_10 = 0xa000000 + IPV6_PRIORITY_11 = 0xb000000 + IPV6_PRIORITY_12 = 0xc000000 + IPV6_PRIORITY_13 = 0xd000000 + IPV6_PRIORITY_14 = 0xe000000 + IPV6_PRIORITY_15 = 0xf000000 + IPV6_PRIORITY_8 = 0x8000000 + IPV6_PRIORITY_9 = 0x9000000 + IPV6_PRIORITY_BULK = 0x4000000 + IPV6_PRIORITY_CONTROL = 0x7000000 + IPV6_PRIORITY_FILLER = 0x1000000 + IPV6_PRIORITY_INTERACTIVE = 0x6000000 + IPV6_PRIORITY_RESERVED1 = 0x3000000 + IPV6_PRIORITY_RESERVED2 = 0x5000000 + IPV6_PRIORITY_UNATTENDED = 0x2000000 + IPV6_PRIORITY_UNCHARACTERIZED = 0x0 + IPV6_RECVDSTOPTS = 0x38 + IPV6_RECVHOPLIMIT = 0x29 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVHOPS = 0x22 + IPV6_RECVIF = 0x1e + IPV6_RECVPATHMTU = 0x2f + IPV6_RECVPKTINFO = 0x23 + IPV6_RECVRTHDR = 0x33 + IPV6_RECVSRCRT = 0x1d + IPV6_RECVTCLASS = 0x2a + IPV6_RTHDR = 0x32 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RTHDR_TYPE_2 = 0x2 + IPV6_SENDIF = 0x1f + IPV6_SRFLAG_LOOSE = 0x0 + IPV6_SRFLAG_STRICT = 0x10000000 + IPV6_TCLASS = 0x2b + IPV6_TOKEN_LENGTH = 0x40 + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2c + IPV6_V6ONLY = 0x25 + IPV6_VERSION = 0x60000000 + IP_ADDRFORM = 0x16 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x3c + IP_BLOCK_SOURCE = 0x3a + IP_BROADCAST_IF = 0x10 + IP_CACHE_LINE_SIZE = 0x80 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DHCPMODE = 0x11 + IP_DONTFRAG = 0x19 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x3d + IP_FINDPMTU = 0x1a + IP_HDRINCL = 0x2 + IP_INC_MEMBERSHIPS = 0x14 + IP_INIT_MEMBERSHIP = 0x14 + IP_MAXPACKET = 0xffff + IP_MF = 0x2000 + IP_MSS = 0x240 + IP_MULTICAST_HOPS = 0xa + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OPT = 0x1b + IP_OPTIONS = 0x1 + IP_PMTUAGE = 0x1b + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVIFINFO = 0xf + IP_RECVINTERFACE = 0x20 + IP_RECVMACHDR = 0xe + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x22 + IP_RETOPTS = 0x8 + IP_SOURCE_FILTER = 0x48 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x3b + IP_UNICAST_HOPS = 0x4 + ISIG = 0x1 + ISTRIP = 0x20 + IUCLC = 0x800 + IXANY = 0x1000 + IXOFF = 0x400 + IXON = 0x200 + I_FLUSH = 0x20005305 + LNOFLSH = 0x8000 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ANON = 0x10 + MAP_ANONYMOUS = 0x10 + MAP_FILE = 0x0 + MAP_FIXED = 0x100 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_TYPE = 0xf0 + MAP_VARIABLE = 0x0 + MCL_CURRENT = 0x100 + MCL_FUTURE = 0x200 + MSG_ANY = 0x4 + MSG_ARGEXT = 0x400 + MSG_BAND = 0x2 + MSG_COMPAT = 0x8000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_EOR = 0x8 + MSG_HIPRI = 0x1 + MSG_MAXIOVLEN = 0x10 + MSG_MPEG2 = 0x80 + MSG_NONBLOCK = 0x4000 + MSG_NOSIGNAL = 0x100 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITFORONE = 0x200 + MS_ASYNC = 0x10 + MS_EINTR = 0x80 + MS_INVALIDATE = 0x40 + MS_PER_SEC = 0x3e8 + MS_SYNC = 0x20 + NL0 = 0x0 + NL1 = 0x4000 + NL2 = 0x8000 + NL3 = 0xc000 + NLDLY = 0x4000 + NOFLSH = 0x80 + NOFLUSH = 0x80000000 + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + ONOEOT = 0x80000 + OPOST = 0x1 + OXTABS = 0x40000 + O_ACCMODE = 0x23 + O_APPEND = 0x8 + O_CIO = 0x80 + O_CIOR = 0x800000000 + O_CLOEXEC = 0x800000 + O_CREAT = 0x100 + O_DEFER = 0x2000 + O_DELAY = 0x4000 + O_DIRECT = 0x8000000 + O_DIRECTORY = 0x80000 + O_DSYNC = 0x400000 + O_EFSOFF = 0x400000000 + O_EFSON = 0x200000000 + O_EXCL = 0x400 + O_EXEC = 0x20 + O_LARGEFILE = 0x4000000 + O_NDELAY = 0x8000 + O_NOCACHE = 0x100000 + O_NOCTTY = 0x800 + O_NOFOLLOW = 0x1000000 + O_NONBLOCK = 0x4 + O_NONE = 0x3 + O_NSHARE = 0x10000 + O_RAW = 0x100000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSHARE = 0x1000 + O_RSYNC = 0x200000 + O_SEARCH = 0x20 + O_SNAPSHOT = 0x40 + O_SYNC = 0x10 + O_TRUNC = 0x200 + O_TTY_INIT = 0x0 + O_WRONLY = 0x1 + PARENB = 0x100 + PAREXT = 0x100000 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_64BIT = 0x20 + PR_ADDR = 0x2 + PR_ARGEXT = 0x400 + PR_ATOMIC = 0x1 + PR_CONNREQUIRED = 0x4 + PR_FASTHZ = 0x5 + PR_INP = 0x40 + PR_INTRLEVEL = 0x8000 + PR_MLS = 0x100 + PR_MLS_1_LABEL = 0x200 + PR_NOEOR = 0x4000 + PR_RIGHTS = 0x10 + PR_SLOWHZ = 0x2 + PR_WANTRCVD = 0x8 + RLIMIT_AS = 0x6 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x9 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DOWNSTREAM = 0x100 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTC_IA64 = 0x3 + RTC_POWER = 0x1 + RTC_POWER_PC = 0x2 + RTF_ACTIVE_DGD = 0x1000000 + RTF_BCE = 0x80000 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_BUL = 0x2000 + RTF_CLONE = 0x10000 + RTF_CLONED = 0x20000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FREE_IN_PROG = 0x4000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_PERMANENT6 = 0x8000000 + RTF_PINNED = 0x100000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_SMALLMTU = 0x40000 + RTF_STATIC = 0x800 + RTF_STOPSRCH = 0x2000000 + RTF_UNREACHABLE = 0x10000000 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_EXPIRE = 0xf + RTM_GET = 0x4 + RTM_GETNEXT = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTLOST = 0x10 + RTM_RTTUNIT = 0xf4240 + RTM_SAMEADDR = 0x12 + RTM_SET = 0x13 + RTM_VERSION = 0x2 + RTM_VERSION_GR = 0x4 + RTM_VERSION_GR_COMPAT = 0x3 + RTM_VERSION_POLICY = 0x5 + RTM_VERSION_POLICY_EXT = 0x6 + RTM_VERSION_POLICY_PRFN = 0x7 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIGMAX64 = 0xff + SIGQUEUE_MAX = 0x20 + SIOCADDIFVIPA = 0x20006942 + SIOCADDMTU = -0x7ffb9690 + SIOCADDMULTI = -0x7fdf96cf + SIOCADDNETID = -0x7fd796a9 + SIOCADDRT = -0x7fc78df6 + SIOCAIFADDR = -0x7fbf96e6 + SIOCATMARK = 0x40047307 + SIOCDARP = -0x7fb396e0 + SIOCDELIFVIPA = 0x20006943 + SIOCDELMTU = -0x7ffb968f + SIOCDELMULTI = -0x7fdf96ce + SIOCDELPMTU = -0x7fd78ff6 + SIOCDELRT = -0x7fc78df5 + SIOCDIFADDR = -0x7fd796e7 + SIOCDNETOPT = -0x3ffe9680 + SIOCDX25XLATE = -0x7fd7969b + SIOCFIFADDR = -0x7fdf966d + SIOCGARP = -0x3fb396da + SIOCGETMTUS = 0x2000696f + SIOCGETSGCNT = -0x3feb8acc + SIOCGETVIFCNT = -0x3feb8acd + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = -0x3fd796df + SIOCGIFADDRS = 0x2000698c + SIOCGIFBAUDRATE = -0x3fd79693 + SIOCGIFBRDADDR = -0x3fd796dd + SIOCGIFCONF = -0x3fef96bb + SIOCGIFCONFGLOB = -0x3fef9670 + SIOCGIFDSTADDR = -0x3fd796de + SIOCGIFFLAGS = -0x3fd796ef + SIOCGIFGIDLIST = 0x20006968 + SIOCGIFHWADDR = -0x3fab966b + SIOCGIFMETRIC = -0x3fd796e9 + SIOCGIFMTU = -0x3fd796aa + SIOCGIFNETMASK = -0x3fd796db + SIOCGIFOPTIONS = -0x3fd796d6 + SIOCGISNO = -0x3fd79695 + SIOCGLOADF = -0x3ffb967e + SIOCGLOWAT = 0x40047303 + SIOCGNETOPT = -0x3ffe96a5 + SIOCGNETOPT1 = -0x3fdf967f + SIOCGNMTUS = 0x2000696e + SIOCGPGRP = 0x40047309 + SIOCGSIZIFCONF = 0x4004696a + SIOCGSRCFILTER = -0x3fe796cb + SIOCGTUNEPHASE = -0x3ffb9676 + SIOCGX25XLATE = -0x3fd7969c + SIOCIFATTACH = -0x7fdf9699 + SIOCIFDETACH = -0x7fdf969a + SIOCIFGETPKEY = -0x7fdf969b + SIOCIF_ATM_DARP = -0x7fdf9683 + SIOCIF_ATM_DUMPARP = -0x7fdf9685 + SIOCIF_ATM_GARP = -0x7fdf9682 + SIOCIF_ATM_IDLE = -0x7fdf9686 + SIOCIF_ATM_SARP = -0x7fdf9681 + SIOCIF_ATM_SNMPARP = -0x7fdf9687 + SIOCIF_ATM_SVC = -0x7fdf9684 + SIOCIF_ATM_UBR = -0x7fdf9688 + SIOCIF_DEVHEALTH = -0x7ffb966c + SIOCIF_IB_ARP_INCOMP = -0x7fdf9677 + SIOCIF_IB_ARP_TIMER = -0x7fdf9678 + SIOCIF_IB_CLEAR_PINFO = -0x3fdf966f + SIOCIF_IB_DEL_ARP = -0x7fdf967f + SIOCIF_IB_DEL_PINFO = -0x3fdf9670 + SIOCIF_IB_DUMP_ARP = -0x7fdf9680 + SIOCIF_IB_GET_ARP = -0x7fdf967e + SIOCIF_IB_GET_INFO = -0x3f879675 + SIOCIF_IB_GET_STATS = -0x3f879672 + SIOCIF_IB_NOTIFY_ADDR_REM = -0x3f87966a + SIOCIF_IB_RESET_STATS = -0x3f879671 + SIOCIF_IB_RESIZE_CQ = -0x7fdf9679 + SIOCIF_IB_SET_ARP = -0x7fdf967d + SIOCIF_IB_SET_PKEY = -0x7fdf967c + SIOCIF_IB_SET_PORT = -0x7fdf967b + SIOCIF_IB_SET_QKEY = -0x7fdf9676 + SIOCIF_IB_SET_QSIZE = -0x7fdf967a + SIOCLISTIFVIPA = 0x20006944 + SIOCSARP = -0x7fb396e2 + SIOCSHIWAT = 0xffffffff80047300 + SIOCSIFADDR = -0x7fd796f4 + SIOCSIFADDRORI = -0x7fdb9673 + SIOCSIFBRDADDR = -0x7fd796ed + SIOCSIFDSTADDR = -0x7fd796f2 + SIOCSIFFLAGS = -0x7fd796f0 + SIOCSIFGIDLIST = 0x20006969 + SIOCSIFMETRIC = -0x7fd796e8 + SIOCSIFMTU = -0x7fd796a8 + SIOCSIFNETDUMP = -0x7fd796e4 + SIOCSIFNETMASK = -0x7fd796ea + SIOCSIFOPTIONS = -0x7fd796d7 + SIOCSIFSUBCHAN = -0x7fd796e5 + SIOCSISNO = -0x7fd79694 + SIOCSLOADF = -0x3ffb967d + SIOCSLOWAT = 0xffffffff80047302 + SIOCSNETOPT = -0x7ffe96a6 + SIOCSPGRP = 0xffffffff80047308 + SIOCSX25XLATE = -0x7fd7969d + SOCK_CONN_DGRAM = 0x6 + SOCK_DGRAM = 0x2 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x400 + SO_ACCEPTCONN = 0x2 + SO_AUDIT = 0x8000 + SO_BROADCAST = 0x20 + SO_CKSUMRECV = 0x800 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_KERNACCEPT = 0x2000 + SO_LINGER = 0x80 + SO_NOMULTIPATH = 0x4000 + SO_NOREUSEADDR = 0x1000 + SO_OOBINLINE = 0x100 + SO_PEERID = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMPNS = 0x100a + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USE_IFBUFS = 0x400 + S_BANDURG = 0x400 + S_EMODFMT = 0x3c000000 + S_ENFMT = 0x400 + S_ERROR = 0x100 + S_HANGUP = 0x200 + S_HIPRI = 0x2 + S_ICRYPTO = 0x80000 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFJOURNAL = 0x10000 + S_IFLNK = 0xa000 + S_IFMPX = 0x2200 + S_IFMT = 0xf000 + S_IFPDIR = 0x4000000 + S_IFPSDIR = 0x8000000 + S_IFPSSDIR = 0xc000000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFSYSEA = 0x30000000 + S_INPUT = 0x1 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_ITCB = 0x1000000 + S_ITP = 0x800000 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXACL = 0x2000000 + S_IXATTR = 0x40000 + S_IXGRP = 0x8 + S_IXINTERFACE = 0x100000 + S_IXMOD = 0x40000000 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + S_MSG = 0x8 + S_OUTPUT = 0x4 + S_RDBAND = 0x20 + S_RDNORM = 0x10 + S_RESERVED1 = 0x20000 + S_RESERVED2 = 0x200000 + S_RESERVED3 = 0x400000 + S_RESERVED4 = 0x80000000 + S_RESFMT1 = 0x10000000 + S_RESFMT10 = 0x34000000 + S_RESFMT11 = 0x38000000 + S_RESFMT12 = 0x3c000000 + S_RESFMT2 = 0x14000000 + S_RESFMT3 = 0x18000000 + S_RESFMT4 = 0x1c000000 + S_RESFMT5 = 0x20000000 + S_RESFMT6 = 0x24000000 + S_RESFMT7 = 0x28000000 + S_RESFMT8 = 0x2c000000 + S_WRBAND = 0x80 + S_WRNORM = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0xc00 + TABDLY = 0xc00 + TCFLSH = 0x540c + TCGETA = 0x5405 + TCGETS = 0x5401 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_24DAYS_WORTH_OF_SLOWTICKS = 0x3f4800 + TCP_ACLADD = 0x23 + TCP_ACLBIND = 0x26 + TCP_ACLCLEAR = 0x22 + TCP_ACLDEL = 0x24 + TCP_ACLDENY = 0x8 + TCP_ACLFLUSH = 0x21 + TCP_ACLGID = 0x1 + TCP_ACLLS = 0x25 + TCP_ACLSUBNET = 0x4 + TCP_ACLUID = 0x2 + TCP_CWND_DF = 0x16 + TCP_CWND_IF = 0x15 + TCP_DELAY_ACK_FIN = 0x2 + TCP_DELAY_ACK_SYN = 0x1 + TCP_FASTNAME = 0x101080a + TCP_KEEPCNT = 0x13 + TCP_KEEPIDLE = 0x11 + TCP_KEEPINTVL = 0x12 + TCP_LSPRIV = 0x29 + TCP_LUID = 0x20 + TCP_MAXBURST = 0x8 + TCP_MAXDF = 0x64 + TCP_MAXIF = 0x64 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAXWINDOWSCALE = 0xe + TCP_MAX_SACK = 0x4 + TCP_MSS = 0x5b4 + TCP_NODELAY = 0x1 + TCP_NODELAYACK = 0x14 + TCP_NOREDUCE_CWND_EXIT_FRXMT = 0x19 + TCP_NOREDUCE_CWND_IN_FRXMT = 0x18 + TCP_NOTENTER_SSTART = 0x17 + TCP_OPT = 0x19 + TCP_RFC1323 = 0x4 + TCP_SETPRIV = 0x27 + TCP_STDURG = 0x10 + TCP_TIMESTAMP_OPTLEN = 0xc + TCP_UNSETPRIV = 0x28 + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETSF = 0x5404 + TCSETSW = 0x5403 + TCXONC = 0x540b + TIOC = 0x5400 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0xffffffff80047462 + TIOCEXCL = 0x2000740d + TIOCFLUSH = 0xffffffff80047410 + TIOCGETC = 0x40067412 + TIOCGETD = 0x40047400 + TIOCGETP = 0x40067408 + TIOCGLTC = 0x40067474 + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047448 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCHPCL = 0x20007402 + TIOCLBIC = 0xffffffff8004747e + TIOCLBIS = 0xffffffff8004747f + TIOCLGET = 0x4004747c + TIOCLSET = 0xffffffff8004747d + TIOCMBIC = 0xffffffff8004746b + TIOCMBIS = 0xffffffff8004746c + TIOCMGET = 0x4004746a + TIOCMIWAIT = 0xffffffff80047464 + TIOCMODG = 0x40047403 + TIOCMODS = 0xffffffff80047404 + TIOCMSET = 0xffffffff8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0xffffffff80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0xffffffff80047469 + TIOCSBRK = 0x2000747b + TIOCSDTR = 0x20007479 + TIOCSETC = 0xffffffff80067411 + TIOCSETD = 0xffffffff80047401 + TIOCSETN = 0xffffffff8006740a + TIOCSETP = 0xffffffff80067409 + TIOCSLTC = 0xffffffff80067475 + TIOCSPGRP = 0xffffffff80047476 + TIOCSSIZE = 0xffffffff80087467 + TIOCSTART = 0x2000746e + TIOCSTI = 0xffffffff80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0xffffffff80087467 + TIOCUCNTL = 0xffffffff80047466 + TOSTOP = 0x10000 + UTIME_NOW = -0x2 + UTIME_OMIT = -0x3 + VDISCRD = 0xc + VDSUSP = 0xa + VEOF = 0x4 + VEOL = 0x5 + VEOL2 = 0x6 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xe + VMIN = 0x4 + VQUIT = 0x1 + VREPRINT = 0xb + VSTART = 0x7 + VSTOP = 0x8 + VSTRT = 0x7 + VSUSP = 0x9 + VT0 = 0x0 + VT1 = 0x8000 + VTDELAY = 0x2000 + VTDLY = 0x8000 + VTIME = 0x5 + VWERSE = 0xd + WPARSTART = 0x1 + WPARSTOP = 0x2 + WPARTTYNAME = "Global" + XCASE = 0x4 + XTABS = 0xc00 + _FDATAFLUSH = 0x2000000000 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x43) + EADDRNOTAVAIL = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x42) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x38) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x78) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x75) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x25) + ECLONEME = syscall.Errno(0x52) + ECONNABORTED = syscall.Errno(0x48) + ECONNREFUSED = syscall.Errno(0x4f) + ECONNRESET = syscall.Errno(0x49) + ECORRUPT = syscall.Errno(0x59) + EDEADLK = syscall.Errno(0x2d) + EDESTADDREQ = syscall.Errno(0x3a) + EDESTADDRREQ = syscall.Errno(0x3a) + EDIST = syscall.Errno(0x35) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x58) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFORMAT = syscall.Errno(0x30) + EHOSTDOWN = syscall.Errno(0x50) + EHOSTUNREACH = syscall.Errno(0x51) + EIDRM = syscall.Errno(0x24) + EILSEQ = syscall.Errno(0x74) + EINPROGRESS = syscall.Errno(0x37) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x4b) + EISDIR = syscall.Errno(0x15) + EL2HLT = syscall.Errno(0x2c) + EL2NSYNC = syscall.Errno(0x26) + EL3HLT = syscall.Errno(0x27) + EL3RST = syscall.Errno(0x28) + ELNRNG = syscall.Errno(0x29) + ELOOP = syscall.Errno(0x55) + EMEDIA = syscall.Errno(0x6e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x3b) + EMULTIHOP = syscall.Errno(0x7d) + ENAMETOOLONG = syscall.Errno(0x56) + ENETDOWN = syscall.Errno(0x45) + ENETRESET = syscall.Errno(0x47) + ENETUNREACH = syscall.Errno(0x46) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x70) + ENOBUFS = syscall.Errno(0x4a) + ENOCONNECT = syscall.Errno(0x32) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x7a) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x31) + ENOLINK = syscall.Errno(0x7e) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x23) + ENOPROTOOPT = syscall.Errno(0x3d) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x76) + ENOSTR = syscall.Errno(0x7b) + ENOSYS = syscall.Errno(0x6d) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x4c) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x11) + ENOTREADY = syscall.Errno(0x2e) + ENOTRECOVERABLE = syscall.Errno(0x5e) + ENOTRUST = syscall.Errno(0x72) + ENOTSOCK = syscall.Errno(0x39) + ENOTSUP = syscall.Errno(0x7c) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x40) + EOVERFLOW = syscall.Errno(0x7f) + EOWNERDEAD = syscall.Errno(0x5f) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x41) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x53) + EPROTO = syscall.Errno(0x79) + EPROTONOSUPPORT = syscall.Errno(0x3e) + EPROTOTYPE = syscall.Errno(0x3c) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x5d) + ERESTART = syscall.Errno(0x52) + EROFS = syscall.Errno(0x1e) + ESAD = syscall.Errno(0x71) + ESHUTDOWN = syscall.Errno(0x4d) + ESOCKTNOSUPPORT = syscall.Errno(0x3f) + ESOFT = syscall.Errno(0x6f) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x34) + ESYSERROR = syscall.Errno(0x5a) + ETIME = syscall.Errno(0x77) + ETIMEDOUT = syscall.Errno(0x4e) + ETOOMANYREFS = syscall.Errno(0x73) + ETXTBSY = syscall.Errno(0x1a) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x54) + EWOULDBLOCK = syscall.Errno(0xb) + EWRPROTECT = syscall.Errno(0x2f) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGAIO = syscall.Signal(0x17) + SIGALRM = syscall.Signal(0xe) + SIGALRM1 = syscall.Signal(0x26) + SIGBUS = syscall.Signal(0xa) + SIGCAPI = syscall.Signal(0x31) + SIGCHLD = syscall.Signal(0x14) + SIGCLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGCPUFAIL = syscall.Signal(0x3b) + SIGDANGER = syscall.Signal(0x21) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGGRANT = syscall.Signal(0x3c) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOINT = syscall.Signal(0x10) + SIGIOT = syscall.Signal(0x6) + SIGKAP = syscall.Signal(0x3c) + SIGKILL = syscall.Signal(0x9) + SIGLOST = syscall.Signal(0x6) + SIGMAX = syscall.Signal(0xff) + SIGMAX32 = syscall.Signal(0x3f) + SIGMIGRATE = syscall.Signal(0x23) + SIGMSG = syscall.Signal(0x1b) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x17) + SIGPRE = syscall.Signal(0x24) + SIGPROF = syscall.Signal(0x20) + SIGPTY = syscall.Signal(0x17) + SIGPWR = syscall.Signal(0x1d) + SIGQUIT = syscall.Signal(0x3) + SIGRECONFIG = syscall.Signal(0x3a) + SIGRETRACT = syscall.Signal(0x3d) + SIGSAK = syscall.Signal(0x3f) + SIGSEGV = syscall.Signal(0xb) + SIGSOUND = syscall.Signal(0x3e) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGSYSERROR = syscall.Signal(0x30) + SIGTALRM = syscall.Signal(0x26) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVIRT = syscall.Signal(0x25) + SIGVTALRM = syscall.Signal(0x22) + SIGWAITING = syscall.Signal(0x27) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "not owner"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "I/O error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "arg list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file number"}, + {10, "ECHILD", "no child processes"}, + {11, "EWOULDBLOCK", "resource temporarily unavailable"}, + {12, "ENOMEM", "not enough space"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "ENOTEMPTY", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "file table overflow"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "not a typewriter"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "ENOMSG", "no message of desired type"}, + {36, "EIDRM", "identifier removed"}, + {37, "ECHRNG", "channel number out of range"}, + {38, "EL2NSYNC", "level 2 not synchronized"}, + {39, "EL3HLT", "level 3 halted"}, + {40, "EL3RST", "level 3 reset"}, + {41, "ELNRNG", "link number out of range"}, + {42, "EUNATCH", "protocol driver not attached"}, + {43, "ENOCSI", "no CSI structure available"}, + {44, "EL2HLT", "level 2 halted"}, + {45, "EDEADLK", "deadlock condition if locked"}, + {46, "ENOTREADY", "device not ready"}, + {47, "EWRPROTECT", "write-protected media"}, + {48, "EFORMAT", "unformatted or incompatible media"}, + {49, "ENOLCK", "no locks available"}, + {50, "ENOCONNECT", "cannot Establish Connection"}, + {52, "ESTALE", "missing file or filesystem"}, + {53, "EDIST", "requests blocked by Administrator"}, + {55, "EINPROGRESS", "operation now in progress"}, + {56, "EALREADY", "operation already in progress"}, + {57, "ENOTSOCK", "socket operation on non-socket"}, + {58, "EDESTADDREQ", "destination address required"}, + {59, "EMSGSIZE", "message too long"}, + {60, "EPROTOTYPE", "protocol wrong type for socket"}, + {61, "ENOPROTOOPT", "protocol not available"}, + {62, "EPROTONOSUPPORT", "protocol not supported"}, + {63, "ESOCKTNOSUPPORT", "socket type not supported"}, + {64, "EOPNOTSUPP", "operation not supported on socket"}, + {65, "EPFNOSUPPORT", "protocol family not supported"}, + {66, "EAFNOSUPPORT", "addr family not supported by protocol"}, + {67, "EADDRINUSE", "address already in use"}, + {68, "EADDRNOTAVAIL", "can't assign requested address"}, + {69, "ENETDOWN", "network is down"}, + {70, "ENETUNREACH", "network is unreachable"}, + {71, "ENETRESET", "network dropped connection on reset"}, + {72, "ECONNABORTED", "software caused connection abort"}, + {73, "ECONNRESET", "connection reset by peer"}, + {74, "ENOBUFS", "no buffer space available"}, + {75, "EISCONN", "socket is already connected"}, + {76, "ENOTCONN", "socket is not connected"}, + {77, "ESHUTDOWN", "can't send after socket shutdown"}, + {78, "ETIMEDOUT", "connection timed out"}, + {79, "ECONNREFUSED", "connection refused"}, + {80, "EHOSTDOWN", "host is down"}, + {81, "EHOSTUNREACH", "no route to host"}, + {82, "ERESTART", "restart the system call"}, + {83, "EPROCLIM", "too many processes"}, + {84, "EUSERS", "too many users"}, + {85, "ELOOP", "too many levels of symbolic links"}, + {86, "ENAMETOOLONG", "file name too long"}, + {88, "EDQUOT", "disk quota exceeded"}, + {89, "ECORRUPT", "invalid file system control data detected"}, + {90, "ESYSERROR", "for future use "}, + {93, "EREMOTE", "item is not local to host"}, + {94, "ENOTRECOVERABLE", "state not recoverable "}, + {95, "EOWNERDEAD", "previous owner died "}, + {109, "ENOSYS", "function not implemented"}, + {110, "EMEDIA", "media surface error"}, + {111, "ESOFT", "I/O completed, but needs relocation"}, + {112, "ENOATTR", "no attribute found"}, + {113, "ESAD", "security Authentication Denied"}, + {114, "ENOTRUST", "not a Trusted Program"}, + {115, "ETOOMANYREFS", "too many references: can't splice"}, + {116, "EILSEQ", "invalid wide character"}, + {117, "ECANCELED", "asynchronous I/O cancelled"}, + {118, "ENOSR", "out of STREAMS resources"}, + {119, "ETIME", "system call timed out"}, + {120, "EBADMSG", "next message has wrong type"}, + {121, "EPROTO", "error in protocol"}, + {122, "ENODATA", "no message on stream head read q"}, + {123, "ENOSTR", "fd not associated with a stream"}, + {124, "ENOTSUP", "unsupported attribute value"}, + {125, "EMULTIHOP", "multihop is not allowed"}, + {126, "ENOLINK", "the server link has been severed"}, + {127, "EOVERFLOW", "value too large to be stored in data type"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "IOT/Abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "stopped (signal)"}, + {18, "SIGTSTP", "stopped"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible/complete"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {27, "SIGMSG", "input device data"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGPWR", "power-failure"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGPROF", "profiling timer expired"}, + {33, "SIGDANGER", "paging space low"}, + {34, "SIGVTALRM", "virtual timer expired"}, + {35, "SIGMIGRATE", "signal 35"}, + {36, "SIGPRE", "signal 36"}, + {37, "SIGVIRT", "signal 37"}, + {38, "SIGTALRM", "signal 38"}, + {39, "SIGWAITING", "signal 39"}, + {48, "SIGSYSERROR", "signal 48"}, + {49, "SIGCAPI", "signal 49"}, + {58, "SIGRECONFIG", "signal 58"}, + {59, "SIGCPUFAIL", "CPU Failure Predicted"}, + {60, "SIGGRANT", "monitor mode granted"}, + {61, "SIGRETRACT", "monitor mode retracted"}, + {62, "SIGSOUND", "sound completed"}, + {63, "SIGMAX32", "secure attention"}, + {255, "SIGMAX", "signal 255"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go new file mode 100644 index 000000000..3b39d7408 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go @@ -0,0 +1,1783 @@ +// mkerrors.sh -m32 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,darwin + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m32 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1c + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1e + AF_IPX = 0x17 + AF_ISDN = 0x1c + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x28 + AF_NATM = 0x1f + AF_NDRV = 0x1b + AF_NETBIOS = 0x21 + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PPP = 0x22 + AF_PUP = 0x4 + AF_RESERVED_36 = 0x24 + AF_ROUTE = 0x11 + AF_SIP = 0x18 + AF_SNA = 0xb + AF_SYSTEM = 0x20 + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_UTUN = 0x26 + ALTWERASE = 0x200 + ATTR_BIT_MAP_COUNT = 0x5 + ATTR_CMN_ACCESSMASK = 0x20000 + ATTR_CMN_ACCTIME = 0x1000 + ATTR_CMN_ADDEDTIME = 0x10000000 + ATTR_CMN_BKUPTIME = 0x2000 + ATTR_CMN_CHGTIME = 0x800 + ATTR_CMN_CRTIME = 0x200 + ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000 + ATTR_CMN_DEVID = 0x2 + ATTR_CMN_DOCUMENT_ID = 0x100000 + ATTR_CMN_ERROR = 0x20000000 + ATTR_CMN_EXTENDED_SECURITY = 0x400000 + ATTR_CMN_FILEID = 0x2000000 + ATTR_CMN_FLAGS = 0x40000 + ATTR_CMN_FNDRINFO = 0x4000 + ATTR_CMN_FSID = 0x4 + ATTR_CMN_FULLPATH = 0x8000000 + ATTR_CMN_GEN_COUNT = 0x80000 + ATTR_CMN_GRPID = 0x10000 + ATTR_CMN_GRPUUID = 0x1000000 + ATTR_CMN_MODTIME = 0x400 + ATTR_CMN_NAME = 0x1 + ATTR_CMN_NAMEDATTRCOUNT = 0x80000 + ATTR_CMN_NAMEDATTRLIST = 0x100000 + ATTR_CMN_OBJID = 0x20 + ATTR_CMN_OBJPERMANENTID = 0x40 + ATTR_CMN_OBJTAG = 0x10 + ATTR_CMN_OBJTYPE = 0x8 + ATTR_CMN_OWNERID = 0x8000 + ATTR_CMN_PARENTID = 0x4000000 + ATTR_CMN_PAROBJID = 0x80 + ATTR_CMN_RETURNED_ATTRS = 0x80000000 + ATTR_CMN_SCRIPT = 0x100 + ATTR_CMN_SETMASK = 0x41c7ff00 + ATTR_CMN_USERACCESS = 0x200000 + ATTR_CMN_UUID = 0x800000 + ATTR_CMN_VALIDMASK = 0xffffffff + ATTR_CMN_VOLSETMASK = 0x6700 + ATTR_FILE_ALLOCSIZE = 0x4 + ATTR_FILE_CLUMPSIZE = 0x10 + ATTR_FILE_DATAALLOCSIZE = 0x400 + ATTR_FILE_DATAEXTENTS = 0x800 + ATTR_FILE_DATALENGTH = 0x200 + ATTR_FILE_DEVTYPE = 0x20 + ATTR_FILE_FILETYPE = 0x40 + ATTR_FILE_FORKCOUNT = 0x80 + ATTR_FILE_FORKLIST = 0x100 + ATTR_FILE_IOBLOCKSIZE = 0x8 + ATTR_FILE_LINKCOUNT = 0x1 + ATTR_FILE_RSRCALLOCSIZE = 0x2000 + ATTR_FILE_RSRCEXTENTS = 0x4000 + ATTR_FILE_RSRCLENGTH = 0x1000 + ATTR_FILE_SETMASK = 0x20 + ATTR_FILE_TOTALSIZE = 0x2 + ATTR_FILE_VALIDMASK = 0x37ff + ATTR_VOL_ALLOCATIONCLUMP = 0x40 + ATTR_VOL_ATTRIBUTES = 0x40000000 + ATTR_VOL_CAPABILITIES = 0x20000 + ATTR_VOL_DIRCOUNT = 0x400 + ATTR_VOL_ENCODINGSUSED = 0x10000 + ATTR_VOL_FILECOUNT = 0x200 + ATTR_VOL_FSTYPE = 0x1 + ATTR_VOL_INFO = 0x80000000 + ATTR_VOL_IOBLOCKSIZE = 0x80 + ATTR_VOL_MAXOBJCOUNT = 0x800 + ATTR_VOL_MINALLOCATION = 0x20 + ATTR_VOL_MOUNTEDDEVICE = 0x8000 + ATTR_VOL_MOUNTFLAGS = 0x4000 + ATTR_VOL_MOUNTPOINT = 0x1000 + ATTR_VOL_NAME = 0x2000 + ATTR_VOL_OBJCOUNT = 0x100 + ATTR_VOL_QUOTA_SIZE = 0x10000000 + ATTR_VOL_RESERVED_SIZE = 0x20000000 + ATTR_VOL_SETMASK = 0x80002000 + ATTR_VOL_SIGNATURE = 0x2 + ATTR_VOL_SIZE = 0x4 + ATTR_VOL_SPACEAVAIL = 0x10 + ATTR_VOL_SPACEFREE = 0x8 + ATTR_VOL_UUID = 0x40000 + ATTR_VOL_VALIDMASK = 0xf007ffff + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc00c4279 + BIOCGETIF = 0x4020426b + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4008426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044278 + BIOCSETF = 0x80084267 + BIOCSETFNR = 0x8008427e + BIOCSETIF = 0x8020426c + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8008426d + BIOCSSEESENT = 0x80044277 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_MONOTONIC_RAW_APPROX = 0x5 + CLOCK_PROCESS_CPUTIME_ID = 0xc + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x10 + CLOCK_UPTIME_RAW = 0x8 + CLOCK_UPTIME_RAW_APPROX = 0x9 + CR0 = 0x0 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRDLY = 0x3000 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0xf5 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_EXCEPT = -0xf + EVFILT_FS = -0x9 + EVFILT_MACHPORT = -0x8 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xf + EVFILT_THREADMARKER = 0xf + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xa + EVFILT_VM = -0xc + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DISPATCH2 = 0x180 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG0 = 0x1000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_OOBAND = 0x2000 + EV_POLL = 0x1000 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EV_UDATA_SPECIFIC = 0x100 + EV_VANISHED = 0x200 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 + FLUSHO = 0x800000 + FSOPT_ATTR_CMN_EXTENDED = 0x20 + FSOPT_NOFOLLOW = 0x1 + FSOPT_NOINMEMUPDATE = 0x2 + FSOPT_PACK_INVAL_ATTRS = 0x8 + FSOPT_REPORT_FULLSIZE = 0x4 + F_ADDFILESIGS = 0x3d + F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 + F_ADDFILESIGS_RETURN = 0x61 + F_ADDSIGS = 0x3b + F_ALLOCATEALL = 0x4 + F_ALLOCATECONTIG = 0x2 + F_BARRIERFSYNC = 0x55 + F_CHECK_LV = 0x62 + F_CHKCLEAN = 0x29 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x43 + F_FINDSIGS = 0x4e + F_FLUSH_DATA = 0x28 + F_FREEZE_FS = 0x35 + F_FULLFSYNC = 0x33 + F_GETCODEDIR = 0x48 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETLKPID = 0x42 + F_GETNOSIGPIPE = 0x4a + F_GETOWN = 0x5 + F_GETPATH = 0x32 + F_GETPATH_MTMINFO = 0x47 + F_GETPROTECTIONCLASS = 0x3f + F_GETPROTECTIONLEVEL = 0x4d + F_GLOBAL_NOCACHE = 0x37 + F_LOG2PHYS = 0x31 + F_LOG2PHYS_EXT = 0x41 + F_NOCACHE = 0x30 + F_NODIRECT = 0x3e + F_OK = 0x0 + F_PATHPKG_CHECK = 0x34 + F_PEOFPOSMODE = 0x3 + F_PREALLOCATE = 0x2a + F_PUNCHHOLE = 0x63 + F_RDADVISE = 0x2c + F_RDAHEAD = 0x2d + F_RDLCK = 0x1 + F_SETBACKINGSTORE = 0x46 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETLKWTIMEOUT = 0xa + F_SETNOSIGPIPE = 0x49 + F_SETOWN = 0x6 + F_SETPROTECTIONCLASS = 0x40 + F_SETSIZE = 0x2b + F_SINGLE_WRITER = 0x4c + F_THAW_FS = 0x36 + F_TRANSCODEKEY = 0x4b + F_TRIM_ACTIVE_FILE = 0x64 + F_UNLCK = 0x2 + F_VOLPOSMODE = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_CELLULAR = 0xff + IFT_CEPT = 0x13 + IFT_DS3 = 0x1e + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FAITH = 0x38 + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_GIF = 0x37 + IFT_HDH1822 = 0x3 + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IEEE1394 = 0x90 + IFT_IEEE8023ADLAG = 0x88 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_L2VLAN = 0x87 + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PDP = 0xff + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PKTAP = 0xfe + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_STARLAN = 0xb + IFT_STF = 0x39 + IFT_T1 = 0x12 + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LINKLOCALNETNUM = 0xa9fe0000 + IN_LOOPBACKNET = 0x7f + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0xfe + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MEAS = 0x13 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEP = 0x21 + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_2292DSTOPTS = 0x17 + IPV6_2292HOPLIMIT = 0x14 + IPV6_2292HOPOPTS = 0x16 + IPV6_2292NEXTHOP = 0x15 + IPV6_2292PKTINFO = 0x13 + IPV6_2292PKTOPTIONS = 0x19 + IPV6_2292RTHDR = 0x18 + IPV6_BINDV6ONLY = 0x1b + IPV6_BOUND_IF = 0x7d + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOW_ECN_MASK = 0x300 + IPV6_FRAGTTL = 0x3c + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVTCLASS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x24 + IPV6_UNICAST_HOPS = 0x4 + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BLOCK_SOURCE = 0x48 + IP_BOUND_IF = 0x19 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FAITH = 0x16 + IP_FW_ADD = 0x28 + IP_FW_DEL = 0x29 + IP_FW_FLUSH = 0x2a + IP_FW_GET = 0x2c + IP_FW_RESETLOG = 0x2d + IP_FW_ZERO = 0x2b + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MF = 0x2000 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_IFINDEX = 0x42 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_NAT__XXX = 0x37 + IP_OFFMASK = 0x1fff + IP_OLD_FW_ADD = 0x32 + IP_OLD_FW_DEL = 0x33 + IP_OLD_FW_FLUSH = 0x34 + IP_OLD_FW_GET = 0x36 + IP_OLD_FW_RESETLOG = 0x38 + IP_OLD_FW_ZERO = 0x35 + IP_OPTIONS = 0x1 + IP_PKTINFO = 0x1a + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVPKTINFO = 0x1a + IP_RECVRETOPTS = 0x6 + IP_RECVTOS = 0x1b + IP_RECVTTL = 0x18 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_STRIPHDR = 0x17 + IP_TOS = 0x3 + IP_TRAFFIC_MGT_BACKGROUND = 0x41 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_CAN_REUSE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_FREE_REUSABLE = 0x7 + MADV_FREE_REUSE = 0x8 + MADV_NORMAL = 0x0 + MADV_PAGEOUT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MADV_ZERO_WIRED_PAGES = 0x6 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_JIT = 0x800 + MAP_NOCACHE = 0x400 + MAP_NOEXTEND = 0x100 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_RESERVED0080 = 0x80 + MAP_RESILIENT_CODESIGN = 0x2000 + MAP_RESILIENT_MEDIA = 0x4000 + MAP_SHARED = 0x1 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x400000 + MNT_CMDFLAGS = 0xf0000 + MNT_CPROTECT = 0x80 + MNT_DEFWRITE = 0x2000000 + MNT_DONTBROWSE = 0x100000 + MNT_DOVOLFS = 0x8000 + MNT_DWAIT = 0x4 + MNT_EXPORTED = 0x100 + MNT_FORCE = 0x80000 + MNT_IGNORE_OWNERSHIP = 0x200000 + MNT_JOURNALED = 0x800000 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NOATIME = 0x10000000 + MNT_NOBLOCK = 0x20000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOUSERXATTR = 0x1000000 + MNT_NOWAIT = 0x2 + MNT_QUARANTINE = 0x400 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UNKNOWNPERMISSIONS = 0x200000 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x17f0f5ff + MNT_WAIT = 0x1 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_FLUSH = 0x400 + MSG_HAVEMORE = 0x2000 + MSG_HOLD = 0x800 + MSG_NEEDSA = 0x10000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_RCVMORE = 0x4000 + MSG_SEND = 0x1000 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITSTREAM = 0x200 + MS_ASYNC = 0x1 + MS_DEACTIVATE = 0x8 + MS_INVALIDATE = 0x2 + MS_KILLPAGES = 0x4 + MS_SYNC = 0x10 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_DUMP2 = 0x7 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLIST2 = 0x6 + NET_RT_MAXID = 0xa + NET_RT_STAT = 0x4 + NET_RT_TRASH = 0x5 + NL0 = 0x0 + NL1 = 0x100 + NL2 = 0x200 + NL3 = 0x300 + NLDLY = 0x300 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ABSOLUTE = 0x8 + NOTE_ATTRIB = 0x8 + NOTE_BACKGROUND = 0x40 + NOTE_CHILD = 0x4 + NOTE_CRITICAL = 0x20 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXITSTATUS = 0x4000000 + NOTE_EXIT_CSERROR = 0x40000 + NOTE_EXIT_DECRYPTFAIL = 0x10000 + NOTE_EXIT_DETAIL = 0x2000000 + NOTE_EXIT_DETAIL_MASK = 0x70000 + NOTE_EXIT_MEMORY = 0x20000 + NOTE_EXIT_REPARENTED = 0x80000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FORK = 0x40000000 + NOTE_FUNLOCK = 0x100 + NOTE_LEEWAY = 0x10 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MACH_CONTINUOUS_TIME = 0x80 + NOTE_NONE = 0x80 + NOTE_NSECONDS = 0x4 + NOTE_OOB = 0x2 + NOTE_PCTRLMASK = -0x100000 + NOTE_PDATAMASK = 0xfffff + NOTE_REAP = 0x10000000 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_SIGNAL = 0x8000000 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x2 + NOTE_VM_ERROR = 0x10000000 + NOTE_VM_PRESSURE = 0x80000000 + NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 + NOTE_VM_PRESSURE_TERMINATE = 0x40000000 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFDEL = 0x20000 + OFILL = 0x80 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_ALERT = 0x20000000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x1000000 + O_CREAT = 0x200 + O_DIRECTORY = 0x100000 + O_DP_GETRAWENCRYPTED = 0x1 + O_DP_GETRAWUNENCRYPTED = 0x2 + O_DSYNC = 0x400000 + O_EVTONLY = 0x8000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x20000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_POPUP = 0x80000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYMLINK = 0x200000 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PT_ATTACH = 0xa + PT_ATTACHEXC = 0xe + PT_CONTINUE = 0x7 + PT_DENY_ATTACH = 0x1f + PT_DETACH = 0xb + PT_FIRSTMACH = 0x20 + PT_FORCEQUOTA = 0x1e + PT_KILL = 0x8 + PT_READ_D = 0x2 + PT_READ_I = 0x1 + PT_READ_U = 0x3 + PT_SIGEXC = 0xc + PT_STEP = 0x9 + PT_THUPDATE = 0xd + PT_TRACE_ME = 0x0 + PT_WRITE_D = 0x5 + PT_WRITE_I = 0x4 + PT_WRITE_U = 0x6 + RLIMIT_AS = 0x5 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_CPU_USAGE_MONITOR = 0x2 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CLONING = 0x100 + RTF_CONDEMNED = 0x2000000 + RTF_DELCLONE = 0x80 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_IFREF = 0x4000000 + RTF_IFSCOPE = 0x1000000 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_NOIFREF = 0x2000 + RTF_PINNED = 0x100000 + RTF_PRCLONING = 0x10000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_PROXY = 0x8000000 + RTF_REJECT = 0x8 + RTF_ROUTER = 0x10000000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_WASCLONED = 0x20000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_GET2 = 0x14 + RTM_IFINFO = 0xe + RTM_IFINFO2 = 0x12 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_NEWMADDR2 = 0x13 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SCM_TIMESTAMP_MONOTONIC = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCARPIPLL = 0xc0206928 + SIOCATMARK = 0x40047307 + SIOCAUTOADDR = 0xc0206926 + SIOCAUTONETMASK = 0x80206927 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFPHYADDR = 0x80206941 + SIOCGDRVSPEC = 0xc01c697b + SIOCGETVLAN = 0xc020697f + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFALTMTU = 0xc0206948 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBOND = 0xc0206947 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020695b + SIOCGIFCONF = 0xc0086924 + SIOCGIFDEVMTU = 0xc0206944 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFKPI = 0xc0206987 + SIOCGIFMAC = 0xc0206982 + SIOCGIFMEDIA = 0xc0286938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206940 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc020693f + SIOCGIFSTATUS = 0xc331693d + SIOCGIFVLAN = 0xc020697f + SIOCGIFWAKEFLAGS = 0xc0206988 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCIFCREATE = 0xc0206978 + SIOCIFCREATE2 = 0xc020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc00c6981 + SIOCRSLVMULTI = 0xc008693b + SIOCSDRVSPEC = 0x801c697b + SIOCSETVLAN = 0x8020697e + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFALTMTU = 0x80206945 + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBOND = 0x80206946 + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020695a + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFKPI = 0x80206986 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206983 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x8040693e + SIOCSIFPHYS = 0x80206936 + SIOCSIFVLAN = 0x8020697e + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_DONTTRUNC = 0x2000 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1010 + SO_LINGER = 0x80 + SO_LINGER_SEC = 0x1080 + SO_NETSVC_MARKING_LEVEL = 0x1119 + SO_NET_SERVICE_TYPE = 0x1116 + SO_NKE = 0x1021 + SO_NOADDRERR = 0x1023 + SO_NOSIGPIPE = 0x1022 + SO_NOTIFYCONFLICT = 0x1026 + SO_NP_EXTENSIONS = 0x1083 + SO_NREAD = 0x1020 + SO_NUMRCVPKT = 0x1112 + SO_NWRITE = 0x1024 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1011 + SO_RANDOMPORT = 0x1082 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_REUSESHAREUID = 0x1025 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TIMESTAMP_MONOTONIC = 0x800 + SO_TYPE = 0x1008 + SO_UPCALLCLOSEWAIT = 0x1027 + SO_USELOOPBACK = 0x40 + SO_WANTMORE = 0x4000 + SO_WANTOOBFLAG = 0x8000 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0x4 + TABDLY = 0xc04 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CONNECTIONTIMEOUT = 0x20 + TCP_CONNECTION_INFO = 0x106 + TCP_ENABLE_ECN = 0x104 + TCP_FASTOPEN = 0x105 + TCP_KEEPALIVE = 0x10 + TCP_KEEPCNT = 0x102 + TCP_KEEPINTVL = 0x101 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MINMSS = 0xd8 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_NOTSENT_LOWAT = 0x201 + TCP_RXT_CONNDROPTIME = 0x80 + TCP_RXT_FINDROP = 0x100 + TCP_SENDMOREACKS = 0x103 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40087458 + TIOCDRAIN = 0x2000745e + TIOCDSIMICROCODE = 0x20007455 + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGWINSZ = 0x40087468 + TIOCIXOFF = 0x20007480 + TIOCIXON = 0x20007481 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMODG = 0x40047403 + TIOCMODS = 0x80047404 + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTYGNAME = 0x40807453 + TIOCPTYGRANT = 0x20007454 + TIOCPTYUNLK = 0x20007452 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCONS = 0x20007463 + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2000745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40087459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_LOADAVG = 0x2 + VM_MACHFACTOR = 0x4 + VM_MAXID = 0x6 + VM_METER = 0x1 + VM_SWAPUSAGE = 0x5 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VT0 = 0x0 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x10 + WCOREFLAG = 0x80 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOWAIT = 0x20 + WORDSIZE = 0x20 + WSTOPPED = 0x8 + WUNTRACED = 0x2 + XATTR_CREATE = 0x2 + XATTR_NODEFAULT = 0x10 + XATTR_NOFOLLOW = 0x1 + XATTR_NOSECURITY = 0x8 + XATTR_REPLACE = 0x4 + XATTR_SHOWCOMPRESSION = 0x20 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADARCH = syscall.Errno(0x56) + EBADEXEC = syscall.Errno(0x55) + EBADF = syscall.Errno(0x9) + EBADMACHO = syscall.Errno(0x58) + EBADMSG = syscall.Errno(0x5e) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x59) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDEVERR = syscall.Errno(0x53) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x5a) + EILSEQ = syscall.Errno(0x5c) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x6a) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5f) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x60) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x61) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5b) + ENOPOLICY = syscall.Errno(0x67) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x62) + ENOSTR = syscall.Errno(0x63) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x68) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x66) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x69) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x64) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + EPWROFF = syscall.Errno(0x52) + EQFULL = syscall.Errno(0x6a) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHLIBVERS = syscall.Errno(0x57) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x65) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "ENOTSUP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EPWROFF", "device power is off"}, + {83, "EDEVERR", "device error"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EBADEXEC", "bad executable (or shared library)"}, + {86, "EBADARCH", "bad CPU type in executable"}, + {87, "ESHLIBVERS", "shared library version mismatch"}, + {88, "EBADMACHO", "malformed Mach-o file"}, + {89, "ECANCELED", "operation canceled"}, + {90, "EIDRM", "identifier removed"}, + {91, "ENOMSG", "no message of desired type"}, + {92, "EILSEQ", "illegal byte sequence"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EBADMSG", "bad message"}, + {95, "EMULTIHOP", "EMULTIHOP (Reserved)"}, + {96, "ENODATA", "no message available on STREAM"}, + {97, "ENOLINK", "ENOLINK (Reserved)"}, + {98, "ENOSR", "no STREAM resources"}, + {99, "ENOSTR", "not a STREAM"}, + {100, "EPROTO", "protocol error"}, + {101, "ETIME", "STREAM ioctl timeout"}, + {102, "EOPNOTSUPP", "operation not supported on socket"}, + {103, "ENOPOLICY", "policy not found"}, + {104, "ENOTRECOVERABLE", "state not recoverable"}, + {105, "EOWNERDEAD", "previous owner died"}, + {106, "EQFULL", "interface output queue is full"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go new file mode 100644 index 000000000..8fe554777 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go @@ -0,0 +1,1783 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,darwin + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1c + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1e + AF_IPX = 0x17 + AF_ISDN = 0x1c + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x28 + AF_NATM = 0x1f + AF_NDRV = 0x1b + AF_NETBIOS = 0x21 + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PPP = 0x22 + AF_PUP = 0x4 + AF_RESERVED_36 = 0x24 + AF_ROUTE = 0x11 + AF_SIP = 0x18 + AF_SNA = 0xb + AF_SYSTEM = 0x20 + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_UTUN = 0x26 + ALTWERASE = 0x200 + ATTR_BIT_MAP_COUNT = 0x5 + ATTR_CMN_ACCESSMASK = 0x20000 + ATTR_CMN_ACCTIME = 0x1000 + ATTR_CMN_ADDEDTIME = 0x10000000 + ATTR_CMN_BKUPTIME = 0x2000 + ATTR_CMN_CHGTIME = 0x800 + ATTR_CMN_CRTIME = 0x200 + ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000 + ATTR_CMN_DEVID = 0x2 + ATTR_CMN_DOCUMENT_ID = 0x100000 + ATTR_CMN_ERROR = 0x20000000 + ATTR_CMN_EXTENDED_SECURITY = 0x400000 + ATTR_CMN_FILEID = 0x2000000 + ATTR_CMN_FLAGS = 0x40000 + ATTR_CMN_FNDRINFO = 0x4000 + ATTR_CMN_FSID = 0x4 + ATTR_CMN_FULLPATH = 0x8000000 + ATTR_CMN_GEN_COUNT = 0x80000 + ATTR_CMN_GRPID = 0x10000 + ATTR_CMN_GRPUUID = 0x1000000 + ATTR_CMN_MODTIME = 0x400 + ATTR_CMN_NAME = 0x1 + ATTR_CMN_NAMEDATTRCOUNT = 0x80000 + ATTR_CMN_NAMEDATTRLIST = 0x100000 + ATTR_CMN_OBJID = 0x20 + ATTR_CMN_OBJPERMANENTID = 0x40 + ATTR_CMN_OBJTAG = 0x10 + ATTR_CMN_OBJTYPE = 0x8 + ATTR_CMN_OWNERID = 0x8000 + ATTR_CMN_PARENTID = 0x4000000 + ATTR_CMN_PAROBJID = 0x80 + ATTR_CMN_RETURNED_ATTRS = 0x80000000 + ATTR_CMN_SCRIPT = 0x100 + ATTR_CMN_SETMASK = 0x41c7ff00 + ATTR_CMN_USERACCESS = 0x200000 + ATTR_CMN_UUID = 0x800000 + ATTR_CMN_VALIDMASK = 0xffffffff + ATTR_CMN_VOLSETMASK = 0x6700 + ATTR_FILE_ALLOCSIZE = 0x4 + ATTR_FILE_CLUMPSIZE = 0x10 + ATTR_FILE_DATAALLOCSIZE = 0x400 + ATTR_FILE_DATAEXTENTS = 0x800 + ATTR_FILE_DATALENGTH = 0x200 + ATTR_FILE_DEVTYPE = 0x20 + ATTR_FILE_FILETYPE = 0x40 + ATTR_FILE_FORKCOUNT = 0x80 + ATTR_FILE_FORKLIST = 0x100 + ATTR_FILE_IOBLOCKSIZE = 0x8 + ATTR_FILE_LINKCOUNT = 0x1 + ATTR_FILE_RSRCALLOCSIZE = 0x2000 + ATTR_FILE_RSRCEXTENTS = 0x4000 + ATTR_FILE_RSRCLENGTH = 0x1000 + ATTR_FILE_SETMASK = 0x20 + ATTR_FILE_TOTALSIZE = 0x2 + ATTR_FILE_VALIDMASK = 0x37ff + ATTR_VOL_ALLOCATIONCLUMP = 0x40 + ATTR_VOL_ATTRIBUTES = 0x40000000 + ATTR_VOL_CAPABILITIES = 0x20000 + ATTR_VOL_DIRCOUNT = 0x400 + ATTR_VOL_ENCODINGSUSED = 0x10000 + ATTR_VOL_FILECOUNT = 0x200 + ATTR_VOL_FSTYPE = 0x1 + ATTR_VOL_INFO = 0x80000000 + ATTR_VOL_IOBLOCKSIZE = 0x80 + ATTR_VOL_MAXOBJCOUNT = 0x800 + ATTR_VOL_MINALLOCATION = 0x20 + ATTR_VOL_MOUNTEDDEVICE = 0x8000 + ATTR_VOL_MOUNTFLAGS = 0x4000 + ATTR_VOL_MOUNTPOINT = 0x1000 + ATTR_VOL_NAME = 0x2000 + ATTR_VOL_OBJCOUNT = 0x100 + ATTR_VOL_QUOTA_SIZE = 0x10000000 + ATTR_VOL_RESERVED_SIZE = 0x20000000 + ATTR_VOL_SETMASK = 0x80002000 + ATTR_VOL_SIGNATURE = 0x2 + ATTR_VOL_SIZE = 0x4 + ATTR_VOL_SPACEAVAIL = 0x10 + ATTR_VOL_SPACEFREE = 0x8 + ATTR_VOL_UUID = 0x40000 + ATTR_VOL_VALIDMASK = 0xf007ffff + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc00c4279 + BIOCGETIF = 0x4020426b + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044278 + BIOCSETF = 0x80104267 + BIOCSETFNR = 0x8010427e + BIOCSETIF = 0x8020426c + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_MONOTONIC_RAW_APPROX = 0x5 + CLOCK_PROCESS_CPUTIME_ID = 0xc + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x10 + CLOCK_UPTIME_RAW = 0x8 + CLOCK_UPTIME_RAW_APPROX = 0x9 + CR0 = 0x0 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRDLY = 0x3000 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0xf5 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_EXCEPT = -0xf + EVFILT_FS = -0x9 + EVFILT_MACHPORT = -0x8 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xf + EVFILT_THREADMARKER = 0xf + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xa + EVFILT_VM = -0xc + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DISPATCH2 = 0x180 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG0 = 0x1000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_OOBAND = 0x2000 + EV_POLL = 0x1000 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EV_UDATA_SPECIFIC = 0x100 + EV_VANISHED = 0x200 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 + FLUSHO = 0x800000 + FSOPT_ATTR_CMN_EXTENDED = 0x20 + FSOPT_NOFOLLOW = 0x1 + FSOPT_NOINMEMUPDATE = 0x2 + FSOPT_PACK_INVAL_ATTRS = 0x8 + FSOPT_REPORT_FULLSIZE = 0x4 + F_ADDFILESIGS = 0x3d + F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 + F_ADDFILESIGS_RETURN = 0x61 + F_ADDSIGS = 0x3b + F_ALLOCATEALL = 0x4 + F_ALLOCATECONTIG = 0x2 + F_BARRIERFSYNC = 0x55 + F_CHECK_LV = 0x62 + F_CHKCLEAN = 0x29 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x43 + F_FINDSIGS = 0x4e + F_FLUSH_DATA = 0x28 + F_FREEZE_FS = 0x35 + F_FULLFSYNC = 0x33 + F_GETCODEDIR = 0x48 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETLKPID = 0x42 + F_GETNOSIGPIPE = 0x4a + F_GETOWN = 0x5 + F_GETPATH = 0x32 + F_GETPATH_MTMINFO = 0x47 + F_GETPROTECTIONCLASS = 0x3f + F_GETPROTECTIONLEVEL = 0x4d + F_GLOBAL_NOCACHE = 0x37 + F_LOG2PHYS = 0x31 + F_LOG2PHYS_EXT = 0x41 + F_NOCACHE = 0x30 + F_NODIRECT = 0x3e + F_OK = 0x0 + F_PATHPKG_CHECK = 0x34 + F_PEOFPOSMODE = 0x3 + F_PREALLOCATE = 0x2a + F_PUNCHHOLE = 0x63 + F_RDADVISE = 0x2c + F_RDAHEAD = 0x2d + F_RDLCK = 0x1 + F_SETBACKINGSTORE = 0x46 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETLKWTIMEOUT = 0xa + F_SETNOSIGPIPE = 0x49 + F_SETOWN = 0x6 + F_SETPROTECTIONCLASS = 0x40 + F_SETSIZE = 0x2b + F_SINGLE_WRITER = 0x4c + F_THAW_FS = 0x36 + F_TRANSCODEKEY = 0x4b + F_TRIM_ACTIVE_FILE = 0x64 + F_UNLCK = 0x2 + F_VOLPOSMODE = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_CELLULAR = 0xff + IFT_CEPT = 0x13 + IFT_DS3 = 0x1e + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FAITH = 0x38 + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_GIF = 0x37 + IFT_HDH1822 = 0x3 + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IEEE1394 = 0x90 + IFT_IEEE8023ADLAG = 0x88 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_L2VLAN = 0x87 + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PDP = 0xff + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PKTAP = 0xfe + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_STARLAN = 0xb + IFT_STF = 0x39 + IFT_T1 = 0x12 + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LINKLOCALNETNUM = 0xa9fe0000 + IN_LOOPBACKNET = 0x7f + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0xfe + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MEAS = 0x13 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEP = 0x21 + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_2292DSTOPTS = 0x17 + IPV6_2292HOPLIMIT = 0x14 + IPV6_2292HOPOPTS = 0x16 + IPV6_2292NEXTHOP = 0x15 + IPV6_2292PKTINFO = 0x13 + IPV6_2292PKTOPTIONS = 0x19 + IPV6_2292RTHDR = 0x18 + IPV6_BINDV6ONLY = 0x1b + IPV6_BOUND_IF = 0x7d + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOW_ECN_MASK = 0x300 + IPV6_FRAGTTL = 0x3c + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVTCLASS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x24 + IPV6_UNICAST_HOPS = 0x4 + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BLOCK_SOURCE = 0x48 + IP_BOUND_IF = 0x19 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FAITH = 0x16 + IP_FW_ADD = 0x28 + IP_FW_DEL = 0x29 + IP_FW_FLUSH = 0x2a + IP_FW_GET = 0x2c + IP_FW_RESETLOG = 0x2d + IP_FW_ZERO = 0x2b + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MF = 0x2000 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_IFINDEX = 0x42 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_NAT__XXX = 0x37 + IP_OFFMASK = 0x1fff + IP_OLD_FW_ADD = 0x32 + IP_OLD_FW_DEL = 0x33 + IP_OLD_FW_FLUSH = 0x34 + IP_OLD_FW_GET = 0x36 + IP_OLD_FW_RESETLOG = 0x38 + IP_OLD_FW_ZERO = 0x35 + IP_OPTIONS = 0x1 + IP_PKTINFO = 0x1a + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVPKTINFO = 0x1a + IP_RECVRETOPTS = 0x6 + IP_RECVTOS = 0x1b + IP_RECVTTL = 0x18 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_STRIPHDR = 0x17 + IP_TOS = 0x3 + IP_TRAFFIC_MGT_BACKGROUND = 0x41 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_CAN_REUSE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_FREE_REUSABLE = 0x7 + MADV_FREE_REUSE = 0x8 + MADV_NORMAL = 0x0 + MADV_PAGEOUT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MADV_ZERO_WIRED_PAGES = 0x6 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_JIT = 0x800 + MAP_NOCACHE = 0x400 + MAP_NOEXTEND = 0x100 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_RESERVED0080 = 0x80 + MAP_RESILIENT_CODESIGN = 0x2000 + MAP_RESILIENT_MEDIA = 0x4000 + MAP_SHARED = 0x1 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x400000 + MNT_CMDFLAGS = 0xf0000 + MNT_CPROTECT = 0x80 + MNT_DEFWRITE = 0x2000000 + MNT_DONTBROWSE = 0x100000 + MNT_DOVOLFS = 0x8000 + MNT_DWAIT = 0x4 + MNT_EXPORTED = 0x100 + MNT_FORCE = 0x80000 + MNT_IGNORE_OWNERSHIP = 0x200000 + MNT_JOURNALED = 0x800000 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NOATIME = 0x10000000 + MNT_NOBLOCK = 0x20000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOUSERXATTR = 0x1000000 + MNT_NOWAIT = 0x2 + MNT_QUARANTINE = 0x400 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UNKNOWNPERMISSIONS = 0x200000 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x17f0f5ff + MNT_WAIT = 0x1 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_FLUSH = 0x400 + MSG_HAVEMORE = 0x2000 + MSG_HOLD = 0x800 + MSG_NEEDSA = 0x10000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_RCVMORE = 0x4000 + MSG_SEND = 0x1000 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITSTREAM = 0x200 + MS_ASYNC = 0x1 + MS_DEACTIVATE = 0x8 + MS_INVALIDATE = 0x2 + MS_KILLPAGES = 0x4 + MS_SYNC = 0x10 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_DUMP2 = 0x7 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLIST2 = 0x6 + NET_RT_MAXID = 0xa + NET_RT_STAT = 0x4 + NET_RT_TRASH = 0x5 + NL0 = 0x0 + NL1 = 0x100 + NL2 = 0x200 + NL3 = 0x300 + NLDLY = 0x300 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ABSOLUTE = 0x8 + NOTE_ATTRIB = 0x8 + NOTE_BACKGROUND = 0x40 + NOTE_CHILD = 0x4 + NOTE_CRITICAL = 0x20 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXITSTATUS = 0x4000000 + NOTE_EXIT_CSERROR = 0x40000 + NOTE_EXIT_DECRYPTFAIL = 0x10000 + NOTE_EXIT_DETAIL = 0x2000000 + NOTE_EXIT_DETAIL_MASK = 0x70000 + NOTE_EXIT_MEMORY = 0x20000 + NOTE_EXIT_REPARENTED = 0x80000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FORK = 0x40000000 + NOTE_FUNLOCK = 0x100 + NOTE_LEEWAY = 0x10 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MACH_CONTINUOUS_TIME = 0x80 + NOTE_NONE = 0x80 + NOTE_NSECONDS = 0x4 + NOTE_OOB = 0x2 + NOTE_PCTRLMASK = -0x100000 + NOTE_PDATAMASK = 0xfffff + NOTE_REAP = 0x10000000 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_SIGNAL = 0x8000000 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x2 + NOTE_VM_ERROR = 0x10000000 + NOTE_VM_PRESSURE = 0x80000000 + NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 + NOTE_VM_PRESSURE_TERMINATE = 0x40000000 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFDEL = 0x20000 + OFILL = 0x80 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_ALERT = 0x20000000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x1000000 + O_CREAT = 0x200 + O_DIRECTORY = 0x100000 + O_DP_GETRAWENCRYPTED = 0x1 + O_DP_GETRAWUNENCRYPTED = 0x2 + O_DSYNC = 0x400000 + O_EVTONLY = 0x8000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x20000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_POPUP = 0x80000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYMLINK = 0x200000 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PT_ATTACH = 0xa + PT_ATTACHEXC = 0xe + PT_CONTINUE = 0x7 + PT_DENY_ATTACH = 0x1f + PT_DETACH = 0xb + PT_FIRSTMACH = 0x20 + PT_FORCEQUOTA = 0x1e + PT_KILL = 0x8 + PT_READ_D = 0x2 + PT_READ_I = 0x1 + PT_READ_U = 0x3 + PT_SIGEXC = 0xc + PT_STEP = 0x9 + PT_THUPDATE = 0xd + PT_TRACE_ME = 0x0 + PT_WRITE_D = 0x5 + PT_WRITE_I = 0x4 + PT_WRITE_U = 0x6 + RLIMIT_AS = 0x5 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_CPU_USAGE_MONITOR = 0x2 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CLONING = 0x100 + RTF_CONDEMNED = 0x2000000 + RTF_DELCLONE = 0x80 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_IFREF = 0x4000000 + RTF_IFSCOPE = 0x1000000 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_NOIFREF = 0x2000 + RTF_PINNED = 0x100000 + RTF_PRCLONING = 0x10000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_PROXY = 0x8000000 + RTF_REJECT = 0x8 + RTF_ROUTER = 0x10000000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_WASCLONED = 0x20000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_GET2 = 0x14 + RTM_IFINFO = 0xe + RTM_IFINFO2 = 0x12 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_NEWMADDR2 = 0x13 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SCM_TIMESTAMP_MONOTONIC = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCARPIPLL = 0xc0206928 + SIOCATMARK = 0x40047307 + SIOCAUTOADDR = 0xc0206926 + SIOCAUTONETMASK = 0x80206927 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFPHYADDR = 0x80206941 + SIOCGDRVSPEC = 0xc028697b + SIOCGETVLAN = 0xc020697f + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFALTMTU = 0xc0206948 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBOND = 0xc0206947 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020695b + SIOCGIFCONF = 0xc00c6924 + SIOCGIFDEVMTU = 0xc0206944 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFKPI = 0xc0206987 + SIOCGIFMAC = 0xc0206982 + SIOCGIFMEDIA = 0xc02c6938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206940 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc020693f + SIOCGIFSTATUS = 0xc331693d + SIOCGIFVLAN = 0xc020697f + SIOCGIFWAKEFLAGS = 0xc0206988 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCIFCREATE = 0xc0206978 + SIOCIFCREATE2 = 0xc020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106981 + SIOCRSLVMULTI = 0xc010693b + SIOCSDRVSPEC = 0x8028697b + SIOCSETVLAN = 0x8020697e + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFALTMTU = 0x80206945 + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBOND = 0x80206946 + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020695a + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFKPI = 0x80206986 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206983 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x8040693e + SIOCSIFPHYS = 0x80206936 + SIOCSIFVLAN = 0x8020697e + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_DONTTRUNC = 0x2000 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1010 + SO_LINGER = 0x80 + SO_LINGER_SEC = 0x1080 + SO_NETSVC_MARKING_LEVEL = 0x1119 + SO_NET_SERVICE_TYPE = 0x1116 + SO_NKE = 0x1021 + SO_NOADDRERR = 0x1023 + SO_NOSIGPIPE = 0x1022 + SO_NOTIFYCONFLICT = 0x1026 + SO_NP_EXTENSIONS = 0x1083 + SO_NREAD = 0x1020 + SO_NUMRCVPKT = 0x1112 + SO_NWRITE = 0x1024 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1011 + SO_RANDOMPORT = 0x1082 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_REUSESHAREUID = 0x1025 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TIMESTAMP_MONOTONIC = 0x800 + SO_TYPE = 0x1008 + SO_UPCALLCLOSEWAIT = 0x1027 + SO_USELOOPBACK = 0x40 + SO_WANTMORE = 0x4000 + SO_WANTOOBFLAG = 0x8000 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0x4 + TABDLY = 0xc04 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CONNECTIONTIMEOUT = 0x20 + TCP_CONNECTION_INFO = 0x106 + TCP_ENABLE_ECN = 0x104 + TCP_FASTOPEN = 0x105 + TCP_KEEPALIVE = 0x10 + TCP_KEEPCNT = 0x102 + TCP_KEEPINTVL = 0x101 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MINMSS = 0xd8 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_NOTSENT_LOWAT = 0x201 + TCP_RXT_CONNDROPTIME = 0x80 + TCP_RXT_FINDROP = 0x100 + TCP_SENDMOREACKS = 0x103 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCDSIMICROCODE = 0x20007455 + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x40487413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGWINSZ = 0x40087468 + TIOCIXOFF = 0x20007480 + TIOCIXON = 0x20007481 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMODG = 0x40047403 + TIOCMODS = 0x80047404 + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTYGNAME = 0x40807453 + TIOCPTYGRANT = 0x20007454 + TIOCPTYUNLK = 0x20007452 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCONS = 0x20007463 + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x80487414 + TIOCSETAF = 0x80487416 + TIOCSETAW = 0x80487415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2000745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_LOADAVG = 0x2 + VM_MACHFACTOR = 0x4 + VM_MAXID = 0x6 + VM_METER = 0x1 + VM_SWAPUSAGE = 0x5 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VT0 = 0x0 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x10 + WCOREFLAG = 0x80 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOWAIT = 0x20 + WORDSIZE = 0x40 + WSTOPPED = 0x8 + WUNTRACED = 0x2 + XATTR_CREATE = 0x2 + XATTR_NODEFAULT = 0x10 + XATTR_NOFOLLOW = 0x1 + XATTR_NOSECURITY = 0x8 + XATTR_REPLACE = 0x4 + XATTR_SHOWCOMPRESSION = 0x20 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADARCH = syscall.Errno(0x56) + EBADEXEC = syscall.Errno(0x55) + EBADF = syscall.Errno(0x9) + EBADMACHO = syscall.Errno(0x58) + EBADMSG = syscall.Errno(0x5e) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x59) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDEVERR = syscall.Errno(0x53) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x5a) + EILSEQ = syscall.Errno(0x5c) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x6a) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5f) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x60) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x61) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5b) + ENOPOLICY = syscall.Errno(0x67) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x62) + ENOSTR = syscall.Errno(0x63) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x68) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x66) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x69) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x64) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + EPWROFF = syscall.Errno(0x52) + EQFULL = syscall.Errno(0x6a) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHLIBVERS = syscall.Errno(0x57) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x65) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "ENOTSUP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EPWROFF", "device power is off"}, + {83, "EDEVERR", "device error"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EBADEXEC", "bad executable (or shared library)"}, + {86, "EBADARCH", "bad CPU type in executable"}, + {87, "ESHLIBVERS", "shared library version mismatch"}, + {88, "EBADMACHO", "malformed Mach-o file"}, + {89, "ECANCELED", "operation canceled"}, + {90, "EIDRM", "identifier removed"}, + {91, "ENOMSG", "no message of desired type"}, + {92, "EILSEQ", "illegal byte sequence"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EBADMSG", "bad message"}, + {95, "EMULTIHOP", "EMULTIHOP (Reserved)"}, + {96, "ENODATA", "no message available on STREAM"}, + {97, "ENOLINK", "ENOLINK (Reserved)"}, + {98, "ENOSR", "no STREAM resources"}, + {99, "ENOSTR", "not a STREAM"}, + {100, "EPROTO", "protocol error"}, + {101, "ETIME", "STREAM ioctl timeout"}, + {102, "EOPNOTSUPP", "operation not supported on socket"}, + {103, "ENOPOLICY", "policy not found"}, + {104, "ENOTRECOVERABLE", "state not recoverable"}, + {105, "EOWNERDEAD", "previous owner died"}, + {106, "EQFULL", "interface output queue is full"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go new file mode 100644 index 000000000..7a977770d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go @@ -0,0 +1,1783 @@ +// mkerrors.sh +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,darwin + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1c + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1e + AF_IPX = 0x17 + AF_ISDN = 0x1c + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x28 + AF_NATM = 0x1f + AF_NDRV = 0x1b + AF_NETBIOS = 0x21 + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PPP = 0x22 + AF_PUP = 0x4 + AF_RESERVED_36 = 0x24 + AF_ROUTE = 0x11 + AF_SIP = 0x18 + AF_SNA = 0xb + AF_SYSTEM = 0x20 + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_UTUN = 0x26 + ALTWERASE = 0x200 + ATTR_BIT_MAP_COUNT = 0x5 + ATTR_CMN_ACCESSMASK = 0x20000 + ATTR_CMN_ACCTIME = 0x1000 + ATTR_CMN_ADDEDTIME = 0x10000000 + ATTR_CMN_BKUPTIME = 0x2000 + ATTR_CMN_CHGTIME = 0x800 + ATTR_CMN_CRTIME = 0x200 + ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000 + ATTR_CMN_DEVID = 0x2 + ATTR_CMN_DOCUMENT_ID = 0x100000 + ATTR_CMN_ERROR = 0x20000000 + ATTR_CMN_EXTENDED_SECURITY = 0x400000 + ATTR_CMN_FILEID = 0x2000000 + ATTR_CMN_FLAGS = 0x40000 + ATTR_CMN_FNDRINFO = 0x4000 + ATTR_CMN_FSID = 0x4 + ATTR_CMN_FULLPATH = 0x8000000 + ATTR_CMN_GEN_COUNT = 0x80000 + ATTR_CMN_GRPID = 0x10000 + ATTR_CMN_GRPUUID = 0x1000000 + ATTR_CMN_MODTIME = 0x400 + ATTR_CMN_NAME = 0x1 + ATTR_CMN_NAMEDATTRCOUNT = 0x80000 + ATTR_CMN_NAMEDATTRLIST = 0x100000 + ATTR_CMN_OBJID = 0x20 + ATTR_CMN_OBJPERMANENTID = 0x40 + ATTR_CMN_OBJTAG = 0x10 + ATTR_CMN_OBJTYPE = 0x8 + ATTR_CMN_OWNERID = 0x8000 + ATTR_CMN_PARENTID = 0x4000000 + ATTR_CMN_PAROBJID = 0x80 + ATTR_CMN_RETURNED_ATTRS = 0x80000000 + ATTR_CMN_SCRIPT = 0x100 + ATTR_CMN_SETMASK = 0x41c7ff00 + ATTR_CMN_USERACCESS = 0x200000 + ATTR_CMN_UUID = 0x800000 + ATTR_CMN_VALIDMASK = 0xffffffff + ATTR_CMN_VOLSETMASK = 0x6700 + ATTR_FILE_ALLOCSIZE = 0x4 + ATTR_FILE_CLUMPSIZE = 0x10 + ATTR_FILE_DATAALLOCSIZE = 0x400 + ATTR_FILE_DATAEXTENTS = 0x800 + ATTR_FILE_DATALENGTH = 0x200 + ATTR_FILE_DEVTYPE = 0x20 + ATTR_FILE_FILETYPE = 0x40 + ATTR_FILE_FORKCOUNT = 0x80 + ATTR_FILE_FORKLIST = 0x100 + ATTR_FILE_IOBLOCKSIZE = 0x8 + ATTR_FILE_LINKCOUNT = 0x1 + ATTR_FILE_RSRCALLOCSIZE = 0x2000 + ATTR_FILE_RSRCEXTENTS = 0x4000 + ATTR_FILE_RSRCLENGTH = 0x1000 + ATTR_FILE_SETMASK = 0x20 + ATTR_FILE_TOTALSIZE = 0x2 + ATTR_FILE_VALIDMASK = 0x37ff + ATTR_VOL_ALLOCATIONCLUMP = 0x40 + ATTR_VOL_ATTRIBUTES = 0x40000000 + ATTR_VOL_CAPABILITIES = 0x20000 + ATTR_VOL_DIRCOUNT = 0x400 + ATTR_VOL_ENCODINGSUSED = 0x10000 + ATTR_VOL_FILECOUNT = 0x200 + ATTR_VOL_FSTYPE = 0x1 + ATTR_VOL_INFO = 0x80000000 + ATTR_VOL_IOBLOCKSIZE = 0x80 + ATTR_VOL_MAXOBJCOUNT = 0x800 + ATTR_VOL_MINALLOCATION = 0x20 + ATTR_VOL_MOUNTEDDEVICE = 0x8000 + ATTR_VOL_MOUNTFLAGS = 0x4000 + ATTR_VOL_MOUNTPOINT = 0x1000 + ATTR_VOL_NAME = 0x2000 + ATTR_VOL_OBJCOUNT = 0x100 + ATTR_VOL_QUOTA_SIZE = 0x10000000 + ATTR_VOL_RESERVED_SIZE = 0x20000000 + ATTR_VOL_SETMASK = 0x80002000 + ATTR_VOL_SIGNATURE = 0x2 + ATTR_VOL_SIZE = 0x4 + ATTR_VOL_SPACEAVAIL = 0x10 + ATTR_VOL_SPACEFREE = 0x8 + ATTR_VOL_UUID = 0x40000 + ATTR_VOL_VALIDMASK = 0xf007ffff + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc00c4279 + BIOCGETIF = 0x4020426b + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044278 + BIOCSETF = 0x80104267 + BIOCSETFNR = 0x8010427e + BIOCSETIF = 0x8020426c + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_MONOTONIC_RAW_APPROX = 0x5 + CLOCK_PROCESS_CPUTIME_ID = 0xc + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x10 + CLOCK_UPTIME_RAW = 0x8 + CLOCK_UPTIME_RAW_APPROX = 0x9 + CR0 = 0x0 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRDLY = 0x3000 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0xf5 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_EXCEPT = -0xf + EVFILT_FS = -0x9 + EVFILT_MACHPORT = -0x8 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xf + EVFILT_THREADMARKER = 0xf + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xa + EVFILT_VM = -0xc + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DISPATCH2 = 0x180 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG0 = 0x1000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_OOBAND = 0x2000 + EV_POLL = 0x1000 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EV_UDATA_SPECIFIC = 0x100 + EV_VANISHED = 0x200 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 + FLUSHO = 0x800000 + FSOPT_ATTR_CMN_EXTENDED = 0x20 + FSOPT_NOFOLLOW = 0x1 + FSOPT_NOINMEMUPDATE = 0x2 + FSOPT_PACK_INVAL_ATTRS = 0x8 + FSOPT_REPORT_FULLSIZE = 0x4 + F_ADDFILESIGS = 0x3d + F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 + F_ADDFILESIGS_RETURN = 0x61 + F_ADDSIGS = 0x3b + F_ALLOCATEALL = 0x4 + F_ALLOCATECONTIG = 0x2 + F_BARRIERFSYNC = 0x55 + F_CHECK_LV = 0x62 + F_CHKCLEAN = 0x29 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x43 + F_FINDSIGS = 0x4e + F_FLUSH_DATA = 0x28 + F_FREEZE_FS = 0x35 + F_FULLFSYNC = 0x33 + F_GETCODEDIR = 0x48 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETLKPID = 0x42 + F_GETNOSIGPIPE = 0x4a + F_GETOWN = 0x5 + F_GETPATH = 0x32 + F_GETPATH_MTMINFO = 0x47 + F_GETPROTECTIONCLASS = 0x3f + F_GETPROTECTIONLEVEL = 0x4d + F_GLOBAL_NOCACHE = 0x37 + F_LOG2PHYS = 0x31 + F_LOG2PHYS_EXT = 0x41 + F_NOCACHE = 0x30 + F_NODIRECT = 0x3e + F_OK = 0x0 + F_PATHPKG_CHECK = 0x34 + F_PEOFPOSMODE = 0x3 + F_PREALLOCATE = 0x2a + F_PUNCHHOLE = 0x63 + F_RDADVISE = 0x2c + F_RDAHEAD = 0x2d + F_RDLCK = 0x1 + F_SETBACKINGSTORE = 0x46 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETLKWTIMEOUT = 0xa + F_SETNOSIGPIPE = 0x49 + F_SETOWN = 0x6 + F_SETPROTECTIONCLASS = 0x40 + F_SETSIZE = 0x2b + F_SINGLE_WRITER = 0x4c + F_THAW_FS = 0x36 + F_TRANSCODEKEY = 0x4b + F_TRIM_ACTIVE_FILE = 0x64 + F_UNLCK = 0x2 + F_VOLPOSMODE = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_CELLULAR = 0xff + IFT_CEPT = 0x13 + IFT_DS3 = 0x1e + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FAITH = 0x38 + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_GIF = 0x37 + IFT_HDH1822 = 0x3 + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IEEE1394 = 0x90 + IFT_IEEE8023ADLAG = 0x88 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_L2VLAN = 0x87 + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PDP = 0xff + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PKTAP = 0xfe + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_STARLAN = 0xb + IFT_STF = 0x39 + IFT_T1 = 0x12 + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LINKLOCALNETNUM = 0xa9fe0000 + IN_LOOPBACKNET = 0x7f + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0xfe + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MEAS = 0x13 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEP = 0x21 + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_2292DSTOPTS = 0x17 + IPV6_2292HOPLIMIT = 0x14 + IPV6_2292HOPOPTS = 0x16 + IPV6_2292NEXTHOP = 0x15 + IPV6_2292PKTINFO = 0x13 + IPV6_2292PKTOPTIONS = 0x19 + IPV6_2292RTHDR = 0x18 + IPV6_BINDV6ONLY = 0x1b + IPV6_BOUND_IF = 0x7d + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOW_ECN_MASK = 0x300 + IPV6_FRAGTTL = 0x3c + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVTCLASS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x24 + IPV6_UNICAST_HOPS = 0x4 + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BLOCK_SOURCE = 0x48 + IP_BOUND_IF = 0x19 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FAITH = 0x16 + IP_FW_ADD = 0x28 + IP_FW_DEL = 0x29 + IP_FW_FLUSH = 0x2a + IP_FW_GET = 0x2c + IP_FW_RESETLOG = 0x2d + IP_FW_ZERO = 0x2b + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MF = 0x2000 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_IFINDEX = 0x42 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_NAT__XXX = 0x37 + IP_OFFMASK = 0x1fff + IP_OLD_FW_ADD = 0x32 + IP_OLD_FW_DEL = 0x33 + IP_OLD_FW_FLUSH = 0x34 + IP_OLD_FW_GET = 0x36 + IP_OLD_FW_RESETLOG = 0x38 + IP_OLD_FW_ZERO = 0x35 + IP_OPTIONS = 0x1 + IP_PKTINFO = 0x1a + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVPKTINFO = 0x1a + IP_RECVRETOPTS = 0x6 + IP_RECVTOS = 0x1b + IP_RECVTTL = 0x18 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_STRIPHDR = 0x17 + IP_TOS = 0x3 + IP_TRAFFIC_MGT_BACKGROUND = 0x41 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_CAN_REUSE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_FREE_REUSABLE = 0x7 + MADV_FREE_REUSE = 0x8 + MADV_NORMAL = 0x0 + MADV_PAGEOUT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MADV_ZERO_WIRED_PAGES = 0x6 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_JIT = 0x800 + MAP_NOCACHE = 0x400 + MAP_NOEXTEND = 0x100 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_RESERVED0080 = 0x80 + MAP_RESILIENT_CODESIGN = 0x2000 + MAP_RESILIENT_MEDIA = 0x4000 + MAP_SHARED = 0x1 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x400000 + MNT_CMDFLAGS = 0xf0000 + MNT_CPROTECT = 0x80 + MNT_DEFWRITE = 0x2000000 + MNT_DONTBROWSE = 0x100000 + MNT_DOVOLFS = 0x8000 + MNT_DWAIT = 0x4 + MNT_EXPORTED = 0x100 + MNT_FORCE = 0x80000 + MNT_IGNORE_OWNERSHIP = 0x200000 + MNT_JOURNALED = 0x800000 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NOATIME = 0x10000000 + MNT_NOBLOCK = 0x20000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOUSERXATTR = 0x1000000 + MNT_NOWAIT = 0x2 + MNT_QUARANTINE = 0x400 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UNKNOWNPERMISSIONS = 0x200000 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x17f0f5ff + MNT_WAIT = 0x1 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_FLUSH = 0x400 + MSG_HAVEMORE = 0x2000 + MSG_HOLD = 0x800 + MSG_NEEDSA = 0x10000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_RCVMORE = 0x4000 + MSG_SEND = 0x1000 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITSTREAM = 0x200 + MS_ASYNC = 0x1 + MS_DEACTIVATE = 0x8 + MS_INVALIDATE = 0x2 + MS_KILLPAGES = 0x4 + MS_SYNC = 0x10 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_DUMP2 = 0x7 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLIST2 = 0x6 + NET_RT_MAXID = 0xa + NET_RT_STAT = 0x4 + NET_RT_TRASH = 0x5 + NL0 = 0x0 + NL1 = 0x100 + NL2 = 0x200 + NL3 = 0x300 + NLDLY = 0x300 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ABSOLUTE = 0x8 + NOTE_ATTRIB = 0x8 + NOTE_BACKGROUND = 0x40 + NOTE_CHILD = 0x4 + NOTE_CRITICAL = 0x20 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXITSTATUS = 0x4000000 + NOTE_EXIT_CSERROR = 0x40000 + NOTE_EXIT_DECRYPTFAIL = 0x10000 + NOTE_EXIT_DETAIL = 0x2000000 + NOTE_EXIT_DETAIL_MASK = 0x70000 + NOTE_EXIT_MEMORY = 0x20000 + NOTE_EXIT_REPARENTED = 0x80000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FORK = 0x40000000 + NOTE_FUNLOCK = 0x100 + NOTE_LEEWAY = 0x10 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MACH_CONTINUOUS_TIME = 0x80 + NOTE_NONE = 0x80 + NOTE_NSECONDS = 0x4 + NOTE_OOB = 0x2 + NOTE_PCTRLMASK = -0x100000 + NOTE_PDATAMASK = 0xfffff + NOTE_REAP = 0x10000000 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_SIGNAL = 0x8000000 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x2 + NOTE_VM_ERROR = 0x10000000 + NOTE_VM_PRESSURE = 0x80000000 + NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 + NOTE_VM_PRESSURE_TERMINATE = 0x40000000 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFDEL = 0x20000 + OFILL = 0x80 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_ALERT = 0x20000000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x1000000 + O_CREAT = 0x200 + O_DIRECTORY = 0x100000 + O_DP_GETRAWENCRYPTED = 0x1 + O_DP_GETRAWUNENCRYPTED = 0x2 + O_DSYNC = 0x400000 + O_EVTONLY = 0x8000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x20000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_POPUP = 0x80000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYMLINK = 0x200000 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PT_ATTACH = 0xa + PT_ATTACHEXC = 0xe + PT_CONTINUE = 0x7 + PT_DENY_ATTACH = 0x1f + PT_DETACH = 0xb + PT_FIRSTMACH = 0x20 + PT_FORCEQUOTA = 0x1e + PT_KILL = 0x8 + PT_READ_D = 0x2 + PT_READ_I = 0x1 + PT_READ_U = 0x3 + PT_SIGEXC = 0xc + PT_STEP = 0x9 + PT_THUPDATE = 0xd + PT_TRACE_ME = 0x0 + PT_WRITE_D = 0x5 + PT_WRITE_I = 0x4 + PT_WRITE_U = 0x6 + RLIMIT_AS = 0x5 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_CPU_USAGE_MONITOR = 0x2 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CLONING = 0x100 + RTF_CONDEMNED = 0x2000000 + RTF_DELCLONE = 0x80 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_IFREF = 0x4000000 + RTF_IFSCOPE = 0x1000000 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_NOIFREF = 0x2000 + RTF_PINNED = 0x100000 + RTF_PRCLONING = 0x10000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_PROXY = 0x8000000 + RTF_REJECT = 0x8 + RTF_ROUTER = 0x10000000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_WASCLONED = 0x20000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_GET2 = 0x14 + RTM_IFINFO = 0xe + RTM_IFINFO2 = 0x12 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_NEWMADDR2 = 0x13 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SCM_TIMESTAMP_MONOTONIC = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCARPIPLL = 0xc0206928 + SIOCATMARK = 0x40047307 + SIOCAUTOADDR = 0xc0206926 + SIOCAUTONETMASK = 0x80206927 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFPHYADDR = 0x80206941 + SIOCGDRVSPEC = 0xc028697b + SIOCGETVLAN = 0xc020697f + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFALTMTU = 0xc0206948 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBOND = 0xc0206947 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020695b + SIOCGIFCONF = 0xc00c6924 + SIOCGIFDEVMTU = 0xc0206944 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFKPI = 0xc0206987 + SIOCGIFMAC = 0xc0206982 + SIOCGIFMEDIA = 0xc02c6938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206940 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc020693f + SIOCGIFSTATUS = 0xc331693d + SIOCGIFVLAN = 0xc020697f + SIOCGIFWAKEFLAGS = 0xc0206988 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCIFCREATE = 0xc0206978 + SIOCIFCREATE2 = 0xc020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106981 + SIOCRSLVMULTI = 0xc010693b + SIOCSDRVSPEC = 0x8028697b + SIOCSETVLAN = 0x8020697e + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFALTMTU = 0x80206945 + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBOND = 0x80206946 + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020695a + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFKPI = 0x80206986 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206983 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x8040693e + SIOCSIFPHYS = 0x80206936 + SIOCSIFVLAN = 0x8020697e + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_DONTTRUNC = 0x2000 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1010 + SO_LINGER = 0x80 + SO_LINGER_SEC = 0x1080 + SO_NETSVC_MARKING_LEVEL = 0x1119 + SO_NET_SERVICE_TYPE = 0x1116 + SO_NKE = 0x1021 + SO_NOADDRERR = 0x1023 + SO_NOSIGPIPE = 0x1022 + SO_NOTIFYCONFLICT = 0x1026 + SO_NP_EXTENSIONS = 0x1083 + SO_NREAD = 0x1020 + SO_NUMRCVPKT = 0x1112 + SO_NWRITE = 0x1024 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1011 + SO_RANDOMPORT = 0x1082 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_REUSESHAREUID = 0x1025 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TIMESTAMP_MONOTONIC = 0x800 + SO_TYPE = 0x1008 + SO_UPCALLCLOSEWAIT = 0x1027 + SO_USELOOPBACK = 0x40 + SO_WANTMORE = 0x4000 + SO_WANTOOBFLAG = 0x8000 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0x4 + TABDLY = 0xc04 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CONNECTIONTIMEOUT = 0x20 + TCP_CONNECTION_INFO = 0x106 + TCP_ENABLE_ECN = 0x104 + TCP_FASTOPEN = 0x105 + TCP_KEEPALIVE = 0x10 + TCP_KEEPCNT = 0x102 + TCP_KEEPINTVL = 0x101 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MINMSS = 0xd8 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_NOTSENT_LOWAT = 0x201 + TCP_RXT_CONNDROPTIME = 0x80 + TCP_RXT_FINDROP = 0x100 + TCP_SENDMOREACKS = 0x103 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCDSIMICROCODE = 0x20007455 + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x40487413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGWINSZ = 0x40087468 + TIOCIXOFF = 0x20007480 + TIOCIXON = 0x20007481 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMODG = 0x40047403 + TIOCMODS = 0x80047404 + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTYGNAME = 0x40807453 + TIOCPTYGRANT = 0x20007454 + TIOCPTYUNLK = 0x20007452 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCONS = 0x20007463 + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x80487414 + TIOCSETAF = 0x80487416 + TIOCSETAW = 0x80487415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2000745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_LOADAVG = 0x2 + VM_MACHFACTOR = 0x4 + VM_MAXID = 0x6 + VM_METER = 0x1 + VM_SWAPUSAGE = 0x5 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VT0 = 0x0 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x10 + WCOREFLAG = 0x80 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOWAIT = 0x20 + WORDSIZE = 0x40 + WSTOPPED = 0x8 + WUNTRACED = 0x2 + XATTR_CREATE = 0x2 + XATTR_NODEFAULT = 0x10 + XATTR_NOFOLLOW = 0x1 + XATTR_NOSECURITY = 0x8 + XATTR_REPLACE = 0x4 + XATTR_SHOWCOMPRESSION = 0x20 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADARCH = syscall.Errno(0x56) + EBADEXEC = syscall.Errno(0x55) + EBADF = syscall.Errno(0x9) + EBADMACHO = syscall.Errno(0x58) + EBADMSG = syscall.Errno(0x5e) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x59) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDEVERR = syscall.Errno(0x53) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x5a) + EILSEQ = syscall.Errno(0x5c) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x6a) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5f) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x60) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x61) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5b) + ENOPOLICY = syscall.Errno(0x67) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x62) + ENOSTR = syscall.Errno(0x63) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x68) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x66) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x69) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x64) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + EPWROFF = syscall.Errno(0x52) + EQFULL = syscall.Errno(0x6a) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHLIBVERS = syscall.Errno(0x57) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x65) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "ENOTSUP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EPWROFF", "device power is off"}, + {83, "EDEVERR", "device error"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EBADEXEC", "bad executable (or shared library)"}, + {86, "EBADARCH", "bad CPU type in executable"}, + {87, "ESHLIBVERS", "shared library version mismatch"}, + {88, "EBADMACHO", "malformed Mach-o file"}, + {89, "ECANCELED", "operation canceled"}, + {90, "EIDRM", "identifier removed"}, + {91, "ENOMSG", "no message of desired type"}, + {92, "EILSEQ", "illegal byte sequence"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EBADMSG", "bad message"}, + {95, "EMULTIHOP", "EMULTIHOP (Reserved)"}, + {96, "ENODATA", "no message available on STREAM"}, + {97, "ENOLINK", "ENOLINK (Reserved)"}, + {98, "ENOSR", "no STREAM resources"}, + {99, "ENOSTR", "not a STREAM"}, + {100, "EPROTO", "protocol error"}, + {101, "ETIME", "STREAM ioctl timeout"}, + {102, "EOPNOTSUPP", "operation not supported on socket"}, + {103, "ENOPOLICY", "policy not found"}, + {104, "ENOTRECOVERABLE", "state not recoverable"}, + {105, "EOWNERDEAD", "previous owner died"}, + {106, "EQFULL", "interface output queue is full"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go new file mode 100644 index 000000000..6d56d8a05 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go @@ -0,0 +1,1783 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,darwin + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1c + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1e + AF_IPX = 0x17 + AF_ISDN = 0x1c + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x28 + AF_NATM = 0x1f + AF_NDRV = 0x1b + AF_NETBIOS = 0x21 + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PPP = 0x22 + AF_PUP = 0x4 + AF_RESERVED_36 = 0x24 + AF_ROUTE = 0x11 + AF_SIP = 0x18 + AF_SNA = 0xb + AF_SYSTEM = 0x20 + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_UTUN = 0x26 + ALTWERASE = 0x200 + ATTR_BIT_MAP_COUNT = 0x5 + ATTR_CMN_ACCESSMASK = 0x20000 + ATTR_CMN_ACCTIME = 0x1000 + ATTR_CMN_ADDEDTIME = 0x10000000 + ATTR_CMN_BKUPTIME = 0x2000 + ATTR_CMN_CHGTIME = 0x800 + ATTR_CMN_CRTIME = 0x200 + ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000 + ATTR_CMN_DEVID = 0x2 + ATTR_CMN_DOCUMENT_ID = 0x100000 + ATTR_CMN_ERROR = 0x20000000 + ATTR_CMN_EXTENDED_SECURITY = 0x400000 + ATTR_CMN_FILEID = 0x2000000 + ATTR_CMN_FLAGS = 0x40000 + ATTR_CMN_FNDRINFO = 0x4000 + ATTR_CMN_FSID = 0x4 + ATTR_CMN_FULLPATH = 0x8000000 + ATTR_CMN_GEN_COUNT = 0x80000 + ATTR_CMN_GRPID = 0x10000 + ATTR_CMN_GRPUUID = 0x1000000 + ATTR_CMN_MODTIME = 0x400 + ATTR_CMN_NAME = 0x1 + ATTR_CMN_NAMEDATTRCOUNT = 0x80000 + ATTR_CMN_NAMEDATTRLIST = 0x100000 + ATTR_CMN_OBJID = 0x20 + ATTR_CMN_OBJPERMANENTID = 0x40 + ATTR_CMN_OBJTAG = 0x10 + ATTR_CMN_OBJTYPE = 0x8 + ATTR_CMN_OWNERID = 0x8000 + ATTR_CMN_PARENTID = 0x4000000 + ATTR_CMN_PAROBJID = 0x80 + ATTR_CMN_RETURNED_ATTRS = 0x80000000 + ATTR_CMN_SCRIPT = 0x100 + ATTR_CMN_SETMASK = 0x41c7ff00 + ATTR_CMN_USERACCESS = 0x200000 + ATTR_CMN_UUID = 0x800000 + ATTR_CMN_VALIDMASK = 0xffffffff + ATTR_CMN_VOLSETMASK = 0x6700 + ATTR_FILE_ALLOCSIZE = 0x4 + ATTR_FILE_CLUMPSIZE = 0x10 + ATTR_FILE_DATAALLOCSIZE = 0x400 + ATTR_FILE_DATAEXTENTS = 0x800 + ATTR_FILE_DATALENGTH = 0x200 + ATTR_FILE_DEVTYPE = 0x20 + ATTR_FILE_FILETYPE = 0x40 + ATTR_FILE_FORKCOUNT = 0x80 + ATTR_FILE_FORKLIST = 0x100 + ATTR_FILE_IOBLOCKSIZE = 0x8 + ATTR_FILE_LINKCOUNT = 0x1 + ATTR_FILE_RSRCALLOCSIZE = 0x2000 + ATTR_FILE_RSRCEXTENTS = 0x4000 + ATTR_FILE_RSRCLENGTH = 0x1000 + ATTR_FILE_SETMASK = 0x20 + ATTR_FILE_TOTALSIZE = 0x2 + ATTR_FILE_VALIDMASK = 0x37ff + ATTR_VOL_ALLOCATIONCLUMP = 0x40 + ATTR_VOL_ATTRIBUTES = 0x40000000 + ATTR_VOL_CAPABILITIES = 0x20000 + ATTR_VOL_DIRCOUNT = 0x400 + ATTR_VOL_ENCODINGSUSED = 0x10000 + ATTR_VOL_FILECOUNT = 0x200 + ATTR_VOL_FSTYPE = 0x1 + ATTR_VOL_INFO = 0x80000000 + ATTR_VOL_IOBLOCKSIZE = 0x80 + ATTR_VOL_MAXOBJCOUNT = 0x800 + ATTR_VOL_MINALLOCATION = 0x20 + ATTR_VOL_MOUNTEDDEVICE = 0x8000 + ATTR_VOL_MOUNTFLAGS = 0x4000 + ATTR_VOL_MOUNTPOINT = 0x1000 + ATTR_VOL_NAME = 0x2000 + ATTR_VOL_OBJCOUNT = 0x100 + ATTR_VOL_QUOTA_SIZE = 0x10000000 + ATTR_VOL_RESERVED_SIZE = 0x20000000 + ATTR_VOL_SETMASK = 0x80002000 + ATTR_VOL_SIGNATURE = 0x2 + ATTR_VOL_SIZE = 0x4 + ATTR_VOL_SPACEAVAIL = 0x10 + ATTR_VOL_SPACEFREE = 0x8 + ATTR_VOL_UUID = 0x40000 + ATTR_VOL_VALIDMASK = 0xf007ffff + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc00c4279 + BIOCGETIF = 0x4020426b + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044278 + BIOCSETF = 0x80104267 + BIOCSETFNR = 0x8010427e + BIOCSETIF = 0x8020426c + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_MONOTONIC_RAW_APPROX = 0x5 + CLOCK_PROCESS_CPUTIME_ID = 0xc + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x10 + CLOCK_UPTIME_RAW = 0x8 + CLOCK_UPTIME_RAW_APPROX = 0x9 + CR0 = 0x0 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRDLY = 0x3000 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0xf5 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_EXCEPT = -0xf + EVFILT_FS = -0x9 + EVFILT_MACHPORT = -0x8 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xf + EVFILT_THREADMARKER = 0xf + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xa + EVFILT_VM = -0xc + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DISPATCH2 = 0x180 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG0 = 0x1000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_OOBAND = 0x2000 + EV_POLL = 0x1000 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EV_UDATA_SPECIFIC = 0x100 + EV_VANISHED = 0x200 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 + FLUSHO = 0x800000 + FSOPT_ATTR_CMN_EXTENDED = 0x20 + FSOPT_NOFOLLOW = 0x1 + FSOPT_NOINMEMUPDATE = 0x2 + FSOPT_PACK_INVAL_ATTRS = 0x8 + FSOPT_REPORT_FULLSIZE = 0x4 + F_ADDFILESIGS = 0x3d + F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 + F_ADDFILESIGS_RETURN = 0x61 + F_ADDSIGS = 0x3b + F_ALLOCATEALL = 0x4 + F_ALLOCATECONTIG = 0x2 + F_BARRIERFSYNC = 0x55 + F_CHECK_LV = 0x62 + F_CHKCLEAN = 0x29 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x43 + F_FINDSIGS = 0x4e + F_FLUSH_DATA = 0x28 + F_FREEZE_FS = 0x35 + F_FULLFSYNC = 0x33 + F_GETCODEDIR = 0x48 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETLKPID = 0x42 + F_GETNOSIGPIPE = 0x4a + F_GETOWN = 0x5 + F_GETPATH = 0x32 + F_GETPATH_MTMINFO = 0x47 + F_GETPROTECTIONCLASS = 0x3f + F_GETPROTECTIONLEVEL = 0x4d + F_GLOBAL_NOCACHE = 0x37 + F_LOG2PHYS = 0x31 + F_LOG2PHYS_EXT = 0x41 + F_NOCACHE = 0x30 + F_NODIRECT = 0x3e + F_OK = 0x0 + F_PATHPKG_CHECK = 0x34 + F_PEOFPOSMODE = 0x3 + F_PREALLOCATE = 0x2a + F_PUNCHHOLE = 0x63 + F_RDADVISE = 0x2c + F_RDAHEAD = 0x2d + F_RDLCK = 0x1 + F_SETBACKINGSTORE = 0x46 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETLKWTIMEOUT = 0xa + F_SETNOSIGPIPE = 0x49 + F_SETOWN = 0x6 + F_SETPROTECTIONCLASS = 0x40 + F_SETSIZE = 0x2b + F_SINGLE_WRITER = 0x4c + F_THAW_FS = 0x36 + F_TRANSCODEKEY = 0x4b + F_TRIM_ACTIVE_FILE = 0x64 + F_UNLCK = 0x2 + F_VOLPOSMODE = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_CELLULAR = 0xff + IFT_CEPT = 0x13 + IFT_DS3 = 0x1e + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FAITH = 0x38 + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_GIF = 0x37 + IFT_HDH1822 = 0x3 + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IEEE1394 = 0x90 + IFT_IEEE8023ADLAG = 0x88 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_L2VLAN = 0x87 + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PDP = 0xff + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PKTAP = 0xfe + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_STARLAN = 0xb + IFT_STF = 0x39 + IFT_T1 = 0x12 + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LINKLOCALNETNUM = 0xa9fe0000 + IN_LOOPBACKNET = 0x7f + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0xfe + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MEAS = 0x13 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEP = 0x21 + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_2292DSTOPTS = 0x17 + IPV6_2292HOPLIMIT = 0x14 + IPV6_2292HOPOPTS = 0x16 + IPV6_2292NEXTHOP = 0x15 + IPV6_2292PKTINFO = 0x13 + IPV6_2292PKTOPTIONS = 0x19 + IPV6_2292RTHDR = 0x18 + IPV6_BINDV6ONLY = 0x1b + IPV6_BOUND_IF = 0x7d + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOW_ECN_MASK = 0x300 + IPV6_FRAGTTL = 0x3c + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVTCLASS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x24 + IPV6_UNICAST_HOPS = 0x4 + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BLOCK_SOURCE = 0x48 + IP_BOUND_IF = 0x19 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FAITH = 0x16 + IP_FW_ADD = 0x28 + IP_FW_DEL = 0x29 + IP_FW_FLUSH = 0x2a + IP_FW_GET = 0x2c + IP_FW_RESETLOG = 0x2d + IP_FW_ZERO = 0x2b + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MF = 0x2000 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_IFINDEX = 0x42 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_NAT__XXX = 0x37 + IP_OFFMASK = 0x1fff + IP_OLD_FW_ADD = 0x32 + IP_OLD_FW_DEL = 0x33 + IP_OLD_FW_FLUSH = 0x34 + IP_OLD_FW_GET = 0x36 + IP_OLD_FW_RESETLOG = 0x38 + IP_OLD_FW_ZERO = 0x35 + IP_OPTIONS = 0x1 + IP_PKTINFO = 0x1a + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVPKTINFO = 0x1a + IP_RECVRETOPTS = 0x6 + IP_RECVTOS = 0x1b + IP_RECVTTL = 0x18 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_STRIPHDR = 0x17 + IP_TOS = 0x3 + IP_TRAFFIC_MGT_BACKGROUND = 0x41 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_CAN_REUSE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_FREE_REUSABLE = 0x7 + MADV_FREE_REUSE = 0x8 + MADV_NORMAL = 0x0 + MADV_PAGEOUT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MADV_ZERO_WIRED_PAGES = 0x6 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_JIT = 0x800 + MAP_NOCACHE = 0x400 + MAP_NOEXTEND = 0x100 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_RESERVED0080 = 0x80 + MAP_RESILIENT_CODESIGN = 0x2000 + MAP_RESILIENT_MEDIA = 0x4000 + MAP_SHARED = 0x1 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x400000 + MNT_CMDFLAGS = 0xf0000 + MNT_CPROTECT = 0x80 + MNT_DEFWRITE = 0x2000000 + MNT_DONTBROWSE = 0x100000 + MNT_DOVOLFS = 0x8000 + MNT_DWAIT = 0x4 + MNT_EXPORTED = 0x100 + MNT_FORCE = 0x80000 + MNT_IGNORE_OWNERSHIP = 0x200000 + MNT_JOURNALED = 0x800000 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NOATIME = 0x10000000 + MNT_NOBLOCK = 0x20000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOUSERXATTR = 0x1000000 + MNT_NOWAIT = 0x2 + MNT_QUARANTINE = 0x400 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UNKNOWNPERMISSIONS = 0x200000 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x17f0f5ff + MNT_WAIT = 0x1 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_FLUSH = 0x400 + MSG_HAVEMORE = 0x2000 + MSG_HOLD = 0x800 + MSG_NEEDSA = 0x10000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_RCVMORE = 0x4000 + MSG_SEND = 0x1000 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITSTREAM = 0x200 + MS_ASYNC = 0x1 + MS_DEACTIVATE = 0x8 + MS_INVALIDATE = 0x2 + MS_KILLPAGES = 0x4 + MS_SYNC = 0x10 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_DUMP2 = 0x7 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLIST2 = 0x6 + NET_RT_MAXID = 0xa + NET_RT_STAT = 0x4 + NET_RT_TRASH = 0x5 + NL0 = 0x0 + NL1 = 0x100 + NL2 = 0x200 + NL3 = 0x300 + NLDLY = 0x300 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ABSOLUTE = 0x8 + NOTE_ATTRIB = 0x8 + NOTE_BACKGROUND = 0x40 + NOTE_CHILD = 0x4 + NOTE_CRITICAL = 0x20 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXITSTATUS = 0x4000000 + NOTE_EXIT_CSERROR = 0x40000 + NOTE_EXIT_DECRYPTFAIL = 0x10000 + NOTE_EXIT_DETAIL = 0x2000000 + NOTE_EXIT_DETAIL_MASK = 0x70000 + NOTE_EXIT_MEMORY = 0x20000 + NOTE_EXIT_REPARENTED = 0x80000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FORK = 0x40000000 + NOTE_FUNLOCK = 0x100 + NOTE_LEEWAY = 0x10 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MACH_CONTINUOUS_TIME = 0x80 + NOTE_NONE = 0x80 + NOTE_NSECONDS = 0x4 + NOTE_OOB = 0x2 + NOTE_PCTRLMASK = -0x100000 + NOTE_PDATAMASK = 0xfffff + NOTE_REAP = 0x10000000 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_SIGNAL = 0x8000000 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x2 + NOTE_VM_ERROR = 0x10000000 + NOTE_VM_PRESSURE = 0x80000000 + NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 + NOTE_VM_PRESSURE_TERMINATE = 0x40000000 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFDEL = 0x20000 + OFILL = 0x80 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_ALERT = 0x20000000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x1000000 + O_CREAT = 0x200 + O_DIRECTORY = 0x100000 + O_DP_GETRAWENCRYPTED = 0x1 + O_DP_GETRAWUNENCRYPTED = 0x2 + O_DSYNC = 0x400000 + O_EVTONLY = 0x8000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x20000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_POPUP = 0x80000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYMLINK = 0x200000 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PT_ATTACH = 0xa + PT_ATTACHEXC = 0xe + PT_CONTINUE = 0x7 + PT_DENY_ATTACH = 0x1f + PT_DETACH = 0xb + PT_FIRSTMACH = 0x20 + PT_FORCEQUOTA = 0x1e + PT_KILL = 0x8 + PT_READ_D = 0x2 + PT_READ_I = 0x1 + PT_READ_U = 0x3 + PT_SIGEXC = 0xc + PT_STEP = 0x9 + PT_THUPDATE = 0xd + PT_TRACE_ME = 0x0 + PT_WRITE_D = 0x5 + PT_WRITE_I = 0x4 + PT_WRITE_U = 0x6 + RLIMIT_AS = 0x5 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_CPU_USAGE_MONITOR = 0x2 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CLONING = 0x100 + RTF_CONDEMNED = 0x2000000 + RTF_DELCLONE = 0x80 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_IFREF = 0x4000000 + RTF_IFSCOPE = 0x1000000 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_NOIFREF = 0x2000 + RTF_PINNED = 0x100000 + RTF_PRCLONING = 0x10000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_PROXY = 0x8000000 + RTF_REJECT = 0x8 + RTF_ROUTER = 0x10000000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_WASCLONED = 0x20000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_GET2 = 0x14 + RTM_IFINFO = 0xe + RTM_IFINFO2 = 0x12 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_NEWMADDR2 = 0x13 + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SCM_TIMESTAMP_MONOTONIC = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCARPIPLL = 0xc0206928 + SIOCATMARK = 0x40047307 + SIOCAUTOADDR = 0xc0206926 + SIOCAUTONETMASK = 0x80206927 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFPHYADDR = 0x80206941 + SIOCGDRVSPEC = 0xc028697b + SIOCGETVLAN = 0xc020697f + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFALTMTU = 0xc0206948 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBOND = 0xc0206947 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020695b + SIOCGIFCONF = 0xc00c6924 + SIOCGIFDEVMTU = 0xc0206944 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFKPI = 0xc0206987 + SIOCGIFMAC = 0xc0206982 + SIOCGIFMEDIA = 0xc02c6938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206940 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc020693f + SIOCGIFSTATUS = 0xc331693d + SIOCGIFVLAN = 0xc020697f + SIOCGIFWAKEFLAGS = 0xc0206988 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCIFCREATE = 0xc0206978 + SIOCIFCREATE2 = 0xc020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106981 + SIOCRSLVMULTI = 0xc010693b + SIOCSDRVSPEC = 0x8028697b + SIOCSETVLAN = 0x8020697e + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFALTMTU = 0x80206945 + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBOND = 0x80206946 + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020695a + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFKPI = 0x80206986 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206983 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x8040693e + SIOCSIFPHYS = 0x80206936 + SIOCSIFVLAN = 0x8020697e + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_DONTTRUNC = 0x2000 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1010 + SO_LINGER = 0x80 + SO_LINGER_SEC = 0x1080 + SO_NETSVC_MARKING_LEVEL = 0x1119 + SO_NET_SERVICE_TYPE = 0x1116 + SO_NKE = 0x1021 + SO_NOADDRERR = 0x1023 + SO_NOSIGPIPE = 0x1022 + SO_NOTIFYCONFLICT = 0x1026 + SO_NP_EXTENSIONS = 0x1083 + SO_NREAD = 0x1020 + SO_NUMRCVPKT = 0x1112 + SO_NWRITE = 0x1024 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1011 + SO_RANDOMPORT = 0x1082 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_REUSESHAREUID = 0x1025 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TIMESTAMP_MONOTONIC = 0x800 + SO_TYPE = 0x1008 + SO_UPCALLCLOSEWAIT = 0x1027 + SO_USELOOPBACK = 0x40 + SO_WANTMORE = 0x4000 + SO_WANTOOBFLAG = 0x8000 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0x4 + TABDLY = 0xc04 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CONNECTIONTIMEOUT = 0x20 + TCP_CONNECTION_INFO = 0x106 + TCP_ENABLE_ECN = 0x104 + TCP_FASTOPEN = 0x105 + TCP_KEEPALIVE = 0x10 + TCP_KEEPCNT = 0x102 + TCP_KEEPINTVL = 0x101 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MINMSS = 0xd8 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_NOTSENT_LOWAT = 0x201 + TCP_RXT_CONNDROPTIME = 0x80 + TCP_RXT_FINDROP = 0x100 + TCP_SENDMOREACKS = 0x103 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCDSIMICROCODE = 0x20007455 + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x40487413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGWINSZ = 0x40087468 + TIOCIXOFF = 0x20007480 + TIOCIXON = 0x20007481 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMODG = 0x40047403 + TIOCMODS = 0x80047404 + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTYGNAME = 0x40807453 + TIOCPTYGRANT = 0x20007454 + TIOCPTYUNLK = 0x20007452 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCONS = 0x20007463 + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x80487414 + TIOCSETAF = 0x80487416 + TIOCSETAW = 0x80487415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2000745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_LOADAVG = 0x2 + VM_MACHFACTOR = 0x4 + VM_MAXID = 0x6 + VM_METER = 0x1 + VM_SWAPUSAGE = 0x5 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VT0 = 0x0 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x10 + WCOREFLAG = 0x80 + WEXITED = 0x4 + WNOHANG = 0x1 + WNOWAIT = 0x20 + WORDSIZE = 0x40 + WSTOPPED = 0x8 + WUNTRACED = 0x2 + XATTR_CREATE = 0x2 + XATTR_NODEFAULT = 0x10 + XATTR_NOFOLLOW = 0x1 + XATTR_NOSECURITY = 0x8 + XATTR_REPLACE = 0x4 + XATTR_SHOWCOMPRESSION = 0x20 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADARCH = syscall.Errno(0x56) + EBADEXEC = syscall.Errno(0x55) + EBADF = syscall.Errno(0x9) + EBADMACHO = syscall.Errno(0x58) + EBADMSG = syscall.Errno(0x5e) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x59) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDEVERR = syscall.Errno(0x53) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x5a) + EILSEQ = syscall.Errno(0x5c) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x6a) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5f) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x60) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x61) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5b) + ENOPOLICY = syscall.Errno(0x67) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x62) + ENOSTR = syscall.Errno(0x63) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x68) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x66) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x69) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x64) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + EPWROFF = syscall.Errno(0x52) + EQFULL = syscall.Errno(0x6a) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHLIBVERS = syscall.Errno(0x57) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x65) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "ENOTSUP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EPWROFF", "device power is off"}, + {83, "EDEVERR", "device error"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EBADEXEC", "bad executable (or shared library)"}, + {86, "EBADARCH", "bad CPU type in executable"}, + {87, "ESHLIBVERS", "shared library version mismatch"}, + {88, "EBADMACHO", "malformed Mach-o file"}, + {89, "ECANCELED", "operation canceled"}, + {90, "EIDRM", "identifier removed"}, + {91, "ENOMSG", "no message of desired type"}, + {92, "EILSEQ", "illegal byte sequence"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EBADMSG", "bad message"}, + {95, "EMULTIHOP", "EMULTIHOP (Reserved)"}, + {96, "ENODATA", "no message available on STREAM"}, + {97, "ENOLINK", "ENOLINK (Reserved)"}, + {98, "ENOSR", "no STREAM resources"}, + {99, "ENOSTR", "not a STREAM"}, + {100, "EPROTO", "protocol error"}, + {101, "ETIME", "STREAM ioctl timeout"}, + {102, "EOPNOTSUPP", "operation not supported on socket"}, + {103, "ENOPOLICY", "policy not found"}, + {104, "ENOTRECOVERABLE", "state not recoverable"}, + {105, "EOWNERDEAD", "previous owner died"}, + {106, "EQFULL", "interface output queue is full"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go new file mode 100644 index 000000000..bbe6089bb --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go @@ -0,0 +1,1650 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,dragonfly + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ATM = 0x1e + AF_BLUETOOTH = 0x21 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x23 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1c + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x24 + AF_MPLS = 0x22 + AF_NATM = 0x1d + AF_NETBIOS = 0x6 + AF_NETGRAPH = 0x20 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SIP = 0x18 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ALTWERASE = 0x200 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0104279 + BIOCGETIF = 0x4020426b + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x2000427a + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044278 + BIOCSETF = 0x80104267 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x8010427b + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x8 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DEFAULTBUFSIZE = 0x1000 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MAX_CLONES = 0x80 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x4 + CLOCK_MONOTONIC_FAST = 0xc + CLOCK_MONOTONIC_PRECISE = 0xb + CLOCK_PROCESS_CPUTIME_ID = 0xf + CLOCK_PROF = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_FAST = 0xa + CLOCK_REALTIME_PRECISE = 0x9 + CLOCK_SECOND = 0xd + CLOCK_THREAD_CPUTIME_ID = 0xe + CLOCK_UPTIME = 0x5 + CLOCK_UPTIME_FAST = 0x8 + CLOCK_UPTIME_PRECISE = 0x7 + CLOCK_VIRTUAL = 0x1 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DOCSIS = 0x8f + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_REDBACK_SMARTEDGE = 0x20 + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DBF = 0xf + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_EXCEPT = -0x8 + EVFILT_FS = -0xa + EVFILT_MARKER = 0xf + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xa + EVFILT_TIMER = -0x7 + EVFILT_USER = -0x9 + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_NODATA = 0x1000 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTEXIT_LWP = 0x10000 + EXTEXIT_PROC = 0x0 + EXTEXIT_SETINT = 0x1 + EXTEXIT_SIMPLE = 0x0 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_DUP2FD = 0xa + F_DUP2FD_CLOEXEC = 0x12 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x11 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETOWN = 0x5 + F_OK = 0x0 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x118e72 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MONITOR = 0x40000 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NPOLLING = 0x100000 + IFF_OACTIVE = 0x400 + IFF_OACTIVE_COMPAT = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_POLLING = 0x10000 + IFF_POLLING_COMPAT = 0x10000 + IFF_PPROMISC = 0x20000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_SMART = 0x20 + IFF_STATICARP = 0x80000 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf8 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xf3 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VOICEEM = 0x64 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CARP = 0x70 + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0xfe + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MEAS = 0x13 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MOBILE = 0x37 + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SDRP = 0x2a + IPPROTO_SEP = 0x21 + IPPROTO_SKIP = 0x39 + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TLSP = 0x38 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_UNKNOWN = 0x102 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_BINDV6ONLY = 0x1b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MINHLIM = 0x28 + IPV6_MMTU = 0x500 + IPV6_MSFILTER = 0x4a + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PKTOPTIONS = 0x34 + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_PREFER_TEMPADDR = 0x3f + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FAITH = 0x16 + IP_FW_ADD = 0x32 + IP_FW_DEL = 0x33 + IP_FW_FLUSH = 0x34 + IP_FW_GET = 0x36 + IP_FW_RESETLOG = 0x37 + IP_FW_X = 0x31 + IP_FW_ZERO = 0x35 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x42 + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x41 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_AUTOSYNC = 0x7 + MADV_CONTROL_END = 0xb + MADV_CONTROL_START = 0xa + MADV_CORE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_INVAL = 0xa + MADV_NOCORE = 0x8 + MADV_NORMAL = 0x0 + MADV_NOSYNC = 0x6 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SETMAP = 0xb + MADV_WILLNEED = 0x3 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_INHERIT = 0x80 + MAP_NOCORE = 0x20000 + MAP_NOEXTEND = 0x100 + MAP_NORESERVE = 0x40 + MAP_NOSYNC = 0x800 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_SIZEALIGN = 0x40000 + MAP_STACK = 0x400 + MAP_TRYFIXED = 0x10000 + MAP_VPAGETABLE = 0x2000 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x20 + MNT_CMDFLAGS = 0xf0000 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_EXKERB = 0x800 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x20000000 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_IGNORE = 0x800000 + MNT_LAZY = 0x4 + MNT_LOCAL = 0x1000 + MNT_NOATIME = 0x10000000 + MNT_NOCLUSTERR = 0x40000000 + MNT_NOCLUSTERW = 0x80000000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOSYMFOLLOW = 0x400000 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x200000 + MNT_SUIDDIR = 0x100000 + MNT_SYNCHRONOUS = 0x2 + MNT_TRIM = 0x1000000 + MNT_UPDATE = 0x10000 + MNT_USER = 0x8000 + MNT_VISFLAGMASK = 0xf1f0ffff + MNT_WAIT = 0x1 + MSG_CMSG_CLOEXEC = 0x1000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_FBLOCKING = 0x10000 + MSG_FMASK = 0xffff0000 + MSG_FNONBLOCKING = 0x20000 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_SYNC = 0x800 + MSG_TRUNC = 0x10 + MSG_UNUSED09 = 0x200 + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x0 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_MAXID = 0x4 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_OOB = 0x2 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x20000 + O_CREAT = 0x200 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x8000000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FAPPEND = 0x100000 + O_FASYNCWRITE = 0x800000 + O_FBLOCKING = 0x40000 + O_FMASK = 0xfc0000 + O_FNONBLOCKING = 0x80000 + O_FOFFSET = 0x200000 + O_FSYNC = 0x80 + O_FSYNCWRITE = 0x400000 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0xb + RTAX_MPLS1 = 0x8 + RTAX_MPLS2 = 0x9 + RTAX_MPLS3 = 0xa + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_MPLS1 = 0x100 + RTA_MPLS2 = 0x200 + RTA_MPLS3 = 0x400 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MPLSOPS = 0x1000000 + RTF_MULTICAST = 0x800000 + RTF_PINNED = 0x100000 + RTF_PRCLONING = 0x10000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_WASCLONED = 0x20000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x12 + RTM_IFANNOUNCE = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x6 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_IWCAPSEGS = 0x400 + RTV_IWMAXSEGS = 0x200 + RTV_MSL = 0x100 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCADDRT = 0x8040720a + SIOCAIFADDR = 0x8040691a + SIOCALIFADDR = 0x8118691b + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80206932 + SIOCDELRT = 0x8040720b + SIOCDIFADDR = 0x80206919 + SIOCDIFPHYADDR = 0x80206949 + SIOCDLIFADDR = 0x8118691d + SIOCGDRVSPEC = 0xc028697b + SIOCGETSGCNT = 0xc0207210 + SIOCGETVIFCNT = 0xc028720f + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020691f + SIOCGIFCONF = 0xc0106924 + SIOCGIFDATA = 0xc0206926 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc028698a + SIOCGIFINDEX = 0xc0206920 + SIOCGIFMEDIA = 0xc0306938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPOLLCPU = 0xc020697e + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFSTATUS = 0xc331693b + SIOCGIFTSOLEN = 0xc0206980 + SIOCGLIFADDR = 0xc118691c + SIOCGLIFPHYADDR = 0xc118694b + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGPRIVATE_0 = 0xc0206950 + SIOCGPRIVATE_1 = 0xc0206951 + SIOCIFCREATE = 0xc020697a + SIOCIFCREATE2 = 0xc020697c + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106978 + SIOCSDRVSPEC = 0x8028697b + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020691e + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNAME = 0x80206928 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPHYS = 0x80206936 + SIOCSIFPOLLCPU = 0x8020697d + SIOCSIFTSOLEN = 0x8020697f + SIOCSLIFPHYADDR = 0x8118694a + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_NONBLOCK = 0x20000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BROADCAST = 0x20 + SO_CPUHINT = 0x1030 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NOSIGPIPE = 0x800 + SO_OOBINLINE = 0x100 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDSPACE = 0x100a + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDB = 0x9000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_FASTKEEP = 0x80 + TCP_KEEPCNT = 0x400 + TCP_KEEPIDLE = 0x100 + TCP_KEEPINIT = 0x20 + TCP_KEEPINTVL = 0x200 + TCP_MAXBURST = 0x4 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MINMSS = 0x100 + TCP_MIN_WINSHIFT = 0x5 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_SIGNATURE_ENABLE = 0x10 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047463 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCISPTMASTER = 0x20007455 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMODG = 0x40047403 + TIOCMODS = 0x80047404 + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2000745f + TIOCSPGRP = 0x80047476 + TIOCSSIZE = 0x80087467 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VCHECKPT = 0x13 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VERASE2 = 0x7 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_BCACHE_SIZE_MAX = 0x0 + VM_SWZONE_SIZE_MAX = 0x4000000000 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x4 + WCOREFLAG = 0x80 + WLINUXCLONE = 0x80000000 + WNOHANG = 0x1 + WSTOPPED = 0x7f + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EASYNC = syscall.Errno(0x63) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x59) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x55) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDOOFUS = syscall.Errno(0x58) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x56) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x63) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5a) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x57) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5b) + ENOMEDIUM = syscall.Errno(0x5d) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5c) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUNUSED94 = syscall.Errno(0x5e) + EUNUSED95 = syscall.Errno(0x5f) + EUNUSED96 = syscall.Errno(0x60) + EUNUSED97 = syscall.Errno(0x61) + EUNUSED98 = syscall.Errno(0x62) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCKPT = syscall.Signal(0x21) + SIGCKPTEXIT = syscall.Signal(0x22) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EWOULDBLOCK", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "ECANCELED", "operation canceled"}, + {86, "EILSEQ", "illegal byte sequence"}, + {87, "ENOATTR", "attribute not found"}, + {88, "EDOOFUS", "programming error"}, + {89, "EBADMSG", "bad message"}, + {90, "EMULTIHOP", "multihop attempted"}, + {91, "ENOLINK", "link has been severed"}, + {92, "EPROTO", "protocol error"}, + {93, "ENOMEDIUM", "no medium found"}, + {94, "EUNUSED94", "unknown error: 94"}, + {95, "EUNUSED95", "unknown error: 95"}, + {96, "EUNUSED96", "unknown error: 96"}, + {97, "EUNUSED97", "unknown error: 97"}, + {98, "EUNUSED98", "unknown error: 98"}, + {99, "ELAST", "unknown error: 99"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "thread Scheduler"}, + {33, "SIGCKPT", "checkPoint"}, + {34, "SIGCKPTEXIT", "checkPointExit"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go new file mode 100644 index 000000000..d2bbaabc8 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go @@ -0,0 +1,1793 @@ +// mkerrors.sh -m32 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,freebsd + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m32 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x23 + AF_ATM = 0x1e + AF_BLUETOOTH = 0x24 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1c + AF_INET6_SDP = 0x2a + AF_INET_SDP = 0x28 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x2a + AF_NATM = 0x1d + AF_NETBIOS = 0x6 + AF_NETGRAPH = 0x20 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SCLUSTER = 0x22 + AF_SIP = 0x18 + AF_SLOW = 0x21 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VENDOR00 = 0x27 + AF_VENDOR01 = 0x29 + AF_VENDOR02 = 0x2b + AF_VENDOR03 = 0x2d + AF_VENDOR04 = 0x2f + AF_VENDOR05 = 0x31 + AF_VENDOR06 = 0x33 + AF_VENDOR07 = 0x35 + AF_VENDOR08 = 0x37 + AF_VENDOR09 = 0x39 + AF_VENDOR10 = 0x3b + AF_VENDOR11 = 0x3d + AF_VENDOR12 = 0x3f + AF_VENDOR13 = 0x41 + AF_VENDOR14 = 0x43 + AF_VENDOR15 = 0x45 + AF_VENDOR16 = 0x47 + AF_VENDOR17 = 0x49 + AF_VENDOR18 = 0x4b + AF_VENDOR19 = 0x4d + AF_VENDOR20 = 0x4f + AF_VENDOR21 = 0x51 + AF_VENDOR22 = 0x53 + AF_VENDOR23 = 0x55 + AF_VENDOR24 = 0x57 + AF_VENDOR25 = 0x59 + AF_VENDOR26 = 0x5b + AF_VENDOR27 = 0x5d + AF_VENDOR28 = 0x5f + AF_VENDOR29 = 0x61 + AF_VENDOR30 = 0x63 + AF_VENDOR31 = 0x65 + AF_VENDOR32 = 0x67 + AF_VENDOR33 = 0x69 + AF_VENDOR34 = 0x6b + AF_VENDOR35 = 0x6d + AF_VENDOR36 = 0x6f + AF_VENDOR37 = 0x71 + AF_VENDOR38 = 0x73 + AF_VENDOR39 = 0x75 + AF_VENDOR40 = 0x77 + AF_VENDOR41 = 0x79 + AF_VENDOR42 = 0x7b + AF_VENDOR43 = 0x7d + AF_VENDOR44 = 0x7f + AF_VENDOR45 = 0x81 + AF_VENDOR46 = 0x83 + AF_VENDOR47 = 0x85 + ALTWERASE = 0x200 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427c + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRECTION = 0x40044276 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0084279 + BIOCGETBUFMODE = 0x4004427d + BIOCGETIF = 0x4020426b + BIOCGETZMAX = 0x4004427f + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4008426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCGTSTAMP = 0x40044283 + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x2000427a + BIOCPROMISC = 0x20004269 + BIOCROTZBUF = 0x400c4280 + BIOCSBLEN = 0xc0044266 + BIOCSDIRECTION = 0x80044277 + BIOCSDLT = 0x80044278 + BIOCSETBUFMODE = 0x8004427e + BIOCSETF = 0x80084267 + BIOCSETFNR = 0x80084282 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x8008427b + BIOCSETZBUF = 0x800c4281 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8008426d + BIOCSSEESENT = 0x80044277 + BIOCSTSTAMP = 0x80044284 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_BUFMODE_BUFFER = 0x1 + BPF_BUFMODE_ZBUF = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_T_BINTIME = 0x2 + BPF_T_BINTIME_FAST = 0x102 + BPF_T_BINTIME_MONOTONIC = 0x202 + BPF_T_BINTIME_MONOTONIC_FAST = 0x302 + BPF_T_FAST = 0x100 + BPF_T_FLAG_MASK = 0x300 + BPF_T_FORMAT_MASK = 0x3 + BPF_T_MICROTIME = 0x0 + BPF_T_MICROTIME_FAST = 0x100 + BPF_T_MICROTIME_MONOTONIC = 0x200 + BPF_T_MICROTIME_MONOTONIC_FAST = 0x300 + BPF_T_MONOTONIC = 0x200 + BPF_T_MONOTONIC_FAST = 0x300 + BPF_T_NANOTIME = 0x1 + BPF_T_NANOTIME_FAST = 0x101 + BPF_T_NANOTIME_MONOTONIC = 0x201 + BPF_T_NANOTIME_MONOTONIC_FAST = 0x301 + BPF_T_NONE = 0x3 + BPF_T_NORMAL = 0x0 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + CAP_ACCEPT = 0x200000020000000 + CAP_ACL_CHECK = 0x400000000010000 + CAP_ACL_DELETE = 0x400000000020000 + CAP_ACL_GET = 0x400000000040000 + CAP_ACL_SET = 0x400000000080000 + CAP_ALL0 = 0x20007ffffffffff + CAP_ALL1 = 0x4000000001fffff + CAP_BIND = 0x200000040000000 + CAP_BINDAT = 0x200008000000400 + CAP_CHFLAGSAT = 0x200000000001400 + CAP_CONNECT = 0x200000080000000 + CAP_CONNECTAT = 0x200010000000400 + CAP_CREATE = 0x200000000000040 + CAP_EVENT = 0x400000000000020 + CAP_EXTATTR_DELETE = 0x400000000001000 + CAP_EXTATTR_GET = 0x400000000002000 + CAP_EXTATTR_LIST = 0x400000000004000 + CAP_EXTATTR_SET = 0x400000000008000 + CAP_FCHDIR = 0x200000000000800 + CAP_FCHFLAGS = 0x200000000001000 + CAP_FCHMOD = 0x200000000002000 + CAP_FCHMODAT = 0x200000000002400 + CAP_FCHOWN = 0x200000000004000 + CAP_FCHOWNAT = 0x200000000004400 + CAP_FCNTL = 0x200000000008000 + CAP_FCNTL_ALL = 0x78 + CAP_FCNTL_GETFL = 0x8 + CAP_FCNTL_GETOWN = 0x20 + CAP_FCNTL_SETFL = 0x10 + CAP_FCNTL_SETOWN = 0x40 + CAP_FEXECVE = 0x200000000000080 + CAP_FLOCK = 0x200000000010000 + CAP_FPATHCONF = 0x200000000020000 + CAP_FSCK = 0x200000000040000 + CAP_FSTAT = 0x200000000080000 + CAP_FSTATAT = 0x200000000080400 + CAP_FSTATFS = 0x200000000100000 + CAP_FSYNC = 0x200000000000100 + CAP_FTRUNCATE = 0x200000000000200 + CAP_FUTIMES = 0x200000000200000 + CAP_FUTIMESAT = 0x200000000200400 + CAP_GETPEERNAME = 0x200000100000000 + CAP_GETSOCKNAME = 0x200000200000000 + CAP_GETSOCKOPT = 0x200000400000000 + CAP_IOCTL = 0x400000000000080 + CAP_IOCTLS_ALL = 0x7fffffff + CAP_KQUEUE = 0x400000000100040 + CAP_KQUEUE_CHANGE = 0x400000000100000 + CAP_KQUEUE_EVENT = 0x400000000000040 + CAP_LINKAT_SOURCE = 0x200020000000400 + CAP_LINKAT_TARGET = 0x200000000400400 + CAP_LISTEN = 0x200000800000000 + CAP_LOOKUP = 0x200000000000400 + CAP_MAC_GET = 0x400000000000001 + CAP_MAC_SET = 0x400000000000002 + CAP_MKDIRAT = 0x200000000800400 + CAP_MKFIFOAT = 0x200000001000400 + CAP_MKNODAT = 0x200000002000400 + CAP_MMAP = 0x200000000000010 + CAP_MMAP_R = 0x20000000000001d + CAP_MMAP_RW = 0x20000000000001f + CAP_MMAP_RWX = 0x20000000000003f + CAP_MMAP_RX = 0x20000000000003d + CAP_MMAP_W = 0x20000000000001e + CAP_MMAP_WX = 0x20000000000003e + CAP_MMAP_X = 0x20000000000003c + CAP_PDGETPID = 0x400000000000200 + CAP_PDKILL = 0x400000000000800 + CAP_PDWAIT = 0x400000000000400 + CAP_PEELOFF = 0x200001000000000 + CAP_POLL_EVENT = 0x400000000000020 + CAP_PREAD = 0x20000000000000d + CAP_PWRITE = 0x20000000000000e + CAP_READ = 0x200000000000001 + CAP_RECV = 0x200000000000001 + CAP_RENAMEAT_SOURCE = 0x200000004000400 + CAP_RENAMEAT_TARGET = 0x200040000000400 + CAP_RIGHTS_VERSION = 0x0 + CAP_RIGHTS_VERSION_00 = 0x0 + CAP_SEEK = 0x20000000000000c + CAP_SEEK_TELL = 0x200000000000004 + CAP_SEM_GETVALUE = 0x400000000000004 + CAP_SEM_POST = 0x400000000000008 + CAP_SEM_WAIT = 0x400000000000010 + CAP_SEND = 0x200000000000002 + CAP_SETSOCKOPT = 0x200002000000000 + CAP_SHUTDOWN = 0x200004000000000 + CAP_SOCK_CLIENT = 0x200007780000003 + CAP_SOCK_SERVER = 0x200007f60000003 + CAP_SYMLINKAT = 0x200000008000400 + CAP_TTYHOOK = 0x400000000000100 + CAP_UNLINKAT = 0x200000010000400 + CAP_UNUSED0_44 = 0x200080000000000 + CAP_UNUSED0_57 = 0x300000000000000 + CAP_UNUSED1_22 = 0x400000000200000 + CAP_UNUSED1_57 = 0x500000000000000 + CAP_WRITE = 0x200000000000002 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x4 + CLOCK_MONOTONIC_FAST = 0xc + CLOCK_MONOTONIC_PRECISE = 0xb + CLOCK_PROCESS_CPUTIME_ID = 0xf + CLOCK_PROF = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_FAST = 0xa + CLOCK_REALTIME_PRECISE = 0x9 + CLOCK_SECOND = 0xd + CLOCK_THREAD_CPUTIME_ID = 0xe + CLOCK_UPTIME = 0x5 + CLOCK_UPTIME_FAST = 0x8 + CLOCK_UPTIME_PRECISE = 0x7 + CLOCK_VIRTUAL = 0x1 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0x18 + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_BREDR_BB = 0xff + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_BLUETOOTH_LE_LL = 0xfb + DLT_BLUETOOTH_LE_LL_WITH_PHDR = 0x100 + DLT_BLUETOOTH_LINUX_MONITOR = 0xfe + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_EPON = 0x103 + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_INFINIBAND = 0xf7 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPMI_HPM_2 = 0x104 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0x104 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NETLINK = 0xfd + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x79 + DLT_PKTAP = 0x102 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PROFIBUS_DL = 0x101 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_RTAC_SERIAL = 0xfa + DLT_SCCP = 0x8e + DLT_SCTP = 0xf8 + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USBPCAP = 0xf9 + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_WIRESHARK_UPPER_PDU = 0xfc + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_FS = -0x9 + EVFILT_LIO = -0xa + EVFILT_PROC = -0x5 + EVFILT_PROCDESC = -0x8 + EVFILT_READ = -0x1 + EVFILT_SENDFILE = -0xc + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xc + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xb + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DROP = 0x1000 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_FLAG2 = 0x4000 + EV_FORCEONESHOT = 0x100 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_NAMESPACE_EMPTY = 0x0 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_CANCEL = 0x5 + F_DUP2FD = 0xa + F_DUP2FD_CLOEXEC = 0x12 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x11 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0xb + F_GETOWN = 0x5 + F_OGETLK = 0x7 + F_OK = 0x0 + F_OSETLK = 0x8 + F_OSETLKW = 0x9 + F_RDAHEAD = 0x10 + F_RDLCK = 0x1 + F_READAHEAD = 0xf + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0xc + F_SETLKW = 0xd + F_SETLK_REMOTE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_UNLCKSYS = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x218f52 + IFF_CANTCONFIG = 0x10000 + IFF_DEBUG = 0x4 + IFF_DRV_OACTIVE = 0x400 + IFF_DRV_RUNNING = 0x40 + IFF_DYING = 0x200000 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MONITOR = 0x40000 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PPROMISC = 0x20000 + IFF_PROMISC = 0x100 + IFF_RENAMING = 0x400000 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_STATICARP = 0x80000 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_IEEE1394 = 0x90 + IFT_INFINIBAND = 0xc7 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_PPP = 0x17 + IFT_PROPVIRTUAL = 0x35 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_MASK = 0xfffffffe + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CARP = 0x70 + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0x102 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HIP = 0x8b + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MEAS = 0x13 + IPPROTO_MH = 0x87 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OLD_DIVERT = 0xfe + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_RESERVED_253 = 0xfd + IPPROTO_RESERVED_254 = 0xfe + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEND = 0x103 + IPPROTO_SEP = 0x21 + IPPROTO_SHIM6 = 0x8c + IPPROTO_SKIP = 0x39 + IPPROTO_SPACER = 0x7fff + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TLSP = 0x38 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_BINDANY = 0x40 + IPV6_BINDMULTI = 0x41 + IPV6_BINDV6ONLY = 0x1b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FLOWID = 0x43 + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOWTYPE = 0x44 + IPV6_FRAGTTL = 0x78 + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MSFILTER = 0x4a + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_PREFER_TEMPADDR = 0x3f + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVFLOWID = 0x46 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRSSBUCKETID = 0x47 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RSSBUCKETID = 0x45 + IPV6_RSS_LISTEN_BUCKET = 0x42 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BINDANY = 0x18 + IP_BINDMULTI = 0x19 + IP_BLOCK_SOURCE = 0x48 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DONTFRAG = 0x43 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET3 = 0x31 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FLOWID = 0x5a + IP_FLOWTYPE = 0x5b + IP_FW3 = 0x30 + IP_FW_ADD = 0x32 + IP_FW_DEL = 0x33 + IP_FW_FLUSH = 0x34 + IP_FW_GET = 0x36 + IP_FW_NAT_CFG = 0x38 + IP_FW_NAT_DEL = 0x39 + IP_FW_NAT_GET_CONFIG = 0x3a + IP_FW_NAT_GET_LOG = 0x3b + IP_FW_RESETLOG = 0x37 + IP_FW_TABLE_ADD = 0x28 + IP_FW_TABLE_DEL = 0x29 + IP_FW_TABLE_FLUSH = 0x2a + IP_FW_TABLE_GETSIZE = 0x2b + IP_FW_TABLE_LIST = 0x2c + IP_FW_ZERO = 0x35 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MAX_SOURCE_FILTER = 0x400 + IP_MF = 0x2000 + IP_MINTTL = 0x42 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_OFFMASK = 0x1fff + IP_ONESBCAST = 0x17 + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVFLOWID = 0x5d + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRSSBUCKETID = 0x5e + IP_RECVTOS = 0x44 + IP_RECVTTL = 0x41 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSSBUCKETID = 0x5c + IP_RSS_LISTEN_BUCKET = 0x1a + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_AUTOSYNC = 0x7 + MADV_CORE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_NOCORE = 0x8 + MADV_NORMAL = 0x0 + MADV_NOSYNC = 0x6 + MADV_PROTECT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MAP_ALIGNED_SUPER = 0x1000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_EXCL = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_NOCORE = 0x20000 + MAP_NOSYNC = 0x800 + MAP_PREFAULT_READ = 0x40000 + MAP_PRIVATE = 0x2 + MAP_RESERVED0020 = 0x20 + MAP_RESERVED0040 = 0x40 + MAP_RESERVED0080 = 0x80 + MAP_RESERVED0100 = 0x100 + MAP_SHARED = 0x1 + MAP_STACK = 0x400 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ACLS = 0x8000000 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x200000000 + MNT_BYFSID = 0x8000000 + MNT_CMDFLAGS = 0xd0f0000 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_EXKERB = 0x800 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x20000000 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_GJOURNAL = 0x2000000 + MNT_IGNORE = 0x800000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NFS4ACLS = 0x10 + MNT_NOATIME = 0x10000000 + MNT_NOCLUSTERR = 0x40000000 + MNT_NOCLUSTERW = 0x80000000 + MNT_NOEXEC = 0x4 + MNT_NONBUSY = 0x4000000 + MNT_NOSUID = 0x8 + MNT_NOSYMFOLLOW = 0x400000 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SNAPSHOT = 0x1000000 + MNT_SOFTDEP = 0x200000 + MNT_SUIDDIR = 0x100000 + MNT_SUJ = 0x100000000 + MNT_SUSPEND = 0x4 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UPDATE = 0x10000 + MNT_UPDATEMASK = 0x2d8d0807e + MNT_USER = 0x8000 + MNT_VISFLAGMASK = 0x3fef0ffff + MNT_WAIT = 0x1 + MSG_CMSG_CLOEXEC = 0x40000 + MSG_COMPAT = 0x8000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_NBIO = 0x4000 + MSG_NOSIGNAL = 0x20000 + MSG_NOTIFICATION = 0x2000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITFORONE = 0x80000 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x0 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLISTL = 0x5 + NET_RT_IFMALIST = 0x4 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_CLOSE = 0x100 + NOTE_CLOSE_WRITE = 0x200 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FILE_POLL = 0x2 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MSECONDS = 0x2 + NOTE_NSECONDS = 0x8 + NOTE_OPEN = 0x80 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_READ = 0x400 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x4 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x100000 + O_CREAT = 0x200 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x20000 + O_EXCL = 0x800 + O_EXEC = 0x40000 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_TTY_INIT = 0x80000 + O_VERIFY = 0x200000 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FIXEDMTU = 0x80000 + RTF_FMASK = 0x1004d808 + RTF_GATEWAY = 0x2 + RTF_GWFLAG_COMPAT = 0x80000000 + RTF_HOST = 0x4 + RTF_LLDATA = 0x400 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_PINNED = 0x100000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_RNH_LOCKED = 0x40000000 + RTF_STATIC = 0x800 + RTF_STICKY = 0x10000000 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x12 + RTM_IFANNOUNCE = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RTV_WEIGHT = 0x100 + RT_ALL_FIBS = -0x1 + RT_BLACKHOLE = 0x40 + RT_CACHING_CONTEXT = 0x1 + RT_DEFAULT_FIB = 0x0 + RT_HAS_GW = 0x80 + RT_HAS_HEADER = 0x10 + RT_HAS_HEADER_BIT = 0x4 + RT_L2_ME = 0x4 + RT_L2_ME_BIT = 0x2 + RT_LLE_CACHE = 0x100 + RT_MAY_LOOP = 0x8 + RT_MAY_LOOP_BIT = 0x3 + RT_NORTREF = 0x2 + RT_REJECT = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_BINTIME = 0x4 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80246987 + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80246989 + SIOCDIFPHYADDR = 0x80206949 + SIOCGDRVSPEC = 0xc01c697b + SIOCGETSGCNT = 0xc0147210 + SIOCGETVIFCNT = 0xc014720f + SIOCGHIWAT = 0x40047301 + SIOCGI2C = 0xc020693d + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020691f + SIOCGIFCONF = 0xc0086924 + SIOCGIFDESCR = 0xc020692a + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFIB = 0xc020695c + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc024698a + SIOCGIFGROUP = 0xc0246988 + SIOCGIFINDEX = 0xc0206920 + SIOCGIFMAC = 0xc0206926 + SIOCGIFMEDIA = 0xc0286938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFSTATUS = 0xc331693b + SIOCGIFXMEDIA = 0xc028698b + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGPRIVATE_0 = 0xc0206950 + SIOCGPRIVATE_1 = 0xc0206951 + SIOCGTUNFIB = 0xc020695e + SIOCIFCREATE = 0xc020697a + SIOCIFCREATE2 = 0xc020697c + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCSDRVSPEC = 0x801c697b + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020691e + SIOCSIFDESCR = 0x80206929 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFIB = 0x8020695d + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206927 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNAME = 0x80206928 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPHYS = 0x80206936 + SIOCSIFRVNET = 0xc020695b + SIOCSIFVNET = 0xc020695a + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSTUNFIB = 0x8020695f + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_NONBLOCK = 0x20000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BINTIME = 0x2000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1009 + SO_LINGER = 0x80 + SO_LISTENINCQLEN = 0x1013 + SO_LISTENQLEN = 0x1012 + SO_LISTENQLIMIT = 0x1011 + SO_NOSIGPIPE = 0x800 + SO_NO_DDP = 0x8000 + SO_NO_OFFLOAD = 0x4000 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1010 + SO_PROTOCOL = 0x1016 + SO_PROTOTYPE = 0x1016 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SETFIB = 0x1014 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USER_COOKIE = 0x1015 + SO_VENDOR = 0x80000000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB3 = 0x4 + TABDLY = 0x4 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CA_NAME_MAX = 0x10 + TCP_CCALGOOPT = 0x41 + TCP_CONGESTION = 0x40 + TCP_FASTOPEN = 0x401 + TCP_FUNCTION_BLK = 0x2000 + TCP_FUNCTION_NAME_LEN_MAX = 0x20 + TCP_INFO = 0x20 + TCP_KEEPCNT = 0x400 + TCP_KEEPIDLE = 0x100 + TCP_KEEPINIT = 0x80 + TCP_KEEPINTVL = 0x200 + TCP_MAXBURST = 0x4 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_PCAP_IN = 0x1000 + TCP_PCAP_OUT = 0x800 + TCP_VENDOR = 0x80000000 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGPTN = 0x4004740f + TIOCGSID = 0x40047463 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DCD = 0x40 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMASTER = 0x2000741c + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40087459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VERASE2 = 0x7 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x4 + WCOREFLAG = 0x80 + WEXITED = 0x10 + WLINUXCLONE = 0x80000000 + WNOHANG = 0x1 + WNOWAIT = 0x8 + WSTOPPED = 0x2 + WTRAPPED = 0x20 + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x59) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x55) + ECAPMODE = syscall.Errno(0x5e) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDOOFUS = syscall.Errno(0x58) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x56) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5a) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x57) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCAPABLE = syscall.Errno(0x5d) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x5f) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x60) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5c) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGLIBRT = syscall.Signal(0x21) + SIGLWP = syscall.Signal(0x20) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "ECANCELED", "operation canceled"}, + {86, "EILSEQ", "illegal byte sequence"}, + {87, "ENOATTR", "attribute not found"}, + {88, "EDOOFUS", "programming error"}, + {89, "EBADMSG", "bad message"}, + {90, "EMULTIHOP", "multihop attempted"}, + {91, "ENOLINK", "link has been severed"}, + {92, "EPROTO", "protocol error"}, + {93, "ENOTCAPABLE", "capabilities insufficient"}, + {94, "ECAPMODE", "not permitted in capability mode"}, + {95, "ENOTRECOVERABLE", "state not recoverable"}, + {96, "EOWNERDEAD", "previous owner died"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "unknown signal"}, + {33, "SIGLIBRT", "unknown signal"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go new file mode 100644 index 000000000..4f8db783d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go @@ -0,0 +1,1794 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,freebsd + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x23 + AF_ATM = 0x1e + AF_BLUETOOTH = 0x24 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1c + AF_INET6_SDP = 0x2a + AF_INET_SDP = 0x28 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x2a + AF_NATM = 0x1d + AF_NETBIOS = 0x6 + AF_NETGRAPH = 0x20 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SCLUSTER = 0x22 + AF_SIP = 0x18 + AF_SLOW = 0x21 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VENDOR00 = 0x27 + AF_VENDOR01 = 0x29 + AF_VENDOR02 = 0x2b + AF_VENDOR03 = 0x2d + AF_VENDOR04 = 0x2f + AF_VENDOR05 = 0x31 + AF_VENDOR06 = 0x33 + AF_VENDOR07 = 0x35 + AF_VENDOR08 = 0x37 + AF_VENDOR09 = 0x39 + AF_VENDOR10 = 0x3b + AF_VENDOR11 = 0x3d + AF_VENDOR12 = 0x3f + AF_VENDOR13 = 0x41 + AF_VENDOR14 = 0x43 + AF_VENDOR15 = 0x45 + AF_VENDOR16 = 0x47 + AF_VENDOR17 = 0x49 + AF_VENDOR18 = 0x4b + AF_VENDOR19 = 0x4d + AF_VENDOR20 = 0x4f + AF_VENDOR21 = 0x51 + AF_VENDOR22 = 0x53 + AF_VENDOR23 = 0x55 + AF_VENDOR24 = 0x57 + AF_VENDOR25 = 0x59 + AF_VENDOR26 = 0x5b + AF_VENDOR27 = 0x5d + AF_VENDOR28 = 0x5f + AF_VENDOR29 = 0x61 + AF_VENDOR30 = 0x63 + AF_VENDOR31 = 0x65 + AF_VENDOR32 = 0x67 + AF_VENDOR33 = 0x69 + AF_VENDOR34 = 0x6b + AF_VENDOR35 = 0x6d + AF_VENDOR36 = 0x6f + AF_VENDOR37 = 0x71 + AF_VENDOR38 = 0x73 + AF_VENDOR39 = 0x75 + AF_VENDOR40 = 0x77 + AF_VENDOR41 = 0x79 + AF_VENDOR42 = 0x7b + AF_VENDOR43 = 0x7d + AF_VENDOR44 = 0x7f + AF_VENDOR45 = 0x81 + AF_VENDOR46 = 0x83 + AF_VENDOR47 = 0x85 + ALTWERASE = 0x200 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427c + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRECTION = 0x40044276 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0104279 + BIOCGETBUFMODE = 0x4004427d + BIOCGETIF = 0x4020426b + BIOCGETZMAX = 0x4008427f + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCGTSTAMP = 0x40044283 + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x2000427a + BIOCPROMISC = 0x20004269 + BIOCROTZBUF = 0x40184280 + BIOCSBLEN = 0xc0044266 + BIOCSDIRECTION = 0x80044277 + BIOCSDLT = 0x80044278 + BIOCSETBUFMODE = 0x8004427e + BIOCSETF = 0x80104267 + BIOCSETFNR = 0x80104282 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x8010427b + BIOCSETZBUF = 0x80184281 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCSTSTAMP = 0x80044284 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x8 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_BUFMODE_BUFFER = 0x1 + BPF_BUFMODE_ZBUF = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_T_BINTIME = 0x2 + BPF_T_BINTIME_FAST = 0x102 + BPF_T_BINTIME_MONOTONIC = 0x202 + BPF_T_BINTIME_MONOTONIC_FAST = 0x302 + BPF_T_FAST = 0x100 + BPF_T_FLAG_MASK = 0x300 + BPF_T_FORMAT_MASK = 0x3 + BPF_T_MICROTIME = 0x0 + BPF_T_MICROTIME_FAST = 0x100 + BPF_T_MICROTIME_MONOTONIC = 0x200 + BPF_T_MICROTIME_MONOTONIC_FAST = 0x300 + BPF_T_MONOTONIC = 0x200 + BPF_T_MONOTONIC_FAST = 0x300 + BPF_T_NANOTIME = 0x1 + BPF_T_NANOTIME_FAST = 0x101 + BPF_T_NANOTIME_MONOTONIC = 0x201 + BPF_T_NANOTIME_MONOTONIC_FAST = 0x301 + BPF_T_NONE = 0x3 + BPF_T_NORMAL = 0x0 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + CAP_ACCEPT = 0x200000020000000 + CAP_ACL_CHECK = 0x400000000010000 + CAP_ACL_DELETE = 0x400000000020000 + CAP_ACL_GET = 0x400000000040000 + CAP_ACL_SET = 0x400000000080000 + CAP_ALL0 = 0x20007ffffffffff + CAP_ALL1 = 0x4000000001fffff + CAP_BIND = 0x200000040000000 + CAP_BINDAT = 0x200008000000400 + CAP_CHFLAGSAT = 0x200000000001400 + CAP_CONNECT = 0x200000080000000 + CAP_CONNECTAT = 0x200010000000400 + CAP_CREATE = 0x200000000000040 + CAP_EVENT = 0x400000000000020 + CAP_EXTATTR_DELETE = 0x400000000001000 + CAP_EXTATTR_GET = 0x400000000002000 + CAP_EXTATTR_LIST = 0x400000000004000 + CAP_EXTATTR_SET = 0x400000000008000 + CAP_FCHDIR = 0x200000000000800 + CAP_FCHFLAGS = 0x200000000001000 + CAP_FCHMOD = 0x200000000002000 + CAP_FCHMODAT = 0x200000000002400 + CAP_FCHOWN = 0x200000000004000 + CAP_FCHOWNAT = 0x200000000004400 + CAP_FCNTL = 0x200000000008000 + CAP_FCNTL_ALL = 0x78 + CAP_FCNTL_GETFL = 0x8 + CAP_FCNTL_GETOWN = 0x20 + CAP_FCNTL_SETFL = 0x10 + CAP_FCNTL_SETOWN = 0x40 + CAP_FEXECVE = 0x200000000000080 + CAP_FLOCK = 0x200000000010000 + CAP_FPATHCONF = 0x200000000020000 + CAP_FSCK = 0x200000000040000 + CAP_FSTAT = 0x200000000080000 + CAP_FSTATAT = 0x200000000080400 + CAP_FSTATFS = 0x200000000100000 + CAP_FSYNC = 0x200000000000100 + CAP_FTRUNCATE = 0x200000000000200 + CAP_FUTIMES = 0x200000000200000 + CAP_FUTIMESAT = 0x200000000200400 + CAP_GETPEERNAME = 0x200000100000000 + CAP_GETSOCKNAME = 0x200000200000000 + CAP_GETSOCKOPT = 0x200000400000000 + CAP_IOCTL = 0x400000000000080 + CAP_IOCTLS_ALL = 0x7fffffffffffffff + CAP_KQUEUE = 0x400000000100040 + CAP_KQUEUE_CHANGE = 0x400000000100000 + CAP_KQUEUE_EVENT = 0x400000000000040 + CAP_LINKAT_SOURCE = 0x200020000000400 + CAP_LINKAT_TARGET = 0x200000000400400 + CAP_LISTEN = 0x200000800000000 + CAP_LOOKUP = 0x200000000000400 + CAP_MAC_GET = 0x400000000000001 + CAP_MAC_SET = 0x400000000000002 + CAP_MKDIRAT = 0x200000000800400 + CAP_MKFIFOAT = 0x200000001000400 + CAP_MKNODAT = 0x200000002000400 + CAP_MMAP = 0x200000000000010 + CAP_MMAP_R = 0x20000000000001d + CAP_MMAP_RW = 0x20000000000001f + CAP_MMAP_RWX = 0x20000000000003f + CAP_MMAP_RX = 0x20000000000003d + CAP_MMAP_W = 0x20000000000001e + CAP_MMAP_WX = 0x20000000000003e + CAP_MMAP_X = 0x20000000000003c + CAP_PDGETPID = 0x400000000000200 + CAP_PDKILL = 0x400000000000800 + CAP_PDWAIT = 0x400000000000400 + CAP_PEELOFF = 0x200001000000000 + CAP_POLL_EVENT = 0x400000000000020 + CAP_PREAD = 0x20000000000000d + CAP_PWRITE = 0x20000000000000e + CAP_READ = 0x200000000000001 + CAP_RECV = 0x200000000000001 + CAP_RENAMEAT_SOURCE = 0x200000004000400 + CAP_RENAMEAT_TARGET = 0x200040000000400 + CAP_RIGHTS_VERSION = 0x0 + CAP_RIGHTS_VERSION_00 = 0x0 + CAP_SEEK = 0x20000000000000c + CAP_SEEK_TELL = 0x200000000000004 + CAP_SEM_GETVALUE = 0x400000000000004 + CAP_SEM_POST = 0x400000000000008 + CAP_SEM_WAIT = 0x400000000000010 + CAP_SEND = 0x200000000000002 + CAP_SETSOCKOPT = 0x200002000000000 + CAP_SHUTDOWN = 0x200004000000000 + CAP_SOCK_CLIENT = 0x200007780000003 + CAP_SOCK_SERVER = 0x200007f60000003 + CAP_SYMLINKAT = 0x200000008000400 + CAP_TTYHOOK = 0x400000000000100 + CAP_UNLINKAT = 0x200000010000400 + CAP_UNUSED0_44 = 0x200080000000000 + CAP_UNUSED0_57 = 0x300000000000000 + CAP_UNUSED1_22 = 0x400000000200000 + CAP_UNUSED1_57 = 0x500000000000000 + CAP_WRITE = 0x200000000000002 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x4 + CLOCK_MONOTONIC_FAST = 0xc + CLOCK_MONOTONIC_PRECISE = 0xb + CLOCK_PROCESS_CPUTIME_ID = 0xf + CLOCK_PROF = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_FAST = 0xa + CLOCK_REALTIME_PRECISE = 0x9 + CLOCK_SECOND = 0xd + CLOCK_THREAD_CPUTIME_ID = 0xe + CLOCK_UPTIME = 0x5 + CLOCK_UPTIME_FAST = 0x8 + CLOCK_UPTIME_PRECISE = 0x7 + CLOCK_VIRTUAL = 0x1 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0x18 + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_BREDR_BB = 0xff + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_BLUETOOTH_LE_LL = 0xfb + DLT_BLUETOOTH_LE_LL_WITH_PHDR = 0x100 + DLT_BLUETOOTH_LINUX_MONITOR = 0xfe + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_EPON = 0x103 + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_INFINIBAND = 0xf7 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPMI_HPM_2 = 0x104 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0x104 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NETLINK = 0xfd + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x79 + DLT_PKTAP = 0x102 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PROFIBUS_DL = 0x101 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_RTAC_SERIAL = 0xfa + DLT_SCCP = 0x8e + DLT_SCTP = 0xf8 + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USBPCAP = 0xf9 + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_WIRESHARK_UPPER_PDU = 0xfc + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_FS = -0x9 + EVFILT_LIO = -0xa + EVFILT_PROC = -0x5 + EVFILT_PROCDESC = -0x8 + EVFILT_READ = -0x1 + EVFILT_SENDFILE = -0xc + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xc + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xb + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DROP = 0x1000 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_FLAG2 = 0x4000 + EV_FORCEONESHOT = 0x100 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_NAMESPACE_EMPTY = 0x0 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_CANCEL = 0x5 + F_DUP2FD = 0xa + F_DUP2FD_CLOEXEC = 0x12 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x11 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0xb + F_GETOWN = 0x5 + F_OGETLK = 0x7 + F_OK = 0x0 + F_OSETLK = 0x8 + F_OSETLKW = 0x9 + F_RDAHEAD = 0x10 + F_RDLCK = 0x1 + F_READAHEAD = 0xf + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0xc + F_SETLKW = 0xd + F_SETLK_REMOTE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_UNLCKSYS = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x218f52 + IFF_CANTCONFIG = 0x10000 + IFF_DEBUG = 0x4 + IFF_DRV_OACTIVE = 0x400 + IFF_DRV_RUNNING = 0x40 + IFF_DYING = 0x200000 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MONITOR = 0x40000 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PPROMISC = 0x20000 + IFF_PROMISC = 0x100 + IFF_RENAMING = 0x400000 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_STATICARP = 0x80000 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_IEEE1394 = 0x90 + IFT_INFINIBAND = 0xc7 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_PPP = 0x17 + IFT_PROPVIRTUAL = 0x35 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_MASK = 0xfffffffe + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CARP = 0x70 + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0x102 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HIP = 0x8b + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MEAS = 0x13 + IPPROTO_MH = 0x87 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OLD_DIVERT = 0xfe + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_RESERVED_253 = 0xfd + IPPROTO_RESERVED_254 = 0xfe + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEND = 0x103 + IPPROTO_SEP = 0x21 + IPPROTO_SHIM6 = 0x8c + IPPROTO_SKIP = 0x39 + IPPROTO_SPACER = 0x7fff + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TLSP = 0x38 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_BINDANY = 0x40 + IPV6_BINDMULTI = 0x41 + IPV6_BINDV6ONLY = 0x1b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FLOWID = 0x43 + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOWTYPE = 0x44 + IPV6_FRAGTTL = 0x78 + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MSFILTER = 0x4a + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_PREFER_TEMPADDR = 0x3f + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVFLOWID = 0x46 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRSSBUCKETID = 0x47 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RSSBUCKETID = 0x45 + IPV6_RSS_LISTEN_BUCKET = 0x42 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BINDANY = 0x18 + IP_BINDMULTI = 0x19 + IP_BLOCK_SOURCE = 0x48 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DONTFRAG = 0x43 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET3 = 0x31 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FLOWID = 0x5a + IP_FLOWTYPE = 0x5b + IP_FW3 = 0x30 + IP_FW_ADD = 0x32 + IP_FW_DEL = 0x33 + IP_FW_FLUSH = 0x34 + IP_FW_GET = 0x36 + IP_FW_NAT_CFG = 0x38 + IP_FW_NAT_DEL = 0x39 + IP_FW_NAT_GET_CONFIG = 0x3a + IP_FW_NAT_GET_LOG = 0x3b + IP_FW_RESETLOG = 0x37 + IP_FW_TABLE_ADD = 0x28 + IP_FW_TABLE_DEL = 0x29 + IP_FW_TABLE_FLUSH = 0x2a + IP_FW_TABLE_GETSIZE = 0x2b + IP_FW_TABLE_LIST = 0x2c + IP_FW_ZERO = 0x35 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MAX_SOURCE_FILTER = 0x400 + IP_MF = 0x2000 + IP_MINTTL = 0x42 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_OFFMASK = 0x1fff + IP_ONESBCAST = 0x17 + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVFLOWID = 0x5d + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRSSBUCKETID = 0x5e + IP_RECVTOS = 0x44 + IP_RECVTTL = 0x41 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSSBUCKETID = 0x5c + IP_RSS_LISTEN_BUCKET = 0x1a + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_AUTOSYNC = 0x7 + MADV_CORE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_NOCORE = 0x8 + MADV_NORMAL = 0x0 + MADV_NOSYNC = 0x6 + MADV_PROTECT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MAP_32BIT = 0x80000 + MAP_ALIGNED_SUPER = 0x1000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_EXCL = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_NOCORE = 0x20000 + MAP_NOSYNC = 0x800 + MAP_PREFAULT_READ = 0x40000 + MAP_PRIVATE = 0x2 + MAP_RESERVED0020 = 0x20 + MAP_RESERVED0040 = 0x40 + MAP_RESERVED0080 = 0x80 + MAP_RESERVED0100 = 0x100 + MAP_SHARED = 0x1 + MAP_STACK = 0x400 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ACLS = 0x8000000 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x200000000 + MNT_BYFSID = 0x8000000 + MNT_CMDFLAGS = 0xd0f0000 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_EXKERB = 0x800 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x20000000 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_GJOURNAL = 0x2000000 + MNT_IGNORE = 0x800000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NFS4ACLS = 0x10 + MNT_NOATIME = 0x10000000 + MNT_NOCLUSTERR = 0x40000000 + MNT_NOCLUSTERW = 0x80000000 + MNT_NOEXEC = 0x4 + MNT_NONBUSY = 0x4000000 + MNT_NOSUID = 0x8 + MNT_NOSYMFOLLOW = 0x400000 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SNAPSHOT = 0x1000000 + MNT_SOFTDEP = 0x200000 + MNT_SUIDDIR = 0x100000 + MNT_SUJ = 0x100000000 + MNT_SUSPEND = 0x4 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UPDATE = 0x10000 + MNT_UPDATEMASK = 0x2d8d0807e + MNT_USER = 0x8000 + MNT_VISFLAGMASK = 0x3fef0ffff + MNT_WAIT = 0x1 + MSG_CMSG_CLOEXEC = 0x40000 + MSG_COMPAT = 0x8000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_NBIO = 0x4000 + MSG_NOSIGNAL = 0x20000 + MSG_NOTIFICATION = 0x2000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITFORONE = 0x80000 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x0 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLISTL = 0x5 + NET_RT_IFMALIST = 0x4 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_CLOSE = 0x100 + NOTE_CLOSE_WRITE = 0x200 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FILE_POLL = 0x2 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MSECONDS = 0x2 + NOTE_NSECONDS = 0x8 + NOTE_OPEN = 0x80 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_READ = 0x400 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x4 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x100000 + O_CREAT = 0x200 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x20000 + O_EXCL = 0x800 + O_EXEC = 0x40000 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_TTY_INIT = 0x80000 + O_VERIFY = 0x200000 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FIXEDMTU = 0x80000 + RTF_FMASK = 0x1004d808 + RTF_GATEWAY = 0x2 + RTF_GWFLAG_COMPAT = 0x80000000 + RTF_HOST = 0x4 + RTF_LLDATA = 0x400 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_PINNED = 0x100000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_RNH_LOCKED = 0x40000000 + RTF_STATIC = 0x800 + RTF_STICKY = 0x10000000 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x12 + RTM_IFANNOUNCE = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RTV_WEIGHT = 0x100 + RT_ALL_FIBS = -0x1 + RT_BLACKHOLE = 0x40 + RT_CACHING_CONTEXT = 0x1 + RT_DEFAULT_FIB = 0x0 + RT_HAS_GW = 0x80 + RT_HAS_HEADER = 0x10 + RT_HAS_HEADER_BIT = 0x4 + RT_L2_ME = 0x4 + RT_L2_ME_BIT = 0x2 + RT_LLE_CACHE = 0x100 + RT_MAY_LOOP = 0x8 + RT_MAY_LOOP_BIT = 0x3 + RT_NORTREF = 0x2 + RT_REJECT = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_BINTIME = 0x4 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80286987 + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80286989 + SIOCDIFPHYADDR = 0x80206949 + SIOCGDRVSPEC = 0xc028697b + SIOCGETSGCNT = 0xc0207210 + SIOCGETVIFCNT = 0xc028720f + SIOCGHIWAT = 0x40047301 + SIOCGI2C = 0xc020693d + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020691f + SIOCGIFCONF = 0xc0106924 + SIOCGIFDESCR = 0xc020692a + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFIB = 0xc020695c + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc028698a + SIOCGIFGROUP = 0xc0286988 + SIOCGIFINDEX = 0xc0206920 + SIOCGIFMAC = 0xc0206926 + SIOCGIFMEDIA = 0xc0306938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFSTATUS = 0xc331693b + SIOCGIFXMEDIA = 0xc030698b + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGPRIVATE_0 = 0xc0206950 + SIOCGPRIVATE_1 = 0xc0206951 + SIOCGTUNFIB = 0xc020695e + SIOCIFCREATE = 0xc020697a + SIOCIFCREATE2 = 0xc020697c + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106978 + SIOCSDRVSPEC = 0x8028697b + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020691e + SIOCSIFDESCR = 0x80206929 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFIB = 0x8020695d + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206927 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNAME = 0x80206928 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPHYS = 0x80206936 + SIOCSIFRVNET = 0xc020695b + SIOCSIFVNET = 0xc020695a + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSTUNFIB = 0x8020695f + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_NONBLOCK = 0x20000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BINTIME = 0x2000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1009 + SO_LINGER = 0x80 + SO_LISTENINCQLEN = 0x1013 + SO_LISTENQLEN = 0x1012 + SO_LISTENQLIMIT = 0x1011 + SO_NOSIGPIPE = 0x800 + SO_NO_DDP = 0x8000 + SO_NO_OFFLOAD = 0x4000 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1010 + SO_PROTOCOL = 0x1016 + SO_PROTOTYPE = 0x1016 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SETFIB = 0x1014 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USER_COOKIE = 0x1015 + SO_VENDOR = 0x80000000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB3 = 0x4 + TABDLY = 0x4 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CA_NAME_MAX = 0x10 + TCP_CCALGOOPT = 0x41 + TCP_CONGESTION = 0x40 + TCP_FASTOPEN = 0x401 + TCP_FUNCTION_BLK = 0x2000 + TCP_FUNCTION_NAME_LEN_MAX = 0x20 + TCP_INFO = 0x20 + TCP_KEEPCNT = 0x400 + TCP_KEEPIDLE = 0x100 + TCP_KEEPINIT = 0x80 + TCP_KEEPINTVL = 0x200 + TCP_MAXBURST = 0x4 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_PCAP_IN = 0x1000 + TCP_PCAP_OUT = 0x800 + TCP_VENDOR = 0x80000000 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGPTN = 0x4004740f + TIOCGSID = 0x40047463 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DCD = 0x40 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMASTER = 0x2000741c + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VERASE2 = 0x7 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x4 + WCOREFLAG = 0x80 + WEXITED = 0x10 + WLINUXCLONE = 0x80000000 + WNOHANG = 0x1 + WNOWAIT = 0x8 + WSTOPPED = 0x2 + WTRAPPED = 0x20 + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x59) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x55) + ECAPMODE = syscall.Errno(0x5e) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDOOFUS = syscall.Errno(0x58) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x56) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5a) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x57) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCAPABLE = syscall.Errno(0x5d) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x5f) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x60) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5c) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGLIBRT = syscall.Signal(0x21) + SIGLWP = syscall.Signal(0x20) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "ECANCELED", "operation canceled"}, + {86, "EILSEQ", "illegal byte sequence"}, + {87, "ENOATTR", "attribute not found"}, + {88, "EDOOFUS", "programming error"}, + {89, "EBADMSG", "bad message"}, + {90, "EMULTIHOP", "multihop attempted"}, + {91, "ENOLINK", "link has been severed"}, + {92, "EPROTO", "protocol error"}, + {93, "ENOTCAPABLE", "capabilities insufficient"}, + {94, "ECAPMODE", "not permitted in capability mode"}, + {95, "ENOTRECOVERABLE", "state not recoverable"}, + {96, "EOWNERDEAD", "previous owner died"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "unknown signal"}, + {33, "SIGLIBRT", "unknown signal"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go new file mode 100644 index 000000000..53e5de605 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go @@ -0,0 +1,1802 @@ +// mkerrors.sh +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,freebsd + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x23 + AF_ATM = 0x1e + AF_BLUETOOTH = 0x24 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1c + AF_INET6_SDP = 0x2a + AF_INET_SDP = 0x28 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x2a + AF_NATM = 0x1d + AF_NETBIOS = 0x6 + AF_NETGRAPH = 0x20 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SCLUSTER = 0x22 + AF_SIP = 0x18 + AF_SLOW = 0x21 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VENDOR00 = 0x27 + AF_VENDOR01 = 0x29 + AF_VENDOR02 = 0x2b + AF_VENDOR03 = 0x2d + AF_VENDOR04 = 0x2f + AF_VENDOR05 = 0x31 + AF_VENDOR06 = 0x33 + AF_VENDOR07 = 0x35 + AF_VENDOR08 = 0x37 + AF_VENDOR09 = 0x39 + AF_VENDOR10 = 0x3b + AF_VENDOR11 = 0x3d + AF_VENDOR12 = 0x3f + AF_VENDOR13 = 0x41 + AF_VENDOR14 = 0x43 + AF_VENDOR15 = 0x45 + AF_VENDOR16 = 0x47 + AF_VENDOR17 = 0x49 + AF_VENDOR18 = 0x4b + AF_VENDOR19 = 0x4d + AF_VENDOR20 = 0x4f + AF_VENDOR21 = 0x51 + AF_VENDOR22 = 0x53 + AF_VENDOR23 = 0x55 + AF_VENDOR24 = 0x57 + AF_VENDOR25 = 0x59 + AF_VENDOR26 = 0x5b + AF_VENDOR27 = 0x5d + AF_VENDOR28 = 0x5f + AF_VENDOR29 = 0x61 + AF_VENDOR30 = 0x63 + AF_VENDOR31 = 0x65 + AF_VENDOR32 = 0x67 + AF_VENDOR33 = 0x69 + AF_VENDOR34 = 0x6b + AF_VENDOR35 = 0x6d + AF_VENDOR36 = 0x6f + AF_VENDOR37 = 0x71 + AF_VENDOR38 = 0x73 + AF_VENDOR39 = 0x75 + AF_VENDOR40 = 0x77 + AF_VENDOR41 = 0x79 + AF_VENDOR42 = 0x7b + AF_VENDOR43 = 0x7d + AF_VENDOR44 = 0x7f + AF_VENDOR45 = 0x81 + AF_VENDOR46 = 0x83 + AF_VENDOR47 = 0x85 + ALTWERASE = 0x200 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427c + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRECTION = 0x40044276 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0084279 + BIOCGETBUFMODE = 0x4004427d + BIOCGETIF = 0x4020426b + BIOCGETZMAX = 0x4004427f + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCGTSTAMP = 0x40044283 + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x2000427a + BIOCPROMISC = 0x20004269 + BIOCROTZBUF = 0x400c4280 + BIOCSBLEN = 0xc0044266 + BIOCSDIRECTION = 0x80044277 + BIOCSDLT = 0x80044278 + BIOCSETBUFMODE = 0x8004427e + BIOCSETF = 0x80084267 + BIOCSETFNR = 0x80084282 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x8008427b + BIOCSETZBUF = 0x800c4281 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCSTSTAMP = 0x80044284 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_BUFMODE_BUFFER = 0x1 + BPF_BUFMODE_ZBUF = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_T_BINTIME = 0x2 + BPF_T_BINTIME_FAST = 0x102 + BPF_T_BINTIME_MONOTONIC = 0x202 + BPF_T_BINTIME_MONOTONIC_FAST = 0x302 + BPF_T_FAST = 0x100 + BPF_T_FLAG_MASK = 0x300 + BPF_T_FORMAT_MASK = 0x3 + BPF_T_MICROTIME = 0x0 + BPF_T_MICROTIME_FAST = 0x100 + BPF_T_MICROTIME_MONOTONIC = 0x200 + BPF_T_MICROTIME_MONOTONIC_FAST = 0x300 + BPF_T_MONOTONIC = 0x200 + BPF_T_MONOTONIC_FAST = 0x300 + BPF_T_NANOTIME = 0x1 + BPF_T_NANOTIME_FAST = 0x101 + BPF_T_NANOTIME_MONOTONIC = 0x201 + BPF_T_NANOTIME_MONOTONIC_FAST = 0x301 + BPF_T_NONE = 0x3 + BPF_T_NORMAL = 0x0 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + CAP_ACCEPT = 0x200000020000000 + CAP_ACL_CHECK = 0x400000000010000 + CAP_ACL_DELETE = 0x400000000020000 + CAP_ACL_GET = 0x400000000040000 + CAP_ACL_SET = 0x400000000080000 + CAP_ALL0 = 0x20007ffffffffff + CAP_ALL1 = 0x4000000001fffff + CAP_BIND = 0x200000040000000 + CAP_BINDAT = 0x200008000000400 + CAP_CHFLAGSAT = 0x200000000001400 + CAP_CONNECT = 0x200000080000000 + CAP_CONNECTAT = 0x200010000000400 + CAP_CREATE = 0x200000000000040 + CAP_EVENT = 0x400000000000020 + CAP_EXTATTR_DELETE = 0x400000000001000 + CAP_EXTATTR_GET = 0x400000000002000 + CAP_EXTATTR_LIST = 0x400000000004000 + CAP_EXTATTR_SET = 0x400000000008000 + CAP_FCHDIR = 0x200000000000800 + CAP_FCHFLAGS = 0x200000000001000 + CAP_FCHMOD = 0x200000000002000 + CAP_FCHMODAT = 0x200000000002400 + CAP_FCHOWN = 0x200000000004000 + CAP_FCHOWNAT = 0x200000000004400 + CAP_FCNTL = 0x200000000008000 + CAP_FCNTL_ALL = 0x78 + CAP_FCNTL_GETFL = 0x8 + CAP_FCNTL_GETOWN = 0x20 + CAP_FCNTL_SETFL = 0x10 + CAP_FCNTL_SETOWN = 0x40 + CAP_FEXECVE = 0x200000000000080 + CAP_FLOCK = 0x200000000010000 + CAP_FPATHCONF = 0x200000000020000 + CAP_FSCK = 0x200000000040000 + CAP_FSTAT = 0x200000000080000 + CAP_FSTATAT = 0x200000000080400 + CAP_FSTATFS = 0x200000000100000 + CAP_FSYNC = 0x200000000000100 + CAP_FTRUNCATE = 0x200000000000200 + CAP_FUTIMES = 0x200000000200000 + CAP_FUTIMESAT = 0x200000000200400 + CAP_GETPEERNAME = 0x200000100000000 + CAP_GETSOCKNAME = 0x200000200000000 + CAP_GETSOCKOPT = 0x200000400000000 + CAP_IOCTL = 0x400000000000080 + CAP_IOCTLS_ALL = 0x7fffffff + CAP_KQUEUE = 0x400000000100040 + CAP_KQUEUE_CHANGE = 0x400000000100000 + CAP_KQUEUE_EVENT = 0x400000000000040 + CAP_LINKAT_SOURCE = 0x200020000000400 + CAP_LINKAT_TARGET = 0x200000000400400 + CAP_LISTEN = 0x200000800000000 + CAP_LOOKUP = 0x200000000000400 + CAP_MAC_GET = 0x400000000000001 + CAP_MAC_SET = 0x400000000000002 + CAP_MKDIRAT = 0x200000000800400 + CAP_MKFIFOAT = 0x200000001000400 + CAP_MKNODAT = 0x200000002000400 + CAP_MMAP = 0x200000000000010 + CAP_MMAP_R = 0x20000000000001d + CAP_MMAP_RW = 0x20000000000001f + CAP_MMAP_RWX = 0x20000000000003f + CAP_MMAP_RX = 0x20000000000003d + CAP_MMAP_W = 0x20000000000001e + CAP_MMAP_WX = 0x20000000000003e + CAP_MMAP_X = 0x20000000000003c + CAP_PDGETPID = 0x400000000000200 + CAP_PDKILL = 0x400000000000800 + CAP_PDWAIT = 0x400000000000400 + CAP_PEELOFF = 0x200001000000000 + CAP_POLL_EVENT = 0x400000000000020 + CAP_PREAD = 0x20000000000000d + CAP_PWRITE = 0x20000000000000e + CAP_READ = 0x200000000000001 + CAP_RECV = 0x200000000000001 + CAP_RENAMEAT_SOURCE = 0x200000004000400 + CAP_RENAMEAT_TARGET = 0x200040000000400 + CAP_RIGHTS_VERSION = 0x0 + CAP_RIGHTS_VERSION_00 = 0x0 + CAP_SEEK = 0x20000000000000c + CAP_SEEK_TELL = 0x200000000000004 + CAP_SEM_GETVALUE = 0x400000000000004 + CAP_SEM_POST = 0x400000000000008 + CAP_SEM_WAIT = 0x400000000000010 + CAP_SEND = 0x200000000000002 + CAP_SETSOCKOPT = 0x200002000000000 + CAP_SHUTDOWN = 0x200004000000000 + CAP_SOCK_CLIENT = 0x200007780000003 + CAP_SOCK_SERVER = 0x200007f60000003 + CAP_SYMLINKAT = 0x200000008000400 + CAP_TTYHOOK = 0x400000000000100 + CAP_UNLINKAT = 0x200000010000400 + CAP_UNUSED0_44 = 0x200080000000000 + CAP_UNUSED0_57 = 0x300000000000000 + CAP_UNUSED1_22 = 0x400000000200000 + CAP_UNUSED1_57 = 0x500000000000000 + CAP_WRITE = 0x200000000000002 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x4 + CLOCK_MONOTONIC_FAST = 0xc + CLOCK_MONOTONIC_PRECISE = 0xb + CLOCK_PROCESS_CPUTIME_ID = 0xf + CLOCK_PROF = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_FAST = 0xa + CLOCK_REALTIME_PRECISE = 0x9 + CLOCK_SECOND = 0xd + CLOCK_THREAD_CPUTIME_ID = 0xe + CLOCK_UPTIME = 0x5 + CLOCK_UPTIME_FAST = 0x8 + CLOCK_UPTIME_PRECISE = 0x7 + CLOCK_VIRTUAL = 0x1 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0x18 + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_BREDR_BB = 0xff + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_BLUETOOTH_LE_LL = 0xfb + DLT_BLUETOOTH_LE_LL_WITH_PHDR = 0x100 + DLT_BLUETOOTH_LINUX_MONITOR = 0xfe + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_CLASS_NETBSD_RAWAF = 0x2240000 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_EPON = 0x103 + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_INFINIBAND = 0xf7 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPMI_HPM_2 = 0x104 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_ISO_14443 = 0x108 + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0x109 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NETLINK = 0xfd + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x79 + DLT_PKTAP = 0x102 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0xe + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PROFIBUS_DL = 0x101 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RDS = 0x109 + DLT_REDBACK_SMARTEDGE = 0x20 + DLT_RIO = 0x7c + DLT_RTAC_SERIAL = 0xfa + DLT_SCCP = 0x8e + DLT_SCTP = 0xf8 + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USBPCAP = 0xf9 + DLT_USB_FREEBSD = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WATTSTOPPER_DLM = 0x107 + DLT_WIHART = 0xdf + DLT_WIRESHARK_UPPER_PDU = 0xfc + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DLT_ZWAVE_R1_R2 = 0x105 + DLT_ZWAVE_R3 = 0x106 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_FS = -0x9 + EVFILT_LIO = -0xa + EVFILT_PROC = -0x5 + EVFILT_PROCDESC = -0x8 + EVFILT_READ = -0x1 + EVFILT_SENDFILE = -0xc + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xc + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xb + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DROP = 0x1000 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_FLAG2 = 0x4000 + EV_FORCEONESHOT = 0x100 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_NAMESPACE_EMPTY = 0x0 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_CANCEL = 0x5 + F_DUP2FD = 0xa + F_DUP2FD_CLOEXEC = 0x12 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x11 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0xb + F_GETOWN = 0x5 + F_OGETLK = 0x7 + F_OK = 0x0 + F_OSETLK = 0x8 + F_OSETLKW = 0x9 + F_RDAHEAD = 0x10 + F_RDLCK = 0x1 + F_READAHEAD = 0xf + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0xc + F_SETLKW = 0xd + F_SETLK_REMOTE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_UNLCKSYS = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x218f52 + IFF_CANTCONFIG = 0x10000 + IFF_DEBUG = 0x4 + IFF_DRV_OACTIVE = 0x400 + IFF_DRV_RUNNING = 0x40 + IFF_DYING = 0x200000 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MONITOR = 0x40000 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PPROMISC = 0x20000 + IFF_PROMISC = 0x100 + IFF_RENAMING = 0x400000 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_STATICARP = 0x80000 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_IEEE1394 = 0x90 + IFT_INFINIBAND = 0xc7 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_PPP = 0x17 + IFT_PROPVIRTUAL = 0x35 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_MASK = 0xfffffffe + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CARP = 0x70 + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0x102 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HIP = 0x8b + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MEAS = 0x13 + IPPROTO_MH = 0x87 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OLD_DIVERT = 0xfe + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_RESERVED_253 = 0xfd + IPPROTO_RESERVED_254 = 0xfe + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEND = 0x103 + IPPROTO_SEP = 0x21 + IPPROTO_SHIM6 = 0x8c + IPPROTO_SKIP = 0x39 + IPPROTO_SPACER = 0x7fff + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TLSP = 0x38 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_BINDANY = 0x40 + IPV6_BINDMULTI = 0x41 + IPV6_BINDV6ONLY = 0x1b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FLOWID = 0x43 + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOWTYPE = 0x44 + IPV6_FRAGTTL = 0x78 + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MSFILTER = 0x4a + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_PREFER_TEMPADDR = 0x3f + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVFLOWID = 0x46 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRSSBUCKETID = 0x47 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RSSBUCKETID = 0x45 + IPV6_RSS_LISTEN_BUCKET = 0x42 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BINDANY = 0x18 + IP_BINDMULTI = 0x19 + IP_BLOCK_SOURCE = 0x48 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DONTFRAG = 0x43 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET3 = 0x31 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FLOWID = 0x5a + IP_FLOWTYPE = 0x5b + IP_FW3 = 0x30 + IP_FW_ADD = 0x32 + IP_FW_DEL = 0x33 + IP_FW_FLUSH = 0x34 + IP_FW_GET = 0x36 + IP_FW_NAT_CFG = 0x38 + IP_FW_NAT_DEL = 0x39 + IP_FW_NAT_GET_CONFIG = 0x3a + IP_FW_NAT_GET_LOG = 0x3b + IP_FW_RESETLOG = 0x37 + IP_FW_TABLE_ADD = 0x28 + IP_FW_TABLE_DEL = 0x29 + IP_FW_TABLE_FLUSH = 0x2a + IP_FW_TABLE_GETSIZE = 0x2b + IP_FW_TABLE_LIST = 0x2c + IP_FW_ZERO = 0x35 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MAX_SOURCE_FILTER = 0x400 + IP_MF = 0x2000 + IP_MINTTL = 0x42 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_OFFMASK = 0x1fff + IP_ONESBCAST = 0x17 + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVFLOWID = 0x5d + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRSSBUCKETID = 0x5e + IP_RECVTOS = 0x44 + IP_RECVTTL = 0x41 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSSBUCKETID = 0x5c + IP_RSS_LISTEN_BUCKET = 0x1a + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_AUTOSYNC = 0x7 + MADV_CORE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_NOCORE = 0x8 + MADV_NORMAL = 0x0 + MADV_NOSYNC = 0x6 + MADV_PROTECT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MAP_ALIGNED_SUPER = 0x1000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_EXCL = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_GUARD = 0x2000 + MAP_HASSEMAPHORE = 0x200 + MAP_NOCORE = 0x20000 + MAP_NOSYNC = 0x800 + MAP_PREFAULT_READ = 0x40000 + MAP_PRIVATE = 0x2 + MAP_RESERVED0020 = 0x20 + MAP_RESERVED0040 = 0x40 + MAP_RESERVED0080 = 0x80 + MAP_RESERVED0100 = 0x100 + MAP_SHARED = 0x1 + MAP_STACK = 0x400 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ACLS = 0x8000000 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x200000000 + MNT_BYFSID = 0x8000000 + MNT_CMDFLAGS = 0xd0f0000 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_EXKERB = 0x800 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x20000000 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_GJOURNAL = 0x2000000 + MNT_IGNORE = 0x800000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NFS4ACLS = 0x10 + MNT_NOATIME = 0x10000000 + MNT_NOCLUSTERR = 0x40000000 + MNT_NOCLUSTERW = 0x80000000 + MNT_NOEXEC = 0x4 + MNT_NONBUSY = 0x4000000 + MNT_NOSUID = 0x8 + MNT_NOSYMFOLLOW = 0x400000 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SNAPSHOT = 0x1000000 + MNT_SOFTDEP = 0x200000 + MNT_SUIDDIR = 0x100000 + MNT_SUJ = 0x100000000 + MNT_SUSPEND = 0x4 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UPDATE = 0x10000 + MNT_UPDATEMASK = 0x2d8d0807e + MNT_USER = 0x8000 + MNT_VISFLAGMASK = 0x3fef0ffff + MNT_WAIT = 0x1 + MSG_CMSG_CLOEXEC = 0x40000 + MSG_COMPAT = 0x8000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_NBIO = 0x4000 + MSG_NOSIGNAL = 0x20000 + MSG_NOTIFICATION = 0x2000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITFORONE = 0x80000 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x0 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLISTL = 0x5 + NET_RT_IFMALIST = 0x4 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_CLOSE = 0x100 + NOTE_CLOSE_WRITE = 0x200 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FILE_POLL = 0x2 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MSECONDS = 0x2 + NOTE_NSECONDS = 0x8 + NOTE_OPEN = 0x80 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_READ = 0x400 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x4 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x100000 + O_CREAT = 0x200 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x20000 + O_EXCL = 0x800 + O_EXEC = 0x40000 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_TTY_INIT = 0x80000 + O_VERIFY = 0x200000 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FIXEDMTU = 0x80000 + RTF_FMASK = 0x1004d808 + RTF_GATEWAY = 0x2 + RTF_GWFLAG_COMPAT = 0x80000000 + RTF_HOST = 0x4 + RTF_LLDATA = 0x400 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_PINNED = 0x100000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_RNH_LOCKED = 0x40000000 + RTF_STATIC = 0x800 + RTF_STICKY = 0x10000000 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x12 + RTM_IFANNOUNCE = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RTV_WEIGHT = 0x100 + RT_ALL_FIBS = -0x1 + RT_BLACKHOLE = 0x40 + RT_CACHING_CONTEXT = 0x1 + RT_DEFAULT_FIB = 0x0 + RT_HAS_GW = 0x80 + RT_HAS_HEADER = 0x10 + RT_HAS_HEADER_BIT = 0x4 + RT_L2_ME = 0x4 + RT_L2_ME_BIT = 0x2 + RT_LLE_CACHE = 0x100 + RT_MAY_LOOP = 0x8 + RT_MAY_LOOP_BIT = 0x3 + RT_NORTREF = 0x2 + RT_REJECT = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_BINTIME = 0x4 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80246987 + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80246989 + SIOCDIFPHYADDR = 0x80206949 + SIOCGDRVSPEC = 0xc01c697b + SIOCGETSGCNT = 0xc0147210 + SIOCGETVIFCNT = 0xc014720f + SIOCGHIWAT = 0x40047301 + SIOCGHWADDR = 0xc020693e + SIOCGI2C = 0xc020693d + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020691f + SIOCGIFCONF = 0xc0086924 + SIOCGIFDESCR = 0xc020692a + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFIB = 0xc020695c + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc024698a + SIOCGIFGROUP = 0xc0246988 + SIOCGIFINDEX = 0xc0206920 + SIOCGIFMAC = 0xc0206926 + SIOCGIFMEDIA = 0xc0286938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFSTATUS = 0xc331693b + SIOCGIFXMEDIA = 0xc028698b + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGPRIVATE_0 = 0xc0206950 + SIOCGPRIVATE_1 = 0xc0206951 + SIOCGTUNFIB = 0xc020695e + SIOCIFCREATE = 0xc020697a + SIOCIFCREATE2 = 0xc020697c + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCSDRVSPEC = 0x801c697b + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020691e + SIOCSIFDESCR = 0x80206929 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFIB = 0x8020695d + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206927 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNAME = 0x80206928 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPHYS = 0x80206936 + SIOCSIFRVNET = 0xc020695b + SIOCSIFVNET = 0xc020695a + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSTUNFIB = 0x8020695f + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_NONBLOCK = 0x20000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BINTIME = 0x2000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1009 + SO_LINGER = 0x80 + SO_LISTENINCQLEN = 0x1013 + SO_LISTENQLEN = 0x1012 + SO_LISTENQLIMIT = 0x1011 + SO_NOSIGPIPE = 0x800 + SO_NO_DDP = 0x8000 + SO_NO_OFFLOAD = 0x4000 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1010 + SO_PROTOCOL = 0x1016 + SO_PROTOTYPE = 0x1016 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SETFIB = 0x1014 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USER_COOKIE = 0x1015 + SO_VENDOR = 0x80000000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB3 = 0x4 + TABDLY = 0x4 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CA_NAME_MAX = 0x10 + TCP_CCALGOOPT = 0x41 + TCP_CONGESTION = 0x40 + TCP_FASTOPEN = 0x401 + TCP_FUNCTION_BLK = 0x2000 + TCP_FUNCTION_NAME_LEN_MAX = 0x20 + TCP_INFO = 0x20 + TCP_KEEPCNT = 0x400 + TCP_KEEPIDLE = 0x100 + TCP_KEEPINIT = 0x80 + TCP_KEEPINTVL = 0x200 + TCP_MAXBURST = 0x4 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_PCAP_IN = 0x1000 + TCP_PCAP_OUT = 0x800 + TCP_VENDOR = 0x80000000 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGPTN = 0x4004740f + TIOCGSID = 0x40047463 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DCD = 0x40 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMASTER = 0x2000741c + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VERASE2 = 0x7 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x4 + WCOREFLAG = 0x80 + WEXITED = 0x10 + WLINUXCLONE = 0x80000000 + WNOHANG = 0x1 + WNOWAIT = 0x8 + WSTOPPED = 0x2 + WTRAPPED = 0x20 + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x59) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x55) + ECAPMODE = syscall.Errno(0x5e) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDOOFUS = syscall.Errno(0x58) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x56) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5a) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x57) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCAPABLE = syscall.Errno(0x5d) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x5f) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x60) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5c) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGLIBRT = syscall.Signal(0x21) + SIGLWP = syscall.Signal(0x20) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "ECANCELED", "operation canceled"}, + {86, "EILSEQ", "illegal byte sequence"}, + {87, "ENOATTR", "attribute not found"}, + {88, "EDOOFUS", "programming error"}, + {89, "EBADMSG", "bad message"}, + {90, "EMULTIHOP", "multihop attempted"}, + {91, "ENOLINK", "link has been severed"}, + {92, "EPROTO", "protocol error"}, + {93, "ENOTCAPABLE", "capabilities insufficient"}, + {94, "ECAPMODE", "not permitted in capability mode"}, + {95, "ENOTRECOVERABLE", "state not recoverable"}, + {96, "EOWNERDEAD", "previous owner died"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "unknown signal"}, + {33, "SIGLIBRT", "unknown signal"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go new file mode 100644 index 000000000..d4a192fef --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go @@ -0,0 +1,1794 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,freebsd + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x23 + AF_ATM = 0x1e + AF_BLUETOOTH = 0x24 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1c + AF_INET6_SDP = 0x2a + AF_INET_SDP = 0x28 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x2a + AF_NATM = 0x1d + AF_NETBIOS = 0x6 + AF_NETGRAPH = 0x20 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SCLUSTER = 0x22 + AF_SIP = 0x18 + AF_SLOW = 0x21 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VENDOR00 = 0x27 + AF_VENDOR01 = 0x29 + AF_VENDOR02 = 0x2b + AF_VENDOR03 = 0x2d + AF_VENDOR04 = 0x2f + AF_VENDOR05 = 0x31 + AF_VENDOR06 = 0x33 + AF_VENDOR07 = 0x35 + AF_VENDOR08 = 0x37 + AF_VENDOR09 = 0x39 + AF_VENDOR10 = 0x3b + AF_VENDOR11 = 0x3d + AF_VENDOR12 = 0x3f + AF_VENDOR13 = 0x41 + AF_VENDOR14 = 0x43 + AF_VENDOR15 = 0x45 + AF_VENDOR16 = 0x47 + AF_VENDOR17 = 0x49 + AF_VENDOR18 = 0x4b + AF_VENDOR19 = 0x4d + AF_VENDOR20 = 0x4f + AF_VENDOR21 = 0x51 + AF_VENDOR22 = 0x53 + AF_VENDOR23 = 0x55 + AF_VENDOR24 = 0x57 + AF_VENDOR25 = 0x59 + AF_VENDOR26 = 0x5b + AF_VENDOR27 = 0x5d + AF_VENDOR28 = 0x5f + AF_VENDOR29 = 0x61 + AF_VENDOR30 = 0x63 + AF_VENDOR31 = 0x65 + AF_VENDOR32 = 0x67 + AF_VENDOR33 = 0x69 + AF_VENDOR34 = 0x6b + AF_VENDOR35 = 0x6d + AF_VENDOR36 = 0x6f + AF_VENDOR37 = 0x71 + AF_VENDOR38 = 0x73 + AF_VENDOR39 = 0x75 + AF_VENDOR40 = 0x77 + AF_VENDOR41 = 0x79 + AF_VENDOR42 = 0x7b + AF_VENDOR43 = 0x7d + AF_VENDOR44 = 0x7f + AF_VENDOR45 = 0x81 + AF_VENDOR46 = 0x83 + AF_VENDOR47 = 0x85 + ALTWERASE = 0x200 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427c + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRECTION = 0x40044276 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0104279 + BIOCGETBUFMODE = 0x4004427d + BIOCGETIF = 0x4020426b + BIOCGETZMAX = 0x4008427f + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSEESENT = 0x40044276 + BIOCGSTATS = 0x4008426f + BIOCGTSTAMP = 0x40044283 + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x2000427a + BIOCPROMISC = 0x20004269 + BIOCROTZBUF = 0x40184280 + BIOCSBLEN = 0xc0044266 + BIOCSDIRECTION = 0x80044277 + BIOCSDLT = 0x80044278 + BIOCSETBUFMODE = 0x8004427e + BIOCSETF = 0x80104267 + BIOCSETFNR = 0x80104282 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x8010427b + BIOCSETZBUF = 0x80184281 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d + BIOCSSEESENT = 0x80044277 + BIOCSTSTAMP = 0x80044284 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x8 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_BUFMODE_BUFFER = 0x1 + BPF_BUFMODE_ZBUF = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x80000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_T_BINTIME = 0x2 + BPF_T_BINTIME_FAST = 0x102 + BPF_T_BINTIME_MONOTONIC = 0x202 + BPF_T_BINTIME_MONOTONIC_FAST = 0x302 + BPF_T_FAST = 0x100 + BPF_T_FLAG_MASK = 0x300 + BPF_T_FORMAT_MASK = 0x3 + BPF_T_MICROTIME = 0x0 + BPF_T_MICROTIME_FAST = 0x100 + BPF_T_MICROTIME_MONOTONIC = 0x200 + BPF_T_MICROTIME_MONOTONIC_FAST = 0x300 + BPF_T_MONOTONIC = 0x200 + BPF_T_MONOTONIC_FAST = 0x300 + BPF_T_NANOTIME = 0x1 + BPF_T_NANOTIME_FAST = 0x101 + BPF_T_NANOTIME_MONOTONIC = 0x201 + BPF_T_NANOTIME_MONOTONIC_FAST = 0x301 + BPF_T_NONE = 0x3 + BPF_T_NORMAL = 0x0 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + CAP_ACCEPT = 0x200000020000000 + CAP_ACL_CHECK = 0x400000000010000 + CAP_ACL_DELETE = 0x400000000020000 + CAP_ACL_GET = 0x400000000040000 + CAP_ACL_SET = 0x400000000080000 + CAP_ALL0 = 0x20007ffffffffff + CAP_ALL1 = 0x4000000001fffff + CAP_BIND = 0x200000040000000 + CAP_BINDAT = 0x200008000000400 + CAP_CHFLAGSAT = 0x200000000001400 + CAP_CONNECT = 0x200000080000000 + CAP_CONNECTAT = 0x200010000000400 + CAP_CREATE = 0x200000000000040 + CAP_EVENT = 0x400000000000020 + CAP_EXTATTR_DELETE = 0x400000000001000 + CAP_EXTATTR_GET = 0x400000000002000 + CAP_EXTATTR_LIST = 0x400000000004000 + CAP_EXTATTR_SET = 0x400000000008000 + CAP_FCHDIR = 0x200000000000800 + CAP_FCHFLAGS = 0x200000000001000 + CAP_FCHMOD = 0x200000000002000 + CAP_FCHMODAT = 0x200000000002400 + CAP_FCHOWN = 0x200000000004000 + CAP_FCHOWNAT = 0x200000000004400 + CAP_FCNTL = 0x200000000008000 + CAP_FCNTL_ALL = 0x78 + CAP_FCNTL_GETFL = 0x8 + CAP_FCNTL_GETOWN = 0x20 + CAP_FCNTL_SETFL = 0x10 + CAP_FCNTL_SETOWN = 0x40 + CAP_FEXECVE = 0x200000000000080 + CAP_FLOCK = 0x200000000010000 + CAP_FPATHCONF = 0x200000000020000 + CAP_FSCK = 0x200000000040000 + CAP_FSTAT = 0x200000000080000 + CAP_FSTATAT = 0x200000000080400 + CAP_FSTATFS = 0x200000000100000 + CAP_FSYNC = 0x200000000000100 + CAP_FTRUNCATE = 0x200000000000200 + CAP_FUTIMES = 0x200000000200000 + CAP_FUTIMESAT = 0x200000000200400 + CAP_GETPEERNAME = 0x200000100000000 + CAP_GETSOCKNAME = 0x200000200000000 + CAP_GETSOCKOPT = 0x200000400000000 + CAP_IOCTL = 0x400000000000080 + CAP_IOCTLS_ALL = 0x7fffffffffffffff + CAP_KQUEUE = 0x400000000100040 + CAP_KQUEUE_CHANGE = 0x400000000100000 + CAP_KQUEUE_EVENT = 0x400000000000040 + CAP_LINKAT_SOURCE = 0x200020000000400 + CAP_LINKAT_TARGET = 0x200000000400400 + CAP_LISTEN = 0x200000800000000 + CAP_LOOKUP = 0x200000000000400 + CAP_MAC_GET = 0x400000000000001 + CAP_MAC_SET = 0x400000000000002 + CAP_MKDIRAT = 0x200000000800400 + CAP_MKFIFOAT = 0x200000001000400 + CAP_MKNODAT = 0x200000002000400 + CAP_MMAP = 0x200000000000010 + CAP_MMAP_R = 0x20000000000001d + CAP_MMAP_RW = 0x20000000000001f + CAP_MMAP_RWX = 0x20000000000003f + CAP_MMAP_RX = 0x20000000000003d + CAP_MMAP_W = 0x20000000000001e + CAP_MMAP_WX = 0x20000000000003e + CAP_MMAP_X = 0x20000000000003c + CAP_PDGETPID = 0x400000000000200 + CAP_PDKILL = 0x400000000000800 + CAP_PDWAIT = 0x400000000000400 + CAP_PEELOFF = 0x200001000000000 + CAP_POLL_EVENT = 0x400000000000020 + CAP_PREAD = 0x20000000000000d + CAP_PWRITE = 0x20000000000000e + CAP_READ = 0x200000000000001 + CAP_RECV = 0x200000000000001 + CAP_RENAMEAT_SOURCE = 0x200000004000400 + CAP_RENAMEAT_TARGET = 0x200040000000400 + CAP_RIGHTS_VERSION = 0x0 + CAP_RIGHTS_VERSION_00 = 0x0 + CAP_SEEK = 0x20000000000000c + CAP_SEEK_TELL = 0x200000000000004 + CAP_SEM_GETVALUE = 0x400000000000004 + CAP_SEM_POST = 0x400000000000008 + CAP_SEM_WAIT = 0x400000000000010 + CAP_SEND = 0x200000000000002 + CAP_SETSOCKOPT = 0x200002000000000 + CAP_SHUTDOWN = 0x200004000000000 + CAP_SOCK_CLIENT = 0x200007780000003 + CAP_SOCK_SERVER = 0x200007f60000003 + CAP_SYMLINKAT = 0x200000008000400 + CAP_TTYHOOK = 0x400000000000100 + CAP_UNLINKAT = 0x200000010000400 + CAP_UNUSED0_44 = 0x200080000000000 + CAP_UNUSED0_57 = 0x300000000000000 + CAP_UNUSED1_22 = 0x400000000200000 + CAP_UNUSED1_57 = 0x500000000000000 + CAP_WRITE = 0x200000000000002 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_MONOTONIC = 0x4 + CLOCK_MONOTONIC_FAST = 0xc + CLOCK_MONOTONIC_PRECISE = 0xb + CLOCK_PROCESS_CPUTIME_ID = 0xf + CLOCK_PROF = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_FAST = 0xa + CLOCK_REALTIME_PRECISE = 0x9 + CLOCK_SECOND = 0xd + CLOCK_THREAD_CPUTIME_ID = 0xe + CLOCK_UPTIME = 0x5 + CLOCK_UPTIME_FAST = 0x8 + CLOCK_UPTIME_PRECISE = 0x7 + CLOCK_VIRTUAL = 0x1 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0x18 + CTL_NET = 0x4 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_BREDR_BB = 0xff + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_BLUETOOTH_LE_LL = 0xfb + DLT_BLUETOOTH_LE_LL_WITH_PHDR = 0x100 + DLT_BLUETOOTH_LINUX_MONITOR = 0xfe + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_EPON = 0x103 + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_INFINIBAND = 0xf7 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPMI_HPM_2 = 0x104 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xf2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MATCHING_MAX = 0x104 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPEG_2_TS = 0xf3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_MUX27010 = 0xec + DLT_NETANALYZER = 0xf0 + DLT_NETANALYZER_TRANSPARENT = 0xf1 + DLT_NETLINK = 0xfd + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x79 + DLT_PKTAP = 0x102 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PPP_WITH_DIRECTION = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PROFIBUS_DL = 0x101 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RIO = 0x7c + DLT_RTAC_SERIAL = 0xfa + DLT_SCCP = 0x8e + DLT_SCTP = 0xf8 + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USBPCAP = 0xf9 + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DLT_WIHART = 0xdf + DLT_WIRESHARK_UPPER_PDU = 0xfc + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 + EVFILT_FS = -0x9 + EVFILT_LIO = -0xa + EVFILT_PROC = -0x5 + EVFILT_PROCDESC = -0x8 + EVFILT_READ = -0x1 + EVFILT_SENDFILE = -0xc + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0xc + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xb + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_DROP = 0x1000 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_FLAG2 = 0x4000 + EV_FORCEONESHOT = 0x100 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_NAMESPACE_EMPTY = 0x0 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_CANCEL = 0x5 + F_DUP2FD = 0xa + F_DUP2FD_CLOEXEC = 0x12 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x11 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0xb + F_GETOWN = 0x5 + F_OGETLK = 0x7 + F_OK = 0x0 + F_OSETLK = 0x8 + F_OSETLKW = 0x9 + F_RDAHEAD = 0x10 + F_RDLCK = 0x1 + F_READAHEAD = 0xf + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0xc + F_SETLKW = 0xd + F_SETLK_REMOTE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_UNLCKSYS = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x218f52 + IFF_CANTCONFIG = 0x10000 + IFF_DEBUG = 0x4 + IFF_DRV_OACTIVE = 0x400 + IFF_DRV_RUNNING = 0x40 + IFF_DYING = 0x200000 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MONITOR = 0x40000 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PPROMISC = 0x20000 + IFF_PROMISC = 0x100 + IFF_RENAMING = 0x400000 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_STATICARP = 0x80000 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_BRIDGE = 0xd1 + IFT_CARP = 0xf8 + IFT_IEEE1394 = 0x90 + IFT_INFINIBAND = 0xc7 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_PPP = 0x17 + IFT_PROPVIRTUAL = 0x35 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_MASK = 0xfffffffe + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 + IPPROTO_AHIP = 0x3d + IPPROTO_APES = 0x63 + IPPROTO_ARGUS = 0xd + IPPROTO_AX25 = 0x5d + IPPROTO_BHA = 0x31 + IPPROTO_BLT = 0x1e + IPPROTO_BRSATMON = 0x4c + IPPROTO_CARP = 0x70 + IPPROTO_CFTP = 0x3e + IPPROTO_CHAOS = 0x10 + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0x102 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f + IPPROTO_HELLO = 0x3f + IPPROTO_HIP = 0x8b + IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IDPR = 0x23 + IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 + IPPROTO_IGP = 0x55 + IPPROTO_IGRP = 0x58 + IPPROTO_IL = 0x28 + IPPROTO_INLSP = 0x34 + IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPCV = 0x47 + IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 + IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IRTP = 0x1c + IPPROTO_KRYPTOLAN = 0x41 + IPPROTO_LARP = 0x5b + IPPROTO_LEAF1 = 0x19 + IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 + IPPROTO_MEAS = 0x13 + IPPROTO_MH = 0x87 + IPPROTO_MHRP = 0x30 + IPPROTO_MICP = 0x5f + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_MUX = 0x12 + IPPROTO_ND = 0x4d + IPPROTO_NHRP = 0x36 + IPPROTO_NONE = 0x3b + IPPROTO_NSP = 0x1f + IPPROTO_NVPII = 0xb + IPPROTO_OLD_DIVERT = 0xfe + IPPROTO_OSPFIGP = 0x59 + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PGM = 0x71 + IPPROTO_PIGP = 0x9 + IPPROTO_PIM = 0x67 + IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc + IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff + IPPROTO_RCCMON = 0xa + IPPROTO_RDP = 0x1b + IPPROTO_RESERVED_253 = 0xfd + IPPROTO_RESERVED_254 = 0xfe + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_RVD = 0x42 + IPPROTO_SATEXPAK = 0x40 + IPPROTO_SATMON = 0x45 + IPPROTO_SCCSP = 0x60 + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEND = 0x103 + IPPROTO_SEP = 0x21 + IPPROTO_SHIM6 = 0x8c + IPPROTO_SKIP = 0x39 + IPPROTO_SPACER = 0x7fff + IPPROTO_SRPC = 0x5a + IPPROTO_ST = 0x7 + IPPROTO_SVMTP = 0x52 + IPPROTO_SWIPE = 0x35 + IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TLSP = 0x38 + IPPROTO_TP = 0x1d + IPPROTO_TPXX = 0x27 + IPPROTO_TRUNK1 = 0x17 + IPPROTO_TRUNK2 = 0x18 + IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPPROTO_VINES = 0x53 + IPPROTO_VISA = 0x46 + IPPROTO_VMTP = 0x51 + IPPROTO_WBEXPAK = 0x4f + IPPROTO_WBMON = 0x4e + IPPROTO_WSN = 0x4a + IPPROTO_XNET = 0xf + IPPROTO_XTP = 0x24 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_BINDANY = 0x40 + IPV6_BINDMULTI = 0x41 + IPV6_BINDV6ONLY = 0x1b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FLOWID = 0x43 + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOWTYPE = 0x44 + IPV6_FRAGTTL = 0x78 + IPV6_FW_ADD = 0x1e + IPV6_FW_DEL = 0x1f + IPV6_FW_FLUSH = 0x20 + IPV6_FW_GET = 0x22 + IPV6_FW_ZERO = 0x21 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 + IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MSFILTER = 0x4a + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_PREFER_TEMPADDR = 0x3f + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVFLOWID = 0x46 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRSSBUCKETID = 0x47 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RSSBUCKETID = 0x45 + IPV6_RSS_LISTEN_BUCKET = 0x42 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BINDANY = 0x18 + IP_BINDMULTI = 0x19 + IP_BLOCK_SOURCE = 0x48 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DONTFRAG = 0x43 + IP_DROP_MEMBERSHIP = 0xd + IP_DROP_SOURCE_MEMBERSHIP = 0x47 + IP_DUMMYNET3 = 0x31 + IP_DUMMYNET_CONFIGURE = 0x3c + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 + IP_FLOWID = 0x5a + IP_FLOWTYPE = 0x5b + IP_FW3 = 0x30 + IP_FW_ADD = 0x32 + IP_FW_DEL = 0x33 + IP_FW_FLUSH = 0x34 + IP_FW_GET = 0x36 + IP_FW_NAT_CFG = 0x38 + IP_FW_NAT_DEL = 0x39 + IP_FW_NAT_GET_CONFIG = 0x3a + IP_FW_NAT_GET_LOG = 0x3b + IP_FW_RESETLOG = 0x37 + IP_FW_TABLE_ADD = 0x28 + IP_FW_TABLE_DEL = 0x29 + IP_FW_TABLE_FLUSH = 0x2a + IP_FW_TABLE_GETSIZE = 0x2b + IP_FW_TABLE_LIST = 0x2c + IP_FW_ZERO = 0x35 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MAX_SOURCE_FILTER = 0x400 + IP_MF = 0x2000 + IP_MINTTL = 0x42 + IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_VIF = 0xe + IP_OFFMASK = 0x1fff + IP_ONESBCAST = 0x17 + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVFLOWID = 0x5d + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRSSBUCKETID = 0x5e + IP_RECVTOS = 0x44 + IP_RECVTTL = 0x41 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RSSBUCKETID = 0x5c + IP_RSS_LISTEN_BUCKET = 0x1a + IP_RSVP_OFF = 0x10 + IP_RSVP_ON = 0xf + IP_RSVP_VIF_OFF = 0x12 + IP_RSVP_VIF_ON = 0x11 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_AUTOSYNC = 0x7 + MADV_CORE = 0x9 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_NOCORE = 0x8 + MADV_NORMAL = 0x0 + MADV_NOSYNC = 0x6 + MADV_PROTECT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MAP_32BIT = 0x80000 + MAP_ALIGNED_SUPER = 0x1000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_EXCL = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_NOCORE = 0x20000 + MAP_NOSYNC = 0x800 + MAP_PREFAULT_READ = 0x40000 + MAP_PRIVATE = 0x2 + MAP_RESERVED0020 = 0x20 + MAP_RESERVED0040 = 0x40 + MAP_RESERVED0080 = 0x80 + MAP_RESERVED0100 = 0x100 + MAP_SHARED = 0x1 + MAP_STACK = 0x400 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ACLS = 0x8000000 + MNT_ASYNC = 0x40 + MNT_AUTOMOUNTED = 0x200000000 + MNT_BYFSID = 0x8000000 + MNT_CMDFLAGS = 0xd0f0000 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_EXKERB = 0x800 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x20000000 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_GJOURNAL = 0x2000000 + MNT_IGNORE = 0x800000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_MULTILABEL = 0x4000000 + MNT_NFS4ACLS = 0x10 + MNT_NOATIME = 0x10000000 + MNT_NOCLUSTERR = 0x40000000 + MNT_NOCLUSTERW = 0x80000000 + MNT_NOEXEC = 0x4 + MNT_NONBUSY = 0x4000000 + MNT_NOSUID = 0x8 + MNT_NOSYMFOLLOW = 0x400000 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SNAPSHOT = 0x1000000 + MNT_SOFTDEP = 0x200000 + MNT_SUIDDIR = 0x100000 + MNT_SUJ = 0x100000000 + MNT_SUSPEND = 0x4 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UPDATE = 0x10000 + MNT_UPDATEMASK = 0x2d8d0807e + MNT_USER = 0x8000 + MNT_VISFLAGMASK = 0x3fef0ffff + MNT_WAIT = 0x1 + MSG_CMSG_CLOEXEC = 0x40000 + MSG_COMPAT = 0x8000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOF = 0x100 + MSG_EOR = 0x8 + MSG_NBIO = 0x4000 + MSG_NOSIGNAL = 0x20000 + MSG_NOTIFICATION = 0x2000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MSG_WAITFORONE = 0x80000 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x0 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFLISTL = 0x5 + NET_RT_IFMALIST = 0x4 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_CLOSE = 0x100 + NOTE_CLOSE_WRITE = 0x200 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FFAND = 0x40000000 + NOTE_FFCOPY = 0xc0000000 + NOTE_FFCTRLMASK = 0xc0000000 + NOTE_FFLAGSMASK = 0xffffff + NOTE_FFNOP = 0x0 + NOTE_FFOR = 0x80000000 + NOTE_FILE_POLL = 0x2 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_MSECONDS = 0x2 + NOTE_NSECONDS = 0x8 + NOTE_OPEN = 0x80 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_READ = 0x400 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_SECONDS = 0x1 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRIGGER = 0x1000000 + NOTE_USECONDS = 0x4 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x100000 + O_CREAT = 0x200 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x20000 + O_EXCL = 0x800 + O_EXEC = 0x40000 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_TTY_INIT = 0x80000 + O_VERIFY = 0x200000 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x8 + RTAX_NETMASK = 0x2 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FIXEDMTU = 0x80000 + RTF_FMASK = 0x1004d808 + RTF_GATEWAY = 0x2 + RTF_GWFLAG_COMPAT = 0x80000000 + RTF_HOST = 0x4 + RTF_LLDATA = 0x400 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MULTICAST = 0x800000 + RTF_PINNED = 0x100000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x40000 + RTF_REJECT = 0x8 + RTF_RNH_LOCKED = 0x40000000 + RTF_STATIC = 0x800 + RTF_STICKY = 0x10000000 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DELMADDR = 0x10 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x12 + RTM_IFANNOUNCE = 0x11 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RTV_WEIGHT = 0x100 + RT_ALL_FIBS = -0x1 + RT_BLACKHOLE = 0x40 + RT_CACHING_CONTEXT = 0x1 + RT_DEFAULT_FIB = 0x0 + RT_HAS_GW = 0x80 + RT_HAS_HEADER = 0x10 + RT_HAS_HEADER_BIT = 0x4 + RT_L2_ME = 0x4 + RT_L2_ME_BIT = 0x2 + RT_LLE_CACHE = 0x100 + RT_MAY_LOOP = 0x8 + RT_MAY_LOOP_BIT = 0x3 + RT_NORTREF = 0x2 + RT_REJECT = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_BINTIME = 0x4 + SCM_CREDS = 0x3 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80286987 + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80286989 + SIOCDIFPHYADDR = 0x80206949 + SIOCGDRVSPEC = 0xc028697b + SIOCGETSGCNT = 0xc0207210 + SIOCGETVIFCNT = 0xc028720f + SIOCGHIWAT = 0x40047301 + SIOCGI2C = 0xc020693d + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020691f + SIOCGIFCONF = 0xc0106924 + SIOCGIFDESCR = 0xc020692a + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFIB = 0xc020695c + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc028698a + SIOCGIFGROUP = 0xc0286988 + SIOCGIFINDEX = 0xc0206920 + SIOCGIFMAC = 0xc0206926 + SIOCGIFMEDIA = 0xc0306938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc0206933 + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFSTATUS = 0xc331693b + SIOCGIFXMEDIA = 0xc030698b + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGPRIVATE_0 = 0xc0206950 + SIOCGPRIVATE_1 = 0xc0206951 + SIOCGTUNFIB = 0xc020695e + SIOCIFCREATE = 0xc020697a + SIOCIFCREATE2 = 0xc020697c + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106978 + SIOCSDRVSPEC = 0x8028697b + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFCAP = 0x8020691e + SIOCSIFDESCR = 0x80206929 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFIB = 0x8020695d + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020693c + SIOCSIFMAC = 0x80206927 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x80206934 + SIOCSIFNAME = 0x80206928 + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPHYS = 0x80206936 + SIOCSIFRVNET = 0xc020695b + SIOCSIFVNET = 0xc020695a + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSTUNFIB = 0x8020695f + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_MAXADDRLEN = 0xff + SOCK_NONBLOCK = 0x20000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BINTIME = 0x2000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LABEL = 0x1009 + SO_LINGER = 0x80 + SO_LISTENINCQLEN = 0x1013 + SO_LISTENQLEN = 0x1012 + SO_LISTENQLIMIT = 0x1011 + SO_NOSIGPIPE = 0x800 + SO_NO_DDP = 0x8000 + SO_NO_OFFLOAD = 0x4000 + SO_OOBINLINE = 0x100 + SO_PEERLABEL = 0x1010 + SO_PROTOCOL = 0x1016 + SO_PROTOTYPE = 0x1016 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SETFIB = 0x1014 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USER_COOKIE = 0x1015 + SO_VENDOR = 0x80000000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB3 = 0x4 + TABDLY = 0x4 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_CA_NAME_MAX = 0x10 + TCP_CCALGOOPT = 0x41 + TCP_CONGESTION = 0x40 + TCP_FASTOPEN = 0x401 + TCP_FUNCTION_BLK = 0x2000 + TCP_FUNCTION_NAME_LEN_MAX = 0x20 + TCP_INFO = 0x20 + TCP_KEEPCNT = 0x400 + TCP_KEEPIDLE = 0x100 + TCP_KEEPINIT = 0x80 + TCP_KEEPINTVL = 0x200 + TCP_MAXBURST = 0x4 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x4 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCP_NOOPT = 0x8 + TCP_NOPUSH = 0x4 + TCP_PCAP_IN = 0x1000 + TCP_PCAP_OUT = 0x800 + TCP_VENDOR = 0x80000000 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLUSH = 0x80047410 + TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGPTN = 0x4004740f + TIOCGSID = 0x40047463 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a + TIOCMSDTRWAIT = 0x8004745b + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DCD = 0x40 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMASTER = 0x2000741c + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSIG = 0x2004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VERASE2 = 0x7 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WCONTINUED = 0x4 + WCOREFLAG = 0x80 + WEXITED = 0x10 + WLINUXCLONE = 0x80000000 + WNOHANG = 0x1 + WNOWAIT = 0x8 + WSTOPPED = 0x2 + WTRAPPED = 0x20 + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x59) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x55) + ECAPMODE = syscall.Errno(0x5e) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDOOFUS = syscall.Errno(0x58) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x56) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5a) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x57) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCAPABLE = syscall.Errno(0x5d) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x5f) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EOWNERDEAD = syscall.Errno(0x60) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5c) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGLIBRT = syscall.Signal(0x21) + SIGLWP = syscall.Signal(0x20) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "ECANCELED", "operation canceled"}, + {86, "EILSEQ", "illegal byte sequence"}, + {87, "ENOATTR", "attribute not found"}, + {88, "EDOOFUS", "programming error"}, + {89, "EBADMSG", "bad message"}, + {90, "EMULTIHOP", "multihop attempted"}, + {91, "ENOLINK", "link has been severed"}, + {92, "EPROTO", "protocol error"}, + {93, "ENOTCAPABLE", "capabilities insufficient"}, + {94, "ECAPMODE", "not permitted in capability mode"}, + {95, "ENOTRECOVERABLE", "state not recoverable"}, + {96, "EOWNERDEAD", "previous owner died"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "unknown signal"}, + {33, "SIGLIBRT", "unknown signal"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go new file mode 100644 index 000000000..cb89df8f5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go @@ -0,0 +1,2782 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include -m32 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x80041270 + BLKBSZSET = 0x40041271 + BLKFLSBUF = 0x1261 + BLKFRAGET = 0x1265 + BLKFRASET = 0x1264 + BLKGETSIZE = 0x1260 + BLKGETSIZE64 = 0x80041272 + BLKPBSZGET = 0x127b + BLKRAGET = 0x1263 + BLKRASET = 0x1262 + BLKROGET = 0x125e + BLKROSET = 0x125d + BLKRRPART = 0x125f + BLKSECTGET = 0x1267 + BLKSECTSET = 0x1266 + BLKSSZGET = 0x1268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_OR = 0x40 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x1000 + FP_XSTATE_MAGIC2 = 0x46505845 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x3 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0xc + F_GETLK64 = 0xc + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0xd + F_SETLK64 = 0xd + F_SETLKW = 0xe + F_SETLKW64 = 0xe + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_32BIT = 0x40 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x2000 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x4000 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x20000 + MAP_SYNC = 0x80000 + MAP_TYPE = 0xf + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x3 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x4000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x8000 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x2401 + PERF_EVENT_IOC_ENABLE = 0x2400 + PERF_EVENT_IOC_ID = 0x80042407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4004240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 + PERF_EVENT_IOC_PERIOD = 0x40082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc004240a + PERF_EVENT_IOC_REFRESH = 0x2402 + PERF_EVENT_IOC_RESET = 0x2403 + PERF_EVENT_IOC_SET_BPF = 0x40042408 + PERF_EVENT_IOC_SET_FILTER = 0x40042406 + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 + PPPIOCGASYNCMAP = 0x80047458 + PPPIOCGCHAN = 0x80047437 + PPPIOCGDEBUG = 0x80047441 + PPPIOCGFLAGS = 0x8004745a + PPPIOCGIDLE = 0x8008743f + PPPIOCGL2TPSTATS = 0x80487436 + PPPIOCGMRU = 0x80047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x80047455 + PPPIOCGUNIT = 0x80047456 + PPPIOCGXASYNCMAP = 0x80207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x40087446 + PPPIOCSASYNCMAP = 0x40047457 + PPPIOCSCOMPRESS = 0x400c744d + PPPIOCSDEBUG = 0x40047440 + PPPIOCSFLAGS = 0x40047459 + PPPIOCSMAXCID = 0x40047451 + PPPIOCSMRRU = 0x4004743b + PPPIOCSMRU = 0x40047452 + PPPIOCSNPMODE = 0x4008744b + PPPIOCSPASS = 0x40087447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f + PPPIOCXFERUNIT = 0x744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFPREGS = 0xe + PTRACE_GETFPXREGS = 0x12 + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETFPREGS = 0xf + PTRACE_SETFPXREGS = 0x13 + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SINGLEBLOCK = 0x21 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_SYSEMU = 0x1f + PTRACE_SYSEMU_SINGLESTEP = 0x20 + PTRACE_TRACEME = 0x0 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x40085203 + RNDADDTOENTCNT = 0x40045201 + RNDCLEARPOOL = 0x5206 + RNDGETENTCNT = 0x80045200 + RNDGETPOOL = 0x80085202 + RNDRESEEDCRNG = 0x5207 + RNDZAPENTCNT = 0x5204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1d + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x7002 + RTC_AIE_ON = 0x7001 + RTC_ALM_READ = 0x80247008 + RTC_ALM_SET = 0x40247007 + RTC_EPOCH_READ = 0x8004700d + RTC_EPOCH_SET = 0x4004700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x8004700b + RTC_IRQP_SET = 0x4004700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x801c7011 + RTC_PLL_SET = 0x401c7012 + RTC_RD_TIME = 0x80247009 + RTC_SET_TIME = 0x4024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x7004 + RTC_UIE_ON = 0x7003 + RTC_VL_CLR = 0x7014 + RTC_VL_READ = 0x80047013 + RTC_WIE_OFF = 0x7010 + RTC_WIE_ON = 0x700f + RTC_WKALM_RD = 0x80287010 + RTC_WKALM_SET = 0x4028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x67 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x16 + RTM_NR_MSGTYPES = 0x58 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCINQ = 0x541b + SIOCOUTQ = 0x5411 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x10 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 + SO_RCVTIMEO = 0x14 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x13 + SO_SNDTIMEO = 0x15 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x540b + TCGETA = 0x5405 + TCGETS = 0x5401 + TCGETS2 = 0x802c542a + TCGETX = 0x5432 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSBRKP = 0x5425 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETS2 = 0x402c542b + TCSETSF = 0x5404 + TCSETSF2 = 0x402c542d + TCSETSW = 0x5403 + TCSETSW2 = 0x402c542c + TCSETX = 0x5433 + TCSETXF = 0x5434 + TCSETXW = 0x5435 + TCXONC = 0x540a + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x80045432 + TIOCGETD = 0x5424 + TIOCGEXCL = 0x80045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x80285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x540f + TIOCGPKT = 0x80045438 + TIOCGPTLCK = 0x80045439 + TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x5413 + TIOCINQ = 0x541b + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x5411 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x5423 + TIOCSIG = 0x40045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x5410 + TIOCSPTLCK = 0x40045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTI = 0x5412 + TIOCSWINSZ = 0x5414 + TIOCVHANGUP = 0x5437 + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x100 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = -0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x400854d5 + TUNDETACHFILTER = 0x400854d6 + TUNGETFEATURES = 0x800454cf + TUNGETFILTER = 0x800854db + TUNGETIFF = 0x800454d2 + TUNGETSNDBUF = 0x800454d3 + TUNGETVNETBE = 0x800454df + TUNGETVNETHDRSZ = 0x800454d7 + TUNGETVNETLE = 0x800454dd + TUNSETDEBUG = 0x400454c9 + TUNSETFILTEREBPF = 0x800454e1 + TUNSETGROUP = 0x400454ce + TUNSETIFF = 0x400454ca + TUNSETIFINDEX = 0x400454da + TUNSETLINK = 0x400454cd + TUNSETNOCSUM = 0x400454c8 + TUNSETOFFLOAD = 0x400454d0 + TUNSETOWNER = 0x400454cc + TUNSETPERSIST = 0x400454cb + TUNSETQUEUE = 0x400454d9 + TUNSETSNDBUF = 0x400454d4 + TUNSETSTEERINGEBPF = 0x800454e0 + TUNSETTXFILTER = 0x400454d1 + TUNSETVNETBE = 0x400454de + TUNSETVNETHDRSZ = 0x400454d8 + TUNSETVNETLE = 0x400454dc + UBI_IOCATT = 0x40186f40 + UBI_IOCDET = 0x40046f41 + UBI_IOCEBCH = 0x40044f02 + UBI_IOCEBER = 0x40044f01 + UBI_IOCEBISMAP = 0x80044f05 + UBI_IOCEBMAP = 0x40084f03 + UBI_IOCEBUNMAP = 0x40044f04 + UBI_IOCMKVOL = 0x40986f00 + UBI_IOCRMVOL = 0x40046f01 + UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRSVOL = 0x400c6f02 + UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCVOLCRBLK = 0x40804f07 + UBI_IOCVOLRMBLK = 0x4f08 + UBI_IOCVOLUP = 0x40084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x6 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x80045702 + WDIOC_GETPRETIMEOUT = 0x80045709 + WDIOC_GETSTATUS = 0x80045701 + WDIOC_GETSUPPORT = 0x80285700 + WDIOC_GETTEMP = 0x80045703 + WDIOC_GETTIMELEFT = 0x8004570a + WDIOC_GETTIMEOUT = 0x80045707 + WDIOC_KEEPALIVE = 0x80045705 + WDIOC_SETOPTIONS = 0x80045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x20 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + X86_FXSR_MAGIC = 0x0 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x23) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go new file mode 100644 index 000000000..73c9b88ca --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go @@ -0,0 +1,2782 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x80081270 + BLKBSZSET = 0x40081271 + BLKFLSBUF = 0x1261 + BLKFRAGET = 0x1265 + BLKFRASET = 0x1264 + BLKGETSIZE = 0x1260 + BLKGETSIZE64 = 0x80081272 + BLKPBSZGET = 0x127b + BLKRAGET = 0x1263 + BLKRASET = 0x1262 + BLKROGET = 0x125e + BLKROSET = 0x125d + BLKRRPART = 0x125f + BLKSECTGET = 0x1267 + BLKSECTSET = 0x1266 + BLKSSZGET = 0x1268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_OR = 0x40 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x1000 + FP_XSTATE_MAGIC2 = 0x46505845 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x3 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x5 + F_GETLK64 = 0x5 + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_32BIT = 0x40 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x2000 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x4000 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x20000 + MAP_SYNC = 0x80000 + MAP_TYPE = 0xf + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x3 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x4000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x0 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x2401 + PERF_EVENT_IOC_ENABLE = 0x2400 + PERF_EVENT_IOC_ID = 0x80082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 + PERF_EVENT_IOC_PERIOD = 0x40082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x2402 + PERF_EVENT_IOC_RESET = 0x2403 + PERF_EVENT_IOC_SET_BPF = 0x40042408 + PERF_EVENT_IOC_SET_FILTER = 0x40082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 + PPPIOCGASYNCMAP = 0x80047458 + PPPIOCGCHAN = 0x80047437 + PPPIOCGDEBUG = 0x80047441 + PPPIOCGFLAGS = 0x8004745a + PPPIOCGIDLE = 0x8010743f + PPPIOCGL2TPSTATS = 0x80487436 + PPPIOCGMRU = 0x80047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x80047455 + PPPIOCGUNIT = 0x80047456 + PPPIOCGXASYNCMAP = 0x80207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x40107446 + PPPIOCSASYNCMAP = 0x40047457 + PPPIOCSCOMPRESS = 0x4010744d + PPPIOCSDEBUG = 0x40047440 + PPPIOCSFLAGS = 0x40047459 + PPPIOCSMAXCID = 0x40047451 + PPPIOCSMRRU = 0x4004743b + PPPIOCSMRU = 0x40047452 + PPPIOCSNPMODE = 0x4008744b + PPPIOCSPASS = 0x40107447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f + PPPIOCXFERUNIT = 0x744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ARCH_PRCTL = 0x1e + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFPREGS = 0xe + PTRACE_GETFPXREGS = 0x12 + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETFPREGS = 0xf + PTRACE_SETFPXREGS = 0x13 + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SINGLEBLOCK = 0x21 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_SYSEMU = 0x1f + PTRACE_SYSEMU_SINGLESTEP = 0x20 + PTRACE_TRACEME = 0x0 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x40085203 + RNDADDTOENTCNT = 0x40045201 + RNDCLEARPOOL = 0x5206 + RNDGETENTCNT = 0x80045200 + RNDGETPOOL = 0x80085202 + RNDRESEEDCRNG = 0x5207 + RNDZAPENTCNT = 0x5204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1d + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x7002 + RTC_AIE_ON = 0x7001 + RTC_ALM_READ = 0x80247008 + RTC_ALM_SET = 0x40247007 + RTC_EPOCH_READ = 0x8008700d + RTC_EPOCH_SET = 0x4008700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x8008700b + RTC_IRQP_SET = 0x4008700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x80207011 + RTC_PLL_SET = 0x40207012 + RTC_RD_TIME = 0x80247009 + RTC_SET_TIME = 0x4024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x7004 + RTC_UIE_ON = 0x7003 + RTC_VL_CLR = 0x7014 + RTC_VL_READ = 0x80047013 + RTC_WIE_OFF = 0x7010 + RTC_WIE_ON = 0x700f + RTC_WKALM_RD = 0x80287010 + RTC_WKALM_SET = 0x4028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x67 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x16 + RTM_NR_MSGTYPES = 0x58 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCINQ = 0x541b + SIOCOUTQ = 0x5411 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x10 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 + SO_RCVTIMEO = 0x14 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x13 + SO_SNDTIMEO = 0x15 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x540b + TCGETA = 0x5405 + TCGETS = 0x5401 + TCGETS2 = 0x802c542a + TCGETX = 0x5432 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSBRKP = 0x5425 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETS2 = 0x402c542b + TCSETSF = 0x5404 + TCSETSF2 = 0x402c542d + TCSETSW = 0x5403 + TCSETSW2 = 0x402c542c + TCSETX = 0x5433 + TCSETXF = 0x5434 + TCSETXW = 0x5435 + TCXONC = 0x540a + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x80045432 + TIOCGETD = 0x5424 + TIOCGEXCL = 0x80045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x80285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x540f + TIOCGPKT = 0x80045438 + TIOCGPTLCK = 0x80045439 + TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x5413 + TIOCINQ = 0x541b + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x5411 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x5423 + TIOCSIG = 0x40045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x5410 + TIOCSPTLCK = 0x40045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTI = 0x5412 + TIOCSWINSZ = 0x5414 + TIOCVHANGUP = 0x5437 + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x100 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = -0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x401054d5 + TUNDETACHFILTER = 0x401054d6 + TUNGETFEATURES = 0x800454cf + TUNGETFILTER = 0x801054db + TUNGETIFF = 0x800454d2 + TUNGETSNDBUF = 0x800454d3 + TUNGETVNETBE = 0x800454df + TUNGETVNETHDRSZ = 0x800454d7 + TUNGETVNETLE = 0x800454dd + TUNSETDEBUG = 0x400454c9 + TUNSETFILTEREBPF = 0x800454e1 + TUNSETGROUP = 0x400454ce + TUNSETIFF = 0x400454ca + TUNSETIFINDEX = 0x400454da + TUNSETLINK = 0x400454cd + TUNSETNOCSUM = 0x400454c8 + TUNSETOFFLOAD = 0x400454d0 + TUNSETOWNER = 0x400454cc + TUNSETPERSIST = 0x400454cb + TUNSETQUEUE = 0x400454d9 + TUNSETSNDBUF = 0x400454d4 + TUNSETSTEERINGEBPF = 0x800454e0 + TUNSETTXFILTER = 0x400454d1 + TUNSETVNETBE = 0x400454de + TUNSETVNETHDRSZ = 0x400454d8 + TUNSETVNETLE = 0x400454dc + UBI_IOCATT = 0x40186f40 + UBI_IOCDET = 0x40046f41 + UBI_IOCEBCH = 0x40044f02 + UBI_IOCEBER = 0x40044f01 + UBI_IOCEBISMAP = 0x80044f05 + UBI_IOCEBMAP = 0x40084f03 + UBI_IOCEBUNMAP = 0x40044f04 + UBI_IOCMKVOL = 0x40986f00 + UBI_IOCRMVOL = 0x40046f01 + UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRSVOL = 0x400c6f02 + UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCVOLCRBLK = 0x40804f07 + UBI_IOCVOLRMBLK = 0x4f08 + UBI_IOCVOLUP = 0x40084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x6 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x80045702 + WDIOC_GETPRETIMEOUT = 0x80045709 + WDIOC_GETSTATUS = 0x80045701 + WDIOC_GETSUPPORT = 0x80285700 + WDIOC_GETTEMP = 0x80045703 + WDIOC_GETTIMELEFT = 0x8004570a + WDIOC_GETTIMEOUT = 0x80045707 + WDIOC_KEEPALIVE = 0x80045705 + WDIOC_SETOPTIONS = 0x80045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x23) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go new file mode 100644 index 000000000..f1ef82f57 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go @@ -0,0 +1,2788 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x80041270 + BLKBSZSET = 0x40041271 + BLKFLSBUF = 0x1261 + BLKFRAGET = 0x1265 + BLKFRASET = 0x1264 + BLKGETSIZE = 0x1260 + BLKGETSIZE64 = 0x80041272 + BLKPBSZGET = 0x127b + BLKRAGET = 0x1263 + BLKRASET = 0x1262 + BLKROGET = 0x125e + BLKROSET = 0x125d + BLKRRPART = 0x125f + BLKSECTGET = 0x1267 + BLKSECTSET = 0x1266 + BLKSSZGET = 0x1268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_OR = 0x40 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x1000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x3 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0xc + F_GETLK64 = 0xc + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0xd + F_SETLK64 = 0xd + F_SETLKW = 0xe + F_SETLKW64 = 0xe + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x2000 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x4000 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x20000 + MAP_SYNC = 0x80000 + MAP_TYPE = 0xf + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x3 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x4000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x20000 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x8000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x404000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x2401 + PERF_EVENT_IOC_ENABLE = 0x2400 + PERF_EVENT_IOC_ID = 0x80042407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4004240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 + PERF_EVENT_IOC_PERIOD = 0x40082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc004240a + PERF_EVENT_IOC_REFRESH = 0x2402 + PERF_EVENT_IOC_RESET = 0x2403 + PERF_EVENT_IOC_SET_BPF = 0x40042408 + PERF_EVENT_IOC_SET_FILTER = 0x40042406 + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 + PPPIOCGASYNCMAP = 0x80047458 + PPPIOCGCHAN = 0x80047437 + PPPIOCGDEBUG = 0x80047441 + PPPIOCGFLAGS = 0x8004745a + PPPIOCGIDLE = 0x8008743f + PPPIOCGL2TPSTATS = 0x80487436 + PPPIOCGMRU = 0x80047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x80047455 + PPPIOCGUNIT = 0x80047456 + PPPIOCGXASYNCMAP = 0x80207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x40087446 + PPPIOCSASYNCMAP = 0x40047457 + PPPIOCSCOMPRESS = 0x400c744d + PPPIOCSDEBUG = 0x40047440 + PPPIOCSFLAGS = 0x40047459 + PPPIOCSMAXCID = 0x40047451 + PPPIOCSMRRU = 0x4004743b + PPPIOCSMRU = 0x40047452 + PPPIOCSNPMODE = 0x4008744b + PPPIOCSPASS = 0x40087447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f + PPPIOCXFERUNIT = 0x744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETCRUNCHREGS = 0x19 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFDPIC = 0x1f + PTRACE_GETFDPIC_EXEC = 0x0 + PTRACE_GETFDPIC_INTERP = 0x1 + PTRACE_GETFPREGS = 0xe + PTRACE_GETHBPREGS = 0x1d + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GETVFPREGS = 0x1b + PTRACE_GETWMMXREGS = 0x12 + PTRACE_GET_THREAD_AREA = 0x16 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETCRUNCHREGS = 0x1a + PTRACE_SETFPREGS = 0xf + PTRACE_SETHBPREGS = 0x1e + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SETVFPREGS = 0x1c + PTRACE_SETWMMXREGS = 0x13 + PTRACE_SET_SYSCALL = 0x17 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_TRACEME = 0x0 + PT_DATA_ADDR = 0x10004 + PT_TEXT_ADDR = 0x10000 + PT_TEXT_END_ADDR = 0x10008 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x40085203 + RNDADDTOENTCNT = 0x40045201 + RNDCLEARPOOL = 0x5206 + RNDGETENTCNT = 0x80045200 + RNDGETPOOL = 0x80085202 + RNDRESEEDCRNG = 0x5207 + RNDZAPENTCNT = 0x5204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1d + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x7002 + RTC_AIE_ON = 0x7001 + RTC_ALM_READ = 0x80247008 + RTC_ALM_SET = 0x40247007 + RTC_EPOCH_READ = 0x8004700d + RTC_EPOCH_SET = 0x4004700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x8004700b + RTC_IRQP_SET = 0x4004700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x801c7011 + RTC_PLL_SET = 0x401c7012 + RTC_RD_TIME = 0x80247009 + RTC_SET_TIME = 0x4024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x7004 + RTC_UIE_ON = 0x7003 + RTC_VL_CLR = 0x7014 + RTC_VL_READ = 0x80047013 + RTC_WIE_OFF = 0x7010 + RTC_WIE_ON = 0x700f + RTC_WKALM_RD = 0x80287010 + RTC_WKALM_SET = 0x4028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x67 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x16 + RTM_NR_MSGTYPES = 0x58 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCINQ = 0x541b + SIOCOUTQ = 0x5411 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x10 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 + SO_RCVTIMEO = 0x14 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x13 + SO_SNDTIMEO = 0x15 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x540b + TCGETA = 0x5405 + TCGETS = 0x5401 + TCGETS2 = 0x802c542a + TCGETX = 0x5432 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSBRKP = 0x5425 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETS2 = 0x402c542b + TCSETSF = 0x5404 + TCSETSF2 = 0x402c542d + TCSETSW = 0x5403 + TCSETSW2 = 0x402c542c + TCSETX = 0x5433 + TCSETXF = 0x5434 + TCSETXW = 0x5435 + TCXONC = 0x540a + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x80045432 + TIOCGETD = 0x5424 + TIOCGEXCL = 0x80045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x80285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x540f + TIOCGPKT = 0x80045438 + TIOCGPTLCK = 0x80045439 + TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x5413 + TIOCINQ = 0x541b + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x5411 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x5423 + TIOCSIG = 0x40045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x5410 + TIOCSPTLCK = 0x40045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTI = 0x5412 + TIOCSWINSZ = 0x5414 + TIOCVHANGUP = 0x5437 + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x100 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = -0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x400854d5 + TUNDETACHFILTER = 0x400854d6 + TUNGETFEATURES = 0x800454cf + TUNGETFILTER = 0x800854db + TUNGETIFF = 0x800454d2 + TUNGETSNDBUF = 0x800454d3 + TUNGETVNETBE = 0x800454df + TUNGETVNETHDRSZ = 0x800454d7 + TUNGETVNETLE = 0x800454dd + TUNSETDEBUG = 0x400454c9 + TUNSETFILTEREBPF = 0x800454e1 + TUNSETGROUP = 0x400454ce + TUNSETIFF = 0x400454ca + TUNSETIFINDEX = 0x400454da + TUNSETLINK = 0x400454cd + TUNSETNOCSUM = 0x400454c8 + TUNSETOFFLOAD = 0x400454d0 + TUNSETOWNER = 0x400454cc + TUNSETPERSIST = 0x400454cb + TUNSETQUEUE = 0x400454d9 + TUNSETSNDBUF = 0x400454d4 + TUNSETSTEERINGEBPF = 0x800454e0 + TUNSETTXFILTER = 0x400454d1 + TUNSETVNETBE = 0x400454de + TUNSETVNETHDRSZ = 0x400454d8 + TUNSETVNETLE = 0x400454dc + UBI_IOCATT = 0x40186f40 + UBI_IOCDET = 0x40046f41 + UBI_IOCEBCH = 0x40044f02 + UBI_IOCEBER = 0x40044f01 + UBI_IOCEBISMAP = 0x80044f05 + UBI_IOCEBMAP = 0x40084f03 + UBI_IOCEBUNMAP = 0x40044f04 + UBI_IOCMKVOL = 0x40986f00 + UBI_IOCRMVOL = 0x40046f01 + UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRSVOL = 0x400c6f02 + UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCVOLCRBLK = 0x40804f07 + UBI_IOCVOLRMBLK = 0x4f08 + UBI_IOCVOLUP = 0x40084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x6 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x80045702 + WDIOC_GETPRETIMEOUT = 0x80045709 + WDIOC_GETSTATUS = 0x80045701 + WDIOC_GETSUPPORT = 0x80285700 + WDIOC_GETTEMP = 0x80045703 + WDIOC_GETTIMELEFT = 0x8004570a + WDIOC_GETTIMEOUT = 0x80045707 + WDIOC_KEEPALIVE = 0x80045705 + WDIOC_SETOPTIONS = 0x80045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x20 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x23) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go new file mode 100644 index 000000000..cf17c9906 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go @@ -0,0 +1,2773 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include -fsigned-char +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x80081270 + BLKBSZSET = 0x40081271 + BLKFLSBUF = 0x1261 + BLKFRAGET = 0x1265 + BLKFRASET = 0x1264 + BLKGETSIZE = 0x1260 + BLKGETSIZE64 = 0x80081272 + BLKPBSZGET = 0x127b + BLKRAGET = 0x1263 + BLKRASET = 0x1262 + BLKROGET = 0x125e + BLKROSET = 0x125d + BLKRRPART = 0x125f + BLKSECTGET = 0x1267 + BLKSECTSET = 0x1266 + BLKSSZGET = 0x1268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_OR = 0x40 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ESR_MAGIC = 0x45535201 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + EXTRA_MAGIC = 0x45585401 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x1000 + FPSIMD_MAGIC = 0x46508001 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x3 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x5 + F_GETLK64 = 0x5 + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x2000 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x4000 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x20000 + MAP_SYNC = 0x80000 + MAP_TYPE = 0xf + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x3 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x10000 + O_DIRECTORY = 0x4000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x0 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x8000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x404000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x2401 + PERF_EVENT_IOC_ENABLE = 0x2400 + PERF_EVENT_IOC_ID = 0x80082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 + PERF_EVENT_IOC_PERIOD = 0x40082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x2402 + PERF_EVENT_IOC_RESET = 0x2403 + PERF_EVENT_IOC_SET_BPF = 0x40042408 + PERF_EVENT_IOC_SET_FILTER = 0x40082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 + PPPIOCGASYNCMAP = 0x80047458 + PPPIOCGCHAN = 0x80047437 + PPPIOCGDEBUG = 0x80047441 + PPPIOCGFLAGS = 0x8004745a + PPPIOCGIDLE = 0x8010743f + PPPIOCGL2TPSTATS = 0x80487436 + PPPIOCGMRU = 0x80047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x80047455 + PPPIOCGUNIT = 0x80047456 + PPPIOCGXASYNCMAP = 0x80207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x40107446 + PPPIOCSASYNCMAP = 0x40047457 + PPPIOCSCOMPRESS = 0x4010744d + PPPIOCSDEBUG = 0x40047440 + PPPIOCSFLAGS = 0x40047459 + PPPIOCSMAXCID = 0x40047451 + PPPIOCSMRRU = 0x4004743b + PPPIOCSMRU = 0x40047452 + PPPIOCSNPMODE = 0x4008744b + PPPIOCSPASS = 0x40107447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f + PPPIOCXFERUNIT = 0x744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_TRACEME = 0x0 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x40085203 + RNDADDTOENTCNT = 0x40045201 + RNDCLEARPOOL = 0x5206 + RNDGETENTCNT = 0x80045200 + RNDGETPOOL = 0x80085202 + RNDRESEEDCRNG = 0x5207 + RNDZAPENTCNT = 0x5204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1d + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x7002 + RTC_AIE_ON = 0x7001 + RTC_ALM_READ = 0x80247008 + RTC_ALM_SET = 0x40247007 + RTC_EPOCH_READ = 0x8008700d + RTC_EPOCH_SET = 0x4008700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x8008700b + RTC_IRQP_SET = 0x4008700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x80207011 + RTC_PLL_SET = 0x40207012 + RTC_RD_TIME = 0x80247009 + RTC_SET_TIME = 0x4024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x7004 + RTC_UIE_ON = 0x7003 + RTC_VL_CLR = 0x7014 + RTC_VL_READ = 0x80047013 + RTC_WIE_OFF = 0x7010 + RTC_WIE_ON = 0x700f + RTC_WKALM_RD = 0x80287010 + RTC_WKALM_SET = 0x4028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x67 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x16 + RTM_NR_MSGTYPES = 0x58 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCINQ = 0x541b + SIOCOUTQ = 0x5411 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x10 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 + SO_RCVTIMEO = 0x14 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x13 + SO_SNDTIMEO = 0x15 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SVE_MAGIC = 0x53564501 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x540b + TCGETA = 0x5405 + TCGETS = 0x5401 + TCGETS2 = 0x802c542a + TCGETX = 0x5432 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSBRKP = 0x5425 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETS2 = 0x402c542b + TCSETSF = 0x5404 + TCSETSF2 = 0x402c542d + TCSETSW = 0x5403 + TCSETSW2 = 0x402c542c + TCSETX = 0x5433 + TCSETXF = 0x5434 + TCSETXW = 0x5435 + TCXONC = 0x540a + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x80045432 + TIOCGETD = 0x5424 + TIOCGEXCL = 0x80045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x80285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x540f + TIOCGPKT = 0x80045438 + TIOCGPTLCK = 0x80045439 + TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x5413 + TIOCINQ = 0x541b + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x5411 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x5423 + TIOCSIG = 0x40045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x5410 + TIOCSPTLCK = 0x40045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTI = 0x5412 + TIOCSWINSZ = 0x5414 + TIOCVHANGUP = 0x5437 + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x100 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = -0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x401054d5 + TUNDETACHFILTER = 0x401054d6 + TUNGETFEATURES = 0x800454cf + TUNGETFILTER = 0x801054db + TUNGETIFF = 0x800454d2 + TUNGETSNDBUF = 0x800454d3 + TUNGETVNETBE = 0x800454df + TUNGETVNETHDRSZ = 0x800454d7 + TUNGETVNETLE = 0x800454dd + TUNSETDEBUG = 0x400454c9 + TUNSETFILTEREBPF = 0x800454e1 + TUNSETGROUP = 0x400454ce + TUNSETIFF = 0x400454ca + TUNSETIFINDEX = 0x400454da + TUNSETLINK = 0x400454cd + TUNSETNOCSUM = 0x400454c8 + TUNSETOFFLOAD = 0x400454d0 + TUNSETOWNER = 0x400454cc + TUNSETPERSIST = 0x400454cb + TUNSETQUEUE = 0x400454d9 + TUNSETSNDBUF = 0x400454d4 + TUNSETSTEERINGEBPF = 0x800454e0 + TUNSETTXFILTER = 0x400454d1 + TUNSETVNETBE = 0x400454de + TUNSETVNETHDRSZ = 0x400454d8 + TUNSETVNETLE = 0x400454dc + UBI_IOCATT = 0x40186f40 + UBI_IOCDET = 0x40046f41 + UBI_IOCEBCH = 0x40044f02 + UBI_IOCEBER = 0x40044f01 + UBI_IOCEBISMAP = 0x80044f05 + UBI_IOCEBMAP = 0x40084f03 + UBI_IOCEBUNMAP = 0x40044f04 + UBI_IOCMKVOL = 0x40986f00 + UBI_IOCRMVOL = 0x40046f01 + UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRSVOL = 0x400c6f02 + UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCVOLCRBLK = 0x40804f07 + UBI_IOCVOLRMBLK = 0x4f08 + UBI_IOCVOLUP = 0x40084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x6 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x80045702 + WDIOC_GETPRETIMEOUT = 0x80045709 + WDIOC_GETSTATUS = 0x80045701 + WDIOC_GETSUPPORT = 0x80285700 + WDIOC_GETTEMP = 0x80045703 + WDIOC_GETTIMELEFT = 0x8004570a + WDIOC_GETTIMEOUT = 0x80045707 + WDIOC_KEEPALIVE = 0x80045705 + WDIOC_SETOPTIONS = 0x80045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x23) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go new file mode 100644 index 000000000..380913c4f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go @@ -0,0 +1,2789 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x40041270 + BLKBSZSET = 0x80041271 + BLKFLSBUF = 0x20001261 + BLKFRAGET = 0x20001265 + BLKFRASET = 0x20001264 + BLKGETSIZE = 0x20001260 + BLKGETSIZE64 = 0x40041272 + BLKPBSZGET = 0x2000127b + BLKRAGET = 0x20001263 + BLKRASET = 0x20001262 + BLKROGET = 0x2000125e + BLKROSET = 0x2000125d + BLKRRPART = 0x2000125f + BLKSECTGET = 0x20001267 + BLKSECTSET = 0x20001266 + BLKSSZGET = 0x20001268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_OR = 0x40 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x80 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x2000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x3 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x21 + F_GETLK64 = 0x21 + F_GETOWN = 0x17 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x22 + F_SETLK64 = 0x22 + F_SETLKW = 0x23 + F_SETLKW64 = 0x23 + F_SETOWN = 0x18 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x100 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x80 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x800 + MAP_ANONYMOUS = 0x800 + MAP_DENYWRITE = 0x2000 + MAP_EXECUTABLE = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x1000 + MAP_HUGETLB = 0x80000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x8000 + MAP_NONBLOCK = 0x20000 + MAP_NORESERVE = 0x400 + MAP_POPULATE = 0x10000 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x800 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x40000 + MAP_TYPE = 0xf + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x3 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x1000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x100 + O_DIRECT = 0x8000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x10 + O_EXCL = 0x400 + O_FSYNC = 0x4010 + O_LARGEFILE = 0x2000 + O_NDELAY = 0x80 + O_NOATIME = 0x40000 + O_NOCTTY = 0x800 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x80 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x4010 + O_SYNC = 0x4010 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40042407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8004240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc004240a + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80042406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 + PPPIOCGASYNCMAP = 0x40047458 + PPPIOCGCHAN = 0x40047437 + PPPIOCGDEBUG = 0x40047441 + PPPIOCGFLAGS = 0x4004745a + PPPIOCGIDLE = 0x4008743f + PPPIOCGL2TPSTATS = 0x40487436 + PPPIOCGMRU = 0x40047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x40047455 + PPPIOCGUNIT = 0x40047456 + PPPIOCGXASYNCMAP = 0x40207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x80087446 + PPPIOCSASYNCMAP = 0x80047457 + PPPIOCSCOMPRESS = 0x800c744d + PPPIOCSDEBUG = 0x80047440 + PPPIOCSFLAGS = 0x80047459 + PPPIOCSMAXCID = 0x80047451 + PPPIOCSMRRU = 0x8004743b + PPPIOCSMRU = 0x80047452 + PPPIOCSNPMODE = 0x8008744b + PPPIOCSPASS = 0x80087447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f + PPPIOCXFERUNIT = 0x2000744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFPREGS = 0xe + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_GET_THREAD_AREA_3264 = 0xc4 + PTRACE_GET_WATCH_REGS = 0xd0 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKDATA_3264 = 0xc1 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKTEXT_3264 = 0xc0 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKEDATA_3264 = 0xc3 + PTRACE_POKETEXT = 0x4 + PTRACE_POKETEXT_3264 = 0xc2 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETFPREGS = 0xf + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SET_WATCH_REGS = 0xd1 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_TRACEME = 0x0 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x6 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x9 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x5 + RLIMIT_NPROC = 0x8 + RLIMIT_RSS = 0x7 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x80085203 + RNDADDTOENTCNT = 0x80045201 + RNDCLEARPOOL = 0x20005206 + RNDGETENTCNT = 0x40045200 + RNDGETPOOL = 0x40085202 + RNDRESEEDCRNG = 0x20005207 + RNDZAPENTCNT = 0x20005204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1d + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x20007002 + RTC_AIE_ON = 0x20007001 + RTC_ALM_READ = 0x40247008 + RTC_ALM_SET = 0x80247007 + RTC_EPOCH_READ = 0x4004700d + RTC_EPOCH_SET = 0x8004700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x4004700b + RTC_IRQP_SET = 0x8004700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x401c7011 + RTC_PLL_SET = 0x801c7012 + RTC_RD_TIME = 0x40247009 + RTC_SET_TIME = 0x8024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x20007004 + RTC_UIE_ON = 0x20007003 + RTC_VL_CLR = 0x20007014 + RTC_VL_READ = 0x40047013 + RTC_WIE_OFF = 0x20007010 + RTC_WIE_ON = 0x2000700f + RTC_WKALM_RD = 0x40287010 + RTC_WKALM_SET = 0x8028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x67 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x16 + RTM_NR_MSGTYPES = 0x58 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x80 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x40047307 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x40047309 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCINQ = 0x467f + SIOCOUTQ = 0x7472 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x80047308 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x1 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x80 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x2 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0xffff + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1009 + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x1029 + SO_DONTROUTE = 0x10 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x1007 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0x100 + SO_PASSCRED = 0x11 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x12 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1e + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x1001 + SO_SNDBUFFORCE = 0x1f + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_STYLE = 0x1008 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TXTIME = 0x3d + SO_TYPE = 0x1008 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x5407 + TCGETA = 0x5401 + TCGETS = 0x540d + TCGETS2 = 0x4030542a + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x5410 + TCSBRK = 0x5405 + TCSBRKP = 0x5486 + TCSETA = 0x5402 + TCSETAF = 0x5404 + TCSETAW = 0x5403 + TCSETS = 0x540e + TCSETS2 = 0x8030542b + TCSETSF = 0x5410 + TCSETSF2 = 0x8030542d + TCSETSW = 0x540f + TCSETSW2 = 0x8030542c + TCXONC = 0x5406 + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x80047478 + TIOCEXCL = 0x740d + TIOCGDEV = 0x40045432 + TIOCGETD = 0x7400 + TIOCGETP = 0x7408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x5492 + TIOCGISO7816 = 0x40285442 + TIOCGLCKTRMIOS = 0x548b + TIOCGLTC = 0x7474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x4020542e + TIOCGSERIAL = 0x5484 + TIOCGSID = 0x7416 + TIOCGSOFTCAR = 0x5481 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x467f + TIOCLINUX = 0x5483 + TIOCMBIC = 0x741c + TIOCMBIS = 0x741b + TIOCMGET = 0x741d + TIOCMIWAIT = 0x5491 + TIOCMSET = 0x741a + TIOCM_CAR = 0x100 + TIOCM_CD = 0x100 + TIOCM_CTS = 0x40 + TIOCM_DSR = 0x400 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x200 + TIOCM_RNG = 0x200 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x20 + TIOCM_ST = 0x10 + TIOCNOTTY = 0x5471 + TIOCNXCL = 0x740e + TIOCOUTQ = 0x7472 + TIOCPKT = 0x5470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x5480 + TIOCSERCONFIG = 0x5488 + TIOCSERGETLSR = 0x548e + TIOCSERGETMULTI = 0x548f + TIOCSERGSTRUCT = 0x548d + TIOCSERGWILD = 0x5489 + TIOCSERSETMULTI = 0x5490 + TIOCSERSWILD = 0x548a + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x7401 + TIOCSETN = 0x740a + TIOCSETP = 0x7409 + TIOCSIG = 0x80045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x548c + TIOCSLTC = 0x7475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0xc020542f + TIOCSSERIAL = 0x5485 + TIOCSSOFTCAR = 0x5482 + TIOCSTI = 0x5472 + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x8000 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = -0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x800854d5 + TUNDETACHFILTER = 0x800854d6 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x400854db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETDEBUG = 0x800454c9 + TUNSETFILTEREBPF = 0x400454e1 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETSTEERINGEBPF = 0x400454e0 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UBI_IOCATT = 0x80186f40 + UBI_IOCDET = 0x80046f41 + UBI_IOCEBCH = 0x80044f02 + UBI_IOCEBER = 0x80044f01 + UBI_IOCEBISMAP = 0x40044f05 + UBI_IOCEBMAP = 0x80084f03 + UBI_IOCEBUNMAP = 0x80044f04 + UBI_IOCMKVOL = 0x80986f00 + UBI_IOCRMVOL = 0x80046f01 + UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRSVOL = 0x800c6f02 + UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCVOLCRBLK = 0x80804f07 + UBI_IOCVOLRMBLK = 0x20004f08 + UBI_IOCVOLUP = 0x80084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x10 + VEOL = 0x11 + VEOL2 = 0x6 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x4 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VSWTCH = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x40045702 + WDIOC_GETPRETIMEOUT = 0x40045709 + WDIOC_GETSTATUS = 0x40045701 + WDIOC_GETSUPPORT = 0x40285700 + WDIOC_GETTEMP = 0x40045703 + WDIOC_GETTIMELEFT = 0x4004570a + WDIOC_GETTIMEOUT = 0x40045707 + WDIOC_KEEPALIVE = 0x40045705 + WDIOC_SETOPTIONS = 0x40045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x20 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x7d) + EADDRNOTAVAIL = syscall.Errno(0x7e) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x7c) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x95) + EBADE = syscall.Errno(0x32) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x51) + EBADMSG = syscall.Errno(0x4d) + EBADR = syscall.Errno(0x33) + EBADRQC = syscall.Errno(0x36) + EBADSLT = syscall.Errno(0x37) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x9e) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x25) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x82) + ECONNREFUSED = syscall.Errno(0x92) + ECONNRESET = syscall.Errno(0x83) + EDEADLK = syscall.Errno(0x2d) + EDEADLOCK = syscall.Errno(0x38) + EDESTADDRREQ = syscall.Errno(0x60) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x46d) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x93) + EHOSTUNREACH = syscall.Errno(0x94) + EHWPOISON = syscall.Errno(0xa8) + EIDRM = syscall.Errno(0x24) + EILSEQ = syscall.Errno(0x58) + EINIT = syscall.Errno(0x8d) + EINPROGRESS = syscall.Errno(0x96) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x85) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x8b) + EKEYEXPIRED = syscall.Errno(0xa2) + EKEYREJECTED = syscall.Errno(0xa4) + EKEYREVOKED = syscall.Errno(0xa3) + EL2HLT = syscall.Errno(0x2c) + EL2NSYNC = syscall.Errno(0x26) + EL3HLT = syscall.Errno(0x27) + EL3RST = syscall.Errno(0x28) + ELIBACC = syscall.Errno(0x53) + ELIBBAD = syscall.Errno(0x54) + ELIBEXEC = syscall.Errno(0x57) + ELIBMAX = syscall.Errno(0x56) + ELIBSCN = syscall.Errno(0x55) + ELNRNG = syscall.Errno(0x29) + ELOOP = syscall.Errno(0x5a) + EMEDIUMTYPE = syscall.Errno(0xa0) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x61) + EMULTIHOP = syscall.Errno(0x4a) + ENAMETOOLONG = syscall.Errno(0x4e) + ENAVAIL = syscall.Errno(0x8a) + ENETDOWN = syscall.Errno(0x7f) + ENETRESET = syscall.Errno(0x81) + ENETUNREACH = syscall.Errno(0x80) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x35) + ENOBUFS = syscall.Errno(0x84) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0xa1) + ENOLCK = syscall.Errno(0x2e) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x9f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x23) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x63) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x59) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x86) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x5d) + ENOTNAM = syscall.Errno(0x89) + ENOTRECOVERABLE = syscall.Errno(0xa6) + ENOTSOCK = syscall.Errno(0x5f) + ENOTSUP = syscall.Errno(0x7a) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x50) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x7a) + EOVERFLOW = syscall.Errno(0x4f) + EOWNERDEAD = syscall.Errno(0xa5) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x7b) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x78) + EPROTOTYPE = syscall.Errno(0x62) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x52) + EREMDEV = syscall.Errno(0x8e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x8c) + ERESTART = syscall.Errno(0x5b) + ERFKILL = syscall.Errno(0xa7) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x8f) + ESOCKTNOSUPPORT = syscall.Errno(0x79) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x97) + ESTRPIPE = syscall.Errno(0x5c) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x91) + ETOOMANYREFS = syscall.Errno(0x90) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x87) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x5e) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x34) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x12) + SIGCLD = syscall.Signal(0x12) + SIGCONT = syscall.Signal(0x19) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x16) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x16) + SIGPROF = syscall.Signal(0x1d) + SIGPWR = syscall.Signal(0x13) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x17) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x18) + SIGTTIN = syscall.Signal(0x1a) + SIGTTOU = syscall.Signal(0x1b) + SIGURG = syscall.Signal(0x15) + SIGUSR1 = syscall.Signal(0x10) + SIGUSR2 = syscall.Signal(0x11) + SIGVTALRM = syscall.Signal(0x1c) + SIGWINCH = syscall.Signal(0x14) + SIGXCPU = syscall.Signal(0x1e) + SIGXFSZ = syscall.Signal(0x1f) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "ENOMSG", "no message of desired type"}, + {36, "EIDRM", "identifier removed"}, + {37, "ECHRNG", "channel number out of range"}, + {38, "EL2NSYNC", "level 2 not synchronized"}, + {39, "EL3HLT", "level 3 halted"}, + {40, "EL3RST", "level 3 reset"}, + {41, "ELNRNG", "link number out of range"}, + {42, "EUNATCH", "protocol driver not attached"}, + {43, "ENOCSI", "no CSI structure available"}, + {44, "EL2HLT", "level 2 halted"}, + {45, "EDEADLK", "resource deadlock avoided"}, + {46, "ENOLCK", "no locks available"}, + {50, "EBADE", "invalid exchange"}, + {51, "EBADR", "invalid request descriptor"}, + {52, "EXFULL", "exchange full"}, + {53, "ENOANO", "no anode"}, + {54, "EBADRQC", "invalid request code"}, + {55, "EBADSLT", "invalid slot"}, + {56, "EDEADLOCK", "file locking deadlock error"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EMULTIHOP", "multihop attempted"}, + {77, "EBADMSG", "bad message"}, + {78, "ENAMETOOLONG", "file name too long"}, + {79, "EOVERFLOW", "value too large for defined data type"}, + {80, "ENOTUNIQ", "name not unique on network"}, + {81, "EBADFD", "file descriptor in bad state"}, + {82, "EREMCHG", "remote address changed"}, + {83, "ELIBACC", "can not access a needed shared library"}, + {84, "ELIBBAD", "accessing a corrupted shared library"}, + {85, "ELIBSCN", ".lib section in a.out corrupted"}, + {86, "ELIBMAX", "attempting to link in too many shared libraries"}, + {87, "ELIBEXEC", "cannot exec a shared library directly"}, + {88, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {89, "ENOSYS", "function not implemented"}, + {90, "ELOOP", "too many levels of symbolic links"}, + {91, "ERESTART", "interrupted system call should be restarted"}, + {92, "ESTRPIPE", "streams pipe error"}, + {93, "ENOTEMPTY", "directory not empty"}, + {94, "EUSERS", "too many users"}, + {95, "ENOTSOCK", "socket operation on non-socket"}, + {96, "EDESTADDRREQ", "destination address required"}, + {97, "EMSGSIZE", "message too long"}, + {98, "EPROTOTYPE", "protocol wrong type for socket"}, + {99, "ENOPROTOOPT", "protocol not available"}, + {120, "EPROTONOSUPPORT", "protocol not supported"}, + {121, "ESOCKTNOSUPPORT", "socket type not supported"}, + {122, "ENOTSUP", "operation not supported"}, + {123, "EPFNOSUPPORT", "protocol family not supported"}, + {124, "EAFNOSUPPORT", "address family not supported by protocol"}, + {125, "EADDRINUSE", "address already in use"}, + {126, "EADDRNOTAVAIL", "cannot assign requested address"}, + {127, "ENETDOWN", "network is down"}, + {128, "ENETUNREACH", "network is unreachable"}, + {129, "ENETRESET", "network dropped connection on reset"}, + {130, "ECONNABORTED", "software caused connection abort"}, + {131, "ECONNRESET", "connection reset by peer"}, + {132, "ENOBUFS", "no buffer space available"}, + {133, "EISCONN", "transport endpoint is already connected"}, + {134, "ENOTCONN", "transport endpoint is not connected"}, + {135, "EUCLEAN", "structure needs cleaning"}, + {137, "ENOTNAM", "not a XENIX named type file"}, + {138, "ENAVAIL", "no XENIX semaphores available"}, + {139, "EISNAM", "is a named type file"}, + {140, "EREMOTEIO", "remote I/O error"}, + {141, "EINIT", "unknown error 141"}, + {142, "EREMDEV", "unknown error 142"}, + {143, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {144, "ETOOMANYREFS", "too many references: cannot splice"}, + {145, "ETIMEDOUT", "connection timed out"}, + {146, "ECONNREFUSED", "connection refused"}, + {147, "EHOSTDOWN", "host is down"}, + {148, "EHOSTUNREACH", "no route to host"}, + {149, "EALREADY", "operation already in progress"}, + {150, "EINPROGRESS", "operation now in progress"}, + {151, "ESTALE", "stale file handle"}, + {158, "ECANCELED", "operation canceled"}, + {159, "ENOMEDIUM", "no medium found"}, + {160, "EMEDIUMTYPE", "wrong medium type"}, + {161, "ENOKEY", "required key not available"}, + {162, "EKEYEXPIRED", "key has expired"}, + {163, "EKEYREVOKED", "key has been revoked"}, + {164, "EKEYREJECTED", "key was rejected by service"}, + {165, "EOWNERDEAD", "owner died"}, + {166, "ENOTRECOVERABLE", "state not recoverable"}, + {167, "ERFKILL", "operation not possible due to RF-kill"}, + {168, "EHWPOISON", "memory page has hardware error"}, + {1133, "EDQUOT", "disk quota exceeded"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGUSR1", "user defined signal 1"}, + {17, "SIGUSR2", "user defined signal 2"}, + {18, "SIGCHLD", "child exited"}, + {19, "SIGPWR", "power failure"}, + {20, "SIGWINCH", "window changed"}, + {21, "SIGURG", "urgent I/O condition"}, + {22, "SIGIO", "I/O possible"}, + {23, "SIGSTOP", "stopped (signal)"}, + {24, "SIGTSTP", "stopped"}, + {25, "SIGCONT", "continued"}, + {26, "SIGTTIN", "stopped (tty input)"}, + {27, "SIGTTOU", "stopped (tty output)"}, + {28, "SIGVTALRM", "virtual timer expired"}, + {29, "SIGPROF", "profiling timer expired"}, + {30, "SIGXCPU", "CPU time limit exceeded"}, + {31, "SIGXFSZ", "file size limit exceeded"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go new file mode 100644 index 000000000..fb82529ac --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go @@ -0,0 +1,2789 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips64,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x40081270 + BLKBSZSET = 0x80081271 + BLKFLSBUF = 0x20001261 + BLKFRAGET = 0x20001265 + BLKFRASET = 0x20001264 + BLKGETSIZE = 0x20001260 + BLKGETSIZE64 = 0x40081272 + BLKPBSZGET = 0x2000127b + BLKRAGET = 0x20001263 + BLKRASET = 0x20001262 + BLKROGET = 0x2000125e + BLKROSET = 0x2000125d + BLKRRPART = 0x2000125f + BLKSECTGET = 0x20001267 + BLKSECTSET = 0x20001266 + BLKSSZGET = 0x20001268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_OR = 0x40 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x80 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x2000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x3 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0xe + F_GETLK64 = 0xe + F_GETOWN = 0x17 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETOWN = 0x18 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x100 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x80 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x800 + MAP_ANONYMOUS = 0x800 + MAP_DENYWRITE = 0x2000 + MAP_EXECUTABLE = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x1000 + MAP_HUGETLB = 0x80000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x8000 + MAP_NONBLOCK = 0x20000 + MAP_NORESERVE = 0x400 + MAP_POPULATE = 0x10000 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x800 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x40000 + MAP_TYPE = 0xf + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x3 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x1000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x100 + O_DIRECT = 0x8000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x10 + O_EXCL = 0x400 + O_FSYNC = 0x4010 + O_LARGEFILE = 0x0 + O_NDELAY = 0x80 + O_NOATIME = 0x40000 + O_NOCTTY = 0x800 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x80 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x4010 + O_SYNC = 0x4010 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 + PPPIOCGASYNCMAP = 0x40047458 + PPPIOCGCHAN = 0x40047437 + PPPIOCGDEBUG = 0x40047441 + PPPIOCGFLAGS = 0x4004745a + PPPIOCGIDLE = 0x4010743f + PPPIOCGL2TPSTATS = 0x40487436 + PPPIOCGMRU = 0x40047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x40047455 + PPPIOCGUNIT = 0x40047456 + PPPIOCGXASYNCMAP = 0x40207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x80107446 + PPPIOCSASYNCMAP = 0x80047457 + PPPIOCSCOMPRESS = 0x8010744d + PPPIOCSDEBUG = 0x80047440 + PPPIOCSFLAGS = 0x80047459 + PPPIOCSMAXCID = 0x80047451 + PPPIOCSMRRU = 0x8004743b + PPPIOCSMRU = 0x80047452 + PPPIOCSNPMODE = 0x8008744b + PPPIOCSPASS = 0x80107447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f + PPPIOCXFERUNIT = 0x2000744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFPREGS = 0xe + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_GET_THREAD_AREA_3264 = 0xc4 + PTRACE_GET_WATCH_REGS = 0xd0 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKDATA_3264 = 0xc1 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKTEXT_3264 = 0xc0 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKEDATA_3264 = 0xc3 + PTRACE_POKETEXT = 0x4 + PTRACE_POKETEXT_3264 = 0xc2 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETFPREGS = 0xf + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SET_WATCH_REGS = 0xd1 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_TRACEME = 0x0 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x6 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x9 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x5 + RLIMIT_NPROC = 0x8 + RLIMIT_RSS = 0x7 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x80085203 + RNDADDTOENTCNT = 0x80045201 + RNDCLEARPOOL = 0x20005206 + RNDGETENTCNT = 0x40045200 + RNDGETPOOL = 0x40085202 + RNDRESEEDCRNG = 0x20005207 + RNDZAPENTCNT = 0x20005204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1d + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x20007002 + RTC_AIE_ON = 0x20007001 + RTC_ALM_READ = 0x40247008 + RTC_ALM_SET = 0x80247007 + RTC_EPOCH_READ = 0x4008700d + RTC_EPOCH_SET = 0x8008700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x4008700b + RTC_IRQP_SET = 0x8008700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x40207011 + RTC_PLL_SET = 0x80207012 + RTC_RD_TIME = 0x40247009 + RTC_SET_TIME = 0x8024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x20007004 + RTC_UIE_ON = 0x20007003 + RTC_VL_CLR = 0x20007014 + RTC_VL_READ = 0x40047013 + RTC_WIE_OFF = 0x20007010 + RTC_WIE_ON = 0x2000700f + RTC_WKALM_RD = 0x40287010 + RTC_WKALM_SET = 0x8028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x67 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x16 + RTM_NR_MSGTYPES = 0x58 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x80 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x40047307 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x40047309 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCINQ = 0x467f + SIOCOUTQ = 0x7472 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x80047308 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x1 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x80 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x2 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0xffff + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1009 + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x1029 + SO_DONTROUTE = 0x10 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x1007 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0x100 + SO_PASSCRED = 0x11 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x12 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1e + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x1001 + SO_SNDBUFFORCE = 0x1f + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_STYLE = 0x1008 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TXTIME = 0x3d + SO_TYPE = 0x1008 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x5407 + TCGETA = 0x5401 + TCGETS = 0x540d + TCGETS2 = 0x4030542a + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x5410 + TCSBRK = 0x5405 + TCSBRKP = 0x5486 + TCSETA = 0x5402 + TCSETAF = 0x5404 + TCSETAW = 0x5403 + TCSETS = 0x540e + TCSETS2 = 0x8030542b + TCSETSF = 0x5410 + TCSETSF2 = 0x8030542d + TCSETSW = 0x540f + TCSETSW2 = 0x8030542c + TCXONC = 0x5406 + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x80047478 + TIOCEXCL = 0x740d + TIOCGDEV = 0x40045432 + TIOCGETD = 0x7400 + TIOCGETP = 0x7408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x5492 + TIOCGISO7816 = 0x40285442 + TIOCGLCKTRMIOS = 0x548b + TIOCGLTC = 0x7474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x4020542e + TIOCGSERIAL = 0x5484 + TIOCGSID = 0x7416 + TIOCGSOFTCAR = 0x5481 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x467f + TIOCLINUX = 0x5483 + TIOCMBIC = 0x741c + TIOCMBIS = 0x741b + TIOCMGET = 0x741d + TIOCMIWAIT = 0x5491 + TIOCMSET = 0x741a + TIOCM_CAR = 0x100 + TIOCM_CD = 0x100 + TIOCM_CTS = 0x40 + TIOCM_DSR = 0x400 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x200 + TIOCM_RNG = 0x200 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x20 + TIOCM_ST = 0x10 + TIOCNOTTY = 0x5471 + TIOCNXCL = 0x740e + TIOCOUTQ = 0x7472 + TIOCPKT = 0x5470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x5480 + TIOCSERCONFIG = 0x5488 + TIOCSERGETLSR = 0x548e + TIOCSERGETMULTI = 0x548f + TIOCSERGSTRUCT = 0x548d + TIOCSERGWILD = 0x5489 + TIOCSERSETMULTI = 0x5490 + TIOCSERSWILD = 0x548a + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x7401 + TIOCSETN = 0x740a + TIOCSETP = 0x7409 + TIOCSIG = 0x80045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x548c + TIOCSLTC = 0x7475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0xc020542f + TIOCSSERIAL = 0x5485 + TIOCSSOFTCAR = 0x5482 + TIOCSTI = 0x5472 + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x8000 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = -0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x801054d5 + TUNDETACHFILTER = 0x801054d6 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x401054db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETDEBUG = 0x800454c9 + TUNSETFILTEREBPF = 0x400454e1 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETSTEERINGEBPF = 0x400454e0 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UBI_IOCATT = 0x80186f40 + UBI_IOCDET = 0x80046f41 + UBI_IOCEBCH = 0x80044f02 + UBI_IOCEBER = 0x80044f01 + UBI_IOCEBISMAP = 0x40044f05 + UBI_IOCEBMAP = 0x80084f03 + UBI_IOCEBUNMAP = 0x80044f04 + UBI_IOCMKVOL = 0x80986f00 + UBI_IOCRMVOL = 0x80046f01 + UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRSVOL = 0x800c6f02 + UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCVOLCRBLK = 0x80804f07 + UBI_IOCVOLRMBLK = 0x20004f08 + UBI_IOCVOLUP = 0x80084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x10 + VEOL = 0x11 + VEOL2 = 0x6 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x4 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VSWTCH = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x40045702 + WDIOC_GETPRETIMEOUT = 0x40045709 + WDIOC_GETSTATUS = 0x40045701 + WDIOC_GETSUPPORT = 0x40285700 + WDIOC_GETTEMP = 0x40045703 + WDIOC_GETTIMELEFT = 0x4004570a + WDIOC_GETTIMEOUT = 0x40045707 + WDIOC_KEEPALIVE = 0x40045705 + WDIOC_SETOPTIONS = 0x40045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x7d) + EADDRNOTAVAIL = syscall.Errno(0x7e) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x7c) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x95) + EBADE = syscall.Errno(0x32) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x51) + EBADMSG = syscall.Errno(0x4d) + EBADR = syscall.Errno(0x33) + EBADRQC = syscall.Errno(0x36) + EBADSLT = syscall.Errno(0x37) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x9e) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x25) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x82) + ECONNREFUSED = syscall.Errno(0x92) + ECONNRESET = syscall.Errno(0x83) + EDEADLK = syscall.Errno(0x2d) + EDEADLOCK = syscall.Errno(0x38) + EDESTADDRREQ = syscall.Errno(0x60) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x46d) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x93) + EHOSTUNREACH = syscall.Errno(0x94) + EHWPOISON = syscall.Errno(0xa8) + EIDRM = syscall.Errno(0x24) + EILSEQ = syscall.Errno(0x58) + EINIT = syscall.Errno(0x8d) + EINPROGRESS = syscall.Errno(0x96) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x85) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x8b) + EKEYEXPIRED = syscall.Errno(0xa2) + EKEYREJECTED = syscall.Errno(0xa4) + EKEYREVOKED = syscall.Errno(0xa3) + EL2HLT = syscall.Errno(0x2c) + EL2NSYNC = syscall.Errno(0x26) + EL3HLT = syscall.Errno(0x27) + EL3RST = syscall.Errno(0x28) + ELIBACC = syscall.Errno(0x53) + ELIBBAD = syscall.Errno(0x54) + ELIBEXEC = syscall.Errno(0x57) + ELIBMAX = syscall.Errno(0x56) + ELIBSCN = syscall.Errno(0x55) + ELNRNG = syscall.Errno(0x29) + ELOOP = syscall.Errno(0x5a) + EMEDIUMTYPE = syscall.Errno(0xa0) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x61) + EMULTIHOP = syscall.Errno(0x4a) + ENAMETOOLONG = syscall.Errno(0x4e) + ENAVAIL = syscall.Errno(0x8a) + ENETDOWN = syscall.Errno(0x7f) + ENETRESET = syscall.Errno(0x81) + ENETUNREACH = syscall.Errno(0x80) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x35) + ENOBUFS = syscall.Errno(0x84) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0xa1) + ENOLCK = syscall.Errno(0x2e) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x9f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x23) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x63) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x59) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x86) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x5d) + ENOTNAM = syscall.Errno(0x89) + ENOTRECOVERABLE = syscall.Errno(0xa6) + ENOTSOCK = syscall.Errno(0x5f) + ENOTSUP = syscall.Errno(0x7a) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x50) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x7a) + EOVERFLOW = syscall.Errno(0x4f) + EOWNERDEAD = syscall.Errno(0xa5) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x7b) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x78) + EPROTOTYPE = syscall.Errno(0x62) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x52) + EREMDEV = syscall.Errno(0x8e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x8c) + ERESTART = syscall.Errno(0x5b) + ERFKILL = syscall.Errno(0xa7) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x8f) + ESOCKTNOSUPPORT = syscall.Errno(0x79) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x97) + ESTRPIPE = syscall.Errno(0x5c) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x91) + ETOOMANYREFS = syscall.Errno(0x90) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x87) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x5e) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x34) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x12) + SIGCLD = syscall.Signal(0x12) + SIGCONT = syscall.Signal(0x19) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x16) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x16) + SIGPROF = syscall.Signal(0x1d) + SIGPWR = syscall.Signal(0x13) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x17) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x18) + SIGTTIN = syscall.Signal(0x1a) + SIGTTOU = syscall.Signal(0x1b) + SIGURG = syscall.Signal(0x15) + SIGUSR1 = syscall.Signal(0x10) + SIGUSR2 = syscall.Signal(0x11) + SIGVTALRM = syscall.Signal(0x1c) + SIGWINCH = syscall.Signal(0x14) + SIGXCPU = syscall.Signal(0x1e) + SIGXFSZ = syscall.Signal(0x1f) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "ENOMSG", "no message of desired type"}, + {36, "EIDRM", "identifier removed"}, + {37, "ECHRNG", "channel number out of range"}, + {38, "EL2NSYNC", "level 2 not synchronized"}, + {39, "EL3HLT", "level 3 halted"}, + {40, "EL3RST", "level 3 reset"}, + {41, "ELNRNG", "link number out of range"}, + {42, "EUNATCH", "protocol driver not attached"}, + {43, "ENOCSI", "no CSI structure available"}, + {44, "EL2HLT", "level 2 halted"}, + {45, "EDEADLK", "resource deadlock avoided"}, + {46, "ENOLCK", "no locks available"}, + {50, "EBADE", "invalid exchange"}, + {51, "EBADR", "invalid request descriptor"}, + {52, "EXFULL", "exchange full"}, + {53, "ENOANO", "no anode"}, + {54, "EBADRQC", "invalid request code"}, + {55, "EBADSLT", "invalid slot"}, + {56, "EDEADLOCK", "file locking deadlock error"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EMULTIHOP", "multihop attempted"}, + {77, "EBADMSG", "bad message"}, + {78, "ENAMETOOLONG", "file name too long"}, + {79, "EOVERFLOW", "value too large for defined data type"}, + {80, "ENOTUNIQ", "name not unique on network"}, + {81, "EBADFD", "file descriptor in bad state"}, + {82, "EREMCHG", "remote address changed"}, + {83, "ELIBACC", "can not access a needed shared library"}, + {84, "ELIBBAD", "accessing a corrupted shared library"}, + {85, "ELIBSCN", ".lib section in a.out corrupted"}, + {86, "ELIBMAX", "attempting to link in too many shared libraries"}, + {87, "ELIBEXEC", "cannot exec a shared library directly"}, + {88, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {89, "ENOSYS", "function not implemented"}, + {90, "ELOOP", "too many levels of symbolic links"}, + {91, "ERESTART", "interrupted system call should be restarted"}, + {92, "ESTRPIPE", "streams pipe error"}, + {93, "ENOTEMPTY", "directory not empty"}, + {94, "EUSERS", "too many users"}, + {95, "ENOTSOCK", "socket operation on non-socket"}, + {96, "EDESTADDRREQ", "destination address required"}, + {97, "EMSGSIZE", "message too long"}, + {98, "EPROTOTYPE", "protocol wrong type for socket"}, + {99, "ENOPROTOOPT", "protocol not available"}, + {120, "EPROTONOSUPPORT", "protocol not supported"}, + {121, "ESOCKTNOSUPPORT", "socket type not supported"}, + {122, "ENOTSUP", "operation not supported"}, + {123, "EPFNOSUPPORT", "protocol family not supported"}, + {124, "EAFNOSUPPORT", "address family not supported by protocol"}, + {125, "EADDRINUSE", "address already in use"}, + {126, "EADDRNOTAVAIL", "cannot assign requested address"}, + {127, "ENETDOWN", "network is down"}, + {128, "ENETUNREACH", "network is unreachable"}, + {129, "ENETRESET", "network dropped connection on reset"}, + {130, "ECONNABORTED", "software caused connection abort"}, + {131, "ECONNRESET", "connection reset by peer"}, + {132, "ENOBUFS", "no buffer space available"}, + {133, "EISCONN", "transport endpoint is already connected"}, + {134, "ENOTCONN", "transport endpoint is not connected"}, + {135, "EUCLEAN", "structure needs cleaning"}, + {137, "ENOTNAM", "not a XENIX named type file"}, + {138, "ENAVAIL", "no XENIX semaphores available"}, + {139, "EISNAM", "is a named type file"}, + {140, "EREMOTEIO", "remote I/O error"}, + {141, "EINIT", "unknown error 141"}, + {142, "EREMDEV", "unknown error 142"}, + {143, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {144, "ETOOMANYREFS", "too many references: cannot splice"}, + {145, "ETIMEDOUT", "connection timed out"}, + {146, "ECONNREFUSED", "connection refused"}, + {147, "EHOSTDOWN", "host is down"}, + {148, "EHOSTUNREACH", "no route to host"}, + {149, "EALREADY", "operation already in progress"}, + {150, "EINPROGRESS", "operation now in progress"}, + {151, "ESTALE", "stale file handle"}, + {158, "ECANCELED", "operation canceled"}, + {159, "ENOMEDIUM", "no medium found"}, + {160, "EMEDIUMTYPE", "wrong medium type"}, + {161, "ENOKEY", "required key not available"}, + {162, "EKEYEXPIRED", "key has expired"}, + {163, "EKEYREVOKED", "key has been revoked"}, + {164, "EKEYREJECTED", "key was rejected by service"}, + {165, "EOWNERDEAD", "owner died"}, + {166, "ENOTRECOVERABLE", "state not recoverable"}, + {167, "ERFKILL", "operation not possible due to RF-kill"}, + {168, "EHWPOISON", "memory page has hardware error"}, + {1133, "EDQUOT", "disk quota exceeded"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGUSR1", "user defined signal 1"}, + {17, "SIGUSR2", "user defined signal 2"}, + {18, "SIGCHLD", "child exited"}, + {19, "SIGPWR", "power failure"}, + {20, "SIGWINCH", "window changed"}, + {21, "SIGURG", "urgent I/O condition"}, + {22, "SIGIO", "I/O possible"}, + {23, "SIGSTOP", "stopped (signal)"}, + {24, "SIGTSTP", "stopped"}, + {25, "SIGCONT", "continued"}, + {26, "SIGTTIN", "stopped (tty input)"}, + {27, "SIGTTOU", "stopped (tty output)"}, + {28, "SIGVTALRM", "virtual timer expired"}, + {29, "SIGPROF", "profiling timer expired"}, + {30, "SIGXCPU", "CPU time limit exceeded"}, + {31, "SIGXFSZ", "file size limit exceeded"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go new file mode 100644 index 000000000..677d90456 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go @@ -0,0 +1,2789 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips64le,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x40081270 + BLKBSZSET = 0x80081271 + BLKFLSBUF = 0x20001261 + BLKFRAGET = 0x20001265 + BLKFRASET = 0x20001264 + BLKGETSIZE = 0x20001260 + BLKGETSIZE64 = 0x40081272 + BLKPBSZGET = 0x2000127b + BLKRAGET = 0x20001263 + BLKRASET = 0x20001262 + BLKROGET = 0x2000125e + BLKROSET = 0x2000125d + BLKRRPART = 0x2000125f + BLKSECTGET = 0x20001267 + BLKSECTSET = 0x20001266 + BLKSSZGET = 0x20001268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_OR = 0x40 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x80 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x2000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x3 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0xe + F_GETLK64 = 0xe + F_GETOWN = 0x17 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETOWN = 0x18 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x100 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x80 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x800 + MAP_ANONYMOUS = 0x800 + MAP_DENYWRITE = 0x2000 + MAP_EXECUTABLE = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x1000 + MAP_HUGETLB = 0x80000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x8000 + MAP_NONBLOCK = 0x20000 + MAP_NORESERVE = 0x400 + MAP_POPULATE = 0x10000 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x800 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x40000 + MAP_TYPE = 0xf + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x3 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x1000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x100 + O_DIRECT = 0x8000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x10 + O_EXCL = 0x400 + O_FSYNC = 0x4010 + O_LARGEFILE = 0x0 + O_NDELAY = 0x80 + O_NOATIME = 0x40000 + O_NOCTTY = 0x800 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x80 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x4010 + O_SYNC = 0x4010 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 + PPPIOCGASYNCMAP = 0x40047458 + PPPIOCGCHAN = 0x40047437 + PPPIOCGDEBUG = 0x40047441 + PPPIOCGFLAGS = 0x4004745a + PPPIOCGIDLE = 0x4010743f + PPPIOCGL2TPSTATS = 0x40487436 + PPPIOCGMRU = 0x40047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x40047455 + PPPIOCGUNIT = 0x40047456 + PPPIOCGXASYNCMAP = 0x40207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x80107446 + PPPIOCSASYNCMAP = 0x80047457 + PPPIOCSCOMPRESS = 0x8010744d + PPPIOCSDEBUG = 0x80047440 + PPPIOCSFLAGS = 0x80047459 + PPPIOCSMAXCID = 0x80047451 + PPPIOCSMRRU = 0x8004743b + PPPIOCSMRU = 0x80047452 + PPPIOCSNPMODE = 0x8008744b + PPPIOCSPASS = 0x80107447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f + PPPIOCXFERUNIT = 0x2000744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFPREGS = 0xe + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_GET_THREAD_AREA_3264 = 0xc4 + PTRACE_GET_WATCH_REGS = 0xd0 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKDATA_3264 = 0xc1 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKTEXT_3264 = 0xc0 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKEDATA_3264 = 0xc3 + PTRACE_POKETEXT = 0x4 + PTRACE_POKETEXT_3264 = 0xc2 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETFPREGS = 0xf + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SET_WATCH_REGS = 0xd1 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_TRACEME = 0x0 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x6 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x9 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x5 + RLIMIT_NPROC = 0x8 + RLIMIT_RSS = 0x7 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x80085203 + RNDADDTOENTCNT = 0x80045201 + RNDCLEARPOOL = 0x20005206 + RNDGETENTCNT = 0x40045200 + RNDGETPOOL = 0x40085202 + RNDRESEEDCRNG = 0x20005207 + RNDZAPENTCNT = 0x20005204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1d + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x20007002 + RTC_AIE_ON = 0x20007001 + RTC_ALM_READ = 0x40247008 + RTC_ALM_SET = 0x80247007 + RTC_EPOCH_READ = 0x4008700d + RTC_EPOCH_SET = 0x8008700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x4008700b + RTC_IRQP_SET = 0x8008700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x40207011 + RTC_PLL_SET = 0x80207012 + RTC_RD_TIME = 0x40247009 + RTC_SET_TIME = 0x8024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x20007004 + RTC_UIE_ON = 0x20007003 + RTC_VL_CLR = 0x20007014 + RTC_VL_READ = 0x40047013 + RTC_WIE_OFF = 0x20007010 + RTC_WIE_ON = 0x2000700f + RTC_WKALM_RD = 0x40287010 + RTC_WKALM_SET = 0x8028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x67 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x16 + RTM_NR_MSGTYPES = 0x58 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x80 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x40047307 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x40047309 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCINQ = 0x467f + SIOCOUTQ = 0x7472 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x80047308 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x1 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x80 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x2 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0xffff + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1009 + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x1029 + SO_DONTROUTE = 0x10 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x1007 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0x100 + SO_PASSCRED = 0x11 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x12 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1e + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x1001 + SO_SNDBUFFORCE = 0x1f + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_STYLE = 0x1008 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TXTIME = 0x3d + SO_TYPE = 0x1008 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x5407 + TCGETA = 0x5401 + TCGETS = 0x540d + TCGETS2 = 0x4030542a + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x5410 + TCSBRK = 0x5405 + TCSBRKP = 0x5486 + TCSETA = 0x5402 + TCSETAF = 0x5404 + TCSETAW = 0x5403 + TCSETS = 0x540e + TCSETS2 = 0x8030542b + TCSETSF = 0x5410 + TCSETSF2 = 0x8030542d + TCSETSW = 0x540f + TCSETSW2 = 0x8030542c + TCXONC = 0x5406 + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x80047478 + TIOCEXCL = 0x740d + TIOCGDEV = 0x40045432 + TIOCGETD = 0x7400 + TIOCGETP = 0x7408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x5492 + TIOCGISO7816 = 0x40285442 + TIOCGLCKTRMIOS = 0x548b + TIOCGLTC = 0x7474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x4020542e + TIOCGSERIAL = 0x5484 + TIOCGSID = 0x7416 + TIOCGSOFTCAR = 0x5481 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x467f + TIOCLINUX = 0x5483 + TIOCMBIC = 0x741c + TIOCMBIS = 0x741b + TIOCMGET = 0x741d + TIOCMIWAIT = 0x5491 + TIOCMSET = 0x741a + TIOCM_CAR = 0x100 + TIOCM_CD = 0x100 + TIOCM_CTS = 0x40 + TIOCM_DSR = 0x400 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x200 + TIOCM_RNG = 0x200 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x20 + TIOCM_ST = 0x10 + TIOCNOTTY = 0x5471 + TIOCNXCL = 0x740e + TIOCOUTQ = 0x7472 + TIOCPKT = 0x5470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x5480 + TIOCSERCONFIG = 0x5488 + TIOCSERGETLSR = 0x548e + TIOCSERGETMULTI = 0x548f + TIOCSERGSTRUCT = 0x548d + TIOCSERGWILD = 0x5489 + TIOCSERSETMULTI = 0x5490 + TIOCSERSWILD = 0x548a + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x7401 + TIOCSETN = 0x740a + TIOCSETP = 0x7409 + TIOCSIG = 0x80045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x548c + TIOCSLTC = 0x7475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0xc020542f + TIOCSSERIAL = 0x5485 + TIOCSSOFTCAR = 0x5482 + TIOCSTI = 0x5472 + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x8000 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = -0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x801054d5 + TUNDETACHFILTER = 0x801054d6 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x401054db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETDEBUG = 0x800454c9 + TUNSETFILTEREBPF = 0x400454e1 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETSTEERINGEBPF = 0x400454e0 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UBI_IOCATT = 0x80186f40 + UBI_IOCDET = 0x80046f41 + UBI_IOCEBCH = 0x80044f02 + UBI_IOCEBER = 0x80044f01 + UBI_IOCEBISMAP = 0x40044f05 + UBI_IOCEBMAP = 0x80084f03 + UBI_IOCEBUNMAP = 0x80044f04 + UBI_IOCMKVOL = 0x80986f00 + UBI_IOCRMVOL = 0x80046f01 + UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRSVOL = 0x800c6f02 + UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCVOLCRBLK = 0x80804f07 + UBI_IOCVOLRMBLK = 0x20004f08 + UBI_IOCVOLUP = 0x80084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x10 + VEOL = 0x11 + VEOL2 = 0x6 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x4 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VSWTCH = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x40045702 + WDIOC_GETPRETIMEOUT = 0x40045709 + WDIOC_GETSTATUS = 0x40045701 + WDIOC_GETSUPPORT = 0x40285700 + WDIOC_GETTEMP = 0x40045703 + WDIOC_GETTIMELEFT = 0x4004570a + WDIOC_GETTIMEOUT = 0x40045707 + WDIOC_KEEPALIVE = 0x40045705 + WDIOC_SETOPTIONS = 0x40045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x7d) + EADDRNOTAVAIL = syscall.Errno(0x7e) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x7c) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x95) + EBADE = syscall.Errno(0x32) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x51) + EBADMSG = syscall.Errno(0x4d) + EBADR = syscall.Errno(0x33) + EBADRQC = syscall.Errno(0x36) + EBADSLT = syscall.Errno(0x37) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x9e) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x25) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x82) + ECONNREFUSED = syscall.Errno(0x92) + ECONNRESET = syscall.Errno(0x83) + EDEADLK = syscall.Errno(0x2d) + EDEADLOCK = syscall.Errno(0x38) + EDESTADDRREQ = syscall.Errno(0x60) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x46d) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x93) + EHOSTUNREACH = syscall.Errno(0x94) + EHWPOISON = syscall.Errno(0xa8) + EIDRM = syscall.Errno(0x24) + EILSEQ = syscall.Errno(0x58) + EINIT = syscall.Errno(0x8d) + EINPROGRESS = syscall.Errno(0x96) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x85) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x8b) + EKEYEXPIRED = syscall.Errno(0xa2) + EKEYREJECTED = syscall.Errno(0xa4) + EKEYREVOKED = syscall.Errno(0xa3) + EL2HLT = syscall.Errno(0x2c) + EL2NSYNC = syscall.Errno(0x26) + EL3HLT = syscall.Errno(0x27) + EL3RST = syscall.Errno(0x28) + ELIBACC = syscall.Errno(0x53) + ELIBBAD = syscall.Errno(0x54) + ELIBEXEC = syscall.Errno(0x57) + ELIBMAX = syscall.Errno(0x56) + ELIBSCN = syscall.Errno(0x55) + ELNRNG = syscall.Errno(0x29) + ELOOP = syscall.Errno(0x5a) + EMEDIUMTYPE = syscall.Errno(0xa0) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x61) + EMULTIHOP = syscall.Errno(0x4a) + ENAMETOOLONG = syscall.Errno(0x4e) + ENAVAIL = syscall.Errno(0x8a) + ENETDOWN = syscall.Errno(0x7f) + ENETRESET = syscall.Errno(0x81) + ENETUNREACH = syscall.Errno(0x80) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x35) + ENOBUFS = syscall.Errno(0x84) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0xa1) + ENOLCK = syscall.Errno(0x2e) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x9f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x23) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x63) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x59) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x86) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x5d) + ENOTNAM = syscall.Errno(0x89) + ENOTRECOVERABLE = syscall.Errno(0xa6) + ENOTSOCK = syscall.Errno(0x5f) + ENOTSUP = syscall.Errno(0x7a) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x50) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x7a) + EOVERFLOW = syscall.Errno(0x4f) + EOWNERDEAD = syscall.Errno(0xa5) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x7b) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x78) + EPROTOTYPE = syscall.Errno(0x62) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x52) + EREMDEV = syscall.Errno(0x8e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x8c) + ERESTART = syscall.Errno(0x5b) + ERFKILL = syscall.Errno(0xa7) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x8f) + ESOCKTNOSUPPORT = syscall.Errno(0x79) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x97) + ESTRPIPE = syscall.Errno(0x5c) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x91) + ETOOMANYREFS = syscall.Errno(0x90) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x87) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x5e) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x34) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x12) + SIGCLD = syscall.Signal(0x12) + SIGCONT = syscall.Signal(0x19) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x16) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x16) + SIGPROF = syscall.Signal(0x1d) + SIGPWR = syscall.Signal(0x13) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x17) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x18) + SIGTTIN = syscall.Signal(0x1a) + SIGTTOU = syscall.Signal(0x1b) + SIGURG = syscall.Signal(0x15) + SIGUSR1 = syscall.Signal(0x10) + SIGUSR2 = syscall.Signal(0x11) + SIGVTALRM = syscall.Signal(0x1c) + SIGWINCH = syscall.Signal(0x14) + SIGXCPU = syscall.Signal(0x1e) + SIGXFSZ = syscall.Signal(0x1f) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "ENOMSG", "no message of desired type"}, + {36, "EIDRM", "identifier removed"}, + {37, "ECHRNG", "channel number out of range"}, + {38, "EL2NSYNC", "level 2 not synchronized"}, + {39, "EL3HLT", "level 3 halted"}, + {40, "EL3RST", "level 3 reset"}, + {41, "ELNRNG", "link number out of range"}, + {42, "EUNATCH", "protocol driver not attached"}, + {43, "ENOCSI", "no CSI structure available"}, + {44, "EL2HLT", "level 2 halted"}, + {45, "EDEADLK", "resource deadlock avoided"}, + {46, "ENOLCK", "no locks available"}, + {50, "EBADE", "invalid exchange"}, + {51, "EBADR", "invalid request descriptor"}, + {52, "EXFULL", "exchange full"}, + {53, "ENOANO", "no anode"}, + {54, "EBADRQC", "invalid request code"}, + {55, "EBADSLT", "invalid slot"}, + {56, "EDEADLOCK", "file locking deadlock error"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EMULTIHOP", "multihop attempted"}, + {77, "EBADMSG", "bad message"}, + {78, "ENAMETOOLONG", "file name too long"}, + {79, "EOVERFLOW", "value too large for defined data type"}, + {80, "ENOTUNIQ", "name not unique on network"}, + {81, "EBADFD", "file descriptor in bad state"}, + {82, "EREMCHG", "remote address changed"}, + {83, "ELIBACC", "can not access a needed shared library"}, + {84, "ELIBBAD", "accessing a corrupted shared library"}, + {85, "ELIBSCN", ".lib section in a.out corrupted"}, + {86, "ELIBMAX", "attempting to link in too many shared libraries"}, + {87, "ELIBEXEC", "cannot exec a shared library directly"}, + {88, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {89, "ENOSYS", "function not implemented"}, + {90, "ELOOP", "too many levels of symbolic links"}, + {91, "ERESTART", "interrupted system call should be restarted"}, + {92, "ESTRPIPE", "streams pipe error"}, + {93, "ENOTEMPTY", "directory not empty"}, + {94, "EUSERS", "too many users"}, + {95, "ENOTSOCK", "socket operation on non-socket"}, + {96, "EDESTADDRREQ", "destination address required"}, + {97, "EMSGSIZE", "message too long"}, + {98, "EPROTOTYPE", "protocol wrong type for socket"}, + {99, "ENOPROTOOPT", "protocol not available"}, + {120, "EPROTONOSUPPORT", "protocol not supported"}, + {121, "ESOCKTNOSUPPORT", "socket type not supported"}, + {122, "ENOTSUP", "operation not supported"}, + {123, "EPFNOSUPPORT", "protocol family not supported"}, + {124, "EAFNOSUPPORT", "address family not supported by protocol"}, + {125, "EADDRINUSE", "address already in use"}, + {126, "EADDRNOTAVAIL", "cannot assign requested address"}, + {127, "ENETDOWN", "network is down"}, + {128, "ENETUNREACH", "network is unreachable"}, + {129, "ENETRESET", "network dropped connection on reset"}, + {130, "ECONNABORTED", "software caused connection abort"}, + {131, "ECONNRESET", "connection reset by peer"}, + {132, "ENOBUFS", "no buffer space available"}, + {133, "EISCONN", "transport endpoint is already connected"}, + {134, "ENOTCONN", "transport endpoint is not connected"}, + {135, "EUCLEAN", "structure needs cleaning"}, + {137, "ENOTNAM", "not a XENIX named type file"}, + {138, "ENAVAIL", "no XENIX semaphores available"}, + {139, "EISNAM", "is a named type file"}, + {140, "EREMOTEIO", "remote I/O error"}, + {141, "EINIT", "unknown error 141"}, + {142, "EREMDEV", "unknown error 142"}, + {143, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {144, "ETOOMANYREFS", "too many references: cannot splice"}, + {145, "ETIMEDOUT", "connection timed out"}, + {146, "ECONNREFUSED", "connection refused"}, + {147, "EHOSTDOWN", "host is down"}, + {148, "EHOSTUNREACH", "no route to host"}, + {149, "EALREADY", "operation already in progress"}, + {150, "EINPROGRESS", "operation now in progress"}, + {151, "ESTALE", "stale file handle"}, + {158, "ECANCELED", "operation canceled"}, + {159, "ENOMEDIUM", "no medium found"}, + {160, "EMEDIUMTYPE", "wrong medium type"}, + {161, "ENOKEY", "required key not available"}, + {162, "EKEYEXPIRED", "key has expired"}, + {163, "EKEYREVOKED", "key has been revoked"}, + {164, "EKEYREJECTED", "key was rejected by service"}, + {165, "EOWNERDEAD", "owner died"}, + {166, "ENOTRECOVERABLE", "state not recoverable"}, + {167, "ERFKILL", "operation not possible due to RF-kill"}, + {168, "EHWPOISON", "memory page has hardware error"}, + {1133, "EDQUOT", "disk quota exceeded"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGUSR1", "user defined signal 1"}, + {17, "SIGUSR2", "user defined signal 2"}, + {18, "SIGCHLD", "child exited"}, + {19, "SIGPWR", "power failure"}, + {20, "SIGWINCH", "window changed"}, + {21, "SIGURG", "urgent I/O condition"}, + {22, "SIGIO", "I/O possible"}, + {23, "SIGSTOP", "stopped (signal)"}, + {24, "SIGTSTP", "stopped"}, + {25, "SIGCONT", "continued"}, + {26, "SIGTTIN", "stopped (tty input)"}, + {27, "SIGTTOU", "stopped (tty output)"}, + {28, "SIGVTALRM", "virtual timer expired"}, + {29, "SIGPROF", "profiling timer expired"}, + {30, "SIGXCPU", "CPU time limit exceeded"}, + {31, "SIGXFSZ", "file size limit exceeded"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go new file mode 100644 index 000000000..7ddd09d78 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go @@ -0,0 +1,2789 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mipsle,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x40041270 + BLKBSZSET = 0x80041271 + BLKFLSBUF = 0x20001261 + BLKFRAGET = 0x20001265 + BLKFRASET = 0x20001264 + BLKGETSIZE = 0x20001260 + BLKGETSIZE64 = 0x40041272 + BLKPBSZGET = 0x2000127b + BLKRAGET = 0x20001263 + BLKRASET = 0x20001262 + BLKROGET = 0x2000125e + BLKROSET = 0x2000125d + BLKRRPART = 0x2000125f + BLKSECTGET = 0x20001267 + BLKSECTSET = 0x20001266 + BLKSSZGET = 0x20001268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_OR = 0x40 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x80 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x2000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x3 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x21 + F_GETLK64 = 0x21 + F_GETOWN = 0x17 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x22 + F_SETLK64 = 0x22 + F_SETLKW = 0x23 + F_SETLKW64 = 0x23 + F_SETOWN = 0x18 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x100 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x80 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x800 + MAP_ANONYMOUS = 0x800 + MAP_DENYWRITE = 0x2000 + MAP_EXECUTABLE = 0x4000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x1000 + MAP_HUGETLB = 0x80000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x8000 + MAP_NONBLOCK = 0x20000 + MAP_NORESERVE = 0x400 + MAP_POPULATE = 0x10000 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x800 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x40000 + MAP_TYPE = 0xf + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x3 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x1000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x100 + O_DIRECT = 0x8000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x10 + O_EXCL = 0x400 + O_FSYNC = 0x4010 + O_LARGEFILE = 0x2000 + O_NDELAY = 0x80 + O_NOATIME = 0x40000 + O_NOCTTY = 0x800 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x80 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x4010 + O_SYNC = 0x4010 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40042407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8004240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc004240a + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80042406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 + PPPIOCGASYNCMAP = 0x40047458 + PPPIOCGCHAN = 0x40047437 + PPPIOCGDEBUG = 0x40047441 + PPPIOCGFLAGS = 0x4004745a + PPPIOCGIDLE = 0x4008743f + PPPIOCGL2TPSTATS = 0x40487436 + PPPIOCGMRU = 0x40047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x40047455 + PPPIOCGUNIT = 0x40047456 + PPPIOCGXASYNCMAP = 0x40207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x80087446 + PPPIOCSASYNCMAP = 0x80047457 + PPPIOCSCOMPRESS = 0x800c744d + PPPIOCSDEBUG = 0x80047440 + PPPIOCSFLAGS = 0x80047459 + PPPIOCSMAXCID = 0x80047451 + PPPIOCSMRRU = 0x8004743b + PPPIOCSMRU = 0x80047452 + PPPIOCSNPMODE = 0x8008744b + PPPIOCSPASS = 0x80087447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f + PPPIOCXFERUNIT = 0x2000744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFPREGS = 0xe + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_THREAD_AREA = 0x19 + PTRACE_GET_THREAD_AREA_3264 = 0xc4 + PTRACE_GET_WATCH_REGS = 0xd0 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKDATA_3264 = 0xc1 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKTEXT_3264 = 0xc0 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKEDATA_3264 = 0xc3 + PTRACE_POKETEXT = 0x4 + PTRACE_POKETEXT_3264 = 0xc2 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETFPREGS = 0xf + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SET_THREAD_AREA = 0x1a + PTRACE_SET_WATCH_REGS = 0xd1 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_TRACEME = 0x0 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x6 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x9 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x5 + RLIMIT_NPROC = 0x8 + RLIMIT_RSS = 0x7 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x80085203 + RNDADDTOENTCNT = 0x80045201 + RNDCLEARPOOL = 0x20005206 + RNDGETENTCNT = 0x40045200 + RNDGETPOOL = 0x40085202 + RNDRESEEDCRNG = 0x20005207 + RNDZAPENTCNT = 0x20005204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1d + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x20007002 + RTC_AIE_ON = 0x20007001 + RTC_ALM_READ = 0x40247008 + RTC_ALM_SET = 0x80247007 + RTC_EPOCH_READ = 0x4004700d + RTC_EPOCH_SET = 0x8004700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x4004700b + RTC_IRQP_SET = 0x8004700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x401c7011 + RTC_PLL_SET = 0x801c7012 + RTC_RD_TIME = 0x40247009 + RTC_SET_TIME = 0x8024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x20007004 + RTC_UIE_ON = 0x20007003 + RTC_VL_CLR = 0x20007014 + RTC_VL_READ = 0x40047013 + RTC_WIE_OFF = 0x20007010 + RTC_WIE_ON = 0x2000700f + RTC_WKALM_RD = 0x40287010 + RTC_WKALM_SET = 0x8028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x67 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x16 + RTM_NR_MSGTYPES = 0x58 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x80 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x40047307 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x40047309 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCINQ = 0x467f + SIOCOUTQ = 0x7472 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x80047308 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x1 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x80 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x2 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0xffff + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1009 + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x1029 + SO_DONTROUTE = 0x10 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x1007 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0x100 + SO_PASSCRED = 0x11 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x12 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1e + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x1001 + SO_SNDBUFFORCE = 0x1f + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_STYLE = 0x1008 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TXTIME = 0x3d + SO_TYPE = 0x1008 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x5407 + TCGETA = 0x5401 + TCGETS = 0x540d + TCGETS2 = 0x4030542a + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x5410 + TCSBRK = 0x5405 + TCSBRKP = 0x5486 + TCSETA = 0x5402 + TCSETAF = 0x5404 + TCSETAW = 0x5403 + TCSETS = 0x540e + TCSETS2 = 0x8030542b + TCSETSF = 0x5410 + TCSETSF2 = 0x8030542d + TCSETSW = 0x540f + TCSETSW2 = 0x8030542c + TCXONC = 0x5406 + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x80047478 + TIOCEXCL = 0x740d + TIOCGDEV = 0x40045432 + TIOCGETD = 0x7400 + TIOCGETP = 0x7408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x5492 + TIOCGISO7816 = 0x40285442 + TIOCGLCKTRMIOS = 0x548b + TIOCGLTC = 0x7474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x4020542e + TIOCGSERIAL = 0x5484 + TIOCGSID = 0x7416 + TIOCGSOFTCAR = 0x5481 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x467f + TIOCLINUX = 0x5483 + TIOCMBIC = 0x741c + TIOCMBIS = 0x741b + TIOCMGET = 0x741d + TIOCMIWAIT = 0x5491 + TIOCMSET = 0x741a + TIOCM_CAR = 0x100 + TIOCM_CD = 0x100 + TIOCM_CTS = 0x40 + TIOCM_DSR = 0x400 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x200 + TIOCM_RNG = 0x200 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x20 + TIOCM_ST = 0x10 + TIOCNOTTY = 0x5471 + TIOCNXCL = 0x740e + TIOCOUTQ = 0x7472 + TIOCPKT = 0x5470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x5480 + TIOCSERCONFIG = 0x5488 + TIOCSERGETLSR = 0x548e + TIOCSERGETMULTI = 0x548f + TIOCSERGSTRUCT = 0x548d + TIOCSERGWILD = 0x5489 + TIOCSERSETMULTI = 0x5490 + TIOCSERSWILD = 0x548a + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x7401 + TIOCSETN = 0x740a + TIOCSETP = 0x7409 + TIOCSIG = 0x80045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x548c + TIOCSLTC = 0x7475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0xc020542f + TIOCSSERIAL = 0x5485 + TIOCSSOFTCAR = 0x5482 + TIOCSTI = 0x5472 + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x8000 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = -0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x800854d5 + TUNDETACHFILTER = 0x800854d6 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x400854db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETDEBUG = 0x800454c9 + TUNSETFILTEREBPF = 0x400454e1 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETSTEERINGEBPF = 0x400454e0 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UBI_IOCATT = 0x80186f40 + UBI_IOCDET = 0x80046f41 + UBI_IOCEBCH = 0x80044f02 + UBI_IOCEBER = 0x80044f01 + UBI_IOCEBISMAP = 0x40044f05 + UBI_IOCEBMAP = 0x80084f03 + UBI_IOCEBUNMAP = 0x80044f04 + UBI_IOCMKVOL = 0x80986f00 + UBI_IOCRMVOL = 0x80046f01 + UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRSVOL = 0x800c6f02 + UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCVOLCRBLK = 0x80804f07 + UBI_IOCVOLRMBLK = 0x20004f08 + UBI_IOCVOLUP = 0x80084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x10 + VEOL = 0x11 + VEOL2 = 0x6 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x4 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VSWTCH = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x40045702 + WDIOC_GETPRETIMEOUT = 0x40045709 + WDIOC_GETSTATUS = 0x40045701 + WDIOC_GETSUPPORT = 0x40285700 + WDIOC_GETTEMP = 0x40045703 + WDIOC_GETTIMELEFT = 0x4004570a + WDIOC_GETTIMEOUT = 0x40045707 + WDIOC_KEEPALIVE = 0x40045705 + WDIOC_SETOPTIONS = 0x40045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x20 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x7d) + EADDRNOTAVAIL = syscall.Errno(0x7e) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x7c) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x95) + EBADE = syscall.Errno(0x32) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x51) + EBADMSG = syscall.Errno(0x4d) + EBADR = syscall.Errno(0x33) + EBADRQC = syscall.Errno(0x36) + EBADSLT = syscall.Errno(0x37) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x9e) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x25) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x82) + ECONNREFUSED = syscall.Errno(0x92) + ECONNRESET = syscall.Errno(0x83) + EDEADLK = syscall.Errno(0x2d) + EDEADLOCK = syscall.Errno(0x38) + EDESTADDRREQ = syscall.Errno(0x60) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x46d) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x93) + EHOSTUNREACH = syscall.Errno(0x94) + EHWPOISON = syscall.Errno(0xa8) + EIDRM = syscall.Errno(0x24) + EILSEQ = syscall.Errno(0x58) + EINIT = syscall.Errno(0x8d) + EINPROGRESS = syscall.Errno(0x96) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x85) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x8b) + EKEYEXPIRED = syscall.Errno(0xa2) + EKEYREJECTED = syscall.Errno(0xa4) + EKEYREVOKED = syscall.Errno(0xa3) + EL2HLT = syscall.Errno(0x2c) + EL2NSYNC = syscall.Errno(0x26) + EL3HLT = syscall.Errno(0x27) + EL3RST = syscall.Errno(0x28) + ELIBACC = syscall.Errno(0x53) + ELIBBAD = syscall.Errno(0x54) + ELIBEXEC = syscall.Errno(0x57) + ELIBMAX = syscall.Errno(0x56) + ELIBSCN = syscall.Errno(0x55) + ELNRNG = syscall.Errno(0x29) + ELOOP = syscall.Errno(0x5a) + EMEDIUMTYPE = syscall.Errno(0xa0) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x61) + EMULTIHOP = syscall.Errno(0x4a) + ENAMETOOLONG = syscall.Errno(0x4e) + ENAVAIL = syscall.Errno(0x8a) + ENETDOWN = syscall.Errno(0x7f) + ENETRESET = syscall.Errno(0x81) + ENETUNREACH = syscall.Errno(0x80) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x35) + ENOBUFS = syscall.Errno(0x84) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0xa1) + ENOLCK = syscall.Errno(0x2e) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x9f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x23) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x63) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x59) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x86) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x5d) + ENOTNAM = syscall.Errno(0x89) + ENOTRECOVERABLE = syscall.Errno(0xa6) + ENOTSOCK = syscall.Errno(0x5f) + ENOTSUP = syscall.Errno(0x7a) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x50) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x7a) + EOVERFLOW = syscall.Errno(0x4f) + EOWNERDEAD = syscall.Errno(0xa5) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x7b) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x78) + EPROTOTYPE = syscall.Errno(0x62) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x52) + EREMDEV = syscall.Errno(0x8e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x8c) + ERESTART = syscall.Errno(0x5b) + ERFKILL = syscall.Errno(0xa7) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x8f) + ESOCKTNOSUPPORT = syscall.Errno(0x79) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x97) + ESTRPIPE = syscall.Errno(0x5c) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x91) + ETOOMANYREFS = syscall.Errno(0x90) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x87) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x5e) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x34) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x12) + SIGCLD = syscall.Signal(0x12) + SIGCONT = syscall.Signal(0x19) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x16) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x16) + SIGPROF = syscall.Signal(0x1d) + SIGPWR = syscall.Signal(0x13) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x17) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x18) + SIGTTIN = syscall.Signal(0x1a) + SIGTTOU = syscall.Signal(0x1b) + SIGURG = syscall.Signal(0x15) + SIGUSR1 = syscall.Signal(0x10) + SIGUSR2 = syscall.Signal(0x11) + SIGVTALRM = syscall.Signal(0x1c) + SIGWINCH = syscall.Signal(0x14) + SIGXCPU = syscall.Signal(0x1e) + SIGXFSZ = syscall.Signal(0x1f) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "ENOMSG", "no message of desired type"}, + {36, "EIDRM", "identifier removed"}, + {37, "ECHRNG", "channel number out of range"}, + {38, "EL2NSYNC", "level 2 not synchronized"}, + {39, "EL3HLT", "level 3 halted"}, + {40, "EL3RST", "level 3 reset"}, + {41, "ELNRNG", "link number out of range"}, + {42, "EUNATCH", "protocol driver not attached"}, + {43, "ENOCSI", "no CSI structure available"}, + {44, "EL2HLT", "level 2 halted"}, + {45, "EDEADLK", "resource deadlock avoided"}, + {46, "ENOLCK", "no locks available"}, + {50, "EBADE", "invalid exchange"}, + {51, "EBADR", "invalid request descriptor"}, + {52, "EXFULL", "exchange full"}, + {53, "ENOANO", "no anode"}, + {54, "EBADRQC", "invalid request code"}, + {55, "EBADSLT", "invalid slot"}, + {56, "EDEADLOCK", "file locking deadlock error"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EMULTIHOP", "multihop attempted"}, + {77, "EBADMSG", "bad message"}, + {78, "ENAMETOOLONG", "file name too long"}, + {79, "EOVERFLOW", "value too large for defined data type"}, + {80, "ENOTUNIQ", "name not unique on network"}, + {81, "EBADFD", "file descriptor in bad state"}, + {82, "EREMCHG", "remote address changed"}, + {83, "ELIBACC", "can not access a needed shared library"}, + {84, "ELIBBAD", "accessing a corrupted shared library"}, + {85, "ELIBSCN", ".lib section in a.out corrupted"}, + {86, "ELIBMAX", "attempting to link in too many shared libraries"}, + {87, "ELIBEXEC", "cannot exec a shared library directly"}, + {88, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {89, "ENOSYS", "function not implemented"}, + {90, "ELOOP", "too many levels of symbolic links"}, + {91, "ERESTART", "interrupted system call should be restarted"}, + {92, "ESTRPIPE", "streams pipe error"}, + {93, "ENOTEMPTY", "directory not empty"}, + {94, "EUSERS", "too many users"}, + {95, "ENOTSOCK", "socket operation on non-socket"}, + {96, "EDESTADDRREQ", "destination address required"}, + {97, "EMSGSIZE", "message too long"}, + {98, "EPROTOTYPE", "protocol wrong type for socket"}, + {99, "ENOPROTOOPT", "protocol not available"}, + {120, "EPROTONOSUPPORT", "protocol not supported"}, + {121, "ESOCKTNOSUPPORT", "socket type not supported"}, + {122, "ENOTSUP", "operation not supported"}, + {123, "EPFNOSUPPORT", "protocol family not supported"}, + {124, "EAFNOSUPPORT", "address family not supported by protocol"}, + {125, "EADDRINUSE", "address already in use"}, + {126, "EADDRNOTAVAIL", "cannot assign requested address"}, + {127, "ENETDOWN", "network is down"}, + {128, "ENETUNREACH", "network is unreachable"}, + {129, "ENETRESET", "network dropped connection on reset"}, + {130, "ECONNABORTED", "software caused connection abort"}, + {131, "ECONNRESET", "connection reset by peer"}, + {132, "ENOBUFS", "no buffer space available"}, + {133, "EISCONN", "transport endpoint is already connected"}, + {134, "ENOTCONN", "transport endpoint is not connected"}, + {135, "EUCLEAN", "structure needs cleaning"}, + {137, "ENOTNAM", "not a XENIX named type file"}, + {138, "ENAVAIL", "no XENIX semaphores available"}, + {139, "EISNAM", "is a named type file"}, + {140, "EREMOTEIO", "remote I/O error"}, + {141, "EINIT", "unknown error 141"}, + {142, "EREMDEV", "unknown error 142"}, + {143, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {144, "ETOOMANYREFS", "too many references: cannot splice"}, + {145, "ETIMEDOUT", "connection timed out"}, + {146, "ECONNREFUSED", "connection refused"}, + {147, "EHOSTDOWN", "host is down"}, + {148, "EHOSTUNREACH", "no route to host"}, + {149, "EALREADY", "operation already in progress"}, + {150, "EINPROGRESS", "operation now in progress"}, + {151, "ESTALE", "stale file handle"}, + {158, "ECANCELED", "operation canceled"}, + {159, "ENOMEDIUM", "no medium found"}, + {160, "EMEDIUMTYPE", "wrong medium type"}, + {161, "ENOKEY", "required key not available"}, + {162, "EKEYEXPIRED", "key has expired"}, + {163, "EKEYREVOKED", "key has been revoked"}, + {164, "EKEYREJECTED", "key was rejected by service"}, + {165, "EOWNERDEAD", "owner died"}, + {166, "ENOTRECOVERABLE", "state not recoverable"}, + {167, "ERFKILL", "operation not possible due to RF-kill"}, + {168, "EHWPOISON", "memory page has hardware error"}, + {1133, "EDQUOT", "disk quota exceeded"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGUSR1", "user defined signal 1"}, + {17, "SIGUSR2", "user defined signal 2"}, + {18, "SIGCHLD", "child exited"}, + {19, "SIGPWR", "power failure"}, + {20, "SIGWINCH", "window changed"}, + {21, "SIGURG", "urgent I/O condition"}, + {22, "SIGIO", "I/O possible"}, + {23, "SIGSTOP", "stopped (signal)"}, + {24, "SIGTSTP", "stopped"}, + {25, "SIGCONT", "continued"}, + {26, "SIGTTIN", "stopped (tty input)"}, + {27, "SIGTTOU", "stopped (tty output)"}, + {28, "SIGVTALRM", "virtual timer expired"}, + {29, "SIGPROF", "profiling timer expired"}, + {30, "SIGXCPU", "CPU time limit exceeded"}, + {31, "SIGXFSZ", "file size limit exceeded"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go new file mode 100644 index 000000000..ebaca417b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go @@ -0,0 +1,2844 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x17 + B110 = 0x3 + B115200 = 0x11 + B1152000 = 0x18 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x19 + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x1a + B230400 = 0x12 + B2400 = 0xb + B2500000 = 0x1b + B300 = 0x7 + B3000000 = 0x1c + B3500000 = 0x1d + B38400 = 0xf + B4000000 = 0x1e + B460800 = 0x13 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x14 + B57600 = 0x10 + B576000 = 0x15 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x16 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x40081270 + BLKBSZSET = 0x80081271 + BLKFLSBUF = 0x20001261 + BLKFRAGET = 0x20001265 + BLKFRASET = 0x20001264 + BLKGETSIZE = 0x20001260 + BLKGETSIZE64 = 0x40081272 + BLKPBSZGET = 0x2000127b + BLKRAGET = 0x20001263 + BLKRASET = 0x20001262 + BLKROGET = 0x2000125e + BLKROSET = 0x2000125d + BLKRRPART = 0x2000125f + BLKSECTGET = 0x20001267 + BLKSECTSET = 0x20001266 + BLKSSZGET = 0x20001268 + BOTHER = 0x1f + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_OR = 0x40 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CBAUD = 0xff + CBAUDEX = 0x0 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0xff0000 + CLOCAL = 0x8000 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x3000 + CREAD = 0x800 + CRTSCTS = 0x80000000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIGNAL = 0xff + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 + FLUSHO = 0x800000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x3 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x5 + F_GETLK64 = 0xc + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0xd + F_SETLKW = 0x7 + F_SETLKW64 = 0xe + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x4000 + IBSHIFT = 0x10 + ICANON = 0x100 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x400 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x80 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x1000 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x80 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x40 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x20000 + MAP_TYPE = 0xf + MCL_CURRENT = 0x2000 + MCL_FUTURE = 0x4000 + MCL_ONFAULT = 0x8000 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x3 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NL2 = 0x200 + NL3 = 0x300 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x300 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80000000 + NSFS_MAGIC = 0x6e736673 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x4 + ONLCR = 0x2 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x20000 + O_DIRECTORY = 0x4000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x0 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x8000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x404000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x1000 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 + PPPIOCGASYNCMAP = 0x40047458 + PPPIOCGCHAN = 0x40047437 + PPPIOCGDEBUG = 0x40047441 + PPPIOCGFLAGS = 0x4004745a + PPPIOCGIDLE = 0x4010743f + PPPIOCGL2TPSTATS = 0x40487436 + PPPIOCGMRU = 0x40047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x40047455 + PPPIOCGUNIT = 0x40047456 + PPPIOCGXASYNCMAP = 0x40207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x80107446 + PPPIOCSASYNCMAP = 0x80047457 + PPPIOCSCOMPRESS = 0x8010744d + PPPIOCSDEBUG = 0x80047440 + PPPIOCSFLAGS = 0x80047459 + PPPIOCSMAXCID = 0x80047451 + PPPIOCSMRRU = 0x8004743b + PPPIOCSMRU = 0x80047452 + PPPIOCSNPMODE = 0x8008744b + PPPIOCSPASS = 0x80107447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f + PPPIOCXFERUNIT = 0x2000744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_SAO = 0x10 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETEVRREGS = 0x14 + PTRACE_GETFPREGS = 0xe + PTRACE_GETREGS = 0xc + PTRACE_GETREGS64 = 0x16 + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GETVRREGS = 0x12 + PTRACE_GETVSRREGS = 0x1b + PTRACE_GET_DEBUGREG = 0x19 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETEVRREGS = 0x15 + PTRACE_SETFPREGS = 0xf + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGS64 = 0x17 + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SETVRREGS = 0x13 + PTRACE_SETVSRREGS = 0x1c + PTRACE_SET_DEBUGREG = 0x1a + PTRACE_SINGLEBLOCK = 0x100 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_SYSEMU = 0x1d + PTRACE_SYSEMU_SINGLESTEP = 0x1e + PTRACE_TRACEME = 0x0 + PT_CCR = 0x26 + PT_CTR = 0x23 + PT_DAR = 0x29 + PT_DSCR = 0x2c + PT_DSISR = 0x2a + PT_FPR0 = 0x30 + PT_FPSCR = 0x50 + PT_LNK = 0x24 + PT_MSR = 0x21 + PT_NIP = 0x20 + PT_ORIG_R3 = 0x22 + PT_R0 = 0x0 + PT_R1 = 0x1 + PT_R10 = 0xa + PT_R11 = 0xb + PT_R12 = 0xc + PT_R13 = 0xd + PT_R14 = 0xe + PT_R15 = 0xf + PT_R16 = 0x10 + PT_R17 = 0x11 + PT_R18 = 0x12 + PT_R19 = 0x13 + PT_R2 = 0x2 + PT_R20 = 0x14 + PT_R21 = 0x15 + PT_R22 = 0x16 + PT_R23 = 0x17 + PT_R24 = 0x18 + PT_R25 = 0x19 + PT_R26 = 0x1a + PT_R27 = 0x1b + PT_R28 = 0x1c + PT_R29 = 0x1d + PT_R3 = 0x3 + PT_R30 = 0x1e + PT_R31 = 0x1f + PT_R4 = 0x4 + PT_R5 = 0x5 + PT_R6 = 0x6 + PT_R7 = 0x7 + PT_R8 = 0x8 + PT_R9 = 0x9 + PT_REGS_COUNT = 0x2c + PT_RESULT = 0x2b + PT_SOFTE = 0x27 + PT_TRAP = 0x28 + PT_VR0 = 0x52 + PT_VRSAVE = 0x94 + PT_VSCR = 0x93 + PT_VSR0 = 0x96 + PT_VSR31 = 0xd4 + PT_XER = 0x25 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x80085203 + RNDADDTOENTCNT = 0x80045201 + RNDCLEARPOOL = 0x20005206 + RNDGETENTCNT = 0x40045200 + RNDGETPOOL = 0x40085202 + RNDRESEEDCRNG = 0x20005207 + RNDZAPENTCNT = 0x20005204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1d + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x20007002 + RTC_AIE_ON = 0x20007001 + RTC_ALM_READ = 0x40247008 + RTC_ALM_SET = 0x80247007 + RTC_EPOCH_READ = 0x4008700d + RTC_EPOCH_SET = 0x8008700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x4008700b + RTC_IRQP_SET = 0x8008700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x40207011 + RTC_PLL_SET = 0x80207012 + RTC_RD_TIME = 0x40247009 + RTC_SET_TIME = 0x8024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x20007004 + RTC_UIE_ON = 0x20007003 + RTC_VL_CLR = 0x20007014 + RTC_VL_READ = 0x40047013 + RTC_WIE_OFF = 0x20007010 + RTC_WIE_ON = 0x2000700f + RTC_WKALM_RD = 0x40287010 + RTC_WKALM_SET = 0x8028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x67 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x16 + RTM_NR_MSGTYPES = 0x58 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCINQ = 0x4004667f + SIOCOUTQ = 0x40047473 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x14 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x15 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x10 + SO_RCVTIMEO = 0x12 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x11 + SO_SNDTIMEO = 0x13 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0xc00 + TABDLY = 0xc00 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x2000741f + TCGETA = 0x40147417 + TCGETS = 0x402c7413 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x2 + TCSBRK = 0x2000741d + TCSBRKP = 0x5425 + TCSETA = 0x80147418 + TCSETAF = 0x8014741c + TCSETAW = 0x80147419 + TCSETS = 0x802c7414 + TCSETSF = 0x802c7416 + TCSETSW = 0x802c7415 + TCXONC = 0x2000741e + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x40045432 + TIOCGETC = 0x40067412 + TIOCGETD = 0x5424 + TIOCGETP = 0x40067408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x40285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGLTC = 0x40067474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x4004667f + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_LOOP = 0x8000 + TIOCM_OUT1 = 0x2000 + TIOCM_OUT2 = 0x4000 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETC = 0x80067411 + TIOCSETD = 0x5423 + TIOCSETN = 0x8006740a + TIOCSETP = 0x80067409 + TIOCSIG = 0x80045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSLTC = 0x80067475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTART = 0x2000746e + TIOCSTI = 0x5412 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x400000 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = -0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x801054d5 + TUNDETACHFILTER = 0x801054d6 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x401054db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETDEBUG = 0x800454c9 + TUNSETFILTEREBPF = 0x400454e1 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETSTEERINGEBPF = 0x400454e0 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UBI_IOCATT = 0x80186f40 + UBI_IOCDET = 0x80046f41 + UBI_IOCEBCH = 0x80044f02 + UBI_IOCEBER = 0x80044f01 + UBI_IOCEBISMAP = 0x40044f05 + UBI_IOCEBMAP = 0x80084f03 + UBI_IOCEBUNMAP = 0x80044f04 + UBI_IOCMKVOL = 0x80986f00 + UBI_IOCRMVOL = 0x80046f01 + UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRSVOL = 0x800c6f02 + UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCVOLCRBLK = 0x80804f07 + UBI_IOCVOLRMBLK = 0x20004f08 + UBI_IOCVOLUP = 0x80084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0x10 + VEOF = 0x4 + VEOL = 0x6 + VEOL2 = 0x8 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x5 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xb + VSTART = 0xd + VSTOP = 0xe + VSUSP = 0xc + VSWTC = 0x9 + VT0 = 0x0 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x7 + VWERASE = 0xa + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x40045702 + WDIOC_GETPRETIMEOUT = 0x40045709 + WDIOC_GETSTATUS = 0x40045701 + WDIOC_GETSUPPORT = 0x40285700 + WDIOC_GETTEMP = 0x40045703 + WDIOC_GETTIMELEFT = 0x4004570a + WDIOC_GETTIMEOUT = 0x40045707 + WDIOC_KEEPALIVE = 0x40045705 + WDIOC_SETOPTIONS = 0x40045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4000 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0xc00 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x3a) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {58, "EDEADLOCK", "file locking deadlock error"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go new file mode 100644 index 000000000..02938cb6e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go @@ -0,0 +1,2844 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64le,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x17 + B110 = 0x3 + B115200 = 0x11 + B1152000 = 0x18 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x19 + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x1a + B230400 = 0x12 + B2400 = 0xb + B2500000 = 0x1b + B300 = 0x7 + B3000000 = 0x1c + B3500000 = 0x1d + B38400 = 0xf + B4000000 = 0x1e + B460800 = 0x13 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x14 + B57600 = 0x10 + B576000 = 0x15 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x16 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x40081270 + BLKBSZSET = 0x80081271 + BLKFLSBUF = 0x20001261 + BLKFRAGET = 0x20001265 + BLKFRASET = 0x20001264 + BLKGETSIZE = 0x20001260 + BLKGETSIZE64 = 0x40081272 + BLKPBSZGET = 0x2000127b + BLKRAGET = 0x20001263 + BLKRASET = 0x20001262 + BLKROGET = 0x2000125e + BLKROSET = 0x2000125d + BLKRRPART = 0x2000125f + BLKSECTGET = 0x20001267 + BLKSECTSET = 0x20001266 + BLKSSZGET = 0x20001268 + BOTHER = 0x1f + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_OR = 0x40 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x8000 + BSDLY = 0x8000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CBAUD = 0xff + CBAUDEX = 0x0 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0xff0000 + CLOCAL = 0x8000 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x1000 + CR2 = 0x2000 + CR3 = 0x3000 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x3000 + CREAD = 0x800 + CRTSCTS = 0x80000000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIGNAL = 0xff + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x4000 + FFDLY = 0x4000 + FLUSHO = 0x800000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x3 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x5 + F_GETLK64 = 0xc + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0xd + F_SETLKW = 0x7 + F_SETLKW64 = 0xe + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x4000 + IBSHIFT = 0x10 + ICANON = 0x100 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x400 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x80 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x1000 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x80 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x40 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x20000 + MAP_TYPE = 0xf + MCL_CURRENT = 0x2000 + MCL_FUTURE = 0x4000 + MCL_ONFAULT = 0x8000 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x3 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NL2 = 0x200 + NL3 = 0x300 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x300 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80000000 + NSFS_MAGIC = 0x6e736673 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x4 + ONLCR = 0x2 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x20000 + O_DIRECTORY = 0x4000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x0 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x8000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x404000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x1000 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 + PPPIOCGASYNCMAP = 0x40047458 + PPPIOCGCHAN = 0x40047437 + PPPIOCGDEBUG = 0x40047441 + PPPIOCGFLAGS = 0x4004745a + PPPIOCGIDLE = 0x4010743f + PPPIOCGL2TPSTATS = 0x40487436 + PPPIOCGMRU = 0x40047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x40047455 + PPPIOCGUNIT = 0x40047456 + PPPIOCGXASYNCMAP = 0x40207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x80107446 + PPPIOCSASYNCMAP = 0x80047457 + PPPIOCSCOMPRESS = 0x8010744d + PPPIOCSDEBUG = 0x80047440 + PPPIOCSFLAGS = 0x80047459 + PPPIOCSMAXCID = 0x80047451 + PPPIOCSMRRU = 0x8004743b + PPPIOCSMRU = 0x80047452 + PPPIOCSNPMODE = 0x8008744b + PPPIOCSPASS = 0x80107447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f + PPPIOCXFERUNIT = 0x2000744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_SAO = 0x10 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETEVRREGS = 0x14 + PTRACE_GETFPREGS = 0xe + PTRACE_GETREGS = 0xc + PTRACE_GETREGS64 = 0x16 + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GETVRREGS = 0x12 + PTRACE_GETVSRREGS = 0x1b + PTRACE_GET_DEBUGREG = 0x19 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETEVRREGS = 0x15 + PTRACE_SETFPREGS = 0xf + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGS64 = 0x17 + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SETVRREGS = 0x13 + PTRACE_SETVSRREGS = 0x1c + PTRACE_SET_DEBUGREG = 0x1a + PTRACE_SINGLEBLOCK = 0x100 + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_SYSEMU = 0x1d + PTRACE_SYSEMU_SINGLESTEP = 0x1e + PTRACE_TRACEME = 0x0 + PT_CCR = 0x26 + PT_CTR = 0x23 + PT_DAR = 0x29 + PT_DSCR = 0x2c + PT_DSISR = 0x2a + PT_FPR0 = 0x30 + PT_FPSCR = 0x50 + PT_LNK = 0x24 + PT_MSR = 0x21 + PT_NIP = 0x20 + PT_ORIG_R3 = 0x22 + PT_R0 = 0x0 + PT_R1 = 0x1 + PT_R10 = 0xa + PT_R11 = 0xb + PT_R12 = 0xc + PT_R13 = 0xd + PT_R14 = 0xe + PT_R15 = 0xf + PT_R16 = 0x10 + PT_R17 = 0x11 + PT_R18 = 0x12 + PT_R19 = 0x13 + PT_R2 = 0x2 + PT_R20 = 0x14 + PT_R21 = 0x15 + PT_R22 = 0x16 + PT_R23 = 0x17 + PT_R24 = 0x18 + PT_R25 = 0x19 + PT_R26 = 0x1a + PT_R27 = 0x1b + PT_R28 = 0x1c + PT_R29 = 0x1d + PT_R3 = 0x3 + PT_R30 = 0x1e + PT_R31 = 0x1f + PT_R4 = 0x4 + PT_R5 = 0x5 + PT_R6 = 0x6 + PT_R7 = 0x7 + PT_R8 = 0x8 + PT_R9 = 0x9 + PT_REGS_COUNT = 0x2c + PT_RESULT = 0x2b + PT_SOFTE = 0x27 + PT_TRAP = 0x28 + PT_VR0 = 0x52 + PT_VRSAVE = 0x94 + PT_VSCR = 0x93 + PT_VSR0 = 0x96 + PT_VSR31 = 0xd4 + PT_XER = 0x25 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x80085203 + RNDADDTOENTCNT = 0x80045201 + RNDCLEARPOOL = 0x20005206 + RNDGETENTCNT = 0x40045200 + RNDGETPOOL = 0x40085202 + RNDRESEEDCRNG = 0x20005207 + RNDZAPENTCNT = 0x20005204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1d + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x20007002 + RTC_AIE_ON = 0x20007001 + RTC_ALM_READ = 0x40247008 + RTC_ALM_SET = 0x80247007 + RTC_EPOCH_READ = 0x4008700d + RTC_EPOCH_SET = 0x8008700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x4008700b + RTC_IRQP_SET = 0x8008700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x40207011 + RTC_PLL_SET = 0x80207012 + RTC_RD_TIME = 0x40247009 + RTC_SET_TIME = 0x8024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x20007004 + RTC_UIE_ON = 0x20007003 + RTC_VL_CLR = 0x20007014 + RTC_VL_READ = 0x40047013 + RTC_WIE_OFF = 0x20007010 + RTC_WIE_ON = 0x2000700f + RTC_WKALM_RD = 0x40287010 + RTC_WKALM_SET = 0x8028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x67 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x16 + RTM_NR_MSGTYPES = 0x58 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCINQ = 0x4004667f + SIOCOUTQ = 0x40047473 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x14 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x15 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x10 + SO_RCVTIMEO = 0x12 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x11 + SO_SNDTIMEO = 0x13 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x400 + TAB2 = 0x800 + TAB3 = 0xc00 + TABDLY = 0xc00 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x2000741f + TCGETA = 0x40147417 + TCGETS = 0x402c7413 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x2 + TCSBRK = 0x2000741d + TCSBRKP = 0x5425 + TCSETA = 0x80147418 + TCSETAF = 0x8014741c + TCSETAW = 0x80147419 + TCSETS = 0x802c7414 + TCSETSF = 0x802c7416 + TCSETSW = 0x802c7415 + TCXONC = 0x2000741e + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x40045432 + TIOCGETC = 0x40067412 + TIOCGETD = 0x5424 + TIOCGETP = 0x40067408 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x40285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGLTC = 0x40067474 + TIOCGPGRP = 0x40047477 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40045430 + TIOCGPTPEER = 0x20005441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x4004667f + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_LOOP = 0x8000 + TIOCM_OUT1 = 0x2000 + TIOCM_OUT2 = 0x4000 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETC = 0x80067411 + TIOCSETD = 0x5423 + TIOCSETN = 0x8006740a + TIOCSETP = 0x80067409 + TIOCSIG = 0x80045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSLTC = 0x80067475 + TIOCSPGRP = 0x80047476 + TIOCSPTLCK = 0x80045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTART = 0x2000746e + TIOCSTI = 0x5412 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x5437 + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x400000 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = -0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x801054d5 + TUNDETACHFILTER = 0x801054d6 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x401054db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETDEBUG = 0x800454c9 + TUNSETFILTEREBPF = 0x400454e1 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETSTEERINGEBPF = 0x400454e0 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UBI_IOCATT = 0x80186f40 + UBI_IOCDET = 0x80046f41 + UBI_IOCEBCH = 0x80044f02 + UBI_IOCEBER = 0x80044f01 + UBI_IOCEBISMAP = 0x40044f05 + UBI_IOCEBMAP = 0x80084f03 + UBI_IOCEBUNMAP = 0x80044f04 + UBI_IOCMKVOL = 0x80986f00 + UBI_IOCRMVOL = 0x80046f01 + UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRSVOL = 0x800c6f02 + UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCVOLCRBLK = 0x80804f07 + UBI_IOCVOLRMBLK = 0x20004f08 + UBI_IOCVOLUP = 0x80084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0x10 + VEOF = 0x4 + VEOL = 0x6 + VEOL2 = 0x8 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x5 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xb + VSTART = 0xd + VSTOP = 0xe + VSUSP = 0xc + VSWTC = 0x9 + VT0 = 0x0 + VT1 = 0x10000 + VTDLY = 0x10000 + VTIME = 0x7 + VWERASE = 0xa + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x40045702 + WDIOC_GETPRETIMEOUT = 0x40045709 + WDIOC_GETSTATUS = 0x40045701 + WDIOC_GETSUPPORT = 0x40285700 + WDIOC_GETTEMP = 0x40045703 + WDIOC_GETTIMELEFT = 0x4004570a + WDIOC_GETTIMEOUT = 0x40045707 + WDIOC_KEEPALIVE = 0x40045705 + WDIOC_SETOPTIONS = 0x40045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4000 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0xc00 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x3a) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {58, "EDEADLOCK", "file locking deadlock error"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go new file mode 100644 index 000000000..5aea4b909 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go @@ -0,0 +1,2769 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build riscv64,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x80081270 + BLKBSZSET = 0x40081271 + BLKFLSBUF = 0x1261 + BLKFRAGET = 0x1265 + BLKFRASET = 0x1264 + BLKGETSIZE = 0x1260 + BLKGETSIZE64 = 0x80081272 + BLKPBSZGET = 0x127b + BLKRAGET = 0x1263 + BLKRASET = 0x1262 + BLKROGET = 0x125e + BLKROSET = 0x125d + BLKRRPART = 0x125f + BLKSECTGET = 0x1267 + BLKSECTSET = 0x1266 + BLKSSZGET = 0x1268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_OR = 0x40 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x1000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x3 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x5 + F_GETLK64 = 0x5 + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x2000 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x4000 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x20000 + MAP_SYNC = 0x80000 + MAP_TYPE = 0xf + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x3 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x4000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x0 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x2401 + PERF_EVENT_IOC_ENABLE = 0x2400 + PERF_EVENT_IOC_ID = 0x80082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 + PERF_EVENT_IOC_PERIOD = 0x40082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x2402 + PERF_EVENT_IOC_RESET = 0x2403 + PERF_EVENT_IOC_SET_BPF = 0x40042408 + PERF_EVENT_IOC_SET_FILTER = 0x40082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 + PPPIOCGASYNCMAP = 0x80047458 + PPPIOCGCHAN = 0x80047437 + PPPIOCGDEBUG = 0x80047441 + PPPIOCGFLAGS = 0x8004745a + PPPIOCGIDLE = 0x8010743f + PPPIOCGL2TPSTATS = 0x80487436 + PPPIOCGMRU = 0x80047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x80047455 + PPPIOCGUNIT = 0x80047456 + PPPIOCGXASYNCMAP = 0x80207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x40107446 + PPPIOCSASYNCMAP = 0x40047457 + PPPIOCSCOMPRESS = 0x4010744d + PPPIOCSDEBUG = 0x40047440 + PPPIOCSFLAGS = 0x40047459 + PPPIOCSMAXCID = 0x40047451 + PPPIOCSMRRU = 0x4004743b + PPPIOCSMRU = 0x40047452 + PPPIOCSNPMODE = 0x4008744b + PPPIOCSPASS = 0x40107447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f + PPPIOCXFERUNIT = 0x744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_TRACEME = 0x0 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x40085203 + RNDADDTOENTCNT = 0x40045201 + RNDCLEARPOOL = 0x5206 + RNDGETENTCNT = 0x80045200 + RNDGETPOOL = 0x80085202 + RNDRESEEDCRNG = 0x5207 + RNDZAPENTCNT = 0x5204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1d + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x7002 + RTC_AIE_ON = 0x7001 + RTC_ALM_READ = 0x80247008 + RTC_ALM_SET = 0x40247007 + RTC_EPOCH_READ = 0x8008700d + RTC_EPOCH_SET = 0x4008700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x8008700b + RTC_IRQP_SET = 0x4008700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x80207011 + RTC_PLL_SET = 0x40207012 + RTC_RD_TIME = 0x80247009 + RTC_SET_TIME = 0x4024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x7004 + RTC_UIE_ON = 0x7003 + RTC_VL_CLR = 0x7014 + RTC_VL_READ = 0x80047013 + RTC_WIE_OFF = 0x7010 + RTC_WIE_ON = 0x700f + RTC_WKALM_RD = 0x80287010 + RTC_WKALM_SET = 0x4028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x67 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x16 + RTM_NR_MSGTYPES = 0x58 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCINQ = 0x541b + SIOCOUTQ = 0x5411 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x10 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 + SO_RCVTIMEO = 0x14 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x13 + SO_SNDTIMEO = 0x15 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x540b + TCGETA = 0x5405 + TCGETS = 0x5401 + TCGETS2 = 0x802c542a + TCGETX = 0x5432 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSBRKP = 0x5425 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETS2 = 0x402c542b + TCSETSF = 0x5404 + TCSETSF2 = 0x402c542d + TCSETSW = 0x5403 + TCSETSW2 = 0x402c542c + TCSETX = 0x5433 + TCSETXF = 0x5434 + TCSETXW = 0x5435 + TCXONC = 0x540a + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x80045432 + TIOCGETD = 0x5424 + TIOCGEXCL = 0x80045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x80285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x540f + TIOCGPKT = 0x80045438 + TIOCGPTLCK = 0x80045439 + TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x5413 + TIOCINQ = 0x541b + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x5411 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x5423 + TIOCSIG = 0x40045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x5410 + TIOCSPTLCK = 0x40045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTI = 0x5412 + TIOCSWINSZ = 0x5414 + TIOCVHANGUP = 0x5437 + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x100 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = -0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x401054d5 + TUNDETACHFILTER = 0x401054d6 + TUNGETFEATURES = 0x800454cf + TUNGETFILTER = 0x801054db + TUNGETIFF = 0x800454d2 + TUNGETSNDBUF = 0x800454d3 + TUNGETVNETBE = 0x800454df + TUNGETVNETHDRSZ = 0x800454d7 + TUNGETVNETLE = 0x800454dd + TUNSETDEBUG = 0x400454c9 + TUNSETFILTEREBPF = 0x800454e1 + TUNSETGROUP = 0x400454ce + TUNSETIFF = 0x400454ca + TUNSETIFINDEX = 0x400454da + TUNSETLINK = 0x400454cd + TUNSETNOCSUM = 0x400454c8 + TUNSETOFFLOAD = 0x400454d0 + TUNSETOWNER = 0x400454cc + TUNSETPERSIST = 0x400454cb + TUNSETQUEUE = 0x400454d9 + TUNSETSNDBUF = 0x400454d4 + TUNSETSTEERINGEBPF = 0x800454e0 + TUNSETTXFILTER = 0x400454d1 + TUNSETVNETBE = 0x400454de + TUNSETVNETHDRSZ = 0x400454d8 + TUNSETVNETLE = 0x400454dc + UBI_IOCATT = 0x40186f40 + UBI_IOCDET = 0x40046f41 + UBI_IOCEBCH = 0x40044f02 + UBI_IOCEBER = 0x40044f01 + UBI_IOCEBISMAP = 0x80044f05 + UBI_IOCEBMAP = 0x40084f03 + UBI_IOCEBUNMAP = 0x40044f04 + UBI_IOCMKVOL = 0x40986f00 + UBI_IOCRMVOL = 0x40046f01 + UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRSVOL = 0x400c6f02 + UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCVOLCRBLK = 0x40804f07 + UBI_IOCVOLRMBLK = 0x4f08 + UBI_IOCVOLUP = 0x40084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x6 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x80045702 + WDIOC_GETPRETIMEOUT = 0x80045709 + WDIOC_GETSTATUS = 0x80045701 + WDIOC_GETSUPPORT = 0x80285700 + WDIOC_GETTEMP = 0x80045703 + WDIOC_GETTIMELEFT = 0x8004570a + WDIOC_GETTIMEOUT = 0x80045707 + WDIOC_KEEPALIVE = 0x80045705 + WDIOC_SETOPTIONS = 0x80045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x23) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go new file mode 100644 index 000000000..7f7c2e3e2 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go @@ -0,0 +1,2842 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include -fsigned-char +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build s390x,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x80081270 + BLKBSZSET = 0x40081271 + BLKFLSBUF = 0x1261 + BLKFRAGET = 0x1265 + BLKFRASET = 0x1264 + BLKGETSIZE = 0x1260 + BLKGETSIZE64 = 0x80081272 + BLKPBSZGET = 0x127b + BLKRAGET = 0x1263 + BLKRASET = 0x1262 + BLKROGET = 0x125e + BLKROSET = 0x125d + BLKRRPART = 0x125f + BLKSECTGET = 0x1267 + BLKSECTSET = 0x1266 + BLKSSZGET = 0x1268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_OR = 0x40 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x80000 + EFD_NONBLOCK = 0x800 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x80000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x1000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x3 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x5 + F_GETLK64 = 0x5 + F_GETOWN = 0x9 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x0 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETOWN = 0x8 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x2 + F_WRLCK = 0x1 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x80000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x800 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x100 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x2000 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x4000 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x20000 + MAP_SYNC = 0x80000 + MAP_TYPE = 0xf + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x3 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 + O_CREAT = 0x40 + O_DIRECT = 0x4000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x1000 + O_EXCL = 0x80 + O_FSYNC = 0x101000 + O_LARGEFILE = 0x0 + O_NDELAY = 0x800 + O_NOATIME = 0x40000 + O_NOCTTY = 0x100 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x800 + O_PATH = 0x200000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x101000 + O_SYNC = 0x101000 + O_TMPFILE = 0x410000 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x2401 + PERF_EVENT_IOC_ENABLE = 0x2400 + PERF_EVENT_IOC_ID = 0x80082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 + PERF_EVENT_IOC_PERIOD = 0x40082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x2402 + PERF_EVENT_IOC_RESET = 0x2403 + PERF_EVENT_IOC_SET_BPF = 0x40042408 + PERF_EVENT_IOC_SET_FILTER = 0x40082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 + PPPIOCGASYNCMAP = 0x80047458 + PPPIOCGCHAN = 0x80047437 + PPPIOCGDEBUG = 0x80047441 + PPPIOCGFLAGS = 0x8004745a + PPPIOCGIDLE = 0x8010743f + PPPIOCGL2TPSTATS = 0x80487436 + PPPIOCGMRU = 0x80047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x80047455 + PPPIOCGUNIT = 0x80047456 + PPPIOCGXASYNCMAP = 0x80207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x40107446 + PPPIOCSASYNCMAP = 0x40047457 + PPPIOCSCOMPRESS = 0x4010744d + PPPIOCSDEBUG = 0x40047440 + PPPIOCSFLAGS = 0x40047459 + PPPIOCSMAXCID = 0x40047451 + PPPIOCSMRRU = 0x4004743b + PPPIOCSMRU = 0x40047452 + PPPIOCSNPMODE = 0x4008744b + PPPIOCSPASS = 0x40107447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f + PPPIOCXFERUNIT = 0x744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_DISABLE_TE = 0x5010 + PTRACE_ENABLE_TE = 0x5009 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETREGS = 0xc + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_GET_LAST_BREAK = 0x5006 + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_OLDSETOPTIONS = 0x15 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKDATA_AREA = 0x5003 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKTEXT_AREA = 0x5002 + PTRACE_PEEKUSR = 0x3 + PTRACE_PEEKUSR_AREA = 0x5000 + PTRACE_PEEK_SYSTEM_CALL = 0x5007 + PTRACE_POKEDATA = 0x5 + PTRACE_POKEDATA_AREA = 0x5005 + PTRACE_POKETEXT = 0x4 + PTRACE_POKETEXT_AREA = 0x5004 + PTRACE_POKEUSR = 0x6 + PTRACE_POKEUSR_AREA = 0x5001 + PTRACE_POKE_SYSTEM_CALL = 0x5008 + PTRACE_PROT = 0x15 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SINGLEBLOCK = 0xc + PTRACE_SINGLESTEP = 0x9 + PTRACE_SYSCALL = 0x18 + PTRACE_TE_ABORT_RAND = 0x5011 + PTRACE_TRACEME = 0x0 + PT_ACR0 = 0x90 + PT_ACR1 = 0x94 + PT_ACR10 = 0xb8 + PT_ACR11 = 0xbc + PT_ACR12 = 0xc0 + PT_ACR13 = 0xc4 + PT_ACR14 = 0xc8 + PT_ACR15 = 0xcc + PT_ACR2 = 0x98 + PT_ACR3 = 0x9c + PT_ACR4 = 0xa0 + PT_ACR5 = 0xa4 + PT_ACR6 = 0xa8 + PT_ACR7 = 0xac + PT_ACR8 = 0xb0 + PT_ACR9 = 0xb4 + PT_CR_10 = 0x168 + PT_CR_11 = 0x170 + PT_CR_9 = 0x160 + PT_ENDREGS = 0x1af + PT_FPC = 0xd8 + PT_FPR0 = 0xe0 + PT_FPR1 = 0xe8 + PT_FPR10 = 0x130 + PT_FPR11 = 0x138 + PT_FPR12 = 0x140 + PT_FPR13 = 0x148 + PT_FPR14 = 0x150 + PT_FPR15 = 0x158 + PT_FPR2 = 0xf0 + PT_FPR3 = 0xf8 + PT_FPR4 = 0x100 + PT_FPR5 = 0x108 + PT_FPR6 = 0x110 + PT_FPR7 = 0x118 + PT_FPR8 = 0x120 + PT_FPR9 = 0x128 + PT_GPR0 = 0x10 + PT_GPR1 = 0x18 + PT_GPR10 = 0x60 + PT_GPR11 = 0x68 + PT_GPR12 = 0x70 + PT_GPR13 = 0x78 + PT_GPR14 = 0x80 + PT_GPR15 = 0x88 + PT_GPR2 = 0x20 + PT_GPR3 = 0x28 + PT_GPR4 = 0x30 + PT_GPR5 = 0x38 + PT_GPR6 = 0x40 + PT_GPR7 = 0x48 + PT_GPR8 = 0x50 + PT_GPR9 = 0x58 + PT_IEEE_IP = 0x1a8 + PT_LASTOFF = 0x1a8 + PT_ORIGGPR2 = 0xd0 + PT_PSWADDR = 0x8 + PT_PSWMASK = 0x0 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x7 + RLIMIT_NPROC = 0x6 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x40085203 + RNDADDTOENTCNT = 0x40045201 + RNDCLEARPOOL = 0x5206 + RNDGETENTCNT = 0x80045200 + RNDGETPOOL = 0x80085202 + RNDRESEEDCRNG = 0x5207 + RNDZAPENTCNT = 0x5204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1d + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x7002 + RTC_AIE_ON = 0x7001 + RTC_ALM_READ = 0x80247008 + RTC_ALM_SET = 0x40247007 + RTC_EPOCH_READ = 0x8008700d + RTC_EPOCH_SET = 0x4008700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x8008700b + RTC_IRQP_SET = 0x4008700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x80207011 + RTC_PLL_SET = 0x40207012 + RTC_RD_TIME = 0x80247009 + RTC_SET_TIME = 0x4024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x7004 + RTC_UIE_ON = 0x7003 + RTC_VL_CLR = 0x7014 + RTC_VL_READ = 0x80047013 + RTC_WIE_OFF = 0x7010 + RTC_WIE_ON = 0x700f + RTC_WKALM_RD = 0x80287010 + RTC_WKALM_SET = 0x4028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x67 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x16 + RTM_NR_MSGTYPES = 0x58 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x25 + SCM_TIMESTAMPING_OPT_STATS = 0x36 + SCM_TIMESTAMPING_PKTINFO = 0x3a + SCM_TIMESTAMPNS = 0x23 + SCM_TXTIME = 0x3d + SCM_WIFI_STATUS = 0x29 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x80000 + SFD_NONBLOCK = 0x800 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCINQ = 0x541b + SIOCOUTQ = 0x5411 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x80000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x800 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0x1 + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x1e + SO_ATTACH_BPF = 0x32 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x33 + SO_ATTACH_REUSEPORT_EBPF = 0x34 + SO_BINDTODEVICE = 0x19 + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe + SO_BUSY_POLL = 0x2e + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x27 + SO_DONTROUTE = 0x5 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x4 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x31 + SO_INCOMING_NAPI_ID = 0x38 + SO_KEEPALIVE = 0x9 + SO_LINGER = 0xd + SO_LOCK_FILTER = 0x2c + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 + SO_NOFCS = 0x2b + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x10 + SO_PASSSEC = 0x22 + SO_PEEK_OFF = 0x2a + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1f + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 + SO_RCVTIMEO = 0x14 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 + SO_SECURITY_AUTHENTICATION = 0x16 + SO_SECURITY_ENCRYPTION_NETWORK = 0x18 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 + SO_SELECT_ERR_QUEUE = 0x2d + SO_SNDBUF = 0x7 + SO_SNDBUFFORCE = 0x20 + SO_SNDLOWAT = 0x13 + SO_SNDTIMEO = 0x15 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x25 + SO_TIMESTAMPNS = 0x23 + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x29 + SO_ZEROCOPY = 0x3c + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x540b + TCGETA = 0x5405 + TCGETS = 0x5401 + TCGETS2 = 0x802c542a + TCGETX = 0x5432 + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x2 + TCSBRK = 0x5409 + TCSBRKP = 0x5425 + TCSETA = 0x5406 + TCSETAF = 0x5408 + TCSETAW = 0x5407 + TCSETS = 0x5402 + TCSETS2 = 0x402c542b + TCSETSF = 0x5404 + TCSETSF2 = 0x402c542d + TCSETSW = 0x5403 + TCSETSW2 = 0x402c542c + TCSETX = 0x5433 + TCSETXF = 0x5434 + TCSETXW = 0x5435 + TCXONC = 0x540a + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c + TIOCGDEV = 0x80045432 + TIOCGETD = 0x5424 + TIOCGEXCL = 0x80045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x80285442 + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x540f + TIOCGPKT = 0x80045438 + TIOCGPTLCK = 0x80045439 + TIOCGPTN = 0x80045430 + TIOCGPTPEER = 0x5441 + TIOCGRS485 = 0x542e + TIOCGSERIAL = 0x541e + TIOCGSID = 0x5429 + TIOCGSOFTCAR = 0x5419 + TIOCGWINSZ = 0x5413 + TIOCINQ = 0x541b + TIOCLINUX = 0x541c + TIOCMBIC = 0x5417 + TIOCMBIS = 0x5416 + TIOCMGET = 0x5415 + TIOCMIWAIT = 0x545c + TIOCMSET = 0x5418 + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x5422 + TIOCNXCL = 0x540d + TIOCOUTQ = 0x5411 + TIOCPKT = 0x5420 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x5427 + TIOCSCTTY = 0x540e + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSER_TEMT = 0x1 + TIOCSETD = 0x5423 + TIOCSIG = 0x40045436 + TIOCSISO7816 = 0xc0285443 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x5410 + TIOCSPTLCK = 0x40045431 + TIOCSRS485 = 0x542f + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x541a + TIOCSTI = 0x5412 + TIOCSWINSZ = 0x5414 + TIOCVHANGUP = 0x5437 + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x100 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = -0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x401054d5 + TUNDETACHFILTER = 0x401054d6 + TUNGETFEATURES = 0x800454cf + TUNGETFILTER = 0x801054db + TUNGETIFF = 0x800454d2 + TUNGETSNDBUF = 0x800454d3 + TUNGETVNETBE = 0x800454df + TUNGETVNETHDRSZ = 0x800454d7 + TUNGETVNETLE = 0x800454dd + TUNSETDEBUG = 0x400454c9 + TUNSETFILTEREBPF = 0x800454e1 + TUNSETGROUP = 0x400454ce + TUNSETIFF = 0x400454ca + TUNSETIFINDEX = 0x400454da + TUNSETLINK = 0x400454cd + TUNSETNOCSUM = 0x400454c8 + TUNSETOFFLOAD = 0x400454d0 + TUNSETOWNER = 0x400454cc + TUNSETPERSIST = 0x400454cb + TUNSETQUEUE = 0x400454d9 + TUNSETSNDBUF = 0x400454d4 + TUNSETSTEERINGEBPF = 0x800454e0 + TUNSETTXFILTER = 0x400454d1 + TUNSETVNETBE = 0x400454de + TUNSETVNETHDRSZ = 0x400454d8 + TUNSETVNETLE = 0x400454dc + UBI_IOCATT = 0x40186f40 + UBI_IOCDET = 0x40046f41 + UBI_IOCEBCH = 0x40044f02 + UBI_IOCEBER = 0x40044f01 + UBI_IOCEBISMAP = 0x80044f05 + UBI_IOCEBMAP = 0x40084f03 + UBI_IOCEBUNMAP = 0x40044f04 + UBI_IOCMKVOL = 0x40986f00 + UBI_IOCRMVOL = 0x40046f01 + UBI_IOCRNVOL = 0x51106f03 + UBI_IOCRSVOL = 0x400c6f02 + UBI_IOCSETVOLPROP = 0x40104f06 + UBI_IOCVOLCRBLK = 0x40804f07 + UBI_IOCVOLRMBLK = 0x4f08 + UBI_IOCVOLUP = 0x40084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x6 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x80045702 + WDIOC_GETPRETIMEOUT = 0x80045709 + WDIOC_GETSTATUS = 0x80045701 + WDIOC_GETSUPPORT = 0x80285700 + WDIOC_GETTEMP = 0x80045703 + WDIOC_GETTIMELEFT = 0x8004570a + WDIOC_GETTIMEOUT = 0x80045707 + WDIOC_KEEPALIVE = 0x80045705 + WDIOC_SETOPTIONS = 0x80045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + ZSMALLOC_MAGIC = 0x58295829 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x62) + EADDRNOTAVAIL = syscall.Errno(0x63) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x61) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x72) + EBADE = syscall.Errno(0x34) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x4d) + EBADMSG = syscall.Errno(0x4a) + EBADR = syscall.Errno(0x35) + EBADRQC = syscall.Errno(0x38) + EBADSLT = syscall.Errno(0x39) + EBFONT = syscall.Errno(0x3b) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7d) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x2c) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x67) + ECONNREFUSED = syscall.Errno(0x6f) + ECONNRESET = syscall.Errno(0x68) + EDEADLK = syscall.Errno(0x23) + EDEADLOCK = syscall.Errno(0x23) + EDESTADDRREQ = syscall.Errno(0x59) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x49) + EDQUOT = syscall.Errno(0x7a) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x70) + EHOSTUNREACH = syscall.Errno(0x71) + EHWPOISON = syscall.Errno(0x85) + EIDRM = syscall.Errno(0x2b) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x73) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x6a) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x7f) + EKEYREJECTED = syscall.Errno(0x81) + EKEYREVOKED = syscall.Errno(0x80) + EL2HLT = syscall.Errno(0x33) + EL2NSYNC = syscall.Errno(0x2d) + EL3HLT = syscall.Errno(0x2e) + EL3RST = syscall.Errno(0x2f) + ELIBACC = syscall.Errno(0x4f) + ELIBBAD = syscall.Errno(0x50) + ELIBEXEC = syscall.Errno(0x53) + ELIBMAX = syscall.Errno(0x52) + ELIBSCN = syscall.Errno(0x51) + ELNRNG = syscall.Errno(0x30) + ELOOP = syscall.Errno(0x28) + EMEDIUMTYPE = syscall.Errno(0x7c) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x5a) + EMULTIHOP = syscall.Errno(0x48) + ENAMETOOLONG = syscall.Errno(0x24) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x64) + ENETRESET = syscall.Errno(0x66) + ENETUNREACH = syscall.Errno(0x65) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x37) + ENOBUFS = syscall.Errno(0x69) + ENOCSI = syscall.Errno(0x32) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x7e) + ENOLCK = syscall.Errno(0x25) + ENOLINK = syscall.Errno(0x43) + ENOMEDIUM = syscall.Errno(0x7b) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x2a) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x5c) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x26) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x6b) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x27) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x83) + ENOTSOCK = syscall.Errno(0x58) + ENOTSUP = syscall.Errno(0x5f) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x4c) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x5f) + EOVERFLOW = syscall.Errno(0x4b) + EOWNERDEAD = syscall.Errno(0x82) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x60) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x5d) + EPROTOTYPE = syscall.Errno(0x5b) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x4e) + EREMOTE = syscall.Errno(0x42) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x55) + ERFKILL = syscall.Errno(0x84) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x6c) + ESOCKTNOSUPPORT = syscall.Errno(0x5e) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x74) + ESTRPIPE = syscall.Errno(0x56) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x6e) + ETOOMANYREFS = syscall.Errno(0x6d) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x31) + EUSERS = syscall.Errno(0x57) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x36) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0x7) + SIGCHLD = syscall.Signal(0x11) + SIGCLD = syscall.Signal(0x11) + SIGCONT = syscall.Signal(0x12) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x1d) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x1d) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1e) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTKFLT = syscall.Signal(0x10) + SIGSTOP = syscall.Signal(0x13) + SIGSYS = syscall.Signal(0x1f) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x14) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x17) + SIGUSR1 = syscall.Signal(0xa) + SIGUSR2 = syscall.Signal(0xc) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {35, "EDEADLK", "resource deadlock avoided"}, + {36, "ENAMETOOLONG", "file name too long"}, + {37, "ENOLCK", "no locks available"}, + {38, "ENOSYS", "function not implemented"}, + {39, "ENOTEMPTY", "directory not empty"}, + {40, "ELOOP", "too many levels of symbolic links"}, + {42, "ENOMSG", "no message of desired type"}, + {43, "EIDRM", "identifier removed"}, + {44, "ECHRNG", "channel number out of range"}, + {45, "EL2NSYNC", "level 2 not synchronized"}, + {46, "EL3HLT", "level 3 halted"}, + {47, "EL3RST", "level 3 reset"}, + {48, "ELNRNG", "link number out of range"}, + {49, "EUNATCH", "protocol driver not attached"}, + {50, "ENOCSI", "no CSI structure available"}, + {51, "EL2HLT", "level 2 halted"}, + {52, "EBADE", "invalid exchange"}, + {53, "EBADR", "invalid request descriptor"}, + {54, "EXFULL", "exchange full"}, + {55, "ENOANO", "no anode"}, + {56, "EBADRQC", "invalid request code"}, + {57, "EBADSLT", "invalid slot"}, + {59, "EBFONT", "bad font file format"}, + {60, "ENOSTR", "device not a stream"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of streams resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "EMULTIHOP", "multihop attempted"}, + {73, "EDOTDOT", "RFS specific error"}, + {74, "EBADMSG", "bad message"}, + {75, "EOVERFLOW", "value too large for defined data type"}, + {76, "ENOTUNIQ", "name not unique on network"}, + {77, "EBADFD", "file descriptor in bad state"}, + {78, "EREMCHG", "remote address changed"}, + {79, "ELIBACC", "can not access a needed shared library"}, + {80, "ELIBBAD", "accessing a corrupted shared library"}, + {81, "ELIBSCN", ".lib section in a.out corrupted"}, + {82, "ELIBMAX", "attempting to link in too many shared libraries"}, + {83, "ELIBEXEC", "cannot exec a shared library directly"}, + {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {85, "ERESTART", "interrupted system call should be restarted"}, + {86, "ESTRPIPE", "streams pipe error"}, + {87, "EUSERS", "too many users"}, + {88, "ENOTSOCK", "socket operation on non-socket"}, + {89, "EDESTADDRREQ", "destination address required"}, + {90, "EMSGSIZE", "message too long"}, + {91, "EPROTOTYPE", "protocol wrong type for socket"}, + {92, "ENOPROTOOPT", "protocol not available"}, + {93, "EPROTONOSUPPORT", "protocol not supported"}, + {94, "ESOCKTNOSUPPORT", "socket type not supported"}, + {95, "ENOTSUP", "operation not supported"}, + {96, "EPFNOSUPPORT", "protocol family not supported"}, + {97, "EAFNOSUPPORT", "address family not supported by protocol"}, + {98, "EADDRINUSE", "address already in use"}, + {99, "EADDRNOTAVAIL", "cannot assign requested address"}, + {100, "ENETDOWN", "network is down"}, + {101, "ENETUNREACH", "network is unreachable"}, + {102, "ENETRESET", "network dropped connection on reset"}, + {103, "ECONNABORTED", "software caused connection abort"}, + {104, "ECONNRESET", "connection reset by peer"}, + {105, "ENOBUFS", "no buffer space available"}, + {106, "EISCONN", "transport endpoint is already connected"}, + {107, "ENOTCONN", "transport endpoint is not connected"}, + {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {109, "ETOOMANYREFS", "too many references: cannot splice"}, + {110, "ETIMEDOUT", "connection timed out"}, + {111, "ECONNREFUSED", "connection refused"}, + {112, "EHOSTDOWN", "host is down"}, + {113, "EHOSTUNREACH", "no route to host"}, + {114, "EALREADY", "operation already in progress"}, + {115, "EINPROGRESS", "operation now in progress"}, + {116, "ESTALE", "stale file handle"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EDQUOT", "disk quota exceeded"}, + {123, "ENOMEDIUM", "no medium found"}, + {124, "EMEDIUMTYPE", "wrong medium type"}, + {125, "ECANCELED", "operation canceled"}, + {126, "ENOKEY", "required key not available"}, + {127, "EKEYEXPIRED", "key has expired"}, + {128, "EKEYREVOKED", "key has been revoked"}, + {129, "EKEYREJECTED", "key was rejected by service"}, + {130, "EOWNERDEAD", "owner died"}, + {131, "ENOTRECOVERABLE", "state not recoverable"}, + {132, "ERFKILL", "operation not possible due to RF-kill"}, + {133, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGBUS", "bus error"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGUSR1", "user defined signal 1"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGUSR2", "user defined signal 2"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGSTKFLT", "stack fault"}, + {17, "SIGCHLD", "child exited"}, + {18, "SIGCONT", "continued"}, + {19, "SIGSTOP", "stopped (signal)"}, + {20, "SIGTSTP", "stopped"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGURG", "urgent I/O condition"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGIO", "I/O possible"}, + {30, "SIGPWR", "power failure"}, + {31, "SIGSYS", "bad system call"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go new file mode 100644 index 000000000..968e21fd6 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go @@ -0,0 +1,2838 @@ +// mkerrors.sh -Wall -Werror -static -I/tmp/include +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build sparc64,linux + +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go + +package unix + +import "syscall" + +const ( + AAFS_MAGIC = 0x5a3c69f0 + ADFS_SUPER_MAGIC = 0xadf5 + AFFS_SUPER_MAGIC = 0xadff + AFS_FS_MAGIC = 0x6b414653 + AFS_SUPER_MAGIC = 0x5346414f + AF_ALG = 0x26 + AF_APPLETALK = 0x5 + AF_ASH = 0x12 + AF_ATMPVC = 0x8 + AF_ATMSVC = 0x14 + AF_AX25 = 0x3 + AF_BLUETOOTH = 0x1f + AF_BRIDGE = 0x7 + AF_CAIF = 0x25 + AF_CAN = 0x1d + AF_DECnet = 0xc + AF_ECONET = 0x13 + AF_FILE = 0x1 + AF_IB = 0x1b + AF_IEEE802154 = 0x24 + AF_INET = 0x2 + AF_INET6 = 0xa + AF_IPX = 0x4 + AF_IRDA = 0x17 + AF_ISDN = 0x22 + AF_IUCV = 0x20 + AF_KCM = 0x29 + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 + AF_MAX = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 + AF_NETROM = 0x6 + AF_NFC = 0x27 + AF_PACKET = 0x11 + AF_PHONET = 0x23 + AF_PPPOX = 0x18 + AF_QIPCRTR = 0x2a + AF_RDS = 0x15 + AF_ROSE = 0xb + AF_ROUTE = 0x10 + AF_RXRPC = 0x21 + AF_SECURITY = 0xe + AF_SMC = 0x2b + AF_SNA = 0x16 + AF_TIPC = 0x1e + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_VSOCK = 0x28 + AF_WANPIPE = 0x19 + AF_X25 = 0x9 + AF_XDP = 0x2c + ALG_OP_DECRYPT = 0x0 + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 + ANON_INODE_FS_MAGIC = 0x9041934 + ARPHRD_6LOWPAN = 0x339 + ARPHRD_ADAPT = 0x108 + ARPHRD_APPLETLK = 0x8 + ARPHRD_ARCNET = 0x7 + ARPHRD_ASH = 0x30d + ARPHRD_ATM = 0x13 + ARPHRD_AX25 = 0x3 + ARPHRD_BIF = 0x307 + ARPHRD_CAIF = 0x336 + ARPHRD_CAN = 0x118 + ARPHRD_CHAOS = 0x5 + ARPHRD_CISCO = 0x201 + ARPHRD_CSLIP = 0x101 + ARPHRD_CSLIP6 = 0x103 + ARPHRD_DDCMP = 0x205 + ARPHRD_DLCI = 0xf + ARPHRD_ECONET = 0x30e + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_EUI64 = 0x1b + ARPHRD_FCAL = 0x311 + ARPHRD_FCFABRIC = 0x313 + ARPHRD_FCPL = 0x312 + ARPHRD_FCPP = 0x310 + ARPHRD_FDDI = 0x306 + ARPHRD_FRAD = 0x302 + ARPHRD_HDLC = 0x201 + ARPHRD_HIPPI = 0x30c + ARPHRD_HWX25 = 0x110 + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IEEE80211 = 0x321 + ARPHRD_IEEE80211_PRISM = 0x322 + ARPHRD_IEEE80211_RADIOTAP = 0x323 + ARPHRD_IEEE802154 = 0x324 + ARPHRD_IEEE802154_MONITOR = 0x325 + ARPHRD_IEEE802_TR = 0x320 + ARPHRD_INFINIBAND = 0x20 + ARPHRD_IP6GRE = 0x337 + ARPHRD_IPDDP = 0x309 + ARPHRD_IPGRE = 0x30a + ARPHRD_IRDA = 0x30f + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 + ARPHRD_NONE = 0xfffe + ARPHRD_PHONET = 0x334 + ARPHRD_PHONET_PIPE = 0x335 + ARPHRD_PIMREG = 0x30b + ARPHRD_PPP = 0x200 + ARPHRD_PRONET = 0x4 + ARPHRD_RAWHDLC = 0x206 + ARPHRD_RAWIP = 0x207 + ARPHRD_ROSE = 0x10e + ARPHRD_RSRVD = 0x104 + ARPHRD_SIT = 0x308 + ARPHRD_SKIP = 0x303 + ARPHRD_SLIP = 0x100 + ARPHRD_SLIP6 = 0x102 + ARPHRD_TUNNEL = 0x300 + ARPHRD_TUNNEL6 = 0x301 + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f + ASI_LEON_DFLUSH = 0x11 + ASI_LEON_IFLUSH = 0x10 + ASI_LEON_MMUFLUSH = 0x18 + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B1000000 = 0x1008 + B110 = 0x3 + B115200 = 0x1002 + B1152000 = 0x1009 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B1500000 = 0x100a + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B2000000 = 0x100b + B230400 = 0x1003 + B2400 = 0xb + B2500000 = 0x100c + B300 = 0x7 + B3000000 = 0x100d + B3500000 = 0x100e + B38400 = 0xf + B4000000 = 0x100f + B460800 = 0x1004 + B4800 = 0xc + B50 = 0x1 + B500000 = 0x1005 + B57600 = 0x1001 + B576000 = 0x1006 + B600 = 0x8 + B75 = 0x2 + B921600 = 0x1007 + B9600 = 0xd + BALLOON_KVM_MAGIC = 0x13661366 + BDEVFS_MAGIC = 0x62646576 + BINFMTFS_MAGIC = 0x42494e4d + BLKBSZGET = 0x40081270 + BLKBSZSET = 0x80081271 + BLKFLSBUF = 0x20001261 + BLKFRAGET = 0x20001265 + BLKFRASET = 0x20001264 + BLKGETSIZE = 0x20001260 + BLKGETSIZE64 = 0x40081272 + BLKPBSZGET = 0x2000127b + BLKRAGET = 0x20001263 + BLKRASET = 0x20001262 + BLKROGET = 0x2000125e + BLKROSET = 0x2000125d + BLKRRPART = 0x2000125f + BLKSECTGET = 0x20001267 + BLKSECTSET = 0x20001266 + BLKSSZGET = 0x20001268 + BOTHER = 0x1000 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIV = 0x30 + BPF_FS_MAGIC = 0xcafe4a11 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LL_OFF = -0x200000 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXINSNS = 0x1000 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 + BPF_OR = 0x40 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 + CAN_BCM = 0x2 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff + CAN_ERR_FLAG = 0x20000000 + CAN_ERR_MASK = 0x1fffffff + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x7 + CAN_RAW = 0x1 + CAN_RAW_FILTER_MAX = 0x200 + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CBAUD = 0x100f + CBAUDEX = 0x1000 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb + CIBAUD = 0x100f0000 + CLOCAL = 0x800 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 + CLOCK_EXT = 0x1 + CLOCK_INT = 0x2 + CLOCK_MONOTONIC = 0x1 + CLOCK_MONOTONIC_COARSE = 0x6 + CLOCK_MONOTONIC_RAW = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_REALTIME_ALARM = 0x8 + CLOCK_REALTIME_COARSE = 0x5 + CLOCK_TAI = 0xb + CLOCK_THREAD_CPUTIME_ID = 0x3 + CLOCK_TXFROMRX = 0x4 + CLOCK_TXINT = 0x3 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 + CLONE_NEWNET = 0x40000000 + CLONE_NEWNS = 0x20000 + CLONE_NEWPID = 0x20000000 + CLONE_NEWUSER = 0x10000000 + CLONE_NEWUTS = 0x4000000 + CLONE_PARENT = 0x8000 + CLONE_PARENT_SETTID = 0x100000 + CLONE_PTRACE = 0x2000 + CLONE_SETTLS = 0x80000 + CLONE_SIGHAND = 0x800 + CLONE_SYSVSEM = 0x40000 + CLONE_THREAD = 0x10000 + CLONE_UNTRACED = 0x800000 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CMSPAR = 0x40000000 + CODA_SUPER_MAGIC = 0x73757245 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRAMFS_MAGIC = 0x28cd3d45 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIGNAL = 0xff + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x0 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + DAXFS_MAGIC = 0x64646178 + DEBUGFS_MAGIC = 0x64626720 + DEVPTS_SUPER_MAGIC = 0x1cd1 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + ECRYPTFS_SUPER_MAGIC = 0xf15f + EFD_CLOEXEC = 0x400000 + EFD_NONBLOCK = 0x4000 + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 + EMT_TAGOVF = 0x1 + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 + ENCODING_MANCHESTER = 0x5 + ENCODING_NRZ = 0x1 + ENCODING_NRZI = 0x2 + EPOLLERR = 0x8 + EPOLLET = 0x80000000 + EPOLLEXCLUSIVE = 0x10000000 + EPOLLHUP = 0x10 + EPOLLIN = 0x1 + EPOLLMSG = 0x400 + EPOLLONESHOT = 0x40000000 + EPOLLOUT = 0x4 + EPOLLPRI = 0x2 + EPOLLRDBAND = 0x80 + EPOLLRDHUP = 0x2000 + EPOLLRDNORM = 0x40 + EPOLLWAKEUP = 0x20000000 + EPOLLWRBAND = 0x200 + EPOLLWRNORM = 0x100 + EPOLL_CLOEXEC = 0x400000 + EPOLL_CTL_ADD = 0x1 + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 + ETH_P_8021Q = 0x8100 + ETH_P_80221 = 0x8917 + ETH_P_802_2 = 0x4 + ETH_P_802_3 = 0x1 + ETH_P_802_3_MIN = 0x600 + ETH_P_802_EX1 = 0x88b5 + ETH_P_AARP = 0x80f3 + ETH_P_AF_IUCV = 0xfbfb + ETH_P_ALL = 0x3 + ETH_P_AOE = 0x88a2 + ETH_P_ARCNET = 0x1a + ETH_P_ARP = 0x806 + ETH_P_ATALK = 0x809b + ETH_P_ATMFATE = 0x8884 + ETH_P_ATMMPOA = 0x884c + ETH_P_AX25 = 0x2 + ETH_P_BATMAN = 0x4305 + ETH_P_BPQ = 0x8ff + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 + ETH_P_DEC = 0x6000 + ETH_P_DIAG = 0x6005 + ETH_P_DNA_DL = 0x6001 + ETH_P_DNA_RC = 0x6002 + ETH_P_DNA_RT = 0x6003 + ETH_P_DSA = 0x1b + ETH_P_ECONET = 0x18 + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 + ETH_P_HSR = 0x892f + ETH_P_IBOE = 0x8915 + ETH_P_IEEE802154 = 0xf6 + ETH_P_IEEEPUP = 0xa00 + ETH_P_IEEEPUPAT = 0xa01 + ETH_P_IFE = 0xed3e + ETH_P_IP = 0x800 + ETH_P_IPV6 = 0x86dd + ETH_P_IPX = 0x8137 + ETH_P_IRDA = 0x17 + ETH_P_LAT = 0x6004 + ETH_P_LINK_CTL = 0x886c + ETH_P_LOCALTALK = 0x9 + ETH_P_LOOP = 0x60 + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f + ETH_P_PAE = 0x888e + ETH_P_PAUSE = 0x8808 + ETH_P_PHONET = 0xf5 + ETH_P_PPPTALK = 0x10 + ETH_P_PPP_DISC = 0x8863 + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 + ETH_P_QINQ1 = 0x9100 + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 + ETH_P_TDLS = 0x890d + ETH_P_TEB = 0x6558 + ETH_P_TIPC = 0x88ca + ETH_P_TRAILER = 0x1c + ETH_P_TR_802_2 = 0x11 + ETH_P_TSN = 0x22f0 + ETH_P_WAN_PPP = 0x7 + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 + EXABYTE_ENABLE_NEST = 0xf0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 + EXTA = 0xe + EXTB = 0xf + EXTPROC = 0x10000 + F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_COLLAPSE_RANGE = 0x8 + FALLOC_FL_INSERT_RANGE = 0x20 + FALLOC_FL_KEEP_SIZE = 0x1 + FALLOC_FL_NO_HIDE_STALE = 0x4 + FALLOC_FL_PUNCH_HOLE = 0x2 + FALLOC_FL_UNSHARE_RANGE = 0x40 + FALLOC_FL_ZERO_RANGE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHO = 0x1000 + FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 + FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 + FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 + FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 + FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 + FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 + FS_ENCRYPTION_MODE_INVALID = 0x0 + FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 + FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + FS_KEY_DESCRIPTOR_SIZE = 0x8 + FS_KEY_DESC_PREFIX = "fscrypt:" + FS_KEY_DESC_PREFIX_SIZE = 0x8 + FS_MAX_KEY_SIZE = 0x40 + FS_POLICY_FLAGS_PAD_16 = 0x2 + FS_POLICY_FLAGS_PAD_32 = 0x3 + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 + FS_POLICY_FLAGS_VALID = 0x3 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x406 + F_EXLCK = 0x4 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLEASE = 0x401 + F_GETLK = 0x7 + F_GETLK64 = 0x7 + F_GETOWN = 0x5 + F_GETOWN_EX = 0x10 + F_GETPIPE_SZ = 0x408 + F_GETSIG = 0xb + F_GET_FILE_RW_HINT = 0x40d + F_GET_RW_HINT = 0x40b + F_GET_SEALS = 0x40a + F_LOCK = 0x1 + F_NOTIFY = 0x402 + F_OFD_GETLK = 0x24 + F_OFD_SETLK = 0x25 + F_OFD_SETLKW = 0x26 + F_OK = 0x0 + F_RDLCK = 0x1 + F_SEAL_GROW = 0x4 + F_SEAL_SEAL = 0x1 + F_SEAL_SHRINK = 0x2 + F_SEAL_WRITE = 0x8 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLEASE = 0x400 + F_SETLK = 0x8 + F_SETLK64 = 0x8 + F_SETLKW = 0x9 + F_SETLKW64 = 0x9 + F_SETOWN = 0x6 + F_SETOWN_EX = 0xf + F_SETPIPE_SZ = 0x407 + F_SETSIG = 0xa + F_SET_FILE_RW_HINT = 0x40e + F_SET_RW_HINT = 0x40c + F_SHLCK = 0x8 + F_TEST = 0x3 + F_TLOCK = 0x2 + F_ULOCK = 0x0 + F_UNLCK = 0x3 + F_WRLCK = 0x2 + GENL_ADMIN_PERM = 0x1 + GENL_CMD_CAP_DO = 0x2 + GENL_CMD_CAP_DUMP = 0x4 + GENL_CMD_CAP_HASPOL = 0x8 + GENL_HDRLEN = 0x4 + GENL_ID_CTRL = 0x10 + GENL_ID_PMCRAID = 0x12 + GENL_ID_VFS_DQUOT = 0x11 + GENL_MAX_ID = 0x3ff + GENL_MIN_ID = 0x10 + GENL_NAMSIZ = 0x10 + GENL_START_ALLOC = 0x13 + GENL_UNS_ADMIN_PERM = 0x10 + GRND_NONBLOCK = 0x1 + GRND_RANDOM = 0x2 + HDIO_DRIVE_CMD = 0x31f + HDIO_DRIVE_CMD_AEB = 0x31e + HDIO_DRIVE_CMD_HDR_SIZE = 0x4 + HDIO_DRIVE_HOB_HDR_SIZE = 0x8 + HDIO_DRIVE_RESET = 0x31c + HDIO_DRIVE_TASK = 0x31e + HDIO_DRIVE_TASKFILE = 0x31d + HDIO_DRIVE_TASK_HDR_SIZE = 0x8 + HDIO_GETGEO = 0x301 + HDIO_GET_32BIT = 0x309 + HDIO_GET_ACOUSTIC = 0x30f + HDIO_GET_ADDRESS = 0x310 + HDIO_GET_BUSSTATE = 0x31a + HDIO_GET_DMA = 0x30b + HDIO_GET_IDENTITY = 0x30d + HDIO_GET_KEEPSETTINGS = 0x308 + HDIO_GET_MULTCOUNT = 0x304 + HDIO_GET_NICE = 0x30c + HDIO_GET_NOWERR = 0x30a + HDIO_GET_QDMA = 0x305 + HDIO_GET_UNMASKINTR = 0x302 + HDIO_GET_WCACHE = 0x30e + HDIO_OBSOLETE_IDENTITY = 0x307 + HDIO_SCAN_HWIF = 0x328 + HDIO_SET_32BIT = 0x324 + HDIO_SET_ACOUSTIC = 0x32c + HDIO_SET_ADDRESS = 0x32f + HDIO_SET_BUSSTATE = 0x32d + HDIO_SET_DMA = 0x326 + HDIO_SET_KEEPSETTINGS = 0x323 + HDIO_SET_MULTCOUNT = 0x321 + HDIO_SET_NICE = 0x329 + HDIO_SET_NOWERR = 0x325 + HDIO_SET_PIO_MODE = 0x327 + HDIO_SET_QDMA = 0x32e + HDIO_SET_UNMASKINTR = 0x322 + HDIO_SET_WCACHE = 0x32b + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 + IFA_F_HOMEADDRESS = 0x10 + IFA_F_MANAGETEMPADDR = 0x100 + IFA_F_MCAUTOJOIN = 0x400 + IFA_F_NODAD = 0x2 + IFA_F_NOPREFIXROUTE = 0x200 + IFA_F_OPTIMISTIC = 0x4 + IFA_F_PERMANENT = 0x80 + IFA_F_SECONDARY = 0x1 + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 + IFA_MAX = 0xa + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 + IFF_BROADCAST = 0x2 + IFF_DEBUG = 0x4 + IFF_DETACH_QUEUE = 0x400 + IFF_DORMANT = 0x20000 + IFF_DYNAMIC = 0x8000 + IFF_ECHO = 0x40000 + IFF_LOOPBACK = 0x8 + IFF_LOWER_UP = 0x10000 + IFF_MASTER = 0x400 + IFF_MULTICAST = 0x1000 + IFF_MULTI_QUEUE = 0x100 + IFF_NAPI = 0x10 + IFF_NAPI_FRAGS = 0x20 + IFF_NOARP = 0x80 + IFF_NOFILTER = 0x1000 + IFF_NOTRAILERS = 0x20 + IFF_NO_PI = 0x1000 + IFF_ONE_QUEUE = 0x2000 + IFF_PERSIST = 0x800 + IFF_POINTOPOINT = 0x10 + IFF_PORTSEL = 0x2000 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SLAVE = 0x800 + IFF_TAP = 0x2 + IFF_TUN = 0x1 + IFF_TUN_EXCL = 0x8000 + IFF_UP = 0x1 + IFF_VNET_HDR = 0x4000 + IFF_VOLATILE = 0x70c5a + IFNAMSIZ = 0x10 + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_ACCESS = 0x1 + IN_ALL_EVENTS = 0xfff + IN_ATTRIB = 0x4 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLOEXEC = 0x400000 + IN_CLOSE = 0x18 + IN_CLOSE_NOWRITE = 0x10 + IN_CLOSE_WRITE = 0x8 + IN_CREATE = 0x100 + IN_DELETE = 0x200 + IN_DELETE_SELF = 0x400 + IN_DONT_FOLLOW = 0x2000000 + IN_EXCL_UNLINK = 0x4000000 + IN_IGNORED = 0x8000 + IN_ISDIR = 0x40000000 + IN_LOOPBACKNET = 0x7f + IN_MASK_ADD = 0x20000000 + IN_MASK_CREATE = 0x10000000 + IN_MODIFY = 0x2 + IN_MOVE = 0xc0 + IN_MOVED_FROM = 0x40 + IN_MOVED_TO = 0x80 + IN_MOVE_SELF = 0x800 + IN_NONBLOCK = 0x4000 + IN_ONESHOT = 0x80000000 + IN_ONLYDIR = 0x1000000 + IN_OPEN = 0x20 + IN_Q_OVERFLOW = 0x4000 + IN_UNMOUNT = 0x2000 + IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 + IPPROTO_AH = 0x33 + IPPROTO_BEETPH = 0x5e + IPPROTO_COMP = 0x6c + IPPROTO_DCCP = 0x21 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPIP = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_UDPLITE = 0x88 + IPV6_2292DSTOPTS = 0x4 + IPV6_2292HOPLIMIT = 0x8 + IPV6_2292HOPOPTS = 0x3 + IPV6_2292PKTINFO = 0x2 + IPV6_2292PKTOPTIONS = 0x6 + IPV6_2292RTHDR = 0x5 + IPV6_ADDRFORM = 0x1 + IPV6_ADDR_PREFERENCES = 0x48 + IPV6_ADD_MEMBERSHIP = 0x14 + IPV6_AUTHHDR = 0xa + IPV6_AUTOFLOWLABEL = 0x46 + IPV6_CHECKSUM = 0x7 + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 + IPV6_HOPOPTS = 0x36 + IPV6_IPSEC_POLICY = 0x22 + IPV6_JOIN_ANYCAST = 0x1b + IPV6_JOIN_GROUP = 0x14 + IPV6_LEAVE_ANYCAST = 0x1c + IPV6_LEAVE_GROUP = 0x15 + IPV6_MINHOPCOUNT = 0x49 + IPV6_MTU = 0x18 + IPV6_MTU_DISCOVER = 0x17 + IPV6_MULTICAST_ALL = 0x1d + IPV6_MULTICAST_HOPS = 0x12 + IPV6_MULTICAST_IF = 0x11 + IPV6_MULTICAST_LOOP = 0x13 + IPV6_NEXTHOP = 0x9 + IPV6_ORIGDSTADDR = 0x4a + IPV6_PATHMTU = 0x3d + IPV6_PKTINFO = 0x32 + IPV6_PMTUDISC_DO = 0x2 + IPV6_PMTUDISC_DONT = 0x0 + IPV6_PMTUDISC_INTERFACE = 0x4 + IPV6_PMTUDISC_OMIT = 0x5 + IPV6_PMTUDISC_PROBE = 0x3 + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 + IPV6_RECVORIGDSTADDR = 0x4a + IPV6_RECVPATHMTU = 0x3c + IPV6_RECVPKTINFO = 0x31 + IPV6_RECVRTHDR = 0x38 + IPV6_RECVTCLASS = 0x42 + IPV6_ROUTER_ALERT = 0x16 + IPV6_RTHDR = 0x39 + IPV6_RTHDRDSTOPTS = 0x37 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_RXDSTOPTS = 0x3b + IPV6_RXHOPOPTS = 0x36 + IPV6_TCLASS = 0x43 + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 + IP_ADD_SOURCE_MEMBERSHIP = 0x27 + IP_BIND_ADDRESS_NO_PORT = 0x18 + IP_BLOCK_SOURCE = 0x26 + IP_CHECKSUM = 0x17 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0x24 + IP_DROP_SOURCE_MEMBERSHIP = 0x28 + IP_FREEBIND = 0xf + IP_HDRINCL = 0x3 + IP_IPSEC_POLICY = 0x10 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINTTL = 0x15 + IP_MSFILTER = 0x29 + IP_MSS = 0x240 + IP_MTU = 0xe + IP_MTU_DISCOVER = 0xa + IP_MULTICAST_ALL = 0x31 + IP_MULTICAST_IF = 0x20 + IP_MULTICAST_LOOP = 0x22 + IP_MULTICAST_TTL = 0x21 + IP_NODEFRAG = 0x16 + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x4 + IP_ORIGDSTADDR = 0x14 + IP_PASSSEC = 0x12 + IP_PKTINFO = 0x8 + IP_PKTOPTIONS = 0x9 + IP_PMTUDISC = 0xa + IP_PMTUDISC_DO = 0x2 + IP_PMTUDISC_DONT = 0x0 + IP_PMTUDISC_INTERFACE = 0x4 + IP_PMTUDISC_OMIT = 0x5 + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 + IP_RECVRETOPTS = 0x7 + IP_RECVTOS = 0xd + IP_RECVTTL = 0xc + IP_RETOPTS = 0x7 + IP_RF = 0x8000 + IP_ROUTER_ALERT = 0x5 + IP_TOS = 0x1 + IP_TRANSPARENT = 0x13 + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 + IP_XFRM_POLICY = 0x11 + ISIG = 0x1 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 + IUCLC = 0x200 + IUTF8 = 0x4000 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + JFFS2_SUPER_MAGIC = 0x72b6 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_FILE_NO_INITRAMFS = 0x4 + KEXEC_FILE_ON_CRASH = 0x2 + KEXEC_FILE_UNLOAD = 0x1 + KEXEC_ON_CRASH = 0x1 + KEXEC_PRESERVE_CONTEXT = 0x2 + KEXEC_SEGMENT_MAX = 0x10 + KEYCTL_ASSUME_AUTHORITY = 0x10 + KEYCTL_CHOWN = 0x4 + KEYCTL_CLEAR = 0x7 + KEYCTL_DESCRIBE = 0x6 + KEYCTL_DH_COMPUTE = 0x17 + KEYCTL_GET_KEYRING_ID = 0x0 + KEYCTL_GET_PERSISTENT = 0x16 + KEYCTL_GET_SECURITY = 0x11 + KEYCTL_INSTANTIATE = 0xc + KEYCTL_INSTANTIATE_IOV = 0x14 + KEYCTL_INVALIDATE = 0x15 + KEYCTL_JOIN_SESSION_KEYRING = 0x1 + KEYCTL_LINK = 0x8 + KEYCTL_NEGATE = 0xd + KEYCTL_PKEY_DECRYPT = 0x1a + KEYCTL_PKEY_ENCRYPT = 0x19 + KEYCTL_PKEY_QUERY = 0x18 + KEYCTL_PKEY_SIGN = 0x1b + KEYCTL_PKEY_VERIFY = 0x1c + KEYCTL_READ = 0xb + KEYCTL_REJECT = 0x13 + KEYCTL_RESTRICT_KEYRING = 0x1d + KEYCTL_REVOKE = 0x3 + KEYCTL_SEARCH = 0xa + KEYCTL_SESSION_TO_PARENT = 0x12 + KEYCTL_SETPERM = 0x5 + KEYCTL_SET_REQKEY_KEYRING = 0xe + KEYCTL_SET_TIMEOUT = 0xf + KEYCTL_SUPPORTS_DECRYPT = 0x2 + KEYCTL_SUPPORTS_ENCRYPT = 0x1 + KEYCTL_SUPPORTS_SIGN = 0x4 + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 + KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 + KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 + KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 + KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 + KEY_REQKEY_DEFL_USER_KEYRING = 0x4 + KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 + KEY_SPEC_GROUP_KEYRING = -0x6 + KEY_SPEC_PROCESS_KEYRING = -0x2 + KEY_SPEC_REQKEY_AUTH_KEY = -0x7 + KEY_SPEC_REQUESTOR_KEYRING = -0x8 + KEY_SPEC_SESSION_KEYRING = -0x3 + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 + LINUX_REBOOT_CMD_KEXEC = 0x45584543 + LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc + LINUX_REBOOT_CMD_RESTART = 0x1234567 + LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 + LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 + LINUX_REBOOT_MAGIC1 = 0xfee1dead + LINUX_REBOOT_MAGIC2 = 0x28121969 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb + MADV_DONTDUMP = 0x10 + MADV_DONTFORK = 0xa + MADV_DONTNEED = 0x4 + MADV_FREE = 0x8 + MADV_HUGEPAGE = 0xe + MADV_HWPOISON = 0x64 + MADV_KEEPONFORK = 0x13 + MADV_MERGEABLE = 0xc + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 + MADV_UNMERGEABLE = 0xd + MADV_WILLNEED = 0x3 + MADV_WIPEONFORK = 0x12 + MAP_ANON = 0x20 + MAP_ANONYMOUS = 0x20 + MAP_DENYWRITE = 0x800 + MAP_EXECUTABLE = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FIXED_NOREPLACE = 0x100000 + MAP_GROWSDOWN = 0x200 + MAP_HUGETLB = 0x40000 + MAP_HUGE_MASK = 0x3f + MAP_HUGE_SHIFT = 0x1a + MAP_LOCKED = 0x100 + MAP_NONBLOCK = 0x10000 + MAP_NORESERVE = 0x40 + MAP_POPULATE = 0x8000 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_SHARED_VALIDATE = 0x3 + MAP_STACK = 0x20000 + MAP_TYPE = 0xf + MCL_CURRENT = 0x2000 + MCL_FUTURE = 0x4000 + MCL_ONFAULT = 0x8000 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 + MFD_HUGE_16GB = -0x78000000 + MFD_HUGE_16MB = 0x60000000 + MFD_HUGE_1GB = 0x78000000 + MFD_HUGE_1MB = 0x50000000 + MFD_HUGE_256MB = 0x70000000 + MFD_HUGE_2GB = 0x7c000000 + MFD_HUGE_2MB = 0x54000000 + MFD_HUGE_32MB = 0x64000000 + MFD_HUGE_512KB = 0x4c000000 + MFD_HUGE_512MB = 0x74000000 + MFD_HUGE_64KB = 0x40000000 + MFD_HUGE_8MB = 0x5c000000 + MFD_HUGE_MASK = 0x3f + MFD_HUGE_SHIFT = 0x1a + MINIX2_SUPER_MAGIC = 0x2468 + MINIX2_SUPER_MAGIC2 = 0x2478 + MINIX3_SUPER_MAGIC = 0x4d5a + MINIX_SUPER_MAGIC = 0x137f + MINIX_SUPER_MAGIC2 = 0x138f + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 + MSG_CONFIRM = 0x800 + MSG_CTRUNC = 0x8 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x40 + MSG_EOR = 0x80 + MSG_ERRQUEUE = 0x2000 + MSG_FASTOPEN = 0x20000000 + MSG_FIN = 0x200 + MSG_MORE = 0x8000 + MSG_NOSIGNAL = 0x4000 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_PROXY = 0x10 + MSG_RST = 0x1000 + MSG_SYN = 0x400 + MSG_TRUNC = 0x20 + MSG_TRYHARD = 0x4 + MSG_WAITALL = 0x100 + MSG_WAITFORONE = 0x10000 + MSG_ZEROCOPY = 0x4000000 + MS_ACTIVE = 0x40000000 + MS_ASYNC = 0x1 + MS_BIND = 0x1000 + MS_BORN = 0x20000000 + MS_DIRSYNC = 0x80 + MS_INVALIDATE = 0x2 + MS_I_VERSION = 0x800000 + MS_KERNMOUNT = 0x400000 + MS_LAZYTIME = 0x2000000 + MS_MANDLOCK = 0x40 + MS_MGC_MSK = 0xffff0000 + MS_MGC_VAL = 0xc0ed0000 + MS_MOVE = 0x2000 + MS_NOATIME = 0x400 + MS_NODEV = 0x4 + MS_NODIRATIME = 0x800 + MS_NOEXEC = 0x8 + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 + MS_RDONLY = 0x1 + MS_REC = 0x4000 + MS_RELATIME = 0x200000 + MS_REMOUNT = 0x20 + MS_RMT_MASK = 0x2800051 + MS_SHARED = 0x100000 + MS_SILENT = 0x8000 + MS_SLAVE = 0x80000 + MS_STRICTATIME = 0x1000000 + MS_SUBMOUNT = 0x4000000 + MS_SYNC = 0x4 + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 + MTD_INODE_FS_MAGIC = 0x11307854 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 + NETLINK_AUDIT = 0x9 + NETLINK_BROADCAST_ERROR = 0x4 + NETLINK_CAP_ACK = 0xa + NETLINK_CONNECTOR = 0xb + NETLINK_CRYPTO = 0x15 + NETLINK_DNRTMSG = 0xe + NETLINK_DROP_MEMBERSHIP = 0x2 + NETLINK_ECRYPTFS = 0x13 + NETLINK_EXT_ACK = 0xb + NETLINK_FIB_LOOKUP = 0xa + NETLINK_FIREWALL = 0x3 + NETLINK_GENERIC = 0x10 + NETLINK_GET_STRICT_CHK = 0xc + NETLINK_INET_DIAG = 0x4 + NETLINK_IP6_FW = 0xd + NETLINK_ISCSI = 0x8 + NETLINK_KOBJECT_UEVENT = 0xf + NETLINK_LISTEN_ALL_NSID = 0x8 + NETLINK_LIST_MEMBERSHIPS = 0x9 + NETLINK_NETFILTER = 0xc + NETLINK_NFLOG = 0x5 + NETLINK_NO_ENOBUFS = 0x5 + NETLINK_PKTINFO = 0x3 + NETLINK_RDMA = 0x14 + NETLINK_ROUTE = 0x0 + NETLINK_RX_RING = 0x6 + NETLINK_SCSITRANSPORT = 0x12 + NETLINK_SELINUX = 0x7 + NETLINK_SMC = 0x16 + NETLINK_SOCK_DIAG = 0x4 + NETLINK_TX_RING = 0x7 + NETLINK_UNUSED = 0x1 + NETLINK_USERSOCK = 0x2 + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x3 + NETNSA_NSID_NOT_ASSIGNED = -0x1 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 + NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 + NFNLGRP_CONNTRACK_EXP_NEW = 0x4 + NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 + NFNLGRP_CONNTRACK_NEW = 0x1 + NFNLGRP_CONNTRACK_UPDATE = 0x2 + NFNLGRP_MAX = 0x9 + NFNLGRP_NFTABLES = 0x7 + NFNLGRP_NFTRACE = 0x9 + NFNLGRP_NONE = 0x0 + NFNL_BATCH_MAX = 0x1 + NFNL_MSG_BATCH_BEGIN = 0x10 + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 + NFNL_SUBSYS_COUNT = 0xc + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb + NFNL_SUBSYS_NONE = 0x0 + NFNL_SUBSYS_OSF = 0x5 + NFNL_SUBSYS_QUEUE = 0x3 + NFNL_SUBSYS_ULOG = 0x4 + NFS_SUPER_MAGIC = 0x6969 + NILFS_SUPER_MAGIC = 0x3434 + NL0 = 0x0 + NL1 = 0x100 + NLA_ALIGNTO = 0x4 + NLA_F_NESTED = 0x8000 + NLA_F_NET_BYTEORDER = 0x4000 + NLA_HDRLEN = 0x4 + NLDLY = 0x100 + NLMSG_ALIGNTO = 0x4 + NLMSG_DONE = 0x3 + NLMSG_ERROR = 0x2 + NLMSG_HDRLEN = 0x10 + NLMSG_MIN_TYPE = 0x10 + NLMSG_NOOP = 0x1 + NLMSG_OVERRUN = 0x4 + NLM_F_ACK = 0x4 + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 + NLM_F_DUMP_FILTERED = 0x20 + NLM_F_DUMP_INTR = 0x10 + NLM_F_ECHO = 0x8 + NLM_F_EXCL = 0x200 + NLM_F_MATCH = 0x200 + NLM_F_MULTI = 0x2 + NLM_F_NONREC = 0x100 + NLM_F_REPLACE = 0x100 + NLM_F_REQUEST = 0x1 + NLM_F_ROOT = 0x100 + NOFLSH = 0x80 + NSFS_MAGIC = 0x6e736673 + OCFS2_SUPER_MAGIC = 0x7461636f + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENPROM_SUPER_MAGIC = 0x9fa1 + OPOST = 0x1 + OVERLAYFS_SUPER_MAGIC = 0x794c7630 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x400000 + O_CREAT = 0x200 + O_DIRECT = 0x100000 + O_DIRECTORY = 0x10000 + O_DSYNC = 0x2000 + O_EXCL = 0x800 + O_FSYNC = 0x802000 + O_LARGEFILE = 0x0 + O_NDELAY = 0x4004 + O_NOATIME = 0x200000 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x20000 + O_NONBLOCK = 0x4000 + O_PATH = 0x1000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x802000 + O_SYNC = 0x802000 + O_TMPFILE = 0x2010000 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PACKET_ADD_MEMBERSHIP = 0x1 + PACKET_AUXDATA = 0x8 + PACKET_BROADCAST = 0x1 + PACKET_COPY_THRESH = 0x7 + PACKET_DROP_MEMBERSHIP = 0x2 + PACKET_FANOUT = 0x12 + PACKET_FANOUT_CBPF = 0x6 + PACKET_FANOUT_CPU = 0x2 + PACKET_FANOUT_DATA = 0x16 + PACKET_FANOUT_EBPF = 0x7 + PACKET_FANOUT_FLAG_DEFRAG = 0x8000 + PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 + PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 + PACKET_FANOUT_HASH = 0x0 + PACKET_FANOUT_LB = 0x1 + PACKET_FANOUT_QM = 0x5 + PACKET_FANOUT_RND = 0x4 + PACKET_FANOUT_ROLLOVER = 0x3 + PACKET_FASTROUTE = 0x6 + PACKET_HDRLEN = 0xb + PACKET_HOST = 0x0 + PACKET_IGNORE_OUTGOING = 0x17 + PACKET_KERNEL = 0x7 + PACKET_LOOPBACK = 0x5 + PACKET_LOSS = 0xe + PACKET_MR_ALLMULTI = 0x2 + PACKET_MR_MULTICAST = 0x0 + PACKET_MR_PROMISC = 0x1 + PACKET_MR_UNICAST = 0x3 + PACKET_MULTICAST = 0x2 + PACKET_ORIGDEV = 0x9 + PACKET_OTHERHOST = 0x3 + PACKET_OUTGOING = 0x4 + PACKET_QDISC_BYPASS = 0x14 + PACKET_RECV_OUTPUT = 0x3 + PACKET_RESERVE = 0xc + PACKET_ROLLOVER_STATS = 0x15 + PACKET_RX_RING = 0x5 + PACKET_STATISTICS = 0x6 + PACKET_TIMESTAMP = 0x11 + PACKET_TX_HAS_OFF = 0x13 + PACKET_TX_RING = 0xd + PACKET_TX_TIMESTAMP = 0x10 + PACKET_USER = 0x6 + PACKET_VERSION = 0xa + PACKET_VNET_HDR = 0xf + PARENB = 0x100 + PARITY_CRC16_PR0 = 0x2 + PARITY_CRC16_PR0_CCITT = 0x4 + PARITY_CRC16_PR1 = 0x3 + PARITY_CRC16_PR1_CCITT = 0x5 + PARITY_CRC32_PR0_CCITT = 0x6 + PARITY_CRC32_PR1_CCITT = 0x7 + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PERF_EVENT_IOC_DISABLE = 0x20002401 + PERF_EVENT_IOC_ENABLE = 0x20002400 + PERF_EVENT_IOC_ID = 0x40082407 + PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8008240b + PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 + PERF_EVENT_IOC_PERIOD = 0x80082404 + PERF_EVENT_IOC_QUERY_BPF = 0xc008240a + PERF_EVENT_IOC_REFRESH = 0x20002402 + PERF_EVENT_IOC_RESET = 0x20002403 + PERF_EVENT_IOC_SET_BPF = 0x80042408 + PERF_EVENT_IOC_SET_FILTER = 0x80082406 + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PIPEFS_MAGIC = 0x50495045 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 + PPPIOCGASYNCMAP = 0x40047458 + PPPIOCGCHAN = 0x40047437 + PPPIOCGDEBUG = 0x40047441 + PPPIOCGFLAGS = 0x4004745a + PPPIOCGIDLE = 0x4010743f + PPPIOCGL2TPSTATS = 0x40487436 + PPPIOCGMRU = 0x40047453 + PPPIOCGNPMODE = 0xc008744c + PPPIOCGRASYNCMAP = 0x40047455 + PPPIOCGUNIT = 0x40047456 + PPPIOCGXASYNCMAP = 0x40207450 + PPPIOCNEWUNIT = 0xc004743e + PPPIOCSACTIVE = 0x80107446 + PPPIOCSASYNCMAP = 0x80047457 + PPPIOCSCOMPRESS = 0x8010744d + PPPIOCSDEBUG = 0x80047440 + PPPIOCSFLAGS = 0x80047459 + PPPIOCSMAXCID = 0x80047451 + PPPIOCSMRRU = 0x8004743b + PPPIOCSMRU = 0x80047452 + PPPIOCSNPMODE = 0x8008744b + PPPIOCSPASS = 0x80107447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f + PPPIOCXFERUNIT = 0x2000744e + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROC_SUPER_MAGIC = 0x9fa0 + PROT_EXEC = 0x4 + PROT_GROWSDOWN = 0x1000000 + PROT_GROWSUP = 0x2000000 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PR_CAPBSET_DROP = 0x18 + PR_CAPBSET_READ = 0x17 + PR_CAP_AMBIENT = 0x2f + PR_CAP_AMBIENT_CLEAR_ALL = 0x4 + PR_CAP_AMBIENT_IS_SET = 0x1 + PR_CAP_AMBIENT_LOWER = 0x3 + PR_CAP_AMBIENT_RAISE = 0x2 + PR_ENDIAN_BIG = 0x0 + PR_ENDIAN_LITTLE = 0x1 + PR_ENDIAN_PPC_LITTLE = 0x2 + PR_FPEMU_NOPRINT = 0x1 + PR_FPEMU_SIGFPE = 0x2 + PR_FP_EXC_ASYNC = 0x2 + PR_FP_EXC_DISABLED = 0x0 + PR_FP_EXC_DIV = 0x10000 + PR_FP_EXC_INV = 0x100000 + PR_FP_EXC_NONRECOV = 0x1 + PR_FP_EXC_OVF = 0x20000 + PR_FP_EXC_PRECISE = 0x3 + PR_FP_EXC_RES = 0x80000 + PR_FP_EXC_SW_ENABLE = 0x80 + PR_FP_EXC_UND = 0x40000 + PR_FP_MODE_FR = 0x1 + PR_FP_MODE_FRE = 0x2 + PR_GET_CHILD_SUBREAPER = 0x25 + PR_GET_DUMPABLE = 0x3 + PR_GET_ENDIAN = 0x13 + PR_GET_FPEMU = 0x9 + PR_GET_FPEXC = 0xb + PR_GET_FP_MODE = 0x2e + PR_GET_KEEPCAPS = 0x7 + PR_GET_NAME = 0x10 + PR_GET_NO_NEW_PRIVS = 0x27 + PR_GET_PDEATHSIG = 0x2 + PR_GET_SECCOMP = 0x15 + PR_GET_SECUREBITS = 0x1b + PR_GET_SPECULATION_CTRL = 0x34 + PR_GET_THP_DISABLE = 0x2a + PR_GET_TID_ADDRESS = 0x28 + PR_GET_TIMERSLACK = 0x1e + PR_GET_TIMING = 0xd + PR_GET_TSC = 0x19 + PR_GET_UNALIGN = 0x5 + PR_MCE_KILL = 0x21 + PR_MCE_KILL_CLEAR = 0x0 + PR_MCE_KILL_DEFAULT = 0x2 + PR_MCE_KILL_EARLY = 0x1 + PR_MCE_KILL_GET = 0x22 + PR_MCE_KILL_LATE = 0x0 + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 + PR_SET_FPEMU = 0xa + PR_SET_FPEXC = 0xc + PR_SET_FP_MODE = 0x2d + PR_SET_KEEPCAPS = 0x8 + PR_SET_MM = 0x23 + PR_SET_MM_ARG_END = 0x9 + PR_SET_MM_ARG_START = 0x8 + PR_SET_MM_AUXV = 0xc + PR_SET_MM_BRK = 0x7 + PR_SET_MM_END_CODE = 0x2 + PR_SET_MM_END_DATA = 0x4 + PR_SET_MM_ENV_END = 0xb + PR_SET_MM_ENV_START = 0xa + PR_SET_MM_EXE_FILE = 0xd + PR_SET_MM_MAP = 0xe + PR_SET_MM_MAP_SIZE = 0xf + PR_SET_MM_START_BRK = 0x6 + PR_SET_MM_START_CODE = 0x1 + PR_SET_MM_START_DATA = 0x3 + PR_SET_MM_START_STACK = 0x5 + PR_SET_NAME = 0xf + PR_SET_NO_NEW_PRIVS = 0x26 + PR_SET_PDEATHSIG = 0x1 + PR_SET_PTRACER = 0x59616d61 + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 + PR_SPEC_DISABLE = 0x4 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 + PR_SVE_GET_VL = 0x33 + PR_SVE_SET_VL = 0x32 + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMING_STATISTICAL = 0x0 + PR_TIMING_TIMESTAMP = 0x1 + PR_TSC_ENABLE = 0x1 + PR_TSC_SIGSEGV = 0x2 + PR_UNALIGN_NOPRINT = 0x1 + PR_UNALIGN_SIGBUS = 0x2 + PSTOREFS_MAGIC = 0x6165676c + PTRACE_ATTACH = 0x10 + PTRACE_CONT = 0x7 + PTRACE_DETACH = 0x11 + PTRACE_EVENT_CLONE = 0x3 + PTRACE_EVENT_EXEC = 0x4 + PTRACE_EVENT_EXIT = 0x6 + PTRACE_EVENT_FORK = 0x1 + PTRACE_EVENT_SECCOMP = 0x7 + PTRACE_EVENT_STOP = 0x80 + PTRACE_EVENT_VFORK = 0x2 + PTRACE_EVENT_VFORK_DONE = 0x5 + PTRACE_GETEVENTMSG = 0x4201 + PTRACE_GETFPAREGS = 0x14 + PTRACE_GETFPREGS = 0xe + PTRACE_GETFPREGS64 = 0x19 + PTRACE_GETREGS = 0xc + PTRACE_GETREGS64 = 0x16 + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 + PTRACE_LISTEN = 0x4208 + PTRACE_O_EXITKILL = 0x100000 + PTRACE_O_MASK = 0x3000ff + PTRACE_O_SUSPEND_SECCOMP = 0x200000 + PTRACE_O_TRACECLONE = 0x8 + PTRACE_O_TRACEEXEC = 0x10 + PTRACE_O_TRACEEXIT = 0x40 + PTRACE_O_TRACEFORK = 0x2 + PTRACE_O_TRACESECCOMP = 0x80 + PTRACE_O_TRACESYSGOOD = 0x1 + PTRACE_O_TRACEVFORK = 0x4 + PTRACE_O_TRACEVFORKDONE = 0x20 + PTRACE_PEEKDATA = 0x2 + PTRACE_PEEKSIGINFO = 0x4209 + PTRACE_PEEKSIGINFO_SHARED = 0x1 + PTRACE_PEEKTEXT = 0x1 + PTRACE_PEEKUSR = 0x3 + PTRACE_POKEDATA = 0x5 + PTRACE_POKETEXT = 0x4 + PTRACE_POKEUSR = 0x6 + PTRACE_READDATA = 0x10 + PTRACE_READTEXT = 0x12 + PTRACE_SECCOMP_GET_FILTER = 0x420c + PTRACE_SECCOMP_GET_METADATA = 0x420d + PTRACE_SEIZE = 0x4206 + PTRACE_SETFPAREGS = 0x15 + PTRACE_SETFPREGS = 0xf + PTRACE_SETFPREGS64 = 0x1a + PTRACE_SETOPTIONS = 0x4200 + PTRACE_SETREGS = 0xd + PTRACE_SETREGS64 = 0x17 + PTRACE_SETREGSET = 0x4205 + PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGMASK = 0x420b + PTRACE_SINGLESTEP = 0x9 + PTRACE_SPARC_DETACH = 0xb + PTRACE_SYSCALL = 0x18 + PTRACE_TRACEME = 0x0 + PTRACE_WRITEDATA = 0x11 + PTRACE_WRITETEXT = 0x13 + PT_FP = 0x48 + PT_G0 = 0x10 + PT_G1 = 0x14 + PT_G2 = 0x18 + PT_G3 = 0x1c + PT_G4 = 0x20 + PT_G5 = 0x24 + PT_G6 = 0x28 + PT_G7 = 0x2c + PT_I0 = 0x30 + PT_I1 = 0x34 + PT_I2 = 0x38 + PT_I3 = 0x3c + PT_I4 = 0x40 + PT_I5 = 0x44 + PT_I6 = 0x48 + PT_I7 = 0x4c + PT_NPC = 0x8 + PT_PC = 0x4 + PT_PSR = 0x0 + PT_REGS_MAGIC = 0x57ac6c00 + PT_TNPC = 0x90 + PT_TPC = 0x88 + PT_TSTATE = 0x80 + PT_V9_FP = 0x70 + PT_V9_G0 = 0x0 + PT_V9_G1 = 0x8 + PT_V9_G2 = 0x10 + PT_V9_G3 = 0x18 + PT_V9_G4 = 0x20 + PT_V9_G5 = 0x28 + PT_V9_G6 = 0x30 + PT_V9_G7 = 0x38 + PT_V9_I0 = 0x40 + PT_V9_I1 = 0x48 + PT_V9_I2 = 0x50 + PT_V9_I3 = 0x58 + PT_V9_I4 = 0x60 + PT_V9_I5 = 0x68 + PT_V9_I6 = 0x70 + PT_V9_I7 = 0x78 + PT_V9_MAGIC = 0x9c + PT_V9_TNPC = 0x90 + PT_V9_TPC = 0x88 + PT_V9_TSTATE = 0x80 + PT_V9_Y = 0x98 + PT_WIM = 0x10 + PT_Y = 0xc + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 + RENAME_NOREPLACE = 0x1 + RENAME_WHITEOUT = 0x4 + RLIMIT_AS = 0x9 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_LOCKS = 0xa + RLIMIT_MEMLOCK = 0x8 + RLIMIT_MSGQUEUE = 0xc + RLIMIT_NICE = 0xd + RLIMIT_NOFILE = 0x6 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_RTPRIO = 0xe + RLIMIT_RTTIME = 0xf + RLIMIT_SIGPENDING = 0xb + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0xffffffffffffffff + RNDADDENTROPY = 0x80085203 + RNDADDTOENTCNT = 0x80045201 + RNDCLEARPOOL = 0x20005206 + RNDGETENTCNT = 0x40045200 + RNDGETPOOL = 0x40085202 + RNDRESEEDCRNG = 0x20005207 + RNDZAPENTCNT = 0x20005204 + RTAX_ADVMSS = 0x8 + RTAX_CC_ALGO = 0x10 + RTAX_CWND = 0x7 + RTAX_FASTOPEN_NO_COOKIE = 0x11 + RTAX_FEATURES = 0xc + RTAX_FEATURE_ALLFRAG = 0x8 + RTAX_FEATURE_ECN = 0x1 + RTAX_FEATURE_MASK = 0xf + RTAX_FEATURE_SACK = 0x2 + RTAX_FEATURE_TIMESTAMP = 0x4 + RTAX_HOPLIMIT = 0xa + RTAX_INITCWND = 0xb + RTAX_INITRWND = 0xe + RTAX_LOCK = 0x1 + RTAX_MAX = 0x11 + RTAX_MTU = 0x2 + RTAX_QUICKACK = 0xf + RTAX_REORDERING = 0x9 + RTAX_RTO_MIN = 0xd + RTAX_RTT = 0x4 + RTAX_RTTVAR = 0x5 + RTAX_SSTHRESH = 0x6 + RTAX_UNSPEC = 0x0 + RTAX_WINDOW = 0x3 + RTA_ALIGNTO = 0x4 + RTA_MAX = 0x1d + RTCF_DIRECTSRC = 0x4000000 + RTCF_DOREDIRECT = 0x1000000 + RTCF_LOG = 0x2000000 + RTCF_MASQ = 0x400000 + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 + RTC_AIE_OFF = 0x20007002 + RTC_AIE_ON = 0x20007001 + RTC_ALM_READ = 0x40247008 + RTC_ALM_SET = 0x80247007 + RTC_EPOCH_READ = 0x4008700d + RTC_EPOCH_SET = 0x8008700e + RTC_IRQF = 0x80 + RTC_IRQP_READ = 0x4008700b + RTC_IRQP_SET = 0x8008700c + RTC_MAX_FREQ = 0x2000 + RTC_PF = 0x40 + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x40207011 + RTC_PLL_SET = 0x80207012 + RTC_RD_TIME = 0x40247009 + RTC_SET_TIME = 0x8024700a + RTC_UF = 0x10 + RTC_UIE_OFF = 0x20007004 + RTC_UIE_ON = 0x20007003 + RTC_VL_CLR = 0x20007014 + RTC_VL_READ = 0x40047013 + RTC_WIE_OFF = 0x20007010 + RTC_WIE_ON = 0x2000700f + RTC_WKALM_RD = 0x40287010 + RTC_WKALM_SET = 0x8028700f + RTF_ADDRCLASSMASK = 0xf8000000 + RTF_ADDRCONF = 0x40000 + RTF_ALLONLINK = 0x20000 + RTF_BROADCAST = 0x10000000 + RTF_CACHE = 0x1000000 + RTF_DEFAULT = 0x10000 + RTF_DYNAMIC = 0x10 + RTF_FLOW = 0x2000000 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INTERFACE = 0x40000000 + RTF_IRTT = 0x100 + RTF_LINKRT = 0x100000 + RTF_LOCAL = 0x80000000 + RTF_MODIFIED = 0x20 + RTF_MSS = 0x40 + RTF_MTU = 0x40 + RTF_MULTICAST = 0x20000000 + RTF_NAT = 0x8000000 + RTF_NOFORWARD = 0x1000 + RTF_NONEXTHOP = 0x200000 + RTF_NOPMTUDISC = 0x4000 + RTF_POLICY = 0x4000000 + RTF_REINSTATE = 0x8 + RTF_REJECT = 0x200 + RTF_STATIC = 0x400 + RTF_THROW = 0x2000 + RTF_UP = 0x1 + RTF_WINDOW = 0x80 + RTF_XRESOLVE = 0x800 + RTM_BASE = 0x10 + RTM_DELACTION = 0x31 + RTM_DELADDR = 0x15 + RTM_DELADDRLABEL = 0x49 + RTM_DELCHAIN = 0x65 + RTM_DELLINK = 0x11 + RTM_DELMDB = 0x55 + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 + RTM_F_FIB_MATCH = 0x2000 + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_PREFIX = 0x800 + RTM_GETACTION = 0x32 + RTM_GETADDR = 0x16 + RTM_GETADDRLABEL = 0x4a + RTM_GETANYCAST = 0x3e + RTM_GETCHAIN = 0x66 + RTM_GETDCB = 0x4e + RTM_GETLINK = 0x12 + RTM_GETMDB = 0x56 + RTM_GETMULTICAST = 0x3a + RTM_GETNEIGH = 0x1e + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a + RTM_GETRULE = 0x22 + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e + RTM_MAX = 0x67 + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 + RTM_NEWCACHEREPORT = 0x60 + RTM_NEWCHAIN = 0x64 + RTM_NEWLINK = 0x10 + RTM_NEWMDB = 0x54 + RTM_NEWNDUSEROPT = 0x44 + RTM_NEWNEIGH = 0x1c + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNSID = 0x58 + RTM_NEWPREFIX = 0x34 + RTM_NEWQDISC = 0x24 + RTM_NEWROUTE = 0x18 + RTM_NEWRULE = 0x20 + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c + RTM_NR_FAMILIES = 0x16 + RTM_NR_MSGTYPES = 0x58 + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 + RTNH_ALIGNTO = 0x4 + RTNH_COMPARE_MASK = 0x19 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a + RTPROT_BGP = 0xba + RTPROT_BIRD = 0xc + RTPROT_BOOT = 0x3 + RTPROT_DHCP = 0x10 + RTPROT_DNROUTED = 0xd + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 + RTPROT_RIP = 0xbd + RTPROT_STATIC = 0x4 + RTPROT_UNSPEC = 0x0 + RTPROT_XORP = 0xe + RTPROT_ZEBRA = 0xb + RT_CLASS_DEFAULT = 0xfd + RT_CLASS_LOCAL = 0xff + RT_CLASS_MAIN = 0xfe + RT_CLASS_MAX = 0xff + RT_CLASS_UNSPEC = 0x0 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_CREDENTIALS = 0x2 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x1d + SCM_TIMESTAMPING = 0x23 + SCM_TIMESTAMPING_OPT_STATS = 0x38 + SCM_TIMESTAMPING_PKTINFO = 0x3c + SCM_TIMESTAMPNS = 0x21 + SCM_TXTIME = 0x3f + SCM_WIFI_STATUS = 0x25 + SC_LOG_FLUSH = 0x100000 + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 + SECURITYFS_MAGIC = 0x73636673 + SELINUX_MAGIC = 0xf97cff8c + SFD_CLOEXEC = 0x400000 + SFD_NONBLOCK = 0x4000 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDDLCI = 0x8980 + SIOCADDMULTI = 0x8931 + SIOCADDRT = 0x890b + SIOCATMARK = 0x8905 + SIOCBONDCHANGEACTIVE = 0x8995 + SIOCBONDENSLAVE = 0x8990 + SIOCBONDINFOQUERY = 0x8994 + SIOCBONDRELEASE = 0x8991 + SIOCBONDSETHWADDR = 0x8992 + SIOCBONDSLAVEINFOQUERY = 0x8993 + SIOCBRADDBR = 0x89a0 + SIOCBRADDIF = 0x89a2 + SIOCBRDELBR = 0x89a1 + SIOCBRDELIF = 0x89a3 + SIOCDARP = 0x8953 + SIOCDELDLCI = 0x8981 + SIOCDELMULTI = 0x8932 + SIOCDELRT = 0x890c + SIOCDEVPRIVATE = 0x89f0 + SIOCDIFADDR = 0x8936 + SIOCDRARP = 0x8960 + SIOCETHTOOL = 0x8946 + SIOCGARP = 0x8954 + SIOCGHWTSTAMP = 0x89b1 + SIOCGIFADDR = 0x8915 + SIOCGIFBR = 0x8940 + SIOCGIFBRDADDR = 0x8919 + SIOCGIFCONF = 0x8912 + SIOCGIFCOUNT = 0x8938 + SIOCGIFDSTADDR = 0x8917 + SIOCGIFENCAP = 0x8925 + SIOCGIFFLAGS = 0x8913 + SIOCGIFHWADDR = 0x8927 + SIOCGIFINDEX = 0x8933 + SIOCGIFMAP = 0x8970 + SIOCGIFMEM = 0x891f + SIOCGIFMETRIC = 0x891d + SIOCGIFMTU = 0x8921 + SIOCGIFNAME = 0x8910 + SIOCGIFNETMASK = 0x891b + SIOCGIFPFLAGS = 0x8935 + SIOCGIFSLAVE = 0x8929 + SIOCGIFTXQLEN = 0x8942 + SIOCGIFVLAN = 0x8982 + SIOCGMIIPHY = 0x8947 + SIOCGMIIREG = 0x8948 + SIOCGPGRP = 0x8904 + SIOCGPPPCSTATS = 0x89f2 + SIOCGPPPSTATS = 0x89f0 + SIOCGPPPVER = 0x89f1 + SIOCGRARP = 0x8961 + SIOCGSKNS = 0x894c + SIOCGSTAMP = 0x8906 + SIOCGSTAMPNS = 0x8907 + SIOCINQ = 0x4004667f + SIOCOUTQ = 0x40047473 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d + SIOCSARP = 0x8955 + SIOCSHWTSTAMP = 0x89b0 + SIOCSIFADDR = 0x8916 + SIOCSIFBR = 0x8941 + SIOCSIFBRDADDR = 0x891a + SIOCSIFDSTADDR = 0x8918 + SIOCSIFENCAP = 0x8926 + SIOCSIFFLAGS = 0x8914 + SIOCSIFHWADDR = 0x8924 + SIOCSIFHWBROADCAST = 0x8937 + SIOCSIFLINK = 0x8911 + SIOCSIFMAP = 0x8971 + SIOCSIFMEM = 0x8920 + SIOCSIFMETRIC = 0x891e + SIOCSIFMTU = 0x8922 + SIOCSIFNAME = 0x8923 + SIOCSIFNETMASK = 0x891c + SIOCSIFPFLAGS = 0x8934 + SIOCSIFSLAVE = 0x8930 + SIOCSIFTXQLEN = 0x8943 + SIOCSIFVLAN = 0x8983 + SIOCSMIIREG = 0x8949 + SIOCSPGRP = 0x8902 + SIOCSRARP = 0x8962 + SIOCWANDEV = 0x894a + SMACK_MAGIC = 0x43415d53 + SMART_AUTOSAVE = 0xd2 + SMART_AUTO_OFFLINE = 0xdb + SMART_DISABLE = 0xd9 + SMART_ENABLE = 0xd8 + SMART_HCYL_PASS = 0xc2 + SMART_IMMEDIATE_OFFLINE = 0xd4 + SMART_LCYL_PASS = 0x4f + SMART_READ_LOG_SECTOR = 0xd5 + SMART_READ_THRESHOLDS = 0xd1 + SMART_READ_VALUES = 0xd0 + SMART_SAVE = 0xd3 + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b + SOCK_CLOEXEC = 0x400000 + SOCK_DCCP = 0x6 + SOCK_DGRAM = 0x2 + SOCK_IOC_TYPE = 0x89 + SOCK_NONBLOCK = 0x4000 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a + SOL_IP = 0x0 + SOL_IPV6 = 0x29 + SOL_IRDA = 0x10a + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 + SOL_PACKET = 0x107 + SOL_PNPIPE = 0x113 + SOL_PPPOL2TP = 0x111 + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 + SOL_SOCKET = 0xffff + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a + SOL_X25 = 0x106 + SOL_XDP = 0x11b + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x8000 + SO_ATTACH_BPF = 0x34 + SO_ATTACH_FILTER = 0x1a + SO_ATTACH_REUSEPORT_CBPF = 0x35 + SO_ATTACH_REUSEPORT_EBPF = 0x36 + SO_BINDTODEVICE = 0xd + SO_BPF_EXTENSIONS = 0x32 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0x400 + SO_BUSY_POLL = 0x30 + SO_CNX_ADVICE = 0x37 + SO_COOKIE = 0x3b + SO_DEBUG = 0x1 + SO_DETACH_BPF = 0x1b + SO_DETACH_FILTER = 0x1b + SO_DOMAIN = 0x1029 + SO_DONTROUTE = 0x10 + SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 + SO_EE_CODE_TXTIME_MISSED = 0x2 + SO_EE_CODE_ZEROCOPY_COPIED = 0x1 + SO_EE_ORIGIN_ICMP = 0x2 + SO_EE_ORIGIN_ICMP6 = 0x3 + SO_EE_ORIGIN_LOCAL = 0x1 + SO_EE_ORIGIN_NONE = 0x0 + SO_EE_ORIGIN_TIMESTAMPING = 0x4 + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 + SO_ERROR = 0x1007 + SO_GET_FILTER = 0x1a + SO_INCOMING_CPU = 0x33 + SO_INCOMING_NAPI_ID = 0x3a + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_LOCK_FILTER = 0x28 + SO_MARK = 0x22 + SO_MAX_PACING_RATE = 0x31 + SO_MEMINFO = 0x39 + SO_NOFCS = 0x27 + SO_NO_CHECK = 0xb + SO_OOBINLINE = 0x100 + SO_PASSCRED = 0x2 + SO_PASSSEC = 0x1f + SO_PEEK_OFF = 0x26 + SO_PEERCRED = 0x40 + SO_PEERGROUPS = 0x3d + SO_PEERNAME = 0x1c + SO_PEERSEC = 0x1e + SO_PRIORITY = 0xc + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x100b + SO_RCVLOWAT = 0x800 + SO_RCVTIMEO = 0x2000 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x24 + SO_SECURITY_AUTHENTICATION = 0x5001 + SO_SECURITY_ENCRYPTION_NETWORK = 0x5004 + SO_SECURITY_ENCRYPTION_TRANSPORT = 0x5002 + SO_SELECT_ERR_QUEUE = 0x29 + SO_SNDBUF = 0x1001 + SO_SNDBUFFORCE = 0x100a + SO_SNDLOWAT = 0x1000 + SO_SNDTIMEO = 0x4000 + SO_TIMESTAMP = 0x1d + SO_TIMESTAMPING = 0x23 + SO_TIMESTAMPNS = 0x21 + SO_TXTIME = 0x3f + SO_TYPE = 0x1008 + SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 + SO_WIFI_STATUS = 0x25 + SO_ZEROCOPY = 0x3e + SPLICE_F_GIFT = 0x8 + SPLICE_F_MORE = 0x4 + SPLICE_F_MOVE = 0x1 + SPLICE_F_NONBLOCK = 0x2 + SQUASHFS_MAGIC = 0x73717368 + STACK_END_MAGIC = 0x57ac6e9d + STATX_ALL = 0xfff + STATX_ATIME = 0x20 + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 + STATX_ATTR_NODUMP = 0x40 + STATX_BASIC_STATS = 0x7ff + STATX_BLOCKS = 0x400 + STATX_BTIME = 0x800 + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 + STATX_SIZE = 0x200 + STATX_TYPE = 0x1 + STATX_UID = 0x8 + STATX__RESERVED = 0x80000000 + SYNC_FILE_RANGE_WAIT_AFTER = 0x4 + SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 + SYNC_FILE_RANGE_WRITE = 0x2 + SYSFS_MAGIC = 0x62656572 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TASKSTATS_CMD_ATTR_MAX = 0x4 + TASKSTATS_CMD_MAX = 0x2 + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 + TASKSTATS_VERSION = 0x9 + TCFLSH = 0x20005407 + TCGETA = 0x40125401 + TCGETS = 0x40245408 + TCGETS2 = 0x402c540c + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd + TCP_COOKIE_IN_ALWAYS = 0x1 + TCP_COOKIE_MAX = 0x10 + TCP_COOKIE_MIN = 0x8 + TCP_COOKIE_OUT_NEVER = 0x2 + TCP_COOKIE_PAIR_SIZE = 0x20 + TCP_COOKIE_TRANSACTIONS = 0xf + TCP_CORK = 0x3 + TCP_DEFER_ACCEPT = 0x9 + TCP_FASTOPEN = 0x17 + TCP_FASTOPEN_CONNECT = 0x1e + TCP_FASTOPEN_KEY = 0x21 + TCP_FASTOPEN_NO_COOKIE = 0x22 + TCP_INFO = 0xb + TCP_INQ = 0x24 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x4 + TCP_KEEPINTVL = 0x5 + TCP_LINGER2 = 0x8 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0xe + TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_PREFIX = 0x1 + TCP_MD5SIG_MAXKEYLEN = 0x50 + TCP_MSS = 0x200 + TCP_MSS_DEFAULT = 0x218 + TCP_MSS_DESIRED = 0x4c4 + TCP_NODELAY = 0x1 + TCP_NOTSENT_LOWAT = 0x19 + TCP_QUEUE_SEQ = 0x15 + TCP_QUICKACK = 0xc + TCP_REPAIR = 0x13 + TCP_REPAIR_OFF = 0x0 + TCP_REPAIR_OFF_NO_WP = -0x1 + TCP_REPAIR_ON = 0x1 + TCP_REPAIR_OPTIONS = 0x16 + TCP_REPAIR_QUEUE = 0x14 + TCP_REPAIR_WINDOW = 0x1d + TCP_SAVED_SYN = 0x1c + TCP_SAVE_SYN = 0x1b + TCP_SYNCNT = 0x7 + TCP_S_DATA_IN = 0x4 + TCP_S_DATA_OUT = 0x8 + TCP_THIN_DUPACK = 0x11 + TCP_THIN_LINEAR_TIMEOUTS = 0x10 + TCP_TIMESTAMP = 0x18 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 + TCSAFLUSH = 0x2 + TCSBRK = 0x20005405 + TCSBRKP = 0x5425 + TCSETA = 0x80125402 + TCSETAF = 0x80125404 + TCSETAW = 0x80125403 + TCSETS = 0x80245409 + TCSETS2 = 0x802c540d + TCSETSF = 0x8024540b + TCSETSF2 = 0x802c540f + TCSETSW = 0x8024540a + TCSETSW2 = 0x802c540e + TCXONC = 0x20005406 + TIMER_ABSTIME = 0x1 + TIOCCBRK = 0x2000747a + TIOCCONS = 0x20007424 + TIOCEXCL = 0x2000740d + TIOCGDEV = 0x40045432 + TIOCGETD = 0x40047400 + TIOCGEXCL = 0x40045440 + TIOCGICOUNT = 0x545d + TIOCGISO7816 = 0x40285443 + TIOCGLCKTRMIOS = 0x5456 + TIOCGPGRP = 0x40047483 + TIOCGPKT = 0x40045438 + TIOCGPTLCK = 0x40045439 + TIOCGPTN = 0x40047486 + TIOCGPTPEER = 0x20007489 + TIOCGRS485 = 0x40205441 + TIOCGSERIAL = 0x541e + TIOCGSID = 0x40047485 + TIOCGSOFTCAR = 0x40047464 + TIOCGWINSZ = 0x40087468 + TIOCINQ = 0x4004667f + TIOCLINUX = 0x541c + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMIWAIT = 0x545c + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007484 + TIOCSERCONFIG = 0x5453 + TIOCSERGETLSR = 0x5459 + TIOCSERGETMULTI = 0x545a + TIOCSERGSTRUCT = 0x5458 + TIOCSERGWILD = 0x5454 + TIOCSERSETMULTI = 0x545b + TIOCSERSWILD = 0x5455 + TIOCSETD = 0x80047401 + TIOCSIG = 0x80047488 + TIOCSISO7816 = 0xc0285444 + TIOCSLCKTRMIOS = 0x5457 + TIOCSPGRP = 0x80047482 + TIOCSPTLCK = 0x80047487 + TIOCSRS485 = 0xc0205442 + TIOCSSERIAL = 0x541f + TIOCSSOFTCAR = 0x80047465 + TIOCSTART = 0x2000746e + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCVHANGUP = 0x20005437 + TMPFS_MAGIC = 0x1021994 + TOSTOP = 0x100 + TPACKET_ALIGNMENT = 0x10 + TPACKET_HDRLEN = 0x34 + TP_STATUS_AVAILABLE = 0x0 + TP_STATUS_BLK_TMO = 0x20 + TP_STATUS_COPY = 0x2 + TP_STATUS_CSUMNOTREADY = 0x8 + TP_STATUS_CSUM_VALID = 0x80 + TP_STATUS_KERNEL = 0x0 + TP_STATUS_LOSING = 0x4 + TP_STATUS_SENDING = 0x2 + TP_STATUS_SEND_REQUEST = 0x1 + TP_STATUS_TS_RAW_HARDWARE = -0x80000000 + TP_STATUS_TS_SOFTWARE = 0x20000000 + TP_STATUS_TS_SYS_HARDWARE = 0x40000000 + TP_STATUS_USER = 0x1 + TP_STATUS_VLAN_TPID_VALID = 0x40 + TP_STATUS_VLAN_VALID = 0x10 + TP_STATUS_WRONG_FORMAT = 0x4 + TRACEFS_MAGIC = 0x74726163 + TS_COMM_LEN = 0x20 + TUNATTACHFILTER = 0x801054d5 + TUNDETACHFILTER = 0x801054d6 + TUNGETFEATURES = 0x400454cf + TUNGETFILTER = 0x401054db + TUNGETIFF = 0x400454d2 + TUNGETSNDBUF = 0x400454d3 + TUNGETVNETBE = 0x400454df + TUNGETVNETHDRSZ = 0x400454d7 + TUNGETVNETLE = 0x400454dd + TUNSETDEBUG = 0x800454c9 + TUNSETFILTEREBPF = 0x400454e1 + TUNSETGROUP = 0x800454ce + TUNSETIFF = 0x800454ca + TUNSETIFINDEX = 0x800454da + TUNSETLINK = 0x800454cd + TUNSETNOCSUM = 0x800454c8 + TUNSETOFFLOAD = 0x800454d0 + TUNSETOWNER = 0x800454cc + TUNSETPERSIST = 0x800454cb + TUNSETQUEUE = 0x800454d9 + TUNSETSNDBUF = 0x800454d4 + TUNSETSTEERINGEBPF = 0x400454e0 + TUNSETTXFILTER = 0x800454d1 + TUNSETVNETBE = 0x800454de + TUNSETVNETHDRSZ = 0x800454d8 + TUNSETVNETLE = 0x800454dc + UBI_IOCATT = 0x80186f40 + UBI_IOCDET = 0x80046f41 + UBI_IOCEBCH = 0x80044f02 + UBI_IOCEBER = 0x80044f01 + UBI_IOCEBISMAP = 0x40044f05 + UBI_IOCEBMAP = 0x80084f03 + UBI_IOCEBUNMAP = 0x80044f04 + UBI_IOCMKVOL = 0x80986f00 + UBI_IOCRMVOL = 0x80046f01 + UBI_IOCRNVOL = 0x91106f03 + UBI_IOCRSVOL = 0x800c6f02 + UBI_IOCSETVOLPROP = 0x80104f06 + UBI_IOCVOLCRBLK = 0x80804f07 + UBI_IOCVOLRMBLK = 0x20004f08 + UBI_IOCVOLUP = 0x80084f00 + UDF_SUPER_MAGIC = 0x15013346 + UMOUNT_NOFOLLOW = 0x8 + USBDEVICE_SUPER_MAGIC = 0x9fa2 + UTIME_NOW = 0x3fffffff + UTIME_OMIT = 0x3ffffffe + V9FS_MAGIC = 0x1021997 + VDISCARD = 0xd + VEOF = 0x4 + VEOL = 0xb + VEOL2 = 0x10 + VERASE = 0x2 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMADDR_CID_ANY = 0xffffffff + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_RESERVED = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VMIN = 0x6 + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTOP = 0x9 + VSUSP = 0xa + VSWTC = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_GETBOOTSTATUS = 0x40045702 + WDIOC_GETPRETIMEOUT = 0x40045709 + WDIOC_GETSTATUS = 0x40045701 + WDIOC_GETSUPPORT = 0x40285700 + WDIOC_GETTEMP = 0x40045703 + WDIOC_GETTIMELEFT = 0x4004570a + WDIOC_GETTIMEOUT = 0x40045707 + WDIOC_KEEPALIVE = 0x40045705 + WDIOC_SETOPTIONS = 0x40045704 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 + WEXITED = 0x4 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 + WIN_DEVICE_RESET = 0x8 + WIN_DIAGNOSE = 0x90 + WIN_DOORLOCK = 0xde + WIN_DOORUNLOCK = 0xdf + WIN_DOWNLOAD_MICROCODE = 0x92 + WIN_FLUSH_CACHE = 0xe7 + WIN_FLUSH_CACHE_EXT = 0xea + WIN_FORMAT = 0x50 + WIN_GETMEDIASTATUS = 0xda + WIN_IDENTIFY = 0xec + WIN_IDENTIFY_DMA = 0xee + WIN_IDLEIMMEDIATE = 0xe1 + WIN_INIT = 0x60 + WIN_MEDIAEJECT = 0xed + WIN_MULTREAD = 0xc4 + WIN_MULTREAD_EXT = 0x29 + WIN_MULTWRITE = 0xc5 + WIN_MULTWRITE_EXT = 0x39 + WIN_NOP = 0x0 + WIN_PACKETCMD = 0xa0 + WIN_PIDENTIFY = 0xa1 + WIN_POSTBOOT = 0xdc + WIN_PREBOOT = 0xdd + WIN_QUEUED_SERVICE = 0xa2 + WIN_READ = 0x20 + WIN_READDMA = 0xc8 + WIN_READDMA_EXT = 0x25 + WIN_READDMA_ONCE = 0xc9 + WIN_READDMA_QUEUED = 0xc7 + WIN_READDMA_QUEUED_EXT = 0x26 + WIN_READ_BUFFER = 0xe4 + WIN_READ_EXT = 0x24 + WIN_READ_LONG = 0x22 + WIN_READ_LONG_ONCE = 0x23 + WIN_READ_NATIVE_MAX = 0xf8 + WIN_READ_NATIVE_MAX_EXT = 0x27 + WIN_READ_ONCE = 0x21 + WIN_RECAL = 0x10 + WIN_RESTORE = 0x10 + WIN_SECURITY_DISABLE = 0xf6 + WIN_SECURITY_ERASE_PREPARE = 0xf3 + WIN_SECURITY_ERASE_UNIT = 0xf4 + WIN_SECURITY_FREEZE_LOCK = 0xf5 + WIN_SECURITY_SET_PASS = 0xf1 + WIN_SECURITY_UNLOCK = 0xf2 + WIN_SEEK = 0x70 + WIN_SETFEATURES = 0xef + WIN_SETIDLE1 = 0xe3 + WIN_SETIDLE2 = 0x97 + WIN_SETMULT = 0xc6 + WIN_SET_MAX = 0xf9 + WIN_SET_MAX_EXT = 0x37 + WIN_SLEEPNOW1 = 0xe6 + WIN_SLEEPNOW2 = 0x99 + WIN_SMART = 0xb0 + WIN_SPECIFY = 0x91 + WIN_SRST = 0x8 + WIN_STANDBY = 0xe2 + WIN_STANDBY2 = 0x96 + WIN_STANDBYNOW1 = 0xe0 + WIN_STANDBYNOW2 = 0x94 + WIN_VERIFY = 0x40 + WIN_VERIFY_EXT = 0x42 + WIN_VERIFY_ONCE = 0x41 + WIN_WRITE = 0x30 + WIN_WRITEDMA = 0xca + WIN_WRITEDMA_EXT = 0x35 + WIN_WRITEDMA_ONCE = 0xcb + WIN_WRITEDMA_QUEUED = 0xcc + WIN_WRITEDMA_QUEUED_EXT = 0x36 + WIN_WRITE_BUFFER = 0xe8 + WIN_WRITE_EXT = 0x34 + WIN_WRITE_LONG = 0x32 + WIN_WRITE_LONG_ONCE = 0x33 + WIN_WRITE_ONCE = 0x31 + WIN_WRITE_SAME = 0xe9 + WIN_WRITE_VERIFY = 0x3c + WNOHANG = 0x1 + WNOTHREAD = 0x20000000 + WNOWAIT = 0x1000000 + WORDSIZE = 0x40 + WSTOPPED = 0x2 + WUNTRACED = 0x2 + XATTR_CREATE = 0x1 + XATTR_REPLACE = 0x2 + XCASE = 0x4 + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 + XDP_FLAGS_MASK = 0xf + XDP_FLAGS_MODES = 0xe + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 + XDP_PGOFF_RX_RING = 0x0 + XDP_PGOFF_TX_RING = 0x80000000 + XDP_RX_RING = 0x2 + XDP_SHARED_UMEM = 0x1 + XDP_STATISTICS = 0x7 + XDP_TX_RING = 0x3 + XDP_UMEM_COMPLETION_RING = 0x6 + XDP_UMEM_FILL_RING = 0x5 + XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 + XDP_UMEM_PGOFF_FILL_RING = 0x100000000 + XDP_UMEM_REG = 0x4 + XDP_ZEROCOPY = 0x4 + XENFS_SUPER_MAGIC = 0xabba1974 + XFS_SUPER_MAGIC = 0x58465342 + XTABS = 0x1800 + ZSMALLOC_MAGIC = 0x58295829 + __TIOCFLUSH = 0x80047410 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EADV = syscall.Errno(0x53) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x25) + EBADE = syscall.Errno(0x66) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x5d) + EBADMSG = syscall.Errno(0x4c) + EBADR = syscall.Errno(0x67) + EBADRQC = syscall.Errno(0x6a) + EBADSLT = syscall.Errno(0x6b) + EBFONT = syscall.Errno(0x6d) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x7f) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x5e) + ECOMM = syscall.Errno(0x55) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0x4e) + EDEADLOCK = syscall.Errno(0x6c) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDOTDOT = syscall.Errno(0x58) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EHWPOISON = syscall.Errno(0x87) + EIDRM = syscall.Errno(0x4d) + EILSEQ = syscall.Errno(0x7a) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + EISNAM = syscall.Errno(0x78) + EKEYEXPIRED = syscall.Errno(0x81) + EKEYREJECTED = syscall.Errno(0x83) + EKEYREVOKED = syscall.Errno(0x82) + EL2HLT = syscall.Errno(0x65) + EL2NSYNC = syscall.Errno(0x5f) + EL3HLT = syscall.Errno(0x60) + EL3RST = syscall.Errno(0x61) + ELIBACC = syscall.Errno(0x72) + ELIBBAD = syscall.Errno(0x70) + ELIBEXEC = syscall.Errno(0x6e) + ELIBMAX = syscall.Errno(0x7b) + ELIBSCN = syscall.Errno(0x7c) + ELNRNG = syscall.Errno(0x62) + ELOOP = syscall.Errno(0x3e) + EMEDIUMTYPE = syscall.Errno(0x7e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x57) + ENAMETOOLONG = syscall.Errno(0x3f) + ENAVAIL = syscall.Errno(0x77) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x69) + ENOBUFS = syscall.Errno(0x37) + ENOCSI = syscall.Errno(0x64) + ENODATA = syscall.Errno(0x6f) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOKEY = syscall.Errno(0x80) + ENOLCK = syscall.Errno(0x4f) + ENOLINK = syscall.Errno(0x52) + ENOMEDIUM = syscall.Errno(0x7d) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x4b) + ENONET = syscall.Errno(0x50) + ENOPKG = syscall.Errno(0x71) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x4a) + ENOSTR = syscall.Errno(0x48) + ENOSYS = syscall.Errno(0x5a) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTNAM = syscall.Errno(0x76) + ENOTRECOVERABLE = syscall.Errno(0x85) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x2d) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x73) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x5c) + EOWNERDEAD = syscall.Errno(0x84) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROTO = syscall.Errno(0x56) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x59) + EREMOTE = syscall.Errno(0x47) + EREMOTEIO = syscall.Errno(0x79) + ERESTART = syscall.Errno(0x74) + ERFKILL = syscall.Errno(0x86) + EROFS = syscall.Errno(0x1e) + ERREMOTE = syscall.Errno(0x51) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x54) + ESTALE = syscall.Errno(0x46) + ESTRPIPE = syscall.Errno(0x5b) + ETIME = syscall.Errno(0x49) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUCLEAN = syscall.Errno(0x75) + EUNATCH = syscall.Errno(0x63) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x68) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGLOST = syscall.Signal(0x1d) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x17) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x1d) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device or resource busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "invalid cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "numerical result out of range"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "ENOTSUP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "cannot assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "transport endpoint is already connected"}, + {57, "ENOTCONN", "transport endpoint is not connected"}, + {58, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, + {59, "ETOOMANYREFS", "too many references: cannot splice"}, + {60, "ETIMEDOUT", "connection timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disk quota exceeded"}, + {70, "ESTALE", "stale file handle"}, + {71, "EREMOTE", "object is remote"}, + {72, "ENOSTR", "device not a stream"}, + {73, "ETIME", "timer expired"}, + {74, "ENOSR", "out of streams resources"}, + {75, "ENOMSG", "no message of desired type"}, + {76, "EBADMSG", "bad message"}, + {77, "EIDRM", "identifier removed"}, + {78, "EDEADLK", "resource deadlock avoided"}, + {79, "ENOLCK", "no locks available"}, + {80, "ENONET", "machine is not on the network"}, + {81, "ERREMOTE", "unknown error 81"}, + {82, "ENOLINK", "link has been severed"}, + {83, "EADV", "advertise error"}, + {84, "ESRMNT", "srmount error"}, + {85, "ECOMM", "communication error on send"}, + {86, "EPROTO", "protocol error"}, + {87, "EMULTIHOP", "multihop attempted"}, + {88, "EDOTDOT", "RFS specific error"}, + {89, "EREMCHG", "remote address changed"}, + {90, "ENOSYS", "function not implemented"}, + {91, "ESTRPIPE", "streams pipe error"}, + {92, "EOVERFLOW", "value too large for defined data type"}, + {93, "EBADFD", "file descriptor in bad state"}, + {94, "ECHRNG", "channel number out of range"}, + {95, "EL2NSYNC", "level 2 not synchronized"}, + {96, "EL3HLT", "level 3 halted"}, + {97, "EL3RST", "level 3 reset"}, + {98, "ELNRNG", "link number out of range"}, + {99, "EUNATCH", "protocol driver not attached"}, + {100, "ENOCSI", "no CSI structure available"}, + {101, "EL2HLT", "level 2 halted"}, + {102, "EBADE", "invalid exchange"}, + {103, "EBADR", "invalid request descriptor"}, + {104, "EXFULL", "exchange full"}, + {105, "ENOANO", "no anode"}, + {106, "EBADRQC", "invalid request code"}, + {107, "EBADSLT", "invalid slot"}, + {108, "EDEADLOCK", "file locking deadlock error"}, + {109, "EBFONT", "bad font file format"}, + {110, "ELIBEXEC", "cannot exec a shared library directly"}, + {111, "ENODATA", "no data available"}, + {112, "ELIBBAD", "accessing a corrupted shared library"}, + {113, "ENOPKG", "package not installed"}, + {114, "ELIBACC", "can not access a needed shared library"}, + {115, "ENOTUNIQ", "name not unique on network"}, + {116, "ERESTART", "interrupted system call should be restarted"}, + {117, "EUCLEAN", "structure needs cleaning"}, + {118, "ENOTNAM", "not a XENIX named type file"}, + {119, "ENAVAIL", "no XENIX semaphores available"}, + {120, "EISNAM", "is a named type file"}, + {121, "EREMOTEIO", "remote I/O error"}, + {122, "EILSEQ", "invalid or incomplete multibyte or wide character"}, + {123, "ELIBMAX", "attempting to link in too many shared libraries"}, + {124, "ELIBSCN", ".lib section in a.out corrupted"}, + {125, "ENOMEDIUM", "no medium found"}, + {126, "EMEDIUMTYPE", "wrong medium type"}, + {127, "ECANCELED", "operation canceled"}, + {128, "ENOKEY", "required key not available"}, + {129, "EKEYEXPIRED", "key has expired"}, + {130, "EKEYREVOKED", "key has been revoked"}, + {131, "EKEYREJECTED", "key was rejected by service"}, + {132, "EOWNERDEAD", "owner died"}, + {133, "ENOTRECOVERABLE", "state not recoverable"}, + {134, "ERFKILL", "operation not possible due to RF-kill"}, + {135, "EHWPOISON", "memory page has hardware error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/breakpoint trap"}, + {6, "SIGABRT", "aborted"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "stopped (signal)"}, + {18, "SIGTSTP", "stopped"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "CPU time limit exceeded"}, + {25, "SIGXFSZ", "file size limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window changed"}, + {29, "SIGLOST", "power failure"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go new file mode 100644 index 000000000..78cc04ea6 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go @@ -0,0 +1,1772 @@ +// mkerrors.sh -m32 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,netbsd + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m32 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x1c + AF_BLUETOOTH = 0x1f + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x20 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x23 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OROUTE = 0x11 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x22 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ARPHRD_ARCNET = 0x7 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_STRIP = 0x17 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427d + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0084277 + BIOCGETIF = 0x4090426b + BIOCGFEEDBACK = 0x4004427c + BIOCGHDRCMPLT = 0x40044274 + BIOCGRTIMEOUT = 0x400c427b + BIOCGSEESENT = 0x40044278 + BIOCGSTATS = 0x4080426f + BIOCGSTATSOLD = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044276 + BIOCSETF = 0x80084267 + BIOCSETIF = 0x8090426c + BIOCSFEEDBACK = 0x8004427d + BIOCSHDRCMPLT = 0x80044275 + BIOCSRTIMEOUT = 0x800c427a + BIOCSSEESENT = 0x80044279 + BIOCSTCPF = 0x80084272 + BIOCSUDPF = 0x80084273 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALIGNMENT32 = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DFLTBUFSIZE = 0x100000 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x1000000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLONE_CSIGNAL = 0xff + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_PID = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SIGHAND = 0x800 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + CTL_QUERY = -0x2 + DIOCBSFLUSH = 0x20006478 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HDLC = 0x10 + DLT_HHDLC = 0x79 + DLT_HIPPI = 0xf + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0xe + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RAWAF_MASK = 0x2240000 + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMUL_LINUX = 0x1 + EMUL_LINUX32 = 0x5 + EMUL_MAXID = 0x6 + EN_SW_CTL_INF = 0x1000 + EN_SW_CTL_PREC = 0x300 + EN_SW_CTL_ROUND = 0xc00 + EN_SW_DATACHAIN = 0x80 + EN_SW_DENORM = 0x2 + EN_SW_INVOP = 0x1 + EN_SW_OVERFLOW = 0x8 + EN_SW_PRECLOSS = 0x20 + EN_SW_UNDERFLOW = 0x10 + EN_SW_ZERODIV = 0x4 + ETHERCAP_JUMBO_MTU = 0x4 + ETHERCAP_VLAN_HWTAGGING = 0x2 + ETHERCAP_VLAN_MTU = 0x1 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERMTU_JUMBO = 0x2328 + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOWPROTOCOLS = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_LEN = 0x5ee + ETHER_MAX_LEN_JUMBO = 0x233a + ETHER_MIN_LEN = 0x40 + ETHER_PPPOE_ENCAP_LEN = 0x8 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = 0x2 + EVFILT_PROC = 0x4 + EVFILT_READ = 0x0 + EVFILT_SIGNAL = 0x5 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = 0x6 + EVFILT_VNODE = 0x3 + EVFILT_WRITE = 0x1 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_CMD_START = 0x1 + EXTATTR_CMD_STOP = 0x2 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x100 + FLUSHO = 0x800000 + F_CLOSEM = 0xa + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xc + F_FSCTL = -0x80000000 + F_FSDIRMASK = 0x70000000 + F_FSIN = 0x10000000 + F_FSINOUT = 0x30000000 + F_FSOUT = 0x20000000 + F_FSPRIV = 0x8000 + F_FSVOID = 0x40000000 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETNOSIGPIPE = 0xd + F_GETOWN = 0x5 + F_MAXFD = 0xb + F_OK = 0x0 + F_PARAM_MASK = 0xfff + F_PARAM_MAX = 0xfff + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETNOSIGPIPE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8f52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf8 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IPV6_ICMP = 0x3a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MOBILE = 0x37 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_VRRP = 0x70 + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_EF = 0x8000 + IP_ERRORMTU = 0x15 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x16 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINFRAGSIZE = 0x45 + IP_MINTTL = 0x18 + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x17 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ALIGNMENT_16MB = 0x18000000 + MAP_ALIGNMENT_1TB = 0x28000000 + MAP_ALIGNMENT_256TB = 0x30000000 + MAP_ALIGNMENT_4GB = 0x20000000 + MAP_ALIGNMENT_64KB = 0x10000000 + MAP_ALIGNMENT_64PB = 0x38000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_INHERIT = 0x80 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_DEFAULT = 0x1 + MAP_INHERIT_DONATE_COPY = 0x3 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_STACK = 0x2000 + MAP_TRYFIXED = 0x400 + MAP_WIRED = 0x800 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_BASIC_FLAGS = 0xe782807f + MNT_DEFEXPORTED = 0x200 + MNT_DISCARD = 0x800000 + MNT_EXKERB = 0x800 + MNT_EXNORESPORT = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x10000000 + MNT_EXRDONLY = 0x80 + MNT_EXTATTR = 0x1000000 + MNT_FORCE = 0x80000 + MNT_GETARGS = 0x400000 + MNT_IGNORE = 0x100000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_LOG = 0x2000000 + MNT_NOATIME = 0x4000000 + MNT_NOCOREDUMP = 0x8000 + MNT_NODEV = 0x10 + MNT_NODEVMTIME = 0x40000000 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_OP_FLAGS = 0x4d0000 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELATIME = 0x20000 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x80000000 + MNT_SYMPERM = 0x20000000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0xff90ffff + MNT_WAIT = 0x1 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CONTROLMBUF = 0x2000000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_IOVUSRSPACE = 0x4000000 + MSG_LENUSRSPACE = 0x8000000 + MSG_MCAST = 0x200 + MSG_NAMEMBUF = 0x1000000 + MSG_NBIO = 0x1000 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_USERFLAGS = 0xffffff + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x4 + NAME_MAX = 0x1ff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x5 + NET_RT_MAXID = 0x6 + NET_RT_OIFLIST = 0x4 + NET_RT_OOIFLIST = 0x3 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFIOGETBMAP = 0xc004667a + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_ALT_IO = 0x40000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x400000 + O_CREAT = 0x200 + O_DIRECT = 0x80000 + O_DIRECTORY = 0x200000 + O_DSYNC = 0x10000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_NOSIGPIPE = 0x1000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x20000 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PRI_IOFLUSH = 0x7c + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x9 + RTAX_NETMASK = 0x2 + RTAX_TAG = 0x8 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTA_TAG = 0x100 + RTF_ANNOUNCE = 0x20000 + RTF_BLACKHOLE = 0x1000 + RTF_CLONED = 0x2000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_REJECT = 0x8 + RTF_SRC = 0x10000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_CHGADDR = 0x15 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x11 + RTM_IFANNOUNCE = 0x10 + RTM_IFINFO = 0x14 + RTM_LLINFO_UPD = 0x13 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OIFINFO = 0xf + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_OOIFINFO = 0xe + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_SETGATE = 0x12 + RTM_VERSION = 0x4 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x4 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x8 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80906931 + SIOCADDRT = 0x8030720a + SIOCAIFADDR = 0x8040691a + SIOCALIFADDR = 0x8118691c + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80906932 + SIOCDELRT = 0x8030720b + SIOCDIFADDR = 0x80906919 + SIOCDIFPHYADDR = 0x80906949 + SIOCDLIFADDR = 0x8118691e + SIOCGDRVSPEC = 0xc01c697b + SIOCGETPFSYNC = 0xc09069f8 + SIOCGETSGCNT = 0xc0147534 + SIOCGETVIFCNT = 0xc0147533 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0906921 + SIOCGIFADDRPREF = 0xc0946920 + SIOCGIFALIAS = 0xc040691b + SIOCGIFBRDADDR = 0xc0906923 + SIOCGIFCAP = 0xc0206976 + SIOCGIFCONF = 0xc0086926 + SIOCGIFDATA = 0xc0946985 + SIOCGIFDLT = 0xc0906977 + SIOCGIFDSTADDR = 0xc0906922 + SIOCGIFFLAGS = 0xc0906911 + SIOCGIFGENERIC = 0xc090693a + SIOCGIFMEDIA = 0xc0286936 + SIOCGIFMETRIC = 0xc0906917 + SIOCGIFMTU = 0xc090697e + SIOCGIFNETMASK = 0xc0906925 + SIOCGIFPDSTADDR = 0xc0906948 + SIOCGIFPSRCADDR = 0xc0906947 + SIOCGLIFADDR = 0xc118691d + SIOCGLIFPHYADDR = 0xc118694b + SIOCGLINKSTR = 0xc01c6987 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGVH = 0xc0906983 + SIOCIFCREATE = 0x8090697a + SIOCIFDESTROY = 0x80906979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCINITIFADDR = 0xc0446984 + SIOCSDRVSPEC = 0x801c697b + SIOCSETPFSYNC = 0x809069f7 + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8090690c + SIOCSIFADDRPREF = 0x8094691f + SIOCSIFBRDADDR = 0x80906913 + SIOCSIFCAP = 0x80206975 + SIOCSIFDSTADDR = 0x8090690e + SIOCSIFFLAGS = 0x80906910 + SIOCSIFGENERIC = 0x80906939 + SIOCSIFMEDIA = 0xc0906935 + SIOCSIFMETRIC = 0x80906918 + SIOCSIFMTU = 0x8090697f + SIOCSIFNETMASK = 0x80906916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSLIFPHYADDR = 0x8118694a + SIOCSLINKSTR = 0x801c6988 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSVH = 0xc0906982 + SIOCZIFDATA = 0xc0946986 + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_FLAGS_MASK = 0xf0000000 + SOCK_NONBLOCK = 0x20000000 + SOCK_NOSIGPIPE = 0x40000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NOHEADER = 0x100a + SO_NOSIGPIPE = 0x800 + SO_OOBINLINE = 0x100 + SO_OVERFLOWED = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x100c + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x100b + SO_TIMESTAMP = 0x2000 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SYSCTL_VERSION = 0x1000000 + SYSCTL_VERS_0 = 0x0 + SYSCTL_VERS_1 = 0x1000000 + SYSCTL_VERS_MASK = 0xff000000 + S_ARCH1 = 0x10000 + S_ARCH2 = 0x20000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + S_LOGIN_SET = 0x1 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_CONGCTL = 0x20 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x3 + TCP_KEEPINIT = 0x7 + TCP_KEEPINTVL = 0x5 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x400c7458 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CDTRCTS = 0x10 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGLINED = 0x40207442 + TIOCGPGRP = 0x40047477 + TIOCGQSIZE = 0x40047481 + TIOCGRANTPT = 0x20007447 + TIOCGSID = 0x40047463 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMGET = 0x40287446 + TIOCPTSNAME = 0x40287448 + TIOCRCVFRAME = 0x80047445 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x2000745f + TIOCSLINED = 0x80207443 + TIOCSPGRP = 0x80047476 + TIOCSQSIZE = 0x80047480 + TIOCSSIZE = 0x80087467 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TIOCXMTFRAME = 0x80047444 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALL = 0x8 + WALLSIG = 0x8 + WALTSIG = 0x4 + WCLONE = 0x4 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WNOWAIT = 0x10000 + WNOZOMBIE = 0x20000 + WOPTSCHECKED = 0x40000 + WSTOPPED = 0x7f + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x58) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x57) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x55) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5e) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x59) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x5a) + ENOSTR = syscall.Errno(0x5b) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x56) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x60) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x5c) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x20) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large or too small"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol option not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "connection timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EILSEQ", "illegal byte sequence"}, + {86, "ENOTSUP", "not supported"}, + {87, "ECANCELED", "operation Canceled"}, + {88, "EBADMSG", "bad or Corrupt message"}, + {89, "ENODATA", "no message available"}, + {90, "ENOSR", "no STREAM resources"}, + {91, "ENOSTR", "not a STREAM"}, + {92, "ETIME", "STREAM ioctl timeout"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EMULTIHOP", "multihop attempted"}, + {95, "ENOLINK", "link has been severed"}, + {96, "ELAST", "protocol error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "stopped (signal)"}, + {18, "SIGTSTP", "stopped"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGPWR", "power fail/restart"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go new file mode 100644 index 000000000..92185e693 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go @@ -0,0 +1,1762 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,netbsd + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x1c + AF_BLUETOOTH = 0x1f + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x20 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x23 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OROUTE = 0x11 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x22 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ARPHRD_ARCNET = 0x7 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_STRIP = 0x17 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427d + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0104277 + BIOCGETIF = 0x4090426b + BIOCGFEEDBACK = 0x4004427c + BIOCGHDRCMPLT = 0x40044274 + BIOCGRTIMEOUT = 0x4010427b + BIOCGSEESENT = 0x40044278 + BIOCGSTATS = 0x4080426f + BIOCGSTATSOLD = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044276 + BIOCSETF = 0x80104267 + BIOCSETIF = 0x8090426c + BIOCSFEEDBACK = 0x8004427d + BIOCSHDRCMPLT = 0x80044275 + BIOCSRTIMEOUT = 0x8010427a + BIOCSSEESENT = 0x80044279 + BIOCSTCPF = 0x80104272 + BIOCSUDPF = 0x80104273 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x8 + BPF_ALIGNMENT32 = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DFLTBUFSIZE = 0x100000 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x1000000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLONE_CSIGNAL = 0xff + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_PID = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SIGHAND = 0x800 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + CTL_QUERY = -0x2 + DIOCBSFLUSH = 0x20006478 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HDLC = 0x10 + DLT_HHDLC = 0x79 + DLT_HIPPI = 0xf + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0xe + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RAWAF_MASK = 0x2240000 + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMUL_LINUX = 0x1 + EMUL_LINUX32 = 0x5 + EMUL_MAXID = 0x6 + ETHERCAP_JUMBO_MTU = 0x4 + ETHERCAP_VLAN_HWTAGGING = 0x2 + ETHERCAP_VLAN_MTU = 0x1 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERMTU_JUMBO = 0x2328 + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOWPROTOCOLS = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_LEN = 0x5ee + ETHER_MAX_LEN_JUMBO = 0x233a + ETHER_MIN_LEN = 0x40 + ETHER_PPPOE_ENCAP_LEN = 0x8 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = 0x2 + EVFILT_PROC = 0x4 + EVFILT_READ = 0x0 + EVFILT_SIGNAL = 0x5 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = 0x6 + EVFILT_VNODE = 0x3 + EVFILT_WRITE = 0x1 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_CMD_START = 0x1 + EXTATTR_CMD_STOP = 0x2 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x100 + FLUSHO = 0x800000 + F_CLOSEM = 0xa + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xc + F_FSCTL = -0x80000000 + F_FSDIRMASK = 0x70000000 + F_FSIN = 0x10000000 + F_FSINOUT = 0x30000000 + F_FSOUT = 0x20000000 + F_FSPRIV = 0x8000 + F_FSVOID = 0x40000000 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETNOSIGPIPE = 0xd + F_GETOWN = 0x5 + F_MAXFD = 0xb + F_OK = 0x0 + F_PARAM_MASK = 0xfff + F_PARAM_MAX = 0xfff + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETNOSIGPIPE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8f52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf8 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IPV6_ICMP = 0x3a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MOBILE = 0x37 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_VRRP = 0x70 + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_EF = 0x8000 + IP_ERRORMTU = 0x15 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x16 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINFRAGSIZE = 0x45 + IP_MINTTL = 0x18 + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x17 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ALIGNMENT_16MB = 0x18000000 + MAP_ALIGNMENT_1TB = 0x28000000 + MAP_ALIGNMENT_256TB = 0x30000000 + MAP_ALIGNMENT_4GB = 0x20000000 + MAP_ALIGNMENT_64KB = 0x10000000 + MAP_ALIGNMENT_64PB = 0x38000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_INHERIT = 0x80 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_DEFAULT = 0x1 + MAP_INHERIT_DONATE_COPY = 0x3 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_STACK = 0x2000 + MAP_TRYFIXED = 0x400 + MAP_WIRED = 0x800 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_BASIC_FLAGS = 0xe782807f + MNT_DEFEXPORTED = 0x200 + MNT_DISCARD = 0x800000 + MNT_EXKERB = 0x800 + MNT_EXNORESPORT = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x10000000 + MNT_EXRDONLY = 0x80 + MNT_EXTATTR = 0x1000000 + MNT_FORCE = 0x80000 + MNT_GETARGS = 0x400000 + MNT_IGNORE = 0x100000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_LOG = 0x2000000 + MNT_NOATIME = 0x4000000 + MNT_NOCOREDUMP = 0x8000 + MNT_NODEV = 0x10 + MNT_NODEVMTIME = 0x40000000 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_OP_FLAGS = 0x4d0000 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELATIME = 0x20000 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x80000000 + MNT_SYMPERM = 0x20000000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0xff90ffff + MNT_WAIT = 0x1 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CONTROLMBUF = 0x2000000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_IOVUSRSPACE = 0x4000000 + MSG_LENUSRSPACE = 0x8000000 + MSG_MCAST = 0x200 + MSG_NAMEMBUF = 0x1000000 + MSG_NBIO = 0x1000 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_USERFLAGS = 0xffffff + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x4 + NAME_MAX = 0x1ff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x5 + NET_RT_MAXID = 0x6 + NET_RT_OIFLIST = 0x4 + NET_RT_OOIFLIST = 0x3 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFIOGETBMAP = 0xc004667a + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_ALT_IO = 0x40000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x400000 + O_CREAT = 0x200 + O_DIRECT = 0x80000 + O_DIRECTORY = 0x200000 + O_DSYNC = 0x10000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_NOSIGPIPE = 0x1000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x20000 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PRI_IOFLUSH = 0x7c + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x9 + RTAX_NETMASK = 0x2 + RTAX_TAG = 0x8 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTA_TAG = 0x100 + RTF_ANNOUNCE = 0x20000 + RTF_BLACKHOLE = 0x1000 + RTF_CLONED = 0x2000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_REJECT = 0x8 + RTF_SRC = 0x10000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_CHGADDR = 0x15 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x11 + RTM_IFANNOUNCE = 0x10 + RTM_IFINFO = 0x14 + RTM_LLINFO_UPD = 0x13 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OIFINFO = 0xf + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_OOIFINFO = 0xe + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_SETGATE = 0x12 + RTM_VERSION = 0x4 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x4 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x8 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80906931 + SIOCADDRT = 0x8038720a + SIOCAIFADDR = 0x8040691a + SIOCALIFADDR = 0x8118691c + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80906932 + SIOCDELRT = 0x8038720b + SIOCDIFADDR = 0x80906919 + SIOCDIFPHYADDR = 0x80906949 + SIOCDLIFADDR = 0x8118691e + SIOCGDRVSPEC = 0xc028697b + SIOCGETPFSYNC = 0xc09069f8 + SIOCGETSGCNT = 0xc0207534 + SIOCGETVIFCNT = 0xc0287533 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0906921 + SIOCGIFADDRPREF = 0xc0986920 + SIOCGIFALIAS = 0xc040691b + SIOCGIFBRDADDR = 0xc0906923 + SIOCGIFCAP = 0xc0206976 + SIOCGIFCONF = 0xc0106926 + SIOCGIFDATA = 0xc0986985 + SIOCGIFDLT = 0xc0906977 + SIOCGIFDSTADDR = 0xc0906922 + SIOCGIFFLAGS = 0xc0906911 + SIOCGIFGENERIC = 0xc090693a + SIOCGIFMEDIA = 0xc0306936 + SIOCGIFMETRIC = 0xc0906917 + SIOCGIFMTU = 0xc090697e + SIOCGIFNETMASK = 0xc0906925 + SIOCGIFPDSTADDR = 0xc0906948 + SIOCGIFPSRCADDR = 0xc0906947 + SIOCGLIFADDR = 0xc118691d + SIOCGLIFPHYADDR = 0xc118694b + SIOCGLINKSTR = 0xc0286987 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGVH = 0xc0906983 + SIOCIFCREATE = 0x8090697a + SIOCIFDESTROY = 0x80906979 + SIOCIFGCLONERS = 0xc0106978 + SIOCINITIFADDR = 0xc0706984 + SIOCSDRVSPEC = 0x8028697b + SIOCSETPFSYNC = 0x809069f7 + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8090690c + SIOCSIFADDRPREF = 0x8098691f + SIOCSIFBRDADDR = 0x80906913 + SIOCSIFCAP = 0x80206975 + SIOCSIFDSTADDR = 0x8090690e + SIOCSIFFLAGS = 0x80906910 + SIOCSIFGENERIC = 0x80906939 + SIOCSIFMEDIA = 0xc0906935 + SIOCSIFMETRIC = 0x80906918 + SIOCSIFMTU = 0x8090697f + SIOCSIFNETMASK = 0x80906916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSLIFPHYADDR = 0x8118694a + SIOCSLINKSTR = 0x80286988 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSVH = 0xc0906982 + SIOCZIFDATA = 0xc0986986 + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_FLAGS_MASK = 0xf0000000 + SOCK_NONBLOCK = 0x20000000 + SOCK_NOSIGPIPE = 0x40000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NOHEADER = 0x100a + SO_NOSIGPIPE = 0x800 + SO_OOBINLINE = 0x100 + SO_OVERFLOWED = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x100c + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x100b + SO_TIMESTAMP = 0x2000 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SYSCTL_VERSION = 0x1000000 + SYSCTL_VERS_0 = 0x0 + SYSCTL_VERS_1 = 0x1000000 + SYSCTL_VERS_MASK = 0xff000000 + S_ARCH1 = 0x10000 + S_ARCH2 = 0x20000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + S_LOGIN_SET = 0x1 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_CONGCTL = 0x20 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x3 + TCP_KEEPINIT = 0x7 + TCP_KEEPINTVL = 0x5 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CDTRCTS = 0x10 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGLINED = 0x40207442 + TIOCGPGRP = 0x40047477 + TIOCGQSIZE = 0x40047481 + TIOCGRANTPT = 0x20007447 + TIOCGSID = 0x40047463 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMGET = 0x40287446 + TIOCPTSNAME = 0x40287448 + TIOCRCVFRAME = 0x80087445 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x2000745f + TIOCSLINED = 0x80207443 + TIOCSPGRP = 0x80047476 + TIOCSQSIZE = 0x80047480 + TIOCSSIZE = 0x80087467 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TIOCXMTFRAME = 0x80087444 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALL = 0x8 + WALLSIG = 0x8 + WALTSIG = 0x4 + WCLONE = 0x4 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WNOWAIT = 0x10000 + WNOZOMBIE = 0x20000 + WOPTSCHECKED = 0x40000 + WSTOPPED = 0x7f + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x58) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x57) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x55) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5e) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x59) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x5a) + ENOSTR = syscall.Errno(0x5b) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x56) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x60) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x5c) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x20) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large or too small"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol option not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "connection timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EILSEQ", "illegal byte sequence"}, + {86, "ENOTSUP", "not supported"}, + {87, "ECANCELED", "operation Canceled"}, + {88, "EBADMSG", "bad or Corrupt message"}, + {89, "ENODATA", "no message available"}, + {90, "ENOSR", "no STREAM resources"}, + {91, "ENOSTR", "not a STREAM"}, + {92, "ETIME", "STREAM ioctl timeout"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EMULTIHOP", "multihop attempted"}, + {95, "ENOLINK", "link has been severed"}, + {96, "ELAST", "protocol error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "stopped (signal)"}, + {18, "SIGTSTP", "stopped"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGPWR", "power fail/restart"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go new file mode 100644 index 000000000..373ad4543 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go @@ -0,0 +1,1751 @@ +// mkerrors.sh -marm +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,netbsd + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -marm _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x1c + AF_BLUETOOTH = 0x1f + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x20 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x23 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OROUTE = 0x11 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x22 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ARPHRD_ARCNET = 0x7 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_STRIP = 0x17 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427d + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0084277 + BIOCGETIF = 0x4090426b + BIOCGFEEDBACK = 0x4004427c + BIOCGHDRCMPLT = 0x40044274 + BIOCGRTIMEOUT = 0x400c427b + BIOCGSEESENT = 0x40044278 + BIOCGSTATS = 0x4080426f + BIOCGSTATSOLD = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044276 + BIOCSETF = 0x80084267 + BIOCSETIF = 0x8090426c + BIOCSFEEDBACK = 0x8004427d + BIOCSHDRCMPLT = 0x80044275 + BIOCSRTIMEOUT = 0x800c427a + BIOCSSEESENT = 0x80044279 + BIOCSTCPF = 0x80084272 + BIOCSUDPF = 0x80084273 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALIGNMENT32 = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DFLTBUFSIZE = 0x100000 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x1000000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + CTL_QUERY = -0x2 + DIOCBSFLUSH = 0x20006478 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HDLC = 0x10 + DLT_HHDLC = 0x79 + DLT_HIPPI = 0xf + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0xe + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RAWAF_MASK = 0x2240000 + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMUL_LINUX = 0x1 + EMUL_LINUX32 = 0x5 + EMUL_MAXID = 0x6 + ETHERCAP_JUMBO_MTU = 0x4 + ETHERCAP_VLAN_HWTAGGING = 0x2 + ETHERCAP_VLAN_MTU = 0x1 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERMTU_JUMBO = 0x2328 + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOWPROTOCOLS = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_LEN = 0x5ee + ETHER_MAX_LEN_JUMBO = 0x233a + ETHER_MIN_LEN = 0x40 + ETHER_PPPOE_ENCAP_LEN = 0x8 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = 0x2 + EVFILT_PROC = 0x4 + EVFILT_READ = 0x0 + EVFILT_SIGNAL = 0x5 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = 0x6 + EVFILT_VNODE = 0x3 + EVFILT_WRITE = 0x1 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_CMD_START = 0x1 + EXTATTR_CMD_STOP = 0x2 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x100 + FLUSHO = 0x800000 + F_CLOSEM = 0xa + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xc + F_FSCTL = -0x80000000 + F_FSDIRMASK = 0x70000000 + F_FSIN = 0x10000000 + F_FSINOUT = 0x30000000 + F_FSOUT = 0x20000000 + F_FSPRIV = 0x8000 + F_FSVOID = 0x40000000 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETNOSIGPIPE = 0xd + F_GETOWN = 0x5 + F_MAXFD = 0xb + F_OK = 0x0 + F_PARAM_MASK = 0xfff + F_PARAM_MAX = 0xfff + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETNOSIGPIPE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8f52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf8 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IPV6_ICMP = 0x3a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MOBILE = 0x37 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_VRRP = 0x70 + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_EF = 0x8000 + IP_ERRORMTU = 0x15 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x16 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINFRAGSIZE = 0x45 + IP_MINTTL = 0x18 + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x17 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ALIGNMENT_16MB = 0x18000000 + MAP_ALIGNMENT_1TB = 0x28000000 + MAP_ALIGNMENT_256TB = 0x30000000 + MAP_ALIGNMENT_4GB = 0x20000000 + MAP_ALIGNMENT_64KB = 0x10000000 + MAP_ALIGNMENT_64PB = 0x38000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_INHERIT = 0x80 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_DEFAULT = 0x1 + MAP_INHERIT_DONATE_COPY = 0x3 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_STACK = 0x2000 + MAP_TRYFIXED = 0x400 + MAP_WIRED = 0x800 + MNT_ASYNC = 0x40 + MNT_BASIC_FLAGS = 0xe782807f + MNT_DEFEXPORTED = 0x200 + MNT_DISCARD = 0x800000 + MNT_EXKERB = 0x800 + MNT_EXNORESPORT = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x10000000 + MNT_EXRDONLY = 0x80 + MNT_EXTATTR = 0x1000000 + MNT_FORCE = 0x80000 + MNT_GETARGS = 0x400000 + MNT_IGNORE = 0x100000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_LOG = 0x2000000 + MNT_NOATIME = 0x4000000 + MNT_NOCOREDUMP = 0x8000 + MNT_NODEV = 0x10 + MNT_NODEVMTIME = 0x40000000 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_OP_FLAGS = 0x4d0000 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELATIME = 0x20000 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x80000000 + MNT_SYMPERM = 0x20000000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0xff90ffff + MNT_WAIT = 0x1 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CONTROLMBUF = 0x2000000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_IOVUSRSPACE = 0x4000000 + MSG_LENUSRSPACE = 0x8000000 + MSG_MCAST = 0x200 + MSG_NAMEMBUF = 0x1000000 + MSG_NBIO = 0x1000 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_USERFLAGS = 0xffffff + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x4 + NAME_MAX = 0x1ff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x5 + NET_RT_MAXID = 0x6 + NET_RT_OIFLIST = 0x4 + NET_RT_OOIFLIST = 0x3 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFIOGETBMAP = 0xc004667a + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_ALT_IO = 0x40000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x400000 + O_CREAT = 0x200 + O_DIRECT = 0x80000 + O_DIRECTORY = 0x200000 + O_DSYNC = 0x10000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_NOSIGPIPE = 0x1000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x20000 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PRI_IOFLUSH = 0x7c + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x9 + RTAX_NETMASK = 0x2 + RTAX_TAG = 0x8 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTA_TAG = 0x100 + RTF_ANNOUNCE = 0x20000 + RTF_BLACKHOLE = 0x1000 + RTF_CLONED = 0x2000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_REJECT = 0x8 + RTF_SRC = 0x10000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_CHGADDR = 0x15 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x11 + RTM_IFANNOUNCE = 0x10 + RTM_IFINFO = 0x14 + RTM_LLINFO_UPD = 0x13 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OIFINFO = 0xf + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_OOIFINFO = 0xe + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_SETGATE = 0x12 + RTM_VERSION = 0x4 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x4 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x8 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80906931 + SIOCADDRT = 0x8030720a + SIOCAIFADDR = 0x8040691a + SIOCALIFADDR = 0x8118691c + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80906932 + SIOCDELRT = 0x8030720b + SIOCDIFADDR = 0x80906919 + SIOCDIFPHYADDR = 0x80906949 + SIOCDLIFADDR = 0x8118691e + SIOCGDRVSPEC = 0xc01c697b + SIOCGETPFSYNC = 0xc09069f8 + SIOCGETSGCNT = 0xc0147534 + SIOCGETVIFCNT = 0xc0147533 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0906921 + SIOCGIFADDRPREF = 0xc0946920 + SIOCGIFALIAS = 0xc040691b + SIOCGIFBRDADDR = 0xc0906923 + SIOCGIFCAP = 0xc0206976 + SIOCGIFCONF = 0xc0086926 + SIOCGIFDATA = 0xc0946985 + SIOCGIFDLT = 0xc0906977 + SIOCGIFDSTADDR = 0xc0906922 + SIOCGIFFLAGS = 0xc0906911 + SIOCGIFGENERIC = 0xc090693a + SIOCGIFMEDIA = 0xc0286936 + SIOCGIFMETRIC = 0xc0906917 + SIOCGIFMTU = 0xc090697e + SIOCGIFNETMASK = 0xc0906925 + SIOCGIFPDSTADDR = 0xc0906948 + SIOCGIFPSRCADDR = 0xc0906947 + SIOCGLIFADDR = 0xc118691d + SIOCGLIFPHYADDR = 0xc118694b + SIOCGLINKSTR = 0xc01c6987 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGVH = 0xc0906983 + SIOCIFCREATE = 0x8090697a + SIOCIFDESTROY = 0x80906979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCINITIFADDR = 0xc0446984 + SIOCSDRVSPEC = 0x801c697b + SIOCSETPFSYNC = 0x809069f7 + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8090690c + SIOCSIFADDRPREF = 0x8094691f + SIOCSIFBRDADDR = 0x80906913 + SIOCSIFCAP = 0x80206975 + SIOCSIFDSTADDR = 0x8090690e + SIOCSIFFLAGS = 0x80906910 + SIOCSIFGENERIC = 0x80906939 + SIOCSIFMEDIA = 0xc0906935 + SIOCSIFMETRIC = 0x80906918 + SIOCSIFMTU = 0x8090697f + SIOCSIFNETMASK = 0x80906916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSLIFPHYADDR = 0x8118694a + SIOCSLINKSTR = 0x801c6988 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSVH = 0xc0906982 + SIOCZIFDATA = 0xc0946986 + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_FLAGS_MASK = 0xf0000000 + SOCK_NONBLOCK = 0x20000000 + SOCK_NOSIGPIPE = 0x40000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NOHEADER = 0x100a + SO_NOSIGPIPE = 0x800 + SO_OOBINLINE = 0x100 + SO_OVERFLOWED = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x100c + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x100b + SO_TIMESTAMP = 0x2000 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SYSCTL_VERSION = 0x1000000 + SYSCTL_VERS_0 = 0x0 + SYSCTL_VERS_1 = 0x1000000 + SYSCTL_VERS_MASK = 0xff000000 + S_ARCH1 = 0x10000 + S_ARCH2 = 0x20000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_CONGCTL = 0x20 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x3 + TCP_KEEPINIT = 0x7 + TCP_KEEPINTVL = 0x5 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x400c7458 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CDTRCTS = 0x10 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGLINED = 0x40207442 + TIOCGPGRP = 0x40047477 + TIOCGQSIZE = 0x40047481 + TIOCGRANTPT = 0x20007447 + TIOCGSID = 0x40047463 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMGET = 0x48087446 + TIOCPTSNAME = 0x48087448 + TIOCRCVFRAME = 0x80047445 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x2000745f + TIOCSLINED = 0x80207443 + TIOCSPGRP = 0x80047476 + TIOCSQSIZE = 0x80047480 + TIOCSSIZE = 0x80087467 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TIOCXMTFRAME = 0x80047444 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALL = 0x8 + WALLSIG = 0x8 + WALTSIG = 0x4 + WCLONE = 0x4 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WNOWAIT = 0x10000 + WNOZOMBIE = 0x20000 + WOPTSCHECKED = 0x40000 + WSTOPPED = 0x7f + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x58) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x57) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x55) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5e) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x59) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x5a) + ENOSTR = syscall.Errno(0x5b) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x56) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x60) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x5c) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x20) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large or too small"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol option not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "connection timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EILSEQ", "illegal byte sequence"}, + {86, "ENOTSUP", "not supported"}, + {87, "ECANCELED", "operation Canceled"}, + {88, "EBADMSG", "bad or Corrupt message"}, + {89, "ENODATA", "no message available"}, + {90, "ENOSR", "no STREAM resources"}, + {91, "ENOSTR", "not a STREAM"}, + {92, "ETIME", "STREAM ioctl timeout"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EMULTIHOP", "multihop attempted"}, + {95, "ENOLINK", "link has been severed"}, + {96, "ELAST", "protocol error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "stopped (signal)"}, + {18, "SIGTSTP", "stopped"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGPWR", "power fail/restart"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go new file mode 100644 index 000000000..fb6c60441 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go @@ -0,0 +1,1762 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,netbsd + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_ARP = 0x1c + AF_BLUETOOTH = 0x1f + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_HYLINK = 0xf + AF_IEEE80211 = 0x20 + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x23 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OROUTE = 0x11 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x22 + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ARPHRD_ARCNET = 0x7 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + ARPHRD_STRIP = 0x17 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B921600 = 0xe1000 + B9600 = 0x2580 + BIOCFEEDBACK = 0x8004427d + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0104277 + BIOCGETIF = 0x4090426b + BIOCGFEEDBACK = 0x4004427c + BIOCGHDRCMPLT = 0x40044274 + BIOCGRTIMEOUT = 0x4010427b + BIOCGSEESENT = 0x40044278 + BIOCGSTATS = 0x4080426f + BIOCGSTATSOLD = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDLT = 0x80044276 + BIOCSETF = 0x80104267 + BIOCSETIF = 0x8090426c + BIOCSFEEDBACK = 0x8004427d + BIOCSHDRCMPLT = 0x80044275 + BIOCSRTIMEOUT = 0x8010427a + BIOCSSEESENT = 0x80044279 + BIOCSTCPF = 0x80104272 + BIOCSUDPF = 0x80104273 + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x8 + BPF_ALIGNMENT32 = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DFLTBUFSIZE = 0x100000 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x1000000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLONE_CSIGNAL = 0xff + CLONE_FILES = 0x400 + CLONE_FS = 0x200 + CLONE_PID = 0x1000 + CLONE_PTRACE = 0x2000 + CLONE_SIGHAND = 0x800 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + CTL_QUERY = -0x2 + DIOCBSFLUSH = 0x20006478 + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 + DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 + DLT_CAN20B = 0xbe + DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b + DLT_FRELAY_WITH_DIR = 0xce + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_GSMTAP_ABIS = 0xda + DLT_GSMTAP_UM = 0xd9 + DLT_HDLC = 0x10 + DLT_HHDLC = 0x79 + DLT_HIPPI = 0xf + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPNET = 0xe2 + DLT_IPV4 = 0xe4 + DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 + DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 + DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0xe + DLT_PPP_ETHER = 0x33 + DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc + DLT_RAWAF_MASK = 0x2240000 + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc + DLT_WIHART = 0xdf + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMUL_LINUX = 0x1 + EMUL_LINUX32 = 0x5 + EMUL_MAXID = 0x6 + ETHERCAP_JUMBO_MTU = 0x4 + ETHERCAP_VLAN_HWTAGGING = 0x2 + ETHERCAP_VLAN_MTU = 0x1 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERMTU_JUMBO = 0x2328 + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOWPROTOCOLS = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_LEN = 0x5ee + ETHER_MAX_LEN_JUMBO = 0x233a + ETHER_MIN_LEN = 0x40 + ETHER_PPPOE_ENCAP_LEN = 0x8 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = 0x2 + EVFILT_PROC = 0x4 + EVFILT_READ = 0x0 + EVFILT_SIGNAL = 0x5 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = 0x6 + EVFILT_VNODE = 0x3 + EVFILT_WRITE = 0x1 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTATTR_CMD_START = 0x1 + EXTATTR_CMD_STOP = 0x2 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x100 + FLUSHO = 0x800000 + F_CLOSEM = 0xa + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xc + F_FSCTL = -0x80000000 + F_FSDIRMASK = 0x70000000 + F_FSIN = 0x10000000 + F_FSINOUT = 0x30000000 + F_FSOUT = 0x20000000 + F_FSPRIV = 0x8000 + F_FSVOID = 0x40000000 + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETNOSIGPIPE = 0xd + F_GETOWN = 0x5 + F_MAXFD = 0xb + F_OK = 0x0 + F_PARAM_MASK = 0xfff + F_PARAM_MAX = 0xfff + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETNOSIGPIPE = 0xe + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8f52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf8 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf1 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_STF = 0xd7 + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_IPV6_ICMP = 0x3a + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x34 + IPPROTO_MOBILE = 0x37 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPPROTO_VRRP = 0x70 + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_EF = 0x8000 + IP_ERRORMTU = 0x15 + IP_HDRINCL = 0x2 + IP_IPSEC_POLICY = 0x16 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 + IP_MINFRAGSIZE = 0x45 + IP_MINTTL = 0x18 + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVTTL = 0x17 + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ALIGNMENT_16MB = 0x18000000 + MAP_ALIGNMENT_1TB = 0x28000000 + MAP_ALIGNMENT_256TB = 0x30000000 + MAP_ALIGNMENT_4GB = 0x20000000 + MAP_ALIGNMENT_64KB = 0x10000000 + MAP_ALIGNMENT_64PB = 0x38000000 + MAP_ALIGNMENT_MASK = -0x1000000 + MAP_ALIGNMENT_SHIFT = 0x18 + MAP_ANON = 0x1000 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_HASSEMAPHORE = 0x200 + MAP_INHERIT = 0x80 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_DEFAULT = 0x1 + MAP_INHERIT_DONATE_COPY = 0x3 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_STACK = 0x2000 + MAP_TRYFIXED = 0x400 + MAP_WIRED = 0x800 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_BASIC_FLAGS = 0xe782807f + MNT_DEFEXPORTED = 0x200 + MNT_DISCARD = 0x800000 + MNT_EXKERB = 0x800 + MNT_EXNORESPORT = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXPUBLIC = 0x10000000 + MNT_EXRDONLY = 0x80 + MNT_EXTATTR = 0x1000000 + MNT_FORCE = 0x80000 + MNT_GETARGS = 0x400000 + MNT_IGNORE = 0x100000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_LOG = 0x2000000 + MNT_NOATIME = 0x4000000 + MNT_NOCOREDUMP = 0x8000 + MNT_NODEV = 0x10 + MNT_NODEVMTIME = 0x40000000 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_OP_FLAGS = 0x4d0000 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELATIME = 0x20000 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x80000000 + MNT_SYMPERM = 0x20000000 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0xff90ffff + MNT_WAIT = 0x1 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CONTROLMBUF = 0x2000000 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_IOVUSRSPACE = 0x4000000 + MSG_LENUSRSPACE = 0x8000000 + MSG_MCAST = 0x200 + MSG_NAMEMBUF = 0x1000000 + MSG_NBIO = 0x1000 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_USERFLAGS = 0xffffff + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_SYNC = 0x4 + NAME_MAX = 0x1ff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x5 + NET_RT_MAXID = 0x6 + NET_RT_OIFLIST = 0x4 + NET_RT_OOIFLIST = 0x3 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OFIOGETBMAP = 0xc004667a + ONLCR = 0x2 + ONLRET = 0x40 + ONOCR = 0x20 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_ALT_IO = 0x40000 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x400000 + O_CREAT = 0x200 + O_DIRECT = 0x80000 + O_DIRECTORY = 0x200000 + O_DSYNC = 0x10000 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_NOSIGPIPE = 0x1000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x20000 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PRI_IOFLUSH = 0x7c + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x9 + RTAX_NETMASK = 0x2 + RTAX_TAG = 0x8 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTA_TAG = 0x100 + RTF_ANNOUNCE = 0x20000 + RTF_BLACKHOLE = 0x1000 + RTF_CLONED = 0x2000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_REJECT = 0x8 + RTF_SRC = 0x10000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_CHGADDR = 0x15 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_GET = 0x4 + RTM_IEEE80211 = 0x11 + RTM_IFANNOUNCE = 0x10 + RTM_IFINFO = 0x14 + RTM_LLINFO_UPD = 0x13 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OIFINFO = 0xf + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_OOIFINFO = 0xe + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_SETGATE = 0x12 + RTM_VERSION = 0x4 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_CREDS = 0x4 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x8 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80906931 + SIOCADDRT = 0x8038720a + SIOCAIFADDR = 0x8040691a + SIOCALIFADDR = 0x8118691c + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80906932 + SIOCDELRT = 0x8038720b + SIOCDIFADDR = 0x80906919 + SIOCDIFPHYADDR = 0x80906949 + SIOCDLIFADDR = 0x8118691e + SIOCGDRVSPEC = 0xc028697b + SIOCGETPFSYNC = 0xc09069f8 + SIOCGETSGCNT = 0xc0207534 + SIOCGETVIFCNT = 0xc0287533 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0906921 + SIOCGIFADDRPREF = 0xc0986920 + SIOCGIFALIAS = 0xc040691b + SIOCGIFBRDADDR = 0xc0906923 + SIOCGIFCAP = 0xc0206976 + SIOCGIFCONF = 0xc0106926 + SIOCGIFDATA = 0xc0986985 + SIOCGIFDLT = 0xc0906977 + SIOCGIFDSTADDR = 0xc0906922 + SIOCGIFFLAGS = 0xc0906911 + SIOCGIFGENERIC = 0xc090693a + SIOCGIFMEDIA = 0xc0306936 + SIOCGIFMETRIC = 0xc0906917 + SIOCGIFMTU = 0xc090697e + SIOCGIFNETMASK = 0xc0906925 + SIOCGIFPDSTADDR = 0xc0906948 + SIOCGIFPSRCADDR = 0xc0906947 + SIOCGLIFADDR = 0xc118691d + SIOCGLIFPHYADDR = 0xc118694b + SIOCGLINKSTR = 0xc0286987 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGVH = 0xc0906983 + SIOCIFCREATE = 0x8090697a + SIOCIFDESTROY = 0x80906979 + SIOCIFGCLONERS = 0xc0106978 + SIOCINITIFADDR = 0xc0706984 + SIOCSDRVSPEC = 0x8028697b + SIOCSETPFSYNC = 0x809069f7 + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8090690c + SIOCSIFADDRPREF = 0x8098691f + SIOCSIFBRDADDR = 0x80906913 + SIOCSIFCAP = 0x80206975 + SIOCSIFDSTADDR = 0x8090690e + SIOCSIFFLAGS = 0x80906910 + SIOCSIFGENERIC = 0x80906939 + SIOCSIFMEDIA = 0xc0906935 + SIOCSIFMETRIC = 0x80906918 + SIOCSIFMTU = 0x8090697f + SIOCSIFNETMASK = 0x80906916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSLIFPHYADDR = 0x8118694a + SIOCSLINKSTR = 0x80286988 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSVH = 0xc0906982 + SIOCZIFDATA = 0xc0986986 + SOCK_CLOEXEC = 0x10000000 + SOCK_DGRAM = 0x2 + SOCK_FLAGS_MASK = 0xf0000000 + SOCK_NONBLOCK = 0x20000000 + SOCK_NOSIGPIPE = 0x40000000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ACCEPTFILTER = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NOHEADER = 0x100a + SO_NOSIGPIPE = 0x800 + SO_OOBINLINE = 0x100 + SO_OVERFLOWED = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x100c + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x100b + SO_TIMESTAMP = 0x2000 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SYSCTL_VERSION = 0x1000000 + SYSCTL_VERS_0 = 0x0 + SYSCTL_VERS_1 = 0x1000000 + SYSCTL_VERS_MASK = 0xff000000 + S_ARCH1 = 0x10000 + S_ARCH2 = 0x20000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + S_LOGIN_SET = 0x1 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_CONGCTL = 0x20 + TCP_KEEPCNT = 0x6 + TCP_KEEPIDLE = 0x3 + TCP_KEEPINIT = 0x7 + TCP_KEEPINTVL = 0x5 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x10 + TCP_MINMSS = 0xd8 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDCDTIMESTAMP = 0x40107458 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CDTRCTS = 0x10 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGLINED = 0x40207442 + TIOCGPGRP = 0x40047477 + TIOCGQSIZE = 0x40047481 + TIOCGRANTPT = 0x20007447 + TIOCGSID = 0x40047463 + TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCPTMGET = 0x40287446 + TIOCPTSNAME = 0x40287448 + TIOCRCVFRAME = 0x80087445 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x2000745f + TIOCSLINED = 0x80207443 + TIOCSPGRP = 0x80047476 + TIOCSQSIZE = 0x80047480 + TIOCSSIZE = 0x80087467 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TIOCXMTFRAME = 0x80087444 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALL = 0x8 + WALLSIG = 0x8 + WALTSIG = 0x4 + WCLONE = 0x4 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WNOWAIT = 0x10000 + WNOZOMBIE = 0x20000 + WOPTSCHECKED = 0x40000 + WSTOPPED = 0x7f + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x58) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x57) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x55) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x60) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + EMULTIHOP = syscall.Errno(0x5e) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x5d) + ENOBUFS = syscall.Errno(0x37) + ENODATA = syscall.Errno(0x59) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOLINK = syscall.Errno(0x5f) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x53) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x5a) + ENOSTR = syscall.Errno(0x5b) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x56) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x54) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x60) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIME = syscall.Errno(0x5c) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGPWR = syscall.Signal(0x20) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large or too small"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol option not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "connection timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disc quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC prog. not avail"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIDRM", "identifier removed"}, + {83, "ENOMSG", "no message of desired type"}, + {84, "EOVERFLOW", "value too large to be stored in data type"}, + {85, "EILSEQ", "illegal byte sequence"}, + {86, "ENOTSUP", "not supported"}, + {87, "ECANCELED", "operation Canceled"}, + {88, "EBADMSG", "bad or Corrupt message"}, + {89, "ENODATA", "no message available"}, + {90, "ENOSR", "no STREAM resources"}, + {91, "ENOSTR", "not a STREAM"}, + {92, "ETIME", "STREAM ioctl timeout"}, + {93, "ENOATTR", "attribute not found"}, + {94, "EMULTIHOP", "multihop attempted"}, + {95, "ENOLINK", "link has been severed"}, + {96, "ELAST", "protocol error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGIOT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "stopped (signal)"}, + {18, "SIGTSTP", "stopped"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGPWR", "power fail/restart"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go new file mode 100644 index 000000000..d8be04518 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go @@ -0,0 +1,1654 @@ +// mkerrors.sh -m32 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,openbsd + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m32 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_BLUETOOTH = 0x20 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_ENCAP = 0x1c + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_KEY = 0x1e + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x24 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SIP = 0x1d + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRFILT = 0x4004427c + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc008427b + BIOCGETIF = 0x4020426b + BIOCGFILDROP = 0x40044278 + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044273 + BIOCGRTIMEOUT = 0x400c426e + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x20004276 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDIRFILT = 0x8004427d + BIOCSDLT = 0x8004427a + BIOCSETF = 0x80084267 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x80084277 + BIOCSFILDROP = 0x80044279 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044272 + BIOCSRTIMEOUT = 0x800c426d + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIRECTION_IN = 0x1 + BPF_DIRECTION_OUT = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x200000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0xff + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DIOCOSFPFLUSH = 0x2000444e + DLT_ARCNET = 0x7 + DLT_ATM_RFC1483 = 0xb + DLT_AX25 = 0x3 + DLT_CHAOS = 0x5 + DLT_C_HDLC = 0x68 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0xd + DLT_FDDI = 0xa + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_LOOP = 0xc + DLT_MPLS = 0xdb + DLT_NULL = 0x0 + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_SERIAL = 0x32 + DLT_PRONET = 0x4 + DLT_RAW = 0xe + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMT_TAGOVF = 0x1 + EMUL_ENABLED = 0x1 + EMUL_NATIVE = 0x2 + ENDRUNDISC = 0x9 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_AOE = 0x88a2 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LLDP = 0x88cc + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_QINQ = 0x88a8 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOW = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_ALIGN = 0x2 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_DIX_LEN = 0x600 + ETHER_MAX_LEN = 0x5ee + ETHER_MIN_LEN = 0x40 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = -0x3 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = -0x7 + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xa + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETOWN = 0x5 + F_OK = 0x0 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8e52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BLUETOOTH = 0xf8 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf7 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DUMMY = 0xf1 + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf3 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFLOW = 0xf9 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf2 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_HOST = 0x1 + IN_RFC3021_NET = 0xfffffffe + IN_RFC3021_NSHIFT = 0x1f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DIVERT = 0x102 + IPPROTO_DIVERT_INIT = 0x2 + IPPROTO_DIVERT_RESP = 0x1 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x103 + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPV6_AUTH_LEVEL = 0x35 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_ESP_NETWORK_LEVEL = 0x37 + IPV6_ESP_TRANS_LEVEL = 0x36 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPCOMP_LEVEL = 0x3c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_OPTIONS = 0x1 + IPV6_PATHMTU = 0x2c + IPV6_PIPEX = 0x3f + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVDSTPORT = 0x40 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTABLE = 0x1021 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_AUTH_LEVEL = 0x14 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DIVERTFL = 0x1022 + IP_DROP_MEMBERSHIP = 0xd + IP_ESP_NETWORK_LEVEL = 0x16 + IP_ESP_TRANS_LEVEL = 0x15 + IP_HDRINCL = 0x2 + IP_IPCOMP_LEVEL = 0x1d + IP_IPSECFLOWINFO = 0x24 + IP_IPSEC_LOCAL_AUTH = 0x1b + IP_IPSEC_LOCAL_CRED = 0x19 + IP_IPSEC_LOCAL_ID = 0x17 + IP_IPSEC_REMOTE_AUTH = 0x1c + IP_IPSEC_REMOTE_CRED = 0x1a + IP_IPSEC_REMOTE_ID = 0x18 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0xfff + IP_MF = 0x2000 + IP_MINTTL = 0x20 + IP_MIN_MEMBERSHIPS = 0xf + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PIPEX = 0x22 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVDSTPORT = 0x21 + IP_RECVIF = 0x1e + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRTABLE = 0x23 + IP_RECVTTL = 0x1f + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RTABLE = 0x1021 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LCNT_OVERLOAD_FLUSH = 0x6 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ANON = 0x1000 + MAP_COPY = 0x4 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FLAGMASK = 0x1ff7 + MAP_HASSEMAPHORE = 0x200 + MAP_INHERIT = 0x80 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_DONATE_COPY = 0x3 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_NOEXTEND = 0x100 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_TRYFIXED = 0x400 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_DOOMED = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_NOATIME = 0x8000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x4000000 + MNT_SYNCHRONOUS = 0x2 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x400ffff + MNT_WAIT = 0x1 + MNT_WANTRDWR = 0x2000000 + MNT_WXALLOWED = 0x800 + MSG_BCAST = 0x100 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_MCAST = 0x200 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x4 + MS_SYNC = 0x2 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_MAXID = 0x6 + NET_RT_STATS = 0x4 + NET_RT_TABLE = 0x5 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EOF = 0x2 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRUNCATE = 0x80 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x80 + ONOCR = 0x40 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x10000 + O_CREAT = 0x200 + O_DIRECTORY = 0x20000 + O_DSYNC = 0x80 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x80 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PF_FLUSH = 0x1 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + PT_MASK = 0x3ff000 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x8 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_LABEL = 0xa + RTAX_MAX = 0xb + RTAX_NETMASK = 0x2 + RTAX_SRC = 0x8 + RTAX_SRCMASK = 0x9 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_LABEL = 0x400 + RTA_NETMASK = 0x4 + RTA_SRC = 0x100 + RTA_SRCMASK = 0x200 + RTF_ANNOUNCE = 0x4000 + RTF_BLACKHOLE = 0x1000 + RTF_CLONED = 0x10000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FMASK = 0x10f808 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_MPATH = 0x40000 + RTF_MPLS = 0x100000 + RTF_PERMANENT_ARP = 0x2000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x2000 + RTF_REJECT = 0x8 + RTF_SOURCE = 0x20000 + RTF_STATIC = 0x800 + RTF_TUNNEL = 0x100000 + RTF_UP = 0x1 + RTF_USETRAILERS = 0x8000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DESYNC = 0x10 + RTM_GET = 0x4 + RTM_IFANNOUNCE = 0xf + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MAXSIZE = 0x800 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RT_TABLEID_MAX = 0xff + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80246987 + SIOCALIFADDR = 0x8218691c + SIOCATMARK = 0x40047307 + SIOCBRDGADD = 0x8054693c + SIOCBRDGADDS = 0x80546941 + SIOCBRDGARL = 0x806e694d + SIOCBRDGDADDR = 0x81286947 + SIOCBRDGDEL = 0x8054693d + SIOCBRDGDELS = 0x80546942 + SIOCBRDGFLUSH = 0x80546948 + SIOCBRDGFRL = 0x806e694e + SIOCBRDGGCACHE = 0xc0146941 + SIOCBRDGGFD = 0xc0146952 + SIOCBRDGGHT = 0xc0146951 + SIOCBRDGGIFFLGS = 0xc054693e + SIOCBRDGGMA = 0xc0146953 + SIOCBRDGGPARAM = 0xc03c6958 + SIOCBRDGGPRI = 0xc0146950 + SIOCBRDGGRL = 0xc028694f + SIOCBRDGGSIFS = 0xc054693c + SIOCBRDGGTO = 0xc0146946 + SIOCBRDGIFS = 0xc0546942 + SIOCBRDGRTS = 0xc0186943 + SIOCBRDGSADDR = 0xc1286944 + SIOCBRDGSCACHE = 0x80146940 + SIOCBRDGSFD = 0x80146952 + SIOCBRDGSHT = 0x80146951 + SIOCBRDGSIFCOST = 0x80546955 + SIOCBRDGSIFFLGS = 0x8054693f + SIOCBRDGSIFPRIO = 0x80546954 + SIOCBRDGSMA = 0x80146953 + SIOCBRDGSPRI = 0x80146950 + SIOCBRDGSPROTO = 0x8014695a + SIOCBRDGSTO = 0x80146945 + SIOCBRDGSTXHC = 0x80146959 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80246989 + SIOCDIFPHYADDR = 0x80206949 + SIOCDLIFADDR = 0x8218691e + SIOCGETKALIVE = 0xc01869a4 + SIOCGETLABEL = 0x8020699a + SIOCGETPFLOW = 0xc02069fe + SIOCGETPFSYNC = 0xc02069f8 + SIOCGETSGCNT = 0xc0147534 + SIOCGETVIFCNT = 0xc0147533 + SIOCGETVLAN = 0xc0206990 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCONF = 0xc0086924 + SIOCGIFDATA = 0xc020691b + SIOCGIFDESCR = 0xc0206981 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGATTR = 0xc024698b + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc024698a + SIOCGIFGROUP = 0xc0246988 + SIOCGIFHARDMTU = 0xc02069a5 + SIOCGIFMEDIA = 0xc0286936 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc020697e + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPRIORITY = 0xc020699c + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFRDOMAIN = 0xc02069a0 + SIOCGIFRTLABEL = 0xc0206983 + SIOCGIFTIMESLOT = 0xc0206986 + SIOCGIFXFLAGS = 0xc020699e + SIOCGLIFADDR = 0xc218691d + SIOCGLIFPHYADDR = 0xc218694b + SIOCGLIFPHYRTABLE = 0xc02069a2 + SIOCGLIFPHYTTL = 0xc02069a9 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGSPPPPARAMS = 0xc0206994 + SIOCGVH = 0xc02069f6 + SIOCGVNETID = 0xc02069a7 + SIOCIFCREATE = 0x8020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCSETKALIVE = 0x801869a3 + SIOCSETLABEL = 0x80206999 + SIOCSETPFLOW = 0x802069fd + SIOCSETPFSYNC = 0x802069f7 + SIOCSETVLAN = 0x8020698f + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFDESCR = 0x80206980 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGATTR = 0x8024698c + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020691f + SIOCSIFMEDIA = 0xc0206935 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x8020697f + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPRIORITY = 0x8020699b + SIOCSIFRDOMAIN = 0x8020699f + SIOCSIFRTLABEL = 0x80206982 + SIOCSIFTIMESLOT = 0x80206985 + SIOCSIFXFLAGS = 0x8020699d + SIOCSLIFPHYADDR = 0x8218694a + SIOCSLIFPHYRTABLE = 0x802069a1 + SIOCSLIFPHYTTL = 0x802069a8 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSSPPPPARAMS = 0x80206993 + SIOCSVH = 0xc02069f5 + SIOCSVNETID = 0x802069a6 + SOCK_DGRAM = 0x2 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BINDANY = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NETPROC = 0x1020 + SO_OOBINLINE = 0x100 + SO_PEERCRED = 0x1022 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RTABLE = 0x1021 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SPLICE = 0x1023 + SO_TIMESTAMP = 0x800 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x3 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x4 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOPUSH = 0x10 + TCP_NSTATES = 0xb + TCP_SACK_ENABLE = 0x8 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_PPS = 0x10 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047463 + TIOCGTSTAMP = 0x400c745b + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMODG = 0x4004746a + TIOCMODS = 0x8004746d + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x8004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSTSTAMP = 0x8008745a + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALTSIG = 0x4 + WCONTINUED = 0x8 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WSTOPPED = 0x7f + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x58) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x59) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EIPSEC = syscall.Errno(0x52) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x5b) + ELOOP = syscall.Errno(0x3e) + EMEDIUMTYPE = syscall.Errno(0x56) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x53) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOMEDIUM = syscall.Errno(0x55) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5a) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x5b) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x57) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EWOULDBLOCK", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disk quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC program not available"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIPSEC", "IPsec processing failure"}, + {83, "ENOATTR", "attribute not found"}, + {84, "EILSEQ", "illegal byte sequence"}, + {85, "ENOMEDIUM", "no medium found"}, + {86, "EMEDIUMTYPE", "wrong medium type"}, + {87, "EOVERFLOW", "value too large to be stored in data type"}, + {88, "ECANCELED", "operation canceled"}, + {89, "EIDRM", "identifier removed"}, + {90, "ENOMSG", "no message of desired type"}, + {91, "ELAST", "not supported"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "thread AST"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go new file mode 100644 index 000000000..1f9e8a29e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go @@ -0,0 +1,1765 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,openbsd + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_BLUETOOTH = 0x20 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_ENCAP = 0x1c + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_KEY = 0x1e + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x24 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SIP = 0x1d + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ALTWERASE = 0x200 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRFILT = 0x4004427c + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc010427b + BIOCGETIF = 0x4020426b + BIOCGFILDROP = 0x40044278 + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044273 + BIOCGRTIMEOUT = 0x4010426e + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x20004276 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDIRFILT = 0x8004427d + BIOCSDLT = 0x8004427a + BIOCSETF = 0x80104267 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x80104277 + BIOCSFILDROP = 0x80044279 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044272 + BIOCSRTIMEOUT = 0x8010426d + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIRECTION_IN = 0x1 + BPF_DIRECTION_OUT = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x200000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CLOCK_BOOTTIME = 0x6 + CLOCK_MONOTONIC = 0x3 + CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x4 + CLOCK_UPTIME = 0x5 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0xff + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DIOCOSFPFLUSH = 0x2000444e + DLT_ARCNET = 0x7 + DLT_ATM_RFC1483 = 0xb + DLT_AX25 = 0x3 + DLT_CHAOS = 0x5 + DLT_C_HDLC = 0x68 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0xd + DLT_FDDI = 0xa + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_LOOP = 0xc + DLT_MPLS = 0xdb + DLT_NULL = 0x0 + DLT_OPENFLOW = 0x10b + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_SERIAL = 0x32 + DLT_PRONET = 0x4 + DLT_RAW = 0xe + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DLT_USBPCAP = 0xf9 + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d + DLT_USER11 = 0x9e + DLT_USER12 = 0x9f + DLT_USER13 = 0xa0 + DLT_USER14 = 0xa1 + DLT_USER15 = 0xa2 + DLT_USER2 = 0x95 + DLT_USER3 = 0x96 + DLT_USER4 = 0x97 + DLT_USER5 = 0x98 + DLT_USER6 = 0x99 + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMT_TAGOVF = 0x1 + EMUL_ENABLED = 0x1 + EMUL_NATIVE = 0x2 + ENDRUNDISC = 0x9 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_AOE = 0x88a2 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LLDP = 0x88cc + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_QINQ = 0x88a8 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOW = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_ALIGN = 0x2 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_DIX_LEN = 0x600 + ETHER_MAX_HARDMTU_LEN = 0xff9b + ETHER_MAX_LEN = 0x5ee + ETHER_MIN_LEN = 0x40 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = -0x3 + EVFILT_DEVICE = -0x8 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0x8 + EVFILT_TIMER = -0x7 + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EVL_ENCAPLEN = 0x4 + EVL_PRIO_BITS = 0xd + EVL_PRIO_MAX = 0x7 + EVL_VLID_MASK = 0xfff + EVL_VLID_MAX = 0xffe + EVL_VLID_MIN = 0x1 + EVL_VLID_NULL = 0x0 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xa + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETOWN = 0x5 + F_ISATTY = 0xb + F_OK = 0x0 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8e52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_STATICARP = 0x20 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BLUETOOTH = 0xf8 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf7 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DUMMY = 0xf1 + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf3 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MBIM = 0xfa + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFLOW = 0xf9 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf2 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_HOST = 0x1 + IN_RFC3021_NET = 0xfffffffe + IN_RFC3021_NSHIFT = 0x1f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DIVERT = 0x102 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x103 + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPV6_AUTH_LEVEL = 0x35 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_ESP_NETWORK_LEVEL = 0x37 + IPV6_ESP_TRANS_LEVEL = 0x36 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPCOMP_LEVEL = 0x3c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MINHOPCOUNT = 0x41 + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_OPTIONS = 0x1 + IPV6_PATHMTU = 0x2c + IPV6_PIPEX = 0x3f + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVDSTPORT = 0x40 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTABLE = 0x1021 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_AUTH_LEVEL = 0x14 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd + IP_ESP_NETWORK_LEVEL = 0x16 + IP_ESP_TRANS_LEVEL = 0x15 + IP_HDRINCL = 0x2 + IP_IPCOMP_LEVEL = 0x1d + IP_IPDEFTTL = 0x25 + IP_IPSECFLOWINFO = 0x24 + IP_IPSEC_LOCAL_AUTH = 0x1b + IP_IPSEC_LOCAL_CRED = 0x19 + IP_IPSEC_LOCAL_ID = 0x17 + IP_IPSEC_REMOTE_AUTH = 0x1c + IP_IPSEC_REMOTE_CRED = 0x1a + IP_IPSEC_REMOTE_ID = 0x18 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0xfff + IP_MF = 0x2000 + IP_MINTTL = 0x20 + IP_MIN_MEMBERSHIPS = 0xf + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PIPEX = 0x22 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVDSTPORT = 0x21 + IP_RECVIF = 0x1e + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRTABLE = 0x23 + IP_RECVTTL = 0x1f + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RTABLE = 0x1021 + IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IUCLC = 0x1000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LCNT_OVERLOAD_FLUSH = 0x6 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FLAGMASK = 0x7ff7 + MAP_HASSEMAPHORE = 0x0 + MAP_INHERIT = 0x0 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_INHERIT_ZERO = 0x3 + MAP_NOEXTEND = 0x0 + MAP_NORESERVE = 0x0 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x0 + MAP_SHARED = 0x1 + MAP_STACK = 0x4000 + MAP_TRYFIXED = 0x0 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_DOOMED = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_NOATIME = 0x8000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOPERM = 0x20 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x4000000 + MNT_STALLED = 0x100000 + MNT_SYNCHRONOUS = 0x2 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x400ffff + MNT_WAIT = 0x1 + MNT_WANTRDWR = 0x2000000 + MNT_WXALLOWED = 0x800 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_MCAST = 0x200 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x4 + MS_SYNC = 0x2 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_IFNAMES = 0x6 + NET_RT_MAXID = 0x7 + NET_RT_STATS = 0x4 + NET_RT_TABLE = 0x5 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 + NOTE_ATTRIB = 0x8 + NOTE_CHANGE = 0x1 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EOF = 0x2 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRUNCATE = 0x80 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + OLCUC = 0x20 + ONLCR = 0x2 + ONLRET = 0x80 + ONOCR = 0x40 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x10000 + O_CREAT = 0x200 + O_DIRECTORY = 0x20000 + O_DSYNC = 0x80 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x80 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PF_FLUSH = 0x1 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 + RLIMIT_NPROC = 0x7 + RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BFD = 0xb + RTAX_BRD = 0x7 + RTAX_DNS = 0xc + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_LABEL = 0xa + RTAX_MAX = 0xf + RTAX_NETMASK = 0x2 + RTAX_SEARCH = 0xe + RTAX_SRC = 0x8 + RTAX_SRCMASK = 0x9 + RTAX_STATIC = 0xd + RTA_AUTHOR = 0x40 + RTA_BFD = 0x800 + RTA_BRD = 0x80 + RTA_DNS = 0x1000 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_LABEL = 0x400 + RTA_NETMASK = 0x4 + RTA_SEARCH = 0x4000 + RTA_SRC = 0x100 + RTA_SRCMASK = 0x200 + RTA_STATIC = 0x2000 + RTF_ANNOUNCE = 0x4000 + RTF_BFD = 0x1000000 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CACHED = 0x20000 + RTF_CLONED = 0x10000 + RTF_CLONING = 0x100 + RTF_CONNECTED = 0x800000 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FMASK = 0x110fc08 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 + RTF_MPATH = 0x40000 + RTF_MPLS = 0x100000 + RTF_MULTICAST = 0x200 + RTF_PERMANENT_ARP = 0x2000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x2000 + RTF_REJECT = 0x8 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_USETRAILERS = 0x8000 + RTM_ADD = 0x1 + RTM_BFD = 0x12 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DESYNC = 0x10 + RTM_GET = 0x4 + RTM_IFANNOUNCE = 0xf + RTM_IFINFO = 0xe + RTM_INVALIDATE = 0x11 + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MAXSIZE = 0x800 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_PROPOSAL = 0x13 + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RT_TABLEID_BITS = 0x8 + RT_TABLEID_MASK = 0xff + RT_TABLEID_MAX = 0xff + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80286987 + SIOCATMARK = 0x40047307 + SIOCBRDGADD = 0x8060693c + SIOCBRDGADDL = 0x80606949 + SIOCBRDGADDS = 0x80606941 + SIOCBRDGARL = 0x808c694d + SIOCBRDGDADDR = 0x81286947 + SIOCBRDGDEL = 0x8060693d + SIOCBRDGDELS = 0x80606942 + SIOCBRDGFLUSH = 0x80606948 + SIOCBRDGFRL = 0x808c694e + SIOCBRDGGCACHE = 0xc0186941 + SIOCBRDGGFD = 0xc0186952 + SIOCBRDGGHT = 0xc0186951 + SIOCBRDGGIFFLGS = 0xc060693e + SIOCBRDGGMA = 0xc0186953 + SIOCBRDGGPARAM = 0xc0406958 + SIOCBRDGGPRI = 0xc0186950 + SIOCBRDGGRL = 0xc030694f + SIOCBRDGGTO = 0xc0186946 + SIOCBRDGIFS = 0xc0606942 + SIOCBRDGRTS = 0xc0206943 + SIOCBRDGSADDR = 0xc1286944 + SIOCBRDGSCACHE = 0x80186940 + SIOCBRDGSFD = 0x80186952 + SIOCBRDGSHT = 0x80186951 + SIOCBRDGSIFCOST = 0x80606955 + SIOCBRDGSIFFLGS = 0x8060693f + SIOCBRDGSIFPRIO = 0x80606954 + SIOCBRDGSIFPROT = 0x8060694a + SIOCBRDGSMA = 0x80186953 + SIOCBRDGSPRI = 0x80186950 + SIOCBRDGSPROTO = 0x8018695a + SIOCBRDGSTO = 0x80186945 + SIOCBRDGSTXHC = 0x80186959 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80286989 + SIOCDIFPARENT = 0x802069b4 + SIOCDIFPHYADDR = 0x80206949 + SIOCDVNETID = 0x802069af + SIOCGETKALIVE = 0xc01869a4 + SIOCGETLABEL = 0x8020699a + SIOCGETMPWCFG = 0xc02069ae + SIOCGETPFLOW = 0xc02069fe + SIOCGETPFSYNC = 0xc02069f8 + SIOCGETSGCNT = 0xc0207534 + SIOCGETVIFCNT = 0xc0287533 + SIOCGETVLAN = 0xc0206990 + SIOCGIFADDR = 0xc0206921 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCONF = 0xc0106924 + SIOCGIFDATA = 0xc020691b + SIOCGIFDESCR = 0xc0206981 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGATTR = 0xc028698b + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc028698a + SIOCGIFGROUP = 0xc0286988 + SIOCGIFHARDMTU = 0xc02069a5 + SIOCGIFLLPRIO = 0xc02069b6 + SIOCGIFMEDIA = 0xc0406938 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc020697e + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPAIR = 0xc02069b1 + SIOCGIFPARENT = 0xc02069b3 + SIOCGIFPRIORITY = 0xc020699c + SIOCGIFRDOMAIN = 0xc02069a0 + SIOCGIFRTLABEL = 0xc0206983 + SIOCGIFRXR = 0x802069aa + SIOCGIFXFLAGS = 0xc020699e + SIOCGLIFPHYADDR = 0xc218694b + SIOCGLIFPHYDF = 0xc02069c2 + SIOCGLIFPHYRTABLE = 0xc02069a2 + SIOCGLIFPHYTTL = 0xc02069a9 + SIOCGPGRP = 0x40047309 + SIOCGSPPPPARAMS = 0xc0206994 + SIOCGUMBINFO = 0xc02069be + SIOCGUMBPARAM = 0xc02069c0 + SIOCGVH = 0xc02069f6 + SIOCGVNETFLOWID = 0xc02069c4 + SIOCGVNETID = 0xc02069a7 + SIOCIFAFATTACH = 0x801169ab + SIOCIFAFDETACH = 0x801169ac + SIOCIFCREATE = 0x8020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc0106978 + SIOCSETKALIVE = 0x801869a3 + SIOCSETLABEL = 0x80206999 + SIOCSETMPWCFG = 0x802069ad + SIOCSETPFLOW = 0x802069fd + SIOCSETPFSYNC = 0x802069f7 + SIOCSETVLAN = 0x8020698f + SIOCSIFADDR = 0x8020690c + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFDESCR = 0x80206980 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGATTR = 0x8028698c + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020691f + SIOCSIFLLPRIO = 0x802069b5 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x8020697f + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPAIR = 0x802069b0 + SIOCSIFPARENT = 0x802069b2 + SIOCSIFPRIORITY = 0x8020699b + SIOCSIFRDOMAIN = 0x8020699f + SIOCSIFRTLABEL = 0x80206982 + SIOCSIFXFLAGS = 0x8020699d + SIOCSLIFPHYADDR = 0x8218694a + SIOCSLIFPHYDF = 0x802069c1 + SIOCSLIFPHYRTABLE = 0x802069a1 + SIOCSLIFPHYTTL = 0x802069a8 + SIOCSPGRP = 0x80047308 + SIOCSSPPPPARAMS = 0x80206993 + SIOCSUMBPARAM = 0x802069bf + SIOCSVH = 0xc02069f5 + SIOCSVNETFLOWID = 0x802069c3 + SIOCSVNETID = 0x802069a6 + SIOCSWGDPID = 0xc018695b + SIOCSWGMAXFLOW = 0xc0186960 + SIOCSWGMAXGROUP = 0xc018695d + SIOCSWSDPID = 0x8018695c + SIOCSWSPORTNO = 0xc060695f + SOCK_CLOEXEC = 0x8000 + SOCK_DGRAM = 0x2 + SOCK_DNS = 0x1000 + SOCK_NONBLOCK = 0x4000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BINDANY = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NETPROC = 0x1020 + SO_OOBINLINE = 0x100 + SO_PEERCRED = 0x1022 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RTABLE = 0x1021 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SPLICE = 0x1023 + SO_TIMESTAMP = 0x800 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_ZEROIZE = 0x2000 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 + TCION = 0x4 + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x3 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x4 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOPUSH = 0x10 + TCP_SACK_ENABLE = 0x8 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCHKVERAUTH = 0x2000741e + TIOCCLRVERAUTH = 0x2000741d + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_PPS = 0x10 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047463 + TIOCGTSTAMP = 0x4010745b + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMODG = 0x4004746a + TIOCMODS = 0x8004746d + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSETVERAUTH = 0x8004741c + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x8004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSTSTAMP = 0x8008745a + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TIOCUCNTL_CBRK = 0x7a + TIOCUCNTL_SBRK = 0x7b + TOSTOP = 0x400000 + UTIME_NOW = -0x2 + UTIME_OMIT = -0x1 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VM_ANONMIN = 0x7 + VM_LOADAVG = 0x2 + VM_MAXID = 0xc + VM_MAXSLP = 0xa + VM_METER = 0x1 + VM_NKMEMPAGES = 0x6 + VM_PSSTRINGS = 0x3 + VM_SWAPENCRYPT = 0x5 + VM_USPACE = 0xb + VM_UVMEXP = 0x4 + VM_VNODEMIN = 0x9 + VM_VTEXTMIN = 0x8 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALTSIG = 0x4 + WCONTINUED = 0x8 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WUNTRACED = 0x2 + XCASE = 0x1000000 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADMSG = syscall.Errno(0x5c) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x58) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x59) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EIPSEC = syscall.Errno(0x52) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x5f) + ELOOP = syscall.Errno(0x3e) + EMEDIUMTYPE = syscall.Errno(0x56) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x53) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOMEDIUM = syscall.Errno(0x55) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5a) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTRECOVERABLE = syscall.Errno(0x5d) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x5b) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x57) + EOWNERDEAD = syscall.Errno(0x5e) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTO = syscall.Errno(0x5f) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EAGAIN", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disk quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC program not available"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIPSEC", "IPsec processing failure"}, + {83, "ENOATTR", "attribute not found"}, + {84, "EILSEQ", "illegal byte sequence"}, + {85, "ENOMEDIUM", "no medium found"}, + {86, "EMEDIUMTYPE", "wrong medium type"}, + {87, "EOVERFLOW", "value too large to be stored in data type"}, + {88, "ECANCELED", "operation canceled"}, + {89, "EIDRM", "identifier removed"}, + {90, "ENOMSG", "no message of desired type"}, + {91, "ENOTSUP", "not supported"}, + {92, "EBADMSG", "bad message"}, + {93, "ENOTRECOVERABLE", "state not recoverable"}, + {94, "EOWNERDEAD", "previous owner died"}, + {95, "ELAST", "protocol error"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "thread AST"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go new file mode 100644 index 000000000..79d5695c3 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go @@ -0,0 +1,1656 @@ +// mkerrors.sh +// Code generated by the command above; see README.md. DO NOT EDIT. + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- _const.go + +// +build arm,openbsd + +package unix + +import "syscall" + +const ( + AF_APPLETALK = 0x10 + AF_BLUETOOTH = 0x20 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 + AF_COIP = 0x14 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_E164 = 0x1a + AF_ECMA = 0x8 + AF_ENCAP = 0x1c + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x18 + AF_IPX = 0x17 + AF_ISDN = 0x1a + AF_ISO = 0x7 + AF_KEY = 0x1e + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 + AF_MAX = 0x24 + AF_MPLS = 0x21 + AF_NATM = 0x1b + AF_NS = 0x6 + AF_OSI = 0x7 + AF_PUP = 0x4 + AF_ROUTE = 0x11 + AF_SIP = 0x1d + AF_SNA = 0xb + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + ARPHRD_ETHER = 0x1 + ARPHRD_FRELAY = 0xf + ARPHRD_IEEE1394 = 0x18 + ARPHRD_IEEE802 = 0x6 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 + B1200 = 0x4b0 + B134 = 0x86 + B14400 = 0x3840 + B150 = 0x96 + B1800 = 0x708 + B19200 = 0x4b00 + B200 = 0xc8 + B230400 = 0x38400 + B2400 = 0x960 + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 + B600 = 0x258 + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDIRFILT = 0x4004427c + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc008427b + BIOCGETIF = 0x4020426b + BIOCGFILDROP = 0x40044278 + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044273 + BIOCGRTIMEOUT = 0x400c426e + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 + BIOCLOCK = 0x20004276 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 + BIOCSDIRFILT = 0x8004427d + BIOCSDLT = 0x8004427a + BIOCSETF = 0x80084267 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x80084277 + BIOCSFILDROP = 0x80044279 + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044272 + BIOCSRTIMEOUT = 0x800c426d + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DIRECTION_IN = 0x1 + BPF_DIRECTION_OUT = 0x2 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x200000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 + CSTATUS = 0xff + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a + CTL_HW = 0x6 + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 + DIOCOSFPFLUSH = 0x2000444e + DLT_ARCNET = 0x7 + DLT_ATM_RFC1483 = 0xb + DLT_AX25 = 0x3 + DLT_CHAOS = 0x5 + DLT_C_HDLC = 0x68 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0xd + DLT_FDDI = 0xa + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_LOOP = 0xc + DLT_MPLS = 0xdb + DLT_NULL = 0x0 + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 + DLT_PPP_SERIAL = 0x32 + DLT_PRONET = 0x4 + DLT_RAW = 0xe + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 + DT_FIFO = 0x1 + DT_LNK = 0xa + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 + EMT_TAGOVF = 0x1 + EMUL_ENABLED = 0x1 + EMUL_NATIVE = 0x2 + ENDRUNDISC = 0x9 + ETHERMIN = 0x2e + ETHERMTU = 0x5dc + ETHERTYPE_8023 = 0x4 + ETHERTYPE_AARP = 0x80f3 + ETHERTYPE_ACCTON = 0x8390 + ETHERTYPE_AEONIC = 0x8036 + ETHERTYPE_ALPHA = 0x814a + ETHERTYPE_AMBER = 0x6008 + ETHERTYPE_AMOEBA = 0x8145 + ETHERTYPE_AOE = 0x88a2 + ETHERTYPE_APOLLO = 0x80f7 + ETHERTYPE_APOLLODOMAIN = 0x8019 + ETHERTYPE_APPLETALK = 0x809b + ETHERTYPE_APPLITEK = 0x80c7 + ETHERTYPE_ARGONAUT = 0x803a + ETHERTYPE_ARP = 0x806 + ETHERTYPE_AT = 0x809b + ETHERTYPE_ATALK = 0x809b + ETHERTYPE_ATOMIC = 0x86df + ETHERTYPE_ATT = 0x8069 + ETHERTYPE_ATTSTANFORD = 0x8008 + ETHERTYPE_AUTOPHON = 0x806a + ETHERTYPE_AXIS = 0x8856 + ETHERTYPE_BCLOOP = 0x9003 + ETHERTYPE_BOFL = 0x8102 + ETHERTYPE_CABLETRON = 0x7034 + ETHERTYPE_CHAOS = 0x804 + ETHERTYPE_COMDESIGN = 0x806c + ETHERTYPE_COMPUGRAPHIC = 0x806d + ETHERTYPE_COUNTERPOINT = 0x8062 + ETHERTYPE_CRONUS = 0x8004 + ETHERTYPE_CRONUSVLN = 0x8003 + ETHERTYPE_DCA = 0x1234 + ETHERTYPE_DDE = 0x807b + ETHERTYPE_DEBNI = 0xaaaa + ETHERTYPE_DECAM = 0x8048 + ETHERTYPE_DECCUST = 0x6006 + ETHERTYPE_DECDIAG = 0x6005 + ETHERTYPE_DECDNS = 0x803c + ETHERTYPE_DECDTS = 0x803e + ETHERTYPE_DECEXPER = 0x6000 + ETHERTYPE_DECLAST = 0x8041 + ETHERTYPE_DECLTM = 0x803f + ETHERTYPE_DECMUMPS = 0x6009 + ETHERTYPE_DECNETBIOS = 0x8040 + ETHERTYPE_DELTACON = 0x86de + ETHERTYPE_DIDDLE = 0x4321 + ETHERTYPE_DLOG1 = 0x660 + ETHERTYPE_DLOG2 = 0x661 + ETHERTYPE_DN = 0x6003 + ETHERTYPE_DOGFIGHT = 0x1989 + ETHERTYPE_DSMD = 0x8039 + ETHERTYPE_ECMA = 0x803 + ETHERTYPE_ENCRYPT = 0x803d + ETHERTYPE_ES = 0x805d + ETHERTYPE_EXCELAN = 0x8010 + ETHERTYPE_EXPERDATA = 0x8049 + ETHERTYPE_FLIP = 0x8146 + ETHERTYPE_FLOWCONTROL = 0x8808 + ETHERTYPE_FRARP = 0x808 + ETHERTYPE_GENDYN = 0x8068 + ETHERTYPE_HAYES = 0x8130 + ETHERTYPE_HIPPI_FP = 0x8180 + ETHERTYPE_HITACHI = 0x8820 + ETHERTYPE_HP = 0x8005 + ETHERTYPE_IEEEPUP = 0xa00 + ETHERTYPE_IEEEPUPAT = 0xa01 + ETHERTYPE_IMLBL = 0x4c42 + ETHERTYPE_IMLBLDIAG = 0x424c + ETHERTYPE_IP = 0x800 + ETHERTYPE_IPAS = 0x876c + ETHERTYPE_IPV6 = 0x86dd + ETHERTYPE_IPX = 0x8137 + ETHERTYPE_IPXNEW = 0x8037 + ETHERTYPE_KALPANA = 0x8582 + ETHERTYPE_LANBRIDGE = 0x8038 + ETHERTYPE_LANPROBE = 0x8888 + ETHERTYPE_LAT = 0x6004 + ETHERTYPE_LBACK = 0x9000 + ETHERTYPE_LITTLE = 0x8060 + ETHERTYPE_LLDP = 0x88cc + ETHERTYPE_LOGICRAFT = 0x8148 + ETHERTYPE_LOOPBACK = 0x9000 + ETHERTYPE_MATRA = 0x807a + ETHERTYPE_MAX = 0xffff + ETHERTYPE_MERIT = 0x807c + ETHERTYPE_MICP = 0x873a + ETHERTYPE_MOPDL = 0x6001 + ETHERTYPE_MOPRC = 0x6002 + ETHERTYPE_MOTOROLA = 0x818d + ETHERTYPE_MPLS = 0x8847 + ETHERTYPE_MPLS_MCAST = 0x8848 + ETHERTYPE_MUMPS = 0x813f + ETHERTYPE_NBPCC = 0x3c04 + ETHERTYPE_NBPCLAIM = 0x3c09 + ETHERTYPE_NBPCLREQ = 0x3c05 + ETHERTYPE_NBPCLRSP = 0x3c06 + ETHERTYPE_NBPCREQ = 0x3c02 + ETHERTYPE_NBPCRSP = 0x3c03 + ETHERTYPE_NBPDG = 0x3c07 + ETHERTYPE_NBPDGB = 0x3c08 + ETHERTYPE_NBPDLTE = 0x3c0a + ETHERTYPE_NBPRAR = 0x3c0c + ETHERTYPE_NBPRAS = 0x3c0b + ETHERTYPE_NBPRST = 0x3c0d + ETHERTYPE_NBPSCD = 0x3c01 + ETHERTYPE_NBPVCD = 0x3c00 + ETHERTYPE_NBS = 0x802 + ETHERTYPE_NCD = 0x8149 + ETHERTYPE_NESTAR = 0x8006 + ETHERTYPE_NETBEUI = 0x8191 + ETHERTYPE_NOVELL = 0x8138 + ETHERTYPE_NS = 0x600 + ETHERTYPE_NSAT = 0x601 + ETHERTYPE_NSCOMPAT = 0x807 + ETHERTYPE_NTRAILER = 0x10 + ETHERTYPE_OS9 = 0x7007 + ETHERTYPE_OS9NET = 0x7009 + ETHERTYPE_PACER = 0x80c6 + ETHERTYPE_PAE = 0x888e + ETHERTYPE_PCS = 0x4242 + ETHERTYPE_PLANNING = 0x8044 + ETHERTYPE_PPP = 0x880b + ETHERTYPE_PPPOE = 0x8864 + ETHERTYPE_PPPOEDISC = 0x8863 + ETHERTYPE_PRIMENTS = 0x7031 + ETHERTYPE_PUP = 0x200 + ETHERTYPE_PUPAT = 0x200 + ETHERTYPE_QINQ = 0x88a8 + ETHERTYPE_RACAL = 0x7030 + ETHERTYPE_RATIONAL = 0x8150 + ETHERTYPE_RAWFR = 0x6559 + ETHERTYPE_RCL = 0x1995 + ETHERTYPE_RDP = 0x8739 + ETHERTYPE_RETIX = 0x80f2 + ETHERTYPE_REVARP = 0x8035 + ETHERTYPE_SCA = 0x6007 + ETHERTYPE_SECTRA = 0x86db + ETHERTYPE_SECUREDATA = 0x876d + ETHERTYPE_SGITW = 0x817e + ETHERTYPE_SG_BOUNCE = 0x8016 + ETHERTYPE_SG_DIAG = 0x8013 + ETHERTYPE_SG_NETGAMES = 0x8014 + ETHERTYPE_SG_RESV = 0x8015 + ETHERTYPE_SIMNET = 0x5208 + ETHERTYPE_SLOW = 0x8809 + ETHERTYPE_SNA = 0x80d5 + ETHERTYPE_SNMP = 0x814c + ETHERTYPE_SONIX = 0xfaf5 + ETHERTYPE_SPIDER = 0x809f + ETHERTYPE_SPRITE = 0x500 + ETHERTYPE_STP = 0x8181 + ETHERTYPE_TALARIS = 0x812b + ETHERTYPE_TALARISMC = 0x852b + ETHERTYPE_TCPCOMP = 0x876b + ETHERTYPE_TCPSM = 0x9002 + ETHERTYPE_TEC = 0x814f + ETHERTYPE_TIGAN = 0x802f + ETHERTYPE_TRAIL = 0x1000 + ETHERTYPE_TRANSETHER = 0x6558 + ETHERTYPE_TYMSHARE = 0x802e + ETHERTYPE_UBBST = 0x7005 + ETHERTYPE_UBDEBUG = 0x900 + ETHERTYPE_UBDIAGLOOP = 0x7002 + ETHERTYPE_UBDL = 0x7000 + ETHERTYPE_UBNIU = 0x7001 + ETHERTYPE_UBNMC = 0x7003 + ETHERTYPE_VALID = 0x1600 + ETHERTYPE_VARIAN = 0x80dd + ETHERTYPE_VAXELN = 0x803b + ETHERTYPE_VEECO = 0x8067 + ETHERTYPE_VEXP = 0x805b + ETHERTYPE_VGLAB = 0x8131 + ETHERTYPE_VINES = 0xbad + ETHERTYPE_VINESECHO = 0xbaf + ETHERTYPE_VINESLOOP = 0xbae + ETHERTYPE_VITAL = 0xff00 + ETHERTYPE_VLAN = 0x8100 + ETHERTYPE_VLTLMAN = 0x8080 + ETHERTYPE_VPROD = 0x805c + ETHERTYPE_VURESERVED = 0x8147 + ETHERTYPE_WATERLOO = 0x8130 + ETHERTYPE_WELLFLEET = 0x8103 + ETHERTYPE_X25 = 0x805 + ETHERTYPE_X75 = 0x801 + ETHERTYPE_XNSSM = 0x9001 + ETHERTYPE_XTP = 0x817d + ETHER_ADDR_LEN = 0x6 + ETHER_ALIGN = 0x2 + ETHER_CRC_LEN = 0x4 + ETHER_CRC_POLY_BE = 0x4c11db6 + ETHER_CRC_POLY_LE = 0xedb88320 + ETHER_HDR_LEN = 0xe + ETHER_MAX_DIX_LEN = 0x600 + ETHER_MAX_LEN = 0x5ee + ETHER_MIN_LEN = 0x40 + ETHER_TYPE_LEN = 0x2 + ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = -0x3 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 + EVFILT_SYSCOUNT = 0x7 + EVFILT_TIMER = -0x7 + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FLUSHO = 0x800000 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0xa + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 + F_GETOWN = 0x5 + F_RDLCK = 0x1 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 + F_SETOWN = 0x6 + F_UNLCK = 0x2 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 + ICANON = 0x100 + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 + IFA_ROUTE = 0x1 + IFF_ALLMULTI = 0x200 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x8e52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 + IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_A12MPPSWITCH = 0x82 + IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 + IFT_ADSL = 0x5e + IFT_AFLANE8023 = 0x3b + IFT_AFLANE8025 = 0x3c + IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ASYNC = 0x54 + IFT_ATM = 0x25 + IFT_ATMDXI = 0x69 + IFT_ATMFUNI = 0x6a + IFT_ATMIMA = 0x6b + IFT_ATMLOGICAL = 0x50 + IFT_ATMRADIO = 0xbd + IFT_ATMSUBINTERFACE = 0x86 + IFT_ATMVCIENDPT = 0xc2 + IFT_ATMVIRTUAL = 0x95 + IFT_BGPPOLICYACCOUNTING = 0xa2 + IFT_BLUETOOTH = 0xf8 + IFT_BRIDGE = 0xd1 + IFT_BSC = 0x53 + IFT_CARP = 0xf7 + IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 + IFT_CES = 0x85 + IFT_CHANNEL = 0x46 + IFT_CNR = 0x55 + IFT_COFFEE = 0x84 + IFT_COMPOSITELINK = 0x9b + IFT_DCN = 0x8d + IFT_DIGITALPOWERLINE = 0x8a + IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba + IFT_DLSW = 0x4a + IFT_DOCSCABLEDOWNSTREAM = 0x80 + IFT_DOCSCABLEMACLAYER = 0x7f + IFT_DOCSCABLEUPSTREAM = 0x81 + IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd + IFT_DS0 = 0x51 + IFT_DS0BUNDLE = 0x52 + IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e + IFT_DTM = 0x8c + IFT_DUMMY = 0xf1 + IFT_DVBASILN = 0xac + IFT_DVBASIOUT = 0xad + IFT_DVBRCCDOWNSTREAM = 0x93 + IFT_DVBRCCMACLAYER = 0x92 + IFT_DVBRCCUPSTREAM = 0x94 + IFT_ECONET = 0xce + IFT_ENC = 0xf4 + IFT_EON = 0x19 + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 + IFT_FAITH = 0xf3 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf + IFT_FIBRECHANNEL = 0x38 + IFT_FRAMERELAYINTERCONNECT = 0x3a + IFT_FRAMERELAYMPI = 0x5c + IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_FRF16MFRBUNDLE = 0xa3 + IFT_FRFORWARD = 0x9e + IFT_G703AT2MB = 0x43 + IFT_G703AT64K = 0x42 + IFT_GIF = 0xf0 + IFT_GIGABITETHERNET = 0x75 + IFT_GR303IDT = 0xb2 + IFT_GR303RDT = 0xb1 + IFT_H323GATEKEEPER = 0xa4 + IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 + IFT_HDLC = 0x76 + IFT_HDSL2 = 0xa8 + IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f + IFT_HIPPIINTERFACE = 0x39 + IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IBM370PARCHAN = 0x48 + IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 + IFT_IEEE80211 = 0x47 + IFT_IEEE80212 = 0x37 + IFT_IEEE8023ADLAG = 0xa1 + IFT_IFGSN = 0x91 + IFT_IMT = 0xbe + IFT_INFINIBAND = 0xc7 + IFT_INTERLEAVE = 0x7c + IFT_IP = 0x7e + IFT_IPFORWARD = 0x8e + IFT_IPOVERATM = 0x72 + IFT_IPOVERCDLC = 0x6d + IFT_IPOVERCLAW = 0x6e + IFT_IPSWITCH = 0x4e + IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISDNS = 0x4b + IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88025CRFPINT = 0x62 + IFT_ISO88025DTR = 0x56 + IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa + IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 + IFT_L3IPVLAN = 0x88 + IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 + IFT_LAPD = 0x4d + IFT_LAPF = 0x77 + IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MEDIAMAILOVERIP = 0x8b + IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_MPC = 0x71 + IFT_MPLS = 0xa6 + IFT_MPLSTUNNEL = 0x96 + IFT_MSDSL = 0x8f + IFT_MVL = 0xbf + IFT_MYRINET = 0x63 + IFT_NFAS = 0xaf + IFT_NSIP = 0x1b + IFT_OPTICALCHANNEL = 0xc3 + IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PFLOG = 0xf5 + IFT_PFLOW = 0xf9 + IFT_PFSYNC = 0xf6 + IFT_PLC = 0xae + IFT_PON155 = 0xcf + IFT_PON622 = 0xd0 + IFT_POS = 0xab + IFT_PPP = 0x17 + IFT_PPPMULTILINKBUNDLE = 0x6c + IFT_PROPATM = 0xc5 + IFT_PROPBWAP2MP = 0xb8 + IFT_PROPCNLS = 0x59 + IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 + IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 + IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 + IFT_PVC = 0xf2 + IFT_Q2931 = 0xc9 + IFT_QLLC = 0x44 + IFT_RADIOMAC = 0xbc + IFT_RADSL = 0x5f + IFT_REACHDSL = 0xc0 + IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 + IFT_RSRB = 0x4f + IFT_SDLC = 0x11 + IFT_SDSL = 0x60 + IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f + IFT_SIPSIG = 0xcc + IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_SRP = 0x97 + IFT_SS7SIGLINK = 0x9c + IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_TDLC = 0x74 + IFT_TELINK = 0xc8 + IFT_TERMPAD = 0x5b + IFT_TR008 = 0xb0 + IFT_TRANSPHDLC = 0x7b + IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d + IFT_USB = 0xa0 + IFT_V11 = 0x40 + IFT_V35 = 0x2d + IFT_V36 = 0x41 + IFT_V37 = 0x78 + IFT_VDSL = 0x61 + IFT_VIRTUALIPADDRESS = 0x70 + IFT_VIRTUALTG = 0xca + IFT_VOICEDID = 0xd5 + IFT_VOICEEM = 0x64 + IFT_VOICEEMFGD = 0xd3 + IFT_VOICEENCAP = 0x67 + IFT_VOICEFGDEANA = 0xd4 + IFT_VOICEFXO = 0x65 + IFT_VOICEFXS = 0x66 + IFT_VOICEOVERATM = 0x98 + IFT_VOICEOVERCABLE = 0xc6 + IFT_VOICEOVERFRAMERELAY = 0x99 + IFT_VOICEOVERIP = 0x68 + IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25HUNTGROUP = 0x7a + IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f + IN_RFC3021_HOST = 0x1 + IN_RFC3021_NET = 0xfffffffe + IN_RFC3021_NSHIFT = 0x1f + IPPROTO_AH = 0x33 + IPPROTO_CARP = 0x70 + IPPROTO_DIVERT = 0x102 + IPPROTO_DIVERT_INIT = 0x2 + IPPROTO_DIVERT_RESP = 0x1 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c + IPPROTO_IPIP = 0x4 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 + IPPROTO_MAX = 0x100 + IPPROTO_MAXID = 0x103 + IPPROTO_MOBILE = 0x37 + IPPROTO_MPLS = 0x89 + IPPROTO_NONE = 0x3b + IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d + IPPROTO_UDP = 0x11 + IPV6_AUTH_LEVEL = 0x35 + IPV6_AUTOFLOWLABEL = 0x3b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 + IPV6_ESP_NETWORK_LEVEL = 0x37 + IPV6_ESP_TRANS_LEVEL = 0x36 + IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 + IPV6_IPCOMP_LEVEL = 0x3c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff + IPV6_MAXPACKET = 0xffff + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 + IPV6_OPTIONS = 0x1 + IPV6_PATHMTU = 0x2c + IPV6_PIPEX = 0x3f + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVDSTPORT = 0x40 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRTHDR = 0x26 + IPV6_RECVTCLASS = 0x39 + IPV6_RTABLE = 0x1021 + IPV6_RTHDR = 0x33 + IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 + IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 + IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc + IP_AUTH_LEVEL = 0x14 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DIVERTFL = 0x1022 + IP_DROP_MEMBERSHIP = 0xd + IP_ESP_NETWORK_LEVEL = 0x16 + IP_ESP_TRANS_LEVEL = 0x15 + IP_HDRINCL = 0x2 + IP_IPCOMP_LEVEL = 0x1d + IP_IPSECFLOWINFO = 0x24 + IP_IPSEC_LOCAL_AUTH = 0x1b + IP_IPSEC_LOCAL_CRED = 0x19 + IP_IPSEC_LOCAL_ID = 0x17 + IP_IPSEC_REMOTE_AUTH = 0x1c + IP_IPSEC_REMOTE_CRED = 0x1a + IP_IPSEC_REMOTE_ID = 0x18 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0xfff + IP_MF = 0x2000 + IP_MINTTL = 0x20 + IP_MIN_MEMBERSHIPS = 0xf + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa + IP_OFFMASK = 0x1fff + IP_OPTIONS = 0x1 + IP_PIPEX = 0x22 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 + IP_RECVDSTPORT = 0x21 + IP_RECVIF = 0x1e + IP_RECVOPTS = 0x5 + IP_RECVRETOPTS = 0x6 + IP_RECVRTABLE = 0x23 + IP_RECVTTL = 0x1f + IP_RETOPTS = 0x8 + IP_RF = 0x8000 + IP_RTABLE = 0x1021 + IP_TOS = 0x3 + IP_TTL = 0x4 + ISIG = 0x80 + ISTRIP = 0x20 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 + KERN_HOSTNAME = 0xa + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 + LCNT_OVERLOAD_FLUSH = 0x6 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x6 + MADV_NORMAL = 0x0 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_FLAGMASK = 0x3ff7 + MAP_HASSEMAPHORE = 0x0 + MAP_INHERIT = 0x0 + MAP_INHERIT_COPY = 0x1 + MAP_INHERIT_NONE = 0x2 + MAP_INHERIT_SHARE = 0x0 + MAP_INHERIT_ZERO = 0x3 + MAP_NOEXTEND = 0x0 + MAP_NORESERVE = 0x0 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x0 + MAP_SHARED = 0x1 + MAP_TRYFIXED = 0x0 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 + MNT_DEFEXPORTED = 0x200 + MNT_DELEXPORT = 0x20000 + MNT_DOOMED = 0x8000000 + MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 + MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 + MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 + MNT_NOATIME = 0x8000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 + MNT_NOSUID = 0x8 + MNT_NOWAIT = 0x2 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 + MNT_SOFTDEP = 0x4000000 + MNT_SYNCHRONOUS = 0x2 + MNT_UPDATE = 0x10000 + MNT_VISFLAGMASK = 0x400ffff + MNT_WAIT = 0x1 + MNT_WANTRDWR = 0x2000000 + MNT_WXALLOWED = 0x800 + MSG_BCAST = 0x100 + MSG_CMSG_CLOEXEC = 0x800 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_EOR = 0x8 + MSG_MCAST = 0x200 + MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x4 + MS_SYNC = 0x2 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 + NET_RT_MAXID = 0x6 + NET_RT_STATS = 0x4 + NET_RT_TABLE = 0x5 + NOFLSH = 0x80000000 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_DELETE = 0x1 + NOTE_EOF = 0x2 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 + NOTE_EXTEND = 0x4 + NOTE_FORK = 0x40000000 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 + NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 + NOTE_TRUNCATE = 0x80 + NOTE_WRITE = 0x2 + OCRNL = 0x10 + ONLCR = 0x2 + ONLRET = 0x80 + ONOCR = 0x40 + ONOEOT = 0x8 + OPOST = 0x1 + O_ACCMODE = 0x3 + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x10000 + O_CREAT = 0x200 + O_DIRECTORY = 0x20000 + O_DSYNC = 0x80 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 + O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x80 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 + PARENB = 0x1000 + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 + PF_FLUSH = 0x1 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x8 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_LABEL = 0xa + RTAX_MAX = 0xb + RTAX_NETMASK = 0x2 + RTAX_SRC = 0x8 + RTAX_SRCMASK = 0x9 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_LABEL = 0x400 + RTA_NETMASK = 0x4 + RTA_SRC = 0x100 + RTA_SRCMASK = 0x200 + RTF_ANNOUNCE = 0x4000 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 + RTF_CLONED = 0x10000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_FMASK = 0x70f808 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_MPATH = 0x40000 + RTF_MPLS = 0x100000 + RTF_PERMANENT_ARP = 0x2000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_PROTO3 = 0x2000 + RTF_REJECT = 0x8 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_USETRAILERS = 0x8000 + RTF_XRESOLVE = 0x200 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_DESYNC = 0x10 + RTM_GET = 0x4 + RTM_IFANNOUNCE = 0xf + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MAXSIZE = 0x800 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 + RTM_VERSION = 0x5 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RT_TABLEID_MAX = 0xff + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a + SIOCAIFGROUP = 0x80246987 + SIOCALIFADDR = 0x8218691c + SIOCATMARK = 0x40047307 + SIOCBRDGADD = 0x8054693c + SIOCBRDGADDS = 0x80546941 + SIOCBRDGARL = 0x806e694d + SIOCBRDGDADDR = 0x81286947 + SIOCBRDGDEL = 0x8054693d + SIOCBRDGDELS = 0x80546942 + SIOCBRDGFLUSH = 0x80546948 + SIOCBRDGFRL = 0x806e694e + SIOCBRDGGCACHE = 0xc0146941 + SIOCBRDGGFD = 0xc0146952 + SIOCBRDGGHT = 0xc0146951 + SIOCBRDGGIFFLGS = 0xc054693e + SIOCBRDGGMA = 0xc0146953 + SIOCBRDGGPARAM = 0xc03c6958 + SIOCBRDGGPRI = 0xc0146950 + SIOCBRDGGRL = 0xc028694f + SIOCBRDGGSIFS = 0xc054693c + SIOCBRDGGTO = 0xc0146946 + SIOCBRDGIFS = 0xc0546942 + SIOCBRDGRTS = 0xc0186943 + SIOCBRDGSADDR = 0xc1286944 + SIOCBRDGSCACHE = 0x80146940 + SIOCBRDGSFD = 0x80146952 + SIOCBRDGSHT = 0x80146951 + SIOCBRDGSIFCOST = 0x80546955 + SIOCBRDGSIFFLGS = 0x8054693f + SIOCBRDGSIFPRIO = 0x80546954 + SIOCBRDGSMA = 0x80146953 + SIOCBRDGSPRI = 0x80146950 + SIOCBRDGSPROTO = 0x8014695a + SIOCBRDGSTO = 0x80146945 + SIOCBRDGSTXHC = 0x80146959 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 + SIOCDIFGROUP = 0x80246989 + SIOCDIFPHYADDR = 0x80206949 + SIOCDLIFADDR = 0x8218691e + SIOCGETKALIVE = 0xc01869a4 + SIOCGETLABEL = 0x8020699a + SIOCGETPFLOW = 0xc02069fe + SIOCGETPFSYNC = 0xc02069f8 + SIOCGETSGCNT = 0xc0147534 + SIOCGETVIFCNT = 0xc0147533 + SIOCGETVLAN = 0xc0206990 + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 + SIOCGIFASYNCMAP = 0xc020697c + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCONF = 0xc0086924 + SIOCGIFDATA = 0xc020691b + SIOCGIFDESCR = 0xc0206981 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGATTR = 0xc024698b + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc024698a + SIOCGIFGROUP = 0xc0246988 + SIOCGIFHARDMTU = 0xc02069a5 + SIOCGIFMEDIA = 0xc0286936 + SIOCGIFMETRIC = 0xc0206917 + SIOCGIFMTU = 0xc020697e + SIOCGIFNETMASK = 0xc0206925 + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPRIORITY = 0xc020699c + SIOCGIFPSRCADDR = 0xc0206947 + SIOCGIFRDOMAIN = 0xc02069a0 + SIOCGIFRTLABEL = 0xc0206983 + SIOCGIFRXR = 0x802069aa + SIOCGIFTIMESLOT = 0xc0206986 + SIOCGIFXFLAGS = 0xc020699e + SIOCGLIFADDR = 0xc218691d + SIOCGLIFPHYADDR = 0xc218694b + SIOCGLIFPHYRTABLE = 0xc02069a2 + SIOCGLIFPHYTTL = 0xc02069a9 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGSPPPPARAMS = 0xc0206994 + SIOCGVH = 0xc02069f6 + SIOCGVNETID = 0xc02069a7 + SIOCIFCREATE = 0x8020697a + SIOCIFDESTROY = 0x80206979 + SIOCIFGCLONERS = 0xc00c6978 + SIOCSETKALIVE = 0x801869a3 + SIOCSETLABEL = 0x80206999 + SIOCSETPFLOW = 0x802069fd + SIOCSETPFSYNC = 0x802069f7 + SIOCSETVLAN = 0x8020698f + SIOCSHIWAT = 0x80047300 + SIOCSIFADDR = 0x8020690c + SIOCSIFASYNCMAP = 0x8020697d + SIOCSIFBRDADDR = 0x80206913 + SIOCSIFDESCR = 0x80206980 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 + SIOCSIFGATTR = 0x8024698c + SIOCSIFGENERIC = 0x80206939 + SIOCSIFLLADDR = 0x8020691f + SIOCSIFMEDIA = 0xc0206935 + SIOCSIFMETRIC = 0x80206918 + SIOCSIFMTU = 0x8020697f + SIOCSIFNETMASK = 0x80206916 + SIOCSIFPHYADDR = 0x80406946 + SIOCSIFPRIORITY = 0x8020699b + SIOCSIFRDOMAIN = 0x8020699f + SIOCSIFRTLABEL = 0x80206982 + SIOCSIFTIMESLOT = 0x80206985 + SIOCSIFXFLAGS = 0x8020699d + SIOCSLIFPHYADDR = 0x8218694a + SIOCSLIFPHYRTABLE = 0x802069a1 + SIOCSLIFPHYTTL = 0x802069a8 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSSPPPPARAMS = 0x80206993 + SIOCSVH = 0xc02069f5 + SIOCSVNETID = 0x802069a6 + SOCK_CLOEXEC = 0x8000 + SOCK_DGRAM = 0x2 + SOCK_NONBLOCK = 0x4000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_BINDANY = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_NETPROC = 0x1020 + SO_OOBINLINE = 0x100 + SO_PEERCRED = 0x1022 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RTABLE = 0x1021 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_SPLICE = 0x1023 + SO_TIMESTAMP = 0x800 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISTXT = 0x200 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TCIFLUSH = 0x1 + TCIOFLUSH = 0x3 + TCOFLUSH = 0x2 + TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff + TCP_MAX_SACK = 0x3 + TCP_MAX_WINSHIFT = 0xe + TCP_MD5SIG = 0x4 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 + TCP_NOPUSH = 0x10 + TCP_NSTATES = 0xb + TCP_SACK_ENABLE = 0x8 + TCSAFLUSH = 0x2 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 + TIOCDRAIN = 0x2000745e + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 + TIOCFLAG_CLOCAL = 0x2 + TIOCFLAG_CRTSCTS = 0x4 + TIOCFLAG_MDMBUF = 0x8 + TIOCFLAG_PPS = 0x10 + TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a + TIOCGFLAGS = 0x4004745d + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047463 + TIOCGTSTAMP = 0x400c745b + TIOCGWINSZ = 0x40087468 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c + TIOCMGET = 0x4004746a + TIOCMODG = 0x4004746a + TIOCMODS = 0x8004746d + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x20007471 + TIOCNXCL = 0x2000740e + TIOCOUTQ = 0x40047473 + TIOCPKT = 0x80047470 + TIOCPKT_DATA = 0x0 + TIOCPKT_DOSTOP = 0x20 + TIOCPKT_FLUSHREAD = 0x1 + TIOCPKT_FLUSHWRITE = 0x2 + TIOCPKT_IOCTL = 0x40 + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b + TIOCSCTTY = 0x20007461 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b + TIOCSFLAGS = 0x8004745c + TIOCSIG = 0x8004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x80047465 + TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f + TIOCSTSTAMP = 0x8008745a + TIOCSWINSZ = 0x80087467 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 + VEOL = 0x1 + VEOL2 = 0x2 + VERASE = 0x3 + VINTR = 0x8 + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa + VTIME = 0x11 + VWERASE = 0x4 + WALTSIG = 0x4 + WCONTINUED = 0x8 + WCOREFLAG = 0x80 + WNOHANG = 0x1 + WUNTRACED = 0x2 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x30) + EADDRNOTAVAIL = syscall.Errno(0x31) + EAFNOSUPPORT = syscall.Errno(0x2f) + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) + EBADF = syscall.Errno(0x9) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x58) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) + EIDRM = syscall.Errno(0x59) + EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EIPSEC = syscall.Errno(0x52) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) + ELAST = syscall.Errno(0x5b) + ELOOP = syscall.Errno(0x3e) + EMEDIUMTYPE = syscall.Errno(0x56) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) + ENOATTR = syscall.Errno(0x53) + ENOBUFS = syscall.Errno(0x37) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) + ENOMEDIUM = syscall.Errno(0x55) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x5a) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) + ENOTSOCK = syscall.Errno(0x26) + ENOTSUP = syscall.Errno(0x5b) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x2d) + EOVERFLOW = syscall.Errno(0x57) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) + EPROCLIM = syscall.Errno(0x43) + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCHLD = syscall.Signal(0x14) + SIGCONT = syscall.Signal(0x13) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x1d) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x17) + SIGIOT = syscall.Signal(0x6) + SIGKILL = syscall.Signal(0x9) + SIGPIPE = syscall.Signal(0xd) + SIGPROF = syscall.Signal(0x1b) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) + SIGTTOU = syscall.Signal(0x16) + SIGURG = syscall.Signal(0x10) + SIGUSR1 = syscall.Signal(0x1e) + SIGUSR2 = syscall.Signal(0x1f) + SIGVTALRM = syscall.Signal(0x1a) + SIGWINCH = syscall.Signal(0x1c) + SIGXCPU = syscall.Signal(0x18) + SIGXFSZ = syscall.Signal(0x19) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "operation not permitted"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "input/output error"}, + {6, "ENXIO", "device not configured"}, + {7, "E2BIG", "argument list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file descriptor"}, + {10, "ECHILD", "no child processes"}, + {11, "EDEADLK", "resource deadlock avoided"}, + {12, "ENOMEM", "cannot allocate memory"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "too many open files in system"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "EWOULDBLOCK", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, + {39, "EDESTADDRREQ", "destination address required"}, + {40, "EMSGSIZE", "message too long"}, + {41, "EPROTOTYPE", "protocol wrong type for socket"}, + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, + {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, + {49, "EADDRNOTAVAIL", "can't assign requested address"}, + {50, "ENETDOWN", "network is down"}, + {51, "ENETUNREACH", "network is unreachable"}, + {52, "ENETRESET", "network dropped connection on reset"}, + {53, "ECONNABORTED", "software caused connection abort"}, + {54, "ECONNRESET", "connection reset by peer"}, + {55, "ENOBUFS", "no buffer space available"}, + {56, "EISCONN", "socket is already connected"}, + {57, "ENOTCONN", "socket is not connected"}, + {58, "ESHUTDOWN", "can't send after socket shutdown"}, + {59, "ETOOMANYREFS", "too many references: can't splice"}, + {60, "ETIMEDOUT", "operation timed out"}, + {61, "ECONNREFUSED", "connection refused"}, + {62, "ELOOP", "too many levels of symbolic links"}, + {63, "ENAMETOOLONG", "file name too long"}, + {64, "EHOSTDOWN", "host is down"}, + {65, "EHOSTUNREACH", "no route to host"}, + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, + {69, "EDQUOT", "disk quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, + {74, "EPROGUNAVAIL", "RPC program not available"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, + {78, "ENOSYS", "function not implemented"}, + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, + {82, "EIPSEC", "IPsec processing failure"}, + {83, "ENOATTR", "attribute not found"}, + {84, "EILSEQ", "illegal byte sequence"}, + {85, "ENOMEDIUM", "no medium found"}, + {86, "EMEDIUMTYPE", "wrong medium type"}, + {87, "EOVERFLOW", "value too large to be stored in data type"}, + {88, "ECANCELED", "operation canceled"}, + {89, "EIDRM", "identifier removed"}, + {90, "ENOMSG", "no message of desired type"}, + {91, "ELAST", "not supported"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal instruction"}, + {5, "SIGTRAP", "trace/BPT trap"}, + {6, "SIGABRT", "abort trap"}, + {7, "SIGEMT", "EMT trap"}, + {8, "SIGFPE", "floating point exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus error"}, + {11, "SIGSEGV", "segmentation fault"}, + {12, "SIGSYS", "bad system call"}, + {13, "SIGPIPE", "broken pipe"}, + {14, "SIGALRM", "alarm clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGURG", "urgent I/O condition"}, + {17, "SIGSTOP", "suspended (signal)"}, + {18, "SIGTSTP", "suspended"}, + {19, "SIGCONT", "continued"}, + {20, "SIGCHLD", "child exited"}, + {21, "SIGTTIN", "stopped (tty input)"}, + {22, "SIGTTOU", "stopped (tty output)"}, + {23, "SIGIO", "I/O possible"}, + {24, "SIGXCPU", "cputime limit exceeded"}, + {25, "SIGXFSZ", "filesize limit exceeded"}, + {26, "SIGVTALRM", "virtual timer expired"}, + {27, "SIGPROF", "profiling timer expired"}, + {28, "SIGWINCH", "window size changes"}, + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, + {32, "SIGTHR", "thread AST"}, +} diff --git a/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go new file mode 100644 index 000000000..22569db31 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go @@ -0,0 +1,1532 @@ +// mkerrors.sh -m64 +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,solaris + +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs -- -m64 _const.go + +package unix + +import "syscall" + +const ( + AF_802 = 0x12 + AF_APPLETALK = 0x10 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd + AF_ECMA = 0x8 + AF_FILE = 0x1 + AF_GOSIP = 0x16 + AF_HYLINK = 0xf + AF_IMPLINK = 0x3 + AF_INET = 0x2 + AF_INET6 = 0x1a + AF_INET_OFFLOAD = 0x1e + AF_IPX = 0x17 + AF_KEY = 0x1b + AF_LAT = 0xe + AF_LINK = 0x19 + AF_LOCAL = 0x1 + AF_MAX = 0x20 + AF_NBS = 0x7 + AF_NCA = 0x1c + AF_NIT = 0x11 + AF_NS = 0x6 + AF_OSI = 0x13 + AF_OSINET = 0x15 + AF_PACKET = 0x20 + AF_POLICY = 0x1d + AF_PUP = 0x4 + AF_ROUTE = 0x18 + AF_SNA = 0xb + AF_TRILL = 0x1f + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 + AF_X25 = 0x14 + ARPHRD_ARCNET = 0x7 + ARPHRD_ATM = 0x10 + ARPHRD_AX25 = 0x3 + ARPHRD_CHAOS = 0x5 + ARPHRD_EETHER = 0x2 + ARPHRD_ETHER = 0x1 + ARPHRD_FC = 0x12 + ARPHRD_FRAME = 0xf + ARPHRD_HDLC = 0x11 + ARPHRD_IB = 0x20 + ARPHRD_IEEE802 = 0x6 + ARPHRD_IPATM = 0x13 + ARPHRD_METRICOM = 0x17 + ARPHRD_TUNNEL = 0x1f + B0 = 0x0 + B110 = 0x3 + B115200 = 0x12 + B1200 = 0x9 + B134 = 0x4 + B150 = 0x5 + B153600 = 0x13 + B1800 = 0xa + B19200 = 0xe + B200 = 0x6 + B230400 = 0x14 + B2400 = 0xb + B300 = 0x7 + B307200 = 0x15 + B38400 = 0xf + B460800 = 0x16 + B4800 = 0xc + B50 = 0x1 + B57600 = 0x10 + B600 = 0x8 + B75 = 0x2 + B76800 = 0x11 + B921600 = 0x17 + B9600 = 0xd + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = -0x3fefbd89 + BIOCGDLTLIST32 = -0x3ff7bd89 + BIOCGETIF = 0x4020426b + BIOCGETLIF = 0x4078426b + BIOCGHDRCMPLT = 0x40044274 + BIOCGRTIMEOUT = 0x4010427b + BIOCGRTIMEOUT32 = 0x4008427b + BIOCGSEESENT = 0x40044278 + BIOCGSTATS = 0x4080426f + BIOCGSTATSOLD = 0x4008426f + BIOCIMMEDIATE = -0x7ffbbd90 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = -0x3ffbbd9a + BIOCSDLT = -0x7ffbbd8a + BIOCSETF = -0x7fefbd99 + BIOCSETF32 = -0x7ff7bd99 + BIOCSETIF = -0x7fdfbd94 + BIOCSETLIF = -0x7f87bd94 + BIOCSHDRCMPLT = -0x7ffbbd8b + BIOCSRTIMEOUT = -0x7fefbd86 + BIOCSRTIMEOUT32 = -0x7ff7bd86 + BIOCSSEESENT = -0x7ffbbd87 + BIOCSTCPF = -0x7fefbd8e + BIOCSUDPF = -0x7fefbd8d + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 + BPF_ALIGNMENT = 0x4 + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 + BPF_DFLTBUFSIZE = 0x100000 + BPF_DIV = 0x30 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 + BPF_JA = 0x0 + BPF_JEQ = 0x10 + BPF_JGE = 0x30 + BPF_JGT = 0x20 + BPF_JMP = 0x5 + BPF_JSET = 0x40 + BPF_K = 0x0 + BPF_LD = 0x0 + BPF_LDX = 0x1 + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 + BPF_MAXBUFSIZE = 0x1000000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_OR = 0x40 + BPF_RELEASE = 0x30bb6 + BPF_RET = 0x6 + BPF_RSH = 0x70 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 + BPF_TAX = 0x0 + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 + BS0 = 0x0 + BS1 = 0x2000 + BSDLY = 0x2000 + CBAUD = 0xf + CFLUSH = 0xf + CIBAUD = 0xf0000 + CLOCAL = 0x800 + CLOCK_HIGHRES = 0x4 + CLOCK_LEVEL = 0xa + CLOCK_MONOTONIC = 0x4 + CLOCK_PROCESS_CPUTIME_ID = 0x5 + CLOCK_PROF = 0x2 + CLOCK_REALTIME = 0x3 + CLOCK_THREAD_CPUTIME_ID = 0x2 + CLOCK_VIRTUAL = 0x1 + CR0 = 0x0 + CR1 = 0x200 + CR2 = 0x400 + CR3 = 0x600 + CRDLY = 0x600 + CREAD = 0x80 + CRTSCTS = 0x80000000 + CS5 = 0x0 + CS6 = 0x10 + CS7 = 0x20 + CS8 = 0x30 + CSIZE = 0x30 + CSTART = 0x11 + CSTATUS = 0x14 + CSTOP = 0x13 + CSTOPB = 0x40 + CSUSP = 0x1a + CSWTCH = 0x1a + DLT_AIRONET_HEADER = 0x78 + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 + DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb + DLT_AURORA = 0x7e + DLT_AX25 = 0x3 + DLT_BACNET_MS_TP = 0xa5 + DLT_CHAOS = 0x5 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_DOCSIS = 0x8f + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 + DLT_FDDI = 0xa + DLT_FRELAY = 0x6b + DLT_GCOM_SERIAL = 0xad + DLT_GCOM_T1E1 = 0xac + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 + DLT_HDLC = 0x10 + DLT_HHDLC = 0x79 + DLT_HIPPI = 0xf + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IPNET = 0xe2 + DLT_IPOIB = 0xa2 + DLT_IP_OVER_FC = 0x7a + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_MFR = 0x86 + DLT_JUNIPER_MLFR = 0x83 + DLT_JUNIPER_MLPPP = 0x82 + DLT_JUNIPER_MONITOR = 0xa4 + DLT_JUNIPER_PIC_PEER = 0xae + DLT_JUNIPER_PPP = 0xb3 + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0xe + DLT_PPP_PPPD = 0xa6 + DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 + DLT_RAW = 0xc + DLT_RAWAF_MASK = 0x2240000 + DLT_RIO = 0x7c + DLT_SCCP = 0x8e + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + ECHO = 0x8 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 + ECHOKE = 0x800 + ECHONL = 0x40 + ECHOPRT = 0x400 + EMPTY_SET = 0x0 + EMT_CPCOVF = 0x1 + EQUALITY_CHECK = 0x0 + EXTA = 0xe + EXTB = 0xf + FD_CLOEXEC = 0x1 + FD_NFDBITS = 0x40 + FD_SETSIZE = 0x10000 + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 + FLUSHALL = 0x1 + FLUSHDATA = 0x0 + FLUSHO = 0x2000 + F_ALLOCSP = 0xa + F_ALLOCSP64 = 0xa + F_BADFD = 0x2e + F_BLKSIZE = 0x13 + F_BLOCKS = 0x12 + F_CHKFL = 0x8 + F_COMPAT = 0x8 + F_DUP2FD = 0x9 + F_DUP2FD_CLOEXEC = 0x24 + F_DUPFD = 0x0 + F_DUPFD_CLOEXEC = 0x25 + F_FLOCK = 0x35 + F_FLOCK64 = 0x35 + F_FLOCKW = 0x36 + F_FLOCKW64 = 0x36 + F_FREESP = 0xb + F_FREESP64 = 0xb + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0xe + F_GETLK64 = 0xe + F_GETOWN = 0x17 + F_GETXFL = 0x2d + F_HASREMOTELOCKS = 0x1a + F_ISSTREAM = 0xd + F_MANDDNY = 0x10 + F_MDACC = 0x20 + F_NODNY = 0x0 + F_NPRIV = 0x10 + F_OFD_GETLK = 0x2f + F_OFD_GETLK64 = 0x2f + F_OFD_SETLK = 0x30 + F_OFD_SETLK64 = 0x30 + F_OFD_SETLKW = 0x31 + F_OFD_SETLKW64 = 0x31 + F_PRIV = 0xf + F_QUOTACTL = 0x11 + F_RDACC = 0x1 + F_RDDNY = 0x1 + F_RDLCK = 0x1 + F_REVOKE = 0x19 + F_RMACC = 0x4 + F_RMDNY = 0x4 + F_RWACC = 0x3 + F_RWDNY = 0x3 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x6 + F_SETLK64 = 0x6 + F_SETLK64_NBMAND = 0x2a + F_SETLKW = 0x7 + F_SETLKW64 = 0x7 + F_SETLK_NBMAND = 0x2a + F_SETOWN = 0x18 + F_SHARE = 0x28 + F_SHARE_NBMAND = 0x2b + F_UNLCK = 0x3 + F_UNLKSYS = 0x4 + F_UNSHARE = 0x29 + F_WRACC = 0x2 + F_WRDNY = 0x2 + F_WRLCK = 0x2 + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFF_ADDRCONF = 0x80000 + IFF_ALLMULTI = 0x200 + IFF_ANYCAST = 0x400000 + IFF_BROADCAST = 0x2 + IFF_CANTCHANGE = 0x7f203003b5a + IFF_COS_ENABLED = 0x200000000 + IFF_DEBUG = 0x4 + IFF_DEPRECATED = 0x40000 + IFF_DHCPRUNNING = 0x4000 + IFF_DUPLICATE = 0x4000000000 + IFF_FAILED = 0x10000000 + IFF_FIXEDMTU = 0x1000000000 + IFF_INACTIVE = 0x40000000 + IFF_INTELLIGENT = 0x400 + IFF_IPMP = 0x8000000000 + IFF_IPMP_CANTCHANGE = 0x10000000 + IFF_IPMP_INVALID = 0x1ec200080 + IFF_IPV4 = 0x1000000 + IFF_IPV6 = 0x2000000 + IFF_L3PROTECT = 0x40000000000 + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x800 + IFF_MULTI_BCAST = 0x1000 + IFF_NOACCEPT = 0x4000000 + IFF_NOARP = 0x80 + IFF_NOFAILOVER = 0x8000000 + IFF_NOLINKLOCAL = 0x20000000000 + IFF_NOLOCAL = 0x20000 + IFF_NONUD = 0x200000 + IFF_NORTEXCH = 0x800000 + IFF_NOTRAILERS = 0x20 + IFF_NOXMIT = 0x10000 + IFF_OFFLINE = 0x80000000 + IFF_POINTOPOINT = 0x10 + IFF_PREFERRED = 0x400000000 + IFF_PRIVATE = 0x8000 + IFF_PROMISC = 0x100 + IFF_ROUTER = 0x100000 + IFF_RUNNING = 0x40 + IFF_STANDBY = 0x20000000 + IFF_TEMPORARY = 0x800000000 + IFF_UNNUMBERED = 0x2000 + IFF_UP = 0x1 + IFF_VIRTUAL = 0x2000000000 + IFF_VRRP = 0x10000000000 + IFF_XRESOLV = 0x100000000 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 + IFT_6TO4 = 0xca + IFT_AAL5 = 0x31 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 + IFT_ATM = 0x25 + IFT_CEPT = 0x13 + IFT_DS3 = 0x1e + IFT_EON = 0x19 + IFT_ETHER = 0x6 + IFT_FDDI = 0xf + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c + IFT_HDH1822 = 0x3 + IFT_HIPPI = 0x2f + IFT_HSSI = 0x2e + IFT_HY = 0xe + IFT_IB = 0xc7 + IFT_IPV4 = 0xc8 + IFT_IPV6 = 0xc9 + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 + IFT_ISO88026 = 0xa + IFT_LAPB = 0x10 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 + IFT_NSIP = 0x1b + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 + IFT_PPP = 0x17 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 + IFT_PTPSERIAL = 0x16 + IFT_RS232 = 0x21 + IFT_SDLC = 0x11 + IFT_SIP = 0x1f + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 + IFT_STARLAN = 0xb + IFT_T1 = 0x12 + IFT_ULTRA = 0x1d + IFT_V35 = 0x2d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 + IGNCR = 0x80 + IGNPAR = 0x4 + IMAXBEL = 0x2000 + INLCR = 0x40 + INPCK = 0x10 + IN_AUTOCONF_MASK = 0xffff0000 + IN_AUTOCONF_NET = 0xa9fe0000 + IN_CLASSA_HOST = 0xffffff + IN_CLASSA_MAX = 0x80 + IN_CLASSA_NET = 0xff000000 + IN_CLASSA_NSHIFT = 0x18 + IN_CLASSB_HOST = 0xffff + IN_CLASSB_MAX = 0x10000 + IN_CLASSB_NET = 0xffff0000 + IN_CLASSB_NSHIFT = 0x10 + IN_CLASSC_HOST = 0xff + IN_CLASSC_NET = 0xffffff00 + IN_CLASSC_NSHIFT = 0x8 + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_CLASSE_NET = 0xffffffff + IN_LOOPBACKNET = 0x7f + IN_PRIVATE12_MASK = 0xfff00000 + IN_PRIVATE12_NET = 0xac100000 + IN_PRIVATE16_MASK = 0xffff0000 + IN_PRIVATE16_NET = 0xc0a80000 + IN_PRIVATE8_MASK = 0xff000000 + IN_PRIVATE8_NET = 0xa000000 + IPPROTO_AH = 0x33 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x4 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 + IPPROTO_HELLO = 0x3f + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 + IPPROTO_IGMP = 0x2 + IPPROTO_IP = 0x0 + IPPROTO_IPV6 = 0x29 + IPPROTO_MAX = 0x100 + IPPROTO_ND = 0x4d + IPPROTO_NONE = 0x3b + IPPROTO_OSPF = 0x59 + IPPROTO_PIM = 0x67 + IPPROTO_PUP = 0xc + IPPROTO_RAW = 0xff + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e + IPPROTO_SCTP = 0x84 + IPPROTO_TCP = 0x6 + IPPROTO_UDP = 0x11 + IPV6_ADD_MEMBERSHIP = 0x9 + IPV6_BOUND_IF = 0x41 + IPV6_CHECKSUM = 0x18 + IPV6_DONTFRAG = 0x21 + IPV6_DROP_MEMBERSHIP = 0xa + IPV6_DSTOPTS = 0xf + IPV6_FLOWINFO_FLOWLABEL = 0xffff0f00 + IPV6_FLOWINFO_TCLASS = 0xf00f + IPV6_HOPLIMIT = 0xc + IPV6_HOPOPTS = 0xe + IPV6_JOIN_GROUP = 0x9 + IPV6_LEAVE_GROUP = 0xa + IPV6_MULTICAST_HOPS = 0x7 + IPV6_MULTICAST_IF = 0x6 + IPV6_MULTICAST_LOOP = 0x8 + IPV6_NEXTHOP = 0xd + IPV6_PAD1_OPT = 0x0 + IPV6_PATHMTU = 0x25 + IPV6_PKTINFO = 0xb + IPV6_PREFER_SRC_CGA = 0x20 + IPV6_PREFER_SRC_CGADEFAULT = 0x10 + IPV6_PREFER_SRC_CGAMASK = 0x30 + IPV6_PREFER_SRC_COA = 0x2 + IPV6_PREFER_SRC_DEFAULT = 0x15 + IPV6_PREFER_SRC_HOME = 0x1 + IPV6_PREFER_SRC_MASK = 0x3f + IPV6_PREFER_SRC_MIPDEFAULT = 0x1 + IPV6_PREFER_SRC_MIPMASK = 0x3 + IPV6_PREFER_SRC_NONCGA = 0x10 + IPV6_PREFER_SRC_PUBLIC = 0x4 + IPV6_PREFER_SRC_TMP = 0x8 + IPV6_PREFER_SRC_TMPDEFAULT = 0x4 + IPV6_PREFER_SRC_TMPMASK = 0xc + IPV6_RECVDSTOPTS = 0x28 + IPV6_RECVHOPLIMIT = 0x13 + IPV6_RECVHOPOPTS = 0x14 + IPV6_RECVPATHMTU = 0x24 + IPV6_RECVPKTINFO = 0x12 + IPV6_RECVRTHDR = 0x16 + IPV6_RECVRTHDRDSTOPTS = 0x17 + IPV6_RECVTCLASS = 0x19 + IPV6_RTHDR = 0x10 + IPV6_RTHDRDSTOPTS = 0x11 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SEC_OPT = 0x22 + IPV6_SRC_PREFERENCES = 0x23 + IPV6_TCLASS = 0x26 + IPV6_UNICAST_HOPS = 0x5 + IPV6_UNSPEC_SRC = 0x42 + IPV6_USE_MIN_MTU = 0x20 + IPV6_V6ONLY = 0x27 + IP_ADD_MEMBERSHIP = 0x13 + IP_ADD_SOURCE_MEMBERSHIP = 0x17 + IP_BLOCK_SOURCE = 0x15 + IP_BOUND_IF = 0x41 + IP_BROADCAST = 0x106 + IP_BROADCAST_TTL = 0x43 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DHCPINIT_IF = 0x45 + IP_DONTFRAG = 0x1b + IP_DONTROUTE = 0x105 + IP_DROP_MEMBERSHIP = 0x14 + IP_DROP_SOURCE_MEMBERSHIP = 0x18 + IP_HDRINCL = 0x2 + IP_MAXPACKET = 0xffff + IP_MF = 0x2000 + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x10 + IP_MULTICAST_LOOP = 0x12 + IP_MULTICAST_TTL = 0x11 + IP_NEXTHOP = 0x19 + IP_OPTIONS = 0x1 + IP_PKTINFO = 0x1a + IP_RECVDSTADDR = 0x7 + IP_RECVIF = 0x9 + IP_RECVOPTS = 0x5 + IP_RECVPKTINFO = 0x1a + IP_RECVRETOPTS = 0x6 + IP_RECVSLLA = 0xa + IP_RECVTTL = 0xb + IP_RETOPTS = 0x8 + IP_REUSEADDR = 0x104 + IP_SEC_OPT = 0x22 + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x16 + IP_UNSPEC_SRC = 0x42 + ISIG = 0x1 + ISTRIP = 0x20 + IUCLC = 0x200 + IXANY = 0x800 + IXOFF = 0x1000 + IXON = 0x400 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 + MADV_ACCESS_DEFAULT = 0x6 + MADV_ACCESS_LWP = 0x7 + MADV_ACCESS_MANY = 0x8 + MADV_DONTNEED = 0x4 + MADV_FREE = 0x5 + MADV_NORMAL = 0x0 + MADV_PURGE = 0x9 + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 + MADV_WILLNEED = 0x3 + MAP_32BIT = 0x80 + MAP_ALIGN = 0x200 + MAP_ANON = 0x100 + MAP_ANONYMOUS = 0x100 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 + MAP_INITDATA = 0x800 + MAP_NORESERVE = 0x40 + MAP_PRIVATE = 0x2 + MAP_RENAME = 0x20 + MAP_SHARED = 0x1 + MAP_TEXT = 0x400 + MAP_TYPE = 0xf + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MSG_CTRUNC = 0x10 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 + MSG_DUPCTRL = 0x800 + MSG_EOR = 0x8 + MSG_MAXIOVLEN = 0x10 + MSG_NOTIFICATION = 0x100 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_TRUNC = 0x20 + MSG_WAITALL = 0x40 + MSG_XPG4_2 = 0x8000 + MS_ASYNC = 0x1 + MS_INVALIDATE = 0x2 + MS_OLDSYNC = 0x0 + MS_SYNC = 0x4 + M_FLUSH = 0x86 + NAME_MAX = 0xff + NEWDEV = 0x1 + NL0 = 0x0 + NL1 = 0x100 + NLDLY = 0x100 + NOFLSH = 0x80 + OCRNL = 0x8 + OFDEL = 0x80 + OFILL = 0x40 + OLCUC = 0x2 + OLDDEV = 0x0 + ONBITSMAJOR = 0x7 + ONBITSMINOR = 0x8 + ONLCR = 0x4 + ONLRET = 0x20 + ONOCR = 0x10 + OPENFAIL = -0x1 + OPOST = 0x1 + O_ACCMODE = 0x600003 + O_APPEND = 0x8 + O_CLOEXEC = 0x800000 + O_CREAT = 0x100 + O_DSYNC = 0x40 + O_EXCL = 0x400 + O_EXEC = 0x400000 + O_LARGEFILE = 0x2000 + O_NDELAY = 0x4 + O_NOCTTY = 0x800 + O_NOFOLLOW = 0x20000 + O_NOLINKS = 0x40000 + O_NONBLOCK = 0x80 + O_RDONLY = 0x0 + O_RDWR = 0x2 + O_RSYNC = 0x8000 + O_SEARCH = 0x200000 + O_SIOCGIFCONF = -0x3ff796ec + O_SIOCGLIFCONF = -0x3fef9688 + O_SYNC = 0x10 + O_TRUNC = 0x200 + O_WRONLY = 0x1 + O_XATTR = 0x4000 + PARENB = 0x100 + PAREXT = 0x100000 + PARMRK = 0x8 + PARODD = 0x200 + PENDIN = 0x4000 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 + PROT_EXEC = 0x4 + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 + RLIMIT_AS = 0x6 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = -0x3 + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 + RTAX_MAX = 0x9 + RTAX_NETMASK = 0x2 + RTAX_SRC = 0x8 + RTA_AUTHOR = 0x40 + RTA_BRD = 0x80 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 + RTA_NETMASK = 0x4 + RTA_NUMBITS = 0x9 + RTA_SRC = 0x100 + RTF_BLACKHOLE = 0x1000 + RTF_CLONING = 0x100 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 + RTF_INDIRECT = 0x40000 + RTF_KERNEL = 0x80000 + RTF_LLINFO = 0x400 + RTF_MASK = 0x80 + RTF_MODIFIED = 0x20 + RTF_MULTIRT = 0x10000 + RTF_PRIVATE = 0x2000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 + RTF_REJECT = 0x8 + RTF_SETSRC = 0x20000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 + RTF_XRESOLVE = 0x200 + RTF_ZONE = 0x100000 + RTM_ADD = 0x1 + RTM_CHANGE = 0x3 + RTM_CHGADDR = 0xf + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 + RTM_FREEADDR = 0x10 + RTM_GET = 0x4 + RTM_IFINFO = 0xe + RTM_LOCK = 0x8 + RTM_LOSING = 0x5 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_OLDADD = 0x9 + RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_VERSION = 0x3 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_MTU = 0x1 + RTV_RPIPE = 0x8 + RTV_RTT = 0x40 + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 + RT_AWARE = 0x1 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + SCM_RIGHTS = 0x1010 + SCM_TIMESTAMP = 0x1013 + SCM_UCRED = 0x1012 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIG2STR_MAX = 0x20 + SIOCADDMULTI = -0x7fdf96cf + SIOCADDRT = -0x7fcf8df6 + SIOCATMARK = 0x40047307 + SIOCDARP = -0x7fdb96e0 + SIOCDELMULTI = -0x7fdf96ce + SIOCDELRT = -0x7fcf8df5 + SIOCDXARP = -0x7fff9658 + SIOCGARP = -0x3fdb96e1 + SIOCGDSTINFO = -0x3fff965c + SIOCGENADDR = -0x3fdf96ab + SIOCGENPSTATS = -0x3fdf96c7 + SIOCGETLSGCNT = -0x3fef8deb + SIOCGETNAME = 0x40107334 + SIOCGETPEER = 0x40107335 + SIOCGETPROP = -0x3fff8f44 + SIOCGETSGCNT = -0x3feb8deb + SIOCGETSYNC = -0x3fdf96d3 + SIOCGETVIFCNT = -0x3feb8dec + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = -0x3fdf96f3 + SIOCGIFBRDADDR = -0x3fdf96e9 + SIOCGIFCONF = -0x3ff796a4 + SIOCGIFDSTADDR = -0x3fdf96f1 + SIOCGIFFLAGS = -0x3fdf96ef + SIOCGIFHWADDR = -0x3fdf9647 + SIOCGIFINDEX = -0x3fdf96a6 + SIOCGIFMEM = -0x3fdf96ed + SIOCGIFMETRIC = -0x3fdf96e5 + SIOCGIFMTU = -0x3fdf96ea + SIOCGIFMUXID = -0x3fdf96a8 + SIOCGIFNETMASK = -0x3fdf96e7 + SIOCGIFNUM = 0x40046957 + SIOCGIP6ADDRPOLICY = -0x3fff965e + SIOCGIPMSFILTER = -0x3ffb964c + SIOCGLIFADDR = -0x3f87968f + SIOCGLIFBINDING = -0x3f879666 + SIOCGLIFBRDADDR = -0x3f879685 + SIOCGLIFCONF = -0x3fef965b + SIOCGLIFDADSTATE = -0x3f879642 + SIOCGLIFDSTADDR = -0x3f87968d + SIOCGLIFFLAGS = -0x3f87968b + SIOCGLIFGROUPINFO = -0x3f4b9663 + SIOCGLIFGROUPNAME = -0x3f879664 + SIOCGLIFHWADDR = -0x3f879640 + SIOCGLIFINDEX = -0x3f87967b + SIOCGLIFLNKINFO = -0x3f879674 + SIOCGLIFMETRIC = -0x3f879681 + SIOCGLIFMTU = -0x3f879686 + SIOCGLIFMUXID = -0x3f87967d + SIOCGLIFNETMASK = -0x3f879683 + SIOCGLIFNUM = -0x3ff3967e + SIOCGLIFSRCOF = -0x3fef964f + SIOCGLIFSUBNET = -0x3f879676 + SIOCGLIFTOKEN = -0x3f879678 + SIOCGLIFUSESRC = -0x3f879651 + SIOCGLIFZONE = -0x3f879656 + SIOCGLOWAT = 0x40047303 + SIOCGMSFILTER = -0x3ffb964e + SIOCGPGRP = 0x40047309 + SIOCGSTAMP = -0x3fef9646 + SIOCGXARP = -0x3fff9659 + SIOCIFDETACH = -0x7fdf96c8 + SIOCILB = -0x3ffb9645 + SIOCLIFADDIF = -0x3f879691 + SIOCLIFDELND = -0x7f879673 + SIOCLIFGETND = -0x3f879672 + SIOCLIFREMOVEIF = -0x7f879692 + SIOCLIFSETND = -0x7f879671 + SIOCLOWER = -0x7fdf96d7 + SIOCSARP = -0x7fdb96e2 + SIOCSCTPGOPT = -0x3fef9653 + SIOCSCTPPEELOFF = -0x3ffb9652 + SIOCSCTPSOPT = -0x7fef9654 + SIOCSENABLESDP = -0x3ffb9649 + SIOCSETPROP = -0x7ffb8f43 + SIOCSETSYNC = -0x7fdf96d4 + SIOCSHIWAT = -0x7ffb8d00 + SIOCSIFADDR = -0x7fdf96f4 + SIOCSIFBRDADDR = -0x7fdf96e8 + SIOCSIFDSTADDR = -0x7fdf96f2 + SIOCSIFFLAGS = -0x7fdf96f0 + SIOCSIFINDEX = -0x7fdf96a5 + SIOCSIFMEM = -0x7fdf96ee + SIOCSIFMETRIC = -0x7fdf96e4 + SIOCSIFMTU = -0x7fdf96eb + SIOCSIFMUXID = -0x7fdf96a7 + SIOCSIFNAME = -0x7fdf96b7 + SIOCSIFNETMASK = -0x7fdf96e6 + SIOCSIP6ADDRPOLICY = -0x7fff965d + SIOCSIPMSFILTER = -0x7ffb964b + SIOCSLGETREQ = -0x3fdf96b9 + SIOCSLIFADDR = -0x7f879690 + SIOCSLIFBRDADDR = -0x7f879684 + SIOCSLIFDSTADDR = -0x7f87968e + SIOCSLIFFLAGS = -0x7f87968c + SIOCSLIFGROUPNAME = -0x7f879665 + SIOCSLIFINDEX = -0x7f87967a + SIOCSLIFLNKINFO = -0x7f879675 + SIOCSLIFMETRIC = -0x7f879680 + SIOCSLIFMTU = -0x7f879687 + SIOCSLIFMUXID = -0x7f87967c + SIOCSLIFNAME = -0x3f87967f + SIOCSLIFNETMASK = -0x7f879682 + SIOCSLIFPREFIX = -0x3f879641 + SIOCSLIFSUBNET = -0x7f879677 + SIOCSLIFTOKEN = -0x7f879679 + SIOCSLIFUSESRC = -0x7f879650 + SIOCSLIFZONE = -0x7f879655 + SIOCSLOWAT = -0x7ffb8cfe + SIOCSLSTAT = -0x7fdf96b8 + SIOCSMSFILTER = -0x7ffb964d + SIOCSPGRP = -0x7ffb8cf8 + SIOCSPROMISC = -0x7ffb96d0 + SIOCSQPTR = -0x3ffb9648 + SIOCSSDSTATS = -0x3fdf96d2 + SIOCSSESTATS = -0x3fdf96d1 + SIOCSXARP = -0x7fff965a + SIOCTMYADDR = -0x3ff79670 + SIOCTMYSITE = -0x3ff7966e + SIOCTONLINK = -0x3ff7966f + SIOCUPPER = -0x7fdf96d8 + SIOCX25RCV = -0x3fdf96c4 + SIOCX25TBL = -0x3fdf96c3 + SIOCX25XMT = -0x3fdf96c5 + SIOCXPROTO = 0x20007337 + SOCK_CLOEXEC = 0x80000 + SOCK_DGRAM = 0x1 + SOCK_NDELAY = 0x200000 + SOCK_NONBLOCK = 0x100000 + SOCK_RAW = 0x4 + SOCK_RDM = 0x5 + SOCK_SEQPACKET = 0x6 + SOCK_STREAM = 0x2 + SOCK_TYPE_MASK = 0xffff + SOL_FILTER = 0xfffc + SOL_PACKET = 0xfffd + SOL_ROUTE = 0xfffe + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 + SO_ALL = 0x3f + SO_ALLZONES = 0x1014 + SO_ANON_MLP = 0x100a + SO_ATTACH_FILTER = 0x40000001 + SO_BAND = 0x4000 + SO_BROADCAST = 0x20 + SO_COPYOPT = 0x80000 + SO_DEBUG = 0x1 + SO_DELIM = 0x8000 + SO_DETACH_FILTER = 0x40000002 + SO_DGRAM_ERRIND = 0x200 + SO_DOMAIN = 0x100c + SO_DONTLINGER = -0x81 + SO_DONTROUTE = 0x10 + SO_ERROPT = 0x40000 + SO_ERROR = 0x1007 + SO_EXCLBIND = 0x1015 + SO_HIWAT = 0x10 + SO_ISNTTY = 0x800 + SO_ISTTY = 0x400 + SO_KEEPALIVE = 0x8 + SO_LINGER = 0x80 + SO_LOWAT = 0x20 + SO_MAC_EXEMPT = 0x100b + SO_MAC_IMPLICIT = 0x1016 + SO_MAXBLK = 0x100000 + SO_MAXPSZ = 0x8 + SO_MINPSZ = 0x4 + SO_MREADOFF = 0x80 + SO_MREADON = 0x40 + SO_NDELOFF = 0x200 + SO_NDELON = 0x100 + SO_NODELIM = 0x10000 + SO_OOBINLINE = 0x100 + SO_PROTOTYPE = 0x1009 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVPSH = 0x100d + SO_RCVTIMEO = 0x1006 + SO_READOPT = 0x1 + SO_RECVUCRED = 0x400 + SO_REUSEADDR = 0x4 + SO_SECATTR = 0x1011 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_STRHOLD = 0x20000 + SO_TAIL = 0x200000 + SO_TIMESTAMP = 0x1013 + SO_TONSTOP = 0x2000 + SO_TOSTOP = 0x1000 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_VRRP = 0x1017 + SO_WROFF = 0x2 + S_ENFMT = 0x400 + S_IAMB = 0x1ff + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFDOOR = 0xd000 + S_IFIFO = 0x1000 + S_IFLNK = 0xa000 + S_IFMT = 0xf000 + S_IFNAM = 0x5000 + S_IFPORT = 0xe000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 + S_INSEM = 0x1 + S_INSHD = 0x2 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 + S_IRUSR = 0x100 + S_IRWXG = 0x38 + S_IRWXO = 0x7 + S_IRWXU = 0x1c0 + S_ISGID = 0x400 + S_ISUID = 0x800 + S_ISVTX = 0x200 + S_IWGRP = 0x10 + S_IWOTH = 0x2 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 + TAB0 = 0x0 + TAB1 = 0x800 + TAB2 = 0x1000 + TAB3 = 0x1800 + TABDLY = 0x1800 + TCFLSH = 0x5407 + TCGETA = 0x5401 + TCGETS = 0x540d + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 + TCION = 0x3 + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 + TCP_ABORT_THRESHOLD = 0x11 + TCP_ANONPRIVBIND = 0x20 + TCP_CONN_ABORT_THRESHOLD = 0x13 + TCP_CONN_NOTIFY_THRESHOLD = 0x12 + TCP_CORK = 0x18 + TCP_EXCLBIND = 0x21 + TCP_INIT_CWND = 0x15 + TCP_KEEPALIVE = 0x8 + TCP_KEEPALIVE_ABORT_THRESHOLD = 0x17 + TCP_KEEPALIVE_THRESHOLD = 0x16 + TCP_KEEPCNT = 0x23 + TCP_KEEPIDLE = 0x22 + TCP_KEEPINTVL = 0x24 + TCP_LINGER2 = 0x1c + TCP_MAXSEG = 0x2 + TCP_MSS = 0x218 + TCP_NODELAY = 0x1 + TCP_NOTIFY_THRESHOLD = 0x10 + TCP_RECVDSTADDR = 0x14 + TCP_RTO_INITIAL = 0x19 + TCP_RTO_MAX = 0x1b + TCP_RTO_MIN = 0x1a + TCSAFLUSH = 0x5410 + TCSBRK = 0x5405 + TCSETA = 0x5402 + TCSETAF = 0x5404 + TCSETAW = 0x5403 + TCSETS = 0x540e + TCSETSF = 0x5410 + TCSETSW = 0x540f + TCXONC = 0x5406 + TIOC = 0x5400 + TIOCCBRK = 0x747a + TIOCCDTR = 0x7478 + TIOCCILOOP = 0x746c + TIOCEXCL = 0x740d + TIOCFLUSH = 0x7410 + TIOCGETC = 0x7412 + TIOCGETD = 0x7400 + TIOCGETP = 0x7408 + TIOCGLTC = 0x7474 + TIOCGPGRP = 0x7414 + TIOCGPPS = 0x547d + TIOCGPPSEV = 0x547f + TIOCGSID = 0x7416 + TIOCGSOFTCAR = 0x5469 + TIOCGWINSZ = 0x5468 + TIOCHPCL = 0x7402 + TIOCKBOF = 0x5409 + TIOCKBON = 0x5408 + TIOCLBIC = 0x747e + TIOCLBIS = 0x747f + TIOCLGET = 0x747c + TIOCLSET = 0x747d + TIOCMBIC = 0x741c + TIOCMBIS = 0x741b + TIOCMGET = 0x741d + TIOCMSET = 0x741a + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 + TIOCM_CTS = 0x20 + TIOCM_DSR = 0x100 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 + TIOCM_RI = 0x80 + TIOCM_RNG = 0x80 + TIOCM_RTS = 0x4 + TIOCM_SR = 0x10 + TIOCM_ST = 0x8 + TIOCNOTTY = 0x7471 + TIOCNXCL = 0x740e + TIOCOUTQ = 0x7473 + TIOCREMOTE = 0x741e + TIOCSBRK = 0x747b + TIOCSCTTY = 0x7484 + TIOCSDTR = 0x7479 + TIOCSETC = 0x7411 + TIOCSETD = 0x7401 + TIOCSETN = 0x740a + TIOCSETP = 0x7409 + TIOCSIGNAL = 0x741f + TIOCSILOOP = 0x746d + TIOCSLTC = 0x7475 + TIOCSPGRP = 0x7415 + TIOCSPPS = 0x547e + TIOCSSOFTCAR = 0x546a + TIOCSTART = 0x746e + TIOCSTI = 0x7417 + TIOCSTOP = 0x746f + TIOCSWINSZ = 0x5467 + TOSTOP = 0x100 + UTIME_NOW = -0x1 + UTIME_OMIT = -0x2 + VCEOF = 0x8 + VCEOL = 0x9 + VDISCARD = 0xd + VDSUSP = 0xb + VEOF = 0x4 + VEOL = 0x5 + VEOL2 = 0x6 + VERASE = 0x2 + VERASE2 = 0x11 + VINTR = 0x0 + VKILL = 0x3 + VLNEXT = 0xf + VMIN = 0x4 + VQUIT = 0x1 + VREPRINT = 0xc + VSTART = 0x8 + VSTATUS = 0x10 + VSTOP = 0x9 + VSUSP = 0xa + VSWTCH = 0x7 + VT0 = 0x0 + VT1 = 0x4000 + VTDLY = 0x4000 + VTIME = 0x5 + VWERASE = 0xe + WCONTFLG = 0xffff + WCONTINUED = 0x8 + WCOREFLG = 0x80 + WEXITED = 0x1 + WNOHANG = 0x40 + WNOWAIT = 0x80 + WOPTMASK = 0xcf + WRAP = 0x20000 + WSIGMASK = 0x7f + WSTOPFLG = 0x7f + WSTOPPED = 0x4 + WTRAPPED = 0x2 + WUNTRACED = 0x4 + XCASE = 0x4 + XTABS = 0x1800 +) + +// Errors +const ( + E2BIG = syscall.Errno(0x7) + EACCES = syscall.Errno(0xd) + EADDRINUSE = syscall.Errno(0x7d) + EADDRNOTAVAIL = syscall.Errno(0x7e) + EADV = syscall.Errno(0x44) + EAFNOSUPPORT = syscall.Errno(0x7c) + EAGAIN = syscall.Errno(0xb) + EALREADY = syscall.Errno(0x95) + EBADE = syscall.Errno(0x32) + EBADF = syscall.Errno(0x9) + EBADFD = syscall.Errno(0x51) + EBADMSG = syscall.Errno(0x4d) + EBADR = syscall.Errno(0x33) + EBADRQC = syscall.Errno(0x36) + EBADSLT = syscall.Errno(0x37) + EBFONT = syscall.Errno(0x39) + EBUSY = syscall.Errno(0x10) + ECANCELED = syscall.Errno(0x2f) + ECHILD = syscall.Errno(0xa) + ECHRNG = syscall.Errno(0x25) + ECOMM = syscall.Errno(0x46) + ECONNABORTED = syscall.Errno(0x82) + ECONNREFUSED = syscall.Errno(0x92) + ECONNRESET = syscall.Errno(0x83) + EDEADLK = syscall.Errno(0x2d) + EDEADLOCK = syscall.Errno(0x38) + EDESTADDRREQ = syscall.Errno(0x60) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x31) + EEXIST = syscall.Errno(0x11) + EFAULT = syscall.Errno(0xe) + EFBIG = syscall.Errno(0x1b) + EHOSTDOWN = syscall.Errno(0x93) + EHOSTUNREACH = syscall.Errno(0x94) + EIDRM = syscall.Errno(0x24) + EILSEQ = syscall.Errno(0x58) + EINPROGRESS = syscall.Errno(0x96) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x85) + EISDIR = syscall.Errno(0x15) + EL2HLT = syscall.Errno(0x2c) + EL2NSYNC = syscall.Errno(0x26) + EL3HLT = syscall.Errno(0x27) + EL3RST = syscall.Errno(0x28) + ELIBACC = syscall.Errno(0x53) + ELIBBAD = syscall.Errno(0x54) + ELIBEXEC = syscall.Errno(0x57) + ELIBMAX = syscall.Errno(0x56) + ELIBSCN = syscall.Errno(0x55) + ELNRNG = syscall.Errno(0x29) + ELOCKUNMAPPED = syscall.Errno(0x48) + ELOOP = syscall.Errno(0x5a) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x61) + EMULTIHOP = syscall.Errno(0x4a) + ENAMETOOLONG = syscall.Errno(0x4e) + ENETDOWN = syscall.Errno(0x7f) + ENETRESET = syscall.Errno(0x81) + ENETUNREACH = syscall.Errno(0x80) + ENFILE = syscall.Errno(0x17) + ENOANO = syscall.Errno(0x35) + ENOBUFS = syscall.Errno(0x84) + ENOCSI = syscall.Errno(0x2b) + ENODATA = syscall.Errno(0x3d) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x2e) + ENOLINK = syscall.Errno(0x43) + ENOMEM = syscall.Errno(0xc) + ENOMSG = syscall.Errno(0x23) + ENONET = syscall.Errno(0x40) + ENOPKG = syscall.Errno(0x41) + ENOPROTOOPT = syscall.Errno(0x63) + ENOSPC = syscall.Errno(0x1c) + ENOSR = syscall.Errno(0x3f) + ENOSTR = syscall.Errno(0x3c) + ENOSYS = syscall.Errno(0x59) + ENOTACTIVE = syscall.Errno(0x49) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x86) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x5d) + ENOTRECOVERABLE = syscall.Errno(0x3b) + ENOTSOCK = syscall.Errno(0x5f) + ENOTSUP = syscall.Errno(0x30) + ENOTTY = syscall.Errno(0x19) + ENOTUNIQ = syscall.Errno(0x50) + ENXIO = syscall.Errno(0x6) + EOPNOTSUPP = syscall.Errno(0x7a) + EOVERFLOW = syscall.Errno(0x4f) + EOWNERDEAD = syscall.Errno(0x3a) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x7b) + EPIPE = syscall.Errno(0x20) + EPROTO = syscall.Errno(0x47) + EPROTONOSUPPORT = syscall.Errno(0x78) + EPROTOTYPE = syscall.Errno(0x62) + ERANGE = syscall.Errno(0x22) + EREMCHG = syscall.Errno(0x52) + EREMOTE = syscall.Errno(0x42) + ERESTART = syscall.Errno(0x5b) + EROFS = syscall.Errno(0x1e) + ESHUTDOWN = syscall.Errno(0x8f) + ESOCKTNOSUPPORT = syscall.Errno(0x79) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESRMNT = syscall.Errno(0x45) + ESTALE = syscall.Errno(0x97) + ESTRPIPE = syscall.Errno(0x5c) + ETIME = syscall.Errno(0x3e) + ETIMEDOUT = syscall.Errno(0x91) + ETOOMANYREFS = syscall.Errno(0x90) + ETXTBSY = syscall.Errno(0x1a) + EUNATCH = syscall.Errno(0x2a) + EUSERS = syscall.Errno(0x5e) + EWOULDBLOCK = syscall.Errno(0xb) + EXDEV = syscall.Errno(0x12) + EXFULL = syscall.Errno(0x34) +) + +// Signals +const ( + SIGABRT = syscall.Signal(0x6) + SIGALRM = syscall.Signal(0xe) + SIGBUS = syscall.Signal(0xa) + SIGCANCEL = syscall.Signal(0x24) + SIGCHLD = syscall.Signal(0x12) + SIGCLD = syscall.Signal(0x12) + SIGCONT = syscall.Signal(0x19) + SIGEMT = syscall.Signal(0x7) + SIGFPE = syscall.Signal(0x8) + SIGFREEZE = syscall.Signal(0x22) + SIGHUP = syscall.Signal(0x1) + SIGILL = syscall.Signal(0x4) + SIGINFO = syscall.Signal(0x29) + SIGINT = syscall.Signal(0x2) + SIGIO = syscall.Signal(0x16) + SIGIOT = syscall.Signal(0x6) + SIGJVM1 = syscall.Signal(0x27) + SIGJVM2 = syscall.Signal(0x28) + SIGKILL = syscall.Signal(0x9) + SIGLOST = syscall.Signal(0x25) + SIGLWP = syscall.Signal(0x21) + SIGPIPE = syscall.Signal(0xd) + SIGPOLL = syscall.Signal(0x16) + SIGPROF = syscall.Signal(0x1d) + SIGPWR = syscall.Signal(0x13) + SIGQUIT = syscall.Signal(0x3) + SIGSEGV = syscall.Signal(0xb) + SIGSTOP = syscall.Signal(0x17) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) + SIGTHAW = syscall.Signal(0x23) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x18) + SIGTTIN = syscall.Signal(0x1a) + SIGTTOU = syscall.Signal(0x1b) + SIGURG = syscall.Signal(0x15) + SIGUSR1 = syscall.Signal(0x10) + SIGUSR2 = syscall.Signal(0x11) + SIGVTALRM = syscall.Signal(0x1c) + SIGWAITING = syscall.Signal(0x20) + SIGWINCH = syscall.Signal(0x14) + SIGXCPU = syscall.Signal(0x1e) + SIGXFSZ = syscall.Signal(0x1f) + SIGXRES = syscall.Signal(0x26) +) + +// Error table +var errorList = [...]struct { + num syscall.Errno + name string + desc string +}{ + {1, "EPERM", "not owner"}, + {2, "ENOENT", "no such file or directory"}, + {3, "ESRCH", "no such process"}, + {4, "EINTR", "interrupted system call"}, + {5, "EIO", "I/O error"}, + {6, "ENXIO", "no such device or address"}, + {7, "E2BIG", "arg list too long"}, + {8, "ENOEXEC", "exec format error"}, + {9, "EBADF", "bad file number"}, + {10, "ECHILD", "no child processes"}, + {11, "EAGAIN", "resource temporarily unavailable"}, + {12, "ENOMEM", "not enough space"}, + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, + {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "no such device"}, + {20, "ENOTDIR", "not a directory"}, + {21, "EISDIR", "is a directory"}, + {22, "EINVAL", "invalid argument"}, + {23, "ENFILE", "file table overflow"}, + {24, "EMFILE", "too many open files"}, + {25, "ENOTTY", "inappropriate ioctl for device"}, + {26, "ETXTBSY", "text file busy"}, + {27, "EFBIG", "file too large"}, + {28, "ENOSPC", "no space left on device"}, + {29, "ESPIPE", "illegal seek"}, + {30, "EROFS", "read-only file system"}, + {31, "EMLINK", "too many links"}, + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "argument out of domain"}, + {34, "ERANGE", "result too large"}, + {35, "ENOMSG", "no message of desired type"}, + {36, "EIDRM", "identifier removed"}, + {37, "ECHRNG", "channel number out of range"}, + {38, "EL2NSYNC", "level 2 not synchronized"}, + {39, "EL3HLT", "level 3 halted"}, + {40, "EL3RST", "level 3 reset"}, + {41, "ELNRNG", "link number out of range"}, + {42, "EUNATCH", "protocol driver not attached"}, + {43, "ENOCSI", "no CSI structure available"}, + {44, "EL2HLT", "level 2 halted"}, + {45, "EDEADLK", "deadlock situation detected/avoided"}, + {46, "ENOLCK", "no record locks available"}, + {47, "ECANCELED", "operation canceled"}, + {48, "ENOTSUP", "operation not supported"}, + {49, "EDQUOT", "disc quota exceeded"}, + {50, "EBADE", "bad exchange descriptor"}, + {51, "EBADR", "bad request descriptor"}, + {52, "EXFULL", "message tables full"}, + {53, "ENOANO", "anode table overflow"}, + {54, "EBADRQC", "bad request code"}, + {55, "EBADSLT", "invalid slot"}, + {56, "EDEADLOCK", "file locking deadlock"}, + {57, "EBFONT", "bad font file format"}, + {58, "EOWNERDEAD", "owner of the lock died"}, + {59, "ENOTRECOVERABLE", "lock is not recoverable"}, + {60, "ENOSTR", "not a stream device"}, + {61, "ENODATA", "no data available"}, + {62, "ETIME", "timer expired"}, + {63, "ENOSR", "out of stream resources"}, + {64, "ENONET", "machine is not on the network"}, + {65, "ENOPKG", "package not installed"}, + {66, "EREMOTE", "object is remote"}, + {67, "ENOLINK", "link has been severed"}, + {68, "EADV", "advertise error"}, + {69, "ESRMNT", "srmount error"}, + {70, "ECOMM", "communication error on send"}, + {71, "EPROTO", "protocol error"}, + {72, "ELOCKUNMAPPED", "locked lock was unmapped "}, + {73, "ENOTACTIVE", "facility is not active"}, + {74, "EMULTIHOP", "multihop attempted"}, + {77, "EBADMSG", "not a data message"}, + {78, "ENAMETOOLONG", "file name too long"}, + {79, "EOVERFLOW", "value too large for defined data type"}, + {80, "ENOTUNIQ", "name not unique on network"}, + {81, "EBADFD", "file descriptor in bad state"}, + {82, "EREMCHG", "remote address changed"}, + {83, "ELIBACC", "can not access a needed shared library"}, + {84, "ELIBBAD", "accessing a corrupted shared library"}, + {85, "ELIBSCN", ".lib section in a.out corrupted"}, + {86, "ELIBMAX", "attempting to link in more shared libraries than system limit"}, + {87, "ELIBEXEC", "can not exec a shared library directly"}, + {88, "EILSEQ", "illegal byte sequence"}, + {89, "ENOSYS", "operation not applicable"}, + {90, "ELOOP", "number of symbolic links encountered during path name traversal exceeds MAXSYMLINKS"}, + {91, "ERESTART", "error 91"}, + {92, "ESTRPIPE", "error 92"}, + {93, "ENOTEMPTY", "directory not empty"}, + {94, "EUSERS", "too many users"}, + {95, "ENOTSOCK", "socket operation on non-socket"}, + {96, "EDESTADDRREQ", "destination address required"}, + {97, "EMSGSIZE", "message too long"}, + {98, "EPROTOTYPE", "protocol wrong type for socket"}, + {99, "ENOPROTOOPT", "option not supported by protocol"}, + {120, "EPROTONOSUPPORT", "protocol not supported"}, + {121, "ESOCKTNOSUPPORT", "socket type not supported"}, + {122, "EOPNOTSUPP", "operation not supported on transport endpoint"}, + {123, "EPFNOSUPPORT", "protocol family not supported"}, + {124, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {125, "EADDRINUSE", "address already in use"}, + {126, "EADDRNOTAVAIL", "cannot assign requested address"}, + {127, "ENETDOWN", "network is down"}, + {128, "ENETUNREACH", "network is unreachable"}, + {129, "ENETRESET", "network dropped connection because of reset"}, + {130, "ECONNABORTED", "software caused connection abort"}, + {131, "ECONNRESET", "connection reset by peer"}, + {132, "ENOBUFS", "no buffer space available"}, + {133, "EISCONN", "transport endpoint is already connected"}, + {134, "ENOTCONN", "transport endpoint is not connected"}, + {143, "ESHUTDOWN", "cannot send after socket shutdown"}, + {144, "ETOOMANYREFS", "too many references: cannot splice"}, + {145, "ETIMEDOUT", "connection timed out"}, + {146, "ECONNREFUSED", "connection refused"}, + {147, "EHOSTDOWN", "host is down"}, + {148, "EHOSTUNREACH", "no route to host"}, + {149, "EALREADY", "operation already in progress"}, + {150, "EINPROGRESS", "operation now in progress"}, + {151, "ESTALE", "stale NFS file handle"}, +} + +// Signal table +var signalList = [...]struct { + num syscall.Signal + name string + desc string +}{ + {1, "SIGHUP", "hangup"}, + {2, "SIGINT", "interrupt"}, + {3, "SIGQUIT", "quit"}, + {4, "SIGILL", "illegal Instruction"}, + {5, "SIGTRAP", "trace/Breakpoint Trap"}, + {6, "SIGABRT", "abort"}, + {7, "SIGEMT", "emulation Trap"}, + {8, "SIGFPE", "arithmetic Exception"}, + {9, "SIGKILL", "killed"}, + {10, "SIGBUS", "bus Error"}, + {11, "SIGSEGV", "segmentation Fault"}, + {12, "SIGSYS", "bad System Call"}, + {13, "SIGPIPE", "broken Pipe"}, + {14, "SIGALRM", "alarm Clock"}, + {15, "SIGTERM", "terminated"}, + {16, "SIGUSR1", "user Signal 1"}, + {17, "SIGUSR2", "user Signal 2"}, + {18, "SIGCHLD", "child Status Changed"}, + {19, "SIGPWR", "power-Fail/Restart"}, + {20, "SIGWINCH", "window Size Change"}, + {21, "SIGURG", "urgent Socket Condition"}, + {22, "SIGIO", "pollable Event"}, + {23, "SIGSTOP", "stopped (signal)"}, + {24, "SIGTSTP", "stopped (user)"}, + {25, "SIGCONT", "continued"}, + {26, "SIGTTIN", "stopped (tty input)"}, + {27, "SIGTTOU", "stopped (tty output)"}, + {28, "SIGVTALRM", "virtual Timer Expired"}, + {29, "SIGPROF", "profiling Timer Expired"}, + {30, "SIGXCPU", "cpu Limit Exceeded"}, + {31, "SIGXFSZ", "file Size Limit Exceeded"}, + {32, "SIGWAITING", "no runnable lwp"}, + {33, "SIGLWP", "inter-lwp signal"}, + {34, "SIGFREEZE", "checkpoint Freeze"}, + {35, "SIGTHAW", "checkpoint Thaw"}, + {36, "SIGCANCEL", "thread Cancellation"}, + {37, "SIGLOST", "resource Lost"}, + {38, "SIGXRES", "resource Control Exceeded"}, + {39, "SIGJVM1", "reserved for JVM 1"}, + {40, "SIGJVM2", "reserved for JVM 2"}, + {41, "SIGINFO", "information Request"}, +} diff --git a/vendor/golang.org/x/sys/unix/zptrace386_linux.go b/vendor/golang.org/x/sys/unix/zptrace386_linux.go new file mode 100644 index 000000000..2d21c49e1 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zptrace386_linux.go @@ -0,0 +1,80 @@ +// Code generated by linux/mkall.go generatePtracePair(386, amd64). DO NOT EDIT. + +// +build linux +// +build 386 amd64 + +package unix + +import "unsafe" + +// PtraceRegs386 is the registers used by 386 binaries. +type PtraceRegs386 struct { + Ebx int32 + Ecx int32 + Edx int32 + Esi int32 + Edi int32 + Ebp int32 + Eax int32 + Xds int32 + Xes int32 + Xfs int32 + Xgs int32 + Orig_eax int32 + Eip int32 + Xcs int32 + Eflags int32 + Esp int32 + Xss int32 +} + +// PtraceGetRegs386 fetches the registers used by 386 binaries. +func PtraceGetRegs386(pid int, regsout *PtraceRegs386) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegs386 sets the registers used by 386 binaries. +func PtraceSetRegs386(pid int, regs *PtraceRegs386) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} + +// PtraceRegsAmd64 is the registers used by amd64 binaries. +type PtraceRegsAmd64 struct { + R15 uint64 + R14 uint64 + R13 uint64 + R12 uint64 + Rbp uint64 + Rbx uint64 + R11 uint64 + R10 uint64 + R9 uint64 + R8 uint64 + Rax uint64 + Rcx uint64 + Rdx uint64 + Rsi uint64 + Rdi uint64 + Orig_rax uint64 + Rip uint64 + Cs uint64 + Eflags uint64 + Rsp uint64 + Ss uint64 + Fs_base uint64 + Gs_base uint64 + Ds uint64 + Es uint64 + Fs uint64 + Gs uint64 +} + +// PtraceGetRegsAmd64 fetches the registers used by amd64 binaries. +func PtraceGetRegsAmd64(pid int, regsout *PtraceRegsAmd64) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegsAmd64 sets the registers used by amd64 binaries. +func PtraceSetRegsAmd64(pid int, regs *PtraceRegsAmd64) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} diff --git a/vendor/golang.org/x/sys/unix/zptracearm_linux.go b/vendor/golang.org/x/sys/unix/zptracearm_linux.go new file mode 100644 index 000000000..faf23bbed --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zptracearm_linux.go @@ -0,0 +1,41 @@ +// Code generated by linux/mkall.go generatePtracePair(arm, arm64). DO NOT EDIT. + +// +build linux +// +build arm arm64 + +package unix + +import "unsafe" + +// PtraceRegsArm is the registers used by arm binaries. +type PtraceRegsArm struct { + Uregs [18]uint32 +} + +// PtraceGetRegsArm fetches the registers used by arm binaries. +func PtraceGetRegsArm(pid int, regsout *PtraceRegsArm) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegsArm sets the registers used by arm binaries. +func PtraceSetRegsArm(pid int, regs *PtraceRegsArm) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} + +// PtraceRegsArm64 is the registers used by arm64 binaries. +type PtraceRegsArm64 struct { + Regs [31]uint64 + Sp uint64 + Pc uint64 + Pstate uint64 +} + +// PtraceGetRegsArm64 fetches the registers used by arm64 binaries. +func PtraceGetRegsArm64(pid int, regsout *PtraceRegsArm64) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegsArm64 sets the registers used by arm64 binaries. +func PtraceSetRegsArm64(pid int, regs *PtraceRegsArm64) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} diff --git a/vendor/golang.org/x/sys/unix/zptracemips_linux.go b/vendor/golang.org/x/sys/unix/zptracemips_linux.go new file mode 100644 index 000000000..c431131e6 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zptracemips_linux.go @@ -0,0 +1,50 @@ +// Code generated by linux/mkall.go generatePtracePair(mips, mips64). DO NOT EDIT. + +// +build linux +// +build mips mips64 + +package unix + +import "unsafe" + +// PtraceRegsMips is the registers used by mips binaries. +type PtraceRegsMips struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +// PtraceGetRegsMips fetches the registers used by mips binaries. +func PtraceGetRegsMips(pid int, regsout *PtraceRegsMips) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegsMips sets the registers used by mips binaries. +func PtraceSetRegsMips(pid int, regs *PtraceRegsMips) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} + +// PtraceRegsMips64 is the registers used by mips64 binaries. +type PtraceRegsMips64 struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +// PtraceGetRegsMips64 fetches the registers used by mips64 binaries. +func PtraceGetRegsMips64(pid int, regsout *PtraceRegsMips64) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegsMips64 sets the registers used by mips64 binaries. +func PtraceSetRegsMips64(pid int, regs *PtraceRegsMips64) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} diff --git a/vendor/golang.org/x/sys/unix/zptracemipsle_linux.go b/vendor/golang.org/x/sys/unix/zptracemipsle_linux.go new file mode 100644 index 000000000..dc3d6d373 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zptracemipsle_linux.go @@ -0,0 +1,50 @@ +// Code generated by linux/mkall.go generatePtracePair(mipsle, mips64le). DO NOT EDIT. + +// +build linux +// +build mipsle mips64le + +package unix + +import "unsafe" + +// PtraceRegsMipsle is the registers used by mipsle binaries. +type PtraceRegsMipsle struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +// PtraceGetRegsMipsle fetches the registers used by mipsle binaries. +func PtraceGetRegsMipsle(pid int, regsout *PtraceRegsMipsle) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegsMipsle sets the registers used by mipsle binaries. +func PtraceSetRegsMipsle(pid int, regs *PtraceRegsMipsle) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} + +// PtraceRegsMips64le is the registers used by mips64le binaries. +type PtraceRegsMips64le struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +// PtraceGetRegsMips64le fetches the registers used by mips64le binaries. +func PtraceGetRegsMips64le(pid int, regsout *PtraceRegsMips64le) error { + return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) +} + +// PtraceSetRegsMips64le sets the registers used by mips64le binaries. +func PtraceSetRegsMips64le(pid int, regs *PtraceRegsMips64le) error { + return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go new file mode 100644 index 000000000..79f6e0566 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go @@ -0,0 +1,1450 @@ +// go run mksyscall_aix_ppc.go -aix -tags aix,ppc syscall_aix.go syscall_aix_ppc.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build aix,ppc + +package unix + +/* +#include +#include +int utimes(uintptr_t, uintptr_t); +int utimensat(int, uintptr_t, uintptr_t, int); +int getcwd(uintptr_t, size_t); +int accept(int, uintptr_t, uintptr_t); +int getdirent(int, uintptr_t, size_t); +int wait4(int, uintptr_t, int, uintptr_t); +int ioctl(int, int, uintptr_t); +int fcntl(uintptr_t, int, uintptr_t); +int acct(uintptr_t); +int chdir(uintptr_t); +int chroot(uintptr_t); +int close(int); +int dup(int); +void exit(int); +int faccessat(int, uintptr_t, unsigned int, int); +int fchdir(int); +int fchmod(int, unsigned int); +int fchmodat(int, uintptr_t, unsigned int, int); +int fchownat(int, uintptr_t, int, int, int); +int fdatasync(int); +int fsync(int); +int getpgid(int); +int getpgrp(); +int getpid(); +int getppid(); +int getpriority(int, int); +int getrusage(int, uintptr_t); +int getsid(int); +int kill(int, int); +int syslog(int, uintptr_t, size_t); +int mkdir(int, uintptr_t, unsigned int); +int mkdirat(int, uintptr_t, unsigned int); +int mkfifo(uintptr_t, unsigned int); +int mknod(uintptr_t, unsigned int, int); +int mknodat(int, uintptr_t, unsigned int, int); +int nanosleep(uintptr_t, uintptr_t); +int open64(uintptr_t, int, unsigned int); +int openat(int, uintptr_t, int, unsigned int); +int read(int, uintptr_t, size_t); +int readlink(uintptr_t, uintptr_t, size_t); +int renameat(int, uintptr_t, int, uintptr_t); +int setdomainname(uintptr_t, size_t); +int sethostname(uintptr_t, size_t); +int setpgid(int, int); +int setsid(); +int settimeofday(uintptr_t); +int setuid(int); +int setgid(int); +int setpriority(int, int, int); +int statx(int, uintptr_t, int, int, uintptr_t); +int sync(); +uintptr_t times(uintptr_t); +int umask(int); +int uname(uintptr_t); +int unlink(uintptr_t); +int unlinkat(int, uintptr_t, int); +int ustat(int, uintptr_t); +int write(int, uintptr_t, size_t); +int dup2(int, int); +int posix_fadvise64(int, long long, long long, int); +int fchown(int, int, int); +int fstat(int, uintptr_t); +int fstatat(int, uintptr_t, uintptr_t, int); +int fstatfs(int, uintptr_t); +int ftruncate(int, long long); +int getegid(); +int geteuid(); +int getgid(); +int getuid(); +int lchown(uintptr_t, int, int); +int listen(int, int); +int lstat(uintptr_t, uintptr_t); +int pause(); +int pread64(int, uintptr_t, size_t, long long); +int pwrite64(int, uintptr_t, size_t, long long); +int pselect(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t); +int setregid(int, int); +int setreuid(int, int); +int shutdown(int, int); +long long splice(int, uintptr_t, int, uintptr_t, int, int); +int stat(uintptr_t, uintptr_t); +int statfs(uintptr_t, uintptr_t); +int truncate(uintptr_t, long long); +int bind(int, uintptr_t, uintptr_t); +int connect(int, uintptr_t, uintptr_t); +int getgroups(int, uintptr_t); +int setgroups(int, uintptr_t); +int getsockopt(int, int, int, uintptr_t, uintptr_t); +int setsockopt(int, int, int, uintptr_t, uintptr_t); +int socket(int, int, int); +int socketpair(int, int, int, uintptr_t); +int getpeername(int, uintptr_t, uintptr_t); +int getsockname(int, uintptr_t, uintptr_t); +int recvfrom(int, uintptr_t, size_t, int, uintptr_t, uintptr_t); +int sendto(int, uintptr_t, size_t, int, uintptr_t, uintptr_t); +int recvmsg(int, uintptr_t, int); +int sendmsg(int, uintptr_t, int); +int munmap(uintptr_t, uintptr_t); +int madvise(uintptr_t, size_t, int); +int mprotect(uintptr_t, size_t, int); +int mlock(uintptr_t, size_t); +int mlockall(int); +int msync(uintptr_t, size_t, int); +int munlock(uintptr_t, size_t); +int munlockall(); +int pipe(uintptr_t); +int poll(uintptr_t, int, int); +int gettimeofday(uintptr_t, uintptr_t); +int time(uintptr_t); +int utime(uintptr_t, uintptr_t); +int getrlimit64(int, uintptr_t); +int setrlimit64(int, uintptr_t); +long long lseek64(int, long long, int); +uintptr_t mmap(uintptr_t, uintptr_t, int, int, int, long long); + +*/ +import "C" +import ( + "unsafe" +) + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.utimes(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(times)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flag int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.utimensat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(times))), C.int(flag)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getcwd(buf []byte) (err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + var _p1 int + _p1 = len(buf) + r0, er := C.getcwd(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, er := C.accept(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(rsa))), C.uintptr_t(uintptr(unsafe.Pointer(addrlen)))) + fd = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirent(fd int, buf []byte) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + var _p1 int + _p1 = len(buf) + r0, er := C.getdirent(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t, err error) { + r0, er := C.wait4(C.int(pid), C.uintptr_t(uintptr(unsafe.Pointer(status))), C.int(options), C.uintptr_t(uintptr(unsafe.Pointer(rusage)))) + wpid = Pid_t(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + r0, er := C.ioctl(C.int(fd), C.int(req), C.uintptr_t(arg)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FcntlInt(fd uintptr, cmd int, arg int) (r int, err error) { + r0, er := C.fcntl(C.uintptr_t(fd), C.int(cmd), C.uintptr_t(arg)) + r = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) (err error) { + r0, er := C.fcntl(C.uintptr_t(fd), C.int(cmd), C.uintptr_t(uintptr(unsafe.Pointer(lk)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, er := C.fcntl(C.uintptr_t(fd), C.int(cmd), C.uintptr_t(arg)) + val = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.acct(C.uintptr_t(_p0)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.chdir(C.uintptr_t(_p0)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.chroot(C.uintptr_t(_p0)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + r0, er := C.close(C.int(fd)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, er := C.dup(C.int(oldfd)) + fd = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + C.exit(C.int(code)) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.faccessat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(flags)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + r0, er := C.fchdir(C.int(fd)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + r0, er := C.fchmod(C.int(fd), C.uint(mode)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.fchmodat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(flags)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.fchownat(C.int(dirfd), C.uintptr_t(_p0), C.int(uid), C.int(gid), C.int(flags)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + r0, er := C.fdatasync(C.int(fd)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + r0, er := C.fsync(C.int(fd)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, er := C.getpgid(C.int(pid)) + pgid = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pid int) { + r0, _ := C.getpgrp() + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := C.getpid() + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := C.getppid() + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, er := C.getpriority(C.int(which), C.int(who)) + prio = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + r0, er := C.getrusage(C.int(who), C.uintptr_t(uintptr(unsafe.Pointer(rusage)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, er := C.getsid(C.int(pid)) + sid = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig Signal) (err error) { + r0, er := C.kill(C.int(pid), C.int(sig)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + var _p1 int + _p1 = len(buf) + r0, er := C.syslog(C.int(typ), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(dirfd int, path string, mode uint32) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.mkdir(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.mkdirat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.mkfifo(C.uintptr_t(_p0), C.uint(mode)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.mknod(C.uintptr_t(_p0), C.uint(mode), C.int(dev)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.mknodat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(dev)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + r0, er := C.nanosleep(C.uintptr_t(uintptr(unsafe.Pointer(time))), C.uintptr_t(uintptr(unsafe.Pointer(leftover)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.open64(C.uintptr_t(_p0), C.int(mode), C.uint(perm)) + fd = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.openat(C.int(dirfd), C.uintptr_t(_p0), C.int(flags), C.uint(mode)) + fd = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + var _p1 int + _p1 = len(p) + r0, er := C.read(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + var _p1 *byte + if len(buf) > 0 { + _p1 = &buf[0] + } + var _p2 int + _p2 = len(buf) + r0, er := C.readlink(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(_p1))), C.size_t(_p2)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(oldpath))) + _p1 := uintptr(unsafe.Pointer(C.CString(newpath))) + r0, er := C.renameat(C.int(olddirfd), C.uintptr_t(_p0), C.int(newdirfd), C.uintptr_t(_p1)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + var _p1 int + _p1 = len(p) + r0, er := C.setdomainname(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + var _p1 int + _p1 = len(p) + r0, er := C.sethostname(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + r0, er := C.setpgid(C.int(pid), C.int(pgid)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, er := C.setsid() + pid = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + r0, er := C.settimeofday(C.uintptr_t(uintptr(unsafe.Pointer(tv)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + r0, er := C.setuid(C.int(uid)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(uid int) (err error) { + r0, er := C.setgid(C.int(uid)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + r0, er := C.setpriority(C.int(which), C.int(who), C.int(prio)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.statx(C.int(dirfd), C.uintptr_t(_p0), C.int(flags), C.int(mask), C.uintptr_t(uintptr(unsafe.Pointer(stat)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + C.sync() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, er := C.times(C.uintptr_t(uintptr(unsafe.Pointer(tms)))) + ticks = uintptr(r0) + if uintptr(r0) == ^uintptr(0) && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := C.umask(C.int(mask)) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + r0, er := C.uname(C.uintptr_t(uintptr(unsafe.Pointer(buf)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.unlink(C.uintptr_t(_p0)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.unlinkat(C.int(dirfd), C.uintptr_t(_p0), C.int(flags)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + r0, er := C.ustat(C.int(dev), C.uintptr_t(uintptr(unsafe.Pointer(ubuf)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + var _p1 int + _p1 = len(p) + r0, er := C.write(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, er := C.read(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(p))), C.size_t(np)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, er := C.write(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(p))), C.size_t(np)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + r0, er := C.dup2(C.int(oldfd), C.int(newfd)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + r0, er := C.posix_fadvise64(C.int(fd), C.longlong(offset), C.longlong(length), C.int(advice)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + r0, er := C.fchown(C.int(fd), C.int(uid), C.int(gid)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + r0, er := C.fstat(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(stat)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.fstatat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(stat))), C.int(flags)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + r0, er := C.fstatfs(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(buf)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + r0, er := C.ftruncate(C.int(fd), C.longlong(length)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := C.getegid() + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := C.geteuid() + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := C.getgid() + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := C.getuid() + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.lchown(C.uintptr_t(_p0), C.int(uid), C.int(gid)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + r0, er := C.listen(C.int(s), C.int(n)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.lstat(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(stat)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + r0, er := C.pause() + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + var _p1 int + _p1 = len(p) + r0, er := C.pread64(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.longlong(offset)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + var _p1 int + _p1 = len(p) + r0, er := C.pwrite64(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.longlong(offset)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, er := C.pselect(C.int(nfd), C.uintptr_t(uintptr(unsafe.Pointer(r))), C.uintptr_t(uintptr(unsafe.Pointer(w))), C.uintptr_t(uintptr(unsafe.Pointer(e))), C.uintptr_t(uintptr(unsafe.Pointer(timeout))), C.uintptr_t(uintptr(unsafe.Pointer(sigmask)))) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + r0, er := C.setregid(C.int(rgid), C.int(egid)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + r0, er := C.setreuid(C.int(ruid), C.int(euid)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + r0, er := C.shutdown(C.int(fd), C.int(how)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, er := C.splice(C.int(rfd), C.uintptr_t(uintptr(unsafe.Pointer(roff))), C.int(wfd), C.uintptr_t(uintptr(unsafe.Pointer(woff))), C.int(len), C.int(flags)) + n = int64(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.stat(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(stat)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.statfs(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(buf)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.truncate(C.uintptr_t(_p0), C.longlong(length)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + r0, er := C.bind(C.int(s), C.uintptr_t(uintptr(addr)), C.uintptr_t(uintptr(addrlen))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + r0, er := C.connect(C.int(s), C.uintptr_t(uintptr(addr)), C.uintptr_t(uintptr(addrlen))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, er := C.getgroups(C.int(n), C.uintptr_t(uintptr(unsafe.Pointer(list)))) + nn = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + r0, er := C.setgroups(C.int(n), C.uintptr_t(uintptr(unsafe.Pointer(list)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + r0, er := C.getsockopt(C.int(s), C.int(level), C.int(name), C.uintptr_t(uintptr(val)), C.uintptr_t(uintptr(unsafe.Pointer(vallen)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + r0, er := C.setsockopt(C.int(s), C.int(level), C.int(name), C.uintptr_t(uintptr(val)), C.uintptr_t(vallen)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, er := C.socket(C.int(domain), C.int(typ), C.int(proto)) + fd = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + r0, er := C.socketpair(C.int(domain), C.int(typ), C.int(proto), C.uintptr_t(uintptr(unsafe.Pointer(fd)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + r0, er := C.getpeername(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(rsa))), C.uintptr_t(uintptr(unsafe.Pointer(addrlen)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + r0, er := C.getsockname(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(rsa))), C.uintptr_t(uintptr(unsafe.Pointer(addrlen)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + var _p1 int + _p1 = len(p) + r0, er := C.recvfrom(C.int(fd), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(flags), C.uintptr_t(uintptr(unsafe.Pointer(from))), C.uintptr_t(uintptr(unsafe.Pointer(fromlen)))) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + var _p1 int + _p1 = len(buf) + r0, er := C.sendto(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(flags), C.uintptr_t(uintptr(to)), C.uintptr_t(uintptr(addrlen))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, er := C.recvmsg(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(msg))), C.int(flags)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, er := C.sendmsg(C.int(s), C.uintptr_t(uintptr(unsafe.Pointer(msg))), C.int(flags)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + r0, er := C.munmap(C.uintptr_t(addr), C.uintptr_t(length)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + var _p1 int + _p1 = len(b) + r0, er := C.madvise(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(advice)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + var _p1 int + _p1 = len(b) + r0, er := C.mprotect(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(prot)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + var _p1 int + _p1 = len(b) + r0, er := C.mlock(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + r0, er := C.mlockall(C.int(flags)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + var _p1 int + _p1 = len(b) + r0, er := C.msync(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1), C.int(flags)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + var _p1 int + _p1 = len(b) + r0, er := C.munlock(C.uintptr_t(uintptr(unsafe.Pointer(_p0))), C.size_t(_p1)) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + r0, er := C.munlockall() + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + r0, er := C.pipe(C.uintptr_t(uintptr(unsafe.Pointer(p)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, er := C.poll(C.uintptr_t(uintptr(unsafe.Pointer(fds))), C.int(nfds), C.int(timeout)) + n = int(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tv *Timeval, tzp *Timezone) (err error) { + r0, er := C.gettimeofday(C.uintptr_t(uintptr(unsafe.Pointer(tv))), C.uintptr_t(uintptr(unsafe.Pointer(tzp)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, er := C.time(C.uintptr_t(uintptr(unsafe.Pointer(t)))) + tt = Time_t(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.utime(C.uintptr_t(_p0), C.uintptr_t(uintptr(unsafe.Pointer(buf)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + r0, er := C.getrlimit64(C.int(resource), C.uintptr_t(uintptr(unsafe.Pointer(rlim)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + r0, er := C.setrlimit64(C.int(resource), C.uintptr_t(uintptr(unsafe.Pointer(rlim)))) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, er := C.lseek64(C.int(fd), C.longlong(offset), C.int(whence)) + off = int64(r0) + if r0 == -1 && er != nil { + err = er + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, er := C.mmap(C.uintptr_t(addr), C.uintptr_t(length), C.int(prot), C.int(flags), C.int(fd), C.longlong(offset)) + xaddr = uintptr(r0) + if uintptr(r0) == ^uintptr(0) && er != nil { + err = er + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go new file mode 100644 index 000000000..e645a05cb --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go @@ -0,0 +1,1408 @@ +// go run mksyscall_aix_ppc64.go -aix -tags aix,ppc64 syscall_aix.go syscall_aix_ppc64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build aix,ppc64 + +package unix + +import ( + "unsafe" +) + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callutimes(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flag int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callutimensat(dirfd, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), flag) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getcwd(buf []byte) (err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + _, e1 := callgetcwd(uintptr(unsafe.Pointer(_p0)), len(buf)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, e1 := callaccept(s, uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirent(fd int, buf []byte) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + r0, e1 := callgetdirent(fd, uintptr(unsafe.Pointer(_p0)), len(buf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t, err error) { + r0, e1 := callwait4(int(pid), uintptr(unsafe.Pointer(status)), options, uintptr(unsafe.Pointer(rusage))) + wpid = Pid_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, e1 := callioctl(fd, int(req), arg) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FcntlInt(fd uintptr, cmd int, arg int) (r int, err error) { + r0, e1 := callfcntl(fd, cmd, uintptr(arg)) + r = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) (err error) { + _, e1 := callfcntl(fd, cmd, uintptr(unsafe.Pointer(lk))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, e1 := callfcntl(uintptr(fd), cmd, uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callacct(uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callchdir(uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callchroot(uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, e1 := callclose(fd) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, e1 := calldup(oldfd) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + callexit(code) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callfaccessat(dirfd, uintptr(unsafe.Pointer(_p0)), mode, flags) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, e1 := callfchdir(fd) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, e1 := callfchmod(fd, mode) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callfchmodat(dirfd, uintptr(unsafe.Pointer(_p0)), mode, flags) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callfchownat(dirfd, uintptr(unsafe.Pointer(_p0)), uid, gid, flags) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, e1 := callfdatasync(fd) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, e1 := callfsync(fd) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, e1 := callgetpgid(pid) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pid int) { + r0, _ := callgetpgrp() + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := callgetpid() + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := callgetppid() + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, e1 := callgetpriority(which, who) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, e1 := callgetrusage(who, uintptr(unsafe.Pointer(rusage))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, e1 := callgetsid(pid) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig Signal) (err error) { + _, e1 := callkill(pid, int(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + r0, e1 := callsyslog(typ, uintptr(unsafe.Pointer(_p0)), len(buf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callmkdir(dirfd, uintptr(unsafe.Pointer(_p0)), mode) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callmkdirat(dirfd, uintptr(unsafe.Pointer(_p0)), mode) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callmkfifo(uintptr(unsafe.Pointer(_p0)), mode) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callmknod(uintptr(unsafe.Pointer(_p0)), mode, dev) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callmknodat(dirfd, uintptr(unsafe.Pointer(_p0)), mode, dev) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, e1 := callnanosleep(uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, e1 := callopen64(uintptr(unsafe.Pointer(_p0)), mode, perm) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, e1 := callopenat(dirfd, uintptr(unsafe.Pointer(_p0)), flags, mode) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, e1 := callread(fd, uintptr(unsafe.Pointer(_p0)), len(p)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + if len(buf) > 0 { + _p1 = &buf[0] + } + r0, e1 := callreadlink(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), len(buf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, e1 := callrenameat(olddirfd, uintptr(unsafe.Pointer(_p0)), newdirfd, uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + _, e1 := callsetdomainname(uintptr(unsafe.Pointer(_p0)), len(p)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + _, e1 := callsethostname(uintptr(unsafe.Pointer(_p0)), len(p)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, e1 := callsetpgid(pid, pgid) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, e1 := callsetsid() + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, e1 := callsettimeofday(uintptr(unsafe.Pointer(tv))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, e1 := callsetuid(uid) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(uid int) (err error) { + _, e1 := callsetgid(uid) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, e1 := callsetpriority(which, who, prio) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callstatx(dirfd, uintptr(unsafe.Pointer(_p0)), flags, mask, uintptr(unsafe.Pointer(stat))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + callsync() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, e1 := calltimes(uintptr(unsafe.Pointer(tms))) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := callumask(mask) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, e1 := calluname(uintptr(unsafe.Pointer(buf))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callunlink(uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callunlinkat(dirfd, uintptr(unsafe.Pointer(_p0)), flags) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, e1 := callustat(dev, uintptr(unsafe.Pointer(ubuf))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, e1 := callwrite(fd, uintptr(unsafe.Pointer(_p0)), len(p)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, e1 := callread(fd, uintptr(unsafe.Pointer(p)), np) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, e1 := callwrite(fd, uintptr(unsafe.Pointer(p)), np) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, e1 := calldup2(oldfd, newfd) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, e1 := callposix_fadvise64(fd, offset, length, advice) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, e1 := callfchown(fd, uid, gid) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, e1 := callfstat(fd, uintptr(unsafe.Pointer(stat))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callfstatat(dirfd, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), flags) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, e1 := callfstatfs(fd, uintptr(unsafe.Pointer(buf))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, e1 := callftruncate(fd, length) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := callgetegid() + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := callgeteuid() + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := callgetgid() + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := callgetuid() + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := calllchown(uintptr(unsafe.Pointer(_p0)), uid, gid) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, e1 := calllisten(s, n) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := calllstat(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, e1 := callpause() + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, e1 := callpread64(fd, uintptr(unsafe.Pointer(_p0)), len(p), offset) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, e1 := callpwrite64(fd, uintptr(unsafe.Pointer(_p0)), len(p), offset) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, e1 := callpselect(nfd, uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, e1 := callsetregid(rgid, egid) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, e1 := callsetreuid(ruid, euid) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, e1 := callshutdown(fd, how) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, e1 := callsplice(rfd, uintptr(unsafe.Pointer(roff)), wfd, uintptr(unsafe.Pointer(woff)), len, flags) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callstat(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callstatfs(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := calltruncate(uintptr(unsafe.Pointer(_p0)), length) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, e1 := callbind(s, uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, e1 := callconnect(s, uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, e1 := callgetgroups(n, uintptr(unsafe.Pointer(list))) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, e1 := callsetgroups(n, uintptr(unsafe.Pointer(list))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, e1 := callgetsockopt(s, level, name, uintptr(val), uintptr(unsafe.Pointer(vallen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, e1 := callsetsockopt(s, level, name, uintptr(val), vallen) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, e1 := callsocket(domain, typ, proto) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, e1 := callsocketpair(domain, typ, proto, uintptr(unsafe.Pointer(fd))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, e1 := callgetpeername(fd, uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, e1 := callgetsockname(fd, uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, e1 := callrecvfrom(fd, uintptr(unsafe.Pointer(_p0)), len(p), flags, uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + _, e1 := callsendto(s, uintptr(unsafe.Pointer(_p0)), len(buf), flags, uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, e1 := callrecvmsg(s, uintptr(unsafe.Pointer(msg)), flags) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, e1 := callsendmsg(s, uintptr(unsafe.Pointer(msg)), flags) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, e1 := callmunmap(addr, length) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, e1 := callmadvise(uintptr(unsafe.Pointer(_p0)), len(b), advice) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, e1 := callmprotect(uintptr(unsafe.Pointer(_p0)), len(b), prot) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, e1 := callmlock(uintptr(unsafe.Pointer(_p0)), len(b)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, e1 := callmlockall(flags) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, e1 := callmsync(uintptr(unsafe.Pointer(_p0)), len(b), flags) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, e1 := callmunlock(uintptr(unsafe.Pointer(_p0)), len(b)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, e1 := callmunlockall() + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, e1 := callpipe(uintptr(unsafe.Pointer(p))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, e1 := callpoll(uintptr(unsafe.Pointer(fds)), nfds, timeout) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tv *Timeval, tzp *Timezone) (err error) { + _, e1 := callgettimeofday(uintptr(unsafe.Pointer(tv)), uintptr(unsafe.Pointer(tzp))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, e1 := calltime(uintptr(unsafe.Pointer(t))) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, e1 := callutime(uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, e1 := callgetrlimit(resource, uintptr(unsafe.Pointer(rlim))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, e1 := callsetrlimit(resource, uintptr(unsafe.Pointer(rlim))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, e1 := calllseek(fd, offset, whence) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, e1 := callmmap64(addr, length, prot, flags, fd, offset) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go new file mode 100644 index 000000000..0b8eb7210 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go @@ -0,0 +1,1162 @@ +// go run mksyscall_aix_ppc64.go -aix -tags aix,ppc64 syscall_aix.go syscall_aix_ppc64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build aix,ppc64 +// +build !gccgo + +package unix + +import ( + "unsafe" +) + +//go:cgo_import_dynamic libc_utimes utimes "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_utimensat utimensat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getcwd getcwd "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_accept accept "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getdirent getdirent "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_wait4 wait4 "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_ioctl ioctl "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fcntl fcntl "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_acct acct "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_chdir chdir "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_chroot chroot "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_close close "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_dup dup "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_exit exit "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_faccessat faccessat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fchdir fchdir "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fchmod fchmod "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fchmodat fchmodat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fchownat fchownat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fdatasync fdatasync "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fsync fsync "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getpgid getpgid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getpgrp getpgrp "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getpid getpid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getppid getppid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getpriority getpriority "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getrusage getrusage "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getsid getsid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_kill kill "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_syslog syslog "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mkdir mkdir "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mkdirat mkdirat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mkfifo mkfifo "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mknod mknod "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mknodat mknodat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_nanosleep nanosleep "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_open64 open64 "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_openat openat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_read read "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_readlink readlink "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_renameat renameat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setdomainname setdomainname "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_sethostname sethostname "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setpgid setpgid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setsid setsid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_settimeofday settimeofday "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setuid setuid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setgid setgid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setpriority setpriority "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_statx statx "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_sync sync "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_times times "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_umask umask "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_uname uname "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_unlink unlink "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_unlinkat unlinkat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_ustat ustat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_write write "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_dup2 dup2 "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_posix_fadvise64 posix_fadvise64 "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fchown fchown "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fstat fstat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fstatat fstatat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_fstatfs fstatfs "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_ftruncate ftruncate "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getegid getegid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_geteuid geteuid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getgid getgid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getuid getuid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_lchown lchown "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_listen listen "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_lstat lstat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_pause pause "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_pread64 pread64 "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_pwrite64 pwrite64 "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_pselect pselect "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setregid setregid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setreuid setreuid "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_shutdown shutdown "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_splice splice "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_stat stat "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_statfs statfs "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_truncate truncate "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_bind bind "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_connect connect "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getgroups getgroups "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setgroups setgroups "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getsockopt getsockopt "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setsockopt setsockopt "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_socket socket "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_socketpair socketpair "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getpeername getpeername "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getsockname getsockname "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_recvfrom recvfrom "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_sendto sendto "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_recvmsg recvmsg "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_sendmsg sendmsg "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_munmap munmap "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_madvise madvise "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mprotect mprotect "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mlock mlock "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mlockall mlockall "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_msync msync "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_munlock munlock "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_munlockall munlockall "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_pipe pipe "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_poll poll "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_gettimeofday gettimeofday "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_time time "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_utime utime "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_getrlimit getrlimit "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_lseek lseek "libc.a/shr_64.o" +//go:cgo_import_dynamic libc_mmap64 mmap64 "libc.a/shr_64.o" + +//go:linkname libc_utimes libc_utimes +//go:linkname libc_utimensat libc_utimensat +//go:linkname libc_getcwd libc_getcwd +//go:linkname libc_accept libc_accept +//go:linkname libc_getdirent libc_getdirent +//go:linkname libc_wait4 libc_wait4 +//go:linkname libc_ioctl libc_ioctl +//go:linkname libc_fcntl libc_fcntl +//go:linkname libc_acct libc_acct +//go:linkname libc_chdir libc_chdir +//go:linkname libc_chroot libc_chroot +//go:linkname libc_close libc_close +//go:linkname libc_dup libc_dup +//go:linkname libc_exit libc_exit +//go:linkname libc_faccessat libc_faccessat +//go:linkname libc_fchdir libc_fchdir +//go:linkname libc_fchmod libc_fchmod +//go:linkname libc_fchmodat libc_fchmodat +//go:linkname libc_fchownat libc_fchownat +//go:linkname libc_fdatasync libc_fdatasync +//go:linkname libc_fsync libc_fsync +//go:linkname libc_getpgid libc_getpgid +//go:linkname libc_getpgrp libc_getpgrp +//go:linkname libc_getpid libc_getpid +//go:linkname libc_getppid libc_getppid +//go:linkname libc_getpriority libc_getpriority +//go:linkname libc_getrusage libc_getrusage +//go:linkname libc_getsid libc_getsid +//go:linkname libc_kill libc_kill +//go:linkname libc_syslog libc_syslog +//go:linkname libc_mkdir libc_mkdir +//go:linkname libc_mkdirat libc_mkdirat +//go:linkname libc_mkfifo libc_mkfifo +//go:linkname libc_mknod libc_mknod +//go:linkname libc_mknodat libc_mknodat +//go:linkname libc_nanosleep libc_nanosleep +//go:linkname libc_open64 libc_open64 +//go:linkname libc_openat libc_openat +//go:linkname libc_read libc_read +//go:linkname libc_readlink libc_readlink +//go:linkname libc_renameat libc_renameat +//go:linkname libc_setdomainname libc_setdomainname +//go:linkname libc_sethostname libc_sethostname +//go:linkname libc_setpgid libc_setpgid +//go:linkname libc_setsid libc_setsid +//go:linkname libc_settimeofday libc_settimeofday +//go:linkname libc_setuid libc_setuid +//go:linkname libc_setgid libc_setgid +//go:linkname libc_setpriority libc_setpriority +//go:linkname libc_statx libc_statx +//go:linkname libc_sync libc_sync +//go:linkname libc_times libc_times +//go:linkname libc_umask libc_umask +//go:linkname libc_uname libc_uname +//go:linkname libc_unlink libc_unlink +//go:linkname libc_unlinkat libc_unlinkat +//go:linkname libc_ustat libc_ustat +//go:linkname libc_write libc_write +//go:linkname libc_dup2 libc_dup2 +//go:linkname libc_posix_fadvise64 libc_posix_fadvise64 +//go:linkname libc_fchown libc_fchown +//go:linkname libc_fstat libc_fstat +//go:linkname libc_fstatat libc_fstatat +//go:linkname libc_fstatfs libc_fstatfs +//go:linkname libc_ftruncate libc_ftruncate +//go:linkname libc_getegid libc_getegid +//go:linkname libc_geteuid libc_geteuid +//go:linkname libc_getgid libc_getgid +//go:linkname libc_getuid libc_getuid +//go:linkname libc_lchown libc_lchown +//go:linkname libc_listen libc_listen +//go:linkname libc_lstat libc_lstat +//go:linkname libc_pause libc_pause +//go:linkname libc_pread64 libc_pread64 +//go:linkname libc_pwrite64 libc_pwrite64 +//go:linkname libc_pselect libc_pselect +//go:linkname libc_setregid libc_setregid +//go:linkname libc_setreuid libc_setreuid +//go:linkname libc_shutdown libc_shutdown +//go:linkname libc_splice libc_splice +//go:linkname libc_stat libc_stat +//go:linkname libc_statfs libc_statfs +//go:linkname libc_truncate libc_truncate +//go:linkname libc_bind libc_bind +//go:linkname libc_connect libc_connect +//go:linkname libc_getgroups libc_getgroups +//go:linkname libc_setgroups libc_setgroups +//go:linkname libc_getsockopt libc_getsockopt +//go:linkname libc_setsockopt libc_setsockopt +//go:linkname libc_socket libc_socket +//go:linkname libc_socketpair libc_socketpair +//go:linkname libc_getpeername libc_getpeername +//go:linkname libc_getsockname libc_getsockname +//go:linkname libc_recvfrom libc_recvfrom +//go:linkname libc_sendto libc_sendto +//go:linkname libc_recvmsg libc_recvmsg +//go:linkname libc_sendmsg libc_sendmsg +//go:linkname libc_munmap libc_munmap +//go:linkname libc_madvise libc_madvise +//go:linkname libc_mprotect libc_mprotect +//go:linkname libc_mlock libc_mlock +//go:linkname libc_mlockall libc_mlockall +//go:linkname libc_msync libc_msync +//go:linkname libc_munlock libc_munlock +//go:linkname libc_munlockall libc_munlockall +//go:linkname libc_pipe libc_pipe +//go:linkname libc_poll libc_poll +//go:linkname libc_gettimeofday libc_gettimeofday +//go:linkname libc_time libc_time +//go:linkname libc_utime libc_utime +//go:linkname libc_getrlimit libc_getrlimit +//go:linkname libc_setrlimit libc_setrlimit +//go:linkname libc_lseek libc_lseek +//go:linkname libc_mmap64 libc_mmap64 + +type syscallFunc uintptr + +var ( + libc_utimes, + libc_utimensat, + libc_getcwd, + libc_accept, + libc_getdirent, + libc_wait4, + libc_ioctl, + libc_fcntl, + libc_acct, + libc_chdir, + libc_chroot, + libc_close, + libc_dup, + libc_exit, + libc_faccessat, + libc_fchdir, + libc_fchmod, + libc_fchmodat, + libc_fchownat, + libc_fdatasync, + libc_fsync, + libc_getpgid, + libc_getpgrp, + libc_getpid, + libc_getppid, + libc_getpriority, + libc_getrusage, + libc_getsid, + libc_kill, + libc_syslog, + libc_mkdir, + libc_mkdirat, + libc_mkfifo, + libc_mknod, + libc_mknodat, + libc_nanosleep, + libc_open64, + libc_openat, + libc_read, + libc_readlink, + libc_renameat, + libc_setdomainname, + libc_sethostname, + libc_setpgid, + libc_setsid, + libc_settimeofday, + libc_setuid, + libc_setgid, + libc_setpriority, + libc_statx, + libc_sync, + libc_times, + libc_umask, + libc_uname, + libc_unlink, + libc_unlinkat, + libc_ustat, + libc_write, + libc_dup2, + libc_posix_fadvise64, + libc_fchown, + libc_fstat, + libc_fstatat, + libc_fstatfs, + libc_ftruncate, + libc_getegid, + libc_geteuid, + libc_getgid, + libc_getuid, + libc_lchown, + libc_listen, + libc_lstat, + libc_pause, + libc_pread64, + libc_pwrite64, + libc_pselect, + libc_setregid, + libc_setreuid, + libc_shutdown, + libc_splice, + libc_stat, + libc_statfs, + libc_truncate, + libc_bind, + libc_connect, + libc_getgroups, + libc_setgroups, + libc_getsockopt, + libc_setsockopt, + libc_socket, + libc_socketpair, + libc_getpeername, + libc_getsockname, + libc_recvfrom, + libc_sendto, + libc_recvmsg, + libc_sendmsg, + libc_munmap, + libc_madvise, + libc_mprotect, + libc_mlock, + libc_mlockall, + libc_msync, + libc_munlock, + libc_munlockall, + libc_pipe, + libc_poll, + libc_gettimeofday, + libc_time, + libc_utime, + libc_getrlimit, + libc_setrlimit, + libc_lseek, + libc_mmap64 syscallFunc +) + +// Implemented in runtime/syscall_aix.go. +func rawSyscall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) +func syscall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callutimes(_p0 uintptr, times uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_utimes)), 2, _p0, times, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callutimensat(dirfd int, _p0 uintptr, times uintptr, flag int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_utimensat)), 4, uintptr(dirfd), _p0, times, uintptr(flag), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetcwd(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getcwd)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callaccept(s int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_accept)), 3, uintptr(s), rsa, addrlen, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetdirent(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getdirent)), 3, uintptr(fd), _p0, uintptr(_lenp0), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callwait4(pid int, status uintptr, options int, rusage uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_wait4)), 4, uintptr(pid), status, uintptr(options), rusage, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callioctl(fd int, req int, arg uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_ioctl)), 3, uintptr(fd), uintptr(req), arg, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfcntl(fd uintptr, cmd int, arg uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fcntl)), 3, fd, uintptr(cmd), arg, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callacct(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_acct)), 1, _p0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callchdir(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_chdir)), 1, _p0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callchroot(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_chroot)), 1, _p0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callclose(fd int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_close)), 1, uintptr(fd), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calldup(oldfd int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_dup)), 1, uintptr(oldfd), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callexit(code int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_exit)), 1, uintptr(code), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfaccessat(dirfd int, _p0 uintptr, mode uint32, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_faccessat)), 4, uintptr(dirfd), _p0, uintptr(mode), uintptr(flags), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchdir(fd int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchdir)), 1, uintptr(fd), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchmod(fd int, mode uint32) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchmod)), 2, uintptr(fd), uintptr(mode), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchmodat(dirfd int, _p0 uintptr, mode uint32, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchmodat)), 4, uintptr(dirfd), _p0, uintptr(mode), uintptr(flags), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchownat(dirfd int, _p0 uintptr, uid int, gid int, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchownat)), 5, uintptr(dirfd), _p0, uintptr(uid), uintptr(gid), uintptr(flags), 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfdatasync(fd int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fdatasync)), 1, uintptr(fd), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfsync(fd int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fsync)), 1, uintptr(fd), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpgid(pid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getpgid)), 1, uintptr(pid), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpgrp() (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getpgrp)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpid() (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getpid)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetppid() (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getppid)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpriority(which int, who int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getpriority)), 2, uintptr(which), uintptr(who), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetrusage(who int, rusage uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getrusage)), 2, uintptr(who), rusage, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsid(pid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getsid)), 1, uintptr(pid), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callkill(pid int, sig int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_kill)), 2, uintptr(pid), uintptr(sig), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsyslog(typ int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_syslog)), 3, uintptr(typ), _p0, uintptr(_lenp0), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmkdir(dirfd int, _p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mkdir)), 3, uintptr(dirfd), _p0, uintptr(mode), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmkdirat(dirfd int, _p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mkdirat)), 3, uintptr(dirfd), _p0, uintptr(mode), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmkfifo(_p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mkfifo)), 2, _p0, uintptr(mode), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmknod(_p0 uintptr, mode uint32, dev int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mknod)), 3, _p0, uintptr(mode), uintptr(dev), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmknodat(dirfd int, _p0 uintptr, mode uint32, dev int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mknodat)), 4, uintptr(dirfd), _p0, uintptr(mode), uintptr(dev), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callnanosleep(time uintptr, leftover uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_nanosleep)), 2, time, leftover, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callopen64(_p0 uintptr, mode int, perm uint32) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_open64)), 3, _p0, uintptr(mode), uintptr(perm), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callopenat(dirfd int, _p0 uintptr, flags int, mode uint32) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_openat)), 4, uintptr(dirfd), _p0, uintptr(flags), uintptr(mode), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callread(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_read)), 3, uintptr(fd), _p0, uintptr(_lenp0), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callreadlink(_p0 uintptr, _p1 uintptr, _lenp1 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_readlink)), 3, _p0, _p1, uintptr(_lenp1), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callrenameat(olddirfd int, _p0 uintptr, newdirfd int, _p1 uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_renameat)), 4, uintptr(olddirfd), _p0, uintptr(newdirfd), _p1, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetdomainname(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setdomainname)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsethostname(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_sethostname)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetpgid(pid int, pgid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setpgid)), 2, uintptr(pid), uintptr(pgid), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetsid() (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setsid)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsettimeofday(tv uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_settimeofday)), 1, tv, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetuid(uid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setuid)), 1, uintptr(uid), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetgid(uid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setgid)), 1, uintptr(uid), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetpriority(which int, who int, prio int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setpriority)), 3, uintptr(which), uintptr(who), uintptr(prio), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callstatx(dirfd int, _p0 uintptr, flags int, mask int, stat uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_statx)), 5, uintptr(dirfd), _p0, uintptr(flags), uintptr(mask), stat, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsync() (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_sync)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calltimes(tms uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_times)), 1, tms, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callumask(mask int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_umask)), 1, uintptr(mask), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calluname(buf uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_uname)), 1, buf, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callunlink(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_unlink)), 1, _p0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callunlinkat(dirfd int, _p0 uintptr, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_unlinkat)), 3, uintptr(dirfd), _p0, uintptr(flags), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callustat(dev int, ubuf uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_ustat)), 2, uintptr(dev), ubuf, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callwrite(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_write)), 3, uintptr(fd), _p0, uintptr(_lenp0), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calldup2(oldfd int, newfd int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_dup2)), 2, uintptr(oldfd), uintptr(newfd), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callposix_fadvise64(fd int, offset int64, length int64, advice int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_posix_fadvise64)), 4, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchown(fd int, uid int, gid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fchown)), 3, uintptr(fd), uintptr(uid), uintptr(gid), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfstat(fd int, stat uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fstat)), 2, uintptr(fd), stat, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfstatat(dirfd int, _p0 uintptr, stat uintptr, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fstatat)), 4, uintptr(dirfd), _p0, stat, uintptr(flags), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfstatfs(fd int, buf uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fstatfs)), 2, uintptr(fd), buf, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callftruncate(fd int, length int64) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_ftruncate)), 2, uintptr(fd), uintptr(length), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetegid() (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getegid)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgeteuid() (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_geteuid)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetgid() (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getgid)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetuid() (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getuid)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllchown(_p0 uintptr, uid int, gid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_lchown)), 3, _p0, uintptr(uid), uintptr(gid), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllisten(s int, n int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_listen)), 2, uintptr(s), uintptr(n), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllstat(_p0 uintptr, stat uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_lstat)), 2, _p0, stat, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpause() (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pause)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpread64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pread64)), 4, uintptr(fd), _p0, uintptr(_lenp0), uintptr(offset), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpwrite64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pwrite64)), 4, uintptr(fd), _p0, uintptr(_lenp0), uintptr(offset), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr, sigmask uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_pselect)), 6, uintptr(nfd), r, w, e, timeout, sigmask) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetregid(rgid int, egid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setregid)), 2, uintptr(rgid), uintptr(egid), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetreuid(ruid int, euid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setreuid)), 2, uintptr(ruid), uintptr(euid), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callshutdown(fd int, how int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_shutdown)), 2, uintptr(fd), uintptr(how), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsplice(rfd int, roff uintptr, wfd int, woff uintptr, len int, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_splice)), 6, uintptr(rfd), roff, uintptr(wfd), woff, uintptr(len), uintptr(flags)) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callstat(_p0 uintptr, stat uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_stat)), 2, _p0, stat, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callstatfs(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_statfs)), 2, _p0, buf, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calltruncate(_p0 uintptr, length int64) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_truncate)), 2, _p0, uintptr(length), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callbind(s int, addr uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_bind)), 3, uintptr(s), addr, addrlen, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callconnect(s int, addr uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_connect)), 3, uintptr(s), addr, addrlen, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetgroups(n int, list uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getgroups)), 2, uintptr(n), list, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetgroups(n int, list uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setgroups)), 2, uintptr(n), list, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsockopt(s int, level int, name int, val uintptr, vallen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_getsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), val, vallen, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetsockopt(s int, level int, name int, val uintptr, vallen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_setsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), val, vallen, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsocket(domain int, typ int, proto int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_socket)), 3, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsocketpair(domain int, typ int, proto int, fd uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_socketpair)), 4, uintptr(domain), uintptr(typ), uintptr(proto), fd, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpeername(fd int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getpeername)), 3, uintptr(fd), rsa, addrlen, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsockname(fd int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getsockname)), 3, uintptr(fd), rsa, addrlen, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callrecvfrom(fd int, _p0 uintptr, _lenp0 int, flags int, from uintptr, fromlen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_recvfrom)), 6, uintptr(fd), _p0, uintptr(_lenp0), uintptr(flags), from, fromlen) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsendto(s int, _p0 uintptr, _lenp0 int, flags int, to uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_sendto)), 6, uintptr(s), _p0, uintptr(_lenp0), uintptr(flags), to, addrlen) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callrecvmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_recvmsg)), 3, uintptr(s), msg, uintptr(flags), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsendmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_sendmsg)), 3, uintptr(s), msg, uintptr(flags), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmunmap(addr uintptr, length uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_munmap)), 2, addr, length, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmadvise(_p0 uintptr, _lenp0 int, advice int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_madvise)), 3, _p0, uintptr(_lenp0), uintptr(advice), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmprotect(_p0 uintptr, _lenp0 int, prot int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mprotect)), 3, _p0, uintptr(_lenp0), uintptr(prot), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmlock(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mlock)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmlockall(flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mlockall)), 1, uintptr(flags), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmsync(_p0 uintptr, _lenp0 int, flags int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_msync)), 3, _p0, uintptr(_lenp0), uintptr(flags), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmunlock(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_munlock)), 2, _p0, uintptr(_lenp0), 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmunlockall() (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_munlockall)), 0, 0, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpipe(p uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_pipe)), 1, p, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpoll(fds uintptr, nfds int, timeout int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_poll)), 3, fds, uintptr(nfds), uintptr(timeout), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgettimeofday(tv uintptr, tzp uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_gettimeofday)), 2, tv, tzp, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calltime(t uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_time)), 1, t, 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callutime(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_utime)), 2, _p0, buf, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getrlimit)), 2, uintptr(resource), rlim, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setrlimit)), 2, uintptr(resource), rlim, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllseek(fd int, offset int64, whence int) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_lseek)), 3, uintptr(fd), uintptr(offset), uintptr(whence), 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmmap64(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_mmap64)), 6, addr, length, uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go new file mode 100644 index 000000000..e88a44278 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go @@ -0,0 +1,1042 @@ +// go run mksyscall_aix_ppc64.go -aix -tags aix,ppc64 syscall_aix.go syscall_aix_ppc64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build aix,ppc64 +// +build gccgo + +package unix + +/* +#include +int utimes(uintptr_t, uintptr_t); +int utimensat(int, uintptr_t, uintptr_t, int); +int getcwd(uintptr_t, size_t); +int accept(int, uintptr_t, uintptr_t); +int getdirent(int, uintptr_t, size_t); +int wait4(int, uintptr_t, int, uintptr_t); +int ioctl(int, int, uintptr_t); +int fcntl(uintptr_t, int, uintptr_t); +int acct(uintptr_t); +int chdir(uintptr_t); +int chroot(uintptr_t); +int close(int); +int dup(int); +void exit(int); +int faccessat(int, uintptr_t, unsigned int, int); +int fchdir(int); +int fchmod(int, unsigned int); +int fchmodat(int, uintptr_t, unsigned int, int); +int fchownat(int, uintptr_t, int, int, int); +int fdatasync(int); +int fsync(int); +int getpgid(int); +int getpgrp(); +int getpid(); +int getppid(); +int getpriority(int, int); +int getrusage(int, uintptr_t); +int getsid(int); +int kill(int, int); +int syslog(int, uintptr_t, size_t); +int mkdir(int, uintptr_t, unsigned int); +int mkdirat(int, uintptr_t, unsigned int); +int mkfifo(uintptr_t, unsigned int); +int mknod(uintptr_t, unsigned int, int); +int mknodat(int, uintptr_t, unsigned int, int); +int nanosleep(uintptr_t, uintptr_t); +int open64(uintptr_t, int, unsigned int); +int openat(int, uintptr_t, int, unsigned int); +int read(int, uintptr_t, size_t); +int readlink(uintptr_t, uintptr_t, size_t); +int renameat(int, uintptr_t, int, uintptr_t); +int setdomainname(uintptr_t, size_t); +int sethostname(uintptr_t, size_t); +int setpgid(int, int); +int setsid(); +int settimeofday(uintptr_t); +int setuid(int); +int setgid(int); +int setpriority(int, int, int); +int statx(int, uintptr_t, int, int, uintptr_t); +int sync(); +uintptr_t times(uintptr_t); +int umask(int); +int uname(uintptr_t); +int unlink(uintptr_t); +int unlinkat(int, uintptr_t, int); +int ustat(int, uintptr_t); +int write(int, uintptr_t, size_t); +int dup2(int, int); +int posix_fadvise64(int, long long, long long, int); +int fchown(int, int, int); +int fstat(int, uintptr_t); +int fstatat(int, uintptr_t, uintptr_t, int); +int fstatfs(int, uintptr_t); +int ftruncate(int, long long); +int getegid(); +int geteuid(); +int getgid(); +int getuid(); +int lchown(uintptr_t, int, int); +int listen(int, int); +int lstat(uintptr_t, uintptr_t); +int pause(); +int pread64(int, uintptr_t, size_t, long long); +int pwrite64(int, uintptr_t, size_t, long long); +int pselect(int, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t); +int setregid(int, int); +int setreuid(int, int); +int shutdown(int, int); +long long splice(int, uintptr_t, int, uintptr_t, int, int); +int stat(uintptr_t, uintptr_t); +int statfs(uintptr_t, uintptr_t); +int truncate(uintptr_t, long long); +int bind(int, uintptr_t, uintptr_t); +int connect(int, uintptr_t, uintptr_t); +int getgroups(int, uintptr_t); +int setgroups(int, uintptr_t); +int getsockopt(int, int, int, uintptr_t, uintptr_t); +int setsockopt(int, int, int, uintptr_t, uintptr_t); +int socket(int, int, int); +int socketpair(int, int, int, uintptr_t); +int getpeername(int, uintptr_t, uintptr_t); +int getsockname(int, uintptr_t, uintptr_t); +int recvfrom(int, uintptr_t, size_t, int, uintptr_t, uintptr_t); +int sendto(int, uintptr_t, size_t, int, uintptr_t, uintptr_t); +int recvmsg(int, uintptr_t, int); +int sendmsg(int, uintptr_t, int); +int munmap(uintptr_t, uintptr_t); +int madvise(uintptr_t, size_t, int); +int mprotect(uintptr_t, size_t, int); +int mlock(uintptr_t, size_t); +int mlockall(int); +int msync(uintptr_t, size_t, int); +int munlock(uintptr_t, size_t); +int munlockall(); +int pipe(uintptr_t); +int poll(uintptr_t, int, int); +int gettimeofday(uintptr_t, uintptr_t); +int time(uintptr_t); +int utime(uintptr_t, uintptr_t); +int getrlimit(int, uintptr_t); +int setrlimit(int, uintptr_t); +long long lseek(int, long long, int); +uintptr_t mmap64(uintptr_t, uintptr_t, int, int, int, long long); + +*/ +import "C" +import ( + "syscall" +) + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callutimes(_p0 uintptr, times uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.utimes(C.uintptr_t(_p0), C.uintptr_t(times))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callutimensat(dirfd int, _p0 uintptr, times uintptr, flag int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.utimensat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(times), C.int(flag))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetcwd(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getcwd(C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callaccept(s int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.accept(C.int(s), C.uintptr_t(rsa), C.uintptr_t(addrlen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetdirent(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getdirent(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callwait4(pid int, status uintptr, options int, rusage uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.wait4(C.int(pid), C.uintptr_t(status), C.int(options), C.uintptr_t(rusage))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callioctl(fd int, req int, arg uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.ioctl(C.int(fd), C.int(req), C.uintptr_t(arg))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfcntl(fd uintptr, cmd int, arg uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fcntl(C.uintptr_t(fd), C.int(cmd), C.uintptr_t(arg))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callacct(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.acct(C.uintptr_t(_p0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callchdir(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.chdir(C.uintptr_t(_p0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callchroot(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.chroot(C.uintptr_t(_p0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callclose(fd int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.close(C.int(fd))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calldup(oldfd int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.dup(C.int(oldfd))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callexit(code int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.exit(C.int(code))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfaccessat(dirfd int, _p0 uintptr, mode uint32, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.faccessat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchdir(fd int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fchdir(C.int(fd))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchmod(fd int, mode uint32) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fchmod(C.int(fd), C.uint(mode))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchmodat(dirfd int, _p0 uintptr, mode uint32, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fchmodat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchownat(dirfd int, _p0 uintptr, uid int, gid int, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fchownat(C.int(dirfd), C.uintptr_t(_p0), C.int(uid), C.int(gid), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfdatasync(fd int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fdatasync(C.int(fd))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfsync(fd int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fsync(C.int(fd))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpgid(pid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getpgid(C.int(pid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpgrp() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getpgrp()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpid() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getpid()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetppid() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getppid()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpriority(which int, who int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getpriority(C.int(which), C.int(who))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetrusage(who int, rusage uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getrusage(C.int(who), C.uintptr_t(rusage))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsid(pid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getsid(C.int(pid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callkill(pid int, sig int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.kill(C.int(pid), C.int(sig))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsyslog(typ int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.syslog(C.int(typ), C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmkdir(dirfd int, _p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mkdir(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmkdirat(dirfd int, _p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mkdirat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmkfifo(_p0 uintptr, mode uint32) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mkfifo(C.uintptr_t(_p0), C.uint(mode))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmknod(_p0 uintptr, mode uint32, dev int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mknod(C.uintptr_t(_p0), C.uint(mode), C.int(dev))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmknodat(dirfd int, _p0 uintptr, mode uint32, dev int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mknodat(C.int(dirfd), C.uintptr_t(_p0), C.uint(mode), C.int(dev))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callnanosleep(time uintptr, leftover uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.nanosleep(C.uintptr_t(time), C.uintptr_t(leftover))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callopen64(_p0 uintptr, mode int, perm uint32) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.open64(C.uintptr_t(_p0), C.int(mode), C.uint(perm))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callopenat(dirfd int, _p0 uintptr, flags int, mode uint32) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.openat(C.int(dirfd), C.uintptr_t(_p0), C.int(flags), C.uint(mode))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callread(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.read(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callreadlink(_p0 uintptr, _p1 uintptr, _lenp1 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.readlink(C.uintptr_t(_p0), C.uintptr_t(_p1), C.size_t(_lenp1))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callrenameat(olddirfd int, _p0 uintptr, newdirfd int, _p1 uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.renameat(C.int(olddirfd), C.uintptr_t(_p0), C.int(newdirfd), C.uintptr_t(_p1))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetdomainname(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setdomainname(C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsethostname(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.sethostname(C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetpgid(pid int, pgid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setpgid(C.int(pid), C.int(pgid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetsid() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setsid()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsettimeofday(tv uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.settimeofday(C.uintptr_t(tv))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetuid(uid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setuid(C.int(uid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetgid(uid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setgid(C.int(uid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetpriority(which int, who int, prio int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setpriority(C.int(which), C.int(who), C.int(prio))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callstatx(dirfd int, _p0 uintptr, flags int, mask int, stat uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.statx(C.int(dirfd), C.uintptr_t(_p0), C.int(flags), C.int(mask), C.uintptr_t(stat))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsync() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.sync()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calltimes(tms uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.times(C.uintptr_t(tms))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callumask(mask int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.umask(C.int(mask))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calluname(buf uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.uname(C.uintptr_t(buf))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callunlink(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.unlink(C.uintptr_t(_p0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callunlinkat(dirfd int, _p0 uintptr, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.unlinkat(C.int(dirfd), C.uintptr_t(_p0), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callustat(dev int, ubuf uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.ustat(C.int(dev), C.uintptr_t(ubuf))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callwrite(fd int, _p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.write(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calldup2(oldfd int, newfd int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.dup2(C.int(oldfd), C.int(newfd))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callposix_fadvise64(fd int, offset int64, length int64, advice int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.posix_fadvise64(C.int(fd), C.longlong(offset), C.longlong(length), C.int(advice))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfchown(fd int, uid int, gid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fchown(C.int(fd), C.int(uid), C.int(gid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfstat(fd int, stat uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fstat(C.int(fd), C.uintptr_t(stat))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfstatat(dirfd int, _p0 uintptr, stat uintptr, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fstatat(C.int(dirfd), C.uintptr_t(_p0), C.uintptr_t(stat), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callfstatfs(fd int, buf uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.fstatfs(C.int(fd), C.uintptr_t(buf))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callftruncate(fd int, length int64) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.ftruncate(C.int(fd), C.longlong(length))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetegid() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getegid()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgeteuid() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.geteuid()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetgid() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getgid()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetuid() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getuid()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllchown(_p0 uintptr, uid int, gid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.lchown(C.uintptr_t(_p0), C.int(uid), C.int(gid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllisten(s int, n int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.listen(C.int(s), C.int(n))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllstat(_p0 uintptr, stat uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.lstat(C.uintptr_t(_p0), C.uintptr_t(stat))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpause() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.pause()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpread64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.pread64(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0), C.longlong(offset))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpwrite64(fd int, _p0 uintptr, _lenp0 int, offset int64) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.pwrite64(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0), C.longlong(offset))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpselect(nfd int, r uintptr, w uintptr, e uintptr, timeout uintptr, sigmask uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.pselect(C.int(nfd), C.uintptr_t(r), C.uintptr_t(w), C.uintptr_t(e), C.uintptr_t(timeout), C.uintptr_t(sigmask))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetregid(rgid int, egid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setregid(C.int(rgid), C.int(egid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetreuid(ruid int, euid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setreuid(C.int(ruid), C.int(euid))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callshutdown(fd int, how int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.shutdown(C.int(fd), C.int(how))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsplice(rfd int, roff uintptr, wfd int, woff uintptr, len int, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.splice(C.int(rfd), C.uintptr_t(roff), C.int(wfd), C.uintptr_t(woff), C.int(len), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callstat(_p0 uintptr, stat uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.stat(C.uintptr_t(_p0), C.uintptr_t(stat))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callstatfs(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.statfs(C.uintptr_t(_p0), C.uintptr_t(buf))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calltruncate(_p0 uintptr, length int64) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.truncate(C.uintptr_t(_p0), C.longlong(length))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callbind(s int, addr uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.bind(C.int(s), C.uintptr_t(addr), C.uintptr_t(addrlen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callconnect(s int, addr uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.connect(C.int(s), C.uintptr_t(addr), C.uintptr_t(addrlen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetgroups(n int, list uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getgroups(C.int(n), C.uintptr_t(list))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetgroups(n int, list uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setgroups(C.int(n), C.uintptr_t(list))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsockopt(s int, level int, name int, val uintptr, vallen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getsockopt(C.int(s), C.int(level), C.int(name), C.uintptr_t(val), C.uintptr_t(vallen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetsockopt(s int, level int, name int, val uintptr, vallen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setsockopt(C.int(s), C.int(level), C.int(name), C.uintptr_t(val), C.uintptr_t(vallen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsocket(domain int, typ int, proto int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.socket(C.int(domain), C.int(typ), C.int(proto))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsocketpair(domain int, typ int, proto int, fd uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.socketpair(C.int(domain), C.int(typ), C.int(proto), C.uintptr_t(fd))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetpeername(fd int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getpeername(C.int(fd), C.uintptr_t(rsa), C.uintptr_t(addrlen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetsockname(fd int, rsa uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getsockname(C.int(fd), C.uintptr_t(rsa), C.uintptr_t(addrlen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callrecvfrom(fd int, _p0 uintptr, _lenp0 int, flags int, from uintptr, fromlen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.recvfrom(C.int(fd), C.uintptr_t(_p0), C.size_t(_lenp0), C.int(flags), C.uintptr_t(from), C.uintptr_t(fromlen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsendto(s int, _p0 uintptr, _lenp0 int, flags int, to uintptr, addrlen uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.sendto(C.int(s), C.uintptr_t(_p0), C.size_t(_lenp0), C.int(flags), C.uintptr_t(to), C.uintptr_t(addrlen))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callrecvmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.recvmsg(C.int(s), C.uintptr_t(msg), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsendmsg(s int, msg uintptr, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.sendmsg(C.int(s), C.uintptr_t(msg), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmunmap(addr uintptr, length uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.munmap(C.uintptr_t(addr), C.uintptr_t(length))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmadvise(_p0 uintptr, _lenp0 int, advice int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.madvise(C.uintptr_t(_p0), C.size_t(_lenp0), C.int(advice))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmprotect(_p0 uintptr, _lenp0 int, prot int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mprotect(C.uintptr_t(_p0), C.size_t(_lenp0), C.int(prot))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmlock(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mlock(C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmlockall(flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mlockall(C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmsync(_p0 uintptr, _lenp0 int, flags int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.msync(C.uintptr_t(_p0), C.size_t(_lenp0), C.int(flags))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmunlock(_p0 uintptr, _lenp0 int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.munlock(C.uintptr_t(_p0), C.size_t(_lenp0))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmunlockall() (r1 uintptr, e1 Errno) { + r1 = uintptr(C.munlockall()) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpipe(p uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.pipe(C.uintptr_t(p))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callpoll(fds uintptr, nfds int, timeout int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.poll(C.uintptr_t(fds), C.int(nfds), C.int(timeout))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgettimeofday(tv uintptr, tzp uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.gettimeofday(C.uintptr_t(tv), C.uintptr_t(tzp))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calltime(t uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.time(C.uintptr_t(t))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callutime(_p0 uintptr, buf uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.utime(C.uintptr_t(_p0), C.uintptr_t(buf))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callgetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getrlimit(C.int(resource), C.uintptr_t(rlim))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callsetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.setrlimit(C.int(resource), C.uintptr_t(rlim))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func calllseek(fd int, offset int64, whence int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.lseek(C.int(fd), C.longlong(offset), C.int(whence))) + e1 = syscall.GetErrno() + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func callmmap64(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.mmap64(C.uintptr_t(addr), C.uintptr_t(length), C.int(prot), C.int(flags), C.int(fd), C.longlong(offset))) + e1 = syscall.GetErrno() + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_11.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_11.go new file mode 100644 index 000000000..c4ec7ff87 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_11.go @@ -0,0 +1,1810 @@ +// go run mksyscall.go -l32 -tags darwin,386,!go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_386.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,386,!go1.12 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := Syscall6(SYS_GETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func removexattr(path string, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fremovexattr(fd int, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { + r0, _, e1 := Syscall6(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := Syscall6(SYS_SETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { + _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(offset>>32), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) { + r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + sec = int32(r0) + usec = int32(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_GETFSSTAT64, uintptr(buf), uintptr(size), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go new file mode 100644 index 000000000..23346dc68 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go @@ -0,0 +1,2505 @@ +// go run mksyscall.go -l32 -tags darwin,386,go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_386.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,386,go1.12 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getgroups_trampoline() + +//go:linkname libc_getgroups libc_getgroups +//go:cgo_import_dynamic libc_getgroups getgroups "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setgroups_trampoline() + +//go:linkname libc_setgroups libc_setgroups +//go:cgo_import_dynamic libc_setgroups setgroups "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_wait4_trampoline), uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_wait4_trampoline() + +//go:linkname libc_wait4 libc_wait4 +//go:cgo_import_dynamic libc_wait4 wait4 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_accept_trampoline), uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_accept_trampoline() + +//go:linkname libc_accept libc_accept +//go:cgo_import_dynamic libc_accept accept "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_bind_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_bind_trampoline() + +//go:linkname libc_bind libc_bind +//go:cgo_import_dynamic libc_bind bind "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_connect_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_connect_trampoline() + +//go:linkname libc_connect libc_connect +//go:cgo_import_dynamic libc_connect connect "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_socket_trampoline), uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_socket_trampoline() + +//go:linkname libc_socket libc_socket +//go:cgo_import_dynamic libc_socket socket "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_getsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsockopt_trampoline() + +//go:linkname libc_getsockopt libc_getsockopt +//go:cgo_import_dynamic libc_getsockopt getsockopt "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_setsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setsockopt_trampoline() + +//go:linkname libc_setsockopt libc_setsockopt +//go:cgo_import_dynamic libc_setsockopt setsockopt "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getpeername_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpeername_trampoline() + +//go:linkname libc_getpeername libc_getpeername +//go:cgo_import_dynamic libc_getpeername getpeername "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getsockname_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsockname_trampoline() + +//go:linkname libc_getsockname libc_getsockname +//go:cgo_import_dynamic libc_getsockname getsockname "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_shutdown_trampoline), uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_shutdown_trampoline() + +//go:linkname libc_shutdown libc_shutdown +//go:cgo_import_dynamic libc_shutdown shutdown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := syscall_rawSyscall6(funcPC(libc_socketpair_trampoline), uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_socketpair_trampoline() + +//go:linkname libc_socketpair libc_socketpair +//go:cgo_import_dynamic libc_socketpair socketpair "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_recvfrom_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_recvfrom_trampoline() + +//go:linkname libc_recvfrom libc_recvfrom +//go:cgo_import_dynamic libc_recvfrom recvfrom "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall6(funcPC(libc_sendto_trampoline), uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendto_trampoline() + +//go:linkname libc_sendto libc_sendto +//go:cgo_import_dynamic libc_sendto sendto "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_recvmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_recvmsg_trampoline() + +//go:linkname libc_recvmsg libc_recvmsg +//go:cgo_import_dynamic libc_recvmsg recvmsg "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_sendmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendmsg_trampoline() + +//go:linkname libc_sendmsg libc_sendmsg +//go:cgo_import_dynamic libc_sendmsg sendmsg "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_kevent_trampoline), uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kevent_trampoline() + +//go:linkname libc_kevent libc_kevent +//go:cgo_import_dynamic libc_kevent kevent "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall6(funcPC(libc___sysctl_trampoline), uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc___sysctl_trampoline() + +//go:linkname libc___sysctl libc___sysctl +//go:cgo_import_dynamic libc___sysctl __sysctl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_utimes_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_utimes_trampoline() + +//go:linkname libc_utimes libc_utimes +//go:cgo_import_dynamic libc_utimes utimes "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_futimes_trampoline), uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_futimes_trampoline() + +//go:linkname libc_futimes libc_futimes +//go:cgo_import_dynamic libc_futimes futimes "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_fcntl_trampoline), uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fcntl_trampoline() + +//go:linkname libc_fcntl libc_fcntl +//go:cgo_import_dynamic libc_fcntl fcntl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_poll_trampoline), uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_poll_trampoline() + +//go:linkname libc_poll libc_poll +//go:cgo_import_dynamic libc_poll poll "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_madvise_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_madvise_trampoline() + +//go:linkname libc_madvise libc_madvise +//go:cgo_import_dynamic libc_madvise madvise "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_mlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mlock_trampoline() + +//go:linkname libc_mlock libc_mlock +//go:cgo_import_dynamic libc_mlock mlock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_mlockall_trampoline), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mlockall_trampoline() + +//go:linkname libc_mlockall libc_mlockall +//go:cgo_import_dynamic libc_mlockall mlockall "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_mprotect_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mprotect_trampoline() + +//go:linkname libc_mprotect libc_mprotect +//go:cgo_import_dynamic libc_mprotect mprotect "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_msync_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_msync_trampoline() + +//go:linkname libc_msync libc_msync +//go:cgo_import_dynamic libc_msync msync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_munlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munlock_trampoline() + +//go:linkname libc_munlock libc_munlock +//go:cgo_import_dynamic libc_munlock munlock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_munlockall_trampoline), 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munlockall_trampoline() + +//go:linkname libc_munlockall libc_munlockall +//go:cgo_import_dynamic libc_munlockall munlockall "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_ptrace_trampoline), uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ptrace_trampoline() + +//go:linkname libc_ptrace libc_ptrace +//go:cgo_import_dynamic libc_ptrace ptrace "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_getattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getattrlist_trampoline() + +//go:linkname libc_getattrlist libc_getattrlist +//go:cgo_import_dynamic libc_getattrlist getattrlist "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pipe_trampoline() + +//go:linkname libc_pipe libc_pipe +//go:cgo_import_dynamic libc_pipe pipe "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_getxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getxattr_trampoline() + +//go:linkname libc_getxattr libc_getxattr +//go:cgo_import_dynamic libc_getxattr getxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_fgetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fgetxattr_trampoline() + +//go:linkname libc_fgetxattr libc_fgetxattr +//go:cgo_import_dynamic libc_fgetxattr fgetxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_setxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setxattr_trampoline() + +//go:linkname libc_setxattr libc_setxattr +//go:cgo_import_dynamic libc_setxattr setxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fsetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fsetxattr_trampoline() + +//go:linkname libc_fsetxattr libc_fsetxattr +//go:cgo_import_dynamic libc_fsetxattr fsetxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func removexattr(path string, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_removexattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_removexattr_trampoline() + +//go:linkname libc_removexattr libc_removexattr +//go:cgo_import_dynamic libc_removexattr removexattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fremovexattr(fd int, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_fremovexattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fremovexattr_trampoline() + +//go:linkname libc_fremovexattr libc_fremovexattr +//go:cgo_import_dynamic libc_fremovexattr fremovexattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_listxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_listxattr_trampoline() + +//go:linkname libc_listxattr libc_listxattr +//go:cgo_import_dynamic libc_listxattr listxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_flistxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_flistxattr_trampoline() + +//go:linkname libc_flistxattr libc_flistxattr +//go:cgo_import_dynamic libc_flistxattr flistxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_setattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setattrlist_trampoline() + +//go:linkname libc_setattrlist libc_setattrlist +//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_kill_trampoline), uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kill_trampoline() + +//go:linkname libc_kill libc_kill +//go:cgo_import_dynamic libc_kill kill "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_ioctl_trampoline), uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ioctl_trampoline() + +//go:linkname libc_ioctl libc_ioctl +//go:cgo_import_dynamic libc_ioctl ioctl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { + _, _, e1 := syscall_syscall9(funcPC(libc_sendfile_trampoline), uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(offset>>32), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendfile_trampoline() + +//go:linkname libc_sendfile libc_sendfile +//go:cgo_import_dynamic libc_sendfile sendfile "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_access_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_access_trampoline() + +//go:linkname libc_access libc_access +//go:cgo_import_dynamic libc_access access "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_adjtime_trampoline), uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_adjtime_trampoline() + +//go:linkname libc_adjtime libc_adjtime +//go:cgo_import_dynamic libc_adjtime adjtime "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chdir_trampoline() + +//go:linkname libc_chdir libc_chdir +//go:cgo_import_dynamic libc_chdir chdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chflags_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chflags_trampoline() + +//go:linkname libc_chflags libc_chflags +//go:cgo_import_dynamic libc_chflags chflags "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chmod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chmod_trampoline() + +//go:linkname libc_chmod libc_chmod +//go:cgo_import_dynamic libc_chmod chmod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chown_trampoline() + +//go:linkname libc_chown libc_chown +//go:cgo_import_dynamic libc_chown chown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chroot_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chroot_trampoline() + +//go:linkname libc_chroot libc_chroot +//go:cgo_import_dynamic libc_chroot chroot "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_close_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_close_trampoline() + +//go:linkname libc_close libc_close +//go:cgo_import_dynamic libc_close close "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_dup_trampoline), uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_dup_trampoline() + +//go:linkname libc_dup libc_dup +//go:cgo_import_dynamic libc_dup dup "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_dup2_trampoline), uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_dup2_trampoline() + +//go:linkname libc_dup2 libc_dup2 +//go:cgo_import_dynamic libc_dup2 dup2 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_exchangedata_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_exchangedata_trampoline() + +//go:linkname libc_exchangedata libc_exchangedata +//go:cgo_import_dynamic libc_exchangedata exchangedata "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + syscall_syscall(funcPC(libc_exit_trampoline), uintptr(code), 0, 0) + return +} + +func libc_exit_trampoline() + +//go:linkname libc_exit libc_exit +//go:cgo_import_dynamic libc_exit exit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_faccessat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_faccessat_trampoline() + +//go:linkname libc_faccessat libc_faccessat +//go:cgo_import_dynamic libc_faccessat faccessat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchdir_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchdir_trampoline() + +//go:linkname libc_fchdir libc_fchdir +//go:cgo_import_dynamic libc_fchdir fchdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchflags_trampoline), uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchflags_trampoline() + +//go:linkname libc_fchflags libc_fchflags +//go:cgo_import_dynamic libc_fchflags fchflags "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchmod_trampoline), uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchmod_trampoline() + +//go:linkname libc_fchmod libc_fchmod +//go:cgo_import_dynamic libc_fchmod fchmod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fchmodat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchmodat_trampoline() + +//go:linkname libc_fchmodat libc_fchmodat +//go:cgo_import_dynamic libc_fchmodat fchmodat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchown_trampoline), uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchown_trampoline() + +//go:linkname libc_fchown libc_fchown +//go:cgo_import_dynamic libc_fchown fchown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fchownat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchownat_trampoline() + +//go:linkname libc_fchownat libc_fchownat +//go:cgo_import_dynamic libc_fchownat fchownat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_flock_trampoline), uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_flock_trampoline() + +//go:linkname libc_flock libc_flock +//go:cgo_import_dynamic libc_flock flock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_fpathconf_trampoline), uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fpathconf_trampoline() + +//go:linkname libc_fpathconf libc_fpathconf +//go:cgo_import_dynamic libc_fpathconf fpathconf "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fsync_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fsync_trampoline() + +//go:linkname libc_fsync libc_fsync +//go:cgo_import_dynamic libc_fsync fsync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_ftruncate_trampoline), uintptr(fd), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ftruncate_trampoline() + +//go:linkname libc_ftruncate libc_ftruncate +//go:cgo_import_dynamic libc_ftruncate ftruncate "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := syscall_syscall(funcPC(libc_getdtablesize_trampoline), 0, 0, 0) + size = int(r0) + return +} + +func libc_getdtablesize_trampoline() + +//go:linkname libc_getdtablesize libc_getdtablesize +//go:cgo_import_dynamic libc_getdtablesize getdtablesize "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getegid_trampoline), 0, 0, 0) + egid = int(r0) + return +} + +func libc_getegid_trampoline() + +//go:linkname libc_getegid libc_getegid +//go:cgo_import_dynamic libc_getegid getegid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_geteuid_trampoline), 0, 0, 0) + uid = int(r0) + return +} + +func libc_geteuid_trampoline() + +//go:linkname libc_geteuid libc_geteuid +//go:cgo_import_dynamic libc_geteuid geteuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getgid_trampoline), 0, 0, 0) + gid = int(r0) + return +} + +func libc_getgid_trampoline() + +//go:linkname libc_getgid libc_getgid +//go:cgo_import_dynamic libc_getgid getgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getpgid_trampoline), uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpgid_trampoline() + +//go:linkname libc_getpgid libc_getpgid +//go:cgo_import_dynamic libc_getpgid getpgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getpgrp_trampoline), 0, 0, 0) + pgrp = int(r0) + return +} + +func libc_getpgrp_trampoline() + +//go:linkname libc_getpgrp libc_getpgrp +//go:cgo_import_dynamic libc_getpgrp getpgrp "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getpid_trampoline), 0, 0, 0) + pid = int(r0) + return +} + +func libc_getpid_trampoline() + +//go:linkname libc_getpid libc_getpid +//go:cgo_import_dynamic libc_getpid getpid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getppid_trampoline), 0, 0, 0) + ppid = int(r0) + return +} + +func libc_getppid_trampoline() + +//go:linkname libc_getppid libc_getppid +//go:cgo_import_dynamic libc_getppid getppid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_getpriority_trampoline), uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpriority_trampoline() + +//go:linkname libc_getpriority libc_getpriority +//go:cgo_import_dynamic libc_getpriority getpriority "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getrlimit_trampoline() + +//go:linkname libc_getrlimit libc_getrlimit +//go:cgo_import_dynamic libc_getrlimit getrlimit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getrusage_trampoline), uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getrusage_trampoline() + +//go:linkname libc_getrusage libc_getrusage +//go:cgo_import_dynamic libc_getrusage getrusage "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getsid_trampoline), uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsid_trampoline() + +//go:linkname libc_getsid libc_getsid +//go:cgo_import_dynamic libc_getsid getsid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getuid_trampoline), 0, 0, 0) + uid = int(r0) + return +} + +func libc_getuid_trampoline() + +//go:linkname libc_getuid libc_getuid +//go:cgo_import_dynamic libc_getuid getuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_issetugid_trampoline), 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +func libc_issetugid_trampoline() + +//go:linkname libc_issetugid libc_issetugid +//go:cgo_import_dynamic libc_issetugid issetugid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_kqueue_trampoline), 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kqueue_trampoline() + +//go:linkname libc_kqueue libc_kqueue +//go:cgo_import_dynamic libc_kqueue kqueue "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_lchown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lchown_trampoline() + +//go:linkname libc_lchown libc_lchown +//go:cgo_import_dynamic libc_lchown lchown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_link_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_link_trampoline() + +//go:linkname libc_link libc_link +//go:cgo_import_dynamic libc_link link "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_linkat_trampoline), uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_linkat_trampoline() + +//go:linkname libc_linkat libc_linkat +//go:cgo_import_dynamic libc_linkat linkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_listen_trampoline), uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_listen_trampoline() + +//go:linkname libc_listen libc_listen +//go:cgo_import_dynamic libc_listen listen "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkdir_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkdir_trampoline() + +//go:linkname libc_mkdir libc_mkdir +//go:cgo_import_dynamic libc_mkdir mkdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkdirat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkdirat_trampoline() + +//go:linkname libc_mkdirat libc_mkdirat +//go:cgo_import_dynamic libc_mkdirat mkdirat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkfifo_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkfifo_trampoline() + +//go:linkname libc_mkfifo libc_mkfifo +//go:cgo_import_dynamic libc_mkfifo mkfifo "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mknod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mknod_trampoline() + +//go:linkname libc_mknod libc_mknod +//go:cgo_import_dynamic libc_mknod mknod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall(funcPC(libc_open_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_open_trampoline() + +//go:linkname libc_open libc_open +//go:cgo_import_dynamic libc_open open "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_openat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_openat_trampoline() + +//go:linkname libc_openat libc_openat +//go:cgo_import_dynamic libc_openat openat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall(funcPC(libc_pathconf_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pathconf_trampoline() + +//go:linkname libc_pathconf libc_pathconf +//go:cgo_import_dynamic libc_pathconf pathconf "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_pread_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pread_trampoline() + +//go:linkname libc_pread libc_pread +//go:cgo_import_dynamic libc_pread pread "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_pwrite_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pwrite_trampoline() + +//go:linkname libc_pwrite libc_pwrite +//go:cgo_import_dynamic libc_pwrite pwrite "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_read_trampoline() + +//go:linkname libc_read libc_read +//go:cgo_import_dynamic libc_read read "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_readlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_readlink_trampoline() + +//go:linkname libc_readlink libc_readlink +//go:cgo_import_dynamic libc_readlink readlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_readlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_readlinkat_trampoline() + +//go:linkname libc_readlinkat libc_readlinkat +//go:cgo_import_dynamic libc_readlinkat readlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_rename_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_rename_trampoline() + +//go:linkname libc_rename libc_rename +//go:cgo_import_dynamic libc_rename rename "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_renameat_trampoline), uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_renameat_trampoline() + +//go:linkname libc_renameat libc_renameat +//go:cgo_import_dynamic libc_renameat renameat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_revoke_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_revoke_trampoline() + +//go:linkname libc_revoke libc_revoke +//go:cgo_import_dynamic libc_revoke revoke "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_rmdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_rmdir_trampoline() + +//go:linkname libc_rmdir libc_rmdir +//go:cgo_import_dynamic libc_rmdir rmdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := syscall_syscall6(funcPC(libc_lseek_trampoline), uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lseek_trampoline() + +//go:linkname libc_lseek libc_lseek +//go:cgo_import_dynamic libc_lseek lseek "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_select_trampoline), uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_select_trampoline() + +//go:linkname libc_select libc_select +//go:cgo_import_dynamic libc_select select "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setegid_trampoline), uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setegid_trampoline() + +//go:linkname libc_setegid libc_setegid +//go:cgo_import_dynamic libc_setegid setegid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_seteuid_trampoline), uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_seteuid_trampoline() + +//go:linkname libc_seteuid libc_seteuid +//go:cgo_import_dynamic libc_seteuid seteuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setgid_trampoline), uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setgid_trampoline() + +//go:linkname libc_setgid libc_setgid +//go:cgo_import_dynamic libc_setgid setgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_setlogin_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setlogin_trampoline() + +//go:linkname libc_setlogin libc_setlogin +//go:cgo_import_dynamic libc_setlogin setlogin "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setpgid_trampoline), uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setpgid_trampoline() + +//go:linkname libc_setpgid libc_setpgid +//go:cgo_import_dynamic libc_setpgid setpgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setpriority_trampoline), uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setpriority_trampoline() + +//go:linkname libc_setpriority libc_setpriority +//go:cgo_import_dynamic libc_setpriority setpriority "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setprivexec_trampoline), uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setprivexec_trampoline() + +//go:linkname libc_setprivexec libc_setprivexec +//go:cgo_import_dynamic libc_setprivexec setprivexec "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setregid_trampoline), uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setregid_trampoline() + +//go:linkname libc_setregid libc_setregid +//go:cgo_import_dynamic libc_setregid setregid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setreuid_trampoline), uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setreuid_trampoline() + +//go:linkname libc_setreuid libc_setreuid +//go:cgo_import_dynamic libc_setreuid setreuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setrlimit_trampoline() + +//go:linkname libc_setrlimit libc_setrlimit +//go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_setsid_trampoline), 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setsid_trampoline() + +//go:linkname libc_setsid libc_setsid +//go:cgo_import_dynamic libc_setsid setsid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_settimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_settimeofday_trampoline() + +//go:linkname libc_settimeofday libc_settimeofday +//go:cgo_import_dynamic libc_settimeofday settimeofday "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setuid_trampoline), uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setuid_trampoline() + +//go:linkname libc_setuid libc_setuid +//go:cgo_import_dynamic libc_setuid setuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_symlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_symlink_trampoline() + +//go:linkname libc_symlink libc_symlink +//go:cgo_import_dynamic libc_symlink symlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_symlinkat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_symlinkat_trampoline() + +//go:linkname libc_symlinkat libc_symlinkat +//go:cgo_import_dynamic libc_symlinkat symlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_sync_trampoline), 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sync_trampoline() + +//go:linkname libc_sync libc_sync +//go:cgo_import_dynamic libc_sync sync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_truncate_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_truncate_trampoline() + +//go:linkname libc_truncate libc_truncate +//go:cgo_import_dynamic libc_truncate truncate "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := syscall_syscall(funcPC(libc_umask_trampoline), uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +func libc_umask_trampoline() + +//go:linkname libc_umask libc_umask +//go:cgo_import_dynamic libc_umask umask "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_undelete_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_undelete_trampoline() + +//go:linkname libc_undelete libc_undelete +//go:cgo_import_dynamic libc_undelete undelete "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unlink_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unlink_trampoline() + +//go:linkname libc_unlink libc_unlink +//go:cgo_import_dynamic libc_unlink unlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unlinkat_trampoline() + +//go:linkname libc_unlinkat libc_unlinkat +//go:cgo_import_dynamic libc_unlinkat unlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unmount_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unmount_trampoline() + +//go:linkname libc_unmount libc_unmount +//go:cgo_import_dynamic libc_unmount unmount "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_write_trampoline() + +//go:linkname libc_write libc_write +//go:cgo_import_dynamic libc_write write "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := syscall_syscall9(funcPC(libc_mmap_trampoline), uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mmap_trampoline() + +//go:linkname libc_mmap libc_mmap +//go:cgo_import_dynamic libc_mmap mmap "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_munmap_trampoline), uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munmap_trampoline() + +//go:linkname libc_munmap libc_munmap +//go:cgo_import_dynamic libc_munmap munmap "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) { + r0, r1, e1 := syscall_rawSyscall(funcPC(libc_gettimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) + sec = int32(r0) + usec = int32(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_gettimeofday_trampoline() + +//go:linkname libc_gettimeofday libc_gettimeofday +//go:cgo_import_dynamic libc_gettimeofday gettimeofday "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fstat64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstat64_trampoline() + +//go:linkname libc_fstat64 libc_fstat64 +//go:cgo_import_dynamic libc_fstat64 fstat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fstatat64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstatat64_trampoline() + +//go:linkname libc_fstatat64 libc_fstatat64 +//go:cgo_import_dynamic libc_fstatat64 fstatat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fstatfs64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstatfs64_trampoline() + +//go:linkname libc_fstatfs64 libc_fstatfs64 +//go:cgo_import_dynamic libc_fstatfs64 fstatfs64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc___getdirentries64_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc___getdirentries64_trampoline() + +//go:linkname libc___getdirentries64 libc___getdirentries64 +//go:cgo_import_dynamic libc___getdirentries64 __getdirentries64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_getfsstat64_trampoline), uintptr(buf), uintptr(size), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getfsstat64_trampoline() + +//go:linkname libc_getfsstat64 libc_getfsstat64 +//go:cgo_import_dynamic libc_getfsstat64 getfsstat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_lstat64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lstat64_trampoline() + +//go:linkname libc_lstat64 libc_lstat64 +//go:cgo_import_dynamic libc_lstat64 lstat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_stat64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_stat64_trampoline() + +//go:linkname libc_stat64 libc_stat64 +//go:cgo_import_dynamic libc_stat64 stat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_statfs64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_statfs64_trampoline() + +//go:linkname libc_statfs64 libc_statfs64 +//go:cgo_import_dynamic libc_statfs64 statfs64 "/usr/lib/libSystem.B.dylib" diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.s new file mode 100644 index 000000000..37b85b4f6 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.s @@ -0,0 +1,284 @@ +// go run mkasm_darwin.go 386 +// Code generated by the command above; DO NOT EDIT. + +// +build go1.12 + +#include "textflag.h" +TEXT ·libc_getgroups_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getgroups(SB) +TEXT ·libc_setgroups_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setgroups(SB) +TEXT ·libc_wait4_trampoline(SB),NOSPLIT,$0-0 + JMP libc_wait4(SB) +TEXT ·libc_accept_trampoline(SB),NOSPLIT,$0-0 + JMP libc_accept(SB) +TEXT ·libc_bind_trampoline(SB),NOSPLIT,$0-0 + JMP libc_bind(SB) +TEXT ·libc_connect_trampoline(SB),NOSPLIT,$0-0 + JMP libc_connect(SB) +TEXT ·libc_socket_trampoline(SB),NOSPLIT,$0-0 + JMP libc_socket(SB) +TEXT ·libc_getsockopt_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsockopt(SB) +TEXT ·libc_setsockopt_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setsockopt(SB) +TEXT ·libc_getpeername_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpeername(SB) +TEXT ·libc_getsockname_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsockname(SB) +TEXT ·libc_shutdown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_shutdown(SB) +TEXT ·libc_socketpair_trampoline(SB),NOSPLIT,$0-0 + JMP libc_socketpair(SB) +TEXT ·libc_recvfrom_trampoline(SB),NOSPLIT,$0-0 + JMP libc_recvfrom(SB) +TEXT ·libc_sendto_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendto(SB) +TEXT ·libc_recvmsg_trampoline(SB),NOSPLIT,$0-0 + JMP libc_recvmsg(SB) +TEXT ·libc_sendmsg_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendmsg(SB) +TEXT ·libc_kevent_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kevent(SB) +TEXT ·libc___sysctl_trampoline(SB),NOSPLIT,$0-0 + JMP libc___sysctl(SB) +TEXT ·libc_utimes_trampoline(SB),NOSPLIT,$0-0 + JMP libc_utimes(SB) +TEXT ·libc_futimes_trampoline(SB),NOSPLIT,$0-0 + JMP libc_futimes(SB) +TEXT ·libc_fcntl_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fcntl(SB) +TEXT ·libc_poll_trampoline(SB),NOSPLIT,$0-0 + JMP libc_poll(SB) +TEXT ·libc_madvise_trampoline(SB),NOSPLIT,$0-0 + JMP libc_madvise(SB) +TEXT ·libc_mlock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mlock(SB) +TEXT ·libc_mlockall_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mlockall(SB) +TEXT ·libc_mprotect_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mprotect(SB) +TEXT ·libc_msync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_msync(SB) +TEXT ·libc_munlock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munlock(SB) +TEXT ·libc_munlockall_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munlockall(SB) +TEXT ·libc_ptrace_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ptrace(SB) +TEXT ·libc_getattrlist_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getattrlist(SB) +TEXT ·libc_pipe_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pipe(SB) +TEXT ·libc_getxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getxattr(SB) +TEXT ·libc_fgetxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fgetxattr(SB) +TEXT ·libc_setxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setxattr(SB) +TEXT ·libc_fsetxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fsetxattr(SB) +TEXT ·libc_removexattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_removexattr(SB) +TEXT ·libc_fremovexattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fremovexattr(SB) +TEXT ·libc_listxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_listxattr(SB) +TEXT ·libc_flistxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_flistxattr(SB) +TEXT ·libc_setattrlist_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setattrlist(SB) +TEXT ·libc_kill_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kill(SB) +TEXT ·libc_ioctl_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ioctl(SB) +TEXT ·libc_sendfile_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendfile(SB) +TEXT ·libc_access_trampoline(SB),NOSPLIT,$0-0 + JMP libc_access(SB) +TEXT ·libc_adjtime_trampoline(SB),NOSPLIT,$0-0 + JMP libc_adjtime(SB) +TEXT ·libc_chdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chdir(SB) +TEXT ·libc_chflags_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chflags(SB) +TEXT ·libc_chmod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chmod(SB) +TEXT ·libc_chown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chown(SB) +TEXT ·libc_chroot_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chroot(SB) +TEXT ·libc_close_trampoline(SB),NOSPLIT,$0-0 + JMP libc_close(SB) +TEXT ·libc_dup_trampoline(SB),NOSPLIT,$0-0 + JMP libc_dup(SB) +TEXT ·libc_dup2_trampoline(SB),NOSPLIT,$0-0 + JMP libc_dup2(SB) +TEXT ·libc_exchangedata_trampoline(SB),NOSPLIT,$0-0 + JMP libc_exchangedata(SB) +TEXT ·libc_exit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_exit(SB) +TEXT ·libc_faccessat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_faccessat(SB) +TEXT ·libc_fchdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchdir(SB) +TEXT ·libc_fchflags_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchflags(SB) +TEXT ·libc_fchmod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchmod(SB) +TEXT ·libc_fchmodat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchmodat(SB) +TEXT ·libc_fchown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchown(SB) +TEXT ·libc_fchownat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchownat(SB) +TEXT ·libc_flock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_flock(SB) +TEXT ·libc_fpathconf_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fpathconf(SB) +TEXT ·libc_fsync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fsync(SB) +TEXT ·libc_ftruncate_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ftruncate(SB) +TEXT ·libc_getdtablesize_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getdtablesize(SB) +TEXT ·libc_getegid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getegid(SB) +TEXT ·libc_geteuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_geteuid(SB) +TEXT ·libc_getgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getgid(SB) +TEXT ·libc_getpgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpgid(SB) +TEXT ·libc_getpgrp_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpgrp(SB) +TEXT ·libc_getpid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpid(SB) +TEXT ·libc_getppid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getppid(SB) +TEXT ·libc_getpriority_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpriority(SB) +TEXT ·libc_getrlimit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getrlimit(SB) +TEXT ·libc_getrusage_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getrusage(SB) +TEXT ·libc_getsid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsid(SB) +TEXT ·libc_getuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getuid(SB) +TEXT ·libc_issetugid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_issetugid(SB) +TEXT ·libc_kqueue_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kqueue(SB) +TEXT ·libc_lchown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lchown(SB) +TEXT ·libc_link_trampoline(SB),NOSPLIT,$0-0 + JMP libc_link(SB) +TEXT ·libc_linkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_linkat(SB) +TEXT ·libc_listen_trampoline(SB),NOSPLIT,$0-0 + JMP libc_listen(SB) +TEXT ·libc_mkdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkdir(SB) +TEXT ·libc_mkdirat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkdirat(SB) +TEXT ·libc_mkfifo_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkfifo(SB) +TEXT ·libc_mknod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mknod(SB) +TEXT ·libc_open_trampoline(SB),NOSPLIT,$0-0 + JMP libc_open(SB) +TEXT ·libc_openat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_openat(SB) +TEXT ·libc_pathconf_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pathconf(SB) +TEXT ·libc_pread_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pread(SB) +TEXT ·libc_pwrite_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pwrite(SB) +TEXT ·libc_read_trampoline(SB),NOSPLIT,$0-0 + JMP libc_read(SB) +TEXT ·libc_readlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_readlink(SB) +TEXT ·libc_readlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_readlinkat(SB) +TEXT ·libc_rename_trampoline(SB),NOSPLIT,$0-0 + JMP libc_rename(SB) +TEXT ·libc_renameat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_renameat(SB) +TEXT ·libc_revoke_trampoline(SB),NOSPLIT,$0-0 + JMP libc_revoke(SB) +TEXT ·libc_rmdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_rmdir(SB) +TEXT ·libc_lseek_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lseek(SB) +TEXT ·libc_select_trampoline(SB),NOSPLIT,$0-0 + JMP libc_select(SB) +TEXT ·libc_setegid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setegid(SB) +TEXT ·libc_seteuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_seteuid(SB) +TEXT ·libc_setgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setgid(SB) +TEXT ·libc_setlogin_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setlogin(SB) +TEXT ·libc_setpgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setpgid(SB) +TEXT ·libc_setpriority_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setpriority(SB) +TEXT ·libc_setprivexec_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setprivexec(SB) +TEXT ·libc_setregid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setregid(SB) +TEXT ·libc_setreuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setreuid(SB) +TEXT ·libc_setrlimit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setrlimit(SB) +TEXT ·libc_setsid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setsid(SB) +TEXT ·libc_settimeofday_trampoline(SB),NOSPLIT,$0-0 + JMP libc_settimeofday(SB) +TEXT ·libc_setuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setuid(SB) +TEXT ·libc_symlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_symlink(SB) +TEXT ·libc_symlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_symlinkat(SB) +TEXT ·libc_sync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sync(SB) +TEXT ·libc_truncate_trampoline(SB),NOSPLIT,$0-0 + JMP libc_truncate(SB) +TEXT ·libc_umask_trampoline(SB),NOSPLIT,$0-0 + JMP libc_umask(SB) +TEXT ·libc_undelete_trampoline(SB),NOSPLIT,$0-0 + JMP libc_undelete(SB) +TEXT ·libc_unlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unlink(SB) +TEXT ·libc_unlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unlinkat(SB) +TEXT ·libc_unmount_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unmount(SB) +TEXT ·libc_write_trampoline(SB),NOSPLIT,$0-0 + JMP libc_write(SB) +TEXT ·libc_mmap_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mmap(SB) +TEXT ·libc_munmap_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munmap(SB) +TEXT ·libc_gettimeofday_trampoline(SB),NOSPLIT,$0-0 + JMP libc_gettimeofday(SB) +TEXT ·libc_fstat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstat64(SB) +TEXT ·libc_fstatat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstatat64(SB) +TEXT ·libc_fstatfs64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstatfs64(SB) +TEXT ·libc___getdirentries64_trampoline(SB),NOSPLIT,$0-0 + JMP libc___getdirentries64(SB) +TEXT ·libc_getfsstat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getfsstat64(SB) +TEXT ·libc_lstat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lstat64(SB) +TEXT ·libc_stat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_stat64(SB) +TEXT ·libc_statfs64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_statfs64(SB) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_11.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_11.go new file mode 100644 index 000000000..2581e8960 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_11.go @@ -0,0 +1,1810 @@ +// go run mksyscall.go -tags darwin,amd64,!go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,amd64,!go1.12 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := Syscall6(SYS_GETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func removexattr(path string, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fremovexattr(fd int, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { + r0, _, e1 := Syscall6(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := Syscall6(SYS_SETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) { + r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + sec = int64(r0) + usec = int32(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_GETFSSTAT64, uintptr(buf), uintptr(size), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go new file mode 100644 index 000000000..c142e33e9 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go @@ -0,0 +1,2520 @@ +// go run mksyscall.go -tags darwin,amd64,go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,amd64,go1.12 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getgroups_trampoline() + +//go:linkname libc_getgroups libc_getgroups +//go:cgo_import_dynamic libc_getgroups getgroups "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setgroups_trampoline() + +//go:linkname libc_setgroups libc_setgroups +//go:cgo_import_dynamic libc_setgroups setgroups "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_wait4_trampoline), uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_wait4_trampoline() + +//go:linkname libc_wait4 libc_wait4 +//go:cgo_import_dynamic libc_wait4 wait4 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_accept_trampoline), uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_accept_trampoline() + +//go:linkname libc_accept libc_accept +//go:cgo_import_dynamic libc_accept accept "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_bind_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_bind_trampoline() + +//go:linkname libc_bind libc_bind +//go:cgo_import_dynamic libc_bind bind "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_connect_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_connect_trampoline() + +//go:linkname libc_connect libc_connect +//go:cgo_import_dynamic libc_connect connect "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_socket_trampoline), uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_socket_trampoline() + +//go:linkname libc_socket libc_socket +//go:cgo_import_dynamic libc_socket socket "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_getsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsockopt_trampoline() + +//go:linkname libc_getsockopt libc_getsockopt +//go:cgo_import_dynamic libc_getsockopt getsockopt "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_setsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setsockopt_trampoline() + +//go:linkname libc_setsockopt libc_setsockopt +//go:cgo_import_dynamic libc_setsockopt setsockopt "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getpeername_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpeername_trampoline() + +//go:linkname libc_getpeername libc_getpeername +//go:cgo_import_dynamic libc_getpeername getpeername "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getsockname_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsockname_trampoline() + +//go:linkname libc_getsockname libc_getsockname +//go:cgo_import_dynamic libc_getsockname getsockname "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_shutdown_trampoline), uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_shutdown_trampoline() + +//go:linkname libc_shutdown libc_shutdown +//go:cgo_import_dynamic libc_shutdown shutdown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := syscall_rawSyscall6(funcPC(libc_socketpair_trampoline), uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_socketpair_trampoline() + +//go:linkname libc_socketpair libc_socketpair +//go:cgo_import_dynamic libc_socketpair socketpair "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_recvfrom_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_recvfrom_trampoline() + +//go:linkname libc_recvfrom libc_recvfrom +//go:cgo_import_dynamic libc_recvfrom recvfrom "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall6(funcPC(libc_sendto_trampoline), uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendto_trampoline() + +//go:linkname libc_sendto libc_sendto +//go:cgo_import_dynamic libc_sendto sendto "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_recvmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_recvmsg_trampoline() + +//go:linkname libc_recvmsg libc_recvmsg +//go:cgo_import_dynamic libc_recvmsg recvmsg "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_sendmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendmsg_trampoline() + +//go:linkname libc_sendmsg libc_sendmsg +//go:cgo_import_dynamic libc_sendmsg sendmsg "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_kevent_trampoline), uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kevent_trampoline() + +//go:linkname libc_kevent libc_kevent +//go:cgo_import_dynamic libc_kevent kevent "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall6(funcPC(libc___sysctl_trampoline), uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc___sysctl_trampoline() + +//go:linkname libc___sysctl libc___sysctl +//go:cgo_import_dynamic libc___sysctl __sysctl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_utimes_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_utimes_trampoline() + +//go:linkname libc_utimes libc_utimes +//go:cgo_import_dynamic libc_utimes utimes "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_futimes_trampoline), uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_futimes_trampoline() + +//go:linkname libc_futimes libc_futimes +//go:cgo_import_dynamic libc_futimes futimes "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_fcntl_trampoline), uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fcntl_trampoline() + +//go:linkname libc_fcntl libc_fcntl +//go:cgo_import_dynamic libc_fcntl fcntl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_poll_trampoline), uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_poll_trampoline() + +//go:linkname libc_poll libc_poll +//go:cgo_import_dynamic libc_poll poll "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_madvise_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_madvise_trampoline() + +//go:linkname libc_madvise libc_madvise +//go:cgo_import_dynamic libc_madvise madvise "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_mlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mlock_trampoline() + +//go:linkname libc_mlock libc_mlock +//go:cgo_import_dynamic libc_mlock mlock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_mlockall_trampoline), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mlockall_trampoline() + +//go:linkname libc_mlockall libc_mlockall +//go:cgo_import_dynamic libc_mlockall mlockall "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_mprotect_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mprotect_trampoline() + +//go:linkname libc_mprotect libc_mprotect +//go:cgo_import_dynamic libc_mprotect mprotect "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_msync_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_msync_trampoline() + +//go:linkname libc_msync libc_msync +//go:cgo_import_dynamic libc_msync msync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_munlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munlock_trampoline() + +//go:linkname libc_munlock libc_munlock +//go:cgo_import_dynamic libc_munlock munlock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_munlockall_trampoline), 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munlockall_trampoline() + +//go:linkname libc_munlockall libc_munlockall +//go:cgo_import_dynamic libc_munlockall munlockall "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_ptrace_trampoline), uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ptrace_trampoline() + +//go:linkname libc_ptrace libc_ptrace +//go:cgo_import_dynamic libc_ptrace ptrace "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_getattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getattrlist_trampoline() + +//go:linkname libc_getattrlist libc_getattrlist +//go:cgo_import_dynamic libc_getattrlist getattrlist "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pipe_trampoline() + +//go:linkname libc_pipe libc_pipe +//go:cgo_import_dynamic libc_pipe pipe "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_getxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getxattr_trampoline() + +//go:linkname libc_getxattr libc_getxattr +//go:cgo_import_dynamic libc_getxattr getxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_fgetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fgetxattr_trampoline() + +//go:linkname libc_fgetxattr libc_fgetxattr +//go:cgo_import_dynamic libc_fgetxattr fgetxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_setxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setxattr_trampoline() + +//go:linkname libc_setxattr libc_setxattr +//go:cgo_import_dynamic libc_setxattr setxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fsetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fsetxattr_trampoline() + +//go:linkname libc_fsetxattr libc_fsetxattr +//go:cgo_import_dynamic libc_fsetxattr fsetxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func removexattr(path string, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_removexattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_removexattr_trampoline() + +//go:linkname libc_removexattr libc_removexattr +//go:cgo_import_dynamic libc_removexattr removexattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fremovexattr(fd int, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_fremovexattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fremovexattr_trampoline() + +//go:linkname libc_fremovexattr libc_fremovexattr +//go:cgo_import_dynamic libc_fremovexattr fremovexattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_listxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_listxattr_trampoline() + +//go:linkname libc_listxattr libc_listxattr +//go:cgo_import_dynamic libc_listxattr listxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_flistxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_flistxattr_trampoline() + +//go:linkname libc_flistxattr libc_flistxattr +//go:cgo_import_dynamic libc_flistxattr flistxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_setattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setattrlist_trampoline() + +//go:linkname libc_setattrlist libc_setattrlist +//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_kill_trampoline), uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kill_trampoline() + +//go:linkname libc_kill libc_kill +//go:cgo_import_dynamic libc_kill kill "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_ioctl_trampoline), uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ioctl_trampoline() + +//go:linkname libc_ioctl libc_ioctl +//go:cgo_import_dynamic libc_ioctl ioctl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_sendfile_trampoline), uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendfile_trampoline() + +//go:linkname libc_sendfile libc_sendfile +//go:cgo_import_dynamic libc_sendfile sendfile "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_access_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_access_trampoline() + +//go:linkname libc_access libc_access +//go:cgo_import_dynamic libc_access access "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_adjtime_trampoline), uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_adjtime_trampoline() + +//go:linkname libc_adjtime libc_adjtime +//go:cgo_import_dynamic libc_adjtime adjtime "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chdir_trampoline() + +//go:linkname libc_chdir libc_chdir +//go:cgo_import_dynamic libc_chdir chdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chflags_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chflags_trampoline() + +//go:linkname libc_chflags libc_chflags +//go:cgo_import_dynamic libc_chflags chflags "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chmod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chmod_trampoline() + +//go:linkname libc_chmod libc_chmod +//go:cgo_import_dynamic libc_chmod chmod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chown_trampoline() + +//go:linkname libc_chown libc_chown +//go:cgo_import_dynamic libc_chown chown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chroot_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chroot_trampoline() + +//go:linkname libc_chroot libc_chroot +//go:cgo_import_dynamic libc_chroot chroot "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_clock_gettime_trampoline), uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_clock_gettime_trampoline() + +//go:linkname libc_clock_gettime libc_clock_gettime +//go:cgo_import_dynamic libc_clock_gettime clock_gettime "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_close_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_close_trampoline() + +//go:linkname libc_close libc_close +//go:cgo_import_dynamic libc_close close "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_dup_trampoline), uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_dup_trampoline() + +//go:linkname libc_dup libc_dup +//go:cgo_import_dynamic libc_dup dup "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_dup2_trampoline), uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_dup2_trampoline() + +//go:linkname libc_dup2 libc_dup2 +//go:cgo_import_dynamic libc_dup2 dup2 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_exchangedata_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_exchangedata_trampoline() + +//go:linkname libc_exchangedata libc_exchangedata +//go:cgo_import_dynamic libc_exchangedata exchangedata "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + syscall_syscall(funcPC(libc_exit_trampoline), uintptr(code), 0, 0) + return +} + +func libc_exit_trampoline() + +//go:linkname libc_exit libc_exit +//go:cgo_import_dynamic libc_exit exit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_faccessat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_faccessat_trampoline() + +//go:linkname libc_faccessat libc_faccessat +//go:cgo_import_dynamic libc_faccessat faccessat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchdir_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchdir_trampoline() + +//go:linkname libc_fchdir libc_fchdir +//go:cgo_import_dynamic libc_fchdir fchdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchflags_trampoline), uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchflags_trampoline() + +//go:linkname libc_fchflags libc_fchflags +//go:cgo_import_dynamic libc_fchflags fchflags "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchmod_trampoline), uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchmod_trampoline() + +//go:linkname libc_fchmod libc_fchmod +//go:cgo_import_dynamic libc_fchmod fchmod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fchmodat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchmodat_trampoline() + +//go:linkname libc_fchmodat libc_fchmodat +//go:cgo_import_dynamic libc_fchmodat fchmodat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchown_trampoline), uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchown_trampoline() + +//go:linkname libc_fchown libc_fchown +//go:cgo_import_dynamic libc_fchown fchown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fchownat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchownat_trampoline() + +//go:linkname libc_fchownat libc_fchownat +//go:cgo_import_dynamic libc_fchownat fchownat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_flock_trampoline), uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_flock_trampoline() + +//go:linkname libc_flock libc_flock +//go:cgo_import_dynamic libc_flock flock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_fpathconf_trampoline), uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fpathconf_trampoline() + +//go:linkname libc_fpathconf libc_fpathconf +//go:cgo_import_dynamic libc_fpathconf fpathconf "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fsync_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fsync_trampoline() + +//go:linkname libc_fsync libc_fsync +//go:cgo_import_dynamic libc_fsync fsync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_ftruncate_trampoline), uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ftruncate_trampoline() + +//go:linkname libc_ftruncate libc_ftruncate +//go:cgo_import_dynamic libc_ftruncate ftruncate "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := syscall_syscall(funcPC(libc_getdtablesize_trampoline), 0, 0, 0) + size = int(r0) + return +} + +func libc_getdtablesize_trampoline() + +//go:linkname libc_getdtablesize libc_getdtablesize +//go:cgo_import_dynamic libc_getdtablesize getdtablesize "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getegid_trampoline), 0, 0, 0) + egid = int(r0) + return +} + +func libc_getegid_trampoline() + +//go:linkname libc_getegid libc_getegid +//go:cgo_import_dynamic libc_getegid getegid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_geteuid_trampoline), 0, 0, 0) + uid = int(r0) + return +} + +func libc_geteuid_trampoline() + +//go:linkname libc_geteuid libc_geteuid +//go:cgo_import_dynamic libc_geteuid geteuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getgid_trampoline), 0, 0, 0) + gid = int(r0) + return +} + +func libc_getgid_trampoline() + +//go:linkname libc_getgid libc_getgid +//go:cgo_import_dynamic libc_getgid getgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getpgid_trampoline), uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpgid_trampoline() + +//go:linkname libc_getpgid libc_getpgid +//go:cgo_import_dynamic libc_getpgid getpgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getpgrp_trampoline), 0, 0, 0) + pgrp = int(r0) + return +} + +func libc_getpgrp_trampoline() + +//go:linkname libc_getpgrp libc_getpgrp +//go:cgo_import_dynamic libc_getpgrp getpgrp "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getpid_trampoline), 0, 0, 0) + pid = int(r0) + return +} + +func libc_getpid_trampoline() + +//go:linkname libc_getpid libc_getpid +//go:cgo_import_dynamic libc_getpid getpid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getppid_trampoline), 0, 0, 0) + ppid = int(r0) + return +} + +func libc_getppid_trampoline() + +//go:linkname libc_getppid libc_getppid +//go:cgo_import_dynamic libc_getppid getppid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_getpriority_trampoline), uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpriority_trampoline() + +//go:linkname libc_getpriority libc_getpriority +//go:cgo_import_dynamic libc_getpriority getpriority "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getrlimit_trampoline() + +//go:linkname libc_getrlimit libc_getrlimit +//go:cgo_import_dynamic libc_getrlimit getrlimit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getrusage_trampoline), uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getrusage_trampoline() + +//go:linkname libc_getrusage libc_getrusage +//go:cgo_import_dynamic libc_getrusage getrusage "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getsid_trampoline), uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsid_trampoline() + +//go:linkname libc_getsid libc_getsid +//go:cgo_import_dynamic libc_getsid getsid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getuid_trampoline), 0, 0, 0) + uid = int(r0) + return +} + +func libc_getuid_trampoline() + +//go:linkname libc_getuid libc_getuid +//go:cgo_import_dynamic libc_getuid getuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_issetugid_trampoline), 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +func libc_issetugid_trampoline() + +//go:linkname libc_issetugid libc_issetugid +//go:cgo_import_dynamic libc_issetugid issetugid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_kqueue_trampoline), 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kqueue_trampoline() + +//go:linkname libc_kqueue libc_kqueue +//go:cgo_import_dynamic libc_kqueue kqueue "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_lchown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lchown_trampoline() + +//go:linkname libc_lchown libc_lchown +//go:cgo_import_dynamic libc_lchown lchown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_link_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_link_trampoline() + +//go:linkname libc_link libc_link +//go:cgo_import_dynamic libc_link link "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_linkat_trampoline), uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_linkat_trampoline() + +//go:linkname libc_linkat libc_linkat +//go:cgo_import_dynamic libc_linkat linkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_listen_trampoline), uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_listen_trampoline() + +//go:linkname libc_listen libc_listen +//go:cgo_import_dynamic libc_listen listen "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkdir_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkdir_trampoline() + +//go:linkname libc_mkdir libc_mkdir +//go:cgo_import_dynamic libc_mkdir mkdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkdirat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkdirat_trampoline() + +//go:linkname libc_mkdirat libc_mkdirat +//go:cgo_import_dynamic libc_mkdirat mkdirat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkfifo_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkfifo_trampoline() + +//go:linkname libc_mkfifo libc_mkfifo +//go:cgo_import_dynamic libc_mkfifo mkfifo "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mknod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mknod_trampoline() + +//go:linkname libc_mknod libc_mknod +//go:cgo_import_dynamic libc_mknod mknod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall(funcPC(libc_open_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_open_trampoline() + +//go:linkname libc_open libc_open +//go:cgo_import_dynamic libc_open open "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_openat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_openat_trampoline() + +//go:linkname libc_openat libc_openat +//go:cgo_import_dynamic libc_openat openat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall(funcPC(libc_pathconf_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pathconf_trampoline() + +//go:linkname libc_pathconf libc_pathconf +//go:cgo_import_dynamic libc_pathconf pathconf "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_pread_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pread_trampoline() + +//go:linkname libc_pread libc_pread +//go:cgo_import_dynamic libc_pread pread "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_pwrite_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pwrite_trampoline() + +//go:linkname libc_pwrite libc_pwrite +//go:cgo_import_dynamic libc_pwrite pwrite "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_read_trampoline() + +//go:linkname libc_read libc_read +//go:cgo_import_dynamic libc_read read "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_readlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_readlink_trampoline() + +//go:linkname libc_readlink libc_readlink +//go:cgo_import_dynamic libc_readlink readlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_readlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_readlinkat_trampoline() + +//go:linkname libc_readlinkat libc_readlinkat +//go:cgo_import_dynamic libc_readlinkat readlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_rename_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_rename_trampoline() + +//go:linkname libc_rename libc_rename +//go:cgo_import_dynamic libc_rename rename "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_renameat_trampoline), uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_renameat_trampoline() + +//go:linkname libc_renameat libc_renameat +//go:cgo_import_dynamic libc_renameat renameat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_revoke_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_revoke_trampoline() + +//go:linkname libc_revoke libc_revoke +//go:cgo_import_dynamic libc_revoke revoke "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_rmdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_rmdir_trampoline() + +//go:linkname libc_rmdir libc_rmdir +//go:cgo_import_dynamic libc_rmdir rmdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_lseek_trampoline), uintptr(fd), uintptr(offset), uintptr(whence)) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lseek_trampoline() + +//go:linkname libc_lseek libc_lseek +//go:cgo_import_dynamic libc_lseek lseek "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_select_trampoline), uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_select_trampoline() + +//go:linkname libc_select libc_select +//go:cgo_import_dynamic libc_select select "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setegid_trampoline), uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setegid_trampoline() + +//go:linkname libc_setegid libc_setegid +//go:cgo_import_dynamic libc_setegid setegid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_seteuid_trampoline), uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_seteuid_trampoline() + +//go:linkname libc_seteuid libc_seteuid +//go:cgo_import_dynamic libc_seteuid seteuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setgid_trampoline), uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setgid_trampoline() + +//go:linkname libc_setgid libc_setgid +//go:cgo_import_dynamic libc_setgid setgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_setlogin_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setlogin_trampoline() + +//go:linkname libc_setlogin libc_setlogin +//go:cgo_import_dynamic libc_setlogin setlogin "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setpgid_trampoline), uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setpgid_trampoline() + +//go:linkname libc_setpgid libc_setpgid +//go:cgo_import_dynamic libc_setpgid setpgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setpriority_trampoline), uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setpriority_trampoline() + +//go:linkname libc_setpriority libc_setpriority +//go:cgo_import_dynamic libc_setpriority setpriority "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setprivexec_trampoline), uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setprivexec_trampoline() + +//go:linkname libc_setprivexec libc_setprivexec +//go:cgo_import_dynamic libc_setprivexec setprivexec "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setregid_trampoline), uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setregid_trampoline() + +//go:linkname libc_setregid libc_setregid +//go:cgo_import_dynamic libc_setregid setregid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setreuid_trampoline), uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setreuid_trampoline() + +//go:linkname libc_setreuid libc_setreuid +//go:cgo_import_dynamic libc_setreuid setreuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setrlimit_trampoline() + +//go:linkname libc_setrlimit libc_setrlimit +//go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_setsid_trampoline), 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setsid_trampoline() + +//go:linkname libc_setsid libc_setsid +//go:cgo_import_dynamic libc_setsid setsid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_settimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_settimeofday_trampoline() + +//go:linkname libc_settimeofday libc_settimeofday +//go:cgo_import_dynamic libc_settimeofday settimeofday "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setuid_trampoline), uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setuid_trampoline() + +//go:linkname libc_setuid libc_setuid +//go:cgo_import_dynamic libc_setuid setuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_symlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_symlink_trampoline() + +//go:linkname libc_symlink libc_symlink +//go:cgo_import_dynamic libc_symlink symlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_symlinkat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_symlinkat_trampoline() + +//go:linkname libc_symlinkat libc_symlinkat +//go:cgo_import_dynamic libc_symlinkat symlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_sync_trampoline), 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sync_trampoline() + +//go:linkname libc_sync libc_sync +//go:cgo_import_dynamic libc_sync sync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_truncate_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_truncate_trampoline() + +//go:linkname libc_truncate libc_truncate +//go:cgo_import_dynamic libc_truncate truncate "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := syscall_syscall(funcPC(libc_umask_trampoline), uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +func libc_umask_trampoline() + +//go:linkname libc_umask libc_umask +//go:cgo_import_dynamic libc_umask umask "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_undelete_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_undelete_trampoline() + +//go:linkname libc_undelete libc_undelete +//go:cgo_import_dynamic libc_undelete undelete "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unlink_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unlink_trampoline() + +//go:linkname libc_unlink libc_unlink +//go:cgo_import_dynamic libc_unlink unlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unlinkat_trampoline() + +//go:linkname libc_unlinkat libc_unlinkat +//go:cgo_import_dynamic libc_unlinkat unlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unmount_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unmount_trampoline() + +//go:linkname libc_unmount libc_unmount +//go:cgo_import_dynamic libc_unmount unmount "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_write_trampoline() + +//go:linkname libc_write libc_write +//go:cgo_import_dynamic libc_write write "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_mmap_trampoline), uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mmap_trampoline() + +//go:linkname libc_mmap libc_mmap +//go:cgo_import_dynamic libc_mmap mmap "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_munmap_trampoline), uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munmap_trampoline() + +//go:linkname libc_munmap libc_munmap +//go:cgo_import_dynamic libc_munmap munmap "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) { + r0, r1, e1 := syscall_rawSyscall(funcPC(libc_gettimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) + sec = int64(r0) + usec = int32(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_gettimeofday_trampoline() + +//go:linkname libc_gettimeofday libc_gettimeofday +//go:cgo_import_dynamic libc_gettimeofday gettimeofday "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fstat64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstat64_trampoline() + +//go:linkname libc_fstat64 libc_fstat64 +//go:cgo_import_dynamic libc_fstat64 fstat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fstatat64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstatat64_trampoline() + +//go:linkname libc_fstatat64 libc_fstatat64 +//go:cgo_import_dynamic libc_fstatat64 fstatat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fstatfs64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstatfs64_trampoline() + +//go:linkname libc_fstatfs64 libc_fstatfs64 +//go:cgo_import_dynamic libc_fstatfs64 fstatfs64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc___getdirentries64_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc___getdirentries64_trampoline() + +//go:linkname libc___getdirentries64 libc___getdirentries64 +//go:cgo_import_dynamic libc___getdirentries64 __getdirentries64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_getfsstat64_trampoline), uintptr(buf), uintptr(size), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getfsstat64_trampoline() + +//go:linkname libc_getfsstat64 libc_getfsstat64 +//go:cgo_import_dynamic libc_getfsstat64 getfsstat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_lstat64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lstat64_trampoline() + +//go:linkname libc_lstat64 libc_lstat64 +//go:cgo_import_dynamic libc_lstat64 lstat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_stat64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_stat64_trampoline() + +//go:linkname libc_stat64 libc_stat64 +//go:cgo_import_dynamic libc_stat64 stat64 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_statfs64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_statfs64_trampoline() + +//go:linkname libc_statfs64 libc_statfs64 +//go:cgo_import_dynamic libc_statfs64 statfs64 "/usr/lib/libSystem.B.dylib" diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s new file mode 100644 index 000000000..1a3915197 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s @@ -0,0 +1,286 @@ +// go run mkasm_darwin.go amd64 +// Code generated by the command above; DO NOT EDIT. + +// +build go1.12 + +#include "textflag.h" +TEXT ·libc_getgroups_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getgroups(SB) +TEXT ·libc_setgroups_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setgroups(SB) +TEXT ·libc_wait4_trampoline(SB),NOSPLIT,$0-0 + JMP libc_wait4(SB) +TEXT ·libc_accept_trampoline(SB),NOSPLIT,$0-0 + JMP libc_accept(SB) +TEXT ·libc_bind_trampoline(SB),NOSPLIT,$0-0 + JMP libc_bind(SB) +TEXT ·libc_connect_trampoline(SB),NOSPLIT,$0-0 + JMP libc_connect(SB) +TEXT ·libc_socket_trampoline(SB),NOSPLIT,$0-0 + JMP libc_socket(SB) +TEXT ·libc_getsockopt_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsockopt(SB) +TEXT ·libc_setsockopt_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setsockopt(SB) +TEXT ·libc_getpeername_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpeername(SB) +TEXT ·libc_getsockname_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsockname(SB) +TEXT ·libc_shutdown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_shutdown(SB) +TEXT ·libc_socketpair_trampoline(SB),NOSPLIT,$0-0 + JMP libc_socketpair(SB) +TEXT ·libc_recvfrom_trampoline(SB),NOSPLIT,$0-0 + JMP libc_recvfrom(SB) +TEXT ·libc_sendto_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendto(SB) +TEXT ·libc_recvmsg_trampoline(SB),NOSPLIT,$0-0 + JMP libc_recvmsg(SB) +TEXT ·libc_sendmsg_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendmsg(SB) +TEXT ·libc_kevent_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kevent(SB) +TEXT ·libc___sysctl_trampoline(SB),NOSPLIT,$0-0 + JMP libc___sysctl(SB) +TEXT ·libc_utimes_trampoline(SB),NOSPLIT,$0-0 + JMP libc_utimes(SB) +TEXT ·libc_futimes_trampoline(SB),NOSPLIT,$0-0 + JMP libc_futimes(SB) +TEXT ·libc_fcntl_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fcntl(SB) +TEXT ·libc_poll_trampoline(SB),NOSPLIT,$0-0 + JMP libc_poll(SB) +TEXT ·libc_madvise_trampoline(SB),NOSPLIT,$0-0 + JMP libc_madvise(SB) +TEXT ·libc_mlock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mlock(SB) +TEXT ·libc_mlockall_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mlockall(SB) +TEXT ·libc_mprotect_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mprotect(SB) +TEXT ·libc_msync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_msync(SB) +TEXT ·libc_munlock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munlock(SB) +TEXT ·libc_munlockall_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munlockall(SB) +TEXT ·libc_ptrace_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ptrace(SB) +TEXT ·libc_getattrlist_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getattrlist(SB) +TEXT ·libc_pipe_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pipe(SB) +TEXT ·libc_getxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getxattr(SB) +TEXT ·libc_fgetxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fgetxattr(SB) +TEXT ·libc_setxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setxattr(SB) +TEXT ·libc_fsetxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fsetxattr(SB) +TEXT ·libc_removexattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_removexattr(SB) +TEXT ·libc_fremovexattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fremovexattr(SB) +TEXT ·libc_listxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_listxattr(SB) +TEXT ·libc_flistxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_flistxattr(SB) +TEXT ·libc_setattrlist_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setattrlist(SB) +TEXT ·libc_kill_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kill(SB) +TEXT ·libc_ioctl_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ioctl(SB) +TEXT ·libc_sendfile_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendfile(SB) +TEXT ·libc_access_trampoline(SB),NOSPLIT,$0-0 + JMP libc_access(SB) +TEXT ·libc_adjtime_trampoline(SB),NOSPLIT,$0-0 + JMP libc_adjtime(SB) +TEXT ·libc_chdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chdir(SB) +TEXT ·libc_chflags_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chflags(SB) +TEXT ·libc_chmod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chmod(SB) +TEXT ·libc_chown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chown(SB) +TEXT ·libc_chroot_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chroot(SB) +TEXT ·libc_clock_gettime_trampoline(SB),NOSPLIT,$0-0 + JMP libc_clock_gettime(SB) +TEXT ·libc_close_trampoline(SB),NOSPLIT,$0-0 + JMP libc_close(SB) +TEXT ·libc_dup_trampoline(SB),NOSPLIT,$0-0 + JMP libc_dup(SB) +TEXT ·libc_dup2_trampoline(SB),NOSPLIT,$0-0 + JMP libc_dup2(SB) +TEXT ·libc_exchangedata_trampoline(SB),NOSPLIT,$0-0 + JMP libc_exchangedata(SB) +TEXT ·libc_exit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_exit(SB) +TEXT ·libc_faccessat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_faccessat(SB) +TEXT ·libc_fchdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchdir(SB) +TEXT ·libc_fchflags_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchflags(SB) +TEXT ·libc_fchmod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchmod(SB) +TEXT ·libc_fchmodat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchmodat(SB) +TEXT ·libc_fchown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchown(SB) +TEXT ·libc_fchownat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchownat(SB) +TEXT ·libc_flock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_flock(SB) +TEXT ·libc_fpathconf_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fpathconf(SB) +TEXT ·libc_fsync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fsync(SB) +TEXT ·libc_ftruncate_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ftruncate(SB) +TEXT ·libc_getdtablesize_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getdtablesize(SB) +TEXT ·libc_getegid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getegid(SB) +TEXT ·libc_geteuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_geteuid(SB) +TEXT ·libc_getgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getgid(SB) +TEXT ·libc_getpgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpgid(SB) +TEXT ·libc_getpgrp_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpgrp(SB) +TEXT ·libc_getpid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpid(SB) +TEXT ·libc_getppid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getppid(SB) +TEXT ·libc_getpriority_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpriority(SB) +TEXT ·libc_getrlimit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getrlimit(SB) +TEXT ·libc_getrusage_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getrusage(SB) +TEXT ·libc_getsid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsid(SB) +TEXT ·libc_getuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getuid(SB) +TEXT ·libc_issetugid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_issetugid(SB) +TEXT ·libc_kqueue_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kqueue(SB) +TEXT ·libc_lchown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lchown(SB) +TEXT ·libc_link_trampoline(SB),NOSPLIT,$0-0 + JMP libc_link(SB) +TEXT ·libc_linkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_linkat(SB) +TEXT ·libc_listen_trampoline(SB),NOSPLIT,$0-0 + JMP libc_listen(SB) +TEXT ·libc_mkdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkdir(SB) +TEXT ·libc_mkdirat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkdirat(SB) +TEXT ·libc_mkfifo_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkfifo(SB) +TEXT ·libc_mknod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mknod(SB) +TEXT ·libc_open_trampoline(SB),NOSPLIT,$0-0 + JMP libc_open(SB) +TEXT ·libc_openat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_openat(SB) +TEXT ·libc_pathconf_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pathconf(SB) +TEXT ·libc_pread_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pread(SB) +TEXT ·libc_pwrite_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pwrite(SB) +TEXT ·libc_read_trampoline(SB),NOSPLIT,$0-0 + JMP libc_read(SB) +TEXT ·libc_readlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_readlink(SB) +TEXT ·libc_readlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_readlinkat(SB) +TEXT ·libc_rename_trampoline(SB),NOSPLIT,$0-0 + JMP libc_rename(SB) +TEXT ·libc_renameat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_renameat(SB) +TEXT ·libc_revoke_trampoline(SB),NOSPLIT,$0-0 + JMP libc_revoke(SB) +TEXT ·libc_rmdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_rmdir(SB) +TEXT ·libc_lseek_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lseek(SB) +TEXT ·libc_select_trampoline(SB),NOSPLIT,$0-0 + JMP libc_select(SB) +TEXT ·libc_setegid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setegid(SB) +TEXT ·libc_seteuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_seteuid(SB) +TEXT ·libc_setgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setgid(SB) +TEXT ·libc_setlogin_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setlogin(SB) +TEXT ·libc_setpgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setpgid(SB) +TEXT ·libc_setpriority_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setpriority(SB) +TEXT ·libc_setprivexec_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setprivexec(SB) +TEXT ·libc_setregid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setregid(SB) +TEXT ·libc_setreuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setreuid(SB) +TEXT ·libc_setrlimit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setrlimit(SB) +TEXT ·libc_setsid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setsid(SB) +TEXT ·libc_settimeofday_trampoline(SB),NOSPLIT,$0-0 + JMP libc_settimeofday(SB) +TEXT ·libc_setuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setuid(SB) +TEXT ·libc_symlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_symlink(SB) +TEXT ·libc_symlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_symlinkat(SB) +TEXT ·libc_sync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sync(SB) +TEXT ·libc_truncate_trampoline(SB),NOSPLIT,$0-0 + JMP libc_truncate(SB) +TEXT ·libc_umask_trampoline(SB),NOSPLIT,$0-0 + JMP libc_umask(SB) +TEXT ·libc_undelete_trampoline(SB),NOSPLIT,$0-0 + JMP libc_undelete(SB) +TEXT ·libc_unlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unlink(SB) +TEXT ·libc_unlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unlinkat(SB) +TEXT ·libc_unmount_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unmount(SB) +TEXT ·libc_write_trampoline(SB),NOSPLIT,$0-0 + JMP libc_write(SB) +TEXT ·libc_mmap_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mmap(SB) +TEXT ·libc_munmap_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munmap(SB) +TEXT ·libc_gettimeofday_trampoline(SB),NOSPLIT,$0-0 + JMP libc_gettimeofday(SB) +TEXT ·libc_fstat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstat64(SB) +TEXT ·libc_fstatat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstatat64(SB) +TEXT ·libc_fstatfs64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstatfs64(SB) +TEXT ·libc___getdirentries64_trampoline(SB),NOSPLIT,$0-0 + JMP libc___getdirentries64(SB) +TEXT ·libc_getfsstat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getfsstat64(SB) +TEXT ·libc_lstat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lstat64(SB) +TEXT ·libc_stat64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_stat64(SB) +TEXT ·libc_statfs64_trampoline(SB),NOSPLIT,$0-0 + JMP libc_statfs64(SB) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_11.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_11.go new file mode 100644 index 000000000..f8caecef0 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_11.go @@ -0,0 +1,1793 @@ +// go run mksyscall.go -l32 -tags darwin,arm,!go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,arm,!go1.12 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := Syscall6(SYS_GETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func removexattr(path string, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fremovexattr(fd int, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { + r0, _, e1 := Syscall6(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := Syscall6(SYS_SETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { + _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(offset>>32), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) { + r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + sec = int32(r0) + usec = int32(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(buf), uintptr(size), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go new file mode 100644 index 000000000..01cffbf46 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go @@ -0,0 +1,2483 @@ +// go run mksyscall.go -l32 -tags darwin,arm,go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,arm,go1.12 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getgroups_trampoline() + +//go:linkname libc_getgroups libc_getgroups +//go:cgo_import_dynamic libc_getgroups getgroups "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setgroups_trampoline() + +//go:linkname libc_setgroups libc_setgroups +//go:cgo_import_dynamic libc_setgroups setgroups "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_wait4_trampoline), uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_wait4_trampoline() + +//go:linkname libc_wait4 libc_wait4 +//go:cgo_import_dynamic libc_wait4 wait4 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_accept_trampoline), uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_accept_trampoline() + +//go:linkname libc_accept libc_accept +//go:cgo_import_dynamic libc_accept accept "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_bind_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_bind_trampoline() + +//go:linkname libc_bind libc_bind +//go:cgo_import_dynamic libc_bind bind "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_connect_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_connect_trampoline() + +//go:linkname libc_connect libc_connect +//go:cgo_import_dynamic libc_connect connect "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_socket_trampoline), uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_socket_trampoline() + +//go:linkname libc_socket libc_socket +//go:cgo_import_dynamic libc_socket socket "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_getsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsockopt_trampoline() + +//go:linkname libc_getsockopt libc_getsockopt +//go:cgo_import_dynamic libc_getsockopt getsockopt "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_setsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setsockopt_trampoline() + +//go:linkname libc_setsockopt libc_setsockopt +//go:cgo_import_dynamic libc_setsockopt setsockopt "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getpeername_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpeername_trampoline() + +//go:linkname libc_getpeername libc_getpeername +//go:cgo_import_dynamic libc_getpeername getpeername "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getsockname_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsockname_trampoline() + +//go:linkname libc_getsockname libc_getsockname +//go:cgo_import_dynamic libc_getsockname getsockname "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_shutdown_trampoline), uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_shutdown_trampoline() + +//go:linkname libc_shutdown libc_shutdown +//go:cgo_import_dynamic libc_shutdown shutdown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := syscall_rawSyscall6(funcPC(libc_socketpair_trampoline), uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_socketpair_trampoline() + +//go:linkname libc_socketpair libc_socketpair +//go:cgo_import_dynamic libc_socketpair socketpair "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_recvfrom_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_recvfrom_trampoline() + +//go:linkname libc_recvfrom libc_recvfrom +//go:cgo_import_dynamic libc_recvfrom recvfrom "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall6(funcPC(libc_sendto_trampoline), uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendto_trampoline() + +//go:linkname libc_sendto libc_sendto +//go:cgo_import_dynamic libc_sendto sendto "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_recvmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_recvmsg_trampoline() + +//go:linkname libc_recvmsg libc_recvmsg +//go:cgo_import_dynamic libc_recvmsg recvmsg "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_sendmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendmsg_trampoline() + +//go:linkname libc_sendmsg libc_sendmsg +//go:cgo_import_dynamic libc_sendmsg sendmsg "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_kevent_trampoline), uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kevent_trampoline() + +//go:linkname libc_kevent libc_kevent +//go:cgo_import_dynamic libc_kevent kevent "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall6(funcPC(libc___sysctl_trampoline), uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc___sysctl_trampoline() + +//go:linkname libc___sysctl libc___sysctl +//go:cgo_import_dynamic libc___sysctl __sysctl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_utimes_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_utimes_trampoline() + +//go:linkname libc_utimes libc_utimes +//go:cgo_import_dynamic libc_utimes utimes "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_futimes_trampoline), uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_futimes_trampoline() + +//go:linkname libc_futimes libc_futimes +//go:cgo_import_dynamic libc_futimes futimes "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_fcntl_trampoline), uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fcntl_trampoline() + +//go:linkname libc_fcntl libc_fcntl +//go:cgo_import_dynamic libc_fcntl fcntl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_poll_trampoline), uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_poll_trampoline() + +//go:linkname libc_poll libc_poll +//go:cgo_import_dynamic libc_poll poll "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_madvise_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_madvise_trampoline() + +//go:linkname libc_madvise libc_madvise +//go:cgo_import_dynamic libc_madvise madvise "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_mlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mlock_trampoline() + +//go:linkname libc_mlock libc_mlock +//go:cgo_import_dynamic libc_mlock mlock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_mlockall_trampoline), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mlockall_trampoline() + +//go:linkname libc_mlockall libc_mlockall +//go:cgo_import_dynamic libc_mlockall mlockall "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_mprotect_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mprotect_trampoline() + +//go:linkname libc_mprotect libc_mprotect +//go:cgo_import_dynamic libc_mprotect mprotect "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_msync_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_msync_trampoline() + +//go:linkname libc_msync libc_msync +//go:cgo_import_dynamic libc_msync msync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_munlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munlock_trampoline() + +//go:linkname libc_munlock libc_munlock +//go:cgo_import_dynamic libc_munlock munlock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_munlockall_trampoline), 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munlockall_trampoline() + +//go:linkname libc_munlockall libc_munlockall +//go:cgo_import_dynamic libc_munlockall munlockall "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_ptrace_trampoline), uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ptrace_trampoline() + +//go:linkname libc_ptrace libc_ptrace +//go:cgo_import_dynamic libc_ptrace ptrace "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_getattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getattrlist_trampoline() + +//go:linkname libc_getattrlist libc_getattrlist +//go:cgo_import_dynamic libc_getattrlist getattrlist "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pipe_trampoline() + +//go:linkname libc_pipe libc_pipe +//go:cgo_import_dynamic libc_pipe pipe "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_getxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getxattr_trampoline() + +//go:linkname libc_getxattr libc_getxattr +//go:cgo_import_dynamic libc_getxattr getxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_fgetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fgetxattr_trampoline() + +//go:linkname libc_fgetxattr libc_fgetxattr +//go:cgo_import_dynamic libc_fgetxattr fgetxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_setxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setxattr_trampoline() + +//go:linkname libc_setxattr libc_setxattr +//go:cgo_import_dynamic libc_setxattr setxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fsetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fsetxattr_trampoline() + +//go:linkname libc_fsetxattr libc_fsetxattr +//go:cgo_import_dynamic libc_fsetxattr fsetxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func removexattr(path string, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_removexattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_removexattr_trampoline() + +//go:linkname libc_removexattr libc_removexattr +//go:cgo_import_dynamic libc_removexattr removexattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fremovexattr(fd int, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_fremovexattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fremovexattr_trampoline() + +//go:linkname libc_fremovexattr libc_fremovexattr +//go:cgo_import_dynamic libc_fremovexattr fremovexattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_listxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_listxattr_trampoline() + +//go:linkname libc_listxattr libc_listxattr +//go:cgo_import_dynamic libc_listxattr listxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_flistxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_flistxattr_trampoline() + +//go:linkname libc_flistxattr libc_flistxattr +//go:cgo_import_dynamic libc_flistxattr flistxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_setattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setattrlist_trampoline() + +//go:linkname libc_setattrlist libc_setattrlist +//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_kill_trampoline), uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kill_trampoline() + +//go:linkname libc_kill libc_kill +//go:cgo_import_dynamic libc_kill kill "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_ioctl_trampoline), uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ioctl_trampoline() + +//go:linkname libc_ioctl libc_ioctl +//go:cgo_import_dynamic libc_ioctl ioctl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { + _, _, e1 := syscall_syscall9(funcPC(libc_sendfile_trampoline), uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(offset>>32), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendfile_trampoline() + +//go:linkname libc_sendfile libc_sendfile +//go:cgo_import_dynamic libc_sendfile sendfile "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_access_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_access_trampoline() + +//go:linkname libc_access libc_access +//go:cgo_import_dynamic libc_access access "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_adjtime_trampoline), uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_adjtime_trampoline() + +//go:linkname libc_adjtime libc_adjtime +//go:cgo_import_dynamic libc_adjtime adjtime "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chdir_trampoline() + +//go:linkname libc_chdir libc_chdir +//go:cgo_import_dynamic libc_chdir chdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chflags_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chflags_trampoline() + +//go:linkname libc_chflags libc_chflags +//go:cgo_import_dynamic libc_chflags chflags "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chmod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chmod_trampoline() + +//go:linkname libc_chmod libc_chmod +//go:cgo_import_dynamic libc_chmod chmod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chown_trampoline() + +//go:linkname libc_chown libc_chown +//go:cgo_import_dynamic libc_chown chown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chroot_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chroot_trampoline() + +//go:linkname libc_chroot libc_chroot +//go:cgo_import_dynamic libc_chroot chroot "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_close_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_close_trampoline() + +//go:linkname libc_close libc_close +//go:cgo_import_dynamic libc_close close "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_dup_trampoline), uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_dup_trampoline() + +//go:linkname libc_dup libc_dup +//go:cgo_import_dynamic libc_dup dup "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_dup2_trampoline), uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_dup2_trampoline() + +//go:linkname libc_dup2 libc_dup2 +//go:cgo_import_dynamic libc_dup2 dup2 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_exchangedata_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_exchangedata_trampoline() + +//go:linkname libc_exchangedata libc_exchangedata +//go:cgo_import_dynamic libc_exchangedata exchangedata "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + syscall_syscall(funcPC(libc_exit_trampoline), uintptr(code), 0, 0) + return +} + +func libc_exit_trampoline() + +//go:linkname libc_exit libc_exit +//go:cgo_import_dynamic libc_exit exit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_faccessat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_faccessat_trampoline() + +//go:linkname libc_faccessat libc_faccessat +//go:cgo_import_dynamic libc_faccessat faccessat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchdir_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchdir_trampoline() + +//go:linkname libc_fchdir libc_fchdir +//go:cgo_import_dynamic libc_fchdir fchdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchflags_trampoline), uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchflags_trampoline() + +//go:linkname libc_fchflags libc_fchflags +//go:cgo_import_dynamic libc_fchflags fchflags "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchmod_trampoline), uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchmod_trampoline() + +//go:linkname libc_fchmod libc_fchmod +//go:cgo_import_dynamic libc_fchmod fchmod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fchmodat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchmodat_trampoline() + +//go:linkname libc_fchmodat libc_fchmodat +//go:cgo_import_dynamic libc_fchmodat fchmodat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchown_trampoline), uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchown_trampoline() + +//go:linkname libc_fchown libc_fchown +//go:cgo_import_dynamic libc_fchown fchown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fchownat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchownat_trampoline() + +//go:linkname libc_fchownat libc_fchownat +//go:cgo_import_dynamic libc_fchownat fchownat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_flock_trampoline), uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_flock_trampoline() + +//go:linkname libc_flock libc_flock +//go:cgo_import_dynamic libc_flock flock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_fpathconf_trampoline), uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fpathconf_trampoline() + +//go:linkname libc_fpathconf libc_fpathconf +//go:cgo_import_dynamic libc_fpathconf fpathconf "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fsync_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fsync_trampoline() + +//go:linkname libc_fsync libc_fsync +//go:cgo_import_dynamic libc_fsync fsync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_ftruncate_trampoline), uintptr(fd), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ftruncate_trampoline() + +//go:linkname libc_ftruncate libc_ftruncate +//go:cgo_import_dynamic libc_ftruncate ftruncate "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := syscall_syscall(funcPC(libc_getdtablesize_trampoline), 0, 0, 0) + size = int(r0) + return +} + +func libc_getdtablesize_trampoline() + +//go:linkname libc_getdtablesize libc_getdtablesize +//go:cgo_import_dynamic libc_getdtablesize getdtablesize "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getegid_trampoline), 0, 0, 0) + egid = int(r0) + return +} + +func libc_getegid_trampoline() + +//go:linkname libc_getegid libc_getegid +//go:cgo_import_dynamic libc_getegid getegid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_geteuid_trampoline), 0, 0, 0) + uid = int(r0) + return +} + +func libc_geteuid_trampoline() + +//go:linkname libc_geteuid libc_geteuid +//go:cgo_import_dynamic libc_geteuid geteuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getgid_trampoline), 0, 0, 0) + gid = int(r0) + return +} + +func libc_getgid_trampoline() + +//go:linkname libc_getgid libc_getgid +//go:cgo_import_dynamic libc_getgid getgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getpgid_trampoline), uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpgid_trampoline() + +//go:linkname libc_getpgid libc_getpgid +//go:cgo_import_dynamic libc_getpgid getpgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getpgrp_trampoline), 0, 0, 0) + pgrp = int(r0) + return +} + +func libc_getpgrp_trampoline() + +//go:linkname libc_getpgrp libc_getpgrp +//go:cgo_import_dynamic libc_getpgrp getpgrp "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getpid_trampoline), 0, 0, 0) + pid = int(r0) + return +} + +func libc_getpid_trampoline() + +//go:linkname libc_getpid libc_getpid +//go:cgo_import_dynamic libc_getpid getpid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getppid_trampoline), 0, 0, 0) + ppid = int(r0) + return +} + +func libc_getppid_trampoline() + +//go:linkname libc_getppid libc_getppid +//go:cgo_import_dynamic libc_getppid getppid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_getpriority_trampoline), uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpriority_trampoline() + +//go:linkname libc_getpriority libc_getpriority +//go:cgo_import_dynamic libc_getpriority getpriority "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getrlimit_trampoline() + +//go:linkname libc_getrlimit libc_getrlimit +//go:cgo_import_dynamic libc_getrlimit getrlimit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getrusage_trampoline), uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getrusage_trampoline() + +//go:linkname libc_getrusage libc_getrusage +//go:cgo_import_dynamic libc_getrusage getrusage "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getsid_trampoline), uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsid_trampoline() + +//go:linkname libc_getsid libc_getsid +//go:cgo_import_dynamic libc_getsid getsid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getuid_trampoline), 0, 0, 0) + uid = int(r0) + return +} + +func libc_getuid_trampoline() + +//go:linkname libc_getuid libc_getuid +//go:cgo_import_dynamic libc_getuid getuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_issetugid_trampoline), 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +func libc_issetugid_trampoline() + +//go:linkname libc_issetugid libc_issetugid +//go:cgo_import_dynamic libc_issetugid issetugid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_kqueue_trampoline), 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kqueue_trampoline() + +//go:linkname libc_kqueue libc_kqueue +//go:cgo_import_dynamic libc_kqueue kqueue "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_lchown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lchown_trampoline() + +//go:linkname libc_lchown libc_lchown +//go:cgo_import_dynamic libc_lchown lchown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_link_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_link_trampoline() + +//go:linkname libc_link libc_link +//go:cgo_import_dynamic libc_link link "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_linkat_trampoline), uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_linkat_trampoline() + +//go:linkname libc_linkat libc_linkat +//go:cgo_import_dynamic libc_linkat linkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_listen_trampoline), uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_listen_trampoline() + +//go:linkname libc_listen libc_listen +//go:cgo_import_dynamic libc_listen listen "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkdir_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkdir_trampoline() + +//go:linkname libc_mkdir libc_mkdir +//go:cgo_import_dynamic libc_mkdir mkdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkdirat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkdirat_trampoline() + +//go:linkname libc_mkdirat libc_mkdirat +//go:cgo_import_dynamic libc_mkdirat mkdirat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkfifo_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkfifo_trampoline() + +//go:linkname libc_mkfifo libc_mkfifo +//go:cgo_import_dynamic libc_mkfifo mkfifo "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mknod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mknod_trampoline() + +//go:linkname libc_mknod libc_mknod +//go:cgo_import_dynamic libc_mknod mknod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall(funcPC(libc_open_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_open_trampoline() + +//go:linkname libc_open libc_open +//go:cgo_import_dynamic libc_open open "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_openat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_openat_trampoline() + +//go:linkname libc_openat libc_openat +//go:cgo_import_dynamic libc_openat openat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall(funcPC(libc_pathconf_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pathconf_trampoline() + +//go:linkname libc_pathconf libc_pathconf +//go:cgo_import_dynamic libc_pathconf pathconf "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_pread_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pread_trampoline() + +//go:linkname libc_pread libc_pread +//go:cgo_import_dynamic libc_pread pread "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_pwrite_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pwrite_trampoline() + +//go:linkname libc_pwrite libc_pwrite +//go:cgo_import_dynamic libc_pwrite pwrite "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_read_trampoline() + +//go:linkname libc_read libc_read +//go:cgo_import_dynamic libc_read read "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_readlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_readlink_trampoline() + +//go:linkname libc_readlink libc_readlink +//go:cgo_import_dynamic libc_readlink readlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_readlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_readlinkat_trampoline() + +//go:linkname libc_readlinkat libc_readlinkat +//go:cgo_import_dynamic libc_readlinkat readlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_rename_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_rename_trampoline() + +//go:linkname libc_rename libc_rename +//go:cgo_import_dynamic libc_rename rename "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_renameat_trampoline), uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_renameat_trampoline() + +//go:linkname libc_renameat libc_renameat +//go:cgo_import_dynamic libc_renameat renameat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_revoke_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_revoke_trampoline() + +//go:linkname libc_revoke libc_revoke +//go:cgo_import_dynamic libc_revoke revoke "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_rmdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_rmdir_trampoline() + +//go:linkname libc_rmdir libc_rmdir +//go:cgo_import_dynamic libc_rmdir rmdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := syscall_syscall6(funcPC(libc_lseek_trampoline), uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lseek_trampoline() + +//go:linkname libc_lseek libc_lseek +//go:cgo_import_dynamic libc_lseek lseek "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_select_trampoline), uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_select_trampoline() + +//go:linkname libc_select libc_select +//go:cgo_import_dynamic libc_select select "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setegid_trampoline), uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setegid_trampoline() + +//go:linkname libc_setegid libc_setegid +//go:cgo_import_dynamic libc_setegid setegid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_seteuid_trampoline), uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_seteuid_trampoline() + +//go:linkname libc_seteuid libc_seteuid +//go:cgo_import_dynamic libc_seteuid seteuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setgid_trampoline), uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setgid_trampoline() + +//go:linkname libc_setgid libc_setgid +//go:cgo_import_dynamic libc_setgid setgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_setlogin_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setlogin_trampoline() + +//go:linkname libc_setlogin libc_setlogin +//go:cgo_import_dynamic libc_setlogin setlogin "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setpgid_trampoline), uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setpgid_trampoline() + +//go:linkname libc_setpgid libc_setpgid +//go:cgo_import_dynamic libc_setpgid setpgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setpriority_trampoline), uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setpriority_trampoline() + +//go:linkname libc_setpriority libc_setpriority +//go:cgo_import_dynamic libc_setpriority setpriority "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setprivexec_trampoline), uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setprivexec_trampoline() + +//go:linkname libc_setprivexec libc_setprivexec +//go:cgo_import_dynamic libc_setprivexec setprivexec "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setregid_trampoline), uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setregid_trampoline() + +//go:linkname libc_setregid libc_setregid +//go:cgo_import_dynamic libc_setregid setregid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setreuid_trampoline), uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setreuid_trampoline() + +//go:linkname libc_setreuid libc_setreuid +//go:cgo_import_dynamic libc_setreuid setreuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setrlimit_trampoline() + +//go:linkname libc_setrlimit libc_setrlimit +//go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_setsid_trampoline), 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setsid_trampoline() + +//go:linkname libc_setsid libc_setsid +//go:cgo_import_dynamic libc_setsid setsid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_settimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_settimeofday_trampoline() + +//go:linkname libc_settimeofday libc_settimeofday +//go:cgo_import_dynamic libc_settimeofday settimeofday "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setuid_trampoline), uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setuid_trampoline() + +//go:linkname libc_setuid libc_setuid +//go:cgo_import_dynamic libc_setuid setuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_symlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_symlink_trampoline() + +//go:linkname libc_symlink libc_symlink +//go:cgo_import_dynamic libc_symlink symlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_symlinkat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_symlinkat_trampoline() + +//go:linkname libc_symlinkat libc_symlinkat +//go:cgo_import_dynamic libc_symlinkat symlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_sync_trampoline), 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sync_trampoline() + +//go:linkname libc_sync libc_sync +//go:cgo_import_dynamic libc_sync sync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_truncate_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_truncate_trampoline() + +//go:linkname libc_truncate libc_truncate +//go:cgo_import_dynamic libc_truncate truncate "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := syscall_syscall(funcPC(libc_umask_trampoline), uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +func libc_umask_trampoline() + +//go:linkname libc_umask libc_umask +//go:cgo_import_dynamic libc_umask umask "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_undelete_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_undelete_trampoline() + +//go:linkname libc_undelete libc_undelete +//go:cgo_import_dynamic libc_undelete undelete "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unlink_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unlink_trampoline() + +//go:linkname libc_unlink libc_unlink +//go:cgo_import_dynamic libc_unlink unlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unlinkat_trampoline() + +//go:linkname libc_unlinkat libc_unlinkat +//go:cgo_import_dynamic libc_unlinkat unlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unmount_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unmount_trampoline() + +//go:linkname libc_unmount libc_unmount +//go:cgo_import_dynamic libc_unmount unmount "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_write_trampoline() + +//go:linkname libc_write libc_write +//go:cgo_import_dynamic libc_write write "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := syscall_syscall9(funcPC(libc_mmap_trampoline), uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mmap_trampoline() + +//go:linkname libc_mmap libc_mmap +//go:cgo_import_dynamic libc_mmap mmap "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_munmap_trampoline), uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munmap_trampoline() + +//go:linkname libc_munmap libc_munmap +//go:cgo_import_dynamic libc_munmap munmap "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) { + r0, r1, e1 := syscall_rawSyscall(funcPC(libc_gettimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) + sec = int32(r0) + usec = int32(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_gettimeofday_trampoline() + +//go:linkname libc_gettimeofday libc_gettimeofday +//go:cgo_import_dynamic libc_gettimeofday gettimeofday "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fstat_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstat_trampoline() + +//go:linkname libc_fstat libc_fstat +//go:cgo_import_dynamic libc_fstat fstat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fstatat_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstatat_trampoline() + +//go:linkname libc_fstatat libc_fstatat +//go:cgo_import_dynamic libc_fstatat fstatat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fstatfs_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstatfs_trampoline() + +//go:linkname libc_fstatfs libc_fstatfs +//go:cgo_import_dynamic libc_fstatfs fstatfs "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_getfsstat_trampoline), uintptr(buf), uintptr(size), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getfsstat_trampoline() + +//go:linkname libc_getfsstat libc_getfsstat +//go:cgo_import_dynamic libc_getfsstat getfsstat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_lstat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lstat_trampoline() + +//go:linkname libc_lstat libc_lstat +//go:cgo_import_dynamic libc_lstat lstat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_stat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_stat_trampoline() + +//go:linkname libc_stat libc_stat +//go:cgo_import_dynamic libc_stat stat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_statfs_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_statfs_trampoline() + +//go:linkname libc_statfs libc_statfs +//go:cgo_import_dynamic libc_statfs statfs "/usr/lib/libSystem.B.dylib" diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.s new file mode 100644 index 000000000..994056f35 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.s @@ -0,0 +1,282 @@ +// go run mkasm_darwin.go arm +// Code generated by the command above; DO NOT EDIT. + +// +build go1.12 + +#include "textflag.h" +TEXT ·libc_getgroups_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getgroups(SB) +TEXT ·libc_setgroups_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setgroups(SB) +TEXT ·libc_wait4_trampoline(SB),NOSPLIT,$0-0 + JMP libc_wait4(SB) +TEXT ·libc_accept_trampoline(SB),NOSPLIT,$0-0 + JMP libc_accept(SB) +TEXT ·libc_bind_trampoline(SB),NOSPLIT,$0-0 + JMP libc_bind(SB) +TEXT ·libc_connect_trampoline(SB),NOSPLIT,$0-0 + JMP libc_connect(SB) +TEXT ·libc_socket_trampoline(SB),NOSPLIT,$0-0 + JMP libc_socket(SB) +TEXT ·libc_getsockopt_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsockopt(SB) +TEXT ·libc_setsockopt_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setsockopt(SB) +TEXT ·libc_getpeername_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpeername(SB) +TEXT ·libc_getsockname_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsockname(SB) +TEXT ·libc_shutdown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_shutdown(SB) +TEXT ·libc_socketpair_trampoline(SB),NOSPLIT,$0-0 + JMP libc_socketpair(SB) +TEXT ·libc_recvfrom_trampoline(SB),NOSPLIT,$0-0 + JMP libc_recvfrom(SB) +TEXT ·libc_sendto_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendto(SB) +TEXT ·libc_recvmsg_trampoline(SB),NOSPLIT,$0-0 + JMP libc_recvmsg(SB) +TEXT ·libc_sendmsg_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendmsg(SB) +TEXT ·libc_kevent_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kevent(SB) +TEXT ·libc___sysctl_trampoline(SB),NOSPLIT,$0-0 + JMP libc___sysctl(SB) +TEXT ·libc_utimes_trampoline(SB),NOSPLIT,$0-0 + JMP libc_utimes(SB) +TEXT ·libc_futimes_trampoline(SB),NOSPLIT,$0-0 + JMP libc_futimes(SB) +TEXT ·libc_fcntl_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fcntl(SB) +TEXT ·libc_poll_trampoline(SB),NOSPLIT,$0-0 + JMP libc_poll(SB) +TEXT ·libc_madvise_trampoline(SB),NOSPLIT,$0-0 + JMP libc_madvise(SB) +TEXT ·libc_mlock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mlock(SB) +TEXT ·libc_mlockall_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mlockall(SB) +TEXT ·libc_mprotect_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mprotect(SB) +TEXT ·libc_msync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_msync(SB) +TEXT ·libc_munlock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munlock(SB) +TEXT ·libc_munlockall_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munlockall(SB) +TEXT ·libc_ptrace_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ptrace(SB) +TEXT ·libc_getattrlist_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getattrlist(SB) +TEXT ·libc_pipe_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pipe(SB) +TEXT ·libc_getxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getxattr(SB) +TEXT ·libc_fgetxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fgetxattr(SB) +TEXT ·libc_setxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setxattr(SB) +TEXT ·libc_fsetxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fsetxattr(SB) +TEXT ·libc_removexattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_removexattr(SB) +TEXT ·libc_fremovexattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fremovexattr(SB) +TEXT ·libc_listxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_listxattr(SB) +TEXT ·libc_flistxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_flistxattr(SB) +TEXT ·libc_setattrlist_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setattrlist(SB) +TEXT ·libc_kill_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kill(SB) +TEXT ·libc_ioctl_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ioctl(SB) +TEXT ·libc_sendfile_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendfile(SB) +TEXT ·libc_access_trampoline(SB),NOSPLIT,$0-0 + JMP libc_access(SB) +TEXT ·libc_adjtime_trampoline(SB),NOSPLIT,$0-0 + JMP libc_adjtime(SB) +TEXT ·libc_chdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chdir(SB) +TEXT ·libc_chflags_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chflags(SB) +TEXT ·libc_chmod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chmod(SB) +TEXT ·libc_chown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chown(SB) +TEXT ·libc_chroot_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chroot(SB) +TEXT ·libc_close_trampoline(SB),NOSPLIT,$0-0 + JMP libc_close(SB) +TEXT ·libc_dup_trampoline(SB),NOSPLIT,$0-0 + JMP libc_dup(SB) +TEXT ·libc_dup2_trampoline(SB),NOSPLIT,$0-0 + JMP libc_dup2(SB) +TEXT ·libc_exchangedata_trampoline(SB),NOSPLIT,$0-0 + JMP libc_exchangedata(SB) +TEXT ·libc_exit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_exit(SB) +TEXT ·libc_faccessat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_faccessat(SB) +TEXT ·libc_fchdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchdir(SB) +TEXT ·libc_fchflags_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchflags(SB) +TEXT ·libc_fchmod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchmod(SB) +TEXT ·libc_fchmodat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchmodat(SB) +TEXT ·libc_fchown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchown(SB) +TEXT ·libc_fchownat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchownat(SB) +TEXT ·libc_flock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_flock(SB) +TEXT ·libc_fpathconf_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fpathconf(SB) +TEXT ·libc_fsync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fsync(SB) +TEXT ·libc_ftruncate_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ftruncate(SB) +TEXT ·libc_getdtablesize_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getdtablesize(SB) +TEXT ·libc_getegid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getegid(SB) +TEXT ·libc_geteuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_geteuid(SB) +TEXT ·libc_getgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getgid(SB) +TEXT ·libc_getpgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpgid(SB) +TEXT ·libc_getpgrp_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpgrp(SB) +TEXT ·libc_getpid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpid(SB) +TEXT ·libc_getppid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getppid(SB) +TEXT ·libc_getpriority_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpriority(SB) +TEXT ·libc_getrlimit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getrlimit(SB) +TEXT ·libc_getrusage_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getrusage(SB) +TEXT ·libc_getsid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsid(SB) +TEXT ·libc_getuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getuid(SB) +TEXT ·libc_issetugid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_issetugid(SB) +TEXT ·libc_kqueue_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kqueue(SB) +TEXT ·libc_lchown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lchown(SB) +TEXT ·libc_link_trampoline(SB),NOSPLIT,$0-0 + JMP libc_link(SB) +TEXT ·libc_linkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_linkat(SB) +TEXT ·libc_listen_trampoline(SB),NOSPLIT,$0-0 + JMP libc_listen(SB) +TEXT ·libc_mkdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkdir(SB) +TEXT ·libc_mkdirat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkdirat(SB) +TEXT ·libc_mkfifo_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkfifo(SB) +TEXT ·libc_mknod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mknod(SB) +TEXT ·libc_open_trampoline(SB),NOSPLIT,$0-0 + JMP libc_open(SB) +TEXT ·libc_openat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_openat(SB) +TEXT ·libc_pathconf_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pathconf(SB) +TEXT ·libc_pread_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pread(SB) +TEXT ·libc_pwrite_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pwrite(SB) +TEXT ·libc_read_trampoline(SB),NOSPLIT,$0-0 + JMP libc_read(SB) +TEXT ·libc_readlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_readlink(SB) +TEXT ·libc_readlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_readlinkat(SB) +TEXT ·libc_rename_trampoline(SB),NOSPLIT,$0-0 + JMP libc_rename(SB) +TEXT ·libc_renameat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_renameat(SB) +TEXT ·libc_revoke_trampoline(SB),NOSPLIT,$0-0 + JMP libc_revoke(SB) +TEXT ·libc_rmdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_rmdir(SB) +TEXT ·libc_lseek_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lseek(SB) +TEXT ·libc_select_trampoline(SB),NOSPLIT,$0-0 + JMP libc_select(SB) +TEXT ·libc_setegid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setegid(SB) +TEXT ·libc_seteuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_seteuid(SB) +TEXT ·libc_setgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setgid(SB) +TEXT ·libc_setlogin_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setlogin(SB) +TEXT ·libc_setpgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setpgid(SB) +TEXT ·libc_setpriority_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setpriority(SB) +TEXT ·libc_setprivexec_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setprivexec(SB) +TEXT ·libc_setregid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setregid(SB) +TEXT ·libc_setreuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setreuid(SB) +TEXT ·libc_setrlimit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setrlimit(SB) +TEXT ·libc_setsid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setsid(SB) +TEXT ·libc_settimeofday_trampoline(SB),NOSPLIT,$0-0 + JMP libc_settimeofday(SB) +TEXT ·libc_setuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setuid(SB) +TEXT ·libc_symlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_symlink(SB) +TEXT ·libc_symlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_symlinkat(SB) +TEXT ·libc_sync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sync(SB) +TEXT ·libc_truncate_trampoline(SB),NOSPLIT,$0-0 + JMP libc_truncate(SB) +TEXT ·libc_umask_trampoline(SB),NOSPLIT,$0-0 + JMP libc_umask(SB) +TEXT ·libc_undelete_trampoline(SB),NOSPLIT,$0-0 + JMP libc_undelete(SB) +TEXT ·libc_unlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unlink(SB) +TEXT ·libc_unlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unlinkat(SB) +TEXT ·libc_unmount_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unmount(SB) +TEXT ·libc_write_trampoline(SB),NOSPLIT,$0-0 + JMP libc_write(SB) +TEXT ·libc_mmap_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mmap(SB) +TEXT ·libc_munmap_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munmap(SB) +TEXT ·libc_gettimeofday_trampoline(SB),NOSPLIT,$0-0 + JMP libc_gettimeofday(SB) +TEXT ·libc_fstat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstat(SB) +TEXT ·libc_fstatat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstatat(SB) +TEXT ·libc_fstatfs_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstatfs(SB) +TEXT ·libc_getfsstat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getfsstat(SB) +TEXT ·libc_lstat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lstat(SB) +TEXT ·libc_stat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_stat(SB) +TEXT ·libc_statfs_trampoline(SB),NOSPLIT,$0-0 + JMP libc_statfs(SB) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_11.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_11.go new file mode 100644 index 000000000..3fd0f3c85 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_11.go @@ -0,0 +1,1793 @@ +// go run mksyscall.go -tags darwin,arm64,!go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_arm64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,arm64,!go1.12 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := Syscall6(SYS_GETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func removexattr(path string, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fremovexattr(fd int, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { + r0, _, e1 := Syscall6(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := Syscall6(SYS_SETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) { + r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + sec = int64(r0) + usec = int32(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(buf), uintptr(size), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go new file mode 100644 index 000000000..8f2691dee --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go @@ -0,0 +1,2483 @@ +// go run mksyscall.go -tags darwin,arm64,go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_arm64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build darwin,arm64,go1.12 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getgroups_trampoline() + +//go:linkname libc_getgroups libc_getgroups +//go:cgo_import_dynamic libc_getgroups getgroups "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setgroups_trampoline() + +//go:linkname libc_setgroups libc_setgroups +//go:cgo_import_dynamic libc_setgroups setgroups "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_wait4_trampoline), uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_wait4_trampoline() + +//go:linkname libc_wait4 libc_wait4 +//go:cgo_import_dynamic libc_wait4 wait4 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_accept_trampoline), uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_accept_trampoline() + +//go:linkname libc_accept libc_accept +//go:cgo_import_dynamic libc_accept accept "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_bind_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_bind_trampoline() + +//go:linkname libc_bind libc_bind +//go:cgo_import_dynamic libc_bind bind "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_connect_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_connect_trampoline() + +//go:linkname libc_connect libc_connect +//go:cgo_import_dynamic libc_connect connect "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_socket_trampoline), uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_socket_trampoline() + +//go:linkname libc_socket libc_socket +//go:cgo_import_dynamic libc_socket socket "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_getsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsockopt_trampoline() + +//go:linkname libc_getsockopt libc_getsockopt +//go:cgo_import_dynamic libc_getsockopt getsockopt "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_setsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setsockopt_trampoline() + +//go:linkname libc_setsockopt libc_setsockopt +//go:cgo_import_dynamic libc_setsockopt setsockopt "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getpeername_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpeername_trampoline() + +//go:linkname libc_getpeername libc_getpeername +//go:cgo_import_dynamic libc_getpeername getpeername "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getsockname_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsockname_trampoline() + +//go:linkname libc_getsockname libc_getsockname +//go:cgo_import_dynamic libc_getsockname getsockname "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_shutdown_trampoline), uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_shutdown_trampoline() + +//go:linkname libc_shutdown libc_shutdown +//go:cgo_import_dynamic libc_shutdown shutdown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := syscall_rawSyscall6(funcPC(libc_socketpair_trampoline), uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_socketpair_trampoline() + +//go:linkname libc_socketpair libc_socketpair +//go:cgo_import_dynamic libc_socketpair socketpair "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_recvfrom_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_recvfrom_trampoline() + +//go:linkname libc_recvfrom libc_recvfrom +//go:cgo_import_dynamic libc_recvfrom recvfrom "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall6(funcPC(libc_sendto_trampoline), uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendto_trampoline() + +//go:linkname libc_sendto libc_sendto +//go:cgo_import_dynamic libc_sendto sendto "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_recvmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_recvmsg_trampoline() + +//go:linkname libc_recvmsg libc_recvmsg +//go:cgo_import_dynamic libc_recvmsg recvmsg "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_sendmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendmsg_trampoline() + +//go:linkname libc_sendmsg libc_sendmsg +//go:cgo_import_dynamic libc_sendmsg sendmsg "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_kevent_trampoline), uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kevent_trampoline() + +//go:linkname libc_kevent libc_kevent +//go:cgo_import_dynamic libc_kevent kevent "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall6(funcPC(libc___sysctl_trampoline), uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc___sysctl_trampoline() + +//go:linkname libc___sysctl libc___sysctl +//go:cgo_import_dynamic libc___sysctl __sysctl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_utimes_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_utimes_trampoline() + +//go:linkname libc_utimes libc_utimes +//go:cgo_import_dynamic libc_utimes utimes "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_futimes_trampoline), uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_futimes_trampoline() + +//go:linkname libc_futimes libc_futimes +//go:cgo_import_dynamic libc_futimes futimes "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_fcntl_trampoline), uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fcntl_trampoline() + +//go:linkname libc_fcntl libc_fcntl +//go:cgo_import_dynamic libc_fcntl fcntl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_poll_trampoline), uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_poll_trampoline() + +//go:linkname libc_poll libc_poll +//go:cgo_import_dynamic libc_poll poll "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_madvise_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_madvise_trampoline() + +//go:linkname libc_madvise libc_madvise +//go:cgo_import_dynamic libc_madvise madvise "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_mlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mlock_trampoline() + +//go:linkname libc_mlock libc_mlock +//go:cgo_import_dynamic libc_mlock mlock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_mlockall_trampoline), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mlockall_trampoline() + +//go:linkname libc_mlockall libc_mlockall +//go:cgo_import_dynamic libc_mlockall mlockall "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_mprotect_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mprotect_trampoline() + +//go:linkname libc_mprotect libc_mprotect +//go:cgo_import_dynamic libc_mprotect mprotect "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_msync_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_msync_trampoline() + +//go:linkname libc_msync libc_msync +//go:cgo_import_dynamic libc_msync msync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall(funcPC(libc_munlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munlock_trampoline() + +//go:linkname libc_munlock libc_munlock +//go:cgo_import_dynamic libc_munlock munlock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_munlockall_trampoline), 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munlockall_trampoline() + +//go:linkname libc_munlockall libc_munlockall +//go:cgo_import_dynamic libc_munlockall munlockall "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_ptrace_trampoline), uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ptrace_trampoline() + +//go:linkname libc_ptrace libc_ptrace +//go:cgo_import_dynamic libc_ptrace ptrace "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_getattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getattrlist_trampoline() + +//go:linkname libc_getattrlist libc_getattrlist +//go:cgo_import_dynamic libc_getattrlist getattrlist "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pipe_trampoline() + +//go:linkname libc_pipe libc_pipe +//go:cgo_import_dynamic libc_pipe pipe "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_getxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getxattr_trampoline() + +//go:linkname libc_getxattr libc_getxattr +//go:cgo_import_dynamic libc_getxattr getxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_fgetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fgetxattr_trampoline() + +//go:linkname libc_fgetxattr libc_fgetxattr +//go:cgo_import_dynamic libc_fgetxattr fgetxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_setxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setxattr_trampoline() + +//go:linkname libc_setxattr libc_setxattr +//go:cgo_import_dynamic libc_setxattr setxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fsetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fsetxattr_trampoline() + +//go:linkname libc_fsetxattr libc_fsetxattr +//go:cgo_import_dynamic libc_fsetxattr fsetxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func removexattr(path string, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_removexattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_removexattr_trampoline() + +//go:linkname libc_removexattr libc_removexattr +//go:cgo_import_dynamic libc_removexattr removexattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fremovexattr(fd int, attr string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_fremovexattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fremovexattr_trampoline() + +//go:linkname libc_fremovexattr libc_fremovexattr +//go:cgo_import_dynamic libc_fremovexattr fremovexattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_listxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_listxattr_trampoline() + +//go:linkname libc_listxattr libc_listxattr +//go:cgo_import_dynamic libc_listxattr listxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_flistxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_flistxattr_trampoline() + +//go:linkname libc_flistxattr libc_flistxattr +//go:cgo_import_dynamic libc_flistxattr flistxattr "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_setattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setattrlist_trampoline() + +//go:linkname libc_setattrlist libc_setattrlist +//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kill(pid int, signum int, posix int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_kill_trampoline), uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kill_trampoline() + +//go:linkname libc_kill libc_kill +//go:cgo_import_dynamic libc_kill kill "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_ioctl_trampoline), uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ioctl_trampoline() + +//go:linkname libc_ioctl libc_ioctl +//go:cgo_import_dynamic libc_ioctl ioctl "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_sendfile_trampoline), uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sendfile_trampoline() + +//go:linkname libc_sendfile libc_sendfile +//go:cgo_import_dynamic libc_sendfile sendfile "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_access_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_access_trampoline() + +//go:linkname libc_access libc_access +//go:cgo_import_dynamic libc_access access "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_adjtime_trampoline), uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_adjtime_trampoline() + +//go:linkname libc_adjtime libc_adjtime +//go:cgo_import_dynamic libc_adjtime adjtime "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chdir_trampoline() + +//go:linkname libc_chdir libc_chdir +//go:cgo_import_dynamic libc_chdir chdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chflags_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chflags_trampoline() + +//go:linkname libc_chflags libc_chflags +//go:cgo_import_dynamic libc_chflags chflags "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chmod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chmod_trampoline() + +//go:linkname libc_chmod libc_chmod +//go:cgo_import_dynamic libc_chmod chmod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chown_trampoline() + +//go:linkname libc_chown libc_chown +//go:cgo_import_dynamic libc_chown chown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_chroot_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_chroot_trampoline() + +//go:linkname libc_chroot libc_chroot +//go:cgo_import_dynamic libc_chroot chroot "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_close_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_close_trampoline() + +//go:linkname libc_close libc_close +//go:cgo_import_dynamic libc_close close "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_dup_trampoline), uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_dup_trampoline() + +//go:linkname libc_dup libc_dup +//go:cgo_import_dynamic libc_dup dup "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_dup2_trampoline), uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_dup2_trampoline() + +//go:linkname libc_dup2 libc_dup2 +//go:cgo_import_dynamic libc_dup2 dup2 "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exchangedata(path1 string, path2 string, options int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path1) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(path2) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_exchangedata_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_exchangedata_trampoline() + +//go:linkname libc_exchangedata libc_exchangedata +//go:cgo_import_dynamic libc_exchangedata exchangedata "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + syscall_syscall(funcPC(libc_exit_trampoline), uintptr(code), 0, 0) + return +} + +func libc_exit_trampoline() + +//go:linkname libc_exit libc_exit +//go:cgo_import_dynamic libc_exit exit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_faccessat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_faccessat_trampoline() + +//go:linkname libc_faccessat libc_faccessat +//go:cgo_import_dynamic libc_faccessat faccessat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchdir_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchdir_trampoline() + +//go:linkname libc_fchdir libc_fchdir +//go:cgo_import_dynamic libc_fchdir fchdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchflags_trampoline), uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchflags_trampoline() + +//go:linkname libc_fchflags libc_fchflags +//go:cgo_import_dynamic libc_fchflags fchflags "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchmod_trampoline), uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchmod_trampoline() + +//go:linkname libc_fchmod libc_fchmod +//go:cgo_import_dynamic libc_fchmod fchmod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fchmodat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchmodat_trampoline() + +//go:linkname libc_fchmodat libc_fchmodat +//go:cgo_import_dynamic libc_fchmodat fchmodat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fchown_trampoline), uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchown_trampoline() + +//go:linkname libc_fchown libc_fchown +//go:cgo_import_dynamic libc_fchown fchown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fchownat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fchownat_trampoline() + +//go:linkname libc_fchownat libc_fchownat +//go:cgo_import_dynamic libc_fchownat fchownat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_flock_trampoline), uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_flock_trampoline() + +//go:linkname libc_flock libc_flock +//go:cgo_import_dynamic libc_flock flock "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_fpathconf_trampoline), uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fpathconf_trampoline() + +//go:linkname libc_fpathconf libc_fpathconf +//go:cgo_import_dynamic libc_fpathconf fpathconf "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fsync_trampoline), uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fsync_trampoline() + +//go:linkname libc_fsync libc_fsync +//go:cgo_import_dynamic libc_fsync fsync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_ftruncate_trampoline), uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_ftruncate_trampoline() + +//go:linkname libc_ftruncate libc_ftruncate +//go:cgo_import_dynamic libc_ftruncate ftruncate "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := syscall_syscall(funcPC(libc_getdtablesize_trampoline), 0, 0, 0) + size = int(r0) + return +} + +func libc_getdtablesize_trampoline() + +//go:linkname libc_getdtablesize libc_getdtablesize +//go:cgo_import_dynamic libc_getdtablesize getdtablesize "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getegid_trampoline), 0, 0, 0) + egid = int(r0) + return +} + +func libc_getegid_trampoline() + +//go:linkname libc_getegid libc_getegid +//go:cgo_import_dynamic libc_getegid getegid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_geteuid_trampoline), 0, 0, 0) + uid = int(r0) + return +} + +func libc_geteuid_trampoline() + +//go:linkname libc_geteuid libc_geteuid +//go:cgo_import_dynamic libc_geteuid geteuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getgid_trampoline), 0, 0, 0) + gid = int(r0) + return +} + +func libc_getgid_trampoline() + +//go:linkname libc_getgid libc_getgid +//go:cgo_import_dynamic libc_getgid getgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getpgid_trampoline), uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpgid_trampoline() + +//go:linkname libc_getpgid libc_getpgid +//go:cgo_import_dynamic libc_getpgid getpgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getpgrp_trampoline), 0, 0, 0) + pgrp = int(r0) + return +} + +func libc_getpgrp_trampoline() + +//go:linkname libc_getpgrp libc_getpgrp +//go:cgo_import_dynamic libc_getpgrp getpgrp "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getpid_trampoline), 0, 0, 0) + pid = int(r0) + return +} + +func libc_getpid_trampoline() + +//go:linkname libc_getpid libc_getpid +//go:cgo_import_dynamic libc_getpid getpid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getppid_trampoline), 0, 0, 0) + ppid = int(r0) + return +} + +func libc_getppid_trampoline() + +//go:linkname libc_getppid libc_getppid +//go:cgo_import_dynamic libc_getppid getppid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_getpriority_trampoline), uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getpriority_trampoline() + +//go:linkname libc_getpriority libc_getpriority +//go:cgo_import_dynamic libc_getpriority getpriority "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getrlimit_trampoline() + +//go:linkname libc_getrlimit libc_getrlimit +//go:cgo_import_dynamic libc_getrlimit getrlimit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_getrusage_trampoline), uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getrusage_trampoline() + +//go:linkname libc_getrusage libc_getrusage +//go:cgo_import_dynamic libc_getrusage getrusage "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_getsid_trampoline), uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getsid_trampoline() + +//go:linkname libc_getsid libc_getsid +//go:cgo_import_dynamic libc_getsid getsid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_getuid_trampoline), 0, 0, 0) + uid = int(r0) + return +} + +func libc_getuid_trampoline() + +//go:linkname libc_getuid libc_getuid +//go:cgo_import_dynamic libc_getuid getuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := syscall_rawSyscall(funcPC(libc_issetugid_trampoline), 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +func libc_issetugid_trampoline() + +//go:linkname libc_issetugid libc_issetugid +//go:cgo_import_dynamic libc_issetugid issetugid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_kqueue_trampoline), 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_kqueue_trampoline() + +//go:linkname libc_kqueue libc_kqueue +//go:cgo_import_dynamic libc_kqueue kqueue "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_lchown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lchown_trampoline() + +//go:linkname libc_lchown libc_lchown +//go:cgo_import_dynamic libc_lchown lchown "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_link_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_link_trampoline() + +//go:linkname libc_link libc_link +//go:cgo_import_dynamic libc_link link "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_linkat_trampoline), uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_linkat_trampoline() + +//go:linkname libc_linkat libc_linkat +//go:cgo_import_dynamic libc_linkat linkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_listen_trampoline), uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_listen_trampoline() + +//go:linkname libc_listen libc_listen +//go:cgo_import_dynamic libc_listen listen "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkdir_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkdir_trampoline() + +//go:linkname libc_mkdir libc_mkdir +//go:cgo_import_dynamic libc_mkdir mkdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkdirat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkdirat_trampoline() + +//go:linkname libc_mkdirat libc_mkdirat +//go:cgo_import_dynamic libc_mkdirat mkdirat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mkfifo_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mkfifo_trampoline() + +//go:linkname libc_mkfifo libc_mkfifo +//go:cgo_import_dynamic libc_mkfifo mkfifo "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_mknod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mknod_trampoline() + +//go:linkname libc_mknod libc_mknod +//go:cgo_import_dynamic libc_mknod mknod "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall(funcPC(libc_open_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_open_trampoline() + +//go:linkname libc_open libc_open +//go:cgo_import_dynamic libc_open open "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall6(funcPC(libc_openat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_openat_trampoline() + +//go:linkname libc_openat libc_openat +//go:cgo_import_dynamic libc_openat openat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := syscall_syscall(funcPC(libc_pathconf_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pathconf_trampoline() + +//go:linkname libc_pathconf libc_pathconf +//go:cgo_import_dynamic libc_pathconf pathconf "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_pread_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pread_trampoline() + +//go:linkname libc_pread libc_pread +//go:cgo_import_dynamic libc_pread pread "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_pwrite_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_pwrite_trampoline() + +//go:linkname libc_pwrite libc_pwrite +//go:cgo_import_dynamic libc_pwrite pwrite "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_read_trampoline() + +//go:linkname libc_read libc_read +//go:cgo_import_dynamic libc_read read "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_readlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_readlink_trampoline() + +//go:linkname libc_readlink libc_readlink +//go:cgo_import_dynamic libc_readlink readlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(funcPC(libc_readlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_readlinkat_trampoline() + +//go:linkname libc_readlinkat libc_readlinkat +//go:cgo_import_dynamic libc_readlinkat readlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_rename_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_rename_trampoline() + +//go:linkname libc_rename libc_rename +//go:cgo_import_dynamic libc_rename rename "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_renameat_trampoline), uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_renameat_trampoline() + +//go:linkname libc_renameat libc_renameat +//go:cgo_import_dynamic libc_renameat renameat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_revoke_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_revoke_trampoline() + +//go:linkname libc_revoke libc_revoke +//go:cgo_import_dynamic libc_revoke revoke "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_rmdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_rmdir_trampoline() + +//go:linkname libc_rmdir libc_rmdir +//go:cgo_import_dynamic libc_rmdir rmdir "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_lseek_trampoline), uintptr(fd), uintptr(offset), uintptr(whence)) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lseek_trampoline() + +//go:linkname libc_lseek libc_lseek +//go:cgo_import_dynamic libc_lseek lseek "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := syscall_syscall6(funcPC(libc_select_trampoline), uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_select_trampoline() + +//go:linkname libc_select libc_select +//go:cgo_import_dynamic libc_select select "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setegid_trampoline), uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setegid_trampoline() + +//go:linkname libc_setegid libc_setegid +//go:cgo_import_dynamic libc_setegid setegid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_seteuid_trampoline), uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_seteuid_trampoline() + +//go:linkname libc_seteuid libc_seteuid +//go:cgo_import_dynamic libc_seteuid seteuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setgid_trampoline), uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setgid_trampoline() + +//go:linkname libc_setgid libc_setgid +//go:cgo_import_dynamic libc_setgid setgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_setlogin_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setlogin_trampoline() + +//go:linkname libc_setlogin libc_setlogin +//go:cgo_import_dynamic libc_setlogin setlogin "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setpgid_trampoline), uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setpgid_trampoline() + +//go:linkname libc_setpgid libc_setpgid +//go:cgo_import_dynamic libc_setpgid setpgid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setpriority_trampoline), uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setpriority_trampoline() + +//go:linkname libc_setpriority libc_setpriority +//go:cgo_import_dynamic libc_setpriority setpriority "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setprivexec(flag int) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_setprivexec_trampoline), uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setprivexec_trampoline() + +//go:linkname libc_setprivexec libc_setprivexec +//go:cgo_import_dynamic libc_setprivexec setprivexec "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setregid_trampoline), uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setregid_trampoline() + +//go:linkname libc_setregid libc_setregid +//go:cgo_import_dynamic libc_setregid setregid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setreuid_trampoline), uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setreuid_trampoline() + +//go:linkname libc_setreuid libc_setreuid +//go:cgo_import_dynamic libc_setreuid setreuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setrlimit_trampoline() + +//go:linkname libc_setrlimit libc_setrlimit +//go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := syscall_rawSyscall(funcPC(libc_setsid_trampoline), 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setsid_trampoline() + +//go:linkname libc_setsid libc_setsid +//go:cgo_import_dynamic libc_setsid setsid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_settimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_settimeofday_trampoline() + +//go:linkname libc_settimeofday libc_settimeofday +//go:cgo_import_dynamic libc_settimeofday settimeofday "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := syscall_rawSyscall(funcPC(libc_setuid_trampoline), uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_setuid_trampoline() + +//go:linkname libc_setuid libc_setuid +//go:cgo_import_dynamic libc_setuid setuid "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_symlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_symlink_trampoline() + +//go:linkname libc_symlink libc_symlink +//go:cgo_import_dynamic libc_symlink symlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_symlinkat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_symlinkat_trampoline() + +//go:linkname libc_symlinkat libc_symlinkat +//go:cgo_import_dynamic libc_symlinkat symlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_sync_trampoline), 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_sync_trampoline() + +//go:linkname libc_sync libc_sync +//go:cgo_import_dynamic libc_sync sync "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_truncate_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_truncate_trampoline() + +//go:linkname libc_truncate libc_truncate +//go:cgo_import_dynamic libc_truncate truncate "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := syscall_syscall(funcPC(libc_umask_trampoline), uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +func libc_umask_trampoline() + +//go:linkname libc_umask libc_umask +//go:cgo_import_dynamic libc_umask umask "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_undelete_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_undelete_trampoline() + +//go:linkname libc_undelete libc_undelete +//go:cgo_import_dynamic libc_undelete undelete "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unlink_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unlink_trampoline() + +//go:linkname libc_unlink libc_unlink +//go:cgo_import_dynamic libc_unlink unlink "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unlinkat_trampoline() + +//go:linkname libc_unlinkat libc_unlinkat +//go:cgo_import_dynamic libc_unlinkat unlinkat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_unmount_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_unmount_trampoline() + +//go:linkname libc_unmount libc_unmount +//go:cgo_import_dynamic libc_unmount unmount "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_write_trampoline() + +//go:linkname libc_write libc_write +//go:cgo_import_dynamic libc_write write "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := syscall_syscall6(funcPC(libc_mmap_trampoline), uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_mmap_trampoline() + +//go:linkname libc_mmap libc_mmap +//go:cgo_import_dynamic libc_mmap mmap "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_munmap_trampoline), uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_munmap_trampoline() + +//go:linkname libc_munmap libc_munmap +//go:cgo_import_dynamic libc_munmap munmap "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) { + r0, r1, e1 := syscall_rawSyscall(funcPC(libc_gettimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) + sec = int64(r0) + usec = int32(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_gettimeofday_trampoline() + +//go:linkname libc_gettimeofday libc_gettimeofday +//go:cgo_import_dynamic libc_gettimeofday gettimeofday "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fstat_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstat_trampoline() + +//go:linkname libc_fstat libc_fstat +//go:cgo_import_dynamic libc_fstat fstat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(funcPC(libc_fstatat_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstatat_trampoline() + +//go:linkname libc_fstatat libc_fstatat +//go:cgo_import_dynamic libc_fstatat fstatat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := syscall_syscall(funcPC(libc_fstatfs_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_fstatfs_trampoline() + +//go:linkname libc_fstatfs libc_fstatfs +//go:cgo_import_dynamic libc_fstatfs fstatfs "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { + r0, _, e1 := syscall_syscall(funcPC(libc_getfsstat_trampoline), uintptr(buf), uintptr(size), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_getfsstat_trampoline() + +//go:linkname libc_getfsstat libc_getfsstat +//go:cgo_import_dynamic libc_getfsstat getfsstat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_lstat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_lstat_trampoline() + +//go:linkname libc_lstat libc_lstat +//go:cgo_import_dynamic libc_lstat lstat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_stat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_stat_trampoline() + +//go:linkname libc_stat libc_stat +//go:cgo_import_dynamic libc_stat stat "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := syscall_syscall(funcPC(libc_statfs_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +func libc_statfs_trampoline() + +//go:linkname libc_statfs libc_statfs +//go:cgo_import_dynamic libc_statfs statfs "/usr/lib/libSystem.B.dylib" diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s new file mode 100644 index 000000000..61dc0d4c1 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s @@ -0,0 +1,282 @@ +// go run mkasm_darwin.go arm64 +// Code generated by the command above; DO NOT EDIT. + +// +build go1.12 + +#include "textflag.h" +TEXT ·libc_getgroups_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getgroups(SB) +TEXT ·libc_setgroups_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setgroups(SB) +TEXT ·libc_wait4_trampoline(SB),NOSPLIT,$0-0 + JMP libc_wait4(SB) +TEXT ·libc_accept_trampoline(SB),NOSPLIT,$0-0 + JMP libc_accept(SB) +TEXT ·libc_bind_trampoline(SB),NOSPLIT,$0-0 + JMP libc_bind(SB) +TEXT ·libc_connect_trampoline(SB),NOSPLIT,$0-0 + JMP libc_connect(SB) +TEXT ·libc_socket_trampoline(SB),NOSPLIT,$0-0 + JMP libc_socket(SB) +TEXT ·libc_getsockopt_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsockopt(SB) +TEXT ·libc_setsockopt_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setsockopt(SB) +TEXT ·libc_getpeername_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpeername(SB) +TEXT ·libc_getsockname_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsockname(SB) +TEXT ·libc_shutdown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_shutdown(SB) +TEXT ·libc_socketpair_trampoline(SB),NOSPLIT,$0-0 + JMP libc_socketpair(SB) +TEXT ·libc_recvfrom_trampoline(SB),NOSPLIT,$0-0 + JMP libc_recvfrom(SB) +TEXT ·libc_sendto_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendto(SB) +TEXT ·libc_recvmsg_trampoline(SB),NOSPLIT,$0-0 + JMP libc_recvmsg(SB) +TEXT ·libc_sendmsg_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendmsg(SB) +TEXT ·libc_kevent_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kevent(SB) +TEXT ·libc___sysctl_trampoline(SB),NOSPLIT,$0-0 + JMP libc___sysctl(SB) +TEXT ·libc_utimes_trampoline(SB),NOSPLIT,$0-0 + JMP libc_utimes(SB) +TEXT ·libc_futimes_trampoline(SB),NOSPLIT,$0-0 + JMP libc_futimes(SB) +TEXT ·libc_fcntl_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fcntl(SB) +TEXT ·libc_poll_trampoline(SB),NOSPLIT,$0-0 + JMP libc_poll(SB) +TEXT ·libc_madvise_trampoline(SB),NOSPLIT,$0-0 + JMP libc_madvise(SB) +TEXT ·libc_mlock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mlock(SB) +TEXT ·libc_mlockall_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mlockall(SB) +TEXT ·libc_mprotect_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mprotect(SB) +TEXT ·libc_msync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_msync(SB) +TEXT ·libc_munlock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munlock(SB) +TEXT ·libc_munlockall_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munlockall(SB) +TEXT ·libc_ptrace_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ptrace(SB) +TEXT ·libc_getattrlist_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getattrlist(SB) +TEXT ·libc_pipe_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pipe(SB) +TEXT ·libc_getxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getxattr(SB) +TEXT ·libc_fgetxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fgetxattr(SB) +TEXT ·libc_setxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setxattr(SB) +TEXT ·libc_fsetxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fsetxattr(SB) +TEXT ·libc_removexattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_removexattr(SB) +TEXT ·libc_fremovexattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fremovexattr(SB) +TEXT ·libc_listxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_listxattr(SB) +TEXT ·libc_flistxattr_trampoline(SB),NOSPLIT,$0-0 + JMP libc_flistxattr(SB) +TEXT ·libc_setattrlist_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setattrlist(SB) +TEXT ·libc_kill_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kill(SB) +TEXT ·libc_ioctl_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ioctl(SB) +TEXT ·libc_sendfile_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sendfile(SB) +TEXT ·libc_access_trampoline(SB),NOSPLIT,$0-0 + JMP libc_access(SB) +TEXT ·libc_adjtime_trampoline(SB),NOSPLIT,$0-0 + JMP libc_adjtime(SB) +TEXT ·libc_chdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chdir(SB) +TEXT ·libc_chflags_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chflags(SB) +TEXT ·libc_chmod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chmod(SB) +TEXT ·libc_chown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chown(SB) +TEXT ·libc_chroot_trampoline(SB),NOSPLIT,$0-0 + JMP libc_chroot(SB) +TEXT ·libc_close_trampoline(SB),NOSPLIT,$0-0 + JMP libc_close(SB) +TEXT ·libc_dup_trampoline(SB),NOSPLIT,$0-0 + JMP libc_dup(SB) +TEXT ·libc_dup2_trampoline(SB),NOSPLIT,$0-0 + JMP libc_dup2(SB) +TEXT ·libc_exchangedata_trampoline(SB),NOSPLIT,$0-0 + JMP libc_exchangedata(SB) +TEXT ·libc_exit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_exit(SB) +TEXT ·libc_faccessat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_faccessat(SB) +TEXT ·libc_fchdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchdir(SB) +TEXT ·libc_fchflags_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchflags(SB) +TEXT ·libc_fchmod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchmod(SB) +TEXT ·libc_fchmodat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchmodat(SB) +TEXT ·libc_fchown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchown(SB) +TEXT ·libc_fchownat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fchownat(SB) +TEXT ·libc_flock_trampoline(SB),NOSPLIT,$0-0 + JMP libc_flock(SB) +TEXT ·libc_fpathconf_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fpathconf(SB) +TEXT ·libc_fsync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fsync(SB) +TEXT ·libc_ftruncate_trampoline(SB),NOSPLIT,$0-0 + JMP libc_ftruncate(SB) +TEXT ·libc_getdtablesize_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getdtablesize(SB) +TEXT ·libc_getegid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getegid(SB) +TEXT ·libc_geteuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_geteuid(SB) +TEXT ·libc_getgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getgid(SB) +TEXT ·libc_getpgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpgid(SB) +TEXT ·libc_getpgrp_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpgrp(SB) +TEXT ·libc_getpid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpid(SB) +TEXT ·libc_getppid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getppid(SB) +TEXT ·libc_getpriority_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getpriority(SB) +TEXT ·libc_getrlimit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getrlimit(SB) +TEXT ·libc_getrusage_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getrusage(SB) +TEXT ·libc_getsid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getsid(SB) +TEXT ·libc_getuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getuid(SB) +TEXT ·libc_issetugid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_issetugid(SB) +TEXT ·libc_kqueue_trampoline(SB),NOSPLIT,$0-0 + JMP libc_kqueue(SB) +TEXT ·libc_lchown_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lchown(SB) +TEXT ·libc_link_trampoline(SB),NOSPLIT,$0-0 + JMP libc_link(SB) +TEXT ·libc_linkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_linkat(SB) +TEXT ·libc_listen_trampoline(SB),NOSPLIT,$0-0 + JMP libc_listen(SB) +TEXT ·libc_mkdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkdir(SB) +TEXT ·libc_mkdirat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkdirat(SB) +TEXT ·libc_mkfifo_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mkfifo(SB) +TEXT ·libc_mknod_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mknod(SB) +TEXT ·libc_open_trampoline(SB),NOSPLIT,$0-0 + JMP libc_open(SB) +TEXT ·libc_openat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_openat(SB) +TEXT ·libc_pathconf_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pathconf(SB) +TEXT ·libc_pread_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pread(SB) +TEXT ·libc_pwrite_trampoline(SB),NOSPLIT,$0-0 + JMP libc_pwrite(SB) +TEXT ·libc_read_trampoline(SB),NOSPLIT,$0-0 + JMP libc_read(SB) +TEXT ·libc_readlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_readlink(SB) +TEXT ·libc_readlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_readlinkat(SB) +TEXT ·libc_rename_trampoline(SB),NOSPLIT,$0-0 + JMP libc_rename(SB) +TEXT ·libc_renameat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_renameat(SB) +TEXT ·libc_revoke_trampoline(SB),NOSPLIT,$0-0 + JMP libc_revoke(SB) +TEXT ·libc_rmdir_trampoline(SB),NOSPLIT,$0-0 + JMP libc_rmdir(SB) +TEXT ·libc_lseek_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lseek(SB) +TEXT ·libc_select_trampoline(SB),NOSPLIT,$0-0 + JMP libc_select(SB) +TEXT ·libc_setegid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setegid(SB) +TEXT ·libc_seteuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_seteuid(SB) +TEXT ·libc_setgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setgid(SB) +TEXT ·libc_setlogin_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setlogin(SB) +TEXT ·libc_setpgid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setpgid(SB) +TEXT ·libc_setpriority_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setpriority(SB) +TEXT ·libc_setprivexec_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setprivexec(SB) +TEXT ·libc_setregid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setregid(SB) +TEXT ·libc_setreuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setreuid(SB) +TEXT ·libc_setrlimit_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setrlimit(SB) +TEXT ·libc_setsid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setsid(SB) +TEXT ·libc_settimeofday_trampoline(SB),NOSPLIT,$0-0 + JMP libc_settimeofday(SB) +TEXT ·libc_setuid_trampoline(SB),NOSPLIT,$0-0 + JMP libc_setuid(SB) +TEXT ·libc_symlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_symlink(SB) +TEXT ·libc_symlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_symlinkat(SB) +TEXT ·libc_sync_trampoline(SB),NOSPLIT,$0-0 + JMP libc_sync(SB) +TEXT ·libc_truncate_trampoline(SB),NOSPLIT,$0-0 + JMP libc_truncate(SB) +TEXT ·libc_umask_trampoline(SB),NOSPLIT,$0-0 + JMP libc_umask(SB) +TEXT ·libc_undelete_trampoline(SB),NOSPLIT,$0-0 + JMP libc_undelete(SB) +TEXT ·libc_unlink_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unlink(SB) +TEXT ·libc_unlinkat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unlinkat(SB) +TEXT ·libc_unmount_trampoline(SB),NOSPLIT,$0-0 + JMP libc_unmount(SB) +TEXT ·libc_write_trampoline(SB),NOSPLIT,$0-0 + JMP libc_write(SB) +TEXT ·libc_mmap_trampoline(SB),NOSPLIT,$0-0 + JMP libc_mmap(SB) +TEXT ·libc_munmap_trampoline(SB),NOSPLIT,$0-0 + JMP libc_munmap(SB) +TEXT ·libc_gettimeofday_trampoline(SB),NOSPLIT,$0-0 + JMP libc_gettimeofday(SB) +TEXT ·libc_fstat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstat(SB) +TEXT ·libc_fstatat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstatat(SB) +TEXT ·libc_fstatfs_trampoline(SB),NOSPLIT,$0-0 + JMP libc_fstatfs(SB) +TEXT ·libc_getfsstat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_getfsstat(SB) +TEXT ·libc_lstat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_lstat(SB) +TEXT ·libc_stat_trampoline(SB),NOSPLIT,$0-0 + JMP libc_stat(SB) +TEXT ·libc_statfs_trampoline(SB),NOSPLIT,$0-0 + JMP libc_statfs(SB) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go new file mode 100644 index 000000000..ae9f1a21e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go @@ -0,0 +1,1659 @@ +// go run mksyscall.go -dragonfly -tags dragonfly,amd64 syscall_bsd.go syscall_dragonfly.go syscall_dragonfly_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build dragonfly,amd64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (r int, w int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + r = int(r0) + w = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func extpread(fd int, p []byte, flags int, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EXTPREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func extpwrite(fd int, p []byte, flags int, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EXTPWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(fd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go new file mode 100644 index 000000000..80903e47b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go @@ -0,0 +1,2015 @@ +// go run mksyscall.go -l32 -tags freebsd,386 syscall_bsd.go syscall_freebsd.go syscall_freebsd_386.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build freebsd,386 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CapEnter() (err error) { + _, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsGet(version int, fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsLimit(fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, stat *stat_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat_freebsd12(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries_freebsd12(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES_FREEBSD12, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat(fd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs(path string, stat *statfs_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs_freebsd12(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS_FREEBSD12, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go new file mode 100644 index 000000000..cd250ff0e --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go @@ -0,0 +1,2015 @@ +// go run mksyscall.go -tags freebsd,amd64 syscall_bsd.go syscall_freebsd.go syscall_freebsd_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build freebsd,amd64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CapEnter() (err error) { + _, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsGet(version int, fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsLimit(fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, stat *stat_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat_freebsd12(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries_freebsd12(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES_FREEBSD12, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat(fd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs(path string, stat *statfs_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs_freebsd12(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS_FREEBSD12, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go new file mode 100644 index 000000000..290a9c2cb --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go @@ -0,0 +1,2015 @@ +// go run mksyscall.go -l32 -arm -tags freebsd,arm syscall_bsd.go syscall_freebsd.go syscall_freebsd_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build freebsd,arm + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CapEnter() (err error) { + _, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsGet(version int, fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsLimit(fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall9(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, stat *stat_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat_freebsd12(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries_freebsd12(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES_FREEBSD12, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat(fd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs(path string, stat *statfs_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs_freebsd12(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS_FREEBSD12, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go new file mode 100644 index 000000000..c6df9d2e8 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go @@ -0,0 +1,2015 @@ +// go run mksyscall.go -tags freebsd,arm64 -- syscall_bsd.go syscall_freebsd.go syscall_freebsd_arm64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build freebsd,arm64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CapEnter() (err error) { + _, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsGet(version int, fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func capRightsLimit(fd int, rightsp *CapRights) (err error) { + _, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, stat *stat_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat_freebsd12(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdirentries_freebsd12(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETDIRENTRIES_FREEBSD12, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat(fd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, stat *stat_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs(path string, stat *statfs_freebsd11_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func statfs_freebsd12(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS_FREEBSD12, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Undelete(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go new file mode 100644 index 000000000..c8b451000 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go @@ -0,0 +1,2199 @@ +// go run mksyscall.go -l32 -tags linux,386 syscall_linux.go syscall_linux_386.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,386 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, 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 = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Signalfd(fd int, mask *Sigset_t, flags int) { + SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags)) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64_64, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN32, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE64, uintptr(fd), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID32, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID32, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID32, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID32, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN32, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID32, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID32, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID32, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID32, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID32, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID32, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go new file mode 100644 index 000000000..2aac3184b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go @@ -0,0 +1,2366 @@ +// go run mksyscall.go -tags linux,amd64 syscall_linux.go syscall_linux_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,amd64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, 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 = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Signalfd(fd int, mask *Sigset_t, flags int) { + SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags)) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func inotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go new file mode 100644 index 000000000..13c06c281 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go @@ -0,0 +1,2311 @@ +// go run mksyscall.go -l32 -arm -tags linux,arm syscall_linux.go syscall_linux_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,arm + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, 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 = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Signalfd(fd int, mask *Sigset_t, flags int) { + SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags)) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(flags), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN32, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID32, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID32, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID32, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID32, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN32, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID32, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID32, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID32, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID32, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID32, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID32, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func armSyncFileRange(fd int, flags int, off int64, n int64) (err error) { + _, _, e1 := Syscall6(SYS_ARM_SYNC_FILE_RANGE, uintptr(fd), uintptr(flags), uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go new file mode 100644 index 000000000..737fa8d18 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go @@ -0,0 +1,2208 @@ +// go run mksyscall.go -tags linux,arm64 syscall_linux.go syscall_linux_arm64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,arm64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, 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 = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Signalfd(fd int, mask *Sigset_t, flags int) { + SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags)) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_PWAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go new file mode 100644 index 000000000..0a85f3f8d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go @@ -0,0 +1,2379 @@ +// go run mksyscall.go -b32 -arm -tags linux,mips syscall_linux.go syscall_linux_mipsx.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,mips + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off>>32), uintptr(off), uintptr(len>>32), uintptr(len)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, 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 = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Signalfd(fd int, mask *Sigset_t, flags int) { + SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags)) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(int64(r0)<<32 | int64(r1)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall9(SYS_FADVISE64, uintptr(fd), 0, uintptr(offset>>32), uintptr(offset), uintptr(length>>32), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length>>32), uintptr(length), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset>>32), uintptr(offset)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset>>32), uintptr(offset)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall9(SYS_SYNC_FILE_RANGE, uintptr(fd), 0, uintptr(off>>32), uintptr(off), uintptr(n>>32), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length>>32), uintptr(length), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (p1 int, p2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + p1 = int(r0) + p2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go new file mode 100644 index 000000000..ec7007e78 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go @@ -0,0 +1,2350 @@ +// go run mksyscall.go -tags linux,mips64 syscall_linux.go syscall_linux_mips64x.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,mips64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, 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 = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Signalfd(fd int, mask *Sigset_t, flags int) { + SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags)) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, st *stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(dirfd int, path string, st *stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, st *stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, st *stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go new file mode 100644 index 000000000..c5bb25d96 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go @@ -0,0 +1,2350 @@ +// go run mksyscall.go -tags linux,mips64le syscall_linux.go syscall_linux_mips64x.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,mips64le + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, 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 = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Signalfd(fd int, mask *Sigset_t, flags int) { + SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags)) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstat(fd int, st *stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fstatat(dirfd int, path string, st *stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func lstat(path string, st *stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func stat(path string, st *stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go new file mode 100644 index 000000000..26ada0478 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go @@ -0,0 +1,2379 @@ +// go run mksyscall.go -l32 -arm -tags linux,mipsle syscall_linux.go syscall_linux_mipsx.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,mipsle + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, 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 = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Signalfd(fd int, mask *Sigset_t, flags int) { + SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags)) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall9(SYS_FADVISE64, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall9(SYS_SYNC_FILE_RANGE, uintptr(fd), 0, uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (p1 int, p2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + p1 = int(r0) + p2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setrlimit(resource int, rlim *rlimit32) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go new file mode 100644 index 000000000..2da9cb700 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go @@ -0,0 +1,2428 @@ +// go run mksyscall.go -tags linux,ppc64 syscall_linux.go syscall_linux_ppc64x.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,ppc64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, 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 = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Signalfd(fd int, mask *Sigset_t, flags int) { + SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags)) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func syncFileRange2(fd int, flags int, off int64, n int64) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off), uintptr(n), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go new file mode 100644 index 000000000..772733d83 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go @@ -0,0 +1,2428 @@ +// go run mksyscall.go -tags linux,ppc64le syscall_linux.go syscall_linux_ppc64x.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,ppc64le + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, 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 = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Signalfd(fd int, mask *Sigset_t, flags int) { + SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags)) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Iopl(level int) (err error) { + _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Time(t *Time_t) (tt Time_t, err error) { + r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) + tt = Time_t(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func syncFileRange2(fd int, flags int, off int64, n int64) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off), uintptr(n), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go new file mode 100644 index 000000000..996eba517 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go @@ -0,0 +1,2188 @@ +// go run mksyscall.go -tags linux,riscv64 syscall_linux.go syscall_linux_riscv64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,riscv64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, 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 = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Signalfd(fd int, mask *Sigset_t, flags int) { + SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags)) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_PWAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go new file mode 100644 index 000000000..cb9072a33 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go @@ -0,0 +1,2198 @@ +// go run mksyscall.go -tags linux,s390x syscall_linux.go syscall_linux_s390x.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,s390x + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, 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 = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Signalfd(fd int, mask *Sigset_t, flags int) { + SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags)) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate(size int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(cmdline) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go new file mode 100644 index 000000000..5e48a1001 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go @@ -0,0 +1,2361 @@ +// go run mksyscall.go -tags linux,sparc64 syscall_linux.go syscall_linux_sparc64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build linux,sparc64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fchmodat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlJoin(cmd int, arg2 string) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg2) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg3) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(arg4) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { + var _p0 unsafe.Pointer + if len(payload) > 0 { + _p0 = unsafe.Pointer(&payload[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(arg) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(source) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(target) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(fstype) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(payload) > 0 { + _p2 = unsafe.Pointer(&payload[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtimex(buf *Timex) (state int, err error) { + r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) + state = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGetres(clockid int32, res *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockGettime(clockid int32, time *Timespec) (err error) { + _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { + _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func DeleteModule(name string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(oldfd int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup3(oldfd int, newfd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCreate1(flag int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { + _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Eventfd(initval uint, flags int) (fd int, err error) { + r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + SyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { + _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func FinitModule(fd int, params string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flistxattr(fd int, dest []byte) (sz int, err error) { + var _p0 unsafe.Pointer + if len(dest) > 0 { + _p0 = unsafe.Pointer(&dest[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fremovexattr(fd int, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrandom(buf []byte, flags int) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettid() (tid int) { + r0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0) + tid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InitModule(moduleImage []byte, params string) (err error) { + var _p0 unsafe.Pointer + if len(moduleImage) > 0 { + _p0 = unsafe.Pointer(&moduleImage[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + var _p1 *byte + _p1, err = BytePtrFromString(params) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) + watchdesc = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit1(flags int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) + success = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Klogctl(typ int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(dest) > 0 { + _p2 = unsafe.Pointer(&dest[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Llistxattr(path string, dest []byte) (sz int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(dest) > 0 { + _p1 = unsafe.Pointer(&dest[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lremovexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func MemfdCreate(name string, flags int) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func PivotRoot(newroot string, putold string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(newroot) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(putold) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { + _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, 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 = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Removexattr(path string, attr string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(keyType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(description) + if err != nil { + return + } + var _p2 *byte + _p2, err = BytePtrFromString(callback) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) + id = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setdomainname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setns(fd int, nstype int) (err error) { + _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setxattr(path string, attr string, data []byte, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attr) + if err != nil { + return + } + var _p2 unsafe.Pointer + if len(data) > 0 { + _p2 = unsafe.Pointer(&data[0]) + } else { + _p2 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Signalfd(fd int, mask *Sigset_t, flags int) { + SyscallNoError(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(mask)), uintptr(flags)) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() { + SyscallNoError(SYS_SYNC, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Syncfs(fd int) (err error) { + _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sysinfo(info *Sysinfo_t) (err error) { + _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unshare(flags int) (err error) { + _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func exitThread(code int) (err error) { + _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, p *byte, np int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func faccessat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { + _p0 = unsafe.Pointer(&events[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, buf *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func InotifyInit() (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, n int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (off int64, err error) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) + off = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsgid(gid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setfsuid(uid int) (err error) { + _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, buf *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(n int, list *_Gid_t) (nn int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + nn = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(n int, list *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + xaddr = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go new file mode 100644 index 000000000..642db7670 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go @@ -0,0 +1,1826 @@ +// go run mksyscall.go -l32 -netbsd -tags netbsd,386 syscall_bsd.go syscall_netbsd.go syscall_netbsd_386.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build netbsd,386 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (fd1 int, fd2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + fd1 = int(r0) + fd2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall9(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), 0, uintptr(length), uintptr(length>>32), uintptr(advice), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go new file mode 100644 index 000000000..59585fee3 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go @@ -0,0 +1,1826 @@ +// go run mksyscall.go -netbsd -tags netbsd,amd64 syscall_bsd.go syscall_netbsd.go syscall_netbsd_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build netbsd,amd64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (fd1 int, fd2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + fd1 = int(r0) + fd2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), 0, uintptr(length), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go new file mode 100644 index 000000000..6ec31434b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go @@ -0,0 +1,1826 @@ +// go run mksyscall.go -l32 -netbsd -arm -tags netbsd,arm syscall_bsd.go syscall_netbsd.go syscall_netbsd_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build netbsd,arm + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (fd1 int, fd2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + fd1 = int(r0) + fd2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall9(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), 0, uintptr(length), uintptr(length>>32), uintptr(advice), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go new file mode 100644 index 000000000..603d14433 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go @@ -0,0 +1,1826 @@ +// go run mksyscall.go -netbsd -tags netbsd,arm64 syscall_bsd.go syscall_netbsd.go syscall_netbsd_arm64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build netbsd,arm64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe() (fd1 int, fd2 int, err error) { + r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) + fd1 = int(r0) + fd2 = int(r1) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(file) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(attrname) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(link) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) + ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), 0, uintptr(length), uintptr(advice)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go new file mode 100644 index 000000000..6a489fac0 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go @@ -0,0 +1,1692 @@ +// go run mksyscall.go -l32 -openbsd -tags openbsd,386 syscall_bsd.go syscall_openbsd.go syscall_openbsd_386.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build openbsd,386 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrtable() (rtable int, err error) { + r0, _, e1 := RawSyscall(SYS_GETRTABLE, 0, 0, 0) + rtable = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrtable(rtable int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRTABLE, uintptr(rtable), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go new file mode 100644 index 000000000..30cba4347 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go @@ -0,0 +1,1692 @@ +// go run mksyscall.go -openbsd -tags openbsd,amd64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build openbsd,amd64 + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrtable() (rtable int, err error) { + r0, _, e1 := RawSyscall(SYS_GETRTABLE, 0, 0, 0) + rtable = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrtable(rtable int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRTABLE, uintptr(rtable), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go new file mode 100644 index 000000000..fa1beda33 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go @@ -0,0 +1,1692 @@ +// go run mksyscall.go -l32 -openbsd -arm -tags openbsd,arm syscall_bsd.go syscall_openbsd.go syscall_openbsd_arm.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build openbsd,arm + +package unix + +import ( + "syscall" + "unsafe" +) + +var _ syscall.Errno + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { + var _p0 unsafe.Pointer + if len(mib) > 0 { + _p0 = unsafe.Pointer(&mib[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimes(fd int, timeval *[2]Timeval) (err error) { + _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, behav int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chflags(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(from int, to int) (err error) { + _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + Syscall(SYS_EXIT, uintptr(code), 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchflags(fd int, flags int) (err error) { + _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgrp int) { + r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) + pgrp = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (prio int, err error) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrtable() (rtable int, err error) { + r0, _, e1 := RawSyscall(SYS_GETRTABLE, 0, 0, 0) + rtable = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getsid(pid int) (sid int, err error) { + r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Issetugid() (tainted bool) { + r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 unsafe.Pointer + if len(buf) > 0 { + _p1 = unsafe.Pointer(&buf[0]) + } else { + _p1 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(fromfd int, from string, tofd int, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Revoke(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setlogin(name string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(name) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresgid(rgid int, egid int, sgid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setresuid(ruid int, euid int, suid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrtable(rtable int) (err error) { + _, _, e1 := RawSyscall(SYS_SETRTABLE, uintptr(rtable), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Settimeofday(tp *Timeval) (err error) { + _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(newmask int) (oldmask int) { + r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go new file mode 100644 index 000000000..5f614760c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go @@ -0,0 +1,1953 @@ +// go run mksyscall_solaris.go -tags solaris,amd64 syscall_solaris.go syscall_solaris_amd64.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build solaris,amd64 + +package unix + +import ( + "syscall" + "unsafe" +) + +//go:cgo_import_dynamic libc_pipe pipe "libc.so" +//go:cgo_import_dynamic libc_getsockname getsockname "libsocket.so" +//go:cgo_import_dynamic libc_getcwd getcwd "libc.so" +//go:cgo_import_dynamic libc_getgroups getgroups "libc.so" +//go:cgo_import_dynamic libc_setgroups setgroups "libc.so" +//go:cgo_import_dynamic libc_wait4 wait4 "libc.so" +//go:cgo_import_dynamic libc_gethostname gethostname "libc.so" +//go:cgo_import_dynamic libc_utimes utimes "libc.so" +//go:cgo_import_dynamic libc_utimensat utimensat "libc.so" +//go:cgo_import_dynamic libc_fcntl fcntl "libc.so" +//go:cgo_import_dynamic libc_futimesat futimesat "libc.so" +//go:cgo_import_dynamic libc_accept accept "libsocket.so" +//go:cgo_import_dynamic libc___xnet_recvmsg __xnet_recvmsg "libsocket.so" +//go:cgo_import_dynamic libc___xnet_sendmsg __xnet_sendmsg "libsocket.so" +//go:cgo_import_dynamic libc_acct acct "libc.so" +//go:cgo_import_dynamic libc___makedev __makedev "libc.so" +//go:cgo_import_dynamic libc___major __major "libc.so" +//go:cgo_import_dynamic libc___minor __minor "libc.so" +//go:cgo_import_dynamic libc_ioctl ioctl "libc.so" +//go:cgo_import_dynamic libc_poll poll "libc.so" +//go:cgo_import_dynamic libc_access access "libc.so" +//go:cgo_import_dynamic libc_adjtime adjtime "libc.so" +//go:cgo_import_dynamic libc_chdir chdir "libc.so" +//go:cgo_import_dynamic libc_chmod chmod "libc.so" +//go:cgo_import_dynamic libc_chown chown "libc.so" +//go:cgo_import_dynamic libc_chroot chroot "libc.so" +//go:cgo_import_dynamic libc_close close "libc.so" +//go:cgo_import_dynamic libc_creat creat "libc.so" +//go:cgo_import_dynamic libc_dup dup "libc.so" +//go:cgo_import_dynamic libc_dup2 dup2 "libc.so" +//go:cgo_import_dynamic libc_exit exit "libc.so" +//go:cgo_import_dynamic libc_faccessat faccessat "libc.so" +//go:cgo_import_dynamic libc_fchdir fchdir "libc.so" +//go:cgo_import_dynamic libc_fchmod fchmod "libc.so" +//go:cgo_import_dynamic libc_fchmodat fchmodat "libc.so" +//go:cgo_import_dynamic libc_fchown fchown "libc.so" +//go:cgo_import_dynamic libc_fchownat fchownat "libc.so" +//go:cgo_import_dynamic libc_fdatasync fdatasync "libc.so" +//go:cgo_import_dynamic libc_flock flock "libc.so" +//go:cgo_import_dynamic libc_fpathconf fpathconf "libc.so" +//go:cgo_import_dynamic libc_fstat fstat "libc.so" +//go:cgo_import_dynamic libc_fstatat fstatat "libc.so" +//go:cgo_import_dynamic libc_fstatvfs fstatvfs "libc.so" +//go:cgo_import_dynamic libc_getdents getdents "libc.so" +//go:cgo_import_dynamic libc_getgid getgid "libc.so" +//go:cgo_import_dynamic libc_getpid getpid "libc.so" +//go:cgo_import_dynamic libc_getpgid getpgid "libc.so" +//go:cgo_import_dynamic libc_getpgrp getpgrp "libc.so" +//go:cgo_import_dynamic libc_geteuid geteuid "libc.so" +//go:cgo_import_dynamic libc_getegid getegid "libc.so" +//go:cgo_import_dynamic libc_getppid getppid "libc.so" +//go:cgo_import_dynamic libc_getpriority getpriority "libc.so" +//go:cgo_import_dynamic libc_getrlimit getrlimit "libc.so" +//go:cgo_import_dynamic libc_getrusage getrusage "libc.so" +//go:cgo_import_dynamic libc_gettimeofday gettimeofday "libc.so" +//go:cgo_import_dynamic libc_getuid getuid "libc.so" +//go:cgo_import_dynamic libc_kill kill "libc.so" +//go:cgo_import_dynamic libc_lchown lchown "libc.so" +//go:cgo_import_dynamic libc_link link "libc.so" +//go:cgo_import_dynamic libc___xnet_llisten __xnet_llisten "libsocket.so" +//go:cgo_import_dynamic libc_lstat lstat "libc.so" +//go:cgo_import_dynamic libc_madvise madvise "libc.so" +//go:cgo_import_dynamic libc_mkdir mkdir "libc.so" +//go:cgo_import_dynamic libc_mkdirat mkdirat "libc.so" +//go:cgo_import_dynamic libc_mkfifo mkfifo "libc.so" +//go:cgo_import_dynamic libc_mkfifoat mkfifoat "libc.so" +//go:cgo_import_dynamic libc_mknod mknod "libc.so" +//go:cgo_import_dynamic libc_mknodat mknodat "libc.so" +//go:cgo_import_dynamic libc_mlock mlock "libc.so" +//go:cgo_import_dynamic libc_mlockall mlockall "libc.so" +//go:cgo_import_dynamic libc_mprotect mprotect "libc.so" +//go:cgo_import_dynamic libc_msync msync "libc.so" +//go:cgo_import_dynamic libc_munlock munlock "libc.so" +//go:cgo_import_dynamic libc_munlockall munlockall "libc.so" +//go:cgo_import_dynamic libc_nanosleep nanosleep "libc.so" +//go:cgo_import_dynamic libc_open open "libc.so" +//go:cgo_import_dynamic libc_openat openat "libc.so" +//go:cgo_import_dynamic libc_pathconf pathconf "libc.so" +//go:cgo_import_dynamic libc_pause pause "libc.so" +//go:cgo_import_dynamic libc_pread pread "libc.so" +//go:cgo_import_dynamic libc_pwrite pwrite "libc.so" +//go:cgo_import_dynamic libc_read read "libc.so" +//go:cgo_import_dynamic libc_readlink readlink "libc.so" +//go:cgo_import_dynamic libc_rename rename "libc.so" +//go:cgo_import_dynamic libc_renameat renameat "libc.so" +//go:cgo_import_dynamic libc_rmdir rmdir "libc.so" +//go:cgo_import_dynamic libc_lseek lseek "libc.so" +//go:cgo_import_dynamic libc_select select "libc.so" +//go:cgo_import_dynamic libc_setegid setegid "libc.so" +//go:cgo_import_dynamic libc_seteuid seteuid "libc.so" +//go:cgo_import_dynamic libc_setgid setgid "libc.so" +//go:cgo_import_dynamic libc_sethostname sethostname "libc.so" +//go:cgo_import_dynamic libc_setpgid setpgid "libc.so" +//go:cgo_import_dynamic libc_setpriority setpriority "libc.so" +//go:cgo_import_dynamic libc_setregid setregid "libc.so" +//go:cgo_import_dynamic libc_setreuid setreuid "libc.so" +//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so" +//go:cgo_import_dynamic libc_setsid setsid "libc.so" +//go:cgo_import_dynamic libc_setuid setuid "libc.so" +//go:cgo_import_dynamic libc_shutdown shutdown "libsocket.so" +//go:cgo_import_dynamic libc_stat stat "libc.so" +//go:cgo_import_dynamic libc_statvfs statvfs "libc.so" +//go:cgo_import_dynamic libc_symlink symlink "libc.so" +//go:cgo_import_dynamic libc_sync sync "libc.so" +//go:cgo_import_dynamic libc_times times "libc.so" +//go:cgo_import_dynamic libc_truncate truncate "libc.so" +//go:cgo_import_dynamic libc_fsync fsync "libc.so" +//go:cgo_import_dynamic libc_ftruncate ftruncate "libc.so" +//go:cgo_import_dynamic libc_umask umask "libc.so" +//go:cgo_import_dynamic libc_uname uname "libc.so" +//go:cgo_import_dynamic libc_umount umount "libc.so" +//go:cgo_import_dynamic libc_unlink unlink "libc.so" +//go:cgo_import_dynamic libc_unlinkat unlinkat "libc.so" +//go:cgo_import_dynamic libc_ustat ustat "libc.so" +//go:cgo_import_dynamic libc_utime utime "libc.so" +//go:cgo_import_dynamic libc___xnet_bind __xnet_bind "libsocket.so" +//go:cgo_import_dynamic libc___xnet_connect __xnet_connect "libsocket.so" +//go:cgo_import_dynamic libc_mmap mmap "libc.so" +//go:cgo_import_dynamic libc_munmap munmap "libc.so" +//go:cgo_import_dynamic libc_sendfile sendfile "libsendfile.so" +//go:cgo_import_dynamic libc___xnet_sendto __xnet_sendto "libsocket.so" +//go:cgo_import_dynamic libc___xnet_socket __xnet_socket "libsocket.so" +//go:cgo_import_dynamic libc___xnet_socketpair __xnet_socketpair "libsocket.so" +//go:cgo_import_dynamic libc_write write "libc.so" +//go:cgo_import_dynamic libc___xnet_getsockopt __xnet_getsockopt "libsocket.so" +//go:cgo_import_dynamic libc_getpeername getpeername "libsocket.so" +//go:cgo_import_dynamic libc_setsockopt setsockopt "libsocket.so" +//go:cgo_import_dynamic libc_recvfrom recvfrom "libsocket.so" + +//go:linkname procpipe libc_pipe +//go:linkname procgetsockname libc_getsockname +//go:linkname procGetcwd libc_getcwd +//go:linkname procgetgroups libc_getgroups +//go:linkname procsetgroups libc_setgroups +//go:linkname procwait4 libc_wait4 +//go:linkname procgethostname libc_gethostname +//go:linkname procutimes libc_utimes +//go:linkname procutimensat libc_utimensat +//go:linkname procfcntl libc_fcntl +//go:linkname procfutimesat libc_futimesat +//go:linkname procaccept libc_accept +//go:linkname proc__xnet_recvmsg libc___xnet_recvmsg +//go:linkname proc__xnet_sendmsg libc___xnet_sendmsg +//go:linkname procacct libc_acct +//go:linkname proc__makedev libc___makedev +//go:linkname proc__major libc___major +//go:linkname proc__minor libc___minor +//go:linkname procioctl libc_ioctl +//go:linkname procpoll libc_poll +//go:linkname procAccess libc_access +//go:linkname procAdjtime libc_adjtime +//go:linkname procChdir libc_chdir +//go:linkname procChmod libc_chmod +//go:linkname procChown libc_chown +//go:linkname procChroot libc_chroot +//go:linkname procClose libc_close +//go:linkname procCreat libc_creat +//go:linkname procDup libc_dup +//go:linkname procDup2 libc_dup2 +//go:linkname procExit libc_exit +//go:linkname procFaccessat libc_faccessat +//go:linkname procFchdir libc_fchdir +//go:linkname procFchmod libc_fchmod +//go:linkname procFchmodat libc_fchmodat +//go:linkname procFchown libc_fchown +//go:linkname procFchownat libc_fchownat +//go:linkname procFdatasync libc_fdatasync +//go:linkname procFlock libc_flock +//go:linkname procFpathconf libc_fpathconf +//go:linkname procFstat libc_fstat +//go:linkname procFstatat libc_fstatat +//go:linkname procFstatvfs libc_fstatvfs +//go:linkname procGetdents libc_getdents +//go:linkname procGetgid libc_getgid +//go:linkname procGetpid libc_getpid +//go:linkname procGetpgid libc_getpgid +//go:linkname procGetpgrp libc_getpgrp +//go:linkname procGeteuid libc_geteuid +//go:linkname procGetegid libc_getegid +//go:linkname procGetppid libc_getppid +//go:linkname procGetpriority libc_getpriority +//go:linkname procGetrlimit libc_getrlimit +//go:linkname procGetrusage libc_getrusage +//go:linkname procGettimeofday libc_gettimeofday +//go:linkname procGetuid libc_getuid +//go:linkname procKill libc_kill +//go:linkname procLchown libc_lchown +//go:linkname procLink libc_link +//go:linkname proc__xnet_llisten libc___xnet_llisten +//go:linkname procLstat libc_lstat +//go:linkname procMadvise libc_madvise +//go:linkname procMkdir libc_mkdir +//go:linkname procMkdirat libc_mkdirat +//go:linkname procMkfifo libc_mkfifo +//go:linkname procMkfifoat libc_mkfifoat +//go:linkname procMknod libc_mknod +//go:linkname procMknodat libc_mknodat +//go:linkname procMlock libc_mlock +//go:linkname procMlockall libc_mlockall +//go:linkname procMprotect libc_mprotect +//go:linkname procMsync libc_msync +//go:linkname procMunlock libc_munlock +//go:linkname procMunlockall libc_munlockall +//go:linkname procNanosleep libc_nanosleep +//go:linkname procOpen libc_open +//go:linkname procOpenat libc_openat +//go:linkname procPathconf libc_pathconf +//go:linkname procPause libc_pause +//go:linkname procPread libc_pread +//go:linkname procPwrite libc_pwrite +//go:linkname procread libc_read +//go:linkname procReadlink libc_readlink +//go:linkname procRename libc_rename +//go:linkname procRenameat libc_renameat +//go:linkname procRmdir libc_rmdir +//go:linkname proclseek libc_lseek +//go:linkname procSelect libc_select +//go:linkname procSetegid libc_setegid +//go:linkname procSeteuid libc_seteuid +//go:linkname procSetgid libc_setgid +//go:linkname procSethostname libc_sethostname +//go:linkname procSetpgid libc_setpgid +//go:linkname procSetpriority libc_setpriority +//go:linkname procSetregid libc_setregid +//go:linkname procSetreuid libc_setreuid +//go:linkname procSetrlimit libc_setrlimit +//go:linkname procSetsid libc_setsid +//go:linkname procSetuid libc_setuid +//go:linkname procshutdown libc_shutdown +//go:linkname procStat libc_stat +//go:linkname procStatvfs libc_statvfs +//go:linkname procSymlink libc_symlink +//go:linkname procSync libc_sync +//go:linkname procTimes libc_times +//go:linkname procTruncate libc_truncate +//go:linkname procFsync libc_fsync +//go:linkname procFtruncate libc_ftruncate +//go:linkname procUmask libc_umask +//go:linkname procUname libc_uname +//go:linkname procumount libc_umount +//go:linkname procUnlink libc_unlink +//go:linkname procUnlinkat libc_unlinkat +//go:linkname procUstat libc_ustat +//go:linkname procUtime libc_utime +//go:linkname proc__xnet_bind libc___xnet_bind +//go:linkname proc__xnet_connect libc___xnet_connect +//go:linkname procmmap libc_mmap +//go:linkname procmunmap libc_munmap +//go:linkname procsendfile libc_sendfile +//go:linkname proc__xnet_sendto libc___xnet_sendto +//go:linkname proc__xnet_socket libc___xnet_socket +//go:linkname proc__xnet_socketpair libc___xnet_socketpair +//go:linkname procwrite libc_write +//go:linkname proc__xnet_getsockopt libc___xnet_getsockopt +//go:linkname procgetpeername libc_getpeername +//go:linkname procsetsockopt libc_setsockopt +//go:linkname procrecvfrom libc_recvfrom + +var ( + procpipe, + procgetsockname, + procGetcwd, + procgetgroups, + procsetgroups, + procwait4, + procgethostname, + procutimes, + procutimensat, + procfcntl, + procfutimesat, + procaccept, + proc__xnet_recvmsg, + proc__xnet_sendmsg, + procacct, + proc__makedev, + proc__major, + proc__minor, + procioctl, + procpoll, + procAccess, + procAdjtime, + procChdir, + procChmod, + procChown, + procChroot, + procClose, + procCreat, + procDup, + procDup2, + procExit, + procFaccessat, + procFchdir, + procFchmod, + procFchmodat, + procFchown, + procFchownat, + procFdatasync, + procFlock, + procFpathconf, + procFstat, + procFstatat, + procFstatvfs, + procGetdents, + procGetgid, + procGetpid, + procGetpgid, + procGetpgrp, + procGeteuid, + procGetegid, + procGetppid, + procGetpriority, + procGetrlimit, + procGetrusage, + procGettimeofday, + procGetuid, + procKill, + procLchown, + procLink, + proc__xnet_llisten, + procLstat, + procMadvise, + procMkdir, + procMkdirat, + procMkfifo, + procMkfifoat, + procMknod, + procMknodat, + procMlock, + procMlockall, + procMprotect, + procMsync, + procMunlock, + procMunlockall, + procNanosleep, + procOpen, + procOpenat, + procPathconf, + procPause, + procPread, + procPwrite, + procread, + procReadlink, + procRename, + procRenameat, + procRmdir, + proclseek, + procSelect, + procSetegid, + procSeteuid, + procSetgid, + procSethostname, + procSetpgid, + procSetpriority, + procSetregid, + procSetreuid, + procSetrlimit, + procSetsid, + procSetuid, + procshutdown, + procStat, + procStatvfs, + procSymlink, + procSync, + procTimes, + procTruncate, + procFsync, + procFtruncate, + procUmask, + procUname, + procumount, + procUnlink, + procUnlinkat, + procUstat, + procUtime, + proc__xnet_bind, + proc__xnet_connect, + procmmap, + procmunmap, + procsendfile, + proc__xnet_sendto, + proc__xnet_socket, + proc__xnet_socketpair, + procwrite, + proc__xnet_getsockopt, + procgetpeername, + procsetsockopt, + procrecvfrom syscallFunc +) + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pipe(p *[2]_C_int) (n int, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procpipe)), 1, uintptr(unsafe.Pointer(p)), 0, 0, 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgetsockname)), 3, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getcwd(buf []byte) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetcwd)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), 0, 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procgetgroups)), 2, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0, 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setgroups(ngid int, gid *_Gid_t) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procsetgroups)), 2, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func wait4(pid int32, statusp *_C_int, options int, rusage *Rusage) (wpid int32, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwait4)), 4, uintptr(pid), uintptr(unsafe.Pointer(statusp)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int32(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func gethostname(buf []byte) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgethostname)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), 0, 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimes(path string, times *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procutimes)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func utimensat(fd int, path string, times *[2]Timespec, flag int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procutimensat)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flag), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func fcntl(fd int, cmd int, arg int) (val int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(arg), 0, 0, 0) + val = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func futimesat(fildes int, path *byte, times *[2]Timeval) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfutimesat)), 3, uintptr(fildes), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procaccept)), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_recvmsg)), 3, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_sendmsg)), 3, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func acct(path *byte) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procacct)), 1, uintptr(unsafe.Pointer(path)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func __makedev(version int, major uint, minor uint) (val uint64) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__makedev)), 3, uintptr(version), uintptr(major), uintptr(minor), 0, 0, 0) + val = uint64(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func __major(version int, dev uint64) (val uint) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__major)), 2, uintptr(version), uintptr(dev), 0, 0, 0, 0) + val = uint(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func __minor(version int, dev uint64) (val uint) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__minor)), 2, uintptr(version), uintptr(dev), 0, 0, 0, 0) + val = uint(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func ioctl(fd int, req uint, arg uintptr) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procioctl)), 3, uintptr(fd), uintptr(req), uintptr(arg), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procpoll)), 3, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procAccess)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procAdjtime)), 2, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChdir)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChmod)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChown)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Chroot(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChroot)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Close(fd int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procClose)), 1, uintptr(fd), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Creat(path string, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procCreat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup(fd int) (nfd int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procDup)), 1, uintptr(fd), 0, 0, 0, 0, 0) + nfd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Dup2(oldfd int, newfd int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procDup2)), 2, uintptr(oldfd), uintptr(newfd), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Exit(code int) { + sysvicall6(uintptr(unsafe.Pointer(&procExit)), 1, uintptr(code), 0, 0, 0, 0, 0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFaccessat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchdir(fd int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchdir)), 1, uintptr(fd), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmod(fd int, mode uint32) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchmod)), 2, uintptr(fd), uintptr(mode), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchmodat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchown)), 3, uintptr(fd), uintptr(uid), uintptr(gid), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchownat)), 5, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fdatasync(fd int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFdatasync)), 1, uintptr(fd), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Flock(fd int, how int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFlock)), 2, uintptr(fd), uintptr(how), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fpathconf(fd int, name int) (val int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFpathconf)), 2, uintptr(fd), uintptr(name), 0, 0, 0, 0) + val = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFstat)), 2, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFstatat)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fstatvfs(fd int, vfsstat *Statvfs_t) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFstatvfs)), 2, uintptr(fd), uintptr(unsafe.Pointer(vfsstat)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getdents(fd int, buf []byte, basep *uintptr) (n int, err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetdents)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getgid() (gid int) { + r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetgid)), 0, 0, 0, 0, 0, 0, 0) + gid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpid() (pid int) { + r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpid)), 0, 0, 0, 0, 0, 0, 0) + pid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgid(pid int) (pgid int, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpgid)), 1, uintptr(pid), 0, 0, 0, 0, 0) + pgid = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpgrp() (pgid int, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpgrp)), 0, 0, 0, 0, 0, 0, 0) + pgid = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Geteuid() (euid int) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGeteuid)), 0, 0, 0, 0, 0, 0, 0) + euid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getegid() (egid int) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGetegid)), 0, 0, 0, 0, 0, 0, 0) + egid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getppid() (ppid int) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGetppid)), 0, 0, 0, 0, 0, 0, 0) + ppid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getpriority(which int, who int) (n int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetpriority)), 2, uintptr(which), uintptr(who), 0, 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetrlimit)), 2, uintptr(which), uintptr(unsafe.Pointer(lim)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetrusage)), 2, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGettimeofday)), 1, uintptr(unsafe.Pointer(tv)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Getuid() (uid int) { + r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetuid)), 0, 0, 0, 0, 0, 0, 0) + uid = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Kill(pid int, signum syscall.Signal) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procKill)), 2, uintptr(pid), uintptr(signum), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLchown)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Link(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLink)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Listen(s int, backlog int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_llisten)), 2, uintptr(s), uintptr(backlog), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Lstat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLstat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Madvise(b []byte, advice int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMadvise)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(advice), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkdir)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkdirat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkdirat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifo(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkfifo)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkfifoat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMknod)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMknodat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlock(b []byte) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMlock)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mlockall(flags int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMlockall)), 1, uintptr(flags), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mprotect(b []byte, prot int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMprotect)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(prot), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Msync(b []byte, flags int) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMsync)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(flags), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlock(b []byte) (err error) { + var _p0 *byte + if len(b) > 0 { + _p0 = &b[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMunlock)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Munlockall() (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMunlockall)), 0, 0, 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procNanosleep)), 2, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procOpen)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procOpenat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) + fd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pathconf(path string, name int) (val int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPathconf)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0, 0, 0, 0) + val = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pause() (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPause)), 0, 0, 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPread)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPwrite)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func read(fd int, p []byte) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procread)), 3, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Readlink(path string, buf []byte) (n int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + if len(buf) > 0 { + _p1 = &buf[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procReadlink)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(len(buf)), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rename(from string, to string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRename)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(newpath) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRenameat)), 4, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Rmdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRmdir)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proclseek)), 3, uintptr(fd), uintptr(offset), uintptr(whence), 0, 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { + _, _, 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) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setegid(egid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetegid)), 1, uintptr(egid), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Seteuid(euid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSeteuid)), 1, uintptr(euid), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setgid(gid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetgid)), 1, uintptr(gid), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sethostname(p []byte) (err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSethostname)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpgid(pid int, pgid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetpgid)), 2, uintptr(pid), uintptr(pgid), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setpriority(which int, who int, prio int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSetpriority)), 3, uintptr(which), uintptr(who), uintptr(prio), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setregid(rgid int, egid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetregid)), 2, uintptr(rgid), uintptr(egid), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setreuid(ruid int, euid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetreuid)), 2, uintptr(ruid), uintptr(euid), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setrlimit(which int, lim *Rlimit) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetrlimit)), 2, uintptr(which), uintptr(unsafe.Pointer(lim)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setsid() (pid int, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetsid)), 0, 0, 0, 0, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Setuid(uid int) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetuid)), 1, uintptr(uid), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Shutdown(s int, how int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procshutdown)), 2, uintptr(s), uintptr(how), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procStat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Statvfs(path string, vfsstat *Statvfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procStatvfs)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(vfsstat)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(link) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSymlink)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Sync() (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSync)), 0, 0, 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procTimes)), 1, uintptr(unsafe.Pointer(tms)), 0, 0, 0, 0, 0) + ticks = uintptr(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Truncate(path string, length int64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procTruncate)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Fsync(fd int) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFsync)), 1, uintptr(fd), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ftruncate(fd int, length int64) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFtruncate)), 2, uintptr(fd), uintptr(length), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Umask(mask int) (oldmask int) { + r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procUmask)), 1, uintptr(mask), 0, 0, 0, 0, 0) + oldmask = int(r0) + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Uname(buf *Utsname) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procUname)), 1, uintptr(unsafe.Pointer(buf)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unmount(target string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(target) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procumount)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUnlink)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Unlinkat(dirfd int, path string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUnlinkat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Ustat(dev int, ubuf *Ustat_t) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUstat)), 2, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Utime(path string, buf *Utimbuf) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUtime)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_bind)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_connect)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procmmap)), 6, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func munmap(addr uintptr, length uintptr) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procmunmap)), 2, uintptr(addr), uintptr(length), 0, 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsendfile)), 4, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) + written = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_sendto)), 6, uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socket(domain int, typ int, proto int) (fd int, err error) { + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_socket)), 3, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&proc__xnet_socketpair)), 4, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func write(fd int, p []byte) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwrite)), 3, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_getsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procgetpeername)), 3, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsetsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = e1 + } + return +} + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } + r0, _, 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 = int(r0) + if e1 != 0 { + err = e1 + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go new file mode 100644 index 000000000..b005031ab --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go @@ -0,0 +1,270 @@ +// mksysctl_openbsd.pl +// Code generated by the command above; DO NOT EDIT. + +package unix + +type mibentry struct { + ctlname string + ctloid []_C_int +} + +var sysctlMib = []mibentry{ + {"ddb.console", []_C_int{9, 6}}, + {"ddb.log", []_C_int{9, 7}}, + {"ddb.max_line", []_C_int{9, 3}}, + {"ddb.max_width", []_C_int{9, 2}}, + {"ddb.panic", []_C_int{9, 5}}, + {"ddb.radix", []_C_int{9, 1}}, + {"ddb.tab_stop_width", []_C_int{9, 4}}, + {"ddb.trigger", []_C_int{9, 8}}, + {"fs.posix.setuid", []_C_int{3, 1, 1}}, + {"hw.allowpowerdown", []_C_int{6, 22}}, + {"hw.byteorder", []_C_int{6, 4}}, + {"hw.cpuspeed", []_C_int{6, 12}}, + {"hw.diskcount", []_C_int{6, 10}}, + {"hw.disknames", []_C_int{6, 8}}, + {"hw.diskstats", []_C_int{6, 9}}, + {"hw.machine", []_C_int{6, 1}}, + {"hw.model", []_C_int{6, 2}}, + {"hw.ncpu", []_C_int{6, 3}}, + {"hw.ncpufound", []_C_int{6, 21}}, + {"hw.pagesize", []_C_int{6, 7}}, + {"hw.physmem", []_C_int{6, 19}}, + {"hw.product", []_C_int{6, 15}}, + {"hw.serialno", []_C_int{6, 17}}, + {"hw.setperf", []_C_int{6, 13}}, + {"hw.usermem", []_C_int{6, 20}}, + {"hw.uuid", []_C_int{6, 18}}, + {"hw.vendor", []_C_int{6, 14}}, + {"hw.version", []_C_int{6, 16}}, + {"kern.arandom", []_C_int{1, 37}}, + {"kern.argmax", []_C_int{1, 8}}, + {"kern.boottime", []_C_int{1, 21}}, + {"kern.bufcachepercent", []_C_int{1, 72}}, + {"kern.ccpu", []_C_int{1, 45}}, + {"kern.clockrate", []_C_int{1, 12}}, + {"kern.consdev", []_C_int{1, 75}}, + {"kern.cp_time", []_C_int{1, 40}}, + {"kern.cp_time2", []_C_int{1, 71}}, + {"kern.cryptodevallowsoft", []_C_int{1, 53}}, + {"kern.domainname", []_C_int{1, 22}}, + {"kern.file", []_C_int{1, 73}}, + {"kern.forkstat", []_C_int{1, 42}}, + {"kern.fscale", []_C_int{1, 46}}, + {"kern.fsync", []_C_int{1, 33}}, + {"kern.hostid", []_C_int{1, 11}}, + {"kern.hostname", []_C_int{1, 10}}, + {"kern.intrcnt.nintrcnt", []_C_int{1, 63, 1}}, + {"kern.job_control", []_C_int{1, 19}}, + {"kern.malloc.buckets", []_C_int{1, 39, 1}}, + {"kern.malloc.kmemnames", []_C_int{1, 39, 3}}, + {"kern.maxclusters", []_C_int{1, 67}}, + {"kern.maxfiles", []_C_int{1, 7}}, + {"kern.maxlocksperuid", []_C_int{1, 70}}, + {"kern.maxpartitions", []_C_int{1, 23}}, + {"kern.maxproc", []_C_int{1, 6}}, + {"kern.maxthread", []_C_int{1, 25}}, + {"kern.maxvnodes", []_C_int{1, 5}}, + {"kern.mbstat", []_C_int{1, 59}}, + {"kern.msgbuf", []_C_int{1, 48}}, + {"kern.msgbufsize", []_C_int{1, 38}}, + {"kern.nchstats", []_C_int{1, 41}}, + {"kern.netlivelocks", []_C_int{1, 76}}, + {"kern.nfiles", []_C_int{1, 56}}, + {"kern.ngroups", []_C_int{1, 18}}, + {"kern.nosuidcoredump", []_C_int{1, 32}}, + {"kern.nprocs", []_C_int{1, 47}}, + {"kern.nselcoll", []_C_int{1, 43}}, + {"kern.nthreads", []_C_int{1, 26}}, + {"kern.numvnodes", []_C_int{1, 58}}, + {"kern.osrelease", []_C_int{1, 2}}, + {"kern.osrevision", []_C_int{1, 3}}, + {"kern.ostype", []_C_int{1, 1}}, + {"kern.osversion", []_C_int{1, 27}}, + {"kern.pool_debug", []_C_int{1, 77}}, + {"kern.posix1version", []_C_int{1, 17}}, + {"kern.proc", []_C_int{1, 66}}, + {"kern.random", []_C_int{1, 31}}, + {"kern.rawpartition", []_C_int{1, 24}}, + {"kern.saved_ids", []_C_int{1, 20}}, + {"kern.securelevel", []_C_int{1, 9}}, + {"kern.seminfo", []_C_int{1, 61}}, + {"kern.shminfo", []_C_int{1, 62}}, + {"kern.somaxconn", []_C_int{1, 28}}, + {"kern.sominconn", []_C_int{1, 29}}, + {"kern.splassert", []_C_int{1, 54}}, + {"kern.stackgap_random", []_C_int{1, 50}}, + {"kern.sysvipc_info", []_C_int{1, 51}}, + {"kern.sysvmsg", []_C_int{1, 34}}, + {"kern.sysvsem", []_C_int{1, 35}}, + {"kern.sysvshm", []_C_int{1, 36}}, + {"kern.timecounter.choice", []_C_int{1, 69, 4}}, + {"kern.timecounter.hardware", []_C_int{1, 69, 3}}, + {"kern.timecounter.tick", []_C_int{1, 69, 1}}, + {"kern.timecounter.timestepwarnings", []_C_int{1, 69, 2}}, + {"kern.tty.maxptys", []_C_int{1, 44, 6}}, + {"kern.tty.nptys", []_C_int{1, 44, 7}}, + {"kern.tty.tk_cancc", []_C_int{1, 44, 4}}, + {"kern.tty.tk_nin", []_C_int{1, 44, 1}}, + {"kern.tty.tk_nout", []_C_int{1, 44, 2}}, + {"kern.tty.tk_rawcc", []_C_int{1, 44, 3}}, + {"kern.tty.ttyinfo", []_C_int{1, 44, 5}}, + {"kern.ttycount", []_C_int{1, 57}}, + {"kern.userasymcrypto", []_C_int{1, 60}}, + {"kern.usercrypto", []_C_int{1, 52}}, + {"kern.usermount", []_C_int{1, 30}}, + {"kern.version", []_C_int{1, 4}}, + {"kern.vnode", []_C_int{1, 13}}, + {"kern.watchdog.auto", []_C_int{1, 64, 2}}, + {"kern.watchdog.period", []_C_int{1, 64, 1}}, + {"net.bpf.bufsize", []_C_int{4, 31, 1}}, + {"net.bpf.maxbufsize", []_C_int{4, 31, 2}}, + {"net.inet.ah.enable", []_C_int{4, 2, 51, 1}}, + {"net.inet.ah.stats", []_C_int{4, 2, 51, 2}}, + {"net.inet.carp.allow", []_C_int{4, 2, 112, 1}}, + {"net.inet.carp.log", []_C_int{4, 2, 112, 3}}, + {"net.inet.carp.preempt", []_C_int{4, 2, 112, 2}}, + {"net.inet.carp.stats", []_C_int{4, 2, 112, 4}}, + {"net.inet.divert.recvspace", []_C_int{4, 2, 258, 1}}, + {"net.inet.divert.sendspace", []_C_int{4, 2, 258, 2}}, + {"net.inet.divert.stats", []_C_int{4, 2, 258, 3}}, + {"net.inet.esp.enable", []_C_int{4, 2, 50, 1}}, + {"net.inet.esp.stats", []_C_int{4, 2, 50, 4}}, + {"net.inet.esp.udpencap", []_C_int{4, 2, 50, 2}}, + {"net.inet.esp.udpencap_port", []_C_int{4, 2, 50, 3}}, + {"net.inet.etherip.allow", []_C_int{4, 2, 97, 1}}, + {"net.inet.etherip.stats", []_C_int{4, 2, 97, 2}}, + {"net.inet.gre.allow", []_C_int{4, 2, 47, 1}}, + {"net.inet.gre.wccp", []_C_int{4, 2, 47, 2}}, + {"net.inet.icmp.bmcastecho", []_C_int{4, 2, 1, 2}}, + {"net.inet.icmp.errppslimit", []_C_int{4, 2, 1, 3}}, + {"net.inet.icmp.maskrepl", []_C_int{4, 2, 1, 1}}, + {"net.inet.icmp.rediraccept", []_C_int{4, 2, 1, 4}}, + {"net.inet.icmp.redirtimeout", []_C_int{4, 2, 1, 5}}, + {"net.inet.icmp.stats", []_C_int{4, 2, 1, 7}}, + {"net.inet.icmp.tstamprepl", []_C_int{4, 2, 1, 6}}, + {"net.inet.igmp.stats", []_C_int{4, 2, 2, 1}}, + {"net.inet.ip.arpqueued", []_C_int{4, 2, 0, 36}}, + {"net.inet.ip.encdebug", []_C_int{4, 2, 0, 12}}, + {"net.inet.ip.forwarding", []_C_int{4, 2, 0, 1}}, + {"net.inet.ip.ifq.congestion", []_C_int{4, 2, 0, 30, 4}}, + {"net.inet.ip.ifq.drops", []_C_int{4, 2, 0, 30, 3}}, + {"net.inet.ip.ifq.len", []_C_int{4, 2, 0, 30, 1}}, + {"net.inet.ip.ifq.maxlen", []_C_int{4, 2, 0, 30, 2}}, + {"net.inet.ip.maxqueue", []_C_int{4, 2, 0, 11}}, + {"net.inet.ip.mforwarding", []_C_int{4, 2, 0, 31}}, + {"net.inet.ip.mrtproto", []_C_int{4, 2, 0, 34}}, + {"net.inet.ip.mrtstats", []_C_int{4, 2, 0, 35}}, + {"net.inet.ip.mtu", []_C_int{4, 2, 0, 4}}, + {"net.inet.ip.mtudisc", []_C_int{4, 2, 0, 27}}, + {"net.inet.ip.mtudisctimeout", []_C_int{4, 2, 0, 28}}, + {"net.inet.ip.multipath", []_C_int{4, 2, 0, 32}}, + {"net.inet.ip.portfirst", []_C_int{4, 2, 0, 7}}, + {"net.inet.ip.porthifirst", []_C_int{4, 2, 0, 9}}, + {"net.inet.ip.porthilast", []_C_int{4, 2, 0, 10}}, + {"net.inet.ip.portlast", []_C_int{4, 2, 0, 8}}, + {"net.inet.ip.redirect", []_C_int{4, 2, 0, 2}}, + {"net.inet.ip.sourceroute", []_C_int{4, 2, 0, 5}}, + {"net.inet.ip.stats", []_C_int{4, 2, 0, 33}}, + {"net.inet.ip.ttl", []_C_int{4, 2, 0, 3}}, + {"net.inet.ipcomp.enable", []_C_int{4, 2, 108, 1}}, + {"net.inet.ipcomp.stats", []_C_int{4, 2, 108, 2}}, + {"net.inet.ipip.allow", []_C_int{4, 2, 4, 1}}, + {"net.inet.ipip.stats", []_C_int{4, 2, 4, 2}}, + {"net.inet.mobileip.allow", []_C_int{4, 2, 55, 1}}, + {"net.inet.pfsync.stats", []_C_int{4, 2, 240, 1}}, + {"net.inet.pim.stats", []_C_int{4, 2, 103, 1}}, + {"net.inet.tcp.ackonpush", []_C_int{4, 2, 6, 13}}, + {"net.inet.tcp.always_keepalive", []_C_int{4, 2, 6, 22}}, + {"net.inet.tcp.baddynamic", []_C_int{4, 2, 6, 6}}, + {"net.inet.tcp.drop", []_C_int{4, 2, 6, 19}}, + {"net.inet.tcp.ecn", []_C_int{4, 2, 6, 14}}, + {"net.inet.tcp.ident", []_C_int{4, 2, 6, 9}}, + {"net.inet.tcp.keepidle", []_C_int{4, 2, 6, 3}}, + {"net.inet.tcp.keepinittime", []_C_int{4, 2, 6, 2}}, + {"net.inet.tcp.keepintvl", []_C_int{4, 2, 6, 4}}, + {"net.inet.tcp.mssdflt", []_C_int{4, 2, 6, 11}}, + {"net.inet.tcp.reasslimit", []_C_int{4, 2, 6, 18}}, + {"net.inet.tcp.rfc1323", []_C_int{4, 2, 6, 1}}, + {"net.inet.tcp.rfc3390", []_C_int{4, 2, 6, 17}}, + {"net.inet.tcp.rstppslimit", []_C_int{4, 2, 6, 12}}, + {"net.inet.tcp.sack", []_C_int{4, 2, 6, 10}}, + {"net.inet.tcp.sackholelimit", []_C_int{4, 2, 6, 20}}, + {"net.inet.tcp.slowhz", []_C_int{4, 2, 6, 5}}, + {"net.inet.tcp.stats", []_C_int{4, 2, 6, 21}}, + {"net.inet.tcp.synbucketlimit", []_C_int{4, 2, 6, 16}}, + {"net.inet.tcp.syncachelimit", []_C_int{4, 2, 6, 15}}, + {"net.inet.udp.baddynamic", []_C_int{4, 2, 17, 2}}, + {"net.inet.udp.checksum", []_C_int{4, 2, 17, 1}}, + {"net.inet.udp.recvspace", []_C_int{4, 2, 17, 3}}, + {"net.inet.udp.sendspace", []_C_int{4, 2, 17, 4}}, + {"net.inet.udp.stats", []_C_int{4, 2, 17, 5}}, + {"net.inet6.divert.recvspace", []_C_int{4, 24, 86, 1}}, + {"net.inet6.divert.sendspace", []_C_int{4, 24, 86, 2}}, + {"net.inet6.divert.stats", []_C_int{4, 24, 86, 3}}, + {"net.inet6.icmp6.errppslimit", []_C_int{4, 24, 30, 14}}, + {"net.inet6.icmp6.mtudisc_hiwat", []_C_int{4, 24, 30, 16}}, + {"net.inet6.icmp6.mtudisc_lowat", []_C_int{4, 24, 30, 17}}, + {"net.inet6.icmp6.nd6_debug", []_C_int{4, 24, 30, 18}}, + {"net.inet6.icmp6.nd6_delay", []_C_int{4, 24, 30, 8}}, + {"net.inet6.icmp6.nd6_maxnudhint", []_C_int{4, 24, 30, 15}}, + {"net.inet6.icmp6.nd6_mmaxtries", []_C_int{4, 24, 30, 10}}, + {"net.inet6.icmp6.nd6_prune", []_C_int{4, 24, 30, 6}}, + {"net.inet6.icmp6.nd6_umaxtries", []_C_int{4, 24, 30, 9}}, + {"net.inet6.icmp6.nd6_useloopback", []_C_int{4, 24, 30, 11}}, + {"net.inet6.icmp6.nodeinfo", []_C_int{4, 24, 30, 13}}, + {"net.inet6.icmp6.rediraccept", []_C_int{4, 24, 30, 2}}, + {"net.inet6.icmp6.redirtimeout", []_C_int{4, 24, 30, 3}}, + {"net.inet6.ip6.accept_rtadv", []_C_int{4, 24, 17, 12}}, + {"net.inet6.ip6.auto_flowlabel", []_C_int{4, 24, 17, 17}}, + {"net.inet6.ip6.dad_count", []_C_int{4, 24, 17, 16}}, + {"net.inet6.ip6.dad_pending", []_C_int{4, 24, 17, 49}}, + {"net.inet6.ip6.defmcasthlim", []_C_int{4, 24, 17, 18}}, + {"net.inet6.ip6.forwarding", []_C_int{4, 24, 17, 1}}, + {"net.inet6.ip6.forwsrcrt", []_C_int{4, 24, 17, 5}}, + {"net.inet6.ip6.hdrnestlimit", []_C_int{4, 24, 17, 15}}, + {"net.inet6.ip6.hlim", []_C_int{4, 24, 17, 3}}, + {"net.inet6.ip6.log_interval", []_C_int{4, 24, 17, 14}}, + {"net.inet6.ip6.maxdynroutes", []_C_int{4, 24, 17, 48}}, + {"net.inet6.ip6.maxfragpackets", []_C_int{4, 24, 17, 9}}, + {"net.inet6.ip6.maxfrags", []_C_int{4, 24, 17, 41}}, + {"net.inet6.ip6.maxifdefrouters", []_C_int{4, 24, 17, 47}}, + {"net.inet6.ip6.maxifprefixes", []_C_int{4, 24, 17, 46}}, + {"net.inet6.ip6.mforwarding", []_C_int{4, 24, 17, 42}}, + {"net.inet6.ip6.mrtproto", []_C_int{4, 24, 17, 8}}, + {"net.inet6.ip6.mtudisctimeout", []_C_int{4, 24, 17, 50}}, + {"net.inet6.ip6.multicast_mtudisc", []_C_int{4, 24, 17, 44}}, + {"net.inet6.ip6.multipath", []_C_int{4, 24, 17, 43}}, + {"net.inet6.ip6.neighborgcthresh", []_C_int{4, 24, 17, 45}}, + {"net.inet6.ip6.redirect", []_C_int{4, 24, 17, 2}}, + {"net.inet6.ip6.rr_prune", []_C_int{4, 24, 17, 22}}, + {"net.inet6.ip6.sourcecheck", []_C_int{4, 24, 17, 10}}, + {"net.inet6.ip6.sourcecheck_logint", []_C_int{4, 24, 17, 11}}, + {"net.inet6.ip6.use_deprecated", []_C_int{4, 24, 17, 21}}, + {"net.inet6.ip6.v6only", []_C_int{4, 24, 17, 24}}, + {"net.key.sadb_dump", []_C_int{4, 30, 1}}, + {"net.key.spd_dump", []_C_int{4, 30, 2}}, + {"net.mpls.ifq.congestion", []_C_int{4, 33, 3, 4}}, + {"net.mpls.ifq.drops", []_C_int{4, 33, 3, 3}}, + {"net.mpls.ifq.len", []_C_int{4, 33, 3, 1}}, + {"net.mpls.ifq.maxlen", []_C_int{4, 33, 3, 2}}, + {"net.mpls.mapttl_ip", []_C_int{4, 33, 5}}, + {"net.mpls.mapttl_ip6", []_C_int{4, 33, 6}}, + {"net.mpls.maxloop_inkernel", []_C_int{4, 33, 4}}, + {"net.mpls.ttl", []_C_int{4, 33, 2}}, + {"net.pflow.stats", []_C_int{4, 34, 1}}, + {"net.pipex.enable", []_C_int{4, 35, 1}}, + {"vm.anonmin", []_C_int{2, 7}}, + {"vm.loadavg", []_C_int{2, 2}}, + {"vm.maxslp", []_C_int{2, 10}}, + {"vm.nkmempages", []_C_int{2, 6}}, + {"vm.psstrings", []_C_int{2, 3}}, + {"vm.swapencrypt.enable", []_C_int{2, 5, 0}}, + {"vm.swapencrypt.keyscreated", []_C_int{2, 5, 1}}, + {"vm.swapencrypt.keysdeleted", []_C_int{2, 5, 2}}, + {"vm.uspace", []_C_int{2, 11}}, + {"vm.uvmexp", []_C_int{2, 4}}, + {"vm.vmmeter", []_C_int{2, 1}}, + {"vm.vnodemin", []_C_int{2, 9}}, + {"vm.vtextmin", []_C_int{2, 8}}, +} diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go new file mode 100644 index 000000000..d014451c9 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go @@ -0,0 +1,270 @@ +// mksysctl_openbsd.pl +// Code generated by the command above; DO NOT EDIT. + +// +build amd64,openbsd + +package unix + +type mibentry struct { + ctlname string + ctloid []_C_int +} + +var sysctlMib = []mibentry{ + {"ddb.console", []_C_int{9, 6}}, + {"ddb.log", []_C_int{9, 7}}, + {"ddb.max_line", []_C_int{9, 3}}, + {"ddb.max_width", []_C_int{9, 2}}, + {"ddb.panic", []_C_int{9, 5}}, + {"ddb.profile", []_C_int{9, 9}}, + {"ddb.radix", []_C_int{9, 1}}, + {"ddb.tab_stop_width", []_C_int{9, 4}}, + {"ddb.trigger", []_C_int{9, 8}}, + {"fs.posix.setuid", []_C_int{3, 1, 1}}, + {"hw.allowpowerdown", []_C_int{6, 22}}, + {"hw.byteorder", []_C_int{6, 4}}, + {"hw.cpuspeed", []_C_int{6, 12}}, + {"hw.diskcount", []_C_int{6, 10}}, + {"hw.disknames", []_C_int{6, 8}}, + {"hw.diskstats", []_C_int{6, 9}}, + {"hw.machine", []_C_int{6, 1}}, + {"hw.model", []_C_int{6, 2}}, + {"hw.ncpu", []_C_int{6, 3}}, + {"hw.ncpufound", []_C_int{6, 21}}, + {"hw.pagesize", []_C_int{6, 7}}, + {"hw.perfpolicy", []_C_int{6, 23}}, + {"hw.physmem", []_C_int{6, 19}}, + {"hw.product", []_C_int{6, 15}}, + {"hw.serialno", []_C_int{6, 17}}, + {"hw.setperf", []_C_int{6, 13}}, + {"hw.usermem", []_C_int{6, 20}}, + {"hw.uuid", []_C_int{6, 18}}, + {"hw.vendor", []_C_int{6, 14}}, + {"hw.version", []_C_int{6, 16}}, + {"kern.allowkmem", []_C_int{1, 52}}, + {"kern.argmax", []_C_int{1, 8}}, + {"kern.boottime", []_C_int{1, 21}}, + {"kern.bufcachepercent", []_C_int{1, 72}}, + {"kern.ccpu", []_C_int{1, 45}}, + {"kern.clockrate", []_C_int{1, 12}}, + {"kern.consdev", []_C_int{1, 75}}, + {"kern.cp_time", []_C_int{1, 40}}, + {"kern.cp_time2", []_C_int{1, 71}}, + {"kern.dnsjackport", []_C_int{1, 13}}, + {"kern.domainname", []_C_int{1, 22}}, + {"kern.file", []_C_int{1, 73}}, + {"kern.forkstat", []_C_int{1, 42}}, + {"kern.fscale", []_C_int{1, 46}}, + {"kern.fsync", []_C_int{1, 33}}, + {"kern.global_ptrace", []_C_int{1, 81}}, + {"kern.hostid", []_C_int{1, 11}}, + {"kern.hostname", []_C_int{1, 10}}, + {"kern.intrcnt.nintrcnt", []_C_int{1, 63, 1}}, + {"kern.job_control", []_C_int{1, 19}}, + {"kern.malloc.buckets", []_C_int{1, 39, 1}}, + {"kern.malloc.kmemnames", []_C_int{1, 39, 3}}, + {"kern.maxclusters", []_C_int{1, 67}}, + {"kern.maxfiles", []_C_int{1, 7}}, + {"kern.maxlocksperuid", []_C_int{1, 70}}, + {"kern.maxpartitions", []_C_int{1, 23}}, + {"kern.maxproc", []_C_int{1, 6}}, + {"kern.maxthread", []_C_int{1, 25}}, + {"kern.maxvnodes", []_C_int{1, 5}}, + {"kern.mbstat", []_C_int{1, 59}}, + {"kern.msgbuf", []_C_int{1, 48}}, + {"kern.msgbufsize", []_C_int{1, 38}}, + {"kern.nchstats", []_C_int{1, 41}}, + {"kern.netlivelocks", []_C_int{1, 76}}, + {"kern.nfiles", []_C_int{1, 56}}, + {"kern.ngroups", []_C_int{1, 18}}, + {"kern.nosuidcoredump", []_C_int{1, 32}}, + {"kern.nprocs", []_C_int{1, 47}}, + {"kern.nselcoll", []_C_int{1, 43}}, + {"kern.nthreads", []_C_int{1, 26}}, + {"kern.numvnodes", []_C_int{1, 58}}, + {"kern.osrelease", []_C_int{1, 2}}, + {"kern.osrevision", []_C_int{1, 3}}, + {"kern.ostype", []_C_int{1, 1}}, + {"kern.osversion", []_C_int{1, 27}}, + {"kern.pool_debug", []_C_int{1, 77}}, + {"kern.posix1version", []_C_int{1, 17}}, + {"kern.proc", []_C_int{1, 66}}, + {"kern.rawpartition", []_C_int{1, 24}}, + {"kern.saved_ids", []_C_int{1, 20}}, + {"kern.securelevel", []_C_int{1, 9}}, + {"kern.seminfo", []_C_int{1, 61}}, + {"kern.shminfo", []_C_int{1, 62}}, + {"kern.somaxconn", []_C_int{1, 28}}, + {"kern.sominconn", []_C_int{1, 29}}, + {"kern.splassert", []_C_int{1, 54}}, + {"kern.stackgap_random", []_C_int{1, 50}}, + {"kern.sysvipc_info", []_C_int{1, 51}}, + {"kern.sysvmsg", []_C_int{1, 34}}, + {"kern.sysvsem", []_C_int{1, 35}}, + {"kern.sysvshm", []_C_int{1, 36}}, + {"kern.timecounter.choice", []_C_int{1, 69, 4}}, + {"kern.timecounter.hardware", []_C_int{1, 69, 3}}, + {"kern.timecounter.tick", []_C_int{1, 69, 1}}, + {"kern.timecounter.timestepwarnings", []_C_int{1, 69, 2}}, + {"kern.tty.tk_cancc", []_C_int{1, 44, 4}}, + {"kern.tty.tk_nin", []_C_int{1, 44, 1}}, + {"kern.tty.tk_nout", []_C_int{1, 44, 2}}, + {"kern.tty.tk_rawcc", []_C_int{1, 44, 3}}, + {"kern.tty.ttyinfo", []_C_int{1, 44, 5}}, + {"kern.ttycount", []_C_int{1, 57}}, + {"kern.version", []_C_int{1, 4}}, + {"kern.watchdog.auto", []_C_int{1, 64, 2}}, + {"kern.watchdog.period", []_C_int{1, 64, 1}}, + {"kern.wxabort", []_C_int{1, 74}}, + {"net.bpf.bufsize", []_C_int{4, 31, 1}}, + {"net.bpf.maxbufsize", []_C_int{4, 31, 2}}, + {"net.inet.ah.enable", []_C_int{4, 2, 51, 1}}, + {"net.inet.ah.stats", []_C_int{4, 2, 51, 2}}, + {"net.inet.carp.allow", []_C_int{4, 2, 112, 1}}, + {"net.inet.carp.log", []_C_int{4, 2, 112, 3}}, + {"net.inet.carp.preempt", []_C_int{4, 2, 112, 2}}, + {"net.inet.carp.stats", []_C_int{4, 2, 112, 4}}, + {"net.inet.divert.recvspace", []_C_int{4, 2, 258, 1}}, + {"net.inet.divert.sendspace", []_C_int{4, 2, 258, 2}}, + {"net.inet.divert.stats", []_C_int{4, 2, 258, 3}}, + {"net.inet.esp.enable", []_C_int{4, 2, 50, 1}}, + {"net.inet.esp.stats", []_C_int{4, 2, 50, 4}}, + {"net.inet.esp.udpencap", []_C_int{4, 2, 50, 2}}, + {"net.inet.esp.udpencap_port", []_C_int{4, 2, 50, 3}}, + {"net.inet.etherip.allow", []_C_int{4, 2, 97, 1}}, + {"net.inet.etherip.stats", []_C_int{4, 2, 97, 2}}, + {"net.inet.gre.allow", []_C_int{4, 2, 47, 1}}, + {"net.inet.gre.wccp", []_C_int{4, 2, 47, 2}}, + {"net.inet.icmp.bmcastecho", []_C_int{4, 2, 1, 2}}, + {"net.inet.icmp.errppslimit", []_C_int{4, 2, 1, 3}}, + {"net.inet.icmp.maskrepl", []_C_int{4, 2, 1, 1}}, + {"net.inet.icmp.rediraccept", []_C_int{4, 2, 1, 4}}, + {"net.inet.icmp.redirtimeout", []_C_int{4, 2, 1, 5}}, + {"net.inet.icmp.stats", []_C_int{4, 2, 1, 7}}, + {"net.inet.icmp.tstamprepl", []_C_int{4, 2, 1, 6}}, + {"net.inet.igmp.stats", []_C_int{4, 2, 2, 1}}, + {"net.inet.ip.arpdown", []_C_int{4, 2, 0, 40}}, + {"net.inet.ip.arpqueued", []_C_int{4, 2, 0, 36}}, + {"net.inet.ip.arptimeout", []_C_int{4, 2, 0, 39}}, + {"net.inet.ip.encdebug", []_C_int{4, 2, 0, 12}}, + {"net.inet.ip.forwarding", []_C_int{4, 2, 0, 1}}, + {"net.inet.ip.ifq.congestion", []_C_int{4, 2, 0, 30, 4}}, + {"net.inet.ip.ifq.drops", []_C_int{4, 2, 0, 30, 3}}, + {"net.inet.ip.ifq.len", []_C_int{4, 2, 0, 30, 1}}, + {"net.inet.ip.ifq.maxlen", []_C_int{4, 2, 0, 30, 2}}, + {"net.inet.ip.maxqueue", []_C_int{4, 2, 0, 11}}, + {"net.inet.ip.mforwarding", []_C_int{4, 2, 0, 31}}, + {"net.inet.ip.mrtmfc", []_C_int{4, 2, 0, 37}}, + {"net.inet.ip.mrtproto", []_C_int{4, 2, 0, 34}}, + {"net.inet.ip.mrtstats", []_C_int{4, 2, 0, 35}}, + {"net.inet.ip.mrtvif", []_C_int{4, 2, 0, 38}}, + {"net.inet.ip.mtu", []_C_int{4, 2, 0, 4}}, + {"net.inet.ip.mtudisc", []_C_int{4, 2, 0, 27}}, + {"net.inet.ip.mtudisctimeout", []_C_int{4, 2, 0, 28}}, + {"net.inet.ip.multipath", []_C_int{4, 2, 0, 32}}, + {"net.inet.ip.portfirst", []_C_int{4, 2, 0, 7}}, + {"net.inet.ip.porthifirst", []_C_int{4, 2, 0, 9}}, + {"net.inet.ip.porthilast", []_C_int{4, 2, 0, 10}}, + {"net.inet.ip.portlast", []_C_int{4, 2, 0, 8}}, + {"net.inet.ip.redirect", []_C_int{4, 2, 0, 2}}, + {"net.inet.ip.sourceroute", []_C_int{4, 2, 0, 5}}, + {"net.inet.ip.stats", []_C_int{4, 2, 0, 33}}, + {"net.inet.ip.ttl", []_C_int{4, 2, 0, 3}}, + {"net.inet.ipcomp.enable", []_C_int{4, 2, 108, 1}}, + {"net.inet.ipcomp.stats", []_C_int{4, 2, 108, 2}}, + {"net.inet.ipip.allow", []_C_int{4, 2, 4, 1}}, + {"net.inet.ipip.stats", []_C_int{4, 2, 4, 2}}, + {"net.inet.mobileip.allow", []_C_int{4, 2, 55, 1}}, + {"net.inet.pfsync.stats", []_C_int{4, 2, 240, 1}}, + {"net.inet.tcp.ackonpush", []_C_int{4, 2, 6, 13}}, + {"net.inet.tcp.always_keepalive", []_C_int{4, 2, 6, 22}}, + {"net.inet.tcp.baddynamic", []_C_int{4, 2, 6, 6}}, + {"net.inet.tcp.drop", []_C_int{4, 2, 6, 19}}, + {"net.inet.tcp.ecn", []_C_int{4, 2, 6, 14}}, + {"net.inet.tcp.ident", []_C_int{4, 2, 6, 9}}, + {"net.inet.tcp.keepidle", []_C_int{4, 2, 6, 3}}, + {"net.inet.tcp.keepinittime", []_C_int{4, 2, 6, 2}}, + {"net.inet.tcp.keepintvl", []_C_int{4, 2, 6, 4}}, + {"net.inet.tcp.mssdflt", []_C_int{4, 2, 6, 11}}, + {"net.inet.tcp.reasslimit", []_C_int{4, 2, 6, 18}}, + {"net.inet.tcp.rfc1323", []_C_int{4, 2, 6, 1}}, + {"net.inet.tcp.rfc3390", []_C_int{4, 2, 6, 17}}, + {"net.inet.tcp.rootonly", []_C_int{4, 2, 6, 24}}, + {"net.inet.tcp.rstppslimit", []_C_int{4, 2, 6, 12}}, + {"net.inet.tcp.sack", []_C_int{4, 2, 6, 10}}, + {"net.inet.tcp.sackholelimit", []_C_int{4, 2, 6, 20}}, + {"net.inet.tcp.slowhz", []_C_int{4, 2, 6, 5}}, + {"net.inet.tcp.stats", []_C_int{4, 2, 6, 21}}, + {"net.inet.tcp.synbucketlimit", []_C_int{4, 2, 6, 16}}, + {"net.inet.tcp.syncachelimit", []_C_int{4, 2, 6, 15}}, + {"net.inet.tcp.synhashsize", []_C_int{4, 2, 6, 25}}, + {"net.inet.tcp.synuselimit", []_C_int{4, 2, 6, 23}}, + {"net.inet.udp.baddynamic", []_C_int{4, 2, 17, 2}}, + {"net.inet.udp.checksum", []_C_int{4, 2, 17, 1}}, + {"net.inet.udp.recvspace", []_C_int{4, 2, 17, 3}}, + {"net.inet.udp.rootonly", []_C_int{4, 2, 17, 6}}, + {"net.inet.udp.sendspace", []_C_int{4, 2, 17, 4}}, + {"net.inet.udp.stats", []_C_int{4, 2, 17, 5}}, + {"net.inet6.divert.recvspace", []_C_int{4, 24, 86, 1}}, + {"net.inet6.divert.sendspace", []_C_int{4, 24, 86, 2}}, + {"net.inet6.divert.stats", []_C_int{4, 24, 86, 3}}, + {"net.inet6.icmp6.errppslimit", []_C_int{4, 24, 30, 14}}, + {"net.inet6.icmp6.mtudisc_hiwat", []_C_int{4, 24, 30, 16}}, + {"net.inet6.icmp6.mtudisc_lowat", []_C_int{4, 24, 30, 17}}, + {"net.inet6.icmp6.nd6_debug", []_C_int{4, 24, 30, 18}}, + {"net.inet6.icmp6.nd6_delay", []_C_int{4, 24, 30, 8}}, + {"net.inet6.icmp6.nd6_maxnudhint", []_C_int{4, 24, 30, 15}}, + {"net.inet6.icmp6.nd6_mmaxtries", []_C_int{4, 24, 30, 10}}, + {"net.inet6.icmp6.nd6_umaxtries", []_C_int{4, 24, 30, 9}}, + {"net.inet6.icmp6.redirtimeout", []_C_int{4, 24, 30, 3}}, + {"net.inet6.ip6.auto_flowlabel", []_C_int{4, 24, 17, 17}}, + {"net.inet6.ip6.dad_count", []_C_int{4, 24, 17, 16}}, + {"net.inet6.ip6.dad_pending", []_C_int{4, 24, 17, 49}}, + {"net.inet6.ip6.defmcasthlim", []_C_int{4, 24, 17, 18}}, + {"net.inet6.ip6.forwarding", []_C_int{4, 24, 17, 1}}, + {"net.inet6.ip6.forwsrcrt", []_C_int{4, 24, 17, 5}}, + {"net.inet6.ip6.hdrnestlimit", []_C_int{4, 24, 17, 15}}, + {"net.inet6.ip6.hlim", []_C_int{4, 24, 17, 3}}, + {"net.inet6.ip6.log_interval", []_C_int{4, 24, 17, 14}}, + {"net.inet6.ip6.maxdynroutes", []_C_int{4, 24, 17, 48}}, + {"net.inet6.ip6.maxfragpackets", []_C_int{4, 24, 17, 9}}, + {"net.inet6.ip6.maxfrags", []_C_int{4, 24, 17, 41}}, + {"net.inet6.ip6.mforwarding", []_C_int{4, 24, 17, 42}}, + {"net.inet6.ip6.mrtmfc", []_C_int{4, 24, 17, 53}}, + {"net.inet6.ip6.mrtmif", []_C_int{4, 24, 17, 52}}, + {"net.inet6.ip6.mrtproto", []_C_int{4, 24, 17, 8}}, + {"net.inet6.ip6.mtudisctimeout", []_C_int{4, 24, 17, 50}}, + {"net.inet6.ip6.multicast_mtudisc", []_C_int{4, 24, 17, 44}}, + {"net.inet6.ip6.multipath", []_C_int{4, 24, 17, 43}}, + {"net.inet6.ip6.neighborgcthresh", []_C_int{4, 24, 17, 45}}, + {"net.inet6.ip6.redirect", []_C_int{4, 24, 17, 2}}, + {"net.inet6.ip6.soiikey", []_C_int{4, 24, 17, 54}}, + {"net.inet6.ip6.sourcecheck", []_C_int{4, 24, 17, 10}}, + {"net.inet6.ip6.sourcecheck_logint", []_C_int{4, 24, 17, 11}}, + {"net.inet6.ip6.use_deprecated", []_C_int{4, 24, 17, 21}}, + {"net.key.sadb_dump", []_C_int{4, 30, 1}}, + {"net.key.spd_dump", []_C_int{4, 30, 2}}, + {"net.mpls.ifq.congestion", []_C_int{4, 33, 3, 4}}, + {"net.mpls.ifq.drops", []_C_int{4, 33, 3, 3}}, + {"net.mpls.ifq.len", []_C_int{4, 33, 3, 1}}, + {"net.mpls.ifq.maxlen", []_C_int{4, 33, 3, 2}}, + {"net.mpls.mapttl_ip", []_C_int{4, 33, 5}}, + {"net.mpls.mapttl_ip6", []_C_int{4, 33, 6}}, + {"net.mpls.maxloop_inkernel", []_C_int{4, 33, 4}}, + {"net.mpls.ttl", []_C_int{4, 33, 2}}, + {"net.pflow.stats", []_C_int{4, 34, 1}}, + {"net.pipex.enable", []_C_int{4, 35, 1}}, + {"vm.anonmin", []_C_int{2, 7}}, + {"vm.loadavg", []_C_int{2, 2}}, + {"vm.maxslp", []_C_int{2, 10}}, + {"vm.nkmempages", []_C_int{2, 6}}, + {"vm.psstrings", []_C_int{2, 3}}, + {"vm.swapencrypt.enable", []_C_int{2, 5, 0}}, + {"vm.swapencrypt.keyscreated", []_C_int{2, 5, 1}}, + {"vm.swapencrypt.keysdeleted", []_C_int{2, 5, 2}}, + {"vm.uspace", []_C_int{2, 11}}, + {"vm.uvmexp", []_C_int{2, 4}}, + {"vm.vmmeter", []_C_int{2, 1}}, + {"vm.vnodemin", []_C_int{2, 9}}, + {"vm.vtextmin", []_C_int{2, 8}}, +} diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go new file mode 100644 index 000000000..b005031ab --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go @@ -0,0 +1,270 @@ +// mksysctl_openbsd.pl +// Code generated by the command above; DO NOT EDIT. + +package unix + +type mibentry struct { + ctlname string + ctloid []_C_int +} + +var sysctlMib = []mibentry{ + {"ddb.console", []_C_int{9, 6}}, + {"ddb.log", []_C_int{9, 7}}, + {"ddb.max_line", []_C_int{9, 3}}, + {"ddb.max_width", []_C_int{9, 2}}, + {"ddb.panic", []_C_int{9, 5}}, + {"ddb.radix", []_C_int{9, 1}}, + {"ddb.tab_stop_width", []_C_int{9, 4}}, + {"ddb.trigger", []_C_int{9, 8}}, + {"fs.posix.setuid", []_C_int{3, 1, 1}}, + {"hw.allowpowerdown", []_C_int{6, 22}}, + {"hw.byteorder", []_C_int{6, 4}}, + {"hw.cpuspeed", []_C_int{6, 12}}, + {"hw.diskcount", []_C_int{6, 10}}, + {"hw.disknames", []_C_int{6, 8}}, + {"hw.diskstats", []_C_int{6, 9}}, + {"hw.machine", []_C_int{6, 1}}, + {"hw.model", []_C_int{6, 2}}, + {"hw.ncpu", []_C_int{6, 3}}, + {"hw.ncpufound", []_C_int{6, 21}}, + {"hw.pagesize", []_C_int{6, 7}}, + {"hw.physmem", []_C_int{6, 19}}, + {"hw.product", []_C_int{6, 15}}, + {"hw.serialno", []_C_int{6, 17}}, + {"hw.setperf", []_C_int{6, 13}}, + {"hw.usermem", []_C_int{6, 20}}, + {"hw.uuid", []_C_int{6, 18}}, + {"hw.vendor", []_C_int{6, 14}}, + {"hw.version", []_C_int{6, 16}}, + {"kern.arandom", []_C_int{1, 37}}, + {"kern.argmax", []_C_int{1, 8}}, + {"kern.boottime", []_C_int{1, 21}}, + {"kern.bufcachepercent", []_C_int{1, 72}}, + {"kern.ccpu", []_C_int{1, 45}}, + {"kern.clockrate", []_C_int{1, 12}}, + {"kern.consdev", []_C_int{1, 75}}, + {"kern.cp_time", []_C_int{1, 40}}, + {"kern.cp_time2", []_C_int{1, 71}}, + {"kern.cryptodevallowsoft", []_C_int{1, 53}}, + {"kern.domainname", []_C_int{1, 22}}, + {"kern.file", []_C_int{1, 73}}, + {"kern.forkstat", []_C_int{1, 42}}, + {"kern.fscale", []_C_int{1, 46}}, + {"kern.fsync", []_C_int{1, 33}}, + {"kern.hostid", []_C_int{1, 11}}, + {"kern.hostname", []_C_int{1, 10}}, + {"kern.intrcnt.nintrcnt", []_C_int{1, 63, 1}}, + {"kern.job_control", []_C_int{1, 19}}, + {"kern.malloc.buckets", []_C_int{1, 39, 1}}, + {"kern.malloc.kmemnames", []_C_int{1, 39, 3}}, + {"kern.maxclusters", []_C_int{1, 67}}, + {"kern.maxfiles", []_C_int{1, 7}}, + {"kern.maxlocksperuid", []_C_int{1, 70}}, + {"kern.maxpartitions", []_C_int{1, 23}}, + {"kern.maxproc", []_C_int{1, 6}}, + {"kern.maxthread", []_C_int{1, 25}}, + {"kern.maxvnodes", []_C_int{1, 5}}, + {"kern.mbstat", []_C_int{1, 59}}, + {"kern.msgbuf", []_C_int{1, 48}}, + {"kern.msgbufsize", []_C_int{1, 38}}, + {"kern.nchstats", []_C_int{1, 41}}, + {"kern.netlivelocks", []_C_int{1, 76}}, + {"kern.nfiles", []_C_int{1, 56}}, + {"kern.ngroups", []_C_int{1, 18}}, + {"kern.nosuidcoredump", []_C_int{1, 32}}, + {"kern.nprocs", []_C_int{1, 47}}, + {"kern.nselcoll", []_C_int{1, 43}}, + {"kern.nthreads", []_C_int{1, 26}}, + {"kern.numvnodes", []_C_int{1, 58}}, + {"kern.osrelease", []_C_int{1, 2}}, + {"kern.osrevision", []_C_int{1, 3}}, + {"kern.ostype", []_C_int{1, 1}}, + {"kern.osversion", []_C_int{1, 27}}, + {"kern.pool_debug", []_C_int{1, 77}}, + {"kern.posix1version", []_C_int{1, 17}}, + {"kern.proc", []_C_int{1, 66}}, + {"kern.random", []_C_int{1, 31}}, + {"kern.rawpartition", []_C_int{1, 24}}, + {"kern.saved_ids", []_C_int{1, 20}}, + {"kern.securelevel", []_C_int{1, 9}}, + {"kern.seminfo", []_C_int{1, 61}}, + {"kern.shminfo", []_C_int{1, 62}}, + {"kern.somaxconn", []_C_int{1, 28}}, + {"kern.sominconn", []_C_int{1, 29}}, + {"kern.splassert", []_C_int{1, 54}}, + {"kern.stackgap_random", []_C_int{1, 50}}, + {"kern.sysvipc_info", []_C_int{1, 51}}, + {"kern.sysvmsg", []_C_int{1, 34}}, + {"kern.sysvsem", []_C_int{1, 35}}, + {"kern.sysvshm", []_C_int{1, 36}}, + {"kern.timecounter.choice", []_C_int{1, 69, 4}}, + {"kern.timecounter.hardware", []_C_int{1, 69, 3}}, + {"kern.timecounter.tick", []_C_int{1, 69, 1}}, + {"kern.timecounter.timestepwarnings", []_C_int{1, 69, 2}}, + {"kern.tty.maxptys", []_C_int{1, 44, 6}}, + {"kern.tty.nptys", []_C_int{1, 44, 7}}, + {"kern.tty.tk_cancc", []_C_int{1, 44, 4}}, + {"kern.tty.tk_nin", []_C_int{1, 44, 1}}, + {"kern.tty.tk_nout", []_C_int{1, 44, 2}}, + {"kern.tty.tk_rawcc", []_C_int{1, 44, 3}}, + {"kern.tty.ttyinfo", []_C_int{1, 44, 5}}, + {"kern.ttycount", []_C_int{1, 57}}, + {"kern.userasymcrypto", []_C_int{1, 60}}, + {"kern.usercrypto", []_C_int{1, 52}}, + {"kern.usermount", []_C_int{1, 30}}, + {"kern.version", []_C_int{1, 4}}, + {"kern.vnode", []_C_int{1, 13}}, + {"kern.watchdog.auto", []_C_int{1, 64, 2}}, + {"kern.watchdog.period", []_C_int{1, 64, 1}}, + {"net.bpf.bufsize", []_C_int{4, 31, 1}}, + {"net.bpf.maxbufsize", []_C_int{4, 31, 2}}, + {"net.inet.ah.enable", []_C_int{4, 2, 51, 1}}, + {"net.inet.ah.stats", []_C_int{4, 2, 51, 2}}, + {"net.inet.carp.allow", []_C_int{4, 2, 112, 1}}, + {"net.inet.carp.log", []_C_int{4, 2, 112, 3}}, + {"net.inet.carp.preempt", []_C_int{4, 2, 112, 2}}, + {"net.inet.carp.stats", []_C_int{4, 2, 112, 4}}, + {"net.inet.divert.recvspace", []_C_int{4, 2, 258, 1}}, + {"net.inet.divert.sendspace", []_C_int{4, 2, 258, 2}}, + {"net.inet.divert.stats", []_C_int{4, 2, 258, 3}}, + {"net.inet.esp.enable", []_C_int{4, 2, 50, 1}}, + {"net.inet.esp.stats", []_C_int{4, 2, 50, 4}}, + {"net.inet.esp.udpencap", []_C_int{4, 2, 50, 2}}, + {"net.inet.esp.udpencap_port", []_C_int{4, 2, 50, 3}}, + {"net.inet.etherip.allow", []_C_int{4, 2, 97, 1}}, + {"net.inet.etherip.stats", []_C_int{4, 2, 97, 2}}, + {"net.inet.gre.allow", []_C_int{4, 2, 47, 1}}, + {"net.inet.gre.wccp", []_C_int{4, 2, 47, 2}}, + {"net.inet.icmp.bmcastecho", []_C_int{4, 2, 1, 2}}, + {"net.inet.icmp.errppslimit", []_C_int{4, 2, 1, 3}}, + {"net.inet.icmp.maskrepl", []_C_int{4, 2, 1, 1}}, + {"net.inet.icmp.rediraccept", []_C_int{4, 2, 1, 4}}, + {"net.inet.icmp.redirtimeout", []_C_int{4, 2, 1, 5}}, + {"net.inet.icmp.stats", []_C_int{4, 2, 1, 7}}, + {"net.inet.icmp.tstamprepl", []_C_int{4, 2, 1, 6}}, + {"net.inet.igmp.stats", []_C_int{4, 2, 2, 1}}, + {"net.inet.ip.arpqueued", []_C_int{4, 2, 0, 36}}, + {"net.inet.ip.encdebug", []_C_int{4, 2, 0, 12}}, + {"net.inet.ip.forwarding", []_C_int{4, 2, 0, 1}}, + {"net.inet.ip.ifq.congestion", []_C_int{4, 2, 0, 30, 4}}, + {"net.inet.ip.ifq.drops", []_C_int{4, 2, 0, 30, 3}}, + {"net.inet.ip.ifq.len", []_C_int{4, 2, 0, 30, 1}}, + {"net.inet.ip.ifq.maxlen", []_C_int{4, 2, 0, 30, 2}}, + {"net.inet.ip.maxqueue", []_C_int{4, 2, 0, 11}}, + {"net.inet.ip.mforwarding", []_C_int{4, 2, 0, 31}}, + {"net.inet.ip.mrtproto", []_C_int{4, 2, 0, 34}}, + {"net.inet.ip.mrtstats", []_C_int{4, 2, 0, 35}}, + {"net.inet.ip.mtu", []_C_int{4, 2, 0, 4}}, + {"net.inet.ip.mtudisc", []_C_int{4, 2, 0, 27}}, + {"net.inet.ip.mtudisctimeout", []_C_int{4, 2, 0, 28}}, + {"net.inet.ip.multipath", []_C_int{4, 2, 0, 32}}, + {"net.inet.ip.portfirst", []_C_int{4, 2, 0, 7}}, + {"net.inet.ip.porthifirst", []_C_int{4, 2, 0, 9}}, + {"net.inet.ip.porthilast", []_C_int{4, 2, 0, 10}}, + {"net.inet.ip.portlast", []_C_int{4, 2, 0, 8}}, + {"net.inet.ip.redirect", []_C_int{4, 2, 0, 2}}, + {"net.inet.ip.sourceroute", []_C_int{4, 2, 0, 5}}, + {"net.inet.ip.stats", []_C_int{4, 2, 0, 33}}, + {"net.inet.ip.ttl", []_C_int{4, 2, 0, 3}}, + {"net.inet.ipcomp.enable", []_C_int{4, 2, 108, 1}}, + {"net.inet.ipcomp.stats", []_C_int{4, 2, 108, 2}}, + {"net.inet.ipip.allow", []_C_int{4, 2, 4, 1}}, + {"net.inet.ipip.stats", []_C_int{4, 2, 4, 2}}, + {"net.inet.mobileip.allow", []_C_int{4, 2, 55, 1}}, + {"net.inet.pfsync.stats", []_C_int{4, 2, 240, 1}}, + {"net.inet.pim.stats", []_C_int{4, 2, 103, 1}}, + {"net.inet.tcp.ackonpush", []_C_int{4, 2, 6, 13}}, + {"net.inet.tcp.always_keepalive", []_C_int{4, 2, 6, 22}}, + {"net.inet.tcp.baddynamic", []_C_int{4, 2, 6, 6}}, + {"net.inet.tcp.drop", []_C_int{4, 2, 6, 19}}, + {"net.inet.tcp.ecn", []_C_int{4, 2, 6, 14}}, + {"net.inet.tcp.ident", []_C_int{4, 2, 6, 9}}, + {"net.inet.tcp.keepidle", []_C_int{4, 2, 6, 3}}, + {"net.inet.tcp.keepinittime", []_C_int{4, 2, 6, 2}}, + {"net.inet.tcp.keepintvl", []_C_int{4, 2, 6, 4}}, + {"net.inet.tcp.mssdflt", []_C_int{4, 2, 6, 11}}, + {"net.inet.tcp.reasslimit", []_C_int{4, 2, 6, 18}}, + {"net.inet.tcp.rfc1323", []_C_int{4, 2, 6, 1}}, + {"net.inet.tcp.rfc3390", []_C_int{4, 2, 6, 17}}, + {"net.inet.tcp.rstppslimit", []_C_int{4, 2, 6, 12}}, + {"net.inet.tcp.sack", []_C_int{4, 2, 6, 10}}, + {"net.inet.tcp.sackholelimit", []_C_int{4, 2, 6, 20}}, + {"net.inet.tcp.slowhz", []_C_int{4, 2, 6, 5}}, + {"net.inet.tcp.stats", []_C_int{4, 2, 6, 21}}, + {"net.inet.tcp.synbucketlimit", []_C_int{4, 2, 6, 16}}, + {"net.inet.tcp.syncachelimit", []_C_int{4, 2, 6, 15}}, + {"net.inet.udp.baddynamic", []_C_int{4, 2, 17, 2}}, + {"net.inet.udp.checksum", []_C_int{4, 2, 17, 1}}, + {"net.inet.udp.recvspace", []_C_int{4, 2, 17, 3}}, + {"net.inet.udp.sendspace", []_C_int{4, 2, 17, 4}}, + {"net.inet.udp.stats", []_C_int{4, 2, 17, 5}}, + {"net.inet6.divert.recvspace", []_C_int{4, 24, 86, 1}}, + {"net.inet6.divert.sendspace", []_C_int{4, 24, 86, 2}}, + {"net.inet6.divert.stats", []_C_int{4, 24, 86, 3}}, + {"net.inet6.icmp6.errppslimit", []_C_int{4, 24, 30, 14}}, + {"net.inet6.icmp6.mtudisc_hiwat", []_C_int{4, 24, 30, 16}}, + {"net.inet6.icmp6.mtudisc_lowat", []_C_int{4, 24, 30, 17}}, + {"net.inet6.icmp6.nd6_debug", []_C_int{4, 24, 30, 18}}, + {"net.inet6.icmp6.nd6_delay", []_C_int{4, 24, 30, 8}}, + {"net.inet6.icmp6.nd6_maxnudhint", []_C_int{4, 24, 30, 15}}, + {"net.inet6.icmp6.nd6_mmaxtries", []_C_int{4, 24, 30, 10}}, + {"net.inet6.icmp6.nd6_prune", []_C_int{4, 24, 30, 6}}, + {"net.inet6.icmp6.nd6_umaxtries", []_C_int{4, 24, 30, 9}}, + {"net.inet6.icmp6.nd6_useloopback", []_C_int{4, 24, 30, 11}}, + {"net.inet6.icmp6.nodeinfo", []_C_int{4, 24, 30, 13}}, + {"net.inet6.icmp6.rediraccept", []_C_int{4, 24, 30, 2}}, + {"net.inet6.icmp6.redirtimeout", []_C_int{4, 24, 30, 3}}, + {"net.inet6.ip6.accept_rtadv", []_C_int{4, 24, 17, 12}}, + {"net.inet6.ip6.auto_flowlabel", []_C_int{4, 24, 17, 17}}, + {"net.inet6.ip6.dad_count", []_C_int{4, 24, 17, 16}}, + {"net.inet6.ip6.dad_pending", []_C_int{4, 24, 17, 49}}, + {"net.inet6.ip6.defmcasthlim", []_C_int{4, 24, 17, 18}}, + {"net.inet6.ip6.forwarding", []_C_int{4, 24, 17, 1}}, + {"net.inet6.ip6.forwsrcrt", []_C_int{4, 24, 17, 5}}, + {"net.inet6.ip6.hdrnestlimit", []_C_int{4, 24, 17, 15}}, + {"net.inet6.ip6.hlim", []_C_int{4, 24, 17, 3}}, + {"net.inet6.ip6.log_interval", []_C_int{4, 24, 17, 14}}, + {"net.inet6.ip6.maxdynroutes", []_C_int{4, 24, 17, 48}}, + {"net.inet6.ip6.maxfragpackets", []_C_int{4, 24, 17, 9}}, + {"net.inet6.ip6.maxfrags", []_C_int{4, 24, 17, 41}}, + {"net.inet6.ip6.maxifdefrouters", []_C_int{4, 24, 17, 47}}, + {"net.inet6.ip6.maxifprefixes", []_C_int{4, 24, 17, 46}}, + {"net.inet6.ip6.mforwarding", []_C_int{4, 24, 17, 42}}, + {"net.inet6.ip6.mrtproto", []_C_int{4, 24, 17, 8}}, + {"net.inet6.ip6.mtudisctimeout", []_C_int{4, 24, 17, 50}}, + {"net.inet6.ip6.multicast_mtudisc", []_C_int{4, 24, 17, 44}}, + {"net.inet6.ip6.multipath", []_C_int{4, 24, 17, 43}}, + {"net.inet6.ip6.neighborgcthresh", []_C_int{4, 24, 17, 45}}, + {"net.inet6.ip6.redirect", []_C_int{4, 24, 17, 2}}, + {"net.inet6.ip6.rr_prune", []_C_int{4, 24, 17, 22}}, + {"net.inet6.ip6.sourcecheck", []_C_int{4, 24, 17, 10}}, + {"net.inet6.ip6.sourcecheck_logint", []_C_int{4, 24, 17, 11}}, + {"net.inet6.ip6.use_deprecated", []_C_int{4, 24, 17, 21}}, + {"net.inet6.ip6.v6only", []_C_int{4, 24, 17, 24}}, + {"net.key.sadb_dump", []_C_int{4, 30, 1}}, + {"net.key.spd_dump", []_C_int{4, 30, 2}}, + {"net.mpls.ifq.congestion", []_C_int{4, 33, 3, 4}}, + {"net.mpls.ifq.drops", []_C_int{4, 33, 3, 3}}, + {"net.mpls.ifq.len", []_C_int{4, 33, 3, 1}}, + {"net.mpls.ifq.maxlen", []_C_int{4, 33, 3, 2}}, + {"net.mpls.mapttl_ip", []_C_int{4, 33, 5}}, + {"net.mpls.mapttl_ip6", []_C_int{4, 33, 6}}, + {"net.mpls.maxloop_inkernel", []_C_int{4, 33, 4}}, + {"net.mpls.ttl", []_C_int{4, 33, 2}}, + {"net.pflow.stats", []_C_int{4, 34, 1}}, + {"net.pipex.enable", []_C_int{4, 35, 1}}, + {"vm.anonmin", []_C_int{2, 7}}, + {"vm.loadavg", []_C_int{2, 2}}, + {"vm.maxslp", []_C_int{2, 10}}, + {"vm.nkmempages", []_C_int{2, 6}}, + {"vm.psstrings", []_C_int{2, 3}}, + {"vm.swapencrypt.enable", []_C_int{2, 5, 0}}, + {"vm.swapencrypt.keyscreated", []_C_int{2, 5, 1}}, + {"vm.swapencrypt.keysdeleted", []_C_int{2, 5, 2}}, + {"vm.uspace", []_C_int{2, 11}}, + {"vm.uvmexp", []_C_int{2, 4}}, + {"vm.vmmeter", []_C_int{2, 1}}, + {"vm.vnodemin", []_C_int{2, 9}}, + {"vm.vtextmin", []_C_int{2, 8}}, +} diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go new file mode 100644 index 000000000..f33614532 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go @@ -0,0 +1,436 @@ +// go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/sys/syscall.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,darwin + +package unix + +const ( + SYS_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAIT4 = 7 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_CHDIR = 12 + SYS_FCHDIR = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_CHOWN = 16 + SYS_GETFSSTAT = 18 + SYS_GETPID = 20 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_GETEUID = 25 + SYS_PTRACE = 26 + SYS_RECVMSG = 27 + SYS_SENDMSG = 28 + SYS_RECVFROM = 29 + SYS_ACCEPT = 30 + SYS_GETPEERNAME = 31 + SYS_GETSOCKNAME = 32 + SYS_ACCESS = 33 + SYS_CHFLAGS = 34 + SYS_FCHFLAGS = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_GETPPID = 39 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_GETEGID = 43 + SYS_SIGACTION = 46 + SYS_GETGID = 47 + SYS_SIGPROCMASK = 48 + SYS_GETLOGIN = 49 + SYS_SETLOGIN = 50 + SYS_ACCT = 51 + SYS_SIGPENDING = 52 + SYS_SIGALTSTACK = 53 + SYS_IOCTL = 54 + SYS_REBOOT = 55 + SYS_REVOKE = 56 + SYS_SYMLINK = 57 + SYS_READLINK = 58 + SYS_EXECVE = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_MSYNC = 65 + SYS_VFORK = 66 + SYS_MUNMAP = 73 + SYS_MPROTECT = 74 + SYS_MADVISE = 75 + SYS_MINCORE = 78 + SYS_GETGROUPS = 79 + SYS_SETGROUPS = 80 + SYS_GETPGRP = 81 + SYS_SETPGID = 82 + SYS_SETITIMER = 83 + SYS_SWAPON = 85 + SYS_GETITIMER = 86 + SYS_GETDTABLESIZE = 89 + SYS_DUP2 = 90 + SYS_FCNTL = 92 + SYS_SELECT = 93 + SYS_FSYNC = 95 + SYS_SETPRIORITY = 96 + SYS_SOCKET = 97 + SYS_CONNECT = 98 + SYS_GETPRIORITY = 100 + SYS_BIND = 104 + SYS_SETSOCKOPT = 105 + SYS_LISTEN = 106 + SYS_SIGSUSPEND = 111 + SYS_GETTIMEOFDAY = 116 + SYS_GETRUSAGE = 117 + SYS_GETSOCKOPT = 118 + SYS_READV = 120 + SYS_WRITEV = 121 + SYS_SETTIMEOFDAY = 122 + SYS_FCHOWN = 123 + SYS_FCHMOD = 124 + SYS_SETREUID = 126 + SYS_SETREGID = 127 + SYS_RENAME = 128 + SYS_FLOCK = 131 + SYS_MKFIFO = 132 + SYS_SENDTO = 133 + SYS_SHUTDOWN = 134 + SYS_SOCKETPAIR = 135 + SYS_MKDIR = 136 + SYS_RMDIR = 137 + SYS_UTIMES = 138 + SYS_FUTIMES = 139 + SYS_ADJTIME = 140 + SYS_GETHOSTUUID = 142 + SYS_SETSID = 147 + SYS_GETPGID = 151 + SYS_SETPRIVEXEC = 152 + SYS_PREAD = 153 + SYS_PWRITE = 154 + SYS_NFSSVC = 155 + SYS_STATFS = 157 + SYS_FSTATFS = 158 + SYS_UNMOUNT = 159 + SYS_GETFH = 161 + SYS_QUOTACTL = 165 + SYS_MOUNT = 167 + SYS_CSOPS = 169 + SYS_CSOPS_AUDITTOKEN = 170 + SYS_WAITID = 173 + SYS_KDEBUG_TYPEFILTER = 177 + SYS_KDEBUG_TRACE_STRING = 178 + SYS_KDEBUG_TRACE64 = 179 + SYS_KDEBUG_TRACE = 180 + SYS_SETGID = 181 + SYS_SETEGID = 182 + SYS_SETEUID = 183 + SYS_SIGRETURN = 184 + SYS_THREAD_SELFCOUNTS = 186 + SYS_FDATASYNC = 187 + SYS_STAT = 188 + SYS_FSTAT = 189 + SYS_LSTAT = 190 + SYS_PATHCONF = 191 + SYS_FPATHCONF = 192 + SYS_GETRLIMIT = 194 + SYS_SETRLIMIT = 195 + SYS_GETDIRENTRIES = 196 + SYS_MMAP = 197 + SYS_LSEEK = 199 + SYS_TRUNCATE = 200 + SYS_FTRUNCATE = 201 + SYS_SYSCTL = 202 + SYS_MLOCK = 203 + SYS_MUNLOCK = 204 + SYS_UNDELETE = 205 + SYS_OPEN_DPROTECTED_NP = 216 + SYS_GETATTRLIST = 220 + SYS_SETATTRLIST = 221 + SYS_GETDIRENTRIESATTR = 222 + SYS_EXCHANGEDATA = 223 + SYS_SEARCHFS = 225 + SYS_DELETE = 226 + SYS_COPYFILE = 227 + SYS_FGETATTRLIST = 228 + SYS_FSETATTRLIST = 229 + SYS_POLL = 230 + SYS_WATCHEVENT = 231 + SYS_WAITEVENT = 232 + SYS_MODWATCH = 233 + SYS_GETXATTR = 234 + SYS_FGETXATTR = 235 + SYS_SETXATTR = 236 + SYS_FSETXATTR = 237 + SYS_REMOVEXATTR = 238 + SYS_FREMOVEXATTR = 239 + SYS_LISTXATTR = 240 + SYS_FLISTXATTR = 241 + SYS_FSCTL = 242 + SYS_INITGROUPS = 243 + SYS_POSIX_SPAWN = 244 + SYS_FFSCTL = 245 + SYS_NFSCLNT = 247 + SYS_FHOPEN = 248 + SYS_MINHERIT = 250 + SYS_SEMSYS = 251 + SYS_MSGSYS = 252 + SYS_SHMSYS = 253 + SYS_SEMCTL = 254 + SYS_SEMGET = 255 + SYS_SEMOP = 256 + SYS_MSGCTL = 258 + SYS_MSGGET = 259 + SYS_MSGSND = 260 + SYS_MSGRCV = 261 + SYS_SHMAT = 262 + SYS_SHMCTL = 263 + SYS_SHMDT = 264 + SYS_SHMGET = 265 + SYS_SHM_OPEN = 266 + SYS_SHM_UNLINK = 267 + SYS_SEM_OPEN = 268 + SYS_SEM_CLOSE = 269 + SYS_SEM_UNLINK = 270 + SYS_SEM_WAIT = 271 + SYS_SEM_TRYWAIT = 272 + SYS_SEM_POST = 273 + SYS_SYSCTLBYNAME = 274 + SYS_OPEN_EXTENDED = 277 + SYS_UMASK_EXTENDED = 278 + SYS_STAT_EXTENDED = 279 + SYS_LSTAT_EXTENDED = 280 + SYS_FSTAT_EXTENDED = 281 + SYS_CHMOD_EXTENDED = 282 + SYS_FCHMOD_EXTENDED = 283 + SYS_ACCESS_EXTENDED = 284 + SYS_SETTID = 285 + SYS_GETTID = 286 + SYS_SETSGROUPS = 287 + SYS_GETSGROUPS = 288 + SYS_SETWGROUPS = 289 + SYS_GETWGROUPS = 290 + SYS_MKFIFO_EXTENDED = 291 + SYS_MKDIR_EXTENDED = 292 + SYS_IDENTITYSVC = 293 + SYS_SHARED_REGION_CHECK_NP = 294 + SYS_VM_PRESSURE_MONITOR = 296 + SYS_PSYNCH_RW_LONGRDLOCK = 297 + SYS_PSYNCH_RW_YIELDWRLOCK = 298 + SYS_PSYNCH_RW_DOWNGRADE = 299 + SYS_PSYNCH_RW_UPGRADE = 300 + SYS_PSYNCH_MUTEXWAIT = 301 + SYS_PSYNCH_MUTEXDROP = 302 + SYS_PSYNCH_CVBROAD = 303 + SYS_PSYNCH_CVSIGNAL = 304 + SYS_PSYNCH_CVWAIT = 305 + SYS_PSYNCH_RW_RDLOCK = 306 + SYS_PSYNCH_RW_WRLOCK = 307 + SYS_PSYNCH_RW_UNLOCK = 308 + SYS_PSYNCH_RW_UNLOCK2 = 309 + SYS_GETSID = 310 + SYS_SETTID_WITH_PID = 311 + SYS_PSYNCH_CVCLRPREPOST = 312 + SYS_AIO_FSYNC = 313 + SYS_AIO_RETURN = 314 + SYS_AIO_SUSPEND = 315 + SYS_AIO_CANCEL = 316 + SYS_AIO_ERROR = 317 + SYS_AIO_READ = 318 + SYS_AIO_WRITE = 319 + SYS_LIO_LISTIO = 320 + SYS_IOPOLICYSYS = 322 + SYS_PROCESS_POLICY = 323 + SYS_MLOCKALL = 324 + SYS_MUNLOCKALL = 325 + SYS_ISSETUGID = 327 + SYS___PTHREAD_KILL = 328 + SYS___PTHREAD_SIGMASK = 329 + SYS___SIGWAIT = 330 + SYS___DISABLE_THREADSIGNAL = 331 + SYS___PTHREAD_MARKCANCEL = 332 + SYS___PTHREAD_CANCELED = 333 + SYS___SEMWAIT_SIGNAL = 334 + SYS_PROC_INFO = 336 + SYS_SENDFILE = 337 + SYS_STAT64 = 338 + SYS_FSTAT64 = 339 + SYS_LSTAT64 = 340 + SYS_STAT64_EXTENDED = 341 + SYS_LSTAT64_EXTENDED = 342 + SYS_FSTAT64_EXTENDED = 343 + SYS_GETDIRENTRIES64 = 344 + SYS_STATFS64 = 345 + SYS_FSTATFS64 = 346 + SYS_GETFSSTAT64 = 347 + SYS___PTHREAD_CHDIR = 348 + SYS___PTHREAD_FCHDIR = 349 + SYS_AUDIT = 350 + SYS_AUDITON = 351 + SYS_GETAUID = 353 + SYS_SETAUID = 354 + SYS_GETAUDIT_ADDR = 357 + SYS_SETAUDIT_ADDR = 358 + SYS_AUDITCTL = 359 + SYS_BSDTHREAD_CREATE = 360 + SYS_BSDTHREAD_TERMINATE = 361 + SYS_KQUEUE = 362 + SYS_KEVENT = 363 + SYS_LCHOWN = 364 + SYS_BSDTHREAD_REGISTER = 366 + SYS_WORKQ_OPEN = 367 + SYS_WORKQ_KERNRETURN = 368 + SYS_KEVENT64 = 369 + SYS___OLD_SEMWAIT_SIGNAL = 370 + SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 + SYS_THREAD_SELFID = 372 + SYS_LEDGER = 373 + SYS_KEVENT_QOS = 374 + SYS_KEVENT_ID = 375 + SYS___MAC_EXECVE = 380 + SYS___MAC_SYSCALL = 381 + SYS___MAC_GET_FILE = 382 + SYS___MAC_SET_FILE = 383 + SYS___MAC_GET_LINK = 384 + SYS___MAC_SET_LINK = 385 + SYS___MAC_GET_PROC = 386 + SYS___MAC_SET_PROC = 387 + SYS___MAC_GET_FD = 388 + SYS___MAC_SET_FD = 389 + SYS___MAC_GET_PID = 390 + SYS_PSELECT = 394 + SYS_PSELECT_NOCANCEL = 395 + SYS_READ_NOCANCEL = 396 + SYS_WRITE_NOCANCEL = 397 + SYS_OPEN_NOCANCEL = 398 + SYS_CLOSE_NOCANCEL = 399 + SYS_WAIT4_NOCANCEL = 400 + SYS_RECVMSG_NOCANCEL = 401 + SYS_SENDMSG_NOCANCEL = 402 + SYS_RECVFROM_NOCANCEL = 403 + SYS_ACCEPT_NOCANCEL = 404 + SYS_MSYNC_NOCANCEL = 405 + SYS_FCNTL_NOCANCEL = 406 + SYS_SELECT_NOCANCEL = 407 + SYS_FSYNC_NOCANCEL = 408 + SYS_CONNECT_NOCANCEL = 409 + SYS_SIGSUSPEND_NOCANCEL = 410 + SYS_READV_NOCANCEL = 411 + SYS_WRITEV_NOCANCEL = 412 + SYS_SENDTO_NOCANCEL = 413 + SYS_PREAD_NOCANCEL = 414 + SYS_PWRITE_NOCANCEL = 415 + SYS_WAITID_NOCANCEL = 416 + SYS_POLL_NOCANCEL = 417 + SYS_MSGSND_NOCANCEL = 418 + SYS_MSGRCV_NOCANCEL = 419 + SYS_SEM_WAIT_NOCANCEL = 420 + SYS_AIO_SUSPEND_NOCANCEL = 421 + SYS___SIGWAIT_NOCANCEL = 422 + SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 + SYS___MAC_MOUNT = 424 + SYS___MAC_GET_MOUNT = 425 + SYS___MAC_GETFSSTAT = 426 + SYS_FSGETPATH = 427 + SYS_AUDIT_SESSION_SELF = 428 + SYS_AUDIT_SESSION_JOIN = 429 + SYS_FILEPORT_MAKEPORT = 430 + SYS_FILEPORT_MAKEFD = 431 + SYS_AUDIT_SESSION_PORT = 432 + SYS_PID_SUSPEND = 433 + SYS_PID_RESUME = 434 + SYS_PID_HIBERNATE = 435 + SYS_PID_SHUTDOWN_SOCKETS = 436 + SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 + SYS_KAS_INFO = 439 + SYS_MEMORYSTATUS_CONTROL = 440 + SYS_GUARDED_OPEN_NP = 441 + SYS_GUARDED_CLOSE_NP = 442 + SYS_GUARDED_KQUEUE_NP = 443 + SYS_CHANGE_FDGUARD_NP = 444 + SYS_USRCTL = 445 + SYS_PROC_RLIMIT_CONTROL = 446 + SYS_CONNECTX = 447 + SYS_DISCONNECTX = 448 + SYS_PEELOFF = 449 + SYS_SOCKET_DELEGATE = 450 + SYS_TELEMETRY = 451 + SYS_PROC_UUID_POLICY = 452 + SYS_MEMORYSTATUS_GET_LEVEL = 453 + SYS_SYSTEM_OVERRIDE = 454 + SYS_VFS_PURGE = 455 + SYS_SFI_CTL = 456 + SYS_SFI_PIDCTL = 457 + SYS_COALITION = 458 + SYS_COALITION_INFO = 459 + SYS_NECP_MATCH_POLICY = 460 + SYS_GETATTRLISTBULK = 461 + SYS_CLONEFILEAT = 462 + SYS_OPENAT = 463 + SYS_OPENAT_NOCANCEL = 464 + SYS_RENAMEAT = 465 + SYS_FACCESSAT = 466 + SYS_FCHMODAT = 467 + SYS_FCHOWNAT = 468 + SYS_FSTATAT = 469 + SYS_FSTATAT64 = 470 + SYS_LINKAT = 471 + SYS_UNLINKAT = 472 + SYS_READLINKAT = 473 + SYS_SYMLINKAT = 474 + SYS_MKDIRAT = 475 + SYS_GETATTRLISTAT = 476 + SYS_PROC_TRACE_LOG = 477 + SYS_BSDTHREAD_CTL = 478 + SYS_OPENBYID_NP = 479 + SYS_RECVMSG_X = 480 + SYS_SENDMSG_X = 481 + SYS_THREAD_SELFUSAGE = 482 + SYS_CSRCTL = 483 + SYS_GUARDED_OPEN_DPROTECTED_NP = 484 + SYS_GUARDED_WRITE_NP = 485 + SYS_GUARDED_PWRITE_NP = 486 + SYS_GUARDED_WRITEV_NP = 487 + SYS_RENAMEATX_NP = 488 + SYS_MREMAP_ENCRYPTED = 489 + SYS_NETAGENT_TRIGGER = 490 + SYS_STACK_SNAPSHOT_WITH_CONFIG = 491 + SYS_MICROSTACKSHOT = 492 + SYS_GRAB_PGO_DATA = 493 + SYS_PERSONA = 494 + SYS_WORK_INTERVAL_CTL = 499 + SYS_GETENTROPY = 500 + SYS_NECP_OPEN = 501 + SYS_NECP_CLIENT_ACTION = 502 + SYS___NEXUS_OPEN = 503 + SYS___NEXUS_REGISTER = 504 + SYS___NEXUS_DEREGISTER = 505 + SYS___NEXUS_CREATE = 506 + SYS___NEXUS_DESTROY = 507 + SYS___NEXUS_GET_OPT = 508 + SYS___NEXUS_SET_OPT = 509 + SYS___CHANNEL_OPEN = 510 + SYS___CHANNEL_GET_INFO = 511 + SYS___CHANNEL_SYNC = 512 + SYS___CHANNEL_GET_OPT = 513 + SYS___CHANNEL_SET_OPT = 514 + SYS_ULOCK_WAIT = 515 + SYS_ULOCK_WAKE = 516 + SYS_FCLONEFILEAT = 517 + SYS_FS_SNAPSHOT = 518 + SYS_TERMINATE_WITH_PAYLOAD = 520 + SYS_ABORT_WITH_PAYLOAD = 521 + SYS_NECP_SESSION_OPEN = 522 + SYS_NECP_SESSION_ACTION = 523 + SYS_SETATTRLISTAT = 524 + SYS_NET_QOS_GUIDELINE = 525 + SYS_FMOUNT = 526 + SYS_NTP_ADJTIME = 527 + SYS_NTP_GETTIME = 528 + SYS_OS_FAULT_WITH_PAYLOAD = 529 + SYS_MAXSYSCALL = 530 + SYS_INVALID = 63 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go new file mode 100644 index 000000000..654dd3da3 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go @@ -0,0 +1,438 @@ +// go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/syscall.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,darwin + +package unix + +const ( + SYS_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAIT4 = 7 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_CHDIR = 12 + SYS_FCHDIR = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_CHOWN = 16 + SYS_GETFSSTAT = 18 + SYS_GETPID = 20 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_GETEUID = 25 + SYS_PTRACE = 26 + SYS_RECVMSG = 27 + SYS_SENDMSG = 28 + SYS_RECVFROM = 29 + SYS_ACCEPT = 30 + SYS_GETPEERNAME = 31 + SYS_GETSOCKNAME = 32 + SYS_ACCESS = 33 + SYS_CHFLAGS = 34 + SYS_FCHFLAGS = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_GETPPID = 39 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_GETEGID = 43 + SYS_SIGACTION = 46 + SYS_GETGID = 47 + SYS_SIGPROCMASK = 48 + SYS_GETLOGIN = 49 + SYS_SETLOGIN = 50 + SYS_ACCT = 51 + SYS_SIGPENDING = 52 + SYS_SIGALTSTACK = 53 + SYS_IOCTL = 54 + SYS_REBOOT = 55 + SYS_REVOKE = 56 + SYS_SYMLINK = 57 + SYS_READLINK = 58 + SYS_EXECVE = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_MSYNC = 65 + SYS_VFORK = 66 + SYS_MUNMAP = 73 + SYS_MPROTECT = 74 + SYS_MADVISE = 75 + SYS_MINCORE = 78 + SYS_GETGROUPS = 79 + SYS_SETGROUPS = 80 + SYS_GETPGRP = 81 + SYS_SETPGID = 82 + SYS_SETITIMER = 83 + SYS_SWAPON = 85 + SYS_GETITIMER = 86 + SYS_GETDTABLESIZE = 89 + SYS_DUP2 = 90 + SYS_FCNTL = 92 + SYS_SELECT = 93 + SYS_FSYNC = 95 + SYS_SETPRIORITY = 96 + SYS_SOCKET = 97 + SYS_CONNECT = 98 + SYS_GETPRIORITY = 100 + SYS_BIND = 104 + SYS_SETSOCKOPT = 105 + SYS_LISTEN = 106 + SYS_SIGSUSPEND = 111 + SYS_GETTIMEOFDAY = 116 + SYS_GETRUSAGE = 117 + SYS_GETSOCKOPT = 118 + SYS_READV = 120 + SYS_WRITEV = 121 + SYS_SETTIMEOFDAY = 122 + SYS_FCHOWN = 123 + SYS_FCHMOD = 124 + SYS_SETREUID = 126 + SYS_SETREGID = 127 + SYS_RENAME = 128 + SYS_FLOCK = 131 + SYS_MKFIFO = 132 + SYS_SENDTO = 133 + SYS_SHUTDOWN = 134 + SYS_SOCKETPAIR = 135 + SYS_MKDIR = 136 + SYS_RMDIR = 137 + SYS_UTIMES = 138 + SYS_FUTIMES = 139 + SYS_ADJTIME = 140 + SYS_GETHOSTUUID = 142 + SYS_SETSID = 147 + SYS_GETPGID = 151 + SYS_SETPRIVEXEC = 152 + SYS_PREAD = 153 + SYS_PWRITE = 154 + SYS_NFSSVC = 155 + SYS_STATFS = 157 + SYS_FSTATFS = 158 + SYS_UNMOUNT = 159 + SYS_GETFH = 161 + SYS_QUOTACTL = 165 + SYS_MOUNT = 167 + SYS_CSOPS = 169 + SYS_CSOPS_AUDITTOKEN = 170 + SYS_WAITID = 173 + SYS_KDEBUG_TYPEFILTER = 177 + SYS_KDEBUG_TRACE_STRING = 178 + SYS_KDEBUG_TRACE64 = 179 + SYS_KDEBUG_TRACE = 180 + SYS_SETGID = 181 + SYS_SETEGID = 182 + SYS_SETEUID = 183 + SYS_SIGRETURN = 184 + SYS_THREAD_SELFCOUNTS = 186 + SYS_FDATASYNC = 187 + SYS_STAT = 188 + SYS_FSTAT = 189 + SYS_LSTAT = 190 + SYS_PATHCONF = 191 + SYS_FPATHCONF = 192 + SYS_GETRLIMIT = 194 + SYS_SETRLIMIT = 195 + SYS_GETDIRENTRIES = 196 + SYS_MMAP = 197 + SYS_LSEEK = 199 + SYS_TRUNCATE = 200 + SYS_FTRUNCATE = 201 + SYS_SYSCTL = 202 + SYS_MLOCK = 203 + SYS_MUNLOCK = 204 + SYS_UNDELETE = 205 + SYS_OPEN_DPROTECTED_NP = 216 + SYS_GETATTRLIST = 220 + SYS_SETATTRLIST = 221 + SYS_GETDIRENTRIESATTR = 222 + SYS_EXCHANGEDATA = 223 + SYS_SEARCHFS = 225 + SYS_DELETE = 226 + SYS_COPYFILE = 227 + SYS_FGETATTRLIST = 228 + SYS_FSETATTRLIST = 229 + SYS_POLL = 230 + SYS_WATCHEVENT = 231 + SYS_WAITEVENT = 232 + SYS_MODWATCH = 233 + SYS_GETXATTR = 234 + SYS_FGETXATTR = 235 + SYS_SETXATTR = 236 + SYS_FSETXATTR = 237 + SYS_REMOVEXATTR = 238 + SYS_FREMOVEXATTR = 239 + SYS_LISTXATTR = 240 + SYS_FLISTXATTR = 241 + SYS_FSCTL = 242 + SYS_INITGROUPS = 243 + SYS_POSIX_SPAWN = 244 + SYS_FFSCTL = 245 + SYS_NFSCLNT = 247 + SYS_FHOPEN = 248 + SYS_MINHERIT = 250 + SYS_SEMSYS = 251 + SYS_MSGSYS = 252 + SYS_SHMSYS = 253 + SYS_SEMCTL = 254 + SYS_SEMGET = 255 + SYS_SEMOP = 256 + SYS_MSGCTL = 258 + SYS_MSGGET = 259 + SYS_MSGSND = 260 + SYS_MSGRCV = 261 + SYS_SHMAT = 262 + SYS_SHMCTL = 263 + SYS_SHMDT = 264 + SYS_SHMGET = 265 + SYS_SHM_OPEN = 266 + SYS_SHM_UNLINK = 267 + SYS_SEM_OPEN = 268 + SYS_SEM_CLOSE = 269 + SYS_SEM_UNLINK = 270 + SYS_SEM_WAIT = 271 + SYS_SEM_TRYWAIT = 272 + SYS_SEM_POST = 273 + SYS_SYSCTLBYNAME = 274 + SYS_OPEN_EXTENDED = 277 + SYS_UMASK_EXTENDED = 278 + SYS_STAT_EXTENDED = 279 + SYS_LSTAT_EXTENDED = 280 + SYS_FSTAT_EXTENDED = 281 + SYS_CHMOD_EXTENDED = 282 + SYS_FCHMOD_EXTENDED = 283 + SYS_ACCESS_EXTENDED = 284 + SYS_SETTID = 285 + SYS_GETTID = 286 + SYS_SETSGROUPS = 287 + SYS_GETSGROUPS = 288 + SYS_SETWGROUPS = 289 + SYS_GETWGROUPS = 290 + SYS_MKFIFO_EXTENDED = 291 + SYS_MKDIR_EXTENDED = 292 + SYS_IDENTITYSVC = 293 + SYS_SHARED_REGION_CHECK_NP = 294 + SYS_VM_PRESSURE_MONITOR = 296 + SYS_PSYNCH_RW_LONGRDLOCK = 297 + SYS_PSYNCH_RW_YIELDWRLOCK = 298 + SYS_PSYNCH_RW_DOWNGRADE = 299 + SYS_PSYNCH_RW_UPGRADE = 300 + SYS_PSYNCH_MUTEXWAIT = 301 + SYS_PSYNCH_MUTEXDROP = 302 + SYS_PSYNCH_CVBROAD = 303 + SYS_PSYNCH_CVSIGNAL = 304 + SYS_PSYNCH_CVWAIT = 305 + SYS_PSYNCH_RW_RDLOCK = 306 + SYS_PSYNCH_RW_WRLOCK = 307 + SYS_PSYNCH_RW_UNLOCK = 308 + SYS_PSYNCH_RW_UNLOCK2 = 309 + SYS_GETSID = 310 + SYS_SETTID_WITH_PID = 311 + SYS_PSYNCH_CVCLRPREPOST = 312 + SYS_AIO_FSYNC = 313 + SYS_AIO_RETURN = 314 + SYS_AIO_SUSPEND = 315 + SYS_AIO_CANCEL = 316 + SYS_AIO_ERROR = 317 + SYS_AIO_READ = 318 + SYS_AIO_WRITE = 319 + SYS_LIO_LISTIO = 320 + SYS_IOPOLICYSYS = 322 + SYS_PROCESS_POLICY = 323 + SYS_MLOCKALL = 324 + SYS_MUNLOCKALL = 325 + SYS_ISSETUGID = 327 + SYS___PTHREAD_KILL = 328 + SYS___PTHREAD_SIGMASK = 329 + SYS___SIGWAIT = 330 + SYS___DISABLE_THREADSIGNAL = 331 + SYS___PTHREAD_MARKCANCEL = 332 + SYS___PTHREAD_CANCELED = 333 + SYS___SEMWAIT_SIGNAL = 334 + SYS_PROC_INFO = 336 + SYS_SENDFILE = 337 + SYS_STAT64 = 338 + SYS_FSTAT64 = 339 + SYS_LSTAT64 = 340 + SYS_STAT64_EXTENDED = 341 + SYS_LSTAT64_EXTENDED = 342 + SYS_FSTAT64_EXTENDED = 343 + SYS_GETDIRENTRIES64 = 344 + SYS_STATFS64 = 345 + SYS_FSTATFS64 = 346 + SYS_GETFSSTAT64 = 347 + SYS___PTHREAD_CHDIR = 348 + SYS___PTHREAD_FCHDIR = 349 + SYS_AUDIT = 350 + SYS_AUDITON = 351 + SYS_GETAUID = 353 + SYS_SETAUID = 354 + SYS_GETAUDIT_ADDR = 357 + SYS_SETAUDIT_ADDR = 358 + SYS_AUDITCTL = 359 + SYS_BSDTHREAD_CREATE = 360 + SYS_BSDTHREAD_TERMINATE = 361 + SYS_KQUEUE = 362 + SYS_KEVENT = 363 + SYS_LCHOWN = 364 + SYS_BSDTHREAD_REGISTER = 366 + SYS_WORKQ_OPEN = 367 + SYS_WORKQ_KERNRETURN = 368 + SYS_KEVENT64 = 369 + SYS___OLD_SEMWAIT_SIGNAL = 370 + SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 + SYS_THREAD_SELFID = 372 + SYS_LEDGER = 373 + SYS_KEVENT_QOS = 374 + SYS_KEVENT_ID = 375 + SYS___MAC_EXECVE = 380 + SYS___MAC_SYSCALL = 381 + SYS___MAC_GET_FILE = 382 + SYS___MAC_SET_FILE = 383 + SYS___MAC_GET_LINK = 384 + SYS___MAC_SET_LINK = 385 + SYS___MAC_GET_PROC = 386 + SYS___MAC_SET_PROC = 387 + SYS___MAC_GET_FD = 388 + SYS___MAC_SET_FD = 389 + SYS___MAC_GET_PID = 390 + SYS_PSELECT = 394 + SYS_PSELECT_NOCANCEL = 395 + SYS_READ_NOCANCEL = 396 + SYS_WRITE_NOCANCEL = 397 + SYS_OPEN_NOCANCEL = 398 + SYS_CLOSE_NOCANCEL = 399 + SYS_WAIT4_NOCANCEL = 400 + SYS_RECVMSG_NOCANCEL = 401 + SYS_SENDMSG_NOCANCEL = 402 + SYS_RECVFROM_NOCANCEL = 403 + SYS_ACCEPT_NOCANCEL = 404 + SYS_MSYNC_NOCANCEL = 405 + SYS_FCNTL_NOCANCEL = 406 + SYS_SELECT_NOCANCEL = 407 + SYS_FSYNC_NOCANCEL = 408 + SYS_CONNECT_NOCANCEL = 409 + SYS_SIGSUSPEND_NOCANCEL = 410 + SYS_READV_NOCANCEL = 411 + SYS_WRITEV_NOCANCEL = 412 + SYS_SENDTO_NOCANCEL = 413 + SYS_PREAD_NOCANCEL = 414 + SYS_PWRITE_NOCANCEL = 415 + SYS_WAITID_NOCANCEL = 416 + SYS_POLL_NOCANCEL = 417 + SYS_MSGSND_NOCANCEL = 418 + SYS_MSGRCV_NOCANCEL = 419 + SYS_SEM_WAIT_NOCANCEL = 420 + SYS_AIO_SUSPEND_NOCANCEL = 421 + SYS___SIGWAIT_NOCANCEL = 422 + SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 + SYS___MAC_MOUNT = 424 + SYS___MAC_GET_MOUNT = 425 + SYS___MAC_GETFSSTAT = 426 + SYS_FSGETPATH = 427 + SYS_AUDIT_SESSION_SELF = 428 + SYS_AUDIT_SESSION_JOIN = 429 + SYS_FILEPORT_MAKEPORT = 430 + SYS_FILEPORT_MAKEFD = 431 + SYS_AUDIT_SESSION_PORT = 432 + SYS_PID_SUSPEND = 433 + SYS_PID_RESUME = 434 + SYS_PID_HIBERNATE = 435 + SYS_PID_SHUTDOWN_SOCKETS = 436 + SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 + SYS_KAS_INFO = 439 + SYS_MEMORYSTATUS_CONTROL = 440 + SYS_GUARDED_OPEN_NP = 441 + SYS_GUARDED_CLOSE_NP = 442 + SYS_GUARDED_KQUEUE_NP = 443 + SYS_CHANGE_FDGUARD_NP = 444 + SYS_USRCTL = 445 + SYS_PROC_RLIMIT_CONTROL = 446 + SYS_CONNECTX = 447 + SYS_DISCONNECTX = 448 + SYS_PEELOFF = 449 + SYS_SOCKET_DELEGATE = 450 + SYS_TELEMETRY = 451 + SYS_PROC_UUID_POLICY = 452 + SYS_MEMORYSTATUS_GET_LEVEL = 453 + SYS_SYSTEM_OVERRIDE = 454 + SYS_VFS_PURGE = 455 + SYS_SFI_CTL = 456 + SYS_SFI_PIDCTL = 457 + SYS_COALITION = 458 + SYS_COALITION_INFO = 459 + SYS_NECP_MATCH_POLICY = 460 + SYS_GETATTRLISTBULK = 461 + SYS_CLONEFILEAT = 462 + SYS_OPENAT = 463 + SYS_OPENAT_NOCANCEL = 464 + SYS_RENAMEAT = 465 + SYS_FACCESSAT = 466 + SYS_FCHMODAT = 467 + SYS_FCHOWNAT = 468 + SYS_FSTATAT = 469 + SYS_FSTATAT64 = 470 + SYS_LINKAT = 471 + SYS_UNLINKAT = 472 + SYS_READLINKAT = 473 + SYS_SYMLINKAT = 474 + SYS_MKDIRAT = 475 + SYS_GETATTRLISTAT = 476 + SYS_PROC_TRACE_LOG = 477 + SYS_BSDTHREAD_CTL = 478 + SYS_OPENBYID_NP = 479 + SYS_RECVMSG_X = 480 + SYS_SENDMSG_X = 481 + SYS_THREAD_SELFUSAGE = 482 + SYS_CSRCTL = 483 + SYS_GUARDED_OPEN_DPROTECTED_NP = 484 + SYS_GUARDED_WRITE_NP = 485 + SYS_GUARDED_PWRITE_NP = 486 + SYS_GUARDED_WRITEV_NP = 487 + SYS_RENAMEATX_NP = 488 + SYS_MREMAP_ENCRYPTED = 489 + SYS_NETAGENT_TRIGGER = 490 + SYS_STACK_SNAPSHOT_WITH_CONFIG = 491 + SYS_MICROSTACKSHOT = 492 + SYS_GRAB_PGO_DATA = 493 + SYS_PERSONA = 494 + SYS_WORK_INTERVAL_CTL = 499 + SYS_GETENTROPY = 500 + SYS_NECP_OPEN = 501 + SYS_NECP_CLIENT_ACTION = 502 + SYS___NEXUS_OPEN = 503 + SYS___NEXUS_REGISTER = 504 + SYS___NEXUS_DEREGISTER = 505 + SYS___NEXUS_CREATE = 506 + SYS___NEXUS_DESTROY = 507 + SYS___NEXUS_GET_OPT = 508 + SYS___NEXUS_SET_OPT = 509 + SYS___CHANNEL_OPEN = 510 + SYS___CHANNEL_GET_INFO = 511 + SYS___CHANNEL_SYNC = 512 + SYS___CHANNEL_GET_OPT = 513 + SYS___CHANNEL_SET_OPT = 514 + SYS_ULOCK_WAIT = 515 + SYS_ULOCK_WAKE = 516 + SYS_FCLONEFILEAT = 517 + SYS_FS_SNAPSHOT = 518 + SYS_TERMINATE_WITH_PAYLOAD = 520 + SYS_ABORT_WITH_PAYLOAD = 521 + SYS_NECP_SESSION_OPEN = 522 + SYS_NECP_SESSION_ACTION = 523 + SYS_SETATTRLISTAT = 524 + SYS_NET_QOS_GUIDELINE = 525 + SYS_FMOUNT = 526 + SYS_NTP_ADJTIME = 527 + SYS_NTP_GETTIME = 528 + SYS_OS_FAULT_WITH_PAYLOAD = 529 + SYS_KQUEUE_WORKLOOP_CTL = 530 + SYS___MACH_BRIDGE_REMOTE_TIME = 531 + SYS_MAXSYSCALL = 532 + SYS_INVALID = 63 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go new file mode 100644 index 000000000..103a72ed1 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go @@ -0,0 +1,436 @@ +// go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.1.sdk/usr/include/sys/syscall.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,darwin + +package unix + +const ( + SYS_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAIT4 = 7 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_CHDIR = 12 + SYS_FCHDIR = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_CHOWN = 16 + SYS_GETFSSTAT = 18 + SYS_GETPID = 20 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_GETEUID = 25 + SYS_PTRACE = 26 + SYS_RECVMSG = 27 + SYS_SENDMSG = 28 + SYS_RECVFROM = 29 + SYS_ACCEPT = 30 + SYS_GETPEERNAME = 31 + SYS_GETSOCKNAME = 32 + SYS_ACCESS = 33 + SYS_CHFLAGS = 34 + SYS_FCHFLAGS = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_GETPPID = 39 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_GETEGID = 43 + SYS_SIGACTION = 46 + SYS_GETGID = 47 + SYS_SIGPROCMASK = 48 + SYS_GETLOGIN = 49 + SYS_SETLOGIN = 50 + SYS_ACCT = 51 + SYS_SIGPENDING = 52 + SYS_SIGALTSTACK = 53 + SYS_IOCTL = 54 + SYS_REBOOT = 55 + SYS_REVOKE = 56 + SYS_SYMLINK = 57 + SYS_READLINK = 58 + SYS_EXECVE = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_MSYNC = 65 + SYS_VFORK = 66 + SYS_MUNMAP = 73 + SYS_MPROTECT = 74 + SYS_MADVISE = 75 + SYS_MINCORE = 78 + SYS_GETGROUPS = 79 + SYS_SETGROUPS = 80 + SYS_GETPGRP = 81 + SYS_SETPGID = 82 + SYS_SETITIMER = 83 + SYS_SWAPON = 85 + SYS_GETITIMER = 86 + SYS_GETDTABLESIZE = 89 + SYS_DUP2 = 90 + SYS_FCNTL = 92 + SYS_SELECT = 93 + SYS_FSYNC = 95 + SYS_SETPRIORITY = 96 + SYS_SOCKET = 97 + SYS_CONNECT = 98 + SYS_GETPRIORITY = 100 + SYS_BIND = 104 + SYS_SETSOCKOPT = 105 + SYS_LISTEN = 106 + SYS_SIGSUSPEND = 111 + SYS_GETTIMEOFDAY = 116 + SYS_GETRUSAGE = 117 + SYS_GETSOCKOPT = 118 + SYS_READV = 120 + SYS_WRITEV = 121 + SYS_SETTIMEOFDAY = 122 + SYS_FCHOWN = 123 + SYS_FCHMOD = 124 + SYS_SETREUID = 126 + SYS_SETREGID = 127 + SYS_RENAME = 128 + SYS_FLOCK = 131 + SYS_MKFIFO = 132 + SYS_SENDTO = 133 + SYS_SHUTDOWN = 134 + SYS_SOCKETPAIR = 135 + SYS_MKDIR = 136 + SYS_RMDIR = 137 + SYS_UTIMES = 138 + SYS_FUTIMES = 139 + SYS_ADJTIME = 140 + SYS_GETHOSTUUID = 142 + SYS_SETSID = 147 + SYS_GETPGID = 151 + SYS_SETPRIVEXEC = 152 + SYS_PREAD = 153 + SYS_PWRITE = 154 + SYS_NFSSVC = 155 + SYS_STATFS = 157 + SYS_FSTATFS = 158 + SYS_UNMOUNT = 159 + SYS_GETFH = 161 + SYS_QUOTACTL = 165 + SYS_MOUNT = 167 + SYS_CSOPS = 169 + SYS_CSOPS_AUDITTOKEN = 170 + SYS_WAITID = 173 + SYS_KDEBUG_TYPEFILTER = 177 + SYS_KDEBUG_TRACE_STRING = 178 + SYS_KDEBUG_TRACE64 = 179 + SYS_KDEBUG_TRACE = 180 + SYS_SETGID = 181 + SYS_SETEGID = 182 + SYS_SETEUID = 183 + SYS_SIGRETURN = 184 + SYS_THREAD_SELFCOUNTS = 186 + SYS_FDATASYNC = 187 + SYS_STAT = 188 + SYS_FSTAT = 189 + SYS_LSTAT = 190 + SYS_PATHCONF = 191 + SYS_FPATHCONF = 192 + SYS_GETRLIMIT = 194 + SYS_SETRLIMIT = 195 + SYS_GETDIRENTRIES = 196 + SYS_MMAP = 197 + SYS_LSEEK = 199 + SYS_TRUNCATE = 200 + SYS_FTRUNCATE = 201 + SYS_SYSCTL = 202 + SYS_MLOCK = 203 + SYS_MUNLOCK = 204 + SYS_UNDELETE = 205 + SYS_OPEN_DPROTECTED_NP = 216 + SYS_GETATTRLIST = 220 + SYS_SETATTRLIST = 221 + SYS_GETDIRENTRIESATTR = 222 + SYS_EXCHANGEDATA = 223 + SYS_SEARCHFS = 225 + SYS_DELETE = 226 + SYS_COPYFILE = 227 + SYS_FGETATTRLIST = 228 + SYS_FSETATTRLIST = 229 + SYS_POLL = 230 + SYS_WATCHEVENT = 231 + SYS_WAITEVENT = 232 + SYS_MODWATCH = 233 + SYS_GETXATTR = 234 + SYS_FGETXATTR = 235 + SYS_SETXATTR = 236 + SYS_FSETXATTR = 237 + SYS_REMOVEXATTR = 238 + SYS_FREMOVEXATTR = 239 + SYS_LISTXATTR = 240 + SYS_FLISTXATTR = 241 + SYS_FSCTL = 242 + SYS_INITGROUPS = 243 + SYS_POSIX_SPAWN = 244 + SYS_FFSCTL = 245 + SYS_NFSCLNT = 247 + SYS_FHOPEN = 248 + SYS_MINHERIT = 250 + SYS_SEMSYS = 251 + SYS_MSGSYS = 252 + SYS_SHMSYS = 253 + SYS_SEMCTL = 254 + SYS_SEMGET = 255 + SYS_SEMOP = 256 + SYS_MSGCTL = 258 + SYS_MSGGET = 259 + SYS_MSGSND = 260 + SYS_MSGRCV = 261 + SYS_SHMAT = 262 + SYS_SHMCTL = 263 + SYS_SHMDT = 264 + SYS_SHMGET = 265 + SYS_SHM_OPEN = 266 + SYS_SHM_UNLINK = 267 + SYS_SEM_OPEN = 268 + SYS_SEM_CLOSE = 269 + SYS_SEM_UNLINK = 270 + SYS_SEM_WAIT = 271 + SYS_SEM_TRYWAIT = 272 + SYS_SEM_POST = 273 + SYS_SYSCTLBYNAME = 274 + SYS_OPEN_EXTENDED = 277 + SYS_UMASK_EXTENDED = 278 + SYS_STAT_EXTENDED = 279 + SYS_LSTAT_EXTENDED = 280 + SYS_FSTAT_EXTENDED = 281 + SYS_CHMOD_EXTENDED = 282 + SYS_FCHMOD_EXTENDED = 283 + SYS_ACCESS_EXTENDED = 284 + SYS_SETTID = 285 + SYS_GETTID = 286 + SYS_SETSGROUPS = 287 + SYS_GETSGROUPS = 288 + SYS_SETWGROUPS = 289 + SYS_GETWGROUPS = 290 + SYS_MKFIFO_EXTENDED = 291 + SYS_MKDIR_EXTENDED = 292 + SYS_IDENTITYSVC = 293 + SYS_SHARED_REGION_CHECK_NP = 294 + SYS_VM_PRESSURE_MONITOR = 296 + SYS_PSYNCH_RW_LONGRDLOCK = 297 + SYS_PSYNCH_RW_YIELDWRLOCK = 298 + SYS_PSYNCH_RW_DOWNGRADE = 299 + SYS_PSYNCH_RW_UPGRADE = 300 + SYS_PSYNCH_MUTEXWAIT = 301 + SYS_PSYNCH_MUTEXDROP = 302 + SYS_PSYNCH_CVBROAD = 303 + SYS_PSYNCH_CVSIGNAL = 304 + SYS_PSYNCH_CVWAIT = 305 + SYS_PSYNCH_RW_RDLOCK = 306 + SYS_PSYNCH_RW_WRLOCK = 307 + SYS_PSYNCH_RW_UNLOCK = 308 + SYS_PSYNCH_RW_UNLOCK2 = 309 + SYS_GETSID = 310 + SYS_SETTID_WITH_PID = 311 + SYS_PSYNCH_CVCLRPREPOST = 312 + SYS_AIO_FSYNC = 313 + SYS_AIO_RETURN = 314 + SYS_AIO_SUSPEND = 315 + SYS_AIO_CANCEL = 316 + SYS_AIO_ERROR = 317 + SYS_AIO_READ = 318 + SYS_AIO_WRITE = 319 + SYS_LIO_LISTIO = 320 + SYS_IOPOLICYSYS = 322 + SYS_PROCESS_POLICY = 323 + SYS_MLOCKALL = 324 + SYS_MUNLOCKALL = 325 + SYS_ISSETUGID = 327 + SYS___PTHREAD_KILL = 328 + SYS___PTHREAD_SIGMASK = 329 + SYS___SIGWAIT = 330 + SYS___DISABLE_THREADSIGNAL = 331 + SYS___PTHREAD_MARKCANCEL = 332 + SYS___PTHREAD_CANCELED = 333 + SYS___SEMWAIT_SIGNAL = 334 + SYS_PROC_INFO = 336 + SYS_SENDFILE = 337 + SYS_STAT64 = 338 + SYS_FSTAT64 = 339 + SYS_LSTAT64 = 340 + SYS_STAT64_EXTENDED = 341 + SYS_LSTAT64_EXTENDED = 342 + SYS_FSTAT64_EXTENDED = 343 + SYS_GETDIRENTRIES64 = 344 + SYS_STATFS64 = 345 + SYS_FSTATFS64 = 346 + SYS_GETFSSTAT64 = 347 + SYS___PTHREAD_CHDIR = 348 + SYS___PTHREAD_FCHDIR = 349 + SYS_AUDIT = 350 + SYS_AUDITON = 351 + SYS_GETAUID = 353 + SYS_SETAUID = 354 + SYS_GETAUDIT_ADDR = 357 + SYS_SETAUDIT_ADDR = 358 + SYS_AUDITCTL = 359 + SYS_BSDTHREAD_CREATE = 360 + SYS_BSDTHREAD_TERMINATE = 361 + SYS_KQUEUE = 362 + SYS_KEVENT = 363 + SYS_LCHOWN = 364 + SYS_BSDTHREAD_REGISTER = 366 + SYS_WORKQ_OPEN = 367 + SYS_WORKQ_KERNRETURN = 368 + SYS_KEVENT64 = 369 + SYS___OLD_SEMWAIT_SIGNAL = 370 + SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 + SYS_THREAD_SELFID = 372 + SYS_LEDGER = 373 + SYS_KEVENT_QOS = 374 + SYS_KEVENT_ID = 375 + SYS___MAC_EXECVE = 380 + SYS___MAC_SYSCALL = 381 + SYS___MAC_GET_FILE = 382 + SYS___MAC_SET_FILE = 383 + SYS___MAC_GET_LINK = 384 + SYS___MAC_SET_LINK = 385 + SYS___MAC_GET_PROC = 386 + SYS___MAC_SET_PROC = 387 + SYS___MAC_GET_FD = 388 + SYS___MAC_SET_FD = 389 + SYS___MAC_GET_PID = 390 + SYS_PSELECT = 394 + SYS_PSELECT_NOCANCEL = 395 + SYS_READ_NOCANCEL = 396 + SYS_WRITE_NOCANCEL = 397 + SYS_OPEN_NOCANCEL = 398 + SYS_CLOSE_NOCANCEL = 399 + SYS_WAIT4_NOCANCEL = 400 + SYS_RECVMSG_NOCANCEL = 401 + SYS_SENDMSG_NOCANCEL = 402 + SYS_RECVFROM_NOCANCEL = 403 + SYS_ACCEPT_NOCANCEL = 404 + SYS_MSYNC_NOCANCEL = 405 + SYS_FCNTL_NOCANCEL = 406 + SYS_SELECT_NOCANCEL = 407 + SYS_FSYNC_NOCANCEL = 408 + SYS_CONNECT_NOCANCEL = 409 + SYS_SIGSUSPEND_NOCANCEL = 410 + SYS_READV_NOCANCEL = 411 + SYS_WRITEV_NOCANCEL = 412 + SYS_SENDTO_NOCANCEL = 413 + SYS_PREAD_NOCANCEL = 414 + SYS_PWRITE_NOCANCEL = 415 + SYS_WAITID_NOCANCEL = 416 + SYS_POLL_NOCANCEL = 417 + SYS_MSGSND_NOCANCEL = 418 + SYS_MSGRCV_NOCANCEL = 419 + SYS_SEM_WAIT_NOCANCEL = 420 + SYS_AIO_SUSPEND_NOCANCEL = 421 + SYS___SIGWAIT_NOCANCEL = 422 + SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 + SYS___MAC_MOUNT = 424 + SYS___MAC_GET_MOUNT = 425 + SYS___MAC_GETFSSTAT = 426 + SYS_FSGETPATH = 427 + SYS_AUDIT_SESSION_SELF = 428 + SYS_AUDIT_SESSION_JOIN = 429 + SYS_FILEPORT_MAKEPORT = 430 + SYS_FILEPORT_MAKEFD = 431 + SYS_AUDIT_SESSION_PORT = 432 + SYS_PID_SUSPEND = 433 + SYS_PID_RESUME = 434 + SYS_PID_HIBERNATE = 435 + SYS_PID_SHUTDOWN_SOCKETS = 436 + SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 + SYS_KAS_INFO = 439 + SYS_MEMORYSTATUS_CONTROL = 440 + SYS_GUARDED_OPEN_NP = 441 + SYS_GUARDED_CLOSE_NP = 442 + SYS_GUARDED_KQUEUE_NP = 443 + SYS_CHANGE_FDGUARD_NP = 444 + SYS_USRCTL = 445 + SYS_PROC_RLIMIT_CONTROL = 446 + SYS_CONNECTX = 447 + SYS_DISCONNECTX = 448 + SYS_PEELOFF = 449 + SYS_SOCKET_DELEGATE = 450 + SYS_TELEMETRY = 451 + SYS_PROC_UUID_POLICY = 452 + SYS_MEMORYSTATUS_GET_LEVEL = 453 + SYS_SYSTEM_OVERRIDE = 454 + SYS_VFS_PURGE = 455 + SYS_SFI_CTL = 456 + SYS_SFI_PIDCTL = 457 + SYS_COALITION = 458 + SYS_COALITION_INFO = 459 + SYS_NECP_MATCH_POLICY = 460 + SYS_GETATTRLISTBULK = 461 + SYS_CLONEFILEAT = 462 + SYS_OPENAT = 463 + SYS_OPENAT_NOCANCEL = 464 + SYS_RENAMEAT = 465 + SYS_FACCESSAT = 466 + SYS_FCHMODAT = 467 + SYS_FCHOWNAT = 468 + SYS_FSTATAT = 469 + SYS_FSTATAT64 = 470 + SYS_LINKAT = 471 + SYS_UNLINKAT = 472 + SYS_READLINKAT = 473 + SYS_SYMLINKAT = 474 + SYS_MKDIRAT = 475 + SYS_GETATTRLISTAT = 476 + SYS_PROC_TRACE_LOG = 477 + SYS_BSDTHREAD_CTL = 478 + SYS_OPENBYID_NP = 479 + SYS_RECVMSG_X = 480 + SYS_SENDMSG_X = 481 + SYS_THREAD_SELFUSAGE = 482 + SYS_CSRCTL = 483 + SYS_GUARDED_OPEN_DPROTECTED_NP = 484 + SYS_GUARDED_WRITE_NP = 485 + SYS_GUARDED_PWRITE_NP = 486 + SYS_GUARDED_WRITEV_NP = 487 + SYS_RENAMEATX_NP = 488 + SYS_MREMAP_ENCRYPTED = 489 + SYS_NETAGENT_TRIGGER = 490 + SYS_STACK_SNAPSHOT_WITH_CONFIG = 491 + SYS_MICROSTACKSHOT = 492 + SYS_GRAB_PGO_DATA = 493 + SYS_PERSONA = 494 + SYS_WORK_INTERVAL_CTL = 499 + SYS_GETENTROPY = 500 + SYS_NECP_OPEN = 501 + SYS_NECP_CLIENT_ACTION = 502 + SYS___NEXUS_OPEN = 503 + SYS___NEXUS_REGISTER = 504 + SYS___NEXUS_DEREGISTER = 505 + SYS___NEXUS_CREATE = 506 + SYS___NEXUS_DESTROY = 507 + SYS___NEXUS_GET_OPT = 508 + SYS___NEXUS_SET_OPT = 509 + SYS___CHANNEL_OPEN = 510 + SYS___CHANNEL_GET_INFO = 511 + SYS___CHANNEL_SYNC = 512 + SYS___CHANNEL_GET_OPT = 513 + SYS___CHANNEL_SET_OPT = 514 + SYS_ULOCK_WAIT = 515 + SYS_ULOCK_WAKE = 516 + SYS_FCLONEFILEAT = 517 + SYS_FS_SNAPSHOT = 518 + SYS_TERMINATE_WITH_PAYLOAD = 520 + SYS_ABORT_WITH_PAYLOAD = 521 + SYS_NECP_SESSION_OPEN = 522 + SYS_NECP_SESSION_ACTION = 523 + SYS_SETATTRLISTAT = 524 + SYS_NET_QOS_GUIDELINE = 525 + SYS_FMOUNT = 526 + SYS_NTP_ADJTIME = 527 + SYS_NTP_GETTIME = 528 + SYS_OS_FAULT_WITH_PAYLOAD = 529 + SYS_MAXSYSCALL = 530 + SYS_INVALID = 63 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go new file mode 100644 index 000000000..7ab2130b9 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go @@ -0,0 +1,436 @@ +// go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.1.sdk/usr/include/sys/syscall.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,darwin + +package unix + +const ( + SYS_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAIT4 = 7 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_CHDIR = 12 + SYS_FCHDIR = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_CHOWN = 16 + SYS_GETFSSTAT = 18 + SYS_GETPID = 20 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_GETEUID = 25 + SYS_PTRACE = 26 + SYS_RECVMSG = 27 + SYS_SENDMSG = 28 + SYS_RECVFROM = 29 + SYS_ACCEPT = 30 + SYS_GETPEERNAME = 31 + SYS_GETSOCKNAME = 32 + SYS_ACCESS = 33 + SYS_CHFLAGS = 34 + SYS_FCHFLAGS = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_GETPPID = 39 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_GETEGID = 43 + SYS_SIGACTION = 46 + SYS_GETGID = 47 + SYS_SIGPROCMASK = 48 + SYS_GETLOGIN = 49 + SYS_SETLOGIN = 50 + SYS_ACCT = 51 + SYS_SIGPENDING = 52 + SYS_SIGALTSTACK = 53 + SYS_IOCTL = 54 + SYS_REBOOT = 55 + SYS_REVOKE = 56 + SYS_SYMLINK = 57 + SYS_READLINK = 58 + SYS_EXECVE = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_MSYNC = 65 + SYS_VFORK = 66 + SYS_MUNMAP = 73 + SYS_MPROTECT = 74 + SYS_MADVISE = 75 + SYS_MINCORE = 78 + SYS_GETGROUPS = 79 + SYS_SETGROUPS = 80 + SYS_GETPGRP = 81 + SYS_SETPGID = 82 + SYS_SETITIMER = 83 + SYS_SWAPON = 85 + SYS_GETITIMER = 86 + SYS_GETDTABLESIZE = 89 + SYS_DUP2 = 90 + SYS_FCNTL = 92 + SYS_SELECT = 93 + SYS_FSYNC = 95 + SYS_SETPRIORITY = 96 + SYS_SOCKET = 97 + SYS_CONNECT = 98 + SYS_GETPRIORITY = 100 + SYS_BIND = 104 + SYS_SETSOCKOPT = 105 + SYS_LISTEN = 106 + SYS_SIGSUSPEND = 111 + SYS_GETTIMEOFDAY = 116 + SYS_GETRUSAGE = 117 + SYS_GETSOCKOPT = 118 + SYS_READV = 120 + SYS_WRITEV = 121 + SYS_SETTIMEOFDAY = 122 + SYS_FCHOWN = 123 + SYS_FCHMOD = 124 + SYS_SETREUID = 126 + SYS_SETREGID = 127 + SYS_RENAME = 128 + SYS_FLOCK = 131 + SYS_MKFIFO = 132 + SYS_SENDTO = 133 + SYS_SHUTDOWN = 134 + SYS_SOCKETPAIR = 135 + SYS_MKDIR = 136 + SYS_RMDIR = 137 + SYS_UTIMES = 138 + SYS_FUTIMES = 139 + SYS_ADJTIME = 140 + SYS_GETHOSTUUID = 142 + SYS_SETSID = 147 + SYS_GETPGID = 151 + SYS_SETPRIVEXEC = 152 + SYS_PREAD = 153 + SYS_PWRITE = 154 + SYS_NFSSVC = 155 + SYS_STATFS = 157 + SYS_FSTATFS = 158 + SYS_UNMOUNT = 159 + SYS_GETFH = 161 + SYS_QUOTACTL = 165 + SYS_MOUNT = 167 + SYS_CSOPS = 169 + SYS_CSOPS_AUDITTOKEN = 170 + SYS_WAITID = 173 + SYS_KDEBUG_TYPEFILTER = 177 + SYS_KDEBUG_TRACE_STRING = 178 + SYS_KDEBUG_TRACE64 = 179 + SYS_KDEBUG_TRACE = 180 + SYS_SETGID = 181 + SYS_SETEGID = 182 + SYS_SETEUID = 183 + SYS_SIGRETURN = 184 + SYS_THREAD_SELFCOUNTS = 186 + SYS_FDATASYNC = 187 + SYS_STAT = 188 + SYS_FSTAT = 189 + SYS_LSTAT = 190 + SYS_PATHCONF = 191 + SYS_FPATHCONF = 192 + SYS_GETRLIMIT = 194 + SYS_SETRLIMIT = 195 + SYS_GETDIRENTRIES = 196 + SYS_MMAP = 197 + SYS_LSEEK = 199 + SYS_TRUNCATE = 200 + SYS_FTRUNCATE = 201 + SYS_SYSCTL = 202 + SYS_MLOCK = 203 + SYS_MUNLOCK = 204 + SYS_UNDELETE = 205 + SYS_OPEN_DPROTECTED_NP = 216 + SYS_GETATTRLIST = 220 + SYS_SETATTRLIST = 221 + SYS_GETDIRENTRIESATTR = 222 + SYS_EXCHANGEDATA = 223 + SYS_SEARCHFS = 225 + SYS_DELETE = 226 + SYS_COPYFILE = 227 + SYS_FGETATTRLIST = 228 + SYS_FSETATTRLIST = 229 + SYS_POLL = 230 + SYS_WATCHEVENT = 231 + SYS_WAITEVENT = 232 + SYS_MODWATCH = 233 + SYS_GETXATTR = 234 + SYS_FGETXATTR = 235 + SYS_SETXATTR = 236 + SYS_FSETXATTR = 237 + SYS_REMOVEXATTR = 238 + SYS_FREMOVEXATTR = 239 + SYS_LISTXATTR = 240 + SYS_FLISTXATTR = 241 + SYS_FSCTL = 242 + SYS_INITGROUPS = 243 + SYS_POSIX_SPAWN = 244 + SYS_FFSCTL = 245 + SYS_NFSCLNT = 247 + SYS_FHOPEN = 248 + SYS_MINHERIT = 250 + SYS_SEMSYS = 251 + SYS_MSGSYS = 252 + SYS_SHMSYS = 253 + SYS_SEMCTL = 254 + SYS_SEMGET = 255 + SYS_SEMOP = 256 + SYS_MSGCTL = 258 + SYS_MSGGET = 259 + SYS_MSGSND = 260 + SYS_MSGRCV = 261 + SYS_SHMAT = 262 + SYS_SHMCTL = 263 + SYS_SHMDT = 264 + SYS_SHMGET = 265 + SYS_SHM_OPEN = 266 + SYS_SHM_UNLINK = 267 + SYS_SEM_OPEN = 268 + SYS_SEM_CLOSE = 269 + SYS_SEM_UNLINK = 270 + SYS_SEM_WAIT = 271 + SYS_SEM_TRYWAIT = 272 + SYS_SEM_POST = 273 + SYS_SYSCTLBYNAME = 274 + SYS_OPEN_EXTENDED = 277 + SYS_UMASK_EXTENDED = 278 + SYS_STAT_EXTENDED = 279 + SYS_LSTAT_EXTENDED = 280 + SYS_FSTAT_EXTENDED = 281 + SYS_CHMOD_EXTENDED = 282 + SYS_FCHMOD_EXTENDED = 283 + SYS_ACCESS_EXTENDED = 284 + SYS_SETTID = 285 + SYS_GETTID = 286 + SYS_SETSGROUPS = 287 + SYS_GETSGROUPS = 288 + SYS_SETWGROUPS = 289 + SYS_GETWGROUPS = 290 + SYS_MKFIFO_EXTENDED = 291 + SYS_MKDIR_EXTENDED = 292 + SYS_IDENTITYSVC = 293 + SYS_SHARED_REGION_CHECK_NP = 294 + SYS_VM_PRESSURE_MONITOR = 296 + SYS_PSYNCH_RW_LONGRDLOCK = 297 + SYS_PSYNCH_RW_YIELDWRLOCK = 298 + SYS_PSYNCH_RW_DOWNGRADE = 299 + SYS_PSYNCH_RW_UPGRADE = 300 + SYS_PSYNCH_MUTEXWAIT = 301 + SYS_PSYNCH_MUTEXDROP = 302 + SYS_PSYNCH_CVBROAD = 303 + SYS_PSYNCH_CVSIGNAL = 304 + SYS_PSYNCH_CVWAIT = 305 + SYS_PSYNCH_RW_RDLOCK = 306 + SYS_PSYNCH_RW_WRLOCK = 307 + SYS_PSYNCH_RW_UNLOCK = 308 + SYS_PSYNCH_RW_UNLOCK2 = 309 + SYS_GETSID = 310 + SYS_SETTID_WITH_PID = 311 + SYS_PSYNCH_CVCLRPREPOST = 312 + SYS_AIO_FSYNC = 313 + SYS_AIO_RETURN = 314 + SYS_AIO_SUSPEND = 315 + SYS_AIO_CANCEL = 316 + SYS_AIO_ERROR = 317 + SYS_AIO_READ = 318 + SYS_AIO_WRITE = 319 + SYS_LIO_LISTIO = 320 + SYS_IOPOLICYSYS = 322 + SYS_PROCESS_POLICY = 323 + SYS_MLOCKALL = 324 + SYS_MUNLOCKALL = 325 + SYS_ISSETUGID = 327 + SYS___PTHREAD_KILL = 328 + SYS___PTHREAD_SIGMASK = 329 + SYS___SIGWAIT = 330 + SYS___DISABLE_THREADSIGNAL = 331 + SYS___PTHREAD_MARKCANCEL = 332 + SYS___PTHREAD_CANCELED = 333 + SYS___SEMWAIT_SIGNAL = 334 + SYS_PROC_INFO = 336 + SYS_SENDFILE = 337 + SYS_STAT64 = 338 + SYS_FSTAT64 = 339 + SYS_LSTAT64 = 340 + SYS_STAT64_EXTENDED = 341 + SYS_LSTAT64_EXTENDED = 342 + SYS_FSTAT64_EXTENDED = 343 + SYS_GETDIRENTRIES64 = 344 + SYS_STATFS64 = 345 + SYS_FSTATFS64 = 346 + SYS_GETFSSTAT64 = 347 + SYS___PTHREAD_CHDIR = 348 + SYS___PTHREAD_FCHDIR = 349 + SYS_AUDIT = 350 + SYS_AUDITON = 351 + SYS_GETAUID = 353 + SYS_SETAUID = 354 + SYS_GETAUDIT_ADDR = 357 + SYS_SETAUDIT_ADDR = 358 + SYS_AUDITCTL = 359 + SYS_BSDTHREAD_CREATE = 360 + SYS_BSDTHREAD_TERMINATE = 361 + SYS_KQUEUE = 362 + SYS_KEVENT = 363 + SYS_LCHOWN = 364 + SYS_BSDTHREAD_REGISTER = 366 + SYS_WORKQ_OPEN = 367 + SYS_WORKQ_KERNRETURN = 368 + SYS_KEVENT64 = 369 + SYS___OLD_SEMWAIT_SIGNAL = 370 + SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 + SYS_THREAD_SELFID = 372 + SYS_LEDGER = 373 + SYS_KEVENT_QOS = 374 + SYS_KEVENT_ID = 375 + SYS___MAC_EXECVE = 380 + SYS___MAC_SYSCALL = 381 + SYS___MAC_GET_FILE = 382 + SYS___MAC_SET_FILE = 383 + SYS___MAC_GET_LINK = 384 + SYS___MAC_SET_LINK = 385 + SYS___MAC_GET_PROC = 386 + SYS___MAC_SET_PROC = 387 + SYS___MAC_GET_FD = 388 + SYS___MAC_SET_FD = 389 + SYS___MAC_GET_PID = 390 + SYS_PSELECT = 394 + SYS_PSELECT_NOCANCEL = 395 + SYS_READ_NOCANCEL = 396 + SYS_WRITE_NOCANCEL = 397 + SYS_OPEN_NOCANCEL = 398 + SYS_CLOSE_NOCANCEL = 399 + SYS_WAIT4_NOCANCEL = 400 + SYS_RECVMSG_NOCANCEL = 401 + SYS_SENDMSG_NOCANCEL = 402 + SYS_RECVFROM_NOCANCEL = 403 + SYS_ACCEPT_NOCANCEL = 404 + SYS_MSYNC_NOCANCEL = 405 + SYS_FCNTL_NOCANCEL = 406 + SYS_SELECT_NOCANCEL = 407 + SYS_FSYNC_NOCANCEL = 408 + SYS_CONNECT_NOCANCEL = 409 + SYS_SIGSUSPEND_NOCANCEL = 410 + SYS_READV_NOCANCEL = 411 + SYS_WRITEV_NOCANCEL = 412 + SYS_SENDTO_NOCANCEL = 413 + SYS_PREAD_NOCANCEL = 414 + SYS_PWRITE_NOCANCEL = 415 + SYS_WAITID_NOCANCEL = 416 + SYS_POLL_NOCANCEL = 417 + SYS_MSGSND_NOCANCEL = 418 + SYS_MSGRCV_NOCANCEL = 419 + SYS_SEM_WAIT_NOCANCEL = 420 + SYS_AIO_SUSPEND_NOCANCEL = 421 + SYS___SIGWAIT_NOCANCEL = 422 + SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 + SYS___MAC_MOUNT = 424 + SYS___MAC_GET_MOUNT = 425 + SYS___MAC_GETFSSTAT = 426 + SYS_FSGETPATH = 427 + SYS_AUDIT_SESSION_SELF = 428 + SYS_AUDIT_SESSION_JOIN = 429 + SYS_FILEPORT_MAKEPORT = 430 + SYS_FILEPORT_MAKEFD = 431 + SYS_AUDIT_SESSION_PORT = 432 + SYS_PID_SUSPEND = 433 + SYS_PID_RESUME = 434 + SYS_PID_HIBERNATE = 435 + SYS_PID_SHUTDOWN_SOCKETS = 436 + SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 + SYS_KAS_INFO = 439 + SYS_MEMORYSTATUS_CONTROL = 440 + SYS_GUARDED_OPEN_NP = 441 + SYS_GUARDED_CLOSE_NP = 442 + SYS_GUARDED_KQUEUE_NP = 443 + SYS_CHANGE_FDGUARD_NP = 444 + SYS_USRCTL = 445 + SYS_PROC_RLIMIT_CONTROL = 446 + SYS_CONNECTX = 447 + SYS_DISCONNECTX = 448 + SYS_PEELOFF = 449 + SYS_SOCKET_DELEGATE = 450 + SYS_TELEMETRY = 451 + SYS_PROC_UUID_POLICY = 452 + SYS_MEMORYSTATUS_GET_LEVEL = 453 + SYS_SYSTEM_OVERRIDE = 454 + SYS_VFS_PURGE = 455 + SYS_SFI_CTL = 456 + SYS_SFI_PIDCTL = 457 + SYS_COALITION = 458 + SYS_COALITION_INFO = 459 + SYS_NECP_MATCH_POLICY = 460 + SYS_GETATTRLISTBULK = 461 + SYS_CLONEFILEAT = 462 + SYS_OPENAT = 463 + SYS_OPENAT_NOCANCEL = 464 + SYS_RENAMEAT = 465 + SYS_FACCESSAT = 466 + SYS_FCHMODAT = 467 + SYS_FCHOWNAT = 468 + SYS_FSTATAT = 469 + SYS_FSTATAT64 = 470 + SYS_LINKAT = 471 + SYS_UNLINKAT = 472 + SYS_READLINKAT = 473 + SYS_SYMLINKAT = 474 + SYS_MKDIRAT = 475 + SYS_GETATTRLISTAT = 476 + SYS_PROC_TRACE_LOG = 477 + SYS_BSDTHREAD_CTL = 478 + SYS_OPENBYID_NP = 479 + SYS_RECVMSG_X = 480 + SYS_SENDMSG_X = 481 + SYS_THREAD_SELFUSAGE = 482 + SYS_CSRCTL = 483 + SYS_GUARDED_OPEN_DPROTECTED_NP = 484 + SYS_GUARDED_WRITE_NP = 485 + SYS_GUARDED_PWRITE_NP = 486 + SYS_GUARDED_WRITEV_NP = 487 + SYS_RENAMEATX_NP = 488 + SYS_MREMAP_ENCRYPTED = 489 + SYS_NETAGENT_TRIGGER = 490 + SYS_STACK_SNAPSHOT_WITH_CONFIG = 491 + SYS_MICROSTACKSHOT = 492 + SYS_GRAB_PGO_DATA = 493 + SYS_PERSONA = 494 + SYS_WORK_INTERVAL_CTL = 499 + SYS_GETENTROPY = 500 + SYS_NECP_OPEN = 501 + SYS_NECP_CLIENT_ACTION = 502 + SYS___NEXUS_OPEN = 503 + SYS___NEXUS_REGISTER = 504 + SYS___NEXUS_DEREGISTER = 505 + SYS___NEXUS_CREATE = 506 + SYS___NEXUS_DESTROY = 507 + SYS___NEXUS_GET_OPT = 508 + SYS___NEXUS_SET_OPT = 509 + SYS___CHANNEL_OPEN = 510 + SYS___CHANNEL_GET_INFO = 511 + SYS___CHANNEL_SYNC = 512 + SYS___CHANNEL_GET_OPT = 513 + SYS___CHANNEL_SET_OPT = 514 + SYS_ULOCK_WAIT = 515 + SYS_ULOCK_WAKE = 516 + SYS_FCLONEFILEAT = 517 + SYS_FS_SNAPSHOT = 518 + SYS_TERMINATE_WITH_PAYLOAD = 520 + SYS_ABORT_WITH_PAYLOAD = 521 + SYS_NECP_SESSION_OPEN = 522 + SYS_NECP_SESSION_ACTION = 523 + SYS_SETATTRLISTAT = 524 + SYS_NET_QOS_GUIDELINE = 525 + SYS_FMOUNT = 526 + SYS_NTP_ADJTIME = 527 + SYS_NTP_GETTIME = 528 + SYS_OS_FAULT_WITH_PAYLOAD = 529 + SYS_MAXSYSCALL = 530 + SYS_INVALID = 63 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go new file mode 100644 index 000000000..464c9a983 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go @@ -0,0 +1,315 @@ +// go run mksysnum.go https://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,dragonfly + +package unix + +const ( + // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int + SYS_EXIT = 1 // { void exit(int rval); } + SYS_FORK = 2 // { int fork(void); } + SYS_READ = 3 // { ssize_t read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } + SYS_CLOSE = 6 // { int close(int fd); } + SYS_WAIT4 = 7 // { int wait4(int pid, int *status, int options, struct rusage *rusage); } wait4 wait_args int + SYS_LINK = 9 // { int link(char *path, char *link); } + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } + SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } + SYS_OBREAK = 17 // { int obreak(char *nsize); } break obreak_args int + SYS_GETFSSTAT = 18 // { int getfsstat(struct statfs *buf, long bufsize, int flags); } + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } + SYS_SETUID = 23 // { int setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t getuid(void); } + SYS_GETEUID = 25 // { uid_t geteuid(void); } + SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { int sendmsg(int s, caddr_t msg, int flags); } + SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, int flags, caddr_t from, int *fromlenaddr); } + SYS_ACCEPT = 30 // { int accept(int s, caddr_t name, int *anamelen); } + SYS_GETPEERNAME = 31 // { int getpeername(int fdes, caddr_t asa, int *alen); } + SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, caddr_t asa, int *alen); } + SYS_ACCESS = 33 // { int access(char *path, int flags); } + SYS_CHFLAGS = 34 // { int chflags(char *path, int flags); } + SYS_FCHFLAGS = 35 // { int fchflags(int fd, int flags); } + SYS_SYNC = 36 // { int sync(void); } + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(int fd); } + SYS_PIPE = 42 // { int pipe(void); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); } + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } + SYS_GETGID = 47 // { gid_t getgid(void); } + SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int namelen); } + SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } + SYS_ACCT = 51 // { int acct(char *path); } + SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, stack_t *oss); } + SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, caddr_t data); } + SYS_REBOOT = 55 // { int reboot(int opt); } + SYS_REVOKE = 56 // { int revoke(char *path); } + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { int readlink(char *path, char *buf, int count); } + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } + SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args int + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } + SYS_VFORK = 66 // { pid_t vfork(void); } + SYS_SBRK = 69 // { int sbrk(int incr); } + SYS_SSTK = 70 // { int sstk(int incr); } + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, gid_t *gidset); } + SYS_GETPGRP = 81 // { int getpgrp(void); } + SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } + SYS_SETITIMER = 83 // { int setitimer(u_int which, struct itimerval *itv, struct itimerval *oitv); } + SYS_SWAPON = 85 // { int swapon(char *name); } + SYS_GETITIMER = 86 // { int getitimer(u_int which, struct itimerval *itv); } + SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } + SYS_DUP2 = 90 // { int dup2(int from, int to); } + SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } + SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_FSYNC = 95 // { int fsync(int fd); } + SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, int prio); } + SYS_SOCKET = 97 // { int socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int connect(int s, caddr_t name, int namelen); } + SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } + SYS_BIND = 104 // { int bind(int s, caddr_t name, int namelen); } + SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, caddr_t val, int valsize); } + SYS_LISTEN = 106 // { int listen(int s, int backlog); } + SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } + SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); } + SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); } + SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } + SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } + SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } + SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } + SYS_RENAME = 128 // { int rename(char *from, char *to); } + SYS_FLOCK = 131 // { int flock(int fd, int how); } + SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } + SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, int flags, caddr_t to, int tolen); } + SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } + SYS_RMDIR = 137 // { int rmdir(char *path); } + SYS_UTIMES = 138 // { int utimes(char *path, struct timeval *tptr); } + SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, struct timeval *olddelta); } + SYS_SETSID = 147 // { int setsid(void); } + SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); } + SYS_STATFS = 157 // { int statfs(char *path, struct statfs *buf); } + SYS_FSTATFS = 158 // { int fstatfs(int fd, struct statfs *buf); } + SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } + SYS_GETDOMAINNAME = 162 // { int getdomainname(char *domainname, int len); } + SYS_SETDOMAINNAME = 163 // { int setdomainname(char *domainname, int len); } + SYS_UNAME = 164 // { int uname(struct utsname *name); } + SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } + SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); } + SYS_EXTPREAD = 173 // { ssize_t extpread(int fd, void *buf, size_t nbyte, int flags, off_t offset); } + SYS_EXTPWRITE = 174 // { ssize_t extpwrite(int fd, const void *buf, size_t nbyte, int flags, off_t offset); } + SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int + SYS_MMAP = 197 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, int pad, off_t pos); } + // SYS_NOSYS = 198; // { int nosys(void); } __syscall __syscall_args int + SYS_LSEEK = 199 // { off_t lseek(int fd, int pad, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int truncate(char *path, int pad, off_t length); } + SYS_FTRUNCATE = 201 // { int ftruncate(int fd, int pad, off_t length); } + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int undelete(char *path); } + SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } + SYS_GETPGID = 207 // { int getpgid(pid_t pid); } + SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS___SEMCTL = 220 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, u_int nsops); } + SYS_MSGCTL = 224 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { caddr_t shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMCTL = 229 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, int shmflg); } + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 233 // { int clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } + SYS_RFORK = 251 // { int rfork(int flags); } + SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } + SYS_EXTPREADV = 289 // { ssize_t extpreadv(int fd, struct iovec *iovp, u_int iovcnt, int flags, off_t offset); } + SYS_EXTPWRITEV = 290 // { ssize_t extpwritev(int fd, struct iovec *iovp,u_int iovcnt, int flags, off_t offset); } + SYS_FHSTATFS = 297 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); } + SYS_MODNEXT = 300 // { int modnext(int modid); } + SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat* stat); } + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } + SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); } + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_AIO_RETURN = 314 // { int aio_return(struct aiocb *aiocbp); } + SYS_AIO_SUSPEND = 315 // { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } + SYS_AIO_CANCEL = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); } + SYS_AIO_ERROR = 317 // { int aio_error(struct aiocb *aiocbp); } + SYS_AIO_READ = 318 // { int aio_read(struct aiocb *aiocbp); } + SYS_AIO_WRITE = 319 // { int aio_write(struct aiocb *aiocbp); } + SYS_LIO_LISTIO = 320 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } + SYS___GETCWD = 326 // { int __getcwd(u_char *buf, u_int buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); } + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); } + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } + SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } + SYS_SCHED_YIELD = 331 // { int sched_yield (void); } + SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } + SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } + SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } + SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } + SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, void *data); } + SYS_JAIL = 338 // { int jail(struct jail *jail); } + SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, const sigset_t *set, sigset_t *oset); } + SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } + SYS_SIGACTION = 342 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } + SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } + SYS_SIGRETURN = 344 // { int sigreturn(ucontext_t *sigcntxp); } + SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set,siginfo_t *info, const struct timespec *timeout); } + SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set,siginfo_t *info); } + SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, acl_type_t type); } + SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); } + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 356 // { int extattr_set_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 357 // { int extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_AIO_WAITCOMPLETE = 359 // { int aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); } + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_KQUEUE = 362 // { int kqueue(void); } + SYS_KEVENT = 363 // { int kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_KENV = 390 // { int kenv(int what, const char *name, char *value, int len); } + SYS_LCHFLAGS = 391 // { int lchflags(char *path, int flags); } + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, int count); } + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } + SYS_VARSYM_SET = 450 // { int varsym_set(int level, const char *name, const char *data); } + SYS_VARSYM_GET = 451 // { int varsym_get(int mask, const char *wild, char *buf, int bufsize); } + SYS_VARSYM_LIST = 452 // { int varsym_list(int level, char *buf, int maxsize, int *marker); } + SYS_EXEC_SYS_REGISTER = 465 // { int exec_sys_register(void *entry); } + SYS_EXEC_SYS_UNREGISTER = 466 // { int exec_sys_unregister(int id); } + SYS_SYS_CHECKPOINT = 467 // { int sys_checkpoint(int type, int fd, pid_t pid, int retval); } + SYS_MOUNTCTL = 468 // { int mountctl(const char *path, int op, int fd, const void *ctl, int ctllen, void *buf, int buflen); } + SYS_UMTX_SLEEP = 469 // { int umtx_sleep(volatile const int *ptr, int value, int timeout); } + SYS_UMTX_WAKEUP = 470 // { int umtx_wakeup(volatile const int *ptr, int count); } + SYS_JAIL_ATTACH = 471 // { int jail_attach(int jid); } + SYS_SET_TLS_AREA = 472 // { int set_tls_area(int which, struct tls_info *info, size_t infosize); } + SYS_GET_TLS_AREA = 473 // { int get_tls_area(int which, struct tls_info *info, size_t infosize); } + SYS_CLOSEFROM = 474 // { int closefrom(int fd); } + SYS_STAT = 475 // { int stat(const char *path, struct stat *ub); } + SYS_FSTAT = 476 // { int fstat(int fd, struct stat *sb); } + SYS_LSTAT = 477 // { int lstat(const char *path, struct stat *ub); } + SYS_FHSTAT = 478 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } + SYS_GETDIRENTRIES = 479 // { int getdirentries(int fd, char *buf, u_int count, long *basep); } + SYS_GETDENTS = 480 // { int getdents(int fd, char *buf, size_t count); } + SYS_USCHED_SET = 481 // { int usched_set(pid_t pid, int cmd, void *data, int bytes); } + SYS_EXTACCEPT = 482 // { int extaccept(int s, int flags, caddr_t name, int *anamelen); } + SYS_EXTCONNECT = 483 // { int extconnect(int s, int flags, caddr_t name, int namelen); } + SYS_MCONTROL = 485 // { int mcontrol(void *addr, size_t len, int behav, off_t value); } + SYS_VMSPACE_CREATE = 486 // { int vmspace_create(void *id, int type, void *data); } + SYS_VMSPACE_DESTROY = 487 // { int vmspace_destroy(void *id); } + SYS_VMSPACE_CTL = 488 // { int vmspace_ctl(void *id, int cmd, struct trapframe *tframe, struct vextframe *vframe); } + SYS_VMSPACE_MMAP = 489 // { int vmspace_mmap(void *id, void *addr, size_t len, int prot, int flags, int fd, off_t offset); } + SYS_VMSPACE_MUNMAP = 490 // { int vmspace_munmap(void *id, void *addr, size_t len); } + SYS_VMSPACE_MCONTROL = 491 // { int vmspace_mcontrol(void *id, void *addr, size_t len, int behav, off_t value); } + SYS_VMSPACE_PREAD = 492 // { ssize_t vmspace_pread(void *id, void *buf, size_t nbyte, int flags, off_t offset); } + SYS_VMSPACE_PWRITE = 493 // { ssize_t vmspace_pwrite(void *id, const void *buf, size_t nbyte, int flags, off_t offset); } + SYS_EXTEXIT = 494 // { void extexit(int how, int status, void *addr); } + SYS_LWP_CREATE = 495 // { int lwp_create(struct lwp_params *params); } + SYS_LWP_GETTID = 496 // { lwpid_t lwp_gettid(void); } + SYS_LWP_KILL = 497 // { int lwp_kill(pid_t pid, lwpid_t tid, int signum); } + SYS_LWP_RTPRIO = 498 // { int lwp_rtprio(int function, pid_t pid, lwpid_t tid, struct rtprio *rtp); } + SYS_PSELECT = 499 // { int pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *sigmask); } + SYS_STATVFS = 500 // { int statvfs(const char *path, struct statvfs *buf); } + SYS_FSTATVFS = 501 // { int fstatvfs(int fd, struct statvfs *buf); } + SYS_FHSTATVFS = 502 // { int fhstatvfs(const struct fhandle *u_fhp, struct statvfs *buf); } + SYS_GETVFSSTAT = 503 // { int getvfsstat(struct statfs *buf, struct statvfs *vbuf, long vbufsize, int flags); } + SYS_OPENAT = 504 // { int openat(int fd, char *path, int flags, int mode); } + SYS_FSTATAT = 505 // { int fstatat(int fd, char *path, struct stat *sb, int flags); } + SYS_FCHMODAT = 506 // { int fchmodat(int fd, char *path, int mode, int flags); } + SYS_FCHOWNAT = 507 // { int fchownat(int fd, char *path, int uid, int gid, int flags); } + SYS_UNLINKAT = 508 // { int unlinkat(int fd, char *path, int flags); } + SYS_FACCESSAT = 509 // { int faccessat(int fd, char *path, int amode, int flags); } + SYS_MQ_OPEN = 510 // { mqd_t mq_open(const char * name, int oflag, mode_t mode, struct mq_attr *attr); } + SYS_MQ_CLOSE = 511 // { int mq_close(mqd_t mqdes); } + SYS_MQ_UNLINK = 512 // { int mq_unlink(const char *name); } + SYS_MQ_GETATTR = 513 // { int mq_getattr(mqd_t mqdes, struct mq_attr *mqstat); } + SYS_MQ_SETATTR = 514 // { int mq_setattr(mqd_t mqdes, const struct mq_attr *mqstat, struct mq_attr *omqstat); } + SYS_MQ_NOTIFY = 515 // { int mq_notify(mqd_t mqdes, const struct sigevent *notification); } + SYS_MQ_SEND = 516 // { int mq_send(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_prio); } + SYS_MQ_RECEIVE = 517 // { ssize_t mq_receive(mqd_t mqdes, char *msg_ptr, size_t msg_len, unsigned *msg_prio); } + SYS_MQ_TIMEDSEND = 518 // { int mq_timedsend(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_prio, const struct timespec *abs_timeout); } + SYS_MQ_TIMEDRECEIVE = 519 // { ssize_t mq_timedreceive(mqd_t mqdes, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } + SYS_IOPRIO_SET = 520 // { int ioprio_set(int which, int who, int prio); } + SYS_IOPRIO_GET = 521 // { int ioprio_get(int which, int who); } + SYS_CHROOT_KERNEL = 522 // { int chroot_kernel(char *path); } + SYS_RENAMEAT = 523 // { int renameat(int oldfd, char *old, int newfd, char *new); } + SYS_MKDIRAT = 524 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 525 // { int mkfifoat(int fd, char *path, mode_t mode); } + SYS_MKNODAT = 526 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } + SYS_READLINKAT = 527 // { int readlinkat(int fd, char *path, char *buf, size_t bufsize); } + SYS_SYMLINKAT = 528 // { int symlinkat(char *path1, int fd, char *path2); } + SYS_SWAPOFF = 529 // { int swapoff(char *name); } + SYS_VQUOTACTL = 530 // { int vquotactl(const char *path, struct plistref *pref); } + SYS_LINKAT = 531 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flags); } + SYS_EACCESS = 532 // { int eaccess(char *path, int flags); } + SYS_LPATHCONF = 533 // { int lpathconf(char *path, int name); } + SYS_VMM_GUEST_CTL = 534 // { int vmm_guest_ctl(int op, struct vmm_guest_options *options); } + SYS_VMM_GUEST_SYNC_ADDR = 535 // { int vmm_guest_sync_addr(long *dstaddr, long *srcaddr); } + SYS_PROCCTL = 536 // { int procctl(idtype_t idtype, id_t id, int cmd, void *data); } + SYS_CHFLAGSAT = 537 // { int chflagsat(int fd, const char *path, int flags, int atflags);} + SYS_PIPE2 = 538 // { int pipe2(int *fildes, int flags); } + SYS_UTIMENSAT = 539 // { int utimensat(int fd, const char *path, const struct timespec *ts, int flags); } + SYS_FUTIMENS = 540 // { int futimens(int fd, const struct timespec *ts); } + SYS_ACCEPT4 = 541 // { int accept4(int s, caddr_t name, int *anamelen, int flags); } + SYS_LWP_SETNAME = 542 // { int lwp_setname(lwpid_t tid, const char *name); } + SYS_PPOLL = 543 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *sigmask); } + SYS_LWP_SETAFFINITY = 544 // { int lwp_setaffinity(pid_t pid, lwpid_t tid, const cpumask_t *mask); } + SYS_LWP_GETAFFINITY = 545 // { int lwp_getaffinity(pid_t pid, lwpid_t tid, cpumask_t *mask); } + SYS_LWP_CREATE2 = 546 // { int lwp_create2(struct lwp_params *params, const cpumask_t *mask); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go new file mode 100644 index 000000000..55c3a3294 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go @@ -0,0 +1,403 @@ +// go run mksysnum.go https://svn.freebsd.org/base/stable/10/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,freebsd + +package unix + +const ( + // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int + SYS_EXIT = 1 // { void sys_exit(int rval); } exit sys_exit_args void + SYS_FORK = 2 // { int fork(void); } + SYS_READ = 3 // { ssize_t read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } + SYS_CLOSE = 6 // { int close(int fd); } + SYS_WAIT4 = 7 // { int wait4(int pid, int *status, int options, struct rusage *rusage); } + SYS_LINK = 9 // { int link(char *path, char *link); } + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } + SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } + SYS_OBREAK = 17 // { int obreak(char *nsize); } break obreak_args int + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } + SYS_SETUID = 23 // { int setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t getuid(void); } + SYS_GETEUID = 25 // { uid_t geteuid(void); } + SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, int flags, struct sockaddr * __restrict from, __socklen_t * __restrict fromlenaddr); } + SYS_ACCEPT = 30 // { int accept(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen); } + SYS_GETPEERNAME = 31 // { int getpeername(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_ACCESS = 33 // { int access(char *path, int amode); } + SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { int sync(void); } + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(u_int fd); } + SYS_PIPE = 42 // { int pipe(void); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); } + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } + SYS_GETGID = 47 // { gid_t getgid(void); } + SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int namelen); } + SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } + SYS_ACCT = 51 // { int acct(char *path); } + SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, stack_t *oss); } + SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, caddr_t data); } + SYS_REBOOT = 55 // { int reboot(int opt); } + SYS_REVOKE = 56 // { int revoke(char *path); } + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } + SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args int + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } + SYS_VFORK = 66 // { int vfork(void); } + SYS_SBRK = 69 // { int sbrk(int incr); } + SYS_SSTK = 70 // { int sstk(int incr); } + SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise ovadvise_args int + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, gid_t *gidset); } + SYS_GETPGRP = 81 // { int getpgrp(void); } + SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } + SYS_SETITIMER = 83 // { int setitimer(u_int which, struct itimerval *itv, struct itimerval *oitv); } + SYS_SWAPON = 85 // { int swapon(char *name); } + SYS_GETITIMER = 86 // { int getitimer(u_int which, struct itimerval *itv); } + SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } + SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } + SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } + SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_FSYNC = 95 // { int fsync(int fd); } + SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, int prio); } + SYS_SOCKET = 97 // { int socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int connect(int s, caddr_t name, int namelen); } + SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } + SYS_BIND = 104 // { int bind(int s, caddr_t name, int namelen); } + SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, caddr_t val, int valsize); } + SYS_LISTEN = 106 // { int listen(int s, int backlog); } + SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } + SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); } + SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); } + SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } + SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } + SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } + SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } + SYS_RENAME = 128 // { int rename(char *from, char *to); } + SYS_FLOCK = 131 // { int flock(int fd, int how); } + SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } + SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, int flags, caddr_t to, int tolen); } + SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } + SYS_RMDIR = 137 // { int rmdir(char *path); } + SYS_UTIMES = 138 // { int utimes(char *path, struct timeval *tptr); } + SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, struct timeval *olddelta); } + SYS_SETSID = 147 // { int setsid(void); } + SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); } + SYS_NLM_SYSCALL = 154 // { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); } + SYS_NFSSVC = 155 // { int nfssvc(int flag, caddr_t argp); } + SYS_LGETFH = 160 // { int lgetfh(char *fname, struct fhandle *fhp); } + SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } + SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } + SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); } + SYS_SEMSYS = 169 // { int semsys(int which, int a2, int a3, int a4, int a5); } + SYS_MSGSYS = 170 // { int msgsys(int which, int a2, int a3, int a4, int a5, int a6); } + SYS_SHMSYS = 171 // { int shmsys(int which, int a2, int a3, int a4); } + SYS_FREEBSD6_PREAD = 173 // { ssize_t freebsd6_pread(int fd, void *buf, size_t nbyte, int pad, off_t offset); } + SYS_FREEBSD6_PWRITE = 174 // { ssize_t freebsd6_pwrite(int fd, const void *buf, size_t nbyte, int pad, off_t offset); } + SYS_SETFIB = 175 // { int setfib(int fibnum); } + SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } + SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } + SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } + SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int + SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, u_int count, long *basep); } + SYS_FREEBSD6_MMAP = 197 // { caddr_t freebsd6_mmap(caddr_t addr, size_t len, int prot, int flags, int fd, int pad, off_t pos); } + SYS_FREEBSD6_LSEEK = 199 // { off_t freebsd6_lseek(int fd, int pad, off_t offset, int whence); } + SYS_FREEBSD6_TRUNCATE = 200 // { int freebsd6_truncate(char *path, int pad, off_t length); } + SYS_FREEBSD6_FTRUNCATE = 201 // { int freebsd6_ftruncate(int fd, int pad, off_t length); } + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int undelete(char *path); } + SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } + SYS_GETPGID = 207 // { int getpgid(pid_t pid); } + SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { int shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, int shmflg); } + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 233 // { int clock_settime( clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, struct sigevent *evp, int *timerid); } + SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } + SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct itimerspec *value); } + SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } + SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( struct ffclock_estimate *cest); } + SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( struct ffclock_estimate *cest); } + SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,int which, clockid_t *clock_id); } + SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } + SYS_RFORK = 251 // { int rfork(int flags); } + SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_AIO_READ = 255 // { int aio_read(struct aiocb *aiocbp); } + SYS_AIO_WRITE = 256 // { int aio_write(struct aiocb *aiocbp); } + SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } + SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, size_t count); } + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } + SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } + SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } + SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } + SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); } + SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } + SYS_MODNEXT = 300 // { int modnext(int modid); } + SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat *stat); } + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } + SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); } + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_AIO_RETURN = 314 // { int aio_return(struct aiocb *aiocbp); } + SYS_AIO_SUSPEND = 315 // { int aio_suspend( struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } + SYS_AIO_CANCEL = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); } + SYS_AIO_ERROR = 317 // { int aio_error(struct aiocb *aiocbp); } + SYS_OAIO_READ = 318 // { int oaio_read(struct oaiocb *aiocbp); } + SYS_OAIO_WRITE = 319 // { int oaio_write(struct oaiocb *aiocbp); } + SYS_OLIO_LISTIO = 320 // { int olio_listio(int mode, struct oaiocb * const *acb_list, int nent, struct osigevent *sig); } + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } + SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); } + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); } + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } + SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } + SYS_SCHED_YIELD = 331 // { int sched_yield (void); } + SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } + SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } + SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } + SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } + SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, void *data); } + SYS_JAIL = 338 // { int jail(struct jail *jail); } + SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, const sigset_t *set, sigset_t *oset); } + SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } + SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } + SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *timeout); } + SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, siginfo_t *info); } + SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, acl_type_t type); } + SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); } + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_AIO_WAITCOMPLETE = 359 // { int aio_waitcomplete( struct aiocb **aiocbp, struct timespec *timeout); } + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_KQUEUE = 362 // { int kqueue(void); } + SYS_KEVENT = 363 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS___SETUGID = 374 // { int __setugid(int flag); } + SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } + SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } + SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } + SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, struct mac *mac_p); } + SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, struct mac *mac_p); } + SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, struct mac *mac_p); } + SYS_KENV = 390 // { int kenv(int what, const char *name, char *value, int len); } + SYS_LCHFLAGS = 391 // { int lchflags(const char *path, u_long flags); } + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, int count); } + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } + SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, int call, void *arg); } + SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, long bufsize, int flags); } + SYS_STATFS = 396 // { int statfs(char *path, struct statfs *buf); } + SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } + SYS_KSEM_CLOSE = 400 // { int ksem_close(semid_t id); } + SYS_KSEM_POST = 401 // { int ksem_post(semid_t id); } + SYS_KSEM_WAIT = 402 // { int ksem_wait(semid_t id); } + SYS_KSEM_TRYWAIT = 403 // { int ksem_trywait(semid_t id); } + SYS_KSEM_INIT = 404 // { int ksem_init(semid_t *idp, unsigned int value); } + SYS_KSEM_OPEN = 405 // { int ksem_open(semid_t *idp, const char *name, int oflag, mode_t mode, unsigned int value); } + SYS_KSEM_UNLINK = 406 // { int ksem_unlink(const char *name); } + SYS_KSEM_GETVALUE = 407 // { int ksem_getvalue(semid_t id, int *val); } + SYS_KSEM_DESTROY = 408 // { int ksem_destroy(semid_t id); } + SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, struct mac *mac_p); } + SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, struct mac *mac_p); } + SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( const char *path, int attrnamespace, const char *attrname); } + SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, char **envv, struct mac *mac_p); } + SYS_SIGACTION = 416 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } + SYS_SIGRETURN = 417 // { int sigreturn( const struct __ucontext *sigcntxp); } + SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 422 // { int setcontext( const struct __ucontext *ucp); } + SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, const struct __ucontext *ucp); } + SYS_SWAPOFF = 424 // { int swapoff(const char *name); } + SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, acl_type_t type); } + SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, int *sig); } + SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, int flags); } + SYS_THR_EXIT = 431 // { void thr_exit(long *state); } + SYS_THR_SELF = 432 // { int thr_self(long *id); } + SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } + SYS__UMTX_LOCK = 434 // { int _umtx_lock(struct umtx *umtx); } + SYS__UMTX_UNLOCK = 435 // { int _umtx_unlock(struct umtx *umtx); } + SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } + SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_KSEM_TIMEDWAIT = 441 // { int ksem_timedwait(semid_t id, const struct timespec *abstime); } + SYS_THR_SUSPEND = 442 // { int thr_suspend( const struct timespec *timeout); } + SYS_THR_WAKE = 443 // { int thr_wake(long id); } + SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } + SYS_AUDIT = 445 // { int audit(const void *record, u_int length); } + SYS_AUDITON = 446 // { int auditon(int cmd, void *data, u_int length); } + SYS_GETAUID = 447 // { int getauid(uid_t *auid); } + SYS_SETAUID = 448 // { int setauid(uid_t *auid); } + SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } + SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } + SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_AUDITCTL = 453 // { int auditctl(char *path); } + SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, u_long val, void *uaddr1, void *uaddr2); } + SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, int param_size); } + SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } + SYS_KMQ_OPEN = 457 // { int kmq_open(const char *path, int flags, mode_t mode, const struct mq_attr *attr); } + SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, const struct mq_attr *attr, struct mq_attr *oattr); } + SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } + SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, const char *msg_ptr, size_t msg_len,unsigned msg_prio, const struct timespec *abs_timeout);} + SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, const struct sigevent *sigev); } + SYS_KMQ_UNLINK = 462 // { int kmq_unlink(const char *path); } + SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } + SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } + SYS_AIO_FSYNC = 465 // { int aio_fsync(int op, struct aiocb *aiocbp); } + SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, lwpid_t lwpid, struct rtprio *rtp); } + SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } + SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr * from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); } + SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, size_t nbyte, off_t offset); } + SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, size_t nbyte, off_t offset); } + SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); } + SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, int whence); } + SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } + SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } + SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } + SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, mode_t mode); } + SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } + SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } + SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, cpusetid_t setid); } + SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, cpuwhich_t which, id_t id, cpusetid_t *setid); } + SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, cpuset_t *mask); } + SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, const cpuset_t *mask); } + SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, int flag); } + SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, gid_t gid, int flag); } + SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, char **envv); } + SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, struct stat *buf, int flag); } + SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, struct timeval *times); } + SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flag); } + SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } + SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, mode_t mode); } + SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, size_t bufsize); } + SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, char *new); } + SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, char *path2); } + SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } + SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } + SYS_GSSD_SYSCALL = 505 // { int gssd_syscall(char *path); } + SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } + SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } + SYS___SEMCTL = 510 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_MSGCTL = 511 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SHMCTL = 512 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } + SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, int fd, cap_rights_t *rightsp); } + SYS_CAP_ENTER = 516 // { int cap_enter(void); } + SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } + SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } + SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } + SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } + SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *sm); } + SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, size_t namelen); } + SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } + SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, off_t offset, off_t len); } + SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, off_t len, int advice); } + SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, int *status, int options, struct __wrusage *wrusage, siginfo_t *info); } + SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, cap_rights_t *rightsp); } + SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, const u_long *cmds, size_t ncmds); } + SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, u_long *cmds, size_t maxcmds); } + SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, uint32_t fcntlrights); } + SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, uint32_t *fcntlrightsp); } + SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, int namelen); } + SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, int namelen); } + SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, u_long flags, int atflag); } + SYS_ACCEPT4 = 541 // { int accept4(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen, int flags); } + SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } + SYS_AIO_MLOCK = 543 // { int aio_mlock(struct aiocb *aiocbp); } + SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, int com, void *data); } + SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *set); } + SYS_FUTIMENS = 546 // { int futimens(int fd, struct timespec *times); } + SYS_UTIMENSAT = 547 // { int utimensat(int fd, char *path, struct timespec *times, int flag); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go new file mode 100644 index 000000000..b39be6cb8 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go @@ -0,0 +1,403 @@ +// go run mksysnum.go https://svn.freebsd.org/base/stable/10/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,freebsd + +package unix + +const ( + // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int + SYS_EXIT = 1 // { void sys_exit(int rval); } exit sys_exit_args void + SYS_FORK = 2 // { int fork(void); } + SYS_READ = 3 // { ssize_t read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } + SYS_CLOSE = 6 // { int close(int fd); } + SYS_WAIT4 = 7 // { int wait4(int pid, int *status, int options, struct rusage *rusage); } + SYS_LINK = 9 // { int link(char *path, char *link); } + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } + SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } + SYS_OBREAK = 17 // { int obreak(char *nsize); } break obreak_args int + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } + SYS_SETUID = 23 // { int setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t getuid(void); } + SYS_GETEUID = 25 // { uid_t geteuid(void); } + SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, int flags, struct sockaddr * __restrict from, __socklen_t * __restrict fromlenaddr); } + SYS_ACCEPT = 30 // { int accept(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen); } + SYS_GETPEERNAME = 31 // { int getpeername(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_ACCESS = 33 // { int access(char *path, int amode); } + SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { int sync(void); } + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(u_int fd); } + SYS_PIPE = 42 // { int pipe(void); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); } + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } + SYS_GETGID = 47 // { gid_t getgid(void); } + SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int namelen); } + SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } + SYS_ACCT = 51 // { int acct(char *path); } + SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, stack_t *oss); } + SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, caddr_t data); } + SYS_REBOOT = 55 // { int reboot(int opt); } + SYS_REVOKE = 56 // { int revoke(char *path); } + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } + SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args int + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } + SYS_VFORK = 66 // { int vfork(void); } + SYS_SBRK = 69 // { int sbrk(int incr); } + SYS_SSTK = 70 // { int sstk(int incr); } + SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise ovadvise_args int + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, gid_t *gidset); } + SYS_GETPGRP = 81 // { int getpgrp(void); } + SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } + SYS_SETITIMER = 83 // { int setitimer(u_int which, struct itimerval *itv, struct itimerval *oitv); } + SYS_SWAPON = 85 // { int swapon(char *name); } + SYS_GETITIMER = 86 // { int getitimer(u_int which, struct itimerval *itv); } + SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } + SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } + SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } + SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_FSYNC = 95 // { int fsync(int fd); } + SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, int prio); } + SYS_SOCKET = 97 // { int socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int connect(int s, caddr_t name, int namelen); } + SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } + SYS_BIND = 104 // { int bind(int s, caddr_t name, int namelen); } + SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, caddr_t val, int valsize); } + SYS_LISTEN = 106 // { int listen(int s, int backlog); } + SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } + SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); } + SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); } + SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } + SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } + SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } + SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } + SYS_RENAME = 128 // { int rename(char *from, char *to); } + SYS_FLOCK = 131 // { int flock(int fd, int how); } + SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } + SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, int flags, caddr_t to, int tolen); } + SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } + SYS_RMDIR = 137 // { int rmdir(char *path); } + SYS_UTIMES = 138 // { int utimes(char *path, struct timeval *tptr); } + SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, struct timeval *olddelta); } + SYS_SETSID = 147 // { int setsid(void); } + SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); } + SYS_NLM_SYSCALL = 154 // { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); } + SYS_NFSSVC = 155 // { int nfssvc(int flag, caddr_t argp); } + SYS_LGETFH = 160 // { int lgetfh(char *fname, struct fhandle *fhp); } + SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } + SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } + SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); } + SYS_SEMSYS = 169 // { int semsys(int which, int a2, int a3, int a4, int a5); } + SYS_MSGSYS = 170 // { int msgsys(int which, int a2, int a3, int a4, int a5, int a6); } + SYS_SHMSYS = 171 // { int shmsys(int which, int a2, int a3, int a4); } + SYS_FREEBSD6_PREAD = 173 // { ssize_t freebsd6_pread(int fd, void *buf, size_t nbyte, int pad, off_t offset); } + SYS_FREEBSD6_PWRITE = 174 // { ssize_t freebsd6_pwrite(int fd, const void *buf, size_t nbyte, int pad, off_t offset); } + SYS_SETFIB = 175 // { int setfib(int fibnum); } + SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } + SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } + SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } + SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int + SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, u_int count, long *basep); } + SYS_FREEBSD6_MMAP = 197 // { caddr_t freebsd6_mmap(caddr_t addr, size_t len, int prot, int flags, int fd, int pad, off_t pos); } + SYS_FREEBSD6_LSEEK = 199 // { off_t freebsd6_lseek(int fd, int pad, off_t offset, int whence); } + SYS_FREEBSD6_TRUNCATE = 200 // { int freebsd6_truncate(char *path, int pad, off_t length); } + SYS_FREEBSD6_FTRUNCATE = 201 // { int freebsd6_ftruncate(int fd, int pad, off_t length); } + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int undelete(char *path); } + SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } + SYS_GETPGID = 207 // { int getpgid(pid_t pid); } + SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { int shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, int shmflg); } + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 233 // { int clock_settime( clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, struct sigevent *evp, int *timerid); } + SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } + SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct itimerspec *value); } + SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } + SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( struct ffclock_estimate *cest); } + SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( struct ffclock_estimate *cest); } + SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,int which, clockid_t *clock_id); } + SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } + SYS_RFORK = 251 // { int rfork(int flags); } + SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_AIO_READ = 255 // { int aio_read(struct aiocb *aiocbp); } + SYS_AIO_WRITE = 256 // { int aio_write(struct aiocb *aiocbp); } + SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } + SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, size_t count); } + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } + SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } + SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } + SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } + SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); } + SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } + SYS_MODNEXT = 300 // { int modnext(int modid); } + SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat *stat); } + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } + SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); } + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_AIO_RETURN = 314 // { int aio_return(struct aiocb *aiocbp); } + SYS_AIO_SUSPEND = 315 // { int aio_suspend( struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } + SYS_AIO_CANCEL = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); } + SYS_AIO_ERROR = 317 // { int aio_error(struct aiocb *aiocbp); } + SYS_OAIO_READ = 318 // { int oaio_read(struct oaiocb *aiocbp); } + SYS_OAIO_WRITE = 319 // { int oaio_write(struct oaiocb *aiocbp); } + SYS_OLIO_LISTIO = 320 // { int olio_listio(int mode, struct oaiocb * const *acb_list, int nent, struct osigevent *sig); } + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } + SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); } + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); } + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } + SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } + SYS_SCHED_YIELD = 331 // { int sched_yield (void); } + SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } + SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } + SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } + SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } + SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, void *data); } + SYS_JAIL = 338 // { int jail(struct jail *jail); } + SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, const sigset_t *set, sigset_t *oset); } + SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } + SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } + SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *timeout); } + SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, siginfo_t *info); } + SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, acl_type_t type); } + SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); } + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_AIO_WAITCOMPLETE = 359 // { int aio_waitcomplete( struct aiocb **aiocbp, struct timespec *timeout); } + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_KQUEUE = 362 // { int kqueue(void); } + SYS_KEVENT = 363 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS___SETUGID = 374 // { int __setugid(int flag); } + SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } + SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } + SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } + SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, struct mac *mac_p); } + SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, struct mac *mac_p); } + SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, struct mac *mac_p); } + SYS_KENV = 390 // { int kenv(int what, const char *name, char *value, int len); } + SYS_LCHFLAGS = 391 // { int lchflags(const char *path, u_long flags); } + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, int count); } + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } + SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, int call, void *arg); } + SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, long bufsize, int flags); } + SYS_STATFS = 396 // { int statfs(char *path, struct statfs *buf); } + SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } + SYS_KSEM_CLOSE = 400 // { int ksem_close(semid_t id); } + SYS_KSEM_POST = 401 // { int ksem_post(semid_t id); } + SYS_KSEM_WAIT = 402 // { int ksem_wait(semid_t id); } + SYS_KSEM_TRYWAIT = 403 // { int ksem_trywait(semid_t id); } + SYS_KSEM_INIT = 404 // { int ksem_init(semid_t *idp, unsigned int value); } + SYS_KSEM_OPEN = 405 // { int ksem_open(semid_t *idp, const char *name, int oflag, mode_t mode, unsigned int value); } + SYS_KSEM_UNLINK = 406 // { int ksem_unlink(const char *name); } + SYS_KSEM_GETVALUE = 407 // { int ksem_getvalue(semid_t id, int *val); } + SYS_KSEM_DESTROY = 408 // { int ksem_destroy(semid_t id); } + SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, struct mac *mac_p); } + SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, struct mac *mac_p); } + SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( const char *path, int attrnamespace, const char *attrname); } + SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, char **envv, struct mac *mac_p); } + SYS_SIGACTION = 416 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } + SYS_SIGRETURN = 417 // { int sigreturn( const struct __ucontext *sigcntxp); } + SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 422 // { int setcontext( const struct __ucontext *ucp); } + SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, const struct __ucontext *ucp); } + SYS_SWAPOFF = 424 // { int swapoff(const char *name); } + SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, acl_type_t type); } + SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, int *sig); } + SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, int flags); } + SYS_THR_EXIT = 431 // { void thr_exit(long *state); } + SYS_THR_SELF = 432 // { int thr_self(long *id); } + SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } + SYS__UMTX_LOCK = 434 // { int _umtx_lock(struct umtx *umtx); } + SYS__UMTX_UNLOCK = 435 // { int _umtx_unlock(struct umtx *umtx); } + SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } + SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_KSEM_TIMEDWAIT = 441 // { int ksem_timedwait(semid_t id, const struct timespec *abstime); } + SYS_THR_SUSPEND = 442 // { int thr_suspend( const struct timespec *timeout); } + SYS_THR_WAKE = 443 // { int thr_wake(long id); } + SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } + SYS_AUDIT = 445 // { int audit(const void *record, u_int length); } + SYS_AUDITON = 446 // { int auditon(int cmd, void *data, u_int length); } + SYS_GETAUID = 447 // { int getauid(uid_t *auid); } + SYS_SETAUID = 448 // { int setauid(uid_t *auid); } + SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } + SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } + SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_AUDITCTL = 453 // { int auditctl(char *path); } + SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, u_long val, void *uaddr1, void *uaddr2); } + SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, int param_size); } + SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } + SYS_KMQ_OPEN = 457 // { int kmq_open(const char *path, int flags, mode_t mode, const struct mq_attr *attr); } + SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, const struct mq_attr *attr, struct mq_attr *oattr); } + SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } + SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, const char *msg_ptr, size_t msg_len,unsigned msg_prio, const struct timespec *abs_timeout);} + SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, const struct sigevent *sigev); } + SYS_KMQ_UNLINK = 462 // { int kmq_unlink(const char *path); } + SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } + SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } + SYS_AIO_FSYNC = 465 // { int aio_fsync(int op, struct aiocb *aiocbp); } + SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, lwpid_t lwpid, struct rtprio *rtp); } + SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } + SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr * from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); } + SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, size_t nbyte, off_t offset); } + SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, size_t nbyte, off_t offset); } + SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); } + SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, int whence); } + SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } + SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } + SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } + SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, mode_t mode); } + SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } + SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } + SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, cpusetid_t setid); } + SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, cpuwhich_t which, id_t id, cpusetid_t *setid); } + SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, cpuset_t *mask); } + SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, const cpuset_t *mask); } + SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, int flag); } + SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, gid_t gid, int flag); } + SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, char **envv); } + SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, struct stat *buf, int flag); } + SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, struct timeval *times); } + SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flag); } + SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } + SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, mode_t mode); } + SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, size_t bufsize); } + SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, char *new); } + SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, char *path2); } + SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } + SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } + SYS_GSSD_SYSCALL = 505 // { int gssd_syscall(char *path); } + SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } + SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } + SYS___SEMCTL = 510 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_MSGCTL = 511 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SHMCTL = 512 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } + SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, int fd, cap_rights_t *rightsp); } + SYS_CAP_ENTER = 516 // { int cap_enter(void); } + SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } + SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } + SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } + SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } + SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *sm); } + SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, size_t namelen); } + SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } + SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, off_t offset, off_t len); } + SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, off_t len, int advice); } + SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, int *status, int options, struct __wrusage *wrusage, siginfo_t *info); } + SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, cap_rights_t *rightsp); } + SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, const u_long *cmds, size_t ncmds); } + SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, u_long *cmds, size_t maxcmds); } + SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, uint32_t fcntlrights); } + SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, uint32_t *fcntlrightsp); } + SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, int namelen); } + SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, int namelen); } + SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, u_long flags, int atflag); } + SYS_ACCEPT4 = 541 // { int accept4(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen, int flags); } + SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } + SYS_AIO_MLOCK = 543 // { int aio_mlock(struct aiocb *aiocbp); } + SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, int com, void *data); } + SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *set); } + SYS_FUTIMENS = 546 // { int futimens(int fd, struct timespec *times); } + SYS_UTIMENSAT = 547 // { int utimensat(int fd, char *path, struct timespec *times, int flag); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go new file mode 100644 index 000000000..44ffd4ce5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go @@ -0,0 +1,403 @@ +// go run mksysnum.go https://svn.freebsd.org/base/stable/10/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,freebsd + +package unix + +const ( + // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int + SYS_EXIT = 1 // { void sys_exit(int rval); } exit sys_exit_args void + SYS_FORK = 2 // { int fork(void); } + SYS_READ = 3 // { ssize_t read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } + SYS_CLOSE = 6 // { int close(int fd); } + SYS_WAIT4 = 7 // { int wait4(int pid, int *status, int options, struct rusage *rusage); } + SYS_LINK = 9 // { int link(char *path, char *link); } + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } + SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } + SYS_OBREAK = 17 // { int obreak(char *nsize); } break obreak_args int + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } + SYS_SETUID = 23 // { int setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t getuid(void); } + SYS_GETEUID = 25 // { uid_t geteuid(void); } + SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, int flags, struct sockaddr * __restrict from, __socklen_t * __restrict fromlenaddr); } + SYS_ACCEPT = 30 // { int accept(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen); } + SYS_GETPEERNAME = 31 // { int getpeername(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } + SYS_ACCESS = 33 // { int access(char *path, int amode); } + SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { int sync(void); } + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(u_int fd); } + SYS_PIPE = 42 // { int pipe(void); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); } + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } + SYS_GETGID = 47 // { gid_t getgid(void); } + SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int namelen); } + SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } + SYS_ACCT = 51 // { int acct(char *path); } + SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, stack_t *oss); } + SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, caddr_t data); } + SYS_REBOOT = 55 // { int reboot(int opt); } + SYS_REVOKE = 56 // { int revoke(char *path); } + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } + SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args int + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } + SYS_VFORK = 66 // { int vfork(void); } + SYS_SBRK = 69 // { int sbrk(int incr); } + SYS_SSTK = 70 // { int sstk(int incr); } + SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise ovadvise_args int + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, gid_t *gidset); } + SYS_GETPGRP = 81 // { int getpgrp(void); } + SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } + SYS_SETITIMER = 83 // { int setitimer(u_int which, struct itimerval *itv, struct itimerval *oitv); } + SYS_SWAPON = 85 // { int swapon(char *name); } + SYS_GETITIMER = 86 // { int getitimer(u_int which, struct itimerval *itv); } + SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } + SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } + SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } + SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_FSYNC = 95 // { int fsync(int fd); } + SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, int prio); } + SYS_SOCKET = 97 // { int socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int connect(int s, caddr_t name, int namelen); } + SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } + SYS_BIND = 104 // { int bind(int s, caddr_t name, int namelen); } + SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, caddr_t val, int valsize); } + SYS_LISTEN = 106 // { int listen(int s, int backlog); } + SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } + SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); } + SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); } + SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); } + SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } + SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } + SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } + SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } + SYS_RENAME = 128 // { int rename(char *from, char *to); } + SYS_FLOCK = 131 // { int flock(int fd, int how); } + SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } + SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, int flags, caddr_t to, int tolen); } + SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } + SYS_RMDIR = 137 // { int rmdir(char *path); } + SYS_UTIMES = 138 // { int utimes(char *path, struct timeval *tptr); } + SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, struct timeval *olddelta); } + SYS_SETSID = 147 // { int setsid(void); } + SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); } + SYS_NLM_SYSCALL = 154 // { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); } + SYS_NFSSVC = 155 // { int nfssvc(int flag, caddr_t argp); } + SYS_LGETFH = 160 // { int lgetfh(char *fname, struct fhandle *fhp); } + SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } + SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } + SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); } + SYS_SEMSYS = 169 // { int semsys(int which, int a2, int a3, int a4, int a5); } + SYS_MSGSYS = 170 // { int msgsys(int which, int a2, int a3, int a4, int a5, int a6); } + SYS_SHMSYS = 171 // { int shmsys(int which, int a2, int a3, int a4); } + SYS_FREEBSD6_PREAD = 173 // { ssize_t freebsd6_pread(int fd, void *buf, size_t nbyte, int pad, off_t offset); } + SYS_FREEBSD6_PWRITE = 174 // { ssize_t freebsd6_pwrite(int fd, const void *buf, size_t nbyte, int pad, off_t offset); } + SYS_SETFIB = 175 // { int setfib(int fibnum); } + SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } + SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } + SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } + SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int + SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, u_int count, long *basep); } + SYS_FREEBSD6_MMAP = 197 // { caddr_t freebsd6_mmap(caddr_t addr, size_t len, int prot, int flags, int fd, int pad, off_t pos); } + SYS_FREEBSD6_LSEEK = 199 // { off_t freebsd6_lseek(int fd, int pad, off_t offset, int whence); } + SYS_FREEBSD6_TRUNCATE = 200 // { int freebsd6_truncate(char *path, int pad, off_t length); } + SYS_FREEBSD6_FTRUNCATE = 201 // { int freebsd6_ftruncate(int fd, int pad, off_t length); } + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int undelete(char *path); } + SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } + SYS_GETPGID = 207 // { int getpgid(pid_t pid); } + SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { int shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, int shmflg); } + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 233 // { int clock_settime( clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, struct sigevent *evp, int *timerid); } + SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } + SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct itimerspec *value); } + SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } + SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( struct ffclock_estimate *cest); } + SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( struct ffclock_estimate *cest); } + SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,int which, clockid_t *clock_id); } + SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } + SYS_RFORK = 251 // { int rfork(int flags); } + SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_AIO_READ = 255 // { int aio_read(struct aiocb *aiocbp); } + SYS_AIO_WRITE = 256 // { int aio_write(struct aiocb *aiocbp); } + SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } + SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, size_t count); } + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } + SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } + SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } + SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } + SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); } + SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } + SYS_MODNEXT = 300 // { int modnext(int modid); } + SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat *stat); } + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } + SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); } + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_AIO_RETURN = 314 // { int aio_return(struct aiocb *aiocbp); } + SYS_AIO_SUSPEND = 315 // { int aio_suspend( struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } + SYS_AIO_CANCEL = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); } + SYS_AIO_ERROR = 317 // { int aio_error(struct aiocb *aiocbp); } + SYS_OAIO_READ = 318 // { int oaio_read(struct oaiocb *aiocbp); } + SYS_OAIO_WRITE = 319 // { int oaio_write(struct oaiocb *aiocbp); } + SYS_OLIO_LISTIO = 320 // { int olio_listio(int mode, struct oaiocb * const *acb_list, int nent, struct osigevent *sig); } + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } + SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); } + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); } + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } + SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } + SYS_SCHED_YIELD = 331 // { int sched_yield (void); } + SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } + SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } + SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } + SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } + SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, void *data); } + SYS_JAIL = 338 // { int jail(struct jail *jail); } + SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, const sigset_t *set, sigset_t *oset); } + SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } + SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } + SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *timeout); } + SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, siginfo_t *info); } + SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, acl_type_t type); } + SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); } + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_AIO_WAITCOMPLETE = 359 // { int aio_waitcomplete( struct aiocb **aiocbp, struct timespec *timeout); } + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_KQUEUE = 362 // { int kqueue(void); } + SYS_KEVENT = 363 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS___SETUGID = 374 // { int __setugid(int flag); } + SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } + SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } + SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } + SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, struct mac *mac_p); } + SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, struct mac *mac_p); } + SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, struct mac *mac_p); } + SYS_KENV = 390 // { int kenv(int what, const char *name, char *value, int len); } + SYS_LCHFLAGS = 391 // { int lchflags(const char *path, u_long flags); } + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, int count); } + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } + SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, int call, void *arg); } + SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, long bufsize, int flags); } + SYS_STATFS = 396 // { int statfs(char *path, struct statfs *buf); } + SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } + SYS_KSEM_CLOSE = 400 // { int ksem_close(semid_t id); } + SYS_KSEM_POST = 401 // { int ksem_post(semid_t id); } + SYS_KSEM_WAIT = 402 // { int ksem_wait(semid_t id); } + SYS_KSEM_TRYWAIT = 403 // { int ksem_trywait(semid_t id); } + SYS_KSEM_INIT = 404 // { int ksem_init(semid_t *idp, unsigned int value); } + SYS_KSEM_OPEN = 405 // { int ksem_open(semid_t *idp, const char *name, int oflag, mode_t mode, unsigned int value); } + SYS_KSEM_UNLINK = 406 // { int ksem_unlink(const char *name); } + SYS_KSEM_GETVALUE = 407 // { int ksem_getvalue(semid_t id, int *val); } + SYS_KSEM_DESTROY = 408 // { int ksem_destroy(semid_t id); } + SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, struct mac *mac_p); } + SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, struct mac *mac_p); } + SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( const char *path, int attrnamespace, const char *attrname); } + SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, char **envv, struct mac *mac_p); } + SYS_SIGACTION = 416 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } + SYS_SIGRETURN = 417 // { int sigreturn( const struct __ucontext *sigcntxp); } + SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 422 // { int setcontext( const struct __ucontext *ucp); } + SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, const struct __ucontext *ucp); } + SYS_SWAPOFF = 424 // { int swapoff(const char *name); } + SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, acl_type_t type); } + SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, acl_type_t type, struct acl *aclp); } + SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, int *sig); } + SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, int flags); } + SYS_THR_EXIT = 431 // { void thr_exit(long *state); } + SYS_THR_SELF = 432 // { int thr_self(long *id); } + SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } + SYS__UMTX_LOCK = 434 // { int _umtx_lock(struct umtx *umtx); } + SYS__UMTX_UNLOCK = 435 // { int _umtx_unlock(struct umtx *umtx); } + SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } + SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_KSEM_TIMEDWAIT = 441 // { int ksem_timedwait(semid_t id, const struct timespec *abstime); } + SYS_THR_SUSPEND = 442 // { int thr_suspend( const struct timespec *timeout); } + SYS_THR_WAKE = 443 // { int thr_wake(long id); } + SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } + SYS_AUDIT = 445 // { int audit(const void *record, u_int length); } + SYS_AUDITON = 446 // { int auditon(int cmd, void *data, u_int length); } + SYS_GETAUID = 447 // { int getauid(uid_t *auid); } + SYS_SETAUID = 448 // { int setauid(uid_t *auid); } + SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } + SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } + SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_AUDITCTL = 453 // { int auditctl(char *path); } + SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, u_long val, void *uaddr1, void *uaddr2); } + SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, int param_size); } + SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } + SYS_KMQ_OPEN = 457 // { int kmq_open(const char *path, int flags, mode_t mode, const struct mq_attr *attr); } + SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, const struct mq_attr *attr, struct mq_attr *oattr); } + SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } + SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, const char *msg_ptr, size_t msg_len,unsigned msg_prio, const struct timespec *abs_timeout);} + SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, const struct sigevent *sigev); } + SYS_KMQ_UNLINK = 462 // { int kmq_unlink(const char *path); } + SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } + SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } + SYS_AIO_FSYNC = 465 // { int aio_fsync(int op, struct aiocb *aiocbp); } + SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, lwpid_t lwpid, struct rtprio *rtp); } + SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } + SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr * from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); } + SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, size_t nbyte, off_t offset); } + SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, size_t nbyte, off_t offset); } + SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); } + SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, int whence); } + SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } + SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } + SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } + SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, mode_t mode); } + SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } + SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } + SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, cpusetid_t setid); } + SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, cpuwhich_t which, id_t id, cpusetid_t *setid); } + SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, cpuset_t *mask); } + SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, const cpuset_t *mask); } + SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, int flag); } + SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, gid_t gid, int flag); } + SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, char **envv); } + SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, struct stat *buf, int flag); } + SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, struct timeval *times); } + SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flag); } + SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } + SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, mode_t mode); } + SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, size_t bufsize); } + SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, char *new); } + SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, char *path2); } + SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } + SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } + SYS_GSSD_SYSCALL = 505 // { int gssd_syscall(char *path); } + SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, unsigned int iovcnt, int flags); } + SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } + SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } + SYS___SEMCTL = 510 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_MSGCTL = 511 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SHMCTL = 512 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } + SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, int fd, cap_rights_t *rightsp); } + SYS_CAP_ENTER = 516 // { int cap_enter(void); } + SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } + SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } + SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } + SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } + SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *sm); } + SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, size_t namelen); } + SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } + SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } + SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, off_t offset, off_t len); } + SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, off_t len, int advice); } + SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, int *status, int options, struct __wrusage *wrusage, siginfo_t *info); } + SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, cap_rights_t *rightsp); } + SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, const u_long *cmds, size_t ncmds); } + SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, u_long *cmds, size_t maxcmds); } + SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, uint32_t fcntlrights); } + SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, uint32_t *fcntlrightsp); } + SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, int namelen); } + SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, int namelen); } + SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, u_long flags, int atflag); } + SYS_ACCEPT4 = 541 // { int accept4(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen, int flags); } + SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } + SYS_AIO_MLOCK = 543 // { int aio_mlock(struct aiocb *aiocbp); } + SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, int com, void *data); } + SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *set); } + SYS_FUTIMENS = 546 // { int futimens(int fd, struct timespec *times); } + SYS_UTIMENSAT = 547 // { int utimensat(int fd, char *path, struct timespec *times, int flag); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go new file mode 100644 index 000000000..9f21e9550 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go @@ -0,0 +1,395 @@ +// go run mksysnum.go https://svn.freebsd.org/base/stable/10/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,freebsd + +package unix + +const ( + // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int + SYS_EXIT = 1 // { void sys_exit(int rval); } exit \ + SYS_FORK = 2 // { int fork(void); } + SYS_READ = 3 // { ssize_t read(int fd, void *buf, \ + SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, \ + SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } + SYS_CLOSE = 6 // { int close(int fd); } + SYS_WAIT4 = 7 // { int wait4(int pid, int *status, \ + SYS_LINK = 9 // { int link(char *path, char *link); } + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } + SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } + SYS_OBREAK = 17 // { int obreak(char *nsize); } break \ + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, \ + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } + SYS_SETUID = 23 // { int setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t getuid(void); } + SYS_GETEUID = 25 // { uid_t geteuid(void); } + SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, \ + SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, \ + SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, \ + SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, \ + SYS_ACCEPT = 30 // { int accept(int s, \ + SYS_GETPEERNAME = 31 // { int getpeername(int fdes, \ + SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, \ + SYS_ACCESS = 33 // { int access(char *path, int amode); } + SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { int sync(void); } + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(u_int fd); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, \ + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, \ + SYS_GETGID = 47 // { gid_t getgid(void); } + SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int \ + SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } + SYS_ACCT = 51 // { int acct(char *path); } + SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, \ + SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, \ + SYS_REBOOT = 55 // { int reboot(int opt); } + SYS_REVOKE = 56 // { int revoke(char *path); } + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, \ + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, \ + SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args \ + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, \ + SYS_VFORK = 66 // { int vfork(void); } + SYS_SBRK = 69 // { int sbrk(int incr); } + SYS_SSTK = 70 // { int sstk(int incr); } + SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise \ + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, \ + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, \ + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \ + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, \ + SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, \ + SYS_GETPGRP = 81 // { int getpgrp(void); } + SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } + SYS_SETITIMER = 83 // { int setitimer(u_int which, struct \ + SYS_SWAPON = 85 // { int swapon(char *name); } + SYS_GETITIMER = 86 // { int getitimer(u_int which, \ + SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } + SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } + SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } + SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, \ + SYS_FSYNC = 95 // { int fsync(int fd); } + SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, \ + SYS_SOCKET = 97 // { int socket(int domain, int type, \ + SYS_CONNECT = 98 // { int connect(int s, caddr_t name, \ + SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } + SYS_BIND = 104 // { int bind(int s, caddr_t name, \ + SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \ + SYS_LISTEN = 106 // { int listen(int s, int backlog); } + SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \ + SYS_GETRUSAGE = 117 // { int getrusage(int who, \ + SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \ + SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, \ + SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \ + SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \ + SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } + SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } + SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } + SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } + SYS_RENAME = 128 // { int rename(char *from, char *to); } + SYS_FLOCK = 131 // { int flock(int fd, int how); } + SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } + SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, \ + SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, \ + SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } + SYS_RMDIR = 137 // { int rmdir(char *path); } + SYS_UTIMES = 138 // { int utimes(char *path, \ + SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \ + SYS_SETSID = 147 // { int setsid(void); } + SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \ + SYS_NLM_SYSCALL = 154 // { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); } + SYS_NFSSVC = 155 // { int nfssvc(int flag, caddr_t argp); } + SYS_LGETFH = 160 // { int lgetfh(char *fname, \ + SYS_GETFH = 161 // { int getfh(char *fname, \ + SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } + SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \ + SYS_SEMSYS = 169 // { int semsys(int which, int a2, int a3, \ + SYS_MSGSYS = 170 // { int msgsys(int which, int a2, int a3, \ + SYS_SHMSYS = 171 // { int shmsys(int which, int a2, int a3, \ + SYS_SETFIB = 175 // { int setfib(int fibnum); } + SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } + SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } + SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } + SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, \ + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \ + SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, \ + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, \ + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int undelete(char *path); } + SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } + SYS_GETPGID = 207 // { int getpgid(pid_t pid); } + SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, \ + SYS_SEMGET = 221 // { int semget(key_t key, int nsems, \ + SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, \ + SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, \ + SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, \ + SYS_SHMAT = 228 // { int shmat(int shmid, const void *shmaddr, \ + SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, \ + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \ + SYS_CLOCK_SETTIME = 233 // { int clock_settime( \ + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \ + SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, \ + SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } + SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, \ + SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct \ + SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \ + SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } + SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( \ + SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( \ + SYS_CLOCK_NANOSLEEP = 244 // { int clock_nanosleep(clockid_t clock_id, \ + SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,\ + SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, \ + SYS_RFORK = 251 // { int rfork(int flags); } + SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, \ + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_AIO_READ = 255 // { int aio_read(struct aiocb *aiocbp); } + SYS_AIO_WRITE = 256 // { int aio_write(struct aiocb *aiocbp); } + SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, \ + SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, \ + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, \ + SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } + SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } + SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } + SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \ + SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \ + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, \ + SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, \ + SYS_MODNEXT = 300 // { int modnext(int modid); } + SYS_MODSTAT = 301 // { int modstat(int modid, \ + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } + SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct \ + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, \ + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, \ + SYS_AIO_RETURN = 314 // { ssize_t aio_return(struct aiocb *aiocbp); } + SYS_AIO_SUSPEND = 315 // { int aio_suspend( \ + SYS_AIO_CANCEL = 316 // { int aio_cancel(int fd, \ + SYS_AIO_ERROR = 317 // { int aio_error(struct aiocb *aiocbp); } + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } + SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, \ + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct \ + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int \ + SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } + SYS_SCHED_YIELD = 331 // { int sched_yield (void); } + SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } + SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } + SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, \ + SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } + SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, \ + SYS_JAIL = 338 // { int jail(struct jail *jail); } + SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, \ + SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } + SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } + SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, \ + SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, \ + SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \ + SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \ + SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, \ + SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, \ + SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \ + SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, \ + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \ + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, \ + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \ + SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( \ + SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( \ + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \ + SYS_AIO_WAITCOMPLETE = 359 // { ssize_t aio_waitcomplete( \ + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \ + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \ + SYS_KQUEUE = 362 // { int kqueue(void); } + SYS_KEVENT = 363 // { int kevent(int fd, \ + SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, \ + SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, \ + SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, \ + SYS___SETUGID = 374 // { int __setugid(int flag); } + SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } + SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, \ + SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } + SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } + SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, \ + SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, \ + SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, \ + SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, \ + SYS_KENV = 390 // { int kenv(int what, const char *name, \ + SYS_LCHFLAGS = 391 // { int lchflags(const char *path, \ + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, \ + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, \ + SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, \ + SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, \ + SYS_STATFS = 396 // { int statfs(char *path, \ + SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, \ + SYS_KSEM_CLOSE = 400 // { int ksem_close(semid_t id); } + SYS_KSEM_POST = 401 // { int ksem_post(semid_t id); } + SYS_KSEM_WAIT = 402 // { int ksem_wait(semid_t id); } + SYS_KSEM_TRYWAIT = 403 // { int ksem_trywait(semid_t id); } + SYS_KSEM_INIT = 404 // { int ksem_init(semid_t *idp, \ + SYS_KSEM_OPEN = 405 // { int ksem_open(semid_t *idp, \ + SYS_KSEM_UNLINK = 406 // { int ksem_unlink(const char *name); } + SYS_KSEM_GETVALUE = 407 // { int ksem_getvalue(semid_t id, int *val); } + SYS_KSEM_DESTROY = 408 // { int ksem_destroy(semid_t id); } + SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, \ + SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, \ + SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, \ + SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( \ + SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( \ + SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( \ + SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, \ + SYS_SIGACTION = 416 // { int sigaction(int sig, \ + SYS_SIGRETURN = 417 // { int sigreturn( \ + SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 422 // { int setcontext( \ + SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, \ + SYS_SWAPOFF = 424 // { int swapoff(const char *name); } + SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, \ + SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, \ + SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, \ + SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, \ + SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, \ + SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, \ + SYS_THR_EXIT = 431 // { void thr_exit(long *state); } + SYS_THR_SELF = 432 // { int thr_self(long *id); } + SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } + SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } + SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, \ + SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( \ + SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( \ + SYS_KSEM_TIMEDWAIT = 441 // { int ksem_timedwait(semid_t id, \ + SYS_THR_SUSPEND = 442 // { int thr_suspend( \ + SYS_THR_WAKE = 443 // { int thr_wake(long id); } + SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } + SYS_AUDIT = 445 // { int audit(const void *record, \ + SYS_AUDITON = 446 // { int auditon(int cmd, void *data, \ + SYS_GETAUID = 447 // { int getauid(uid_t *auid); } + SYS_SETAUID = 448 // { int setauid(uid_t *auid); } + SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } + SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } + SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( \ + SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( \ + SYS_AUDITCTL = 453 // { int auditctl(char *path); } + SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, \ + SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, \ + SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } + SYS_KMQ_OPEN = 457 // { int kmq_open(const char *path, int flags, \ + SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, \ + SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, \ + SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, \ + SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, \ + SYS_KMQ_UNLINK = 462 // { int kmq_unlink(const char *path); } + SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } + SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } + SYS_AIO_FSYNC = 465 // { int aio_fsync(int op, struct aiocb *aiocbp); } + SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, \ + SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } + SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, \ + SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \ + SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \ + SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, \ + SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, \ + SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, \ + SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, \ + SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } + SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } + SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } + SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, \ + SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } + SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } + SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \ + SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, \ + SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, \ + SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, \ + SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, \ + SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, \ + SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, \ + SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, \ + SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, \ + SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, \ + SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, \ + SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } + SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, \ + SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, \ + SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, \ + SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, \ + SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, \ + SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } + SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } + SYS_GSSD_SYSCALL = 505 // { int gssd_syscall(char *path); } + SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, \ + SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, \ + SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } + SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } + SYS___SEMCTL = 510 // { int __semctl(int semid, int semnum, \ + SYS_MSGCTL = 511 // { int msgctl(int msqid, int cmd, \ + SYS_SHMCTL = 512 // { int shmctl(int shmid, int cmd, \ + SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } + SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, \ + SYS_CAP_ENTER = 516 // { int cap_enter(void); } + SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } + SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } + SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } + SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } + SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, \ + SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, \ + SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } + SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, \ + SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, \ + SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, \ + SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, \ + SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, \ + SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, \ + SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, \ + SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, \ + SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, \ + SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, \ + SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, \ + SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, \ + SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, \ + SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, \ + SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, \ + SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, \ + SYS_ACCEPT4 = 541 // { int accept4(int s, \ + SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } + SYS_AIO_MLOCK = 543 // { int aio_mlock(struct aiocb *aiocbp); } + SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, \ + SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \ + SYS_FUTIMENS = 546 // { int futimens(int fd, \ + SYS_UTIMENSAT = 547 // { int utimensat(int fd, \ + SYS_NUMA_GETAFFINITY = 548 // { int numa_getaffinity(cpuwhich_t which, \ + SYS_NUMA_SETAFFINITY = 549 // { int numa_setaffinity(cpuwhich_t which, \ + SYS_FDATASYNC = 550 // { int fdatasync(int fd); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go new file mode 100644 index 000000000..8d17873de --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go @@ -0,0 +1,392 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include -m32 /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,linux + +package unix + +const ( + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAITPID = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_TIME = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_BREAK = 17 + SYS_OLDSTAT = 18 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_UMOUNT = 22 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_STIME = 25 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_OLDFSTAT = 28 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_STTY = 31 + SYS_GTTY = 32 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_FTIME = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_PROF = 44 + SYS_BRK = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_SIGNAL = 48 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_LOCK = 53 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_MPX = 56 + SYS_SETPGID = 57 + SYS_ULIMIT = 58 + SYS_OLDOLDUNAME = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SGETMASK = 68 + SYS_SSETMASK = 69 + SYS_SETREUID = 70 + SYS_SETREGID = 71 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRLIMIT = 76 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_GETGROUPS = 80 + SYS_SETGROUPS = 81 + SYS_SELECT = 82 + SYS_SYMLINK = 83 + SYS_OLDLSTAT = 84 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_READDIR = 89 + SYS_MMAP = 90 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_FCHOWN = 95 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_PROFIL = 98 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_IOPERM = 101 + SYS_SOCKETCALL = 102 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_OLDUNAME = 109 + SYS_IOPL = 110 + SYS_VHANGUP = 111 + SYS_IDLE = 112 + SYS_VM86OLD = 113 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_IPC = 117 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_MODIFY_LDT = 123 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_CREATE_MODULE = 127 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_GET_KERNEL_SYMS = 130 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_AFS_SYSCALL = 137 + SYS_SETFSUID = 138 + SYS_SETFSGID = 139 + SYS__LLSEEK = 140 + SYS_GETDENTS = 141 + SYS__NEWSELECT = 142 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_SETRESUID = 164 + SYS_GETRESUID = 165 + SYS_VM86 = 166 + SYS_QUERY_MODULE = 167 + SYS_POLL = 168 + SYS_NFSSERVCTL = 169 + SYS_SETRESGID = 170 + SYS_GETRESGID = 171 + SYS_PRCTL = 172 + SYS_RT_SIGRETURN = 173 + SYS_RT_SIGACTION = 174 + SYS_RT_SIGPROCMASK = 175 + SYS_RT_SIGPENDING = 176 + SYS_RT_SIGTIMEDWAIT = 177 + SYS_RT_SIGQUEUEINFO = 178 + SYS_RT_SIGSUSPEND = 179 + SYS_PREAD64 = 180 + SYS_PWRITE64 = 181 + SYS_CHOWN = 182 + SYS_GETCWD = 183 + SYS_CAPGET = 184 + SYS_CAPSET = 185 + SYS_SIGALTSTACK = 186 + SYS_SENDFILE = 187 + SYS_GETPMSG = 188 + SYS_PUTPMSG = 189 + SYS_VFORK = 190 + SYS_UGETRLIMIT = 191 + SYS_MMAP2 = 192 + SYS_TRUNCATE64 = 193 + SYS_FTRUNCATE64 = 194 + SYS_STAT64 = 195 + SYS_LSTAT64 = 196 + SYS_FSTAT64 = 197 + SYS_LCHOWN32 = 198 + SYS_GETUID32 = 199 + SYS_GETGID32 = 200 + SYS_GETEUID32 = 201 + SYS_GETEGID32 = 202 + SYS_SETREUID32 = 203 + SYS_SETREGID32 = 204 + SYS_GETGROUPS32 = 205 + SYS_SETGROUPS32 = 206 + SYS_FCHOWN32 = 207 + SYS_SETRESUID32 = 208 + SYS_GETRESUID32 = 209 + SYS_SETRESGID32 = 210 + SYS_GETRESGID32 = 211 + SYS_CHOWN32 = 212 + SYS_SETUID32 = 213 + SYS_SETGID32 = 214 + SYS_SETFSUID32 = 215 + SYS_SETFSGID32 = 216 + SYS_PIVOT_ROOT = 217 + SYS_MINCORE = 218 + SYS_MADVISE = 219 + SYS_GETDENTS64 = 220 + SYS_FCNTL64 = 221 + SYS_GETTID = 224 + SYS_READAHEAD = 225 + SYS_SETXATTR = 226 + SYS_LSETXATTR = 227 + SYS_FSETXATTR = 228 + SYS_GETXATTR = 229 + SYS_LGETXATTR = 230 + SYS_FGETXATTR = 231 + SYS_LISTXATTR = 232 + SYS_LLISTXATTR = 233 + SYS_FLISTXATTR = 234 + SYS_REMOVEXATTR = 235 + SYS_LREMOVEXATTR = 236 + SYS_FREMOVEXATTR = 237 + SYS_TKILL = 238 + SYS_SENDFILE64 = 239 + SYS_FUTEX = 240 + SYS_SCHED_SETAFFINITY = 241 + SYS_SCHED_GETAFFINITY = 242 + SYS_SET_THREAD_AREA = 243 + SYS_GET_THREAD_AREA = 244 + SYS_IO_SETUP = 245 + SYS_IO_DESTROY = 246 + SYS_IO_GETEVENTS = 247 + SYS_IO_SUBMIT = 248 + SYS_IO_CANCEL = 249 + SYS_FADVISE64 = 250 + SYS_EXIT_GROUP = 252 + SYS_LOOKUP_DCOOKIE = 253 + SYS_EPOLL_CREATE = 254 + SYS_EPOLL_CTL = 255 + SYS_EPOLL_WAIT = 256 + SYS_REMAP_FILE_PAGES = 257 + SYS_SET_TID_ADDRESS = 258 + SYS_TIMER_CREATE = 259 + SYS_TIMER_SETTIME = 260 + SYS_TIMER_GETTIME = 261 + SYS_TIMER_GETOVERRUN = 262 + SYS_TIMER_DELETE = 263 + SYS_CLOCK_SETTIME = 264 + SYS_CLOCK_GETTIME = 265 + SYS_CLOCK_GETRES = 266 + SYS_CLOCK_NANOSLEEP = 267 + SYS_STATFS64 = 268 + SYS_FSTATFS64 = 269 + SYS_TGKILL = 270 + SYS_UTIMES = 271 + SYS_FADVISE64_64 = 272 + SYS_VSERVER = 273 + SYS_MBIND = 274 + SYS_GET_MEMPOLICY = 275 + SYS_SET_MEMPOLICY = 276 + SYS_MQ_OPEN = 277 + SYS_MQ_UNLINK = 278 + SYS_MQ_TIMEDSEND = 279 + SYS_MQ_TIMEDRECEIVE = 280 + SYS_MQ_NOTIFY = 281 + SYS_MQ_GETSETATTR = 282 + SYS_KEXEC_LOAD = 283 + SYS_WAITID = 284 + SYS_ADD_KEY = 286 + SYS_REQUEST_KEY = 287 + SYS_KEYCTL = 288 + SYS_IOPRIO_SET = 289 + SYS_IOPRIO_GET = 290 + SYS_INOTIFY_INIT = 291 + SYS_INOTIFY_ADD_WATCH = 292 + SYS_INOTIFY_RM_WATCH = 293 + SYS_MIGRATE_PAGES = 294 + SYS_OPENAT = 295 + SYS_MKDIRAT = 296 + SYS_MKNODAT = 297 + SYS_FCHOWNAT = 298 + SYS_FUTIMESAT = 299 + SYS_FSTATAT64 = 300 + SYS_UNLINKAT = 301 + SYS_RENAMEAT = 302 + SYS_LINKAT = 303 + SYS_SYMLINKAT = 304 + SYS_READLINKAT = 305 + SYS_FCHMODAT = 306 + SYS_FACCESSAT = 307 + SYS_PSELECT6 = 308 + SYS_PPOLL = 309 + SYS_UNSHARE = 310 + SYS_SET_ROBUST_LIST = 311 + SYS_GET_ROBUST_LIST = 312 + SYS_SPLICE = 313 + SYS_SYNC_FILE_RANGE = 314 + SYS_TEE = 315 + SYS_VMSPLICE = 316 + SYS_MOVE_PAGES = 317 + SYS_GETCPU = 318 + SYS_EPOLL_PWAIT = 319 + SYS_UTIMENSAT = 320 + SYS_SIGNALFD = 321 + SYS_TIMERFD_CREATE = 322 + SYS_EVENTFD = 323 + SYS_FALLOCATE = 324 + SYS_TIMERFD_SETTIME = 325 + SYS_TIMERFD_GETTIME = 326 + SYS_SIGNALFD4 = 327 + SYS_EVENTFD2 = 328 + SYS_EPOLL_CREATE1 = 329 + SYS_DUP3 = 330 + SYS_PIPE2 = 331 + SYS_INOTIFY_INIT1 = 332 + SYS_PREADV = 333 + SYS_PWRITEV = 334 + SYS_RT_TGSIGQUEUEINFO = 335 + SYS_PERF_EVENT_OPEN = 336 + SYS_RECVMMSG = 337 + SYS_FANOTIFY_INIT = 338 + SYS_FANOTIFY_MARK = 339 + SYS_PRLIMIT64 = 340 + SYS_NAME_TO_HANDLE_AT = 341 + SYS_OPEN_BY_HANDLE_AT = 342 + SYS_CLOCK_ADJTIME = 343 + SYS_SYNCFS = 344 + SYS_SENDMMSG = 345 + SYS_SETNS = 346 + SYS_PROCESS_VM_READV = 347 + SYS_PROCESS_VM_WRITEV = 348 + SYS_KCMP = 349 + SYS_FINIT_MODULE = 350 + SYS_SCHED_SETATTR = 351 + SYS_SCHED_GETATTR = 352 + SYS_RENAMEAT2 = 353 + SYS_SECCOMP = 354 + SYS_GETRANDOM = 355 + SYS_MEMFD_CREATE = 356 + SYS_BPF = 357 + SYS_EXECVEAT = 358 + SYS_SOCKET = 359 + SYS_SOCKETPAIR = 360 + SYS_BIND = 361 + SYS_CONNECT = 362 + SYS_LISTEN = 363 + SYS_ACCEPT4 = 364 + SYS_GETSOCKOPT = 365 + SYS_SETSOCKOPT = 366 + SYS_GETSOCKNAME = 367 + SYS_GETPEERNAME = 368 + SYS_SENDTO = 369 + SYS_SENDMSG = 370 + SYS_RECVFROM = 371 + SYS_RECVMSG = 372 + SYS_SHUTDOWN = 373 + SYS_USERFAULTFD = 374 + SYS_MEMBARRIER = 375 + SYS_MLOCK2 = 376 + SYS_COPY_FILE_RANGE = 377 + SYS_PREADV2 = 378 + SYS_PWRITEV2 = 379 + SYS_PKEY_MPROTECT = 380 + SYS_PKEY_ALLOC = 381 + SYS_PKEY_FREE = 382 + SYS_STATX = 383 + SYS_ARCH_PRCTL = 384 + SYS_IO_PGETEVENTS = 385 + SYS_RSEQ = 386 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go new file mode 100644 index 000000000..b3d8ad79d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go @@ -0,0 +1,344 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include -m64 /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,linux + +package unix + +const ( + SYS_READ = 0 + SYS_WRITE = 1 + SYS_OPEN = 2 + SYS_CLOSE = 3 + SYS_STAT = 4 + SYS_FSTAT = 5 + SYS_LSTAT = 6 + SYS_POLL = 7 + SYS_LSEEK = 8 + SYS_MMAP = 9 + SYS_MPROTECT = 10 + SYS_MUNMAP = 11 + SYS_BRK = 12 + SYS_RT_SIGACTION = 13 + SYS_RT_SIGPROCMASK = 14 + SYS_RT_SIGRETURN = 15 + SYS_IOCTL = 16 + SYS_PREAD64 = 17 + SYS_PWRITE64 = 18 + SYS_READV = 19 + SYS_WRITEV = 20 + SYS_ACCESS = 21 + SYS_PIPE = 22 + SYS_SELECT = 23 + SYS_SCHED_YIELD = 24 + SYS_MREMAP = 25 + SYS_MSYNC = 26 + SYS_MINCORE = 27 + SYS_MADVISE = 28 + SYS_SHMGET = 29 + SYS_SHMAT = 30 + SYS_SHMCTL = 31 + SYS_DUP = 32 + SYS_DUP2 = 33 + SYS_PAUSE = 34 + SYS_NANOSLEEP = 35 + SYS_GETITIMER = 36 + SYS_ALARM = 37 + SYS_SETITIMER = 38 + SYS_GETPID = 39 + SYS_SENDFILE = 40 + SYS_SOCKET = 41 + SYS_CONNECT = 42 + SYS_ACCEPT = 43 + SYS_SENDTO = 44 + SYS_RECVFROM = 45 + SYS_SENDMSG = 46 + SYS_RECVMSG = 47 + SYS_SHUTDOWN = 48 + SYS_BIND = 49 + SYS_LISTEN = 50 + SYS_GETSOCKNAME = 51 + SYS_GETPEERNAME = 52 + SYS_SOCKETPAIR = 53 + SYS_SETSOCKOPT = 54 + SYS_GETSOCKOPT = 55 + SYS_CLONE = 56 + SYS_FORK = 57 + SYS_VFORK = 58 + SYS_EXECVE = 59 + SYS_EXIT = 60 + SYS_WAIT4 = 61 + SYS_KILL = 62 + SYS_UNAME = 63 + SYS_SEMGET = 64 + SYS_SEMOP = 65 + SYS_SEMCTL = 66 + SYS_SHMDT = 67 + SYS_MSGGET = 68 + SYS_MSGSND = 69 + SYS_MSGRCV = 70 + SYS_MSGCTL = 71 + SYS_FCNTL = 72 + SYS_FLOCK = 73 + SYS_FSYNC = 74 + SYS_FDATASYNC = 75 + SYS_TRUNCATE = 76 + SYS_FTRUNCATE = 77 + SYS_GETDENTS = 78 + SYS_GETCWD = 79 + SYS_CHDIR = 80 + SYS_FCHDIR = 81 + SYS_RENAME = 82 + SYS_MKDIR = 83 + SYS_RMDIR = 84 + SYS_CREAT = 85 + SYS_LINK = 86 + SYS_UNLINK = 87 + SYS_SYMLINK = 88 + SYS_READLINK = 89 + SYS_CHMOD = 90 + SYS_FCHMOD = 91 + SYS_CHOWN = 92 + SYS_FCHOWN = 93 + SYS_LCHOWN = 94 + SYS_UMASK = 95 + SYS_GETTIMEOFDAY = 96 + SYS_GETRLIMIT = 97 + SYS_GETRUSAGE = 98 + SYS_SYSINFO = 99 + SYS_TIMES = 100 + SYS_PTRACE = 101 + SYS_GETUID = 102 + SYS_SYSLOG = 103 + SYS_GETGID = 104 + SYS_SETUID = 105 + SYS_SETGID = 106 + SYS_GETEUID = 107 + SYS_GETEGID = 108 + SYS_SETPGID = 109 + SYS_GETPPID = 110 + SYS_GETPGRP = 111 + SYS_SETSID = 112 + SYS_SETREUID = 113 + SYS_SETREGID = 114 + SYS_GETGROUPS = 115 + SYS_SETGROUPS = 116 + SYS_SETRESUID = 117 + SYS_GETRESUID = 118 + SYS_SETRESGID = 119 + SYS_GETRESGID = 120 + SYS_GETPGID = 121 + SYS_SETFSUID = 122 + SYS_SETFSGID = 123 + SYS_GETSID = 124 + SYS_CAPGET = 125 + SYS_CAPSET = 126 + SYS_RT_SIGPENDING = 127 + SYS_RT_SIGTIMEDWAIT = 128 + SYS_RT_SIGQUEUEINFO = 129 + SYS_RT_SIGSUSPEND = 130 + SYS_SIGALTSTACK = 131 + SYS_UTIME = 132 + SYS_MKNOD = 133 + SYS_USELIB = 134 + SYS_PERSONALITY = 135 + SYS_USTAT = 136 + SYS_STATFS = 137 + SYS_FSTATFS = 138 + SYS_SYSFS = 139 + SYS_GETPRIORITY = 140 + SYS_SETPRIORITY = 141 + SYS_SCHED_SETPARAM = 142 + SYS_SCHED_GETPARAM = 143 + SYS_SCHED_SETSCHEDULER = 144 + SYS_SCHED_GETSCHEDULER = 145 + SYS_SCHED_GET_PRIORITY_MAX = 146 + SYS_SCHED_GET_PRIORITY_MIN = 147 + SYS_SCHED_RR_GET_INTERVAL = 148 + SYS_MLOCK = 149 + SYS_MUNLOCK = 150 + SYS_MLOCKALL = 151 + SYS_MUNLOCKALL = 152 + SYS_VHANGUP = 153 + SYS_MODIFY_LDT = 154 + SYS_PIVOT_ROOT = 155 + SYS__SYSCTL = 156 + SYS_PRCTL = 157 + SYS_ARCH_PRCTL = 158 + SYS_ADJTIMEX = 159 + SYS_SETRLIMIT = 160 + SYS_CHROOT = 161 + SYS_SYNC = 162 + SYS_ACCT = 163 + SYS_SETTIMEOFDAY = 164 + SYS_MOUNT = 165 + SYS_UMOUNT2 = 166 + SYS_SWAPON = 167 + SYS_SWAPOFF = 168 + SYS_REBOOT = 169 + SYS_SETHOSTNAME = 170 + SYS_SETDOMAINNAME = 171 + SYS_IOPL = 172 + SYS_IOPERM = 173 + SYS_CREATE_MODULE = 174 + SYS_INIT_MODULE = 175 + SYS_DELETE_MODULE = 176 + SYS_GET_KERNEL_SYMS = 177 + SYS_QUERY_MODULE = 178 + SYS_QUOTACTL = 179 + SYS_NFSSERVCTL = 180 + SYS_GETPMSG = 181 + SYS_PUTPMSG = 182 + SYS_AFS_SYSCALL = 183 + SYS_TUXCALL = 184 + SYS_SECURITY = 185 + SYS_GETTID = 186 + SYS_READAHEAD = 187 + SYS_SETXATTR = 188 + SYS_LSETXATTR = 189 + SYS_FSETXATTR = 190 + SYS_GETXATTR = 191 + SYS_LGETXATTR = 192 + SYS_FGETXATTR = 193 + SYS_LISTXATTR = 194 + SYS_LLISTXATTR = 195 + SYS_FLISTXATTR = 196 + SYS_REMOVEXATTR = 197 + SYS_LREMOVEXATTR = 198 + SYS_FREMOVEXATTR = 199 + SYS_TKILL = 200 + SYS_TIME = 201 + SYS_FUTEX = 202 + SYS_SCHED_SETAFFINITY = 203 + SYS_SCHED_GETAFFINITY = 204 + SYS_SET_THREAD_AREA = 205 + SYS_IO_SETUP = 206 + SYS_IO_DESTROY = 207 + SYS_IO_GETEVENTS = 208 + SYS_IO_SUBMIT = 209 + SYS_IO_CANCEL = 210 + SYS_GET_THREAD_AREA = 211 + SYS_LOOKUP_DCOOKIE = 212 + SYS_EPOLL_CREATE = 213 + SYS_EPOLL_CTL_OLD = 214 + SYS_EPOLL_WAIT_OLD = 215 + SYS_REMAP_FILE_PAGES = 216 + SYS_GETDENTS64 = 217 + SYS_SET_TID_ADDRESS = 218 + SYS_RESTART_SYSCALL = 219 + SYS_SEMTIMEDOP = 220 + SYS_FADVISE64 = 221 + SYS_TIMER_CREATE = 222 + SYS_TIMER_SETTIME = 223 + SYS_TIMER_GETTIME = 224 + SYS_TIMER_GETOVERRUN = 225 + SYS_TIMER_DELETE = 226 + SYS_CLOCK_SETTIME = 227 + SYS_CLOCK_GETTIME = 228 + SYS_CLOCK_GETRES = 229 + SYS_CLOCK_NANOSLEEP = 230 + SYS_EXIT_GROUP = 231 + SYS_EPOLL_WAIT = 232 + SYS_EPOLL_CTL = 233 + SYS_TGKILL = 234 + SYS_UTIMES = 235 + SYS_VSERVER = 236 + SYS_MBIND = 237 + SYS_SET_MEMPOLICY = 238 + SYS_GET_MEMPOLICY = 239 + SYS_MQ_OPEN = 240 + SYS_MQ_UNLINK = 241 + SYS_MQ_TIMEDSEND = 242 + SYS_MQ_TIMEDRECEIVE = 243 + SYS_MQ_NOTIFY = 244 + SYS_MQ_GETSETATTR = 245 + SYS_KEXEC_LOAD = 246 + SYS_WAITID = 247 + SYS_ADD_KEY = 248 + SYS_REQUEST_KEY = 249 + SYS_KEYCTL = 250 + SYS_IOPRIO_SET = 251 + SYS_IOPRIO_GET = 252 + SYS_INOTIFY_INIT = 253 + SYS_INOTIFY_ADD_WATCH = 254 + SYS_INOTIFY_RM_WATCH = 255 + SYS_MIGRATE_PAGES = 256 + SYS_OPENAT = 257 + SYS_MKDIRAT = 258 + SYS_MKNODAT = 259 + SYS_FCHOWNAT = 260 + SYS_FUTIMESAT = 261 + SYS_NEWFSTATAT = 262 + SYS_UNLINKAT = 263 + SYS_RENAMEAT = 264 + SYS_LINKAT = 265 + SYS_SYMLINKAT = 266 + SYS_READLINKAT = 267 + SYS_FCHMODAT = 268 + SYS_FACCESSAT = 269 + SYS_PSELECT6 = 270 + SYS_PPOLL = 271 + SYS_UNSHARE = 272 + SYS_SET_ROBUST_LIST = 273 + SYS_GET_ROBUST_LIST = 274 + SYS_SPLICE = 275 + SYS_TEE = 276 + SYS_SYNC_FILE_RANGE = 277 + SYS_VMSPLICE = 278 + SYS_MOVE_PAGES = 279 + SYS_UTIMENSAT = 280 + SYS_EPOLL_PWAIT = 281 + SYS_SIGNALFD = 282 + SYS_TIMERFD_CREATE = 283 + SYS_EVENTFD = 284 + SYS_FALLOCATE = 285 + SYS_TIMERFD_SETTIME = 286 + SYS_TIMERFD_GETTIME = 287 + SYS_ACCEPT4 = 288 + SYS_SIGNALFD4 = 289 + SYS_EVENTFD2 = 290 + SYS_EPOLL_CREATE1 = 291 + SYS_DUP3 = 292 + SYS_PIPE2 = 293 + SYS_INOTIFY_INIT1 = 294 + SYS_PREADV = 295 + SYS_PWRITEV = 296 + SYS_RT_TGSIGQUEUEINFO = 297 + SYS_PERF_EVENT_OPEN = 298 + SYS_RECVMMSG = 299 + SYS_FANOTIFY_INIT = 300 + SYS_FANOTIFY_MARK = 301 + SYS_PRLIMIT64 = 302 + SYS_NAME_TO_HANDLE_AT = 303 + SYS_OPEN_BY_HANDLE_AT = 304 + SYS_CLOCK_ADJTIME = 305 + SYS_SYNCFS = 306 + SYS_SENDMMSG = 307 + SYS_SETNS = 308 + SYS_GETCPU = 309 + SYS_PROCESS_VM_READV = 310 + SYS_PROCESS_VM_WRITEV = 311 + SYS_KCMP = 312 + SYS_FINIT_MODULE = 313 + SYS_SCHED_SETATTR = 314 + SYS_SCHED_GETATTR = 315 + SYS_RENAMEAT2 = 316 + SYS_SECCOMP = 317 + SYS_GETRANDOM = 318 + SYS_MEMFD_CREATE = 319 + SYS_KEXEC_FILE_LOAD = 320 + SYS_BPF = 321 + SYS_EXECVEAT = 322 + SYS_USERFAULTFD = 323 + SYS_MEMBARRIER = 324 + SYS_MLOCK2 = 325 + SYS_COPY_FILE_RANGE = 326 + SYS_PREADV2 = 327 + SYS_PWRITEV2 = 328 + SYS_PKEY_MPROTECT = 329 + SYS_PKEY_ALLOC = 330 + SYS_PKEY_FREE = 331 + SYS_STATX = 332 + SYS_IO_PGETEVENTS = 333 + SYS_RSEQ = 334 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go new file mode 100644 index 000000000..e092822fb --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go @@ -0,0 +1,364 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,linux + +package unix + +const ( + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_PTRACE = 26 + SYS_PAUSE = 29 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_BRK = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_SETPGID = 57 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SETREUID = 70 + SYS_SETREGID = 71 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_GETGROUPS = 80 + SYS_SETGROUPS = 81 + SYS_SYMLINK = 83 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_FCHOWN = 95 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_VHANGUP = 111 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_SETFSUID = 138 + SYS_SETFSGID = 139 + SYS__LLSEEK = 140 + SYS_GETDENTS = 141 + SYS__NEWSELECT = 142 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_SETRESUID = 164 + SYS_GETRESUID = 165 + SYS_POLL = 168 + SYS_NFSSERVCTL = 169 + SYS_SETRESGID = 170 + SYS_GETRESGID = 171 + SYS_PRCTL = 172 + SYS_RT_SIGRETURN = 173 + SYS_RT_SIGACTION = 174 + SYS_RT_SIGPROCMASK = 175 + SYS_RT_SIGPENDING = 176 + SYS_RT_SIGTIMEDWAIT = 177 + SYS_RT_SIGQUEUEINFO = 178 + SYS_RT_SIGSUSPEND = 179 + SYS_PREAD64 = 180 + SYS_PWRITE64 = 181 + SYS_CHOWN = 182 + SYS_GETCWD = 183 + SYS_CAPGET = 184 + SYS_CAPSET = 185 + SYS_SIGALTSTACK = 186 + SYS_SENDFILE = 187 + SYS_VFORK = 190 + SYS_UGETRLIMIT = 191 + SYS_MMAP2 = 192 + SYS_TRUNCATE64 = 193 + SYS_FTRUNCATE64 = 194 + SYS_STAT64 = 195 + SYS_LSTAT64 = 196 + SYS_FSTAT64 = 197 + SYS_LCHOWN32 = 198 + SYS_GETUID32 = 199 + SYS_GETGID32 = 200 + SYS_GETEUID32 = 201 + SYS_GETEGID32 = 202 + SYS_SETREUID32 = 203 + SYS_SETREGID32 = 204 + SYS_GETGROUPS32 = 205 + SYS_SETGROUPS32 = 206 + SYS_FCHOWN32 = 207 + SYS_SETRESUID32 = 208 + SYS_GETRESUID32 = 209 + SYS_SETRESGID32 = 210 + SYS_GETRESGID32 = 211 + SYS_CHOWN32 = 212 + SYS_SETUID32 = 213 + SYS_SETGID32 = 214 + SYS_SETFSUID32 = 215 + SYS_SETFSGID32 = 216 + SYS_GETDENTS64 = 217 + SYS_PIVOT_ROOT = 218 + SYS_MINCORE = 219 + SYS_MADVISE = 220 + SYS_FCNTL64 = 221 + SYS_GETTID = 224 + SYS_READAHEAD = 225 + SYS_SETXATTR = 226 + SYS_LSETXATTR = 227 + SYS_FSETXATTR = 228 + SYS_GETXATTR = 229 + SYS_LGETXATTR = 230 + SYS_FGETXATTR = 231 + SYS_LISTXATTR = 232 + SYS_LLISTXATTR = 233 + SYS_FLISTXATTR = 234 + SYS_REMOVEXATTR = 235 + SYS_LREMOVEXATTR = 236 + SYS_FREMOVEXATTR = 237 + SYS_TKILL = 238 + SYS_SENDFILE64 = 239 + SYS_FUTEX = 240 + SYS_SCHED_SETAFFINITY = 241 + SYS_SCHED_GETAFFINITY = 242 + SYS_IO_SETUP = 243 + SYS_IO_DESTROY = 244 + SYS_IO_GETEVENTS = 245 + SYS_IO_SUBMIT = 246 + SYS_IO_CANCEL = 247 + SYS_EXIT_GROUP = 248 + SYS_LOOKUP_DCOOKIE = 249 + SYS_EPOLL_CREATE = 250 + SYS_EPOLL_CTL = 251 + SYS_EPOLL_WAIT = 252 + SYS_REMAP_FILE_PAGES = 253 + SYS_SET_TID_ADDRESS = 256 + SYS_TIMER_CREATE = 257 + SYS_TIMER_SETTIME = 258 + SYS_TIMER_GETTIME = 259 + SYS_TIMER_GETOVERRUN = 260 + SYS_TIMER_DELETE = 261 + SYS_CLOCK_SETTIME = 262 + SYS_CLOCK_GETTIME = 263 + SYS_CLOCK_GETRES = 264 + SYS_CLOCK_NANOSLEEP = 265 + SYS_STATFS64 = 266 + SYS_FSTATFS64 = 267 + SYS_TGKILL = 268 + SYS_UTIMES = 269 + SYS_ARM_FADVISE64_64 = 270 + SYS_PCICONFIG_IOBASE = 271 + SYS_PCICONFIG_READ = 272 + SYS_PCICONFIG_WRITE = 273 + SYS_MQ_OPEN = 274 + SYS_MQ_UNLINK = 275 + SYS_MQ_TIMEDSEND = 276 + SYS_MQ_TIMEDRECEIVE = 277 + SYS_MQ_NOTIFY = 278 + SYS_MQ_GETSETATTR = 279 + SYS_WAITID = 280 + SYS_SOCKET = 281 + SYS_BIND = 282 + SYS_CONNECT = 283 + SYS_LISTEN = 284 + SYS_ACCEPT = 285 + SYS_GETSOCKNAME = 286 + SYS_GETPEERNAME = 287 + SYS_SOCKETPAIR = 288 + SYS_SEND = 289 + SYS_SENDTO = 290 + SYS_RECV = 291 + SYS_RECVFROM = 292 + SYS_SHUTDOWN = 293 + SYS_SETSOCKOPT = 294 + SYS_GETSOCKOPT = 295 + SYS_SENDMSG = 296 + SYS_RECVMSG = 297 + SYS_SEMOP = 298 + SYS_SEMGET = 299 + SYS_SEMCTL = 300 + SYS_MSGSND = 301 + SYS_MSGRCV = 302 + SYS_MSGGET = 303 + SYS_MSGCTL = 304 + SYS_SHMAT = 305 + SYS_SHMDT = 306 + SYS_SHMGET = 307 + SYS_SHMCTL = 308 + SYS_ADD_KEY = 309 + SYS_REQUEST_KEY = 310 + SYS_KEYCTL = 311 + SYS_SEMTIMEDOP = 312 + SYS_VSERVER = 313 + SYS_IOPRIO_SET = 314 + SYS_IOPRIO_GET = 315 + SYS_INOTIFY_INIT = 316 + SYS_INOTIFY_ADD_WATCH = 317 + SYS_INOTIFY_RM_WATCH = 318 + SYS_MBIND = 319 + SYS_GET_MEMPOLICY = 320 + SYS_SET_MEMPOLICY = 321 + SYS_OPENAT = 322 + SYS_MKDIRAT = 323 + SYS_MKNODAT = 324 + SYS_FCHOWNAT = 325 + SYS_FUTIMESAT = 326 + SYS_FSTATAT64 = 327 + SYS_UNLINKAT = 328 + SYS_RENAMEAT = 329 + SYS_LINKAT = 330 + SYS_SYMLINKAT = 331 + SYS_READLINKAT = 332 + SYS_FCHMODAT = 333 + SYS_FACCESSAT = 334 + SYS_PSELECT6 = 335 + SYS_PPOLL = 336 + SYS_UNSHARE = 337 + SYS_SET_ROBUST_LIST = 338 + SYS_GET_ROBUST_LIST = 339 + SYS_SPLICE = 340 + SYS_ARM_SYNC_FILE_RANGE = 341 + SYS_TEE = 342 + SYS_VMSPLICE = 343 + SYS_MOVE_PAGES = 344 + SYS_GETCPU = 345 + SYS_EPOLL_PWAIT = 346 + SYS_KEXEC_LOAD = 347 + SYS_UTIMENSAT = 348 + SYS_SIGNALFD = 349 + SYS_TIMERFD_CREATE = 350 + SYS_EVENTFD = 351 + SYS_FALLOCATE = 352 + SYS_TIMERFD_SETTIME = 353 + SYS_TIMERFD_GETTIME = 354 + SYS_SIGNALFD4 = 355 + SYS_EVENTFD2 = 356 + SYS_EPOLL_CREATE1 = 357 + SYS_DUP3 = 358 + SYS_PIPE2 = 359 + SYS_INOTIFY_INIT1 = 360 + SYS_PREADV = 361 + SYS_PWRITEV = 362 + SYS_RT_TGSIGQUEUEINFO = 363 + SYS_PERF_EVENT_OPEN = 364 + SYS_RECVMMSG = 365 + SYS_ACCEPT4 = 366 + SYS_FANOTIFY_INIT = 367 + SYS_FANOTIFY_MARK = 368 + SYS_PRLIMIT64 = 369 + SYS_NAME_TO_HANDLE_AT = 370 + SYS_OPEN_BY_HANDLE_AT = 371 + SYS_CLOCK_ADJTIME = 372 + SYS_SYNCFS = 373 + SYS_SENDMMSG = 374 + SYS_SETNS = 375 + SYS_PROCESS_VM_READV = 376 + SYS_PROCESS_VM_WRITEV = 377 + SYS_KCMP = 378 + SYS_FINIT_MODULE = 379 + SYS_SCHED_SETATTR = 380 + SYS_SCHED_GETATTR = 381 + SYS_RENAMEAT2 = 382 + SYS_SECCOMP = 383 + SYS_GETRANDOM = 384 + SYS_MEMFD_CREATE = 385 + SYS_BPF = 386 + SYS_EXECVEAT = 387 + SYS_USERFAULTFD = 388 + SYS_MEMBARRIER = 389 + SYS_MLOCK2 = 390 + SYS_COPY_FILE_RANGE = 391 + SYS_PREADV2 = 392 + SYS_PWRITEV2 = 393 + SYS_PKEY_MPROTECT = 394 + SYS_PKEY_ALLOC = 395 + SYS_PKEY_FREE = 396 + SYS_STATX = 397 + SYS_RSEQ = 398 + SYS_IO_PGETEVENTS = 399 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go new file mode 100644 index 000000000..320696789 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go @@ -0,0 +1,288 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include -fsigned-char /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,linux + +package unix + +const ( + SYS_IO_SETUP = 0 + SYS_IO_DESTROY = 1 + SYS_IO_SUBMIT = 2 + SYS_IO_CANCEL = 3 + SYS_IO_GETEVENTS = 4 + SYS_SETXATTR = 5 + SYS_LSETXATTR = 6 + SYS_FSETXATTR = 7 + SYS_GETXATTR = 8 + SYS_LGETXATTR = 9 + SYS_FGETXATTR = 10 + SYS_LISTXATTR = 11 + SYS_LLISTXATTR = 12 + SYS_FLISTXATTR = 13 + SYS_REMOVEXATTR = 14 + SYS_LREMOVEXATTR = 15 + SYS_FREMOVEXATTR = 16 + SYS_GETCWD = 17 + SYS_LOOKUP_DCOOKIE = 18 + SYS_EVENTFD2 = 19 + SYS_EPOLL_CREATE1 = 20 + SYS_EPOLL_CTL = 21 + SYS_EPOLL_PWAIT = 22 + SYS_DUP = 23 + SYS_DUP3 = 24 + SYS_FCNTL = 25 + SYS_INOTIFY_INIT1 = 26 + SYS_INOTIFY_ADD_WATCH = 27 + SYS_INOTIFY_RM_WATCH = 28 + SYS_IOCTL = 29 + SYS_IOPRIO_SET = 30 + SYS_IOPRIO_GET = 31 + SYS_FLOCK = 32 + SYS_MKNODAT = 33 + SYS_MKDIRAT = 34 + SYS_UNLINKAT = 35 + SYS_SYMLINKAT = 36 + SYS_LINKAT = 37 + SYS_RENAMEAT = 38 + SYS_UMOUNT2 = 39 + SYS_MOUNT = 40 + SYS_PIVOT_ROOT = 41 + SYS_NFSSERVCTL = 42 + SYS_STATFS = 43 + SYS_FSTATFS = 44 + SYS_TRUNCATE = 45 + SYS_FTRUNCATE = 46 + SYS_FALLOCATE = 47 + SYS_FACCESSAT = 48 + SYS_CHDIR = 49 + SYS_FCHDIR = 50 + SYS_CHROOT = 51 + SYS_FCHMOD = 52 + SYS_FCHMODAT = 53 + SYS_FCHOWNAT = 54 + SYS_FCHOWN = 55 + SYS_OPENAT = 56 + SYS_CLOSE = 57 + SYS_VHANGUP = 58 + SYS_PIPE2 = 59 + SYS_QUOTACTL = 60 + SYS_GETDENTS64 = 61 + SYS_LSEEK = 62 + SYS_READ = 63 + SYS_WRITE = 64 + SYS_READV = 65 + SYS_WRITEV = 66 + SYS_PREAD64 = 67 + SYS_PWRITE64 = 68 + SYS_PREADV = 69 + SYS_PWRITEV = 70 + SYS_SENDFILE = 71 + SYS_PSELECT6 = 72 + SYS_PPOLL = 73 + SYS_SIGNALFD4 = 74 + SYS_VMSPLICE = 75 + SYS_SPLICE = 76 + SYS_TEE = 77 + SYS_READLINKAT = 78 + SYS_FSTATAT = 79 + SYS_FSTAT = 80 + SYS_SYNC = 81 + SYS_FSYNC = 82 + SYS_FDATASYNC = 83 + SYS_SYNC_FILE_RANGE = 84 + SYS_TIMERFD_CREATE = 85 + SYS_TIMERFD_SETTIME = 86 + SYS_TIMERFD_GETTIME = 87 + SYS_UTIMENSAT = 88 + SYS_ACCT = 89 + SYS_CAPGET = 90 + SYS_CAPSET = 91 + SYS_PERSONALITY = 92 + SYS_EXIT = 93 + SYS_EXIT_GROUP = 94 + SYS_WAITID = 95 + SYS_SET_TID_ADDRESS = 96 + SYS_UNSHARE = 97 + SYS_FUTEX = 98 + SYS_SET_ROBUST_LIST = 99 + SYS_GET_ROBUST_LIST = 100 + SYS_NANOSLEEP = 101 + SYS_GETITIMER = 102 + SYS_SETITIMER = 103 + SYS_KEXEC_LOAD = 104 + SYS_INIT_MODULE = 105 + SYS_DELETE_MODULE = 106 + SYS_TIMER_CREATE = 107 + SYS_TIMER_GETTIME = 108 + SYS_TIMER_GETOVERRUN = 109 + SYS_TIMER_SETTIME = 110 + SYS_TIMER_DELETE = 111 + SYS_CLOCK_SETTIME = 112 + SYS_CLOCK_GETTIME = 113 + SYS_CLOCK_GETRES = 114 + SYS_CLOCK_NANOSLEEP = 115 + SYS_SYSLOG = 116 + SYS_PTRACE = 117 + SYS_SCHED_SETPARAM = 118 + SYS_SCHED_SETSCHEDULER = 119 + SYS_SCHED_GETSCHEDULER = 120 + SYS_SCHED_GETPARAM = 121 + SYS_SCHED_SETAFFINITY = 122 + SYS_SCHED_GETAFFINITY = 123 + SYS_SCHED_YIELD = 124 + SYS_SCHED_GET_PRIORITY_MAX = 125 + SYS_SCHED_GET_PRIORITY_MIN = 126 + SYS_SCHED_RR_GET_INTERVAL = 127 + SYS_RESTART_SYSCALL = 128 + SYS_KILL = 129 + SYS_TKILL = 130 + SYS_TGKILL = 131 + SYS_SIGALTSTACK = 132 + SYS_RT_SIGSUSPEND = 133 + SYS_RT_SIGACTION = 134 + SYS_RT_SIGPROCMASK = 135 + SYS_RT_SIGPENDING = 136 + SYS_RT_SIGTIMEDWAIT = 137 + SYS_RT_SIGQUEUEINFO = 138 + SYS_RT_SIGRETURN = 139 + SYS_SETPRIORITY = 140 + SYS_GETPRIORITY = 141 + SYS_REBOOT = 142 + SYS_SETREGID = 143 + SYS_SETGID = 144 + SYS_SETREUID = 145 + SYS_SETUID = 146 + SYS_SETRESUID = 147 + SYS_GETRESUID = 148 + SYS_SETRESGID = 149 + SYS_GETRESGID = 150 + SYS_SETFSUID = 151 + SYS_SETFSGID = 152 + SYS_TIMES = 153 + SYS_SETPGID = 154 + SYS_GETPGID = 155 + SYS_GETSID = 156 + SYS_SETSID = 157 + SYS_GETGROUPS = 158 + SYS_SETGROUPS = 159 + SYS_UNAME = 160 + SYS_SETHOSTNAME = 161 + SYS_SETDOMAINNAME = 162 + SYS_GETRLIMIT = 163 + SYS_SETRLIMIT = 164 + SYS_GETRUSAGE = 165 + SYS_UMASK = 166 + SYS_PRCTL = 167 + SYS_GETCPU = 168 + SYS_GETTIMEOFDAY = 169 + SYS_SETTIMEOFDAY = 170 + SYS_ADJTIMEX = 171 + SYS_GETPID = 172 + SYS_GETPPID = 173 + SYS_GETUID = 174 + SYS_GETEUID = 175 + SYS_GETGID = 176 + SYS_GETEGID = 177 + SYS_GETTID = 178 + SYS_SYSINFO = 179 + SYS_MQ_OPEN = 180 + SYS_MQ_UNLINK = 181 + SYS_MQ_TIMEDSEND = 182 + SYS_MQ_TIMEDRECEIVE = 183 + SYS_MQ_NOTIFY = 184 + SYS_MQ_GETSETATTR = 185 + SYS_MSGGET = 186 + SYS_MSGCTL = 187 + SYS_MSGRCV = 188 + SYS_MSGSND = 189 + SYS_SEMGET = 190 + SYS_SEMCTL = 191 + SYS_SEMTIMEDOP = 192 + SYS_SEMOP = 193 + SYS_SHMGET = 194 + SYS_SHMCTL = 195 + SYS_SHMAT = 196 + SYS_SHMDT = 197 + SYS_SOCKET = 198 + SYS_SOCKETPAIR = 199 + SYS_BIND = 200 + SYS_LISTEN = 201 + SYS_ACCEPT = 202 + SYS_CONNECT = 203 + SYS_GETSOCKNAME = 204 + SYS_GETPEERNAME = 205 + SYS_SENDTO = 206 + SYS_RECVFROM = 207 + SYS_SETSOCKOPT = 208 + SYS_GETSOCKOPT = 209 + SYS_SHUTDOWN = 210 + SYS_SENDMSG = 211 + SYS_RECVMSG = 212 + SYS_READAHEAD = 213 + SYS_BRK = 214 + SYS_MUNMAP = 215 + SYS_MREMAP = 216 + SYS_ADD_KEY = 217 + SYS_REQUEST_KEY = 218 + SYS_KEYCTL = 219 + SYS_CLONE = 220 + SYS_EXECVE = 221 + SYS_MMAP = 222 + SYS_FADVISE64 = 223 + SYS_SWAPON = 224 + SYS_SWAPOFF = 225 + SYS_MPROTECT = 226 + SYS_MSYNC = 227 + SYS_MLOCK = 228 + SYS_MUNLOCK = 229 + SYS_MLOCKALL = 230 + SYS_MUNLOCKALL = 231 + SYS_MINCORE = 232 + SYS_MADVISE = 233 + SYS_REMAP_FILE_PAGES = 234 + SYS_MBIND = 235 + SYS_GET_MEMPOLICY = 236 + SYS_SET_MEMPOLICY = 237 + SYS_MIGRATE_PAGES = 238 + SYS_MOVE_PAGES = 239 + SYS_RT_TGSIGQUEUEINFO = 240 + SYS_PERF_EVENT_OPEN = 241 + SYS_ACCEPT4 = 242 + SYS_RECVMMSG = 243 + SYS_ARCH_SPECIFIC_SYSCALL = 244 + SYS_WAIT4 = 260 + SYS_PRLIMIT64 = 261 + SYS_FANOTIFY_INIT = 262 + SYS_FANOTIFY_MARK = 263 + SYS_NAME_TO_HANDLE_AT = 264 + SYS_OPEN_BY_HANDLE_AT = 265 + SYS_CLOCK_ADJTIME = 266 + SYS_SYNCFS = 267 + SYS_SETNS = 268 + SYS_SENDMMSG = 269 + SYS_PROCESS_VM_READV = 270 + SYS_PROCESS_VM_WRITEV = 271 + SYS_KCMP = 272 + SYS_FINIT_MODULE = 273 + SYS_SCHED_SETATTR = 274 + SYS_SCHED_GETATTR = 275 + SYS_RENAMEAT2 = 276 + SYS_SECCOMP = 277 + SYS_GETRANDOM = 278 + SYS_MEMFD_CREATE = 279 + SYS_BPF = 280 + SYS_EXECVEAT = 281 + SYS_USERFAULTFD = 282 + SYS_MEMBARRIER = 283 + SYS_MLOCK2 = 284 + SYS_COPY_FILE_RANGE = 285 + SYS_PREADV2 = 286 + SYS_PWRITEV2 = 287 + SYS_PKEY_MPROTECT = 288 + SYS_PKEY_ALLOC = 289 + SYS_PKEY_FREE = 290 + SYS_STATX = 291 + SYS_IO_PGETEVENTS = 292 + SYS_RSEQ = 293 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go new file mode 100644 index 000000000..6893a5bd0 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go @@ -0,0 +1,377 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips,linux + +package unix + +const ( + SYS_SYSCALL = 4000 + SYS_EXIT = 4001 + SYS_FORK = 4002 + SYS_READ = 4003 + SYS_WRITE = 4004 + SYS_OPEN = 4005 + SYS_CLOSE = 4006 + SYS_WAITPID = 4007 + SYS_CREAT = 4008 + SYS_LINK = 4009 + SYS_UNLINK = 4010 + SYS_EXECVE = 4011 + SYS_CHDIR = 4012 + SYS_TIME = 4013 + SYS_MKNOD = 4014 + SYS_CHMOD = 4015 + SYS_LCHOWN = 4016 + SYS_BREAK = 4017 + SYS_UNUSED18 = 4018 + SYS_LSEEK = 4019 + SYS_GETPID = 4020 + SYS_MOUNT = 4021 + SYS_UMOUNT = 4022 + SYS_SETUID = 4023 + SYS_GETUID = 4024 + SYS_STIME = 4025 + SYS_PTRACE = 4026 + SYS_ALARM = 4027 + SYS_UNUSED28 = 4028 + SYS_PAUSE = 4029 + SYS_UTIME = 4030 + SYS_STTY = 4031 + SYS_GTTY = 4032 + SYS_ACCESS = 4033 + SYS_NICE = 4034 + SYS_FTIME = 4035 + SYS_SYNC = 4036 + SYS_KILL = 4037 + SYS_RENAME = 4038 + SYS_MKDIR = 4039 + SYS_RMDIR = 4040 + SYS_DUP = 4041 + SYS_PIPE = 4042 + SYS_TIMES = 4043 + SYS_PROF = 4044 + SYS_BRK = 4045 + SYS_SETGID = 4046 + SYS_GETGID = 4047 + SYS_SIGNAL = 4048 + SYS_GETEUID = 4049 + SYS_GETEGID = 4050 + SYS_ACCT = 4051 + SYS_UMOUNT2 = 4052 + SYS_LOCK = 4053 + SYS_IOCTL = 4054 + SYS_FCNTL = 4055 + SYS_MPX = 4056 + SYS_SETPGID = 4057 + SYS_ULIMIT = 4058 + SYS_UNUSED59 = 4059 + SYS_UMASK = 4060 + SYS_CHROOT = 4061 + SYS_USTAT = 4062 + SYS_DUP2 = 4063 + SYS_GETPPID = 4064 + SYS_GETPGRP = 4065 + SYS_SETSID = 4066 + SYS_SIGACTION = 4067 + SYS_SGETMASK = 4068 + SYS_SSETMASK = 4069 + SYS_SETREUID = 4070 + SYS_SETREGID = 4071 + SYS_SIGSUSPEND = 4072 + SYS_SIGPENDING = 4073 + SYS_SETHOSTNAME = 4074 + SYS_SETRLIMIT = 4075 + SYS_GETRLIMIT = 4076 + SYS_GETRUSAGE = 4077 + SYS_GETTIMEOFDAY = 4078 + SYS_SETTIMEOFDAY = 4079 + SYS_GETGROUPS = 4080 + SYS_SETGROUPS = 4081 + SYS_RESERVED82 = 4082 + SYS_SYMLINK = 4083 + SYS_UNUSED84 = 4084 + SYS_READLINK = 4085 + SYS_USELIB = 4086 + SYS_SWAPON = 4087 + SYS_REBOOT = 4088 + SYS_READDIR = 4089 + SYS_MMAP = 4090 + SYS_MUNMAP = 4091 + SYS_TRUNCATE = 4092 + SYS_FTRUNCATE = 4093 + SYS_FCHMOD = 4094 + SYS_FCHOWN = 4095 + SYS_GETPRIORITY = 4096 + SYS_SETPRIORITY = 4097 + SYS_PROFIL = 4098 + SYS_STATFS = 4099 + SYS_FSTATFS = 4100 + SYS_IOPERM = 4101 + SYS_SOCKETCALL = 4102 + SYS_SYSLOG = 4103 + SYS_SETITIMER = 4104 + SYS_GETITIMER = 4105 + SYS_STAT = 4106 + SYS_LSTAT = 4107 + SYS_FSTAT = 4108 + SYS_UNUSED109 = 4109 + SYS_IOPL = 4110 + SYS_VHANGUP = 4111 + SYS_IDLE = 4112 + SYS_VM86 = 4113 + SYS_WAIT4 = 4114 + SYS_SWAPOFF = 4115 + SYS_SYSINFO = 4116 + SYS_IPC = 4117 + SYS_FSYNC = 4118 + SYS_SIGRETURN = 4119 + SYS_CLONE = 4120 + SYS_SETDOMAINNAME = 4121 + SYS_UNAME = 4122 + SYS_MODIFY_LDT = 4123 + SYS_ADJTIMEX = 4124 + SYS_MPROTECT = 4125 + SYS_SIGPROCMASK = 4126 + SYS_CREATE_MODULE = 4127 + SYS_INIT_MODULE = 4128 + SYS_DELETE_MODULE = 4129 + SYS_GET_KERNEL_SYMS = 4130 + SYS_QUOTACTL = 4131 + SYS_GETPGID = 4132 + SYS_FCHDIR = 4133 + SYS_BDFLUSH = 4134 + SYS_SYSFS = 4135 + SYS_PERSONALITY = 4136 + SYS_AFS_SYSCALL = 4137 + SYS_SETFSUID = 4138 + SYS_SETFSGID = 4139 + SYS__LLSEEK = 4140 + SYS_GETDENTS = 4141 + SYS__NEWSELECT = 4142 + SYS_FLOCK = 4143 + SYS_MSYNC = 4144 + SYS_READV = 4145 + SYS_WRITEV = 4146 + SYS_CACHEFLUSH = 4147 + SYS_CACHECTL = 4148 + SYS_SYSMIPS = 4149 + SYS_UNUSED150 = 4150 + SYS_GETSID = 4151 + SYS_FDATASYNC = 4152 + SYS__SYSCTL = 4153 + SYS_MLOCK = 4154 + SYS_MUNLOCK = 4155 + SYS_MLOCKALL = 4156 + SYS_MUNLOCKALL = 4157 + SYS_SCHED_SETPARAM = 4158 + SYS_SCHED_GETPARAM = 4159 + SYS_SCHED_SETSCHEDULER = 4160 + SYS_SCHED_GETSCHEDULER = 4161 + SYS_SCHED_YIELD = 4162 + SYS_SCHED_GET_PRIORITY_MAX = 4163 + SYS_SCHED_GET_PRIORITY_MIN = 4164 + SYS_SCHED_RR_GET_INTERVAL = 4165 + SYS_NANOSLEEP = 4166 + SYS_MREMAP = 4167 + SYS_ACCEPT = 4168 + SYS_BIND = 4169 + SYS_CONNECT = 4170 + SYS_GETPEERNAME = 4171 + SYS_GETSOCKNAME = 4172 + SYS_GETSOCKOPT = 4173 + SYS_LISTEN = 4174 + SYS_RECV = 4175 + SYS_RECVFROM = 4176 + SYS_RECVMSG = 4177 + SYS_SEND = 4178 + SYS_SENDMSG = 4179 + SYS_SENDTO = 4180 + SYS_SETSOCKOPT = 4181 + SYS_SHUTDOWN = 4182 + SYS_SOCKET = 4183 + SYS_SOCKETPAIR = 4184 + SYS_SETRESUID = 4185 + SYS_GETRESUID = 4186 + SYS_QUERY_MODULE = 4187 + SYS_POLL = 4188 + SYS_NFSSERVCTL = 4189 + SYS_SETRESGID = 4190 + SYS_GETRESGID = 4191 + SYS_PRCTL = 4192 + SYS_RT_SIGRETURN = 4193 + SYS_RT_SIGACTION = 4194 + SYS_RT_SIGPROCMASK = 4195 + SYS_RT_SIGPENDING = 4196 + SYS_RT_SIGTIMEDWAIT = 4197 + SYS_RT_SIGQUEUEINFO = 4198 + SYS_RT_SIGSUSPEND = 4199 + SYS_PREAD64 = 4200 + SYS_PWRITE64 = 4201 + SYS_CHOWN = 4202 + SYS_GETCWD = 4203 + SYS_CAPGET = 4204 + SYS_CAPSET = 4205 + SYS_SIGALTSTACK = 4206 + SYS_SENDFILE = 4207 + SYS_GETPMSG = 4208 + SYS_PUTPMSG = 4209 + SYS_MMAP2 = 4210 + SYS_TRUNCATE64 = 4211 + SYS_FTRUNCATE64 = 4212 + SYS_STAT64 = 4213 + SYS_LSTAT64 = 4214 + SYS_FSTAT64 = 4215 + SYS_PIVOT_ROOT = 4216 + SYS_MINCORE = 4217 + SYS_MADVISE = 4218 + SYS_GETDENTS64 = 4219 + SYS_FCNTL64 = 4220 + SYS_RESERVED221 = 4221 + SYS_GETTID = 4222 + SYS_READAHEAD = 4223 + SYS_SETXATTR = 4224 + SYS_LSETXATTR = 4225 + SYS_FSETXATTR = 4226 + SYS_GETXATTR = 4227 + SYS_LGETXATTR = 4228 + SYS_FGETXATTR = 4229 + SYS_LISTXATTR = 4230 + SYS_LLISTXATTR = 4231 + SYS_FLISTXATTR = 4232 + SYS_REMOVEXATTR = 4233 + SYS_LREMOVEXATTR = 4234 + SYS_FREMOVEXATTR = 4235 + SYS_TKILL = 4236 + SYS_SENDFILE64 = 4237 + SYS_FUTEX = 4238 + SYS_SCHED_SETAFFINITY = 4239 + SYS_SCHED_GETAFFINITY = 4240 + SYS_IO_SETUP = 4241 + SYS_IO_DESTROY = 4242 + SYS_IO_GETEVENTS = 4243 + SYS_IO_SUBMIT = 4244 + SYS_IO_CANCEL = 4245 + SYS_EXIT_GROUP = 4246 + SYS_LOOKUP_DCOOKIE = 4247 + SYS_EPOLL_CREATE = 4248 + SYS_EPOLL_CTL = 4249 + SYS_EPOLL_WAIT = 4250 + SYS_REMAP_FILE_PAGES = 4251 + SYS_SET_TID_ADDRESS = 4252 + SYS_RESTART_SYSCALL = 4253 + SYS_FADVISE64 = 4254 + SYS_STATFS64 = 4255 + SYS_FSTATFS64 = 4256 + SYS_TIMER_CREATE = 4257 + SYS_TIMER_SETTIME = 4258 + SYS_TIMER_GETTIME = 4259 + SYS_TIMER_GETOVERRUN = 4260 + SYS_TIMER_DELETE = 4261 + SYS_CLOCK_SETTIME = 4262 + SYS_CLOCK_GETTIME = 4263 + SYS_CLOCK_GETRES = 4264 + SYS_CLOCK_NANOSLEEP = 4265 + SYS_TGKILL = 4266 + SYS_UTIMES = 4267 + SYS_MBIND = 4268 + SYS_GET_MEMPOLICY = 4269 + SYS_SET_MEMPOLICY = 4270 + SYS_MQ_OPEN = 4271 + SYS_MQ_UNLINK = 4272 + SYS_MQ_TIMEDSEND = 4273 + SYS_MQ_TIMEDRECEIVE = 4274 + SYS_MQ_NOTIFY = 4275 + SYS_MQ_GETSETATTR = 4276 + SYS_VSERVER = 4277 + SYS_WAITID = 4278 + SYS_ADD_KEY = 4280 + SYS_REQUEST_KEY = 4281 + SYS_KEYCTL = 4282 + SYS_SET_THREAD_AREA = 4283 + SYS_INOTIFY_INIT = 4284 + SYS_INOTIFY_ADD_WATCH = 4285 + SYS_INOTIFY_RM_WATCH = 4286 + SYS_MIGRATE_PAGES = 4287 + SYS_OPENAT = 4288 + SYS_MKDIRAT = 4289 + SYS_MKNODAT = 4290 + SYS_FCHOWNAT = 4291 + SYS_FUTIMESAT = 4292 + SYS_FSTATAT64 = 4293 + SYS_UNLINKAT = 4294 + SYS_RENAMEAT = 4295 + SYS_LINKAT = 4296 + SYS_SYMLINKAT = 4297 + SYS_READLINKAT = 4298 + SYS_FCHMODAT = 4299 + SYS_FACCESSAT = 4300 + SYS_PSELECT6 = 4301 + SYS_PPOLL = 4302 + SYS_UNSHARE = 4303 + SYS_SPLICE = 4304 + SYS_SYNC_FILE_RANGE = 4305 + SYS_TEE = 4306 + SYS_VMSPLICE = 4307 + SYS_MOVE_PAGES = 4308 + SYS_SET_ROBUST_LIST = 4309 + SYS_GET_ROBUST_LIST = 4310 + SYS_KEXEC_LOAD = 4311 + SYS_GETCPU = 4312 + SYS_EPOLL_PWAIT = 4313 + SYS_IOPRIO_SET = 4314 + SYS_IOPRIO_GET = 4315 + SYS_UTIMENSAT = 4316 + SYS_SIGNALFD = 4317 + SYS_TIMERFD = 4318 + SYS_EVENTFD = 4319 + SYS_FALLOCATE = 4320 + SYS_TIMERFD_CREATE = 4321 + SYS_TIMERFD_GETTIME = 4322 + SYS_TIMERFD_SETTIME = 4323 + SYS_SIGNALFD4 = 4324 + SYS_EVENTFD2 = 4325 + SYS_EPOLL_CREATE1 = 4326 + SYS_DUP3 = 4327 + SYS_PIPE2 = 4328 + SYS_INOTIFY_INIT1 = 4329 + SYS_PREADV = 4330 + SYS_PWRITEV = 4331 + SYS_RT_TGSIGQUEUEINFO = 4332 + SYS_PERF_EVENT_OPEN = 4333 + SYS_ACCEPT4 = 4334 + SYS_RECVMMSG = 4335 + SYS_FANOTIFY_INIT = 4336 + SYS_FANOTIFY_MARK = 4337 + SYS_PRLIMIT64 = 4338 + SYS_NAME_TO_HANDLE_AT = 4339 + SYS_OPEN_BY_HANDLE_AT = 4340 + SYS_CLOCK_ADJTIME = 4341 + SYS_SYNCFS = 4342 + SYS_SENDMMSG = 4343 + SYS_SETNS = 4344 + SYS_PROCESS_VM_READV = 4345 + SYS_PROCESS_VM_WRITEV = 4346 + SYS_KCMP = 4347 + SYS_FINIT_MODULE = 4348 + SYS_SCHED_SETATTR = 4349 + SYS_SCHED_GETATTR = 4350 + SYS_RENAMEAT2 = 4351 + SYS_SECCOMP = 4352 + SYS_GETRANDOM = 4353 + SYS_MEMFD_CREATE = 4354 + SYS_BPF = 4355 + SYS_EXECVEAT = 4356 + SYS_USERFAULTFD = 4357 + SYS_MEMBARRIER = 4358 + SYS_MLOCK2 = 4359 + SYS_COPY_FILE_RANGE = 4360 + SYS_PREADV2 = 4361 + SYS_PWRITEV2 = 4362 + SYS_PKEY_MPROTECT = 4363 + SYS_PKEY_ALLOC = 4364 + SYS_PKEY_FREE = 4365 + SYS_STATX = 4366 + SYS_RSEQ = 4367 + SYS_IO_PGETEVENTS = 4368 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go new file mode 100644 index 000000000..40164cacd --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go @@ -0,0 +1,337 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips64,linux + +package unix + +const ( + SYS_READ = 5000 + SYS_WRITE = 5001 + SYS_OPEN = 5002 + SYS_CLOSE = 5003 + SYS_STAT = 5004 + SYS_FSTAT = 5005 + SYS_LSTAT = 5006 + SYS_POLL = 5007 + SYS_LSEEK = 5008 + SYS_MMAP = 5009 + SYS_MPROTECT = 5010 + SYS_MUNMAP = 5011 + SYS_BRK = 5012 + SYS_RT_SIGACTION = 5013 + SYS_RT_SIGPROCMASK = 5014 + SYS_IOCTL = 5015 + SYS_PREAD64 = 5016 + SYS_PWRITE64 = 5017 + SYS_READV = 5018 + SYS_WRITEV = 5019 + SYS_ACCESS = 5020 + SYS_PIPE = 5021 + SYS__NEWSELECT = 5022 + SYS_SCHED_YIELD = 5023 + SYS_MREMAP = 5024 + SYS_MSYNC = 5025 + SYS_MINCORE = 5026 + SYS_MADVISE = 5027 + SYS_SHMGET = 5028 + SYS_SHMAT = 5029 + SYS_SHMCTL = 5030 + SYS_DUP = 5031 + SYS_DUP2 = 5032 + SYS_PAUSE = 5033 + SYS_NANOSLEEP = 5034 + SYS_GETITIMER = 5035 + SYS_SETITIMER = 5036 + SYS_ALARM = 5037 + SYS_GETPID = 5038 + SYS_SENDFILE = 5039 + SYS_SOCKET = 5040 + SYS_CONNECT = 5041 + SYS_ACCEPT = 5042 + SYS_SENDTO = 5043 + SYS_RECVFROM = 5044 + SYS_SENDMSG = 5045 + SYS_RECVMSG = 5046 + SYS_SHUTDOWN = 5047 + SYS_BIND = 5048 + SYS_LISTEN = 5049 + SYS_GETSOCKNAME = 5050 + SYS_GETPEERNAME = 5051 + SYS_SOCKETPAIR = 5052 + SYS_SETSOCKOPT = 5053 + SYS_GETSOCKOPT = 5054 + SYS_CLONE = 5055 + SYS_FORK = 5056 + SYS_EXECVE = 5057 + SYS_EXIT = 5058 + SYS_WAIT4 = 5059 + SYS_KILL = 5060 + SYS_UNAME = 5061 + SYS_SEMGET = 5062 + SYS_SEMOP = 5063 + SYS_SEMCTL = 5064 + SYS_SHMDT = 5065 + SYS_MSGGET = 5066 + SYS_MSGSND = 5067 + SYS_MSGRCV = 5068 + SYS_MSGCTL = 5069 + SYS_FCNTL = 5070 + SYS_FLOCK = 5071 + SYS_FSYNC = 5072 + SYS_FDATASYNC = 5073 + SYS_TRUNCATE = 5074 + SYS_FTRUNCATE = 5075 + SYS_GETDENTS = 5076 + SYS_GETCWD = 5077 + SYS_CHDIR = 5078 + SYS_FCHDIR = 5079 + SYS_RENAME = 5080 + SYS_MKDIR = 5081 + SYS_RMDIR = 5082 + SYS_CREAT = 5083 + SYS_LINK = 5084 + SYS_UNLINK = 5085 + SYS_SYMLINK = 5086 + SYS_READLINK = 5087 + SYS_CHMOD = 5088 + SYS_FCHMOD = 5089 + SYS_CHOWN = 5090 + SYS_FCHOWN = 5091 + SYS_LCHOWN = 5092 + SYS_UMASK = 5093 + SYS_GETTIMEOFDAY = 5094 + SYS_GETRLIMIT = 5095 + SYS_GETRUSAGE = 5096 + SYS_SYSINFO = 5097 + SYS_TIMES = 5098 + SYS_PTRACE = 5099 + SYS_GETUID = 5100 + SYS_SYSLOG = 5101 + SYS_GETGID = 5102 + SYS_SETUID = 5103 + SYS_SETGID = 5104 + SYS_GETEUID = 5105 + SYS_GETEGID = 5106 + SYS_SETPGID = 5107 + SYS_GETPPID = 5108 + SYS_GETPGRP = 5109 + SYS_SETSID = 5110 + SYS_SETREUID = 5111 + SYS_SETREGID = 5112 + SYS_GETGROUPS = 5113 + SYS_SETGROUPS = 5114 + SYS_SETRESUID = 5115 + SYS_GETRESUID = 5116 + SYS_SETRESGID = 5117 + SYS_GETRESGID = 5118 + SYS_GETPGID = 5119 + SYS_SETFSUID = 5120 + SYS_SETFSGID = 5121 + SYS_GETSID = 5122 + SYS_CAPGET = 5123 + SYS_CAPSET = 5124 + SYS_RT_SIGPENDING = 5125 + SYS_RT_SIGTIMEDWAIT = 5126 + SYS_RT_SIGQUEUEINFO = 5127 + SYS_RT_SIGSUSPEND = 5128 + SYS_SIGALTSTACK = 5129 + SYS_UTIME = 5130 + SYS_MKNOD = 5131 + SYS_PERSONALITY = 5132 + SYS_USTAT = 5133 + SYS_STATFS = 5134 + SYS_FSTATFS = 5135 + SYS_SYSFS = 5136 + SYS_GETPRIORITY = 5137 + SYS_SETPRIORITY = 5138 + SYS_SCHED_SETPARAM = 5139 + SYS_SCHED_GETPARAM = 5140 + SYS_SCHED_SETSCHEDULER = 5141 + SYS_SCHED_GETSCHEDULER = 5142 + SYS_SCHED_GET_PRIORITY_MAX = 5143 + SYS_SCHED_GET_PRIORITY_MIN = 5144 + SYS_SCHED_RR_GET_INTERVAL = 5145 + SYS_MLOCK = 5146 + SYS_MUNLOCK = 5147 + SYS_MLOCKALL = 5148 + SYS_MUNLOCKALL = 5149 + SYS_VHANGUP = 5150 + SYS_PIVOT_ROOT = 5151 + SYS__SYSCTL = 5152 + SYS_PRCTL = 5153 + SYS_ADJTIMEX = 5154 + SYS_SETRLIMIT = 5155 + SYS_CHROOT = 5156 + SYS_SYNC = 5157 + SYS_ACCT = 5158 + SYS_SETTIMEOFDAY = 5159 + SYS_MOUNT = 5160 + SYS_UMOUNT2 = 5161 + SYS_SWAPON = 5162 + SYS_SWAPOFF = 5163 + SYS_REBOOT = 5164 + SYS_SETHOSTNAME = 5165 + SYS_SETDOMAINNAME = 5166 + SYS_CREATE_MODULE = 5167 + SYS_INIT_MODULE = 5168 + SYS_DELETE_MODULE = 5169 + SYS_GET_KERNEL_SYMS = 5170 + SYS_QUERY_MODULE = 5171 + SYS_QUOTACTL = 5172 + SYS_NFSSERVCTL = 5173 + SYS_GETPMSG = 5174 + SYS_PUTPMSG = 5175 + SYS_AFS_SYSCALL = 5176 + SYS_RESERVED177 = 5177 + SYS_GETTID = 5178 + SYS_READAHEAD = 5179 + SYS_SETXATTR = 5180 + SYS_LSETXATTR = 5181 + SYS_FSETXATTR = 5182 + SYS_GETXATTR = 5183 + SYS_LGETXATTR = 5184 + SYS_FGETXATTR = 5185 + SYS_LISTXATTR = 5186 + SYS_LLISTXATTR = 5187 + SYS_FLISTXATTR = 5188 + SYS_REMOVEXATTR = 5189 + SYS_LREMOVEXATTR = 5190 + SYS_FREMOVEXATTR = 5191 + SYS_TKILL = 5192 + SYS_RESERVED193 = 5193 + SYS_FUTEX = 5194 + SYS_SCHED_SETAFFINITY = 5195 + SYS_SCHED_GETAFFINITY = 5196 + SYS_CACHEFLUSH = 5197 + SYS_CACHECTL = 5198 + SYS_SYSMIPS = 5199 + SYS_IO_SETUP = 5200 + SYS_IO_DESTROY = 5201 + SYS_IO_GETEVENTS = 5202 + SYS_IO_SUBMIT = 5203 + SYS_IO_CANCEL = 5204 + SYS_EXIT_GROUP = 5205 + SYS_LOOKUP_DCOOKIE = 5206 + SYS_EPOLL_CREATE = 5207 + SYS_EPOLL_CTL = 5208 + SYS_EPOLL_WAIT = 5209 + SYS_REMAP_FILE_PAGES = 5210 + SYS_RT_SIGRETURN = 5211 + SYS_SET_TID_ADDRESS = 5212 + SYS_RESTART_SYSCALL = 5213 + SYS_SEMTIMEDOP = 5214 + SYS_FADVISE64 = 5215 + SYS_TIMER_CREATE = 5216 + SYS_TIMER_SETTIME = 5217 + SYS_TIMER_GETTIME = 5218 + SYS_TIMER_GETOVERRUN = 5219 + SYS_TIMER_DELETE = 5220 + SYS_CLOCK_SETTIME = 5221 + SYS_CLOCK_GETTIME = 5222 + SYS_CLOCK_GETRES = 5223 + SYS_CLOCK_NANOSLEEP = 5224 + SYS_TGKILL = 5225 + SYS_UTIMES = 5226 + SYS_MBIND = 5227 + SYS_GET_MEMPOLICY = 5228 + SYS_SET_MEMPOLICY = 5229 + SYS_MQ_OPEN = 5230 + SYS_MQ_UNLINK = 5231 + SYS_MQ_TIMEDSEND = 5232 + SYS_MQ_TIMEDRECEIVE = 5233 + SYS_MQ_NOTIFY = 5234 + SYS_MQ_GETSETATTR = 5235 + SYS_VSERVER = 5236 + SYS_WAITID = 5237 + SYS_ADD_KEY = 5239 + SYS_REQUEST_KEY = 5240 + SYS_KEYCTL = 5241 + SYS_SET_THREAD_AREA = 5242 + SYS_INOTIFY_INIT = 5243 + SYS_INOTIFY_ADD_WATCH = 5244 + SYS_INOTIFY_RM_WATCH = 5245 + SYS_MIGRATE_PAGES = 5246 + SYS_OPENAT = 5247 + SYS_MKDIRAT = 5248 + SYS_MKNODAT = 5249 + SYS_FCHOWNAT = 5250 + SYS_FUTIMESAT = 5251 + SYS_NEWFSTATAT = 5252 + SYS_UNLINKAT = 5253 + SYS_RENAMEAT = 5254 + SYS_LINKAT = 5255 + SYS_SYMLINKAT = 5256 + SYS_READLINKAT = 5257 + SYS_FCHMODAT = 5258 + SYS_FACCESSAT = 5259 + SYS_PSELECT6 = 5260 + SYS_PPOLL = 5261 + SYS_UNSHARE = 5262 + SYS_SPLICE = 5263 + SYS_SYNC_FILE_RANGE = 5264 + SYS_TEE = 5265 + SYS_VMSPLICE = 5266 + SYS_MOVE_PAGES = 5267 + SYS_SET_ROBUST_LIST = 5268 + SYS_GET_ROBUST_LIST = 5269 + SYS_KEXEC_LOAD = 5270 + SYS_GETCPU = 5271 + SYS_EPOLL_PWAIT = 5272 + SYS_IOPRIO_SET = 5273 + SYS_IOPRIO_GET = 5274 + SYS_UTIMENSAT = 5275 + SYS_SIGNALFD = 5276 + SYS_TIMERFD = 5277 + SYS_EVENTFD = 5278 + SYS_FALLOCATE = 5279 + SYS_TIMERFD_CREATE = 5280 + SYS_TIMERFD_GETTIME = 5281 + SYS_TIMERFD_SETTIME = 5282 + SYS_SIGNALFD4 = 5283 + SYS_EVENTFD2 = 5284 + SYS_EPOLL_CREATE1 = 5285 + SYS_DUP3 = 5286 + SYS_PIPE2 = 5287 + SYS_INOTIFY_INIT1 = 5288 + SYS_PREADV = 5289 + SYS_PWRITEV = 5290 + SYS_RT_TGSIGQUEUEINFO = 5291 + SYS_PERF_EVENT_OPEN = 5292 + SYS_ACCEPT4 = 5293 + SYS_RECVMMSG = 5294 + SYS_FANOTIFY_INIT = 5295 + SYS_FANOTIFY_MARK = 5296 + SYS_PRLIMIT64 = 5297 + SYS_NAME_TO_HANDLE_AT = 5298 + SYS_OPEN_BY_HANDLE_AT = 5299 + SYS_CLOCK_ADJTIME = 5300 + SYS_SYNCFS = 5301 + SYS_SENDMMSG = 5302 + SYS_SETNS = 5303 + SYS_PROCESS_VM_READV = 5304 + SYS_PROCESS_VM_WRITEV = 5305 + SYS_KCMP = 5306 + SYS_FINIT_MODULE = 5307 + SYS_GETDENTS64 = 5308 + SYS_SCHED_SETATTR = 5309 + SYS_SCHED_GETATTR = 5310 + SYS_RENAMEAT2 = 5311 + SYS_SECCOMP = 5312 + SYS_GETRANDOM = 5313 + SYS_MEMFD_CREATE = 5314 + SYS_BPF = 5315 + SYS_EXECVEAT = 5316 + SYS_USERFAULTFD = 5317 + SYS_MEMBARRIER = 5318 + SYS_MLOCK2 = 5319 + SYS_COPY_FILE_RANGE = 5320 + SYS_PREADV2 = 5321 + SYS_PWRITEV2 = 5322 + SYS_PKEY_MPROTECT = 5323 + SYS_PKEY_ALLOC = 5324 + SYS_PKEY_FREE = 5325 + SYS_STATX = 5326 + SYS_RSEQ = 5327 + SYS_IO_PGETEVENTS = 5328 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go new file mode 100644 index 000000000..8a909738b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go @@ -0,0 +1,337 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips64le,linux + +package unix + +const ( + SYS_READ = 5000 + SYS_WRITE = 5001 + SYS_OPEN = 5002 + SYS_CLOSE = 5003 + SYS_STAT = 5004 + SYS_FSTAT = 5005 + SYS_LSTAT = 5006 + SYS_POLL = 5007 + SYS_LSEEK = 5008 + SYS_MMAP = 5009 + SYS_MPROTECT = 5010 + SYS_MUNMAP = 5011 + SYS_BRK = 5012 + SYS_RT_SIGACTION = 5013 + SYS_RT_SIGPROCMASK = 5014 + SYS_IOCTL = 5015 + SYS_PREAD64 = 5016 + SYS_PWRITE64 = 5017 + SYS_READV = 5018 + SYS_WRITEV = 5019 + SYS_ACCESS = 5020 + SYS_PIPE = 5021 + SYS__NEWSELECT = 5022 + SYS_SCHED_YIELD = 5023 + SYS_MREMAP = 5024 + SYS_MSYNC = 5025 + SYS_MINCORE = 5026 + SYS_MADVISE = 5027 + SYS_SHMGET = 5028 + SYS_SHMAT = 5029 + SYS_SHMCTL = 5030 + SYS_DUP = 5031 + SYS_DUP2 = 5032 + SYS_PAUSE = 5033 + SYS_NANOSLEEP = 5034 + SYS_GETITIMER = 5035 + SYS_SETITIMER = 5036 + SYS_ALARM = 5037 + SYS_GETPID = 5038 + SYS_SENDFILE = 5039 + SYS_SOCKET = 5040 + SYS_CONNECT = 5041 + SYS_ACCEPT = 5042 + SYS_SENDTO = 5043 + SYS_RECVFROM = 5044 + SYS_SENDMSG = 5045 + SYS_RECVMSG = 5046 + SYS_SHUTDOWN = 5047 + SYS_BIND = 5048 + SYS_LISTEN = 5049 + SYS_GETSOCKNAME = 5050 + SYS_GETPEERNAME = 5051 + SYS_SOCKETPAIR = 5052 + SYS_SETSOCKOPT = 5053 + SYS_GETSOCKOPT = 5054 + SYS_CLONE = 5055 + SYS_FORK = 5056 + SYS_EXECVE = 5057 + SYS_EXIT = 5058 + SYS_WAIT4 = 5059 + SYS_KILL = 5060 + SYS_UNAME = 5061 + SYS_SEMGET = 5062 + SYS_SEMOP = 5063 + SYS_SEMCTL = 5064 + SYS_SHMDT = 5065 + SYS_MSGGET = 5066 + SYS_MSGSND = 5067 + SYS_MSGRCV = 5068 + SYS_MSGCTL = 5069 + SYS_FCNTL = 5070 + SYS_FLOCK = 5071 + SYS_FSYNC = 5072 + SYS_FDATASYNC = 5073 + SYS_TRUNCATE = 5074 + SYS_FTRUNCATE = 5075 + SYS_GETDENTS = 5076 + SYS_GETCWD = 5077 + SYS_CHDIR = 5078 + SYS_FCHDIR = 5079 + SYS_RENAME = 5080 + SYS_MKDIR = 5081 + SYS_RMDIR = 5082 + SYS_CREAT = 5083 + SYS_LINK = 5084 + SYS_UNLINK = 5085 + SYS_SYMLINK = 5086 + SYS_READLINK = 5087 + SYS_CHMOD = 5088 + SYS_FCHMOD = 5089 + SYS_CHOWN = 5090 + SYS_FCHOWN = 5091 + SYS_LCHOWN = 5092 + SYS_UMASK = 5093 + SYS_GETTIMEOFDAY = 5094 + SYS_GETRLIMIT = 5095 + SYS_GETRUSAGE = 5096 + SYS_SYSINFO = 5097 + SYS_TIMES = 5098 + SYS_PTRACE = 5099 + SYS_GETUID = 5100 + SYS_SYSLOG = 5101 + SYS_GETGID = 5102 + SYS_SETUID = 5103 + SYS_SETGID = 5104 + SYS_GETEUID = 5105 + SYS_GETEGID = 5106 + SYS_SETPGID = 5107 + SYS_GETPPID = 5108 + SYS_GETPGRP = 5109 + SYS_SETSID = 5110 + SYS_SETREUID = 5111 + SYS_SETREGID = 5112 + SYS_GETGROUPS = 5113 + SYS_SETGROUPS = 5114 + SYS_SETRESUID = 5115 + SYS_GETRESUID = 5116 + SYS_SETRESGID = 5117 + SYS_GETRESGID = 5118 + SYS_GETPGID = 5119 + SYS_SETFSUID = 5120 + SYS_SETFSGID = 5121 + SYS_GETSID = 5122 + SYS_CAPGET = 5123 + SYS_CAPSET = 5124 + SYS_RT_SIGPENDING = 5125 + SYS_RT_SIGTIMEDWAIT = 5126 + SYS_RT_SIGQUEUEINFO = 5127 + SYS_RT_SIGSUSPEND = 5128 + SYS_SIGALTSTACK = 5129 + SYS_UTIME = 5130 + SYS_MKNOD = 5131 + SYS_PERSONALITY = 5132 + SYS_USTAT = 5133 + SYS_STATFS = 5134 + SYS_FSTATFS = 5135 + SYS_SYSFS = 5136 + SYS_GETPRIORITY = 5137 + SYS_SETPRIORITY = 5138 + SYS_SCHED_SETPARAM = 5139 + SYS_SCHED_GETPARAM = 5140 + SYS_SCHED_SETSCHEDULER = 5141 + SYS_SCHED_GETSCHEDULER = 5142 + SYS_SCHED_GET_PRIORITY_MAX = 5143 + SYS_SCHED_GET_PRIORITY_MIN = 5144 + SYS_SCHED_RR_GET_INTERVAL = 5145 + SYS_MLOCK = 5146 + SYS_MUNLOCK = 5147 + SYS_MLOCKALL = 5148 + SYS_MUNLOCKALL = 5149 + SYS_VHANGUP = 5150 + SYS_PIVOT_ROOT = 5151 + SYS__SYSCTL = 5152 + SYS_PRCTL = 5153 + SYS_ADJTIMEX = 5154 + SYS_SETRLIMIT = 5155 + SYS_CHROOT = 5156 + SYS_SYNC = 5157 + SYS_ACCT = 5158 + SYS_SETTIMEOFDAY = 5159 + SYS_MOUNT = 5160 + SYS_UMOUNT2 = 5161 + SYS_SWAPON = 5162 + SYS_SWAPOFF = 5163 + SYS_REBOOT = 5164 + SYS_SETHOSTNAME = 5165 + SYS_SETDOMAINNAME = 5166 + SYS_CREATE_MODULE = 5167 + SYS_INIT_MODULE = 5168 + SYS_DELETE_MODULE = 5169 + SYS_GET_KERNEL_SYMS = 5170 + SYS_QUERY_MODULE = 5171 + SYS_QUOTACTL = 5172 + SYS_NFSSERVCTL = 5173 + SYS_GETPMSG = 5174 + SYS_PUTPMSG = 5175 + SYS_AFS_SYSCALL = 5176 + SYS_RESERVED177 = 5177 + SYS_GETTID = 5178 + SYS_READAHEAD = 5179 + SYS_SETXATTR = 5180 + SYS_LSETXATTR = 5181 + SYS_FSETXATTR = 5182 + SYS_GETXATTR = 5183 + SYS_LGETXATTR = 5184 + SYS_FGETXATTR = 5185 + SYS_LISTXATTR = 5186 + SYS_LLISTXATTR = 5187 + SYS_FLISTXATTR = 5188 + SYS_REMOVEXATTR = 5189 + SYS_LREMOVEXATTR = 5190 + SYS_FREMOVEXATTR = 5191 + SYS_TKILL = 5192 + SYS_RESERVED193 = 5193 + SYS_FUTEX = 5194 + SYS_SCHED_SETAFFINITY = 5195 + SYS_SCHED_GETAFFINITY = 5196 + SYS_CACHEFLUSH = 5197 + SYS_CACHECTL = 5198 + SYS_SYSMIPS = 5199 + SYS_IO_SETUP = 5200 + SYS_IO_DESTROY = 5201 + SYS_IO_GETEVENTS = 5202 + SYS_IO_SUBMIT = 5203 + SYS_IO_CANCEL = 5204 + SYS_EXIT_GROUP = 5205 + SYS_LOOKUP_DCOOKIE = 5206 + SYS_EPOLL_CREATE = 5207 + SYS_EPOLL_CTL = 5208 + SYS_EPOLL_WAIT = 5209 + SYS_REMAP_FILE_PAGES = 5210 + SYS_RT_SIGRETURN = 5211 + SYS_SET_TID_ADDRESS = 5212 + SYS_RESTART_SYSCALL = 5213 + SYS_SEMTIMEDOP = 5214 + SYS_FADVISE64 = 5215 + SYS_TIMER_CREATE = 5216 + SYS_TIMER_SETTIME = 5217 + SYS_TIMER_GETTIME = 5218 + SYS_TIMER_GETOVERRUN = 5219 + SYS_TIMER_DELETE = 5220 + SYS_CLOCK_SETTIME = 5221 + SYS_CLOCK_GETTIME = 5222 + SYS_CLOCK_GETRES = 5223 + SYS_CLOCK_NANOSLEEP = 5224 + SYS_TGKILL = 5225 + SYS_UTIMES = 5226 + SYS_MBIND = 5227 + SYS_GET_MEMPOLICY = 5228 + SYS_SET_MEMPOLICY = 5229 + SYS_MQ_OPEN = 5230 + SYS_MQ_UNLINK = 5231 + SYS_MQ_TIMEDSEND = 5232 + SYS_MQ_TIMEDRECEIVE = 5233 + SYS_MQ_NOTIFY = 5234 + SYS_MQ_GETSETATTR = 5235 + SYS_VSERVER = 5236 + SYS_WAITID = 5237 + SYS_ADD_KEY = 5239 + SYS_REQUEST_KEY = 5240 + SYS_KEYCTL = 5241 + SYS_SET_THREAD_AREA = 5242 + SYS_INOTIFY_INIT = 5243 + SYS_INOTIFY_ADD_WATCH = 5244 + SYS_INOTIFY_RM_WATCH = 5245 + SYS_MIGRATE_PAGES = 5246 + SYS_OPENAT = 5247 + SYS_MKDIRAT = 5248 + SYS_MKNODAT = 5249 + SYS_FCHOWNAT = 5250 + SYS_FUTIMESAT = 5251 + SYS_NEWFSTATAT = 5252 + SYS_UNLINKAT = 5253 + SYS_RENAMEAT = 5254 + SYS_LINKAT = 5255 + SYS_SYMLINKAT = 5256 + SYS_READLINKAT = 5257 + SYS_FCHMODAT = 5258 + SYS_FACCESSAT = 5259 + SYS_PSELECT6 = 5260 + SYS_PPOLL = 5261 + SYS_UNSHARE = 5262 + SYS_SPLICE = 5263 + SYS_SYNC_FILE_RANGE = 5264 + SYS_TEE = 5265 + SYS_VMSPLICE = 5266 + SYS_MOVE_PAGES = 5267 + SYS_SET_ROBUST_LIST = 5268 + SYS_GET_ROBUST_LIST = 5269 + SYS_KEXEC_LOAD = 5270 + SYS_GETCPU = 5271 + SYS_EPOLL_PWAIT = 5272 + SYS_IOPRIO_SET = 5273 + SYS_IOPRIO_GET = 5274 + SYS_UTIMENSAT = 5275 + SYS_SIGNALFD = 5276 + SYS_TIMERFD = 5277 + SYS_EVENTFD = 5278 + SYS_FALLOCATE = 5279 + SYS_TIMERFD_CREATE = 5280 + SYS_TIMERFD_GETTIME = 5281 + SYS_TIMERFD_SETTIME = 5282 + SYS_SIGNALFD4 = 5283 + SYS_EVENTFD2 = 5284 + SYS_EPOLL_CREATE1 = 5285 + SYS_DUP3 = 5286 + SYS_PIPE2 = 5287 + SYS_INOTIFY_INIT1 = 5288 + SYS_PREADV = 5289 + SYS_PWRITEV = 5290 + SYS_RT_TGSIGQUEUEINFO = 5291 + SYS_PERF_EVENT_OPEN = 5292 + SYS_ACCEPT4 = 5293 + SYS_RECVMMSG = 5294 + SYS_FANOTIFY_INIT = 5295 + SYS_FANOTIFY_MARK = 5296 + SYS_PRLIMIT64 = 5297 + SYS_NAME_TO_HANDLE_AT = 5298 + SYS_OPEN_BY_HANDLE_AT = 5299 + SYS_CLOCK_ADJTIME = 5300 + SYS_SYNCFS = 5301 + SYS_SENDMMSG = 5302 + SYS_SETNS = 5303 + SYS_PROCESS_VM_READV = 5304 + SYS_PROCESS_VM_WRITEV = 5305 + SYS_KCMP = 5306 + SYS_FINIT_MODULE = 5307 + SYS_GETDENTS64 = 5308 + SYS_SCHED_SETATTR = 5309 + SYS_SCHED_GETATTR = 5310 + SYS_RENAMEAT2 = 5311 + SYS_SECCOMP = 5312 + SYS_GETRANDOM = 5313 + SYS_MEMFD_CREATE = 5314 + SYS_BPF = 5315 + SYS_EXECVEAT = 5316 + SYS_USERFAULTFD = 5317 + SYS_MEMBARRIER = 5318 + SYS_MLOCK2 = 5319 + SYS_COPY_FILE_RANGE = 5320 + SYS_PREADV2 = 5321 + SYS_PWRITEV2 = 5322 + SYS_PKEY_MPROTECT = 5323 + SYS_PKEY_ALLOC = 5324 + SYS_PKEY_FREE = 5325 + SYS_STATX = 5326 + SYS_RSEQ = 5327 + SYS_IO_PGETEVENTS = 5328 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go new file mode 100644 index 000000000..8d7818422 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go @@ -0,0 +1,377 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mipsle,linux + +package unix + +const ( + SYS_SYSCALL = 4000 + SYS_EXIT = 4001 + SYS_FORK = 4002 + SYS_READ = 4003 + SYS_WRITE = 4004 + SYS_OPEN = 4005 + SYS_CLOSE = 4006 + SYS_WAITPID = 4007 + SYS_CREAT = 4008 + SYS_LINK = 4009 + SYS_UNLINK = 4010 + SYS_EXECVE = 4011 + SYS_CHDIR = 4012 + SYS_TIME = 4013 + SYS_MKNOD = 4014 + SYS_CHMOD = 4015 + SYS_LCHOWN = 4016 + SYS_BREAK = 4017 + SYS_UNUSED18 = 4018 + SYS_LSEEK = 4019 + SYS_GETPID = 4020 + SYS_MOUNT = 4021 + SYS_UMOUNT = 4022 + SYS_SETUID = 4023 + SYS_GETUID = 4024 + SYS_STIME = 4025 + SYS_PTRACE = 4026 + SYS_ALARM = 4027 + SYS_UNUSED28 = 4028 + SYS_PAUSE = 4029 + SYS_UTIME = 4030 + SYS_STTY = 4031 + SYS_GTTY = 4032 + SYS_ACCESS = 4033 + SYS_NICE = 4034 + SYS_FTIME = 4035 + SYS_SYNC = 4036 + SYS_KILL = 4037 + SYS_RENAME = 4038 + SYS_MKDIR = 4039 + SYS_RMDIR = 4040 + SYS_DUP = 4041 + SYS_PIPE = 4042 + SYS_TIMES = 4043 + SYS_PROF = 4044 + SYS_BRK = 4045 + SYS_SETGID = 4046 + SYS_GETGID = 4047 + SYS_SIGNAL = 4048 + SYS_GETEUID = 4049 + SYS_GETEGID = 4050 + SYS_ACCT = 4051 + SYS_UMOUNT2 = 4052 + SYS_LOCK = 4053 + SYS_IOCTL = 4054 + SYS_FCNTL = 4055 + SYS_MPX = 4056 + SYS_SETPGID = 4057 + SYS_ULIMIT = 4058 + SYS_UNUSED59 = 4059 + SYS_UMASK = 4060 + SYS_CHROOT = 4061 + SYS_USTAT = 4062 + SYS_DUP2 = 4063 + SYS_GETPPID = 4064 + SYS_GETPGRP = 4065 + SYS_SETSID = 4066 + SYS_SIGACTION = 4067 + SYS_SGETMASK = 4068 + SYS_SSETMASK = 4069 + SYS_SETREUID = 4070 + SYS_SETREGID = 4071 + SYS_SIGSUSPEND = 4072 + SYS_SIGPENDING = 4073 + SYS_SETHOSTNAME = 4074 + SYS_SETRLIMIT = 4075 + SYS_GETRLIMIT = 4076 + SYS_GETRUSAGE = 4077 + SYS_GETTIMEOFDAY = 4078 + SYS_SETTIMEOFDAY = 4079 + SYS_GETGROUPS = 4080 + SYS_SETGROUPS = 4081 + SYS_RESERVED82 = 4082 + SYS_SYMLINK = 4083 + SYS_UNUSED84 = 4084 + SYS_READLINK = 4085 + SYS_USELIB = 4086 + SYS_SWAPON = 4087 + SYS_REBOOT = 4088 + SYS_READDIR = 4089 + SYS_MMAP = 4090 + SYS_MUNMAP = 4091 + SYS_TRUNCATE = 4092 + SYS_FTRUNCATE = 4093 + SYS_FCHMOD = 4094 + SYS_FCHOWN = 4095 + SYS_GETPRIORITY = 4096 + SYS_SETPRIORITY = 4097 + SYS_PROFIL = 4098 + SYS_STATFS = 4099 + SYS_FSTATFS = 4100 + SYS_IOPERM = 4101 + SYS_SOCKETCALL = 4102 + SYS_SYSLOG = 4103 + SYS_SETITIMER = 4104 + SYS_GETITIMER = 4105 + SYS_STAT = 4106 + SYS_LSTAT = 4107 + SYS_FSTAT = 4108 + SYS_UNUSED109 = 4109 + SYS_IOPL = 4110 + SYS_VHANGUP = 4111 + SYS_IDLE = 4112 + SYS_VM86 = 4113 + SYS_WAIT4 = 4114 + SYS_SWAPOFF = 4115 + SYS_SYSINFO = 4116 + SYS_IPC = 4117 + SYS_FSYNC = 4118 + SYS_SIGRETURN = 4119 + SYS_CLONE = 4120 + SYS_SETDOMAINNAME = 4121 + SYS_UNAME = 4122 + SYS_MODIFY_LDT = 4123 + SYS_ADJTIMEX = 4124 + SYS_MPROTECT = 4125 + SYS_SIGPROCMASK = 4126 + SYS_CREATE_MODULE = 4127 + SYS_INIT_MODULE = 4128 + SYS_DELETE_MODULE = 4129 + SYS_GET_KERNEL_SYMS = 4130 + SYS_QUOTACTL = 4131 + SYS_GETPGID = 4132 + SYS_FCHDIR = 4133 + SYS_BDFLUSH = 4134 + SYS_SYSFS = 4135 + SYS_PERSONALITY = 4136 + SYS_AFS_SYSCALL = 4137 + SYS_SETFSUID = 4138 + SYS_SETFSGID = 4139 + SYS__LLSEEK = 4140 + SYS_GETDENTS = 4141 + SYS__NEWSELECT = 4142 + SYS_FLOCK = 4143 + SYS_MSYNC = 4144 + SYS_READV = 4145 + SYS_WRITEV = 4146 + SYS_CACHEFLUSH = 4147 + SYS_CACHECTL = 4148 + SYS_SYSMIPS = 4149 + SYS_UNUSED150 = 4150 + SYS_GETSID = 4151 + SYS_FDATASYNC = 4152 + SYS__SYSCTL = 4153 + SYS_MLOCK = 4154 + SYS_MUNLOCK = 4155 + SYS_MLOCKALL = 4156 + SYS_MUNLOCKALL = 4157 + SYS_SCHED_SETPARAM = 4158 + SYS_SCHED_GETPARAM = 4159 + SYS_SCHED_SETSCHEDULER = 4160 + SYS_SCHED_GETSCHEDULER = 4161 + SYS_SCHED_YIELD = 4162 + SYS_SCHED_GET_PRIORITY_MAX = 4163 + SYS_SCHED_GET_PRIORITY_MIN = 4164 + SYS_SCHED_RR_GET_INTERVAL = 4165 + SYS_NANOSLEEP = 4166 + SYS_MREMAP = 4167 + SYS_ACCEPT = 4168 + SYS_BIND = 4169 + SYS_CONNECT = 4170 + SYS_GETPEERNAME = 4171 + SYS_GETSOCKNAME = 4172 + SYS_GETSOCKOPT = 4173 + SYS_LISTEN = 4174 + SYS_RECV = 4175 + SYS_RECVFROM = 4176 + SYS_RECVMSG = 4177 + SYS_SEND = 4178 + SYS_SENDMSG = 4179 + SYS_SENDTO = 4180 + SYS_SETSOCKOPT = 4181 + SYS_SHUTDOWN = 4182 + SYS_SOCKET = 4183 + SYS_SOCKETPAIR = 4184 + SYS_SETRESUID = 4185 + SYS_GETRESUID = 4186 + SYS_QUERY_MODULE = 4187 + SYS_POLL = 4188 + SYS_NFSSERVCTL = 4189 + SYS_SETRESGID = 4190 + SYS_GETRESGID = 4191 + SYS_PRCTL = 4192 + SYS_RT_SIGRETURN = 4193 + SYS_RT_SIGACTION = 4194 + SYS_RT_SIGPROCMASK = 4195 + SYS_RT_SIGPENDING = 4196 + SYS_RT_SIGTIMEDWAIT = 4197 + SYS_RT_SIGQUEUEINFO = 4198 + SYS_RT_SIGSUSPEND = 4199 + SYS_PREAD64 = 4200 + SYS_PWRITE64 = 4201 + SYS_CHOWN = 4202 + SYS_GETCWD = 4203 + SYS_CAPGET = 4204 + SYS_CAPSET = 4205 + SYS_SIGALTSTACK = 4206 + SYS_SENDFILE = 4207 + SYS_GETPMSG = 4208 + SYS_PUTPMSG = 4209 + SYS_MMAP2 = 4210 + SYS_TRUNCATE64 = 4211 + SYS_FTRUNCATE64 = 4212 + SYS_STAT64 = 4213 + SYS_LSTAT64 = 4214 + SYS_FSTAT64 = 4215 + SYS_PIVOT_ROOT = 4216 + SYS_MINCORE = 4217 + SYS_MADVISE = 4218 + SYS_GETDENTS64 = 4219 + SYS_FCNTL64 = 4220 + SYS_RESERVED221 = 4221 + SYS_GETTID = 4222 + SYS_READAHEAD = 4223 + SYS_SETXATTR = 4224 + SYS_LSETXATTR = 4225 + SYS_FSETXATTR = 4226 + SYS_GETXATTR = 4227 + SYS_LGETXATTR = 4228 + SYS_FGETXATTR = 4229 + SYS_LISTXATTR = 4230 + SYS_LLISTXATTR = 4231 + SYS_FLISTXATTR = 4232 + SYS_REMOVEXATTR = 4233 + SYS_LREMOVEXATTR = 4234 + SYS_FREMOVEXATTR = 4235 + SYS_TKILL = 4236 + SYS_SENDFILE64 = 4237 + SYS_FUTEX = 4238 + SYS_SCHED_SETAFFINITY = 4239 + SYS_SCHED_GETAFFINITY = 4240 + SYS_IO_SETUP = 4241 + SYS_IO_DESTROY = 4242 + SYS_IO_GETEVENTS = 4243 + SYS_IO_SUBMIT = 4244 + SYS_IO_CANCEL = 4245 + SYS_EXIT_GROUP = 4246 + SYS_LOOKUP_DCOOKIE = 4247 + SYS_EPOLL_CREATE = 4248 + SYS_EPOLL_CTL = 4249 + SYS_EPOLL_WAIT = 4250 + SYS_REMAP_FILE_PAGES = 4251 + SYS_SET_TID_ADDRESS = 4252 + SYS_RESTART_SYSCALL = 4253 + SYS_FADVISE64 = 4254 + SYS_STATFS64 = 4255 + SYS_FSTATFS64 = 4256 + SYS_TIMER_CREATE = 4257 + SYS_TIMER_SETTIME = 4258 + SYS_TIMER_GETTIME = 4259 + SYS_TIMER_GETOVERRUN = 4260 + SYS_TIMER_DELETE = 4261 + SYS_CLOCK_SETTIME = 4262 + SYS_CLOCK_GETTIME = 4263 + SYS_CLOCK_GETRES = 4264 + SYS_CLOCK_NANOSLEEP = 4265 + SYS_TGKILL = 4266 + SYS_UTIMES = 4267 + SYS_MBIND = 4268 + SYS_GET_MEMPOLICY = 4269 + SYS_SET_MEMPOLICY = 4270 + SYS_MQ_OPEN = 4271 + SYS_MQ_UNLINK = 4272 + SYS_MQ_TIMEDSEND = 4273 + SYS_MQ_TIMEDRECEIVE = 4274 + SYS_MQ_NOTIFY = 4275 + SYS_MQ_GETSETATTR = 4276 + SYS_VSERVER = 4277 + SYS_WAITID = 4278 + SYS_ADD_KEY = 4280 + SYS_REQUEST_KEY = 4281 + SYS_KEYCTL = 4282 + SYS_SET_THREAD_AREA = 4283 + SYS_INOTIFY_INIT = 4284 + SYS_INOTIFY_ADD_WATCH = 4285 + SYS_INOTIFY_RM_WATCH = 4286 + SYS_MIGRATE_PAGES = 4287 + SYS_OPENAT = 4288 + SYS_MKDIRAT = 4289 + SYS_MKNODAT = 4290 + SYS_FCHOWNAT = 4291 + SYS_FUTIMESAT = 4292 + SYS_FSTATAT64 = 4293 + SYS_UNLINKAT = 4294 + SYS_RENAMEAT = 4295 + SYS_LINKAT = 4296 + SYS_SYMLINKAT = 4297 + SYS_READLINKAT = 4298 + SYS_FCHMODAT = 4299 + SYS_FACCESSAT = 4300 + SYS_PSELECT6 = 4301 + SYS_PPOLL = 4302 + SYS_UNSHARE = 4303 + SYS_SPLICE = 4304 + SYS_SYNC_FILE_RANGE = 4305 + SYS_TEE = 4306 + SYS_VMSPLICE = 4307 + SYS_MOVE_PAGES = 4308 + SYS_SET_ROBUST_LIST = 4309 + SYS_GET_ROBUST_LIST = 4310 + SYS_KEXEC_LOAD = 4311 + SYS_GETCPU = 4312 + SYS_EPOLL_PWAIT = 4313 + SYS_IOPRIO_SET = 4314 + SYS_IOPRIO_GET = 4315 + SYS_UTIMENSAT = 4316 + SYS_SIGNALFD = 4317 + SYS_TIMERFD = 4318 + SYS_EVENTFD = 4319 + SYS_FALLOCATE = 4320 + SYS_TIMERFD_CREATE = 4321 + SYS_TIMERFD_GETTIME = 4322 + SYS_TIMERFD_SETTIME = 4323 + SYS_SIGNALFD4 = 4324 + SYS_EVENTFD2 = 4325 + SYS_EPOLL_CREATE1 = 4326 + SYS_DUP3 = 4327 + SYS_PIPE2 = 4328 + SYS_INOTIFY_INIT1 = 4329 + SYS_PREADV = 4330 + SYS_PWRITEV = 4331 + SYS_RT_TGSIGQUEUEINFO = 4332 + SYS_PERF_EVENT_OPEN = 4333 + SYS_ACCEPT4 = 4334 + SYS_RECVMMSG = 4335 + SYS_FANOTIFY_INIT = 4336 + SYS_FANOTIFY_MARK = 4337 + SYS_PRLIMIT64 = 4338 + SYS_NAME_TO_HANDLE_AT = 4339 + SYS_OPEN_BY_HANDLE_AT = 4340 + SYS_CLOCK_ADJTIME = 4341 + SYS_SYNCFS = 4342 + SYS_SENDMMSG = 4343 + SYS_SETNS = 4344 + SYS_PROCESS_VM_READV = 4345 + SYS_PROCESS_VM_WRITEV = 4346 + SYS_KCMP = 4347 + SYS_FINIT_MODULE = 4348 + SYS_SCHED_SETATTR = 4349 + SYS_SCHED_GETATTR = 4350 + SYS_RENAMEAT2 = 4351 + SYS_SECCOMP = 4352 + SYS_GETRANDOM = 4353 + SYS_MEMFD_CREATE = 4354 + SYS_BPF = 4355 + SYS_EXECVEAT = 4356 + SYS_USERFAULTFD = 4357 + SYS_MEMBARRIER = 4358 + SYS_MLOCK2 = 4359 + SYS_COPY_FILE_RANGE = 4360 + SYS_PREADV2 = 4361 + SYS_PWRITEV2 = 4362 + SYS_PKEY_MPROTECT = 4363 + SYS_PKEY_ALLOC = 4364 + SYS_PKEY_FREE = 4365 + SYS_STATX = 4366 + SYS_RSEQ = 4367 + SYS_IO_PGETEVENTS = 4368 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go new file mode 100644 index 000000000..ec5bde3d5 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go @@ -0,0 +1,375 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64,linux + +package unix + +const ( + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAITPID = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_TIME = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_BREAK = 17 + SYS_OLDSTAT = 18 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_UMOUNT = 22 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_STIME = 25 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_OLDFSTAT = 28 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_STTY = 31 + SYS_GTTY = 32 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_FTIME = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_PROF = 44 + SYS_BRK = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_SIGNAL = 48 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_LOCK = 53 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_MPX = 56 + SYS_SETPGID = 57 + SYS_ULIMIT = 58 + SYS_OLDOLDUNAME = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SGETMASK = 68 + SYS_SSETMASK = 69 + SYS_SETREUID = 70 + SYS_SETREGID = 71 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRLIMIT = 76 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_GETGROUPS = 80 + SYS_SETGROUPS = 81 + SYS_SELECT = 82 + SYS_SYMLINK = 83 + SYS_OLDLSTAT = 84 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_READDIR = 89 + SYS_MMAP = 90 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_FCHOWN = 95 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_PROFIL = 98 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_IOPERM = 101 + SYS_SOCKETCALL = 102 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_OLDUNAME = 109 + SYS_IOPL = 110 + SYS_VHANGUP = 111 + SYS_IDLE = 112 + SYS_VM86 = 113 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_IPC = 117 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_MODIFY_LDT = 123 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_CREATE_MODULE = 127 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_GET_KERNEL_SYMS = 130 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_AFS_SYSCALL = 137 + SYS_SETFSUID = 138 + SYS_SETFSGID = 139 + SYS__LLSEEK = 140 + SYS_GETDENTS = 141 + SYS__NEWSELECT = 142 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_SETRESUID = 164 + SYS_GETRESUID = 165 + SYS_QUERY_MODULE = 166 + SYS_POLL = 167 + SYS_NFSSERVCTL = 168 + SYS_SETRESGID = 169 + SYS_GETRESGID = 170 + SYS_PRCTL = 171 + SYS_RT_SIGRETURN = 172 + SYS_RT_SIGACTION = 173 + SYS_RT_SIGPROCMASK = 174 + SYS_RT_SIGPENDING = 175 + SYS_RT_SIGTIMEDWAIT = 176 + SYS_RT_SIGQUEUEINFO = 177 + SYS_RT_SIGSUSPEND = 178 + SYS_PREAD64 = 179 + SYS_PWRITE64 = 180 + SYS_CHOWN = 181 + SYS_GETCWD = 182 + SYS_CAPGET = 183 + SYS_CAPSET = 184 + SYS_SIGALTSTACK = 185 + SYS_SENDFILE = 186 + SYS_GETPMSG = 187 + SYS_PUTPMSG = 188 + SYS_VFORK = 189 + SYS_UGETRLIMIT = 190 + SYS_READAHEAD = 191 + SYS_PCICONFIG_READ = 198 + SYS_PCICONFIG_WRITE = 199 + SYS_PCICONFIG_IOBASE = 200 + SYS_MULTIPLEXER = 201 + SYS_GETDENTS64 = 202 + SYS_PIVOT_ROOT = 203 + SYS_MADVISE = 205 + SYS_MINCORE = 206 + SYS_GETTID = 207 + SYS_TKILL = 208 + SYS_SETXATTR = 209 + SYS_LSETXATTR = 210 + SYS_FSETXATTR = 211 + SYS_GETXATTR = 212 + SYS_LGETXATTR = 213 + SYS_FGETXATTR = 214 + SYS_LISTXATTR = 215 + SYS_LLISTXATTR = 216 + SYS_FLISTXATTR = 217 + SYS_REMOVEXATTR = 218 + SYS_LREMOVEXATTR = 219 + SYS_FREMOVEXATTR = 220 + SYS_FUTEX = 221 + SYS_SCHED_SETAFFINITY = 222 + SYS_SCHED_GETAFFINITY = 223 + SYS_TUXCALL = 225 + SYS_IO_SETUP = 227 + SYS_IO_DESTROY = 228 + SYS_IO_GETEVENTS = 229 + SYS_IO_SUBMIT = 230 + SYS_IO_CANCEL = 231 + SYS_SET_TID_ADDRESS = 232 + SYS_FADVISE64 = 233 + SYS_EXIT_GROUP = 234 + SYS_LOOKUP_DCOOKIE = 235 + SYS_EPOLL_CREATE = 236 + SYS_EPOLL_CTL = 237 + SYS_EPOLL_WAIT = 238 + SYS_REMAP_FILE_PAGES = 239 + SYS_TIMER_CREATE = 240 + SYS_TIMER_SETTIME = 241 + SYS_TIMER_GETTIME = 242 + SYS_TIMER_GETOVERRUN = 243 + SYS_TIMER_DELETE = 244 + SYS_CLOCK_SETTIME = 245 + SYS_CLOCK_GETTIME = 246 + SYS_CLOCK_GETRES = 247 + SYS_CLOCK_NANOSLEEP = 248 + SYS_SWAPCONTEXT = 249 + SYS_TGKILL = 250 + SYS_UTIMES = 251 + SYS_STATFS64 = 252 + SYS_FSTATFS64 = 253 + SYS_RTAS = 255 + SYS_SYS_DEBUG_SETCONTEXT = 256 + SYS_MIGRATE_PAGES = 258 + SYS_MBIND = 259 + SYS_GET_MEMPOLICY = 260 + SYS_SET_MEMPOLICY = 261 + SYS_MQ_OPEN = 262 + SYS_MQ_UNLINK = 263 + SYS_MQ_TIMEDSEND = 264 + SYS_MQ_TIMEDRECEIVE = 265 + SYS_MQ_NOTIFY = 266 + SYS_MQ_GETSETATTR = 267 + SYS_KEXEC_LOAD = 268 + SYS_ADD_KEY = 269 + SYS_REQUEST_KEY = 270 + SYS_KEYCTL = 271 + SYS_WAITID = 272 + SYS_IOPRIO_SET = 273 + SYS_IOPRIO_GET = 274 + SYS_INOTIFY_INIT = 275 + SYS_INOTIFY_ADD_WATCH = 276 + SYS_INOTIFY_RM_WATCH = 277 + SYS_SPU_RUN = 278 + SYS_SPU_CREATE = 279 + SYS_PSELECT6 = 280 + SYS_PPOLL = 281 + SYS_UNSHARE = 282 + SYS_SPLICE = 283 + SYS_TEE = 284 + SYS_VMSPLICE = 285 + SYS_OPENAT = 286 + SYS_MKDIRAT = 287 + SYS_MKNODAT = 288 + SYS_FCHOWNAT = 289 + SYS_FUTIMESAT = 290 + SYS_NEWFSTATAT = 291 + SYS_UNLINKAT = 292 + SYS_RENAMEAT = 293 + SYS_LINKAT = 294 + SYS_SYMLINKAT = 295 + SYS_READLINKAT = 296 + SYS_FCHMODAT = 297 + SYS_FACCESSAT = 298 + SYS_GET_ROBUST_LIST = 299 + SYS_SET_ROBUST_LIST = 300 + SYS_MOVE_PAGES = 301 + SYS_GETCPU = 302 + SYS_EPOLL_PWAIT = 303 + SYS_UTIMENSAT = 304 + SYS_SIGNALFD = 305 + SYS_TIMERFD_CREATE = 306 + SYS_EVENTFD = 307 + SYS_SYNC_FILE_RANGE2 = 308 + SYS_FALLOCATE = 309 + SYS_SUBPAGE_PROT = 310 + SYS_TIMERFD_SETTIME = 311 + SYS_TIMERFD_GETTIME = 312 + SYS_SIGNALFD4 = 313 + SYS_EVENTFD2 = 314 + SYS_EPOLL_CREATE1 = 315 + SYS_DUP3 = 316 + SYS_PIPE2 = 317 + SYS_INOTIFY_INIT1 = 318 + SYS_PERF_EVENT_OPEN = 319 + SYS_PREADV = 320 + SYS_PWRITEV = 321 + SYS_RT_TGSIGQUEUEINFO = 322 + SYS_FANOTIFY_INIT = 323 + SYS_FANOTIFY_MARK = 324 + SYS_PRLIMIT64 = 325 + SYS_SOCKET = 326 + SYS_BIND = 327 + SYS_CONNECT = 328 + SYS_LISTEN = 329 + SYS_ACCEPT = 330 + SYS_GETSOCKNAME = 331 + SYS_GETPEERNAME = 332 + SYS_SOCKETPAIR = 333 + SYS_SEND = 334 + SYS_SENDTO = 335 + SYS_RECV = 336 + SYS_RECVFROM = 337 + SYS_SHUTDOWN = 338 + SYS_SETSOCKOPT = 339 + SYS_GETSOCKOPT = 340 + SYS_SENDMSG = 341 + SYS_RECVMSG = 342 + SYS_RECVMMSG = 343 + SYS_ACCEPT4 = 344 + SYS_NAME_TO_HANDLE_AT = 345 + SYS_OPEN_BY_HANDLE_AT = 346 + SYS_CLOCK_ADJTIME = 347 + SYS_SYNCFS = 348 + SYS_SENDMMSG = 349 + SYS_SETNS = 350 + SYS_PROCESS_VM_READV = 351 + SYS_PROCESS_VM_WRITEV = 352 + SYS_FINIT_MODULE = 353 + SYS_KCMP = 354 + SYS_SCHED_SETATTR = 355 + SYS_SCHED_GETATTR = 356 + SYS_RENAMEAT2 = 357 + SYS_SECCOMP = 358 + SYS_GETRANDOM = 359 + SYS_MEMFD_CREATE = 360 + SYS_BPF = 361 + SYS_EXECVEAT = 362 + SYS_SWITCH_ENDIAN = 363 + SYS_USERFAULTFD = 364 + SYS_MEMBARRIER = 365 + SYS_MLOCK2 = 378 + SYS_COPY_FILE_RANGE = 379 + SYS_PREADV2 = 380 + SYS_PWRITEV2 = 381 + SYS_KEXEC_FILE_LOAD = 382 + SYS_STATX = 383 + SYS_PKEY_ALLOC = 384 + SYS_PKEY_FREE = 385 + SYS_PKEY_MPROTECT = 386 + SYS_RSEQ = 387 + SYS_IO_PGETEVENTS = 388 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go new file mode 100644 index 000000000..bdbabdbcd --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go @@ -0,0 +1,375 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64le,linux + +package unix + +const ( + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAITPID = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_TIME = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_BREAK = 17 + SYS_OLDSTAT = 18 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_UMOUNT = 22 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_STIME = 25 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_OLDFSTAT = 28 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_STTY = 31 + SYS_GTTY = 32 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_FTIME = 35 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_PROF = 44 + SYS_BRK = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_SIGNAL = 48 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_LOCK = 53 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_MPX = 56 + SYS_SETPGID = 57 + SYS_ULIMIT = 58 + SYS_OLDOLDUNAME = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SGETMASK = 68 + SYS_SSETMASK = 69 + SYS_SETREUID = 70 + SYS_SETREGID = 71 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRLIMIT = 76 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_GETGROUPS = 80 + SYS_SETGROUPS = 81 + SYS_SELECT = 82 + SYS_SYMLINK = 83 + SYS_OLDLSTAT = 84 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_READDIR = 89 + SYS_MMAP = 90 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_FCHOWN = 95 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_PROFIL = 98 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_IOPERM = 101 + SYS_SOCKETCALL = 102 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_OLDUNAME = 109 + SYS_IOPL = 110 + SYS_VHANGUP = 111 + SYS_IDLE = 112 + SYS_VM86 = 113 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_IPC = 117 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_MODIFY_LDT = 123 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_CREATE_MODULE = 127 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_GET_KERNEL_SYMS = 130 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_AFS_SYSCALL = 137 + SYS_SETFSUID = 138 + SYS_SETFSGID = 139 + SYS__LLSEEK = 140 + SYS_GETDENTS = 141 + SYS__NEWSELECT = 142 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_SETRESUID = 164 + SYS_GETRESUID = 165 + SYS_QUERY_MODULE = 166 + SYS_POLL = 167 + SYS_NFSSERVCTL = 168 + SYS_SETRESGID = 169 + SYS_GETRESGID = 170 + SYS_PRCTL = 171 + SYS_RT_SIGRETURN = 172 + SYS_RT_SIGACTION = 173 + SYS_RT_SIGPROCMASK = 174 + SYS_RT_SIGPENDING = 175 + SYS_RT_SIGTIMEDWAIT = 176 + SYS_RT_SIGQUEUEINFO = 177 + SYS_RT_SIGSUSPEND = 178 + SYS_PREAD64 = 179 + SYS_PWRITE64 = 180 + SYS_CHOWN = 181 + SYS_GETCWD = 182 + SYS_CAPGET = 183 + SYS_CAPSET = 184 + SYS_SIGALTSTACK = 185 + SYS_SENDFILE = 186 + SYS_GETPMSG = 187 + SYS_PUTPMSG = 188 + SYS_VFORK = 189 + SYS_UGETRLIMIT = 190 + SYS_READAHEAD = 191 + SYS_PCICONFIG_READ = 198 + SYS_PCICONFIG_WRITE = 199 + SYS_PCICONFIG_IOBASE = 200 + SYS_MULTIPLEXER = 201 + SYS_GETDENTS64 = 202 + SYS_PIVOT_ROOT = 203 + SYS_MADVISE = 205 + SYS_MINCORE = 206 + SYS_GETTID = 207 + SYS_TKILL = 208 + SYS_SETXATTR = 209 + SYS_LSETXATTR = 210 + SYS_FSETXATTR = 211 + SYS_GETXATTR = 212 + SYS_LGETXATTR = 213 + SYS_FGETXATTR = 214 + SYS_LISTXATTR = 215 + SYS_LLISTXATTR = 216 + SYS_FLISTXATTR = 217 + SYS_REMOVEXATTR = 218 + SYS_LREMOVEXATTR = 219 + SYS_FREMOVEXATTR = 220 + SYS_FUTEX = 221 + SYS_SCHED_SETAFFINITY = 222 + SYS_SCHED_GETAFFINITY = 223 + SYS_TUXCALL = 225 + SYS_IO_SETUP = 227 + SYS_IO_DESTROY = 228 + SYS_IO_GETEVENTS = 229 + SYS_IO_SUBMIT = 230 + SYS_IO_CANCEL = 231 + SYS_SET_TID_ADDRESS = 232 + SYS_FADVISE64 = 233 + SYS_EXIT_GROUP = 234 + SYS_LOOKUP_DCOOKIE = 235 + SYS_EPOLL_CREATE = 236 + SYS_EPOLL_CTL = 237 + SYS_EPOLL_WAIT = 238 + SYS_REMAP_FILE_PAGES = 239 + SYS_TIMER_CREATE = 240 + SYS_TIMER_SETTIME = 241 + SYS_TIMER_GETTIME = 242 + SYS_TIMER_GETOVERRUN = 243 + SYS_TIMER_DELETE = 244 + SYS_CLOCK_SETTIME = 245 + SYS_CLOCK_GETTIME = 246 + SYS_CLOCK_GETRES = 247 + SYS_CLOCK_NANOSLEEP = 248 + SYS_SWAPCONTEXT = 249 + SYS_TGKILL = 250 + SYS_UTIMES = 251 + SYS_STATFS64 = 252 + SYS_FSTATFS64 = 253 + SYS_RTAS = 255 + SYS_SYS_DEBUG_SETCONTEXT = 256 + SYS_MIGRATE_PAGES = 258 + SYS_MBIND = 259 + SYS_GET_MEMPOLICY = 260 + SYS_SET_MEMPOLICY = 261 + SYS_MQ_OPEN = 262 + SYS_MQ_UNLINK = 263 + SYS_MQ_TIMEDSEND = 264 + SYS_MQ_TIMEDRECEIVE = 265 + SYS_MQ_NOTIFY = 266 + SYS_MQ_GETSETATTR = 267 + SYS_KEXEC_LOAD = 268 + SYS_ADD_KEY = 269 + SYS_REQUEST_KEY = 270 + SYS_KEYCTL = 271 + SYS_WAITID = 272 + SYS_IOPRIO_SET = 273 + SYS_IOPRIO_GET = 274 + SYS_INOTIFY_INIT = 275 + SYS_INOTIFY_ADD_WATCH = 276 + SYS_INOTIFY_RM_WATCH = 277 + SYS_SPU_RUN = 278 + SYS_SPU_CREATE = 279 + SYS_PSELECT6 = 280 + SYS_PPOLL = 281 + SYS_UNSHARE = 282 + SYS_SPLICE = 283 + SYS_TEE = 284 + SYS_VMSPLICE = 285 + SYS_OPENAT = 286 + SYS_MKDIRAT = 287 + SYS_MKNODAT = 288 + SYS_FCHOWNAT = 289 + SYS_FUTIMESAT = 290 + SYS_NEWFSTATAT = 291 + SYS_UNLINKAT = 292 + SYS_RENAMEAT = 293 + SYS_LINKAT = 294 + SYS_SYMLINKAT = 295 + SYS_READLINKAT = 296 + SYS_FCHMODAT = 297 + SYS_FACCESSAT = 298 + SYS_GET_ROBUST_LIST = 299 + SYS_SET_ROBUST_LIST = 300 + SYS_MOVE_PAGES = 301 + SYS_GETCPU = 302 + SYS_EPOLL_PWAIT = 303 + SYS_UTIMENSAT = 304 + SYS_SIGNALFD = 305 + SYS_TIMERFD_CREATE = 306 + SYS_EVENTFD = 307 + SYS_SYNC_FILE_RANGE2 = 308 + SYS_FALLOCATE = 309 + SYS_SUBPAGE_PROT = 310 + SYS_TIMERFD_SETTIME = 311 + SYS_TIMERFD_GETTIME = 312 + SYS_SIGNALFD4 = 313 + SYS_EVENTFD2 = 314 + SYS_EPOLL_CREATE1 = 315 + SYS_DUP3 = 316 + SYS_PIPE2 = 317 + SYS_INOTIFY_INIT1 = 318 + SYS_PERF_EVENT_OPEN = 319 + SYS_PREADV = 320 + SYS_PWRITEV = 321 + SYS_RT_TGSIGQUEUEINFO = 322 + SYS_FANOTIFY_INIT = 323 + SYS_FANOTIFY_MARK = 324 + SYS_PRLIMIT64 = 325 + SYS_SOCKET = 326 + SYS_BIND = 327 + SYS_CONNECT = 328 + SYS_LISTEN = 329 + SYS_ACCEPT = 330 + SYS_GETSOCKNAME = 331 + SYS_GETPEERNAME = 332 + SYS_SOCKETPAIR = 333 + SYS_SEND = 334 + SYS_SENDTO = 335 + SYS_RECV = 336 + SYS_RECVFROM = 337 + SYS_SHUTDOWN = 338 + SYS_SETSOCKOPT = 339 + SYS_GETSOCKOPT = 340 + SYS_SENDMSG = 341 + SYS_RECVMSG = 342 + SYS_RECVMMSG = 343 + SYS_ACCEPT4 = 344 + SYS_NAME_TO_HANDLE_AT = 345 + SYS_OPEN_BY_HANDLE_AT = 346 + SYS_CLOCK_ADJTIME = 347 + SYS_SYNCFS = 348 + SYS_SENDMMSG = 349 + SYS_SETNS = 350 + SYS_PROCESS_VM_READV = 351 + SYS_PROCESS_VM_WRITEV = 352 + SYS_FINIT_MODULE = 353 + SYS_KCMP = 354 + SYS_SCHED_SETATTR = 355 + SYS_SCHED_GETATTR = 356 + SYS_RENAMEAT2 = 357 + SYS_SECCOMP = 358 + SYS_GETRANDOM = 359 + SYS_MEMFD_CREATE = 360 + SYS_BPF = 361 + SYS_EXECVEAT = 362 + SYS_SWITCH_ENDIAN = 363 + SYS_USERFAULTFD = 364 + SYS_MEMBARRIER = 365 + SYS_MLOCK2 = 378 + SYS_COPY_FILE_RANGE = 379 + SYS_PREADV2 = 380 + SYS_PWRITEV2 = 381 + SYS_KEXEC_FILE_LOAD = 382 + SYS_STATX = 383 + SYS_PKEY_ALLOC = 384 + SYS_PKEY_FREE = 385 + SYS_PKEY_MPROTECT = 386 + SYS_RSEQ = 387 + SYS_IO_PGETEVENTS = 388 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go new file mode 100644 index 000000000..473c74613 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go @@ -0,0 +1,287 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build riscv64,linux + +package unix + +const ( + SYS_IO_SETUP = 0 + SYS_IO_DESTROY = 1 + SYS_IO_SUBMIT = 2 + SYS_IO_CANCEL = 3 + SYS_IO_GETEVENTS = 4 + SYS_SETXATTR = 5 + SYS_LSETXATTR = 6 + SYS_FSETXATTR = 7 + SYS_GETXATTR = 8 + SYS_LGETXATTR = 9 + SYS_FGETXATTR = 10 + SYS_LISTXATTR = 11 + SYS_LLISTXATTR = 12 + SYS_FLISTXATTR = 13 + SYS_REMOVEXATTR = 14 + SYS_LREMOVEXATTR = 15 + SYS_FREMOVEXATTR = 16 + SYS_GETCWD = 17 + SYS_LOOKUP_DCOOKIE = 18 + SYS_EVENTFD2 = 19 + SYS_EPOLL_CREATE1 = 20 + SYS_EPOLL_CTL = 21 + SYS_EPOLL_PWAIT = 22 + SYS_DUP = 23 + SYS_DUP3 = 24 + SYS_FCNTL = 25 + SYS_INOTIFY_INIT1 = 26 + SYS_INOTIFY_ADD_WATCH = 27 + SYS_INOTIFY_RM_WATCH = 28 + SYS_IOCTL = 29 + SYS_IOPRIO_SET = 30 + SYS_IOPRIO_GET = 31 + SYS_FLOCK = 32 + SYS_MKNODAT = 33 + SYS_MKDIRAT = 34 + SYS_UNLINKAT = 35 + SYS_SYMLINKAT = 36 + SYS_LINKAT = 37 + SYS_UMOUNT2 = 39 + SYS_MOUNT = 40 + SYS_PIVOT_ROOT = 41 + SYS_NFSSERVCTL = 42 + SYS_STATFS = 43 + SYS_FSTATFS = 44 + SYS_TRUNCATE = 45 + SYS_FTRUNCATE = 46 + SYS_FALLOCATE = 47 + SYS_FACCESSAT = 48 + SYS_CHDIR = 49 + SYS_FCHDIR = 50 + SYS_CHROOT = 51 + SYS_FCHMOD = 52 + SYS_FCHMODAT = 53 + SYS_FCHOWNAT = 54 + SYS_FCHOWN = 55 + SYS_OPENAT = 56 + SYS_CLOSE = 57 + SYS_VHANGUP = 58 + SYS_PIPE2 = 59 + SYS_QUOTACTL = 60 + SYS_GETDENTS64 = 61 + SYS_LSEEK = 62 + SYS_READ = 63 + SYS_WRITE = 64 + SYS_READV = 65 + SYS_WRITEV = 66 + SYS_PREAD64 = 67 + SYS_PWRITE64 = 68 + SYS_PREADV = 69 + SYS_PWRITEV = 70 + SYS_SENDFILE = 71 + SYS_PSELECT6 = 72 + SYS_PPOLL = 73 + SYS_SIGNALFD4 = 74 + SYS_VMSPLICE = 75 + SYS_SPLICE = 76 + SYS_TEE = 77 + SYS_READLINKAT = 78 + SYS_FSTATAT = 79 + SYS_FSTAT = 80 + SYS_SYNC = 81 + SYS_FSYNC = 82 + SYS_FDATASYNC = 83 + SYS_SYNC_FILE_RANGE = 84 + SYS_TIMERFD_CREATE = 85 + SYS_TIMERFD_SETTIME = 86 + SYS_TIMERFD_GETTIME = 87 + SYS_UTIMENSAT = 88 + SYS_ACCT = 89 + SYS_CAPGET = 90 + SYS_CAPSET = 91 + SYS_PERSONALITY = 92 + SYS_EXIT = 93 + SYS_EXIT_GROUP = 94 + SYS_WAITID = 95 + SYS_SET_TID_ADDRESS = 96 + SYS_UNSHARE = 97 + SYS_FUTEX = 98 + SYS_SET_ROBUST_LIST = 99 + SYS_GET_ROBUST_LIST = 100 + SYS_NANOSLEEP = 101 + SYS_GETITIMER = 102 + SYS_SETITIMER = 103 + SYS_KEXEC_LOAD = 104 + SYS_INIT_MODULE = 105 + SYS_DELETE_MODULE = 106 + SYS_TIMER_CREATE = 107 + SYS_TIMER_GETTIME = 108 + SYS_TIMER_GETOVERRUN = 109 + SYS_TIMER_SETTIME = 110 + SYS_TIMER_DELETE = 111 + SYS_CLOCK_SETTIME = 112 + SYS_CLOCK_GETTIME = 113 + SYS_CLOCK_GETRES = 114 + SYS_CLOCK_NANOSLEEP = 115 + SYS_SYSLOG = 116 + SYS_PTRACE = 117 + SYS_SCHED_SETPARAM = 118 + SYS_SCHED_SETSCHEDULER = 119 + SYS_SCHED_GETSCHEDULER = 120 + SYS_SCHED_GETPARAM = 121 + SYS_SCHED_SETAFFINITY = 122 + SYS_SCHED_GETAFFINITY = 123 + SYS_SCHED_YIELD = 124 + SYS_SCHED_GET_PRIORITY_MAX = 125 + SYS_SCHED_GET_PRIORITY_MIN = 126 + SYS_SCHED_RR_GET_INTERVAL = 127 + SYS_RESTART_SYSCALL = 128 + SYS_KILL = 129 + SYS_TKILL = 130 + SYS_TGKILL = 131 + SYS_SIGALTSTACK = 132 + SYS_RT_SIGSUSPEND = 133 + SYS_RT_SIGACTION = 134 + SYS_RT_SIGPROCMASK = 135 + SYS_RT_SIGPENDING = 136 + SYS_RT_SIGTIMEDWAIT = 137 + SYS_RT_SIGQUEUEINFO = 138 + SYS_RT_SIGRETURN = 139 + SYS_SETPRIORITY = 140 + SYS_GETPRIORITY = 141 + SYS_REBOOT = 142 + SYS_SETREGID = 143 + SYS_SETGID = 144 + SYS_SETREUID = 145 + SYS_SETUID = 146 + SYS_SETRESUID = 147 + SYS_GETRESUID = 148 + SYS_SETRESGID = 149 + SYS_GETRESGID = 150 + SYS_SETFSUID = 151 + SYS_SETFSGID = 152 + SYS_TIMES = 153 + SYS_SETPGID = 154 + SYS_GETPGID = 155 + SYS_GETSID = 156 + SYS_SETSID = 157 + SYS_GETGROUPS = 158 + SYS_SETGROUPS = 159 + SYS_UNAME = 160 + SYS_SETHOSTNAME = 161 + SYS_SETDOMAINNAME = 162 + SYS_GETRLIMIT = 163 + SYS_SETRLIMIT = 164 + SYS_GETRUSAGE = 165 + SYS_UMASK = 166 + SYS_PRCTL = 167 + SYS_GETCPU = 168 + SYS_GETTIMEOFDAY = 169 + SYS_SETTIMEOFDAY = 170 + SYS_ADJTIMEX = 171 + SYS_GETPID = 172 + SYS_GETPPID = 173 + SYS_GETUID = 174 + SYS_GETEUID = 175 + SYS_GETGID = 176 + SYS_GETEGID = 177 + SYS_GETTID = 178 + SYS_SYSINFO = 179 + SYS_MQ_OPEN = 180 + SYS_MQ_UNLINK = 181 + SYS_MQ_TIMEDSEND = 182 + SYS_MQ_TIMEDRECEIVE = 183 + SYS_MQ_NOTIFY = 184 + SYS_MQ_GETSETATTR = 185 + SYS_MSGGET = 186 + SYS_MSGCTL = 187 + SYS_MSGRCV = 188 + SYS_MSGSND = 189 + SYS_SEMGET = 190 + SYS_SEMCTL = 191 + SYS_SEMTIMEDOP = 192 + SYS_SEMOP = 193 + SYS_SHMGET = 194 + SYS_SHMCTL = 195 + SYS_SHMAT = 196 + SYS_SHMDT = 197 + SYS_SOCKET = 198 + SYS_SOCKETPAIR = 199 + SYS_BIND = 200 + SYS_LISTEN = 201 + SYS_ACCEPT = 202 + SYS_CONNECT = 203 + SYS_GETSOCKNAME = 204 + SYS_GETPEERNAME = 205 + SYS_SENDTO = 206 + SYS_RECVFROM = 207 + SYS_SETSOCKOPT = 208 + SYS_GETSOCKOPT = 209 + SYS_SHUTDOWN = 210 + SYS_SENDMSG = 211 + SYS_RECVMSG = 212 + SYS_READAHEAD = 213 + SYS_BRK = 214 + SYS_MUNMAP = 215 + SYS_MREMAP = 216 + SYS_ADD_KEY = 217 + SYS_REQUEST_KEY = 218 + SYS_KEYCTL = 219 + SYS_CLONE = 220 + SYS_EXECVE = 221 + SYS_MMAP = 222 + SYS_FADVISE64 = 223 + SYS_SWAPON = 224 + SYS_SWAPOFF = 225 + SYS_MPROTECT = 226 + SYS_MSYNC = 227 + SYS_MLOCK = 228 + SYS_MUNLOCK = 229 + SYS_MLOCKALL = 230 + SYS_MUNLOCKALL = 231 + SYS_MINCORE = 232 + SYS_MADVISE = 233 + SYS_REMAP_FILE_PAGES = 234 + SYS_MBIND = 235 + SYS_GET_MEMPOLICY = 236 + SYS_SET_MEMPOLICY = 237 + SYS_MIGRATE_PAGES = 238 + SYS_MOVE_PAGES = 239 + SYS_RT_TGSIGQUEUEINFO = 240 + SYS_PERF_EVENT_OPEN = 241 + SYS_ACCEPT4 = 242 + SYS_RECVMMSG = 243 + SYS_ARCH_SPECIFIC_SYSCALL = 244 + SYS_WAIT4 = 260 + SYS_PRLIMIT64 = 261 + SYS_FANOTIFY_INIT = 262 + SYS_FANOTIFY_MARK = 263 + SYS_NAME_TO_HANDLE_AT = 264 + SYS_OPEN_BY_HANDLE_AT = 265 + SYS_CLOCK_ADJTIME = 266 + SYS_SYNCFS = 267 + SYS_SETNS = 268 + SYS_SENDMMSG = 269 + SYS_PROCESS_VM_READV = 270 + SYS_PROCESS_VM_WRITEV = 271 + SYS_KCMP = 272 + SYS_FINIT_MODULE = 273 + SYS_SCHED_SETATTR = 274 + SYS_SCHED_GETATTR = 275 + SYS_RENAMEAT2 = 276 + SYS_SECCOMP = 277 + SYS_GETRANDOM = 278 + SYS_MEMFD_CREATE = 279 + SYS_BPF = 280 + SYS_EXECVEAT = 281 + SYS_USERFAULTFD = 282 + SYS_MEMBARRIER = 283 + SYS_MLOCK2 = 284 + SYS_COPY_FILE_RANGE = 285 + SYS_PREADV2 = 286 + SYS_PWRITEV2 = 287 + SYS_PKEY_MPROTECT = 288 + SYS_PKEY_ALLOC = 289 + SYS_PKEY_FREE = 290 + SYS_STATX = 291 + SYS_IO_PGETEVENTS = 292 + SYS_RSEQ = 293 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go new file mode 100644 index 000000000..6eb7c257f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go @@ -0,0 +1,337 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include -fsigned-char /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build s390x,linux + +package unix + +const ( + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_RESTART_SYSCALL = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECVE = 11 + SYS_CHDIR = 12 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_MOUNT = 21 + SYS_UMOUNT = 22 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_RENAME = 38 + SYS_MKDIR = 39 + SYS_RMDIR = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_BRK = 45 + SYS_SIGNAL = 48 + SYS_ACCT = 51 + SYS_UMOUNT2 = 52 + SYS_IOCTL = 54 + SYS_FCNTL = 55 + SYS_SETPGID = 57 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_USTAT = 62 + SYS_DUP2 = 63 + SYS_GETPPID = 64 + SYS_GETPGRP = 65 + SYS_SETSID = 66 + SYS_SIGACTION = 67 + SYS_SIGSUSPEND = 72 + SYS_SIGPENDING = 73 + SYS_SETHOSTNAME = 74 + SYS_SETRLIMIT = 75 + SYS_GETRUSAGE = 77 + SYS_GETTIMEOFDAY = 78 + SYS_SETTIMEOFDAY = 79 + SYS_SYMLINK = 83 + SYS_READLINK = 85 + SYS_USELIB = 86 + SYS_SWAPON = 87 + SYS_REBOOT = 88 + SYS_READDIR = 89 + SYS_MMAP = 90 + SYS_MUNMAP = 91 + SYS_TRUNCATE = 92 + SYS_FTRUNCATE = 93 + SYS_FCHMOD = 94 + SYS_GETPRIORITY = 96 + SYS_SETPRIORITY = 97 + SYS_STATFS = 99 + SYS_FSTATFS = 100 + SYS_SOCKETCALL = 102 + SYS_SYSLOG = 103 + SYS_SETITIMER = 104 + SYS_GETITIMER = 105 + SYS_STAT = 106 + SYS_LSTAT = 107 + SYS_FSTAT = 108 + SYS_LOOKUP_DCOOKIE = 110 + SYS_VHANGUP = 111 + SYS_IDLE = 112 + SYS_WAIT4 = 114 + SYS_SWAPOFF = 115 + SYS_SYSINFO = 116 + SYS_IPC = 117 + SYS_FSYNC = 118 + SYS_SIGRETURN = 119 + SYS_CLONE = 120 + SYS_SETDOMAINNAME = 121 + SYS_UNAME = 122 + SYS_ADJTIMEX = 124 + SYS_MPROTECT = 125 + SYS_SIGPROCMASK = 126 + SYS_CREATE_MODULE = 127 + SYS_INIT_MODULE = 128 + SYS_DELETE_MODULE = 129 + SYS_GET_KERNEL_SYMS = 130 + SYS_QUOTACTL = 131 + SYS_GETPGID = 132 + SYS_FCHDIR = 133 + SYS_BDFLUSH = 134 + SYS_SYSFS = 135 + SYS_PERSONALITY = 136 + SYS_AFS_SYSCALL = 137 + SYS_GETDENTS = 141 + SYS_SELECT = 142 + SYS_FLOCK = 143 + SYS_MSYNC = 144 + SYS_READV = 145 + SYS_WRITEV = 146 + SYS_GETSID = 147 + SYS_FDATASYNC = 148 + SYS__SYSCTL = 149 + SYS_MLOCK = 150 + SYS_MUNLOCK = 151 + SYS_MLOCKALL = 152 + SYS_MUNLOCKALL = 153 + SYS_SCHED_SETPARAM = 154 + SYS_SCHED_GETPARAM = 155 + SYS_SCHED_SETSCHEDULER = 156 + SYS_SCHED_GETSCHEDULER = 157 + SYS_SCHED_YIELD = 158 + SYS_SCHED_GET_PRIORITY_MAX = 159 + SYS_SCHED_GET_PRIORITY_MIN = 160 + SYS_SCHED_RR_GET_INTERVAL = 161 + SYS_NANOSLEEP = 162 + SYS_MREMAP = 163 + SYS_QUERY_MODULE = 167 + SYS_POLL = 168 + SYS_NFSSERVCTL = 169 + SYS_PRCTL = 172 + SYS_RT_SIGRETURN = 173 + SYS_RT_SIGACTION = 174 + SYS_RT_SIGPROCMASK = 175 + SYS_RT_SIGPENDING = 176 + SYS_RT_SIGTIMEDWAIT = 177 + SYS_RT_SIGQUEUEINFO = 178 + SYS_RT_SIGSUSPEND = 179 + SYS_PREAD64 = 180 + SYS_PWRITE64 = 181 + SYS_GETCWD = 183 + SYS_CAPGET = 184 + SYS_CAPSET = 185 + SYS_SIGALTSTACK = 186 + SYS_SENDFILE = 187 + SYS_GETPMSG = 188 + SYS_PUTPMSG = 189 + SYS_VFORK = 190 + SYS_GETRLIMIT = 191 + SYS_LCHOWN = 198 + SYS_GETUID = 199 + SYS_GETGID = 200 + SYS_GETEUID = 201 + SYS_GETEGID = 202 + SYS_SETREUID = 203 + SYS_SETREGID = 204 + SYS_GETGROUPS = 205 + SYS_SETGROUPS = 206 + SYS_FCHOWN = 207 + SYS_SETRESUID = 208 + SYS_GETRESUID = 209 + SYS_SETRESGID = 210 + SYS_GETRESGID = 211 + SYS_CHOWN = 212 + SYS_SETUID = 213 + SYS_SETGID = 214 + SYS_SETFSUID = 215 + SYS_SETFSGID = 216 + SYS_PIVOT_ROOT = 217 + SYS_MINCORE = 218 + SYS_MADVISE = 219 + SYS_GETDENTS64 = 220 + SYS_READAHEAD = 222 + SYS_SETXATTR = 224 + SYS_LSETXATTR = 225 + SYS_FSETXATTR = 226 + SYS_GETXATTR = 227 + SYS_LGETXATTR = 228 + SYS_FGETXATTR = 229 + SYS_LISTXATTR = 230 + SYS_LLISTXATTR = 231 + SYS_FLISTXATTR = 232 + SYS_REMOVEXATTR = 233 + SYS_LREMOVEXATTR = 234 + SYS_FREMOVEXATTR = 235 + SYS_GETTID = 236 + SYS_TKILL = 237 + SYS_FUTEX = 238 + SYS_SCHED_SETAFFINITY = 239 + SYS_SCHED_GETAFFINITY = 240 + SYS_TGKILL = 241 + SYS_IO_SETUP = 243 + SYS_IO_DESTROY = 244 + SYS_IO_GETEVENTS = 245 + SYS_IO_SUBMIT = 246 + SYS_IO_CANCEL = 247 + SYS_EXIT_GROUP = 248 + SYS_EPOLL_CREATE = 249 + SYS_EPOLL_CTL = 250 + SYS_EPOLL_WAIT = 251 + SYS_SET_TID_ADDRESS = 252 + SYS_FADVISE64 = 253 + SYS_TIMER_CREATE = 254 + SYS_TIMER_SETTIME = 255 + SYS_TIMER_GETTIME = 256 + SYS_TIMER_GETOVERRUN = 257 + SYS_TIMER_DELETE = 258 + SYS_CLOCK_SETTIME = 259 + SYS_CLOCK_GETTIME = 260 + SYS_CLOCK_GETRES = 261 + SYS_CLOCK_NANOSLEEP = 262 + SYS_STATFS64 = 265 + SYS_FSTATFS64 = 266 + SYS_REMAP_FILE_PAGES = 267 + SYS_MBIND = 268 + SYS_GET_MEMPOLICY = 269 + SYS_SET_MEMPOLICY = 270 + SYS_MQ_OPEN = 271 + SYS_MQ_UNLINK = 272 + SYS_MQ_TIMEDSEND = 273 + SYS_MQ_TIMEDRECEIVE = 274 + SYS_MQ_NOTIFY = 275 + SYS_MQ_GETSETATTR = 276 + SYS_KEXEC_LOAD = 277 + SYS_ADD_KEY = 278 + SYS_REQUEST_KEY = 279 + SYS_KEYCTL = 280 + SYS_WAITID = 281 + SYS_IOPRIO_SET = 282 + SYS_IOPRIO_GET = 283 + SYS_INOTIFY_INIT = 284 + SYS_INOTIFY_ADD_WATCH = 285 + SYS_INOTIFY_RM_WATCH = 286 + SYS_MIGRATE_PAGES = 287 + SYS_OPENAT = 288 + SYS_MKDIRAT = 289 + SYS_MKNODAT = 290 + SYS_FCHOWNAT = 291 + SYS_FUTIMESAT = 292 + SYS_NEWFSTATAT = 293 + SYS_UNLINKAT = 294 + SYS_RENAMEAT = 295 + SYS_LINKAT = 296 + SYS_SYMLINKAT = 297 + SYS_READLINKAT = 298 + SYS_FCHMODAT = 299 + SYS_FACCESSAT = 300 + SYS_PSELECT6 = 301 + SYS_PPOLL = 302 + SYS_UNSHARE = 303 + SYS_SET_ROBUST_LIST = 304 + SYS_GET_ROBUST_LIST = 305 + SYS_SPLICE = 306 + SYS_SYNC_FILE_RANGE = 307 + SYS_TEE = 308 + SYS_VMSPLICE = 309 + SYS_MOVE_PAGES = 310 + SYS_GETCPU = 311 + SYS_EPOLL_PWAIT = 312 + SYS_UTIMES = 313 + SYS_FALLOCATE = 314 + SYS_UTIMENSAT = 315 + SYS_SIGNALFD = 316 + SYS_TIMERFD = 317 + SYS_EVENTFD = 318 + SYS_TIMERFD_CREATE = 319 + SYS_TIMERFD_SETTIME = 320 + SYS_TIMERFD_GETTIME = 321 + SYS_SIGNALFD4 = 322 + SYS_EVENTFD2 = 323 + SYS_INOTIFY_INIT1 = 324 + SYS_PIPE2 = 325 + SYS_DUP3 = 326 + SYS_EPOLL_CREATE1 = 327 + SYS_PREADV = 328 + SYS_PWRITEV = 329 + SYS_RT_TGSIGQUEUEINFO = 330 + SYS_PERF_EVENT_OPEN = 331 + SYS_FANOTIFY_INIT = 332 + SYS_FANOTIFY_MARK = 333 + SYS_PRLIMIT64 = 334 + SYS_NAME_TO_HANDLE_AT = 335 + SYS_OPEN_BY_HANDLE_AT = 336 + SYS_CLOCK_ADJTIME = 337 + SYS_SYNCFS = 338 + SYS_SETNS = 339 + SYS_PROCESS_VM_READV = 340 + SYS_PROCESS_VM_WRITEV = 341 + SYS_S390_RUNTIME_INSTR = 342 + SYS_KCMP = 343 + SYS_FINIT_MODULE = 344 + SYS_SCHED_SETATTR = 345 + SYS_SCHED_GETATTR = 346 + SYS_RENAMEAT2 = 347 + SYS_SECCOMP = 348 + SYS_GETRANDOM = 349 + SYS_MEMFD_CREATE = 350 + SYS_BPF = 351 + SYS_S390_PCI_MMIO_WRITE = 352 + SYS_S390_PCI_MMIO_READ = 353 + SYS_EXECVEAT = 354 + SYS_USERFAULTFD = 355 + SYS_MEMBARRIER = 356 + SYS_RECVMMSG = 357 + SYS_SENDMMSG = 358 + SYS_SOCKET = 359 + SYS_SOCKETPAIR = 360 + SYS_BIND = 361 + SYS_CONNECT = 362 + SYS_LISTEN = 363 + SYS_ACCEPT4 = 364 + SYS_GETSOCKOPT = 365 + SYS_SETSOCKOPT = 366 + SYS_GETSOCKNAME = 367 + SYS_GETPEERNAME = 368 + SYS_SENDTO = 369 + SYS_SENDMSG = 370 + SYS_RECVFROM = 371 + SYS_RECVMSG = 372 + SYS_SHUTDOWN = 373 + SYS_MLOCK2 = 374 + SYS_COPY_FILE_RANGE = 375 + SYS_PREADV2 = 376 + SYS_PWRITEV2 = 377 + SYS_S390_GUARDED_STORAGE = 378 + SYS_STATX = 379 + SYS_S390_STHYI = 380 + SYS_KEXEC_FILE_LOAD = 381 + SYS_IO_PGETEVENTS = 382 + SYS_RSEQ = 383 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go new file mode 100644 index 000000000..93480fcb1 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go @@ -0,0 +1,350 @@ +// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build sparc64,linux + +package unix + +const ( + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 + SYS_READ = 3 + SYS_WRITE = 4 + SYS_OPEN = 5 + SYS_CLOSE = 6 + SYS_WAIT4 = 7 + SYS_CREAT = 8 + SYS_LINK = 9 + SYS_UNLINK = 10 + SYS_EXECV = 11 + SYS_CHDIR = 12 + SYS_CHOWN = 13 + SYS_MKNOD = 14 + SYS_CHMOD = 15 + SYS_LCHOWN = 16 + SYS_BRK = 17 + SYS_PERFCTR = 18 + SYS_LSEEK = 19 + SYS_GETPID = 20 + SYS_CAPGET = 21 + SYS_CAPSET = 22 + SYS_SETUID = 23 + SYS_GETUID = 24 + SYS_VMSPLICE = 25 + SYS_PTRACE = 26 + SYS_ALARM = 27 + SYS_SIGALTSTACK = 28 + SYS_PAUSE = 29 + SYS_UTIME = 30 + SYS_ACCESS = 33 + SYS_NICE = 34 + SYS_SYNC = 36 + SYS_KILL = 37 + SYS_STAT = 38 + SYS_SENDFILE = 39 + SYS_LSTAT = 40 + SYS_DUP = 41 + SYS_PIPE = 42 + SYS_TIMES = 43 + SYS_UMOUNT2 = 45 + SYS_SETGID = 46 + SYS_GETGID = 47 + SYS_SIGNAL = 48 + SYS_GETEUID = 49 + SYS_GETEGID = 50 + SYS_ACCT = 51 + SYS_MEMORY_ORDERING = 52 + SYS_IOCTL = 54 + SYS_REBOOT = 55 + SYS_SYMLINK = 57 + SYS_READLINK = 58 + SYS_EXECVE = 59 + SYS_UMASK = 60 + SYS_CHROOT = 61 + SYS_FSTAT = 62 + SYS_FSTAT64 = 63 + SYS_GETPAGESIZE = 64 + SYS_MSYNC = 65 + SYS_VFORK = 66 + SYS_PREAD64 = 67 + SYS_PWRITE64 = 68 + SYS_MMAP = 71 + SYS_MUNMAP = 73 + SYS_MPROTECT = 74 + SYS_MADVISE = 75 + SYS_VHANGUP = 76 + SYS_MINCORE = 78 + SYS_GETGROUPS = 79 + SYS_SETGROUPS = 80 + SYS_GETPGRP = 81 + SYS_SETITIMER = 83 + SYS_SWAPON = 85 + SYS_GETITIMER = 86 + SYS_SETHOSTNAME = 88 + SYS_DUP2 = 90 + SYS_FCNTL = 92 + SYS_SELECT = 93 + SYS_FSYNC = 95 + SYS_SETPRIORITY = 96 + SYS_SOCKET = 97 + SYS_CONNECT = 98 + SYS_ACCEPT = 99 + SYS_GETPRIORITY = 100 + SYS_RT_SIGRETURN = 101 + SYS_RT_SIGACTION = 102 + SYS_RT_SIGPROCMASK = 103 + SYS_RT_SIGPENDING = 104 + SYS_RT_SIGTIMEDWAIT = 105 + SYS_RT_SIGQUEUEINFO = 106 + SYS_RT_SIGSUSPEND = 107 + SYS_SETRESUID = 108 + SYS_GETRESUID = 109 + SYS_SETRESGID = 110 + SYS_GETRESGID = 111 + SYS_RECVMSG = 113 + SYS_SENDMSG = 114 + SYS_GETTIMEOFDAY = 116 + SYS_GETRUSAGE = 117 + SYS_GETSOCKOPT = 118 + SYS_GETCWD = 119 + SYS_READV = 120 + SYS_WRITEV = 121 + SYS_SETTIMEOFDAY = 122 + SYS_FCHOWN = 123 + SYS_FCHMOD = 124 + SYS_RECVFROM = 125 + SYS_SETREUID = 126 + SYS_SETREGID = 127 + SYS_RENAME = 128 + SYS_TRUNCATE = 129 + SYS_FTRUNCATE = 130 + SYS_FLOCK = 131 + SYS_LSTAT64 = 132 + SYS_SENDTO = 133 + SYS_SHUTDOWN = 134 + SYS_SOCKETPAIR = 135 + SYS_MKDIR = 136 + SYS_RMDIR = 137 + SYS_UTIMES = 138 + SYS_STAT64 = 139 + SYS_SENDFILE64 = 140 + SYS_GETPEERNAME = 141 + SYS_FUTEX = 142 + SYS_GETTID = 143 + SYS_GETRLIMIT = 144 + SYS_SETRLIMIT = 145 + SYS_PIVOT_ROOT = 146 + SYS_PRCTL = 147 + SYS_PCICONFIG_READ = 148 + SYS_PCICONFIG_WRITE = 149 + SYS_GETSOCKNAME = 150 + SYS_INOTIFY_INIT = 151 + SYS_INOTIFY_ADD_WATCH = 152 + SYS_POLL = 153 + SYS_GETDENTS64 = 154 + SYS_INOTIFY_RM_WATCH = 156 + SYS_STATFS = 157 + SYS_FSTATFS = 158 + SYS_UMOUNT = 159 + SYS_SCHED_SET_AFFINITY = 160 + SYS_SCHED_GET_AFFINITY = 161 + SYS_GETDOMAINNAME = 162 + SYS_SETDOMAINNAME = 163 + SYS_UTRAP_INSTALL = 164 + SYS_QUOTACTL = 165 + SYS_SET_TID_ADDRESS = 166 + SYS_MOUNT = 167 + SYS_USTAT = 168 + SYS_SETXATTR = 169 + SYS_LSETXATTR = 170 + SYS_FSETXATTR = 171 + SYS_GETXATTR = 172 + SYS_LGETXATTR = 173 + SYS_GETDENTS = 174 + SYS_SETSID = 175 + SYS_FCHDIR = 176 + SYS_FGETXATTR = 177 + SYS_LISTXATTR = 178 + SYS_LLISTXATTR = 179 + SYS_FLISTXATTR = 180 + SYS_REMOVEXATTR = 181 + SYS_LREMOVEXATTR = 182 + SYS_SIGPENDING = 183 + SYS_QUERY_MODULE = 184 + SYS_SETPGID = 185 + SYS_FREMOVEXATTR = 186 + SYS_TKILL = 187 + SYS_EXIT_GROUP = 188 + SYS_UNAME = 189 + SYS_INIT_MODULE = 190 + SYS_PERSONALITY = 191 + SYS_REMAP_FILE_PAGES = 192 + SYS_EPOLL_CREATE = 193 + SYS_EPOLL_CTL = 194 + SYS_EPOLL_WAIT = 195 + SYS_IOPRIO_SET = 196 + SYS_GETPPID = 197 + SYS_SIGACTION = 198 + SYS_SGETMASK = 199 + SYS_SSETMASK = 200 + SYS_SIGSUSPEND = 201 + SYS_OLDLSTAT = 202 + SYS_USELIB = 203 + SYS_READDIR = 204 + SYS_READAHEAD = 205 + SYS_SOCKETCALL = 206 + SYS_SYSLOG = 207 + SYS_LOOKUP_DCOOKIE = 208 + SYS_FADVISE64 = 209 + SYS_FADVISE64_64 = 210 + SYS_TGKILL = 211 + SYS_WAITPID = 212 + SYS_SWAPOFF = 213 + SYS_SYSINFO = 214 + SYS_IPC = 215 + SYS_SIGRETURN = 216 + SYS_CLONE = 217 + SYS_IOPRIO_GET = 218 + SYS_ADJTIMEX = 219 + SYS_SIGPROCMASK = 220 + SYS_CREATE_MODULE = 221 + SYS_DELETE_MODULE = 222 + SYS_GET_KERNEL_SYMS = 223 + SYS_GETPGID = 224 + SYS_BDFLUSH = 225 + SYS_SYSFS = 226 + SYS_AFS_SYSCALL = 227 + SYS_SETFSUID = 228 + SYS_SETFSGID = 229 + SYS__NEWSELECT = 230 + SYS_SPLICE = 232 + SYS_STIME = 233 + SYS_STATFS64 = 234 + SYS_FSTATFS64 = 235 + SYS__LLSEEK = 236 + SYS_MLOCK = 237 + SYS_MUNLOCK = 238 + SYS_MLOCKALL = 239 + SYS_MUNLOCKALL = 240 + SYS_SCHED_SETPARAM = 241 + SYS_SCHED_GETPARAM = 242 + SYS_SCHED_SETSCHEDULER = 243 + SYS_SCHED_GETSCHEDULER = 244 + SYS_SCHED_YIELD = 245 + SYS_SCHED_GET_PRIORITY_MAX = 246 + SYS_SCHED_GET_PRIORITY_MIN = 247 + SYS_SCHED_RR_GET_INTERVAL = 248 + SYS_NANOSLEEP = 249 + SYS_MREMAP = 250 + SYS__SYSCTL = 251 + SYS_GETSID = 252 + SYS_FDATASYNC = 253 + SYS_NFSSERVCTL = 254 + SYS_SYNC_FILE_RANGE = 255 + SYS_CLOCK_SETTIME = 256 + SYS_CLOCK_GETTIME = 257 + SYS_CLOCK_GETRES = 258 + SYS_CLOCK_NANOSLEEP = 259 + SYS_SCHED_GETAFFINITY = 260 + SYS_SCHED_SETAFFINITY = 261 + SYS_TIMER_SETTIME = 262 + SYS_TIMER_GETTIME = 263 + SYS_TIMER_GETOVERRUN = 264 + SYS_TIMER_DELETE = 265 + SYS_TIMER_CREATE = 266 + SYS_IO_SETUP = 268 + SYS_IO_DESTROY = 269 + SYS_IO_SUBMIT = 270 + SYS_IO_CANCEL = 271 + SYS_IO_GETEVENTS = 272 + SYS_MQ_OPEN = 273 + SYS_MQ_UNLINK = 274 + SYS_MQ_TIMEDSEND = 275 + SYS_MQ_TIMEDRECEIVE = 276 + SYS_MQ_NOTIFY = 277 + SYS_MQ_GETSETATTR = 278 + SYS_WAITID = 279 + SYS_TEE = 280 + SYS_ADD_KEY = 281 + SYS_REQUEST_KEY = 282 + SYS_KEYCTL = 283 + SYS_OPENAT = 284 + SYS_MKDIRAT = 285 + SYS_MKNODAT = 286 + SYS_FCHOWNAT = 287 + SYS_FUTIMESAT = 288 + SYS_FSTATAT64 = 289 + SYS_UNLINKAT = 290 + SYS_RENAMEAT = 291 + SYS_LINKAT = 292 + SYS_SYMLINKAT = 293 + SYS_READLINKAT = 294 + SYS_FCHMODAT = 295 + SYS_FACCESSAT = 296 + SYS_PSELECT6 = 297 + SYS_PPOLL = 298 + SYS_UNSHARE = 299 + SYS_SET_ROBUST_LIST = 300 + SYS_GET_ROBUST_LIST = 301 + SYS_MIGRATE_PAGES = 302 + SYS_MBIND = 303 + SYS_GET_MEMPOLICY = 304 + SYS_SET_MEMPOLICY = 305 + SYS_KEXEC_LOAD = 306 + SYS_MOVE_PAGES = 307 + SYS_GETCPU = 308 + SYS_EPOLL_PWAIT = 309 + SYS_UTIMENSAT = 310 + SYS_SIGNALFD = 311 + SYS_TIMERFD_CREATE = 312 + SYS_EVENTFD = 313 + SYS_FALLOCATE = 314 + SYS_TIMERFD_SETTIME = 315 + SYS_TIMERFD_GETTIME = 316 + SYS_SIGNALFD4 = 317 + SYS_EVENTFD2 = 318 + SYS_EPOLL_CREATE1 = 319 + SYS_DUP3 = 320 + SYS_PIPE2 = 321 + SYS_INOTIFY_INIT1 = 322 + SYS_ACCEPT4 = 323 + SYS_PREADV = 324 + SYS_PWRITEV = 325 + SYS_RT_TGSIGQUEUEINFO = 326 + SYS_PERF_EVENT_OPEN = 327 + SYS_RECVMMSG = 328 + SYS_FANOTIFY_INIT = 329 + SYS_FANOTIFY_MARK = 330 + SYS_PRLIMIT64 = 331 + SYS_NAME_TO_HANDLE_AT = 332 + SYS_OPEN_BY_HANDLE_AT = 333 + SYS_CLOCK_ADJTIME = 334 + SYS_SYNCFS = 335 + SYS_SENDMMSG = 336 + SYS_SETNS = 337 + SYS_PROCESS_VM_READV = 338 + SYS_PROCESS_VM_WRITEV = 339 + SYS_KERN_FEATURES = 340 + SYS_KCMP = 341 + SYS_FINIT_MODULE = 342 + SYS_SCHED_SETATTR = 343 + SYS_SCHED_GETATTR = 344 + SYS_RENAMEAT2 = 345 + SYS_SECCOMP = 346 + SYS_GETRANDOM = 347 + SYS_MEMFD_CREATE = 348 + SYS_BPF = 349 + SYS_EXECVEAT = 350 + SYS_MEMBARRIER = 351 + SYS_USERFAULTFD = 352 + SYS_BIND = 353 + SYS_LISTEN = 354 + SYS_SETSOCKOPT = 355 + SYS_MLOCK2 = 356 + SYS_COPY_FILE_RANGE = 357 + SYS_PREADV2 = 358 + SYS_PWRITEV2 = 359 + SYS_STATX = 360 + SYS_IO_PGETEVENTS = 361 +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go new file mode 100644 index 000000000..e66a8c9d3 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go @@ -0,0 +1,274 @@ +// go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,netbsd + +package unix + +const ( + SYS_EXIT = 1 // { void|sys||exit(int rval); } + SYS_FORK = 2 // { int|sys||fork(void); } + SYS_READ = 3 // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int|sys||open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int|sys||close(int fd); } + SYS_LINK = 9 // { int|sys||link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int|sys||unlink(const char *path); } + SYS_CHDIR = 12 // { int|sys||chdir(const char *path); } + SYS_FCHDIR = 13 // { int|sys||fchdir(int fd); } + SYS_CHMOD = 15 // { int|sys||chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int|sys||chown(const char *path, uid_t uid, gid_t gid); } + SYS_BREAK = 17 // { int|sys||obreak(char *nsize); } + SYS_GETPID = 20 // { pid_t|sys||getpid_with_ppid(void); } + SYS_UNMOUNT = 22 // { int|sys||unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int|sys||setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t|sys||getuid_with_euid(void); } + SYS_GETEUID = 25 // { uid_t|sys||geteuid(void); } + SYS_PTRACE = 26 // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); } + SYS_RECVMSG = 27 // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int|sys||access(const char *path, int flags); } + SYS_CHFLAGS = 34 // { int|sys||chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int|sys||fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { void|sys||sync(void); } + SYS_KILL = 37 // { int|sys||kill(pid_t pid, int signum); } + SYS_GETPPID = 39 // { pid_t|sys||getppid(void); } + SYS_DUP = 41 // { int|sys||dup(int fd); } + SYS_PIPE = 42 // { int|sys||pipe(void); } + SYS_GETEGID = 43 // { gid_t|sys||getegid(void); } + SYS_PROFIL = 44 // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_GETGID = 47 // { gid_t|sys||getgid_with_egid(void); } + SYS___GETLOGIN = 49 // { int|sys||__getlogin(char *namebuf, size_t namelen); } + SYS___SETLOGIN = 50 // { int|sys||__setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int|sys||acct(const char *path); } + SYS_IOCTL = 54 // { int|sys||ioctl(int fd, u_long com, ... void *data); } + SYS_REVOKE = 56 // { int|sys||revoke(const char *path); } + SYS_SYMLINK = 57 // { int|sys||symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int|sys||execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t|sys||umask(mode_t newmask); } + SYS_CHROOT = 61 // { int|sys||chroot(const char *path); } + SYS_VFORK = 66 // { int|sys||vfork(void); } + SYS_SBRK = 69 // { int|sys||sbrk(intptr_t incr); } + SYS_SSTK = 70 // { int|sys||sstk(int incr); } + SYS_VADVISE = 72 // { int|sys||ovadvise(int anom); } + SYS_MUNMAP = 73 // { int|sys||munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int|sys||mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int|sys||madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int|sys||mincore(void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int|sys||getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int|sys||getpgrp(void); } + SYS_SETPGID = 82 // { int|sys||setpgid(pid_t pid, pid_t pgid); } + SYS_DUP2 = 90 // { int|sys||dup2(int from, int to); } + SYS_FCNTL = 92 // { int|sys||fcntl(int fd, int cmd, ... void *arg); } + SYS_FSYNC = 95 // { int|sys||fsync(int fd); } + SYS_SETPRIORITY = 96 // { int|sys||setpriority(int which, id_t who, int prio); } + SYS_CONNECT = 98 // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETPRIORITY = 100 // { int|sys||getpriority(int which, id_t who); } + SYS_BIND = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int|sys||listen(int s, int backlog); } + SYS_GETSOCKOPT = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_READV = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_FCHOWN = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int|sys||fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int|sys||rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int|sys||flock(int fd, int how); } + SYS_MKFIFO = 132 // { int|sys||mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int|sys||shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int|sys||mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int|sys||rmdir(const char *path); } + SYS_SETSID = 147 // { int|sys||setsid(void); } + SYS_SYSARCH = 165 // { int|sys||sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_PWRITE = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_NTP_ADJTIME = 176 // { int|sys||ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int|sys||setgid(gid_t gid); } + SYS_SETEGID = 182 // { int|sys||setegid(gid_t egid); } + SYS_SETEUID = 183 // { int|sys||seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long|sys||pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long|sys||fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); } + SYS_LSEEK = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); } + SYS_FTRUNCATE = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); } + SYS___SYSCTL = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); } + SYS_MLOCK = 203 // { int|sys||mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int|sys||munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int|sys||undelete(const char *path); } + SYS_GETPGID = 207 // { pid_t|sys||getpgid(pid_t pid); } + SYS_REBOOT = 208 // { int|sys||reboot(int opt, char *bootstr); } + SYS_POLL = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int|sys||semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_SEMCONFIG = 223 // { int|sys||semconfig(int flag); } + SYS_MSGGET = 225 // { int|sys||msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int|sys||shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); } + SYS_TIMER_CREATE = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); } + SYS_TIMER_DELETE = 236 // { int|sys||timer_delete(timer_t timerid); } + SYS_TIMER_GETOVERRUN = 239 // { int|sys||timer_getoverrun(timer_t timerid); } + SYS_FDATASYNC = 241 // { int|sys||fdatasync(int fd); } + SYS_MLOCKALL = 242 // { int|sys||mlockall(int flags); } + SYS_MUNLOCKALL = 243 // { int|sys||munlockall(void); } + SYS_SIGQUEUEINFO = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); } + SYS_MODCTL = 246 // { int|sys||modctl(int cmd, void *arg); } + SYS___POSIX_RENAME = 270 // { int|sys||__posix_rename(const char *from, const char *to); } + SYS_SWAPCTL = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); } + SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); } + SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); } + SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); } + SYS_MSYNC = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); } + SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); } + SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); } + SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 286 // { pid_t|sys||getsid(pid_t pid); } + SYS___CLONE = 287 // { pid_t|sys||__clone(int flags, void *stack); } + SYS_FKTRACE = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); } + SYS_PREADV = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS___GETCWD = 296 // { int|sys||__getcwd(char *bufp, size_t length); } + SYS_FCHROOT = 297 // { int|sys||fchroot(int fd); } + SYS_LCHFLAGS = 304 // { int|sys||lchflags(const char *path, u_long flags); } + SYS_ISSETUGID = 305 // { int|sys||issetugid(void); } + SYS_UTRACE = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); } + SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 308 // { int|sys||setcontext(const struct __ucontext *ucp); } + SYS__LWP_CREATE = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); } + SYS__LWP_EXIT = 310 // { int|sys||_lwp_exit(void); } + SYS__LWP_SELF = 311 // { lwpid_t|sys||_lwp_self(void); } + SYS__LWP_WAIT = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); } + SYS__LWP_SUSPEND = 313 // { int|sys||_lwp_suspend(lwpid_t target); } + SYS__LWP_CONTINUE = 314 // { int|sys||_lwp_continue(lwpid_t target); } + SYS__LWP_WAKEUP = 315 // { int|sys||_lwp_wakeup(lwpid_t target); } + SYS__LWP_GETPRIVATE = 316 // { void *|sys||_lwp_getprivate(void); } + SYS__LWP_SETPRIVATE = 317 // { void|sys||_lwp_setprivate(void *ptr); } + SYS__LWP_KILL = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); } + SYS__LWP_DETACH = 319 // { int|sys||_lwp_detach(lwpid_t target); } + SYS__LWP_UNPARK = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); } + SYS__LWP_UNPARK_ALL = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); } + SYS__LWP_SETNAME = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); } + SYS__LWP_GETNAME = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); } + SYS__LWP_CTL = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); } + SYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); } + SYS_PMC_GET_INFO = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); } + SYS_PMC_CONTROL = 342 // { int|sys||pmc_control(int ctr, int op, void *args); } + SYS_RASCTL = 343 // { int|sys||rasctl(void *addr, size_t len, int op); } + SYS_KQUEUE = 344 // { int|sys||kqueue(void); } + SYS__SCHED_SETPARAM = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); } + SYS__SCHED_GETPARAM = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); } + SYS__SCHED_SETAFFINITY = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); } + SYS__SCHED_GETAFFINITY = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); } + SYS_SCHED_YIELD = 350 // { int|sys||sched_yield(void); } + SYS_FSYNC_RANGE = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); } + SYS_UUIDGEN = 355 // { int|sys||uuidgen(struct uuid *store, int count); } + SYS_GETVFSSTAT = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); } + SYS_STATVFS1 = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); } + SYS_FSTATVFS1 = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); } + SYS_EXTATTRCTL = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FD = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_LINK = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_LIST_FD = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_SETXATTR = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_LSETXATTR = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_FSETXATTR = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); } + SYS_GETXATTR = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); } + SYS_LGETXATTR = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); } + SYS_FGETXATTR = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); } + SYS_LISTXATTR = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); } + SYS_LLISTXATTR = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); } + SYS_FLISTXATTR = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); } + SYS_REMOVEXATTR = 384 // { int|sys||removexattr(const char *path, const char *name); } + SYS_LREMOVEXATTR = 385 // { int|sys||lremovexattr(const char *path, const char *name); } + SYS_FREMOVEXATTR = 386 // { int|sys||fremovexattr(int fd, const char *name); } + SYS_GETDENTS = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); } + SYS_SOCKET = 394 // { int|sys|30|socket(int domain, int type, int protocol); } + SYS_GETFH = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); } + SYS_MOUNT = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); } + SYS_MREMAP = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); } + SYS_PSET_CREATE = 412 // { int|sys||pset_create(psetid_t *psid); } + SYS_PSET_DESTROY = 413 // { int|sys||pset_destroy(psetid_t psid); } + SYS_PSET_ASSIGN = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); } + SYS__PSET_BIND = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); } + SYS_POSIX_FADVISE = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); } + SYS_SELECT = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_GETTIMEOFDAY = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); } + SYS_SETTIMEOFDAY = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); } + SYS_UTIMES = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); } + SYS_ADJTIME = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_FUTIMES = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); } + SYS_LUTIMES = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); } + SYS_SETITIMER = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); } + SYS_CLOCK_GETTIME = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_NANOSLEEP = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS___SIGTIMEDWAIT = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); } + SYS__LWP_PARK = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); } + SYS_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); } + SYS_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); } + SYS_POLLTS = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_STAT = 439 // { int|sys|50|stat(const char *path, struct stat *ub); } + SYS_FSTAT = 440 // { int|sys|50|fstat(int fd, struct stat *sb); } + SYS_LSTAT = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); } + SYS___SEMCTL = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); } + SYS_SHMCTL = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_GETRUSAGE = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); } + SYS_TIMER_SETTIME = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_TIMER_GETTIME = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); } + SYS_NTP_GETTIME = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); } + SYS_WAIT4 = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_MKNOD = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); } + SYS_FHSTAT = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); } + SYS_PIPE2 = 453 // { int|sys||pipe2(int *fildes, int flags); } + SYS_DUP3 = 454 // { int|sys||dup3(int from, int to, int flags); } + SYS_KQUEUE1 = 455 // { int|sys||kqueue1(int flags); } + SYS_PACCEPT = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); } + SYS_LINKAT = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); } + SYS_RENAMEAT = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_MKFIFOAT = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); } + SYS_MKDIRAT = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); } + SYS_FACCESSAT = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); } + SYS_FEXECVE = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); } + SYS_FSTATAT = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_UTIMENSAT = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); } + SYS_OPENAT = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); } + SYS_READLINKAT = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); } + SYS_SYMLINKAT = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); } + SYS_UNLINKAT = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); } + SYS_FUTIMENS = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); } + SYS___QUOTACTL = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); } + SYS_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); } + SYS_RECVMMSG = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); } + SYS_SENDMMSG = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go new file mode 100644 index 000000000..42c788f24 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go @@ -0,0 +1,274 @@ +// go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,netbsd + +package unix + +const ( + SYS_EXIT = 1 // { void|sys||exit(int rval); } + SYS_FORK = 2 // { int|sys||fork(void); } + SYS_READ = 3 // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int|sys||open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int|sys||close(int fd); } + SYS_LINK = 9 // { int|sys||link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int|sys||unlink(const char *path); } + SYS_CHDIR = 12 // { int|sys||chdir(const char *path); } + SYS_FCHDIR = 13 // { int|sys||fchdir(int fd); } + SYS_CHMOD = 15 // { int|sys||chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int|sys||chown(const char *path, uid_t uid, gid_t gid); } + SYS_BREAK = 17 // { int|sys||obreak(char *nsize); } + SYS_GETPID = 20 // { pid_t|sys||getpid_with_ppid(void); } + SYS_UNMOUNT = 22 // { int|sys||unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int|sys||setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t|sys||getuid_with_euid(void); } + SYS_GETEUID = 25 // { uid_t|sys||geteuid(void); } + SYS_PTRACE = 26 // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); } + SYS_RECVMSG = 27 // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int|sys||access(const char *path, int flags); } + SYS_CHFLAGS = 34 // { int|sys||chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int|sys||fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { void|sys||sync(void); } + SYS_KILL = 37 // { int|sys||kill(pid_t pid, int signum); } + SYS_GETPPID = 39 // { pid_t|sys||getppid(void); } + SYS_DUP = 41 // { int|sys||dup(int fd); } + SYS_PIPE = 42 // { int|sys||pipe(void); } + SYS_GETEGID = 43 // { gid_t|sys||getegid(void); } + SYS_PROFIL = 44 // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_GETGID = 47 // { gid_t|sys||getgid_with_egid(void); } + SYS___GETLOGIN = 49 // { int|sys||__getlogin(char *namebuf, size_t namelen); } + SYS___SETLOGIN = 50 // { int|sys||__setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int|sys||acct(const char *path); } + SYS_IOCTL = 54 // { int|sys||ioctl(int fd, u_long com, ... void *data); } + SYS_REVOKE = 56 // { int|sys||revoke(const char *path); } + SYS_SYMLINK = 57 // { int|sys||symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int|sys||execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t|sys||umask(mode_t newmask); } + SYS_CHROOT = 61 // { int|sys||chroot(const char *path); } + SYS_VFORK = 66 // { int|sys||vfork(void); } + SYS_SBRK = 69 // { int|sys||sbrk(intptr_t incr); } + SYS_SSTK = 70 // { int|sys||sstk(int incr); } + SYS_VADVISE = 72 // { int|sys||ovadvise(int anom); } + SYS_MUNMAP = 73 // { int|sys||munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int|sys||mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int|sys||madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int|sys||mincore(void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int|sys||getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int|sys||getpgrp(void); } + SYS_SETPGID = 82 // { int|sys||setpgid(pid_t pid, pid_t pgid); } + SYS_DUP2 = 90 // { int|sys||dup2(int from, int to); } + SYS_FCNTL = 92 // { int|sys||fcntl(int fd, int cmd, ... void *arg); } + SYS_FSYNC = 95 // { int|sys||fsync(int fd); } + SYS_SETPRIORITY = 96 // { int|sys||setpriority(int which, id_t who, int prio); } + SYS_CONNECT = 98 // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETPRIORITY = 100 // { int|sys||getpriority(int which, id_t who); } + SYS_BIND = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int|sys||listen(int s, int backlog); } + SYS_GETSOCKOPT = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_READV = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_FCHOWN = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int|sys||fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int|sys||rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int|sys||flock(int fd, int how); } + SYS_MKFIFO = 132 // { int|sys||mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int|sys||shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int|sys||mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int|sys||rmdir(const char *path); } + SYS_SETSID = 147 // { int|sys||setsid(void); } + SYS_SYSARCH = 165 // { int|sys||sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_PWRITE = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_NTP_ADJTIME = 176 // { int|sys||ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int|sys||setgid(gid_t gid); } + SYS_SETEGID = 182 // { int|sys||setegid(gid_t egid); } + SYS_SETEUID = 183 // { int|sys||seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long|sys||pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long|sys||fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); } + SYS_LSEEK = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); } + SYS_FTRUNCATE = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); } + SYS___SYSCTL = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); } + SYS_MLOCK = 203 // { int|sys||mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int|sys||munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int|sys||undelete(const char *path); } + SYS_GETPGID = 207 // { pid_t|sys||getpgid(pid_t pid); } + SYS_REBOOT = 208 // { int|sys||reboot(int opt, char *bootstr); } + SYS_POLL = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int|sys||semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_SEMCONFIG = 223 // { int|sys||semconfig(int flag); } + SYS_MSGGET = 225 // { int|sys||msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int|sys||shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); } + SYS_TIMER_CREATE = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); } + SYS_TIMER_DELETE = 236 // { int|sys||timer_delete(timer_t timerid); } + SYS_TIMER_GETOVERRUN = 239 // { int|sys||timer_getoverrun(timer_t timerid); } + SYS_FDATASYNC = 241 // { int|sys||fdatasync(int fd); } + SYS_MLOCKALL = 242 // { int|sys||mlockall(int flags); } + SYS_MUNLOCKALL = 243 // { int|sys||munlockall(void); } + SYS_SIGQUEUEINFO = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); } + SYS_MODCTL = 246 // { int|sys||modctl(int cmd, void *arg); } + SYS___POSIX_RENAME = 270 // { int|sys||__posix_rename(const char *from, const char *to); } + SYS_SWAPCTL = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); } + SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); } + SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); } + SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); } + SYS_MSYNC = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); } + SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); } + SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); } + SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 286 // { pid_t|sys||getsid(pid_t pid); } + SYS___CLONE = 287 // { pid_t|sys||__clone(int flags, void *stack); } + SYS_FKTRACE = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); } + SYS_PREADV = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS___GETCWD = 296 // { int|sys||__getcwd(char *bufp, size_t length); } + SYS_FCHROOT = 297 // { int|sys||fchroot(int fd); } + SYS_LCHFLAGS = 304 // { int|sys||lchflags(const char *path, u_long flags); } + SYS_ISSETUGID = 305 // { int|sys||issetugid(void); } + SYS_UTRACE = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); } + SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 308 // { int|sys||setcontext(const struct __ucontext *ucp); } + SYS__LWP_CREATE = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); } + SYS__LWP_EXIT = 310 // { int|sys||_lwp_exit(void); } + SYS__LWP_SELF = 311 // { lwpid_t|sys||_lwp_self(void); } + SYS__LWP_WAIT = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); } + SYS__LWP_SUSPEND = 313 // { int|sys||_lwp_suspend(lwpid_t target); } + SYS__LWP_CONTINUE = 314 // { int|sys||_lwp_continue(lwpid_t target); } + SYS__LWP_WAKEUP = 315 // { int|sys||_lwp_wakeup(lwpid_t target); } + SYS__LWP_GETPRIVATE = 316 // { void *|sys||_lwp_getprivate(void); } + SYS__LWP_SETPRIVATE = 317 // { void|sys||_lwp_setprivate(void *ptr); } + SYS__LWP_KILL = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); } + SYS__LWP_DETACH = 319 // { int|sys||_lwp_detach(lwpid_t target); } + SYS__LWP_UNPARK = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); } + SYS__LWP_UNPARK_ALL = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); } + SYS__LWP_SETNAME = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); } + SYS__LWP_GETNAME = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); } + SYS__LWP_CTL = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); } + SYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); } + SYS_PMC_GET_INFO = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); } + SYS_PMC_CONTROL = 342 // { int|sys||pmc_control(int ctr, int op, void *args); } + SYS_RASCTL = 343 // { int|sys||rasctl(void *addr, size_t len, int op); } + SYS_KQUEUE = 344 // { int|sys||kqueue(void); } + SYS__SCHED_SETPARAM = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); } + SYS__SCHED_GETPARAM = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); } + SYS__SCHED_SETAFFINITY = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); } + SYS__SCHED_GETAFFINITY = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); } + SYS_SCHED_YIELD = 350 // { int|sys||sched_yield(void); } + SYS_FSYNC_RANGE = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); } + SYS_UUIDGEN = 355 // { int|sys||uuidgen(struct uuid *store, int count); } + SYS_GETVFSSTAT = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); } + SYS_STATVFS1 = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); } + SYS_FSTATVFS1 = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); } + SYS_EXTATTRCTL = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FD = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_LINK = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_LIST_FD = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_SETXATTR = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_LSETXATTR = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_FSETXATTR = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); } + SYS_GETXATTR = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); } + SYS_LGETXATTR = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); } + SYS_FGETXATTR = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); } + SYS_LISTXATTR = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); } + SYS_LLISTXATTR = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); } + SYS_FLISTXATTR = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); } + SYS_REMOVEXATTR = 384 // { int|sys||removexattr(const char *path, const char *name); } + SYS_LREMOVEXATTR = 385 // { int|sys||lremovexattr(const char *path, const char *name); } + SYS_FREMOVEXATTR = 386 // { int|sys||fremovexattr(int fd, const char *name); } + SYS_GETDENTS = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); } + SYS_SOCKET = 394 // { int|sys|30|socket(int domain, int type, int protocol); } + SYS_GETFH = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); } + SYS_MOUNT = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); } + SYS_MREMAP = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); } + SYS_PSET_CREATE = 412 // { int|sys||pset_create(psetid_t *psid); } + SYS_PSET_DESTROY = 413 // { int|sys||pset_destroy(psetid_t psid); } + SYS_PSET_ASSIGN = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); } + SYS__PSET_BIND = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); } + SYS_POSIX_FADVISE = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); } + SYS_SELECT = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_GETTIMEOFDAY = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); } + SYS_SETTIMEOFDAY = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); } + SYS_UTIMES = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); } + SYS_ADJTIME = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_FUTIMES = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); } + SYS_LUTIMES = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); } + SYS_SETITIMER = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); } + SYS_CLOCK_GETTIME = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_NANOSLEEP = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS___SIGTIMEDWAIT = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); } + SYS__LWP_PARK = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); } + SYS_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); } + SYS_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); } + SYS_POLLTS = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_STAT = 439 // { int|sys|50|stat(const char *path, struct stat *ub); } + SYS_FSTAT = 440 // { int|sys|50|fstat(int fd, struct stat *sb); } + SYS_LSTAT = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); } + SYS___SEMCTL = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); } + SYS_SHMCTL = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_GETRUSAGE = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); } + SYS_TIMER_SETTIME = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_TIMER_GETTIME = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); } + SYS_NTP_GETTIME = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); } + SYS_WAIT4 = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_MKNOD = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); } + SYS_FHSTAT = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); } + SYS_PIPE2 = 453 // { int|sys||pipe2(int *fildes, int flags); } + SYS_DUP3 = 454 // { int|sys||dup3(int from, int to, int flags); } + SYS_KQUEUE1 = 455 // { int|sys||kqueue1(int flags); } + SYS_PACCEPT = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); } + SYS_LINKAT = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); } + SYS_RENAMEAT = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_MKFIFOAT = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); } + SYS_MKDIRAT = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); } + SYS_FACCESSAT = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); } + SYS_FEXECVE = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); } + SYS_FSTATAT = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_UTIMENSAT = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); } + SYS_OPENAT = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); } + SYS_READLINKAT = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); } + SYS_SYMLINKAT = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); } + SYS_UNLINKAT = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); } + SYS_FUTIMENS = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); } + SYS___QUOTACTL = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); } + SYS_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); } + SYS_RECVMMSG = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); } + SYS_SENDMMSG = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go new file mode 100644 index 000000000..0a0757179 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go @@ -0,0 +1,274 @@ +// go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,netbsd + +package unix + +const ( + SYS_EXIT = 1 // { void|sys||exit(int rval); } + SYS_FORK = 2 // { int|sys||fork(void); } + SYS_READ = 3 // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int|sys||open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int|sys||close(int fd); } + SYS_LINK = 9 // { int|sys||link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int|sys||unlink(const char *path); } + SYS_CHDIR = 12 // { int|sys||chdir(const char *path); } + SYS_FCHDIR = 13 // { int|sys||fchdir(int fd); } + SYS_CHMOD = 15 // { int|sys||chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int|sys||chown(const char *path, uid_t uid, gid_t gid); } + SYS_BREAK = 17 // { int|sys||obreak(char *nsize); } + SYS_GETPID = 20 // { pid_t|sys||getpid_with_ppid(void); } + SYS_UNMOUNT = 22 // { int|sys||unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int|sys||setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t|sys||getuid_with_euid(void); } + SYS_GETEUID = 25 // { uid_t|sys||geteuid(void); } + SYS_PTRACE = 26 // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); } + SYS_RECVMSG = 27 // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int|sys||access(const char *path, int flags); } + SYS_CHFLAGS = 34 // { int|sys||chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int|sys||fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { void|sys||sync(void); } + SYS_KILL = 37 // { int|sys||kill(pid_t pid, int signum); } + SYS_GETPPID = 39 // { pid_t|sys||getppid(void); } + SYS_DUP = 41 // { int|sys||dup(int fd); } + SYS_PIPE = 42 // { int|sys||pipe(void); } + SYS_GETEGID = 43 // { gid_t|sys||getegid(void); } + SYS_PROFIL = 44 // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_GETGID = 47 // { gid_t|sys||getgid_with_egid(void); } + SYS___GETLOGIN = 49 // { int|sys||__getlogin(char *namebuf, size_t namelen); } + SYS___SETLOGIN = 50 // { int|sys||__setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int|sys||acct(const char *path); } + SYS_IOCTL = 54 // { int|sys||ioctl(int fd, u_long com, ... void *data); } + SYS_REVOKE = 56 // { int|sys||revoke(const char *path); } + SYS_SYMLINK = 57 // { int|sys||symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int|sys||execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t|sys||umask(mode_t newmask); } + SYS_CHROOT = 61 // { int|sys||chroot(const char *path); } + SYS_VFORK = 66 // { int|sys||vfork(void); } + SYS_SBRK = 69 // { int|sys||sbrk(intptr_t incr); } + SYS_SSTK = 70 // { int|sys||sstk(int incr); } + SYS_VADVISE = 72 // { int|sys||ovadvise(int anom); } + SYS_MUNMAP = 73 // { int|sys||munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int|sys||mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int|sys||madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int|sys||mincore(void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int|sys||getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int|sys||getpgrp(void); } + SYS_SETPGID = 82 // { int|sys||setpgid(pid_t pid, pid_t pgid); } + SYS_DUP2 = 90 // { int|sys||dup2(int from, int to); } + SYS_FCNTL = 92 // { int|sys||fcntl(int fd, int cmd, ... void *arg); } + SYS_FSYNC = 95 // { int|sys||fsync(int fd); } + SYS_SETPRIORITY = 96 // { int|sys||setpriority(int which, id_t who, int prio); } + SYS_CONNECT = 98 // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETPRIORITY = 100 // { int|sys||getpriority(int which, id_t who); } + SYS_BIND = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int|sys||listen(int s, int backlog); } + SYS_GETSOCKOPT = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_READV = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_FCHOWN = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int|sys||fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int|sys||rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int|sys||flock(int fd, int how); } + SYS_MKFIFO = 132 // { int|sys||mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int|sys||shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int|sys||mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int|sys||rmdir(const char *path); } + SYS_SETSID = 147 // { int|sys||setsid(void); } + SYS_SYSARCH = 165 // { int|sys||sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_PWRITE = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_NTP_ADJTIME = 176 // { int|sys||ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int|sys||setgid(gid_t gid); } + SYS_SETEGID = 182 // { int|sys||setegid(gid_t egid); } + SYS_SETEUID = 183 // { int|sys||seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long|sys||pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long|sys||fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); } + SYS_LSEEK = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); } + SYS_FTRUNCATE = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); } + SYS___SYSCTL = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); } + SYS_MLOCK = 203 // { int|sys||mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int|sys||munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int|sys||undelete(const char *path); } + SYS_GETPGID = 207 // { pid_t|sys||getpgid(pid_t pid); } + SYS_REBOOT = 208 // { int|sys||reboot(int opt, char *bootstr); } + SYS_POLL = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int|sys||semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_SEMCONFIG = 223 // { int|sys||semconfig(int flag); } + SYS_MSGGET = 225 // { int|sys||msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int|sys||shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); } + SYS_TIMER_CREATE = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); } + SYS_TIMER_DELETE = 236 // { int|sys||timer_delete(timer_t timerid); } + SYS_TIMER_GETOVERRUN = 239 // { int|sys||timer_getoverrun(timer_t timerid); } + SYS_FDATASYNC = 241 // { int|sys||fdatasync(int fd); } + SYS_MLOCKALL = 242 // { int|sys||mlockall(int flags); } + SYS_MUNLOCKALL = 243 // { int|sys||munlockall(void); } + SYS_SIGQUEUEINFO = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); } + SYS_MODCTL = 246 // { int|sys||modctl(int cmd, void *arg); } + SYS___POSIX_RENAME = 270 // { int|sys||__posix_rename(const char *from, const char *to); } + SYS_SWAPCTL = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); } + SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); } + SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); } + SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); } + SYS_MSYNC = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); } + SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); } + SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); } + SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 286 // { pid_t|sys||getsid(pid_t pid); } + SYS___CLONE = 287 // { pid_t|sys||__clone(int flags, void *stack); } + SYS_FKTRACE = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); } + SYS_PREADV = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS___GETCWD = 296 // { int|sys||__getcwd(char *bufp, size_t length); } + SYS_FCHROOT = 297 // { int|sys||fchroot(int fd); } + SYS_LCHFLAGS = 304 // { int|sys||lchflags(const char *path, u_long flags); } + SYS_ISSETUGID = 305 // { int|sys||issetugid(void); } + SYS_UTRACE = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); } + SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 308 // { int|sys||setcontext(const struct __ucontext *ucp); } + SYS__LWP_CREATE = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); } + SYS__LWP_EXIT = 310 // { int|sys||_lwp_exit(void); } + SYS__LWP_SELF = 311 // { lwpid_t|sys||_lwp_self(void); } + SYS__LWP_WAIT = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); } + SYS__LWP_SUSPEND = 313 // { int|sys||_lwp_suspend(lwpid_t target); } + SYS__LWP_CONTINUE = 314 // { int|sys||_lwp_continue(lwpid_t target); } + SYS__LWP_WAKEUP = 315 // { int|sys||_lwp_wakeup(lwpid_t target); } + SYS__LWP_GETPRIVATE = 316 // { void *|sys||_lwp_getprivate(void); } + SYS__LWP_SETPRIVATE = 317 // { void|sys||_lwp_setprivate(void *ptr); } + SYS__LWP_KILL = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); } + SYS__LWP_DETACH = 319 // { int|sys||_lwp_detach(lwpid_t target); } + SYS__LWP_UNPARK = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); } + SYS__LWP_UNPARK_ALL = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); } + SYS__LWP_SETNAME = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); } + SYS__LWP_GETNAME = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); } + SYS__LWP_CTL = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); } + SYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); } + SYS_PMC_GET_INFO = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); } + SYS_PMC_CONTROL = 342 // { int|sys||pmc_control(int ctr, int op, void *args); } + SYS_RASCTL = 343 // { int|sys||rasctl(void *addr, size_t len, int op); } + SYS_KQUEUE = 344 // { int|sys||kqueue(void); } + SYS__SCHED_SETPARAM = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); } + SYS__SCHED_GETPARAM = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); } + SYS__SCHED_SETAFFINITY = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); } + SYS__SCHED_GETAFFINITY = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); } + SYS_SCHED_YIELD = 350 // { int|sys||sched_yield(void); } + SYS_FSYNC_RANGE = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); } + SYS_UUIDGEN = 355 // { int|sys||uuidgen(struct uuid *store, int count); } + SYS_GETVFSSTAT = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); } + SYS_STATVFS1 = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); } + SYS_FSTATVFS1 = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); } + SYS_EXTATTRCTL = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FD = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_LINK = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_LIST_FD = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_SETXATTR = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_LSETXATTR = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_FSETXATTR = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); } + SYS_GETXATTR = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); } + SYS_LGETXATTR = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); } + SYS_FGETXATTR = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); } + SYS_LISTXATTR = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); } + SYS_LLISTXATTR = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); } + SYS_FLISTXATTR = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); } + SYS_REMOVEXATTR = 384 // { int|sys||removexattr(const char *path, const char *name); } + SYS_LREMOVEXATTR = 385 // { int|sys||lremovexattr(const char *path, const char *name); } + SYS_FREMOVEXATTR = 386 // { int|sys||fremovexattr(int fd, const char *name); } + SYS_GETDENTS = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); } + SYS_SOCKET = 394 // { int|sys|30|socket(int domain, int type, int protocol); } + SYS_GETFH = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); } + SYS_MOUNT = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); } + SYS_MREMAP = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); } + SYS_PSET_CREATE = 412 // { int|sys||pset_create(psetid_t *psid); } + SYS_PSET_DESTROY = 413 // { int|sys||pset_destroy(psetid_t psid); } + SYS_PSET_ASSIGN = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); } + SYS__PSET_BIND = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); } + SYS_POSIX_FADVISE = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); } + SYS_SELECT = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_GETTIMEOFDAY = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); } + SYS_SETTIMEOFDAY = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); } + SYS_UTIMES = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); } + SYS_ADJTIME = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_FUTIMES = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); } + SYS_LUTIMES = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); } + SYS_SETITIMER = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); } + SYS_CLOCK_GETTIME = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_NANOSLEEP = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS___SIGTIMEDWAIT = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); } + SYS__LWP_PARK = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); } + SYS_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); } + SYS_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); } + SYS_POLLTS = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_STAT = 439 // { int|sys|50|stat(const char *path, struct stat *ub); } + SYS_FSTAT = 440 // { int|sys|50|fstat(int fd, struct stat *sb); } + SYS_LSTAT = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); } + SYS___SEMCTL = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); } + SYS_SHMCTL = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_GETRUSAGE = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); } + SYS_TIMER_SETTIME = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_TIMER_GETTIME = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); } + SYS_NTP_GETTIME = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); } + SYS_WAIT4 = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_MKNOD = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); } + SYS_FHSTAT = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); } + SYS_PIPE2 = 453 // { int|sys||pipe2(int *fildes, int flags); } + SYS_DUP3 = 454 // { int|sys||dup3(int from, int to, int flags); } + SYS_KQUEUE1 = 455 // { int|sys||kqueue1(int flags); } + SYS_PACCEPT = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); } + SYS_LINKAT = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); } + SYS_RENAMEAT = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_MKFIFOAT = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); } + SYS_MKDIRAT = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); } + SYS_FACCESSAT = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); } + SYS_FEXECVE = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); } + SYS_FSTATAT = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_UTIMENSAT = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); } + SYS_OPENAT = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); } + SYS_READLINKAT = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); } + SYS_SYMLINKAT = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); } + SYS_UNLINKAT = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); } + SYS_FUTIMENS = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); } + SYS___QUOTACTL = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); } + SYS_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); } + SYS_RECVMMSG = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); } + SYS_SENDMMSG = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go new file mode 100644 index 000000000..0291c0931 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go @@ -0,0 +1,274 @@ +// go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; DO NOT EDIT. + +// +build arm64,netbsd + +package unix + +const ( + SYS_EXIT = 1 // { void|sys||exit(int rval); } + SYS_FORK = 2 // { int|sys||fork(void); } + SYS_READ = 3 // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int|sys||open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int|sys||close(int fd); } + SYS_LINK = 9 // { int|sys||link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int|sys||unlink(const char *path); } + SYS_CHDIR = 12 // { int|sys||chdir(const char *path); } + SYS_FCHDIR = 13 // { int|sys||fchdir(int fd); } + SYS_CHMOD = 15 // { int|sys||chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int|sys||chown(const char *path, uid_t uid, gid_t gid); } + SYS_BREAK = 17 // { int|sys||obreak(char *nsize); } + SYS_GETPID = 20 // { pid_t|sys||getpid_with_ppid(void); } + SYS_UNMOUNT = 22 // { int|sys||unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int|sys||setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t|sys||getuid_with_euid(void); } + SYS_GETEUID = 25 // { uid_t|sys||geteuid(void); } + SYS_PTRACE = 26 // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); } + SYS_RECVMSG = 27 // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int|sys||access(const char *path, int flags); } + SYS_CHFLAGS = 34 // { int|sys||chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int|sys||fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { void|sys||sync(void); } + SYS_KILL = 37 // { int|sys||kill(pid_t pid, int signum); } + SYS_GETPPID = 39 // { pid_t|sys||getppid(void); } + SYS_DUP = 41 // { int|sys||dup(int fd); } + SYS_PIPE = 42 // { int|sys||pipe(void); } + SYS_GETEGID = 43 // { gid_t|sys||getegid(void); } + SYS_PROFIL = 44 // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_GETGID = 47 // { gid_t|sys||getgid_with_egid(void); } + SYS___GETLOGIN = 49 // { int|sys||__getlogin(char *namebuf, size_t namelen); } + SYS___SETLOGIN = 50 // { int|sys||__setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int|sys||acct(const char *path); } + SYS_IOCTL = 54 // { int|sys||ioctl(int fd, u_long com, ... void *data); } + SYS_REVOKE = 56 // { int|sys||revoke(const char *path); } + SYS_SYMLINK = 57 // { int|sys||symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int|sys||execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t|sys||umask(mode_t newmask); } + SYS_CHROOT = 61 // { int|sys||chroot(const char *path); } + SYS_VFORK = 66 // { int|sys||vfork(void); } + SYS_SBRK = 69 // { int|sys||sbrk(intptr_t incr); } + SYS_SSTK = 70 // { int|sys||sstk(int incr); } + SYS_VADVISE = 72 // { int|sys||ovadvise(int anom); } + SYS_MUNMAP = 73 // { int|sys||munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int|sys||mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int|sys||madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int|sys||mincore(void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int|sys||getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int|sys||getpgrp(void); } + SYS_SETPGID = 82 // { int|sys||setpgid(pid_t pid, pid_t pgid); } + SYS_DUP2 = 90 // { int|sys||dup2(int from, int to); } + SYS_FCNTL = 92 // { int|sys||fcntl(int fd, int cmd, ... void *arg); } + SYS_FSYNC = 95 // { int|sys||fsync(int fd); } + SYS_SETPRIORITY = 96 // { int|sys||setpriority(int which, id_t who, int prio); } + SYS_CONNECT = 98 // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETPRIORITY = 100 // { int|sys||getpriority(int which, id_t who); } + SYS_BIND = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int|sys||listen(int s, int backlog); } + SYS_GETSOCKOPT = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_READV = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_FCHOWN = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int|sys||fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int|sys||rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int|sys||flock(int fd, int how); } + SYS_MKFIFO = 132 // { int|sys||mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int|sys||shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int|sys||mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int|sys||rmdir(const char *path); } + SYS_SETSID = 147 // { int|sys||setsid(void); } + SYS_SYSARCH = 165 // { int|sys||sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_PWRITE = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); } + SYS_NTP_ADJTIME = 176 // { int|sys||ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int|sys||setgid(gid_t gid); } + SYS_SETEGID = 182 // { int|sys||setegid(gid_t egid); } + SYS_SETEUID = 183 // { int|sys||seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long|sys||pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long|sys||fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); } + SYS_LSEEK = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); } + SYS_FTRUNCATE = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); } + SYS___SYSCTL = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); } + SYS_MLOCK = 203 // { int|sys||mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int|sys||munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int|sys||undelete(const char *path); } + SYS_GETPGID = 207 // { pid_t|sys||getpgid(pid_t pid); } + SYS_REBOOT = 208 // { int|sys||reboot(int opt, char *bootstr); } + SYS_POLL = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_SEMGET = 221 // { int|sys||semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_SEMCONFIG = 223 // { int|sys||semconfig(int flag); } + SYS_MSGGET = 225 // { int|sys||msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int|sys||shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); } + SYS_TIMER_CREATE = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); } + SYS_TIMER_DELETE = 236 // { int|sys||timer_delete(timer_t timerid); } + SYS_TIMER_GETOVERRUN = 239 // { int|sys||timer_getoverrun(timer_t timerid); } + SYS_FDATASYNC = 241 // { int|sys||fdatasync(int fd); } + SYS_MLOCKALL = 242 // { int|sys||mlockall(int flags); } + SYS_MUNLOCKALL = 243 // { int|sys||munlockall(void); } + SYS_SIGQUEUEINFO = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); } + SYS_MODCTL = 246 // { int|sys||modctl(int cmd, void *arg); } + SYS___POSIX_RENAME = 270 // { int|sys||__posix_rename(const char *from, const char *to); } + SYS_SWAPCTL = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); } + SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); } + SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); } + SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); } + SYS_MSYNC = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); } + SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); } + SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); } + SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 286 // { pid_t|sys||getsid(pid_t pid); } + SYS___CLONE = 287 // { pid_t|sys||__clone(int flags, void *stack); } + SYS_FKTRACE = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); } + SYS_PREADV = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } + SYS___GETCWD = 296 // { int|sys||__getcwd(char *bufp, size_t length); } + SYS_FCHROOT = 297 // { int|sys||fchroot(int fd); } + SYS_LCHFLAGS = 304 // { int|sys||lchflags(const char *path, u_long flags); } + SYS_ISSETUGID = 305 // { int|sys||issetugid(void); } + SYS_UTRACE = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); } + SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 308 // { int|sys||setcontext(const struct __ucontext *ucp); } + SYS__LWP_CREATE = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); } + SYS__LWP_EXIT = 310 // { int|sys||_lwp_exit(void); } + SYS__LWP_SELF = 311 // { lwpid_t|sys||_lwp_self(void); } + SYS__LWP_WAIT = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); } + SYS__LWP_SUSPEND = 313 // { int|sys||_lwp_suspend(lwpid_t target); } + SYS__LWP_CONTINUE = 314 // { int|sys||_lwp_continue(lwpid_t target); } + SYS__LWP_WAKEUP = 315 // { int|sys||_lwp_wakeup(lwpid_t target); } + SYS__LWP_GETPRIVATE = 316 // { void *|sys||_lwp_getprivate(void); } + SYS__LWP_SETPRIVATE = 317 // { void|sys||_lwp_setprivate(void *ptr); } + SYS__LWP_KILL = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); } + SYS__LWP_DETACH = 319 // { int|sys||_lwp_detach(lwpid_t target); } + SYS__LWP_UNPARK = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); } + SYS__LWP_UNPARK_ALL = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); } + SYS__LWP_SETNAME = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); } + SYS__LWP_GETNAME = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); } + SYS__LWP_CTL = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); } + SYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); } + SYS_PMC_GET_INFO = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); } + SYS_PMC_CONTROL = 342 // { int|sys||pmc_control(int ctr, int op, void *args); } + SYS_RASCTL = 343 // { int|sys||rasctl(void *addr, size_t len, int op); } + SYS_KQUEUE = 344 // { int|sys||kqueue(void); } + SYS__SCHED_SETPARAM = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); } + SYS__SCHED_GETPARAM = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); } + SYS__SCHED_SETAFFINITY = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); } + SYS__SCHED_GETAFFINITY = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); } + SYS_SCHED_YIELD = 350 // { int|sys||sched_yield(void); } + SYS_FSYNC_RANGE = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); } + SYS_UUIDGEN = 355 // { int|sys||uuidgen(struct uuid *store, int count); } + SYS_GETVFSSTAT = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); } + SYS_STATVFS1 = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); } + SYS_FSTATVFS1 = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); } + SYS_EXTATTRCTL = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FILE = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FILE = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_FD = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } + SYS_EXTATTR_SET_LINK = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } + SYS_EXTATTR_GET_LINK = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_LINK = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } + SYS_EXTATTR_LIST_FD = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_FILE = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_EXTATTR_LIST_LINK = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_SETXATTR = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_LSETXATTR = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); } + SYS_FSETXATTR = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); } + SYS_GETXATTR = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); } + SYS_LGETXATTR = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); } + SYS_FGETXATTR = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); } + SYS_LISTXATTR = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); } + SYS_LLISTXATTR = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); } + SYS_FLISTXATTR = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); } + SYS_REMOVEXATTR = 384 // { int|sys||removexattr(const char *path, const char *name); } + SYS_LREMOVEXATTR = 385 // { int|sys||lremovexattr(const char *path, const char *name); } + SYS_FREMOVEXATTR = 386 // { int|sys||fremovexattr(int fd, const char *name); } + SYS_GETDENTS = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); } + SYS_SOCKET = 394 // { int|sys|30|socket(int domain, int type, int protocol); } + SYS_GETFH = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); } + SYS_MOUNT = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); } + SYS_MREMAP = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); } + SYS_PSET_CREATE = 412 // { int|sys||pset_create(psetid_t *psid); } + SYS_PSET_DESTROY = 413 // { int|sys||pset_destroy(psetid_t psid); } + SYS_PSET_ASSIGN = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); } + SYS__PSET_BIND = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); } + SYS_POSIX_FADVISE = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); } + SYS_SELECT = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_GETTIMEOFDAY = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); } + SYS_SETTIMEOFDAY = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); } + SYS_UTIMES = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); } + SYS_ADJTIME = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_FUTIMES = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); } + SYS_LUTIMES = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); } + SYS_SETITIMER = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); } + SYS_CLOCK_GETTIME = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_NANOSLEEP = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS___SIGTIMEDWAIT = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); } + SYS__LWP_PARK = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); } + SYS_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); } + SYS_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); } + SYS_POLLTS = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_STAT = 439 // { int|sys|50|stat(const char *path, struct stat *ub); } + SYS_FSTAT = 440 // { int|sys|50|fstat(int fd, struct stat *sb); } + SYS_LSTAT = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); } + SYS___SEMCTL = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); } + SYS_SHMCTL = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_GETRUSAGE = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); } + SYS_TIMER_SETTIME = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } + SYS_TIMER_GETTIME = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); } + SYS_NTP_GETTIME = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); } + SYS_WAIT4 = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_MKNOD = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); } + SYS_FHSTAT = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); } + SYS_PIPE2 = 453 // { int|sys||pipe2(int *fildes, int flags); } + SYS_DUP3 = 454 // { int|sys||dup3(int from, int to, int flags); } + SYS_KQUEUE1 = 455 // { int|sys||kqueue1(int flags); } + SYS_PACCEPT = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); } + SYS_LINKAT = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); } + SYS_RENAMEAT = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_MKFIFOAT = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); } + SYS_MKDIRAT = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); } + SYS_FACCESSAT = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); } + SYS_FEXECVE = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); } + SYS_FSTATAT = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_UTIMENSAT = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); } + SYS_OPENAT = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); } + SYS_READLINKAT = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); } + SYS_SYMLINKAT = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); } + SYS_UNLINKAT = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); } + SYS_FUTIMENS = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); } + SYS___QUOTACTL = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); } + SYS_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); } + SYS_RECVMMSG = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); } + SYS_SENDMMSG = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go new file mode 100644 index 000000000..b0207d1c9 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go @@ -0,0 +1,218 @@ +// go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,openbsd + +package unix + +const ( + SYS_EXIT = 1 // { void sys_exit(int rval); } + SYS_FORK = 2 // { int sys_fork(void); } + SYS_READ = 3 // { ssize_t sys_read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t sys_write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int sys_open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int sys_close(int fd); } + SYS_GETENTROPY = 7 // { int sys_getentropy(void *buf, size_t nbyte); } + SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, size_t psize); } + SYS_LINK = 9 // { int sys_link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int sys_unlink(const char *path); } + SYS_WAIT4 = 11 // { pid_t sys_wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_CHDIR = 12 // { int sys_chdir(const char *path); } + SYS_FCHDIR = 13 // { int sys_fchdir(int fd); } + SYS_MKNOD = 14 // { int sys_mknod(const char *path, mode_t mode, dev_t dev); } + SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, gid_t gid); } + SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break + SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } + SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, struct rusage *rusage); } + SYS_GETPID = 20 // { pid_t sys_getpid(void); } + SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, int flags, void *data); } + SYS_UNMOUNT = 22 // { int sys_unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int sys_setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t sys_getuid(void); } + SYS_GETEUID = 25 // { uid_t sys_geteuid(void); } + SYS_PTRACE = 26 // { int sys_ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int sys_access(const char *path, int amode); } + SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); } + SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); } + SYS_SYNC = 36 // { void sys_sync(void); } + SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); } + SYS_GETPPID = 39 // { pid_t sys_getppid(void); } + SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); } + SYS_DUP = 41 // { int sys_dup(int fd); } + SYS_FSTATAT = 42 // { int sys_fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_GETEGID = 43 // { gid_t sys_getegid(void); } + SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_SIGACTION = 46 // { int sys_sigaction(int signum, const struct sigaction *nsa, struct sigaction *osa); } + SYS_GETGID = 47 // { gid_t sys_getgid(void); } + SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } + SYS_SETLOGIN = 50 // { int sys_setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int sys_acct(const char *path); } + SYS_SIGPENDING = 52 // { int sys_sigpending(void); } + SYS_FSTAT = 53 // { int sys_fstat(int fd, struct stat *sb); } + SYS_IOCTL = 54 // { int sys_ioctl(int fd, u_long com, ... void *data); } + SYS_REBOOT = 55 // { int sys_reboot(int opt); } + SYS_REVOKE = 56 // { int sys_revoke(const char *path); } + SYS_SYMLINK = 57 // { int sys_symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t sys_readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int sys_execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t sys_umask(mode_t newmask); } + SYS_CHROOT = 61 // { int sys_chroot(const char *path); } + SYS_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, int flags); } + SYS_STATFS = 63 // { int sys_statfs(const char *path, struct statfs *buf); } + SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, struct statfs *buf); } + SYS_VFORK = 66 // { int sys_vfork(void); } + SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp); } + SYS_SETITIMER = 69 // { int sys_setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 70 // { int sys_getitimer(int which, struct itimerval *itv); } + SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_KEVENT = 72 // { int sys_kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, int behav); } + SYS_UTIMES = 76 // { int sys_utimes(const char *path, const struct timeval *tptr); } + SYS_FUTIMES = 77 // { int sys_futimes(int fd, const struct timeval *tptr); } + SYS_MINCORE = 78 // { int sys_mincore(void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int sys_getpgrp(void); } + SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, pid_t pgid); } + SYS_FUTEX = 83 // { int sys_futex(uint32_t *f, int op, int val, const struct timespec *timeout, uint32_t *g); } + SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, const struct timespec *times, int flag); } + SYS_FUTIMENS = 85 // { int sys_futimens(int fd, const struct timespec *times); } + SYS_KBIND = 86 // { int sys_kbind(const struct __kbind *param, size_t psize, int64_t proc_cookie); } + SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } + SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } + SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, socklen_t *anamelen, int flags); } + SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, clockid_t clock_id, const struct timespec *tp, void *lock, const int *abort); } + SYS_FSYNC = 95 // { int sys_fsync(int fd); } + SYS_SETPRIORITY = 96 // { int sys_setpriority(int which, id_t who, int prio); } + SYS_SOCKET = 97 // { int sys_socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int sys_connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETDENTS = 99 // { int sys_getdents(int fd, void *buf, size_t buflen); } + SYS_GETPRIORITY = 100 // { int sys_getpriority(int which, id_t who); } + SYS_PIPE2 = 101 // { int sys_pipe2(int *fdp, int flags); } + SYS_DUP3 = 102 // { int sys_dup3(int from, int to, int flags); } + SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } + SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); } + SYS_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, u_int flags, int atflags); } + SYS_PLEDGE = 108 // { int sys_pledge(const char *promises, const char *execpromises); } + SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } + SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } + SYS_SENDSYSLOG = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, int flags); } + SYS_UNVEIL = 114 // { int sys_unveil(const char *path, const char *permissions); } + SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_THRKILL = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); } + SYS_READV = 120 // { ssize_t sys_readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_KILL = 122 // { int sys_kill(int pid, int signum); } + SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int sys_rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int sys_flock(int fd, int how); } + SYS_MKFIFO = 132 // { int sys_mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t sys_sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int sys_mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int sys_rmdir(const char *path); } + SYS_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_GETLOGIN_R = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); } + SYS_SETSID = 147 // { int sys_setsid(void); } + SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, int uid, char *arg); } + SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); } + SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); } + SYS_SYSARCH = 165 // { int sys_sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t sys_pread(int fd, void *buf, size_t nbyte, int pad, off_t offset); } + SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, size_t nbyte, int pad, off_t offset); } + SYS_SETGID = 181 // { int sys_setgid(gid_t gid); } + SYS_SETEGID = 182 // { int sys_setegid(gid_t egid); } + SYS_SETEUID = 183 // { int sys_seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long sys_pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long sys_fpathconf(int fd, int name); } + SYS_SWAPCTL = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); } + SYS_GETRLIMIT = 194 // { int sys_getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, off_t length); } + SYS_FTRUNCATE = 201 // { int sys_ftruncate(int fd, int pad, off_t length); } + SYS_SYSCTL = 202 // { int sys_sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } + SYS_MLOCK = 203 // { int sys_mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int sys_munlock(const void *addr, size_t len); } + SYS_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } + SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, size_t len); } + SYS_SEMGET = 221 // { int sys_semget(key_t key, int nsems, int semflg); } + SYS_MSGGET = 225 // { int sys_msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); } + SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, int inherit); } + SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int sys_issetugid(void); } + SYS_LCHOWN = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 255 // { pid_t sys_getsid(pid_t pid); } + SYS_MSYNC = 256 // { int sys_msync(void *addr, size_t len, int flags); } + SYS_PIPE = 263 // { int sys_pipe(int *fdp); } + SYS_FHOPEN = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); } + SYS_PREADV = 267 // { ssize_t sys_preadv(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_KQUEUE = 269 // { int sys_kqueue(void); } + SYS_MLOCKALL = 271 // { int sys_mlockall(int flags); } + SYS_MUNLOCKALL = 272 // { int sys_munlockall(void); } + SYS_GETRESUID = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } + SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, struct sigaltstack *oss); } + SYS_SHMGET = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); } + SYS_SEMOP = 290 // { int sys_semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, struct stat *sb); } + SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SCHED_YIELD = 298 // { int sys_sched_yield(void); } + SYS_GETTHRID = 299 // { pid_t sys_getthrid(void); } + SYS___THRWAKEUP = 301 // { int sys___thrwakeup(const volatile void *ident, int n); } + SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } + SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, siginfo_t *info, const struct timespec *timeout); } + SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } + SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, int64_t *oldfreq); } + SYS_SETRTABLE = 310 // { int sys_setrtable(int rtableid); } + SYS_GETRTABLE = 311 // { int sys_getrtable(void); } + SYS_FACCESSAT = 313 // { int sys_faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); } + SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); } + SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, mode_t mode); } + SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, ... mode_t mode); } + SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, char *buf, size_t count); } + SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, const char *link); } + SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, int flag); } + SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } + SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go new file mode 100644 index 000000000..f0dec6f0b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go @@ -0,0 +1,218 @@ +// go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,openbsd + +package unix + +const ( + SYS_EXIT = 1 // { void sys_exit(int rval); } + SYS_FORK = 2 // { int sys_fork(void); } + SYS_READ = 3 // { ssize_t sys_read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t sys_write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int sys_open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int sys_close(int fd); } + SYS_GETENTROPY = 7 // { int sys_getentropy(void *buf, size_t nbyte); } + SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, size_t psize); } + SYS_LINK = 9 // { int sys_link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int sys_unlink(const char *path); } + SYS_WAIT4 = 11 // { pid_t sys_wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_CHDIR = 12 // { int sys_chdir(const char *path); } + SYS_FCHDIR = 13 // { int sys_fchdir(int fd); } + SYS_MKNOD = 14 // { int sys_mknod(const char *path, mode_t mode, dev_t dev); } + SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, gid_t gid); } + SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break + SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } + SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, struct rusage *rusage); } + SYS_GETPID = 20 // { pid_t sys_getpid(void); } + SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, int flags, void *data); } + SYS_UNMOUNT = 22 // { int sys_unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int sys_setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t sys_getuid(void); } + SYS_GETEUID = 25 // { uid_t sys_geteuid(void); } + SYS_PTRACE = 26 // { int sys_ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int sys_access(const char *path, int amode); } + SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); } + SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); } + SYS_SYNC = 36 // { void sys_sync(void); } + SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); } + SYS_GETPPID = 39 // { pid_t sys_getppid(void); } + SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); } + SYS_DUP = 41 // { int sys_dup(int fd); } + SYS_FSTATAT = 42 // { int sys_fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_GETEGID = 43 // { gid_t sys_getegid(void); } + SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_SIGACTION = 46 // { int sys_sigaction(int signum, const struct sigaction *nsa, struct sigaction *osa); } + SYS_GETGID = 47 // { gid_t sys_getgid(void); } + SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } + SYS_SETLOGIN = 50 // { int sys_setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int sys_acct(const char *path); } + SYS_SIGPENDING = 52 // { int sys_sigpending(void); } + SYS_FSTAT = 53 // { int sys_fstat(int fd, struct stat *sb); } + SYS_IOCTL = 54 // { int sys_ioctl(int fd, u_long com, ... void *data); } + SYS_REBOOT = 55 // { int sys_reboot(int opt); } + SYS_REVOKE = 56 // { int sys_revoke(const char *path); } + SYS_SYMLINK = 57 // { int sys_symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t sys_readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int sys_execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t sys_umask(mode_t newmask); } + SYS_CHROOT = 61 // { int sys_chroot(const char *path); } + SYS_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, int flags); } + SYS_STATFS = 63 // { int sys_statfs(const char *path, struct statfs *buf); } + SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, struct statfs *buf); } + SYS_VFORK = 66 // { int sys_vfork(void); } + SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp); } + SYS_SETITIMER = 69 // { int sys_setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 70 // { int sys_getitimer(int which, struct itimerval *itv); } + SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_KEVENT = 72 // { int sys_kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, int behav); } + SYS_UTIMES = 76 // { int sys_utimes(const char *path, const struct timeval *tptr); } + SYS_FUTIMES = 77 // { int sys_futimes(int fd, const struct timeval *tptr); } + SYS_MINCORE = 78 // { int sys_mincore(void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int sys_getpgrp(void); } + SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, pid_t pgid); } + SYS_FUTEX = 83 // { int sys_futex(uint32_t *f, int op, int val, const struct timespec *timeout, uint32_t *g); } + SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, const struct timespec *times, int flag); } + SYS_FUTIMENS = 85 // { int sys_futimens(int fd, const struct timespec *times); } + SYS_KBIND = 86 // { int sys_kbind(const struct __kbind *param, size_t psize, int64_t proc_cookie); } + SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } + SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } + SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, socklen_t *anamelen, int flags); } + SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, clockid_t clock_id, const struct timespec *tp, void *lock, const int *abort); } + SYS_FSYNC = 95 // { int sys_fsync(int fd); } + SYS_SETPRIORITY = 96 // { int sys_setpriority(int which, id_t who, int prio); } + SYS_SOCKET = 97 // { int sys_socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int sys_connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETDENTS = 99 // { int sys_getdents(int fd, void *buf, size_t buflen); } + SYS_GETPRIORITY = 100 // { int sys_getpriority(int which, id_t who); } + SYS_PIPE2 = 101 // { int sys_pipe2(int *fdp, int flags); } + SYS_DUP3 = 102 // { int sys_dup3(int from, int to, int flags); } + SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } + SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); } + SYS_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, u_int flags, int atflags); } + SYS_PLEDGE = 108 // { int sys_pledge(const char *promises, const char *execpromises); } + SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } + SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } + SYS_SENDSYSLOG = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, int flags); } + SYS_UNVEIL = 114 // { int sys_unveil(const char *path, const char *permissions); } + SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_THRKILL = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); } + SYS_READV = 120 // { ssize_t sys_readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_KILL = 122 // { int sys_kill(int pid, int signum); } + SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int sys_rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int sys_flock(int fd, int how); } + SYS_MKFIFO = 132 // { int sys_mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t sys_sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int sys_mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int sys_rmdir(const char *path); } + SYS_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_GETLOGIN_R = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); } + SYS_SETSID = 147 // { int sys_setsid(void); } + SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, int uid, char *arg); } + SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); } + SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); } + SYS_SYSARCH = 165 // { int sys_sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t sys_pread(int fd, void *buf, size_t nbyte, int pad, off_t offset); } + SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, size_t nbyte, int pad, off_t offset); } + SYS_SETGID = 181 // { int sys_setgid(gid_t gid); } + SYS_SETEGID = 182 // { int sys_setegid(gid_t egid); } + SYS_SETEUID = 183 // { int sys_seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long sys_pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long sys_fpathconf(int fd, int name); } + SYS_SWAPCTL = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); } + SYS_GETRLIMIT = 194 // { int sys_getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, off_t length); } + SYS_FTRUNCATE = 201 // { int sys_ftruncate(int fd, int pad, off_t length); } + SYS_SYSCTL = 202 // { int sys_sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } + SYS_MLOCK = 203 // { int sys_mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int sys_munlock(const void *addr, size_t len); } + SYS_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } + SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, size_t len); } + SYS_SEMGET = 221 // { int sys_semget(key_t key, int nsems, int semflg); } + SYS_MSGGET = 225 // { int sys_msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); } + SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, int inherit); } + SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int sys_issetugid(void); } + SYS_LCHOWN = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 255 // { pid_t sys_getsid(pid_t pid); } + SYS_MSYNC = 256 // { int sys_msync(void *addr, size_t len, int flags); } + SYS_PIPE = 263 // { int sys_pipe(int *fdp); } + SYS_FHOPEN = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); } + SYS_PREADV = 267 // { ssize_t sys_preadv(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_KQUEUE = 269 // { int sys_kqueue(void); } + SYS_MLOCKALL = 271 // { int sys_mlockall(int flags); } + SYS_MUNLOCKALL = 272 // { int sys_munlockall(void); } + SYS_GETRESUID = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } + SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, struct sigaltstack *oss); } + SYS_SHMGET = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); } + SYS_SEMOP = 290 // { int sys_semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, struct stat *sb); } + SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SCHED_YIELD = 298 // { int sys_sched_yield(void); } + SYS_GETTHRID = 299 // { pid_t sys_getthrid(void); } + SYS___THRWAKEUP = 301 // { int sys___thrwakeup(const volatile void *ident, int n); } + SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } + SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, siginfo_t *info, const struct timespec *timeout); } + SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } + SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, int64_t *oldfreq); } + SYS_SETRTABLE = 310 // { int sys_setrtable(int rtableid); } + SYS_GETRTABLE = 311 // { int sys_getrtable(void); } + SYS_FACCESSAT = 313 // { int sys_faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); } + SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); } + SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, mode_t mode); } + SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, ... mode_t mode); } + SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, char *buf, size_t count); } + SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, const char *link); } + SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, int flag); } + SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } + SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } +) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go new file mode 100644 index 000000000..33d1dc540 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go @@ -0,0 +1,218 @@ +// go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,openbsd + +package unix + +const ( + SYS_EXIT = 1 // { void sys_exit(int rval); } + SYS_FORK = 2 // { int sys_fork(void); } + SYS_READ = 3 // { ssize_t sys_read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t sys_write(int fd, const void *buf, size_t nbyte); } + SYS_OPEN = 5 // { int sys_open(const char *path, int flags, ... mode_t mode); } + SYS_CLOSE = 6 // { int sys_close(int fd); } + SYS_GETENTROPY = 7 // { int sys_getentropy(void *buf, size_t nbyte); } + SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, size_t psize); } + SYS_LINK = 9 // { int sys_link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int sys_unlink(const char *path); } + SYS_WAIT4 = 11 // { pid_t sys_wait4(pid_t pid, int *status, int options, struct rusage *rusage); } + SYS_CHDIR = 12 // { int sys_chdir(const char *path); } + SYS_FCHDIR = 13 // { int sys_fchdir(int fd); } + SYS_MKNOD = 14 // { int sys_mknod(const char *path, mode_t mode, dev_t dev); } + SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, gid_t gid); } + SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break + SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } + SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, struct rusage *rusage); } + SYS_GETPID = 20 // { pid_t sys_getpid(void); } + SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, int flags, void *data); } + SYS_UNMOUNT = 22 // { int sys_unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int sys_setuid(uid_t uid); } + SYS_GETUID = 24 // { uid_t sys_getuid(void); } + SYS_GETEUID = 25 // { uid_t sys_geteuid(void); } + SYS_PTRACE = 26 // { int sys_ptrace(int req, pid_t pid, caddr_t addr, int data); } + SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, int flags); } + SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, const struct msghdr *msg, int flags); } + SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } + SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, socklen_t *anamelen); } + SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } + SYS_ACCESS = 33 // { int sys_access(const char *path, int amode); } + SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); } + SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); } + SYS_SYNC = 36 // { void sys_sync(void); } + SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); } + SYS_GETPPID = 39 // { pid_t sys_getppid(void); } + SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); } + SYS_DUP = 41 // { int sys_dup(int fd); } + SYS_FSTATAT = 42 // { int sys_fstatat(int fd, const char *path, struct stat *buf, int flag); } + SYS_GETEGID = 43 // { gid_t sys_getegid(void); } + SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, u_long offset, u_int scale); } + SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, int facs, pid_t pid); } + SYS_SIGACTION = 46 // { int sys_sigaction(int signum, const struct sigaction *nsa, struct sigaction *osa); } + SYS_GETGID = 47 // { gid_t sys_getgid(void); } + SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } + SYS_SETLOGIN = 50 // { int sys_setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int sys_acct(const char *path); } + SYS_SIGPENDING = 52 // { int sys_sigpending(void); } + SYS_FSTAT = 53 // { int sys_fstat(int fd, struct stat *sb); } + SYS_IOCTL = 54 // { int sys_ioctl(int fd, u_long com, ... void *data); } + SYS_REBOOT = 55 // { int sys_reboot(int opt); } + SYS_REVOKE = 56 // { int sys_revoke(const char *path); } + SYS_SYMLINK = 57 // { int sys_symlink(const char *path, const char *link); } + SYS_READLINK = 58 // { ssize_t sys_readlink(const char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int sys_execve(const char *path, char * const *argp, char * const *envp); } + SYS_UMASK = 60 // { mode_t sys_umask(mode_t newmask); } + SYS_CHROOT = 61 // { int sys_chroot(const char *path); } + SYS_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, int flags); } + SYS_STATFS = 63 // { int sys_statfs(const char *path, struct statfs *buf); } + SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } + SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, struct statfs *buf); } + SYS_VFORK = 66 // { int sys_vfork(void); } + SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, struct timezone *tzp); } + SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp); } + SYS_SETITIMER = 69 // { int sys_setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } + SYS_GETITIMER = 70 // { int sys_getitimer(int which, struct itimerval *itv); } + SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } + SYS_KEVENT = 72 // { int sys_kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, int behav); } + SYS_UTIMES = 76 // { int sys_utimes(const char *path, const struct timeval *tptr); } + SYS_FUTIMES = 77 // { int sys_futimes(int fd, const struct timeval *tptr); } + SYS_MINCORE = 78 // { int sys_mincore(void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, gid_t *gidset); } + SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, const gid_t *gidset); } + SYS_GETPGRP = 81 // { int sys_getpgrp(void); } + SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, pid_t pgid); } + SYS_FUTEX = 83 // { int sys_futex(uint32_t *f, int op, int val, const struct timespec *timeout, uint32_t *g); } + SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, const struct timespec *times, int flag); } + SYS_FUTIMENS = 85 // { int sys_futimens(int fd, const struct timespec *times); } + SYS_KBIND = 86 // { int sys_kbind(const struct __kbind *param, size_t psize, int64_t proc_cookie); } + SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, struct timespec *tp); } + SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } + SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } + SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, socklen_t *anamelen, int flags); } + SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, clockid_t clock_id, const struct timespec *tp, void *lock, const int *abort); } + SYS_FSYNC = 95 // { int sys_fsync(int fd); } + SYS_SETPRIORITY = 96 // { int sys_setpriority(int which, id_t who, int prio); } + SYS_SOCKET = 97 // { int sys_socket(int domain, int type, int protocol); } + SYS_CONNECT = 98 // { int sys_connect(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_GETDENTS = 99 // { int sys_getdents(int fd, void *buf, size_t buflen); } + SYS_GETPRIORITY = 100 // { int sys_getpriority(int which, id_t who); } + SYS_PIPE2 = 101 // { int sys_pipe2(int *fdp, int flags); } + SYS_DUP3 = 102 // { int sys_dup3(int from, int to, int flags); } + SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } + SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, socklen_t namelen); } + SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } + SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); } + SYS_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, u_int flags, int atflags); } + SYS_PLEDGE = 108 // { int sys_pledge(const char *promises, const char *execpromises); } + SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } + SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } + SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } + SYS_SENDSYSLOG = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, int flags); } + SYS_UNVEIL = 114 // { int sys_unveil(const char *path, const char *permissions); } + SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } + SYS_THRKILL = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); } + SYS_READV = 120 // { ssize_t sys_readv(int fd, const struct iovec *iovp, int iovcnt); } + SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, const struct iovec *iovp, int iovcnt); } + SYS_KILL = 122 // { int sys_kill(int pid, int signum); } + SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int sys_rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int sys_flock(int fd, int how); } + SYS_MKFIFO = 132 // { int sys_mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t sys_sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } + SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, int protocol, int *rsv); } + SYS_MKDIR = 136 // { int sys_mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int sys_rmdir(const char *path); } + SYS_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, struct timeval *olddelta); } + SYS_GETLOGIN_R = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); } + SYS_SETSID = 147 // { int sys_setsid(void); } + SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, int uid, char *arg); } + SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); } + SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); } + SYS_SYSARCH = 165 // { int sys_sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t sys_pread(int fd, void *buf, size_t nbyte, int pad, off_t offset); } + SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, size_t nbyte, int pad, off_t offset); } + SYS_SETGID = 181 // { int sys_setgid(gid_t gid); } + SYS_SETEGID = 182 // { int sys_setegid(gid_t egid); } + SYS_SETEUID = 183 // { int sys_seteuid(uid_t euid); } + SYS_PATHCONF = 191 // { long sys_pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long sys_fpathconf(int fd, int name); } + SYS_SWAPCTL = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); } + SYS_GETRLIMIT = 194 // { int sys_getrlimit(int which, struct rlimit *rlp); } + SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, const struct rlimit *rlp); } + SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, off_t length); } + SYS_FTRUNCATE = 201 // { int sys_ftruncate(int fd, int pad, off_t length); } + SYS_SYSCTL = 202 // { int sys_sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } + SYS_MLOCK = 203 // { int sys_mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int sys_munlock(const void *addr, size_t len); } + SYS_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } + SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, size_t len); } + SYS_SEMGET = 221 // { int sys_semget(key_t key, int nsems, int semflg); } + SYS_MSGGET = 225 // { int sys_msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } + SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); } + SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, int inherit); } + SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int sys_issetugid(void); } + SYS_LCHOWN = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); } + SYS_GETSID = 255 // { pid_t sys_getsid(pid_t pid); } + SYS_MSYNC = 256 // { int sys_msync(void *addr, size_t len, int flags); } + SYS_PIPE = 263 // { int sys_pipe(int *fdp); } + SYS_FHOPEN = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); } + SYS_PREADV = 267 // { ssize_t sys_preadv(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } + SYS_KQUEUE = 269 // { int sys_kqueue(void); } + SYS_MLOCKALL = 271 // { int sys_mlockall(int flags); } + SYS_MUNLOCKALL = 272 // { int sys_munlockall(void); } + SYS_GETRESUID = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } + SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } + SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, struct sigaltstack *oss); } + SYS_SHMGET = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); } + SYS_SEMOP = 290 // { int sys_semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, struct stat *sb); } + SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, union semun *arg); } + SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf); } + SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf); } + SYS_SCHED_YIELD = 298 // { int sys_sched_yield(void); } + SYS_GETTHRID = 299 // { pid_t sys_getthrid(void); } + SYS___THRWAKEUP = 301 // { int sys___thrwakeup(const volatile void *ident, int n); } + SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } + SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, siginfo_t *info, const struct timespec *timeout); } + SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } + SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, int64_t *oldfreq); } + SYS_SETRTABLE = 310 // { int sys_setrtable(int rtableid); } + SYS_GETRTABLE = 311 // { int sys_getrtable(void); } + SYS_FACCESSAT = 313 // { int sys_faccessat(int fd, const char *path, int amode, int flag); } + SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); } + SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); } + SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, mode_t mode); } + SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, mode_t mode); } + SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, ... mode_t mode); } + SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, char *buf, size_t count); } + SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, int tofd, const char *to); } + SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, const char *link); } + SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, int flag); } + SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } + SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } +) diff --git a/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go new file mode 100644 index 000000000..cedc9b0f2 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go @@ -0,0 +1,345 @@ +// cgo -godefs types_aix.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc,aix + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 + PathMax = 0x3ff +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type off64 int64 +type off int32 +type Mode_t uint32 + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type StTimespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timeval32 struct { + Sec int32 + Usec int32 +} + +type Timex struct{} + +type Time_t int32 + +type Tms struct{} + +type Utimbuf struct { + Actime int32 + Modtime int32 +} + +type Timezone struct { + Minuteswest int32 + Dsttime int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type Pid_t int32 + +type _Gid_t uint32 + +type dev_t uint32 + +type Stat_t struct { + Dev uint32 + Ino uint32 + Mode uint32 + Nlink int16 + Flag uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Size int32 + Atim StTimespec + Mtim StTimespec + Ctim StTimespec + Blksize int32 + Blocks int32 + Vfstype int32 + Vfs uint32 + Type uint32 + Gen uint32 + Reserved [9]uint32 +} + +type StatxTimestamp struct{} + +type Statx_t struct{} + +type Dirent struct { + Offset uint32 + Ino uint32 + Reclen uint16 + Namlen uint16 + Name [256]uint8 +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [1023]uint8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]uint8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [1012]uint8 +} + +type _Socklen uint32 + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x404 + SizeofSockaddrUnix = 0x401 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofICMPv6Filter = 0x20 +) + +const ( + SizeofIfMsghdr = 0x10 +) + +type IfMsgHdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Addrlen uint8 + _ [1]byte +} + +type FdSet struct { + Bits [2048]int32 +} + +type Utsname struct { + Sysname [32]byte + Nodename [32]byte + Release [32]byte + Version [32]byte + Machine [32]byte +} + +type Ustat_t struct{} + +type Sigset_t struct { + Losigs uint32 + Hisigs uint32 +} + +const ( + AT_FDCWD = -0x2 + AT_REMOVEDIR = 0x1 + AT_SYMLINK_NOFOLLOW = 0x1 +) + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [16]uint8 +} + +type Termio struct { + Iflag uint16 + Oflag uint16 + Cflag uint16 + Lflag uint16 + Line uint8 + Cc [8]uint8 + _ [1]byte +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type PollFd struct { + Fd int32 + Events uint16 + Revents uint16 +} + +const ( + POLLERR = 0x4000 + POLLHUP = 0x2000 + POLLIN = 0x1 + POLLNVAL = 0x8000 + POLLOUT = 0x2 + POLLPRI = 0x4 + POLLRDBAND = 0x20 + POLLRDNORM = 0x10 + POLLWRBAND = 0x40 + POLLWRNORM = 0x2 +) + +type Flock_t struct { + Type int16 + Whence int16 + Sysid uint32 + Pid int32 + Vfs int32 + Start int64 + Len int64 +} + +type Fsid_t struct { + Val [2]uint32 +} +type Fsid64_t struct { + Val [2]uint64 +} + +type Statfs_t struct { + Version int32 + Type int32 + Bsize uint32 + Blocks uint32 + Bfree uint32 + Bavail uint32 + Files uint32 + Ffree uint32 + Fsid Fsid_t + Vfstype int32 + Fsize uint32 + Vfsnumber int32 + Vfsoff int32 + Vfslen int32 + Vfsvers int32 + Fname [32]uint8 + Fpack [32]uint8 + Name_max int32 +} + +const RNDGETENTCNT = 0x80045200 diff --git a/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go new file mode 100644 index 000000000..f46482d27 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go @@ -0,0 +1,354 @@ +// cgo -godefs types_aix.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64,aix + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x3ff +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type off64 int64 +type off int64 +type Mode_t uint32 + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type StTimespec struct { + Sec int64 + Nsec int32 + _ [4]byte +} + +type Timeval struct { + Sec int64 + Usec int32 + _ [4]byte +} + +type Timeval32 struct { + Sec int32 + Usec int32 +} + +type Timex struct{} + +type Time_t int64 + +type Tms struct{} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Timezone struct { + Minuteswest int32 + Dsttime int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type Pid_t int32 + +type _Gid_t uint32 + +type dev_t uint64 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Mode uint32 + Nlink int16 + Flag uint16 + Uid uint32 + Gid uint32 + Rdev uint64 + Ssize int32 + _ [4]byte + Atim StTimespec + Mtim StTimespec + Ctim StTimespec + Blksize int64 + Blocks int64 + Vfstype int32 + Vfs uint32 + Type uint32 + Gen uint32 + Reserved [9]uint32 + Padto_ll uint32 + Size int64 +} + +type StatxTimestamp struct{} + +type Statx_t struct{} + +type Dirent struct { + Offset uint64 + Ino uint64 + Reclen uint16 + Namlen uint16 + Name [256]uint8 + _ [4]byte +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [1023]uint8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]uint8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [1012]uint8 +} + +type _Socklen uint32 + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + _ [4]byte + Iov *Iovec + Iovlen int32 + _ [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x404 + SizeofSockaddrUnix = 0x401 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofICMPv6Filter = 0x20 +) + +const ( + SizeofIfMsghdr = 0x10 +) + +type IfMsgHdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Addrlen uint8 + _ [1]byte +} + +type FdSet struct { + Bits [1024]int64 +} + +type Utsname struct { + Sysname [32]byte + Nodename [32]byte + Release [32]byte + Version [32]byte + Machine [32]byte +} + +type Ustat_t struct{} + +type Sigset_t struct { + Set [4]uint64 +} + +const ( + AT_FDCWD = -0x2 + AT_REMOVEDIR = 0x1 + AT_SYMLINK_NOFOLLOW = 0x1 +) + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [16]uint8 +} + +type Termio struct { + Iflag uint16 + Oflag uint16 + Cflag uint16 + Lflag uint16 + Line uint8 + Cc [8]uint8 + _ [1]byte +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type PollFd struct { + Fd int32 + Events uint16 + Revents uint16 +} + +const ( + POLLERR = 0x4000 + POLLHUP = 0x2000 + POLLIN = 0x1 + POLLNVAL = 0x8000 + POLLOUT = 0x2 + POLLPRI = 0x4 + POLLRDBAND = 0x20 + POLLRDNORM = 0x10 + POLLWRBAND = 0x40 + POLLWRNORM = 0x2 +) + +type Flock_t struct { + Type int16 + Whence int16 + Sysid uint32 + Pid int32 + Vfs int32 + Start int64 + Len int64 +} + +type Fsid_t struct { + Val [2]uint32 +} +type Fsid64_t struct { + Val [2]uint64 +} + +type Statfs_t struct { + Version int32 + Type int32 + Bsize uint64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid64_t + Vfstype int32 + _ [4]byte + Fsize uint64 + Vfsnumber int32 + Vfsoff int32 + Vfslen int32 + Vfsvers int32 + Fname [32]uint8 + Fpack [32]uint8 + Name_max int32 + _ [4]byte +} + +const RNDGETENTCNT = 0x80045200 diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go new file mode 100644 index 000000000..2aeb52a88 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go @@ -0,0 +1,489 @@ +// cgo -godefs types_darwin.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,darwin + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timeval32 struct{} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev int32 + Mode uint16 + Nlink uint16 + Ino uint64 + Uid uint32 + Gid uint32 + Rdev int32 + Atimespec Timespec + Mtimespec Timespec + Ctimespec Timespec + Birthtimespec Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Qspare [2]int64 +} + +type Statfs_t struct { + Bsize uint32 + Iosize int32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Owner uint32 + Type uint32 + Flags uint32 + Fssubtype uint32 + Fstypename [16]int8 + Mntonname [1024]int8 + Mntfromname [1024]int8 + Reserved [8]uint32 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Fstore_t struct { + Flags uint32 + Posmode int32 + Offset int64 + Length int64 + Bytesalloc int64 +} + +type Radvisory_t struct { + Offset int64 + Count int32 +} + +type Fbootstraptransfer_t struct { + Offset int64 + Length uint32 + Buffer *byte +} + +type Log2phys_t struct { + Flags uint32 + Contigbytes int64 + Devoffset int64 +} + +type Fsid struct { + Val [2]int32 +} + +type Dirent struct { + Ino uint64 + Seekoff uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [1024]int8 + _ [3]byte +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex uint32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + Data int32 + Udata *byte +} + +type FdSet struct { + Bits [32]int32 +} + +const ( + SizeofIfMsghdr = 0x70 + SizeofIfData = 0x60 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfmaMsghdr2 = 0x14 + SizeofRtMsghdr = 0x5c + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Typelen uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Recvquota uint8 + Xmitquota uint8 + Unused1 uint8 + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Recvtiming uint32 + Xmittiming uint32 + Lastchange Timeval + Unused2 uint32 + Hwassist uint32 + Reserved1 uint32 + Reserved2 uint32 +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfmaMsghdr2 struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Refcount int32 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire int32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 + Filler [4]uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x2 + AT_REMOVEDIR = 0x80 + AT_SYMLINK_FOLLOW = 0x40 + AT_SYMLINK_NOFOLLOW = 0x20 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go new file mode 100644 index 000000000..0d0d9f2cc --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go @@ -0,0 +1,499 @@ +// cgo -godefs types_darwin.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,darwin + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int32 + _ [4]byte +} + +type Timeval32 struct { + Sec int32 + Usec int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev int32 + Mode uint16 + Nlink uint16 + Ino uint64 + Uid uint32 + Gid uint32 + Rdev int32 + _ [4]byte + Atimespec Timespec + Mtimespec Timespec + Ctimespec Timespec + Birthtimespec Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Qspare [2]int64 +} + +type Statfs_t struct { + Bsize uint32 + Iosize int32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Owner uint32 + Type uint32 + Flags uint32 + Fssubtype uint32 + Fstypename [16]int8 + Mntonname [1024]int8 + Mntfromname [1024]int8 + Reserved [8]uint32 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Fstore_t struct { + Flags uint32 + Posmode int32 + Offset int64 + Length int64 + Bytesalloc int64 +} + +type Radvisory_t struct { + Offset int64 + Count int32 + _ [4]byte +} + +type Fbootstraptransfer_t struct { + Offset int64 + Length uint64 + Buffer *byte +} + +type Log2phys_t struct { + Flags uint32 + _ [8]byte + _ [8]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Dirent struct { + Ino uint64 + Seekoff uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [1024]int8 + _ [3]byte +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + _ [4]byte + Iov *Iovec + Iovlen int32 + _ [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex uint32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [32]int32 +} + +const ( + SizeofIfMsghdr = 0x70 + SizeofIfData = 0x60 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfmaMsghdr2 = 0x14 + SizeofRtMsghdr = 0x5c + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Typelen uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Recvquota uint8 + Xmitquota uint8 + Unused1 uint8 + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Recvtiming uint32 + Xmittiming uint32 + Lastchange Timeval32 + Unused2 uint32 + Hwassist uint32 + Reserved1 uint32 + Reserved2 uint32 +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfmaMsghdr2 struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Refcount int32 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire int32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 + Filler [4]uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + _ [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval32 + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type Termios struct { + Iflag uint64 + Oflag uint64 + Cflag uint64 + Lflag uint64 + Cc [20]uint8 + _ [4]byte + Ispeed uint64 + Ospeed uint64 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x2 + AT_REMOVEDIR = 0x80 + AT_SYMLINK_FOLLOW = 0x40 + AT_SYMLINK_NOFOLLOW = 0x20 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go new file mode 100644 index 000000000..04e344b78 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go @@ -0,0 +1,490 @@ +// NOTE: cgo can't generate struct Stat_t and struct Statfs_t yet +// Created by cgo -godefs - DO NOT EDIT +// cgo -godefs types_darwin.go + +// +build arm,darwin + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timeval32 [0]byte + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev int32 + Mode uint16 + Nlink uint16 + Ino uint64 + Uid uint32 + Gid uint32 + Rdev int32 + Atimespec Timespec + Mtimespec Timespec + Ctimespec Timespec + Birthtimespec Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Qspare [2]int64 +} + +type Statfs_t struct { + Bsize uint32 + Iosize int32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Owner uint32 + Type uint32 + Flags uint32 + Fssubtype uint32 + Fstypename [16]int8 + Mntonname [1024]int8 + Mntfromname [1024]int8 + Reserved [8]uint32 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Fstore_t struct { + Flags uint32 + Posmode int32 + Offset int64 + Length int64 + Bytesalloc int64 +} + +type Radvisory_t struct { + Offset int64 + Count int32 +} + +type Fbootstraptransfer_t struct { + Offset int64 + Length uint32 + Buffer *byte +} + +type Log2phys_t struct { + Flags uint32 + Contigbytes int64 + Devoffset int64 +} + +type Fsid struct { + Val [2]int32 +} + +type Dirent struct { + Ino uint64 + Seekoff uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [1024]int8 + _ [3]byte +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex uint32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + Data int32 + Udata *byte +} + +type FdSet struct { + Bits [32]int32 +} + +const ( + SizeofIfMsghdr = 0x70 + SizeofIfData = 0x60 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfmaMsghdr2 = 0x14 + SizeofRtMsghdr = 0x5c + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Typelen uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Recvquota uint8 + Xmitquota uint8 + Unused1 uint8 + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Recvtiming uint32 + Xmittiming uint32 + Lastchange Timeval + Unused2 uint32 + Hwassist uint32 + Reserved1 uint32 + Reserved2 uint32 +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfmaMsghdr2 struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Refcount int32 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire int32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 + Filler [4]uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x2 + AT_REMOVEDIR = 0x80 + AT_SYMLINK_FOLLOW = 0x40 + AT_SYMLINK_NOFOLLOW = 0x20 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go new file mode 100644 index 000000000..9fec185c1 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go @@ -0,0 +1,499 @@ +// cgo -godefs types_darwin.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,darwin + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int32 + _ [4]byte +} + +type Timeval32 struct { + Sec int32 + Usec int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev int32 + Mode uint16 + Nlink uint16 + Ino uint64 + Uid uint32 + Gid uint32 + Rdev int32 + _ [4]byte + Atimespec Timespec + Mtimespec Timespec + Ctimespec Timespec + Birthtimespec Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Qspare [2]int64 +} + +type Statfs_t struct { + Bsize uint32 + Iosize int32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Owner uint32 + Type uint32 + Flags uint32 + Fssubtype uint32 + Fstypename [16]int8 + Mntonname [1024]int8 + Mntfromname [1024]int8 + Reserved [8]uint32 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Fstore_t struct { + Flags uint32 + Posmode int32 + Offset int64 + Length int64 + Bytesalloc int64 +} + +type Radvisory_t struct { + Offset int64 + Count int32 + _ [4]byte +} + +type Fbootstraptransfer_t struct { + Offset int64 + Length uint64 + Buffer *byte +} + +type Log2phys_t struct { + Flags uint32 + _ [8]byte + _ [8]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Dirent struct { + Ino uint64 + Seekoff uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [1024]int8 + _ [3]byte +} + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + _ [4]byte + Iov *Iovec + Iovlen int32 + _ [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex uint32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [32]int32 +} + +const ( + SizeofIfMsghdr = 0x70 + SizeofIfData = 0x60 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfmaMsghdr2 = 0x14 + SizeofRtMsghdr = 0x5c + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Typelen uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Recvquota uint8 + Xmitquota uint8 + Unused1 uint8 + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Recvtiming uint32 + Xmittiming uint32 + Lastchange Timeval32 + Unused2 uint32 + Hwassist uint32 + Reserved1 uint32 + Reserved2 uint32 +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfmaMsghdr2 struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Refcount int32 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire int32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 + Filler [4]uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + _ [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval32 + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type Termios struct { + Iflag uint64 + Oflag uint64 + Cflag uint64 + Lflag uint64 + Cc [20]uint8 + _ [4]byte + Ispeed uint64 + Ospeed uint64 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x2 + AT_REMOVEDIR = 0x80 + AT_SYMLINK_FOLLOW = 0x40 + AT_SYMLINK_NOFOLLOW = 0x20 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go new file mode 100644 index 000000000..7b34e2e2c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go @@ -0,0 +1,469 @@ +// cgo -godefs types_dragonfly.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,dragonfly + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur int64 + Max int64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Ino uint64 + Nlink uint32 + Dev uint32 + Mode uint16 + Padding1 uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + Lspare int32 + Qspare1 int64 + Qspare2 int64 +} + +type Statfs_t struct { + Spare2 int64 + Bsize int64 + Iosize int64 + Blocks int64 + Bfree int64 + Bavail int64 + Files int64 + Ffree int64 + Fsid Fsid + Owner uint32 + Type int32 + Flags int32 + _ [4]byte + Syncwrites int64 + Asyncwrites int64 + Fstypename [16]int8 + Mntonname [80]int8 + Syncreads int64 + Asyncreads int64 + Spares1 int16 + Mntfromname [80]int8 + Spares2 int16 + _ [4]byte + Spare [2]int64 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Namlen uint16 + Type uint8 + Unused1 uint8 + Unused2 uint32 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 + Rcf uint16 + Route [16]uint16 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + _ [4]byte + Iov *Iovec + Iovlen int32 + _ [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x36 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [16]uint64 +} + +const ( + SizeofIfMsghdr = 0xb0 + SizeofIfData = 0xa0 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x98 + SizeofRtMetrics = 0x70 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Recvquota uint8 + Xmitquota uint8 + _ [2]byte + Mtu uint64 + Metric uint64 + Link_state uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Hwassist uint64 + Oqdrops uint64 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits uint64 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Pksent uint64 + Expire uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Recvpipe uint64 + Hopcount uint64 + Mssopt uint16 + Pad uint16 + _ [4]byte + Msl uint64 + Iwmaxsegs uint64 + Iwcapsegs uint64 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + _ [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [6]byte +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = 0xfffafdcd + AT_SYMLINK_NOFOLLOW = 0x1 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Utsname struct { + Sysname [32]byte + Nodename [32]byte + Release [32]byte + Version [32]byte + Machine [32]byte +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go new file mode 100644 index 000000000..c146c1ad3 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go @@ -0,0 +1,603 @@ +// cgo -godefs types_freebsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,freebsd + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur int64 + Max int64 +} + +type _Gid_t uint32 + +const ( + _statfsVersion = 0x20140518 + _dirblksiz = 0x400 +) + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint16 + _0 int16 + Uid uint32 + Gid uint32 + _1 int32 + Rdev uint64 + Atim_ext int32 + Atim Timespec + Mtim_ext int32 + Mtim Timespec + Ctim_ext int32 + Ctim Timespec + Btim_ext int32 + Birthtim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint64 + Spare [10]uint64 +} + +type stat_freebsd11_t struct { + Dev uint32 + Ino uint32 + Mode uint16 + Nlink uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Birthtim Timespec + _ [8]byte +} + +type Statfs_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]int8 + Mntfromname [1024]int8 + Mntonname [1024]int8 +} + +type statfs_freebsd11_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]int8 + Mntfromname [88]int8 + Mntonname [88]int8 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 + Sysid int32 +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Pad0 uint8 + Namlen uint16 + Pad1 uint16 + Name [256]int8 +} + +type dirent_freebsd11 struct { + Fileno uint32 + Reclen uint16 + Type uint8 + Namlen uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [46]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x36 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + Data int32 + Udata *byte +} + +type FdSet struct { + Bits [32]uint32 +} + +const ( + sizeofIfMsghdr = 0xa8 + SizeofIfMsghdr = 0x60 + sizeofIfData = 0x98 + SizeofIfData = 0x50 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x5c + SizeofRtMetrics = 0x38 +) + +type ifMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data ifData +} + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type ifData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Vhid uint8 + Datalen uint16 + Mtu uint32 + Metric uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Hwassist uint64 + _ [8]byte + _ [16]byte +} + +type IfData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Spare_char1 uint8 + Spare_char2 uint8 + Datalen uint8 + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Hwassist uint32 + Epoch int32 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Fmask int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 + Weight uint32 + Filler [3]uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfZbuf = 0xc + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 + SizeofBpfZbufHeader = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfZbuf struct { + Bufa *byte + Bufb *byte + Buflen uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type BpfZbufHeader struct { + Kernel_gen uint32 + Kernel_len uint32 + User_gen uint32 + _ [5]uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x800 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLINIGNEOF = 0x2000 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type CapRights struct { + Rights [2]uint64 +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go new file mode 100644 index 000000000..ac33a8dd4 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go @@ -0,0 +1,602 @@ +// cgo -godefs types_freebsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,freebsd + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur int64 + Max int64 +} + +type _Gid_t uint32 + +const ( + _statfsVersion = 0x20140518 + _dirblksiz = 0x400 +) + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint16 + _0 int16 + Uid uint32 + Gid uint32 + _1 int32 + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Birthtim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint64 + Spare [10]uint64 +} + +type stat_freebsd11_t struct { + Dev uint32 + Ino uint32 + Mode uint16 + Nlink uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Birthtim Timespec +} + +type Statfs_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]int8 + Mntfromname [1024]int8 + Mntonname [1024]int8 +} + +type statfs_freebsd11_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]int8 + Mntfromname [88]int8 + Mntonname [88]int8 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 + Sysid int32 + _ [4]byte +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Pad0 uint8 + Namlen uint16 + Pad1 uint16 + Name [256]int8 +} + +type dirent_freebsd11 struct { + Fileno uint32 + Reclen uint16 + Type uint8 + Namlen uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [46]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + _ [4]byte + Iov *Iovec + Iovlen int32 + _ [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x36 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [16]uint64 +} + +const ( + sizeofIfMsghdr = 0xa8 + SizeofIfMsghdr = 0xa8 + sizeofIfData = 0x98 + SizeofIfData = 0x98 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x98 + SizeofRtMetrics = 0x70 +) + +type ifMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data ifData +} + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type ifData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Vhid uint8 + Datalen uint16 + Mtu uint32 + Metric uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Hwassist uint64 + _ [8]byte + _ [16]byte +} + +type IfData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Spare_char1 uint8 + Spare_char2 uint8 + Datalen uint8 + Mtu uint64 + Metric uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Hwassist uint64 + Epoch int64 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Fmask int32 + Inits uint64 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Hopcount uint64 + Expire uint64 + Recvpipe uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Pksent uint64 + Weight uint64 + Filler [3]uint64 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfZbuf = 0x18 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x20 + SizeofBpfZbufHeader = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfZbuf struct { + Bufa *byte + Bufb *byte + Buflen uint64 +} + +type BpfProgram struct { + Len uint32 + _ [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [6]byte +} + +type BpfZbufHeader struct { + Kernel_gen uint32 + Kernel_len uint32 + User_gen uint32 + _ [5]uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x800 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLINIGNEOF = 0x2000 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type CapRights struct { + Rights [2]uint64 +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go new file mode 100644 index 000000000..e27511a64 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go @@ -0,0 +1,602 @@ +// cgo -godefs -- -fsigned-char types_freebsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,freebsd + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int32 + _ [4]byte +} + +type Timeval struct { + Sec int64 + Usec int32 + _ [4]byte +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur int64 + Max int64 +} + +type _Gid_t uint32 + +const ( + _statfsVersion = 0x20140518 + _dirblksiz = 0x400 +) + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint16 + _0 int16 + Uid uint32 + Gid uint32 + _1 int32 + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Birthtim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint64 + Spare [10]uint64 +} + +type stat_freebsd11_t struct { + Dev uint32 + Ino uint32 + Mode uint16 + Nlink uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Birthtim Timespec +} + +type Statfs_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]int8 + Mntfromname [1024]int8 + Mntonname [1024]int8 +} + +type statfs_freebsd11_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]int8 + Mntfromname [88]int8 + Mntonname [88]int8 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 + Sysid int32 + _ [4]byte +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Pad0 uint8 + Namlen uint16 + Pad1 uint16 + Name [256]int8 +} + +type dirent_freebsd11 struct { + Fileno uint32 + Reclen uint16 + Type uint8 + Namlen uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [46]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x36 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + Data int32 + Udata *byte +} + +type FdSet struct { + Bits [32]uint32 +} + +const ( + sizeofIfMsghdr = 0xa8 + SizeofIfMsghdr = 0x70 + sizeofIfData = 0x98 + SizeofIfData = 0x60 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x5c + SizeofRtMetrics = 0x38 +) + +type ifMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data ifData +} + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type ifData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Vhid uint8 + Datalen uint16 + Mtu uint32 + Metric uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Hwassist uint64 + _ [8]byte + _ [16]byte +} + +type IfData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Spare_char1 uint8 + Spare_char2 uint8 + Datalen uint8 + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Hwassist uint32 + _ [4]byte + Epoch int64 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Fmask int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 + Weight uint32 + Filler [3]uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfZbuf = 0xc + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x20 + SizeofBpfZbufHeader = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfZbuf struct { + Bufa *byte + Bufb *byte + Buflen uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [6]byte +} + +type BpfZbufHeader struct { + Kernel_gen uint32 + Kernel_len uint32 + User_gen uint32 + _ [5]uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x800 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLINIGNEOF = 0x2000 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type CapRights struct { + Rights [2]uint64 +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go new file mode 100644 index 000000000..2aadc1a4d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go @@ -0,0 +1,602 @@ +// cgo -godefs types_freebsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,freebsd + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur int64 + Max int64 +} + +type _Gid_t uint32 + +const ( + _statfsVersion = 0x20140518 + _dirblksiz = 0x400 +) + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint16 + _0 int16 + Uid uint32 + Gid uint32 + _1 int32 + Rdev uint64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Birthtim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint64 + Spare [10]uint64 +} + +type stat_freebsd11_t struct { + Dev uint32 + Ino uint32 + Mode uint16 + Nlink uint16 + Uid uint32 + Gid uint32 + Rdev uint32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + Lspare int32 + Birthtim Timespec +} + +type Statfs_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]int8 + Mntfromname [1024]int8 + Mntonname [1024]int8 +} + +type statfs_freebsd11_t struct { + Version uint32 + Type uint32 + Flags uint64 + Bsize uint64 + Iosize uint64 + Blocks uint64 + Bfree uint64 + Bavail int64 + Files uint64 + Ffree int64 + Syncwrites uint64 + Asyncwrites uint64 + Syncreads uint64 + Asyncreads uint64 + Spare [10]uint64 + Namemax uint32 + Owner uint32 + Fsid Fsid + Charspare [80]int8 + Fstypename [16]int8 + Mntfromname [88]int8 + Mntonname [88]int8 +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 + Sysid int32 + _ [4]byte +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Pad0 uint8 + Namlen uint16 + Pad1 uint16 + Name [256]int8 +} + +type dirent_freebsd11 struct { + Fileno uint32 + Reclen uint16 + Type uint8 + Namlen uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [46]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + _ [4]byte + Iov *Iovec + Iovlen int32 + _ [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x36 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [16]uint64 +} + +const ( + sizeofIfMsghdr = 0xa8 + SizeofIfMsghdr = 0xa8 + sizeofIfData = 0x98 + SizeofIfData = 0x98 + SizeofIfaMsghdr = 0x14 + SizeofIfmaMsghdr = 0x10 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x98 + SizeofRtMetrics = 0x70 +) + +type ifMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data ifData +} + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type ifData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Vhid uint8 + Datalen uint16 + Mtu uint32 + Metric uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Hwassist uint64 + _ [8]byte + _ [16]byte +} + +type IfData struct { + Type uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Spare_char1 uint8 + Spare_char2 uint8 + Datalen uint8 + Mtu uint64 + Metric uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Hwassist uint64 + Epoch int64 + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Fmask int32 + Inits uint64 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Hopcount uint64 + Expire uint64 + Recvpipe uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Pksent uint64 + Weight uint64 + Filler [3]uint64 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfZbuf = 0x18 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x20 + SizeofBpfZbufHeader = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfZbuf struct { + Bufa *byte + Bufb *byte + Buflen uint64 +} + +type BpfProgram struct { + Len uint32 + _ [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp Timeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [6]byte +} + +type BpfZbufHeader struct { + Kernel_gen uint32 + Kernel_len uint32 + User_gen uint32 + _ [5]uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_REMOVEDIR = 0x800 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLINIGNEOF = 0x2000 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type CapRights struct { + Rights [2]uint64 +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go new file mode 100644 index 000000000..d262150cc --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go @@ -0,0 +1,2027 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,linux + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timex struct { + Modes uint32 + Offset int32 + Freq int32 + Maxerror int32 + Esterror int32 + Status int32 + Constant int32 + Precision int32 + Tolerance int32 + Time Timeval + Tick int32 + Ppsfreq int32 + Jitter int32 + Shift int32 + Stabil int32 + Jitcnt int32 + Calcnt int32 + Errcnt int32 + Stbcnt int32 + Tai int32 + _ [44]byte +} + +type Time_t int32 + +type Tms struct { + Utime int32 + Stime int32 + Cutime int32 + Cstime int32 +} + +type Utimbuf struct { + Actime int32 + Modtime int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + _ uint16 + _ uint32 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + _ uint16 + Size int64 + Blksize int32 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Ino uint64 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [1]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofLinger = 0x8 + SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 +) + +const ( + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_INFO_KIND = 0x1 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_MAX = 0x33 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x8 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Ebx int32 + Ecx int32 + Edx int32 + Esi int32 + Edi int32 + Ebp int32 + Eax int32 + Xds int32 + Xes int32 + Xfs int32 + Xgs int32 + Orig_eax int32 + Eip int32 + Xcs int32 + Eflags int32 + Esp int32 + Xss int32 +} + +type FdSet struct { + Bits [32]int32 +} + +type Sysinfo_t struct { + Uptime int32 + Loads [3]uint32 + Totalram uint32 + Freeram uint32 + Sharedram uint32 + Bufferram uint32 + Totalswap uint32 + Freeswap uint32 + Procs uint16 + Pad uint16 + Totalhigh uint32 + Freehigh uint32 + Unit uint32 + _ [8]int8 +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint32 + Fname [6]int8 + Fpack [6]int8 +} + +type EpollEvent struct { + Events uint32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [32]uint32 +} + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + _ [4]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + _ [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint32 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x20 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + _ uint32 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [122]int8 + _ uint32 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint32 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int32 + Bsize int32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int32 + Frsize int32 + Flags int32 + Spare [4]int32 +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x18 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int32 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 +} + +const ( + BLKPG = 0x1269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go new file mode 100644 index 000000000..e492caacd --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go @@ -0,0 +1,2040 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint32 + Uid uint32 + Gid uint32 + _ int32 + Rdev uint64 + Size int64 + Blksize int64 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + _ [3]int64 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 +) + +const ( + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_INFO_KIND = 0x1 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_MAX = 0x33 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + R15 uint64 + R14 uint64 + R13 uint64 + R12 uint64 + Rbp uint64 + Rbx uint64 + R11 uint64 + R10 uint64 + R9 uint64 + R8 uint64 + Rax uint64 + Rcx uint64 + Rdx uint64 + Rsi uint64 + Rdi uint64 + Orig_rax uint64 + Rip uint64 + Cs uint64 + Eflags uint64 + Rsp uint64 + Ss uint64 + Fs_base uint64 + Gs_base uint64 + Ds uint64 + Es uint64 + Fs uint64 + Gs uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]int8 + _ [4]byte +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [16]uint64 +} + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint64 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x40 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + _ uint32 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]int8 + _ uint64 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int64 + Frsize int64 + Flags int64 + Spare [4]int64 +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x20 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x1269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go new file mode 100644 index 000000000..ad4342156 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go @@ -0,0 +1,2018 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,linux + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timex struct { + Modes uint32 + Offset int32 + Freq int32 + Maxerror int32 + Esterror int32 + Status int32 + Constant int32 + Precision int32 + Tolerance int32 + Time Timeval + Tick int32 + Ppsfreq int32 + Jitter int32 + Shift int32 + Stabil int32 + Jitcnt int32 + Calcnt int32 + Errcnt int32 + Stbcnt int32 + Tai int32 + _ [44]byte +} + +type Time_t int32 + +type Tms struct { + Utime int32 + Stime int32 + Cutime int32 + Cstime int32 +} + +type Utimbuf struct { + Actime int32 + Modtime int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + _ uint16 + _ uint32 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + _ uint16 + _ [4]byte + Size int64 + Blksize int32 + _ [4]byte + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Ino uint64 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]uint8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + _ [4]byte + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddr struct { + Family uint16 + Data [14]uint8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]uint8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofLinger = 0x8 + SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 +) + +const ( + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_INFO_KIND = 0x1 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_MAX = 0x33 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x8 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Uregs [18]uint32 +} + +type FdSet struct { + Bits [32]int32 +} + +type Sysinfo_t struct { + Uptime int32 + Loads [3]uint32 + Totalram uint32 + Freeram uint32 + Sharedram uint32 + Bufferram uint32 + Totalswap uint32 + Freeswap uint32 + Procs uint16 + Pad uint16 + Totalhigh uint32 + Freehigh uint32 + Unit uint32 + _ [8]uint8 +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint32 + Fname [6]uint8 + Fpack [6]uint8 +} + +type EpollEvent struct { + Events uint32 + PadFd int32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [32]uint32 +} + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + _ [4]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]uint8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + _ [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint32 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x20 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + _ uint32 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [122]uint8 + _ uint32 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint32 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int32 + Bsize int32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int32 + Frsize int32 + Flags int32 + Spare [4]int32 + _ [4]byte +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x18 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int32 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x1269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go new file mode 100644 index 000000000..ef76a362d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go @@ -0,0 +1,2019 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + _ uint64 + Size int64 + Blksize int32 + _ int32 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + _ [2]int32 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 +) + +const ( + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_INFO_KIND = 0x1 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_MAX = 0x33 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Regs [31]uint64 + Sp uint64 + Pc uint64 + Pstate uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]int8 + _ [4]byte +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + PadFd int32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [16]uint64 +} + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint64 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x40 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + _ uint32 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]int8 + _ uint64 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int64 + Frsize int64 + Flags int64 + Spare [4]int64 +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x20 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x1269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go new file mode 100644 index 000000000..dbf05903d --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go @@ -0,0 +1,2024 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips,linux + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timex struct { + Modes uint32 + Offset int32 + Freq int32 + Maxerror int32 + Esterror int32 + Status int32 + Constant int32 + Precision int32 + Tolerance int32 + Time Timeval + Tick int32 + Ppsfreq int32 + Jitter int32 + Shift int32 + Stabil int32 + Jitcnt int32 + Calcnt int32 + Errcnt int32 + Stbcnt int32 + Tai int32 + _ [44]byte +} + +type Time_t int32 + +type Tms struct { + Utime int32 + Stime int32 + Cutime int32 + Cstime int32 +} + +type Utimbuf struct { + Actime int32 + Modtime int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint32 + Pad1 [3]int32 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint32 + Pad2 [3]int32 + Size int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize int32 + Pad4 int32 + Blocks int64 + Pad5 [14]int32 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + _ [4]byte + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofLinger = 0x8 + SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 +) + +const ( + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_INFO_KIND = 0x1 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_MAX = 0x33 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x8 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +type FdSet struct { + Bits [32]int32 +} + +type Sysinfo_t struct { + Uptime int32 + Loads [3]uint32 + Totalram uint32 + Freeram uint32 + Sharedram uint32 + Bufferram uint32 + Totalswap uint32 + Freeswap uint32 + Procs uint16 + Pad uint16 + Totalhigh uint32 + Freehigh uint32 + Unit uint32 + _ [8]int8 +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint32 + Fname [6]int8 + Fpack [6]int8 +} + +type EpollEvent struct { + Events uint32 + PadFd int32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [32]uint32 +} + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [23]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + _ [4]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + _ [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint32 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x20 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + _ uint32 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 +) + +const ( + CBitFieldMaskBit0 = 0x8000000000000000 + CBitFieldMaskBit1 = 0x4000000000000000 + CBitFieldMaskBit2 = 0x2000000000000000 + CBitFieldMaskBit3 = 0x1000000000000000 + CBitFieldMaskBit4 = 0x800000000000000 + CBitFieldMaskBit5 = 0x400000000000000 + CBitFieldMaskBit6 = 0x200000000000000 + CBitFieldMaskBit7 = 0x100000000000000 + CBitFieldMaskBit8 = 0x80000000000000 + CBitFieldMaskBit9 = 0x40000000000000 + CBitFieldMaskBit10 = 0x20000000000000 + CBitFieldMaskBit11 = 0x10000000000000 + CBitFieldMaskBit12 = 0x8000000000000 + CBitFieldMaskBit13 = 0x4000000000000 + CBitFieldMaskBit14 = 0x2000000000000 + CBitFieldMaskBit15 = 0x1000000000000 + CBitFieldMaskBit16 = 0x800000000000 + CBitFieldMaskBit17 = 0x400000000000 + CBitFieldMaskBit18 = 0x200000000000 + CBitFieldMaskBit19 = 0x100000000000 + CBitFieldMaskBit20 = 0x80000000000 + CBitFieldMaskBit21 = 0x40000000000 + CBitFieldMaskBit22 = 0x20000000000 + CBitFieldMaskBit23 = 0x10000000000 + CBitFieldMaskBit24 = 0x8000000000 + CBitFieldMaskBit25 = 0x4000000000 + CBitFieldMaskBit26 = 0x2000000000 + CBitFieldMaskBit27 = 0x1000000000 + CBitFieldMaskBit28 = 0x800000000 + CBitFieldMaskBit29 = 0x400000000 + CBitFieldMaskBit30 = 0x200000000 + CBitFieldMaskBit31 = 0x100000000 + CBitFieldMaskBit32 = 0x80000000 + CBitFieldMaskBit33 = 0x40000000 + CBitFieldMaskBit34 = 0x20000000 + CBitFieldMaskBit35 = 0x10000000 + CBitFieldMaskBit36 = 0x8000000 + CBitFieldMaskBit37 = 0x4000000 + CBitFieldMaskBit38 = 0x2000000 + CBitFieldMaskBit39 = 0x1000000 + CBitFieldMaskBit40 = 0x800000 + CBitFieldMaskBit41 = 0x400000 + CBitFieldMaskBit42 = 0x200000 + CBitFieldMaskBit43 = 0x100000 + CBitFieldMaskBit44 = 0x80000 + CBitFieldMaskBit45 = 0x40000 + CBitFieldMaskBit46 = 0x20000 + CBitFieldMaskBit47 = 0x10000 + CBitFieldMaskBit48 = 0x8000 + CBitFieldMaskBit49 = 0x4000 + CBitFieldMaskBit50 = 0x2000 + CBitFieldMaskBit51 = 0x1000 + CBitFieldMaskBit52 = 0x800 + CBitFieldMaskBit53 = 0x400 + CBitFieldMaskBit54 = 0x200 + CBitFieldMaskBit55 = 0x100 + CBitFieldMaskBit56 = 0x80 + CBitFieldMaskBit57 = 0x40 + CBitFieldMaskBit58 = 0x20 + CBitFieldMaskBit59 = 0x10 + CBitFieldMaskBit60 = 0x8 + CBitFieldMaskBit61 = 0x4 + CBitFieldMaskBit62 = 0x2 + CBitFieldMaskBit63 = 0x1 +) + +type SockaddrStorage struct { + Family uint16 + _ [122]int8 + _ uint32 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint32 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int32 + Bsize int32 + Frsize int32 + _ [4]byte + Blocks uint64 + Bfree uint64 + Files uint64 + Ffree uint64 + Bavail uint64 + Fsid Fsid + Namelen int32 + Flags int32 + Spare [5]int32 + _ [4]byte +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x18 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int32 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x20001269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go new file mode 100644 index 000000000..1b7e67079 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go @@ -0,0 +1,2021 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips64,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint32 + Pad1 [3]uint32 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint32 + Pad2 [3]uint32 + Size int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize uint32 + Pad4 uint32 + Blocks int64 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 +) + +const ( + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_INFO_KIND = 0x1 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_MAX = 0x33 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]int8 + _ [4]byte +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [16]uint64 +} + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [23]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint64 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x40 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + _ uint32 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 +) + +const ( + CBitFieldMaskBit0 = 0x8000000000000000 + CBitFieldMaskBit1 = 0x4000000000000000 + CBitFieldMaskBit2 = 0x2000000000000000 + CBitFieldMaskBit3 = 0x1000000000000000 + CBitFieldMaskBit4 = 0x800000000000000 + CBitFieldMaskBit5 = 0x400000000000000 + CBitFieldMaskBit6 = 0x200000000000000 + CBitFieldMaskBit7 = 0x100000000000000 + CBitFieldMaskBit8 = 0x80000000000000 + CBitFieldMaskBit9 = 0x40000000000000 + CBitFieldMaskBit10 = 0x20000000000000 + CBitFieldMaskBit11 = 0x10000000000000 + CBitFieldMaskBit12 = 0x8000000000000 + CBitFieldMaskBit13 = 0x4000000000000 + CBitFieldMaskBit14 = 0x2000000000000 + CBitFieldMaskBit15 = 0x1000000000000 + CBitFieldMaskBit16 = 0x800000000000 + CBitFieldMaskBit17 = 0x400000000000 + CBitFieldMaskBit18 = 0x200000000000 + CBitFieldMaskBit19 = 0x100000000000 + CBitFieldMaskBit20 = 0x80000000000 + CBitFieldMaskBit21 = 0x40000000000 + CBitFieldMaskBit22 = 0x20000000000 + CBitFieldMaskBit23 = 0x10000000000 + CBitFieldMaskBit24 = 0x8000000000 + CBitFieldMaskBit25 = 0x4000000000 + CBitFieldMaskBit26 = 0x2000000000 + CBitFieldMaskBit27 = 0x1000000000 + CBitFieldMaskBit28 = 0x800000000 + CBitFieldMaskBit29 = 0x400000000 + CBitFieldMaskBit30 = 0x200000000 + CBitFieldMaskBit31 = 0x100000000 + CBitFieldMaskBit32 = 0x80000000 + CBitFieldMaskBit33 = 0x40000000 + CBitFieldMaskBit34 = 0x20000000 + CBitFieldMaskBit35 = 0x10000000 + CBitFieldMaskBit36 = 0x8000000 + CBitFieldMaskBit37 = 0x4000000 + CBitFieldMaskBit38 = 0x2000000 + CBitFieldMaskBit39 = 0x1000000 + CBitFieldMaskBit40 = 0x800000 + CBitFieldMaskBit41 = 0x400000 + CBitFieldMaskBit42 = 0x200000 + CBitFieldMaskBit43 = 0x100000 + CBitFieldMaskBit44 = 0x80000 + CBitFieldMaskBit45 = 0x40000 + CBitFieldMaskBit46 = 0x20000 + CBitFieldMaskBit47 = 0x10000 + CBitFieldMaskBit48 = 0x8000 + CBitFieldMaskBit49 = 0x4000 + CBitFieldMaskBit50 = 0x2000 + CBitFieldMaskBit51 = 0x1000 + CBitFieldMaskBit52 = 0x800 + CBitFieldMaskBit53 = 0x400 + CBitFieldMaskBit54 = 0x200 + CBitFieldMaskBit55 = 0x100 + CBitFieldMaskBit56 = 0x80 + CBitFieldMaskBit57 = 0x40 + CBitFieldMaskBit58 = 0x20 + CBitFieldMaskBit59 = 0x10 + CBitFieldMaskBit60 = 0x8 + CBitFieldMaskBit61 = 0x4 + CBitFieldMaskBit62 = 0x2 + CBitFieldMaskBit63 = 0x1 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]int8 + _ uint64 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Frsize int64 + Blocks uint64 + Bfree uint64 + Files uint64 + Ffree uint64 + Bavail uint64 + Fsid Fsid + Namelen int64 + Flags int64 + Spare [5]int64 +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x20 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x20001269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go new file mode 100644 index 000000000..57379005b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go @@ -0,0 +1,2021 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mips64le,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint32 + Pad1 [3]uint32 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint32 + Pad2 [3]uint32 + Size int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize uint32 + Pad4 uint32 + Blocks int64 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 +) + +const ( + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_INFO_KIND = 0x1 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_MAX = 0x33 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]int8 + _ [4]byte +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [16]uint64 +} + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [23]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint64 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x40 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + _ uint32 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]int8 + _ uint64 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Frsize int64 + Blocks uint64 + Bfree uint64 + Files uint64 + Ffree uint64 + Bavail uint64 + Fsid Fsid + Namelen int64 + Flags int64 + Spare [5]int64 +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x20 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x20001269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go new file mode 100644 index 000000000..0e88bf47b --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go @@ -0,0 +1,2024 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build mipsle,linux + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int32 + Nsec int32 +} + +type Timeval struct { + Sec int32 + Usec int32 +} + +type Timex struct { + Modes uint32 + Offset int32 + Freq int32 + Maxerror int32 + Esterror int32 + Status int32 + Constant int32 + Precision int32 + Tolerance int32 + Time Timeval + Tick int32 + Ppsfreq int32 + Jitter int32 + Shift int32 + Stabil int32 + Jitcnt int32 + Calcnt int32 + Errcnt int32 + Stbcnt int32 + Tai int32 + _ [44]byte +} + +type Time_t int32 + +type Tms struct { + Utime int32 + Stime int32 + Cutime int32 + Cstime int32 +} + +type Utimbuf struct { + Actime int32 + Modtime int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint32 + Pad1 [3]int32 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint32 + Pad2 [3]int32 + Size int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize int32 + Pad4 int32 + Blocks int64 + Pad5 [14]int32 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + _ [4]byte + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofLinger = 0x8 + SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 +) + +const ( + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_INFO_KIND = 0x1 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_MAX = 0x33 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x8 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Regs [32]uint64 + Lo uint64 + Hi uint64 + Epc uint64 + Badvaddr uint64 + Status uint64 + Cause uint64 +} + +type FdSet struct { + Bits [32]int32 +} + +type Sysinfo_t struct { + Uptime int32 + Loads [3]uint32 + Totalram uint32 + Freeram uint32 + Sharedram uint32 + Bufferram uint32 + Totalswap uint32 + Freeswap uint32 + Procs uint16 + Pad uint16 + Totalhigh uint32 + Freehigh uint32 + Unit uint32 + _ [8]int8 +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint32 + Fname [6]int8 + Fpack [6]int8 +} + +type EpollEvent struct { + Events uint32 + PadFd int32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [32]uint32 +} + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [23]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + _ [4]byte + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + _ [4]byte + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint32 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x20 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + _ uint32 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [122]int8 + _ uint32 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint32 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int32 + Bsize int32 + Frsize int32 + _ [4]byte + Blocks uint64 + Bfree uint64 + Files uint64 + Ffree uint64 + Bavail uint64 + Fsid Fsid + Namelen int32 + Flags int32 + Spare [5]int32 + _ [4]byte +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x18 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int32 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x20001269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go new file mode 100644 index 000000000..5ac91b3f7 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go @@ -0,0 +1,2029 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint32 + Uid uint32 + Gid uint32 + _ int32 + Rdev uint64 + Size int64 + Blksize int64 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + _ uint64 + _ uint64 + _ uint64 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]uint8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddr struct { + Family uint16 + Data [14]uint8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]uint8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 +) + +const ( + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_INFO_KIND = 0x1 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_MAX = 0x33 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Gpr [32]uint64 + Nip uint64 + Msr uint64 + Orig_gpr3 uint64 + Ctr uint64 + Link uint64 + Xer uint64 + Ccr uint64 + Softe uint64 + Trap uint64 + Dar uint64 + Dsisr uint64 + Result uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]uint8 + _ [4]byte +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]uint8 + Fpack [6]uint8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + _ int32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [16]uint64 +} + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [19]uint8 + Line uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]uint8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint64 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x40 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + _ uint32 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 +) + +const ( + CBitFieldMaskBit0 = 0x8000000000000000 + CBitFieldMaskBit1 = 0x4000000000000000 + CBitFieldMaskBit2 = 0x2000000000000000 + CBitFieldMaskBit3 = 0x1000000000000000 + CBitFieldMaskBit4 = 0x800000000000000 + CBitFieldMaskBit5 = 0x400000000000000 + CBitFieldMaskBit6 = 0x200000000000000 + CBitFieldMaskBit7 = 0x100000000000000 + CBitFieldMaskBit8 = 0x80000000000000 + CBitFieldMaskBit9 = 0x40000000000000 + CBitFieldMaskBit10 = 0x20000000000000 + CBitFieldMaskBit11 = 0x10000000000000 + CBitFieldMaskBit12 = 0x8000000000000 + CBitFieldMaskBit13 = 0x4000000000000 + CBitFieldMaskBit14 = 0x2000000000000 + CBitFieldMaskBit15 = 0x1000000000000 + CBitFieldMaskBit16 = 0x800000000000 + CBitFieldMaskBit17 = 0x400000000000 + CBitFieldMaskBit18 = 0x200000000000 + CBitFieldMaskBit19 = 0x100000000000 + CBitFieldMaskBit20 = 0x80000000000 + CBitFieldMaskBit21 = 0x40000000000 + CBitFieldMaskBit22 = 0x20000000000 + CBitFieldMaskBit23 = 0x10000000000 + CBitFieldMaskBit24 = 0x8000000000 + CBitFieldMaskBit25 = 0x4000000000 + CBitFieldMaskBit26 = 0x2000000000 + CBitFieldMaskBit27 = 0x1000000000 + CBitFieldMaskBit28 = 0x800000000 + CBitFieldMaskBit29 = 0x400000000 + CBitFieldMaskBit30 = 0x200000000 + CBitFieldMaskBit31 = 0x100000000 + CBitFieldMaskBit32 = 0x80000000 + CBitFieldMaskBit33 = 0x40000000 + CBitFieldMaskBit34 = 0x20000000 + CBitFieldMaskBit35 = 0x10000000 + CBitFieldMaskBit36 = 0x8000000 + CBitFieldMaskBit37 = 0x4000000 + CBitFieldMaskBit38 = 0x2000000 + CBitFieldMaskBit39 = 0x1000000 + CBitFieldMaskBit40 = 0x800000 + CBitFieldMaskBit41 = 0x400000 + CBitFieldMaskBit42 = 0x200000 + CBitFieldMaskBit43 = 0x100000 + CBitFieldMaskBit44 = 0x80000 + CBitFieldMaskBit45 = 0x40000 + CBitFieldMaskBit46 = 0x20000 + CBitFieldMaskBit47 = 0x10000 + CBitFieldMaskBit48 = 0x8000 + CBitFieldMaskBit49 = 0x4000 + CBitFieldMaskBit50 = 0x2000 + CBitFieldMaskBit51 = 0x1000 + CBitFieldMaskBit52 = 0x800 + CBitFieldMaskBit53 = 0x400 + CBitFieldMaskBit54 = 0x200 + CBitFieldMaskBit55 = 0x100 + CBitFieldMaskBit56 = 0x80 + CBitFieldMaskBit57 = 0x40 + CBitFieldMaskBit58 = 0x20 + CBitFieldMaskBit59 = 0x10 + CBitFieldMaskBit60 = 0x8 + CBitFieldMaskBit61 = 0x4 + CBitFieldMaskBit62 = 0x2 + CBitFieldMaskBit63 = 0x1 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]uint8 + _ uint64 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int64 + Frsize int64 + Flags int64 + Spare [4]int64 +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x20 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x20001269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go new file mode 100644 index 000000000..1e59b4506 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go @@ -0,0 +1,2029 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build ppc64le,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint32 + Uid uint32 + Gid uint32 + _ int32 + Rdev uint64 + Size int64 + Blksize int64 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + _ uint64 + _ uint64 + _ uint64 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]uint8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddr struct { + Family uint16 + Data [14]uint8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]uint8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 +) + +const ( + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_INFO_KIND = 0x1 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_MAX = 0x33 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Gpr [32]uint64 + Nip uint64 + Msr uint64 + Orig_gpr3 uint64 + Ctr uint64 + Link uint64 + Xer uint64 + Ccr uint64 + Softe uint64 + Trap uint64 + Dar uint64 + Dsisr uint64 + Result uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]uint8 + _ [4]byte +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]uint8 + Fpack [6]uint8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + _ int32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [16]uint64 +} + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [19]uint8 + Line uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]uint8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint64 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x40 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + _ uint32 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]uint8 + _ uint64 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int64 + Frsize int64 + Flags int64 + Spare [4]int64 +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x20 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x20001269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go new file mode 100644 index 000000000..508885f11 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go @@ -0,0 +1,2046 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build riscv64,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + _ uint64 + Size int64 + Blksize int32 + _ int32 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + _ [2]int32 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]uint8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddr struct { + Family uint16 + Data [14]uint8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]uint8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 +) + +const ( + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_INFO_KIND = 0x1 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_MAX = 0x33 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Pc uint64 + Ra uint64 + Sp uint64 + Gp uint64 + Tp uint64 + T0 uint64 + T1 uint64 + T2 uint64 + S0 uint64 + S1 uint64 + A0 uint64 + A1 uint64 + A2 uint64 + A3 uint64 + A4 uint64 + A5 uint64 + A6 uint64 + A7 uint64 + S2 uint64 + S3 uint64 + S4 uint64 + S5 uint64 + S6 uint64 + S7 uint64 + S8 uint64 + S9 uint64 + S10 uint64 + S11 uint64 + T3 uint64 + T4 uint64 + T5 uint64 + T6 uint64 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]uint8 + _ [4]byte +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]uint8 + Fpack [6]uint8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [16]uint64 +} + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]uint8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint64 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x40 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + _ uint32 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 +) + +const ( + CBitFieldMaskBit0 = 0x1 + CBitFieldMaskBit1 = 0x2 + CBitFieldMaskBit2 = 0x4 + CBitFieldMaskBit3 = 0x8 + CBitFieldMaskBit4 = 0x10 + CBitFieldMaskBit5 = 0x20 + CBitFieldMaskBit6 = 0x40 + CBitFieldMaskBit7 = 0x80 + CBitFieldMaskBit8 = 0x100 + CBitFieldMaskBit9 = 0x200 + CBitFieldMaskBit10 = 0x400 + CBitFieldMaskBit11 = 0x800 + CBitFieldMaskBit12 = 0x1000 + CBitFieldMaskBit13 = 0x2000 + CBitFieldMaskBit14 = 0x4000 + CBitFieldMaskBit15 = 0x8000 + CBitFieldMaskBit16 = 0x10000 + CBitFieldMaskBit17 = 0x20000 + CBitFieldMaskBit18 = 0x40000 + CBitFieldMaskBit19 = 0x80000 + CBitFieldMaskBit20 = 0x100000 + CBitFieldMaskBit21 = 0x200000 + CBitFieldMaskBit22 = 0x400000 + CBitFieldMaskBit23 = 0x800000 + CBitFieldMaskBit24 = 0x1000000 + CBitFieldMaskBit25 = 0x2000000 + CBitFieldMaskBit26 = 0x4000000 + CBitFieldMaskBit27 = 0x8000000 + CBitFieldMaskBit28 = 0x10000000 + CBitFieldMaskBit29 = 0x20000000 + CBitFieldMaskBit30 = 0x40000000 + CBitFieldMaskBit31 = 0x80000000 + CBitFieldMaskBit32 = 0x100000000 + CBitFieldMaskBit33 = 0x200000000 + CBitFieldMaskBit34 = 0x400000000 + CBitFieldMaskBit35 = 0x800000000 + CBitFieldMaskBit36 = 0x1000000000 + CBitFieldMaskBit37 = 0x2000000000 + CBitFieldMaskBit38 = 0x4000000000 + CBitFieldMaskBit39 = 0x8000000000 + CBitFieldMaskBit40 = 0x10000000000 + CBitFieldMaskBit41 = 0x20000000000 + CBitFieldMaskBit42 = 0x40000000000 + CBitFieldMaskBit43 = 0x80000000000 + CBitFieldMaskBit44 = 0x100000000000 + CBitFieldMaskBit45 = 0x200000000000 + CBitFieldMaskBit46 = 0x400000000000 + CBitFieldMaskBit47 = 0x800000000000 + CBitFieldMaskBit48 = 0x1000000000000 + CBitFieldMaskBit49 = 0x2000000000000 + CBitFieldMaskBit50 = 0x4000000000000 + CBitFieldMaskBit51 = 0x8000000000000 + CBitFieldMaskBit52 = 0x10000000000000 + CBitFieldMaskBit53 = 0x20000000000000 + CBitFieldMaskBit54 = 0x40000000000000 + CBitFieldMaskBit55 = 0x80000000000000 + CBitFieldMaskBit56 = 0x100000000000000 + CBitFieldMaskBit57 = 0x200000000000000 + CBitFieldMaskBit58 = 0x400000000000000 + CBitFieldMaskBit59 = 0x800000000000000 + CBitFieldMaskBit60 = 0x1000000000000000 + CBitFieldMaskBit61 = 0x2000000000000000 + CBitFieldMaskBit62 = 0x4000000000000000 + CBitFieldMaskBit63 = 0x8000000000000000 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]uint8 + _ uint64 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int64 + Frsize int64 + Flags int64 + Spare [4]int64 +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x20 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x1269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go new file mode 100644 index 000000000..d315f2c3a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go @@ -0,0 +1,2043 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build s390x,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Nlink uint64 + Mode uint32 + Uid uint32 + Gid uint32 + _ int32 + Rdev uint64 + Size int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize int64 + Blocks int64 + _ [3]int64 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ [4]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x6 + FADV_NOREUSE = 0x7 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 +) + +const ( + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_INFO_KIND = 0x1 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_MAX = 0x33 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Psw PtracePsw + Gprs [16]uint64 + Acrs [16]uint32 + Orig_gpr2 uint64 + Fp_regs PtraceFpregs + Per_info PtracePer + Ieee_instruction_pointer uint64 +} + +type PtracePsw struct { + Mask uint64 + Addr uint64 +} + +type PtraceFpregs struct { + Fpc uint32 + Fprs [16]float64 +} + +type PtracePer struct { + _ [0]uint64 + _ [32]byte + Starting_addr uint64 + Ending_addr uint64 + Perc_atmid uint16 + Address uint64 + Access_id uint8 + _ [7]byte +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]int8 + _ [4]byte +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + _ int32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x2000 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [16]uint64 +} + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint64 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x40 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + _ uint32 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 +) + +const ( + CBitFieldMaskBit0 = 0x8000000000000000 + CBitFieldMaskBit1 = 0x4000000000000000 + CBitFieldMaskBit2 = 0x2000000000000000 + CBitFieldMaskBit3 = 0x1000000000000000 + CBitFieldMaskBit4 = 0x800000000000000 + CBitFieldMaskBit5 = 0x400000000000000 + CBitFieldMaskBit6 = 0x200000000000000 + CBitFieldMaskBit7 = 0x100000000000000 + CBitFieldMaskBit8 = 0x80000000000000 + CBitFieldMaskBit9 = 0x40000000000000 + CBitFieldMaskBit10 = 0x20000000000000 + CBitFieldMaskBit11 = 0x10000000000000 + CBitFieldMaskBit12 = 0x8000000000000 + CBitFieldMaskBit13 = 0x4000000000000 + CBitFieldMaskBit14 = 0x2000000000000 + CBitFieldMaskBit15 = 0x1000000000000 + CBitFieldMaskBit16 = 0x800000000000 + CBitFieldMaskBit17 = 0x400000000000 + CBitFieldMaskBit18 = 0x200000000000 + CBitFieldMaskBit19 = 0x100000000000 + CBitFieldMaskBit20 = 0x80000000000 + CBitFieldMaskBit21 = 0x40000000000 + CBitFieldMaskBit22 = 0x20000000000 + CBitFieldMaskBit23 = 0x10000000000 + CBitFieldMaskBit24 = 0x8000000000 + CBitFieldMaskBit25 = 0x4000000000 + CBitFieldMaskBit26 = 0x2000000000 + CBitFieldMaskBit27 = 0x1000000000 + CBitFieldMaskBit28 = 0x800000000 + CBitFieldMaskBit29 = 0x400000000 + CBitFieldMaskBit30 = 0x200000000 + CBitFieldMaskBit31 = 0x100000000 + CBitFieldMaskBit32 = 0x80000000 + CBitFieldMaskBit33 = 0x40000000 + CBitFieldMaskBit34 = 0x20000000 + CBitFieldMaskBit35 = 0x10000000 + CBitFieldMaskBit36 = 0x8000000 + CBitFieldMaskBit37 = 0x4000000 + CBitFieldMaskBit38 = 0x2000000 + CBitFieldMaskBit39 = 0x1000000 + CBitFieldMaskBit40 = 0x800000 + CBitFieldMaskBit41 = 0x400000 + CBitFieldMaskBit42 = 0x200000 + CBitFieldMaskBit43 = 0x100000 + CBitFieldMaskBit44 = 0x80000 + CBitFieldMaskBit45 = 0x40000 + CBitFieldMaskBit46 = 0x20000 + CBitFieldMaskBit47 = 0x10000 + CBitFieldMaskBit48 = 0x8000 + CBitFieldMaskBit49 = 0x4000 + CBitFieldMaskBit50 = 0x2000 + CBitFieldMaskBit51 = 0x1000 + CBitFieldMaskBit52 = 0x800 + CBitFieldMaskBit53 = 0x400 + CBitFieldMaskBit54 = 0x200 + CBitFieldMaskBit55 = 0x100 + CBitFieldMaskBit56 = 0x80 + CBitFieldMaskBit57 = 0x40 + CBitFieldMaskBit58 = 0x20 + CBitFieldMaskBit59 = 0x10 + CBitFieldMaskBit60 = 0x8 + CBitFieldMaskBit61 = 0x4 + CBitFieldMaskBit62 = 0x2 + CBitFieldMaskBit63 = 0x1 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]int8 + _ uint64 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type uint32 + Bsize uint32 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen uint32 + Frsize uint32 + Flags uint32 + Spare [4]uint32 + _ [4]byte +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x20 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x1269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go new file mode 100644 index 000000000..a1a9279c2 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go @@ -0,0 +1,2024 @@ +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build sparc64,linux + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x1000 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int32 + _ [4]byte +} + +type Timex struct { + Modes uint32 + Offset int64 + Freq int64 + Maxerror int64 + Esterror int64 + Status int32 + Constant int64 + Precision int64 + Tolerance int64 + Time Timeval + Tick int64 + Ppsfreq int64 + Jitter int64 + Shift int32 + Stabil int64 + Jitcnt int64 + Calcnt int64 + Errcnt int64 + Stbcnt int64 + Tai int32 + _ [44]byte +} + +type Time_t int64 + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + _ uint16 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + _ uint16 + Size int64 + Blksize int64 + Blocks int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + _ uint64 + _ uint64 +} + +type StatxTimestamp struct { + Sec int64 + Nsec uint32 + _ int32 +} + +type Statx_t struct { + Mask uint32 + Blksize uint32 + Attributes uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Mode uint16 + _ [1]uint16 + Ino uint64 + Size uint64 + Blocks uint64 + Attributes_mask uint64 + Atime StatxTimestamp + Btime StatxTimestamp + Ctime StatxTimestamp + Mtime StatxTimestamp + Rdev_major uint32 + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 + _ [14]uint64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Type uint8 + Name [256]int8 + _ [5]byte +} + +type Fsid struct { + Val [2]int32 +} + +type Flock_t struct { + Type int16 + Whence int16 + Start int64 + Len int64 + Pid int32 + _ int16 + _ [2]byte +} + +type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 + Filenames_encryption_mode uint8 + Flags uint8 + Master_key_descriptor [8]uint8 +} + +type FscryptKey struct { + Mode uint32 + Raw [64]uint8 + Size uint32 +} + +type KeyctlDHParams struct { + Private int32 + Prime int32 + Base int32 +} + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrLinklayer struct { + Family uint16 + Protocol uint16 + Ifindex int32 + Hatype uint16 + Pkttype uint8 + Halen uint8 + Addr [8]uint8 +} + +type RawSockaddrNetlink struct { + Family uint16 + Pad uint16 + Pid uint32 + Groups uint32 +} + +type RawSockaddrHCI struct { + Family uint16 + Dev uint16 + Channel uint16 +} + +type RawSockaddrL2 struct { + Family uint16 + Psm uint16 + Bdaddr [6]uint8 + Cid uint16 + Bdaddr_type uint8 + _ [1]byte +} + +type RawSockaddrRFCOMM struct { + Family uint16 + Bdaddr [6]uint8 + Channel uint8 + _ [1]byte +} + +type RawSockaddrCAN struct { + Family uint16 + Ifindex int32 + Addr [8]byte +} + +type RawSockaddrALG struct { + Family uint16 + Type [14]uint8 + Feat uint32 + Mask uint32 + Name [64]uint8 +} + +type RawSockaddrVM struct { + Family uint16 + Reserved1 uint16 + Port uint32 + Cid uint32 + Zero [4]uint8 +} + +type RawSockaddrXDP struct { + Family uint16 + Flags uint16 + Ifindex uint32 + Queue_id uint32 + Shared_umem_fd uint32 +} + +type RawSockaddrPPPoX [0x1e]byte + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [96]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPMreqn struct { + Multiaddr [4]byte /* in_addr */ + Address [4]byte /* in_addr */ + Ifindex int32 +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type PacketMreq struct { + Ifindex int32 + Type uint16 + Alen uint16 + Address [8]uint8 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint64 + Control *byte + Controllen uint64 + Flags int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint64 + Level int32 + Type int32 +} + +type Inet4Pktinfo struct { + Ifindex int32 + Spec_dst [4]byte /* in_addr */ + Addr [4]byte /* in_addr */ +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Data [8]uint32 +} + +type Ucred struct { + Pid int32 + Uid uint32 + Gid uint32 +} + +type TCPInfo struct { + State uint8 + Ca_state uint8 + Retransmits uint8 + Probes uint8 + Backoff uint8 + Options uint8 + Rto uint32 + Ato uint32 + Snd_mss uint32 + Rcv_mss uint32 + Unacked uint32 + Sacked uint32 + Lost uint32 + Retrans uint32 + Fackets uint32 + Last_data_sent uint32 + Last_ack_sent uint32 + Last_data_recv uint32 + Last_ack_recv uint32 + Pmtu uint32 + Rcv_ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Snd_ssthresh uint32 + Snd_cwnd uint32 + Advmss uint32 + Reordering uint32 + Rcv_rtt uint32 + Rcv_space uint32 + Total_retrans uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x70 + SizeofSockaddrUnix = 0x6e + SizeofSockaddrLinklayer = 0x14 + SizeofSockaddrNetlink = 0xc + SizeofSockaddrHCI = 0x6 + SizeofSockaddrL2 = 0xe + SizeofSockaddrRFCOMM = 0xa + SizeofSockaddrCAN = 0x10 + SizeofSockaddrALG = 0x58 + SizeofSockaddrVM = 0x10 + SizeofSockaddrXDP = 0x10 + SizeofSockaddrPPPoX = 0x1e + SizeofLinger = 0x8 + SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 + SizeofPacketMreq = 0x10 + SizeofMsghdr = 0x38 + SizeofCmsghdr = 0x10 + SizeofInet4Pktinfo = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 +) + +const ( + IFA_UNSPEC = 0x0 + IFA_ADDRESS = 0x1 + IFA_LOCAL = 0x2 + IFA_LABEL = 0x3 + IFA_BROADCAST = 0x4 + IFA_ANYCAST = 0x5 + IFA_CACHEINFO = 0x6 + IFA_MULTICAST = 0x7 + IFLA_UNSPEC = 0x0 + IFLA_ADDRESS = 0x1 + IFLA_BROADCAST = 0x2 + IFLA_IFNAME = 0x3 + IFLA_INFO_KIND = 0x1 + IFLA_MTU = 0x4 + IFLA_LINK = 0x5 + IFLA_QDISC = 0x6 + IFLA_STATS = 0x7 + IFLA_COST = 0x8 + IFLA_PRIORITY = 0x9 + IFLA_MASTER = 0xa + IFLA_WIRELESS = 0xb + IFLA_PROTINFO = 0xc + IFLA_TXQLEN = 0xd + IFLA_MAP = 0xe + IFLA_WEIGHT = 0xf + IFLA_OPERSTATE = 0x10 + IFLA_LINKMODE = 0x11 + IFLA_LINKINFO = 0x12 + IFLA_NET_NS_PID = 0x13 + IFLA_IFALIAS = 0x14 + IFLA_NUM_VF = 0x15 + IFLA_VFINFO_LIST = 0x16 + IFLA_STATS64 = 0x17 + IFLA_VF_PORTS = 0x18 + IFLA_PORT_SELF = 0x19 + IFLA_AF_SPEC = 0x1a + IFLA_GROUP = 0x1b + IFLA_NET_NS_FD = 0x1c + IFLA_EXT_MASK = 0x1d + IFLA_PROMISCUITY = 0x1e + IFLA_NUM_TX_QUEUES = 0x1f + IFLA_NUM_RX_QUEUES = 0x20 + IFLA_CARRIER = 0x21 + IFLA_PHYS_PORT_ID = 0x22 + IFLA_CARRIER_CHANGES = 0x23 + IFLA_PHYS_SWITCH_ID = 0x24 + IFLA_LINK_NETNSID = 0x25 + IFLA_PHYS_PORT_NAME = 0x26 + IFLA_PROTO_DOWN = 0x27 + IFLA_GSO_MAX_SEGS = 0x28 + IFLA_GSO_MAX_SIZE = 0x29 + IFLA_PAD = 0x2a + IFLA_XDP = 0x2b + IFLA_EVENT = 0x2c + IFLA_NEW_NETNSID = 0x2d + IFLA_IF_NETNSID = 0x2e + IFLA_MAX = 0x33 + RT_SCOPE_UNIVERSE = 0x0 + RT_SCOPE_SITE = 0xc8 + RT_SCOPE_LINK = 0xfd + RT_SCOPE_HOST = 0xfe + RT_SCOPE_NOWHERE = 0xff + RT_TABLE_UNSPEC = 0x0 + RT_TABLE_COMPAT = 0xfc + RT_TABLE_DEFAULT = 0xfd + RT_TABLE_MAIN = 0xfe + RT_TABLE_LOCAL = 0xff + RT_TABLE_MAX = 0xffffffff + RTA_UNSPEC = 0x0 + RTA_DST = 0x1 + RTA_SRC = 0x2 + RTA_IIF = 0x3 + RTA_OIF = 0x4 + RTA_GATEWAY = 0x5 + RTA_PRIORITY = 0x6 + RTA_PREFSRC = 0x7 + RTA_METRICS = 0x8 + RTA_MULTIPATH = 0x9 + RTA_FLOW = 0xb + RTA_CACHEINFO = 0xc + RTA_TABLE = 0xf + RTA_MARK = 0x10 + RTA_MFC_STATS = 0x11 + RTA_VIA = 0x12 + RTA_NEWDST = 0x13 + RTA_PREF = 0x14 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 + RTA_EXPIRES = 0x17 + RTA_PAD = 0x18 + RTA_UID = 0x19 + RTA_TTL_PROPAGATE = 0x1a + RTA_IP_PROTO = 0x1b + RTA_SPORT = 0x1c + RTA_DPORT = 0x1d + RTN_UNSPEC = 0x0 + RTN_UNICAST = 0x1 + RTN_LOCAL = 0x2 + RTN_BROADCAST = 0x3 + RTN_ANYCAST = 0x4 + RTN_MULTICAST = 0x5 + RTN_BLACKHOLE = 0x6 + RTN_UNREACHABLE = 0x7 + RTN_PROHIBIT = 0x8 + RTN_THROW = 0x9 + RTN_NAT = 0xa + RTN_XRESOLVE = 0xb + RTNLGRP_NONE = 0x0 + RTNLGRP_LINK = 0x1 + RTNLGRP_NOTIFY = 0x2 + RTNLGRP_NEIGH = 0x3 + RTNLGRP_TC = 0x4 + RTNLGRP_IPV4_IFADDR = 0x5 + RTNLGRP_IPV4_MROUTE = 0x6 + RTNLGRP_IPV4_ROUTE = 0x7 + RTNLGRP_IPV4_RULE = 0x8 + RTNLGRP_IPV6_IFADDR = 0x9 + RTNLGRP_IPV6_MROUTE = 0xa + RTNLGRP_IPV6_ROUTE = 0xb + RTNLGRP_IPV6_IFINFO = 0xc + RTNLGRP_IPV6_PREFIX = 0x12 + RTNLGRP_IPV6_RULE = 0x13 + RTNLGRP_ND_USEROPT = 0x14 + SizeofNlMsghdr = 0x10 + SizeofNlMsgerr = 0x14 + SizeofRtGenmsg = 0x1 + SizeofNlAttr = 0x4 + SizeofRtAttr = 0x4 + SizeofIfInfomsg = 0x10 + SizeofIfAddrmsg = 0x8 + SizeofRtMsg = 0xc + SizeofRtNexthop = 0x8 +) + +type NlMsghdr struct { + Len uint32 + Type uint16 + Flags uint16 + Seq uint32 + Pid uint32 +} + +type NlMsgerr struct { + Error int32 + Msg NlMsghdr +} + +type RtGenmsg struct { + Family uint8 +} + +type NlAttr struct { + Len uint16 + Type uint16 +} + +type RtAttr struct { + Len uint16 + Type uint16 +} + +type IfInfomsg struct { + Family uint8 + _ uint8 + Type uint16 + Index int32 + Flags uint32 + Change uint32 +} + +type IfAddrmsg struct { + Family uint8 + Prefixlen uint8 + Flags uint8 + Scope uint8 + Index uint32 +} + +type RtMsg struct { + Family uint8 + Dst_len uint8 + Src_len uint8 + Tos uint8 + Table uint8 + Protocol uint8 + Scope uint8 + Type uint8 + Flags uint32 +} + +type RtNexthop struct { + Len uint16 + Flags uint8 + Hops uint8 + Ifindex int32 +} + +const ( + SizeofSockFilter = 0x8 + SizeofSockFprog = 0x10 +) + +type SockFilter struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type SockFprog struct { + Len uint16 + Filter *SockFilter +} + +type InotifyEvent struct { + Wd int32 + Mask uint32 + Cookie uint32 + Len uint32 +} + +const SizeofInotifyEvent = 0x10 + +type PtraceRegs struct { + Regs [16]uint64 + Tstate uint64 + Tpc uint64 + Tnpc uint64 + Y uint32 + Magic uint32 +} + +type FdSet struct { + Bits [16]int64 +} + +type Sysinfo_t struct { + Uptime int64 + Loads [3]uint64 + Totalram uint64 + Freeram uint64 + Sharedram uint64 + Bufferram uint64 + Totalswap uint64 + Freeswap uint64 + Procs uint16 + Pad uint16 + Totalhigh uint64 + Freehigh uint64 + Unit uint32 + _ [0]int8 + _ [4]byte +} + +type Utsname struct { + Sysname [65]byte + Nodename [65]byte + Release [65]byte + Version [65]byte + Machine [65]byte + Domainname [65]byte +} + +type Ustat_t struct { + Tfree int32 + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + _ [4]byte +} + +type EpollEvent struct { + Events uint32 + _ int32 + Fd int32 + Pad int32 +} + +const ( + AT_EMPTY_PATH = 0x1000 + AT_FDCWD = -0x64 + AT_NO_AUTOMOUNT = 0x800 + AT_REMOVEDIR = 0x200 + + AT_STATX_SYNC_AS_STAT = 0x0 + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLIN = 0x1 + POLLPRI = 0x2 + POLLOUT = 0x4 + POLLRDHUP = 0x800 + POLLERR = 0x8 + POLLHUP = 0x10 + POLLNVAL = 0x20 +) + +type Sigset_t struct { + Val [16]uint64 +} + +type SignalfdSiginfo struct { + Signo uint32 + Errno int32 + Code int32 + Pid uint32 + Uid uint32 + Fd int32 + Tid uint32 + Band uint32 + Overrun uint32 + Trapno uint32 + Status int32 + Int int32 + Ptr uint64 + Utime uint64 + Stime uint64 + Addr uint64 + Addr_lsb uint16 + _ uint16 + Syscall int32 + Call_addr uint64 + Arch uint32 + _ [28]uint8 +} + +const PERF_IOC_FLAG_GROUP = 0x1 + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Line uint8 + Cc [19]uint8 + Ispeed uint32 + Ospeed uint32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Taskstats struct { + Version uint16 + Ac_exitcode uint32 + Ac_flag uint8 + Ac_nice uint8 + Cpu_count uint64 + Cpu_delay_total uint64 + Blkio_count uint64 + Blkio_delay_total uint64 + Swapin_count uint64 + Swapin_delay_total uint64 + Cpu_run_real_total uint64 + Cpu_run_virtual_total uint64 + Ac_comm [32]int8 + Ac_sched uint8 + Ac_pad [3]uint8 + _ [4]byte + Ac_uid uint32 + Ac_gid uint32 + Ac_pid uint32 + Ac_ppid uint32 + Ac_btime uint32 + Ac_etime uint64 + Ac_utime uint64 + Ac_stime uint64 + Ac_minflt uint64 + Ac_majflt uint64 + Coremem uint64 + Virtmem uint64 + Hiwater_rss uint64 + Hiwater_vm uint64 + Read_char uint64 + Write_char uint64 + Read_syscalls uint64 + Write_syscalls uint64 + Read_bytes uint64 + Write_bytes uint64 + Cancelled_write_bytes uint64 + Nvcsw uint64 + Nivcsw uint64 + Ac_utimescaled uint64 + Ac_stimescaled uint64 + Cpu_scaled_run_real_total uint64 + Freepages_count uint64 + Freepages_delay_total uint64 + Thrashing_count uint64 + Thrashing_delay_total uint64 +} + +const ( + TASKSTATS_CMD_UNSPEC = 0x0 + TASKSTATS_CMD_GET = 0x1 + TASKSTATS_CMD_NEW = 0x2 + TASKSTATS_TYPE_UNSPEC = 0x0 + TASKSTATS_TYPE_PID = 0x1 + TASKSTATS_TYPE_TGID = 0x2 + TASKSTATS_TYPE_STATS = 0x3 + TASKSTATS_TYPE_AGGR_PID = 0x4 + TASKSTATS_TYPE_AGGR_TGID = 0x5 + TASKSTATS_TYPE_NULL = 0x6 + TASKSTATS_CMD_ATTR_UNSPEC = 0x0 + TASKSTATS_CMD_ATTR_PID = 0x1 + TASKSTATS_CMD_ATTR_TGID = 0x2 + TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 + TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 +) + +type CGroupStats struct { + Sleeping uint64 + Running uint64 + Stopped uint64 + Uninterruptible uint64 + Io_wait uint64 +} + +const ( + CGROUPSTATS_CMD_UNSPEC = 0x3 + CGROUPSTATS_CMD_GET = 0x4 + CGROUPSTATS_CMD_NEW = 0x5 + CGROUPSTATS_TYPE_UNSPEC = 0x0 + CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 + CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 + CGROUPSTATS_CMD_ATTR_FD = 0x1 +) + +type Genlmsghdr struct { + Cmd uint8 + Version uint8 + Reserved uint16 +} + +const ( + CTRL_CMD_UNSPEC = 0x0 + CTRL_CMD_NEWFAMILY = 0x1 + CTRL_CMD_DELFAMILY = 0x2 + CTRL_CMD_GETFAMILY = 0x3 + CTRL_CMD_NEWOPS = 0x4 + CTRL_CMD_DELOPS = 0x5 + CTRL_CMD_GETOPS = 0x6 + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 + CTRL_ATTR_VERSION = 0x3 + CTRL_ATTR_HDRSIZE = 0x4 + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 +) + +type cpuMask uint64 + +const ( + _CPU_SETSIZE = 0x400 + _NCPUBITS = 0x40 +) + +const ( + BDADDR_BREDR = 0x0 + BDADDR_LE_PUBLIC = 0x1 + BDADDR_LE_RANDOM = 0x2 +) + +type PerfEventAttr struct { + Type uint32 + Size uint32 + Config uint64 + Sample uint64 + Sample_type uint64 + Read_format uint64 + Bits uint64 + Wakeup uint32 + Bp_type uint32 + Ext1 uint64 + Ext2 uint64 + Branch_sample_type uint64 + Sample_regs_user uint64 + Sample_stack_user uint32 + Clockid int32 + Sample_regs_intr uint64 + Aux_watermark uint32 + _ uint32 +} + +type PerfEventMmapPage struct { + Version uint32 + Compat_version uint32 + Lock uint32 + Index uint32 + Offset int64 + Time_enabled uint64 + Time_running uint64 + Capabilities uint64 + Pmc_width uint16 + Time_shift uint16 + Time_mult uint32 + Time_offset uint64 + Time_zero uint64 + Size uint32 + _ [948]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 + Data_size uint64 + Aux_head uint64 + Aux_tail uint64 + Aux_offset uint64 + Aux_size uint64 +} + +const ( + PerfBitDisabled uint64 = CBitFieldMaskBit0 + PerfBitInherit = CBitFieldMaskBit1 + PerfBitPinned = CBitFieldMaskBit2 + PerfBitExclusive = CBitFieldMaskBit3 + PerfBitExcludeUser = CBitFieldMaskBit4 + PerfBitExcludeKernel = CBitFieldMaskBit5 + PerfBitExcludeHv = CBitFieldMaskBit6 + PerfBitExcludeIdle = CBitFieldMaskBit7 + PerfBitMmap = CBitFieldMaskBit8 + PerfBitComm = CBitFieldMaskBit9 + PerfBitFreq = CBitFieldMaskBit10 + PerfBitInheritStat = CBitFieldMaskBit11 + PerfBitEnableOnExec = CBitFieldMaskBit12 + PerfBitTask = CBitFieldMaskBit13 + PerfBitWatermark = CBitFieldMaskBit14 + PerfBitPreciseIPBit1 = CBitFieldMaskBit15 + PerfBitPreciseIPBit2 = CBitFieldMaskBit16 + PerfBitMmapData = CBitFieldMaskBit17 + PerfBitSampleIDAll = CBitFieldMaskBit18 + PerfBitExcludeHost = CBitFieldMaskBit19 + PerfBitExcludeGuest = CBitFieldMaskBit20 + PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 + PerfBitExcludeCallchainUser = CBitFieldMaskBit22 + PerfBitMmap2 = CBitFieldMaskBit23 + PerfBitCommExec = CBitFieldMaskBit24 + PerfBitUseClockID = CBitFieldMaskBit25 + PerfBitContextSwitch = CBitFieldMaskBit26 +) + +const ( + PERF_TYPE_HARDWARE = 0x0 + PERF_TYPE_SOFTWARE = 0x1 + PERF_TYPE_TRACEPOINT = 0x2 + PERF_TYPE_HW_CACHE = 0x3 + PERF_TYPE_RAW = 0x4 + PERF_TYPE_BREAKPOINT = 0x5 + + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 + PERF_COUNT_HW_CACHE_MISSES = 0x3 + PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 + PERF_COUNT_HW_BRANCH_MISSES = 0x5 + PERF_COUNT_HW_BUS_CYCLES = 0x6 + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 + + PERF_COUNT_HW_CACHE_L1D = 0x0 + PERF_COUNT_HW_CACHE_L1I = 0x1 + PERF_COUNT_HW_CACHE_LL = 0x2 + PERF_COUNT_HW_CACHE_DTLB = 0x3 + PERF_COUNT_HW_CACHE_ITLB = 0x4 + PERF_COUNT_HW_CACHE_BPU = 0x5 + PERF_COUNT_HW_CACHE_NODE = 0x6 + + PERF_COUNT_HW_CACHE_OP_READ = 0x0 + PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 + PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 + + PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 + PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 + + PERF_COUNT_SW_CPU_CLOCK = 0x0 + PERF_COUNT_SW_TASK_CLOCK = 0x1 + PERF_COUNT_SW_PAGE_FAULTS = 0x2 + PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 + PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 + PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 + PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 + PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 + PERF_COUNT_SW_EMULATION_FAULTS = 0x8 + PERF_COUNT_SW_DUMMY = 0x9 + + PERF_SAMPLE_IP = 0x1 + PERF_SAMPLE_TID = 0x2 + PERF_SAMPLE_TIME = 0x4 + PERF_SAMPLE_ADDR = 0x8 + PERF_SAMPLE_READ = 0x10 + PERF_SAMPLE_CALLCHAIN = 0x20 + PERF_SAMPLE_ID = 0x40 + PERF_SAMPLE_CPU = 0x80 + PERF_SAMPLE_PERIOD = 0x100 + PERF_SAMPLE_STREAM_ID = 0x200 + PERF_SAMPLE_RAW = 0x400 + PERF_SAMPLE_BRANCH_STACK = 0x800 + + PERF_SAMPLE_BRANCH_USER = 0x1 + PERF_SAMPLE_BRANCH_KERNEL = 0x2 + PERF_SAMPLE_BRANCH_HV = 0x4 + PERF_SAMPLE_BRANCH_ANY = 0x8 + PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 + PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 + PERF_SAMPLE_BRANCH_IND_CALL = 0x40 + + PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 + PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 + PERF_FORMAT_ID = 0x4 + PERF_FORMAT_GROUP = 0x8 + + PERF_RECORD_MMAP = 0x1 + PERF_RECORD_LOST = 0x2 + PERF_RECORD_COMM = 0x3 + PERF_RECORD_EXIT = 0x4 + PERF_RECORD_THROTTLE = 0x5 + PERF_RECORD_UNTHROTTLE = 0x6 + PERF_RECORD_FORK = 0x7 + PERF_RECORD_READ = 0x8 + PERF_RECORD_SAMPLE = 0x9 + + PERF_CONTEXT_HV = -0x20 + PERF_CONTEXT_KERNEL = -0x80 + PERF_CONTEXT_USER = -0x200 + + PERF_CONTEXT_GUEST = -0x800 + PERF_CONTEXT_GUEST_KERNEL = -0x880 + PERF_CONTEXT_GUEST_USER = -0xa00 + + PERF_FLAG_FD_NO_GROUP = 0x1 + PERF_FLAG_FD_OUTPUT = 0x2 + PERF_FLAG_PID_CGROUP = 0x4 +) + +const ( + CBitFieldMaskBit0 = 0x8000000000000000 + CBitFieldMaskBit1 = 0x4000000000000000 + CBitFieldMaskBit2 = 0x2000000000000000 + CBitFieldMaskBit3 = 0x1000000000000000 + CBitFieldMaskBit4 = 0x800000000000000 + CBitFieldMaskBit5 = 0x400000000000000 + CBitFieldMaskBit6 = 0x200000000000000 + CBitFieldMaskBit7 = 0x100000000000000 + CBitFieldMaskBit8 = 0x80000000000000 + CBitFieldMaskBit9 = 0x40000000000000 + CBitFieldMaskBit10 = 0x20000000000000 + CBitFieldMaskBit11 = 0x10000000000000 + CBitFieldMaskBit12 = 0x8000000000000 + CBitFieldMaskBit13 = 0x4000000000000 + CBitFieldMaskBit14 = 0x2000000000000 + CBitFieldMaskBit15 = 0x1000000000000 + CBitFieldMaskBit16 = 0x800000000000 + CBitFieldMaskBit17 = 0x400000000000 + CBitFieldMaskBit18 = 0x200000000000 + CBitFieldMaskBit19 = 0x100000000000 + CBitFieldMaskBit20 = 0x80000000000 + CBitFieldMaskBit21 = 0x40000000000 + CBitFieldMaskBit22 = 0x20000000000 + CBitFieldMaskBit23 = 0x10000000000 + CBitFieldMaskBit24 = 0x8000000000 + CBitFieldMaskBit25 = 0x4000000000 + CBitFieldMaskBit26 = 0x2000000000 + CBitFieldMaskBit27 = 0x1000000000 + CBitFieldMaskBit28 = 0x800000000 + CBitFieldMaskBit29 = 0x400000000 + CBitFieldMaskBit30 = 0x200000000 + CBitFieldMaskBit31 = 0x100000000 + CBitFieldMaskBit32 = 0x80000000 + CBitFieldMaskBit33 = 0x40000000 + CBitFieldMaskBit34 = 0x20000000 + CBitFieldMaskBit35 = 0x10000000 + CBitFieldMaskBit36 = 0x8000000 + CBitFieldMaskBit37 = 0x4000000 + CBitFieldMaskBit38 = 0x2000000 + CBitFieldMaskBit39 = 0x1000000 + CBitFieldMaskBit40 = 0x800000 + CBitFieldMaskBit41 = 0x400000 + CBitFieldMaskBit42 = 0x200000 + CBitFieldMaskBit43 = 0x100000 + CBitFieldMaskBit44 = 0x80000 + CBitFieldMaskBit45 = 0x40000 + CBitFieldMaskBit46 = 0x20000 + CBitFieldMaskBit47 = 0x10000 + CBitFieldMaskBit48 = 0x8000 + CBitFieldMaskBit49 = 0x4000 + CBitFieldMaskBit50 = 0x2000 + CBitFieldMaskBit51 = 0x1000 + CBitFieldMaskBit52 = 0x800 + CBitFieldMaskBit53 = 0x400 + CBitFieldMaskBit54 = 0x200 + CBitFieldMaskBit55 = 0x100 + CBitFieldMaskBit56 = 0x80 + CBitFieldMaskBit57 = 0x40 + CBitFieldMaskBit58 = 0x20 + CBitFieldMaskBit59 = 0x10 + CBitFieldMaskBit60 = 0x8 + CBitFieldMaskBit61 = 0x4 + CBitFieldMaskBit62 = 0x2 + CBitFieldMaskBit63 = 0x1 +) + +type SockaddrStorage struct { + Family uint16 + _ [118]int8 + _ uint64 +} + +type TCPMD5Sig struct { + Addr SockaddrStorage + Flags uint8 + Prefixlen uint8 + Keylen uint16 + _ uint32 + Key [80]uint8 +} + +type HDDriveCmdHdr struct { + Command uint8 + Number uint8 + Feature uint8 + Count uint8 +} + +type HDGeometry struct { + Heads uint8 + Sectors uint8 + Cylinders uint16 + Start uint64 +} + +type HDDriveID struct { + Config uint16 + Cyls uint16 + Reserved2 uint16 + Heads uint16 + Track_bytes uint16 + Sector_bytes uint16 + Sectors uint16 + Vendor0 uint16 + Vendor1 uint16 + Vendor2 uint16 + Serial_no [20]uint8 + Buf_type uint16 + Buf_size uint16 + Ecc_bytes uint16 + Fw_rev [8]uint8 + Model [40]uint8 + Max_multsect uint8 + Vendor3 uint8 + Dword_io uint16 + Vendor4 uint8 + Capability uint8 + Reserved50 uint16 + Vendor5 uint8 + TPIO uint8 + Vendor6 uint8 + TDMA uint8 + Field_valid uint16 + Cur_cyls uint16 + Cur_heads uint16 + Cur_sectors uint16 + Cur_capacity0 uint16 + Cur_capacity1 uint16 + Multsect uint8 + Multsect_valid uint8 + Lba_capacity uint32 + Dma_1word uint16 + Dma_mword uint16 + Eide_pio_modes uint16 + Eide_dma_min uint16 + Eide_dma_time uint16 + Eide_pio uint16 + Eide_pio_iordy uint16 + Words69_70 [2]uint16 + Words71_74 [4]uint16 + Queue_depth uint16 + Words76_79 [4]uint16 + Major_rev_num uint16 + Minor_rev_num uint16 + Command_set_1 uint16 + Command_set_2 uint16 + Cfsse uint16 + Cfs_enable_1 uint16 + Cfs_enable_2 uint16 + Csf_default uint16 + Dma_ultra uint16 + Trseuc uint16 + TrsEuc uint16 + CurAPMvalues uint16 + Mprc uint16 + Hw_config uint16 + Acoustic uint16 + Msrqs uint16 + Sxfert uint16 + Sal uint16 + Spg uint32 + Lba_capacity_2 uint64 + Words104_125 [22]uint16 + Last_lun uint16 + Word127 uint16 + Dlf uint16 + Csfo uint16 + Words130_155 [26]uint16 + Word156 uint16 + Words157_159 [3]uint16 + Cfa_power uint16 + Words161_175 [15]uint16 + Words176_205 [30]uint16 + Words206_254 [49]uint16 + Integrity_word uint16 +} + +type Statfs_t struct { + Type int64 + Bsize int64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Fsid Fsid + Namelen int64 + Frsize int64 + Flags int64 + Spare [4]int64 +} + +const ( + ST_MANDLOCK = 0x40 + ST_NOATIME = 0x400 + ST_NODEV = 0x4 + ST_NODIRATIME = 0x800 + ST_NOEXEC = 0x8 + ST_NOSUID = 0x2 + ST_RDONLY = 0x1 + ST_RELATIME = 0x1000 + ST_SYNCHRONOUS = 0x10 +) + +type TpacketHdr struct { + Status uint64 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Usec uint32 + _ [4]byte +} + +type Tpacket2Hdr struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Sec uint32 + Nsec uint32 + Vlan_tci uint16 + Vlan_tpid uint16 + _ [4]uint8 +} + +type Tpacket3Hdr struct { + Next_offset uint32 + Sec uint32 + Nsec uint32 + Snaplen uint32 + Len uint32 + Status uint32 + Mac uint16 + Net uint16 + Hv1 TpacketHdrVariant1 + _ [8]uint8 +} + +type TpacketHdrVariant1 struct { + Rxhash uint32 + Vlan_tci uint32 + Vlan_tpid uint16 + _ uint16 +} + +type TpacketBlockDesc struct { + Version uint32 + To_priv uint32 + Hdr [40]byte +} + +type TpacketReq struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 +} + +type TpacketReq3 struct { + Block_size uint32 + Block_nr uint32 + Frame_size uint32 + Frame_nr uint32 + Retire_blk_tov uint32 + Sizeof_priv uint32 + Feature_req_word uint32 +} + +type TpacketStats struct { + Packets uint32 + Drops uint32 +} + +type TpacketStatsV3 struct { + Packets uint32 + Drops uint32 + Freeze_q_cnt uint32 +} + +type TpacketAuxdata struct { + Status uint32 + Len uint32 + Snaplen uint32 + Mac uint16 + Net uint16 + Vlan_tci uint16 + Vlan_tpid uint16 +} + +const ( + TPACKET_V1 = 0x0 + TPACKET_V2 = 0x1 + TPACKET_V3 = 0x2 +) + +const ( + SizeofTpacketHdr = 0x20 + SizeofTpacket2Hdr = 0x20 + SizeofTpacket3Hdr = 0x30 +) + +const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 + NF_INET_FORWARD = 0x2 + NF_INET_LOCAL_OUT = 0x3 + NF_INET_POST_ROUTING = 0x4 + NF_INET_NUMHOOKS = 0x5 +) + +const ( + NF_NETDEV_INGRESS = 0x0 + NF_NETDEV_NUMHOOKS = 0x1 +) + +const ( + NFPROTO_UNSPEC = 0x0 + NFPROTO_INET = 0x1 + NFPROTO_IPV4 = 0x2 + NFPROTO_ARP = 0x3 + NFPROTO_NETDEV = 0x5 + NFPROTO_BRIDGE = 0x7 + NFPROTO_IPV6 = 0xa + NFPROTO_DECNET = 0xc + NFPROTO_NUMPROTO = 0xd +) + +type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 + Res_id uint16 +} + +const ( + NFNL_BATCH_UNSPEC = 0x0 + NFNL_BATCH_GENID = 0x1 +) + +const ( + NFT_REG_VERDICT = 0x0 + NFT_REG_1 = 0x1 + NFT_REG_2 = 0x2 + NFT_REG_3 = 0x3 + NFT_REG_4 = 0x4 + NFT_REG32_00 = 0x8 + NFT_REG32_01 = 0x9 + NFT_REG32_02 = 0xa + NFT_REG32_03 = 0xb + NFT_REG32_04 = 0xc + NFT_REG32_05 = 0xd + NFT_REG32_06 = 0xe + NFT_REG32_07 = 0xf + NFT_REG32_08 = 0x10 + NFT_REG32_09 = 0x11 + NFT_REG32_10 = 0x12 + NFT_REG32_11 = 0x13 + NFT_REG32_12 = 0x14 + NFT_REG32_13 = 0x15 + NFT_REG32_14 = 0x16 + NFT_REG32_15 = 0x17 + NFT_CONTINUE = -0x1 + NFT_BREAK = -0x2 + NFT_JUMP = -0x3 + NFT_GOTO = -0x4 + NFT_RETURN = -0x5 + NFT_MSG_NEWTABLE = 0x0 + NFT_MSG_GETTABLE = 0x1 + NFT_MSG_DELTABLE = 0x2 + NFT_MSG_NEWCHAIN = 0x3 + NFT_MSG_GETCHAIN = 0x4 + NFT_MSG_DELCHAIN = 0x5 + NFT_MSG_NEWRULE = 0x6 + NFT_MSG_GETRULE = 0x7 + NFT_MSG_DELRULE = 0x8 + NFT_MSG_NEWSET = 0x9 + NFT_MSG_GETSET = 0xa + NFT_MSG_DELSET = 0xb + NFT_MSG_NEWSETELEM = 0xc + NFT_MSG_GETSETELEM = 0xd + NFT_MSG_DELSETELEM = 0xe + NFT_MSG_NEWGEN = 0xf + NFT_MSG_GETGEN = 0x10 + NFT_MSG_TRACE = 0x11 + NFT_MSG_NEWOBJ = 0x12 + NFT_MSG_GETOBJ = 0x13 + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 + NFTA_LIST_UNPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 + NFTA_HOOK_PRIORITY = 0x2 + NFTA_HOOK_DEV = 0x3 + NFT_TABLE_F_DORMANT = 0x1 + NFTA_TABLE_UNSPEC = 0x0 + NFTA_TABLE_NAME = 0x1 + NFTA_TABLE_FLAGS = 0x2 + NFTA_TABLE_USE = 0x3 + NFTA_CHAIN_UNSPEC = 0x0 + NFTA_CHAIN_TABLE = 0x1 + NFTA_CHAIN_HANDLE = 0x2 + NFTA_CHAIN_NAME = 0x3 + NFTA_CHAIN_HOOK = 0x4 + NFTA_CHAIN_POLICY = 0x5 + NFTA_CHAIN_USE = 0x6 + NFTA_CHAIN_TYPE = 0x7 + NFTA_CHAIN_COUNTERS = 0x8 + NFTA_CHAIN_PAD = 0x9 + NFTA_RULE_UNSPEC = 0x0 + NFTA_RULE_TABLE = 0x1 + NFTA_RULE_CHAIN = 0x2 + NFTA_RULE_HANDLE = 0x3 + NFTA_RULE_EXPRESSIONS = 0x4 + NFTA_RULE_COMPAT = 0x5 + NFTA_RULE_POSITION = 0x6 + NFTA_RULE_USERDATA = 0x7 + NFTA_RULE_PAD = 0x8 + NFTA_RULE_ID = 0x9 + NFT_RULE_COMPAT_F_INV = 0x2 + NFT_RULE_COMPAT_F_MASK = 0x2 + NFTA_RULE_COMPAT_UNSPEC = 0x0 + NFTA_RULE_COMPAT_PROTO = 0x1 + NFTA_RULE_COMPAT_FLAGS = 0x2 + NFT_SET_ANONYMOUS = 0x1 + NFT_SET_CONSTANT = 0x2 + NFT_SET_INTERVAL = 0x4 + NFT_SET_MAP = 0x8 + NFT_SET_TIMEOUT = 0x10 + NFT_SET_EVAL = 0x20 + NFT_SET_OBJECT = 0x40 + NFT_SET_POL_PERFORMANCE = 0x0 + NFT_SET_POL_MEMORY = 0x1 + NFTA_SET_DESC_UNSPEC = 0x0 + NFTA_SET_DESC_SIZE = 0x1 + NFTA_SET_UNSPEC = 0x0 + NFTA_SET_TABLE = 0x1 + NFTA_SET_NAME = 0x2 + NFTA_SET_FLAGS = 0x3 + NFTA_SET_KEY_TYPE = 0x4 + NFTA_SET_KEY_LEN = 0x5 + NFTA_SET_DATA_TYPE = 0x6 + NFTA_SET_DATA_LEN = 0x7 + NFTA_SET_POLICY = 0x8 + NFTA_SET_DESC = 0x9 + NFTA_SET_ID = 0xa + NFTA_SET_TIMEOUT = 0xb + NFTA_SET_GC_INTERVAL = 0xc + NFTA_SET_USERDATA = 0xd + NFTA_SET_PAD = 0xe + NFTA_SET_OBJ_TYPE = 0xf + NFT_SET_ELEM_INTERVAL_END = 0x1 + NFTA_SET_ELEM_UNSPEC = 0x0 + NFTA_SET_ELEM_KEY = 0x1 + NFTA_SET_ELEM_DATA = 0x2 + NFTA_SET_ELEM_FLAGS = 0x3 + NFTA_SET_ELEM_TIMEOUT = 0x4 + NFTA_SET_ELEM_EXPIRATION = 0x5 + NFTA_SET_ELEM_USERDATA = 0x6 + NFTA_SET_ELEM_EXPR = 0x7 + NFTA_SET_ELEM_PAD = 0x8 + NFTA_SET_ELEM_OBJREF = 0x9 + NFTA_SET_ELEM_LIST_UNSPEC = 0x0 + NFTA_SET_ELEM_LIST_TABLE = 0x1 + NFTA_SET_ELEM_LIST_SET = 0x2 + NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 + NFTA_SET_ELEM_LIST_SET_ID = 0x4 + NFT_DATA_VALUE = 0x0 + NFT_DATA_VERDICT = 0xffffff00 + NFTA_DATA_UNSPEC = 0x0 + NFTA_DATA_VALUE = 0x1 + NFTA_DATA_VERDICT = 0x2 + NFTA_VERDICT_UNSPEC = 0x0 + NFTA_VERDICT_CODE = 0x1 + NFTA_VERDICT_CHAIN = 0x2 + NFTA_EXPR_UNSPEC = 0x0 + NFTA_EXPR_NAME = 0x1 + NFTA_EXPR_DATA = 0x2 + NFTA_IMMEDIATE_UNSPEC = 0x0 + NFTA_IMMEDIATE_DREG = 0x1 + NFTA_IMMEDIATE_DATA = 0x2 + NFTA_BITWISE_UNSPEC = 0x0 + NFTA_BITWISE_SREG = 0x1 + NFTA_BITWISE_DREG = 0x2 + NFTA_BITWISE_LEN = 0x3 + NFTA_BITWISE_MASK = 0x4 + NFTA_BITWISE_XOR = 0x5 + NFT_BYTEORDER_NTOH = 0x0 + NFT_BYTEORDER_HTON = 0x1 + NFTA_BYTEORDER_UNSPEC = 0x0 + NFTA_BYTEORDER_SREG = 0x1 + NFTA_BYTEORDER_DREG = 0x2 + NFTA_BYTEORDER_OP = 0x3 + NFTA_BYTEORDER_LEN = 0x4 + NFTA_BYTEORDER_SIZE = 0x5 + NFT_CMP_EQ = 0x0 + NFT_CMP_NEQ = 0x1 + NFT_CMP_LT = 0x2 + NFT_CMP_LTE = 0x3 + NFT_CMP_GT = 0x4 + NFT_CMP_GTE = 0x5 + NFTA_CMP_UNSPEC = 0x0 + NFTA_CMP_SREG = 0x1 + NFTA_CMP_OP = 0x2 + NFTA_CMP_DATA = 0x3 + NFT_RANGE_EQ = 0x0 + NFT_RANGE_NEQ = 0x1 + NFTA_RANGE_UNSPEC = 0x0 + NFTA_RANGE_SREG = 0x1 + NFTA_RANGE_OP = 0x2 + NFTA_RANGE_FROM_DATA = 0x3 + NFTA_RANGE_TO_DATA = 0x4 + NFT_LOOKUP_F_INV = 0x1 + NFTA_LOOKUP_UNSPEC = 0x0 + NFTA_LOOKUP_SET = 0x1 + NFTA_LOOKUP_SREG = 0x2 + NFTA_LOOKUP_DREG = 0x3 + NFTA_LOOKUP_SET_ID = 0x4 + NFTA_LOOKUP_FLAGS = 0x5 + NFT_DYNSET_OP_ADD = 0x0 + NFT_DYNSET_OP_UPDATE = 0x1 + NFT_DYNSET_F_INV = 0x1 + NFTA_DYNSET_UNSPEC = 0x0 + NFTA_DYNSET_SET_NAME = 0x1 + NFTA_DYNSET_SET_ID = 0x2 + NFTA_DYNSET_OP = 0x3 + NFTA_DYNSET_SREG_KEY = 0x4 + NFTA_DYNSET_SREG_DATA = 0x5 + NFTA_DYNSET_TIMEOUT = 0x6 + NFTA_DYNSET_EXPR = 0x7 + NFTA_DYNSET_PAD = 0x8 + NFTA_DYNSET_FLAGS = 0x9 + NFT_PAYLOAD_LL_HEADER = 0x0 + NFT_PAYLOAD_NETWORK_HEADER = 0x1 + NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_CSUM_NONE = 0x0 + NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 + NFTA_PAYLOAD_UNSPEC = 0x0 + NFTA_PAYLOAD_DREG = 0x1 + NFTA_PAYLOAD_BASE = 0x2 + NFTA_PAYLOAD_OFFSET = 0x3 + NFTA_PAYLOAD_LEN = 0x4 + NFTA_PAYLOAD_SREG = 0x5 + NFTA_PAYLOAD_CSUM_TYPE = 0x6 + NFTA_PAYLOAD_CSUM_OFFSET = 0x7 + NFTA_PAYLOAD_CSUM_FLAGS = 0x8 + NFT_EXTHDR_F_PRESENT = 0x1 + NFT_EXTHDR_OP_IPV6 = 0x0 + NFT_EXTHDR_OP_TCPOPT = 0x1 + NFTA_EXTHDR_UNSPEC = 0x0 + NFTA_EXTHDR_DREG = 0x1 + NFTA_EXTHDR_TYPE = 0x2 + NFTA_EXTHDR_OFFSET = 0x3 + NFTA_EXTHDR_LEN = 0x4 + NFTA_EXTHDR_FLAGS = 0x5 + NFTA_EXTHDR_OP = 0x6 + NFTA_EXTHDR_SREG = 0x7 + NFT_META_LEN = 0x0 + NFT_META_PROTOCOL = 0x1 + NFT_META_PRIORITY = 0x2 + NFT_META_MARK = 0x3 + NFT_META_IIF = 0x4 + NFT_META_OIF = 0x5 + NFT_META_IIFNAME = 0x6 + NFT_META_OIFNAME = 0x7 + NFT_META_IIFTYPE = 0x8 + NFT_META_OIFTYPE = 0x9 + NFT_META_SKUID = 0xa + NFT_META_SKGID = 0xb + NFT_META_NFTRACE = 0xc + NFT_META_RTCLASSID = 0xd + NFT_META_SECMARK = 0xe + NFT_META_NFPROTO = 0xf + NFT_META_L4PROTO = 0x10 + NFT_META_BRI_IIFNAME = 0x11 + NFT_META_BRI_OIFNAME = 0x12 + NFT_META_PKTTYPE = 0x13 + NFT_META_CPU = 0x14 + NFT_META_IIFGROUP = 0x15 + NFT_META_OIFGROUP = 0x16 + NFT_META_CGROUP = 0x17 + NFT_META_PRANDOM = 0x18 + NFT_RT_CLASSID = 0x0 + NFT_RT_NEXTHOP4 = 0x1 + NFT_RT_NEXTHOP6 = 0x2 + NFT_RT_TCPMSS = 0x3 + NFT_HASH_JENKINS = 0x0 + NFT_HASH_SYM = 0x1 + NFTA_HASH_UNSPEC = 0x0 + NFTA_HASH_SREG = 0x1 + NFTA_HASH_DREG = 0x2 + NFTA_HASH_LEN = 0x3 + NFTA_HASH_MODULUS = 0x4 + NFTA_HASH_SEED = 0x5 + NFTA_HASH_OFFSET = 0x6 + NFTA_HASH_TYPE = 0x7 + NFTA_META_UNSPEC = 0x0 + NFTA_META_DREG = 0x1 + NFTA_META_KEY = 0x2 + NFTA_META_SREG = 0x3 + NFTA_RT_UNSPEC = 0x0 + NFTA_RT_DREG = 0x1 + NFTA_RT_KEY = 0x2 + NFT_CT_STATE = 0x0 + NFT_CT_DIRECTION = 0x1 + NFT_CT_STATUS = 0x2 + NFT_CT_MARK = 0x3 + NFT_CT_SECMARK = 0x4 + NFT_CT_EXPIRATION = 0x5 + NFT_CT_HELPER = 0x6 + NFT_CT_L3PROTOCOL = 0x7 + NFT_CT_SRC = 0x8 + NFT_CT_DST = 0x9 + NFT_CT_PROTOCOL = 0xa + NFT_CT_PROTO_SRC = 0xb + NFT_CT_PROTO_DST = 0xc + NFT_CT_LABELS = 0xd + NFT_CT_PKTS = 0xe + NFT_CT_BYTES = 0xf + NFT_CT_AVGPKT = 0x10 + NFT_CT_ZONE = 0x11 + NFT_CT_EVENTMASK = 0x12 + NFTA_CT_UNSPEC = 0x0 + NFTA_CT_DREG = 0x1 + NFTA_CT_KEY = 0x2 + NFTA_CT_DIRECTION = 0x3 + NFTA_CT_SREG = 0x4 + NFT_LIMIT_PKTS = 0x0 + NFT_LIMIT_PKT_BYTES = 0x1 + NFT_LIMIT_F_INV = 0x1 + NFTA_LIMIT_UNSPEC = 0x0 + NFTA_LIMIT_RATE = 0x1 + NFTA_LIMIT_UNIT = 0x2 + NFTA_LIMIT_BURST = 0x3 + NFTA_LIMIT_TYPE = 0x4 + NFTA_LIMIT_FLAGS = 0x5 + NFTA_LIMIT_PAD = 0x6 + NFTA_COUNTER_UNSPEC = 0x0 + NFTA_COUNTER_BYTES = 0x1 + NFTA_COUNTER_PACKETS = 0x2 + NFTA_COUNTER_PAD = 0x3 + NFTA_LOG_UNSPEC = 0x0 + NFTA_LOG_GROUP = 0x1 + NFTA_LOG_PREFIX = 0x2 + NFTA_LOG_SNAPLEN = 0x3 + NFTA_LOG_QTHRESHOLD = 0x4 + NFTA_LOG_LEVEL = 0x5 + NFTA_LOG_FLAGS = 0x6 + NFTA_QUEUE_UNSPEC = 0x0 + NFTA_QUEUE_NUM = 0x1 + NFTA_QUEUE_TOTAL = 0x2 + NFTA_QUEUE_FLAGS = 0x3 + NFTA_QUEUE_SREG_QNUM = 0x4 + NFT_QUOTA_F_INV = 0x1 + NFT_QUOTA_F_DEPLETED = 0x2 + NFTA_QUOTA_UNSPEC = 0x0 + NFTA_QUOTA_BYTES = 0x1 + NFTA_QUOTA_FLAGS = 0x2 + NFTA_QUOTA_PAD = 0x3 + NFTA_QUOTA_CONSUMED = 0x4 + NFT_REJECT_ICMP_UNREACH = 0x0 + NFT_REJECT_TCP_RST = 0x1 + NFT_REJECT_ICMPX_UNREACH = 0x2 + NFT_REJECT_ICMPX_NO_ROUTE = 0x0 + NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 + NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 + NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 + NFTA_REJECT_UNSPEC = 0x0 + NFTA_REJECT_TYPE = 0x1 + NFTA_REJECT_ICMP_CODE = 0x2 + NFT_NAT_SNAT = 0x0 + NFT_NAT_DNAT = 0x1 + NFTA_NAT_UNSPEC = 0x0 + NFTA_NAT_TYPE = 0x1 + NFTA_NAT_FAMILY = 0x2 + NFTA_NAT_REG_ADDR_MIN = 0x3 + NFTA_NAT_REG_ADDR_MAX = 0x4 + NFTA_NAT_REG_PROTO_MIN = 0x5 + NFTA_NAT_REG_PROTO_MAX = 0x6 + NFTA_NAT_FLAGS = 0x7 + NFTA_MASQ_UNSPEC = 0x0 + NFTA_MASQ_FLAGS = 0x1 + NFTA_MASQ_REG_PROTO_MIN = 0x2 + NFTA_MASQ_REG_PROTO_MAX = 0x3 + NFTA_REDIR_UNSPEC = 0x0 + NFTA_REDIR_REG_PROTO_MIN = 0x1 + NFTA_REDIR_REG_PROTO_MAX = 0x2 + NFTA_REDIR_FLAGS = 0x3 + NFTA_DUP_UNSPEC = 0x0 + NFTA_DUP_SREG_ADDR = 0x1 + NFTA_DUP_SREG_DEV = 0x2 + NFTA_FWD_UNSPEC = 0x0 + NFTA_FWD_SREG_DEV = 0x1 + NFTA_OBJREF_UNSPEC = 0x0 + NFTA_OBJREF_IMM_TYPE = 0x1 + NFTA_OBJREF_IMM_NAME = 0x2 + NFTA_OBJREF_SET_SREG = 0x3 + NFTA_OBJREF_SET_NAME = 0x4 + NFTA_OBJREF_SET_ID = 0x5 + NFTA_GEN_UNSPEC = 0x0 + NFTA_GEN_ID = 0x1 + NFTA_GEN_PROC_PID = 0x2 + NFTA_GEN_PROC_NAME = 0x3 + NFTA_FIB_UNSPEC = 0x0 + NFTA_FIB_DREG = 0x1 + NFTA_FIB_RESULT = 0x2 + NFTA_FIB_FLAGS = 0x3 + NFT_FIB_RESULT_UNSPEC = 0x0 + NFT_FIB_RESULT_OIF = 0x1 + NFT_FIB_RESULT_OIFNAME = 0x2 + NFT_FIB_RESULT_ADDRTYPE = 0x3 + NFTA_FIB_F_SADDR = 0x1 + NFTA_FIB_F_DADDR = 0x2 + NFTA_FIB_F_MARK = 0x4 + NFTA_FIB_F_IIF = 0x8 + NFTA_FIB_F_OIF = 0x10 + NFTA_FIB_F_PRESENT = 0x20 + NFTA_CT_HELPER_UNSPEC = 0x0 + NFTA_CT_HELPER_NAME = 0x1 + NFTA_CT_HELPER_L3PROTO = 0x2 + NFTA_CT_HELPER_L4PROTO = 0x3 + NFTA_OBJ_UNSPEC = 0x0 + NFTA_OBJ_TABLE = 0x1 + NFTA_OBJ_NAME = 0x2 + NFTA_OBJ_TYPE = 0x3 + NFTA_OBJ_DATA = 0x4 + NFTA_OBJ_USE = 0x5 + NFTA_TRACE_UNSPEC = 0x0 + NFTA_TRACE_TABLE = 0x1 + NFTA_TRACE_CHAIN = 0x2 + NFTA_TRACE_RULE_HANDLE = 0x3 + NFTA_TRACE_TYPE = 0x4 + NFTA_TRACE_VERDICT = 0x5 + NFTA_TRACE_ID = 0x6 + NFTA_TRACE_LL_HEADER = 0x7 + NFTA_TRACE_NETWORK_HEADER = 0x8 + NFTA_TRACE_TRANSPORT_HEADER = 0x9 + NFTA_TRACE_IIF = 0xa + NFTA_TRACE_IIFTYPE = 0xb + NFTA_TRACE_OIF = 0xc + NFTA_TRACE_OIFTYPE = 0xd + NFTA_TRACE_MARK = 0xe + NFTA_TRACE_NFPROTO = 0xf + NFTA_TRACE_POLICY = 0x10 + NFTA_TRACE_PAD = 0x11 + NFT_TRACETYPE_UNSPEC = 0x0 + NFT_TRACETYPE_POLICY = 0x1 + NFT_TRACETYPE_RETURN = 0x2 + NFT_TRACETYPE_RULE = 0x3 + NFTA_NG_UNSPEC = 0x0 + NFTA_NG_DREG = 0x1 + NFTA_NG_MODULUS = 0x2 + NFTA_NG_TYPE = 0x3 + NFTA_NG_OFFSET = 0x4 + NFT_NG_INCREMENTAL = 0x0 + NFT_NG_RANDOM = 0x1 +) + +type RTCTime struct { + Sec int32 + Min int32 + Hour int32 + Mday int32 + Mon int32 + Year int32 + Wday int32 + Yday int32 + Isdst int32 +} + +type RTCWkAlrm struct { + Enabled uint8 + Pending uint8 + Time RTCTime +} + +type RTCPLLInfo struct { + Ctrl int32 + Value int32 + Max int32 + Min int32 + Posmult int32 + Negmult int32 + Clock int64 +} + +type BlkpgIoctlArg struct { + Op int32 + Flags int32 + Datalen int32 + Data *byte +} + +type BlkpgPartition struct { + Start int64 + Length int64 + Pno int32 + Devname [64]uint8 + Volname [64]uint8 + _ [4]byte +} + +const ( + BLKPG = 0x20001269 + BLKPG_ADD_PARTITION = 0x1 + BLKPG_DEL_PARTITION = 0x2 + BLKPG_RESIZE_PARTITION = 0x3 +) + +const ( + NETNSA_NONE = 0x0 + NETNSA_NSID = 0x1 + NETNSA_PID = 0x2 + NETNSA_FD = 0x3 +) + +type XDPRingOffset struct { + Producer uint64 + Consumer uint64 + Desc uint64 +} + +type XDPMmapOffsets struct { + Rx XDPRingOffset + Tx XDPRingOffset + Fr XDPRingOffset + Cr XDPRingOffset +} + +type XDPUmemReg struct { + Addr uint64 + Len uint64 + Size uint32 + Headroom uint32 +} + +type XDPStatistics struct { + Rx_dropped uint64 + Rx_invalid_descs uint64 + Tx_invalid_descs uint64 +} + +type XDPDesc struct { + Addr uint64 + Len uint32 + Options uint32 +} + +const ( + NCSI_CMD_UNSPEC = 0x0 + NCSI_CMD_PKG_INFO = 0x1 + NCSI_CMD_SET_INTERFACE = 0x2 + NCSI_CMD_CLEAR_INTERFACE = 0x3 + NCSI_ATTR_UNSPEC = 0x0 + NCSI_ATTR_IFINDEX = 0x1 + NCSI_ATTR_PACKAGE_LIST = 0x2 + NCSI_ATTR_PACKAGE_ID = 0x3 + NCSI_ATTR_CHANNEL_ID = 0x4 + NCSI_PKG_ATTR_UNSPEC = 0x0 + NCSI_PKG_ATTR = 0x1 + NCSI_PKG_ATTR_ID = 0x2 + NCSI_PKG_ATTR_FORCED = 0x3 + NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 + NCSI_CHANNEL_ATTR_UNSPEC = 0x0 + NCSI_CHANNEL_ATTR = 0x1 + NCSI_CHANNEL_ATTR_ID = 0x2 + NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 + NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 + NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 + NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 + NCSI_CHANNEL_ATTR_ACTIVE = 0x7 + NCSI_CHANNEL_ATTR_FORCED = 0x8 + NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 + NCSI_CHANNEL_ATTR_VLAN_ID = 0xa +) + +type ScmTimestamping struct { + Ts [3]Timespec +} + +const ( + SOF_TIMESTAMPING_TX_HARDWARE = 0x1 + SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 + SOF_TIMESTAMPING_RX_HARDWARE = 0x4 + SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 + SOF_TIMESTAMPING_SOFTWARE = 0x10 + SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 + SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 + SOF_TIMESTAMPING_OPT_ID = 0x80 + SOF_TIMESTAMPING_TX_SCHED = 0x100 + SOF_TIMESTAMPING_TX_ACK = 0x200 + SOF_TIMESTAMPING_OPT_CMSG = 0x400 + SOF_TIMESTAMPING_OPT_TSONLY = 0x800 + SOF_TIMESTAMPING_OPT_STATS = 0x1000 + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + + SOF_TIMESTAMPING_LAST = 0x4000 + SOF_TIMESTAMPING_MASK = 0x7fff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 + SCM_TSTAMP_ACK = 0x2 +) + +type SockExtendedErr struct { + Errno uint32 + Origin uint8 + Type uint8 + Code uint8 + Pad uint8 + Info uint32 + Data uint32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go new file mode 100644 index 000000000..2dae0c17a --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go @@ -0,0 +1,465 @@ +// cgo -godefs types_netbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,netbsd + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int32 +} + +type Timeval struct { + Sec int64 + Usec int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Mode uint32 + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + Atimespec Timespec + Mtimespec Timespec + Ctimespec Timespec + Birthtimespec Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + Spare [2]uint32 +} + +type Statfs_t [0]byte + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [512]int8 + Pad_cgo_0 [3]byte +} + +type Fsid struct { + X__fsid_val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter uint32 + Flags uint32 + Fflags uint32 + Data int64 + Udata int32 +} + +type FdSet struct { + Bits [8]uint32 +} + +const ( + SizeofIfMsghdr = 0x98 + SizeofIfData = 0x84 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x78 + SizeofRtMetrics = 0x50 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data IfData + Pad_cgo_1 [4]byte +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Pad_cgo_0 [1]byte + Link_state int32 + Mtu uint64 + Metric uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Lastchange Timespec +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Metric int32 + Index uint16 + Pad_cgo_0 [6]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Pad_cgo_0 [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits int32 + Pad_cgo_1 [4]byte + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Hopcount uint64 + Recvpipe uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Expire int64 + Pksent int64 +} + +type Mclpool [0]byte + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x80 + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint64 + Drop uint64 + Capt uint64 + Padding [13]uint64 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [2]byte +} + +type BpfTimeval struct { + Sec int32 + Usec int32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Ptmget struct { + Cfd int32 + Sfd int32 + Cn [1024]byte + Sn [1024]byte +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sysctlnode struct { + Flags uint32 + Num int32 + Name [32]int8 + Ver uint32 + X__rsvd uint32 + Un [16]byte + X_sysctl_size [8]byte + X_sysctl_func [8]byte + X_sysctl_parent [8]byte + X_sysctl_desc [8]byte +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go new file mode 100644 index 000000000..1f0e76c0c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go @@ -0,0 +1,472 @@ +// cgo -godefs types_netbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,netbsd + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int32 + Pad_cgo_0 [4]byte +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Mode uint32 + Pad_cgo_0 [4]byte + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Pad_cgo_1 [4]byte + Rdev uint64 + Atimespec Timespec + Mtimespec Timespec + Ctimespec Timespec + Birthtimespec Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + Spare [2]uint32 + Pad_cgo_2 [4]byte +} + +type Statfs_t [0]byte + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [512]int8 + Pad_cgo_0 [3]byte +} + +type Fsid struct { + X__fsid_val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Pad_cgo_0 [4]byte + Iov *Iovec + Iovlen int32 + Pad_cgo_1 [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter uint32 + Flags uint32 + Fflags uint32 + Pad_cgo_0 [4]byte + Data int64 + Udata int64 +} + +type FdSet struct { + Bits [8]uint32 +} + +const ( + SizeofIfMsghdr = 0x98 + SizeofIfData = 0x88 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x78 + SizeofRtMetrics = 0x50 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Pad_cgo_0 [1]byte + Link_state int32 + Mtu uint64 + Metric uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Lastchange Timespec +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Metric int32 + Index uint16 + Pad_cgo_0 [6]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Pad_cgo_0 [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits int32 + Pad_cgo_1 [4]byte + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Hopcount uint64 + Recvpipe uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Expire int64 + Pksent int64 +} + +type Mclpool [0]byte + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x80 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint64 + Drop uint64 + Capt uint64 + Padding [13]uint64 +} + +type BpfProgram struct { + Len uint32 + Pad_cgo_0 [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [6]byte +} + +type BpfTimeval struct { + Sec int64 + Usec int64 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Ptmget struct { + Cfd int32 + Sfd int32 + Cn [1024]byte + Sn [1024]byte +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sysctlnode struct { + Flags uint32 + Num int32 + Name [32]int8 + Ver uint32 + X__rsvd uint32 + Un [16]byte + X_sysctl_size [8]byte + X_sysctl_func [8]byte + X_sysctl_parent [8]byte + X_sysctl_desc [8]byte +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go new file mode 100644 index 000000000..53f2159c7 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go @@ -0,0 +1,470 @@ +// cgo -godefs types_netbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,netbsd + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int32 + Pad_cgo_0 [4]byte +} + +type Timeval struct { + Sec int64 + Usec int32 + Pad_cgo_0 [4]byte +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Mode uint32 + Pad_cgo_0 [4]byte + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Pad_cgo_1 [4]byte + Rdev uint64 + Atimespec Timespec + Mtimespec Timespec + Ctimespec Timespec + Birthtimespec Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + Spare [2]uint32 + Pad_cgo_2 [4]byte +} + +type Statfs_t [0]byte + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [512]int8 + Pad_cgo_0 [3]byte +} + +type Fsid struct { + X__fsid_val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen int32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter uint32 + Flags uint32 + Fflags uint32 + Data int64 + Udata int32 + Pad_cgo_0 [4]byte +} + +type FdSet struct { + Bits [8]uint32 +} + +const ( + SizeofIfMsghdr = 0x98 + SizeofIfData = 0x88 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x78 + SizeofRtMetrics = 0x50 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Pad_cgo_0 [1]byte + Link_state int32 + Mtu uint64 + Metric uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Lastchange Timespec +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Metric int32 + Index uint16 + Pad_cgo_0 [6]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Pad_cgo_0 [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits int32 + Pad_cgo_1 [4]byte + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Hopcount uint64 + Recvpipe uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Expire int64 + Pksent int64 +} + +type Mclpool [0]byte + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x80 + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint64 + Drop uint64 + Capt uint64 + Padding [13]uint64 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [2]byte +} + +type BpfTimeval struct { + Sec int32 + Usec int32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Ptmget struct { + Cfd int32 + Sfd int32 + Cn [1024]byte + Sn [1024]byte +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sysctlnode struct { + Flags uint32 + Num int32 + Name [32]int8 + Ver uint32 + X__rsvd uint32 + Un [16]byte + X_sysctl_size [8]byte + X_sysctl_func [8]byte + X_sysctl_parent [8]byte + X_sysctl_desc [8]byte +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go new file mode 100644 index 000000000..43da2c41c --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go @@ -0,0 +1,472 @@ +// cgo -godefs types_netbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm64,netbsd + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int32 + Pad_cgo_0 [4]byte +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Mode uint32 + Pad_cgo_0 [4]byte + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Pad_cgo_1 [4]byte + Rdev uint64 + Atimespec Timespec + Mtimespec Timespec + Ctimespec Timespec + Birthtimespec Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + Spare [2]uint32 + Pad_cgo_2 [4]byte +} + +type Statfs_t [0]byte + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Reclen uint16 + Namlen uint16 + Type uint8 + Name [512]int8 + Pad_cgo_0 [3]byte +} + +type Fsid struct { + X__fsid_val [2]int32 +} + +const ( + PathMax = 0x400 +) + +const ( + FADV_NORMAL = 0x0 + FADV_RANDOM = 0x1 + FADV_SEQUENTIAL = 0x2 + FADV_WILLNEED = 0x3 + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [12]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Pad_cgo_0 [4]byte + Iov *Iovec + Iovlen int32 + Pad_cgo_1 [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter uint32 + Flags uint32 + Fflags uint32 + Pad_cgo_0 [4]byte + Data int64 + Udata int64 +} + +type FdSet struct { + Bits [8]uint32 +} + +const ( + SizeofIfMsghdr = 0x98 + SizeofIfData = 0x88 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x78 + SizeofRtMetrics = 0x50 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Pad_cgo_0 [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Pad_cgo_0 [1]byte + Link_state int32 + Mtu uint64 + Metric uint64 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Lastchange Timespec +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Metric int32 + Index uint16 + Pad_cgo_0 [6]byte +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Name [16]int8 + What uint16 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Pad_cgo_0 [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits int32 + Pad_cgo_1 [4]byte + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint64 + Mtu uint64 + Hopcount uint64 + Recvpipe uint64 + Sendpipe uint64 + Ssthresh uint64 + Rtt uint64 + Rttvar uint64 + Expire int64 + Pksent int64 +} + +type Mclpool [0]byte + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x80 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x20 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint64 + Drop uint64 + Capt uint64 + Padding [13]uint64 +} + +type BpfProgram struct { + Len uint32 + Pad_cgo_0 [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [6]byte +} + +type BpfTimeval struct { + Sec int64 + Usec int64 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type Ptmget struct { + Cfd int32 + Sfd int32 + Cn [1024]byte + Sn [1024]byte +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_NOFOLLOW = 0x200 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sysctlnode struct { + Flags uint32 + Num int32 + Name [32]int8 + Ver uint32 + X__rsvd uint32 + Un [16]byte + X_sysctl_size [8]byte + X_sysctl_func [8]byte + X_sysctl_parent [8]byte + X_sysctl_desc [8]byte +} + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofClockinfo = 0x14 + +type Clockinfo struct { + Hz int32 + Tick int32 + Tickadj int32 + Stathz int32 + Profhz int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go new file mode 100644 index 000000000..8b37d8399 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go @@ -0,0 +1,560 @@ +// cgo -godefs types_openbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build 386,openbsd + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int32 +} + +type Timeval struct { + Sec int64 + Usec int32 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Mode uint32 + Dev int32 + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize uint32 + Flags uint32 + Gen uint32 + X__st_birthtim Timespec +} + +type Statfs_t struct { + F_flags uint32 + F_bsize uint32 + F_iosize uint32 + F_blocks uint64 + F_bfree uint64 + F_bavail int64 + F_files uint64 + F_ffree uint64 + F_favail int64 + F_syncwrites uint64 + F_syncreads uint64 + F_asyncwrites uint64 + F_asyncreads uint64 + F_fsid Fsid + F_namemax uint32 + F_owner uint32 + F_ctime uint64 + F_fstypename [16]int8 + F_mntonname [90]int8 + F_mntfromname [90]int8 + F_mntfromspec [90]int8 + Pad_cgo_0 [2]byte + Mount_info [160]byte +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Namlen uint8 + X__d_padding [4]uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [24]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x20 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [32]uint32 +} + +const ( + SizeofIfMsghdr = 0xec + SizeofIfData = 0xd4 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x1a + SizeofRtMsghdr = 0x60 + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Xflags int32 + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Mtu uint32 + Metric uint32 + Pad uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Capabilities uint32 + Lastchange Timeval + Mclpool [7]Mclpool +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Metric int32 +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + What uint16 + Name [16]int8 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Priority uint8 + Mpls uint8 + Addrs int32 + Flags int32 + Fmask int32 + Pid int32 + Seq int32 + Errno int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Pksent uint64 + Expire int64 + Locks uint32 + Mtu uint32 + Refcnt uint32 + Hopcount uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pad uint32 +} + +type Mclpool struct { + Grown int32 + Alive uint16 + Hwm uint16 + Cwm uint16 + Lwm uint16 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + Pad_cgo_0 [2]byte +} + +type BpfTimeval struct { + Sec uint32 + Usec uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_NOFOLLOW = 0x2 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sigset_t uint32 + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofUvmexp = 0x158 + +type Uvmexp struct { + Pagesize int32 + Pagemask int32 + Pageshift int32 + Npages int32 + Free int32 + Active int32 + Inactive int32 + Paging int32 + Wired int32 + Zeropages int32 + Reserve_pagedaemon int32 + Reserve_kernel int32 + Anonpages int32 + Vnodepages int32 + Vtextpages int32 + Freemin int32 + Freetarg int32 + Inactarg int32 + Wiredmax int32 + Anonmin int32 + Vtextmin int32 + Vnodemin int32 + Anonminpct int32 + Vtextminpct int32 + Vnodeminpct int32 + Nswapdev int32 + Swpages int32 + Swpginuse int32 + Swpgonly int32 + Nswget int32 + Nanon int32 + Nanonneeded int32 + Nfreeanon int32 + Faults int32 + Traps int32 + Intrs int32 + Swtch int32 + Softs int32 + Syscalls int32 + Pageins int32 + Obsolete_swapins int32 + Obsolete_swapouts int32 + Pgswapin int32 + Pgswapout int32 + Forks int32 + Forks_ppwait int32 + Forks_sharevm int32 + Pga_zerohit int32 + Pga_zeromiss int32 + Zeroaborts int32 + Fltnoram int32 + Fltnoanon int32 + Fltnoamap int32 + Fltpgwait int32 + Fltpgrele int32 + Fltrelck int32 + Fltrelckok int32 + Fltanget int32 + Fltanretry int32 + Fltamcopy int32 + Fltnamap int32 + Fltnomap int32 + Fltlget int32 + Fltget int32 + Flt_anon int32 + Flt_acow int32 + Flt_obj int32 + Flt_prcopy int32 + Flt_przero int32 + Pdwoke int32 + Pdrevs int32 + Pdswout int32 + Pdfreed int32 + Pdscans int32 + Pdanscan int32 + Pdobscan int32 + Pdreact int32 + Pdbusy int32 + Pdpageouts int32 + Pdpending int32 + Pddeact int32 + Pdreanon int32 + Pdrevnode int32 + Pdrevtext int32 + Fpswtch int32 + Kmapent int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go new file mode 100644 index 000000000..6efea4635 --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go @@ -0,0 +1,560 @@ +// cgo -godefs types_openbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,openbsd + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Mode uint32 + Dev int32 + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + _ [4]byte + _ Timespec +} + +type Statfs_t struct { + F_flags uint32 + F_bsize uint32 + F_iosize uint32 + _ [4]byte + F_blocks uint64 + F_bfree uint64 + F_bavail int64 + F_files uint64 + F_ffree uint64 + F_favail int64 + F_syncwrites uint64 + F_syncreads uint64 + F_asyncwrites uint64 + F_asyncreads uint64 + F_fsid Fsid + F_namemax uint32 + F_owner uint32 + F_ctime uint64 + F_fstypename [16]int8 + F_mntonname [90]int8 + F_mntfromname [90]int8 + F_mntfromspec [90]int8 + _ [2]byte + Mount_info [160]byte +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Namlen uint8 + _ [4]uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [24]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + _ [4]byte + Iov *Iovec + Iovlen uint32 + _ [4]byte + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x20 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint64 + Filter int16 + Flags uint16 + Fflags uint32 + Data int64 + Udata *byte +} + +type FdSet struct { + Bits [32]uint32 +} + +const ( + SizeofIfMsghdr = 0xa8 + SizeofIfData = 0x90 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x1a + SizeofRtMsghdr = 0x60 + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Xflags int32 + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Mtu uint32 + Metric uint32 + Rdomain uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Capabilities uint32 + _ [4]byte + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Metric int32 +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + What uint16 + Name [16]int8 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Priority uint8 + Mpls uint8 + Addrs int32 + Flags int32 + Fmask int32 + Pid int32 + Seq int32 + Errno int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Pksent uint64 + Expire int64 + Locks uint32 + Mtu uint32 + Refcnt uint32 + Hopcount uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pad uint32 +} + +type Mclpool struct{} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + _ [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type BpfTimeval struct { + Sec uint32 + Usec uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_NOFOLLOW = 0x2 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sigset_t uint32 + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofUvmexp = 0x158 + +type Uvmexp struct { + Pagesize int32 + Pagemask int32 + Pageshift int32 + Npages int32 + Free int32 + Active int32 + Inactive int32 + Paging int32 + Wired int32 + Zeropages int32 + Reserve_pagedaemon int32 + Reserve_kernel int32 + Anonpages int32 + Vnodepages int32 + Vtextpages int32 + Freemin int32 + Freetarg int32 + Inactarg int32 + Wiredmax int32 + Anonmin int32 + Vtextmin int32 + Vnodemin int32 + Anonminpct int32 + Vtextminpct int32 + Vnodeminpct int32 + Nswapdev int32 + Swpages int32 + Swpginuse int32 + Swpgonly int32 + Nswget int32 + Nanon int32 + Nanonneeded int32 + Nfreeanon int32 + Faults int32 + Traps int32 + Intrs int32 + Swtch int32 + Softs int32 + Syscalls int32 + Pageins int32 + Obsolete_swapins int32 + Obsolete_swapouts int32 + Pgswapin int32 + Pgswapout int32 + Forks int32 + Forks_ppwait int32 + Forks_sharevm int32 + Pga_zerohit int32 + Pga_zeromiss int32 + Zeroaborts int32 + Fltnoram int32 + Fltnoanon int32 + Fltnoamap int32 + Fltpgwait int32 + Fltpgrele int32 + Fltrelck int32 + Fltrelckok int32 + Fltanget int32 + Fltanretry int32 + Fltamcopy int32 + Fltnamap int32 + Fltnomap int32 + Fltlget int32 + Fltget int32 + Flt_anon int32 + Flt_acow int32 + Flt_obj int32 + Flt_prcopy int32 + Flt_przero int32 + Pdwoke int32 + Pdrevs int32 + Pdswout int32 + Pdfreed int32 + Pdscans int32 + Pdanscan int32 + Pdobscan int32 + Pdreact int32 + Pdbusy int32 + Pdpageouts int32 + Pdpending int32 + Pddeact int32 + Pdreanon int32 + Pdrevnode int32 + Pdrevtext int32 + Fpswtch int32 + Kmapent int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go new file mode 100644 index 000000000..510efc3ea --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go @@ -0,0 +1,561 @@ +// cgo -godefs -- -fsigned-char types_openbsd.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build arm,openbsd + +package unix + +const ( + SizeofPtr = 0x4 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x4 + SizeofLongLong = 0x8 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int32 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int32 + _ [4]byte +} + +type Timeval struct { + Sec int64 + Usec int32 + _ [4]byte +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int32 + Ixrss int32 + Idrss int32 + Isrss int32 + Minflt int32 + Majflt int32 + Nswap int32 + Inblock int32 + Oublock int32 + Msgsnd int32 + Msgrcv int32 + Nsignals int32 + Nvcsw int32 + Nivcsw int32 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Mode uint32 + Dev int32 + Ino uint64 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev int32 + Atim Timespec + Mtim Timespec + Ctim Timespec + Size int64 + Blocks int64 + Blksize int32 + Flags uint32 + Gen uint32 + _ [4]byte + _ Timespec +} + +type Statfs_t struct { + F_flags uint32 + F_bsize uint32 + F_iosize uint32 + _ [4]byte + F_blocks uint64 + F_bfree uint64 + F_bavail int64 + F_files uint64 + F_ffree uint64 + F_favail int64 + F_syncwrites uint64 + F_syncreads uint64 + F_asyncwrites uint64 + F_asyncreads uint64 + F_fsid Fsid + F_namemax uint32 + F_owner uint32 + F_ctime uint64 + F_fstypename [16]int8 + F_mntonname [90]int8 + F_mntfromname [90]int8 + F_mntfromspec [90]int8 + _ [2]byte + Mount_info [160]byte +} + +type Flock_t struct { + Start int64 + Len int64 + Pid int32 + Type int16 + Whence int16 +} + +type Dirent struct { + Fileno uint64 + Off int64 + Reclen uint16 + Type uint8 + Namlen uint8 + _ [4]uint8 + Name [256]int8 +} + +type Fsid struct { + Val [2]int32 +} + +const ( + PathMax = 0x400 +) + +type RawSockaddrInet4 struct { + Len uint8 + Family uint8 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Len uint8 + Family uint8 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddrUnix struct { + Len uint8 + Family uint8 + Path [104]int8 +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [24]int8 +} + +type RawSockaddr struct { + Len uint8 + Family uint8 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [92]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *byte + Len uint32 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + Iov *Iovec + Iovlen uint32 + Control *byte + Controllen uint32 + Flags int32 +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + Filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x20 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x20 + SizeofICMPv6Filter = 0x20 +) + +const ( + PTRACE_TRACEME = 0x0 + PTRACE_CONT = 0x7 + PTRACE_KILL = 0x8 +) + +type Kevent_t struct { + Ident uint32 + Filter int16 + Flags uint16 + Fflags uint32 + _ [4]byte + Data int64 + Udata *byte + _ [4]byte +} + +type FdSet struct { + Bits [32]uint32 +} + +const ( + SizeofIfMsghdr = 0xa8 + SizeofIfData = 0x90 + SizeofIfaMsghdr = 0x18 + SizeofIfAnnounceMsghdr = 0x1a + SizeofRtMsghdr = 0x60 + SizeofRtMetrics = 0x38 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Xflags int32 + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + Link_state uint8 + Mtu uint32 + Metric uint32 + Rdomain uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Oqdrops uint64 + Noproto uint64 + Capabilities uint32 + _ [4]byte + Lastchange Timeval +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Pad1 uint8 + Pad2 uint8 + Addrs int32 + Flags int32 + Metric int32 +} + +type IfAnnounceMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + What uint16 + Name [16]int8 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Hdrlen uint16 + Index uint16 + Tableid uint16 + Priority uint8 + Mpls uint8 + Addrs int32 + Flags int32 + Fmask int32 + Pid int32 + Seq int32 + Errno int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Pksent uint64 + Expire int64 + Locks uint32 + Mtu uint32 + Refcnt uint32 + Hopcount uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pad uint32 +} + +type Mclpool struct{} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x8 + SizeofBpfProgram = 0x8 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint32 + Drop uint32 +} + +type BpfProgram struct { + Len uint32 + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type BpfTimeval struct { + Sec uint32 + Usec uint32 +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [20]uint8 + Ispeed int32 + Ospeed int32 +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +const ( + AT_FDCWD = -0x64 + AT_SYMLINK_NOFOLLOW = 0x2 +) + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) + +type Sigset_t uint32 + +type Utsname struct { + Sysname [256]byte + Nodename [256]byte + Release [256]byte + Version [256]byte + Machine [256]byte +} + +const SizeofUvmexp = 0x158 + +type Uvmexp struct { + Pagesize int32 + Pagemask int32 + Pageshift int32 + Npages int32 + Free int32 + Active int32 + Inactive int32 + Paging int32 + Wired int32 + Zeropages int32 + Reserve_pagedaemon int32 + Reserve_kernel int32 + Unused01 int32 + Vnodepages int32 + Vtextpages int32 + Freemin int32 + Freetarg int32 + Inactarg int32 + Wiredmax int32 + Anonmin int32 + Vtextmin int32 + Vnodemin int32 + Anonminpct int32 + Vtextminpct int32 + Vnodeminpct int32 + Nswapdev int32 + Swpages int32 + Swpginuse int32 + Swpgonly int32 + Nswget int32 + Nanon int32 + Unused05 int32 + Unused06 int32 + Faults int32 + Traps int32 + Intrs int32 + Swtch int32 + Softs int32 + Syscalls int32 + Pageins int32 + Unused07 int32 + Unused08 int32 + Pgswapin int32 + Pgswapout int32 + Forks int32 + Forks_ppwait int32 + Forks_sharevm int32 + Pga_zerohit int32 + Pga_zeromiss int32 + Unused09 int32 + Fltnoram int32 + Fltnoanon int32 + Fltnoamap int32 + Fltpgwait int32 + Fltpgrele int32 + Fltrelck int32 + Fltrelckok int32 + Fltanget int32 + Fltanretry int32 + Fltamcopy int32 + Fltnamap int32 + Fltnomap int32 + Fltlget int32 + Fltget int32 + Flt_anon int32 + Flt_acow int32 + Flt_obj int32 + Flt_prcopy int32 + Flt_przero int32 + Pdwoke int32 + Pdrevs int32 + Pdswout int32 + Pdfreed int32 + Pdscans int32 + Pdanscan int32 + Pdobscan int32 + Pdreact int32 + Pdbusy int32 + Pdpageouts int32 + Pdpending int32 + Pddeact int32 + Unused11 int32 + Unused12 int32 + Unused13 int32 + Fpswtch int32 + Kmapent int32 +} diff --git a/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go new file mode 100644 index 000000000..8531a190f --- /dev/null +++ b/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go @@ -0,0 +1,442 @@ +// cgo -godefs types_solaris.go | go run mkpost.go +// Code generated by the command above; see README.md. DO NOT EDIT. + +// +build amd64,solaris + +package unix + +const ( + SizeofPtr = 0x8 + SizeofShort = 0x2 + SizeofInt = 0x4 + SizeofLong = 0x8 + SizeofLongLong = 0x8 + PathMax = 0x400 + MaxHostNameLen = 0x100 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Timeval32 struct { + Sec int32 + Usec int32 +} + +type Tms struct { + Utime int64 + Stime int64 + Cutime int64 + Cstime int64 +} + +type Utimbuf struct { + Actime int64 + Modtime int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur uint64 + Max uint64 +} + +type _Gid_t uint32 + +type Stat_t struct { + Dev uint64 + Ino uint64 + Mode uint32 + Nlink uint32 + Uid uint32 + Gid uint32 + Rdev uint64 + Size int64 + Atim Timespec + Mtim Timespec + Ctim Timespec + Blksize int32 + _ [4]byte + Blocks int64 + Fstype [16]int8 +} + +type Flock_t struct { + Type int16 + Whence int16 + _ [4]byte + Start int64 + Len int64 + Sysid int32 + Pid int32 + Pad [4]int64 +} + +type Dirent struct { + Ino uint64 + Off int64 + Reclen uint16 + Name [1]int8 + _ [5]byte +} + +type _Fsblkcnt_t uint64 + +type Statvfs_t struct { + Bsize uint64 + Frsize uint64 + Blocks uint64 + Bfree uint64 + Bavail uint64 + Files uint64 + Ffree uint64 + Favail uint64 + Fsid uint64 + Basetype [16]int8 + Flag uint64 + Namemax uint64 + Fstr [32]int8 +} + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]int8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 + X__sin6_src_id uint32 +} + +type RawSockaddrUnix struct { + Family uint16 + Path [108]int8 +} + +type RawSockaddrDatalink struct { + Family uint16 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [244]int8 +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [236]int8 +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32 + Linger int32 +} + +type Iovec struct { + Base *int8 + Len uint64 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +type Msghdr struct { + Name *byte + Namelen uint32 + _ [4]byte + Iov *Iovec + Iovlen int32 + _ [4]byte + Accrights *int8 + Accrightslen int32 + _ [4]byte +} + +type Cmsghdr struct { + Len uint32 + Level int32 + Type int32 +} + +type Inet6Pktinfo struct { + Addr [16]byte /* in6_addr */ + Ifindex uint32 +} + +type IPv6MTUInfo struct { + Addr RawSockaddrInet6 + Mtu uint32 +} + +type ICMPv6Filter struct { + X__icmp6_filt [8]uint32 +} + +const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x20 + SizeofSockaddrAny = 0xfc + SizeofSockaddrUnix = 0x6e + SizeofSockaddrDatalink = 0xfc + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 + SizeofCmsghdr = 0xc + SizeofInet6Pktinfo = 0x14 + SizeofIPv6MTUInfo = 0x24 + SizeofICMPv6Filter = 0x20 +) + +type FdSet struct { + Bits [1024]int64 +} + +type Utsname struct { + Sysname [257]byte + Nodename [257]byte + Release [257]byte + Version [257]byte + Machine [257]byte +} + +type Ustat_t struct { + Tfree int64 + Tinode uint64 + Fname [6]int8 + Fpack [6]int8 + _ [4]byte +} + +const ( + AT_FDCWD = 0xffd19553 + AT_SYMLINK_NOFOLLOW = 0x1000 + AT_SYMLINK_FOLLOW = 0x2000 + AT_REMOVEDIR = 0x1 + AT_EACCESS = 0x4 +) + +const ( + SizeofIfMsghdr = 0x54 + SizeofIfData = 0x44 + SizeofIfaMsghdr = 0x14 + SizeofRtMsghdr = 0x4c + SizeofRtMetrics = 0x28 +) + +type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Data IfData +} + +type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 + _ [1]byte + Mtu uint32 + Metric uint32 + Baudrate uint32 + Ipackets uint32 + Ierrors uint32 + Opackets uint32 + Oerrors uint32 + Collisions uint32 + Ibytes uint32 + Obytes uint32 + Imcasts uint32 + Omcasts uint32 + Iqdrops uint32 + Noproto uint32 + Lastchange Timeval32 +} + +type IfaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + _ [2]byte + Metric int32 +} + +type RtMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + _ [2]byte + Flags int32 + Addrs int32 + Pid int32 + Seq int32 + Errno int32 + Use int32 + Inits uint32 + Rmx RtMetrics +} + +type RtMetrics struct { + Locks uint32 + Mtu uint32 + Hopcount uint32 + Expire uint32 + Recvpipe uint32 + Sendpipe uint32 + Ssthresh uint32 + Rtt uint32 + Rttvar uint32 + Pksent uint32 +} + +const ( + SizeofBpfVersion = 0x4 + SizeofBpfStat = 0x80 + SizeofBpfProgram = 0x10 + SizeofBpfInsn = 0x8 + SizeofBpfHdr = 0x14 +) + +type BpfVersion struct { + Major uint16 + Minor uint16 +} + +type BpfStat struct { + Recv uint64 + Drop uint64 + Capt uint64 + Padding [13]uint64 +} + +type BpfProgram struct { + Len uint32 + _ [4]byte + Insns *BpfInsn +} + +type BpfInsn struct { + Code uint16 + Jt uint8 + Jf uint8 + K uint32 +} + +type BpfTimeval struct { + Sec int32 + Usec int32 +} + +type BpfHdr struct { + Tstamp BpfTimeval + Caplen uint32 + Datalen uint32 + Hdrlen uint16 + _ [2]byte +} + +type Termios struct { + Iflag uint32 + Oflag uint32 + Cflag uint32 + Lflag uint32 + Cc [19]uint8 + _ [1]byte +} + +type Termio struct { + Iflag uint16 + Oflag uint16 + Cflag uint16 + Lflag uint16 + Line int8 + Cc [8]uint8 + _ [1]byte +} + +type Winsize struct { + Row uint16 + Col uint16 + Xpixel uint16 + Ypixel uint16 +} + +type PollFd struct { + Fd int32 + Events int16 + Revents int16 +} + +const ( + POLLERR = 0x8 + POLLHUP = 0x10 + POLLIN = 0x1 + POLLNVAL = 0x20 + POLLOUT = 0x4 + POLLPRI = 0x2 + POLLRDBAND = 0x80 + POLLRDNORM = 0x40 + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 +) diff --git a/vendor/golang.org/x/sys/windows/aliases.go b/vendor/golang.org/x/sys/windows/aliases.go new file mode 100644 index 000000000..af3af60db --- /dev/null +++ b/vendor/golang.org/x/sys/windows/aliases.go @@ -0,0 +1,13 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build windows +// +build go1.9 + +package windows + +import "syscall" + +type Errno = syscall.Errno +type SysProcAttr = syscall.SysProcAttr diff --git a/vendor/golang.org/x/sys/windows/asm_windows_386.s b/vendor/golang.org/x/sys/windows/asm_windows_386.s new file mode 100644 index 000000000..21d994d31 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/asm_windows_386.s @@ -0,0 +1,13 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +// System calls for 386, Windows are implemented in runtime/syscall_windows.goc +// + +TEXT ·getprocaddress(SB), 7, $0-16 + JMP syscall·getprocaddress(SB) + +TEXT ·loadlibrary(SB), 7, $0-12 + JMP syscall·loadlibrary(SB) diff --git a/vendor/golang.org/x/sys/windows/asm_windows_amd64.s b/vendor/golang.org/x/sys/windows/asm_windows_amd64.s new file mode 100644 index 000000000..5bfdf7974 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/asm_windows_amd64.s @@ -0,0 +1,13 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +// System calls for amd64, Windows are implemented in runtime/syscall_windows.goc +// + +TEXT ·getprocaddress(SB), 7, $0-32 + JMP syscall·getprocaddress(SB) + +TEXT ·loadlibrary(SB), 7, $0-24 + JMP syscall·loadlibrary(SB) diff --git a/vendor/golang.org/x/sys/windows/asm_windows_arm.s b/vendor/golang.org/x/sys/windows/asm_windows_arm.s new file mode 100644 index 000000000..55d8b91a2 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/asm_windows_arm.s @@ -0,0 +1,11 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +#include "textflag.h" + +TEXT ·getprocaddress(SB),NOSPLIT,$0 + B syscall·getprocaddress(SB) + +TEXT ·loadlibrary(SB),NOSPLIT,$0 + B syscall·loadlibrary(SB) diff --git a/vendor/golang.org/x/sys/windows/dll_windows.go b/vendor/golang.org/x/sys/windows/dll_windows.go new file mode 100644 index 000000000..e92c05b21 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/dll_windows.go @@ -0,0 +1,378 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package windows + +import ( + "sync" + "sync/atomic" + "syscall" + "unsafe" +) + +// DLLError describes reasons for DLL load failures. +type DLLError struct { + Err error + ObjName string + Msg string +} + +func (e *DLLError) Error() string { return e.Msg } + +// Implemented in runtime/syscall_windows.goc; we provide jumps to them in our assembly file. +func loadlibrary(filename *uint16) (handle uintptr, err syscall.Errno) +func getprocaddress(handle uintptr, procname *uint8) (proc uintptr, err syscall.Errno) + +// A DLL implements access to a single DLL. +type DLL struct { + Name string + Handle Handle +} + +// LoadDLL loads DLL file into memory. +// +// Warning: using LoadDLL without an absolute path name is subject to +// DLL preloading attacks. To safely load a system DLL, use LazyDLL +// with System set to true, or use LoadLibraryEx directly. +func LoadDLL(name string) (dll *DLL, err error) { + namep, err := UTF16PtrFromString(name) + if err != nil { + return nil, err + } + h, e := loadlibrary(namep) + if e != 0 { + return nil, &DLLError{ + Err: e, + ObjName: name, + Msg: "Failed to load " + name + ": " + e.Error(), + } + } + d := &DLL{ + Name: name, + Handle: Handle(h), + } + return d, nil +} + +// MustLoadDLL is like LoadDLL but panics if load operation failes. +func MustLoadDLL(name string) *DLL { + d, e := LoadDLL(name) + if e != nil { + panic(e) + } + return d +} + +// FindProc searches DLL d for procedure named name and returns *Proc +// if found. It returns an error if search fails. +func (d *DLL) FindProc(name string) (proc *Proc, err error) { + namep, err := BytePtrFromString(name) + if err != nil { + return nil, err + } + a, e := getprocaddress(uintptr(d.Handle), namep) + if e != 0 { + return nil, &DLLError{ + Err: e, + ObjName: name, + Msg: "Failed to find " + name + " procedure in " + d.Name + ": " + e.Error(), + } + } + p := &Proc{ + Dll: d, + Name: name, + addr: a, + } + return p, nil +} + +// MustFindProc is like FindProc but panics if search fails. +func (d *DLL) MustFindProc(name string) *Proc { + p, e := d.FindProc(name) + if e != nil { + panic(e) + } + return p +} + +// Release unloads DLL d from memory. +func (d *DLL) Release() (err error) { + return FreeLibrary(d.Handle) +} + +// A Proc implements access to a procedure inside a DLL. +type Proc struct { + Dll *DLL + Name string + addr uintptr +} + +// Addr returns the address of the procedure represented by p. +// The return value can be passed to Syscall to run the procedure. +func (p *Proc) Addr() uintptr { + return p.addr +} + +//go:uintptrescapes + +// Call executes procedure p with arguments a. It will panic, if more than 15 arguments +// are supplied. +// +// The returned error is always non-nil, constructed from the result of GetLastError. +// Callers must inspect the primary return value to decide whether an error occurred +// (according to the semantics of the specific function being called) before consulting +// the error. The error will be guaranteed to contain windows.Errno. +func (p *Proc) Call(a ...uintptr) (r1, r2 uintptr, lastErr error) { + switch len(a) { + case 0: + return syscall.Syscall(p.Addr(), uintptr(len(a)), 0, 0, 0) + case 1: + return syscall.Syscall(p.Addr(), uintptr(len(a)), a[0], 0, 0) + case 2: + return syscall.Syscall(p.Addr(), uintptr(len(a)), a[0], a[1], 0) + case 3: + return syscall.Syscall(p.Addr(), uintptr(len(a)), a[0], a[1], a[2]) + case 4: + return syscall.Syscall6(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], 0, 0) + case 5: + return syscall.Syscall6(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], 0) + case 6: + return syscall.Syscall6(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5]) + case 7: + return syscall.Syscall9(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], 0, 0) + case 8: + return syscall.Syscall9(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], 0) + case 9: + return syscall.Syscall9(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]) + case 10: + return syscall.Syscall12(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], 0, 0) + case 11: + return syscall.Syscall12(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], 0) + case 12: + return syscall.Syscall12(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]) + case 13: + return syscall.Syscall15(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], 0, 0) + case 14: + return syscall.Syscall15(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], 0) + case 15: + return syscall.Syscall15(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14]) + default: + panic("Call " + p.Name + " with too many arguments " + itoa(len(a)) + ".") + } +} + +// A LazyDLL implements access to a single DLL. +// It will delay the load of the DLL until the first +// call to its Handle method or to one of its +// LazyProc's Addr method. +type LazyDLL struct { + Name string + + // System determines whether the DLL must be loaded from the + // Windows System directory, bypassing the normal DLL search + // path. + System bool + + mu sync.Mutex + dll *DLL // non nil once DLL is loaded +} + +// Load loads DLL file d.Name into memory. It returns an error if fails. +// Load will not try to load DLL, if it is already loaded into memory. +func (d *LazyDLL) Load() error { + // Non-racy version of: + // if d.dll != nil { + if atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(&d.dll))) != nil { + return nil + } + d.mu.Lock() + defer d.mu.Unlock() + if d.dll != nil { + return nil + } + + // kernel32.dll is special, since it's where LoadLibraryEx comes from. + // The kernel already special-cases its name, so it's always + // loaded from system32. + var dll *DLL + var err error + if d.Name == "kernel32.dll" { + dll, err = LoadDLL(d.Name) + } else { + dll, err = loadLibraryEx(d.Name, d.System) + } + if err != nil { + return err + } + + // Non-racy version of: + // d.dll = dll + atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(&d.dll)), unsafe.Pointer(dll)) + return nil +} + +// mustLoad is like Load but panics if search fails. +func (d *LazyDLL) mustLoad() { + e := d.Load() + if e != nil { + panic(e) + } +} + +// Handle returns d's module handle. +func (d *LazyDLL) Handle() uintptr { + d.mustLoad() + return uintptr(d.dll.Handle) +} + +// NewProc returns a LazyProc for accessing the named procedure in the DLL d. +func (d *LazyDLL) NewProc(name string) *LazyProc { + return &LazyProc{l: d, Name: name} +} + +// NewLazyDLL creates new LazyDLL associated with DLL file. +func NewLazyDLL(name string) *LazyDLL { + return &LazyDLL{Name: name} +} + +// NewLazySystemDLL is like NewLazyDLL, but will only +// search Windows System directory for the DLL if name is +// a base name (like "advapi32.dll"). +func NewLazySystemDLL(name string) *LazyDLL { + return &LazyDLL{Name: name, System: true} +} + +// A LazyProc implements access to a procedure inside a LazyDLL. +// It delays the lookup until the Addr method is called. +type LazyProc struct { + Name string + + mu sync.Mutex + l *LazyDLL + proc *Proc +} + +// Find searches DLL for procedure named p.Name. It returns +// an error if search fails. Find will not search procedure, +// if it is already found and loaded into memory. +func (p *LazyProc) Find() error { + // Non-racy version of: + // if p.proc == nil { + if atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(&p.proc))) == nil { + p.mu.Lock() + defer p.mu.Unlock() + if p.proc == nil { + e := p.l.Load() + if e != nil { + return e + } + proc, e := p.l.dll.FindProc(p.Name) + if e != nil { + return e + } + // Non-racy version of: + // p.proc = proc + atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(&p.proc)), unsafe.Pointer(proc)) + } + } + return nil +} + +// mustFind is like Find but panics if search fails. +func (p *LazyProc) mustFind() { + e := p.Find() + if e != nil { + panic(e) + } +} + +// Addr returns the address of the procedure represented by p. +// The return value can be passed to Syscall to run the procedure. +// It will panic if the procedure cannot be found. +func (p *LazyProc) Addr() uintptr { + p.mustFind() + return p.proc.Addr() +} + +//go:uintptrescapes + +// Call executes procedure p with arguments a. It will panic, if more than 15 arguments +// are supplied. It will also panic if the procedure cannot be found. +// +// The returned error is always non-nil, constructed from the result of GetLastError. +// Callers must inspect the primary return value to decide whether an error occurred +// (according to the semantics of the specific function being called) before consulting +// the error. The error will be guaranteed to contain windows.Errno. +func (p *LazyProc) Call(a ...uintptr) (r1, r2 uintptr, lastErr error) { + p.mustFind() + return p.proc.Call(a...) +} + +var canDoSearchSystem32Once struct { + sync.Once + v bool +} + +func initCanDoSearchSystem32() { + // https://msdn.microsoft.com/en-us/library/ms684179(v=vs.85).aspx says: + // "Windows 7, Windows Server 2008 R2, Windows Vista, and Windows + // Server 2008: The LOAD_LIBRARY_SEARCH_* flags are available on + // systems that have KB2533623 installed. To determine whether the + // flags are available, use GetProcAddress to get the address of the + // AddDllDirectory, RemoveDllDirectory, or SetDefaultDllDirectories + // function. If GetProcAddress succeeds, the LOAD_LIBRARY_SEARCH_* + // flags can be used with LoadLibraryEx." + canDoSearchSystem32Once.v = (modkernel32.NewProc("AddDllDirectory").Find() == nil) +} + +func canDoSearchSystem32() bool { + canDoSearchSystem32Once.Do(initCanDoSearchSystem32) + return canDoSearchSystem32Once.v +} + +func isBaseName(name string) bool { + for _, c := range name { + if c == ':' || c == '/' || c == '\\' { + return false + } + } + return true +} + +// loadLibraryEx wraps the Windows LoadLibraryEx function. +// +// See https://msdn.microsoft.com/en-us/library/windows/desktop/ms684179(v=vs.85).aspx +// +// If name is not an absolute path, LoadLibraryEx searches for the DLL +// in a variety of automatic locations unless constrained by flags. +// See: https://msdn.microsoft.com/en-us/library/ff919712%28VS.85%29.aspx +func loadLibraryEx(name string, system bool) (*DLL, error) { + loadDLL := name + var flags uintptr + if system { + if canDoSearchSystem32() { + const LOAD_LIBRARY_SEARCH_SYSTEM32 = 0x00000800 + flags = LOAD_LIBRARY_SEARCH_SYSTEM32 + } else if isBaseName(name) { + // WindowsXP or unpatched Windows machine + // trying to load "foo.dll" out of the system + // folder, but LoadLibraryEx doesn't support + // that yet on their system, so emulate it. + windir, _ := Getenv("WINDIR") // old var; apparently works on XP + if windir == "" { + return nil, errString("%WINDIR% not defined") + } + loadDLL = windir + "\\System32\\" + name + } + } + h, err := LoadLibraryEx(loadDLL, 0, flags) + if err != nil { + return nil, err + } + return &DLL{Name: name, Handle: h}, nil +} + +type errString string + +func (s errString) Error() string { return string(s) } diff --git a/vendor/golang.org/x/sys/windows/env_windows.go b/vendor/golang.org/x/sys/windows/env_windows.go new file mode 100644 index 000000000..bdc71e241 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/env_windows.go @@ -0,0 +1,29 @@ +// Copyright 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Windows environment variables. + +package windows + +import "syscall" + +func Getenv(key string) (value string, found bool) { + return syscall.Getenv(key) +} + +func Setenv(key, value string) error { + return syscall.Setenv(key, value) +} + +func Clearenv() { + syscall.Clearenv() +} + +func Environ() []string { + return syscall.Environ() +} + +func Unsetenv(key string) error { + return syscall.Unsetenv(key) +} diff --git a/vendor/golang.org/x/sys/windows/eventlog.go b/vendor/golang.org/x/sys/windows/eventlog.go new file mode 100644 index 000000000..40af946e1 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/eventlog.go @@ -0,0 +1,20 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build windows + +package windows + +const ( + EVENTLOG_SUCCESS = 0 + EVENTLOG_ERROR_TYPE = 1 + EVENTLOG_WARNING_TYPE = 2 + EVENTLOG_INFORMATION_TYPE = 4 + EVENTLOG_AUDIT_SUCCESS = 8 + EVENTLOG_AUDIT_FAILURE = 16 +) + +//sys RegisterEventSource(uncServerName *uint16, sourceName *uint16) (handle Handle, err error) [failretval==0] = advapi32.RegisterEventSourceW +//sys DeregisterEventSource(handle Handle) (err error) = advapi32.DeregisterEventSource +//sys ReportEvent(log Handle, etype uint16, category uint16, eventId uint32, usrSId uintptr, numStrings uint16, dataSize uint32, strings **uint16, rawData *byte) (err error) = advapi32.ReportEventW diff --git a/vendor/golang.org/x/sys/windows/exec_windows.go b/vendor/golang.org/x/sys/windows/exec_windows.go new file mode 100644 index 000000000..3606c3a8b --- /dev/null +++ b/vendor/golang.org/x/sys/windows/exec_windows.go @@ -0,0 +1,97 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Fork, exec, wait, etc. + +package windows + +// EscapeArg rewrites command line argument s as prescribed +// in http://msdn.microsoft.com/en-us/library/ms880421. +// This function returns "" (2 double quotes) if s is empty. +// Alternatively, these transformations are done: +// - every back slash (\) is doubled, but only if immediately +// followed by double quote ("); +// - every double quote (") is escaped by back slash (\); +// - finally, s is wrapped with double quotes (arg -> "arg"), +// but only if there is space or tab inside s. +func EscapeArg(s string) string { + if len(s) == 0 { + return "\"\"" + } + n := len(s) + hasSpace := false + for i := 0; i < len(s); i++ { + switch s[i] { + case '"', '\\': + n++ + case ' ', '\t': + hasSpace = true + } + } + if hasSpace { + n += 2 + } + if n == len(s) { + return s + } + + qs := make([]byte, n) + j := 0 + if hasSpace { + qs[j] = '"' + j++ + } + slashes := 0 + for i := 0; i < len(s); i++ { + switch s[i] { + default: + slashes = 0 + qs[j] = s[i] + case '\\': + slashes++ + qs[j] = s[i] + case '"': + for ; slashes > 0; slashes-- { + qs[j] = '\\' + j++ + } + qs[j] = '\\' + j++ + qs[j] = s[i] + } + j++ + } + if hasSpace { + for ; slashes > 0; slashes-- { + qs[j] = '\\' + j++ + } + qs[j] = '"' + j++ + } + return string(qs[:j]) +} + +func CloseOnExec(fd Handle) { + SetHandleInformation(Handle(fd), HANDLE_FLAG_INHERIT, 0) +} + +// FullPath retrieves the full path of the specified file. +func FullPath(name string) (path string, err error) { + p, err := UTF16PtrFromString(name) + if err != nil { + return "", err + } + n := uint32(100) + for { + buf := make([]uint16, n) + n, err = GetFullPathName(p, uint32(len(buf)), &buf[0], nil) + if err != nil { + return "", err + } + if n <= uint32(len(buf)) { + return UTF16ToString(buf[:n]), nil + } + } +} diff --git a/vendor/golang.org/x/sys/windows/memory_windows.go b/vendor/golang.org/x/sys/windows/memory_windows.go new file mode 100644 index 000000000..f80a4204f --- /dev/null +++ b/vendor/golang.org/x/sys/windows/memory_windows.go @@ -0,0 +1,26 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package windows + +const ( + MEM_COMMIT = 0x00001000 + MEM_RESERVE = 0x00002000 + MEM_DECOMMIT = 0x00004000 + MEM_RELEASE = 0x00008000 + MEM_RESET = 0x00080000 + MEM_TOP_DOWN = 0x00100000 + MEM_WRITE_WATCH = 0x00200000 + MEM_PHYSICAL = 0x00400000 + MEM_RESET_UNDO = 0x01000000 + MEM_LARGE_PAGES = 0x20000000 + + PAGE_NOACCESS = 0x01 + PAGE_READONLY = 0x02 + PAGE_READWRITE = 0x04 + PAGE_WRITECOPY = 0x08 + PAGE_EXECUTE_READ = 0x20 + PAGE_EXECUTE_READWRITE = 0x40 + PAGE_EXECUTE_WRITECOPY = 0x80 +) diff --git a/vendor/golang.org/x/sys/windows/mksyscall.go b/vendor/golang.org/x/sys/windows/mksyscall.go new file mode 100644 index 000000000..fb7db0ef8 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/mksyscall.go @@ -0,0 +1,7 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package windows + +//go:generate go run $GOROOT/src/syscall/mksyscall_windows.go -output zsyscall_windows.go eventlog.go service.go syscall_windows.go security_windows.go diff --git a/vendor/golang.org/x/sys/windows/race.go b/vendor/golang.org/x/sys/windows/race.go new file mode 100644 index 000000000..a74e3e24b --- /dev/null +++ b/vendor/golang.org/x/sys/windows/race.go @@ -0,0 +1,30 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build windows,race + +package windows + +import ( + "runtime" + "unsafe" +) + +const raceenabled = true + +func raceAcquire(addr unsafe.Pointer) { + runtime.RaceAcquire(addr) +} + +func raceReleaseMerge(addr unsafe.Pointer) { + runtime.RaceReleaseMerge(addr) +} + +func raceReadRange(addr unsafe.Pointer, len int) { + runtime.RaceReadRange(addr, len) +} + +func raceWriteRange(addr unsafe.Pointer, len int) { + runtime.RaceWriteRange(addr, len) +} diff --git a/vendor/golang.org/x/sys/windows/race0.go b/vendor/golang.org/x/sys/windows/race0.go new file mode 100644 index 000000000..e44a3cbf6 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/race0.go @@ -0,0 +1,25 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build windows,!race + +package windows + +import ( + "unsafe" +) + +const raceenabled = false + +func raceAcquire(addr unsafe.Pointer) { +} + +func raceReleaseMerge(addr unsafe.Pointer) { +} + +func raceReadRange(addr unsafe.Pointer, len int) { +} + +func raceWriteRange(addr unsafe.Pointer, len int) { +} diff --git a/vendor/golang.org/x/sys/windows/security_windows.go b/vendor/golang.org/x/sys/windows/security_windows.go new file mode 100644 index 000000000..9f946da6f --- /dev/null +++ b/vendor/golang.org/x/sys/windows/security_windows.go @@ -0,0 +1,478 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package windows + +import ( + "syscall" + "unsafe" +) + +const ( + STANDARD_RIGHTS_REQUIRED = 0xf0000 + STANDARD_RIGHTS_READ = 0x20000 + STANDARD_RIGHTS_WRITE = 0x20000 + STANDARD_RIGHTS_EXECUTE = 0x20000 + STANDARD_RIGHTS_ALL = 0x1F0000 +) + +const ( + NameUnknown = 0 + NameFullyQualifiedDN = 1 + NameSamCompatible = 2 + NameDisplay = 3 + NameUniqueId = 6 + NameCanonical = 7 + NameUserPrincipal = 8 + NameCanonicalEx = 9 + NameServicePrincipal = 10 + NameDnsDomain = 12 +) + +// This function returns 1 byte BOOLEAN rather than the 4 byte BOOL. +// http://blogs.msdn.com/b/drnick/archive/2007/12/19/windows-and-upn-format-credentials.aspx +//sys TranslateName(accName *uint16, accNameFormat uint32, desiredNameFormat uint32, translatedName *uint16, nSize *uint32) (err error) [failretval&0xff==0] = secur32.TranslateNameW +//sys GetUserNameEx(nameFormat uint32, nameBuffre *uint16, nSize *uint32) (err error) [failretval&0xff==0] = secur32.GetUserNameExW + +// TranslateAccountName converts a directory service +// object name from one format to another. +func TranslateAccountName(username string, from, to uint32, initSize int) (string, error) { + u, e := UTF16PtrFromString(username) + if e != nil { + return "", e + } + n := uint32(50) + for { + b := make([]uint16, n) + e = TranslateName(u, from, to, &b[0], &n) + if e == nil { + return UTF16ToString(b[:n]), nil + } + if e != ERROR_INSUFFICIENT_BUFFER { + return "", e + } + if n <= uint32(len(b)) { + return "", e + } + } +} + +const ( + // do not reorder + NetSetupUnknownStatus = iota + NetSetupUnjoined + NetSetupWorkgroupName + NetSetupDomainName +) + +type UserInfo10 struct { + Name *uint16 + Comment *uint16 + UsrComment *uint16 + FullName *uint16 +} + +//sys NetUserGetInfo(serverName *uint16, userName *uint16, level uint32, buf **byte) (neterr error) = netapi32.NetUserGetInfo +//sys NetGetJoinInformation(server *uint16, name **uint16, bufType *uint32) (neterr error) = netapi32.NetGetJoinInformation +//sys NetApiBufferFree(buf *byte) (neterr error) = netapi32.NetApiBufferFree + +const ( + // do not reorder + SidTypeUser = 1 + iota + SidTypeGroup + SidTypeDomain + SidTypeAlias + SidTypeWellKnownGroup + SidTypeDeletedAccount + SidTypeInvalid + SidTypeUnknown + SidTypeComputer + SidTypeLabel +) + +type SidIdentifierAuthority struct { + Value [6]byte +} + +var ( + SECURITY_NULL_SID_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 0}} + SECURITY_WORLD_SID_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 1}} + SECURITY_LOCAL_SID_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 2}} + SECURITY_CREATOR_SID_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 3}} + SECURITY_NON_UNIQUE_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 4}} + SECURITY_NT_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 5}} + SECURITY_MANDATORY_LABEL_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 16}} +) + +const ( + SECURITY_NULL_RID = 0 + SECURITY_WORLD_RID = 0 + SECURITY_LOCAL_RID = 0 + SECURITY_CREATOR_OWNER_RID = 0 + SECURITY_CREATOR_GROUP_RID = 1 + SECURITY_DIALUP_RID = 1 + SECURITY_NETWORK_RID = 2 + SECURITY_BATCH_RID = 3 + SECURITY_INTERACTIVE_RID = 4 + SECURITY_LOGON_IDS_RID = 5 + SECURITY_SERVICE_RID = 6 + SECURITY_LOCAL_SYSTEM_RID = 18 + SECURITY_BUILTIN_DOMAIN_RID = 32 + SECURITY_PRINCIPAL_SELF_RID = 10 + SECURITY_CREATOR_OWNER_SERVER_RID = 0x2 + SECURITY_CREATOR_GROUP_SERVER_RID = 0x3 + SECURITY_LOGON_IDS_RID_COUNT = 0x3 + SECURITY_ANONYMOUS_LOGON_RID = 0x7 + SECURITY_PROXY_RID = 0x8 + SECURITY_ENTERPRISE_CONTROLLERS_RID = 0x9 + SECURITY_SERVER_LOGON_RID = SECURITY_ENTERPRISE_CONTROLLERS_RID + SECURITY_AUTHENTICATED_USER_RID = 0xb + SECURITY_RESTRICTED_CODE_RID = 0xc + SECURITY_NT_NON_UNIQUE_RID = 0x15 +) + +// Predefined domain-relative RIDs for local groups. +// See https://msdn.microsoft.com/en-us/library/windows/desktop/aa379649(v=vs.85).aspx +const ( + DOMAIN_ALIAS_RID_ADMINS = 0x220 + DOMAIN_ALIAS_RID_USERS = 0x221 + DOMAIN_ALIAS_RID_GUESTS = 0x222 + DOMAIN_ALIAS_RID_POWER_USERS = 0x223 + DOMAIN_ALIAS_RID_ACCOUNT_OPS = 0x224 + DOMAIN_ALIAS_RID_SYSTEM_OPS = 0x225 + DOMAIN_ALIAS_RID_PRINT_OPS = 0x226 + DOMAIN_ALIAS_RID_BACKUP_OPS = 0x227 + DOMAIN_ALIAS_RID_REPLICATOR = 0x228 + DOMAIN_ALIAS_RID_RAS_SERVERS = 0x229 + DOMAIN_ALIAS_RID_PREW2KCOMPACCESS = 0x22a + DOMAIN_ALIAS_RID_REMOTE_DESKTOP_USERS = 0x22b + DOMAIN_ALIAS_RID_NETWORK_CONFIGURATION_OPS = 0x22c + DOMAIN_ALIAS_RID_INCOMING_FOREST_TRUST_BUILDERS = 0x22d + DOMAIN_ALIAS_RID_MONITORING_USERS = 0x22e + DOMAIN_ALIAS_RID_LOGGING_USERS = 0x22f + DOMAIN_ALIAS_RID_AUTHORIZATIONACCESS = 0x230 + DOMAIN_ALIAS_RID_TS_LICENSE_SERVERS = 0x231 + DOMAIN_ALIAS_RID_DCOM_USERS = 0x232 + DOMAIN_ALIAS_RID_IUSERS = 0x238 + DOMAIN_ALIAS_RID_CRYPTO_OPERATORS = 0x239 + DOMAIN_ALIAS_RID_CACHEABLE_PRINCIPALS_GROUP = 0x23b + DOMAIN_ALIAS_RID_NON_CACHEABLE_PRINCIPALS_GROUP = 0x23c + DOMAIN_ALIAS_RID_EVENT_LOG_READERS_GROUP = 0x23d + DOMAIN_ALIAS_RID_CERTSVC_DCOM_ACCESS_GROUP = 0x23e +) + +//sys LookupAccountSid(systemName *uint16, sid *SID, name *uint16, nameLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) = advapi32.LookupAccountSidW +//sys LookupAccountName(systemName *uint16, accountName *uint16, sid *SID, sidLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) = advapi32.LookupAccountNameW +//sys ConvertSidToStringSid(sid *SID, stringSid **uint16) (err error) = advapi32.ConvertSidToStringSidW +//sys ConvertStringSidToSid(stringSid *uint16, sid **SID) (err error) = advapi32.ConvertStringSidToSidW +//sys GetLengthSid(sid *SID) (len uint32) = advapi32.GetLengthSid +//sys CopySid(destSidLen uint32, destSid *SID, srcSid *SID) (err error) = advapi32.CopySid +//sys AllocateAndInitializeSid(identAuth *SidIdentifierAuthority, subAuth byte, subAuth0 uint32, subAuth1 uint32, subAuth2 uint32, subAuth3 uint32, subAuth4 uint32, subAuth5 uint32, subAuth6 uint32, subAuth7 uint32, sid **SID) (err error) = advapi32.AllocateAndInitializeSid +//sys FreeSid(sid *SID) (err error) [failretval!=0] = advapi32.FreeSid +//sys EqualSid(sid1 *SID, sid2 *SID) (isEqual bool) = advapi32.EqualSid + +// The security identifier (SID) structure is a variable-length +// structure used to uniquely identify users or groups. +type SID struct{} + +// StringToSid converts a string-format security identifier +// sid into a valid, functional sid. +func StringToSid(s string) (*SID, error) { + var sid *SID + p, e := UTF16PtrFromString(s) + if e != nil { + return nil, e + } + e = ConvertStringSidToSid(p, &sid) + if e != nil { + return nil, e + } + defer LocalFree((Handle)(unsafe.Pointer(sid))) + return sid.Copy() +} + +// LookupSID retrieves a security identifier sid for the account +// and the name of the domain on which the account was found. +// System specify target computer to search. +func LookupSID(system, account string) (sid *SID, domain string, accType uint32, err error) { + if len(account) == 0 { + return nil, "", 0, syscall.EINVAL + } + acc, e := UTF16PtrFromString(account) + if e != nil { + return nil, "", 0, e + } + var sys *uint16 + if len(system) > 0 { + sys, e = UTF16PtrFromString(system) + if e != nil { + return nil, "", 0, e + } + } + n := uint32(50) + dn := uint32(50) + for { + b := make([]byte, n) + db := make([]uint16, dn) + sid = (*SID)(unsafe.Pointer(&b[0])) + e = LookupAccountName(sys, acc, sid, &n, &db[0], &dn, &accType) + if e == nil { + return sid, UTF16ToString(db), accType, nil + } + if e != ERROR_INSUFFICIENT_BUFFER { + return nil, "", 0, e + } + if n <= uint32(len(b)) { + return nil, "", 0, e + } + } +} + +// String converts sid to a string format +// suitable for display, storage, or transmission. +func (sid *SID) String() (string, error) { + var s *uint16 + e := ConvertSidToStringSid(sid, &s) + if e != nil { + return "", e + } + defer LocalFree((Handle)(unsafe.Pointer(s))) + return UTF16ToString((*[256]uint16)(unsafe.Pointer(s))[:]), nil +} + +// Len returns the length, in bytes, of a valid security identifier sid. +func (sid *SID) Len() int { + return int(GetLengthSid(sid)) +} + +// Copy creates a duplicate of security identifier sid. +func (sid *SID) Copy() (*SID, error) { + b := make([]byte, sid.Len()) + sid2 := (*SID)(unsafe.Pointer(&b[0])) + e := CopySid(uint32(len(b)), sid2, sid) + if e != nil { + return nil, e + } + return sid2, nil +} + +// LookupAccount retrieves the name of the account for this sid +// and the name of the first domain on which this sid is found. +// System specify target computer to search for. +func (sid *SID) LookupAccount(system string) (account, domain string, accType uint32, err error) { + var sys *uint16 + if len(system) > 0 { + sys, err = UTF16PtrFromString(system) + if err != nil { + return "", "", 0, err + } + } + n := uint32(50) + dn := uint32(50) + for { + b := make([]uint16, n) + db := make([]uint16, dn) + e := LookupAccountSid(sys, sid, &b[0], &n, &db[0], &dn, &accType) + if e == nil { + return UTF16ToString(b), UTF16ToString(db), accType, nil + } + if e != ERROR_INSUFFICIENT_BUFFER { + return "", "", 0, e + } + if n <= uint32(len(b)) { + return "", "", 0, e + } + } +} + +const ( + // do not reorder + TOKEN_ASSIGN_PRIMARY = 1 << iota + TOKEN_DUPLICATE + TOKEN_IMPERSONATE + TOKEN_QUERY + TOKEN_QUERY_SOURCE + TOKEN_ADJUST_PRIVILEGES + TOKEN_ADJUST_GROUPS + TOKEN_ADJUST_DEFAULT + TOKEN_ADJUST_SESSIONID + + TOKEN_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | + TOKEN_ASSIGN_PRIMARY | + TOKEN_DUPLICATE | + TOKEN_IMPERSONATE | + TOKEN_QUERY | + TOKEN_QUERY_SOURCE | + TOKEN_ADJUST_PRIVILEGES | + TOKEN_ADJUST_GROUPS | + TOKEN_ADJUST_DEFAULT | + TOKEN_ADJUST_SESSIONID + TOKEN_READ = STANDARD_RIGHTS_READ | TOKEN_QUERY + TOKEN_WRITE = STANDARD_RIGHTS_WRITE | + TOKEN_ADJUST_PRIVILEGES | + TOKEN_ADJUST_GROUPS | + TOKEN_ADJUST_DEFAULT + TOKEN_EXECUTE = STANDARD_RIGHTS_EXECUTE +) + +const ( + // do not reorder + TokenUser = 1 + iota + TokenGroups + TokenPrivileges + TokenOwner + TokenPrimaryGroup + TokenDefaultDacl + TokenSource + TokenType + TokenImpersonationLevel + TokenStatistics + TokenRestrictedSids + TokenSessionId + TokenGroupsAndPrivileges + TokenSessionReference + TokenSandBoxInert + TokenAuditPolicy + TokenOrigin + TokenElevationType + TokenLinkedToken + TokenElevation + TokenHasRestrictions + TokenAccessInformation + TokenVirtualizationAllowed + TokenVirtualizationEnabled + TokenIntegrityLevel + TokenUIAccess + TokenMandatoryPolicy + TokenLogonSid + MaxTokenInfoClass +) + +type SIDAndAttributes struct { + Sid *SID + Attributes uint32 +} + +type Tokenuser struct { + User SIDAndAttributes +} + +type Tokenprimarygroup struct { + PrimaryGroup *SID +} + +type Tokengroups struct { + GroupCount uint32 + Groups [1]SIDAndAttributes +} + +// Authorization Functions +//sys checkTokenMembership(tokenHandle Token, sidToCheck *SID, isMember *int32) (err error) = advapi32.CheckTokenMembership +//sys OpenProcessToken(h Handle, access uint32, token *Token) (err error) = advapi32.OpenProcessToken +//sys GetTokenInformation(t Token, infoClass uint32, info *byte, infoLen uint32, returnedLen *uint32) (err error) = advapi32.GetTokenInformation +//sys GetUserProfileDirectory(t Token, dir *uint16, dirLen *uint32) (err error) = userenv.GetUserProfileDirectoryW + +// An access token contains the security information for a logon session. +// The system creates an access token when a user logs on, and every +// process executed on behalf of the user has a copy of the token. +// The token identifies the user, the user's groups, and the user's +// privileges. The system uses the token to control access to securable +// objects and to control the ability of the user to perform various +// system-related operations on the local computer. +type Token Handle + +// OpenCurrentProcessToken opens the access token +// associated with current process. +func OpenCurrentProcessToken() (Token, error) { + p, e := GetCurrentProcess() + if e != nil { + return 0, e + } + var t Token + e = OpenProcessToken(p, TOKEN_QUERY, &t) + if e != nil { + return 0, e + } + return t, nil +} + +// Close releases access to access token. +func (t Token) Close() error { + return CloseHandle(Handle(t)) +} + +// getInfo retrieves a specified type of information about an access token. +func (t Token) getInfo(class uint32, initSize int) (unsafe.Pointer, error) { + n := uint32(initSize) + for { + b := make([]byte, n) + e := GetTokenInformation(t, class, &b[0], uint32(len(b)), &n) + if e == nil { + return unsafe.Pointer(&b[0]), nil + } + if e != ERROR_INSUFFICIENT_BUFFER { + return nil, e + } + if n <= uint32(len(b)) { + return nil, e + } + } +} + +// GetTokenUser retrieves access token t user account information. +func (t Token) GetTokenUser() (*Tokenuser, error) { + i, e := t.getInfo(TokenUser, 50) + if e != nil { + return nil, e + } + return (*Tokenuser)(i), nil +} + +// GetTokenGroups retrieves group accounts associated with access token t. +func (t Token) GetTokenGroups() (*Tokengroups, error) { + i, e := t.getInfo(TokenGroups, 50) + if e != nil { + return nil, e + } + return (*Tokengroups)(i), nil +} + +// GetTokenPrimaryGroup retrieves access token t primary group information. +// A pointer to a SID structure representing a group that will become +// the primary group of any objects created by a process using this access token. +func (t Token) GetTokenPrimaryGroup() (*Tokenprimarygroup, error) { + i, e := t.getInfo(TokenPrimaryGroup, 50) + if e != nil { + return nil, e + } + return (*Tokenprimarygroup)(i), nil +} + +// GetUserProfileDirectory retrieves path to the +// root directory of the access token t user's profile. +func (t Token) GetUserProfileDirectory() (string, error) { + n := uint32(100) + for { + b := make([]uint16, n) + e := GetUserProfileDirectory(t, &b[0], &n) + if e == nil { + return UTF16ToString(b), nil + } + if e != ERROR_INSUFFICIENT_BUFFER { + return "", e + } + if n <= uint32(len(b)) { + return "", e + } + } +} + +// IsMember reports whether the access token t is a member of the provided SID. +func (t Token) IsMember(sid *SID) (bool, error) { + var b int32 + if e := checkTokenMembership(t, sid, &b); e != nil { + return false, e + } + return b != 0, nil +} diff --git a/vendor/golang.org/x/sys/windows/service.go b/vendor/golang.org/x/sys/windows/service.go new file mode 100644 index 000000000..62fc31b40 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/service.go @@ -0,0 +1,183 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build windows + +package windows + +const ( + SC_MANAGER_CONNECT = 1 + SC_MANAGER_CREATE_SERVICE = 2 + SC_MANAGER_ENUMERATE_SERVICE = 4 + SC_MANAGER_LOCK = 8 + SC_MANAGER_QUERY_LOCK_STATUS = 16 + SC_MANAGER_MODIFY_BOOT_CONFIG = 32 + SC_MANAGER_ALL_ACCESS = 0xf003f +) + +//sys OpenSCManager(machineName *uint16, databaseName *uint16, access uint32) (handle Handle, err error) [failretval==0] = advapi32.OpenSCManagerW + +const ( + SERVICE_KERNEL_DRIVER = 1 + SERVICE_FILE_SYSTEM_DRIVER = 2 + SERVICE_ADAPTER = 4 + SERVICE_RECOGNIZER_DRIVER = 8 + SERVICE_WIN32_OWN_PROCESS = 16 + SERVICE_WIN32_SHARE_PROCESS = 32 + SERVICE_WIN32 = SERVICE_WIN32_OWN_PROCESS | SERVICE_WIN32_SHARE_PROCESS + SERVICE_INTERACTIVE_PROCESS = 256 + SERVICE_DRIVER = SERVICE_KERNEL_DRIVER | SERVICE_FILE_SYSTEM_DRIVER | SERVICE_RECOGNIZER_DRIVER + SERVICE_TYPE_ALL = SERVICE_WIN32 | SERVICE_ADAPTER | SERVICE_DRIVER | SERVICE_INTERACTIVE_PROCESS + + SERVICE_BOOT_START = 0 + SERVICE_SYSTEM_START = 1 + SERVICE_AUTO_START = 2 + SERVICE_DEMAND_START = 3 + SERVICE_DISABLED = 4 + + SERVICE_ERROR_IGNORE = 0 + SERVICE_ERROR_NORMAL = 1 + SERVICE_ERROR_SEVERE = 2 + SERVICE_ERROR_CRITICAL = 3 + + SC_STATUS_PROCESS_INFO = 0 + + SC_ACTION_NONE = 0 + SC_ACTION_RESTART = 1 + SC_ACTION_REBOOT = 2 + SC_ACTION_RUN_COMMAND = 3 + + SERVICE_STOPPED = 1 + SERVICE_START_PENDING = 2 + SERVICE_STOP_PENDING = 3 + SERVICE_RUNNING = 4 + SERVICE_CONTINUE_PENDING = 5 + SERVICE_PAUSE_PENDING = 6 + SERVICE_PAUSED = 7 + SERVICE_NO_CHANGE = 0xffffffff + + SERVICE_ACCEPT_STOP = 1 + SERVICE_ACCEPT_PAUSE_CONTINUE = 2 + SERVICE_ACCEPT_SHUTDOWN = 4 + SERVICE_ACCEPT_PARAMCHANGE = 8 + SERVICE_ACCEPT_NETBINDCHANGE = 16 + SERVICE_ACCEPT_HARDWAREPROFILECHANGE = 32 + SERVICE_ACCEPT_POWEREVENT = 64 + SERVICE_ACCEPT_SESSIONCHANGE = 128 + + SERVICE_CONTROL_STOP = 1 + SERVICE_CONTROL_PAUSE = 2 + SERVICE_CONTROL_CONTINUE = 3 + SERVICE_CONTROL_INTERROGATE = 4 + SERVICE_CONTROL_SHUTDOWN = 5 + SERVICE_CONTROL_PARAMCHANGE = 6 + SERVICE_CONTROL_NETBINDADD = 7 + SERVICE_CONTROL_NETBINDREMOVE = 8 + SERVICE_CONTROL_NETBINDENABLE = 9 + SERVICE_CONTROL_NETBINDDISABLE = 10 + SERVICE_CONTROL_DEVICEEVENT = 11 + SERVICE_CONTROL_HARDWAREPROFILECHANGE = 12 + SERVICE_CONTROL_POWEREVENT = 13 + SERVICE_CONTROL_SESSIONCHANGE = 14 + + SERVICE_ACTIVE = 1 + SERVICE_INACTIVE = 2 + SERVICE_STATE_ALL = 3 + + SERVICE_QUERY_CONFIG = 1 + SERVICE_CHANGE_CONFIG = 2 + SERVICE_QUERY_STATUS = 4 + SERVICE_ENUMERATE_DEPENDENTS = 8 + SERVICE_START = 16 + SERVICE_STOP = 32 + SERVICE_PAUSE_CONTINUE = 64 + SERVICE_INTERROGATE = 128 + SERVICE_USER_DEFINED_CONTROL = 256 + SERVICE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SERVICE_QUERY_CONFIG | SERVICE_CHANGE_CONFIG | SERVICE_QUERY_STATUS | SERVICE_ENUMERATE_DEPENDENTS | SERVICE_START | SERVICE_STOP | SERVICE_PAUSE_CONTINUE | SERVICE_INTERROGATE | SERVICE_USER_DEFINED_CONTROL + SERVICE_RUNS_IN_SYSTEM_PROCESS = 1 + SERVICE_CONFIG_DESCRIPTION = 1 + SERVICE_CONFIG_FAILURE_ACTIONS = 2 + + NO_ERROR = 0 + + SC_ENUM_PROCESS_INFO = 0 +) + +type SERVICE_STATUS struct { + ServiceType uint32 + CurrentState uint32 + ControlsAccepted uint32 + Win32ExitCode uint32 + ServiceSpecificExitCode uint32 + CheckPoint uint32 + WaitHint uint32 +} + +type SERVICE_TABLE_ENTRY struct { + ServiceName *uint16 + ServiceProc uintptr +} + +type QUERY_SERVICE_CONFIG struct { + ServiceType uint32 + StartType uint32 + ErrorControl uint32 + BinaryPathName *uint16 + LoadOrderGroup *uint16 + TagId uint32 + Dependencies *uint16 + ServiceStartName *uint16 + DisplayName *uint16 +} + +type SERVICE_DESCRIPTION struct { + Description *uint16 +} + +type SERVICE_STATUS_PROCESS struct { + ServiceType uint32 + CurrentState uint32 + ControlsAccepted uint32 + Win32ExitCode uint32 + ServiceSpecificExitCode uint32 + CheckPoint uint32 + WaitHint uint32 + ProcessId uint32 + ServiceFlags uint32 +} + +type ENUM_SERVICE_STATUS_PROCESS struct { + ServiceName *uint16 + DisplayName *uint16 + ServiceStatusProcess SERVICE_STATUS_PROCESS +} + +type SERVICE_FAILURE_ACTIONS struct { + ResetPeriod uint32 + RebootMsg *uint16 + Command *uint16 + ActionsCount uint32 + Actions *SC_ACTION +} + +type SC_ACTION struct { + Type uint32 + Delay uint32 +} + +//sys CloseServiceHandle(handle Handle) (err error) = advapi32.CloseServiceHandle +//sys CreateService(mgr Handle, serviceName *uint16, displayName *uint16, access uint32, srvType uint32, startType uint32, errCtl uint32, pathName *uint16, loadOrderGroup *uint16, tagId *uint32, dependencies *uint16, serviceStartName *uint16, password *uint16) (handle Handle, err error) [failretval==0] = advapi32.CreateServiceW +//sys OpenService(mgr Handle, serviceName *uint16, access uint32) (handle Handle, err error) [failretval==0] = advapi32.OpenServiceW +//sys DeleteService(service Handle) (err error) = advapi32.DeleteService +//sys StartService(service Handle, numArgs uint32, argVectors **uint16) (err error) = advapi32.StartServiceW +//sys QueryServiceStatus(service Handle, status *SERVICE_STATUS) (err error) = advapi32.QueryServiceStatus +//sys ControlService(service Handle, control uint32, status *SERVICE_STATUS) (err error) = advapi32.ControlService +//sys StartServiceCtrlDispatcher(serviceTable *SERVICE_TABLE_ENTRY) (err error) = advapi32.StartServiceCtrlDispatcherW +//sys SetServiceStatus(service Handle, serviceStatus *SERVICE_STATUS) (err error) = advapi32.SetServiceStatus +//sys ChangeServiceConfig(service Handle, serviceType uint32, startType uint32, errorControl uint32, binaryPathName *uint16, loadOrderGroup *uint16, tagId *uint32, dependencies *uint16, serviceStartName *uint16, password *uint16, displayName *uint16) (err error) = advapi32.ChangeServiceConfigW +//sys QueryServiceConfig(service Handle, serviceConfig *QUERY_SERVICE_CONFIG, bufSize uint32, bytesNeeded *uint32) (err error) = advapi32.QueryServiceConfigW +//sys ChangeServiceConfig2(service Handle, infoLevel uint32, info *byte) (err error) = advapi32.ChangeServiceConfig2W +//sys QueryServiceConfig2(service Handle, infoLevel uint32, buff *byte, buffSize uint32, bytesNeeded *uint32) (err error) = advapi32.QueryServiceConfig2W +//sys EnumServicesStatusEx(mgr Handle, infoLevel uint32, serviceType uint32, serviceState uint32, services *byte, bufSize uint32, bytesNeeded *uint32, servicesReturned *uint32, resumeHandle *uint32, groupName *uint16) (err error) = advapi32.EnumServicesStatusExW +//sys QueryServiceStatusEx(service Handle, infoLevel uint32, buff *byte, buffSize uint32, bytesNeeded *uint32) (err error) = advapi32.QueryServiceStatusEx diff --git a/vendor/golang.org/x/sys/windows/str.go b/vendor/golang.org/x/sys/windows/str.go new file mode 100644 index 000000000..917cc2aae --- /dev/null +++ b/vendor/golang.org/x/sys/windows/str.go @@ -0,0 +1,22 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build windows + +package windows + +func itoa(val int) string { // do it here rather than with fmt to avoid dependency + if val < 0 { + return "-" + itoa(-val) + } + var buf [32]byte // big enough for int64 + i := len(buf) - 1 + for val >= 10 { + buf[i] = byte(val%10 + '0') + i-- + val /= 10 + } + buf[i] = byte(val + '0') + return string(buf[i:]) +} diff --git a/vendor/golang.org/x/sys/windows/syscall.go b/vendor/golang.org/x/sys/windows/syscall.go new file mode 100644 index 000000000..af828a91b --- /dev/null +++ b/vendor/golang.org/x/sys/windows/syscall.go @@ -0,0 +1,74 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build windows + +// Package windows contains an interface to the low-level operating system +// primitives. OS details vary depending on the underlying system, and +// by default, godoc will display the OS-specific documentation for the current +// system. If you want godoc to display syscall documentation for another +// system, set $GOOS and $GOARCH to the desired system. For example, if +// you want to view documentation for freebsd/arm on linux/amd64, set $GOOS +// to freebsd and $GOARCH to arm. +// +// The primary use of this package is inside other packages that provide a more +// portable interface to the system, such as "os", "time" and "net". Use +// those packages rather than this one if you can. +// +// For details of the functions and data types in this package consult +// the manuals for the appropriate operating system. +// +// These calls return err == nil to indicate success; otherwise +// err represents an operating system error describing the failure and +// holds a value of type syscall.Errno. +package windows // import "golang.org/x/sys/windows" + +import ( + "syscall" +) + +// ByteSliceFromString returns a NUL-terminated slice of bytes +// containing the text of s. If s contains a NUL byte at any +// location, it returns (nil, syscall.EINVAL). +func ByteSliceFromString(s string) ([]byte, error) { + for i := 0; i < len(s); i++ { + if s[i] == 0 { + return nil, syscall.EINVAL + } + } + a := make([]byte, len(s)+1) + copy(a, s) + return a, nil +} + +// BytePtrFromString returns a pointer to a NUL-terminated array of +// bytes containing the text of s. If s contains a NUL byte at any +// location, it returns (nil, syscall.EINVAL). +func BytePtrFromString(s string) (*byte, error) { + a, err := ByteSliceFromString(s) + if err != nil { + return nil, err + } + return &a[0], nil +} + +// Single-word zero for use when we need a valid pointer to 0 bytes. +// See mksyscall.pl. +var _zero uintptr + +func (ts *Timespec) Unix() (sec int64, nsec int64) { + return int64(ts.Sec), int64(ts.Nsec) +} + +func (tv *Timeval) Unix() (sec int64, nsec int64) { + return int64(tv.Sec), int64(tv.Usec) * 1000 +} + +func (ts *Timespec) Nano() int64 { + return int64(ts.Sec)*1e9 + int64(ts.Nsec) +} + +func (tv *Timeval) Nano() int64 { + return int64(tv.Sec)*1e9 + int64(tv.Usec)*1000 +} diff --git a/vendor/golang.org/x/sys/windows/syscall_windows.go b/vendor/golang.org/x/sys/windows/syscall_windows.go new file mode 100644 index 000000000..f72fa55f3 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/syscall_windows.go @@ -0,0 +1,1218 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Windows system calls. + +package windows + +import ( + errorspkg "errors" + "sync" + "syscall" + "unicode/utf16" + "unsafe" +) + +type Handle uintptr + +const ( + InvalidHandle = ^Handle(0) + + // Flags for DefineDosDevice. + DDD_EXACT_MATCH_ON_REMOVE = 0x00000004 + DDD_NO_BROADCAST_SYSTEM = 0x00000008 + DDD_RAW_TARGET_PATH = 0x00000001 + DDD_REMOVE_DEFINITION = 0x00000002 + + // Return values for GetDriveType. + DRIVE_UNKNOWN = 0 + DRIVE_NO_ROOT_DIR = 1 + DRIVE_REMOVABLE = 2 + DRIVE_FIXED = 3 + DRIVE_REMOTE = 4 + DRIVE_CDROM = 5 + DRIVE_RAMDISK = 6 + + // File system flags from GetVolumeInformation and GetVolumeInformationByHandle. + FILE_CASE_SENSITIVE_SEARCH = 0x00000001 + FILE_CASE_PRESERVED_NAMES = 0x00000002 + FILE_FILE_COMPRESSION = 0x00000010 + FILE_DAX_VOLUME = 0x20000000 + FILE_NAMED_STREAMS = 0x00040000 + FILE_PERSISTENT_ACLS = 0x00000008 + FILE_READ_ONLY_VOLUME = 0x00080000 + FILE_SEQUENTIAL_WRITE_ONCE = 0x00100000 + FILE_SUPPORTS_ENCRYPTION = 0x00020000 + FILE_SUPPORTS_EXTENDED_ATTRIBUTES = 0x00800000 + FILE_SUPPORTS_HARD_LINKS = 0x00400000 + FILE_SUPPORTS_OBJECT_IDS = 0x00010000 + FILE_SUPPORTS_OPEN_BY_FILE_ID = 0x01000000 + FILE_SUPPORTS_REPARSE_POINTS = 0x00000080 + FILE_SUPPORTS_SPARSE_FILES = 0x00000040 + FILE_SUPPORTS_TRANSACTIONS = 0x00200000 + FILE_SUPPORTS_USN_JOURNAL = 0x02000000 + FILE_UNICODE_ON_DISK = 0x00000004 + FILE_VOLUME_IS_COMPRESSED = 0x00008000 + FILE_VOLUME_QUOTAS = 0x00000020 +) + +// StringToUTF16 is deprecated. Use UTF16FromString instead. +// If s contains a NUL byte this function panics instead of +// returning an error. +func StringToUTF16(s string) []uint16 { + a, err := UTF16FromString(s) + if err != nil { + panic("windows: string with NUL passed to StringToUTF16") + } + return a +} + +// UTF16FromString returns the UTF-16 encoding of the UTF-8 string +// s, with a terminating NUL added. If s contains a NUL byte at any +// location, it returns (nil, syscall.EINVAL). +func UTF16FromString(s string) ([]uint16, error) { + for i := 0; i < len(s); i++ { + if s[i] == 0 { + return nil, syscall.EINVAL + } + } + return utf16.Encode([]rune(s + "\x00")), nil +} + +// UTF16ToString returns the UTF-8 encoding of the UTF-16 sequence s, +// with a terminating NUL removed. +func UTF16ToString(s []uint16) string { + for i, v := range s { + if v == 0 { + s = s[0:i] + break + } + } + return string(utf16.Decode(s)) +} + +// StringToUTF16Ptr is deprecated. Use UTF16PtrFromString instead. +// If s contains a NUL byte this function panics instead of +// returning an error. +func StringToUTF16Ptr(s string) *uint16 { return &StringToUTF16(s)[0] } + +// UTF16PtrFromString returns pointer to the UTF-16 encoding of +// the UTF-8 string s, with a terminating NUL added. If s +// contains a NUL byte at any location, it returns (nil, syscall.EINVAL). +func UTF16PtrFromString(s string) (*uint16, error) { + a, err := UTF16FromString(s) + if err != nil { + return nil, err + } + return &a[0], nil +} + +func Getpagesize() int { return 4096 } + +// NewCallback converts a Go function to a function pointer conforming to the stdcall calling convention. +// This is useful when interoperating with Windows code requiring callbacks. +// The argument is expected to be a function with with one uintptr-sized result. The function must not have arguments with size larger than the size of uintptr. +func NewCallback(fn interface{}) uintptr { + return syscall.NewCallback(fn) +} + +// NewCallbackCDecl converts a Go function to a function pointer conforming to the cdecl calling convention. +// This is useful when interoperating with Windows code requiring callbacks. +// The argument is expected to be a function with with one uintptr-sized result. The function must not have arguments with size larger than the size of uintptr. +func NewCallbackCDecl(fn interface{}) uintptr { + return syscall.NewCallbackCDecl(fn) +} + +// windows api calls + +//sys GetLastError() (lasterr error) +//sys LoadLibrary(libname string) (handle Handle, err error) = LoadLibraryW +//sys LoadLibraryEx(libname string, zero Handle, flags uintptr) (handle Handle, err error) = LoadLibraryExW +//sys FreeLibrary(handle Handle) (err error) +//sys GetProcAddress(module Handle, procname string) (proc uintptr, err error) +//sys GetVersion() (ver uint32, err error) +//sys FormatMessage(flags uint32, msgsrc uintptr, msgid uint32, langid uint32, buf []uint16, args *byte) (n uint32, err error) = FormatMessageW +//sys ExitProcess(exitcode uint32) +//sys CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttributes, createmode uint32, attrs uint32, templatefile int32) (handle Handle, err error) [failretval==InvalidHandle] = CreateFileW +//sys ReadFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) +//sys WriteFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) +//sys SetFilePointer(handle Handle, lowoffset int32, highoffsetptr *int32, whence uint32) (newlowoffset uint32, err error) [failretval==0xffffffff] +//sys CloseHandle(handle Handle) (err error) +//sys GetStdHandle(stdhandle uint32) (handle Handle, err error) [failretval==InvalidHandle] +//sys SetStdHandle(stdhandle uint32, handle Handle) (err error) +//sys findFirstFile1(name *uint16, data *win32finddata1) (handle Handle, err error) [failretval==InvalidHandle] = FindFirstFileW +//sys findNextFile1(handle Handle, data *win32finddata1) (err error) = FindNextFileW +//sys FindClose(handle Handle) (err error) +//sys GetFileInformationByHandle(handle Handle, data *ByHandleFileInformation) (err error) +//sys GetCurrentDirectory(buflen uint32, buf *uint16) (n uint32, err error) = GetCurrentDirectoryW +//sys SetCurrentDirectory(path *uint16) (err error) = SetCurrentDirectoryW +//sys CreateDirectory(path *uint16, sa *SecurityAttributes) (err error) = CreateDirectoryW +//sys RemoveDirectory(path *uint16) (err error) = RemoveDirectoryW +//sys DeleteFile(path *uint16) (err error) = DeleteFileW +//sys MoveFile(from *uint16, to *uint16) (err error) = MoveFileW +//sys MoveFileEx(from *uint16, to *uint16, flags uint32) (err error) = MoveFileExW +//sys GetComputerName(buf *uint16, n *uint32) (err error) = GetComputerNameW +//sys GetComputerNameEx(nametype uint32, buf *uint16, n *uint32) (err error) = GetComputerNameExW +//sys SetEndOfFile(handle Handle) (err error) +//sys GetSystemTimeAsFileTime(time *Filetime) +//sys GetSystemTimePreciseAsFileTime(time *Filetime) +//sys GetTimeZoneInformation(tzi *Timezoneinformation) (rc uint32, err error) [failretval==0xffffffff] +//sys CreateIoCompletionPort(filehandle Handle, cphandle Handle, key uint32, threadcnt uint32) (handle Handle, err error) +//sys GetQueuedCompletionStatus(cphandle Handle, qty *uint32, key *uint32, overlapped **Overlapped, timeout uint32) (err error) +//sys PostQueuedCompletionStatus(cphandle Handle, qty uint32, key uint32, overlapped *Overlapped) (err error) +//sys CancelIo(s Handle) (err error) +//sys CancelIoEx(s Handle, o *Overlapped) (err error) +//sys CreateProcess(appName *uint16, commandLine *uint16, procSecurity *SecurityAttributes, threadSecurity *SecurityAttributes, inheritHandles bool, creationFlags uint32, env *uint16, currentDir *uint16, startupInfo *StartupInfo, outProcInfo *ProcessInformation) (err error) = CreateProcessW +//sys OpenProcess(da uint32, inheritHandle bool, pid uint32) (handle Handle, err error) +//sys TerminateProcess(handle Handle, exitcode uint32) (err error) +//sys GetExitCodeProcess(handle Handle, exitcode *uint32) (err error) +//sys GetStartupInfo(startupInfo *StartupInfo) (err error) = GetStartupInfoW +//sys GetCurrentProcess() (pseudoHandle Handle, err error) +//sys GetProcessTimes(handle Handle, creationTime *Filetime, exitTime *Filetime, kernelTime *Filetime, userTime *Filetime) (err error) +//sys DuplicateHandle(hSourceProcessHandle Handle, hSourceHandle Handle, hTargetProcessHandle Handle, lpTargetHandle *Handle, dwDesiredAccess uint32, bInheritHandle bool, dwOptions uint32) (err error) +//sys WaitForSingleObject(handle Handle, waitMilliseconds uint32) (event uint32, err error) [failretval==0xffffffff] +//sys waitForMultipleObjects(count uint32, handles uintptr, waitAll bool, waitMilliseconds uint32) (event uint32, err error) [failretval==0xffffffff] = WaitForMultipleObjects +//sys GetTempPath(buflen uint32, buf *uint16) (n uint32, err error) = GetTempPathW +//sys CreatePipe(readhandle *Handle, writehandle *Handle, sa *SecurityAttributes, size uint32) (err error) +//sys GetFileType(filehandle Handle) (n uint32, err error) +//sys CryptAcquireContext(provhandle *Handle, container *uint16, provider *uint16, provtype uint32, flags uint32) (err error) = advapi32.CryptAcquireContextW +//sys CryptReleaseContext(provhandle Handle, flags uint32) (err error) = advapi32.CryptReleaseContext +//sys CryptGenRandom(provhandle Handle, buflen uint32, buf *byte) (err error) = advapi32.CryptGenRandom +//sys GetEnvironmentStrings() (envs *uint16, err error) [failretval==nil] = kernel32.GetEnvironmentStringsW +//sys FreeEnvironmentStrings(envs *uint16) (err error) = kernel32.FreeEnvironmentStringsW +//sys GetEnvironmentVariable(name *uint16, buffer *uint16, size uint32) (n uint32, err error) = kernel32.GetEnvironmentVariableW +//sys SetEnvironmentVariable(name *uint16, value *uint16) (err error) = kernel32.SetEnvironmentVariableW +//sys SetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetime) (err error) +//sys GetFileAttributes(name *uint16) (attrs uint32, err error) [failretval==INVALID_FILE_ATTRIBUTES] = kernel32.GetFileAttributesW +//sys SetFileAttributes(name *uint16, attrs uint32) (err error) = kernel32.SetFileAttributesW +//sys GetFileAttributesEx(name *uint16, level uint32, info *byte) (err error) = kernel32.GetFileAttributesExW +//sys GetCommandLine() (cmd *uint16) = kernel32.GetCommandLineW +//sys CommandLineToArgv(cmd *uint16, argc *int32) (argv *[8192]*[8192]uint16, err error) [failretval==nil] = shell32.CommandLineToArgvW +//sys LocalFree(hmem Handle) (handle Handle, err error) [failretval!=0] +//sys SetHandleInformation(handle Handle, mask uint32, flags uint32) (err error) +//sys FlushFileBuffers(handle Handle) (err error) +//sys GetFullPathName(path *uint16, buflen uint32, buf *uint16, fname **uint16) (n uint32, err error) = kernel32.GetFullPathNameW +//sys GetLongPathName(path *uint16, buf *uint16, buflen uint32) (n uint32, err error) = kernel32.GetLongPathNameW +//sys GetShortPathName(longpath *uint16, shortpath *uint16, buflen uint32) (n uint32, err error) = kernel32.GetShortPathNameW +//sys CreateFileMapping(fhandle Handle, sa *SecurityAttributes, prot uint32, maxSizeHigh uint32, maxSizeLow uint32, name *uint16) (handle Handle, err error) = kernel32.CreateFileMappingW +//sys MapViewOfFile(handle Handle, access uint32, offsetHigh uint32, offsetLow uint32, length uintptr) (addr uintptr, err error) +//sys UnmapViewOfFile(addr uintptr) (err error) +//sys FlushViewOfFile(addr uintptr, length uintptr) (err error) +//sys VirtualLock(addr uintptr, length uintptr) (err error) +//sys VirtualUnlock(addr uintptr, length uintptr) (err error) +//sys VirtualAlloc(address uintptr, size uintptr, alloctype uint32, protect uint32) (value uintptr, err error) = kernel32.VirtualAlloc +//sys VirtualFree(address uintptr, size uintptr, freetype uint32) (err error) = kernel32.VirtualFree +//sys VirtualProtect(address uintptr, size uintptr, newprotect uint32, oldprotect *uint32) (err error) = kernel32.VirtualProtect +//sys TransmitFile(s Handle, handle Handle, bytesToWrite uint32, bytsPerSend uint32, overlapped *Overlapped, transmitFileBuf *TransmitFileBuffers, flags uint32) (err error) = mswsock.TransmitFile +//sys ReadDirectoryChanges(handle Handle, buf *byte, buflen uint32, watchSubTree bool, mask uint32, retlen *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) = kernel32.ReadDirectoryChangesW +//sys CertOpenSystemStore(hprov Handle, name *uint16) (store Handle, err error) = crypt32.CertOpenSystemStoreW +//sys CertOpenStore(storeProvider uintptr, msgAndCertEncodingType uint32, cryptProv uintptr, flags uint32, para uintptr) (handle Handle, err error) [failretval==InvalidHandle] = crypt32.CertOpenStore +//sys CertEnumCertificatesInStore(store Handle, prevContext *CertContext) (context *CertContext, err error) [failretval==nil] = crypt32.CertEnumCertificatesInStore +//sys CertAddCertificateContextToStore(store Handle, certContext *CertContext, addDisposition uint32, storeContext **CertContext) (err error) = crypt32.CertAddCertificateContextToStore +//sys CertCloseStore(store Handle, flags uint32) (err error) = crypt32.CertCloseStore +//sys CertGetCertificateChain(engine Handle, leaf *CertContext, time *Filetime, additionalStore Handle, para *CertChainPara, flags uint32, reserved uintptr, chainCtx **CertChainContext) (err error) = crypt32.CertGetCertificateChain +//sys CertFreeCertificateChain(ctx *CertChainContext) = crypt32.CertFreeCertificateChain +//sys CertCreateCertificateContext(certEncodingType uint32, certEncoded *byte, encodedLen uint32) (context *CertContext, err error) [failretval==nil] = crypt32.CertCreateCertificateContext +//sys CertFreeCertificateContext(ctx *CertContext) (err error) = crypt32.CertFreeCertificateContext +//sys CertVerifyCertificateChainPolicy(policyOID uintptr, chain *CertChainContext, para *CertChainPolicyPara, status *CertChainPolicyStatus) (err error) = crypt32.CertVerifyCertificateChainPolicy +//sys RegOpenKeyEx(key Handle, subkey *uint16, options uint32, desiredAccess uint32, result *Handle) (regerrno error) = advapi32.RegOpenKeyExW +//sys RegCloseKey(key Handle) (regerrno error) = advapi32.RegCloseKey +//sys RegQueryInfoKey(key Handle, class *uint16, classLen *uint32, reserved *uint32, subkeysLen *uint32, maxSubkeyLen *uint32, maxClassLen *uint32, valuesLen *uint32, maxValueNameLen *uint32, maxValueLen *uint32, saLen *uint32, lastWriteTime *Filetime) (regerrno error) = advapi32.RegQueryInfoKeyW +//sys RegEnumKeyEx(key Handle, index uint32, name *uint16, nameLen *uint32, reserved *uint32, class *uint16, classLen *uint32, lastWriteTime *Filetime) (regerrno error) = advapi32.RegEnumKeyExW +//sys RegQueryValueEx(key Handle, name *uint16, reserved *uint32, valtype *uint32, buf *byte, buflen *uint32) (regerrno error) = advapi32.RegQueryValueExW +//sys getCurrentProcessId() (pid uint32) = kernel32.GetCurrentProcessId +//sys GetConsoleMode(console Handle, mode *uint32) (err error) = kernel32.GetConsoleMode +//sys SetConsoleMode(console Handle, mode uint32) (err error) = kernel32.SetConsoleMode +//sys GetConsoleScreenBufferInfo(console Handle, info *ConsoleScreenBufferInfo) (err error) = kernel32.GetConsoleScreenBufferInfo +//sys WriteConsole(console Handle, buf *uint16, towrite uint32, written *uint32, reserved *byte) (err error) = kernel32.WriteConsoleW +//sys ReadConsole(console Handle, buf *uint16, toread uint32, read *uint32, inputControl *byte) (err error) = kernel32.ReadConsoleW +//sys CreateToolhelp32Snapshot(flags uint32, processId uint32) (handle Handle, err error) [failretval==InvalidHandle] = kernel32.CreateToolhelp32Snapshot +//sys Process32First(snapshot Handle, procEntry *ProcessEntry32) (err error) = kernel32.Process32FirstW +//sys Process32Next(snapshot Handle, procEntry *ProcessEntry32) (err error) = kernel32.Process32NextW +//sys DeviceIoControl(handle Handle, ioControlCode uint32, inBuffer *byte, inBufferSize uint32, outBuffer *byte, outBufferSize uint32, bytesReturned *uint32, overlapped *Overlapped) (err error) +// This function returns 1 byte BOOLEAN rather than the 4 byte BOOL. +//sys CreateSymbolicLink(symlinkfilename *uint16, targetfilename *uint16, flags uint32) (err error) [failretval&0xff==0] = CreateSymbolicLinkW +//sys CreateHardLink(filename *uint16, existingfilename *uint16, reserved uintptr) (err error) [failretval&0xff==0] = CreateHardLinkW +//sys GetCurrentThreadId() (id uint32) +//sys CreateEvent(eventAttrs *SecurityAttributes, manualReset uint32, initialState uint32, name *uint16) (handle Handle, err error) = kernel32.CreateEventW +//sys CreateEventEx(eventAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) = kernel32.CreateEventExW +//sys OpenEvent(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) = kernel32.OpenEventW +//sys SetEvent(event Handle) (err error) = kernel32.SetEvent +//sys ResetEvent(event Handle) (err error) = kernel32.ResetEvent +//sys PulseEvent(event Handle) (err error) = kernel32.PulseEvent + +// Volume Management Functions +//sys DefineDosDevice(flags uint32, deviceName *uint16, targetPath *uint16) (err error) = DefineDosDeviceW +//sys DeleteVolumeMountPoint(volumeMountPoint *uint16) (err error) = DeleteVolumeMountPointW +//sys FindFirstVolume(volumeName *uint16, bufferLength uint32) (handle Handle, err error) [failretval==InvalidHandle] = FindFirstVolumeW +//sys FindFirstVolumeMountPoint(rootPathName *uint16, volumeMountPoint *uint16, bufferLength uint32) (handle Handle, err error) [failretval==InvalidHandle] = FindFirstVolumeMountPointW +//sys FindNextVolume(findVolume Handle, volumeName *uint16, bufferLength uint32) (err error) = FindNextVolumeW +//sys FindNextVolumeMountPoint(findVolumeMountPoint Handle, volumeMountPoint *uint16, bufferLength uint32) (err error) = FindNextVolumeMountPointW +//sys FindVolumeClose(findVolume Handle) (err error) +//sys FindVolumeMountPointClose(findVolumeMountPoint Handle) (err error) +//sys GetDriveType(rootPathName *uint16) (driveType uint32) = GetDriveTypeW +//sys GetLogicalDrives() (drivesBitMask uint32, err error) [failretval==0] +//sys GetLogicalDriveStrings(bufferLength uint32, buffer *uint16) (n uint32, err error) [failretval==0] = GetLogicalDriveStringsW +//sys GetVolumeInformation(rootPathName *uint16, volumeNameBuffer *uint16, volumeNameSize uint32, volumeNameSerialNumber *uint32, maximumComponentLength *uint32, fileSystemFlags *uint32, fileSystemNameBuffer *uint16, fileSystemNameSize uint32) (err error) = GetVolumeInformationW +//sys GetVolumeInformationByHandle(file Handle, volumeNameBuffer *uint16, volumeNameSize uint32, volumeNameSerialNumber *uint32, maximumComponentLength *uint32, fileSystemFlags *uint32, fileSystemNameBuffer *uint16, fileSystemNameSize uint32) (err error) = GetVolumeInformationByHandleW +//sys GetVolumeNameForVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16, bufferlength uint32) (err error) = GetVolumeNameForVolumeMountPointW +//sys GetVolumePathName(fileName *uint16, volumePathName *uint16, bufferLength uint32) (err error) = GetVolumePathNameW +//sys GetVolumePathNamesForVolumeName(volumeName *uint16, volumePathNames *uint16, bufferLength uint32, returnLength *uint32) (err error) = GetVolumePathNamesForVolumeNameW +//sys QueryDosDevice(deviceName *uint16, targetPath *uint16, max uint32) (n uint32, err error) [failretval==0] = QueryDosDeviceW +//sys SetVolumeLabel(rootPathName *uint16, volumeName *uint16) (err error) = SetVolumeLabelW +//sys SetVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16) (err error) = SetVolumeMountPointW + +// syscall interface implementation for other packages + +// GetProcAddressByOrdinal retrieves the address of the exported +// function from module by ordinal. +func GetProcAddressByOrdinal(module Handle, ordinal uintptr) (proc uintptr, err error) { + r0, _, e1 := syscall.Syscall(procGetProcAddress.Addr(), 2, uintptr(module), ordinal, 0) + proc = uintptr(r0) + if proc == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func Exit(code int) { ExitProcess(uint32(code)) } + +func makeInheritSa() *SecurityAttributes { + var sa SecurityAttributes + sa.Length = uint32(unsafe.Sizeof(sa)) + sa.InheritHandle = 1 + return &sa +} + +func Open(path string, mode int, perm uint32) (fd Handle, err error) { + if len(path) == 0 { + return InvalidHandle, ERROR_FILE_NOT_FOUND + } + pathp, err := UTF16PtrFromString(path) + if err != nil { + return InvalidHandle, err + } + var access uint32 + switch mode & (O_RDONLY | O_WRONLY | O_RDWR) { + case O_RDONLY: + access = GENERIC_READ + case O_WRONLY: + access = GENERIC_WRITE + case O_RDWR: + access = GENERIC_READ | GENERIC_WRITE + } + if mode&O_CREAT != 0 { + access |= GENERIC_WRITE + } + if mode&O_APPEND != 0 { + access &^= GENERIC_WRITE + access |= FILE_APPEND_DATA + } + sharemode := uint32(FILE_SHARE_READ | FILE_SHARE_WRITE) + var sa *SecurityAttributes + if mode&O_CLOEXEC == 0 { + sa = makeInheritSa() + } + var createmode uint32 + switch { + case mode&(O_CREAT|O_EXCL) == (O_CREAT | O_EXCL): + createmode = CREATE_NEW + case mode&(O_CREAT|O_TRUNC) == (O_CREAT | O_TRUNC): + createmode = CREATE_ALWAYS + case mode&O_CREAT == O_CREAT: + createmode = OPEN_ALWAYS + case mode&O_TRUNC == O_TRUNC: + createmode = TRUNCATE_EXISTING + default: + createmode = OPEN_EXISTING + } + h, e := CreateFile(pathp, access, sharemode, sa, createmode, FILE_ATTRIBUTE_NORMAL, 0) + return h, e +} + +func Read(fd Handle, p []byte) (n int, err error) { + var done uint32 + e := ReadFile(fd, p, &done, nil) + if e != nil { + if e == ERROR_BROKEN_PIPE { + // NOTE(brainman): work around ERROR_BROKEN_PIPE is returned on reading EOF from stdin + return 0, nil + } + return 0, e + } + if raceenabled { + if done > 0 { + raceWriteRange(unsafe.Pointer(&p[0]), int(done)) + } + raceAcquire(unsafe.Pointer(&ioSync)) + } + return int(done), nil +} + +func Write(fd Handle, p []byte) (n int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + var done uint32 + e := WriteFile(fd, p, &done, nil) + if e != nil { + return 0, e + } + if raceenabled && done > 0 { + raceReadRange(unsafe.Pointer(&p[0]), int(done)) + } + return int(done), nil +} + +var ioSync int64 + +func Seek(fd Handle, offset int64, whence int) (newoffset int64, err error) { + var w uint32 + switch whence { + case 0: + w = FILE_BEGIN + case 1: + w = FILE_CURRENT + case 2: + w = FILE_END + } + hi := int32(offset >> 32) + lo := int32(offset) + // use GetFileType to check pipe, pipe can't do seek + ft, _ := GetFileType(fd) + if ft == FILE_TYPE_PIPE { + return 0, syscall.EPIPE + } + rlo, e := SetFilePointer(fd, lo, &hi, w) + if e != nil { + return 0, e + } + return int64(hi)<<32 + int64(rlo), nil +} + +func Close(fd Handle) (err error) { + return CloseHandle(fd) +} + +var ( + Stdin = getStdHandle(STD_INPUT_HANDLE) + Stdout = getStdHandle(STD_OUTPUT_HANDLE) + Stderr = getStdHandle(STD_ERROR_HANDLE) +) + +func getStdHandle(stdhandle uint32) (fd Handle) { + r, _ := GetStdHandle(stdhandle) + CloseOnExec(r) + return r +} + +const ImplementsGetwd = true + +func Getwd() (wd string, err error) { + b := make([]uint16, 300) + n, e := GetCurrentDirectory(uint32(len(b)), &b[0]) + if e != nil { + return "", e + } + return string(utf16.Decode(b[0:n])), nil +} + +func Chdir(path string) (err error) { + pathp, err := UTF16PtrFromString(path) + if err != nil { + return err + } + return SetCurrentDirectory(pathp) +} + +func Mkdir(path string, mode uint32) (err error) { + pathp, err := UTF16PtrFromString(path) + if err != nil { + return err + } + return CreateDirectory(pathp, nil) +} + +func Rmdir(path string) (err error) { + pathp, err := UTF16PtrFromString(path) + if err != nil { + return err + } + return RemoveDirectory(pathp) +} + +func Unlink(path string) (err error) { + pathp, err := UTF16PtrFromString(path) + if err != nil { + return err + } + return DeleteFile(pathp) +} + +func Rename(oldpath, newpath string) (err error) { + from, err := UTF16PtrFromString(oldpath) + if err != nil { + return err + } + to, err := UTF16PtrFromString(newpath) + if err != nil { + return err + } + return MoveFileEx(from, to, MOVEFILE_REPLACE_EXISTING) +} + +func ComputerName() (name string, err error) { + var n uint32 = MAX_COMPUTERNAME_LENGTH + 1 + b := make([]uint16, n) + e := GetComputerName(&b[0], &n) + if e != nil { + return "", e + } + return string(utf16.Decode(b[0:n])), nil +} + +func Ftruncate(fd Handle, length int64) (err error) { + curoffset, e := Seek(fd, 0, 1) + if e != nil { + return e + } + defer Seek(fd, curoffset, 0) + _, e = Seek(fd, length, 0) + if e != nil { + return e + } + e = SetEndOfFile(fd) + if e != nil { + return e + } + return nil +} + +func Gettimeofday(tv *Timeval) (err error) { + var ft Filetime + GetSystemTimeAsFileTime(&ft) + *tv = NsecToTimeval(ft.Nanoseconds()) + return nil +} + +func Pipe(p []Handle) (err error) { + if len(p) != 2 { + return syscall.EINVAL + } + var r, w Handle + e := CreatePipe(&r, &w, makeInheritSa(), 0) + if e != nil { + return e + } + p[0] = r + p[1] = w + return nil +} + +func Utimes(path string, tv []Timeval) (err error) { + if len(tv) != 2 { + return syscall.EINVAL + } + pathp, e := UTF16PtrFromString(path) + if e != nil { + return e + } + h, e := CreateFile(pathp, + FILE_WRITE_ATTRIBUTES, FILE_SHARE_WRITE, nil, + OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0) + if e != nil { + return e + } + defer Close(h) + a := NsecToFiletime(tv[0].Nanoseconds()) + w := NsecToFiletime(tv[1].Nanoseconds()) + return SetFileTime(h, nil, &a, &w) +} + +func UtimesNano(path string, ts []Timespec) (err error) { + if len(ts) != 2 { + return syscall.EINVAL + } + pathp, e := UTF16PtrFromString(path) + if e != nil { + return e + } + h, e := CreateFile(pathp, + FILE_WRITE_ATTRIBUTES, FILE_SHARE_WRITE, nil, + OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0) + if e != nil { + return e + } + defer Close(h) + a := NsecToFiletime(TimespecToNsec(ts[0])) + w := NsecToFiletime(TimespecToNsec(ts[1])) + return SetFileTime(h, nil, &a, &w) +} + +func Fsync(fd Handle) (err error) { + return FlushFileBuffers(fd) +} + +func Chmod(path string, mode uint32) (err error) { + if mode == 0 { + return syscall.EINVAL + } + p, e := UTF16PtrFromString(path) + if e != nil { + return e + } + attrs, e := GetFileAttributes(p) + if e != nil { + return e + } + if mode&S_IWRITE != 0 { + attrs &^= FILE_ATTRIBUTE_READONLY + } else { + attrs |= FILE_ATTRIBUTE_READONLY + } + return SetFileAttributes(p, attrs) +} + +func LoadGetSystemTimePreciseAsFileTime() error { + return procGetSystemTimePreciseAsFileTime.Find() +} + +func LoadCancelIoEx() error { + return procCancelIoEx.Find() +} + +func LoadSetFileCompletionNotificationModes() error { + return procSetFileCompletionNotificationModes.Find() +} + +func WaitForMultipleObjects(handles []Handle, waitAll bool, waitMilliseconds uint32) (event uint32, err error) { + // Every other win32 array API takes arguments as "pointer, count", except for this function. So we + // can't declare it as a usual [] type, because mksyscall will use the opposite order. We therefore + // trivially stub this ourselves. + + var handlePtr *Handle + if len(handles) > 0 { + handlePtr = &handles[0] + } + return waitForMultipleObjects(uint32(len(handles)), uintptr(unsafe.Pointer(handlePtr)), waitAll, waitMilliseconds) +} + +// net api calls + +const socket_error = uintptr(^uint32(0)) + +//sys WSAStartup(verreq uint32, data *WSAData) (sockerr error) = ws2_32.WSAStartup +//sys WSACleanup() (err error) [failretval==socket_error] = ws2_32.WSACleanup +//sys WSAIoctl(s Handle, iocc uint32, inbuf *byte, cbif uint32, outbuf *byte, cbob uint32, cbbr *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) [failretval==socket_error] = ws2_32.WSAIoctl +//sys socket(af int32, typ int32, protocol int32) (handle Handle, err error) [failretval==InvalidHandle] = ws2_32.socket +//sys Setsockopt(s Handle, level int32, optname int32, optval *byte, optlen int32) (err error) [failretval==socket_error] = ws2_32.setsockopt +//sys Getsockopt(s Handle, level int32, optname int32, optval *byte, optlen *int32) (err error) [failretval==socket_error] = ws2_32.getsockopt +//sys bind(s Handle, name unsafe.Pointer, namelen int32) (err error) [failretval==socket_error] = ws2_32.bind +//sys connect(s Handle, name unsafe.Pointer, namelen int32) (err error) [failretval==socket_error] = ws2_32.connect +//sys getsockname(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) [failretval==socket_error] = ws2_32.getsockname +//sys getpeername(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) [failretval==socket_error] = ws2_32.getpeername +//sys listen(s Handle, backlog int32) (err error) [failretval==socket_error] = ws2_32.listen +//sys shutdown(s Handle, how int32) (err error) [failretval==socket_error] = ws2_32.shutdown +//sys Closesocket(s Handle) (err error) [failretval==socket_error] = ws2_32.closesocket +//sys AcceptEx(ls Handle, as Handle, buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, recvd *uint32, overlapped *Overlapped) (err error) = mswsock.AcceptEx +//sys GetAcceptExSockaddrs(buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, lrsa **RawSockaddrAny, lrsalen *int32, rrsa **RawSockaddrAny, rrsalen *int32) = mswsock.GetAcceptExSockaddrs +//sys WSARecv(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSARecv +//sys WSASend(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSASend +//sys WSARecvFrom(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, from *RawSockaddrAny, fromlen *int32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSARecvFrom +//sys WSASendTo(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, to *RawSockaddrAny, tolen int32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSASendTo +//sys GetHostByName(name string) (h *Hostent, err error) [failretval==nil] = ws2_32.gethostbyname +//sys GetServByName(name string, proto string) (s *Servent, err error) [failretval==nil] = ws2_32.getservbyname +//sys Ntohs(netshort uint16) (u uint16) = ws2_32.ntohs +//sys GetProtoByName(name string) (p *Protoent, err error) [failretval==nil] = ws2_32.getprotobyname +//sys DnsQuery(name string, qtype uint16, options uint32, extra *byte, qrs **DNSRecord, pr *byte) (status error) = dnsapi.DnsQuery_W +//sys DnsRecordListFree(rl *DNSRecord, freetype uint32) = dnsapi.DnsRecordListFree +//sys DnsNameCompare(name1 *uint16, name2 *uint16) (same bool) = dnsapi.DnsNameCompare_W +//sys GetAddrInfoW(nodename *uint16, servicename *uint16, hints *AddrinfoW, result **AddrinfoW) (sockerr error) = ws2_32.GetAddrInfoW +//sys FreeAddrInfoW(addrinfo *AddrinfoW) = ws2_32.FreeAddrInfoW +//sys GetIfEntry(pIfRow *MibIfRow) (errcode error) = iphlpapi.GetIfEntry +//sys GetAdaptersInfo(ai *IpAdapterInfo, ol *uint32) (errcode error) = iphlpapi.GetAdaptersInfo +//sys SetFileCompletionNotificationModes(handle Handle, flags uint8) (err error) = kernel32.SetFileCompletionNotificationModes +//sys WSAEnumProtocols(protocols *int32, protocolBuffer *WSAProtocolInfo, bufferLength *uint32) (n int32, err error) [failretval==-1] = ws2_32.WSAEnumProtocolsW +//sys GetAdaptersAddresses(family uint32, flags uint32, reserved uintptr, adapterAddresses *IpAdapterAddresses, sizePointer *uint32) (errcode error) = iphlpapi.GetAdaptersAddresses +//sys GetACP() (acp uint32) = kernel32.GetACP +//sys MultiByteToWideChar(codePage uint32, dwFlags uint32, str *byte, nstr int32, wchar *uint16, nwchar int32) (nwrite int32, err error) = kernel32.MultiByteToWideChar + +// For testing: clients can set this flag to force +// creation of IPv6 sockets to return EAFNOSUPPORT. +var SocketDisableIPv6 bool + +type RawSockaddrInet4 struct { + Family uint16 + Port uint16 + Addr [4]byte /* in_addr */ + Zero [8]uint8 +} + +type RawSockaddrInet6 struct { + Family uint16 + Port uint16 + Flowinfo uint32 + Addr [16]byte /* in6_addr */ + Scope_id uint32 +} + +type RawSockaddr struct { + Family uint16 + Data [14]int8 +} + +type RawSockaddrAny struct { + Addr RawSockaddr + Pad [100]int8 +} + +type Sockaddr interface { + sockaddr() (ptr unsafe.Pointer, len int32, err error) // lowercase; only we can define Sockaddrs +} + +type SockaddrInet4 struct { + Port int + Addr [4]byte + raw RawSockaddrInet4 +} + +func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, int32, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, syscall.EINVAL + } + sa.raw.Family = AF_INET + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), int32(unsafe.Sizeof(sa.raw)), nil +} + +type SockaddrInet6 struct { + Port int + ZoneId uint32 + Addr [16]byte + raw RawSockaddrInet6 +} + +func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, int32, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, syscall.EINVAL + } + sa.raw.Family = AF_INET6 + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + sa.raw.Scope_id = sa.ZoneId + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return unsafe.Pointer(&sa.raw), int32(unsafe.Sizeof(sa.raw)), nil +} + +type RawSockaddrUnix struct { + Family uint16 + Path [UNIX_PATH_MAX]int8 +} + +type SockaddrUnix struct { + Name string + raw RawSockaddrUnix +} + +func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, int32, error) { + name := sa.Name + n := len(name) + if n > len(sa.raw.Path) { + return nil, 0, syscall.EINVAL + } + if n == len(sa.raw.Path) && name[0] != '@' { + return nil, 0, syscall.EINVAL + } + sa.raw.Family = AF_UNIX + for i := 0; i < n; i++ { + sa.raw.Path[i] = int8(name[i]) + } + // length is family (uint16), name, NUL. + sl := int32(2) + if n > 0 { + sl += int32(n) + 1 + } + if sa.raw.Path[0] == '@' { + sa.raw.Path[0] = 0 + // Don't count trailing NUL for abstract address. + sl-- + } + + return unsafe.Pointer(&sa.raw), sl, nil +} + +func (rsa *RawSockaddrAny) Sockaddr() (Sockaddr, error) { + switch rsa.Addr.Family { + case AF_UNIX: + pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) + sa := new(SockaddrUnix) + if pp.Path[0] == 0 { + // "Abstract" Unix domain socket. + // Rewrite leading NUL as @ for textual display. + // (This is the standard convention.) + // Not friendly to overwrite in place, + // but the callers below don't care. + pp.Path[0] = '@' + } + + // Assume path ends at NUL. + // This is not technically the Linux semantics for + // abstract Unix domain sockets--they are supposed + // to be uninterpreted fixed-size binary blobs--but + // everyone uses this convention. + n := 0 + for n < len(pp.Path) && pp.Path[n] != 0 { + n++ + } + bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] + sa.Name = string(bytes) + return sa, nil + + case AF_INET: + pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet4) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + + case AF_INET6: + pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet6) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + sa.ZoneId = pp.Scope_id + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, nil + } + return nil, syscall.EAFNOSUPPORT +} + +func Socket(domain, typ, proto int) (fd Handle, err error) { + if domain == AF_INET6 && SocketDisableIPv6 { + return InvalidHandle, syscall.EAFNOSUPPORT + } + return socket(int32(domain), int32(typ), int32(proto)) +} + +func SetsockoptInt(fd Handle, level, opt int, value int) (err error) { + v := int32(value) + return Setsockopt(fd, int32(level), int32(opt), (*byte)(unsafe.Pointer(&v)), int32(unsafe.Sizeof(v))) +} + +func Bind(fd Handle, sa Sockaddr) (err error) { + ptr, n, err := sa.sockaddr() + if err != nil { + return err + } + return bind(fd, ptr, n) +} + +func Connect(fd Handle, sa Sockaddr) (err error) { + ptr, n, err := sa.sockaddr() + if err != nil { + return err + } + return connect(fd, ptr, n) +} + +func Getsockname(fd Handle) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + l := int32(unsafe.Sizeof(rsa)) + if err = getsockname(fd, &rsa, &l); err != nil { + return + } + return rsa.Sockaddr() +} + +func Getpeername(fd Handle) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + l := int32(unsafe.Sizeof(rsa)) + if err = getpeername(fd, &rsa, &l); err != nil { + return + } + return rsa.Sockaddr() +} + +func Listen(s Handle, n int) (err error) { + return listen(s, int32(n)) +} + +func Shutdown(fd Handle, how int) (err error) { + return shutdown(fd, int32(how)) +} + +func WSASendto(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, to Sockaddr, overlapped *Overlapped, croutine *byte) (err error) { + rsa, l, err := to.sockaddr() + if err != nil { + return err + } + return WSASendTo(s, bufs, bufcnt, sent, flags, (*RawSockaddrAny)(unsafe.Pointer(rsa)), l, overlapped, croutine) +} + +func LoadGetAddrInfo() error { + return procGetAddrInfoW.Find() +} + +var connectExFunc struct { + once sync.Once + addr uintptr + err error +} + +func LoadConnectEx() error { + connectExFunc.once.Do(func() { + var s Handle + s, connectExFunc.err = Socket(AF_INET, SOCK_STREAM, IPPROTO_TCP) + if connectExFunc.err != nil { + return + } + defer CloseHandle(s) + var n uint32 + connectExFunc.err = WSAIoctl(s, + SIO_GET_EXTENSION_FUNCTION_POINTER, + (*byte)(unsafe.Pointer(&WSAID_CONNECTEX)), + uint32(unsafe.Sizeof(WSAID_CONNECTEX)), + (*byte)(unsafe.Pointer(&connectExFunc.addr)), + uint32(unsafe.Sizeof(connectExFunc.addr)), + &n, nil, 0) + }) + return connectExFunc.err +} + +func connectEx(s Handle, name unsafe.Pointer, namelen int32, sendBuf *byte, sendDataLen uint32, bytesSent *uint32, overlapped *Overlapped) (err error) { + r1, _, e1 := syscall.Syscall9(connectExFunc.addr, 7, uintptr(s), uintptr(name), uintptr(namelen), uintptr(unsafe.Pointer(sendBuf)), uintptr(sendDataLen), uintptr(unsafe.Pointer(bytesSent)), uintptr(unsafe.Pointer(overlapped)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = error(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func ConnectEx(fd Handle, sa Sockaddr, sendBuf *byte, sendDataLen uint32, bytesSent *uint32, overlapped *Overlapped) error { + err := LoadConnectEx() + if err != nil { + return errorspkg.New("failed to find ConnectEx: " + err.Error()) + } + ptr, n, err := sa.sockaddr() + if err != nil { + return err + } + return connectEx(fd, ptr, n, sendBuf, sendDataLen, bytesSent, overlapped) +} + +var sendRecvMsgFunc struct { + once sync.Once + sendAddr uintptr + recvAddr uintptr + err error +} + +func loadWSASendRecvMsg() error { + sendRecvMsgFunc.once.Do(func() { + var s Handle + s, sendRecvMsgFunc.err = Socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP) + if sendRecvMsgFunc.err != nil { + return + } + defer CloseHandle(s) + var n uint32 + sendRecvMsgFunc.err = WSAIoctl(s, + SIO_GET_EXTENSION_FUNCTION_POINTER, + (*byte)(unsafe.Pointer(&WSAID_WSARECVMSG)), + uint32(unsafe.Sizeof(WSAID_WSARECVMSG)), + (*byte)(unsafe.Pointer(&sendRecvMsgFunc.recvAddr)), + uint32(unsafe.Sizeof(sendRecvMsgFunc.recvAddr)), + &n, nil, 0) + if sendRecvMsgFunc.err != nil { + return + } + sendRecvMsgFunc.err = WSAIoctl(s, + SIO_GET_EXTENSION_FUNCTION_POINTER, + (*byte)(unsafe.Pointer(&WSAID_WSASENDMSG)), + uint32(unsafe.Sizeof(WSAID_WSASENDMSG)), + (*byte)(unsafe.Pointer(&sendRecvMsgFunc.sendAddr)), + uint32(unsafe.Sizeof(sendRecvMsgFunc.sendAddr)), + &n, nil, 0) + }) + return sendRecvMsgFunc.err +} + +func WSASendMsg(fd Handle, msg *WSAMsg, flags uint32, bytesSent *uint32, overlapped *Overlapped, croutine *byte) error { + err := loadWSASendRecvMsg() + if err != nil { + return err + } + r1, _, e1 := syscall.Syscall6(sendRecvMsgFunc.sendAddr, 6, uintptr(fd), uintptr(unsafe.Pointer(msg)), uintptr(flags), uintptr(unsafe.Pointer(bytesSent)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine))) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return err +} + +func WSARecvMsg(fd Handle, msg *WSAMsg, bytesReceived *uint32, overlapped *Overlapped, croutine *byte) error { + err := loadWSASendRecvMsg() + if err != nil { + return err + } + r1, _, e1 := syscall.Syscall6(sendRecvMsgFunc.recvAddr, 5, uintptr(fd), uintptr(unsafe.Pointer(msg)), uintptr(unsafe.Pointer(bytesReceived)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine)), 0) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return err +} + +// Invented structures to support what package os expects. +type Rusage struct { + CreationTime Filetime + ExitTime Filetime + KernelTime Filetime + UserTime Filetime +} + +type WaitStatus struct { + ExitCode uint32 +} + +func (w WaitStatus) Exited() bool { return true } + +func (w WaitStatus) ExitStatus() int { return int(w.ExitCode) } + +func (w WaitStatus) Signal() Signal { return -1 } + +func (w WaitStatus) CoreDump() bool { return false } + +func (w WaitStatus) Stopped() bool { return false } + +func (w WaitStatus) Continued() bool { return false } + +func (w WaitStatus) StopSignal() Signal { return -1 } + +func (w WaitStatus) Signaled() bool { return false } + +func (w WaitStatus) TrapCause() int { return -1 } + +// Timespec is an invented structure on Windows, but here for +// consistency with the corresponding package for other operating systems. +type Timespec struct { + Sec int64 + Nsec int64 +} + +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +func NsecToTimespec(nsec int64) (ts Timespec) { + ts.Sec = nsec / 1e9 + ts.Nsec = nsec % 1e9 + return +} + +// TODO(brainman): fix all needed for net + +func Accept(fd Handle) (nfd Handle, sa Sockaddr, err error) { return 0, nil, syscall.EWINDOWS } +func Recvfrom(fd Handle, p []byte, flags int) (n int, from Sockaddr, err error) { + return 0, nil, syscall.EWINDOWS +} +func Sendto(fd Handle, p []byte, flags int, to Sockaddr) (err error) { return syscall.EWINDOWS } +func SetsockoptTimeval(fd Handle, level, opt int, tv *Timeval) (err error) { return syscall.EWINDOWS } + +// The Linger struct is wrong but we only noticed after Go 1. +// sysLinger is the real system call structure. + +// BUG(brainman): The definition of Linger is not appropriate for direct use +// with Setsockopt and Getsockopt. +// Use SetsockoptLinger instead. + +type Linger struct { + Onoff int32 + Linger int32 +} + +type sysLinger struct { + Onoff uint16 + Linger uint16 +} + +type IPMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +} + +func GetsockoptInt(fd Handle, level, opt int) (int, error) { return -1, syscall.EWINDOWS } + +func SetsockoptLinger(fd Handle, level, opt int, l *Linger) (err error) { + sys := sysLinger{Onoff: uint16(l.Onoff), Linger: uint16(l.Linger)} + return Setsockopt(fd, int32(level), int32(opt), (*byte)(unsafe.Pointer(&sys)), int32(unsafe.Sizeof(sys))) +} + +func SetsockoptInet4Addr(fd Handle, level, opt int, value [4]byte) (err error) { + return Setsockopt(fd, int32(level), int32(opt), (*byte)(unsafe.Pointer(&value[0])), 4) +} +func SetsockoptIPMreq(fd Handle, level, opt int, mreq *IPMreq) (err error) { + return Setsockopt(fd, int32(level), int32(opt), (*byte)(unsafe.Pointer(mreq)), int32(unsafe.Sizeof(*mreq))) +} +func SetsockoptIPv6Mreq(fd Handle, level, opt int, mreq *IPv6Mreq) (err error) { + return syscall.EWINDOWS +} + +func Getpid() (pid int) { return int(getCurrentProcessId()) } + +func FindFirstFile(name *uint16, data *Win32finddata) (handle Handle, err error) { + // NOTE(rsc): The Win32finddata struct is wrong for the system call: + // the two paths are each one uint16 short. Use the correct struct, + // a win32finddata1, and then copy the results out. + // There is no loss of expressivity here, because the final + // uint16, if it is used, is supposed to be a NUL, and Go doesn't need that. + // For Go 1.1, we might avoid the allocation of win32finddata1 here + // by adding a final Bug [2]uint16 field to the struct and then + // adjusting the fields in the result directly. + var data1 win32finddata1 + handle, err = findFirstFile1(name, &data1) + if err == nil { + copyFindData(data, &data1) + } + return +} + +func FindNextFile(handle Handle, data *Win32finddata) (err error) { + var data1 win32finddata1 + err = findNextFile1(handle, &data1) + if err == nil { + copyFindData(data, &data1) + } + return +} + +func getProcessEntry(pid int) (*ProcessEntry32, error) { + snapshot, err := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0) + if err != nil { + return nil, err + } + defer CloseHandle(snapshot) + var procEntry ProcessEntry32 + procEntry.Size = uint32(unsafe.Sizeof(procEntry)) + if err = Process32First(snapshot, &procEntry); err != nil { + return nil, err + } + for { + if procEntry.ProcessID == uint32(pid) { + return &procEntry, nil + } + err = Process32Next(snapshot, &procEntry) + if err != nil { + return nil, err + } + } +} + +func Getppid() (ppid int) { + pe, err := getProcessEntry(Getpid()) + if err != nil { + return -1 + } + return int(pe.ParentProcessID) +} + +// TODO(brainman): fix all needed for os +func Fchdir(fd Handle) (err error) { return syscall.EWINDOWS } +func Link(oldpath, newpath string) (err error) { return syscall.EWINDOWS } +func Symlink(path, link string) (err error) { return syscall.EWINDOWS } + +func Fchmod(fd Handle, mode uint32) (err error) { return syscall.EWINDOWS } +func Chown(path string, uid int, gid int) (err error) { return syscall.EWINDOWS } +func Lchown(path string, uid int, gid int) (err error) { return syscall.EWINDOWS } +func Fchown(fd Handle, uid int, gid int) (err error) { return syscall.EWINDOWS } + +func Getuid() (uid int) { return -1 } +func Geteuid() (euid int) { return -1 } +func Getgid() (gid int) { return -1 } +func Getegid() (egid int) { return -1 } +func Getgroups() (gids []int, err error) { return nil, syscall.EWINDOWS } + +type Signal int + +func (s Signal) Signal() {} + +func (s Signal) String() string { + if 0 <= s && int(s) < len(signals) { + str := signals[s] + if str != "" { + return str + } + } + return "signal " + itoa(int(s)) +} + +func LoadCreateSymbolicLink() error { + return procCreateSymbolicLinkW.Find() +} + +// Readlink returns the destination of the named symbolic link. +func Readlink(path string, buf []byte) (n int, err error) { + fd, err := CreateFile(StringToUTF16Ptr(path), GENERIC_READ, 0, nil, OPEN_EXISTING, + FILE_FLAG_OPEN_REPARSE_POINT|FILE_FLAG_BACKUP_SEMANTICS, 0) + if err != nil { + return -1, err + } + defer CloseHandle(fd) + + rdbbuf := make([]byte, MAXIMUM_REPARSE_DATA_BUFFER_SIZE) + var bytesReturned uint32 + err = DeviceIoControl(fd, FSCTL_GET_REPARSE_POINT, nil, 0, &rdbbuf[0], uint32(len(rdbbuf)), &bytesReturned, nil) + if err != nil { + return -1, err + } + + rdb := (*reparseDataBuffer)(unsafe.Pointer(&rdbbuf[0])) + var s string + switch rdb.ReparseTag { + case IO_REPARSE_TAG_SYMLINK: + data := (*symbolicLinkReparseBuffer)(unsafe.Pointer(&rdb.reparseBuffer)) + p := (*[0xffff]uint16)(unsafe.Pointer(&data.PathBuffer[0])) + s = UTF16ToString(p[data.PrintNameOffset/2 : (data.PrintNameLength-data.PrintNameOffset)/2]) + case IO_REPARSE_TAG_MOUNT_POINT: + data := (*mountPointReparseBuffer)(unsafe.Pointer(&rdb.reparseBuffer)) + p := (*[0xffff]uint16)(unsafe.Pointer(&data.PathBuffer[0])) + s = UTF16ToString(p[data.PrintNameOffset/2 : (data.PrintNameLength-data.PrintNameOffset)/2]) + default: + // the path is not a symlink or junction but another type of reparse + // point + return -1, syscall.ENOENT + } + n = copy(buf, []byte(s)) + + return n, nil +} diff --git a/vendor/golang.org/x/sys/windows/types_windows.go b/vendor/golang.org/x/sys/windows/types_windows.go new file mode 100644 index 000000000..141ca81bd --- /dev/null +++ b/vendor/golang.org/x/sys/windows/types_windows.go @@ -0,0 +1,1469 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package windows + +import "syscall" + +const ( + // Windows errors. + ERROR_FILE_NOT_FOUND syscall.Errno = 2 + ERROR_PATH_NOT_FOUND syscall.Errno = 3 + ERROR_ACCESS_DENIED syscall.Errno = 5 + ERROR_NO_MORE_FILES syscall.Errno = 18 + ERROR_HANDLE_EOF syscall.Errno = 38 + ERROR_NETNAME_DELETED syscall.Errno = 64 + ERROR_FILE_EXISTS syscall.Errno = 80 + ERROR_BROKEN_PIPE syscall.Errno = 109 + ERROR_BUFFER_OVERFLOW syscall.Errno = 111 + ERROR_INSUFFICIENT_BUFFER syscall.Errno = 122 + ERROR_MOD_NOT_FOUND syscall.Errno = 126 + ERROR_PROC_NOT_FOUND syscall.Errno = 127 + ERROR_ALREADY_EXISTS syscall.Errno = 183 + ERROR_ENVVAR_NOT_FOUND syscall.Errno = 203 + ERROR_MORE_DATA syscall.Errno = 234 + ERROR_OPERATION_ABORTED syscall.Errno = 995 + ERROR_IO_PENDING syscall.Errno = 997 + ERROR_SERVICE_SPECIFIC_ERROR syscall.Errno = 1066 + ERROR_NOT_FOUND syscall.Errno = 1168 + ERROR_PRIVILEGE_NOT_HELD syscall.Errno = 1314 + WSAEACCES syscall.Errno = 10013 + WSAEMSGSIZE syscall.Errno = 10040 + WSAECONNRESET syscall.Errno = 10054 +) + +const ( + // Invented values to support what package os expects. + O_RDONLY = 0x00000 + O_WRONLY = 0x00001 + O_RDWR = 0x00002 + O_CREAT = 0x00040 + O_EXCL = 0x00080 + O_NOCTTY = 0x00100 + O_TRUNC = 0x00200 + O_NONBLOCK = 0x00800 + O_APPEND = 0x00400 + O_SYNC = 0x01000 + O_ASYNC = 0x02000 + O_CLOEXEC = 0x80000 +) + +const ( + // More invented values for signals + SIGHUP = Signal(0x1) + SIGINT = Signal(0x2) + SIGQUIT = Signal(0x3) + SIGILL = Signal(0x4) + SIGTRAP = Signal(0x5) + SIGABRT = Signal(0x6) + SIGBUS = Signal(0x7) + SIGFPE = Signal(0x8) + SIGKILL = Signal(0x9) + SIGSEGV = Signal(0xb) + SIGPIPE = Signal(0xd) + SIGALRM = Signal(0xe) + SIGTERM = Signal(0xf) +) + +var signals = [...]string{ + 1: "hangup", + 2: "interrupt", + 3: "quit", + 4: "illegal instruction", + 5: "trace/breakpoint trap", + 6: "aborted", + 7: "bus error", + 8: "floating point exception", + 9: "killed", + 10: "user defined signal 1", + 11: "segmentation fault", + 12: "user defined signal 2", + 13: "broken pipe", + 14: "alarm clock", + 15: "terminated", +} + +const ( + GENERIC_READ = 0x80000000 + GENERIC_WRITE = 0x40000000 + GENERIC_EXECUTE = 0x20000000 + GENERIC_ALL = 0x10000000 + + FILE_LIST_DIRECTORY = 0x00000001 + FILE_APPEND_DATA = 0x00000004 + FILE_WRITE_ATTRIBUTES = 0x00000100 + + FILE_SHARE_READ = 0x00000001 + FILE_SHARE_WRITE = 0x00000002 + FILE_SHARE_DELETE = 0x00000004 + + FILE_ATTRIBUTE_READONLY = 0x00000001 + FILE_ATTRIBUTE_HIDDEN = 0x00000002 + FILE_ATTRIBUTE_SYSTEM = 0x00000004 + FILE_ATTRIBUTE_DIRECTORY = 0x00000010 + FILE_ATTRIBUTE_ARCHIVE = 0x00000020 + FILE_ATTRIBUTE_DEVICE = 0x00000040 + FILE_ATTRIBUTE_NORMAL = 0x00000080 + FILE_ATTRIBUTE_TEMPORARY = 0x00000100 + FILE_ATTRIBUTE_SPARSE_FILE = 0x00000200 + FILE_ATTRIBUTE_REPARSE_POINT = 0x00000400 + FILE_ATTRIBUTE_COMPRESSED = 0x00000800 + FILE_ATTRIBUTE_OFFLINE = 0x00001000 + FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 0x00002000 + FILE_ATTRIBUTE_ENCRYPTED = 0x00004000 + FILE_ATTRIBUTE_INTEGRITY_STREAM = 0x00008000 + FILE_ATTRIBUTE_VIRTUAL = 0x00010000 + FILE_ATTRIBUTE_NO_SCRUB_DATA = 0x00020000 + FILE_ATTRIBUTE_RECALL_ON_OPEN = 0x00040000 + FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS = 0x00400000 + + INVALID_FILE_ATTRIBUTES = 0xffffffff + + CREATE_NEW = 1 + CREATE_ALWAYS = 2 + OPEN_EXISTING = 3 + OPEN_ALWAYS = 4 + TRUNCATE_EXISTING = 5 + + FILE_FLAG_OPEN_REPARSE_POINT = 0x00200000 + FILE_FLAG_BACKUP_SEMANTICS = 0x02000000 + FILE_FLAG_OVERLAPPED = 0x40000000 + + HANDLE_FLAG_INHERIT = 0x00000001 + STARTF_USESTDHANDLES = 0x00000100 + STARTF_USESHOWWINDOW = 0x00000001 + DUPLICATE_CLOSE_SOURCE = 0x00000001 + DUPLICATE_SAME_ACCESS = 0x00000002 + + STD_INPUT_HANDLE = -10 & (1<<32 - 1) + STD_OUTPUT_HANDLE = -11 & (1<<32 - 1) + STD_ERROR_HANDLE = -12 & (1<<32 - 1) + + FILE_BEGIN = 0 + FILE_CURRENT = 1 + FILE_END = 2 + + LANG_ENGLISH = 0x09 + SUBLANG_ENGLISH_US = 0x01 + + FORMAT_MESSAGE_ALLOCATE_BUFFER = 256 + FORMAT_MESSAGE_IGNORE_INSERTS = 512 + FORMAT_MESSAGE_FROM_STRING = 1024 + FORMAT_MESSAGE_FROM_HMODULE = 2048 + FORMAT_MESSAGE_FROM_SYSTEM = 4096 + FORMAT_MESSAGE_ARGUMENT_ARRAY = 8192 + FORMAT_MESSAGE_MAX_WIDTH_MASK = 255 + + MAX_PATH = 260 + MAX_LONG_PATH = 32768 + + MAX_COMPUTERNAME_LENGTH = 15 + + TIME_ZONE_ID_UNKNOWN = 0 + TIME_ZONE_ID_STANDARD = 1 + + TIME_ZONE_ID_DAYLIGHT = 2 + IGNORE = 0 + INFINITE = 0xffffffff + + WAIT_TIMEOUT = 258 + WAIT_ABANDONED = 0x00000080 + WAIT_OBJECT_0 = 0x00000000 + WAIT_FAILED = 0xFFFFFFFF + + PROCESS_TERMINATE = 1 + PROCESS_QUERY_INFORMATION = 0x00000400 + SYNCHRONIZE = 0x00100000 + + FILE_MAP_COPY = 0x01 + FILE_MAP_WRITE = 0x02 + FILE_MAP_READ = 0x04 + FILE_MAP_EXECUTE = 0x20 + + CTRL_C_EVENT = 0 + CTRL_BREAK_EVENT = 1 + + // Windows reserves errors >= 1<<29 for application use. + APPLICATION_ERROR = 1 << 29 +) + +const ( + // Process creation flags. + CREATE_BREAKAWAY_FROM_JOB = 0x01000000 + CREATE_DEFAULT_ERROR_MODE = 0x04000000 + CREATE_NEW_CONSOLE = 0x00000010 + CREATE_NEW_PROCESS_GROUP = 0x00000200 + CREATE_NO_WINDOW = 0x08000000 + CREATE_PROTECTED_PROCESS = 0x00040000 + CREATE_PRESERVE_CODE_AUTHZ_LEVEL = 0x02000000 + CREATE_SEPARATE_WOW_VDM = 0x00000800 + CREATE_SHARED_WOW_VDM = 0x00001000 + CREATE_SUSPENDED = 0x00000004 + CREATE_UNICODE_ENVIRONMENT = 0x00000400 + DEBUG_ONLY_THIS_PROCESS = 0x00000002 + DEBUG_PROCESS = 0x00000001 + DETACHED_PROCESS = 0x00000008 + EXTENDED_STARTUPINFO_PRESENT = 0x00080000 + INHERIT_PARENT_AFFINITY = 0x00010000 +) + +const ( + // flags for CreateToolhelp32Snapshot + TH32CS_SNAPHEAPLIST = 0x01 + TH32CS_SNAPPROCESS = 0x02 + TH32CS_SNAPTHREAD = 0x04 + TH32CS_SNAPMODULE = 0x08 + TH32CS_SNAPMODULE32 = 0x10 + TH32CS_SNAPALL = TH32CS_SNAPHEAPLIST | TH32CS_SNAPMODULE | TH32CS_SNAPPROCESS | TH32CS_SNAPTHREAD + TH32CS_INHERIT = 0x80000000 +) + +const ( + // filters for ReadDirectoryChangesW + FILE_NOTIFY_CHANGE_FILE_NAME = 0x001 + FILE_NOTIFY_CHANGE_DIR_NAME = 0x002 + FILE_NOTIFY_CHANGE_ATTRIBUTES = 0x004 + FILE_NOTIFY_CHANGE_SIZE = 0x008 + FILE_NOTIFY_CHANGE_LAST_WRITE = 0x010 + FILE_NOTIFY_CHANGE_LAST_ACCESS = 0x020 + FILE_NOTIFY_CHANGE_CREATION = 0x040 + FILE_NOTIFY_CHANGE_SECURITY = 0x100 +) + +const ( + // do not reorder + FILE_ACTION_ADDED = iota + 1 + FILE_ACTION_REMOVED + FILE_ACTION_MODIFIED + FILE_ACTION_RENAMED_OLD_NAME + FILE_ACTION_RENAMED_NEW_NAME +) + +const ( + // wincrypt.h + PROV_RSA_FULL = 1 + PROV_RSA_SIG = 2 + PROV_DSS = 3 + PROV_FORTEZZA = 4 + PROV_MS_EXCHANGE = 5 + PROV_SSL = 6 + PROV_RSA_SCHANNEL = 12 + PROV_DSS_DH = 13 + PROV_EC_ECDSA_SIG = 14 + PROV_EC_ECNRA_SIG = 15 + PROV_EC_ECDSA_FULL = 16 + PROV_EC_ECNRA_FULL = 17 + PROV_DH_SCHANNEL = 18 + PROV_SPYRUS_LYNKS = 20 + PROV_RNG = 21 + PROV_INTEL_SEC = 22 + PROV_REPLACE_OWF = 23 + PROV_RSA_AES = 24 + CRYPT_VERIFYCONTEXT = 0xF0000000 + CRYPT_NEWKEYSET = 0x00000008 + CRYPT_DELETEKEYSET = 0x00000010 + CRYPT_MACHINE_KEYSET = 0x00000020 + CRYPT_SILENT = 0x00000040 + CRYPT_DEFAULT_CONTAINER_OPTIONAL = 0x00000080 + + USAGE_MATCH_TYPE_AND = 0 + USAGE_MATCH_TYPE_OR = 1 + + /* msgAndCertEncodingType values for CertOpenStore function */ + X509_ASN_ENCODING = 0x00000001 + PKCS_7_ASN_ENCODING = 0x00010000 + + /* storeProvider values for CertOpenStore function */ + CERT_STORE_PROV_MSG = 1 + CERT_STORE_PROV_MEMORY = 2 + CERT_STORE_PROV_FILE = 3 + CERT_STORE_PROV_REG = 4 + CERT_STORE_PROV_PKCS7 = 5 + CERT_STORE_PROV_SERIALIZED = 6 + CERT_STORE_PROV_FILENAME_A = 7 + CERT_STORE_PROV_FILENAME_W = 8 + CERT_STORE_PROV_FILENAME = CERT_STORE_PROV_FILENAME_W + CERT_STORE_PROV_SYSTEM_A = 9 + CERT_STORE_PROV_SYSTEM_W = 10 + CERT_STORE_PROV_SYSTEM = CERT_STORE_PROV_SYSTEM_W + CERT_STORE_PROV_COLLECTION = 11 + CERT_STORE_PROV_SYSTEM_REGISTRY_A = 12 + CERT_STORE_PROV_SYSTEM_REGISTRY_W = 13 + CERT_STORE_PROV_SYSTEM_REGISTRY = CERT_STORE_PROV_SYSTEM_REGISTRY_W + CERT_STORE_PROV_PHYSICAL_W = 14 + CERT_STORE_PROV_PHYSICAL = CERT_STORE_PROV_PHYSICAL_W + CERT_STORE_PROV_SMART_CARD_W = 15 + CERT_STORE_PROV_SMART_CARD = CERT_STORE_PROV_SMART_CARD_W + CERT_STORE_PROV_LDAP_W = 16 + CERT_STORE_PROV_LDAP = CERT_STORE_PROV_LDAP_W + CERT_STORE_PROV_PKCS12 = 17 + + /* store characteristics (low WORD of flag) for CertOpenStore function */ + CERT_STORE_NO_CRYPT_RELEASE_FLAG = 0x00000001 + CERT_STORE_SET_LOCALIZED_NAME_FLAG = 0x00000002 + CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG = 0x00000004 + CERT_STORE_DELETE_FLAG = 0x00000010 + CERT_STORE_UNSAFE_PHYSICAL_FLAG = 0x00000020 + CERT_STORE_SHARE_STORE_FLAG = 0x00000040 + CERT_STORE_SHARE_CONTEXT_FLAG = 0x00000080 + CERT_STORE_MANIFOLD_FLAG = 0x00000100 + CERT_STORE_ENUM_ARCHIVED_FLAG = 0x00000200 + CERT_STORE_UPDATE_KEYID_FLAG = 0x00000400 + CERT_STORE_BACKUP_RESTORE_FLAG = 0x00000800 + CERT_STORE_MAXIMUM_ALLOWED_FLAG = 0x00001000 + CERT_STORE_CREATE_NEW_FLAG = 0x00002000 + CERT_STORE_OPEN_EXISTING_FLAG = 0x00004000 + CERT_STORE_READONLY_FLAG = 0x00008000 + + /* store locations (high WORD of flag) for CertOpenStore function */ + CERT_SYSTEM_STORE_CURRENT_USER = 0x00010000 + CERT_SYSTEM_STORE_LOCAL_MACHINE = 0x00020000 + CERT_SYSTEM_STORE_CURRENT_SERVICE = 0x00040000 + CERT_SYSTEM_STORE_SERVICES = 0x00050000 + CERT_SYSTEM_STORE_USERS = 0x00060000 + CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY = 0x00070000 + CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY = 0x00080000 + CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE = 0x00090000 + CERT_SYSTEM_STORE_UNPROTECTED_FLAG = 0x40000000 + CERT_SYSTEM_STORE_RELOCATE_FLAG = 0x80000000 + + /* Miscellaneous high-WORD flags for CertOpenStore function */ + CERT_REGISTRY_STORE_REMOTE_FLAG = 0x00010000 + CERT_REGISTRY_STORE_SERIALIZED_FLAG = 0x00020000 + CERT_REGISTRY_STORE_ROAMING_FLAG = 0x00040000 + CERT_REGISTRY_STORE_MY_IE_DIRTY_FLAG = 0x00080000 + CERT_REGISTRY_STORE_LM_GPT_FLAG = 0x01000000 + CERT_REGISTRY_STORE_CLIENT_GPT_FLAG = 0x80000000 + CERT_FILE_STORE_COMMIT_ENABLE_FLAG = 0x00010000 + CERT_LDAP_STORE_SIGN_FLAG = 0x00010000 + CERT_LDAP_STORE_AREC_EXCLUSIVE_FLAG = 0x00020000 + CERT_LDAP_STORE_OPENED_FLAG = 0x00040000 + CERT_LDAP_STORE_UNBIND_FLAG = 0x00080000 + + /* addDisposition values for CertAddCertificateContextToStore function */ + CERT_STORE_ADD_NEW = 1 + CERT_STORE_ADD_USE_EXISTING = 2 + CERT_STORE_ADD_REPLACE_EXISTING = 3 + CERT_STORE_ADD_ALWAYS = 4 + CERT_STORE_ADD_REPLACE_EXISTING_INHERIT_PROPERTIES = 5 + CERT_STORE_ADD_NEWER = 6 + CERT_STORE_ADD_NEWER_INHERIT_PROPERTIES = 7 + + /* ErrorStatus values for CertTrustStatus struct */ + CERT_TRUST_NO_ERROR = 0x00000000 + CERT_TRUST_IS_NOT_TIME_VALID = 0x00000001 + CERT_TRUST_IS_REVOKED = 0x00000004 + CERT_TRUST_IS_NOT_SIGNATURE_VALID = 0x00000008 + CERT_TRUST_IS_NOT_VALID_FOR_USAGE = 0x00000010 + CERT_TRUST_IS_UNTRUSTED_ROOT = 0x00000020 + CERT_TRUST_REVOCATION_STATUS_UNKNOWN = 0x00000040 + CERT_TRUST_IS_CYCLIC = 0x00000080 + CERT_TRUST_INVALID_EXTENSION = 0x00000100 + CERT_TRUST_INVALID_POLICY_CONSTRAINTS = 0x00000200 + CERT_TRUST_INVALID_BASIC_CONSTRAINTS = 0x00000400 + CERT_TRUST_INVALID_NAME_CONSTRAINTS = 0x00000800 + CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT = 0x00001000 + CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT = 0x00002000 + CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT = 0x00004000 + CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT = 0x00008000 + CERT_TRUST_IS_PARTIAL_CHAIN = 0x00010000 + CERT_TRUST_CTL_IS_NOT_TIME_VALID = 0x00020000 + CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID = 0x00040000 + CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE = 0x00080000 + CERT_TRUST_HAS_WEAK_SIGNATURE = 0x00100000 + CERT_TRUST_IS_OFFLINE_REVOCATION = 0x01000000 + CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY = 0x02000000 + CERT_TRUST_IS_EXPLICIT_DISTRUST = 0x04000000 + CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT = 0x08000000 + + /* InfoStatus values for CertTrustStatus struct */ + CERT_TRUST_HAS_EXACT_MATCH_ISSUER = 0x00000001 + CERT_TRUST_HAS_KEY_MATCH_ISSUER = 0x00000002 + CERT_TRUST_HAS_NAME_MATCH_ISSUER = 0x00000004 + CERT_TRUST_IS_SELF_SIGNED = 0x00000008 + CERT_TRUST_HAS_PREFERRED_ISSUER = 0x00000100 + CERT_TRUST_HAS_ISSUANCE_CHAIN_POLICY = 0x00000400 + CERT_TRUST_HAS_VALID_NAME_CONSTRAINTS = 0x00000400 + CERT_TRUST_IS_PEER_TRUSTED = 0x00000800 + CERT_TRUST_HAS_CRL_VALIDITY_EXTENDED = 0x00001000 + CERT_TRUST_IS_FROM_EXCLUSIVE_TRUST_STORE = 0x00002000 + CERT_TRUST_IS_CA_TRUSTED = 0x00004000 + CERT_TRUST_IS_COMPLEX_CHAIN = 0x00010000 + + /* policyOID values for CertVerifyCertificateChainPolicy function */ + CERT_CHAIN_POLICY_BASE = 1 + CERT_CHAIN_POLICY_AUTHENTICODE = 2 + CERT_CHAIN_POLICY_AUTHENTICODE_TS = 3 + CERT_CHAIN_POLICY_SSL = 4 + CERT_CHAIN_POLICY_BASIC_CONSTRAINTS = 5 + CERT_CHAIN_POLICY_NT_AUTH = 6 + CERT_CHAIN_POLICY_MICROSOFT_ROOT = 7 + CERT_CHAIN_POLICY_EV = 8 + CERT_CHAIN_POLICY_SSL_F12 = 9 + + CERT_E_EXPIRED = 0x800B0101 + CERT_E_ROLE = 0x800B0103 + CERT_E_PURPOSE = 0x800B0106 + CERT_E_UNTRUSTEDROOT = 0x800B0109 + CERT_E_CN_NO_MATCH = 0x800B010F + + /* AuthType values for SSLExtraCertChainPolicyPara struct */ + AUTHTYPE_CLIENT = 1 + AUTHTYPE_SERVER = 2 + + /* Checks values for SSLExtraCertChainPolicyPara struct */ + SECURITY_FLAG_IGNORE_REVOCATION = 0x00000080 + SECURITY_FLAG_IGNORE_UNKNOWN_CA = 0x00000100 + SECURITY_FLAG_IGNORE_WRONG_USAGE = 0x00000200 + SECURITY_FLAG_IGNORE_CERT_CN_INVALID = 0x00001000 + SECURITY_FLAG_IGNORE_CERT_DATE_INVALID = 0x00002000 +) + +var ( + OID_PKIX_KP_SERVER_AUTH = []byte("1.3.6.1.5.5.7.3.1\x00") + OID_SERVER_GATED_CRYPTO = []byte("1.3.6.1.4.1.311.10.3.3\x00") + OID_SGC_NETSCAPE = []byte("2.16.840.1.113730.4.1\x00") +) + +// Pointer represents a pointer to an arbitrary Windows type. +// +// Pointer-typed fields may point to one of many different types. It's +// up to the caller to provide a pointer to the appropriate type, cast +// to Pointer. The caller must obey the unsafe.Pointer rules while +// doing so. +type Pointer *struct{} + +// Invented values to support what package os expects. +type Timeval struct { + Sec int32 + Usec int32 +} + +func (tv *Timeval) Nanoseconds() int64 { + return (int64(tv.Sec)*1e6 + int64(tv.Usec)) * 1e3 +} + +func NsecToTimeval(nsec int64) (tv Timeval) { + tv.Sec = int32(nsec / 1e9) + tv.Usec = int32(nsec % 1e9 / 1e3) + return +} + +type SecurityAttributes struct { + Length uint32 + SecurityDescriptor uintptr + InheritHandle uint32 +} + +type Overlapped struct { + Internal uintptr + InternalHigh uintptr + Offset uint32 + OffsetHigh uint32 + HEvent Handle +} + +type FileNotifyInformation struct { + NextEntryOffset uint32 + Action uint32 + FileNameLength uint32 + FileName uint16 +} + +type Filetime struct { + LowDateTime uint32 + HighDateTime uint32 +} + +// Nanoseconds returns Filetime ft in nanoseconds +// since Epoch (00:00:00 UTC, January 1, 1970). +func (ft *Filetime) Nanoseconds() int64 { + // 100-nanosecond intervals since January 1, 1601 + nsec := int64(ft.HighDateTime)<<32 + int64(ft.LowDateTime) + // change starting time to the Epoch (00:00:00 UTC, January 1, 1970) + nsec -= 116444736000000000 + // convert into nanoseconds + nsec *= 100 + return nsec +} + +func NsecToFiletime(nsec int64) (ft Filetime) { + // convert into 100-nanosecond + nsec /= 100 + // change starting time to January 1, 1601 + nsec += 116444736000000000 + // split into high / low + ft.LowDateTime = uint32(nsec & 0xffffffff) + ft.HighDateTime = uint32(nsec >> 32 & 0xffffffff) + return ft +} + +type Win32finddata struct { + FileAttributes uint32 + CreationTime Filetime + LastAccessTime Filetime + LastWriteTime Filetime + FileSizeHigh uint32 + FileSizeLow uint32 + Reserved0 uint32 + Reserved1 uint32 + FileName [MAX_PATH - 1]uint16 + AlternateFileName [13]uint16 +} + +// This is the actual system call structure. +// Win32finddata is what we committed to in Go 1. +type win32finddata1 struct { + FileAttributes uint32 + CreationTime Filetime + LastAccessTime Filetime + LastWriteTime Filetime + FileSizeHigh uint32 + FileSizeLow uint32 + Reserved0 uint32 + Reserved1 uint32 + FileName [MAX_PATH]uint16 + AlternateFileName [14]uint16 +} + +func copyFindData(dst *Win32finddata, src *win32finddata1) { + dst.FileAttributes = src.FileAttributes + dst.CreationTime = src.CreationTime + dst.LastAccessTime = src.LastAccessTime + dst.LastWriteTime = src.LastWriteTime + dst.FileSizeHigh = src.FileSizeHigh + dst.FileSizeLow = src.FileSizeLow + dst.Reserved0 = src.Reserved0 + dst.Reserved1 = src.Reserved1 + + // The src is 1 element bigger than dst, but it must be NUL. + copy(dst.FileName[:], src.FileName[:]) + copy(dst.AlternateFileName[:], src.AlternateFileName[:]) +} + +type ByHandleFileInformation struct { + FileAttributes uint32 + CreationTime Filetime + LastAccessTime Filetime + LastWriteTime Filetime + VolumeSerialNumber uint32 + FileSizeHigh uint32 + FileSizeLow uint32 + NumberOfLinks uint32 + FileIndexHigh uint32 + FileIndexLow uint32 +} + +const ( + GetFileExInfoStandard = 0 + GetFileExMaxInfoLevel = 1 +) + +type Win32FileAttributeData struct { + FileAttributes uint32 + CreationTime Filetime + LastAccessTime Filetime + LastWriteTime Filetime + FileSizeHigh uint32 + FileSizeLow uint32 +} + +// ShowWindow constants +const ( + // winuser.h + SW_HIDE = 0 + SW_NORMAL = 1 + SW_SHOWNORMAL = 1 + SW_SHOWMINIMIZED = 2 + SW_SHOWMAXIMIZED = 3 + SW_MAXIMIZE = 3 + SW_SHOWNOACTIVATE = 4 + SW_SHOW = 5 + SW_MINIMIZE = 6 + SW_SHOWMINNOACTIVE = 7 + SW_SHOWNA = 8 + SW_RESTORE = 9 + SW_SHOWDEFAULT = 10 + SW_FORCEMINIMIZE = 11 +) + +type StartupInfo struct { + Cb uint32 + _ *uint16 + Desktop *uint16 + Title *uint16 + X uint32 + Y uint32 + XSize uint32 + YSize uint32 + XCountChars uint32 + YCountChars uint32 + FillAttribute uint32 + Flags uint32 + ShowWindow uint16 + _ uint16 + _ *byte + StdInput Handle + StdOutput Handle + StdErr Handle +} + +type ProcessInformation struct { + Process Handle + Thread Handle + ProcessId uint32 + ThreadId uint32 +} + +type ProcessEntry32 struct { + Size uint32 + Usage uint32 + ProcessID uint32 + DefaultHeapID uintptr + ModuleID uint32 + Threads uint32 + ParentProcessID uint32 + PriClassBase int32 + Flags uint32 + ExeFile [MAX_PATH]uint16 +} + +type Systemtime struct { + Year uint16 + Month uint16 + DayOfWeek uint16 + Day uint16 + Hour uint16 + Minute uint16 + Second uint16 + Milliseconds uint16 +} + +type Timezoneinformation struct { + Bias int32 + StandardName [32]uint16 + StandardDate Systemtime + StandardBias int32 + DaylightName [32]uint16 + DaylightDate Systemtime + DaylightBias int32 +} + +// Socket related. + +const ( + AF_UNSPEC = 0 + AF_UNIX = 1 + AF_INET = 2 + AF_INET6 = 23 + AF_NETBIOS = 17 + + SOCK_STREAM = 1 + SOCK_DGRAM = 2 + SOCK_RAW = 3 + SOCK_SEQPACKET = 5 + + IPPROTO_IP = 0 + IPPROTO_IPV6 = 0x29 + IPPROTO_TCP = 6 + IPPROTO_UDP = 17 + + SOL_SOCKET = 0xffff + SO_REUSEADDR = 4 + SO_KEEPALIVE = 8 + SO_DONTROUTE = 16 + SO_BROADCAST = 32 + SO_LINGER = 128 + SO_RCVBUF = 0x1002 + SO_SNDBUF = 0x1001 + SO_UPDATE_ACCEPT_CONTEXT = 0x700b + SO_UPDATE_CONNECT_CONTEXT = 0x7010 + + IOC_OUT = 0x40000000 + IOC_IN = 0x80000000 + IOC_VENDOR = 0x18000000 + IOC_INOUT = IOC_IN | IOC_OUT + IOC_WS2 = 0x08000000 + SIO_GET_EXTENSION_FUNCTION_POINTER = IOC_INOUT | IOC_WS2 | 6 + SIO_KEEPALIVE_VALS = IOC_IN | IOC_VENDOR | 4 + SIO_UDP_CONNRESET = IOC_IN | IOC_VENDOR | 12 + + // cf. http://support.microsoft.com/default.aspx?scid=kb;en-us;257460 + + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_MULTICAST_IF = 0x9 + IP_MULTICAST_TTL = 0xa + IP_MULTICAST_LOOP = 0xb + IP_ADD_MEMBERSHIP = 0xc + IP_DROP_MEMBERSHIP = 0xd + + IPV6_V6ONLY = 0x1b + IPV6_UNICAST_HOPS = 0x4 + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_LOOP = 0xb + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + + MSG_OOB = 0x1 + MSG_PEEK = 0x2 + MSG_DONTROUTE = 0x4 + MSG_WAITALL = 0x8 + + MSG_TRUNC = 0x0100 + MSG_CTRUNC = 0x0200 + MSG_BCAST = 0x0400 + MSG_MCAST = 0x0800 + + SOMAXCONN = 0x7fffffff + + TCP_NODELAY = 1 + + SHUT_RD = 0 + SHUT_WR = 1 + SHUT_RDWR = 2 + + WSADESCRIPTION_LEN = 256 + WSASYS_STATUS_LEN = 128 +) + +type WSABuf struct { + Len uint32 + Buf *byte +} + +type WSAMsg struct { + Name *syscall.RawSockaddrAny + Namelen int32 + Buffers *WSABuf + BufferCount uint32 + Control WSABuf + Flags uint32 +} + +// Invented values to support what package os expects. +const ( + S_IFMT = 0x1f000 + S_IFIFO = 0x1000 + S_IFCHR = 0x2000 + S_IFDIR = 0x4000 + S_IFBLK = 0x6000 + S_IFREG = 0x8000 + S_IFLNK = 0xa000 + S_IFSOCK = 0xc000 + S_ISUID = 0x800 + S_ISGID = 0x400 + S_ISVTX = 0x200 + S_IRUSR = 0x100 + S_IWRITE = 0x80 + S_IWUSR = 0x80 + S_IXUSR = 0x40 +) + +const ( + FILE_TYPE_CHAR = 0x0002 + FILE_TYPE_DISK = 0x0001 + FILE_TYPE_PIPE = 0x0003 + FILE_TYPE_REMOTE = 0x8000 + FILE_TYPE_UNKNOWN = 0x0000 +) + +type Hostent struct { + Name *byte + Aliases **byte + AddrType uint16 + Length uint16 + AddrList **byte +} + +type Protoent struct { + Name *byte + Aliases **byte + Proto uint16 +} + +const ( + DNS_TYPE_A = 0x0001 + DNS_TYPE_NS = 0x0002 + DNS_TYPE_MD = 0x0003 + DNS_TYPE_MF = 0x0004 + DNS_TYPE_CNAME = 0x0005 + DNS_TYPE_SOA = 0x0006 + DNS_TYPE_MB = 0x0007 + DNS_TYPE_MG = 0x0008 + DNS_TYPE_MR = 0x0009 + DNS_TYPE_NULL = 0x000a + DNS_TYPE_WKS = 0x000b + DNS_TYPE_PTR = 0x000c + DNS_TYPE_HINFO = 0x000d + DNS_TYPE_MINFO = 0x000e + DNS_TYPE_MX = 0x000f + DNS_TYPE_TEXT = 0x0010 + DNS_TYPE_RP = 0x0011 + DNS_TYPE_AFSDB = 0x0012 + DNS_TYPE_X25 = 0x0013 + DNS_TYPE_ISDN = 0x0014 + DNS_TYPE_RT = 0x0015 + DNS_TYPE_NSAP = 0x0016 + DNS_TYPE_NSAPPTR = 0x0017 + DNS_TYPE_SIG = 0x0018 + DNS_TYPE_KEY = 0x0019 + DNS_TYPE_PX = 0x001a + DNS_TYPE_GPOS = 0x001b + DNS_TYPE_AAAA = 0x001c + DNS_TYPE_LOC = 0x001d + DNS_TYPE_NXT = 0x001e + DNS_TYPE_EID = 0x001f + DNS_TYPE_NIMLOC = 0x0020 + DNS_TYPE_SRV = 0x0021 + DNS_TYPE_ATMA = 0x0022 + DNS_TYPE_NAPTR = 0x0023 + DNS_TYPE_KX = 0x0024 + DNS_TYPE_CERT = 0x0025 + DNS_TYPE_A6 = 0x0026 + DNS_TYPE_DNAME = 0x0027 + DNS_TYPE_SINK = 0x0028 + DNS_TYPE_OPT = 0x0029 + DNS_TYPE_DS = 0x002B + DNS_TYPE_RRSIG = 0x002E + DNS_TYPE_NSEC = 0x002F + DNS_TYPE_DNSKEY = 0x0030 + DNS_TYPE_DHCID = 0x0031 + DNS_TYPE_UINFO = 0x0064 + DNS_TYPE_UID = 0x0065 + DNS_TYPE_GID = 0x0066 + DNS_TYPE_UNSPEC = 0x0067 + DNS_TYPE_ADDRS = 0x00f8 + DNS_TYPE_TKEY = 0x00f9 + DNS_TYPE_TSIG = 0x00fa + DNS_TYPE_IXFR = 0x00fb + DNS_TYPE_AXFR = 0x00fc + DNS_TYPE_MAILB = 0x00fd + DNS_TYPE_MAILA = 0x00fe + DNS_TYPE_ALL = 0x00ff + DNS_TYPE_ANY = 0x00ff + DNS_TYPE_WINS = 0xff01 + DNS_TYPE_WINSR = 0xff02 + DNS_TYPE_NBSTAT = 0xff01 +) + +const ( + DNS_INFO_NO_RECORDS = 0x251D +) + +const ( + // flags inside DNSRecord.Dw + DnsSectionQuestion = 0x0000 + DnsSectionAnswer = 0x0001 + DnsSectionAuthority = 0x0002 + DnsSectionAdditional = 0x0003 +) + +type DNSSRVData struct { + Target *uint16 + Priority uint16 + Weight uint16 + Port uint16 + Pad uint16 +} + +type DNSPTRData struct { + Host *uint16 +} + +type DNSMXData struct { + NameExchange *uint16 + Preference uint16 + Pad uint16 +} + +type DNSTXTData struct { + StringCount uint16 + StringArray [1]*uint16 +} + +type DNSRecord struct { + Next *DNSRecord + Name *uint16 + Type uint16 + Length uint16 + Dw uint32 + Ttl uint32 + Reserved uint32 + Data [40]byte +} + +const ( + TF_DISCONNECT = 1 + TF_REUSE_SOCKET = 2 + TF_WRITE_BEHIND = 4 + TF_USE_DEFAULT_WORKER = 0 + TF_USE_SYSTEM_THREAD = 16 + TF_USE_KERNEL_APC = 32 +) + +type TransmitFileBuffers struct { + Head uintptr + HeadLength uint32 + Tail uintptr + TailLength uint32 +} + +const ( + IFF_UP = 1 + IFF_BROADCAST = 2 + IFF_LOOPBACK = 4 + IFF_POINTTOPOINT = 8 + IFF_MULTICAST = 16 +) + +const SIO_GET_INTERFACE_LIST = 0x4004747F + +// TODO(mattn): SockaddrGen is union of sockaddr/sockaddr_in/sockaddr_in6_old. +// will be fixed to change variable type as suitable. + +type SockaddrGen [24]byte + +type InterfaceInfo struct { + Flags uint32 + Address SockaddrGen + BroadcastAddress SockaddrGen + Netmask SockaddrGen +} + +type IpAddressString struct { + String [16]byte +} + +type IpMaskString IpAddressString + +type IpAddrString struct { + Next *IpAddrString + IpAddress IpAddressString + IpMask IpMaskString + Context uint32 +} + +const MAX_ADAPTER_NAME_LENGTH = 256 +const MAX_ADAPTER_DESCRIPTION_LENGTH = 128 +const MAX_ADAPTER_ADDRESS_LENGTH = 8 + +type IpAdapterInfo struct { + Next *IpAdapterInfo + ComboIndex uint32 + AdapterName [MAX_ADAPTER_NAME_LENGTH + 4]byte + Description [MAX_ADAPTER_DESCRIPTION_LENGTH + 4]byte + AddressLength uint32 + Address [MAX_ADAPTER_ADDRESS_LENGTH]byte + Index uint32 + Type uint32 + DhcpEnabled uint32 + CurrentIpAddress *IpAddrString + IpAddressList IpAddrString + GatewayList IpAddrString + DhcpServer IpAddrString + HaveWins bool + PrimaryWinsServer IpAddrString + SecondaryWinsServer IpAddrString + LeaseObtained int64 + LeaseExpires int64 +} + +const MAXLEN_PHYSADDR = 8 +const MAX_INTERFACE_NAME_LEN = 256 +const MAXLEN_IFDESCR = 256 + +type MibIfRow struct { + Name [MAX_INTERFACE_NAME_LEN]uint16 + Index uint32 + Type uint32 + Mtu uint32 + Speed uint32 + PhysAddrLen uint32 + PhysAddr [MAXLEN_PHYSADDR]byte + AdminStatus uint32 + OperStatus uint32 + LastChange uint32 + InOctets uint32 + InUcastPkts uint32 + InNUcastPkts uint32 + InDiscards uint32 + InErrors uint32 + InUnknownProtos uint32 + OutOctets uint32 + OutUcastPkts uint32 + OutNUcastPkts uint32 + OutDiscards uint32 + OutErrors uint32 + OutQLen uint32 + DescrLen uint32 + Descr [MAXLEN_IFDESCR]byte +} + +type CertInfo struct { + // Not implemented +} + +type CertContext struct { + EncodingType uint32 + EncodedCert *byte + Length uint32 + CertInfo *CertInfo + Store Handle +} + +type CertChainContext struct { + Size uint32 + TrustStatus CertTrustStatus + ChainCount uint32 + Chains **CertSimpleChain + LowerQualityChainCount uint32 + LowerQualityChains **CertChainContext + HasRevocationFreshnessTime uint32 + RevocationFreshnessTime uint32 +} + +type CertTrustListInfo struct { + // Not implemented +} + +type CertSimpleChain struct { + Size uint32 + TrustStatus CertTrustStatus + NumElements uint32 + Elements **CertChainElement + TrustListInfo *CertTrustListInfo + HasRevocationFreshnessTime uint32 + RevocationFreshnessTime uint32 +} + +type CertChainElement struct { + Size uint32 + CertContext *CertContext + TrustStatus CertTrustStatus + RevocationInfo *CertRevocationInfo + IssuanceUsage *CertEnhKeyUsage + ApplicationUsage *CertEnhKeyUsage + ExtendedErrorInfo *uint16 +} + +type CertRevocationCrlInfo struct { + // Not implemented +} + +type CertRevocationInfo struct { + Size uint32 + RevocationResult uint32 + RevocationOid *byte + OidSpecificInfo Pointer + HasFreshnessTime uint32 + FreshnessTime uint32 + CrlInfo *CertRevocationCrlInfo +} + +type CertTrustStatus struct { + ErrorStatus uint32 + InfoStatus uint32 +} + +type CertUsageMatch struct { + Type uint32 + Usage CertEnhKeyUsage +} + +type CertEnhKeyUsage struct { + Length uint32 + UsageIdentifiers **byte +} + +type CertChainPara struct { + Size uint32 + RequestedUsage CertUsageMatch + RequstedIssuancePolicy CertUsageMatch + URLRetrievalTimeout uint32 + CheckRevocationFreshnessTime uint32 + RevocationFreshnessTime uint32 + CacheResync *Filetime +} + +type CertChainPolicyPara struct { + Size uint32 + Flags uint32 + ExtraPolicyPara Pointer +} + +type SSLExtraCertChainPolicyPara struct { + Size uint32 + AuthType uint32 + Checks uint32 + ServerName *uint16 +} + +type CertChainPolicyStatus struct { + Size uint32 + Error uint32 + ChainIndex uint32 + ElementIndex uint32 + ExtraPolicyStatus Pointer +} + +const ( + // do not reorder + HKEY_CLASSES_ROOT = 0x80000000 + iota + HKEY_CURRENT_USER + HKEY_LOCAL_MACHINE + HKEY_USERS + HKEY_PERFORMANCE_DATA + HKEY_CURRENT_CONFIG + HKEY_DYN_DATA + + KEY_QUERY_VALUE = 1 + KEY_SET_VALUE = 2 + KEY_CREATE_SUB_KEY = 4 + KEY_ENUMERATE_SUB_KEYS = 8 + KEY_NOTIFY = 16 + KEY_CREATE_LINK = 32 + KEY_WRITE = 0x20006 + KEY_EXECUTE = 0x20019 + KEY_READ = 0x20019 + KEY_WOW64_64KEY = 0x0100 + KEY_WOW64_32KEY = 0x0200 + KEY_ALL_ACCESS = 0xf003f +) + +const ( + // do not reorder + REG_NONE = iota + REG_SZ + REG_EXPAND_SZ + REG_BINARY + REG_DWORD_LITTLE_ENDIAN + REG_DWORD_BIG_ENDIAN + REG_LINK + REG_MULTI_SZ + REG_RESOURCE_LIST + REG_FULL_RESOURCE_DESCRIPTOR + REG_RESOURCE_REQUIREMENTS_LIST + REG_QWORD_LITTLE_ENDIAN + REG_DWORD = REG_DWORD_LITTLE_ENDIAN + REG_QWORD = REG_QWORD_LITTLE_ENDIAN +) + +type AddrinfoW struct { + Flags int32 + Family int32 + Socktype int32 + Protocol int32 + Addrlen uintptr + Canonname *uint16 + Addr uintptr + Next *AddrinfoW +} + +const ( + AI_PASSIVE = 1 + AI_CANONNAME = 2 + AI_NUMERICHOST = 4 +) + +type GUID struct { + Data1 uint32 + Data2 uint16 + Data3 uint16 + Data4 [8]byte +} + +var WSAID_CONNECTEX = GUID{ + 0x25a207b9, + 0xddf3, + 0x4660, + [8]byte{0x8e, 0xe9, 0x76, 0xe5, 0x8c, 0x74, 0x06, 0x3e}, +} + +var WSAID_WSASENDMSG = GUID{ + 0xa441e712, + 0x754f, + 0x43ca, + [8]byte{0x84, 0xa7, 0x0d, 0xee, 0x44, 0xcf, 0x60, 0x6d}, +} + +var WSAID_WSARECVMSG = GUID{ + 0xf689d7c8, + 0x6f1f, + 0x436b, + [8]byte{0x8a, 0x53, 0xe5, 0x4f, 0xe3, 0x51, 0xc3, 0x22}, +} + +const ( + FILE_SKIP_COMPLETION_PORT_ON_SUCCESS = 1 + FILE_SKIP_SET_EVENT_ON_HANDLE = 2 +) + +const ( + WSAPROTOCOL_LEN = 255 + MAX_PROTOCOL_CHAIN = 7 + BASE_PROTOCOL = 1 + LAYERED_PROTOCOL = 0 + + XP1_CONNECTIONLESS = 0x00000001 + XP1_GUARANTEED_DELIVERY = 0x00000002 + XP1_GUARANTEED_ORDER = 0x00000004 + XP1_MESSAGE_ORIENTED = 0x00000008 + XP1_PSEUDO_STREAM = 0x00000010 + XP1_GRACEFUL_CLOSE = 0x00000020 + XP1_EXPEDITED_DATA = 0x00000040 + XP1_CONNECT_DATA = 0x00000080 + XP1_DISCONNECT_DATA = 0x00000100 + XP1_SUPPORT_BROADCAST = 0x00000200 + XP1_SUPPORT_MULTIPOINT = 0x00000400 + XP1_MULTIPOINT_CONTROL_PLANE = 0x00000800 + XP1_MULTIPOINT_DATA_PLANE = 0x00001000 + XP1_QOS_SUPPORTED = 0x00002000 + XP1_UNI_SEND = 0x00008000 + XP1_UNI_RECV = 0x00010000 + XP1_IFS_HANDLES = 0x00020000 + XP1_PARTIAL_MESSAGE = 0x00040000 + XP1_SAN_SUPPORT_SDP = 0x00080000 + + PFL_MULTIPLE_PROTO_ENTRIES = 0x00000001 + PFL_RECOMMENDED_PROTO_ENTRY = 0x00000002 + PFL_HIDDEN = 0x00000004 + PFL_MATCHES_PROTOCOL_ZERO = 0x00000008 + PFL_NETWORKDIRECT_PROVIDER = 0x00000010 +) + +type WSAProtocolInfo struct { + ServiceFlags1 uint32 + ServiceFlags2 uint32 + ServiceFlags3 uint32 + ServiceFlags4 uint32 + ProviderFlags uint32 + ProviderId GUID + CatalogEntryId uint32 + ProtocolChain WSAProtocolChain + Version int32 + AddressFamily int32 + MaxSockAddr int32 + MinSockAddr int32 + SocketType int32 + Protocol int32 + ProtocolMaxOffset int32 + NetworkByteOrder int32 + SecurityScheme int32 + MessageSize uint32 + ProviderReserved uint32 + ProtocolName [WSAPROTOCOL_LEN + 1]uint16 +} + +type WSAProtocolChain struct { + ChainLen int32 + ChainEntries [MAX_PROTOCOL_CHAIN]uint32 +} + +type TCPKeepalive struct { + OnOff uint32 + Time uint32 + Interval uint32 +} + +type symbolicLinkReparseBuffer struct { + SubstituteNameOffset uint16 + SubstituteNameLength uint16 + PrintNameOffset uint16 + PrintNameLength uint16 + Flags uint32 + PathBuffer [1]uint16 +} + +type mountPointReparseBuffer struct { + SubstituteNameOffset uint16 + SubstituteNameLength uint16 + PrintNameOffset uint16 + PrintNameLength uint16 + PathBuffer [1]uint16 +} + +type reparseDataBuffer struct { + ReparseTag uint32 + ReparseDataLength uint16 + Reserved uint16 + + // GenericReparseBuffer + reparseBuffer byte +} + +const ( + FSCTL_GET_REPARSE_POINT = 0x900A8 + MAXIMUM_REPARSE_DATA_BUFFER_SIZE = 16 * 1024 + IO_REPARSE_TAG_MOUNT_POINT = 0xA0000003 + IO_REPARSE_TAG_SYMLINK = 0xA000000C + SYMBOLIC_LINK_FLAG_DIRECTORY = 0x1 +) + +const ( + ComputerNameNetBIOS = 0 + ComputerNameDnsHostname = 1 + ComputerNameDnsDomain = 2 + ComputerNameDnsFullyQualified = 3 + ComputerNamePhysicalNetBIOS = 4 + ComputerNamePhysicalDnsHostname = 5 + ComputerNamePhysicalDnsDomain = 6 + ComputerNamePhysicalDnsFullyQualified = 7 + ComputerNameMax = 8 +) + +const ( + MOVEFILE_REPLACE_EXISTING = 0x1 + MOVEFILE_COPY_ALLOWED = 0x2 + MOVEFILE_DELAY_UNTIL_REBOOT = 0x4 + MOVEFILE_WRITE_THROUGH = 0x8 + MOVEFILE_CREATE_HARDLINK = 0x10 + MOVEFILE_FAIL_IF_NOT_TRACKABLE = 0x20 +) + +const GAA_FLAG_INCLUDE_PREFIX = 0x00000010 + +const ( + IF_TYPE_OTHER = 1 + IF_TYPE_ETHERNET_CSMACD = 6 + IF_TYPE_ISO88025_TOKENRING = 9 + IF_TYPE_PPP = 23 + IF_TYPE_SOFTWARE_LOOPBACK = 24 + IF_TYPE_ATM = 37 + IF_TYPE_IEEE80211 = 71 + IF_TYPE_TUNNEL = 131 + IF_TYPE_IEEE1394 = 144 +) + +type SocketAddress struct { + Sockaddr *syscall.RawSockaddrAny + SockaddrLength int32 +} + +type IpAdapterUnicastAddress struct { + Length uint32 + Flags uint32 + Next *IpAdapterUnicastAddress + Address SocketAddress + PrefixOrigin int32 + SuffixOrigin int32 + DadState int32 + ValidLifetime uint32 + PreferredLifetime uint32 + LeaseLifetime uint32 + OnLinkPrefixLength uint8 +} + +type IpAdapterAnycastAddress struct { + Length uint32 + Flags uint32 + Next *IpAdapterAnycastAddress + Address SocketAddress +} + +type IpAdapterMulticastAddress struct { + Length uint32 + Flags uint32 + Next *IpAdapterMulticastAddress + Address SocketAddress +} + +type IpAdapterDnsServerAdapter struct { + Length uint32 + Reserved uint32 + Next *IpAdapterDnsServerAdapter + Address SocketAddress +} + +type IpAdapterPrefix struct { + Length uint32 + Flags uint32 + Next *IpAdapterPrefix + Address SocketAddress + PrefixLength uint32 +} + +type IpAdapterAddresses struct { + Length uint32 + IfIndex uint32 + Next *IpAdapterAddresses + AdapterName *byte + FirstUnicastAddress *IpAdapterUnicastAddress + FirstAnycastAddress *IpAdapterAnycastAddress + FirstMulticastAddress *IpAdapterMulticastAddress + FirstDnsServerAddress *IpAdapterDnsServerAdapter + DnsSuffix *uint16 + Description *uint16 + FriendlyName *uint16 + PhysicalAddress [syscall.MAX_ADAPTER_ADDRESS_LENGTH]byte + PhysicalAddressLength uint32 + Flags uint32 + Mtu uint32 + IfType uint32 + OperStatus uint32 + Ipv6IfIndex uint32 + ZoneIndices [16]uint32 + FirstPrefix *IpAdapterPrefix + /* more fields might be present here. */ +} + +const ( + IfOperStatusUp = 1 + IfOperStatusDown = 2 + IfOperStatusTesting = 3 + IfOperStatusUnknown = 4 + IfOperStatusDormant = 5 + IfOperStatusNotPresent = 6 + IfOperStatusLowerLayerDown = 7 +) + +// Console related constants used for the mode parameter to SetConsoleMode. See +// https://docs.microsoft.com/en-us/windows/console/setconsolemode for details. + +const ( + ENABLE_PROCESSED_INPUT = 0x1 + ENABLE_LINE_INPUT = 0x2 + ENABLE_ECHO_INPUT = 0x4 + ENABLE_WINDOW_INPUT = 0x8 + ENABLE_MOUSE_INPUT = 0x10 + ENABLE_INSERT_MODE = 0x20 + ENABLE_QUICK_EDIT_MODE = 0x40 + ENABLE_EXTENDED_FLAGS = 0x80 + ENABLE_AUTO_POSITION = 0x100 + ENABLE_VIRTUAL_TERMINAL_INPUT = 0x200 + + ENABLE_PROCESSED_OUTPUT = 0x1 + ENABLE_WRAP_AT_EOL_OUTPUT = 0x2 + ENABLE_VIRTUAL_TERMINAL_PROCESSING = 0x4 + DISABLE_NEWLINE_AUTO_RETURN = 0x8 + ENABLE_LVB_GRID_WORLDWIDE = 0x10 +) + +type Coord struct { + X int16 + Y int16 +} + +type SmallRect struct { + Left int16 + Top int16 + Right int16 + Bottom int16 +} + +// Used with GetConsoleScreenBuffer to retrieve information about a console +// screen buffer. See +// https://docs.microsoft.com/en-us/windows/console/console-screen-buffer-info-str +// for details. + +type ConsoleScreenBufferInfo struct { + Size Coord + CursorPosition Coord + Attributes uint16 + Window SmallRect + MaximumWindowSize Coord +} + +const UNIX_PATH_MAX = 108 // defined in afunix.h diff --git a/vendor/golang.org/x/sys/windows/types_windows_386.go b/vendor/golang.org/x/sys/windows/types_windows_386.go new file mode 100644 index 000000000..fe0ddd031 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/types_windows_386.go @@ -0,0 +1,22 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package windows + +type WSAData struct { + Version uint16 + HighVersion uint16 + Description [WSADESCRIPTION_LEN + 1]byte + SystemStatus [WSASYS_STATUS_LEN + 1]byte + MaxSockets uint16 + MaxUdpDg uint16 + VendorInfo *byte +} + +type Servent struct { + Name *byte + Aliases **byte + Port uint16 + Proto *byte +} diff --git a/vendor/golang.org/x/sys/windows/types_windows_amd64.go b/vendor/golang.org/x/sys/windows/types_windows_amd64.go new file mode 100644 index 000000000..7e154c2df --- /dev/null +++ b/vendor/golang.org/x/sys/windows/types_windows_amd64.go @@ -0,0 +1,22 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package windows + +type WSAData struct { + Version uint16 + HighVersion uint16 + MaxSockets uint16 + MaxUdpDg uint16 + VendorInfo *byte + Description [WSADESCRIPTION_LEN + 1]byte + SystemStatus [WSASYS_STATUS_LEN + 1]byte +} + +type Servent struct { + Name *byte + Aliases **byte + Proto *byte + Port uint16 +} diff --git a/vendor/golang.org/x/sys/windows/types_windows_arm.go b/vendor/golang.org/x/sys/windows/types_windows_arm.go new file mode 100644 index 000000000..74571e360 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/types_windows_arm.go @@ -0,0 +1,22 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package windows + +type WSAData struct { + Version uint16 + HighVersion uint16 + Description [WSADESCRIPTION_LEN + 1]byte + SystemStatus [WSASYS_STATUS_LEN + 1]byte + MaxSockets uint16 + MaxUdpDg uint16 + VendorInfo *byte +} + +type Servent struct { + Name *byte + Aliases **byte + Port uint16 + Proto *byte +} diff --git a/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/vendor/golang.org/x/sys/windows/zsyscall_windows.go new file mode 100644 index 000000000..e4b54e2d9 --- /dev/null +++ b/vendor/golang.org/x/sys/windows/zsyscall_windows.go @@ -0,0 +1,2720 @@ +// Code generated by 'go generate'; DO NOT EDIT. + +package windows + +import ( + "syscall" + "unsafe" +) + +var _ unsafe.Pointer + +// Do the interface allocations only once for common +// Errno values. +const ( + errnoERROR_IO_PENDING = 997 +) + +var ( + errERROR_IO_PENDING error = syscall.Errno(errnoERROR_IO_PENDING) +) + +// errnoErr returns common boxed Errno values, to prevent +// allocations at runtime. +func errnoErr(e syscall.Errno) error { + switch e { + case 0: + return nil + case errnoERROR_IO_PENDING: + return errERROR_IO_PENDING + } + // TODO: add more here, after collecting data on the common + // error values see on Windows. (perhaps when running + // all.bat?) + return e +} + +var ( + modadvapi32 = NewLazySystemDLL("advapi32.dll") + modkernel32 = NewLazySystemDLL("kernel32.dll") + modshell32 = NewLazySystemDLL("shell32.dll") + modmswsock = NewLazySystemDLL("mswsock.dll") + modcrypt32 = NewLazySystemDLL("crypt32.dll") + modws2_32 = NewLazySystemDLL("ws2_32.dll") + moddnsapi = NewLazySystemDLL("dnsapi.dll") + modiphlpapi = NewLazySystemDLL("iphlpapi.dll") + modsecur32 = NewLazySystemDLL("secur32.dll") + modnetapi32 = NewLazySystemDLL("netapi32.dll") + moduserenv = NewLazySystemDLL("userenv.dll") + + procRegisterEventSourceW = modadvapi32.NewProc("RegisterEventSourceW") + procDeregisterEventSource = modadvapi32.NewProc("DeregisterEventSource") + procReportEventW = modadvapi32.NewProc("ReportEventW") + procOpenSCManagerW = modadvapi32.NewProc("OpenSCManagerW") + procCloseServiceHandle = modadvapi32.NewProc("CloseServiceHandle") + procCreateServiceW = modadvapi32.NewProc("CreateServiceW") + procOpenServiceW = modadvapi32.NewProc("OpenServiceW") + procDeleteService = modadvapi32.NewProc("DeleteService") + procStartServiceW = modadvapi32.NewProc("StartServiceW") + procQueryServiceStatus = modadvapi32.NewProc("QueryServiceStatus") + procControlService = modadvapi32.NewProc("ControlService") + procStartServiceCtrlDispatcherW = modadvapi32.NewProc("StartServiceCtrlDispatcherW") + procSetServiceStatus = modadvapi32.NewProc("SetServiceStatus") + procChangeServiceConfigW = modadvapi32.NewProc("ChangeServiceConfigW") + procQueryServiceConfigW = modadvapi32.NewProc("QueryServiceConfigW") + procChangeServiceConfig2W = modadvapi32.NewProc("ChangeServiceConfig2W") + procQueryServiceConfig2W = modadvapi32.NewProc("QueryServiceConfig2W") + procEnumServicesStatusExW = modadvapi32.NewProc("EnumServicesStatusExW") + procQueryServiceStatusEx = modadvapi32.NewProc("QueryServiceStatusEx") + procGetLastError = modkernel32.NewProc("GetLastError") + procLoadLibraryW = modkernel32.NewProc("LoadLibraryW") + procLoadLibraryExW = modkernel32.NewProc("LoadLibraryExW") + procFreeLibrary = modkernel32.NewProc("FreeLibrary") + procGetProcAddress = modkernel32.NewProc("GetProcAddress") + procGetVersion = modkernel32.NewProc("GetVersion") + procFormatMessageW = modkernel32.NewProc("FormatMessageW") + procExitProcess = modkernel32.NewProc("ExitProcess") + procCreateFileW = modkernel32.NewProc("CreateFileW") + procReadFile = modkernel32.NewProc("ReadFile") + procWriteFile = modkernel32.NewProc("WriteFile") + procSetFilePointer = modkernel32.NewProc("SetFilePointer") + procCloseHandle = modkernel32.NewProc("CloseHandle") + procGetStdHandle = modkernel32.NewProc("GetStdHandle") + procSetStdHandle = modkernel32.NewProc("SetStdHandle") + procFindFirstFileW = modkernel32.NewProc("FindFirstFileW") + procFindNextFileW = modkernel32.NewProc("FindNextFileW") + procFindClose = modkernel32.NewProc("FindClose") + procGetFileInformationByHandle = modkernel32.NewProc("GetFileInformationByHandle") + procGetCurrentDirectoryW = modkernel32.NewProc("GetCurrentDirectoryW") + procSetCurrentDirectoryW = modkernel32.NewProc("SetCurrentDirectoryW") + procCreateDirectoryW = modkernel32.NewProc("CreateDirectoryW") + procRemoveDirectoryW = modkernel32.NewProc("RemoveDirectoryW") + procDeleteFileW = modkernel32.NewProc("DeleteFileW") + procMoveFileW = modkernel32.NewProc("MoveFileW") + procMoveFileExW = modkernel32.NewProc("MoveFileExW") + procGetComputerNameW = modkernel32.NewProc("GetComputerNameW") + procGetComputerNameExW = modkernel32.NewProc("GetComputerNameExW") + procSetEndOfFile = modkernel32.NewProc("SetEndOfFile") + procGetSystemTimeAsFileTime = modkernel32.NewProc("GetSystemTimeAsFileTime") + procGetSystemTimePreciseAsFileTime = modkernel32.NewProc("GetSystemTimePreciseAsFileTime") + procGetTimeZoneInformation = modkernel32.NewProc("GetTimeZoneInformation") + procCreateIoCompletionPort = modkernel32.NewProc("CreateIoCompletionPort") + procGetQueuedCompletionStatus = modkernel32.NewProc("GetQueuedCompletionStatus") + procPostQueuedCompletionStatus = modkernel32.NewProc("PostQueuedCompletionStatus") + procCancelIo = modkernel32.NewProc("CancelIo") + procCancelIoEx = modkernel32.NewProc("CancelIoEx") + procCreateProcessW = modkernel32.NewProc("CreateProcessW") + procOpenProcess = modkernel32.NewProc("OpenProcess") + procTerminateProcess = modkernel32.NewProc("TerminateProcess") + procGetExitCodeProcess = modkernel32.NewProc("GetExitCodeProcess") + procGetStartupInfoW = modkernel32.NewProc("GetStartupInfoW") + procGetCurrentProcess = modkernel32.NewProc("GetCurrentProcess") + procGetProcessTimes = modkernel32.NewProc("GetProcessTimes") + procDuplicateHandle = modkernel32.NewProc("DuplicateHandle") + procWaitForSingleObject = modkernel32.NewProc("WaitForSingleObject") + procWaitForMultipleObjects = modkernel32.NewProc("WaitForMultipleObjects") + procGetTempPathW = modkernel32.NewProc("GetTempPathW") + procCreatePipe = modkernel32.NewProc("CreatePipe") + procGetFileType = modkernel32.NewProc("GetFileType") + procCryptAcquireContextW = modadvapi32.NewProc("CryptAcquireContextW") + procCryptReleaseContext = modadvapi32.NewProc("CryptReleaseContext") + procCryptGenRandom = modadvapi32.NewProc("CryptGenRandom") + procGetEnvironmentStringsW = modkernel32.NewProc("GetEnvironmentStringsW") + procFreeEnvironmentStringsW = modkernel32.NewProc("FreeEnvironmentStringsW") + procGetEnvironmentVariableW = modkernel32.NewProc("GetEnvironmentVariableW") + procSetEnvironmentVariableW = modkernel32.NewProc("SetEnvironmentVariableW") + procSetFileTime = modkernel32.NewProc("SetFileTime") + procGetFileAttributesW = modkernel32.NewProc("GetFileAttributesW") + procSetFileAttributesW = modkernel32.NewProc("SetFileAttributesW") + procGetFileAttributesExW = modkernel32.NewProc("GetFileAttributesExW") + procGetCommandLineW = modkernel32.NewProc("GetCommandLineW") + procCommandLineToArgvW = modshell32.NewProc("CommandLineToArgvW") + procLocalFree = modkernel32.NewProc("LocalFree") + procSetHandleInformation = modkernel32.NewProc("SetHandleInformation") + procFlushFileBuffers = modkernel32.NewProc("FlushFileBuffers") + procGetFullPathNameW = modkernel32.NewProc("GetFullPathNameW") + procGetLongPathNameW = modkernel32.NewProc("GetLongPathNameW") + procGetShortPathNameW = modkernel32.NewProc("GetShortPathNameW") + procCreateFileMappingW = modkernel32.NewProc("CreateFileMappingW") + procMapViewOfFile = modkernel32.NewProc("MapViewOfFile") + procUnmapViewOfFile = modkernel32.NewProc("UnmapViewOfFile") + procFlushViewOfFile = modkernel32.NewProc("FlushViewOfFile") + procVirtualLock = modkernel32.NewProc("VirtualLock") + procVirtualUnlock = modkernel32.NewProc("VirtualUnlock") + procVirtualAlloc = modkernel32.NewProc("VirtualAlloc") + procVirtualFree = modkernel32.NewProc("VirtualFree") + procVirtualProtect = modkernel32.NewProc("VirtualProtect") + procTransmitFile = modmswsock.NewProc("TransmitFile") + procReadDirectoryChangesW = modkernel32.NewProc("ReadDirectoryChangesW") + procCertOpenSystemStoreW = modcrypt32.NewProc("CertOpenSystemStoreW") + procCertOpenStore = modcrypt32.NewProc("CertOpenStore") + procCertEnumCertificatesInStore = modcrypt32.NewProc("CertEnumCertificatesInStore") + procCertAddCertificateContextToStore = modcrypt32.NewProc("CertAddCertificateContextToStore") + procCertCloseStore = modcrypt32.NewProc("CertCloseStore") + procCertGetCertificateChain = modcrypt32.NewProc("CertGetCertificateChain") + procCertFreeCertificateChain = modcrypt32.NewProc("CertFreeCertificateChain") + procCertCreateCertificateContext = modcrypt32.NewProc("CertCreateCertificateContext") + procCertFreeCertificateContext = modcrypt32.NewProc("CertFreeCertificateContext") + procCertVerifyCertificateChainPolicy = modcrypt32.NewProc("CertVerifyCertificateChainPolicy") + procRegOpenKeyExW = modadvapi32.NewProc("RegOpenKeyExW") + procRegCloseKey = modadvapi32.NewProc("RegCloseKey") + procRegQueryInfoKeyW = modadvapi32.NewProc("RegQueryInfoKeyW") + procRegEnumKeyExW = modadvapi32.NewProc("RegEnumKeyExW") + procRegQueryValueExW = modadvapi32.NewProc("RegQueryValueExW") + procGetCurrentProcessId = modkernel32.NewProc("GetCurrentProcessId") + procGetConsoleMode = modkernel32.NewProc("GetConsoleMode") + procSetConsoleMode = modkernel32.NewProc("SetConsoleMode") + procGetConsoleScreenBufferInfo = modkernel32.NewProc("GetConsoleScreenBufferInfo") + procWriteConsoleW = modkernel32.NewProc("WriteConsoleW") + procReadConsoleW = modkernel32.NewProc("ReadConsoleW") + procCreateToolhelp32Snapshot = modkernel32.NewProc("CreateToolhelp32Snapshot") + procProcess32FirstW = modkernel32.NewProc("Process32FirstW") + procProcess32NextW = modkernel32.NewProc("Process32NextW") + procDeviceIoControl = modkernel32.NewProc("DeviceIoControl") + procCreateSymbolicLinkW = modkernel32.NewProc("CreateSymbolicLinkW") + procCreateHardLinkW = modkernel32.NewProc("CreateHardLinkW") + procGetCurrentThreadId = modkernel32.NewProc("GetCurrentThreadId") + procCreateEventW = modkernel32.NewProc("CreateEventW") + procCreateEventExW = modkernel32.NewProc("CreateEventExW") + procOpenEventW = modkernel32.NewProc("OpenEventW") + procSetEvent = modkernel32.NewProc("SetEvent") + procResetEvent = modkernel32.NewProc("ResetEvent") + procPulseEvent = modkernel32.NewProc("PulseEvent") + procDefineDosDeviceW = modkernel32.NewProc("DefineDosDeviceW") + procDeleteVolumeMountPointW = modkernel32.NewProc("DeleteVolumeMountPointW") + procFindFirstVolumeW = modkernel32.NewProc("FindFirstVolumeW") + procFindFirstVolumeMountPointW = modkernel32.NewProc("FindFirstVolumeMountPointW") + procFindNextVolumeW = modkernel32.NewProc("FindNextVolumeW") + procFindNextVolumeMountPointW = modkernel32.NewProc("FindNextVolumeMountPointW") + procFindVolumeClose = modkernel32.NewProc("FindVolumeClose") + procFindVolumeMountPointClose = modkernel32.NewProc("FindVolumeMountPointClose") + procGetDriveTypeW = modkernel32.NewProc("GetDriveTypeW") + procGetLogicalDrives = modkernel32.NewProc("GetLogicalDrives") + procGetLogicalDriveStringsW = modkernel32.NewProc("GetLogicalDriveStringsW") + procGetVolumeInformationW = modkernel32.NewProc("GetVolumeInformationW") + procGetVolumeInformationByHandleW = modkernel32.NewProc("GetVolumeInformationByHandleW") + procGetVolumeNameForVolumeMountPointW = modkernel32.NewProc("GetVolumeNameForVolumeMountPointW") + procGetVolumePathNameW = modkernel32.NewProc("GetVolumePathNameW") + procGetVolumePathNamesForVolumeNameW = modkernel32.NewProc("GetVolumePathNamesForVolumeNameW") + procQueryDosDeviceW = modkernel32.NewProc("QueryDosDeviceW") + procSetVolumeLabelW = modkernel32.NewProc("SetVolumeLabelW") + procSetVolumeMountPointW = modkernel32.NewProc("SetVolumeMountPointW") + procWSAStartup = modws2_32.NewProc("WSAStartup") + procWSACleanup = modws2_32.NewProc("WSACleanup") + procWSAIoctl = modws2_32.NewProc("WSAIoctl") + procsocket = modws2_32.NewProc("socket") + procsetsockopt = modws2_32.NewProc("setsockopt") + procgetsockopt = modws2_32.NewProc("getsockopt") + procbind = modws2_32.NewProc("bind") + procconnect = modws2_32.NewProc("connect") + procgetsockname = modws2_32.NewProc("getsockname") + procgetpeername = modws2_32.NewProc("getpeername") + proclisten = modws2_32.NewProc("listen") + procshutdown = modws2_32.NewProc("shutdown") + procclosesocket = modws2_32.NewProc("closesocket") + procAcceptEx = modmswsock.NewProc("AcceptEx") + procGetAcceptExSockaddrs = modmswsock.NewProc("GetAcceptExSockaddrs") + procWSARecv = modws2_32.NewProc("WSARecv") + procWSASend = modws2_32.NewProc("WSASend") + procWSARecvFrom = modws2_32.NewProc("WSARecvFrom") + procWSASendTo = modws2_32.NewProc("WSASendTo") + procgethostbyname = modws2_32.NewProc("gethostbyname") + procgetservbyname = modws2_32.NewProc("getservbyname") + procntohs = modws2_32.NewProc("ntohs") + procgetprotobyname = modws2_32.NewProc("getprotobyname") + procDnsQuery_W = moddnsapi.NewProc("DnsQuery_W") + procDnsRecordListFree = moddnsapi.NewProc("DnsRecordListFree") + procDnsNameCompare_W = moddnsapi.NewProc("DnsNameCompare_W") + procGetAddrInfoW = modws2_32.NewProc("GetAddrInfoW") + procFreeAddrInfoW = modws2_32.NewProc("FreeAddrInfoW") + procGetIfEntry = modiphlpapi.NewProc("GetIfEntry") + procGetAdaptersInfo = modiphlpapi.NewProc("GetAdaptersInfo") + procSetFileCompletionNotificationModes = modkernel32.NewProc("SetFileCompletionNotificationModes") + procWSAEnumProtocolsW = modws2_32.NewProc("WSAEnumProtocolsW") + procGetAdaptersAddresses = modiphlpapi.NewProc("GetAdaptersAddresses") + procGetACP = modkernel32.NewProc("GetACP") + procMultiByteToWideChar = modkernel32.NewProc("MultiByteToWideChar") + procTranslateNameW = modsecur32.NewProc("TranslateNameW") + procGetUserNameExW = modsecur32.NewProc("GetUserNameExW") + procNetUserGetInfo = modnetapi32.NewProc("NetUserGetInfo") + procNetGetJoinInformation = modnetapi32.NewProc("NetGetJoinInformation") + procNetApiBufferFree = modnetapi32.NewProc("NetApiBufferFree") + procLookupAccountSidW = modadvapi32.NewProc("LookupAccountSidW") + procLookupAccountNameW = modadvapi32.NewProc("LookupAccountNameW") + procConvertSidToStringSidW = modadvapi32.NewProc("ConvertSidToStringSidW") + procConvertStringSidToSidW = modadvapi32.NewProc("ConvertStringSidToSidW") + procGetLengthSid = modadvapi32.NewProc("GetLengthSid") + procCopySid = modadvapi32.NewProc("CopySid") + procAllocateAndInitializeSid = modadvapi32.NewProc("AllocateAndInitializeSid") + procFreeSid = modadvapi32.NewProc("FreeSid") + procEqualSid = modadvapi32.NewProc("EqualSid") + procCheckTokenMembership = modadvapi32.NewProc("CheckTokenMembership") + procOpenProcessToken = modadvapi32.NewProc("OpenProcessToken") + procGetTokenInformation = modadvapi32.NewProc("GetTokenInformation") + procGetUserProfileDirectoryW = moduserenv.NewProc("GetUserProfileDirectoryW") +) + +func RegisterEventSource(uncServerName *uint16, sourceName *uint16) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procRegisterEventSourceW.Addr(), 2, uintptr(unsafe.Pointer(uncServerName)), uintptr(unsafe.Pointer(sourceName)), 0) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func DeregisterEventSource(handle Handle) (err error) { + r1, _, e1 := syscall.Syscall(procDeregisterEventSource.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func ReportEvent(log Handle, etype uint16, category uint16, eventId uint32, usrSId uintptr, numStrings uint16, dataSize uint32, strings **uint16, rawData *byte) (err error) { + r1, _, e1 := syscall.Syscall9(procReportEventW.Addr(), 9, uintptr(log), uintptr(etype), uintptr(category), uintptr(eventId), uintptr(usrSId), uintptr(numStrings), uintptr(dataSize), uintptr(unsafe.Pointer(strings)), uintptr(unsafe.Pointer(rawData))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func OpenSCManager(machineName *uint16, databaseName *uint16, access uint32) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procOpenSCManagerW.Addr(), 3, uintptr(unsafe.Pointer(machineName)), uintptr(unsafe.Pointer(databaseName)), uintptr(access)) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CloseServiceHandle(handle Handle) (err error) { + r1, _, e1 := syscall.Syscall(procCloseServiceHandle.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CreateService(mgr Handle, serviceName *uint16, displayName *uint16, access uint32, srvType uint32, startType uint32, errCtl uint32, pathName *uint16, loadOrderGroup *uint16, tagId *uint32, dependencies *uint16, serviceStartName *uint16, password *uint16) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall15(procCreateServiceW.Addr(), 13, uintptr(mgr), uintptr(unsafe.Pointer(serviceName)), uintptr(unsafe.Pointer(displayName)), uintptr(access), uintptr(srvType), uintptr(startType), uintptr(errCtl), uintptr(unsafe.Pointer(pathName)), uintptr(unsafe.Pointer(loadOrderGroup)), uintptr(unsafe.Pointer(tagId)), uintptr(unsafe.Pointer(dependencies)), uintptr(unsafe.Pointer(serviceStartName)), uintptr(unsafe.Pointer(password)), 0, 0) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func OpenService(mgr Handle, serviceName *uint16, access uint32) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procOpenServiceW.Addr(), 3, uintptr(mgr), uintptr(unsafe.Pointer(serviceName)), uintptr(access)) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func DeleteService(service Handle) (err error) { + r1, _, e1 := syscall.Syscall(procDeleteService.Addr(), 1, uintptr(service), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func StartService(service Handle, numArgs uint32, argVectors **uint16) (err error) { + r1, _, e1 := syscall.Syscall(procStartServiceW.Addr(), 3, uintptr(service), uintptr(numArgs), uintptr(unsafe.Pointer(argVectors))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func QueryServiceStatus(service Handle, status *SERVICE_STATUS) (err error) { + r1, _, e1 := syscall.Syscall(procQueryServiceStatus.Addr(), 2, uintptr(service), uintptr(unsafe.Pointer(status)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func ControlService(service Handle, control uint32, status *SERVICE_STATUS) (err error) { + r1, _, e1 := syscall.Syscall(procControlService.Addr(), 3, uintptr(service), uintptr(control), uintptr(unsafe.Pointer(status))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func StartServiceCtrlDispatcher(serviceTable *SERVICE_TABLE_ENTRY) (err error) { + r1, _, e1 := syscall.Syscall(procStartServiceCtrlDispatcherW.Addr(), 1, uintptr(unsafe.Pointer(serviceTable)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetServiceStatus(service Handle, serviceStatus *SERVICE_STATUS) (err error) { + r1, _, e1 := syscall.Syscall(procSetServiceStatus.Addr(), 2, uintptr(service), uintptr(unsafe.Pointer(serviceStatus)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func ChangeServiceConfig(service Handle, serviceType uint32, startType uint32, errorControl uint32, binaryPathName *uint16, loadOrderGroup *uint16, tagId *uint32, dependencies *uint16, serviceStartName *uint16, password *uint16, displayName *uint16) (err error) { + r1, _, e1 := syscall.Syscall12(procChangeServiceConfigW.Addr(), 11, uintptr(service), uintptr(serviceType), uintptr(startType), uintptr(errorControl), uintptr(unsafe.Pointer(binaryPathName)), uintptr(unsafe.Pointer(loadOrderGroup)), uintptr(unsafe.Pointer(tagId)), uintptr(unsafe.Pointer(dependencies)), uintptr(unsafe.Pointer(serviceStartName)), uintptr(unsafe.Pointer(password)), uintptr(unsafe.Pointer(displayName)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func QueryServiceConfig(service Handle, serviceConfig *QUERY_SERVICE_CONFIG, bufSize uint32, bytesNeeded *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procQueryServiceConfigW.Addr(), 4, uintptr(service), uintptr(unsafe.Pointer(serviceConfig)), uintptr(bufSize), uintptr(unsafe.Pointer(bytesNeeded)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func ChangeServiceConfig2(service Handle, infoLevel uint32, info *byte) (err error) { + r1, _, e1 := syscall.Syscall(procChangeServiceConfig2W.Addr(), 3, uintptr(service), uintptr(infoLevel), uintptr(unsafe.Pointer(info))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func QueryServiceConfig2(service Handle, infoLevel uint32, buff *byte, buffSize uint32, bytesNeeded *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procQueryServiceConfig2W.Addr(), 5, uintptr(service), uintptr(infoLevel), uintptr(unsafe.Pointer(buff)), uintptr(buffSize), uintptr(unsafe.Pointer(bytesNeeded)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func EnumServicesStatusEx(mgr Handle, infoLevel uint32, serviceType uint32, serviceState uint32, services *byte, bufSize uint32, bytesNeeded *uint32, servicesReturned *uint32, resumeHandle *uint32, groupName *uint16) (err error) { + r1, _, e1 := syscall.Syscall12(procEnumServicesStatusExW.Addr(), 10, uintptr(mgr), uintptr(infoLevel), uintptr(serviceType), uintptr(serviceState), uintptr(unsafe.Pointer(services)), uintptr(bufSize), uintptr(unsafe.Pointer(bytesNeeded)), uintptr(unsafe.Pointer(servicesReturned)), uintptr(unsafe.Pointer(resumeHandle)), uintptr(unsafe.Pointer(groupName)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func QueryServiceStatusEx(service Handle, infoLevel uint32, buff *byte, buffSize uint32, bytesNeeded *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procQueryServiceStatusEx.Addr(), 5, uintptr(service), uintptr(infoLevel), uintptr(unsafe.Pointer(buff)), uintptr(buffSize), uintptr(unsafe.Pointer(bytesNeeded)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetLastError() (lasterr error) { + r0, _, _ := syscall.Syscall(procGetLastError.Addr(), 0, 0, 0, 0) + if r0 != 0 { + lasterr = syscall.Errno(r0) + } + return +} + +func LoadLibrary(libname string) (handle Handle, err error) { + var _p0 *uint16 + _p0, err = syscall.UTF16PtrFromString(libname) + if err != nil { + return + } + return _LoadLibrary(_p0) +} + +func _LoadLibrary(libname *uint16) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procLoadLibraryW.Addr(), 1, uintptr(unsafe.Pointer(libname)), 0, 0) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func LoadLibraryEx(libname string, zero Handle, flags uintptr) (handle Handle, err error) { + var _p0 *uint16 + _p0, err = syscall.UTF16PtrFromString(libname) + if err != nil { + return + } + return _LoadLibraryEx(_p0, zero, flags) +} + +func _LoadLibraryEx(libname *uint16, zero Handle, flags uintptr) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procLoadLibraryExW.Addr(), 3, uintptr(unsafe.Pointer(libname)), uintptr(zero), uintptr(flags)) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func FreeLibrary(handle Handle) (err error) { + r1, _, e1 := syscall.Syscall(procFreeLibrary.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetProcAddress(module Handle, procname string) (proc uintptr, err error) { + var _p0 *byte + _p0, err = syscall.BytePtrFromString(procname) + if err != nil { + return + } + return _GetProcAddress(module, _p0) +} + +func _GetProcAddress(module Handle, procname *byte) (proc uintptr, err error) { + r0, _, e1 := syscall.Syscall(procGetProcAddress.Addr(), 2, uintptr(module), uintptr(unsafe.Pointer(procname)), 0) + proc = uintptr(r0) + if proc == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetVersion() (ver uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetVersion.Addr(), 0, 0, 0, 0) + ver = uint32(r0) + if ver == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func FormatMessage(flags uint32, msgsrc uintptr, msgid uint32, langid uint32, buf []uint16, args *byte) (n uint32, err error) { + var _p0 *uint16 + if len(buf) > 0 { + _p0 = &buf[0] + } + r0, _, e1 := syscall.Syscall9(procFormatMessageW.Addr(), 7, uintptr(flags), uintptr(msgsrc), uintptr(msgid), uintptr(langid), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(args)), 0, 0) + n = uint32(r0) + if n == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func ExitProcess(exitcode uint32) { + syscall.Syscall(procExitProcess.Addr(), 1, uintptr(exitcode), 0, 0) + return +} + +func CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttributes, createmode uint32, attrs uint32, templatefile int32) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall9(procCreateFileW.Addr(), 7, uintptr(unsafe.Pointer(name)), uintptr(access), uintptr(mode), uintptr(unsafe.Pointer(sa)), uintptr(createmode), uintptr(attrs), uintptr(templatefile), 0, 0) + handle = Handle(r0) + if handle == InvalidHandle { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func ReadFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + r1, _, e1 := syscall.Syscall6(procReadFile.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(done)), uintptr(unsafe.Pointer(overlapped)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func WriteFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) { + var _p0 *byte + if len(buf) > 0 { + _p0 = &buf[0] + } + r1, _, e1 := syscall.Syscall6(procWriteFile.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(done)), uintptr(unsafe.Pointer(overlapped)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetFilePointer(handle Handle, lowoffset int32, highoffsetptr *int32, whence uint32) (newlowoffset uint32, err error) { + r0, _, e1 := syscall.Syscall6(procSetFilePointer.Addr(), 4, uintptr(handle), uintptr(lowoffset), uintptr(unsafe.Pointer(highoffsetptr)), uintptr(whence), 0, 0) + newlowoffset = uint32(r0) + if newlowoffset == 0xffffffff { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CloseHandle(handle Handle) (err error) { + r1, _, e1 := syscall.Syscall(procCloseHandle.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetStdHandle(stdhandle uint32) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procGetStdHandle.Addr(), 1, uintptr(stdhandle), 0, 0) + handle = Handle(r0) + if handle == InvalidHandle { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetStdHandle(stdhandle uint32, handle Handle) (err error) { + r1, _, e1 := syscall.Syscall(procSetStdHandle.Addr(), 2, uintptr(stdhandle), uintptr(handle), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func findFirstFile1(name *uint16, data *win32finddata1) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procFindFirstFileW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(data)), 0) + handle = Handle(r0) + if handle == InvalidHandle { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func findNextFile1(handle Handle, data *win32finddata1) (err error) { + r1, _, e1 := syscall.Syscall(procFindNextFileW.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(data)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func FindClose(handle Handle) (err error) { + r1, _, e1 := syscall.Syscall(procFindClose.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetFileInformationByHandle(handle Handle, data *ByHandleFileInformation) (err error) { + r1, _, e1 := syscall.Syscall(procGetFileInformationByHandle.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(data)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetCurrentDirectory(buflen uint32, buf *uint16) (n uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetCurrentDirectoryW.Addr(), 2, uintptr(buflen), uintptr(unsafe.Pointer(buf)), 0) + n = uint32(r0) + if n == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetCurrentDirectory(path *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procSetCurrentDirectoryW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CreateDirectory(path *uint16, sa *SecurityAttributes) (err error) { + r1, _, e1 := syscall.Syscall(procCreateDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(sa)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func RemoveDirectory(path *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procRemoveDirectoryW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func DeleteFile(path *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procDeleteFileW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func MoveFile(from *uint16, to *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procMoveFileW.Addr(), 2, uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(to)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func MoveFileEx(from *uint16, to *uint16, flags uint32) (err error) { + r1, _, e1 := syscall.Syscall(procMoveFileExW.Addr(), 3, uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(to)), uintptr(flags)) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetComputerName(buf *uint16, n *uint32) (err error) { + r1, _, e1 := syscall.Syscall(procGetComputerNameW.Addr(), 2, uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(n)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetComputerNameEx(nametype uint32, buf *uint16, n *uint32) (err error) { + r1, _, e1 := syscall.Syscall(procGetComputerNameExW.Addr(), 3, uintptr(nametype), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(n))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetEndOfFile(handle Handle) (err error) { + r1, _, e1 := syscall.Syscall(procSetEndOfFile.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetSystemTimeAsFileTime(time *Filetime) { + syscall.Syscall(procGetSystemTimeAsFileTime.Addr(), 1, uintptr(unsafe.Pointer(time)), 0, 0) + return +} + +func GetSystemTimePreciseAsFileTime(time *Filetime) { + syscall.Syscall(procGetSystemTimePreciseAsFileTime.Addr(), 1, uintptr(unsafe.Pointer(time)), 0, 0) + return +} + +func GetTimeZoneInformation(tzi *Timezoneinformation) (rc uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetTimeZoneInformation.Addr(), 1, uintptr(unsafe.Pointer(tzi)), 0, 0) + rc = uint32(r0) + if rc == 0xffffffff { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CreateIoCompletionPort(filehandle Handle, cphandle Handle, key uint32, threadcnt uint32) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall6(procCreateIoCompletionPort.Addr(), 4, uintptr(filehandle), uintptr(cphandle), uintptr(key), uintptr(threadcnt), 0, 0) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetQueuedCompletionStatus(cphandle Handle, qty *uint32, key *uint32, overlapped **Overlapped, timeout uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procGetQueuedCompletionStatus.Addr(), 5, uintptr(cphandle), uintptr(unsafe.Pointer(qty)), uintptr(unsafe.Pointer(key)), uintptr(unsafe.Pointer(overlapped)), uintptr(timeout), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func PostQueuedCompletionStatus(cphandle Handle, qty uint32, key uint32, overlapped *Overlapped) (err error) { + r1, _, e1 := syscall.Syscall6(procPostQueuedCompletionStatus.Addr(), 4, uintptr(cphandle), uintptr(qty), uintptr(key), uintptr(unsafe.Pointer(overlapped)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CancelIo(s Handle) (err error) { + r1, _, e1 := syscall.Syscall(procCancelIo.Addr(), 1, uintptr(s), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CancelIoEx(s Handle, o *Overlapped) (err error) { + r1, _, e1 := syscall.Syscall(procCancelIoEx.Addr(), 2, uintptr(s), uintptr(unsafe.Pointer(o)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CreateProcess(appName *uint16, commandLine *uint16, procSecurity *SecurityAttributes, threadSecurity *SecurityAttributes, inheritHandles bool, creationFlags uint32, env *uint16, currentDir *uint16, startupInfo *StartupInfo, outProcInfo *ProcessInformation) (err error) { + var _p0 uint32 + if inheritHandles { + _p0 = 1 + } else { + _p0 = 0 + } + r1, _, e1 := syscall.Syscall12(procCreateProcessW.Addr(), 10, uintptr(unsafe.Pointer(appName)), uintptr(unsafe.Pointer(commandLine)), uintptr(unsafe.Pointer(procSecurity)), uintptr(unsafe.Pointer(threadSecurity)), uintptr(_p0), uintptr(creationFlags), uintptr(unsafe.Pointer(env)), uintptr(unsafe.Pointer(currentDir)), uintptr(unsafe.Pointer(startupInfo)), uintptr(unsafe.Pointer(outProcInfo)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func OpenProcess(da uint32, inheritHandle bool, pid uint32) (handle Handle, err error) { + var _p0 uint32 + if inheritHandle { + _p0 = 1 + } else { + _p0 = 0 + } + r0, _, e1 := syscall.Syscall(procOpenProcess.Addr(), 3, uintptr(da), uintptr(_p0), uintptr(pid)) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func TerminateProcess(handle Handle, exitcode uint32) (err error) { + r1, _, e1 := syscall.Syscall(procTerminateProcess.Addr(), 2, uintptr(handle), uintptr(exitcode), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetExitCodeProcess(handle Handle, exitcode *uint32) (err error) { + r1, _, e1 := syscall.Syscall(procGetExitCodeProcess.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(exitcode)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetStartupInfo(startupInfo *StartupInfo) (err error) { + r1, _, e1 := syscall.Syscall(procGetStartupInfoW.Addr(), 1, uintptr(unsafe.Pointer(startupInfo)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetCurrentProcess() (pseudoHandle Handle, err error) { + r0, _, e1 := syscall.Syscall(procGetCurrentProcess.Addr(), 0, 0, 0, 0) + pseudoHandle = Handle(r0) + if pseudoHandle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetProcessTimes(handle Handle, creationTime *Filetime, exitTime *Filetime, kernelTime *Filetime, userTime *Filetime) (err error) { + r1, _, e1 := syscall.Syscall6(procGetProcessTimes.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(creationTime)), uintptr(unsafe.Pointer(exitTime)), uintptr(unsafe.Pointer(kernelTime)), uintptr(unsafe.Pointer(userTime)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func DuplicateHandle(hSourceProcessHandle Handle, hSourceHandle Handle, hTargetProcessHandle Handle, lpTargetHandle *Handle, dwDesiredAccess uint32, bInheritHandle bool, dwOptions uint32) (err error) { + var _p0 uint32 + if bInheritHandle { + _p0 = 1 + } else { + _p0 = 0 + } + r1, _, e1 := syscall.Syscall9(procDuplicateHandle.Addr(), 7, uintptr(hSourceProcessHandle), uintptr(hSourceHandle), uintptr(hTargetProcessHandle), uintptr(unsafe.Pointer(lpTargetHandle)), uintptr(dwDesiredAccess), uintptr(_p0), uintptr(dwOptions), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func WaitForSingleObject(handle Handle, waitMilliseconds uint32) (event uint32, err error) { + r0, _, e1 := syscall.Syscall(procWaitForSingleObject.Addr(), 2, uintptr(handle), uintptr(waitMilliseconds), 0) + event = uint32(r0) + if event == 0xffffffff { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func waitForMultipleObjects(count uint32, handles uintptr, waitAll bool, waitMilliseconds uint32) (event uint32, err error) { + var _p0 uint32 + if waitAll { + _p0 = 1 + } else { + _p0 = 0 + } + r0, _, e1 := syscall.Syscall6(procWaitForMultipleObjects.Addr(), 4, uintptr(count), uintptr(handles), uintptr(_p0), uintptr(waitMilliseconds), 0, 0) + event = uint32(r0) + if event == 0xffffffff { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetTempPath(buflen uint32, buf *uint16) (n uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetTempPathW.Addr(), 2, uintptr(buflen), uintptr(unsafe.Pointer(buf)), 0) + n = uint32(r0) + if n == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CreatePipe(readhandle *Handle, writehandle *Handle, sa *SecurityAttributes, size uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procCreatePipe.Addr(), 4, uintptr(unsafe.Pointer(readhandle)), uintptr(unsafe.Pointer(writehandle)), uintptr(unsafe.Pointer(sa)), uintptr(size), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetFileType(filehandle Handle) (n uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetFileType.Addr(), 1, uintptr(filehandle), 0, 0) + n = uint32(r0) + if n == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CryptAcquireContext(provhandle *Handle, container *uint16, provider *uint16, provtype uint32, flags uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procCryptAcquireContextW.Addr(), 5, uintptr(unsafe.Pointer(provhandle)), uintptr(unsafe.Pointer(container)), uintptr(unsafe.Pointer(provider)), uintptr(provtype), uintptr(flags), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CryptReleaseContext(provhandle Handle, flags uint32) (err error) { + r1, _, e1 := syscall.Syscall(procCryptReleaseContext.Addr(), 2, uintptr(provhandle), uintptr(flags), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CryptGenRandom(provhandle Handle, buflen uint32, buf *byte) (err error) { + r1, _, e1 := syscall.Syscall(procCryptGenRandom.Addr(), 3, uintptr(provhandle), uintptr(buflen), uintptr(unsafe.Pointer(buf))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetEnvironmentStrings() (envs *uint16, err error) { + r0, _, e1 := syscall.Syscall(procGetEnvironmentStringsW.Addr(), 0, 0, 0, 0) + envs = (*uint16)(unsafe.Pointer(r0)) + if envs == nil { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func FreeEnvironmentStrings(envs *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procFreeEnvironmentStringsW.Addr(), 1, uintptr(unsafe.Pointer(envs)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetEnvironmentVariable(name *uint16, buffer *uint16, size uint32) (n uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetEnvironmentVariableW.Addr(), 3, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(buffer)), uintptr(size)) + n = uint32(r0) + if n == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetEnvironmentVariable(name *uint16, value *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procSetEnvironmentVariableW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(value)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetime) (err error) { + r1, _, e1 := syscall.Syscall6(procSetFileTime.Addr(), 4, uintptr(handle), uintptr(unsafe.Pointer(ctime)), uintptr(unsafe.Pointer(atime)), uintptr(unsafe.Pointer(wtime)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetFileAttributes(name *uint16) (attrs uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetFileAttributesW.Addr(), 1, uintptr(unsafe.Pointer(name)), 0, 0) + attrs = uint32(r0) + if attrs == INVALID_FILE_ATTRIBUTES { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetFileAttributes(name *uint16, attrs uint32) (err error) { + r1, _, e1 := syscall.Syscall(procSetFileAttributesW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(attrs), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetFileAttributesEx(name *uint16, level uint32, info *byte) (err error) { + r1, _, e1 := syscall.Syscall(procGetFileAttributesExW.Addr(), 3, uintptr(unsafe.Pointer(name)), uintptr(level), uintptr(unsafe.Pointer(info))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetCommandLine() (cmd *uint16) { + r0, _, _ := syscall.Syscall(procGetCommandLineW.Addr(), 0, 0, 0, 0) + cmd = (*uint16)(unsafe.Pointer(r0)) + return +} + +func CommandLineToArgv(cmd *uint16, argc *int32) (argv *[8192]*[8192]uint16, err error) { + r0, _, e1 := syscall.Syscall(procCommandLineToArgvW.Addr(), 2, uintptr(unsafe.Pointer(cmd)), uintptr(unsafe.Pointer(argc)), 0) + argv = (*[8192]*[8192]uint16)(unsafe.Pointer(r0)) + if argv == nil { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func LocalFree(hmem Handle) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procLocalFree.Addr(), 1, uintptr(hmem), 0, 0) + handle = Handle(r0) + if handle != 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetHandleInformation(handle Handle, mask uint32, flags uint32) (err error) { + r1, _, e1 := syscall.Syscall(procSetHandleInformation.Addr(), 3, uintptr(handle), uintptr(mask), uintptr(flags)) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func FlushFileBuffers(handle Handle) (err error) { + r1, _, e1 := syscall.Syscall(procFlushFileBuffers.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetFullPathName(path *uint16, buflen uint32, buf *uint16, fname **uint16) (n uint32, err error) { + r0, _, e1 := syscall.Syscall6(procGetFullPathNameW.Addr(), 4, uintptr(unsafe.Pointer(path)), uintptr(buflen), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(fname)), 0, 0) + n = uint32(r0) + if n == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetLongPathName(path *uint16, buf *uint16, buflen uint32) (n uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetLongPathNameW.Addr(), 3, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(buf)), uintptr(buflen)) + n = uint32(r0) + if n == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetShortPathName(longpath *uint16, shortpath *uint16, buflen uint32) (n uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetShortPathNameW.Addr(), 3, uintptr(unsafe.Pointer(longpath)), uintptr(unsafe.Pointer(shortpath)), uintptr(buflen)) + n = uint32(r0) + if n == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CreateFileMapping(fhandle Handle, sa *SecurityAttributes, prot uint32, maxSizeHigh uint32, maxSizeLow uint32, name *uint16) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall6(procCreateFileMappingW.Addr(), 6, uintptr(fhandle), uintptr(unsafe.Pointer(sa)), uintptr(prot), uintptr(maxSizeHigh), uintptr(maxSizeLow), uintptr(unsafe.Pointer(name))) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func MapViewOfFile(handle Handle, access uint32, offsetHigh uint32, offsetLow uint32, length uintptr) (addr uintptr, err error) { + r0, _, e1 := syscall.Syscall6(procMapViewOfFile.Addr(), 5, uintptr(handle), uintptr(access), uintptr(offsetHigh), uintptr(offsetLow), uintptr(length), 0) + addr = uintptr(r0) + if addr == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func UnmapViewOfFile(addr uintptr) (err error) { + r1, _, e1 := syscall.Syscall(procUnmapViewOfFile.Addr(), 1, uintptr(addr), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func FlushViewOfFile(addr uintptr, length uintptr) (err error) { + r1, _, e1 := syscall.Syscall(procFlushViewOfFile.Addr(), 2, uintptr(addr), uintptr(length), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func VirtualLock(addr uintptr, length uintptr) (err error) { + r1, _, e1 := syscall.Syscall(procVirtualLock.Addr(), 2, uintptr(addr), uintptr(length), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func VirtualUnlock(addr uintptr, length uintptr) (err error) { + r1, _, e1 := syscall.Syscall(procVirtualUnlock.Addr(), 2, uintptr(addr), uintptr(length), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func VirtualAlloc(address uintptr, size uintptr, alloctype uint32, protect uint32) (value uintptr, err error) { + r0, _, e1 := syscall.Syscall6(procVirtualAlloc.Addr(), 4, uintptr(address), uintptr(size), uintptr(alloctype), uintptr(protect), 0, 0) + value = uintptr(r0) + if value == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func VirtualFree(address uintptr, size uintptr, freetype uint32) (err error) { + r1, _, e1 := syscall.Syscall(procVirtualFree.Addr(), 3, uintptr(address), uintptr(size), uintptr(freetype)) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func VirtualProtect(address uintptr, size uintptr, newprotect uint32, oldprotect *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procVirtualProtect.Addr(), 4, uintptr(address), uintptr(size), uintptr(newprotect), uintptr(unsafe.Pointer(oldprotect)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func TransmitFile(s Handle, handle Handle, bytesToWrite uint32, bytsPerSend uint32, overlapped *Overlapped, transmitFileBuf *TransmitFileBuffers, flags uint32) (err error) { + r1, _, e1 := syscall.Syscall9(procTransmitFile.Addr(), 7, uintptr(s), uintptr(handle), uintptr(bytesToWrite), uintptr(bytsPerSend), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(transmitFileBuf)), uintptr(flags), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func ReadDirectoryChanges(handle Handle, buf *byte, buflen uint32, watchSubTree bool, mask uint32, retlen *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) { + var _p0 uint32 + if watchSubTree { + _p0 = 1 + } else { + _p0 = 0 + } + r1, _, e1 := syscall.Syscall9(procReadDirectoryChangesW.Addr(), 8, uintptr(handle), uintptr(unsafe.Pointer(buf)), uintptr(buflen), uintptr(_p0), uintptr(mask), uintptr(unsafe.Pointer(retlen)), uintptr(unsafe.Pointer(overlapped)), uintptr(completionRoutine), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CertOpenSystemStore(hprov Handle, name *uint16) (store Handle, err error) { + r0, _, e1 := syscall.Syscall(procCertOpenSystemStoreW.Addr(), 2, uintptr(hprov), uintptr(unsafe.Pointer(name)), 0) + store = Handle(r0) + if store == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CertOpenStore(storeProvider uintptr, msgAndCertEncodingType uint32, cryptProv uintptr, flags uint32, para uintptr) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall6(procCertOpenStore.Addr(), 5, uintptr(storeProvider), uintptr(msgAndCertEncodingType), uintptr(cryptProv), uintptr(flags), uintptr(para), 0) + handle = Handle(r0) + if handle == InvalidHandle { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CertEnumCertificatesInStore(store Handle, prevContext *CertContext) (context *CertContext, err error) { + r0, _, e1 := syscall.Syscall(procCertEnumCertificatesInStore.Addr(), 2, uintptr(store), uintptr(unsafe.Pointer(prevContext)), 0) + context = (*CertContext)(unsafe.Pointer(r0)) + if context == nil { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CertAddCertificateContextToStore(store Handle, certContext *CertContext, addDisposition uint32, storeContext **CertContext) (err error) { + r1, _, e1 := syscall.Syscall6(procCertAddCertificateContextToStore.Addr(), 4, uintptr(store), uintptr(unsafe.Pointer(certContext)), uintptr(addDisposition), uintptr(unsafe.Pointer(storeContext)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CertCloseStore(store Handle, flags uint32) (err error) { + r1, _, e1 := syscall.Syscall(procCertCloseStore.Addr(), 2, uintptr(store), uintptr(flags), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CertGetCertificateChain(engine Handle, leaf *CertContext, time *Filetime, additionalStore Handle, para *CertChainPara, flags uint32, reserved uintptr, chainCtx **CertChainContext) (err error) { + r1, _, e1 := syscall.Syscall9(procCertGetCertificateChain.Addr(), 8, uintptr(engine), uintptr(unsafe.Pointer(leaf)), uintptr(unsafe.Pointer(time)), uintptr(additionalStore), uintptr(unsafe.Pointer(para)), uintptr(flags), uintptr(reserved), uintptr(unsafe.Pointer(chainCtx)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CertFreeCertificateChain(ctx *CertChainContext) { + syscall.Syscall(procCertFreeCertificateChain.Addr(), 1, uintptr(unsafe.Pointer(ctx)), 0, 0) + return +} + +func CertCreateCertificateContext(certEncodingType uint32, certEncoded *byte, encodedLen uint32) (context *CertContext, err error) { + r0, _, e1 := syscall.Syscall(procCertCreateCertificateContext.Addr(), 3, uintptr(certEncodingType), uintptr(unsafe.Pointer(certEncoded)), uintptr(encodedLen)) + context = (*CertContext)(unsafe.Pointer(r0)) + if context == nil { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CertFreeCertificateContext(ctx *CertContext) (err error) { + r1, _, e1 := syscall.Syscall(procCertFreeCertificateContext.Addr(), 1, uintptr(unsafe.Pointer(ctx)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CertVerifyCertificateChainPolicy(policyOID uintptr, chain *CertChainContext, para *CertChainPolicyPara, status *CertChainPolicyStatus) (err error) { + r1, _, e1 := syscall.Syscall6(procCertVerifyCertificateChainPolicy.Addr(), 4, uintptr(policyOID), uintptr(unsafe.Pointer(chain)), uintptr(unsafe.Pointer(para)), uintptr(unsafe.Pointer(status)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func RegOpenKeyEx(key Handle, subkey *uint16, options uint32, desiredAccess uint32, result *Handle) (regerrno error) { + r0, _, _ := syscall.Syscall6(procRegOpenKeyExW.Addr(), 5, uintptr(key), uintptr(unsafe.Pointer(subkey)), uintptr(options), uintptr(desiredAccess), uintptr(unsafe.Pointer(result)), 0) + if r0 != 0 { + regerrno = syscall.Errno(r0) + } + return +} + +func RegCloseKey(key Handle) (regerrno error) { + r0, _, _ := syscall.Syscall(procRegCloseKey.Addr(), 1, uintptr(key), 0, 0) + if r0 != 0 { + regerrno = syscall.Errno(r0) + } + return +} + +func RegQueryInfoKey(key Handle, class *uint16, classLen *uint32, reserved *uint32, subkeysLen *uint32, maxSubkeyLen *uint32, maxClassLen *uint32, valuesLen *uint32, maxValueNameLen *uint32, maxValueLen *uint32, saLen *uint32, lastWriteTime *Filetime) (regerrno error) { + r0, _, _ := syscall.Syscall12(procRegQueryInfoKeyW.Addr(), 12, uintptr(key), uintptr(unsafe.Pointer(class)), uintptr(unsafe.Pointer(classLen)), uintptr(unsafe.Pointer(reserved)), uintptr(unsafe.Pointer(subkeysLen)), uintptr(unsafe.Pointer(maxSubkeyLen)), uintptr(unsafe.Pointer(maxClassLen)), uintptr(unsafe.Pointer(valuesLen)), uintptr(unsafe.Pointer(maxValueNameLen)), uintptr(unsafe.Pointer(maxValueLen)), uintptr(unsafe.Pointer(saLen)), uintptr(unsafe.Pointer(lastWriteTime))) + if r0 != 0 { + regerrno = syscall.Errno(r0) + } + return +} + +func RegEnumKeyEx(key Handle, index uint32, name *uint16, nameLen *uint32, reserved *uint32, class *uint16, classLen *uint32, lastWriteTime *Filetime) (regerrno error) { + r0, _, _ := syscall.Syscall9(procRegEnumKeyExW.Addr(), 8, uintptr(key), uintptr(index), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(nameLen)), uintptr(unsafe.Pointer(reserved)), uintptr(unsafe.Pointer(class)), uintptr(unsafe.Pointer(classLen)), uintptr(unsafe.Pointer(lastWriteTime)), 0) + if r0 != 0 { + regerrno = syscall.Errno(r0) + } + return +} + +func RegQueryValueEx(key Handle, name *uint16, reserved *uint32, valtype *uint32, buf *byte, buflen *uint32) (regerrno error) { + r0, _, _ := syscall.Syscall6(procRegQueryValueExW.Addr(), 6, uintptr(key), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(reserved)), uintptr(unsafe.Pointer(valtype)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(buflen))) + if r0 != 0 { + regerrno = syscall.Errno(r0) + } + return +} + +func getCurrentProcessId() (pid uint32) { + r0, _, _ := syscall.Syscall(procGetCurrentProcessId.Addr(), 0, 0, 0, 0) + pid = uint32(r0) + return +} + +func GetConsoleMode(console Handle, mode *uint32) (err error) { + r1, _, e1 := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(console), uintptr(unsafe.Pointer(mode)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetConsoleMode(console Handle, mode uint32) (err error) { + r1, _, e1 := syscall.Syscall(procSetConsoleMode.Addr(), 2, uintptr(console), uintptr(mode), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetConsoleScreenBufferInfo(console Handle, info *ConsoleScreenBufferInfo) (err error) { + r1, _, e1 := syscall.Syscall(procGetConsoleScreenBufferInfo.Addr(), 2, uintptr(console), uintptr(unsafe.Pointer(info)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func WriteConsole(console Handle, buf *uint16, towrite uint32, written *uint32, reserved *byte) (err error) { + r1, _, e1 := syscall.Syscall6(procWriteConsoleW.Addr(), 5, uintptr(console), uintptr(unsafe.Pointer(buf)), uintptr(towrite), uintptr(unsafe.Pointer(written)), uintptr(unsafe.Pointer(reserved)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func ReadConsole(console Handle, buf *uint16, toread uint32, read *uint32, inputControl *byte) (err error) { + r1, _, e1 := syscall.Syscall6(procReadConsoleW.Addr(), 5, uintptr(console), uintptr(unsafe.Pointer(buf)), uintptr(toread), uintptr(unsafe.Pointer(read)), uintptr(unsafe.Pointer(inputControl)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CreateToolhelp32Snapshot(flags uint32, processId uint32) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procCreateToolhelp32Snapshot.Addr(), 2, uintptr(flags), uintptr(processId), 0) + handle = Handle(r0) + if handle == InvalidHandle { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func Process32First(snapshot Handle, procEntry *ProcessEntry32) (err error) { + r1, _, e1 := syscall.Syscall(procProcess32FirstW.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(procEntry)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func Process32Next(snapshot Handle, procEntry *ProcessEntry32) (err error) { + r1, _, e1 := syscall.Syscall(procProcess32NextW.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(procEntry)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func DeviceIoControl(handle Handle, ioControlCode uint32, inBuffer *byte, inBufferSize uint32, outBuffer *byte, outBufferSize uint32, bytesReturned *uint32, overlapped *Overlapped) (err error) { + r1, _, e1 := syscall.Syscall9(procDeviceIoControl.Addr(), 8, uintptr(handle), uintptr(ioControlCode), uintptr(unsafe.Pointer(inBuffer)), uintptr(inBufferSize), uintptr(unsafe.Pointer(outBuffer)), uintptr(outBufferSize), uintptr(unsafe.Pointer(bytesReturned)), uintptr(unsafe.Pointer(overlapped)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CreateSymbolicLink(symlinkfilename *uint16, targetfilename *uint16, flags uint32) (err error) { + r1, _, e1 := syscall.Syscall(procCreateSymbolicLinkW.Addr(), 3, uintptr(unsafe.Pointer(symlinkfilename)), uintptr(unsafe.Pointer(targetfilename)), uintptr(flags)) + if r1&0xff == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CreateHardLink(filename *uint16, existingfilename *uint16, reserved uintptr) (err error) { + r1, _, e1 := syscall.Syscall(procCreateHardLinkW.Addr(), 3, uintptr(unsafe.Pointer(filename)), uintptr(unsafe.Pointer(existingfilename)), uintptr(reserved)) + if r1&0xff == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetCurrentThreadId() (id uint32) { + r0, _, _ := syscall.Syscall(procGetCurrentThreadId.Addr(), 0, 0, 0, 0) + id = uint32(r0) + return +} + +func CreateEvent(eventAttrs *SecurityAttributes, manualReset uint32, initialState uint32, name *uint16) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall6(procCreateEventW.Addr(), 4, uintptr(unsafe.Pointer(eventAttrs)), uintptr(manualReset), uintptr(initialState), uintptr(unsafe.Pointer(name)), 0, 0) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func CreateEventEx(eventAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall6(procCreateEventExW.Addr(), 4, uintptr(unsafe.Pointer(eventAttrs)), uintptr(unsafe.Pointer(name)), uintptr(flags), uintptr(desiredAccess), 0, 0) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func OpenEvent(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) { + var _p0 uint32 + if inheritHandle { + _p0 = 1 + } else { + _p0 = 0 + } + r0, _, e1 := syscall.Syscall(procOpenEventW.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(unsafe.Pointer(name))) + handle = Handle(r0) + if handle == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetEvent(event Handle) (err error) { + r1, _, e1 := syscall.Syscall(procSetEvent.Addr(), 1, uintptr(event), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func ResetEvent(event Handle) (err error) { + r1, _, e1 := syscall.Syscall(procResetEvent.Addr(), 1, uintptr(event), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func PulseEvent(event Handle) (err error) { + r1, _, e1 := syscall.Syscall(procPulseEvent.Addr(), 1, uintptr(event), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func DefineDosDevice(flags uint32, deviceName *uint16, targetPath *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procDefineDosDeviceW.Addr(), 3, uintptr(flags), uintptr(unsafe.Pointer(deviceName)), uintptr(unsafe.Pointer(targetPath))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func DeleteVolumeMountPoint(volumeMountPoint *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procDeleteVolumeMountPointW.Addr(), 1, uintptr(unsafe.Pointer(volumeMountPoint)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func FindFirstVolume(volumeName *uint16, bufferLength uint32) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procFindFirstVolumeW.Addr(), 2, uintptr(unsafe.Pointer(volumeName)), uintptr(bufferLength), 0) + handle = Handle(r0) + if handle == InvalidHandle { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func FindFirstVolumeMountPoint(rootPathName *uint16, volumeMountPoint *uint16, bufferLength uint32) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procFindFirstVolumeMountPointW.Addr(), 3, uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(bufferLength)) + handle = Handle(r0) + if handle == InvalidHandle { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func FindNextVolume(findVolume Handle, volumeName *uint16, bufferLength uint32) (err error) { + r1, _, e1 := syscall.Syscall(procFindNextVolumeW.Addr(), 3, uintptr(findVolume), uintptr(unsafe.Pointer(volumeName)), uintptr(bufferLength)) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func FindNextVolumeMountPoint(findVolumeMountPoint Handle, volumeMountPoint *uint16, bufferLength uint32) (err error) { + r1, _, e1 := syscall.Syscall(procFindNextVolumeMountPointW.Addr(), 3, uintptr(findVolumeMountPoint), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(bufferLength)) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func FindVolumeClose(findVolume Handle) (err error) { + r1, _, e1 := syscall.Syscall(procFindVolumeClose.Addr(), 1, uintptr(findVolume), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func FindVolumeMountPointClose(findVolumeMountPoint Handle) (err error) { + r1, _, e1 := syscall.Syscall(procFindVolumeMountPointClose.Addr(), 1, uintptr(findVolumeMountPoint), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetDriveType(rootPathName *uint16) (driveType uint32) { + r0, _, _ := syscall.Syscall(procGetDriveTypeW.Addr(), 1, uintptr(unsafe.Pointer(rootPathName)), 0, 0) + driveType = uint32(r0) + return +} + +func GetLogicalDrives() (drivesBitMask uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetLogicalDrives.Addr(), 0, 0, 0, 0) + drivesBitMask = uint32(r0) + if drivesBitMask == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetLogicalDriveStrings(bufferLength uint32, buffer *uint16) (n uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetLogicalDriveStringsW.Addr(), 2, uintptr(bufferLength), uintptr(unsafe.Pointer(buffer)), 0) + n = uint32(r0) + if n == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetVolumeInformation(rootPathName *uint16, volumeNameBuffer *uint16, volumeNameSize uint32, volumeNameSerialNumber *uint32, maximumComponentLength *uint32, fileSystemFlags *uint32, fileSystemNameBuffer *uint16, fileSystemNameSize uint32) (err error) { + r1, _, e1 := syscall.Syscall9(procGetVolumeInformationW.Addr(), 8, uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeNameBuffer)), uintptr(volumeNameSize), uintptr(unsafe.Pointer(volumeNameSerialNumber)), uintptr(unsafe.Pointer(maximumComponentLength)), uintptr(unsafe.Pointer(fileSystemFlags)), uintptr(unsafe.Pointer(fileSystemNameBuffer)), uintptr(fileSystemNameSize), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetVolumeInformationByHandle(file Handle, volumeNameBuffer *uint16, volumeNameSize uint32, volumeNameSerialNumber *uint32, maximumComponentLength *uint32, fileSystemFlags *uint32, fileSystemNameBuffer *uint16, fileSystemNameSize uint32) (err error) { + r1, _, e1 := syscall.Syscall9(procGetVolumeInformationByHandleW.Addr(), 8, uintptr(file), uintptr(unsafe.Pointer(volumeNameBuffer)), uintptr(volumeNameSize), uintptr(unsafe.Pointer(volumeNameSerialNumber)), uintptr(unsafe.Pointer(maximumComponentLength)), uintptr(unsafe.Pointer(fileSystemFlags)), uintptr(unsafe.Pointer(fileSystemNameBuffer)), uintptr(fileSystemNameSize), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetVolumeNameForVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16, bufferlength uint32) (err error) { + r1, _, e1 := syscall.Syscall(procGetVolumeNameForVolumeMountPointW.Addr(), 3, uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(unsafe.Pointer(volumeName)), uintptr(bufferlength)) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetVolumePathName(fileName *uint16, volumePathName *uint16, bufferLength uint32) (err error) { + r1, _, e1 := syscall.Syscall(procGetVolumePathNameW.Addr(), 3, uintptr(unsafe.Pointer(fileName)), uintptr(unsafe.Pointer(volumePathName)), uintptr(bufferLength)) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetVolumePathNamesForVolumeName(volumeName *uint16, volumePathNames *uint16, bufferLength uint32, returnLength *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procGetVolumePathNamesForVolumeNameW.Addr(), 4, uintptr(unsafe.Pointer(volumeName)), uintptr(unsafe.Pointer(volumePathNames)), uintptr(bufferLength), uintptr(unsafe.Pointer(returnLength)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func QueryDosDevice(deviceName *uint16, targetPath *uint16, max uint32) (n uint32, err error) { + r0, _, e1 := syscall.Syscall(procQueryDosDeviceW.Addr(), 3, uintptr(unsafe.Pointer(deviceName)), uintptr(unsafe.Pointer(targetPath)), uintptr(max)) + n = uint32(r0) + if n == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetVolumeLabel(rootPathName *uint16, volumeName *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procSetVolumeLabelW.Addr(), 2, uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeName)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func SetVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16) (err error) { + r1, _, e1 := syscall.Syscall(procSetVolumeMountPointW.Addr(), 2, uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(unsafe.Pointer(volumeName)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func WSAStartup(verreq uint32, data *WSAData) (sockerr error) { + r0, _, _ := syscall.Syscall(procWSAStartup.Addr(), 2, uintptr(verreq), uintptr(unsafe.Pointer(data)), 0) + if r0 != 0 { + sockerr = syscall.Errno(r0) + } + return +} + +func WSACleanup() (err error) { + r1, _, e1 := syscall.Syscall(procWSACleanup.Addr(), 0, 0, 0, 0) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func WSAIoctl(s Handle, iocc uint32, inbuf *byte, cbif uint32, outbuf *byte, cbob uint32, cbbr *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) { + r1, _, e1 := syscall.Syscall9(procWSAIoctl.Addr(), 9, uintptr(s), uintptr(iocc), uintptr(unsafe.Pointer(inbuf)), uintptr(cbif), uintptr(unsafe.Pointer(outbuf)), uintptr(cbob), uintptr(unsafe.Pointer(cbbr)), uintptr(unsafe.Pointer(overlapped)), uintptr(completionRoutine)) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func socket(af int32, typ int32, protocol int32) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procsocket.Addr(), 3, uintptr(af), uintptr(typ), uintptr(protocol)) + handle = Handle(r0) + if handle == InvalidHandle { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func Setsockopt(s Handle, level int32, optname int32, optval *byte, optlen int32) (err error) { + r1, _, e1 := syscall.Syscall6(procsetsockopt.Addr(), 5, uintptr(s), uintptr(level), uintptr(optname), uintptr(unsafe.Pointer(optval)), uintptr(optlen), 0) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func Getsockopt(s Handle, level int32, optname int32, optval *byte, optlen *int32) (err error) { + r1, _, e1 := syscall.Syscall6(procgetsockopt.Addr(), 5, uintptr(s), uintptr(level), uintptr(optname), uintptr(unsafe.Pointer(optval)), uintptr(unsafe.Pointer(optlen)), 0) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func bind(s Handle, name unsafe.Pointer, namelen int32) (err error) { + r1, _, e1 := syscall.Syscall(procbind.Addr(), 3, uintptr(s), uintptr(name), uintptr(namelen)) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func connect(s Handle, name unsafe.Pointer, namelen int32) (err error) { + r1, _, e1 := syscall.Syscall(procconnect.Addr(), 3, uintptr(s), uintptr(name), uintptr(namelen)) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func getsockname(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) { + r1, _, e1 := syscall.Syscall(procgetsockname.Addr(), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func getpeername(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) { + r1, _, e1 := syscall.Syscall(procgetpeername.Addr(), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func listen(s Handle, backlog int32) (err error) { + r1, _, e1 := syscall.Syscall(proclisten.Addr(), 2, uintptr(s), uintptr(backlog), 0) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func shutdown(s Handle, how int32) (err error) { + r1, _, e1 := syscall.Syscall(procshutdown.Addr(), 2, uintptr(s), uintptr(how), 0) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func Closesocket(s Handle) (err error) { + r1, _, e1 := syscall.Syscall(procclosesocket.Addr(), 1, uintptr(s), 0, 0) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func AcceptEx(ls Handle, as Handle, buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, recvd *uint32, overlapped *Overlapped) (err error) { + r1, _, e1 := syscall.Syscall9(procAcceptEx.Addr(), 8, uintptr(ls), uintptr(as), uintptr(unsafe.Pointer(buf)), uintptr(rxdatalen), uintptr(laddrlen), uintptr(raddrlen), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(overlapped)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetAcceptExSockaddrs(buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, lrsa **RawSockaddrAny, lrsalen *int32, rrsa **RawSockaddrAny, rrsalen *int32) { + syscall.Syscall9(procGetAcceptExSockaddrs.Addr(), 8, uintptr(unsafe.Pointer(buf)), uintptr(rxdatalen), uintptr(laddrlen), uintptr(raddrlen), uintptr(unsafe.Pointer(lrsa)), uintptr(unsafe.Pointer(lrsalen)), uintptr(unsafe.Pointer(rrsa)), uintptr(unsafe.Pointer(rrsalen)), 0) + return +} + +func WSARecv(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, overlapped *Overlapped, croutine *byte) (err error) { + r1, _, e1 := syscall.Syscall9(procWSARecv.Addr(), 7, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(flags)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine)), 0, 0) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func WSASend(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, overlapped *Overlapped, croutine *byte) (err error) { + r1, _, e1 := syscall.Syscall9(procWSASend.Addr(), 7, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(sent)), uintptr(flags), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine)), 0, 0) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func WSARecvFrom(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, from *RawSockaddrAny, fromlen *int32, overlapped *Overlapped, croutine *byte) (err error) { + r1, _, e1 := syscall.Syscall9(procWSARecvFrom.Addr(), 9, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(flags)), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine))) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func WSASendTo(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, to *RawSockaddrAny, tolen int32, overlapped *Overlapped, croutine *byte) (err error) { + r1, _, e1 := syscall.Syscall9(procWSASendTo.Addr(), 9, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(sent)), uintptr(flags), uintptr(unsafe.Pointer(to)), uintptr(tolen), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine))) + if r1 == socket_error { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetHostByName(name string) (h *Hostent, err error) { + var _p0 *byte + _p0, err = syscall.BytePtrFromString(name) + if err != nil { + return + } + return _GetHostByName(_p0) +} + +func _GetHostByName(name *byte) (h *Hostent, err error) { + r0, _, e1 := syscall.Syscall(procgethostbyname.Addr(), 1, uintptr(unsafe.Pointer(name)), 0, 0) + h = (*Hostent)(unsafe.Pointer(r0)) + if h == nil { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetServByName(name string, proto string) (s *Servent, err error) { + var _p0 *byte + _p0, err = syscall.BytePtrFromString(name) + if err != nil { + return + } + var _p1 *byte + _p1, err = syscall.BytePtrFromString(proto) + if err != nil { + return + } + return _GetServByName(_p0, _p1) +} + +func _GetServByName(name *byte, proto *byte) (s *Servent, err error) { + r0, _, e1 := syscall.Syscall(procgetservbyname.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(proto)), 0) + s = (*Servent)(unsafe.Pointer(r0)) + if s == nil { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func Ntohs(netshort uint16) (u uint16) { + r0, _, _ := syscall.Syscall(procntohs.Addr(), 1, uintptr(netshort), 0, 0) + u = uint16(r0) + return +} + +func GetProtoByName(name string) (p *Protoent, err error) { + var _p0 *byte + _p0, err = syscall.BytePtrFromString(name) + if err != nil { + return + } + return _GetProtoByName(_p0) +} + +func _GetProtoByName(name *byte) (p *Protoent, err error) { + r0, _, e1 := syscall.Syscall(procgetprotobyname.Addr(), 1, uintptr(unsafe.Pointer(name)), 0, 0) + p = (*Protoent)(unsafe.Pointer(r0)) + if p == nil { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func DnsQuery(name string, qtype uint16, options uint32, extra *byte, qrs **DNSRecord, pr *byte) (status error) { + var _p0 *uint16 + _p0, status = syscall.UTF16PtrFromString(name) + if status != nil { + return + } + return _DnsQuery(_p0, qtype, options, extra, qrs, pr) +} + +func _DnsQuery(name *uint16, qtype uint16, options uint32, extra *byte, qrs **DNSRecord, pr *byte) (status error) { + r0, _, _ := syscall.Syscall6(procDnsQuery_W.Addr(), 6, uintptr(unsafe.Pointer(name)), uintptr(qtype), uintptr(options), uintptr(unsafe.Pointer(extra)), uintptr(unsafe.Pointer(qrs)), uintptr(unsafe.Pointer(pr))) + if r0 != 0 { + status = syscall.Errno(r0) + } + return +} + +func DnsRecordListFree(rl *DNSRecord, freetype uint32) { + syscall.Syscall(procDnsRecordListFree.Addr(), 2, uintptr(unsafe.Pointer(rl)), uintptr(freetype), 0) + return +} + +func DnsNameCompare(name1 *uint16, name2 *uint16) (same bool) { + r0, _, _ := syscall.Syscall(procDnsNameCompare_W.Addr(), 2, uintptr(unsafe.Pointer(name1)), uintptr(unsafe.Pointer(name2)), 0) + same = r0 != 0 + return +} + +func GetAddrInfoW(nodename *uint16, servicename *uint16, hints *AddrinfoW, result **AddrinfoW) (sockerr error) { + r0, _, _ := syscall.Syscall6(procGetAddrInfoW.Addr(), 4, uintptr(unsafe.Pointer(nodename)), uintptr(unsafe.Pointer(servicename)), uintptr(unsafe.Pointer(hints)), uintptr(unsafe.Pointer(result)), 0, 0) + if r0 != 0 { + sockerr = syscall.Errno(r0) + } + return +} + +func FreeAddrInfoW(addrinfo *AddrinfoW) { + syscall.Syscall(procFreeAddrInfoW.Addr(), 1, uintptr(unsafe.Pointer(addrinfo)), 0, 0) + return +} + +func GetIfEntry(pIfRow *MibIfRow) (errcode error) { + r0, _, _ := syscall.Syscall(procGetIfEntry.Addr(), 1, uintptr(unsafe.Pointer(pIfRow)), 0, 0) + if r0 != 0 { + errcode = syscall.Errno(r0) + } + return +} + +func GetAdaptersInfo(ai *IpAdapterInfo, ol *uint32) (errcode error) { + r0, _, _ := syscall.Syscall(procGetAdaptersInfo.Addr(), 2, uintptr(unsafe.Pointer(ai)), uintptr(unsafe.Pointer(ol)), 0) + if r0 != 0 { + errcode = syscall.Errno(r0) + } + return +} + +func SetFileCompletionNotificationModes(handle Handle, flags uint8) (err error) { + r1, _, e1 := syscall.Syscall(procSetFileCompletionNotificationModes.Addr(), 2, uintptr(handle), uintptr(flags), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func WSAEnumProtocols(protocols *int32, protocolBuffer *WSAProtocolInfo, bufferLength *uint32) (n int32, err error) { + r0, _, e1 := syscall.Syscall(procWSAEnumProtocolsW.Addr(), 3, uintptr(unsafe.Pointer(protocols)), uintptr(unsafe.Pointer(protocolBuffer)), uintptr(unsafe.Pointer(bufferLength))) + n = int32(r0) + if n == -1 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetAdaptersAddresses(family uint32, flags uint32, reserved uintptr, adapterAddresses *IpAdapterAddresses, sizePointer *uint32) (errcode error) { + r0, _, _ := syscall.Syscall6(procGetAdaptersAddresses.Addr(), 5, uintptr(family), uintptr(flags), uintptr(reserved), uintptr(unsafe.Pointer(adapterAddresses)), uintptr(unsafe.Pointer(sizePointer)), 0) + if r0 != 0 { + errcode = syscall.Errno(r0) + } + return +} + +func GetACP() (acp uint32) { + r0, _, _ := syscall.Syscall(procGetACP.Addr(), 0, 0, 0, 0) + acp = uint32(r0) + return +} + +func MultiByteToWideChar(codePage uint32, dwFlags uint32, str *byte, nstr int32, wchar *uint16, nwchar int32) (nwrite int32, err error) { + r0, _, e1 := syscall.Syscall6(procMultiByteToWideChar.Addr(), 6, uintptr(codePage), uintptr(dwFlags), uintptr(unsafe.Pointer(str)), uintptr(nstr), uintptr(unsafe.Pointer(wchar)), uintptr(nwchar)) + nwrite = int32(r0) + if nwrite == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func TranslateName(accName *uint16, accNameFormat uint32, desiredNameFormat uint32, translatedName *uint16, nSize *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procTranslateNameW.Addr(), 5, uintptr(unsafe.Pointer(accName)), uintptr(accNameFormat), uintptr(desiredNameFormat), uintptr(unsafe.Pointer(translatedName)), uintptr(unsafe.Pointer(nSize)), 0) + if r1&0xff == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetUserNameEx(nameFormat uint32, nameBuffre *uint16, nSize *uint32) (err error) { + r1, _, e1 := syscall.Syscall(procGetUserNameExW.Addr(), 3, uintptr(nameFormat), uintptr(unsafe.Pointer(nameBuffre)), uintptr(unsafe.Pointer(nSize))) + if r1&0xff == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func NetUserGetInfo(serverName *uint16, userName *uint16, level uint32, buf **byte) (neterr error) { + r0, _, _ := syscall.Syscall6(procNetUserGetInfo.Addr(), 4, uintptr(unsafe.Pointer(serverName)), uintptr(unsafe.Pointer(userName)), uintptr(level), uintptr(unsafe.Pointer(buf)), 0, 0) + if r0 != 0 { + neterr = syscall.Errno(r0) + } + return +} + +func NetGetJoinInformation(server *uint16, name **uint16, bufType *uint32) (neterr error) { + r0, _, _ := syscall.Syscall(procNetGetJoinInformation.Addr(), 3, uintptr(unsafe.Pointer(server)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(bufType))) + if r0 != 0 { + neterr = syscall.Errno(r0) + } + return +} + +func NetApiBufferFree(buf *byte) (neterr error) { + r0, _, _ := syscall.Syscall(procNetApiBufferFree.Addr(), 1, uintptr(unsafe.Pointer(buf)), 0, 0) + if r0 != 0 { + neterr = syscall.Errno(r0) + } + return +} + +func LookupAccountSid(systemName *uint16, sid *SID, name *uint16, nameLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) { + r1, _, e1 := syscall.Syscall9(procLookupAccountSidW.Addr(), 7, uintptr(unsafe.Pointer(systemName)), uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(nameLen)), uintptr(unsafe.Pointer(refdDomainName)), uintptr(unsafe.Pointer(refdDomainNameLen)), uintptr(unsafe.Pointer(use)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func LookupAccountName(systemName *uint16, accountName *uint16, sid *SID, sidLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) { + r1, _, e1 := syscall.Syscall9(procLookupAccountNameW.Addr(), 7, uintptr(unsafe.Pointer(systemName)), uintptr(unsafe.Pointer(accountName)), uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(sidLen)), uintptr(unsafe.Pointer(refdDomainName)), uintptr(unsafe.Pointer(refdDomainNameLen)), uintptr(unsafe.Pointer(use)), 0, 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func ConvertSidToStringSid(sid *SID, stringSid **uint16) (err error) { + r1, _, e1 := syscall.Syscall(procConvertSidToStringSidW.Addr(), 2, uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(stringSid)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func ConvertStringSidToSid(stringSid *uint16, sid **SID) (err error) { + r1, _, e1 := syscall.Syscall(procConvertStringSidToSidW.Addr(), 2, uintptr(unsafe.Pointer(stringSid)), uintptr(unsafe.Pointer(sid)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetLengthSid(sid *SID) (len uint32) { + r0, _, _ := syscall.Syscall(procGetLengthSid.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) + len = uint32(r0) + return +} + +func CopySid(destSidLen uint32, destSid *SID, srcSid *SID) (err error) { + r1, _, e1 := syscall.Syscall(procCopySid.Addr(), 3, uintptr(destSidLen), uintptr(unsafe.Pointer(destSid)), uintptr(unsafe.Pointer(srcSid))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func AllocateAndInitializeSid(identAuth *SidIdentifierAuthority, subAuth byte, subAuth0 uint32, subAuth1 uint32, subAuth2 uint32, subAuth3 uint32, subAuth4 uint32, subAuth5 uint32, subAuth6 uint32, subAuth7 uint32, sid **SID) (err error) { + r1, _, e1 := syscall.Syscall12(procAllocateAndInitializeSid.Addr(), 11, uintptr(unsafe.Pointer(identAuth)), uintptr(subAuth), uintptr(subAuth0), uintptr(subAuth1), uintptr(subAuth2), uintptr(subAuth3), uintptr(subAuth4), uintptr(subAuth5), uintptr(subAuth6), uintptr(subAuth7), uintptr(unsafe.Pointer(sid)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func FreeSid(sid *SID) (err error) { + r1, _, e1 := syscall.Syscall(procFreeSid.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) + if r1 != 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func EqualSid(sid1 *SID, sid2 *SID) (isEqual bool) { + r0, _, _ := syscall.Syscall(procEqualSid.Addr(), 2, uintptr(unsafe.Pointer(sid1)), uintptr(unsafe.Pointer(sid2)), 0) + isEqual = r0 != 0 + return +} + +func checkTokenMembership(tokenHandle Token, sidToCheck *SID, isMember *int32) (err error) { + r1, _, e1 := syscall.Syscall(procCheckTokenMembership.Addr(), 3, uintptr(tokenHandle), uintptr(unsafe.Pointer(sidToCheck)), uintptr(unsafe.Pointer(isMember))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func OpenProcessToken(h Handle, access uint32, token *Token) (err error) { + r1, _, e1 := syscall.Syscall(procOpenProcessToken.Addr(), 3, uintptr(h), uintptr(access), uintptr(unsafe.Pointer(token))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetTokenInformation(t Token, infoClass uint32, info *byte, infoLen uint32, returnedLen *uint32) (err error) { + r1, _, e1 := syscall.Syscall6(procGetTokenInformation.Addr(), 5, uintptr(t), uintptr(infoClass), uintptr(unsafe.Pointer(info)), uintptr(infoLen), uintptr(unsafe.Pointer(returnedLen)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + +func GetUserProfileDirectory(t Token, dir *uint16, dirLen *uint32) (err error) { + r1, _, e1 := syscall.Syscall(procGetUserProfileDirectoryW.Addr(), 3, uintptr(t), uintptr(unsafe.Pointer(dir)), uintptr(unsafe.Pointer(dirLen))) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} diff --git a/vendor/modules.txt b/vendor/modules.txt new file mode 100644 index 000000000..cb8035fe4 --- /dev/null +++ b/vendor/modules.txt @@ -0,0 +1,64 @@ +# github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 +github.com/armon/go-socks5 +# github.com/davecgh/go-spew v1.1.1 +github.com/davecgh/go-spew/spew +# github.com/flynn/noise v0.0.0-20180327030543-2492fe189ae6 +github.com/flynn/noise +# github.com/go-chi/chi v4.0.1+incompatible +github.com/go-chi/chi +github.com/go-chi/chi/middleware +# github.com/google/uuid v1.1.0 +github.com/google/uuid +# github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d +github.com/hashicorp/yamux +# github.com/inconshreveable/mousetrap v1.0.0 +github.com/inconshreveable/mousetrap +# github.com/konsorten/go-windows-terminal-sequences v1.0.1 +github.com/konsorten/go-windows-terminal-sequences +# github.com/kr/pty v1.1.3 +github.com/kr/pty +# github.com/mattn/go-colorable v0.1.0 +github.com/mattn/go-colorable +# github.com/mattn/go-isatty v0.0.4 +github.com/mattn/go-isatty +# github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b +github.com/mgutz/ansi +# github.com/mitchellh/go-homedir v1.1.0 +github.com/mitchellh/go-homedir +# github.com/pmezard/go-difflib v1.0.0 +github.com/pmezard/go-difflib/difflib +# github.com/sirupsen/logrus v1.3.0 +github.com/sirupsen/logrus +# github.com/skycoin/skycoin v0.25.1 +github.com/skycoin/skycoin/src/cipher +github.com/skycoin/skycoin/src/util/logging +github.com/skycoin/skycoin/src/cipher/base58 +github.com/skycoin/skycoin/src/cipher/ripemd160 +github.com/skycoin/skycoin/src/cipher/secp256k1-go +github.com/skycoin/skycoin/src/cipher/secp256k1-go/secp256k1-go2 +# github.com/spf13/cobra v0.0.3 +github.com/spf13/cobra +# github.com/spf13/pflag v1.0.3 +github.com/spf13/pflag +# github.com/stretchr/testify v1.3.0 +github.com/stretchr/testify/assert +github.com/stretchr/testify/require +# go.etcd.io/bbolt v1.3.2 +go.etcd.io/bbolt +# golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2 +golang.org/x/crypto/ssh/terminal +golang.org/x/crypto/blake2b +golang.org/x/crypto/blake2s +golang.org/x/crypto/chacha20poly1305 +golang.org/x/crypto/curve25519 +golang.org/x/crypto/internal/chacha20 +golang.org/x/crypto/internal/subtle +golang.org/x/crypto/poly1305 +# golang.org/x/net v0.0.0-20190213061140-3a22650c66bd +golang.org/x/net/context +golang.org/x/net/proxy +golang.org/x/net/internal/socks +# golang.org/x/sys v0.0.0-20190220154126-629670e5acc5 +golang.org/x/sys/unix +golang.org/x/sys/windows +golang.org/x/sys/cpu